Pemampatan Citra - · PDF fileBarisanlabel sisidariakarke daun → kode Huffman untuk...

35
Pemampatan Citra Esther Wibowo [email protected] Erick Kurniawan [email protected]

Transcript of Pemampatan Citra - · PDF fileBarisanlabel sisidariakarke daun → kode Huffman untuk...

Pemampatan CitraEsther Wibowo ‐ [email protected] Kurniawan ‐ [email protected]

Mengapa?

MEMORI◦ Citra memerlukan memori besar.◦ Mis. Citra 512x512 pixel 256 warna perlu 32 KB (1 pixel = 1 byte = 8 bit)◦ >> ukuran →  >> memori

DUPLIKASI  DATA◦ Pixel dan tetangga punya intensitas sama→ boros tempat.◦ Bagian (region) sama→ redundant

Image Compression ‐ PemampatanCitra≠ image encoding : pengkodean citradalam representasi tertentu→ belumtentu menghasilkan representasi memoriminimal.Image compression pasti mengurangikebutuhan memori.Proses :◦ Compression : pemampatan != bentuk bitmap◦ Decompression : penirmampatan→ bitmap

Aplikasi Pemampatan Citra

Pengiriman data (data transmission)◦ Kecepatan pengiriman◦ Transfer melalui video conferencing, gambarsatelit, download dari Internet, intranet dll.

Penyimpanan data (data storing) ◦ Kebutuhan storage space◦ Aplikasi basis data gambar, office automation, video storage (VCD, DVD‐Video, dll.)  

Kriteria Pengukuran MetodePemampatan (1) Kecepatan waktu compression dandecompressionKebutuhan memori◦ % memori sesudah dan sebelum prosespemampatan◦ Bergantung karakteristik citra

Format keluaran cocok untuk pengirimandan penyimpanan data.

Kriteria Pengukuran MetodePemampatan (2) Kualitas pemampatan (fidelity)◦ Subjektif, bergantung pengamat

◦ PSNR = peak signal to noise ratio (dB)◦ b = nilai signal terbesar

◦ PSNR makin besar, pemampatan makin baik.

⎟⎠⎞

⎜⎝⎛=

rmsbPSNR 10log*20

∑∑= =

−=N

i

M

jijij ff

TinggiLebarrms

1 1

2)'(*1

Pertimbangan Pemilihan Kriteria

Tujuan citra dimampatkan untuk apa?Misal : mengirim draft desain grafis keklien→ kualitas memadai, penguranganmemori menjadi prioritas kedua.Misal : sharing citra di Internet, waktuproses pemampatan hanya 1x, prosesdekompresi berkali‐kali →kecepatankompresi tidak masalah, kecepatandekompresi sebaiknya cepat.

Jenis Pemampatan

Pendekatan statistik◦ Berdasar frekuensi kemunculan derajatkeabuan.◦ Mis. Huffman CodingPendekatan ruang◦ Berdasar hubungan spasial antar pixel yang memiliki derajat keabuan sama :Lokal : pixel bertetangga memiliki intensitas hampirsamaGlobal : pola yang berulang

◦ Mis. Run‐Length Encoding

Pendekatan kuantisasi◦ Mengurangi jumlah derajat keabuan.◦ Mis. Metode Pemampatan Kuantisasi

Pendekatan fraktal◦ Berdasar kemiripan bagian dalam citra→ transformasi◦ Metode Fractal Image Compression

Klasifikasi Metode Pemampatan (1)

Lossless◦ Citra hasil pemampatan = citra semula, pixel per pixel → tidak ada informasi yang hilang.◦ Nisbah (ratio) pemampatan rendah.

◦ Untuk aplikasi dimana citra tidak boleh rusakmis: informasi medis.

⎟⎠⎞

⎜⎝⎛ ×−= %100

semula citraukuran pemampatan hasil citraukuran %100Nisbah

Klasifikasi Metode Pemampatan (2)

Lossy◦ Citra hasil pemampatan hampir sama dengancitra semula.◦ Ada informasi hilang tapi dapat ditolerir mata.◦ Nisbah pemampatan tinggi.

Level Kompresi JPEG

Metode Huffman (1)

Derajat keabuan yang sering munculdikodekan dengan ∑ bit sedikit.Derajat keabuan yang jarang munculdikodekan dengan ∑ bit lebih panjang.Algoritma:◦ Urutkan derajat keabuan secara ascendingberdasar frekuensi kemunculan.

nnp kk /=k = derajat keabuanpk = peluang kemunculannk = frekuensi kemunculann = jumlah pixel dalam citra

Metode Huffman (2)

Algoritma Huffman (lanjutan):◦ Frekuensi : Derajat keabuan→ pohonbersimpul tunggal◦ Gabungkan 2 buah pohon yang berfrekuensipaling kecil dalam 1 akar◦ Ulangi hingga tercipta 1 pohon biner◦ Beri label pada setiap sisi pohon biner. Kiri = 0, kanan = 1.◦ Telusuri pohon biner dari akar ke daun. Barisan label sisi dari akar ke daun→ kodeHuffman untuk tiap derajat keabuan. 

Contoh Soal Metode Huffman

Citra 64x64 pixel dengan 8 derajatkeabuan→ jumlah pixel = 64*64 = 4096

0 1

0 0

0

0

0

0

1

1

1

1

1

1

Kode @ derajat keabuan :0 = 00 4 = 11101 = 10 5 = 111112 = 01 6 = 111103 = 110 7 = 111100

Efektivitas Huffman

Ukuran citra sebelum pemampatan :(64*64) * 3 bit = 12.288 bitUkuran citra setelah pemampatan :(790*2bit) + (1023*2bit) + (850*2bit) +(656*3bit) + (329*4bit) + (245*5bit) +(122*6bit) + (81*6bit) = 11.053 bitNisbah pemampatan = 10%Makin banyak derajat keabuan, efekpemampatan makin dirasakan.

Metode Run‐Length Encoding (RLE)

Untuk citra yang memiliki kelompok‐kelompok pixel berderajat keabuan sama.Membuat rangkaian pasangan (p,q) untuktiap baris pixel. p = derajat keabuan, q = jumlah pixel berurutan yang memilikiderajat keabuan yang sama.

Contoh Soal Metode RLE

Citra 10x10 dengan 8 derajat keabuan :

Pasangan Nilai (p,q) dengan RLE

Jadi semua ada 31 pasangan→ 31*2=62 nilai.

Efektivitas Metode RLE

Ukuran citra sebelum pemampatan :100*3 bit = 300 bit

Ukuran citra setelah pemampatan :→ @derajat keabuan = 3 bit→ @ run length = 4 bit(31*3) + (31*4) = 217 bitNisbah pemampatan = 27.67%

RLE Alternatif Lain

Menyatakan seluruh baris citra menjadisebuah baris run.Menghitung run‐length untuk tiap derajatkeabuan yang berurutan.

1 2 1 1 1 11 3 4 4 4 41 1 3 3 3 51 1 1 1 3 3

1 2 1 1 1 1 1 3 4 4 4 4 1 1 3 3 3 5 1 1 1 1 3 3

(1,1) (2,1) (1,5) (3,1) (4,4) (1,2) (2,2) (5,1) (1,4) (3,2)

1 1 2 1 1 5 3 1 4 4 1 2 2 2 5 1 1 4 3 2

Kombinasi RLE + Huffman

Untuk meningkatkan nisbahpemampatan.Lakukan pemampatan RLE.Kemudian hasilnya dimampatkan lagidengan metode Huffman.

Metode Kuantisasi

Mengurangi jumlah derajat keabuan, mis: 256 → 16 derajat keabuan.Algoritma :◦ Buat histogram citra.◦ Tentukan n kelompok dalam histogram sehingga tiap kelompok mempunyai kira‐kiraP/n dimana P = jumlah pixel citra.◦ Nyatakan tiap kelompok dalam derajatkeabuan 0 sampai n‐1 kemudian histogram masing‐masing kelompok dikodekan kembali.

Contoh Soal Kuantisasi

Kelompok Histogram Citra

Hasil Pemampatan

Efektivitas Metode Kuantisasi

Ukuran citra sebelum pemampatan :65*4 bit = 260 bit

Ukuran citra setelah pemampatan :65*2 bit = 130 bitNisbah pemampatan = 50%Kelemahan : banyak informasi yang hilang→ diminimalkan dengan menjaminbahwa tiap kelompok memiliki jumlahpixel yang hampir sama.

Metode FraktalMencari bagian citra yang memiliki kemiripandengan bagian lain dalam citra namun berukuranlebih besar.Menemukan matriks yang mentransformasikanbagian yang lebih besar dengan bagian yang lebihkecil.Hanya menyimpan elemen‐elemen darisekumpulan matriks transformasi→ matrikstransformasi affine.Matriks affine di‐iterasi sejumlah kali terhadapsembarang citra awal.Hasil iterasi akan konvergen dengan citra semula.