论文摘要
熵编码技术是视频编码标准中的核心技术之一。为了提高熵编码技术的性能,产生了基于上下文的熵编码技术。熵编码技术包括变长编码技术和算术编码技术。变长编码技术的优点是计算复杂性低,但是其缺点是其码字的长度为整数长度,并且不能自适应预测输入字符的概率,从而导致它的编码效率很低。算术编码是把可变数目或整个输入字符序列映射为一个码字,所以平均意义下,算术编码可以为输入字符分配长度小于1的码字,除此之外算术编码能根据输入字符的局部统计性,自适应的调整输入字符的概率,因此算术编码的平均码字长度更加逼近极限熵,具有更高的编码效率。但是由于算术编码是基于编码区间的迭代分割,从而导致它的计算复杂度很大。为了解决计算复杂度的问题,很多快速算术编码技术被提出来了,其中H.264/AVC中采用的上下文自适应的二进制算术编码技术(CABAC)就是其中的一个典范,它也是现有的编码效率最高的熵编码器之一。但是随着高清视频和超高清视频的出现,编码效率不再是衡量熵编码技术优劣的唯一标准,编码系统的数据吞吐率已经成为衡量熵编码技术的另外一个标准。由于CABAC中各个过程都是串行执行的,因此其解码数据吞吞率较低,从而使得CABAC在解码高码率码流时,必须运行在很高的时钟频率下,使得其功耗很大,甚至有时不能用CABAC实时解码高码率码流。所以为了提高CABAC的解码数据吞吐率,已经有很多的并行技术被提出来了。这些并行技术在不同的层次上,提高了CABAC各个处理模块的解码数据吞吐率。经过分析,我们发现,当使用这些并行技术时,CABAC中的上下文建模过程便成为了整个系统的瓶颈。因此为了进一步提高CABAC的解码数据吞吐率,我们提出了一种可以并行建模的上下文模型,该模型利用变换量化块中非零系数的个数和每一个非零系数的扫描位置作为上下文,打破不同的非零系数间的上下文依赖关系,从而使得建模过程和算术编码过程可以并行执行,就像没有上下文建模过程一样,提高了CABAC的解码数据吞吐率。另外也使得不同非零系数间的上下文建模过程可以并行执行,可以和现在已经存在的并行技术相结合,最大程度上提高CABAC的解码数据吞吐率。实验结果表明,我们的模型可以取得和CABAC相当的编码效率,在所用的测试序列上,比特率比CABAC降低了0.029%。