【发布时间】:2015-09-12 02:16:40
【问题描述】:
如果一个 8x8 矩阵只包含一种颜色,那么压缩会比它包含许多不同颜色的情况下更大吗? 8x8 矩阵中不同颜色的数量会影响 DCT 生成的 0 的数量吗?
我的意思是,例如,如果我有 8 位颜色,但我的矩阵恰好只有颜色 black0。
【问题讨论】:
如果一个 8x8 矩阵只包含一种颜色,那么压缩会比它包含许多不同颜色的情况下更大吗? 8x8 矩阵中不同颜色的数量会影响 DCT 生成的 0 的数量吗?
我的意思是,例如,如果我有 8 位颜色,但我的矩阵恰好只有颜色 black0。
【问题讨论】:
不同颜色的数量并不是一个很好的衡量标准,因为它们的排列也很重要。但是当只有一种颜色时,也只有一种排列,所以没有任何区别。
常数的 DCT 对于所有 AC 系数都为零。它可能有一个非零的 DC 系数,但它也可能是零(零的 DCT 当然是零,从哲学上讲,它是一个基础变化,零向量将是任何基础上的零向量 - 这大约是你输入的零进入 DCT,而不是像黑色那样为零)。
在其他情况下,情况并非如此。例如,有一个梯度比有一个陡峭的过渡更好(如果过渡是在块之间,那很好,但是跨一个块将花费大量的 AC 系数来编码)。例如,使用 2 种颜色的“渐变”(不是真正的渐变,更多的是阶跃函数)比使用 8 种不同颜色的平滑渐变花费更多的 AC 系数。并且再次随机排列这 8 种颜色会花费很多 AC 系数。
【讨论】:
这取决于颜色变化的性质和使用的量化表。
DCT 的输出取决于不同分量值的数量、它们在 DCT 输入矩阵中的位置以及值本身(它们与块内的平均值的距离)。
一般来说,一个包含一个组件值的 8x8 块会比一个包含多个值的块压缩得更好。然而,被压缩的值是量化的 DCT 值。如果量化后的 DCT AC 系数全为零,那么它实际上与单色块相同。
【讨论】: