前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >VVC复杂度优化:裁判员出战

VVC复杂度优化:裁判员出战

作者头像
用户1324186
发布2020-09-28 11:07:08
1.7K0
发布2020-09-28 11:07:08
举报
文章被收录于专栏:媒矿工厂媒矿工厂

VVenC:Fraunhofer HHI VVC编码器

撰写:黄琰

校对:张瀚

01

PART

VVC标准完成

2020年7月,由ITU-T的VCEG和ISO/IEC的MPEG组成的联合视频专家组JVET发布了最新一代的视频编码标准VVC(Versatile Video Coding)。VVC是HEVC之后的下一代编码标准,将由ITU-T作为H.266发布,并在ISO / IEC标准中构成MPEG-I第3部分(ISO / IEC 23090-3)。作为最新的视频编码标准,VVC的目标是在节省50%码率的情况下,取得与HEVC相同的视觉质量。此外,VVC也被寄希望于在新兴场景中得到很好的应用,包括高动态范围(HDR),自适应比特流,计算机生成的内容以及沉浸式应用(如360视频和增强现实(AR)等)。

02

PART

VVC复杂度之伤

作为VVC的通用参考软件, VTM用于在标准化过程中评估和验证所提技术的正确性以及性能。尽管VTM曾经是VVC标准唯一可公开获得的编码器和解码器实施方案,但其目的在于正确性,完整性和可读性,因此不应作为VVC编码器和解码器的真实示例。据第三方研究评估[1],在相同重建质量的情况下,VVC相对HEVC可以节省44.4%码率。然而在复杂度方面,即使使用SIMD进行加速, VTM5.0的编码时间仍为HM16.9编码时间的10.17倍(实验在RA模式下),在不使用SIMD的情况下,VVC相对HEVC编码时间的倍数则增长为15.88倍。具体编码性能-编码复杂度对比如下表所示。更直观地,我们对最新的参考软件VTM-10.0进行了简单编译和使用,即使打开SIMD,在RA配置下,使用Intel(R) Core(TM) i9-9900X CPU @ 3.50GHz 单线程编码QP 22的4K序列,每编码一帧都要1小时左右。

03

PART

裁判员出战

虽然VTM作为参考软件,不需要考虑实际使用,但是高额的编码代价还是无法被忽视,极高的编码复杂度也不利用技术提案的测试。因此,在标准化过程中,已经接受到了很多复杂度优化的提案,试图在复杂度和性能之间取得一定的平衡。在文档[2],VVC标准化以及VTM开发的重要参与方Fraunhofer HHI总结归纳了很多此类相关的提案技术。更进一步的,他们提出了一套开源、快速且高效的VVC编码器实施方案-VVenC[3]。用VVenC编码的比特流可以通过任何符合VVC标准的解码器进行解码,例如VTM-10.0参考软件解码器。或者,也可以使用Fraunhofer HHI自己设计的高效解码器VVdeC[3]进行解码。

VVenC软件是在VTM的基础上进行了针对性的优化,包括重新设计软件以减轻性能瓶颈,广泛的SIMD优化,改进的编码器搜索算法以及基本的多线程支持。其具体实现代码可以在[4]中获取。下表展示了VVenC在其提供的四档配置下相对于VTM-10.0与HM-16.22的编码速度和编码性能的表现。在RA配置下,使用6线程在Intel Xeon processors E5-2697A v4 @2.6GHz中,对JVET标准测试条件(CTC)中HD和UHD序列进行测试。从整体上来看,因为内嵌了很多快速算法,SIMD算法以及多线程技术,VVenC能很好地兼顾编码性能与编码速度,完美地超越了上一代编码器HM-16.22,并在速度上和VTM-10.0拉开上百倍的差距。

04

PART

VVenC真的那么好吗?

在HHI的报告中,只提供了一张直观的图(如下图)用于展示VVenC相对于HM和VTM的优势,毋庸置疑,VVenC相对于HM在速度和性能两方面都有显著的优势,因为它采用了VVC标准中很多先进的技术来提升编码性能,同时又有复杂度优化方法来降低编码复杂度。但是相对于VVC标准本身,所采用的快速算法带来的性能损失并没有很好地展示出来,假如没有多线程加持,单纯使用SIMD以及快速算法,VVenC是否还是如描述的优秀呢?

基于上述疑问,我们进行了一轮通测,使用VTM10.0与VVenC 0.1的单线程模式(专家模式)进行对比。为了保证对比的公平性,我们同样地使用RA配置对JVET标准测试序列下的所有序列进行17帧的编码(1帧+1GOP),以最大的可能维持RA配置中不同TID分层B帧的参考情况。在测试中,我们保持CPU的负载恒定,这样测试的相对编码时间也是准确的。测试结果如下:

从整体对比结果来看,VVenC按照配置(Slow~Faster),相对于VTM平均能节省85.6%~98.2%的编码时间(6.9x~56x编码速度),伴随编码速度的提升,编码性能损失逐渐增大(4.93%~31.65%)。但是VVenC对于不同类型的序列表现并不一致,官方报告中给出的ClassA1,A2,B表现确实较好,但是对于ClassF(屏幕内容),VVenC由于使用快速算法,带来了来较为明显的性能损失。有趣的是,对于ClassE,Slow档在相对VTM加速7倍的前提下,还能带来1.32%的性能提升。

05

PART

结语

总而言之,VVenC已经在尽量保留VTM编码性能的前提下,实现了很好的加速效果。但是目前对不同序列表现差异还是较大。考虑到VVenC目前发布的版本是Version0.1,这意味着Fraunhofer HHI今后会继续优化VVenC。在实际编码器设计中,使用VVenC Slow作为基础版本进行优化确实是不错的选择。但是如果要进行速度/性能的优化算法设计,还是建议基于VTM原始版本,这也可以为VVenC的进一步优化提供更多的选择。

参考文献:

[1] Siqueira Í, Correa G, Grellert M. Rate-Distortion and Complexity Comparison of HEVC and VVC Video Encoders[C]//2020 IEEE 11th Latin American Symposium on Circuits & Systems (LASCAS). IEEE, 2020: 1-4.

[2] Wieckowski A, Ma J, Schwarz H, et al. Fast partitioning decision strategies for the upcoming versatile video coding (VVC) standard[C]//2019 IEEE International Conference on Image Processing (ICIP). IEEE, 2019: 4130-4134.

[3] J. Brandenburg, A. Wieckowski, T. Hinz , A. Henkel , V. George , I. Zupancic, C. Stoffers, B. Bross, H. Schwarz, D. Marpe, “Towards Fast and Efficient VVC Encoding,” IEEE 22nd Workshop on Multimedia Signal Processing (MMSP 2020), Tampere, Finland, 2020.

[4] https://github.com/fraunhoferhhi/vvenc

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-09-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 媒矿工厂 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
图像处理
图像处理基于腾讯云深度学习等人工智能技术,提供综合性的图像优化处理服务,包括图像质量评估、图像清晰度增强、图像智能裁剪等。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档