專利名稱:采用邊緣和低分辨率信號的高效圖像表示的制作方法
釆用邊緣和低分辨率信號的髙效圖像表示
背景
媒體內(nèi)容(例如,圖像和視頻)通常以壓縮形式存在,以減少存儲空間并 幫助傳輸。例如,媒體服務(wù)器通常訪問壓縮后的媒體并將壓縮后的媒體流化至 能夠解壓縮媒體以用于演示的客戶機(jī)。壓縮被廣泛用于各種應(yīng)用中的傳輸、存 儲和回放。
經(jīng)壓縮的媒體通常由以下過程生成。首先,從原始的媒體內(nèi)容的時(shí)間和/ 或空間鄰居預(yù)測原始的媒體內(nèi)容。其次,經(jīng)預(yù)測的殘差被變換至頻域。最后, 系數(shù)被量化并被熵編碼以生成經(jīng)壓縮的表示。 一般而言,自然圖像和視頻包含 經(jīng)預(yù)測后仍然存在的豐富的邊緣和輪廓。這些邊緣構(gòu)成媒體的高頻部分,高頻 部分較難編碼,因?yàn)樾盘柲芰吭谧儞Q到頻域后變得有些分散。通常,邊緣和輪 廓包含重要的結(jié)構(gòu)性媒體內(nèi)容,然而,基于變換的表示在保留和利用邊緣和輪 廓上存在問題。
例如,考慮"蚊子噪聲",該"蚊子噪聲"是一種出現(xiàn)在MPEG以及采用 依賴離散余弦變換(DCT)的有損技術(shù)被壓縮的其它視頻幀中的對象的清晰邊 緣周圍的邊緣忙碌失真。更具體地,蚊子噪聲隨解碼引擎通過逆向變換模型來 逼近被丟棄的數(shù)據(jù)而在解壓縮時(shí)產(chǎn)生。在視頻中,蚊子噪聲隨在邊緣的幀對幀 隨機(jī)混疊而出現(xiàn)(例如,類似蚊子在人的頭周圍飛,邊緣存在于人的頭和固體 背景之間)。 一般而言,隨著TV和計(jì)算機(jī)屏幕變得更大,蚊子噪聲以及其它 偽像變得更顯著。
對于僅依賴DCT (—種類似于離散傅立葉變換但只采用實(shí)數(shù)的傅立葉相關(guān) 的變換)的圖像壓縮技術(shù),邊緣和輪廓是完全不可見的。另外一種類型的變換, 即小波變換,是一種時(shí)頻變換,然而,基于小波的壓縮技術(shù)僅使用上下文模型 中的結(jié)構(gòu)信息以用于算術(shù)編碼。因此,DCT和小波技術(shù)欠缺以保存邊緣和輪廓 信息的方式來表示媒體的能力另外,在基于DCT和基于小波的壓縮技術(shù)兩者中, 訪問壓縮流或壓縮文件中的結(jié)構(gòu)信息是不容易的。此處呈現(xiàn)允許保存邊緣和輪廓信息以及允許對這種信息進(jìn)行訪問的技術(shù)。
概述
一種用于編碼圖像的示例性方法包括接收圖像數(shù)據(jù)、檢測圖像數(shù)據(jù)中 的邊緣,選擇檢測到的邊緣中的至少一些,將所選邊緣編碼為所選邊緣信 息;對圖像數(shù)據(jù)進(jìn)行降采樣;將降采樣后的圖像編碼為降采樣后的圖像信 息以及復(fù)用所選邊緣信息和降采樣后的圖像信息。在這種方法中,所選邊 緣信息和降采樣后的圖像信息可以被存儲為經(jīng)編碼的圖像文件。還公開了 各種其它示例性方法、設(shè)備、系統(tǒng)。
附圖簡述
參考附圖描述了非限制性的和非窮盡的實(shí)施例,其中除非另外指定,否則 在各個(gè)視圖中相同的附圖標(biāo)記指示相同的部分。
圖1是采用DCT算法的常規(guī)有損壓縮/解壓縮過程的圖示,在該過程中, 邊緣噪聲可出現(xiàn)在從壓縮圖像中重構(gòu)的圖像;
圖2是編碼和解碼圖像的示例性方法的圖示,該方法結(jié)合圖像編碼和解碼
釆用邊緣編碼和解碼;
圖3是用于邊緣檢測和邊緣選擇的示例性技術(shù)的圖示,其中邊緣選擇根據(jù) 率-失真準(zhǔn)則而發(fā)生;
圖4是邊緣區(qū)域、邊緣區(qū)域的簡檔(profile)以及邊緣區(qū)域的簡檔的二 次導(dǎo)數(shù)的圖示;
圖5是沿邊緣應(yīng)用的6抽頭濾波器以及跨邊緣應(yīng)用的6抽頭濾波器的圖
示;
圖6是用于采用鏈編碼方向來編碼邊緣的邊緣編碼的示例性技術(shù)的圖
示;
圖7是用于兩個(gè)不同場景的可能的邊緣鏈碼方向的圖示;
圖8是為能夠?qū)⒋a邊緣信息串成鏈的示例性模型提供信息的一對表;
圖9是用于起始點(diǎn)映射的示例性方法的圖示;
圖10是可用于實(shí)現(xiàn)此處所討論的各種示例性方法的部分或全部的示例性
6計(jì)算設(shè)備的各個(gè)組件的圖示。
詳細(xì)描述
概覽
一種示例性技術(shù)采用基于變換和基于像素的方法保存邊緣和輪廓信息。該 技術(shù)縮小用于在頻域表示的低頻區(qū)域并在像素域保持所選的高頻區(qū)域。因此, 對于一給定圖像,圖像的各低頻部分可由低分辨率信號來描述,該低分辨率信 號能夠采用常規(guī)的基于變換的方法來被有效處理,而圖像的各高頻部分可由邊 緣來描述,該邊緣以高分辨率被提取以便直接在像素域處理。當(dāng)媒體內(nèi)容被重 構(gòu)時(shí),可采用高頻信號可將縮小的圖像從低分辨率插值至例如其原始的分辨 率。由于邊緣信息是媒體表示中的獨(dú)立分量,它可以被獲得以用于各種目的(例 如,索引、搜索、分類、機(jī)器視覺、科學(xué)分析等)。
多種技術(shù)還允許訪問壓縮流中的這種結(jié)構(gòu)信息。例如,搜索應(yīng)用程序可訪 問該信息以進(jìn)行更好的媒體搜索。
各圖包括用于進(jìn)行一個(gè)或多個(gè)動作的代表典型的軟件模塊的框。例如,框 可以是當(dāng)執(zhí)行時(shí)進(jìn)行一個(gè)或多個(gè)動作的處理器可執(zhí)行指令。在某些實(shí)例中,這
種框可以被實(shí)現(xiàn)為硬件或硬件和軟件。對于硬件,MPEG-4編碼器和/或解碼器 芯片是通常用于電視機(jī)頂盒、DVD播放器、DVD錄制機(jī)、數(shù)字媒體適配器、便 攜式媒體播放器等硬件的示例。
靜止圖像
各種常規(guī)的靜止圖像壓縮技術(shù)由聯(lián)合圖像專家組(JPEG)定義。作為許 多基于DCT的處理的典型,基線JPEG有損處理涉及由以下進(jìn)行的編碼(i) 將輸入圖像的各分量分割成8X8個(gè)塊;(ii)對每個(gè)塊進(jìn)行二維DCT; (iii) 均勻量化各DCT系數(shù);(iv)從先前塊中對應(yīng)的項(xiàng)中減去量化后的DC系數(shù); 以及(v)采用可變長度碼(VLC)對量化后的系數(shù)進(jìn)行熵編碼。解碼是通過逆 序地對編碼器的各運(yùn)算進(jìn)行逆變化來進(jìn)行的。例如,解碼涉及(i)熵解碼; (ii)進(jìn)行1-D DC預(yù)測;(iii)進(jìn)行逆量化;(iv)對8X8塊進(jìn)行DCT逆 變換;以及(v)重構(gòu)基于8X8塊的圖像。盡管該處理不限于8X8塊,優(yōu)選
7n為整數(shù)的2nX2n的方塊。 視頻
各種常規(guī)視頻壓縮技術(shù)由運(yùn)動圖像專家組(MPEG)定義,MPEG為陸地 數(shù)字、電纜和衛(wèi)星電視、DVD、數(shù)碼錄像機(jī)(DVR)等提供了一種相對廣泛 的標(biāo)準(zhǔn)。MPEG類似于JPEG對各幀采用有損DCT壓縮。MPEG還采用通過僅對 各周期性幀之間的差異進(jìn)行編碼來進(jìn)一步壓縮數(shù)據(jù)的幀間編碼。采用幀間編 碼,視頻序列可由關(guān)鍵幀來表示,該關(guān)鍵幀包含完整內(nèi)容以及增量幀,關(guān)鍵幀 采用幀間的遞增差異來編碼。例如,增量幀通常包括有過改變的圖像塊以及運(yùn) 動向量(例如,雙向等)的信息或從上一幀起移動過的圖像塊的信息。在視頻 內(nèi)容是比較靜態(tài)的情況下,增量幀易于被壓縮最多。
邊緣噪聲
如在背景一節(jié)中所解釋的,有損DCT壓縮并沒有充分處理邊緣和輪廓。特 別地,隨壓縮率增加,高頻內(nèi)容噪聲增加。被稱為"邊緣忙碌"的一種失真發(fā) 現(xiàn)失真集中在對象的邊緣。邊緣忙碌還可進(jìn)一步由媒體內(nèi)容的時(shí)間和空間特征 來表征。例如,當(dāng)由于量化器的波動使得重構(gòu)的邊緣從一個(gè)掃描線到另一個(gè)掃 面線在位置上略有變動時(shí),邊緣忙碌發(fā)生。如已提到的,邊緣忙碌的一種更特 定的類型是蚊子噪聲,該蚊子噪聲是一種出現(xiàn)在MPEG以及采用DCT進(jìn)行壓縮 的其它視頻幀中的對象的清晰邊緣周圍的失真。
圖1顯示一圖示以示出由有損DCT壓縮/解壓縮過程100產(chǎn)生的邊緣噪聲。 該過程以將采用有損DCT壓縮108被壓縮的原始圖像104為始。該壓縮過程108 包括變換算法120、量化變換系數(shù)的算法122以及編碼量化后的系數(shù)的算法124 (例如,熵編碼器)。在該示例中,壓縮過程108采用量化表130和碼表132 以供支持。該壓縮圖像可以作為比特流112被傳輸至解壓縮在其中發(fā)生的目的 地。
對于比特流112,信息可以是一種數(shù)據(jù)分組形式。各種媒體系統(tǒng)(例如, ¥1仰(^3 媒體播放器)可接收分組格式的媒體。另外,可以可選地包括報(bào)頭和 /或其它信息,其中該信息與該分組相關(guān),例如,分組的填充、比特率和/或其
8它格式信息(例如,誤差修正等)。
該解壓縮過程116 —般涉及解碼經(jīng)量化的系數(shù)114、解量化系數(shù)142以及 進(jìn)行逆變換140。如已經(jīng)解釋的,在邊緣特別是高對比度邊緣存在的情況下, "能量"可通過變換至頻域而被分散。當(dāng)進(jìn)行逆變換時(shí),分散的能量又可終結(jié) 為一個(gè)除對應(yīng)的原始像素之外的像素。重構(gòu)圖像104'將此示為沿邊緣的噪聲, 注意該噪聲可以沿所有邊緣存在,特別是沿高對比度邊緣而存在。
示例性方法
圖2示出用于由邊緣和低分辨率信號來表示圖像的示例性方法200。該方 法200包括由編碼器201執(zhí)行的編碼階段以及由解碼器203執(zhí)行的解碼階段。 例如,媒體服務(wù)器可包括編碼器201,且客戶機(jī)計(jì)算設(shè)備可包括解碼器203。 在這樣一個(gè)示例中,經(jīng)編碼的圖像244可作為文件或流通過網(wǎng)絡(luò)從媒體服務(wù)器 被傳輸?shù)娇蛻魴C(jī)計(jì)算機(jī)設(shè)備。如此所述的,編碼階段可包括一個(gè)或多個(gè)預(yù)處理 步驟以及特定的編碼步驟,并且解碼階段可包括特定的解碼步驟和一個(gè)或多個(gè) 后處理步驟。
參考來自通常被稱為"福曼"測試視頻(參見,例如,與國際電話電報(bào)咨 詢委員會相關(guān)聯(lián)的測試媒體)的標(biāo)準(zhǔn)測試視頻文件的第一圖像,示出該方法 200。該圖像被隔離成低頻部分和高頻部分,注意低頻部分和高頻部分中的每 一個(gè)可表示圖像的各種區(qū)域。更具體地,高頻部分表示邊緣,低頻部分表示駐 留在邊緣之間的各區(qū)域。因此,方法200包括高頻處理(圖2左側(cè))、低頻處 理(圖2右側(cè))以及用于區(qū)別和用于合并低頻和高頻信息的處理(圖2中間)。
在編碼階段,邊緣檢測和選擇框210檢測原始圖像中的邊緣,將這些邊緣 變薄至預(yù)定寬度(例如, 一個(gè)像素的寬度),然后通過采用率一失真準(zhǔn)則來選 擇邊緣中的一些邊緣。總之,檢測和選擇框210以一種可經(jīng)由邊緣編碼框215 無損描述的方式定義圖像的高頻部分。以下進(jìn)一步討論邊緣編碼的示例性方法 的細(xì)節(jié)。
對于圖像的低頻部分,降采樣框230采用邊緣降采樣圖像以創(chuàng)建低分辨率 圖像。降采樣過程可在所選邊緣的幫助下操作(見從框210至框230的虛線) 降采樣后,圖像編碼框235對低分辨率圖像進(jìn)行編碼。
9如圖2所示,所選邊緣和低分辨率圖像被復(fù)用框240編碼(例如,壓縮) 并復(fù)用以形成經(jīng)編碼的圖像244。經(jīng)編碼的圖像244可以是適用于存儲或傳輸 的數(shù)據(jù)文件或者數(shù)據(jù)流(例如,分組或其它格式)。在提供視頻的情況下,可 采用編碼器201處理視頻的各圖像以生成經(jīng)編碼的視頻。
如以下更詳細(xì)地描述, 一種用于編碼所選邊緣215的過程可將所選邊緣編 碼為起始點(diǎn)和一系列鏈方向值(例如,鏈碼)。該信息可以被存儲為能被搜索 引擎訪問的數(shù)據(jù)結(jié)構(gòu)和/或它能夠被用來基于所選邊緣信息索引圖像(例如, 起始點(diǎn)信息和鏈方向信息)。例如,索引可基于諸如邊緣個(gè)數(shù)(例如,基于二 進(jìn)制起始點(diǎn)映射的信息)和邊緣長度(例如,鏈碼中的值的個(gè)數(shù))等邊緣特征 對圖像進(jìn)行索引。
如所述的,常規(guī)編碼技術(shù)并不分開編碼邊緣,因此,邊緣信息對于索引、 搜索等是不能現(xiàn)成獲得的。考慮圖像在其中被獲取以用于質(zhì)量控制的機(jī)器視覺
示例。該圖像可包括與某些質(zhì)量方面相關(guān)的邊緣信息,而其它"非邊緣"區(qū)域 對其它質(zhì)量方面是有用的。在該示例中,分開的邊緣編碼允許搜索算法來僅基 于邊緣信息發(fā)現(xiàn)邊緣異常(例如,對應(yīng)于一個(gè)壞的產(chǎn)品的起始點(diǎn)的個(gè)數(shù)和/或 短的平均邊緣長度)。在特定圖像被標(biāo)識為與可能的有缺陷的產(chǎn)品相關(guān)聯(lián)的情 況下,降采樣后的信息可用來重構(gòu)高分辨率圖像以便更全面地理解缺陷(參見, 例如以下解碼階段的描述)。
方法200的解碼階段包括解碼器244接收經(jīng)編碼的圖像244。該解碼過程 被分叉成由邊緣解碼框252執(zhí)行的邊緣解碼步驟以及由圖像解碼框272執(zhí)行的 圖像解碼步驟。因此,兩種經(jīng)編碼的數(shù)據(jù)被接收。 一個(gè)是能采用對應(yīng)的圖像解 碼方案272被解碼的低分辨率圖像,另一個(gè)是能采用示例性邊緣解碼方案252 被解碼的邊緣。經(jīng)邊緣解碼252和圖像解碼272后,生成框280通過采用解碼 邊緣對經(jīng)解碼的低分辨率圖像進(jìn)行升采樣來生成高分辨率圖像。因此,方法200 的解碼階段可解碼所選邊緣信息以及降采樣后的圖像信息以生成具有比降采 樣后的圖像分辨率高的升采樣后的圖像。
總之,方法200用于采用邊緣和低分辨率信號的高效圖像表示。這種技術(shù) 可減少與邊緣相關(guān)聯(lián)的噪聲,允許基于邊緣特征等的索引。邊緣檢測
圖3示出方法200的檢測和選擇框210的細(xì)節(jié)。更具體地,圖3示出邊緣 檢測框212和邊緣選擇框214,以及高分辨率的福曼圖像、福曼圖像的邊緣以 及福曼圖像的所選邊緣。參考圖4的邊緣區(qū)域402的示意圖(例如,福曼圖像 的邊緣)描述邊緣檢測框212。 一般而言,自然圖像中的邊緣區(qū)域可以被簡單 地建模成亮度漸變區(qū)域,如由邊緣區(qū)域402的空白圈(或者像素),陰影圈和 深色圈所指示的。邊緣區(qū)域402包括單個(gè)邊緣以及在一定寬度或4個(gè)像素到三 個(gè)像素的規(guī)模內(nèi)的雙邊緣點(diǎn)。
最經(jīng)典的邊緣檢測技術(shù)將邊緣的概念定義為經(jīng)高斯濾波的圖像的拉普拉 斯算子的交零(zero-crossing)位置。例如,圖4示出邊緣區(qū)域的簡檔以及 位于邊緣區(qū)域402的雙邊緣點(diǎn)之間的單個(gè)邊緣點(diǎn)的二次導(dǎo)數(shù)404。在圖4的示 例中,邊緣位置在區(qū)域的中心。因此,本地結(jié)構(gòu)被描述為圖邊緣區(qū)域402所示 的具有規(guī)?;?qū)挾葏?shù)的單個(gè)交零邊緣。然而,因?yàn)檫吘墔^(qū)域的規(guī)模和寬度隨
自然圖像任意變化,所以該描述缺少精確性而可能導(dǎo)致性能損失。
如圖4所示,雙邊緣點(diǎn)將整個(gè)區(qū)域402分成三個(gè)子區(qū)域(邊緣的左側(cè)、邊 緣以及邊緣的右側(cè))。這些子區(qū)域的每一個(gè)相對較平滑,沒有大的密度不連續(xù) (例如,圖4的灰度示例)。如此處所述,不管所采用的邊緣檢測類型如何(例 如,濾波器或其它邊緣檢測技術(shù)),降采樣(例如框230)或升采樣(例如, 框280)的步驟應(yīng)該在子區(qū)域不穿過邊緣的圖像子區(qū)域內(nèi)操作。相應(yīng)于該方法, 邊緣可被維持為盡可能地銳利。
邊緣選擇
從原始圖像中提取的邊緣能夠減少升采樣后的圖像的失真,而用于對其進(jìn) 行編碼的比特?cái)?shù)也應(yīng)該被考慮。示例性邊緣選擇過程214采用率一失真準(zhǔn)則來 確定邊緣的效率。該率一失真準(zhǔn)則可由以下方程式表示
AD,5t0W/0W DH。咖—^咖
/>^/or//y =-=—=-
其中D^是原始圖像與利用某邊緣的升采樣后的圖像之間的失真,將在以 下進(jìn)一步討論,R^是編碼邊緣所需的比特?cái)?shù)。對于該方法,邊緣的更高優(yōu)先 級導(dǎo)致更高的編碼性能。根據(jù)重構(gòu)圖像所要求的質(zhì)量,具有較高優(yōu)先級的若干
ii邊緣被優(yōu)先地選擇作為圖像的高頻部分。 采用邊緣進(jìn)行降采樣/升采樣
圖5示出降采樣和升采樣的各個(gè)方面,其中濾波器沿邊緣操作502以及其 中濾波器跨邊緣操作504。盡管這些邊緣在圖像中是不連續(xù)的,它們沿輪廓是 平滑的。即,邊緣上的像素可以通過在同一邊緣上的其相鄰像素來恢復(fù)。事實(shí) 上,它們可以使用由H.264和MEPG-4高級視頻編碼(AVC) ITU-T標(biāo)準(zhǔn)采用的 6抽頭濾波器來被降采樣或升采樣,但降采樣或升采樣應(yīng)沿邊緣方向502。注 意,MEPG-4可伸縮視頻編碼(SVC)標(biāo)準(zhǔn)仍然不完整,但預(yù)期它可以定義至 少用于亮度分量的同樣的6抽頭濾波器。
對于非邊緣像素,這些像素位于兩邊緣間的平滑區(qū)域中,它們被所述的6 抽頭濾波器降采樣或升采樣。當(dāng)濾波器穿過邊緣,它將被截掉并且該區(qū)域內(nèi)的 像素值將被延伸,如圖5的濾波器跨邊緣方案504所示。
邊緣編碼
圖6示出用于圖2的示例性邊緣編碼215的兩個(gè)方案602、 604。鏈碼方 向方案602示出用于形成鏈的各種方向,而邊緣示例方案604示出鏈?zhǔn)侨绾螐?具有與方向602相一致的各種鏈接的起始點(diǎn)形成的。由于兩個(gè)邊緣圖像之間的 強(qiáng)方向相關(guān)度,鏈編碼被用來描述邊緣。鏈碼被定義成從0到7,并被賦予當(dāng) 前像素的從右邊一個(gè)起始的8個(gè)相鄰點(diǎn)。這在邊緣示例604中被示出。任意邊 緣描述包括起始點(diǎn)的位置和從第一方向到最后的鏈碼序列。例如,圖5的示意 圖502, 504中的邊緣可以由起始點(diǎn)的位置和鏈碼序列7-6-7-0-7-6 (例如,對 應(yīng)于602的鏈方向的序列)來表示。
在為全部所選邊緣生成鏈碼序列后,"邊緣圖像"被分成兩部分。 一個(gè)部 分是每個(gè)所選邊緣的鏈碼序列,它能通過基于上下文的適應(yīng)算術(shù)編碼被編碼; 另一個(gè)部分是全部邊緣的起始點(diǎn),它能通過二進(jìn)制映射被表示。如以下所解釋 的,該映射中的每個(gè)點(diǎn)以二進(jìn)制編碼指示該點(diǎn)是否是起始點(diǎn)"1"或非"0"。
基于上下文的適應(yīng)算術(shù)鏈編碼
12為了為算術(shù)編碼建立上下文模型,考慮兩個(gè)方面。首先,考慮哪些上下文 是可用的和有用的;其次,考慮需要多少上下文模型以及每個(gè)上下文模型的概 率分布。
假設(shè)"C"是當(dāng)前鏈碼,P。是前一個(gè),P!是P。的前一個(gè)。從圖2和圖3所 示的邊緣圖像,大多數(shù)邊緣具有強(qiáng)方向性和連續(xù)性。因此,P。和Pi可以是對C 的良好預(yù)測。第三上下文是"L",它是由低分辨率圖像預(yù)測得到的方向。
圖7示出兩個(gè)示意圖702, 704,以示出鏈編碼的一些特征。示意圖702 涉及前一個(gè)方向是水平或垂直方向的實(shí)例,示意圖704涉及前一個(gè)方向是對角 線的實(shí)例(參見,例如,圖6的鏈碼方向602)。在邊緣寬度被設(shè)置成一個(gè)像 素的情況下,所有邊緣是一個(gè)像素寬,且鏈不能回溯至已經(jīng)被通過的像素,這 意味著當(dāng)鏈中的一個(gè)像素確定其8個(gè)相鄰像素中的哪一個(gè)來提供下一個(gè)鏈接方 向后,其它7個(gè)相鄰像素不能被用來派選擇之用。因此,根據(jù)示意圖702,如 果P。是水平或垂直的,C被限制為三種可能值P。, P。 + 1, P。 - 1。在P。是 對角方向的情況下,根據(jù)示意圖704, C受限于五種可能值:P。, P。+l, P。-l, P。+ 2, P。 - 2。由于這個(gè)原因,示例性上下文模型被分類成兩個(gè)類別。此外, 根據(jù)統(tǒng)計(jì)數(shù)據(jù), 一些模型可以被并于每個(gè)類別。例如,如果P。、 Pi及L均等于 某個(gè)方向"a",則C是最可能為"a"的。該示例性鏈編碼技術(shù)導(dǎo)致13個(gè)模 型,在圖8中示出。具體地,圖8示出被分類成用于水平或垂直的前一個(gè)方向 802的模型0一0至0—4以及用于對角方向的前一個(gè)方向804的模型1—0至1—7 的示例性鏈編碼模型800。
用于起始點(diǎn)映射的四樹幾何編碼
圖9示出使用用于起始點(diǎn)映射的四樹幾何編碼的示例性技術(shù)900。在各種 常規(guī)的方法中,每個(gè)邊緣的起始點(diǎn)通過固定長度比特被編碼。然而,由于圖像 尺寸隨增加的處理速度以及減少的存儲成本而增加,比特?cái)?shù)變得越來越大。為 了解決這個(gè)問題,示例性二進(jìn)制映射被用來表示圖像的所有起始點(diǎn)。在圖9的 實(shí)例中,方法900釆用四樹幾何算法來編碼起始點(diǎn)映射。圖像映射910示出圖 像中的起始點(diǎn),在該圖像中,每個(gè)起始點(diǎn)對應(yīng)所選邊緣的開始。圖像映射910 以二進(jìn)制形式被表示,其中像素位置是,例如,或者"1"或者"0",以指示該位置是否對應(yīng)于起始點(diǎn)。
圖像映射910隨后根據(jù)四樹幾何編碼被劃分成四部分,以產(chǎn)生圖像映射 920,其中每個(gè)部分的一個(gè)比特用來指示該部分是否包含至少一個(gè)起始點(diǎn)"1"
是和"0"否。如果一部分確實(shí)包含至少一個(gè)起始點(diǎn),則該部分被可遞歸地劃 分成更小部分,直至其到達(dá)預(yù)先設(shè)定的尺寸的最終塊(end block);否則, 部分不需要被進(jìn)一步劃分。最終塊尺寸可根據(jù)需要進(jìn)行選擇,例如,最終塊可 以是一個(gè)或多個(gè)尺寸2x2、 2x3、 3x2和3x3 (例如,按像素)。一 旦到達(dá)最終塊分辨率,在每個(gè)塊中,如果其包含僅一個(gè)起始點(diǎn),則該點(diǎn)的索引 被編碼。否則,該框的整個(gè)比特圖案被編碼成確保所有起始點(diǎn)的信息被保留。
示例計(jì)算設(shè)備
圖10示出可用于實(shí)現(xiàn)此處所討論的各種示例性方法的部分或全部的示例 性計(jì)算設(shè)備1000的各個(gè)組件。
圖io所示的計(jì)算設(shè)備只是計(jì)算環(huán)境的一個(gè)示例,且并非旨在對計(jì)算機(jī)和
網(wǎng)絡(luò)體系結(jié)構(gòu)的使用范圍或功能提出任何限制。也不應(yīng)將該計(jì)算環(huán)境解釋為對 示例操作環(huán)境中所示出的任一組件或其組合有任何依賴性或要求。
參考圖10,用于實(shí)現(xiàn)示例性的編碼和/或解碼過程的示例性系統(tǒng)包括諸如 計(jì)算設(shè)備1000等計(jì)算設(shè)備。在一個(gè)非常基本的配置中,計(jì)算設(shè)備1000通常包 括至少一個(gè)處理單元1002和系統(tǒng)存儲器1004。取決于計(jì)算設(shè)備的確切配置和 類型,系統(tǒng)存儲器1004可以是易失性的(諸如RAM)、非易失性的(諸如R0M、 閃存等)或是兩者的某種組合。系統(tǒng)存儲器1004通常包括操作系統(tǒng)1005、 一 個(gè)或多個(gè)程序模塊1006,并且可包括程序數(shù)據(jù)1007。該基本配置在圖10中由 虛線1008內(nèi)的組件示出。
操作系統(tǒng)1005可包括基于組件的框架1020,其支持組件(包括屬性和事 件)、對象、繼承、多態(tài)性、反射,并且提供面向?qū)ο蟮幕诮M件的應(yīng)用程序 編程接口 (API),諸如由華盛頓州雷蒙德市的微軟公司制造的.NETTM框架的 API。
計(jì)算設(shè)備1000還可具有附加特征或功能。例如,計(jì)算設(shè)備1000還可包括 附加數(shù)據(jù)存儲設(shè)備(可移動和/或不可移動),諸如,例如磁盤、光盤或磁帶。
14這樣的附加存儲在圖10中由可移動存儲1009和不可移動存儲1010示出。計(jì) 算機(jī)存儲介質(zhì)可包括以用于存儲諸如計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或 其它數(shù)據(jù)等信息的任何方法或技術(shù)實(shí)現(xiàn)的易失性和非易失性、可移動和不可移 動介質(zhì)。系統(tǒng)存儲器1004、可移動存儲1009和不可移動存儲1010都是計(jì)算機(jī) 存儲介質(zhì)的示例。因此,計(jì)算機(jī)存儲介質(zhì)包括但不限于,RAM、 ROM、 EEPR0M、 閃存或其它存儲器技術(shù)、CD-R0M、數(shù)字多功能盤(DVD)或其它光存儲、磁帶 盒、磁帶、磁盤存儲或其它磁性存儲設(shè)備、或能用于存儲所需信息且可以由計(jì) 算設(shè)備1000訪問的任何其它介質(zhì)。任何這樣的計(jì)算機(jī)存儲介質(zhì)都可以是設(shè)備 1000的一部分。計(jì)算設(shè)備1600還可具有諸如鍵盤、鼠標(biāo)、筆、語音輸入設(shè)備、 觸摸輸入設(shè)備等輸入設(shè)備1012。還可包括諸如顯示器、揚(yáng)聲器、打印機(jī)等輸出 設(shè)備1014。這些設(shè)備在本領(lǐng)域是公知的,因此不必在此詳細(xì)討論。
計(jì)算設(shè)備1000還可包含允許該設(shè)備諸如通過網(wǎng)絡(luò)來與其它計(jì)算設(shè)備1016 進(jìn)行通信的通信連接1018。通信連接1016是通信介質(zhì)的一個(gè)示例。通信介質(zhì) 通常由諸如載波或其它傳輸機(jī)制等已調(diào)制數(shù)據(jù)信號中的計(jì)算機(jī)可讀指令、數(shù)據(jù) 結(jié)構(gòu)、程序模塊或其它數(shù)據(jù)來體現(xiàn),并包括任何信息傳遞介質(zhì)。術(shù)語"已調(diào)制 數(shù)據(jù)信號"指的是其一個(gè)或多個(gè)特征以在信號中編碼信息的方式被設(shè)定或更改 的信號。作為示例而非限制,通信介質(zhì)包括有線介質(zhì),諸如有線網(wǎng)絡(luò)或直接線 連接,以及無線介質(zhì),諸如聲學(xué)、RF、紅外線和其它無線介質(zhì)。如此處所使用 的術(shù)語計(jì)算機(jī)可讀介質(zhì)包括存儲介質(zhì)和通信介質(zhì)兩者。
各種模塊和技術(shù)在此可在諸如程序模塊等由一個(gè)或多個(gè)計(jì)算機(jī)或其它設(shè) 備執(zhí)行的計(jì)算機(jī)可執(zhí)行指令的一般上下文中描述。 一般而言,程序模塊包括用 于執(zhí)行特定任務(wù)或?qū)崿F(xiàn)特定抽象數(shù)據(jù)類型的例程、程序、對象、組件、數(shù)據(jù)結(jié) 構(gòu)等。這些程序模塊等可以作為本機(jī)代碼執(zhí)行或諸如在虛擬機(jī)或其它即時(shí) (jiist-in-time)編譯執(zhí)行環(huán)境中下載和執(zhí)行。通常,程序模塊的功能可以在
各個(gè)實(shí)施例中按需進(jìn)行組合或分布。
這些模塊和技術(shù)的實(shí)現(xiàn)可以存儲在某種形式的計(jì)算機(jī)可讀介質(zhì)上或通過
某種形式的計(jì)算機(jī)可讀介質(zhì)傳輸。計(jì)算機(jī)可讀介質(zhì)可以是可由計(jì)算機(jī)訪問的任 何可用介質(zhì)。作為示例而非限制,計(jì)算機(jī)可讀介質(zhì)可包括"計(jì)算機(jī)存儲介質(zhì)" 和"通信介質(zhì)"。然而,本領(lǐng)域技術(shù)人員可認(rèn)識到此處所描述的技術(shù)也可在沒有這些具體細(xì) 節(jié)中的一個(gè)或多個(gè)的情況下,或者用其它方法、資源、材料等來實(shí)施。在其它 情況下,僅僅為了避免混淆各示例性技術(shù)的各方面而未詳細(xì)地示出或描述公知 的結(jié)構(gòu)、資源或操作。
雖然示出和描述了各示例和應(yīng)用,但可以理解,這些技術(shù)不限于上述精確 配置和資源。可以對此處所公開的方法和系統(tǒng)的安排、操作和細(xì)節(jié)作出對本領(lǐng) 域技術(shù)人員顯而易見的各種修改、改變和變更,而不背離其實(shí)際范圍。
1權(quán)利要求
1.一種用于編碼圖像的方法,該方法至少部分地由計(jì)算設(shè)備執(zhí)行,該方法包括接收圖像數(shù)據(jù);檢測該圖像數(shù)據(jù)中的邊緣,選擇檢測到的邊緣中的至少一些,并將所選邊緣編碼為所選邊緣信息;降采樣圖像數(shù)據(jù)并將降采樣后的圖像編碼為降采樣后的圖像信息;以及復(fù)用所選邊緣信息和降采樣后的圖像信息。
2. 如權(quán)利要求1所述的方法,其特征在于,該檢測邊緣包括過濾該圖像數(shù)據(jù)。
3. 如權(quán)利要求1所述的方法,其特征在于,該選擇檢測到的邊緣中的一些 包括將率一失真準(zhǔn)則應(yīng)用于該檢測到的邊緣。
4. 如權(quán)利要求3所述的方法,其特征在于,該率一失真準(zhǔn)則包括用于邊緣 的優(yōu)先級值,該優(yōu)先級值基于邊緣失真值、非邊緣失真值和編碼該邊緣所需的 比特?cái)?shù)的值。
5. 如權(quán)利要求1所述的方法,其特征在于,該編碼所選邊緣包括鏈編碼。
6. 如權(quán)利要求5所述的方法,其特征在于,對于水平或垂直的前一個(gè)鏈方 向,下一個(gè)鏈方向?qū)?yīng)于三個(gè)鏈方向中的一個(gè)。
7. 如權(quán)利要求5所述的方法,其特征在于,對于呈對角線的前一個(gè)鏈方向, 下一個(gè)鏈方向?qū)?yīng)于五個(gè)鏈方向中的一個(gè)。
8. 如權(quán)利要求5所述的方法,其特征在于,該鏈編碼包括用于水平或垂直的前一個(gè)鏈方向的模型以及用于呈對角線的前一個(gè)鏈方向的模型。
9. 如權(quán)利要求5所述的方法,其特征在于,該鏈編碼將邊緣編碼為一系列 鏈方向值。
10. 如權(quán)利要求l所述的方法,其特征在于,該編碼所選邊緣包括起始 點(diǎn)的二進(jìn)制映射,其中每個(gè)邊緣包括由二進(jìn)制值表示的起始點(diǎn)。
11. 如權(quán)利要求10所述的方法,其特征在于,該二進(jìn)制映射包括采用 四樹幾何劃分圖像的區(qū)域,并且其中該劃分包括到達(dá)以像素指定的預(yù)定的最終 塊尺寸時(shí)終止對區(qū)域的劃分。
12. 如權(quán)利要求l所述的方法,其特征在于,該編碼所選邊緣包括將每個(gè)所選邊緣編碼為起始點(diǎn)和一系列鏈方向值。
13. 如權(quán)利要求l所述的方法,其特征在于,該復(fù)用包括將所選邊緣信息以及降采樣后的圖像信息存儲為經(jīng)編碼的圖像文件。
14. 如權(quán)利要求13所述的方法,其特征在于,該經(jīng)編碼的圖像文件包 括按可被搜索引擎訪問的數(shù)據(jù)結(jié)構(gòu)的所選邊緣信息。
15. 如權(quán)利要求1所述的方法,其特征在于,還包括將用于該圖像的所 選邊緣信息存儲在文件中并至少部分地基于所選邊緣信息索引該文件。
16. 如權(quán)利要求l所述的方法,其特征在于,還包括解碼經(jīng)復(fù)用的所選 邊緣信息和降采樣后的圖像信息以生成具有比該降采樣后的圖像分辨率高的 升采樣后的圖像。
17. —種用于編碼圖像中的邊緣的方法,該方法至少部分地由計(jì)算設(shè)備執(zhí)行,該方法包括 接收圖像數(shù)據(jù); 檢測該圖像數(shù)據(jù)中的邊緣;采用率一失真準(zhǔn)則選擇檢測到的邊緣中的至少一些;將所選邊緣編碼為所選邊緣信息,其中該所選邊緣信息包括二進(jìn)制起始點(diǎn) 映射和鏈碼。
18. 如權(quán)利要求17所述的方法,其特征在于,該率一失真準(zhǔn)則包括用 于邊緣的優(yōu)先級值,該優(yōu)先級值基于邊緣失真值、非邊緣失真值和編碼該邊緣 所需的比特?cái)?shù)的值。
19. 如權(quán)利要求17所述的方法,其特征在于,還包括基于所選邊緣信 息索引該圖像。
20. —種計(jì)算設(shè)備,包括 處理器;存儲器;至少一部分由該處理器執(zhí)行的控制邏輯,用于檢測圖像數(shù)據(jù)中的邊緣,用 于采用率一失真準(zhǔn)則選擇檢測到的邊緣中的至少一些,以及用于將所選邊緣編 碼為所選邊緣信息,其中該所選邊緣信息包括二進(jìn)制起始點(diǎn)映射和鏈碼。
全文摘要
一種用于編碼圖像的示例性方法包括接收圖像數(shù)據(jù)、檢測圖像數(shù)據(jù)中的邊緣,選擇檢測到的邊緣中的至少一些,將所選邊緣編碼為所選邊緣信息;對圖像數(shù)據(jù)進(jìn)行降采樣;將降采樣后的圖像編碼為降采樣后的圖像信息以及復(fù)用所選邊緣信息和降采樣后的圖像信息。在這種方法中,所選邊緣信息和降采樣后的圖像信息可以被存儲為經(jīng)編碼的圖像文件。還公開了各種其它示例性方法、設(shè)備、系統(tǒng)。
文檔編號G06T5/00GK101689297SQ200880022303
公開日2010年3月31日 申請日期2008年6月22日 優(yōu)先權(quán)日2007年6月28日
發(fā)明者F·吳, J-Z·許, T·孫 申請人:微軟公司