论文部分内容阅读
H.264/AVC是由国际电信联合会和国际标准化组织共同发展的下一代视频压缩标准之一。新标准中采用了新的视频压缩技术,如多模式帧间预测、1/4像素精度预测、整数DCT变换、变块尺寸运动补偿、基于上下文的二元算术编码(CABAC)、基于上下文的变长编码(CAVLC)等等,其中CABAC和CAVLC属于熵编码。熵编码是H.264核心部分之一,因此对于熵编码核心模块的研究与设计具有比较重要的意义,本论文的工作就是以FPGA为平台完成对H.264熵编码核心模块的研究与设计。CABAC继承了先前的视频编码标准的工作,绕过了已知的基于块的混合视频编码的熵编码方案的缺点,并且将自适应二进制算术编码技术与一系列经过精心设计的上下文模型相结合,在字符简化的原则下,所有非二进制符号都经过了二进制化,使得编码在子符号级上进行,减少了概率模型数量,提高了概率模型的匹配程度。H.264中的块编码是基于4x4块的大小,块系数具有非零系数大都幅值较小且主要集中于低频区域的特征,在经过zig-zag扫描后连续零个数较多,CAVLC针对这种特点,采用了run-level游程编码,有利于编码的优化。在对各个模块的设计中根据不同的条件设定了若干控制与标志信号,如对于编解码输出码流,采用了码字宽度控制信号来将各个子模块的输出进行紧凑的连接并用于存储。本文首先介绍数字视频压缩技术的演变以及H.26L的发展、研究动态与意义、还简要介绍了开发工具与平台,然后详细介绍了H.264熵编码核心模块的设计与实现,并对其中的归一化模块、model_number取值、CABAC中的k阶指数哥伦布码形式及CAVLC中的非零系数幅值编码原理作出深入的分析与研究,还对CABAC与CAVLC的编码性能进行了比较分析。随后对熵编码模块程序的硬件仿真及板级验证进行说明,最后对全文进行总结与展望。在本课题中我所完成的主要工作有:1、对CAVLC中的非零系数幅值编码原理进行分析;2、采用Verilog HDL对CAVLC编解码模块完成设计与实现;3、对CABAC中的k阶指数哥伦布码形式进行解析和说明;4、采用Verilog HDL对CABAC编解码模块完成设计与实现;5、对归一化模块、model_number取值及编解码结果等进行分析与研究;6、使用AlteraFPGA开发板进行熵编码模块的板级调试;