论文部分内容阅读
H.264作为目前主流的视频编码标准,在视频编辑、视频会议、安防监控、消费类电子等领域有着广泛的应用。H.264的基本原理并不复杂,其底层运算均为整数运算,特别适合于使用FPGA等可编程器件实现。H264使用了多种模式的预测算法,在FPGA设计中,这些预测模式可以并行处理,从而大大提高编码速度。因此,对实时编码要求较高的场合,研究如何用FPGA来实现H.264编码具有重要意义。本文首先介绍了H.264的基本原理及FPGA的特点与设计流程,在此基础上给出了适合于FPGA实现的H.264编码器硬件结构,并对该硬件结构的各个模块进行了简要介绍,本文重点讲解了其中整像素运动估计模块(IME)和帧内亮度4x4预测(Intra4x4)这两个模块的设计与实现。IME模块采用Level C的数据复用方式,在资源消耗与数据带宽之间能够很好的折衷;SAD计算采用累加树与片内DSP相结合的方式来实现,更加充分的利用了片内的资源;优化了搜索算法的扫描顺序,使得搜索的效率更高。Intra4x4模块采用优化后的4x4子块预测顺序,大大提高了资源的利用率,减少了宏块的处理时延;预测像素的计算和预测模式的判决也采用了优化后的硬件结构,降低了资源的开销。最后,对本设计进行了仿真验证,通过验证和静态时序分析,证明了本设计在功能和时序上的正确性。然后,在Xilinx的xc7z045硬件平台上进行了综合和布局布线,该编码器系统总共占用了38760(8%)个寄存器、73058(33%)个LUT。布局布线后的频率可达到125MHz,处理一个宏块需要440个时钟周期,最终编码速度可达到1080p@35fps,与x264软件编码器的全搜索算法相比,PSNR值的差距在0.2分贝之内。