论文部分内容阅读
国际电信联盟(ITU)于1996年提出了一种共轭结构代数码激励线性预测(CS-ACELP)的语音压缩编解码算法-G.729。该算法在8kbit/s码率下具有良好的音质,并且延迟较短,因此在IMT-2000、PCS、IP电话以及各种手持设备中具有广泛应用。G.729A是在G.729的基础上进行了部分简化,它使编码的复杂度降低了50%,而语音质量并没有明显降低。本文的主要工作是对G.729A算法的优化及DSP实现。优化体现在三方面:(1)算法优化:G.729A的主要编码参数是LSP参数,它求取LSP参数采用的是契比雪夫多项式法,计算量很大,需要668713个平均指令数。本文提出了一种利用埃特金迭代法和多项式综合除法计算线谱对参数的新算法AP-LSP,将该算法应用于G.729A中,计算量只有98484个平均指令数,运算速度提高了近7倍。(2) C语言优化:主要方法有溢出判断的优化、循环优化和inline关键字的使用等。(3)编译器的优化:主要方法有基本指令集的优化、优化级别的选项、Pragma指令的使用和Debug功能的去除等。通过三级优化后,G.729A算法的运算量从590.097MIPS降低到55.927MIPS,程序执行速度提高了10倍多。DSP实现的硬件平台采用TI的TMS320C5510 DSP,软件平台采用CCS 2.0,主要技术使用DSP/BIOS编程,结合DMA和McBSP进行语音数据传输。对采用DSP/BIOS封装优化后的G.729A算法程序进行测试,运算量仅为18.765MIPS,运算速度提高了30多倍。对优化后及使用DSP/BIOS技术的程序进行测试验证,编解码结果完全正确,运算时延小于算法所要求的最小时延,实现了G.729A协议在TMS320C5510 DSP上的实时化。因此,本文研究的优化方法及采用的DSP/BIOS编程技术对算法的实