Está en la página 1de 42

2 de mar de 2004 Codificacin de imgenes y video

Teora de la Informacin
2 de mar de 2004 Codificacin de imgenes y video 2
El clima en el Ro de la Plata...
... N L N N L S N
... N L L T L L L
... N N L S N L L
... N S L S S T T
... S N N S S L N
... N S N T N N N
... L S T L N L N
p(N)=0.5, p(S)=0.25, p(L)=0.125, p(T)=0.125
N: nublado; S: soleado; L: lluvia; T: tormenta
2 de mar de 2004 Codificacin de imgenes y video 3
Motivacin
Para comunicar estos cuatro smbolos se acuerda usar
el siguiente cdigo:
C(N) = 00
C(S) = 01
C(L) = 10
C(T) = 11
Tpicamente uno se pasa usando el cdigo C(N)=00.
La pregunta es: existe otra codificacin ms
eficiente?
2 de mar de 2004 Codificacin de imgenes y video 4
Formalizacin
Se puede considerar al estado del tiempo como una
variable aleatoria discreta X, con un alfabeto
A={N,L,T,S}
y una funcin de probabilidad
p(x)=Probabilidad(X=x)
con x en A.
2 de mar de 2004 Codificacin de imgenes y video 5
Formalizacin: informacin
Dado que tpicamente esta nublado, el smbolo N
contiene poca informacin, es predecible, es ms
probable, no es noticia.
Informacin. Una medida de la informacin podra ser:
I(x) = -log
2
(p(x))
I(N) = 1, I(S) = 2, I(L) = 3, I(T) = 3
2 de mar de 2004 Codificacin de imgenes y video 6
Informacin
Qu pasa si supiramos 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 informacin.
La situacin de mayor incertidumbre es cuando p(N)
=p(L)=p(S)=p(T)=1/4.
2 de mar de 2004 Codificacin de imgenes y video 7
Informacin
Si pudiramos elegir libremente (smbolos
equiprobables) entre 2 smbolos necesitaramos 1 bit,
para 16 smbolos necesitaramos 4 bits y en general
para N smbolos se necesitan log
2
(N) bits.

log
2
(N) = -log
2
(1/N), lo que nos dice que hay una
relacin entre informacin y cantidad de bits
necesarios.
2 de mar de 2004 Codificacin de imgenes y video 8
Entropa
La entropa H(X) es la media de la informacin de la
fuente:
Idea: La entropa mide la informacin media, y por
tanto, la cantidad media de smbolos necesarios.
{ }

= =
X
x p x p x I E X H ) ( log ) ( ) ( ) (
2
2 de mar de 2004 Codificacin de imgenes y video 9
Entropa
Se puede ver fcilmente H(X)>=0. Esto corresponde
al caso de menor incertidumbre
Adems, H(X)<=log(|A|), |A|=cantidad de elementos
A. Lo que corresponde al caso de mayor
incertidumbre, smbolos equiprobables.
2 de mar de 2004 Codificacin de imgenes y video 10
Entropa
Definicin: x es una variable aleatoria discreta
(V.A.D.) con probabilidad p(x) y un conjunto de
mensajes posibles A={x
1
,...,x
N
}.
Definicin: Entropa
Observacin: H(X) = E{ -log p(X) }

e
=
A x
x p x p X H ) ( log ) ( ) (
2 de mar de 2004 Codificacin de imgenes y video 11
Ejemplos de cdigos
111 11 0.125 Tormenta
110 10 0.125 Lluvia
10 01 0.25 Sol
0 00 0.5 Nublado
Cdigo 2 Cdigo 1 Probabilidad Evento
2 de mar de 2004 Codificacin de imgenes y video 12
Largo medio
El largo medio de estos cdigos es:
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 entropa.

= =
X
x C x p x C E L ) ( ) ( )} ( {
2 de mar de 2004 Codificacin de imgenes y video 13
Largo medio: ejemplo

Fuente con dos smbolos X={x


1
,x
2
}, con probabilidades
p
1
y p
2
.
Caso 1
p
1
=p
2
=0.5; x
1
=0; x
2
=1
H(X)=0.5 x log
2
(2) + 0.5 x log
2
(2) = 1
L = 0.5 x 1 + 0.5 x 1 = 1
Caso 2
p
1
=0.1; p
2
=0.9; x
1
=0; x
2
=1
H(X)=0.1 x log
2
(10) + 0.9 x log
2
(10/9) = 0.467
L = 0.1 x 1 + 0.9 x 1 = 1
2 de mar de 2004 Codificacin de imgenes y video 14
Shannon
Se puede demostrar que no existe ningn cdigo que
permita codificar a un bit-rate menor a la entropa.
Teorema (Shannon 1948)
Se puede demostrar tambin que el bit rate se puede
acercar arbitrariamente a la entropa.
) ( } min{ X H L >
2 de mar de 2004 Codificacin de imgenes y video 15
Entropa conjunta
Definicin: La entropa conjunta H(X,Y) de un par de
variables aleatorias con distribucin p(x,y) es:
Teorema (Regla de la cadena):

= =
) , ( log ) , (
)} , ( log { ) , (
y x p y x p
y x p E Y X H
) | ( ) ( ) , ( X Y H X H Y X H + =
2 de mar de 2004 Codificacin de imgenes y video 16
Entropa Condicional
Definicin: La entropa condicional de dos variables
(X,Y)~p(x,y) es:
Observacin: A(X) es el alfabeto de X


e e
e

= = =
) ( ) (
) (
) | ( log ) , (
) | ( ) ( ) | (
X A x Y A y
X A x
x y p y x p
x X Y H x p X Y H
2 de mar de 2004 Codificacin de imgenes y video 17
Kullback-Leibler
Definicin: La entropa relativa o distancia Kullback-
Leibler entre dos distribuciones de probabilidad p(x) y
q(x) se define como:
Teorema:
y la igualdad se cumple si p(x)=q(x)

e
)
`

|
|
.
|

\
|
=
|
|
.
|

\
|
=
A x
x q
x p
E
x q
x p
x p q p D
) (
) (
log
) (
) (
log ) ( ) || (
0 > ) || ( q p D
2 de mar de 2004 Codificacin de imgenes y video 18
Kullback-Leibler: Aplicaciones
Teorema: H(X) <= log(|A|)
Teorema: El condicionar reduce la entropa,
H(Y|X) <= H(Y)
y la igualdad se da si X e Y son independientes.
2 de mar de 2004 Codificacin de imgenes y video 19
Extensin de una fuente
Extensin de orden N
z
i
=(x
i1
, x
i2
, ... , x
iN
)
p(z
i
)= p(x
i1
) p(x
i2
)... p(x
iN
)
Teorema:
H(X
N
)=N.H(X)
2 de mar de 2004 Codificacin de imgenes y video 20
Extensin de una fuente: ejemplo

Fuente con dos smbolos X={x


1
,x
2
}, con probabilidades
p
1
=0.1 y p
2
=0.9
Z={x
1
x
1
, x
1
x
2
, x
2
x
1
, x
2
x
2
}
p(Z)={0.01, 0.09, 0.09, 0.81}
H(Z)=0.01 x log
2
(100) + 2 x ( 0.09 x log
2
(100/9) )
+ 0.81xlog
2
(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 Codificacin de imgenes y video 21
Regla de la cadena

Teorema: (Regla de la cadena) (X


1
,...,X
n
) ~ p(x
1
,...,x
n
):
Teorema:

=

=
n
i
i i n
X X X H X X H
1
1 1 1
) ,..., | ( ) ,..., (

=
s
n
i
i n
X H X X H
1
1
) ( ) ,..., (
2 de mar de 2004 Codificacin de imgenes y video 22
Dependencia
Observando el estado del tiempo en das sucesivos se
ve que el estado del tiempo en un da depende del da
anterior y condiciona el siguiente.
No es simplemente una variable aleatoria sin
memoria.
2 de mar de 2004 Codificacin de imgenes y video 23
Formalizacin: Markov de orden k
Una fuente se dice Markov de orden k si smbolos
sucesivos son estadsticamente dependientes, i.e. cada
smbolo depende de los k anteriores
Una fuente MKS se especifica con:
k i X X x X p
k i i i
, ) , , | (
1
=


2 de mar de 2004 Codificacin de imgenes y video 24
MKS: Entropa
La entropa de una fuente markov se define a partir de
la entropa condicional

En general H
MKS
(X) < H
DMS
(X), por lo tanto, podramos
comprimir an ms!
Vale el resultado H(X
N
)=N.H(X)

= ) , , | ( ) , , ( ) (
1 1 k i i k i i MKS
X X X H X X p X H


= =
=
) , , | ( log ) , , | (
) , , | (
1 2 1
1
k i i i k i i i
k i i
X X x X p X X x X p
X X X H

2 de mar de 2004 Codificacin de imgenes y video 25


Mtodos para smbolos
dependientes
Codificacin condicional: Se calculan las nuevas
probabilidades dado el smbolo anterior. (H(X|Y)<H(X)
)
Codificacin en bloques: Se agrupan smbolos
consecutivos en bloques (nuevos smbolos).

Codificacin predictiva: Dado X


i
predecimos X
i+1
y
codificamos la diferencia.
2 de mar de 2004 Codificacin de imgenes y video 26
Ejemplo: codificacin
predictiva de imgenes
Idea: Usa la redundancia presente en la imagen (la
correlacin entre los pxeles) para estimar el nivel de
gris en (i,j): (i,j). Error: e(i,j)=(i,j)-I(i,j).
Compresin con prdidas. Los valores de e(i,j) son
cuantificados y comprimidos.
Compresin sin prdidas. La seal e no es
cuantificada.
2 de mar de 2004 Codificacin de imgenes y video 27
Prediccin lineal. T: template con pxeles anteriores
El alfabeto de los errores de prediccin ser el doble
de grande que el original.
Un buen predictor minimiza el error; el smbolo ms
probable ser el 0.

e
=
T i
i i
x a x

Ejemplo: codificacin
predictiva de imgenes
2 de mar de 2004 Codificacin de imgenes y video 28
Ejemplo: codificacin
predictiva de imgenes
2 de mar de 2004 Codificacin de imgenes y video 29
La prediccin es =(a+b+c+d)/4.
Ejemplo: codificacin
predictiva de imgenes
2 de mar de 2004 Codificacin de imgenes y video 30
Imagen diferencia y su histograma
Ejemplo: codificacin
predictiva de imgenes
2 de mar de 2004 Codificacin de imgenes y video 31

Cmo hallar los a


i
?
Si asumimos I estacionario con media 0. Encontramos
los a
i
minimizando la esperanza del error.
) , 1 ( ) 1 , 1 ( ) 1 , (

3 2 1
j i I a j i I a j i I a I + + =
) 1 , 0 ( ) 0 , 0 ( ) 0 , 1 ( ) 1 , 1 (
) 1 , 1 ( ) 0 , 1 ( ) 0 , 0 ( ) 1 , 0 (
) 0 , 1 ( ) 1 , 1 ( ) 1 , 0 ( ) 0 , 0 (
3 2 1
3 2 1
3 2 1
R R a R a R a
R R a R a R a
R R a R a R a
= + +
= + +
= + +
Ejemplo: codificacin
predictiva de imgenes
2 de mar de 2004 Codificacin de imgenes y video 32
Cdigos
Definicin: Un cdigo de fuente C, para una V.A.D, es
un mapeo de A a D*, el conjunto de secuencias finitas
de smbolos de una alfabeto D.
Observacin: C(x) es el cdigo para x y l(x) su largo
Observacin: Tpicamente usaremos:
D =B = {0,1}

N
i
i
D D
1 =
= *
2 de mar de 2004 Codificacin de imgenes y video 33
Cdigos: Largo Esperado
Definicin: El largo esperado de un cdigo de fuente C
es:
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

e
=
A x
x l x p C L ) ( ) ( ) (
2 de mar de 2004 Codificacin de imgenes y video 34
Cdigos no singulares
Definicin: Un cdigo se dice no singular si cada
elemento de A se mapea en un elemento diferente en
D*.
Definicin: La extensin C* de C es el mapeo de
secuencias de smbolos de A en secuencias de D,
C(x
1
x
2
...x
n
)=C(x
1
)C(x
2
)...C(x
n
)
2 de mar de 2004 Codificacin de imgenes y video 35
Cdigos de decodificacin nica
Definicin: Un cdigo se dice de decodificacin nica
si su extensin es no singular.
Definicin: Un cdigo es instantneo si ninguna
palabra de cdigo es prefijo de otra.
cdigos
singulares
no
singulares
unvocamente
decodificables
no
unvocamente
decodificables
instantneos
no
instantneos
2 de mar de 2004 Codificacin de imgenes y video 36
Desigualdad de Kraft
Teorema: Para cada cdigo instantneo sobre un
alfabeto de dimensin d=|D|, los largos de las palabras
del cdigo, l
i
, deben satisfacer:
Dados l
i
que cumplen lo anterior, existe un cdigo
instantneo con esos largos.
1 s


i
l
i
d
2 de mar de 2004 Codificacin de imgenes y video 37
Cdigos ptimos
Teorema: El largo esperado (L) de cualquier cdigo
instantneo (C) para una V.A.D cumple
y se da la igualdad si y solo si d
-li
= p
i
(1er. Teorema de Shannon)
( ) ( ) X H C L >
2 de mar de 2004 Codificacin de imgenes y video 38
Cotas para el L ptimo
Motivacin para

Teorema: Sean l
i
* los largos de los cdigos ptimos y
L* el largo esperado asociado entonces:
1 ) ( * ) ( + s s X H L X H
( )
|
|
.
|

\
|
x p
1
log
2 de mar de 2004 Codificacin de imgenes y video 39
Codificacin en bloques
Que pasa si juntamos smbolos?

C(x
1
...x
n
), l(x
1
...x
n
)
Definicin: Largo esperado por smbolo
Corolario: Para Xi I.I.D

= ) ... ( ) ,..., (
1
1 1 n n n
x x l x x p
n
L
n
X H L X H
n
1
) ( ) ( + s s
2 de mar de 2004 Codificacin de imgenes y video 40
Cdigos de Huffman
Podemos llegar a codificar con H(X) bits?
Idea: Usar cdigos ms cortos para smbolos ms
probables (Cdigo Morse).
Ejemplo. C(N)=0, C(S)=10, C(L)=110, C(T)=111.
Cmo encontrar el cdigo ptimo de forma
sistemtica?
2 de mar de 2004 Codificacin de imgenes y video 41
Algoritmo de Huffman
p(N)=0.5
p(S)=0.25
p(L)=0.125
p(T)=0.125
p(X)=0.25
p(Y)=0.5
p(N)=0.5 p(N)=0.5
p(S)=0.25
0
10
11
0
10
110
111
1
0
0
10
110
111
2 de mar de 2004 Codificacin de imgenes y video 42
Run Length Encoding
til cuando smbolos consecutivos son idnticos. Cada
smbolo es seguido por el nmero de repeticiones.
Zero run length coding

También podría gustarte