本发明专利技术公开了一种数据的熵编码方法和装置;对待解码或者编码数据的二值化的bin串进行了分组,并且第一个组中bin的个数并不是固定的,从而使得第二个组的第一个bin的二进制序列序号并不是全相同的。第二组被划分成了至少一段,第二组第一段的bin用同一套上下文模型。本发明专利技术应用于数字信号处理领域,尤其是编解码领域。本发明专利技术的方法结合了特殊的二值化方法,实现了在bin串中不同位置的bin共用一套上下文模型。
【技术实现步骤摘要】
本专利技术涉及一种熵编码技术,尤其涉及一种基于上下文的自适应的二进制算术编码方法和装置。
技术介绍
熵编码是用在视频编码的最后一个阶段的一种无损压缩方法,其输入是转变为一系列语法元素的视频数据。这些语法元素可以在解码端被解析出来并进一步重建出视频序列。语法元素大致分为两类预测方法和预测误差。熵编码的作用是将这些语法元素无损的编码入码流中。基于上下文的自适应二进制算术编码(CABAC)是一种广泛用于视频编码的熵编码 方法,首次出现于H. 264/AVC中,现在也在AVSl,AVS2,HEVC等标准中使用,其中包括三个主要功能单元,二值化、上下文建模和算术编码。二值化将语法元素映射为二进制符号,上下文建模为每个bin估计一个概率值。最后算术编码依据估计的概率值将bin压缩为bit。二值化的方法有很多,常见的有一元码,截断一元码,指数哥伦布码和定长码等二值化方法。二值化指的是将每个非二进制的语法元素值映射成一个bin串,所有的bin串都不全相同。bin串中的每个bin都会按照其写入码流的顺序拥有一个从O开始的二进制序列序号。反二值化的过程即为一个查表的过程,每个bin串都唯一对应一个语法元素值,通过查二值化的表可以找出要解析的bin串对应的语法元素值。解析bin串的过程是一个寻找一个可以反二值化的bin串的过程,即如果当前已解析的bin串可以反二值化为一个语法元素,解析bin串完毕;否则,继续解析下一个bin,直到bin串可以反二值化为一个语法元素。上下文建模是为了提供比较精确的概率估计而建立一系列概率模型。有相似的概率分布的bin往往共用相同的上下文模型。上下文模型中存储两个值,一个是概率状态,一个是最有可能出现的bin的值(MPS),上下文模型的概率状态是依据已编码bin的值进行更新过的,每编完一个bin都会对所用的上下文模型中的概率状态和MPS造成影响。上下文模型的选择主要依据是每个bin的语法元素类型,在bin串中的位置,色度还是亮度,相邻信息等。以前的上下文建模方法中几乎没有在bin串中位置不同的bin共用一个上下文模型。共用一个上下文模型指的是共用一个上下文模型的bin用同一个上下文模型进行概率估计,同时该上下文模型统计的是已经编码的用该上下文模型进行概率估计的bin的情况,该上下文模型是依照这些统计的bin建立的概率模型。随着二值化方法的不断更新和改进,这种情况还是有必要的。算术编码是基于迭代的区间划分的编码方法。解析bin的过程为初值为O到I的区间根据bin的概率值,被划分为两子区间。编码的bit流提供了一个以二进制小数表示的偏移值,依据该偏移值可以从两个子区间中选择一个,该区间就代表解码出来的bin的值。在解析bin之后,区间的宽度值都被更新为所选的子区间的宽度,然后不断重复这个区间的划分过程。编码bin过程与之相反,区间根据bin的概率值,被划分为两子区间,在编码的bin所对应出的区间内找一个一个以二进制小数表示的偏移值作为编码的bin。在编码完一个bin后,区间的宽度值都被更新为所选的子区间的宽度,然后不断重复这个区间的划分过程。算术边编码的概率估计可以用一个估计得到的概率值进行(上下文编码),也可以假设一个等概率值进行(旁路编码)。
技术实现思路
本专利技术针对现有技术的不足,提出了一种数据的熵编码方法和装置,本专利技术能进行更高效数据压缩,能使bin串中不同二进制序列序号的bin用同一个上下文模型进行编码。 本专利技术的目的是通过以下技术方案来实现的一种语法元素的熵编码方法,熵编码过程至少包括以下步骤(I)对输入语法元素值进行二值化;二值化之后的bin串包括η (η>=2)个bin串组,第i个bin串组中包含Ni个bin,其中1=1“*11,队>=1,第i个bin串组中任一 bin的二进制序列序号小于第i+lbin串组中任一bin的二进制序列序号;至少有两个不同的语法元素值进行二值化后的bin串的第一个bin串组所包含的bin的个数不相同;第二个bin串组包括k个段,其中k>=l,第二个bin串组的第j段bin串包含Kj个bin,其中j = I,…且第二个bin串的第j段bin串中任一 bin的二进制序列序号小于第二个bin串的第j+Ι段bin串中任一 bin的二进制序列序号;(2)对所述的第二个bin串组的第I段bin串采用同一套上下文模型进行熵编码。一种语法元素的熵解码方法,熵解码过程至少包括以下步骤(I)解析第一组bin,对于所述的语法元素至少存在两个不同的语法元素值,使得这两个语法元素值对应的第一组bin的个数不同;(2)对于所述的语法元素用同一套上下文模型解析出第二组数据的第一段bin,所述的第二组第一段bin的个数为m, m>=l ;(3)根据解析bin串的规则,解析出该语法元素对应的bin串,所述的bin串经过反二值化过程解析得到语法元素的值,所述的bin串至少包括第一组bin和第二组第一段bin,并且由第一组bin开始,第二组第一段bin紧随第一组bin。一种经过二值化的数据类型及码流,数据二值化之后的bin串包括n(n>=2)个bin串组,第i个bin串组中包含Ni个bin,其中1=1“*11,队>=1,第i个bin串组中任一 bin的二进制序列序号小于第i+lbin串组中任一bin的二进制序列序号;至少有两个不同的语法元素值进行二值化后的bin串的第一个bin串组所包含的bin的个数不相同;第二个bin串组包括k个段,其中k>=l,第二个bin串组的第j段bin串包含Kj个bin,其中j = I,…第二个bin串的第j段bin串中任一 bin的二进制序列序号小于第二个bin串的第j+Ι段bin串中任一 bin的二进制序列序号;所述的第二组中的第I段bin串采用同一套上下文模型进行熵编码。一种语法元素的熵编码装置,它包括一对输入语法元素进行二值化的装置二值化之后的bin串包括η (η>=2)个bin串组,第i个bin串组中包含Ni个bin,其中1=1“*11,队>=1,第i个bin串组中任一 bin的二进制序列序号小于第i+lbin串组中任一bin的二进制序列序号;至少有两个不同的语法元素值进行二值化后的bin串的第一个bin串组所包含的bin的个数不相同;第二个bin串组包括k个段,其中k>=l,第二个bin串组的第j段bin串包含Kj个bin,其中j = I,…第二个bin串的第j段bin串中任一 bin的二进制序列序号小于第二个bin串的第j+Ι段bin串中任一 bin的二进制序列序号;和一上下模型选择装置上下模型选择装置与对输入语法元素进行二值化的装置相连,在该装置中所述的第二个bin串组的第I段bin串采用同一套上下文模型进行熵编码一种语法元素的熵解码装置,它包括一解析第一组bin的装置对于所述的语法元素至少存在两个不同的语法元素值,使得这两个语法元素值对应的第一组bin的个数不同;一解析第二组数据第一段bin的装置解析第二组数据第一段bin的装置与解析第一组bin的装置相连,对于所述的语法元素用同一套上下文模型解析出第二组数据的第 一段bin,所述的第二组第一段bin的个数为m, m>=l 本文档来自技高网...
【技术保护点】
一种语法元素的熵编码方法,特征在于,熵编码过程至少包括以下步骤:(1)对输入语法元素值进行二值化;二值化之后的bin串包括n(n>=2)个bin串组,第i个bin串组中包含Ni个bin,其中i=1…n,N-i>=1,第i个bin串组中任一bin的二进制序列序号小于第i+1bin串组中任一bin的二进制序列序号;至少有两个不同的语法元素值进行二值化后的bin串的第一个bin串组所包含的bin的个数不相同;第二个bin串组包括k个段,其中k>=1,第二个bin串组的第j段bin串包含Kj个bin,其中j=1,?…?k,K1>=1,且第二个bin串的第j段bin串中任一bin的二进制序列序号小于第二个bin串的第j+1段bin串中任一bin的二进制序列序号;(2)对所述的第二个bin串组的第1段bin串采用同一套上下文模型进行熵编码。
【技术特征摘要】
1.一种语法元素的熵编码方法,特征在于,熵编码过程至少包括以下步骤(1)对输入语法元素值进行二值化;二值化之后的bin串包括n(n>=2M^bin串组,第i个bin串组中包含Ni个bin,其中i=l…11,队>=1,第i个bin串组中任一 bin的二进制序列序号小于第i+lbin串组中任一bin的二进制序列序号;至少有两个不同的语法元素值进行二值化后的bin串的第一个bin串组所包含的bin的个数不相同;第二个bin串组包括 k个段,其中k>=l,第二个bin串组的第j段bin串包含Kj个bin,其中j=l,…I^K1S=I, 且第二个bin串的第j段bin串中任一 bin的二进制序列序号小于第二个bin串的第j+1 段bin串中任一 bin的二进制序列序号;(2)对所述的第二个bin串组的第I段bin串采用同一套上下文模型进行熵编码。2.根据权利要求1的熵编码方法,其特征在于,所述步骤2中,所述同一套上下文模型包括以下之一(1)整个段的所有bin用一个上下文模型;(2)整个段的所有bin根据相同的上下文规则决定使用多个上下文模型中的一个。3.—种语法元素的熵解码方法,特征在于,熵解码过程至少包括以下步骤(1)解析第一组bin,对于所述的语法元素至少存在两个不同的语法元素值,使得这两个语法元素值对应的第一组bin的个数不同;(2)对于所述的语法元素用同一套上下文模型解析出第二组数据的第一段bin,所述的第二组第一段bin的个数为m,m>=l ;(3)根据解析bin串的规则,解析出该语法元素对应的bin串,所述的bin串经过反二值化过程解析得到语法元素的值,所述的bin串至少包括第一组bin和第二组第一段bin, 并且由第一组bin开始,第二组第一段bin紧随第一组bin。4.根据权利要求3的熵解码方法,其特征在于,所述步骤2中,所述同一套上下文模型包括以下之一(1)整个段的所有bin用一个上下文模型;(2)整个段的所有bin根据相同的上下文规则决定使用多个上下文模型中的一个。5.一种经过二值化的数据类型及码流,其特征在于,数据二值化之后的bin串包括η (η>=2)个bin串组,第i个bin串组中包含Ni个bin,其中i=l…η,队>=1,第i个bin串组中任一 bin的二进制序列序号小于第i+lbin串组中任一 bin的二进制序列序号;至少有两个不同的语法元素值进行二值化后的bin串的第一个bin串组所包含的bin的个数不相同;第二个bin串组包括k个段,其中k>=l,第二个bin串组的第j段bin串包含Kj个 bin,其中j=l,…I^K1S=I,第二个bin串的第j段bin串中任一 ...
【专利技术属性】
技术研发人员:虞露,何至初,朱兴国,
申请(专利权)人:浙江大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。