第3章话音编码 水水水水*水水水水冰水水水水水水水水水水水客水水水水水水冰水水水水冰水水水水水水水水水水水水水冰水水水冰水水水水水水水水*水水冰水水水冰水 3.1话音编码概要 1话音波形的特性 3.1.2三种话音编译码器 3.2脉冲编码调制(PM 3.2.1PCM的概念 3.2.2均匀量化 3.2.3非均匀量化 3.2.4μ律压扩(G.711) 3.2.5A律压扩(G.711) 3.3PcM在通信中的应用 3.4增量调制与自适应增量调制 3.4.1增量调制(DMD 3.4.2自适应增量调制(ADMD 3.5自适应差分脉冲编码调制 3.5.1自适应脉冲编码调制(APCM)的概念 3.5.2差分脉冲编码调制(DPCM的概念 3.5.3自适应差分脉冲编码调制( ADPCM) 5.4G.721 ADPCM编译码器 3.6G.722SB- ADPCM编译码器 3.6.1子带编码(SBC) 3.6.2子带一自适应差分脉冲编码调制(SB- ADPCM) 3.7线性预测编码(PC)的概念 3.8GSM编译码器简介 练习与思考题 参考文献和站点 水水客水冰本水水水水水水水水水冰*客水水水水水水客水冰水水水水水水水水*水冰水水水水水水水客水冰客水冰水水水冰冰水水冰水水冰水水水冰本水冰 随着数字电话和数据通信容量日益增长的迫切要求,而又不希望明显降低传送话音信号 的质量,除了提高通信带宽之外,对话音信号进行压缩是提高通信容量的重要措施。另一个 可说明话音数据压缩的重要性的例子是,用户无法使用28.8kb/s的调制解调器来接收因特 网上的64kb/s话音数据流,这是一种单声道、8位/样本、采样频率为8kz的话音数据流。 ITU-TSS为此制定了并且继续制定一系列话音( speech)数据编译码标准。其中,G.711使用μ 率和A率压缩算法,信号带宽为3.4kHz,压缩后的数据率为64kb/s:G.721使用 ADPCM压缩 算法,信号带宽为3.4kz,压缩后的数据率为32kb/s;G.722使用 ADPCM压缩算法,信号带 宽为7kz,压缩后的数据率为64kb/s。在这些标准基础上还制定了许多话音数据压缩标准 例如G.723,G.723.1,G.728,G.729和G.729.A等。本章将重点介绍话音编码的基本思想 而详细计算则留给那些开发和具体设计编译码器软硬件的读者去研究,并可从本章所列的参 考文献和站点中找到你满意的文献资料 3.1话音编码概要 3.1.1话音波形的特性 了解话音波形的基本特性对声音数据的压缩编码、声音的识别和文本-声音的转换等都 有很重要的意义。 当肺部中的受压空气沿着声道通过声门发出时就产生了话音。普通男人的声道从声门到 嘴的平均长度约为17厘米,这个事实反映在声音信号中就相当于在1ms数量级内的数据具有 相关性,这种相关称为短期相关( short- term correlation)。声道也被认为是一个滤波器
第3章 话音编码 *************************************************************************** 3.1话音编码概要 3.1.1 话音波形的特性 3.1.2 三种话音编译码器 3.2 脉冲编码调制(PCM) 3.2.1 PCM的概念 3.2.2 均匀量化 3.2.3 非均匀量化 3.2.4 律压扩(G.711) 3.2.5 A律压扩(G.711) 3.3 PCM在通信中的应用 3.4 增量调制与自适应增量调制 3.4.1 增量调制(DM) 3.4.2 自适应增量调制(ADM) 3.5 自适应差分脉冲编码调制 3.5.1 自适应脉冲编码调制(APCM)的概念 3.5.2 差分脉冲编码调制(DPCM)的概念 3.5.3 自适应差分脉冲编码调制(ADPCM) 3.5.4 G.721 ADPCM编译码器 3.6 G.722 SB-ADPCM编译码器 3.6.1 子带编码(SBC) 3.6.2 子带-自适应差分脉冲编码调制(SB-ADPCM) 3.7 线性预测编码(LPC)的概念 3.8 GSM编译码器简介 练习与思考题 参考文献和站点 *************************************************************************** 随着数字电话和数据通信容量日益增长的迫切要求,而又不希望明显降低传送话音信号 的质量,除了提高通信带宽之外,对话音信号进行压缩是提高通信容量的重要措施。另一个 可说明话音数据压缩的重要性的例子是,用户无法使用28.8 kb/s的调制解调器来接收因特 网上的64 kb/s话音数据流,这是一种单声道、8位/样本、采样频率为8 kHz的话音数据流。 ITU-TSS为此制定了并且继续制定一系列话音(speech)数据编译码标准。其中,G.711使用μ 率和A率压缩算法,信号带宽为3.4 kHz,压缩后的数据率为64 kb/s;G.721使用ADPCM压缩 算法,信号带宽为3.4 kHz,压缩后的数据率为32 kb/s;G.722使用ADPCM压缩算法,信号带 宽为7 kHz,压缩后的数据率为64 kb/s。在这些标准基础上还制定了许多话音数据压缩标准, 例如G.723,G.723.1,G.728,G.729和G.729.A等。本章将重点介绍话音编码的基本思想, 而详细计算则留给那些开发和具体设计编译码器软硬件的读者去研究,并可从本章所列的参 考文献和站点中找到你满意的文献资料。 3.1 话音编码概要 3.1.1 话音波形的特性 了解话音波形的基本特性对声音数据的压缩编码、声音的识别和文本-声音的转换等都 有很重要的意义。 当肺部中的受压空气沿着声道通过声门发出时就产生了话音。普通男人的声道从声门到 嘴的平均长度约为17厘米,这个事实反映在声音信号中就相当于在1 ms数量级内的数据具有 相关性,这种相关称为短期相关(short-term correlation)。声道也被认为是一个滤波器
第3章话音编码 这个滤波器有许多共振峰,这些共振峰的频率受随时间变化的声道形状所控制,例如舌的移 动就会改变声道的形状。许多话音编码器用一个短期滤波器( short term filter)来模拟声 道。但由于声道形状的变化比较慢,模拟滤波器的传递函数的修改不需要那么频繁,典型值 在20ms左右。 压缩空气通过声门激励声道滤波器,根据激励方式不同,发出的话音分成三种类型:浊 音( voiced sounds),清音( unvoiced sounds)和爆破音( plosive sounds)。 1.浊音浊音是一种称为准周期脉冲( quasi-periodic pulses)激励所发出的音,这种准 周期脉冲是在声门打开然后关闭时中断肺部到声道的气流所产生的脉冲。声门打开和关闭的 速率呈现为音节( pitch)的大小,它的速率可通过改变声道的形状和空气的压力来调整。浊 音表现出在音节上有高度的周期性,其值在2~20ms之间,这个周期性称为长期周期性 (long- term periodicity)。图3-01表示了某一浊音段的波形,音节周期大约8ms。这一浊 音段的功率谱密度( power spectral density,PSD)·如图3-02所示 0 2000 4000 10 图301浊音段的波形举例 1假设函数x()具有下面的特性 x(O)=」xO)≤7 该函数在(-∞,+∞)范围里的平均功率表示为 x2(1)k F(o, r) do 右端的被积函数称为x(m)的平均功率谱密度,简称功率谱密度,并记为 S,(o)=lim F,(O, T) 其中,F2(O,T)=x()ed为xr()的付里叶变换
第3章 话音编码 2 这个滤波器有许多共振峰,这些共振峰的频率受随时间变化的声道形状所控制,例如舌的移 动就会改变声道的形状。许多话音编码器用一个短期滤波器(short term filter)来模拟声 道。但由于声道形状的变化比较慢,模拟滤波器的传递函数的修改不需要那么频繁,典型值 在20 ms左右。 压缩空气通过声门激励声道滤波器,根据激励方式不同,发出的话音分成三种类型:浊 音(voiced sounds),清音(unvoiced sounds)和爆破音(plosive sounds)。 1.浊音 浊音是一种称为准周期脉冲(quasi-periodic pulses)激励所发出的音,这种准 周期脉冲是在声门打开然后关闭时中断肺部到声道的气流所产生的脉冲。声门打开和关闭的 速率呈现为音节(pitch)的大小,它的速率可通过改变声道的形状和空气的压力来调整。浊 音表现出在音节上有高度的周期性,其值在2~20 ms之间,这个周期性称为长期周期性 (long-term periodicity)。图3-01表示了某一浊音段的波形,音节周期大约8 ms。这一浊 音段的功率谱密度(power spectral density,PSD)1如图3-02所示。 图3-01 浊音段的波形举例 1 假设函数 x(t) 具有下面的特性: t T x t t T x t T 0, ( ), ( )= 该函数在 (−,+) 范围里的平均功率表示为 F T d T x t dt T x T T T T 2 2 ( , ) 2 1 lim 2 1 ( ) 2 1 lim + → − − →+ = 右端的被积函数称为 x(t) 的平均功率谱密度,简称功率谱密度,并记为 2 ( , ) 2 1 ( ) lim F T T S x T x →+ = 其中, F T x t e dt T T j t x − − = (, ) ( ) 为 x (t) T 的付里叶变换
第3章话音编码 03001000150020002500300035004000 频李(Hx) 图3-02浊音段的功率谱密度举例 2.清音清音是由不稳定气流激励所产生的,这种气流是在声门处在打开状态下强制空 气在声道里高速收缩产生的,如图3-03所示。这一清音段的功率谱密度PSD和图3-04所示 体w内 0 800 3-03清音段的波形举例
第3章 话音编码 3 图3-02 浊音段的功率谱密度举例 2. 清音 清音是由不稳定气流激励所产生的,这种气流是在声门处在打开状态下强制空 气在声道里高速收缩产生的,如图3-03所示。这一清音段的功率谱密度PSD和图3-04所示。 图3-03 清音段的波形举例
第3章话音编码 00 10 05001000150020002500300035004000 频李(Hx) 图3-04清音段的功率谱密度举例 3.爆破音爆破音是在声道关闭之后产生的压缩空气然后突然打开声道所发出的音。 某些音不能归属到上述三种音中的任何一种,例如在声门振动和声道收缩同时出现的情 况下产生的摩擦音,这种音称为混合音。 虽然各种各样的话音都有可能产生,但声道的形状和激励方式的变化相对比较慢,因此 话音在短时间周期(20ms的数量级)里可以被认为是准定态( quasI- stationary)的,也就是 说基本不变的。从图3-01,-02,-03和04中可以看到话音信号显示出的高度周期性,这是 由于声门的准周期性的振动和声道的谐振所引起的。话音编码器就是企图揭示这种周期性 目的是为了减少数据率而又尽可能不牺牲声音的质量。 3.1.2三种话音编译码器 通常把已有的话音编译码器分成以下三种类型:波形编译码器( waveform codecs),音 源编译码器( source codecs)和混合编译码器( hybrid codecs)。一般来说,波形编译码器的 话音质量高,但数据率也很高;音源编译码器的数据率很低,产生的合成话音的音质有待提 高:混合编译码器使用音源编译码技术和波形编译码技术,数据率和音质介于它们之间。图 3-05表示了目前这三种编译码器的话音质量和数据率的关系 话音质量 波形评码器 根合瑞译码器 音源骟译码器 位速率bi 图3-05普通编译码器的音质与数据率
第3章 话音编码 4 图3-04 清音段的功率谱密度举例 3. 爆破音 爆破音是在声道关闭之后产生的压缩空气然后突然打开声道所发出的音。 某些音不能归属到上述三种音中的任何一种,例如在声门振动和声道收缩同时出现的情 况下产生的摩擦音,这种音称为混合音。 虽然各种各样的话音都有可能产生,但声道的形状和激励方式的变化相对比较慢,因此 话音在短时间周期(20 ms的数量级)里可以被认为是准定态(quasi-stationary)的,也就是 说基本不变的。从图3-01, -02, -03和-04中可以看到话音信号显示出的高度周期性,这是 由于声门的准周期性的振动和声道的谐振所引起的。话音编码器就是企图揭示这种周期性, 目的是为了减少数据率而又尽可能不牺牲声音的质量。 3.1.2 三种话音编译码器 通常把已有的话音编译码器分成以下三种类型:波形编译码器(waveform codecs),音 源编译码器(source codecs)和混合编译码器(hybrid codecs)。一般来说,波形编译码器的 话音质量高,但数据率也很高;音源编译码器的数据率很低,产生的合成话音的音质有待提 高;混合编译码器使用音源编译码技术和波形编译码技术,数据率和音质介于它们之间。图 3-05表示了目前这三种编译码器的话音质量和数据率的关系。 图3-05 普通编译码器的音质与数据率
第3章话音编码 1.波形编译码器 波形编译码的想法是,不利用生成话音信号的任何知识而企图产生一种重构信号,它的 波形与原始话音波形尽可能地一致。一般来说,这种编译码器的复杂程度比较低,数据速率 在16kb/s以上,质量相当高。低于这个数据速率时,音质急剧下降。 最简单的波形编码是脉冲编码调制( pulse code modulation,PCM,它仅仅是对输入信 号进行采样和量化。典型的窄带话音带宽限制在4kHz,采样频率是8kHz。如果要获得高 点的音质,样本精度要用12位,它的数据率就等于96kb/s,这个数据率可以使用非线性量 化来降低。例如,可以使用近似于对数的对数量化器( logar thmic quantizer),使用它产 生的样本精度为8位,它的数据率为64kb/s时,重构的话音信号几乎与原始的话音信号没有 什么差别。这种量化器在20世纪80年代就已经标准化,而且直到今天还在广泛使用。在北美 的压扩( companding)标准是μ律(u-law),在欧洲的压扩标准是A律(A-1aw)。它们的优点是 编译码器简单,延迟时间短,音质高。但不足之处是数据速率比较高,对传输通道的错误比 较敏感。 在话音编码中,一种普遍使用的技术叫做预测技术,这种技术是企图从过去的样本来预 测下一个样本的值。这样做的根据是认为在话音样本之间存在相关性。如果样本的预测值与 样本的实际值比较接近,它们之间的差值幅度的变化就比原始话音样本幅度值的变化小,因 此量化这种差值信号时就可以用比较少的位数来表示差值。这就是差分脉冲编码调制 ( differential pulse code modulation,DPCM的基础一对预测的样本值与原始的样本值之 差进行编码 这种编译码器对幅度急剧变化的输入信号会产生比较大的噪声,改进的方法之一就是使 用自适应的预测器和量化器,这就产生了一种叫做自适应差分脉冲编码调制( adaptive differential PCM, ADPCM)。在20世纪80年代,国际电话与电报顾问委员会( International Telephone and Telegraph Consultative Committee,CCIT),现改为国际电信联盟-远程 通信标准部( International Telecommunications Union- Telecommunications Standards Section,ITU-TSS),就制定了数据率为32kb/s的 ADPCM标准,它的音质非常接近64kb/s 的POM编译码器,随后又制定了数据率为16,24和40kb/s的 ADPCM标准 上述的所有波形编译码器完全是在时间域里开发的,在时域里的编译码方法称为时域法 ( time domain approach)。在开发波形编译码器中,人们还使用了另一种方法,叫做频域法 ( frequency domain approach)。例如,在子带编码(sub- band coding,SBC)中,输入的话 音信号被分成好几个频带(即子带),变换到每个子带中的话音信号都进行独立编码,例如使 用 ADPCM编码器编码,在接收端,每个子带中的信号单独解码之后重新组合,然后产生重构 话音信号。它的优点是每个子带中的噪声信号仅仅与该子带使用的编码方法有关系。对听觉 感知比较重要的子带信号,编码器可分配比较多的位数来表示它们,于是在这些频率范围里 噪声就比较低。对于其他的子带,由于对听觉感知的重要性比较低,允许比较高的噪声,于 是编码器就可以分配比较少的位数来表示这些信号。自适应位分配的方案也可以考虑用来进 步提高音质。子带编码需要用滤波器把信号分成若干个子带,这比使用简单的 ADPCM编译 码器复杂,而且还增加了更多的编码时延。即使如此,与大多数混合编译码器相比,子带编 译码的复杂性和时延相对来说还是比较低的 另一种频域波形编码技术叫做自适应变换编码( adaptive transform coding,ATC)。这 种方法使用快速变换(例如离散余弦变换)把话音信号分成许许多多的频带,用来表示每个变 换系数的位数取决于话音谱的性质,获得的数据率可低到16kb/s 2.音源编译码器 音源编译码的想法是企图从话音波形信号中提取生成话音的参数,使用这些参数通过话 音生成模型重构出话音。针对话音的音源编译码器叫做声码器( vocoder)。在话音生成模型 中,声道被等效成一个随时间变化的滤波器,叫做时变滤波器( time-varying filter),它 由白噪声一无声话音段激励,或者由脉冲串—有声话音段激励。因此需要传送给解码器的 信息就是滤波器的规格、发声或者不发声的标志和有声话音的音节周期,并且每隔10~20ms 更新一次。声码器的模型参数既可使用时域的方法也可以使用频域的方法确定,这项任务由 编码器完成
第3章 话音编码 5 1. 波形编译码器 波形编译码的想法是,不利用生成话音信号的任何知识而企图产生一种重构信号,它的 波形与原始话音波形尽可能地一致。一般来说,这种编译码器的复杂程度比较低,数据速率 在16 kb/s以上,质量相当高。低于这个数据速率时,音质急剧下降。 最简单的波形编码是脉冲编码调制(pulse code modulation,PCM),它仅仅是对输入信 号进行采样和量化。典型的窄带话音带宽限制在4 kHz,采样频率是8 kHz。如果要获得高一 点的音质,样本精度要用12位,它的数据率就等于96 kb/s,这个数据率可以使用非线性量 化来降低。例如,可以使用近似于对数的对数量化器(logarithmic quantizer),使用它产 生的样本精度为8位,它的数据率为64 kb/s时,重构的话音信号几乎与原始的话音信号没有 什么差别。这种量化器在20世纪80年代就已经标准化,而且直到今天还在广泛使用。在北美 的压扩(companding)标准是μ律(μ-law),在欧洲的压扩标准是A律(A-law)。它们的优点是 编译码器简单,延迟时间短,音质高。但不足之处是数据速率比较高,对传输通道的错误比 较敏感。 在话音编码中,一种普遍使用的技术叫做预测技术,这种技术是企图从过去的样本来预 测下一个样本的值。这样做的根据是认为在话音样本之间存在相关性。如果样本的预测值与 样本的实际值比较接近,它们之间的差值幅度的变化就比原始话音样本幅度值的变化小,因 此量化这种差值信号时就可以用比较少的位数来表示差值。这就是差分脉冲编码调制 (differential pulse code modulation,DPCM)的基础—对预测的样本值与原始的样本值之 差进行编码。 这种编译码器对幅度急剧变化的输入信号会产生比较大的噪声,改进的方法之一就是使 用自适应的预测器和量化器,这就产生了一种叫做自适应差分脉冲编码调制(adaptive differential PCM,ADPCM)。在20世纪80年代,国际电话与电报顾问委员会 (International Telephone and Telegraph Consultative Committee,CCITT),现改为国际电信联盟-远程 通信标准部(International Telecommunications Union-Telecommunications Standards Section,ITU-TSS ),就制定了数据率为32 kb/s的ADPCM标准,它的音质非常接近64 kb/s 的PCM编译码器,随后又制定了数据率为16,24和40 kb/s的ADPCM标准。 上述的所有波形编译码器完全是在时间域里开发的,在时域里的编译码方法称为时域法 (time domain approach)。在开发波形编译码器中,人们还使用了另一种方法,叫做频域法 (frequency domain approach)。例如,在子带编码(sub-band coding,SBC)中,输入的话 音信号被分成好几个频带(即子带),变换到每个子带中的话音信号都进行独立编码,例如使 用ADPCM编码器编码,在接收端,每个子带中的信号单独解码之后重新组合,然后产生重构 话音信号。它的优点是每个子带中的噪声信号仅仅与该子带使用的编码方法有关系。对听觉 感知比较重要的子带信号,编码器可分配比较多的位数来表示它们,于是在这些频率范围里 噪声就比较低。对于其他的子带,由于对听觉感知的重要性比较低,允许比较高的噪声,于 是编码器就可以分配比较少的位数来表示这些信号。自适应位分配的方案也可以考虑用来进 一步提高音质。子带编码需要用滤波器把信号分成若干个子带,这比使用简单的ADPCM编译 码器复杂,而且还增加了更多的编码时延。即使如此,与大多数混合编译码器相比,子带编 译码的复杂性和时延相对来说还是比较低的。 另一种频域波形编码技术叫做自适应变换编码(adaptive transform coding,ATC)。这 种方法使用快速变换(例如离散余弦变换)把话音信号分成许许多多的频带,用来表示每个变 换系数的位数取决于话音谱的性质,获得的数据率可低到16 kb/s。 2. 音源编译码器 音源编译码的想法是企图从话音波形信号中提取生成话音的参数,使用这些参数通过话 音生成模型重构出话音。针对话音的音源编译码器叫做声码器(vocoder)。在话音生成模型 中,声道被等效成一个随时间变化的滤波器,叫做时变滤波器(time-varying filter),它 由白噪声—无声话音段激励,或者由脉冲串——有声话音段激励。因此需要传送给解码器的 信息就是滤波器的规格、发声或者不发声的标志和有声话音的音节周期,并且每隔10~20 ms 更新一次。声码器的模型参数既可使用时域的方法也可以使用频域的方法确定,这项任务由 编码器完成