Un código de Golomb exponencial (o simplemente un código Exp-Golomb ) es un tipo de código universal . Para codificar cualquier número entero no negativo x usando el código exp-Golomb:
- Escriba x +1 en binario
- Cuente los bits escritos, reste uno y escriba ese número de bits cero iniciales que preceden a la cadena de bits anterior.
Los primeros valores del código son:
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... [1]
Esto es idéntico al código gamma de Elias de x +1, lo que le permite codificar 0. [2]
Extensión a números negativos
La codificación Exp-Golomb se utiliza en los estándares de compresión de video de codificación de video de alta eficiencia H.264 / MPEG-4 AVC y H.265 , en los que también hay una variación para la codificación de números con signo asignando el valor 0 a la palabra de código binaria. '0' y asignando palabras de código subsiguientes para ingresar valores de magnitud creciente (y signo alterno, si el campo puede contener un número negativo):
0 ⇒ 0 ⇒ 1 ⇒ 1 1 ⇒ 1 ⇒ 10 ⇒ 010−1 ⇒ 2 ⇒ 11 ⇒ 011 2 ⇒ 3 ⇒ 100 ⇒ 00100−2 ⇒ 4 ⇒ 101 ⇒ 00101 3 ⇒ 5 ⇒ 110 ⇒ 00110−3 ⇒ 6 ⇒ 111 ⇒ 00111 4 ⇒ 7 ⇒ 1000 ⇒ 0001000−4 ⇒ 8 ⇒ 1001 ⇒ 0001001... [1]
En otras palabras, un entero no positivo x ≤0 se asigna a un entero par −2 x , mientras que un entero positivo x > 0 se asigna a un entero impar 2 x −1.
La codificación Exp-Golomb también se usa en el códec de video Dirac . [3]
Generalización a pedido k
Para codificar números más grandes en menos bits (a expensas de usar más bits para codificar números más pequeños), esto se puede generalizar usando un parámetro de número entero no negativo k . Para codificar un entero no negativo x en un código orden- k exp-Golomb:
- Codifique ⌊ x / 2 k ⌋ usando el código order-0 exp-Golomb descrito anteriormente, luego
- Codificar x mod 2 k en binario
Una forma equivalente de expresar esto es:
- Codifique x +2 k −1 usando el código order-0 exp-Golomb (es decir, codifique x +2 k usando el código gamma de Elias), luego
- Eliminar k cero bits iniciales del resultado de la codificación
X | k = 0 | k = 1 | k = 2 | k = 3 | X | k = 0 | k = 1 | k = 2 | k = 3 | X | k = 0 | k = 1 | k = 2 | k = 3 | ||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | 1 | 10 | 100 | 1000 | 10 | 0001011 | 001100 | 01110 | 010010 | 20 | 000010101 | 00010110 | 0011000 | 011100 | ||
1 | 010 | 11 | 101 | 1001 | 11 | 0001100 | 001101 | 01111 | 010011 | 21 | 000010110 | 00010111 | 0011001 | 011101 | ||
2 | 011 | 0100 | 110 | 1010 | 12 | 0001101 | 001110 | 0010000 | 010100 | 22 | 000010111 | 00011000 | 0011010 | 011110 | ||
3 | 00100 | 0101 | 111 | 1011 | 13 | 0001110 | 001111 | 0010001 | 010101 | 23 | 000011000 | 00011001 | 0011011 | 011111 | ||
4 | 00101 | 0110 | 01000 | 1100 | 14 | 0001111 | 00010000 | 0010010 | 010110 | 24 | 000011001 | 00011010 | 0011100 | 00100000 | ||
5 | 00110 | 0111 | 01001 | 1101 | 15 | 000010000 | 00010001 | 0010011 | 010111 | 25 | 000011010 | 00011011 | 0011101 | 00100001 | ||
6 | 00111 | 001000 | 01010 | 1110 | dieciséis | 000010001 | 00010010 | 0010100 | 011000 | 26 | 000011011 | 00011100 | 0011110 | 00100010 | ||
7 | 0001000 | 001001 | 01011 | 1111 | 17 | 000010010 | 00010011 | 0010101 | 011001 | 27 | 000011100 | 00011101 | 0011111 | 00100011 | ||
8 | 0001001 | 001010 | 01100 | 010000 | 18 | 000010011 | 00010100 | 0010110 | 011010 | 28 | 000011101 | 00011110 | 000100000 | 00100100 | ||
9 | 0001010 | 001011 | 01101 | 010001 | 19 | 000010100 | 00010101 | 0010111 | 011011 | 29 | 000011110 | 00011111 | 000100001 | 00100101 |
Ver también
Referencias
- ↑ a b Richardson, Iain (2010). El estándar de compresión de video avanzado H.264 . Wiley. págs. 208, 221. ISBN 978-0-470-51692-8.
- ^ Rupp, Markus (2009). Transmisiones de video y multimedia a través de redes celulares: análisis, modelado y optimización en redes móviles 3G en vivo . Wiley. pag. 149. ISBN 9780470747766.
- ^ "Especificación de Dirac" (PDF) . BBC. Archivado desde el original (PDF) el 3 de mayo de 2015 . Consultado el 9 de marzo de 2011 .