NVIDIA 視頻編解碼器 SDK為 Windows 和 Linux 上的硬件加速視頻編碼和解碼提供了一套全面的 API 集。The 12.2 版本提高了高效視頻編碼(HEVC)的視頻質量,特別是自然視頻內容的比特率顯著降低。這篇文章詳細介紹了以下新功能:
- 前瞻性級別增加前瞻性分析以提高質量(僅限 HEVC)。
- 時間濾波有助于提高壓縮效率通過濾除噪聲(僅限 HEVC)。
- 高位深度編碼將 8 位內容編碼為 10 位的(HEVC 和 AV1)。
- 單向 B 幀(而不是 P 幀)在延遲敏感的用例中提高了質量,這特別適用于 HEVC。
- UHQ(超高質量)調諧信息在延遲容忍用例中提供 HEVC 僅限的最佳質量。
前瞻級別?
前瞻性級別可以幫助分析未來的幀,并實現對不同幀的有效比特分配,以優化編碼效率。它使用編碼樹單元(CTU)和其他編碼統計信息來改進速率控制,這對于延遲容忍編碼非常有用。Video Codec SDK 12.2 提供了多達四個不同的前瞻性級別,具有不同的性能和質量權衡。
使用以下設置:
enableLookahead
開啟向前看。LookaheadDepth
確定將被緩沖在先行隊列中用于分析的幀數。LookaheadLevel
確定將要進行的分析級別,以便提供質量改進。較高的LookaheadLevel
在降低性能和增加視頻存儲器使用的情況下提供更好的質量,相比于較低的LookaheadLevel
。
時間濾波?
使用相機捕獲的自然視頻內容具有噪聲,該噪聲可能來自包括傳感器噪聲在內的一系列因素。噪聲可以減少時間冗余,從而增加用于編碼的比特數,降低壓縮效率。
時間濾波通過使用來自相鄰幀的補丁來過濾當前幀,從而減少這種噪聲。時間濾波器使用運動估計在相鄰幀中找到當前幀的補丁,然后使用這些補丁來對當前幀進行濾波。濾波是使用 CUDA 內核完成的,而運動估計是使用 NVIDIA 編碼器(NVENC)硬件執行的。
可以通過設置tfLevel
來啟用臨時過濾臨時過濾可以為自然視頻內容提供 4-5%的平均編碼增益請注意,此功能可能不會為合成或屏幕內容提供顯著的增益。

建議同時使用前瞻級別和時間過濾,這兩個功能相互補充,導致總體 BD-BR 節省大于單個功能提供的 BD-BR 節約的總和然而,沒有限制單獨使用這些功能,每個功能都可以單獨編程。
高比特深度編碼?
將 8 位內容編碼為 10 位內容可以提供編碼增益。視頻編解碼器 SDK 12.2 提供了設置inputBitDepth
= 8 和outputBitDepth
= 10 以啟用高位深度編碼的選項,從而將 8 位內容編碼為 10 位提高相關性,結果實現更好的壓縮。
從 8 位到 10 位的轉換發生在 NVENC 驅動程序中,使用 CUDA 實現 HEVC 和 HW 實現 AV1。它的性能損失可以忽略不計。通過啟用高比特深度編碼,可以預期 3-4%的編碼效率增益,對于特定序列則可以預期更高的編碼效率增益。

當客戶端應用程序控制編碼器和解碼器時,可以使用此功能。如果解碼器支持 10 位解碼,強烈建議使用此功能,因為這將提高編碼效率。
然而,該功能將導致 GPU 內存利用率的增加,因為內部緩沖區將以 10 位格式分配。
單向 B 幀
單向 B 幀是特殊 B 幀,僅使用來自過去幀的預測,避免與傳統 B 幀相關聯的延遲問題。這使得它們對于低延遲編碼非常有用。傳統的 B 幀從 L0 和 L1 方向進行預測,而單向 B 幀僅從 L0 方向進行預測。
單向 B 幀從前兩個幀進行預測,相比僅從 P 幀進行預測的 P 幀,提供 3-4%的 BD-BR 節省。通過設置enableUniDirectionalB
=1,可以啟用單向 B 幀,平均提高編碼效率 3-4%,特定序列的增益可達 15%。
圖 3 顯示了用于僅具有 I/P 幀的序列的參考列表創建的不同圖片。參考列表 L0 僅使用來自過去的圖片。

圖 4 顯示了對正常 B 幀的參考列表 L0 和 L1 使用不同圖片的情況。L0 列表使用過去的圖片,L1 列表使用將來的圖片。

圖 5 顯示了對單向 B 幀的參考列表 L0 和 L1 使用不同圖片的情況。L0 和 L1 參考列表都是僅根據以前的圖片創建的。

UHQ 調諧信息
UHQ 調諧信息結合了前瞻級別和時間濾波,為各種預設提供了最佳質量和性能折衷,以實現最高質量的延遲容忍編碼。UHQ 調諧信息自動設置前瞻和時間濾波的最佳設置,使客戶端應用程序能夠使用 UHQ 調諧信息,而不是單獨調整這兩個功能。
此功能還將 B 幀的數量固定為五個,同時使用中間 B 幀作為參考。UHQ 還禁用自適應 I 幀和自適應 B 幀,并使用固定的 GOP(圖片組)結構。
圖 6 顯示了 P1、P4 和 P7 預設的 HQ 和 UHQ 調諧信息的比特率節省和性能,以及高比特深度編碼,這與作為參考點的 x265 介質進行比較。p4 和 p7 預設在 UHQ 調諧信息上超過 x265 Slow 的比特率節省。UHQ 調諧信息上的 p1 預設僅比 x265 Slow 高 3%。UHQ P1 提供了 x265 的 4 倍 FPS,而 UHQ p4 可以在 x265 Slow 上提供高達 3 倍 FPS。

開始使用 Video Codec SDK 12.2
視頻編解碼器 SDK 12.2 通過提高 HEVC 編碼的視頻編碼質量,特別是對于自然視頻內容,實現了顯著降低比特率。新功能包括前瞻級別、時間濾波、更高比特深度編碼、單向 B 幀和 UHQ 調諧信息。
下載視頻編解碼器 SDK 12.2開始使用,并加入NVIDIA 開發者論壇的對話,要了解有關新視頻功能的更多信息,請參閱使用 AV1 和 NVIDIA Ada Lovelace 架構提高視頻質量和性能。
?