Está en la página 1de 23

CODIFICACIÓN HUFFMAN

El té rmino se refiere al uso de una


tabla de có digos de longitud variable
para codificar un determinado símbolo

I
donde la tabla ha sido rellenada de una
N manera específica basá ndose en la
T probabilidad estimada de aparició n de
cada posible valor de dicho símbolo
R
O
Fue desarrollado por David A. Huffman mientras era
D estudiante de doctorado en el MIT, y publicado en "A
U Method for the Construction of Minimum-Redundancy
C Codes".
C
I Huffman fue capaz de diseñ ar el
O La codificació n Huffman usa un método de compresió n má s
método específico para elegir la eficiente de este tipo: ninguna
N representació n de cada símbolo, representació n alternativa de un
que da lugar a un có digo prefijo conjunto de símbolos de entrada
que representa los caracteres produce una salida media má s
má s comunes usando las cadenas pequeñ a cuando las frecuencias de
de bits má s cortas, y viceversa. los símbolos coinciden con las
usadas para crear el có digo.
Es equivalente a una codificación en bloque binaria,
por ejemplo, la codificación ASCII.

Es un método para crear códigos prefijo tan extendido


que el término "codificación Huffman“ es ampliamente
Codificación Usado como sinónimo de "código prefijo", incluso cuando
Huffman
dicho código no se ha producido con el algoritmo de Huffman.

Es óptima para una codificación símbolo a símbolo dada una


distribución de probabilidad, su optimalidad a veces puede
verse accidentalmente exagerada.
Por ejemplo, la codificación aritmética y la codificación LZW
HISTORIA

En 1951, a David Huffman y sus compañ eros de clase de la asignatura “Teoría de la


Informació n” se les permitió optar entre la realizació n de un examen final o la
presentació n de un trabajo.

El profesor Robert. M. Fano asignó las condiciones del trabajo bajo la


premisa de encontrar el có digo binario má s eficiente. Huffman, ante
la imposibilidad de demostrar qué có digo era má s eficiente, se rindió
y empezó a estudiar para el examen final.

Mientras estaba en este proceso vino a su mente la idea de


usar á rboles binarios de frecuencia ordenada y
rá pidamente probó que éste era el método más eficiente.
DEFINICIONES

Descripción informal

Dados
Un conjunto de símbolos y sus pesos (normalmente proporcionales a probabilidades).

Encontrar
Un có digo binario prefijo (un conjunto de elementos del có digo) con longitud de palabra
esperada mínima (de forma equivalente, un á rbol con longitud del camino mínima).

Descripción formalizada

Entradas:
El alfabeto , que es el alfabeto de símbolos de tamaño n.

Salida:
El código , que es el conjunto de elementos del código (binario),
donde ci es la palabra del código para

Objetivo:
Sea la longitud del camino ponderado del código C.
Condición: para cualquier código
DAVID A. HUFFMAN
AGOSTO 1925
OCTUBRE 1999.

BIOGRAFÍ
DAVID A. HUFFMAN (1)
Fue un personaje ilustre en el campo de ciencias
de la computació n en general y en la
codificació n de datos.
Nacido en Ohio, consiguió su título en Ingeniería
Eléctrica en la Universidad Estatal de Ohio
cuando tenía 18 añ os de edad. Posteriormente
cumplió servicio militar, llegando a ser oficial de
la marina.
DAVID A. HUFFMAN (2)
Continuó sus estudios consiguiendo los títulos de
Ingeniería Electró nica y de postgrado en Ohio (1949) y
en el MIT, respectivamente.
Fue profesor desde 1953 en el MIT. En 1967, fue a la
Universidad de California, también como docente, y
fundó el departamento de Ciencia Informá tica. Se jubiló
en 1994, pero permaneció en activo como profesor
enseñ ando Teoría de la Informació n y dando cursos de
Aná lisis de Señ ales.
DAVID A. HUFFMAN (3)
Hizo contribuciones importantes en á reas como teoría
de la informació n y codificació n, diseñ os de señ al para
aplicaciones de radar y comunicaciones, así como
procedimientos de diseñ o para circuitos ló gicos
asíncronos.
Sus logros le valieron numerosos premios y honores. El
ú ltimo de ellos fue en 1999, cuando recibió la medalla
del Instituto Electró nico Richard Hamming y de la IEEE
en reconocimiento de sus contribuciones excepcionales
a las ciencias de informació n y la informá tica.
Técnica básica Consiste en la creació n de un
á rbol binario en el que se
etiquetan los nodos hoja con
los caracteres, junto a sus
frecuencias, y de forma
consecutiva se van uniendo
cada pareja de nodos que
menos frecuencia sumen,
pasando a crear un nuevo
nodo intermedio etiquetado
con dicha suma. se procede a
realizar esta acció n hasta que
no quedan nodos hoja por unir
a n i n g ú n n o d o s u p e r i o r, y s e
ha formado el á rbol binario.
posteriormente se etiquetan
las aristas que unen cada uno
de los nodos con ceros y unos.
Propiedades principales 

Es ó ptima cuando la probabilidad de cada símbolo de entrada


es una potencia negativa de dos.
Los có digos prefijos tienden a ser ligeramente ineficientes en
alfabetos pequeñ os,
Concatenando mú ltiples símbolos en "palabras" de tamañ o
fijo o variable antes de la codificació n Huffman, normalmente
ayuda, especialmente cuando símbolos adyacentes está n
correlacionados.
Variaciones(1)
Código huffman n-ario
El algoritmo n-ario de huffman usa el
alfabeto {0,1,….,N-1} para codificar el
mensaje y construir un á rbol n-ario. Este
enfoque fue considerado por huffman en su
enfoque originario. 

Código huffman adaptable


La variació n llamada có digo de huffman
adaptable calcula diná micamente la
probabilidad de la frecuencia de la cadena de
origen basada en antiguas apariciones. Está
relacionado con la familia de algoritmos LZ. 
Variaciones(2)
Algoritmo de Huffman de plantilla
El algoritmo de plantilla de Huffman permite utilizar cualquier tipo de
tamañ o de có digo (costos, frecuencias, los pares del tamañ o, tamañ os
no numéricos) y uno de los muchos que combina métodos (no solo la
adició n).

Código de Huffman de tamaño limitado


El Có digo de Huffman de tamañ o de limitado es una variante donde el
objetivo es lograr que el camino de coste mínimo con la restricció n de
que la longitud de cada palabra sea menor que una constante.
Variaciones(3)
 
Codificación huffman con costes desiguales
En la codificación huffman con costes, los símbolos
del alfabeto pueden tener longitudes no uniformes,
debido a características del medio de transmisió n.
Un ejemplo es el alfabeto del có digo morse, donde
una 'raya' requiere má s tiempo para ser enviada
que un 'punto', y por lo tanto el costo del tiempo
d e t r a n s m i s i ó n d e u n a r a y a e s m a y o r.

Árboles binarios alfabéticos óptimos


(codificación hu-tucker)
E n u n a s i t u a c i ó n d e c o d i f i c a c i ó n h u f f m a n e s t á n d a r,
se asume que cualquier có digo puede
corresponderse con cualquier símbolo de entrada.
En la versió n alfabética, el orden alfabé tico de las
entradas y salidas debe ser idé ntico.
APLICACIONES(1)

Codificacion Aritmética
Es un método que, al igual que la codificació n Huffman, se
basa en reducir el nú mero medio de bits requeridos para
representar un símbolo pero que, a diferencia de ésta,
permite representar símbolos con un nú mero de bits
fraccionario. Con esta técnica de codificació n no es
necesario que las probabilidades de los símbolos del
alfabeto fuente sean potencias de dos para obtener una
eficiencia ó ptima.
APLICACIONES(2)
Algoritmo Deflación
Es un algoritmo de compresió n de datos sin pérdidas
que usa una combinació n del algoritmo LZ77 y la
codificació n Huffman.
El algoritmo deflació n está libre de todo tipo de
patentes subsistentes, ha llevado a su popularizació n
y su uso en archivos comprimidos bajo gzip y archivos
de imagen PNG, ademá s del formato de compresió n
ZIP para el cual fue diseñ ado originalmente.
APLICACIONES(3)

JPEG
Este es un método de compresió n con pérdidas,
pero en parte de su implementació n se utiliza
Có digo Huffman. Es a menudo considerado
como un formato de archivo. JPEG es el formato
de imagen má s comú n utilizado por las cá maras
fotográ ficas digitales y la transmisió n de
imá genes fotográ ficas en la World Wide Web.
APLICACIONES(4)
MP3
MPEG-1 o 2 Audio Layer III má s comú nmente conocido
como MP3, es un formato de compresió n de audio
digital patentado que usa un algoritmo con pérdida
para conseguir un menor tamañ o de archivo. Usa como
algoritmo de cuantificació n digital có digo Huffman. Es
un formato de audio comú n usado para mú sica tanto
en ordenadores como en reproductores de audio
portá til.
EJEMPLO(1)

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.
EJEMPLO(2)

Tabla de asignacion de caracteres a bits

Valor Frecuencia Código binarioCódigo Huffman


0 10% 0 10
1 20% 1 10
2 30% 10 0
3 25% 11 11
4 10% 100 110
5 o más 5% 101 111
EJEMPLO(3)
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:

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
EJEMPLO(4)

Utilizando la codificació n binaria, sería una serie de 60 bits; es decir, 3 bits por símbolo.
 
101100010011010010001000001011010100011100011010011100010100 

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
EJEMPLO(5)

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.

También podría gustarte