Vous êtes sur la page 1sur 76

1

CODIFICACIN DE LA
INFORMACIN






Vol. 4

Toms A. Prez

DSIC

taperez@dsic.upv.es


COD
2


CODIFICACIN DE LA INFORMACIN







Tema 4: Compresin de datos con prdidas. Aplicaciones multimedia.

1. Generalidades.
2. Cuantificacin: escalar y vectorial.
3. Codificacin predictiva o diferencial.
4. Codificacin por subbandas.
5. Transformadas. La transformada de Karhunen-Love. La transformada de Fourier. La transformada cosenoidal
discreta. Ondculas.
6. Aplicaciones multimedia.





3

Bibliografa Bsica Recomendada






N. Abramson, Teora de la informacin y codificacin, Paraninfo, 1981.

T.M. Cover, J.A. Thomas, Elements of information theory, John Wiley & Sons, Inc, 2006.

R. Hamming, Coding and information theory, Prentice Hall, 1980.

D. Salomon, Data compression, Springer, 2004.

K. Sayood, Introduction to data compression, Morgan Kaufmann Publishers, Inc, 2000.

R. B. Wells, Applied coding and information theory for engineers, Prentice Hall, 1999.


4
TEMA 4


Generalidades


La compresin con prdidas se aplica en general a datos de audio, imgenes y vdeo,
de modo que el archivo comprimido no puede ser restaurado al original, porque en el
proceso de compresin se ha eliminado informacin en principio no relevante para su
uso.

La informacin desechada tienen que ver con un modelo perceptual asociado a las
caractersticas psicofsicas de percepcin del ser humano de modo que su ausencia no
impide percibir las sensaciones audiovisuales de modo muy aprximado a como se
percibiran a partir de los datos originales de modo que, incluso, en algunas ocasiones
slo individuos especialmente entrenados podran detectar las disparidades.
5
En esencia, y en una primera aproximacin, el proceso de compresin con prdidas se
estructura esquemticamente en dos etapas secuenciales: 1) (muestreo,
transformacin y) cuantificacin de los datos y 2) compresin sin prdidas de los datos
resultantes.



Cuantificacin


Cuantificacin escalar

La cuantificacin escalar se establece en los siguientes trminos. Se tiene

1. Un espacio de valores S, en general finito o infinito.
2. Un espacio finito de valores cuantificados Q.
3. Una aplicacin de cuantificacin C: S Q
4. Una aplicacin de descuantificacin o de restauracin D: Q S

6

El proceso de cuantificacin y descuantificacin es como sigue:


u C(u) = y D(y) =

as: = DC(u) = X(u). Donde X es la composicin DC.


En consecuencia, en general, existir una diferencia entre los valores de u y .


Supngase que es una variable aleatoria con funcin de densidad f(x). Supngase
que el cuantificador est dividido por los puntos {b
i
/i=0,...,M} y tiene los valores
de reconstruccin (restauracin) en la descuantificacin {y
i
/i=1,...,M} de modo
que se tiene que


X(u) = = y
i
b
i-1
< u b
i
, i=1,...,M
7

En estas condiciones el error cuadrtico medio de cuantificacin es:


bi

2
=

(u X(u))
2
f(u)du =
1

i

M

bi1
(u y
i
)
2
f(u)du



Si utilizamos una codificacin de longitud constante para los elementos de Q
necesitaremos un nmero de bits

R = lg
2
M


Si utilizamos un cdigo Huffman, entonces el nmero medio de bits es

R =
1

i

M

l
i
p(y
i
),

8
donde l
i
es el nmero de bits del cdigo para el intervalo i-simo. Las probabilidades,
p(y
i
), dependern de los lmites b
i-1
, b
i
del intervalo. En consecuencia


bi

R =
1

i

M

l
i

bi1
f(u)du



Pueden ahora plantearse las siguientes cuestiones:


Dado un
2
, encontrar los puntos lmites b
i
, niveles de recostruccin y
cdigos binarios que minimicen el valor de R.


Dado un R R, encontrar los puntos lmites b
i
, niveles de recostruccin y
cdigos binarios que minimicen el valor de
2
.
9
Ejemplo: Cuantificacin uniforme

Supngase que los valores de S estn uniformemente distribuidos en el
intervalo ]-U,U], Podemos utilizar M intervalos con una amplitud

2U
=
M
Se tiene

i

2
=
1

i

M

(i-1)
(u y
i
)
2
f(u)du

tomando ahora como y
i
el valor medio del intervalo queda: f(u) = 1/2U, y

2
=
1

i

M

0
(u [/2])
2
f(u)du =
2
/12

Tambin, en general, para casos arbitrarios puede recurrirse a mtodos adaptativos.
10



Cuando los valores no estn uniformemente distribuidos puede recurrirse a una
cuantificacin no uniforme en la que los intervalos asociados a los conjuntos de valores
menos probables son ms amplios.


Cuantificacin vectorial

En muchas aplicaciones los valores a cuantificar no son valores escalares sino que
tienen varias componentes escalares. En estos casos la cuantificacin tiene un
carcter vectorial.

Para minimizar el error de cuantificacin hay que elegir, en un determinado contexto,
como valor cuantificado el vector ms cercano para lo que es necesario introducir y
definir una nocin de mtrica apropiada para operar con las distancias entre los
vectores y definir adecuadamente las regiones de cuantificacin y los valores
cuantificados.
11
Estas cuestiones estn relacionadas con la geometra computacional y, en particular,
con los diagramas de Voronoi
[http://eref.uqu.edu.sa/files/a_note_on_learning_vector_quantization_.pdf].



Codificacin predictiva o diferencial

En la cuantificacin escalar las muestras son cuantificadas separadamente sin tener en
cuenta sus posibles interrelaciones.

En muchas aplicaciones la adyacencia fsica de muestras significa que sus valores son
muy similares. Esta correlacin puede aprovecharse al codificar las muestras.

En la codificacin predictiva, el valor de cada muestra es predicho en base a los
valores de las muestras vecinas. Este valor contiene informacin redundante que
puede ser omitida; en consecuencia, en lugar de codificar la muestra en s se codifica
la diferencia (error de prediccin) entre su valor y el valor predicho. El decodificador
utiliza esta diferencia para obtener el valor original.
12
Modulacin delta

La modulacin delta (MD) es la forma ms simple de codificacin predictiva.

Sea la anchura del intervalo de cuantificacin utilizado por el cuantificador. Sea
n
el
valor de u
n
reconstruido por la MD.


La MD no cuantifica el valor de u
n
, la muestra, sino que cuantifica la diferencia entre
este valor y el valor reconstruido
n-1
de la muestra precedente u
n-1
.


As la MD cuantifica el error de prediccin

e
n
= u
n

n-1


seguidamente el valor e
n
es tambin cuantificado como sigue:

13

n
=
1, si e
n
> 0
-1, en otro caso

que se emite como codificacin.

El decodificador obtiene
n
como

n
=
n-1
+
n


Hay dos tipos de errores de cuantificacin en la MD que no pueden ser reducidos
simultneamente.

El primer error es la distorsin de sobrecarga de la pendiente
(slope overload) que ocurre cuando el paso de cuantificacin es demasiado
pequeo para seguir un cambio de una pendiente excesiva de la forma de onda
de la seal de entrada. El incremento del valor de contribuye a que decrezca
este tipo de error.
14
El segundo tipo de error de cuantificacin es el ruido granular
(granularidad) que se produce cuando el tamao del paso, , es demasiado
grande en comparacin con cambios pequeos de la forma de onda de la
entrada. En este caso el decremento del valor de contribuye a disminuir este
tipo de error.



Una medida de la efectividad de la codificacin es el error de prediccin acumulado

E
k
=
1

i

k

|u
i

i
|


Modulacin delta adaptativa

Por lo anteriormente visto puede ser, en principio, difcil obtener un paso de
cuantificacin apropiado. Para solventar este problema se recurre a la modulacin
delta adaptativa.
15
La MD adaptativa utiliza los n ms recientes bits codificados para adaptar el valor de ,
utilizando un multiplicador de tamao de paso cuyo valor es funcin de estos bits,

n
= M
n

n-1


Con slo los dos ms recientes bits, una posible sobrecarga de la pendiente se
detecta si los dos bits son iguales, y una posible granulacin se detecta si los dos bits
son diferentes.

Si ms de dos bits son utilizados, entonces esta decisin puede ser mucho ms
ajustada.


Modulacin delta y codificacin retrasada

La adaptacin anterior puede ser mejorada considerablemente si adems se introduce
el conocimiento de muestras futuras. Este proceso se denomina codificacin retrasada.

16
La codificacin retrasada utiliza un bffer de k muestras siguientes y evala la mejor
combinacin de k+1 tamaos de pasos tomando en cuenta la codificacin ptima de la
muestra actual y de las muestras incluidas en el bffer.

Modulacin por cdigo de pulso diferencial (DPCM)

En la MD,
n-1
es la prediccin de la muestra u
n
; esto es, el valor predicho
n
de la
muestra u
n
coincide con
n-1
, de modo que el valor de la muestra u
n
es reconstruido a
partir de su inmediato predecesor.

En la DPCM se calcula una prediccin
n
de la muestra en curso utilizando ms de uno
de los valores de muestra previos. As la DPCM puede considerarse como una
generalizacin de la MD.

El valor predicho
n
de la muestra u
n
se obtiene, tomando K valores anteriores, como

n
=
1 i K

K-i


17
el error de prediccin es

e
n
= u
n

n


que se cuantifica, mediante un cuantificador Q, como
n
= Q(e
n
) y se transmite.

El receptor utiliza
n
y la prediccin de u
n
,
n
, para reconstruir

n
=
n
+
n


que es su aproximacin a u
n
.


Para disear un predictor hay que obtener los coeficientes ptimos
i
.


Aqu el trmino optimalidad significa hacer el error de prediccin acumulativo tan
pequeo como sea posible.
18
Ejemplo:
n
=
1

i

K

K-i

2
= E((u
n

n
)
2
) = E((u
n

1

i

K

K-i
)
2
)


2

= -2 E((u
n

1

i

K

K-i
)
2

K-j
) = 0, 1 j K

j


que da lugar al correspondiente sistema de ecuaciones.


Pueden tambin considerarse versiones adaptativas de estos codificadores.


Se utilizan principalmente en aplicaciones multimedia (fundamentalmente en imgenes
y vdeo)

19
Codificacin por subbandas

En esta tcnica se descomponen los datos, tpicamente imgenes o sonido, en
diferentes bandas de frecuencias (por medio de un banco de filtros), utilizndose
seguidamente las tcnicas ms adecuadas para realizar la mayor compresin sobre
cada banda por separado.

Por ejemplo, un posible diagrama operativo para una seal de audio es el siguiente:




Considrese la secuencia de valores {x
n
} con grfica (se proporcionar en clase).

20
Puede verse que hay una significativa variacin de muestra a muestra pero tambin
que hay una tendencia subyacente tal y como muestra la lnea de puntos que vara
lentamente.

Una manera de extraer esta tendencia es promediar los valores de la muestra segn
una ventana deslizante actuando como un filtro paso-bajo. Si la ventana tiene tamao
dos, entonces generamos la secuencia:

y
n
= (x
n
+ x
n-1
)/2

Los valores consecutivos de y
n
se encontrarn entre s ms cercanos que los de x
n
.
As la secuencia {y
n
} puede codificarse eficientemente utilizando codificacin
diferencial (predictiva).

Para codificar la secuencia {x
n
} definimos adems la secuencia

z
n
= (x
n
x
n-1
)/2 = x
n
y
n


que representa la salida de un filtro paso-alto.
21

Las secuencias {y
n
} y {z
n
} pueden codificarse independientemente entre s,
utilizando para cada una de ellas la tcnica ms adecuada.


Podemos mejorar este esquema enviando de las secuencias y
n
y z
n
un valor s y otro
no.


Para ello dividimos la secuencia {y
n
} en dos subsecuencias {y
2n
} y {y
2n-1
}.
Similarmente dividimos la secuencia {z
n
} en las subsecuencias {z
2n
} y {z
2n-1
}.
Ahora podemos emitir las subsecuencias pares o las impares nicamente


Por ejemplo, si emitimos nicamente las pares tendremos:

x
2n
= y
2n
+ z
2n
y x
2n-1
= y
2n
z
2n


22


Podemos observar que:


1. El nmero de valores diferentes que se transmiten es el mismo, tanto si
enviamos {x
n
} o las os subsecuencias de {y
n
} y {z
n
}.


2. Las dos subsecuencias tienen caractersticas dinmicas diferentes lo que nos
permite codificar cada una del modo ms adecuado.


3. Podramos haber seguido utilizando este mismo proceso con las dos
subsecuencias utilizadas. Esto lo podemos, en la prctica, llevar a cabo
mediante filtros.




23
Filtros


Un sistema que aisla ciertos componentes espectrales se denomina filtro. Pueden ser:
paso-bajo, paso-alto y paso-banda.


Una manera de caracterizar los filtros es mediante la funcin de transferencia de
magnitud (ganancia), esto es, la razn entre la magnitud de salida y de entrada en
funcin de la frecuencia.


Respecto al muestreo de la seal, puede demostrarse matemticamente que si la
componente de frecuencia ms elevada de una seal es f
0
, entonces debe
muestrearse la seal 2f
0
veces por segundo como mnimo, tal y como enuncia el
teorema de Nyquist [http://es.wikipedia.org/wiki/Teorema_de_muestreo_de_Nyquist-Shannon]. Si se
incumple esta regla se produce el fenmeno conocido como aliasing
[ http://es.wikipedia.org/wiki/Aliasing].

24
La forma general para la relacin entrada-salida de un filtro digital est dada por
[http://es.wikipedia.org/wiki/Filtro_digital]:

y
n
=
0

i

N

a
i
x
n-i
+
1

i

M

b
i
y
n-i



Si la secuencia de entrada {x
n
} es un nico 1 seguido de ceros, la secuencia de
salida se denomina la respuesta impulso del filtro; ntese que si los coeficientes b
i
son
cero, entonces la respuesta impulso desaparecer despus de N muestras. Estos filtros
se denominan finite impulse response (FIR).

Si alguno de los coeficientes b
i
no es cero, entonces la respuesta al impulso en
general no ddesaparece, denominndose filtros (recursivos) de infinite impulse
response (IIR).

Las ventajas de los filtros IIR respecto a los FIR es que pueden conseguir una misma respuesta
empleando un nmero de coeficientes en el filtro mucho menor, requiriendo un menor tiempo de clculo.
El inconveniente es aparicin de inestabilidad y la introduccin de desfases en la seal, que pueden ser
compensados pero a costa de aadir ms coeficientes al filtro.
25
Los bancos de filtros ms utilizados en la codificacin subbanda consisten en una serie
de etapas de filtrado con una estructura arborescente a partir de ramificaciones filtro
paso-bajo y filtro paso-alto.









26


Los filtros ms populares son los denominados quadrature mirror filters
(QMF). Estos filtros tienen la propiedad de que si la respuesta impulso del filtro paso-
bajo est dada por {h
n
}, entoncess la respuesta impulso del filtro paso-alto est dada
por {(-1)
n
h
N-1-n
}.

Estos filtors se utilizan en los bancos de filtros para dividir la seal en la componente
paso-bajo y paso-alto y estn tambin relacionados con las ondculas (wavelets).



Algoritmo de codificacin subbanda

El esquema operativo general del que partimos es el siguiente (vase la pizarra).




27
ANLISIS

La seal es pasada a travs de un banco de filtros, denominado el banco de filtros de
anlisis que cubre el rango de frecuencias. Los filtros pasa-banda pueden
superponerse o no.

Las salidas de estos filtros son entonces submuestreadas.

La justificacin para el submuestreado es el criterio de Nyquist y su generalizacin: Si
las frecuencias f
1
y f
2
(f
1
< f
2
) satisfacen ciertos criterios, entonces puede
demostrarse que para recuperar, tericamente, exactamente la seal se necesita
muestrear a un ratio de al menos 2(f
2
f
1
)muestras por segundo.

Esto significa que podemos reducir el nmero de muestras a la salida del filtro debido
a que el rango de frecuencias de la salida del filtro es menor que el rango de
frecuencias a la entrada del mismo.

Este proceso de reducir el nmero de muestras se denomina decimacin o
submuestreo.
28
La cantidad de decimacin depende del ratio del ancho de banda de la salida del filtro y
de su entrada. As si el ancho de banda de la salida del filtro es 1/M del ancho de
banda de la entrada decimaremos la salida por un factor M.

Se usa la notacin M, y para la operacin inversa M.

En el caso ms simple



Una vez la salida de los filtros ha sido decimada la salida es codificada utilizando
alguno de los mtodos vistos.

29

CUANTIFICACIN Y CODIFICACIN

Una vez hemos separado la entrada en sus secuencias constituyentes, necesitamos
decidir cuantos de los recurso de decodificacin deben ser utilizados para codificar la
salida de cada filtro de la fase de anlisis. En otras palabras, necesitamos asignar los
bits disponibles entre las secuencias de las subbandas.

Junto con la seleccin del mtodo de compresin, la asignacin y reparto de bits entre
las subbandas es un parmetro de diseo importante.

Subbandas diferentes contienen cantidades diferentes de informacin.

En consecuencia, necesitamos asignar los bits disponibles entre las subbandas de
acuerdo a alguna medida referenciada al contenido de informacin en cada una de
ellas.

Hay diferentes maneras de distribuir los bits disponibles para la codificacin. Por
ejemplo, supngase que estamos descomponiendo la entrada en cuatro bandas y
deseamos un ratio de un bit por muestra.
30
Podramos directamente utilizar un bit por muestra para cada una de las bandas. Por
otro lado, podramos descartar la salida de tres de las cuatro bandas y utilizar dos bits
por muestra para cada una de las dos bandas restantes. O podramos descartar la
salida de tres de las cuatro bandas y utilizar cuatro bits por muestra en la banda
restante.

El procedimiento de asignacin de bits puede tener un impacto significativo sobre la
calidad de la reconstruccin final, especialmente cuando el contenido informativo de las
diferentes bandas es muy diferente.

Si utilizamos la varianza de la salida de cada filtro como medida de informacin y
asumimos una cuantificacin escalar podemos llegar a algunos esquemas simples de
asignacin de bits.

SNTESIS

Los coeficientes cuantificados y codificados son utilizados para reconstruir una
representacin de la seal original en el decodificador.


31

En primer lugar las muestras codificadas de cada subbanda son decodificadas en el
decodificador; estos valores decodificados son supermuestreados insertando el
apropiado nmero de ceros entre las muestras.



Una vez el nmero de muestras por segundo ha sido devuelto al ratio original, las
seales supermuestreadas son pasadas a travs de bancos de filtros de
reconstruccin.



Las salidas de los filtros de reconstruccin son sumadas para obtener las salidas
finales reconstruidas.





32
Transformadas. La transformada de Karhunen-Love.
La transformada de Fourier. La transformada
cosenoidal discreta. Ondculas


En muchas ocasiones operar directamente sobre algn tipo de dato en su formato
inmediato puede ser inadecuado debido al tipo de manipulacin a realizar, siendo
recomendable proceder a algn tipo de transformacin previa de los datos ya bien
porque facilita las operaciones a efectuar o bien porque se pongan de manifiesto
diversas caractersticas de inters.

Un ejemplo clsico es la transformada de Fourier de una seal que permite estudiarla
en el dominio temporal y, en su versin transformada, en el dominio espectral.

As, en algunas aplicaciones, al realizar una transformacin algunos coeficientes
(estadsticamente descorrelacionados) pueden ser de muy pequea magnitud lo que
permite reducirlos a cero sin que la seal original se altere significativamente
favoreciendo en cambio su compresin.
33
Preliminares algebraicos. Espacios vectoriales


Sean E un conjunto no vaco y (K,+,,0,1) un cuerpo. Decimos que E tiene estructura de
espacio vectorial sobre K si hay definida en l una ley de composicin interna, +,
respecto de la cual la estructura (E,+) es un grupo conmutativo, y una ley de
composicin externa, , que verifica que

, K,a,b E:

1) (a) = ()a

2) (a+b) = a+b

3) (+)a = a +a

4) 1a = a (siendo 1 el elemento unitario de K respecto a su
segunda operacin).


34

Ejemplo: El conjunto de las funciones f(x) tales que

|f(x)|
2
dx <



Un subespacio vectorial S de un espacio vectorial V es un subconjunto de V que es un
espacio vectorial sobre el mismo cuerpo y con las mismas operaciones (para las cuales
es cerrado).

Dado un espacio vectorial V diremos que el conjunto {x
1
,...x
n
} V es linealmente
independiente si ningn vector del mismo puede definirse como una combinacin lineal
de los otros. En consecuencia


1

i

n

i
x
i
= 0
i
= 0, i = 1,...,n

35
Diremos que el conjunto {x
1
,...x
n
} V es una base de V si es linealmente
independiente y cualquier elemento (vector) de V puede expresarse como una
combinacin lineal de los mismos. Esto es,

xV: x =
1

i

n

i
x
i



El producto escalar de dos vectores x e y, denotado <x,y>, es un escalar (esto es, un
elemento de K). Satisface los axiomas siguientes:


1) <x,y> = <x,y>*, donde * denota la conjugada compleja.

2) <x+y,z> = <x,y>+<y,z>

3) <x,y> = <x,y>

4) <x,x> 0, con la igualdad si y slo si x=0.
36

Para K = , la norma de un vector x se denota y define como sigue

||x|| = <x,y>
1/2


Dos vectores se denominan ortogonales si su producto escalar es cero.



Una base ortonormal es aquella que sus vectores son ortogonales entre s, dos a dos,
y su norma vale uno, esto es, son unitarios.



Sea {x
1
,...x
n
} una base ortonormal, dado un vector

x =
1

i

n

i
x
i


37
se tiene que

<x,x
i
> =
i
, i = 1,...,n

que consiste en la proyeccin de x sobre x
i
.


Transformadas discretas: generalidades


Tpicamente una transformada discreta unidimensional F de una funcin f
se define como

F(k) =
0

n

N-1

f(n)a(k,n), k = 0,...,N-1

donde a(k,n) se denomina el ncleo de la transformacin discreta.


38
La transformacin discreta inversa f de F est dada por

f(n) =
0

k

N-1

F(k)b(k,n), k = 0,...,N-1

donde b(k,n) se denomina el ncleo de la transformacin discreta inversa.


As, si [f] = [f(0),...,f(N-1)]
t
, entonces [F] = [F(0),...,F(N-1)]
t
y
puede ponerse matricialmente

[F] = T[f]

donde T = [a(k,n)] es la matriz de transformacin de dimensiones NN.

T debe ser una matriz ortonormal para que se preserve la energa de la seal, esto es,


0

m

N-1

|f(m)|
2
=
0

m

N-1

|F(m)|
2


39
As,

[f]
t
[f] = (T
t
[F])
t
(T
t
[F]) = [F]
t
TT
t
[F] = [F]
t
[F]

ya que T
-1
= T
t
.

Este desarrollo puede extenderse al caso de transformadas bidimensionales.

As,

F(k,l) =
0

m

N-1

0

n

N-1

f(m,n)a(k,l,m,n), k,l = 0,...,N-1

f(m,n) =
0

k

N-1

0

l

N-1

F(k,l)b(k,l,m,n), m,n = 0,...,N-1

La transformada se dice separable siempre que

a(k,l,m,n) = a
1
(k,m)a
2
(l,n)

40
En estas condiciones

F(k,l) =
0

m

N-1

0

n

N-1

f(m,n)a
1
(k,m)a
2
(l,n)
=
0

m

N-1
a
1
(k,m)
0

n

N-1

f(m,n)a
2
(l,n)

Si F(m,l)=
0

n

N-1

f(m,n)a
2
(l,n)

queda

F(k,l) =
0

m

N-1
a
1
(k,m)F(m,l)


Diremos que el ncleo es directo si

a(k,l,m,n) = (k,m)(l,m).


41

Si T = (k,m), entonces matricialmente

[F] = T[f]T
t





La transformada de Karhunen-Love


Es, en principio, una transformada reversible que se utiliza fundamentalmente en el
procesamiento de imgenes y se basa en sus propiedades estadsticas.


En lo que sigue asumiremos que los vectores de muestras son realizaciones de un
proceso estocstico. Esto es, cada vector [f] = [f
0
,...f
N-1
]
t
es un evento
aleatorio, donde los componentes del vector pueden ser nmeros naturales, reales o
complejos, y tambin tienen carcter aleatorio.
42


En el contexto de la compresin de datos un flujo de muestras puede dividirse en
bloques de modo que cada vector sea uno de ellos. El objetivo es encontrar un modo
de codificar estos bloques de un modo estadsticamente descorrelacionado.


La transformada de Karhunen-Love est dada por

[F] = T[f]

donde T = [
0
,...,
N-1
]
t
y los
i
, i=0,..,N-1, son los autovectores de la matriz
de covarianza de las muestras [f] (que por ser simtrica es diagonizable).



Presenta el inconveniente de que depende directamente de los datos a los que se
aplica, lo que le resta inters desde el punto de vista aplicado.


43

La Transformada de Fourier


Series de Fourier


Diremos que una funcin g es peridica, con periodo T, si

g(x) = g(x + nT) x nZ

el periodo bsico ser su menor periodo,

f
0
= 1/T se denomina su frecuencia fundamental, y

w
0
= 2/T = 2f
0
se denomina su pulsacin fundamental, en general
escribiremos simplemente w.


44
Una funcin g satisface las condiciones de Dirichlet si:

1) g es una funcin acotada en cada punto del intervalo fundamental [0,T],

2) g tiene slo un nmero finito de discontinuidades, y

3) g tiene slo un nmero finito de mximos y de mnimos es este intervalo.




En estas condiciones a la funcin g se le puede asociar la serie de Fourier que tiene la
forma

1
a
0
+
nZ
(a
n
cosnwx + b
n
sennwx)
2

donde
45
1
T

a
0
=
0
g(x)dx
T



y para n 1

2
T

a
n
=
0
g(x)cosnwxdx
T


2
T

b
n
=
0
g(x)sennwxdx
T

46

Esta serie converge puntualmente a la funcin g(x) que consiste en la funcin g(x)
extendida de modo que en los puntos de discontinuidad su valor es el valor medio del
lmite por la izquierda ms el lmite por la derecha.



Las series de Fourier pueden tambin expresarse de forma exponencial compleja


nZ
c
n
e
inwx


donde

1
T

c
n
=
0
g(x)e
-inwx
dx
T


47
tambin

c
0
= a
0




y para nZ {0}

c
n
= (a
n
- ib
n
)/2
c
n
= (a
n
+ ib
n
)/2



Como es usual escribiremos

g(x) =
nZ
c
n
e
inwx

= a
0
/2 +
nZ
(a
n
cosnwx + b
n
sennwx)


48
Todas las funciones en las anteriores condiciones de periodo T forman un espacio
vectorial. Las funciones complejas exponenciales {e
inwx
/w=2/T,nZ} forman una
base ortonormal de dicho espacio.

As los parmetros {c
n
}
nZ
son la representacin de la funcin dada g(x) con
respecto a esta base.

De este modo utilizando diferentes secuencias de valores {c
n
}
nZ
podemos definir
diferentes funciones peridicas.

Cuando la funcin slo est definida en un intervalo finito puede repetirse una y otra
vez, convirtindola, de este modo, en una funcin peridica en toda la recta real.


Caso discreto (TFD)

En nuestro desarrollo operaremos con seales muestreadas. Si necesitamos N
muestras, el intervalo de muestreo ser T/N y los instantes de muestreo sern: 0,
T/N,..., (N-1)T/N.
49


El efecto es equivalente a reemplazar la funcin original g por la muestreada de la
manera siguiente:

(x) = g(kT/N), para kT/N x < (k+1)T/N, k = 0,...,N-1

En consecuencia

(x) = g(kT/N) =
nZ
c
n
e
inwkT/N

=
nZ
c
n
e
i2

nk/N






Puesto que e
i2

jk
= 1 jZ, se tiene que

e
i2

(n+jN)k/N
= e
i2

nk/N


50

de este modo agrupando trminos se tiene la suma finita

g
k
= g(kT/N) =
0

n N-1
d
n
e
i2

nk/N
, k =0,...,N-1


donde

d
n
=
jZ
c
n+jN
, n = 0,...,N-1


La transformacin se reduce ahora a dado el vector g = (g
0
,...,g
N-1
) encontrar el
vector d = (d
0
,...,d
N-1
) de modo que

g
k
=
0

n N-1
d
n
e
i2

nk/N
, k =0,...,N-1


51
Ntese que


0

n N-1
e
i2

nk/N
e

i2

nj/N
=

N, si k = j
0, si k j

En consecuencia

1

n
= d
n
=
0

k N-1
g
k
e

i2

kn/N
, n = 0,...,N-1
N

Al vector = (
0
,...,
N-1
) se denomina genricamente la transformada de
Fourier discreta de g. No obstante, dicho trmino lo reservaremos
fundamentalmente para cuando en el desarrollo anterior se empleen elementos
normalizados, esto es, cuando

52
1
g
k
=
0

n N-1

n
e
i2

nk/N
, k =0,...,N-1
N
1/2

1

n
=
0

k N-1
g
k
e

i2

kn/N
, n = 0,...,N-1
N
1/2



As, en estas condiciones, en lo que sigue el vector = (
0
,...,
N-1
) se
denomina la transformada de Fourier discreta del vector g = (g
0
,...,g
N-1
).


Este desarrollo lo podemos expresar matricialmente como

g = W

= g
53
donde
1
W
nk
= e
i2

nk/N

N
1/2


y es la matriz inversa de W.



Hay otra manera de expresar la transformada discreta de Fourier que tiene la ventaja
de contemplar las columnas de la matriz W como los elementos espectrales asociados
a la transformacin.


Sea W
k
la columna k-sima de la matriz W, ahora las expresiones anteriores pueden
reescribirse como

g =
0

j N-1

j
W
j

54

=
0

j N-1
g
j

j



De este modo las columnas de W son las seales bsicas o elementos asociados a la
transformacin. Desde un punto de vista algebraico, las columnas de W forman una
base del espacio vectorial de dimensin N de la transformacin (C
N
).


As la transformada de Fourier discreta es justamente la secuencia (vector) de
coeficientes que permite expresar g en esta base.


Las oscilaciones de alta frecuencia corresponden a las seales asociadas a las
columnas del medio de la matriz W, esto es, W
k
con k alrededor de N/2. Las seales
asociadas a las columnas de la izquierda y derecha oscilan a ms bajas frecuencias.


55
Tambin las relaciones de ortogonalidad vistas anteriormente se cumplen para los
vectores W
k
, k =0,...,N-1. Pueto que cada W
k
tiene mdulo uno la base {W
k
/
k =0,...,N-1} es una base ortonormal del espacio C
N
.


Para calcular eficientemente esta transformada se dispone del algoritmo de la
transformada rpida discreta de Fourier que no trataremos en este curso.


La transformada de Fourier

El desarrollo anterior puede extenderse a la descomposicin de funciones aperidicas
definidas en ],[. Esto se lleva a trmino extendiendo, en el estudio anterior, el
intervalo ]T/2,T/2[, y todos los clculos subsiguientes, cuando T.

En estas condiciones si T, entonces la frecuencia fundamental f = 1/T0. De
este modo el rango de frecuencias pasa a ser continuo, y lo que se obtiene es la
transformada de Fourier. Ms adelante volveremos sobre ella.

56
La transformada cosenoidal discreta (TCD)

Si la funcin g tiene slo valores no nulos en un cierto intervalo I, entonces puede
extenderse ms all del intervalo hacindola I-peridica, esto es, repitindola
indefinidamente fuera del intervalo.


Es importante la manera en que la funcin es extendida porque si lo es de modo que la
extensin incluya discontinuidades, entonces el resultado final puede presentar el
fenmeno de Gibbs. Que consiste en que la funcin extendida desarrollada (hasta un
determinado trmino) en series de Fourier presenta, en este desarrollo, sobrepicos (del
9%) oscilantes alrededor de los puntos de discontinuidad
[http://es.wikipedia.org/wiki/Fen%C3%B3meno_de_Gibbs].


Estos sobrepicos no desaparecen aunque se aadan ms trminos a la serie, se
vuelven ms estrechos pero no disminuyen en altura.

Para evitar este problema la funcin debe extenderse utilizando su imagen especular.
57
Un problema similar aparece en las aplicaciones de la transformada de Fourier discreta
(TFD) a la compresin de datos, en la presencia de discontinuidades no comprime del
todo bien debido a que la energa (de la seal) se dispersa en los coeficientes de la
transformacin.

Para evitar este problema la TFD se reemplaza por otra transformada que opera sobre
las muestras atendiendo a la extensin especular anterior.

Formamos esta imagen especular (de simetra par) de una secuencia de muestras
g(m), m = 0,...,N-1, reflejndolas a partir del punto N-1, de modo que la
secuencia extendida bsica de muestras queda definida como sigue:

g
e
(m) =
g(m), m = 0,...,N-1
g(2N-1-m), m = N,...,2N-1



Ahora la TFD es aplicada a g
e
(m) para m = 0,...,N-1.
58

e
(k) =
0

m 2N-1
g(m)e

i2

km/2N

=
0

m N-1
g(m)e

i2

km/2N
+
N

m 2N-1
g(m)e

i2

km/2N






Despus de operar, realizar algunos ajustes en la transformacin, y de normalizar
obtenemos la transformada cosenoidal discreta que se traduce en una secuencia de
nmeros reales, G(0),..., G(N-1), definida a partir de una secuencia de muestras
g(0),..., g(N-1), tal y como sigue:


G(0) = (1/N)
1/2

0

n N-1
g(n)

G(k) = (2/N)
1/2

0

n N-1
g(n)cos(k(2n+1)/2N), k=1,...,N-1
59


La transformada inversa (antitransformada) es, para n = 0,...,N-1, de la forma

g(n) = (1/N)
1/2
G(0) + (2/N)
1/2

1

k N-1
G(n)cos(k(2n+1)/2N)



Para el caso bidimensional la transformada cosenoidal discreta de una matriz NN de
muestras es otra matriz NN cuyos elementos son:

G(k,l) = (2/N)C(k)C(l)
0

m N-1

0

n N-1
g(m,n)
cos(k(2m+1)/2N)cos(l(2n+1)/2N)



y la transformacin inversa (antitransformada) queda como

60
g(m,n) = (2/N)
0

k N-1
C(k)
0

l N-1
C(l) G(k,l)
cos(k(2m+1)/2N)cos(l(2n+1)/2N)






donde los coeficientes C(j) se definen como

C(j) =

(1/2)
1/2
, j = 0

1, en otro caso

[http://www.diac.upm.es/acceso_profesores/asignaturas/tdi/tdi/transformadas/pdf/dct.pdf]


61

La transformacin bidimensional se utiliza muy especialmente en la compresin de
imgenes [http://www.wisnet.seecs.nust.edu.pk/people/~khayam/pdf/DCT_TR802.pdf], concretamente en el
formato jpeg.



Ondculas (Wavelets)


En las aplicaciones prcticas la implementacin del esquema de compresin basado
en ondculas es muy similar a los esquemas de codificacin subbanda (anlisis
multirresolucin).

Como en el caso de codificacin subbanda descomponemos la seal (anlisis)
utilizando bancos de filtros.

Las salidas de los bancos de filtros son submuestreadas, cuantificadas y codificadas.

62
El decodificador decodifica las codificaciones, supermuestrea y recompone la seal
utilizando un banco de filtros de sntesis.

Las ondculas son especialmente apropiadas para el tratamiento de seales no
estacionarias logrando un mejor compromiso entre la resolucin temporal y espectral.



Dada una funcin f(t) podemos obtener su transformada de Fourier F(w) como



F(w) =

f(t)e
-iwt
dt


La integracin es una operacin promediadora, en consecuencia lo que hacemos es un
clculo promediador donde el intervalo de promedio es toda la recta real.

63
As, analizando una transformada de Fourier particula, podramos, por ejemplo, decir
que hay una fuerte componente de una frecuencia dada pero no podemos caracterizar
los intervalos precisos en los que est presente.

Otro modo de decir esto es que la transformada de Fourier F(w) proporciona una
buena localizacin espectral pero ninguna temporal. Lo contrario es cierto para la
funcin temporal f(t), que proporciona una informacin exacta acerca de los valores
de la funcin en cada instante de tiempo pero ninguna informacin espectral.


Tambin debe notarse que tanto f(t) como F(w) representan la misma seal, y que
toda la informacin acerca de la misma est presente en cada representacin, no
obstante, cada una hace directamente accesible slo diferentes aspectos de la misma.


En determinadas aplicaciones es preciso conocer no slo las frecuencias componentes
sino tambin los intervalos temporales en los que cada frecuencia aparece.


64
Una manera de obtener esta informacin es va la STFT (Short-Term Fourier
Transform). Con la STFT troceamos la seal temporal f(t) en intervalos de longitud
T y aplicamos el anlisis de Fourier a cada uno. De este modo podemos establecer si
una componente de una frecuencia dada aparece o no.


Esta tcnica puede dar lugar a distorsiones de alta frecuencia por efectos de contorno.
Para reducir estos efectos aplicamos, para el troceado, una ventana con suavizado
antes de la transformacin de Fourier.


Si la ventana est dada por (t), la STFT est formalmente dada en el instante por



F(w) =

f(t)(t)e
-iwt
dt


65
El problema con la STFT es el tamao de la ventana, si es demasiado pequeo no
cubre las bajas frecuencias y si es demasiado grande deslocaliza las altas frecuencias.

Las ondculas mejoran la STFT al permitir el uso de amplias ventanas donde se
requiere una informacin precisa en bajas frecuencias y de ventanas estrechas donde
se precisa una informacin detallada temporal (altas frecuencias).

Las ondculas no utilizan en su anlisis un contexto tiempo-frecuencia sino un contexto
tiempo-escala. Una de sus principales caractersticas es su capacidad para realizar
anlisis locales, esto es, analizar un rea localizada de una amplia seal. Siendo
capaces de revelar aspectos de la seal que otras tcnicas no pueden, dgase
discontinuidades, etc.

Una ondcula es una forma de onda de duracin limitada, de valor
medio nulo, que tienden, en general, a ser irregulares y
asimtricas.

En el anlisis con ondculas se utiliza una funcin generadora (funcin analizadora)
denominada ondcula bsica u ondcula madre como una ventana de anlisis.
66
Todas las posibles proporciones de la ondcula bsica son utilizadas como ventanas de
anlisis generales derivadas de ella.

Las ondculas associadas son generadas trasladando y proporcionando la ondcula
bsica en el tiempo.

En consecuencia, el anlisis segn ondculas consiste en particionar una seal dada
de acuerdo a una versin desplazada y proporcionada de la ondcula bsica.

Parece intuitivo pensar que seales con cambios bruscos de forma sern mejor
analizadas con ondculas irregulares que con las suaves funciones senoidales. En
este sentido, tambin las caractersticas locales son mejor descritas a partir de las
ondculas.

Matemticamente podemos modificar la escala, proporcin o dilatacin de una funcin
f(t) reemplazando t con t/a.

Si definimos la norma de una funcin f(t) mediante

67


||f(t)||
2
=

f(t)
2
dt

as


||f(t/a)||
2
=

f(t/a)
2
dt = a||f(t)||
2


Si queremos que la norma se mantenga tendremos que multiplicar por (1/a)
1/2
, esto
es, considerar la funcin

(1/a)
1/2
f(t/a)

Matemticamente podemos representar la traslacin b de una funcin f(t) a la
derecha o izquierda reemplazando t por t-b o t+b.

Dada una ondcula bsica (t), las restantes funciones son obtenidas como

68

a,b
(t) = (1/a)
1/2
((t-b)/a)

El desarrollo de una funcin f(t) mediante estas ondculas es obtenido a partir de los
coeficientes

a,b
=


a,b
(t)f(t)dt

A partir de estos coeficientes puede recuperarse la funcin f(t) de la forma que sigue


f(t) = (1/C

(1/a
2
)
a,b

a,b
(t)dadt


donde


C

=
0
|(w)|
2
/w dw

69
C

debe ser finito y en consecuencia (0)=0. Esto implica que la media de la


ondcula bsica debe ser nula

0
(w)dw = 0


Tambin deseamos que las ondculas tengan energa finita. Para que esto ocurra
|(w)|
2
tiene que decaer a medida que |w| tiende a infinito.

Estas exigencias significan que la energa en (w)se encuentra concentrada en una
banda reducida de frecuencias, esto es, lo que proporciona a las ondculas su
capacidad de localizacin espectral.

Si a y b varan de modo continuo, entonces
a,b
es la transformada ondicular continua
(CWT).

70
Para la transformada discreta hay diferentes posibilidades. El enfoque ms frecuente
es seleccionar a y b de acuerdo a

a = A
-m
y b = nBA
-m


Esto proporciona

m,n
(t) = A
m/2
(A
m
t - nB), m,n Z



Los coeficientes de las ondculas estn dados por

a,b
= A
m/2


a,b
(A
m
t - nB)f(t)dt


La funcin f(t) puede ser reconstruida mediante

71
f(t) =
m

a,b

m,n
(t)



sta es la transformada ondicular temporal discreta (DTWT).


A efectos de compresin estaremos interesados fundamentalmente en la transformada
ondicular discreta (DWT).



Anlisis multirresolucin

En este anlisis ntimamente relacionado con lo anterior se parte de unas funciones
(t) que denominaremos funciones de escala, y que se encuentran relacionada
muy de cerca con las ondculas bsicas.


72
Tomando combinaciones lineales de la funcin de escala y de sus traslaciones
podemos generar un gran nmero de funciones

f(t) =
k
a
k
(t-k)

La funcin de escala tiene la propiedad de que una funcin que pueda ser
representada por ella tambin puede serlo por versiones dilatadas de la misma,
incluida ella misma.

En concreto, la funcin de escala tiene la propiedad de que cualquier funcin que
pueda ser representada exactamente por una expansin en alguna resolucin j puede
ser tambin representadas por dilataciones de la funcin de escala con resolucin j+1.

En particular, esto significa que la funcin de escala misma puede ser representada por
su dilataciones de alta resolucin; lo que permite obtener la ecuacin del anlisis
multirresolucin

(t) =
k
h
k
2
1/2
(2t-k)
73

Una de las maneras ms populares de implementar el desarrollo anterior es utilizando
una jerarqua de filtros muy similar a la utilizada en la codificacin subbanda, cuyos
coeficientes se obtienen a partir de la ecuacin anterior.


Su desarrollo matemtico as como las exactas conexiones entre las funciones de
escala y las ondculas bsicas estn ms all de los contenidos de este curso.



Vase tambin:

http://en.wikipedia.org/wiki/Wavelet

http://www-math.mit.edu/~gs/papers/amsci.pdf

http://en.wikipedia.org/wiki/Haar_wavelet

http://en.wikipedia.org/wiki/Daubechies_wavelet

74
Aplicaciones multimedia (Introduccin a la compresin de imgenes)

El esquema tpico y general de compresin y descompresin de una imagen es el
siguiente.

Compresin:


Imagen Transformada [TCD, Ondicular] Cuantificacin

Compresin [Huffman, aritmtica] Imagen comprimida



Descompresin:


Imagen comprimida Descompresin Antitransformada [TCD, Ondicular]

Imagen descomprimida
75



Compresin JPEG: JPEG lleg a ser un estndar internacional en 1992. Utiliza para
comprimir un criterio local, presuponiendo una cierta uniformidad entre pxeles
cercanos. As realiza la compresin sobre bloques de tamao de 88 pxeles;
operando en cada momento sobre los pxeles de un bloque, al que les aplica una TCD
2D (para evitar discontinuidades en los lmites de los bloques) u ondicular (introducida
en JPEG 2000). Se pasa as de tener una informacin espacial a un bloque 88 de
informacin espectral. Esta informacin seguidamente se cuantifica mediante una
matriz de cuantificacin, que pueder ser, por ejemplo, la matriz de luminancia, que
tiende a suprimir las altas frecuencias. Luego se codifican estas cuantificaciones
adecuadamente serializadas.


El orden de serializacin, en zig-zag, de los elementos de la matriz es el siguiente:
(0,0), (0,1), (1,0), (2,0), (1,1), (0,2), (0,3), (2,1), (1,2),
(0,3), (4,0), ...


76


Para la cuantificacin cada elemento de la matriz resultante de la transformacin se
divide por el elemento homlogo de la matriz de cuantificacin y el resultado se
redondea al entero ms prximo.


La matriz de luminancia tiene los valores siguientes:


16 11 10 16 24 40 51 61
12 12 14 19 26 58 60 55
14 13 16 24 40 57 69 56
14 17 22 29 51 87 80 62
18 22 37 56 68 109 103 77
24 35 55 64 87 104 113 92
49 64 78 87 103 121 120 101
72 92 95 98 112 100 103 99

Vous aimerez peut-être aussi