Professional Documents
Culture Documents
Alumno:
Docente:
18/02/2018
La Paz - Bolivia
TAREA No. 0
1. OBJETIVO
Realizar una investigación bibliográfica acerca de la Codificación basada en
Entropía (Codificación Huffman) y la Codificación basada en la fuente
(Transformada), describir sus principales características conocer los fundamentos
de los algoritmos.
2
Para mejorar su comprensión, veamos un ejemplo sobre este proceso.
Supongamos que queremos codificar la siguiente cadena de símbolos:
S={aabaacc}
que usa el alfabeto:
A={a, b, c}
La probabilidad de cada uno de los símbolos vendrá dada por las siguientes
expresiones:
Como es lógico, el símbolo “a”, que se repite mucho, nos interesa representarlo
con el menor número de bits posibles.
El primer paso del algoritmo será plantear un grafo no conexo de nodos que
representan cada uno de los símbolos del alfabeto, junto con su probabilidad
asociada. Para mejorar su comprensión y facilitar el cálculo, en lugar de usar
directamente las probabilidades P(a), P(b), P(c), usaremos una cuenta de
repeticiones, a modo de histograma, de forma que
H(a)=4 H(b)=1 H(c)=2
a b c
El primer paso será juntar los nodos menos probables en un nuevo nodo,
asignando un bit distinto a cada uno de los enlaces. El grafo resultante es el
siguiente:
bc
H(bc)=3
0 1
a b c
H(a)=4
3
A continuación nos quedan dos nodos por unir, repetimos la misma operación y
obtenemos ya el árbol final.
abc
H(abc)=7
1
0
bc
0 1
a b c
C(aabaacc)= 0 0 10 0 0 11 11
Por Entropía
La entropía es un concepto que representa los límites de la codificación basada en
la entropía, en la que se codifican los datos sin necesidad de conocer la naturaleza
de los mismos. Huffman es un ejemplo de codificación basada en la entropía. La
entropía denota el mínimo número de bits por símbolo necesarios para
representar una cadena. Es un índice que denota la cantidad de información que
existe en una fuente de datos (la cadena a codificar).
Aunque la entropía nos dice que los datos se pueden codificar usando 1,38 bits por
símbolo, el resultado final usando Huffman es que han sido necesarios 1,43 bits
por símbolo, ya que la entropía indica una cota inferior de los bits por símbolo
necesarios.
5
En la siguiente tabla se muestran los valores a transmitir, junto con sus frecuencias
relativas, su código en una codificación binaria de 3 bits, y su código en un posible
código Huffman para estos valores.
1 20% 001 10
2 30% 010 00
3 25% 011 11
Puede observarse que, en la codificación binaria, todos los posibles valores reciben
códigos del mismo número de bits, mientras que en la codificación Huffman, cada
valor tiene un número diferente de bits: los códigos más frecuentes poseen dos
bits, mientras que los menos frecuentes poseen cuatro bits.
A continuación se observa el código necesario para transmitir la siguiente serie de
valores:
5,4,2,3,2,2,1,0,1,3,2,4,3,4,3,2,3,4,2,4
Utilizando la codificación binaria, sería una serie de 60 bits; es decir, 3 bits por
símbolo.
101100010011010010001000001011010100011100011010011100010100
101.100.010.011.010.010.001.000.001.011.010.100.011.100.011.010.011.100.01
0.100
6
Utilizando, en cambio, la codificación Huffman, se tendría que enviar una
secuencia de 53 bits; es decir, 2,65 bits por símbolo.
01110110001100001001010110001101101101100110110000110
0111.0110.0011.0000.1001.0101.1000.1101.1011.0110.0110.1100.0011.0
En este ejemplo, la media de bits por símbolo que cabría esperar de esta
codificación, en cadenas de valores más largas, es de 2,4.
Para su comparación, la entropía del conjunto de símbolos es de 2,366; es decir, el
mejor método de compresión sería capaz de codificar estos valores utilizando
2,366 bits por símbolo.
Es posible, también, apreciar cómo se pueden extraer sin ninguna ambigüedad los
valores originales a partir de la cadena codificada mediante Huffman.
Hay que añadir que la codificación de Huffman no puede ser aplicada a imágenes
en blanco y negro porque es incapaz de producir compresión sobre un
alfabeto binario.
7
El bloque de transformación de datos es un procedimiento genérico que se utiliza para
representar la información en una forma alternativa y en la que resulta más evidente la
redundancia existente en los datos originales. Es necesario que esta trasformación sea
invertible, es decir, que a partir de los datos transformados, podamos reproducir
exactamente la información original.
Consideremos como ejemplo que aplicamos una transformada de Fourier a las señales que
representan la información de un fragmento de audio. Es posible que resulte más eficiente
codificar los datos resultantes de esta transformación que los datos originales. En efecto,
en el dominio transformado de Fourier, es más fácil identificar las regiones espectrales
que tienen una energía por debajo del umbral de audición, o analizar las bandas que
resultarán enmascaradas por otras señales y que, por lo tanto, no serían audibles. Si este
análisis de la señal es factible, no tendrá sentido codificar toda aquella información que el
sistema auditivo humano es incapaz de escuchar y resultará más rentable dedicar los bits
a las zonas audibles. El resultado final es que, en este dominio transformado, podemos
codificar la información de forma más eficaz. El sistema MP3 utiliza los principios de
codificación expuestos para realizar la compresión de señales de audio de alta fidelidad.
La transformación de los datos puede ser de naturaleza muy distinta (Fourier, Coseno,
Wavelet, Diferencia, etc.) o incluso puede no resultar necesario realizar la transformación
si es que existen procedimientos eficientes para la compresión directa o los recursos
computacionales de la aplicación son escasos. En algunos casos, es posible que existan
varias transformaciones realizándose simultáneamente para diferentes componentes de
la señal y que la codificación se realice tomando datos parciales de cada una de ellas. Éste
es el caso, por ejemplo, del estándar MPEG-2 vídeo, en el cual se combinan distintas
estrategias de codificación en función del tipo de información y de las características de la
señal.
8
3. CONCLUSIONES
Ambos tipos de codificación estudiados buscan, a través de sus procedimientos
específicos, eliminar la redundancia y/o la información innecesaria, de este modo se
minimiza los recursos necesarios para la transmisión de la información y, por consiguiente,
se optimiza el sistema de comunicación.
4. BIBLIOGRAFÍA
Benedetto, S., & Biglieri, E. (1999). Principles of Digital Transmission. Kluwer
Academic Press.