AIoTel下視頻編碼技術
作者 | 黃敏峰,單位:中國移動智慧家庭運營中心
Labs 導讀
萬物互聯時代,AIoTel技術打通了人與物之間的交互壁壘,構筑出人與人、人與物、物與物廣泛連接的通信系統,極大拓展了通信邊界。視頻作為一種基礎的通信交互媒介,也隨之迎來更廣闊、豐富、多變的的應用舞臺,本期我們就先從這個舞臺的支柱——視頻講起,探知AIoTel下的視頻特征及編碼技術。在進入正題之前,首先讓我們了解一下,什么是AIoTel?
1 AIoTel及媒體特征
AIoTel是一個組合詞,它由AI+IoT+Telephony拼接而成,表達由智能設備、物聯網、多媒體通信等技術構建的新型多媒體交互體系,也稱作物聯多媒體。在這個體系中,人不再占據交互主導地位,而出現了物與物、物與人的互動方式。

AIoTel通信
相較傳統多媒體通信技術有以下三個突出特點:
1.1 場景多樣化
物聯多媒體通信服務廣泛存在于各種地方、各類設備和軟件中,涵蓋安防、汽車、家居、醫療、辦公和工業等眾多應用領域,對視頻的能力要求各不相同。安防視頻靜態背景和動態對象相結合,汽車自動駕駛、辦公會議通常對媒體的實時性有較高要求。醫療、家居娛樂對高清、超高清的需求較為顯著。

1.2 終端多態化
物聯網多媒體通信服務向消費者傳遞信息的場景和媒介的界限也在被不斷突破和延展,終端的形態更加豐富。智能電視、智能冰箱、智能音箱、早教機、智能手環等大、中、小、微屏形態各異。

1.3 網絡復雜化
承載物聯多媒體通信服務的網絡可能是廣域網(如Internet)、局域網、無限局域網(如wifi)、個域網(如藍牙,紅外,NFC等)不一而足,網絡帶寬、網絡穩定性等網絡環境差異巨大。
終端多樣化和網絡復雜化,決定了物聯多媒體視頻編解碼應具備智適應能力,即編碼器能更據屏幕尺寸、網絡環境自動調節分辨率、碼率以及抗丟包能力。
場景多樣化,如何更據場景特點來決定編碼目標,包括極致壓縮、實時編碼、高清低碼等,形成物聯多媒體場景化編碼能力。
接下來我們會更加詳細地介紹智適應和場景化這兩個主要特征。
2 智適應
在AIoTel的視頻應用中,需要根據終端、網絡、內容、應用等不同特征智適應調整,提出了四個方面的編碼要求:自適應屏幕、自適應帶寬、自適應參數、自適應內容。
自適應屏幕
自適應屏幕的目的是視頻媒體能夠自動適配大、中、小不同尺寸屏幕,目前有多種方案,一種是是可分級編碼(SVC),把視頻信號分層多個層級。在編碼端對原始視頻信號經下采樣、重構、上采樣等過程,形成一個基本層和多個增強層,基本層碼流可以單獨解碼,還原最低質量碼流,增強層中包含高質量視頻重構所需的額外信息。另一種視頻超分(SR),接收端把低分辨率的視頻幀,利用插值、深度學習等方式,經過視頻降噪、銳化、去模糊、去抖動等增強處理,擴充像素點,使視頻達到較高分辨率,提升低分辨率在高分辨率上的視頻質量。

自適應帶寬
自適應帶寬是根據不同網絡中帶寬的承載能力,動態調整編碼參數,控制傳輸碼率,實現編碼能力與網絡能力的匹配。要實現良好的應用效果,需要綜合多種手段來聯合控制。通用的方法是結合編碼輸出帶寬和當前網絡的狀態,動態調整幀率、分辨率、碼率等參數。這些參數的調整都會對視頻質量產生影響,對幀率的調整,會影響視頻的流暢程度;對碼率的調整,會影響存儲、帶寬和清晰度;對分辨率的調整,直接決定視頻的清晰度。因此,需要綜合衡量不同參數的影響,以達到較好質量。
自適應參數
自適應參數是指在傳統編碼框架中,利用AI技術對部分模塊進行部分前處理和后處理,確定部分編碼特征和參數,減小編碼過程的遍歷和運算,降低復雜度,提升視頻質量。比如在計算占比較大的CTU劃分階段,通過基于隨機森林的CTU劃分算法,直接預測最優的CTU劃分方式,而無需遍歷整個參數,從而顯著降低計算復雜度;在碼率控制階段,采用強化學習方法實現更為精確的碼率失真模型,提升碼率控制的精度及壓縮性能。

自適應內容
針對應用群體的特征,對用戶(老人/兒童)、不同顯示要素,為編碼到應用各個層面,提供不同的能力。一方面,不同區域或者對象的視覺重要性不同,關注程度不同,各種失真也具有不同的敏感和容忍程度,據此可以分配不同的編碼資源,有選擇地控制質量,提升視頻壓縮率。另一方面,可以通過識別和跟蹤視頻中人物或物體,及時準確地識別和捕捉所關注的事件,自動地進行標記和提醒,用于日常生活輔助、家居看護等方面。
3 場景化
質量、時延、壓縮率、復雜度、流暢度等是視頻的幾個維度,不同的場景下的應用目的不同,所需求的維度特征也不相同不同。接下來我們從RTC和家庭安防兩個典型的場景,了解不同業務下的視頻要求。

3.1 家庭安防

安防行業的視頻場景有諸多特點:
- 比如攝像頭一般都固定在某個位置,所錄制的視頻畫面背景較為穩定;
- 攝像頭一般位置高、角度廣,因此視頻畫面包含的內容比較豐富,但是畫面變化較為平緩;
- 安裝在室外的攝像頭,光線、雨雪、霧霾等天氣因素會影響到視頻質量;
- 安防行業一般都是監控人、車的行為,因此人臉、車牌能否清晰可見也是評價的關鍵因素。
因此,安防行業的視頻能力會側重以下幾個方面:
高壓縮率
由于大部分監控場景下,視頻背景幾乎不會變化,這就為高壓縮率提供了可能;同時,直播會發生在多種網絡環境下,如果較高碼率遇到不佳的網絡狀況時,就會出現丟包、花屏或者時延增加的問題;另外,視頻片段存放在云服務器上,碼率大小與云存儲的成本也是直接相關的,所以各個方面都會要求盡可能的提高視頻的壓縮率。在視頻編碼時,大多可以采用可變碼率的方式,盡可能降低每一幀的壓縮率。

低時延
網絡時延是指一個圖像數據從前端的攝像頭采集,到傳輸客戶端,用戶通過顯示器觀看到圖像的時間差。例如人在攝像機前揮動手臂,圖像采集后通過編碼,然后通過網絡傳輸到后端解碼顯示出圖像,這一過程雖然很短暫,但仍然可以感覺到顯示圖像略有滯后,這就是我們通常所說的網絡視頻監控時時延。
一般基于內部網絡系統的監控系統,要求時延小于500ms;基于公網傳輸的監控系統,時延小于2秒。
低幀率
由于大部分場景下,畫面變化比較小,背景幾乎不動,為了降低網絡帶寬的占用和存儲成本,安防行業一般使用每秒15幀的幀率,在實踐中也是能滿足要求的,這也是降低碼率提高壓縮率最直接的手段。
高分辨率
安防行業的視頻,經常需要獲取“誰”發生了“什么事情”這樣的信息,所以畫面中的人臉、車牌等關鍵信息需要清晰可辨。
因此,在視頻編碼時,可以考慮前后景動態編碼技術,將圖像中涉及的車輛、人臉等目標信息進行動態識別,精確分離前景和后景,根據場景智能決定編碼策略,對重要目標給予高碼率,以實現“可辨別”的目標,對背景或者不重要的目標給予低碼率,以實現“高壓縮率”的目標,從而實現最優的編碼。

3.2 RTC
在RTC視頻場景下,用戶的主要注意力會在屏幕上,與用戶體驗相關的相對比較重要,如實時性、流暢度等。最終的視頻呈現體驗不僅受到視頻本身處理能力的制約,與網絡傳輸也密切相關。

實時性
RTC場景中通常會有多個參與者,他們隨時互相交換信息,比如一次1v1通話、一場會議,一場直播等,具有強烈的互動性,信息的生產端盡快同步內容到各個接收端,接收端接到信息、迅速反饋,才能有良好的體驗。實時性在這里就顯得極為重要,對端到端的實時性要求一般是不高于400ms。

然而,視頻、語音等要經過采樣->編碼->傳輸->接收->解碼->顯示等一系列過程,各個環節處理都需要耗費時間,其中視頻編碼耗時比重超過70%。提升視頻編碼的速率,也就成為RTC下對視頻一個重要要求。
高流暢
視頻流暢還可以用另一個比較容易理解的詞——“絲滑”。
視頻本質上是一張張圖片的連續播放,它利用了人眼的視覺殘留效應,給人產生了畫面連續運動的感覺。一段時間內播放的圖片數越多,畫面流暢度就越好,一般幀率在24fps達到,人就不會有停頓的感覺。RTC中常用25fps、30fps兩種幀率,幀率再向上提升,流暢度提升有限,并且還會使帶寬增加。
影響流暢度的另一個因素是網絡因素,RTC的視頻媒體在網絡傳輸時,為了降低傳輸時延,基本都采用了基于UDP的RTP協議。而網絡側的阻塞、抖動、丟包等均會會影響接收側的視頻解碼,接收的屏幕會出現丟卡頓、馬賽克、綠塊等明顯的現象。
因此,在視頻編碼時,要求編碼器具有動態碼率的調節能力,減小網絡的影響,并且能夠與各種QoS、QoE等策略結合,提升視頻的質量。

高波動

不同于攝像頭中的位置和視角固定,畫面內容連續性較大。RTC場景里的畫面內容豐富,并且前后幀之間場景差異可以很明顯。圖像空間和時間之間的相關性減小,如果想繼續保持圖像質量,則需要更多編碼字節。從而導致了每一幀的編碼字節長度變動較大,整天畫面呈現高波動狀態。并且,一些視頻編碼器在場景切換時,會重新插入I幀,來增強后續畫面的質量,這也進一步加劇了碼率波動。RTC場景編碼本身的碼率和網絡的抖動,最終呈現了高波動。
以上我們介紹了AIoTel場景下的視頻技術,重點介紹了智適應和場景化兩項關鍵特征,并且結合部分業務介紹了對編碼的要求。下期我們將從視頻編解碼器的角度來了解AIoTel編解碼技術。































