2012-05-07 84 views
0

在JPEG压缩中,量化期间和DCT变换期间发生损失。JPEG图像压缩中的量化

为什么在JPEG图像压缩的DCT变换后量化之后我们会得到很多的0。

回答

1

经过DCT变换后,压缩器将每个DCT输出值除以“量化系数”并将结果四舍五入为整数。量化系数越大,数据丢失越多。由于四舍五入,你可能会看到很多0。所得到的系数包含大量的冗余数据。下面的霍夫曼压缩将无损地消除冗余,导致更小的JPEG数据。

More info

2

我可能误解了你的问题。获得“很多0”是整个量化的关键。通过在Huffman编码中为每个符号加上前缀,直到下一个系数为零,隐式编码为零。

JPEG压缩的量化是通过对量化表中的对应值对每个系数进行整数除法来完成的。如果系数小于量化表中的值,它将变为零。

在解码器中,系数被乘以量化表中的值,以便它们恢复到它们以前的值(或多或少),除非系数为零。

1

What @ Dragon66说的是正确的,DCT矩阵除以量化矩阵并四舍五入为整数,当系数足够高时导致0。

造成这种情况的原因是人眼在较低空间频率下对噪声更敏感,但忽略了较高空间频率中的大部分噪声。

当您使用DCT处理像素矩阵并获得结果矩阵时,左上角的系数表示像素块的平均亮度。向右移动系数表示增加的水平空间频率。向下移动,系数代表增加的垂直空间频率。

因此,量化矩阵有更高的分量移动到右下角。当系数在这些位置上达到0时丢失的信息对图像本身来说不那么重要,因为它代表较高的频率成分。

此处的完整说明: http://www.media-matters.net/docs/resources/Digital%20Files/MPEG/MPEG%20Encoding%20Basics.pdf