Вы находитесь на странице: 1из 14

Definicin

Cadena original : aabbabaa


Se comprime:


Se descomprime:


Luego:
Cadena original = Cadena descomprimida
entonces es Compresin sin perdida de datos
Compresor
/
Descompresor
101100
Cadena comprimido
101100
Compresor
/
Descompresor
aabbabaa
aabbabaa
Cadena descomprimida
Modelos
Compresores Estadsticos
Compresores basados en diccionarios
Compresores Estadsticos
Usan propiedades
estadsticas
Parten de:
1. Fuente de informacin de
n mensajes
2. La probabilidad de
aparicin de cada mensajes
3. Un alfabeto de salida
Se dividen en:
1. Compresores Aritmticos
2. Compresores Predictivos
Compresores Aritmticos
Ejemplo:
Comprimir la cadena abc, cuyas probabilidades
son: P(a)=0.7, P(b)=0.1, P(c)=0.2
Cadena Probabilidad
a
b
c
0.7
0.1
0.2
0 1
Compresin de cadena abc



Codificamos la cadena a
Partimos el intervalo segn la probabilidad

Cadena Probabilidad
a
b
c
0.7
0.1
0.2
0 1
0.7 0.8
a b c
0
0.7
Compresin de cadena abc



Codificamos la cadena ab
Partimos el intervalo segn la probabilidad

0
0.7
0.56 0.49
a
c b
0.49 0.56
Compresin de cadena abc



Codificamos la cadena abc
Partimos el intervalo segn la probabilidad

0.49
0.56
0.546 0.539
a
c b
0.546 0.56







La cadena abc quedara codificada por cualquier valor que se
encuentre en el intervalo [0.546 , 0.56]
En este caso elegiremos el valor medio : 0.553
Por tanto, la codificacin de la cadena abc es 0.553
0
0.546
1
0.7
0
0.56
0.56 0.49
Compresores Predictivos
Que hacen?
Predicen el siguiente mensaje de entrada
tomando como base las entradas procesadas
hasta el momento.
Si la prediccin es
correcta, la compresin se
har con menos bits. Pero
si es incorrecta, la
compresin se har con
mas bits.
1.Actan sobre un mensaje
cada vez y realizan una
prediccin que
generalmente suele ser de
calculo sencillo.
2.Resultan sencillos de
programar
3.Permiten una compresin
transparente en tiempo
real.
Se apoyan usando
matrices o tablas
dinmicas.
Ejemplo
Compresor Predictivo Predictor
Que mtodo utiliza?
Predice la entrada siguiente analizando la dos ultimas entradas.
Qu estructura de datos usa?
Este compresor se apoya de una matriz para guardar sus predicciones.
Cmo funciona?
Predictor
C
Entrada actual
i - j
Entradas anteriores
P = A[i,j]
Prediccin P
Prediccin correcta
Prediccin incorrecta
Compresores basados en diccionarios
La idea principal de estos compresores es la construccin de un diccionario de
cadenas con sus respectivos ndices, a medida de que se va comprimiendo el
archivo.

aabbaaaccff
Secuencia seleccionada
Diccionario
ndice Cadena
1
2
aff
aab
2baaaccff
Cadena comprimida
Algoritmo LZW
Este algoritmo es una mejora eficiente al algoritmo LZ78.
Parte con un diccionario en el cual se encuentran los
cdigos ASCII.
El propsito del algoritmo es construir un diccionario en
el que se guardan todas las cadenas que han aparecido
en la entrada. A cada cadena se le asigna un ndice que la
representa. Al ir codificando, si nos encontramos con una
cadena que ya esta en el diccionario, la salida del
algoritmo ser el cdigo de la cadena en el diccionario.
La eficiencia reside en que es posible crear de manera
automatica y en una unica pasada el diccionario de
cadenas al mismo tiempo en que se va codificando
Como ejemplo codificaremos la cadena: TOBEORNOTTOBEOR
Actual Carcter sgte. Salida-Cd. Salida-bits Diccionario-Codigo Diccion.-Cadena
NULL T
T O 84 1010100 256 TO
O B 79 1001111 257 OB
B E 66 1000010 258 BE
E O 69 1000101 259 EO
O R 79 1001111 260 OR
R N 82 1010010 261 RN
N O 78 1001110 262 NO
O T 79 1001111 263 OT
T T 84 1010100 264 TT
TO B 256 100000000 265 TOB
BE O 258 100000010 266 BEO
OR T 260 100000100 267 ORT
TOB E 265 100001001 268 TOBE
EO R 259 100000011 269 EOR
R NULL 82 1010010
La cadena comprimidas es:
10101001001111100001010001011001111010010
La cadena original es:
TOBEORNOTTOBEOR
Tamao de la cadena comprimida: 93 bits
Tamao de cadena original: 15caracteres*(8bits) = 120 bits
Porcentaje de compresin es: (93/120)*100% = 22.5%

Вам также может понравиться