ガンマ符号
ガンマ符号(がんまふごう)とは、P.Eliasによって開発された正の整数のための可変長符号である。 小さな数には短い符号語を、反対に大きな数には長い符号語を割り当てる。
その性質からLZB符号等で用いられている。
符号化の原理
編集対象となる正の整数の2進数表現をXとする。まず、Xの桁数より1つ少ない数だけ「0」を出力する。次に、Xをそのまま出力する。その結果がガンマ符号である。
対象となる数 | 2進数表現 | 出力 |
---|---|---|
1 | 1 | 1 |
2 | 10 | 010 |
3 | 11 | 011 |
4 | 100 | 00100 |
5 | 101 | 00101 |
6 | 110 | 00110 |
7 | 111 | 00111 |
8 | 1000 | 0001000 |
9 | 1001 | 0001001 |
10 | 1010 | 0001010 |
Xが大きな値(6ビット以上)であれば、デルタ符号のほうが短い符号語を出力することができる。