其他分享
首页 > 其他分享> > BD-BR和BD-PSNR的计算

BD-BR和BD-PSNR的计算

作者:互联网

BD-BR和BD-PSNR的计算

版权说明:本文翻译自ottverse

解释

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

RD曲线(率失真曲线)

当您评估编解码器的性能时,您通常会得到一条速率失真 (RD) 曲线,该曲线告诉您不同比特率(通常以 kbps 或 Mbps 为单位)的质量(以 dB 为单位的 PSNR)。
BD-Rate 指标使用来自 RD 曲线的信息,告诉您一个编解码器相对于另一个编解码器的改进程度。
但是,首先,让我们了解一下视频压缩领域常见的 RD 曲线/图。
我们知道,视频压缩是为了存储或传输要求而减小视频大小的过程。并且视频压缩的过程会影响视频质量,并且通常会降低视频质量。
因此,视频压缩的目标是保持视频质量,或在压缩视频时降低失真程度!
当您开始使用视频编解码器时,您要做的第一件事是通过执行以下操作来检查其性能 -
选择某些编解码器设置(调整)并且不要更改它们。
在一系列增加的比特率中压缩具有不同空间和时间特征的多个视频。对于每次压缩运行,使用客观指标(如 PSNR (dB) 或 SSIM)记下编解码器实现的比特率和质量。
将这些结果制成表格,然后用 x 轴上的比特率和 y 轴上的质量绘制它们。

让我们试试这个。我们将使用相同的编解码器,但选择不同的调整或设置,并以四种不同的 CBR 设置(100、2000、3000、4000 kbps)在同一视频上运行我们的实验。在本教程中,我们假设我们的编解码器产生了我们设置的确切比特率(在现实世界中极不可能),并且我们使用 FFmpeg 计算每个实验的 PSNR(这是计算PSNR 使用 FFmpeg)。
在所有的交互之后,我们得到了比特率-PSNR 结果的下表。
在这里插入图片描述
然后,我们绘制这些结果以获得 RD-Plots 或 RD-Curves。 RD Plot 是一种直观比较两种不同编解码器或同一编解码器的两种不同设置的便捷方式,如下所示。
在这里插入图片描述
从这些 RD 曲线来看,很明显,在所选编码条件下,对于该特定视频,设置 B 的性能比设置 A 好得多。
但是,我们如何在数学上限定这些差异,通过一个数字告诉我们几乎所有我们需要知道的关于 RD 图中两条曲线之间差异的信息。
这就是 BD-Rate 分析的用武之地。

BD-Rate or Bjontegaard Delta-Rate

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:
6. If comparing two versions of the same codec, the overlap is the intersection of the two curves, bound by the chosen quantizer points.
7. If comparing dissimilar codecs, a third anchor codec’s metric scores at fixed quantizers are used directly as the bounds.
8. The log-rate is numerically integrated over the metric range for each curve, using at least 1000 samples and trapezoidal integration.
9. 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 存储库 并下载 Excel 工作表和 Excel 加载项。
如果您下载 zip 文件,您将同时获得它们。
顺便说一下,repo 的 README.md 上的说明请务必阅读
在这里插入图片描述
以下是使用 Excel 表格计算 BD-Rate 和 BD-PSNR 所需的操作(可以参考CSDN博客文章)
步骤 1:解压 zip 文件并进入生成的文件夹。
步骤2:使用Microsoft Excel 打开bjontegaard_etro_standalone_example 并批准弹出的对话框——点击“更新”。这将选取包含计算和数学的 bjontegaard_etro Excel 加载项文件。
在这里插入图片描述
第 3 步:转到标题为“使用 VCEG-M33 进行验证”的第三个选项卡,您将找到一个表,行标题为“Curve1”和“Curve2”。这就是您需要从运行的测试中输入数据的地方(查看上表以了解如何获取和输入数据)。
输入数据后,您会看到自动计算了两个值

这些是您分析所需的 BD 值。
让我们看看它们是什么意思。

在我们的实验中,我们得到以下结果——
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 以了解一个编解码器相对于另一个编解码器或一组编解码器设置相对于同一编解码器的另一个编解码器的压缩效率。

参考&辅助阅读

链接1
链接2
链接3
链接4
链接5

标签:BD,PSNR,编解码器,比特率,RD,Rate,BR
来源: https://blog.csdn.net/magic_show_time/article/details/121291222