專利名稱:算術(shù)編碼和解碼的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及對例如代表圖像信號的碼元進行編碼的領(lǐng)域。更具體地,本發(fā)明涉及一種對流中的碼元進行算術(shù)編碼的方法。本發(fā)明還涉及一種算術(shù)解碼以流的形式編碼的碼元的方法。
背景技術(shù):
為了將代表信號(例如,視頻或音頻信號)的碼元變換成二進制碼,本領(lǐng)域已知使用熵編碼的方法。這樣的熵編碼方法將更短的二進制字與最頻繁碼元值(即,那些出現(xiàn)概率最高的)相關(guān)聯(lián),以便減少編碼開銷。作為一個示例,可以考慮采用具有概率1/4、1/2和 1/4的值{a,b,c}的碼元S,如果碼元S采用值‘b’(即,其出現(xiàn)概率最高),則熵編碼方法將相關(guān)聯(lián)例如長度為1的二進制碼。VLC (變長編碼)編碼是熵編碼方法的已知示例。根據(jù)該方法,為每個碼元定義VLC 表。表與碼元的每個可能值相關(guān)聯(lián),其與長度取決于所考慮的碼元采用所述值的概率(即, 所述值的出現(xiàn)概率)的二進制碼相關(guān)聯(lián)。通過分析代表隨后必須被編碼的信號的大量信號來定義這些表。這個分析步驟離線進行并且將表傳送到解碼器一次,或者在編碼標(biāo)準(zhǔn)中定義表,在該情形中在無需被傳送的情況下它們對于解碼器是已知的。算術(shù)編碼是熵編碼方法的另一個示例。根據(jù)這種方法,例如在代表圖像的碼元的情況下在圖像開始或圖像切片初始化碼元采用一個值的概率。然后在圖像切片的圖像編碼期間有規(guī)律地分別更新這些概率以便考慮到正在被編碼的源信號的特征。上述編碼方法的缺點之一在于碼元采用一給定值的概率本質(zhì)上與事先未知的源信號的特征有聯(lián)系。圖1和圖2圖示了這個缺點。這些圖的每個中在χ軸上示出圖像的編碼處理的進度并且在y軸上示出碼元采用值‘a(chǎn)’的概率。實線表示在編碼圖像期間實際概率P (S = a) 的進度。虛線表示對應(yīng)的估計概率。在VLC情況下(圖1),將估計概率視為貫穿圖像恒定。 在AC情況下(圖2),根據(jù)圖像的編碼更新估計概率。然而,該更新在獲得實際概率之前假定匯聚時間(Td)。在前述兩個示例中,估計概率根據(jù)在編碼當(dāng)前源信號之前進行的分析被先驗 (priori)設(shè)置,并且因此可能與實際概率有距離(VLC情況),或者估計概率在編碼當(dāng)前信號期間有規(guī)律地更新以便更接近實際概率,但是由于延遲時間(AC情況)隨著實際概率在編碼處理期間波動所有估計概率更大。
發(fā)明內(nèi)容
本發(fā)明的目的在于克服現(xiàn)有技術(shù)的至少一個缺點。本發(fā)明涉及用于編碼流中的碼元的算術(shù)方法,包括以下步驟-根據(jù)當(dāng)前概率模型編碼當(dāng)前碼元,以及-根據(jù)當(dāng)前碼元的編碼更新當(dāng)前概率模型。
所述方法在所述流中分布的切換點(switching points)處,還包括以下步驟-根據(jù)編碼開銷判據(jù)(criterion)在至少兩個概率模型的集合中選擇當(dāng)前概率模型,以及-編碼選擇的概率模型的標(biāo)識符。有利地,根據(jù)本發(fā)明的算術(shù)編碼方法使得能夠比標(biāo)準(zhǔn)VLC或AC類型方法更加快速地接近實際概率并且因此使得碼元或多個碼元能夠更加高效地編碼,即,以更低的編碼開銷。根據(jù)本發(fā)明的第二實施例,重復(fù)(reiterate)算術(shù)編碼方法的步驟以便編碼后續(xù)碼元(succession of symblos)并且至少兩個概率模型的集合包括第一概率模型,其從當(dāng)前碼元之前編碼的碼元定義,以及概率模型的子集,其包括至少默認定義的第二概率模型。根據(jù)第三實施例,所述算術(shù)編碼方法包括在概率模型的子集中添加第一概率模型的步驟。根據(jù)本發(fā)明的一個特定方面,當(dāng)概率模型的子集中的概率模型的數(shù)目等于閾值時,添加第一概率模型作為最不經(jīng)常選擇的概率模型的子集的概率模型的替代,而由默認定義的第二概率模型除外。根據(jù)本發(fā)明的一個變型,當(dāng)概率模型的子集中的概率模型的數(shù)目等于閾值時,添加第一概率模型作為概率模型的子集的最老概率模型的替代,而由默認定義的第二概率模型除外。根據(jù)本發(fā)明的另一變型,當(dāng)概率模型的子集中的概率模型的數(shù)目等于閾值時,添加第一概率模型作為在最不經(jīng)常選擇的概率模型的子集的P個概率模型當(dāng)中的、當(dāng)選擇概率模型時計算的編碼開銷平均值最高的概率模型的替代,其中P是整數(shù)。根據(jù)本發(fā)明另一特定方面,選擇步驟包括以下步驟-為至少兩個概率模型的集合的每一個概率模型計算編碼開銷,以及-從至少兩個概率模型的集合中選擇概率模型,該概率模型的編碼開銷小于至少兩個概率模型的集合的其它概率模型的每一個編碼開銷。根據(jù)本發(fā)明的另一特定方面,為所述至少兩個概率模型的集合的每一個概率模型,編碼開銷的計算步驟包括以下步驟-使用至少兩個概率模型的集合的每一個概率模型編碼整數(shù)N個圖像數(shù)據(jù)塊,-為至少兩個概率模型的集合的每一個概率模型確定N個圖像數(shù)據(jù)塊的編碼開銷以及與N個圖像數(shù)據(jù)塊的編碼相關(guān)聯(lián)的失真,以及-為集合的每一個概率模型計算編碼開銷和失真的加權(quán)和。根據(jù)本發(fā)明的一個特定特征,切換點在流中均勻分布。根據(jù)本發(fā)明另一特定特征,切換點在流中的分布是根據(jù)給定編碼模式編碼的塊的數(shù)目的函數(shù)。根據(jù)本發(fā)明另一特定特征,切換點在流中的位置在流中傳送。根據(jù)本發(fā)明另一特定特征,切換點在流中的位置通過特定比特序列發(fā)信號通知 (signal)0根據(jù)本實施例的特定方面,根據(jù)本發(fā)明的算術(shù)編碼方法,還包括通過在每個圖像或圖像的每個切片的開始默認定義的概率模型來初始化概率模型的集合。
根據(jù)本發(fā)明的特定特征,初始化步驟僅應(yīng)用于參考圖像。本發(fā)明還涉及算術(shù)解碼以流的形式編碼的碼元的方法,包括以下步驟-根據(jù)當(dāng)前概率模型解碼當(dāng)前碼元,以及-根據(jù)當(dāng)前碼元的解碼來更新當(dāng)前概率模型。所述方法在切換流中分布的點中還包括以下步驟-解碼概率模型的標(biāo)識符,-根據(jù)解碼的標(biāo)識符在至少兩個概率模型的集合中選擇當(dāng)前概率模型。根據(jù)本發(fā)明另一實施例,重復(fù)算術(shù)編碼方法的步驟以便解碼后續(xù)碼元并且其中至少兩個概率模型的集合包括第一概率模型,其從當(dāng)前碼元之前解碼的碼元定義,以及概率模型的子集,其包括至少默認定義的第二概率模型。
借助參考附圖的決不是限定性的實施例和有利實現(xiàn)方式將更好地理解和圖示本發(fā)明,附圖中-圖1表示在編碼源信號期間,根據(jù)碼元S采用值‘a(chǎn)’的VLC方法的實際概率和估計概率中的改變,-圖2表示在編碼源信號期間,根據(jù)碼元S采用值‘a(chǎn)’的AC方法的實際概率和估計概率中的改變,-圖3圖示根據(jù)本發(fā)明的第一實施例的算術(shù)編碼方法,-圖4表示分布切換點SP的兩個圖像,-圖5圖示根據(jù)圖3、6和7圖示的實施例之一的算術(shù)編碼方法的特定步驟,-圖6圖示根據(jù)本發(fā)明第二實施例的算術(shù)編碼方法,-圖7圖示根據(jù)本發(fā)明第三實施例的算術(shù)編碼方法,-圖8圖示根據(jù)圖7圖示的實施例的算術(shù)編碼方法的特定步驟,-圖9表示在編碼源信號期間,根據(jù)碼元S采用值‘a(chǎn)’的本發(fā)明的方法的實際概率和估計概率中的改變,-圖10圖示根據(jù)特定實施例的算術(shù)解碼方法,-圖11圖示根據(jù)另一特定實施例的算術(shù)解碼方法,-圖12示出根據(jù)本發(fā)明的編碼設(shè)備,以及-圖13示出根據(jù)本發(fā)明的解碼設(shè)備。
具體實施例方式AC熵編碼主要包括用于解碼當(dāng)前碼元&的以下步驟-根據(jù)當(dāng)前概率模型Pc編碼當(dāng)前碼元Sc,以及-根據(jù)當(dāng)前碼元&的編碼來更新當(dāng)前概率模型Pc。概率模型將碼元的每個可能值與一個概率相關(guān)聯(lián)。例如,如果碼元&采用集合 {a, b,c, d}中的值,那么概率與每個值‘a(chǎn)’,‘b’,‘C’和‘d’相關(guān)聯(lián)。如果碼元&采用值 ‘b’,那么在更新當(dāng)前概率模型Pc的步驟中,相關(guān)聯(lián)的概率增加,即,出現(xiàn)數(shù)目= b)增加1。用來編碼當(dāng)前碼元&的當(dāng)前概率模型Pc依據(jù)在當(dāng)前碼元&之前編碼的碼元定義。如果當(dāng)前碼元&首先編碼那么當(dāng)前概率模型Pc由默認定義,例如作為均勻概率模型。如果當(dāng)前碼元&是第N個編碼的碼元,那么當(dāng)前概率模型Pc取決于當(dāng)前碼元&之前的第 (N-I)個編碼的碼元的編碼。實際上,每次編碼新的碼元時更新當(dāng)前概率模型Pc。圖3圖示了根據(jù)本發(fā)明第一實施例的算術(shù)編碼方法。在步驟100期間,驗證了解其是否處于切換點SP。根據(jù)本發(fā)明切換點SP定義為在流中可以修改用于編碼當(dāng)前碼元的概率模型的級別的點。切換點SP在流中均勻地或者無規(guī)律地分布。例如,切換點在流中分布使得與如圖4左邊部分所示塊線的開始對應(yīng),或者與如圖4右邊部分所示無規(guī)律地對應(yīng)。 例如,每N個塊分布切換點,其中N是整數(shù)。根據(jù)變型,根據(jù)給定模式每N個編碼塊分布切換點,例如,根據(jù)INTRA模式編碼的N個塊。根據(jù)另一變型,切換點在流中無規(guī)律地分布并且在流中傳送它們在流中的位置。根據(jù)另一變型,可以通過流中的特定比特序列發(fā)信號通知切換點。如果位于切換點SP,所述方法繼續(xù)到步驟102,如果不是則繼續(xù)到步驟106。在步驟102期間,根據(jù)編碼開銷判據(jù)在至少兩個概率模型{Pi}ieKl;M]的集合L中選擇概率模型Rn,其中M是整數(shù)。M是集合L中的概率模型的數(shù)目。圖5中詳述這個步驟。在步驟1020期間,計算與L的模型Pi相關(guān)聯(lián)的編碼開銷Ci。例如,在碼元表示被劃分為圖像數(shù)據(jù)塊的圖像的情況下,編碼與碼元&相關(guān)聯(lián)的當(dāng)前塊的編碼順序之后的J個圖像數(shù)據(jù)塊,其中J是整數(shù)。因此計算與J個塊的編碼相關(guān)聯(lián)的編碼開銷Ci。根據(jù)一種變型,還計算與具有概率模型Pi的J個圖像數(shù)據(jù)塊的編碼相關(guān)聯(lián)的失真Di。根據(jù)這個變型, 通過編碼開銷和相關(guān)聯(lián)的失真的加權(quán)和替代編碼開銷Ci = Di+λ . Ci0在步驟1022期間,索引i增加1。在步驟IOM期間,i的值與M相比較。如果i<M,那么方法以i的新值回到步驟 1020,如果不是,方法繼續(xù)到步驟1(^6。在步驟10 期間,選擇其相關(guān)聯(lián)的編碼開銷Ci最低的集合L的概率模型Pi作為模型Rn。在步驟104期間,在流中編碼集合L中選擇的模型的標(biāo)識符m。有利地,這個標(biāo)識符使得解碼方法能夠在集合L中再次發(fā)現(xiàn)通過編碼方法選擇的模型。在模型Pc中重新復(fù)制概率模型Rn,即,在步驟102中選擇的概率模型Rn變成當(dāng)前概率模型Pc。在步驟106期間,使用當(dāng)前概率模型Pc編碼當(dāng)前碼元Sc。在步驟108期間,根據(jù)參考AC編碼的先前描述的方法更新當(dāng)前概率模型Pc。根據(jù)圖6所示的第二實施例,重復(fù)步驟100至108以便編碼后續(xù)碼元。在圖6中以相同數(shù)字參考標(biāo)識與圖3中的步驟完全相同的圖6中的步驟。在步驟100期間,驗證是否位置處于切換點SP上。如果位于切換點SP,則方法繼續(xù)到步驟102,否則其繼續(xù)到步驟106。在步驟102期間,根據(jù)編碼開銷判據(jù)在至少兩個概率模型{Pi}ieKl;M]的集合L中選擇概率模型Rn,其中M是整數(shù)。M是集合L中概率模型的數(shù)目。集合L包括從當(dāng)前碼元 &之前編碼的碼元定義的當(dāng)前概率模型Pc以及由默認定義的概率模型的子集E。子集E 包括至少一個表示為PO的由默認定義的這樣的概率模型。例如,PO是均勻概率模型,即,這個模型的所有概率都相等。子集E可以包含由默認定義的其它模型,諸如高斯概率模型或者通過學(xué)習(xí)表示要編碼的信號的數(shù)據(jù)庫獲得的模型。注意如果當(dāng)前碼元&是編碼的第一碼元,那么由默認定義當(dāng)前概率模型Pc,在這種情況下其可以與E的模型PO完全相同。如果當(dāng)前碼元&不是編碼的第一碼元,那么使用當(dāng)前碼元&之前編碼的碼元定義當(dāng)前概率模型Pc。這樣的概率模型Pc,實際上,已經(jīng)在編碼當(dāng)前碼元&之前編碼的碼元期間更新, 使得動態(tài)地適配源信號的特征。在圖5中詳述步驟102。在步驟1020期間,計算與L的模型Pi相關(guān)聯(lián)的編碼開銷Ci。例如,在碼元表示被劃分成圖像數(shù)據(jù)塊的圖像的情況下,編碼與碼元&相關(guān)聯(lián)的當(dāng)前塊的編碼順序之后的J個圖像數(shù)據(jù)塊,其中J是整數(shù)。因此計算與J個塊的編碼相關(guān)聯(lián)的編碼開銷Ci。根據(jù)變型,還計算與具有概率模型Pi的J個圖像數(shù)據(jù)塊的編碼相關(guān)聯(lián)的失真Di。根據(jù)這個變型,通過編碼開銷和相關(guān)聯(lián)的失真的加權(quán)和替代編碼開銷Ci = Di+λ Ci。在步驟1022期間,索引i增加1。在步驟IOM期間,i的值與M相比較。如果i<M,那么方法以i的新值回到步驟 1020,如果不是,方法繼續(xù)到步驟1(^6。在步驟10 期間,選擇集合L的對于其相關(guān)聯(lián)的編碼開銷Ci最低的概率模型Pi 作為模型跑。在步驟104期間,在流中編碼集合L中選擇的模型的標(biāo)識符m。有利地,這個標(biāo)識符使得解碼方法能夠在集合L中再次發(fā)現(xiàn)通過編碼方法選擇的模型。在模型Pc中重新復(fù)制概率模型Rn,即,在步驟102中選擇的概率模型Rii變成當(dāng)前概率模型Pc。在步驟106期間,使用當(dāng)前概率模型Pc編碼當(dāng)前碼元Sc。在步驟108期間,根據(jù)參考AC編碼的先前描述的方法更新當(dāng)前概率模型Pc。在步驟110期間,驗證是否已經(jīng)編碼碼元的集合。如果已經(jīng)編碼碼元的集合那么方法結(jié)束,如果不是,方法繼續(xù)到步驟112。在步驟112期間,下一要編碼的碼元變成當(dāng)前碼元&。方法然后在步驟100中以這個新的當(dāng)前碼元重復(fù)。根據(jù)這個第二實施例的第一變型,在步驟102期間,根據(jù)與當(dāng)前概率模型Pc的相似度判據(jù)在E中選擇概率模型Rn,即,選擇的模型Rn是具有與當(dāng)前模型Pc較大相似度的E 的模型。兩個概率模型Pl和P2之間的相似度例如如下計算
權(quán)利要求
1.一種用于流(F)中的碼元的算術(shù)編碼方法,包括應(yīng)用于所述流(F)中分布的切換點 (100)上以編碼當(dāng)前碼元(Sc)的以下步驟-根據(jù)編碼開銷判據(jù)在集合(L)中選擇(102)概率模型0 ),所述集合(L)包括使用當(dāng)前碼元(Sc)之前編碼的碼元定義的當(dāng)前概率模型(Pc)以及概率模型的子集(E),其中子集(E)包括至少一個默認定義的概率模型(PO),-編碼(104)選擇的概率模型的標(biāo)識符;-在所述子集(E)中添加(10 所述當(dāng)前概率模型,所選擇的概率模型(Pm)變成當(dāng)前概率模型(Pc),-使用當(dāng)前概率模型(Pc)編碼(106)所述當(dāng)前碼元( ),以及-根據(jù)所述當(dāng)前碼元(Sc)的編碼(106)來更新(108)所述當(dāng)前概率模型。
2.如權(quán)利要求1所述的算術(shù)編碼方法,其中,當(dāng)概率模型的所述子集(E)中的概率模型的數(shù)目等于閾值(Tmax)時,添加(105)所述當(dāng)前概率模型(Pc)作為最不經(jīng)常選擇的概率模型的所述子集(E)的概率模型的替代,而由默認(PO)定義的第二概率模型除外。
3.如權(quán)利要求1所述的算術(shù)編碼方法,其中,當(dāng)概率模型的所述子集(E)中的概率模型的數(shù)目等于閾值(Tmax)時,添加(105)所述當(dāng)前概率模型(Pc)作為所述子集(E)中最老的概率模型的替代,而由默認定義的概率模型(PO)除外。
4.如權(quán)利要求3所述的算術(shù)編碼方法,其中,當(dāng)概率模型的所述子集(E)中的概率模型的數(shù)目等于閾值(Tmax)時,添加所述當(dāng)前概率模型(Pc)作為在最不經(jīng)常選擇的所述子集(E)的P個概率模型中的、當(dāng)選擇所述概率模型時為其計算的編碼開銷平均值最高的概率模型的替代,而由默認定義的概率模型(PO)除外,其中P是整數(shù)。
5.如權(quán)利要求1至4之一所述的算術(shù)編碼方法,其中,所述選擇步驟(10 包括以下步驟-為至少兩個概率模型的所述集合(L)的每一個概率模型計算(1020,1022,1024)編碼開銷,以及-從至少兩個概率模型的所述集合(L)中選擇(1026)概率模型,該概率模型的編碼開銷小于所述至少兩個概率模型的集合(L)的其它概率模型的每一個編碼開銷。
6.如權(quán)利要求5所述的算術(shù)編碼方法,其中,用于至少兩個概率模型的所述集合(L)的每一個概率模型編碼開銷的所述計算步驟(1020,1022,1024)包括以下步驟-使用至少兩個概率模型的所述集合(L)的每一個概率模型編碼整數(shù)N個圖像數(shù)據(jù)塊,-為至少兩個概率模型的所述集合(L)的每一個概率模型確定所述N個圖像數(shù)據(jù)塊的編碼開銷以及與所述N個圖像數(shù)據(jù)塊的編碼相關(guān)聯(lián)的失真,以及-為所述集合的每一個概率模型計算所述編碼開銷和所述失真的加權(quán)和。
7.如前面權(quán)利要求之一所述的算術(shù)編碼方法,其中,所述切換點(S0,Si)在所述流中均勻地分布。
8.如權(quán)利要求1至6之一所述的算術(shù)編碼方法,其中,在所述流中所述切換點(S0,S1) 的分布是根據(jù)按照給定編碼模式編碼的塊的數(shù)目。
9.如權(quán)利要求1至6之一所述的算術(shù)編碼模式,其中,在所述流中傳送所述切換點 (SO, Si)在所述流(F)的位置。
10.如權(quán)利要求1至6之一所述的算術(shù)編碼模式,其中,通過特定比特序列發(fā)信號通知所述切換點(SO, Si)在流(F)中的位置。
11.如前面權(quán)利要求之一所述的算術(shù)編碼方法,還包括通過在每個圖像或每個圖像切片的開始默認定義的所述概率模型(PO)來初始化概率模型的所述子集(E)的步驟。
12.如權(quán)利要求11所述的算術(shù)編碼方法,其中,所述初始化步驟僅在參考圖像中應(yīng)用。
13.一種用于以流(F)的形式編碼的碼元的算術(shù)解碼方法,包括應(yīng)用于所述流(F)中分布的切換點(100)上用以解碼當(dāng)前碼元(Sc)的以下步驟-為所述當(dāng)前碼元(Sc)從流(F)中解碼(20 概率模型標(biāo)識符(m), -使用所述概率模型標(biāo)識符(m)在集合(L)中選擇(204)概率模型(Pm),所述集合(L) 包括從當(dāng)前碼元(Sc)之前編碼的碼元定義的當(dāng)前概率模型(Pc)以及概率模型的子集(E), 其中子集(E)包括至少一個由默認定義的概率模型(PO),-在所述子集(E)中添加(20 當(dāng)前概率模型(Pc),選擇的概率模型(Pm)變成當(dāng)前概率模型(Pc),-使用所述當(dāng)前概率模型(Pc)解碼(206)所述當(dāng)前碼元(Sc),以及-根據(jù)所述當(dāng)前碼元(Sc)的解碼(206)來更新(208)所述當(dāng)前概率模型(Pc)。
全文摘要
本發(fā)明涉及用于算術(shù)編碼流(F)中的碼元的方法,包括以下步驟使用當(dāng)前概率模型(Pc)編碼(106)當(dāng)前碼元(Sc),以及根據(jù)當(dāng)前碼元(Sc)的編碼(106)更新(108)當(dāng)前概率模型。所述方法在所述流(F)中分布的切換點(100)處,還包括以下步驟根據(jù)編碼開銷判據(jù)在至少兩個概率模型的集合(L)中選擇(102)當(dāng)前概率模型(Pc),以及編碼(104)選擇的概率模型的標(biāo)識符。
文檔編號H04N7/26GK102474274SQ201080030043
公開日2012年5月23日 申請日期2010年6月22日 優(yōu)先權(quán)日2009年7月1日
發(fā)明者D.索羅, E.弗朗科伊斯, J.維隆, P.伯德斯 申請人:湯姆森特許公司