2. Problema: LA CANTIDAD DE INFORMACION
La información en las redes sigue aumentando con el tiempo, causando
saturación de los recursos de transmisión y conmutación, generando
congestión y esto causa retardos inadmisibles.
Tiempo (Años)
Texto y Números
Sonido
Video
Imágenes a Color
Imágenes Fijas
Gráficos
3. IntroducciónIntroducción
La compresión es una representación mas
compacta de la señal digital, eliminando la
redundancia existente.
El objetivo es minimizar el caudal de bits a
transmitir o almacenar, manteniendo una señal
de calidad.
Las señales de audio y vídeo se comprimen,
debido a que contienen gran cantidad de
información redundante que en gran parte
puede eliminarse antes de su transmisión o
almacenamiento.
4. CONCEPTOS GENERALESCONCEPTOS GENERALES
La información transmitida se puede clasificar
de tres formas diferentes de comportamiento.
Relevante:Relevante: Necesaria para la reconstrucción
precisa.
Irrelevante:Irrelevante: Susceptible de descarte.
Redundante:Redundante: Datos cíclicos clasificables con
precisión dentro de un conjunto de patrones
redundantes.
5. CONCEPTOS GENERALESCONCEPTOS GENERALES
Entropía: información nueva o esencial, diferencia entre la
cantidad total de datos de un mensaje y su redundancia.
Sin pérdidas realesSin pérdidas reales: T: Transmite toda la entropía del
mensaje (la información básica e irrelevante) pero
eliminando la redundante.
Subjetivamente sin pérdidasSubjetivamente sin pérdidas: E: Elimina la información
redundante y la irrelevante.
Subjetivamente con pérdidasSubjetivamente con pérdidas: E: Elimina cierta cantidad de
información básica. Reconstrucción con errores
perceptibles pero tolerables (videoconferencia).
6. CONCEPTOS GENERALESCONCEPTOS GENERALES
Con otro enfoque, la compresión de datos se puede
clasificar también en dos modelos diferentes.
Reversible:Reversible: Sin pérdida de datos (lossless), permite la
reconstrucción de datos originales . Se emplea en
cadenas de texto.
IrreversibleIrreversible:: Descarta parte de la información (less) que
resulta inapreciable a los sentidos de la vista y oído
humano. Irrecuperable el objeto original. Audio y video.
7. Aspectos básicosAspectos básicos
Un sistema de compresión consta de:
• Codificador
• Decodificador
Donde estos pueden ser:
• AsimétricosAsimétricos
El codificador es mucho mas complejo y lento que el
descodificador (p.e. vídeo sobre demanda)
• SimétricosSimétricos
Coste computacional similar (p.e. videoconferencia)
• Con pérdidas o irreversibleCon pérdidas o irreversible
Adecuada para medios continuos (audio y vídeo)
Mayores tasas de compresión
• Sin pérdidas o reversibleSin pérdidas o reversible
Adecuada para ficheros de datos, imágenes, etc.
Tasas de compresión muy moderadas.
8. ALGORITMOS DEALGORITMOS DE
COMPRESION - DATOSCOMPRESION - DATOS
Mayormente se basan (1ro)(1ro) en un análisis inicialanálisis inicial del
texto identificando cadenas repetidas y armando un
diccionario de equivalencias, asignando códigos breves a
estas cadenas.
Luego (2do), se convierteconvierte el texto utilizando los códigos
equivalentes para las cadenas repetidas.
También requiere que el diccionario se encuentre junto
con el texto codificado, incrementando el tamaño del
archivo de salida.
Por ejemplo, si en un archivo aparece la secuencia
“DDDDD",“DDDDD", ocupando 5 bytes se podría almacenar
simplemente “5D"“5D" que ocupa solo 2 bytes, en un
algoritmo denominado RLE.
9. La compresión de datos es una aplicación donde
mejor se aprecian los conceptos desarrollados
por la Teoría de la Información, en especial el
de redundancia.
La información redundante presente en un
mensaje, significa que hay un número de
símbolos o caracteres mayor del mínimomayor del mínimo
necesarionecesario y si se logra eliminar la redundancia,
entonces se habrá reducido el tamaño del
archivo.
REDUNDANCIAREDUNDANCIA
10. Mensajes de la misma longitud no llevan siempre
la misma cantidad de información, ya que ésta
depende de la probabilidad de tenga un
determinado símbolo que aparezca en el mensaje.
Si una fuente de información discreta emite una
secuencia de símbolos pertenecientes a un
alfabeto de N posibles símbolos s1, s2,......sN.
AUTOINFORMACIONAUTOINFORMACION
FUENTE S =(S1,S2,S3,S4,…..Sn)
11. La probabilidad ppii que se emita el símbolo
ssii permite cuantificar la información I que
lleva ese símbolo
(También llamada “Auto información”):
I = - log2 pi bits
Es el aporte de información de un Símbolo
AUTOINFORMACIONAUTOINFORMACION
12. La Entropía H de un mensaje es la información
promedio que lleva cada símbolo emitido por ese
mensaje, y no cada símbolo individual.
Concebido por Claude Shannon (1948) .- Dedujo
que:
“A mayor Entropía , mayor Información”.
ENTROPIA DE LA INFORMACIONENTROPIA DE LA INFORMACION
13. Si la probabilidad de ocurrencia de un símbolo particular
no depende de que otro haya ocurrido antes (es decir
que la secuencia es estadísticamente independiente),
la entropía, viene dada por:
Nótese que la información log2 pi de cada símbolo es
ponderada por la probabilidad pi de ocurrencia de dicho
símbolo.
ENTROPIA DE LA INFORMACIONENTROPIA DE LA INFORMACION
La Entropía, es la información promedio que lleva cada símbolo
14. Expresado en palabras, esto quiere decir que:
En promedio, podemos esperar de obtener H bits de
información por símbolo.
Pero no podemos saber por anticipado cuál será el
próximo símbolo y en consecuencia su información.
ENTROPIA DE LA INFORMACIONENTROPIA DE LA INFORMACION
15. El valor máximo de H se alcanza cuando todos
los símbolos tienen la misma probabilidad de
ocurrencia y viene dado por:
H max = log2N
N: Numero de símbolos
ENTROPIA DE LA INFORMACIONENTROPIA DE LA INFORMACION
16. Cuando la entropía es máxima cada símbolo lleva la
máxima cantidad de información posible.
Esto significa un símbolo binario (0,1) puede llevar al
máximo log22 = 1 bit de información.
Un símbolo ternario (0,1,2) puede llevar al máximo log23 =
1.6 bits de información
Un símbolo cuaternario (0,1,2,3) puede llevar al máximo
log24 = 2 bits de información.
ENTROPIA DE LA INFORMACIONENTROPIA DE LA INFORMACION
17. Por ejemplo, si en un mensaje todos los 256 caracteres
ASCII fuesen igualmente probables de aparecer (p =
1/256) la entropía H de ese mensaje sería:
H = -log2 1/256 = 8 bits/carácter.
Pero usualmente eso no ocurre, por lo que la entropía de
ese mensaje podría ser, por ejemplo, de 6 bits/carácter.
ENTROPIA DE LA INFORMACIONENTROPIA DE LA INFORMACION
18. La compresión de datos, consiste en procesar un
conjunto de símbolos de entrada y transformarlos en un
conjunto de códigos.
Si la compresión es efectiva, el conjunto de salida tendrá
un tamaño menor que el de entrada.
La transformación de un símbolo en código se hace
mediante una regla o algoritmo basado en un modelo de
los datos de entrada.
MODELADO Y CODIFICACIONMODELADO Y CODIFICACION
19. Estos modelos pueden ser divididos en 3
categoría principales, dependiendo de la forma
en que se vayan a determinar las
probabilidades relativas:
(1) fijos
(2) adaptables (2 pasadas)
(3) adaptables dinámicamente (1 sola pasada)
MODELOS ESTADISTICOSMODELOS ESTADISTICOS
20. El modelo fijo usa la misma estadística en cada caso.
Esta estadística representa un promedio obtenido a través
del análisis de un gran número de fuentes "típicas“.
No comprimen los datos tan bien como los otros, sin
embargo son más simples y rápidos.
MODELO ESTADISTICO FIJOMODELO ESTADISTICO FIJO
21. Por ejemplo, en un texto “típico” en español, la frecuencia
relativa de las letras puede ser la siguiente:
Letra Frecuencia relativa
E 0.1031
T 0.0796
A 0.0642
O 0.0632
I 0.0575
··············· ················ ·················
Q 0.0008
Z 0.0005
Cada valor en la tabla representa con buena aproximación la
probabilidad de que aparezca la letra correspondiente cuando se
está leyendo un texto en español típico.
MODELO ESTADISTICO FIJOMODELO ESTADISTICO FIJO
22. Los modelos adaptables dinámicamente de 1 pasada,
en cambio, ajustan la estadística a medida que la
compresión avanza.
Tanto el codificador como el decodificador comienzan con
la misma estadística inicial usada para codificar (y
decodificar) los primeros símbolos.
Luego la estadística se va actualizando a medida que los
datos van siendo procesados.
MODELO ESTADISTICOMODELO ESTADISTICO
ADAPTABLEADAPTABLE
23. Los modelos adaptables de 2 pasadas efectúan una
primera pasada sobre los datos para acumular estadística.
La segunda pasada comprime los datos usando códigos
basado en esa estadística.
Estos modelos de 2 pasadas comprimen muy bien, pero
tienen ciertas desventajas, ya que requieren mayor tiempo
de codificación.
MODELO ESTADISTICOMODELO ESTADISTICO
ADAPTABLEADAPTABLE
24. Técnica donde se asignan códigos cortos a
eventos que ocurren a frecuentemente y códigos
largos a eventos menos frecuentes.
Los sistemas que usan este principio son
conocidos también como codificadores de
entropía o estadísticos.
CODIGOS DE LONGITUD VARIABLECODIGOS DE LONGITUD VARIABLE
25. Un ejemplo de códigos de longitud variable para las letras del alfabeto
se muestra en la tabla (donde se indican sólo algunos elementos).
En este ejemplo los símbolos de entrada pertenecen a un alfabeto de
28 símbolos y que los códigos de salida pertenecen a un alfabeto de 2
símbolos (dígitos binarios).
Letra Frecuencia relativa Código
E 0.1031 10
T 0.0796 001
A 0.0642 010
O 0.0632 0110
I 0.0575 11001
··············· ················ ·················
Q 0.0008 11110110
Z 0.0005 1111111111
CODIGOS DE LONGITUD VARIABLECODIGOS DE LONGITUD VARIABLE
26. Es el primer método bien conocido de códigos de longitud
variable.
Claude Shannon y Robert Fano, lo descubrieron casi
simultáneamente a principios de los años 50.
El método se basa en determinar la probabilidad de
ocurrencia de cada símbolo en un dado mensaje.
Con estas probabilidades se puede construir una tabla de
codificación que tiene varias propiedades interesantes:
Código de Shannon - FanoCódigo de Shannon - Fano
27. En la tabla se muestra un ejemplo sencillo, utilizando
un alfabeto de 5 caracteres.
Símbolo Frecuencia Relativa Código
1 0.4 00
2 0.2 01
··························································
3 0.2 10
4 0.1 110
5 0.1 111
Código de Shannon - FanoCódigo de Shannon - Fano
28. La codificación Shannon-Fano fue desplazada por
otro método estadístico aún mejor: la codificación
Huffman – 1952
En la codificación Huffman los símbolos a codificar se
colocan primero en una tabla en orden decreciente de
frecuencia relativa de ocurrencia.
Los dos símbolos menos probables (s4 y s5) se funden
provisionalmente en un solo símbolo cuya probabilidad es
la suma de las dos (0.2).
Código de HufmanCódigo de Hufman
29. De esta forma hay que codificar un alfabeto que contiene un
símbolo menos que el original.
Código de HufmanCódigo de Hufman
Si pi pi pi pi
S1 0.4 0.4 0.4 0.6
S2 0.2 0.2 0.4 0.4
S3 0.2 0.2 0.2
S4 0.1 0.2
S5 0.1
REDUCCION
30. Repitiendo el proceso de reducción, se llega al punto en
que queda un alfabeto con sólo dos símbolos, a los cuales
se les empieza por codificar con 0 y 1 respectivamente.
Código de HufmanCódigo de Hufman
31. Efectuando ahora el proceso en sentido inverso, se va
añadiendo un 0 y un 1 cada vez que un símbolo codificado
se expande en dos, hasta completar la codificación.
Código de HufmanCódigo de Hufman
32. Huffman demostró que su codificación es óptima, en el
sentido que la longitud promedio L es mínima para un
modelo dado con cierta distribución de probabilidades.
En el ejem. que hemos ilustrado, se tienen
L = 2.2 dígitos/símbolo.
Código de HufmanCódigo de Hufman
SiSi PiPi
S1 0.4
S2 0.2
S3 0.2
S4 0.1
S5 0.1
33. La codificación Huffman utilizando una estructura de
datos basada en árbol binario. Se muestra 2 posibles
árboles de Huffman para los 5 símbolos del ejemplo
visto anteriormente.
Código de HufmanCódigo de Hufman
34. En la figura se muestran 2 posibles árboles de Huffman para los 5
símbolos del ejemplo visto anteriormente.
0 10 110 1110 1111 00 01 10 110
111
35. En la tabla comparativa entre el código Shannon-Fano , Huffman y Morse.
Se utilizan como ejemplo las letras del alfabeto, con la frecuencia relativa típica
que aparece en un texto en inglés (incluyendo el espacio).
Comparacion de CódigosComparacion de Códigos
36. Es otra codificación estadística muy
eficiente, se definen unos intervalos de
números entre 0 y 1 para los símbolos.
A mayor cantidad de símbolos, su
correspondiente intervalo será cada vez
menor.
Para mensajes largos su eficiencia es
cercana al 100%.
Codificación AritméticaCodificación Aritmética
37. Los intervalos en esta técnica se definen
como:
Sn(inf) = Sn-1 (inf)+(Sn-1(sup) – Sn-1(inf))*Sn (inf)
Sn(sup) = Sn-1 (inf)+(Sn-1(sup) – Sn-1(inf))*Sn (sup)
Codificación AritméticaCodificación Aritmética
38. A fines de la década de los 70, sistemas de compresión
mayormente utilizaban modelos estadísticos, es decir:
Se lee un símbolo (o varios símbolos) y se codifica de
acuerdo a su probabilidad obtenida a partir de un modelo
estadístico.
Pero los matemáticos israelíes, Abraham Lempel y Jacob
Ziv, en 1977 presentaron método de compresión basado
en diccionario, consiguiendo tasas de compresión mas
altas.
Codigo Lempel Ziv (LZ77)Codigo Lempel Ziv (LZ77)
39. Método descrito en el artículo "A universal algorithm for
sequential data compression" de la revista IEEE
Transactions on Information Theory (Mayo 1977).
Al diferencia de la codificación Huffman, la compresión
basada en diccionario no codifica símbolos individuales de
longitud fija en forma de códigos de longitud variable, sino
que codifica cadenas de símbolos, esto es secuencias de
longitud variable, por medio de códigos de longitud
prefijada.
Básicamente los que se hace es leer una cadena de
símbolos de entrada y se busca en un diccionario
guardado en memoria.
Codigo Lempel Ziv (LZ77)Codigo Lempel Ziv (LZ77)
40. Un diccionario de verdad contiene palabras, pero en LZ77
se manejan cadenas (Strings) de símbolos (por ejemplo
ASCII). por lo que son más bien frases y no palabras.
Los seres humanos estamos acostumbrados a una forma
de diccionario adaptable cuando realizamos la sustitución
de acrónimos en libros y revistas.
Así, la primera vez que mencionemos en un texto a la
Universidad Nacional de ingeniería (UNI), se define tanto la
frase completa en el diccionario y su sustitución (UNI).
Código Lempel Ziv (LZ77)Código Lempel Ziv (LZ77)
41. Con la compresión adaptable, en vez de tener un
diccionario predefinido desde el mismo inicio de la
compresión, se empieza sin diccionario o con
un diccionario muy pequeño.
A medida que la compresión avanza, el algoritmo
añade nuevas cadenas para ser utilizadas
posteriormente como códigos.
La compresión basada en LZ77 es del tipo
adaptable y se caracteriza además por las
siguientes propiedades:
Código Lempel Ziv (LZ77)Código Lempel Ziv (LZ77)
42. • ES UNIVERSAL:
• En el sentido de que no se requiere conocer nada en
particular acerca de las características de los datos que se
quieren comprimir.
• OPERA SOBRE LA MARCHA:
• Con este algoritmo no se necesita determinar
previamente la estadística de esos datos, es decir que la
compresión se efectúa con una sola pasada sobre los
datos a comprimir.
Propiedades: Código Lempel ZivPropiedades: Código Lempel Ziv
43. • NO PRODUCE PÉRDIDA DE INFORMACIÓN:
• Por que los datos originales se recuperan completamente
en la descompresión, sin ningún tipo de error (siempre y
cuando, por supuesto, no haya habido errores durante el
almacenamiento en disco o durante la transmisión de los
datos comprimidos).
Propiedades: Código Lempel ZivPropiedades: Código Lempel Ziv
(LZ77)(LZ77)
44. En LZ77 el diccionario consiste de todas las
cadenas o frases existentes en una porción previa
del mensaje.
El método se basa en el reconocimiento de
cadenas de símbolos ya existentes en esa porción
previa del mensaje.
A este proceso se le conoce en inglés como
parsing y es análogo al análisis gramatical de una
palabra o frase.
Código Lempel ZivCódigo Lempel Ziv
45. A medida que se va construyendo la cadena de
entrada, se comprueba si esa cadena ya existía en
la porción previa del mensaje.
Si se encuentra una concordancia (match), se
codifica como un puntero y se envía al flujo de
salida.
Si no es así, se envía a la salida otro tipo de
código.
El proceso se repite hasta codificar todos los datos
de entrada.
Código Lempel ZivCódigo Lempel Ziv
46. Para entender mejor el proceso de codificación,
imaginemos que estamos viendo los datos de entrada
(alineados de izquierda a derecha) a través de una
ventana deslizante en la cual caben N símbolos.
Esta ventana es el diccionario dinámico.
Ventana Buffer
(N símbolos) (B símbolos)
Código Lempel Ziv (LZ77)Código Lempel Ziv (LZ77)
47. Ventana Buffer
(N símbolos) (B símbolos)
Los datos visibles en la ventana son los más recientes N
símbolos, que ya fueron codificados.
Los próximos símbolos a codificar se encuentran fuera de
la ventana, en un look-ahead buffer, de tamaño B, que
contiene los símbolos que han sido leídos del flujo de
entrada pero que todavía no han sido codificados.
Código Lempel Ziv (LZ77)Código Lempel Ziv (LZ77)
48. Cuando se consigue una coincidencia en la ventana, el
evento se puede representar mediante un código de 3
partes F,L,P
Donde:
F es una bandera (flag) de 1 bit que se pone en 1 para
indicar que se encontró una coincidencia.
El siguiente término L indica la longitud de la cadena
encontrada.
El último P indica su posición con respecto al extremo
derecho de la ventana.
Código Lempel Ziv (LZ77)Código Lempel Ziv (LZ77)
49. Cuando no se consigue una coincidencia, se usa el
código de 2 partes F,C
Donde:
F es la bandera de 1 bit que se pone en 0 para indicar
que no se encontró una coincidencia.
El siguiente término C es el primer carácter o símbolo
en el buffer (para el cual no se encontró coincidencia).
Código Lempel Ziv (LZ77)Código Lempel Ziv (LZ77)
50. La descompresión (o decodificación) es el proceso inverso al
anterior:
Si la bandera F es 1, indica que el código corresponde a una
cadena conocida, así que se determina con ese mismo
código su longitud L y su posición P en la ventana.
A continuación se copian a la salida L caracteres, contados
a partir de P. Luego se desliza la ventana de P posiciones,
para así pasar a decodificar el siguiente código.
Si la bandera F es 0, se extrae a la salida el carácter ASCII
que sigue a la bandera.
Código Lempel Ziv (LZ77)Código Lempel Ziv (LZ77)
51. La descompresión requiere mucho menos trabajo y es
mucho más rápida que la compresión, ya que no hay que
buscar coincidencias.
LZ77 es un sistema asimétrico: La rutina de compresión
es complicada y debe realizar bastante trabajo para cada
cadena que comprime.
En cambio, la rutina de descompresión es más simple.
Esta característica hace que LZ77 sea más apropiado para
datos que son comprimidos una sola vez, pero que son
descomprimidos muchas veces (por ejemplo los programas
que se distribuyen a través de discos o a través de
Internet).
Codigo Lempel Ziv (LZ77)Codigo Lempel Ziv (LZ77)
52. LZ77 se usa en programas como PKZIP, WinZIP
y LHARC, que se han vuelto muy populares para
comprimir archivos en general.
LZ77 es muy efectivo para explotar la
redundancia que existe en patrones que se
repiten varias veces (archivos de texto,
programas fuentes e ejecutables, bases de datos,
gráficas de computadoras), pero no es
particularmente bueno para comprimir audio e
imágenes digitalizadas.
Código Lempel Ziv (LZ77)Código Lempel Ziv (LZ77)
Tamaño:
153600 bytes (sin compresión)
52577 bytes (JPEG)
37044 bytes (PCX)
27592 bytes (BMP)
17770 bytes (LZ77)
10221 bytes (GIF)
8723 bytes (PNG)
53. En 1978 Ziv y Lempel describieron un segundo método de
compresión en el artículo "Compression of individual
sequences via variable-rate coding" de la revista IEEE
Transactions on Information Theory de septiembre 1978
y por tal razón posteriormente se le denominó compresión
LZ78.
Históricamente, LZ78 fue el primero de los algoritmos LZ
en hacerse popular, debido a su adaptación por parte de
Terry Welch en el algoritmo LZW y su posterior inclusión
en el programa COMPRESS utilizado bajo el sistema
operativo Unix.
Codigo Compresion LZ78 y LZWCodigo Compresion LZ78 y LZW
54. Si bien LZ77 y LZ78 parecen muy semejantes, en
realidad se diferencian apreciablemente y cada uno
tiene ventajas y desventajas.
LZ78 utiliza un enfoque distinto a LZ77 para construir y
mantener el diccionario, abandonando el concepto de una
ventana abierta sobre los símbolos previos, tal como se
hace en LZ77.
En vez de utilizar una ventana de tamaño limitado que se
desliza sobre los símbolos de entrada ya procesados,
LZ78 construye su diccionario a partir de todos los
símbolos de entrada ya procesados.
Código Compresión LZ78 y LZWCódigo Compresión LZ78 y LZW
55. El diccionario de cadenas o frases se construye
añadiendo un solo símbolo a la vez a las
cadenas ya existentes.
Cada código contiene 2 componentes: la
posición de la cadena en el diccionario y el
carácter que le sigue.
Pero a diferencia de LZ77, la longitud no se
codifica, ya que el descompresor la puede
determinar por su cuenta.
Código Compresión LZ78 y LZWCódigo Compresión LZ78 y LZW
56. Veamos un ejem. de cómo funciona el compresor, usando
como entrada la siguiente secuencia de caracteres:
BCBCACBCBCABCABCABACABCBC···
El compresor empieza sin tener frases o cadenas en el
diccionario y el índice 0 se usa para definir la cadena
vacía.
El primer carácter que se lee (esto es B) corresponde a una
cadena que todavía no existe en el diccionario.
Así que la cadena B se añade en el diccionario en la
posición 1 y se emite a la salida el código formado por
prefijo + extensión, en esto caso 0B.
Código Compresión LZ78 y LZWCódigo Compresión LZ78 y LZW
57. BCBCACBCBCABCABCABACABCBC···
El siguiente carácter C tampoco existe en el diccionario y
se añade en la posición 2, emitiendo el código 0C.
Cuando se llega al tercer carácter, es decir B, éste ya
existe en el diccionario y en consecuencia se avanza al
cuarto (es decir C), y se forma la cadena BC, que todavía
no existe en el diccionario, por lo que se le añade y se
emite el código 1C, ya que 1 corresponde al índice en el
diccionario donde está guardado el carácter B.
A medida que avanza el proceso, se añaden al diccionario
cadenas cada vez más largas.
Código Compresión LZ78 y LZWCódigo Compresión LZ78 y LZW
58. Por ejemplo, si en la
posición 9 se guarda 3A, se
puede saber que
corresponde a BCA ya que
el prefijo 3 nos envía a la
posición 3 donde está la
extensión BC y el prefijo 1,
el cual nos envía a la
posición 1 donde está la
extensión A.
Secuencia de entrada: BCBCACBCBCABCABCABACABCBC···
Código Compresión LZ78 y LZWCódigo Compresión LZ78 y LZW
Posición Contenido Código de
salida
0 nulo
1 B 0B
2 C 0C
3 BC 1C
4 A 0A
5 CB 2B
6 CBC 5C
7 AB 4B
8 CA 2A
9 BCA 3A
59. Por su lado el descompresor puede recrear un
diccionario idéntico a partir de los códigos
recibidos, por lo que el método es muy
conveniente ya que no se necesita enviar el
diccionario al descompresor.
Recién en junio de 1984 debido a un artículo de
IEEE titulado "A technique for high-performance
data compression", escrito por Terry Welch, se
popularizo esta técnica.
Código Compresión LZ78 y LZWCódigo Compresión LZ78 y LZW
60. FORMATOS DE COMPRESIONFORMATOS DE COMPRESION
DE DATOSDE DATOS
Entre algunos de los conocidos tenemos:
SIN PERDIDAS:SIN PERDIDAS:
ZIP
RAR (Roshal ARchive)
CAB (Cabinet- nativo de Microsoft Windows).
CON PERDIDAS:CON PERDIDAS:
JPEG (Compresión de Imagen)
MPEG (Compresión de Video)
WMA (Compresión de Audio)