10.03.2015 Views

sparse image representation via combined transforms - Convex ...

sparse image representation via combined transforms - Convex ...

sparse image representation via combined transforms - Convex ...

SHOW MORE
SHOW LESS

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 ).

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!