语音质量对于大多数情况来说是一个主观因素,对于清晰、低时延、低抖动的话音我们认为其质量是可以接受的比如我们通常的对外测试,请客户听一听话音的质量,客户的评价就是语音质量的主观评价当然ITU也有可以量化的语音质量评判标准,这在后文中会有说明无论是主观的评判还是客观的量化的指标,清晰、低时延、低抖动都是高质量话音的保证影响语音质量的因素在VOIP通信中,影响语音质量的因素比较多,归类起来就以下几个大的因素:1、网络因素,网络一般体现在网络的延迟、抖动、丢包延迟一般是有语音的编解码速度、JitterBuffer延迟、TCP/IP协议栈处理速 度、中间路由器路由延迟等引起的,在这些因素中,最重要的是JitterBuffer延迟和中间路由器路由延迟解决中间路由器的延迟必须是通过中间网络 的选取来解决,类似SKYPE的SN、的服务器协调路由的解决方案,其实就是找到最佳语音路由路径抖动是有中间路由器的包排队引起的,抖动会引起声 音的不连续解决这个问题办法就是用JITTERBUFFER来缓冲,从而达到消除抖动,但JITTERBUFFER太长会引起网络的延迟,所以在 JITTERBUFFER的设计上必须采用实时根据网络的情况调整JITTERBUFFER的缓冲大小。
还有个问题就是丢包,一般的语音编解码允许的丢包 率在5%以内,引起丢包的主要原因的终端的带宽不够或中间路由器堵塞造成丢包,如果是终端的带宽不够,那么在呼叫建立过程中必须协商双方的通信能力,尽量 考虑用比较合适的语音编解码来进行通信,例如:在56K的猫上最好不要选用G711等大带宽的语音编解码,所以智能的通信能力协商是必要的如果是中间路 由器堵塞造成丢包丢包,解决这种情况有很多办法:采用对丢包不明显的语音CODEC、丢包补偿(FEC)、自动选择中间路由(同解决网络延迟的方法一样)2、编解码采样因素,一般的语音的采样是8K,这就很大程度印象声音的真实性,GIPS的iSAC编解码采用16K ~ 44.1k不等的采样,所以SKYPE可以声称自己比PSTN的语音更清新,尤其是在放音乐的时候所以在VOIP系统中,要在声音清晰度上超过PSTN 达到网络娱乐的效果,必须采用高采样的CODEC现在16K以上的语音编解码有:iSAC、Speex、G.722.2等这些编解码都是需要比较大的 带宽和CPU利用率,所以很必须综合考虑3、语音的数字信号处理,一般在如果不采用任何的数字信号处理,声音质量肯定比较差,一般表现为:回声大、噪音大、声音乎小乎大。
所以要提高语音这 方面的清晰度,必须做回声抵消、噪音抑制、信号增抑控制处理但这些信号处理的算法一般只能在PC上或用DSP来实现,一般的掌上设备无法有这样的计算能力所以在呼叫建立过程中必须协商双方的计算能力,这个是非常必要的现在试面上的VOIP产品很少考虑这方面4、静音压缩和CNG,静音压缩有两个非常明显的功能,那就是节省带宽、减小延迟但也带来了一个负面的影响,就是对方在静音的时候,你根本听不到 任何声音,好象网络断开一样,这个时候CNG产生舒适音是非常必要的所以静音压缩和CNG是要合在一起使用才能达到好的效果5、媒体通信的分级,一般的VOIP都有语音、视频、文本消息、传文件等功能,这些功能的通信都有自己的特点语音最明显的特征是最快的完全到达对 方,而视频对时间并不是很敏感,但它对丢包比语音敏感传文件占用的带宽大等特征,所以在通信机制上必须对各种媒体通信指定严格的通信等级,这样才能让保 证最重要的媒体通信的质量6、RTP/RTCP的通信控制问题要最大限度的保证VOIP产品的语音质量,以上6个问题必须综合起来考虑才能形成比较好的语音质量,但还有一些其他的因素,例如:NAT/FW的穿越问题、硬件稳定性和敏感性等。
其中网络因素和编解码采样因素是目前研究最多的两种,网络因素主要有:1 时延什么是时延(Delay)?时延很好理解,就是我说话你听见的这个时间段对于VOIP( Voice over Internet Protocol)网络可以认为是端到端包传递的时间如果大家以前用卫星线路打过或前些年的免费PC-TO-PHONE的VOIP国际长途,大家会切身感觉到时延对我们通话的影响ITU G.114规范建议,在传输语音流量时,单向语音包端到端延迟要低于150ms(对于国际长途呼叫,特别是卫星传输时,可接受的单向延迟为300ms如果超过300ms则通话的质量会变的让人不能忍受过多的包延迟可以引起通话声音不清晰、不连贯或破碎例如,当通话的一方不能及时接收到期望的回复时,说话者可能会重复所说的话,这样会与远端延迟的回复碰撞,导致重复大的时延也往往说明承载网络的某个地方发生了拥塞,队列中的报文等待时间过长,拥塞不仅仅是增加了包的时延,而很可能导致部分包被丢弃,这时听者会感觉到声音会发生异变、破碎大多数用户察觉不到小于100毫秒的延迟,当延迟在100毫秒和300毫秒之间时,说话者可以察觉到对方回复的轻微停顿这种停顿可以影响到通话双方的交流。
超过300毫秒,延迟就会很明显,用户开始互相等待对方的回复,通话过程变成类似对讲机式的模式而且较长的时延也会将回声问题的影响放大时延的产生有多种因素,下面列出了主要的时延源:编码的处理:模拟形式的声音信号在CODEC被采样和量化为PCM信号,DSP对PCM信号进行压缩处理所产生的时延为编码处理时延 这种时延产生在设备侧,如果设备的编码器固定,则编码时延也固定各编码方式时延:编码技术比特率(K bps)MOS值编码时延(ms)G.711644.40.75G.723.1(5.3K)5.33.630G.723.1(6.3K)6.33.430G.72984.010包化(Packetization):包化就是将编码器输出的语音净荷放置到RTP/UDP/IP包中的过程,相对于编码的时延,包化的时延很小,因为包化的过程没有复杂的运算,仅仅是增加包头和计算校验和,而编码则有大量的数学运算队列(Queuing):语音的净荷放置到IP包中后,要被设备转发到目的地,这些包会在设备的出接口队列中,等待被调度转发设备不同的队列机制对IP包的处理有很大不同可以通过合理的配置来减少语音包在队列中等待的时间,进而减少队列时延。
串行化(Serialization):接口队列中的语音IP包,被送离设备前会放置到接口的物理队列当中,如果物理队列中有一个较大分组,还在发送状态,则语音分组必须等待这个较大的分组发送完毕后才能发送,这个等待的时间就是串行化时延比如一个时钟速率为64kbps的链路要发送一个1600Bytes大小的FTP分组,则串行化产生的时延会达到200ms(1600×8/64000×1000)这对于后面等待的语音包来说已经是很大的时延了广域网时延:对于ISP提供的广域网链路,对于用户来说只是一个黑盒子,除了上述的编码时延外,构成广域网链路的路由器交换机都会产生包化、队列、串行化的时延而且到达同一目的的路径不同,其每个包的时延也不同,而这些时延对于用户来说是不可控的,当然我们在租用ISP的线路时,可以要求ISP提供符合时延要求的线路2 抖动变化的时延被称作抖动(Jitter),抖动大多起源于网络中的队列或缓冲,尤其是在低速链路时而且抖动的产生是随机的,比如你无法预测在语音包前的数据包的大小,既便你使用LLQ(低延迟队列),如果大数据包正在传输过程中,当语音分组到达时,它还是要等待数据分组被发送完而在低速的链路中,语音数据混传时,抖动是不可避免的。
通常使用LFI(链路分段和交叉)将大包拆小,来减少大包对时延的影响3 丢包率丢包(Packet Loss)是影响语音质量的重要的因素,当丢包超过一定的比率时,语音质量会变的不可接收,听者会听到,含混、爆破似的声音,在VOIP通话时,接收方的编解码器能够接受一定程度的丢包律,一旦检测到有分组丢失,接收方的编码器就会对丢失时间内的波形进行推算绝大多数的编解码器都能接受随机5%的丢包率,而不会明显影响通话的质量这里说随机是因为如果这5%的包是连续丢失的,也会对语音质量造成很大问题4 回声回声(Echo)一般分为说话者的回声和倾听者的回声说话者的回声就是在通话过程中,说话者听到了自己的声音倾听者的回声就是倾听者重复听到说话者的声音回声的产生的原因一般分为两种,一种是电信号回声,一种是声学回声电信号回声产生于网络的模拟部分hybrid是4线变2线的混合器,大部分的电信号回声是由于hybrid的阻抗不匹配引起声学回声是指,声音从扩音器(如耳机、听筒)扩散到扬声器(话筒、麦克)在大多数的PSTN (Public Switched Telephone Network )环境中,回声是存在的,但是回声的产生时间是如此接近正在讲话的人的声音,以至于给人的感觉,这只是简单适度的侧音,就像我们平常说话时,我们通过颚骨听到自己的声音,这样的侧音对我们来说是习惯的。
但当回声通过网络以过大的延迟返回时,回声不利的影响就会被说话者察觉,语音质量就变得有问题了注意回声虽然只能在网络的模拟部分产生,但是IP网络累积的延迟能够导致回声从合适的侧音变成令人困扰的语音质量问题为了消除回声干扰,可以在尽可能靠近回声源的地方部署被称为回声抑制器的装置回音抑制( Echo Cancellation Algorithm)其定义由ITU-T G.168给出回音抑制的功能是用相位补偿的方法抵消串入远端发送信号中的远端接收信号其目标是消除时延超过25毫秒的回声,因为当回音超过25毫秒时,说话方就能够听到反射回来、滞后的自己的声音5 沿切割丢失说话人的第一个或最后一个音节或单词的现象叫沿切割(Clipping),沿切割由延迟和IP网络中的静音抑制机制的使用而引起人们为了更有效地使用网络带宽,会经常使用静音检测机制,例如静音检测(VAD)或者舒适噪音生成器(CNG)静音检测器(VAD = Voice Activation Detector) 该器件在信号电平低于某一特定的门限值时,将限制数据包的传输,此时其提供空闲(Idle)或者“舒适噪音”(Comfort Noise) 以避免用户感到“断线”(Dead Air)。
网关中相应部件对从静音~讲话和从讲话~静音之间的过渡状态的响应速度如果过慢,就会丢失开始或最后的音节VAD是产生“前沿切割”(“Leading Edge Clipping”)和 “后沿切割”(“Trailing Edge Clipping”)的主要因素有时这对于商务通话来说是不可接收的,开始和结束时礼貌的问候如果都没有让对方听到,会给对方不好的印象许多影响语音质量的因素不是单一产生的,而时常常伴随出现,比如说时延,抖动,和沿切割6 编解码不同编解码(Codec)对语音质量的影响,下表为不同编解码的MOS值:ITU StandardCoding Method NameMOSG.711PCM4.4G.723.1H.3233.98 to 3.5G.726ADCPM4.2G.728CELP4.2G.729ACELP4.2MOS值越高,代表语音质量越好,当带宽允许时,选用MOS较高的编解码可以获得较好的通话质量。