世界盃直播|抖音影片編碼器最佳化

陶然陶然發表於2023-02-27

  世界盃的編碼技術挑戰

  對於世界盃這樣的大型體育賽事而言,影片編碼演算法既要在高速運動、複雜紋理的場景下確保直播內容的清晰度和流暢度,保障使用者的觀賽體驗,又要兼顧位元速率、延遲等對網路傳輸層面尤為敏感的指標。

  另外,抖音實現了業界首次的世界盃比賽支援 4K HDR 10-bit 直播,其內容資訊量相較於以往有極大提升,對編碼器的實時性提出了更高要求。

  火山引擎如何完成這個挑戰

  BVC 編碼器長期迭代最佳化

  火山引擎自研的 BVC 編碼器經過多年的技術攻關和最佳化技術積累,以及在不同影片服務業務方向上的長期迭代最佳化,目前其編碼效能和編碼器架構的計算效率都處於業界領先水平,在國際權威編碼器大賽 MSU 比賽中多次奪冠。

  世界盃專案針對性最佳化

  概述

  在 BVC 編碼器的基礎上,火山引擎多媒體實驗室針對世界盃比賽場景進行了一系列針對性最佳化。

  首先透過科學構建世界盃比賽影片的測試集,分析足球比賽影片特性,進一步挖掘了當前場景下的先驗資訊,有效提升了編碼效率,在保證畫質的情況下進一步降低了位元速率,同時最佳化了位元速率平穩性以及碼控精度。

  同時,團隊最佳化了多核下的並行機制,極大幅度提升了 CPU 利用率;同時分析並最佳化了4K HDR 10-bit 影片編碼中的複雜度瓶頸,進一步加快了 HDR 影片的編碼速度。最終使得 BVC 編碼器在保證畫質和降低位元速率的同時,能進一步提升編碼速度,達到並超出了4K HDR 10-bit 50fps 影片實時編碼的要求。

  另外線上上部署時,團隊透過主觀質量評測專門對足球賽事影片最佳化了各種不同質量配置下的最優位元速率,比如超高畫質 4K,超高畫質 HDR,藍光 HD 等質量配置,保證不同使用者的觀看質量。

  最佳化成果

  本次 BVC 編碼器共最佳化了 3 個不同檔位,分別用於4K HDR/SDR 編碼,1080p編碼,以及 720p/480p 編碼。

  (1)針對世界盃場景, BVC 編碼器最佳化前後各項指標對比如下圖

  可見最佳化後,BVC 編碼器既有相同影片質量下頻寬收益(BD-Rate),尤其是在相同 VMAF 質量指標時位元速率節省收益顯著,同時編碼速度和 CPU 利用率也提升較大(尤其是 4K 檔位),碼控精準度也有顯著提升。  

  (2)針對世界盃場景的4K 10 - bit 影片 , BVC 編碼器與開源 x265 編碼器效能對比如下圖:

  可見在相同 PSNR 下,BVC 編碼器的頻寬節省高於 x265 的 veryslow 最慢檔,且在相同測試條件下,編碼速度也高於 x265 的 ultrafast 最快檔。  

  

  備註:上述圖示中,speed(相對於 x265 ultrafast 編碼速度)越大越好,bandwidth(相對於 x265 ultrafast 頻寬)越小越好。

  最佳化手段

  團隊透過精準構建世界盃足球比賽測試集,有效約束了團隊的最佳化場景,既能為團隊提供更多的足球比賽影片的先驗資訊,同時也不會導致過擬合的情況。在此基礎上,團隊做了大量編碼器核心最佳化,包括編碼工具調優,新增數十項主/客觀編碼演算法,多執行緒排程以及 SIMD 等工程最佳化加速,位元速率控制最佳化等;在最佳化過程中,團隊使用了多個質量評價指標對最佳化技術效能進行評估,最終實現了在保證畫質不變的條件下既有位元速率節省又有速度提升的最佳化效果。

  (1)構建精準的足球比賽測試序列

  團隊分析了足球比賽影片中每個片段的時域複雜度和空域複雜度,同時根據每個片段的場景內容,篩選出了數十個作為足球比賽測試集。

  在此基礎上,團隊加入了部分通用測試影片防止過擬合,構建了最終的測試集,如下圖。  

  (2)最佳化編碼器核心

  團隊首先測試了已有的數十個編碼工具在當前場景的價效比,找出價效比高的(複雜度最低,位元速率節省最高)工具在當前場景下開啟,並關閉價效比低的工具。

  在此基礎上,團隊針對編碼器內部的多個不同模組,其中包括預分析和編碼過程中運動搜尋,模式決策,環路濾波等,開發了數十項新演算法,進一步提高了編碼效率和降低模組的計算複雜度,加快編碼速度。

  針對世界盃場景中影片時域複雜度高特點,團隊透過最佳化了位元速率控制演算法,保證了場景切換時的位元速率平穩性,同時提高了整體位元速率的精準性。團隊也最佳化了支援 ROI 區域的碼控演算法,在相同位元速率下使得主觀感受更優,有效提高了足球比賽中人眼敏感的球員區域以及草坪區域的主觀質量。

  團隊也進行了大量並行最佳化,透過多執行緒任務排程以及 SIMD 最佳化,提升了多核下的 CPU 利用率,極大加快了編碼速度。  

  最佳化示例

  ( 1 )解決480p檔位拖影問題

  最佳化前(左) vs 最佳化後(右):  

  ( 2 )提升720p/480p草坪清晰度

  最佳化前(左) vs 最佳化後(右):  

來自 “ 位元組跳動技術團隊 ”, 原文作者:多媒體實驗室;原文連結:http://server.it168.com/a2023/0227/6791/000006791327.shtml,如有侵權,請聯絡管理員刪除。

相關文章