ゼータコーディングについて詳しく解説

導入


ゼータ符号化またはボルディ・ヴィーニャ符号化は、2003 年にパオロ・ボルディセバスティアーノ・ヴィーニャによって発明され、主にグラフ圧縮に使用されるエントロピー符号化です。

生成されるゼータ コードはプレフィックスおよびユニバーサルコードです。

ゼータコーディングについて詳しく解説

原理

自然数Nゼータ コーディングはパラメーターkに依存し、次の 2 つのステップで行われます。

  1. 単項コーディングを使用して、 N以下の2 kの最大累乗指数をコーディングします
  2. Nとこの最大累乗の差を切り捨てバイナリ コーディングでコーディングします。

数学的には、整数をエンコードするには

$$ {N, N \in \left [ (2^k)^h .. (2^k)^{h + 1} \right ]} $$
、最初にコーディングします
$$ {h = \Big \lfloor \dfrac {\lfloor log_2 N \rfloor} k \Big \rfloor} $$
単項の場合は、サイズ(2 k ) h + 1 − (2 k ) hのアルファベットの切り捨てられたバイナリのN − (2 k ) h

kによってパラメータ化されたゼータコードを自然整数に関連付ける関数を ζ k と呼びます。

パラメータ 1 のゼータ コーディング ( ζ 1関数を使用) はガンマ コーディングと同等であり、まったく同じコードを生成します。

ゼータコーディングについて詳しく解説

相対整数のコーディング

ガンマ、デルタ、オメガ エンコードと同様に、実際のエンコードの前に全単射を使用して負またはゼロの数値を厳密に正の数に変換するゼータ エンコードで相対整数をエンコードすることができます。デコード後、元の相対整数を見つけるために逆の演算を実行する必要があります。

ゼータコーディングについて詳しく解説

ゼータコーディングによる最初の厳密に正の自然数の表現
10進数バイナリガンマコードゼータコード
k = 1
ゼータコード
k = 2
ゼータコード
k = 3
ゼータコード
k = 4
1 00001 0 0 0 0 0 00 0 000
2 00010 10 0 10 0 0 10 0 010 0 0010
3 00011 10 1 10 1 0 11 0 011 0 0011
4 00100 110 00 110 00 10,000 0 100 0 0100
5 00101 110 01 110 01 10,001 0 101 0 0101
6 00110 110 10 110 10 10,010 0 110 0 0110
7 00111 110 11 110 11 10,011 0 111 0 0111
8 01000 1110 000 1110 000 10 1000 1000000 0 1000
ゼータコーディングについて詳しく解説
  1. زيتا (توضيح) – arabe
  2. Зета – bulgare
  3. Zeta – bosniaque
  4. Zeta – catalan
  5. Zeta (pagklaro) – cebuano
  6. Zeta – tchèque

ゼータコーディングについて詳しく解説・関連動画

サイエンス・ハブ

知識の扉を開け、世界を変える。