Updated on 2009-03-26 (木) 12:16:34 (5503d)

1次元N点高速DCT関数

N=4,8,16 の高速DCTルーチンです。 入力用と出力用の二つのdoubleの配列を引数にして呼びます。 正規化はしてないので、必要なら適宜実行してください。 なお、この関数はChenによって提案された高速DCT回路に梅津が若干の修正を加えたものです。 それなりにチューニングしてありますが、できればコンパイルオプションでも最適化を効かせて下さい。

ファイル名説明
&ref(): File not found: "1D-DCT.c" at page "1次元高速DCT";1次元DCTの関数

3次元DCTは単純に実行するとO(N^6)になりますが、 この関数を利用すればO(N^3logN)になります。 数日が数分になるくらいの違いが出ることもあり得ます。

参考

  1. IEEEのChenの論文