當前位置:
首頁 > 最新 > Content Aware ABR技術(四)

Content Aware ABR技術(四)

在本系列前面的帖子中,我們梳理了Netflix、YouTube和Beamr在ABR方面的一些進展,本文將簡要介紹一下編碼優化領域的另一位成員—EuclidIQ的技術動態。

為了在有限帶寬和較低成本開銷下提供更好的視覺體驗,在實際應用中OTT視頻分發平台一般採用ABR技術進行編碼傳輸。在傳統ABR技術框架中,每個源視頻通過降採樣和升採樣產生多個解析度版本,每種解析度的視頻進一步以多個碼率編碼,這些解析度和碼率的不同組合被稱為編碼階梯(或配置)。用戶在觀看視頻流時,客戶端根據實際網路帶寬以及設備情況選擇最佳的解析度和碼率組合以期達到較好的觀看體驗。而在此之前,內容提供商需要提前編碼和存儲對應所有解析度和碼率組合的碼流,從而應對各種可能出現的需求。

目前這種ABR技術最常見的問題是這些解析度和碼率組合太過死板,沒有考慮任何視頻內容特性。對於具有較高複雜度的視頻(如體育比賽或動作電影),上述給定組合下的碼率可能會比較低,導致編碼後的視覺質量不佳。相反,對於簡單場景的視頻(如動畫或視頻會議),上述給定組合下的碼率可能會過高,使得帶寬浪費。

為了解決傳統ABR存在的上述問題,許多編碼公司目前都在嘗試提出新的技術實現使得ABR編碼根據視頻內容自適應進行(Content-Adaptive Encoding, CAE)。CAE技術能從以下幾個方面改善ABR流傳輸。對於簡單場景的視頻,CAE可以調整編碼組合使得碼率更低一些,用戶就能夠在相同碼率下觀看更高解析度的視頻,在帶寬節省的同時觀看體驗更佳。對於複雜場景的視頻,CAE在編碼過程中可以更加高效地分配比特,在保持總體碼率不變情況下改善編碼視頻的視覺質量。通過加入這種內容自適應技術,原有的解析度和碼率組合會更加精簡,從而有效降低內容提供商的編碼和存儲開銷。

通常有兩種應用CAE的方法:一種是將CAE應用到編碼器的內部,基於視頻內容以及人眼視覺特性方面的因素來調整編碼決策參數;另一種是將CAE應用到編碼器的外部,根據類似的特性優化調整外部編碼參數(如碼率等)。此外,根據對視頻內容建模的粒度大小,圖1 展示了CAE技術多種實現方式。其中,內部CAE對視頻內容建模更加精細、粒度更小,而外部CAE更加粗略一些,一般從更宏觀的角度對視頻內容進行建模。

圖1 CAE技術的分類

Per-category CAE:在per-category CAE中,針對不同類型的視頻會產生不同編碼配置。視頻分類可以是廣義上的分類,比如VQEG定義的視頻會議、電影、體育、音樂視頻等,也可以是電影類型的分類,例如戲劇、動作電影、動畫等。在這種分類下,只能粗略地針對某一類的視頻調整編碼配置,例如對簡單場景的視頻可以降低碼率。然而,這種分類可能過於粗糙,因為在某一大類中,不同視頻之間仍有較大的區別,因此使用同一編碼配置很不精確。

Per-title CAE:Per-title CAE最初由Netflix提出,針對每個具體的視頻都會得出相應的編碼配置(本系列之前的帖子已有詳述)。根據視頻不同解析度下的rate-quality曲線,選擇出最優的解析度和碼率組合。這種CAE存在的問題是,如果視頻較長(如電影等),既包含複雜場景又包含簡單場景,per-title技術得到的編碼配置可能不夠靈活,不能有效應對視頻內部不同場景的變化。

Per-segment CAE:Per-segment CAE將輸入視頻劃分為多個片段,根據上述per-title的方式為每個片段獲取最佳的解析度和碼率組合。這些視頻片段可能是原視頻每隔一定時間間隔分割得到的,也可能是依據視頻場景檢測演算法在場景切換的地方分割而來。但是,由於視頻內容的動態變化,per-segment CAE仍然存在與per-title CAE類似的問題。

Per-frame/Per-block CAE:這類CAE技術是嚴格意義上的內部CAE,通過分析幀級的內容特性來調整編碼決策中的參數。例如,碼率控制演算法根據當前幀的內容調整幀級的量化參數。而per-block CAE更是深入到幀內每個編碼塊,根據當前編碼塊和其周圍編碼塊的內容調整模式選擇以及量化參數。因此,這類CAE技術能從微觀上深入到編碼器內部根據當前幀的內容特性選擇合適的編碼參數,可以進一步提高編碼效率。

1.EuclidIQ提出的CAE方案

EuclidIQ研究提出的CAE技術包含了內外兩部分(EuclidIQ沒有披露技術細節)。內部CAE使用 perceptual quality optimization (PQO ) 技術來根據視頻內容特性自適應調整量化參數。對於輸入的視頻幀,計算其空域和時域上的因子(包括luminance, variance, edge strength, global motion, differential motion, artifact detection, contrast sensitivity以及 structural similarity)形成重要性分布圖,如果某一區域的失真更容易被人眼察覺到,則該區域相對重要一些,在編碼時也會分配較多的比特。

一般而言,根據應用在編碼器中的位置,PQO可以分為預處理和後處理兩種,如圖2所示。預處理PQO通常會改變源視頻的特性,比如濾波操作等,使得輸入到編碼器的視頻已經發生了一些改變。後處理PQO通常對壓縮後的碼流進行處理,通過基於HVS相關的碼流分析操作來去除一些不重要的或者冗餘的數據,使得最終的碼流在保持視覺質量基本不變的情況下碼率更低。由於後處理PQO主要是去除視覺冗餘,因此不會改善原碼流的視覺質量。此外,由於後處理PQO不會對之前的編碼過程產生任何影響,如果之前的編碼已經產生失真,後處理操作是無法恢復的。

圖2 預處理、後處理操作的位置

與上述兩種PQO技術不同的是,EuclidIQ 的PQO集成在了編碼器內部(如圖3所示),在編碼的過程中根據內容特性決定當前幀哪部分重要(減小量化參數)哪部分不重要(增大量化參數),因此在改善重要區域視覺質量的同時可以從不重要的區域節省比特,這一點要優於後處理操作。EuclidIQ 的PQO技術已經應用到了H.264和HEVC編碼器中,同時適用於其他基於塊的編碼器如VP9、AV1等。

圖3 EuclidIQ PQO技術框架

EuclidIQ的外部CAE使用的是signal-adaptive bitrate estimation (SABRE) 技術,能夠為每個輸入視頻獲取其最佳的碼率點,該碼率點是達到目標編碼質量的最低碼率。具體而言,SABRE會分析當前切片的所有視頻幀,根據訓練的模型來估計達到目標質量所需要的最低碼率。EuclidIQ提出的外部CAE技術與其他公司的有兩點不同之處。第一個是EuclidIQ的質量評估工具,該質量評估工具是基於使用了EuclidIQ自主設計的主觀測試方法產生的MOS數據集訓練得到的。第二個是其SABRE技術與基於PQO技術的編碼器內外協作,能夠在保證目標質量的同時最大程度地降低碼率消耗。

2. EuclidIQ對Netflix VMAF工具的評估

之前,Netflix通過一篇技術文章「Toward a Practical Perceptual Video Quality Metric」公布了他們最新研究出的視頻質量評價工具Video Multimethod Assessment Fusion (VMAF)。VMAF據稱要比現有的其他一些客觀指標能夠更好地反映人眼對壓縮視頻質量的感知結果。自從Netflix開源VMAF以來,VMAF一直被業界認為很有可能替代傳統視頻質量評價指標(如PSNR等)。最近,EuclidIQ研究提出了一個新的主觀測試方法,能夠更加快速精確地計算壓縮視頻的mean opinion score (MOS) 分值。那麼自然有個問題:VMAF與MOS的相關性如何呢,請看下文講解。

基於新的主觀測試方法,EuclidIQ進行了兩項雙盲主觀測試。第一個測試由8位測試人員完成,第二個由9位測試人員完成。每項測試包含了20個具有不同特性的1080p視頻切片,單個時長在10到30秒之間。每個切片由兩個不同的H.264編碼器(參考編碼器A和增強版編碼器B)以三個不同的碼率點編碼。因此,每個視頻切片最終會以6個不同的編碼配置編碼並隨機呈現給測試者進行打分。在實際測試時,每個切片的打分區間為1到5(1表示最差,5表示最好),並以0.5為步長分為9個分值。每個切片最終的MOS分值為所有打分的平均值。與此同時,對總共240個測試切片的每一個切片計算其每一幀的PSNR值和VMAF值,平均後得到整個切片的最終值。實驗中,VMAF使用默認配置。

根據上述240個測試切片的結果,圖4給出了PSNR vs. MOS以及VMAF vs. MOS的散點圖,可以發現:與PSNR相比,VMAF與MOS的相關性更高一些,這與Netflix給出的結果基本一致。

圖4 PSNR vs. MOS和VMAF vs. MOS的相關性圖

此外,對於給定的編碼切片,如果編碼器A得到的MOS值高於編碼器B,那麼編碼器A得到的VMAF值是否也高於編碼器B呢?表1給出了其中兩個切片的編碼測試結果,AirChicago(7700 kbps)和AlpineCow(3650 kbps)。對於AirChicago,編碼器A得到的VMAF值高於編碼器B,與MOS值的表現一致,然而編碼器B得到的PSNR值卻高於編碼器A。對於AlpineCow,PSNR與MOS的表現一致,但VMAF卻與之相反。

表1 VMAF、PSNR與MOS的結果比較(部分切片)

表2進一步給出了所有測試切片的PSNR vs. MOS以及VMAF vs. MOS的一致性比較結果,可以發現,與VMAF相比,在使用不同的編碼器時PSNR與MOS的一致性更高,PSNR為0.89,而VMAF只有0.70。這個結果讓人有些驚訝,因為VMAF在設計時考慮了眾多主觀特性,理論上其與MOS的一致性更高一些。

表2 VMAF、PSNR與MOS的一致性比較

另外,圖5 給出了序列AirChicago在不同評價指標下的rate-quality曲線圖,左邊是MOS,右邊是VMAF。該序列基於MOS的BD-Rate值(編碼器B相對編碼器A)增益為24.5%,而基於VMAF的BD-rate卻有2.2%的loss。此外,本實驗還進一步計算了所有測試序列不同評價指標下的BD-Rate值(編碼器B相對編碼器A),基本上分為以下三類:

1.編碼器A的結果優於編碼器B(BD-Rate 值loss高於5%)

2.兩者近乎一樣(BD-Rate 值處於-5%到+5%之間)

3.編碼器B的結果優於編碼器A(BD-Rate 值增益高於5%)

圖5 Rate-quality曲線圖(AirChicago)

根據上述計算結果,表3給出了所有測試序列在BD-Rate計算結果上的一致性比較(PSNR vs. MOS以及VMAF vs. MOS)。此時可以再次發現,與VMAF相比,PSNR與MOS的一致性更高,PSNR為0.78,VMAF為0.43。在所有測試序列上,基於MOS的BD-Rate增益為20.4%,基於VMAF的BD-Rate增益為2.7%,基於PSNR的BD-Rate增益為13.5%。眾所周知,通常主觀測試的結果在不同性能編碼器上的差異要比其他客觀指標的大,然而從該數據集的測試結果可以看出,VMAF的BD-Rate結果卻表明編碼器A和B的表現幾乎相同。(註:實驗條件已說明編碼器B要優於編碼器A)

表3 VMAF、PSNR與MOS的一致性比較(基於BD-Rate值)

從以上測試結果可以看出,當不考慮編碼器的差異性時,也就是評價指標獨立於編碼器,VMAF vs. MOS的相關性要比PSNR vs. MOS的高。相反,當考慮編碼器之間的差異時,VMAF與MOS的相關性(或一致性)較低。例如,考慮各指標在不同編碼器之間的一致性(PSNR vs. MOS和VMAF vs. MOS),以及不同指標下BD-Rate值的一致性,都有類似的結果。VMAF在理論上應該與MOS的相關性更高,因為Netflix是用主觀MOS數據訓練VMAF模型的。然而,在後兩項測試中,VMAF vs. MOS的相關性卻比較低。一部分可能的原因是,Netflix使用的MOS數據與本實驗的有一定的不同,畢竟兩者主觀測試方法存在差異。也有可能是因為Netflix在訓練VMAF模型時使用的解析度大小不一,導致VMAF在單一解析度上的精度有所下降。

1.http://euclidiq.com/improving-adaptive-bitrate-streaming-via-euclidiqs-content-adaptive-encoding/

2.http://euclidiq.com/modeling-levels-content-adaptive-encoding/

3.http://euclidiq.com/understanding-industry-approaches-to-perceptual-quality-optimization/

4.http://euclidiq.com/well-netflixs-vmaf-metric-capture-video-quality/

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 媒礦工廠 的精彩文章:

VP9到HEVC轉碼的幀間加速演算法

TAG:媒礦工廠 |