为什么DCT变换优于视频/图像压缩中的其他变换

时间:2013-04-20 10:31:22

标签: fft video-processing image-compression dct

我介绍了如何在图像和视频压缩标准中使用DCT(离散余弦变换)。

但为什么DCT仅比dft或dst等其他变换更受欢迎?

3 个答案:

答案 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更少的能量。因此,允许更多机会去除这些高系数,更粗略地量化或压缩,而不会产生更多可见的宏块边界伪像。