用于對(duì)圖像編碼和解碼的方法、編碼和解碼設(shè)備以及相應(yīng)的計(jì)算機(jī)程序的制作方法
【專(zhuān)利摘要】本發(fā)明涉及一種編碼方法,包括:從可以包含屬于預(yù)定符號(hào)集的符號(hào)的多個(gè)塊(MB)切割出(C1)圖像,將所述塊分組(C2)為預(yù)定數(shù)量(P)的塊子集(SE1,SE2,...SEk,...,SEP),使用熵模塊,通過(guò)將數(shù)字信息與所述子集中的每個(gè)塊的符號(hào)進(jìn)行組合來(lái)對(duì)所考慮的塊子集中的每個(gè)進(jìn)行編碼(C3),所述編碼步驟包括:針對(duì)圖像的第一塊來(lái)初始化所述熵編碼模塊的狀態(tài)變量的子步驟(C33),然后生成表示所述被編碼的塊子集中的至少一個(gè)的至少一個(gè)數(shù)據(jù)子流。在當(dāng)前塊是所述塊子集中被編碼的第一塊的情形下,所述第一當(dāng)前塊的符號(hào)出現(xiàn)的概率是針對(duì)至少一個(gè)其他子集的預(yù)定編碼和解碼塊來(lái)確定的那些概率。在當(dāng)前單元是所考慮的子集中最后編碼的單元的情形下,在所考慮的所述子集中的塊的編碼期間與所述符號(hào)關(guān)聯(lián)的所有數(shù)字信息被寫(xiě)入(C45)到子流中,該子流至少表示所考慮的所述子集,并實(shí)現(xiàn)初始化子步驟(C46)。
【專(zhuān)利說(shuō)明】用于對(duì)圖像編碼和解碼的方法、編碼和解碼設(shè)備以及相應(yīng)的計(jì)算機(jī)程序
【技術(shù)領(lǐng)域】
[0001]本發(fā)明一般屬于圖像處理的領(lǐng)域,且更準(zhǔn)確地屬于數(shù)字圖像和數(shù)字圖像序列的編碼和解碼。
[0002]本發(fā)明由此可特別應(yīng)用于在目前的數(shù)字視頻編碼器(MPEG,H.264等)或未來(lái)的視頻編碼器(ITU-T/VCEG0L 265)或ISO / MPEG(HVC))中實(shí)現(xiàn)的視頻編碼。
【背景技術(shù)】
[0003]目前的視頻編碼器(MPEG、H264等)使用視頻序列的逐塊表示。圖像被分為宏塊,每個(gè)宏塊本身可以被分為塊,并且每個(gè)塊或宏塊通過(guò)圖像內(nèi)或圖像間預(yù)測(cè)來(lái)編碼。于是,特定的圖像通過(guò)空間預(yù)測(cè)(內(nèi)預(yù)測(cè))來(lái)編碼,而其他圖像在相對(duì)于一個(gè)或多個(gè)被編碼-解碼的參考圖像的時(shí)間預(yù)測(cè)(間預(yù)測(cè))、在本領(lǐng)域技術(shù)人員已知的運(yùn)動(dòng)補(bǔ)償?shù)膸椭逻M(jìn)行編碼。此外,針對(duì)每個(gè)塊,可以對(duì)與原始?jí)K減去預(yù)測(cè)相對(duì)應(yīng)的殘留塊進(jìn)行編碼。該塊的系數(shù)可以在變換之后被量化,然后被熵編碼器編碼。
[0004]內(nèi)預(yù)測(cè)和間預(yù)測(cè)需要之前已經(jīng)被編碼和解碼的特定塊可用,從而在解碼器上或在編碼器上被用于預(yù)測(cè)當(dāng)前塊。圖1示出了這樣的預(yù)測(cè)編碼的示例性例子,其中,圖像1,被分為塊,該圖像的當(dāng)前塊MBi正在關(guān)于預(yù)訂數(shù)量的之前被編碼和解碼的塊MBrpMBr2和MBr3進(jìn)行預(yù)測(cè)編碼,例如如陰影箭頭所示。上述三個(gè)塊特別包含緊接當(dāng)前塊MBi左側(cè)的塊MBr1,以及分別僅緊接當(dāng)前塊MBi上方和右上方的兩個(gè)塊MBr2和MBr3。
[0005]熵編碼器在這里更為感興趣。熵編碼器以其到達(dá)的順序來(lái)編碼信息。典型地實(shí)現(xiàn)“光柵掃描”類(lèi)型的塊的逐行遍歷,如圖1所示通過(guò)引用PRS,從圖像左上角的塊開(kāi)始。對(duì)于每個(gè)塊,用來(lái)表示塊所必須的各個(gè)信息項(xiàng)(塊的類(lèi)型、預(yù)測(cè)模式、殘留系數(shù)等)被順序分發(fā)到熵編碼器。
[0006]已知在AVC壓縮標(biāo)準(zhǔn)(也被稱(chēng)為IS0-MPEG4第10部分和ITU-T H.264)中引入的被稱(chēng)為“CABAC”(上下文適應(yīng)二進(jìn)制算術(shù)編碼器)的足夠復(fù)雜的有效的算術(shù)編碼器。
[0007]熵編碼器實(shí)現(xiàn)各個(gè)概念:
[0008]-算術(shù)編碼:編碼器例如初始在文檔J.Rissanen and G.G.Langdon Jr,“Universal modeling and coding,,,IEEE Trans.1nform.Theory, vol.1T-27, pp.12-23,Jan.1981中描述的編碼器使用符號(hào)出現(xiàn)概率來(lái)對(duì)該符號(hào)進(jìn)行編碼;
[0009]-上下文適應(yīng):在這里,這包括適應(yīng)要編碼的符號(hào)的出現(xiàn)概率。一方面,快速實(shí)現(xiàn)學(xué)習(xí)。另一方面,依賴(lài)于之前被編碼的信息的狀態(tài),特定的上下文被用于編碼。對(duì)于每個(gè)上下文,存在固有的符號(hào)出現(xiàn)概率與之對(duì)應(yīng)。例如,上下文對(duì)應(yīng)于根據(jù)給定配置來(lái)編碼的符號(hào)的類(lèi)型(殘留系數(shù)的表示、編碼模式的信號(hào)等),或者鄰居的狀態(tài)(例如在鄰居中選擇的“內(nèi)”模式的數(shù)量等)。
[0010]-二進(jìn)制化:實(shí)現(xiàn)要編碼的符號(hào)的比特序列的成形。隨后,這些各個(gè)比特被相繼分發(fā)到二進(jìn)制熵編碼器。[0011]于是,針對(duì)使用的每個(gè)上下文,該熵編碼器實(shí)現(xiàn)一種系統(tǒng),針對(duì)所考慮的上下文來(lái)快速學(xué)習(xí)關(guān)于之前被編碼的符號(hào)的概率。該學(xué)習(xí)基于對(duì)這些符號(hào)進(jìn)行編碼的順序。典型地,根據(jù)如上所述的“光柵掃描”類(lèi)型的順序來(lái)遍歷圖像。
[0012]在可以是O或I的給定符號(hào)b的編碼期間,通過(guò)下列方式來(lái)更新當(dāng)前塊MBi的該
符號(hào)的出現(xiàn)概率Pi的學(xué)習(xí):
[0013]
【權(quán)利要求】
1.一種對(duì)至少一個(gè)圖像進(jìn)行編碼的方法,包括下列步驟: -將圖像分割(Cl)為可以包含屬于預(yù)定符號(hào)集的符號(hào)的多個(gè)塊(MB), -將塊分組(C2)為預(yù)定數(shù)量(P)的塊子集(SEl,SE2,...SEk, , SEP), -通過(guò)熵編碼模塊,通過(guò)將數(shù)字信息與所考慮的子集中的每個(gè)塊的符號(hào)進(jìn)行關(guān)聯(lián)來(lái)對(duì)所述塊子集中的每個(gè)進(jìn)行編碼(C3),所述編碼步驟包括針對(duì)圖像的第一塊來(lái)初始化所述熵編碼模塊的狀態(tài)變量的子步驟(C33), -生成(C4)表示所述被編碼的塊子集中的至少一個(gè)(SEl)的至少一個(gè)數(shù)據(jù)子流(Fl),所述編碼方法的特征在于: -在當(dāng)前塊是所考慮的子集中要被編碼的第一塊的情形下,確定(C42)所述第一當(dāng)前塊的符號(hào)出現(xiàn)的概率,所述概率是針對(duì)至少一個(gè)其他子集的編碼和解碼的預(yù)定塊而已經(jīng)確定的那些概率, -在當(dāng)前塊是所考慮的子集中最后編碼的塊的情形下: 籲將在所考慮的所述子集中的塊的編碼期間與所述符號(hào)關(guān)聯(lián)的所有數(shù)字信息被寫(xiě)入(C45)到子流中,該子流表示至少所考慮的所述子集, ?實(shí)現(xiàn)(C46)所述初始化子步驟。
2.如權(quán)利要求1所要求的編碼方法,在其過(guò)程中,所述塊子集(SE1,SE2,...,SEk,...,SEP)被順序或并行地編碼。
3.如權(quán)利要求2所要求的編碼方法,在其過(guò)程中,當(dāng)至少兩個(gè)塊子集(SE1、SE3)與至少一個(gè)其他的塊子集(SE2)并行編碼時(shí),所述至少兩個(gè)被編碼的塊子集被包含在相同的數(shù)據(jù)子流(F2N+1)中。
4.如權(quán)利要求1到3中任一個(gè)所要求的編碼方法,在其過(guò)程中,當(dāng)所述被編碼的塊子集想要以預(yù)定的順序來(lái)并行編碼時(shí),在對(duì)所述塊子集中的每個(gè)分別編碼之后傳送的數(shù)據(jù)子流在為了解碼而被發(fā)送之前首先根據(jù)所述預(yù)定順序來(lái)排序。
5.一種對(duì)至少一個(gè)圖像進(jìn)行編碼的設(shè)備(CO),包括: -將圖像分割為多個(gè)塊(MB)的裝置(PCO),該多個(gè)塊可以包含屬于預(yù)定符號(hào)集的符號(hào), -用于將所述塊分組為預(yù)定數(shù)量(P)的塊子集的裝置(GRCO), -對(duì)所述塊子集中的每個(gè)進(jìn)行編碼的裝置(UC ;UC1,UC2,...,UCk,...,UCP),所述編碼裝置包括熵編碼模塊(MCE ;MCEk),其能夠?qū)?shù)字信息與所考慮的子集中的每個(gè)塊的符號(hào)相關(guān)聯(lián),所述編碼裝置包含針對(duì)圖像中的第一塊來(lái)初始化所述熵編碼模塊的狀態(tài)變量的子裝置, -用于生成表示所述被編碼的塊子集中的至少一個(gè)的至少一個(gè)數(shù)據(jù)子流(Fl)的裝置(MGSF ;MGSFk),所述編碼設(shè)備的特征在于它包括: -用于確定當(dāng)前塊的符號(hào)出現(xiàn)的概率的裝置,在當(dāng)前塊是所考慮的子集中要被編碼的第一塊的情形下,該裝置確定所述第一塊的符號(hào)出現(xiàn)的概率為針對(duì)至少一個(gè)其他子集的編碼和解碼的預(yù)定塊所已經(jīng)確定的那些概率, -寫(xiě)入裝置,在當(dāng)前塊是所考慮的所述子集中的最后編碼的塊的情形下,其被激活以將在所考慮的所述子集中的塊的編碼期間已經(jīng)與所述符號(hào)關(guān)聯(lián)的所有數(shù)字信息寫(xiě)入到子流中,該子流至少表示所考慮的所述子集, 所述初始化子裝置還被激活以重新初始化所述熵編碼模塊的狀態(tài)變量。
6.一種包含指令的計(jì)算機(jī)程序,當(dāng)其在計(jì)算機(jī)上執(zhí)行時(shí),用于實(shí)現(xiàn)如權(quán)利要求1到4中任一個(gè)所要求的編碼方法。
7.一種可被計(jì)算機(jī)讀取的記錄介質(zhì),在其上記錄了包含指令的計(jì)算機(jī)程序,用于當(dāng)所述程序被計(jì)算機(jī)執(zhí)行時(shí)執(zhí)行如權(quán)利要求1到4中任一個(gè)所要求的編碼方法的步驟。
8.一種用于對(duì)表示至少一個(gè)被編碼的圖像的流(F)進(jìn)行解碼的方法,包括下列步驟: -在所述流中識(shí)別(Dl)與要解碼的至少一個(gè)塊子集分別對(duì)應(yīng)的預(yù)定數(shù)量的數(shù)據(jù)子流(Fl, F2,...,F(xiàn)m,...,F(xiàn)L),所述塊能夠包含屬于預(yù)定符號(hào)集的符號(hào), -通過(guò)熵解碼模塊,通過(guò)在至少一個(gè)所述被識(shí)別的子流中讀取與對(duì)應(yīng)于該至少一個(gè)被識(shí)別的子流的子集中的每個(gè)塊的符號(hào)相關(guān)聯(lián)的數(shù)字信息,來(lái)對(duì)所述被識(shí)別的塊子集進(jìn)行解碼(D2),所述解碼步驟包括針對(duì)圖像中要解碼的第一塊來(lái)初始化所述熵解碼模塊的狀態(tài)變量的子步驟(D23), 所述解碼方法的特征在于: -在當(dāng)前塊是所考慮的子集中要被解碼的第一塊的情形下,確定(D32)所考慮的所述子集中的第一塊的符號(hào)出現(xiàn)概率,該概率是針對(duì)至少一個(gè)其他子集的被解碼的預(yù)定塊而已經(jīng)確定的那些概率, -在當(dāng)前塊是所考慮的子集中最后解碼的塊的情形下,實(shí)現(xiàn)(D35)所述初始化子步驟。
9.如權(quán)利要求8所要求的解碼方法,在其過(guò)程中,所述塊子集被順序或并行地解碼。
10.如權(quán)利要求9所要求的方法,在其過(guò)程中,當(dāng)至少兩個(gè)塊子集與至少一個(gè)其他的塊子集并行解碼時(shí),被識(shí)別的數(shù)據(jù)子流中的一個(gè)表示所述至少兩個(gè)塊子集。
11.如權(quán)利要求9或權(quán)利要求10所要求的解碼方法,在其過(guò)程中,當(dāng)所述被編碼的塊子集想要以預(yù)定的順序來(lái)并行解碼時(shí),與所述被編碼的塊子集分別對(duì)應(yīng)的數(shù)據(jù)子流在所述要解碼的流中以所述預(yù)定順序來(lái)預(yù)先排序。
12.一種用于對(duì)表示至少一個(gè)被編碼的圖像的流(F)進(jìn)行解碼的裝置(DO),包括: -用于在所述流中識(shí)別與要解碼的至少一個(gè)塊子集分別對(duì)應(yīng)的預(yù)定數(shù)量的數(shù)據(jù)子流(Fl, F2,…,F(xiàn)m,…,F(xiàn)L)的裝置(EXDO),所述塊能夠包含屬于預(yù)定符號(hào)集的符號(hào), -用于對(duì)所述被識(shí)別的塊子集進(jìn)行解碼的裝置(UD ;UD1,UD2,...,UDk,...,UDP),所述解碼裝置包括熵解碼模塊(MDE ;MDE1,MDE2,...,MDEk,...,MDEP),其能夠在至少一個(gè)所述被識(shí)別的子流中讀取與對(duì)應(yīng)于該至少一個(gè)被識(shí)別的子流的子集中的每個(gè)塊的符號(hào)相關(guān)聯(lián)的數(shù)字信息,所述解碼裝置包括針對(duì)圖像中要被解碼的第一塊來(lái)初始化所述熵解碼模塊的狀態(tài)變量的子裝置, 所述解碼裝置的特征在于,它包括用于確定當(dāng)前塊的符號(hào)出現(xiàn)的概率的裝置,在當(dāng)前塊是所考慮的子集中要被編碼的第一塊的情形下,該裝置確定所述第一塊的符號(hào)出現(xiàn)的概率為針對(duì)至少一個(gè)其他子集的編碼和解碼的預(yù)定塊而已經(jīng)確定的那些概率, 并且在于,在當(dāng)前塊是所考慮的子集中最后解碼的塊的情形下,所述初始化子裝置被激活以重新初始化所述熵解碼模塊的狀態(tài)變量。
13.一種包含指令的計(jì)算機(jī)程序,當(dāng)在計(jì)算機(jī)上執(zhí)行時(shí),用于實(shí)現(xiàn)如權(quán)利要求8到11中任一個(gè)所要求的解碼方法。
14.一種可被計(jì)算機(jī)讀取的記錄介質(zhì),在其上記錄了包含指令的計(jì)算機(jī)程序,用于當(dāng)所述程序被計(jì)算機(jī)執(zhí)行時(shí)執(zhí)行如權(quán)利要求8到11中任一個(gè)所要求的解碼方法的步驟。
【文檔編號(hào)】H04N19/176GK103959787SQ201280031335
【公開(kāi)日】2014年7月30日 申請(qǐng)日期:2012年6月20日 優(yōu)先權(quán)日:2011年6月24日
【發(fā)明者】F·亨利, S·帕特克斯, G·克萊爾 申請(qǐng)人:奧林奇公司