Diseño e implementación del filtro mediano de dos dimensiones para arquitecturas SIMD

El filtro mediano es una de las operaciones básicas en el procesamiento de imágenes digitales, su función es la de eliminar el ruido impulsivo sin alterar la información de la imagen. A pesar de estas características, su uso se ve restringido debido al alto costo computacional del filtro. Las propue...

Descripción completa

Autor Principal: Sánchez Loayza, Ricardo Miguel
Formato: Tesis de Licenciatura
Idioma: Español
Publicado: Pontificia Universidad Católica del Perú 2011
Materias:
Acceso en línea: http://tesis.pucp.edu.pe/repositorio/handle/123456789/813
Etiquetas: Agregar Etiqueta
Sin Etiquetas, Sea el primero en etiquetar este registro!
Sumario: El filtro mediano es una de las operaciones básicas en el procesamiento de imágenes digitales, su función es la de eliminar el ruido impulsivo sin alterar la información de la imagen. A pesar de estas características, su uso se ve restringido debido al alto costo computacional del filtro. Las propuestas tradicionales de solución, consisten en disminuir la complejidad del algoritmo del filtro mediano, y en vectorizar los algoritmos existentes. Esta vectorización se realiza al utilizar las unidades SIMD (Single Instruction Multiple Data - Instrucción Única Múltiples Datos) de los procesadores modernos. Ésta les permite realizar una misma operación a un conjunto, o vector, de datos de manera simultánea, con lo que se obtiene un mejor desempeño computacional. En el presente trabajo se implementa el filtro mediano con el algoritmo vectorial propuesto por Kolte [1], el cual aprovecha las ventajas de las unidades SIMD. La eficiencia computacional de la implementación realizada se compara con el algoritmo Filtro Mediano en Tiempo Constante, propuesto recientemente por Perreault [2], el cual presenta una complejidad de O(1). La implementación realizada es 75 y 18.5 veces mas rápida que la implementación de referencia, para áreas de análisis de 3 x 3 y 5 x 5 respectivamente. Se concluye además que la vectorización de un algoritmo no necesariamente obtiene los mismos resultados que un algoritmo diseñado específicamente para ser implementado en unidades vectoriales [3].