專利名稱:一種用于將待編碼數(shù)據(jù)進行二進制化編碼的方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種電數(shù)字數(shù)據(jù)處理技術(shù),特別是涉及一種用于將待編碼數(shù)據(jù)進行二進制化編碼的方法和裝置。
背景技術(shù):
熵編碼在視頻編碼和圖像編碼中都有著廣泛的應(yīng)用,其作用去除視頻數(shù)據(jù)或者圖像數(shù)據(jù)統(tǒng)計上的冗余度,從而達到數(shù)據(jù)壓縮的效果。
熵編碼大體上可以分為兩類Huffman編碼和算術(shù)編碼。由于Huffman碼是基于對信源數(shù)據(jù)分布的靜態(tài)統(tǒng)計來進行編碼的,所以很難自適應(yīng)的依據(jù)條件概率來對信源進行編碼,這樣信源數(shù)據(jù)之間的條件冗余信息就無法很好的去除,因此限制了其壓縮性能。而算術(shù)編碼能夠方便的對信源分布進行自適應(yīng)的動態(tài)統(tǒng)計,能夠很好的應(yīng)用信源數(shù)據(jù)之間的條件信息,去除信源數(shù)據(jù)之間的條件相關(guān)性,所以相對與Huffman碼有著更好的壓縮性能,但是其算法復(fù)雜度卻相對較高。
基于上下文的自適應(yīng)二進制算術(shù)編碼(Context-based Adaptive BinaryArithmetic Coding,CABAC)采用二進制的算術(shù)編碼,使得對信源符號的概率估計變得簡單,同時,通過基于上下文自適應(yīng)的對信源符號進行概率統(tǒng)計,實現(xiàn)了相對于Huffman碼更好的壓縮性能,所以,該算法已被國際視頻編碼標準H.264所采納。
附圖1示出了基于上下文的自適應(yīng)二進制算術(shù)編碼(CABAC)的編碼框圖。從圖中可以看出,CABAC編碼共有三個技術(shù)環(huán)節(jié)對語法元素的二進制化、基于上下文的概率建模和二進制算術(shù)編碼引擎。其中對語法元素的二進制化是CABAC中基礎(chǔ)關(guān)鍵的一個環(huán)節(jié),合理有效的二進制化算法能夠方便概率模型的建立,能夠充分的利用信源符號的概率分布特征,從而使得CABAC能夠高效的對信源數(shù)據(jù)進行壓縮。因此,對信源符號進行合理有效的二進制化在CABAC中起著至關(guān)重要的作用。
H.264視頻標準中所采用的二進制化算法是Truncated Unary和Exp-Golomb兩種二進制機制的一種合并,其首先設(shè)定一個門限值,當待編碼數(shù)值低于這個門限值的時候,采用Truncated Unary二進制機制對待編碼數(shù)據(jù)進行二進制化;當待編碼數(shù)值高于或者等于這個門限值的時候,首先,生成一段較長的前綴碼,然后將待編碼數(shù)據(jù)與該門限值的差值用Exp-Golomb二進制機制進行二進制化,并將二進制化后的結(jié)果并接到前綴碼之后,從而生成待編碼數(shù)據(jù)最終的二進制化表示。其缺點在于,對于數(shù)值較大的數(shù)據(jù),其二進制化結(jié)果中有很大一部分為前綴碼,不利于壓縮。
關(guān)于Truncated Unary碼和Exp-Golomb碼的介紹Truncated Unary碼是相對簡單的一種碼字,其主要用于處理在值域有上限的數(shù)據(jù)。設(shè)待編碼數(shù)據(jù)為x,值域上限為s,其中x,s均為非負整數(shù),如果x<s,則x的二進制化結(jié)果為x個前綴比特b0,然后以一個b1比特作為結(jié)束,其中b0、b1∈{0,1},且b0≠b1;如果x==s,則x的二進制化結(jié)果為x個前綴比特b0。例對于上限值為8的Truncated Unary碼,5的編碼結(jié)果為b0 b0 b0 b0b0 b0 b1,而8的編碼結(jié)果為b0 b0 b0 b0 b0 b0 b0 b0 b0 b0。
Exp-Golomb碼相對于Truncated Unary碼較復(fù)雜,Exp-Golomb碼有個參數(shù)k來定義其階數(shù)。下表中給出了0階、1階、2階和3階指數(shù)哥倫布碼的結(jié)構(gòu),表中的xi∈{0,1}。
發(fā)明內(nèi)容本發(fā)明的目的是提供一種用于將待編碼數(shù)據(jù)進行二進制化編碼的方法和裝置。待編碼數(shù)據(jù)經(jīng)過本發(fā)明的二進制化算法處理之后,能夠很好的反映出信源數(shù)據(jù)的概率分布特征,而且待編碼數(shù)據(jù)經(jīng)過本發(fā)明的二進制化處理之后,使得對信源數(shù)據(jù)的概率估計方便精確,這樣,本發(fā)明與二進制算術(shù)編碼相結(jié)合,能夠?qū)σ曨l信號中,如變換系數(shù)、運動矢量以及其他待編碼信息,實現(xiàn)高效的壓縮性能。此外,本發(fā)明也可應(yīng)用于huffman碼。
為了達到上述目的,本發(fā)明采用的技術(shù)方案如下一、一種用于將待編碼數(shù)據(jù)進行二進制化編碼的方法,該方法的步驟如下a)將待編碼數(shù)據(jù)的值域劃分為m個子域,每個子域都有與之對應(yīng)的子域標志比特串和子域基值;b)根據(jù)待編碼數(shù)據(jù)的數(shù)值大小,確定其所屬子域,同時生成與之相應(yīng)的子域標志比特串和子域基值;c)用待編碼數(shù)據(jù)減去子域基值得到子域相對值;d)根據(jù)在b)步驟中所生成的子域標志比特串來采用相應(yīng)的二進制化編碼機制來對c)步驟中所得到的子域相對值進行二進制化編碼,從而得到子域碼,不同的子域標志比特串對應(yīng)不同的二進制化編碼機制;e)將子域碼拼接到子域標志比特串之后得到待編碼數(shù)據(jù)的二進制化表示。
所述的m個子域,其m等于2,子域標志比特串長度為1比特,第一子域的子域標志比特串為b0,子域基值為bv0,第二子域的子域標志比特串為b1,子域基值為bv1,其中,b0、b1∈{0,1},且b0≠b1,bv0<bv1。
按如下方式確定待編碼數(shù)據(jù)所屬子域若待編碼數(shù)據(jù)大于等于子域基值bv0且待編碼數(shù)據(jù)小于子域基值bv1,則待編碼數(shù)據(jù)屬于第一子域;若待編碼數(shù)據(jù)大子等于子域基值bv1,則待編碼數(shù)據(jù)屬于第二子域。
對于子域標志比特串為b0的待編碼數(shù)據(jù),采用截斷值為bv1-bv0-1的Truncated Unary二進制化編碼機制對其子域相對值進行二進制化編碼;對于子域標志比特串為b1的待編碼數(shù)據(jù),采用k階Exp-Golomb二進制化編碼機制對其子域相對值進行二進制化編碼,其中k為非負整數(shù)。
二、一種用于將待編碼數(shù)據(jù)進行二進制化編碼的裝置,它包括1)能將待編碼數(shù)據(jù)的值域劃分為若干個子域、確定每個子域標志比特串和子域基值、根據(jù)待編碼數(shù)據(jù)的數(shù)值大小輸出與之對應(yīng)的子域標志比特串和子域相對值的子域劃分裝置;2)能根據(jù)輸入的子域標志比特串、采用相應(yīng)的二進制化機制對輸入的子域相對值進行二進制化編碼得到子域碼、最后將子域碼拼接到子域標志比特串之后得到待編碼數(shù)據(jù)的二進制化表示的子域碼編碼裝置;子域碼編碼裝置的輸入端與待編碼數(shù)據(jù)相連,子域碼編碼裝置的子域標志比特串輸出端和子域相對值輸出端分別接子域碼編碼裝置的輸入端,子域碼編碼裝置的輸出端為待編碼數(shù)據(jù)的二進制化表示。
本發(fā)明具有的有益效果是按照上述方法對待編碼數(shù)據(jù)進行二進制化,不僅可以更好的反映出待編碼數(shù)據(jù)的分布特點,而且可以針對待編碼數(shù)據(jù)在不同子域所表現(xiàn)的概率分布特點而采用與之相應(yīng)的二進制化機制,從而使得對待編碼數(shù)據(jù)的概率估計更加準確,與二進制算術(shù)編碼相結(jié)合,就能大大提高編解碼效率。本發(fā)明應(yīng)用于數(shù)字信號處理領(lǐng)域,特別是視頻編解碼或圖像編解碼領(lǐng)域。
圖1是基于上下文的自適應(yīng)二進制算術(shù)編碼的編碼框圖;圖2是本發(fā)明的編碼裝置框圖。
具體實施例方式
下面結(jié)合附圖和實施例對本發(fā)明作進一步說明。
實施例1變換系數(shù)的Level絕對值的二進制化附圖2示出了本發(fā)明的二進制化編碼裝置,包括子域劃分裝置、編碼合成裝置。
當前待編碼數(shù)據(jù)(記為data_value)輸入子域劃分裝置。子域劃分裝置將待編碼數(shù)據(jù)值域分為m=2個子域,相應(yīng)的子域基值分別為bv0=1和bv1=15,子域標志比特串分別為b0=‘0’和b1=‘1’,即若待編碼數(shù)據(jù)大于0同時小于15,則子域劃分裝置輸出子域標志比特串‘0’和子域相對值data_value-1;若待編碼數(shù)據(jù)大于等于15,子域劃分裝置輸出子域標志比特串‘1’和子域相對值data_value-15。
子域標志比特和子域相對值輸入到子域碼編碼裝置,子域碼編碼裝置根據(jù)子域標志比特來采用相應(yīng)的二進制化機制來對子域相對值進行二進制化編碼。即若子域標志比特串為‘0’,則采用Truncated Unary編碼機制對子域相對值進行二進制化編碼;若子域標志比特串為‘1’,則采用k=0階Exp-Golomb編碼機制對子域相對值進行二進制化編碼。
最后,將子域標志比特串和子域相對值二進制化后生成的比特串進行并接,并接時,子域標志比特串在前,子域相對值二進制化后生成的比特串在后,這樣,最終得到待編碼數(shù)據(jù)的二進制化表示。
實施例2運動矢量殘差分量絕對值的二進制化附圖2示出了本發(fā)明的二進制化編碼裝置,包括子域劃分裝置、編碼合成裝置。
當前待編碼數(shù)據(jù)(記為data_value)輸入子域劃分裝置。子域劃分裝置將待編碼數(shù)據(jù)值域分為m=2個子域,相應(yīng)的子域基值分別為bv0=0和bv1=9,子域標志比特串分別為b0=‘0’和b1=‘1’,即若待編碼數(shù)據(jù)大于等于0同時小于9,則子域劃分裝置輸出子域標志比特串‘0’和子域相對值data_value;若待編碼數(shù)據(jù)大于等于9,子域劃分裝置輸出子域標志比特串‘1’和子域相對值data_value-9。
子域標志比特串和子域相對值輸入到子域碼編碼裝置,子域碼編碼裝置根據(jù)子域標志比特串來采用相應(yīng)的二進制化機制來對子域相對值進行二進制化編碼。即若子域標志比特串為‘0’,則采用Truncated Unary編碼機制對子域相對值進行二進制化編碼;若子域標志比特串為‘1’,則采用k=3階Exp-Golomb編碼機制對子域相對值進行二進制化編碼。
最后,將子域標志比特串和子域相對值二進制化后生成的比特串進行并接,并接時,子域標志比特在前,子域相對值二進制化后生成的比特串在后。
上述實施例用來解釋說明本發(fā)明,而不是對本發(fā)明進行限制,在本發(fā)明的精神和權(quán)利要求的保護范圍內(nèi),對本發(fā)明作出的任何修改和改變,都落入本發(fā)明的保護范圍。
權(quán)利要求
1.一種用于將待編碼數(shù)據(jù)進行二進制化編碼的方法,其特征在于該方法的步驟如下a)將待編碼數(shù)據(jù)的值域劃分為m個子域,每個子域都有與之對應(yīng)的子域標志比特串和子域基值;b)根據(jù)待編碼數(shù)據(jù)的數(shù)值大小,確定其所屬子域,同時生成與之相應(yīng)的子域標志比特串和子域基值;c)用待編碼數(shù)據(jù)減去子域基值得到子域相對值;d)根據(jù)在b)步驟中所生成的子域標志比特串來采用相應(yīng)的二進制化編碼機制來對c)步驟中所得到的子域相對值進行二進制化編碼,從而得到子域碼,不同的子域標志比特串對應(yīng)不同的二進制化編碼機制;e)將子域碼拼接到子域標志比特串之后得到待編碼數(shù)據(jù)的二進制化表示。
2.根據(jù)權(quán)利要求1所述的一種用于將待編碼數(shù)據(jù)進行二進制化編碼的方法,其特征在于所述的m個子域,其m等于2,子域標志比特串長度為1比特,第一子域的子域標志比特串為b0,子域基值為bv0,第二子域的子域標志比特串為b1,子域基值為bv1,其中,b0、b1∈{0,1},且b0≠b1,bv0<bv1。
3.根據(jù)權(quán)利要求2所述的一種用于將待編碼數(shù)據(jù)進行二進制化編碼的方法,其特征在于按如下方式確定待編碼數(shù)據(jù)所屬子域,若待編碼數(shù)據(jù)大于等于子域基值bv0且待編碼數(shù)據(jù)小于子域基值bv1,則待編碼數(shù)據(jù)屬于第一子域;若待編碼數(shù)據(jù)大于等于子域基值bv1,則待編碼數(shù)據(jù)屬于第二子域。
4.根據(jù)權(quán)利要求3所述的一種用于將待編碼數(shù)據(jù)進行二進制化編碼的方法,其特征在于對于子域標志比特串為b0的待編碼數(shù)據(jù),采用截斷值為bv1-bv0-1的Truncated Unary二進制化編碼機制對其子域相對值進行二進制化編碼;對于子域標志比特串為b1的待編碼數(shù)據(jù),采用k階Exp-Golomb二進制化編碼機制對其子域相對值進行二進制化編碼,其中k為非負整數(shù)。
5.一種用于將待編碼數(shù)據(jù)進行二進制化編碼的裝置,其特征在于它包括1)能將待編碼數(shù)據(jù)的值域劃分為若干個子域、確定每個子域標志比特串和子域基值、根據(jù)待編碼數(shù)據(jù)的數(shù)值大小輸出與之對應(yīng)的子域標志比特串和子域相對值的子域劃分裝置;2)能根據(jù)輸入的子域標志比特串、采用相應(yīng)的二進制化機制對輸入的子域相對值進行二進制化編碼得到子域碼、最后將子域碼拼接到子域標志比特串之后得到待編碼數(shù)據(jù)的二進制化表示的子域碼編碼裝置;子域劃分裝置的輸入端與待編碼數(shù)據(jù)相連,子域劃分裝置的子域標志比特串輸出端和子域相對值輸出端分別連接到子域碼編碼裝置的輸入端,子域碼編碼裝置的輸出端為待編碼數(shù)據(jù)的二進制化表示。
全文摘要
本發(fā)明公開了一種用于將待編碼數(shù)據(jù)進行二進制化編碼的方法和裝置。將待編碼數(shù)據(jù)進行二進制化編碼,首先,將待編碼數(shù)據(jù)的值域劃分為若干個子域,每個子域都有與之對應(yīng)的子域標志比特串和子域基值,然后,根據(jù)待編碼數(shù)據(jù)的數(shù)值大小,確定其所屬子域,同時生成與之相應(yīng)的子域標志比特串和子域基值,接著,用待編碼數(shù)據(jù)減去子域基值得到子域相對值,然后根據(jù)所生成的子域標志比特串來采用相應(yīng)的二進制化編碼機制來對得到的子域相對值進行二進制化編碼,從而得到子域碼,將子域碼拼接到子域標志比特串之后。將該二進制化編碼方法跟二進制算術(shù)編碼相結(jié)合,能達到非常高效的編碼效率。本發(fā)明應(yīng)用于數(shù)字信號處理領(lǐng)域,特別是視頻編解碼或圖像編解碼領(lǐng)域。
文檔編號H04N7/26GK1758756SQ20051006139
公開日2006年4月12日 申請日期2005年11月3日 優(yōu)先權(quán)日2005年11月3日
發(fā)明者虞露, 王建鵬 申請人:浙江大學(xué)