论文摘要
MPEG-4视频编解码技术这些年来正随着技术的不断进步被大量地应用到便携式的通信娱乐设备中。为迎合这个趋势,市场上出现了一些基于硬件编解码电路的芯片和方案。但这种基于ASIC技术的方案在灵活性和平台的通用性等方面都有不足之处。SoC技术是上世纪90年代末开始发展的一项新技术,它在很多方面弥补了ASIC技术的不足,研究如何在SoC技术上实现软件的MPEG-4视频编解码不但有学术研究上的意义,也有较高的市场应用价值。本文主要内容是站在一个软件设计者的角度,讨论了这样一个MPEG-4编解码芯片的架构和软件设计的方法。由于设计的芯片主要用途是用于移动电话的多媒体应用扩展,所以针对于这样的平台,对芯片设计有着不同于以往的特殊要求,尤其是在面积、功耗、平台通用性等方面。本设计以软件编解码为主,硬件主要起辅助和加速的作用。通过优化配置,本文的设计以较低的软硬件代价实现良好的编解码效果。而同期市场上可见的其它相同应用的产品都采用硬件编解码。同它们相比,芯片采用软件编解码具有平台通用性好,开发流程简单,升级速度快,维护方便等诸多优势。由于在这样一款芯片中,软件担负着主要的编解码任务,所以在研发过程中软件设计者必须站在一个架构设计师的高度,全程参与从芯片硬件结构设计到软件设计的各项工作。在结构设计中,本文通过详细分析MPEG-4编解码的特性和需求以及整个数据通路,建立了以3DSP公司的SP3R5m型DSP为核心,围绕它的一系列的专用硬件电路模块,包括MECU,二维DMA,色域转换等为辅助的硬件框架结构。文中详细分析了DSP的优势,确定了软件和硬件各自的分工。通过量化分析,对各辅助硬件模块提出了性能方面的需求,这些辅助的模块能够加快数据传输和处理的速度,显著提升系统的编解码能力,使得性能和功耗这一对矛盾能够有机地调和。在软件方面,本文以XviD的代码为基础,但是重新搭建了整个软件框架。同时,为了充分发挥DSP,MECU,二维DMA等各部件的性能优势,对软件各个部分作了大量的优化,通过这些优化,整个芯片的编解码能力得到了很大的提高。此外,为了加快编解码的速度,优化过程中还采用了双block DCT,优化的VLC编码以及简化帧类型预测等方法。本文还详细估算了内存的使用量,并且通过大力优化和剪裁,控制了内存的使用量,从而降低了芯片成本。在RTL的仿真环境下测试证明,本设计充分发挥了SoC中软硬件各自的长处,很好地实现了预定的设计指标。