-->
获得免费通行证,加入我们的流媒体连接-2月19日至22日; 现在注册!

VVC现在如何衡量?

文章特色图片

F在这篇评论中,我先看了一下VVC (反马赛克视频编码). 具体地说, I compared Fraunhofer HHI's implementation of the VVC codec (Versatile Video 编码器; VV­enC) against the Alliance for Open Media's (AO­Media) aom­enc codec 和 the x.264和x.265编解码器在FF-mpeg. 我发现VVenC使用起来很简单,而且比预期的要快得多. 它的输出质量是评测中最好的. 

作为警告, 我应该像提到所有压缩技术一样提到这一点, there will be multiple VVC codecs; it's unclear where VVenC will ultimately compare in terms of speed 和 quality. 我提出这一点是为了提醒读者,我不是在比较VVC、AV1、HEVC和H.264 in 这篇评论; rather, I'm comparing commercial implementations of these codecs. 

我们从各种 莫斯科国立大学报告 x265不是性能最好的 HEVC编解码器,和我的 近期AV1比较 显示aomenc不是最好的AV1编解码器,也不是最快的. 仍然, X265和aomenc(和x264, 就这个问题而言,是最容易获得的编解码器之一,也是最有可能在实际的商业实现中使用的编解码器. 

有了这个样板文件,让我们开始复习. 

关于VVenC

让我们从VVenC的快速描述开始. 所有基于标准的技术都作为“测试模型”实现,,在VVC的情况下称为VVC测试模型(VTM)。. 根据Fraunhofer HHI文件“开放式优化VVC编码器(VVenC)和解码器(VVdeC)实现”,提交给相关标准机构(联合视频专家组), VVC测试模型(VTM)是一个通用的参考实现, i.e. 在标准化过程中对所提出的技术进行评估和验证的试验台. 而VTM曾经是唯一公开可用的编码器和解码器实现的VVC标准, 它的目标是正确性, 完整性和可读性  不应该作为一个现实世界的例子吗 一个VVC编码器和解码器”(强调添加). 

大多数时候, 当研究人员比较编解码器时, 他们使用测试模型, 因为这代表了最终可能的质量, 尽管是以最慢的编码时间. 虽然这些测试是必要的理论性能比较, 它们对于实际使用编解码器的从业者来说意义不大, 由于编码效率和, 因此, 成本通常和质量一样重要.

弗劳恩霍夫重工对VVenC的目标是不同的. 同一份文件说, “弗劳恩霍夫通用视频编码器(VVenC)和解码器(VVdeC)的开发是为了公开提供, 快速高效的VVC软件实现. VVenC和VVdeC软件是基于VTM的, 通过包括软件重新设计在内的优化来缓解性能瓶颈, 广泛的单指令, 多数据(SIMD)优化和基本多线程支持,以利用并行化. VVenC进一步包含改进的编码器搜索算法,并支持真实世界的编码器功能, 包括帧级速率控制和感知优化编码."

编解码器和. 编码器

而VVenC是一种编码器,它可以输入原始YUV文件并输出vvc编码的文件, 它的编码特性远不如aomenc或FFmpeg完备. 当我用用于绝大多数OTT视频点播(VOD)编码的双通道可变比特率编码技术测试AV1编解码器(以及大多数编解码器)时, VVenC还没准备好. 

一位弗劳恩霍夫HHI的工作人员告诉我, “VVenC目前只支持非常基本的1-pass RC(速率控制)。, 哪个是实验性的,到目前为止不是最优的. 固定的QP[量化参数]编码在v0中产生最佳效果.1.0.1. 1-pass RC也只照顾达到目标率, 不检查其他约束(如最大速率). 我们目前正在研究一个2-pass的RC实现,我们将很快发布. 初步结果令人鼓舞."

QP,详细说明 在博客文章中了解速率控制模式(x264, x265, vpx),“”控制帧中每个宏块的压缩量. 大 值意味着将有更高的量化,更多的压缩和更低的质量. 较低的值意味着相反的情况.“关于 使用固定的QP编码, 我的弗劳恩霍夫HHI联系人告诉我的, 文章还在继续, “建议不要使用这种模式! 设置固定的QP意味着生成的比特率将根据每个场景而发生强烈变化 复杂性,并且会导致输入视频的编码效率低下."

我提到这一点是为了澄清我在这里实际测试的内容以及如何测试. 在AV1编解码器的情况下,我正在测试编解码器/编码器产生准备部署的比特流. 在这里, 我正在测试一个编解码器实现的性能,使用的是一个不完整的编码器和一种很少有制作人在生产中使用的编码技术. 显然,这没关系,因为在测试实验室之外,没有地方可以发送vvc编码的比特流. 但这就是为什么我测试所有编解码器使用QP编码(或同等). 

实施固定QP测试

当您使用双通道可变比特率测试编解码器时,您可以选择比特率并开始编码. 在这些情况下, 我的偏好是找到产生视频多方法评估融合(VMAF)值的比特率范围,从低端的约85到 最高档的大概是95, 因为这是大多数制作人在编码阶梯中使用最高质量流所追求的质量. 当然, 实现此目标所需的数据速率因片段而异, 这意味着你必须为每个片段使用不同的数据速率目标. 

在本例中选择QP级别, 我决定把重点放在x265作为目标,并测试多少aomenc和VVenC可以降低比特率,同时保持相同的质量. 我还包括x264作为参考点. 要实现这种技术, 对于每个测试剪辑, 我确定了x265的四个QP值,它们产生的VMAF分数从83到93不等. 然后我用其他编解码器测试了多个QP值,以找到接近相同数据速率的QP值. 

除了每个梯级的数据速率不像您针对特定数据速率时那样紧密匹配之外,这种方法工作得很好. 你可以看到 表1, 与VVC, x265, 和x264, 有些或全部梯级是连续的, so I had to use that value; there was no way to get closer to the target. 从编解码器比较的角度来看,这并不重要, 因为利率扭曲曲线和BD-Rate比较会自动考虑到这一点. 然而, 当我主观比较这些文件时, 数据速率不像我希望的那样接近. 

Ozer VVC表

表1查找各个编解码器的OP值

请注意,我将这种定位技术应用于除了人群中运行之外的所有测试片段, 这是我最后添加的,作为编解码器的折磨测试(稍后会详细介绍这个片段). 在这里, 我选择了大约9Mbps的峰值速率,然后逻辑地逐步下降到大约4Mbps, 为HEVC编码产生的VMAF值从59到79. 

用VVenC编码

为了使VVenC能够被广泛的用户访问,Fraunhofer HHI采用了两层方法. 您可以通过简单的命令行使用“标准编码器”,并基本上调整两个项目:预设和感知优化. 或者您可以使用专家模式,该模式基于您通过命令行参数中调用的配置文件访问的VTM. 我很高兴地选择了前者. 

有四种预设:更快、更快、中等和慢速. 以确定大多数生产者将使用的预设, 我将两个文件编码为所有四个预设并测量编码时间, VMAF质量, 和VMAF低帧质量, 在不同的预设中,哪个会有很大的不同. 然后我以100%的百分比计算每个分数,并创建如图2所示的图表(参见第37页)。. 

为了解释,更快的预设编码大约在11.慢速预设的57%,同时交付98.平均VMAF值的35%.52%低帧率. 如果你是一个赶时间的制作人,那么速度越快越好. 然而,我认为大多数制作人会接受2.媒体预设的5倍编码时间,以达到略高的质量, 所以我用这个预设进行了测试. 除非你的分发量达到了netflix的水平, 然而, 你可能不会选择慢速预设. 

考虑一下它的发行说明, 弗劳恩霍夫HHI记录了VVenC的性能/质量权衡,以帮助用户选择最适合他们编码要求的预设, 结果大致与 图1. 我从未见过任何编解码器供应商提供这种明显有用的分析, 这是弗劳恩霍夫重工努力使VVenC高可用性和市场就绪的另一个积极指标. 

图1. Medium预设似乎是大多数制作人会使用的.

关于感知质量优化(命令字符串中的“qpa”), 这似乎是大多数编解码器中部署的调优机制. Fraunhofer HHI建议我在测量VMAF时将此参数设置为0, 这就是我在命令字符串中所做的. 的 
命令行上唯一与性能相关的选项是线程数. 在这里,我选择了四个,这是弗劳恩霍夫HHI的建议.

以下是用于生成QP值为31的足球片段的命令字符串: 

vencapp -足球.yuv -s 1920x1080 -c yuv420 -r 30——预设介质——qp31——qp0 -ip 64 -t 4 -o足球vvc_qp31.266

唯一古怪的是ip值, 也就是GOP大小. 这里,弗劳恩霍夫HHI需要16的倍数,也就是48 24 FPS文件,30 FPS文件64,60 FPS文件128. 

关于AV1, x265, 和x264, 我使用了相同的预设, 调优, 和我用过的其他构型 AV1比较文章,而不是更改为单通道QP编码并更改为四个线程. 有关这些命令字符串的详细信息,请参考那篇文章. 

以下是aomenc的命令字符串(橄榄球片段到QP=48):

aomenc.exe足球.Y4m——宽度=1920——高度=1080——fps=30000/1000——pass =1——auto-alt-ref=1——row-mt=1——lag-in-frames= 25——end-usage=q——cq-level=48——threads=4——cpu-used=3——kf-min-dist=60——kf-max-dist= 60—tile-columns=1—tile-rows=0—0足球av1_cq48.mkv

以下是x265 (qp32)的命令字符串: 

足球.mp4 -c:v libx265 - qp32 -preset veryslow -threads 4 -tune ssim -x265-params keyint=60:min-keyint=60: sceneccut =0:open-gop=0足球x265_qp32.mp4

下面是x264的命令字符串: 

足球.mp4 -c:v libx264 -qp 32 -预设非常慢-线程4 -g 60 -keyint_min 60 -sc_threshold 0 -tune psnr足球.mp4_x264_cq_32.mp4

声明一下,我是用弗劳恩霍夫HHI软件编码的.Exe版本0.1.0.1和向量v2.0.0编码器. 我使用FFmpeg版本git-2020-08-09-6e951d0编码x264和x265. 我在HP Z840工作站用两个3生成了所有的编码.1 ghz E5-2687至强处理器和32GB内存,运行Windows 7专业版. 

测试视频

我用5个10秒的测试片段来测试一系列电影, 体育, 动画, 以及游戏内容, 加入了曲折的人群运行来衡量纯压缩性能. 以下是视频片段: 

  • 人群中运行-众所周知的测试片段
    公路比赛的开始,从3开始编码.75Mbps到9Mbps 
  • 厄勒克特拉-詹妮弗·加纳电影中的慢动作,说话的头,从200Kbps编码到1Mbps
  • EuroTruckSimulator2-一个片段从具有挑战性的Twitch测试剪辑,编码在2Mbps和7Mbps之间
  • 足球-在达拉斯牛仔队体育场拍摄的大学碗比赛的谐波测试片段, 从2Mbps编码到4Mbps
  • Sintel-一个著名的动画片段,编码在1200kbps和2800kbps之间

当我向弗劳恩霍夫重工详细说明我的测试计划时, 我的联系人指出,该公司正计划在编解码器中添加一些编码工具,以提高编码计算机生成内容时的性能. 你会看到, VVenC在简单的动画上表现得很好,在电脑游戏片段上表现一般. 如果你对这些细分市场感兴趣, 请继续关注弗劳恩霍夫HHI的更新,这些更新应该会提高性能.

编码时间

测试编码时间, 我编码了两个测试片段, 人群运行和EuroTruckSimulator2, 到Clip 3参数(参见图1). 然后,我对解码测试中使用的2分钟足球片段进行编码,并对所有三种编码的时间进行平均. 表2 显示结果. 

表2. 三个文件的编码时间共计1:20

关于VVenC, 弗劳恩霍夫HHI的VVC编解码器被证明只比HEVC慢2倍, 它被设计用来取代的技术. 为视角, VVC状态的需求文档, “编码复杂度大约是HEVC的10倍或更多,对于许多应用来说是可以接受的.“同样值得注意的是,当amedia推出AV1时, 编码时间为45,000x实时. 不管你怎么看, 在编码时间方面, 弗劳恩霍夫HHI的VVC编解码器遥遥领先于预期. 

质量

同样的需求文档将质量目标定义为“比特率降低30%到50%,感知质量与HEVC Main Profile相同”.在VVenC的新闻稿中, 弗劳恩霍夫HHI声称 “H.266/VVC降低了50%的比特率(相对于它的前身H.265/高效率视频编码),同时保持视觉质量."

VVC做得怎么样? 表3 显示了所有五个测试片段的BD-Rate计算. 如果你读第一行, 你可以看到VVC和HEVC的整体质量是一样的, 比特率降低39%. I tested all 1080p files; you would expect better performance with 4K 和 8K files, 也许一直到50%. 

表3. BD-Rate VMAF统计

您还可以看到VVC在比特率降低11%的情况下产生与AV1相同的质量. 有趣的是, 三个片段, 人群中运行, 厄勒克特拉, 和EuroTruckSimulator2, AV1和VVC在3个百分点以内, 与AV1提供更高的质量在人群运行(-1).92%)和厄勒克特拉 (-1).96%). VCC以-17的BD-Rate优势在橄榄球和辛蒂尔视频中拉开了距离.8%和-26.分别为28%. 很难从一个片段中得出特定类型的结论, 而是VVenC和sinintel的表现, 与Fraunhofer HHI承诺提供的计算机生成内容的先进工具相结合, 对于那些正在编码动画内容的人来说,这是个好兆头. 

在aomenc和HEVC之间,AV1产生了与HEVC相同的质量,比特率降低了28%. 这个和20个相比.在我的AV1比较中,aomenc比x265有85%的优势. 图2 说明了利率扭曲曲线, AV1和VVC在85到94个VMAF点之间的相关范围内竞争,并且比x265和x264显示出明显的优势. 

图2. 五个测试片段的平均速率失真曲线

主观的确认

无论何时用VMAF这样的客观度量来度量质量, 在分数之下挖掘视频文件本身并检查单个帧以确认或挑战度量分数是很有用的. 在这种情况下, 我比较了莫斯科国立大学视频质量测量工具(VQMT)中aomenc和VVenC的剪辑3编码,以确定剪辑中质量分歧的区域. 来解释, 图3, VQMT的结果图, 显示两个文件期间的VMAF值, 红色图代表VVC,绿色图代表VVC, AV1. 你可以看到几个区域有明显的分歧,特别是在180帧附近. 

图3. VQMT结果图有助于识别两个编码文件之间的质量差异.

在VQMT, 然后,您可以打开压缩帧并将其与其他帧和源帧进行比较, 我在所有测试片段中对所有相似点都是这么做的. 虽然我通常会发现视觉上的差异来确认得分, 它们往往非常微妙, 即使在250%-400%的放大倍率下,这里也有一点细节丢失, 这里有个小瑕疵. 底线是,虽然我希望VVenC在主观比较中获胜, 相对于AV1的优势相对较小, 正如BD-Rate数据所预测的那样. 

这些结果与其他研究的结果相比如何? 最贴切的对比出现在白皮书中。2020年的视频编解码器前景,,其中作者比较了VVC, HEVC, EVC, 和AV1, 使用基于标准的编解码器和libom的测试模型, AV1编解码器在FFmpeg, 对于AV1. 作者测试了两种场景:广播,1秒的GOP,和流媒体,2秒的GOP. 后者与我的测试最相似. 

在高清对比中,VVC和HEVC的画质相同,都是31.比特率降低了7%,而我的是39%. AV1产生了与HEVC相同的质量,比特率降低了15.3%,而我是28%. 所以我肯定在大概范围内. 

质量一致性

但是等等,还有更多. 正如我在我的博客文章中详述的那样视频质量指标:一个数字是不够的,“你必须超越单一的VMAF分数来真正衡量质量, 因为一些编解码器表现出降低QoE的短暂问题, 而另一些则在视频的持续时间内质量显著不同, 这也会降低QoE. 

为了测量这个, 我记录了所有测试剪辑剪辑3的低帧VMAF值, 哪个是暂态质量问题的度量, 标准偏差, 哪个是质量可变性的度量. 在计算文件VMAF时,这两个数据点都属于VQMT报告的数据点. 

表4 显示所有剪辑的总成绩. 这些数据表明,VVC在测试的夹片中产生了大约2个VVC点的优势,并且更能抵抗瞬态质量问题, 但它会产生稍微大一点的质量可变性. 没有什么惊天动地的事,但你永远不会知道,直到你测试. 

表4. 输出质量一致性指标

解码速度

最后的测试涉及解码速度,我使用了弗劳恩霍夫HHI的解码器VVdeC, 解码vvc编码文件和FFmpeg 解码剩下的部分. 测试文件是前面提到的2分钟长的足球片段, 一个1080p-30文件编码到Clip 3参数为每个编解码器. 

在所有情况下,我解码到存储在RAM驱动器上的YUV文件 在Windows性能监视器中测量CPU利用率. 我的测试电脑是一台惠普ZBook Studio G3笔记本电脑,配备8核英特尔至强E3-1505M CPU,运行Windows 10,内存为32GB, 我把其中的16个分配给了RAM磁盘. 

图4 显示结果. 在解码过程中,vvc编码的文件约为3.复杂度是HEVC的7倍,这使得它属于“硬件解码”的范畴. 由这个, 我的意思是,除非这些解码要求降低很多, 大多数制作方可能不会发行 
在硬件解码支持可用之前使用vvc编码的视频, 因为解码要么需要太多的CPU, 电池续航时间过长, 或两个. 当然,这是我们一开始对VVC的假设. 

图4. 在一台8核惠普笔记本电脑上,VVC消耗80%到100%的CPU.

AV1比VVenC轻得多, 和 this is decoding with FFmpeg; there may be more efficient AV1 decoders available. 这, 加上编码效率比x264高49%,如表3所示, 为什么是像Netflix这样的大型流媒体商店, YouTube, 和Facebook都开始部署AV1,将其传送到基于浏览器的解码器和一些移动平台. 

这给我们带来了什么? 从严格的技术角度来看,这些消息都是好消息. VVenC在编码过程中被证明是非常有效的,并且交付了预期的质量. 尽管仍然最适合部署到系统 具有硬件解码功能, 哪一个。, 当然, 很少有, VVC在部署方面似乎领先于计划. 

话虽如此, VVC作为一种技术,面临着许多与hevc后基于版税的技术相关的挑战. 你可以在"如何看待VVC.长话短说, 直到VVC开发社区建立起一个全面而合理的版税结构, 可能会延迟硬件部署. Fraunhofer HHI's implementation proves that VVC can be both useful 和 usable; let's hope that VVC IP owners can formulate a royalty policy that delivers the same. 

(注:感谢弗劳恩霍夫HHI团队使VVenC如此易于使用,并在过程中提供及时的反馈 这篇评论. 终于能联系上了,感觉真好 you guys; I look forward to working with you as VVenC和VVdeC进度.)

流媒体覆盖
免费的
合资格订户
现在就订阅 最新一期 过去的问题
相关文章

如何用FFmpeg制作VVC

任何时候你开始使用新的编解码器, 为了实现最佳性能/质量优化,您应该运行一些基本测试. 在本文中, 我将带您完成这些测试,同时使用包含Fraunhofer VVC编解码器的FFmpeg版本编码VVC.

专利不确定性和低价值阻碍了VVC的应用

Unified Patents的一项研究表明,由于版税问题和技术变革,VVC不太可能得到广泛采用

重新思考技术预测看好VVC

重新思考技术研究的“媒体” & 《百家乐软件》分析了预计到2030年编解码器的渗透率

VVC专利池:然后有两个

Access Advance和MPEG LA都将管理VVC的专利池, 但目前尚不清楚这些专利将涵盖哪些内容,以及可能的版税费用是多少.

如何看待VVC

TL;DR:考虑VVC的正确方法是,等到真正的解码器部署在对你重要的平台上公布之后再去考虑它. 这是为什么.

什么是VVC?

提前测试表明,编解码器产生强大的比特率节省比其竞争对手, 但分层许可模式可能会妨碍所有用户享受最佳性能.

HEVC, AV1, VVC:如何理解2019年的编解码器世界

曾经决定采用编解码器的旧现实不再适用. 现在,开拓新市场比减少运营费用更重要. HEVC、AV1和VVC的未来定位如何?

提及的公司及供应商