Teoría de la Información

Anuncio
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
2 de mar de 2004
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
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” KullbackLeibler 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
memoria.
2 de mar de 2004
una
variable
Codificación de imágenes y v ideo
aleatoria
sin
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
 p( X
H ( X | X i1, , X i  k ) 
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
consecutivos en bloques (nuevos símbolos).
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
cuantificada.
2 de mar de 2004
pérdidas.
La
Codificación de imágenes y v ideo
señal
e
no
es
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
i
D*   D
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)
x A
 Ejemplo:
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
palabra de código es prefijo de otra.
no
singulares
códigos
singulares
2 de mar de 2004
ninguna
unívocamente
decodificables
instantáneos
no
unívocamente
decodificables
no
instantáneos
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
 li
1
i
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
 Motivación para
 1 
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
sistemática?
2 de mar de 2004
el
código
Codificación de imágenes y v ideo
óptimo
de
forma
40
Algoritmo de Huffman
0
10
110
p(N)=0.5
p(S)=0.25
p(L)=0.125
0
10
p(N)=0.5
p(S)=0.25
p(T)=0.125
2 de mar de 2004
p(N)=0.5
0
p(Y)=0.5
1
10
110
p(X)=0.25
111
0
11
111
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
Descargar