南京創(chuàng)維信息技術(shù)研究院有限公司 李雪松
一種提升VOIP語音質(zhì)量的方案
南京創(chuàng)維信息技術(shù)研究院有限公司 李雪松
電視VOIP中語音的處理受到很多因素的影響,比如網(wǎng)絡(luò)帶寬、網(wǎng)絡(luò)延時、抖動、丟包以及環(huán)境噪聲、回聲等。而這其中每一個問題若不能很好的解決,都會影響到通話的效果及質(zhì)量。針對電視視頻聊天中語音存在的這些問題,本文從硬件資源換取軟件算法的思路出發(fā),利用同一局域網(wǎng)內(nèi)智能手機(jī)作為輔助,來充當(dāng)電視的無線智能麥克風(fēng),從而有效地提升了通話的語音質(zhì)量。
VOIP;SIP;RTP;IP偽裝
隨著網(wǎng)絡(luò)設(shè)施的提升及智能電視的普及,電視遠(yuǎn)程視頻通話迎來了蓬勃的發(fā)展期,且逐漸受大眾所青睞。對于視頻聊天,音頻通話的功能及質(zhì)量無疑左右著用戶對產(chǎn)品的評判。
視頻聊天中語音的處理流程主要有音頻原始數(shù)據(jù)(PCM流)采集、數(shù)據(jù)壓縮編碼(比如G729、iLBC、AAC、SPEEX等等)、數(shù)據(jù)打包(RTP/RTCP)傳輸、數(shù)據(jù)解碼及輸出到音頻驅(qū)動進(jìn)行播放。以上只是音頻通話的基本流程,但要達(dá)到良好的通話效果乃至商用級別的軟件,還有很多路要走。良好的音頻效果要求,實時性高,低延遲,背景噪音小,無回聲嘯叫,聲音流程、沒有卡頓感覺等。在實際應(yīng)用中,我們主要遇到兩大類問題,在信源方面,采集的聲音會存在雜音、低噪聲、回聲等聲源性問題;在信道方面,網(wǎng)絡(luò)的抖動、延時以及丟包也會影響到聲音的傳輸,從而使聲音失真。針對這些問題,我們可以從軟件層面做噪音抑制(NS)、回聲消除(AEC)、自動增益控制(AGC)、Jitter buffer緩沖處理等。但實現(xiàn)這些特性要求有很高的算法復(fù)雜度及技術(shù)難度,對研發(fā)人員技能水平有較高要求并且會依賴相關(guān)的終端設(shè)備。
圖1 原理圖
針對前面分析的視頻聊天中語音存在的諸多問題,我們提出了一種基于局域網(wǎng)內(nèi)智能手機(jī)輔助電視進(jìn)行視頻聊天的方案,它利用同一局域網(wǎng)內(nèi)的智能手機(jī)做輔助來協(xié)助電視進(jìn)行音頻數(shù)據(jù)的采集、壓縮編碼及RTP打包發(fā)送,這樣就大大降低了采集到的聲音對周圍環(huán)境尤其是電視播放出來的聲音依賴,提高采集聲音的純度,同時讓用戶可以不受和攝像頭距離的限制,不再用嘴巴對著攝像頭狂吼了,可以很舒適的進(jìn)行高質(zhì)量的語音聊天。一句話概括,本方案中智能手機(jī)充當(dāng)了電視視頻聊天中電視機(jī)的“麥克風(fēng)”的作用,我們簡稱它為“手機(jī)麥”。
視頻聊天采用的是基于SIP協(xié)議的通信技術(shù),通過SIP協(xié)議協(xié)商,在回話前首先建立起音視頻傳輸?shù)耐ǖ?,這樣本端采集編碼好的數(shù)據(jù)就可以通過這種通道(RTP)進(jìn)行實時傳輸,具體到傳輸層,這種通道對應(yīng)就是由源IP地址、源端口、目的IP地址、目的端口及傳輸協(xié)議類型這個五元組所確定的一個套接字。無論是P2P還是RELAY的場景,這種通道對于一次回話來說都是固定不變的。這樣我們就可以在通道確立前的協(xié)商階段,在一段同時啟動兩臺設(shè)備上的通道,在輔助的一臺設(shè)備上模擬主設(shè)備上一模一樣的傳輸通道,而實際上對于路由器對外可感知到的卻是同一臺設(shè)備在通信。
實現(xiàn)的原理如圖1所示,終端Alice和終端Bob在視頻聊天時,他們首先要進(jìn)行基于STUN的NAT穿透及SIP協(xié)商,來確定雙方的音視頻編解碼參數(shù)并建立傳輸通道,同時需要語音輔助的一端(比如Alice)通過廣播建立與輔助設(shè)備(智能手機(jī))通信機(jī)制,將自己SIP協(xié)商的傳輸通道信息及當(dāng)前音頻編解碼參數(shù)廣播到輔助終端上,輔助設(shè)備在收到這些信息后,給予用戶相應(yīng)提示,用戶可以選擇接受或拒絕這種通道切換請求,若接受切換請求,則解析收到的消息,啟動語音數(shù)據(jù)的采集、進(jìn)行壓縮編碼,在進(jìn)行打包傳輸時構(gòu)造偽裝的IP頭、UDP頭基本信息,對數(shù)據(jù)進(jìn)行組包后傳輸?shù)綄Χ薆ob處。
本方案一方面可以提升語音通話的質(zhì)量和用戶交互的舒適度,同時將本端數(shù)據(jù)的處理遷移至輔助設(shè)備也緩解了主設(shè)備的性能壓力。同時,這種語音的處理也可以擴(kuò)展到視頻,這樣就可以做到同一主終端多個備終端的應(yīng)用場景,實現(xiàn)攝像頭的多角度實時監(jiān)控。
本方案是基于輔助終端設(shè)備支持原始套接字編程的情況下,這種情況就要求這些終端設(shè)備的系統(tǒng)可深度定制。
[1]S.Raghavendran, “Implementation of an Acoustic EchoCanceller Using MATLAB,” Master Thesis, Department of Electrical Engineering,College of Engineering,Universityof South Florida, October 2003.
[2]Xinyi Wang,Tingzhi Shen, and Weijang Wang, “An approach for echo cancellation system based onimproved NLMS algorithm,”IEEE WiCom2007, pp. 2853-2856, 2007.