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