H.264 Video Codec速度和质量
H.264 Video Codec速度和质量
从Kepler开始的所有 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 。

图 1. 720p 分辨率和服序列的 PSNR-RD 曲线。

图 2 . BQ 阶地序列 1080p 分辨率下的 PSNR-RD 曲线。

图 3 .公园场景序列在 720p 分辨率下的 PSNR-RD 曲线。

图 4 .公园场景序列的 PSNR-RD 曲线,分辨率为 1080p 。
与 libx264 相比, T4 显示了更好的预测和过滤,如图 5 和 6 所示。

图 5 .由 libx264 编码的 bq _ terrace 序列的帧。

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

图 7.红皮艇序列在 1080p 分辨率下的 PSNR-RD 曲线。

图 8 .仙人掌序列 1080p 分辨率的 PSNR-RD 曲线。
如图 9 和图 10 所示, Tesla T4 NVENC 在低延迟模式下的性能很容易超过 libx264 。请注意 Tesla T4 如何在高分辨率下更有效,在相同的比特率下提供 1db 更好的视觉质量。

图 9 . 1080p 分辨率和低延迟模式下仙人掌序列的 PSNR-RD 曲线。

图 10 .鸭起飞序列在 2160p 分辨率下的 PSNR-RD 曲线。
如图 11 和图 12 所示,视觉质量的差异很容易被肉眼看到:

图 11 .由 libx264 编码的 ducks_take_off 序列的第一帧。

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

图 13 .在高质量模式下以每秒 30 帧同时编码的流数。

图 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 中看到每个流的瓦特数。

图 15. 高质量模式下平均每流功耗瓦特

图 16. 低延迟模式下平均每流功耗瓦特
Tesla 还显示出很高的功率效率,在高质量模式下优于 libx264 2-4x ,在低延迟模式下高达 5 倍,同时保持低负载CPU。
结论
与前几代相比, NVIDIA 的 Tesla T4 的编码能力有了很大的提高。与 libx264 这样的软件编码器相比,它在高质量模式下显示出相同或更好的视觉质量,而在低延迟模式下则优于它们。这相当于在功耗降低 2-5 倍时性能提高了一倍。
H.264 Video Codec速度和质量的更多相关文章
- 【HEVC帧间预测论文】P1.2 An Efficient Inter Mode Decision Approach for H.264 Video Codin
参考:An Efficient Inter Mode Decision Approach for H.264 Video Coding <HEVC标准介绍.HEVC帧间预测论文笔记>系列博 ...
- How to use VideoToolbox to decompress H.264 video stream
来源:http://stackoverflow.com/questions/29525000/how-to-use-videotoolbox-to-decompress-h-264-video-str ...
- RFC3984: RTP Payload Format for H.264 Video(中文版)
转载地址:https://blog.csdn.net/h514434485/article/details/51010950 官方文档,中文版本地址:http://www.rosoo.net/File ...
- H.264视频的RTP荷载格式
Status of This Memo This document specifies an Internet standards track protocol for the Internet ...
- World’s Smallest h.264 Encoder
转载 http://www.cardinalpeak.com/blog/worlds-smallest-h-264-encoder/ View from the Peak World’s Smalle ...
- H.264开源解码器评测
转自:http://wmnmtm.blog.163.com/blog/static/38245714201142883032575/ 要播放HDTV,就首先要正确地解开封装,然后进行视频音频解码.所以 ...
- 【图像处理】H.264开源解码器评测
转自:http://wmnmtm.blog.163.com/blog/static/38245714201142883032575/ 要播放HDTV,就首先要正确地解开封装,然后进行视频音频解码.所以 ...
- (转载)H.264码流的RTP封包说明
H.264的NALU,RTP封包说明(转自牛人) 2010-06-30 16:28 H.264 RTP payload 格式 H.264 视频 RTP 负载格式 1. 网络抽象层单元类型 (NALU) ...
- iOS硬解H.264:-VideoToolboxDemo源码分析[草稿]
来源:http://www.cnblogs.com/michaellfx/p/understanding_-VideoToolboxDemo.html iOS硬解H.264:-VideoToolbox ...
随机推荐
- 【SpringBoot】SpringBoot2.x整合定时任务和异步任务处理
SpringBoot2.x整合定时任务和异步任务处理 一.项目环境 springboot2.x本身已经集成了定时任务模块和异步任务,可以直接使用 二.springboot常用定时任务配置 1.在启动类 ...
- 【SpringBoot】Spring Boot
Spring Boot是由Pribotal团队提供,设计用来简化新Spring应用的初始搭建和开发过程的开源框架. 随着Spring体系越来越庞大,各种配置也是越来越复杂,Spring Boot就是解 ...
- 续订Jetbrain学生包
今天打开IDEA和Pycharm都不约而同的告诉我我的账号无法使用学生包了 此刻我的内心是: 冷静下来我算了算,嗷,原来是一年的订阅期到了,那就简单了,直接续订吧,唉.其实续订和重新认证是一样的. 首 ...
- Mybatis-Plus03 代码自动生成器
先看完Mybatis-Plus01和Mybatis-Plus02再看Mybatis-Plus03 AutoGenerator 是 MyBatis-Plus 的代码生成器,通过 AutoGenerato ...
- Hive解析Json数组超全讲解
在Hive中会有很多数据是用Json格式来存储的,如开发人员对APP上的页面进行埋点时,会将多个字段存放在一个json数组中,因此数据平台调用数据时,要对埋点数据进行解析.接下来就聊聊Hive中是如何 ...
- K8s Scheduler 在调度 pod 过程中遗漏部分节点的问题排查
问题现象 在TKE控制台上新建版本为v1.18.4(详细版本号 < v1.18.4-tke.5)的独立集群,其中,集群的节点信息如下: 有3个master node和1个worker node, ...
- springboot国际化与@valid国际化支持
springboot国际化 springboot对国际化的支持还是很好的,要实现国际化还简单.主要流程是通过配置springboot的LocaleResolver解析器,当请求打到springboot ...
- 本地Markdown上传图片
本地Markdown上传图片 1.上传本地markdown文件到博客园 使用工具pycnblog 下载:https://github.com/dongfanger/PyCnblog 查看READ ME ...
- Apache Hudi集成Spark SQL抢先体验
Apache Hudi集成Spark SQL抢先体验 1. 摘要 社区小伙伴一直期待的Hudi整合Spark SQL的PR正在积极Review中并已经快接近尾声,Hudi集成Spark SQL预计会在 ...
- [Java] 数据分析--分类
ID3算法 思路:分类算法的输入为训练集,输出为对数据进行分类的函数.ID3算法为分类函数生成分类树 需求:对水果训练集的一个维度(是否甜)进行预测 实现:决策树,熵函数,ID3,weka库 J48类 ...