0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何利用神經(jīng)網(wǎng)絡(luò)改善Netflix視頻質(zhì)量

LiveVideoStack ? 來(lái)源:LiveVideoStack ? 作者:LiveVideoStack ? 2022-12-13 09:16 ? 次閱讀

作者:Christos G. Bampis,Li-Heng Chen and Zhi Li

當(dāng)你在狂熱地觀看最新一季的 《怪奇物語(yǔ)》或《黑錢(qián)勝地》時(shí),我們努力為你提供最好的視頻質(zhì)量。為此,我們不斷突破流媒體視頻質(zhì)量的界限,并利用最好的視頻技術(shù)。例如,我們投資于下一代、免版稅的編解碼器和復(fù)雜的視頻編碼優(yōu)化。最近,我們?yōu)槠脚_(tái)添加了另一個(gè)強(qiáng)大的工具:用于視頻降分辨率的神經(jīng)網(wǎng)絡(luò)。在這篇技術(shù)博客中,我們描述了我們是如何利用神經(jīng)網(wǎng)絡(luò)改善Netflix視頻質(zhì)量的,我們面臨的挑戰(zhàn)以及未來(lái)的發(fā)展。

我們?nèi)绾卧贜etflix視頻編碼流程中使用神經(jīng)網(wǎng)絡(luò)?粗略地說(shuō),在我們的編碼視頻流程中有兩個(gè)步驟:

1. 視頻預(yù)處理,它包括編碼前應(yīng)用于高質(zhì)量源視頻的任何轉(zhuǎn)換。視頻降分辨率是這里最相關(guān)的例子,它根據(jù)不同設(shè)備的屏幕分辨率定制我們的編碼,并在不同的網(wǎng)絡(luò)條件下優(yōu)化圖像質(zhì)量。通過(guò)視頻降分辨率,一個(gè)源視頻能產(chǎn)生多個(gè)分辨率的視頻。例如,一個(gè)4K源視頻將被縮小到1080p、720p、540p等。這通常是通過(guò)傳統(tǒng)的濾波器來(lái)完成的,比如Lanczos算法.

2. 視頻編碼,使用傳統(tǒng)的視頻編解碼器,就像AV1。編碼通過(guò)利用視頻中存在的空間和時(shí)間冗余,大大減少了需要通過(guò)流傳輸?shù)皆O(shè)備的視頻數(shù)據(jù)量。

我們認(rèn)為,我們可以利用神經(jīng)網(wǎng)絡(luò)來(lái)提高Netflix的視頻質(zhì)量,方法是用神經(jīng)網(wǎng)絡(luò)代替?zhèn)鹘y(tǒng)的濾波器來(lái)進(jìn)行視頻降分辨率。這種被我們稱為“深度降分器”的方法有幾個(gè)關(guān)鍵的優(yōu)點(diǎn):

?一種基于學(xué)習(xí)的方法可以提高視頻質(zhì)量,并針對(duì)Netflix內(nèi)容進(jìn)行定制。

?它可以看做是一個(gè)直接替代方案,也就是說(shuō),我們不需要在Netflix編碼端或客戶端設(shè)備端進(jìn)行任何其他更改。數(shù)以百萬(wàn)計(jì)的支持Netflix流媒體的設(shè)備自動(dòng)受益于此解決方案。

?一個(gè)基于神經(jīng)網(wǎng)絡(luò)的視頻處理模塊可以被獨(dú)立開(kāi)發(fā),可以在視頻降分辨率之外使用,并且可以與不同的編解碼器相結(jié)合。

當(dāng)然,我們相信神經(jīng)網(wǎng)絡(luò)在整個(gè)視頻應(yīng)用中的革命性潛力,不僅僅是視頻降分辨率。雖然傳統(tǒng)的視頻編解碼器仍然流行,基于神經(jīng)網(wǎng)絡(luò)的視頻編碼工具蓬勃發(fā)展,并縮小了壓縮效率方面的性能差距。深度降分器是我們用神經(jīng)網(wǎng)絡(luò)改善視頻質(zhì)量的實(shí)際方法。

Instagram會(huì)為用戶上傳的視頻創(chuàng)建多種編碼版本,不同版本間各有特性。而只要利用一種類型的視頻編碼輔助生成另一種類型,即可將觀看次數(shù)較少的視頻所占用的編碼計(jì)算資源減少94%。由此釋放出的更多資源可用于生成更多高清編碼視頻流,讓更多用戶獲得更清晰、更流暢的播放體驗(yàn)。

基于神經(jīng)網(wǎng)絡(luò)的視頻降分辨率方法

深度降分器是一種神經(jīng)網(wǎng)絡(luò)架構(gòu),旨在通過(guò)學(xué)習(xí)更高質(zhì)量的視頻尺度器來(lái)提高端到端的視頻質(zhì)量。它由兩個(gè)構(gòu)建模塊組成,一個(gè)預(yù)處理模塊和一個(gè)調(diào)整大小模塊。預(yù)處理塊的目的是在調(diào)整大小操作之前對(duì)視頻信號(hào)進(jìn)行預(yù)濾波。調(diào)整大小塊產(chǎn)生作為編碼器輸入的低分辨率視頻信號(hào)。我們采用了自適應(yīng)網(wǎng)絡(luò)設(shè)計(jì),適用于各種各樣的實(shí)際編碼中會(huì)用到的分辨率。

e4297aee-7a79-11ed-8abf-dac502259ad0.png

深壓縮模型的體系結(jié)構(gòu),由預(yù)處理模塊和調(diào)整大小模塊組成。

在訓(xùn)練過(guò)程中,我們的目標(biāo)是生成最佳的降分表示,以使得在升分以后后均方誤差被最小化。因?yàn)槌R?guī)的視頻編碼器是不能微分的,我們?cè)趯⑵渑懦诳紤]之外。在客戶端的升分器是bicubic的前提下,我們集中訓(xùn)練一個(gè)魯棒的深度降分器。我們的訓(xùn)練方法是直觀的,并且產(chǎn)生的降分器并不和特定的編碼器及其相關(guān)實(shí)現(xiàn)方式相關(guān)聯(lián)。盡管如此,我們需要對(duì)訓(xùn)練結(jié)果進(jìn)行徹底的評(píng)估,以證明它在Netflix編碼流程里的廣泛應(yīng)用潛力。

利用神經(jīng)網(wǎng)絡(luò)改善Netflix視頻質(zhì)量

深度降分器的目標(biāo)是提高Netflix端到端的視頻質(zhì)量。通過(guò)我們的實(shí)驗(yàn),包括客觀測(cè)量和主觀視覺(jué)測(cè)試,我們發(fā)現(xiàn)深度深壓縮提高了各種傳統(tǒng)視頻編解碼器和編碼配置的質(zhì)量。

例如,對(duì)于VP9編碼,并假設(shè)一個(gè)bicubic升分器,我們測(cè)量到深度降分器比傳統(tǒng)的Lanczos降分方法平均提高了5.4%的VMAF Bj?ntegaard-Delta (BD)率。我們還測(cè)量了約4.4%的VMAF-NEG BD率的增益。下面我們展示了Netflix標(biāo)題中的一個(gè)例子。深度降分器(紅點(diǎn))在類似比特率下提供了更高的VMAF,或在更低比特率下產(chǎn)生類似的VMAF分?jǐn)?shù)。

e44fb376-7a79-11ed-8abf-dac502259ad0.png

除了客觀的測(cè)試以外,我們還進(jìn)行了主觀測(cè)試研究,以驗(yàn)證深度降分器的主觀視覺(jué)改善。在我們的基于偏好的視覺(jué)測(cè)試中,我們發(fā)現(xiàn),約77%的測(cè)試受試者在編碼配方和升級(jí)算法的廣泛范圍內(nèi)更喜歡深度降分器呈現(xiàn)的最終質(zhì)量。受試者報(bào)告了更好的細(xì)節(jié)保存和更清晰的視覺(jué)外觀。個(gè)可視化的例子如下所示。

我們還進(jìn)行了A/B測(cè)試,以了解深度降分器對(duì)流媒體播放的整體影響,并嘗試檢測(cè)任何設(shè)備的播放問(wèn)題。通過(guò)A/B測(cè)試,我們看到了QoE的改善,并確認(rèn)了深度降分器并沒(méi)有對(duì)某些設(shè)備產(chǎn)生不利的影響。

我們?nèi)绾斡行У卮笠?guī)模部署神經(jīng)網(wǎng)絡(luò)?

鑒于我們的規(guī)模,應(yīng)用神經(jīng)網(wǎng)絡(luò)可能導(dǎo)致編碼成本的顯著增加。為了有一個(gè)可行的解決方案,我們采取了幾個(gè)步驟來(lái)提高成本效率。

?深度降分器的神經(jīng)網(wǎng)絡(luò)架構(gòu)的設(shè)計(jì)原則是:在避免負(fù)面的視覺(jué)質(zhì)量影響的前提下提升計(jì)算效率。例如,我們發(fā)現(xiàn)只需幾個(gè)神經(jīng)網(wǎng)絡(luò)層就足以滿足我們的需求。為了進(jìn)一步減少輸入通道的使用,我們只對(duì)亮度通道采用神經(jīng)網(wǎng)絡(luò),而對(duì)色度通道采用傳統(tǒng)的Lanczos濾波器進(jìn)行縮放。

?深度降分器的實(shí)現(xiàn)使用了FFmpeg軟件的濾波器接口。這樣的好處是可以與其他視頻轉(zhuǎn)換(如像素格式轉(zhuǎn)換)等已實(shí)現(xiàn)的功能一起運(yùn)行。我們的過(guò)濾器可以在CPUGPU上運(yùn)行。在一個(gè)CPU上,我們利用Intel的oneDnn以進(jìn)一步減少延時(shí)。

將神經(jīng)網(wǎng)絡(luò)集成到我們的下一代編碼平臺(tái)中

Netflix 的編碼技術(shù)團(tuán)隊(duì)和媒體云工程團(tuán)隊(duì)共同創(chuàng)新開(kāi)發(fā)了名為Cosmos 的下一代編碼平臺(tái)。通過(guò)深度降分器在其上面的實(shí)現(xiàn),我們很好地展示了Cosmos能夠如何推動(dòng)Netflix未來(lái)的媒體創(chuàng)新。下圖顯示了深度降分器是如何被集成到Cosmos的編碼微服務(wù)中來(lái)的。

e484577a-7a79-11ed-8abf-dac502259ad0.png

將神經(jīng)網(wǎng)絡(luò)集成到我們的下一代編碼平臺(tái)中

Cosmos編碼微服務(wù)可以應(yīng)用于多個(gè)編碼工作流程。例如,可以調(diào)用其服務(wù)來(lái)分析視頻的復(fù)雜度,或者生成用于實(shí)際Netflix流媒體的編碼。其底層函數(shù)是一個(gè)無(wú)服務(wù)器層,專門(mén)用于運(yùn)行無(wú)狀態(tài)和密集型計(jì)算。在底層函數(shù)調(diào)用中,我們的深度降分器是在編碼之前應(yīng)用的。在Cosmos的推動(dòng)下,我們可以利用Titus基礎(chǔ)設(shè)施并在我們所有的多CPU/GPU環(huán)境中大規(guī)模運(yùn)行深度降分器。

下一步

深度降分器為在Netflix視頻編碼中的更多地使用神經(jīng)網(wǎng)絡(luò)應(yīng)用鋪平了道路。我們的創(chuàng)新嘗試才剛剛開(kāi)始。例如,我們正在研究一些其他的案例,比如視頻去噪。我們也在尋找更有效的大規(guī)模部署神經(jīng)網(wǎng)絡(luò)的方案。我們也在研究如何在下一代編碼器中應(yīng)用基于神經(jīng)網(wǎng)絡(luò)的工具。

審核編輯:郭婷


聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴

原文標(biāo)題:Netflix:用神經(jīng)網(wǎng)絡(luò)改善視頻質(zhì)量

文章出處:【微信號(hào):livevideostack,微信公眾號(hào):LiveVideoStack】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    BP神經(jīng)網(wǎng)絡(luò)和卷積神經(jīng)網(wǎng)絡(luò)的關(guān)系

    BP神經(jīng)網(wǎng)絡(luò)(Backpropagation Neural Network)和卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,簡(jiǎn)稱CNN)是兩種在人工智能和機(jī)器學(xué)習(xí)領(lǐng)域
    的頭像 發(fā)表于 07-10 15:24 ?1615次閱讀

    BP神經(jīng)網(wǎng)絡(luò)和人工神經(jīng)網(wǎng)絡(luò)的區(qū)別

    BP神經(jīng)網(wǎng)絡(luò)和人工神經(jīng)網(wǎng)絡(luò)(Artificial Neural Networks,簡(jiǎn)稱ANNs)之間的關(guān)系與區(qū)別,是神經(jīng)網(wǎng)絡(luò)領(lǐng)域中一個(gè)基礎(chǔ)且重要的話題。本文將從定義、結(jié)構(gòu)、算法、應(yīng)用及未來(lái)發(fā)展等多個(gè)方面,詳細(xì)闡述BP
    的頭像 發(fā)表于 07-10 15:20 ?1174次閱讀

    卷積神經(jīng)網(wǎng)絡(luò)視頻處理中的應(yīng)用

    卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks,CNN)作為深度學(xué)習(xí)的代表算法之一,在計(jì)算機(jī)視覺(jué)領(lǐng)域取得了顯著成就,特別是在視頻處理方面。本文將深入探討卷積神經(jīng)網(wǎng)絡(luò)
    的頭像 發(fā)表于 07-09 15:53 ?667次閱讀

    如何利用Matlab進(jìn)行神經(jīng)網(wǎng)絡(luò)訓(xùn)練

    ,使得神經(jīng)網(wǎng)絡(luò)的創(chuàng)建、訓(xùn)練和仿真變得更加便捷。本文將詳細(xì)介紹如何利用Matlab進(jìn)行神經(jīng)網(wǎng)絡(luò)訓(xùn)練,包括網(wǎng)絡(luò)創(chuàng)建、數(shù)據(jù)預(yù)處理、訓(xùn)練過(guò)程、參數(shù)調(diào)整以及仿真預(yù)測(cè)等步驟。
    的頭像 發(fā)表于 07-08 18:26 ?1930次閱讀

    rnn是遞歸神經(jīng)網(wǎng)絡(luò)還是循環(huán)神經(jīng)網(wǎng)絡(luò)

    RNN(Recurrent Neural Network)是循環(huán)神經(jīng)網(wǎng)絡(luò),而非遞歸神經(jīng)網(wǎng)絡(luò)。循環(huán)神經(jīng)網(wǎng)絡(luò)是一種具有時(shí)間序列特性的神經(jīng)網(wǎng)絡(luò),能夠處理序列數(shù)據(jù),具有記憶功能。以下是關(guān)于循環(huán)
    的頭像 發(fā)表于 07-05 09:52 ?595次閱讀

    rnn是什么神經(jīng)網(wǎng)絡(luò)

    Network)相比,RNN能夠處理時(shí)間序列數(shù)據(jù),例如文本、音頻、視頻等。 RNN的基本概念 1.1 什么是RNN RNN是一種具有循環(huán)連接的神經(jīng)網(wǎng)絡(luò),其核心思想是將前一個(gè)時(shí)間步的輸出作為下一個(gè)
    的頭像 發(fā)表于 07-05 09:49 ?709次閱讀

    遞歸神經(jīng)網(wǎng)絡(luò)是循環(huán)神經(jīng)網(wǎng)絡(luò)

    遞歸神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network,簡(jiǎn)稱RNN)和循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network,簡(jiǎn)稱RNN)實(shí)際上是同一個(gè)概念,只是不同的翻譯方式
    的頭像 發(fā)表于 07-04 14:54 ?809次閱讀

    循環(huán)神經(jīng)網(wǎng)絡(luò)和卷積神經(jīng)網(wǎng)絡(luò)的區(qū)別

    循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network,RNN)和卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)是深度學(xué)習(xí)領(lǐng)域中兩種非常重要的神經(jīng)網(wǎng)絡(luò)
    的頭像 發(fā)表于 07-04 14:24 ?1350次閱讀

    深度神經(jīng)網(wǎng)絡(luò)與基本神經(jīng)網(wǎng)絡(luò)的區(qū)別

    在探討深度神經(jīng)網(wǎng)絡(luò)(Deep Neural Networks, DNNs)與基本神經(jīng)網(wǎng)絡(luò)(通常指?jìng)鹘y(tǒng)神經(jīng)網(wǎng)絡(luò)或前向神經(jīng)網(wǎng)絡(luò))的區(qū)別時(shí),我們需要從多個(gè)維度進(jìn)行深入分析。這些維度包括
    的頭像 發(fā)表于 07-04 13:20 ?968次閱讀

    反向傳播神經(jīng)網(wǎng)絡(luò)和bp神經(jīng)網(wǎng)絡(luò)的區(qū)別

    反向傳播神經(jīng)網(wǎng)絡(luò)(Backpropagation Neural Network,簡(jiǎn)稱BP神經(jīng)網(wǎng)絡(luò))是一種多層前饋神經(jīng)網(wǎng)絡(luò),它通過(guò)反向傳播算法來(lái)調(diào)整網(wǎng)絡(luò)中的權(quán)重和偏置,以達(dá)到最小化誤差的
    的頭像 發(fā)表于 07-03 11:00 ?830次閱讀

    bp神經(jīng)網(wǎng)絡(luò)和卷積神經(jīng)網(wǎng)絡(luò)區(qū)別是什么

    BP神經(jīng)網(wǎng)絡(luò)(Backpropagation Neural Network)和卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,簡(jiǎn)稱CNN)是兩種不同類型的人工神經(jīng)網(wǎng)絡(luò),它們?cè)?/div>
    的頭像 發(fā)表于 07-03 10:12 ?1249次閱讀

    卷積神經(jīng)網(wǎng)絡(luò)訓(xùn)練的是什么

    卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks,簡(jiǎn)稱CNN)是一種深度學(xué)習(xí)模型,廣泛應(yīng)用于圖像識(shí)別、視頻分析、自然語(yǔ)言處理等領(lǐng)域。本文將詳細(xì)介紹卷積神經(jīng)網(wǎng)絡(luò)的基本概念、結(jié)構(gòu)
    的頭像 發(fā)表于 07-03 09:15 ?438次閱讀

    卷積神經(jīng)網(wǎng)絡(luò)的原理與實(shí)現(xiàn)

    1.卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks,簡(jiǎn)稱CNN)是一種深度學(xué)習(xí)模型,廣泛應(yīng)用于圖像識(shí)別、視頻分析、自然語(yǔ)言處理等領(lǐng)域。 卷積神經(jīng)網(wǎng)絡(luò)是一種前饋神經(jīng)網(wǎng)絡(luò)
    的頭像 發(fā)表于 07-02 16:47 ?612次閱讀

    卷積神經(jīng)網(wǎng)絡(luò)和bp神經(jīng)網(wǎng)絡(luò)的區(qū)別

    卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks,簡(jiǎn)稱CNN)和BP神經(jīng)網(wǎng)絡(luò)(Backpropagation Neural Networks,簡(jiǎn)稱BPNN)是兩種
    的頭像 發(fā)表于 07-02 14:24 ?4359次閱讀

    神經(jīng)網(wǎng)絡(luò)在數(shù)學(xué)建模中的應(yīng)用

    數(shù)學(xué)建模是一種利用數(shù)學(xué)方法和工具來(lái)描述和分析現(xiàn)實(shí)世界問(wèn)題的過(guò)程。神經(jīng)網(wǎng)絡(luò)是一種模擬人腦神經(jīng)元結(jié)構(gòu)和功能的計(jì)算模型,可以用于解決各種復(fù)雜問(wèn)題。在數(shù)學(xué)建模中,神經(jīng)網(wǎng)絡(luò)可以作為一種有效的工具
    的頭像 發(fā)表于 07-02 11:29 ?982次閱讀