我介绍了如何在图像和视频压缩标准中使用DCT(离散余弦变换)。
但为什么DCT仅比dft或dst等其他变换更受欢迎?
答案 0 :(得分:8)
因为cos(0)
是1,所以DCT-II的第一个(第0个)系数是被转换的值的平均值。这使得每个8x8块的第一个系数代表其组成像素的平均色调,这显然是一个好的开始。随后的系数增加了细节水平,从清晰的渐变开始,继续变得越来越模糊,而恰好是前几个系数捕获了摄影图像中的大部分信号。
Sin(0)
为0,因此DST以0.5或1的偏移开始,第一个系数是平缓的丘而不是平坦的平原。这不太适合普通图像,结果是DST需要比DCT更多的系数来编码大多数块。
DCT恰好适合。这就是它的全部内容。
答案 1 :(得分:6)
执行图像压缩时,我们最好的选择是执行KLT或 Karhunen-Loève变换,因为它会导致原始图像和压缩图像之间的均方误差最小。但是,KLT依赖于输入图像,这使得压缩过程不切实际。
DCT是最接近KL变换的近似值。大多数情况下,我们对低频信号感兴趣,因此只需要偶数分量,因此在计算上只能计算DCT。
此外,使用余弦而不是正弦函数对于压缩至关重要,因为需要较少的余弦函数来逼近典型信号(有关进一步说明,请参阅 Douglas Bagnall的答案)。
使用余弦的另一个好处是缺乏不连续性。在DFT中,由于周期性地表示信号,当截断表示系数时,信号将倾向于“失去其形式”。然而,在DCT中,由于连续的周期性结构,信号可以承受相对更多的系数截断,但仍保持所需的形状。
答案 2 :(得分:4)
顶部和底部和/或左右边缘不匹配的图像宏块的DCT在较高频率系数中具有比DFT更少的能量。因此,允许更多机会去除这些高系数,更粗略地量化或压缩,而不会产生更多可见的宏块边界伪像。