15

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

但为什么仅 DCT 优于 dft 或 dst 等其他变换?

4

4 回答 4

11

因为cos(0)是 1,所以 DCT-II 的第一个(第 0 个)系数是被转换值的平均值。这使得每个 8x8 块的第一个系数代表其组成像素的平均色调,这显然是一个好的开始。随后的系数增加了越来越多的细节水平,从扫描梯度开始,一直到越来越复杂的模式,而前几个系数恰好捕获了摄影图像中的大部分信号。

Sin(0)为 0,因此 DST 以 0.5 或 1 的偏移量开始,第一个系数是平缓的土丘而不是平坦的平原。这不太可能适合普通图像,结果是 DST 需要比 DCT 更多的系数来编码大多数块。

DCT恰好适合。这就是它的全部。

于 2013-04-21T09:35:35.550 回答
8

在执行图像压缩时,我们最好的选择是执行 KLT 或Karhunen-Loève 变换,因为它可以使原始图像和压缩图像之间的均方误差最小。然而,KLT 依赖于输入图像,这使得压缩过程不切实际。

DCT 是最接近 KL 变换的近似值。大多数情况下,我们对低频信号感兴趣,因此只需要偶数分量,因此仅计算 DCT 在计算上是可行的。

此外,使用余弦而不是正弦函数对于压缩至关重要,因为需要更少的余弦函数来逼近典型信号(有关进一步解释,请参阅Douglas Bagnall 的回答)。

使用余弦的另一个优点是没有不连续性。在 DFT 中,由于信号是周期性地表示的,因此在截断表示系数时,信号会趋于“失去其形式”。然而,在 DCT 中,由于连续的周期性结构,信号可以承受相对较多的系数截断,但仍保持所需的形状。

于 2015-01-19T05:47:29.167 回答
4

顶部和底部和/或左右边缘不匹配的图像宏块的 DCT 在较高频率系数中的能量将低于 DFT。因此,允许更大的机会去除这些高系数,更粗略地量化或压缩,而不会产生更多可见的宏块边界伪影。

于 2013-04-20T23:32:40.337 回答
0

DCT 优于 DFT(离散傅立叶变换)和 KLT(Karhunen-Loeve 变换)

1. Fast algorithm
2. Good energy compaction
3. Only real coefficients
于 2022-02-03T16:10:11.987 回答