离散余弦变换(DCT)

时间:2022-07-07 21:26:56

DCT(Discrete Cosine Transform)离散余弦变换

一维DCT

一维离散余弦变换公式为:

C(u)=α(u)x=0N1f(x)cos[π(2x+1)u2N]

其中 N 表示一维序列的长度,下标从0开始, x 表示原始图像坐标, u 为对应的变换后的坐标, f(x) 表示原图像的在 x 处的像素, u(x) 定义如下:
α(u)=1Nu=02Nu0

一维DCT逆变换:
f(x)=u=0N1α(u)C(u)cos[π(2x+1)u2N]

二维DCT

这里讨论图像长款相等的情况,若长款不相等可以进行填充。

C(u,v)=α(u)α(v)x=0N1y=0N1f(x,y)cos[π(2x+1)u2N]cos[π(2y+x)v2N]

其中参数和一维的类似

二维DCT逆变换为:

f(x,y)=u=0N1v=0N1α(u)α(v)cos[π(2x+1)u2N]cos[π(2y+1)v2N]

二维DCT的矩阵形式

C=AFAT

其中:

A(u,v)=α(u)cos[π(2v+1)u2N]