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