PSNR SSIM BD-rate BD-PSNR

2023-10-15 09:59
文章标签 psnr ssim rate bd

本文主要是介绍PSNR SSIM BD-rate BD-PSNR,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

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 画一条垂直线)。
http://blog.csdn.net/menyangyang/article/details/42874575
https://wenku.baidu.com/view/588c854fde80d4d8d05a4f2c.html
HEVC的工具在JCTVC-A031

这篇关于PSNR SSIM BD-rate BD-PSNR的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/216945

相关文章

c++ error: redefinition of ‘struct ac::bd’ struct ac::bd:fg

#include <iostream> #include <stdio.h> class ac {     public:         class bd; }; class ac::bd {     public:         struct fg; }; struct ac::bd:fg {     int a = 1; }; int main() {     return 0;

解决树莓派IOError: [Errno Invalid sample rate] -9997 采样率16K错误

树莓派在基于pyaudio录音的时候会提示如上错误,这主要是使用的树莓派声卡不支持当前的采用率,没关系,其实在alsa架构下我们可以通过声卡的插件实现转换。在树莓派下家目录创建一个声卡隐藏配置文件 .asoundrc。特别说明,不要在你的pyaudio里面设置打开声卡的编号因为下面的配置已经配置了。 1.安装 sudo apt-get install pulseaudio 2.在家目录创

火星坐标系 (GCJ-02) 与百度坐标系 (BD-09) 的转换算法

关于 GCJ-02 和 BD-09 ,请参考 http://developer.baidu.com/map/question.htm#qa0043 。 算法代码如下,其中 bd_encrypt 将 GCJ-02 坐标转换成 BD-09 坐标, bd_decrypt 反之。 [cpp] view plain copy print ? #include <math.h>    con

DECLARE_GLOBAL_DATA_PTR、gd_t、bd_t及uboot中 start_armboot 代码分析

一、Uboot中DECLARE_GLOBAL_DATA_PTR 只是一个定义的宏,这个宏定义了一个gd_t全局数据结构的指针,这个指针存放在指定的寄存器中(386体系结构没有放到指定寄存器中)。这个宏定义在\include\asm-arm\globe_data.h文件中 #define DECLARE_GLOBAL_DATA_PTR     register volatile gd_t *g

BD错误集锦9——查询hive表格时出错:Wrong FS: hdfs://s233/user/../warehouse expected: hdfs://mycluster

集群环境描述:HDFS集群处于HA模式下,同时启动了YARN\JN\KAFKA\ZK。 现象: FAILED: SemanticException Unable to determine if hdfs://s233/user/hive/warehouse/mydb.db/ext_calllogs_in_hbase is encrypted: java.lang.IllegalArgument

BD错误集锦8——在集成Spring MVC + MyBtis编写mapper文件时需要注意格式 You have an error in your SQL syntax

报错的文件 <?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd"><mapper namespace="com.yuan.dao.YuanUserDao"><!

BD错误集锦7——在集成Spring MVC + MyBtis时使用c3p0作为数据库时报错Method com/mchange/v2/c3p0/impl/NewProxyPreparedStatem

异常信息如下: Type Exception ReportMessage Handler dispatch failed; nested exception is java.lang.AbstractMethodError: Method com/mchange/v2/c3p0/impl/NewProxyPreparedStatement.isClosed()Z is abstractDescr

BD错误集锦6——【IDEA报错】tomcat server功能无效,报错Java EE: EJB, JPA, Servlets

在网上查找原因,发现是非法关闭IDEA导致的。 Open Settings | Plugns and enable it. 在设置中enable JAVA EE和tomcat server即可。 参考: https://stackoverflow.com/questions/43607642/intellij-idea-plugin-errorproblems-found-loadin

BD错误集锦5——java.nio.file.FileSystemException 客户端没有所需的特权

问题:在运行storm本地模式程序时,java.nio.file.FileSystemException  客户端没有所需的特权   解决方式:以管理员身份运行IDEA即可。