定義
簡介
最常用的一種離散餘弦變換的類型是下面給出的第二種類型,通常我們所說的離散餘弦變換指的就是這種。它的逆,也就是下面給出的第三種類型,通常相應的被稱為"反離散餘弦變換","逆離散餘弦變換"或者"IDCT"。
有兩個相關的變換,一個是離散正弦變換,它相當于一個長度大概是它兩倍的實奇函數的離散傅裡葉變換;另一個是改進的離散餘弦變換,它相當于對交疊的數據進行離散餘弦變換。
應用
離散餘弦變換,尤其是它的第二種類型,經常被信号處理和圖像處理使用,用于對信号和圖像(包括靜止圖像和運動圖像)進行有損數據壓縮。這是由于離散餘弦變換具有很強的"能量集中"特性:大多數的自然信号(包括聲音和圖像)的能量都集中在離散餘弦變換後的低頻部分。
馬爾科夫過程
(Markov processes)的統計特性時,離散餘弦變換的去相關性接近于K-L變換(Karhunen-Loève 變換——它具有最優的去相關性)的性能。
例如,在靜止圖像編碼标準JPEG中,在運動圖像編碼标準MJPEG和MPEG的各個标準中都使用了離散餘弦變換。在這些标準制中都使用了二維的第二種類型離散餘弦變換,并将結果進行量化之後進行熵編碼。這時對應第二種類型離散餘弦變換中的n通常是8,并用該公式對每個8x8塊的每行進行變換,然後每列進行變換。得到的是一個8x8的變換系數矩陣。其中(0,0)位置的元素就是直流分量,矩陣中的其他元素根據其位置表示不同頻率的交流分類。
一個類似的變換, 改進的離散餘弦變換被用在高級音頻編碼(AAC for Advanced Audio Coding),Vorbis 和 MP3 音頻壓縮當中。
離散餘弦變換也經常被用來使用譜方法來接偏微分方程,這時候離散餘弦變換的不同的變量對應着數組兩端不同的奇/偶邊界條件。
關聯
計算
盡管直接使用公式進行變換需要進行O(n2)次操作,但是和快速傅裡葉變換類似,我們有複雜度為O(nlog(n))的快速算法,這就是常常被稱做蝶形變換的一種
分解算法。另外一種方法是通過快速傅裡葉變換來計算DCT,這時候需要O(n)的預操作和後操作。
參考
K. R. Rao and P. Yip, 離散餘弦變換 : 算法、優點和應用 (Discrete Cosine Transform: Algorithms, Advantages, Applications) (Academic Press, Boston, 1990)。
A. V. Oppenheim, R. W. Schafer, and J. R. Buck, 時間離散信号處理 (Discrete-Time Signal Processing), second edition (Prentice-Hall, New Jersey, 1999)。
S. A. Martucci, 對稱卷積和離散正弦餘弦變換 (Symmetric convolution and the discrete sine and cosine transforms), IEEE Trans. Sig. ProcessingSP-42, 1038-1051 (1994)。
Matteo Frigo and Steven G. Johnson: FFTW, http://www.fftw.org/. 一個免費的C語言庫GPL,可以計算DCT-I~IV的1維到多維的任意大小的變換。
M. Frigo and S. G. Johnson, "FFTW3的設計和實現," Proceedings of the IEEE93 (2), 216–231。



















