使用高级视频质量工具 AVQT 评估视频 | WWDC 演讲实录
本文根據 Pranav Sodhani 在 WWDC 2021《Evaluate videos with the Advanced Video Quality Tool 》主題分享翻譯。Pranav Sodhani,來自 Apple 顯示和色彩技術團隊,在算法開發、機器學習、色彩科學和視頻技術方面具備專業的知識。 譯者陶金亮,網易云信資深音視頻開發工程師,擁有多年端側音視頻工作經驗。
本文主要分享高級視頻質量工具 (AVQT) 是如何幫助我們準確評估壓縮視頻文件的感知質量。利用 AVFoundation 框架,AVQT 支持 SDR 和 HDR 域中的各種視頻格式、編解碼器、分辨率和幀速率,從而實現簡單高效的工作流程——例如,無需解碼為原始像素格式等。AVQT 使用 Metal ,將繁重的像素級計算下沉到 GPU 來實現高處理速度,通常用于分析超過實時視頻幀速率的視頻。憑借優秀的易用性和計算效率,AVQT 可以實現從視頻目錄中刪除低質量視頻,以免它們以其他方式影響應用程序中的用戶。
使用背景
在本次演講中,我們將介紹一種視頻質量工具——AVQT(Advanced Video Quality Tool) ,并展示如何使用它來評估應用或內容創建工作流程中壓縮視頻的感知質量。讓我們從典型的視頻交付工作流程開始。
在這樣的工作流程中,高質量的源視頻經過視頻壓縮和可選的視頻縮減以生成具有較低比特率的視頻。然后可以通過帶寬受限的網絡輕松傳送這些低比特率視頻。
使用此類工作流的幾種方法包括 AVFoundation API(例如 AVAssetWriter)、應用程序(例如 Compressor),它也可以是您自己的視頻壓縮工作流之一。
常見的縮小和壓縮原始視頻會導致視頻模糊。這會導致源視頻主觀質量下降,并產生可見的不清晰。這種不清晰的一個例子是壓縮視頻中的塊狀效應,如右側的幀所示。
另一個例子是當視頻看起來模糊并且視頻細節開始消失時,這種偽影會對消費者的視頻質量體驗產生不利影響。我們都知道,消費者期待高質量的視頻體驗。因此,實現這一功能非常重要。
現在,執行此操作的第一步是評估所交付內容的質量。最準確的方法是讓真人觀看視頻并根據視頻質量等級對其進行評分。但如果我們想評估大量視頻,這非常耗時且不可擴展。這里我們可以選擇另一種表征視頻質量的客觀方法,以便我們可以自動化該過程以提高速度和可擴展性。
在這樣的設置中,感知視頻質量工具將壓縮視頻和源視頻作為輸入并輸出視頻質量分數,該分數可以是 1 到 5 范圍內的浮點數,并模擬真實的人對壓縮視頻的評分。
AVQT 是什么?
今天,我們很高興可以為開發人員提供這樣一個感知視頻質量工具——高級視頻質量工具 Advanced Video Quality Tool,簡稱 AVQT,下面讓我們了解更多關于 AVQT 的信息。
那么 AVQT 究竟是什么?AVQT 是為 macOS 命令行提供的可執行文件,它試圖模仿真實的人們是如何評價壓縮視頻的質量的。我們可以使用 AVQT 來計算幀級別和段級別分數,其中段通常有幾秒鐘長。當然,我們還在 AVQT 中添加了對所有基于 AVFoundation 視頻格式的支持,包括 SDR 以及 HDR 等視頻格式,如 HDR10、HLG 和杜比視界。
AVQT 的三大特性
接下來,我們要討論 AVQT 的三個關鍵屬性,這些屬性使其在跨應用程序中非常有用。首先,我們將看到主觀感知一致性,然后我們將討論 AVQT 的計算速度迅速,最后將展示為什么在預測視頻質量時設置觀看參數很重要。讓我們詳細了解其中的每一個。
主觀感知一致性
AVQT 與人類對視頻質量的看法密切相關,它適用于各種內容的類型,例如動畫、自然場景或體育等。我們發現,傳統的視頻質量指標,如 PSNR 和結構相似性(簡稱 SSIM),通常在不同的內容類型中不能都統一客觀地評價。
讓我們看一個例子。
這是來自高質量體育剪輯的幀,是我們的第一個源視頻。讓我們看看壓縮視頻中的同一幀,可以看到該幀確實具有足夠高的感知質量,它的 PSNR 得分約為 35,AVQT 得分為 4.4。
接下來,我們對第二個源視頻進行相同的測試。這種情況下的壓縮視頻似乎有可見的偽影,特別是,我們可以在人臉看到一些偽影。但是,有趣的是,它獲得了大約 35 與上個視頻相同 PSNR 分數,但這次 AVQT 將其評為 2.5 左右,這意味著質量很差。我們認為這里的 AVQT 分數是正確的預測。但這只是我們選擇的一個示例,說明跨內容評估中可能出現的問題。
我們想在不同的視頻集上測試 AVQT 的感知準確性。因此,我們在公開可用的視頻質量數據集上對其進行了評估。這些數據集包括源視頻、壓縮視頻和人類受試者提供的視頻質量分數。
在這里,我們看一下兩個數據集的結果:Waterloo IVC 4K 和 VQEG HD3:
-
Waterloo IVC 數據集:包括 20 個源視頻和 480 個壓縮視頻,涵蓋編碼和縮放工件,它涵蓋四種不同的視頻分辨率和兩種不同的視頻標準。
-
VQEG HD3 數據集:相對較小,它有 9 個源視頻和 72 個壓縮視頻,這些是使用 1080p 視頻分辨率的視頻編碼生成的。
為了客觀地衡量視頻質量指標的性能,我們使用了 Person 相關系數和 RMSE 距離度量:
-
Pearson 相關系數,或簡稱 PCC,衡量預測分數與主觀分數的相關程度,更高的 PCC 值意味著更好的相關性。
-
RMSE 衡量預測與主觀分數的差距,較低的 RMSE 值意味著較高的預測精度。
現在,我們要評估 AVQT 對人類受試者給出的分數的預測能力。如下圖,x 軸上是真實的主觀視頻質量分數, y 軸上是 AVQT 預測的分數,每個點都代表一個壓縮視頻。
從散點圖中可以看出,除了少數異常值外,AVQT 在預測該數據集的主觀分數方面做得很好,這也反映在高 PCC 和低 RMSE 分數上。我們在 VQEG HD3 數據集上也看到了高性能。
計算速度迅速
讓我們繼續討論 AVQT 的計算速度。我們都知道,高計算速度對于確保可擴展性非常重要。AVQT 的算法經過設計和優化,可以在 Metal 上快速運行,這讓我們可以非常快速地瀏覽大型視頻文件。同時,它還負責本地處理所有預處理,使得我們不必解碼視頻并離線縮放它們。AVQT 可以以每秒 175 幀的速度運行 1080p 視頻。因此,如果我們有時長 10 分鐘、 24 Hz 1080p 的視頻,AVQT 可以在 1.5 分鐘內計算其質量。
設置觀看參數
我們要討論的最后一個屬性是設置觀看參數。我們對視頻的觀看設置會影響我們在觀看視頻時感知到的視頻質量,特別是,顯示尺寸、顯示分辨率和觀看距離等因素可能會掩蓋或夸大視頻中的偽影。
為了解決這個問題,AVQT 將這些參數作為工具輸入,然后隨著這些參數的變化嘗試預測正確的趨勢。我們來看一個這樣的案例,考慮兩種情況:
在場景 A 中,我們在 4K 顯示器上以 1.5 倍屏幕高度的觀看距離觀看 4K 視頻。在場景 B 中,我們在同一顯示器上觀看相同的視頻,但現在的觀看距離是屏幕高度的三倍。顯然,在場景 B 中,我們會錯過一些在您仔細觀察時可見的細節。這意味著我們在場景 B 中感知到的視頻質量將高于場景 A。可以通過 AVQT 計算由于觀看距離導致的最終不同質量水平視頻的得分,從而反映出某種變化趨勢。
如上圖顯示,隨著觀看距離從 1.5H 增加到 3H,AVQT 分數也會增加。如果想要了解更多的技術細節,可以查看該工具提供的 README 文檔。
既然大家都對 AVQT 感到興奮,那么讓我們看看該如何正確使用該工具。我們將很快通過蘋果開發者門戶(https://developer.apple.com/ )向所有人提供 AVQT。
我們先來看一個操作演示。首先,我已經下載了 AVQT 并在系統上完成了安裝,查看“which AVQT”,即可看到 AVQT 被放置在 usr/local/bin 目錄中。現在,我們可以調用 AVQT,幫助命令來閱讀有關 AVQT 支持的不同標志的用法以及其他更多信息。
(視頻)
當前目錄中有一個示例參考和一個示例壓縮視頻,我通過它們來運行 AVQT。我們將提供參考和測試的文件作為輸入并指定一個輸出文件,將輸出文件命名為 sample_output.csv。該工具會在屏幕上打印進度并報告分段分數。默認片段持續時間為 6 秒,由于此片段長 5 秒,因此我們只有一個片段。接下來,看看輸出文件,在此處可以查看幀級別分數。最后,我們將細分級別的分數放在底部。
除了演示時候展示的選項外,該工具還內置了一些其他功能。
例如,我們可以使用 segment-duration 和 temporal-pooling 標志來更改聚合幀級分數的方式。同樣,也可以使用查看距離和顯示分辨率標志指定查看設置。
請參閱自述文件以獲取更多詳細信息。到目前為止,我們已經了解了 AVQT 的一些關鍵屬性,也演示了如何在一對視頻上使用命令行工具來生成視頻質量分數。
AVQT 的使用案例
現在讓我們看一個特定的案例,我們可以使用 AVQT 來優化 HLS 的比特率。
HLS(是由蘋果公司提出基于 HTTP 的流媒體網絡傳輸協議)層以不同的比特率進行編碼。我們知道選擇這些比特率并不總是一個簡單的過程。
為了幫助解決這個問題,我們在 HLS 創作規范文檔中發布了一些比特率指南。這些比特率只是通過 HLS 交付典型內容的初始編碼目標。我們也知道不同的內容具有不同的編碼復雜度,這意味著最佳比特率因不同的內容而異。
因此,適用于一種類型的內容,例如:動畫電影的比特率可能不適用于體育賽事。
下面來看看如何使用 AVQT 作為反饋,來幫助我們確定內容的最佳比特率。首先,我們從初始目標比特率開始,使用這個比特率來編碼我們的源視頻并創建 HLS 層。然后,我們通過源視頻和編碼的 HLS 層使用 AVQT 計算視頻質量分數。最后,我們可以分析 AVQT 分數來決定是要增加還是減少 HLS 層的目標比特率。
為了演示這一點,我們選擇一個特定的 HLS 層。在這里,我們選擇每秒 11.6 M 的 2160p 分辨率的視頻。然后,我們將使用推薦的比特率對前兩個序列:動畫和體育進行編碼。在我們準備好編碼層后,就使用 AVQT 來計算它們的視頻質量分數。
下圖顯示了兩個視頻序列的 AVQT 分數。對于這一特定層,我們想要得到高視頻質量,因此我們將閾值設置為 4.5,表示接近優秀的質量。可以看到,雖然這個比特率對于這個動畫剪輯來說已經足夠了,但對于體育剪輯來說還不夠。
因此,我們返回并使用此反饋來調整我們的比特率目標,需要提高體育剪輯的比特率目標并重新計算其 AVQT 分數。
我們的目標是將比特率提高 10%。在這里,我們繪制了體育剪輯的新 AVQT 分數,更新后的分數現在高于我們預期的四分半閾值,并且它也更接近于動畫內容的視頻質量。
最后,我們希望演講可以告訴大家一點:視頻壓縮會導致可見的偽像,從而影響消費者的視頻質量體驗。
我們可以使用 AVQT 評估壓縮視頻的質量。AVQT 作為 macOS 命令行工具提供,計算速度快并且可以設置觀看參數,它還支持所有基于 AVFoundation 的視頻格式,也可以使用 AVQT 來優化 HLS 層的視頻質量。
總結
以上就是本次 Pranav Sodhani 在 WWDC 2021 大會上分享的全部內容譯文,若有翻譯不合理處,歡迎指正交流。
目前網易云信全平臺實現的超分功能,剛好可以使用 AVQT 來評測超分之后的主觀圖像質量,也歡迎大家來使用最新的 SDK 來體驗我們的超分功能。
作者介紹
Pranav Sodhani,來自 Apple 顯示和色彩技術團隊。Pranav 在算法開發、機器學習、色彩科學和視頻技術方面具備專業的知識。他于 2017 年從加州大學洛杉磯分校 (UCLA)獲得計算機科學碩士學位,并于 2015 年從印度理工學院古瓦哈提(IIT G) 獲得電氣工程學士學位。 在加拿大和韓國大學進行研究,在國際機器學習會議上發表過論文。 獲得多項獎學金和獎項,包括 O.P. Jindal 工程與管理獎學金 (OPJEMS)、Mitacs Globalink 獎、第四屆國際數學奧林匹克競賽金牌得主。同時他也是“Haha Reacts Only - Pranav Sodhani 原創笑話集”的作者,于 2018 年出版,面向印度觀眾。
-
分享實錄視頻:https://developer.apple.com/videos/play/wwdc2021/10145/
-
參考文檔:https://www.its.bldrdoc.gov/vqeg/vqeg-home.aspx
總結
以上是生活随笔為你收集整理的使用高级视频质量工具 AVQT 评估视频 | WWDC 演讲实录的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 8问8答,一篇文章读懂空间音效
- 下一篇: 技术干货 | C++20 四大特性之一: