Logo Studenta

Slides TD IV - clases (30)

¡Este material tiene más páginas!

Vista previa del material en texto

TD4 2022TD4 2022 84
RLE para imágenes binarias
Original: 0000000011111000000000
Comprimido: 8 5 9
Original: 11100000
Comprimido: 0 3 5
▪ Comienza en 0:
▪ Comienza en 1:
TD4 2022TD4 2022 85
Métodos de compresión LZ (Lempel & Ziv)
▪ Familia de métodos:
• LZ-77 -> LZR, LZSS, LZH, LZB, LZFG
• LZ-78 -> LZJ, LZW, LZMW, LZT, LZC, LZFG
TD4 2022TD4 2022
a a b a b a b a a a … … 
86
Métodos de compresión LZ (Lempel & Ziv)
▪ Familia de métodos:
• LZ-77 -> LZR, LZSS, LZH, LZB, LZFG
• LZ-78 -> LZJ, LZW, LZMW, LZT, LZC, LZFG
▪ Utilizan una ventana de búsqueda que contiene la secuencia de 
símbolos a codificar (lookahead buffer) y la secuencia ya 
procesada (search buffer).
lookahead buffersearch buffer
TD4 2022TD4 2022 87
LZW
▪ Primer método universal de compresión de datos 
ampliamente utilizado en las computadoras. 
▪ Comprime texto en inglés a la mitad de su tamaño 
original (para archivos grandes).
▪ Es de dominio público.
▪ Forma parte de apps/formatos de compresión: 
arj, pkzip, gif, tiff, zip, pdf.
TD4 2022TD4 2022 88
Algoritmo LZW: Compresión
Utiliza un diccionario precargado (por ejemplo, 256 ASCII)
Mientras haya símbolos de entrada
▪ Paso 1: Buscar la frase de mayor coincidencia en el diccionario y codificar.
▪ Paso 2: Agregar al diccionario una nueva entrada: frase codificada + siguiente 
símbolo no coincidente
TD4 2022TD4 2022 89
Algoritmo LZW: Ejemplo compresión
Original: a a b a b a b a a a código diccionario
a 0
b 1diccionario precargado
símbolo/s
TD4 2022TD4 2022 90
Algoritmo LZW: Ejemplo compresión
Original: a a b a b a b a a a código diccionario
a 0
b 1diccionario precargado
a 0
símbolo/s
TD4 2022TD4 2022 91
Algoritmo LZW: Ejemplo compresión
Original: a a b a b a b a a a código diccionario
a 0
b 1diccionario precargado
aa 2a 0
símbolo/s
TD4 2022TD4 2022 92
Algoritmo LZW: Ejemplo compresión
Original: a a b a b a b a a a código diccionario
a 0
b 1diccionario precargado
aa 2a 0
a 0
símbolo/s
TD4 2022TD4 2022 93
Algoritmo LZW: Ejemplo compresión
Original: a a b a b a b a a a código diccionario
a 0
b 1diccionario precargado
aa 2a 0
a 0 ab 3
símbolo/s
TD4 2022TD4 2022 94
Algoritmo LZW: Ejemplo compresión
Original: a a b a b a b a a a código diccionario
a 0
b 1diccionario precargado
aa 2a 0
a 0 ab 3
b 1
símbolo/s
TD4 2022TD4 2022 95
Algoritmo LZW: Ejemplo compresión
Original: a a b a b a b a a a código diccionario
a 0
b 1diccionario precargado
aa 2a 0
a 0 ab 3
b 1 ba 4
símbolo/s
TD4 2022TD4 2022 96
Algoritmo LZW: Ejemplo compresión
Original: a a b a b a b a a a código diccionario
a 0
b 1diccionario precargado
aa 2a 0
a 0 ab 3
b 1 ba 4
ab 3
símbolo/s
TD4 2022TD4 2022 97
Algoritmo LZW: Ejemplo compresión
Original: a a b a b a b a a a código diccionario
a 0
b 1diccionario precargado
aa 2a 0
a 0 ab 3
b 1 ba 4
ab 3 aba 5
símbolo/s
TD4 2022TD4 2022 98
Algoritmo LZW: Ejemplo compresión
Original: a a b a b a b a a a código diccionario
a 0
b 1diccionario precargado
aa 2a 0
a 0 ab 3
b 1 ba 4
ab 3
aba 5
aba 5
símbolo/s
TD4 2022TD4 2022 99
Algoritmo LZW: Ejemplo compresión
Original: a a b a b a b a a a código diccionario
a 0
b 1diccionario precargado
aa 2a 0
a 0 ab 3
b 1 ba 4
ab 3 aba 5
aba 5 abaa 6
símbolo/s
TD4 2022TD4 2022 100
Algoritmo LZW: Ejemplo compresión
Original: a a b a b a b a a a código diccionario
a 0
b 1diccionario precargado
aa 2a 0
a 0 ab 3
b 1 ba 4
ab 3 aba 5
aba 5 abaa 6
aa 2
… …
símbolo/s
TD4 2022TD4 2022 101
Algoritmo LZW: Descompresión
Utiliza una diccionario precargado (por ejemplo, 256 ASCII)
Mientras haya símbolos de entrada
▪ Paso 1: Busca la entrada en el diccionario, decodifica la frase asociada y 
avanza.
▪ Paso 2: Agrega al diccionario una nueva entrada: decodificación anterior + 
primer símbolo de la decodificación actual 
Caso especial si el código no está en el diccionario: decodificar código anterior + 1º símbolo del código 
anterior y agregarlo al diccionario. Usar esa nueva entrada para decodificar. (se debe a que el codificador 
conoce el siguiente símbolo, pero el decodificador aún no!)
TD4 2022TD4 2022 102
Algoritmo LZW: Ejemplo descompresión
Mensaje recibido: 0 0 1 3 5 2 código símbolo/s diccionario
0 a
1 bdiccionario precargado
TD4 2022TD4 2022
Algoritmo LZW: Ejemplo descompresión
Mensaje recibido: 0 0 1 3 5 2 código símbolo/s diccionario
0 a
1 bdiccionario precargado
0 a
TD4 2022TD4 2022
Algoritmo LZW: Ejemplo descompresión
Mensaje recibido: 0 0 1 3 5 2 código símbolo/s diccionario
0 a
1 bdiccionario precargado
0 a
TD4 2022TD4 2022 105
Algoritmo LZW: Ejemplo descompresión
Mensaje recibido: 0 0 1 3 5 2 código símbolo/s diccionario
0 a
1 bdiccionario precargado
2 aa0 a
TD4 2022TD4 2022 106
Algoritmo LZW: Ejemplo descompresión
Mensaje recibido: 0 0 1 3 5 2 código símbolo/s diccionario
0 a
1 bdiccionario precargado
2 aa0 a
0 a
TD4 2022TD4 2022 107
Algoritmo LZW: Ejemplo descompresión
Mensaje recibido: 0 0 1 3 5 2 código símbolo/s diccionario
0 a
1 bdiccionario precargado
2 aa0 a
0 a
TD4 2022TD4 2022 108
Algoritmo LZW: Ejemplo descompresión
Mensaje recibido: 0 0 1 3 5 2 código símbolo/s diccionario
0 a
1 bdiccionario precargado
2 aa0 a
0 a 3 ab
TD4 2022TD4 2022 109
Algoritmo LZW: Ejemplo descompresión
Mensaje recibido: 0 0 1 3 5 2 código símbolo/s diccionario
0 a
1 bdiccionario precargado
2 aa0 a
0 a 3 ab
1 b
TD4 2022TD4 2022 110
Algoritmo LZW: Ejemplo descompresión
Mensaje recibido: 0 0 1 3 5 2 código símbolo/s diccionario
0 a
1 bdiccionario precargado
2 aa0 a
0 a 3 ab
1 b
TD4 2022TD4 2022 111
Algoritmo LZW: Ejemplo descompresión
código símbolo/s diccionario
0 a
1 bdiccionario precargado
2 aa0 a
0 a 3 ab
1 b 4 ba
Mensaje recibido: 0 0 1 3 5 2
TD4 2022TD4 2022 112
Algoritmo LZW: Ejemplo descompresión
código símbolo/s diccionario
0 a
1 bdiccionario precargado
2 aa0 a
0 a 3 ab
1 b 4 ba
3 ab
Mensaje recibido: 0 0 1 3 5 2
TD4 2022TD4 2022 113
Algoritmo LZW: Ejemplo descompresión
código símbolo/s diccionario
0 a
1 bdiccionario precargado
2 aa0 a
0 a 3 ab
1 b 4 ba
3 ab
Mensaje recibido: 0 0 1 3 5 2
Caso especial!
El 5 no está en el diccionario
TD4 2022TD4 2022 114
Algoritmo LZW: Ejemplo descompresión
código símbolo/s diccionario
0 a
1 bdiccionario precargado
2 aa0 a
0 a 3 ab
1 b 4 ba
3 ab
Mensaje recibido: 0 0 1 3 5 2
5 aba
TD4 2022TD4 2022 115
Algoritmo LZW: Ejemplo descompresión
código símbolo/s diccionario
0 a
1 bdiccionario precargado
2 aa0 a
0 a 3 ab
1 b 4 ba
3 ab
Mensaje recibido: 0 0 1 3 5 2
5 aba
5 aba
TD4 2022TD4 2022 116
Algoritmo LZW: Ejemplo descompresión
código símbolo/s diccionario
0a
1 bdiccionario precargado
2 aa0 a
0 a 3 ab
1 b 4 ba
3 ab
Mensaje recibido: 0 0 1 3 5 2
5 aba
5 aba
TD4 2022TD4 2022 117
Algoritmo LZW: Ejemplo descompresión
código símbolo/s diccionario
0 a
1 bdiccionario precargado
2 aa0 a
0 a 3 ab
1 b 4 ba
3 ab
Mensaje recibido: 0 0 1 3 5 2
5 aba
5 aba 6 abaa
TD4 2022TD4 2022 118
Algoritmo LZW: Ejemplo descompresión
Mensaje recibido: 0 0 1 3 5 2 código símbolo/s diccionario
0 a
1 bdiccionario precargado
2 aa0 a
0 a 3 ab
1 b 4 ba
3 ab 5 aba
5 aba 6 abaa
2 aa
… …

Continuar navegando

Materiales relacionados

2 pag.
13 pag.
39 pag.
P3 P4 Semántica2016

SIN SIGLA

User badge image

Danilo

38 pag.
Clase2

SIN SIGLA

User badge image

Danilo