为啥 DCT 变换在视频/图像压缩中优于其他变换
Posted
技术标签:
【中文标题】为啥 DCT 变换在视频/图像压缩中优于其他变换【英文标题】:why DCT transform is preferred over other transforms in video/image compression为什么 DCT 变换在视频/图像压缩中优于其他变换 【发布时间】:2013-04-13 17:07:33 【问题描述】:我了解了如何在图像和视频压缩标准中使用 DCT(离散余弦变换)。
但为什么仅 DCT 优于 dft 或 dst 等其他转换?
【问题讨论】:
【参考方案1】:因为cos(0)
是 1,所以 DCT-II 的第一个(第 0 个)系数是被转换值的平均值。这使得每个 8x8 块的第一个系数代表其组成像素的平均色调,这显然是一个好的开始。随后的系数增加了越来越多的细节层次,从扫描梯度开始,一直到越来越复杂的模式,而前几个系数恰好捕获了摄影图像中的大部分信号。
Sin(0)
为 0,因此 DST 以 0.5 或 1 的偏移量开始,第一个系数是平缓的土丘而不是平坦的平原。这不太适合普通图像,结果是 DST 需要比 DCT 更多的系数来编码大多数块。
DCT 恰好适合。这就是它的全部内容。
【讨论】:
【参考方案2】:在执行图像压缩时,我们最好的办法是执行 KLT 或 Karhunen–Loève 变换,因为它可以使原始图像和压缩图像之间的均方误差最小。然而,KLT 依赖于输入图像,这使得压缩过程不切实际。
DCT 是最接近 KL 变换的近似值。大多数情况下,我们对低频信号感兴趣,因此只需要偶数分量,因此仅计算 DCT 在计算上是可行的。
此外,使用余弦函数而不是正弦函数对于压缩至关重要,因为需要更少的余弦函数来逼近典型信号(请参阅 Douglas Bagnall 的 答案以获得进一步的解释)。
使用余弦的另一个优点是没有不连续性。在 DFT 中,由于信号是周期性地表示的,因此在截断表示系数时,信号将趋于“失去其形式”。而在DCT中,由于是连续的周期性结构,信号可以承受相对较多的系数截断,但仍能保持所需的形状。
【讨论】:
【参考方案3】:顶部和底部和/或左右边缘不匹配的图像宏块的 DCT 在较高频率系数中的能量将低于 DFT。因此,这些高系数有更多机会被移除、更粗略地量化或压缩,而不会产生更多可见的宏块边界伪影。
【讨论】:
以上是关于为啥 DCT 变换在视频/图像压缩中优于其他变换的主要内容,如果未能解决你的问题,请参考以下文章