Wednesday, October 10, 2012

Kompresi Lossless

Kompresi

  • Kompresi : Teknik mengecilkan data sehingga di peroleh file dengan ukuran yang lebih kecil dari pada ukuran aslinya.
  • Kompresi lossless : Teknik kompresi yang tidak menyebabkan kehilangan data. Hasilnya sama seperti data sebelum proses kompresi.
    • Contoh : ZIP, RAR, GZIP
    • Teknik ini digunakan jika kita membutuhkan data yang setelah dikompresi harus dapat diekstrak/dekompres lagi tepat sama. Biasanya digunakan jika akurasi data sangat penting
    • Kadang ada data-data yang setelah dikompresi dengan teknik ini ukurannya sama atau lebih besar
  • Kompresi lossless :
    • Huffman Coding
    • Run-Length Coding
    • Lempel-Ziv-Welch Coding
    • Arithmetic Coding

Huffman Coding

  • Digunakan untuk pengkodean teks, citra dan video
  • Kompresi dengan algoritma Huffman Coding dilakukan dengan cara :
  • Hitung frekuensi kemunculan setiap simbol.
  • Pilih dua buah simbol dengan frekuensi terkecil, lalu gabungkan dalam satu tangkai.
  • Ulangi langkah kedua hingga tidak ada lagi tangkai yang dapat digabungkan.

RLE Coding

  • Prinsip dasarnya adalah menghitung jumlah/panjang data yang sama dalam serangkain data yang akan dikompres
  • Contoh pada dokumen hitam H (tulisan) dan putih P (latar belakang dokumen), berikut misalnya data pada satu baris dokumen yang direpresntasikan dalam pixel:
PPPPPPPPPPPPHPPPPPPPPPPPPPPHHHPPPPPPPPPPPPPPPPPPPPPPPHPPPPPPPPPPP
Bentuk kompresinya adalah : 12P1H14P3H23P1H11P
  • Contoh Aplikasi:
    • Kompresi citra format bmp pada Windows dan OS/2 untuk citra 1, 4 dan 8 bit/pixel
    • Citra format PCX 8 dan 24 bit/pixel
    • Fax dan scanner hitam putih

Lempel-Ziv-Welch Coding

  • Kamus adaptif yang dapat digunakan dalam GIF dan TIFF
  • Menggunakan Teknik Dictionary dimana string karakter digantikan oleh kode tabel yang dibuat setiap ada string yang masuk

Arithmetic Coding

  • Menggantikan satu deretan simbol input dengan sebuah bilangan floating point.
  • Semakin panjang dan semakin kompleks pesan yang dikodekan , semakin banyak bit yang diperlukan untuk pengkodean tersebut.

Kelebihan dan Kekurangan

  • Kompresi lossless menggunakan algoritma RLE dan Huffman Coding akan tergantung pada data yang akan dikompresi.
    • Dalam algoritma RLE (Run Length Encoding), jika karakter yang muncul berbeda-beda maka ukuran file akan lebih besar.
    • Dalam penerapan Huffman Coding dibutuhkan tempat pada awal (header) file untuk menyimpan informasi yang diperlukan untuk proses dekompresi (decoding).
  • Kompresi pada data audio, image, dan video juga sebenarnya dapat menggunakan metode general purpose seperti Huffman Coding, RLE, dan algoritma kompresi lossless lainnya.

No comments:

Post a Comment