sparse image representation via combined transforms - Convex ...
sparse image representation via combined transforms - Convex ...
sparse image representation via combined transforms - Convex ...
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
3.1. DCT AND HOMOGENEOUS COMPONENTS 37<br />
of length N, N ∈ N:<br />
X = {X 0 ,X 1 ,... ,X N−1 },<br />
Y = {Y 0 ,Y 1 ,... ,Y N−1 }.<br />
Let ̂X and Ŷ denote the discrete Fourier transform (as defined in (3.1)) of X and Y<br />
respectively. Let X ∗ Y denote the convolution of these two sequences:<br />
X ∗ Y [k] =<br />
k∑<br />
X[i]Y [k − i]+<br />
i=0<br />
N−1<br />
∑<br />
i=k+1<br />
X[i]Y [N + k − i], k =0, 1, 2,... ,N − 1.<br />
Let ̂X ∗ Y denote the discrete Fourier transform of the sequence X ∗ Y . We have<br />
̂X ∗ Y [k] =<br />
̂X[k]Ŷ [k], k =0, 1, 2,... ,N − 1. (3.10)<br />
In other words, the discrete Fourier transform of a convolution of any two sequences, is equal<br />
to the elementwise multiplication of the discrete Fourier <strong>transforms</strong> of these two sequences.<br />
We skip the proof.<br />
A crude implementation of the convolution would take N multiplications and N − 1<br />
additions to calculate each element in ̂X ∗ Y , and hence N(2N − 1) operations to get the<br />
sequence ̂X ∗ Y . This is an order O(N 2 ) algorithm.<br />
From (3.10), we can first calculate the DFT of the sequences X and Y . From the result<br />
in (3.9), this is an O(N log 2 N) algorithm. Then we multiply the two DFT sequences,<br />
using N operations. Then we can calculate the inverse DFT of the sequence { ̂X[k]Ŷ [k] :<br />
k =0, 1,... ,N − 1}: another O(N log 2 N) algorithm. Letting C ′ (N) denote the overall<br />
complexity of the method, we have<br />
C ′ (N) = 2C(N)+N + C(N)<br />
= 3C(N)+N<br />
by (3.9)<br />
≍ N log 2 N.<br />
Hence we can do fast convolution with complexity O(N log 2 N), which is lower than order<br />
O(N 2 ).