背景知识:
低频分量(低频信号)代表着图像中亮度或者灰度值变化缓慢的区域,也就是图像中大片平坦的区域,描述了图像的主要部分。主要对整幅图像强度的综合度量。
高频分量(高频信号)对应着图像变化剧烈的部分,也就是图像的边缘(轮廓)或者噪声以及细节部分,主要是对图像边缘和轮廓的度量。
1.DCT变换对图像进行压缩的原理是减少图像中的高频分量,高频主要是对应图像中的细节信息,而我们人眼对细节信息并不是很敏感,因此可以去除高频的信息量。另外,去掉50%的高频信息存储部分,图像信息量的损失不到5%。
对原始图像进行离散余弦变换,变换后DCT系数能量主要集中在左上角,其余大部分系数接近于零。这样一来,描述不重要的分量 只需要很少的比特数;将变换后的DCT系数进行门限操作,将小于一定值得系数归零,这就是图像压缩中的量化过程,然后进行逆DCT运算,可以得到压缩后的图像
DCT变换的公式为:
2.量化矩阵的原理是对应不同位置的系数使用不同的量化系步长进行量化,人眼对高频不敏感,对低频分量进行小步长量化,对高频分量进行大步长量化,在保证主观质量的情况下,提高压缩效率。HEVC支持量化矩阵,但是默认不启用。HEVC的量化矩阵与TU大小相同,分为4x4,8x8,16x16,32x32 4种尺寸。HEVC支持量化矩阵,但是默认不启用。HEVC的量化矩阵与TU大小相同,分为4x4,8x8,16x16,32x32 4种尺寸。
HEVC可以使用两种形式的量化矩阵:默认量化矩阵、自定义量化矩阵。
在HM中只存了4x4和8x8的矩阵,这里通过对8x8插值计算16x16和32x32
默认量化矩阵详细推导过程推荐阅读论文Adaptive Quantization Matrices for HD and UHD Display Resolutions in Scalable HEVC。
举例:
3 应用举例
3.1 编码
某个图象的一个8*8方块,的亮度值。
由于一个字节是0~255,为了减小绝对值波动,先把数值移位一下,变成-128~127。
接着,根据DCT变换公式,各种计算,获得临时结果。
根据亮度量化表量化后得到的量化系数矩阵
获得量化结果(量化系数除以对应位置的元素得到最终的量化系数):
可见,新的数据,很小,很多是0。正如上文所说,这么多0,完全可以用游程编码,大大缩小数据量。
3.2 解码
先游程编码恢复为
然后,根据量化表,恢复
再根据反离散余弦变换的公式:
结果为:
再右移127,恢复原始。
和原始图像的数据相比,基本是一样的,或者近似的!
转载:https://blog.csdn.net/newchenxf/article/details/51719597 https://blog.csdn.net/lin453701006/article/details/103157068