Block Matching With SAT Buffers to Reduce Redundant Calculations

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing data processing techniques for block matching between first and second data involve significant computational redundancy and inefficiencies, particularly in calculating differences such as Sum of Absolute Differences (SAD) and Sum of Squared Differences (SSD), which can be improved by minimizing redundant calculations and optimizing memory usage.

Innovation Solution

A method involving a sliding window approach with a buffer to store and update Summed Area Table (SAT) data, reducing redundant calculations by using previously computed SAT data to efficiently determine SAD or SSD between data subsets, and storing the results to memory for matched blocks.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If traditional block matching techniques are used to calculate SAD/SSD between first and second data, then comprehensive comparison coverage is achieved, but significant computational redundancy occurs and processing efficiency deteriorates

Engineering Contradiction:
Improveprocessing efficiencyVSAvoidcomputational redundancy
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The patent pre-calculates and stores Summed Area Table (SAT) data in a buffer before the main block matching process. This preliminary computation of cumulative sums allows the system to avoid redundant calculations during iterative SAD/SSD computations, as the SAT data can be directly queried to obtain sum values without recalculating from scratch for each comparison window.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent divides the data processing into distinct segments: pre-computation of SAT data, iterative window-based SAD/SSD calculation using SAT data, and final matching determination. By segmenting the computation process and using a sliding window approach, the system processes data in manageable portions while leveraging previously computed SAT values to minimize redundant operations.

Inventive Principle:
Principle #1Segmentation

2Productivity

If a sliding window approach with SAT data buffering is implemented, then redundant calculations are reduced and processing efficiency improves, but device complexity increases due to buffer configuration and data management

Engineering Contradiction:
ImprovethroughputVSAvoidbuffer management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The buffer is designed to serve multiple functions: storing SAT data, managing the sliding window process, and facilitating iterative comparisons. By making the buffer a multi-functional component that handles both data storage and process coordination, the patent reduces the need for separate dedicated structures, thereby managing complexity while achieving high throughput.

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Productivity

If SAT data is continuously stored and updated in the buffer, then calculation efficiency increases, but memory usage increases

Engineering Contradiction:
Improvecalculation efficiencyVSAvoidmemory volume
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

Instead of storing complete SAT data for the entire dataset, the patent implements a sliding window approach that maintains SAT data only for the current and recently processed windows. The buffer stores SAT data partially - just enough to support the current comparison operations - and discards or overwrites older data that is no longer needed, thereby reducing overall memory requirements while maintaining calculation efficiency.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS12393400B1Block matching between first data and second data
Publication Date: 2025.08.19 ARM LTD
  • US12393400B1 patent drawing
  • US12393400B1 patent drawing
  • US12393400B1 patent drawing

AI summary

A processor, method, and non-transitory computer-readable storage medium for performing a block matching between first data and second data are provided. The block matching is performed using an iterative process, wherein, for each iteration, a portion of the first data and a corresponding portion of the second data is selected using a sliding window approach. When differences data, used for block matching, is calculated for a specific subset of first and second data, many of the calculations overlap with those needed for a nearby subset. Summed area table, SAT, data used for determining the difference data is continuously stored and updated in a buffer, such that overlapping computations can be avoided.