刘冰
摘 要: 探讨了VoIP的关键技术,分析了影响VoIP语音通信质量的因素,提出了提高VoIP语言通信质量的方法,即:优化网络环境、选择合适的编解码、服务质量保障(QoS)、使用颤音缓存。该方法对提高VoIP语音通信质量,推动VoIP业务的普及具有实际意义。
关键词: VoIP; QoS; 编解码; 颤音缓存; 语音通信质量
中图分类号:TP39 文献标志码:A 文章编号:1006-8228(2013)07-17-02
0 引言
随着网络技术的迅猛发展和WiFi入网限制的解除,VoIP技术得到广泛的应用。通过无线移动通讯网络的VoIP业务,用户手机可利用WiFi接入互联网,然后利用互联网发送和接收语音数据。近两年,随着智能手机的迅速崛起,这种方式渐渐得到了人们的青睐,越来越多的人选择以这种方式代替原有的通话模式。但是,由于网络无法提供严格的QoS保障,以及时延和时延抖动等原因,使得无线通讯网络中VoIP的传输质量不够理想。因此,研究如何提高VoIP语音的通信质量有重要意义。
1 VoIP的关键技术
VoIP即Voice Over IP的缩写,它是将模拟音频信号进行采样、压缩、打包等一系列处理后,以IP数据报的形式在IP分组交换网络上进行传输。简单地说,它是将模拟话音转换成可以在网络中传输的数字信号。
在建立VoIP通话之前,先要进行呼叫,完成这一任务的信令系统。建立呼叫之后要对数据流进行实时传输,这就需要一种实时传输技术。要使音频信号在分组交换网络传输,还需要把模拟音频信号转成数字信号,并进行适当的压缩、编码以适应这种传输环境,这就需要在传输之前对音频进行编码。在传输过程中,还需要对通话服务质量进行实时监控,因此还需要一种 QoS质量保障技术来完成这个工作。VoIP中的关键技术总结起来就是:信令技术、语音编码技术、实时传输技术、QoS质量保障技术[1]。
1.1 信令技術
所谓信令技术,可以理解为是一种控制机制。在VoIP系统中常用的信令技术有两个:一个是由国际电信标准(ITU一T)制定的H.323;另一个是由因特网工作组(IETF)制定的会话初始协议SIP。这两种技术相比,H.323是一个完整的体系,提供了完成VoIP通信的所有子协议,但是由于H.323更庞大与复杂,不易于管理与维护,并且它不是一个开放性的协议。与此相比,SIP则显得更灵活,扩展性强。SIP协议只提供会话建立、呼叫控制的功能,因而建立呼叫的时间相对较短,SIP还需要与其他协议协同合作完成VoIP的具体通话任务。SIP协议目前已被广泛应用到IMS网络中,负责VoIP业务的实现。
1.2 语音编码技术
由于传输用到的带宽有限,因此需要将数据压缩得尽可能小,来降低传输比特率。目前主流的编码技术有波形编码、参量编码和混合编码。VoIP应用中主流的波形编码有 G.711、G.721、G.723、G.726和G.727,而G.728、G.729、Speex等则是主流的参数和混合编码。这些编码各有自己独特的算法,速率、复杂度也不尽相同。
1.3 实时传输技术
实时传输技术用来保障压缩数据可以有序,同步地到达接收方,便于接收方对数据进行解码。目前VoIP系统中的实时传输技术主要是通过RTP协议实现的[2]。
1.4 QoS质量保障技术
为了保障服务质量,VoIP采用了资源预留协议RSVP以及实时传输控制协议RTCP。
RSVP信令协议,可以为网络上的任何终端、主机之间建立的路径保留带宽,为数据传输预定、保证 QoS。RTCP在进程之间交换控制信息,对传输质量进行管理。在 RTP会话期间,参加会话的成员会间隔的传送包含了已发送数据包数量、丢包数量等统计数据的RTCP包。利用这些信息,服务器就可以动态调整传输速率乃至改变载荷类型。RTCP和RTP一般捆绑使用,可以有效地反馈,优化传输效率[1]。
2 影响VoIP语音质量的因素
由于VoIP业务是通过因特网来传输封包,因此会产生封包延迟、掉包等。影响VoIP语音质量的因素主要有:时延、时延抖动、丢包率。
2.1 时延
数据从发话端传输到接收端所需要的时间即形成了时延。语音通信系统中,时延的增加会让通话双方感觉话音传输的停顿感,同时也会造成回音。对于公用电话网,延时一般只有50~70ms,而IP电话的延时较大、通常为150~250ms,因此,VoIP系统的时延一般控制在100ms~150ms内,否则语音质量难以保证。VoIP系统中,时延由存储转发时延,传播时延及处理时延组成。
2.2 时延抖动
在一个VoIP呼叫过程中,所有发送的数据包经不同路径到达目的地的时间差异即形成了时延抖动。VoIP不同于传统PSTN网络,以固定速率进行传输,由于它在IP网络上存在不同路由,而导致同一数据包之间也会有不同的时延,存在传输时间差,因此产生抖动 [3]。
2.3 丢包率
IP数据包传输的过程中,丢失的数据包数量占所发送数据包总量的比率即形成了丢包率指。不仅数据包在网络中间传输过程中可能产生丢包,当话音网络中超出抖动缓冲区所能承受的最大时延时也会产生丢包。丢包会造成话音信息的缺失,严重时会导致话音的不连贯,甚至无法准确收听到对方的话音。丢包率主要与网络的流量有关,它是影响话音质量的重要因素。通常情况下,语音业务的丢包率须要控制在1%以内。
3 改善VoIP语音通信质量的方法
为了保证VoIP通话的要求,可以从以下几个方面进行改善。
3.1 优化网络环境
通过增加DSL或其他设备的频宽,使得语音质量得到改善。需要注意编解码所占频宽的大小,还应该考虑封包成本。例如,G.711虽然只占64kbps,但是把封包成本计算在内,所需的实际频宽超过100kbps。改善网络环境就会增加投资成本,包括更换设备和增加频宽。而且,由于网络跨越范围很广,众多设备当中可能有部分会发生故障,这时就会使得丢包率瞬间提高,这对于需要即时传输的语音封包来说有致命的影响。
3.2 选择合适的编解码
选择合适的编解码可以对抗瞬间爆发的丢包率。在窄频环境中可使用iLBC,宽带环境中可使用ISAC或G.711,这些编解码可以在丢包率超过20%的情况下,MOS值仍然超过3.0的优异效果。在选择合适的编解码的同时,还要保证当前频宽能够满足编解码的需求。如:iLBC至少在30kbps以上,G.711至少在80kbps以上。
3.3 服务质量保障(QoS)
QoS是将不同的封包(协议)进行标签化处理,使得带有特定标签的封包(协议)能够被优先处理并传送。QoS的算法多达数十种,有的机制可以通过结合其他的规则使得效果加以优化。有的机制将不同的封包(协议)通过优先等级队列的方式,来保证优先级别高的封包(协议)可以“插队”处理与传送。有的机制是将可用的带宽进行分割、编制等级,让不同的封包(协议)以不同的带宽传输。更复杂的算法设计,还能使用“借用频宽”的方式來加速封包的传送。设备端能判断邻近的频宽是否使用中,如果发现“隔壁”频宽并未使用,就可以允许特定封包(协议)借用隔离的频宽。有些算法甚至于针对优先等级来决定频宽借用问题,高优先等级的封包(协议)可以借用低优先等级的频宽。反之,低优先等级的封包或协议无法借用高优先等级的频宽[4]。
在VoIP系统中,通过QoS的技术虽然能确保语音封包优先处理与传送,但是如果此时网络环境不良,优先传送的封包发生丢包情形,语音质量依旧会发生不稳定或不良的情形。
3.4 使用颤音缓存
颤音是由于封包迟延产生的,可以在设备接受端使用部分内存作为缓冲区,将没有到达的封包缓存,并对其进行排序,再按序播放,这样可以改善颤音的现象。从理论上来讲,缓存区越大效果越好,但是这样会占用宝贵的内存资源。而且,由于声音是实时的,颤音的处理要在有限时间内完成,因此,太大的缓存空间不但浪费内存,而且还可能使封包延迟更严重。
4 结束语
经过上述分析可知,要想提高VoIP语音的通信质量,需要综合多方面的因素考虑、权衡。要想彻底改变语音质量应该通过改善网络环境,增加频宽来实现。但是当网络环境无法在短期内得到改善时,选择合适的编解码将优于传统的QoS的效果。本文提出的方法,将对VoIP系统语音通信质量的提高,推动VoIP业务的普及具有实际意义。
参考文献:
[1] 林辉.基于SIP的嵌入式AndroidVoIP语音终端的研究与实现[D].华南理工大学硕士学位论文,2012.
[2] 徐韬.基于Android终端的小型VoIP系统设计与实现[D].大连理工大学硕士学位论文,2011.
[3] 巴刚,罗卫兵,迟晓刚.基于SIP的VoIP系统语音质量研究[J].机械管理开发,2011.6:45-48
[4] 杨正任,康仁财.改善网络电话声音质量的新技术[J].福建信息技术教育,2008.4:6-10