Determining Median Value of an Array on Vector SIMD Architectures
First Claim
1. A computer implemented method for determining a median value of an array of pixels, the method comprising:
- sorting each column of an array in ascending or descending order to form a first sorted array, wherein all of the columns are sorted in a parallel manner by a single instruction, multiple data (SIMD) processor;
sorting each row of the first sorted array in a parallel manner by the SIMD processor in ascending or descending order to form a second sorted array; and
selecting a pixel 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.
1 Assignment
0 Petitions
Accused Products
Abstract
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.
-
Citations
20 Claims
-
1. A computer implemented method for determining a median value of an array of pixels, the method comprising:
-
sorting each column of an array in ascending or descending order to form a first sorted array, wherein all of the columns are sorted in a parallel manner by a single instruction, multiple data (SIMD) processor; sorting each row of the first sorted array in a parallel manner by the SIMD processor in ascending or descending order to form a second sorted array; and selecting a pixel 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. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A non-transitory computer readable medium storing software instructions that, when executed by at least one single instruction, multiple data (SIMD) processor, cause the performance of a method for selecting a median value of an array of data, the method comprising:
-
sorting each column of an array in ascending or descending order to form a first sorted array, wherein all of the columns are sorted in a parallel manner by the SIMD processor; sorting each row of the first sorted array in a parallel manner by the SIMD processor in ascending or descending order to form a second sorted array; and selecting a pixel 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. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
-
17. A computer vision system comprising:
-
a camera coupled to provide an array of pixel data to a memory array; a single instruction, multiple data (SIMD) processor coupled to the memory array and to an instruction memory, wherein the SIMD processor is operable to execute instructions stored in the instruction memory to cause the performance of a method for selecting a median value of the array of data, the method comprising; sorting each column of the array of pixel data in ascending or descending order to form a first sorted array, wherein all of the columns are sorted in a parallel manner by the SIMD processor; sorting each row of the first sorted array in a parallel manner by the SIMD processor in ascending or descending order to form a second sorted array; and selecting a pixel 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. - View Dependent Claims (18, 19, 20)
-
Specification