02 Informacion Modelos Codificacionx2

Share Embed Donate


Short Description

Download 02 Informacion Modelos Codificacionx2...

Description

Tema 2: Teoría de la Información, Modelos para la Compresión, Codificación. Rafael Molina Depto de Ciencias de la Computación e Inteligencia Artificial Universidad de Granada Rafael Molina

Tema 2: Herramientas

1

Contenidos

• 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 Rafael Molina

Tema 2: Herramientas

2

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

3

II.2 Breve Introducción a la teoría de la Información 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.

C. Shannon 1916-2001

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

1 i ( A) log P ( A)

Rafael Molina

 log P( A)

Tema 2: Herramientas

El logaritmo será siempre entendido en base dos 4

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: i ( AB)

Rafael Molina

1  log P ( AB) [ indep. ] P ( AB)  log P ( A)  log( B ) i ( A)  i ( B )

log

Tema 2: Herramientas

5

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. Ejemplo 2.1: Sean cara (C) y cruz (X) los posibles resultados de lanzar una moneda. Si la moneda no está sesgada tendremos

P (C )

P( X )

1 2

e

i (C ) i ( X ) 1 bit

Si la moneda está cargada la información asociada a cada suceso es diferente. Por ejemplo, si

P (C ) Rafael Molina

1 , P( X ) 8

7 8

i (C ) 3 bits i ( X ) 0.193 bits

Tema 2: Herramientas

6

. . . .

Experimento

A1 Ai AM

La cantidad M

H

¦ P( A )i( A ) k

k

k 1

Los sucesos Ai son independientes y cubren todos los posibles resultados del experimento M

¦ P ( Ak ) log( Ak ) k 1

Recibe el nombre de entropía de primer orden 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

7

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. 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

H (S )

1 lim Gn nof n

donde

Gn

m

m

i1 1

in 1

¦ ...¦ P X 1

i1 ,  , X n

(1) Observa: nos dará el número medio de bits por símbolo (letra)

in log P X 1

i1 , , X n

in

y {X1,…,Xn} es una sucesión de longitud n de la fuente S. Rafael Molina

Tema 2: Herramientas

8

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

Gn

m

m

i1 1

in 1

¦ ...¦ P X 1

i1 ,  , X n

m

(iid )

n¦ P X

in log P X 1

i log P X

i1 ,  , X n

in

i

i 1

y la ecuación para la entropía se convierte en m

H (S ) ¦ P X

i log P X

i

(2)

i 1

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

9

Es muy importante entender bien este teorema. Supongamos que tenemos una fuente cuyas realizaciones son independientes con tres posibles resultados A1, A2 y A3 de forma que

P ( A1 )

1 2

P ( A2 )

P ( A3 )

La entropía de esta fuente vale

H

1 4

1 1 1 u 1  u 2  u 2 1.5 bits 2 4 4

Un esquema de codificación que alcanza esta cota inferior es: A1 A2 A3 Rafael Molina

0 Sin embargo, si la fuente genera los símbolos A2A2A2A2 es obvio que para esta secuencia en 10 particular podríamos haber elegido otra codificación mejor. El teorema de Shannon habla 11 de comportamiento medio. Tema 2: Herramientas

10

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

Su entropía vale H(p)=-plog(p)-(1-p)log(1-p) (ver gráfico) 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 p1/2, la entropía, H(p), es siempre menor 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. Rafael Molina

Tema 2: Herramientas

11

¿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) y estimamos la probabilidad de ocurrencia de cada letra mediante su frecuencia en la secuencia obtenemos

P (1) P ( 2) Rafael Molina

P (3)

P ( 6) P ( 4)

P (7)

P (10)

1 16

P (5)

P (8)

P (9)

Tema 2: Herramientas

2 16 12

Usando estas probabilidades, la entropía de la fuente sería 10

H

¦ P (i ) log P (i ) 3.25 bits i 1

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 Shannon habla 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

13

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 (además del uno inicial) 1 1 -1 1 1 1 -1 1 1 1 1 1 -1 1 1 de la que calculamos

P (1)

12 15

P ( 1)

3 15

H ( S ) 0.70 bits

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

14

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,

xn

xn 1  rn

n 2,  ,16 x1 1

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

15

Consideremos ahora la siguiente secuencia 12123333123333123312 Si miramos un símbolo cada vez tendremos

1 1 P (3) 4 2 H ( S ) 1.5 bits/símbo lo

P (1)

P ( 2)

Necesitaríamos 20x1.5=30 bits para representar la secuencia. Sin embargo, si consideramos dos símbolos consecutivos tendremos

1 2 H ( S ) 1 bit/símbol o P(1 2) Rafael Molina

P(3 3)

Tema 2: Herramientas

16

Necesitaríamos por tanto, con este modelo, 10x1=10 bits para representar la secuencia.

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. Rafael Molina

Tema 2: Herramientas

17

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 como el modelo físico puede ser utilizado en problemas de compresión de audio.

Rafael Molina

Tema 2: Herramientas

18

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 letras del alfabeto. Si una fuente S sigue el modelo de ignorancia su entropía vale: m

1 1 H (S ) ¦ log m i 1 m Rafael Molina

log m

Tema 2: Herramientas

19

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: m

H (S ) ¦ P X

i log P X

i

i 1

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. Rafael Molina

Tema 2: Herramientas

20

II.3.3 Modelos de Markov La 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 llamadas cadenas 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

P( xn | xn 1 , , xn k ) P( xn | xn 1 ,, xn k ,) 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 de estado del proceso. Rafael Molina

Tema 2: Herramientas

21

El modelo de Markov más usado es el de primer orden en el que se tiene

P( xn | xn 1 , xn  2 , )

P( xn | xn 1 )

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

xn

xn 1  H n

Donde n es ruido (normalmente blanco). Este modelo se utiliza frecuentemente en la codificación de imágenes y voz. Veamos un modelo de Markov para codificación de fax. Rafael Molina

Tema 2: Herramientas

22

Supongamos que tenemos un texto en Blanco y Negro. Pensamos que la aparición de un píxel blanco (B) en la siguiente observación depende de que hayamos observado un pixel blanco (B) o negro (N) en la observación actual. Para el instante actual tenemos las probabilidades P(B) y P(N): 1. Una vez observada la letra N tendremos P(B|N) y P(N|N) que cumplen P(B|N)+P(N|N)=1 2. Una vez observada la letra B tendremos P(B|B) y P(N|B) que también cumplen P(B|B)+P(N|B)=1. Gráficamente:

P(N|B) P(N|N)

P(B|B) B

N P(B|N)

Rafael Molina

Tema 2: Herramientas

23

Ejemplo II.3.1 Supongamos que las probabilidades asociadas a nuestra fuente S son con

P ( B ) 0 .8 P ( N ) 0 .2

P ( B | B ) 0.99 P ( N | B ) 0.01 P ( B | N ) 0.3 P ( N | N ) 0.7 Supongamos que queremos codificar a partir término una sucesión de Bs y Ns. Para obviamente, usamos como límite inferior correspondiente a las probabilidades P(B)=0.8 y

del segundo el primero, la entropía P(N)=0.2.

Si suponemos independencia tendremos

H (S ) 0.8 log 0.8  0.2 log 0.2 0.206 bits Rafael Molina

Tema 2: Herramientas

24

También podemos basarnos en la entropía de las distribuciones condicionadas a los dos casos posibles: Observada una N

H (SN )  P( N | N ) log( P ( N | N ))  P ( B | N ) log( P ( B | N )) 0.3 log 03  0. log 0.7 0.881 bits

Observada una B

H (SB )  P( N | B ) log( P( N | B ))  P ( B | B ) log( P ( B | B )) 0.01 log 0.01  0.99 log 0.99 0.081 bits Por tanto, para la codificación a partir del segundo símbolo tendríamos como cota inferior

H (S )

P ( B ) H (SB )  P( N ) H (SN ) 0.2 u 0.881  0.8 u 0.081 0.107 bits

Casi la mitad de la obtenida cuando se supone independencia. Rafael Molina

Tema 2: Herramientas

25

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

26

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 1

Fuente 2

.. .

conmutador

Fuente n Rafael Molina

Tema 2: Herramientas

27

II.4 Codificación Un alfabeto será un conjunto de símbolos llamados letras. Codificación(para nosotros)=asignación de secuencias binarias a letras de un alfabeto. El conjunto de secuencias binarias se llama código. Los miembros individuales del conjunto se llaman palabras del código. Un alfabeto pueden ser las letras mayúsculas y minúsculas y algunos símbolos de punrtuación. Estos elementos se llamarán letras. A cada letra le asignamos un código en binario (palabra de código) y el conjunto total se llama código. ASCII es un código de longitud fija. Rafael Molina

Tema 2: Herramientas

28

II.4.1 Códigos decodificables de modo único Consideremos el ejemplo siguiente (ver tabla): nuestro alfabeto tiene cuatro letras con las probabilidades que se muestran y pensamos en asignarles los siguientes códigos. La entropía de esta fuente es 1.75 bits/símbolo. 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 Rafael Molina

Letra

1.125

1.25

Tema 2: Herramientas

Probabilidad

Código 1

a1

0.5

0

a2

0.25

0

a3

0.125

1

a4

0.125

10

Longitud media

1.125

1.75

1.875 29

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

30

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.

Nos gustaría que la secuencia tuviera una decodificación única por el decodificador.

Rafael Molina

Letra

Tema 2: Herramientas

Probabilidad

Código 3

a1

0.5

0

a2

0.25

10

a3

0.125

110

a4

0.125

111

Longitud media

31

La regla de decodificación de este código es simple: Acumular dígitos hasta que encontremos un cero o encontremos tres unos consecutivos.

1.75

Este tipo de códigos recibe el nombre de instantáneos. Cuando llega una codificación de un mensaje somos capaces de decodificarla inmediatamente. Rafael Molina

Tema 2: Herramientas

32

Letra

Probabilidad

Código 4

La regla de decodificación de este código es muy simple:

a1

0.5

0

a2

0.25

01

a3

0.125

011

a4

0.125

0111

Longitud media

La decodificación consistirá en acumular dígitos hasta que encontremos un cero. El bit anterior al cero es el último de la anterior palabra

1.875

Este código no es instantáneo, aunque casi cumple la condición de instantaneidad. La condición de instantaneidad es interesante pero no es obligatoria como veremos a continuación. Rafael Molina

Tema 2: Herramientas

Letra

Código 4

a1

0

a2

01

a3

11

Decodificando empezando por a1 (0) obtendríamos:

33

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

0

11

11

11

11

11

11

11

11

1

a1

a3

a3

a3

a3

a3

a3

a3

a3

No válido

Empezando por a2 obtendrí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

34

Letra

Código 4

a1

0

a2

01

a3

10

Decodificando empezando por a1 (0) obtendríamos la codificación válida: Empezando por a2 obtendríamos la decodificación también válida:

Consideremos la codificación proporcionada por la tabla de la izquierda y decodifiquemos la secuencia 01010101010101010

0

10

10

10

10

10

10

10

10

a1

a3

a3

a3

a3

a3

a3

a3

a3

01

01

01

01

01

01

01

01

a2

a2

a2

a2

a2

a2

a2

a2

0 a1

Por tanto este código no produce secuencias decodificables de modo único. Rafael Molina

Tema 2: Herramientas

35

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
View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF