視訊通訊系統的關鍵技術與挑戰

圖鴨科技發表於2018-01-18

當我們觀看各類直播時,當我們與家人朋友進行視訊通話時,當我們利用遠端監控檢視孩子在幼兒園的狀況時,這其中涉及的技術就是視訊通訊技術。


隨著現代通訊技術和業務的發展,以傳送語言視訊為一體的視訊通訊業務已經成為通訊領域發展的熱點,其在視訊會議、遠端視訊醫療、遠端視訊教育等方面得到越來越廣泛的應用。而高效穩定的視訊通訊系統是開展各類視訊通訊業務的基礎。

視訊通訊系統的關鍵技術與挑戰

一、如何構建視訊通訊系統

構建視訊通訊系統是一項綜合了資料採集、處理和顯示技術,資料壓縮編解碼技術和網路傳輸技術的系統性工程。而一個基礎的視訊通訊系統過程主要包含以下三個步驟:


  1. 資料傳送方採集資料:包括音訊、視訊以及文字等多媒體資料;
  2. 通過網路將壓縮的資料傳送到接收方;
  3. 資料接收方接收到資料後,解碼得到多媒體資料,進行顯示和播放。


但是在日常的業務中,不同的業務對視訊通訊系統的技術要求的側重點是不一樣的,例如:對於視訊會議,要求雙方或多方的視訊通訊過程能實時進行,延時儘可能低,同時要保持通訊過程流暢不卡頓;而對於視訊監控系統,則對視訊清晰度要求較高,能保留畫面中的重要細節內容,而對延時比較寬容。


儘管不同的業務有不同的側重點,如何構建一個高效穩定的視訊通訊系統,卻一直是視訊通訊運營商的追求。

視訊通訊系統的關鍵技術與挑戰

(圖1. 構建一套視訊通訊系統,是一項綜合了音視訊處理、編解碼以及網路傳輸等技術的綜合性工程。)

二、如何構建高效穩定的視訊通訊系統

1. 資料採集技術:需要能高效及時地獲取到高質量的原始資料。

例如:在實時視訊通話應用中,通常需要對採集到的音訊預處理,主要有濾除背景雜音,檢測並消除迴音等;在監控視訊中,則會對採集到的視訊進行去霧、改善強光干擾、夜間影象增強等處理。

2.資料壓縮技術:資料壓縮中的視訊壓縮技術,是整個視訊通訊系統中的核心技術。

由於原始視訊的資料量非常大,如果不經過壓縮,將會給傳輸和儲存帶來極大的壓力。而高效的視訊編碼技術能在滿足傳輸頻寬的限制下保持儘可能高的質量,或者在保證一定質量的條件下,獲得儘可能高的壓縮率。


在低延時的業務中,對壓縮速度的要求也非常高。比如要達到每秒20幀的幀率,就要求壓縮每一幀的時間低於50毫秒,同時還要兼顧到壓縮的效能。目前主流的視訊編碼標準H.264/AVC,可以獲得不錯的效能和速度的折中。下一代的視訊編碼標準是H.265/HEVC,雖然其位元速率相比H.264在同等編碼質量的情況下能節省45%,但是由於其專利問題和巨大的計算量,目前還沒有得到廣泛應用。


在螢幕分享和視訊通話業務中,要根據不同的場景設定解析度。前者需要看清螢幕文字等細節,對解析度要求很高;後者,由於人臉總體是平坦的,解析度則可以設定得低一些。如果是閉環的通訊系統,甚至可以根據具體應用開發非標準編解碼技術或改進現有的標準編解碼技術。


3.網路傳輸技術:視訊通訊系統的關鍵技術。

壓縮後的資料需要根據合適的網路傳輸協議打包,打包後的資料經過網路傳輸到接收端,接收端再根據網路協議解析出壓縮資料。根據業務型別以及傳輸資料的型別,需要選取不同的傳輸協議。最常用的兩種傳輸協議是傳輸控制協議TCP和使用者資料包協議UDP:TCP是面向連線的可靠傳輸協議,但是延時相對較大;UDP是無連線、不可靠的傳輸協議,但是延時相對較小。


在視訊通訊系統中,主要包括多媒體資料(音訊、視訊、文字等資料)和控制信令資料(登入伺服器,使用者連線變動等訊息)。其中控制信令資料,起到了排程通訊各方的作用,對整個系統的正常執行非常重要,需要穩定的傳輸,所以一般採用TCP協議,以達到穩定傳輸的目的。而對於多媒體資料,由於對延時要求高,而且丟包對整個系統的執行影響不大,往往採用UDP協議,以達到及時傳輸的目的。


但是這樣的選擇也不是絕對的,比如在對多媒體資料延時要求不高的業務中,也可以採用TCP。或者根據特定場景開發某種協議,比如基於UDP協議開發一種重傳機制的協議,在滿足低延時的前提下,同時避免資料傳輸的丟失導致通訊中斷。總之,網路傳輸技術對於通訊穩定流暢的進行至關重要,需要結合業務本身進行合理設計


4.多媒體資料的解碼播放:視訊通訊系統的最後一步。

要達到音畫同步,同時避免出現花屏的效果。解碼時,需要根據解碼標準檢測是否丟失了資料,對解碼失敗的視訊幀採取不予顯示或請求重發等措施,避免出現不完整解碼幀,也就是花屏的現象。同時對音視訊的播放,要根據時間戳進行同步播放,否則會極大地影響使用者體驗。對於解碼得到的音訊,由於取樣率變化、壓縮失真等影響,往往要經過濾波、自動增益等處理,從而得到圓潤而不刺耳的聲音效果。當然,在多人通訊中,首先還要對多路音訊進行混音。


三、構建高效穩定的視訊通訊系統的影響因素

傳輸頻寬的不穩定。網路環境複雜多變,尤其是行動網路環境,傳輸頻寬可能是實時變化的。在這樣的網路環境下要實現視訊通訊的流暢進行,需要編碼的輸出位元速率能自適應變化。如果一段時間內網路頻寬變得緊張,而編碼輸出位元速率仍然較高,則無法及時傳輸資料,接收方就會出現卡頓的現象,對使用者體驗影響很大;而當網路頻寬有很大富餘的時候,如果還是採用低位元速率進行編碼,則是對頻寬的浪費,同時接收方的視訊質量也較差。

四、解決辦法

要實現流暢高質量的視訊通訊,編碼端需要根據實時的網路狀態進行壓縮率的調整,這可以通過改變數化引數、改變解析度或改變幀率等方法實現。而對網路狀態的實時感知,就需要網路傳輸模組對網路狀態進行統計監測,並將網路的實時狀態資訊提供給編碼端。

視訊通訊系統的關鍵技術與挑戰

圖2. 網路傳輸模組根據丟包率等統計資訊,向編碼器反饋網路狀態,編碼器根據網路狀態對編碼引數進行調整,改變輸出位元速率。


當然也可以設計一種編碼端和解碼端的正、反饋機制來實現位元速率控制。具體來說,可以在編碼端設計某種檢驗碼,使得解碼端收到訊息後能夠知道是否丟包,從而進行丟包統計。根據統計結果估計出網路狀態,然後給編碼端傳送反饋資訊。根據反饋的資訊,編碼器一方面可以向解碼器重新傳送丟失的重要資料;另一方面也可以得知網路狀態,及時實施合適的位元速率控制措施,使得通訊流暢地進行。採用這種設計模式時,編解碼系統就構成了一個完整的閉環系統。此時媒體資料對於網路傳輸是透明的,因而網路傳輸模組只需要提供傳輸通路。

視訊通訊系統的關鍵技術與挑戰

(圖3. 解碼端根據解碼失敗率估計網路狀態,將資訊反饋給編碼器,同樣能起到位元速率實時控制的功能。此時網路傳輸模組不需要關心所傳輸的內容,只是提供了傳輸通路。)


五、總結:

要保證視訊通訊系統的穩定流暢執行,除各個技術模組的效能都足夠好之外,還需要各個模組之間合理高效的配合。這其中最主要的是編碼模組和網路傳輸模組的配合,以及編碼和解碼端的正、反饋機制


總的來說,構建一個完善高效的視訊通訊系統是一項極其複雜的、需要多項關鍵技術密切配合的系統性工程;同時也是需要根據業務的具體要求合理地開發和優化的工程。


相關文章