Meminimalkan Kebutuhan Memori dalam Merepresentasikan Citra Digital KOMPRESI CITRA Meminimalkan Kebutuhan Memori dalam Merepresentasikan Citra Digital
MANFAAT KOMPRESI CITRA Waktu pengiriman data lebih singkat Pengiriman gambar dari fax Video conferencing Download dari internet Membutuhkan ruang memori yang lebih sedikit
TEKNIK KOMPRESI CITRA Lossless Compression Lossy Compression Run Length Encoding (RLE) Entropy Encoding (Huffman, Aritmatik) Adaptive Dictionary Based (LZW) Lossless Compression Color Reduction Chroma Subsampling Transform Coding (Transformasi Fourier, Wavelet) Lossy Compression
KRITERIA KOMPRESI CITRA Waktu Kompresi dan Dekompresi Kebutuhan Memori Kualitas Pemampatan (Fidelity) Format Keluaran
ALGORITMA HUFFMAN Urutkan nilai-nilai grayscale berdasarkan frekuensi kemunculannya Gabung dua pohon yang mempunyai frekuensi kemunculan terkecil dan urutkan kembali Ulangi langkah (2) sampai tersisa satu pohon biner Beri label pohon biner tersebut dengan cara sisi kiri pohon diberi label 0 dan sisi kanan pohon diberi label 1 Telusuri pohon biner dari akar ke daun. Barisan label-label sisi dari akar ke daun adalah kode huffman
CONTOH Lakukan kompresi pada citra berukuran 100x100 piksel dengan kedalaman 3 bit yang memiliki probabilitas sebagai berikut : K nk P(k) = nk/n 2500 0,25 1 1000 0,1 2 600 0,06 3 100 0,01 4 4000 0,4 5 400 0,04 6 500 0,05 7 900 0,09
Langkah 1 Langkah 2 Langkah 3.1 3 : 0,01 5 : 0,04 6 : 0,05 2 : 0,06 7 : 0,09 1 : 0,1 0 : 0,25 4 : 0,4 Langkah 2 3 ,5 : 0,05 6 : 0,05 2 : 0,06 7 : 0,09 1 : 0,1 0 : 0,25 4 : 0,4 3 : 0,01 5 : 0,04 Langkah 3.1 2 : 0,06 7 : 0,09 3 ,5,6 : 0,1 1 : 0,1 0 : 0,25 4 : 0,4 3 ,5 : 0,05 6 : 0,05 3 : 0,01 5 : 0,04
Langkah 3.2 3 ,5,6 : 0,1 1 : 0,1 2,7 : 0,15 0 : 0,25 4 : 0,4 3 ,5 : 0,05 6 : 0,05 2 : 0,06 7 : 0,09 3 : 0,01 5 : 0,04 Langkah 3.3 2,7 : 0,15 3 ,5,6,1 : 0,2 0 : 0,25 4 : 0,4 2 : 0,06 7 : 0,09 3 ,5,6 : 0,1 1 : 0,1 3 ,5 : 0,05 6 : 0,05 3 : 0,01 5 : 0,04
Langkah 3.4 0 : 0,25 2,7,3 ,5,6,1 : 0,35 4 : 0,4 2,7 : 0,15 3 ,5,6,1 : 0,2 2 : 0,06 7 : 0,09 3 ,5,6 : 0,1 1 : 0,1 3 ,5 : 0,05 6 : 0,05 3 : 0,01 5 : 0,04
Langkah 3.5 4 : 0,4 0,2,7,3 ,5,6,1 : 0,6 0 : 0,25 2,7,3 ,5,6,1 : 0,35 2,7 : 0,15 3 ,5,6,1 : 0,2 2 : 0,06 7 : 0,09 3 ,5,6 : 0,1 1 : 0,1 3 ,5 : 0,05 6 : 0,05 3 : 0,01 5 : 0,04
Langkah 3.6 4,0,2,7,3 ,5,6,1 : 1 4 : 0,4 0,2,7,3 ,5,6,1 : 0,6 0 : 0,25 2,7,3 ,5,6,1 : 0,35 2,7 : 0,15 3 ,5,6,1 : 0,2 2 : 0,06 7 : 0,09 3 ,5,6 : 0,1 1 : 0,1 3 ,5 : 0,05 6 : 0,05 3 : 0,01 5 : 0,04
Langkah 4 4,0,2,7,3 ,5,6,1 : 1 1 4 : 0,4 0,2,7,3 ,5,6,1 : 0,6 1 0 : 0,25 2,7,3 ,5,6,1 : 0,35 1 2,7 : 0,15 3 ,5,6,1 : 0,2 1 1 2 : 0,06 7 : 0,09 3 ,5,6 : 0,1 1 : 0,1 1 3 ,5 : 0,05 6 : 0,05 1 3 : 0,01 5 : 0,04
Penelusuran dari akar ke daun : 4 = 0 1 0 = 10 2 = 1100 7 = 1101 Langkah 5 4,0,2,7,3 ,5,6,1 : 1 Penelusuran dari akar ke daun : 4 = 0 1 0 = 10 2 = 1100 4 : 0,4 0,2,7,3 ,5,6,1 : 0,6 7 = 1101 3 = 111000 1 5 = 111001 0 : 0,25 2,7,3 ,5,6,1 : 0,35 6 = 11101 1 = 1111 1 2,7 : 0,15 3 ,5,6,1 : 0,2 1 1 2 : 0,06 7 : 0,09 3 ,5,6 : 0,1 1 : 0,1 1 3 ,5 : 0,05 6 : 0,05 1 3 : 0,01 5 : 0,04
HASIL KOMPRESI Ukuran citra sebelum kompresi nk Kode Huffman 2500 10 (2 bit) 1 1000 1111 (4 bit) 2 600 1100 (4 bit) 3 100 111000 (6 bit) 4 4000 0 (1 bit) 5 400 111001 (6 bit) 6 500 11101 (5 bit) 7 900 1101 (4 bit) Ukuran citra sebelum kompresi (kedalaman 3 bit = 8 warna) = 100 x 100 x 3 bit = 30.000 bit Ukuran citra setelah kompresi = 2500 x 2 + 1000 x 4 + 600 x 4 + 100 x 6 + 4000 x 1 + 400 x 6 + 500 x 5 + 900 x 4 = 24.500 bit Rasio kompresi = 100% - 24.500/30.000 x 100% = 18,3%
ALGORITMA RUN LENGTH ENCODING (RLE) Cocok digunakan untuk memampatkan citra yang memiliki kelompok-kelompok piksel berderajat keabuan yang sama Seluruh citra dinyatakan sebagai sebuah baris run Menghitung run-length untuk setiap derajat keabuan yang berurutan
CONTOH Hasil Kompresi (2,2) (7,4) (2,4) (3,4) (7,4)(1,2) 5 6 4 Hasil Kompresi (2,2) (7,4) (2,4) (3,4) (7,4)(1,2) (5,4) (1,2) (6,4) (2,4) (0,4) (2,2) (4,4) (1,2) (5,4) (0,3) (3,5) (6,2) (6,2) (0,2) (7,3) (2,3) (6,10) (6,3) (3,2) (0,2) (5,3) (1,2) (7,3) (4,2) (2,3)
HASIL PENGKODEAN Pengkodean : 2 2 7 4 2 4 3 4 7 4 1 2 5 4 1 2 6 4 2 4 0 4 2 2 4 4 1 2 5 4 0 3 3 5 6 2 6 2 0 2 7 3 2 3 6 10 6 3 3 2 0 2 5 3 1 2 7 3 4 2 2 3 Total = 59 piksel Ukuran citra sebelum dikompres = 10 x 10 x 3 bit = 300 bit Ukuran citra setelah dikompres = 59 x 3 bit = 177 bit Rasio kompresi = 100% - 177/300 x 100% = 41%
METODE KUANTISASI Mengurangi derajat keabuan sehingga jumlah bit yang dibutuhkan untuk merepresentasikan citra berkurang Misal P adalah jumlah piksel citra sebelum dimampatkan Buat histogram citra semula Buat n kelompok sehingga setiap kelompok berjumlah kira-kira P/n Ganti keabuan piksel dengan keabuan kelompok yang baru
CONTOH Citra 4 bit berukuran 10x10 piksel akan dimampatkan menjadi citra 2 bit berukuran 10x10 piksel 1 3 4 2 5 6 7 8 9
LANGKAH 1 K nk 15 1 10 2 9 3 17 4 5 19 6 7 8
LANGKAH 2 K nk nbaru kbaru 15 25 1 10 2 9 26 3 17 4 5 24 19 6 7 8
LANGKAH 3 Ukuran citra sebelum kompresi = 10 x 10 x 4 bit = 400 bit Ukuran citra setelah kompresi = 10 x 10 x 2 = 200 bit Rasio kompresi = 100% - 200/400 x 100% = 50% 1 2 3