Código Golomb exponencial

Un código Golomb exponencial de orden k  es un código universal parametrizado por un entero k . Diseñado por Salomón Golomb . Para codificar un número no negativo en un código Golomb exponencial de orden k , puede usar el siguiente método:

  1. Toma el número N en código binario, sin los últimos k dígitos. Súmale 1 (aritméticamente): N \ u003d N + 1. Escribe el N resultante .
  2. Cuente el número de bits C en N .
  3. Reste uno de C : C \u003d C - 1. Escriba C cero bits delante del número elegido N.

Para el orden k = 0, el código se ve así:

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 ...

El código Golomb exponencial para k = 0 se utiliza en los estándares de compresión de vídeo H.264 y MPEG-4 AVC , en los que también existe la posibilidad de codificar números con signo asignando el valor 0 a la palabra clave '0' en forma binaria y luego asignando palabras de código a valores de entrada de amplitudes crecientes y signos variables.

El código Golomb exponencial también se utiliza en el algoritmo de codificación de vídeo sin comprimir de Dirac .

Para k = 0, la codificación Golomb exponencial es la misma que el código gamma de Elias del mismo número más uno. Por lo tanto, puede codificar cero, mientras que el código gamma de Elias solo puede codificar números mayores que cero.

A pesar de los nombres similares, la codificación Golomb exponencial es solo ligeramente análoga a la codificación Golomb , que es un tipo de codificación de entropía , pero no es un código universal.

Véase también

Enlaces