Motion Estimation Processor On-the-Fly SAD Calculation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional motion estimation methods require significant time and processing power due to the extensive calculations of Sum of Absolute Differences (SAD) for each sub-block comparison, especially as the size of the blocks increases, leading to inefficient performance in identifying similar sub-blocks within a reference image.

Innovation Solution

Calculating SAD values on the fly by reading a target block into registers and updating calculations as segments of the reference window are read, using a scanning pattern to determine minimum SAD values efficiently, and repeating the process for subsequent segments until all necessary calculations are complete.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If conventional block matching algorithm is used to calculate SAD for each sub-block comparison, then motion estimation accuracy is maintained, but processing time and computational power increase significantly

Engineering Contradiction:
Improvemotion estimation accuracyVSAvoidprocessing time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The reference window is divided into multiple segments that can be processed independently and in parallel. The target block comparison is segmented into multiple SAD calculation units that operate simultaneously on different segments, reducing the sequential processing time while maintaining complete coverage of the reference window for accurate motion estimation.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

SAD calculations are initialized and started in advance for multiple segments before all reference data is fully loaded. The processor begins computing SAD values for segments whose data is already available in buffers, performing preliminary calculations that can be completed as data becomes available, thereby overlapping data loading with computation operations.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If hierarchical motion estimation with down-sampling is used, then the number of SAD calculations is reduced, but processing complexity increases due to multiple layers

Engineering Contradiction:
Improvenumber of SAD calculationsVSAvoidprocessing complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent introduces a temporal dimension to the processing architecture by implementing multi-stage pipelining. Different stages of the pipeline process different segments or blocks simultaneously at different processing steps, transforming the single-dimensional sequential processing into multi-dimensional parallel processing across time stages, thereby reducing total SAD calculations without adding spatial complexity.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

3Ease of operation

If one SAD calculation is performed at a time sequentially, then processor resource requirements are reduced, but overall processing speed decreases

Engineering Contradiction:
Improveprocessor resource requirementsVSAvoidprocessing speed
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

Multiple SAD calculation operations are merged into a unified parallel processing framework. The patent combines multiple calculation units, data buffers, and processing stages into an integrated system where operations that were previously sequential are now executed in parallel, achieving both high throughput and efficient resource utilization through the merged architecture.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The processing system maintains continuous useful action by eliminating idle periods. While one SAD calculation is completing, the system is simultaneously loading data for the next segment, initializing the following calculation, and preparing subsequent operations. This continuous pipeline ensures that processor resources are constantly engaged in productive work without gaps, maximizing processing speed.

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS9497482B2Methods for comparing a target block to a reference window for motion estimation during video encoding
Publication Date: 2016.11.15 AMLOGIC
  • US9497482B2 patent drawing
  • US9497482B2 patent drawing
  • US9497482B2 patent drawing

AI summary

A method for comparing a target block to a reference window in motion estimation calculations, comprises the steps of: determining SAD calculations as a function of the target block and the reference window; reading the target block into registers; reading a segment of the reference window; updating the determined SAD calculations on the fly as a function of the read target block and the read segment of the reference window; and determining one or more sub-blocks of the reference window having minimum SAD values as a function of the updated SAD calculations; and if one or more of the minimum SAD values are not found, repeating the reading a segment step, the updating step and the determining step for a next segment of the reference window.