張 龍,殷亞玲,耿小峰
(1.西安歐亞學(xué)院 信息工程學(xué)院,陜西 西安710065;2.西安財(cái)經(jīng)學(xué)院 信息工程學(xué)院,陜西 西安710100;3.西安融科通信技術(shù)有限公司 陜西 西安 710077)
基于單服務(wù)器實(shí)現(xiàn)大容量會(huì)議服務(wù)的系統(tǒng)及方法研究
張 龍1,殷亞玲2,耿小峰3
(1.西安歐亞學(xué)院 信息工程學(xué)院,陜西 西安710065;2.西安財(cái)經(jīng)學(xué)院 信息工程學(xué)院,陜西 西安710100;3.西安融科通信技術(shù)有限公司 陜西 西安 710077)
針對(duì)電話會(huì)議和視頻會(huì)議涉及到的音、視頻子系統(tǒng),如何在提升音、視頻品質(zhì)的同時(shí)提高并發(fā)容量的難題,文中通過采用音、視頻優(yōu)化技術(shù),提出了一種基于單服務(wù)器實(shí)現(xiàn)大容量會(huì)議服務(wù)的系統(tǒng)及方法,實(shí)現(xiàn)了不增加硬件投資而采用單臺(tái)服務(wù)器即可提供高品質(zhì)、大容量的會(huì)議服務(wù)系統(tǒng)。通過小規(guī)模的遠(yuǎn)程視頻通話測(cè)試,單臺(tái)服務(wù)器下測(cè)試結(jié)果顯示對(duì)網(wǎng)絡(luò)帶寬的要求有效降低,目前在4Mb帶寬的網(wǎng)絡(luò)環(huán)境下已經(jīng)可以滿足多方視頻會(huì)議中的音頻、視頻實(shí)時(shí)傳遞的要求并且收到了良好的通信效果。
視頻會(huì)議;電話會(huì)議;降噪處理;語音代理;視頻優(yōu)化
目前,針對(duì)電話會(huì)議和視頻會(huì)議涉及到的音、視頻子系統(tǒng),如何在提升音、視頻品質(zhì)的同時(shí)提高并發(fā)容量,一直是學(xué)術(shù)界、技術(shù)界積極探索的課題[1]。針對(duì)并發(fā)容量的問題有采用服務(wù)器級(jí)聯(lián)技術(shù)解決大規(guī)模并發(fā)會(huì)議的方案[2];也有采用硬件板卡來分擔(dān)混音給CPU帶來的負(fù)載的方法[3];還有通過P2P(peer-topeer,即點(diǎn)對(duì)點(diǎn))技術(shù)實(shí)現(xiàn)超大規(guī)模的會(huì)議相關(guān)技術(shù)[4]。針對(duì)音、視頻品質(zhì)而言,有采用先進(jìn)的音、視頻編解碼實(shí)現(xiàn)會(huì)議的高品質(zhì),如采用GIPS(Global IP Sound)語音引擎[5],它是采用ILBC(InternetLowBitrateCodec)的編、解碼[6-7],是一種適合互聯(lián)網(wǎng)低比特率傳輸?shù)木?、解碼技術(shù)。視頻方面大都采用H.264或基于多層自適應(yīng)傳輸編解碼技術(shù)[8]。雖然這些技術(shù)在一定程度上滿足了大容量會(huì)議的需求,同時(shí)會(huì)議品質(zhì)也有了一定保證,但是以上技術(shù)或策略同樣也存在弊端[9],如服務(wù)器級(jí)聯(lián)或通過板卡技術(shù)會(huì)加劇系統(tǒng)的硬件投入,P2P模式滿足了大容量,而P2P天生延遲性的弊端導(dǎo)致在交互性很強(qiáng)的會(huì)議系統(tǒng)中體現(xiàn)的尤為明顯。因此,如何在低廉的單臺(tái)服務(wù)器下滿足大規(guī)模、高品質(zhì)會(huì)議需求還是亟需解決的一個(gè)技術(shù)難題。
本設(shè)計(jì)目的是提供一種基于單服務(wù)器實(shí)現(xiàn)大容量會(huì)議服務(wù)的系統(tǒng)及方法,其中采用音、視頻優(yōu)化技術(shù)實(shí)現(xiàn)了單臺(tái)服務(wù)器下高品質(zhì)、大容量的會(huì)議服務(wù)。
1.1 本設(shè)計(jì)方案包括三大模塊
1)降噪處理模塊
噪音的產(chǎn)生是由客戶端采集設(shè)備引入或數(shù)據(jù)在網(wǎng)絡(luò)傳輸中受到干擾形成,是影響會(huì)議品質(zhì)的罪魁禍?zhǔn)?,雖然客戶端通過采用靜音檢測(cè)技術(shù)可以有效地降低噪音形成,但是傳輸中出現(xiàn)的噪音卻不可避免,尤其在混音迭代后,影響更大。為此本設(shè)計(jì)通過在服務(wù)器端針對(duì)每個(gè)信道通過降噪處理模塊過濾掉噪音部分,使得純音質(zhì)部分進(jìn)入混音模塊從而提生大容量會(huì)議服務(wù)的品質(zhì)。
2)語音代理模塊
會(huì)議中處于靜音狀態(tài)的與會(huì)者不發(fā)送語音流,它們需要聽到的聲音完全相同,就是當(dāng)前所有發(fā)言者的聲音。根據(jù)混音原理可以得出結(jié)論,任意時(shí)刻處于靜音狀態(tài)的與會(huì)者端所要接收的語音流完全相同,是當(dāng)前所有發(fā)言的與會(huì)者的混音流。為了降低運(yùn)算復(fù)雜度,可以對(duì)處于靜音狀態(tài)的與會(huì)者的語音媒體做統(tǒng)一處理和發(fā)送[7]。因此語音代理模塊針對(duì)所有靜音狀態(tài)的與會(huì)者采用分類編、解碼減小CPU的負(fù)載,從而達(dá)到提升并發(fā)容量的目的。
3)視頻優(yōu)化轉(zhuǎn)發(fā)模塊
視頻優(yōu)化轉(zhuǎn)發(fā)模塊主要目的是為了有效降低服務(wù)器帶寬的消耗。本設(shè)計(jì)通過增加打開、關(guān)閉視頻的命令,以達(dá)到在確實(shí)需要與會(huì)者客戶端上傳視頻時(shí)通過發(fā)送打開視頻的命令,從而將視頻傳至服務(wù)器。當(dāng)沒人觀看某與會(huì)者的視頻時(shí),可以通過發(fā)送結(jié)束視頻命令以停止某與會(huì)者的視頻上傳,通過這種“按需發(fā)送”的策略可有效地降低對(duì)服務(wù)器帶寬的消耗。同時(shí)改變多畫面的組合視頻模式,因?yàn)樵诰W(wǎng)絡(luò)視頻會(huì)議中,視頻僅是作為輔助功能,且相比音頻而言消耗了更多的帶寬,為此設(shè)計(jì)中引入了用戶自主選擇視頻展現(xiàn)的單畫面機(jī)制,即用戶通過選擇想要觀看的視頻畫面,或者通過服務(wù)器制定視頻轉(zhuǎn)發(fā)策略,如統(tǒng)一分派發(fā)言人視頻、輪詢分派會(huì)議與會(huì)者視頻等。通過這種有效的策略可以極大地節(jié)約服務(wù)器端及客戶端的帶寬和降低合成多畫面的CPU負(fù)載,從而使得會(huì)議音質(zhì)有好的提升,通過這種策略也為單服務(wù)器多并發(fā)容量會(huì)議服務(wù)提供了有利保障。
1.2 名詞解釋
系統(tǒng)中包括多個(gè)與會(huì)者客戶端和會(huì)議服務(wù)器,所述會(huì)議服務(wù)器包括多個(gè)緩沖隊(duì)列、解碼單元、降噪模塊、一個(gè)混音處理模塊、一個(gè)語音代理模塊、多個(gè)線性分離單元和多個(gè)編碼單元:
1)緩沖隊(duì)列是和多個(gè)解碼單元一一對(duì)應(yīng)連接;
2)解碼單元是將音頻輸入數(shù)據(jù)進(jìn)行編碼轉(zhuǎn)換成線性數(shù)據(jù),多個(gè)解碼單元的輸出信號(hào)送入混音處理模塊以便進(jìn)行時(shí)域線性疊加[10];
3)降噪模塊是為了過濾掉因傳輸或干擾形成噪音部分,其自身和每個(gè)發(fā)言者一一對(duì)應(yīng);
4)混音處理模塊主要完成語音數(shù)據(jù)的疊加處理,其輸出信號(hào)送入線性分離或語音代理模塊進(jìn)行處理;
5)語音代理模塊主要是為了完成所有靜音狀態(tài)與會(huì)者接收數(shù)據(jù)的處理,其輸出端和所有靜音狀態(tài)與會(huì)者客戶端連接;多個(gè)線性分離單元是為了分離過濾掉發(fā)言者自身那部分聲音,其輸入端和混音模塊輸出端連接,輸出端和多個(gè)編碼模塊一一對(duì)應(yīng);每個(gè)編碼模塊的輸出端與多個(gè)與會(huì)者客戶端分別連接。
上述編碼模塊包括ULAW[11]編碼模塊、ILBC編碼模塊和G.729編碼模塊等常見音頻編碼模塊。
1)傳統(tǒng)會(huì)議混音的流程如圖1,步驟如下:
圖1 傳統(tǒng)服務(wù)器會(huì)議混音結(jié)構(gòu)示意圖
步驟1:發(fā)言狀態(tài)的與會(huì)者進(jìn)入會(huì)議室后,音頻數(shù)據(jù)進(jìn)入緩沖區(qū),設(shè)置緩沖區(qū)的目的是為了有效地防止網(wǎng)絡(luò)抖動(dòng)、延遲造成的音質(zhì)下降;
步驟2:從緩沖區(qū)出來的數(shù)據(jù)進(jìn)入編碼轉(zhuǎn)化,因?yàn)橹挥凶優(yōu)榫€性數(shù)據(jù)才可以進(jìn)行混音和疊加;
步驟3:編碼轉(zhuǎn)換后的數(shù)據(jù)直接進(jìn)入混音模塊進(jìn)行混音處理;
步驟4:混音后的數(shù)據(jù)通過遍歷所有與會(huì)者并逐一進(jìn)行線性分離;
步驟5:分離后的數(shù)據(jù)再根據(jù)與會(huì)者的解碼格式進(jìn)行編碼;
步驟6:將編碼后的數(shù)據(jù)發(fā)送給相應(yīng)與會(huì)者;
2、服務(wù)器采用音頻優(yōu)化技術(shù)的降噪和混音優(yōu)化的流程如圖2,具體步驟如下:
步驟1:正在發(fā)言的與會(huì)者的音頻信號(hào)通過網(wǎng)絡(luò)進(jìn)入會(huì)議服務(wù)器中與其相對(duì)應(yīng)的緩沖隊(duì)列;
步驟2:會(huì)議服務(wù)器判斷是否有其他正在發(fā)言的與會(huì)者的音頻信號(hào)進(jìn)入,若無(即當(dāng)前會(huì)議就一個(gè)發(fā)言者),則將緩沖隊(duì)列出來的數(shù)據(jù)直接進(jìn)行降噪處理后,轉(zhuǎn)至步驟10。若有,則轉(zhuǎn)至步驟3:
步驟3:從緩沖隊(duì)列出來的數(shù)據(jù)進(jìn)行編碼轉(zhuǎn)換;
步驟4:編碼轉(zhuǎn)換后的數(shù)據(jù)進(jìn)行降噪處理;
步驟5:降噪處理后的不同發(fā)言的與會(huì)者音頻數(shù)據(jù)分別送入混音處理模塊;
步驟6:混音處理模塊進(jìn)行混音(即音頻數(shù)據(jù)進(jìn)行線性迭加);
步驟7:判斷其他與會(huì)者是否是為靜音狀態(tài),若是,則轉(zhuǎn)至步驟8,否則轉(zhuǎn)至步驟9;
步驟8:混音后的數(shù)據(jù)進(jìn)入語音代理模塊,轉(zhuǎn)至步驟10;
步驟9:混音后的數(shù)據(jù)進(jìn)入對(duì)應(yīng)的線性分離模塊,通過分離技術(shù)[12]過濾掉與會(huì)者自身音頻輸入的數(shù)據(jù),然后再根據(jù)與會(huì)者的的解碼能力對(duì)過濾后的音頻數(shù)據(jù)進(jìn)行編碼,編碼后的數(shù)據(jù)發(fā)送給與會(huì)者;
圖2 服務(wù)器采用音頻優(yōu)化技術(shù)的會(huì)議混音結(jié)構(gòu)示意圖
步驟10:進(jìn)入語音代理模塊的音頻數(shù)據(jù)首先被放入緩沖隊(duì)列,然后服務(wù)器需要根據(jù)所有靜音狀態(tài)與會(huì)者所支持的解碼能力進(jìn)行分類,并按照分類對(duì)音頻數(shù)據(jù)進(jìn)行相應(yīng)的編碼;
步驟11:針對(duì)每個(gè)類別編碼后的音頻數(shù)據(jù)均逐一發(fā)送給所支持解碼能力的靜音狀態(tài)與會(huì)者。
其中相比較圖1傳統(tǒng)服務(wù)器混音結(jié)構(gòu)[13]而言,圖2結(jié)構(gòu)中針對(duì)每路發(fā)言信道增加降噪處理。同時(shí)與會(huì)者若為靜音狀態(tài),則無需進(jìn)行緩沖、編碼、降噪和混音的過程,僅接收混音模塊輸出并經(jīng)語音代理模塊處理后的數(shù)據(jù)[14]。
3)語音代理處理流程如圖3,具體步驟如下:
步驟1:從混音模塊出來的數(shù)據(jù)先進(jìn)入緩沖隊(duì)列;
步驟2:服務(wù)器根據(jù)所有靜音與會(huì)者的解碼格式進(jìn)行分類,然后分別對(duì)緩沖隊(duì)列的數(shù)據(jù)進(jìn)行對(duì)應(yīng)的編碼;
步驟3:分別將編碼后的音頻數(shù)據(jù)按照同類型解碼格式轉(zhuǎn)發(fā)相同數(shù)據(jù)的原則逐一發(fā)送給對(duì)應(yīng)與會(huì)者。
圖3 語音代理處理流程示意圖
4)會(huì)議中視頻的優(yōu)化處理流程如圖4,具體步驟如下:
步驟1:主持人進(jìn)入會(huì)議室,默認(rèn)打開自身視頻發(fā)送模塊,并在其客戶端顯示本地視頻;
步驟2:與會(huì)者進(jìn)入會(huì)議時(shí),不啟動(dòng)自身視頻發(fā)送模塊,默認(rèn)看到主持人的視頻;
步驟3:若與會(huì)者1選擇查看與會(huì)者2的視頻,此時(shí)服務(wù)器需要判斷與會(huì)者2是否已經(jīng)被其他與會(huì)者訂閱其視頻,若訂閱了,則直接將與會(huì)者2的視頻持續(xù)不斷地轉(zhuǎn)發(fā)給與會(huì)者1,若沒有訂閱者,則轉(zhuǎn)到步驟4;
圖4 視頻優(yōu)化轉(zhuǎn)發(fā)流程示意圖
步驟4:服務(wù)器向與會(huì)者2發(fā)送開啟視頻命令,且與會(huì)者2客戶端啟動(dòng)自身視頻模塊并向服務(wù)器上傳視頻數(shù)據(jù);
步驟5:服務(wù)器將收到的視頻數(shù)據(jù)按照視頻源的訂閱清單逐一轉(zhuǎn)發(fā);
步驟6:與會(huì)者1切換視頻或者離開會(huì)議室時(shí),發(fā)送取消訂閱原視頻的請(qǐng)求 (異常掉線情況通過服務(wù)器超時(shí)檢測(cè)[15]),此時(shí)服務(wù)器需要判斷原來視頻源與會(huì)者是否還有其他用戶訂閱其視頻,若沒有,則轉(zhuǎn)到步驟7。若有,則簡(jiǎn)單從該視頻源與會(huì)者的訂閱清單中刪除取消與會(huì)者的信息,同時(shí)針對(duì)切換視頻的情況下,與會(huì)者1的處理轉(zhuǎn)至步驟4,只是此時(shí)請(qǐng)求訂閱的數(shù)據(jù)變成其他與會(huì)者而已;
步驟7:服務(wù)器向與會(huì)者2發(fā)送停止視頻發(fā)送命令;
步驟8:與會(huì)者2在收到服務(wù)器發(fā)送的停止命令后,停止向服務(wù)器發(fā)送視頻數(shù)據(jù)。
文中提出了一種基于單服務(wù)器實(shí)現(xiàn)大容量會(huì)議服務(wù)的系統(tǒng)設(shè)計(jì)方法,主要有以下4個(gè)特點(diǎn):
1)混音完成后對(duì)音頻數(shù)據(jù)進(jìn)行分類的編碼,即根據(jù)所有與會(huì)者協(xié)商后的支持解碼格式進(jìn)行分類,這樣就把針對(duì)每路編碼的工作變成針對(duì)幾大類的編碼工作量,從而可有效地降低由于過多的編碼帶來的CPU運(yùn)算;
2)針對(duì)特定會(huì)議場(chǎng)合做了特殊直接轉(zhuǎn)發(fā)的策略,如當(dāng)前會(huì)議僅有一人發(fā)言,這時(shí)不進(jìn)行混音,如果其他與會(huì)者解碼能力是支持發(fā)言人編碼格式時(shí),直接進(jìn)行音頻數(shù)據(jù)的轉(zhuǎn)發(fā),若是其他與會(huì)者解碼能力不支持發(fā)言人編碼格式時(shí),通過編碼轉(zhuǎn)換后再將音頻數(shù)據(jù)分發(fā)給與會(huì)者。通過這種特殊策略可以顯著提高單臺(tái)服務(wù)器會(huì)議服務(wù)的與會(huì)者容量;
3)通過增加打開、關(guān)閉視頻的命令,在需要與會(huì)者客戶端上傳視頻時(shí)通過發(fā)送打開視頻的命令,此后與會(huì)者再將視頻傳至服務(wù)器。當(dāng)沒人觀看某與會(huì)者的視頻時(shí),通過發(fā)送結(jié)束視頻命令以停止某與會(huì)者的視頻上傳,通過這種“按需發(fā)送”的策略可以有效地降低對(duì)服務(wù)器及客戶端的帶寬消耗,也減輕了服務(wù)器處理視頻數(shù)據(jù)的壓力;
4)改變了多畫面的組合視頻模式,因?yàn)樵诰W(wǎng)絡(luò)視頻會(huì)議中,視頻僅作為輔助功能,且相比音頻而言消耗了更多的帶寬,為此引入了用戶自主選擇視頻展現(xiàn)的單畫面機(jī)制,即用戶通過選擇想要觀看的視頻畫面,或者通過服務(wù)器制定視頻轉(zhuǎn)發(fā)策略,如統(tǒng)一分派發(fā)言人視頻、輪詢分派會(huì)議與會(huì)者視頻等。通過這種有效地策略可以極大地節(jié)約服務(wù)器端及客戶端的帶寬和降低合成多畫面的CPU負(fù)載,從而使得會(huì)議音質(zhì)有好的提升,通過這種策略也為單服務(wù)器多并發(fā)容量會(huì)議服務(wù)提供了有利保障。
經(jīng)過小規(guī)模的遠(yuǎn)程視頻通話測(cè)試,測(cè)試結(jié)果顯示有效地提高了CPU的利用率,尤其是對(duì)網(wǎng)絡(luò)帶寬的要求有效降低,并且不需要增加硬件板卡等新增投資,單臺(tái)服務(wù)器即可,目前在4Mb帶寬的網(wǎng)絡(luò)環(huán)境下已經(jīng)可以滿足多方視頻會(huì)議中的音頻、視頻實(shí)時(shí)傳遞的要求并且收到了良好的通信效果,目前正在進(jìn)行公網(wǎng)大規(guī)模測(cè)試,預(yù)期效果良好。
[1]高亮,谷英亮,閆飛.視頻會(huì)議與電話會(huì)議語音交互解決方案研究[J].電力信息化,2013,11(7):106-109.
[2]賀星,趙問道,陳惠芳.網(wǎng)絡(luò)級(jí)聯(lián)型視頻監(jiān)控服務(wù)器的設(shè)計(jì)與實(shí)現(xiàn)[J].電視技術(shù),2006(1):90-92.
[3]何炎祥,鄧愛林.多媒體會(huì)議系統(tǒng)分層通信結(jié)構(gòu)及共算法研究[J].計(jì)算機(jī)學(xué)報(bào),2001,24(5):516-520.
[4]黃東軍,陳松喬.基于源根組播的多點(diǎn)視頻會(huì)議系統(tǒng)模型及其實(shí)現(xiàn)[J].電子學(xué)報(bào),2005,33(1):47-51.
[5]謝曉鋼,蔡駿,陳奇川,等.基于Speex語音引擎的VoIP系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)應(yīng)用研究,2007(12):104.
[6]林豐.一種基于3DTV編解碼技術(shù)的視頻流傳輸方法倡[J].計(jì)算機(jī)應(yīng)用研究,2011,28(9):3576-3578.
[7]涂衛(wèi)平,胡瑞敏.視頻會(huì)議中音頻多點(diǎn)處理器的研究[J].武漢大學(xué)學(xué)報(bào)(信息科學(xué)版),2002:98-101.
[8]吳曉軍,白世軍,盧文濤.基于H.264視頻編碼的運(yùn)動(dòng)估計(jì)算法優(yōu)化 [J].電子學(xué)報(bào),2009,37(11): 2541-2545.
[9]陳杰.基于數(shù)字語音交換技術(shù)的多方會(huì)議系統(tǒng)[J].信息通信,2015(5):111.
[10]辛杰,康丹丹,張飛弦,等.可擴(kuò)展語音與音頻編解碼技術(shù)的專利分析[J].電聲技術(shù),2012(1):59-62.
[11]蔡必強(qiáng).視頻會(huì)議中混音技術(shù)研究[J].現(xiàn)代電子技術(shù),2006:85-87.
[12]趙代強(qiáng).基于數(shù)字語音交換技術(shù)的多方會(huì)議系統(tǒng)[J].計(jì)算機(jī)工程,2004:87-89.
[13]薛衛(wèi),都思丹.基于變分辨率頻譜特征的向量機(jī)靜音檢測(cè)和實(shí)時(shí)混音技術(shù)[J].中國科學(xué)技術(shù)大學(xué)學(xué)報(bào),2006:898-901.
[14]史美林,向勇,楊光信.計(jì)算機(jī)支持的協(xié)同工作理論與應(yīng)用[M].北京:電子工業(yè)出版社,2000.
[15]何炎祥,鄧愛林,杜卓敏.多媒體會(huì)議系統(tǒng)分層通信結(jié)構(gòu)及其算法研究[J].計(jì)算機(jī)學(xué)報(bào),2001:516-520.
Research on the system and method of realizing large capacity conference service based on single server
ZHANG Long1,YIN Ya-ling2,GENG Xiao-feng3
(1.Information Engineering School,Xi'an Eurasia University,Xi'an 710065,China;2.Information School,Xi'an University of Finance and Economics,Xi'an 710100,China;3.Xi'an RongKeCommunication Technology Co Ltd,Xi'an 710077,China)
According to the conference call and video conferencing involves the audio and video system,how to improve the problem of concurrent capacity in the audio and video quality at the same time,through the use of audio and video optimization technology,proposes a system and method for large capacity meeting service based on a single server,realize the hardware investment is not increased by a single server can provide high quality and large capacity through remote video conference service system,small scale test calls,test results of a single server that the demand for network bandwidth is reduced effectively,currently in the 4Mb bandwidth network environment can satisfy multi-party video conferencing in audio and video real-time transmission requirements and received good communication effect.
video conference;conference call;noise reduction processing;voice proxy;video optimization
TN91
:A
:1674-6236(2017)06-0039-04
2016-02-29稿件編號(hào):201602185
張 龍(1977—),男,陜西西安人,碩士,講師。研究方向:軟件工程,人工智能。