- tempat ngobrolin dunia pendidikan -
PENGOLAHAN CITRA
Condro Wibawa
PENGOLAHAN CITRA
Condro Wibawa
Pemampatan/Kompresi Citra
Pada umumnya, representasi citra digital
membutuhkan memori yang cukup besar.
Sebagagi contoh,�sebuah citra berukuran 512x512 pixel dengan depth 8-bit,�membutuhkan sektiar 256 KB memori.
Bagaimana jika resolusinya dan depth nya diperbesar ?
Padahal,�besar resolusi dan depth sebuah citra merupakan
hal pokok dalam pengolahan citra
yang tidak bisa dihindari di era saat ini
Mana yang akan kalian dipilih ?
Di sisi lain,�untuk mempercepat proses pengolahan citra,
maupun transmisi citra,��citra dituntut memiliki ukuran sekecil mungkin,�akan tetapi dengan kualitas semaksimal mungkin,�
Bagaimana solusinya ?�
Solusi untuk masalah tersebut adalah dengan �Pemampatan Citra atau Kompresi Citra
Faktanya ...
Pertama,
besar kemungkinan suatu pixel dengan pixel tetanggganya memiliki initensitas yang sama, sehingga penyimpanan setiap pixel memboroskan tempat.
Kedua,
citra banyak mengandung bagian (region) yang sama, sehingga bagian yang sama ini tidak perlu dikodekan berulang kali karena mubazir atau redundan.
Sehingga,�Prinsip umum pemampatan citra adalah
mengurangi duplikasi data di dalam citra sehingga memori yang dibutuhkan menjadi lebih sedikit,
akan tetapi memastikan bahwa kualitas citra tetap baik.
Ada dua isu utama dalam kompresi data
Pertama : Pemampatan Citra (Image Compression)
Citra yang tidak/kurang mampat (biasanya dalam format BMP) dimampatkan dengan representasi yang meminimalkan memori.
Contoh format nya adalah : JPG, GIF, dll
Kedua : Penirmampatan Citra (Image Decompression)
Mengembalikan citra yang sudah dimampatkan menjadi bentuk citra yang tidak dimampatkan. Proses ini diperlukan saat ditampilkan ke layar atau jika ingin diolah kembali.
Contoh nya adalah format BMP.
Aplikasi Pemampatan Citra
Data Storing
Pada umumnya ukuran storage disk terbatas, sehingga semakin kecil ukuran file (dalam hal ini citra), maka storage akan mampu menyimpan lebih banyak file.
Data Transmission
Di era saat ini, dimana pertukaran data melalui internet menjadi hal yang wajar,�maka semakin kecl ukuran file/citra, maka menjadikan pertukaran data semakin cepat.
Contoh : transmisi data lewat email, media sosial, messenger, pengiriman data rekam medis, pengiriman data dari luar angkasa, dll.
Kriteria Pemampatan Citra
Ukuran File
Tujuan utama dari pemampatan adalah ukuran file, sehingga file/citra hasil pemampatan haruslah lebih kecil dari file aslinya.
Waktu Pemampatan
Proses pemampatan dan penirmampatan (compressin dan decompression), sebaiknya cepat. Beberapa metode memiliki proses pemampatan cepat dan penirmampatan lambat, ada pula sebaliknya.
Kriteria Pemampatan Citra
Kualitas Citra
Citra yang sudah dimampatkan sebaiknya memiliki kualitas yang bagus. Akan tetapi biasanya kualitas citra berbanding lurus dengan ukurannya. Sehingga, semakin kecil ukuran file, biasanya akan memiliki kualitas yang juga rendah.
Kita dapat membuat ukuran kualitas hasil pemampatan citra dengan ukuran kuantitatif dengan menggunakan besarran PSNR (Peak Signal to Noise Ratio). PNSR dihitung dengan mengukur perbedaan antara citra semula dengan citra hasil pemampatan.
Pendekatan Metode Kompresi Citra
1. Pendekatan statistik.
Pemampatan citra didasarkan pada frekuensi kemunculan derajat keabuan
pixel di dalam seluruh bagian gambar.
Contoh metode: Huffman Coding.
2. Pendekatan ruang
Pemampatan citra didasarkan pada hubungan spasial antara pixel-pixel di
dalam suatu kelompok yang memiliki derajat keabuan yang sama di dalam
suatu daerah di dalam gambar.
Contoh metode: Run-Length Encoding.
Pendekatan Metode Kompresi Citra
3. Pendekatan kuantisasi
Pemampatan citra dilakukan dengan mengurangi jumlah derajat keabuan
yang tersedia.
Contoh metode: metode pemampatan kuantisasi.
4. Pendekatan fraktal
Pemampatan citra didasarkan pada kenyataan bahwa kemiripan bagian bagian di dalam citra dapat dieksploitasi dengan suatu matriks transformasi.
Contoh metode: Fractal Image Compression.
Klasifikasi Metode Pemampatan
Klasifikasi Metode Pemampatan
Metode lossless selalu menghasilkan citra hasil penirmampatan yang tepat sama dengan citra semula, pixel per pixel. Tidak ada informasi yang hilang akibat pemampatan. Sayangnya nisbah (ratio) pemampatan citra metode lossless sangat rendah.
Metode lossless cocok untuk memampatkan citra yang mengandung informasi penting yang tidak boleh rusak akibat pemampatan. Misalnya memampatkan gambar hasil diagnosa medis.
Contoh : Metode Huffman.
Klasifikasi Metode Pemampatan
2. Metode Lossy
Metode lossy menghasilkan citra hasil pemampatan yang hampir sama dengan citra semula. Ada informasi yang hilang akibat pemampatan, tetapi dapat ditolerir oleh persepsi mata. Mata tidak dapat membedakan perubahan kecil pada gambar.
Metode pemampatan lossy menghasilkan nisbah pemampatan yang tinggi daripada metode lossless.
Contoh metode lossy adalah metode JPEG dan metode fraktal.
Metode Pemampatan�HUFFMAN
Metode Pemampatan Huffman
Metode Pemampatan Huffman
Misal :
Saya mempunyai sebuah kalimat
“NAMA SAYA ANDRI”
Jika disimpan dalam kode ASCII (8 bit),
maka kalimat tersebut membutuhkan :
15 (karakter) x 8 (bit) = 90 bit data
Bagaimana jika diencode menggunakan
Metode Huffman ?
Metode Pemampatan Huffman
NAMA SAYA ANDRI
N : 2�A : 5�M : 1�S : 1�Y : 1�D : 1�R : 1
I : 1�spasi : 2
Metode Pemampatan Huffman
2. Urutkan berdasar jumlah karakaternya dari yang terbesar
A : 5 A5�N : 2 N2�spasi : 2 spasi2
M : 1 M1�S : 1 S1�Y : 1 Y1�D : 1 D1�R : 1 R1
I : 1 I1�
Metode Pemampatan Huffman
3. Gabungkan 2 node terkecil menjadi 1 node baru
A(5) A(5) A(5) A(5) �N(2) N(2) (N2) N(2)�spasi (2) spasi(2) spasi(2) spasi(2)
M(1) M(1) RI(2) RI(2)�S(1) S(1) M(1) YD(2)�Y(1) Y(1) S(1) MS(2)�D(1) D(1) YD(2) �R(1) RI(2)
I(1) �
Metode Pemampatan Huffman
3. Gabungkan 2 node terkecil menjadi 1 node baru
A(5) A(5) A(5) A (5)�N(2) (YD)(MS)(4) (YD)(MS)(4) (YD)(MS) (4)�spasi (2) N(2) spasi(RI)(4) (spasi(RI))N (6)
RI(2) spasi(2) N(2)
YD(2) RI(2)
MS(2)
Metode Pemampatan Huffman
3. Gabungkan 2 node terkecil menjadi 1 node baru
(spasi(RI))N (6) A((YD)(MS)) (9) (A((YD)(MS))) ((spasi(RI))N) (15)
A(5) (spasi(RI))N (6)
(YD)(MS) (4) �
Metode Pemampatan Huffman
4. Buat Pohon Binary
�
Metode Pemampatan Huffman
5. Susun Kode Huffman
A : 5 00 �N : 2 10
spasi : 2 100
M : 1 0110 �S : 1 0111
Y : 1 0100
D : 1 0101
R : 1 1010
I : 1 1011
Metode Pemampatan Huffman
6. Encode Kalimat
NAMA SAYA ANDRI
10 00 0110 00 100 0111 00 0100 00 100 00 10 0101 1010 1011
Metode Pemampatan Huffman
7. Berapa jumlah bit yang dibutuhkan sekarang ?
A : 5 00 2 bit => 5 x 2 bit = 10 bit �N : 2 10 2 bit => 2 x 2 bit = 4 bit
spasi : 2 100 3 bit => 2 x 3 bit = 6 bit
M : 1 0110 4 bit => 1 x 4 bit = 4 bit Total : 40 bit �S : 1 0111 4 bit => 1 x 4 bit = 4 bit
Y : 1 0100 4 bit => 1 x 4 bit = 4 bit
D : 1 0101 4 bit => 1 x 4 bit = 4 bit
R : 1 1010 4 bit => 1 x 4 bit = 4 bit
I : 1 1011 4 bit => 1 x 4 bit = 4 bit
Metode Pemampatan Huffman
7. Berapa jumlah bit yang dibutuhkan sekarang ?
“NAMA SAYA ANDRI”
Kode ASCII : 90 bit
Kode Huffman : 40 bit
Nisbah Pemampatan :
= 100 % - ((nilai pemampatan/nilai asli) * 100 %)
= 100 % - ((40 / 90) * 100 %)
= 100 % - 44.4 %
= 55.6 %
Bagaimana jika yang
dimampatkan adalah Citra ?
Citra tak lain adalah array/deret 2 dimensi,
dan setiap indeks array memiliki nilai (depth),
sehingga,
Metode huffman bisa digunakan untuk pemampatan citra.
Referensi :
Tugas :
Dengan menggunakan Metode Huffman,�coba buat encode citra 8-bit di bawah ini dan tentukan :
Tugas dalam bentuk .doc/.docx/.pdf
Disubmit pada ramundro.dosen@gmail.com