Jpeg DCT压缩相同的颜色

时间:2015-09-07 18:08:18

标签: jpeg dct

如果一个8x8矩阵只包含一种颜色,那么压缩会大于它有多种不同颜色的压缩吗? 8x8矩阵中不同颜色的数量是否会影响从DCT生成的0的数量?

我的意思是如果我有8位颜色,但我的矩阵恰好只有颜色black0。

2 个答案:

答案 0 :(得分:1)

不同颜色的数量并不是很重要,因为它们的排列也非常重要。但是当只有1种颜色时,也只有1种颜色,所以它没有任何区别。

对于所有AC系数,常数的DCT将具有零。它可能有一个非零的DC系数,但也可能是零(零的DCT当然是零,哲学上它是一个基础变化,零矢量将是任何基础上的零向量 - 这大约是你放的零进入DCT,而不是黑色的零。)

在其他情况下,它不会那样。例如,最好有一个渐变而不是一个急剧的过渡(如果转换是在块之间它很好,但是跨越一个块会花费很多AC系数来编码)。因此,例如,使用2种颜色(实际上不是梯度,更多阶梯函数)的“梯度”比使用8种不同颜色的平滑梯度花费更多的AC系数。随机排列这8种颜色需要花费很多AC系数。

答案 1 :(得分:0)

这取决于颜色变化的性质和使用的量化表。

DCT的输出取决于不同组件值的数量,它们在DCT输入矩阵中的位置以及值本身(它们与块内平均值的距离)。

通常,一个组件值的8x8块将比具有多个值的块压缩得更好。但是,压缩的值是量化的DCT值。如果量化的DCT AC系数都是零,那么它实际上与单个颜色的块相同。