Transformadas

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 13

UNIVERSIDAD DE LAS FUERZAS

ARMADAS ESPE

CARRERA DE ELECTRONICA Y
AUTOMATIZACION

PROSESAMIENTO DIGITAL DE SENSORES


NRC: 5739

Nombre: Kevin Yupangui

DOCENTE: ING. Fabián Alvares

SEMESTRE: Cuarto

Mayo21 – Agosto

Compresió n de Imá genes usando la Transformada de


Hadamard
1 Introducción
La compresión de imágenes aborda el problema de reducir la cantidad de datos
requeridos para almacenar una imagen. Cualquier proceso de compresio´n se basa en la
eliminación de datos redundantes [8, 6, 1]. Desde un punto de vista estad´ıstico, el
proceso consiste en transformar las ima´genes en un conjunto de datos no
correlacionados.

Operacionalmente, antes de procederse a la transmisio´n o almacenamiento de las


ima´genes, estas deben someterse a un proceso de compresio´n. El proceso inverso de
descompresión tendra´ que aplicarse sobre los datos para obtener la reconstruccio´n de la
imagen original, o bien una buena aproximacio´n de

´esta.

Las t´ecnicas de compresio´n pueden dividirse en dos categor´ıas: “error-free” o


preservadoras de la informacio´n y “lossy” o no preservadoras de toda la informacio´n[8,
6, 1]. Las primeras se utilizan en la compresio´n de cualquier tipo de informacio´n
expresada de forma binaria, mientras que la segunda tiene mayor utilidad en la compresio
´n de datos muestreados tales como sonidos, ima´genes, etc.. Esto se debe,
fundamentalmente, a que parte de la informacio´n contenida en una imagen puede ser
eliminada sin una perdida apreciable de la calidad de dicha imagen. Por tanto, la
compresio´n de ima´genes es un preproceso adecuado previo a la transmisio´n de
sen˜ales de TV, videoconferencia, fax, etc..

El t´ermino de compresio´n se refiere al proceso de reducir la cantidad de datos


necesarios para representar una determinada informacio´n. En este sentido hay una clara
distincio´n entre “dato” e “informacio´n”[8]. De hecho, bloques diferentes de datos
pueden representar la misma informacio´n. En la caracterizacio´n del proceso de
compresio´n se define la redundancia relativa de un conjunto de datos S1 respecto de
otro conjunto S2, representados por n1 y n2 unidades de informacio´n respectivamente,
como:

Rd = 1 − 1/Cn

donde Cn es la razo´n de compresio´n:

Cn = n1/n2

Valores habituales para la razo´n de compresio´n suelen estar alrededor de 10 (10:1),


lo que supone una redundancia relativa de 0.9 (90%).

En el caso de compresio´n de ima´genes, aparecen descritos en la bibliograf´ıa tres


tipos diferentes de redundancia[8], que pueden ser abordados de diferentes formas:
redundancia en la codificacio´n, redundancia interpixel, y redundancia psico-visual. Para
situar los algoritmos de compresio´n basados en m´etodos transformados, veremos ra
´pidamente en que consisten estas redundancias y como pueden ser eliminadas.

1. Redundancia en la codificacio´n: Una imagen presenta este tipo de redundancia


si y so´lo si, su histograma de colores no es plano. Desde un punto de vista estad
´ıstico, este tipo de redundancia puede expresarse por el primer estimador de la
entrop´ıa de la imagen. Es estos casos, es interesante asignar al color ma´s frecuente
el co´digo de m´ınima longitud, mientras que al color menos frecuente se le asignara
el co´digo con un nu´mero de bits mayor. Este tipo de compresio´n se llama
codificacio´n de longitud variable (variable-length coding). Un m´etodo general para
encontrar este co´digo es el propuesto por Huffman en 1952, denominado Co´digo
de Huffman[8].
2. Redundancia interpixel: Esta forma de redundancia esta´ asociada a los excesos
de datos introducidos por la forma en la que los pixeles de una imagen esta´n
relacionados entre si. En general, la probabilidad de aparicio´n de uno o ma´s pixeles
conociendo el o los que ya han aparecido no es siempre constante. Siempre existe
algu´n tipo de correlacio´n estad´ıstica que puede ser calculada por los estimadores
superiores de la entrop´ıa. La redundancia interpixel engloba a otras muchas, entre
las que podemos destacar la redundancia espacial[8, 6] y la redundancia temporal.
Existe una amplia variedad de algoritmos que intentan eliminar la redundancia
interpixel. Entre ellos podr´ıamos destacar:
(a) Codificacio´n run-length que codifica las cadenas constantes de pixeles[8].
(b) Codificacio´n de areas´ constantes (CAC) que identifica area´ a un nivel
constante en bitmaps[8].
(c) Codificacio´n de trazado de contornos que analiza ima´genes bitmap por las
fronteras que definen las agrupaciones de pixels[8].
(d) Codificacio´n predictiva sin error (lossless predictive coding) que codifica
informacio´n relacionada con el error cometido en cada prediccio´n[8].
(e) El algoritmo LZW (Lempel-Ziv Welch) que detecta las repeticiones de los pixeles
y patrones ma´s frecuentes[11].
En general, todos los algoritmos que eliminan la redundancia interpixel se conocen
como algoritmos no destructivos. Todos ellos recuperan los datos originales despu
´es del proceso de descompresio´n. Esto es deseable si se pretende reducir la
cantidad de datos cuando no es posible una reduccio´n en la cantidad de informacio
´n.

3. La redundancia psico-visual: Este tipo de redundancia esta´ relacionado con la


sensibilidad del ojo a la informacio´n visual. Existe cierta informacio´n que puede ser
eliminada sin que se produzca un deterioro significativo de la calidad de la imagen.
La percepcio´n humana de la informacio´n en una imagen no realiza un ana´lisis
cuantitativo de cada pixel o del valor de la luminancia en la imagen. En general, un
observador intenta fijarse en caracter´ısticas tales como las fronteras, aristas o
texturas de las regiones, y las combina mentalmente para realizar asociaciones con
otros grupos de patrones conocidos. El cerebro correlaciona esta informacio´n con
el conocimiento anterior y as´ı realiza la interpretacio´n de la imagen[8].
La redundancia psico-visual esta´ asociada con la informacio´n cuantificable o real.
Su eliminacio´n es posible so´lo debido a que esta no es esencial en el
procesamiento visual. Representa una p´erdida cuantitativa irreversible de la
informacio´n, por lo que comu´nmente se llama cuantificacio´n. Esta terminolog´ıa
es consistente con el uso que normalmente se hace de la palabra cuantificacio´n,
que generalmente significa la proyeccio´n de un amplio rango de valores de entrada
sobre un nu´mero limitado de valores de salida[6].
Una forma de eliminar la redundancia psico-visual consiste en reducir el nu´mero de
colores de los que disfruta una imagen. Si estamos trabajando con ima´genes en 256
niveles de gris, eliminaremos, por ejemplo, los 4 bits menos significativos de cada
byte con lo que generamos una compresio´n 2:1. Debido a esta cuantificacio´n
pueden aparecer contornos perceptibles por el ojo humano. Una forma de eliminar
este efecto es introducir un bajo nivel de ruido aditivo a cada pixel de la imagen de
forma que se aleatoricen las fronteras de estos contornos. Esta ultima´ forma de
cuantificar recibe el nombre de cuantificacio´n IGS (Improved Gray-Scale)[8].
Otra forma ma´s sutil de eliminar este tipo de redundancia la llevan a cabo los
algoritmos de codificacio´n predictiva con perdida de informacio´n (lossy predictive
coding)[8]. La diferencia que existe con respecto a la codificacio´n predictiva sin p
´erdida de informacio´n es que el codificador cuantifica su salida. Este elemento es
el responsable de la p´erdida de informacio´n.
Por ultimo,´ otro gran grupo de algoritmos para la compresio´n de ima´genes, que
eliminan la redundancia psico-visual, esta´ formado por codificadores basados en
transformadas[5, 8]. Se emplea una

IMAGEN DE DIVISION MxM MxM COMPRESION IMAGEN


ENTRADA MxM TRANSFORMADAS FILTRADOS Y LIBRE DE COMPRIMIDA
NxN SUBIMAGENES DIRECTAS CUANTIFICACIONES ERROR KxK

IMAGEN DESCOMPRESOR MXM PROYECCION DE LA IMAGEN


COMPRIMIDA LIBRE DE TRANSFORMADAS LOSETA EN LA DESCOMPRIMIDA
KxK ERROR INVERSAS IMAGEN DE NxN NxN

Figura 1: Fases de la compresio´n/expansi´on de la imagen.

transformada lineal y reversible (por ejemplo la transformada de Fourier) para


proyectar la imagen sobre un conjunto de coeficientes transformados, cuyo orden
ya no tiene relacio´n con el dominio espacial al que pertenece la imagen original. La
compresio´n se lleva a cabo cuando los datos en el dominio transformado son
filtrados y cuantificados. Posteriormente se codifican mediante otro algoritmo de
compresio´n libre de error. Para algunos de los coeficientes espectrales, la
cuantificacio´n es tan drama´tica, que sencillamente se hacen cero. Un simple filtro
paso banda bidimensional es suficiente para realizar la compresio´n frecuencial, con
un deterioro m´ınimo de la imagen.

En general, los procesos de compresio´n y descompresio´n se descompone en las


operaciones descritas en la figura 1. Una imagen se descompone en un conjunto de MxM
subimagenes de dimensio´n PxP, siendo P=N/M. Cada una de estas subimagenes (losetas)
pasa a describirse en un dominio transformado del espacio de frecuencias por medio de
una transformada. En el dominio frecuencial la informacio´n se somete a un filtrado pasa
banda, que es el adecuado para la eliminacio´n de la redundancia psico-visual. La etapa de
cuantificacio´n terminara´ el proceso de compresio´n de la imagen. El proceso inverso de
descompresio´n esta compuesto por las mismas etapas que el de compresio´n excepto la
etapa de filtrado que, evidentemente, es innecesario.

Sistemas de compresio´n-descompresi´on[7, 2] basadosen las transformadasde


Karhunen-Love(KLT)[8], Discreta de Fourier (DFT)[8, 12], Discreta Coseno (DCT)[7, 2, 3,
12], Walsh-Hadamard (WHT) y otras han sido construidos. La eleccio´n de una de ellas
dependera´ del ma´ximo error permisible en el proceso de compresio´n y del gasto
computacional que supone. Aunque el proceso de p´erdida de informacio´n (y de
compresio´n) se realiza en la etapa de cuantificacio´n, el nivel de correlacio´n alcanzado es
diferente para cada una de ellas. Por este orden: KLT, DCT, WHT y DFT, las 4
transformadas tienen la propiedad de aglomerar la ma´xima cantidad de informacio´n en
la m´ınima cantidad de coeficientes. KLT es la optima,´ pero presenta el problema de ser
una transformacio´n dependiente de los datos de entrada, lo que constituye una tarea
computacional no demasiado trivial. DFT padece del feno´meno de Gibbs cuando se
produce la cuantificacio´n de los coeficientes de Fourier, y esto provoca aparicio´n de
fronteras entre las subimagenes en las que se ha dividido la imagen original[8].

Para elegir entre DCT y WHT estudiaremos una razo´n de compromiso entre la
cantidad de error introducida en la compresio´n y la velocidad de ca´lculo. DCT se
aproxima ma´s al optimo´ KLT. Es menos ruidosa debido a su cara´cter sinusoidal (y por
eso se utiliza en el esta´ndar de compresio´n JPEG) pero requiere ca´lculos reales. En
contrapartida, WHT unicamente´ utiliza aritm´etica entera y ni siquiera presenta
productos enteros. Este es un factor a tener en cuenta si se pretende aumentar la
velocidad de compresio´n y descompresio´n y este es el motivo por el que hemos
seleccionado WHT para el desarrollo de nuestro algoritmo.

El resto del trabajo esta´ organizado de la siguiente forma. En la seccio´n 2


presentamos las ideas de los algoritmos FHT y barajamiento perfecto. En la seccio´n 3
describimos el filtrado en el espacio de Hadamard y en la 4 la medida del error. La seccio
´n 5 esta dedicada a la descripcio´n del algoritmo paralelo. Finalmente, en la seccio´n 5.1
presentamos un ejemplo de la aplicacio´n de nuestro algoritmo para varios niveles de
compresio´n y en la 5.2 analizamos el rendimiento de su implementacio´n paralela.

2 Algoritmo de la transformada r´apida de Hadamard n-


dimensional
Consideremos una sen˜al unidimensional muestreada sobre un vector x(i), i = 0,1,...N − 1
de N componentes. La transformada de Hadamard[8, 9] de x(i) se define como el vector
X(u), u = 0,1,..N − 1 donde:
N−1

X(u) = X x(i) × (−1)b(i,u) (3)

i=0 La

transformacio´n inversa mediante:

donde:

log2(N) 1

b(i,u) = X bh(i) × bh(u)


h=0

siendo bh(i) = el h-´esimo bit del valor i.


Podemos ver que las transformadas directa e inversa son id´enticas, excepto que la
inversa debe de ser ponderada dividiendo cada uno de los componentes del vector
resultado, x(i), entre el nu´mero de componentes del vector (N). Adema´s, si
precalculamos los valores:

(−1)b(i,j) i,j = 0,1,2,4

la transformada se compone solamente de sumas y restas de valores enteros. A pesar de


tener estos valores precalculados para sucesivas transformaciones, la complejidad del
algoritmo descrito es de N2. La transformada unidimensional puede calcularse
multiplicando el vector x(i) por una matriz cuadrada. Se trata, por lo tanto, de resolver el
problema de multiplicar una matriz cuadrada por un vector. La matriz caracter´ıstica de la
Transformada de Hadamard se construye recursivamente de la siguiente forma:

1. El caso N = 1, es trivial: x(0) = X(0).

2. El caso N = 2, la matriz de transformacio´n se define:

3. El caso N = 4, la matriz caracter´ıstica se construye como:

donde H0 es la expresio´n 7. Adema´s se cumple que:

H1 = (−1)b(i,j) i,j = 0,1,2,3

Como ya hemos comentado esta solucio´n presenta una complejidad computacional


de N = 2n. La idea que subyace detra´s del algoritmo de la Transformada ra´pida de
Hadamard (FHT) es la misma que aparece en la Transformada ra´pida de Fourier (FFT) y
consiste en dividir la secuencia original de N muestras en dos secuencias ma´s
pequen˜as[2, 10]. La Transformada de Hadamard de estas subsecuencias puede
combinarse para obtener la Transformada de la secuencia original. La aplicacio´n recursiva
de este procedimiento, cuando N es una potencia de 2 (N = 2n) necesita realizar N ×
log2(N) operaciones. El algoritmo que implementamos en este trabajo para la
Transformada ra´pida de Hadamard se realiza “in place” y con “radix” dos[2].

Otro aspecto que es necesario considerar es la aplicacio´n de un barajamiento


perfecto a los datos de entrada para de esa forma obtener una secuencia de salida
ordenada[2].

Por ultimo,´ teniendo en cuenta la propiedad de separabilidad de la transformada


multidimensional, podremos implementar el algoritmo multidimensional aplicando el par
de operaciones barajamiento perfecto 1D-FHT a cada una de las dimensiones del espacio.
3 El filtrado de los coeficientes: la compresio´n
Existe una gran variedad de filtros bidimensionales paso banda utilizables en la compresio
´n de ima´genes[7, 8, 6, 3], pero en general, se pueden dividir entre los que necesitan que
los coeficientes espectrales se encuentren ordenados y en los que no lo necesitan. El
buen orden al que nos referimos viene dado por el algoritmo de ordenacio´n Perfect
Shuffle[2]. Si este no se aplica, un filtrado paso baja bidimensional carece de sentido,
siendo en este caso aconsejable conservar aquellos coeficientes que tengan ma´xima
amplitud espectral. Esto puede hacerse de dos formas distintas, o bien, se eliminan los
coeficientes que no superen un umbral (que controla en nivel de compresio´n), o bien se
conservan aquellos coeficientes que presentan una varianza ma´xima. El problema del
primer m´etodo es evidente: deben de almacenarse con la imagen comprimida[8] un
array con tantos bits como coeficientes espectrales existen, donde un bit indica la
presencia o ausencia de ese coeficiente espectral. Sin embargo, en el m´etodo de la
maximacio´n de la varianza, el array tendra´ tantos bits como coeficientes existen en una
loseta.

Por otra parte, si hemos reordenado los coeficientes espectrales, t´ecnicas de filtrado
bidimensionales son aplicables, con lo que el filtro no debe de almacenarse con la imagen
comprimida[7, 8]. La energ´ıa espectral se concentra en los coeficientes asociados a las
frecuencias ma´s bajas, por lo que un filtrado como el que se presenta en la figura 2,
parece ma´s razonable. Se trata de un filtro bidimensional de 256 filas por 256 columnas.
La imagen sobre el que se aplica debe de haber sido descompuesta en losetas de 16x16
pixels. Las zonas blancas corresponden a coeficientes en el espacio de Hadamard que se
van a conservar. Como puede observarse, la mitad de los puntos son blancos y la otra
mitad negros, por lo que si aplicamos este filtro a una imagen con 256x256 pixels,
eliminaremos la mitad de los coeficientes. Se trata de un filtro paso bajo que elimina las
bajas frecuencias.

4 Cuantificacio´n del error cometido en el proceso de


compresio´n
Existen dos criterios de fidelidad o de parecido entre ima´genes: el subjetivo y el
objetivo[8]. El primero se basa en la apreciacio´n subjetiva de un observador experto que
valorara´ la calidad de la aproximacio´n entre la imagen original y la procesada. El
segundo criterio se basa en aplicar m´etodos de calculo de error o diferencia entre dos
sen˜ales.

La mayor´ıa los algoritmos conocidos para el ca´lculo de error, se basan en obtener la


diferencia punto a punto entre la imagen original y la imagen reconstruida, acumular
todas estas diferencias y finalmente aplicar alguna transformacio´n sencilla al valor
obtenido. De esta forma, obtenemos un nu´mero real que utilizamos para decir qu´e para
´metros del algoritmo de compresio´n obtienen mejores resultados, es decir, el m´ınimo
error. Definimos el error entre dos ima´genes f (original) y f0 (comprimida) de N × N pixels:

e(x,y) = f(x,y) − f0(x,y);x = 0,1,··· ,N − 1;y = 0,1,··· ,N − 1


En la evaluacio´n del error hemos utilizado el valor de la relacio´n sen˜al-ruido (Signal-
Noise Relation)[4][7], que viene dado por la siguiente expresio´n:

Figura 3: Resultados visuales de la compresio´n: imagen original (izquierda), imagen


comprimida al 12.5% (centro) e imagen comprimida al 0.7% (derecha).
SNR

100000

50%

10000

1000

25%

100

12.5%

6.25%
3.12%
1.5%
0.7%

256x256 128x128 64x64 32x32 16x16 8x8 4x4 2x2


TAMA O DE LA LOSETA 10

Figura 4: Errores de compresio´n.

5 Paralelizacio´n del algoritmo


Como hemos visto en la seccio´n 3, el filtrado paso banda en el espacio de Hadamard se
obtiene de la aplicacio´n de un filtro paso baja bidimensional sobre los coeficientes
obtenidos al aplicar la transformada a cada una de las subimagenes (losetas) que
componen la imagen completa. Bajo estas condiciones el proceso de compresio´n-
descompresi´on puede describirse algor´ıtmicamente de la siguiente forma:

/* Compresion */
DO i=1,...,M
DO j=1,...,M /* Losetas de MxM */
Perfect Shuffle (loseta[i][j]);
120000

100000

80000
TIEMPO (msegs)

60000

imagen 1024x1024
40000

20000
imagen 512x512

imagen 256x256

0
1 2 4 8 16
N” PROCESADORES

Figura 5: Tiempos de co´mputo.

FHT Directa(loseta[i][j]);
Filtrado 2D(loseta[i][j]);
Normalizacion&Cuantizacion(loseta[i][j]);
ENDDO
ENDDO

/* Descompresion */
DO i=1,...,M
DO j=1,...,M /* Losetas de MxM */
Perfect Shuffle (loseta[i][j]);
FHT Inversa(loseta[i][j]);
Desnormalizacion(loseta[i][j]);
ENDDO
ENDDO

La paralelizacio´n de los 2 lazos DO que aparecen en el algoritmo es trivial ya que no


existe ninguna dependencia de datos. Por tanto, partiendo de un sistema con Np
procesadores, el reparto de la carga consiste simplemente en el tratamiento de M2/Np
losetas en cada procesador. Por otro lado, hay que destacar que no son necesarias las
comunicaciones interprocesador, por lo que como comentaremos en el apartado de
evaluacio´n del algoritmo, se obtienen unos rendimientos optimos.´ No obstante, la
escalabilidad[4] del problema tendr´ıa una unica´ limitacio´n, que es la referente al nu
´mero ma´ximo de procesadores sobre los que el problema puede ser resuelto sin p
´erdida de eficiencia ni desbalanceo de la carga. Sin embargo, para un taman˜o del
problema pequen˜o (ima´genes de 256 × 256 pixels), todav´ıa la eficiencia continua
siendo optima´ cuando utilizamos multiprocesadores masivamente paralelos con hasta
1024 procesadores.

La complejidad del algoritmo paralelo es proporcional a la dimensio´n del problema N2


debido a las funciones Filtrado 2D y Normalizacio´n/Cuantificacio´n, es proporcional a
log2(N) debido a la funcio´n Perfect Shuffle y a 2N2 × log2(N) para la FHT, como queda
reflejado en la siguiente expresio´n:

1600

1400

1200 1 procesador

1000
TIEMPO (msegs)

800

600 2 procesadores

400

4 procesadores

200
8 procesadores

16 procesadores

0
2x2 4x4 8x8 16x16 32x32 64x64 128x128 256x256
TAMANO DE LA LOSETA

Figura 6: Tiempos de ca´lculo.

5.1 Resultados experimentales


Presentamos en esta seccio´n los resultados obtenidos por aplicacio´n del algoritmo de
compresio´n sobre la imagen representada en la imagen 3 (izquierda). Se trata de un
mapa de 256×256 pixeles, representados cada uno de ellos en 8 bits (256 niveles de
grises). La figura 3 muestra adema´s el resultado de la compresio´n-descompresi´on de la
imagen original utilizando un filtro que conserva el 12.5% y el 0.7% de los coeficientes
espectrales respectivamente. En el proceso de compresio´n hemos dividido la imagen en
16 × 16 losetas con 16 × 16 pixeles cada una. Los coeficientes se han cuantificado a 8 bits.

La informacio´n comprimida, adema´s de los coeficientes de la transformada de


Hadamard, incluye los valores ma´ximo y m´ınimo de cada loseta. Esto significa que
tenemos 16×16 parejas de valores ma´ximo, m´ınimo. Lo mismo que ocurre en el
algoritmo de compresio´n JPEG, deberemos aplicar un compresor libre de error, con lo
que obtendremos el taman˜o real de la imagen comprimida en disco.
Una valoracio´n de los errores debidos a la compresio´n utilizando como para´metro
de medida la relacio´n sen˜al-ruido, son los que se muestran en la figura 4. Esta es una
representacio´n de la SNR en funcio´n del taman˜o de las losetas. Hemos representado el
error para distintas relaciones de compresio´n. Como era de esperar, el error disminuye
con el valor de la relacio´n de compresio´n. En esta gra´fica puede observarse que para
una relacio´n de compresio´n constante, el error aumenta cuando el taman˜o de la loseta
aumenta. Esto se debe a que en la fase de normalizacio´n el rango de valores con los que
trabaja es mayor para taman˜os de loseta ma´s grandes y, por tanto, al cuantificar a 8
bits, se pierde ma´s informacio´n que cuando se trabaja con un margen ma´s estrecho de
valores. Algunos de los coeficientes espectrales no superan el umbral m´ınimo y por tanto
se hacen 0. Esto implica que realmente se esta´ aplicando una relacio´n de compresio´n
mayor que la que en principio se hab´ıa previsto. Este problema puede eliminarse
parcialmente, si trabajamos con ima´genes de valor medio 0, o bien con ima´genes cuyo
rango de valores se encuentre entre [-128, 127] que es el que hemos aplicado para
hacerlo independiente de las caracter´ısticas de la imagen.

5.2 Evaluacio´n
Como se ha comentado anteriormente, el proceso de paralelizacio´n del algoritmo no
presenta ninguna complejidad conceptual debido a las magn´ıficas caracter´ısticas del
algoritmo de compresio´n respecto a la falta de dependencia de datos. En la evaluacio´n
del algoritmo hemos trabajado con un multiprocesador Meiko Computer Surface con 16
i860 de Intel. Cada nodo es un procesador vectorial de 64 bits que alcanza los 80 MFLOPS
y dispone de 4 MBytes de memoria. La arquitectura responde al modelo MIMD con
memoria distribuida y comunicaciones por paso de mensajes. No obstante, nuestra
aplicacio´n utiliza un modelo de programacio´n SCMD puesto que todos los procesadores
ejecutan la misma tarea sobre datos diferentes[4].
16

14

12

10
SPEED-UP

0
1 2 4 8 16
N” PROCESADORES

Figura 7: Speed-Up.

En la figura 5 se han representado los tiempos de ejecucio´n en funcio´n del nu´mero


de procesadores utilizados, para varios taman˜os de loseta (desde 2 × 2 hasta 256 × 256).
Como puede observarse, para cualquier valor de Np, el tiempo de ca´lculo es m´ınimo
para un taman˜o de loseta de 8 × 8. La obtencio´n de este valor m´ınimo esta´ relacionada
con la complejidad del algoritmo, que como hemos comentado anteriormente no sigue
una relacio´n lineal, sino que aparece un t´ermino que es proporcional a log 2(N2).
De la figura 6 puede comprobarse que la eficiencia de la implementacio´n paralela es
siempre superior a

0.94[4].

En la figura 5 hemos representado el tiempo de ejecucio´n en funcio´n del nu´mero de


procesadores para 3 taman˜os de problema diferentes (N = 256, N = 512 y N = 1024). Los
tiempos fueron tomados para un taman˜o de loseta de 8 × 8. Como puede observarse el
tiempo de ejecucio´n crece proporcionalmente a N.

Por ultimo,´ en la figura 7 hemos representado el speed-up[4] para 3 taman˜os de


problema. En esta se pone de manifiesto que la eficiencia se acerca, en todos los casos, al
valor ma´ximo (1) ya que existe una relacio´n lineal entre el speed-up y el nu´mero de
procesadores Np.

Referencias
[1] A.C. Kak A. Rosenfeld. Digital Picture Processing. Academic Press, 1982.

[2] R.W. Schafer A.V. Oppenheim. Discrete-Time Signal Processing. Prentice-Hall Signal
Processing Series, 1991.

[3] L.A. Roew B.C. Smith. Algorithms for manipulating compressed images. IEEE
Computer Graphics, pages 34–42, 1993.

[4] T. Braunl. Parallel Programming. Prentice-Hall, 1993.

[5] P.M. Farrelle. Recursive Block Coding for Image Data Compresion. Springer-Verlag,
1990.

[6] A.K. Jain. Fundamentals of Digital Image Processing. Prentice Hall, 1989.

[7] B. Kimble P.M. Embree. C language Algorithms for Digital Signal Processing.
Prentice-Hall, 1991.

[8] P. Wintz R.C. Gonzalez. Digital Image Processing. Addison-Wesley, 1988.

[9] J.C. Muzio S.L. Hurst, D.M. Miller. Spectral Techniques in Digital Logic. Academic
Press, 1985.

[10] M. Soumekh. Fourier Array Imaging. Prentice-Hall, 1994.


[11] T.A. Welch. A technique for high-performance data compression. IEEE Computer,
pages 8–19, June 1984.

[12] W.H. Press W.T. Vetterling, S.A. Teukolsky and B.P. Flannery. Numerical Reciples in
C. Cambridge Univ. Press, 1988.

También podría gustarte