AV1 是新的黃金標(biāo)準(zhǔn)視頻格式,與舊的 H.264 和 H.265 格式相比具有更高的效率和質(zhì)量。它是開放媒體聯(lián)盟標(biāo)準(zhǔn)化的最新免版稅高效視頻編碼器。
NVIDIA Ampere 架構(gòu)引入了硬件加速 AV1 解碼,而最新的 NVIDIA Ada Lovelace 架構(gòu)支持 AV1 編碼和解碼。NVIDIA Ada 架構(gòu)還恢復(fù)了對(duì)每個(gè) GPU 多個(gè)編碼器的支持(每個(gè) GPU 最多三個(gè)編碼器和四個(gè)解碼器),與前幾代相比實(shí)現(xiàn)了更高的吞吐量。
▲表1RTX 工作站 GPU 的 AV1 編碼情況對(duì)比
▲表2RTX 工作站 GPU 的 AV1 解碼情況對(duì)比
NVIDIA NVENC AV1 性能
與 H.264 和 HEVC 相比,NVIDIA NVENC AV1 提供了更高的壓縮效率和更好的性能。為了量化質(zhì)量改進(jìn),NVIDIA 研究了 AV1 和 H.264 的峰值信噪比(PSNR)和視頻多方法評(píng)估融合(VMAF)分?jǐn)?shù)。PSNR和VMAF是經(jīng)常用于衡量編碼質(zhì)量的視頻質(zhì)量度量。
PSNR評(píng)分
PSNR 是量化圖像重建質(zhì)量的分貝值。它是原始圖像或視頻信號(hào)的最大功率與通過壓縮引入的噪聲之間的比率。如圖 1 所示,在相同比特率下,與 NVENC H.264 相比,NVENC AV1 編碼的 PSNR 高出約 1.5-2 dB。換句話說,為了實(shí)現(xiàn)相同的 PSNR ,H.264 編碼需要比 AV1 高得多的比特率。例如,與 H.264 的 11Mbps 相比,AV1 在 7Mbps 下實(shí)現(xiàn) 42dB PSNR。
這意味著在 1080p@60fps 下,AV1 比 H.264 以類似的質(zhì)量節(jié)省了 40% 的比特率。對(duì)于 H.264 上預(yù)設(shè)的給定低延遲質(zhì)量,比特率增益高達(dá) 40%,表示在 1080p 5 Mbps 流式視頻的兩小時(shí)內(nèi),超過 1.8 GB 的保存數(shù)據(jù)。在 720p 、1440p 和 4K 時(shí)觀察到類似的比特率節(jié)省。
▲圖1 NVENC AV1 和 NVENC H.264 的 PSNR 與比特率。從100多個(gè)視頻中收集的平均數(shù)據(jù)。
VMAF score
VMAF 是一種視頻質(zhì)量度量,與人類對(duì)流視頻質(zhì)量的感知高度相關(guān)。圖 2 中繪制的 VMAF 分?jǐn)?shù)是用用于 PSNR 評(píng)估的相同視頻集收集的。NVENC AV1 在質(zhì)量方面優(yōu)于 NVENC H.264 。AV1 在低比特率下的性能優(yōu)于 H.264 ,因此在苛刻的 QoS 場(chǎng)景中提供了更好的視覺質(zhì)量。對(duì)于感知視頻質(zhì)量,H.264 和 AV1 編碼視頻之間的差距隨著比特率的增加而減小,正如預(yù)期的那樣。
▲圖2 隨著 NVENC AV1 和 NVENC H.264 的比特率提高,感知視頻質(zhì)量( VMAF )提高。
跨分辨率/預(yù)設(shè)的每秒幀數(shù)性能
NVENC 性能隨著每一代的發(fā)展而穩(wěn)步提高。NVIDIA Turing 和 NVIDIA Ampere GPU 架構(gòu)均為每個(gè)芯片一個(gè)編碼器,而 NVIDIA Ada 架構(gòu)可支持每個(gè)芯片最多三個(gè)編碼器。
通過 NVIDIA Ada 架構(gòu),驅(qū)動(dòng)程序自動(dòng)處理多個(gè)編碼器之間的負(fù)載平衡。這使得任何應(yīng)用程序都可以利用 NVENC,而無需任何特殊代碼,從而實(shí)現(xiàn)更高的編碼器吞吐量。但是,吞吐量受時(shí)鐘、硬件性能限制和可用內(nèi)存的限制。
NVENCODE API 公開了幾種預(yù)設(shè)、速率控制模式和調(diào)諧信息模式,用于針對(duì)不同的使用情況對(duì)硬件進(jìn)行編程。這些參數(shù)的組合使得能夠以不同的質(zhì)量和性能級(jí)別進(jìn)行視頻編碼。這使應(yīng)用程序能夠?qū)崿F(xiàn)所需的質(zhì)量,而不是在粒度級(jí)別上進(jìn)行編碼性能權(quán)衡。
▲表3 以2160p分辨率編碼每秒1幀( fps )的 NVENC 。分別在 NVDCLK 為1485MHz和1905 MHz的 A10 ( NVIDIA Ampere 架構(gòu))和 L40 ( NVIDIA Ada Lovelace 架構(gòu))上進(jìn)行測(cè)量。
Max resolution support
表4 顯示了 AV1、HEVC 和 H.264 的最大分辨率支持。NVIDIA Ada 架構(gòu) GPU 是第一代支持 AV1 和 HEVC 的 10 位 8K60 編碼的 GPU。
▲表4 支持 NVENC AV1、H.265 和 H.264 的編碼分辨率
除了 8 位 H.264、8 位和 10 位 HEVC 編碼之外,專用編碼器硬件 NVENC 還可以執(zhí)行 8 位和 8 位 AV1 編碼。有關(guān) NVENC 功能的更多詳細(xì)信息,請(qǐng)參閱NVIDIA Hardware Video Encoder documentation 。
硬件加速視頻編碼和解碼功能可分別通過 NVENCODE 和 NVDECODE API 訪問,它們是NVIDIA Video Codec SDK的一部分:
NVIDIA 視頻編解碼器 SDK 12.0 功能
2022 年 11 月發(fā)布的視頻編解碼器 SDK 12.0 包含對(duì) NVIDIA Ada Lovelace GPU 硬件的支持,以及以下詳細(xì)介紹的新功能。
Split encoding 8K60
NVIDIA Ada GPU 上的視頻編解碼器 SDK 12.0 支持一種稱為 AV1 和 HEVC 的分割幀編碼功能,該功能可以使用多個(gè)編碼器(只要可用)對(duì)分辨率大于 4K 的幀進(jìn)行編碼。使用此功能,框架將分為兩部分。如果 GPU 包含多個(gè)編碼器,則將每個(gè)部件發(fā)送到不同的編碼器。這有助于提高整體編碼性能。
在表 5 所示的條件下,僅在高分辨率下自動(dòng)啟用此功能。注意,與在單個(gè)編碼器上對(duì)整個(gè)幀進(jìn)行編碼所獲得的質(zhì)量相比,在獨(dú)立編碼器上分割幀可能會(huì)導(dǎo)致次優(yōu)的質(zhì)量。因此,并非在所有預(yù)設(shè)和分辨率中都啟用這種性能改進(jìn)方法。
▲表5確定何時(shí)啟用拆分編碼的預(yù)設(shè)和調(diào)整標(biāo)準(zhǔn)
如果啟用了 NVENC 中的某些功能,則無論是否滿足表 5 中列出的調(diào)諧和預(yù)設(shè)條件,分割編碼都會(huì)自動(dòng)禁用。以下列出了與拆分幀編碼不兼容的功能。
HEVC
加權(quán)預(yù)測(cè)
Alpha 層
子幀模式
比特流輸出到視頻存儲(chǔ)器
圖片定時(shí)/緩沖周期 SEI 消息插入 DX12 路徑
AV1
位流輸出到視頻存儲(chǔ)器
多個(gè) NVENC 實(shí)現(xiàn)更高吞吐量
某些 NVIDIA Ada 架構(gòu) GPU 具有多個(gè) NVENC ,支持并行編碼更多的流。對(duì)單個(gè)視頻流進(jìn)行編碼時(shí),幀會(huì)按順序發(fā)送到不同的 NVENC 。因此,使用多個(gè) NVENC 不會(huì)提高編碼單個(gè)視頻流時(shí)的吞吐量,但可以提高并行編碼兩個(gè)或多個(gè)視頻流時(shí)總吞吐量。在具有多個(gè) NVENC 的 GPU 上,來自不同流的不同幀將在多個(gè) NVenc 之間調(diào)度,保持所有 NVENC 充分利用,從而提高吞吐量。
更多 NVENC 也有助于視頻編輯工作流程,其中不同的獨(dú)立部分(跨 GOP 邊界分割)可以發(fā)送到不同的 NVENC 。要編碼的視頻的這種分割可以由用戶手動(dòng)執(zhí)行(例如,具有場(chǎng)景變化或不同剪輯的片段被放在一起)或由應(yīng)用程序自動(dòng)執(zhí)行。
例如,視頻可以分為三個(gè)時(shí)隙:t0– t1.,t1.– t2.,和 t2.– t3.,其中 t0,t1.,t2., 和 t3.是視頻中單調(diào)增加的次數(shù)。由于多個(gè)編碼器,較小的視頻可以并行編碼,從而導(dǎo)致較高的總編碼吞吐量。
批量編碼是一種利用多個(gè)編碼器的功能。此功能對(duì)于代碼轉(zhuǎn)換類型的工作負(fù)載非常有用。轉(zhuǎn)碼包括對(duì)輸入編碼流進(jìn)行解碼、縮放和以所需格式和分辨率重新編碼。這在 NVIDIA Ada 架構(gòu) GPU 上很容易實(shí)現(xiàn),因?yàn)轵?qū)動(dòng)程序自動(dòng)處理解碼流的負(fù)載平衡,并在編碼器之間分配工作。
支持 FFmpeg 中的 AV1
FFmpeg 是廣泛用于視頻和音頻轉(zhuǎn)碼的最流行的多媒體轉(zhuǎn)碼工具。FFmpeg 支持 NVENC 加速 AV1 編碼和 NVDEC 加速 AV1 解碼。使用 FFmpeg 的應(yīng)用程序現(xiàn)在可以使用 GPU 加速編碼和解碼。
與現(xiàn)有編解碼器相比,AV1 的卓越 PSNR 、VMAF 、比特率節(jié)省和分割編碼性能使其成為視頻編碼的一個(gè)非常有吸引力的選擇。NVIDIA ADA GPU 支持 AV1,可通過最新版本的NVIDIA Video Codec SDK訪問。
審核編輯:湯梓紅
-
編碼器
+關(guān)注
關(guān)注
45文章
3652瀏覽量
134848 -
存儲(chǔ)器
+關(guān)注
關(guān)注
38文章
7517瀏覽量
164065 -
噪聲
+關(guān)注
關(guān)注
13文章
1122瀏覽量
47455 -
NVIDIA
+關(guān)注
關(guān)注
14文章
5047瀏覽量
103326 -
gpu
+關(guān)注
關(guān)注
28文章
4759瀏覽量
129111
原文標(biāo)題:硬解之后,NVIDIA Ada 架構(gòu) GPU 新增 AV1 編碼
文章出處:【微信號(hào):Leadtek,微信公眾號(hào):麗臺(tái)科技】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論