论文部分内容阅读
在现代语音通信系统中,传输效率和合成语音质量是研究的热点问题,低速率、高质量的语音编解码器成为发展需要。G.729语音编解码算法是ITU?T(国际电信联盟)于1996年制定的,该协议采用的是基于共轭结构—代数码激励线性预测(CS-ACELP )技术,是一种比特率为8kbit/s的语音编码标准。由于经过该算法编解码后的语音质量较好,有着编码速率低,压缩比率较高,延时短等优点,在IPPhone、可视电话、卫星通信以及多媒体通信系统等诸多领域,G.729有着非常广泛的应用。
本课题主要研究的是基于ARM平台来实现G.729编解码算法。G.729编解码算法非常复杂,代码量较大,即使G.729A这个经过简化了的版本,其算法的复杂度依旧较高,如何对G.729算法在ARM平台上编解码的运算复杂度、性能进行改进,采取怎样的优化措施,是G.729算法在ARM平台上实现的关键。本文为实现该算法搭建了基于ARM9的硬件开发平台,系统主芯片采用了功耗低,价格便宜,性能优秀的微处理器S3C2440A,为了使整体设计更为简化,使用了飞利浦公司生产的UDA1341TS语音采集芯片,该芯片能通过IIS接口与S3C2440A相连。本文首先介绍了G.729算法原理涉及的相关理论,包括语音信号产生的数字模型、短时域处理、矢量量化以及线性预测分析等关键技术,在此基础上对G.729编解码算法及源代码进行了深入的分析与理解。接下来对S3C2440A与UDA1341TS的结构功能进行分析,以此为基础,对本系统的硬件电路进行设计,详细介绍主芯片与语音采集芯片之间的接口连接以及相关配置,然后介绍基于已搭建硬件平台的软件设计,包括主程序设计、音频模块驱动程序设计。最后参考G.729算法的延时和存储空间占用情况,针对ARM9平台的特点,对G.729语音编解码算法采取了一系列的优化措施,包括C语言级、汇编级与算法级的优化,优化之后对编码效率、语音质量方面进行评估与测试,结果证明优化程序能够完成实时编解码。
本课题主要研究的是基于ARM平台来实现G.729编解码算法。G.729编解码算法非常复杂,代码量较大,即使G.729A这个经过简化了的版本,其算法的复杂度依旧较高,如何对G.729算法在ARM平台上编解码的运算复杂度、性能进行改进,采取怎样的优化措施,是G.729算法在ARM平台上实现的关键。本文为实现该算法搭建了基于ARM9的硬件开发平台,系统主芯片采用了功耗低,价格便宜,性能优秀的微处理器S3C2440A,为了使整体设计更为简化,使用了飞利浦公司生产的UDA1341TS语音采集芯片,该芯片能通过IIS接口与S3C2440A相连。本文首先介绍了G.729算法原理涉及的相关理论,包括语音信号产生的数字模型、短时域处理、矢量量化以及线性预测分析等关键技术,在此基础上对G.729编解码算法及源代码进行了深入的分析与理解。接下来对S3C2440A与UDA1341TS的结构功能进行分析,以此为基础,对本系统的硬件电路进行设计,详细介绍主芯片与语音采集芯片之间的接口连接以及相关配置,然后介绍基于已搭建硬件平台的软件设计,包括主程序设计、音频模块驱动程序设计。最后参考G.729算法的延时和存储空间占用情况,针对ARM9平台的特点,对G.729语音编解码算法采取了一系列的优化措施,包括C语言级、汇编级与算法级的优化,优化之后对编码效率、语音质量方面进行评估与测试,结果证明优化程序能够完成实时编解码。