Netflix推出CAMBI用於檢測條帶失真

livevideostack 發佈 2021-10-21T03:18:24+00:00

條帶失真非常討厭,但首先,你可能更想知道,什麼是條帶失真?我們要感謝 Christos Bampis、Kyle Swanson、Andrey Norkin 和 Anush Moorthy,感謝他們富有成果的討論,感謝所有參與主觀測試的人使這項工作成為可能。


作者 | Joel Sole、Mariana Afonso、Lukas Krasula、Zhi Li和Pulkit Tandon

譯者 | 張文杰

技術審校 | 李智(本文作者之一)

CAMBI 影音探索

#007#


條帶失真非常討厭,但首先,你可能更想知道,什麼是條帶失真?


條帶失真


當你正在家中觀看全新電視上的節目,內容優質並且畫質卓越,但是突然,你注意到在美麗的日落場景中出現了一些條帶。那是什麼?科幻情節?設備故障?不,更有可能是條帶失真,一種本該是平滑變化的圖像區域,卻出現了虛假階梯邊緣的現象。


在天空、日落、黑暗場景,或平面背景等場景中,都可能出現條帶。然而無論何種場景,我們都不喜歡它,任何人也不應該因為條帶的出現而從故事情節中分心。


視頻信號中的輕微變化都會造成條帶失真,而某些像素值的這種輕微變化會不同程度地影響感知質量。特別是當遇到如下觀看條件時,條帶會更加地明顯:在一個黑暗的,沒有屏幕反射的環境下,近距離觀看一個大尺寸、高質量、對比度好的電視。


以下是一些例子。由於我們不知道讀者是在何時何地閱讀這篇博文,因此我們誇大了條帶失真的影響,以便你了解要點。第一個例子來自Netflix早期的一部原創劇集。注意觀察天空,看到條帶了嗎? 觀看環境(背景亮度、環境照明、屏幕亮度、對比度、觀看距離)會影響條帶的可見度。你可以嘗試改變這些因素,去體會條帶的感知是如何受到影響的。



條帶失真也可以在壓縮圖像中找到,正如下面這幅圖像(我們經常用來說明這一點):



就連「旅行者」號探測器也在途中遇到了條帶效應。圖片來自於xkcd :-)



條帶失真到底有多令人不悅?


我們創建了一個實驗來測量條帶失真存在時的感知質量。我們要求參與者對不同解析度、碼率和抖動的視頻進行評分,從0分(無法觀看)到100分(難以察覺)。參與者總共對86個視頻進行了評分,大多數內容都容易出現條帶效應,而有些則沒有。所收集的平均主觀意見分(MOS)覆蓋了完整的分數範圍。

根據通常的指標,實驗中可感知條帶效應的視頻應該是中等到高質量的(即PSNR>40dB, VMAF>80)。然而,實驗分數顯示了完全不同的結論,我們將在下面看到。


如果你不能發現它,你就無法修復它


Netflix對其視頻一直進行著大規模的編碼,並同時對完成的編碼進行大規模的質量評估。這樣的質量評估不可能依靠人來完成。這就是客觀視頻質量指標的用武之地,它們可以自動分析出可操作性的編碼實際質量。


數十年來,PSNR(Peak Signal to Noise Ratio,峰值信噪比)一直是視頻質量評估的一種主要方式:它是基於編碼視頻與源視頻的平均像素距離來計算指標。在條帶效應下,這個距離相對於它的感知影響來說是很小的。因此,PSNR數值中能體現條帶效應的信息很少。主觀實驗的數據證實了PSNR和MOS之間缺乏相關性:



另一個視頻質量指標是VMAF,由Netflix與幾個合作者共同開發,並在Github上開源。VMAF已經成為評估編碼系統性能和驅動編碼優化的一種「既成」標準,是Netflix編碼質量的關鍵因素。然而,VMAF在初期主要是針對壓縮失真以及縮放失真而設計的,它並未單獨考慮條帶失真的情況。VMAF在一般情況下工作得非常好,但是和PSNR一樣,在存在條帶效應時,它與MOS缺乏相關性:


VMAF、PSNR和其他常見的視頻質量指標不能正確地檢測條帶失真。如果我們不能發現問題,我們就不能採取措施修復它。理想情況下,我們希望實現的條帶失真檢測器包括以下特徵:


  • 條帶失真引起的內容失真與MOS高度相關
  • 簡單、直觀、有針對性,並基於人類視覺系統的準則
  • 對於我們的服務中不同解析度、質量和比特深度的視頻具有一致的性能
  • 對於視頻編碼中常見的抖動處理具有魯棒性


我們在已知工作中沒有找到任何符合我們目標的算法,所以我們著手開發一個。


CAMBI


我們用傳統的、非神經網絡(NNN,non-neural network)的方法設計了一種算法來滿足我們的要求。這是一種源自第一性原理的白盒解決方案,其中只使用了幾個基於視覺原理的參數,我們稱之為:基於對比度感知以及多空間尺度的條帶指數(CAMBI,Contrast-Aware Multiscale Banding Index)。


CAMBI算法所涉及的步驟框圖如下所示。作為一個無參考條帶檢測器,CAMBI將一個(失真的)視頻作為輸入,並生成一個條帶可見度分數作為輸出。該算法對編碼視頻的幀提取多個空間尺度的像素級映射圖,隨後,它將這些映射圖合成為一個由人眼對比敏感度函數(CSF,Contrast Sensitivity Function )驅動的單一指標。


預處理


每個輸入幀都要經過三個預處理步驟。


第一步提取亮度分量:雖然色度通道也存在條帶,但與過去大多數工作一樣,我們假設大部分條帶可以在亮度通道中獲取。第二步是將亮度通道轉換為 10比特(假設輸入是 8比特)。


第三,我們考慮了視頻編碼里常出現的抖動處理。抖動是一種有意使用的噪聲,用於使壓縮產生的量化誤差隨機化,其被證明會降低條帶的可見性。為了考慮抖動和非抖動內容,我們使用 2×2 濾波器來平滑強度值,近似於人類視覺系統中所做的低通濾波。


多空間尺度條帶置信度


我們認為條帶檢測是一個對比度檢測問題,因此條帶可見度主要由CSF控制。CSF本身在很大程度上取決於條帶的對比度以及空間頻率。CAMBI 通過查看像素強度的差異明確地檢測出像素之間的對比度,並在多個空間尺度上進行此操作以將空間頻率考慮其中。我們會計算不同對比度和不同空間尺度下的像素級條帶置信度,每一個計算結果可作為當前幀的一張CAMBI映射圖。條帶置信度計算還考慮了取決於局部亮度的亮度變化敏感性。在此過程的最後,每幀可得到20張獲取了條帶信息的CAMBI映射圖,包含4個對比度和5個空間尺度。


時空域池化


將CAMBI映射圖進行時空域池化,即可得到最終的條帶指數。通過我們的觀察,條帶失真屬於CSF的低頻率線性階段(即韋伯定律適用的階段),基於此我們進行空域池化。首先,通過保持每個位置的最大加權對比度,我們在對比度維度上進行池化,結果為五張映射圖,每個尺度上一張。在本文的下方有一個此類映射圖的示例。


由於質量最差的區域主導了視頻的感知質量,在對每個尺度的映射圖進行空域池化時,我們只考慮了條帶效應最大的一部分像素。每個尺度的結果得分與基於CSF的權重線性組合,從而得到每一幀的CAMBI。


根據我們的實驗,CAMBI在單個視頻鏡頭中是時域穩定的,因此簡單的平均值足以作為跨幀的時域池化機制。但是需要注意的是,對於具有不同特徵的多個鏡頭的視頻,這種假設會失效。


CAMBI與主觀評價的一致性


我們的結果表明,CAMBI與MOS具有高度相關性,而如上文所述,VMAF和PSNR與MOS的相關性非常低(譯者註:此處特指條帶效應的檢測)。下表顯示了兩個相關係數,斯皮爾曼等級相關係數(SROCC)和皮爾遜相關係數(PLCC):

下圖顯示了CAMBI與主觀分數具有較高的相關性。在CAMBI值5左右,觀眾會開始對畫面里的條帶失真感到不悅。請注意,與現有其他質量指標不同,CAMBI與MOS是反相關的關係:CAMBI分數越高,條帶越明顯,因此質量越低。


案例:日落場景


我們使用日落作為一個例子,來展現條帶效應以及CAMBI是如何對它評分的。下面我們也使用了多種虛假顏色來展示同一日落場景以使條帶失真更加明顯。




圖像中的海洋部分沒有條帶失真。在天空中,條帶的寬度隨著與太陽距離的增加而增加。下面的五張映射圖,每個尺度一張,獲取了不同空間頻率的條帶置信度。考慮到CSF,對這些映射圖進行進一步的空域池化,得出該幀的CAMBI評分為19。根據MOS數據,這在感知上介於「令人不悅」和「非常惱人」之間。


開源和下一步


對多種編碼參數魯棒的條帶檢測機制可以幫助識別視頻中條帶失真的出現,並作為緩解條帶效應的第一步。在未來,我們希望利用CAMBI開發一個新版本的VMAF,以提升VMAF的條帶失真魯棒性。


我們將CAMBI作為libvmaf中一個新的獨立特徵進行開源。與VMAF類似,CAMBI是一個有機項目,將隨著時間的推移逐步完善。我們歡迎任何反饋和貢獻。




致謝


我們要感謝 Christos Bampis、Kyle Swanson、Andrey Norkin 和 Anush Moorthy,感謝他們富有成果的討論,感謝所有參與主觀測試的人使這項工作成為可能。


原文連結:

https://netflixtechblog.medium.com/cambi-a-banding-artifact-detector-96777ae12fe2




掃描圖中二維碼或點擊閱讀原文

了解大會更多信息

關鍵字: