客观编码效率指标

测量编码效率是另一种指标,主要用于视频编码应用中权衡视觉质量和码率成本。本节将讨论用于客观确定编码效率的流行的BD(Bjontegaard delta)指标。

BD-PSNR, BD-SSIM, BD-Bitrate

BD-PSNR使用三阶对数多项式来拟合给定的R-D曲线,PSNR中的重建失真如下:

因此,BD-PSNR可以同时包含如下的两点:

  1. 整个码率区间中的平均PSNR差异

  2. 整个PSNR区间中的平均码率差异

如果用SSIM而不是PSNR来表示失真,则可以用相同的方式获得BD-SSIM。BD-PSNR/BD-SSIM计算取决于基于一组R-D数据点的插值多项式。

优势

BD度量具有以下优点:与单独使用R-D曲线相比,BD能够更准确地表示质量差异。在大量测试的情况下,BD度量可以很容易的给出各种参数下的两个编码方案之间的差异。此外,BD度量可以将来自多个测试的结果合并到单个图表中,同时显示两个编码方案之间的视频质量差异。这种对比可以有效地传达两个编码方案之间质量对比的整体情况。

限制

BD指标在比较两种编码方案时非常有用。然而,对于超高清(UHD)视频序列,BD度量可能会给出非预期的结果。这些非预期的行为主要由于多项式曲线拟合和视频序列中的高频噪声。当使用高次多项式时,标准多项式插值容易受到龙格现象(Runge’s phenomenon)的影响。即使仅有四个数据点(对于三次多项式而言),一些插值曲线也会发生可能导致BD-PSNR评估不准确的振荡现象。

用样条曲线(splines)替代插值法可以降低由龙格现象引起的误差,同时仍然可以通过测量的率失真数据点提供精准的拟合曲线。在有的视频样本中,使用分段三次样条插值将BD-PSNR计算的精度提高了近1 dB(和多项式插值的结果相比)。

当多项式插值发生振荡时,得到的BD-PSNR可能会显着偏斜。图4-15显示了两个编码样本的rate-PSNR曲线中的多项式插值问题。图表显示了使用多项式插值和三次样条插值的差异,同时还显示了使用两种方法时的各自的PSNR值。

图4-15.多项式插值在R-D曲线中的震荡的例子

图4-15中,两个编码器的码率和平均PSNR非常相似,也显示出基于多项式插值的BD-PSNR并不能精准的评估两个编码器之间的差异。

另外,BD-PSNR没有考虑编码复杂性,这对于实际视频应用来说是一个关键问题,特别是对于那些计算能力,存储资源和电源都有限的移动设备而言。可以通过广义的BD-PSNR(generalized BD-PSNR)度量来解决这些限制。关于广义的BD-PSNR,我们将在下一节中介绍。

广义BD-PSNR

广义BD-PSNR(GBD-PSNR)是通过将BD-PSNR从R-D曲线拟合推广到速率-复杂度-失真(R-C-D, rate-complexity-distortion)的表面拟合而开发出的编码效率度量。GBD-PSNR涉及编码复杂度的测量,R-C-D表面拟合,以及计算两个R-C-D表面之间的PSNR差异。

通常,编码复杂性是多维的并且需要考虑若干因素,包括计算复杂度,数据高速缓存大小,存储器访问带宽,存储复杂性,指令高速缓存大小,并行性和流水线。但是,很难在实践中同时考虑所有的因素。广泛使用的替代方案是在给定平台上评估编码时间。这种方案不仅可以用来表示计算复杂性,而且还部分地反映了其它维度(例如编码过程中的存储器访问)的复杂性。

为了计算R-C-D曲面拟合,定义R-C-D函数如下:

和BD-PSNR类似,两个R-C-D曲面之间的平均PSNR差异可以用下式计算得出:

由于某些算法的复杂性,两个R-C-D表面可能没有R-C交叉点。在这种极端情况下,GBD-PSNR是未定义的。

限制

有些时候,GBD-PSNR可以覆盖的编码复杂度的范围是有限的。当两个编码器的编码复杂度差异很大时,会导致两个R-C-D曲面仅存在相对较小的重叠区域时,此时就会发生这种情况。

此外,编码复杂性取决于平台和实现。尽管GBD-PSNR在不同平台上显示出良好的一致性,但在不同的平台上,GBD-PSNR值仍然略有差异。

Last updated