Interleaved Block Matching and Convolution for Search Windows

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing data processing techniques for determining similarity measures and performing convolutional operations face challenges in efficiently handling large volumes of data, leading to memory constraints and performance bottlenecks.

Innovation Solution

A processor architecture with an internal memory, handling unit, convolutional engine, and block matching engine is employed for interleaved iterative processing of template and search data, utilizing a search window with offset positions to manage data subsets efficiently, reducing reliance on external memory and enhancing processing efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If conventional sequential processing is used for similarity determination and convolutional operations, then processing simplicity is maintained, but processing speed and throughput deteriorate due to memory constraints and sequential execution

Engineering Contradiction:
Improveprocessing speedVSAvoidprocessor architecture complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments the set of offset positions into multiple subsets, where each subset is processed by a separate processing pipeline (block matching engine or convolutional engine). This segmentation enables parallel processing of different offset position subsets simultaneously, thereby increasing throughput and processing speed without requiring a single complex sequential processor

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent merges the block matching engine and convolutional engine into a single integrated processor architecture that shares common resources including internal memory, data pathways, and control logic. This merging allows both processing functions to operate in parallel on different data subsets while utilizing shared hardware resources, improving productivity without proportionally increasing device complexity

Inventive Principle:
Principle #5Merging (Combining)

2Productivity

If all offset positions are processed simultaneously, then throughput is maximized, but memory requirements and resource constraints worsen

Engineering Contradiction:
ImprovethroughputVSAvoidmemory requirements
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The set of offset positions is divided into multiple subsets that can be processed in parallel. Each subset is handled by a dedicated processing pipeline that operates independently with its own memory buffer, allowing simultaneous processing of multiple subsets without requiring the entire dataset to reside in memory at once, thus reducing peak memory requirements while maintaining high throughput

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements preliminary organization of offset positions into subsets before processing begins. This preliminary action allows the system to allocate memory resources efficiently for each subset and establish parallel processing pipelines in advance, enabling high throughput processing while keeping memory requirements manageable through pre-planned resource distribution

Inventive Principle:
Principle #10Preliminary action

3Quantity of substance

If sequential processing of offset positions is used, then memory usage is reduced, but processing latency increases due to downtime between operations

Engineering Contradiction:
Improvememory usageVSAvoidprocessing latency
Core Design Contradiction:
Quantity of substanceVSLoss of time

Solution Approach 1:

The patent implements continuous parallel processing by maintaining multiple active processing pipelines that work simultaneously on different offset position subsets. While one pipeline is finishing its current subset, another pipeline is already processing the next subset, ensuring continuous useful action without idle downtime. This approach keeps memory usage low by processing one subset at a time per pipeline while eliminating the sequential wait time between operations

Inventive Principle:
Principle #20Continuity of useful action

Solution Approach 2:

The patent employs periodic swapping of data subsets between processing pipelines in a round-robin fashion. Each pipeline periodically completes its current subset and receives the next subset to process, creating a rhythmic flow of work that maintains continuous processing activity. This periodic action pattern ensures that memory is efficiently utilized (one subset per pipeline at a time) while minimizing idle time through structured handoff protocols

Inventive Principle:
Principle #19Periodic action

Data Source

PatentUS12573171B2Interleaved processing of template data and search data according to a search window
Publication Date: 2026.03.10 ARM LTD
  • US12573171B2 patent drawing
  • US12573171B2 patent drawing
  • US12573171B2 patent drawing

AI summary

A processor, method, and non-transitory computer-readable storage medium for processing template data and search data according to a search window applied to the search data. The search window comprising a set of offset positions. The processing is performed by a block matching engine (BME) that produces a tensor with difference values, and a convolutional engine (CE) that performs a convolutional operation on the tensor. The processing is performed in an iterative interleaved fashion, by dividing the set of offset positions into a plurality of subsets of offset positions. In parallel with processing of the first X offset positions by the CE, the BME generates the next X channels of the tensor, and which are subsequently pipelined through to the CE via an internal storage, etc.