Codificacion Huffman
Codificacion Huffman
Codificacion Huffman
CÓDIGO DE HUFFMAN
En 1952, David Huffman propuso un método estadístico que permitía asignar un código
binario a los diversos símbolos a comprimir (píxeles o caracteres, por ejemplo). La
longitud de cada código no es idéntica para todos los símbolos: se asignan códigos
cortos a los símbolos utilizados con más frecuencia (los que aparecen más a menudo),
mientras que los símbolos menos frecuentes reciben códigos binarios más largos. La
expresión Código de Longitud Variable (VLC) se utiliza para indicar este tipo de código
porque ningún código es el prefijo de otro. De este modo, la sucesión final de códigos
con longitudes variables será en promedio más pequeña que la obtenida con códigos de
longitudes constantes.
Este método determina cómo los distintos valores del símbolo deben representarse
como cadenas binarias.
Descripción
El algoritmo consiste en la creación de un árbol binario que tiene cada uno de los
símbolos por hoja, y construido de tal forma que siguiéndolo desde la raíz a cada una de
sus hojas se obtiene el código Huffman asociado.
Limitaciones
DESARROLLO DE LA CODIFICACIÓN
Las dos últimas letras se unen en una letra auxiliar a la que se le atribuye la
probabilidad suma.
Los pasos anteriores se repiten hasta obtener la única letra auxiliar con probabilidad
igual a 1.
S P(S)
S1 0.22
S2 0.20
S3 0.16
S4 0.16
S5 0.10
S6 0.10
S7 0.04
S8 0.02
S P(S) 1 2 3 4 5 6 7
S1 0.22 0.22 0.22 0.26 0.32 0.42 0.58 1
S2 0.20 0.20 0.20 0.22 0.26 0.32 0.42
S3 0.16 0.16 0.16 0.20 0.22 0.26
S4 0.16 0.16 0.16 0.16 0.20
S5 0.10 0.10 0.16 0.16
S6 0.10 0.10 0.10
S7 0.04 0.06
S8 0.02
A continuación se construye el árbol de codificación.
0 1
1
0.58 0.42
1 0
0.2
2 6
0.2
0.31
2
0.2
0 1 0
0
6 6 0.10
0.1 0.11
0.
0
16
1 0
0
0.0
0.1
1 0
6
0.0
4
0.0
1 0
2
Para obtener la palabra código de cada símbolo, se parte de la raíz del árbol y se
recorren las ramas hasta llegar a la hoja del símbolo, escribiendo los 0 y 1 del recorrido.
S Palabras Código
S1 01
S2 00
S3 111
S4 110
S5 100
Conclusiones
El código Huffman es una manera de lograr compresión de la información sin
perdidas de manera que la información enviada pueda llegar completa por
otro lado no utiliza información de redundancia.
Bibliografía:
[1] ALGORITMO DE COMPRESIÓN DE HUFFMAN
http://www.maytics.web44.net/web_documents/algoritmo_de_compresi_n_de_huffman
.pdf
[2] TOGNERI, Roberto, J.S de SILVA, Christopher; Fundamentals of Information
Theory and Coding Design; 2006.
[3] ABRAMSON, Norman; Teoría de la Información y Codificación; Quinta Edición;
1981