作者:Christos G. Bampis,Li-Heng Chen and Zhi Li
當你在狂熱地觀看最新一季的 《怪奇物語》或《黑錢勝地》時,我們努力為你提供最好的視頻質(zhì)量。為此,我們不斷突破流媒體視頻質(zhì)量的界限,并利用最好的視頻技術(shù)。例如,我們投資于下一代、免版稅的編解碼器和復雜的視頻編碼優(yōu)化。最近,我們?yōu)槠脚_添加了另一個強大的工具:用于視頻降分辨率的神經(jīng)網(wǎng)絡(luò)。在這篇技術(shù)博客中,我們描述了我們是如何利用神經(jīng)網(wǎng)絡(luò)改善Netflix視頻質(zhì)量的,我們面臨的挑戰(zhàn)以及未來的發(fā)展。
我們?nèi)绾卧贜etflix視頻編碼流程中使用神經(jīng)網(wǎng)絡(luò)?粗略地說,在我們的編碼視頻流程中有兩個步驟:
1. 視頻預處理,它包括編碼前應用于高質(zhì)量源視頻的任何轉(zhuǎn)換。視頻降分辨率是這里最相關(guān)的例子,它根據(jù)不同設(shè)備的屏幕分辨率定制我們的編碼,并在不同的網(wǎng)絡(luò)條件下優(yōu)化圖像質(zhì)量。通過視頻降分辨率,一個源視頻能產(chǎn)生多個分辨率的視頻。例如,一個4K源視頻將被縮小到1080p、720p、540p等。這通常是通過傳統(tǒng)的濾波器來完成的,比如Lanczos算法.
2. 視頻編碼,使用傳統(tǒng)的視頻編解碼器,就像AV1。編碼通過利用視頻中存在的空間和時間冗余,大大減少了需要通過流傳輸?shù)皆O(shè)備的視頻數(shù)據(jù)量。
我們認為,我們可以利用神經(jīng)網(wǎng)絡(luò)來提高Netflix的視頻質(zhì)量,方法是用神經(jīng)網(wǎng)絡(luò)代替?zhèn)鹘y(tǒng)的濾波器來進行視頻降分辨率。這種被我們稱為“深度降分器”的方法有幾個關(guān)鍵的優(yōu)點:
?一種基于學習的方法可以提高視頻質(zhì)量,并針對Netflix內(nèi)容進行定制。
?它可以看做是一個直接替代方案,也就是說,我們不需要在Netflix編碼端或客戶端設(shè)備端進行任何其他更改。數(shù)以百萬計的支持Netflix流媒體的設(shè)備自動受益于此解決方案。
?一個基于神經(jīng)網(wǎng)絡(luò)的視頻處理模塊可以被獨立開發(fā),可以在視頻降分辨率之外使用,并且可以與不同的編解碼器相結(jié)合。
當然,我們相信神經(jīng)網(wǎng)絡(luò)在整個視頻應用中的革命性潛力,不僅僅是視頻降分辨率。雖然傳統(tǒng)的視頻編解碼器仍然流行,基于神經(jīng)網(wǎng)絡(luò)的視頻編碼工具蓬勃發(fā)展,并縮小了壓縮效率方面的性能差距。深度降分器是我們用神經(jīng)網(wǎng)絡(luò)改善視頻質(zhì)量的實際方法。
Instagram會為用戶上傳的視頻創(chuàng)建多種編碼版本,不同版本間各有特性。而只要利用一種類型的視頻編碼輔助生成另一種類型,即可將觀看次數(shù)較少的視頻所占用的編碼計算資源減少94%。由此釋放出的更多資源可用于生成更多高清編碼視頻流,讓更多用戶獲得更清晰、更流暢的播放體驗。
基于神經(jīng)網(wǎng)絡(luò)的視頻降分辨率方法
深度降分器是一種神經(jīng)網(wǎng)絡(luò)架構(gòu),旨在通過學習更高質(zhì)量的視頻尺度器來提高端到端的視頻質(zhì)量。它由兩個構(gòu)建模塊組成,一個預處理模塊和一個調(diào)整大小模塊。預處理塊的目的是在調(diào)整大小操作之前對視頻信號進行預濾波。調(diào)整大小塊產(chǎn)生作為編碼器輸入的低分辨率視頻信號。我們采用了自適應網(wǎng)絡(luò)設(shè)計,適用于各種各樣的實際編碼中會用到的分辨率。
深壓縮模型的體系結(jié)構(gòu),由預處理模塊和調(diào)整大小模塊組成。
在訓練過程中,我們的目標是生成最佳的降分表示,以使得在升分以后后均方誤差被最小化。因為常規(guī)的視頻編碼器是不能微分的,我們在將其排除在考慮之外。在客戶端的升分器是bicubic的前提下,我們集中訓練一個魯棒的深度降分器。我們的訓練方法是直觀的,并且產(chǎn)生的降分器并不和特定的編碼器及其相關(guān)實現(xiàn)方式相關(guān)聯(lián)。盡管如此,我們需要對訓練結(jié)果進行徹底的評估,以證明它在Netflix編碼流程里的廣泛應用潛力。
利用神經(jīng)網(wǎng)絡(luò)改善Netflix視頻質(zhì)量
深度降分器的目標是提高Netflix端到端的視頻質(zhì)量。通過我們的實驗,包括客觀測量和主觀視覺測試,我們發(fā)現(xiàn)深度深壓縮提高了各種傳統(tǒng)視頻編解碼器和編碼配置的質(zhì)量。
例如,對于VP9編碼,并假設(shè)一個bicubic升分器,我們測量到深度降分器比傳統(tǒng)的Lanczos降分方法平均提高了5.4%的VMAF Bj?ntegaard-Delta (BD)率。我們還測量了約4.4%的VMAF-NEG BD率的增益。下面我們展示了Netflix標題中的一個例子。深度降分器(紅點)在類似比特率下提供了更高的VMAF,或在更低比特率下產(chǎn)生類似的VMAF分數(shù)。
除了客觀的測試以外,我們還進行了主觀測試研究,以驗證深度降分器的主觀視覺改善。在我們的基于偏好的視覺測試中,我們發(fā)現(xiàn),約77%的測試受試者在編碼配方和升級算法的廣泛范圍內(nèi)更喜歡深度降分器呈現(xiàn)的最終質(zhì)量。受試者報告了更好的細節(jié)保存和更清晰的視覺外觀。個可視化的例子如下所示。
我們還進行了A/B測試,以了解深度降分器對流媒體播放的整體影響,并嘗試檢測任何設(shè)備的播放問題。通過A/B測試,我們看到了QoE的改善,并確認了深度降分器并沒有對某些設(shè)備產(chǎn)生不利的影響。
我們?nèi)绾斡行У卮笠?guī)模部署神經(jīng)網(wǎng)絡(luò)?
鑒于我們的規(guī)模,應用神經(jīng)網(wǎng)絡(luò)可能導致編碼成本的顯著增加。為了有一個可行的解決方案,我們采取了幾個步驟來提高成本效率。
?深度降分器的神經(jīng)網(wǎng)絡(luò)架構(gòu)的設(shè)計原則是:在避免負面的視覺質(zhì)量影響的前提下提升計算效率。例如,我們發(fā)現(xiàn)只需幾個神經(jīng)網(wǎng)絡(luò)層就足以滿足我們的需求。為了進一步減少輸入通道的使用,我們只對亮度通道采用神經(jīng)網(wǎng)絡(luò),而對色度通道采用傳統(tǒng)的Lanczos濾波器進行縮放。
?深度降分器的實現(xiàn)使用了FFmpeg軟件的濾波器接口。這樣的好處是可以與其他視頻轉(zhuǎn)換(如像素格式轉(zhuǎn)換)等已實現(xiàn)的功能一起運行。我們的過濾器可以在CPU和GPU上運行。在一個CPU上,我們利用Intel的oneDnn以進一步減少延時。
將神經(jīng)網(wǎng)絡(luò)集成到我們的下一代編碼平臺中
Netflix 的編碼技術(shù)團隊和媒體云工程團隊共同創(chuàng)新開發(fā)了名為Cosmos 的下一代編碼平臺。通過深度降分器在其上面的實現(xiàn),我們很好地展示了Cosmos能夠如何推動Netflix未來的媒體創(chuàng)新。下圖顯示了深度降分器是如何被集成到Cosmos的編碼微服務(wù)中來的。
將神經(jīng)網(wǎng)絡(luò)集成到我們的下一代編碼平臺中
Cosmos編碼微服務(wù)可以應用于多個編碼工作流程。例如,可以調(diào)用其服務(wù)來分析視頻的復雜度,或者生成用于實際Netflix流媒體的編碼。其底層函數(shù)是一個無服務(wù)器層,專門用于運行無狀態(tài)和密集型計算。在底層函數(shù)調(diào)用中,我們的深度降分器是在編碼之前應用的。在Cosmos的推動下,我們可以利用Titus基礎(chǔ)設(shè)施并在我們所有的多CPU/GPU環(huán)境中大規(guī)模運行深度降分器。
下一步
深度降分器為在Netflix視頻編碼中的更多地使用神經(jīng)網(wǎng)絡(luò)應用鋪平了道路。我們的創(chuàng)新嘗試才剛剛開始。例如,我們正在研究一些其他的案例,比如視頻去噪。我們也在尋找更有效的大規(guī)模部署神經(jīng)網(wǎng)絡(luò)的方案。我們也在研究如何在下一代編碼器中應用基于神經(jīng)網(wǎng)絡(luò)的工具。
審核編輯:郭婷
-
神經(jīng)網(wǎng)絡(luò)
+關(guān)注
關(guān)注
42文章
4814瀏覽量
103629 -
編解碼器
+關(guān)注
關(guān)注
0文章
274瀏覽量
24759
原文標題:Netflix:用神經(jīng)網(wǎng)絡(luò)改善視頻質(zhì)量
文章出處:【微信號:livevideostack,微信公眾號:LiveVideoStack】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
無刷電機小波神經(jīng)網(wǎng)絡(luò)轉(zhuǎn)子位置檢測方法的研究
神經(jīng)網(wǎng)絡(luò)專家系統(tǒng)在電機故障診斷中的應用
神經(jīng)網(wǎng)絡(luò)RAS在異步電機轉(zhuǎn)速估計中的仿真研究
BP神經(jīng)網(wǎng)絡(luò)與卷積神經(jīng)網(wǎng)絡(luò)的比較
BP神經(jīng)網(wǎng)絡(luò)的優(yōu)缺點分析
什么是BP神經(jīng)網(wǎng)絡(luò)的反向傳播算法
BP神經(jīng)網(wǎng)絡(luò)與深度學習的關(guān)系
人工神經(jīng)網(wǎng)絡(luò)的原理和多種神經(jīng)網(wǎng)絡(luò)架構(gòu)方法

卷積神經(jīng)網(wǎng)絡(luò)的實現(xiàn)工具與框架
卷積神經(jīng)網(wǎng)絡(luò)與傳統(tǒng)神經(jīng)網(wǎng)絡(luò)的比較
RNN模型與傳統(tǒng)神經(jīng)網(wǎng)絡(luò)的區(qū)別
LSTM神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)與工作機制
LSTM神經(jīng)網(wǎng)絡(luò)的基本原理 如何實現(xiàn)LSTM神經(jīng)網(wǎng)絡(luò)
Moku人工神經(jīng)網(wǎng)絡(luò)101

評論