■フーリエ解析(10): 2次元離散フーリエ変換を体験しよう
              〜 画像データ処理の例 〜

 関数 f(x, y)の2次元離散フーリエ変換(DFT)、離散フーリエ逆変換(IDFT)は次式で定義されます。
  F (k, l) = x=0M-1y=0N-1 f (x, y)WM xk WN yl      ・・・(式1-1)

  f (x, y) = (1/(MN))k=0M-1l=0N-1 F (k, l)WM -xkWN -yl  ・・・(式1-2)

  ここで、
   WM = e-j2π/M,    WN = e-j2π/N

 次のアプレットは、画像データを2次元信号 f(x, y) [ x = 0, 1, .., M-1 ] [ y = 0, 1, 2, .., N-1 ]と考えて、2次元離散フーリエ変換を行い、変換結果 F(k, l)の振幅スペクトル|F(k, l)|の強度を濃度値で示した図を表示します。
 また、F(k, l)を逆変換して画像データを復元します。


・逆変換時には F(k, l)の低周波側から指定された次数 K(≦ N)を低周波成分側からとって、(式1-2)で計算されます(ローパスフィルタ、直流成分+K2項)。
・K = N の時は完全に元の画像が復元されますが、K < N の時はぼけた画像となります。

 ●離散コサイン変換(Discrete Cosine Transform: DCT)
 上のアプレットでは、離散フーリエ変換の他に、離散コサイン変換による画像処理も行うことができます。
 離散コサイン変換の計算式は次のとおりです。
  Fc (k, l) = C(k)C(l)x=0M-1y=0N-1 f (x, y) cos[(2x+1)kπ/(2M)] cos[(2y+1)lπ/(2N)]

  f (x, y) = (4/(MN))k=0M-1l=0N-1C(k)C(l) Fc (k, l) cos[(2x+1)kπ/(2M)] cos[(2y+1)lπ/(2N)]

  ここで、
   C(p) = 1/√2 (p = 0)
      = 1    (p ≠ 0)

 離散コサイン変換は実数のみで演算でき、また高い圧縮率が得られることから、JPEGなどの画像圧縮アルゴリズムで頻繁に利用されています。
[参考文献]末松良一、他: 画像処理工学、コロナ社(2001)

離散コサイン変換(DCT)による画像の圧縮 [ Ver 1.2 ]

フーリエ解析(11): 高速フーリエ変換(FFT) 〜 音声データ処理の例 〜
ホーム