h.264 中两种熵编码模式
Entropy coding mode = 0 : Residual block coded usingContext Adaptive Variable Length Coding (CAVLC) andother syntax elements are coded using Exp-Golomb codes
Entropy coding mode = 1 : Residual block and other syntax elements are coded using Context Adaptive Binary Arithmetic Coding (CABAC).
Baseline Profile has support for mode 0 only.
Main Profile and higher profiles support mode 0 and mode 1.
Exp-Golomb编码是一种有规则的变长编码方式,在各类视频编码标准中被广泛应用。Exp-Golomb编码基于符号的概率统计进行编码,用短码字来表示出现概率高的信息,用长码字来表示出现概率低的信息,码长与被编码数成指数对应关系,从而使总体平均码字最短。与定长编码方式相比,节省了大量存储空间
编码格式:[M zeros] [1] [M bits of info]
每个码长都是2M+1,Code_num = 2M + info – 1
采用指数哥伦布码的优势在于:一方面,它的硬件复杂度比较低,可以根据闭合公式解析码字,无需查表;另一方面,它可以根据编码元素的概率分布灵活地确定以k阶指数哥伦布码编码,如果k选得恰当,则编码效率可以逼近信息熵