デルタ符号とは
デルタ
符号は、情報理論における可変長
符号の一種であり、特に正の整数を効率的に
符号化するために用いられます。アメリカの数学者ピーター・イライアスによって開発されたこの
符号は、ユニバーサル
符号というカテゴリーに属し、
符号化する数値の大きさに応じて
符号語の長さを調整する特徴を持っています。
符号化の仕組み
デルタ
符号の
符号化プロセスは、以下の二つの段階に分けることができます。
1.
数値の2進数表現と桁数の特定:
まず、
符号化したい正の整数を2進数で表現します。この2進数表現をXとします。次に、Xの桁数(ビット数)を数えます。
2.
桁数のガンマ符号化と数値の符号化:
Xの桁数を
ガンマ符号で
符号化します。
ガンマ符号は、0の数を桁数、次に1、その後に桁数を2進数で表します。次に、Xから最上位ビット(最も左にある1)を除いた残りのビット列を出力します。この
ガンマ符号で
符号化された桁数と、最上位ビットを除いたビット列を組み合わせたものがデルタ
符号となります。
例えば、整数10をデルタ
符号化する場合を考えてみましょう。
1. 10を2進数で表現すると`1010`になります。このビット数は4です。
2. 4を
ガンマ符号で表すと`1100`となります。
3. 1010から最上位ビットの1を除いた残りの`010`を記述します。
4. 上記の1,2,3を繋げると`1100010`となり、これが10のデルタ
符号となります。
デルタ符号の特徴
デルタ
符号は、特に大きな整数を効率よく
符号化するのに適しています。大きな整数は2進数表現での桁数が多くなるため、その桁数を
符号化することで、より長い
符号語が割り当てられます。一方で、小さな整数は桁数が少ないため、短い
符号語が割り当てられます。この性質により、データの偏りに応じて効率的な
符号化が可能になります。
デルタ符号の適用例
デルタ
符号は、データ圧縮や情報伝送の分野で幅広く利用されています。特に、頻度の偏りが大きいデータや、数値データの
符号化において、その効率性が高く評価されています。
デルタ
符号は、大きな整数を
符号化する際に
ガンマ符号よりも効率が良い場合がありますが、小さな値では
ガンマ符号の方がより短い
符号語を生成できるため、用途に応じて使い分ける必要があります。どちらの
符号も、情報源の統計的性質を考慮して、最適な
符号を選択することが重要です。
デルタ
符号に関連する
符号には、以下のようなものがあります。
イライアス符号: デルタ符号を含む、ピーター・イライアスが考案した一連の可変長符号です。
アルファ符号: 1進数表現を用いる
符号化方式です。値が小さい場合に効率的です。
ガンマ符号: デルタ符号の構成要素としても利用される、整数を符号化するための可変長符号です。
整数の符号化: 様々な
符号化方式を含む、整数値を効率的に表現するための技術の総称です。
これらの
符号は、それぞれ異なる特徴を持ち、データの性質に応じて使い分けられます。デルタ
符号は、その効率的な
符号化能力から、多くの情報システムにおいて重要な役割を果たしています。