欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

用通用多級樹中的集合分裂針對圖像和視頻自適應(yīng)熵編碼的制作方法

文檔序號:7910720閱讀:301來源:國知局
專利名稱:用通用多級樹中的集合分裂針對圖像和視頻自適應(yīng)熵編碼的制作方法
技術(shù)領(lǐng)域
本發(fā)明一般地涉及圖像和視頻編碼,并且更具體地,涉及利用通用多級樹 (generalized hierarchical trees)中的集合分裂(set partitioning)的自適應(yīng)熵編碼裝置和方法。
背景技術(shù)
熵編碼是圖像和視頻壓縮的重要組成部分,圖像和視頻壓縮通常響應(yīng)于以下步驟(1)執(zhí)行變換(或者,可選地在變換前執(zhí)行預(yù)測),( 量化,以及( 熵編碼。以下針對常用的JPEG熵編碼方法進(jìn)行描述,JPEG表示聯(lián)合圖像專家組并且是用于一組計算機(jī)圖像文件壓縮技術(shù)的IS0/IEC標(biāo)準(zhǔn)。JPEG文件是通過從一組壓縮質(zhì)量中進(jìn)行選擇而被創(chuàng)建的,更準(zhǔn)確地說,是根據(jù)多個壓縮算法中的一種而被創(chuàng)建的。在通過JPEG壓縮來轉(zhuǎn)換圖像時,結(jié)果圖像的目標(biāo)大小或質(zhì)量被指定為接近或小于原始圖像的質(zhì)量水平。 因為最高質(zhì)量的圖像產(chǎn)生最大的文件,所以在圖像質(zhì)量和文件大小之間存在折衷。根據(jù)該標(biāo)準(zhǔn)的JPEG方案包括二十九09)個不同的編碼步驟,盡管JPEG實現(xiàn)裝置可以不使用全部的步驟。當(dāng)執(zhí)行JPEG中的熵編碼時,每個8 X 8的塊被使用離散余弦變換(DCT)進(jìn)行變換, 然后DCT系數(shù)受到量化、Z形(zig-zag)掃描以及游程長度編碼??梢岳斫猓ㄟ^創(chuàng)建相同像素的線性組而非個別地存儲每個像素的值,游程長度編碼提供了一種以較低速率來對 DCT系數(shù)進(jìn)行編碼的方式。DCT提供了用于將任何波形表示為余弦的加權(quán)和的機(jī)制,其中心在于各種形式的信號處理,尤其是圖像和視頻壓縮的信號處理。圖IA圖示出4X4塊中的Z形掃描的示例,系數(shù)位置被示出在圖IB中。根據(jù)此Z 形模式執(zhí)行JPEG的熵編碼存在許多缺點(diǎn)。尤其是存在以下缺點(diǎn)(1)速率控制機(jī)制的缺失, 同時形掃描破壞了 DCT系數(shù)的2D相關(guān)性,并且(3)固定的Z形掃描是基于大量圖像數(shù)據(jù)的統(tǒng)計特性的,因此不適合局部圖像塊的局部特性(例如,方向性)。應(yīng)理解,量化中使用的參數(shù)部分地決定了速率控制,因此通常需要嘗試不同的量化參數(shù)以得到希望的文件大小?;谖黄矫?bit plane)的熵編碼被廣泛用于可伸縮(scalable)圖像/視頻編碼。在此過程中,變換系數(shù)被轉(zhuǎn)換為二進(jìn)制形式,并且從最高有效位平面(MSB)到最低有效位平面(LSB)被編碼。在此過程中,較低位平面的編碼和解碼是基于較高位平面的知識的。 比特流編碼過程可在任何位置處被停止,以在提供合理的良好重構(gòu)質(zhì)量的同時滿足給定的比特率預(yù)算(bitrate budget)??梢跃哂性诰幋a過程中的任一點(diǎn)處停止的能力是因為每個系數(shù)的最重要的部分(MSB)已經(jīng)被編碼。已知的該比特流編碼機(jī)制是嵌入式編碼,并且提供良好的速率控制。關(guān)于2D相關(guān)性的缺失,可以看到,例如,如在4X4的塊中示出的,圖IB中系數(shù)位置2和6在頻譜中接近,然而響應(yīng)于圖IA中所示的Z形掃描順序,它們是不相鄰的并且實際上彼此遠(yuǎn)離。對于某種類型的塊,如果系數(shù)位置2是非零的,則6非??赡芤彩欠橇愕?; 在這種情況下,Z形掃描將可能使長的游程中斷并且降低編碼效率。為了提高諸如圖像和視頻之類的2D可視信號的編碼效率,適應(yīng)局部幾何特征是近來的趨勢。然而,這些方法尚未與適當(dāng)?shù)撵鼐幋a方法很好地關(guān)聯(lián)起來,因此統(tǒng)計學(xué)冗余未被充分開發(fā)。相反,本發(fā)明闡釋了設(shè)計自適應(yīng)熵編碼方法的重要性。因此,需要用于執(zhí)行復(fù)雜度低且效率高的速率可控熵編碼和解碼的方法和裝置。 本發(fā)明滿足了這些需求和其他需求,克服了之前開發(fā)的基于熵的圖像/視頻編碼技術(shù)中的不足。

發(fā)明內(nèi)容
本發(fā)明提供了利用通用多級樹中的集合分裂的用于圖像和視頻的自適應(yīng)熵編碼方法。為了描述簡便,通用多級樹中的集合分裂在此被稱作首字母縮略詞“SPRIGHT”。 SPRIGHT編碼方法可被用于嵌入式編碼,因為它共享類似的特征并且它可提供速率可控性。SPRIGHT編碼遵循如下的一般步驟將圖像(或視頻幀)劃分為塊,利用變換對每個塊進(jìn)行去相關(guān)(可選地,在變換之前可以存在預(yù)測),量化變換系數(shù),從多個樹的集合(即樹的預(yù)定集合)中選擇樹并且利用該所選樹來編碼塊。編碼效率被大幅提高,因為樹不是固定的而是響應(yīng)于存在于系數(shù)的塊內(nèi)的2D關(guān)系而被選出的。本發(fā)明是可修改的以以多種方式來實現(xiàn),這些方式包括而不限于以下描述。本發(fā)明的一個實施例是一種用于圖像或視頻編碼器內(nèi)的自適應(yīng)熵編碼的裝置,包括(a)被配置用于圖像/視頻編碼的計算機(jī);(b)耦合到所述計算機(jī)的存儲器;以及(c)可在所述計算機(jī)上執(zhí)行的程序,用于執(zhí)行以下步驟(c) (i)將圖像或視頻幀劃分為塊(例如, 塊可以具有任何希望的形狀和大小,包括4X4、8X8和16X 16,32X32), (c) (ii)(在根據(jù)重構(gòu)了的塊的預(yù)測之后)利用變換(例如,空間變換)對每個塊進(jìn)行去相關(guān),(c) (iii)量化變換系數(shù),(c) (iv)響應(yīng)于對圖像的像素塊內(nèi)的幾何關(guān)系的確定,從多個候選中選擇希望的樹結(jié)構(gòu),該幾何關(guān)系有時等同于塊的變換系數(shù)之間的關(guān)系,以及(c) (ν)響應(yīng)于所選擇的樹結(jié)構(gòu),利用零系數(shù)的聚集來對塊進(jìn)行編碼。上文中,將會理解,響應(yīng)于使得所述所選擇的樹結(jié)構(gòu)中的非葉子節(jié)點(diǎn)表示其相應(yīng)的葉子節(jié)點(diǎn)僅包含零系數(shù)并且不將這些子孫葉子節(jié)點(diǎn)編碼到由所述裝置在編碼圖像/視頻時生成的輸出比特流中,零系數(shù)的部分被從編碼后的輸出中去除。在本發(fā)明的至少一個實施例中,將塊編碼到所選樹結(jié)構(gòu)中是根據(jù)對樹結(jié)構(gòu)的預(yù)定遍歷來執(zhí)行的,例如使用廣度優(yōu)先遍歷(BFT)方法。這里使用的短語“預(yù)定遍歷”表示處理如何通過給定樹的節(jié)點(diǎn)前進(jìn)的模式。使用預(yù)定遍歷,解碼器能夠遵循在編碼時使用了的、通過樹的相同模式,從而變換系數(shù)被解碼到與它們被編碼時的順序相同的順序中。可替換地, 編碼器和解碼器可使用任何希望的機(jī)制來使解碼順序與編碼順序同步,而不會背離本發(fā)明的教導(dǎo)。將注意到,多個候選樹結(jié)構(gòu)中的每個是通過具有指定配置的葉子和非葉子節(jié)點(diǎn)二者來配置的,其中包含系數(shù)的一個或多個葉子節(jié)點(diǎn)被與每個非葉子節(jié)點(diǎn)相關(guān)聯(lián)。在本發(fā)明的至少一種實現(xiàn)方式中,通過指示出每個非葉子節(jié)點(diǎn)的子孫葉子節(jié)點(diǎn)是全都包含零系數(shù)還是不全都包含零系數(shù)的比特(例如,0 =葉子節(jié)點(diǎn)都是零,1 =葉子節(jié)點(diǎn)系數(shù)不都是零),來表示每個非葉子節(jié)點(diǎn)的狀態(tài)。在本發(fā)明的一種模式中,樹結(jié)構(gòu)的集合被保留在編碼器中,并且被配置用于允許樹結(jié)構(gòu)中的一種樹結(jié)構(gòu)被選出用于對塊進(jìn)行編碼。塊內(nèi)的各種幾何關(guān)系能夠被識別,例如平坦、嘈雜、水平、垂直、對角線+45°、對角線-45°以及其他所希望的, 而不會背離本發(fā)明的教導(dǎo)。這樣的幾何關(guān)系可被等同地轉(zhuǎn)化為被編碼的塊中的變換系數(shù)之間的二維關(guān)系。在至少一種實現(xiàn)方式中,編碼器將關(guān)于在對圖像的每個塊進(jìn)行編碼時選擇了哪種樹結(jié)構(gòu)的信息提供給解碼器,并且可選地在多種變換中的一種被選擇的情況下將關(guān)于當(dāng)對圖像/視頻的塊進(jìn)行去相關(guān)時使用了哪種變換的信息提供給解碼器。作為示例而非限制, 索引可被傳送給解碼器以傳遞關(guān)于哪種樹結(jié)構(gòu)被選擇的信息以及可選地哪種變換被使用的信息。雖然變換/樹結(jié)構(gòu)的信令消耗開銷比特,但是開銷比特率可通過對信令進(jìn)行編碼 (例如響應(yīng)于算術(shù)編碼)來降低。本發(fā)明的至少一種實現(xiàn)方式還包括在執(zhí)行變換之前執(zhí)行塊間預(yù)測或?qū)K的預(yù)濾波。本發(fā)明的實施例可被配置用于非嵌入式或嵌入式編碼,在嵌入式編碼中,在任意希望數(shù)目的位平面間執(zhí)行編碼并且能夠以任意希望的編碼速率來停止編碼。本發(fā)明的一個實施例是一種用于對圖像或視頻進(jìn)行自適應(yīng)熵編碼和解碼的系統(tǒng), 包括(a)被配置用于圖像/視頻編碼的具有處理元件和存儲器的編碼器;(b)在所述編碼器的處理元件上可執(zhí)行的用于執(zhí)行以下步驟的程序(b) (i)將圖像或視頻幀劃分為塊, (b) (ii)(在可選的根據(jù)重構(gòu)了的塊的預(yù)測之后)利用變換對每個塊進(jìn)行去相關(guān),(b) (iii) 量化變換系數(shù),(b)(iv)響應(yīng)于對塊內(nèi)的幾何關(guān)系的確定,從多個候選的集合中選擇樹結(jié)構(gòu),以及(b) (ν)響應(yīng)于使用從多個候選中所選擇的樹結(jié)構(gòu),利用零系數(shù)的聚集來對塊進(jìn)行編碼;以及(c)被配置用于對來自所述編碼器的圖像/視頻比特流進(jìn)行圖像/視頻解碼的具有處理元件和存儲器的解碼器;(d)在所述解碼器的處理元件上可執(zhí)行的用于響應(yīng)于執(zhí)行以下步驟來輸出圖像/視頻信號的程序(d) (i)確定在對塊進(jìn)行編碼時由所述編碼器選擇的樹結(jié)構(gòu),(d)(ii)將樹結(jié)構(gòu)的葉子解碼為輸出中的系數(shù),(d)(iii)響應(yīng)于對沒有非零分支的非葉子節(jié)點(diǎn)進(jìn)行解碼,在輸出中輸出零系數(shù),(d) (iv)對輸出執(zhí)行反量化,(d) (ν)對輸出執(zhí)行逆變換,以及(d)(Vi)響應(yīng)于對輸出的接收來重構(gòu)圖像或視頻信號。在編碼處理中,響應(yīng)于使得非葉子節(jié)點(diǎn)表示相應(yīng)的葉子節(jié)點(diǎn)僅包含零系數(shù),零系數(shù)的部分被從輸出中去除。解碼處理使用在編碼期間選出的相同樹結(jié)構(gòu)來恰當(dāng)?shù)蒯槍γ總€塊解譯符號。本發(fā)明的一個實施例是一種用于圖像編碼器內(nèi)的自適應(yīng)熵編碼的方法,包括以下步驟(a)將圖像或視頻幀劃分為塊;(b)(在可選的根據(jù)重構(gòu)了的塊的預(yù)測之后)利用頻譜變換對每個塊進(jìn)行去相關(guān);(c)量化變換系數(shù);(d)響應(yīng)于對圖像/視頻的系數(shù)塊內(nèi)的二維關(guān)系的確定,從多個候選中選擇樹結(jié)構(gòu);以及(e)響應(yīng)于所選擇的樹結(jié)構(gòu),在聚集零系數(shù)的同時對塊進(jìn)行編碼。從以上內(nèi)容應(yīng)當(dāng)理解,響應(yīng)于使得所述所選擇的樹結(jié)構(gòu)中的非葉子節(jié)點(diǎn)表示其相應(yīng)的葉子節(jié)點(diǎn)僅包含零系數(shù),零系數(shù)的部分被從編碼后的輸出中去除。本發(fā)明的一個實施例允許編碼器和解碼器二者基于先前解碼的圖像/視頻塊的統(tǒng)計特性來修改(adapt)候選樹中的一個或多個樹結(jié)構(gòu);并且該修改以如下方式被完成 當(dāng)處理某一個塊時,編碼器和解碼器總是具有相同的候選樹集合。本發(fā)明提供了可單獨(dú)實現(xiàn)或以任何希望的組合實現(xiàn)而不會背離本發(fā)明教導(dǎo)的多個有益要素。本發(fā)明的一個要素提供了具有高編碼效率的圖像/視頻編碼。本發(fā)明的另一要素是響應(yīng)于所選樹結(jié)構(gòu)中的零系數(shù)的聚集以及在編碼后的輸出流中跳過聚集的零系數(shù)來提供高編碼效率的編碼和解碼。本發(fā)明的又一要素是不依賴于用于編碼/解碼每個塊的固定樹結(jié)構(gòu)的編碼和解碼。本發(fā)明的又一要素是包括在對圖像/視頻塊進(jìn)行去相關(guān)之前的塊間或幀間預(yù)測。本發(fā)明的又一要素是從多種可能的變換操作中(例如,DCT、DWT、重疊的變換或方向性變換)選擇一種去相關(guān)變換操作。本發(fā)明的又一要素是基于在被編碼時被編碼的塊內(nèi)的幾何關(guān)系來從多個候選中選擇樹結(jié)構(gòu)的編碼。本發(fā)明的又一要素是響應(yīng)于對樹結(jié)構(gòu)的預(yù)定遍歷的編碼和解碼。本發(fā)明的又一要素是其中對樹結(jié)構(gòu)的預(yù)定遍歷包括執(zhí)行廣度優(yōu)先遍歷(BFT)的編碼和解碼。本發(fā)明的又一要素是將關(guān)于在編碼期間使用了哪種去相關(guān)變換和/或哪種樹結(jié)構(gòu)的信息傳送給解碼器。本發(fā)明的又一要素是變換/樹結(jié)構(gòu)的信令以及編碼后的比特流允許對比特率的進(jìn)一步的降低,例如通過利用算術(shù)編碼。本發(fā)明的又一要素是可在嵌入式和非嵌入式圖像編碼系統(tǒng)二者中使用的編碼和解碼方法。在說明書的以下部分中將給出本發(fā)明的更多要素,其中詳細(xì)的描述是為了充分公開本發(fā)明的優(yōu)選實施例而非為了對本發(fā)明施以限制。


通過參考以下僅用于進(jìn)行說明的附圖將更加充分地理解本發(fā)明圖IA-圖IB是示出Z形掃描順序(圖IA中)和系數(shù)位置(圖IB中)的系數(shù)塊陣列。圖2A-圖2C是四個系數(shù)(A-D)的變換后的塊的系數(shù)數(shù)據(jù)圖(圖2A中),以及根據(jù)本發(fā)明的要素的針對塊可供選擇的樹多級結(jié)構(gòu)的系數(shù)數(shù)據(jù)圖(圖2B-圖2C中)。圖3A-圖3C是系數(shù)塊的系數(shù)數(shù)據(jù)圖,以及根據(jù)本發(fā)明的要素的針對塊選擇的樹多級結(jié)構(gòu)操作的系數(shù)數(shù)據(jù)圖。圖4A-圖4C是與圖3A略微不同的系數(shù)塊的系數(shù)數(shù)據(jù)圖,以及其相關(guān)聯(lián)的根據(jù)本發(fā)明的要素的針對塊選擇的樹多級結(jié)構(gòu)操作的系數(shù)數(shù)據(jù)圖。圖5是為了對塊進(jìn)行去相關(guān)而對其執(zhí)行了哈爾(Haar)變換的系數(shù)塊陣列。
圖6A-圖6D是示出根據(jù)本發(fā)明要素的可被選擇的多個樹多級結(jié)構(gòu)的系數(shù)數(shù)據(jù)圖。圖7是根據(jù)本發(fā)明實施例的SPRIGHT編碼和解碼的框圖,示出了樹類型選擇控制編碼和解碼過程二者。圖8是編碼器-解碼器系統(tǒng)的框圖,示出了根據(jù)本發(fā)明實施例的被配置用于執(zhí)行自適應(yīng)熵編碼和解碼的計算機(jī)處理器和存儲器。圖9是根據(jù)本發(fā)明實施例的自適應(yīng)熵編碼方法的流程圖。圖10是根據(jù)本發(fā)明實施例的自適應(yīng)熵解碼方法的流程圖。
具體實施例方式現(xiàn)更具體地參考附圖,出于舉例說明目的,本發(fā)明在圖2A到圖10中一般地示出的裝置中被實現(xiàn)。應(yīng)理解,裝置的配置以及部件的細(xì)節(jié)可以改變,并且方法的具體步驟和順序可以改變,而不會背離這里公開的基本概念。1、介紹描述了自適應(yīng)熵編碼和解碼的裝置和方法,其利用通用多級樹中的集合分裂來編碼和解碼圖像或視頻。作為示例而非限制,用“通用多級樹中的集合分裂(Set PaRtitioning in Generalized Hierarchical Trees) ”的首字母縮略詞“SPRIGHT”來一般地稱呼該裝置和方法。圖像或視頻幀被劃分為塊,每個塊(可選地從先前重構(gòu)的塊預(yù)測出,并且)被利用變換來進(jìn)行去相關(guān)(decorrelate),其變換系數(shù)被量化,并且響應(yīng)于塊內(nèi)的幾何關(guān)系,樹從多個候選中(例如,從預(yù)定樹的集合中)被選出,尤其是響應(yīng)于該塊中各系數(shù)之間的二維 (2D)關(guān)系來執(zhí)行選擇。該塊然后響應(yīng)于所選擇的樹結(jié)構(gòu)被編碼。編碼效率顯著提高,因為樹不是固定的而是響應(yīng)于存在于系數(shù)塊內(nèi)的2D關(guān)系而被選擇的。應(yīng)理解,可以以各種不同的方式來將圖像或視頻幀劃分為塊,而不會背離本發(fā)明的教導(dǎo)。例如,可以以任何隨意的形狀或大小來配置塊,這些塊不必是正方形或矩形的。每個塊可以包含單一的或多個顏色分量。塊可以是彼此重疊的,如果結(jié)合重疊的變換的話。不太優(yōu)選地,塊可以包括整個圖像或視頻幀。在執(zhí)行變換之前,應(yīng)理解,塊間預(yù)測或預(yù)濾波可被執(zhí)行,然而這不是必需的。圖像或視頻幀的每個塊然后根據(jù)以下的編碼步驟被處理。塊內(nèi)的值被利用變換來進(jìn)行去相關(guān),該變換例如是離散余弦變換(DCT)、離散小波變換(DWT)或提供去相關(guān)的其他變換。應(yīng)理解,根據(jù)本發(fā)明的一種實現(xiàn)方式,可以在同一圖像或視頻幀中使用不同類型的變換。如果不同類型的變換被使用,則用于塊的變換的類型應(yīng)當(dāng)被傳送給解碼器,例如通過響應(yīng)于針對每個塊而被編碼的一個或多個比特的狀態(tài)來發(fā)信號通知給解碼器。塊內(nèi)的變換系數(shù)然后被量化。應(yīng)理解,量化步驟將把低于希望的量化閾值的所有系數(shù)都量化為零。然后針對每個塊從多個候選樹結(jié)構(gòu)中選出樹結(jié)構(gòu)。樹結(jié)構(gòu)選擇優(yōu)選地是響應(yīng)于每個塊內(nèi)的系數(shù)之間的關(guān)系(例如二維關(guān)系)從預(yù)定樹的集合中進(jìn)行的,然后每個塊被利用所選出的樹結(jié)構(gòu)進(jìn)行編碼。應(yīng)理解,編碼所使用的樹結(jié)構(gòu)并非對于所有給定的塊而固定,而是基于被編碼的具體塊的頻譜特征而被選出的,因此編碼效率可被顯著提高??蛇x地,編碼器和解碼器都可以基于先前解碼的塊的統(tǒng)計特性來修改(一個或多個)樹結(jié)構(gòu);執(zhí)行修改使得當(dāng)處理某一個塊時,編碼器和解碼器二者具有相同的候選樹的集合。所選樹的索引應(yīng)當(dāng)被用信號通知給解碼器,以使得解碼器能夠確定當(dāng)塊被編碼時所選擇的樹結(jié)構(gòu)。應(yīng)理解,在所使用的變換和所選擇的樹結(jié)構(gòu)之間通常存在關(guān)系。因此,在許多實現(xiàn)方式中,編碼器將發(fā)送一個索引來表示(變換,樹)對,這使得(變換,樹)能夠共同地被優(yōu)化。樹結(jié)構(gòu)和/或變換的索引需要利用一些開銷比特(overhead bit)。應(yīng)理解,通過將諸如算術(shù)編碼之類的編碼技術(shù)應(yīng)用于索引,開銷的量優(yōu)選地被降低。2、SPRIGHT中的樹結(jié)構(gòu)圖2A-2C圖示出經(jīng)過變換的2X2的塊以及作為示例而非限制示出的多個樹結(jié)構(gòu)。 應(yīng)認(rèn)識到,本發(fā)明可被應(yīng)用于任何大小的塊而不會背離本發(fā)明的教導(dǎo)。為了簡便起見,圖 2A圖示了較小的2X2的經(jīng)過變換的塊10,其具有系數(shù)A-D。通常,塊大小是4X4、8X8、 16X 16、32X 32等等,但是塊可以以任何希望的形狀和大小來配置。在本發(fā)明中,“樹”被認(rèn)為是用于輔助編碼和解碼的數(shù)據(jù)結(jié)構(gòu)。它被用從非葉子節(jié)點(diǎn)(非終端節(jié)點(diǎn))連接的葉子節(jié)點(diǎn)(終端節(jié)點(diǎn))來定義。每個葉子節(jié)點(diǎn)代表來自該塊的系數(shù),而每個非葉子節(jié)點(diǎn)代表系數(shù)組,更具體地代表所有其子孫(descendent)的集合。已知為根的非葉子節(jié)點(diǎn)包括給定塊的所有系數(shù)的集合。圖2B-2C例示出用于圖2A中所示的經(jīng)過變換的塊的兩種可能的樹結(jié)構(gòu)。在圖2B 的樹12中,單個非葉子節(jié)點(diǎn)16被示出,它也是樹的根,四個系數(shù)A-D 18a-18d從它直接成組。在圖2C的樹14中示出了非葉子節(jié)點(diǎn)20,也是根20,從它關(guān)聯(lián)了葉子節(jié)點(diǎn)A(24a)和另一個非葉子節(jié)點(diǎn)22,非葉子節(jié)點(diǎn)22關(guān)聯(lián)了三個葉子節(jié)點(diǎn)B、C和D(Mb、Mc、Md)。因此,在圖2B中,所有系數(shù)被一次性地成組在一起,而在圖2C中,系數(shù)B-D在最低層級(level)處被成組在一起。3、利用樹的SPRIGHT編碼以下示例考慮了使用本發(fā)明的非嵌入式版本進(jìn)行的編碼。優(yōu)選地執(zhí)行樹的廣度優(yōu)先遍歷(BFT),并且響應(yīng)于節(jié)點(diǎn)類型和系數(shù)值來控制輸出。如果當(dāng)前節(jié)點(diǎn)是葉子,則系數(shù)的值被輸出。應(yīng)理解,系數(shù)值優(yōu)選地是非二進(jìn)制的,并且例如可以使用算術(shù)編碼來編碼。非葉子節(jié)點(diǎn)包含一個或多個葉子節(jié)點(diǎn),并且作為示例,在至少一個子孫葉子具有非零系數(shù)的情況下用1來進(jìn)行標(biāo)記,或者在系數(shù)的相應(yīng)集合都是零的情況下被標(biāo)記為0,藉此所有的子孫節(jié)點(diǎn)被跳過?!疤^”子孫節(jié)點(diǎn)意味著這些節(jié)點(diǎn)不被顯式地(explicitly)編碼到編碼后的輸出比特流中,這樣節(jié)約了用于這些零系數(shù)的編碼空間。將認(rèn)識到,雖然值1和0被用于簡單說明非葉子節(jié)點(diǎn)的值,但是任何希望的值都可用于指示對于非葉子節(jié)點(diǎn)而言非零子孫是否存在。圖3A-3C和4A-4C圖示出具有類似幾何結(jié)構(gòu)的2X2的塊的編碼。作為示例而非限制,非葉子節(jié)點(diǎn)中的子孫被以二進(jìn)制表示,其中“ 1”指示至少一個分支具有非零系數(shù),而 “ 0,,指示任一分支都不具有非零系數(shù)。圖3A圖示了具有四個系數(shù)5、0、0、0的塊30。示了為塊30選擇第一編碼 32,其具有單個非葉子節(jié)點(diǎn)36和單個層級39中的四個葉子節(jié)點(diǎn)38a-38d。圖中的編碼的輸出生成五個值的序列1、5、0、0、0。與此編碼不同,圖3C中示出的編碼使用特別的兩層級樹結(jié)構(gòu)。在圖3C的樹34中,根節(jié)點(diǎn)40具有包含值為5(作為示例)的系數(shù)的單個葉子節(jié)點(diǎn)44a,以及聚集了包括組46中的三個葉子節(jié)點(diǎn)44b、44b和44d的零節(jié)點(diǎn)的非葉子節(jié)點(diǎn) 42。因為這些葉子節(jié)點(diǎn)都是零,所以它們可以被跳過,因此相應(yīng)的根42被用0進(jìn)行編碼。響應(yīng)于此編碼,此編碼序列輸出是1、5、0 ;這當(dāng)然比圖:3B中使用的編碼更短。作為示例示出了較小的2X2的塊大小,然而應(yīng)理解,較大的塊大小能夠提供更高水平的編碼效率增長。此外,應(yīng)理解,雖然為了說明起見將系數(shù)圖示為單數(shù)位整數(shù),但是實際的系數(shù)需要大得多的表示比特空間。然而,如果塊中的系數(shù)之間的關(guān)系略有不同,例如在圖4A的塊中圖示出的那樣, 其中系數(shù)之一的位置被移動了,則相對于樹結(jié)構(gòu)的編碼效率將顯著改變。圖4A圖示了具有四個系數(shù)0、0、5、0的塊50。圖4A圖示了響應(yīng)于第一所選樹結(jié)構(gòu)52的編碼,該樹結(jié)構(gòu)52具有單個非葉子節(jié)點(diǎn)56和在單個層級60中的四個葉子節(jié)點(diǎn)58a-58d。此編碼的輸出生成五個值的序列1、0、0、5、0。在圖4C中,不同的樹結(jié)構(gòu)50被選擇,其具有根62,在第一層級70 上具有葉子66a (0系數(shù))和非葉子64,并且在第二層級68上具有葉子66b (0)、66c (5)和 66d(0)。響應(yīng)于葉子66c中的系數(shù)的非零值,系數(shù)組無法在不引入錯誤的情況下被跳過,并且非葉子64被用1(指示其葉子必須被包括在編碼中)編碼。使用此樹的編碼生成六個輸出1、0、1、0、5、0,并且與圖4B的相比效率較低。從以上討論顯然可見使用不適合塊內(nèi)的幾何關(guān)系的樹結(jié)構(gòu)導(dǎo)致低效率的塊編碼。本發(fā)明提供針對任何給定塊的從多個候選中對樹結(jié)構(gòu)的恰當(dāng)選擇以確保該塊的高效編碼。4、利用樹的SPRIGHT解碼在解碼圖像塊時,解碼器必須確定塊曾是如何被確定的并且從多個候選樹結(jié)構(gòu)中選擇恰當(dāng)?shù)臉浣Y(jié)構(gòu)。解碼器優(yōu)選地接收關(guān)于哪種樹結(jié)構(gòu)被用于編碼每個塊的信息,例如接收在編碼期間使用的樹結(jié)構(gòu)的索引。一旦恰當(dāng)?shù)臉浔粡亩鄠€候選樹中選出,樹就在解碼期間被利用與編碼處理相兼容的技術(shù)進(jìn)行遍歷,例如利用樹的廣度優(yōu)先遍歷(BFT)。如果當(dāng)前節(jié)點(diǎn)是樹的葉子,則符號被從比特流中解碼,并且解碼后的符號的值被指派給相應(yīng)的系數(shù)。相反,如果當(dāng)前節(jié)點(diǎn)不是葉子,則一個比特被從比特流中讀出并且被操作;如果該比特是1,則處理繼續(xù),然而如果是0,則當(dāng)前節(jié)點(diǎn)的所有子孫節(jié)點(diǎn)的值被設(shè)定為0并且它們被從樹中丟棄。5、零聚集(Zero ClusterinR)從前述討論可見,本發(fā)明的編碼增益主要響應(yīng)于零聚集而得到,其中從變換編碼產(chǎn)生的零被聚集到組中,并且使得單個零存在于它們相應(yīng)的非葉子節(jié)點(diǎn)中。相反,如果零只能由非零來分裂,則得不到比特節(jié)省。很容易認(rèn)識到,變換編碼通常產(chǎn)生許多零,并且這些零可能是彼此相鄰的。這些系數(shù)可以以許多不同的方式成為鄰居,包括(1)空間位置,從而它們可以是同一DWT子頻帶中的相鄰系數(shù);或者(2)頻譜位置,從而它們可以是相鄰的DCT系數(shù)。本發(fā)明通過基于塊內(nèi)系數(shù)的關(guān)系來針對每個塊選擇特定的樹結(jié)構(gòu),來利用此特性。6、樹設(shè)計
此部分說明可用于被編碼的不同塊的不同樹結(jié)構(gòu)。圖5圖示出在選擇用于編碼塊的樹結(jié)構(gòu)之前對像素塊執(zhí)行哈爾變換。應(yīng)理解,可使用提供類似結(jié)果的其他塊變換(例如DCT)而不會背離本發(fā)明的教導(dǎo)。在所示出的簡單的2X2示例中,響應(yīng)于塊72的像素a-d,塊74的結(jié)果系數(shù)A-D被生成如下A= (a+b+c+d) /2B = (a-b+c-d) /2C = (a+b-c-d) /2D = (a-b-c+d) /2考慮塊的以下模式(pattern)Α.塊是平坦的。a b c d — B、C、D在量化后很可能是零。B.塊是水平邊緣化(edged)的。a b,c d — B、D在量化后很可能是零。C.塊是垂直邊緣化的。a c,b d —C、D在量化后很可能是零。D.塊是嘈雜(noisy)的。在{A,B, C,D}中幾乎沒有零。以上,可看到像素之間的某些幾何關(guān)系,它們可被轉(zhuǎn)化為變換系數(shù)之間的2D關(guān)系。通過與以上相同的方法,應(yīng)理解,在塊內(nèi)可認(rèn)識到其他幾何關(guān)系,比如對角線1(例如 +45° )、對角線2(例如-45° )等等,尤其是考慮到使用超出在此作為示例使用的2X2的塊大小的塊大小時。圖6A-6D圖示出可響應(yīng)于塊內(nèi)發(fā)現(xiàn)的頻譜模式而被選擇的四種示例樹結(jié)構(gòu)。應(yīng)理解,樹結(jié)構(gòu)可針對不同的塊大小和不同的變換而不同。可根據(jù)需要在線或離線確定這些樹結(jié)構(gòu)。如果被離線創(chuàng)建,則它們被存儲并且基于塊內(nèi)的幾何模式而被選擇供使用,而如果被在線創(chuàng)建,則它們必須基于已經(jīng)重構(gòu)的塊的過去統(tǒng)計特性而被創(chuàng)建以避免將樹結(jié)構(gòu)作為附帶信息(side information)發(fā)送給解碼器。對大多數(shù)應(yīng)用而言,離線創(chuàng)建可能是更為優(yōu)選的方法,因為它在編碼和解碼時都需要更少的計算。圖6A圖示了針對平坦的幾何結(jié)構(gòu)優(yōu)化的樹76。樹76具有根節(jié)點(diǎn)84,其下是葉子節(jié)點(diǎn)88a (A)和非葉子節(jié)點(diǎn)86。在非葉子節(jié)點(diǎn)86下面是三個葉子節(jié)點(diǎn)88b (B) ,88c (C)和 88d(D)。因此,兩個層級90、100處于根層級84之下。圖6B圖示了針對水平的幾何結(jié)構(gòu)優(yōu)化的樹78。樹78具有根節(jié)點(diǎn)102,其下是葉子節(jié)點(diǎn)106a (A)、106c (C)和非葉子節(jié)點(diǎn)104。存在于非葉子節(jié)點(diǎn)104下面的是兩個葉子節(jié)點(diǎn)106b (B)和106d(D)。因此,兩個層級108、110處于根層級102之下。圖6C圖示了針對垂直的幾何結(jié)構(gòu)優(yōu)化的樹80。樹80具有根節(jié)點(diǎn)112,其下是葉子節(jié)點(diǎn)116a (A)、l 16b (B)和非葉子節(jié)點(diǎn)114。存在于非葉子節(jié)點(diǎn)114下面的是兩個葉子節(jié)點(diǎn)116c (C)和116d(D)。因此,兩個層級118、120處于根層級112之下。圖6D圖示了針對嘈雜塊優(yōu)化的樹82。樹82具有單個非葉子(根)節(jié)點(diǎn)122和在相同層級126處的四個葉子節(jié)點(diǎn)lMa-124d (A-D)。7、嵌入式編碼中的SPRIGHT
此部分描述了在具有任意希望數(shù)目的位平面的嵌入式編碼中使用本發(fā)明的實施例。假設(shè)存在N個位平面,其索引是N-I,...,2,1,0 (當(dāng)從MSB到LSB考慮時)。在位平面上執(zhí)行初始化,例如LIC = Φ ;(不重要系數(shù)的列表)LIS =根;(不重要集合的列表)LSC = Φ ;(重要系數(shù)的列表)k = N-I ;當(dāng)k彡0時,執(zhí)行閾值=2k;處理LIC;處理LIS;處理LSC;K = k-Ι ;位平面的編碼可以在任何希望時刻被停止,例如響應(yīng)于比特預(yù)算的耗盡??梢岳斫猓鶕?jù)本發(fā)明的SPRIGHT裝置和方法能夠在嵌入式或非嵌入式模式中工作,比如以與其他編碼方法(包括嵌入式零樹小波(EZW)和多級樹中的集合分裂(SPIHT))的方式類似的方式。根據(jù)本發(fā)明實施例的SPRIGHT的輸出編碼優(yōu)選地是作為二進(jìn)制流,可利用算術(shù)編碼對其進(jìn)行進(jìn)一步編碼,或者簡單地將其如其原樣地發(fā)送。將編碼“如其原樣地”發(fā)送使得在僅犧牲少量編碼效率的同時顯著降低了復(fù)雜度。此外,在編碼器和解碼器之間的其他形式的信令可被執(zhí)行,比如轉(zhuǎn)換類型和/或樹索引??衫弥T如已經(jīng)描述了的算術(shù)編碼之類的壓縮編碼的形式來減小由這些附加信號所代表的開銷。處理不重要系數(shù)的列表(LIC)。對于LIC中的每個系數(shù)X,執(zhí)行如果|x| <閾值,則輸出0否則,輸出1;以及在χ > 0的情況下輸出1,或者在χ < 0的情況下輸出0 ;從LIC中刪除X,將其添加到LSC。處理不重要集合的列表(LIS)。對于LIS中的每個集合S,執(zhí)行如果對于s中的所有χ都成立|x| <閾值,則輸出0;否則,輸出1;以及從LIS中刪除S。處理s 的后代(offspring)。對于s的每個后代0,執(zhí)行如果ο是葉子,則執(zhí)行與處理LIC相同的操作;如果ο不是葉子,將其添加到LIS。處理LSC。對于LSC中的每個系數(shù),執(zhí)行
如果在當(dāng)前的位平面處它僅被添加到LSC,則跳過它;否則,輸出mod(|x| >>k,2)。8、總結(jié)的SPRIGHT裝置和方法熵編碼的傳統(tǒng)方法使用單個算法來進(jìn)行編碼,因此并不基于被編碼的塊的幾何結(jié)構(gòu)來選擇編碼的形式。將理解,傳統(tǒng)方法通過依賴于固定的編碼方法來執(zhí)行編碼,比如將單個固定的樹用于EZW和SPIHT中,以編碼當(dāng)前塊。圖7圖示出耦合到解碼器的編碼器的簡化框圖130。原始圖像數(shù)據(jù)132在編碼器裝置134處被接收,該編碼器裝置134接收關(guān)于從多個候選樹中對樹類型進(jìn)行選擇的判決 136。雖然被圖示為獨(dú)立信號,但是將理解,此選擇信號功能136優(yōu)選地作為編碼器的一部分被執(zhí)行。編碼器的比特流輸出138在解碼器140處被接收,該解碼器同樣接收樹類型選擇信號136,并輸出解碼后的數(shù)據(jù)142。在本發(fā)明中,普通的編碼器裝置和普通的解碼器裝置被用于響應(yīng)于被編碼的塊的幾何結(jié)構(gòu)來執(zhí)行多個基于樹的編碼操作。如所示出的,編碼器和解碼器基于塊的幾何結(jié)構(gòu)來選擇在對塊進(jìn)行編碼時要使用的樹結(jié)構(gòu)。將理解,響應(yīng)于選擇了哪種樹,SPRIGHT可以為給定塊提供與EZW/SPIHT或其他已知編碼技術(shù)相同的輸出。應(yīng)理解,本發(fā)明的實施例還允許使用非傳統(tǒng)的樹來提高編碼效率。例如,樹結(jié)構(gòu)可被配置為適合圖像數(shù)據(jù)的局部統(tǒng)計特性。因為樹結(jié)構(gòu)是響應(yīng)于塊的特性而被選出的,所以對于給定塊而言很有針對性的樹結(jié)構(gòu)可被選出,然而該樹結(jié)構(gòu)如果在許多塊上被使用則可能提供十分低效率的編碼。圖8圖示出實施例150,該實施例150示出編碼器136和解碼器142的更多細(xì)節(jié)。 編碼器136被示出為包括計算機(jī)處理器(CPU) 152和存儲器154。應(yīng)理解,這些處理元件可被單一地實現(xiàn)或者被實現(xiàn)為多處理器,和/或通過任何希望的加速水平的硬件來實現(xiàn),而不會背離本發(fā)明的教導(dǎo)。可在處理器152上執(zhí)行的程序執(zhí)行對圖像源158的編碼156,包括執(zhí)行預(yù)測160、執(zhí)行變換162、量化164、樹選擇166和編碼168,以輸出編碼后的圖像數(shù)據(jù) (或信號)170。更具體地,響應(yīng)于塊中的系數(shù)之間的二維關(guān)系來執(zhí)行樹選擇,此后利用所選的樹來編碼塊。與其中在執(zhí)行編碼所使用的編碼算法內(nèi)樹結(jié)構(gòu)是固有的(固定的)實現(xiàn)方式相比,利用所選的樹結(jié)構(gòu)能夠提供大幅提高的編碼效率。解碼器142被示出為通過處理器元件172和存儲器174來類似地實現(xiàn),并且它還可以包括任何希望的處理元件并且與數(shù)字加速硬件組合而不會背離本發(fā)明的教導(dǎo)。響應(yīng)于程序的執(zhí)行,解碼處理176被執(zhí)行,其中信號170被接收并被解碼塊178解碼,該解碼塊178 在進(jìn)行解碼之前進(jìn)行樹結(jié)構(gòu)選擇180。解碼塊178的輸出然后被逆變換182并且圖像被按塊重構(gòu)184以產(chǎn)生最終的解碼后的圖像輸出186。樹選擇鏈接188被示出在編碼期間的樹選擇和解碼期間所使用的樹選擇之間以代表其中關(guān)于所選樹結(jié)構(gòu)的信息被傳送給解碼器142來確保它以數(shù)據(jù)被編碼的方式解碼數(shù)據(jù)的實施例。通常,關(guān)于所選樹結(jié)構(gòu)的信息將被并入到要發(fā)送給解碼器的編碼信號流的預(yù)定比特中。還應(yīng)理解,針對給定塊的樹結(jié)構(gòu)的傳送可作為從編碼器到解碼器的比特被傳送,或者可替代地,來自編碼器的數(shù)據(jù)可以以將樹選擇通知給解碼器的方式被組織,或者解碼器可以以別的方式確定與編碼相兼容的解碼所要使用的樹結(jié)構(gòu)。 在所描述的示例實施例中,解碼器總是知道編碼給定塊所使用的樹結(jié)構(gòu)。例如,樹結(jié)構(gòu)被預(yù)編程到解碼器的可執(zhí)行程序中,或者在會話開始時由編碼器來通知。作為示例而非限制,圖8圖示了多個候選樹結(jié)構(gòu)的集合189(例如,可被選擇的垂直(V)、水平(H)、對角線Ist或2nd(D)和平坦(F))。當(dāng)進(jìn)行BFT時,解碼器首先區(qū)分當(dāng)前節(jié)點(diǎn)是否是葉子,然后當(dāng)它是非葉子時從比特流中讀取BIT,或者針對葉子從流中讀取符號。取決于它是如何被編碼的(例如使用指數(shù)哥倫布(exp-golomb)編碼),符號可以包括一個或多個比特。圖9圖示出根據(jù)本發(fā)明的編碼方法的實施例。傳入圖像被劃分為塊190,被利用所選變換去相關(guān)192,并且被利用變換系數(shù)量化194。在步驟196,塊內(nèi)的2D關(guān)系被確定。在步驟198,響應(yīng)于所確定的2D關(guān)系,樹結(jié)構(gòu)被選擇,所確定的2D關(guān)系可以被單獨(dú)使用,或者可選地與關(guān)于其他塊或圖像本身的附加信息(比如圖像特性)組合使用,來選擇如步驟200 所示的對塊進(jìn)行編碼所使用的最優(yōu)的樹。應(yīng)注意,對去相關(guān)變換的選擇和從多個候選中對樹結(jié)構(gòu)的選擇可以是互相關(guān)的。應(yīng)理解,基于所選樹結(jié)構(gòu)的塊編碼優(yōu)選地遵循樹內(nèi)的模式,該模式與解碼器相兼容,比如利用預(yù)定的樹遍歷模式(未示出)。例如,在本發(fā)明的至少一個實施例中,樹結(jié)構(gòu)的廣度優(yōu)先遍歷(BFT)被執(zhí)行,其中系數(shù)在向下前進(jìn)到下一較低層級之前在給定方向上填充樹的每一層級。用于傳送要由解碼器使用的關(guān)于所選樹結(jié)構(gòu)的信息(例如索引)的可選步驟204被示出。圖10圖示出根據(jù)本發(fā)明的解碼方法的實施例。在對塊進(jìn)行解碼之前,解碼器確定當(dāng)前塊是如何被編碼的210,該確定優(yōu)選地基于關(guān)于哪種樹結(jié)構(gòu)被用于對當(dāng)前塊進(jìn)行編碼的、諸如索引之類的來自編碼器的接收信息。遵循與編碼相兼容的模式來執(zhí)行解碼。在本示例實施例中,到所有現(xiàn)存非零分支的樹的廣度優(yōu)先遍歷(BFT)被執(zhí)行212 ;使得葉子被解碼為系數(shù)214,并使“零”(空)非葉子被解碼為零系數(shù)216。一旦所有系數(shù)被恰當(dāng)?shù)鼗謴?fù), 解碼器就前進(jìn)到反量化218、逆變換220和重構(gòu)222。這里稱作SPRIGHT的本裝置和方法提供針對圖像/視頻數(shù)據(jù)的基于熵的編碼和解碼。在編碼處理期間,優(yōu)選地基于塊的幾何結(jié)構(gòu)(或者等同地塊中系數(shù)之間的2D關(guān)系),樹結(jié)構(gòu)被從多個候選中選出,并且響應(yīng)于所選的樹,塊被編碼。在編碼處理中,零系數(shù)(即,在量化期間變?yōu)榱愕牧阆禂?shù))的集群可從編碼后的輸出中被除去(eliminate)。在解碼處理中,由編碼器使用的樹結(jié)構(gòu)被確定,并且解碼器基于所選樹結(jié)構(gòu)來將編碼后的數(shù)據(jù)轉(zhuǎn)換回塊系數(shù),同時替換(恢復(fù))零系數(shù)。響應(yīng)于對樹結(jié)構(gòu)的恰當(dāng)選擇,系統(tǒng)的整體編碼效率能夠被提高。本發(fā)明的教導(dǎo)可被應(yīng)用于各種圖像/視頻編碼和解碼系統(tǒng),并且可被應(yīng)用于嵌入式或非嵌入式模式二者中。在嵌入式模式中,本發(fā)明提供可在任何地方被停止的完全嵌入的比特流,并且其可被利用而無需諸如哈夫曼(huffman)編碼或算術(shù)編碼之類的復(fù)雜熵編碼方法。本發(fā)明提供了用于在圖像/視頻處理設(shè)備中執(zhí)行熵編碼和解碼的方法和裝置。發(fā)明性教導(dǎo)可被應(yīng)用于各種裝置和應(yīng)用,包括嵌入式和非嵌入式圖像/視頻編碼二者等等??梢姡虼?,本發(fā)明例如包括以下發(fā)明性實施例1. 一種用于圖像或視頻編碼器內(nèi)的自適應(yīng)熵編碼的裝置,包括被配置用于圖像 /視頻編碼的計算機(jī);耦合到所述計算機(jī)的存儲器;以及可在所述計算機(jī)上執(zhí)行的程序,用于執(zhí)行以下步驟將圖像或視頻幀劃分為塊,利用變換對每個塊進(jìn)行去相關(guān),量化變換系數(shù),響應(yīng)于對圖像的像素塊內(nèi)的幾何關(guān)系的確定,從多個候選中選擇希望的樹結(jié)構(gòu),以及響應(yīng)于所選擇的樹結(jié)構(gòu),利用零系數(shù)的聚集來對塊進(jìn)行編碼;其中,響應(yīng)于使得所述所選擇的樹結(jié)構(gòu)中的非葉子節(jié)點(diǎn)表示相應(yīng)的葉子節(jié)點(diǎn)僅包含零系數(shù)并且不將這些子孫葉子節(jié)點(diǎn)編碼到由所述裝置生成的編碼后輸出的比特流中,零系數(shù)的部分被從編碼后的輸出中去除。2.根據(jù)權(quán)利要求1所述的裝置,其中,所述對塊進(jìn)行編碼是響應(yīng)于根據(jù)樹結(jié)構(gòu)的預(yù)定遍歷的所選擇樹結(jié)構(gòu)而被執(zhí)行的。3.根據(jù)權(quán)利要求1所述的裝置其中,所述樹結(jié)構(gòu)具有指定布置中的葉子和非葉子節(jié)點(diǎn);并且其中,包含系數(shù)的一個或多個葉子節(jié)點(diǎn)被與每個非葉子節(jié)點(diǎn)相關(guān)聯(lián)。4.根據(jù)權(quán)利要求1所述的裝置,其中,通過指示出每個非葉子節(jié)點(diǎn)的子孫葉子節(jié)點(diǎn)是全都包含零系數(shù)還是不全都包含零系數(shù)的比特,來表示每個非葉子節(jié)點(diǎn)的狀態(tài)。5.根據(jù)權(quán)利要求1所述的裝置,其中,樹結(jié)構(gòu)的集合被保留在編碼器中,并且被配置用于允許樹結(jié)構(gòu)中的一種樹結(jié)構(gòu)響應(yīng)于所述對樹結(jié)構(gòu)的選擇而被選出。6.根據(jù)權(quán)利要求1所述的裝置,其中,能夠被識別的塊內(nèi)的所述幾何關(guān)系是從包括平坦、嘈雜、水平、垂直、+45°對角線、-45°對角線的幾何塊關(guān)系的組中被選出的。7.根據(jù)權(quán)利要求1所述的裝置,還包括可在所述計算機(jī)上執(zhí)行的用于將關(guān)于當(dāng)對圖像的塊進(jìn)行去相關(guān)時使用了哪種變換的信息提供給解碼器的程序。8.根據(jù)權(quán)利要求1所述的裝置,還包括可在所述計算機(jī)上執(zhí)行的用于將關(guān)于在對圖像的每個塊進(jìn)行編碼時選擇了哪種樹結(jié)構(gòu)的信息提供給解碼器的程序。9.根據(jù)權(quán)利要求1所述的裝置,還包括可在所述計算機(jī)上執(zhí)行的用于執(zhí)行以下步驟的程序?qū)㈥P(guān)于選擇了哪種樹結(jié)構(gòu)以供用于編碼圖像的每個塊的信息提供給解碼器,其中,所述信息包括傳送所述所選擇的樹結(jié)構(gòu)的至少一個索引給被配置用于接收編碼后圖像的解碼器。10.根據(jù)權(quán)利要求1所述的裝置,其中,所述幾何關(guān)系包括被編碼的當(dāng)前塊中系數(shù)之間的二維關(guān)系。11.根據(jù)權(quán)利要求1所述的裝置,還包括可在所述計算機(jī)上執(zhí)行的用于在變換之前的塊間預(yù)測或?qū)K的預(yù)濾波的程序。12.根據(jù)權(quán)利要求1所述的裝置,其中所述塊能夠具有任何希望的形狀和大小,包括從含有4X4、8X8、16X 16和32X 32的系數(shù)塊的塊大小的組中選出的塊大小。13.根據(jù)權(quán)利要求1所述的裝置,還包括可在所述計算機(jī)上執(zhí)行的用于在被配置用于非嵌入式編碼的圖像編碼器內(nèi)執(zhí)行自適應(yīng)熵編碼的程序。14.根據(jù)權(quán)利要求1所述的裝置,還包括可在所述計算機(jī)上執(zhí)行的用于在被配置用于嵌入式編碼的圖像編碼器內(nèi)執(zhí)行自適應(yīng)熵編碼的程序,在嵌入式編碼中,在任意希望數(shù)目的位平面間執(zhí)行編碼并且能夠以任意希望的編碼速率來停止編碼。15.根據(jù)權(quán)利要求1所述的裝置,其中,響應(yīng)于針對編碼后的圖像流在比特預(yù)算內(nèi)進(jìn)行擬合,所述編碼被執(zhí)行到希望的編碼速率。16.根據(jù)權(quán)利要求1所述的裝置,其中,所述變換包括頻譜變換。17.根據(jù)權(quán)利要求1所述的裝置,其中,所述變換包括離散小波變換(DWT)或離散余弦變換(DCT),或者任何重疊的變換。18. 一種用于對圖像進(jìn)行自適應(yīng)熵編碼和解碼的系統(tǒng),包括被配置用于圖像編碼的具有處理元件和存儲器的編碼器;在所述編碼器的處理元件上可執(zhí)行的用于執(zhí)行以下步驟的程序?qū)D像或視頻幀劃分為塊,利用變換對每個塊進(jìn)行去相關(guān),量化變換系數(shù),響應(yīng)于對圖像的塊內(nèi)的幾何關(guān)系的確定,從多個候選的集合中選擇樹結(jié)構(gòu),以及響應(yīng)于所選擇的樹結(jié)構(gòu),利用零系數(shù)的聚集來對塊進(jìn)行編碼;其中,響應(yīng)于使得所述所選擇的樹結(jié)構(gòu)中的非葉子節(jié)點(diǎn)表示相應(yīng)的葉子節(jié)點(diǎn)僅包含零系數(shù)并且不將這些子孫葉子節(jié)點(diǎn)編碼到去向解碼器的輸出比特流中,零系數(shù)的部分被從編碼后的輸出中去除;被配置用于對來自所述編碼器的圖像流進(jìn)行圖像解碼的具有處理元件和存儲器的解碼器;在所述解碼器的處理元件上可執(zhí)行的用于響應(yīng)于執(zhí)行以下步驟來輸出圖像信號的程序確定在對塊進(jìn)行編碼時由所述編碼器選擇的樹結(jié)構(gòu),將樹結(jié)構(gòu)的葉子解碼為輸出中的系數(shù),響應(yīng)于對沒有非零分支的非葉子節(jié)點(diǎn)進(jìn)行解碼,在輸出中輸出零系數(shù),對輸出執(zhí)行反量化,對輸出執(zhí)行逆變換,響應(yīng)于對輸出的接收來重構(gòu)圖像信號。19.根據(jù)權(quán)利要求18所述的系統(tǒng),其中所述對塊進(jìn)行編碼是響應(yīng)于根據(jù)樹結(jié)構(gòu)的預(yù)定遍歷的所選擇樹結(jié)構(gòu)而被執(zhí)行的。20. 一種用于圖像編碼器內(nèi)的自適應(yīng)熵編碼的方法,包括以下步驟將圖像或視頻幀劃分為塊,利用頻譜變換對每個塊進(jìn)行去相關(guān),量化變換系數(shù),響應(yīng)于對圖像的塊內(nèi)的二維幾何關(guān)系的確定,從多個候選中選擇樹結(jié)構(gòu),以及響應(yīng)于所選擇的樹結(jié)構(gòu),在聚集零系數(shù)的同時對塊進(jìn)行編碼;其中,響應(yīng)于使得所述所選擇的樹結(jié)構(gòu)中的非葉子節(jié)點(diǎn)表示其相應(yīng)的葉子節(jié)點(diǎn)僅包含零系數(shù),零系數(shù)的部分被從編碼后的輸出中去除。盡管以上描述包含許多細(xì)節(jié),但是這些細(xì)節(jié)不應(yīng)被解釋為限制本發(fā)明的范圍而應(yīng)被解釋為僅僅提供對本發(fā)明的一些目前優(yōu)選的實施例的說明。因此,將理解,本發(fā)明的范圍完全包括對于本領(lǐng)域技術(shù)人員而言可能變得顯而易見的其他實施例,以及本發(fā)明的范圍因此將僅由隨附的權(quán)利要求書而非任何其他事物來限定,在權(quán)利要求書中,提到單數(shù)的元件并非意欲表示“一個且僅一個”(除非明確地如此陳述)而是表示“一個或多個”。本領(lǐng)域普通技術(shù)人員已知的、上述優(yōu)選實施例中的要素的結(jié)構(gòu)和功能等同物通過引用被清楚地結(jié)合于此并且意欲被本權(quán)利要求書所包括。此外,設(shè)備或方法并非必須解決本發(fā)明所要努力解決的每個以及所有問題,因為它要被本權(quán)利要求書所包括。此外,本公開中的任何要素、 組件或方法步驟都不意欲貢獻(xiàn)給公眾,無論要素、組件或方法步驟是否被清楚地記載于權(quán)利要求書中。這里的任何的權(quán)利要求要素都不在35U. S. C. 112第六款的規(guī)定下進(jìn)行解釋, 除非要素被使用短語“用于...的裝置(means for)”清楚地記載。
權(quán)利要求
1.一種用于圖像或視頻編碼器內(nèi)的自適應(yīng)熵編碼的裝置,包括 被配置來進(jìn)行圖像/視頻編碼的計算機(jī);耦合到所述計算機(jī)的存儲器;以及可在所述計算機(jī)上執(zhí)行的程序,用于執(zhí)行以下步驟 將圖像或視頻幀劃分為塊, 利用變換對每個塊進(jìn)行去相關(guān), 對變換系數(shù)進(jìn)行量化,響應(yīng)于對圖像的像素塊內(nèi)的幾何關(guān)系的確定,從多個候選中選擇希望的樹結(jié)構(gòu),以及響應(yīng)于所選擇的樹結(jié)構(gòu),利用零系數(shù)的聚集來對該塊進(jìn)行編碼; 其中,響應(yīng)于由所述所選擇的樹結(jié)構(gòu)中的非葉子節(jié)點(diǎn)表示相應(yīng)的葉子節(jié)點(diǎn)僅包含零系數(shù)并且不將這些子孫葉子節(jié)點(diǎn)編碼到由所述裝置生成的編碼后輸出的比特流中,零系數(shù)的一部分被從編碼后的輸出中去除。
2.根據(jù)權(quán)利要求1所述的裝置,其中,對該塊進(jìn)行的所述編碼是響應(yīng)于所選擇的樹結(jié)構(gòu)根據(jù)該樹結(jié)構(gòu)的預(yù)定遍歷而被執(zhí)行的。
3.根據(jù)權(quán)利要求1所述的裝置其中,所述樹結(jié)構(gòu)具有指定布置中的葉子和非葉子節(jié)點(diǎn);并且其中,包含系數(shù)的一個或多個葉子節(jié)點(diǎn)被與每個非葉子節(jié)點(diǎn)相關(guān)聯(lián)。
4.根據(jù)權(quán)利要求1所述的裝置,其中,通過下述比特來表示每個非葉子節(jié)點(diǎn)的狀態(tài)該比特指示出每個非葉子節(jié)點(diǎn)的子孫葉子節(jié)點(diǎn)是否包含全部的零系數(shù)。
5.根據(jù)權(quán)利要求1所述的裝置,其中,樹結(jié)構(gòu)的集合被保留在該編碼器中,并且被配置成使這些樹結(jié)構(gòu)中的一種樹結(jié)構(gòu)能夠響應(yīng)于對樹結(jié)構(gòu)的所述選擇而被選出。
6.根據(jù)權(quán)利要求1所述的裝置,其中,這些塊內(nèi)能夠被識別的所述幾何關(guān)系是從由下列項組成的幾何塊關(guān)系的組中選出的平坦、嘈雜、水平、垂直、+45°對角線、-45°對角線。
7.根據(jù)權(quán)利要求1所述的裝置,還包括可在所述計算機(jī)上執(zhí)行的下述程序該程序用于將關(guān)于當(dāng)對圖像的塊進(jìn)行去相關(guān)時使用了哪種變換的信息提供給解碼器。
8.根據(jù)權(quán)利要求1所述的裝置,還包括可在所述計算機(jī)上執(zhí)行的下述程序該程序用于將關(guān)于選擇了哪種樹結(jié)構(gòu)以供用于對圖像的每個塊進(jìn)行編碼的信息提供給解碼器。
9.根據(jù)權(quán)利要求1所述的裝置,還包括可在所述計算機(jī)上執(zhí)行的用于執(zhí)行以下步驟的程序?qū)㈥P(guān)于選擇了哪種樹結(jié)構(gòu)以供用于編碼圖像的每個塊的信息提供給解碼器, 其中,所述信息包括向被配置來接收編碼后圖像的解碼器傳送所述所選擇的樹結(jié)構(gòu)的至少一個索引。
10.根據(jù)權(quán)利要求1所述的裝置,其中,所述幾何關(guān)系包括當(dāng)前被編碼的塊中的系數(shù)之間的二維關(guān)系。
11.根據(jù)權(quán)利要求1所述的裝置,還包括可在所述計算機(jī)上執(zhí)行的下述程序該程序用于在變換之前的塊的預(yù)濾波或塊間預(yù)測。
12.根據(jù)權(quán)利要求1所述的裝置,其中,所述塊能具有任何希望的形狀和大小,包括從由下列塊大小組成的組中選出的塊大小4X4、8X8、16X16和32X32的系數(shù)塊。
13.根據(jù)權(quán)利要求1所述的裝置,還包括可在所述計算機(jī)上執(zhí)行的下述程序該程序用于在被配置來進(jìn)行非嵌入式編碼的圖像編碼器內(nèi)執(zhí)行自適應(yīng)熵編碼。
14.根據(jù)權(quán)利要求1所述的裝置,還包括可在所述計算機(jī)上執(zhí)行的下述程序該程序用于在被配置來進(jìn)行嵌入式編碼的圖像編碼器內(nèi)執(zhí)行自適應(yīng)熵編碼,在所述嵌入式編碼中, 編碼在任意希望數(shù)目的位平面間執(zhí)行并且能夠以任意希望的編碼速率來停止。
15.根據(jù)權(quán)利要求1所述的裝置,其中,響應(yīng)于針對編碼后的圖像流在比特預(yù)算內(nèi)進(jìn)行擬合,所述編碼被執(zhí)行到希望的編碼速率。
16.根據(jù)權(quán)利要求1所述的裝置,其中,所述變換包括頻譜變換。
17.根據(jù)權(quán)利要求1所述的裝置,其中,所述變換包括離散小波變換(DWT)或離散余弦變換(DCT),或者任何重疊的變換。
18.一種用于對圖像進(jìn)行自適應(yīng)熵編碼和解碼的系統(tǒng),包括 被配置來進(jìn)行圖像編碼的、具有處理元件和存儲器的編碼器;在所述編碼器的處理元件上可執(zhí)行的、用于執(zhí)行以下步驟的程序 將圖像或視頻幀劃分為塊, 利用變換對每個塊進(jìn)行去相關(guān), 對變換系數(shù)進(jìn)行量化,響應(yīng)于對圖像的塊內(nèi)的幾何關(guān)系的確定,從多個候選的集合中選擇樹結(jié)構(gòu),以及響應(yīng)于所選擇的樹結(jié)構(gòu),利用零系數(shù)的聚集來對該塊進(jìn)行編碼; 其中,響應(yīng)于由所述所選擇的樹結(jié)構(gòu)中的非葉子節(jié)點(diǎn)表示相應(yīng)的葉子節(jié)點(diǎn)僅包含零系數(shù)并且不將這些子孫葉子節(jié)點(diǎn)編碼到去往解碼器的輸出比特流中,零系數(shù)的一部分被從編碼后的輸出中去除;被配置成對來自所述編碼器的圖像流進(jìn)行圖像解碼的、具有處理元件和存儲器的解碼器;在所述解碼器的處理元件上可執(zhí)行的、用于響應(yīng)于執(zhí)行以下步驟而輸出圖像信號的程序確定在對該塊進(jìn)行編碼時由所述編碼器選擇的樹結(jié)構(gòu), 將該樹結(jié)構(gòu)的葉子解碼為輸出中的系數(shù),響應(yīng)于對沒有非零分支的非葉子節(jié)點(diǎn)進(jìn)行解碼,輸出該輸出中的零系數(shù), 對該輸出執(zhí)行反量化, 對該輸出執(zhí)行逆變換, 響應(yīng)于對該輸出的接收來重構(gòu)該圖像信號。
19.根據(jù)權(quán)利要求18所述的系統(tǒng),其中,對該塊進(jìn)行的所述編碼是響應(yīng)于所選擇的樹結(jié)構(gòu)根據(jù)該樹結(jié)構(gòu)的預(yù)定遍歷而被執(zhí)行的。
20.一種用于圖像編碼器內(nèi)的自適應(yīng)熵編碼的方法,包括以下步驟 將圖像或視頻幀劃分為塊;利用頻譜變換對每個塊進(jìn)行去相關(guān); 對變換系數(shù)進(jìn)行量化;響應(yīng)于對圖像的塊內(nèi)的二維幾何關(guān)系的確定,從多個候選中選擇樹結(jié)構(gòu);以及響應(yīng)于所選擇的樹結(jié)構(gòu),在聚集零系數(shù)的同時對該塊進(jìn)行編碼; 其中,響應(yīng)于由所述所選擇的樹結(jié)構(gòu)中的非葉子節(jié)點(diǎn)表示其相應(yīng)的葉子節(jié)點(diǎn)僅包含零系數(shù),來從編碼后的輸出中去除零系數(shù)的一部分。
全文摘要
本申請涉及用通用多級樹中的集合分裂針對圖像和視頻自適應(yīng)熵編碼,可應(yīng)用于嵌入式和非嵌入式編碼二者。在編碼期間的去相關(guān)和量化之后,基于圖像塊內(nèi)的幾何關(guān)系,樹結(jié)構(gòu)被從多個候選中選出用于編碼系數(shù)以改善系數(shù)零的聚集。樹結(jié)構(gòu)具有指定布置中的葉子和非葉子節(jié)點(diǎn),其中包含系數(shù)的葉子節(jié)點(diǎn)與每個非葉子節(jié)點(diǎn)相關(guān)聯(lián)。通過恰當(dāng)?shù)臉溥x擇,可從編碼后的輸出流中被去除的零聚集系數(shù)的個數(shù)增多。在解碼期間,與針對當(dāng)前塊的編碼相兼容的樹結(jié)構(gòu)被用來從符號流中解碼現(xiàn)有系數(shù)并恢復(fù)缺失的零系數(shù)。
文檔編號H04N7/30GK102396222SQ201080016608
公開日2012年3月28日 申請日期2010年6月8日 優(yōu)先權(quán)日2009年6月9日
發(fā)明者劉偉, 穆罕默德·格哈拉維-阿爾克漢薩利 申請人:索尼公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
武城县| 通海县| 石屏县| 洮南市| 衡东县| 汽车| 工布江达县| 西藏| 株洲市| 三穗县| 鲁甸县| 错那县| 达州市| 安阳市| 筠连县| 东阿县| 娄烦县| 通江县| 阳泉市| 巩义市| 乃东县| 呼伦贝尔市| 湟源县| 绩溪县| 邯郸县| 登封市| 绥阳县| 凤冈县| 阳朔县| 巴中市| 湘阴县| 道孚县| 上饶县| 周口市| 宁化县| 丹巴县| 聂荣县| 武乡县| 安丘市| 武胜县| 庄浪县|