Signal Processing Toolbox    
dct

離散コサイン変換(DCT)

表示

詳細

y = dct(x) は、xの離散コサイン変換を出力します。

Nxの長さで、xyは同じ大きさです。xが行列の場合、dctはその各列を変換します。MATLABのベクトル表現は、0から(N-1)ではなく、1からNであるため、データ列には通常の n = 0,k = 0 の代わりに、n = 1,k = 1 のインデックスが付けられます。

y = dct(x,n) は、変換の前にxnより小さい場合ゼロを付加し、大きい場合n以上を切り捨て、長さnにします。

DCTは、離散フーリエ変換と密接に関連しています。しばしば、わずか数個のDCT係数から、きわめて正確にデータ列を復元することができます。これは、データ量を小さくする必要性のあるアプリケーションで役立つ特性です。

例題

データ列の99%のエネルギーを表現するDCT係数の数を求めます。

参考
fft
1次元FFT
idct
逆離散コサイン変換
dct2
2次元DCT (Image Processing Toolbox User's Guideを参照)
idct2
2次元逆DCT (Image Processing Toolbox User's Guideを参照)

参考文献

[1] Jain, A.K. Fundamentals of Digital Image Processing. Englewood Cliffs, NJ: Prentice-Hall, 1989.

[2] Pennebaker, W.B., and J.L. Mitchell. JPEG Still Image Data Compression Standard. New York, NY: Van Nostrand Reinhold, 1993. Chapter 4.


 czt decimate