2021 技術展望丨AV1 在 RTC 應用實踐中的現狀與展望

聲網Agora發表於2021-11-24

線上會議、線上教育、電商直播等多個場景的興起,也使得實時互動技術從幕後走到臺前,得到了更多人的關注。編解碼、網路傳輸、計算機視覺等 RTE 相關的一系列技術也正煥發出更強的生命力。2021 年,在深度學習、5G 等技術的加持下,RTE 會進一步催生哪些可能?

聲網Agora 開發者社群聯合 InfoQ 共同策劃,邀請了聲網Agora 開發者社群中的多位技術專家,從視訊傳輸、計算機視覺、編解碼標準發展、WebRTC、機器學習、音訊技術等角度,共同撰寫「2021 實時互動技術展望系列」,一窺技術新趨勢。本文作者微幀科技首席科學家兼聯合創始人 Zoe Liu。本系列內容由聲網 Agora 開發者社群 與 InfoQ 聯合策劃,並由 InfoQ 審校,首發於 InfoQ

2018 年 6 月,AOM 聯盟(Alliance for Open Media,開放媒體聯盟)釋出了新一代視訊編碼標準——AV1(Alliance for Open Media Video 1)。至今 AOM 聯盟共有 47 家企業會員,其中包括 14 名理事會成員(Board Members)和 33 名 Promoter 會員。

AV1 的零號版本,起始由同樣開源、免版稅的 VP9 編解碼程式碼庫 libvpx 衍生而來,同時吸納了 Google VP10、Mozilla Daala 以及 Cisco Thor 三款開源編碼專案中的研發成果。截止 2018 年 6 月 AV1 封稿,AV1 相比其前身 VP9,共推出了 100 多個嶄新的編碼工具,代表了業界最新的編碼技術。

本文我們將會探討未來 AV1 在實時場景中可能會出現的技術趨勢。同時,由於 AV1 在實時場景中的資料有限,為了能更直觀地說明將產生的變化,我們會基於 Aurora AV1 在實時場景中的效能資料,以及與已有編碼器,包括 H264、VP9 等開源編碼器的對比統計來進行分享。通過 Aurora 的例項、資料,主要是為了說明 AV1 標準在實時場景中已完全進入實用階段。我們在此也期待與業界同行圍繞這些研究資料,與我們多多交流與討論。

AV1 在 RTC 場景中的應用實踐和生態發展

RTC 技術升級與應用擴充,近年來風起雲湧,尤其 2020 年疫情之下,RTC 領域呈爆發性增長,涵蓋視訊會議、線上教育、遠端終端、遊戲互動、電商互動直播、遠端醫療、線上金融等各個領域,其典型視訊內容主要為兩類:螢幕內容以及攝像頭 Talking Head 內容。對於 RTC 超低延時互動場景,視訊編碼器的打磨與應用,除編碼效率、視訊畫質這些對編碼器效能的基本考量外,在編碼時延、編碼速度、編碼複雜度、自適應碼控、以及與網路層適配容錯等效能上,均有嚴格的要求。AV1 豐富的編碼工具,比如其獨特的螢幕內容編碼工具,使得 AV1 對於 RTC 實時互動場景使用者體驗的提升,提供了很大的可能。

WebRTC是目前業界最具影響力的實時互動開源專案,提供 Web 端與移動端 RTC 應用程式的音視訊 APIs。今年 2021 年 1 月,W3C 標準組織正式將 WebRTC 1.0 確定為標準推薦。WebRTC 開原始碼庫中,主要包括 libvpx 中的 VP8、VP9 以及 H264 Openh264 三款開源視訊編碼器。AV1 從 VP9 衍生而來,與 WebRTC 具備天然耦合協同性,包括對時域可伸縮性(Temporal Scalability)的支援等特性。與此同時,AV1 是第一款將螢幕內容編碼(Screen Content Coding, SCC)工具,引入其主體的視訊編碼標準,即:任一 AV1 標準解碼器,均需支援 SCC。這對 AV1 在實時場景中處理計算機生成內容,相比其他標準,佔有巨大優勢。

AV1 的有效軟解,對於 RTC 場景,無論在 PC 平臺、還是移動平臺,都是必不可少的必備方案。AV1 軟體開源解碼器,目前包括 AOM/Google 維護的 libaom,AOM/Intel 維護的 SVT-AV1,Google 推出的尤其面向 Android 裝置的 libgav1,以及由 VideoLAN、FFmpeg 開源社群維護、AOM 資助的 dav1d。我們的使用者評測下來,dav1d 綜合表現最佳,今年 2021 年 1 月 dav1d 0.8 推出,又在 AMD、arm architecture 上做了進一步的優化。

AOM/AV1 的開源編解碼器 libaom 的實時檔,又稱為 libaom-RT 檔,已被 WebRTC 吸納進來,並從 Chrome 89 版本起正式採用。2020 年 Google 實時通話產品 DUO、視訊會議產品 Meet 均以 libaom-RT AV1 為基準,率先推出 AV1 在 RTC 場景中的應用。之後 Cisco WebEx 也宣佈,在其視訊會議場景、尤其是螢幕共享場景中開始在 PC 端採用 AV1 編解碼。

微幀團隊在 2019 年推出了全自研 Aurora AV1 編碼器,併成為全球首家 RTC 場景 AV1 商務編碼器提供商。Aurora AV1 在實踐應用中不斷打磨升級,目前已實現 PC 端螢幕內容編碼、以及攝像頭 Talking Head 場景下的穩定執行。Aurora AV1 在移動端、以及其他 ARM 機型上的應用,也在日趨成熟,本文的效能資料都是基於 Aurora AV1 所得到的。

當然,無論是多麼先進的編碼標準,均需要一個完整的、可持續的生態體系來支撐。AOM 會員涵蓋了視訊從採集製作、傳輸分享到播放消費的完整生態系統,對於 RTC 領域,AOM 成員也囊括了多家 RTC 領域技術與應用的全球領銜企業,比如聲網(Agora)、思科(Cisco/WebEx)、Poly 等。與此同時,AV1 成員包括瀏覽器提供商:如谷歌(Chrome)、蘋果(Safari)、微軟(Edge)以及 Mozilla(Firefox);硬體製造商:如 Intel、AMD、nvidia、arm、SAMSUNG、Xilinx、Broadcom,以及中國的華為等;雲服務商:如北美的亞馬遜(AWS)、微軟(Azure)、谷歌(GCP)、IBM,以及中國的阿里(阿里雲)、騰訊(騰訊雲)、金山雲、華為(華為雲)等;同時包括思科等網路與系統提供商。AV1 具備著天然的生態優勢。

圖片

AV1 RTC,目前在瀏覽器(Safari 除外,不過蘋果是 AOM 董事會成員)支援、Android 移動端 OS 支援外,硬解支援日漸完善。Apple 是 AOM 董事會員,目前在 AV2 推進上也表現了積極的態度,預計 Apple 生態支援 AV1,為期不遠。另外,高通(Qualcomm)雖不是 AOM 會員,但對於 AV1 的支援,業界普遍認為,最遲在 2021 年底、2022 年初,高通會推出支援 AV1 的硬解晶片。

AV1 RTC 螢幕內容編碼

AV1 標準中,提供了 IntraBC、調色盤模式(Palette mode)等特別適用於螢幕內容編碼的特定工具。此外,CfL (Chroma-from-Luma)這款工具,雖然並非專為螢幕內容打造,但對於螢幕內容編碼是一個比較有效的工具。

圖片

注:圖中 x264 採用 ffmpeg 命令列 - ffmpeg -r 30 -s 1920×1080 -c:v libx264 -x264-params bframes=0 -tune zerolatency -preset superfast -threads 1

Aurora AV1 相對已有編碼標準方案,包括 VP9、H264 等,在不同解析度螢幕內容壓縮效率上,均展示了絕對優勢。如圖所示,比如利用普通 PC 單核資源編碼, Aurora 相比開源 x264 superfast 實時檔,對於 1080p30 的螢幕內容測試序列集,BD-rate (PSNR)增益為 81.25%,即:對於評測集,Aurora AV1 只需要 x264 的(1-81.25%)=18.75%、也就是不到 1/5 的位元速率,即可獲取相近的 PSNR 客觀質量。

圖片

上圖顯示了 Aurora AV1 與 x264 superfast 檔編碼速度的對比。單執行緒下對於 1080p 螢幕內容視訊,x264 速度高達 132+FPS(幀/秒),而 Aurora 為 46+FPS,是 x264 編碼速度的 1/3 左右。Aurora 的編碼速度雖遠不如 x264,進一步考慮螢幕內容在多數場景下,所要求幀率一般小於普通攝像頭內容的幀率,對於螢幕內容 RTC 場景,AV1 已完全達到實用需求。

AV1 RTC 時域可伸縮性編碼

時域可伸縮性(Temporal scalability)以及自適應丟幀,對於 RTC 場景尤其重要。由於網路頻寬、RTT 時延、Jitter 抖動、包丟失等網路條件的動態變化,編碼器需配合網路控制層,作出自適應調整。視訊編碼器的時域可伸縮性,相比空域可伸縮性,更為重要,因為時域可伸縮性,在編碼器對抗網路頻寬動態變動、容錯魯棒性、以及編碼效率和視訊主觀體驗上,綜合效能更優,並適於保持主觀質量平穩下的動態調整。

如圖下所示,Aurora AV1 編碼器中目前實現了兩種時域可伸縮性模式。兩種模式中,基本層外的其他視訊幀,可自適應丟棄,以適合動態網路頻寬需求。AV1 的時域可伸縮性,繼承了 WebRTC 平臺中已有的 VP8、VP9 的編碼器特徵,與 WebRTC 間具備天然契合度。

圖片

圖片

AV1 RTC 攝像頭拍攝內容編碼

螢幕內容外,對於視訊會議 Talking Head 場景,AV1 經由精細優化後,亦可凸顯其標準優勢。

如下面兩圖所示,在 480p、720p 視訊會議場景中,Aurora AV1 對比 x264 medium 檔,在 AMD Ryzen 9 3900X 12 核 (12C24T),2 執行緒編碼,Auora superfast 可獲取 BD-rate (PSNR)增益平均在 20%以上,與此同時編碼速度優勢在 30%以上。

圖片

注:x264 所用命令列為 --nal-hrd none --preset medium --profile main --threads 2 --tune zerolatency --no-psy --aq-mode 0 --no-scenecut

圖片

AV1 RTC 移動平臺編碼效能

AV1 標準工具的複雜度,使其在手機移動端的應用落地更加挑戰。

與此同時,本文前面也提到,WebRTC/Chrome 已開放基於 libaom-RT 檔的 AV1 RTC 支援,libaom-RT 開源編碼器的效能也在不斷提升中。

如下圖,我們將 Aurora 與 libvpx-VP9、x264、以及 libaom-RT,針對 RTC 移動端應用場景,在編碼效率及編碼速度上做一比對:編碼平臺為 Snapdragon 845 手機,單執行緒 CBR 設定,選取 40 個 180p 典型實時場景視訊,目標位元速率範圍設定在 50kps ~ 200kbps。

圖中每一條曲線,代表一款編碼器效能,曲線上每一座標點,則表示該編碼器的某一特定速度檔。縱軸表示 BD-rate (PSNR),所有編碼器 preset,均以 x264 medium 檔為基準(anchor),BD-rate 為負值表示相比 anchor,採用更低位元速率可獲取同樣視訊質量。因此,曲線座標點位置越靠下方,編碼器的壓縮效能優勢越大;橫軸標識編碼速度,曲線座標點越靠右方,對應編碼速度越快。

圖片

圖中顯示,Aurora 在編碼效率上,遠優於 VP9、以及 x264。Aurora 仍在持續優化中,目前 superfast、ultrafast 檔的設定,大概率會成為更低速度檔的配置,並將提供從 medium、fast、faster、veryfast、superfast 到 ultrafast 適用於 RTC 場景的多個速度檔。相比 WebRTC 中的 libaom-RT AV1,Aurora 在編碼速度及編碼效率綜合效能上,明顯超出。Aurora 提速同時,會盡力保持 AV1 充分的標準優勢。(注:Aurora 及 libaom-RT,均為 2021 年 3 月 5 日的版本)

無論開原始碼庫 libaom-RT,還是商務編碼器 Aurora,AV1 在手機移動平臺上的優化迭代,必將延續其歷史軌跡,在未來一段時間內,效能持續提升,滿足越來越多 RTC 場景的需求,在已有編碼標準方案基礎上,進一步大幅提升使用者體驗。

AV1 與 AI 的結合

RTC 場景中,AV1 與 AI 結合,對於編碼器各方面的效能優化,應該是有比較大的提升輔助作用的,包括前處理、內容分類、ROI 場景優化、以及智慧碼控設計與實現上,AV1 可利用 AI 技術,展示出進一步的潛力。微幀團隊與國內、海外多家大學合作,撰寫的題為“Advances In Video Compression System Using Deep Neural Network: A Review And Case Studies"已被 IEEE 頂級期刊《The Proceedings of the IEEE》接收,文中以 AV1 為基準,對於視訊編碼與 AI 在前處理、後處理上的結合,以及對將 AI 用於未來編碼標準,比如 AV2,有一定初步的探尋。這篇論文可以從 arXiv.org 上直接下載(連結:https://arxiv.org/abs/2101.06341

AV1 主觀編碼效能

如圖所示,利用 Aurora AV1 編碼,在同樣位元速率、即同等頻寬條件下,AV1 編碼畫質明顯優於 x264 的編碼結果。

圖片

圖片

綜合以上 AV1 的優質效能,以及其與 RTC 場景應用的天然契合度,我們預計 AV1 在 WebRTC、瀏覽器以及 Android 移動端等生態的推動下,隨著 RTC 應用的爆發性增長,未來 2~3 年內會迎來生態的迅猛發展。

本系列相關閱讀

2021 技術展望 | 走向未來的實時生成技術

2021 技術展望 | 弱網下的極限實時視訊通訊

2021 技術展望 | 5G 將會倒閉傳輸協議、演算法做出更多改進

圖片

相關文章