SIMD Median Filtering Using Diagonal Array Selection
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional median filtering methods require excessive processing power and inefficiency in signal processing due to the need to calculate the median value of all pixel values within a sliding window, which reduces throughput in image processing.
Innovation Solution
A method that sorts each column and row of a high-order array in ascending order, selects values from the diagonal portion, and calculates the median value of the resulting low-order array to efficiently determine the median of a high-order array, particularly utilizing SIMD processors for parallel processing.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If all pixel values in a sliding window are processed to calculate the median value, then the accuracy of median filtering is improved, but the processing power requirement increases excessively
Solution Approach 1:
The sliding window is divided into multiple blocks, and each block is processed independently to determine candidate median values. This segmentation reduces the computational complexity from processing all N pixels to processing smaller blocks of size M, where M < N. The final median is determined by comparing these candidate values, achieving both accuracy and efficiency.
Solution Approach 2:
Instead of processing all pixel values in the sliding window, the invention processes only a selected subset of blocks and their representative values. This partial action approach maintains sufficient filtering accuracy by focusing computation on critical regions while reducing overall processing power requirements.
2Reliability
If all pixel values in a sliding window are processed to calculate the median value, then the completeness of noise reduction is improved, but the processing efficiency decreases
Solution Approach 1:
The image processing is divided into multiple sliding windows that are processed in parallel. Each window is further segmented into blocks for median calculation. This hierarchical segmentation enables parallel processing across multiple processors or cores, improving productivity while maintaining complete noise reduction coverage through systematic processing of all windows.
Solution Approach 2:
The image is pre-divided into multiple sliding windows before processing begins. This preliminary organization allows for efficient parallel processing and reduces the computational burden on individual processors, thereby improving overall processing efficiency without compromising noise reduction completeness.
3Measurement precision
If conventional median filtering methods are used, then the noise reduction quality is maintained, but the throughput is reduced
Solution Approach 1:
The processing is segmented into multiple independent sliding windows that can be processed simultaneously. Each window maintains the traditional median filtering quality through proper block selection and comparison, while the parallel processing of multiple windows significantly increases overall throughput.
Solution Approach 2:
The invention introduces a new dimension of parallel processing by dividing the image into multiple sliding windows that can be processed concurrently. This dimensional expansion from sequential to parallel processing maintains noise reduction quality in each window while dramatically improving overall throughput.
Data Source
AI summary
A method is disclosed for efficiently calculating a median value of a high-order array in a Single Instruction Multiple Data (SIMD) processor. Values of the high-order array are sorted vertically in each column followed by sorts on each individual row. After the sort, selective diagonal values of the sorted high-order array are used to form a low-order array to calculate the median of the high-order array. The median calculation using selective diagonal values of the high-order array in a low-order array significantly improves SIMD processor efficiency and throughput.


