Lempel Ziv Welch (LZW) Edited

Post on 20-Jun-2015

586 views 19 download

Transcript of Lempel Ziv Welch (LZW) Edited

Lempel-Ziv-Welch (LZW)

CompressionTEORI PENGOLAHAN CITRA DIGITAL

3 TI-A

Kelompok 6Adinda FiandiniMaria Ferolia S

Wahyu GunandaYeni Rorita

Sejarah Algoritma LZW Dikembangkan oleh Terry A.Welch dari

metode kompresi sebelumnya yang ditemukan oleh Abraham Lempel dan Jacob Ziv pada tahun 1977.

Sifat Algoritma LZW Bersifat lossless Menggunakan metode dictionary Kode 0-255 mewakili urutan satu karakter

dengan ukuran 8 bit per karakter Algoritma LZW melakukan kompresi

dengan mengunakan kode table 256 hingga 4095 untuk mengkodekan pasangan byte, Code Words, atau string

Code Words Merupakan kode yang bersifat unik Mewakili karakter atau string baru yang terbentuk

setiap kali algoritma LZW memproses inputan Jumlah dari string-string yang terdapat dalam

dictionary ditentukan dari besarnya bit dictionary yang dipakai dimana code word mewakili setiap string-string tersebut, semakin banyak string yang dihasilkan maka semakin besar pula bit dictionary yang dibutuhkan untuk memberikan indek bagi setiap string yang dihasilkan.

Flowchart Algoritma Kompresi LZW

Contoh Kasus Berikut ini adalah urutan hasil representasi

kode yang digunakan pada format TIFF, GIF, PDF :

8 12 4 8 12 4 8 4 4 8 4 12 8 4 12 8

Gunakan algoritma LZW untuk mengkompresi data tersebut!

Penyelesaian SoalIndex yang telah digunakan : 0-255

Maka index untuk isi dictionary yang baru dimulai dari 256.

Penyelesaian Soal [bag.2]8 12 4 8 12 4 8 4 4 8 4 12 8 4 12 8

256 8 12

257 12 4

258 4 8

259 8 12 4

259 256 4

Penyelesaian Soal [bag.3]8 12 4 8 12 4 8 4 4 8 4 12 8 4 12 8

260 4 8 4

260 258 4

261 4 4

262 4 8 4 12

262 260 12

Penyelesaian Soal [bag.4]8 12 4 8 12 4 8 4 4 8 4 12 8 4 12 8

263 12 8

264 8 4

265 4 12

Penyelesaian Soal [bag.5]Hasilnya :

8 12 4 8 12 4 8 4 4 8 4 12 8 4 12 8

Menjadi

8 12 4 256 258 4 260 12 8 4 263

[Size kode hasil = 9 bit x 11] < [Size kode awal = 8 bit x 16]

Tabel Ringkasan Penyelesaian SoalCode Words (w) Next Code (k) w + k Index Code Output

8 12 8 12 256 8

12 4 12 4 257 12

4 8 4 8 258 4

8 12 8 12 256 -

256 (w=wk) 4 256 4 259 256

4 8 4 8 258 -

258 4 258 4 260 258

4 4 4 4 261 4

4 8 4 8 258 -

8 4 4 8 4 = 258 4 260 -

260 12 4 8 4 12 262 260

12 8 12 8 263 12

8 4 8 4 264 8

4 12 4 12 265 4

12 8 12 8 263 -

263 - - - 263

Dekompresi LZWLangkah Dekompresi LZW1. Menginisialisasi seluruh dictionary yang mengandung

karakter-karekter ASCII (karakter dasar).2. Baca kode (huruf atau code word) pertama dari hasil

kompresi LZW kemudian outputkan karakter yang dibaca kemudian simpan kode ke variable w.

3. Baca kode selanjutnya4. Copy kode yang dibaca ke varible entry5. Outputkan kode (karakter)6. Gabungkan value dari karakter sebelumnya dari entry

dengan variable w kemudian simpan sebagai dictionary7. Isi variable w dengan value dari variable entry.8. Kembali ke langkah 3

Tabel Hasil DekompresiCode Words w Entry Code Dictionary Index Code Output

8 8 8 - - 8

12 12 12 8 12 256 12

4 4 4 12 4 257 4

256 8 8 4 8 258 8

- 12 12 8 12 256 12

258 4 4 8 12 4 259 4

- 8 8 4 8 258 8

4 4 4 4 8 4 260 4

260 4 4 4 4 261 4

- 8 8 4 8 258 8

- 4 4 4 8 4 260 4

12 12 12 4 8 4 12 262 12

8 8 8 12 8 263 8

4 4 4 8 4 264 4

263 12 12 4 12 265 12

- 8 8 12 8 263 8

Apakah ada pertanyaan?

End of Presentation