h.264标准中,CABAC的算术编码部分(9.3.4)只是一个参考,实际编码器中并不一定会按照它来实现,像JM中就有自己的算术编码实现方案. 在上篇文章CABAC中有详细的算术编码描述,在了解算术编码原理的基础上,下面分析JM18.6中的算术编码实现. 下图是JM方案编码的一个例子 结合上图的例子分析,JM的方案在下面几部分跟标准有差异 1. 初始化 把$[0,1)$用$[0,2^{26})$来表示,其中有9个bit为$R$,也就是说在初始化时,有 $R \cdot 2^{17} = (R_{…