论文部分内容阅读
在现代通信系统中,VoIP(Voice over IP)已经成为一个热门领域,并且得到了广泛的应用,但是同时网络电话的语音传输质量成为制约其发展的重要因素,与其他语音算法相比,iLBC(Internet Low Bitrate Codec)算法更加适用于IP分组网络环境中。iLBC算法是对CELP(Code Excited Linear Prediction)算法的一种发展,它独有的动态码本更新技术、丢包掩蔽技术以及语音增强模块,使得iLBC算法即使在十分恶劣的网络环境中也能有很好的性能。
本文研究了iLBC算法基于ARM平台的移植及优化过程。由于ARM嵌入式处理器具有低成本、易开发等特点,非常适用于实时处理语音编解码器,因此研究如何高效的在ARM平台上实现iLBC算法是非常必要的。本文首先介绍了iLBC算法的原理;其次,由于ARM处理器支持定点运算,而iLBC算法中存在大量浮点函数模块,因此浮点函数必须转化为定点函数,介绍了如何选取合适的转化方法从而保证数据范围与精确度;接下来具体论述了为了高效移植iLBC算法采取的优化方法,本文采取的优化方法主要包括C结构优化及汇编优化两部分;在论文的最后,利用典型语音序列测试定点化及优化后的程序性能。通过与优化前算法进行对比,iLBC编码器与解码器的性能都得到了显著提升,编码器的复杂度降低了86%左右,解码器的复杂度降低了85%左右。优化后的iLBC算法可以被用于许多实时应用中。