IP语音:问题与策略

version 1.0
2008-11-11

1          VoIP问题简述

1.1          由终端引发的问题:

背景噪声:

回声:

输入、输出信号等级:I/O强度不匹配;

振幅裁剪:信号等级太大超出数据位表达范围时产生;

量化失真:模数转换时产生,可忽略;

Codec失真:有损压缩技术;

时间裁剪:由静音抑制技术引发;

多个谈话者:它将影响到处理算法的效果;

1.2          由网络引发的问题:

电路噪声:

频率相关失真:模拟线路(如modem)对不同频率信号具有不同的电传递特性,如有些传递快而另一些慢;

延迟:说话者开始说话到听者听到声音的时间;

抖动:分组到达间隔不规则造成;

回声:听到自己的声音的延迟超过25ms(即25ms后听到自己的声音)就可能引起通话不畅;

随机位偏差:如分组传递出错,这将造成整个分组丢弃并重传;

突发误差:如分组丢失;

量化、codec失真:

2          问题详述

2.1          时延:

分为传输、处理、序列化(将数据传送到接口上的时间,可忽略)几种类型;传输时延,信号绕地球半圈的单向延迟约70ms;处理时延,对于包大小为20msG.711数据,将有固定的20ms的延迟,G.7295ms的初始延迟;队列延迟,输出阻塞而使得数据滞留在输出队列中。

ITU-T G.114建议书规定好的语音质量单向端对端延迟不应超过150ms

时延将突出回声问题;

2.2          回声:

分成电路回声(典型地由2-4线转换的混合器阻抗不匹配产生)与声学回声(扬声器的声音传到麦克风产生,又根据声音是否经过环境反射分为直接回声与间接回声);对于VoIP,主要处理声学回声;

回声抑制器:比较准备播放的声音及由话筒提取的声音,其处理效果不好并可能引起声音断续;

声学回声消除器AEC:以扬声器信号与由他产生的回声的相关性建立语音模型,对回声进行估计,得到逼近真实的回声,再从要编码发出的声音数据中祛除这一部分;它的一个参数echo tail,即等待接受反转语音的时间;该参数需要合理设置;

根据Dialogic的资料,声学回声一般由终端处理(包括IP话机、网关),PSTN网不对它提供什么处理;HMP回声消除只处理电回声,在使用DNI连接PSTNDNI板提供板上回声消除功能)、使用DSI板(不存在电回声)、IP接入时不使用回声消除(IP终端应该在将语音打包成ip包时执行回声消除);在我们的纯IP网络中基本不要使用回声消除。

在终端使用回声消除技术,避免将回声也编码进发出的语音流,以提高对端感受的语音质量。

2.3          抖动:

一般使用jitter buffer解决抖动问题,但该方案将增加系统延迟时间;为达到最佳效果,应使jitter buffer大小根据实际抖动情况进行动态调整;

可以根据RTP时间戳来判断抖动级别(Cisco IOS);

2.4          分组丢失检测与补充:

一个简单的处理策略——如果期待时间内没有收到新的语音包,则重放一次最后收到的包;按这种策略,G.729可以忍受整个呼叫5%的包丢失(Cisco);

2.5          噪声:

2.6          语音活动检测VAD——静音抑制(silence suppression):

根据话音分贝变化确定是否有语音活动,通常检测到一个语音振幅降落时等待200mshangover),然后停止打包新的语音数据;该算法的缺陷:难以区分噪声,系统需要一定时间从语音抑制状态转换到语音传递状态造成说话者开头的词丢失;

RFC3389中对静音抑制的RTP说明:

RTP allows discontinuous transmission (silence suppression) on any audio payload format. The receiver can detect silence suppression on the first packet received after the silence by observing that the RTP timestamp is not contiguous with the end of the interval covered by the previous packet even though the RTP sequence number has incremented only by one. The RTP marker bit is also normally set on such a packet.

即需要通过判断timestamp来获得静音时间,而不能利用sequence number的跳动;timestamp值与采样周期相关,例如8KG.711数据,一个20msRTP包覆盖的采样次数为8000*20/1000=160,这样两个RTP包的timestamp的差值为160

2.7          混音:

二次编解码;

将输入解码到压缩前的状态,再线性叠加或自适应增益调整,再编码输出;

混音所造成的问题:增大单向延迟;

 

2.8          AGC,解决双向语音流强度不一致问题

将信号调整到标准值的过程;

3          语音压缩、编码技术

PCM8K采样率的由来:Nyquist定理认为如果以最高频率2倍的速率采样,就可以将信号完整地恢复到模拟形式——大多数声音都低于4KHz

A-lawu-law,都使用压缩算法在8位中得到12-13位的PCM质量,某些情况下u-law的声音质量稍好于A-law;如果需要u-lawa-law的转换,则由u-law国家负责;

编码器分类:波形编码器——PCMADPCM,利用波形冗余特性编码的压缩技术;源编码器——利用声音产生的源特性,只发送原始语音的简化特征信息,包括LPClinear predictive coding),CELPcode excited linear prediction compression),MP-MLQmultipulse, multilevel quantization)等

G.7xx系列与PCM等的关系,前者是标准,后者是算法;

衡量编码优劣的标准:bit率,时延,复杂度,质量;

语音质量的评测:主观评测MOSmean opinion score,平均意见得分),由人根据主观感受给出;客观评测PSQMPerceptual Speech Quality Measurement,知觉语音质量测量),由计算机根据某些客观数据给出。

4          相关协议简介

RTP,序列号:判断包是否顺序到达;时间戳:判断抖动;

RTCP,可用于支持会议应用,提供对不同媒体流的同步支持,提供QoS反馈;

CRTPRTP包头压缩;

RUDP,可靠UDP,基本方式是传输多个同样的包,由接收端丢弃重复数据;

5          参考资料

《分组语音技术与网络实现方案》

《语音与数据集成网络》

VoIP技术构架(第二版)》

 

你可能感兴趣的:(算法,网络,buffer,Cisco,终端,Codec)