2022 年 GTC 發布的下一代 NVIDIA GPU ,即 NVIDIA -GeForce RTX 40 系列、 NVIDIA RTX 6000 Ada generation 和數據中心的 NVIDIA L40 ,均采用新的 NVIDIA Ada 架構構建。
NVIDIA Ada 架構具有第三代光線跟蹤核心、第四代 Tensor 核心、多視頻編碼器和新的 Optical Flow 加速器。
為了讓您能夠充分利用新的硬件升級, NVIDIA 宣布了視頻編解碼器 SDK 和 Optical FlowSDK 的隨附更新。
NVIDIA 視頻編解碼器 SDK 12.0
AV1 是最先進的視頻編碼格式,與流行標準 H.264 相比,它提供了顯著的性能提升和更高的保真度。在 NVIDIA 安培體系結構上引入的視頻編解碼器 SDK 擴展了對 AV1 解碼的支持。現在,有了視頻編解碼器 SDK 12.0 , NVIDIA Ada 代 GPU 支持 AV1 編碼。

硬件加速 AV1 編碼是 AV1 向新標準視頻格式過渡的一個巨大里程碑。圖 1 顯示了 AV1 比特率節省如何轉化為令人印象深刻的性能提升和更高保真度的圖像。
峰值信噪比( PSNR )是一種視頻質量度量。為了達到 42 dB PSNR , AV1 視頻的比特率為 7 Mbps ,而 H.264 的比特率高于 12 Mbps 。在所有分辨率中, AV1 編碼的平均效率比 H.264 高 40% 。這一基本性能差異為 AV1 打開了支持更高質量視頻、更高吞吐量和高動態范圍( HDR )的大門。

如圖 2 所示,在 1440p 和 2160p 時, NVENC AV1 的效率是 NVENC H.264 的 1.45 倍。這種新的性能余量使圖像質量比以往任何時候都高,包括 8k 。
AV1 的優點最好與 NVIDIA Ada 架構上的多編碼器設計結合使用。視頻編解碼器 SDK 12.0 在具有多個 NVENC 的芯片上是新的,處理負載同時均勻分布在每個編碼器上。這種優化大大減少了編碼時間。多個編碼器與 AV1 格式相結合,使 NVIDIA Ada 能夠實時支持難以置信的 8k 、 60 fps 視頻編碼。
跨多硬件 NVENC 的 AV1 編碼實現了下一代視頻性能和保真度。廣播平臺可以獲得更高的實時流分辨率,視頻編輯器可以以 2 倍的速度導出視頻,所有這些都是由視頻編解碼器 SDK 實現的。
NVIDIA Video Codec SDK 12.0 將于 2022 年 10 月從 NVIDIA 開發中心下載。
NVIDIA Optical Flow 4.0
新的 NVIDIA Optical Flow SDK 4.0 版本引入了引擎輔助幀速率提升轉換( FRUC )。 FRUC 通過使用光流矢量插入插值幀,從低幀速率視頻生成高幀速率的視頻。這樣的高幀速率視頻顯示了跨幀運動的平滑連續性。其結果是提高了視頻播放的平滑度和感知的視覺質量。
NVIDIA Ada Lovelace 架構有一種新的 Optical Flow 加速器,即 NVOFA ,其性能比 NVIDIA-Ampere 架構 NVOFA.高 2.5 倍。它在包括 KITTI 和 MPI Sintel 在內的流行基準測試上提供了 15% 的質量改進。
FRUC 庫使用 NVOFA 和 CUDA 插入幀的速度明顯快于僅使用軟件的方法。它還可以與自定義 DirectX 或 CUDA 應用程序無縫協作,使開發人員易于集成。

除了基本的光流示例應用程序外,Optical Flow SDK 4.0 還包括 FRUC 庫和示例應用程序。 FRUC 庫公開了 NVIDIA FRUC API ,這些 API 采用兩個連續的幀,并在幀之間返回一個插值幀。這些 API 可用于任何視頻的上轉換。
與其他僅使用軟件的方法相比,使用 FRUC 庫的幀插值速度非常快。 API 易于使用,并支持 ARGB 和 NV12 輸入曲面格式。它可以直接集成到任何 DirectX 或 CUDA 應用程序中。
SDK 中包含的示例應用程序源代碼演示了如何將 FRUC API 用于視頻 FRUC 。此源代碼可以根據需要重用或修改,以構建自定義應用程序。
視頻 1 示例是使用 FRUC 庫創建的。如您所見,與左側視頻相比,右側視頻中前景對象和背景的運動看起來更平滑。
視頻 1.原始視頻和幀速率上轉換視頻的并排比較。(左)原始視頻以每秒 15 幀的速度播放。(右)以每秒 30 幀的速度播放的幀速率上調轉換視頻。使用 FRUC 庫創建的視頻。 (來源: http://ultravideo.fi/# testsequences)
FRUC 庫內部
下面簡要說明 FRUC 庫如何處理一對幀并生成插值幀。
一對連續的幀(前一幀和后一幀)被輸入 FRUC 庫(圖 4 )。

使用 NVIDIA Optical Flow API ,生成正向和反向流矢量圖。

然后,使用前后一致性檢查驗證圖中的流向量。未通過一致性檢查的流向量將被拒絕。此圖中的黑色部分是未通過前后一致性檢查的流向量。

使用可用的流矢量和先進的 CUDA 加速技術,生成更精確的流矢量以填充被拒絕的流矢量。圖 7 顯示了生成的填充流矢量圖。


使用兩個幀之間的完整流向量映射,該算法在兩個輸入幀之間生成插值幀。這樣的圖像可能包含幾個孔(沒有有效顏色的像素)。 這張圖顯示了馬頭附近和天空中的一些小灰色區域,這些區域是洞。
使用圖像域孔填充技術填充插值幀中的孔,以生成最終插值圖像。這是 FRUC 庫的輸出。

調用應用程序可以將此插值幀與原始幀交錯,以提高視頻或游戲的幀速率。圖 10 顯示了前一個圖像和下一個圖像之間交錯的插值幀。

最后,為了擴展可以利用 NVOFA 硬件的平臺, Optical Flow SDK 4.0 還引入了對 Windows Subsystem for Linux 的支持。
10 月推出 NVIDIA Optical Flow SDK 4.0 時,利用 NVIDIA Ada 架構和 FRUC 庫。如果您有任何問題,請聯系 Video DevTech Support 。
?
?