VoIP技术(2)--语音编码算法-1

来源:互联网 发布:语音群呼软件 编辑:程序博客网 时间:2024/04/30 10:32

4.语音编码算法原理与应用

 

4.1 波形编码算法基本原理

语音编码主要有波形编码和参数编码两大类。波形编码就是根据语音信号波形导出相应的数字编码形式。最早的波形编码就是PCM,即ITU-T G.711A和ITU-T G.711μ,其编码速率为64kbit/s。


图9 自适应量化器

PCM虽然能够提供相当好的语音质量,但要占用过高的网络带宽资源。这里主要讨论低速率的波形编码算法,是利用了连续语音之间的相关性,主要采用的技术为自适应量化器和自适应预测器。

为了获得仅可能大的量化信噪比,应该对小信号采用小的量化步长,对大信号采用较大的量化步长。使量化器范围与输入信号的动态范围相匹配,减小量化噪声。这就是自适应量化技术。自适应量化分为两类:前向自适应量化和后向自适应量化,目前常用的是后向自适应量化。

自适应预测的基本原理是根据语音波形的时间相关性确定预测系数,使差分信号的方差为最小,时间相关性则以自相关函数来度量,如图9所示。

4.2 参数编码算法基本原理

语音的种类主要有两种:浊音和清音。声带周期性地打开和关闭产生固定频率的声音,这个频率就是浊音的音调;音调频率男性为50~250Hz,女性为100~500Hz;考虑到音频等声音频率范围,一般是0.3kHz~3.4kHz,因此8kHz的采样频率满足采样定理。从频域上来看,幅频频谱的包洛有几个明显的局部最大值,称为共振峰,频谱的精细结构呈现周期性。清音的频谱没有周期性,峰值的分布也没有明显的规律,整个频谱相对比较平坦,类似于白噪声,因而几乎不可预测。

 


图10 语音生成模型

参数编码器又称为声码器(Vocoder),它的原理和设计思想跟波形编码完全不同。参数编码根据对声音形成机理的分析,构造语音生成模型(如图10),该模型以一定精度模拟发话者的发声声道;接收端根据该模型还原生成发话者的因素。由于话音信号变化是缓慢的,模型参数的更新频度较低,可以有效地降低编码比特率。因此参数编码在移动通信、VoIP系统等领域得以广泛应用。

            参数编码器主要可分为三类:通道式、共振峰式和线性预测编码(LPC:Linear Predictive Coding)方式。其中线性预测编码方式的性能优异,目前低比特率语音编码器都采用这种技术。

4.3 编码算法综述及其属性和性能评估

在VoIP系统中,为了充分地利用网络带宽资源,一般均采用语音压缩编码。语音编码的主要属性有比特率、时延、复杂度和语音质量四项。在具体的实现中,这些属性往往相互冲突,在实际应用中,应该是对各项属性的折衷,确定合适的编码。

 

算法综述:

降低比特率是往往是语音编码的首要目标,采用的压缩编码的主要目的就是充分利用网络资源。一般来说,编码的比特率越低,算法的复杂度就越高,编码的处理时延也会越长,并降低语音质量。

目前,话音和图像压缩技术发展十分迅速,已经研究开发出很多高效率的压缩编码技术。如先进的以码本激励线性预测(CELP)原理为基础的G.729、G.723(G.723.1)话音压缩编码技术。常用的ITU-T G.729算法和ITU-T G.723.1算法的编码速率分别为8kbit/s和5.3或6.3kbit/s。以G.729为例,它可将经过采样的64kb/s话音以几乎不失真的质量压缩至8kb/s。话音压缩编码技术是IP电话技术的一个重要组成部分。图像编码方面有IP网络会议系统采用的H.261(活动图像编码)和H.263(低速率活动图像编码)。传真编码方面则有T.38。

 

近年来,出现了一些可变比特率的技术,主要有两个算法。

活动语音检测(VAD: Voice Activity Detection):主要用于检测输入信号是话音还是背景噪音。

舒适噪声生成(CNG: Comfortable Noise Generation):主要用于接收方重建背景噪声。

根据统计,双方通话的过程中,每一方真正讲话的时间约为40%,即约有50%为聆听对方讲话的静默时间,10%为讲话时短暂停顿的静默时间。静音检测技术可以有效剔除静默信号,从而使话音信号占用的带宽要求进一步降低到3.5kb/s左右,一个很自然的想法就是:通过利用VAD技术,在讲话时,媒体流正常发送,在没讲话时,不向对方发送媒体流,为了不使得对方产生断线的错觉,在对方产生舒适噪声。这种算法实现地不当,就会丢掉部分语音,如句子的开始。一个好的算法应该保证:丢掉的语音小于64毫秒,而且丢掉的语音小于0.2%。

 

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/jaxkxu/archive/2010/08/16/5815849.aspx

原创粉丝点击