Jumat, 29 Juni 2012

Kompresi Half Byte


Metode kompresi Half Byte merupakan suatu metode kompresi dengan prosesnya adalah memanfaatkan bit sebelah kiri yang sering sama secara berurutan. Misalnya pada suatu file yang berisi data teks bertuliskan ”bilangan”, dalam heksadesimal akan diterjemahkan pada tabel berikut:
Tabel Konversi Heksadesimal

Karakter
Heksadesimal
b
62
i
69
l
6c
a
61
n
6e
g
67
a
61
n
6e

Jika diperhatikan karakter-karakter tersebut memiliki bit sebelah kiri yang sama yaitu ’6’. Gejala seperti inilah yang dimanfaatkan oleh metode kompresi Half Byte.
Saat karakter yang bit kirinya sama secara berderet, maka algoritma ini mengkompres data tersebut diawali dengan ”bit penanda” kemudian bit pertama dari deretan yang sama diikuti dengan pasangan bit kanan dari deretan tersebut dan ditutup dengan bit penanda.
Bit penanda (marker bit, dalam penelitian ini disingkat ‘mb’), berupa suatu byte yang boleh dipilih secara acak asalkan digunakan secara konsisten pada seluruh bit penanda pemampatan. Bit penanda disini berfungsi penanda bahwa karakter selanjutnya adalah karakter pemampatan atau akhir pemampatan. Dalam penelitian ini, penentuan bit penanda dilakukan dengan mencari frekuensi nilai warna yang paling sedikit yang terdapat dalam sebuah citra.
 
Deretan data sebelah kiri merupakan deretan data pada file asli, sedangkan deretan data sebelah kanan merupakan deretan data hasil pemampatan dengan metode Half Byte.

Setelah data nilai dijadikan array 1 dimensi dan telah dirubah menjadi bilangan biner, maka langkah proses kompresi Half Byte dapat dilakukan. Langkah awal ialah membaca data apakah terdapat deretan data yang bit kirinya sama secara berurutan sebanyak tujuh data atau lebih, jika memenuhi lakukan pemampatan. Kemudian berikan bit penanda pada file pemampatan.
 Selanjutnya tambahkan bit kiri data pertama dari file asli dan gabungkan bit kanan karakter yang sama ke file pemampatan. Lalu tutup dengan bit penanda pada file pemampatan.
Contoh kompresi Half Byte dalam bentuk tabel disajikan dalam tabel 3.2, untuk menyederhanakannya maka penulis memproses langsung data bilangan heksadesimal dengan bit penanda ‘ff’. Dari tabel 3.2 data asli berukuran 30 byte dan data hasil kompresi berukuran 25 byte. Dengan demikian proses telah berhasil mengkompresi data sebanyak 5 byte.
Dalam kompresi Half Byte ada beberapa ketentuan selain yang telah ditunjukkan pada tabel 3.2, antara lain (ditunjukkan pada gambar 3.7, 3.8, dan 3.9) :

Ø Bila pada file asli ditemukan nilai yang sama dengan bit penanda, maka dalam file terkompresi hasus dituliskan nilai tersebut sebanyak dua kali secara beruntun.
 
*) Nilai yang ditulis ulang karena sama dengan bit penanda

Ø Bila terjadi penggabungan bit kanan menghasilkan nilai yang sama dengan bit penanda, sehingga nilai tersebut diduga sebagai bit penutup, maka deretan file tersebut tidak dikompresi.
 
*) Nilai hasil kompresi sama dengan bit penanda

Ø Bila banyaknya nilai yang dapat dikompresi berjumlah genap, maka nilai terakhir tidak perlu dikompresi.
 
 



Tidak ada komentar:

Posting Komentar