Terdapat dua cara yang dapat dilakukan dalam kompresi citra menggunakan metode
Huffman, yaitu:
1) Menggunakan pohon Huffman
Langkah-langkah penguraian kode Huffman menggunakan pohon Huffman sebagai
berikut:
a. Membaca bit pertama dari string biner
b. Melakukan traversal pada pohon Huffman mulai dari akar sesuai dengan bit yang
dibaca.
c. Jika bit yang dibaca nol maka akar yang dibaca adalah akar kiri, sementara itu jika
yang dibaca 1 maka yang dibaca adalah akar kanan
d. Jika anak dari pohon bukan daun maka baca bit berikutnya dari string biner
e. Pada daun tersebut ditemukan simbol dan proses penguraian kode Huffman selesai.
2) Menggunakan tabel kode Huffman
Tabel kode Huffman disusun menggunakan prefix code, sehingga kode untuk sebuah
karakter tidak bisa menjadi awalan dari kode yang lain. String biner yang dienkripsi dapat
dipisahkan berdasarkan rangkaian bitnya untuk kemudian diuraikan menjadi data awal.
Pada penguraian kode menggunakan tabel kode Huffman yang dapat dilakukan adalah
melihat setiap rangkaian bit yang ditemukan dalam string biner dan hasil enkripsi data di
dalam tabel kode Huffman. Berikut merupakan algoritma Huffman dalam mengkompresi
data.
Arithmetic Coding adalah suatu metode kompresi data lossless yang berguna untuk memperkecil
(meng-kompresi) ukuran bit yang terdapat pada data tersebut. Aritmatik koding menggantikan satu
deretan symbol input dengan sebuah bilangan floating point. Semakin panjang dan semakin
kompleks pesan yang dikodekan, semakin banyak bit yang diperlukan untuk keperluan tersebut.
Oyput dari artimatik koding ini adalah suatu angka yang lebih kecil dari 1 dan lebih besar atau
sama dengan 0. Angka ini secara unik dapat di-dekode sehingga menghasilkan deretan symbol
yang dipakai untuk menghasilkan angka tersebut.
Unutk menghasilkan anka output tersebut, tiap symbol yang akan di encode diberikan satu set nilai
porbabilitas. Sebagai contoh, adalah sebuah kalimat TELEMATIKA yang akan di encode kan,
akan didaptkan table probabilitas sebagai berikut :
Setelah probabilitas tiap karakter diketahui, tiap symbol atau karakter akan diberikan range tertentu
yang nilainya berkisar di antara 0 dan 1, sesuai dengan probabilitas yang ada. Dalam hal ini tidak
ada ketentuan urt-urutan penentuan segmen, asalkan antara encoder dan decoder melakukan yang
hal sama. Berdasarkan table probabilitas di atas, maka akan di dapatkan table seperti dibawah ini:
Dari table diatas, tiap karakter melingkupi range yang disebutkan kecuali bilangan yang tertinggi.
Jadi huruf/symbol, T sesungguhnya mempunyai range mulai dari 0.80 sampai dengan 0.99999
Selanjutnya untuk melakukan proses encoding dipakai algoritma berikut :
Low adalah output dari proses artimatik koding. Untuk kata TELEMATIKA di atas, pertama
ambil karakter T. nilai CR adalag 1-0 = 1. High_range (T) = 1.00, Low_range(T) = 0.80.
Kemudian didapatkan nilai
Kemudian diambil karakter E. nilai CR adalah 1.0 -0.8 =0.2. High_range(E) = 0.40, Low_range
(E) = 0.20, kemudian didapatka nilai
Dan seterusnya, dapat dilihat pada table dibawah ini
4. WDM
5. Statistical Multiplexing