Está en la página 1de 42

Teoría de la Información

2 de mar de 2004 Codificación de imágenes y v ideo


El clima en el Río de la Plata...

N: nublado; S: soleado; L: lluvia; T: tormenta

N L N L T S L ...
N N N T N S N ...
N L S S N N S ...
T T S S L S N ...
L L N S L N N ...
L L L T L L N ...
N S L N N L N ...

p(N)=0.5, p(S)=0.25, p(L)=0.125, p(T)=0.125

2 de mar de 2004 Codificación de imágenes y v ideo 2


Motivación

 Para comunicar estos cuatro símbolos se acuerda usar


el siguiente código:
C(N) = 00
C(S) = 01
C(L) = 10
C(T) = 11

 Típicamente uno se pasa usando el código C(N)=00.


La pregunta es: ¿existe otra codificación más
eficiente?

2 de mar de 2004 Codificación de imágenes y v ideo 3


Formalización

 Se puede considerar al estado del tiempo como una


variable aleatoria discreta X, con un alfabeto

A={N,L,T,S}
y una función de probabilidad

p(x)=Probabilidad(X=x)
con x en A.

2 de mar de 2004 Codificación de imágenes y v ideo 4


Formalización: información

 Dado que típicamente esta nublado, el símbolo N


contiene poca “información”, es “predecible”, es más
probable, “no es noticia”.
 Información. Una medida de la información podría ser:

I(x) = -log2(p(x))

 I(N) = 1, I(S) = 2, I(L) = 3, I(T) = 3

2 de mar de 2004 Codificación de imágenes y v ideo 5


Información

 ¿Qué pasa si supiéramos que siempre está nublado (p


(N)=1)?. En este caso I(N) = 0, podemos predecir con
probabilidad 1 que va a estar nublado, no hay
incertidumbre, no hay información.

 La situación de mayor incertidumbre es cuando p(N)


=p(L)=p(S)=p(T)=1/4.

2 de mar de 2004 Codificación de imágenes y v ideo 6


Información

 Si pudiéramos elegir libremente (símbolos


equiprobables) entre 2 símbolos necesitaríamos 1 bit,
para 16 símbolos necesitaríamos 4 bits y en general
para N símbolos se necesitan log2(N) bits.

 log2(N) = -log2(1/N), lo que nos dice que hay una


relación entre información y cantidad de bits
necesarios.

2 de mar de 2004 Codificación de imágenes y v ideo 7


Entropía

 La entropía H(X) es la media de la información de la


fuente:

H ( X )  EI ( x)   p( x) log 2 p ( x)


X
 Idea: La entropía mide la información media, y por
tanto, la cantidad media de símbolos necesarios.

2 de mar de 2004 Codificación de imágenes y v ideo 8


Entropía

 Se puede ver fácilmente H(X)>=0. Esto corresponde


al caso de menor incertidumbre

 Además, H(X)<=log(|A|), |A|=cantidad de elementos


A. Lo que corresponde al caso de mayor
incertidumbre, símbolos equiprobables.

2 de mar de 2004 Codificación de imágenes y v ideo 9


Entropía

 Definición: x es una variable aleatoria discreta


(V.A.D.) con probabilidad p(x) y un conjunto de
mensajes posibles A={x1,...,xN}.
 Definición: Entropía

H ( X )   p ( x) log p ( x)
xA

 Observación: H(X) = E{ -log p(X) }

2 de mar de 2004 Codificación de imágenes y v ideo 10


Ejemplos de códigos

Evento Probabilidad Código 1 Código 2

Nublado 0.5 00 0

Sol 0.25 01 10

Lluvia 0.125 10 110

Tormenta 0.125 11 111

2 de mar de 2004 Codificación de imágenes y v ideo 11


Largo medio
 El largo medio de estos códigos es:

L  E{C ( x)}   p ( x)C ( x)


X

donde C(x) es el largo de x.


 Para este caso
L1 = 2
L2 = 0.5 x 1 + 0.25 x 2 + 0.125 x 3 + 0.125 x 3 = 1.75
H(x) =1.75

Alcanzamos la entropía.

2 de mar de 2004 Codificación de imágenes y v ideo 12


Largo medio: ejemplo
 Fuente con dos símbolos X={x1,x2}, con probabilidades
p1 y p2.

 Caso 1
p1=p2=0.5; x1=”0”; x2=”1”
H(X)=0.5 x log2(2) + 0.5 x log2(2) = 1
L = 0.5 x 1 + 0.5 x 1 = 1

 Caso 2
p1=0.1; p2=0.9; x1=”0”; x2=”1”
H(X)=0.1 x log2(10) + 0.9 x log2(10/9) = 0.467
L = 0.1 x 1 + 0.9 x 1 = 1

2 de mar de 2004 Codificación de imágenes y v ideo 13


Shannon

 Se puede demostrar que no existe ningún código que


permita codificar a un bit-rate menor a la entropía.
 Teorema (Shannon 1948)

min{L}  H ( X )
 Se puede demostrar también que el bit rate se puede
acercar arbitrariamente a la entropía.

2 de mar de 2004 Codificación de imágenes y v ideo 14


Entropía conjunta

 Definición: La entropía conjunta H(X,Y) de un par de


variables aleatorias con distribución p(x,y) es:

H ( X , Y )  E{ log p ( x, y )} 
  p ( x, y ) log p( x, y )
 Teorema (Regla de la cadena):

H ( X , Y )  H ( X )  H (Y | X )

2 de mar de 2004 Codificación de imágenes y v ideo 15


Entropía Condicional

 Definición: La entropía condicional de dos variables


(X,Y)~p(x,y) es:

H (Y | X )   p( x)H (Y | X  x ) 
x A ( X )

   p (x , y ) log p( y | x)
x A ( X ) y A (Y )

 Observación: A(X) es el alfabeto de X

2 de mar de 2004 Codificación de imágenes y v ideo 16


Kullback-Leibler
 Definición: La entropía relativa o “distancia” Kullback-
Leibler entre dos distribuciones de probabilidad p(x) y
q(x) se define como:

 p( x)    p( x)  
D( p || q )   p( x) log   E log  
x A  q( x)    q( x)  

 Teorema:
D( p || q )  0
y la igualdad se cumple si p(x)=q(x)

2 de mar de 2004 Codificación de imágenes y v ideo 17


Kullback-Leibler: Aplicaciones

 Teorema: H(X) <= log(|A|)

 Teorema: El condicionar reduce la entropía,


H(Y|X) <= H(Y)
y la igualdad se da si X e Y son independientes.

2 de mar de 2004 Codificación de imágenes y v ideo 18


Extensión de una fuente

 Extensión de orden N
zi=(xi1, xi2, ... , xiN)
p(zi)= p(xi1) p(xi2)... p(xiN)

 Teorema:
H(XN)=N.H(X)

2 de mar de 2004 Codificación de imágenes y v ideo 19


Extensión de una fuente: ejemplo
 Fuente con dos símbolos X={x1,x2}, con probabilidades
p1=0.1 y p2=0.9
Z={x1x1, x1x2, x2x1, x2x2}
p(Z)={0.01, 0.09, 0.09, 0.81}

H(Z)=0.01 x log2(100) + 2 x ( 0.09 x log2(100/9) )


+ 0.81xlog2(100/81) = 0.934=2 x 0.467

C1={“00”,“01”,“10”,“11”}
L1 = 0.01 x 2 + 2 x ( 0.09 x 2 ) + 0.81 x 2 = 2

C2={“111”,“110”,“10”,“0”}
L2 = 0.01 x 3 + 0.09 x 3 + 0.09 x 2 + 0.81 x 1 = 1,29

2 de mar de 2004 Codificación de imágenes y v ideo 20


Regla de la cadena

 Teorema: (Regla de la cadena) (X1,...,Xn) ~ p(x1,...,xn):

n
H ( X1 ,..., X n )   H ( X i | X i 1 ,..., X1 )
i 1

 Teorema:

n
H ( X1 ,..., X n )   H ( X i )
i 1

2 de mar de 2004 Codificación de imágenes y v ideo 21


Dependencia

 Observando el estado del tiempo en días sucesivos se


ve que el estado del tiempo en un día depende del día
anterior y condiciona el siguiente.

 No es simplemente una variable aleatoria sin


memoria.

2 de mar de 2004 Codificación de imágenes y v ideo 22


Formalización: Markov de orden k

 Una fuente se dice Markov de orden k si símbolos


sucesivos son estadísticamente dependientes, i.e. cada
símbolo depende de los k anteriores

 Una fuente MKS se especifica con:

p ( X i  x | X i 1 , , X i  k )i, k

2 de mar de 2004 Codificación de imágenes y v ideo 23


MKS: Entropía
 La entropía de una fuente markov se define a partir de
la entropía condicional

H ( X | X i1, , X i  k ) 
 p( X i  x | X i 1, , X i k ) log 2 p( X i  x | X i 1 , , X i k )

H MKS ( X )   p ( X i 1 ,  , X i  k ) H ( X | X i 1 , , X i  k )

 En general HMKS(X) < H DMS(X), por lo tanto, podríamos


comprimir aún más!

 Vale el resultado H(XN)=N.H(X)

2 de mar de 2004 Codificación de imágenes y v ideo 24


Métodos para símbolos
dependientes

 Codificación condicional: Se calculan las nuevas


probabilidades dado el símbolo anterior. (H(X|Y)<H(X)
)

 Codificación en bloques: Se agrupan símbolos


consecutivos en bloques (nuevos símbolos).

 Codificación predictiva: Dado Xi predecimos Xi+1 y


codificamos la diferencia.

2 de mar de 2004 Codificación de imágenes y v ideo 25


Ejemplo: codificación
predictiva de imágenes

 Idea: Usa la redundancia presente en la imagen (la


correlación entre los píxeles) para estimar el nivel de
gris en (i,j): Î(i,j). Error: e(i,j)=Î(i,j)-I(i,j).

 Compresión con pérdidas. Los valores de e(i,j) son


cuantificados y comprimidos.

 Compresión sin pérdidas. La señal e no es


cuantificada.

2 de mar de 2004 Codificación de imágenes y v ideo 26


Ejemplo: codificación
predictiva de imágenes

 Predicción lineal. T: template con píxeles anteriores

x̂   ai xi
iT
 El alfabeto de los errores de predicción será el doble
de grande que el original.

 Un buen predictor minimiza el error; el símbolo más


probable será el 0.

2 de mar de 2004 Codificación de imágenes y v ideo 27


Ejemplo: codificación
predictiva de imágenes

2 de mar de 2004 Codificación de imágenes y v ideo 28


Ejemplo: codificación
predictiva de imágenes

 La predicción es Î=(a+b+c+d)/4.

2 de mar de 2004 Codificación de imágenes y v ideo 29


Ejemplo: codificación
predictiva de imágenes

 Imagen diferencia y su histograma

2 de mar de 2004 Codificación de imágenes y v ideo 30


Ejemplo: codificación
predictiva de imágenes

 ¿Cómo hallar los ai ?

Iˆ  a1 I (i, j  1)  a2 I (i  1, j  1)  a3 I (i  1, j )
 Si asumimos I estacionario con media 0. Encontramos
los ai minimizando la esperanza del error.

a1R( 0,0)  a2 R( 0,1)  a3 R (1,1)  R (1,0)


a1R( 0,1)  a 2R (0,0)  a3 R (1,0)  R(1,1)
a1R(1,1)  a2 R(1,0)  a3 R( 0,0)  R (0,1)

2 de mar de 2004 Codificación de imágenes y v ideo 31


Códigos

 Definición: Un código de fuente C, para una V.A.D, es


un mapeo de A a D*, el conjunto de secuencias finitas
de símbolos de una alfabeto D.
N
D*   D i

i 1
 Observación: C(x) es el código para x y l(x) su largo

 Observación: Típicamente usaremos:


D =B = {0,1}

2 de mar de 2004 Codificación de imágenes y v ideo 32


Códigos: Largo Esperado

 Definición: El largo esperado de un código de fuente C


es:

L(C )   p ( x)l ( x)
 Ejemplo: x A
A={N,S,L,T}
p(N)=1/2 p(S)=1/4 p(L)=p(T)=1/8
C(N)=0 C(S)=10 C(L)=110 C(T)=111.
l(N)=1 l(S)=2 l(L)=l(T)=3
L (C)=1,75

2 de mar de 2004 Codificación de imágenes y v ideo 33


Códigos no singulares

 Definición: Un código se dice no singular si cada


elemento de A se mapea en un elemento diferente en
D*.

 Definición: La extensión C* de C es el mapeo de


secuencias de símbolos de A en secuencias de D,
C(x1x2...xn)=C(x1)C(x2)...C(xn)

2 de mar de 2004 Codificación de imágenes y v ideo 34


Códigos de decodificación única

 Definición: Un código se dice de decodificación única


si su extensión es no singular.

 Definición: Un código es instantáneo si ninguna


palabra de código es prefijo de otra.

no unívocamente instantáneos
singulares decodificables

códigos no
no
unívocamente instantáneos
decodificables
singulares

2 de mar de 2004 Codificación de imágenes y v ideo 35


Desigualdad de Kraft

 Teorema: Para cada código instantáneo sobre un


alfabeto de dimensión d=|D|, los largos de las palabras
del código, li , deben satisfacer:

d i
 li
1
Dados li que cumplen lo anterior, existe un código
instantáneo con esos largos.

2 de mar de 2004 Codificación de imágenes y v ideo 36


Códigos óptimos

 Teorema: El largo esperado (L) de cualquier código


instantáneo (C) para una V.A.D cumple

LC   H  X 
y se da la igualdad si y solo si d-li = pi

(1er. Teorema de Shannon)

2 de mar de 2004 Codificación de imágenes y v ideo 37


Cotas para el L óptimo

 1 
 Motivación para log  
 p x  

 Teorema: Sean li* los largos de los códigos óptimos y


L* el largo esperado asociado entonces:

H ( X )  L*  H ( X )  1

2 de mar de 2004 Codificación de imágenes y v ideo 38


Codificación en bloques

 ¿Que pasa si juntamos símbolos?


 C(x1...xn), l(x1...xn)
 Definición: Largo esperado por símbolo
1
Ln   p ( x1 ,..., xn ) l ( x1 ...xn )
n
 Corolario: Para Xi I.I.D

1
H ( X )  Ln  H ( X ) 
n
2 de mar de 2004 Codificación de imágenes y v ideo 39
Códigos de Huffman

 ¿Podemos llegar a codificar con H(X) bits?


 Idea: Usar códigos más cortos para símbolos más
probables (Código Morse).

 Ejemplo. C(N)=0, C(S)=10, C(L)=110, C(T)=111.

 ¿Cómo encontrar el código óptimo de forma


sistemática?

2 de mar de 2004 Codificación de imágenes y v ideo 40


Algoritmo de Huffman

0 0
0 p(N)=0.5 p(N)=0.5 p(N)=0.5 0

10 10
10 p(S)=0.25 p(S)=0.25

110 p(Y)=0.5 1
110 p(L)=0.125

p(X)=0.25
11
111 p(T)=0.125
111

2 de mar de 2004 Codificación de imágenes y v ideo 41


Run Length Encoding

 Útil cuando símbolos consecutivos son idénticos. Cada


símbolo es seguido por el número de repeticiones.

 Zero run length coding

2 de mar de 2004 Codificación de imágenes y v ideo 42

También podría gustarte