JM8.6中关于PSNR(峰值信噪比), img->quad的解释
2012-07-27 18:58
281 查看
JM8.6中关于PSNR(峰值信噪比), img->quad的解释:
在JM代码中,多次遇到img->quad这个东西,而在官方代码中只给出了一句说明:
我开始看了好几遍都没有看懂,然后看到后面有snr,所以想应该和snr有关吧.
然后再代码中寻找snr,发现jm代码中有一个函数
,然后就往下看,忽然发现这儿
在老毕的书上有
我们可以对比上面的公式发现,令n=8,我们可以得出代码中的65025=(2^8-1)=255^2,所以主要是MSE的计算,而MSE是均方误差,所以可以推断出diff_y应该是误差的平方,
我们看看diff_y的计算,
联系一下quad的含义,我突然感觉有些明白原代码注释中的"Array containing square values"的含义了.接着看看quad的赋值:
看511这个数字,多么好的一个数字,它的出现和512一样,256x2=512.
所以,我们可以知道这儿为quad数组分配了511个int空间大小:-255~0~255,正好511个,
看第二个红框,这一句就将指针quad移到了255的位置,可以看下图
箭头所指的位置就是现在指针的位置.我们再看一下for循环内部,在之前我看这一段代码很是看不明白,为什么数组的下标会使用负数,现在明白什么意思了.所以for循环内部的
即是将下标对应位置存储为其平方,平方其实就是提前将MSE中所需要的误差平方计算出来了,等真要计算误差平方和的时候,只需要进行查表就可以了,可以提高速度.
再看这一句
红框内的其实是一个整数,因为这是原图像像素和重建图像像素之差,所以值可以为负,也可以为正,这样通过这一句就直接得到了对应残差的平方.所以到此为止,我终于明白了quad数组的用意了,同时也明白了snr在代码中的实现.
在JM代码中,多次遇到img->quad这个东西,而在官方代码中只给出了一句说明:
我开始看了好几遍都没有看懂,然后看到后面有snr,所以想应该和snr有关吧.
然后再代码中寻找snr,发现jm代码中有一个函数
,然后就往下看,忽然发现这儿
在老毕的书上有
我们可以对比上面的公式发现,令n=8,我们可以得出代码中的65025=(2^8-1)=255^2,所以主要是MSE的计算,而MSE是均方误差,所以可以推断出diff_y应该是误差的平方,
我们看看diff_y的计算,
联系一下quad的含义,我突然感觉有些明白原代码注释中的"Array containing square values"的含义了.接着看看quad的赋值:
看511这个数字,多么好的一个数字,它的出现和512一样,256x2=512.
所以,我们可以知道这儿为quad数组分配了511个int空间大小:-255~0~255,正好511个,
看第二个红框,这一句就将指针quad移到了255的位置,可以看下图
箭头所指的位置就是现在指针的位置.我们再看一下for循环内部,在之前我看这一段代码很是看不明白,为什么数组的下标会使用负数,现在明白什么意思了.所以for循环内部的
即是将下标对应位置存储为其平方,平方其实就是提前将MSE中所需要的误差平方计算出来了,等真要计算误差平方和的时候,只需要进行查表就可以了,可以提高速度.
再看这一句
红框内的其实是一个整数,因为这是原图像像素和重建图像像素之差,所以值可以为负,也可以为正,这样通过这一句就直接得到了对应残差的平方.所以到此为止,我终于明白了quad数组的用意了,同时也明白了snr在代码中的实现.
相关文章推荐
- JM8.6中关于PSNR(峰值信噪比), img->quad的解释
- 8.6中关于PSNR(峰值信噪比), img->quad的解释
- 8.6中关于PSNR(峰值信噪比), img->quad的解释
- 关于 '<a[^>]+href=["\'](.*?)["\']' 的解释
- 关于 <meta name="viewport" content="width=device-width, initial-scale=1.0">的解释
- 关于PHP HTML <input type="file" name="img"/>上传图片,图片大小,宽高,后缀名。
- 关于cocos2d-x2.2.3中定时器<update>的详细解释和使用
- linux C 一站式编程<关于符号的解释>
- PHP脚本语言中关于箭号(->)在程序中的解释及strpos()函数的讲解摘要
- 关于List<Map<String,Object>>的通俗解释
- 关于JM8.6中MAX_LIST_SIZE值的选取
- 关于html <img /> 标签中的 onerror
- 关于>&2、2>&1等重定向的解释[转载…
- html5 viewport-关于<meta name="viewport" content="width=device-width, initial-scale=1.0">的解释
- JM8.6配置文件中参数的解释
- 关于>&2、2>&1等重定向的详细解释
- 关于>&2、2>&1等重定向的详细解释
- 关于HashTable 和 Dictionary<TKey,TValue>性能问题的MSDN解释供大家参考
- 关于2>&1 &的详细解释
- 关于 >/dev/null 2>&1 的解释