[资料分享] 一种高质量的2 kb/s语言编码算法MWI

songbo   2008-8-8 10:47 楼主
文 摘 提出一种高质量的低速率语言编码算法MWI,该算法对传统的波形插值算法WI进行了全面的改进。MWI采用了一种更加合理的插值模型,包括统一的清音和浊音分析合成模型、新的典型波形的提取和表示方法,并且采用动态规划的算法增加基音周期估计的准确性。由于不依赖于准确的清浊音判别,MWI具有更强的抗噪声能力。MWI的参数设置也有利于更加有效的参数量化。随着编码速率的下降,MWI的质量虽然呈下降的趋势,但在2 kb/s的速率下,它仍然能给出具有很高清晰度和自然度的合成语音。构造的完整的MWI 2 kb/s的声码器,具有很高的自然度和可懂度。
关键词 低速率语音编码; 波形插值; 统一的合成算法
分类号 TN 912.32

  近年来低速率语音编码算法得到了巨大的发展,继80年代美国政府标准LPC-10(FS1015)之后又出现了许多新的算法。目前比较有代表性的算法如混合激励线性预测(MELP),多带激励(MBE)和波形插值(WI)。这些算法各自采用不同的语音生成模型,并且都取得了一定的成功。相对来说波形插值基于一种比较松散的体系之上,从而为研究人员提供了许多创新的余地。目前波形插值思想已经被应用到许多的声码器算法中,并得到了很大的发展。但是传统的WI模型也具有许多局限性,许多关键性的问题并没有很好地解决,比如WI模型没有讨论清音的合成问题,而且对于浊音部分,采用固定成分的插值也是不合理的,另外典型波形的提取、表示和量化也有待于进一步研究。为了解决这些问题,本文提出一种更加合理的波形插值声码器的模型MWI,试验证明本文提出的算法是成功的。
1 传统波形插值算法的问题和MWI的改进
  波形插值编码算法基于这样一种语音编码思想,即对于象浊音这样的准周期性的语音信号可以用一个典型波形(如一个基音周期内的波形,常在LPC残差域内提取)来表示一段语音,在解码端,通过插值的办法便可以重构原始语音。基于这种思想的低速率语音编码算法已经在实际应用中取得了许多进展。Kleijn的PWI[1]及Y.Shoham的TFI[2]算法证实了波形插值是一种很有前途的低速率语音编码思想。传统的波形插值是针对浊音的准周期特性提出的,其合成算法只适应于浊音,而清音则采用单独的合成算法,比较常用的方法是简化的CELP,Y.Shoham[2]和I.S.Burnett[3]采用了这样的算法。但是准确的清浊音判别是很困难的,对于传统的波形插值算法来说,清浊音判别的错误会导致灾难性的结果。解决这种问题的一种有效方法是对于清音和浊音采用一致的生成模型。在MWI中语音采用浊音度来描述其性质,并且采用了一个统一的语音合成器。这种做法使得合成语音质量大大提高。
  WI声码器在生成浊音信号时采用确定性函数的插值,这种做法会使周期性加强,自然度下降。一种补偿的办法是加入白噪声,但同时也会增加背景噪声。MWI则采用混合激励的模型,激励采用谐波激励和随机激励混合的模型来表示。对于波形插值编码器,周期成分和随机成分的混合模型的建立是一个新的问题。本文对其进行研究,并在MWI中采用了一种比较合理的周期成分和随机成分的混合模型,这种模型更加适合低速率语音编码算法。
  对于典型波形的提取,采用了一种有效方法。典型波形在频域表示,并且对幅度进行矢量量化,使得高效的量化成为可能。由于只保留幅度信息,所以不必进行对齐操作。

2 MWI的基本原理
  对于波形插值算法,语音的周期性表现为典型波形的频谱幅度和相位的短时稳定性,而随机性表现在典型波形的频谱幅度和相位的随机性。MWI中语音激励e(n)采用下面的模型
(1)
式中:Hn为谐波数;A(k,n),ω0(n)是确定性函数,分别为谱幅度和基频;ξ(k,n),θ(k,n)是随机性函数,分别表示谱幅度和相位的随机性。
  对于浊音,ξ(k,n)远小于A(k,n),这是由语音的准周期性决定的。对于清音如果分析区间足够小,仍可以采用确定幅度的随机相位模型。细致地描述ξ(k,n),θ(k,n)的属性是很困难的,所以在实际的波形插值算法中,必须对上面的模型作某些简化以适应量化的要求。本文假设语音在低频段主要是谐波成分,而在高频段主要为噪声成分。这种假设对于大多数的情况下是适用的。ξ(k,n)远远小于A(k,n),假设ξ(k,n)=0。
  为了达到信息压缩的目的,必须降低A(k,n)和ω0(n)的采样率,在MWI中采用帧结构的算法,A(k,n)和ω(k,n)对于n以帧速率采样,A(k,n)第m帧的采样记作矢量A(m),即是第m帧的典型波形,而ω0(n)第m帧的采样等于2π/p0(m),p0(m)为第m帧语音基音周期。但对于A(k,n)采用固定的采样率是不合适的,因为对于浊音和清音来说,语音频谱的包络平稳程度是不同的,对于浊音20 ms左右的分析帧是一个合适的选择,但是对于清音应该采用10 ms或者更短的帧长。所以典型波形的提取频率将区分两种情况,对于浊音度很强的语音为40 Hz,对于浊音度弱的语音为160 Hz。同时典型波形表示的精确性也可以是不同的,对于浊音度很强的语音需要采用很精细的描述,MWI采用Fourier级数的形式,对于清音采用平坦的谱包络。
  下面简单介绍MWI声音编码器的工作过程。在编码端,语音首先通过一个高通滤波器,滤波后的语音用于后面的处理。线性预测分析采用标准的Lenvenson-Durbin递归算法,并采用对称哈明窗和60 Hz频带展宽,提取10阶线性预测系数。LPC系数被转换为LSP参数,量化并且本地解码,插值后构成线性预测滤波器。典型波形以帧速率在残差域内提取。在MWI中典型波形采用基音同步提取,频域表示,只保存谱幅度。在基音周期的估计过程中采用动态规划算法,以增加基音周期估计的精确度。在解码端,MWI中浊音和清音采用统一的合成算法,典型波形在相邻的两帧之间插值以恢复激励信号的幅度信息,而谐波和随机成分的混合比例将由浊音度参数决定,相位信息将在接收端用下面的公式恢复
(2)
式中t0为帧更新时刻。然后激励信号通过合成滤波器得到合成的语音信号。
图1 编码器原理图

回复评论

暂无评论,赶紧抢沙发吧
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复