视频编码 率失真性能评价指标:PSNR SSIM BD-rate BD-PSNR

摘要:
用于评估不同视频编码器的RD(速率失真)性能。计算PSNR(以Y为例)。2.使用三次多项式拟合R-D曲线(因此至少需要4个点):这是机器学习中计算AUC(ROC曲线下面积(接收器工作特性曲线))的概念。JCTVC提供了一个用于计算BD费率的excel模板。PSNR是最常用、应用最广泛的图像客观评价指标。
BD-rate

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曲线积分:

BD-rate公式

总结:

  • 这跟机器学习里计算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;

原文:https://blog.csdn.net/cxy19931018/article/details/99719375


1.PSNR
psnr:peak signal to noise ratio 峰值信噪比。两幅图像间的psnr越大,则越相似,普遍基准为30dB,低于30dB图像劣化比较明显

视频编码 率失真性能评价指标:PSNR SSIM BD-rate BD-PSNR第2张

MAX:图像颜色的最大数值,8bit为255;MSE(均方差):

视频编码 率失真性能评价指标:PSNR SSIM BD-rate BD-PSNR第3张


PSNR是最普遍和使用最为广泛的一种图像客观评价指标,由于并未考虑到人眼的视觉特性(人眼对空间频率较低的对比差异敏感度较高,人眼对亮度对比差异的敏感度较色度高,人眼对一个区域的感知结果会受到其周围邻近区域的影响等),因而经常出现评价结果与人的主观感觉不一致的情况。

2.SSIM
SSIM:structural similarity index 结构相似性。SSIM算法在设计上考虑了人眼的视觉特性,比传统方式更符合人眼视觉感知。SSIM可以基于不同的窗口做计算,假设窗口x,y的大小是N*N:
视频编码 率失真性能评价指标:PSNR SSIM BD-rate BD-PSNR第4张


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个)点进行曲线拟合,再做差值,最后取平均。
视频编码 率失真性能评价指标:PSNR SSIM BD-rate BD-PSNR第5张

横坐标为rate,纵坐标为psnr,BDBR表示了在同样的客观质量下,两种方法的码率节省情况(Rate/distortion curves 画一条水平线);BD-PSNR表示了在给定的同等码率下,两种方法的PSNR-Y的差异(Rate/distortion curves 画一条垂直线)。
http://blog.csdn.net/menyangyang/article/details/42874575
https://wenku.baidu.com/view/588c854fde80d4d8d05a4f2c.html
HEVC的工具在JCTVC-A031

原文:https://blog.csdn.net/u012868357/article/details/79360240

免责声明:文章转载自《视频编码 率失真性能评价指标:PSNR SSIM BD-rate BD-PSNR》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇hive的floor函数,ceil函数,round函数C#winfrom控件命名规范下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

解决VMwareworkstation无法在windows上运行

步骤 1.在我的电脑上搜索控制面板   2.打开控制面板 3.点击程序 4.点程序和功能 5.点击已安装更新 6.找到最上面的一次微软更新,然后将最新的微软更新更新卸载。 7.重启后就能用了 说白了,就是最后一句话! 图示: 但是,这只能解决一时的问题,电脑终究要更新的,还有一种方法直接到官方下载新版本,里面的东西不会变的...

springmvc之单元测试(MockMvc)-独立测试

spring mvc测试框架提供了两种方式,独立安装和集成Web环境测试(此种方式并不会集成真正的web环境,而是通过相应的Mock API进行模拟测试,无须启动服务器) 1、mockMvc.perform执行一个请求; 2、MockMvcRequestBuilders.get("/user/1")构造一个请求 3、ResultActions.andExp...

django 数据库迁移

一,简单的数据导出与导入(简单的迁移) 1. django 项目提供了一个导出的方法 python manage.py dumpdata, 不指定 appname 时默认为导出所有的app 1 python manage.py dumpdata [appname] > appname_data.json 比如我们有一个项目叫 mysite, 里...

Visual Studio中你所不知道的智能感知

在Visual Studio中的智能感知,相信大家都用过。summary,param,returns这几个相信很多人都用过的吧。那么field,value等等这些呢。 首先在Visual Studio中支持的JavaScript智能感知有以下6种 summary 用于方法和主体内容 param 用于方法的参数 field 用于类的属性 va...

JAVA中GC时finalize()方法是不是一定会被执行?

在回答上面问题之前,我们一定要了解JVM在进行垃圾回收时的机制,首先: 一、可达性算法  要知道对象什么时候死亡,我们需要先知道JVM的GC是如何判断对象是可以回收的。JAVA是通过可达性算法来来判断对象是否存活的。这个算法的基本思路就是通过一系列的称为“GC Roots”的对象作为起始点,从这些节点开始向下搜索,搜索所走过的路径称为引用链,当一个对象到G...

八、设置HTTP应答头 (基础教程8)

八、设置HTTP应答头   作 者 : 仙人掌工作室            8.1 HTTP应答头概述         Web服务器的HTTP应答一般由以下几项构成:一个状态行,一个或多个应答头,一个空行,内容文档。设置HTTP应答头往往和设置状态行中的状态代码结合起来。例如,有好几个表示“文档位置已经改变”的状态代码都伴随着一个Location头,而40...