加速计算

图灵 H.264 视频编码速度和质量

 

从开普勒开始的所有 NVIDIA GPUs 都支持完全加速的硬件视频编码; GPUs 从费米开始支持完全加速的硬件视频解码。最近发布的图灵硬件提供了张量核心和更好的机器学习性能,但新的 GPU 还加入了新的多媒体功能,如改进的 NVENC 单元,以在视频编解码器中提供更好的压缩和图像质量。

让我们更仔细地看一看图灵设计的新的 NVENC 单元的性能和质量。

NVENC 性能测试设置

H.264 出现于 15 年前,已经成为一种无处不在的视频编码标准。它已经成为业界最重要和最广泛的编解码器。这些测试展示了 Tesla T4 与著名的开源编码器 libx264 在两种情况下的性能:

  • 高质量模式,代表最常见的编码方案与 VBR 控制和 B 帧启用。
  • 低延迟快速模式,适用于对延迟敏感的应用程序,如远程游戏或视频会议。

为此,测试计算机的配置如表 1 所示:

Testing Configuration
Component Tesla T4 NVENC libx264
CPU Dual Intel Xeon E5-2660v3 @ 2.6 GHz Dual Intel Xeon E5-2660v3 @ 2.6 GHz
GPU TU104 (Tesla T4) N/A
RAM 128 GB 128 GB
FFMPEG 4.0.2 4.0.2
Driver 415.15 N/A

这些性能测试将编码参数设置为表 2 中所示的参数:

Encoding Parameters
Preset NVENC libx264
High Quality -c:v h264_nvenc -preset medium -b:v BITRATE -bufsize BITRATE*2 -profile:v high -bf 3 -b_ref_mode 2 -temporal-aq 1 -rc-lookahead 20 -vsync 0 -c:v libx264 -preset medium -b:v BITRATE -bufsize BITRATE*2 -profile:v high -tune psnr -vsync 0 -threads 4
Low Latency Fast -c:v h264_nvenc -preset llhp -rc cbr_ld_hq -b:v BITRATE -bufsize BITRATE/FRATE -profile:v high -g 999999 -vsync 0 -c:v libx264 -preset fast -b:v BITRATE -bufsize BITRATE/FRATE -profile:v high -g 999999 -x264opts no-sliced-threads:nal-hrd=cbr -tune zerolatency -threads 4 -vsync 0

我们使用了各种输入视频进行 RD 估计,如 basketball _ drive 、 bq _ terrace 、仙人掌、 crowd _ run 、 ducks _ take _ off 、 jokey 、和服,以及更多分辨率为 1280 × 720 、 1920 × 1080 和 3840 × 2160 的视频。

绩效和质量结果

平衡序列

图 1 到图 4 显示, Tesla T4 在高质量模式下为 libx264 提供相同或稍好的视觉质量,如 Kimono、 BQ Terrace 和 Park Scene 。

PSNR RD curve chart for Kimono in 720p
图 1 。 720p 分辨率和服序列的 PSNR-RD 曲线。
PSNR RD curve chart for BQ terrace in 1080p
图 2 。 BQ 阶地序列 1080p 分辨率下的 PSNR-RD 曲线。
PSNR RD curve chart for Park Scene in 720p
图 3 。公园场景序列在 720p 分辨率下的 PSNR-RD 曲线。
PSNR RD curve chart for Park Scene in 1080p
图 4 。公园场景序列的 PSNR-RD 曲线,分辨率为 1080p 。

与 libx264 相比, T4 显示了更好的预测和过滤,如图 5 和 6 所示。

bq terrace libx264 image
图 5 。由 libx264 编码的 bq _ terrace 序列的帧。(点击查看大图)
bq terrace nvenc image
图 6 。 T4-Nvenc 编码的 bq_terrace 序列的帧。(点击查看大图)

高运动序列

红皮艇和仙人掌序列分别包含显著的混沌运动和圆周运动。与 libx264 相比, NVENC 在这些包含复杂内部预测的场景中显示出明显的优势,如图 7 和 8 所示。

PSNR RD curve chart for Red Kayak sequence, 1080p
图 7 。红皮艇序列在 1080p 分辨率下的 PSNR-RD 曲线。
PSNR RD curve chart for Cactus sequence, 1080p
图 8 。仙人掌序列 1080p 分辨率的 PSNR-RD 曲线。

如图 9 和图 10 所示, Tesla T4 NVENC 在低延迟模式下的性能很容易超过 libx264 。请注意 Tesla T4 如何在高分辨率下更有效,在相同的比特率下提供 1db 更好的视觉质量。

PSNR RD curve chart for Cactus sequence, 1080p
图 9 。 1080p 分辨率和低延迟模式下仙人掌序列的 PSNR-RD 曲线
PSNR RD curve chart for Ducks Take Off in 2160p
图 10 。鸭起飞序列在 2160p 分辨率下的 PSNR-RD 曲线。

如图 11 和图 12 所示,视觉质量的差异很容易被肉眼看到:

ducks take off 3840x2160 420 8 30 500.y4m libx264 ll 8M.H264 0 3840x2160 decoded
图 11 。由 libx264 编码的 ducks_take_off 序列的第一帧。(点击查看大图)
ducks take off 3840x2160 420 8 30 500.y4m nvenc ll 8M.H264 0 3840x2160 decoded
图 12 。由 T4 NVENC 编码的鸭子取下序列的第一帧。(点击查看大图)

图灵 GPUs 配备了功能强大的 NVENC 视频编码单元,与 libx264 等复杂的软件编码器相比,它提供了更高的视频压缩效率,因为它结合了更高的性能和更低的能耗。理想的代码转换解决方案需要具有成本效益(美元/流)和节能(瓦/流)。让我们看看在多个测试序列中平均的性能和功耗结果,如图 13 和 14 所示。

HQ simultaneous streams at 30fps chart
图 13 。在高质量模式下以每秒 30 帧同时编码的流数
Simultaneous encoded 30fps streams chart
图 14 。在低延迟模式下以每秒 30 帧同时编码的流数。

T4 以高质量模式同时编码 22 个 720p 流。 GPU 还可以平均处理 10 个 1080p 的流和 2 到 3 个超高清( 2160p )分辨率的流。这相当于在相同的视觉质量级别上几乎是 libx264 的两倍。

在低延迟模式下运行显示出 T4 更大的优势。它可以编码 37 个 720p 分辨率的流, 17-18 个 1080p , 4-5 个超高清,性能比 libx264 高 2-2 . 7 倍,具有更高的视觉质量。您可以在图 15 和图 16 中看到每个流的瓦特数。

Watts per stream power in HQ mode chart
图 15 。高质量模式下平均每流功耗瓦特
Watts per stream, low-latency mode chart
图 16 。低延迟模式下平均每流功耗瓦特

Tesla 还显示出很高的功率效率,在高质量模式下优于 libx264 2-4x ,在低延迟模式下高达 5 倍,同时保持低负载。 CPU

结论

与前几代相比, NVIDIA 的 Tesla T4 的编码能力有了很大的提高。与 libx264 这样的软件编码器相比,它在高质量模式下显示出相同或更好的视觉质量,而在低延迟模式下则优于它们。这相当于在功耗降低 2-5 倍时性能提高了一倍。

Tags