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