您的位置:首页 > 其它

数字图像处理:11.离散余弦变换

2013-08-01 11:29 141 查看
已知离散傅里叶变换(DFT)为:





由于许多要处理的信号都是实信号,在使用DFT时由于傅里叶变换时由于实信号傅立叶变换的共轭对称性导致DFT后在频域中有一半的数据冗余。

离散余弦变换(DCT)是对实信号定义的一种变换,变换后在频域中得到的也是一个实信号,相比DFT而言,DCT可以减少一半以上的计算。DCT还有一个很重要的性质(能量集中特性):大多书自然信号(声音、图像)的能量都集中在离散余弦变换后的低频部分,因而DCT在(声音、图像)数据压缩中得到了广泛的使用。由于DCT是从DFT推导出来的另一种变换,因此许多DFT的属性在DCT中仍然是保留下来的。

推导N点长实序列的DCT,首先来定义一个新的长度为2N的序列:



可看作是将周期为N的序列x[m]做一个周期延拓成一个周期为2N的序列。如图1中第一张图。





再来看图1中第一张图是关于 x
= -1/2 对称的,要让他关于x
= 0对称需要将其向右平移1/2个单位,得到 x’[m]
= x’[m – 1/2] 就是关于 x
= 0对称的周期序列了(如图1中第二张图)。

然后求这个2N序列的DFT:





就是DCT-2型离散余弦变换.从上面的过程也可以直接看出, 离散余弦变换相当于一个长度大概是它两倍的离散傅里叶变换.

变换后的x
是以2N为周期,偶对称的序列:
X[N+n] = X[N+n-2N] = X[n-N] = x[N-n]

定义变换矩阵C[n,m]:





用计算机计算DCT-2
( 用的是O(n^2)朴素算法,用于验证正交特性以及观察其频域数据):

DCT的结果:





对相同序列FFT的结果:





比较DFT和FFT的结果可以观察出DCT变换只有实部,而DFT变换后有虚部。在这个例子中DCT在频域中只用3个点就可以表示这个信号,而DFT变换后在频域中需要5个点来表示信号。
Form

配套代码实现
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: