多媒体计算机技术鲁宏伟luhw@hust.edu.cn第四讲数字语音处理技术数字音频压缩技术三维音效语音识别自然语言理解语音合成数字音频压缩技术音频压缩技术指的是对原始数字音频信号流(PCM编码)运用适当的数字信号处理技术,在不损失有用信息量,或所引入损失可忽略的条件下,降低(压缩)其码率,也称为压缩编码。它必须具有相应的逆变换,称为解压缩或解码。音频信号在通过一个编解码系统后可能引入大量的噪声和一定的失真。数字音频压缩技术音频压缩算法的分类时域压缩算法子带编码MP3音频压缩编码音频压缩算法的分类一般来讲,可以将音频压缩技术分为无损(lossless)压缩及有损(lossy)压缩两大类,而按照压缩方案的不同,又可将其划分为时域压缩、变换压缩、子带压缩,以及多种技术相互融合的混合压缩等等。时域压缩(或称为波形编码)子带压缩技术变换压缩技术数字音频压缩技术音频压缩算法的分类时域压缩算法子带编码MP3音频压缩编码时域压缩算法时域压缩技术一般多用于语音压缩、低码率应用(源信号带宽小)的场合。时域压缩技术主要包括PCM、ADPCM、LPC、CELP,以及在这些技术上发展起来的块压扩技术。脉冲编码调制(PCM)增量调制连续可变斜率增量调制(CVSD)自适应差分脉冲编码调制(ADPCM)数字电路倍增设备—自适应差分脉冲编码调制时域压缩算法嵌入式自适应差分脉冲编码调制(E-ADPCM)线性预测编码(LPC)残差激励线性预测编码(RELP)码激励线性预测编码(CELP)低时延码激励线性预测编码(LD-CELP)矢量和激励线性预测编码(VSELP)代数码本激励线性预测编码(ACELP)共扼结构—代数码激励线性预测编码(CS-ACELP)规则脉冲激励—长时预测—线性预测编码(RPE-LTP-LPC)脉冲编码调制声音数字化有两个步骤:第一步是采样,就是每隔一段时间间隔读一次声音的幅度;第二步是量化,就是把采样得到的声音信号幅度转换成数字值。量化有好几种方法,但可归纳成两类:一类称为均匀量化,另一类称为非均匀量化。如果采用相等的量化间隔对采样得到的信号作量化,那么这种量化称为均匀量化。均匀量化就是采用相同的“等分尺”来度量采样得到的幅度,也称为线性量化。这种方法称为脉冲编码调制,用PCM表示。非线性量化非线性量化的基本想法是,对输入信号进行量化时,大的输入信号采用大的量化间隔,小的输入信号采用小的量化间隔。在非线性量化中,采样输入信号幅度和量化输出数据之间定义了两种对应关系,一种称为m律压(缩)扩(展)算法,另一种称为A律压(缩)扩(展)算法。m律压(缩)扩(展)算法m律压扩用在北美和日本等地区的数字电话通信中,按下面的式子确定量化输入和输出的关系:式中:x为输入信号幅度,规格化成-1x1;sgn(x)为x的极性;m为确定压缩量的参数,它反映最大量化间隔和最小量化间隔之比,取100m500。)]1ln(/|)|1)[ln(sgn()(mmmxxxFA律压(缩)扩(展)算法A律(A-Law)压扩用在欧洲和中国大陆等地区的数字电话通信中,按下面的式子确定量化输入和输出的关系:式中:x为输入信号幅度,规格化成-1x1,sgn(x)为x的极性;A为确定压缩量的参数,它反映最大量化间隔和最小量化间隔之比。1||/1)],ln1/(|)|ln1)[(sgn(/1||0)],ln1/()()[sgn()(xAAxAxAxAxAxxFA增量调制增量调制DM(DeltaModulation)是一种预测编码技术。DM是对实际的采样信号与预测的采样信号之差的极性进行编码,将极性变成“0”和“1”这两种可能的取值之一。如果实际的采样信号与预测的采样信号之差的极性为“正”,则用“1”表示;相反则用“0”表示。由于DM编码只须用1比特对信号进行编码,所以DM编码系统又称为“1比特系统”。DM波形编码的原理图其中x[i]表示在i点的编码输出,yi表示输入信号的实际值,y[i]表示输入信号的预测值。假设采用均匀量化,量化阶的大小为△,在开始位置的输入信号y0=0,预测值y[0]=0,编码输出x[0]=1模拟信号输入幅度斜率过载粒状噪声编码输出量化阶增量调制的缺点一是会出现斜率过载,即增量调制器的输出不能保持跟踪输入信号的快速变化二是会产生粒状噪声。反馈回路输出信号的最大变化速率受到量化阶大小的限制,因为量化阶的大小是固定的。解决方法:自适应增量调制。根据输入信号斜率的变化自动调整量化阶Δ的大小,以使斜率过载和粒状噪声都减到最小。许多研究人员研究了各种各样的方法,而且几乎所有的方法基本上都是在检测到斜率过载时开始增大量化阶Δ,而在输入信号的斜率减小时降低量化阶Δ。自适应差分脉冲编码调制ADPCM编码的方法是对输入样值进行自适应预测,然后对预测误差进行量化编码。它是一种预测编码的方法。所谓预测编码,是指编码的对象不是原始信号的采样量化值,而是对当前采样值与预测值(根据前若干个采样值采用一定的预测方法产生的输入信号)的差值进行编码。如果采用的预测方法足够准确(差值将接近于零),可以预见,这种编码方法比直接对样本值进行编码可以采用较少的比特数。CCITT的32kbit/s语音编码标准G.721采用ADPCM编码方式,每个语音样值相当于用4bit进行编码。自适应差分脉冲编码调制它的核心想法是:①利用自适应的思想改变量化阶的大小,即使用小的量化阶(step-size)去编码小的差值,使用大的量化阶去编码大的差值;②使用过去的样本值估算下一个输入样本的预测值,使实际样本值和预测值之间的差值总是最小。数字电路倍增设备—自适应差分脉冲编码调制DCME-ADPCM是CCITTG.723语音编码标准算法这种算法可以在40kbit/s、32kbit/s和24kbit/s三种速率中动态调整,以达到在给定的信道中增加容量的目的线性预测编码LPC(LinearPredictiveCoding)语音编码是最基本的低速率语音编码方法,LPC语音编码的基础是语音产生模型,在这个模型中,语音是由激励信号激励一个自适应滤波器(即LPC滤波器)而产生。LPC滤波器的参数是通过线性预测的方法,即用过去的样值预测当前样值提取的。美国联邦标准FS1015的2.4kbit/sLPC-10和LPC-10e就是LPC语音编码的典型例子,主要用于电话线上的窄带语音保密通信。低时延码激励线性预测编码LD-CELP是CCITTG.728语音编码标准算法,其输出速率为16kbit/s。这种方法在CELP算法的基础上,采用后向自适应线性预测、50阶合成滤波、短激励矢量(5个样值)等改进方法,从而达到高质量和低时延的目的,总的编码时延小于2ms。代数码本激励线性预测编码极低速率可视电话标准H.324中语音编码标准是G.723.1,采用5.27kbit/s和6.3kbit/s两种速率,其中5.27kbit/s速率就是以ACELP算法为基础。共扼结构—代数码激励线性预测编码CS-ACELP编码算法被ITU-T的8kbit/s语音编码标准G.729采用规则脉冲激励—长时预测—线性预测编码这种算法是欧洲900MHz数字蜂窝移动电话的语音编码标准(GSM),也为数字蜂窝系统DCS1800所采用。RPE-LTP-LPC算法是MPE-LPC的改进算法,除了增加长时预测功能外,激励脉冲的位置具有一定的规律。数字音频压缩技术音频压缩算法的分类时域压缩算法子带编码MP3音频压缩编码子带编码子带编码SBC(subbandcoding)的基本思想是,首先使用一组带通滤波器BPF(band-passfilter)把输入音频信号的频带分成若干个连续的频段,每个频段称为子带。对每个子带中的音频信号采用单独的编码方案去编码。在信道上传送时,将每个子带的代码复合起来。在接收端译码时,将每个子带的代码单独译码,然后把它们组合起来,还原成原来的音频信号。采用对每个子带分别编码的好处有二个。第一,对每个子带信号分别进行自适应控制,量化阶的大小(quantizationstep)可以按照每个子带的能量电平加以调节。具有较高能量电平的子带用大的量化阶去量化,以减少总的量化噪声。第二,可根据每个子带信号在感觉上的重要性,对每个子带分配不同的比特数,用来表示每个样本值。例如,在低频子带中,为了保护音调和共振峰的结构,就要求用较小的量化阶、较多的量化级数,即分配较多的比特数来表示样本值。而话音中的摩擦音和类似噪声的声音,通常出现在高频子带中,对它分配较少的比特数。子带编码方块图子带编码对每个子带分别编码的好处是:可以利用人耳(或人眼)对不同频率信号的感知灵敏度不同的特性,在人的听觉(或视觉)不敏感的频段采用较粗糙的量化,从而达到数据压缩的目的。各个子带的量化噪声都束缚在本子带内,这就可以避免能量较小的频带内的信号被其它频带中量化噪声所掩盖通过频带分裂,各个子带的取样频率可以成倍下降。数字音频压缩技术音频压缩算法的分类时域压缩算法子带编码MP3音频压缩编码MP3音频压缩编码MP3是一种音频压缩的国际技术标准。MP3格式开始于二十世纪80年代中期,是在德国夫朗和费研究所(FraunhoferInstitute)开始的,研究致力于高质量、低数据率的声音编码。1989年,夫朗和费研究所在德国被获准取得了MP3的专利权,几年后这项技术被提交到国际标准组织(ISO),整合进入了MPEG-1标准。MP3格式是一个让音乐界产生巨大震动的一个声音格式。MP3的全称是MovingPictureExpertsGroup,AudioLayer3,它所使用的技术是在VCD(MPEG-1)的音频压缩技术上发展出的第三代,而不是MPEG-3。MP3音频压缩编码MPEG代表的是MPEG活动影音压缩标准,MPEG音频文件指的是MPEG标准中的声音部分即MPEG音频层。MPEG音频文件根据压缩质量和编码复杂程度的不同可分为三层(MPEGAUDIOLAYER1/2/3分别与MP1、MP2和MP3这三种声音文件相对应)。MPEG音频编码具有很高的压缩率,MP1和MP2的压缩率分别为4:1和6:1-8:1,而MP3的压缩率则高达10:1~12:1,也就是说一分钟CD音质的音乐未经压缩需要10MB存储空间,而经过MP3压缩编码后只有1MB左右,同时其音质基本保持不失真。MP3音频压缩编码音乐信号中有许多冗余成分,其中包括间隔和一些人耳分辨不出的信息(如混杂在较强背景中的弱信号)。MP3为降低声音失真采取了名为“感官编码技术”的编码算法:编码时先对音频文件进行频谱分析,然后用过滤器滤掉噪音,接着通过量化的方式将剩下的每一位打散排列,最后形成具有较高压缩比的MP3文件,并使压缩后的文件在回放时能够达到比较接近原音源的声音效果。虽然它是一种有损压缩,但是它的最大优势是以极小的声音失真换来了较高的压缩比。音频编码标准G.711G.722G.723.1G.728G.729音频编码标准比较G.7111972年CCITT为电话质量和语音压缩制定了PCM标准G.711。其速率为64kb/s,使用μ律或A律的非线性量化技术,主要用于公共电话网中。G.7221988年CCITT为调幅广播质量的音频信号压缩制定了G.722标准,它使用子带编码(SBC)方案,其滤波器组将输入信号分成高低两个子带信号,然后分别使用ADPCM进行编码。G.722能将224kb/s的调幅广播质量的音频信号压缩为64kb/s,主要用于视听多媒体和会议电视等。G.722的主要目标是保持64kb/s的数据率,而音频信号的质量要明显高于G.711的质量。G.723.11996年ITU-T通过了G.723标准-“用于多媒体传输的5.3kb/s或6.3kb/s双速率话音编码”。它采用多脉冲激励最大似然量化(MP-MLQ)算法,此标准可应用于可视电话及IP电话等系统中。G.728为了进一步降低压缩的速率,CCITT于1992年制定了G.728标准,使用基于低时延码本激励线性预测编码(LD-C