论文部分内容阅读
H.264视频标准应用于众多的消费类电子中,主要包括:MP4、手机电视、数字电视等。H.264的熵编码采用哥伦布编码和基于上下文的自适应变长编码(Context-based Adaptive Variable Length Coding,CAVLC),其中CAVLC编码方式引入了上下文模型,进一步提高了压缩率。在压缩率提高的同时,H.264熵解码的复杂度比MPEG-4视频标准有了进一步提升。在面对高清视频序列解码时,软件解码已经不能达到实时性的要求,所以本文提出了H.264熵解码器的硬件设计方法及FPGA实现。完成的主要工作包括以下几个方面:(1)熵解码器整体结构设计:依次介绍辅助头信息解码模块(包括序列参数集、图像参数集、条带头、条带数据、宏块层中的部分参数、运动向量残差的解码模块)和像素残差的解码模块。辅助头信息解码模块主要依靠哥伦布解码模块实现,像素残差的解码模块依靠CAVLC解码部分实现。通过顶层控制模块构建成完整的熵解码器。(2)关键模块的优化:在CAVLC解码器中引入流水线控制,通过合理分配时钟,使得CAVLC解码器在解码量化系数为28的I帧时,解码每个宏块需要消耗350个时钟周期。在解码元素“coeff_token”时,将高频码字和低频码字分开处理。高频码字的码表采用组合逻辑实现,低频码字的码表存储在存储器中进行解码。在存储低频码字码表时,采用了新的存储策略,在码字生成地址的方式上进行了改进,减小了在解码时所需的存储器的资源。(3) H.264熵解码器原型芯片设计与实现:整个设计采用Verilog HDL语言描述,通过Modelsim软件进行熵解码器的仿真,通过JM参考软件解码结果对比Modelsim软件的仿真结果,完成了熵编码器的仿真工作,并且将其整合到了一个完整的H.264解码器上实现了解码器的正常工作。实验中的FPGA开发板采用Altera的Stratix II EP2S180型号芯片,将整个H.264解码器完成仿真后下载到FPGA芯片中,通过显示器做出输出显示设备,实现了正常的解码。其中熵解码器模块单独综合的频率可达到123MHZ。按其解码的平均时钟周期来看,在频率能达到100MHZ的情况下,熵解码器部分可满足分辨率为1920x1088,帧率为30fps,量化系数为28的视频序列的解码。