提高VoIP电话性能的方法探讨
2018-03-30田婧
田婧
摘 要:在移动互联网下提高VoIP通话质量是一项具有挑战性的任务。全球超过50%的手机用户使用较老的GSM制式,这是目前技术研究的一大挑战。文章提出了一种改进移动VoIP电话的方法,通过与竞争对手的解决方案相比,可以大幅度降低带宽消耗,同时保持可接受的通话质量。
关键词:VoIP;带宽;网络;MOS
全球超过50%的手机用户使用较老的GSM制式,但是这部分用户对VoIP也有很大的需求,传统的VoIP产品在GSM网络下难以使用。对此,我们研究了一种智能数据包VoIP解决方案(SPVS)。该方案包括Android和iOS移动应用程序,以及负责代理信号的一系列节点服务器。为了维持实时通信的可靠稳定,提高带宽效率,还采用了一系列的网络和编码解码优化。本文通过平均意见评分(Mean Opinion Scoring,MOS)和带宽消耗来比较SPVS[1]及其他解决方案。
1 相关研究
应用程序之间的性能和通话质量比较,在移动VoIP相关文献中很常见[2-4]。Kim等[5]测试了一系列包括iLBC,Skype和Speex在内的许多编解码器,他们使用言语质量的知觉评价(Perceptual Evaluation of Speech Quality,PESQ)对不良网络状况,如抖动、数据包丢失等语音样本进行评估。证明语音编解码器不能提供高质量的性能。有人测试了两种移动VoIP应用的质量差异:Skype和Line[6]。他们使用PESQ在14所大学里测量了5种不同3G移动网络。可以用来评估网络质量。为了选择合适的编解码器,有团队在PCM,Speex和iLBC之间作了比较[3]。结果显示,iLBC在某些情况下优于其他两个。
2 智能数据包VOIP解决方案
SPVS是一个完整的移动VoIP网络解决方案,包括PSTN突破能力。与竞争应用程序相比,甚至可以提高90%的带宽效率的优化。
SPVS提高的关键是重视协议优化的积累。
2.1 协议头部数据消除
大多数协议都会携带一些含有元数据与有效载荷的头部信息,用于接收方解析数据。为了提高带宽效率,SPVS协议不会在每个包上都携带元数据。相反,我们使用了一些元数据包,允许数据包内只携带实际编码的语音数据,在设备之间协调调用。
2.2 编解码头部数据消除
类似于协议,编解码器还携带一系列必须发送的参数[7]。如果通信双方都配置有效载荷的参数,那么其所携带的头部信息就成为多余的。最终可将其全部删除,并且对传输的每个参数进行标准化。SPVS只携带一个特定集合的编解码器参数,并且允许每个包只携带压缩语音信号。
2.3 有效载荷比减少
即使有效载荷不携带任何头部信息,但每单个网络协议包含所有由该层产生的数据,并且在上面添加自己的头部信息。为减少被强加的头部信息,我们使用了100 ms帧替代20 ms帧。这一更改更好地优化网络利用率,类似于Nagle在TCP算法中提供的优化[8]。与20 ms帧相比,使用100 ms帧可以节省4帧头部信息。可以由以下关系表示:
S=(Hip+Hudp)× 4
Hip表示IP头的大小,Hudp表示UDP头的大小,S表示每100 ms帧发送的数据量。Hip的可能值介于20~60字节。Hudp具有固定8字节。使用这些数值,可以计算出节省的数据量在每帧112~272字节。
2.4 静默检测法
在正常通话中,通常只有其中一个参与者在说话,另一个在听。如果没有意识到这种特殊情况,应用程序将始终同时记录和发送语音信息。使用静默检测算法,可以避免这一情况。SPVS有一个特殊的“静默”包,每当检测到用户静默时便被应用程序发送出去。这个包还可以作为一个存活报文,来保证连接的持续性而被定时发送。
2.5 编解码器的选择
Speex作为免费有效的开源编解码器,可以集成到SPVS中。与其他窄带语音编解码器(如AMR和iLBC)相比,它更为理想[5, 9]。Speex有许多压缩级别在0到10之间,其中0表示压缩率最高但质量最低,而10表示压缩率最低但质量最高,鉴于多次测试,我们决定使用压缩级别为3。
3 评估
3.1 網络性能测试
为验证SPVS解决方案,我们选用了比较流行的VoIP软件进行对比,QQ、微信、skype等。采用如图1所示模型进行测试。
为了正确地拦截所有经过的数据,两部手机都通过笔记本电脑提供的热点连接到因特网。
所有测试都遵循以下步骤:拨通两个手机上面的APP实现通话;启动tcpdump作为后台过程,记录所有的网络数据;播放1 min音频文件,这个文件包含正常通话及通话过程中的正常静默等待。音频文件播放完毕后,停止tcpdump的抓包工作。
3.2 MOS测试文件
第二个实验是MOS测试,分为两个步骤:录音和听力测试。第一步对于所有使用测试的VoIP软件进行录音。第二步将录音样本打乱后,让测试人员对测试样本进行打分。
所有原始样品都包含两个及以上短暂沉默为间隔的短语。录音过程使用两个手机模拟一个谈话过程。第一部电话被放在一个音响室里,在手机10 cm处有扬声器播放80 dB的音乐,音响室的环境噪声等级为33.9 dB。用这个手机上的APP拨打另一个手机,另一个手机通过音频辅助线连接到电脑上进行录音。记录过程如下:
(1)设备1呼叫设备2,设备2接听电话。(2)语音样本在设备1被记录下来。(3)同时设备2会把接收到的语音通过计算机记录下来。(4)所有应用程序中的所有步骤,都提供男性和女性语音样本。
在记录之后,所有产生的样本都被重命名为只有录音者知道的随机名字。然后在移动应用的帮助下进行平均意见评分MOS(见表1)。
3.3 結果分析
为方便分析,我们假设数据流量价格为10分/MB,如表2所示。对比其他系统,SPVS系统的语音质量处于一个可接受的范围,比QQ稍弱。但比QQ节省了71%的数据消耗。相比较微软的skype软件,SPVS节省了90%的数据消耗。
SPVS系统在特定的领域有很大的竞争优势,比如经常出海的船员,他们只能通过昂贵的卫星数据跟亲朋好友联络,SPVS的低带宽特性可以直接节省船员的通话成本。在3G和4G网络普及率低的国家,SPVS的低带宽特性具有非常大的优势。经实际测试,表2中所列出的所有VoIP程序,只有SPVS可以在2G网络下拨通电话。
4 结语
移动VoIP解决方案的另一个重要方面是多网络切换引发的丢包问题。许多应用程序发送更小更频繁的数据包适应网络切换。SPVS发送的频率较低,丢失数据包更容易被听众感知,影响用户体验,SPVS在这方面需要做进一步的研究。
[参考文献]
[1]COLLINS B,DZIEDZIC C.Method and devices for routing in a satellite-based communication system[P].USPTO Patent Application(20150381264),2016-06-21.
[2]DIMOLITSAS S,CORCORAN F,RAVISHANKAR C,et al.Evaluation of voice codec performance for the inmarsat mini-M system[C].Brighton:Digital Satellite Communications,Tenth International Conference,1995.
[3]ZHOU J,WU T,LENG J.Research on voice codec algorithms of sip phone based on embedded system[C].Beijing:2010 IEEE International Conference,2010:183-187.
[4]SEO W J,WOO S J,BAE K S.Study on the application of an amr speech codec to voip[C].Salt Lake:2001 IEEE International Conference,2001:1373-1376.
[5]KIM K,CHOI Y J.Performance comparison of various voip codecs in wireless environments[C].New York:Proceedings of the 5th International Conference on Ubiquitous Information Management and Communication,ACM,2011:89.
[6]WUTTIDITTACHOTTI P,DAENGSI T.Quality evaluation of mobile networks using voip applications: a case study with skype and line based-on stationary tests in bangkok[J].International Journal of Computer Network and Information Security(IJCNIS),2015(12):28.
[7]TOULOUPIS E,MELIONES A,APOSTOLACOS S.Implementation and evaluation of a voice codec for zigbee[C].Computers and Communications(ISCC),2011 IEEE Symposium,2011:341-347.
[8]NAGLE J. Congestion control in ip/tcp internetworks[J].ACM SIGCOMM Computer Communication Review,1995(1):61-65.
[9]RAMO A .Voice quality evaluation of various codecs[C].Dalla:In Acoustics Speech and Signal Processing(ICASSP),2010 IEEE International Conference,2010:14-19.