更新时间:2022-08-25 18:03
在一定程度上降低语音编码数码率的同时,保持相对好的语音质量的编码方法。波形编码消除语音信号的都分冗余度,从而既使数码率有所下降,又保持较好的语音质量,如ADPCM 32kbit/s编码已应用于通信之中。波形编码,一般可使数码率低到16kbit/s尚能有较高的语音质量。
波形编码是基于对语音信号波形的数字化处理,试图使处理后重建的语音信号波形与原语音信号波形保持一致。波形编码的优点是实现简单、语音质量较好、适应性强等;缺点是话音信号的压缩程度不是很高,实现的码速率比较高。常见的波形压缩编码方法有脉冲编码调制(PCM)、增量调制编码(DM)、差值脉冲编码调制(DPCM)、自适应差分脉冲编码调制(ADPCM)、子带编码(SBC)和矢量量化编码(VQ)等。波形编码的比特率一般在16~64 kbit/s之间,它有较好的话音质量与成熟的技术实现方法。当数码率低于32 kbit/s的时候,音质明显降低,低于16 kbit/s时音质就非常差了。
由于波形压缩编码的保真度高,AV系统中的音频压缩都采用这类方案。采用PCM编码,每个声道1秒钟声音数据在64 kbit以上。由于在多媒体应用中使用立体声甚至使用更多的声道数,这样所产生的数据量仍旧是很大的。若录制立体声音乐74分钟,载体存储空问大约要70 MB。所以对存储容量和信道要求严格的很多应用场合来说,就要采用比波形编码低得多的编码方法,如参量编码和混合编码方法。
采用波形编码时,编码信号的速率可以用下面的公式来计算:
编码速率=采样频率×编码比特数
若要计算播放某个音频信号所需要的存储容量,可以用下面的公式:
存储容量=播放时间×速率÷8(字节)。
波形编码就是根据语音信号波形导出相应的数字编码形式,使其在接收端能忠实再现原始语音。最早的也是最著名的波形编码是PCM(G.711编解码器)。波形编码包含3个过程:采样、量化和编码。
模拟信号在时间上和幅度上都是连续的,通过采样,将时间上连续的模拟信号变为时间上离散的采样值。即用很窄的脉冲按一定周期读取模拟信号的瞬时值,将时间上连续的模拟信号变为时间上离散的采样值。根据采样定理,为了保证信息不丢失,采样频率至少应为模拟信号所含最高频率的2倍,由于电话系统中传送的语音的频带范围是300~3400 Hz,其最高频率为3400 Hz,3400的2倍为6 800,考虑到需留一定的富裕度,因此将采样频率取值为8000 Hz,即采样周期为125 μs。
量化是指用有限个度量值来表示采样后的信号的幅度值,将信号的幅度值就近归入邻近的度量级。即将幅度上连续的采样值变换为幅度上离散的量化值。由于用量化值表示连续采样值是近似的,由此必然带来所谓“量化噪声”。如果按均匀分段的方式划分量化区间,就称为均匀量化或线性量化,其主要问题是小信号的量化噪声大,在信号过大超过量化范围时又会产生过载量化噪声。因此,一般采用非均匀量化。非均匀量化最常用的方法是压扩法,对于输入的信号首先进行类似对数函数的压扩处理,将小信号扩大,大信号压缩,再进行均匀量化,CCITT曾建议两种压扩率——A律和μ律。欧洲和我国均采用A律,在PCM30/32系统中采用;μ律通用于北美和日本,在PCM24系统中采用。
每个量化值采用数字码字表示就称之为编码。显然量化级数越多,精度越高,所需编码位数也越多。在PCM中每个量化值用8 bit码字表示,最高位为符号位,低7位可表示128个量化级。对于语音信号的PCM编码来说,由于采样频率为8 000 Hz,每个采样值编码为8位二进制码,所以其传输速率为64 kbit/s。64 kbit/s是传统程控数字交换机中基本的传输和交换单位。
PCM虽然能够提供相当好的长途通信级语音质量,但是其速率过高,尤其在多媒体应用以及在共享信道的数据网中应用时,采用PCM传送语音占用的网络带宽资源过高。为此,人们提出了许多改进技术,以降低语音编码的速率。
低速率波形编码主要采用差分编码技术、自适应量化和自适应线性预测技术。
降低编码比特率的基本思路是利用语音采样信号之间的相关性。差分编码技术不是对采样值本身进行编码,而是对相邻的采样差值进行编码,由于采样差值较小,所需的比特率可以下降,这就是差分脉冲编码(DPCM)。产生差分信号最简单的方法是直接存储前一次的输入采样值,然后用模拟减法器获得差值,经量化编码后发送出去。这是差分编码技术的基本思想。
这种方法的缺点是会导致量化噪声始终在同一方向叠加,使输出信号越来越偏离正常信号。因此实际是通过反馈的方法由差分值重构生成前一次或几次采样值,对重构生成的采样值进行线性组合作为输入信号的预测值(相当于前一次的输入样值)。选取线性组合系数(也称预测系数)以使差分信号的方差最小。
在不同的条件下语音能量的差别很大,为了获得尽可能小的量化信噪比,应该对小信号采用用较小的量化步长,对大信号采用较大的量化步长进行量化。这就要求能根据输入信号的幅度变化动态地调整量化步长。这样可使量化器范围和输入信号的动态范围相匹配,减小量化噪声,从而进一步降低编码比特率。这就是自适应量化技术。
自适应量化算法根据语音信号幅度随时间的变化可分为两种:一种是瞬时自适应法,是根据相邻或相近若干采样值之间的快变化,称之为瞬时变化;另一种是音节自适应法,是根据相邻音节之间的慢变化,称之为音节变化。自适应量化算法首先计算输入语音信号的幅度或方差,然后据此控制量化步长。另外一种自适应量化方法是采用自动增益控制原理,根据输入语音信号的幅度或方差来调整量化器输入信号的大小。
差分编码调制能降低比特率的原因是它编码的对象是差分信号,其功率较原信号低。
由于差分编码采用的是固定预测系数,不能很好地适应语音的不平稳特性,为此必须采用自适应技术动态调整预测系数,才能进一步降低编码比特率。这就是自适应差分脉冲编码调制(ADPCM)技术。
自适应线性预测的基本原理是根据语音波形的时间相关性确定预测系数,使差分信号的方差为最小,时间相关性则是以自相关函数来度量的。由于语音信号的自相关函数大体是随音节而变化的,也就是在一个音节时间内自相关函数基本不变,只是从一个音节至另一音节时才有较明显的变化,因此自适应预测都采用音节适应算法。