>>
基于JPG标准的图像压缩算法+代码+论文1.4.3排列 DCT 结果
DCT 将一个 8x8 的数组变换成另一个 8x8 的数组。 但是内存里所有数据都是线 形存放的, 如果我们一行行的存放这 64 个数字, 每行的结尾的点和下行开始的点就 没有什么关系, 所以 JPEG 规定按如下次序整理 64 个数字。
0, 1, 5, 6,14,15,27,28,
2, 4, 7,13,16,26,29,42,
3, 8,12,17,25,30,41,43,
9,11,18,24,31,40,44,53,
10,19,23,32,39,45,52,54,
20,22,33,38,46,51,55,60,
21,34,37,47,50,56,59,61,
35,36,48,49,57,58,62,63
这样数列里的相邻点在图片上也是相邻的了。
1.4.4 量化
对于前面得到的 64 个空间频率振幅值, 我们将对它们作幅度分层量化,操作方法就是分别除以量化表里对应值并四舍五入。
for i=1:64
dc(i)=round(B(i)/q(i));
end
其中B(i)为经过余弦变换后的系数,q(i)为量化表数据;round()是进行四舍五入的数学函数。
下面两张 JPEG 标准量化表。 (按上面同样的弯曲次序排列) 相关热词:VC 基于 JPG 标准 图像 压缩 算法 代码 论文
这两张表依据心理视觉阀制作, 对 8bit 的亮度和色度的图象的处理效果不错。
当然我们可以使用任意的量化表。 量化表是定义在 jpeg 的 DQT 标记后。 一般为 Y 值定义一个, 为 C 值定义一个。
量化表是控制 JPEG 压缩比的关键。 这个步骤除掉了一些高频量, 损失了很高细节。 但事实上人眼对高空间频率远没有低频敏感。所以处理后的视觉损失很小。另一个重要原因是所有的图片的点与点之间会有一个色彩过渡的过程。 大量的图象信息被包含在低空间频率中。 经过量化处理后, 在高空间频率段, 将出现大量连续的零。
注意, 量化后