BAB 2 LANDASAN TEORI 2.1 Citra Digital - Implementasi Kombinasi Metode Huffman Dan Run Length Encoding Untuk Kompresi Citra Digital

BAB 2 LANDASAN TEORI

2.1 Citra Digital

  Citra adalah suatu representasi, kemiripan atau imitasi dari suatu objek atau benda, misal: foto seseorang mewakili entitas dirinya sendiri di depan kamera. Sedangkan citra digital adalah citra yang disimpan dalam format digital (dalam bentuk file) yang dapat diolah oleh komputer. Jenis citra lain jika akan diolah dengan komputer harus diubah dulu menjadi citra digital.

  Sebuah citra digital dapat diwakili oleh sebuah matriks yang terdiri dari M kolom dan N baris, dimana perpotongan antara kolom dan baris disebut piksel, yaitu elemen terkecil dari sebuah citra. Piksel mempunyai dua parameter, yaitu koordinat dan intensitas atau warna. Nilai yang terdapat pada koordinat (x,y) adalah f(x,y), yaitu besar intensitas dari piksel di titik itu. Oleh sebab itu, sebuah citra digital dapat ditulis dalam bentuk matriks berikut [7]:

  … (0,0) (0,1) (0, − 1)

  … … (1,0) (1, − 1) f(x,y)=

  � �

  … … … … ( − 1,0) ( − 1,1)… ( − 1, − 1)

  Berdasarkan gambaran matriks tersebut, secara matematis citra digital dapat dituliskan sebagai fungsi intensitas f(x,y), dimana x (baris) dan y (kolom) merupakan koordinat posisi dan f(x,y) adalah nilai fungsi pada setiap titik (x,y) yang menyatakan besar intensitas citra atau tingkat keabuan atau warna dari piksel di titik tersebut.

2.2 Jenis Citra Digital

  Nilai suatu piksel memiliki nilai rentang tertentu, dari nilai minimum sampai nilai maksimum.Jangkauan yang digunakan berbeda-beda tergantung dari jenis warnanya.Namun, secara umum jangkauannya adalah 0 – 255.Berikut adalah jenis- jenis citra berdasarkan nilai pikselnya.

  2.2.1 Citra Biner

  Citra biner adalah citra digital yang hanya memiliki dua kemungkinan nilai piksel yaitu hitam dan putih. Nilai 0 mewakili warna hitam dan nilai 1 mewakili warna putih. Citra biner disebut juga dengan citra B&W (black & white)atau citra monokrom. Oleh karena itu, hanya dibutuhkan 1 bit untuk mewakili nilai setiap piksel dari citra biner. Contoh citra biner dapat di lihat pada gambar 2.1.

Gambar 2.1 Contoh Citra Biner Berukuran 10 x 11 piksel dan Representasinya dalam

  data digital

  2.2.2 Citra Grayscale

  Citra grayscale merupakan citra yang hanya memiliki satu nilai kanal pada setiap pikselnya, dengan kata lain nilai Red = Green = Blue. Nilai intensitas yang dimiliki adalah 0 (hitam) sampai 255 (putih). Rentang ini berarti bahwa setiap piksel dapat direpresentasikan oleh delapan bit atau satu byte. Jenis citra ini disebut dengan araskeabuan karena warna abu-abu diantara warna minimum (hitam) dan warna maksimum (putih). Pada umumnya citra grayscale memiliki kedalaman piksel 4 bit

  4

  dan 8 bit. Citra dengan 4 bit memiliki 2 = 16 kemungkinan warna, yaitu 0 (minimal)

  8

  15 (maksimal). Sementara citra dengan 8 bit memiliki 2 = 256 warna, yaitu 0 (minimal) hingga 255 (maksimal). Contoh citra grayscale dapat di lihat pada gambar 2.2.

Gambar 2.2 Contoh Citra Grayscale skala keabuan 8 bit

2.2.3 Citra Warna

  Setiap piksel pada citra warna mewakili warna yang merupakan kombinasi dari tiga warna dasar yaitu warna merah (R, red), hijau (G, green) dan biru (B, blue), sehingga warna ini disebut juga dengan citra RGB.Banyaknya warna yang mungkin digunakan tergantung kepada kedalaman piksel citra yang bersangkutan. Jika setiap komponen

  3

  warna tersebut memiliki rentang intensitas 0-255, maka terdapat sejumlah 255 = 16.777.216 kemungkinan jenis warna pada citra ini. Citra warna ini dipandang sebagai penumpukan tiga matriks yang masing-masing matriksnya merepresentasikan nilai- nilai merah, hijau dan biru pada setiap pikselnya.Hal ini menyebabkan setiap piksel pada citra warna membutuhkan media penyimpanan 3 byte.Contoh citra warna dapat di lihat pada gambar 2.3.

Gambar 2.3 Contoh Citra Warna

2.3 Kompresi Citra

  Kompresi citra adalah proses pemampatan citra yang bertujuan untuk mengurangi duplikasi data pada citra sehingga memory yang digunakan untuk merepresentasikan citra menjadi lebih sedikit daripada representasi citra semula.

  Rasio citra kompresi adalah ukuran persentase citra yang telah berhasil dimampatkan. Secara matematis rasio pemampatan data ditulis sebagai berikut [7]: R = 100% - (K

  1 /K o ) x 100 %

  Dimana: R adalah rasio kompresi. K adalah Ukuran file asli.

  o

  K 1 adalah Ukuran file terkompresi.

  Secara garis besar metode pemampatan citra atau kompresi citra dapat dikelompokkan dalam dua kelompok besar yaitu metode lossless dan metode lossy yaitu [7]:

  1. Metode lossless Merupakan kompresi citra dimana hasil dekompresi dari citra yang terkompresi sama dengan citra aslinya, tidak ada informasi yang hilang. Sayangnya, untuk ratio kompresi citra metode ini sangat rendah. secara umum teknik lossless digunakan untuk penerapan aplikasi yang memerlukan kompresi tanpa cacat, seperti pada aplikasi radiografi, kompresi citra hasil diagnose medis atau gambar satelit, di mana kehilangan gambar sekeil apa pun akan menyebabkan hasil yang tidak diharapkan. Contoh metode ini adalah Shannon-Fano Coding, Huffman Coding, Arithmetic Coding , Run Length Encodingdan lain sebagainya.

  2. Metode lossy Merupakan kompresi citra dimana hasil dekompresi dari citra yang terkompresi tidak sama dengan citra aslinya, artinya bahwa ada informasi yang hilang, tetapi masih bias ditolerir oleh persepsi mata. Metode ini menghasilkan ratio kompresi yang lebih tinggi dari pada metode lossless. Contohnya adalah color reduction,

  

chroma subsampling , dan transform coding, seperti transformasi Fourier, Wavelet

dll.

2.4 Dekompresi

  Sebuah citra yang sudah dikompres tentunya harus dapat dikembalikan lagi kebentuk aslinya, prinsip ini dinamakan dekompresi. Untuk dapat merubah citra yang terkompres diperlukan cara yang berbeda seperti pada waktu proses kompres dilaksanakan. Jadi pada saat dekompres catatan header yang berupa byte-byte tersebut terdapat catatan isi mengenai isi dari file tersebut.

  Catatan headerakan menuliskan kembali mengenai isi dari file tersebut, jadi isi dari file sudah tertulis oleh catatan header sehingga hanya tinggal menuliskan kembali pada saat proses dekompres. Proses dekompresi sempurna (kembali kebentuk aslinya). Secara umum proses kompresi dan dekompresi dapat dilihat pada gambar 2.4 [4]:

  CitraHasil CitraAsli

  Kompresi Kompresi Dekompresi

  Ukuran Citra Asli Ukuran Citra Hasil Kompresi

Gambar 2.4 Alur kompresi-dekompresi citra

  2.5 Run Length Encoding (RLE)

  Berbeda dengan teknik-teknik yang bekerja berdasarkan karakter per karakter, teknik

  

run length ini bekerja berdasarkan sederetan karakter yang berurutan. Run Length

Encoding adalah suatu metode kompresi data yang bersifat lossless.Metode ini

  mungkin merupakan metode yang paling mudah untuk dipahami dan diterapkan.Run

  

Length Encoding (RLE) adalah metode kompresi yang sangat mendasar. Metode

  kompresi ini sangat sederhana, yaitu hanya memindahkan pengulangan byte yang sama berturut-turut (secara terus menerus) [2].

  Sebagai contoh adalah sebuah data angka numerik “122221113113444” akan di-encode dengan metode RLE maka hasilnya adalah sebagai berikut. (1,1)(2,4)(1,3)(3,1)(1,2),(3,1)(4,3) Hasil pengkodean adalah: 11241331123143, semuanya = 14 byte. Ukuran citra sebelum dikompresi = 15 x 8 bit = 120 bit. Ukuran citra sesudah dikompresi = 14 x 8 bit = 112 bit.

  112 �100% − 100 % � = 6.66 %, artinya 6.66 % dari citra semula telah dikompresi. 120

  2.6 Metode Huffman

  Metode Huffman adalah metode pengkodean yang telah banyak diterapkan untuk aplikasi kompresi citra. Seperti metode Shannon Fano, metode Huffman juga membentuk pohon atas dasar probabilitas setiap simbol, namun teknik pembentukan pohonnya berbeda. Berikut ini adalah langkah-langkah metoden Huffman:

  1. Data dianalisis dahulu dengan cara membuat table frekuensi kemunculan setiap simbol ASCII, table frekuensi tersebut memiliki atribut berupa simbol ASCII dan frekuensi.

  2. Dua data yang memiliki frekuensi kemunculan paling kecil dipilih sebagai simpul pertama pada pohon Huffman.

  3. dari dua simpul ini dibuat simpul induk yang mencatat jumlah frekuensi dua simpul pertama.

  4. Kemudian dua simpul tersebut dihapus dari table digantikan oleh simpul induk tadi. Simpul ini kemudian dijadikan acuan untuk membentuk pohon.

  5. Langkah 3-5 dilakukan dengan berulang-ulang hingga isi table tinggal satu saja.

  Data inilah yang akan menjadi simpul bebas atau simpul akar.

  6. Setiap simpul yang terletak pada cabang kiri (simpul dengan frekuensi lebih besar) diberi nilai 0 dan simpul yang terletak pada cabang kanan (simpul dengan frekuensi lebih kecil) diberi nilai 1.

  7. Pembacaan dilakukan dari simpul akar kearah simpul daun dengan memperhatikan nilai setiap cabang.

  Berikut adalah contoh implementasi metode Huffman yang telah dipaparkan di atas. Kata yang ingin dikompresi : muhammadsaidalkhudri

Tabel 2.1 Frekuensi Simbol

  Simbol Frekuensi a 4 d 3 m 3 h 2 u 2 i 2 k 1 l 1 r 1 s

  1 Proses pembentukan pohon Huffman dimulai dari menggabung simbol “s” dan “r” (dua simbol terbawah) dengan frekuensi berjumlah 2. Gabungan 2 simbol tersebut (“sr”) dipakai sebagai acuan untuk bergerak ke atas. Karena simbol “l” frekuensinya masih lebih kecil dari simbol “sr”, maka simbol “l” digabung dengan simbol di atasnya (“k”) menghasilkan simbol “lk”. Gabungan tersebut menghasilkan freuensi berjumlah 2. Simbol “sr” dan “lk” membentuk pohon Huffman dengan total frekuensi berjumlah 4. Proses pergerakan ke atas kemudian dilanjutkan sehingga dihasilkan pohon Huffman.

  Pohon Huffman pada Gambar 2 dibentuk atas dasar simbol yang memiliki frekuensi lebih tinggi dikodekan dengan nilai “0” dan yang lebih rendah dengan nilai “1”.

  1

  1

  1

  1

  1 h a d 1 0 1 m 1 0

  1 i u r s k l

Gambar 2.5 Pohon Huffman dari kata “muhammadsaidalkhudri”

  Berdasarkan Gambar 2.5 di atas, maka setiap simbol dapat dikodekan seperti ditunjukkan pada Tabel 2:

Tabel 2.2 Hasil Proses Pengkodean Huffman

  Jumlah Bit Simbol Frekuensi Kode Total Bot

  Kode a 4 110

  3

  12 d 3 111

  3

  9 m 3 100

  3

  9 h 2 101

  3

  6 u 2 011

  3

  6 i 2 010

  3

  6 k 1 0010

  4

  4 l 1 0011

  4

  4 r 1 0000

  4

  4 s 1 0001

  4

  4 Total

  20 64 bit

  Setelah mengamati hasil pengkodean Huffman di atas dapat dilihat bahwa jumlah total bit dari seluruh simbol adalah 64 bit. Dalam ukuran byte, hasil kompresi di atas menjadi 8 byte (64 bit/8 byte = 8).

Dokumen yang terkait

Perbandingan Kualitas Citra Hasil Kompresi Metode Run Length Encoding Dengan Transformasi Wavelet Daubechies Pada Citra Digital

10 110 104

BAB 2 LANDASAN TEORI 2.1 Citra Digital 2.1.1 Pengertian Citra Digital - Implementasi dan Deteksi Pola Wajah Pada Citra Digital Menggunakan Skin Color dan K-Means Clustering

0 0 11

BAB II TINJAUAN TEORETIS 2.1 Citra Digital - Analisis Kompresi Citra Digital Dengan Metode Fraktal

0 0 17

BAB 2 LANDASAN TEORI 2.1. Pengertian Citra Digital - Implementasi Dan Perbandingan Metode Geometric Mean Filter Dan Alpha-Trimmed Mean Filter Untuk Mereduksi Exponential Noise Pada Citra Digital

0 1 10

BAB 2 LANDASAN TEORI 2.1 Definisi Data - Analisis Perbandingan Kinerja Algoritma Shannon-Fano, Arithmetic Coding, Dan Huffman Pada Kompresi Berkas Teks Dan Berkas Citra Digital

0 1 13

Perbandingan Kualitas Citra Hasil Kompresi Metode Run Length Encoding Dengan Transformasi Wavelet Daubechies Pada Citra Digital

0 0 14

BAB 2 TINJAUAN PUSTAKA 2.1 Pengertian Citra - Perbandingan Kualitas Citra Hasil Kompresi Metode Run Length Encoding Dengan Transformasi Wavelet Daubechies Pada Citra Digital

1 2 11

Perbandingan Kualitas Citra Hasil Kompresi Metode Run Length Encoding Dengan Transformasi Wavelet Daubechies Pada Citra Digital

0 1 14

BAB 2 LANDASAN TEORI 2.1 Pengolahan Citra - Implementasi Threshold Metode Otsu Untuk Deteksi Bangun Ruang Pada Citra Digital

0 0 16

BAB II LANDASAN TEORI 2.1 Citra 2.1.1 Definisi Citra Digital - Implementasi Lowpass Filtering Dan Highpass Filtering Untuk Perbaikan Kualitas Citra Digital

0 1 23