田婧
摘 要:在移動互聯網下提高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.