首页 » 业界动态 » 基于TMS320C5416的G.729语音编解码算法的优化和实现

基于TMS320C5416的G.729语音编解码算法的优化和实现

作者:  时间:2009-04-07 09:52  来源:

  3.2 G.729在TMS320C5416的实现

  G.729的处理过程中采用块处理技术如图3所示。按照G.729标准,每块(帧)由80个样本组成,最初80个样本被存起来,处理过程中有两个操作是同时进行的。在处理块L中数据的同时,存储L+1块的数据。

 

 G.729的处理过程中采用块处理技术

  在G.729软件仿真时发现运算量较大的部分是LSP系数的矢量量化与激励码本(自适应码本和固定码本)的搜索,这两个部分的运算量大约占全部编解码运算量的60%以上。所以在优化过程中,着重对固定码本Acelp_Code_A()、分数基音分析pitch_fr3()、开环基音分析pitch_ol_fast()、增益量化Qua_gain()等占据绝大多数运算量的函数进行了优化;仅仅简化算法不能满足实时要求,还使用了CCS提供的C优化器进行C语言优化,同时还可以使用内联函数和汇编语句。经过以上处理后,输出的信号满足通信要求。通过分析优化前后这些主要模块的速度对照表(如表1所示),可以看出各个主要模块的优化效果是比较明显的。一帧语音信号经过处理前后幅频图(如图4所示),可以看出语音信号经过处理后保持良好的语音质量。

 

一帧语音信号经过处理前后幅频图

  系统运行主要分为四个过程:语音存储,数据编码压缩,数据解压缩,语音回放。将输入的语音数据首先进行抗叠滤波,然后进行模数转换,经DSP采集并存入RAM存储器中,即是语音存储过程;接着运行编码程序,将前面存储的信息进行压缩并存储,这是编码过程;然后进行解码,并将数据存回原来的位置;最后DSP执行输出指令,将解码后的数据送到数模转换器中,实现模拟输出。

  用C5416最终实时实现了G.729声码器,用该声码器分别实时播放纯语音文件、语音加背景音乐文件。对重建语音质量的主观测试结果表明,恢复语音保留了很好的说话人特征,合成语音的清晰度和自然度均较好。该声码器性能测试数据如下:编解码一帧平均时钟周期数为1 010 350,CPU时钟频率为160MHz,所以编解码一帧需要7.31ms时间;程序RAM容量为9.381KB;数据和常数RAM容量为7.146KB。以上数据表明,G.729编解码器在C5416上实时实现的技术,可以很好地应用在电话会议、多媒体通信以及采用宽带语音编码的通信系统中。

相关推荐

新型声码器CMX638及其应用设计

CMX638  语音编码  CODEC  2009-07-06

基于TMS320C5416的G.729语音编解码算法的优化和实现

TMS320C5416  G.729  语音编码  2009-04-07

GSM系统语音编码器综述

GSM  语音编码  信号处理  2008-08-14

数字音频压缩编码及其播放器的实现

日立为汽车应用推出容量达50GB的专用硬盘

意法升级版32M闪存适合汽车传动系统和变速器控制需求

在线研讨会
焦点