Anda di halaman 1dari 21

Algoritmo Lempel-Ziv

Diana Delgado Jorge Reynoso

Algoritmo Lempel-Ziv
Creado

por Jacob Ziv y Abraham Lempel en Mayo de 1977. Se usa para codificar archivos de texto/binarios. Comprimir/descomprimir bajo Unix. Mismo software de compresin para PC y MAC.

Algoritmo Lempel-Ziv
Es

una de las alternativas a Huffman. Existen varias otras derivadas como LZW (Lempel-ZivWelch), que es usado en programas de compresin como el compress de UNIX. Se utiliza para comprimir en el formato de imgenes GIF, ya que tiene un menor ratio de compresin, ofrece mejoras en velocidad y uso de memoria.

La idea en que se basa LZ resulta simple


Busca secuencias repetidas dentro de los datos, y cada vez que encuentra una de ellas la reemplaza por un puntero a la zona en la que comienza la primera secuencia, ms la longitud que se debe tomar a partir de esa posicin. En caso de que no haya repeticiones, se emite la secuencia como un literal.

Compresin basada en diccionario


No

se requiere conocimiento de la probabilidad de aparicin de cada smbolo. Las cadenas de smbolos que se repiten frecuentemente puede ser sustituidas por una palabra de un nuevo cdigo que ocupe menos espacio.

Compresin basada en diccionario


Emisor

y Receptor construirn tablas con toda la informacin necesaria para la compresin/ descompresin. Son eficientes cuando se utilizan en Ficheros y mensajes grandes.

Caractersticas
Cada

entrada al diccionario consiste en un par (n,Ai), donde n es un 'puntero' a otra localizacin del diccionario y Ai es un smbolo del alfabeto fuente. Todas las palabras de cdigo (Bloques Codificados) tendrn la misma longitud previamente determinada. Esta longitud ser conocida por el emisor y por el receptor.

Caractersticas
Si

la longitud de las palabras de cdigo se ha fijado en m bits, los m-1 bits primeros se utilizan para buscar elementos que ya han aparecido en la tabla y al ltimo bit se le denomina bit de innovacin. El nmero de entradas o posiciones de la tabla es funcin de la longitud de palabra de cdigo y ser de 2 elevado a la m-1.

Caractersticas
En la cadena de entrada se buscarn subsecuencias que no coincidan con ninguna de las subsecuencias que ya se han almacenado en la tabla, y se aadirn a la tabla. Cuando la tabla ya se ha llenado, las nuevas subsecuencias que se busquen debern ser igual a alguna que ya est en la tabla concatenndole un bit 0 o 1.

Caractersticas
Es muy importante el tamao que se escoge para la palabra codificada. Cuanto mayor sea (dentro de un rango) mayor ndice de compresin se lograr. La tabla que se construye durante el proceso de codificacin est formada por 4 columnas:

Caractersticas

- La primera columna de la tabla se denomina "Posiciones Numricas" e indica las posiciones numricas de las subsecuencias individuales de la tabla de cdigos. La segunda columna de la tabla se denomina "Subsecuencias" e indica las subsecuencias individuales de la tabla de cdigos. El ltimo smbolo de cada subsecuencia es el bit de innovacin: la presencia de ese bit es lo que diferencia la subsecuencia de las anteriores. El resto de los bits son la subsecuencia raz.

Caractersticas

La tercera columna de la tabla se denomina "Representaciones Numricas" e indica las posiciones numricas de las subsecuencias que componen la nueva subcadena.
La cuarta columna de la tabla se denomina "Bloques Binarios Codificados" e indica la codificacin para la subsecuencia correspondiente a esa fila.

Codificacin:
1.-

Inicializar el diccionario con todos los bloques de largo 1 2.- Se codifica el primer dgito que compone la representacin numrica mediante m-1 bits. 3.- Se le concatena el bit asociado a la posicin numrica especificada por el segundo dgito que compone la representacin numrica. De esta forma obtenemos la palabra de cdigo que se transmitir.

Decodificacin
1.-

Las dos primeras entradas se inicializan con las subsecuencias 0 y 1. A continuacin se procesa cada palabra de cdigo recibida. Para cada palabra de cdigo se toma la subsecuencia raz, se interpreta como si fuera binario natural obteniendo un nmero decimal que indicar una de las entradas de la tabla.

2.-

Decodificacin
3.-

Se toma la subsecuencia asociada a esa entrada de la tabla y se concatena el bit de innovacin. esta forma obtenemos la subsecuencia original enviada por el emisor.

De

Ejemplo Compresin:

Ejemplo Compresin:

Ejemplo Compresin:

Ejemplo Descompresin:

Ejemplo Descompresin:

Ejemplo Descompresin:

Anda mungkin juga menyukai