關於VMAF的ContentAwareEncoding和no-ref指標的思考
- 2020 年 2 月 14 日
- 筆記

本文來自NTT Data的多媒體架構師Fabio Sonnati的博客,對VMAF存在的問題進行了說明。LiveVideoStack對原文進行了翻譯,感謝Netflix高級軟件工程師李智對本文進行了審校,他是VMAF的主要開發者。最後,他對VMAF中存在的「昏暗場景下的條帶化失真(banding或者contouring)確實有評分過高的問題」進行的回應,給出了改進辦法。
文 / Fabio Sonnati
譯 / 元寶
審校 / 李智
原文 https://sonnati.wordpress.com/2019/12/03/thoughts-around-vmaf-contentawareencoding-and-no-ref-metrics/
李智:首先要感謝Fabio對VMAF的詳細而細緻的分析,這對於我們開發VMAF的後續版本非常有幫助。我也同意作者文章中的主要觀點:目前版本的VMAF對於昏暗場景里的條帶化失真(banding或者contouring)確實有評分過高的問題。
對於banding現象,需要注意的一點是,其可見性對於觀測的條件非常敏感,其中包括顯示設備的亮度,以及周邊環境的亮度等等。當訓練以及調整VMAF算法的時候,我們所收集的主觀數據假設了一個典型的觀看條件,其屏幕的亮度設置在50%左右,最大程度地減低了高低亮度兩端的clipping。但這可能很大程度影響了測試對象對banding的感知。如果將屏幕調至100%,則banding會更容易被看到。我同意未來版本的VMAF應該對低亮度信號的感知更明顯。在我們發佈新版本VMAF以前,一個暫時的提升VMAF對banding的感知度的方法是,對VMAF的輸入信號(包括原信號以及壓縮信號)進行gamma校正(比如選取一個居中的值,例如1.5),以提高低亮度部分的可見性。
介紹
基於內容的編碼(CAE)和基於場景的傳送(CAD)代表了當今流媒體的最新技術,這與其使用的編解碼器是無關的。這個行業已經花了很長時間來消化這些概念,但現在它們絕對已經成為主流:
由於每個內容都是不同的,因此需要以不同的方式來編碼。由於觀看時的場景是不同的,因此需要以不同的方式來傳送。流媒體服務的優化是需要CAE和CAD策略的。
我已經多次討論了這些邏輯以及對CAE和CAD策略的需求,並且多年來我也已為我客戶們的需求做了一些不同的優化。
說到內容感知編碼,最開始的做法是根據以往的經驗法則來確定源特徵(最終被分類)和編碼參數化之間的關係,從而在儘可能小的比特率下獲得令人滿意的質量水平。用來調整算法的「質量指標」通常是憑藉壓縮工程師(或一個「黃金眼」小組)的主觀視覺感受來決定的,或者更少見的,是通過一個專屬的主觀質量評估小組來決定的。按照經典的優化方法(https://sonnati.wordpress.com/2016/05/04/video-optimization-a-matter-of-adaptivity/),我們是將一個複雜的「域」進行細分,比如在子域中的視頻流,從而遞歸地嘗試分別優化它們(如果可能的話,之後再聯合優化),並使用人類主觀視覺測試來指導做決策。
最近,像VMAF之類的客觀質量評估指標引入了與人類感知高度相關的度量,從而對設計更精確的CAE模型和對提升客戶的實際質量體驗產生了極大的幫助。然而,是不是所有的問題都解決了呢?是否我們現在可以用更快更低廉的客觀質量指標來完全取代專家的眼睛和主觀測試呢? 這個答案是並不簡單的。根據我的經驗,是與否取決於很多因素,其中之一就是準確性……
準確性問題
在我的職業生涯中,我十分有幸能與思想開放的管理者、決策者和合作夥伴一起工作,他們敢於走出自己的舒適區來推動實驗的進行,為了質量、優化和創新努力嘗試一些大膽的想法。所以,在過去的十年里,我有機會參與了許多創新和令人興奮的項目,比如:
各種CAE的部署,通過對人類感知的研究來調整視頻編碼的優化和過濾算法,定義類似於VMAF的指標來訓練在CAE中實現的最先進機器學習算法,以及許多其他實現。在後續的文章中,我想要討論在不斷追求最佳編碼流程的過程中遇到的一些問題。
當VMAF在2016年發佈時,我對它非常感興趣,並用它為我的一個主要客戶改進了現有的CAE部署。如果你可以使用一個可擴展的客觀質量指標來代替一個昂貴而且耗時的主觀評價人工小組,你就可以在編碼優化、視頻處理、新編解碼器或其他有關視頻流的創造性想法上進行大量的實驗。一個可重複的質量指標對於「推銷」一個新想法也很有用,因為你可以用它來驗證這個想法可以帶來的收益(尤其是如果這個度量標準是由Netflix開發的,它能帶來即時的可信度)。
然而,自從開始使用VMAF以來,VMAF就在我的實驗中暴露出了一些次優的特徵,至少在一些情況下是這樣。特別地,我現在甚至可以認為VMAF的阿喀琉斯之踵是在黑暗或平滑的場景中估計質量時,其準確性會下降。
在CAE中,我們試圖儘可能使用最小的比特數來達到期望的最低質量水平。這在低複雜性、平坦的場景中帶來了非常低的比特率。另一方面,在這種場景中,任何在估計量化級別或者目標比特率時產生的錯誤,都可能會導致質量的嚴重下降,特別是有可能會引入大量的「條帶化」偽影。突然間,CAE的一個優點變成了一個潛在的缺點,因為一個標準的CBR編碼可以避免在上述相同的情況下產生帶狀偽影(儘管這樣做會浪費一些比特率)。
因此,必須有一個準確的質量指標來對應這個問題。條帶化是8位AVC / HEVC編碼的難題,但也會出現在10位HEVC視頻中,尤其是當信號源的能量較低時(可能是由於多次複雜化),而且錯誤的量化級別可以完全消除更高的精細的殘留頻率,從而引起條帶化。
如果我們使用VMAF之類的指標來調整CAE算法,我們需要格外的小心地保留一定的比特率誤差範圍,或者通過重新訓練VMAF來增加在此類問題情況下的敏感性 (也有其他的問題情況,比如在非常粗糙的噪點的情況下,主觀質量會被低估而不是高估,但這樣的問題會相對容易處理一些)。
我有充分的理由可以相信VMAF可能不是在所有情況下都是正確的選擇,因為就連YouTube在2019年的Big Apple大會上也指出,VMAF往往不能正確識別出條帶化的存在。

圖1所示,VMAF高估了黑暗、平滑場景的質量
我可以假設這種行為可能是由於在VMAF中評估質量的方式所導致的,例如在距離是2.5 xH的情況下可能會降低敏感度,但在距離是1.5 xH的VMAF 4 k中仍然存在此問題,也許這是VMAF所使用的基本指標里的一個缺陷。
4K案例
讓我們分析一個具體的案例。最近我主導了一個對SDR和HDR/HLG的4K內容的主觀質量評估。VMAF4K沒有針對HDR進行調整,因此我將只考慮SDR的情況。主觀評估小組的目標是調整一個支持HDR內容的自定義的質量評估指標,然後將其應用於訓練一個基於機器學習的並針對4K SDR/HDR視頻流的CAE部署。
下圖顯示了面板中使用的黑暗場景。左邊是原始版本,右邊是嚴重壓縮後的版本(點擊圖片可以放大)。

圖2.源文件和壓縮文件

圖3,同圖2,通過提升的gamma值來呈現在嚴重壓縮版本上的失真
在圖3中,你可以很容易地看到圖像質量已經嚴重損壞。圖片上充滿了條紋,並且運動(顯然在這裡不可見)是受到了「橘子醬色」失真的影響。然而,VMAF報告的平均得分為81.8分(滿分100分),相當於MOS中的4分(滿分1至5分),這是高估了主觀質量。
而主觀評估小組(全球共60人,總共獲取9000個以上的得分,1.5H的觀看距離,使用50英寸4K顯示器,DSIS方法)報告的MOS為3.2,在我看來仍然是很高的,而一個「黃金眼」小組的報告結果更為嚴重,是2.3。
從我們的研究中,我們發現,對於條帶化失真評分的方差顯著增加,可能是因為不同的個體視覺敏銳度和文化方面的差異(沒有經過訓練來識別特定人造品)所致。但是「黃金眼」們能很快就會發現視頻的質量問題,並且也有很大一部分觀眾(在我們的例子中,58%的分數在3分或以下)會認為質量不夠好,尤其是相對於4K的期望而言。
這是一個經典的在方差很大的情況下考慮均值的問題。VMAF還提供了一個置信區間,這對於做出更好的決策很有用,但是對於上述示例,它仍然預測了一個被高估了的「中心」,並且與MeanOpinionScore至少相差2 JND(更不用說「黃金眼」的分數了)。
下圖中我們可以在一個SDR的子集中看到VMAF 4K與主觀評價之間的相關性。紅線界定區域下面的點表示VMAF高估了預測質量的內容。任何使用這種估計做出的決策都可能導致錯誤的決定並帶來圖像質量失真。

圖4,MOS與VMAF 4K
仍有很長的路要走
VMAF並不是一個完美的工具,至少現在還不是。然而,它為在各種場景中方便地估計感知質量鋪平了道路。我們可能應該做的是要考慮它的本質到底是什麼:在通往準確和全面的質量評估的漫長旅程中,這是一個重要的「步驟」。
目前,如果VMAF在你的特定的場景中不準確,或者如果你需要其他類型的敏感性,可以將VMAF與其他數據結合在一起重新訓練,更改/集成基本的度量指標,或者創建自己的度量標準來關注特定的需求(可能不那麼通用,但在你的特定場景中會更準確)。你還可以使用類似ensemble的方法,將各種估計器混合使用以彌補它的缺陷。
我還看到了未來需要解決的其他問題:
-更好的時間掩蔽
-在時間和空間領域分數池化的不同方法
-在不同觀測條件下的質量推斷
作為最後的思考,我覺得YouTube的方法非常有趣。他們正在使用無參考指標來估計來源和編碼視頻的質量。無參考指標並不能衡量相對於源視頻的質量退化,而是在當源視頻無法獲得的情況下,可用以衡量壓縮視頻的「絕對」質量。
我認為它們不僅在源視頻不可訪問(或檢索和使用代價高昂)時可用於質量評估(比如監視現有的實時服務時一樣),而且它們對於作為CAE算法的內部指標時也很有用。
實際上,如果可以節省帶寬,現代的編碼流程常常試圖用「感知愉悅度」來換取對源的保真度。使用無參考指標(而不是全參考指標)就可以增進這種行為,類似於在超分辨率中所發生的情況,即DNN訓練中從更傳統的成本函數轉變為GAN中的「對抗」成本函數。