论文部分内容阅读
语音通信是人类通信最基本、最重要的方式之一,而语音编码是数字语音通信中的一项重要技术。随着军事通信、移动通信和互联网的飞速发展,人们对语音质量的更高要求,3GPP组织于2001年3月制定了自适应变速率宽带语音编码标准AMR-WB。ITU-T随后在2002年将它选为其16kbit/s编码速率的宽带语音编码标准G.722.2。AMR-WB算法将输入语音采样后编码,编码时分成两个频带:50Hz-6400Hz的中低频带和6400Hz-7000Hz的高频带。与其他语音编码算法相比,AMR-WB具有语音质量高、平均编码速率低和自适应好等优点,在IP电话,第三代移动通信,ISDN宽带电话和视频会议等领域有广阔的应用前景。
由于AMR-WB算法复杂度很高,本文着重研究了该算法在DSP平台上的优化。针对AMR-WB算法的DSP实现,研究了相关的DSP芯片硬件结构,存储空间结构,以及DSP软件开发环境;针对算法的优化,采用了汇编优化,循环合并法优化,DSP内部函数优化等方法;最后将算法的多级分裂矢量量化采用码书分类重排矢量量化器进行了定点实现。本文的主要工作如下:
(1)研究了TMS320C55x的硬件结构及软件开发环境。重点阐述了CPU指令的程序空间和数据空间,在汇编优化时,指令是从程序空间中读取的,而参数的传递则在各个CPU寄存器之间;CMD的编写,包括分配C5509A的存储器,.text,.data等段的配置。
(2)对AMR-WB算法进行了优化。通过CCSv3.3自带的Profile工具,分析了AMR-WB算法中调用次数频繁,耗费指令周期数较多的函数,对这些函数进行了汇编优化。采用C55x编译器提供的内部函数来快速优化AMR-WB算法的C程序代码,如_sadd(),_min()等函数。对一些执行次数相同,且不会相互影响的多个循环进行了合并,减少了循环的判断及数据的装载次数。
(3)定点实现了码书分类重排矢量量化方法。针对16维ISF矢量,通过重新排列码书,将输入的ISF矢量与码书中每一类子码书的特征值进行比较,确定在哪一类子码书中搜索,减少了搜索次数。在合成语音质量基本保持不变的前提下,使AMR-WB算法的运算复杂度得到了大幅度降低。
(4)将优化后的AMR-WB算法在DSPC5509A上运行,测试算法的性能,对合成后的语音进行了客观评价。