2007 年 6 月 JOURNAL OF CIRCUITS AND SYSTEMS June 2007 文章编号:1007-0249 (2007) 03-0117-04一种改进的2.4kb/s 混合激励线性预测声码器方案*马欣, 刘常澍, 李文元, 张毓忠(天津大学 电子信息工程学院,天津 300072 )摘要:本文针对标准的2.4kb/s MELP 声码器的不足之处提出了两项改进措施,一是提出了一种新的参数“能量—微分过零率比”,用来对语音的过渡段和弱能量浊音段的清浊音判决进行调整;二是对线谱对的多级矢量量化(MSVQ )提出了一种多径搜索算法。
实验和主观听觉测试表明,在同样2.4kb/s 的码率下,改进MELP 声码器的合成语音在可懂度和自然度方面都有一定的提高。
关键词:清浊音判决;MELP ;声码器;多级矢量量化(MSVQ )中图分类号:TN912.3 文献标识码:A1 引言在美国联邦政府选择新一代 2.4kb/s 语音编码标准以代替原来的LPC-10e 模型的过程中,A.V. MaCree 等提出了一种混合激励线性预测(MELP ,Mixed Exitation Linear Prediction )声码器方案[1]。
该方案以传统的LPC 线性预测声码器为内核,加入了混合激励、准周期脉冲、自适应频谱增强技术、脉冲波形发散和表示残差基音谐波的傅立叶幅度等五项改进技术。
这些改进使得MELP 在2.4kb/s 的低码率下保证了良好的合成语音质量。
但是,经过大量的听觉测试,发现用MELP 方案合成的语音还是存在一些问题。
特别是在语音的过渡区段,人工合成音的迹象比较明显,语音听起来显得有些生硬。
为了使合成语音听起来更加自然,本文对MELP 算法模型提出了以下两项改进措施:(1)提出了一种新的表征语音特征的参数——短时能量—微分过零率比,以解决语音过渡期和弱能量浊音帧的清浊音误判问题;(2)提出了一种线谱频率多级矢量量化的多径搜索算法,解决了有些情况下编码矢量与输入矢量之间总体失真度偏大的问题。
实验和主观听觉测试结果表明,这两项措施是有效的。
改进后的MELP 模型在同样的2.4kb/s 码率下,合成语音在可懂度和自然度上都有一定的提高。
2 改进的模型 2.1能量—微分过零率比(edzc R )参数实验表明,不自然合成音多发生在元音语音段的开始、结束或两个元音发音之间的结合部分,也就是人的发音状态处于过渡态的时期。
在元音段的开始或结束时期,语音能量通常比较低。
两个元音之间,有一段基音周期不是很规则的时期。
不规则的基音成分或弱能量段使得基音相关性弱,难以准确判定其清浊音性质。
标准MELP 模型对这个问题的解决方法,是采用自相关系数检测法对5个子带进行清浊音初判后,再计算残差信号的峰度(peakiness ),对相应子带的清浊音判决进行调整。
因为峰度是和语音段的能量相关的,通常浊音段的能量要比清音段或无声段高,所以通过残差信号峰度可以减少部分情况下的清浊音误判。
但是峰度调整对于有些情况处理得还是不够理想。
这是因为元音(浊音)开始段和结束段的能量水平通常也比较低,与清音段的能量水平差别并不显著。
所以有时候能量较弱的浊音段还是会被误 * 收稿日期:2004-09-22 修订日期:2004-11-24图 1 原始声音信号、采用标准MELP 算法的合成语音和采用能量—微分过零率比R edzc 改进的MELP 合成语音判为清音,例如图1(b)所示的情况。
针对这个问题,N. Abu-Shikhah 和Weiran Lin 采用了能量—过零率比ezc R 这一参数[2,3],根据能量和过零率两个特征综合进行清浊音判决。
定义为ZCE R rms ezc = (1) 其中,ZC 为每帧样值的过零数;rms E 为该帧的能量,定义如下: ∑==N n rms n s N E 12)(1(2)其中,s (n )为语音信号,N 为每帧样值数。
能量—过零率比参数ezc R 采用了信号的过零率ZC 来表征信号所含的频率成份,过零次数ZC 多就认为高频成分多,具有清音特征;过零次数ZC 少就认为低频成分多,具有浊音特征。
再综合能量特征rms E 进行判决,浊音帧能量rms E 高而过零数ZC 小,从而能量—过零率比ezc R 大;清音帧能量rms E 低而过零数ZC 大,从而能量—过零率比ezc R 小。
这一方法尽管较好地解决了低能量的浊音段被误判为清音的问题,但同时又引入了有的清音帧被误判为浊音的问题。
如图2(a)所示,在有些情况下,清音帧虽然高频成分多,但其过零率并不高。
也就是说,过零次数少并不一定表明是浊音。
若采用能量—过零率比就有可能把该清音段误判为浊音,如图2(b)所示。
为了解决这个问题,本文提出了一种新的参数—能量—微分过零率比edzc R ,用于较低能量段及过渡元音段的清浊判决调整。
能量—微分过零率比,记为edzc R ,定义如下:)('t s rms edzc ZC E R = (3) 其中,rms E 为该帧的能量,定义如(2)式;)('t s ZC 是语音信号s (t )的微分信号在一帧内的过零次数。
能量—微分过零率比是通过语音信号s (t )幅度的上升/下降转折次数来表征信号的频率成分。
含高频成分多的清音帧,其幅度转折次数多;而含低频成分多的浊音帧,其幅度转折次数少。
事实上,这也是一帧内所有波峰和波谷数目的总和。
而这个数目等于s (t )的微分信号s ’(t )的过零次数。
对于类似图2(a)的清音,虽然其过零率较低,但是其幅度转折率即)('t s ZC 还是比较高的。
再加上该清音段的能量rms E 较小,所以得到的edzc R 相对很小,该段语音应被判为清音。
这更接近于实际情况。
图2(c)为采用能量—微分过零率比的MELP 合成语音波形。
能量—微分过零率比edzc R 对于处理弱能量语音帧的清浊音判决调整也同样有效,如图1(c)所示。
2.2 MSVQ 的多径搜索算法标准MELP 采用了4级多级矢量量化法(MSVQ )对线谱频率进行编码,如图3所示。
在第一级,在码本A 中搜索与输入矢量X 距离最近的矢量1A C ,X 与1A C 的差记为1A C X −;在第二级,用码本B 中搜索与1A C X −距离最近的矢量,找到1A C X −的最佳逼近矢量1BC ;逐级类推,一直找到最后一级最佳逼近矢量1D C 。
则输入矢量X 的编码矢量为:1111D C B A C C C C X +++=′ (4)这种逐级搜索最佳编码矢量算法在每一级所获得的矢量失真度最小,但是最后所获得的编码矢量图 2 原始语音、采用能量—过零率比参数R ezc 的MELP 合成语音和采用能量—微分过零率比参数R edzc 的MELP 合成语音图3 4级矢量量化模型第3期 马欣等:一种改进的2.4kb/s 混合激励线性预测声码器方案 119 总失真度不一定是最小的。
其原因为,在对矢量码本进行搜索时,码本中与输入矢量X 距离相近的编码矢量常常非止一个。
若按照逐级单路径搜索的方法,只能在这若干个编码矢量中选择一个与X 距离最小的一个作为编码矢量。
这在非多级码本的情况下,固然是一个好办法。
但对于多级码本的情况,就有可能将最佳的那个搜索路径在第一级或前面某一级被忽略。
采用多径搜索方法,可以很大程度上避免最佳搜索路径被遗漏,得到更精确的输入矢量X 的编码矢量。
本文提出一种多级码本搜索的多径搜索方法,如图4所示。
多径搜索的过程为:在第一级矢量量化时,按照感知加权测度,找出与输入矢量X 感知加权距离最近的P 个编码矢量(根据经验,可选P =2或3),并分别计算出这P 个编码矢量与X 的编码误差i A C X −(i =1,2,…,P )。
在第二级对这P个编码误差进行逼近搜索,得到P ×P 种逼近途径。
在这P ×P 个逼近途径中,再以总体感知加权失真度最小的原则选取P 个途径,作为下一级码本搜索的起点。
如此循环直到最后一级,就会在多级(本文模型为4级)码本中找到P 个总体编码误差最小的搜索路径。
再从这P 个路径中,找出具有最小误差的路径,即可得到最佳的编码矢量。
当然,采用多径搜索算法增加了对码本的搜索次数,从而增加了运算量。
原标准算法需要对码本做128+64+64+64=320次搜索。
在多径搜索算法中,要对码本做128+(64+64+64)×P 次搜索。
若取P =2,那么码本搜索的运算量约为标准码本搜索算法运算量的1.5倍。
若取P =3,则搜索运算量约为2倍。
搜索运算量与路径P 的取值之间是线性正比关系。
为了控制搜索运算量的增加,P 不宜取得过大。
3 主观听觉测试结果本文对标准MELP 声码器模型和改进的MELP 声码器模型,都在Microsoft Visual C++环境下,用C 语言进行了模拟。
为了验证改进的MELP 声码器的合成语音质量,组织了一个非专业的5个人的测试小组,分别进行了可懂度测试和MOS (主观平均分)分值测试。
测试矢量采用无噪声背景的汉语播音员语音,男声、女声各2组。
首先给被测试者听一遍未被编码处理过的原始语音作为参考基准,然后随机地从原始语音、2.4kbpsMELP 合成语音和改进2.4kbps MELP 合成语音中各选取一种,放给被测试者听,让他们在不知道音源的情况下对听到的语音质量打分。
这样做可以避免打分时的倾向性。
表1给出了可懂度测试结果。
表2给出了MOS 分测试结果。
结果表明,本文对MELP 模型的改进使合成语音在可懂度和自然度上都有一定的提高。
4 结论本文对标准的2.4kb/s MELP 声码器模型提出了两项改进措施:(1)能量—微分过零率比参数计算使得对语音过渡段和弱能量浊音段的清浊音判决更加准确;(2)线谱对多级矢量量化的多径搜索方法表1 可懂度测试结果 平均分 声源 男声女声原始语音 97.3 97.6标准2.4kbps MELP 合成语音 94.9 95.2改进2.4kbps MELP 合成语音 95.6 95.9表2 MOS 测试结果 声源 MOS 分值原始语音 5 标准2.4kbps MELP 合成语音 3.5 改进2.4kbps MELP 合成语音 3.6图4 多级矢量量化的多径搜索方法(P =3)120 电路与系统学报第12卷使编码矢量对输入矢量的逼近更加精确。
实验和主观听觉测试结果表明这两项措施是有效的。
改进后的MELP模型在同样的2.4kb/s比特率下合成的语音在可懂度和自然度上都有一定的提高。
参考文献:[1] Alan V McCree, Kwan Truong, E Bryan George, Thomas P Barnwell. A 2.4kbit/s MELP coder candidate for the new U.S. Federal [A]. inProceeding for ICASSP [C]. 1996. 107-112.[2] N Abu-Shikhah, M Deriche. A novel pitch estimation technique using the teager energy function [A]. Proc. ISSPA’99 Signal Process. Appl. 1[C]. 1999-08. 135-138.[3] Weiran Lin, Soo Ngee Koh, Xiao Lin. An 8.0-/8.4-kbps wideband speech coder based on mixed excitation linear prediction [J]. SignalProcessing, 2001, 81: 1437-1448.[4] Alan V McCree, Thomas P Barnwell III. A mixed excitation LPC Vocoder model for low Bit rate speech coding [J]. IEEE Trans. on Speechand Audio Processing, 1995-07, 3: 242-250.[5] 胡剑凌, 徐盛, 陈健. 基于谱特征的清浊音判决[J]. 数据采集与处理, 2002-03. 20-24.[6] 铁满霞, 王都生, 樊昌信. 基于线性预测系数自适应前后向量化的可变速率MELP语音编码[J]. 电子与信息学报, 2001-09. 919-923.[7] Selma Ozaydin, Buyurman Baykal. Matrix Quantization And Mixed Excitation Based Linear Predictive Speech Coding At Very Low Bit Rates[J]. Speech Communication, 2003, 41: 381-392.[8] 魏洪涛. 语音信号混合激励线性预测编码的研究与实现[D]. 硕士论文, 天津大学, 2001-01.作者简介:马欣(1971-),女,天津大学博士研究生,主要研究方向为数字声音处理,音频编码;刘常澍(1946-),男,天津大学教授,主要研究方向为电路与系统;李文元(1946-),男,天津大学副教授,主要研究方向为数字音视频处理;张毓忠(1935-),男,天津大学教授,主要研究方向为数字信号处理,音频压缩编码。