离散余弦变换(DCT)最近可能要用,不过之前上课学的内容有点忘记了,这里复习一下。
离散余弦变换的定义
与傅里叶变换的思想相似,离散余弦变换(Discrete CosineTransform - DCT)将函数表达为许多不同幅度和频率的余弦函数的和。对于图像这样一种二维函数而言,在对其进行离散余弦变换后,图像中大部分的,在视觉上比较重要的信息都会集中在小部分的DCT系数上面。由于这个原因,DCT经常被用于图像压缩的应用场景当中。例如,DCT算法是JPEG(Joint Photographic Experts Group)这样一个国际标准有损压缩算法的核心部分。
对于一个二维的离散序列A(即一个M行N列的矩阵),它的二维离散余弦变换定义如下所示:
其中,Bpq的值被称为矩阵A的DCT系数,在得到所有的DCT系数后,便形成了一个与A同样大小的矩阵B。通过下面的反离散余弦变换(Inverse Discrete Cosine Transform)公式,可以由矩阵B恢复原来的离散序列A: