视频压缩客观度量 BD-Rate 和 BD-PSNR的计算和解释

BD-Rate 和 BD-PSNR 是视频压缩中使用的客观度量,用于比较两种不同视频编解码器或同一视频编解码器在一定范围内的比特率或质量值的不同设置的率失真性能或压缩效率。本文着眼于 BD-Rate 和 BD-PSNR 指标,并教授如何计算和解释 BD-Rate 读数。

率失真 (RD) 曲线图

当您评估编解码器的性能时,您通常会得到一条率失真 (RD) 曲线,它告诉您不同比特率(通常以 kbps 或 Mbps 为单位)的质量(PSNR 以 dB 为单位)。BD-Rate 指标使用来自 RD 曲线的信息,告诉您一个编解码器比另一个编解码器改进了多少。

但是,首先,让我们了解视频压缩领域中常见的 RD 曲线/绘图。

我们知道视频压缩是为了存储或传输要求而减小视频大小的过程。并且视频压缩过程会影响视频质量,而且往往会降低视频质量。

因此,视频压缩的目标是保持视频质量,或者在压缩视频时减少失真程度!

当您开始使用视频编解码器时,您要做的第一件事就是通过执行以下操作来检查其性能 –

  • 选择某些编解码器设置(调整)并且不要更改它们。
  • 在一系列不断增加的比特率中压缩具有不同空间和时间特征的多个视频。对于每次压缩运行,使用 PSNR (dB) 或 SSIM 等客观指标记下编解码器实现的比特率和质量。
  • 将这些结果制成表格,然后将它们绘制成图表,x 轴为比特率,y 轴为质量。

让我们试试这个。我们将使用相同的编解码器,但选择不同的调整或设置,并在同一视频上以四种不同的CBR设置(100、2000、3000、4000 kbps)运行我们的实验。为了本教程,我们假设我们的编解码器产生了我们设置的确切比特率(在现实世界中极不可能),并且我们使用 FFmpeg 计算每个实验的 PSNR。

在所有的交互之后,我们得到了下表的比特率 PSNR 结果。

BD-RATE 和 BD-PSNR 的 RD 结果

然后,我们绘制这些结果以获得 RD-Plots 或 RD-Curves。RD 图是直观比较两种不同编解码器或同一编解码器的两种不同设置的便捷方式,如下所示。

BD-RATE 和 BD-PSNR 的 RD 图

从这些 RD 曲线可以明显看出,在选定的编码条件下,对于该特定视频,设置 B 的性能比设置 A 好得多。

但是,我们如何从数学上限定这些差异,通过一个数字告诉我们几乎所有我们需要知道的关于 RD 图中两条曲线之间差异的信息。

这就是 BD-Rate 分析的用武之地。

BD 率或Bjontegaard Delta

Bjontegaard 度量计算涉及两个部分——BD PSNR 和 BD Rate。它在题为“G. Bjontegaard,计算 RD 曲线之间的平均 PSNR 差异 (VCEG-M33) [2] S. Pateux,J. Jung,用于计算 Bjontegaard 度量及其演变的 excel 插件”,此后提供了一个很好的比较RD两种不同编解码器的性能或同一编解码器的两种不同设置。

BD-Rate 或 BD-PSNR 的计算很复杂,我在此处复制了 IETF 文档中的文本。如果您不明白,请不要担心!

1. Rate/distortion points are calculated for the reference and test codec.
2. At least four points must be computed. These points should be the same quantizers when comparing two versions of the same codec.
3. Additional points outside of the range should be discarded.
4. The rates are converted into log-rates.
5. A piecewise cubic hermite interpolating polynomial is fit to the points for each codec to produce functions of log-rate in terms of distortion.

Metric score ranges are computed:
1. If comparing two versions of the same codec, the overlap is the intersection of the two curves, bound by the chosen quantizer points.
2. If comparing dissimilar codecs, a third anchor codec’s metric scores at fixed quantizers are used directly as the bounds.
3. The log-rate is numerically integrated over the metric range for each curve, using at least 1000 samples and trapezoidal integration.
4. The resulting integrated log-rates are converted back into linear rate, and then the percent difference is calculated from the reference to the test codec.

幸运的是,作者提供了一个带有插件的 Excel 表格,使计算变得非常简单。我们不必担心上面的解释。

您需要做的就是转到他们的 GitHub 存储库 ( https://github.com/tbr/bjontegaard_etro ) 并下载 Excel 工作表和 Excel 加载项。如果您下载 zip 文件,您将同时获得它们。顺便说一下,repo 的 README.md 中的说明是明确的——不要跳过它。

图片 1

以下是使用 Excel 工作表计算 BD-Rate 和 BD-PSNR 所需执行的操作。

第 1 步:解压缩 zip 文件并进入生成的文件夹。

第 2 步:使用 Microsoft Excel打开bjontegaard_etro_standalone_example并批准弹出的对话框 – 单击“更新”。这将选取bjontegaard_etro包含计算和数学的 Excel 加载项文件。

图 2

第 3 步:转到标题为“Verification with VCEG-M33”的第三个选项卡,您将找到一个包含行标题“Curve1”和“Curve2”的表格。这是您需要从运行的测试中输入数据的地方(查看上表以了解如何获取和输入数据)。

输入数据后,您会看到自动计算了两个值

  • B-DSNR (dB) — 与 BD-PSNR 相同
  • B-DBR (%) — 与 BD-Rate 相同

这些是您分析所需的 BD 值。

让我们看看他们的意思。

B-DSNR (dB):这告诉您 Curve2 与 Curve1 在等效比特率下的质量增益。换句话说,如果您在编解码器设置 1 和 2 中花费相同数量的比特,那么哪个质量更好,提高多少?

  • 因此,如果该值为 5 dB,则意味着第二个设置在同等比特率下比第一个设置多提供 5 dB 的质量。
  • 此外,无论您使用 SSIM 还是 VMAF,而不是 PSNR,计算都是有意义的。如果您使用其他一些客观质量指标,请确保忽略 dB 单位。

B-DBR (%):这告诉您在同等质量下节省的比特率,也称为 BD-Rate 值。换句话说,如果两个编解码器设置的质量相同,那么哪个使用更多的位以及多少?

  • 如果 B-DBR 的值为 50%,则意味着 Curve2 需要比 Curve1 多 50% 的位数才能达到相同的质量。
  • 如果该值为 -25%,则表示 Curve2 需要比 Curve1 少 25% 的比特才能达到相同的视频质量。
  • 请注意这种解释和 +/- 符号。

在我们的实验中,我们得到以下结果——

  • B-DBR (%) = -19.893 %
  • B-DSNR (dB) = 1.833 dB

这意味着,

  • 对于相同的质量,设置 B 比设置 A 节省 19.893 % 的比特;或者,如果您使用设置 B,则需要少花费 19.893% 的比特才能达到与设置 A 相同的质量。
  • 而且,在花费相同的比特数的情况下,设置 B 的视频质量比设置 A 高 1.833 dB。

这证实了我们通过查看 RD 曲线得出的结论。

结论

因此,这就是您从率失真 (RD) 实验中计算 BD-Rate 和 BD-PSNR 的方式,以了解一个编解码器相对于另一个编解码器的压缩效率,或者对于同一编解码器,一组编解码器设置相对于另一组编解码器设置。

直到下一次,保持流媒体并保持安全。

版权声明:本文内容转自互联网,本文观点仅代表作者本人。本站仅提供信息存储空间服务,所有权归原作者所有。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至1393616908@qq.com 举报,一经查实,本站将立刻删除。

(0)

相关推荐

发表回复

登录后才能评论