VoIP中语音压缩编码技术的研究与性能分析
时间:07-31
来源:互联网
点击:
1.2.2利用了人耳的听觉特性
利用人耳的掩蔽效应也可以进行语音压缩编码,降低比特率。两个响度不等的声音作用于人耳时,响度较高的频率成分的存在会影响到对响度较低的频率成分的感觉,使其变得不易被察觉,这就是我们所说的掩蔽效应。在语音频谱中,能 量较高的频段即共振峰处的噪声相对于能量较低频段的噪声而言不易被感知。因此在度量原始语音与合成语音之间的误差时可计入这一因素。在语音能量高的频段,允许二者的误差大一些,从而进一步降低编码比特率。为此引入一个频域感觉加权滤波器W(f)来计算二者的误差。感觉加权滤波器的频率响应中的峰、谷值正好与语音谱中相反。所以感觉加权滤波器的作用就是使实际误差信号的谱不再平坦。而是有着与语音信号谱具有相似的包络形状。这就使误差度量的优化过程与感觉上的共振峰对误差的掩蔽效应相吻合,产生较好的主观听觉效果。
1.2.3 线性预测分析——合成编码方法
IP网络电话中所使用的语音信号压缩编码方式大多数是基于合成—分析法的线性预测编码(ABS-LPC)方法,这是一种混合编码方法。线性预测技术就是用过去样点的线性组合来预测当前样点。假如用S(n)代表原始语音信号,用线性预测的方法求出预测器的系统预测系数αi,构成线性预测逆滤波 器,S(n)通过该滤波器后得到了去除短时相关性的语音信号。再将其进行基音预测,建立基音逆滤波器。去除它的长时相关性后,就可得到最后的残差信号。残差信号是完全随机的、不可预测的部分。根据速率的不同要求,可对残差信号采用不同的量化方法,从而得到不同的编码速率,让量化后的残差信号作为激励信号依次通过基音滤波器与线性预测滤波器后,便得到了合成语音信号,见图1。
编码的过程就是不断改变模型参数,使模型更好地适应原始语音信号。为此又引入了合成分析的概念。同时,利用人耳的掩蔽效应,引入了感觉加权滤波器。综合以上两方面,可以得到图2所示的线性预测分析—合成编码的方框图。
合成—分析法的基本原理可以概括如下:假定—原始信号可以用一个模型来表示,这个模型又是由一组参数来决定的,随着这组参数的变化,模型所产生的合成信号就会改变,原始信号与合成信号之间的误差也随之而变化。为了使模型参数能更好地适应原始信号,可以规定一个误差准则:当误差越小,模型合成信号就和原始信号越接近。这样总能找到一组参数,使误差最小,此时这组参数决定的模型就可以使用。一般在编码端配备编码和本地解码两个部分。配备本地解码的目的是完成合成功能,以便计算原始语音信号与合成语音信号之间的误差值。在图2中之所以采用反馈控制,是为了求出最佳模型参数,使合成语音与原始语音在某种准则下最为接近。
基于合成—分析法的线性预测编码的过程实质上就是不断地改变模型参数,使模型更好地适应原始语音信号的过程。原始语音信号被分成帧,帧的长度和模型参数决定了编码速率。
2、IP语音压缩编码算法及性能分析
2.1 常用的语音压缩编码算法
IP电话经常使用ITU定义的两个标准:G.723.1、G.729。它们采用的都是线性预测分析-合成编码和码本激励矢量量化技术,即混合编码的方法。
2.1.1 G.723协议
G.723协议是一个双速率语音编码建议[1],其两种速率分别是5.3 kbit/s和6.3 kbit/s。此协议是一个数字传输系统概况协议,适用于低速率多媒体服务中语音或音频信号的压缩算法。它作为完整的H.324系列标准的一部分,主要配合低速率图像编码H.263标准。在IP电话网关中,G.723协议被用来实现实时语音编码解码处理。
G.723.1协议的编解码算法中两种速率的编解码基本原理是一样的,只是激励信号的量化方法有差别。对高速率(6.3 kbit/s)编码器,其激励信号采用多脉冲最大似然量化(MP-MLQ)法进行量化,对低速率(5.3 kbit/s)编码器,其激励信号采用代数码激励线性预测(ACELP)法量化。
编码过程是首先选速率为64 kbit/s的PCM语音信号转化成均匀量化的PCM信号,然后把输入语音信号的每240个样点组成一个帧,也就是30 ms的帧长。每个帧通过高通滤波器后再分为4个子帧。对于每个子帧,计算出10阶线性预测滤波器的系数。为了适于矢量量化,把预测系数转化为线性频谱对(LSP:line spectrum pair)。量化前的系数构成短时感觉加权滤波器,原始语音信号经过该滤波器得到感觉加权语音信号。对于每两个子帧,编码器用感觉加权语音信号求得开环基音周期,基音周期范围从18个样点到142个样点。此后编码器所进行的操作都是基于60个样点进行的。最后,激励信号被量化,然后把这些参数和激励信号量化结果传送到解码器。由于帧长为30 ms,并存在另外的7.5 ms的前向延迟,导致37.5 ms总的编码延迟。
G.723.1协议是为了低速可视会议业务而设计的。由于可视会议业务每秒钟只传输很少数量的帧,而且又有比较大的时延,这就是G.723.1 允许有30 ms帧长的原因。这个帧长比较大,却正好适合可视会议这种情况。而且它的编码速度比较低,可以把尽可能多的比特用在图像传输上。
利用人耳的掩蔽效应也可以进行语音压缩编码,降低比特率。两个响度不等的声音作用于人耳时,响度较高的频率成分的存在会影响到对响度较低的频率成分的感觉,使其变得不易被察觉,这就是我们所说的掩蔽效应。在语音频谱中,能 量较高的频段即共振峰处的噪声相对于能量较低频段的噪声而言不易被感知。因此在度量原始语音与合成语音之间的误差时可计入这一因素。在语音能量高的频段,允许二者的误差大一些,从而进一步降低编码比特率。为此引入一个频域感觉加权滤波器W(f)来计算二者的误差。感觉加权滤波器的频率响应中的峰、谷值正好与语音谱中相反。所以感觉加权滤波器的作用就是使实际误差信号的谱不再平坦。而是有着与语音信号谱具有相似的包络形状。这就使误差度量的优化过程与感觉上的共振峰对误差的掩蔽效应相吻合,产生较好的主观听觉效果。
1.2.3 线性预测分析——合成编码方法
IP网络电话中所使用的语音信号压缩编码方式大多数是基于合成—分析法的线性预测编码(ABS-LPC)方法,这是一种混合编码方法。线性预测技术就是用过去样点的线性组合来预测当前样点。假如用S(n)代表原始语音信号,用线性预测的方法求出预测器的系统预测系数αi,构成线性预测逆滤波 器,S(n)通过该滤波器后得到了去除短时相关性的语音信号。再将其进行基音预测,建立基音逆滤波器。去除它的长时相关性后,就可得到最后的残差信号。残差信号是完全随机的、不可预测的部分。根据速率的不同要求,可对残差信号采用不同的量化方法,从而得到不同的编码速率,让量化后的残差信号作为激励信号依次通过基音滤波器与线性预测滤波器后,便得到了合成语音信号,见图1。
图1 语音生成模型
编码的过程就是不断改变模型参数,使模型更好地适应原始语音信号。为此又引入了合成分析的概念。同时,利用人耳的掩蔽效应,引入了感觉加权滤波器。综合以上两方面,可以得到图2所示的线性预测分析—合成编码的方框图。
图2 线性预测分析—合成编码方案
合成—分析法的基本原理可以概括如下:假定—原始信号可以用一个模型来表示,这个模型又是由一组参数来决定的,随着这组参数的变化,模型所产生的合成信号就会改变,原始信号与合成信号之间的误差也随之而变化。为了使模型参数能更好地适应原始信号,可以规定一个误差准则:当误差越小,模型合成信号就和原始信号越接近。这样总能找到一组参数,使误差最小,此时这组参数决定的模型就可以使用。一般在编码端配备编码和本地解码两个部分。配备本地解码的目的是完成合成功能,以便计算原始语音信号与合成语音信号之间的误差值。在图2中之所以采用反馈控制,是为了求出最佳模型参数,使合成语音与原始语音在某种准则下最为接近。
基于合成—分析法的线性预测编码的过程实质上就是不断地改变模型参数,使模型更好地适应原始语音信号的过程。原始语音信号被分成帧,帧的长度和模型参数决定了编码速率。
2、IP语音压缩编码算法及性能分析
2.1 常用的语音压缩编码算法
IP电话经常使用ITU定义的两个标准:G.723.1、G.729。它们采用的都是线性预测分析-合成编码和码本激励矢量量化技术,即混合编码的方法。
2.1.1 G.723协议
G.723协议是一个双速率语音编码建议[1],其两种速率分别是5.3 kbit/s和6.3 kbit/s。此协议是一个数字传输系统概况协议,适用于低速率多媒体服务中语音或音频信号的压缩算法。它作为完整的H.324系列标准的一部分,主要配合低速率图像编码H.263标准。在IP电话网关中,G.723协议被用来实现实时语音编码解码处理。
G.723.1协议的编解码算法中两种速率的编解码基本原理是一样的,只是激励信号的量化方法有差别。对高速率(6.3 kbit/s)编码器,其激励信号采用多脉冲最大似然量化(MP-MLQ)法进行量化,对低速率(5.3 kbit/s)编码器,其激励信号采用代数码激励线性预测(ACELP)法量化。
编码过程是首先选速率为64 kbit/s的PCM语音信号转化成均匀量化的PCM信号,然后把输入语音信号的每240个样点组成一个帧,也就是30 ms的帧长。每个帧通过高通滤波器后再分为4个子帧。对于每个子帧,计算出10阶线性预测滤波器的系数。为了适于矢量量化,把预测系数转化为线性频谱对(LSP:line spectrum pair)。量化前的系数构成短时感觉加权滤波器,原始语音信号经过该滤波器得到感觉加权语音信号。对于每两个子帧,编码器用感觉加权语音信号求得开环基音周期,基音周期范围从18个样点到142个样点。此后编码器所进行的操作都是基于60个样点进行的。最后,激励信号被量化,然后把这些参数和激励信号量化结果传送到解码器。由于帧长为30 ms,并存在另外的7.5 ms的前向延迟,导致37.5 ms总的编码延迟。
G.723.1协议是为了低速可视会议业务而设计的。由于可视会议业务每秒钟只传输很少数量的帧,而且又有比较大的时延,这就是G.723.1 允许有30 ms帧长的原因。这个帧长比较大,却正好适合可视会议这种情况。而且它的编码速度比较低,可以把尽可能多的比特用在图像传输上。
- 神经网络预测编码器的设计及应用(05-24)
- CDMA 2000系统中前向链路卷积编码器的FPGA实现(07-10)
- 一种基于单片机系统的无线遥控技术(04-22)
- 基于AVS标准的IPTV业务的解决方案(08-05)
- 电动汽车的无线充电距离我们还有多远?(05-21)
- 3G MIMO技术的实现挑战与解决方案(06-02)