Está en la página 1de 17

Programacin IV

Compresin de Archivos
Vctor Saquicela G.

Universidad de Cuenca
Facultad de Ingeniera

Cuenca, Ecuador

Indice
Introduccin
Conceptos de Compresin de Datos Tcnicas de compresin

Introduccin
Una de las preguntas que ms respuestas falsas tiene en la redes es la explicacin de cmo se logran los archivos de compresin, comenzando porque los que pueden responder la pregunta, no logran hacerlo de tal forma que lo comprenda el pblico en general, casi siempre conlleva trminos complicados que presupone ciertos conocimientos tcnicos. La idea fundamental es muy simple, guardar la mayor cantidad de datos posibles en la menor cantidad de espacio posible. Los algoritmos de compresin a lo largo de la historia fueron progresando comprimiendo cada vez mas.

Hoy en da coexisten algoritmos muy simples, otros muy complejos, algunos muy extraos y otros muy ingeniosos.
Sin compresin no tendra sentido poner imgenes, audio o vdeo en Internet, la calidad de las comunicaciones celulares no sera la misma y desde luego la TV digital no sera posible. Podra decirse que la compresin de datos es El arte o la ciencia de representar informacin de una forma compacta [Sayood].

Comprensin de Datos
La idea fundamental de la compresin de datos es reducir el tamao de los archivos de forma tal que estos ocupen menos espacio y que dado el archivo comprimido pueda recuperarse el archivo original .

Para la compresin de datos la fuente es el archivo a comprimir y los mensajes son los caracteres que componen el archivo. La idea de la compresin de datos es, dado un archivo, representar a los caracteres mas probables con menos bits que los caracteres menos probables de forma tal que la longitud promedio del archivo comprimido sea menor a la del archivo original. Se debe distinguir compresin de compactacin, la compactacin se refiere a tcnicas destructivas, es decir que una vez compactado un archivo se pierde informacin y no puede recuperarse el original, la compactacin se puede aplicar a imgenes o sonido para las cuales la perdida de fidelidad puede llegar a justificarse por el nivel de compresin.
En ciencias de la computacin la compresin 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.

La compresin es un caso particular de la codificacin, cuya caracterstica principal es que el cdigo resultante tiene menor tamao que el original.

Compresin de datos
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. Proceso que permite representar la informacin de una fuente de datos en formato digital, usando el mnimo nmero posible de bits y perdiendo la mnima cantidad de informacin aceptable Tipos de fuentes de datos: Texto, fotografa, audio, video, otras seales (datos de sensores, ) Importancia de la compresin: Muchas fuentes de datos, una vez digitalizadas, requieren: Gran cantidad de bits en comparacin con la capacidad de almacenamiento disponible Gran velocidad de transmisin en comparacin con la mxima velocidad admisible por el Sistema de Comunicacin Digital a travs del que deben enviarse Tasa de bits (bitrate): Nmero de bits por unidad de tiempo producidos por una fuente de datos (bits/s, o tambin bps). Por extensin, nmero de bits requeridos para almacenar un archivo (bits/imagen, por ejemplo)

Tecnicas de compresin
Cualquier algoritmo o tcnica de compresin tiene dos partes: Un algoritmo de compresin que toma una entrada X y genera una representacin Xc que necesita menos bits. Un algoritmo de reconstruccin que trabaja en la representacin comprimida Xc y genera la reconstruccin Y.

Los algoritmos de comprensin se dividen en dos grandes clases:


Algoritmos sin prdida, en los que la entrada al codificador, X, y la salida del decodificador, Y, coinciden. Algoritmos con prdida, que suelen proporcionar mayor compresin que los sin prdida, pero en los que X e Y no coinciden, aunque se parecen.

Diferencias entre compresin con 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. Se utiliza principalmente en la compresin de texto. Un algoritmo de compresin con prdida puede eliminar datos para reducir an ms el tamao, con lo que se suele reducir la calidad. Hay que tener en cuenta que 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. Se utiliza principalmente en la compresin de imgenes, videos y sonidos. La base matemtica de las tcnicas de compresin es la Teora de la Informacin

Algoritmos de compresin con perdida


Se denomina algoritmo de compresin con prdida 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 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. Existen dos tcnicas comunes de compresin con prdida: Por cdecs de transformacin: los datos originales son transformados de tal forma que se simplifican (sin posibilidad de regreso a los datos originales). Creando un nuevo conjunto de datos proclives a altas razones de compresin sin prdida. Por cdecs predictivos: los datos originales son analizados para predecir el comportamiento de los mismos. Despus se compara esta prediccin con la realidad, codificando el error y la informacin necesaria para la reconstruccin.

Algoritmos de compresin con perdida


A menudo, el observador humano no aprecia las diferencias Tambin se llaman tcnicas de reduccin de entropa o de reduccin de informacin

Algoritmos de compresin con perdida

Algoritmos de compresin sin perdida


Se denomina algoritmo de compresin sin prdida a cualquier procedimiento de codificacin que tenga como objetivo representar cierta cantidad de informacin utilizando u ocupando una fraccin menor en unidad de almacenamiento de datos establecida, siendo posible una reconstruccin exacta de los datos originales. 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. 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. Tambin se llaman tcnicas de reduccin de redundancia

Comprensin sin perdida


Campos de aplicacin: Compresin de texto Compresin de datos bancarios Compresin de datos empresariales/financieros

Compresin de binarios/ejecutables
Compresin de imgenes mdicas

Medidas de calidad
Cmo evaluamos la calidad de un algoritmo de compresin?: 1. Complejidad del algoritmo 2. Necesidades de memoria 3. Tiempo de ejecucin en una determinada plataforma

4. Cantidad de compresin
5. Cuanto se parece la reconstruccin a los datos originales

Medidas de calidad

Medidas de calidad

Codificacin Hufmman

Referencias
http://es.wikipedia.org/ K. Sayood, Introduction to Data Compression, Morgan and Kaufmann, 2005. http://www.youtube.com/watch?v=hWCjkZ04NWE http://www.youtube.com/watch?v=CIvQ-pt_uYs&feature=related

http://www.slideshare.net/mejiaff/cdigo-huffman
http://www.youtube.com/watch?v=8Gf8wutvS1w

También podría gustarte