當(dāng)我們觀看各類直播時奠衔,當(dāng)我們與家人朋友進(jìn)行視頻通話時脊另,當(dāng)我們利用遠(yuǎn)程監(jiān)控查看孩子在幼兒園的狀況時,這其中涉及的技術(shù)就是視頻通信技術(shù)鉴逞。
隨著現(xiàn)代通信技術(shù)和業(yè)務(wù)的發(fā)展记某,以傳送語言視頻為一體的視頻通信業(yè)務(wù)已經(jīng)成為通信領(lǐng)域發(fā)展的熱點(diǎn),其在視頻會議构捡、遠(yuǎn)程視頻醫(yī)療液南、遠(yuǎn)程視頻教育等方面得到越來越廣泛的應(yīng)用。而高效穩(wěn)定的視頻通信系統(tǒng)是開展各類視頻通信業(yè)務(wù)的基礎(chǔ)勾徽。
一滑凉、如何構(gòu)建視頻通信系統(tǒng)
構(gòu)建視頻通信系統(tǒng)是一項(xiàng)綜合了數(shù)據(jù)采集、處理和顯示技術(shù)喘帚,數(shù)據(jù)壓縮編解碼技術(shù)和網(wǎng)絡(luò)傳輸技術(shù)的系統(tǒng)性工程畅姊。而一個基礎(chǔ)的視頻通信系統(tǒng)過程主要包含以下三個步驟:
1)數(shù)據(jù)發(fā)送方采集數(shù)據(jù):包括音頻、視頻以及文本等多媒體數(shù)據(jù)吹由;
2)通過網(wǎng)絡(luò)將壓縮的數(shù)據(jù)傳送到接收方若未;
3)數(shù)據(jù)接收方接收到數(shù)據(jù)后,解碼得到多媒體數(shù)據(jù)倾鲫,進(jìn)行顯示和播放粗合。
但是在日常的業(yè)務(wù)中,不同的業(yè)務(wù)對視頻通信系統(tǒng)的技術(shù)要求的側(cè)重點(diǎn)是不一樣的乌昔,例如:對于視頻會議隙疚,要求雙方或多方的視頻通信過程能實(shí)時進(jìn)行,延時盡可能低磕道,同時要保持通信過程流暢不卡頓甚淡;而對于視頻監(jiān)控系統(tǒng),則對視頻清晰度要求較高,能保留畫面中的重要細(xì)節(jié)內(nèi)容贯卦,而對延時比較寬容资柔。
盡管不同的業(yè)務(wù)有不同的側(cè)重點(diǎn),如何構(gòu)建一個高效穩(wěn)定的視頻通信系統(tǒng)撵割,卻一直是視頻通信運(yùn)營商的追求贿堰。
二羹与、如何構(gòu)建高效穩(wěn)定的視頻通信系統(tǒng)
1. 數(shù)據(jù)采集技術(shù):需要能高效及時地獲取到高質(zhì)量的原始數(shù)據(jù)。
例如:在實(shí)時視頻通話應(yīng)用中庶灿,通常需要對采集到的音頻預(yù)處理纵搁,主要有濾除背景雜音,檢測并消除回音等往踢;在監(jiān)控視頻中腾誉,則會對采集到的視頻進(jìn)行去霧、改善強(qiáng)光干擾峻呕、夜間圖像增強(qiáng)等處理利职。
2.?數(shù)據(jù)壓縮技術(shù):數(shù)據(jù)壓縮中的視頻壓縮技術(shù),是整個視頻通信系統(tǒng)中的核心技術(shù)瘦癌。
由于原始視頻的數(shù)據(jù)量非常大猪贪,如果不經(jīng)過壓縮,將會給傳輸和存儲帶來極大的壓力讯私。而高效的視頻編碼技術(shù)能在滿足傳輸帶寬的限制下保持盡可能高的質(zhì)量热押,或者在保證一定質(zhì)量的條件下,獲得盡可能高的壓縮率斤寇。
在低延時的業(yè)務(wù)中桶癣,對壓縮速度的要求也非常高。比如要達(dá)到每秒20幀的幀率抡驼,就要求壓縮每一幀的時間低于50毫秒鬼廓,同時還要兼顧到壓縮的性能肿仑。目前主流的視頻編碼標(biāo)準(zhǔn)H.264/AVC致盟,可以獲得不錯的性能和速度的折中。下一代的視頻編碼標(biāo)準(zhǔn)是H.265/HEVC尤慰,雖然其碼率相比H.264在同等編碼質(zhì)量的情況下能節(jié)省45%馏锡,但是由于其專利問題和巨大的計(jì)算量,目前還沒有得到廣泛應(yīng)用伟端。
在屏幕分享和視頻通話業(yè)務(wù)中杯道,要根據(jù)不同的場景設(shè)置分辨率。前者需要看清屏幕文字等細(xì)節(jié)责蝠,對分辨率要求很高党巾;后者萎庭,由于人臉總體是平坦的,分辨率則可以設(shè)置得低一些齿拂。如果是閉環(huán)的通信系統(tǒng)驳规,甚至可以根據(jù)具體應(yīng)用開發(fā)非標(biāo)準(zhǔn)編解碼技術(shù)或改進(jìn)現(xiàn)有的標(biāo)準(zhǔn)編解碼技術(shù)。
3.?網(wǎng)絡(luò)傳輸技術(shù):視頻通信系統(tǒng)的關(guān)鍵技術(shù)署海。
壓縮后的數(shù)據(jù)需要根據(jù)合適的網(wǎng)絡(luò)傳輸協(xié)議打包吗购,打包后的數(shù)據(jù)經(jīng)過網(wǎng)絡(luò)傳輸?shù)浇邮斩耍邮斩嗽俑鶕?jù)網(wǎng)絡(luò)協(xié)議解析出壓縮數(shù)據(jù)砸狞。根據(jù)業(yè)務(wù)類型以及傳輸數(shù)據(jù)的類型捻勉,需要選取不同的傳輸協(xié)議。最常用的兩種傳輸協(xié)議是傳輸控制協(xié)議TCP和用戶數(shù)據(jù)包協(xié)議UDP:TCP是面向連接的可靠傳輸協(xié)議刀森,但是延時相對較大踱启;UDP是無連接、不可靠的傳輸協(xié)議撒强,但是延時相對較小禽捆。
在視頻通信系統(tǒng)中,主要包括多媒體數(shù)據(jù)(音頻飘哨、視頻胚想、文本等數(shù)據(jù))和控制信令數(shù)據(jù)(登入服務(wù)器,用戶連接變動等消息)芽隆。其中控制信令數(shù)據(jù)浊服,起到了調(diào)度通信各方的作用,對整個系統(tǒng)的正常運(yùn)行非常重要胚吁,需要穩(wěn)定的傳輸牙躺,所以一般采用TCP協(xié)議,以達(dá)到穩(wěn)定傳輸?shù)哪康耐蠓觥6鴮τ诙嗝襟w數(shù)據(jù)孽拷,由于對延時要求高,而且丟包對整個系統(tǒng)的運(yùn)行影響不大半抱,往往采用UDP協(xié)議脓恕,以達(dá)到及時傳輸?shù)哪康摹?/p>
但是這樣的選擇也不是絕對的,比如在對多媒體數(shù)據(jù)延時要求不高的業(yè)務(wù)中窿侈,也可以采用TCP炼幔。或者根據(jù)特定場景開發(fā)某種協(xié)議史简,比如基于UDP協(xié)議開發(fā)一種重傳機(jī)制的協(xié)議乃秀,在滿足低延時的前提下,同時避免數(shù)據(jù)傳輸?shù)膩G失導(dǎo)致通信中斷《逖叮總之枢贿,網(wǎng)絡(luò)傳輸技術(shù)對于通信穩(wěn)定流暢的進(jìn)行至關(guān)重要,需要結(jié)合業(yè)務(wù)本身進(jìn)行合理設(shè)計(jì)刀脏。
4.?多媒體數(shù)據(jù)的解碼播放:視頻通信系統(tǒng)的最后一步萨咕。
要達(dá)到音畫同步,同時避免出現(xiàn)花屏的效果火本。解碼時危队,需要根據(jù)解碼標(biāo)準(zhǔn)檢測是否丟失了數(shù)據(jù),對解碼失敗的視頻幀采取不予顯示或請求重發(fā)等措施钙畔,避免出現(xiàn)不完整解碼幀茫陆,也就是花屏的現(xiàn)象。同時對音視頻的播放擎析,要根據(jù)時間戳進(jìn)行同步播放簿盅,否則會極大地影響用戶體驗(yàn)。對于解碼得到的音頻揍魂,由于采樣率變化桨醋、壓縮失真等影響,往往要經(jīng)過濾波现斋、自動增益等處理喜最,從而得到圓潤而不刺耳的聲音效果。當(dāng)然庄蹋,在多人通信中瞬内,首先還要對多路音頻進(jìn)行混音。
三限书、構(gòu)建高效穩(wěn)定的視頻通信系統(tǒng)的影響因素
傳輸帶寬的不穩(wěn)定虫蝶。網(wǎng)絡(luò)環(huán)境復(fù)雜多變,尤其是移動網(wǎng)絡(luò)環(huán)境倦西,傳輸帶寬可能是實(shí)時變化的能真。在這樣的網(wǎng)絡(luò)環(huán)境下要實(shí)現(xiàn)視頻通信的流暢進(jìn)行,需要編碼的輸出碼率能自適應(yīng)變化扰柠。如果一段時間內(nèi)網(wǎng)絡(luò)帶寬變得緊張粉铐,而編碼輸出碼率仍然較高,則無法及時傳輸數(shù)據(jù)耻矮,接收方就會出現(xiàn)卡頓的現(xiàn)象秦躯,對用戶體驗(yàn)影響很大忆谓;而當(dāng)網(wǎng)絡(luò)帶寬有很大富余的時候裆装,如果還是采用低碼率進(jìn)行編碼,則是對帶寬的浪費(fèi),同時接收方的視頻質(zhì)量也較差哨免。
四茎活、解決辦法
要實(shí)現(xiàn)流暢高質(zhì)量的視頻通信,編碼端需要根據(jù)實(shí)時的網(wǎng)絡(luò)狀態(tài)進(jìn)行壓縮率的調(diào)整琢唾,這可以通過改變量化參數(shù)载荔、改變分辨率或改變幀率等方法實(shí)現(xiàn)。而對網(wǎng)絡(luò)狀態(tài)的實(shí)時感知采桃,就需要網(wǎng)絡(luò)傳輸模塊對網(wǎng)絡(luò)狀態(tài)進(jìn)行統(tǒng)計(jì)監(jiān)測懒熙,并將網(wǎng)絡(luò)的實(shí)時狀態(tài)信息提供給編碼端。
當(dāng)然也可以設(shè)計(jì)一種編碼端和解碼端的正衔蹲、反饋機(jī)制來實(shí)現(xiàn)碼率控制肢娘。具體來說,可以在編碼端設(shè)計(jì)某種檢驗(yàn)碼舆驶,使得解碼端收到消息后能夠知道是否丟包橱健,從而進(jìn)行丟包統(tǒng)計(jì)。根據(jù)統(tǒng)計(jì)結(jié)果估計(jì)出網(wǎng)絡(luò)狀態(tài)沙廉,然后給編碼端發(fā)送反饋信息拘荡。根據(jù)反饋的信息,編碼器一方面可以向解碼器重新發(fā)送丟失的重要數(shù)據(jù)撬陵;另一方面也可以得知網(wǎng)絡(luò)狀態(tài)俱病,及時實(shí)施合適的碼率控制措施,使得通信流暢地進(jìn)行袱结。采用這種設(shè)計(jì)模式時亮隙,編解碼系統(tǒng)就構(gòu)成了一個完整的閉環(huán)系統(tǒng)。此時媒體數(shù)據(jù)對于網(wǎng)絡(luò)傳輸是透明的垢夹,因而網(wǎng)絡(luò)傳輸模塊只需要提供傳輸通路溢吻。
五而晒、總結(jié):
要保證視頻通信系統(tǒng)的穩(wěn)定流暢運(yùn)行蝇狼,除各個技術(shù)模塊的性能都足夠好之外,還需要各個模塊之間合理高效的配合倡怎。這其中最主要的是編碼模塊和網(wǎng)絡(luò)傳輸模塊的配合迅耘,以及編碼和解碼端的正贱枣、反饋機(jī)制。
總的來說颤专,構(gòu)建一個完善高效的視頻通信系統(tǒng)是一項(xiàng)極其復(fù)雜的纽哥、需要多項(xiàng)關(guān)鍵技術(shù)密切配合的系統(tǒng)性工程;同時也是需要根據(jù)業(yè)務(wù)的具體要求合理地開發(fā)和優(yōu)化的工程栖秕。