You are on page 1of 75

COMPRESION DE IMAGEN

Una imagen digital es un arreglo rectangular de puntos, o elementos de imagen,


arreglados en m filas por n columnas. La expresin m n es llamada la resolucin de
imagen, y el punto es llamado pxel (excepto en el caso de imgenes de fax y de
compresin de video, donde nos referiremos a ellas como pels). Para el propsito de la
Compresin de Imagen es til distinguir entre los siguientes tipos de imagen.

1) Una imagen bi-nivel (o monocromtica). Esta es una imagen donde los pxeles
pueden tener uno o dos niveles, normalmente referidos como blanco y negro.
Cada pxel es en este caso representa un pxel para este tipo de imagen simple.

2) Una imagen en escala de grises. Un pxel en este caso puede tener uno de los n
valores de 0 a n-1, indicando uno de los
n
2 matices de los grises (o matices de
algn otro color). El valor de n es normalmente compatible con un tamao de
un byte, es decir 4, 8, 12, 16, 24 o algn otro mltiplo conveniente de 4 o de 8.
El conjunto de bits ms significativos de todos los pxeles es el bitplano ms
significativo. De esta forma, una imagen en escala de grises tiene n bitplanos.

3) Una imagen de tonos continuos. Este tipo de imagen puede tener similares
colores (o escalas de grises). Cuando pxeles adyacentes difieren por una unidad
exactamente, es difcil para el ojo humano poder percibir esta diferencia de
color. Como consecuencia, tal imagen puede contener reas con colores que
parecen variar continuamente cuando el ojo se mueve sobre a lo largo del rea.
Un pxel en tal imagen es representado tanto por un nmero largo simple (en el
caso de muchas escalas de grises) o por tres componentes (en el caso de una
imagen de color). Una imagen de tonos continuos es normalmente una imagen
natural y es obtenida de tomar una fotografa con una cmara digital o al
escanear una fotografa o una pintura.

4) Una imagen en tono discreto (tambin llamada una imagen grfica o imagen
sinttica). Esta es normalmente una imagen artificial. Esta puede tener pocos
colores o muchos colores, pero esta no tiene el ruido y manchas de una imagen
natural. Un ejemplo de este tipo de imgenes son las fotografas de un objeto
artificial o mquina, una pgina de texto, una carta, una caricatura y el contenido
de una pantalla de computador. No toda imagen artificial es de tono discreto;
como por ejemplo, la que trata de una vista o paisaje natural es una imagen en
tono continuo a pesar de ser generada artificialmente. Los objetos artificiales, el
texto y los dibujos delineados tienen los lmites bien definidos y por
consiguiente contrastan con el resto de la imagen (el fondo). Los pxeles
adyacentes en una imagen de tono discreto frecuentemente son o idnticas o
varan significativamente en valor. Tal imagen no comprime bien con los
mtodos de prdidas, ya que las prdidas de algunos pxeles puede generar en
una carta ilegible. Los mtodos de compresin para imgenes de tono continuo
frecuentemente no manejan muy bien los lmites abruptos de una imagen de
tono discreto, adems mtodos especiales son necesarios para lograr una
compresin eficiente de estas imgenes. Ntese que una imagen de tono discreto
puede ser altamente redundante, ya que el mismo patrn o carcter puede
aparecer muchas veces en una imagen.

5) Una imagen parecida a una caricatura. Esta es una imagen de color que consiste
de reas uniformes. Cada rea tiene un color uniforme no obstante reas
adyacentes tienen colores diferentes. Esta caracterstica puede ser explotada para
obtener una mejor compresin.

Intuitivamente es claro que cada tipo de imagen puede ofrecer redundancia, pero ellas
son redundantes en diferentes formas. Por lo tanto cualquier mtodo de compresin
dado no se ejecuta bien con todas las clases de imgenes y por lo tanto existen
diferentes mtodos de acuerdo al tipo de imagen. Hay mtodos de compresin para
imgenes binivel, para imgenes de tono continuo y para imgenes de todo discreto.
Hay mtodos que intentan desintegrar una imagen en partes de tono continuo y tono
discreto y as comprimirlas cada una por separado.



INTRODUCCIN


Los computadores modernos emplean grficos e imgenes en casi todas las
circunstancias de uso. Desde que el hardware moderno puede mostrar muchos colores,
es comn tener una representacin de pxeles internamente como un nmero de 24 bits,
donde el porcentaje de de rojo, verde y azul ocupan 8 bits cada uno. Este pxel de 24
bits puede especificar 78 . 16 2
24
millones de colores diferentes. Una resolucin de
512512 que consiste de tales pxeles que ocupan 786.432 bytes. Una resolucin de
10241024 que se vuelve cuatro veces ms grande, requiere 3.145.728 bytes. Por tal
razn es importante la compresin. Una imagen ante todo existe para e ojo humano y es
aceptable cuando se pierden caractersticas que no son perceptibles por el ojo humano.
Esta es una de las ideas detrs de muchos mtodos de compresin de imagen descritos
aqu.

En general, la informacin puede ser comprimida si esta es redundante. Ya ha sido
mencionado varias veces que la compresin de datos sirve para reducir o remover la
cantidad de redundancia en los datos. Con la compresin por prdidas, no obstante
tenemos un nuevo concepto, llamado compresin por remocin de irrelevancias.

La idea de perder informacin de imagen como tcnica de compresin empieza a ser
ms palpable y entendible cuando consideramos como una imagen digital es creada.
Aqu hay tres ejemplos:

(1) Una imagen real puede ser escaneada desde una fotografa o una pintura y
digitalizada (convertida a pxeles).

(2) Una imagen puede ser grabada por una cmara de video que crea pxeles y los
almacena directamente en la memoria.

(3) Una imagen puede ser pintada sobre la pantalla de un programa de dibujo o diseo.

En todos estos casos, alguna informacin se pierde cuando la imagen es digitalizada. Si
el espectador es tolerante a esta clase de prdida de calidad se podra pensar en
realizarlo adredemente realizndolo de forma apropiada.

Digitalizar una imagen involucra dos pasos: muestreo y cuantizacin.

1) Muestrear una imagen es el proceso de dividir la imagen original de dos
dimensiones dentro de pequeas regiones: pxeles.

2) Cuantizacin es el proceso de asignar un valor entero a cada pxel. Ntese que
la digitalizacin de sonido rene los dos mismos pasos con la diferencia de que
el sonido esta en una sola dimensin.

Aqu hay un simple proceso para determinar cuantitativamente la cantidad de datos
perdidos en una imagen comprimida. Dada una imagen A, (1) comprimir esta a B, (2)
descomprimir B a C, y (3) sustraer D = C A. Si A fue comprimido sin ninguna prdida
y descomprimido apropiadamente, entonces C podra ser idntico a A y la imagen D
podra ser uniformemente blanca.

Como una imagen podra ser comprimida? Pues bueno, para realizar esto se puede
utilizar tcnicas como RLE, cuantizacin escalar, mtodos estadsticos y mtodos
basados en diccionario. No obstante ninguno es muy satisfactorio para imgenes en
escala de grises o a color (aunque estas tcnicas podran ser usadas junto con otros
mtodos). Aqu est el por qu.

El mtodo RLE es un tipo de codificacin basado en la longitud de smbolos
consecutivos (Run Lenght Encoding), es decir, si en un flujo de datos el smbolo s
ocurre n veces consecutivas, podremos reemplazar esta redundancia por la expresin ns.
En el caso de datos grficos RLE podra ser el candidato natural perfecto, ya que es muy
comn que dentro de un arreglo de pxeles, estos y sus vecinos tengan el mismo color.
RLE se ejecuta leyendo fila tras fila de pxeles dentro del rea uniforme de la imagen.
La utilizacin de RLE es til en la compresin de Imgenes en Escala de Grises, en
donde cala fila de pxeles de la misma intensidad (nivel de gris) es codificado en una
pareja de valores.

1) Longitud de la repeticin del valor.
2) Vvalor de la intensidad del gris en el pxel.

El valor de la Longitud de repeticin de un valor generalmente ocupa un byte
permitiendo de esta forma comprimir hasta 255 pxeles pues 1Byte = 8bits por lo tanto
255 2
8
= .

El valor del pxel ocupa varios bits, dependiendo del nmero de niveles en la escala de
grises (tpicamente entre 4 y 8 bits).

Un ejemplo de esta codificacin se presenta a continuacin.

27, 27, 27, 27, 27, 27, 15, 13, 9, 9, 9, 9, 9, 9, 9, 9, 27, 27, 27,

Se puede comprimir de la siguiente manera.

6, 27, 15, 13, 8, 9, 3, 27

Donde los nmeros subrayados indican el conteo de pxeles repetidos. El problema aqu
ahora es saber si un nmero corresponde a un contador de longitud de repeticin o a un
valor en la escala de grises.

Para resolver esto podemos optar por colocar una bandera para indicar si el valor
contiene o no un contador de repeticin. Este mtodo puede ser aplicado de igual forma
a una imagen en color, la cual se representa generalmente con tres tonalidades
combinadas de colores rojo, verde y azul y de igual forma es almacenado en tres
bytes, uno para cada tonalidad, por lo tanto tambin es posible aplicar este mtodo a
cada tonalidad por separado.

Una desventaja de RLE es que al modificarse la imagen, la longitud de repeticin se ha
modificado tambin. La salida del RLE puede en muchas ocasiones ser ms grande que
el almacenamiento pxel por pxel para imgenes complejas. Imagine una imagen con
lneas verticales. Cuando esta es escaneada horizontalmente, esta produce repeticiones
muy cortas, resultando en una muy mala compresin o en expansin que es peor
(observar en la imagen que esta se prolonga verticalmente y no horizontalmente).




Un buen compresor RLE debera ser capaz de escanear el mapa de bits por filas,
columnas y en zigzag al mismo tiempo sobre el mismo mapa de bits para alcanzar de
esta forma una mejor compresin.

En conclusin este mtodo es simple y es usado por una parte de JPEG, especialmente
por su modo sin prdidas. En general, no obstante, los otros principios usados por JPEG
producen mucha mejor compresin que hacindolo nicamente con RLE. La
compresin de Facsmile usa una combinacin de RLE con Huffman y obtiene buenos
resultados, pero nicamente para imgenes bi nivel.

La cuantizacin escalar ha sido mensionada en la seccin 1.6. Esta puede ser usada para
comprimir imgenes, pero su rendimiento es mediocre. Imagine una imagen de 8 bits
por pxel. Esta puede ser comprimida a travs de la cuantizacin escalar al quitar los
cuatro bits menos significativos de cada pxel. Esto produce una compresin a un radio
de 0.5 reduciendo el nmero de colores desde 256 a solo 16. Tal reduccin no solo
degrada la calidad total de la imagen reconstruida, sino que adems crea bandas de
colores diferentes, un notable e incmodo efecto que es ilustrado aqu.

Imagine una fila de 12 pxeles con colores similares, extendindose desde 202 a 215. En
notacin binaria estos valores son.


11010111 11010110 11010101 11010011 11010010 11010001
11001111 11001110 11001101 11001100 11001011 11001010


Cuantizndolos sin tener en cuenta los cuatro bits menos significativos resultar en 12
valores de cuatro bits como sigue.


1101 1101 1101 1101 101 1101 1100 1100 1100 1100 1100 1100


Los cuales reconstruirn los 12 pxeles de la siguiente manera.


11010000 11010000 11010000 11010000 11010000 11010000
11000000 11000000 11000000 11000000 11000000 11000000


Los primeros pxeles de la fila ahora tienen el valor 11010000
2
= 208, mientras que los
siguientes seis pxeles son 11000000
2
= 192. Si filas adyacentes llegan a tener pxeles
similares, las primeras seis columnas formarn una banda totalmente distinta a la banda
formada por los siguientes seis valores. Estas bandas son muy notorias ya que nuestros
ojos son sensitivos a lmites y saltos en una imagen.

Una manera de eliminar este efecto es llamado cuantizacin de escala de grises
mejorado (IGS por sus siglas en ingles de Improved Gray-Scale Quantization) Este
trabaja agregando a cada pxel un nmero aleatorio generado a partir del cuarto bit ms
significativo.

El mtodo estadstico trabaja mejor cuando los smbolos que estn siendo comprimidos
tienen diferentes probabilidades. Un flujo de entrada donde todos los smbolos tienen la
misma probabilidad no ser comprimido. Dentro de una imagen los diferentes colores o
la escala de grises pueden a menudo tener las mismas probabilidades de aparicin. Este
es el motivo por el que un mtodo estadstico no es una buena solucin para la
compresin de imgenes, y por lo tanto por qu es necesario nuevas aproximaciones.

Imgenes con discontinuidades en el color, donde los pxeles adyacentes tienen colores
ampliamente diferentes, se comprimen mejor con mtodos estadsticos, pero de igual
forma no es fcil predecir con solo mirar la imagen, si esta presenta varias
discontinuidades.

Los mtodos de compresin basados en diccionario tienden a ser infructuosos con
imgenes de tono continuo. En tales imgenes los pxeles adyacentes tienen colores
similares, pero no contienen patrones repetidos. Incluso una imagen que contiene
patrones repetidos tales como lneas verticales pueden perder estas cuando se
digitalizan. Una lnea vertical en la imagen original puede llegar a ser ligeramente
inclinada cuando se digitaliza la imagen.











Tratar de realizar compresin por Matlab del siguiente esquema











EL PRINCIPIO DE LA COMPRESIN DE IMAGEN


Si seleccionamos un pxel en la imagen aleatoriamente, existe una buena probabilidad
de que su vecino tenga el mismo color o al menos un color muy similar.

La compresin de imagen esta por consiguiente basada sobre el hecho de que los pxeles
vecinos estn altamente correlacionados. Esta correlacin es tambin llamada
redundancia espacial.
Aqu hay un simple ejemplo que ilustra que puede ser hecho con pxeles
correlacionados. La siguiente secuencia de valores da la intensidad de 24 pxeles en una
fila de una imagen de tono continuo.

12, 17, 14, 19, 21, 26, 23, 29, 41, 38, 31, 44, 46, 57, 53, 50, 60, 58, 55, 54, 52, 51, 56,
60.

Unicamente dos de los 24 pxeles son idnticos. Su valor promedio es 40.3. Sustrayendo
pares de pxeles adyacentes como por ejemplo

17 12 = 5
14 17 = -3
19 14 = 5

a b c
a) lnea vertical ideal
b) lnea vertical digitalizada
c) Resultado de una digitalizacin
imperfecta
Y as sucesivamente hasta finalizar los valores de la imagen de tono continuo, obtengo
la siguiente secuencia de resultados.


12, 5, -3, 5, 2, 4, -3, 6, 11, -3, -7, 13, 4, 11, -4, -3, 10, -2, -3, 1, -2, -1, 5, 4.


Las dos secuencias, tanto la original como a la que se obtuvo por substraccin se
muestran a continuacin en las siguientes grficas.












La secuencia de valores diferentes tiene tres propiedades que ilustran esta potencial
compresin:

(1) La diferencia entre valores es ms pequeos que el valor del pxel original, donde su
promedio es de 2.58 a diferencia del valor original que era de 40.3.

(2) Ellos se repiten. Hay ahora 15 valores diferentes, adems en principio cada uno de
ellos puede ser codificado por cuatro bits.

(3) Ellos estn decorrelacionados: El resultado de la diferencia de dos valores tiende a
ser diferente entre resultados adyacentes. Esto se puede apreciar al realizar la
sustraccin de estos, obteniendo de esta manera una secuencia de 24 diferencias
secundarias.

12, -7, -8, 8, -3, 2, -7, 9, 5, -14, -4, 20, -11, 7, -15, 1, 13, -12, -1, 4, -3, 1, 6, 1.

Estas son ms grandes que las diferencias existentes entre ellos.

El principio de la compresin de imagen tiene otro aspecto. Nosotros conocemos por la
experiencia que el brillo de pxeles adyacentes est correlacionado. Dos pxeles
adyacentes pueden tener diferentes colores, por ejemplo uno podra tender a ser ms
rojo y el otro a ser ms verde. An si el componente rojo del primero es brillante, el
componente verde de su vecino ser en muchos casos de igual forma tendiente a ser
brillante. Esta propiedad puede ser explotada para convertir la representacin RGB del
pxel en otros tres componentes, uno con el valor del brillo y los otros dos con el valor
del color. Esta apreciacin es muy entendible y prctica ya que el ojo es sensitivo a
pequeos cambios en el brillo pero no tanto a las pequeas variaciones del color. Esta
representacin ahora en dos colores presenta una prdida de informacin con respecto a
Diferencias
-10
-5
0
5
10
15
1 3 5 7 9 11 13 15 17 19 21 23 25
Diferencias
Valor de Tonos Coninuos
0
20
40
60
80
1 4 7 10 13 16 19 22
Valor de Tonos
Coninuos
la que ofreca la codificacin RGB, no obstante esta prdida es insignificante al ojo
humano.


ACERCAMIENTO A LA COMPRESION DE IMAGEN


Un mtodo de compresin de imagen es normalmente diseado para un tipo especfico
de imagen y esta seccin lista varios acercamientos a la compresin de imagen de
diferentes tipos. nicamente los principios generales son discutidos aqu.

Acercamiento 1: Este es usado para una imagen binivel. Un pxel en cada una de las
imgenes es representado por un bit. Aplicando el principio de la compresin de imagen
a una imagen binivel significa por lo tanto que los vecinos inmediatos al pxel P tienden
a ser idnticos a P. Esto hace pensar en el uso de RLE para lograr la compresin de esta
imagen. Un ejemplo de tal mtodo sera la compresin realizada en un facsimil.

Acercamiento 2: Asimismo para una imagen bi-nivel. El principio de compresin de
imagen nos dice que los vecinos de un pxel tienden a ser similares al pxel. Nosotros
podemos extender este principio y concluir que si el pxel actual tiene un color c (donde
c puede ser blanco o negro), entonces los pxeles del mismo color vistos en el pasado (y
tambin estos sern encontrados en el futuro) tienden a tener el mismo vecino
inmediato.

Este acercamiento observa a n de los actuales pxeles vecinos a este y los considera
como un nmero de n bits. Este nmero es el contexto del pxel. En principio puede
haber
n
2 contextos, pero a causa de la redundancia de imagen esperamos que ellos sean
distribuidos de una manera uniforme. Algunos contextos podran ser comunes y otros
podran ser totalmente raros.

El codificador cuenta cuantas veces cada contexto ha sido realmente encontrado para un
pxel de color C, y asigna probabilidades a los contextos apropiadamente. Si el actual
pxel tiene un color C y su contexto tiene probabilidad P, el codificador puede usar
codificacin aritmtica adaptativa para codificar el pxel con esta probabilidad. Este
acercamiento es utilizado en JBIG.

A continuacin, veremos el efecto en imagen en escala de grises. Un pxel en tal imagen
es representado por n bits y puede tener uno de los
n
2 valores. Aplicando el principio de
la compresin de imagen a una imagen en escala de grises implica que los vecinos
inmediatos del pxel P tienden a ser similares a P, pero no necesariamente idnticos.

Acercamiento 3: Separa la imagen en escala de grises dentro de imgenes bi nivel y
comprime cada una con RLE y cdigos prefijos. El principio de la compresin de
imagen parece implicar intuitivamente que dos pxeles adyacentes que son similares in
la imagen en escala de grises sern idnticas en muchas de las imgenes bi nivel. Esto,
no obstante, no es cierto como lo aclara el siguiente ejemplo. Imagnese una imagen en
escala de grises con n = 4 (por ejemplo pxeles de 4 bits o 16 matices de gris). La
imagen puede ser separada dentro de cuatro imgenes bi-nivel. Si dos pxeles
adyacentes en la imagen en escala de grises origina tienen valores 0000 y 0001,
entonces ellas son similares. Ellas son adems idnticas en tres de las cuatro imgenes
Comentario [VEDR1]: Para
complementar este tema referirse a
la seccin 2.13 de Salomn.
bi-nivel. No obstante, dos pxeles adyacentes con valores de 0111 y 1000 son similares
en la escala de grises (7 y 8 respectivamente) pero difieren en todas la cuatro imgenes
bi-nivel.

Este problema ocurre porque los cdigos binarios de enteros adyacentes pueden diferir
por varios bits. El cdigo binario de 0 y 1 difiere por un bit, el cdigo 1 y 2 difiere en
dos bits y el 7 y 8 difieren en cuatro bits. La solucin es disear cdigos binarios
especiales tal que los cdigos de cualesquiera enteros consecutivos i e i +1 sean
diferentes por un bit nicamente. Un ejemplo de tal cdigo es el cdigo Gray reflejado.

Acercamiento 4: Uso del contexto del pxel para predecir su valor. El contexto de un
pxel es el valor de algunos de sus vecinos. Podemos examinar algunos vecinos de un
pxel P, calcular un promedio A de los valores comprometidos y predecir qu P tendr
un valor A. Este principio de compresin de imagen nos dice que nuestra prediccin
ser correcta en muchos casos, casi correcto en muchos casos, completamente errado en
pocos casos. Podremos decir que la prediccin del valor de un pxel P representa la
informacin redundante en P. Ahora calcularemos la diferencia:

A P
def

=
.

Y asignamos cdigos (prefijos) de tamao variable a los valores diferentes de tal que
pequeos valores (que esperamos sean comunes) son asignados cdigos cortos y
grandes valores (los cuales esperamos no sean tan frecuentes) les son asignados cdigos
extensos. Si P puede tener los valores desde 0 hasta m -1, entonces valores de tendrn
asignados rangos entre [-(m -1), + (m-1)], y los nmeros de cdigos necesarios es de
2(m -1) + 1 2m -1.

Las experiencias con gran nmero de imgenes sugiere que los valores de tienden a
ser distribuidos de acuerdo a una distribucin de Laplace (figura 4.120b). Un mtodo de
compresin puede por lo tanto, usar esta distribucin para asignar una probabilidad a
cada valor de , y de esta manera usar codificacin aritmtica para codificar los valores
muy eficientemente. Este el es el principio del mtodo MLP (seccin 4.19).

El contexto de un pxel puede consistir de justamente uno o dos de estos vecinos
inmediatos. No obstante, mejores resultados pueden ser obtenidos cuando varios pxeles
vecinos son incluidos en el contexto. Otra importante consideracin es el decodificador.
Para decodificar la imagen, este debera ser capaz de calcular el contexto de cada pxel.
Esto significa que el contexto podra obtener nicamente pxeles que ya han sido
codificados. Si la imagen es escaneada en tramas ordenadas, el contexto podra incluir
nicamente pxeles localizados encima del actual pxel o sobre la misma fila a la
izquierda de este.

Acercamiento 5: Transformar los valores de los pxeles, y codificar los valores de la
transformada. Entre estas encontramos la transformada Wavelet. Aqu cave recordar que
la compresin es alcanzada por la remocin de redundancia. La redundancia de una
imagen es causada por la correlacin entre pxeles, de modo que la transformacin de
pxeles a una representacin donde ellos son decorrelacionados elimina la redundancia.
De esta forma es posible pensar de la transformada en trminos de la entropa de una
imagen. En una imagen altamente correlacionada, los pxeles tienden a tener valores
equiprobables, lo que resulta en la obtencin de una mxima entropa. Si la
transformada de pxeles son decorrelacionados, ciertos valores de pxeles llegan a ser
comunes, por consiguiente teniendo grandes probabilidades, mientras que los otros no
tanto. Esto resulta en la obtencin de pequea entropa. Cuantizando los valores de la
transformada puede producir una compresin de imagen con prdida de eficiencia.
Nosotros esperamos que los valores de la transformada sean independientes ya que esto
simplificara la construccin de un modelo estadstico.

Acercamiento 6: El principio de este acercamiento es el de separar una imagen de tono
continuo de color dentro de tres imgenes en escala de grises y comprimir cada una de
estas separadamente usando los acercamiento 2, 3 y 4.

Para una imagen de tono continuo, el principio de la compresin de imagen implica que
los pxeles adyacentes tienen similares aunque quizs no idnticos colores. No
obstante, similares colores no significa que sean valores de pxel similares. Considere
por ejemplo un pxel de 12 pxeles de valor donde cada componente de color es
representado por cuatro bits. As de esta manera, los 12 bits 1000/0100/0000
representan un pxel cuyo color es la mezcla de ocho unidades de rojo (alrededor del
50%, ya que el mximo es de 15 unidades), cuatro unidades de verde (alrededor del
25%), y por ltimo nada de azul. Ahora imagine dos pxeles adyacentes con valores de
0011/0101/0011 y 0010/0101/0011. Ellos tienen similares colores, ya que nicamente
sus componentes rojos difieren y nicamente por una unidad. No obstante, cuando
consideramos los 12 bits, los dos nmeros 001101010011 y 001001010011 son muy
diferentes, ya que ellos difieren en uno de sus bits ms significativos.

Una importante caracterstica de este acercamiento es usar una luminancia.

Acercamiento 7: Un acercamiento diferente es necesario para imgenes de tono
discreto. Cave recordar que cada imagen tiene regiones uniformes continuas, y una
regin puede aparecer varias veces en la imagen. Existen imgenes consistentes de texto
e conos. Cada carcter de texto y cada cono es una regin, y cualquier regin puede
aparecer varias veces en la imagen. Una posible manera para comprimir tal imagen sera
escanearla, identificando las regiones y encontrando regiones repetidas. Si una regin B
es idntica a otra regin, A, entonces B puede ser comprimida escribiendo un puntero
hacia A sobre el flujo comprimido.

Cdigo Gray

Un mtodo de compresin de imgenes que ha sido desarrollado especficamente para
cierto tipo de imagen puede ser algunas veces usado por otros tipos. Cualquier mtodo
para comprimir imgenes bi-nivel, por ejemplo, puede ser usado para comprimir
imgenes en escala de grises separndola en planos de bits y comprimiendo cada plano
individualmente como si este fuera una imagen bi-nivel.

Imagine por ejemplo una imagen con 16 valores en escala de grises. Cada pxel es
definido por cuatro bits, de modo que la imagen puede ser separada dentro de cuatro
imgenes bi-nivel. El problema radica en que esto viola el principio general de
compresin de imagen. Imagine dos pxeles de 4 bits adyacentes con valores 7 = 0111 y
8 = 1000. Estos pxeles son diferentes en cada plano de bit. Esto es porque la
representacin binaria de los enteros consecutivos 7 y 8 difieren en todas las cuatro
posiciones de bit. En consecuencia para aplicar cualquier mtodo de compresin bi
nivel para imgenes en escala de grises, una representacin binaria de los enteros es
necesaria en donde enteros consecutivos tienen cdigos que difieren por un bit
nicamente. Tal representacin existe y es llamada Cdigo de Gray Reflejada (RGC).
Este cdigo es fcil de generar como se observa a continuacin.

1) Empieza con los dos cdigos de un bit (0, 1).

2) Construimos dos juegos de cdigo de dos bits para duplicar a (0, 1) agregando a,
cualquiera sobre la izquierda o sobre la derecha, hacindolo primero sobre el
cero y posteriormente sobre el uno. El resultado es (00, 01) y (10, 11).

3) Ahora nos regresamos (reflejando) el segundo conjunto, y concatenando los dos.
El resultado es el RGC de dos bits (00, 01, 11, 10), en donde se obtiene un
cdigo para los enteros de 0 a 3, en el cual los cdigos consecutivos difieren
exactamente por un bit.

4) Aplicando la regla nuevamente se producen los dos conjuntos (000, 001, 011,
010) y (110, 111, 101, 100), los cuales son concatenados para formar el RGC de
tres bits.

5) Aqu estn los primeros tres pasos para calcular el RGC de cuatro bits:














TRANSFORMADA DE IMGENES


Mientras varias transformadas discretas tales como la Walsh-Hadamard, Haar, Slant,
Fourier Discreta (DFT), DCT, Seno discreta (DST), LOT, y la transformada wavelet
discreta (DWT) han sido investigadas para aplicaciones de codificacin de imagen, la
DCT ha emergido como la trasformada ms prctica y eficiente. No obstante, no se
puede desmeritar a la LOT y la DWT las cuales han demostrado ltimamente ser
formidables competidoras de la DCT. De igual forma hay que comprender que estas
transformadas por s solas no comprenden todo el proceso de compresin, ya que
tambin forman parte de este esquema de procesamiento, cuantizadores, buffers,
codificacin de longitud variable, la sensitividad visual humana, la compensacin de
movimiento, multiplixores, interfases de red, etc. En esquemas hbridos, estas
Agregar un cero (0000, 0001, 0011, 0010, 0110, 0111, 0101, 0100)
Agregar un uno (1000, 1001, 1011, 1010, 1110, 1111, 1101, 1100)
Reflejar (1100, 1101, 1111, 1110, 1010, 1011, 1001, 1000)
trasformadas se encuentran complementadas con tcnicas como la prediccin, la
cuantizacin vectorial, sub bandas, entre otras.

El concepto matemtico de una transformada se presenta como una herramienta
poderosa en muchas reas y pueden adems servir como un acercamiento a la
compresin de imagen. Ya antes se han discutido estos conceptos generales, as como
tambien la transformada de Fourier. Una imagen puede ser comprimida transformando
sus pxeles (los cuales estan correlacionados) a una representacin donde ellos son
decorrelacionados. La compresin es alcanzada si los nuevos valores son pequeos,
sobre promedio que los originales. Compresin de prdida puede ser conseguida al
cuantizar los valores de la transformada. El decodificador ingresa los valores de la
transformada desde el flujo comprimido y reconstruye (de forma precisa o aproximada)
el dato original aplicando la transformada opuesta.

El trmino decorrelacionado significa que los valores de la transformada son
independientes uno del otro. Como resultado, ellos pueden ser codificados
independientemente, haciendo de esta forma fcil la construccin de un modelo
estadstico. Una imagen puede ser comprimida si su representacin tiene redundancia.
La redundancia en imgenes proviene de la correlacin de pxeles. Si transformamos la
imagen para una representacin donde los pxeles son decorrelacionados, hemos de
eliminar la redundancia y la imagen habr sido complemente comprimida.

Empezaremos con un simple ejemplo, donde escanearemos una imagen en tramas
ordenadas y grupos pares de pxeles adyacentes. Debido a que los pxeles estn
correlacionados, los dos pxeles (x, y) de un par normalmente tienen similares valores.
Ahora consideraremos los pares de pxeles como puntos en un espacio de dos
dimensiones. Conocemos que todos los puntos de la forma (x, x) estn localizados sobre
la lnea de 45 y = x, adems esperamos que nuestros puntos se encuentren concentrados
alrededor de esta lnea. La figura 4.15 muestra el resultado de plotear los pxeles de
una tpica imagen donde un pxel tiene tiene valores en el intervalo [0, 255].

Muchos puntos forman una nube alrededor de esta lnea, u nicamente unos pocos
puntos estn localizados lejos de esta. Ahora transformaremos la imagen rotando todos
los puntos 45 en el sentido de las manecillas del reloj, hacia el origen, coincidiendo
esta con el eje x. Esto se hace efectuando simplemente la siguiente transformada.











Donde la matriz de rotacin R es ortonormal es decir, el producto punto de la fila
consigo misma es 1, el producto punto de filas diferentes es cero, y de igual forma
ocurre para las columnas.

x

.
( )
x y . ( )
1
2
1
1
1
1
|

\
|
|

:=
x

.
( )
x y . ( ) R :=
x

.
( )
x y . ( )
cos 45 ( )
sin 45 ( )
sin 45 ( )
cos 45 ( )
|

\
|
|

:=
La transformada inversa es









La inversa de una matriz ortonormal es esta transposicin.

Es obvio que la mayora de los puntos termina teniendo coordenadas que son cero o
cercano a cero, mientras la coordenada x no cambia mucho.

Una vez las coordenadas de los puntos son conocidos antes y despus de la rotacin, es
fcil medir la reduccin en correlacin. Una simple medida es la suma






Tambin llamada cross relacin de puntos (x
i
, y
i
).


Ahora podemos comprimir la imagen simplemente escribiendo los pxeles
transformados sobre el flujo comprimido. Si se admite alguna prdida de datos,
entonces es posible cuantizar todos los pxeles resultando de esta manera en valores
cada vez ms pequeos. Podemos asimismo escribir todos los pxeles sobrantes sobre el
flujo comprimido seguido por todos los pxeles numerados. Estas dos secuencias son
llamadas los coeficientes vectores de la transformada. La secuencia posterior consiste de
pequeos nmeros y pueden despus cuantificarse obtenindose un flujo de ceros,
resultando en una mejor compresin.

Puede mostrarse que el total de la varianza de los pxeles no cambia por la rotacin,
desde que la matriz sea ortonornal. No obstante, a que la varianza de la nueva
coordenada y es pequea, la mayora de la varianza est concentrada ahora en la
coordenada de las x. La varianza es algunas veces llamada la energa de la distribucin
de pxeles, as que podemos decir que la rotacin ha concentrado (o compactado) la
energa en la coordenada de las x creando compresin de esta manera.

Concentrar la energa en una coordenada tiene otra ventaja. Esto hace posible cuantizar
esta coordenada ms fnamente que en las otras coordenadas. Este tipo de cuantizacin
resulta en un mejor compresin.

Para mostrar estos conceptos los ilustraremos con un ejemplo.

1) Utilizaremos para empezar un punto con coordenadas (4,5), las cuales son muy
similares.
x y . ( ) x

.
( )
R
1
:=
x y . ( ) x

.
( )
R
T
:=
x y . ( ) x

.
( )
1
2
1
1
1
1
|

\
|
|

:=
i
x
i
y
i


2) Haciendo uso de la ecuacin (4.3) el punto es transformado a






3) La energa del punto y su trasformada es igual a





4) Si eliminamos la coordenada pequea (4) del punto, finalizaremos con un error
de 4
2
/41 = 0.39.

5) Si por otro lado eliminamos el ms pequeo de los coeficientes de la
transformada (0.707), el error resultante es 0.707
2
/41 = 0.012.

6) Otra manera de obtener el mismo error es considerar la reconstruccin del punto.
Pasando ) 1 , 9 )( 2 / 1 (

a travs de la transformada inversa




Se obtiene el punto original (4,5)

7) Ahora haciendo lo mismo con ) 0 , 9 )( 2 / 1 ( , resulta en la reconstruccin
aproximada del punto de la forma (4.5, 4.5).



8) La diferencia de energa entre el dato original y el punto reconstruido es la
misma pequea cantidad.






Esta simple transformada puede extenderse fcilmente a cualquier nmero de
dimensiones. En lugar de seleccionar pares de pxeles adyacentes, podemos seleccionar
tripletas. Cada tripleta se vuelve un punto en el espacio tridimensional, y estos puntos
forman una nube concentrada alrededor de la lnea que forma ngulos de 45 con los
tres ejes de coordenadas. Cuando esta lnea es rotada, cada una de estas coincide con el
eje x, las coordenadas z e y de los puntos transformados se vuelven muy pequeos. La
transformada es realizada al multiplicar cada punto por una matriz de rotacin de
3 3 la cual es por supuesto ortonormal. Los puntos transformados son entonces
T 4
2
5
2
+ := T 41 = E
9
2
1
2
+
2
:= E 41 = E T :=
x y . ( ) x

.
( )
1
2
1
1
1
1
|

\
|
|

:=
Dif
4
2
5
2
+
( )
4.5
2
4.5
2
+
( )

4
2
5
2
+
:= Dif 0.012 =
Transf
4 5 ( )
1
1
1
1
|

\
|
|

2
:= Transf 6.364 0.707 ( ) =
separados dentro de tres coeficientes vectoriales, de los cuales los ltimos dos estn
compuestos de nmeros pequeos. Para maximizar la compresin, cada coeficiente
vectorial podra ser cuantizado separadamente.

Esto se puede extender a ms de tres dimensiones, con la nica diferencia de que no
podemos visualizar ms all de las tres dimensiones. No obstante, las matemticas
pueden extender esto fcilmente. Algunos mtodos de compresin, tales como el JPEG,
dividen la imagen dentro de bloques de 8 8 pxeles cada uno, y rotan cada bloque dos
veces como se muestra en la ecuacin 4.9. Esta doble rotacin produce un juego de 64
valores transformados, de los cuales el primero es el ms grande (llamado coeficiente
DC) y los restantes 63 (coeficientes AC) son normalmente pequeos. Tanto el
coeficiente DC como los AC podran en principio cuantizarse por separado.



TRANSFORMADA ORTOGONAL


Las transformadas de Imagen usadas en la prctica deberan ser preferiblemente ms
rpidas y fciles de implementar. Esto sugiere el uso de transformadas lineales. En tal
transformada, cada valor trasformado c
i
es una suma de pesos de los tems de los datos
(pxeles) dj, donde cada item es multiplicado por un peso (o coeficiente de
transformada) wij. De esta manera,

=
j
ij j i
w d c para i, j = 1, 2, 3, , n. Para el caso
en donde n = 4, este es expresado en notacin matricial de la siguiente manera.









Para el caso general, podemos escribir D W C = . Cada fila de W es llamada vector
base.

La verdadera importancia aqu consiste en determinar los valores de los pasos w
ij
. El
principio que nos ha guiado es el de esperar que el primer valor, c
1
sea grande mientras
que los restantes valores de c, sean pequeos. La relacin bsica

=
j
ij j i
w d c sugiere
que c
1
ser grande cuando cada peso w
ij
refuerce el dato correspondiente dj. Esto ayuda,
por ejemplo cuando los vectores w
ij
y dj tienen similares valores y signos.
Recprocamente, c
1
ser pequeo si todos los pesos de w
ij
son pequeos y la mitad de
estos tienen el signo opuesto a dj. De esta manera cuando obtenemos un valor grande de
c
1
conoceremos que el vector vase w
ij
se parece al dato del vector dj. Un c
1
pequeo por
otro lado, significar que tanto w
ij
como dj tienen diferentes formas. As, podemos
interpretar los vectores base w
ij
como herramientas para extraer caractersticas del
vector de dato.

c
1
c
2
c
3
c
4
|

\
|
|
|
|
|
|

w
11
w
21
w
31
w
41
w
12
w
22
w
32
w
42
w
13
w
23
w
33
w
43
w
14
w
24
w
34
w
44
|

\
|
|
|
|
|
|

d
1
d
2
d
3
d
4
|

\
|
|
|
|
|
|

:=
En la prctica, los pesos pueden ser independientes de los elementos de datos. Por otra
parte, los pesos podran haber sido incluidos en el flujo de compresin, para el uso por
parte del decodificador. Esto, combinado con el hecho de que nuestros elementos de
datos son valores de pxeles, que son normalmente no negativos, sugiere una manera de
escoger los vectores base. El primer vector, el que produce c
i
consiste de valores
positivos, y quizs hasta idnticos. Esto reforzar los valores no negativos de los
pxeles. Cada uno de los otros vectores podra tener la mitad de los elementos positivos
y la otra mitad ser negativos. Cuando multiplicamos por elementos de datos no
negativos, cada uno de los vectores tiende a producir pequeos valores. Recordar que
podemos interpretar los vectores base como herramientas para extraer caractersticas del
vector de dato. Una buena seleccin podra por lo tanto tener vectores base que son muy
diferentes uno del otro, y adems pueden extraer caractersticas diferentes. Esto conduce
a la idea de vectores base que son mutuamente ortogonales. Si la matriz W de
transformacin es ortogonal, la misma transformada por lo tanto ser ortogonal.

Estas consideraciones son satisfechas por la siguiente matriz ortogonal.


W
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
|

\
|
|
|
|
|

:=



El primer vector base (es decir la fila superior de W) consiste de todos sus valores a 1
as que su frecuencia es cero. Cada una de las filas o vectores subsecuentes tienen dos
valores en +1 y dos valores en -1, as que ellos producen pequeos valores en la
transformada y sus frecuencias (medidas como el nmero de cambios de seal a lo largo
del vector base) obtienen superiores. Observemos esto con un ejemplo.





TRANSF
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
|

\
|
|
|
|
|

4
6
5
2
|

\
|
|
|
|
|

:= TRANSF
17
3
5
1
|

\
|
|
|
|
|

=



El resultado es animador, ya que c
1
es grande (comparado al tem del dato original), y
dos de los c
i
restantes son pequeos. No obstante la energa de los tems del dato
original es , 81 2 5 6 4
2 2 2 2
= + + + mientras que la energa de los valores transformados
es 324 1 ) 5 ( 3 17
2 2 2
= + + + lo que vendra siendo cuatro veces ms. Es posible
conservar la energa al multiplicar la matriz de transformacin W por un factor de escala
. En nuevo producto
T
W ) 2 , 5 , 6 , 4 ( ahora produce (17/2, 3/2, -5/2, 1/2). La energa es
conservada, pero est concentrada en el primer componente, que contiene
% 89 81 / 5 . 8
2
= del total de la energa, comparada con el dato original, donde el primer
componente contiene % 20 81 / 4
2
de la energa.

Otra ventaja de W es que esta adems ejecuta la transformada inversa. El producto





Reconstruye el dato original (4, 6, 5, 2).

Estamos ahora en posicin de apreciar la potencia de una transformada. Se cuantizar
el vector transformao (8.5, 1.5, -2.5, 0.5) en los valores enteros (9, 1, -3, 0) y
ejecutaremos la transformada inversa para obtener de vuelta los valores (3.5, 6.5, 5.5,
2.5) los cuales son muy cercanos al valor original. Otro experimento es eliminar
completamente los dos valores ms pequeos dejando solamente (8.5, 0, -2.5, 0). Esto
produce los valores reconstruidos (3, 5.5, 5.5, 3) los cuales todava son muy cercanos al
dato original.


TRANSFORMADA DE COSENO DISCRETO

Para el caso de imgenes de escenas naturales, los vectores base de la DCT ofrecen una
buena aproximacin a los vectores base de la transformada K-L. Por esta razn, la
transformada DCT se usa a menudo como sustituta de la transformada K-L, por
ejemplo, en el algoritmo JPEG. Aunque la transformada DCT ofrece una eficiencia de
decorrelacin espectral menor que la transformada K-L, sus vectores base son fijos.

La DCT en dos dimensiones es el mtodo utilizado en la prctica, pero el concepto
entero de la DCT es fcil de entender, al mirar primero la DCT unidimensional. La
figura 4.17 muestra siete ondas coseno, w(f) = cos (f), para 0 , con frecuencias
f= 1, , 7. Cada onda w(f) es muestreada en ocho puntos para formar un vector base
f
v .


Aqu defino las diferentes
frecuencias para
realizar las siete
grficas

Aqu defino los pasos entre punto y punto para realizar la grfica

Nombre de la funcin



Ahora realizamos la funcin que efectuar el muestreo para obtener las respectivas
grficas.


16
3
16
.
5
16
.
7
16
.
9
16
.
11
16
.
13
16
.
15
16
. :=
f 0 1 . 7 .. :=
0 0.001 . .. :=
w ( ) cos ( ) :=
W
17
2
3
2
5
2
1
2
|

\
|
|

0 0.5 1 1.5 2 2.5 3 3.5


1
0
1
w ( )
r ( )

0 0.5 1 1.5 2 2.5 3 3.5


1
0
1
w ( )
r ( )

0 0.5 1 1.5 2 2.5 3 3.5


1
0
1
w ( )
r ( )

0 0.5 1 1.5 2 2.5 3 3.5


1
0
1
w ( )
r ( )

0 0.5 1 1.5 2 2.5 3 3.5


1
0
1
w ( )
r ( )

0 0.5 1 1.5 2 2.5 3 3.5


1
0
1
w ( )
r ( )

0 0.5 1 1.5 2 2.5 3 3.5


1
0
1
w ( )
r ( )






















Una vez realizado el muestreo se obtienen las siguientes grficas con las muestras
marcadas en azul.



























r ( ) cos
f
16
|

\
|
|


16
|

\
|
|

0.01

16
|

\
|
|

0.01 + if
cos
3 f
16
|

\
|
|

3
16
|

\
|
|

0.01
3
16
|

\
|
|

0.01 + if
cos
5 f
16
|

\
|
|

5
16
|

\
|
|

0.01
5
16
|

\
|
|

0.01 + if
cos
7 f
16
|

\
|
|

7
16
|

\
|
|

0.01
7
16
|

\
|
|

0.01 + if
cos
9 f
16
|

\
|
|

9
16
|

\
|
|

0.01
9
16
|

\
|
|

0.01 + if
cos
11 f
16
|

\
|
|

11
16
|

\
|
|

0.01
11
16
|

\
|
|

0.01 + if
cos
13 f
16
|

\
|
|

13
16
|

\
|
|

0.01
13
16
|

\
|
|

0.01 + if
cos
15 f
16
|

\
|
|

15
16
|

\
|
|

0.01
15
16
|

\
|
|

0.01 + if
500 ( ) otherwise
:=





A partir de estas muestras y las ocho frecuencias se obtienen 64 nmeros los cuales se
muestran a continuacin.


0.196 0.589 0.982 1.374 1.767 2.160 2.553 2.945
Cos(0) 1 1 1 1 1 1 1 1
Cos(1) 0.981 0.831 0.556 0.195 -0.195 -0.556 -0.831 -0.981
Cos(2) 0.924 0.383 -0.383 -0.924 -0.924 -0.383 0.383 0.924
Cos(3) 0.831 -0.195 -0.981 -0.556 0.556 0.981 0.195 -0.831
Cos(4) 0.707 -0.707 -0.707 0.707 0.707 -0.707 -0.707 0.707
Cos(5) 0.556 -0.981 0.195 0.831 -0.831 -0.195 0.981 -0.556
Cos(6) 0.383 -0.924 0.924 -0.383 -0.383 0.924 -0.924 0.383
Cos(7) 0.195 -0.556 0.831 -0.981 0.981 -0.831 0.556 -0.195


Ellos sirven como base de la DCT unidimensional. Note la similitud entre esta tabla y
la matriz W de la transformada ortogonal
Puede mostrarse que estos vectores
i
v son ortonormales (debido a la escogencia
particular de los ocho puntos de muestreo). Esta coleccin de ocho vectores
ortonormales pueden por lo tanto considerarse una matriz de transformacin de 8 8 .
Puesto que esta matriz es ortonormal, esta es una matriz de rotacin. De esta forma
podemos interpretar la DCT unidimensional como una rotacin en ocho dimensiones.

La DCT unidimensional tiene otra interpretacin. Podemos considerar los ocho vectores
ortonormales
i
v , las bases de un espacio vectorial, y expresar cualquier otro vector p en
este espacio como una combinacin lineal de los
i
v . Para poder darle una mejor
interpretacin y lograr un entendimiento de lo expuesto hasta ahora miraremos un
ejemplo. Seleccionemos los ocho nmeros (correlacionados) p = (.6, .5, .4, .5, .6, .5,
.4, .55) como nuestros datos de prueba. Expresamos el vector p como una combinacin
lineal de los ocho vectores base
i
v .






Resolviendo este sistema de ocho ecuaciones se obtienes los siguientes ocho pesos.





p
0
8
i

i
v
i

=
:=

0
0.506 :=
1
0.0143 :=
2
0.0115 :=
3
0.0439 :=

4
0.0795 :=
5
0.0432 :=
6
0.00478 :=
7
0.0077 :=
Se puede apreciar que el peso de
0
w no se diferencia mucho del elemento de p, pero los
otro siete pesos son mucho ms pequeos. As es como la DCT (o cualquier otra
transformada) produce compresin. Podemos simplificar escribiendo los ocho pesos
sobre el flujo comprimido, donde ellos ocuparn menor espacio que los ocho
componentes de p. Cuantizando los ocho pesos puede incrementarse la compresin
considerablemente mientras se obtienes pequeas prdidas de datos.

La manera simple de calcular la DCT en una dimensin en la prctica es a travs de la
siguiente expresin.





Donde






Entonces, al final se puede apreciar que se empieza con un juego de ocho valores
t
p
(los cuales podran ser pxeles, muestras de sonido u otros datos) y produce un juego de
ocho coeficientes
f
G de la DCT. El decodificador ingresa los coeficientes d DCT en
juegos de ocho, y usa la inversa DCT para reconstruir los valores de los datos
originales. La transformada inversa de la DCT se aprecia a continuacin.



Para = t 0, 1, ,7.



El siguiente experimento ilustra la potencia de la DCT. Empezaremos con un juego de
ocho datos p = (12, 10, 8, 10, 12, 10, 8, 11), aplicar la DCT unidimensional hasta
terminar los ocho coeficientes.

28.6375 0.571202 0.46194 1.757 3.18198 -1.72956 0.191342 -0.308709

Esto puede ser usado precisamente para reconstruir el dato original (excepto para
pequeos errores causados por la limitacin de la precisin de la mquina). Nuestra
meta, no obstante es comprimir el dato mas que cuantizarlos. Inicialmente los
cuantizaremos a.

28.6 0.6 0.5 1.8 3.2 -1.8 0.2 -0.3

Ahora aplicamos la IDCT para obtener los valores originales de vuelta.

12.0254 10.0233 7.96054 9.93097 12.0164 9.99321 7.94354 10.99989

Cuantizaremos los coeficientes obtenidos de la siguiente forma.

28 1 1 2 3 -2 0 0 y aplicamos la IDCT para obtener de vuelta

12.1883 10.2315 7.74931 9.20863 11.7876 9.54549 7.82865 10.6557

Finalmente se cuantizar los coeficientes obtenidos de la siguiente forma

28 0 0 2 3 -2 0 0
Para obtener finalmente siguiente secuencia.

11.236 9.62443 7.66286 9.57302 12.3471 10.0146 8.0534 10.6842

Donde la diferencia ms grande entre el valor original (12) y el reconstruido (11.236) es
0.764 (o 6.4% de 12).


DCT en dos dimensiones


Como se ha apreciado en la ecuacin anterior que define la DCT, esta es una
transformada que tiene como base el coseno de ah su nombre y la cual representa a
una imagen como la suma de sinusoidales variando en amplitud y en frecuencia. La
DCT tiene la propiedad de que para una imagen tpica, la mayora de su informacin
visual significante se encuentra concentrada en unos pocos coeficientes de la DCT. Por
tal razn la DCT es usada frecuentemente en aplicaciones de compresin de imagen.
Por ejemplo la DCT es el corazn del algoritmo estndar internacional de compresin
de imagen con prdidas, ms conocido como JPEG y del cual hablaremos ms adelante.

De acuerdo a lo visto anteriormente y por experiencia se sabe que un pxel se encuentra
correlacionado en dos dimensiones, es decir se encuentra correlacionado en el eje de las
x, con sus vecinos tanto de la derecha como con los de la izquierda, igualmente se
encuentra correlacionado en el eje y con los vecinos de arriba y abajo respectivamente.
Por esta razn los mtodos de compresin de imagen hacen uso de la DCT en dos
dimensiones y la cual se encuentra expresada de la siguiente manera.







Para i 0 , . 1 n j As por lo tanto una imagen es fragmentada en bloques de
n n pxeles
xy
p (para el caso de ejemplo n = 8) y la ecuacin anterior se utiliza para
producir bloques de 8 8 coeficientes
ij
G de la DCT para cada uno de los bloques de
pxeles producidos con anterioridad. Si se va a utilizar compresin con prdidas en este
punto se puede cuantizar los coeficientes de lo contrario no. El decodificador
reconstruye el bloque de valores de datos (lo cual puede ser hecho de forma preciso o
Figura xx
aproximado de acuerdo a si la compresin es con prdidas o no) haciendo uso del
clculo de la DCT inversa o IDCT.






Donde








La transformada DCT en dos dimensiones puede ser interpretada en dos maneras
diferentes.

1) Como una rotacin (en este caso, dos rotaciones separadas)
2) Como una base de un vector espacial n dimensional.

La primera interpretacin empieza con un bloque de n n pxeles. Esta primera
consideracin toma de cada fila de este bloque recuerden que se subdivide la imagen
en bloques un punto de cualquiera de los siguientes (
0 , x
p ,
1 , x
p ,
2 , x
p ,,
1 , n x
p ) de un
espacio n dimensional y lo rota por medio de la suma mas interna de la ecuacin
figuraXX anterior como se muestra a continuacin.









Entonces la ecuacin queda de la siguiente forma para la primera operacin







Esto da como resultado un bloque
j x
G
,
1 de n n coeficientes donde el primer elemento
de cada fila es el dominante y el resto de los elementos son pequeos. La suma ms
externa de la ecuacin XX es la siguiente





Quedando la ecuacin de la siguiente forma para la segunda operacin







Aqu, las columnas de
j x
G
,
1 son considerados puntos en un espacio n dimensional, y
son rotados. El resultado es un coeficiente extenso en la esquina superior izquierda del
bloque y 1
2
n pequeos coeficientes por otra parte. Esta interpretacin mira a la DCT
bidimensional como dos rotaciones separadas en n dimensiones. Cave notar que dos
rotaciones en n dimensiones son ms rpidas que una rotacin en
2
n dimensiones ya que
este ltimo requiere una matriz de rotacin de
2 2
n n .
La segunda interpretacin (asumiendo a n = 8) usa la ecuacin XX para crear 64
bloques con valores de 8 8 cada uno. Los 64 bloques son entonces usados como una
base de un vector espacial de 64 dimensiones (estas son conocidas como imgenes
base). Cualquier bloque B de 8 8 pxeles puede ser expresado como una combinacin
lineal de las imgenes base y los 64 pesos de esta combinacin lineal son los
coeficientes DCT de B.

Miraremos ahora el desempeo de la DCT aplicada a dos bloques de valores de 8 8 . El
primer bloque tiene valores de enteros altamente correlacionados en el rango de [8, 12]










El segundo tiene valores aleatorios en el mismo rango y poco correlacionados en caso
contrario al anterior.





El primer bloque tiene como resultado un coeficiente de gran valor seguido de pequeos
valores (incluidos los 20 ceros). Por otro lado, el segundo bloque solo incluyen un cero.

A continuacin y para terminar con el tema de la Transformada del Coseno Discreto, se
mostrar los pasos a seguir para realizar la DCT.

1) Dividir dentro de k bloques de n n (tpicamente de 8 8 ) pxeles cada uno.

2) Aplicar la DCT de dos dimensiones a cada bloque
i
B . Esta expresar al bloque
como una combinacin lineal de las 64 imgenes base como las que se aprecian
a continuacin. XXXmostrar grficoXXXX. El resultado es un bloque (al que
llamaremos vector)
) (i
W de 64
) (i
j
w donde j = 0, 1,, 63.

3) Los k vectores
) (i
W (i = 1, 2,, k) son separados dentro de 64 vectores
coeficiente
) ( j
C , donde los k elementos de
) ( j
C son (
) ( ) 2 ( ) (
,..., ,
k
j j
i
j
w w w ). El
primer vector coeficiente
) 0 (
C consiste de los k coeficientes DC.
4) Cada vector coeficiente
) ( j
C es cuantizado separadamente para producir un
vector cuantizado
) ( j
Q , el cual es escrito sobre el flujo comprimido a ser
transmitido.

5) El decodificador lee los 64 vectores coeficiente cuantizados
) ( j
Q y los usa para
construir k vectores de peso
) (i
W , y aplica la IDCT para cada vector de peso,
para reconstruir (aproximadamente) los 64 pxeles del bloque
i
B .

Ejemplo

A continuacin se presenta un ejemplo que muestra las diferencias de desempeo de la
DCT sobre una imagen de tono continuo y una de tono discreto. La primera, de tono
continuo se presenta con un patrn muy correlacionado en forma de degrad en crculo
como se aprecia a continuacin.

ORI =

0 10 20 30 30 20 10 0
10 20 30 40 40 30 20 10
20 30 40 50 50 40 30 20
30 40 50 60 60 50 40 30
30 40 50 60 60 50 40 30
20 30 40 50 50 40 30 20
10 20 30 40 40 30 20 10
0 10 20 30 30 20 10 0

Al realizar la DCT se obtienen los siguientes coeficientes

B = dct2(ORI)

B =

239.0000 1.1759 -89.7589 -0.2759 1.0000 -1.3870 -5.0339 -0.7857
1.1759 -1.3827 0.6364 0.3244 -1.1759 1.6310 -1.5364 0.9239
-89.7589 0.6364 -0.2929 -0.1493 0.5412 -0.7507 0.7071 -0.4252
-0.2759 0.3244 -0.1493 -0.0761 0.2759 -0.3827 0.3605 -0.2168
1.0000 -1.1759 0.5412 0.2759 -1.0000 1.3870 -1.3066 0.7857
-1.3870 1.6310 -0.7507 -0.3827 1.3870 -1.9239 1.8123 -1.0898
-5.0339 -1.5364 0.7071 0.3605 -1.3066 1.8123 -1.7071 1.0266
-0.7857 0.9239 -0.4252 -0.2168 0.7857 -1.0898 1.0266 -0.6173

Aqu se aprecia claro que solo unos cuantos coeficientes presentan un claro dominio. En
la siguiente tabla se muestra los coeficientes despus de habrseles realizado el proceso
de cuantizacin.





coef = [...

239 1 -90 0 0 0 0 0
0 0 0 0 0 0 0 0
-90 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
];

En efecto se puede comprobar que solo hay cuatro componentes que no son cero. A
continuacin recuperamos los datos originales a travs de la IDCT.

>> INV = idct2(coef)

INV =

0.6507 9.2347 21.3628 29.9095 29.8405 21.1664 8.9407 0.3040
9.2611 17.8451 29.9732 38.5199 38.4509 29.7768 17.5511 8.9143
21.4380 30.0220 42.1501 50.6968 50.6278 41.9537 29.7280 21.0912
30.0484 38.6324 50.7605 59.3072 59.2382 50.5641 38.3384 29.7016
30.0484 38.6324 50.7605 59.3072 59.2382 50.5641 38.3384 29.7016
21.4380 30.0220 42.1501 50.6968 50.6278 41.9537 29.7280 21.0912
9.2611 17.8451 29.9732 38.5199 38.4509 29.7768 17.5511 8.9143
0.6507 9.2347 21.3628 29.9095 29.8405 21.1664 8.9407 0.3040


En este ltimo resultado se aprecia como a travs de los cuatro coeficientes que no eran
cero se pudo reconstruir el patrn original con alto degrad.

Ahora se realizar el mismo proceso a los datos de un patrn de imagen en forma de Y,
el cual es un tpico ejemplo de una imagen en tono discreto.


>> Y=[...
00 10 00 00 00 00 00 10
00 00 10 00 00 00 10 00
00 00 00 10 00 10 00 00
00 00 00 00 10 00 00 00
00 00 00 00 10 00 00 00
00 00 00 00 10 00 00 00
00 00 00 00 10 00 00 00
00 00 00 00 10 00 00 00
];


A continuacin se realiza la DCT de estos datos para obtener los coeficientes.


TRANSF = dct2(Y)

TRANSF =

13.7500 -3.1133 -8.1660 2.4586 3.7500 -6.8615 -3.3825 6.5903
4.1858 -0.2855 6.8579 -6.8484 -7.1255 4.4830 1.6900 -7.2803
1.6332 0.1866 6.4017 -4.8127 -2.9862 -1.1119 -0.8839 -0.9383
-0.6088 0.5401 5.1241 -2.3149 1.2986 -6.0434 -2.7815 3.0512
-1.2500 0.5161 2.9862 -0.1954 3.7500 -7.3894 -2.5899 1.1585
-0.4068 0.1811 0.6460 1.0277 3.8744 -5.1851 -0.7079 -4.7632
0.6765 -0.1516 -0.8839 1.2832 2.5899 -1.9204 1.0983 -9.0459
0.8326 -0.2092 -0.9908 0.8203 1.1316 -0.0807 1.3116 -7.2145


A continuacin se presentas estos coeficientes debidamente cuantizados.


>> coef =[...
13.75 -3.00 -8.00 2.00 3.00 -6.00 -3.00 6.00
4.00 0.00 6.00 -6.00 -7.00 4.00 1.00 -7.00
1.00 0.00 6.00 -4.00 -2.00 -1.00 0.00 0.00
0.00 0.00 5.00 -2.00 1.00 -6.00 -2.00 3.00
-1.00 0.00 2.00 0.00 3.00 -7.00 -2.00 1.00
0.00 0.00 0.00 1.00 3.00 -5.00 0.00 -4.00
0.00 0.00 0.00 1.00 2.00 -1.00 1.00 -9.00
0.00 0.00 0.00 0.00 1.00 0.00 1.00 -7.00
];

A continuacin recuperamos los datos originales a travs de la IDCT.


>> INV = idct2(coef)

INV =

-0.1318 8.9611 0.5480 -0.2675 0.2677 0.8592 0.1496 9.2183
0.3169 0.2226 9.0966 0.4028 0.8450 -0.1106 9.3634 -0.1420
0.0001 0.6154 -0.1970 9.7105 -1.2993 8.5717 0.2796 -0.3295
-0.5818 0.4377 0.7798 0.7148 10.1109 1.1387 0.4401 -0.4933
-0.3917 0.6704 0.0739 0.3842 8.8176 0.0889 0.2831 0.4135
0.3384 0.1075 0.2605 0.1823 8.9298 0.4064 0.4692 0.3720
0.0941 -0.3206 0.7797 -0.1964 9.7821 0.0481 -0.0925 0.4932
0.1616 -0.8253 0.0872 0.1188 9.1488 -0.1113 -0.0812 0.0099




TRANSFORMADA KURHUNEN-LOEVE

La transformada Kurhunen loeve tericamente tiene la mejor eficiencia en el sentido de
la compactacin de la energa (o equivalentemente, decorrelacin de pxel). No obstante
sus coeficientes no son fijos. Ellos dependen del dato a ser comprimido. El clculo de
estos coeficientes es bastante dispendioso y lento. Los coeficientes obtenidos son
dependientes de los datos, por lo tanto es necesario poderlos transmitir en el flujo de
datos comprimidos. Es precisamente por estas razones y por el mejor desempeo de la
DCT que la KLT no es usada por lo regular en la prctica.

Al igual que los procesos anteriores, tomamos una imagen y la fraccionamos en k
bloques de n pxeles cada uno, en donde n tiene a 64 como valor tpico, pero el cual
puede variar en torno a otros valores. El valor de k depende de las dimensiones de la
imagen.

Para el caso de esta transformada, consideraremos los vectores de bloque y los
identificaremos por la expresin
) (i
b , donde i = 1, 2,, k.
El vector promedio es k b b
i
i
/ ) (
) (

.

A continuacin obtendremos un nuevo juego de vectores procediendo de la siguiente
manera.

= b b v
i i ) ( ) (
, en donde el promedio hace que esta expresin tienda a ser cero.


La matriz de n n resultado de la transformada LKT la llamaremos A. El resultado de
transformar un vector
) (i
v es el vector peso
) ( ) ( i i
Av w = . El promedio de
) (i
w .



La Transformada Wavelet

Para iniciar nuestro recorrido por este mtodo tan innovador e interesante con gran
aplicacin en muchas reas de la ciencia, la tcnica y para nosotros en la compresin de
datos, daremos un vistazo a las tcnicas de transformacin de seales (normalmente en
el dominio del tiempo), que por su estrecha relacin la han precedido y complementado
en el caso de nuestro estudio, en la labor de compresin de informacin.

Incuestionablemente el concepto de transformada es relacionado a los matemticos
quienes han hecho de esta una herramienta estndar para resolver problemas en muchas
reas al utilizar su resultado para realizar clculos que de otra forma no sera posible de
hacer.

Las funciones usadas en la ciencia y la ingeniera frecuentemente usan el tiempo como
su parmetro. Por lo tanto diremos que la funcin g(t) es representada en el dominio del
tiempo. Esta representacin no es siempre la ms adecuada para la mayora de las
aplicaciones relacionadas con el procesado de seal. En muchos casos, la informacin
ms importante se encuentra en el contenido frecuencial de la seal.

Al tener una tpica funcin oscilante, podramos pensar en esta como una onda a la cual
intentaramos representar precisamente como una onda (o una combinacin de ondas).
Al hacer esto denotamos el resultado por G(f), donde esta funcin representa el dominio
en la frecuencia. Y es aqu en donde comienza a complicarse un poco la cosa ya que el
paso del dominio del tiempo a la frecuencia es fcil cuando se hace a travs de una
funcin peridica sin embargo el concepto se puede transportar a funciones no
peridicas en donde el trato es igual pero algo ms abstracto.


Dominio de la Frecuencia

Para entender el concepto de dominio de la frecuencia, miraremos dos ejemplos
simples.




La funcin anterior es una combinacin de dos ondas seno con amplitudes 1 y 1/3, y
frecuencias f y 3f, respectivamente. Ellas son mostradas en las figuras siguientes





g t ( ) sin 2ft ( )
1
3
|

\
|
|

sin 2 3f ( )t

+ :=








Su suma tambin es peridica, con frecuencia f (la ms pequea de las dos frecuencias f
y 3f). El dominio de la frecuencia de g(t) es una funcin consistente justamente de dos
puntos (f,1) y (3f, 1/3) tal como se muestra en la figura a continuacin



Esta indica que la funcin original (dominio del tiempo) esta compuesta de la frecuencia
f con amplitud 1, y de la frecuencia 3f con amplitud 1/3.

Este ejemplo es extremadamente simple, ya que esta involucra solamente dos
frecuencias.

Este ejemplo es extremadamente simple, ya que solo involucra dos frecuencias. Cuando
una funcin involucra varias frecuencias que son enteros mltiplos de alguna frecuencia
baja, esta ltima es llamada la frecuencia fundamental. Considere un pulso cuadrado
simple como el que se muestra a continuacin.


g t ( ) 1
a
2
t
a
2
if
0 otherwise
:=



Cuyas grficas tanto en el dominio del tiempo como en el de la frecuencia se muestran a
continuacin.



0 f 2f 3f
1/3
1
Figura
xxxyyy







Revisar por que la amplitud en el dominio de la frecuencia es el doble del del tiempo.

La grfica en el dominio de la frecuencia consiste de todas las frecuencias desde 0 hasta
, con una amplitud que desciende continuamente. Esto significa que la representacin
en el dominio del tiempo consiste de todas las posibles frecuencias, con una apreciable
contribucin por parte de las bajas frecuencias y un disminuido aporte por parte de las
altas frecuencias.

En general una funcin peridica puede ser representada en el dominio de la frecuencia
como la suma de ondas seno con frecuencias que son mltiplos enteros de alguna
frecuencia fundamental. No obstante, la funcin del pulso cuadrado anterior no es
peridica. Esto nos lleva a ver que el concepto de dominio de la frecuencia puede ser
aplicado a funciones no peridicas, pero nicamente si estas no son cero sobre un rango
finito. Tal funcin es representada como la suma de ondas seno con todas las clases de
frecuencias no solamente armnicas.

El espectro del dominio de la frecuencia (algunas veces llamado contenido de la
frecuencia de la funcin) es el rango de las frecuencias que esta contiene. Para la
funcin 5.2h el espectro son las dos frecuencias f y 3f. En cambio para la figurna 5.2e su
rango entero es el comprendido entre [0, ]. El ancho de banda del dominio de la
frecuencia es la amplitud del espectro. Esta es 2f en nuestro primer ejemplo.


1. Transformada de Fourier TF


Uno de los problemas del que se ocuparon los matemticos del siglo XVIII es el que se
conoce con el nombre del problema de la cuerda vibrante". Este problema fue
estudiado por d'Alembert y Euler (usando el mtodo de propagacin de las ondas) y un
poco mas tarde, concretamente en 1.753, por Daniel Bernouilli. La solucin dada por
este difera de la proporcionada por los anteriores y consisti bsicamente en expresar
la solucin del problema como superposicin de ondas sencillas. Las ideas de
Bernouilli fueron aplicadas y perfeccionadas por Fourier, en 1.807, en el estudio de
problemas relacionados con la conduccin del calor. Quedaron plasmadas por escrito en
el libro clsico Theorie analytique de la Chaleur, publicado en 1.822. Los
razonamientos realizados por Fourier en este libro plantearon de manera inmediata
numerosas controversias y cuestiones que han tenido una influencia significativa no
solo en la historia de la Matemtica sino de las ciencias y la ingeniera.

Fourier prob un teorema fundamental y muy importante para nosotros, que deca:





El adems mostr como transformar una funcin en el dominio del tiempo o la
frecuencia. Si la forma de la funcin es lejana de una onda regular, su expresin de
Fourier incluir un nmero finito de frecuencias. Para una funcin continua g(t), la
trasformada de Fourier y su inversa estn dadas por las siguientes expresiones:







En una aplicacin de computador, normalmente tenemos funciones discretas que toman
justamente n (igualmente espaciados) valores. En tal caso la Transformada discreta de
Fourier y su inversa estn dadas por las siguientes expresiones.







Y su inversa









Note que G(f) es compleja, adems se puede escribir como
Para cualquier valor de f, la amplitud (o magnitud) de G est dada por






Ntese tambin que se ha hecho uso de la relacin de Euler donde la notacin
exponencial compleja es obtenida de los trminos senosoidales con el mismo periodo
fundamental como se muestra a continuacin.





Cada funcin peridica, real o compleja, puede ser representada como la suma de
funciones seno y coseno.
0 f n 1
g t ( )
1
n
0
n 1
f
G f ( ) cos
2 f t
n
|

\
|
|

i sin
2 f t
n
|

\
|
|

+
|

\
|
|

=
:=
g t ( )
0
n 1
t
G f ( ) e
1 f t

=
:= 0 t n 1
G f ( ) R f ( ) i f ( ) + :=
Figura dsd





En la ecuacin (dsd) y anterior a esta se observa que la seal g(t) se multiplica por un
trmino exponencial a una cierta frecuencia f , y luego se evala sobre todo el dominio
temporal. Si el resultado de esta sumatoria o integral es un valor grande, se dice que la
seal posee una componente espectral dominante a la frecuencia f. Si por el contrario el
resultado es un valor pequeo, se dice que la seal no posee una gran componente
espectral de frecuencia f. Si el resultado de la integral es cero, entonces la seal no
posee la frecuencia f.

La informacin que aporta la integral se corresponde a la escala de tiempo completa, ya
que los lmites de la integral son - y . Por lo tanto, no importa en qu instante de
tiempo aparece la componente de frecuencia f en la seal, ya que el resultado no evala
en que instante de tiempo ocurren dichas componentes si no lo hace sobre la funcin
completa. Esta es la razn por la que la TF no es vlida cuando la frecuencia de la seal
vara con el tiempo. Si la localizacin temporal de las diferentes componentes
frecuenciales no es de inters, sino que slo se necesita conocer la existencia o no de
dichas componentes, la TF ser una herramienta vlida.


1.1. El principio de incertidumbre

El ejemplo mostrado aqu ilustra una importante relacin entre el dominio del tiempo y
la frecuencia, ya que ellas son complementarias. Cada una de estas entonces
complementa a la otra en el sentido de que cuando una de estas es localizada ::

Considere un ejemplo, una onda seno pura. Esta tiene una frecuencia, adems esta es
bien definida en el dominio de la frecuencia. No obstante, esta es infinitamente larga, en
el dominio del tiempo haciendo que esta sea global. En la otra mano, una funcin
puede estar localizada en el dominio del tiempo de forma corta como una pequea
muestra de voz. Fig RRR pero esta ser invariablemente global en el dominio de la
frecuencia pues su expansin de Fourier contendr muchas frecuencias. Esta relacin
entre los dominios del tiempo y la frecuencia los hacen complementarios y pueden ser
descritos por el trmino principio de incertidumbre.

El principio de incertidumbre de Heisenberg, fue reconocido en 1927 por Werner
Heisenberg y es un principio fsico muy importante. Este dice que la posicin y el
momentun son complementarios. Podemos en el mejor de los casos conocer la posicin
de una partcula en el espacio.

Debido al Principio de Incertidumbre formulado por Heisenberg, y dandole aplicacin a
nuestro proceso de compresin, no es posible conocer qu componentes espectrales
existen en un instante de tiempo dado, sino qu bandas de frecuencias se dan en un
intervalo de tiempo. Esto es un problema de resolucin y es la principal razn para pasar
de la STFT (Transformada de Fourier de Corto Tiempo) a la WT. La STFT proporciona
Generalmente G (f) es llamada la trasformada de Fourier de g(t). No obstante, si g(t)
es peridica , entonces G(t) es su serie de Fourier.
una resolucin fija, mientras que la WT proporciona una resolucin variable de la
siguiente manera:







Los conceptos del principio de incertidumbre se pueden aplicar a las imgenes digitales.
Imagine una fotografa escaneada en blanco y negro lnea por lnea. Para todos los
propsitos prcticos podemos asumir que la fotografa tiene resolucin infinita (sus
sombras de grises pueden variar continuamente). Un escaneo ideal podra por lo tanto
resultar en una infinita secuencia de nmeros que pueden ser considerados los valores
de una funcin de intensidad (continua) I(t). En la prctica podemos almacenar
nicamente una finita cantidad de datos en memoria, adems debemos seleccionar un
nmero finito de valores I(1) hasta I(n) (esto es, hay una limitacin). Este proceso es
conocido como sampling o muestreo.

Intuitivamente, el muestreo parece un intercambio entre calidad y precio. Entre ms
grande sea la muestra, mejor es la calidad de la imagen final, no obstante esto significa
ms hardware (ms memoria y alta resolucin de pantalla) lo que resulta en altos
costos. Esta conclusin intuitiva, no obstante, no es del todo enteramente cierta. La
teora del muestreo dice que podemos muestrear una imagen y reconstruirla
posteriormente en memoria sin prdidas de calidad si se puede hacer lo siguiente.

1) Transformar la funcin de identidad desde el dominio del tiempo I(t) al dominio
de la frecuencia G(f).

2) Encontrar la mxima frecuencia fm.

3) Muestrear I(t) a una velocidad ligeramente ms alta que 2fm.

4) Almacenar los valores de la muestra en un bitmap. La imagen resultante podra
ser igual en calidad a la original.

Hay dos puntos a considerar. El primero es que fm podra ser infinita. En tal caso, un
valor fm podra ser seleccionado de forma tal que las frecuencias que son ms grandes
que fm no contribuyen mucho (tienen baja amplitud), esto se muestra claramente en la
figura xxxyyy. Hay algunas prdidas de la calidd de la imagen en tal caso. El segundo
punto es que el bitmap (y consecuentemente la resolucin) pueden tambin ser
pequeos para la muestra generada en el paso 3. En tal caso, una pequea muestra ha de
ser capturada, de nuevo resultando en la prdida de la calidad de imagen.

La transformada de Fourier es util y popular, teniendo aplicacin en muchas reas. Esta
sin embargo tiene una desventaja: Esta muestra el contenido de la frecuencia de la
funcin f(t), pero esta no especifica donde (para que valores de t) la funcin tiene
altas y bajas frecuencias, en otras palabras, la transformada de Fourier posee una muy
pobre resolucin en el tiempo. La razn de esto es que las funciones bsicas (seno y
coseno) usadas en esta trasformada son infinitamente largas. Ellas seleccionan las
Las altas frecuencias se determinan mejor en tiempo, y las bajas frecuencias se
determinan mejor en frecuencia. Esto significa que una componente de alta
frecuencia se localiza mejor en el tiempo que una componente de baja frecuencia;
por el contrario, una componente de baja frecuencia se localiza mejor en frecuencia
que una componente de alta frecuencia.

diferentes frecuencias de f(t) indiferente de donde estas estn localizadas dentro de la
funcin en el tiempo.

Una mejor trasformacin podra especificar el contenido de frecuencia de f(t) como una
funcin de t. En un esfuerzo por resolver el problema de resolucin en tiempo de la
transformada de Fourier, Denis Gabor (1946) adapt la transformada utilizando un
procedimiento llamado ventanamiento. Este procedimiento utilizado en la Transformada
Corta de Fourier, consiste en dividir una seal en pequeos segmentos a travs del
tiempo de tal manera que podamos asumir que para cada segmento la seal es
estacionaria y as calcular la Transformada de Fourier clsica para cada porcin de la
seal; con lo cual, en vez de producir una funcin unidimensional (en el caso continuo)
o un arreglo de nmeros unidimensionales (en el caso discreto), esta podra producir una
funcin en dos dimensiones o arreglo de nmeros W(a, b) que describen el contenido
de f(t) para diferentes valores de t. Una columna W(a, b) que describe el contenido de
frecuencia de f(t) para diferentes valores de t. Una columna W(a, b) de este arreglo
(donde i = 1, 2, , n) lista es espectro de frecuencias de f(t) para un cierto valor (o
rango de valores) de t. Una fila W(a, b) contiene nmeros que describen cuanto de una
determinada frecuencia (o rango de frecuencias) f(t) tienen para un t dado.

La forma de dividir la seal se realiza mediante lo que llamaremos una funcin tiempo-
ventana h(t) cuyo ancho o soporte corresponde a la longitud de cada segmentacin de la
seal. Con la funcin ventana encuadramos la seal alrededor de un instante de tiempo _
y calculamos su transformada de Fourier, luego trasladamos la funcin ventana hasta
que no se sobrepone con la anterior cubriendo una nueva porcin de la seal a la que
volvemos a calcular su transformada de Fourier. Este proceso es repetido hasta que se
ha cubierto la totalidad de la seal.



TRANSFORMADA CORTA DE FOURIER


El resultado de lo expresado anteriormente se define en forma matemtica de la
Siguiente manera






Y si consideramos a h(t) como una funcin ventana de valores slo reales no complejos de
tal manera que h(-t) = h(t) entonces la anterior ecuacin nos queda







Que calcula el producto interno entre la seal f(t) y la funcin tiempo-ventana h(t)
trasladada y modulada. Tambien se aprecia que la funcin tiempo-ventana modulada




Localiza a la funcin f(t) cerca de t = , tambin existe una funcin correspondiente a
frecuencia-ventana la cual parte de las propiedades de translacin en tiempo y
frecuencia de la Transformada de Fourier






Con la cual se localiza el espectro de F(t) en la vecindad de = , es decir contra la
frecuencia y limitada por el soporte de la funcin frecuencia-ventana H().

Ahora bien, el soporte de la ventana constituye un parmetro de gran importancia ya
que a travs de este podemos establecer el grado de resolucin tanto de tiempo como de
frecuencia que deseemos. Si nuestra ventana es muy angosta analizaremos una porcin
muy pequea de la seal lo que nos permite tener una buena resolucin en tiempo pero
una mala resolucin en frecuencia ya que conoceremos slo una mnima fraccin del
espectro total existente en la seal. Por otro lado, si nuestra ventana en muy ancha
tendremos una buena resolucin en frecuencia pero una mala resolucin en tiempo, es
decir una ventana de ancho infinito es nada ms y nada menos que la transformada de
Fourier clsica. Por lo tanto un defecto de la STFT es que no puede entregar una buena
resolucin tanto en tiempo como en frecuencia de manera instantnea ya que el soporte
de la ventana es fijo. La raz de este problema se basa en el principio de incertidumbre
de Heisenberg el cual ya habamos comentado anteriormente.

El principio del anlisis de una funcin por tiempo y por frecuencia puede ser aplicado a
la compresin de imagen ya que las imgenes contienen reas que exhiben tendencias
y reas con anomalas. Una tendencia es una imagen que involucra solamente unas
pocas frecuencias (estas estn localizadas en frecuencia) pero son espacialmente
angostas. Un tpico ejemplo es un rea de imagen donde el brillo vara gradualmente.
Una anomala es una caracterstica de imagen que involucra varias frecuencia pero est
localizada espacialmente (estas estn concentradas en una pequea rea de imagen). Un
ejemplo es un lmite o filo.


La TWC y su Inversa

La transformada wavelet constituye una tcnica relativamente nueva que ha sido
propuesta por los investigadores como una poderosa herramienta en el anlisis sobre el
comportamiento local de una seal. Al igual que la STFT, esta transformada utiliza una
funcin ventana que encuadra una seal dentro de un intervalo y focaliza el anlisis slo
en ese segmento de la seal.

La transformada continua wavelet intenta expresar una seal f(t) continua en el tiempo,
mediante una expansin de trminos o coeficientes proporcionales al producto interno
entre la seal y diferentes versiones escaladas y trasladadas de la funcin prototipo o
h t ( ) e
it

e
ib
2
H ( ) e
i

funcin wavelet madre


t ( )
la cual puede ser cualquier funcin continua real o
compleja; no obstante, antes de proseguir con esta definicin formal y matemtica de lo
que es la TWC daremos un vistazo a lo que implica la terminologa wavelet madre.

El trmino wavelet significa onda pequea ya que esta funcin es de duracin finita (de
soporte compacto) y comportamiento oscilatorio. El trmino madre implica que las
funciones con distintas regiones de soporte que se usan en el proceso de transformacin
se derivan de una funcin principal, o la wavelet madre. Es decir, la funcin wavelet
madre es un prototipo a partir del cual se obtienen las dems funciones ventana.
Esta funcin wavelet debe cumplir con ciertos criterios o propiedades las cuales
describiremos a continuacin y que dan soporte a la definicin que previamente hemos
dado:

1) El rea total sobre la curva de la funcin es cero, es decir.




2) El rea total de
t ( ) ( )
2
es finita.






Esta condicin implica que la integral del cuadrado de la wavelet ha de existir.
Podemos adems decir que una wavelet ha de ser cuadrado integrable o que
pertenece al conjunto

2
R ( )
de todas las funciones integrables cuadradas.


3) La condicin de admisibilidad, discutida a continuacin.


La propiedad 1 sugiere una funcin que oscila tanto arriba como abajo del eje t.
Semejante funcin tiende a tener una apariencia ondulada. La propiedad dos, implica
que la energa de la funcin es finita, sugiriendo esto que la funcin esta localizada en
algn intervalo finito y es cero o casi cero fuera de este intervalo. Estas dos propiedades
le dan el nombre a estas funciones de wavelet presentan similitud con las ondas. Un
nmero infinito de funciones satisfacen estas condiciones, y algunas de estas han sido
investigadas y son comnmente usadas por trasformadas wavelets como las que
apreciaremos a continuacin.

La siguiente funcin es llamada wavelet Morlet, definida como sigue






t t ( ) ( )
2

d <
t ( ) e
t
2

cos t
2
ln 2 ( )

\
|
|

:=
2 0 2
0 t ( )
t
t ( )
t ( ) 1 2t
2

( )
e
t
2

:=
5 0 5
1
0
1
t ( )
t




Esta es una curva coseno cuyas oscilaciones son amortiguadas por el factor exponencial
o Gausiano. Ms del 99% de su energa est concentrada en el intervalo -2.5 t 2.5
por lo que se aprecia que la funcin se localiza en un intervalo finito y adems tiene la
apariencia de una seal ondulatoria.

Otra de las funciones utilizadas es la conocida como wavelet de sombrero mexicano,
definida de la siguiente manera.
































Una vez una wavelet ha sido seleccionada, la CWT de una funcin integrable
cuadrada f(t) es definida de la siguiente forma.





La energa de una funcin

Una funcin y = f(x) relaciona cada valor de la variable independiente x con
un valor de y. Trazando estos pares de valores resulta en una representacin de
la funcin como una curva en dos dimensiones. La energa de una funcin es
definida en trminos del rea encerrada por su curva y el eje x. Esto nos hara
pensar que una curva que permanece encerrada al eje encierra pequea
energa, mientras que una curva que consume tiempo lejos del eje x tiene ms
energa. Valores negativos de y empujan la curva sobre el eje x, donde esta
rea es considerada negativa, adems la energa de f(t) es definida como el rea
sobre la curva de la funcin no negativa
f t ( )
2
.
Si la funcin es compleja, su valor absoluto es usado en calculos de rea,
adems la energa de f(x) es definida como

x f x ( )
2

a b .
t ( )

a b .
t ( )



En donde se aprecia como la seal f(t) es multiplicada por la funcin wavelet o ventana
la cual transforma la seal en diferentes segmentos dentro del dominio del tiempo
haciendo uso a su vez de los parmetros reales a y b los cuales son escala y translacin
respectivamente.

Los diferentes segmentos son conocidos como ventanas las cuales dependen del
parmetro translacin que hace alusin a la localizacin temporal de la ventana
conforme esta se desplaza por el tiempo. Este trmino se corresponde a la informacin
temporal en el dominio transformado.

El otro trmino que encontramos dentro de la CWT es escala el cual al relacionarse con
la frecuencia proporciona cierta informacin de la seal. En el caso de bajas frecuencias
(escalas grandes) se corresponden con la informacin global de la seal (que
normalmente se extiende durante toda su duracin), mientras que las altas frecuencias
(escalas pequeas), se corresponden a informacin detallada de la seal (que
normalmente dura un tiempo relativamente pequeo).

El escalado, como funcin matemtica, dilata o comprime una seal. Escalas grandes se
corresponden con seales dilatadas, mientras que escalas pequeas se corresponden con
seales comprimidas. En trminos matemticos, si f (t) es la funcin dada, f (st) se
corresponde a una versin comprimida de f (t) si s > 1, o a una versin expandida si
s < 1. Sin embargo, en la definicin de la transformada wavelet, el trmino escala
aparece en el denominador de la expresin, y por tanto, la escala se comporta de manera
opuesta a lo enunciado anteriormente (s > 1 expande la seal y s < 1 la comprime). Esta
interpretacin de la escala es la que se usar a partir de aqu.



Volviendo a la funcin tyrty, y haciendo uso de la siguiente expresin.




Entonces se puede reescribir la ecuacin 5.3 como sigue.




Matemticamente, la transformada es el producto interno de las dos funciones f(t) y
La cantidad
1
a
es un factor normalizado que asegura que la energa de se
mantiene independiente de a y b es decir.




Cuando b = 0 se aprecia que







Lo cual implica que a es un parmetro de escala (o dilatador). Valores de a > 1 estiran la
wavelet, mientras que valores 0 < a < 1 la encogen.

Despus de esta introduccin, nosotros explicaremos el significado intuitivo de la
CWT. Empezaremos con un simple ejemplo: La CWT de una onda seno, donde el
sobrero Mexicano es escogido como wavelet. La figura 5-9a muestra una onda seno con
dos copias de la wavelet. La copia uno es posicionada en el punto en donde la onda seno
tiene un mximo. En este punto hay una buena coincidencia entre la funcin que est
siendo analizada y la wavelet. La wavelet replica las caractersticas de la onda seno.
Como resultado, el producto interno del seno y la wavelet es un nmero positivo
grande. En contraste, la copia dos es posicionada donde la onda tiene un mnimo. En
este punto la onda y la wavelet son casi un reflejo una de la otra. Donde el seno es
negativo la otra es positivo y viceversa.














El producto de una onda y la wavelet en este punto es negativo, y la CWT (la integral
del producto interno) llega a ser un nmero negativo grande. Entre los puntos 1 y 2, la
CWT salta desde el positivo pasando por cero hasta el negativo.

Como la wavelet es trasladada a lo largo de la onda seno, desde la izquierda a la
derecha, la CWT alterna entre positivo y negativo y produce la pequea onda mostrada
en la figura 5.9b. La forma es el resultado de la cercana coincidencia entre la funcin a
ser analizada y la wavelet analizadora. Ellas tienen similares formas y frecuencias.

Ahora extenderemos el anlisis para cubrir diferentes frecuencias. Lo haremos
escalando la wavelet. La figura 5.9c muestra en la parte 3 que sucede cuando la wavelet
es estirada de tal forma que cubre varios periodos de la onda seno. Trasladar la wavelet
desde izquierda a derecha no afecta la coincidencia entre esta y la onda seno en mucho y
de esta forma el resultado de la CWT vara muy poco. Lo mismo sucede en la 4 en
donde la wavelet se ha encogido de tal forma que es mucho ms angosta que un
periodo de la onda seno. Con la wavelet angosta, el producto interno de esta y la onda

a 0 .
1
a

t
a
|

\
|
|

:=
seno es siempre un nmero pequeo (positivo o negativo) sin tener en cuenta la precisa
posicin relativa de la wavelet con respecto a la onda seno. Aqu se puede apreciar
como trasladar la wavelet y no afectar en mucho su relacin con la onda seno,
resultando en una CWT que pareciera una constante.

El resultado de trasladar la wavelet, escalarla, y trasladarla una y otra vez es sumarizada
en la figura 5.9d. Este es un plano de densidad de la funcin de transformacin W(a, b)
donde el eje horizontal corresponden a los valores de b (translacin) y el eje vertical
corresponde a los valores de a (escalamiento) La figura 5.9e es un plano de contorno de
la misma W(a, b). Estos diagramas muestran que hay una buena correlacin entre la
funcin y la wavelet a cierta frecuencia (la frecuencia de la onda seno). En otras
frecuencias la relacin se deteriora tendiendo a volverse una constante.

As es como la CWT provee un anlisis de tiempo-frecuencia de una funcin f(t).
El resultado es una funcin W(a, b) de dos variables que muestra la relacin entre la
funcin f(t) y la wavelet en diferentes frecuencias de la wavelet y a diferentes tiempos.
Es obvio que la calidad de la relacin depende de la escogencia de la wavelet. Si la
wavelet es muy diferente de f(t) en cualquier frecuencia y cualquier tiempo, los valores
del resultado W(a, b) sern pequeos y no exhibirn mucha variacin. Como resultado
cuando las wavelet son usadas para comprimir imgenes, diferentes wavelets podran
ser seleccionadas para diferentes tipos de imagen (bi-nivel, tonos continuos y tonos
discretos) pero la precisa escogencia de wavelets est todava sujeta a investigacin.

Las wavelets estn sujetas al principio de incertidumbre. La wavelet Haar est muy bien
localizada en el dominio del tiempo pero est muy extendida en el dominio de la
frecuencia debido a la aparicin de bandas laterales en el espectro de fourier. En
contraste, la wavelet de sombrero Mexicano y en especial la wavelet Morlet tienen ms
concentracin de frecuencias pero estn extendidas en el tiempo. Un importante
resultado del principio de incertidumbre es que es imposible alcanzar un completo
mapeo simultneo tanto de frecuencia como de tiempo. Las wavelet proporcionan un
compromiso, o una solucin ptima cercana a este problema y esto es una caracterstica
que la hace superior al anlisis de Fourier.

Un ejemplo es apreciar algn objeto desde una distancia y luego haciendo uso de un
microscopio. En el primer caso observamos un panorama general del objeto pero no
especfico, luego al observarlo por el microscopio se aprecian los ms infimos detalles
pero no se lo puede ver en toda su magnitud. Esto sera la importancia de realizar un
anlisis a escala. Cuando cambiamos la escala de una wavelet, obtenemos nueva
informacin acerca de la funcin que est siendo analizada.


La transformada Haar.

La informacin que est siendo transformada en situaciones prcticas, tales como
imgenes y sonidos digitalizados, son discretos, consistentes de nmeros individuales.
El uso de la transformada Haar es aplicada en principio a Imgenes en escalas de grises
pero puede ser extendido a imgenes de color.
La transformada de Haar hace uso de la funcin de escala (t) y una wavelet Haar (t),
ambas mostradas en la siguiente figura.

t ( ) 1 0 t 1 if
0 otherwise
:= t ( ) 1 0 t 0.5 if
1 ( ) 0.5 t 1 < if
:=
2 0 2
0
2
t ( )
t
2 0 2
0 t ( )
t


El uso de estas funciones dentro de la transformada Haar se utiliza para representar un
gran nmero de funciones f(t). La representacin es la suma infinita.





Donde c
k
y d
j,k
son coeficientes a ser calculados.

La funcin
t k ( )
es una copia de
t ( )
movida k unidades a la derecha. Las copias
movidas son usadas para aproximar f(t) a diferentes tiempos de t. Las copias escaladas
son usadas para aproximar a f(t) a altas resoluciones. Las siguientes figuras muestran la
funcin
2
j
t k
( )
para j = 0, 1, 2 y 3 y para k = 0, 1, 2, 7.

Para poder graficar esta funcin y estos desplazamientos tanto en frecuencia como en
tiempo es necesario ya tener definida nuestra funcin wavelet como sigue






Y as de esta forma proceder a graficar la funcin wavelet











f t ( )

k
c
k
t k ( )

k 0

j
d
j k .
2
j
t k
( )

=
+ :=
t ( ) 1 0 t 0.5 if
1 ( ) 0.5 t 1 < if
:=
0 0.11 0.22 0.33 0.44 0.56 0.67 0.78 0.89 1
2
1
0
1
2
f t ( )
t
f t ( ) 1t 0 ( ) :=
0 0.11 0.22 0.33 0.44 0.56 0.67 0.78 0.89 1
2
1
0
1
2
f t ( )
t
0 0.11 0.22 0.33 0.44 0.56 0.67 0.78 0.89 1
2
1
0
1
2
f t ( )
t
f t ( ) 8t 0 ( ) :=
0 0.11 0.22 0.33 0.44 0.56 0.67 0.78 0.89 1
2
1
0
1
2
f t ( )
t
f t ( ) 8t 1 ( ) :=
0 0.11 0.22 0.33 0.44 0.56 0.67 0.78 0.89 1
2
1
0
1
2
f t ( )
t
f t ( ) 8t 2 ( ) :=
0 0.11 0.22 0.33 0.44 0.56 0.67 0.78 0.89 1
2
1
0
1
2
f t ( )
t
f t ( ) 8t 3 ( ) :=
0 0.11 0.22 0.33 0.44 0.56 0.67 0.78 0.89 1
2
1
0
1
2
f t ( )
t




















En las siguientes figuras se realizar desplazamiento en el tiempo de esta ltima
funcin, no obstante este procedimiento es idntico para todas las cuatro anteriores
grficas



























f t ( ) 2t 0 ( ) :=
f t ( ) 4t 0 ( ) :=
f t ( ) 8t 4 ( ) :=
0 0.11 0.22 0.33 0.44 0.56 0.67 0.78 0.89 1
2
1
0
1
2
f t ( )
t
f t ( ) 8t 5 ( ) :=
0 0.11 0.22 0.33 0.44 0.56 0.67 0.78 0.89 1
2
1
0
1
2
f t ( )
t
f t ( ) 8t 6 ( ) :=
0 0.11 0.22 0.33 0.44 0.56 0.67 0.78 0.89 1
2
1
0
1
2
f t ( )
t
f t ( ) 8t 7 ( ) :=
0 0.11 0.22 0.33 0.44 0.56 0.67 0.78 0.89 1
2
1
0
1
2
f t ( )
t






























De la funcin wavelet Haar
2
j
t k
( )
se puede apreciar que es una copia de
t ( )

simplemente movida k unidades a la derecha y escalada en su ancho en 1/2
j.

Una imagen es un arreglo en dos dimensiones de pxeles. Para ilustrar como la
transformada Haar es usada para comprimir una imagen, empezaremos con una simple
fila de valores de pxeles, es decir un arreglo unidimensional de n valores. Por
simplicidad asumiremos que n es una potencia de 2.

Ejemplo

Considere el arreglo de ocho valores (1, 2, 3, 4, 5, 6, 7, 8) los cuales para nuestro
ejemplo, representan cada uno un valor de un pxel en una fila.

1) Primero calcularemos los cuatro promedios.
(1 + 2)/2 = 3/2 (3 + 4)/2 = 7/2 (5 + 6)/2 = 11/2 (7 + 8)/2 = 15/2

Es imposible reconstruir los ocho valores originales desde estos cuatro promedios, de
modo que calcularemos las cuatro diferencias

2) Clculo de las diferencias.
(1 - 2)/2 = -1/2 (3 - 4)/2 = -1/2 (5 - 6)/2 = -1/2 (7 - 8)/2 = -1/2.

Estas diferencias son llamadas coeficientes de detalle. Podemos pensar de los
promedios como una representacin de resolucin ordinaria de la imagen original, y de
los detalles como los datos necesarios para reconstruir la imagen original a partir de esta
resolucin ordinaria (es decir, con el primer clculo obtenemos una compresin
truncada, mientras que con el segundo se obtiene un refinamiento necesario para nuestro
primer clculo, son el complemento perfecto). Si los pxeles de la imagen estn
correlacionados, la representacin ordinaria ser el que reensamble los pxeles
originales, mientras los detalles sern pequeos. Esto explica porque la compresin
wavelet Haar de imgenes usa promedios y detalles.

Es fcil observar que el arreglo (3/2, 7/2, 11/2, 15/2, -1/2, -1/2, -1/2, -1/2) hecho de los
cuatro promedios y las cuatro diferencias pueden ser usadas para reconstruir los ocho
valores originales. Este arreglo tiene ochos valores, pero estos ltimos cuatro
componentes, las diferencias tienden a ser nmeros pequeitos, que ayudan en la
compresin. Alentados por esto, repetimos el proceso sobre los cuatro promedios, los
componentes de nuestro arreglo. Ellos son transformados dentro de dos promedios y dos
diferencias, produciendo el arreglo (10/4, 26/4, -4/4, -4/4, -1/2, -1/2, -1/2, -1/2). La
siguiente y ltima interaccin de este proceso transforma los dos primeros
componentes del nuevo arreglo dentro de un promedio (el promedio de todos los ocho
componentes del arreglo original) y una diferencia quedando as (36/8, -16/8, -4/4, -4/4,
-1/2, -1/2, -1/2, -1/2). El ltimo arreglo es la Transformada wavelet de Haar de los
datos originales.

Debido a las diferencias, la transformada wavelet tiende a tener nmeros menores a los
valores de pxel original.

Para continuar es interesante calcular la complejidad de esta transformada, es decir el
nmero de operaciones aritmticas necesarias en funcin del tamao del dato. En
nuestro ejemplo necesitamos 8 + 4 + 2 = 14 operaciones (entre sumas y sustracciones),
un nmero que puede ser expresado como 14 = 2(8 - 1). En el caso general, asumimos
que nosotros empezamos con N = 2
n
datos. En la primera iteracin necesitamos 2
n
operaciones, en la segunda necesitamos 2
n - 1
operaciones, y as sucesivamente hasta la
ltima operacin, donde 2
n (n -1)
= 2
1
operaciones son necesarias. As, el nmero total de
operaciones es



As la transformada wavelet de Haar para N tems de datos puede por lo tanto se
ejecutada con 2(N-1) operaciones.

Igualmente es til asociar esta es cada iteracin con una cantidad llamada resolucin,
que es definida como el nmero de promedios restantes al final de la iteracin. Las
resoluciones despus de cada una de las tres iteraciones anteriores son 4(= 2
2
), 2(= 2
1
), y
1(= 2
0
).

Posteriormente se mostrar que cada componente de la transformada wavelet podra ser
normalizada al dividirla por la raiz cuadrada de la resolucin. (Esta es la transformada
Haar Ortonormal, discutida anteriormente en el captulo de compresin de imagen)



As, nuestro ejemplo de la transformada wavelet se vuelve

)
2
2
1
,
2
2
1
,
2
2
1
,
2
2
1
,
2
4
4
,
2
4
4
,
2
8
16
,
2
8
36
(
2 2 2 2 1 1 0 0



Si la transformada wavelet normalizada es utilizada, esta puede ser formalmente
demostrada que ignora las pequeas diferencias es la mejor seleccin para compresin
wavelet con prdida, ya que causa la prdida ms pequea de informacin de la imagen.

APLICACIN DE LA TRANSFORMADA HAAR

Una vez visto el concepto de la transformada Haar, generalizaremos el concepto a una
imagen de dos dimensiones. Para tal caso utilizaremos dos acercamientos llamados
descomposicin estndar y la descomposicin piramidal.
Los anteriores resultados calculaban la transformada wavelet de cada fila de la imagen
como se observa grficamente a continuacin.




Esto resulta en una imagen transformada donde la primera columna contiene promedios
y todas las otras columnas contienen diferencias. El algoritmo estndar entonces calcula
la transformada wavelet de cada columna. Esto resulta en un valor promedio en la
esquina superior izquierda, con el resto del tope de la fila conteniendo promedios de las
diferencias y con los otros valores de pxeles transformados dentro de diferencias.

El otro mtodo calcula la transformada wavelet de la imagen al alternar filas y
columnas. El primer paso es calcular los promedios y diferencias entre todas las filas
(solo una interaccin, no la transformada wavelet completa). Esto crea promedios en la
mitad izquierda de la imagen y diferencias en la otra mitad. El segundo paso consiste en
calcular los promedios y las diferencias para todas las columnas, lo que resulta en
promedios en el cuadrante de la esquina superior izquierda de la imagen y diferencias en
el resto. Los pasos tres y cuatro operan sobre las filas y las columnas de ese cuadrante,
resultando en promedios concentrados en el subcuadrante superior izquierdo. Estos
pasos se repiten ejecuntandose sobre sub cuadrantes cada vez ms y ms pequeos,
hasta que solo un promedio quede en la ezquina superior izquierda de la imagen y los
valores de los otros de todos los otros pxeles hayan sido reducidos a diferencias. Estos
pasos se observan en la figura siguiente.

L1 H1 H1 H2 L2 H1 H2
H
3

L
3

Imagen
Original


La transformada explicada en la seccin 4.4 son ortogonales, ya que ellas transforman
los pxeles originales en unos pocos nmeros de gran tamao y muchos nmeros
pequeos. En contraste, las transformadas wavelet como la Haar son transformadas de
subbandas. Ellas particionan la imagen en dentro de regiones en donde una contiene
nmeros grandes obtenidos de los promedios, mientras las otras regiones contienen
nmeros pequeos como resultado de las diferencias. No obstante estas regiones que
son llamadas subbandas, son ms que un juego de nmeros pequeos y grandes. Ellos
reflejan artefactos diferentes de la imagen, y para entender el significado de esto
exminaremos una pequea imagen en su mayora uniforme con un tamao de 8 x 8 y
valores de 12 en la mayor parte de su rea. A esta imagen la atraviesa horizontalmente
una lnea con valor de 16 y una vertical con valor de 14. La representacin de esto se
aprecia en la siguiente figura.
















I D
II ID
DI DD


I
I
D



I
I
I

ID

DD DI





























Anteriormente se haba discutido las transformadas de las imgenes, sin embargo se
puede mencionar que existen dos tipos de transformadas, la ortogonal y por subbandas.
Una transformada lineal ortogonal es realizada cuando se calcula el producto interno
del dato (valor del pxel o la muestra de sonido) con un juego de funciones base. El
resultado es una coleccin de coeficientes que pueden ser despus cuantizados o
comprimidos con RLE, codificacin Huffman u otros mtodos. Entre los ejemplos de
transformadas ortogonales encontramos la DCT, la WHT y la KLT descritos en la
seccin de compresin de imgenes.
El otro tipo de transformadas es la transformada por subbandas la cual es efectuada al
calcular una convolucin de los datos con un juego de filtros pasabanda.







Estandares de compresin de imgenes

JPEG

12 12 13 12 0 0 2 0

12 12 13 12 0 0 2 0

12 12 13 12 0 0 2 0

12 12 13 12 0 0 2 0

12 12 13 12 0 0 2 0

16 16 15 16 0 0 2 0

12 12 13 12 0 0 2 0

12 12 13 12 0 0 2 0
12 12 13 12 0 0 2 0

12 12 13 12 0 0 2 0

14 14 14 14 0 0 0 0

12 12 13 12 0 0 2 0

0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0

4 4 2 4 0 0 4 0

0 0 0 0 0 0 0 0
La figura b muestra el resultado de
aplicar la transformada Haar una vez a las
columnas de la imagen. La mitad derecha
de esta figura muestra una mayora de
ceros ratificando la naturaleza constante
de la imagen. No obstante, los trazos
tanto el vertical como el horizontal
pueden ser fcilmente vistos (la notacin
2 indica una diferencia negativa). La
figura c muestra el resultado de aplicar la
transformada Haar a las filas de la figura
b.
12 12 12 12 14 12 12 12

12 12 12 12 14 12 12 12

12 12 12 12 14 12 12 12

12 12 12 12 14 12 12 12

12 12 12 12 14 12 12 12

16 16 16 16 14 16 16 16

12 12 12 12 14 12 12 12

12 12 12 12 14 12 12 12
Comentario [VEDR2]: Explica
r que es esta joda, lo cual se hace
en el capitulo 5.7 del Salomn.
JPEG es un mtodo de compresin sofisticado tanto con prdidas como sin prdidas
para imgenes a color o en escala de grises, pero no as para imgenes binivel (blanco y
negro). Su mejor desempeo es con imgenes de todo continuo, donde pxeles
adyacentes tienen colores similares. Una ventaja de JPEG es el uso de muchos
parmetros, permitiendo al usuario de esta forma ajustar la cantidad de prdida en los
datos sobre un amplio rango. Frecuentemente el ojo no puede ver cualquier degradacin
de la imagen sobre radios de compresin de 10:1 o 20:1. Hay dos modos principales:

- Con prdidas llamado tambin bsico.

- Sin prdidas cuya implementacin produce frecuentemente radios de
compresin alrededor de0.5.

Muchas implementaciones soportan nicamente el modo con prdidas. Este modo
incluye codificacin jerrquica y progresiva.

JPEG es un mtodo de compresin, no un estndar completo para representacin de
imgenes. Esto, ya qu no especifica las caractersticas de la imagen como la relacin
del aspecto de pxel, el espacio colorido, o entrelazando de filas

La compresin de imgenes JPEG contiene una serie de tcnicas avanzadas. La
principal, la que hace la compresin real de la imagen es la Transformada del Coseno
Discreto (DCT) seguida por la cuantificacin de los coeficientes de la DCT que elimina
la informacin redundante (las partes invisibles) como en el caso de los valores muy
cercanos a cero como lo veamos en los anteriores ejemplos dentro del tema DCT. El
objetivo que persigue este estndar es la compresin de imgenes fijas con un gran
margen de calidad y niveles de compresin altos. Presentando las siguientes
caractersticas:

Resolucin arbitraria de la imagen original
Varios modelos de color
Varios formatos de muestreo
Algoritmos de compresin con prdidas y sin prdidas
La compresin depende del contenido de la imagen y de la calidad deseada

Las metas que persigue este estndar son las siguientes:

Altos relacin de compresin, especialmente en los casos en donde la calidad de
la imagen es juzgada como entre muy buena y excelente.
El uso de muchos parmetros, permitiendo a usuarios sofisticados experimentar
y alcanzar la interaccin deseada entre compresin vs. calidad.
Obtener buenos resultados con cualquier clase de imgenes de tonos continuos.
Conseguir un sofisticado, pero no complejo mtodo de compresin, que permita
su implementacin sobre muchas plataformas.
Varios modos de operacin:
a) Modo secuencial: cada componente de la imagen (color) es comprimido en un
simple escaneo de izquierda a derecha y de arriba abajo.
b) Modo progresivo: la imagen es comprimida en mltiples bloques para poder ver
desde toscos detalles hasta los ms finos.
c) Mtodo sin prdidas: En donde el usuario no desea que ni un solo pxel vare,
logrando con esto bajas relaciones de compresin comparado con los mtodos
con prdida.


Los principales pasos de la compresin de JPEG son descritos a continuacin y cada
paso ser detallado posteriormente.

Paso 1: Descomposicin en bloques o subimgenes. Usando la luminancia (brillo) y la
crominancia (color) se consigue mejor compresin. Estos valores son otra forma de
expresar los valores RGB de una imagen. El ojo es mucho ms sensible a la seal de
luminancia que a las seales de crominancia, as que no hace falta tanta precisin en
estas ltimas. Primero se computa la luminancia, Y, y las dos crominancias, I y Q (para
NTSC), de acuerdo a las siguientes frmulas:

Y = 0.3R + 0.59G + 0.11B
I = 0.60R 0.28G 0.32B
Q = 0.21R 0.52G + 0.31B

Una vez obtenidas las matrices Y, I y Q, se hace la media de bloques cuadrados de
cuatro pxeles en las matrices I y Q para reducir cada una de las matrices de
crominancia a un cuarto de su dimensin original, con lo cual se obtiene una factor de
compresin de 2:1. Para finalizar este proceso de descomposicin en bloques, se divide
cada matriz en bloques de 8x8 pxeles, cada bloque contiene 64 nmeros que tienen
valores que oscilan entre 0 y 255.

Este paso es opcional pero importante ya que el resto del algoritmo trabaja con cada
componente de color separadamente. Sin transformar el espacio de color, ninguno de los
tres componentes de color tolerar mucha prdida, produciendo de esta forma una mala
compresin.

Paso 2: Las imgenes de color son muestreada bajo (downsampled) para crear pxeles
de baja resolucin en comparacin de los originales (este paso es usado nicamente
cuando la compresin jerrquica es necesitada; para imgenes en escala de grises este
paso no ser necesario). El muestre bajo (downsampled) no es realizado en el
componente de luminancia. El muestre bajo (downsampled) es realizado o a una
relacin de 2:1 tanto horizontalmente como verticalmente (tambin es llamada 2h2v o
muestreo 4:1:1). Una vez realizado esto sobre dos de los tres componentes de color,
2h2v reduce la imagen a 1/3 + (2/3) (1/4) = 1/2 de su tamao original, mientras que
2h1v reduce esta a 1/3 + (2/3) (1/2) = 2/3 de su tamao original. Ya que la
componente de la luminancia no es tocada no hay prdidas notables en la calidad de la
imagen. Las imgenes en escala de grises no hacen uso de este paso.

Paso 3. Los pxeles de cada componente de color son organizados en grupos de 6464
pxeles llamados unidades de datos. Si el nmero de las filas o columnas de la imagen
no es mltiplo de 8, tanto la ltima fila inferior como la ltima de la derecha son
duplicadas cuantas veces sea necesario para formar el mltiplo de 8.

Paso 4: clculo de la DCT. Se aplica la DCT a cada uno de los bloques Y, I y Q,
generando para cada uno de ellos una nueva matriz de 8x8 compuesta por los
coeficientes de las componentes de frecuencias espaciales. El valor de estos coeficientes
disminuye rpidamente cuando se van alejando del origen de la matriz, terminando
generalmente en una serie de ceros. En teora un DCT es sin prdidas, pero en la
prctica, usando nmeros en coma flotante siempre se introduce algo de error de
redondeo que resulta en una prdida de informacin.

Paso 5: Cada una de las 64 componentes de frecuencia en una unidad de datos es
dividida por un nmero correspondiente a su peso, llamado coeficiente de cuantizacin
(QC) el cual se encuentra en la tabla de cuantizacin y posteriormente son redondeados
a un valor entero. En este punto es precisamente en donde algn porcentaje de la
informacin irremediablemente se pierde.

Los valores de la tabla de cuantizacin no son parte del estndar JPEG. Cada aplicacin
debe tener su tabla, permitiendo controlar la prdida que se presenta en el proceso de
compresin. Si todos los pesos en la tabla son 1, la transformacin no hace nada.
Pero si los pesos se incrementan rpidamente desde el origen, las frecuencias espaciales
ms altas son prcticamente anuladas y desechadas.
En este paso se reduce la redundancia psicovisual en las imgenes, JPEG incorpora las
caractersticas del sistema visual humano en el proceso de compresin a travs de la
especificacin de matrices de cuantificacin. Se conoce que la respuesta en frecuencia
del sistema visual humano decae con el incremento de la frecuencia espacial. Adems,
este decaimiento es ms rpido en los dos canales de crominancia. Esto implica que una
pequea variacin en la intensidad es ms visible en regiones de variacin lenta que en
las regiones de variacin rpida, y tambin ms visible en la luminancia comparada con
una variacin similar en la crominancia.

Paso 6: Barrido en Zig-Zag. Con la excepcin del coeficiente DC que se trata por
separado, los 63 coeficientes AC se leen en zig-zag para transformar la matriz en una
cadena de datos en serie. Recorrer el bloque de izquierda a derecha y de arriba abajo no
concentrar los ceros juntos, as que se usa un patrn de recorrido en zig-zag, con esto
se preparan los datos correspondientes a cada bloque para el siguiente paso dentro del
proceso.

Paso 7: Los 64 coeficientes de frecuencia cuantizados (los cuales en este momento son
enteros) de cada unidad de dato son codificados usando una combinacin de RLE y
codificacin Huffman. Un cdigo aritmtico conocido como QM puede ser
opcionalmente utilizado en lugar de la codificacin de Huffman.

El decodificador JPEG realiza los pasos contrarios (As, JPEG es un mtodo de
compresin simtrico).

El modo progresivo es una opcin de JPEG. En este modo, los coeficientes DCT de alta
frecuencia son escritos sobre el flujo comprimido en bloques llamados scans. Cada
scan ledo y procesado by el decodificador resulta en una imagen abrupta. La idea es
usar los primeros pocos scans para crear rpidamente una imagen de baja calidad y algo
borrosa, entonces cualquier entrada restante se sigue procesando o por el contrario
puede detener el proceso rechazando la imagen. La demanda que hace este proceso es
en almacenamiento, ya que este codificador tiene que salvar todos los coeficientes de
todas las unidades de datos en un buffer antes de que ellas sean enviadas en scans, y que
pasen por todos los pasos anteriormente comentados reduciendo de esta forma la
velocidad.

La siguiente figura muestra un ejemplo de una imagen con resolucin de 1024 512.




La imagen es dividida en 8192 unidades de dato (128 64) y cada una es transformada
a travs de la DCT convirtindose en un juego de 64 nmeros de 8 bits cada uno
respectivamente. La figura X.b representa un bloque cuyo volumen sin tener en cuenta
a los bits corresponde a las 8192 unidades de datos, en donde su altura expresa a los 64
coeficientes DCT y su ancho son los ocho bits de cada uno de los coeficientes obtenidos
en la DCT.

5
1
2

=

8

x

6
4

2
127
129 130 255

524288 pxeles
8192 unidades de dato
8065 8191
3 4 1
128
8192
0
1
2
61
62
63
1
2
128
1 0 7 6
(a)
(b)
128
256

de todos los coeficientes AC, y cada uno de los siguientes cuatro escans, numerados del
3 al 6, agregan un bit ms significativo (bits del 3 al 0 respectivamente).
En el modo jerrquico, el codificador almacena la imagen varias veces en el flujo de
salida, a varias resoluciones. No obstante, cada parte de alta resolucin usa informacin
desde las partes de baja resolucin de la salida del flujo, de modo que la cantidad total
de informacin es menor que la requerida para almacenar las diferentes resoluciones
separadamente. Cada parte jerrquica puede usar el modo progresivo.
El modo jerrquico es prctico en casos donde una imagen de alta resolucin necesita
estar saliendo en baja resolucin. Las viejas impresoras son un buen ejemplo de un
dispositivo con muy baja resolucin.







(a) (b)
(c)
Despus de preparar todas las unidades
de dato en una memoria de buffer, el
codificador los escribe sobre el flujo
comprimido haciendo uso de uno de los
dos mtodos, por seleccin espectral o
por aproximacin sucesiva. El primer
scan en cualquiera de los dos mtodos es
siempre el juego de coeficientes DC. Si la
seleccin espectral (figura Xa-c) es
utilizada, cada scan sucesivo consiste de
varios coeficientes (o filas en el caso del
grfico de) AC. Si el mtodo utilizado es
la aproximacin sucesiva, el segundo
scan consiste de los cuatro bits ms
representativos de todos los coeficientes


El modo sin prdidas de JPEG calcula un valor predictivo para cada pxel, generando
la diferencia entre el pxel y si valor predictivo, entonces codifica la diferencia usando
el mismo mtodo (Codificacin de Huffman o Aritmtica) usado en el paso 7. El valor
predictivo es calculado usando valores de pxeles encima y a la izquierda del pxel en
estudio o actual.

Luminancia

Para definir un color son necesarios tres parmetros (x, y, z) denotados de forma similar
a un punto en el espacio tridimensional, de ah el trmino espacio de color. El espacio
de color ms comn es el RGB, donde los tres parmetros son la intensidad en los
colores rojo, verde y azul, cada uno de los cuales es definido por 8 bits 256 2
8
=
posibles intensidades en cada uno de los colores; por lo tanto cada color de un pxel se
define en RGB por 24 bits.

La CIE (Comisin Internationale e lclairage, comit internacional de iluminacin)
define el brillo como el atributo de una sensacin visual en la que un rea pareciera
emitir mayor o menor luz, lo cual no es ms que una percepcin, pero para poder definir
una cantidad que nos permita cuantificar esta apreciacin aparece una llamada
luminancia.

La luminancia es definida como el peso de la potencia radiada de acuerdo a una funcin
de sensitividad espectral la cual es caracterstica de la visin. La luminancia es
proporcional a la potencia de la fuente de luz. Esta es similar a la intensidad, pero la
composicin espectral de la luminancia esta relacionada a la sensitividad al brillo de la
visin humana.

El ojo es muy sensitivo a pequeos cambios en la luminancia, por lo cual es
indispensable considerar esta cantidad o parmetro dentro del espacio de color. Una
manera de obtener este parmetro es substrayndolo desde los componentes Rojo y
Azul del formato RGB, creando de esta forma tres nuevos componentes dentro del
espacio de color Y, R-Y, B-Y. Los dos ltimos componentes son llamados croma.
Ellos representan el color en trminos de la presencia o ausencia de rojo (Cr) y azul
(Cb) para una intensidad de luminancia dada.

Varios rangos de nmeros son usados en B-Y y R-Y de acuerdo a las aplicaciones que
hagan uso de estas. En el caso de video anlogo se utiliza el estndar YPbPr, mientras
que el rango YCbCr es el utilizado para el video digital, JPEG, JPEG200 y el MPEG.

El espacio de color YCbCr fue desarrollado como parte de la Recomendacin ITU-R
BT.601 durante el desarrollo de un estndar a nivel mundial para el video digital.
Y tiene un rango definido entre 16 y 235; Cb y Cr estn en un rango comprendido entre
16 y 240, con 128 igual a cero.

Hay varios formatos de muestreo YCbCr, tales como 4:4:4, 4:2:2, 4:1:1 y 4:2:0 los
cuales son descritos en la recomendacin.

Las conversiones entre RGB con un rango 16 235 y YCbCr son lineales y por lo tanto
simples como se aprecia en el siguiente ejemplo.


Y = (77/256)R + (150/256)G + (29/256)B
Cb = -(44/256)R (87/256)G + (131/256)B +128,
Cr = (131/256)R (110/256)G (21/256)B +128;


La transformacin contraria sera de la siguiente forma.

R = Y + 1.371(Cr 128)
G = Y 0.698(Cr 128) 0.336(Cb 128)
B = Y + 1.732(Cb 128).



DCT

El JPEG usa DCT porque tiene buen desempeo y no asume ninguna estructura de los
datos (por ejemplo la DFT el cual asume que los datos son peridicos) y porque se
puede variar la velocidad de acuerdo a las necesidades del usuario.

El siguiente ejemplo en una dimensin mostrar las diferencias en desempeo entre la
DCT y la DFT. Para empezar se utilizar una secuencia altamente correlacionada de
ocho nmeros (8, 16, 24, 32, 40, 48, 56, 64) tal como se aprecia en la siguiente grfica.









8
16
24
32
40
48
56
64
0
20
40
60
80
1 2 3 4 5 6 7 8
Entrada uni-dimensional
Aplicando la DCT a los ocho nmeros se obtiene (100, -52, 0, -5, 0, -2, 0, 0.4)
Luego al cuantizar estos coeficientes se obtiente (100, -52, 0, -5, 0, -2, 0, 0).
Al realizar la IDCT se obtiene (8, 15, 24, 32, 40, 48, 57, 63).

Ahora aplicando la DFT a la misma entrada se obtiene (36, 10, 10, 6, 6, 4, 4, 4).
Al cuantizar estos coeficientes obtenemos (36, 10, 10, 6, 0, 0, 0, 0).
Al realizar la Transformada inversa de la DFT conduce a (24, 12, 20, 32, 40, 51, 59, 48)
En el siguiente grfico se aprecia el comportamiento de las dos transformadas discretas
con respecto a los datos originales.


0
20
40
60
80
1 2 3 4 5 6 7 8
COMPARACION DE COMPORTAMIENTO
DE LAS TRANSFORMADAS
ORIGINAL
IDCT
IDFT



El estndar JPEG aplica la DCT solo a bloque de 88 pxeles (unidades de dato). La
razn para tal decisin son dos:

1) Aplicar la DCT a todos los pxeles de una imagen (nn) produce mejor
compresin pero involucra muchas operaciones matemticas lo que ralentiza el
proceso. Aplicar la DCT a una pequea cantidad de pxeles (88) reduce la
relacin de compresin pero aumenta la velocidad del proceso.

2) Experiencias muestran que, en una imagen de tono continuo, las correlaciones
entre pxeles son de rango mas bien pequeo. Un pxel en cada imagen tiene un
valor (componente de color o escala de grises) que es muy parecido al que pueda
tener un vecino bien prximo; sin embargo, la correlacin con un pxel lejano es
ms bien mnima.









Donde


Y 7 , 0 j i .

La DCT es la clave de JPEG para la compresin con prdidas. La manera para perder
informacin sin relevancia de la imagen, es reducir el tamao de los 64 coeficientes
DCT a travs de la cuantificacin. Existe una alta probabilidad que esta accin no
degrade mucho la calidad de la imagen.


Cuantizacin

Despus de que cada uno de los
ij
G coeficientes DCT de la matriz 88 es calculado,
estos son cuantizados. Este es precisamente el paso en donde la prdida de informacin
ocurre. Cada nmero en la matriz de coeficientes DCT es dividido por un nmero
correspondiente obtenido de la tabla tabla de cuantizacin para por ltimo ser
redondeado su resultado al entero ms prximo. En este proceso tres tablas
correspondientes a los componentes de color son necesarias. El estndar permite hasta
el uso de cuatro tablas y el usuario puede seleccionar cualquiera de las cuatro para
cuantizar cada componente del color. Los 64 nmeros que constituyen cada tabla de
cuantizacin son todos los parmetros de JPEG. En principio ellos pueden ser
especificados y finamente seleccionados por el usuario para alcanzar la mxima
compresin, no obstante en la prctica muy pocos usuarios tienen el tiempo para
experimentar con algunos parmetros, de modo que el software que implementa el
estndar JPEG, realiza esta labor por ellos, para lo cual hace uso de dos modalidades.

1) Tablas de cuantizacin estndar. Dos de tales tablas, una para la luminancia
(escala de grises) y la otra para la crominancia son el resultado de pruebas
experimentales por parte del comit JPEG. Ellos estn incluidos en el estndar
JPEG y se muestran a continuacin.


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


17 18 24 47 99 99 99 99
18 21 26 66 99 99 99 99
24 26 56 99 99 99 99
99
47 66 99 99 99 99 99 99
99 99 99 99 99 99 99 99
99 99 99 99 99 99 99 99
99 99 99 99 99 99 99 99
99 99 99 99 99 99 99 99


Crominancia
El fcil observar como los QC en la tabla generalmente crecen movindose
desde la parte superior izquierda hacia la parte inferior derecha. As es como
JPEG reduce los coeficientes DCT con alta frecuencia espacial.

2) Una simple tabla de cuantizacin Q es calculada, basada en un nico parmetro
R proporcionado por el usuario. Una simple expresin tal como
R j i Q
ij
+ + = ) ( 1 garantiza que los QC empiezan pequeos en la parte
superior izquierda y empiezan a crecer a medida que se desplaza hacia la parte
inferior derecha.



El sucesor de este estndar es el JPEG2000 cuya principal diferencia con el actual es
que en vez de realizar la transformacin DCT, JPEG 2000 utiliza la transformacin
Wavelet. La ventaja de JPEG 2000 es que los bloques de JPEG se eliminan y se
remplazan con una imagen generalmente ms difusa, esta difusin de JPEG 2000 es
preferible frente a los bloques de JPEG, en general es un asunto de preferencia personal.
En cualquier caso el ratio de compresin de JPEG 2000 es ms alto. Para ratios de
compresin moderados, JPEG 2000 produce imgenes tpicamente con un 25% de
inferioridad en tamao de archivo que el JPEG con igual calidad de imagen. El precio a
pagar es trabajar con una tcnica de compresin mucho ms compleja. El estndar
tambin est pensado para aplicarse a imgenes volumtricas y en movimiento, cosa
que permitir que se puedan desarrollar cmaras fotogrficas digitales con mayor
capacidad y mejores prestaciones.


1.2. Estndares de compresin de video

En base al proceso de digitalizacin del video anlogo se dieron varios problemas, entre
los cuales se tienen la capacidad de almacenamiento y velocidad de transmisin. Debido
al requerimiento de espacio para almacenar video digitalizado, se hizo necesaria la
compresin de este.

Como ejemplo, tengamos en cuenta que una secuencia de video sin comprimir a una
resolucin de 720 X 576 con una profundidad de color de 24 bits y una velocidad de 25
fps requiere de al menos 29.66 MB/s; y una pelcula de un par de horas de duracin
requerir de por lo menos 208.57 GB para su almacenamiento.

Para que nos hagamos una idea, una secuencia de video sin comprimir a una resolucin
de 720x576 con 24 bits de profundidad de color y 25 cuadros por segundo requiere de
29,66 MB/s. Una pelcula de un par de horas de duracin requerir de 208,57 GB
aproximadamente. La compresin de video puede ser con prdida o sin prdida. En el
caso de compresiones sin prdida, no se suelen alcanzar tasas superiores a 3:1 mientras
que con la compresin con prdida se puede llegar incluso a 100:1. Como podemos ver
es una necesidad, adems de una conveniencia, el uso de la compresin.

i. El estndar MPEG-1

Comentario [VEDR3]: Este
puede ser la ltima parte de jpeg y
como introduccin a las tcnicas
de wavelet
El estndar MPEG, de la asociacin Moving Pictures Experts Group, se dio a conocer
en 1988 con Leonardo Cahiriglione e Hiroshi Yasuda, bajo los auspicios de la ISO con
la inmediata meta de la estandarizacin de video y audio para discos compactos. MPEG
es un comit que propone estndares para compresin de Audio y Video digital. En
particular, ellos definen un stream (flujo, corriente) de bits comprimidos, lo cual
implcitamente define un descompresor. MPEG esta dividido en tres temas: Video,
Audio y Sistema.

Este, define un flujo de bits para comprimir en forma optimizada el video y audio por
medio de un arreglo dentro de un ancho de banda de 1.5 Mbits/s. Este rango es especial
porque es el rango de datos de audio (no comprimido) del CD y del DAT.

El estndar se divide en tres partes: video, audio y sistemas, donde la ltima parte da la
integracin de los flujos de audio y video con el propio sello de tiempo que permite la
sincronizacin de los dos. Podemos encontrar la parte del sistema (en el estndar ISO en
el ISO 11172-1) que trata informacin de sincronizacin y multiplexacin de audio y
video, en tanto que las partes de video (ISO 11172-2) y audio (ISO 11172-3) tratan las
tcnicas de compresin de video y audio respectivamente.

En el esquema del MPEG sus velocidades de compresin son mayores y la
descompresin se hace en tiempo real. El MPEG proporciona descompresin de datos a
velocidades de 1.2 a 1.5 MB por segundo; esto permite que las unidades de CD ROM
puedan reproducir pelculas a color con movimientos en tiempo real. El MPEG
comprime a relaciones de aproximadamente 50:1 antes de que se degraden las
imgenes, pero pueden obtenerse relaciones de hasta 200:1 con una degradacin alta.

El algoritmo MPEG es asimtrico; sea, involucra mayor tiempo en la etapa de
compresin, logrando una mejor calidad de la imagen digitalizada.

1. MPEG Audio

No se aplica la misma compresin de audio para el video debido a que el odo y el ojo
trabajan de forma muy diferente. El odo tiene un rango y resolucin mucho ms
dinmico, y puede notar ms detalles, pero es ms lento que el ojo. El comit MPEG
Audio seleccion 3 mtodos de compresin y los nombr como Layer-1 , Layer-2, y
Layer-3.

MPEG (ISO 11172-3) entonces describe la compresin de seales de audio usando
esquemas de codificacin de alto desarrollo de percepcin, donde los tres cdigos son
compatibles en una forma jerrquica, por ejemplo, un decodificador Layer-N puede
decodificar datos codificados en Layer N-1 y de todas las Layers anteriores.

Para cada Layer, el estndar especifica el formato de flujo de bis y el decodificador. No
especifica el codificador para permitir futuras mejoras. Todas las Layers usan la misma
estructura bsica donde el esquema de codificacin puede ser descrito como perceptual
noise shaping o perceptual subband/transform coding.

El codificador analiza los componentes espectrales de la seal de audio para calcular un
banco de filtro o transforma y aplica un modelo psicoacstico para estimar el nivel de
ruido notable. El codificador intenta localizar el nmero disponible de bits de datos para
encontrar tanto los requerimientos de la tasa de bit como del enmascaramiento. La tarea
del decodificador es sintetizar una seal de audio sobre los componentes del espectro
codificado.

Todas las capas usan el mismo anlisis de banco de filtro (polifase con 32 subbandas).
Layer 3 aade una transformada MDCT para incrementar la resolucin de frecuencia.
Todas las capas usan la misma cabecera de informacin en su flujo de datos, para
soportar la estructura jerrquica del estndar. Usan una estructura en el flujo de datos
que contiene partes que son ms sensibles a errores (encabezado, bit de ubicacin, etc.)
y partes que son menos sensibles (datos de componentes espectrales).

Todas las capas soportan la insercin de informacin asociada al programa dentro de su
flujo de datos de audio. En todas las Layers se puede usar una frecuencia de muestreo
de 32, 44.1 48 kHz.

La diferencia entre las capas se da porque desde la Layer 1 a la Layer 3, la complejidad
va en aumento (principalmente por el codificador), los retrasos del codec se
incrementan, y el desempeo tambin (calidad de sonido por tasa de bit). Cada una de
las capas ha sido diseada para soportar ciertas reas de tasas de bits ms
eficientemente, de ah que para saber cul Layer es la que ms conviene usar para una
aplicacin, se puede utilizar como punto de partida aqulla que cumpla con los
requerimientos de la tasa de bits que sea la ms eficiente para esa aplicacin:

Layer 1: su tasa de bit es de 192 Kbps por canal de audio. Es una versin
simplificada de Layer 2. Tiene similitudes en trminos de complejidad,
eficiencia y sintaxis a las del MiniDisc de Sony y al Philips Digital Compact
Cassette (DCC).

Layer 2: su tasa de bit es de 128 Kbps por canal de audio. Se ha decidido usar
Layer 2 en las redes para el manejo de Digital Audio Broadcasting.

Layer 3: su tasa de bit es 64 Kbps por canal de audio. Su formato especifica un
conjunto de normas avanzadas que tienen como meta preservar tanta calidad de
sonido como sea posible aunque se tenga una tasa de bits baja. Es usado en
varias redes de Telecomunicaciones (ISDN, enlaces satelitales), sistemas de
Anuncios y aplicaciones de audio en Internet.

Para comprender la necesidad de la comprensin del audio, es necesario saber cmo el
sonido es almacenado en una computadora. Cuando hablamos a travs de un micrfono,
y lo conectamos a un amplificador, se obtienen niveles de voltaje. El voltaje entonces es
muestreado por la computadora un nmero de veces por segundo. Para una calidad de
audio de CD se hace un muestreo de 44100 veces por segundo, donde cada muestra
tiene una resolucin de 16 bits.

Para comprimir el audio, MPEG remueve las partes irrelevantes y redundantes de la
seal. De tal manera que las partes que no alcanzamos a escuchar sean desechadas. Para
lograr lo anterior, MPEG Audio usa principios psicoacsticos.

Estos modelos psicoacsticos cuidadosamente derivados de experimentos con los
mejores oyentes, tienen la finalidad de obtener las piezas de sonido que se pueden
escuchar.

Esto es llamado efecto de enmascaramiento; por ejemplo, un componente grande en
una determinada frecuencia impide que se escuchen partes de energa baja en
frecuencias cercanas, donde la relacin de energa contra frecuencia est descrita por
una curva emprica.

Los rangos de datos de audio para CD estn alrededor de 1.5 Mbits/seg. Se puede
comprimir el mismo programa estreo bajando a 256 Kbits/seg sin que se perciba una
menor calidad. De manera que se maneja una compresin de 6:1. As un flujo de CD
MPEG I tendra cerca de 1.24 Mbits/s disponible para video. De seguro que hay prdida
con la compresin, pero puede ser muy difcil a veces ver estas prdidas si se compara
el original SIF (formato fuente de entrada para MPEG I) con el SIF descomprimido. El
estndar tambin provee otros rangos desde 32 Kbits/s para un canal simple, y arriba de
448 Kbits/seg para estreo.

Actualmente, la mayora de las operaciones realizadas sobre seales de sonido son
digitales, pues tanto el almacenamiento como el procesamiento y transmisin de la seal
en forma digital ofrece ventajas muy significativas sobre los mtodos analgicos.

Ventajas:
La tecnologa digital ofrece mayores posibilidades, menor sensibilidad al ruido
en la transmisin y capacidad de incluir cdigos de proteccin frente a errores,
as como encriptacin. Con los mecanismos de decodificacin adecuados,
adems, se pueden tratar simultneamente seales de diferentes tipos
transmitidas por un mismo canal.


Desventajas:
La desventaja principal de la seal digital es que requiere un ancho de banda
superior a la seal analgica, de ah que se realice un profundo estudio en lo
referente a la compresin de datos.

El proceso de digitalizacin se compone de dos fases: muestreo y cuantizacin.

Muestreo y Cuantizacin

Por el teorema de Nyquist se garantiza que la frecuencia necesaria para muestrear una
seal que tiene sus componentes ms altas a una frecuencia dada f es como mnimo 2f.

Por tanto, siendo el rango superior de la audicin humana en torno a los 20 kHz, la
frecuencia que garantiza un muestreo adecuado para cualquier sonido audible ser de
unos 40 kHz. Concretamente, para obtener sonido de alta calidad se utilizan frecuencias
de 44.1 kHz, en el caso del CD y hasta 48 kHz, en el caso del DAT. Otros valores
tpicos son submltiplos de la primera, 22 y 11 kHz.

Segn la naturaleza de la aplicacin las frecuencias adecuadas pueden ser muy
inferiores, de tal manera que el proceso de la voz acostumbra a realizarse a una
frecuencia de entre 6 y 20 kHz. o incluso menos.

Con respecto a la cuantizacin, es evidente que entre ms bits se utilicen para la divisin
del eje de la amplitud, ms fina ser la particin y por tanto menor el error al atribuir
una amplitud concreta al sonido en cada instante. Por ejemplo, 8 bits ofrecen 256 (28)
niveles de cuantizacin y 16 bits, 65536.

El margen dinmico de la audicin humana es de unos 100 dB. La divisin del eje se
puede realizar a intervalos iguales o segn una determinada funcin de densidad,
buscando ms resolucin en ciertos tramos si la seal que se trata tiene ms
componentes en cierta zona de intensidad. Este proceso completo se denomina
habitualmente PCM (Pulse Code Modulation).

La digitalizacin de la seal mediante PCM es la forma ms simple de codificacin de
la seal, y es la que utilizan tanto los CD como los sistemas DAT. Como toda
digitalizacin, aade ruido a la seal, generalmente indeseable. Se sabe que entre menos
bits se utilicen en el muestreo y la cuantizacin, mayor ser el error al aceptar valores
discretos para la seal continua; sea, mayor ser el ruido. Para evitar que el ruido
alcance un nivel excesivo hay que emplear un gran nmero de bits, de forma que a 44.1
kHz. y utilizando 16 bits para cuantizar la seal, uno de los dos canales de un CD
produce ms de 700 Kbps (44.1 kHz x 16). Gran parte de esta informacin es
innecesaria y ocupa un ancho de banda que podra liberarse, a costa de aumentar la
complejidad del sistema decodificador e incurrir en cierta prdida de calidad. El
compromiso entre ancho de banda, complejidad y calidad es lo que produce los
diferentes estndares del mercado.





La siguiente tabla muestra formatos en calidad mono y estreo.

CALIDAD MUESTREO BITS/MUESTRA MODO
TASA DE
BITS
FRECUENCIA
Telfono 8 Khz 8 Mono 64 Kbps 200 3400 Hz
Radio AM 11.025 Khz 8 Mono 88 Kbps
Radio FM 22.050 Khz 16 Estreo 705.6 Kbps
CD 44.1 Khz 16 Estreo 1411.2 Kbps 20 20000 Hz
DAT 48 Khz 16 Estreo 1536 Kbps 20 20000 Hz
Tabla : Comparacin de formatos de calidad de audio.


Un mejor modo de codificar la seal es mediante PCM no-lineal o cuantizacin
logartmica, que consiste en dividir el eje de la amplitud de tal forma que los escalones
sean mayores cuanta ms energa tiene la seal, con lo que se consigue una relacin
seal/ruido igual o mejor con menos bits. Con este mtodo se puede reducir el canal de
CD audio a 350 kbps, lo cual evidentemente es una mejora sustancial, aunque puede
reducirse mucho ms. Otros sistemas similares nos la cuantizacin adaptativa (APCM),
diferencial (DPCM) y la mezcla de ambas, ADPCM.


Codificador MPEG


Las muestras se introducen en el codificador y a continuacin el mapeador crea una
representacin filtrada y submuestreada de la seal de entrada. El modelo psicoacstico
crea una serie de datos (dependiendo de la implementacin del codificador) que sirven
para controlar la cuantizacin y codificacin. Este ltimo bloque crea a su vez su propia
serie de datos, de nuevo dependiendo de la implementacin. Por ltimo, el bloque de
empaquetamiento de trama se encarga de agrupar como corresponde todos los datos,
pudiendo aadir algunos ms, llamados datos adicionales, como por ejemplo CRC o
informacin del usuario.





















Figura . Codificador ISO 11172-3


Decodificador MPEG

El decodificador debe procesar el flujo de datos para reconstruir la seal de audio
digital. La especificacin de este elemento s esta totalmente definida y debe seguirse en
todos sus puntos. La figura ilustra el esquema del decodificador.










Mapeado
Modelo
Psicoacustico
Cuantizacin y
Codificacin
Empaquetad
o de trama
Muestreo de
audio PCM

32/44.1/48 Khz
Flujo de bits

Codificado
Datos adicionales
Descompresin
de trama
Reconstruccin Mapeado
inverso
Flujo de bits

Codificado
Muestreo de
audio PCM

32/44.1/48 Khz
Datos adicionales


Figura . Decodificador ISO 11172-3


Los datos del flujo son desempaquetados para recuperar las diversas partes de la
informacin. El bloque de reconstruccin recompone la versin cuantizada de la serie
de muestras mapeadas. El mapeador inverso transforma estas muestras de nuevo a
PCM.

Esquemas:
1. Incluye la divisin del mapeado bsico de la seal de audio digital en 32
subbandas, segmentacin para el formateo de los datos, modelo
psicoacstico y cuantizacin fija. El retraso mnimo es de 19 ms (<50
ms).
2. Incluye codificacin adicional, factores de escala y diferente
composicin de trama. El retraso mnimo es de 35 ms (<100 ms).
3. Incluye incremento de la resolucin en frecuencia, basado en el uso de un
banco de filtros hbrido. Cuantizacin no uniforme, segmentacin
adaptativa y codificacin entrpica de los valores cuantizados. El retraso
mnimo terico es de 59 ms (<150 ms).

Hay que sealar que pese a los nmeros de la norma ISO, el retraso tpico acostumbra a
ser tres veces mayor en la prctica, tal y como puede verse en los valores dentro de los
parntesis.
Para algunas aplicaciones un pequeo retardo es de suma importancia, por ejemplo, en
un enlace feedback, un reportero slo puede hablar inteligiblemente si el retardo est
por debajo de los 10 ms. Para sobrellevar este problema se puede usar un equipo con
canceladores apropiados de eco. Sin embargo, en muchas de las aplicaciones, estos
retardos son lo suficientemente pequeos para ser un problema. A lo menos, si uno
puede aceptar un retardo del esquema 2, entonces tambin se puede aceptar el retardo
ms alto que es del esquema 3. Hay que tener siempre en mente que el retardo no
depende de la seal de audio, sino de la implementacin usada en el codec especfico,
de aqu que los codecs pueden tener diferentes retardos. El retardo depende del rango de
muestreo y de la tasa de bits del codec.

Los campos de aplicacin para el esquema 3 son todos aquellos en donde las
aplicaciones necesiten alta calidad de sonido en tasas de bit muy bajas para almacenar o
transmitir seales de msica. Algunos ejemplos son:

Enlaces de alta calidad musical por medio de lneas telefnicas ISDN.
Sonido broadcasting por medio de canales satelitales de bajas tasas de bits.
Distribucin de msica en redes de computadoras con baja demanda en la
calidad (que se indica en la tabla siguiente), viene dada del 1 al 5, siendo el 5 la
superior. El significado de los valores del 1 al 5 son:

5 = transparente (esto debera ser la seal original)
4 = perceptible, pero no molesto
3 = ligeramente molesto
2 = molesto
1 = muy molesto

Esquema Objetivo Compresin Calidad a 128 Kbps Retardo
Esquema 1 192 Kbps 4 a 1 19 ms
Esquema 2 128 Kbps 6 a 1 Mas de 4 35 ms
Esquema 3 64 Kbps 12 a 1 Mas de 4 59 ms
Tabla . Resumen de caractersticas de los tres esquemas.

Existen cuatro modos de funcionamiento para cualquiera de los tres esquemas:
1. Single channel o canal nico: una seal en un bitstream.
2. Dual channel o canal doble: dos seales independientes en un mismo
bitstream.
3. Stereo: como el anterior, perteneciendo las seales al canal izquierdo y
derecho de una seal estreo original.
4. Joint stereo: como el anterior, aprovecha ciertas caractersticas del estreo
como irrelevancia y redundancia de datos para reducir la tasa de bits.

MPEG-1 permite dos canales de audio. Estos pueden ser ya sea single (mono), dual (dos
canales mono), stereo o joint stereo (intensivity stereo Layer-2 y Layer-3, o m/s-stereo
slo Layer-3).

En stereo normal (izquierda/derecha) un canal lleva la seal de audio derecha y otro la
seal de audio izquierda. En m/s stereo un canal lleva la seal sumada
(izquierda+derecha) y el otro la seal restada (izquierda-derecha).
En intensity stereo la parte de frecuencia alta de la seal (superior a 2 kHz) es
combinada. MPEG-2 permite varios canales en el mismo stream (flujo).


Aplicaciones del estndar MPEG-1-Audio

Ya tenemos una idea medianamente clara de qu es y cmo funciona MPEG-1, pero
para qu sirve emplear tiempo y dinero en comprimir el sonido? Ya hemos visto los
diferentes relaciones de compresin que alcanzan los tres esquemas:

Esquema-1.- Obtiene la mayor calidad de sonido a 384 kbps. Las aplicaciones
para las que resulta ms til son las relacionadas con la grabacin, tanto en cinta
como disco duro o discos magneto-pticos, que aceptan esta tasa de bits sin
problemas.
Esquema-2.- Produce sus mejores resultados de calidad a 256 kbps, pero se
mantiene en un nivel aceptable hasta los 64 kbps. Esto hace que se utilice en
transmisin de audio, televisin, grabacin profesional o domstica y productos
multimedia.
Ciertamente.- El mejor miembro de la familia es el esquema-3. Para una
determinada calidad de sonido ofrece la menor tasa de bits y viceversa, fijando
la tasa de bits ofrece la mejor calidad posible. (Ver Tabla 3)


CALIDAD ANCHO DE BANDA MODO TASA DE BITS COMPRESION
Telefonico 2.5 Khz Mono 8 Kbps 96 a 1
Onda corta 4.5 Khz Mono 16 Kbps 48 a 1
Radio AM 7.5 Khz Mono 32 Kbps 24 a 1
Radio FM 11 Khz Estreo 56 64 Kbps 26 24 a 1
CD - 15 Khz Estreo 96 112 Kbps 16 14 a 1
CD Mas de 15 Khz Estreo 128 Kbps 12 a 1

Tabla . Caractersticas del esquema-3 de MPEG1 para diferentes aplicaciones.


El esquema-3 est orientado a aplicaciones donde la necesidad de un ancho de banda
reducido justifique el sistema de codificacin. La calidad es excelente hasta 64 kbps.

2 MPEG-Video

La sintaxis MPEG de video proporciona una eficiente forma para representar secuencias
de imgenes en la forma de datos codificados ms compacta. MPEG tambin describe
un proceso decodificador (de reconstruccin) donde los bits codificados son mapeados
desde la representacin compacta sobre la original, en un formato nuevo de la secuencia
de la imagen. Por ejemplo, una bandera en el flujo de bits codificados seala si los bits
siguientes son para ser decodificados con un algoritmo DCT o con un algoritmo de
prediccin. Los algoritmos de compresin del proceso de decodificacin son regulados
por las semnticas definidas por MPEG.

Esta sintaxis puede ser aplicada para explotar las caractersticas de video comunes tales
como redundancia espacial, redundancia temporal, movimiento uniforme,
enmascaramiento espacial, etc.

La digitalizacin y el almacenamiento de una secuencia de diez segundos de video en
movimiento a tiempo real requieren de la transferencia de una cantidad enorme de datos
en un periodo corto. Para reproducir un solo frame de video digital con componentes a
24 bits se necesita cerca de 1 MB de datos de computadora; diez segundos de video
ocupan unos 300 MB. El video de pantalla completa con movimiento a tiempo real
necesita que la computadora proporcione datos a una velocidad de 30 MB por segundo.

Estos problemas en la velocidad de transferencia y almacenamiento, se pueden superar
con las tcnicas de compresin de imgenes. Los algoritmos de compresin de
imgenes de video a tiempo real, como el JPEG, MPEG, P*64 , DVI y C-Cube se
encuentran disponibles para comprimir informacin de video digital en relaciones que
van de 50:1 a 200:1. Los esquemas de compresin JPEG, MPEG y P*64 utilizan el
algoritmo transformada discreta del coseno (DCT), un algoritmo que cuantifica la
habilidad del ojo humano para detectar las distorsiones de color e imagen.

Una caracterstica de MPEG-video es la estructura de secuencia, la cual es arreglada
para especificar un patrn de frame I, P, B. Una secuencia puede consistir de casi
cualquier patrn de pelculas I, P, y B. Es comn en la prctica industrial tener un
patrn arreglado (p. ejem. IBBPBBPBBPBBPBB), sin embargo, codificadores ms
avanzados intentan localizar los tres tipos de pelculas de acuerdo a las caractersticas de
secuencia local en el contexto de las caractersticas ms globales.

Un hecho importante es que los frames no son codificados en el orden en el cual ellos
son mostrados. En particular, los frames B (B_frames) que usan referencias desde el
futuro, son siempre codificados despus del frame P (P_frame) del frame I (I_frame).

El reordenamiento de frames causa un retraso en el proceso de codificacin y
decodificacin. Sobre el lado del codificador el retraso est dado por el nmero de
frames B que debe esperar para el siguiente frame P ( frame I), mientras que el
decodificador debe esperar para tener llenas las memorias de frame antes de comenzar a
mostrar. Para aplicaciones especiales, es posible codificar la secuencia sin ningn frame
B con el modo de bajo retardo (low_delay), puesto en la capa de secuencia. En este caso
el decodificador necesita slo una memoria de frame.

En la siguiente figura se ilustra el hecho de que el orden de frames que se muestra (parte
superior de la figura), no es el mismo al orden de los frames que se codifican (parte
inferior de la figura).

El reordenamiento de frames es necesario cuando se tienen pelculas interpoladas Bi-
direccionalmente en el proceso de codificacin. Como los frames no se tienen
codificados en el orden en que se muestran, el codificador debe tener tantas memorias
de frame como frames-B consecutivos use, para as hacer posible la reordenacin.

Como consecuencia el retardo introducido es de 40 ms * nmero de frames B
consecutivos. Las especificaciones no establecen un mximo valor para el nmero de
frames-B.
Cuando un flujo de bits est libre de frames-B, una bandera denominada low_delay es
puesta en el sequence_header, por lo que el decodificador necesita slo una memoria de
frame para la prediccin y no existe un retardo de reordenamiento de frames.















P
Orden en que se muestran
P
I B P B
I P B B
Representacin del orden de codificacin

Figura . Representacin del orden de los frames I,P y B.



ESTRUCTURA JERRQUICA DEL MPEG VIDEO

MPEG Video esta diseado con una estructura jerrquica para hacer el manejo de las
imgenes. Las capas que constituyen la estructura jerrquica del MPEG son las
siguientes:
Secuencia, la cual se asocia con los parmetros codificados.
Grupo de Pelculas, que permiten el acceso aleatorio.
Pelcula, que es la unidad de acceso.
Seccin de pelcula, que permite el confinamiento de error.
Macrobloque, asociado con la compensacin y prediccin del movimiento.
Bloque, asociado a la Transformada Discreta de Coseno

.
Figura . Estructura jerarquica de MPEG-Video.


A continuacin se presenta la definicin de las capas antes mencionas:

Una secuencia consiste de todas las pelculas que siguen al encabezado de la
secuencia (secuence header) hasta el cdigo de fin de secuencia
(sequence_end_code). Los parmetros de codificacin y despliegue son
transmitidos con el sequence header.
Grupo de Pelculas:
Un grupo de pelculas (GOP) consiste de todas las pelculas que siguen un
encabezado GOP antes de otro encabezado GOP. La capa GOP permite el
acceso aleatorio debido a que la primera pelcula despus del encabezado GOP
es una pelcula Intra lo que significa que no necesita ninguna referencia de
ninguna otra pelcula.
La capa GOP es opcional, por ejemplo, no es obligatorio poner algn
encabezado GOP en el flujo de bits. En el encabezado se encuentra adems el
cdigo de tiempo (timecode) de la primera pelcula del GOP a ser mostrada. El
proceso de decodificacin, como el encabezado GOP es inmediatamente seguido
por una pelcula Intra, puede comenzar en ese punto del flujo de bits.
Es posible que algunas pelculas B, que sigan a la pelcula en el bitstream,
hagan referencias de proceder de un GOP anterior y no puedan entonces ser
correctamente decodificadas. En este caso, el GOP es llamado GOP Abierto
debido a que existen algunas referencias a un GOP anterior, si un acceso
aleatorio para el GOP se efecta, algunas pelculas B no deberan ser
desplegadas.
Un GOP es llamado GOP Cerrado cuando no existan pelculas B
inmediatamente siguiendo a la pelcula I o bien, que las pelculas B no hagan
ninguna referencia de provenir de un GOP anterior (en este caso un bandera de
encabezado GOP debe ser puesta). La longitud de GOP es el periodo (a menudo
expresado en frames) en el cual ocurre un frame Intra. Debe notarse que tal valor
no puede encontrarse en el bitstream y es inecesario para el proceso de
decodificacin. Adems no se especifica ningn periodo fijo para el frame Intra.
Como la presencia de los frames Intra es de suma importancia en muchas
aplicaciones, es el codificador que tiene que proveerlos.
El acceso aleatorio
El acceso aleatorio en un Flujo Elemental de Video MPEG-2 puede ser
desarrollado de varias formas en donde en todas ellas se intenta identificar el
frame Intra. Es posible observar todos los encabezados de pelcula, o buscar el
encabezado del Grupo de pelculas o incluso el encabezado de la secuencia. La
pelcula Intra garantiza el acceso aleatorio, pero un problema puede aparecer
cuando algunas pelculas B hagan referencias a GOP previos; en ese caso el
decodificador deber ser capaz de evitar la exhibicin de marcos equivocados, de
otra manera el resultado sera parches en la imagen desfigurando la estructura de
esta.

Pelcula: Una pelcula consiste de un campo o un frame. Es identificado en el
flujo de bits por el encabezado de la pelcula que especifica la estructura de la
pelcula (picture-structure) y el tipo de cdigo de pelcula (picture_coding_type).
Los posibles tipos de codificacin de pelcula son los siguientes:

Intra: se refiere a una pelcula llamada pelcula I (I_picture) que no tiene
referencia a ninguna otra pelcula, pero que puede ser usada como una
referencia para otras pelculas.
Predictible (Predicted) : Se refiere a una pelcula llamada pelcula P
(P_picture) que puede tener referencias de otro frame y puede ser usado
como referencia para otras pelculas.
Bidireccional o Interpolado (Bidirectional o Interpolated) : Se refiere a
una pelcula llamada B (B_picture) que puede hacer referencia de dos
tipos de frames diferentes, pero no puede ser usado como una pelcula de
referencia.

Como se dijo, la pelcula puede ser ya sea un campo o frame (es una decisin del
codificador). Cuando se seleciona un frame_picture el codificador tiene que
esperar el segundo campo antes de empezar a codificar el frame.

Proceso de decodificacin de video en la capa de pelcula
Decodificar el encabezado de pelcula y todas sus posibles extensiones.
Decodificar todas las secciones de pelcula que la compongan.
Si la pelcula es una I_picture o una P_picture la imagen decodificada
debe ser mantenida en las memorias de frames (los datos ms viejos
debern ser borrados). El frame I o el frame P no se decodifican hasta
que todos los frames B posibles que los precedan sean decodificados y
desplegados. El orden correcto de desplegado es dado por el campo
temporal-referente del encabezado de la pelcula.


Seccin de Pelcula (Slice) :
Una seccin de pelcula es una porcin de imagen de 16 lneas x (n x 16) pels.
Cada seccin es codificada independientemente de las otras secciones de la
pelcula. La capa de slice permite confinar un error, debido a que cuando los
errores se detectan en el flujo de bits, el decodificador puede intentar continuar
el proceso de decodificacin buscando la siguiente cabecera de la seccin.

Proceso de decodificacin de video en la capa slice
Decodificar el slice-vertical-position
Decodificar el quantiser-scale-code
Decodificar todos los macrobloques que componen la seccin de
pelcula.
Macrobloque :
Un macrobloque es una porcin de imagen que consiste de 16x16 elementos de
pelcula (pixeles o pels). En una capa macrobloque la prediccin y
compensacin de pelcula se desarrollan y es posible cambiar el paso de
cuantizacin. Debe verse que, si la pelcula es un frame picture entrelazado, las
lneas pares del macrobloque pertenecen al primer campo, y las lneas impares al
segundo campo.

Proceso de decodificacin de video en la capa macrobloque
Decodificar el modo de macrobloque y el posible codigo de Cuantizacin
escalar.
Si es un macrobloque Intra, decodificar los bloques que constituyen el
macrobloque.

Macrobloque Non-lntra:

Decodificar el modo de prediccin y los vectores del movimiento.
Se produce una prediccin conveniente para el macrobloque.
Se decodifican los bloques que constituyen al macrobloque, obteniendo
los valores de errores de prediccin.
Se aaden los valores de prediccin a la prediccin.
Bloque :
El bloque es una matriz de 8x8 elementos. Ellos pueden ser 8x8 muestras
adjuntas de luminancia o cromo, o los correspondientes coeficientes DCT. En
esta capa se desarrolla la DCT.

El proceso de decodificacin de video en la capa bloque
Decodificacin de longitud variable.
Los cdigos de palabras del flujo de bits del bloque son decodificados
para formar un vector de coeficientes DCT cuantizados.


Scaneo Inverso.
Los elementos del vector son puestos dentro de un arreglo bidimensional
el cual est en el bloque, siguiendo uno de los dos patrones posibles. El
patrn es definido por la bandera alternate_scan la cual es puesta en la
capa de pelcula. El propsito del scaneo es optimizar la codificacin
entrpica.
Cuantizacin inversa.
Los coeficientes DCT son convertidos a sus originales rangos de valores.

ALGORITMOS DE COMPRESIN

Los algoritmos de compresin se utilizan para llevar a cabo las siguientes actividades:

Correlacin espacial que se efecta por medio de la Transformada Discreta
Cosenoidal que trabaja sobre una Capa de Bloque (BlockLayer).
Correlacin Temporal que se efecta por medio de una Compensacin de
movimiento (Motion Compensation) que trabaja en una Capa de Macrobloque
(Macroblock Layer).
Redundancia estadstica que se realiza por medio de Codificacin Entrpica
(Entropy Coding).
Redundancia Subjetiva que se efecta por medio de la Cuantizacin de los
Coeficientes de la DCT (DCT coefficients Quantisation).

El MPEG-2 cuenta con otra importante herramienta que es la Escalabilidad Scalability).


HERRAMIENTAS DE MPEG

En MPEG se utilizan herramientas para llevar a cabo los algoritmos de compresin. A
continuacin se presenta la explicacin referente a cada una de las herramientas
mencionadas:
FDT
La Transformada Discreta de Fourier se desarrolla en la capa de bloque. La
entrada de DCT y la salida de la transformada inversa (IDCT) son matrices de
8x8 de 9 bits/elemento, mientras que los coeficientes DCT son representados en
12 bits (-2048 a +2047).
DCT
La DCT es usada para eliminar la correlacin espacial existente entre pixeles
adjuntos para permitir codificacin entrpica (entropy coding) ms eficiente.
Como la DCT se realiza en un bloque de 8x8, slo la correlacin relacionada
con el bloque puede ser eliminada. La subdivisin de la imagen en bloques de
8x8 para el proceso DCT es la causa de los tpicos artefactos del bloque de todos
los algoritmos de compresin basados en DCT.
Los coeficientes DCT tienen una relacin con las frecuencias espaciales y dado
que los diferentes componentes tienen diferente importancia subjetiva, DCT da
una importante herramienta para eliminar tambin la redundancia subjetiva.

Compensacin de movimiento y prediccin.
Estas se desarrollan en la capa macrobloque. La meta de la compensacin de
movimiento es proporcionar una buena prediccin para el macrobloque.
Adems, con buenas predicciones es posible tener un rango bajo de bit (low bit
rate) y una buena calidad. En las pelculas fijas, es fcil tener buenas
predicciones usando pixeles justo en la misma posicin en aqullos a predecir,
pero en pelculas en movimiento es necesario tomar los movimientos en cuenta.
Tanto el codificador como el decodificador tienen dos memorias de frame,
donde ellos almacenan las pelculas decodificadas usadas como referencias.
Dependiendo del tipo de pelcula que se maneje, las predicciones se realizan en
direfentes lugares.

Predicciones para una P_picture:
Si es un frame picture, las predicciones pueden venir de frames I o P
previos.
Si es un field picture, las predicciones pueden ser de dos campos I o P
codificados muy recientemente.
Predicciones para una B_picture:
Las predicciones pueden obtenerse de frames previos I o P como de los
siguientes frame I o P y pueden ser interpolados entre las predicciones
obtenidas en ambas direcciones.

Codificacin Entrpica (Entropy coding).
Tambin es llamada como variable length coding o Huffmann coding. En
ste, los valores ms parecidos estn asociados a cdigos de palabras cortos,
mientras que los valores menos parecidos se asocian a cdigos de palabras
grandes. Conocidas las estadsticas del evento a codificar, es posible codificar tal
evento con un nmero promedio de bits ms bajo que en un cdigo de longitud
arreglado. As, un nmero de bits variable es producido en la unidad de tiempo,
pero para muchas aplicaciones (en transmisiones usualmente) se necesita una
tasa de bit constante (constant bit rate). En tal caso el decodificador necesita un
buffer, donde almacena los bits recibidos a una tasa de bit constante y desde el
cual obtiene los bits para decodificar en una tasa de bit variable.

El codificador debe tener un buffer similar para la transmisin y debe tomar en
cuenta el tamao del buffer del decodificador y el llenado del buffer tal que
ningn sobreflujo (overflow) un bajo flujo (underflow) ocurran en el buffer de
decodificador.

Este es el propsito del Anexo C para la Especificacin ISO/IEC 13818-2
titulado Video Buffering verifier. La herramienta disponible para controlar la
tasa de bit es la escala cambiante del cuantizador, pero el algoritmo de control
del rango no est especificado y es responsabilidad del decodificador.


En MPEG el cdigo entrpico se desarrolla por medio de varias tablas de
cdigos de longitud variable en el lado del decodificador. Para MPEG-2
(lSO/lEC 13818), tales tablas estn especificadas en el Anexo B para la
recomendacin.

Como consecuencia de la produccin de cdigo de palabras con longitudes
variables, se requiere de un buffer que permita las operaciones constantes
relacionadas con la tasa de bit. Adems, los tres diferentes tipos de pelculas
(Intra, Predicted y Bi-directionally interpolated) tienen diferentes complejidades,
as que requieren diferentes promedios en el nmero de bits. El buffer es una
importante causa del retardo que se da por el valor de buffer_size/bit_rate. Para
tener un retardo menor sera posible poner un tamao de buffer menor pero
podra ocurrir que la calidad de la pelcula empeorara debido al decremento
consecuente en la eficiencia. Obviamente el tamao del buffer podra ser
escalado en funcin de la tasa de bit principalmente para mantener el mismo
retardo as como la mxima tasa de bit, pero por el momento no es posible
encontrar un campo para el tamao del buffer en la interface del codificador del
usuario junto con el campo de tasa de bit.

Cuantizacin.
El proceso de cuantizacin se refiere a los coeficientes y se realiza tanto para
eliminar la redundancia subjetiva como para controlar el factor de compresin.
El establecimiento de los parmetros de cuantizacin es el punto clave de la
calidad del codificador. En general, los coeficientes de las frecuencias espaciales
ms bajos son mucho mejor cuantizados que los de las frecuencias ms altas.

Primero, para determinar el control de tasa de bit o ms en general, para obtener
un factor de compresin lo suficientemente alto, es a menudo necesario
cuantizar los coeficientes de la DCT ms fuertemente. As, un cdigo de escala
cuantizador (quantiser_scala_code) es transmitido en cada seccin de la pelcula
(slice) y puede ser transmitido tambin en cada macrobloque. El cdigo de
escala cuantizador es un apuntador hacia el valor de la escala del cuantizador
(quantiser_scale), el cual se aplica a todo coeficiente DCT, excepto a los
coeficientes DC de bloques Intra. Dos tablas diferentes pueden ser cambiadas en
una capa de pelcula poniendo la bandera q_scale_type.
Los coeficientes Intra DC son cuantizados de una manera diferente al resto de
los otros coeficientes. El nmero de bits de precisin (de 8 a 11) es puesto para
el campo intra_de_precision en la capa de pelcula.

Escalabilidad.
La escalabilidad ofrece un conjunto de herramientas por las cuales el video
puede ser codificado en diferentes resoluciones (diferentes escalas) en un solo
flujo de bits total. Por el lado del decodificador, el video puede ser decodificado
en una conveniente resolucin extrayendo una porcin del flujo de bits total. A
continuacin se presentan los diferentes tipos de escalabilidad:

Calidad (SNR).- La escalabilidad SNR permite mejorar la calidad del
video por medio de un enhancement layer bitstream.
Espacial.- La escalabilidad espacial permite incrementar el tamao de la
pelcula.
Temporal. - La escalabilidad temporal permite una mejora en la
proporcin de la pelcula.
Frecuencia (particionamiento de datos).- Esta proporciona una mejora en
trminos de bandas de los coeficientes DCT.

You might also like