1
首先人眼对低频敏感对高频不敏感,而维基百科里说了
由于离散余弦变换具有很强的"能量集中"特性:大多数的自然信号(包括声音和图像)的能量都集中在离散余弦变换后的低频部分
所以可以省去离散余弦变换后矩阵里的高频部分来对图像进行压缩,这是JPEG的主要原理。
那么什么是高频部分?对于一个矩阵
对其离散余弦变换后并舍位取最接近的整数,得
可以看到矩阵每个元素的绝对值是从左上角到右下角越来越小的,其中左上角称为DC系数,是整个矩阵的平均值。其余的称为AC系数。越靠近右下角,其对应的频率越高。那么根据人眼对低频敏感对高频敏感这个原理,省掉右下部分的一些值的话,对人眼来说,看起来实际上是没什么区别的。
2
对一个图像的矩阵DCT之后,需要对它进行量化。这方面我不是很熟悉。
From wiki
简单地把频率领域上每个成份,除以一个对于该成份的常数就可完成,且接着舍位取最接近的整数。这是整个过程中的主要有损运算。以这个结果而言,经常会把很多更高频率的成份舍位成为接近0,且剩下很多会变成小的正或负数。
对1中的结果进行量化的结果如图
接下来对这个矩阵使用熵编码,最后存的就是熵编码再二进制编码(总不可能直接以文本的形式存储熵编码吧)之后的东西。
回答1里说了,压缩减少的是高频区域上的信息量。
3
不可能对一个像素点进行离散余弦变换的,没有意义。你的原文里也说了,是将矩阵分为8x8的块,分别进行DCT、量化、熵编码。
对于第二个问题,简单的回答是是。但是维基百科说
图像由RGB(红绿蓝)转换为一种称为YUV的不同色彩空间。... 。这种编码系统非常有用,因为人类的眼睛对于亮度差异的敏感度高于色彩变化。使用这种知识,编码器(encoder)可以被设计得更有效率地压缩图像。
然后在DCT过程中对每个成分(Y,U,V)分别使用离散余弦变换和余下的步骤。
时间仓促,错误之处请不吝指正。