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