一种数字信号的二值算术编码方法

文档序号:7612487阅读:276来源:国知局
专利名称:一种数字信号的二值算术编码方法
技术领域
本发明涉及图像/视频信号等数字信号编码中的二值算术编码,并涉及相关的计算机实现方法,本发明属于信号处理中编解码领域。
背景技术
信息论之父C.E.Shannon第一次用数学语言阐明了概率与信息冗余度的关系。在1948年发表的论文“A Mathematical Theory of Communication”中,Shannon指出,任何信息都存在冗余,冗余大小与信息中每个符号(数字、字母或单词)的出现概率或者说不确定性有关。Shannon借鉴了热力学的概念,把信息中排除了冗余后的平均信息量称为“信息熵”,并给出了计算信息熵的数学表达式。从本质上讲,数据压缩的目的就是要消除信息中的冗余,而信息熵及相关的定理恰恰用数学手段精确地描述了信息冗余的程度。Shannon指出理想情况下(考虑最小平均码长),概率为p的符号编码输出为-lg p bits。如果我们能够对信源编码过程中出现的每个符号建立准确的概率模型,用算术编码就可以实现对概率为p的符号编码输出非常接近理论最优值-lg p bits。
算术编码的基本思想是用
。当前子区间下界为Lowi,子区间长度为Rangei,则循环计算过程为

算术编码最重要的优点在于它的灵活性。实际信源(如运动图像序列)在不同时间,不同位置,不同条件(如RDO on/off,QP)下所表现出来的的数据统计特点差别很大。而算术编码的机制很容易做到自适应统计特性的变化。而且算术编码中编码过程和概率建模过程是分开的。一个算术编码器(Arithmetic Coding Engine)可以和任何概率估计模型(contextmodel)结合使用。为了得到好的压缩效果,很多情况下需要建立复杂的概率模型,这些模型在编码过程中可能是自适应模型,而且压缩一个文件时可能会用到很多独立的模型(multi-context models),这时算术编码器有其他变长码所无法企及的优势。虽然算术编码具有很好的灵活性,但是建模过程在处理时间和存储量上消耗巨大,尤其是针对多符号(multi-symbol)的信源。算术编码另一个优点在于它的压缩效率接近最优理论值,即信源的熵。Huffman码在大多数情况下也非常接近理论最优。而当某个符号的概率之非常接近1时(heavily skewed),算术编码比Huffman码在压缩效率上有明显优势,因为Huffman码给每个字符只能分配整数个比特。而这种分布极不平衡的概率在二值图像中是很常见的现象,在多符号(multi-symbol)二值化(用二值算术编码)时也会出现。
但是算术编码最大的缺陷在于它实现的速度很慢。现有的算术编码方案过程中,都需要计算RLPS的值。没有作近似处理的算术编码器处理一个符号至少需要1次乘法,有时甚至需要2次乘法2次除法。而且,概率模型的读取和更新操作都在处理时间和存储量上消耗巨大。而Huffman和Ziv-Lempel码的处理速度都要快得多。
理论上RLPS=Range×PLPS,计算的精度直接影响编码的效率,但是保留高的精度会导致复杂度的增加和实现的困难,目前已实用的算术编码方案都用某种近似计算方法代替复杂度高的乘法计算。目前很多关于算术编码的研究都力求找到一种近似方法,可以提高速度但不会过多影响编码效率。比较常见的方法是用量化近似值代替精确值,用简单操作(如加减,移位)取代乘法运算,以及用查表的方法替代复杂运算。
在国际视频编码标准H.264中采纳的CABAC编码方法是将Range均匀量化成4层,将
中的RLPS由疏至密取64个固定的量化点,预计算好Range×PLPS存入一张256bytes的表里,这样rLPS的计算完全由查表代替。
在国际视频编码标准JPEG/JBIG中的Q-coder系列编码方法是将Range直接量化为1层,RLPS≈PLPS,将
中的PLPS由疏至密取30个固定的量化点。虽然计算复杂度上来看Q-coder小于CABAC,但是其代价是精度的损失。
由于概率估计过程是一个随机过程,PLPS本身估计得到的精度是有限的。所以在计算RLPS时保留PLPS估计值过高的精度并没有意义。我们提出一种新的小概率设定方案和新的二值算术编码的乘法运算方法,在复杂度和精度之间寻找一个好的平衡点,实现低复杂度高效的AC编码器。

发明内容
本发明的目的在于提出一种二值算术编码方法其程序框图参见

图1。
本发明的特征在于所述方法是指包括图像信号,声音信号,雷达信号,微波信号在内的各种数字信号的二值算术编码方法,该方法是在计算机上实现的,它的步骤依次为步骤一设定小概率符号LPS各个状态的概率即PLPS,它的取值在
之间,把区间
由疏至密划分成K个子区间,K取值正整数,依次是[2-2,2-1],[2-3,2-2],…[2-k-1,2-k],[2-K,2-K+1],
,k∈{1,2,...K},每个子区间里面均匀置N个量化点,N=2n,n取值{0,1,...,L-1},L为正整数,这样
之间取值的pLPS共有K×N个量化值,也就是K×N个状态值即state;步骤二计算小概率符号LPS和大概率符号MPS对应的编码区间RLPS和RMPSRLPS=Rangei×PLPSRMPS=Rangei-RLPS其中,Rangei为编第i个符号时的编码区间大小。当i=0时的Range是M个比特大小精度的设定值;步骤三计算新的编码区间Rangei+1如果当前输入符号是小概率符号LPS,则Rangei+1←RLPSLowi+1←Lowi+RLPS如果当前输入符号是大概率符号MPSRangei+1←RMPS其中Lowi是当前编码区间的下界,Lowi+1是新的区间的下界;步骤四根据步骤三的结果更新小概率符号的概率状态值state,使得state代表的小概率值PLPS能够跟踪于实际的小概率符号的概率值;步骤五重正化编码区间Range,即在Range的值随编码的进行变得小于设定的下限阈值的时候使Range的值扩大一倍以防止产生计算误差。
本发明的特征又在于所述方法是指包括图像信号,声音信号,雷达信号,微波信号在内的各种数字信号的二值算术编码方法,该方法是在计算机上实现的,它的步骤依次为步骤一事先设定小概率符号LPS的各个状态的概率值。
步骤二计算概率符号LPS和大概率符号MPS对应的编码区间RLPS和RMPS
方法是将编码区间即Range的值进行量化以用于小概率符号对应的编码区间即RLPS的计算,即计算RLPS时保留编码区间M减去B比特的精度即range_lRLPS=range_li×PLPSRMPS=range_li-RLPS其中,当i=0时的Range是M个比特大小精度的设定值,range_li为编第i个符号时的编码区间Range右移B比特即量化后的大小,B为设定的比特数减少值。
步骤三计算新的编码区间Rangei+1如果当前输入符号是小概率符号LPS,则Rangei+1←RLPSLowi+1←Lowi+RLPS如果当前输入符号是大概率符号MPSRangei+1←RMPS其中Lowi是当前编码区间的下界,Lowi+1是新的区间的下界;步骤四根据步骤三的结果更新小概率符号的概率状态值state,使得state代表的小概率值PLPS能够跟踪于实际的小概率符号的概率值;步骤五重正化编码区间Range,即在Range的值随编码的进行变得小于设定的下限阈值的时候使Range的值扩大一倍以防止产生计算误差。
本发明的特征还在于,所述方法是指包括图像信号,声音信号,雷达信号,微波信号在内的各种数字信号的二值算术编码方法,该方法是在计算机上实现的,它的步骤依次为步骤一设定小概率符号LPS的概率即PLPS,它的取值在
之间,把
由疏至密划分成K个子区间,K取值正整数,依次是[2-2,2-1],[2-3,2-2],…[2-k-1,2-k],[2-K,2-K+1],
,k∈{1,2,...K},每个子区间里面均匀置N个量化点,N=2n,n取值{0,1,...,L-1},L为正整数,这样
之间取值的pLPS共有K×N个量化值,也就是K×N个状态值即state;步骤二计算概率符号LPS和大概率符号MPS对应的编码区间RLPS和RMPS方法是用移位和相加运算,即使用下面两次左移的运算得到RLPS≈range_l<<(B-k)+[range_li<<(B-k-L)]·i..........(1)=range_l<<(B-k)+(range_l·i)<<(B-k-L)..........(2)RMPS=range_li-RLPS其中,将编码区间即Range的值进行量化以用于小概率符号对应的编码区间即RLPS的计算,即计算RLPS时保留编码区间M减去B比特的精度即range_l,当i=0时的Range是M个比特大小精度的设定值,range_li为编第i个符号时的编码区间Range右移B比特即量化后的大小,B为设定的比特数减少值,“<<”为左移运算;步骤三计算新的编码区间Rangei+1如果当前输入符号是小概率符号LPS,则Rangei+1←RLPS
Lowi+1←Lowi+RLPS如果当前输入符号是大概率符号MPSRangei+1←RMPS其中Lowi是当前编码区间的下界,Lowi+1是新的区间的下界;步骤四根据步骤三的结果更新小概率符号的概率状态值state,使得state代表的小概率值PLPS能够跟踪于实际的小概率符号的概率值;步骤五重正化编码区间Range,即在Range的值随编码的进行变得小于设定的域值的时候使Range的值扩大一倍以防止产生计算误差。
所述的range_l的取值有2M-B种情况,其中M为所述的设定Range的初试值的比特数,B为所述的设定的Range减少比特数,所述的range_l·i乘法计算结果用预先存储的对应于的2M-B·N种情况的结果的表得到,即RLPS=range_1<<(B-k)+(Table[index_range][index_i])<<(B-k-L),其中的index_range∈
区间内,按照2-k-1取点划分为K个子区间,k,K为正整数,k=1,2,3,……K;ii.在这k个子区间中,各平均选取N=2L个点。即在第k个区间中的第i个点对应的小概率符号的概率值为P(ki)=2-k-1+2-k-1×2-L×ib)Range的量化按照下式的方法,Range在初试计算时采用M比特的精度表示,但在计算RLPS时,保留M-B比特的精度。
range_l=Range>>Bc)RLPS的计算由于所有的概率点的选取是以2的负整数倍为单位划分的,所以乘法运算RLPS=Range×PLPS就可以由移位来完成,于是按照下式的方法,我们根据当前的小概率符号的概率点得到当前的RLPSRLPS=[range_l<<(B-k-2)]+[range_l<<(B-k-2-L)]×i其中b编码区间Range的省略精度比特数;k根据当前的state得到的小概率点所在区间段的指示值;k=2+state/Ki根据当前的state得到的小概率点在所在区间中的位置的指示值i=state%Lstate当前小概率符号所在的自适应概率状态值,state∈
+[(range_l×i)<<(B-k-L)]其中b编码区间Range的省略精度比特数;k根据当前的state得到的小概率点所在区间段的指示值;i=3-state&0x07i根据当前的state得到的小概率点在所在区间中的位置的指示值i=L-state&Lstate当前小概率符号所在的自适应概率状态值,state∈
区间内,按照2-k-1取点划分为K=8个子区间,在这8个子区间中,每个各平均选取N=24=8个点。
即这N×K=64个点的概率值分布为

b)Range的量化按照下式的方法,Range在初试计算时采用9比特的精度表示,但在计算RLPS时,保留3比特的精度range_l=Range>>6c)RLPS的计算由于所有的概率点的选取是以2的整数倍为单位划分的,所以乘法运算RLPS=Range×PLPS就可以由移位来完成,于是按照下式的方法,我们根据当前的小概率符号的概率点状态值即state得到当前的RLPS由上述计算知B=6;L=3;则RLPS=[range_l<<(6-k-2)]+[range_l<<(6-k-2-3)]×i即RLPS=[range_l<<(4-k)]+[range_l<<(1-k)]×i。
其中k=state>>3;i=3-state&0x07由于Range为3bite精度,且在算术编码中重正化编码区间Range时我们保证其值不小于28,则Range的最高比特位始终为1,所以range_l实际上只有100,101,110,111四种情况,我们将这四种情况下的range_l和一共K×N=8×8=64个区间概率点位置指示值i的乘积写入一张4×64的表中,就能够使用快速查表的方法解决[range_l<<(1-k)]×i的乘法问题。
权利要求
1.一种数字信号的二值算术编码方法,其特征在于,所述方法是指包括图像信号,声音信号,雷达信号,微波信号在内的各种数字信号的二值算术编码方法,该方法是在计算机上实现的,它的步骤依次为步骤一设定小概率符号LPS各个状态的概率即PLPS,它的取值在
之间,把区间
由疏至密划分成K个子区间,K取值正整数,依次是[2-2,2-1],[2-3,2-2],...[2-k-1,2-k],[2-K,2-K+1],
,k∈{1,2,...K},每个子区间里面均匀置N个量化点,N=2n,n取值{0,1,...,L-1},L为正整数,这样
之间取值的pLPS共有K×N个量化值,也就是K×N个状态值即state;步骤二计算小概率符号LPS和大概率符号MPS对应的编码区间RLPS和RMPSRLPS=Rangei×PLPSRMPS=Rangei-RLPS其中,Rangei为编第i个符号时的编码区间大小。当i=0时的Range是M个比特大小精度的设定值;步骤三计算新的编码区间Rangei+1如果当前输入符号是小概率符号LPS,则Rangei+1←RLPSLowi+1←Lowi+RLPS如果当前输入符号是大概率符号MPSRangei+1←RMPS其中Lowi是当前编码区间的下界,Lowi+1是新的区间的下界;步骤四根据步骤三的结果更新小概率符号的概率状态值state,使得state代表的小概率值PLPS能够跟踪于实际的小概率符号的概率值;步骤五重正化编码区间Range,即在Range的值随编码的进行变得小于设定的下限阈值的时候使Range的值扩大一倍以防止产生计算误差。
2.一种数字信号的二值算术编码方法,其特征在于,所述方法是指包括图像信号,声音信号,雷达信号,微波信号在内的各种数字信号的二值算术编码方法,该方法是在计算机上实现的,它的步骤依次为步骤一事先设定小概率符号LPS的各个状态的概率值;步骤二计算概率符号LPS和大概率符号MPS对应的编码区间RLPS和RMPS方法是将编码区间即Range的值进行量化以用于小概率符号对应的编码区间即RLPS的计算,即计算RLPS时保留编码区间M减去B比特的精度即range_lRLPS=range_li×PLPSRMPS=range_li-RLPS其中,当i=0时的Range是M个比特大小精度的设定值,range_li为编第i个符号时的编码区间Range右移B比特即量化后的大小,B为设定的比特数减少值;步骤三计算新的编码区间Rangei+1如果当前输入符号是小概率符号LPS,则Rangei+1←RLPSLowi+1←Lowi+RLPS如果当前输入符号是大概率符号MPSRangei+1←RMPS其中Lowi是当前编码区间的下界,Lowi+1是新的区间的下界;步骤四根据步骤三的结果更新小概率符号的概率状态值state,使得state代表的小概率值PLPS能够跟踪于实际的小概率符号的概率值;步骤五重正化编码区间Range,即在Range的值随编码的进行变得小于设定的下限阈值的时候使Range的值扩大一倍以防止产生计算误差。
3.一种数字信号的二值算术编码方法,其特征在于,所述方法是指包括图像信号,声音信号,雷达信号,微波信号在内的各种数字信号的二值算术编码方法,该方法是在计算机上实现的,它的步骤依次为步骤一设定小概率符号LPS的概率即PLPS,它的取值在
之间,把
由疏至密划分成K个子区间,K取值正整数,依次是[2-2,2-1],[2-3,2-2],...[2-k-1,2-k],[2-K,2-K+1],
,k∈{1,2,...K},每个子区间里面均匀置N个量化点,N=2n,n取值{0,1,...,L-1},L为正整数,这样
之间取值的pLPS共有K×N个量化值,也就是K×N个状态值即state;步骤二计算概率符号LPS和大概率符号MPS对应的编码区间RLPS和RMPS方法是用移位和相加运算,即使用下面两次左移的运算得到RLPS≈range_l<<(B-k)+[range_li<<(B-k-L)]·i..........(1)=range_l<<(B-k)+(range_l·i)<<(B-k-L)..........(2)RMPS=range_li-RLPS其中,将编码区间即Range的值进行量化以用于小概率符号对应的编码区间即RLPS的计算,即计算RLPS时保留编码区间M减去B比特的精度即range_l,当i=0时的Range是M个比特大小精度的设定值,range_li为编第i个符号时的编码区间Range右移B比特即量化后的大小,B为设定的比特数减少值,“<<”为左移运算;步骤三计算新的编码区间Rangei+1如果当前输入符号是小概率符号LPS,则Rangei+1←RLPSLowi+1←Lowi+RLPS如果当前输入符号是大概率符号MPSRangei+1←RMPS其中Lowi是当前编码区间的下界,Lowi+1是新的区间的下界;步骤四根据步骤三的结果更新小概率符号的概率状态值state,使得state代表的小概率值PLPS能够跟踪于实际的小概率符号的概率值;步骤五重正化编码区间Range,即在Range的值随编码的进行变得小于设定的域值的时候使Range的值扩大一倍以防止产生计算误差。
4.根据权利要求3所述的一种数字信号的二值算术编码方法,其特征在于所述的range_l的取值有2M-B种情况,其中M为所述的设定Range的初试值的比特数,B为所述的设定的Range减少比特数,所述的range_l·i乘法计算结果用预先存储的对应于的2M-B·N种情况所得到的结果的表得到,即RLPS=range_1<<(B-k)+(Table[index_range][index_i])<<(B-k-L),其中的index_range∈[0,2M-B),nddex_i∈[0,N)。
5.根据权利要求3所述的一种数字信号的二值算术编码方法,其特征在于,所述的k的值由下式计算k=state/K,用以表示的指示区间号。
6.根据权利要求3所述的一种数字信号的二值算术编码方法,其特征在于所述的i由下式计算i=L-state mod L,用于表示区间中状态点的位置。
7.根据权利要求5所述的一种数字信号的二值算术编码方法,其特征在于,所述的计算区间指示值k的实现方式,其中所述的k可以由state右移 位得到,即
8.根据权利要求6所述的一种数字信号的二值算术编码方法,其特征在于,所述的计算区间状态点i由下式得到i=L-state&(L-1),其中&表示“与”运算。
全文摘要
本发明属于信号处理中的算术编码领域,涉及图像/视频编码中算术编码方法。本发明提出的数字信号的二值算术编码方法,其特征在于设计了新的小概率符号的概率值的量化方案,同时量化编码区间,利用移位和相加技术在不损失编码效率的条件下使乘法的近似计算的复杂度尽可能小。本发明同时适于直接计算和查表两种方法。能够取得和现有编码器基本相当的编码效率,同时在实现上更为灵活,可以实现复杂度较低的编码器。
文档编号H04N7/26GK1703089SQ20051001190
公开日2005年11月30日 申请日期2005年6月9日 优先权日2005年6月9日
发明者何芸, 余薇, 吴捷 申请人:清华大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1