Unlocking 8K60 Video Encoding with Split-Frame Encoding and NVIDIA Ada Lovelace Architecture
Summary
The NVIDIA Ada Lovelace architecture has made significant strides in video encoding, particularly with the introduction of split-frame encoding (SFE), a technique that leverages multiple NVENCs to accelerate video encoding performance. This article explores how SFE enables 8K60 video encoding and beyond, providing detailed insights into its performance advantages and how to control and optimize encoding performance.
Introduction
Capturing and playing back video at 8K resolution with 60 frames per second (FPS) has become a reality thanks to advancements in camera and display technologies. Major companies like RED Digital Cinema, Nikon, and Canon have introduced 8K60 cameras for both consumer and professional markets. On the display side, with the advent of high-resolution displays, the demand for efficient video encoding solutions has increased. The NVIDIA Ada Lovelace architecture addresses this need by providing multiple NVENC engines to accelerate video encoding performance while maintaining high image quality.
Understanding Split-Frame Encoding
Split-frame encoding (SFE) is a technique that enables exploiting multiple NVENCs present in NVIDIA Ada Lovelace GPUs when encoding a single video sequence by splitting the frames and encoding each partial frame with different NVENC engines. This technique was introduced in NVIDIA Video Codec SDK 12.0 and can effectively split the encoding work across the available NVENCs.
How SFE Works
When encoding 8K video with AV1, the maximum tile resolution defined by the standard is 4096 x 2304 pixels. This means that when encoding 8K video, each frame will be split into four tiles, each with a quarter of the resolution (3840 x 2160 pixels). When SFE is used, to achieve the same performance benefits as for HEVC, each tile will be further split horizontally, for eight or 12 tiles, for two-way and three-way SFE, respectively.
Enabling Split-Frame Encoding
With the API update of Video Codec SDK 12.1, in the latest NVENCODER API header, you can find NV_ENC_SPLIT_ENCODE_MODE
. This enables control over SFE, providing a way to use the SFE implicit mode or explicit modes such as NV_ENC_SPLIT_AUTO_MODE
, NV_ENC_SPLIT_AUTO_FORCED_MODE
, NV_ENC_SPLIT_TWO_FORCED_MODE
, and NV_ENC_SPLIT_THREE_FORCED_MODE
.
Performance and Compression Efficiency Benchmarking
Several configurations and input 8K videos were tested to evaluate the performance and compression efficiency of SFE. The benchmarking configuration included:
- GPU: GPU RTX 6000 Ada Generation (3 NVENCs)
- Input videos: 7 videos (4 gaming and 3 natural)
- Encoders: HEVC and AV1
- Presets: P1 (fastest), P4 (medium), and P7 (slowest)
- Tuning Information: Low latency (LL) and high quality (HQ)
- Bitrates: 15, 20, 60, 150, and 250 Mbps
Benchmarking Results
The benchmarking results showed that using two-way SFE can achieve an average performance scaling of about 1.8x for both HEVC and AV1. Three-way SFE can achieve a performance scaling of up to 2.95x for HEVC and 2.31x for AV1. This enables 8K60 video encoding with NVIDIA RTX 6000 Ada Generation, using both HEVC and AV1, with LL and HQ tuning information at a medium preset (P4).
Performance Scaling
SFE Mode | HEVC Performance Scaling | AV1 Performance Scaling |
---|---|---|
Two-way SFE | 1.8x | 1.8x |
Three-way SFE | 2.95x | 2.31x |
Conclusion
Split-frame encoding (SFE) is a breakthrough feature that unlocks video encoding capabilities at 8K60 and beyond. It empowers users to harness the power of multiple NVENCs within NVIDIA Ada Lovelace architecture GPUs for encoding a single video sequence. With the latest NVIDIA Video Codec SDK, users have explicit control over SFE for optimal customization, enabling 8K60 video encoding with both HEVC and AV1 encoders. This technology marks a significant advancement in video encoding, making high-resolution video capture and playback more accessible and efficient.