王 亞,肖 強(qiáng),陳 亮
(解放軍理工大學(xué) 通信工程學(xué)院,江蘇 南京 210007)
現(xiàn)代戰(zhàn)爭(zhēng)中,各個(gè)軍種之間的通信比以往任何時(shí)候都要重要和頻繁,而最常用最直接的通信手段就是語(yǔ)音通信。隨著戰(zhàn)術(shù)互聯(lián)網(wǎng)等軍用網(wǎng)絡(luò)技術(shù)的迅速發(fā)展,軍用VoIP[1]技術(shù)成為近年來(lái)語(yǔ)音處理與通信領(lǐng)域的一個(gè)研究熱點(diǎn)。與傳統(tǒng)的電路交換的語(yǔ)音通信系統(tǒng)相比,VoIP具有抗干擾性強(qiáng)、保密性好、易于集成、成本低廉等特點(diǎn),能夠適應(yīng)復(fù)雜的戰(zhàn)場(chǎng)環(huán)境,實(shí)現(xiàn)更加靈活和便捷的通信。
VoIP是一種對(duì)延時(shí)和延時(shí)抖動(dòng)非常敏感的實(shí)時(shí)業(yè)務(wù),而戰(zhàn)場(chǎng)無(wú)線分組網(wǎng)絡(luò)由于信道的廣播特性、動(dòng)態(tài)拓?fù)浜驮O(shè)備資源有限,很難為語(yǔ)音傳輸提供實(shí)時(shí)性服務(wù)和保障語(yǔ)音的服務(wù)質(zhì)量。因而如何保證語(yǔ)音在分組網(wǎng)絡(luò)中的服務(wù)質(zhì)量是當(dāng)前該領(lǐng)域研究的難點(diǎn)課題之一。
VoIP是建立在網(wǎng)絡(luò)技術(shù)上的數(shù)字化、分組化的語(yǔ)音傳輸技術(shù),其基本原理是:采用數(shù)字化處理技術(shù)對(duì)模擬語(yǔ)音信號(hào)進(jìn)行壓縮編碼和打包,然后將語(yǔ)音包經(jīng)過IP網(wǎng)絡(luò)傳送到接收端,再次進(jìn)行數(shù)字信號(hào)處理后,通過終端播放出來(lái),從而實(shí)現(xiàn)端到端的雙向通信模型。
VoIP利用分組網(wǎng)絡(luò)的“存儲(chǔ)—轉(zhuǎn)發(fā)”方式進(jìn)行傳輸,與傳統(tǒng)電話相比,VoIP有一個(gè)致命的缺點(diǎn),就是語(yǔ)音質(zhì)量無(wú)法得到保證。這是因?yàn)镮P網(wǎng)最初設(shè)計(jì)的目的是為傳輸數(shù)據(jù),采用的是面向無(wú)連接的“盡力而為”的傳輸體制。在戰(zhàn)場(chǎng)環(huán)境下,信道的帶寬有限且信道受環(huán)境變化的影響較大,使IP網(wǎng)絡(luò)特有的延時(shí)、丟包、抖動(dòng)等現(xiàn)象尤為嚴(yán)重,如何消除這些因素的影響,保證語(yǔ)音的傳輸質(zhì)量,是軍用VoIP技術(shù)首需解決的問題。
以戰(zhàn)場(chǎng)無(wú)線網(wǎng)絡(luò)環(huán)境為例,信道狀況受作戰(zhàn)環(huán)境影響,數(shù)據(jù)傳輸?shù)膸捳俾实?,穩(wěn)定性較差,基于分組交換的IP網(wǎng)絡(luò)中的VoIP系統(tǒng)的延時(shí)、抖動(dòng)、丟包等問題更加明顯,使得用戶聽到的話音會(huì)出現(xiàn)語(yǔ)音畸變和頻繁斷話等現(xiàn)象。戰(zhàn)場(chǎng)環(huán)境下VoIP的應(yīng)用面臨的主要困難有以下方面。
丟包是指語(yǔ)音包沒有及時(shí)到達(dá)接收端而被丟棄。在語(yǔ)音傳輸過程中,為了提高傳輸效率,保證數(shù)據(jù)流的實(shí)時(shí)性,采用的是無(wú)連接的UDP傳輸方式,這就使得丟包現(xiàn)象無(wú)法避免。當(dāng)載有聲音的數(shù)據(jù)包所在的路徑擁塞時(shí),路由器開始棄包。雖然包丟失并不一定意味著包永遠(yuǎn)不會(huì)到達(dá)目的地,對(duì)于IP語(yǔ)音通信,到達(dá)目的地太遲以致無(wú)用的包和包丟失一樣,都會(huì)被接收端拋棄。在IP網(wǎng)絡(luò)上實(shí)時(shí)傳輸語(yǔ)音,用戶對(duì)延時(shí)比較敏感,但對(duì)一定數(shù)量的丟包可以接受。圖1為不同丟包率下語(yǔ)音質(zhì)量的變化圖,縱軸為語(yǔ)音的平均意見(MOS)得分,橫軸為隨機(jī)丟包率,選用兩種語(yǔ)音編碼器iLBC和G.729A,延時(shí)設(shè)定為小于100 ms的固定值。
圖1 丟包對(duì)語(yǔ)音質(zhì)量的影響
從圖1可以看出:丟包率在5%以下時(shí),丟包對(duì)語(yǔ)音質(zhì)量影響較小且變化不大,當(dāng)丟包率大于10%以后,隨著丟包率增大,語(yǔ)音質(zhì)量迅速下降;丟包率相同時(shí),iLBC比G.729A的MOS分高,丟包率增大時(shí),iLBC的語(yǔ)音質(zhì)量下降較慢,說(shuō)明不同編碼器的抗丟包能力不同。
延時(shí)是指從發(fā)出聲音到聽到聲音的時(shí)間間隔,與語(yǔ)音編碼壓縮和語(yǔ)音分組在網(wǎng)絡(luò)上傳輸?shù)牟淮_定性有關(guān)。延時(shí)是直接影響語(yǔ)音質(zhì)量的主要因素,過長(zhǎng)的延時(shí)會(huì)導(dǎo)致講話人的聲音產(chǎn)生重疊和回聲,更長(zhǎng)延時(shí)甚至?xí)怪v話者的交談無(wú)法進(jìn)行。圖2為實(shí)驗(yàn)得到的不同丟包率和延時(shí)組合下傳輸語(yǔ)音的平均意見(MOS)得分。
圖2 延時(shí)和丟包對(duì)語(yǔ)音質(zhì)量的共同影響(Encoder:G.711)
從圖2可以看出,MOS分對(duì)應(yīng)延時(shí)的變化曲線在丟包率分別為0%、1%、3%、5%時(shí)都相互平行,說(shuō)明丟包與延時(shí)對(duì)語(yǔ)音質(zhì)量的影響是相互獨(dú)立的;當(dāng)延時(shí)處于0~150 ms時(shí),其對(duì)語(yǔ)音質(zhì)量的影響較小,且對(duì)語(yǔ)音的損傷可視為固定值,當(dāng)延時(shí)超過200 ms時(shí),隨著延時(shí)的增加,語(yǔ)音質(zhì)量急劇下降。
變動(dòng)的延時(shí)稱為抖動(dòng)。由于每個(gè)語(yǔ)音包傳輸路徑不同,每條路徑的長(zhǎng)短和數(shù)據(jù)流量各不相同,造成了包到達(dá)接收端的時(shí)間有所不同(即抖動(dòng)),抖動(dòng)將在發(fā)音之間產(chǎn)生隨機(jī)中斷。當(dāng)網(wǎng)絡(luò)負(fù)載大時(shí)會(huì)造成極大的延時(shí)和延時(shí)抖動(dòng)。當(dāng)延時(shí)抖動(dòng)大于某個(gè)上限時(shí),稱為延遲突變,此時(shí)接收端大量丟包的情況就會(huì)發(fā)生。
在戰(zhàn)場(chǎng)無(wú)線IP網(wǎng)絡(luò)還不穩(wěn)定,信道特性變化較快的戰(zhàn)場(chǎng)環(huán)境下,可能突發(fā)的劇烈抖動(dòng)將會(huì)嚴(yán)重影響通信系統(tǒng)的性能,給VoIP在戰(zhàn)場(chǎng)環(huán)境下的應(yīng)用造成了很大的局限性。
語(yǔ)音編碼是VolP的基礎(chǔ),好的語(yǔ)音編碼技術(shù)可以通過占用較小的帶寬來(lái)傳輸優(yōu)質(zhì)的話音,特別是在網(wǎng)絡(luò)環(huán)境較差的情況下,這種優(yōu)勢(shì)尤其明顯。
優(yōu)秀的VoIP編碼技術(shù)應(yīng)具有語(yǔ)音編碼動(dòng)態(tài)轉(zhuǎn)換功能,即網(wǎng)絡(luò)擁塞時(shí)自動(dòng)由高碼速轉(zhuǎn)換為低碼速,網(wǎng)絡(luò)條件較好時(shí)自動(dòng)由低碼速轉(zhuǎn)換到高碼速以提高語(yǔ)音質(zhì)量。實(shí)際選擇編碼算法時(shí)應(yīng)綜合考慮各種因素。此外語(yǔ)音編碼器是在IP電話中產(chǎn)生延時(shí)的一個(gè)重要因素。
目前適用于VoIP的語(yǔ)音編碼主要有國(guó)際電信聯(lián)盟遠(yuǎn)程通信標(biāo)準(zhǔn)化組(ITU-T)定義G.729、G.723/G.723.1等。在開放源代碼的語(yǔ)音編解碼算法中,Speex[2]和iLBC[3]也很適合在IP電話中應(yīng)用。表1列出了當(dāng)前各種IP語(yǔ)音編碼算法及其指標(biāo)。
表1 幾種語(yǔ)音編碼算法性能比較
表1對(duì)當(dāng)前流行的語(yǔ)音編碼算法的各項(xiàng)指標(biāo)進(jìn)行了分析和比較,從表中可以看出,語(yǔ)音壓縮率越高的編碼算法對(duì)CPU的計(jì)算能力的要求越高,每幀編碼的延遲越長(zhǎng),同時(shí)其MOS得分也逐漸降低,因此在實(shí)際的軍用VoIP系統(tǒng)開發(fā)中,要對(duì)算法的延遲、帶寬占用和MOS值進(jìn)行權(quán)衡,系統(tǒng)的實(shí)現(xiàn)要根據(jù)當(dāng)前網(wǎng)絡(luò)的帶寬利用率及語(yǔ)音質(zhì)量的要求來(lái)進(jìn)行自適應(yīng)的語(yǔ)音編碼算法的選擇。
丟包處理技術(shù)是用來(lái)恢復(fù)或隱藏當(dāng)前丟包時(shí)所造成的損失的相關(guān)技術(shù)。目前這些技術(shù)可以分為兩類:①是基于發(fā)端采用的措施,需要接收端的共同參與才能實(shí)現(xiàn),稱之為丟包恢復(fù)技術(shù);②是基于接收端的措施,不涉及發(fā)送端,稱之為丟包隱藏。它們都能夠在一定程度上提高IP語(yǔ)音質(zhì)量。
(1)丟包恢復(fù)技術(shù)
基于發(fā)送端的丟包恢復(fù)技術(shù)在發(fā)送端增加數(shù)據(jù)冗余度,再在接收端將丟失的原始數(shù)據(jù)恢復(fù)出來(lái)。這種技術(shù)運(yùn)算相對(duì)復(fù)雜,同時(shí)會(huì)增加網(wǎng)絡(luò)帶寬和時(shí)延。目前的丟包恢復(fù)技術(shù)主要有:向前糾錯(cuò)技術(shù)、交織技術(shù)、低比特率冗余編碼、分類處理等。
在戰(zhàn)場(chǎng)環(huán)境下,網(wǎng)絡(luò)帶寬有限且信道特性易受環(huán)境變化的影響,不能將有冗余恢復(fù)技術(shù)作為處理丟包的主要手段,因?yàn)檫@樣會(huì)增加額外的帶寬和時(shí)延,容易造成網(wǎng)絡(luò)擁塞。但是,在不影響通信系統(tǒng)整體性能的條件下,可以在發(fā)端適當(dāng)進(jìn)行冗余編碼,以減少收端丟包時(shí)造成的損失。
(2)丟包隱藏技術(shù)
[4]。基于收端的丟包隱藏技術(shù)不需要發(fā)端的參與,一般只需在接收端增加一個(gè)處理單元即可,數(shù)據(jù)包流中無(wú)任何冗余信息,由于其不消耗網(wǎng)絡(luò)帶寬,且時(shí)延較小,因而在語(yǔ)音實(shí)時(shí)傳輸中應(yīng)用廣泛。無(wú)冗余度方法在本質(zhì)上是在接收端對(duì)丟包附近相關(guān)數(shù)據(jù)包經(jīng)過一定優(yōu)化算法處理來(lái)估算丟失的數(shù)據(jù)包。這些算法根據(jù)人的生理特點(diǎn),對(duì)丟包后的語(yǔ)音信號(hào)進(jìn)行修復(fù),以達(dá)到“欺騙”人耳朵的目的,而有冗余度方法往往不考慮人的生理特點(diǎn),因而一些優(yōu)秀的無(wú)冗余度算法比有冗余度算法有更好的改善音質(zhì)的能力。圖3描述了一種典型的丟包隱藏過程。
圖3 丟包隱藏一般過程
目前,iLBC編碼中的丟包補(bǔ)償機(jī)制是一種在民用VoIP中應(yīng)用效果較好的丟包隱藏算法。但在連續(xù)多幀丟包或丟包率大于10%的情況下,其還原語(yǔ)音的能力有限,達(dá)不到軍事語(yǔ)音通信的要求。在戰(zhàn)場(chǎng)IP網(wǎng)絡(luò)環(huán)境下,信道惡化的情況時(shí)有發(fā)生,此時(shí)的丟包隱藏算法,要能夠在高丟包率和連續(xù)多幀丟包等情況下保證一定的語(yǔ)音質(zhì)量。
抖動(dòng)是IP網(wǎng)絡(luò)的普遍問題,是不可避免的,只能控制在一定范圍內(nèi)。IP網(wǎng)絡(luò)中大的延時(shí)抖動(dòng)會(huì)使得接收端對(duì)語(yǔ)音信號(hào)的重建變得非常復(fù)雜。為了補(bǔ)償抖動(dòng),VoIP的接收端都會(huì)在播放之前,對(duì)接收到的包進(jìn)行緩沖,即在接收方設(shè)定一個(gè)緩沖區(qū),配合RTP協(xié)議,通過一定的緩沖時(shí)間對(duì)亂序的包進(jìn)行排隊(duì)和控制。
自適應(yīng)緩沖可以根據(jù)接收緩沖區(qū)中的數(shù)據(jù)包或RTCP提供的參考數(shù)據(jù)來(lái)衡量網(wǎng)絡(luò)狀況,在每一個(gè)話音段的開始階段調(diào)整緩沖區(qū)大小以適應(yīng)網(wǎng)絡(luò)狀況的變化。當(dāng)網(wǎng)絡(luò)狀況好、抖動(dòng)較小時(shí),減小緩沖時(shí)間,以減少總體延時(shí),反之則增加緩沖時(shí)間,以增加延時(shí)為代價(jià)來(lái)減少丟包。一種好的自適應(yīng)緩沖播放算法應(yīng)該能夠在緩沖延時(shí)最小化的同時(shí)使丟包最小化。
目前,自適應(yīng)的緩沖算法可以分為兩類:一類是基于話音段內(nèi)(Intra-talkspurt)[5]調(diào)整的算法,一類是基于靜音段修正話音段整體(Inter-talkspurt)[6]調(diào)整的算法?;谠捯舳蝺?nèi)調(diào)整的算法利用語(yǔ)音包播放時(shí)間修正技術(shù)(如WSOLA)或者改變語(yǔ)音播放速度,在各個(gè)話音段內(nèi)部進(jìn)行緩沖時(shí)間的自適應(yīng)修改?;陟o音段修正話音段整體調(diào)整的算法以話音段為單位來(lái)調(diào)整緩沖大小,即同一話音段采用相同大小的緩沖,而不同話音段之間緩沖大小可調(diào)。
戰(zhàn)場(chǎng)環(huán)境下,信道隨環(huán)境變化快,網(wǎng)絡(luò)延遲抖動(dòng)劇烈的情況時(shí)有發(fā)生,此時(shí)的抗抖動(dòng)緩沖策略要能對(duì)突發(fā)的延遲高峰迅速地作出反應(yīng),并可以有效地吸收抖動(dòng)并保持較佳的語(yǔ)音質(zhì)量。適合戰(zhàn)場(chǎng)環(huán)境的高效快速的自適應(yīng)緩沖算法是VoIP應(yīng)用到軍事語(yǔ)音通信的必然需求。
目前,VoIP已廣泛地應(yīng)用于全球的IP互聯(lián)環(huán)境,由于戰(zhàn)場(chǎng)環(huán)境對(duì)語(yǔ)音通信的特殊要求,其在軍事上的應(yīng)用還非常有限。這里重點(diǎn)分析了VoIP在戰(zhàn)場(chǎng)網(wǎng)絡(luò)環(huán)境下應(yīng)用的局限,并提出了語(yǔ)音編碼、丟包處理、自適應(yīng)緩沖等一系列提高傳輸語(yǔ)音質(zhì)量的方案,為VoIP在軍事語(yǔ)音通信中的研究和應(yīng)用提供了參考。
參考文獻(xiàn)
[1] 魏迎春,高電波,王利群.VoIP網(wǎng)絡(luò)電話技術(shù)及其應(yīng)用[J].通信技術(shù),2003(12):47-50.
[2] 穆捷,李敬,唐昆.Speex語(yǔ)音編碼算法實(shí)現(xiàn)與優(yōu)化[J].通信技術(shù),2009,42(10):186-188.
[3] 郭廷廷,李敬.ILBC編碼算法及其在VOIP中的應(yīng)用[J].電子技術(shù)應(yīng)用,2006(07):119-121.
[4] LEE M, ZITOUNI I, ZHOU Q R.Prediction-based Packet Loss Concealment for Voice over IP:a Statistical N-gramapproach[C].USA:IEEE,2004:2308-2312.
[5] SANGHYUN Chi,WOMACK B F.QoS-based Optimal Adaptive Playout-buffer Scheduling Using the Packet Arrival Distribution[C].[s.l.]: Military Communications Conference,2009: 1-5.
[6] JOSé B.ARAG?O JR, GUILHERME A B.Novel Approaches for Online Playout Delay Prediction in VoIP Applications Using Time Series Models[J].Computers & Electrical Engineering, 2010,36(03):536-544.