DPCM编码的原理 DPCM采用预测编码的方式传输信号,所谓预测编码就是根据过去的信号样值来预测下一个信号样值,并仅把预测值与现实样值的差值加以量化,编码后进行数字信号传输。在接收端经过和发送端相同的预测操作,低通滤波器便可恢复出与原始信号相近的波形。 DPCM是采用固定预测器与固定量化器的差值脉冲调制,它是分析ADPCM工作原理的基础。
DPCM编码的原理-发送端
DPCM编码的原理-接收端
DPCM编码的原理 在DPCM系统中,采用线性预测的方法得到预测信号,可以采用N阶全极点预测器,预测信号由前n时刻之前的P个重建语音样点线性组合得到。 重建信号:
DPCM编码的原理 其Z变换形式为: H(Z)称为重构滤波器,是一个全极点滤波器。除了全极点预测器外,DPCM也可以采用全零点预测器或者零极点预测器。
DPCM编码的原理-全零点预测器
DPCM编码的原理-全零点预测器 对于全零点预测器,预测信号由n时刻之前的M个量化后的差值信号线性组合得到: 重建信号为: 重建滤波器为
DPCM编码的原理-零极点预测器
DPCM编码的原理-零极点预测器
DPCM编码的原理-零极点预测器 对于零极点混合预测器: 重建信号为: 重建滤波器为:
ADPCM编码 G.711使用A律或μ律PCM方法对采样率为8kHz的声音数据进行压缩,压缩后的数据率为64kb/s。为了充分利用线路资源,而又不明显降低传送话音信号的质量,就要对它作进一步压缩,方法之一就是采用ADPCM。 ADPCM综合了APCM的自适应特性和DPCM系统的差分特性,是一种性能比较好的波形编码。它的核心想法是: 利用自适应的思想改变量化阶的大小,即用小的量化阶去编码小的差值,使用大的量化阶去编码大的差值; 用过去的样本值估算下一个输入样本的预测值,使实际样本值和预测值之间的差值总是最小。 接收端的译码器使用与发送端相同的算法,利用传送来的信号来确定量化器和逆量化器中的量化阶大小,并且用它来预测下一个接收信号的预测值。
ADPCM编码 ADPCM编码技术能根据接收到的语音信号波形来预测下一个语音信号,这样它只需编码每一个接收信号中与之不同的部分,从而减少编码的位长。 其编码的过程是这样的:ADPCM编码器接收到每秒8000次的语音信号抽样值。每接收到一个语音信号,它根据语音信号的PCM编码按照一定算法得到下次信号的预测值。最简单的预测方式就是把上次的语音信号的PCM编码值与上次的预测值进行对比,得到一个信号的差值,这个差值可以用很少的位长来表示。
CCITT G.721 32kb/s ADPCM CCITT推荐的G.721ADPCM标准是一个代码转换系统。它使 用ADPCM转换技术,实现64kb/s A律或μ律PCM速率 和32kb/s速率的ADPCM之间的相互转换。 G.721算法的话音质量接近于A律或μ律64kb/s PCM的话音 质量,MOS分为4.1,达到网络等级。 采样频率为8KHz,每个样点采用4比特编码。 CCITT G.721 32kb/s ADPCM 主要用来实现对现有的PCM信 道扩容,把2个2048kb/s 30路PCM基群信号转换为 一个2048kb/s 60路ADPCM信号。因此对ADPCM编码 器输出和输入都是采用A律或者μ律的PCM信号。
G.721 32kb/s ADPCM-编码器 在编码器中先将输入的8位PCM码转换为14位线性码 同预测信号相减产生差值信号 对差值信号进行自适应量化产生4比特的ADPCM代码I(n) 一方面把I(n)送给解码器, 另一方面利用I(n)进行本地解码,得到量化后的差值信号,同预测信号相加得到重建信号。 自适应预测器采用二阶极点,六阶零点的混合预测器 为了使量化能适应语音、带内数据以及信令等具有不同统计特性以及不同幅度的输入信号,自适应要依据输入信号的特性自动改变自适应数据参数来控制量阶,这一功能由量化器定标因子自适应、自适应速度控制、单频以及瞬变检测等功能单元完成。
G.721 32kb/s ADPCM-解码器 解码器的解码过程实际已经包含在编码过程中,但是增加了线性码到PCM码的转换和同步编码调整单元。 同步编码调整的作用是防止多级同步级联编码工作时产生误差积累,以保持较高的转换质量。
G.721 ADPCM-自适应量化 G.721算法是针对采用16比特字长、定点运算的硬件实现来设计的。 为了使自适应量化器有较大的动态范围以及将乘除运算转换为加、减运算,自适应量化在对数域中进行。 取对数后: 归一化信号采用15电平非均匀量化器量化
G.721 ADPCM-自适应量化 归一化输入 输出代码I(n) 归一化输出 7 3.32 6 2.91 5 2.52 4 2.13 3 1.66 2 1.05 1 0.031 -∞
G.721 ADPCM-自适应量化 自适应逆量化是自适应量化的逆过程,先进行: 再作指数运算,加上d(n)的符号位,得到量化后的预测余量信号。 A律或μ律PCM输入信号转换成均匀的PCM。差分信号等于均匀的PCM输入信号与预测信号之差。“自适应量化器”用4位二进制数表示差分信号,但只用其中的15个数(即15个量级)来表示差分信号,这是为防止出现全“0”信号。“逆自适应量化器”从这4位相同的代码中产生量化差分信号。预测信号和这个量化差分信号相加产生重构信号。“自适应预测器”根据重构信号和量化差分信号产生输入信号的预测信号,这样就构成了一个负反馈回路。
量化器的自适应定标因子 G.721的量化器定标因子采用运算量小,性能好的抗扰乘子自适应算法。其特点是能按照输入信号统计特性改变量化器的自适应速度,对短时能量变化较快的语音信号采用快速自适应,对短时能量变化较慢的带内数据信号等采用慢速自适应。 快速非锁定标度因子能够随量化情况较快的变化,适应于短时能量变化较快的语音信号。
量化器的自适应定标因子 控制量阶大小的定标因子为: 是自适应速度控制参数,是通过I(n)幅度的长、短时平均值的差求出的,反映了预测余量信号的变化率。取值范围为:[0,1]。对于语音信号,趋向于1,为快速自适应,对于平稳信号,趋向于0,为慢速自适应。
自适应预测 为了使系统能够稳定工作,并且对各类输入信号都能有较好的预测效果,预测器采用6阶零点,2阶极点预测器,预测信号为: 重建信号为:
单频和瞬变检测 一些调制解调器采用的是FSK信号,其模型: 如果用ADPCM传输这种信号,当信号从一个频率跳变到另一个频率时,预测系数仍停留在一个频率状态,预测增益很小。G.721采用单频和瞬变监测器,分两步处理这种情况。 第一步判断是否传输的是单频信号, 如果是,则驱动量化器向快速自适应量化转化;第二步检测是否有窄带信号瞬变,如果发生了频率瞬变,强制量化器处于快速自适应状态,
同步编码调整 同步编码调整是指在数字等级上实现PCM和ADPCM之间的转接。G.721采用同步调整的方法减少多次同步级联时的误差积累。 在ADPCM解码器中对输出的PCM码进行调整,使下一级ADPCM编出的码字与这一级输入的ADPCM码字相同。
同步编码调整工作的原理 重建信号首先转换为PCM码,再进行逆转换重新转换为线性码,然后计算差值信号,对差值信号进行量化。根据判断 和 是否相同来确定真正的解码器输出的PCM码 这种调整方法是以两级ADPCM处于同一工作状态为前提的。
ADPCM G.721 ADPCM编译码器的输入信号是G.711 PCM代码,采样率是8kHz,每个代码用8位表示,因此它的数据率为64kb/s。而G.721 ADPCM的输出代码是“自适应量化器”的输出,该输出是用4位表示的差分信号,它的采样率仍然是8kHz,它的数据率为32kb/s,这样就获得了2∶1的数据压缩。
子带编码(SBC) PCM,DPCM都是不对输入信号频带做任何分割的前提下,在时域中进行的处理,这类编码方式称为整带时域编码。 子带编码首先使用带通滤波器组将输入信号分割成几个不同的子带信号,再对这些子带信号分别进行频谱平移,然后分别对各子带进行量化、编码,这类编码方式称为频域编码。频域编码将信号分解成不同频带分量的过程去除了信号的多余度,得到一组不相关的信号。
子带编码的优点 把语音信号分割为若干子带进行编码的主要优点: 如果对不同的子带合理分配比特数,就可能分别控制各子带的量化电平数目以及相应的重建信号的量化误差,使误差谱的形状适应人耳听觉特性,得到更好的主观听觉质量。由于语音的基音和共振峰主要集中在低频段,所以对低频段采用较多的比特数来表示样值,而高频段则采用较少的比特数。 子带编码的另一个优点是各个子带内的量化噪声相互独立,可以避免输入电平较低的子带信号被其他子带的量化噪声所淹没。
子带编码的应用 子带编码已经广泛的应用在语音和音频编码中。在语音通信中,16~32kb/s的子带编码能给出高质量的重建语音,在9.6kb/s的速率上,能得到中等的通信质量。 子带编码存在的问题是编解码的延时比较长,约在几10~100ms之间,这主要是滤波器组的延时造成的,这种延时对于一些通信系统是不能接受的,因此子带编码主要用于声频存储、数字声广播以及一些允许延时较长的电话传输系统中。
子带编码的工作原理 首先用一组带通滤波器将输入信号分成若干子带信号,然后将这些 子带信号通过频率搬移变成基带信号,再对它们分别进行采样,量化 编码后再将子带的信码合路成一个总信码传输到接收端。 量化编码可以采用PCM、DPCM等方式。
子带编码的工作原理 在接收端,把总信码分成各子带信码,再进行插值, 频率搬移到原来的位置,带通滤波然后相加得到重建信号。
子带编码的工作原理 各子带的带宽可以是相同的也可以是不相同的,相同的称为等带宽子带编码,不同的称为变带宽子带编码。 等带宽子带编码的优点是便于硬件实现。 变带宽编码中,常用的子带划分方法是令各子带的宽度随频率的增加而增加。也就是低频子带宽度较窄,高频宽度较大。这种划分方法不仅和语音信号的功率相匹配,也和语音信号的可懂度或清晰度随频率变化的关系相匹配。 语音信号频带中具有相同带宽的子带对语音可懂度的影响不同,低频的影响大一些,高频的影响小一些。 在等带宽分割时,对不同子带分配不同的比特数,等带宽编码也能获得比较好的重建语音质量。
线性预测编码(LPC) 语音信号存在两种相关性: 样点之间的短时相关性; 相邻基音周期之间的长时相关性。 声码器(Vocoder)是声音编码的简称。但通常它仅指低传输数码率(约2.4Kbps/s左右)的、传输的是有限个语音参数的这一类语音编码器。它主要用于窄带信道的语音通信中。为了达到如此低的传输数据率,声码器只能提取和传送那些携带听觉上最重要部分信息的参数,同时必须对它们进行高效的编码才行。声码器中比较有价值的是线性预测声码器,这是因为它较好的解决了传输数码率与所得到的语音质量之间的矛盾。
线性预测编码 利用线性预测(LPC)方法对语音信号进行两种相关性的去相关处理后,得到的是预测余量信号。 如果用预测余量信号作为激励信号源,输入长时预测综合滤波器1/P(Z),再将其输出作为短时预测综合滤波器1/A(Z)的输入, 即可在输出端得到合成语音信号。
语音的短时预测 语音信号的短时相关性(谱包络)可以用一个全极点模型来描述,其传递函数为: 预测系数从语音信号中利用线性预测分析的方法计算得到,预测系数随时间逐帧更新,更新速率为30~100次/秒。
语音信号的长时预测 滤波器1/P(Z)是表示语音信号长时相关性(谱的精细结构)的模型,形式一般为: 延时参数D就是基音周期。{bi}是语音信号的长时预测系数,通常长时预测系数的个数取1(q=r=0)到3(q=r=1)之间,延时参数和长时预测系数可以从语音信号中直接提取,也可以从去除了短时相关性所得的余量信号中提取,这些系数随时间更新,更新速率为50~200次/秒。
激励信号源 求得短时和长时预测信号后,将语音信号输入短时和长时线性预测逆滤波器A(Z)和P(Z)中,可以去除语音信号的短时和长时相关性,在其输出端得到类似噪声的波形,即LP余量信号。 对于浊音段,余量信号中往往还存在以基音周期重复的尖峰脉冲。 与原始语音相比,余量信号的频谱起伏要小得多,因此有可能对余量信号进行低速编码。 如果以余量信号作为激励信号源,则可无失真的恢复语音信号,但是为了压缩数码率,不可能直接用LP余量信号作为激励信号。
线性预测声码器的概念 如果采用简单的二元激励,即浊音语音段用间隔为基音周期的脉冲序列,清音语音段用随机噪声序列代替余量信号作为激励信号源,这样的编码系统称为线性预测声码器(LPC,Linear Predictive Coding)。LPC对语音产生模型的特征参数进行编码,故称为参数编码或模型编码。 LPC编码算法虽然可以得到清晰可懂的合成语音,但是自然度不够理想,即使提高编码率也无济于事。 在有噪声的情况下,LPC很难提取出准确的基音周期及正确的判决清/浊音,这给合成语音带来灾难性的影响。
合成-分析法(Analysis By Synthesis) 在16kb/s以下速率中,能用于余量信号编码的比特数比较少。如果对余量信号直接量化,并且使余量信号与其量化值之间的误差达到最小,并不能保证原始语音与重建语音之间的误差最小,只有利用分析合成法求得余量信号的编码量化值,才能使得重建语音与原始语音的误差最小。 合成分析法即将综合器引入编码器,使之与分析器相结合,在编码器中产生与译码器完全一致的合成语音,将此合成语音与原始语音相比较,根据一定的误差准则来调整计算各个参数,使得二者之间的误差达到最小,这种方法就称为合成分析法。
感觉加权滤波器(Perceptual Weighted Filter) 感觉加权滤波器的依据是人耳的听觉掩蔽效应。在语音频谱中能量较高的频段的噪声相对于能量较低频段的噪声不易被感知,在度量原始语音与合成语音之间的误差时记入此因素,语音能量高的频段允许误差大一些,能量低的频段允许误差小一些。 引入频域感觉加权滤波器来计算二者的误差并使其达到最小:
感觉加权滤波器 取感觉加权滤波器在Z域的表达式为: 感觉加权滤波器的特性由预测系数和加权因子确定。 W(Z)的实际作用就是使得实际误差信号的谱不再平坦,而是有着与语音信号谱相似的包络形状。
感觉加权滤波器 实际听音的结果表明,在8KHz采样频率下,r取值0.8左右较为适宜。 如果感觉加权滤波器W(Z)和预测滤波器H(Z)级联,可以得到加权综合滤波器H(Z/r): 随着r的减小,与H(Z/r)相应的各共振峰的带宽加大,也称H(Z/r)为频带扩展滤波器或者误差整形滤波器。