论文部分内容阅读
本文首先简要介绍了视频编解码技术和常用的实现方案,比较了各种方案的优缺点。结合Xvid编解码模型描述了现今广泛应用的MPEG-4视频标准ASP档次的特点及编解码流程,并介绍了基于LEON3微处理器的SOC平台和配套开发工具。本文将Xvid软件模型移植到LEON3平台中,使用标准测试码流对纯软件的解码性能进行了测试,得出了解码过程中各功能模块占用CPU资源的比例。根据实时解码CIF分辨率图像的设计要求,通过计算和分析,综合考虑了速度、带宽、实现复杂度、灵活性和可扩展性等多方面因素,确定了软硬件协同的设计思想和具体的划分方案。传统的软硬件协同是CPU加硬件加速模块通过总线连接和通信的。这种架构对系统总线带宽压力很大,并不适用于视频解码这种对数据传输要求较高的应用场合。为了解决这个问题,本文提出了CPU加多个协处理器的架构方案,协处理器无需通过总线即可直接访问外部存储器,采用“单指令多数据”的思想,设计了专用的协处理器控制模块CPC,CPU与CPC之间通过协处理器指令实现帧级的软硬件协同,CPC完成协处理器指令译码后通过内部命令字控制IDCT-CP和MP-CP两个专用协处理器进行宏块级的流水解码。本文详细描述了解码器的架构方案、软硬件协同的解码流程以及系统级的数据流和控制流;分析评估了系统工作需要的存储带宽,提出了“二平面存储”的方案来存储参考帧的解码结果,有效地提高了存储带宽的利用效率。在架构方案的基础上,本文对从软件、硬件、软硬件协同三个方面进行了具体的设计和实现。软件方面,对执行解码功能的软件部分从代码结构、数据接口、算法实现等方面进行了进一步的优化,优化后性能提高了46.69%。硬件方面,从功能、工作流程、接口信号及其时序、带宽性能分析、命令字定义以及各个子模块的具体实现等全方面阐述了IDCT-CP和MP-CP两个协处理器的设计和实现方案。软硬件协同方面,设计了系统控制软件,使用协处理器指令控制协处理器工作,总控整个解码流程;设计了专用的软硬件接口模块CPC,实现了软硬件之间的协调和通信。在设计过程中,本文始终将可复用性和可扩展性作为重要的考虑因素。设计了单独的协处理器控制模块CPC,将具体的协处理器功能与软件控制相分离,使得解码器易于移植到其他平台运行;协处理器MP-CP具有正常模式、旁路模式和软件模式三种相互独立的工作模式,分别具有不同的命令字和软硬件划分,适用于不同特点的应用场合;在运动预测过程中,设计了专用Cache,针对运动预测的特点提出了“距离标志”替换算法,经过测试,可以将运动预测过程中对存储带宽的使用量降低20%左右;设计了统一的外存接口模块MCI,为系统内各个与外存有数据交换的模块提供了标准的访问接口和时序,增强了系统的可扩展性。最后,将通过Verilog HDL实现的解码器集成到SOC平台中,进行了功能验证和性能测试。经过测试,所设计的解码器功能正确,在80MHz的时钟频率下,对CIF分辨率图像的解码速率达到60帧/秒,性能与使用硬件加速之前相比提高了4-6倍,完全实现了预定的性能要求。同时,使用130nm工艺库进行了逻辑综合,得到了解码器的速度、面积和功耗等指标,与相关参考设计对比,本文所设计的解码器具有良好的性能/代价比。