跳转至

离散余弦变换

对称延拓与 DCT-II

DFT 默认有限序列按周期首尾相接。若端点不连续,周期边界会产生较强高频分量。DCT 先把有限序列作偶对称延拓,再对延拓序列作 DFT,并去掉由半采样平移产生的已知线性相位,留下实余弦系数;延拓边界通常也更平滑。

按照对称中心落在样点上还是样点之间,以及端点采用何种对称方式,可得到四类离散余弦变换。课件的延拓图分别标为 DCT-I 周期 \(2N-2\)、DCT-II 周期 \(2N\)、DCT-III 周期 \(4N\)、DCT-IV 周期 \(4N-1\);不同资料对端点是否重复的编号约定不完全相同,周期应和所采用的延拓图一起理解。DCT-I 的两端样点不重复,DCT-II 在半样点处对称,DCT-III 是 DCT-II 的逆向形式,DCT-IV 两端都采用半样点对称。图像与音频压缩最常用的是 DCT-II。

DCT-II 的 \(2N\) 点延拓明确写成

\[ s[n]=\begin{cases}x[n],&0\leq n<N\\x[2N-n-1],&N\leq n<2N\end{cases} \]

它关于半采样点而非整数样点对称。对 \(s[n]\)\(2N\) 点 DFT 可得

\[ S[k]=2W_{2N}^{-k/2}\sum_{n=0}^{N-1}x[n]\cos\!\left[\frac\pi N\left(n+\frac12\right)k\right] \]

余弦和本身为实数,\(S[k]\) 的复相位只来自半采样平移。未归一化 DCT-II 若记为

\[ C[k]=2\sum_{n=0}^{N-1}x[n]\cos\!\left[\frac\pi N\left(n+\frac12\right)k\right] \]

则逆式为

\[ x[n]=\frac1N\left\{\frac{C[0]}2+\sum_{k=1}^{N-1}C[k]\cos\!\left[\frac\pi N\left(n+\frac12\right)k\right]\right\} \]

正交归一的 \(N\) 点 DCT-II 定义为

\[ X[k]=\alpha_k\sum_{n=0}^{N-1}x[n]\cos\!\left[\frac{\pi}{N}\left(n+\frac12\right)k\right],\qquad 0\leq k<N \]

其中

\[ \alpha_k=\begin{cases}\sqrt{1/N},&k=0\\\sqrt{2/N},&1\leq k<N\end{cases} \]

逆变换为

\[ x[n]=\sum_{k=0}^{N-1}\alpha_kX[k]\cos\!\left[\frac{\pi}{N}\left(n+\frac12\right)k\right] \]

余弦基彼此正交,变换矩阵为实正交矩阵,故能量保持:

\[ \sum_{n=0}^{N-1}|x[n]|^2=\sum_{k=0}^{N-1}|X[k]|^2 \]

因此 DCT-II 可借助 FFT 快速计算。

能量集中与二维 DCT

Karhunen–Loève 变换以信号协方差矩阵的特征向量为基,在已知统计模型时具有最优能量集中能力,但基向量依赖数据统计,计算和存储代价较高。自然图像相邻像素高度相关,DCT-II 的固定余弦基与其 KLT 基很接近,又避免了周期延拓的突变,因而大部分能量往往集中在少量低频系数上。

\(N=32\)\(x[n]=\cos(2\pi\cdot5n/N)\),DFT 在一对共轭频点集中,而 DCT 因基频率与边界条件不同,能量主要落在约第 10、11 个系数。对

\[ x[n]=(0.9)^n\cos(0.1\pi n),\qquad0\leq n\leq31 \]

若以

\[ E[m]=\sum_n|x[n]-\widetilde x_m[n]|^2 \]

衡量把 \(m\) 个系数置零、只保留 \(N-m\) 个系数后的重构,图中 \(m\approx25\),即 DCT 约保留 7 个系数已能很好恢复;DFT 在相同截断量下误差更大。原因不是正交变换改变了总能量,而是 DCT 偶延拓的边界更平滑,把能量集中到了较少低频基上。

二维 DCT 可分离计算:先沿每一行做一维 DCT,再沿每一列做一维 DCT,或次序相反。对 \(N\times N\) 图像块,

\[ X[k,l]=\alpha_k\alpha_l\sum_{m=0}^{N-1}\sum_{n=0}^{N-1}x[m,n]\cos\!\left[\frac{\pi}{N}\left(m+\frac12\right)k\right]\cos\!\left[\frac{\pi}{N}\left(n+\frac12\right)l\right] \]

JPEG 的基本流程把图像分成 \(8\times8\) 块,作二维 DCT 后按视觉敏感度量化各系数。左上角是块均值对应的直流系数,越向右下频率越高;高频系数通常较小且可用更粗步长量化,再按由低到高的次序扫描和熵编码。课件的三张示意图文件量约为 36 KB、5.7 KB 和 1.7 KB;压缩越强,细节损失越明显。块独立处理使计算简单,但压缩过强时会出现可见的 \(8\times8\) 方块边界。

评论