cabac原理及其实现笔记

cabac原理及其实现笔记

ID:14489959

大小:748.00 KB

页数:18页

时间:2018-07-29

cabac原理及其实现笔记_第1页
cabac原理及其实现笔记_第2页
cabac原理及其实现笔记_第3页
cabac原理及其实现笔记_第4页
cabac原理及其实现笔记_第5页
资源描述:

《cabac原理及其实现笔记》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、Context-BasedAdaptiveBinaryArithmeticCodingintheH.264/AVC简称Cabac,H264中的一种熵编码方式:基于上下文的自适应二进制算术编码内容安排:1,介绍算术编码2,介绍二进制算术编码3介绍Cabac及其一些实用的实现方式(参考JSVM代码,也可以参考JM)---张新发一,算术编码算术编码是一种常用的变字长编码,它是利用信源概率分布特性、能够趋近熵极限的编码方法。它与Huffman一样,也是对出现概率大的符号赋予短码,对概率小的符号赋予长码。但它的编码过程与Huffman编码却不

2、相同,而且在信源概率分布比较均匀的情况下其编码效率高于Huffman编码。它和Huffman编码最大的区别在于它不是使用整数码。Huffman码是用整数长度的码字来编码的最佳方法,而算法编码是一种并不局限于整数长度码字的最佳编码方法。算术编码是把各符号出现的概率表示在单位概率[0,1]区间之中,区间的宽度代表概率值的大小。符号出现的概率越大对应于区间愈宽,可用较短码字表示;符号出现概率越小对应于区间愈窄,需要较长码字表示。举例如下:以符号为例在算术编码中通常采用二进制分数表示概率,每个符号所对应的概率区间都是半开区间,即该区间包括左

3、端点,而不包括右端点,如S1对应[0,0.001),S2对应[0.001,0.01)等。算术编码产生的码字实际上是一个二进制数值的指针,指向所编的符号对应的概率区间。n符号序列……的第一个符号S3用指向第3个子区间的指针来代表,可以用这个区间内的任意一个小数来表示这个指针,这里约定这个区间的左端点代表这个指针,因此得到第一个码字.011。n后续的编码将在前面编码指向的子区间内进行,将[.011,.111]区间再按概率大小划分为4份,第二个符号S3指向.1001(S3区间的左端),输出码字变为.1001。n然后,S3对应的子区间又被划

4、分为4份,开始对第三个符号S2进行编码,…….n两个参量:编码点(指针所指处)C和区间宽度A。³初始状态编码点(指针所指处)C=0区间宽度A=1.0³新编码点C=原编码点C+原区间A×Pi新区间A=原区间A×pin序列S3S3S2S4……的编码过程:³第1个符号(S3):C=0+1×.011=.011A=1×.1=.1³第2个符号(S3):C=.011+.1×.011=.1001A=.1×.1=.01³第3个符号(S2):C=.1001+.01×.001=.10011A=.01×.01=.0001³第4个符号(S4):C=.1001

5、1+.0001×.111=.1010011(输出的码字)A=.0001×.001=.0000001解码过程n算法解码采取与编码过程相反的步骤³把接收到的码字串指向其对应的子区间,得到此子区间对应的符号,即为解码后的符号。³即从码字串中减去已解码符号的子区间的左端点的数值(累积概率),³并将差值除以该子区间的宽度(概率值),得到新的码字串。n上述例子³当收到字码串(.1010011)时,其指向子区间[.011,.111],对应于S3,因此,得到第1个符号为S3。³新码字串:(.1010011-.011)÷(.1)=0.100011,新

6、码字串仍然指向子区间[.011,.111],因此,第2个符号仍为S3。³其它符号依次类推二,二进制算术编码二进制算术编码的输入的字符只有两种,如果信源字符集内包含有多个字符,则先将这些字符经过一系列的二进判决,变成二进制字符串。这两个符号构成的序列的编码与算术编码基本原理相同,仍是不断划分概率子区间的递归过程。在两个输入字符中,出现概率较大的为MPS(MoreProbableSymbol),MPS的概率为Pe;出现概率较小的为LPS(LessProbableSymbol),LPS的概率为Qe,Pe=1-Qe。编码初始化子区间为[0,

7、1],MPS与LPS分配如图所示:编码时,设置两个专用寄存器(C,A)C寄存器的值为编码点(指针所指处),初时化为0A寄存器的值为子区间的宽度(该宽度恰好是已输入符号串的概率),初时化为1随着被编码数据源输入,C和A的内容按以下编码规则修正:当低概率符号LPS到来时:C=C,A=AQe当高概率符号MPS到来时:C=C+AQe,A=Ape=A(1-Qe)例:信源符号序列110111110为LPSQe=1/8=(0.001)b1为MPSPe=7/8=(0.111)b初始状态:C=0(子区间起始位置)A=1(子区间宽度)1,第1个符号1为

8、MPSC=C+AQe=0+1´0.001=0.001A=APe=1´0.111=0.1112,第2个符号1仍为MPSC=C+AQe=0.001+0.111´0.001=0.001111A=APe=0.111´0.111=0.11000

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。