Sie sind auf Seite 1von 20

CARRERA

ING. EN SISTEMAS COMPUTACIONALES


DOCENTE
M.T.I. LILY ALEJANDRA MEDRANO MENDOZA.
ASIGNATURA
SISTEMAS MULTIMEDIA.
TRABAJO:
INVESTIGACION DE ALGORITMOS DE COMPRESION.
ALUMNOS:
RAMIREZ LAZARO JOAQUIN.
PEREZ XOLO LUIS DAVID.
COBAXIN MARTINEZ ANGEL SANTIAGO.
GRUPO
804 B

SAN ANDRES TUXTLA VER, 07/03/2015

INDICE
INTRODUCCION................................................................................................... 3
Algoritmos de Comprensin de Datos..............................................................4
Diferencias entre compresin con Perdida y sin prdida..................................6
Algoritmo de compresin sin prdida..............................................................6
Algoritmo de compresin con prdida.............................................................8
Mtodos de compresin con prdida............................................................8
Algoritmo de Compresin Huffman..................................................................9
Descripcin................................................................................................... 9
Ejemplo de uso........................................................................................... 10
Limitaciones................................................................................................ 11
Cdigos Huffman n-arios............................................................................ 12
Algoritmo de Compresin RLE........................................................................13
Algoritmo de Compresin Shannon-Fano.......................................................14
El algoritmo Shannon-Fano............................................................................ 16
Ejemplo....................................................................................................... 16
CONCLUSION..................................................................................................... 18
REFERENCIAS ELECTRNICAS...........................................................................18

SISTEMAS MULTIMEDIA

Pgina 2

INTRODUCCION

Actualmente, el poder de procesamiento de los procesadores se incrementa


ms rpido que la capacidad de almacenamiento y es ms veloz que los anchos
de banda de las redes, porque estos ltimos requieren cambios enormes en las
infraestructuras
de
telecomunicacin.
Por lo tanto, para compensar esto, es ms comn el procedimiento de reducir el
tamao de los datos al explotar el poder de procesamiento de los procesadores,
que incrementar la capacidad de almacenamiento y de transmisin de datos.

La compresin consiste en reducir el tamao fsico de bloques de


informacin. Un compresor se vale de un algoritmo que se utiliza para optimizar
los datos al tener en cuenta consideraciones apropiadas para el tipo de datos que
se van a comprimir. Por lo tanto, es necesario un descompresor para reconstruir
los datos originales por medio de un algoritmo opuesto al que se utiliza para la
compresin.
El mtodo de compresin depende intrnsecamente del tipo de datos que se
van a comprimir: no se comprime una imagen del mismo modo que un archivo de
audio.

SISTEMAS MULTIMEDIA

Pgina 3

Algoritmos de Comprensin de Datos


Es la reduccin del volumen de datos tratables para representar una
determinada informacin empleando una menor cantidad de espacio. Al acto de
compresin de datos se denomina compresin, y al contrario descompresin.
El espacio que ocupa una informacin codificada (datos, seal digital, etc.)
sin compresin es el cociente entre la frecuencia de muestreo y la resolucin. Por
tanto, cuantos ms bits se empleen mayor ser el tamao del archivo. No
obstante, la resolucin viene impuesta por el sistema digital con que se trabaja y
no se puede alterar el nmero de bits a voluntad; por ello, se utiliza la compresin,
para transmitir la misma cantidad de informacin que ocupara una gran resolucin
en un nmero inferior de bits.
La compresin es un caso particular de la codificacin, cuya caracterstica
principal es que el cdigo resultante tiene menor tamao que el original.
La compresin de datos se basa fundamentalmente en buscar repeticiones
en series de datos para despus almacenar solo el dato junto al nmero de veces
que se repite. As, por ejemplo, si en un fichero aparece una secuencia como
"AAAAAA", ocupando 6 bytes se podra almacenar simplemente "6A" que ocupa
solo 2 bytes, en algoritmo RLE.

SISTEMAS MULTIMEDIA

Pgina 4

En realidad, el proceso es mucho ms complejo, ya que raramente se


consigue encontrar patrones de repeticin tan exactos (salvo en algunas
imgenes). Se utilizan algoritmos de compresin:
Por un lado, algunos buscan series largas que luego codifican en formas
ms breves.
Por otro lado, algunos algoritmos, como el algoritmo de Huffman, examinan
los caracteres ms repetidos para luego codificar de forma ms corta los
que ms se repiten.
Otros, como el LZW, construyen un diccionario con los patrones
encontrados, a los cuales se hace referencia de manera posterior.
La codificacin de los bytes pares es otro sencillo algoritmo de compresin
muy fcil de entender.
A la hora de hablar de compresin hay que tener presentes dos conceptos:
1. Redundancia: Datos que son repetitivos o previsibles
2. Entropa: La informacin nueva o esencial que se define como la diferencia
entre la cantidad total de datos de un mensaje y su redundancia.
La informacin que transmiten los datos puede ser de tres tipos:
1. Redundante: informacin repetitiva o predecible.
2. Irrelevante: informacin que no podemos apreciar y cuya eliminacin por
tanto no afecta al contenido del mensaje. Por ejemplo, si las frecuencias
que es capaz de captar el odo humano estn entre 16/20 Hz y
16.000/20.000 Hz, seran irrelevantes aquellas frecuencias que estuvieran
por debajo o por encima de estos valores.
3. Bsica: la relevante. La que no es ni redundante ni irrelevante. La que debe
ser transmitida para que se pueda reconstruir la seal.
Teniendo en cuenta estos tres tipos de informacin, se establecen tres
tipologas de compresin de la informacin:
SISTEMAS MULTIMEDIA

Pgina 5

1. Sin prdidas reales: es decir, transmitiendo toda la entropa del mensaje


(toda la informacin bsica e irrelevante, pero eliminando la redundante).
2. Subjetivamente sin prdidas: es decir, adems de eliminar la informacin
redundante se elimina tambin la irrelevante.
3. Subjetivamente con prdidas: se elimina cierta cantidad de informacin
bsica, por lo que el mensaje se reconstruir con errores perceptibles pero
tolerables (por ejemplo: la videoconferencia).

Diferencias entre compresin con Perdida y sin prdida


El objetivo de la compresin es siempre reducir el tamao de la informacin,
intentando que esta reduccin de tamao no afecte al contenido. No obstante, la
reduccin de datos puede afectar o no a la calidad de la informacin:
Compresin sin prdida: los datos antes y despus de comprimirlos son
exactos en la compresin sin prdida. En el caso de la compresin sin prdida una
mayor compresin solo implica ms tiempo de proceso. El bit rate siempre es
variable en la compresin sin prdida. Se utiliza principalmente en la compresin
de texto.
Un algoritmo de compresin con prdida puede eliminar datos para disminuir
an ms el tamao, con lo que reduce la calidad. En la compresin con prdida el
bit rate puede ser constante (CBR) o variable (VBR). Una vez realizada la
compresin, no se puede obtener la seal original, aunque s una aproximacin
cuya semejanza con la original depender del tipo de compresin. Este tipo de
compresin se da principalmente en imgenes, vdeos y sonidos.
Adems de estas funciones la compresin permite que los algoritmos usados
para reducir las cadenas del cdigo desechen informacin redundante de la
imagen. Uno de los formatos que permite compensar esta prdida es el JPG, que
emplea tcnicas que suavizan los bordes y reas que tienen un color similar
permitiendo que la falta de informacin sea invisible a simple vista. Este mtodo
permite un alto grado de compresin con prdidas en la imagen que, muchas
veces, slo es visible mediante el zoom.
A continuacin se explica ms detalladamente en que consisten ambos.

SISTEMAS MULTIMEDIA

Pgina 6

Algoritmo de compresin sin prdida


Se denomina algoritmo de compresin sin prdida a cualquier
procedimiento de codificacin que tenga como objetivo representar cierta cantidad
de informacin utilizando u ocupando un espacio menor, siendo posible una
reconstruccin exacta de los datos originales.
Es utilizada para comprimir archivos o informacin que contienen datos que
no pueden ser degradados o perdidos, como pueden ser documentos de texto,
imgenes y sonido.
La compresin sin prdidas es una tcnica que consiste en la garanta de
generar un duplicado exacto del flujo de datos de entrada despus de un ciclo de
compresin / expansin. Es generalmente implementada usando uno o dos
diferentes tipos de modelos: esttico o basado en diccionario.
El modelo esttico lee y codifica mientras utiliza la probabilidad de aparicin
de un carcter. Su forma ms simple usa una tabla esttica de probabilidades. En
el inicio generar un rbol de Huffman tena costos significantes; por tanto, no
siempre era generado, sino que en su lugar se analizaban bloques representativos
de datos, dando una tabla de frecuencia caracterstica.
Entonces los rboles de Huffman se generaban y los programas tenan
acceso a este modelo esttico. Pero utilizar un modelo esttico tiene sus
limitaciones. Si un flujo de entrada no concuerda bien con la previamente
estadstica acumulada, la relacin de compresin se degradara, posiblemente
hasta el punto de que el flujo de datos saliente fuese tan largo como el entrante.
Por tanto la siguiente mejora obvia fue construir una tabla esttica a cada flujo de
entrada nico.
El modelo basado en diccionario usa un cdigo simple para reemplazar
cadenas de smbolos; los modelos estticos generalmente codifican un smbolo a
la vez. El esquema de compresin basada en diccionario utiliza un concepto
diferente. Lee una entrada de datos y observa por grupos de smbolos que
aparecen en el diccionario. Si una cadena concuerda, un indicador o ndice en el
diccionario puede salir en lugar del cdigo del smbolo.
Algunos algoritmos de compresin sin prdidas son los algoritmos LempelZiv, que incluyen LZ77, LZ78 y LZ-W.
SISTEMAS MULTIMEDIA

Pgina 7

Este
sistema
de
compresin
se
usa
en compresores
de
archivo (RAR, gzip, bzip2, zip, 7z, ARJ, LHA) y de disco; tambin en imgenes
(PNG, RLE) y en algn formato de audio (FLAC, Monkey's Audio). En vdeo es
menos comn; pueden ser usados para su captura y edicin, pero no
comercializados para reproduccin domstica.
Existen distintos mtodos de compresin sin prdidas. Por ejemplo est la
compresin RLE o run-length encoding (utilizada para los archivos BMP), la cual
toma secuencias de datos (datos de elementos consecutivos con valores
idnticos) y los almacena en un valor nico ms su recuento. Es el ms adecuado
para grficos sencillos, donde hay largas tiradas de idnticos elementos de datos.

Algoritmo de compresin con prdida

Algoritmo de compresin con prdida se refiere a cualquier


procedimiento de codificacin que tenga como objetivo representar cierta cantidad
de informacin utilizando una menor cantidad de la misma, siendo imposible una
reconstruccin exacta de los datos originales.
En el primer caso, en lugar de guardar dos copias inexactas, slo se guarda
una aproximacin. Esta aproximacin se aprovecha de las limitaciones del sistema
visual humano para esconder la distorsin introducida. Estos algoritmos son de
gran utilidad para guardar imgenes fotogrficas que de otra manera ocuparan
mucho espacio dificultando su transmisin y almacenamiento. Un ejemplo de
algoritmo con prdida de calidad es JPEG.
La compresin con prdida slo es til cuando la reconstruccin exacta no
es indispensable para que la informacin tenga sentido. La informacin
reconstruida es solo una aproximacin de la informacin original. Suele
restringirse a informacin analgica que ha sido digitalizada (imgenes, audio,
video, etc.), donde la informacin puede ser "parecida" y, al mismo tiempo, ser
subjetivamente la misma. Su mayor ventaja reside en las altas razones de
compresin que ofrece en contraposicin a un algoritmo de compresin sin
prdida.
SISTEMAS MULTIMEDIA

Pgina 8

La compresin con prdida acepta una prdida de datos para poder mejorar
el factor de compresin. Se aplica generalmente al almacenamiento digital de
datos analgicos como ficheros de grficos y de sonidos. La gran ventaja de
comprensin con prdida es alcanzar una tasa de compresin ms elevadas a
costa de sufrir una prdida de informacin sobre la imagen original.
Mtodos de compresin con prdida
Compresin de imagen con prdida

Un mtodo consiste en reducir el espacio de color de la imagen a los


colores ms comunes dentro de la misma imagen. Esto se utiliza a menudo en
imgenes con formato GIF y, a veces en imgenes PNG para dar lugar a
archivos ms pequeos. Cuando se utiliza en el tipo correcto de imgenes y es
combinado con tramado, puede dar lugar a imgenes casi idnticas a los
originales

Algoritmo de Compresin Huffman


El algoritmo de Huffman es un algoritmo para la construccin de cdigos
de Huffman, desarrollado por David A. Huffman en 1952 y descrito en A Method
for the Construction of Minimum-Redundancy Codes.1
Este algoritmo toma un alfabeto de n smbolos, junto con sus frecuencias de
aparicin asociadas, y produce un cdigo de Huffman para ese alfabeto y esas
frecuencias.
El algoritmo de compresin sin prdida Huffman se caracteriza por el
empleo de un diccionario que se construye a partir de la naturaleza de los datos.
Es un algoritmo de longitud variable, ya que el tamao de la palabra para
cada valor est en funcin de las probabilidades del mismo, para la
descompresin de este tipo de algoritmo es necesario que el sistema de recepcin
SISTEMAS MULTIMEDIA

Pgina 9

de datos contenga el mismo diccionario que el sistema transmisin, ya que sin


este no es posible recuperar la informacin recibida.
Descripcin

El algoritmo consiste en la creacin de un rbol binario que tiene cada uno


de los smbolos por hoja, y construido de tal forma que siguindolo desde la raz a
cada una de sus hojas se obtiene el cdigo Huffman asociado.
1.

Se crean varios rboles, uno por cada uno de los smbolos del alfabeto,
consistiendo cada uno de los rboles en un nodo sin hijos, y etiquetado
cada uno con su smbolo asociado y su frecuencia de aparicin.

2.

Se toman los dos rboles de menor frecuencia, y se unen creando un


nuevo rbol. La etiqueta de la raz ser la suma de las frecuencias de las
races de los dos rboles que se unen, y cada uno de estos rboles ser un
hijo del nuevo rbol. Tambin se etiquetan las dos ramas del nuevo rbol:
con un 0 la de la izquierda, y con un 1 la de la derecha.

3.

Se repite el paso 2 hasta que slo quede un rbol.

Con este rbol se puede conocer el cdigo asociado a un smbolo, as


como obtener el smbolo asociado a un determinado cdigo.
Para obtener el cdigo asociado a un smbolo se debe proceder del
siguiente modo:
1. Comenzar con un cdigo vaco
2. Iniciar el recorrido del rbol en la hoja asociada al smbolo
3. Comenzar un recorrido del rbol hacia arriba
4. Cada vez que se suba un nivel, aadir al cdigo la etiqueta de la rama que
se ha recorrido
5. Tras llegar a la raz, invertir el cdigo
6. El resultado es el cdigo Huffman deseado
SISTEMAS MULTIMEDIA

Pgina 10

Para obtener un smbolo a partir de un cdigo se debe hacer as:


1. Comenzar el recorrido del rbol en la raz de ste
2. Extraer el primer smbolo del cdigo a descodificar
3. Descender por la rama etiquetada con ese smbolo
4. Volver al paso 2 hasta que se llegue a una hoja, que ser el smbolo
asociado al cdigo
En la prctica, casi siempre se utiliza el rbol para obtener todos los
cdigos de una sola vez; luego se guardan en tablas y se descarta el rbol.
Ejemplo de uso

La tabla describe el alfabeto a codificar, junto con las frecuencias de sus


smbolos. En el grfico se muestra el rbol construido a partir de este alfabeto
siguiendo el algoritmo descrito.

Smbol

Frecuencia

o
A

0,15

0,30

0,20

0,05

0,15

0,05

0,10

rbol para construir el cdigo Huffman.

Se puede ver con facilidad cul es el cdigo del smbolo E: subiendo por el
rbol se recorren ramas etiquetadas con 1, 1 y 0; por lo tanto, el cdigo es 011.
SISTEMAS MULTIMEDIA

Pgina 11

Para obtener el cdigo de D se recorren las ramas 0, 1, 1 y 1, por lo que el cdigo


es 1110.
La operacin inversa tambin es fcil de realizar: dado el cdigo 10 se
recorren desde la raz las ramas 1 y 0, obtenindose el smbolo C. Para
descodificar 010 se recorren las ramas 0, 1 y 0, obtenindose el smbolo A.

Limitaciones

Para poder utilizar el algoritmo de Huffman es necesario conocer de


antemano las frecuencias de aparicin de cada smbolo, y su eficiencia depende
de lo prximas a las frecuencias reales que sean las estimadas. Algunas
implementaciones del algoritmo de Huffman son adaptativas, actualizando las
frecuencias de cada smbolo conforme recorre el texto.
La eficiencia de la codificacin de Huffman tambin depende del balance
que exista entre los hijos de cada nodo del rbol, siendo ms eficiente conforme
menor sea la diferencia de frecuencias entre los dos hijos de cada nodo.
Ejemplos:
La codificacin binaria es un caso particular de la codificacin de Huffman
que ocurre cuando todos los smbolos del alfabeto tienen la misma
frecuencia. Se tiene pues que la codificacin binaria es la ms eficiente
para cualquier nmero de smbolos equiprobables.
El algoritmo de Huffman aplicado sobre un alfabeto de dos smbolos
asignar siempre un 1 al primero y un 0 al segundo, independientemente de
la frecuencia de aparicin de dichos smbolos. En este caso nunca se
realiza compresin de los datos, mientras que otros algoritmos s podran
conseguirlo.
Una manera de resolver este problema consiste en agrupar los smbolos en
palabras antes de ejecutar el algoritmo. Por ejemplo, si se tiene la cadena de
longitud 64

SISTEMAS MULTIMEDIA

Pgina 12

AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAB

El algoritmo de Huffman aplicado nicamente a los smbolos devuelve el cdigo:


1111111111111111111111111111111111111111111111111111111111111110

Tambin de longitud 64. Sin embargo, si antes de utilizar el algoritmo, se


agrupan los smbolos en las palabras "AA", "AB" y "B" (que se codifican como 1,
01 y 00), el algoritmo devuelve la siguiente cadena:
111111111111111111111111111111101

Que tiene longitud 33, la mitad que si no se hubiera agrupado. Si observa el rbol
de Huffman, se puede comprobar que la diferencia de frecuencias entre las ramas
del rbol es menor que en el caso anterior.
Cdigos Huffman n-arios

Es posible crear cdigos de Huffman ternarios, cuaternarios, y, en


general, n-arios. Para ello slo es necesario realizar dos modificaciones al
algoritmo:
Los rboles a crear tendrn tantos hijos como smbolos posibles puedan
aparecer en los cdigos Huffman. Por ejemplo, si es ternario se crearn
rboles con tres hijos; si es cuaternario, con cuatro.

Si se expresa como s el nmero de smbolos en el alfabeto a codificar,


y n el nmero de smbolos que aparecen en el cdigo Huffman, entonces s1 debe ser mltiplo den-1. Es decir, para un cdigo ternario, s debe valer 3,
5, 7, etc. Si esta condicin no se cumple, entonces se deben aadir
smbolos "nulos" con frecuencia 0, que servirn slo como relleno a la hora
de construir el rbol.
SISTEMAS MULTIMEDIA

Pgina 13

Algoritmo de Compresin RLE


La compresin de pxeles es un mtodo que permite almacenar pxeles de
forma ptima: para una imagen monocromtica hay, por definicin, slo dos
colores. Por lo tanto, se puede codificar un punto de la imagen en un solo bit para
ganar espacio en la memoria.

El mtodo de compresin RLE (Run Length Encoding, a veces


escrito RLC por Run Length Coding) es utilizado por muchos formatos de imagen
(BMP, PCX, TIFF). Se basa en la repeticin de elementos consecutivos.
El principio fundamental consiste en codificar un primer elemento al dar el nmero
de repeticiones de un valor y despus el valor que va a repetirse. Por lo tanto,
segn este principio, la cadena AAAAAHHHHHHHHHHHHHH cuando est
comprimida da como resultado "5A14H".
La ganancia de compresin es (19-5) / 19, es decir, aproximadamente
73,7%. Por otro lado, para la cadena "CORRECTLY", donde hay poca repeticin
de caracteres, el resultado de la compresin es 1C1O2R1E1C1T1L1Y. Por lo
tanto, la compresin genera un costo muy elevado y una ganancia de compresin
negativa de (9-16) / 9, es decir, -78%!
En realidad, la compresin RLE est regida por reglas particulares que
permiten que se ejecute la compresin cuando sea necesario y que se deje la
cadena como est cuando la compresin genere prdida. Las reglas son las
siguientes:
Si se repiten tres o ms elementos consecutivamente, se utiliza el mtodo
de compresin RLE.
De lo contrario, se inserta un carcter de control (00) seguido del nmero
de elementos de la cadena no comprimida y despus la ltima.
Si el nmero de elementos de la cadena es extrao, se agrega el carcter
de control (00) al final.
Finalmente, se definen los caracteres de control especficos segn el
cdigo:
o un final de lnea (00 01)
o el final de la imagen (00 00)
SISTEMAS MULTIMEDIA

Pgina 14

o un desplazamiento de puntero sobre la imagen de XX columnas e


YY filas en la direccin de lectura (00 02 XX YY).

Por lo tanto, no tiene sentido utilizar la compresin RLE excepto para datos
con diversos elementos repetidos de forma consecutiva, en imgenes particulares
con reas grandes y uniformes. Sin embargo, la ventaja de este mtodo es que es
de fcil implementacin.
Existen alternativas en las que la imagen est codificada en bloques de
pxeles, en filas o incluso en zigzag.

La compresin Run Length Encoding (RLE) es una forma de compresin de


datos en la que secuencias de datos con el mismo valor consecutivas son
almacenadas como un nico valor ms su recuento. Esto es ms til en datos que
contienen muchas de estas secuencias; por ejemplo, grficos sencillos con reas
de color plano, como iconos y logotipos.
El primer byte contiene un nmero que representa el nmero de veces que
el carcter se repite en la trama, el segundo byte contiene al propio carcter. En
otros casos se codifican en un solo byte: 1 bit (0 o 1) y 7 bits para especificar el
nmero de caracteres consecutivos.
La codificacin run-length realiza una compresin de datos sin prdidas y
es muy utilizado en imgenes de 8 bits indexadas (en un principio fue utilizado
para imgenes en blanco y negro). No funciona tan bien en imgenes donde vara
constantemente el color de los pxels como fotografas, aunque JPEG lo utiliza de
forma efectiva en los coeficientes que quedan despus de transformar y cuantificar
bloques de imgenes.

SISTEMAS MULTIMEDIA

Pgina 15

Algoritmo de Compresin Shannon-Fano


En el campo de la compresin de datos, la codificacin Shannon-Fano es
una tcnica para construir un cdigo prefijo basado en un conjunto de smbolos y
sus probabilidades (estimadas o medidas). No es ptimo en el sentido de que no
consigue la menor longitud de palabra cdigo esperado posible como en la
codificacin Huffman; aunque a diferencia de la codificacin Huffman, garantiza
que todas las longitudes de palabras de cdigo estn a un bit de su ideal terico
logP(x).
La tcnica fue propuesta por Claude Elwood Shannon, en Una Teora
Matemtica de la Comunicacin, su artculo de 1948 introduciendo el campo de la
teora de la informacin. El mtodo fue atribuido a Robert Fano, quien
posteriormente lo public como un informe tcnico.
La codificacin Shannon-Fano no debe confundirse con la codificacin
Shannon, mtodo de codificacin usado para probar el teorema de Shannon de la
codificacin sin ruido, ni con la codificacin Shannon-Fano-Elias (tambin
conocida como codificacin Elias), el precursor de la codificacin aritmtica.
En la codificacin Shannon-Fano, los smbolos se ordenan del ms al
menos probable, y se dividen en dos subconjuntos cuyas probabilidades totales
son tan prximas a ser iguales como sea posible. A continuacin todos los
smbolos tendrn el primer dgito de sus cdigos asignados; los del primer
subconjunto recibirn el 0 y los del segundo el 1. Mientras exista algn
subconjunto con ms de un trmino, se repetir el mismo proceso para determinar
los sucesivos dgitos de sus cdigos.
Cuando uno de los subconjuntos ha sido reducido a un smbolo, esto
significa que el cdigo del smbolo es completo y que no formar el prefijo del
cdigo de ningn otro smbolo.
El algoritmo funciona, y produce codificaciones de longitud variable
bastante eficientes; cuando los dos subconjuntos producidos por una divisin
tienen la misma probabilidad, ya que el bit de informacin usado para distinguirlos
se usa ms eficientemente.

SISTEMAS MULTIMEDIA

Pgina 16

Desafortunadamente, Shannon-Fano no produce siempre cdigos prefijos


ptimos; el conjunto de probabilidades {0.35, 0.17, 0.17, 0.16, 0.15} es un ejemplo
de esto.
Por esta razn, Shannon-Fano apenas se usa; la codificacin Huffman es
casi tan computacionalmente simple y produce cdigos prefijos que siempre
consiguen la menor longitud esperada de palabra de cdigo, bajo la restriccin de
que cada smbolo es representado por un cdigo formado por un nmero integral
de bits.
Esta es una restriccin a menudo innecesaria, ya que los cdigos sern
empaquetados de un extremo a otro en largas secuencias. I consideramos grupos
de cdigos en un instante, smbolo a smbolo la codificacin Huff slo es ptima si
las probabilidades de que los smbolos sean independientes y estn elevadas a un
medio, p.e., 21/2.
En la mayora de las situaciones, la codificacin aritmtica puede producir
mayor compresin general que Huffman o que Shannon-Fano, ya que puede
codificar en nmeros fraccionarios de bits, ms cercanos al contenido real de
informacin de cada smbolo.
Sin embargo, la codificacin aritmtica reemplazado a la de Huffman de la
manera que esta sobrepasa a Shannon-Fano, ya que la codificacin aritmtica es
ms costosa computacionalmente y porque est sujeta a mltiples patentes.
La codificacin Shannon-Fano se usa en el mtodo de compresin
IMPLODE, que es parte del formato de los archivos ZIP.

El algoritmo Shannon-Fano
Un rbol Shannon-Fano se construye de acuerdo a una especificacin
diseada para definir una tabla de cdigos efectiva. El algoritmo actual es simple:
1.
Para una lista de smbolos dada, crear su correspondiente lista de
probabilidades o de frecuencias de aparicin de manera que se conozca la
frecuencia relativa de ocurrencia de cada smbolo.

SISTEMAS MULTIMEDIA

Pgina 17

2.
Ordenar las listas de smbolos de acuerdo a la frecuencia, con los smbolos
de ocurrencia ms frecuente a la izquierda y los menos comunes a la derecha.
3.
Dividir la lista en dos partes, haciendo la frecuencia total de la mitad
izquierda lo ms prxima posible a la de la mitad derecha.
4.
Asignar a la mitad izquierda el dgito binario 0, y a la mitad derecha el
dgito 1. Esto significa que los cdigos para los smbolos en la primera mitad
empezarn con 0, y que los cdigos de la segunda mitad empezarn por 1.
5.
Aplicar recursivamente los pasos 3 y 4 a cada una de las dos mitades,
subdividindolas en grupos y aadiendo bits a los cdigos hasta que cada smbolo
se corresponde con una hoja del rbol.
Ejemplo

El ejemplo muestra la construccin de un cdigo Shannon para un pequeo


alfabeto. Los cinco smbolos que pueden ser codificados tienen la siguiente
frecuencia.

Smbolo

Frecuencia

15

Todos los smbolos son ordenados por frecuencia, de izquierda a derecha.


Dividiendo entre B y C obtenemos un total de 17 en el grupo de la derecha y 22 en
el de la izquierda. Esto minimiza la diferencia total entre los dos grupos. Con esta
divisin, A y B tendrn ambas un cdigo que empezar con el bit 0, y C, D y E con
el bit 1.
Seguidamente, la mitad izquierda del rbol se subdivide en A y B, lo que
pone a A en una hoja con el cdigo 00 y a B en otra con el cdigo 01. Tras cuatro
divisiones, terminamos el rbol de cdigos. Al final, los smbolos del rbol con
frecuencias ms altas tienen todos cdigos de 2 bits, y los otros dos smbolos con
menor frecuencia tienen cdigos de 3 bits, como se ve en la tabla inferior.

Smbolo

SISTEMAS MULTIMEDIA

Pgina 18

Cdigo

00

01

10

110

111

Codificacin Shannon-Fano, posee un cdigo prefijo basado en un conjunto


de smbolos y sus probabilidades, garantiza que todas las longitudes de palabras
de cdigo estn a un bit de su ideal terico log P(x). Fue propuesta por Claude
Elwood Shannon, en su artculo Una Teora Matemtica de la Comunicacin, de
1948. El mtodo fue atribuido a Robert Fano, quien posteriormente lo public
como un informe tcnico.

CONCLUSION.
Bsicamente la compresin consiste en tomar una trama de smbolos y
transformarlos en cdigos/claves. Si la compresin es eficiente, las claves
resultantes ocuparn menor espacio que los smbolos originales. La decisin de
obtener una codificacin a partir de ciertos smbolos (o conjunto de ellos) est
basada en un modelo.
El modelo es simplemente una coleccin de datos y reglas usados para
procesar a la entrada smbolos y determinar su correspondiente codificacin a la
salida. Por ejemplo un programa usa el modelo para definir aproximadamente las
probabilidades para cada smbolo y el codificador para producir una codificacin
SISTEMAS MULTIMEDIA

Pgina 19

apropiada

basada

en

esas

probabilidades.

Los conceptos de modelo y codificacin son cosas diferentes. Usualmente


la gente cae en el error de emplear el trmino de "codificacin" para referirse a
todo el proceso de compresin de datos en vez de considerarlo como un simple
componente de ese proceso.
Por ejemplo, "codificacin Huffman" y "codificacin Run-Length" se suele
caer en el error de ser descritas como tcnicas de compresin de datos, cuando
de hecho solo son mtodos de codificacin usados en conjuncin con un modelo
de compresin de datos.
Dentro del presente trabajo se describi todo las caractersticas de los
algoritmos.

REFERENCIAS ELECTRNICAS
Annimo tomado en:
Fecha: 07/03/2015
http://es.wikipedia.org/wiki/Algoritmo_de_Huffman
http://es.wikipedia.org/wiki/Run-length_encoding
http://es.wikipedia.org/wiki/Codificacion_Shannon-Fano
http://es.wikipedia.org/wiki/Categor%C3%ADa:Algoritmos_de_compresi%C3%B3n
http://webdiis.unizar.es/~elvira/LZ.pdf

SISTEMAS MULTIMEDIA

Pgina 20

Das könnte Ihnen auch gefallen