2.4kbps低速率编解码方法的发展和现状
刘俊
(武汉科技大学 信息科学与工程学院)
摘 要:低速率(2.4kbps)的编解码算法自1976年问世以来至今先后经过了LPC-10声码器、LPC-10e声码器与MELP声码器。从前者到后者无论是从算法还是语音的合成质量上都有了很明显的改进。本文就是具体着手于这三种声码器的改进入手的。 关键词:语音编码; 声码器; 线性预测; 混合激励;
The Development of Low Bit Rate Speech Coding methods
LIU JUN
(Information science and Engineering academe in Wuhan University of Science and Technology) Abstract:Low bit rate speech coding methods has come through LPC-10 Vocoder, LPC-10e Vocoder and MELP Vocoder since 1976. From the former to the latter, there are very obvious improvements in the algorithm and the pronunciation synthesis quality. This article focuses on these three Vocoders’ improvements. Key words: speech coding; Vocoder; Linear Prediction; Mixed Excitation;
1 引 言
随着我国通信市场发展步伐的加快,语音传输这一通信传输服务得到了迅速的发展。低速率的语音传输能够降低价格、维持高品质,同时能够提供保密功能。按语音编码的类型可以分为波形编码与参数编码,其中语音波形编码的编码质量较好,其技术实现也较为简单,因而是最早得到广泛应用的语音编码技术。但是波形编码所需的传输速率较高,占用的信道带宽较宽。为了提高通信系统的容量,节省占用的信道带宽,就必须使用编码速率较低的语音编码技术。所以与波形编码相对应的参数编码也就是在这种客观需求的推动下应运而生并得到迅速发展和应用的一种语音编码技术。参数编码的特点就是编码的速率极低,因为它仅对反映语音信号特征的若干参数进行编码和传输,其速率甚至可低至2.4kbps以下,仍能保持较好的重建语音的可懂度。由于编码速率的降低,语音的品质就只能通过复杂的算法来提升。2.4kbps速率的代表方法就是由最早的LPC-10声码器为开端的,进而又改进为LPC-10e声码器和现在主流的MELP声码器。
2 LPC-10声码器
语音传输是目前最主要也是最普遍的通信传输服务。低速率的语音传输能够降低价格、维持品质、并提供保密的功能。由于有限的带宽和使用者的增加,新的语音编码速率已由8kbps(CELP)、4.8kbps(CS-ACELP)、2.4kbps(MELP)降至1.2kbps以下。由于编码速率的降低,语音的品质就只能由更复杂的算法来提升,这使得即时实现语音编码相当困难。自20世纪70年代以来陆续提出了各种改善低速率语音编码质量的方案,这些方案在语音的可懂度、清晰度、自然度等方面都得到相当程度的改善。1976
年美国确定用LPC-10作为在2.4kbps码率上语音通信的标准技术。1981年这个算法被接受作为美国联邦政府标准FED-STD-1015公布。利用这个算法可以合成清晰、可懂的语音,但是抗噪声能力和自然度尚有所欠缺。
LPC-10是一个10阶线性预测声码器,它所采用的算法简单明了。为了得到质量较好的合成语音,它对每一个参数的提取和编码都是很讲究的。LPC-10声码器的编码器部分如下图1所示:
语音输入低通滤波100Hz~3600HzA/D转换8kHz 12bit预加重计算分析相位基音分析存储器预测器分析存储器低通滤波器计算RMS清/浊检测二阶预滤波两帧参数存储器两帧参数存储器计算预测系数AMDF基音提取RMS基音及浊音校正pitch语音输出V/UV并变串及同步产生误差校正映射参数编码 图1 LPC-10编码原理图
由上图可以看到,原始的语音信号经过100~3600Hz的截止低通滤波器除去高频分量后,进行8kHz、12bit的A/D转换,得到数字化语音信号,然后以每秒180个样点分帧,以帧为处理单元,分两个支路同时提取语音特征参数并编码传送。其中,一个支路用于提取基音周期T和清/浊音(U/V)判决;另一支路用于提取声道滤波器参数(RC)和增益因子(RMS)。提取基音周期支路将A/D转换后输出的数字化语音缓存,经过低通滤波、2阶逆滤波后,再用平均幅度差函数(AMDF)计算基音周期,经过平滑、校正得到该帧的基音周期P。与此同时,对低通滤波器输出数字化语音进行清/浊音检测,经过平滑、校正得到该帧的行清/浊音判决信息U/V。LPC-10声码器的解码器部分如图2所示:
串/并交换同步检测误差检测校正解码参书解码帧块到基音块的转换与插值数字语音的输入RMS反射系数转换成预测系数RCT基音产生U/V噪声产生输出存储器计算增益综合器清/浊音开关去加重D/A转换3600Hz低通滤波合成语音输出 图2 LPC-10解码原理图
在解码器端,首先将接收到的信进行串/并变换及同步检测,经过检错、纠错、查表得到基音周期、
清/浊音判断信息、增益以及反射系数的数值。解码器结果延时一帧输出,这样,输出的数据就可以在过去的一帧、现在的一帧、将来的一帧共三帧内进行平滑。由于每帧只传输一组参数,考虑一帧内可能有不止一个基音周期,因此要对接收到的数值进行由帧块到基音块的转换和插值。其中,对数面积比参数值每帧插值两次。RMS参数在对数域进行基音同步插值,基音参数值用基音同步的线性插值,在浊音向清音过渡时,对数面积比不插值。预测系数、增益、基音周期、清/浊音等参数值,对每个基音周期更新一次。这个过程在帧块到基音块的转换和插值中完成。根据基音周期和清/浊音信息决定要采用的激励信源。如果是清音帧,以随机数作为清音帧的激励信源;如果是浊音帧,则用一个周期性的冲激序列作为激励信源。
LPC-10声码器算法的缺点:(1)损失了语音的自然度。在实际语音的残差信号中,有一部分既非周期脉冲有非随机噪声,或者低频段是周期脉冲,高频段是随机噪声。在这种情况下采用简单的二元激励代替残差信号,必然使合成语音听起来不够自然。(2)系统稳定性降低。在噪声的影响下,不易准确提取基音周期和不能正确判断清/浊音。当背景噪声较强时,系统的性能会明显恶化。此外,这个算法不能有效地对抗传输信道中的误码造成的破坏作用。(3)失真度增大。失真的原因是浊音段时域上的周期重复信号使得短时语音的谱形接近于线状分布谱。当其基音周期T很小时,基频 f0 = 1 / T 增加,并与谱包络中的地一功振峰相接近。由于LPC谱估计力图使全极点模型谱接近于信号的谱包络,在估计出的谱包络中会出现极其尖锐的峰值,也就是估计出一个能量极为集中的共振峰值。相应在合成语音中会出现尖峰或毛刺,从而影响语音质量。
3 LPC-10e声码器
由于上述的LPC-10声码器的一些重要缺点,人们对它提出了许多的改进措施。LPC-10e就是一种
改进型的增强LPC-10声码器,它与LPC-10算法是兼容的。在LPC-10e的改进措施中,极为重要的一项就是用混合激励的方式代替了简单的二元激励。这使得LPC-10e的语音合成质量得到改善。1986年,美国第三代保密电话设备(STU-III)确定采用这种2.4kbps的LPC-10e声码器。
LPC-10e声码器的编码器部分如图3.1所示。图中的白化滤波器是指数字语音经过二阶分析滤波后,滤除共振峰的白化语音。这一步骤对于提取基音周期是很有用的。在LPC-10e声码器中,为了使合成语音清楚地再现急剧变化的语音在起伏点的特性,把提取语音特征参数的分析窗的起点取在语音特性短时急剧变化的起始点处,因此,在LPC-10e的原理图中有增加了可以确定起始点的功能。这一措施提高了合成语音的清晰度。
LPC-10e声码器的编解码器部分如图3图4所示:
原始语音输入低通滤波器预加重RMS计算白化滤波器能量计算检测过零率确定起始点AMDF函数设置清/浊音窗基音检测清/浊音判决设置分析窗协方差分析参数编码数据输出
图3 LPC-10e编码原理图
数据输入解码误差校正噪声生成基音参数插值基音脉冲产生器RMSRMS比反射系数转化为预测系数爆破脉冲发生器清/浊音混合器共振峰展宽+第一级合成第二级合成合成语音输出增益调整去加重 图4 LPC-10e解码原理图
与LPC-10声码器的二元激励源不同,LPC-10e声码器的激励源采用的是混合激励的方式。浊音的激励源是由经过低通滤波的周期脉冲序列与经过高通滤波器的白噪声相加而生成的,周期脉冲与噪声的混合比例随输入语音的浊音程度而改变;清音的激励源是白噪声加上随机位置的一个正脉冲跟随由一个负脉冲的脉冲对形成的爆破脉冲。对于爆破音脉冲对的幅度增大,与语音的突变成比例,反之则脉冲对的幅度很下。采用这种混合激励,可使原来的二元激励合成引起的金属声、重击声、音调噪声等得以改善,也使其对清/浊音判决的敏感程度有所降低。共振峰由两个级联的综合器来形成,第一个是全零点滤波器,第二个是LP综合滤波器。由于采用的各项改进措施,LPC-10e的合成语音质量比LPC-10有了明显的提高。
除此之外,LPC-10e还作了其它的改进措施,如:采用了激励脉冲加抖动、单脉冲与码本相结合的激励模式,在基音的提取方法与声道滤波器参数量化上也做改进,这些都对LPC-10e的合成语音质量的提高做出了贡献。
4 MELP声码器
在以上所提到的LPC-10声码器与LPC-10e声码器中,联邦标准线性预测编码算法LPC-10,即
FS-1015标准是由美国在1981年公布的,但是其音质不令人满意,主要是对爆破音的处理不好,后来又提出了上文所说的增强型的LPC-10e声码器,但因当时对语音的研究深度不够,效果也不理想。在1993年,美国国防部语音信号处理协会(DDVPC)开始选择新的美国国防部2.4kbps的标准,DDPVC研究制定了一组最低要求并设计了一整套测试方案。最后在1996年3月最终选用了TI(Texas Instruments)公司推出的混合激励线性预测(MELP)声码器来取代旧标准FS-1015。在1997年3月,这个MELP声码器算法最终确定为新的美国联邦标准。
MELP声码器在传统的二元激励LPC模型上采用了混合激励、非周期脉冲、自适应谱增强、脉冲整形滤波以及傅立叶级数幅度值等5项新技术,是合成语音质量得到了极大的改善,在2.4kbps码率上能提供良好的语音质量。
其MELP声码器的编码原理与解玛原理可以如图5与图6所示:
输入语音傅立叶级数的幅值计算量化编码预处理(高通滤波)非周期性标志纠错编码基音周期的计算LPC分析发送比特流
图5 MELP声码器编码原理图
IDFT傅氏级数幅度值整形滤波带通声音强度+自适应谱增强整形滤波器校正脉冲整形滤波频率发生器整形滤波器LSF图6 MELP声码器解码原理图
增益合成输出
由上图可以看到MELP声码器的基本原理与思想。其算法吸收了混合激励的思想,仍以传统的LPC模型为基础,同时在基音提取和激励信号产生等方面采用了一些新的方法以提高语音合成质量,这些新方法主要包括多带混合激励、使用非周期脉冲、残差谐波处理技术、自适应谱增强技术和脉冲整形滤波。其中,非周期脉冲、多带混合激励、自适应谱增强和残差谐波处理技术用来改善合成语音的激励信号,脉冲整形滤波器用来对合成语音进行后处理。以下是MELP声码器所采用的关键技术。
4.1 多带混合激励
采用多带混合激励是MELP模型中最重要的特征,传统的LPC编码算法在每一帧中仅对输入信号