新四季網

機器學習如何幫助Youtube實現高效轉碼?

2025-05-12 07:23:09

  作為世界上最大的視頻平臺,YouTube 每天都會新增來自世界各地的數百萬個視頻。這些視頻具有非常大的多樣性,對 YouTube 來說,要將這些不同的視頻和相關的音頻都轉換成人們可以接受的播放質量是一個相當大的挑戰。此外,儘管谷歌的計算和存儲資源非常龐大,但也總歸是有限的, 要以上傳視頻的原格式存儲網絡視頻無疑會帶來顯著的額外成本。

  為了提高網絡視頻的播放質量,關鍵是要降低視頻和音頻的壓縮損失。增加比特率是一種方法,但同時那也需要更強大的網絡連接和更高的帶寬。而 YouTube 則選擇了另一種更聰明的做法:通過優化視頻處理的參數使其在滿足最低視頻質量標準的同時不會增加額外的比特率和計算周期。

  要在視頻壓縮和轉碼時滿足視頻質量、比特率和計算周期的要求,一般的做法是尋找對大量視頻(而非所有視頻)平均最優的轉碼參數組合。這種最優組合可以通過嘗試每種可能來尋找,直到找到最讓人滿意的結果。而最近,有一些公司甚至嘗試在每一段視頻上都使用這種「窮舉搜索」的方式來調整參數。

  YouTube 通過在這一技術的基礎上引入機器學習而開發出了一種新的自動調整參數的方法。目前,這一技術已經在提升 YouTube 和 Google Play視頻影片的質量上得到了應用。

  並行處理的優劣

  據 YouTube 的博客介紹,每分鐘都有 400 小時的視頻被上傳到 YouTube 上。而其中每個視頻都需要被不同的轉碼器轉碼成幾種不同的格式,以便可以在不同的設備上進行播放。為了提高轉碼速度,讓用戶更快看到視頻,YouTube 將上傳的每一個文件都切割成被稱為「數據塊(chunk)」的片段,然後再將其每一塊都獨立地在谷歌雲計算基礎設施的 CPU 中同時進行並行處理。在這一過程中所涉及到分塊和重組是 YouTube 的視頻轉碼中的一大難題。而除了重組轉碼後數據塊的機制,保持每一段轉碼後的視頻的質量也是一個挑戰。這是因為為了儘可能快地處理,這些數據塊之間不會有重疊,而且它們會被切割得非常小——每段只有幾秒鐘。所以並行處理有提升速度和降低延遲的優勢,但它也有劣勢:缺失了前後臨近視頻塊的信息,也因此難以保證每個視頻塊在被處理後都具有看上去相同的質量。小數據塊不會給編碼器太多時間使其進入一個穩定的狀態,所以每一個編碼器在處理每一個數據塊上都略有不同。

  智能並行處理

  為了得到穩定的質量,可以在編碼器之間溝通同一視頻中不同分塊的信息,這樣每一個編碼器都可以根據其處理塊的前後塊進行調整。但這樣做會導致進程間通信的增加,從而提高整個系統的複雜度,並在每一個數據塊的處理中都要求額外的迭代。

  但「其實,事實上我們在工程方面都很固執,我們想知道我們能將『不要讓數據塊彼此通信』的想法推進多遠。」YouTube 博客說。

  下面的曲線圖展示了來自一段使用 H.264 作為編解碼器的 720p 視頻的兩個數據塊的峰值信噪比(PSNR,單位:dB每幀)。PSNR值越高,意味著圖片(視頻每幀)的質量越高;反之則圖片質量越低。可以看到每段視頻開始時的質量非常不同於結束時的質量。這不僅在平均質量上沒有達到我們的要求,這樣劇烈的質量變化也會導致惱人的搏動偽影(pulsing artifact)。

  因為數據塊很小,還要讓每一塊的行為都與其前後塊的行為類似;所以研究人員需要在連續數據塊的編碼處理上保持一個大致相同的結果。儘管這在大部分情況下適用,但卻不適用於本例。一個直接的解決辦法是改變數據塊的邊界使其與高活動的視頻行為保持一致,例如快速運動或場景剪切。但這樣做就能讓保證數據塊的相對質量並使編碼後的結果更均勻嗎。事實證明這確實能有所改善,但並不能達到我們期望的程度,不穩定性仍經常存在。

  關鍵是要讓編碼器多次處理每一個數據塊,並從每一次迭代中學習怎麼調整其參數以為整個數據塊中將發生的事做好準備,而非僅其中的一小部分。這將導致每一個數據塊的開端和結束擁有相似的質量,而且因為數據塊很短,所以總體上不同數據塊之間的差異也減少了。但即便如此,要實現這樣的目標,就需要很多次的重複迭代。研究人員觀察到,重複迭代的次數會受到編碼器在第一次迭代上的量化相關參數(CRF)的很大影響。更妙的是,往往存在一個「最好的」CRF 可以在保持期望質量的同時只用一次迭代就能達到目標比特率。但這個「最好的」卻會隨著每段視頻的變化而變化——這就是棘手的地方。所以只要能找到每段視頻的最好配置,就能得到一個生成期望編碼視頻的簡單方法。

  上圖展示了 YouTube 的研究人員在同一段 1080p 視頻片段上使用他們的編碼器實驗不同的 CRF 所得到的比特率結果(編碼後的視頻質量恆定)。可以看出,CRF 和比特率之間存在一個明顯的函數關係。事實上這是對使用三個參數的指數擬合的非常好的建模,而且該圖也表明建模線(藍線)與實際觀察到的數據(點)擬合得非常好。如果我們知道該線的參數,然後我們想得到一個我們的視頻片段的 5 Mbps 版本,那麼我們所需的 CRF 大約為 20.

  大腦

  那麼接下來需要的就是一種能夠通過對視頻片段的低複雜度的測量預測三個曲線擬合參數的方式。這是機器學習、統計學和信號處理中的經典問題。YouTube 研究人員已將其相關的數學細節發表在他們的論文中(見文末1,其中還包括研究人員想法的演化歷程)。而簡單總結來說:通過已知的關於輸入視頻片段的信息預測三個參數,並從中讀出我們所需的 CRF。其中的預測階段就是「谷歌大腦(Google Brain)」的用武之地。

  前面提到的「關於輸入視頻片段的信息」被稱為視頻的「特徵(features)」。在 YouTube 研究人員的定義中,這些特徵(包括輸入比特率、輸入文件中的運動矢量位、視頻解析度和幀速率)構成了一個特徵向量。對這些特徵的測量也包括來自輸入視頻片段的非常快速的低質量轉碼(能提供更豐富的信息)。但是,每個視頻片段的特徵和曲線參數之間的確切關係實際上非常複雜,不是一個簡單的方程就能表示的。所以聰明的研究人員並不打算自己來發現這些特徵,他們轉而尋求谷歌大腦的機器學習的幫助。研究人員首先選擇了 10000 段視頻,並對其中每一段視頻的每一個質量設置都進行了嚴格的測試,並測量了每一種設置的結果比特率。然後研究人員得到了 10000 條曲線,通過測量這些曲線研究人員又得到了 4×10000 個參數。

  有了這些參數,就可以從視頻片段中提取特徵了。通過這些訓練數據和特徵集合,YouTube 的機器學習系統學到了一個可以預測特徵的參數的「大腦(Brain)」配置。「實際上我們在使用大腦的同時也使用一種簡單的『回歸(regression)』技術。這兩者都優於我們現有的策略。儘管訓練大腦的過程需要相對較多的計算,但得到的系統實際上相當簡單且只需要在我們的特徵上的一點操作。那意味著生產過程中的計算負載很小。」

  這種方法有效嗎?

  上圖展示了在 10000 個視頻片段上的各個系統的性能。其中每一個點(x,y)代表了壓縮後的結果視頻的比特率為原視頻的比特率的 x% 時的質量百分比(y 軸)。其中的藍線表示在每一個視頻片段上都使用窮舉搜索獲取完美的 CRF 所得到的最好的情況。任何接近它的系統都是好系統。可以看到,在比特率為 20% 時,舊系統(綠線)的結果視頻質量只有 15 %. 而使用了大腦系統之後,如果僅使用你所上傳的視頻的特徵,質量可以達到 65%;如果還使用一些來自非常快速低質量轉碼的特徵,更是能超過 80%(虛線)。

  但是,實際上看起來如何?你可能已經注意到比起畫質,YouTube 研究人員似乎更關注比特率。因為「我們對這個問題分析表明這才是根本原因 」。畫質只有真正被看到眼裡時我們才知道好不好。下面展示了來自一段 720p 視頻的一些幀(從一輛賽車上拍攝)。上一列的兩幀來自一個典型數據塊的開始和結尾,可以看到第一幀的質量遠差於最後一幀。下一列的兩幀來自上述的新型自動剪輯適應系統處理後的同一個數據塊。兩個結果視頻的比特率為相同的 2.8 Mbps。可以看到,第一幀的質量已有了顯著的提升,最後一幀看起來也更好了。所以質量上的暫時波動消失了,片段的整體質量也得到了提升。

  據悉,這一概念在 YouTube 視頻基礎設施部分的生產中已被使用了大約一年時間。YouTube的博客寫道:「我們很高興地報告:它已經幫助我們為《鐵達尼號》和最近的《007:幽靈黨》這樣的電影提供了非常好的視頻傳輸流。我們不期望任何人注意到這一點,因為他們不知道它看起來還能是什麼樣。」

  參考文獻:

  Optimizing transcoder quality targets using a neural network with an embedded bitrate model, Michele Covell, Martin Arjovsky, Yao-Chung Lin and Anil Kokaram, Proceedings of the Conference on Visual Information Processing and Communications 2016, San Francisco

  Multipass Encoding for reducing pulsing artefacts in cloud based video transcoding, Yao-Chung Lin, Anil Kokaram and Hugh Denman, IEEE International Conference on Image Processing, pp 907-911, Quebec 2015

同类文章
任天堂Switch剛發布 就有人噴抄襲了!

任天堂Switch剛發布 就有人噴抄襲了!

    昨天晚上任天堂發布了一款花樣百變的遊戲主機,不僅可以插入Dock中對電視輸出,本身也具備一個顯示屏,方便我們在外出的時候使用,隨機配備的兩個模塊化手柄不僅可以插在主機屏幕上使用,每一個也都能單獨用,讓兩個人一同體驗遊戲樂趣,這樣的創意讓不少人經驗,但按照慣例,絕對也會有矯情的噴抄襲,這次當然

心疼微軟 NFL愛國者隊教練怒砸Surface

    2014年10月,微軟用4億美元買斷了NFL的獨家平板供應商。不過看起來Surface平板在NFL的路並不好走,單單我們報導過的問題就已經不下5次了,近日在新英格蘭愛國者對戰水牛城比爾隊的時候,愛國者隊教練Bill Belichick更是怒摔了Surface,心疼微軟5秒鐘。    Beli
詳解:兩款微軟Surface平板規格啥區別

詳解:兩款微軟Surface平板規格啥區別

    泡泡網平板電腦頻道6月19日 Surface,微軟今天發布的自有品牌平板電腦,共有兩個模型版本,其一是搭載ARM運行Windows RT的版本,其二是搭載英特爾晶片運行Windows 8 Pro的版本,那麼這兩個版本還有什麼區別呢?讓我們通過具體規格了解一下:    Windows RT版本
致微軟平板:漫話被iPad打敗的眾平板

致微軟平板:漫話被iPad打敗的眾平板

    泡泡網平板電腦頻道6月20日 就在微軟發布了自主品牌的Windows 8平板產品——Surface之後,國外網站AllthingsD發布了一則名為《好運,微軟》的漫畫,似乎是幽默的表達了對微軟在平板領域前景的一種不樂觀的預測,不過正如題目所言,儘管平板領域鏖戰連連,我們還是期待有一款產品能與
谷歌6月大戲:I/O大會發布Nexus平板

谷歌6月大戲:I/O大會發布Nexus平板

    泡泡網平板電腦頻道6月20日 這個六月真是個忙碌的月份,月初的蘋果WWDC帶來了Retina版MacBook Pro等新品,月中的微軟發布會發布了自有品牌的Windows 8平板Surface,再過幾天就到了月末的時段,谷歌I/O大會的大幕又要拉開,這次的新品又會是什麼呢?據Digitime
蘋果 Apple Music 即將為安卓平板電腦提供原生支持

蘋果 Apple Music 即將為安卓平板電腦提供原生支持

  12 月 4 日消息,據外媒報導,蘋果自家的流媒體音樂平臺 Apple Music 即將增加對安卓平板電腦的原生支持。  據悉,在最新的 Apple Music beta 中,蘋果正在測試對安卓平板設備的支持。平板電腦版 Apple Music 更友好的設計可以更方便地切換導航,以利用更多屏幕空
與iPad競爭 傳微軟將推自有平板電腦

與iPad競爭 傳微軟將推自有平板電腦

    泡泡網平板電腦頻道6月18日 微軟今天將在洛杉磯舉行媒體活動,預計此次活動上將發布一款由微軟自己打造的新款平板電腦,以便更好的與蘋果公司推出的iPad在市場上競爭。    匿名來源的消息稱,微軟已經找到軟硬體最好的結合方式來與蘋果競爭,這就是推出自己的平板。預計微軟會定製搭載ARM處理器的平
雙屏索尼Tablet P放出Android4.0升級

雙屏索尼Tablet P放出Android4.0升級

    泡泡網平板電腦頻道6月18日 據SlashGear報導,擁有兩個獨立顯示屏的索尼Tablet P平板電腦目前已經可以升級至Android 4.0。    索尼Tablet P獨特風格看起來與任天堂DS有點相像,是當前唯一一款可摺疊的雙屏幕平板電腦,無疑在升級Android 4.0的過程中面臨
微軟今發布自有Windows8平板Surface

微軟今發布自有Windows8平板Surface

    泡泡網平板電腦頻道6月19日 今日早間,微軟在加利福尼亞州洛杉磯召開了獨家微軟媒體發布會,會上微軟展示了一款運行Windows 8系統的平板產品——Surface,這款產品被微軟稱作是「真正的平板」。    據悉,這款平板厚度約為9.3mm,採用了全鎂機身,重量大約為576克。該平板配有3m
華為5G平板配置曝光:雙版大屏+120Hz+隔空手勢

華為5G平板配置曝光:雙版大屏+120Hz+隔空手勢

  1月4日消息,近日國外知名爆料人Teme曝光了一組華為MatePad Pro 5G版的配置信息。信息顯示,華為這款全新的5G平板產品將提供10.8英寸及12.8英寸兩個版本,屏幕為120Hz的LCD屏,支持3D人臉識別與隔空手勢操作。  此外,華為MatePad Pro 5G版還將配備表現更為優