An efficient algorithm for running window pel gray level ranking 2-D images
Pattern Recognition Letters
Handbook of Image and Video Processing
Handbook of Image and Video Processing
Computing 2-D Min, Median, and Max Filters
IEEE Transactions on Pattern Analysis and Machine Intelligence
A Fast Median Filter Using AltiVec
ICCD '99 Proceedings of the 1999 IEEE International Conference on Computer Design
Using SIMD registers and instructions to enable instruction-level parallelism in sorting algorithms
Proceedings of the nineteenth annual ACM symposium on Parallel algorithms and architectures
A Fast and Flexible Sorting Algorithm with CUDA
ICA3PP '09 Proceedings of the 9th International Conference on Algorithms and Architectures for Parallel Processing
An Efficient Parallel Sorting Algorithm on Metacube Multiprocessors
ICA3PP '09 Proceedings of the 9th International Conference on Algorithms and Architectures for Parallel Processing
Parallel Programming: for Multicore and Cluster Systems
Parallel Programming: for Multicore and Cluster Systems
Programming Massively Parallel Processors: A Hands-on Approach
Programming Massively Parallel Processors: A Hands-on Approach
SIMD Programming Manual for Linux and Windows
SIMD Programming Manual for Linux and Windows
CUDA Application Design and Development
CUDA Application Design and Development
Image quality assessment: from error visibility to structural similarity
IEEE Transactions on Image Processing
Median Filtering in Constant Time
IEEE Transactions on Image Processing
Adaptive median filters: new algorithms and results
IEEE Transactions on Image Processing
Hi-index | 0.00 |
The median filter is a non-linear filter used for removal of Salt & Pepper noise from images, where each pixel of the image is replaced by the median of its surrounding elements, which is calculated by sorting the data. The complexity of the sorting algorithms used for the median filters are $O(n^2)$ or $O(n)$ , depending on the kernel size. These algorithms were formulated for scalar single processor computers, with few of them successfully adapted and implemented for computers with a parallel architecture. In this paper we greatly improve the results of our earlier work, in which by means of a novel sorting algorithm, based on the Complementary Cumulative Distribution function, with $O(n)$ computational complexity and a highly parallelable structure, we presented a 2D median filter that achieved $O(1)$ or $O(n)$ computational complexity, depending memory constraints. The improvements are twofold: we propose a trade-off between $O(1)$ complexity and $O(n)$ complexity in order to improve the overall throughput; additionally we make use of the Salt & Pepper noise model to improve the image reconstruction quality with a small performance impact. The proposed algorithm have been implemented in three parallel programming models: SIMD Intel, Multicore Intel with SIMD, and SIMT (CUDA), achieving a peak throughput of 27.0, 100.1 and 91.6 megapixels per second respectively.