Transformasi Cosine
Prajanto Wahyu Adi
prajanto@dsn.dinus.ac.id
prajanto.blog.dinus.ac.id
Tim Pengampu Mata Kuliah Pengolahan Citra Digital
+689 6263 57775
2020
Rencana Kegiatan Perkuliahan Semester
# Pokok Bahasan # Pokok Bahasan
8 Kompresi Citra
1 Konsep Dasar PCD 9
2 • Matrix DCT
4 • Inverse DCT
Discrete Cosine Transform (DCT)
• Pada pertemuan sebelumnya kita telah mempelajari DFT yang mempunyai tingkat komputasi efisien
• Namun, terdapat beberapa kelehaman utama dari DFT (Vasconcelos, 2009):
• Mengandung bilangan kompleks
• Tingkat pemadatan energi rendah
• Pemadatan energi (energy compaction):
• Kemampuan untuk mengemas energi dari urutan/seri spasial (piksel-piksel) menjadi sesedikit mungkin
koefisien
• Semakin tinggi tingkat pemadatan, semakin sedikit koefisien yang dihasilkan
Discrete Cosine Transform (DCT)
• DCT memiliki tingkat pemadatatan yang tinggi
• Banyak digunakan dalam bidang kompresi data
• DCT memiliki beberapa versi:
• DCT-II adalah yang paling banyak digunakan sehingga sering disebut sebagai ‘The DCT’
• DCT-III adalah inverse dari DCT-II sehingga sering disebut sebagai ‘Inverse DCT’ (IDCT)
Discrete Cosine Transform (DCT)
• DCT 1 dimensi:
N 1
(2 x 1)u
F (u ) (u ) f ( x) cos
x 0 2N
• Inverse DCT:
N 1
(2 x 1)u
f ( x ) (u ) F (u ) cos
x 0 2N
dimana N adalah jumlah data/sinyal dan
1
,u 0
N
(u )
2
,u 0
N
Discrete Cosine Transform (DCT)
• DCT 2 dimensi:
M 1 N 1
(2 x 1)u (2 y 1)v
F (u , v ) (u ) (v ) f ( x, y ) cos cos
x 0 y 0 2M 2N
• Inverse DCT 2D:
M 1 N 1
(2 x 1)u (2 y 1)v
f ( x, y ) (u ) (v) F (u, v) cos
x 0 y 0 2M
cos
2N
dimana M dan N adalah jumlah baris dan kolom,dan
1 1
,u 0 ,v 0
M N
(u ) (v )
2 2
,u 0 ,v 0
M N
Discrete Cosine Transform (DCT)
• Contoh:
Diketahui sebuah citra 3-bit sbb:
1 2
4 6
Lakukan transformasi DCT 2 Dimensi!
Discrete Cosine Transform (DCT)
• Contoh:
Untuk (u,v)=(0,0)
1 1 (2 0 1)0 (2 0 1)0
F (0, 0) 1cos cos
2 2 2 2 2 2
(2 0 1)0 (2 1 1)0
2 cos cos
2 2 2 2
(2 1 1)0 (2 0 1)0
4 cos cos
2 2 2 2
(2 1 1)0 (2 1 1)0
6 cos cos
2 2 2 2
1
(1cos 00 cos 00 2 cos 00 cos 0 0 4 cos 0 0 cos 0 0 6 cos 0 0 cos 0 0 )
2
1
(1 1 1 2 1 1 4 1 1 6 1 1)
2
6.5
Discrete Cosine Transform (DCT)
• Contoh:
Untuk (u,v)=(0,1)
1 2 (2 0 1)0 (2 0 1)1
F (0,1) 1cos cos
2 2 2 2 2 2
(2 0 1)0 (2 1 1)1
2 cos cos
2 2 2 2
(2 1 1)0 (2 0 1)1
4 cos cos
2 2 2 2
(2 1 1)0 (2 1 1)1
6 cos cos
2 2 2 2
1 3 3
(1cos 00 cos 2 cos 00 cos 4 cos 00 cos 6 cos 0 0 cos )
2 4 4 4 4
1 1 1 1 1
(1 1 2 1 4 1 6 1 )
2 2 2 2 2
1.5
Discrete Cosine Transform (DCT)
• Contoh:
Untuk (u,v)=(1,0)
2 1 (2 0 1)1 (2 0 1)0
F (1, 0) 1cos cos
2 2 2 2 2 2
(2 0 1)1 (2 1 1)0
2 cos cos
2 2 2 2
(2 1 1)1 (2 0 1)0
4 cos cos
2 2 2 2
(2 1 1)1 (2 1 1)0
6 cos cos
2 2 2 2
1 3 3
(1cos cos 00 2 cos cos 0 0 4 cos cos 0 0 6 cos cos 0 0 )
2 4 4 4 4
1 1 1 1 1
(1 1 2 1 4 1 6 1)
2 2 2 2 2
3.5
Discrete Cosine Transform (DCT)
• Contoh:
Untuk (u,v)=(1,1)
2 2 (2 0 1)1 (2 0 1)1
F (1,1) 1cos cos
2 2 2 2 2 2
(2 0 1)1 (2 1 1)1
2 cos cos
2 2 2 2
(2 1 1)1 (2 0 1)1
4 cos cos
2 2 2 2
(2 1 1)1 (2 1 1)1
6 cos cos
2 2 2 2
3 3 3 3
1(1cos cos 2 cos cos 4 cos cos 6 cos cos )
4 4 4 4 4 4 4 4
1 1 1 1 1 1 1 1
1 2 4 6
2 2 2 2 2 2 2 2
0.5
Discrete Cosine Transform (DCT)
• Contoh:
Hasil transformasi DCT:
6.5 -1.5
-3.5 0.5
Discrete Cosine Transform (DCT)
• Transformasi DCT biasa dilakukan pada blok citra berukuran 8x8 pada proses kompresi
Discrete Cosine Transform (DCT)
• Transformasi DCT biasa dilakukan pada blok citra berukuran 8x8 pada proses kompresi
Discrete Cosine Transform (DCT)
• Transformasi DCT biasa dilakukan pada blok citra berukuran 8x8 pada proses kompresi
Matrix DCT
• Selain menggunakan persamaan DCT, kita juga dapat menggunakan Matrix DCT untuk mendapatkan
transformasi DCT
• DCT matrix adalah sebuah matrix persegi
• Secara komputasi penggunaan matrix DCT lebih efisien karena hanya memerlukan 1 buah matrix
untuk melakukan Transformasi DCT dan Invers DCT 2 dimensi.
Matrix DCT
• Persamaan DCT matrix pada matrix persegi, sbb:
1
,x 0
N
D ( x, y )
2 (2 y 1) x
cos ,x 0
N 2N
Dimana N adalah ukuran blok, x dan y adalah baris dan kolom ke 0 hingga N-1
Matrix DCT
• Persamaan DCT matrix pada matrix persegi adalah:
1
,x 0
N
D ( x, y )
2 (2 y 1) x
cos ,x 0
N 2N
Dimana N adalah ukuran blok, x dan y adalah baris dan kolom ke 0 hingga N-1
• Transformasi DCT adalah F = D * f * DT
• Transformasi Inverse DCT adalah f = DT * F * D
DCT melalui Perkalian Matrix
• Contoh:
Diketahui sebuah citra 3-bit sbb:
1 2
4 6
2 (2 y 1) x 2 (2 y 1) x
D (1, 0) cos D (1,1) cos
2 2N 2 2N
(2 0 1)1 (2 1 1)1
1cos 1cos
2 2 2 2
3
cos cos
4 4
1 1
2 2
DCT melalui Perkalian Matrix
• Contoh:
Menghitung matrix DCT
1 1
2 2
D
1 1
2 2
DCT melalui Perkalian Matrix
• Contoh:
Menghitung transformasi DCT
F D * f * DT
1 1 1 1
2
2 2 1 2 2
1 1 4 6 1 1
2 2 2 2
DCT melalui Perkalian Matrix
• Contoh:
Menghitung transformasi DCT
F D * f * DT
1 1 1 1
1 2 2
2 2 2
1 1 4 6 1 1
2 2 2 2
1 1 1 1
5 8
2 2 2 2
1 1 1 1
3 4
2 2 2 2
6.5 1.5
3.5 0.5
Inverse DCT
• Latihan:
Diketahui citra hasil Transformasi DCT sbb:
6.5 -1.5
-3.5 0.5
TERIMAKASIH