UNA ETAPA DE UNA CADENA: QUÉ LLEGA, QUÉ SALE Y QUÉ SE ROMPE DESPUÉS
Dónde encaja esto en la tubería de codificación
Un codificador de vídeo no es un algoritmo, sino ocho etapas en un orden fijo, y el orden no es arbitrario: cada etapa existe porque la anterior hizo posible su trabajo. Esta herramienta modela una de ellas. La cadena de abajo enlaza con las otras siete.
Playground de codificación entrópica — empaqueta los símbolos cuantizados en tan pocos bits como permita su estadística
- Qué llega
- Un flujo de enteros cuantizados, muy sesgado hacia cero.
- Qué sale
- El flujo de bits terminado. Aquí no se descarta nada.
- Qué supone la etapa siguiente
- Nada posterior: es la última etapa de codificación. Lo que supone está aguas arriba, que la distribución de símbolos ya se ha vuelto desigual para ella.
- Qué se estropea aquí
- Ningún codificador entrópico puede batir la entropía de Shannon de lo que se le entrega, así que su techo lo fijan por completo las etapas anteriores. Si se ejecuta sobre coeficientes sin cuantizar hay poca redundancia que encontrar, y esa es la razón de que el paso con pérdida vaya primero y no al final.
Problema resuelto al detalle
-
El margen que queda para un algoritmo más inteligente que Huffman en 16 símbolos 6 pasos
16 símbolos, distribución de Laplace, entropía de 3,010 bits. Huffman alcanza 3,012. Calcule cuánto margen queda para un algoritmo más ingenioso.
-
La entropía es la sorpresa media, en bits, de un símbolo extraído de esta distribución. Es una propiedad exclusiva de las probabilidades y no sabe nada sobre ningún código.
-
La alternativa ingenua asigna a cada símbolo el mismo número de bits, y 16 símbolos necesitan 4. Esta es la referencia con la que se mide el ahorro.
-
Huffman asigna códigos cortos a los símbolos frecuentes y largos a los infrecuentes, y la media es la longitud ponderada por las probabilidades.
-
El ahorro compara las dos longitudes de código, no el código con la entropía —motivo por el cual es una afirmación sobre esta alternativa y no sobre el límite.
-
Ahora compare con el límite. El teorema de codificación de fuente de Shannon establece que ningún código prefijo puede bajar de H, y se garantiza que Huffman se sitúa por debajo de H + 1.
-
Exprese el margen restante como una fracción y la pregunta de optimización se responderá sola.
Respuesta
0,002 bits por símbolo, o 0,07%. El teorema de Shannon acota cualquier código prefijo entre H y H + 1, y está demostrado que Huffman es óptimo entre ellos. Por tanto, ningún código prefijo bajará nunca de 3,012 en este texto. El ahorro del 24,7% frente a la codificación de longitud fija es real. Ese 0,07% restante es todo lo que la ingeniería más avanzada podría llegar a aportar. A partir de aquí, mejoras la compresión cambiando el modelo y no el código: si los símbolos adyacentes se correlacionan, la entropía de la distribución condicional es inferior a 3,010. Y esa es una cifra completamente distinta.
-
Referencias (1)
- Insight block 2 — entropy as average surprise, and the limit Huffman cannot beat: C. E. Shannon, "A Mathematical Theory of Communication." Bell System Technical Journal 27(3), 379–423, 1948.