CABAC 学习(1)二值化(Binarization)过程分析

本文探讨了二值化在编码过程中的作用,旨在解释为何将非二进制的syntax elements转化为二进制串,以便进行算术编码。通过引用惠普的二进制编码算法书籍,阐述了这一过程的重要性。CABAC(Context-Adaptive Binary Arithmetic Coding)在HEVC中的应用中,大部分syntax elements采用固定长度编码,部分使用Truncated Rice编码,而哥伦布编码则较少见。理解二值化对于掌握编码技术至关重要。
摘要由CSDN通过智能技术生成

以前有人问我,为什么用一种特定的编码,比如哥伦布编码,之后数据位数明显变多了,为什么还要编码?

呵呵, 这就是没明白二值化的实质, 二值化的的目的就是要那些syntax elements的值为非二进制的情况,转化为二进制或者二进制串,这样才能进行下面的算术编码。

为什么要这样?可以参考惠普(HP)写的一本叫做二进制编码算法的书,里面讲的非常清楚。这也是一位北航的前辈的推荐的,在这里感谢下


纵观CABAC过程的syntax elements 的二值化过程表,大部分都是FL(Fixed length ) 编码,就是固定长度编码, 一部分是Truncated Rice ,只有一个是哥伦布,其他单独各自定义的情况,标准书里有详细说明。


几个主要的二值化过程被应用到HEVC中,下面是几个例子: 

N Unary TU(cMax=7) EGk(k=0) FL(cMax=7)
0 0 0 1 000
1 10 10 010 001
2 110 110 011<
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值