日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

在 10 月 21 日 QCon上,融云視頻算法專家黃博士分享了《AI 算法在視頻可分級編碼(SVC)中的應用》,從 ① 三種常用的可分級視頻編碼的特點;②WebRTC 采用的編碼器及其應用方式;③可分級編碼在 WebRTC 中的應用現狀;④基于可分級編碼的目標檢測和碼率分配方式;⑤AI 和可分級編碼結合的應用前景和研究方向五部分深度拆解了 AI 與 SVC 相結合的應用實踐。

一、三種常用可分級視頻編碼的特點

視頻圖像經過數字化之后數據量非常大,現有的網絡和存儲設備無法直接存儲原始的視頻圖像,必須對視頻和圖像進行壓縮,現有的主流壓縮視頻算法為 H.264,VP8,VP9,HEVC,VVC 等。一方面,從 H.264 到 VVC,編碼復雜度越來越高,壓縮效率也越來越高;另一方面,傳輸的網絡帶寬大小不一,且隨時變化,單一的碼流無法適應多種不同接收端的網絡和設備環境。比如 4G 網絡和 5G 網絡傳輸帶寬不一樣,若在 4G 和 5G 網絡中傳輸同一套碼流,有可能會導致 5G 網絡帶寬沒有充分利用,最終影響視頻的觀看效果。

現在視頻應用的環境存在多個不同的接收端,解決這個問題可以采用以下兩種技術:聯播(Simulcast)和可分級視頻編碼(SVC)。

如圖 1 所示,聯播 Simulcast 即同時傳輸多路碼流,不同的碼流具有不同的碼率,用以傳輸在不同帶寬下的碼流。當終端設備處于高帶寬的網絡環境中,可以傳輸高碼率的視頻,以便獲得更好的視頻觀看體驗;當終端設備處于低帶寬的網絡環境中,可以傳輸低碼率的視頻,以便減少視頻播放卡頓的現象。但是 Simulcast 支持的碼率種類是有限的,難以適應復雜的網絡環境。針對這個問題,研究人員提出了可分級視頻編碼 SVC,視頻數據只壓縮一次,卻能以多個幀率、空間分辨率或視頻質量進行解碼。比如采用三層空域可分級和兩層時域可分級,可以組合的模式達到六種,和 Simulcast 方式相比,系統的適應性得到很大提升。

(圖1  聯播&可分級)

常用的可分級編碼有三種,分別是:空域可分級(Spatial Scalability)、質量可分級(Quality Scalability)和時域可分級(Temporal Scalability)。

(圖2  可分級編碼常用的三種方式)

空域可分級編碼(圖 3 ),即對視頻中的每幀圖像產生多個不同空間分辨率的圖像,解碼基本層碼流得到的低分辨率圖像,如果加入增強層碼流到解碼器,得到的是高分辨率圖像。

(圖3  空域可分級)

質量可分級(圖 4 ),一個可行的做法是,基本層碼流編碼這一路對原始圖像 DCT 變換后進行一次粗糙量化,熵編碼后形成基本層碼流。粗糙量化后的數據經反量化后形成基本層系數,與原始圖像 DCT 變換系數相減形成差值信號,再對此差值信號再進行一次細量化和熵編碼生成增強層碼流。

(圖4  質量可分級)

時域可分級(圖 5),即把視頻序列不重疊地分割成多層,對基本層的幀進行普通的視頻編碼,提供具有基本時間分辨率的基本層碼流;對增強層則是利用基本層數據對增強層的幀間預測編碼,生成增強層數據。

(圖5  時域可分級)

二、WebRTC 采用的編碼器及其應用方式

WebRTC 支持的編碼器包括 VP8,VP9 和 H.264。在用戶感受層面, VP8 和 H.264 兩種編碼器的效果基本上是類似的。VP9 作為 VP8 的下一代編碼器,在高清視頻壓縮方面,比 VP8 和 H.264 效果要好。

如圖 6,綜合編碼器性能和瀏覽器編碼器的支持情況,可以得出如下結論:VP8 和 H.264編碼效果基本一致,一般情況下兩者皆可;VP9 主要用在 Google 公司自己的各種視頻產品中,其中需要特別指出的是,VP9 支持多種 SVC ;HEVC 目前只能在蘋果系統中使用,無法推廣,不建議使用;AV1 同樣太新了,僅僅在 Google 公司的產品中才能很好地支持,暫時不推薦。

(圖6  編碼器在瀏覽器中的支持情況)

三、可分級編碼在 WebRTC 中的應用現狀

在介紹可分級編碼在 WebRTC 中的應用情況之前,先簡要介紹下 WebRTC 的通信和組網流程。

如圖 7,客戶端 A 和客戶端 B 通信,可以采用直連的模式,也可以采用服務器的模式,在大規模的網絡中,都會采用基于服務器的模式進行轉發、信號處理等。

(圖7  WebRTC 簡單的流程)

針對多種應用場景具有多個接收端的特點,WebRTC 提供了三種解決方案:Mesh,MCU,SFU。

Mesh  方案(圖 8),即多個終端之間兩兩進行連接,形成一個網狀結構。比如 A、B、C 三個終端進行多對多通信,當 A 想要共享媒體(如音頻、視頻)時,它需要分別向 B 和 C 發送數據。同樣的道理,B 想要共享媒體,就需要分別向 A、C 發送數據,依此類推。這種方案對各終端的帶寬要求比較高。

(圖8  Mesh 方案)

MCU(Multipoint Conferencing Unit)方案(圖 9),該方案由一個服務器和多個終端組成一個星形結構。各終端將自己要共享的音視頻流發送給服務器,服務器端會將在同一個房間中的所有終端的音視頻流進行混合,最終生成一個混合后的音視頻流再發給各個終端,這樣各終端就可以看到/聽到其他終端的音視頻了。實際上服務器端就是一個音視頻混合器,這種方案服務器的壓力會非常大。

(圖9 MCU 方案)

SFU(Selective Forwarding Unit)方案(圖 10),該方案也是由一個服務器和多個終端組成,但與 MCU 不同的是,SFU 不對音視頻進行混流,收到某個終端共享的音視頻流后,就直接將該音視頻流轉發給房間內的其他終端。

(圖10  SFU 方案)

三種網絡不同的帶寬如圖 11 所示。可以看出,SFU 的帶寬最大達到了 25mbps,MCU 最小 10mbps。

(圖11  三種不同網絡的帶寬)

在特點方面,Mesh 方案的靈活性比較差;MCU 方案需要對碼流進行類似轉碼、合流、分流等操作;SFU 方案服務器的壓力小,靈活性更好,受到廣泛歡迎。

如圖 12 為 Simulcast 模式和 SVC 模式轉發方式示意圖。從上下兩個圖可以看出,采用基于 SVC 的碼流分配方式,對于 PC 端而言,具有更大的可修改性。無論采用哪種組網方式,采用 SVC 的方式,都會比采用 Simulcast 的方式具有更好的健壯性。

(圖12  Simulcast 和 SVC 模式轉發方式)

支持情況如圖 13 所示。從圖中可以看出,H.264 僅支持 Simulcast,VP8 支持時域可分級,VP9 則全方位支持 SVC 編碼。VP9 是 Google 公司在主推的編解碼器,但是在 H.264 編解碼器優化方面的推進力度不大,一定程度上限制了 WebRTC 的應用,比如蘋果公司最新出品的 iPhone13 手機自帶 H.264 的硬件加速功能,如果采用 AV1 編碼器,雖然可以獲得 SVC 的優點,但是無法進行硬件解碼。在 WebRTC 中,Simulcast 是默認通過多線程技術,同時啟動多個 OpenH264 編碼器, SVC 則是可以調用 OpenH264 進行時域和空域可分級編碼。

(圖13  可分級編碼在 WebRTC 的支持情況)

四、基于可分級編碼的目標檢測和碼率分配方案

對于 N 路的 SFU 而言,SFU 必須考慮剩余 N-1 個終端碼率總和。對于大多數視頻會議而言,在給定的時域和空域層條件下的碼率和總碼率比例基本恒定。如圖 14 所示。

(圖14  不同層碼流分布圖)

根據圖 14 的現象,將視頻運動作為一個主要是衡量指標,對碼流進行分配。相關論文具體的方案框架如圖 15 所示。

(圖15  SVC 編碼器碼率分配)

該方案存在兩個改進空間:第一個是運動量度的方法采用的當前幀和前一幀的差,難以準確地反映出視頻運動變化的情況。第二個是增加除了運動特征以外的其他特征,以便更好地反映圖像視頻的變化。擬采用的解決方案如圖 16 所示。

(圖16  擬采用的解決方案)

在 WebRTC 中,H.264 的編碼器采用思科公司開源的 OpenH264 編碼器,OpenH264 可分級編碼配置文件展示如下。這個配置文件設置了時域分級層兩層。

SVC 碼流的特點是一套碼流具有多層結構,在實際使用中,需要對碼流進行提取操作。對于時域可分級而言,通過分析每個 NAL 中的 Temporal ID 對碼流進行提取;對于空域可分級而言,通過分析每個 NAL 中的 Spatial ID 對碼流進行提取;對于質量可分級而言,通過分析每個 NAL 中的 Quality ID 對碼流進行提取。

從圖 17 中可以看出,OpenH264 的基本層的碼流可以直接采用 AVC 解碼器解碼,基本層的 SVC_extension_flag 等于1。

(圖17  可分級編碼基本層解碼圖)

SVC 增強層碼流的 NAL 包含 SVC 的語法,需要對 SVC 的碼流進行轉碼,可分級編碼的參考軟件 JSVM 中有專門的轉碼模塊,圖 18 為轉碼過程,可以發現多個 NAL 單元被重寫成 AVC 的格式。

(圖18  可分級編碼增強層 NAL 層轉碼)

圖 19 為用 JSVM 轉換之后的碼流解碼效果,可以用標準的 AVC 解碼器解碼。

(圖19  NAL 層轉碼后的解碼圖)

五、AI 和可分級編碼結合的應用前景和研究方向

可分級編碼中最頻繁使用的方法是空域可分級技術,但是不同分辨率在轉換時,質量下降比較明顯。ICME2020 會議上,有學者提出了用于視頻編碼的超分辨模型,該模型通過提取不同時刻的圖像進行特征融合來重建出高分辨率圖像。實驗結果表明,超分效果有提升。

(圖20  視頻超分辨率結構圖)

將該模型用于可分級編碼器中,可以有效地改善不同分辨率碼流切換的時候,給人帶來的不適感。

MPEG5 提出了 Low Complexity Enhancement Video Coding(LCEVC),該編碼方式和 H.264 相比,在相同的 PSNR 下,壓縮效率更高。編碼器如圖 21 所示。其中基本的編碼器 Base Encoder 可以選用任意一種現成的編碼器,比如 H.264,VP8,VP9 等。

WebRTC 和 LCEVC 相互結合,是未來的一個發展方向。作為一個新的視頻編碼標準,其具有幾個特征:提升了基本層編碼的壓縮能力,具有低編碼和解碼復雜度,提供了一個額外的特征增強平臺等。

從圖 21 可以看出,編碼復雜度主要在取決于 Base Encoder,在 WebRTC 中廣泛使用的 H.264  如果采用 LCEVC 的方式進行增強,在復雜度增加的情況下,編碼效果會有明顯地提升。一般而言采用 H.264 編碼的 1080P 高幀率的實時體育視頻流需要 8Mbps 的最高碼率,而采用 LCEVC 僅僅需要 4.8Mbps。

(圖21  LCEVC 編碼器)

鑒于 LCEVC 編碼的效果,可以判斷,LCEVC 和 WebRTC 結合,將是一個重要的研究和應用方向。

分享到:
標簽:分級 算法 編碼 視頻 融云 AI
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定