Diseño de una arquitectura rápida para la aplicación del teorema de las rebanadas en el cálculo de la DFT-2D utilizando la transformada de radón periódica discreta
Acceso a Texto completo
Abstract
En el ámbito del procesamiento digital de imágenes, la DFT-2D se utiliza para diversos propósitos como: detección de ruido, aplicación de filtros, tomografía computarizada, etc [1]. Algoritmos rápidos para su cálculo, como la FFT (“Fast Fourier Transform”) permiten reducir su complejidad computacional. Esto es posible gracias al uso de recursividad y separabilidad al procesar una cantidad NxN de datos que igualen una potencia de dos (es decir N = 2p, p entero). Sin embargo, es deseable que el aumento de velocidad se pueda dar también en tamaños que no son potencia de dos, con el propósito de tener mayores posibilidades en cuanto a tamaños de imagen. Por lo anterior mencionado, esta tesis se enfocó en imágenes de tamaño N × N donde N es un número primo. Por ejemplo, hay 168 números primos menores a 1000, mientras que solo hay 9 números enteros positivos potencia de 2 en ese rango. El método de cálculo de la DFT-2D que se utilizó fue el de la aplicación de la Transformada de Radón Periódica Discreta o DPRT (la cual trabaja con números primos) y seguidamente el Teorema de las Rebanadas de Fourier Discreto o DFST [2]. Se tomó como modelo de solución la FDPRT [3], arquitectura que utiliza hardware en paralelo como técnica de HPC (High Performance Computing). Esta es capaz de calcular la DPRT en tiempo lineal. En el trabajo realizado diseñó una arquitectura que permita calcular el DFST en tiempo lineal. Para esto, se priorizó la reducción del tiempo de ejecución mediante el uso de hardware paralelo, aunque esto significó que los recursos crezcan de forma cuadrática. De esta manera, se diseñó una arquitectura y un algoritmo que permiten calcular y mapear los puntos de la matriz de Fourier desde la matriz en el espacio de Radón en 2 + ⌈log2 N⌉ + N ciclos de reloj (asintóticamente O(N)). Asimismo, se cuantificó la cantidad de recursos utilizados en la arquitectura (conversores de punto fijo a punto flotante, sumadores, multiplicadores, etc.) en función del tamaño de la imagen, lo cual permitió corroborar que estos crecen cuadráticamente. Finalmente, se validó el funcionamiento del algoritmo usando el software Matlab R2013a y se realizó una comparación teórica con librerías actuales (FFTW y MKL) para cálculo rápido de la DFT-2D utilizando C en el entorno de desarrollo Visual Studio 2019.