Kod wykładniczy-Golomb lub kod Exp-Golomb (w) z rzędu k to rodzaj kodu uniwersalnego , konfigurowalne przez liczbę całkowitą k . Ten kod jest często używany w kompresji danych jako koder entropii , na przykład w standardzie wideo H.264 .
Aby zakodować dodatnią liczbę całkowitą w kodzie wykładniczym Golomba rzędu k , można użyć następującej metody:
Dla k = 0 kod zaczyna się od:
0 → 1 → 1 1 → 10 → 010 2 → 11 → 011 3 → 100 → 00100 4 → 101 → 00101 5 → 110 → 00110 6 → 111 → 00111 7 → 1000 → 0001000 8 → 1001 → 0001001 ...Kod wykładniczy Golomba dla k = 0 jest używany w standardzie kompresji wideo H.264 lub MPEG-4 AVC , w którym symbole są podpisane i naprzemiennie przypisywane do słowa kodowego. Innymi słowy, 0 to 0, +1 to 1, -1 to 2, +2 to 3 itd.
To narzędzie służy do kodowania wszystkich parametrów, które nie odpowiadają bezpośrednio danym obrazu, takich jak typ obrazu, wektory ruchu, tryby predykcji inter lub intra. Zastosowane kody mają zmienną długość, ale ich konstrukcja jest ustalana zgodnie z logiką zdefiniowaną przez tabelę. Liczba tych symboli nie jest skończona, jednak im większa wartość, tym większa będzie długość odpowiadającego jej łańcucha binarnego. Dlatego przypisujemy kod bliski zeru dla częstych elementów lub symboli oraz większy kod dla tych, które są rzadsze. Każdy typ elementu jest powiązany z określoną tabelą, która umożliwia zwrócenie odpowiedniego kodu numerycznego.
Ten kod jest również używany w kodeku wideo Dirac .
Kod wykładniczy Golomba dla k = 0 jest identyczny z kodowaniem gamma tej samej liczby zwiększonej o 1. Może więc zakodować zero, podczas gdy kodowanie gamma może zakodować tylko liczby ściśle większe od zera.
Kodowanie exp-Golomb różni się nieco od kodowania Golomb, które jest również koderem entropijnym, ale nie kodem uniwersalnym.