发信人: micheal (平凡的世界), 信区: ECE
标  题: [转载]低比特率语声编码器的新发展[98.6]
发信站: 哈工大紫丁香 (Mon May  1 16:15:32 2000), 转信

[ Violence: 这篇文章来自1998年6月北方交大学报,已经“不新”了的说。 ]

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

马金明 丁晓明 裘正定
(北方交通大学电子与信息工程学院,北京 100044)

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

关键词 语声编码器 低比特 多媒体通信
分类号 TN912.32

  
  语声编码是指在传输和存储时降低描述数字语声的比特率,而使语声音质在应用中
能被接受的处理过程.作为多媒体通信中信息传输的一种方式,语声编码的应用非常广泛
.在实际应用中,根据算法特点和性能指标来选择合适的语声编码器,非常必要.从1995
年到1996年,三种新的语声压缩编码标准:ITU-T建议Rec.G.729、Rec.G.729Annex A和
Rec.G.723.1(以下简称G.729、G.729 A和 G.723.1)先后问世.比特率低是这三种声码
器的共同特点,但在算法和性能指标上它们又有着较大的差异.G.729是一种基于8 kb/s
传输速率的共轭结构代数码激励线性预测声码器(CS-ACELP),算法延迟为15 ms,它
提供的语声质量能够满足网络通信的要求.其附件G.729A是CS-ACELP算法的一个简化版
本,复杂度较G.729有较大幅度的降低.G.723.1是基于6.3 kb/s和5.3 kb/s两种传输速率
的语声编码器最初是为低比特率可视电话设计的,算法延迟为37.5 ms.与G.729声码器相
比,G.723.1又进一步降低了传输速率,但是,它的音质也有所下降.  

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

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

  (2)延迟 语声编码器的延迟主要由算法延迟和处理延迟两部分组成.在分析语声信
号之前,必须把一帧的有效数据(包括“前向预测”部分)存入缓存.这种延迟称为算法
延迟,这是唯一一种不能通过改变实现方法来减少的延迟.处理延迟是编码器分析语声信
号和解码器重构语声信号所用的时间,它取决于实现编码器的硬件的速度.算法延迟和处
理延迟的总和称为单向编解码延迟.
  一个完整的时间帧从编码器传输到解码器所需的时间称为通信延迟.单向编解码延迟
和通信延迟的总和称为单向系统延迟.在没有回声的情况下,可以容忍的单向系统延迟最
大值为400 ms.然而,新的测试方法表明,如果通信上容易实现,单向系统延迟最好低于
200 ms.如果有回声,可以容忍的单向系统延迟上限仅为25 ms.因此,使用回声抑制设备
通常是必要的.

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

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

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

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

 (2)预测系数量化  G.729和G.729A预测系数的量化方法完全相同.两者都是先将预
测系数变换为线谱频(LSF),然后,再按照均方误差(MSE)最小的原则,经二级量化
,将线谱频矢量量化为两级码本索引,用18个比特传输出去.解码时,当前帧的第二子帧
直接使用重构的预测系数,而第一子帧则使用前一帧的预测系数和当前帧预测系数的内
插值.
  G.729和G.729A不同之处在于G.729A使用较小的契比雪夫表搜索线谱频(LSF)[2]
. G.729将(0,π)平均分为60个间隔,每个间隔中再等分四次, G.729A则将(0,π
)平均分为50个间隔,每个间隔中只等分两次.这样大约可以减少运算量0.5 MIPS.与G.
729不同,G.723.1对预测系数的量化是在将其转化为线谱频(LSF)后,通过一阶预测求
出线谱频(LSF)的预测差值.然后,按照最小加权均方误差(LWMSE)原则,将预测差值
量化为三个8比特的码本索引传输出去[3].
  上述措施使得G.723.1的比特率较G.729(包括G.729A)有较大幅度的降低.但也使得
G.723.1的预测精度降低,合成语声质量稍差.

 (3)基音周期提取 G.729(包括G.729A)和G.723.1提取基音周期的原理基本相同,
都包括开环基音估计和闭环基音提取两个阶段.在G.729中,感觉加权滤波器用未量化的
线性预测系数实现.而在G.729A中,感觉加权滤波器由量化后的线性预测系数和合成滤波
器组合构成[2].这样做,大约可节省运算量1.3 MIPS.另外,G.729A还简化了搜索范围
,在k∈[80,143]的范围上,只计算偶数点的自相关函数,大约可降低复杂度0.6 MI
PS.在G.723.1中,开环基音估计频率由G.729和G.729A每帧一次,增加到每帧两次[3]
.这主要是因为G.723.1的帧长较大,增加基音提取次数,可以使闭环基音搜索的精度更
高.
  为了避免把基音周期的倍频作为基音周期提取出来,在比较各个峰值点时,G.729(
包括G.729A)和G.723.1都采取了一定的修正措施.
  在闭环基音提取阶段,G.729和G.729A,都使用了分数基音延迟搜索,进一步提高了
搜索精度.G.723.1没有进行分数基音延迟搜索,只是按照最小均方误差准则,在开环基
音延迟的附近,寻找更为精确的基音延迟,并将闭环基音提取与计算自适应码本的贡献
结合在一起,用一个5阶预测器完成.这样做,降低了G.723.1的复杂度,也使合成语声的
质量有所降低.
  完成闭环搜索后,G.729和G.729A将第一子帧的基音延迟用8个比特表示,将第二子
帧与第一子帧基音延迟的差值用5个比特表示,连同一个奇偶校验位,每个10 ms的语音
帧需要用14个比特传输基音延迟[1].而G.723.1则将奇数子帧的基音延迟用7个比特表
示,将偶数子帧与奇数子帧基音延迟的差值用2个比特表示,每个30 ms的语音帧需要用
18个比特传输基音延迟,相当于每10 ms用6个比特[3].
 
 (4)激励码本的搜索 G.729(包括G.729A)的自适应码本和固定码本以及G.723.1低
速率版本(5.3 kb/s版本)的固定码本均采用了解析码本的形式.G.723.1高速率版本(
6.3 kb/s版本)的多脉冲激励最大似然量化器,本质上是解析码本的一种变化形式.由于
采用了解析码本,解码器利用传输码流本身的信息,就可以重构码矢和码本增益,而不
需要象通常的矢量量化方法那样,去搜索一个具体的码本.这使得声码器的结构得到了简
化,并进一步提高了它的工作效率.G.723.1省略了自适应码本的搜索,只用一个5阶的预
测器估计自适应码本的贡献.这样一来,简化了算法,也降低了合成语声的质量.
  G.729、G.729A和G.723.1的低速率版本(5.3 kb/s版本)使用了形式相同的固定码
本,这种码本的每一个码矢都由四个位于不同样点子集的单位脉冲构成,因而被称为代
数码本.G.723.1高速率版本(6.3 kb/s版本)也只是增加了单位脉冲的数量,以获得更
好的语声合成效果.固定码本搜索(在G.723.1高速率版本(6.3 kb/s版本)中是多脉冲
激励最大似然量化)的任务就是确定这些单位脉冲的极性、增益和位置.
  在G.729和G.729A中,前三个子集,每个子集有8个可能的脉冲位置,第四个子集有
16个.编码时,前三个脉冲的位置用3个比特编码,后一个脉冲的位置,用4个比特编码[
1].在G.729A中,固定码本搜索采用深度优先树型搜索方法[2],使运算量减少大约5
.35 MIPS.
  在G.723.1中,子帧长度为60个样点,为简化搜索,其低速率版本(5.3 kb/s版本)
又进一步规定,这四个脉冲或者全部位于偶数样点,或者全部位于奇数样点.编码时,这
些脉冲位于奇数样点,还是偶数样点,用一个专门的比特表示[3].
  G.723.1高速率版本(6.3 kb/s版本)增加了码矢中激励脉冲的数量(偶数子帧的激
励脉冲数量增加为6个,奇数子帧的的激励脉冲则增加为5个),并且规定,激励脉冲的
位置,只要是全部在奇数或偶数样点上,就可以在30个可能的位置上任意组合[3].这
样做,放宽了对激励序列的限制,使之能够更好地模拟语声信号的声门特性,提高了合
成语声的质量.
 
 (5)小结 与 G.729相比,G.729A复杂度的降低主要是通过简化固定码本和自适应码
本的搜索、简化感觉加权滤波器的构造以及缩小基音延迟和线谱频(LSF)的搜索范围来
实现的.另外,后向滤波器也简化了.G.729A的复杂度,比G.729大体上减少了50%.但在某
些运行条件下,其性能也略有降低.
  与G.729A声码器相比,G.723.1又进一步降低了传输速率.这主要是通过增加帧长、
省略自适应码本贡献的计算、简化基音延迟和自适应码本的搜索来实现的.伴随着传输速
率的降低,G.723.1的延迟也有较大幅度的增加.但是,在延迟可以容忍的条件下, G.72
3.1可以提供一个低复杂度的算法来代替G.729,而仅仅使得通话质量有轻微的下降.
  
3 结束语
  表1[4]列出了这三种编码器的各种性能参数.在实际应用中,用户可根据作出选择
.这三种新的ITU-T建议G.729、G.723.1和用于DSVD的G.729A,都有潜力成为国际互联网
或其他网络的主要语声载体.它们的复杂度低,可以在个人电脑的主处理器上执行或作为
调制解调器芯片的一部分加以实现.合成语声质量和传输带宽可互相折中,使用户选用时
十分方便.
  
   表1 三种新的ITU建议性能比较
 ITU建议 速率kb/s 帧长度/ms 算法延迟/ms 复杂度/MIPS 字长RAM/16KB
G.729    8    10    15         20      2.7
G.729A      8       10       15            10.5        2
G.723.1(高) 6.3     30      37.5           14.6       2.2
G.723.1(低) 5.3     30      37.5           16         2.2

  注:复杂度是指当算法在不同的定点DSP处理条件下实现时,复杂度以运算性能最低的
DSP为准.
  在这三种声码器中,G.729复杂度最高,合成语声质量也最好,可以满足网络通信要
求.复杂度的大幅度降低,使得G.729A便于和MODEM以及回声抑制等功能集中在一块DSP芯
片上实现。

--
┌┬┬┬┬┐      ┌────┐    ┏━━━━┓
││││││  ┃┃  ├────┤    ┃┼┼┼┼┃
││││││ ━╋╋━ ├────┤ ━━ ┃┼┼┼┼┃
││││││ ━╋╋━ ├────┤ ━━ ┃┼┼┼┼┃
││││││  ┃┃  ├────┤    ┃┼┼┼┼┃
└┴┴┴┴┘      └────┘    ┗━━━━┛

※ 修改:·violence 於 Mar  7 20:31:30 修改本文·[FROM:   162.105.27.74]
※ 修改:·violence 於 Mar  7 23:01:33 修改本文·[FROM:   162.105.27.74]

--
☆ 来源:.哈工大紫丁香 bbs.hit.edu.cn.[FROM: sillystone.bbs@smth.]
[百宝箱] [返回首页] [上级目录] [根目录] [返回顶部] [刷新] [返回]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:3.507毫秒