田婧
摘 要:在移動(dòng)互聯(lián)網(wǎng)下提高VoIP通話質(zhì)量是一項(xiàng)具有挑戰(zhàn)性的任務(wù)。全球超過50%的手機(jī)用戶使用較老的GSM制式,這是目前技術(shù)研究的一大挑戰(zhàn)。文章提出了一種改進(jìn)移動(dòng)VoIP電話的方法,通過與競(jìng)爭(zhēng)對(duì)手的解決方案相比,可以大幅度降低帶寬消耗,同時(shí)保持可接受的通話質(zhì)量。
關(guān)鍵詞:VoIP;帶寬;網(wǎng)絡(luò);MOS
全球超過50%的手機(jī)用戶使用較老的GSM制式,但是這部分用戶對(duì)VoIP也有很大的需求,傳統(tǒng)的VoIP產(chǎn)品在GSM網(wǎng)絡(luò)下難以使用。對(duì)此,我們研究了一種智能數(shù)據(jù)包VoIP解決方案(SPVS)。該方案包括Android和iOS移動(dòng)應(yīng)用程序,以及負(fù)責(zé)代理信號(hào)的一系列節(jié)點(diǎn)服務(wù)器。為了維持實(shí)時(shí)通信的可靠穩(wěn)定,提高帶寬效率,還采用了一系列的網(wǎng)絡(luò)和編碼解碼優(yōu)化。本文通過平均意見評(píng)分(Mean Opinion Scoring,MOS)和帶寬消耗來比較SPVS[1]及其他解決方案。
1 相關(guān)研究
應(yīng)用程序之間的性能和通話質(zhì)量比較,在移動(dòng)VoIP相關(guān)文獻(xiàn)中很常見[2-4]。Kim等[5]測(cè)試了一系列包括iLBC,Skype和Speex在內(nèi)的許多編解碼器,他們使用言語(yǔ)質(zhì)量的知覺評(píng)價(jià)(Perceptual Evaluation of Speech Quality,PESQ)對(duì)不良網(wǎng)絡(luò)狀況,如抖動(dòng)、數(shù)據(jù)包丟失等語(yǔ)音樣本進(jìn)行評(píng)估。證明語(yǔ)音編解碼器不能提供高質(zhì)量的性能。有人測(cè)試了兩種移動(dòng)VoIP應(yīng)用的質(zhì)量差異:Skype和Line[6]。他們使用PESQ在14所大學(xué)里測(cè)量了5種不同3G移動(dòng)網(wǎng)絡(luò)??梢杂脕碓u(píng)估網(wǎng)絡(luò)質(zhì)量。為了選擇合適的編解碼器,有團(tuán)隊(duì)在PCM,Speex和iLBC之間作了比較[3]。結(jié)果顯示,iLBC在某些情況下優(yōu)于其他兩個(gè)。
2 智能數(shù)據(jù)包VOIP解決方案
SPVS是一個(gè)完整的移動(dòng)VoIP網(wǎng)絡(luò)解決方案,包括PSTN突破能力。與競(jìng)爭(zhēng)應(yīng)用程序相比,甚至可以提高90%的帶寬效率的優(yōu)化。
SPVS提高的關(guān)鍵是重視協(xié)議優(yōu)化的積累。
2.1 協(xié)議頭部數(shù)據(jù)消除
大多數(shù)協(xié)議都會(huì)攜帶一些含有元數(shù)據(jù)與有效載荷的頭部信息,用于接收方解析數(shù)據(jù)。為了提高帶寬效率,SPVS協(xié)議不會(huì)在每個(gè)包上都攜帶元數(shù)據(jù)。相反,我們使用了一些元數(shù)據(jù)包,允許數(shù)據(jù)包內(nèi)只攜帶實(shí)際編碼的語(yǔ)音數(shù)據(jù),在設(shè)備之間協(xié)調(diào)調(diào)用。
2.2 編解碼頭部數(shù)據(jù)消除
類似于協(xié)議,編解碼器還攜帶一系列必須發(fā)送的參數(shù)[7]。如果通信雙方都配置有效載荷的參數(shù),那么其所攜帶的頭部信息就成為多余的。最終可將其全部刪除,并且對(duì)傳輸?shù)拿總€(gè)參數(shù)進(jìn)行標(biāo)準(zhǔn)化。SPVS只攜帶一個(gè)特定集合的編解碼器參數(shù),并且允許每個(gè)包只攜帶壓縮語(yǔ)音信號(hào)。
2.3 有效載荷比減少
即使有效載荷不攜帶任何頭部信息,但每單個(gè)網(wǎng)絡(luò)協(xié)議包含所有由該層產(chǎn)生的數(shù)據(jù),并且在上面添加自己的頭部信息。為減少被強(qiáng)加的頭部信息,我們使用了100 ms幀替代20 ms幀。這一更改更好地優(yōu)化網(wǎng)絡(luò)利用率,類似于Nagle在TCP算法中提供的優(yōu)化[8]。與20 ms幀相比,使用100 ms幀可以節(jié)省4幀頭部信息??梢杂梢韵玛P(guān)系表示:
S=(Hip+Hudp)× 4
Hip表示IP頭的大小,Hudp表示UDP頭的大小,S表示每100 ms幀發(fā)送的數(shù)據(jù)量。Hip的可能值介于20~60字節(jié)。Hudp具有固定8字節(jié)。使用這些數(shù)值,可以計(jì)算出節(jié)省的數(shù)據(jù)量在每幀112~272字節(jié)。
2.4 靜默檢測(cè)法
在正常通話中,通常只有其中一個(gè)參與者在說話,另一個(gè)在聽。如果沒有意識(shí)到這種特殊情況,應(yīng)用程序?qū)⑹冀K同時(shí)記錄和發(fā)送語(yǔ)音信息。使用靜默檢測(cè)算法,可以避免這一情況。SPVS有一個(gè)特殊的“靜默”包,每當(dāng)檢測(cè)到用戶靜默時(shí)便被應(yīng)用程序發(fā)送出去。這個(gè)包還可以作為一個(gè)存活報(bào)文,來保證連接的持續(xù)性而被定時(shí)發(fā)送。
2.5 編解碼器的選擇
Speex作為免費(fèi)有效的開源編解碼器,可以集成到SPVS中。與其他窄帶語(yǔ)音編解碼器(如AMR和iLBC)相比,它更為理想[5, 9]。Speex有許多壓縮級(jí)別在0到10之間,其中0表示壓縮率最高但質(zhì)量最低,而10表示壓縮率最低但質(zhì)量最高,鑒于多次測(cè)試,我們決定使用壓縮級(jí)別為3。
3 評(píng)估
3.1 網(wǎng)絡(luò)性能測(cè)試
為驗(yàn)證SPVS解決方案,我們選用了比較流行的VoIP軟件進(jìn)行對(duì)比,QQ、微信、skype等。采用如圖1所示模型進(jìn)行測(cè)試。
為了正確地?cái)r截所有經(jīng)過的數(shù)據(jù),兩部手機(jī)都通過筆記本電腦提供的熱點(diǎn)連接到因特網(wǎng)。
所有測(cè)試都遵循以下步驟:撥通兩個(gè)手機(jī)上面的APP實(shí)現(xiàn)通話;啟動(dòng)tcpdump作為后臺(tái)過程,記錄所有的網(wǎng)絡(luò)數(shù)據(jù);播放1 min音頻文件,這個(gè)文件包含正常通話及通話過程中的正常靜默等待。音頻文件播放完畢后,停止tcpdump的抓包工作。
3.2 MOS測(cè)試文件
第二個(gè)實(shí)驗(yàn)是MOS測(cè)試,分為兩個(gè)步驟:錄音和聽力測(cè)試。第一步對(duì)于所有使用測(cè)試的VoIP軟件進(jìn)行錄音。第二步將錄音樣本打亂后,讓測(cè)試人員對(duì)測(cè)試樣本進(jìn)行打分。
所有原始樣品都包含兩個(gè)及以上短暫沉默為間隔的短語(yǔ)。錄音過程使用兩個(gè)手機(jī)模擬一個(gè)談話過程。第一部電話被放在一個(gè)音響室里,在手機(jī)10 cm處有揚(yáng)聲器播放80 dB的音樂,音響室的環(huán)境噪聲等級(jí)為33.9 dB。用這個(gè)手機(jī)上的APP撥打另一個(gè)手機(jī),另一個(gè)手機(jī)通過音頻輔助線連接到電腦上進(jìn)行錄音。記錄過程如下:
(1)設(shè)備1呼叫設(shè)備2,設(shè)備2接聽電話。(2)語(yǔ)音樣本在設(shè)備1被記錄下來。(3)同時(shí)設(shè)備2會(huì)把接收到的語(yǔ)音通過計(jì)算機(jī)記錄下來。(4)所有應(yīng)用程序中的所有步驟,都提供男性和女性語(yǔ)音樣本。
在記錄之后,所有產(chǎn)生的樣本都被重命名為只有錄音者知道的隨機(jī)名字。然后在移動(dòng)應(yīng)用的幫助下進(jìn)行平均意見評(píng)分MOS(見表1)。
3.3 結(jié)果分析
為方便分析,我們假設(shè)數(shù)據(jù)流量?jī)r(jià)格為10分/MB,如表2所示。對(duì)比其他系統(tǒng),SPVS系統(tǒng)的語(yǔ)音質(zhì)量處于一個(gè)可接受的范圍,比QQ稍弱。但比QQ節(jié)省了71%的數(shù)據(jù)消耗。相比較微軟的skype軟件,SPVS節(jié)省了90%的數(shù)據(jù)消耗。
SPVS系統(tǒng)在特定的領(lǐng)域有很大的競(jìng)爭(zhēng)優(yōu)勢(shì),比如經(jīng)常出海的船員,他們只能通過昂貴的衛(wèi)星數(shù)據(jù)跟親朋好友聯(lián)絡(luò),SPVS的低帶寬特性可以直接節(jié)省船員的通話成本。在3G和4G網(wǎng)絡(luò)普及率低的國(guó)家,SPVS的低帶寬特性具有非常大的優(yōu)勢(shì)。經(jīng)實(shí)際測(cè)試,表2中所列出的所有VoIP程序,只有SPVS可以在2G網(wǎng)絡(luò)下?lián)芡娫挕?/p>
4 結(jié)語(yǔ)
移動(dòng)VoIP解決方案的另一個(gè)重要方面是多網(wǎng)絡(luò)切換引發(fā)的丟包問題。許多應(yīng)用程序發(fā)送更小更頻繁的數(shù)據(jù)包適應(yīng)網(wǎng)絡(luò)切換。SPVS發(fā)送的頻率較低,丟失數(shù)據(jù)包更容易被聽眾感知,影響用戶體驗(yàn),SPVS在這方面需要做進(jìn)一步的研究。
[參考文獻(xiàn)]
[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.