Professional Documents
Culture Documents
Edwin Delgado Huaynalaya Universidad Nacional Jorge Basadre Grohmann Tacna, Per e-mail edychrist@gmail.com
ABSTRACT
This article presents information about COMPRESSION AND DECOMPRESSION algorithm which are used in the computer science field by diverse reasons and will be explained. Keywords: LZW, String, Character
RESUMEN Este artculo presenta informacin sobre algoritmos de COMPRESIN Y DESCOMPRESIN los cuales son usados en el campo de la informtica por diversos motivos y sern explicados. Palabras Claves: LZW, Cadena, Caracter,
UNIVERSIDAD NACIONAL JORGE BASADRE GROHMANN FACULTAD DE CIENCIAS ESCUELA DE INGENIERIA EN INFORMTICA Y SISTEMAS
INTRODUCCION Existen diferentes algoritmos que permiten la compresin y descompresin de datos. Uno de ellos es el LZW y con la ayuda de un ejemplo estudiaremos su mecnica tanto para la compresin y la descompresin de una cadena de informacin. A la vez, se mostrar en forma resumida los principales algoritmos que se utilizan en Internet tanto para la compresin de Imgenes, Texto, Sonidos y Videos.
OBJETIVO Analizar y Comprender el funcionamiento del Algoritmo de Compresin de Datos LZW Conocer los algoritmos que se utilizan actualmente en Internet
UNIVERSIDAD NACIONAL JORGE BASADRE GROHMANN FACULTAD DE CIENCIAS ESCUELA DE INGENIERIA EN INFORMTICA Y SISTEMAS
ALGORITMO DE COMPRESIN DE DATOS LZW Desarrollado por J. Ziv y A. Lempel (1977), y refinado por T. Welch (1984). Usado en los ficheros de formato grfico GIF y TIFF. Estos algoritmos (compresin y descompresin) son sorprendentemente simples. LZW utiliza una tabla de cadenas y reemplaza cadenas de caracteres por cdigos nicos. Es suficiente con aadir el ltimo carcter que ha entrado a una cadena existente en la tabla para aadir esta nueva cadena a dicha tabla entonces se crea un nuevo ndice para esa cadena. Esto se ver claramente ms adelante con un sencillo ejemplo. "En los datos comprimidos no est cargada la tabla de cadenas. Slo se carga la tabla de caracteres individuales y los cdigos que se han obtenido como salida." Proceso de Compresin. Cada vez que un nuevo cdigo es obtenido, una nueva cadena es aadida a la tabla de cadenas de caracteres. Inicialmente, en la tabla se encuentra los caracteres individuales que se pueden encontrar en el fichero. Lo normal es que los ndices de la tabla de 0-255 sean asignados a los caracteres ASCII, y los restantes, sean asignados a las cadenas que se van aadiendo a la tabla. El algoritmo de compresin sera:
0
HAY ALGUN SIMBOLO EN EL TEXTO?
1
LEER EL SIGUIENTE SMBOLO Y METERLO EN EL BUFFER
0
COINCIDENCIA ENTRE EL BUFFER Y EL DICCIONARIO
ENVIAR EL CDIGO CORRESPONDIENTE A LA CADENA DEL BUFFER MENOS EL LTIMO SMBOLO AADIR EL CONTENIDO DEL BUFFER AL DICCIONARIO LIMPIAR EL BUFFER EXCEPTO EL LTIMO SIMBOLO
UNIVERSIDAD NACIONAL JORGE BASADRE GROHMANN FACULTAD DE CIENCIAS ESCUELA DE INGENIERIA EN INFORMTICA Y SISTEMAS
Proceso de descompresin. Necesita poder coger la lista de cdigos de salida del algoritmo de compresin y la tabla inicial de los ndices de caracteres individuales. A partir de estos datos, el algoritmo de descompresin es capaz de reconstruir completamente la tabla de cadenas, necesaria para poder obtener la entrada. El algoritmo de descompresin es el siguiente:
INICIO INICIALIZAR EL DICCIONARIO
0
HAY MS CDIGOS RECIBIDOS?
1
DECODIFICAR EL SIGUIENTE CODIGO Y ENVIAR LOS SIMBOLOS CORRESPONDIENTES AL BUFFER TEMPORAL
1
TRANSFERIR EL SIGUIENTE SMBOLO DEL BUFFER TEMPORAL AL BUFFER
IMPRIMIR LOS SIMBOLOS DEL BUFFER MENOS EL LTIMO AADIR EL CONTENIDO COMPLETO DEL BUFFER AL DICCIONARIO LIMPIAR EL BUFFER EXCEPTO EL LTIMO SIMBOLO
FIN
UNIVERSIDAD NACIONAL JORGE BASADRE GROHMANN FACULTAD DE CIENCIAS ESCUELA DE INGENIERIA EN INFORMTICA Y SISTEMAS
Ejemplo de Compresin y Descompresin LWZ La cadena de entrada estar formada solamente por A, B y C: ABBABABAC La tabla inicial est formada por los ndices de estos caracteres: A=1, B=2, C=3. Cadena
A B B A AB A AB ABA C
Carcter
B B A B A B A C
Cadena + Carcter
AB BB BA AB ABA AB ABA ABAC
ndice
4 5 6 4 7 4 7 8
Cdigo
1 2 2 --4 ----7 3
Nuevo (cadena)
2 2 4 7 3 B B AB ABA C
Cadena
A B B AB ABA
Carcter
B B A A C
Cadena +
Caracter AB BB BA ABA ABAC
ndice
4 5 6 7 8
UNIVERSIDAD NACIONAL JORGE BASADRE GROHMANN FACULTAD DE CIENCIAS ESCUELA DE INGENIERIA EN INFORMTICA Y SISTEMAS
ALGORITMO DE COMPRESIN CON PRDIDA Se llama as 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. La compresin con prdida solo 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.
Mtodos de Compresin con Prdida: 1. Compresin de imagen Compresin Fractal JPEG Compresin Wavelet DjVu 2. Compresin de vdeo Flash (tambin soporta sprites JPEG) H.261 H.263 H.264/MPEG-4 AVC MNG (soporta sprites JPEG) Motion JPEG MPEG-1 MPEG-2 MPEG-4 Ogg Theora Sorenson video codec VC-1 3. Compresin de audio 3.1 Msica AAC - usado, por ejemplo, por Apple Computer ADPCM
REDES COMPUTACIONALES Y TELEMTICA QUINTO AO
UNIVERSIDAD NACIONAL JORGE BASADRE GROHMANN FACULTAD DE CIENCIAS ESCUELA DE INGENIERIA EN INFORMTICA Y SISTEMAS
ATRAC Dolby AC-3 DTS MP2 MP3 Musepack Ogg Vorbis WMA 3.2 Habla/Dilogo CELP G.711 G.726 HILN Speex ALGORITMO DE COMPRESIN SIN PRDIDA Se llama as a cualquier procedimiento de codificacin que tenga como objetivo representar cierta cantidad de informacin utilizando una menor cantidad de la misma, siendo posible una reconstruccin exacta de los datos originales. Este tipo de compresin se vuelve necesaria cuando se requiere conservar ntegramente la informacin original, en contraposicin a lo que sucedera con un algoritmo de compresin con prdida. Este sistema de compresin se usa en Compresores de archivo (RAR, Gzip, Bzip, zip, 7z, arj) y disco, tambin en imagenes (PNG, RLE) y en algn formato de audio (FLAC), en video es muy raro, suele ser utilizado para captura, como huffyuv. Podemos aadir en esta clasificacin al Algoritmo de Compresin de Datos LZW explicado al inicio de este artculo, debido a que nos permite recuperar la informacin original sin prdida.
UNIVERSIDAD NACIONAL JORGE BASADRE GROHMANN FACULTAD DE CIENCIAS ESCUELA DE INGENIERIA EN INFORMTICA Y SISTEMAS
CONCLUSIONES Se comprendi el funcionamiento del Algoritmo LZW y el cul es til para la recuperacin exacta de la informacin comprimida. En el ejemplo se pudo ver que fue necesario el uso de una tabla inicial, para dar inicio al proceso y lgicamente para realizar la descompresin se utiliz los datos del resultado de la compresin. Los algoritmos que se utilizan en Internet son muchos pero los ms conocidos son: para Imagen (JPEG, PNG), para sonido (MP3) y para video (MPEG-4) y para archivos (RAR).
REFERENCIAS
Universidad de las Palmas de Gran Canaria, http://seritel.teleco.ulpgc.es/trabajos/cables/grupo8.htm [2] Behrouz A. Forouzan, Tranmisin de Datos y Redes de Comunicaciones McGRAW-HILL / INTERAMERICANA DE ESPAA, S.A.U. 2002 [3] Wikipedia, La enciclopedia libre
http://es.wikipedia.org/wiki/Algoritmo_de_compresi%C3%B3n_con_p%C3%A9rdida http://es.wikipedia.org/wiki/Algoritmo_de_compresi%C3%B3n_sin_p%C3%A9rdida
[1]