网站公告列表

  没有公告

加入收藏
设为首页
联系站长
您现在的位置: 61IC中国电子在线 >> DSP >> FAQ >> 软件开发 >> 文章正文
  [组图]G.729 CS-ACELP语音译码器丢失帧的重建机制         ★★★ 【字体:
G.729 CS-ACELP语音译码器丢失帧的重建机制
作者:薛 质 …    文章来源:本站原创    点击数:    更新时间:2007-1-19    

薛 质 顾尚杰

 

摘 要:在分组网络中传输语音时,因为存在流量过载的情况,所以需要考虑其引发的分组丢失对生成语音质量的影响.对于采用合成分析法的语音编码方式,一旦分组()丢失,会引起译码器输出语音的质量明显降低.介绍了一种基于共轭代数码本激励线性预测编译码器丢失语音帧的重建机制,依照G.729标准的三种兼容程度(完全兼容、比特流兼容和不兼容)分别建立模型,重点在于外推出激励信号和综合滤波器参数.运用本机制模拟随机性和突发性的帧丢失两种情形,发现在帧丢失率达3%时语音质量几乎没有降低,在可同时修改编码器和译码器的情况下,当帧丢失率达到10%时,仍能有效工作.

关键词:码本激励线性预测;帧丢失;帧重建

分类号:TN 912.3

 

Reconstruction of Missing Frames for G.729 CS-ACELP

Xue Zhi, Gu Shangjie

Department of Electronic Engineering, Shanghai Jiaotong University, China

 

Abstract A common issue of speech transmission through packetized networks is to consider the discarded packets as a result of overload.For the CELP-based speech coder,the missing frame will cause significant quality degradation. To improve G.729 output speech quality, the three cases were described:(1)compatible with G.729,(2)compatible with bit-stream,and (3)change both the encoder and decoder.The reconstruction model extrapolated the excitation signal and the short-term synthesis filter.These techniques were quite effective.Very little degradation was observed at frame loss rate up to 3%.For case 3,the output speech was still intelligible at 10% frame loss rate.

Key words code-excited-linear-prediction; frame missing; frame reconstruction

 

1 简 介

 

1.1 共轭代数码本激励线性预测标准

  G.7291]是8 kb/s的共轭代数码本激励线性预测(CS-ACELP)的语音编码标准,译码器结构如图1所示.编码器输入符合G.712标准的模拟语音,经8 kHz采样获得符合G.71116 bit线性PCM信号,译码器输出是与输入一致的模拟语音.

  编码器的每个语音帧长为10 ms,对每帧提取CELP模型参数(包括线性预测系数、固定码本和自适应码本的索引、对应增益),将线性预测系数转换成线谱对,并进行二级矢量量化,编码后的比特流为80 bit/frame.在译码端,根据这些参数检索及计算出激励序列和短时线性预测综合滤波器参数,通过激励短时滤波器再建语音.长时滤波器,即基音综合滤波器,是利用自适应码本实现的.在计算出合成语音之后,通过后滤波进一步增强.

 

 

 

1 G.729CS-ACELP译码器

 

Fig.1  G.729 CS-ACELP decoder

 

 

 

1.2 CELP丢失帧的重建机制

  CELP是采用合成分析法的语音编码方式,但G.729标准缺少修正丢失帧的机制,因此传输时帧的丢失将引起生成语音质量的严重降低.为使生成语音质量最大接近正确传输时的译码器输出,本文采用丢失帧的外推法重建,并依照G.729标准的兼容程度分成三种情形[2],建立各自的重建机制.在此假设丢失帧的可靠检测由外部提供,并且每个接收帧按比特位或完好或全坏.本机制与G.729兼容,可作为G.729的有效补充.

  (1)严格兼容.G.729的编码和译码两者都不允许改变,仅对接收的比特流于译码器前端作预处理.这种要求至少在两种情况下是有用的,一种是G.729可能发展为专用芯片,用户不能访问编译码器的内部操作;第二种是设计人员可以购买G.729DSP目标代码,但同样不能接触其源代码.任何一种情况下,当帧丢失时,本模型能够在该位置区间重建一组比特流,从而使输出语音质量得到提高.

  (2)比特流兼容.不可改变G.729的编码器,而译码器内部操作可以修改,要求修正的译码器继续与G.729编码器兼容.本模型采用外推法得出按增益加权的激励信号和短时综合滤波器,而线性预测和增益适应等关键操作与前正确帧保持一致.

  (3)松散结合.G.729的编码和译码部分都可改变,要求获得重建丢失帧信息的更高健壮性.将每个语音帧按浊音、清音、介音和静音四种属性进行分类,在编码端给每帧附加下一帧的语音属性,这样就可保证当某一帧丢失时,译码端仍能从上一正确接收帧中获得该丢失帧的属性,然后依属性独立地外推出激励和短时综合滤波器,并进一步对线性预测系数和增益预测增加谱平滑和带宽扩展功能,以使生成语音的可懂度和自然度得到提高.

  上述三种情形的重建语音质量依次递增,第一种可以在帧丢失率为3%的范围内有效工作,而第三种在帧丢失率达10%时仍能有效工作,但完全失去了与G.729的兼容性.因此,本文着重讨论第二种情形,既未增加译码器的复杂度,又能与传输的比特流兼容.

 

2 丢失帧的重建机制

 

2.1 系统模型

  当一帧或相邻几帧丢失时,CS-ACELP系统译码端面临两个问题:(1)失去了一队顺序排列的激励信号的所有码元,需要找出可产生最小语音质量失真且平滑过渡的替代激励;(2)一旦帧丢失,译码器失去了所有原来的自适应码本参量、短时线性预测滤波器参数和增益,而G.729又是后向自适应的编码方式,故当接收到下一个好帧后,就需要一定时间才能够收敛.因此,丢失帧后自适应码本和短时滤波器参数的收敛性是本重建机制的一个重要问题.

  如果不对丢失帧采取重建机制,则在译码后的语音会出现短期尖锐“爆裂声”,因为帧丢失时可认为对应位置接收到的是随机码元,而随机码元一般会被译码成高幅度的激励信号.虽然将激励变为零,可避免出现“爆裂声”,但这需要修改译码器的内部操作.所以,当需要与G.729严格兼容时,本重建模型只在译码器前端对比特流作预处理,使修复后的帧包含与前一正确帧相同但能量渐弱的激励信号,这样就能大大减弱短期“爆裂声”,对于突发性的连续数帧丢失会产生更明显的平滑效果,从而使生成语音质量得到提高.

  在可以改变CS-ACELP系统译码器内部结构,即比特流兼容情况下,生成语音仍是由输入激励序列通过短时线性预测综合滤波器产生,其中激励信号是由自适应码本和固定码本矢量按各自的增益加权得出的,而自适应码本(及增益)包含了基音信息.因此,语音质量的决定性因素是线性预测滤波器和自适应码本参数,它们决定了语音的可懂度,而类似随机的固定码本主要决定了语音的自然度.当一帧或连续数帧丢失时,最重要的是保持线性预测滤波器和基音滤波器的平稳过渡,依据前面最邻近的好帧这些正确参数来外推出当前丢失帧的滤波器参数,而固定码本激励则以增益渐弱加权的高斯白噪声或全零序列替代产生.事实上,非静音帧的输出特征主要取决于基音滤波器的状态参量,输入激励的作用并不明显.因为本模型重建的激励包含了增益加权,所以没有增加计算复杂度,对时延没有影响.

  当可同时改变编码器和译码器结构时,本重建模型附加上各帧的语音属性,增强了在较高帧丢失率时的重建能力.浊音的重建激励信号是基于前一合成语音的周期扩展并通过短时综合逆滤波器滤波产生的;清音的重建激励是基于高斯过程,其参数根据前一激励信号估计;介音是采用能量渐弱的伪随机序列作为激励产生的.短时综合滤波器的外推采用最小平方渐弱存储多项式作为反射系数.

2.2 谱外推法生成短时综合滤波器

  短时线性预测综合滤波器的谱外推基于最小平方渐弱存储多项式,它是利用离散拉格朗日多项式产生的.外推法[3]生成一个时刻n的反射系数矢量Cn,其维数等于短时滤波器的阶数.定义以下m阶的多项式:

 

 

 

 

 

其中:P(k)n为拉氏多项式的线性组合;k为时间上的后引指针,以使谱信息Cn的推出依赖于当前时刻n以前的所有反射系数矢量;φj(k)为离散拉格朗日多项式.谱外推法即是计算出使以下差值

 

 

 

为最小的一组最佳系数(βj)n.其中θ为渐弱因子

(0<θ<1),即θkk的增加而递减.

 

3 模拟结果

 

  本机制对于以上三种模型分别作了模拟实验,图2所示为无丢失帧时的G.729译码器输出波形,语音时长为250 ms.3为同样的语音段在某几帧丢失后不采取重建机制的译码输出波形,该几帧用随机码元代替.从图中可见,在70120150 ms附近的三帧丢失,帧丢失率为12%.4所示为本机制中三种重建模型的语音输出,其输入是以上三个位置帧丢失的相同语音.从图4可看出,本模型不仅消除了原先的“爆裂声”,而且提高了译码输出的语音质量,可懂度和自然度依次递增,本机制在帧丢失率小于10%时内能达到较高的性能.

 

 

 

2 通过干净信道的G.729输出语音波形

 

  Fig.2 Clear-channel G.729 decoder output waveform

 

 

 

 

 

3 丢失帧为随机码元时的输出语音波形

 

Fig.3 Output waveform decoded with random bits for missing frames

 

 

 

 

 

4 输出波形

Fig.4 Output waveforms

 

  致谢 本项目研究中的一些结论是作者在美国贝尔实验室进修期间获得的,在此期间得到了贝尔实验室及其上海分部的大力支持,并得到了Sunil K. GuptaPeter Kroon的指导,在此表示诚挚的感谢!

 

*美国贝尔实验室上海分部资助项目

作者简介:薛 质:男,1971年生,讲师.邮编:200030

作者单位:薛 质 顾尚杰(上海交通大学电子工程系)

 

参考文献

 

 [1] ITU-T.Recommendation G.729.Coding of speech at 8kbit/s using conjugate-sturcture algebraic-code-excited linear-prediction(CS-ACELP),1996.

 [2] Watkins C R,Chen J H.Improving 16kb/s G.728 LD-CELP speech coder for frame erasure channels.Proc of ICASSP,1995,1:241244

 [3] Husain A,Cuperman V.Reconstruction of missing packets for CELP-based speech coders.Proc of ICASSP,1995,1:245248

 [4] Kondoz A M.Digital speech:coding for low bit rate communication systems. Chichester,England:John Wiley & Sons,1994.

               欢迎点击进入:TI德州中文网   (国内唯一针对TI应用的中文技术网站)    文章录入:admin    责任编辑:admin 
  • 上一篇文章:

  • 下一篇文章:
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    最新热点 最新推荐 相关文章
    没有相关文章
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    站长:61IC 湘ICP备05002478号