• HEVC(一)psnr原理以及计算方式


    峰值信噪比经常用作图像压缩等领域中信号重建质量的测量方法,它常简单地通过均方差(MSE)进行定义。两个m×n单色图像I和K,如果一个为另外一个的噪声近似,那么它们的的均方差定义为:
    image
    其中,MAXI是表示图像点颜色的最大数值,如果每个采样点用 8 位表示,那么就是 255。

    Int   iSize   = iWidth*iHeight;//m*nd
    
        UInt64 uiSSDtemp=0;
        for(Int y = 0; y < iHeight; y++ )
        {
          for(Int x = 0; x < iWidth; x++ )
          {
            Intermediate_Int iDiff = (Intermediate_Int)( pOrg[x] - pRec[x] );//遍历获取diff
            uiSSDtemp   += iDiff * iDiff;//diff的平方
          }
          pOrg += iOrgStride;//算上图像的stride边界 边界没有内容,但是会在图像中
          pRec += iRecStride;
        }
        const Int maxval = 255 << (pcPic->getPicSym()->getSPS().getBitDepth(toChannelType(ch)) - 8);//MAXI是表示图像点颜色的最大数值,如果每个采样点用 8 位表示,那么就是 255。现在获取当前ch的采样点比特位数,并进行位移
        const Double fRefValue = (Double) maxval * maxval * iSize;//MAXi的平方除以MSE,MSE=diff*diff/size,因此psnr等价于 (MAXi的平方*size)/(diff*diff)
        dPSNR[ch]         = ( uiSSDtemp ? 10.0 * log10( fRefValue / (Double)uiSSDtemp ) : 999.99 );//这块没看懂为什么有个999.99,大概是设个INF,防止读取时为空吧
        MSEyuvframe[ch]   = (Double)uiSSDtemp/(iSize);//每个像素块的均值
    

    参考博客:
    https://blog.csdn.net/xrinosvip/article/details/88569111

  • 相关阅读:
    Instruments Tutorial for iOS: How To Debug Memory Leaks
    How to Use Instruments in Xcode
    Demystifying iOS Application Crash Logs
    “iOS 推送通知”详解:从创建到设置到运行
    推送通知iOS客户端编写实现及推送服务器端编写
    cocos2d-iphone 与 UI组件
    ScrollLayer
    TexturePacker
    mybatis的配置
    spring+redis
  • 原文地址:https://www.cnblogs.com/wjune-0405/p/15387250.html
Copyright © 2020-2023  润新知