简介
为了提高通信网中的信息传输效率及实现语音的高效存储,还需要对编码后的数字语音进行压缩,即语音压缩。例如:在移动通信中,最重要的业务就是语音业务,宝贵的无线频谱资源要求每个用户占用的频段越窄越好,而占用频段的大小直接于通话语音的压缩率有关;在多媒体通信中,为了使语音和图像数据在有限带宽的线路上传输,需要对语音和图像数据进行压缩;在对数字语音数据进行存储时,为了节省存储媒体也需要对语音信号进行压缩。可见,语音压缩编码的目的在于在保证语音质量的前提下,尽可能地降低语音信号的编码比特率,以满足窄带信道低码率传输的要求及实现语音的高效存储。
经过几十年的发展,特别是近20年随着计算机和微电子技术的发展,多种高质量的语音压缩编码技术已经相当成熟,并大规模走向实用化。语音压缩编码技术在移动通信中的广泛应用大大节省了宝贵的无限频谱资源,欧洲、北美和日本都先后公布了他们在第二代数字蜂窝移动通信系统中使用的语音压缩编码标准(分别是13Kb/s的RPE-LTP、8Kb/s的VSELP及6.7Kb/s的VSELP),有些语音压缩技术将应用到第三代移动通信(3G)中。语音压缩也应用在保密通信中,如美国国防部的采用CELP编码的4.8Kb/s的FS-1016和采用LPC编码的2.4Kb/s的FS-1015压缩编码标准。语音压缩编码技术与IP技术相融合,形成了新兴的VOIP(VoiceOverInternetProtocol)技术,即通常所说的IP电话。VOIP中的一项关键技术就是语音压缩编码,因为低速率的语音编码对IP网络中语音信息的实时性有更好的保证。此外,语音压缩和语音识别和合成等技术也密切相关。随着语音压缩编码技术的不断完善和发展,必将有更广泛的应用前景1。
典型方法对于中高速率的语音压缩编码而言,高速率编码主要以波形编码为主,其适应能力强、语音质量好,但编码速率较高。中速率编码以混合编码为主,基于语音产生模型的假定并采用了分析合成技术,同时又利用语音的时间波形信息,增强了重建语音的自然度。低速率及极低速率编码以参数编码为主,通过建立语音信号的产生模型,提取代表语音信号特征的参数来编码2。
中高速率编码连续可变斜率增量调制(CVSD)
CVSD(Continuously Variable Slope Delta Modulation)针对输入信号振幅的变化率,调节量化步长的增量值。当输入信号的振幅变化率增大时,增量值也相应地增大;当输入信号的振幅变化率减小时,增量值也相应地减小。利用TI公司的TMS320VC5509定点DSP芯片实现多路全双工16kbpsCVSD语音编解码的方案,并基于摩托罗拉公司的MPC800提出了利用嵌入式系统扩展DSP应用的方法。与其它编码方式相比,CVSD有如下突出特点:
较高的抗误码能力;
算法简单,硬件实现容易;
单路应用时无须采取码元与码组同步措施等。
因此,它是一种在卫星通信、移动通信和军事通信等领域应用非常广泛的波形编码方式。
基于小波分析的语音编码方法
小波在时域频域同时具有良好的局部特性,并且它的基具有多样性,使得它优于傅立叶分析,更适合于语音。它不仅可以单独的处理语音,还可以和其它理论结合用于语音压缩。小波技术与离散余弦变换(DCT)结合:离散余弦变换系数能较好地体现语音信号能量在频域中集中分布的特性,可以重构出高质量的话音,如果采用矢量量化(VQ)的方法直接对离散余弦变换的系数进行编码,运算量较大。可以利用小波变换的多分辨分析特性,对离散余弦变换系数进行离散二进小波变换后,再对其小波系数进行编码。
其优点为:
编码算法简单;
可方便灵活地控制各频率段的位数分配,满足不同编码质量的要求;
在16kbps数据率时,可实现与原话音质量相同的重构语音。
多脉冲激励线性预测编码(MPLPC)的改进
原始的MPLPC方法中,LP滤波器的阶数和激励脉冲的个数都是固定的。对其改进算法使用了可变阶数滤波器的语音编码方法。主要思想是:对于不同的语音帧使用不同阶数的线性预测滤波器,只要低阶滤波器满足要求就不使用高阶滤波器。由于各语音帧滤波器阶数不同,使用的编码位数也不同。为了使整个语音传输速率基本恒定,对于滤波器阶数较低的语音帧,可以相应地增加激励脉冲的个数或增加各脉冲的比特数。用MATLAB对改进MPLPC方法进行模拟,结果表明,此方法可以在6kb/s以下的速率上得到有一定自然度的合成语音,比同速率下的原始多脉冲激励方法有明显改善。但此方法在有噪声和失真的信道上传输的情况需要进一步实验,每帧激励脉冲个数的最佳值需要进一步研究。
低速率编码散布脉冲码激励线性预测(DP-CELP)
码激励线性预测(CELP)算法是最近20年来语音编码中最为成功的一项技术。但是当速率降至4kb/s以下时,为了提高量化效率,必须增加激励矢量的长度,这时还用很少的符号脉冲来描述激励信号就会导致语音质量的急剧下降,这就是传统的CELP算法在4kb/s速率以下质量难以提高的根本原因。
为了解决传统CELP算法在4kb/s速率以下质量难以提高的问题,提出了一种散布脉冲CELP(DP-CELP)语音编码算法。激励矢量由特殊结构的代数码书与固定形式的散布脉冲的卷积获得,在不增加代数码书搜索复杂度的前提下,较好地解决了传统代数码书中符号脉冲不足带来的缺陷,有效地改善了重建语音质量。非正式的主观听力测试表明,这种4kb/sDP-CELP语音编码算法的合成语音质量非常接近G.723.1中6.3kb/s语音编码器,可产生高质量的合成语音。
在此算法的基础上,开发了一种基于TMS320VC5410定点DSP的实时低速率语音压缩系统,将低比特率语音编码算法应用于实际的语音处理系统。为了降低运算复杂度,算法程序使用DSP汇编语言实现。根据C5410定点DSP的指令集特性,以及算法自身的特点,对整个算法进行了2次整体优化和若干次的局部优化,达到了实时实现的要求。由此,产生出了性价比极高的语音编解码系统,在数字存储、多媒体通信等领域有着广泛的应用前景。
多重脉冲散布非均匀代数码本激励线性预测(MPD-USACELP)
由于CELP算法在4kb/s速率以下质量难以提高,在编码器和解码器中分别引入了不同的脉冲散布技术,从而达到了利用较少比特提供高质量激励的目的。根据理想代数码本脉冲在子帧中各位置的概率分布规律,提出了新的非均匀结构代数码本,提高了代数码本的效率,并且引入了基音预加重技术优化了自适应码本搜索。经主观听音和计算机模拟测试,最后形成的3.35kb/s多重脉冲散布非均匀代数码本激励线性预测(MPD-USACELP)语音编码算法的质量达到了北美IS-54标准8kb/s算法的水平。
极低速率编码波形内插(WI)算法的改进
波形内插语音编码在2kb/s~4kb/s的速率上表现出良好性能,并产生了高质量合成语音。但是这种编码算法的计算复杂度非常高,很难在实际中应用,因此在保持语音质量的前提下,降低WI模型的计算复杂度势在必行。
基本的WI编码算法需要在编、解码端都要进行复杂的特征波形(CW)对齐,以保证提取的CW和合成的CW在相位上一致,这使得实时实现整个算法变得非常困难。为了减少这种复杂度,提出一种在编码端去除对齐过程,译码端采用三次B样条的插值模型。通过对慢渐变波形只量化低频分量,而快渐变波形用正交多项式拟合,实现了变维矢量到定维矢量的转换,进一步降低了算法的复杂度。DRT测试结果表明,此2kb/s语音编码方法能获得高可懂度的重建语音。
在WI模型的原理的基础上,针对模型中占主要计算量的2个模块(特征波形的表示和对齐)进行了相应的改进。原WI模型中的特征波形使用了离散傅里叶级数表示,CW对齐也是通过频域傅氏级数实现的,CW的表达和对齐都没有使用快速算法。在改进算法中,先对时域的CW尾部补0,使它的长度为2的整次幂,然后作快速傅里叶变换得到CW的频域表示。因为时域补0起到了对原频域做插值的作用,并不改变原频谱形状,所以再利用三次B样条插值技术,就可以得到相应的傅氏级数;对于CW对齐则先将它的周期延拓为2的整次幂,再利用圆周相关定理通过FFT计算出对齐所需要的位移。改进后的算法相对独立没有影响原编码器其它模块,在保持高质量重建语音的前提下使复杂度大幅下降,更易于在单片DSP芯片上实现。
奇异值分解的波形内插(SVD-WI)算法
波形内插算法中,针对奇异值分解(Singu-larValueDecomposition,简称SVD)理论用于特征波形的分解时,算法延时长、计算复杂和高比特量化参数的问题,提出了一种新颖的基于奇异值分解的特征波形的分解与量化模型。基于降低运算复杂度的考虑,利用语音信号的感知特性,根据所含频率成分的不同,将特征波形的幅度谱分成基本矩阵、过渡矩阵和补充矩阵三个矩阵,并各自采用不同的量化方法;由于特征波形谐波数是时变的,将三个矩阵分为三种组合模式表示特征波形幅度谱,提高了特征波形的表示精度,合成端可以根据不同的精度要求重建语音。这种方法比传统的WI语音编码器减少了一帧延时,主观测试表明,SVD-WI编码器的重建语音质量要好于2.4kb/s混合激励线性预测(MELP)编码器。
线谱对(频率)的量化算法
线性预测是许多低速率语音编码方案的核心技术。为降低编码速率,选用高效的线性预测系数编码方法至关重要。线谱对(linespectrumpair,简称LSP)即线谱频率(linespectrumfrequency,简称LSF)是线性预测系数的等价参数。因此,研究高效率的LSP参数量化方法对低速率语音编码算法的研究具有极其重要的意义。在极低速率的声码器算法研究中,为了实现对LSP参数的高质量低速率量化,提出了一种新的量化算法,称作P-RS-MSMQ(Pattern-basedResidualSplitMulti-StageMatrixQuantization)。此算法在多帧联合矩阵量化的框架下,提出了以下几点新的策略:
基于超级帧模式的均值去除和基于超级帧模式转移的帧间预测;
将预测余量矩阵分裂成子矩阵,并对各子矩阵分别进行多级矩阵量化;
对多帧联合量化引入新的加权策略等。
通过这些措施,有效的提高了量化性能,能够在极低的编码速率下获得高质量的量化效果并且大大降低了量化码本的存贮量和运算量,提高了算法的实用性。此算法已经成功地实现了高质量的1.2kb/s和600b/s语音编码算法。因此,它可以广泛应用于极低速率语音编码算法中。为了降低线谱频率(LSF)参数矢量量化器的搜索复杂度和码字存储单元,利用LSF参数的帧内和帧间相关性,设计了一种LSF参数的预测式多级分裂矢量量化器。该量化器对LSF参数的预测残差矢量进行两级矢量量化。其中第2级的误差矢量分裂成2个维数分别为4和6的子矢量进行矢量量化,采用瞬时联合多级矢量量化器设计算法设计码本,应用M-L树搜索算法搜索码字,降低了搜索复杂度和码字存储单元,同时保持了高效的量化性能。
语音压缩编码标准国际电信联盟(ITU)的G系列标准G.711建议是CCITT(ITU的前身)在1972年制订的64Kb/s的标准PCM(PulsecodeModulation)语音编码,它已经极广泛的应用于数字通信、数字交换机以及一切数字化语音接口中。64Kb/s标准PCM是典型的波形编码。G.721建议是CCITT在1984年确定的32Kb/s的语音编码标准,又称为自适应差分脉冲编码调制ADPCM(Adaptive Differential PCM)。它不仅与PCM有相同的再生语音质量,而且具有比PCM更优良的抗误码性能,已经广泛应用于卫星、海缆及数字语音插空设备以及可变速率编码器中。
G.728建议是CCITT在1995采纳的由AT&T公司提出的一种16Kb/s的称为低延迟码激励线性预测LD-CELP(LowDelay-CodeExcitationLPC)的语音编码方案。LD-CELP的特点是将语音短时谱与长时谱预测、增益因子预测等参数不是从输入语音中提取,而是用一50阶的预测器在后向来实现,传送的信息只是激励矢量,这就压缩传输比特率。LD-CELP可应用于可视电话伴音、存储和转发系统、数字移动无线系统、数字插空设备、语音信息录音、分组化语音等领域。
G.729建议是ITU在1995年通过的8Kb/s的共轭结构代数码激励线性预测CS-ACELP(ConjugatedStructure–AlgebraCodeExcitationLinearPrediction)编码标准。CS-ACELP基于码激励线性预测(CELP)编码模型。帧长为10ms(80个样点)。通过对语音信号的分析,提取CELP模型的参数(LPC参数、自适应和固定码本指标和增益因子)。所有这些参数在编码后被传送。在解码端,这些参数用于恢复激励信号来重建语音信号。短时综合滤波器是一个10阶线性预测滤波器。长时或基音综合滤波采用称之为自适应码本逼近方法来实现。最后,用一个后滤波器增强重建语音质量。8Kb/s的G.729主要应用于个人移动通信、卫星通信、分组语音和数字租用信道等。G.723.1是ITU在1996年提出的编码标准。
G.723.1有两种速率,5.3Kb/s和6.3Kb/s,两种速率对于编码和解码都是不可少的部分。编码器用线性预测分析-综合(Analysis-by-Synthesis)编码方式对语音和音频信号编码,较高速率编码器的激励信号(6.3Kb/s)使用多脉冲最大似然量化MP-MLQ(MultiplePulse-MaximumLikelihoodQuantization);较低速率的(5.3Kb/s)采用代数码激励线性预测ACELP。帧长是30ms,外加7.5ms的Lookhead,故算法的延时是37.5ms。两种码率使系统更具灵活性,可以根据信道的情况在30ms帧边界在两种速率直接切换。G.723.1主要用于低速多媒体系统1。
数字移动通信中的语音压缩标准泛欧数字蜂窝移动通信(GSM)标准RPE/LEP。规则脉冲激励/长时预测RPE/LTP(Regular Pulse Excitation /Long Time Prediction)是欧洲数字蜂窝移动通信系统GSM中使用的13Kb/s的语音压缩标准。它以等间隔(每三个抽样)的规则脉冲序列来模拟音源,以线性预测残差信号的振幅值为基准决定脉冲位置和残差信号,以包含长周期预测(LTP)的反馈型的量化结果为脉冲振幅。算法也属于A-B-S(Analysis-By-Synthesis)分析-综合法。
北美数字蜂窝移动通信(ADC)标准VSELP。电信工业联合会(CTIA)在北美数字蜂窝移动通信中采用了标准IS-54,这个标准的语音编码器称为矢量和激励线性预测VSELP,它是CELP的一种形式,数据率为8Kb/s。北美CDMA的IS-95标准中,采用的语音编码是Qualcomm提出的QCELP。
日本数字移动通信(JDC)标准中,采用的语音编码也是矢量和激励线性预测,码率是6.7Kb/s。
NSA的FS-1015和FS-1016标准美国国防部NSA的FS-1015标准采用LPC-10、LPC-10e算法,主要应用于保密通信、移动通信等,编码速率低,为2.4Kb/s,可懂度较好,但自然度不好,总体来说,语音质量不高。NSAFS-1016标准于1989年制订,采用CELP算法,语音质量提高了许多,但相应的编码速率提高到4.8Kb/s。