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

線上會議、在線教育、電商直播等多個場景的興起,也使得實時互動技術從幕後走到臺前,獲得了更多人的關注。編解碼、網絡傳輸、計算機視覺等 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 VP十、Mozilla Daala 以及 Cisco Thor 三款開源編碼項目中的研發成果。截止 2018 年 6 月 AV1 封稿,AV1 相比其前身 VP9,共推出了 100 多個嶄新的編碼工具,表明了業界最新的編碼技術。性能優化

本文咱們將會探討將來 AV1 在實時場景中可能會出現的技術趨勢。同時,因爲 AV1 在實時場景中的數據有限,爲了能更直觀地說明將產生的變化,咱們會基於 Aurora  AV1 在實時場景中的性能數據,以及與已有編碼器,包括 H26四、VP9 等開源編碼器的對比統計來進行分享。經過 Aurora 的實例、數據,主要是爲了說明 AV1 標準在實時場景中已徹底進入實用階段。咱們在此也期待與業界同行圍繞這些研究數據,與咱們多多交流與討論。markdown

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

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

\機器學習

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

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 編解碼。oop

微幀團隊在 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 相對已有編碼標準方案,包括 VP九、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 平臺中已有的 VP八、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-VP九、x26四、以及 libaom-RT,針對 RTC 移動端應用場景,在編碼效率及編碼速度上作一比對:編碼平臺爲 Snapdragon 845 手機,單線程 CBR 設置,選取 40 個 180p 典型實時場景視頻,目標碼率範圍設定在 50kps ~ 200kbps。

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

圖片

圖中顯示,Aurora 在編碼效率上,遠優於 VP九、以及 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 上直接下載(連接:arxiv.org/abs/2101.06…

AV1 主觀編碼性能

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

圖片

圖片

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

相關文章
相關標籤/搜索