視頻通信關鍵技術探索及實踐

導讀:2021年10月21日,「QCon 全球軟件開發大會」在上海舉辦,網易智企技術 VP 陳功作爲出品人發起了「AI 時代下的融合通信技術」專場,邀請到多位技術專家與大家一起分享相關技術話題。

我們會針對四個演講專題逐一進行介紹與分享,本期是我們的第二期,視頻通信關鍵技術探索及實踐。

嘉賓介紹:韓慶瑞,網易雲信音視頻實驗室,高級技術專家。

 

前言

 

無論在娛樂社交線上學習,還是遠程銀行等生活場景中,視頻都已成爲最重要的互動方式之一,用戶對於視頻效果也提出越來越高的要求。延時低,弱網對抗能力強,視頻畫質清晰等也讓企業面臨很高的技術挑戰。

 

作爲融合通信雲服務專家,網易雲信的業務覆蓋了主要的視頻場景,包括低延時的實時音視頻場景,允許部分延時的直播場景和不強調延時的點播場景,本文介紹了網易雲信視頻在各個場景下的關鍵技術和應用嘗試

 

網易雲信視頻技術部署

下圖爲網易雲信整個融合通信的主網圖。左邊和右邊是端側的設備,可以接入任何設備,手機、pad、PC、web 等。中心這部分是服務器,其中有編譯的轉發服務器還有 MCU 服務器,如果牽涉到一定時延會轉推到互動直播的服務器。雲信的視頻技術 RTC 場景下主要部署在端側,如果是是直播點播的業務,雲信主要提供直播轉推部署的視頻轉碼服務。

 

RTC 場景的視頻技術

下面介紹網易雲信在 RTC 場景下面的視頻技術,主要分爲三點。

 

 新一代的音視頻 SDK 架構 

 

下圖是網易雲信的音視頻 SDK 架構圖。去年年底,網易雲信發佈了新一代的音視頻 SDK——G2。在這個 SDK 架構裏面分爲五層,其中媒體引擎層是核心所在地,主要分爲三個視頻引擎,視頻、音頻和傳播引擎

 

 網易雲信視頻引擎架構和應用場景 

 

下圖是雲信的一個視頻引擎的架構。主要分爲五大模塊,視頻前處理視頻編碼視頻 QoE視頻解碼視頻後處理。從採集端輸入,雲信支持的業務主要是分爲兩種,一種是從攝像頭採集的真實的畫面,另一種是從屏幕分享採集的畫面。採集的畫面會先送入視頻前處理,雲信業務分佈在全球,有各種設備,有一些低端設備也有一些入門級的設備,由於攝像頭的原因導致採集的畫面變差,爲了提升和恢復這樣的畫質,視頻前處理完成了畫質處理後進入編碼壓縮,會傳送給網絡。

 

由於各種網絡的影響,我們會有一個視頻 QoE 模塊,保證雲信用戶都有一個完美的視頻體驗。經過網絡傳輸到了對端之後進行解碼,做一個後處理。後處理主要爲了減輕或者提升由於網絡壓縮傳輸帶來的畫質的損失

 

下圖是視頻引擎的應用場景,雲信的視頻場景分爲4種,一種是實時通信應用場景,一種是低延時的應用場景,還有視頻會議相關的互動直播類的場景以及互動教學類低延時的直播場景。

 

視頻引擎的關鍵技術 

 

視頻前處理

 

視頻前處理主要是爲了提升實時視頻端到端的視頻效果。網易雲信全球化的業務中,各種各樣的設備都會接入,我們需要這樣的視頻前處理來提升畫質。

 

  • 視頻 AI 增強

     

這種技術是比較古老的技術,很多年前就開始研究了。隨着 AI 技術深度學習的進步,視頻增強技術有了極大的提升。但是深度學習或者是 AI,運算量太大,雲信的業務遍佈全球,各種設備都會接入,尤其是移動端,像印度市場,東南亞市場中入門級設備比較多。

 

這些移動端對功耗性能都非常敏感,稍微大一點的運算量,功耗和電量就會掉得很快,這導致出現了大模型,一個比較好的深度學習模型就很難在這些場景下落地。如果採用一些小模型,效果又不能得到保證。

 

我們的業務是通信業務,需要傳到對端去。單純增強也許效果好,但傳到對端效果不一定好。經過解碼後的圖像,雖然有增強效果,但它的塊效應比沒有增強的更嚴重,在本端表現可能比較好,但是高頻分量變多,結果導致了壓縮率過高,損失過大。

 

雲信通過兩個方法來解決以上問題。一是訓練易過擬合,另一個是增強後主觀可能變差。

 

首先有一個場景識別模塊,可以識別出一些文字區域的內容運動場景遊戲場景,針對每種不同的場景會有不同的模型。比如說遊戲場景是一種模型,文字場景是一種模型,也許是同樣的模型但是可能參數不一樣,這樣可以保證運算能力足夠,同時效果也不錯。

 

我們的模型是採用的是小模型。前面提到模型不能太小,太小了表達能力不好,因此我們的模型是一種“輕量級模型”,參數量是1-2K,實際上達不到這種小模型效果,因爲業界的很多小模型參數不到1K,可能只有幾百,它的網絡程度是三到四層。因爲我們有自研的高效的推理框架 NENN。它和開源的推理框架相比,小模型做了獨有的優化,保證小模型的速度比其他開源框架速度快得多。

 

  • 視頻降噪

     

由於有的設備或者攝像頭在暗場景下噪聲比較多,需要高頻噪聲消除掉不必要的 bit。如果進行降噪,有利於編碼有利於傳輸有利於提高主觀質量

 

 RTC 場景中降噪是一樣的,移動端業務居多,很多地區是入門級的設備,對性能功耗非常敏感,複雜功耗無法使用的,速度快的算法,效果又不好。如果採用不合適的降噪可能不僅把噪聲抹除掉了,也可能把有用的高頻分量減少,這樣對整個視頻質量會帶來不好的影響。

 

網易雲信在關注這個問題時,我們是從人眼主觀的感覺來考慮的。從人眼主觀來說,人眼觀看是有區別的,一些場景下人眼的分辨率很高,分辨出很多高頻係數。另一些場景中,人眼分辨率很低分辨率會急劇下降

 

網易雲信採用了人眼敏感性分析方法,能夠提取出像素級圖像中的人眼敏感區域,我們寧願將降噪的係數降低,寧願放過一些噪聲,也不願意犧牲掉高頻係數。即使放掉了,人眼也感覺不出來,我們也有一個非常簡單但非常高效噪聲估計算法,這樣的兩種方法產生了一個權重值,因此視頻速度會很快,而且效果也不錯。

 

視頻編解碼

雲信的視頻編碼支持主流編碼器,包括應用最廣泛的264265,還有基於對 RTC 的深刻理解,開發了自研的編碼器,叫 NE264CC。

 

雲信編碼器的速度非常快,我們的質量可以提升50%,跟265相比,我們編碼速度可以快60倍。下圖是我們自研的 NE264,這是一個非常優秀的協議,在行業界存在了20年,經久不衰,它也是目前覆蓋最多的一種實時通信協議。雲信在264基礎上面研發了 NE264編碼器,有快速模式決策高效亞像素搜索自適應參考幀 CBR 碼控

 

從下圖中可以看到和 openh264、X264的編碼器以及 iphone 的編碼器相比,在編碼速度編碼質量方面雲信都是領先的。同時可能會忽略的碼率波動性,對於 RTC 來說,視頻質量速度是一方面,還有一個很重要的方面就是碼率的波動性。對於 RTC 嚴格的低延時場景來說,碼率一波動就會帶來畫面抖動,分辨率降低,在這裏面 NE264的碼率波動性也是最小的。

 

下圖是與 X264-ultrafast 的比較,這是最快的一種模式,我們的速度比它降低了25%左右,但是我們的壓縮率比它提升了接近50%,如果同樣的質量,X264用一兆帶寬,我們只需要500,這是基本圖像的優化。

 

針對屏幕共享的壓縮優化,業界有很多非常好的方案,比如說 H265+SCCAV1H264+SCC,這些都是一些非常好的想法。

 

網易雲信在思考這個問題時,我們認爲對於 RTC 場景來說,264是使用最廣泛的協議,作爲一種輕量級的協議,開銷非常小。264這種協議對成本來說是最小的。

 

另一方面,即使我們不改變協議不增加工具,僅僅對編碼器進行優化,屏幕共享這種內容本身對於編碼端有很多可以挖掘的空間,我們基於264的協議,通過深挖屏幕共享的改進,來提升效果。下面是我們的成果一些成果,加與不加屏幕共享編碼算法,在屏幕共享場景下,我們的壓縮率提升了36.72%,同時我們速度只慢了3%-4%。可以看到我們的壓縮率比 openh264提升了41%,速度基本不變。

 

再來看一下自研的 NE265,目前也在持續不斷的迭代中。NE265的特點是高效架構可實現的設計。對於計算複雜性的一些算法都進行了非常精細的3D 優化。瞭解編碼器的都知道 veryslow 那一檔,我們速度比它快64倍,這還不是最快的檔位,最快的要比它快200倍以上。

 

264和265也進行了比較,我們和 faster 這個檔位進行了比較,265主要的缺點是速度慢。可以看到和X264 faster 這個檔位比快了近30%,同時壓縮率平均提升34.78%。這些測試序列用了官方標準測試序列以及雲信 RTC 業務相關的測試序列和社交娛樂的測試序列。

 

基於對 RTC 和音視頻通信的深刻理解,我們發明了 NEVC多尺度的視頻壓縮技術。相比 NE265,速度基本不變,但是壓縮率提升了,右邊的紋理提升得比較清楚,左邊的紋理基本上模糊掉了。我們講完了視頻編碼之後,碼就應該被壓縮了,應該送到網絡去了。網絡對 RTC 來說是最複雜的,尤其是在全球化的業務中,有各種不同的網絡存在。如何保證在多網絡、複雜的網絡環境下面,視頻質量還能最佳,我們有一個視頻 QoE 的模塊來支撐。視頻 QoE 模塊將從視頻的流暢度清晰度質量平穩度時延性能功耗五個方面來進行保證。

 

視頻QoE

 

  • 視頻質量控制模塊

     

視頻質量控制從視頻的流暢度清晰度質量平穩度三個維度來解讀。經過採集、前處理、編碼發送,最後傳給了網絡,這裏的網絡可能有各種不同的網絡存在,比如有些帶寬很低的網絡,有些有持續丟包的網絡,或一些比較抖動的網絡。

 

每種不同的網絡不可能用一種分辨率一種幀率一種碼率來傳輸,這可能產生不同的很差的效果。我們這裏視頻質量控制模塊 VQC,它會首先接收從網絡 QoS 評估出來的一個網絡帶寬網絡有效帶寬,根據這個帶寬分配合適的視頻分辨率視頻幀率設置編碼器,達到最合適的視頻質量同時圖像在各種不同的網絡中,有的是噪聲比較大的網絡,有的是暗場景的網絡,對於 VQC 的模塊會進行採集信息,會決定打開或者關閉哪些視頻算法開關,或者調整視頻參數增強或降噪還有編碼的一些算法。

 

  • 設備控制模塊

     

雲信的業務遍佈全球,有各種不同的網絡存在,比如亞非拉地區、印度以及東南亞的極端不好的網絡,當然也包括歐美的國內的網絡是比較好的。另外一點是終端平臺的種類衆多,有高端手機,有低端手機有 PC 和平板,雲信的設備控制模塊根據不同的網絡特點根據不同區域來設置視頻的算法,同時根據設備的平臺種類來設置我們的算法


比如對一些差的設備低分辨率,低幀率;對比較好的設備會用高幀率,用先進的算法

在實際過程中由於網絡不是一成不變的,還有設備的狀態、GPU 的佔用率等影響因素,設備控制模塊通過實時監測的數據來實時對算法進行調整,達到最優。

 

 視頻解碼 

 

QoE 講完之後,碼流傳到了接收端進行視頻解碼。雲信視頻解碼的特點是非常高效且幾乎支持所有的視頻格式,互聯互通是沒有問題的。

 

 視頻後處理 

 

視頻後處理通過視頻屏幕內容優化頻超分優化,恢復和改善視頻畫質。雲信的視頻超分,網絡參數量是2K-4K,網絡層數小於8,我們有自研的 AI 推理引擎,進行獨有的優化,速度非常快,同時我們會加速,對於超分的效果有針對的數據集處理,利用蘋果或者變焦的手機,對不同焦段的數據進行採集,進行真實的數據訓練,同時也會用一些數據的預處理增強來確定效果,主要優勢還是高效和快速


下圖的表中,前三個是傳統的處理耗時,這是我們自研的超分,這是一個比較著名的輕量級的網絡,從處理耗時來看,雲信 AI 的耗時比以 AI 著名的輕量級網絡快了30多倍;從效果來看,雲信 AI 超分的視頻質量遠遠超過了非 AI 的效果,和經典的效果相差極其微小,基本上看不出差別。

 

 

其次是桌面共享優化,對於桌面屏幕共享不止有264的編碼做了後處理,針對文字場景的優化,對於深度學習來說,屏幕共享最大的難點是它的分辨率一般是很大的雲信有高精度的文字識別功能,對解讀出的文字進行增強,同時我們自研的推理框架 NENN 也會保持這種速度,這就是文字增強效果

 

 

直播點播業務視頻技術

 

 直播點播的架構 

 

前面介紹了編譯服務器,基本上是 RTC 低延時的線路,如果直播就走直播點播的短推服務器,可以通過 CTO 下達。

 

直播點播的鏈路是從客戶端經過推流到邊緣媒體服務器再轉推到直播轉碼再轉到 CDN


這個鏈路有兩個問題,一個是設備上傳時,它的畫質存在損失,是壓縮過的,有可能攝像頭採集本身就有問題,也會帶來損失。第二個是轉碼之後,經過 CDN 分發時,轉碼非常高

 

爲了解決以上兩個問題,雲信提出了智碼超清技術。首先利用深度學習視頻修復技術對轉碼前的視頻進行修復或增強,再基於人眼感知的編碼技術在視頻主觀質量不下降情況下節省碼率

 

圖像首先經過視頻修復模塊,對視頻進行了修復或增強或美化,再進行感知編碼,感知編碼會分析視頻內容,前置一個視頻分析模塊。

 

 智碼超清技術架構 

 

視頻修復技術

 

視頻修復在業界是一種比較難的技術,由於退化模型多種多樣,視頻退化有非常多的原因,比如由於攝像頭噪聲的影響,壓縮上的損失,攝像頭本身不好造成的過曝欠曝,也有可能是對焦沒對好等。

 

雲信用了一種畫質評估算法,通過深入學習算法,得出這個視頻的退化模型是什麼。針對不同的退化模型用不同的恢復方法。如果是噪聲,我們會用視頻降噪的方法;如果是模糊,會用去模糊的方法;如果紋理不好,會用紋理增強的方法,還有畫面矯正等。通過評估再進行修復,能夠美化或者提升視頻的主觀效果。

 

視頻感知編碼技術

 

修復之後,就會進行編碼。雲信的感知編碼採用了 JND 這種技術,用人眼最小可察覺的誤差來度量人眼對圖像中不同區域失真的敏感性

 

JND 是一種提出比較多的技術。從下圖可以看出,客觀的失真是連續的曲線,人眼是一個階梯狀,有冗餘的地方可以優化,節省碼率,同時主觀下降。

 

JND 是一種比較傳統的方法,但傳統 JND 編碼是一種以圖像低層特徵爲主的方法,比如紋理、邊緣、亮度、顏色

 

雲信 JND 和其他不同的是加入了視頻內容分析。比如上圖中,我們會進行視頻分析,分析出這個圖像的前景、人臉、文字等信息,針對不同的信息再單獨構造出 JND,來達到節省碼流的目的,經過這樣的流程會輸出前景、文字、人臉,每種特性都有 JND 的共識,得出 JND 的係數進行編碼。

 

下圖是智碼超清的測試結果,藍色代表的是雲信,其他顏色是業界友商的。左邊是人眼主觀的得分,因此越高越好,而壓縮後文件大小顯然是越低越好

 

 

網易雲信娛樂社交行業線視頻技術

 

這是網易雲信的重點投入和產出。

 

 美顏技術 

 

雲信的美顏技術,提供了磨皮、美白、大眼等26種功能,50款以上的濾鏡,年齡、性別、視線識別跟蹤,支持2D、3D 貼紙,這些業界都有,但我們的特點是能夠在美顏質量下高效的處理速度,這是我們核心的競爭優勢。

 

對720P 的視頻進行美顏、磨皮、美白、瘦臉等的開銷,在驍龍處理器上面,雲信的基礎美顏可以達到30,對於我們的海外市場,尤其是在印度、東南亞這樣的市場,在入門級機型遍佈的情況下,這是非常有競爭力的,整個視頻體驗是完全不一樣的。

 

 背景分割技術 

 

雲信背景分割技術,採用了大量的數據集。我們精度比較高,iou 達到0.93,魯棒性比較好,推理速度比較快,小於10毫秒。下圖是我們的精度和業界的友商對比,精度越高越好

 

落地實踐

 

技術講完了,可以具體看看網易雲信的落地實踐。網易雲信的視頻引擎,已經服務了全球10000+以上的用戶。

 

既接入了 SDK 也接入了視頻引擎的用戶,比如LOOK直播,網易雲音樂在線 KTV,網易會議,還有網易內部的 POPO 等,其中還包括一些第三方基於會議組件的廠商。

 

網易新聞的直播點播應用,有云音樂大型演唱會都是使用了網易雲信的直播點播功能,比如去年非常著名的破紀錄人數的演唱會,也是用了雲信的視頻引擎,後續我們也會持續的在技術領域深耕下去,爲大家帶來更多更好的產品。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章