离散余弦变换 (DCT) 的第 0 个分量不是均值?
0th Component of the Discrete Cosine Transform (DCT) is NOT the mean?
我在与 DCT 相关的文章中一次又一次地发现这一点,人们声称 DCT 矩阵的第 0 个系数是 平均值 或 正在转换的值的平均值 。
例如,参见 here, here, or even in the JPEG Bible here。
然而,这根本不是真的......如果 DCT-II 的公式是
(这个公式来自 Matlab)结果是总和之外的系数最终为 1/8。这绝不是平均水平。相反,它是总和除以 8。要得到平均值,还必须有 1/8 项。我不明白为什么会这样,谁能解释一下?
在您的 link to the MATLAB documentation, it shows that the two α values are 1/sqrt(M)
and 1/sqrt(N)
. This is one convention. Wikipedia shows DCT-II 中根本没有任何归一化 (α) 项。
基本上,对于图像 I 的正向 DCT 的逆 DCT 等于 I,某些地方需要一些归一化.有的作者把它放在正变换里,有的放在逆变换里,有的把它分开放在两者里。似乎 MATLAB 遵循后一种约定。
因此,根据使用的归一化,DC 项(第 0 个系数)是平均值、总和或中间值。
傅立叶变换也是如此。常见的归一化是逆变换中的1/N
,但有时你会在正向和反向变换中看到1/sqrt(N)
的归一化,或者只在正向变换中看到1/N
的归一化.
我在与 DCT 相关的文章中一次又一次地发现这一点,人们声称 DCT 矩阵的第 0 个系数是 平均值 或 正在转换的值的平均值 。
例如,参见 here, here, or even in the JPEG Bible here。
然而,这根本不是真的......如果 DCT-II 的公式是
(这个公式来自 Matlab)结果是总和之外的系数最终为 1/8。这绝不是平均水平。相反,它是总和除以 8。要得到平均值,还必须有 1/8 项。我不明白为什么会这样,谁能解释一下?
在您的 link to the MATLAB documentation, it shows that the two α values are 1/sqrt(M)
and 1/sqrt(N)
. This is one convention. Wikipedia shows DCT-II 中根本没有任何归一化 (α) 项。
基本上,对于图像 I 的正向 DCT 的逆 DCT 等于 I,某些地方需要一些归一化.有的作者把它放在正变换里,有的放在逆变换里,有的把它分开放在两者里。似乎 MATLAB 遵循后一种约定。
因此,根据使用的归一化,DC 项(第 0 个系数)是平均值、总和或中间值。
傅立叶变换也是如此。常见的归一化是逆变换中的1/N
,但有时你会在正向和反向变换中看到1/sqrt(N)
的归一化,或者只在正向变换中看到1/N
的归一化.