论文部分内容阅读
随着IP技术的不断发展,VoIP(Voice over IP)即IP语音技术近年来受到越来越多人的青睐。而DSP技术的迅速发展为复杂的语音压缩算法的实时实现提供了可能。定点DSP芯片以其良好的性价比被广泛应用于音、视频处理这一多媒体应用领域。本论文就是基于ADI公司的定点DSP芯片ADSP2181来实现VoIP中的语音编解码算法。目前已在该芯片系列上实现的各种标准算法有G.711,G.721,G.729.A,G.723.1,ILBC等,但由于算法提出的背景和算法自身的特点,这些算法在VoIP应用中大都有本身专利限制或传输速率单一等问题,因而需要没有专利限制,并且可以提供多种传输速率的算法出现。Speex算法就是这样一种集成了窄带、宽带和超宽带的可变多速率,并且完全免费的没有专利限制的开源算法。它支持动态比特率切换,能根据网络及终端的实际情况自适应地选择不同的语音编码速率,减少误码和丢帧对通话的影响,以期获得尽可能好的话音质量。由于Speex种种独有的优点,所以对其算法及其实现的研究具有非常重要的现实意义。本论文对Speex算法作了较为深入的研究,并在24位定点DSP芯片上进行了实现。同时,本文还对代码优化做了一些探讨,并减少了算法的运算复杂度,提高了编码效率。本论文主要完成了以下几项工作:(1)把已有的算法的定点C代码转化为DSP汇编代码。在此过程中通过运行大量的测试序列,对程序进行了反复的调试,保证程序的正确性,期间修改了定点C中的部分溢出错误。(2)对Speex算法的实现机理进行了较为深入的研究,并针对ADSP2181处理器的特点进行了优化。测试结果表明:经过优化,Speex编码算法的运算速度提高了大约40%(48MIPS----30MIPS)。Speex编解码算法最终在一个实际的VoIP电话终端中得到了应用。