Median Value Determination in SIMD Vector Processing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing methods for computing median values over 3×3, 5×5, and 7×7 blocks of pixels in video and vision processing applications are inefficient, particularly on SIMD processors, due to high comparison requirements and complex memory access patterns, which degrade performance.
Innovation Solution
A method involving vertical and horizontal sorting of 5×5 arrays using a SIMD processor, followed by selecting and sorting a diagonal portion to determine the median value, reducing the number of comparisons needed from 25 to 13, thereby enhancing computational efficiency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If all values in the array are sorted to find the median, then the median value can be determined, but the number of comparisons required is high (25 comparisons for 5×5 array)
Solution Approach 1:
The patent divides the 5×5 array into multiple rows and columns, performing sorting operations row by row and column by column rather than sorting all 25 elements at once. This segmentation reduces the computational complexity and number of comparisons required to find the median value.
Solution Approach 2:
The patent transforms the problem from a one-dimensional sorting problem to a two-dimensional approach by sorting rows and columns separately. By exploiting the 2D structure of the array, the method reduces the number of comparisons from 25 to 13 while still accurately determining the median value.
2Measurement precision
If traditional sorting methods are used on SIMD processors, then the median can be computed, but complex memory access patterns degrade performance
Solution Approach 1:
The patent segments the array processing into row-wise and column-wise operations that align with SIMD processor architecture. This segmentation creates regular, predictable memory access patterns that are more efficient on vector processors compared to traditional unstructured sorting approaches.
3Measurement precision
If the entire array is sorted to find median, then accurate median value is obtained, but the computational complexity increases
Solution Approach 1:
The patent extracts only the necessary information needed to determine the median value by sorting rows and columns separately and examining the diagonal element, rather than fully sorting the entire array. This extraction approach reduces computational complexity while maintaining median value accuracy.
Solution Approach 2:
Instead of performing a complete sort of all 25 elements, the patent performs partial sorting operations on rows and columns only to the extent necessary to identify the median value through the diagonal element, reducing overall computational complexity.
Data Source
AI summary
A method for determining a median value of an array of pixels in a vision system may be performed in an efficient manner using the parallel computing capabilities of a SIMD processing engine. Each column of an array may be sorted in ascending (descending) order to form a first sorted array. Each row of the first sorted array may be sorted in ascending (descending) order to form a second sorted array. A pixel may be selected as the median value from a diagonal portion of the second sorted array, wherein the diagonal portion bisects a lower value region and a higher value region of the second sorted array.


