You are on page 1of 21

Universidad de Mendoza Dr. Ing.

Jesus Ruben Azor Montoya



Catedra Analisis de Seales 1
Definiciones de Imagen Digital
Una imagen digital a|m,n| descrita en espacio discreto 2D se deriva de una imagen
analogica a(x,v) en un espacio continuo 2D a traves de un proceso de muestreo que es
Irecuentemente reIerenciado como digitalizacin.
El eIecto de la digitalizacion se muestra en la Figura 1.

Figura 1: Digitalizacion de una imagen continua. El pixel en las cooerdenadas |m10,
n3| tiene el valor de brillo entero 110.

La imagen continua a(x,v) se divide en N Iilas y M columnas. La interseccion de una
Iila y una columna se llama pxel. El valor asignado a las coordenadas enteras |m,n| con
m0,1,2,...,M-1} y n0,1,2,...,N-1} es a|m,n|. De hecho, en muchos casos a(x,v) que
puede ser considerado como una seal Iisica que actua sobre la cara de un sensor 2D
es practicamente una Iuncion de muchas variables incluyendo proIundidad (z), color ()
y tiempo (t).
A menos que se establezca de otro modo, se considerara el caso de imagenes estaticas
2D monocromaticas.
La imagen mostrada en la Figura 1 ha sido dividida en N 16 Iilas y M 16 columnas.
El valor asignado a cada pixel es el brillo promedio en el pixel redondeado al valor
entero mas proximo. El proceso de representar la amplitud de la seal 2D en una
coordenada dada como un valor entero con L diIerentes niveles de grises es usualmente
reIerido como cuantizacion de amplitud o simplemente cuantizacin.
Valores comunes
Hay valores standard para los variados parametros encontrados en procesamiento digital
de imagenes. Estos valores pueden ser causados por estandares de video, por
requerimientos algoritmicos o por el deseo de mantener simple la circuiteria digital. La
tabla 1 da algunos valores comunmente encontrados.

Parametro Simbolo Jalores tipicos
Filas N 256,512,525,625,1024,1035
Columnas M 256,512,768,1024,1320
Niveles de grises L 2,64,256,1024,4096,16384
Table 1: Valores comunes de parametros de imagen digital

Universidad de Mendoza Dr. Ing. Jesus Ruben Azor Montoya

Catedra Analisis de Seales 2
Muy Irecuentemente se ven los casos de MN2
K
donde K 8,9,10}. Esto puede ser
motivado por circuiteria digital o por el uso de ciertos algoritmos tales como la FFT.
El numero de distintos niveles de grises es usualmente una potencia de 2, esto es, L2
B

donde B es el numero de bits en la representacion binaria de los niveles de brillo.
Cuando B~1 se reIiere a una imagen nivel-gris; cuando B1 se dice de una imagen
binaria.
En una imagen binaria hay solo dos niveles de gris que pueden estar reIeridos a, por
ejemplo, 'negro y 'blanco o '0 y '1.

Caractersticas de las Operaciones de Imagen
Hay una variedad de Iormas de clasiIicar y caracterizar las operaciones de imagen. La
razon para hacerlo asi es comprender que tipo de resultados se pueden esperar alcanzar
con un tipo dado de operacion o como puede ser el peso computacional asociado con
una operacion dada.

Tipos de operaciones
Los tipos de operaciones que pueden ser aplicados a imagenes digitales para transIormar
una imagen de entrada a|m,n| en una imagen de salida b|m,n| (u otra representacion) se
puede clasiIicar en tres categorias como se mustra en la tabal 2.

Operacin Caracterizacin
Complejidad Genrica
/Pixel
* Punto
- El valor de salida en una coordenada
especiIica depende solo del valor de
entrada en la misma coordenada.
Constante
* Local
- El valor de salida en una coordenada
especiIica depende de los valores de
entrada en el vecindario de esa misma
coordenada.
P
2

* Global
- El valor de salida en una coordenada
especiIica depende de todos los valores en
la imagen entera.
N
2

Tabla 2: Tipos de operaciones de imagen. Tamao de imagen N x N; Tamao de
vecinos P x P. Note que la complejidad esta especiIicada en operaciones por pixel.

Esto se muestra graIicamente en la Figura 2.

Universidad de Mendoza Dr. Ing. Jesus Ruben Azor Montoya

Catedra Analisis de Seales 3

Figura 2: Ilustracion de varios tipos de operaciones de imagen.
Tipos de vecindarios
Las operaciones de vecindario (neighborhood) juegan un rol clave en el procesamiento
digital de seal moderno. Es por lo tanto importante comprender como las imagenes
pueden ser muestreadas y como es posible relacionarlas a los varios vecindarios que
pueden ser usados para procesar una imagen.

Muestreado Rectangular En muchos casos, las imagenes son muestreadas ubicando
una grilla rectangular sobre una imagen como se ilustro en la Figura 1. Esto resulta en el
tipo de muestreo mostrado en la Figura 3 a y b.


Figura 3a Figura 3b Figure 3c
a) y b) Muestreo Rectangular. C) Muestreo rectangular hexagonal 4-conectado 8-
conectado 6- conectado

Muestreado Hexagonal Un esquema alternativo de muestreo se muestra en la Figura
3c y se llama muestro hexagonal.
Ambos esquemas de muestreo han sido estudiados extensamente y representan un
posible embaldosado periodico del espacio de imagenes continuas.
Se restringira la atencion, sin embargo, solo a muestreo rectangular en lo que sigue,
debido a consideraciones de soIt y hard.
Las operaciones locales producen un valor de pixel de salida b|mm
o
,nn
o
| basado en
los valores de pixel en la vecindad de a|mm
o
,nn
o
|.
Algunos de los mas comunes vecindarios son los vecinos 4-conectados y los 8-
conectados en el caso de muestreo rectangular y los 6-conectados en el caso de
muestreo hexagonal ilustrado en la Figura 3.

Herramientas

Ciertas herramientas son centrales para el procesamiento de imagenes digitales. Estas
incluyen herramientas matematicas tales como la convolution, Analisis de Fourier, y
Universidad de Mendoza Dr. Ing. Jesus Ruben Azor Montoya

Catedra Analisis de Seales 4
descripciones estadisticas, y herramientas minipulativas tales como codigos de cadena
y codigos de corrida.
Se presentaran estas herramientas sin cualquier motivacion especiIica. La motivacion se
encontrara en secciones posteriores.

Convolucin
Hay varias notaciones posibles para indicar la convolucion de dos seales (multi-
dimensionales) para producir una seal de salida. Las mas comunes son:


There are several possible notations to indicate the convolution oI two (multi-
dimensional) signals to produce an output signal. The most common are:

Se usara la primera Iorma, , con las siguientes deIiniciones Iormales.
En el espacio continuo 2D:

En el espacio discreto 2D:


Propiedades de la Convolucin
Hay un numero importante de propiedades asociadas con la convolucion.

* La Convolucion es conmutativa.



* La Convolucion es asociativa.



* La Convolucion es distributiva.



donde a, b, c, y d son todas imagenes, o bien continuas o bien discretas.
Transformadas de Fourier (FT)
La FT produce otra representacion de una seal, especiIicamente una representacion
como una suma ponderada de exponenciales complejas. Debido a la Formula de Euler:

Universidad de Mendoza Dr. Ing. Jesus Ruben Azor Montoya

Catedra Analisis de Seales 5
donde , se puede decir que la FT produce una representacion de una seal (2D)
como una suma ponderada de senos y cosenos. Las Iormulas que deIinen la FT directa y
la inversa son como sigue. Dada una imagen a y su FT A, luego la transIormada directa
va desde el dominio espacial (o bien continuo o bien discreto) al dominio de Irecuencia
el cual es siempre continuo.

Directa -

La FT inversa vuelve desde el dominio de Irecuencia al dominio espacial.
Inversa -

La FT es una operacion unica e invertible, de modo que:


Las Iormulas especiIicas para transIormar hacia atras y adelante entre el dominio del
espacio y el de Irecuencia se dan debajo
En el espacio 2D continuo:
Adelante -
Inversa -


En el espacio 2D discreto:

Adelante -
Inversa -


Propidades de las FTs
Hay una gran variedad de propiedades asociadas con la FT y la IFT. Las siguientes son
algunas de las mas relevantes para procesamiento digita de imagen.

La FT es, en general, una Iuncion compleja de las variables de Irecuencia reales.
Como tal la transIormada puede ser escrita en terminos de su magnitud y Iase.



Universidad de Mendoza Dr. Ing. Jesus Ruben Azor Montoya

Catedra Analisis de Seales 6
Una seal 2D puede tambien ser compleja y asi escrita en terminos de su
magnitud y Iase.



Si una seal 2D es real, luego la FT tiene ciertas simetrias.



El simbolo (*) indica complejo conjugado. Para seales reales las ecuaciones quedan:



Si una seal 2D es real y par, luego la FT es real y par.



La FT y la IFT son operaciones lineales.



donde a y b son seales 2D (imagenes) y w
1
y w
2
con constantes complejas arbitrarias.

La FT en el espacio discreto A(,), es periodica tanto en como en .
Ambos periodos son 2



La energia, E, en una seal puede ser medida o bien en el dominio espacial o en
el de Irecuencia. Para una seal con energia Iinita:

Teorema de Parsevals (espacio continuo 2D):


Teorema de Parsevals (espacio discreto 2D):



Esta 'energia de seal no debe ser conIundida con la energia Iisica en el Ienomeno que
produjo la seal. Si, por ejemplo, el valor a|m,n| representa una cuenta de Ioton, luego
la energia fisica es proporcional a la amplitud a, y no al cuadrado de la amplitud. Este es
generalmente el caso en imagen de video.
Universidad de Mendoza Dr. Ing. Jesus Ruben Azor Montoya

Catedra Analisis de Seales 7

Dadas tres seales multi-dimensionales a, b, y c u sus FTs A, B, y C:


En palabras, la convolucion de la seal en el dominio espacial es equivalente a la
multiplicacion en el dominio de Fourier (Irecuencia) i viceversa.
Este es un resultado central que provee no solo una metodologia para la implementacion
de la convolucion sino tambien la comprension sobre como dos seales interactuan una
con otra bajo convolucion para producir una tercera seal. Se hara uso extensivo de
este resultado posteriormente.


Si una seal bi-dimensional a(x,v) esta escalada en sus coordenadas espaciales
entonces:


Si una seal bi-dimensional a(x,v) tiene un espectro de Fourier A(u,v) entonces:



Si una seal bi-dimensional a(x,v) tiene un espectro de Fourier A(u,v) entonces:


TransIormada de Fourier - Caso bidimensional

En el caso de Iunciones de dos variables el par de transIormadas Fourier discretas
vendran dadas por las siguientes expresiones,

F
u v ,
1
N M
0
M 1
x 0
N 1
y
I
x y ,
exp 1j 2 u
x
M
v
y
N
+
|

\
|
|
.

(
(

=
:=

Universidad de Mendoza Dr. Ing. Jesus Ruben Azor Montoya

Catedra Analisis de Seales 8

para u0,...M-1 y v0,... N-1 y,

I
x y ,
0
M 1
u 0
N 1
v
F
u v ,
exp 1j 2 u
x
M
v
y
N
+
|

\
|
|
.

(
(

=
:=


para x0,...M-1 e y0,... N-1.
En las expresiones anteriores se ha considerado que se usa un muestreo con distinto
paso en la direccion de x, x, y en la direccion de y, y,. Asimismo, el numero de
muestras tomadas segun la direccion de x es M, y el numero siguiendo la direccion de y
es N. Iguales comentarios se pueden aplicar a la Iuncion F
u,v
.
Importancia de la fase y magnitud
La ecuacion indica que la FT de una imagen puede ser compleja. Esto se ilustra debajo
en las Figuras 4a-c.
La Figura 4a muestra la imagen original a|m,n|, la Figura 4b la magnitud en una Iorma
escalada como log(,A,,), y la Figura 4c la Iase ,.


Figure 4a Figure 4b Figure 4c
Original log(,A(,),) ,

Tanto las Iunciones Iase como magnitud son necesarias para la reconstruccion completa
de una imagen desde su transIormada de Fourier. La Figura 5a muestra que sucede
cuando la Figura 4a es restaurada solamente sobre la base de la inIormacion de
magnitud y la Figura 5b muestra cuando Figure 4a es restaurada solamente sobre la base
de inIormacion de Iase.


Figure 5a Figure 5b
, 0 A(,)constante

Ni la inIormacion de magnitud ni la de Iase es suIiciente para restaurar la imagen. La
imagen de solo magnitud (Figura 5a) es irreconocible y tiene severos problemas de
Universidad de Mendoza Dr. Ing. Jesus Ruben Azor Montoya

Catedra Analisis de Seales 9
rango dinamico. La imagen de solo Iase (Figura 5b) es escasamente reconocible, esto es
severamente degradada en calidad.
Seales circularmente simtricas
Una seal arbitraria a(x,v) siempre puede ser escrita en un sistema de coordenadas
polares como a(r, ). Cuando la seal 2D exhibe una simetria circular esto signiIica
que:



donde r
2
x
2
v
2
y tan() v/x. Una gran cantidad de sistemas Iisicos tales como las
lentes exhiben simetria circular, es util ser capaz de calcular una representacion
apropiada por Fourier.
La FT A(u, v) puede ser escrita en coordenadas polares y luego, para una seal
circularmente simetrica, rescribirla como una transformada Hankel.



donde

y J
o
(*) es una Iuncion de Bessel de primera clase
de orden cero.
La transformada Hankel inversa esta dada por:


La FT de una seal 2D circularmente simetrica es una Iuncion solo de la Irecuencia
radial,

. La dependencia sobre la Irecuencia angular, , se desvanece. Ademas, si


a(x,v) a(r) es real, entonces es automaticamente par debido a la simetria circular. De
acuerdo a la ecuacion, A(

) sera real y par.



Ejemplos de seales 2D y transformadas
La Tabla 4 muestra algunas de las seales utiles y sus transIormadas de Fourier. Al usar
los elementos de la tabla en el resto de este capitulo se hara reIerencia a un termino de
dominio espacial como la funcion de punto extendido ( PSF) o la respuesta impulsiva
2D y su FT como la funcion de transferencia optica (OTF) o simplemente funcion de
transferencia.
Se usan dos seales estandares en esta Tabla, ellas son u(*), la Iuncion escalon unitario,
y J
1
(*), la Iuncion de Bessel de primera clase. Las seales simetricas circularmente son
tratadas como Iunciones de r como en la ecuacion.
Estadisticas
En procesamiento de imagen es muy comun usar descripciones estadisticas simples de
imagenes y sub-imagenes. La nocion de un estadistico esta intimamente conectado al
Universidad de Mendoza Dr. Ing. Jesus Ruben Azor Montoya

Catedra Analisis de Seales 10
concepto de una distribucion de probabilidad, generalmente la distribuciones de
amplitudes de la seal.
Para una region dada la cual podria ser concebida como una imagen entera se puede
deIinir la Iuncion distribucion de probabilidad del brillo en esa region y la Iuncion
densidad de probabilidad del brillo en esa region.
Se supondra en la discusion que sigue que se esta trabajando con una imagen
digitalizada a|m,n|.
Funcin distribucin de probabilidad del brillo
La Iuncion distribucion de probabilidad, P(a), es la probabilidad que un brillo elegido
desde la region sea menor o igual a un valor de brillo dado a. A medida que a crece
desde inI a inI, P(a) crece de 0 a 1. P(a) es monotonica, no decreciente en a y asi
dP/da ~ 0.

Funcin densidad de probabilidad del brillo
La probabilidad que un brillo en una region caiga entre aa, dada la Iuncion
distribucion de probabilidad P(a), puede ser expresada como P(a) a donde p(a) es la
Iuncion densidad de probabilidad.


T.1 Rectangle



T.2 Pvramid



T.3 Pill Box



T.4 Cone



T.6 Gaussian



T.7 Peak



Tabla 4: Imagenes 2D y sus TransIormadas de Fourier

Debido al caracter monotonico y no decreciente de P(a) se tiene que:

Universidad de Mendoza Dr. Ing. Jesus Ruben Azor Montoya

Catedra Analisis de Seales 11
Para una imagen con amplitudes de brillo cuantizadas (enteros), la interpretacion de a
es el ancho de un intervalo de brillo. Se supone intervalos de ancho constante. La
Iuncion densidad de probabilidad de brillo es estimada Irecuentemente contando el
numero de veces que cada brillo ocurre en la region para generar un histograma, h|a|.
El histograma puede ser normalizado de modo que el area total bajo el mismo sea 1.
Dicho de otra Iorma, la p|a| para una region es la cuenta normalizada del numero de
pixeles , en una region que tiene brillo cuantizado a:


La Iuncion distribucion de probabilidad de brillo para la imagen mostrada en la Figura
4a se muestra en la Figura 6a. El histograma de brillo (desnormalizado) de la Figura 4a
que es proporcional a la Iuncion densidad de probabilidad de brillo se muestra en la
Figura 6b. La altura de este histograma corresponde al numero de pixeles con un brillo
dado.



(a) (b)
Figura 6: (a) Funcion distribucion de brillo de la Figura 4a con minimo, mediana, y
maximo indicados. (b) Histograma de brillo de la Figura 4a.

Tanto la Iuncion distribucion como el histograma como medidas de una region son una
descripcion estadistica de esa region. Se debe enIatizar que tanto P|a| como p|a|
deberen ser vistos como estimados de las distribuciones verdaderas cuando se calculan
desde una region especiIica.
Esto es, se ve una imagen y una region especiIica como una realizacion de varios
procesos aleatorios involucrados en le Iormacion de esa imagen y de esa region.
En el mismo contexto, los estadisticos deIinidos debajo deben ser vistos como
estimados de los parametros subyacentes.
Promedio
El brillo promedio de una region se deIine como la media muestral de los brillos de los
pixeles dentro de esa region. El promedio, m
a
, de los brillos sobre los pixeles dentro
de una region ( ) esta dado por:


Universidad de Mendoza Dr. Ing. Jesus Ruben Azor Montoya

Catedra Analisis de Seales 12

Alternativamente, se puede usar una Iormula basada en el histograma de brillo
(desnormalizado), h(a) *p(a), con valores de brillo discreto a. Esto da:

El brillo promedio, m
a
, es un estimado del brillo medio,
a
, de la distribucion de
probabilidad de brillo subyacente.
Desviacin Standard
El estimador insesgado de la desviacion standard, s
a
, del brillo dentro de una region ( )
con pixeles se llama la desviacion standard muestral y esta dada por:

Usando la Iormula del histograma da:

La desviacion standard, s
a
, es un estimado de
a
de la distribucion de probabilidad de
brillo subyacente.
Coeficiente-de-variacin
El coeIiciente-de variacion adimensional, CJ, esta deIinido por:

Percentiles
El percentil, p, de una distribucion de brillo no cuanti:ada esta deIinido como ese
valor del brillo a tal que:
P(a) p
o equivalentemente

Tres casos especiales son usados Irecuentemente en procesamiento digital de imagenes.
* 0 el valo minimo en la region
* 50 el valor mediana en la region
* 100 el valor maximo en la region

Los tres valores pueden ser determinados desde la Figura 6a.
Moda
Universidad de Mendoza Dr. Ing. Jesus Ruben Azor Montoya

Catedra Analisis de Seales 13
La moda de la distribucion es el valor de brillo mas Irecuente. No hay garantia que una
moda exista o que sea unica.
Relacin Seal-a-Ruido
La relacion Seal-a-Ruido, SNR, puede tener varias deIiniciones. El ruido esta
caracterizado por su desviacion standard, s
n
. LA caracterizacion de la seal puede
diIerir. Si la seal se sabe que cae entre dos limites a
min
a a
max
, entonces la SNR
se deIine como:

Seal limitada -

Si la seal no esta limitada pero tiene una distribucion estadistica entonces se dan otras
dos deIiniciones:

Seal estocastica - S v N inter-dependientes



S v N independientes




donde m
a
y s
a
estan deIinidas arriba.
Varios estadisticos estan dados en la Tabla 5 para la imagen y la region muestreada en
la Figura 7.



Figura 7 Tabla 5 - La Region es el interior del circulo

Un calculo de SNR para la imagen entera no esta directamente disponible. Las
variaciones en el brillo de la imagen que lleva al valor mas grande de s (49.5) no son,
en general, debidos al ruido sino a la variacion en inIormacion local. Con la ayuda de la
region hay una Iorma de estimar el SNR. Se puede usar el s (4.0) y el rango
dinamico, a
max
- a
min
, de la imagen (241-56) para calcular un SNR global SNR (33.3
dB). La suposiciones subyacentes son que 1) la seal es aproximadamente constate en
esa region y la variacion en la region es por lo tanto debida a ruido, y, 2) que el ruido es
el mismo sobre la imagen entera con una desviacion standard dada por s
n
s .
Representaciones de Contorno
Universidad de Mendoza Dr. Ing. Jesus Ruben Azor Montoya

Catedra Analisis de Seales 14
Cuando se comparte con una region u objeto, estan disponibles varias representaciones
compactas que pueden Iacilitar la manipulacion de y las medidas sobre el objeto.
En cada caso se supone que se comienza con una representacion de imagen del objeto
como se muestra en la Figura 8a,b. Existen varias tecnicas para representar la region u
objeto para describir su contorno.
Cdigo cadena
Esta representacion esta basada en el trabajo de Freeman. Se sigue l contorno en el
sentido de las agujas del reloj y se mantiene la pista de las direcciones en que se va
desde un pixel del contorno al proximo.
Para la implementacion estandar del codigo cadena se considera un pixel del contorno
como un pixel objeto que tiene un pixel background (no-objeto) como uno o mas de sus
4-vecinos conectados. Ver las Figuras 3a y 8c.
Los codigos asociados con ocho direcciones posibles son los codigos cadena y, con x
como la posicion de pixel de contorno corriente, los codigos son generalmente deIinidos
como:


Figura 8: Region (sombreada) como se transIorma desde (a) continua a (b) Iorma
discreta y luego considerada como un contorno (c) o (d) longitudes de corrida ilustradas
en colores alternantes.
Propiedades del cdigo cadena
* Codigos pares 0,2,4,6} corresponden a direcciones verticales y horizontales; codigos
impares 1,3,5,7} corresponden a las direcciones diagonales.
* Cada codigo puede ser considerado como la direccion angular, en multiplos de 45,
que se debe mover para ir desde un pixel de contorno al proximo.
* Las coordenadas absolutas |m,n| del primer pixel de contorno (por ejemplo arriba,
extremo izquierdo) junto con el codigo cadena del contorno representan una descripcion
completa de la region discreta del contorno.
Universidad de Mendoza Dr. Ing. Jesus Ruben Azor Montoya

Catedra Analisis de Seales 15
* Cuando hay un cambio entre dos codigos cadena consecutivos, entonces el contorno
ha cambiado de direccion. Este punto se deIine como una esquina (corner).
Cdigo Crack
Un alternativa al codigo cadena para codiIicacion de contorno es no usar ni los pixeles
asociados con el objeto ni los pixeles del contorno asociados con el background sino
mas bien la linea, el 'crack, entre ellos.
Esto es ilustrado con un agrandamiento de una porcion de la Figura 8 en la Figura 9.
El codigo "crack" puede ser visto como un codigo cadena con cuatro direcciones
posibles en vez de ocho.


(a) (b)
Figura 9: (a) Objeto incluyendo la parte a ser estudiada. (b) Pixeles del contorno como
los usados en el codigo cadena estan diagonalmente sombreados. El "crack" es
mostrado con la Iina linea negra.

El codigo cadena para la seccion agrandada de la Figure 9b, desde arriba abajo, es
5,6,7,7,0}. El codigo crack es 3,2,3,3,0,3,0,0}.
Cdigos Run (corrida)
Una tercera representacion esta basada en codiIicar los pixeles consecutivos a lo largo
de una Iila un run (corrida) que pertenece a un objeto para una posicion de arranque
dada de la corrida y la posicion Iinal de la misma. Tales corridas son ilustradas en la
Figura 8d.
Hay un numero de alternativas para la deIinicion precisa de las posiciones. Que
alternativa habra de usarse depende de la aplicacion y no se discutira aqui.
Percepcin
Muchas aplicaciones de procesamiento de imagen son intentadas para producir
imagenes que habran de ser vistas por observadores humanos (como lo opuesto a
inspeccion industrial automatizada). Es por lo tanto importante comprender las
caracteristicas y limitaciones del sistema visual humano para comprender el
'receptor de las seales 2D. En el comienzo es importante darse cuenta que 1) el
sistema visual humano no esta bien comprendido, 2) ninguna medida objetiva existe
para juzgar la calidad de una imagen que corresponde a la evaluacion humana de
calidad de imagen, y, 3) El observador humano 'tipico no existe. Sin embargo,
investigaciones en sicologia perceptual han aportado algunas ideas importantes en lo
reIerente al sistema visual. Ver, por ejemplo, Stockham .
Universidad de Mendoza Dr. Ing. Jesus Ruben Azor Montoya

Catedra Analisis de Seales 16











LA TRANSFORMADA COSENO DISCRETA (DCT)

Las DCT de una lista de n numeros reales s
x
(x0,1, ., n-1), es una lista de
longitud n dada por:

S
u
2
n
C u ( )
0
n 1
x
s
x
cos 2 x 1 + ( ) u

2 n

(
(

=
:=

donde
C u ( ) iI u 0
1
2
, 1 ,
|

\
|
|
.
:=


Cada elemento de la lista transIormada S
u
es el producto interno (escalar) de la
lista s
x
y el vector base. Los Iactores constantes son elegidos de modo que los vectores
base sean ortogonales y normalizados. Los 8 vectores base para n8 se muestran en la
Iigura 1.
La DCT puede ser escrita como el producto de un vector (la lista de entrada) y la
matriz ortogonal de dimensiones n x n cuyas Iilas son los vectores base.
Esta matriz, para n8 puede ser computada como sigue (y veriIicar su
ortogonalidad):

C u ( ) iI u 0
1
2
, 1 ,
|

\
|
|
.
:=

x 0 n 1 .. := u 0 n 1 .. :=
I
x u ,
2
n
C u ( ) cos 2 x 1 + ( ) u

2 n

(
(

:=


Luego, el producto entre la lista y la matriz de bases:

s
T
I 0.776 0.373 0.185 0.012 0.325 0.993 0.56 0.625 ( ) =


y el vector transIormado:

S
T
0.776 0.373 0.185 0.012 0.325 0.993 0.56 0.625 ( ) =

Universidad de Mendoza Dr. Ing. Jesus Ruben Azor Montoya

Catedra Analisis de Seales 17

A continuacion se muestra la matriz base y veriIicacion de la ortogonalidad:

I
0.354
0.354
0.354
0.354
0.354
0.354
0.354
0.354
0.49
0.416
0.278
0.098
0.098
0.278
0.416
0.49
0.462
0.191
0.191
0.462
0.462
0.191
0.191
0.462
0.416
0.098
0.49
0.278
0.278
0.49
0.098
0.416
0.354
0.354
0.354
0.354
0.354
0.354
0.354
0.354
0.278
0.49
0.098
0.416
0.416
0.098
0.49
0.278
0.191
0.462
0.462
0.191
0.191
0.462
0.462
0.191
0.098
0.278
0.416
0.49
0.49
0.416
0.278
0.098
|

\
|
|
|
|
|
|
|
|
|
.
=


I I
T

1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
|

\
|
|
|
|
|
|
|
|
|
.
=


Representando graIicamente las Iilas de la matriz f, se obtienen las imagenes de
la Figura 1
Cada vector base corresponde a una sinusoide de una cierta Irecuencia.
La lista s
x
puede ser recuperada desde su transIormada S
u
aplicando la TransIormada
Inversa Coseno (IDCT):

s
x
2
n
0
n 1
u
C u ( ) S
u
cos 2 x 1 + ( ) u

2 n

(
(

=
:=


para x0,.,n-1

Esta ecuacion expresa a s como una combinacion lineal de vectores base. Los
coeIicientes son los elementos de la transIormada, S, la cual puede ser considerada
como reIlejando la cantidad de cada Irecuencia presente en la entrada s.
La Iuncion Matlab dct() permite hallar esta transIormada unidimensional. Si se
ejecuta:

~~ dct(|2 3 4 1|)
ans
5.0000 0.3827 -2.0000 0.9239

La DCT se puede calcular a partir de la DFT (TransIormada Discreta de
Fourier): primero se crea una nueva lista extrayendo los elementos pares, seguida por
Universidad de Mendoza Dr. Ing. Jesus Ruben Azor Montoya

Catedra Analisis de Seales 18
los elementos impares invertidos. Luego multiplicando la DFT de esta lista re-ordenada
por los asi llamados 'Iactores enroscados y se toma la parte real.


0 5
0.353
0.3535
0.354
I
0 ( )
( )
x
x
0 5
0.5
0.5
I
1 ( )
( )
x
x
0 5
0.5
0.5
I
2 ( )
( )
x
x
0 5
0.5
0.5
I
3 ( )
( )
x
x
0 5
0.5
0.5
I
4 ( )
( )
x
x
0 5
0.5
0.5
I
5 ( )
( )
x
x
0 5
0.5
0.5
I
6 ( )
( )
x
x
0 5
0.5
0.5
I
7 ( )
( )
x
x


Figura 1 Los ocho vectores base para la TransIormada Coseno Discreta de longitud 8.

LA TRANSFORMADA COSENO BI-DIMENSIONAL

La DCT unidimensional es util en procesamiento de seales de una dimension
tales como Iormas de onda de voz. Para analisis bidimensional de seales (2D) tales
como las imagenes, se necesita una version 2D de la DCT. Para una matriz s de
dimensiones n x m, la DCT 2D se calcula de una Iorma simple: la DCT 1D se aplica a
cada Iila de s y luego a cada columna del resultado. Asi la transIormada de s esta dada
por:

S
u v ,
2
n m
C u ( ) C v ( )
0
m 1
y 0
n 1
x
s
x y ,
cos
2 x 1 + ( ) u
2 n

(
(

cos
2 y 1 + ( ) v
2 m

(
(

=
:=

con u0,.,n y v0,.,m

donde C( (( (u) = ) = ) = ) = 2
-1/2
para u0 y C(u)1 para otro caso

Ya que la DCT 2D puede ser calculada aplicando las transIormadas 1D
separadamente a las Iilas y columnas, se dice que la DCT 2D es separable en las dos
dimensiones
Como en el caso unidimensional, cada elemento S
u,v
de la transIormada es el
producto interno de la entrada y una Iuncion base, pero en este caso, las Iunciones base
Universidad de Mendoza Dr. Ing. Jesus Ruben Azor Montoya

Catedra Analisis de Seales 19
son matrices n x m. Cada matriz base bidimensional es el producto externo de los dos
vectores base unidimensionales.
Cada matriz base puede ser pensada como una imagen. Las 64 imagenes base en
el arreglo se muestran en la Iigura 2.



Figura 2 El arreglo 8 x 8 de imagenes base para la Transformada Coseno Discreta
bidimensional. Cada matri: base esta caracteri:ada por una frecuencia espacial
hori:ontal v vertical. Las matrices mostradas aqui estan organi:adas de i:quierda a
derecha v del fondo a arriba en el orden de frecuencias crecientes.

Para ilustrar la transIormada 2D, se aplicara a una imagen 8 x 8 de la letra A:



Como en el caso 1D, es posible expresar la DCT 2D como un arreglo de
productos internos (una contraccion de tensor).

Lee matriz desde archivo:


s READPRN "c:\winmcad\coseno1.txt"
( )
:= i 0 rows s ( ) 1 .. := j 0 cols s ( ) 1 .. :=

s
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
0
1
1
1
0
1
0
0
1
0
0
0
0
1
0
0
0
1
1
1
0
1
0
0
0
0
0
0
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
|

\
|
|
|
|
|
|
|
|
|
.
:=


ajusta a blancos y negros:
Universidad de Mendoza Dr. Ing. Jesus Ruben Azor Montoya

Catedra Analisis de Seales 20

s
i j ,
iI s
i j ,
0 0 , 255 , ( ) := WRITEBMP "c:\winmcad\a.bmp"
( )
s :=

n rows s ( ) := m cols s ( ) := u 0 n 1 .. := v 0 m 1 .. :=


halla la DCT:
S
u v ,
2
n m
C u ( ) C v ( )
0
m 1
y 0
n 1
x
s
x y ,
cos
2 x 1 + ( ) u
2 n

(
(

cos
2 y 1 + ( ) v
2 m

(
(

=
:=

escribe el resultado a archivo:

WRITEBMP "c:\winmcad\a1.bmp"
( )
S :=


Para determinar la TransIormada Discreta Coseno Inversa (IDCT) se utiliza la siguiente
expresion:

x 0 rows S ( ) 1 .. := y 0 cols S ( ) 1 .. :=

S
u v ,
2
n m
C u ( ) C v ( )
0
m 1
x 0
n 1
y
s
x y ,
cos
2 x 1 + ( ) u
2 n

(
(

cos
2 y 1 + ( ) v
2 m

(
(

=
:=


Los pixeles en la imagen DCT describen la proporcion en que cada Iuncion base
bidimensional esta presente en la imagen de entrada. Los pixeles estan ordenados como
arriba, con Irecuencia horizontal y vertical creciendo desde izquierda a derecha y desde
el Iondo hacia el tope. El pixel mas brillante en la esquina inIerior izquierda es conocido
como el termino DC, con Irecuencia 0,0}. Es el promedio de los pixeles en la entrada,
y es tipicamente el coeIiciente mas grande en la DCT de imagenes 'naturales.

Ejemplo: Dada la imagen c:\winmcad\rebe.bmp se transIorma en una matriz con:

d READBMP "c:\winmcad\rebe.bmp"
( )
:=

WRITEPRN "c:\winmcad\rebe.prn"
( )
d :=


para que pueda ser leida por el programa Matlab:

function coseno(x,y)
% Esta funcion permite anular x columnas e y filas de la Transformada
% Discreta Coseno de la imagen y luego antitransformar
load c:\winmcad\rebe.prn % Lee archivo ASCII
coseno1=rebe;
dime=size(coseno1);m=dime(1);n=dime(2); % Halla las dimensiones de la
matriz
A=dct2(coseno1); % Halla la DCT
% Anula y filas y x columnas
if x~= 0,
if y~= 0,
for i=m-x:m,
for j=n-x:n,
A(i,j)=0;
end
end
end
end
B=idct2(A); % Antitransforma
Universidad de Mendoza Dr. Ing. Jesus Ruben Azor Montoya

Catedra Analisis de Seales 21
save c:\winmcad\a1.txt B -ascii; % Salva resultado como matriz ASCII
Imagenes con:

coseno(0,0) coseno(100,100) coseno(200,200)

You might also like