BD-rate,全称Bjøntegaard-Delta rate, 用于评价不同的视频编码器RD(率失真)性能。
写这篇博客,部分原因是发现BD-rate的中文解释完全没有。
算法
1. 一个编码器,给定bitrate,计算PSNR(以Y为例)。取不同的bitrate,在R-D曲线得到四个点。
2. 用三次多项式拟合R-D曲线(所以至少需要4个点):R = a + b*D + c*D^2 + d*D^3
3. 计算BD-rate,即计算RD曲线积分:
总结:
- 这跟机器学习里计算AUC( Area under the Curve of ROC(Receiver Operating characteristic Curve))其实是一个概念
- JCTVC提供了计算BD-rate的excel模板,网上可以搜到。
参考
原文:https://xjsxjtu.github.io/2017-04-17/RD-rate/#:~:text=BD%2Drate%2C%E5%85%A8%E7%A7%B0Bj%C3%B8ntegaard%2D,RD%EF%BC%88%E7%8E%87%E5%A4%B1%E7%9C%9F%EF%BC%89%E6%80%A7%E8%83%BD%E3%80%82
bdrate的基本计算过程为:
对ref和test中四个点的各自进行拟合;
对拟合出来的两个曲线算积分(积分区间为两个曲线的横坐标的相交部分),求积分差;
最后将积分差除以积分区间;
第一步的拟合过程有两种方法,一种是旧方法,将四个数据点直接拟合成曲线计算,一种是新方法,对四个数据点通过分段三次插值来拟合。两种计算方法一般情况下相差不大。
旧方法的相关提案在VCEG-M033;
新方法的相关提案在JCTVC-F270;
1.PSNR
psnr:peak signal to noise ratio 峰值信噪比。两幅图像间的psnr越大,则越相似,普遍基准为30dB,低于30dB图像劣化比较明显
。
MAX:图像颜色的最大数值,8bit为255;MSE(均方差):
PSNR是最普遍和使用最为广泛的一种图像客观评价指标,由于并未考虑到人眼的视觉特性(人眼对空间频率较低的对比差异敏感度较高,人眼对亮度对比差异的敏感度较色度高,人眼对一个区域的感知结果会受到其周围邻近区域的影响等),因而经常出现评价结果与人的主观感觉不一致的情况。
2.SSIM
SSIM:structural similarity index 结构相似性。SSIM算法在设计上考虑了人眼的视觉特性,比传统方式更符合人眼视觉感知。SSIM可以基于不同的窗口做计算,假设窗口x,y的大小是N*N:
SSIM计算的结果为一个小数且在-1到1之间,若结果为1,说明对比的两幅图像数据上是一致的。通常我们取窗口window的大小为8*8,window可以在图像上移动,且在选择窗口大小的时候,作者建议是选择子群,即不要太大,这样会减少计算的复杂度。
3.BD-rate/BD-BitRate/BDBR BD-PSNR
BD-rate 负的值时,表示相同PSNR条件下,码率减少,性能提高。正的值是码率增加,性能下降。
一般来说,码率越低,PSNR越大,越能够说明新方法具有较好的性能。然而,会出现这样一种情况, 即码率相对于原来的方法有所降低,但是PSNR即视频的质量却降低了,在这种情况下想要衡量方法的好坏,就需要利用BDBR和DBPSNR,它提供的是利用新方法得到的视频相对于原来的方法在码率和PSNR上的变化情况。
BD-rate计算的是两种算法对应的两条RD曲线的差值的均值,具体需要通过对测试的几个(一般是4个)点进行曲线拟合,再做差值,最后取平均。
横坐标为rate,纵坐标为psnr,BDBR表示了在同样的客观质量下,两种方法的码率节省情况(Rate/distortion curves 画一条水平线);BD-PSNR表示了在给定的同等码率下,两种方法的PSNR-Y的差异(Rate/distortion curves 画一条垂直线)。
https://wenku.baidu.com/view/588c854fde80d4d8d05a4f2c.html
HEVC的工具在JCTVC-A031