DCT - 系数和基函数

信息处理 转换 dct JPEG
2022-02-15 14:10:29

我试图了解离散余弦变换的工作原理,但我不确定我是否走在正确的道路上。

假设我有一个8×8像素图像,我将 DCT 应用于此示例。结果我会得到一个8×8DCT 系数的矩阵。

为了将其转换为原始图像,我需要将每个 DCT 系数与其相应的基函数相乘,然后对结果求和。但是如果 DCT 只返回系数,我该如何计算基函数呢?

2个回答

当 DCT 由矩阵定义时,该矩阵包含构建基函数所需的信息。

假设I是你的8×8块,和D一个真实的8×8 一维 DCT 的矩阵(具有列向量)。然后DTI对列应用 DCT,并且ID在行上做。因此,一个 2D DCT 产生一个 8×8矩阵C的系数定义为:

C=DTID.

因此,我们有

I=DCDT.

如果我们打电话Γm,n矩阵使得每个元素都为零,除了Γ[m,n]=1(规范基础),然后

C=m,nC[m,n]Γm,n

因此,通过线性:

I=m,nC[m,n]DΓm,nDT.

每个矩阵DΓm,nDT是您正在寻找的基础的一个元素。

我对 DFT 的了解不是很先进,但据我了解,它类似于傅里叶或 Radon 等其他频域变换。您要检查的频率已经定义和“标准化”。将这些不同频率相加的方式创建的频率类似于您尝试重新创建的频率。因此,为了更直接地回答您的问题,您用于创建 8x8 矩阵的函数已经在应用所述函数。为了反转该操作,您需要反转(对此不完全确定,但我可以从这个答案中看到https://stackoverflow.com/questions/54295413/change-code-from-dct-to-inverse-discrete-cosine-transformation) 如果您需要更多信息,请查看径向基函数,它进行类似的分解,但视觉上更清晰。