Vector Instructions for Integral Image Computation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The efficiency of calculating integral images, particularly when multiple surface areas with overlapping pixel values are involved, is hindered by the serial and scalar nature of existing methods, leading to inefficiencies and the need for approximations that may compromise accuracy.
Innovation Solution
The introduction of vector-friendly instruction formats and specific instructions that perform parallel ADD operations across input vector elements, allowing for the calculation of summations for different image area widths in a single machine cycle, thereby reducing the computational overhead.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If serial and scalar methods are used for integral image computation, then implementation simplicity is maintained, but computational efficiency deteriorates due to multiple machine cycles being required
Solution Approach 1:
The patent segments the integral image computation into parallel vector operations. Instead of processing pixels serially through multiple machine cycles, the computation is divided into vector lanes that can be processed simultaneously within a single machine cycle, thereby improving productivity while managing complexity through structured segmentation
Solution Approach 2:
The patent transitions from scalar (1D) processing to vector (multi-dimensional) processing by introducing vector-friendly instruction formats with multiple lanes. This dimensional change allows multiple pixel operations to occur in parallel within the same machine cycle, resolving the efficiency- simplicity contradiction
2Measurement precision
If approximations are used to handle overlapping pixel values, then computational speed improves, but accuracy deteriorates
Solution Approach 1:
The patent performs preliminary organization of pixel data into vector-friendly formats before computation. By pre-arranging overlapping pixel values into appropriate vector lanes and using masking techniques to identify valid pixels, the system can accurately process all overlapping regions in parallel without requiring time-consuming sequential corrections, thus maintaining both accuracy and speed
3Speed
If multiple machine cycles are used for precise integral image computation, then accuracy is maintained, but processing speed deteriorates
Solution Approach 1:
The patent creates universal vector-friendly instructions that can handle multiple computation patterns (including overlapping regions, different surface areas, and various pixel formats) within a single instruction framework. This multi-functionality allows the processor to achieve high processing speeds through parallel execution while avoiding the need for complex, specialized instruction sequences for each case
Data Source
AI summary
A method is described that performing an image integral calculation by creating a second vector and creating a third vector. The second vector is created by executing a first instruction that adds alternating elements of a first vector to respective neighboring elements of the first vector and presents resulting summations into said second vector. The first instruction also passes through the respective neighboring elements to said second vector. The third vector is created by executing a second instruction that adds elements of one side of the second vector to an element of another side of the second vector and passes through the another side of the second vector.


