Copyright @ 2007 By Emy
1
Copyright @ 2007 By Emy
2
KOMPRESI CITRA
1
Kompetensi À À À À
Mampu menjelaskan dan menyebutkan proses-proses pada kompresi citra Mampu menjelaskan kriteria dari kompresi citra yang baik Mampu menyebutkan dan menjelaskan jenis-jenis kompresi citra Mampu menjelaskan metode kompresi citra yang banyak digunakan untuk meningkatkan kualitas hasil kompresi citra
Copyright @ 2007 By Emy
3
Topik 1. Dasar-dasar Kompresi
Citra 2. Model Kompresi citra 3. Teori Informasi
Copyright @ 2007 By Emy
Lecture
4
2
Copyright @ 2007 By Emy
5
Dasar-Dasar Kompresi Citra
Kendala Data Citra Dijital À Mengapa perlu kompresi dan reduksi data? – Data citra umumnya berukuran besar – Tidak praktis dalam aspek penyimpanan, proses dan transmisi – Perlu reduksi atau pemampatan data dengan mengurangi redundancy atau duplikasi data
À Data redundancy: – adalah bagian data yang tidak mengandung informasi terkait atau merupakan pengulangan dari informasi yang sudah dinyatakan sebelumnya atau sudah diketahui Copyright @ 2007 By Emy
6
3
Contoh Aplikasi
À Aplikasi yang membutuhkan image compression:
dimana perkembangannya ditentukan oleh efisiensi pada manipulasi data, penyimpanan, dan transmisi citra biner / monokrom / berwarna: – Televideo-conferencing – Remote sensing – Telemedical / Medical imaging – Facsimile transmission Copyright @ 2007 By Emy
7
Kategori Teknik Kompresi Citra À Berdasarkan detail suatu citra, teknik kompresi citra
dapat diklasifikasikan menjadi 2 kategori : – Berugi (Lossy) Teknik mendapatkan data yang lebih ringkas dengan melalui suatu proses penghampiran (approksimasi) dari data asli dengan tingkat error yang dapat diterima. Beberapa informasi pada citra yang asli hilang, meskipun hanya sebagian kecil saja Contoh : JPEG (Joint Photographic Experts Group), TV broadcast. – Tanpa rugi (Lossless) Teknik yang memproses data asli menjadi bentuk yang lebih ringkas tanpa hilangnya informasi Contoh : GIF (Graphical Interchange Format), Aplikasi biomedis. Copyright @ 2007 By Emy
8
4
Kriteria Mengukur Metode Kompresi Citra À
Waktu kompresi dan waktu rekronstruksi yang sebaiknya cepat. Kebutuhan memori
À –
Memori yang dibutuhkan untuk merepresentasikan citra seharusnya berkurang secara berarti. Teknik kompresi dikatakan baik apabila didapatkan rasio kompresi yang besar, karena semakin besar rasio kompresi yang didapat berarti semakin kecil ukuran hasil kompresi. Pada beberapa metode, ukuran memori hasil kompresi bergantung pada citra itu sendiri. Citra yang mengandung banyak elemen duplikasi (misalnya citra langit cerah tanpa awan, citra lantai keramik) umumnya berhasil dikompresikan dengan memori yang lebih sedikit dibandingkan dengan mengkompresikan citra yang mengandung banyak objek (misalnya citra pemandangan alam).
Copyright @ 2007 By Emy
9
Kriteria Mengukur Metode Kompresi Citra –
À
Hasil rasio kompresi ( R ) dirumuskan
⎡ U Pemampa tan ⎤ R = ⎢1 − ⎥ × 100% U Asli ⎦ ⎣
Kualitas kompresi (fidelity) –
Informasi yang hilang akibat kompresi seharusnya seminimal mungkin sehingga kualitas hasil kompresi tetap dipertahankan. Kualitas hasil kompresi dengan kebutuhan memori biasanya berbanding terbalik. Kualitas sebuah citra bersifat subyektif dan relatif, bergantung pada pengamatan orang yang menilainya. Dan untuk dapat membuat ukuran kualitas hasil kompresi citra menjadi ukuran kuantitatif dengan menggunakan besaran PSNR (Peak Signal to Noise Ratio). Teknik kompresi dikatakan baik apabila menghasilkan nilai MSE yang kecil dan nilai PSNR yang tinggi yang berarti error atau kesalahan dari teknik kompresi ini sangat kecil dan hasil citra rekonstruksi terhadap citra asli mempunyai kemiripan yang tinggi. Sedangkan nilai rasio sinyal terhadap derau puncak atau nilai PNSR dalam dicibels (dB) dapat dihitung dari persamaan
PSNR = 10 * log10
(255) 2 MSE
MSE =
1 M .N
M
N
∑∑ [I ( x, y) − I ' ( x, y)]
2
y =1 x =1
Copyright @ 2007 By Emy
10
5
Kriteria Mengukur Metode Kompresi Citra À Format keluaran. – Format citra hasl kompresi sebaiknya cocok untuk pengiriman dan penyimpanan data. Pembacaan citra bergantung pada bagaimana citra tersebut direpresentasikan (atau disimpan).
Copyright @ 2007 By Emy
11
Pendekatan Pada Proses Kompresi À Pendekatan statistik – Kompresi citra didasarkan pada frekuensi kemunculan derajat keabuan pixel di dalam seluruh bagian citra. Contoh metode Huffman Coding.
À Pendekatan ruang – Kompresi citra didasarkan pada hubungan spasial antara pixel-pixel didalam suatu kelompok yang memiliki derajad keabuan yang sama di dalam suatu daerah di dalam citra. Contoh metode Run Length Encoding
À Pendekatan kuantisasi – Kompresi citra dilakukan dengan mengurangi jumlah derajat keabuan yang tersedia. Contoh metode kompresi kuantisasi
À Pendekatan fraktal – Kompresi citra didasarkan pada kenyataan bahwa kemiripan bagianbagian di dalam citra dapat dieksploitasi dengan suatu matriks transformasi. Contoh metode Fractal Image Compression. Copyright @ 2007 By Emy
12
6
Konsep Data Redundancy À Tidak abstrak dan dapat dinyatakan dalam entitas besaran
matematis À Relative data redundancy RD: RD = 1 - 1/CR dan
CR = n1/n2
n1 dan n2: jumlah satuan informasi yang dibawa data set 1 dan data set 2. Bila n1 = n2, maka CR = 1 dan RD = 0 (tidak ada redundancy). Bila n2 << n1, maka CR mendekati tak terhingga dan RD mendekati 1 (terjadi redundancy yang tinggi). Bila n2 >> n1, maka CR mendekati 0 dan RD mendekati minus tak terhingga (informasi yang dibawa data set 2 jauh lebih besar dari data set 1) Bila 0 < CR < 1 dan RD rendah ( tingkat redundancy rendah). Copyright @ 2007 By Emy
13
Data Redundancy À Ada 3 jenis data redundancy pada citra: – Coding redundancy – Interpixel redundancy – Psychovisual redundancy À Suatu data dikatakan terkompresi jika satu
atau lebih redundancy tersebut bisa dikurangi atau dihilangkan.
Copyright @ 2007 By Emy
14
7
Coding redundancy (1) ÀTerjadi bila suatu kode simbol yang
digunakan terdiri dari sejumlah bit yang melebihi jumlah bit yang diperlukan untuk representasi setiap simbol (dalam hal ini: tingkat keabuan piksel citra). Copyright @ 2007 By Emy
15
Coding redundancy (2) À Fixed-length versus variable-length coding: rK
p(rK)
fixed
L(rK)
variable
L(rK)
0 1/7 2/7 3/7 4/7 5/7 6/7 1
0.19 0.25 0.21 0.16 0.08 0.06 0.03 0.02
000 001 010 011 100 101 110 111
3 3 3 3 3 3 3 3
11 01 10 001 0001 00001 000001 000000
2 2 2 3 4 5 5 6
Copyright @ 2007 By Emy
16
8
Coding redundancy (3) À Tingkat keabuan yang probabilitas terjadinya tinggi
diberi panjang kode yang pendek, dan bila sebaliknya diberi kode yang panjang. À Bila digunakan variable-length coding, panjang kode rata-rata: 7
LAVE = ∑ L(rK ) p(rK ) = 2.7bits K =0
À Bila digunakan fixed-length coding 3 bits, tingkat
redundancy-nya adalah: RD = 1 – 1/CR = 1 – 1/(3/2.7) = 0.099 (sekitar 10%) Copyright @ 2007 By Emy
17
Interpixel Redundancy (1)
Δn = 1
Histogram distribusi tingkat keabuan sama untuk kedua citra. Pada gambar nilai autocorrelation tinggi pada Δn = 1 dan pada gambar (b) juga tinggi pada Δn = 45 dan 90.
Copyright @ 2007 By Emy
18
9
Interpixel Redundancy (2) À Sering disebut juga sebagai spatial redundancy,
geometric redundancy, atau interframe redundancy. À Normalized autocorrelation coefficient: γ
1 N −1−Δn A(Δn) A(Δn) = ∑ f ( x , y ) f ( x , y + Δn ) N − Δn y =0 A(0) dimana N adalah jumlah piksel pada baris x dan Δn < N Nilai γ tinggi (berkorelasi tinggi) pada Δn = 45 atau 90 (b) dimana ada spasi garis vertikal. Juga piksel yang berdekatan mempunyai korelasi tinggi, yaitu dengan Δn = 1 dimana nilai adalah 0.9922 dan 0.9928 masing-masing untuk gambar (a) dan (b).
γ (Δn) =
Copyright @ 2007 By Emy
γ
19
Interpixel Redundancy (3) ÀArtinya: data redundancy dinyatakan dengan
korelasi antar piksel dimana intensitas suatu piksel dapat diperkirakan dari intensitas piksel-piksel tetangganya. ÀArtinya: informasi yang dibawa oleh setiap piksel relatif tidak besar atau kontribusi setiap piksel kepada gambar secara keseluruhan adalah redundan. Copyright @ 2007 By Emy
20
10
Interpixel Redundancy (4) À Citra yang mengandung interpixel redundancy dapat
direpresentasi ke dalam bentuk yang lebih efisien (nonvisual format). Dimana citra tidak dinyatakan dalam bentuk matriks dari intensitas piksel-pikselnya, akan tetapi dipetakan (mapping) dalam bentuk perbedaan intensitas antar piksel yang bersebelahan. Bentuk data yang dimampatkan ini bersifat reversible, artinya dapat direkonstruksi kembali menjadi citra asalnya. À Run-Length Coding: (g1,R1), (g2,R2) … gi menyatakan tingkat keabuan dan Ri menyatakan jumlah piksel bersebelahan pada baris bersangkutan yang mempunyai intensitas gi. Copyright @ 2007 By Emy 21
Interpixel Redundancy (5) À Contoh Citra:
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 1 1 0 0 0
0 1 1 1 1 1 0 0
1 1 1 1 1 1 1 0
1 1 1 1 1 1 0 0
Run-Length Code Representation: 0 1 1 1 1 0 0 0
(0,3), (1,2), (0,2)
0 0 0 0 0 0 0 0
(0,3), (1,4), (0,1) (0,3), (1,4), (0,1) (0,2), (1,5), (0,1) (0,2), (1,5), (0,1) (0,3), (1,3), (0,3) (0,4), (1,1), (0,3) (0,8)
À Informasi Yang Disimpan:
22 pairs of integers Copyright @ 2007 By Emy
22
11
Psychovisual Redundancy (1) À Mach Band:
– Suatu fenomena dimana intensitas keabuan yang bervariasi dilihat sebagai intensitas konstan, artinya: mata tidak mempunyai sensitivitas yang sama terhadap semua informasi yang dianggap penting dan tidak penting. Hal tersebut diatas dapat dikatakan sebagai psychovisual redundancy, yang bila dihilangkan tidak mengganggu persepsi kwalitas citra. Copyright @ 2007 By Emy
23
Psychovisual Redundancy (2) À Quantization: – Eliminasi psychovisual redundancy mengakibatkan kerugian informasi bersifat kwalitas. Teknik ini disebut quantization, yaitu pemetaan dari daerah intensitas yang lebar menjadi daerah intensitas terbatas (batas kemampuan visual manusia) – Mata sangat sensitif terhadap informasi edge / garis batas / patahan. Proses kwantisasi dapat disesuaikan untuk kepentingan mempertahankan informasi edge seperti yang dilakukan pada Improved Gray Scale (IGS) Quantization. À Irreversible Operation: – Quantization mengakibatkan hilangnya sebagian informasi visual, dengan demikian teknik ini termasuk pada kategori lossy data compression. Copyright @ 2007 By Emy 24
12
1000 1011 1100 1001 0111
Psychovisual Redundancy (3)
À IGS (Improved Gray Scale) Quantization Pixel Gray Level Sum IGS Code i-1 NA 0000 0000 NA i 0110 1100 0110 1100 0110 1001 0111 1001 i+1 1000 1011 i+2 1000 0111 1000 1110 1000 i+3 1111 0100 1111 0100 1111
Jika 4 most significant number bernilai 1111, maka yang ditambahkan adalah 0000 Copyright @ 2007 By Emy
25
Contoh
Copyright @ 2007 By Emy
26
13
Psychovisual Redundancy (4) À Lossy compression Æ perlu adanya kriteria
penilaian untuk mengatakan apakah hasil kompresi bagus atau tidak. À Kriteria penilaian terbagi 2: – Secara objektif Hilangnya informasi dinyatakan sebagai fungsi dari citra input ke citra output (next page)
– Secara subjektif Berdasarkan pada penilaian mata manusia. Tingkatannya: Excellent, fine, passable, marginal, inferior, unusable. Copyright @ 2007 By Emy
27
Psychovisual Redundancy (5) À Kesalahan akibat hilangnya informasi:
f(x,y) adalah citra asli dan f’(x,y) adalah citra approksimasi M −1 N −1 Total Error: Error = ∑ ∑ ( f '( x, y ) − f ( x, y )) x =0 y =0
Root-Mean-Square Error: E RM S = (
Mean-square Signal-to-Ratio: SNRMS =
1 MN
M −1 N −1
∑ ∑ x=0
( f '( x , y ) − f ( x , y ) ) 2 ) 1 / 2
y=0
M −1 N −1
∑ ∑ f '( x, y)
2
x =0 y =0 M −1 N −1
∑ ∑ ( f '( x, y) − f ( x, y))
2
x =0 y =0
Copyright @ 2007 By Emy
28
14
Copyright @ 2007 By Emy
29
Model Kompresi citra
Model sistem kompresi umum
À Source encoder: menghilangkan redundansi input À Channel encoder: meningkatkan imunitas output source encoder
terhadap gangguan noise (menggunakan Hamming code) À Channel decoder & source decoder: mengembalikan ke data semula À Jika channel dianggap bebas noise, maka channel encoder/decoder bisa diabaikan. Copyright @ 2007 By Emy
30
15
Source encoder & decoder
Copyright @ 2007 By Emy
31
Source encoder & decoder À Source Encoder: terdiri dari Mapper, Quantizer dan Symbol
Coder – Mapper: melakukan transformasi dari citra masukan (visual format) menjadi suatu non-visual format dan dimaksud untuk eliminasi interpixel redundancy. Biasanya bersifat reversible, contoh: run-length coding. – Quantizer: melakukan eliminasi psychovisual redundancy menurut kriteria fidelity yang ditentukan. Pada sistem kategori error-free compression, tahap ini tidak dilakukan – Symbol Coder: menghasilkan kode fixed-length atau variablelength dan memetakan citra pada sistem kode tersebut. Copyright @ 2007 By Emy
32
16
Source encoder & decoder Source Decoder: melakukan operasi yang berlawanan dengan source encoder dan menghasilkan suatu citra rekonstruksi yang persis atau merupakan bentuk approksimasi dari citra asalnya.
Channel Encoder dan Decoder: menyisipkan controlled redundancy bits (penambahan bits) untuk mendeteksi bila terjadi error atau gangguan waktu transmisi.
Copyright @ 2007 By Emy
33
Copyright @ 2007 By Emy
34
Teori Informasi
17
Teori Informasi (1) À Informasi yang dikandung oleh suatu pesan dapat dinyatakan dengan suatu
model yang bersifat probabilistik dalam bentuk yang dapat diterima secara intuisi. À Suatu event (yaitu komponent yang membentuk data) terjadi dengan probabilitas P(E) dan mengandung satuan informasiyang dapat dinyatakan dengan:
I ( E ) = log
1 = − log P ( E ) P( E )
dengan I(E) disebut juga sebagai self-information of E. À Contoh-1: Bila P(E)=1 maka I(E)=0, artinya tidak ada informasi yang dibawa event E. Penjelasan secara intuitif: P(E)=1 berarti event E terjadi secara terus menerus, sehingga tidak ada yang tidak diketahui mengenai E (no uncertainty). Artinya event E sudah diketahui karena selalu terjadi sehingga tidak ada informasi yang dibawa oleh event E. Copyright @ 2007 By Emy
35
Teori Informasi (2) À Contoh-2: Dalam kurun waktu 20 tahun yang lalu jarang (ridak)
terjadi pemboman di Indonesia, P(E) =0.99. Namum akhir-akhir ini mulai terjadi pemboman dan yang terdasyat adalah baru-baru ini terjadi di Legian, Bali, P(tidakE)=0.01. Penjelasannya secara intuitif: Memberitakan terjadinya pemboman lebih membawa informasi dibanding dengan memberitakan tidak terjadi pemboman. À Contoh-3: Bila P(E)=1/2, maka I(E)=-log(1/2)= 1 bit (dengan log basis 2). Nilai 1 bit disini mempunyai arti besarnya informasi yang dikandung bila salah satu event (dari dua event yang probabilitas terjadinya sama besar yaitu ½) terjadi. Copyright @ 2007 By Emy
36
18
Average Self-information (1) À Suatu sumber informasi terdiri dari simbol: {a1, a2, … ,
aj}, dengan P(aj) adalah probabilitas sumber tersebut menghasilkan simbol aj, dengan: J
∑ P(a ) = 1 j =1
j
À Sumber informasi (A,z) dengan: A={a1, a2, … , aj} dan
z={P(a1), P(a2), … , P(aj)}. Bila sumber infromasi menghasilkan k simbol, maka simbol aj akan terjadi rata-rata sebanyak kP(aj) kali. Sehingga average selfinformation yang dikandung oleh k simbol adalah: J
−k ∑ P(a j ) log p (a j ) j =1
Copyright @ 2007 By Emy
37
Average Self-information (2) À Selanjutnya dapat dirumuskan average information per
simbol (per source output): J
H ( z ) = −∑ P(a j ) log p (a j ) j =1
À H(z) disebut juga sebagai tingkat uncertainty atau
entropy dari sumber informasi. Bila H(k) = 0 artinya no uncertainty.
Copyright @ 2007 By Emy
38
19
Using Information Theory (1) À Average information content content (entropy) of each pixel in an image: J
H ( z ) = −∑ P(a j ) log p (a j ) j =1
À 4x8 8-bit-pixel image:
21 21 21 95 169 243 243 243 21 21 21 95 169 243 243 243 21 21 21 95 169 243 243 243 21 21 21 95 169 243 243 243 . À Bila menggunakan asumsi adanya uniform distribution, yaitu P(aj)=1/256 (256 adalah jumlah tingkat keabuan), maka H(z) = -256*(1/256*log(1/256)) yang mempunyai nilai 8. Artinya average information content (entropy) per pixel adalah 8 bits dan total entropy of the 4x8 image = 4 * 8 * 8 bits = 256 bits. Copyright @ 2007 By Emy
39
Using Information Theory (2) À Bila menggunakan model histogram tingkat keabuan citra untuk
menentukan probabilitas source symbols (pixel intensities), maka: Tingkat Keabuan Jumlah Probabilitas 21 12 3/8 95 4 1/8 169 4 1/8 243 12 3/8 À Dalam hal ini dikatakan bahwa (the first-order estimate) of the entropy per pixel: H(z) = - (2*(3/8)*log(3/8) + 2*(1/8)*log(1/8)) = 1.81 bits dan total entropy of image = 4*8*1.81 = 58 bits. Copyright @ 2007 By Emy
40
20
Using Information Theory (3) À Estimating the entropy of gray-level source by examining the relative frequency
of pixel blocks (a block is a grouping of adjacent pixels): Gray Level Pair Count Probability (21,21) 8 1/4 (21,95) 4 1/8 (95,169) 4 1/8 (169,243) 4 1/8 (243,243) 8 1/4 (243,21) 4 1/8 À Dalam hal ini dikatakan bahwa (the second-order estimate) of entropy per pixel H(z) = - (2*(1/4)*log(1/4) + 4*(1/8)*log(1/8))/2 = 1.25 bits. Copyright @ 2007 By Emy
41
Using Information Theory (4)
À A difference array:
Gray Level Difference Count Probability 0 (column 2,3,7,8) 16 1/4 21 (column1) 4 1/8 74 (column 4,5,6) 12 3/8 À (the first-order estimate) of entropy per pixel = 1.41 bits and total entropy of image = 4 * 8 * 1.41 bits = 46 bits.
Copyright @ 2007 By Emy
42
21
Copyright @ 2007 By Emy
43
Copyright @ 2007 By Emy
44
22