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

導入

ゴロム符号化は、1966 年にソロモン ウルフ ゴロムによって発明され、主にデータ圧縮に使用されるエントロピー符号化です。

商品コードはプレフィックスコードです。

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

原理

自然数Nのゴロム符号化はパラメータkに依存し、次の 2 つのステップで行われます。

  1. 単項コーディングによるNkによるユークリッド除算の商のコーディング
  2. 同じ除算の残りを切り捨てられたバイナリ エンコーディングでエンコードします。

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

$$ {N, N \in \mathbb{N}, N = q \times k + r} $$
、最初にコーディングします
$$ {q = \lfloor N / k \rfloor} $$
単項では、
$$ {r = N – k \times q} $$
切り捨てられたバイナリで。

最適性

Golomb コーディングは、最低値が他の値よりも発生する可能性が高い (ただし、他の値が出現する可能性がある)データに適しています。

用途

Golomb コーディングは主に、より効率的に実装できるRice コーディングと呼ばれるそのバリアントで使用されます。ライス コーディングは、パラメーターがライスパラメーターの 2 乗であるゴロム コーディングと同等です。

Golomb コーディングによる最初の自然数の表現
10進数バイナリゴロムの法典
k = 1 (単項)
ゴロムの法典
k = 2
ゴロムの法典
k = 3
ゴロムの法典
k = 4
ゴロムの法典
k = 5
ゴロムの法典
k = 10
ゴロムの法典
k = 16
0 0000 0 0 0 0 0 0 00 0 00 0 000 0 0000
1 0001 10 0 1 0 10 0 01 0 01 0 001 0 0001
2 0010 110 10 0 0 11 0 10 0 10 0 010 0 0010
3 0011 1110 10 1 10 0 0 11 0 110 0 011 0 0011
4 0100 11110 110 0 10 10 10 00 0 111 0 100 0 0100
5 0101 111110 110 1 10 11 10 01 10 00 0 101 0 0101
6 0110 1111110 1110 0 110 0 10 10 10 01 0 1100 0 0110
7 0111 11111110 1110 1 110 10 10 11 10 10 0 1101 0 0111
8 1000 111111110 11110 0 110 11 110 00 10 110 0 1110 0 1000
9 1001 1111111110 11110 1 1110 0 110 01 10,111 0 1111 0 1001
10 1010 11111111110 111110 0 1110 10 110 10 110 00 10,000 0 1010
  1. Golombovo kódování – tchèque
  2. Golomb-Code – allemand
  3. Golomb coding – anglais
  4. Codificación Golomb-Rice – espagnol
  5. کدگذاری گولومب – persan
  6. ゴロム符号 – japonais

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

サイエンス・ハブ

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