• <xmp id="om0om">
  • <table id="om0om"><noscript id="om0om"></noscript></table>
  • 計算機視覺/視頻分析

    AV1 編碼和 FRUC : NVIDIA Ada 架構上的視頻性能提升和更高保真度

    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 編碼。

    Line chart of PSNR by bit rate shows that AV1 supports higher-quality video at a lower bit rate compared to H.264.
    圖 1.AV1 和 H.264 的 PSNR 與比特率的比較

    硬件加速 AV1 編碼是 AV1 向新標準視頻格式過渡的一個巨大里程碑。圖 1 顯示了 AV1 比特率節省如何轉化為令人印象深刻的性能提升和更高保真度的圖像。

    峰值信噪比( PSNR )是一種視頻質量度量。為了達到 42 dB PSNR , AV1 視頻的比特率為 7 Mbps ,而 H.264 的比特率高于 12 Mbps 。在所有分辨率中, AV1 編碼的平均效率比 H.264 高 40% 。這一基本性能差異為 AV1 打開了支持更高質量視頻、更高吞吐量和高動態范圍( HDR )的大門。

    Bar chart shows that at 2160p, AV1 has a 1.45x bit-rate saving compared to NVENC H.264.
    圖 2.與 H.264 相比, AV1 的比特率節省

    如圖 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 應用程序無縫協作,使開發人員易于集成。

    Diagram shows four frames of a low frame-rate video being interleaved with interpolated frames to make a high frame-rate video.
    圖 3.幀速率上轉換

    除了基本的光流示例應用程序外,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 )。

    GIF image shows the previous and next frames of a horse and rider.
    圖 4.用作輸入的連續幀

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

    GIF image shows forward and backward flow vector maps.
    圖 5 正向和反向流矢量圖

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

    Picture shows black spots for rejected flow vectors.
    圖 6.驗證和拒絕的流向量

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

    Picture shows the rejected flow vectors filled in with other colors.
    圖 7.填充流矢量圖
    Image shows a closeup of pixel regions without valid color on the interpolated frame.
    圖 8.帶有灰色區域的新插值幀

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

    使用圖像域孔填充技術填充插值幀中的孔,以生成最終插值圖像。這是 FRUC 庫的輸出。

    Image shows the interpolated frame with pixel holes filled in.
    圖 9.FRUC 庫的輸出

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

    GIF shows interpolated frame between original two-frame GIF.
    圖 10 插值幀交錯

    最后,為了擴展可以利用 NVOFA 硬件的平臺, Optical Flow SDK 4.0 還引入了對 Windows Subsystem for Linux 的支持。

    10 月推出 NVIDIA Optical Flow SDK 4.0 時,利用 NVIDIA Ada 架構和 FRUC 庫。如果您有任何問題,請聯系 Video DevTech Support

    ?

    ?

    0

    標簽

    人人超碰97caoporen国产