● 摘要
AACPlusV2是MPEG-4规范下重要的音频编解码标准规格,它是融合了Coding Technologies公司的频带复制和参数立体声技术的先进音频编码,是一种在低比特率下实现高音质的有效的编解码标准,因而在多媒体、移动通信和广播领域都得到了广泛应用。项目的最终目标是在StarCore 140 DSP平台上运行AACPlusV2音频解码器,而来自Coding Technologies公司的参考C++代码不仅与DSP本身的硬件环境不兼容,而且程序的执行速度也根本无法满足严格的实时性要求。所以对参考程序的移植优化就成为主要工作。本文在仔细分析了StarCore 140体系结构和AACPlusV2算法原理的基础上,首先根据需求分析来确定项目的目标和内容;然后进行详细的软件设计,包括可重入、API和数据类型设计;接下来分析制定移植优化的方案,采用了内部函数取代函数重载,编译器优化,剖分得到的关键函数进行手工C/汇编混合编程优化以及等方法。在C/汇编混合编程中,充分利用StarCore 140的指令并行流水线,通过循环展开与合并、改变处理顺序、利用硬件寻址方式,对快速傅立叶变换FFT、QMF子带滤波器、调制解调部分进行了优化。测试结果显示,AACPlusV2解码器消耗的MCPS从735降到了31,达到了项目所要求的小于40的目标,并且解码结果通过项目验收测试标准。本文所讨论的方法和技术不仅适用于StarCore140 DSP平台的音频处理器,对于其它具有并行处理机制的DSP程序优化也具有一定的工程参考价值。
相关内容
相关标签