视频编解码优化以及与AI的实践结合
生活随笔
收集整理的這篇文章主要介紹了
视频编解码优化以及与AI的实践结合
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
RealNetworks是流媒體類別的發明者,改變了音頻和視頻內容在各種設備和全世界消費的方式。在編解碼市場的大環境下,RealNetworks推出了新一代的視頻壓縮算法RMHD,專為下一代的高清流媒體業務所設計。本文將從視頻編解碼優化以及與AI的實踐結合兩方面來為大家介紹RealNetworks在這部分所做的工作。
文 / 況超整理/ LiveVideoStack大家好,我是RealNetworks的況超,本次演講的主題是視頻編解碼優化以及與AI的實踐結合,雖然我不是AI技術的專家,但在做視頻編解碼的后期也會用到一些AI的技術,所以也會與大家一起分享這部分的內容。本次演講主要由背景與需求、RMHD簡介、RMHD優化以及與AI結合和總結展望四部分組成。1. 背景需求首先大家需要了解,視頻壓縮是一種非常重要的技術,隨著時代的演進,產品不斷更新,新的應用不斷出現,在此期間用戶的需求和要求也必定會越來越高,這些因素都會促使視頻壓縮技術的迭代,以求適應市場需求。
做上層應用或產品的公司在產品定義或開發過程中,經常面臨的一個問題是選擇適合自己的編解碼標準,視頻服務商的共同目標是在現有的網絡和編碼工具基礎上將視頻質量提高到極致,讓用戶體驗更好,用戶群增長更快,但在視頻質量提高的同時更需要考慮降低包括存儲、編碼時間、算力和帶寬等因素在內的總成本。所以編解碼器是需要在綜合考慮碼率節省、編碼速度、碼率波動和版權稅等諸多因素之后才能做出選擇。編解碼工作的展開就是圍繞在開發一個適合自己的視頻壓縮技術或使用既有編解碼技術之間做選擇,工作內容需要在其中找到一個最佳的平衡狀態,也就是在畫質、碼率和性能之間做平衡。2.?RMHD簡介在編解碼市場的大環境下,RealNetworks推出了自己的視頻壓縮算法RMHD,即RealMedia HD。RealMedia HD專為下一代的高清流媒體業務所設計,能夠極大地維持視頻質量和文件大小之間的平衡,即在現有的網絡環境中,也可以幫助運營商和制造商普及高清內容的服務和相關產品。2.1 RealNetworksRealNetworks是流媒體類別的發明者,改變了音頻和視頻內容在各種設備和全世界消費的方式。目前以數字媒體專業知識和創新為基礎創造了新一代產品,采用最新的人工智能和機器學習來增強和保護我們的日常生活。編解碼技術是不斷演進的,從早期的RV8到RV9,再到后來的RV10(RMVB)以及目前主推的RV11(RMHD),本次演講的內容也主要圍繞RMHD展開。2.2 RealNetworks技術發展路線RealNetworks在之前的25年里都在不斷地創新,部分產品由于是在海外市場使用,因此不被大家熟知。在2017年推出了新一代的編解碼技術RMHD,在4K實時流媒體編解碼方面實現了前所未有的效果,尤其是在畫質和碼率控制。2.3 RMHDRMHD其實是一個高清低碼、低復雜度的算法集合,設計之初主要是針對流媒體產品以及軟硬件實現時比較友好的私有編解碼解決方案,在達到更高壓縮效率的同時能夠在軟硬件實現更快的編碼速度,復雜度也相對較低。由于低復雜性、短PBBP幀間依賴性和高壓縮效率,RMHD編解碼器對低延遲HLS流非常友好。同時它對CDN也是友好的,只使用標準的 HTTP / 1.1 協議就可以輕松地與P2P 解決方案集成。2.4 RMHD的性能特性有關RMHD性能測試的結果可以從上圖中了解,在采用1080P/4K測試序列,具有八個CPU的AWS C5計算實例上對RMHD進行測試。采用VMAF作為視頻質量感知的衡量指標,編碼設置都是在以最慢的速度運行,并且執行二次編碼。收集測試結果后從利用編碼速度、畫質和帶寬三個維度分別與主流的Codec進行比較。在編碼速度方面,RMHD的編碼速度要比HEVC和VP9更快(都是在以最慢的速度運行,并且執行二次編碼)。編碼1080P,在碼率大于2M時VMAF的得分RealMedia HD僅低于AV1,但高于其他Codec對于4K分辨率,在碼率大于5M時VMAF的得分RealMedia HD要高于其他Codec在畫質相同的情況下,同為1080P分辨率時,RMHD的碼率較AV1之外的其他Codec小;同為4K分辨率時,RMHD的碼率表現也優于其他Codec。以上是RMHD技術的性能指標,在實際應用中也有著良好的使用體驗,能夠在對比中占優勢的結果都來源于團隊背后所做的大量工作。3. RMHD優化以及與AI結合視頻壓縮技術在實際應用中,主要圍繞三個維度來展開工作,首先是視頻壓縮算法coding tools的設計,coding tool的設計和取舍要考慮到復雜度,既兼顧軟件實現的便利又兼顧硬件設計的友好。其次是復雜度的問題,優化調優編解碼工具,在使用過程中及時調整不同情況下復雜度對質量的影響。這部分主要是去除實現上的冗余,一套算法在真正實現的過程中存在很多冗余,傳統編碼框架首先需要做預編碼來決策最優編碼方案,快速算法的優化對編碼的質量和速度影響很大。最后是視覺質量評估系統,從視覺冗余角度來去除冗余信息,將比特調優之后再分配,優化比特利用率。3.1 RMHD框圖
RMHD的基本框圖是基于傳統編碼框架,通過pre-encoding決策最優。在上一代RMVB基礎上,新增了很多coding tool,做了大量的改進和優化。為了能夠同時達到高的壓縮率和更高的編解碼速度(軟件解決方案),coding tool的設計和取舍考慮到復雜度和應用場景。在白色塊部分主要是之前提到的第一維度視頻壓縮算法coding tools的設計。而RDCO在團隊內部被稱為率失真-復雜度優化模塊(濾失真復雜度優化模塊),在使用過程中及時調整不同情況下復雜度對質量的影響。RC主要負責將比特調優之后再分配,優化比特利用率。3.2 編碼器速度提升當編碼工具集確定之后,在實際應用中有一些方式可以提升編解碼器的速度。首先對于代碼的加速,這部分不會改變畫質,它只是在算法層面進行加速,在不同的賽道(平臺)上運行,都會有相應的SIMD的優化(arm,x86),比如intrinsic/assembly (arm-v7/v8/neon, sse2/4,avx2),速度會有顯著的提高。
其次針對架構來說,RMHD采用良好的多線程設計,以CU line為運行單元,短PBBP幀間依賴性利于并發性, 同時擁有高效的內存管理和針對性的cache優化。再者基于硬件加速,主要是利用GPU算力加速,GPU本身比較適合用于大規模、分支條件較少的的視頻數據運算,比如運動估計,插值濾波。但在用GPU進行加速時需要盡可能減少數據搬移量,使用“頁鎖定內存”提高傳輸帶寬,小數據合并一次傳輸,否則使用GPU的加速作用很小。除此之外也可以基于IntelGPU使用QuickSync Video (Core i7)的部分功能達到加速編碼的目的,利用device side VME反饋的有用信息來指導RV11的整個編碼流程,達到提質增速的效果。
接下來是一個重要的部分,那就是快速算法,這部分是有損的,會影響畫質,其核心就是在優化復雜度,針對coding tool本身的特性,開發出一整套快速算法集合,根據實際需要選擇不同的級別(檔位),換擋的前提是要控制質量損失,質量損失在可接受范圍內即可。RMHD內部大概有10檔快速算法的級別,用戶可以根據需要自適應選擇相應的檔位。最后一塊就Lossy解碼, 主要是動態偵測當前速度,使得在播放速度達標的同時可以保持視頻質量。當速度有不達標的風險時,可以用多種快速算法的組合實現不同級別的有損解碼,通過犧牲小部分視頻質量換取播放速度的大幅上升。3.3 GPU編碼性能對比GPU編碼速度對比上如上圖所示,在4K序列上,GPU加速可以在一般家用的IntelCore i7上達到接近每秒50幀的超實時轉碼速度,沒有GPU加速時速度僅為每秒23幀。對比二者在圖像細節上的表現(以480p RaceHorse為例)來看,GPU加速后畫質損失也相對較小。3.4 Lossy解碼性能對于Lossy解碼性能從質量速度轉換圖來看,犧牲小部分質量就能夠換得速度大幅提升,這可以改善在性能較差的設備上的播放體驗。RealNetworks針對市面上大多數的手機和多媒體盒子做了大量的測試(畫質和流暢達標率)。通過設備性能達標率的對比圖可以看到,這種策略使得在同一個設備上能夠順利播放的視頻更多了,更不容易出現視頻卡頓現象。通過上面畫質對比圖,也可以看到策略開啟前后,視頻的主觀質量沒有明顯的差距,左邊是在正常流暢解碼狀態下的視頻畫面,右邊是在不流暢時開啟lossy解碼功能的視頻畫面。3.5 利用常規手段或AI改善編解碼性能剛剛提到RMHD編碼也是基于傳統編碼框架,其中很多環節都要付出時間的代價,如果想要進一步提高壓縮質量,就需要對編碼模式有更多的劃分和預測,整個遍歷的代價會更大,優化的工作量也會更大。除了傳統的手段之外,還可以利用AI改善編解碼功能,比如利用AI做碼率控制模型、CAE編碼以及增強編碼。3.5.1 碼率控制模型碼率控制模型如上圖所示3.5.2 碼率控制碼率控制具體包括比特分配策略、碼率控制模型選擇和量化參數調整三個部分,關于比特分配策略,首先需要確定碼率控制的目標,如VBR、CBR、CQ等,針對不同的目標采取不同的比特分配策略,VBR可以采取較大的時間緩沖區、CBR應該采取較小的時間緩沖區,以適應相應的目標。碼率控制模型目前常用的有R-Q模型和R-λ模型可供選擇,這里列舉了Live-streaming 和 VODRMHD兩個RMHD主要的應用場景,對應不同碼率控制策略。量化參數調整應該結合可用的參考信息,參數的選擇和利用該參數對量化參數的調整通常是最為重要的一個部分。3.6 通過訓練優化之后的RC模型通過機器學習訓練優化之后,RC模型優化前后的差別由圖中所示,對于標準測試序列“Fourpeople”來說,優化幅度是0.4比特左右。3.7 Adaptive Quantization碼控模型可以理解為一種基準的比特分配功能,但其實這樣還不足以改善畫質,提升比特分配的精準度,Adaptive Quantization就是對比特分配進行微調的工具,輸入圖像在進入編碼流程之前,將會進行LCU級別的圖像預分析。圖像在經過LSM (Local SensitivityMeasurement) 模塊和dQPM (delta QP Mapping) 模塊后,每個LCU將會被動態賦予一個delta QP值,并最終影響每個LCU的編碼量化系數,從而得到更優的編碼效率。采用的局部感知測量方法,將主要考慮對比度屏蔽效應對于人眼主觀視覺的影響,為追求更好的主觀編碼效率提升,后續可能會引入更多人眼屏蔽效應因子做結合。通過訓練,得到模型的最佳參數。對不同的場景,方便對模型參數調整。3.8 基于內容的CAE編碼基于內容的CAE編碼包括人臉的檢測/特殊處理和場景的檢測/區別處理兩個方面,人臉檢測利用RN自身的CV技術,能夠檢測畫面中關鍵的人臉部位并進行特殊的處理,包括QP調整和增強。場景檢測可以通過不同場景的信息,利用不同的訓練模型得到最佳的編碼配置,不同的場景采用不同的編碼配置,進一步提高編碼比特利用效率。3.8.1 基于場景的動態編碼的模型訓練基于場景的動態編碼模型訓練過程分為四步,首先對每個視頻場景進行多次fix-QP編碼,每次編碼采用不同的分辨率和QP的組合,根據VMAF值,畫出convex hull。在convex hull上,根據目標碼率,找到最佳VMAF對應的分辨率和QP組合,作為神經網絡的dataset的y值。之后統計每個視頻場景的feature信息,比如每一幀的satd的平均值,這些feature作為神經網絡的dataset的x值。最后采用4層神經網絡訓練準確率為0.96,而目前測試的準確率為0.9。3.9 Playback NavigationPlaybackNavigation 是CV與codec應用結合的播放導航功能,在編碼端產生對應的CV meta data,在播放端基于對應的meta data開展應用,可以靈活選擇感興趣的片段、自動插播廣告、刪除某些人像等功能,SAFR技術是非codec依賴的。
上圖是Playback Navigation Sever端和Client端的流程圖,在Sever端數據進來之后會進行CV分析,一個產生編碼數據,另一個產生CV信息,在未來RealNetworks會做更多關于AI相關的實踐。4. 總結與展望
在未來,RealNetworks會基于RMHD框架,利用AI的相關技術實施增強編碼引擎(Enhancement Coding Plugin),對前處理,后處理,視頻壓縮等方面進行改善,助力RMHD的生態更加完善。SAFR系統不斷優化會便利和保障人們的日常生活。作為實時視頻人臉識別平臺,需要提供高準確度同時識別運動中人臉,以及化妝和部分遮擋,自然環境和微光下人臉,做到這一點最小只需要60x60像素即可識別面部。測試準確率99.86%, 可在100ms內快速識別實時視頻中移動的人臉,比其它算法快3-5倍,在準確性和性能方面達到了最佳的效果,是一套輕量級的人臉識別系統,后續會基于CV技術繼續對SAFR系統進行持續優化改進。
LiveVideoStack?秋季招聘
LiveVideoStack正在招募編輯/記者/運營,與全球頂尖多媒體技術專家和LiveVideoStack年輕的伙伴一起,推動多媒體技術生態發展。同時,也歡迎你利用業余時間、遠程參與內容生產。了解崗位信息請在BOSS直聘上搜索“LiveVideoStack”,或通過微信“Tony_Bao_”與主編包研交流。
總結
以上是生活随笔為你收集整理的视频编解码优化以及与AI的实践结合的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: BBR及其在实时音视频领域的应用
- 下一篇: 相芯科技蔡锐涛:AI虚拟形象——没有最完