软件解码与移动视频的未来

如果您要使用 SVT-AV1 或 VVC 进行编码,本文将帮助您了解如何优化编码,特别是预设带来的利弊权衡,以及需要使用多少个逻辑处理器。另外还探讨了 SVT-AV1 的快速解码选项对质量和播放效率的影响。

作者:Jan Ozer
译自:https://www.streamingmedia.com/Articles/Editorial/Featured-Articles/Software-Decoding-and-the-Future-of-Mobile-Video-169424.aspx
提示:译文内容为学术分享,文章观点仅为参考。

到 2025 年,移动设备上AV1硬件解码的普及率将停留在 1/10 左右,而 VVC 则为零,显然,取代 H.264 和 HEVC 的竞争将是纯软件解码的竞争。如今已是2025年,我们知道 Meta 公司已经开始积极分发纯软件播放的 AV1 数据流,甚至还联合创建了一个名为 VCAT (Video Codec Acid Test) 的开源项目,以帮助对移动设备进行基准测试。我们听说一些 VVC IP 所有者,例如快手、字节跳动和腾讯,正在通过软件解码的方式部署 VVC,但可用数据很少。

显而易见的是,在 AV1 和 VVC 节省带宽、能够提升供应商利润和改善传输效果的地区,80 美元的 Android 手机市场潜力巨大。同样显而易见的是,80 美元的手机所能搭载的特定编解码硬件数量有限,而需要硬件播放的编解码器根本无法与之竞争。

当然,最大的问题是 AV1 和 VVC 比 HEVC 和 H.264 的效率高多少?它们在没有硬件的情况下播放效率如何?这就是我想讨论的两个问题。

首先我要声明,在某种程度上,这纯属无稽之谈。AV1 和 VVC 都是编解码器,我们只能比较这些编解码器的实现,在本例中是 SVT-AV1 3.0 和 VVenC 1.13。为了维护这一选择,我要指出的是,这些编解码器的开源版本将被大量开发者使用。我还要指出的是,其他供应商提供的替代编解码器比测试版本中的编解码器节省的成本要大得多。

播放方面则更为复杂。目前还没有适用于 iOS 和 Android 的开源或商用 VVC 播放器,而且我身边也没有 60 台 Android 设备可供测试。我确实在一些设备上测试了 AV1 的播放,但这只能提供一半的信息。此外,我在旧版 Windows 和 Mac 电脑上进行的对比测试表明,播放器的效率与编解码器的实现效率差异很大,甚至更大,因此,即使这些结果也只能提供基本指导。

因此,简而言之,我的测试结果表明,VVC 的编码效率比 AV1 高 7%,但播放视频所需的 CPU 却是 AV1 的 2-2.5 倍。这意味着能播放 VVC 的设备更少,也就是说,通过向更多设备提供稍大一点的流,VVC 所能节省的成本比 AV1 要少。

既然您已经知道了故事的结局,为什么还要费心阅读这篇文章呢?如果您将使用 SVT-AV1 或 VVC 进行编码,那么您将了解到如何优化编码,特别是预设带来的利弊权衡,以及使用多少个逻辑处理器。我还探索了 SVT-AV1 的快速解码选项的质量和播放效率,尽管我没有发现太多值得展示的内容。您还可以还可以阅读用于所有编码的 FFmpeg 命令字符串。

软件解码与移动视频的未来

此外,您还会了解到 AV1 和 VVC 的效率比 H.264 高得多,这可能会让您最终有足够的动力去尝试您一直在考虑的第二种编解码器。最后,您还会对我的播放基准测试工作的粗糙感到好笑。

质量测试概述

我用 12 个 10 秒钟的文件测试了编码质量,包括体育赛事、电影、音乐会和动画。通常情况下,我更喜欢使用较长的文件进行测试,但考虑到高级编解码器使用测试配置的编码时间较长,这样做是站不住脚的。

接下来,我确定了每个编解码器的配置选项,如表 1 所示。我决定测试 VOD 分发,因此将所有编码配置为 2 秒 GOP,使用 200% 受限 VBR,并在场景切换时使用I帧的默认设置。

软件解码与移动视频的未来
表 1.每个编解码器的关键配置参数

请注意,SVT-AV1 不支持受限 VBR,因此我使用平均比特率模式进行测试,这可能会让 SVT-AV1 比其他编解码器略胜一筹,因为它不必遵守任何最大比特率限制。考虑到测试文件总体上比较同质,且只有 10 秒时长,这种优势可能非常小。

接下来,我将从 SVT-AV1 开始,逐一介绍编解码器的预设、线程和调优。我之前提到“即使是中等容量的 VOD 分发,在编码时,使用能够提供最佳整体质量的设置进行编码也是最经济的做法。理由是这样的:大多数供应商会为他们的最高级别选择一个目标质量水平,例如 95 VMAF。如果您使用的编码配置质量较低,则必须提高比特率才能达到目标。”

因此,传输该文件的成本要高于使用更高质量设置编码的成本。即使某种编码配置的编码时间比使用更高质量设置进行编码的时间长 10 倍,只要它的效率稍高一些,在分发量足够的情况下,投入这笔资金进行高质量编码也是经济合理的。这就是 Netflix 采用强力凸包编码方法的原因,该方法对每个文件编码数十次,以找到最佳输出配置。这也是为什么 YouTube 在其最受欢迎的文件上使用 AV1 而不是 VP9 进行编码,尽管 AV1 的编码时间比 VP9 长几百倍。

直观地讲,如果您只向几千名观众流式传输文件,带宽成本就不是主要考虑因素,您可能也不会考虑升级到 H.264 或 HEVC 以外的版本。如果您的观看次数达到六位数或以上,那么升级就变得有意义了,在这样的观看量下,以尽可能高的质量进行编码以最大限度地降低带宽成本是值得的。因此,我就是这样选择大多数编码参数的,稍后我会向您展示具体数值。

使用 SVT-AV1 进行编码

对于任何新的编解码器或编码器来说,首要任务就是确定其预设的质量/编码时间之间的平衡。如图 1 所示。要实现这一点,您需要执行以下操作:

  • 使用所有预设和其他相同的编码参数对一个或多个文件进行编码。(我使用了两个 10 秒的文件。)
  • 测量编码时间以及任何你想追踪的指标。我使用了 VMAF,它是通过其谐波平均值和低帧分数(即视频文件中质量最低的帧)计算得出的,低帧分数是视频文件中质量最低的帧,它可以作为瞬态质量问题的潜在衡量指标。
  • 将这三者表示为最长编码时间或最高质量分数的百分比,并绘制成图 1 所示的图表。
软件解码与移动视频的未来
图 1.寻找 SVT-AV1 的最佳预设

请注意,两个 10 秒文件的最长平均编码时间约为 10 分钟,在质量为 12 时则降至 4 秒。这是一个极佳的质量/吞吐量选择范围,使 SVT-AV1 能够用于多种直播和 VOD 工作流程。相比之下,VVC 的相应数字从 46 分钟下降到 39 秒,如果不进行大量并行化处理,大多数直播应用显然无法使用。

如图 1 所示,预设 1(右侧 0 和 2 之间)的编码时间约为预设 0 的 50%,但质量却达到了 100%。预设 2 非常诱人,因为它只损失了约 0.2 个谐波平均 VMAF 点,甚至更少的低帧得分,而编码成本却降低了 60%。但我还是坚持使用预设 1 进行测试。

SVT-AV1 的并行度

下一个考虑的配置选项是SVT-AV1 的并行度,它“控制要创建的线程数量和要分配的图片缓冲区数量(级别越高,并行性越好)。”

我之所以测试它,因为它是少数几个对大多数输入文件都能以类似​​方式工作的选项之一,而 B 帧、参考帧、心理视觉优化和其他选项在某些情况下适用,但在其他情况下则不合适。测试非常简单:在表 2 各列所示的不同 LP 值中使用预设 1 进行编码。

我的测试是在有 32 个线程的 Windows 工作站上进行的。检查比特率以确保大致相等,然后测量编码时间和两个质量指标。绿色代表好,黄色代表差,因此四个逻辑处理器能提供最好的整体质量和低帧质量。通常,对于线程,您会期望值 1 能够提供最佳编码质量和最长的编码时间,因此 4 是一个出乎意料但令人满意的结果,因为它加速了我剩余的测试编码。

软件解码与移动视频的未来
表 2. SVT-AV1 的并行度

SVT-AV1 和调优

在这次比较中,我使用 VMAF 指标来衡量质量。与所有完全参考指标一样,VMAF 将编码文件与源文件进行比较,并得出一个分数。编码文件与源文件越相似,得分就越高。差异越大,得分越低。

某些编码参数,如自适应量化,是一种心理视觉优化,使用不同的设置对帧的不同区域进行编码,理论上是为了提高视频的主观质量,也就是人眼对视频质量的评价。因此,编码器可能会对视频中的平滑区域采用更大的压缩率,而对复杂区域采用较小的压缩率。大多数视频质量指标(某种程度上也包括 VMAF)将这些调整视为降低指标分数的“差异”,即使帧在人眼看来可能看起来更好。

编解码器开发者知道研究人员会使用指标来比较他们的编解码器。因此,他们创建了一些简单的开关,用于逆转那些降低分数的心理视觉优化。他们不会添加配置来提​​高分数(并欺骗系统);他们会移除那些人为降低分数的配置选项。因此,无论何时使用指标比较编解码器,都应该始终查看编解码器文档,并应用任何针对这些指标进行“调整”的配置。VMAF 的情况比较特殊,因为它的设计旨在融入人类视觉系统的各个方面,并通过机器学习与主观结果相关联。对人类来说看起来更好的东西,对 VMAF 来说也应该更好。

相比之下,PSNR 和 SSIM 主要是基于差异的指标。您应该始终使用 PSNR 和 SSIM 进行调整,但对于 VMAF 来说,情况就不那么明确了。然而,在与 Fraunhofer(他们认为 VMAF 对其编解码器的评判并不公平)交流后,我决定使用所有这些指标进行调整。我意识到这会引发一些讨论,因此才提到了“疯狂大叔”这个说法。大多数编解码器都提供了关于调整机制的指导。这是来自SVT-AV1 文档的说明:“指定使用 PSNR 还是 VQ 作为调整指标 [0 = VQ,1 = PSNR,2 = SSIM]。” 我尝试了所有三个值,并且没有使用任何调整机制。设置为 2 不起作用,而设置为 1 时,在测试文件中获得了最高的 VMAF 分数,因此我在比较中使用了 1。

Fraunhoffer 的 VVENC 编码器

用 VVenC 重复同样的分析。图 2展示了预设的分析结果。与 SVT-AV1(以及 x264/x265)不同,最高质量的预设(速度较慢)确实能提供最佳质量。然而,需要注意的是,这其中存在一个显著的代价:VMAF 得分提高了 0.5%,而低帧率得分提高了 0.82%,编码时间实际上增加了 4 倍。尽管如此,我在所有测试编码中都使用了较慢的预设。

软件解码与移动视频的未来
图 2.寻找 VVenC 的最佳预设

接下来,我分析了线程数对编码时间和质量的影响,如表 3所示。同样,这是一个惊喜,因为八线程编码比单线程快 4 倍左右,尽管只比四线程快 20%,这为在 Amazon Web Services 或其他云平台上生产的人提出了一个有趣的观点。也就是说,Amazon Web Services 按内核线性收费,因此八核系统的成本是四核系统的两倍,但吞吐量只会高出 20%。所以,即使我使用了八核进行比较编码,四核系统对于生产来说更有意义,您可能会倾向于忽略 0.04 VMAF 增量并部署单核系统以获得最低的每数据流成本。

软件解码与移动视频的未来
表 3.使用 VVenC 测试多个线程

具体来说,四台单核系统只需 3 个多小时就能生成 4 个文件。相比之下,一台价格高出四倍的四核系统在 3 小时内只能生成 3 个文件(3 x 56:47),而一台价格高出八倍的八核系统在同样的 3 小时内只能生成 4 个文件。

为了进行调整,VVenC 提供了一个感知 QP 自适应开关 (-qpa),可以提高“主观视频质量”,但这可能会损害指标分数。

值为 0:关闭,1:开启。我两种方式都进行了编码,发现禁用此功能后 VMAF 得分会略高,因此我将其设置为 0 进行测试。我使用 2024 年后期的 FFmpeg 版本测试了 x264 和 x265 的透视效果。我已经多次测试了这些编解码器的预设/线程,其中 veryslow 始终是最高质量的预设(绝非安慰剂),并且单线程始终能提供最佳质量。此外,针对 SSIM 进行调整始终能提供最佳质量,因此我在这些编码中使用了 SSIM。

编码实践

在测试编解码器质量时,通常会对每个文件进行四种或更多比特率的测试,以生成速率失真曲线和 Bjontegaard Delta-Rate (BD Rate) 比较。为了获得最大的相关性,最好在该编解码器的典型使用范围内进行测试。对于优质内容制作者来说,95 VMAF 点的质量水平是一个常见的目标。

当您对不同的文件进行编码时,这意味着每个片段有四种不同的比特率。我测试了不同的 VVC 比特率,创建了一个从 85 到 95 VMAF 点的范围。然后,我按照这四个数据点对所有其他编解码器进行编码。

显示多个文件的综合 BD Rate 曲线会有偏差,因为异常值会对平均分数造成不成比例的影响。如果您对从 1Mbps 到 15Mbps 的所有 1080p30 文件进行编码,动画文件可能会在 1.5Mbps 时达到 95 VMAF,而 Crowdrun 在 15Mbps 时则无法达到。对结果取平均值得到的分数毫无意义。但是,如果像我在这里所做的那样,将结果标准化为特定的目标范围,则可以最大限度地减少失真的可能性。无论如何,这只是理论。图 3 显示了 12 个测试文件的速率失真曲线摘要。

VVC 以微弱优势领先于 SVT-AV1,但具体数字如何呢?您可以从表 4 的 BD Rate 结果中看到。在这里,VVC 比 SVT-AV1 显示出 7.61% 的优势。请注意,当我在 2021 年将 VVenC 与 libaom 进行比较时,VVC 的优势为 5.55%。

软件解码与移动视频的未来
表 4. BD Rate比较

为什么 x264 对 SVT-AV1 和 VVenC 的比较结果止于 -100%?我没有研究过这个宏,但如果您看一下图 3,就会发现 x264 从未与任何一种高级编解码器的最低质量水平相交,这似乎导致无法计算准确的 BD Rate 比较。如果要进行准确的 BD Rate 比较,就必须向上、向下或同时扩展测试的比特率,直到 H.264 与之相交。

软件解码与移动视频的未来
图 3.所有 12 个测试文件的综合速率失真曲线

值得注意的是,在测试的质量水平下,VVenC 的编码时间大约是 SVT-AV1 的 4.5 倍。为了简化计算,假设 VVenC 的编码成本为 45 美元/小时,而 SVT-AV1 的编码成本为 10 美元/小时,那么从好的方面来看,VVenC 可以将比特率降低 7.61%,同时提供与 SVT-AV1 相同的质量。假设一个文件时长为 1 小时,每 GB 的比特率收费为 0.01 美元,那么在完成约 29,201 次观看后,VVenC 将成为更经济的选择。

您可以按照表 5中的逻辑进行操作,该表可在此处下载。SVT-AV1 将编码成本降低了 35 美元,但使 1 小时分发成本增加了 0.001199 美元。用 35 美元除以这个增幅,得出 29,201 美元;超过这个数字,SVT-AV1 就是更昂贵的替代方案。如前所述,虽然这个数字听起来很大,但大多数考虑在 2025-2027 年采用 SVT-AV1 和 VVC 的公司都是金字塔顶端的流媒体公司,29,201 美元对他们来说相对适中。如果您是这个数字另一端的小型流媒体制作商,那么 VVenC 就没什么意义了。

软件解码与移动视频的未来
表 5.收视时长盈亏平衡点

我承认,这个计算忽略了 VVenC 的碳排放影响,它是 SVT-AV1 的 4.5 倍。但这又引发了另一个棘手的问题,远远超出了本文的讨论范围。所以,让我们先从播放方面来探讨一下。

播放效率

可以肯定地说,大多数服务更注重移动效率,而不是在电脑上高效播放。AV1 和 VVC 阵营的数据都非常积极。Meta 的 David Ronca 在 ACM Mile-High Video 2025 大会上发言时报告称,像摩托罗拉 e13 这样的手机播放 1080p30 视频最长可达 11 小时,他认为这是一种“糟糕的体验”。而 720p30 的播放时间则延长至 45 小时。正如我在 2023 年提到的那样,多位 VVC 专利所有者报告了移动设备上高效的 4K 播放。

然而,尽管开放媒体联盟及其成员共同努力,提供了一个高效的播放器以及如何使用它的大量信息,VVC 用户还没有这样做。因此,我们无法接触到高效的播放器,也不知道这些 UGC 公司是如何确保观看体验的。

在理想情况下,我会使用类似的播放器在多台移动设备上测试 SVT-AV1 和 AV1,并报告精确的 CPU 使用率和电池消耗测试结果。然而,由于缺乏能够在 Android/iOS 上播放 VVC/AV1 的播放器,更不用说只有少数几台设备可供测试,导致我未能实现这一目标。

因此,我在较旧的 Windows 和 Mac 电脑上进行了测试,发现 VVC 所需的 CPU 资源至少是 AV1 的两倍甚至更多。图 4展示了使用开源 MPV Windows 播放器 (go2sm.com/mpv) 在大约 2012 年款的 HP Compaq Pro 6300(配备 3.4 GHz Intel i7-3770 CPU 和 16GB RAM)上播放的效果。

软件解码与移动视频的未来
图 4.在配备 3.4 GHz Intel i7-3770 CPU 的 HP Compaq Pro 6300 上,软件中 VVC、AV1 和 HEVC 的 CPU 利用率

图 5显示了在 2015 年中期 MacBook Pro 上使用 VLC Player 播放 VVC、AV1 和 HEVC 时的 CPU 利用率。该 MacBook Pro 搭载 2.2 GHz 四核 Intel Core i7 处理器和 16GB RAM。每个核心有两个线程,如图 5 所示。虽然 VVC 在所有线程上都消耗了大量的 CPU 资源,但 HEVC 和 AV1 在偶数线程上相对安静。同样,VVC 的 CPU 消耗显然至少是 AV1 的两倍,并且比 HEVC 高出几个数量级。需要注意的是,这两款机器都没有基于硬件的 HEVC 解码器。

软件解码与移动视频的未来
图 5.在 2015 年中期 MacBook Pro(配备 2.2 GHz 四核 Intel Core i7 和 16GB RAM)上使用 VLC Player 播放 VVC、AV1 和 HEVC 时的 CPU 利用率

虽然播放器效率无疑取决于播放器,但除非另有证明,否则可以预期 VVC 解码所需的 CPU 资源大约是 AV1 的两倍。这意味着在更少的设备上获得可接受的 QoE,并且 VVC 编码投资的回报会更低。

最后要说的是,我确实测试了 SVT-AV1 的快速解码选项(图 6),但发现它对质量或播放效率的影响微乎其微。在我的质量基准编码中,我没有使用此开关。

软件解码与移动视频的未来
图 6. SVT-AV1 正常解码与快速解码

原创文章,作者:ZEGO即构科技,如若转载,请注明出处:https://market-blogs.zego.im/reports-technique/2337/

(0)
上一篇 1天前
下一篇 2月 20, 2025 10:16 上午

相关推荐

发表回复

登录后才能评论