DCT和PCA的关系

信息处理 图像处理 离散信号 dct 视频压缩
2021-12-24 07:41:09

我对图像和视频压缩中使用的 2D 8x8 DCT 有基本的实现知识。在阅读主成分分析时,我可以看到很多相似之处,尽管 PCA 显然更通用。当我之前阅读过 DCT 时,它总是与 DFT 相关。所以我的问题是如何从 PCA 的角度推导出 DCT?(即使是挥手解释就足够了)

非常感谢

1个回答

DCT 和 PCA 之间的主要区别(更准确地说,在由其相关矩阵的特征向量形成的基础中表示数据集 - 也称为Karhunen Loeve 变换)是必须针对给定数据集定义 PCA(从中相关矩阵是估计的),而 DCT 是“绝对的”并且仅由输入大小定义。这使得 PCA 成为“自适应”变换,而 DCT 是数据独立的。

有人可能想知道为什么 PCA 没有更多地用于图像或音频压缩,因为它具有自适应性。有两个原因:

  1. 想象一个编码器计算数据集的 PCA 并对系数进行编码。为了重建数据集,解码器不仅需要系数本身,还需要变换矩阵(它取决于它无法访问的数据!)。DCT 或任何其他与数据无关的变换在消除输入数据中的统计依赖性方面可能效率较低,但编码器和解码器都预先知道变换矩阵,而无需传输它。需要很少辅助信息的“足够好”变换有时比需要额外加载辅助信息的最佳变换更好......

  2. 收集大量N从照片中提取的 8x8 瓷砖。形成一个N×64矩阵与这些瓷砖的亮度。计算此数据的 PCA,并绘制将估计的主成分。这是一个非常有启发性的实验!大多数较高等级的特征向量很有可能实际上看起来像 DCT 基的调制正弦波模式。这意味着对于足够大且通用的图像块集,DCT 是特征基的非常好的近似值。同样的事情也已在音频中得到验证,其中梅尔间隔频带中的对数信号能量的特征基(根据大量音频记录估计)接近 DCT 基(因此使用 DCT 作为去相关变换在计算 MFCC 时)。