一、定义

SSD:平方误差和 —— Sum of Squared Difference
MSE:均方误差 —— Mean Squared Error
SAD:绝对误差和 (时域)—— Sum of Absolute Difference
SATD:绝对误差和(频域,也可叫HAD) —— Sum of Absolute Transformed Difference
PSNR:峰值信噪比 —— Peak Signal to Noise Ratio

二、公式

假设M x N 为视频空间分辨率;
f(x,y) 为(x,y)处的原始像素值,g(x,y) 为(x,y)处的重构像素值。

以上算式适用于空域,即在时域即可计算,而SATD应用于变换域。将残差信号先进行哈达玛变换到频域,设其矩阵为H

计算PSNR的C++代码:

double calculatePSNR(unsigned char* OrgC, unsigned char* PredC)
{double SSD =  0 ;double PSNR =  0 ;double height = BLOCKSIZE;double width = BLOCKSIZE;for (int h = 0; h < BLOCKSIZE; h++){for (int w = 0; w < BLOCKSIZE; w++){SSD +=  (OrgC[w + h * BLOCKSIZE] - PredC[w + h * BLOCKSIZE]) * (OrgC[w + h * BLOCKSIZE] - PredC[w + h * BLOCKSIZE]);}}double maxValue = 255.0 * 255.0;SSD = SSD /  (width * height);    PSNR = (SSD ? 10.0 * log10(maxValue / SSD) : 999.99);return PSNR;
}

计算PSNR的Python代码;

def psnr1(img1, img2):mse = np.mean((img1/1.0 - img2/1.0) ** 2 )if mse < 1.0e-10:return 100return 10 * math.log10(255.0**2/mse)def psnr2(img1, img2):mse = np.mean( (img1/255. - img2/255.) ** 2 )if mse < 1.0e-10:return 100PIXEL_MAX = 1return 20 * math.log10(PIXEL_MAX / math.sqrt(mse))

三、作用

SAD即绝对误差和,仅反映残差时域差异,影响PSNR值,不能有效反映码流的大小,类似的如SSD、MSE。

SATD即将残差经哈达玛变换后的残差绝对值总和,可以将其看作简单的时频变换,其值在一定程度上可以反映生成码流的大小。因此,不用率失真最优化时,可将其作为模式选择的依据。

SAD和SATD常用在视频编码的模式选择。

评价视频编码效率的有两大指标:码率PSNR。码流越小,则压缩率越大;PSNR越大,重建图像越好。在模式选择的时候,判别公式实质上也就是对二者的综合评价。

RDO是率失真代价,综合了码率和PSNR,公式为J(mode)=D+λ*R(ref,mode,mv,residual),D指的就是上述失真;λ是拉格朗日乘子;R就是该模式下宏块编码的实际码流,包括对参考帧、模式、运动矢量、残差等的比特总和。如果是帧内模式,就只有R(mode,residual)。

在帧内编码中,如果所有模式都使用J(mode)=SSD+λ*R(mode,residual)计算率失真代价,则其计算复杂度会非常高,式中SSD指的是原始像素与重构像素误差的平方和,R表示编码当前模式下所有信息(包括划分方式、预测模式编号、残差系数等)所需要的的比特数。为了减小模式选择的复杂度,H.265中使用更简单的方法计算率失真代价:

J(mode)=SATD+λ*R(mode),式中SATD即为残差的SATD,R(mode)仅为编码当前模式所需的比特数,这种方法省去了变换、量化、反量化、反变换以及熵编码的过程,极大的降低了复杂度。

参考:

https://blog.csdn.net/weixin_42979679/article/details/89851830

https://blog.csdn.net/weixin_34087307/article/details/86109848?utm_source=distribute.pc_relevant.none-task

视频编码失真测度:SAD、SATD、SSD、MSE、PSNR相关推荐

  1. 【视频编码学习】——SAD和SATD

    视频编码学习--SAD和SATD 一.常用误差定义 SAD(Sum of Absolute Difference)=SAE(Sum of Absolute Error)即绝对误差和 SATD(Sum ...

  2. 哈达玛变换及其在图像/视频编码中的应用:计算SATD

    沃尔什-哈达玛变换(Walsh-Hadmard Transform,WHT),是一种典型的非正弦函数变换,采用正交直角函数作为基函数,具有与傅里叶函数类似的性质,图像数据越是均匀分布,经过沃尔什-哈达 ...

  3. 图像匹配算法 MAD、SAD、SSD、MSD、NCC、SSDA、SATD,LBD算法

    图像匹配算法分为3类:基于灰度的匹配算法.基于特征的匹配算法.基于关系的匹配算法 (1)基于灰度的模板匹配算法:模板匹配(Blocking Matching)是根据已知模板图像到另一幅图像中寻找与模板 ...

  4. x264源码分析与应用示例(一)——视频编码基本流程

    本文包含以下内容 1.H.264编码流程详述与对应x264源码解析 首先简单介绍一下x264源码调试与修改的基本方法.就是基本的conifigure和make,configure命令使用最简单的就可以 ...

  5. H.265视频编码与技术全析(下)

    H.265视频编码与技术全析(下) 四.帧内预测模式 共35个(h264有9个),包括Planar,DC,33个方向模式: 除了Intra_Angular预测外,HEVC还和H.264/MPEG-4 ...

  6. hm编码工具使用_H.265视频编码与技术全析(下)

    H.265视频编码与技术全析(下) 四.帧内预测模式 共35个(h264有9个),包括Planar,DC,33个方向模式: 除了Intra_Angular预测外,HEVC还和H.264/MPEG-4 ...

  7. 全文转载:寻找最适合动漫的视频编码

    感谢ssnake翻译此文,中文转自:http://flsnow.net/bbs/thread-23415-1-1.html x264的编码问题相信对于对视频编码有所研究的童鞋而言都是头疼的.这篇文章一 ...

  8. H.265视频编码与技术全析

    一. 概述 作为新一代视频编解码格式,H.265得到越来越广泛的应用.不久之前,苹果公司在翘首期盼中发布了iPhone6,该款手机较之以往的iPhone,不仅仅只是简单地增大了屏幕,其采用了H.265 ...

  9. 动态优化器—一种感知视频编码优化框架

    Netflix提出了一种基于感知视频编码优化框架,在非峰值流时间期间,将此编码系统应用于AVC-High和VP9数据流,提高了用户的视频质量的同时并节省了带宽.LiveVideoStack对本文进行了 ...

最新文章

  1. nodejs学习资料
  2. 未转变者rust服务器推荐,如果steam只留一个游戏,你会选择吃鸡还是CSGO
  3. 互联网协议 — OSPF 开放式最短路径优先协议
  4. python简单代码加法-CPython 源码中整数加法的实现
  5. scipy 图像处理(scipy.misc、scipy.ndimage)、matplotlib 图像处理
  6. Oracle-数据库对象(index、synonsym、view、sequence、tablespace)
  7. XML文件结构和基本语法
  8. window下php5.6-x64-ts可用php_redis.dll文件
  9. javascript 商务通
  10. c语言中0xa0f对应的十进制,全国计算机二级C基础知识重点讲解
  11. 【渝粤教育】电大中专跨境电子商务理论与实务 (3)作业 题库
  12. 基于日志处理的ElasticSearch的学(gen)习(feng)
  13. QT之布局管理器和QLayout
  14. 升级后如何从Windows.old文件夹还原文件
  15. 简单算法——奇因数代数和
  16. Java集合的接口和类层次结构图以及代码示例
  17. STM32+Zigbee的使用
  18. MFC界面开发工具BCG v31.1 - 控件功能增强
  19. 医学影像处理相关软件及python包
  20. Windows环境运行shell脚本

热门文章

  1. taichi获取鼠标位置
  2. 诺基亚5230微信 服务器繁忙0,十年前神机诺基亚5230上手,微信都没法上,网友:主要是情怀!...
  3. ubuntu18和win7双系统安装完成---wifi上网慢和中文输入法配置记录
  4. VisionMaster连接工业相机(海康)
  5. 安卓应用启动其他应用的几种方式
  6. Thomas:EOS更像一个私人俱乐部,没有监狱,也没有边境线
  7. 微信小程序录音与播放录音功能实现
  8. 红米Note 5 全网独家首发ROM 独家支持一键刷机
  9. 台式计算机不用待机还是关机好,电脑长时间待机的坏处 不关机对电脑的损害大吗...
  10. 弘辽科技:拼多多上架商品被驳回怎么办?为什么会被驳回?