日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

CABR:Beamer的内容自适应速率控制算法

發布時間:2024/4/11 编程问答 55 豆豆
生活随笔 收集整理的這篇文章主要介紹了 CABR:Beamer的内容自适应速率控制算法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

CABR是一種閉環內容自適應速率控制機制,可在降低視頻編碼輸出碼率的同時,保留更高碼率編碼的視覺感知質量。

文 /?Tamar Shoham

譯 /?John

原文?https://blog.beamr.com/2019/09/11/cabr-content-adaptive-rate-control/


基于Beamer的幀級內容自適應速率控制進行視頻編碼

在視頻方面,質量和比特率之間的權衡十分微妙。內容制作人希望最大限度地提高觀眾的質量,而存儲和交付成本上的壓力迫使人們需要盡可能降低比特率。內容自適應編碼致力于通過使每個獨一無二的內容(無論是完整剪輯還是單個場景)達到“最佳”比特率來解決這一挑戰。我們的CABR技術在幀級別調整編碼上取得了顯著進展。CABR是一種閉環內容自適應速率控制機制,可在降低視頻編碼器編碼輸出文件的比特率的同時,保留更高比特率編碼的感知質量。作為一種低復雜度的解決方案,CABR還可以用于直播或實時編碼。?

視頻服務,萬眾矚目

根據Grand View Research的研究,從2019年到2025年,全球視頻流媒體市場預計將以19.6%的復合年增長率持續增長。這一轉變得益于Netflix、亞馬遜和Hulu等消費級流媒體服務的日益普及,同時也得益于社交媒體網絡和UGC視頻平臺(如Facebook和YouTube)以及其他應用程序(如在線教育和視頻監控)上視頻內容的不斷擴張,保持視頻工作流程的高效運轉成為大家關注的焦點問題。因此,就編碼和交付成本而言,升級視頻編碼以滿足觀眾不斷提高的對視頻質量的期待已成為擺在視頻服務提供商面前的首要命題。Beamer的CABR解決方案可以在不降低視頻質量的情況下降低碼率,同時保持較低的計算成本以提升視頻服務的營收效果。

對比內容自適應編碼解決方案

內容自適應編碼不是使用固定的編碼參數,而是根據視頻剪輯的內容動態配置視頻編碼器以實現比特率和質量之間的最佳平衡。過去業界已經使用了各種內容自適應編碼技術以降低交付成本并提供更好的用戶體驗。其中一些是完全手動的,其原理是針對每個內容類別手動調整編碼參數,有些是基于場景級別上(例如大量的藍光影片)調整。手動內容自適應技術在場景等方面都存在諸多限制。?

其他一些技術(例如YouTube和Netflix使用的技術)基于應用廣泛的編碼參數,對每個主題(Title)使用“蠻力”編碼,然后通過使用速率失真模型或機器學習技術嘗試為每個主題(Title)或場景單獨設定編碼參數。該方法需對每個主題(Title)以不同的分辨率和比特率執行多次完全編碼,因此需要大量的CPU資源。此類技術適用于大小受限制的各種內容庫,包括電視連續劇和電影等專業編碼內容。但此方法不適用于視頻的大規模存儲庫,例如UGC和實時編碼。

Beamer的CABR解決方案與上述技術的不同之處在于,其在閉環中工作并適應每幀的編碼:視頻編碼器首先使用基于其常規速率控制機制的配置對幀進行編碼,從而進行初始編碼;然后Beamer的CABR速率控制指令編碼器使用各種編碼參數值再次對同一幀進行編碼,從而創建候選編碼。使用獲得專利的感知質量度量,CABR將每個候選編碼與初始編碼進行比較,隨后選擇出最佳候選并將其放置在輸出流中,最佳候選是比特率最低但仍具有與初始編碼相同的視覺感知質量的編碼數據。?

利用Beamer的CABR速率控制

為了使Beamer的CABR技術能夠實現以最小的視頻碼率達到以往高碼率編碼才能達到的視覺感知質量,我們嘗試將每個視頻幀壓縮到最大程度以確保觀眾在觀看激烈運動畫面時能獲得滿意的視覺質量。圖1是包含CABR技術的編碼解決方案的流程架構示意圖。?

圖1 – CABR編碼解決方案的流程架構示意圖

集成的CABR編碼解決方案由視頻編碼器和CABR速率控制引擎組成。CABR引擎則包含負責管理優化過程的CABR控制模塊和評估視頻質量模塊。

如圖2所示,CABR編碼過程包括多個步驟。這些步驟中的一些會對每個編碼會話執行一次,一些則會對每個幀執行一次,另一些則是對每個候選幀編碼的迭代執行。當內容自適應編碼會話被啟動時,CABR引擎和編碼器將被初始化。在此階段,我們設置系統級參數如每幀的最大迭代次數,然后編碼器速率控制模塊通過應用其內部邏輯來對每個幀進行幀類型選擇工作。

圖2.包含內容自適應比特率編碼的視頻編碼器的流程架構示意圖。

編碼器為CABR引擎提供每個原始輸入幀,以便其在質量度量計算器中進行預分析。編碼器使用其自身的邏輯(用于位分配、運動估計、模式選擇、量化參數QP等)對幀執行初始編碼;在對幀進行編碼之后,編碼器向CABR引擎提供與之對應的重構幀初始編碼的幀以及一些輔助信息,例如以位為單位的幀大小和為每個MacroBlock或編碼樹單元(CTU)選擇的QP。?

在每次迭代中,CABR控制模塊首先確定是否應該重新編碼該幀。例如根據幀類型、幀的位消耗、先前幀或迭代的質量以及根據為幀設置的最大迭代次數來完成。在某些情況下,CABR控制模塊可能會決定完全不對幀進行重新編碼;在這種情況下,初始編碼幀將直接成為輸出幀,而編碼器將繼續下一幀的編碼工作;當CABR控制模塊決定重新編碼時,CABR引擎會為編碼器提供經過修改的編碼參數,例如建議的幀平均QP或與初始編碼的QP之間的差值。請注意,這里的QP或增量QP值是平均值,每個編碼塊的QP調制仍可以由編碼器執行。在更復雜的實施方式中,CABR引擎可以提供每個編碼塊值的QP圖以及附加的編碼器配置參數。

編碼器使用修改后的參數對幀進行重新編碼(請注意:此重新編碼不是完全編碼,而是利用初始編碼中的許多編碼決策;實際上編碼器可以僅對幀進行重新量化,從而重新使用所有先前的運動矢量和模式決策。);然后編碼器向CABR引擎提供重構的重新編碼幀,該幀成為候選幀之一;接下來質量度量模塊計算相對于初始編碼幀的候選重新編碼幀的質量,并將此質量分數以及編碼器報告的碼率消耗一起提供給CABR控制模塊,CABR控制模塊再次確定該幀是否應該重新編碼;在這種情況下,CABR控制模塊會為下一次迭代設置編碼參數并重復上述過程;如果控制模塊確定對最佳幀參數的搜索已完成,則它將指示出,應在輸出視頻流中使用該幀的所有先前編碼版本中的特定幀。請注意——編碼器速率控制模塊從當前幀的初始編碼接收其反饋,下一幀的初始編碼(確定比特流的目標質量)不會受到影響。?

CABR引擎可以以串行迭代方式或并行方式運行。在串行方法中,先前迭代的結果可用于選擇下一個迭代的QP值;在并行方法中,CABR引擎同時提供所有候選QP值并且并行進行編碼過程以減少等待時間。

將CABR引擎與軟件和硬件編碼器集成

Beamr已將CABR引擎集成到其AVC軟件編碼器Beamer 4和HEVC軟件編碼器Beamer 5中。實際上CABR引擎可以與任何軟件或硬件視頻編碼器集成,同時支持任何基于塊的視頻標準,例如MPEG-、AVC、HEVC、EVC、VVC、VP9和AV1。?

要將CABR引擎與視頻編碼器集成在一起,編碼器應支持多項條件:首先,編碼器應該能夠使用幾個不同的編碼參數(例如QP值)對輸入幀(已經編碼的幀)進行重新編碼,并保存每個編碼的不同階段狀態,包括初始編碼;保存狀態的原因是當CABR控制模塊選擇一個候選幀編碼(或初始編碼)作為輸出流中的一種時,編碼器的狀態應對應于候選幀編碼后的狀態;通常情況下,支持多線程操作的編碼器和硬件編碼器通常具有此功能,因為每個幀編碼都是由無狀態單元執行的。?

其次,編碼器應支持一個接口以提供重構幀和編碼幀的每塊QP和碼率消耗信息。為了提高計算性能,我們還建議編碼器支持部分重新編碼模式,在該模式下,編碼器可以將在初始編碼中發現的與運動估計、分區和模式決策有關的信息用于重新編碼而無需再次計算;這樣便使得對于每個候選編碼,僅需要重復量化和熵編碼階段;而與完全重新編碼相比,這樣也使得優化編碼結果的最小編碼效率下降,并且帶來顯著的速度提升。如上所述,我們建議編碼器將初始編碼數據(QP、壓縮大小等)用于其速率控制狀態更新;而將CABR引擎與支持并行編碼且不增加延遲的硬件編碼器集成時,我們建議使用并行搜索方法,允許每幀同時評估多個QP值。如果硬件編碼器可以執行并行部分編碼(例如僅進行重新量化和熵編碼)而所有并行編碼都使用初始編碼的分析階段(例如運動估計和模式決策),則可以實現更好的CPU性能。?

樣品編碼結果

下面,我們提供了兩個基于CABR引擎編碼的示例結果,當與Beamer 5集成時,Beamer的HEVC軟件編碼器將分別說明CABR的不同方面。

對于第一個示例,我們將多個4K 24FPS源剪輯片段按照目標碼率為10 Mbps進行編碼,每個剪輯的樣本幀如圖3所示。剪輯的內容復雜度各不相同:“人群奔跑”(上)具有很高的復雜性,因為其畫面中的眾多跑步者具有大量細節和非常重要的動作;“ 家庭聚會”(左下)則具有中等復雜度,同時還有一些視頻壓縮方面的挑戰,例如不同的照明條件和相當高的膠片顆粒感;最后,由于相對較低的運動和簡單的場景,Beamr制作的“人物采訪”(右下)剪輯片段具有較低的復雜性。?
圖3.測試剪輯中的樣本幀。上:人群運行 左下:家庭聚會 右下:人物采訪。

我們使用Beamr 5 HEVC編碼器的VBR模式(執行常規編碼)和CABR模式(可創建較低的碼率),將每個剪輯中的500幀編碼為10 Mbps的目標碼率。對于高復雜度的剪輯“人群奔跑”來說,基于如此嚴苛的碼率條件提供足夠出色的質量非常困難,CABR僅將碼率降低了3%;對于中等復雜性片段“ 家庭聚會”來說,CABR所能節省的碼率更多,達到了17%;對于最低復雜度的剪輯“人物采訪”,CABR將碼率降低了驚人的45%,同時仍獲得了與10 Mbps VBR編碼質量相當的出色質量??捎^的碼率降低百分比證明了CABR增強編碼器具有足夠的內容自適應特性,可以達到令人滿意的碼率節省效果,

第二個示例使用來自Blender開放電影項目的著名電影“Tears of Steel”中的500幀1080p 24 FPS剪輯電影片段,使用Beamer 5 HEVC軟件編碼器的VBR和CABR模式對同一片段進行編碼并以三個目標碼率輸出:1.5、3和5 Mbps。在這種情況下,對于最低碼率(可產生1.4 Mbps編碼)CABR模式可節省13%;對于中等碼率(可產生1.8 Mbps編碼)則可節省44%;對于最高碼率(可產生2 Mbps編碼)則可節省62%。


圖4.來自“鋼之淚”的1080p 24 FPS的樣本編碼為5 Mbps(頂部)和1.5 Mbps(底部),以VBR模式(左)和CABR模式(右)編碼

圖4和5顯示了來自編碼剪輯的樣本幀,左側為VBR編碼,右側為CABR編碼。頂部的兩個圖像是從源編碼到5 Mbps碼率的幀,而底部的兩個圖像是從1.5 Mbps編碼得到的幀。如圖所示,兩種目標碼率為5 Mbps的編碼幀均保留細節,例如下唇的紋理或右眼上方額頭上的兩根頭發的紋理,而在較低碼率的編碼幀中,這些細節有些模糊。這就是以不同目標碼率開始編碼時CABR不會收斂到相同碼率的原因。但是,我們還看到,初始編碼情況越好通??梢垣@得更多的碼率節省。此示例表明,CABR不僅適應內容的復雜性,還適應目標編碼的質量,并在提供可觀節省的同時保留滿足運動畫面的感知質量。

圖5.圖4中的臉部特寫視圖,顯示了以VBR模式(左)和CABR模式(右)進行編碼的5 Mbps(頂部)和1.5 Mbps(底部)的嘴唇和額頭細節。

LiveVideoStackCon 2019深圳講師招募

12月13-14日,LiveVideoStackCon首次來到深圳,將全球前沿多媒體技術實踐與深圳本地產業結合,觸發技術與商業靈感。歡迎將你的技術實踐、踩坑與填坑經歷、技術與商業創業的思考分享出來。請將個人資料和話題信息郵件到 speaker@livevideostack.com 或點擊【閱讀原文】了解成為LiveVideoStackCon講師的權益與義務,我們會在48小時內回復。


LiveVideoStack?秋季招聘

LiveVideoStack正在招募編輯/記者/運營,與全球頂尖多媒體技術專家和LiveVideoStack年輕的伙伴一起,推動多媒體技術生態發展。同時,也歡迎你利用業余時間、遠程參與內容生產。了解崗位信息請在BOSS直聘上搜索“LiveVideoStack”,或通過微信“Tony_Bao_”與主編包研交流。


超強干貨來襲 云風專訪:近40年碼齡,通宵達旦的技術人生

總結

以上是生活随笔為你收集整理的CABR:Beamer的内容自适应速率控制算法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。