低比特率语声编码器的新发展

发布时间:2005-03-30 作者:马金明Ma Jinming 丁晓明Ding Xiaoming 裘正定Qiu Zhengding 阅读量:

语声编码是指在传输和存储语声时降低描述数字语声的比特率,而使语声音质在应用中能被接受的处理过程。作为多媒体通信中信息处理的一种方式,语声编码的应用非常广泛。因此,在实际应用中,根据算法特点和性能指标来选择合适的语声编码器就非常必要。

      从1995年到1996年,3种新的语声压缩编码标准:ITU-T建议Rec.G.729、Rec.G.729Annex A和Rec.G.723.1(以下简称G.729、G.729A和G.723.1)先后问世。低比特率是这3种声码器的共同特点,但在算法和性能指标上,它们又有着较大的差异。G.729是一种基于8kbit/s传输速率的共轭结构代数码激励线性预测(CS-ACELP)声码器,算法延迟为15ms,它提供的语声质量能够满足网络通信的要求;其附件G.729A是CS-ACELP算法的一个简化版本,但复杂度较G.729有较大幅度的降低;G.723.1是基于6.3kbit/s和5.3kbit/s两种传输速率的语声编码器,最初是为低比特率可视电话设计的,算法延迟为37.5ms。与G.729声码器相比,G.723.1又进一步降低了传输速率。但是,该声码器的音质也有所下降。

 

1 语声编码器性能指标

 

     语声音质是比特率、复杂度、延迟和带宽的函数。因此,研究语声编码器时,考察所有这些特性是非常必要的。而且,这些特性之间相互作用很强,可以互相折衷。例如,编码器的比特率降低时,其延迟要增加,并且相对于高比特率编码器来说,实现低比特率编码器要求更高的复杂度,通常语声音质也较差。文中讨论仅限于取样率为8kHz的电话频带(200~3400Hz)的语声信号。

(1)比特率

     研究语声编码器的比特率,需要综合考虑系统的信源和信道的统计特性。从信道方面来看,由于语声码流与其他数据共享信道,降低语声高峰期的速率,可以提高信道的使用效率;从信源方面来看,一个信源如果无信息可发,就应当让出信道供其他信源使用。由于语声码流与其他数据共享信道,使用速率可变的声码器,会使信号的传输更为经济。通常采用静噪压缩方案(如:ITU-T Rec.G.729 Annex B)来提高信道利用率,也就是对激活的语声使用固定比特率,而对背景噪声使用低比特率。这样,既能产生适当的背景噪声,使人觉得舒适,又能大量节省传输带宽。

(2)延迟

      语声编码器的延迟主要是由算法延迟和处理延迟两部分组成。

      在分析语声信号之前,必须把一帧的有效数据(包括“前向预测”部分)存入缓存。这种延迟称为算法延迟,这是唯一一种不能通过改变实现方法来减少的延迟。处理延迟是编码器分析语声信号和解码器重构语声信号所用的时间,它取决于实现编码器的硬件的速度。算法延迟和处理延迟的总和称为单向编解码延迟。

       一个完整的时间帧从编码器传输到解码器所需的时间称为通信延迟。单向编解码延迟和通信延迟的总和称为单向系统延迟。在没有回声的情况下,可以容忍的单向系统延迟最大值为400ms。然而,新的测试方法表明,如果通信容易实现,单向系统延迟最好低于200ms。如果有回声,可以容忍的单向系统延迟上限仅为25ms。因此,使用回声抑制设备通常是很必要的。

(3)复杂度

      语声编码器经常采用数字信号处理(DSP)芯片等硬件。这些硬件的特性(复杂度)通常以计算速度(以每秒执行多少兆指令——MIPS表示)、随机存储器(RAM)和只读存储器(ROM)来描述。从系统设计者的角度来看,高复杂度意味着高成本和高功耗。因此,复杂度是一个重要因素。如果语声编码器在整个系统的功率和费用中分担的份额较小(10%左右),在给定比特率的情况下,选择音质最好的编码器非常有意义。因为这时功率消耗或成本方面的变化,不会使编码器在整个系统中所占的百分比大幅度增加。如果这个份额较大,则必须进一步权衡。

(4)音质

     在音质所涉及的范围中,最重要的方面之一是在理想条件下(声音清晰,没有传输失真,只编码一次),如何评价编码后的语声音质。值得注意的是,很多应用场合有大量的背景噪声,使得这些理想条件无法得到满足。而且,在信号的传输过程中,信道失真也是不可避免的。这就要求解码器必须有足够的容错能力(鲁棒性)。另外,桥接、级联以及不同的语种对语声编码的处理效果都有一定的影响。所有上述问题都是在设计和选用声码器时必须考虑的。

 

2 G.729与G.723.1的比较

 

     尽管G.729(包括G.729A)与G.723.1都属于线性预测分析合成声码器,但它们在具体构造上还是有很大差异的。下面从分帧、预测系数量化、基音周期提取和激励码本搜索等方面讨论G.729、G.729A与G.723.1的异同点。

(1)分帧方式

      从分帧过程来看,G.729(包括G.729A)的帧长为10ms,80个样点,通过对输入语声序列加窗来实现。其窗口长度为240个样点,30ms,包括过去帧的120个样点、当前帧的80个样点和前向预测的40个样点。因此,G.729和G.729A的算法延迟为15ms。窗口的前5/6是海明窗的一半,后1/6是余弦窗的1/4。这样,既可以使窗口保持较好的谱平滑性,又尽可能地保留了语声信号的波形细节,并且充分利用了语声信号的相关性,能够获得较好的预测精度和较高的合成语声质量,但也增加了声码器的复杂度。G.723.1的帧长为30ms,240个样点,包括4个子帧(搜索基音周期时,只分为两个子帧),其前向预测为60个样点。因此,G.723.1的算法延迟为37.5ms。分帧是通过直接从缓冲区截取输入序列来实现的,这有利于简化算法,降低复杂度,但也使编码语声质量有所下降。因为语声帧越长,其平稳性就越差。

(2)预测系数量化

     G.729和G.729A预测系数的量化方法完全相同。两者都是先将预测系数α i( i=0,…,10)变换为线谱频ω i( i=0,…,10)。然后,再按照均方误差(MSE)最小的原则,经二级量化,将线谱频矢量量化为两级码本索引,用18个比特传输出去。解码时,当前帧的第2子帧直接使用重构的预测系统,而第1子帧则使用前一帧的预测系数和当前帧预测系数的内插值。

     G.729和G.729A不同之处在于G.729A使用较小的契比雪夫表搜索线谱频。G.729将(0,π)区间平均分为60个间隔,每个间隔再等分4次;G.729A则将(0,π)平均分为50个间隔,每个间隔只等分两次。这样大约可以减少0.5MIPS的运算量。

     与G.729不同,G.723.1对预测系数α i( i=0,…,10)的量化是在将α i( i=0,…,10)转化为线谱频后,通过一阶预测求出线谱频的预测差值。然后,按照最小加权均方误差(LWMSE)原则,将预测差值量化为3个8比特的码本索引传输出去。

     上述措施使得G.723.1的比特率较G.729(包括G.729A)有较大幅度的降低,但也使得G.723.1的预测精度降低,合成语声质量因而稍差。

(3)基音周期提取

    G.729(包括G.729A)和G.723.1提取基音周期的原理基本相同,都包括开环基音估计和闭环基音提取两个阶段。

    在G.729中,感觉加权滤波器用未量化的线性预测系数α i( i=0,…,10)实现。而在G.729A中,感觉加权滤波器由量化后的线性预测系数和合成滤波器组合构成。这样大约可节省1.3MIPS的运算量。另外,G.729A还简化了搜索范围,在k∈?眼80,143?演的范围内,只计算偶数点的自相关函数,因而大约可以降低0.6MIPS的复杂度。

     在G.723.1中,开环基音估计的频率由G.729和G.729A的每帧一次,增加到每帧两次。这主要是因为G.723.1的帧长较大,增加基音提取次数,可以使闭环基音搜索的精度更高。

     为了避免把基音周期的倍频作为基音周期提取出来,在比较各个峰值点时,G.729(包括G.729A)和G.723.1都采取了一定的措施来进行修正。

      在闭环基音提取阶段,G.729和G.729A都使用了分数基音延迟搜索,从而进一步提高了搜索精度;G.723.1没有进行分数基音延迟搜索,只是按照最小均方误差准则,在开环基音延迟的附近,寻找更为精确的基音延迟,并将闭环基音提取与计算自适应码本的贡献结合在一起,用一个五阶预测器完成。这样做,降低了G.723.1的复杂度,也使合成语声的质量有所降低。

     完成闭环搜索后,G.729和G.729A将第1子帧的基音延迟用8个比特表示,将第2子帧与第1子帧基音延迟的差值用5个比特表示,连同一个奇偶校验位,每个10ms的语音帧需要用14个比特传输基音延迟;而G.723.1则将奇数子帧的基音延迟用7个比特表示,将偶数子帧与奇数子帧基音延迟的差值用两个比特表示,每个30ms的语音帧需要用18个比特来传输基音延迟,相当于每10ms用6个比特表示。

(4)激励码本的搜索

     G.729(包括G.729A)的自适应码本和固定码本以及G.723.1低速率版本(5.3kbit/s版本)的固定码本均采用了解析码本的形式,G.723.1高速率版本(6.3kbit/s版本)的多脉冲激励最大似然量化器本质上是解析码本的一种变化形式。由于采用了解析码本,解码器利用传输码流本身的信息,就可以重构矢码和码本增益,而不需要像通常的矢量量化方法那样,去搜索一个具体的码本。这使得声码器的结构得到了简化,并进一步提高了它的工作效率。

     G.723.1省略了自适应码本的搜索,只用一个五阶的预测器估计自适应码本的贡献。这样虽简化了算法,却降低了合成语声的质量。

     G.729、G.729A和G.723.1的低速率版本(5.3kbit/s)都使用了形式相同的固定码本,这种码本的每一个码矢都由4个位于不同样点子集的单位脉冲构成,因而被称为代数码本。G.723.1高速率版本(6.3kbit/s版本)也只是增加了单位脉冲的数量,以便获得更好的语声合成效果。固定码本搜索(在G.723.1高速率版本中则是多脉冲激励最大似然量化)的任务就是确定这些单位脉冲的极性、增益以及位置。

     在G.729和G.729A中,前3个子集,每个子集有8个可能的脉冲位置,第4个子集有16个。编码时,前3个脉冲的位置用3个比特编码,后一个脉冲的位置用4个比特编码。在G.729A中,固定码本搜索采用了深度优先树型搜索方法,使运算量减少了大约5.35MIPS。

      在G.723.1中,子帧长度为60个样点,为简化搜索,其低速率版本(5.3kbit/s版本)又进一步规定,这4个脉冲或者全部位于偶数样点,或者全部位于奇数样点。这些脉冲是位于奇数样点,还是偶数样点,编码时采用一个专门的比特来表示。

     G.723.1高速率版本(6.3kbit/s版本)增加了码矢中激励脉冲的数量(偶数子帧的激励脉冲数量增加为6个,奇数子帧的激励脉冲则增加为5个)。并且规定,激励脉冲的位置,只要是全部在奇数或偶数样点上,就可以在30个可能的位置上任意组合。这样做,放宽了对激励序列的限制,使之能够更好地模拟语声信号的声门特性,提高了合成语声的质量。

     综上所述,与G.729相比,G.729A复杂度的降低主要是通过简化固定码本和自适应码本的搜索,简化感觉加权滤波器的构造以及缩小基音延迟和线谱频的搜索范围来实现的。另外,后向滤波器也简化了。G.729A的复杂度比G.729大体上减少了50%。但在某些条件下,其性能也略有降低。

      与G.729A声码器相比,G.723.1又进一步降低了传输速率。这主要是通过增加帧长、省略自适应码本激励的算法、简化基音延迟和自适应码本的搜索来实现的。伴随着传输速率的降低,G.723.1的延迟也有了较大幅度的增加。但是,在延迟可以容忍的条件下,G.723.1可以提供一个低复杂度的算法来代替G.729,虽然通话质量伴随有轻微的下降。

 

3 结束语

 

     在实际应用中,用户可以根据自己的需要,参考这些参数作出选择。

     这3种新的ITU-T建议G.729、G.723.1和用于声音和数据同步传输(DSVD)的G.729A,都有潜力成为国际互联网或其他网络的主要语声载体。它们的复杂度低,可以在个人电脑的主处理器上执行或作为调制解调器芯片的一部分加以实现。合成语声质量和传输带宽可以互相折衷,用户选用时十分方便。

     在这3种声码器中,G.729复杂度最高,合成语声质量也最好,可以满足网络通信要求。复杂度的大幅度降低,使得G.729A便于和MODEM以及回声抑制等功能集成在一块DSP芯片上实现。DSVD在多媒体通信中非常普遍,很明显G.729A就是为此而设计的。由于G.729A与G.729有相同的比特流格式,因而两者可以互相兼容,即G.729编码产生的比特流可以用G.729A来解码,反过来也一样。

      三者之中,G.723.1的速率最低。但是,它的延迟也最大。这使得G.723.1在一些对延迟要求较高的应用受到限制。然而,在延迟可以容忍的条件下,G.723.1可以提供一个低复杂度的算法来代替G.729,而仅仅使得通话质量有轻微的下降。在低比特率可视电话等传输带宽比较窄,而对延迟要求不算太高的场合,G.723.1将得到广泛的应用。

 

参考文献

1 Coding of Speech at 8 kbit/s Using Conjugate-struc-ture Algebraic-code-excited Linear-prediction(CS-ACELP).ITU-T Rec G.729

2 Reduced Complexity 8 kbit/s CS-ACELP Speech Codec.ITU-T Rec G.729 Annex A

3 Dual Rate Speech Coder for Multimedia Communica-tions Transmitting at 5.3 kbit/s and 6.3 kbit/s.ITU-T Rec G.723.1

 

 

(收稿日期:1998-05-08)

[摘要] ITU-T建议G.729、G.729 Annex A和G.723.1是国际电信联盟(ITU)最新颁布的3种适用于多媒体通信的低比特率线性预测语声编码器标准。文章介绍了语声编码器的比特率、复杂度、延迟和音质等性能指标的含义,并通过比较3种标准的新型声码器在算法和性能指标上的异同点,讨论了它们在多媒体通信中的不同应用。

[关键词] G.729协议 G.729A协议 G.723.1协议 国际电信联盟 多媒体通信

[Abstract] Newly issued by the International Telecommunications Union(ITU),Rec G.729,Rec G.729 Annex A and Rec G.723.1 are three standards of speech coders,applicable to low bit-rate multi-media communications.This paper intro-duces the implications of speech coder's performance indices such as bit-rate,complexity ,delay,speech quality and so on. It also discusses the different appli-cations of these three coders by compar-ing their similarity and differences in both algorithm and performance.

[Keywords] Rec G.729 Rec G.729A Rec G.723.1 ITU Multimedia Communi-cation