tema 2: teoría de la información, modelos para la ...€¦ · ii.1 objetivos del tema 1....
TRANSCRIPT
Rafael Molina Tema 2: Herramientas 1
Tema 2: Teoría de la Información, Modelos para la Compresión, Codificación.
Rafael MolinaDepto de Ciencias de la Computación
e Inteligencia ArtificialUniversidad de Granada
Rafael Molina Tema 2: Herramientas 2
• Objetivos del tema• Breve introducción a la Teoría de la Información• Modelos para la compresión
– Modelos físicos– Modelos probabilísticos simples– Modelos de Markov– Modelo de fuente compuesta
• Codificación– Códigos decodificables de modo único– Test para decodificación única– Códigos prefijo– Decodificación de una secuencia de palabras en
código prefijo• Resumen• Bibliografía
Contenidos
Rafael Molina Tema 2: Herramientas 3
II.1 Objetivos del tema
1. Necesitamos conocer algunos conceptos básicos de la teoría de la información para analizar los métodos de compresión que veremos en el curso.
2. Veremos también en este tema modelos que pueden utilizarse para describir los datos y para su posterior codificación.
3. Por último, analizaremos algunos tipos de códigos que serán utilizados a lo largo del curso.
Rafael Molina Tema 2: Herramientas 4
II.2 Breve Introducción a la teoría de la Información
C. C. ShannonShannon19161916--20012001
Supongamos que tenemos un suceso que es el resultado de un proceso aleatorio. Si P(A) es la probabilidad de dicho suceso entonces la auto-información asociada a A viene dada por
Aunque la idea de medir cuantitativamente la información había sido estudiada con anterioridad, Claude Shannon (ingeniero eléctrico en Bells Lab) fue la persona que desarrolló los conceptos de forma matemática.
)(log)(
1log)( APAP
Ai −==El logaritmo será siempre entendido en base dos
Rafael Molina Tema 2: Herramientas 5
1. Recordemos que log(1)=0 y la función -log(x) logaritmo crece cuando x se mueve de uno a cero. Por tanto, a mayor probabilidad de un suceso menor auto-información asociada.
2. De Sherlock Holmes: el ladrido de un perro durante un robo es un suceso muy probable y por tanto contiene poca información, sin embargo el que un perro no labre durante un robo es muy poco probable y contiene mucha información.
3. Propiedad de la auto-información: La auto-información de dos sucesos A y B que son independientes es la suma las auto-informaciones de A y B.
Demostración:
)()()log()(log
]indep. [)(log)(
1log)(
BiAiBAP
ABPABP
ABi
+=−−=
−==
Rafael Molina Tema 2: Herramientas 6
Ejemplo 2.1:
Sean cara (C) y cruz (X) los posibles resultados de lanzar una moneda. Si la moneda no está sesgada tendremos
21)()( == XPCP e bit1)()( == XiCi
La cantidad de información depende de la base del logaritmo. Si la base del logaritmo es 2 la unidad es bits, si es e la unidad es nats y si es 10 la unidad se llama hartleys.
Si la moneda está cargada la información asociada a cada suceso es diferente. Por ejemplo, si
87)(,
81)( == XPCP bits193.0)( bits 3)( == XiCi
Rafael Molina Tema 2: Herramientas 7
Experimento
..
..
..
..
A1
Ai
AM
Los sucesos Ai son independientes y cubren todos los posibles resultados del experimento
La cantidad)log()()()(
11k
M
kkk
M
kk AAPAiAPH ∑∑
==
−==
Recibe el nombre de entropía asociada al experimento (fuente)
Shannon probó que lo mejor que un esquema de compresión sin pérdida puede hacer es codificar la salida de una fuente (experimento) con un número medio de bits igual a la entropía de la fuente.
Rafael Molina Tema 2: Herramientas 8
Es muy importante entender bien este teorema. Supongamos que tenemos una fuente con tres posibles resultados independiente A1, A2 y A3 de forma que
bits 5.12412
411
21
=×+×+×=H
41)()(
21)( 321 === APAPAP
La entropía de esta fuente vale
Un esquema de codificación que alcanza esta cota inferior es:
A1
A3
A2
0
10
11
Sin embargo, si la fuente genera los símbolos A2A2A2A2 es obvio que para esta secuencia en particular podríamos haber elegido otra codificación mejor. El teorema de Shannonhabla de comportamiento medio de una fuente.
Rafael Molina Tema 2: Herramientas 9
Sigamos entendiendo el teorema de Shannon.
Consideremos una fuente binaria con sucesos A1 y A2 que cumplen
P(A1)=p y P(A2)=1-p 0≤ p ≤1
1. Una codificación que le asigne un dígito binario (por ejemplo el cero) a A1 y el otro dígito binario (el uno) a A2, sólo será óptima si p=1/2.
2. Si p≠1/2, la entropía, H(p), es siempre mejor que uno y el teorema de Shannon nos dice que, al menos, teóricamente podemos hacerlo mejor que codificar A1 y A2 con un bit cada uno.
Su entropía vale H(p)=-plog(p)-(1-p)log(1-p) (ver gráfico)
Rafael Molina Tema 2: Herramientas 10
En la terminología de compresión, el conjunto de símbolos A generados por una fuente S recibe el nombre de alfabeto y los símbolos son llamados letras. Así pues, hablaremos de letras del alfabeto.
nnG
nH 1lim)(
∞→=S
Dada una fuente S que tiene un alfabeto A={1,2,…,m} que genera una sucesión {X1,X2,….} su entropía viene dada por
donde
( ) ( )∑ ∑= =
====−=m
i
m
innnnn
n
iXiXPiXiXPG1 1
11111
,,log,,... KK
y {X1,…,Xn} es una sucesión de longitud n de la fuente S.
(1)(1)
Rafael Molina Tema 2: Herramientas 11
Supongamos que las variables Xi son independientes e idénticamente distribuidas (iid) y notemos su distribución común mediante X. Puede probarse fácilmente que
( ) ( )
( ) ( )∑
∑ ∑
=
= =
==−==
====−=
m
i
m
i
m
innnnn
iXPiXPniid
iXiXPiXiXPGn
1
1 11111
log)(
,,log,,...1
KK
y la ecuación para la entropía se convierte en
( ) ( )∑=
==−=m
iiXPiXPH
1log)(S (2)
En general las entropías definidas en (1) (página anterior) y (2) no coinciden por lo que (2) suele recibir el nombre de entropía de primer orden y (1) entropía.
Rafael Molina Tema 2: Herramientas 12
¿Qué ocurre si queremos codificar una secuencia dada y no conocemos las probabilidades de las letras del alfabeto?.
Consideremos la secuencia
1 2 3 2 3 4 5 4 5 6 7 8 9 8 9 10
si suponemos independencia en cada observación (es decir, todas las variables Xi son iid) podemos estimar la probabilidad de ocurrencia de cada letra mediante su frecuencia en la secuencia obteniendo
162)9()8()5()4()3()2(
161)10()7()6()1(
======
====
PPPPPP
PPPP
Rafael Molina Tema 2: Herramientas 13
Usando estas probabilidades, la entropía de la fuente sería
bits 25.3)(log)(10
1=−= ∑
=iiPiPH
Puede probarse que lo mejor que podemos hacer para codificar esta secuencia es utilizar 16x3.25 bits supuesto que las 16 observaciones vienen de variables independientes idénticamente distribuidas.
Es importante entender la diferencia entre este resultado y el teorema de Shannon que hemos visto. El teorema de Shannonhabla de comportamiento medio y este resultado habla de una secuencia concreta con un modelo concreto de observaciones.
Recuerda que los 3.25 bits se alcanzan suponiendo iid en las 16 observaciones.
Rafael Molina Tema 2: Herramientas 14
Consideremos de nuevo la secuencia
1 2 3 2 3 4 5 4 5 6 7 8 9 8 9 10
ahora, para eliminar la correlación entre los datos calculamos la diferencia entre cada valor y el anterior. Obtenemos entonces la secuencia
1 1 -1 1 1 1 -1 1 1 1 1 1 -1 1 1de la que calculamos
bits 70.0)(153)1(
1512)1( ==−= SHPP
y podríamos codificar la secuencia desde el segundo elemento en el mejor de los casos, bajo las hipótesis que sabemos, con 15x0.70 bits.
Rafael Molina Tema 2: Herramientas 15
Observemos que en este caso tendríamos que codificar la secuencia
1 1 -1 1 1 1 -1 1 1 1 1 1 -1 1 1
y también enviar el primer valor, un uno y el modelo para la secuencia, es decir,
116,,2 11 ==+= − xnrxx nnn K
donde xn es el n-ésimo elemento de la secuencia original y rn es el n-ésimo elemento de la secuencia de residuos.
Este modelo se llama estático porque los parámetros no cambian con n. Un modelo en el que los parámetros cambian (o se adaptan) con n se llama adaptativo.
Rafael Molina Tema 2: Herramientas 16
Consideremos ahora la siguiente secuencia
1 2 1 2 3 3 3 3 1 2 3 3 3 3 1 2 3 3 1 2
Necesitaríamos 20x1.5=30 bits para representar la secuencia. Sin embargo, si consideramos dos símbolos consecutivos tendremos
lobits/símbo 5.1)(21)3(
41)2()1(
=
===
SH
PPP
Si miramos un símbolo cada vez tendremos
obit/símbol 1)(21)33()21(
=
==
SH
PP
Rafael Molina Tema 2: Herramientas 17
1. Obviamente cuanto mayor sea el tamaño de los bloques de letras del alfabeto más podemos, en principio, mejorar la compresión.
2. Sin embargo, hay obviamente un límite de tipo práctico en esta aproximación.
3. En la siguiente sección vamos a describir diferentes modelos usados en los métodos de compresión sin pérdida.
Necesitaríamos por tanto, con este modelo, 10x1=10 bits para representar la secuencia.
Rafael Molina Tema 2: Herramientas 18
II.3 Modelos para la compresión
II.3.1 Modelos físicos
Aunque el proceso físico de obtención de datos es, en muchos casos, muy complicado, hay situaciones en las que es posible el modelado de dicho proceso.
Veremos en el tema 7 como el modelo físico puede ser utilizado en problemas de compresión de audio.
Rafael Molina Tema 2: Herramientas 19
II.3.2 Modelos probabilísticos simples
El modelo probabilístico más simple que podemos usar es suponer que cada letra del alfabeto que se genera es independiente de las demás y que todas tienen la misma probabilidad. Es el llamado modelo de ignorancia que normalmente no es cierto y en el que, por desgracia, no podemos alcanzar mucha compresión.
Supongamos que m es el número de palabras del alfabeto. Si una fuente S sigue el modelo de ignorancia su entropía vale:
mmm
Hm
ilog1log1)(
1=−= ∑
=
S
Rafael Molina Tema 2: Herramientas 20
El modelo probabilístico siguiente en complicación mantiene la hipótesis de independencia, pero elimina la asignación de la misma probabilidad a todas las letras. Así pues, ahora tenemos para A={a1,…,am} el modelo de probabilidades P={P(a1),…,P(am)} siendo uno la suma de las probabilidades. Su entropía vale:
Si la hipótesis de independencia no es correcta, tenemos que utilizar otros modelos alternativos.
Ejemplos de estos modelos probabilísticos “más complicados” son los modelos de Markov que veremos a continuación.
( ) ( )∑=
==−=m
iiXPiXPH
1log)(S
Rafael Molina Tema 2: Herramientas 21
II.3.3 Modelos de MarkovLa forma más usada para representar dependencia entre datos es el uso de las cadenas de Markov.Los modelos de Markov utilizados en compresión sin pérdida son las llamadascadenas de Markov en tiempo discreto. Andrei Andreivich Markov
(1856-1922)
Una sucesión de observaciones {xn} se dice que sigue un modelo de Markov de orden k-ésimo si para todo n
),,,|(),,|( 11 KKK knnnknnn xxxPxxxP −−−− =Es decir, el conocimiento de los k símbolos anteriores es equivalente al conocimiento de todo el pasado. Los valores tomados por el conjunto {x1,…,xk} reciben el nombre deestado del proceso.
Rafael Molina Tema 2: Herramientas 22
El modelo de Markov más usado es el de primer orden en el que se tiene
),,|()|( 211 K−−− = nnnnn xxxPxxP
Podemos desarrollar diferentes modelos de primer orden dependiendo de la forma de dependencia entre las muestras.
Por ejemplo, podríamos utilizar el modelo lineal siguiente
Donde εn es ruido (normalmente blanco). Este modelo se utiliza frecuentemente en la codificación de imágenes y voz. Veamos con un ejemplo un modelo de Markov no lineal.
nnn xx ε+= −1
Rafael Molina Tema 2: Herramientas 23
B N
Supongamos que tenemos un texto en Blanco y Negro. Pensamos que la aparición de un píxel blanco en la siguiente observación depende de que hayamos observado un pÍxel blanco o negro en la observación actual.
Para el instante actual tenemos las probabilidades P(B) y P(N) y una vez observada la letra N o B tendremos, respectivamente, el modelo P(B|N), P(N|N) que cumple P(B|N)+P(N|N)=1 o P(B|B), P(N|B) que también cumple P(B|B)+P(N|B)=1. Gráficamente:
P(N|B)
P(B|N)
P(B|B) P(N|N)
Rafael Molina Tema 2: Herramientas 24
bits206.02.0log2.08.0log8.0)( =−−=SH
Supongamos que las probabilidades de nuestra fuente S son2.0)(8.0)( == NPBP
con7.0)|(3.0)|(01.0)|(99.0)|( ==== NNPNBPBNPBBP
Supongamos que queremos codificar a partir del segundo término una sucesión de Bs y Ns. Para el primero, obviamente, usamos como límite inferior la entropía correspondiente a las probabilidades P(B)=0.8 y P(N)=0.2.
Si suponemos independencia tendremos
Ejemplo II.3.1
Rafael Molina Tema 2: Herramientas 25
También podemos basarnos en la entropía de las distribuciones condicionadas a los dos casos posibles: ha salido una N
o ha salido una Bbits881.07.0log.003log3.0
))|(log()|())|(log()|()(=−−=
−−= NBPNBPNNPNNPH NS
bits081.099.0log99.001.0log01.0))|(log()|())|(log()|()(
=−−=−−= BBPBBPBNPBNPH BS
Por tanto, para la codificación a partir del segundo símbolo tendríamos como cota inferior
bits107.0081.08.0881.02.0)()()()()(
=×+×=+= NB SSS HNPHBPH
Casi la mitad de la obtenida cuando se supone independencia
Rafael Molina Tema 2: Herramientas 26
Como es obvio, los modelos de Markov son especialmente útiles para la compresión de texto un problema en el que la aparición de una letra condiciona la siguiente letra en aparecer.
Shannon utilizó un modelo de Markov de segundo orden para la lengua inglesa usando 26 letras y un espacio. Obtuvo una entropía de 3.1 bits/letra. Para un modelo de segundo orden basado en palabras y no en letras obtuvo una entropía de 2.4 bits/símbolo.
Conociendo las 100 letras anteriores, Shannon acotó la entropía del símbolo siguiente entre 1.3 y 0.6 bits. No obstante, si usamos un modelo de orden k con N letras para la predicción, tenemos Nk posibles contextos y muchos no aparecerán nunca como realización del sistema.
Rafael Molina Tema 2: Herramientas 27
Además dos contextos distintos (dos realizaciones previas de k letras) pueden dar lugar a probabilidades condicionadas muy distintas, con lo que será obligatorio ir adaptando estas probabilidades.
Desgraciadamente puede ocurrir que aparezca un símbolo que para el contexto que tenemos tenga probabilidad cero (el problema de la frecuencia cero) lo que nos obligará a enviar un código indicando que lo que ahora enviamos es nuevo.
Si esto ocurre frecuentemente tenemos un problema porque perderemos capacidad de compresión. Algunas soluciones están basadas en el algoritmo ppm (prediction with partiallymatch) que veremos en el tema 6.
Rafael Molina Tema 2: Herramientas 28
II.3.4 Modelo de fuente compuesta
Los modelos de fuente compuesta se pueden representar como un conjunto de fuentes individuales Si, en el que cada fuente Si tiene su modelo Mi y un conmutador que selecciona la fuente Si con probabilidad Pi.
El modelo es muy rico y puede usarse para describir procesos muy complicados.
Fuente 1Fuente 1
Fuente 2Fuente 2
Fuente nFuente n
...... conmutadorconmutador
Rafael Molina Tema 2: Herramientas 29
II.4 Codificación
Codificación: [significa normalmente] asignación de secuencias binarias a los elementos de un alfabeto.
Código: conjunto de secuencias binarias.
Palabra del código: elemento del código.
Ejemplo: Usando el código ASCII la letra a es codificada con la palabra del código 1000011 y la A mediante 1000001.
Los códigos que utilizan el mismo número de bits para todas las palabras se llaman códigos de longitud fija.
El número medio de bits por símbolo se llama razón (rate) del código.
Rafael Molina Tema 2: Herramientas 30
II.4.1 Códigos decodificables de modo único
Letra Probabilidad Código 1 Código 2 Código 3 Código 4
a1 0.5 0 0 0 0
a2 0.25 0 1 10 01
a3 0.125 1 00 110 001
a4 0.125 10 11 111 0001
Longitud media 1.125 1.25 1.75 1.875
Consideremos el ejemplo siguiente (ver tabla): nuestro alfabeto tiene cuatro letras con las probabilidades que muestra la tabla siguiente. La entropía de esta fuente es 1.75 bits/símbolo.
Rafael Molina Tema 2: Herramientas 31
Letra Probabilidad Código 1
a1 0.5 0
a2 0.25 0
a3 0.125 1
a4 0.125 10
Longitud media 1.125
El primer código parece el mejor en cuanto a la longitud media.
Sin embargo los símbolos a1 y a2 han sido asignados a la misma palabra.
Cuando leemos un cero no sabemos de qué símbolo viene
Necesitamos trabajar con códigos que asignan palabras distintas a símbolos distintos.
Rafael Molina Tema 2: Herramientas 32
Letra Probabilidad Código 2
a1 0.5 0
a2 0.25 1
a3 0.125 00
a4 0.125 11
Longitud media 1.25
Este código no parece tener el problema de la ambigüedad.
Sin embargo si tenemos la secuencia de bits 100 su decodificación no es única.
En general esta no es una buena propiedad del código aunque a veces tiene arreglo (ahora lo veremos)
Nos gustaría que la secuencia tuviera una decodificación únicapor el decodificador.
Rafael Molina Tema 2: Herramientas 33
La regla de decodificación de este código es simple:
Acumular dígitos hasta que encontremos un cero o encontremos tres unos consecutivos.
Este tipo de códigos recibe el nombre de instantáneos. Cuando llega una letra del alfabeto somos capaces de decodificarla inmediatamente.
Letra Probabilidad Código 3
a1 0.5 0
a2 0.25 10
a3 0.125 110
a4 0.125 111
Longitud media 1.75
Rafael Molina Tema 2: Herramientas 34
La regla de decodificación de este código es muy simple:
La decodificación consistirá en acumular dígitos hasta que encontremos un cero. El bitanterior al cero es el último de la anterior palabra
Este código no es instantáneo, aunque casi cumple la condición. La condición de instantaneidad es interesante pero no es obligatoria como veremos a continuación.
Letra Probabilidad Código 4
a1 0.5 0
a2 0.25 01
a3 0.125 011
a4 0.125 0111
Longitud media 1.875
Rafael Molina Tema 2: Herramientas 35
Estudiemos un poco más la instantaneidad de los códigos. Consideremos la codificación proporcionada por la tabla a la izquierda y decodifiquemos la secuencia 011111111111111111
Letra Código 4
a1 0
a2 01
a3 11
Decodificando empezando por a1 (0) obtendríamos:
0 11 11 11 11 11 11 11 11 1
a1 a3 a3 a3 a3 a3 a3 a3 a3 No válido
Empezando por a2obtendríamos la decodificación válida:
01 11 11 11 11 11 11 11 11
a2 a3 a3 a3 a3 a3 a3 a3 a3
Obviamente el código no es instantáneo, pero probaremos después que todas las secuencias de dígitos (no sólo ésta) son decodificables de modo único.
Rafael Molina Tema 2: Herramientas 36
Consideremos la codificación proporcionada por la tabla de la izquierda y decodifiquemos la secuencia 01010101010101010
Letra Código 4
a1 0
a2 01
a3 10
Decodificando empezando por a1 (0) obtendríamos la codificación válida:
0 10 10 10 10 10 10 10 10
a1 a3 a3 a3 a3 a3 a3 a3 a3
Empezando por a2obtendríamos la decodificación también válida:
01 01 01 01 01 01 01 01 0
a2 a2 a2 a2 a2 a2 a2 a2 a1
Por tanto este código no produce secuencias decodificables de modo único.
Rafael Molina Tema 2: Herramientas 37
II.4.2 Test para decodificación única
Definición: Supongamos que tenemos dos palabras, a y b, de un código binario donde a tiene k bits y b tiene n bits con k<n.
Si los k primeros bits de b coinciden con a, diremos que a es un prefijo de b.
Los restantes n-k bits de b reciben el nombre de sufijo restante.
Ejemplo: si a=010 y b=01011 entonces a es prefijo de b y el sufijo restante es 11
Rafael Molina Tema 2: Herramientas 38
Test sobre decodificación única
1. Construir una lista con todas las palabras del código,2. Examinar todos los pares de palabras del código para
ver si una palabra es prefijo de otra,3. Cada vez que encontremos una palabra prefijo de otra,
añadir el sufijo restante a la lista antes construida,4. Repetir el proceso usando esta lista mayor,5. Continuar el proceso hasta que ocurra uno de los
siguientes sucesos1. Obtenemos un sufijo restante que es una palabra
del código,2. No hay más sufijos restantes nuevos.
El el primer caso el código no será decodificable de modo único y en el segundo sí.
Rafael Molina Tema 2: Herramientas 39
Ejemplo II.4.1
Consideremos la fuente S={0,01,11} y la lista inicial L={0,01,11}.
La palabra 0 es prefijo de 01 y no hay ningún otro par de palabras que cumplan esta condición. Generamos la nueva lista
L={0,01,11,1}.
En ella, el código sufijo añadido no es una palabra del código original.
Repetimos el proceso con L pero vemos que no añadimos ningún sufijo restante nuevo.El código es decodificable de modo único..
Rafael Molina Tema 2: Herramientas 40
Ejemplo II.4.2
Consideremos la fuente S={0,01,10} y la lista L={0,01,10}
La palabra 0 es prefijo de 01 y no hay ningún otro par de palabras que cumplan esta condición. Generamos la nueva lista
L={0,01,10, 1 }.
En ella, el código sufijo añadido no es una palabra del código original.
Repetimos el proceso con L y vemos que 1 es prefijo del 10 y el sufijo restante 0 es una palabra del código original.
El código no es decodificable de modo único.
añadido
Rafael Molina Tema 2: Herramientas 41
II.4.3 Códigos prefijo
Un tipo de códigos en el que el sufijo restante no es nunca una palabra del código son los llamados códigos prefijo.
Código prefijo: código en el que ninguna palabra del código es prefijo de otra palabra del código.
Para comprobar si un código es prefijo:1. Dibujamos un árbol binario para el código (la rama
izquierda se utilizará para el cero y la derecha para el uno).
2. En un código prefijo las palabras del código estarán asociadas sólo a nodos externos (hojas).
Rafael Molina Tema 2: Herramientas 42
Letra Código 2
a1 0
a2 1
a3 00
a4 11
No es prefijo
Letra Código 3
a1 0
a2 10
a3 110
a4 111
Sí es prefijoa4
a1
a2
a3
a2
a3
a1
a4
Árbol binario
Rafael Molina Tema 2: Herramientas 43
a4
a1
a2
a3
Letra Código 4
a1 0
a2 01
a3 011
a4 0111
No es prefijo
Sin embargo, puede probarse fácilmente que este código cumple la condición de decodificación única. Ser código prefijo es una condición suficiente para ser decodificable de modo único pero no es necesaria.
Árbol binario
Rafael Molina Tema 2: Herramientas 44
¿Podríamos encontrar palabras más cortas si no usásemos sólo códigos prefijo?.
Puede probarse que para cualquier código no prefijo decodificable de modo único, podemos encontrar siempre un código prefijo con la misma longitud de palabras.
Rafael Molina Tema 2: Herramientas 45
II.4.4 Decodificación de una secuencia de palabras en código prefijo
Para decodificar una secuencia codificada usando un código prefijo sólo tenemos que ejecutar el siguiente algoritmo:
RepetirComenzar en el nodo del árbolrepetir
if leer bit = 1 entonces ir derechaelse ir izquierda
hasta que el nodo es una hojamostrar la hoja (o camino hasta la hoja)
Hasta final de la secuencia
Rafael Molina Tema 2: Herramientas 46
Decodifiquemos la secuencia 110001 para el siguiente árbol que corresponde a un código prefijo.
a
c
b
0 1
0 11
Rafael Molina Tema 2: Herramientas 47
a
c
b
0 1
0 1
110001
a
c
b
0 1
0 1
110001 c
Indica nodo que vamos recorriendo.
Dígito en rojo, el bit que vamos recorriendo
Decodificación actual:
Rafael Molina Tema 2: Herramientas 48
a
c
b
0 1
0 1
110001
a
c
b
0 1
0 1
110001ccDecodificación actual:
Rafael Molina Tema 2: Herramientas 49
a
c
b
0 1
0 1
110001
a
c
b
0 1
0 1
110001
a
c
b
0 1
0 1
110001cca : Decodificación actual
Rafael Molina Tema 2: Herramientas 50
a
c
b
0 1
0 1
110001
a
c
b
0 1
0 1
110001
a
c
b
0 1
0 1
110001ccab : Decodificación actual
Rafael Molina Tema 2: Herramientas 51
II.5 Resumen del tema
1. Bases de la teoría de la información,2. Modelos para la compresión,3. Decodificación única,4. Códigos prefijo.
Rafael Molina Tema 2: Herramientas 52
II.6 Bibliografía
K. Sayood, “Introduction to Data Compression”, Morgan and Kaufmann, 2000.
Temas 2 y 3 del curso de compresión de datos impartido en ChalmersUniversity of Technology (Suecia), curso 2003-2004. (tema2_chalmers.pdf y tema3_chalmers.pdf )Tema 1 del curso de compresión de datos impartido en Stony BrookUniversity (NY, USA), 2002-2003. (tema1_stony_univ.pdf).
Material Complementario