DCT(Discrete Cosine Transform, 離散コサイン変換)は有限数列をコサインによる基底で展開する手法である. データ保存方式のJPEGやMP3で使われている有用な変換であるが, DCTで使われている基底を連続化すると$L^2[0,1]$の基底になることが証明できる. また, この関数を加工することで$L^2(\Rr)$の基底を得ることができる.
DCTにはいくつかの方式があるが, ここではDCT-I,II,IIIを取り上げる. これらはそれぞれ, 有限数列$\{x_n\}_{n = 0}^{N - 1}$を
\begin{align*}
y^{\mathrm{I}}_k &= \sqrt{\frac{2}{N - 1}}\left(\frac{1}{2}x_0 + \sum_{n = 1}^{N - 2}x_n\cos\left(k\pi\frac{n}{N}\right) + \frac{1}{2}(-1)^{k}x_{N - 1}\right)\\
y^{\mathrm{II}}_k &= \sqrt{\frac{2}{N}}\sum_{n = 0}^{N - 1}x_n\cos\left(\left(n + \frac{1}{2}\right)\pi\frac{k}{N}\right)\\
y^{\mathrm{III}}_k &= \sqrt{\frac{2}{N}}\left(\frac{1}{2}x_0 + \sum_{n = 1}^{N - 1}x_n\cos\left(\left(k + \frac{1}{2}\right)\pi\frac{n}{N}\right)\right)\\
(k &= 0,1,\cdots,N - 1)
\end{align*}
のように変換するものである. DCT-IIは最も有名な方式であり, 単にDCTといった場合はこれを指すことが多い. またDCT-IIIはDCT-IIの逆変換になっており, IDCT(Inverse DCT)と呼ばれる. すなわち$x_n$は
$$ x_n = \sqrt{\frac{2}{N}}\left(\frac{1}{2}y^{\mathrm{II}}_0 + \sum_{k = 1}^{N - 1}y^{\mathrm{II}}_k\cos\left(\left(n + \frac{1}{2}\right)\pi\frac{k}{N}\right)\right) $$
のように展開される.
以下では, DCTに現れるコサインの基底を連続な関数にして, $L^2[0,1]$及び$L^2(\Rr)$の正規直交基底を構成する. $\Nn$を正の整数全体, $\Nn_0 = \Nn \cup \{0\}$とする.
始めにDCT-Iについて, $\frac{n}{N}$を$t \in [0,1]$に置き換える形で
$$ e_n(t) = \sqrt{2}\cos n\pi t $$
とおく.
$\{1\}\cup\{e_n\}_{n \in \Nn}$は$L^2[0,1]$の正規直交基底である.
$n,n' \in \Nn_0,~n \neq n'$とおくと
$$ \langle e_n,e_{n'} \rangle_{L^2[0,1]} = \int_{0}^{1}(\cos(n + n')\pi t + \cos(n - n')\pi t)dt = 0. $$
また$n \in \Nn$のとき
$$ \|e_n\|^2_{L^2[0,1]} = \int_{0}^{1}(1 + \cos 2n\pi t)dt = 1 $$
であるから, $\{1\}\cup\{e_n\}_{n \in \Nn}$は$L^2[0,1]$の正規直交系である.
基底であることについて, 完全性を示す. $f \in L^2[0,1]$は任意の$e_n$に直交しているとする. すなわち
$$ \int_{0}^{1}f(t)\cos n\pi tdt = 0~~(n \in \Nn_0)~~~~~~\cdots(1) $$
とする. $g \in L^2[0,2]$を
$$ g(t) = \begin{cases} f(t) & (t \in [0,1])\\ f(2 - t) & (t \in (1,2]) \end{cases} $$
で定義する. $\{\frac{1}{\sqrt{2}}e^{\pi ikt}\}_{k \in \Zz}$は$L^2[0,2]$の正規直交基底であるが, $k \in \Zz$に対して
\begin{align*}
\int_{0}^{2}g(t)e^{-\pi ikt}dt &= \int_{0}^{2}g(t)\cos k\pi tdt - i\int_{0}^{2}g(t)\sin k\pi tdt,\\\\
\int_{0}^{2}g(t)\cos k\pi tdt &= \int_{0}^{1}f(t)\cos k\pi tdt + \int_{1}^{2}f(2 - t)\cos k\pi tdt \\
&= \int_{0}^{1}f(t)\cos k\pi tdt + \int_{0}^{1}f(t)\cos k\pi(2 - t)dt\\
&= 2\int_{0}^{1}f(t)\cos k\pi tdt\\
&= 0,~~(\because (1))\\\\
\int_{0}^{2}g(t)\sin k\pi tdt &= \int_{0}^{1}f(t)\sin k\pi tdt + \int_{1}^{2}f(2 - t)\sin k\pi tdt\\
&= \int_{0}^{1}f(t)\sin k\pi tdt + \int_{0}^{1}f(t)\sin k\pi(2 - t)dt\\
&= 0
\end{align*}
となる. よって$g = 0$であり, $[0,1]$に注目すれば$f = 0$となっている.
次にDCT-IIIについて
$$ f_n(t) = \sqrt{2}\cos\left(n + \frac{1}{2}\right)\pi t $$
とおく.
$\{f_n\}_{n \in \Nn_0}$は$L^2[0,1]$の正規直交基底である.
$n,n' \in \Nn_0,~n \neq n'$とおくと
$$ \langle f_n,f_{n'} \rangle_{L^2[0,1]} = \int_{0}^{1}(\cos(n + n' + 1)\pi t + \cos(n - n')\pi t)dt = 0. $$
また$n \in \Nn_0$のとき
$$ \|f_n\|^2_{L^2[0,1]} = \int_{0}^{1}(1 + \cos(2n + 1)\pi t)dt = 1 $$
であるから, $\{f_n\}_{n \in \Nn_0}$は$L^2[0,1]$の正規直交系である.
完全性を示す. $f \in L^2[0,1]$は任意の$f_n$に直交しているとする. すなわち
$$ \int_{0}^{1}f(t)\cos\frac{2n + 1}{2}\pi tdt = 0~~(n \in \Nn_0)~~~~~~\cdots(2) $$
とする. $g \in L^2[0,2]$を
$$ g(t) = \begin{cases} f(t) & (t \in [0,1])\\ -f(2 - t) & (t \in (1,2]) \end{cases} $$
で定義する.(定理1の関数を適切にスケーリングして)$\{\frac{1}{\sqrt{2}}\}\cup\{\cos\frac{k\pi t}{2}\}_{n \in \Nn}$は$L^2[0,2]$の正規直交基底であるが, $k \in \Nn_0$に対して
\begin{align*} \langle g,e_k \rangle_{L^2[0,2]} &= \int_{0}^{1}f(t)\cos\frac{k\pi t}{2}dt - \int_{1}^{2}f(2 - t)\cos\frac{k\pi t}{2}dt\\ &= \int_{0}^{1}f(t)\cos\frac{k\pi t}{2}dt - \int_{0}^{1}f(t)\cos\frac{k\pi (2 - t)}{2}dt\\ &= (1 - (-1)^k)\int_{0}^{1}f(t)\cos\frac{k\pi t}{2}dt \end{align*}
となる. $(2)$から, これは$k$の偶奇にかかわらず$0$となり, よって$g = 0$である. $[0,1]$に注目すれば$f = 0$となっている.
$\{f_n\}_{n \in \Nn_0}$を用いて$L^2(\Rr)$の正規直交基底を構成できる.
$\{c_k\}_{k \in \Zz}$を狭義単調増加で$\lim_{k \to -\infty}c_k = -\infty,~\lim_{k \to \infty}c_k = \infty$となる数列とする. $a_k = \frac{1}{2}(c_k + c_{k - 1}),~\lambda_k = \frac{1}{2}(c_k - c_{k - 1})$とし, $I_k$を閉区間$[a_k,a_{k + 1}],~|I_k| = a_{k + 1} - a_k$を$I_k$の長さとする.
$c_k,a_k,\lambda_k,I_k$
また, 関数$\beta(t)$を$t < -1$なら$0$, $t > 1$なら$1$を返す連続関数で
$$ \beta(t)^2 + \beta(-t)^2 = 1 $$
を満たすものとする. これらを用いて, 閉区間$[c_{k - 1},c_{k + 1}]$に台を持つ関数$b_k$を
$$ b_k(t) = \begin{cases} \beta(\frac{t - a_k}{\lambda_k}) & (t \in [c_{k - 1},c_k])\\ \beta(\frac{a_{k + 1} - t}{\lambda_{k + 1}}) & (t \in [c_k,c_{k + 1}]) \end{cases} $$
で定義する. $\beta$の例としては
$$ \beta(t) = \begin{cases} 0 & (t < -1)\\ \sin\left(\frac{\pi}{4}(1 + \sin\frac{\pi}{2}t)\right) & (-1 \le t \le 1)\\ 1 & (t > 1) \end{cases} $$
がある.
$\beta(t),~b_k(t)$
そして$k \in \Zz,~n \in \Nn_0$に対し, $\varphi_{k,n},\psi_{k,n}$を
\begin{align*}
\varphi_{k,n}(t) &= \frac{1}{\sqrt{|I_k|}}f_n\left(\frac{t - a_k}{|I_k|}\right),\\
\psi_{k,n}(t) &= b_k(t)\varphi_{k,n}(t)
\end{align*}
とする. $\psi_{k,n}$(及びこれに類似する関数)は局所三角基底(local trigonometric basis), Malvar-Wilsonのウェーブレットなどと呼ばれている.
$\psi_{k,n}(t)$
このように定義した$\psi_{k,n}$は$L^2(\Rr)$の正規直交基底を構成することがわかる. いくつか準備をした後, これを証明する.
準備として, $b_k,\varphi_{k,n}$の性質をいくつか述べておく.
以上の準備のもとで, 次を示す.
$\{\psi_{k,n}\}_{k \in \Zz,n \in \Nn_0}$は$L^2(\Rr)$の正規直交基底である.
$k,k' \in \Zz,~k' \ge k,~n,n' \in \Nn_0$とする. $k' - k \ge 2$のとき, $b_k$と$b_{k'}$の台は共通部分を持たないので$\langle \psi_{k,n},\psi_{k',n'} \rangle_{L^2(\Rr)} = 0$である. $k' = k + 1$のとき
\begin{align*} \langle \psi_{k,n},\psi_{k',n'} \rangle_{L^2(\Rr)} &= \int_{c_k}^{c_{k + 1}}b_k(t)b_{k + 1}(t)\varphi_{k,n}(t)\varphi_{k + 1,n'}(t)dt\\ &= \int_{c_k}^{a_{k + 1}} \cdots dt + \int_{a_{k + 1}}^{c_{k + 1}} \cdots dt. \end{align*}
第2項について, $t \to 2a_{k + 1} - t$のように置換すると, 前節の(i)及び(iii)より
$$ \int_{a_{k + 1}}^{c_{k + 1}} \cdots dt = \int_{c_k}^{a_{k + 1}} b_{k + 1}(t)b_k(t)(-\varphi_{k,n}(t))\varphi_{k + 1,n'}(t)dt = -(\text{第1項}) $$
となる. $k' = k$のとき
\begin{align*} \langle \psi_{k,n},\psi_{k,n'} \rangle_{L^2(\Rr)} &= \int_{c_{k - 1}}^{c_{k + 1}}b_k(t)^2\varphi_{k,n}(t)\varphi_{k,n'}(t)dt\\ &= \int_{c_{k - 1}}^{a_k} \cdots dt + \int_{a_k}^{c_k} \cdots dt + \int_{c_k}^{a_{k + 1}} \cdots dt + \int_{a_{k + 1}}^{c_{k + 1}} \cdots dt.~~~~~~\cdots(3) \end{align*}
第1項で$t \to 2a_k - t$のように置換して第2項と足し合わせると, (ii),(iii),(iv)より
\begin{align*} (\text{第1項}) + (\text{第2項}) &= \int_{a_k}^{c_k}b_{k - 1}(t)^2\varphi_{k,n}(t)\varphi_{k,n'}(t)dt + \int_{a_k}^{c_k}b_k(t)^2\varphi_{k,n}(t)\varphi_{k,n'}(t)dt\\ &= \int_{a_k}^{c_k}\varphi_{k,n}(t)\varphi_{k,n'}(t)dt. \end{align*}
同様に, 第4項で$t \to 2a_{k + 1} - t$のように置換して第3項と足し合わせると, (i),(iii),(iv)より
\begin{align*} (\text{第3項}) + (\text{第4項}) &= \int_{c_k}^{a_{k + 1}}b_k(t)^2\varphi_{k,n}(t)\varphi_{k,n'}(t)dt + \int_{c_k}^{a_{k + 1}}b_{k + 1}(t)^2\varphi_{k,n}(t)\varphi_{k,n'}(t)dt\\ &= \int_{c_k}^{a_{k + 1}}\varphi_{k,n}(t)\varphi_{k,n'}(t)dt. \end{align*}
よって
$$ \langle \psi_{k,n},\psi_{k',n'} \rangle_{L^2(\Rr)} = \int_{a_k}^{a_{k + 1}}\varphi_{k,n}(t)\varphi_{k,n'}(t)dt = \langle f_n,f_{n'} \rangle_{L^2[0,1]} = \delta_{n,n'}. $$
以上から$\{\psi_{k,n}\}$は$L^2(\Rr)$の正規直交系である.
基底であることについて, Parsevalの等式を示す. $\langle f,\psi_{k,n} \rangle_{L^2(\Rr)}$の積分区間$[c_{k - 1},c_{k + 1}]$を$(3)$のように分け, 第1項 / 第4項で$t \to 2a_k - t~/~2a_{k + 1} - t$のように置換すると
\begin{align*} \langle f,\psi_{k,n} \rangle_{L^2(\Rr)} &= \int_{a_k}^{c_k}(b_k(t)f(t) + b_{k - 1}(t)f(2a_k - t))\varphi_{k,n}(t)dt\\ &{}~~~~~~ + \int_{c_k}^{a_{k + 1}}(b_k(t)f(t) - b_{k + 1}(t)f(2a_{k + 1} - t))\varphi_{k,n}(t)dt. \end{align*}
そこで$T_k:L^2(\Rr) \to L^2(I_k)$を
$$ T_kf(t) = \begin{cases} b_k(t)f(t) + b_{k - 1}(t)f(2a_k - t) & (t \in [a_k,c_k])\\ b_k(t)f(t) - b_{k + 1}(t)f(2a_{k + 1} - t) & (t \in (c_k,a_{k + 1}]) \end{cases} $$
で定義すると
$$ \langle f,\psi_{k,n} \rangle_{L^2(\Rr)} = \int_{a_k}^{a_{k + 1}}T_kf(t)\varphi_{k,n}(t)dt = \langle T_kf,\varphi_{k,n} \rangle_{L^2(I_k)}~~~~~~\cdots(4) $$
となる. 各$k \in \Zz$に対して$\{\varphi_{k,n}\}_{n \in \Nn_0}$は$L^2(I_k)$の正規直交基底であるから
$$ \sum_{n \in \Nn_0}|\langle T_kf,\varphi_{k,n} \rangle_{L^2(I_k)}|^2 = \|T_kf\|_{L^2(I_k)}^2.~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\cdots(5) $$
$\|T_kf\|_{L^2(I_k)}^2$について
\begin{align*} \|T_kf\|_{L^2(I_k)}^2 &= \int_{a_k}^{c_k}\left(b_k^2(t)|f(t)|^2 + b_{k - 1}(t)^2|f(2a_k - t)|^2 + 2\Re\left(b_k(t)b_{k - 1}(t)f(t)\overline{f(2a_k - t)}\right)\right)dt\\ &{}~~~~~~ + \int_{c_k}^{a_{k + 1}}\left(b_k^2(t)|f(t)|^2 + b_{k + 1}(t)^2|f(2a_{k + 1} - t)|^2 - 2\Re\left(b_k(t)b_{k + 1}(t)f(t)\overline{f(2a_{k + 1} - t)}\right)\right)dt.\\ &= \int_{c_{k - 1}}^{a_k}\left(b_{k - 1}^2(t)|f(2a_k - t)|^2 + b_k(t)^2|f(t)|^2 + 2\Re\left(b_{k - 1}(t)b_k(t)f(2a_k - t)\overline{f(t)}\right)\right)dt~~(t \to 2a_k - t)~~~~~~\cdots(6)\\ &{}~~~~~~ + \int_{c_k}^{a_{k + 1}}\left(b_k^2(t)|f(t)|^2 + b_{k + 1}(t)^2|f(2a_{k + 1} - t)|^2 - 2\Re\left(b_k(t)b_{k + 1}(t)f(t)\overline{f(2a_{k + 1} - t)}\right)\right)dt.~~~~~~~~~~~~~~\cdots(7) \end{align*}
$(6)$の積分を項別に分け, 第1,2,3項を$I^1_k,I^2_k,I^3_k$とおく. $(7)$も同様に$J^1_k,J^2_k,J^3_k$とおくと, (iv)より
\begin{align*} I^1_{k + 1} + J^2_k &= \int_{c_k}^{a_{k + 1}}|f(2a_{k + 1} - t)|^2dt = \int_{a_{k + 1}}^{c_{k + 1}}|f(t)|^2dt,\\ I^2_{k + 1} + J^1_k &= \int_{c_k}^{a_{k + 1}}|f(t)|^2dt,\\ I^3_{k + 1} + J^3_k &= 0. \end{align*}
$k \in \Zz$で総和すると
\begin{align*} \sum_{k \in \Zz}\|T_kf\|_{L^2(I_k)}^2 &= \sum_{k \in \Zz}(I^1_{k + 1} + I^2_{k + 1} + I^3_{k + 1}) + \sum_{k \in \Zz}(J^1_k + J^2_k + J^3_k)\\ &= \sum_{k \in \Zz}\left((I^1_{k + 1} + J^2_k) + (I^2_{k + 1} + J^1_k) + (I^3_{k + 1} + J^3_k)\right)\\ &= \sum_{k \in \Zz}\int_{c_k}^{c_{k + 1}}|f(t)|^2dt\\ &= \|f\|_{L^2(\Rr)}^2. \end{align*}
これと$(4),(5)$から
$$ \sum_{k \in \Zz,n \in \Nn_0}|\langle f,\psi_{k,n}\rangle_{L^2(\Rr)}|^2 = \|f\|_{L^2(\Rr)}^2. $$