论文部分内容阅读
随着科技发展,视频应用不断地得到普及,改变着我们的生活、交流和工作方式。而未经压缩处理的视频数据量往往很大,不便于存储和传输,因此需要进行视频压缩编码来减少冗余信息。而H.264是常用的视频压缩标准之一,它具有压缩率高,信噪比高等优点,尤其适合低码率视频应用场合。H.264视频解码有多种实现方案,常见的有基于通用处理器、基于ASIC、基于DSP和基于GPU等。本文则基于FPGA采用SOPC的方式实现H.264视频解码。SOPC具有软硬件均可编程的特点,设计灵活度高,非常适合用于SOC系统的原型设计。本文先对H.264视频编解码技术和基于FPGA的SOPC开发技术进行介绍。然后以在Xilinx FPGA上实现H.264低码率视频解码为目标,分析了基于软件解码和基于硬件解码的两种SOPC系统设计方案。其中,基于软件解码的SOPC系统是由Power PC处理器执行软件解码程序来完成H.264解码功能;而基于硬件解码的SOPC系统是由特定的硬件电路模块来完成H.264解码功能。在基于软件解码的SOPC系统设计中,深入研究了Xilinx的Power PC440、Crossbar、MPMC和tft controller等IP核,并在XPS开发环境下,利用这些IP核搭建了一个能运行操作系统和支持视频输出显示的嵌入式系统硬件平台。通过在基于Power PC的嵌入式系统硬件平台上移植Linux操作系统,并在Linux上运行开源软件解码程序MPlayer,用软件方式实现了H.264视频解码和输出显示。在基于硬件解码的SOPC系统设计中,通过集成第三方H.264硬件解码IP核,用硬件方式实现基本档次(Baseline Profile)的H.264视频解码,软件部分完成视频输出显示。本文基于Modelsim对第三方IP核的功能进行仿真验证,然后详细讨论了在XPS中集成自定义IP核的过程,包括实现PLB接口,建立IP核目录和利用Chip Scope进行调试等方面。经实验测试,利用第三方硬件解码IP核,能完成基本档次的QCIF大小的H.264视频实时解码。此外,本文给出了一种软硬件相结合的H.264解码器的硬件架构,并用Verilog语言完成了其中的CAVLC熵解码子模块的设计,在Modelsim上进行仿真验证,仿真结果表明模块功能正确。