1、第2章 数字音频处理技术 2.1 音频概述 2.2 音频信号数字化 2.3 音频信息压缩编码分类 2.4 音频信息压缩编码2.5 音频压缩编码标准 2.6 其他音频技术 2.1.1 音频信号的特性 声音是通过空气传播的一种连续的波,叫声波。声音的强弱体现在声波压力的大小上。音调的高低体现在声音的频率上。声音用电表示时,声音信号在时间和幅度上都是连续的模拟信号。声波具有普通波所具有的特性,例如反射(reflection)、折射(refraction)和衍射(diffraction)等。利用这些特点我们可以制造环绕声场。对音频信号的分析表明,音频信号由许多频率不同的信号组成,是一种复合信号。音频信
2、号的一个重要参数就是带宽,用来描述组成复合信号的频率范围。如高保真声音(high-fidelity audio)的频率范围为1020000Hz,它的带宽约为20kHz,而视频信号的带宽是6MHz。人们把频率小于20Hz的信号称为亚音信号,或称为次音信号(subsonic);频率范围为20Hz20kHz的信号称为音频(audio)信号;虽然人的发音器官发出的声音频率大约是803400Hz,但人说话的信号频率通常为3003000Hz,人们把在这种频率范围的信号称为话音(speech)信号;高于20kHz的信号称为超音频信号,或称超声波(ultrasonic)信号。人们是否能听到音频信号,主要取决于
3、各个人的年龄和耳朵的功能。2.1.2 听觉系统的感知特性 响度响度 声音的响度就是声音的强弱。在物理上,声音的响度使用客观测量单位来度量,即dyn/cm2(达因/平方厘米)(声压)或W/cm2(瓦特/平方厘米)(声强)。在心理上,主观感觉的声音强弱使用响度级“方(phon)”或者“宋(sone)”来度量。当声音弱到人的耳朵刚刚可以听见时,我们称此时的声音强度为“听阈”。另一种极端的情况是声音强到使人耳感到疼痛。这个阈值称为“痛阈”。人耳的听阈和痛阈分别对应的声压级为0dB和120dB。音高音高 客观上用频率来表示声音的音高,其单位是Hz。而主观感觉的音高单位则是“mel(美)”。主观音高与客观
4、音高的关系是 21000log(1)melf掩蔽效应掩蔽效应 一种频率的声音阻碍听觉系统感受另一种频率的声音的现象称为掩蔽效应。前者称为掩蔽声音(masking tone),后者称为被掩蔽声音(masked tone)。掩蔽可分成频域掩蔽和时域掩蔽。n频域掩蔽 一个强纯音会掩蔽在其附近同时发声的弱纯音,这种特性称为频域掩蔽,也称同时掩蔽(simultaneous masking)。n时域掩蔽 除了同时发出的声音之间有掩蔽现象之外,在时间上相邻的声音之间也有掩蔽现象,并且称为时域掩蔽。时域掩蔽又分为超前掩蔽(pre-masking)和滞后掩蔽(post-masking),产生时域掩蔽的主要原因是
5、人的大脑处理信息需要花费一定的时间。2.1.3 音频类别与数据率 根据音频的频带,通常把音频的质量分成5个等级,由低到高分别是电话(telephone),调幅(amplitude modulation,AM)广播、调频(frequency modulation,FM)广播、激光唱盘(CD-Audio)和数字录音带(digital audio tape,DAT)的声音。2.2 音频信号数字化 音频信息处理主要包括音频信号的数字化和音频信息的压缩两大技术,图2-1是音频信息处理结构框图。音频信号的数字化过程就是将模拟音频信号转换成有限个数字表示的离散序列,即数字音频序列,在这一处理过程中涉及到模拟
6、音频信号的采样、量化和编码。模拟音频信号采样量化编码按不同应用目标进行数字压缩频信号图2-1 音频信息处理框图 音频信号数字化采样采样 采样就是在时间上将连续信号离散化的过程,采样一般是按均匀的时间间隔进行的。每秒钟采样的次数称采样频率,单位为Hz。显然,采样频率越高,所取的一系列值就越能精确地反映原来的模拟信号。否则,采样频率越低,就会使原信号失真。采样频率的高低是根据奈奎斯特理论(Nyquist theory)和声音信号本身的最高频率决定的。奈奎斯特理论指出:采样频率不应低于声音信号最高频率的两倍,这样就能把以数字表达的声音还原成原来的声音,这叫做无损数字化。采样定律用公式表示为:2 ff
7、s或者 2/TTs其中f为被采样信号的最高频率。ff量化量化 量化是指将每个采样值在幅度上进行离散化处理。量化可分为均匀量化和非均匀量化。量化会引入失真,并且量化失真是一种不可逆失真,这就是通常所说的量化噪声。在量化过程中,设定的量化间隔数越多,即量化级越多,近似效果则越好,就越接近模拟值。但是误差总是存在的,因为有限的量化级数永远不可能完全地表示量化间隔内拥有无限幅度值的模拟信号。同时,量化级数越多,需要的存储空间就越大。在实际应用中,应综合考虑声音质量要求和存储空间的限制,以达到综合最优化。编码编码 编码过程是指用二进制数来表示每个采样的量化值。如果是均匀量化,又采用二进制数表示,这种编码
8、方法就是脉冲编码调制(Pulse Code Modulation,PCM),这是一种最简单、最方便的编码方法。在实际过程中量化和编码是同时进行的。经过编码后的声音信号就是数字音频信号,音频压缩编码就是在它的基础上进行的。2.3 音频信息压缩编码分类 n波形编码波形编码n参数编码参数编码n混合编码混合编码 波形编码是基于对语音信号波形的数字化处理,试图使处理后重建的语音信号波形与原语音信号波形保持一致。波形编码的优点是实现简单、语音质量较好、适应性强等。缺点是话音信号的压缩程度不是很高,实现的码速率比较高。常见的波形压缩编码方法有:脉冲编码调制PCM、增量调制编码DM、差值脉冲编码调制DPCM、
9、自适应差分脉冲编码调制(ADPCM)、子带编码(SBC)和矢量量化编码(VQ)等。波形编码的比特率一般在16至64之间,它有较好的话音质量与成熟的技术实现方法。当数码率低于32的时候音质明显降低,16 时音质就非常差了。采用波形编码时,编码信号的速率可以用下面的公式来计算:编码速率采样频率编码速率采样频率 编码比特数编码比特数 若要计算播放某个音频信号所需要的存储容量,可以用下面的公式:存储容量播放时间存储容量播放时间速率速率8(字节)(字节)2.3.1 波形编码 2.3.2 参数编码 参数编码又称声源编码,它是通过构造一个人发声的模型,以发声机制的模型作为基础,用一套模拟声带频谱特性的滤波器
10、系数和若干声源参数来描述这个模型,在发送端从模拟语音信号中提取各个特征参量并对这些参量进行量化编码,以实现语音信息的数字化。实现这种编码的方式也称为声码器。这种编码的特点是语音编码速率较低,基本上在29.6kbit/s之间。可见其压缩的比特率较低。但是也有其缺点:首先是合成语音质量较差,往往清晰度满足要求而自然度不好,难于辨认说话人是谁;其次是电路实现的复杂度比较高。目前,编码速率小于16kbit/s的低比特话音编码大都采用参数编码,参数编码在移动通信、多媒体通信和IP网络电话应用中都起到了重要的作用。参数编码的典型代表是线性预测编码(LPC)。2.3.3 混和编码 混和编码将波形编码和参量编
11、码结合起来,力图保持波形编码话音的高质量与参量编码的低速率。采用混合编码的编码器有:多脉冲激励线性预测编码器(MPE-LPC),规则脉冲激励线性预测编码器(RPE-LPC),码激励线性预测编码器(CELP),矢量和激励线性预测编码器(VSELP)和多带激励线性预测编码器。以上三种压缩编码的性能比较可以用下图来表示:234524 6 8 1632 kbit/s参量法混合法 波形法 主观 音质评价图2-2 三种压缩编码的性能比较2.4.1 音频信息压缩的可行性音频信号能够进行压缩编码的原因是:n语音信号中存在大量冗余信息,即:语音信号样本间具有很强的相关性;浊音语音段具有准周期特性;声道的形状及其
12、变化的速率有限;传输码元的概率分布非均匀。n人耳对声音信号中的部分信息不敏感,即人耳对声音中的低频成分比高频成分敏感;人耳对语音信号的相位特征不敏感。n人耳中存在“听觉掩蔽(Auditory Masking)”效应,即某一声音引起听觉器对另一声音的敏感度下降。掩蔽的程度取决于掩蔽声的强度及掩蔽声与被掩蔽声之间的频率关系。2.4.2 音频编码技术的评价指标 n编码速率编码速率 编码速率直接反应了语音编码对语音信息的压缩程度。在保证语音质量的前提下,我们希望编码速率越小越好。n合成语音质量合成语音质量 合成语音质量可以说是语音编码性能的最根本指标。评价合成语音质量的方法很多,多年来人们提出的许多方
13、法,归纳起来可以分为两类:主观评价方法和客观评价方法。n主观评价方法 主观评价方法是基于一组测试者对原始语音和合成语音进行对比试听的基础上,根据某种预先约定的尺度来对失真语音划分质量等级,它比较全面地反映了人们听音时对合成语音质量的感觉。常用的主观评价方法有3种:平均意见得分(MOS,Mean Opinion Score),判断韵字测试(DRT,Diagnostic Rhyme Test)和判断满意度测量(DAM,Diagnostic Acceptability Measure)。目前国际上最通用的主观评价方法是MOS评分。n客观评价方法 客观评价方法建立在原始语音和合成语音的数学对比之上。常
14、用的方法可分为时域客观评价和频域客观评价两大类。时域客观评价常用的方法有信噪比、加权信噪比和平均分段信噪比等;频域客观评价常用的方法有巴克谱失真测度(BSD,Bark Spectral Distortion)和美尔谱失真测度(Me1-SD,Mel Spectral Distortion Measure)等。n编解码延时编解码延时 编解码延时一般用单次编解码所需时间来表示。在实时语音通信系统中必须对语音编解码算法的编解码延时提出一定的要求。对于公用电话网,编解码延时通常要求不超过5 10ms。而对于移动蜂窝通信系统,允许最大延时不超过100ms。n算法复杂度算法复杂度 算法复杂度主要影响到语音编
15、解码器的硬件实现。它决定了硬件实现的复杂程度、体积、功耗以及成本等。总的来说,一个理想的语音编码算法应该是低速率、高合成语音质量、低时延、低运算复杂度并具有良好的编码顽健性、可扩展性的编码算法。由于这些性能之间存在着互相制约的关系,实际的编码算法都是这些性能的折中。事实上,正是这些相互矛盾的要求推动了音频编码技术的不断发展。2.4.3 常用音频信息压缩编码算法 非均匀非均匀PCM(/A律压扩方法)律压扩方法)采用非均匀量化编码能够减少表示采样的位数,从而达到数据压缩的目的。其基本思路是,当输入信号幅度小时,采用较小的量化间隔;当输入信号幅度大时,采用较大的量化间隔。即对小信号扩展,大信号压缩。
16、这样就可以做到在一定的精度下,用更少的二进制码位来表示采样值。基本思路:当输入信号幅度小时,采用较小的量化间隔;当输入信号幅度大时,采用较大的量化间隔。即对小信号扩展,大信号压缩的。采样输入样本值非均匀量化间隔X1X2X3X4X5X6量化输出数据律压扩律压扩 律压扩主要用在北美和日本等地区的数字电话通信中,按下面的式子确定量化输入和输出的关系:)1ln()1ln()sgn(xxy式中:x为输入电压与A/D变换器满刻度电压之比,其取值范围为11;sgn(x)为x的极性;为压扩参数,其取值范围为100500,越大,压扩越厉害。由于律压扩的输入和输出关系是对数关系,所以这种编码又称为对数PCM。在实
17、际应用中,规定某个值,采用数段折线来逼近图压扩特性。这样就大大地简化了计算并保证了一定的精度。例如,当选择255时,压扩特性用8段折线来代替。当用8位二进制表示一个采样时,可以得到无压扩的13位二进制数码的音频质量。这8位二进制数中,最高位表示符号位,其后3位用来表示折线编号,最后4位用来表示数据位。律压扩数据格式如图2-4所示。图2-4 律压扩数据格式 A律压扩 另外一种常用的压扩特性为A律13折线,它实际上是将律压扩特性曲线以13段直线代替而成的。我国和欧洲采用的是A律13折线压扩法,美国和日本采用的是律。对于A律13折线,一个信号样值的编码由两部分构成:段落码(信号属于13折线哪一段)和
18、段内码。增量调制(DM)增量调制也称调制(delta modulation,DM),是一种比较简单且有数据压缩功能的波形编码方法。增量调制的系统结构框图如图2-5所示。输入信号比较器极性判别)(ty译码器调制器脉 冲发生器信 道图2-5 增量调制的系统结构框图 在编码端,由前一个输入信号的编码值经解码器解码可得到下一个信号的预测值。输入的模拟音频信号与预测值在比较器上相减,从而得到差值。差值的极性可以是正也可以是负。若为正,则编码输出为1;若为负,则编码输出为0。这样,在增量调制的输出端可以得到一串1位编码的DM码。增量调制编码过程示意图如图2-6所示。图2-6 增量调制编码过程示意图 从2-
19、6可以看到,当输入信号变化比较快时,编码器的输出无法跟上信号的变化,从而会使重建的模拟信号发生畸变,这就是所谓的“斜率过载”。可以看出,当输入模拟信号的变化速度超过了经解码器输出的预测信号的最大变化速度时,就会发生斜率过载。增加采样速度,可以避免斜率过载的发生。但采样速度的增加又会使数据的压缩效率降低。从图2-6中还能发现另一个问题:当输入信号没有变化时,预测信号和输入信号的差会十分接近,这时,编码器的输出是0和1交替出现的,这种现象就叫做增量调制的“散粒噪声”。为了减少散粒噪声,就希望使输出编码1位所表示的模拟电压 (又叫量化阶距)小一些,但是,减少量化阶距会使在固定采样速度下产生更严重的斜
20、率过载。为了解决这些矛盾,促使人们研究出了自适应增量调制(ADM)方法。自适应增量调制(ADM)从前面分析可以看出,为减少斜率过载,希望增加阶距;为减少散粒噪声,又希望减少阶距。于是人们就想,若是能使DM的量化阶距 适应信号变化的要求,必须是既降低了斜率过载又减少了散粒噪声的影响。也就是说,当发现信号变化快时,增加阶距;当发现信号变化缓慢时,减少阶距。这就是自适应增量调制的基本出发点。在ADM中,常用的规则有两种:一种是控制可变因子 M,使量化阶距在一定范围内变化。对于每一个新的采样,其量化阶距为其前面数值的M倍。而M的值则由输入信号的变化率来决定。如果出现连续相同的编码,则说明有发生过载的危
21、险,这时就要加大M。当0,1信号交替出现时,说明信号变化很慢,会产生散粒噪声,这时就要减少M 值。其典型的规则为)1()(2/1)1()(2kykykykyM 另一类使用较多的自适应增量调制称为连续可变斜率增量(CVSD)调制。其工作原理如下:如果调制器(CVSD)连续输出三个相同的码,则量化阶距加上一个大的增量,也就是说,因为三个连续相同的码表示有过载发生。反之,则量化阶距增加一个小的增量。CVSD的自适应规则为QkkykykyPkk)1()2()1()()1()(其他 式中,可在01之间取值。可以看到,的大小可以通过调节增量调制来适应输入信号变化所需时间的长短。P和Q为增量,而且P要大于等
22、于Q。自适应脉冲编码调制(APCM)自适应脉冲编码调制(adaptive pulse code modulation,APCM)是根据输入信号幅度大小来改变量化阶大小的一种波形编码技术。这种自适应可以是瞬时自适应,即量化阶的大小每隔几个样本就改变,也可以是音节自适应,即量化阶的大小在较长时间周期里发生变化。改变量化阶大小的方法有两种:一种称为前向自适应(forward adaptation),另一种称为后向自适应(backward adaptation)。前者是根据未量化的样本值的均方根值来估算输入信号的电平,以此来确定量化阶的大小,并对其电平进行编码作为边信息(side informatio
23、n)传送到接收端。后者是从量化器刚输出的过去样本中来提取量化阶信息。由于后向自适应能在发收两端自动生成量化阶,所以它不需要传送边信息。差分脉冲编码调制(DPCM)差分脉冲编码调制(differential pulse code modulation)的中心思想是对信号的差值而不是对信号本身进行编码。这个差值是指信号值与预测值的差值。由于此差值比较小,可以为其分配较少的比特数,进而起到了压缩数码率的目的。预测值可以由过去的采样值进行预测,其计算公式如下所示:预测值计算预测值计算为当前值 的预测值 为当前值前面的N-1个样值。为预测系数。当前值与预测值的差值 11112211NiiiNNNyaya
24、yayayNy Ny121,Nyyy121,NaaaNNyye0 差分脉冲编码调制就是将上述每个样点的差值量化编码,而后用于存储或传送。由于相邻采样点有较大的相关性,预测值常接近真实值,故差值一般都比较小,从而可以用较少的数据位来表示,这样就减少了数据量。在接收端或数据回放时,可用类似的过程重建原始数据。差分脉冲调制系统的方框图如图2-7所示。nyny自适应差分脉冲编码调制(ADPCM)为了进一步提高编码的性能,人们将自适应量化技术和自适应预测技术结合在一起用于差分脉冲编码调制中,从而实现了自适应差分脉冲编码调制(ADPCM,adaptive difference pulse code mod
25、ulation))。ADPCM的简化编码原理如图2-8所示。自适应量化的基本思路是:使量化间隔的变化与输入语声信号的方差相匹配,也就是使量化器阶距随输入信号的方差而变化,且量化阶距正比于量化器输入信号的方差。自适应量化的方式可以采用所谓的前向自适应量化,也可以采用后向自适应量化。无论使用哪种方式,都可以改善语声信号的动态范围和信噪比。+-+(a)ADPCM 编码器(b)ADPCM 解码器图2-8 自适应差分脉冲编码调制编码原理子带编码子带编码 子带编码(subband coding,SBC)理论最早是由Crochiere等人于1976年提出的,首先是在语音编码中得到应用,其压缩编码的优越性,使
26、它后来也在图像压缩编码中得到很好的应用。其基本思想是将输入信号分解为若干子频带,然后对各子带分量根据其不同的统计特性采取不同的压缩策略,以降低码率。其原理如图2-9所示。图2-9 子带编码原理 图中发送端的n个带通滤波器将输入信号分为n个子频带,对各个对应的子带带通信号进行调制,将n个带通信号经过频谱搬移变为低通信号;对低通信号进行采样、量化和编码,得到对应各个子带的数字流;再经复接器合成为完整的数字流。经过信道传输到达接收端。在接收端,由分配器将各个子带的数字流分开,由译码器完成各个子带数字流的译码;由解调器完成信号的频移,将各子带搬移到原始频率的位置上。各子带相加就可以恢复出原来的语声信号
27、。在音频子带编码中,子带划分的依据是与话音信号自身的特性分不开的。人所发出的语声信号的频谱不是平坦的,人的耳朵从听觉特性上来说,其频率分布也是不均匀的。语声信号的能量主要是集中在5003000 Hz的范围内,并且随频率的升高衰减很迅速。从人耳能够听懂说话人的话音内容来讲,只保留频率范围是400Hz3kHz的语音成分就可以了。根据语音的这些特点,可以对语音信号的频带采用某种方法进行划分,将其语音信号频带分成一些子频带;对各个频带根据其重要程度区别对待。将语音信号分为若干个子带后再进行编码有几个突出的优点:n对不同的子带分配不同的比特数,不仅可以很好地控制各个子带的量化电平数,还可很好地控制在重建
28、信号时的量化误差方差值,进而获得更好的主观听音质量;n由于各个子带相互隔开,这就使各个子带的量化噪声也相互独立,互不影响,量化噪声被束缚在各自的子带内。这样,某些输入电平比较低的子带信号不会被其他子带的量化噪声所淹没;n子带划分的结果使各个子带的采样频率大大降低。使用子带编码技术的编译码器已开始用于话音存储转发和语音邮件,采用两个子带和ADPCM的编码系统也已由CCITT作为G.722标准向全世界推荐使用。子带编码方法常与其他一些编码方法混合使用,以实现混合编码。变换编码变换编码 变换编码中,原始数据从初始空间或者时间域进行数学变换,使得信号中最重要的部分(例如包含最大能量的最重要的系数)在变
29、换域中易于识别,并目集中出现,可以重点处理;相反使能量较少的部分较分散,可以进行粗处理。变换编码系统中压缩数据有三个步骤:变换、变换域采样和量化。变换是可逆的,本身并不进行数据压缩,它只把信号映射到另一个域,使信号在变换域里容易进行压缩,变换后的样值更独立和有序。在变换编码系统中,用于量化一组变换样值的比特总数是固定的,它总是小于对所有变换样值用固定长度均匀量化进行编码所需的总数,所以量化使数据得到压缩,是变换编码中不可缺少的一步。为了取得满意的结果,某些重要系数的编码位数比其他的要多,某些系数干脆就被忽略了。在对量化后的变换样值进行比特分配时,要考虑使整个量化失真最小。这样,该过程就称为有损
30、压缩了。离散余弦变换(DCT)是仅次于K-L变换的次优变换,又有快速算法,因此得到了广泛的应用。矢量量化编码矢量量化编码 20世纪80年代初期,国际学术界开展了矢量量化(VQ,Vector Quantization)技术的研究。矢量量化的理论基础是香农的速率失真理论,其基本原理是用码书中与输入矢量最匹配的码字的索引(下标)代替输入矢量进行传输和存储,而解码时只需简单地查表操作。矢量量化的三大关键技术是码书设计、码字搜索和码字(下标)索引分配。矢量量化编码的原理如图2-10所示。在发送端,先将语音信号的样值数据序列按某种方式进行分组,每个组假定是k个数据。这样的一组数据就构成了一个k维矢量。每个
31、矢量有对应的下标,下标是用二进制数来表示的。把每个数据组所形成的矢量视为一个码字;这样,语音数据所分成的组就形成了各自对应的码字。把所有这些码字进行排列,可以形成一个表,这样的表就称为码本或码书。图2-10 矢量量化编码及解码原理 实现矢量量化的关键技术有两个:一个是如何设计一个优良的码本,另一个是量化编码准则。采用矢量量化技术可以对待编码的信号码速率进行大大的压缩,它在中速率和低速率语音编码中得到了广泛应用。例如在语音编码标准G.723.1、G.728和G.729中都采用了矢量量化编码技术。矢量量化编码除了对语音信号的样值进行处理外,也可以对语音信号的其他特征进行编码。如在语音标准G.723
32、.1中,在合成滤波器的系数被转化为线性谱对(LSP:Linear Spectrum Pair)系数后就是采用矢量量化编码方法。感知编码感知编码 感知编码基于人耳的听觉特性,通过消除不被感知的冗余信息来实现对音频数据压缩的编码方法。它基于心理声学模型,利用人的听觉阈值特性和掩蔽效应,通过给不同频率处的信号分量分配以不同量化比特的方法来控制量化噪声,使得噪声能量低于掩蔽阈值,即把压缩带来的失真控制在听阈以下,使人耳觉察不到失真的存在,从而实现更高效率的音频压缩。目前,在高质量音频编码标准中,心理声学模型是一个最为有效的算法模型。在此类编码中,以MPEG音频编码(MPEG layerl,2,3和AA
33、C标准)和Dolby Digital的应用最为广泛。图2-11是采用感知编码的MPEG通用音频编解码系统结构框架。图2-11 MPEG通用音频编解码系统结构 图中的时间/频率映射完成将输入的时间域音频信号转变为亚取样的频率分量,这可以使用不同的滤波器组来,其输出的频率分量也叫做子带值或者频率线。心理声学模型利用利用滤波器组的输出和输入的数字声音信号计算出随输入信号而变化的掩蔽门限估值。量化和编码按照量化噪声不超过掩蔽门限的原则对滤波器组输出的子带值(或频率线)进行量化、编码,目的是使量化的噪声不会被人耳感觉到。可以采用不同算法来实现量化和编码,编码的复杂程度也会随分析/综合系统的变化有所不同。
34、按帧打包来完成最后的编码码流。编码码流中除了要包括量化和编码映射后的样值外,还包括如比特分配等的边信息。线性预测编码线性预测编码 线性预测编码(linear predictive coding,LPC)方法为参数编码方式。参数编码的基础是人类语音的生成模型,通过这个模型,提取语音的特征参数,然后对特征参数进行编码传输。线性预测编码的原理如图2-12所示。在线性预测编码中,将语声激励信号简单地划分为浊音信号和清音信号。清音信号可以用白色随机噪声激励信号来表示,浊音信号可以用准周期脉冲序列激励信号来表示。由于语声信号是短时平稳的,根据语声信号的短时分析和基音提取方法,可以用若干的样值对应的一帧来表
35、示短时语声信号。这样,逐帧将语声信号用基音周期Tp,清浊音(u/v)判决,声道模型参数和增益G来表示。对这些参数进行量化编码,在接收端再进行语声的合成。图2-12 线性预测编译码原理 在LPC原理框图的发送端,原始话音信号送入AD变换器,以8kHz速率抽样变成数字化语声信号。以180个抽样样值为一帧,对应帧周期为22.5ms,以一帧为处理单元进行逐帧处理。完成每一帧的线性预测系数分析,并作相应的清浊音(u/v)处理、基音Tp提取,再对这些参量进行量化、编码并送入信道传送。在接收端,经参量译码分出参量、G、Tp、u/v,以这些参数作为合成语声信号的参量,最后将合成产生的数字化语声信号经DA变换还
36、原为语声信号。按照线性预测编码原理实现的LPC-I0声码器已经用于美国第三代保密电话中,其编码速率只有2.4kbit/s。虽然其编码速率很低,但由于其信号源只采用简单的二元激励,在噪声环境下其语音质量不好,所以目前已被新的编码器替代。码激励线性预测码激励线性预测 码激励线性预测CELP(Code Excited Linear Prediction)是典型的基于合成分析法的编码器,包括基于合成分析法的搜索过程、感知加权、矢量量化和线性预测技术。它从码本中搜索出最佳码矢量,乘以最佳增益,代替线性预测的残差信号作为激励信号源。CELP采用分帧技术进行编码,帧长一般为2030ms,并将每一语音帧分为2
37、5个子帧,在每个子帧内搜索最佳的码矢量作为激励信号。CELP的编码原理如图2-13所示,图中虚线框内是CELP的激励源和综合滤波器部分。CELP通常用一个自适应码本中的码字来逼近语音的长时周期性(基音)结构,用一个固定码本中的码字来逼近语音经过短时和长时预测后的差值信号。从两个码本中搜索出来的最佳码字,乘以各自的最佳增益后再相加,其和作为CELP的激励信号源。将此激励源信号输入到合成滤波器,得到合成语音信号S(n),S(n)与原始语音信号之间的误差经过感知加权滤波器W(z),得到感知加权误差e(n)。通过感知加权最小均方误差准则,选择均方值最小的码字作为最佳的码字。CELP编码器的计算量主要取
38、决于码本中最佳码字的搜索,而计算复杂度和合成语音质量则与码本的大小有关。图2-13 CELP的编码原理 CELP的解码示意图如图2-14所示,解码器一般由两个主要部分组成:合成滤波器和后置滤波器。合成滤波器生成的合成语音一般要经过后置滤波器,以达到去除噪声的目的。解码的操作也按子帧进行。首先对编码中的索引值执行查表操作,从激励码本中选择对应的码矢量,通过相应的增益控制单元和合成滤波器生成合成语音。由于这样得到的重构语音信号往往仍旧包含可闻噪声,在低码率编码的情况下尤其如此。为了降低噪声,同时又不降低语音质量,一般在解码器中要加入后置滤波器,它能够在听觉不敏感的频域对噪声进行选择性抑制。图2-1
39、4 CELP的解码原理2.5 音频压缩编码标准 音频信号的压缩编码主要包括ITU制定的G.7XX系列和ISO/IEC制定的MPEG-X系列标准。2.5.1 G.7XX系列中的波形编码标准系列中的波形编码标准 采用波形编码的编码标准有G.711标准、G.721标准和G.722标准。n G.711标准标准 G.711标准是在1972年提出的,它是为脉冲编码调制(PCM)制定的标准。从压缩编码的评价来看,这种编码方法的语音质量最好,算法延迟几乎可以忽略不计,但缺点是压缩率很有限。G.711是针对电话质量的窄带话音信号,频率范围是0.33.4kHz,采样频率采用8kHz,每个采样样值用8位二进码编码,
40、其速率为64kbit/s。标准推荐采用非线性压缩扩张技术,压缩方式有A律和律两种。由于使用了压缩扩张技术,其编码方式为非线性编码,而其编码质量却与11比特线性量化编码质量相当。在5级的MOS评价等级中,其评分等级达到4.3,话音质量很好。编解码延时只有0.125ms,可以忽略不计。算法的复杂度是最低的,定为1,其他编码方法的复杂度都与此做对比。n G.721标准标准 G.721标准用于速率是64kbit/s(A或律压扩技术)的PCM语音信号与速率是32kbit/s的ADPCM语音信号之间的转换,由ITU-T在1984年制定。利用G.721可以实现对已有PCM的信道进行扩容,即把2个2048kb
41、it/s(30路)PCM基群信号转换成一个2048kbit/s(60路)ADPCM信号。此标准采用自适应脉冲编码调制技术,语音信号的采样频率为8kHz,对样值与其预测值的差值进行4bit编码,其速率为32 kbit/s。语音评价等级达到4.0(MOS),质量也很好。系统延时0.125ms,可忽略不计,复杂度达到10。n G.722标准标准 G.722标准是针对调幅广播质量的音频信号制定的压缩标准,音频信号质量高于G.711和G.721标准。调幅广播质量的音频信号其频率范围是50Hz7kHz。此标准是在1988年由CCITT制定的,此标准采用的编码方法是子带自适应差分脉冲编码调制(SB-ADPC
42、M)编码方法,将话音频带划分为高和低两个子带,高、低子带间以4kHz频率为界限。在每个子带内采用自适应差值脉冲编码调制方式。其采样频率为16kHz,编码比特数为14bit,编码后的信号速率为224 kbit/s。G.722标准能将224kbit/s的调幅广播质量信号速率压缩为64kbit/s,而质量又保持一致,可以在多媒体和会议电视方面得到应用。G.722编码器所引入的延迟时间限制在4ms之内。2.5.2 G.7XX系列中的混合编码标准系列中的混合编码标准 采用混和编码方法的编码标准有G.728标准、G.729标准和G.723.1标准。n G.728标准标准 CCITT于1992年制定了G.7
43、28标准,该标准所涉及的音频信息主要是应用于公共电话网中的。G.728是LPAS声码器,编码速率为16kbit/s,质量与速率是32kbit/s的G.721标准相当。该标准采用的压缩算法是低延时码激励线性预测(LD-CELP)方式。线性预测器使用的是反馈型后向自适应技术,预测器系数是根据上帧的语声量化数据进行更新的,因此算法延时较短,只有625m,即5个抽样点的时间,此即为G.728声码器码流的帧长。由于使用反馈型自适应方法,不需要传送预测系数,唯一需要传送的就是激励信号的量化值。此编码方案是对所有取样值以矢量为单位进行处理的,并且采用了线性预测和增益自适应方法。G.728的码本总共有1024
44、个矢量,即量化值需要10个比特,因此其比特率为10/0.625=16 kbit/s。G.728也是低速率的1SDN可视电话的推荐语音编码器标准,速率是从56128kbit/s。由于这一标准具有反向自适应的特性,可以实现低的时延,但其复杂度较高。n G.729标准标准 G.729是ITU-T为低码率应用而制定的语音压缩标准。G.729标准的码率只有8kbit/s,其压缩算法相比其它算法来说比较复杂,采用的基本算法仍然是码激励线性预测(CELP:Code Excitation Linear Prediction)技术。为了使合成语音的质量有所提高,在此算法中也采取了一些新措施,所以其具体算法也比C
45、ELP方法复杂。G.729标准采用的算法称作共轭结构代数码激励线性预测(CS-ACELP:Conjugate Structure A1gebraic Code Excited Linear Prediction)。ITU-T制定的G.729标准,其主要应用目标是第一代数字移动蜂窝移动电话,对不同的应用系统,其速率也有所不同,日本和美国的系统速率为8kbit/s左右,GSM系统的速率为13kbit/s。由于应用在移动系统,因此复杂程度要比G.728低,为中等复杂程度的算法。由于其帧长时间加大了,所需的RAM容量比G.728多一半。n G.723.1标准标准 G.723.1音频压缩标准是已颁布的音
46、频编码标准中码率较低的,G.723.1语音压缩编码是一种用于各种网络环境下的多媒体通信标准,编码速率根据实际的需要有两种,分别为5.3 kbit/s和6.3kbit/s。G.723.1标准是国际电信联盟(ITU-T)于1996年制定的多媒体通信标准中的一个组成部分,可以应用于IP电话、H.263会议电视系统等通信系统中。其中,5.3kbit/s码率编码器采用多脉冲最大似然量化技术(MP-MLQ),6.3kbit/s码率编码器采用代数码激励线性预测技术(ACELP)。G.723.1标准的编码流程比较复杂,但基本概念仍基于CELP编码器,并结合了分析合成的编码原理,使其在高压缩率情况下仍保持良好的
47、音质。2.5.3 MPEG音频编码标准音频编码标准n MPEG-1 MPEG-1 Audio(ISO/IEC 11172-3)压缩算法是世界上第一个高保真声音数据压缩国际标准,并得到了极其广泛的应用。声音压缩标准只是MPEG标准的一部分,但可以独立地应用。MPEG-1声音编码标准规定其音频信号采样频率可以有32kHz、44.1kHz或48kHz三种,音频信号的带宽可以选择15kHz和20kHz。其音频编码分为3层:Layer-1、Layer-2和Layek-3。Layer-l的压缩比为1:4,编码速率为384kbit/s;Layer-2的压缩比为1:61:8之间,编码速率为192256kbit
48、/s;Layer-3的压缩比为1:101:12,压缩码率可以达到64kbit/s。MPEG-1标准1992年完成。MPEG音频编码采用了子带编码,共分为32个子带。MPEG编码的音频数据是按帧安排的。Layer-l的每帧包含3212=384个样本数据,Layer-2和Layer-3每帧包含有32312=1152个样本数据,是Layer-l的3倍。nLaver-l编码 Layer-l的子带划分采用等带宽划分,分为32个子带,每个子带有12个样本,心理声学模型只使用频域掩蔽特性。Layer-l的帧结构如图2-13所示。同步头(32位)CRC(16位)位分配(4位)比例因子(6位)子带样本附加数据(
49、未指明位数)相当于32个PCM声音输入样本图2-13 Layer-l的帧结构图在图2-13的帧结构中,各个部分的内容如下:n同步头。由每帧开始的前32个比特组成,这32个比特包含同步信息和状态信息,同步码由12个全1码组成、所有的三层音频信息编码在这部分都是一样的。n帧校验码(CRC)。帧校验码占16bit,用来检测传输后比特流的差错,所有三层的这一部分也都是相同的。n音频数据。由位分配、比例因子和子带样值组成。其中子带样值是音频数据的最大部分,不同层的音频数据是不同的。n附加数据。用来传输相关的辅助信息。帧是音频数据的组织单位,用于同步、纠错,而且也有利于对音频信息的存取、编辑。在每一帧的开
50、始都安排一个完成帧同步的同步码,为了保证传输的可靠性,还有CRC的循环冗余纠错码。帧是MPEG-1处理的最小信息单元,一帧信号处理384个PCM的样值,因为要检测每个样值的大小后才能开始处理,所以延时时间38448K=8ms。一帧相当于8ms的声音样本。MPEG音频Layer-1的设计是为了在数字录音带DCC方面的应用,使用的编码速率是384kbit/s。MPEG音频Layer-l可以实现的压缩比是1:4,立体声是通过分成左(L)、右(R)两个声道实现的。nLayer-2编码 Layer-2编码在Layer-1的基础上进行了改进。32个子带的划分是不等宽划分,其划分依据是临界频段。每个子带分为