Transformadas
Transformadas
Transformadas
ARMADAS ESPE
CARRERA DE ELECTRONICA Y
AUTOMATIZACION
SEMESTRE: Cuarto
Mayo21 – Agosto
´esta.
Rd = 1 − 1/Cn
Cn = n1/n2
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.
i=0 La
donde:
−
log2(N) 1
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.
100000
50%
10000
1000
25%
100
12.5%
6.25%
3.12%
1.5%
0.7%
/* 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
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
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
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.
0.94[4].
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.
[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.
[9] J.C. Muzio S.L. Hurst, D.M. Miller. Spectral Techniques in Digital Logic. Academic
Press, 1985.
[12] W.H. Press W.T. Vetterling, S.A. Teukolsky and B.P. Flannery. Numerical Reciples in
C. Cambridge Univ. Press, 1988.