Ripmap Partial Sums for Efficient Area Summation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Summed area tables are computationally expensive to generate and store, especially for lengthy arrays, and suffer from issues with integer over-wrapping and numerical precision, leading to imprecision and data loss in image and video processing applications.
Innovation Solution
The use of a binary reduction pattern to generate a ripmap of partial sums from an input array, allowing for efficient computation of area summation with reduced memory bandwidth and avoiding precision issues, by pre-computing sums across power-of-two reductions and utilizing a data-parallel processing approach.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If summed area tables are generated for lengthy arrays using conventional prefix-sum methods, then area summation can be performed efficiently, but computational cost and storage requirements become excessively high
Solution Approach 1:
The patent segments the computation into two distinct phases: an offline precomputation phase that generates a compact ripmap data structure, and an online query phase that performs area summation. The ripmap is constructed by recursively subdividing the array into power-of-two sized blocks and storing their sums, creating a hierarchical structure that enables efficient querying without requiring full prefix-sum tables.
Solution Approach 2:
The patent performs preliminary action by precomputing and storing block sums in the ripmap structure during an offline phase. This precomputation stores only essential block sums at multiple hierarchical levels rather than all prefix sums, reducing storage requirements while enabling fast online queries through combination of precomputed blocks.
2Loss of time
If summed area tables are used for large arrays, then area summation queries can be answered quickly, but integer over-wrapping and numerical precision issues occur
Solution Approach 1:
The patent introduces an intermediary approach by using a ripmap structure that stores block sums at multiple hierarchical levels as intermediate representations. This intermediary structure allows queries to be answered by combining a small number of precomputed blocks, avoiding the accumulation of many small sums that causes precision loss in conventional prefix-sum tables.
Solution Approach 2:
The patent changes the parameter representation by storing sums of power-of-two sized blocks at different hierarchical levels rather than individual element prefix sums. This parameter change reduces the number of summation operations required for queries and minimizes the accumulation of rounding errors, thereby improving numerical precision for large arrays.
3Adaptability or versatility
If conventional summed area tables are generated for HD-video or SLR camera images, then depth-based blurring can be applied, but floating point mantissa resolution is exceeded causing imprecision
Solution Approach 1:
The patent adds a hierarchical dimension to the data structure by organizing sums at multiple levels corresponding to different block sizes (power-of-two dimensions). This dimensional organization allows any rectangular query to be decomposed into a small number of precomputed blocks from different hierarchical levels, reducing the total number of summation operations and improving precision for large image arrays.
4Loss of energy
If ripmap with binary reduction pattern is used, then memory bandwidth is reduced and precision issues are avoided, but data structure complexity increases
Solution Approach 1:
The patent implements a nested hierarchical structure where the ripmap contains blocks of blocks, organized by power-of-two sizes. Each hierarchical level nests smaller blocks within larger blocks, creating a self-similar structure that reduces memory bandwidth requirements. The nested organization allows queries to access precomputed sums at appropriate hierarchical levels, minimizing memory accesses while the regular power-of-two structure keeps implementation complexity manageable.
Data Source
AI summary
Methods are provided to perform area summation of various subsections of data values in a regular input array of one or several dimensions and varying sizes. The summation is achieved by adding up values from a ripmap of partial sums, where the partial sums are computed from the input array using a binary reduction method. According to such embodiments, the generation of the ripmap of partial sums will employ several binary reduction stages. Within each stage, a reduction operator is used that adds two elements along the respective direction. This is repeated until the output is only one element wide in the respective direction. The addresses of partial sums in the ripmap may subsequently be computed using a binary analysis of the target subsections in order to choose those partial sum values for a desired area that results in the desired area sum using an optimal number of data fetches.


