技術(shù)背景
目前,VoIP(Voice over Internet Protocol) 在Internet 各類應(yīng)用中占據(jù)越來越大的比重,VoIP 是一種以IP電話為主,并推出相應(yīng)的增值業(yè)務(wù)的技術(shù)。它以IP分組交換網(wǎng)絡(luò)為傳輸平臺,對模擬的語音信號進(jìn)行壓縮、打包等一系列的特殊處理,使之可以采用無連接的UDP(User Datagram Protocol,用戶數(shù)據(jù)報(bào)協(xié)議) 進(jìn)行傳輸,其最大的優(yōu)勢是能廣泛地采用Internet和全球IP互連的環(huán)境,提供比傳統(tǒng)業(yè)務(wù)更多、更好的服務(wù)。VoIP可以在IP網(wǎng)絡(luò)上傳送語音、傳真、視頻和數(shù)據(jù)等業(yè)務(wù),如統(tǒng)一消息、虛擬電話、虛擬語音/ 傳真郵箱、查號業(yè)務(wù)、Internet呼叫中心、Internet呼叫管理、電視會議、電子商務(wù)、傳真存儲轉(zhuǎn)發(fā)和各種信息的存儲轉(zhuǎn)發(fā)等。由于是一種典型的實(shí)時(shí)性業(yè)務(wù),這決定了VoIP必須具有較高的QoS( 服務(wù)質(zhì)量)。隨著VoIP 的廣泛應(yīng)用,服務(wù)質(zhì)量保證的問題也日益為業(yè)界所關(guān)注。
當(dāng)前面臨的問題
VoIP的實(shí)現(xiàn)是基于IP網(wǎng)絡(luò)的,IP網(wǎng)絡(luò)可以是企業(yè)內(nèi)部的局域網(wǎng)或者是互聯(lián)網(wǎng),IP網(wǎng)絡(luò)是基于盡力而為的服務(wù)體系結(jié)構(gòu),當(dāng)網(wǎng)絡(luò)負(fù)載小時(shí),服務(wù)質(zhì)量相對較高,反之負(fù)載過高時(shí)如圖1所示,必然會出現(xiàn)網(wǎng)絡(luò)的丟包和延時(shí)抖動(dòng)等問題。
圖 1 模擬實(shí)際的 IP 網(wǎng)絡(luò)中音頻包的延時(shí)抖動(dòng)示意圖
對于延時(shí)抖動(dòng)而言,在實(shí)時(shí)的VoIP 語音網(wǎng)絡(luò)會議中,語音數(shù)據(jù)是經(jīng)過壓縮打包后傳輸?shù)。每個(gè)數(shù)據(jù)包都包含壓縮后的語音數(shù)據(jù)以及目地IP地址信息,雖然語音包在發(fā)送端是按一定間隔有序發(fā)送的,但是由于網(wǎng)絡(luò)傳輸路徑可能不同,不同的數(shù)據(jù)包到達(dá)接收端的時(shí)間間隔并不一致。另外,在采用UDP進(jìn)行語音數(shù)據(jù)實(shí)時(shí)傳輸時(shí),到達(dá)接收端的語音次序也有可能發(fā)生錯(cuò)亂。這兩個(gè)現(xiàn)象就是我們通常說的抖動(dòng)。當(dāng)網(wǎng)絡(luò)抖動(dòng)嚴(yán)重的時(shí)候,某些遲到達(dá)的數(shù)據(jù)包將被丟棄;也存在等待一段時(shí)間沒有任何數(shù)據(jù)到達(dá),然后突然接收到很多個(gè)數(shù)據(jù)包的情況,這些突然接收到的多個(gè)數(shù)據(jù)包,會覆蓋掉之前的數(shù)據(jù),從而造成需要播放的數(shù)據(jù)不連續(xù),導(dǎo)致語音回放失真和斷續(xù)。例如在一個(gè)由多人參加的VoIP 音頻網(wǎng)絡(luò)會議中,劇烈的數(shù)據(jù)包抖動(dòng)會導(dǎo)致語音時(shí)斷時(shí)續(xù),嚴(yán)重影響參會者的語音實(shí)時(shí)交流。對于一般的數(shù)據(jù)業(yè)務(wù),丟失和傳輸延時(shí)都可以通過重傳或等待來彌補(bǔ),然而在音頻通話之類的實(shí)時(shí)業(yè)務(wù)中,對延時(shí)和抖動(dòng)等有著更為苛刻的要求,所以對于實(shí)時(shí)性業(yè)務(wù)必須保障音頻數(shù)據(jù)的實(shí)時(shí)接收和回放。那么延時(shí)抖動(dòng)也成為了影響VoIP 的最為重要的QoS 的指標(biāo)之一。
為了有效的解決抖動(dòng)問題,通常在接收端引入抖動(dòng)緩沖區(qū)技術(shù)來消除抖動(dòng)的影響。
常見處理問題的方法
常見的去抖動(dòng)緩沖方法有兩種:靜態(tài)去抖動(dòng)緩沖控制算法和動(dòng)態(tài)自適應(yīng)去抖動(dòng)緩沖控制算法。
1)靜態(tài)去抖動(dòng)緩沖控制算法:該類算法實(shí)現(xiàn)簡單,運(yùn)算復(fù)雜度小,可靠性高;但是網(wǎng)絡(luò)抖動(dòng)較大時(shí),丟包數(shù)量也很高,網(wǎng)絡(luò)抖動(dòng)小時(shí),也存在固定的和較大的語音延時(shí),導(dǎo)致了語音質(zhì)量下降。
2)自適應(yīng)去抖動(dòng)緩沖控制算法:在一定范圍內(nèi)能更好的解決抖動(dòng)延時(shí)的問題,降低丟包的數(shù)量,提高音頻的質(zhì)量,并且在網(wǎng)絡(luò)抖動(dòng)較小的時(shí)候提供更低的延遲,但該類算法的實(shí)現(xiàn)難度較高,可靠性也相對低。
華平提供的技術(shù)方法
華平提供一種去抖動(dòng)緩沖方法,用于解決去抖動(dòng)緩沖技術(shù)中復(fù)雜程度高、可靠性和穩(wěn)定性較弱的問題。
該VoIP 去抖動(dòng)緩沖區(qū)的處理方法為:初始化去抖動(dòng)緩沖區(qū)——執(zhí)行音頻數(shù)據(jù)幀的保存操作,將遠(yuǎn)端傳輸過來的新的音頻數(shù)據(jù)幀保存至去抖動(dòng)緩沖區(qū)中——更新突發(fā)等級狀態(tài)——執(zhí)行音頻數(shù)據(jù)幀的讀取操作,從去抖動(dòng)緩沖區(qū)中將音頻數(shù)據(jù)幀讀取出——更新突發(fā)等級狀態(tài)——根據(jù)對去抖動(dòng)緩沖區(qū)中音頻數(shù)據(jù)幀進(jìn)行的保存操作和讀取操作以及突發(fā)等級,計(jì)算出當(dāng)前的有效突發(fā)等級——根據(jù)計(jì)算得到的當(dāng)前的有效突發(fā)等級,調(diào)整去抖動(dòng)緩沖區(qū)的大小。
圖 2采用固定長度去抖動(dòng)緩沖算法的輸出結(jié)果
圖 3采用本方法去抖動(dòng)緩沖區(qū)的輸出結(jié)果
華平處理技術(shù)的優(yōu)勢
相較于現(xiàn)有技術(shù),結(jié)合比對圖2和圖3的輸出效果,并綜合上述介紹,我們可以看出,這種基于去抖動(dòng)緩沖區(qū)數(shù)據(jù)的存取操作和突發(fā)等級狀態(tài),來計(jì)算抖動(dòng)突發(fā)等級,通過對突發(fā)等級狀態(tài)參數(shù)的不斷更新,根據(jù)有效突發(fā)等級的變化來調(diào)整去抖動(dòng)緩沖區(qū),以達(dá)到更低的延時(shí)和盡量大的自適應(yīng)去抖動(dòng)能力的方法,不僅可以降低丟包的數(shù)量,提高音頻的質(zhì)量,更具有實(shí)現(xiàn)難度低,可靠性高的優(yōu)點(diǎn)。