Documentos de Académico
Documentos de Profesional
Documentos de Cultura
caractersticas
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 s, 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:
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).
Codificacin de duracin
La codificacin de duracin (RLE) es la tcnica de compresin sin
prdidas ms utilizada y simple. Al igual que la compresin de espacios
en blanco, es "econmica", especialmente para decodificar. La idea de
trasfondo es que muchas representaciones de datos consisten de
grandes series de bytes repetidos.
Si los bytes repetidos son prominentes dentro de la representacin de
datos esperada, podra ser adecuado y eficiente que el algoritmo
especifique uno o ms bytes de conteo de iteracin seguido de un
caracter. Sin embargo, si tiene lugar una serie caracteres extensa, esa
serie requerir dos (o ms) bytes para decodificarlos, es decir, 00000001
01011000 podra ser la transmisin de bits de salida requerida para un
ASCII "X" de la transmisin de entrada. Entonces, cien "X" en una fila
sera una salida de 01100100 01011000, lo que es bastante bueno.
Lo que se realiza con frecuencia en las variantes RLE consiste en utilizar
selectivamente los bytes para indicar los conteos de iterador o bien que
los bytes se representen a s mismos. Al menos un valor de un byte debe
reservarse para hacer esto, pero puede liberarse en la salida de datos, si
fuese necesario.
Codificacin 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.
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
Compresin Lempel-Ziv
LZW (Lempel-Ziv-Welch) es un algoritmo de compresin sin prdida
desarrollado por Terry Welch en 1984 como una versin mejorada del
algoritmo LZ78 desarrollado por Abraham Lempel y Jacob Ziv.
Probablemente, la tcnica de compresin sin prdidas ms significativa
es la tcnica Lempel-Ziv. La idea en LZ78 es codificar una secuencia de
bytes en transferencia con una tabla dinmica
La mayora de los mtodos de compresin se basan en un anlisis inicial
del texto para identificar cadenas repetidas para armar un diccionario de
equivalencias, asignando cdigos breves a estas cadenas. En una
segunda etapa, se convierte el texto utilizando los cdigos equivalentes
para las cadenas repetidas. Esto requiere dos etapas, una de anlisis y
una segunda de conversin y tambin requiere que el diccionario se
primeros 256 caracteres simples por lo que estos no son ms que otros
cdigos dentro del mismo diccionario.
Cada vez que se lee un nuevo carcter se revisa el diccionario para ver
si forma parte de alguna entrada previa. Todos los caracteres estn
inicialmente predefinidos en el diccionario as que siempre habr al
menos una coincidencia, sin embargo, lo que se busca es la cadena ms
larga posible. Si el carcter ledo no forma parte de ms de una cadena
ms larga, entonces se emite la ms larga que se hubiera encontrado y
se agrega al diccionario una entrada formada por cualquiera que hubiera
sido el cdigo previo y este nuevo cdigo. Si el carcter ledo s forma
parte de ms de una cadena del diccionario, se lee un nuevo carcter
para ver si la secuencia formada por el carcter previo y el nuevo es
alguna de las encontradas en el diccionario. En tanto los caracteres
sucesivos que se vayan leyendo ofrezcan ms de una entrada posible en
el diccionario, se siguen leyendo caracteres. Cuando la cadena slo tiene
una entrada en el diccionario, entonces se emite el cdigo
correspondiente a esa entrada y se incorpora al diccionario una nueva
entrada que representa el ltimo cdigo emitido y el nuevo.
Otra caracterstica importante del algoritmo es que los cdigos en la
salida se representan por cadenas de bits variables. El diccionario
contiene inicialmente 257 cdigos, 256 cdigos para los 256 caracteres
simples posibles con 8 bits y un cdigo que representa el fin de archivo.
Para esto seran necesarios cdigos de 9 bits, lo cual quiere decir que
an hay disponibles 255 cdigos de 9 bits para representar cadenas de
caracteres. Cuando se llenan estas 255 entradas del diccionario, se
amplan los cdigos con un nuevo bit, lo cual permite 512 nuevas
entradas. Cuando se completan estas 512 entradas, se agrega un bit y
se disponen de 1024 nuevas entradas y as sucesivamente. En la
prctica, se verifica que las primeras entradas, correspondientes a
cdigos de 12 bits de longitud (4096 entradas) se llenan rpidamente
por lo que es habitual comenzar el proceso no con cdigos de 9 bits sino
directamente con cdigos de 12 bits.