Codificación aritmética
La codificación aritmética es una forma de codificación entrópica utilizado en compresión sin pérdidas. Normalmente, una cadena de caracteres está representada utilizando un número fijo de bits por carácter, como en el código ASCII. Cuando una cadena es convertida a codificación aritmética, los caracteres frecuentemente usados serán almacenados con menos bits y los de uso menos habitual serán almacenados con más bits, resultando en menos bits utilizados en total. La codificación aritmética difiere de otras formas de codificación entrópica, como la codificación de Huffman, en que más que separar la entrada a símbolos componentes y reemplazar cada uno con un código, la codificación aritmética codifica el mensaje entero a un solo número, una fracción n dónde [0.0 ≤ ''n'' < 1.0). [[File:Arithmetic coding example.svg|400px|miniatura|derecha|Un ejemplo de codificación aritmética suponiendo una distribución de probabilidad fija de tres símbolos "A", "B" y "C". La probabilidad de "A" es 50%, la probabilidad de "B" es 33% y la probabilidad de "C" es 17%. Además asumimos que la profundidad de recursión es conocida en cada paso.En el paso uno codificamos "B", el cual está dentro del intervalo [0.5, 0.83): el número binario "0.10x" es el código más corto que representa un intervalo que está enteramente dentro de [0.5, 0.83). "x" significa una secuencia de bits arbitraria. Hay dos casos extremos: la x más pequeña representa un número infinito de ceros, lo cual representa el lado izquierdo del intervalo representado. Luego el lado izquierdo del intervalo es dec(0.10) = 0.5. La x más grande representa un número infinito de unos lo cual da un número que converge hacia dec(0.11) = 0.75. Por lo tanto, "0.10x" representa el intervalo [0.5, 0.75) el cual está dentro de [0.5, 0.83).Ahora podemos dejar la parte "0." puesto que todos los intervalos comienzan con "0." y podemos ignorar la parte "x" porque no importa que secuencia de bits representa, nos mantenemos dentro de [0.5, 0.75).]]
From Wikipedia, the free encyclopedia
La codificación aritmética es una forma de codificación entrópica utilizado en compresión sin pérdidas. Normalmente, una cadena de caracteres está representada utilizando un número fijo de bits por carácter, como en el código ASCII. Cuando una cadena es convertida a codificación aritmética, los caracteres frecuentemente usados serán almacenados con menos bits y los de uso menos habitual serán almacenados con más bits, resultando en menos bits utilizados en total. La codificación aritmética difiere de otras formas de codificación entrópica, como la codificación de Huffman, en que más que separar la entrada a símbolos componentes y reemplazar cada uno con un código, la codificación aritmética codifica el mensaje entero a un solo número, una fracción n dónde [0.0 ≤ ''n'' < 1.0).
[[File:Arithmetic coding example.svg|400px|miniatura|derecha|Un ejemplo de codificación aritmética suponiendo una distribución de probabilidad fija de tres símbolos "A", "B" y "C". La probabilidad de "A" es 50%, la probabilidad de "B" es 33% y la probabilidad de "C" es 17%. Además asumimos que la profundidad de recursión es conocida en cada paso.
En el paso uno codificamos "B", el cual está dentro del intervalo [0.5, 0.83): el número binario "0.10x" es el código más corto que representa un intervalo que está enteramente dentro de [0.5, 0.83). "x" significa una secuencia de bits arbitraria. Hay dos casos extremos: la x más pequeña representa un número infinito de ceros, lo cual representa el lado izquierdo del intervalo representado. Luego el lado izquierdo del intervalo es dec(0.10) = 0.5. La x más grande representa un número infinito de unos lo cual da un número que converge hacia dec(0.11) = 0.75. Por lo tanto, "0.10x" representa el intervalo [0.5, 0.75) el cual está dentro de [0.5, 0.83).
Ahora podemos dejar la parte "0." puesto que todos los intervalos comienzan con "0." y podemos ignorar la parte "x" porque no importa que secuencia de bits representa, nos mantenemos dentro de [0.5, 0.75).]]
