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

    實現可定制的 GPU 加速視頻轉碼流程

    如今,視頻占據互聯網流量的80%以上。這些內容由各種設備生成并在各種設備上使用,包括IoT設備、智能手機、計算機和電視。隨著像素密度和連接設備數量的增長,在快速、高效、高質量的視頻編碼和解碼方面的持續投資至關重要。

    最新的 NVIDIA 數據中心 GPU(例如 NVIDIA L40SNVIDIA L4 Tensor Core)可處理要求嚴苛的用例,包括 AI 訓練、推理、視覺計算、云游戲和視頻轉碼。通過將多個 NVIDIA 視頻解碼(NVDEC)和視頻編碼(NVENC)視頻引擎與高級計算能力相結合,這些 GPU 可幫助合作伙伴加速和定制轉碼流程。

    V-Nova 已將 MPEG-5 第 2 部分低復雜度增強視頻編碼 (LCEVC) 標準的實施移植到 NVIDIA GPU 上。LCEVC 利用 NVENC 視頻引擎和 NVIDIA Ada 架構 GPU 的計算能力來增強現有的視頻編碼標準,從而提高視覺質量和空間可擴展性,使視頻提供商能夠構建高效的轉碼梯度。這些梯度對于在不同的網絡條件和各種終端設備中保持最佳視頻質量至關重要。

    本文將介紹 NVIDIA 技術如何實現高效且可定制的視頻轉碼流程。首先,它概述了 LCEVC 及其對 NVENC 和 NVIDIA Video Codec SDK 的使用情況。然后,將視覺質量和性能與基于 CPU 的實現進行比較。最后,我們重點介紹了使用云計算實例的聯合轉碼解決方案的成本效益。

    使用 MPEG-5 第 2 部分 LCEVC 增強視頻編碼標準

    MPEG-5 LCEVC 是一種“編解碼器增強器”,可提高任何視頻編解碼器的壓縮效率,在比特率降低高達 40% 的情況下,提供更高的質量,同時降低總體計算復雜性,相比于使用基礎編解碼器的全分辨率編碼。

    LCEVC 采用混合編碼方法,包含兩個層:基礎層和增強層(圖 1)。基礎層以較低的分辨率進行壓縮,通常為目標分辨率的四分之一。增強層通過對殘差信息進行編碼來優化視頻質量,即放大后的基礎層與原始幀之間的差值。

    LCEVC workflow, including (left to right) encoding, muxing, demuxing, and decoding.
    圖 1.LCEVC 編碼和解碼流程

    LCEVC 的低復雜性支持高效、高性能的硬件和軟件編碼器和解碼器的實現。V-Nova 與 NVIDIA 合作開發了適用于 NVIDIA GPU 的 LCEVC 編碼器。與 NVENC 的緊密集成可確保在盡可能減少 GPU 資源占用的情況下實現最佳視頻壓縮性能。主要用例包括用于 VR/XR 的超低延遲像素流、云游戲和視頻流的密集轉碼。在這些場景中,LCEVC 降低了帶寬和交付成本,同時顯著提高了服務質量。雖然本文重點介紹了 LCEVC 增強型 HEVC,但也支持 H.264/AVC,AV1 也在路線圖中。

    集成 NVENC 和 LCEVC 實現低延遲和延遲容忍的編碼

    NVIDIA 視頻編解碼器 SDK 版本 12.1 和 12.2 引入了一些新的低級別 API,以為 NVIDIA 客戶提供更高的控制和靈活性。這些 API 增加了對重構幀輸出的支持,以及對編碼器統計數據的訪問權限,旨在最大限度地提高性能和集成的易用性。此外,還為低延遲(LL)和延遲容忍的編碼用例添加了新的編碼工具,從而提高 NVENC 的視覺質量。

    圖 2 展示了 NVENC 和 LCEVC 編碼器的集成。

    Diagram shows NVENC and LCEVC encoder integration, with source video (left); downsampling, first-level corrections, normative upsampling, top-level corrections, mux (center); LCEVC and base compressed video (right).
    圖 2.NVENC 與 LCEVC 編碼器的集成

    以下功能對于將LCEVC GPU實現與NVENC視頻編碼引擎相結合至關重要:

    • 重構幀輸出 API:在幀編碼期間,NVIDIA ENCODE API 會提供設備內存中可用的壓縮幀和重構幀。這使得 LCEVC 能夠直接在 GPU 上對重構幀進行上采樣和編碼,從而無需通過 PCI Express 進行內存復制,也無需解碼已編碼的比特流以獲得重構以進行進一步處理。
    • 編碼器統計 API:速率控制對高效的 LCEVC 編碼器實現提出了重大挑戰。管理兩個層而不是一個層,LCEVC 速率控制需要有關 base layer 編碼過程的詳細信息。LCEVC 利用編碼器統計 API 來訪問每個塊的 QP 和位數。
    • 新的視頻編碼工具:除其他新增功能外,單向 B 幀超高質量(UHQ)調整信息分別提高了低延遲和延遲耐受用例的壓縮效率。這些新工具不僅在單獨使用 NVENC 時非常有用,而且在與 LCEVC(即作為其基礎層)結合使用時也非常有用。

    CPU 與 GPU 視頻編碼基準測試

    本節基準測試 CPU 和 GPU 轉碼工作流實現,重點關注視頻壓縮和編碼速度。我們研究了兩個用例:用于云游戲和像素流的超高質量(UHQ)自然視頻轉碼和低延遲編碼。測試包括以各種流相關比特率進行全高清和 UHD 編碼,并將原生 HEVC 編碼器(NVENC HEVC 和 x265)與其 LCEVC 增強版本進行比較。比較評估了 CPU 和 GPU 工作流的質量和成本。

    方法

    這些測試在具有和不具有 NVIDIA GPU 的可比云計算實例上運行。表 1 列出了這兩種云計算實例類型的硬件和編碼配置;表 2 顯示了每個用例的測試內容。

    硬件和 CPU/GPU 編碼器配置
    云計算實例 CPU:AMD EPYC 9R14 – 16 個 vCPU
    GPU:不適用
    CPU:AMD EPYC 7R13 – 8 vCPUGPU:NVIDIA L4 – 2x NVENC
    每小時成本 0.88 美元 0.98 美元
    編碼器 x265、LCEVC (CPU) x265 NVENC HEVC、LCEVC (GPU) NVENC HEVC
    預設 P4
    表 1. 硬件和 CPU/GPU 編碼器配置(撰寫本文時的成本/小時)

    ?

    測試內容和用例
    用例/調整 低延遲 (LL) 延遲容忍/超高質量 (UHQ)
    內容類型 游戲和自然 自然
    輸入視頻 11 個視頻
    分辨率/比特率 1080p60 (4, 7, 12, and 15 Mbps) 和 2160p60 (12, 15, 22, and 30 Mbps)
    表 2.測試內容和用例

    所有編碼器均使用 FFmpeg 6.1 版本進行測試。為確保公平比較,NVENC HEVC 和 x265 配置密切匹配,調整了 GOP 大小、B 幀數量和前瞻性深度。此外,為了最大限度地提高硬件利用率,FFmpeg 對多個流進行并行編碼。查看用于測試的完整命令行

    FFmpeg 報告的平均每流每秒編碼幀數(FPS)必須乘以流數量才能得出總 FPS。為了確定編碼一小時視頻的成本,我們將此 FPS 與相應的實例成本相結合。對于 LCEVC x265 和 LCEVC NVENC HEVC,這些過程被重復了。

    雖然最新版本的 LCEVC NVENC HEVC 已經表現出強勁的性能,但我們預計會隨著開發的繼續進行進一步的改進。因此,所呈現的性能評估應該被視為保守的。

    視覺質量結果

    為了評估視覺質量(VQ),我們使用了一系列視頻序列,包括自然場景(適用于 UHQ 和 LL)和游戲內容(適用于 LL),以確保進行全面測試。視頻集合包括 5 個全高清(1080p)視頻和 6 個 UHD(2160p)分辨率視頻。我們評估了各種編碼場景的視覺質量,1080p 視頻的目標比特率為 4-15 Mbps,UHD 視頻的目標比特率為 12-30 Mbps。

    我們使用 Video Multi-Method Assessment Fusion (VMAF,使用 libvmaf 3.0.0) 指標來確定其與 MOS 分數的高相關性(主觀質量評估)。此外,我們還計算了 VMAF No Enhancement Gain (VMAF-NEG),以考慮潛在的圖像增強偏差。LCEVC旨在最大限度地提高主觀視覺質量。獨立第三方已進行了幾次主觀質量評估,例如在 MPEG 標準化過程中。這些結果包括 BD-RATE(MOS)與 AVC、HEVC 和 VVC 的對比。

    圖 3 至圖 6 展示了按測試內容求取平均值的速率失真(RD)曲線,按分辨率、調優和目標指標進行分離。這些結果表明:

    • 與 x265 (紅色虛線) 相比,NVENC HEVC (紅色實線) 始終能夠實現更高的編碼效率。
    • 使用 LCEVC(綠線)增強的 NVENC HEVC 和 x265 的性能均優于其原生版本
    • LCEVC 持續降低 VMAF 和 VMAF-NEG 的比特率保存。
    Graphs showing 2160p60 tune LL rate-distortion curves comparing x265, LCEVC x265, NVENC HEVC and LCEVC NVENC HEVC.
    圖 3. 對比 x265、LCEVC x265、NVENC HEVC 和 LCEVC NVENC HEVC 的 2160p60 調優 LL 速率失真曲線。
    Graphs showing 1080p60 tune LL rate-distortion curves comparing x265, LCEVC x265, NVENC HEVC, and LCEVC NVENC HEVC.
    圖 4. 1080p60 調優 LL 率失真曲線,比較 x265、LCEVC x265、NVENC HEVC 和 LCEVC NVENC HEVC。
    Graph showing 2160p60 tune UHQ rate-distortion curves comparing x265, LCEVC x265, NVENC HEVC, and LCEVC NVENC HEVC.
    圖 5. 比較 x265、LCEVC x265、NVENC HEVC 和 LCEVC NVENC HEVC,調整 2160p60 的 UHQ 率失真曲線。
    Figure 6. 1080p60 tune UHQ rate-distortion curves comparing x265, LCEVC x265, NVENC HEVC and LCEVC NVENC HEVC.
    圖 6. 1080p60 調優 UHQ 率失真曲線,對比 x265、LCEVC x265、NVENC HEVC 和 LCEVC NVENC HEVC。

    表 3 比較了將 LCEVC 添加到 NVENC HEVC 和 x265 時所節省的比特率。從該表中,我們得出以下結論:

    • 與 NVENC HEVC 相比,LCEVC NVENC HEVC 的 BD 率提升類似于或高于 LCEVC x265 與 x265 的 BD 率提升。
    • 這種效率是通過 V-Nova 緊密集成 LCEVC 與 NVENC,使用 NVENCODER API 為 LCEVC 的速率控制提供重建的幀和編碼器統計數據。
    分辨率 調整 BD-RATE LCEVC NVENC HEVC 與 NVENC HEVC 的對比 BD-RATE LCEVC x265 與 x265 的對比
    VMAF VMAF-NEG VMAF VMAF-NEG
    2160p60 UHQ -35.30% -18.74% -33.21% -20.04%
    LL -30.65% -16.53% -19.85% -7.92%
    1080p60 UHQ -22.39% -4.42% -23.61% -7.29%
    LL -25.04% -11.44% -19.82% -9.06%
    表 3. BD-RATE (VMAF/VMAF-NEG) 之間的 GPU 編碼器 (NVENC HEVC 和 LCEVC NVENC HEVC) 與 CPU 編碼器 (x265 和 LCEVC x265)

    性能和成本結果

    我們使用與視覺質量測試相同的命令行,測量了原生 HEVC 編碼器及其 LCEVC 增強版本的低延遲和超高質量音頻的 CPU 和 GPU 工作流的編碼速度。從中,我們推導出對 1 小時視頻進行編碼的實例成本。

    圖 7 中的結果顯示:

    • 在使用和不使用 LCEVC 的分辨率下,對于 LL 和 UHQ 音樂,GPU 加速的 HEVC 編碼比基于 CPU 的 x265 便宜 2-4 倍。
    • LCEVC 可加速 CPU 和 GPU 的實現,尤其是在更高的分辨率和質量設置下。
    • 將 NVIDIA NVENC 與 LCEVC GPU 編碼器相結合,可提供最高的吞吐量,從而實現更低的服務成本,同時顯著提高視覺質量。
    Cost per hour of encoded video (USD) for Low-Latency (LL) and Ultra-High-Quality (UHQ) use cases between the GPU video encoders, NVENC HEVC and LCEVC NVENC HEVC, and CPU encoders x265 and LCEVC x265.
    圖 7. GPU 視頻編碼器 (NVENC HEVC 和 LCEVC NVENC HEVC) 和 CPU 編碼器 (x265 和 LCEVC x265) 的 LL 和 UHQ 用例的每小時編碼視頻成本 (USD)

    NVIDIA 和 V-Nova 都通過軟件更新來增強其解決方案的性能和視覺質量。由于 V-Nova 的低復雜性、軟件增強性質,因此打算進一步提高現有硬件的 LCEVC 編碼性能,從而降低成本。

    總結

    NVENC+LCEVC 聯合轉碼解決方案由 NVIDIA 和 V-Nova 合作開發,重點介紹了 NVENCODE API 如何與 LCEVC GPU 編碼器緊密集成。這使客戶能夠將 NVIDIA 的硬件加速 NVENC 與 V-Nova 的 LCEVC 多層編解碼器增強功能相結合。與基于 CPU 的解決方案相比,這種集成可提高視覺質量、提高吞吐量并降低成本。

    準備好開始使用了嗎?下載 NVIDIA 視頻編解碼器 SDKLCEVC GPU 編碼器

    ?

    0

    標簽

    人人超碰97caoporen国产