Download as ppt, pdf, or txt
Download as ppt, pdf, or txt
You are on page 1of 12

EE 7730

2D Discrete Cosine Transform


Discrete Cosine Transform
 1D Discrete Cosine Transform (DCT)
N 1
 (2n  1)k 
F [k ]   f [n] (k ) cos  
n 0  2 N 

 1
 for k  0
 N
where k  0,1,..., N  1 and  (k )  
 2 for k  1, 2,..., N  1
 N

 Inverse DCT
N 1
 (2n  1)k 
f [ n]   F [k ] (k ) cos  
k 0  2N 

Bahadir K. Gunturk EE 7730 - Image Analysis I 2


Discrete Cosine Transform
 2D Discrete Cosine Transform (DCT)
M 1 N 1
 (2m  1)k   (2n  1)l 
F [k .l ]    f [m, n] (k ) (l ) cos   cos  
m0 n 0  2M   2 N 

 1
 for k  0
 N
where k , l  0,1,..., N  1 and  (k )  
 2 for k  1, 2,..., N  1
 N

 Inverse DCT
M 1 N 1
 (2m  1)k   (2n  1)l 
f [m, n]    F [k , l ] (k ) (l ) cos   cos  
k  0 l 0  2M   2N 

Bahadir K. Gunturk EE 7730 - Image Analysis I 3


Discrete Cosine Transform
 The basis functions of DCT are real. (DFT has complex
basis functions.)
 DCT has very good energy compaction properties.
 DCT can be expressed in terms of DFT, therefore, Fast
Fourier Transform implementation can be used.
 In the case of block-based image compression, (e.g.,
JPEG), DCT produces less artifacts along the boundaries
than DFT does.

Bahadir K. Gunturk EE 7730 - Image Analysis I 4


DCT and DFT
 N-point DCT of x[n] can be obtained from 2N-point
DFT of symmetrically extended x[n].

Symmetric extension:  x[n] for n  0,1,..., N  1


x[n]  
 x[2 N  n  1] for n  N , N  1,..., 2 N  1
2 N 1  k 
 j 2  n
DFT of x[n] : X F [k ]   x[n]e  2N 

n 0

N 1
 (2n  1) k 
DCT of x[n] : X C [k ]   (k ) x[ n]cos  
n 0  2 N 

 (k )  j 2Nk 
X C [k ]  e X F [k ]
2

Bahadir K. Gunturk EE 7730 - Image Analysis I 5


Discrete Cosine Transform
a = imread(‘cameraman.tif’);
DCTa = dct2(a);
DFTa = fft2(a); DFTa = fftshift(DFTa);

figure; imshow(log(abs(DCTa)),[ ]);


figure; imshow(log(abs(DFTa)),[ ]);

figure; plot(abs(DCTa(1,:)));
DCT DFT
figure; plot(abs(DFTa(128,:)));

% Also use mesh plots

Bahadir K. Gunturk EE 7730 - Image Analysis I 6


Discrete Cosine Transform
 Matrix Representation of DCT
N 1
 (2n  1) k 
F [k ]   f [n] (k ) cos  
n 0  2N 

  (2*0  1)0   (2*1  1)0   (2*( N  1)  1)0  


  (0) cos    (0) cos     (0) cos   
 2N   2N   2N 
 F [0]     f [0] 
 F [1]    (2*0  1)1 
 (1) cos 
 (2*1  1)1 
 (1) cos  
 (2*( N  1)  1)1 
 (1) cos 
 
       f [1] 
 2N   2N   2N 
     
        
 F [ N  1]    f [ N  1]
 ( N  1) cos  (2*0  1)( N  1)   ( N  1) cos  (2*1  1)( N  1)    ( N  1) cos  (2*( N  1)  1)( N  1) 
      
 2N   2N   2N 
F f
D
F  Df

Bahadir K. Gunturk EE 7730 - Image Analysis I 7


Discrete Cosine Transform
 Matrix Representation of Inverse DCT
N 1
 (2n  1)k 
f [n]   F [k ] (k ) cos  
k 0  2 N 

  (2*0  1)0   (2*0  1)1   (2*0  1)( N  1)  


  (0) cos  2N
  (1) cos 
2N
   ( N  1) cos 
2N
 
     
 f [0]     F [0] 
 f [1]    (0) cos  (2*1  1)0  
 (2*1  1)1 
(1) cos   
 (2*1  1)( N  1) 
( N  1) cos 
 
         F [1] 
 2N   2N   2N 
     
        
 f [ N  1]    F [ N  1]
 (0) cos  (2* ( N  1)  1)0   (1) cos  (2*( N  1)  1)1    ( N  1) cos  (2*( N  1)  1)( N  1) 
      
 2N   2N   2N 
f F

D1
f  D1F

Bahadir K. Gunturk EE 7730 - Image Analysis I 8


Discrete Cosine Transform
 Inverse DCT matrix is equal to the transpose of DCT
matrix!

D1  DT

DDT  DT D  I

Bahadir K. Gunturk EE 7730 - Image Analysis I 9


Discrete Cosine Transform
 2D Discrete Cosine Transform (DCT)
M 1 N 1
 (2m  1)k   (2n  1)l 
F [k .l ]    f [m, n] (k ) (l ) cos   cos  
m0 n 0  2M   2 N 

 1
 for k  0
 N
where k , l  0,1,..., N  1 and  (k )  
 2 for k  1, 2,..., N  1
 N

 Inverse DCT
M 1 N 1
 (2m  1)k   (2n  1)l 
f [m, n]    F [k , l ] (k ) (l ) cos   cos  
k  0 l 0  2M   2N 

Bahadir K. Gunturk EE 7730 - Image Analysis I 10


Discrete Cosine Transform
 For two-dimensional signals:

Β = DΑDT

     T 
=
 Β   D  A  D 
     

Bahadir K. Gunturk EE 7730 - Image Analysis I 11


Discrete Cosine Transform
 Try in MATLAB:
f=[1 2 3];
Df1 = dct(f)

D=dctmtx(3);
Df2=D*f;
f2=D’*f;

g=[1 2 3; 4 5 6; 7 8 9];
Dg1=dct2(g);
Dg2=D*g*D’;

Bahadir K. Gunturk EE 7730 - Image Analysis I 12

You might also like