Yazan : Şadi Evren ŞEKER
Veri sıkıştırmada veya verinin ikilik tabanda gösterilmesinde kullanılan bir algoritmadır. Basit bir çevirim fonksiyonu olarak da düşünülebilir. Bu yazı kapsamında birkça farklı elias kodu (elias code) şekli anlatılacaktır.
Elias-Υ Kod (Elias – Υ Code): Elias upsilon kodlaması olarak okunur.
İki formül bu kodlama için gereklidir.
kd = taban(log2 k)
kr = kd – 2 log2 k
Yukarıdaki formülde k değeri, çevirimini istediğimiz değerdir. Elias-Upsilon kodlaması ise bu değerlerden ilkinin tekil kodlaması (unary coding) ile ikincisinin ikli kodlaması (binary coding) birleşimidir (yan yana yazılması, üleştirilmesi)
Örnek olarak bazı sayıların çevirimleri aşağıda verilmiştir:
k | kd | kr | Elias-Upslion |
1 | 0 | 0 | 0 |
2 | 1 | 0 | 10 0 |
15 | 3 | 7 | 1110 111 |
255 | 7 | 127 | 11111110 1111111 |
1023 | 9 | 511 | 1111111110 111111111 |
Yukarıdaki tabloda görüldüğü üzere sayılar büyüdükçe kodlama uzunluğu da değişmektedir.
Elias-δ Kodu (Elias-δ Code) : Elias-Delta kodlama olarak okunabilir.
Yukarıda anlatılan elias-upsilon kodlamasını daha az bit ile gösterebilmek için geliştirilmiştir. Basitçe elias-upsilon kodlaması yaklaşık 2 log 2( k) kadar bit gerektirmektedir. Bu bit sayısını azaltmak için elias-delta kodlaması kd ve kr hesaplamalarına ilave olarak iki değer daha hesaplar.
kdd = taban(log2(kd + 1))
kdr = kd – 2 log2(kd + 1))
Görüldüğü üzere aslında elias-delta kodlamasında yapılan işlem, elias-upsilon kodlamasında bulunan kd değerini yeniden aynı formüllere koymak ve kd üzerinden kdd ve kdr değerlerini hesaplamaktır. Ardından bulunan kdd kdr ve kr değerleri birleştirilerek elias-delta kodu sonucu bulunur.
Örnek bazı saylar aşağıda verilmiştir:
k | kd | kr | kdd | kdr | Elias-Delta |
1 | 0 | 0 | 0 | 0 | 0 |
2 | 1 | 0 | 1 | 0 | 10 0 0 |
15 | 3 | 7 | 2 | 0 | 110 00 111 |
255 | 7 | 127 | 3 | 0 | 1110 000 1111111 |
1023 | 9 | 511 | 3 | 2 | 1110 010 111111111 |
Yukarıda görüldüğü üzere genel olarak sayılar büyüdükçe elias-upsilon kodlamasına göre daha az bit gerekmektedir. düşük sayılarda daha fazla bit gerektiği görülmekte ve biraz da olsa işlem karmaşıklığı artmaktadır.