2024年4月27日发(作者:慕恨寒)
-
网易视频云:视频硬件编码技术比照——QuickSync vs NVenc vs AMD VCE
Quicksync
Intel在 Sandy Bridge 架构 CPU 中引入了的 MF*〔Multi-Format Codec
Engine,多格式编解码器引擎〕视频处理引擎。
第一代 MF* 是从 Sandy Bridge 上引入的,现在的 Ivy Bridge 和下一代的
Haswell 也分别具备第二和第三代 MF*, Ivy Bridge 的第二代 MF* 主要是改
良了性能,而 Haswell 的第三代 MF* 除了速度比Ivy Bridge 更快外,在同码
率画面品质方面也会有 11% 的改良。
MF* 包含了解码器、编码器和视频效果处理器三局部,其中编码器属于二工位混
合式的硬件编码器。
Intel 将编码器的动作分为两组,即 ENC 和 PAK,其中 ENC 包括了码率控制、
运动估算、帧间估算、模式抉择;而 PAK 包括了运动补偿、帧间预测、前向量
化、像素重构、熵编码。
ENC 操作由 GPU 的可编程 EU 矩阵执行,PAK 则是 MF* 的硬件流水线执行,两
组动作对不同的帧同时执行,可以藉此到达最高性能。
MF* 令人印象深刻的还有它的解码器性能。例如我们测试的 16 分钟 1080p 片
段,在基于 GF110/GF104 的 GT* 580/GT* 560 Ti 上解码性能为 94.2 fps,基
于GK104 的 GT* 680 是 158fps,而在 Sandy Bridge/ Ivy Bridge 的
i7-2600K/3770K 上解码性能居然分别高达让人瞪目乍舌的 460fps、606fps。
硬件解码性能的强大,除了说明 GPU 能应付更复杂的视频解码外,还意味着可
以在转码的时候更多地解放 CPU 负荷。此外,IVB的Quick Sync也统一到了
Media SDK API下。
CUDA/NVENC
首先要说明,CUDA Encoder 和 NVENC 是两个不同的东西,前者是采用 GPU 的
通用计算单元进展编码加速,后者则是增加了专门的硬线化编码电路作编码加
速。
在今年发布的 Kepler 家族 GPU 中,NVIDIA 集成了专用的 h.264 硬件编码器
——NVENC,这和之前的 CUDA 编码器有很大的不同,因为之前的 CUDA 编码器
是由 GPU 的通用计算执行局部 h.264 算法来实现加速。而 NVENC 则主要由专
-
门为 h.264 算法定制的硬件单元来执行编码操作,主要的好处是在进展编码操
作的时候性能/耗电比要比 CUDA Encoder 高很多。
目前在官网已经提供了有关NVENC 的SDK可以下载,NVIDIA NVENC 能实现 4K
分辨率、支持 h.264 High Profile 4.1、3D 视频流压缩。支持 NVENC 的编码
器有有很多软件,例如 Cyberlink 的 Media Espresso 转码器媒体测试专用版。
VCE
AMD在最新一代的G架构中增加了专用的VCE〔Video Encodec Enigine〕引擎,
支持1080P 60fps视频转码,而且支持完整的H.264规*〔前一代转码只支持H.264
Baseline〕,唯一的问题是软件支持度不够好,发布5个多月了才有
MediaEspresso支持。
画质比照
用的是PSNR和SSIM数值,PSNR〔Peak signal-to-noise ratio,
峰值信号噪点比例〕是信号强度与噪点强度的比值,可以用来衡量有损压缩编码
过程中的失真度。而SSIM〔structural similarity inde*,构造相似指数〕也
是用来衡量两*图片之间的相似度。
上面的计算只是基于平均状况,并不是全部内容,再来看一下500*逐帧截图中
的SSIM指数吧。
./marc/h264nvenc/"focus_inception720ps1
真实截图比照./marc/h264nvenc/"inception720a
原文作出了动态效果,最下面是各种编码方案的画质选择,点击左侧局部,转码
后的截图就会出现在网页左边,右边则是另一种方案的画质截图,比方上图中我
选择了原图与GT* 670〔NVENC〕编码,效果就是这个样子。
结果是:NVIDIA GPU加速编码的画质损失依然是最严重的,而最新的H.264编
码做的比拟好,特别是2-pass画质十分接近原始画质。
转码速度及功耗
使用的影片是720P分辨率的"阿凡达",结果如下:
〔说下表格的数据,第一列是转码时间,之后是待机功耗,第三列是转码时的功
耗,最后一列是功耗差值〕
来看NVENC,其转码速度明显优于GT* 480,性能高了133%之多。功耗方面,
-
固定转码单元的GT* 680比GT* 480只低了21W,从差值上看也只有11W,并没
有表现出比预期更明显的优势。
总的来看,Quick Sync依然是最好的编码加速方案,功耗和转码性能上都
排名第一。另外,H.264 1-pass编码速度要比CPU还快,画质也高一些,而2-pass
编码的速度不出意外地倒数第一,但是画质上傲视群雄。
如果以W〔功耗〕/H〔时间,小时〕为根底来看〔转码功耗乘以时间〔s〕
再除以3600,上图中的法文符号","在英文中是".",也就是说上图中的数值是
6.87、8.95这样的小数而非整数〕,Quick Sync转码每小时消耗了0.83W电力,
而GT* 670、GT* 680消耗的电力在3.10、3.24左右,其他方案消耗的就更高了,
GT* 480效费比最差。
总结:
无论转码速度还是转码效率,Quick Sync依然是最正确的方案,NVIDIA的NVENC
要胜过前代的CUDA方案,但还是比不过Intel。H.264软件转码中1-pass速度
要超过CPU转码,2-pass虽然速度最慢,但是画质是最好的,适合对画质有较
高要求的场合。至于AMD,技术上是好的,软件支持是杯具的。
QuickSync是目前最快同时画质上最接近CPU的转码方案;NVENC的画质仍然难
以让人满意;*264〔CPU〕在速度上的明显劣势使其除了追求高压缩率进展2-pass
以外没有其他的价值;AMD VCE 最差。
1、通用性: FFMPEG(*264) > CUDA > Quick Sync
2、速度: Quick Sync > CUDA > FFMPEG(*264)
3、质量: FFMPEG(*264) > Quick Sync > CUDA
2024年4月27日发(作者:慕恨寒)
-
网易视频云:视频硬件编码技术比照——QuickSync vs NVenc vs AMD VCE
Quicksync
Intel在 Sandy Bridge 架构 CPU 中引入了的 MF*〔Multi-Format Codec
Engine,多格式编解码器引擎〕视频处理引擎。
第一代 MF* 是从 Sandy Bridge 上引入的,现在的 Ivy Bridge 和下一代的
Haswell 也分别具备第二和第三代 MF*, Ivy Bridge 的第二代 MF* 主要是改
良了性能,而 Haswell 的第三代 MF* 除了速度比Ivy Bridge 更快外,在同码
率画面品质方面也会有 11% 的改良。
MF* 包含了解码器、编码器和视频效果处理器三局部,其中编码器属于二工位混
合式的硬件编码器。
Intel 将编码器的动作分为两组,即 ENC 和 PAK,其中 ENC 包括了码率控制、
运动估算、帧间估算、模式抉择;而 PAK 包括了运动补偿、帧间预测、前向量
化、像素重构、熵编码。
ENC 操作由 GPU 的可编程 EU 矩阵执行,PAK 则是 MF* 的硬件流水线执行,两
组动作对不同的帧同时执行,可以藉此到达最高性能。
MF* 令人印象深刻的还有它的解码器性能。例如我们测试的 16 分钟 1080p 片
段,在基于 GF110/GF104 的 GT* 580/GT* 560 Ti 上解码性能为 94.2 fps,基
于GK104 的 GT* 680 是 158fps,而在 Sandy Bridge/ Ivy Bridge 的
i7-2600K/3770K 上解码性能居然分别高达让人瞪目乍舌的 460fps、606fps。
硬件解码性能的强大,除了说明 GPU 能应付更复杂的视频解码外,还意味着可
以在转码的时候更多地解放 CPU 负荷。此外,IVB的Quick Sync也统一到了
Media SDK API下。
CUDA/NVENC
首先要说明,CUDA Encoder 和 NVENC 是两个不同的东西,前者是采用 GPU 的
通用计算单元进展编码加速,后者则是增加了专门的硬线化编码电路作编码加
速。
在今年发布的 Kepler 家族 GPU 中,NVIDIA 集成了专用的 h.264 硬件编码器
——NVENC,这和之前的 CUDA 编码器有很大的不同,因为之前的 CUDA 编码器
是由 GPU 的通用计算执行局部 h.264 算法来实现加速。而 NVENC 则主要由专
-
门为 h.264 算法定制的硬件单元来执行编码操作,主要的好处是在进展编码操
作的时候性能/耗电比要比 CUDA Encoder 高很多。
目前在官网已经提供了有关NVENC 的SDK可以下载,NVIDIA NVENC 能实现 4K
分辨率、支持 h.264 High Profile 4.1、3D 视频流压缩。支持 NVENC 的编码
器有有很多软件,例如 Cyberlink 的 Media Espresso 转码器媒体测试专用版。
VCE
AMD在最新一代的G架构中增加了专用的VCE〔Video Encodec Enigine〕引擎,
支持1080P 60fps视频转码,而且支持完整的H.264规*〔前一代转码只支持H.264
Baseline〕,唯一的问题是软件支持度不够好,发布5个多月了才有
MediaEspresso支持。
画质比照
用的是PSNR和SSIM数值,PSNR〔Peak signal-to-noise ratio,
峰值信号噪点比例〕是信号强度与噪点强度的比值,可以用来衡量有损压缩编码
过程中的失真度。而SSIM〔structural similarity inde*,构造相似指数〕也
是用来衡量两*图片之间的相似度。
上面的计算只是基于平均状况,并不是全部内容,再来看一下500*逐帧截图中
的SSIM指数吧。
./marc/h264nvenc/"focus_inception720ps1
真实截图比照./marc/h264nvenc/"inception720a
原文作出了动态效果,最下面是各种编码方案的画质选择,点击左侧局部,转码
后的截图就会出现在网页左边,右边则是另一种方案的画质截图,比方上图中我
选择了原图与GT* 670〔NVENC〕编码,效果就是这个样子。
结果是:NVIDIA GPU加速编码的画质损失依然是最严重的,而最新的H.264编
码做的比拟好,特别是2-pass画质十分接近原始画质。
转码速度及功耗
使用的影片是720P分辨率的"阿凡达",结果如下:
〔说下表格的数据,第一列是转码时间,之后是待机功耗,第三列是转码时的功
耗,最后一列是功耗差值〕
来看NVENC,其转码速度明显优于GT* 480,性能高了133%之多。功耗方面,
-
固定转码单元的GT* 680比GT* 480只低了21W,从差值上看也只有11W,并没
有表现出比预期更明显的优势。
总的来看,Quick Sync依然是最好的编码加速方案,功耗和转码性能上都
排名第一。另外,H.264 1-pass编码速度要比CPU还快,画质也高一些,而2-pass
编码的速度不出意外地倒数第一,但是画质上傲视群雄。
如果以W〔功耗〕/H〔时间,小时〕为根底来看〔转码功耗乘以时间〔s〕
再除以3600,上图中的法文符号","在英文中是".",也就是说上图中的数值是
6.87、8.95这样的小数而非整数〕,Quick Sync转码每小时消耗了0.83W电力,
而GT* 670、GT* 680消耗的电力在3.10、3.24左右,其他方案消耗的就更高了,
GT* 480效费比最差。
总结:
无论转码速度还是转码效率,Quick Sync依然是最正确的方案,NVIDIA的NVENC
要胜过前代的CUDA方案,但还是比不过Intel。H.264软件转码中1-pass速度
要超过CPU转码,2-pass虽然速度最慢,但是画质是最好的,适合对画质有较
高要求的场合。至于AMD,技术上是好的,软件支持是杯具的。
QuickSync是目前最快同时画质上最接近CPU的转码方案;NVENC的画质仍然难
以让人满意;*264〔CPU〕在速度上的明显劣势使其除了追求高压缩率进展2-pass
以外没有其他的价值;AMD VCE 最差。
1、通用性: FFMPEG(*264) > CUDA > Quick Sync
2、速度: Quick Sync > CUDA > FFMPEG(*264)
3、质量: FFMPEG(*264) > Quick Sync > CUDA