DCT与PCA之间的关系


12

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

非常感谢

Answers:


19

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

有人可能想知道为什么PCA由于其适应性而不经常在图像或音频压缩中使用。有两个原因:

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

  2. NN×64这些瓷砖的发光度的矩阵。根据此数据计算PCA,并绘制将要估计的主要成分。这是一个很有启发性的实验!大多数高级特征向量实际上很有可能看起来像是DCT基础的调制正弦波模式。这意味着对于足够大且通用的图像图块集,DCT非常适合本征基数。音频也得到了验证,在大量音频记录中估计的梅尔空间频带中对数信号能量的本征基础接近于DCT(因此将DCT用作去相关变换)计算MFCC时)。


1
有趣的是,是否可以基于图像的“常规”统计数据而不是基于DCT的统计数据来构建不同的基础集?我想这样的基础不如PCA,但是比DCT好吗?
Spacey 2013年

@pichenettes-关于DCT,水平和垂直频率增加的常见图像是什么(即goo.gl/XLMt5)?它是DCT基本功能的图像表示吗?如果是这样的话,如果我从这些图像的协方差矩阵中计算出PCA /特征向量,那么从本质上讲,这会给我DCT系数矩阵吗?
trican

顺便说一句@pichenettes非常感谢您的深刻见解。我知道第1点,但并未真正考虑第2点
。– trican

1
@穆罕默德:这是一个很好的问题,我不知道答案。我看到使用DCT的优势:易于编写规范(打印“我们的变换是此封闭形式的函数”比“我们的变换是此附件中发布的此64x64矩阵”更容易),没有标准化委员会开会讨论要训练的数据集与残酷的64x64矩阵乘法相比,转换,更少的查找表可嵌入到解码器的ROM中,并且可能在变换矩阵中具有“对称性”,从而使其硬件加速成为可能-这些优势可能超过边际压缩增益。
pichenettes

1
@trican:链接到的图像代表8x8瓦片的2-D DCT基础。64个小图块中的每一个都是基本功能。如果您从实际图像中收集大量的8x8拼贴,并对数据执行PCA,则您将获得的特征基础与此非常相似。
pichenettes
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.