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...
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]. |
---|