Motion Estimation Engine for HEVC Video Encoding

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

High Efficiency Video Coding (HEVC) requires significant hardware resources for motion estimation due to multi-loop structures and increased memory bandwidth, limiting the depth of the calculation pipeline and scalability, which restricts the balance between parallel and sequential calculation.

Innovation Solution

A motion estimation engine implemented in FPGA or ASIC configurations, utilizing single-iterated calculation for Motion Vectors (MV) across all Prediction Units (PU) and Coding Units (CU), with parallel processes for rough and final estimation, and employing transformed images with reduced bit-depth for efficient candidate selection and interpolation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Manufacturing precision

If multi-loop structures are used for recursive re-calculation of pixels, then encoding quality is improved, but memory bandwidth requirements increase and pipeline depth is restricted

Engineering Contradiction:
Improveencoding qualityVSAvoidmemory bandwidth
Core Design Contradiction:
Manufacturing precisionVSQuantity of substance

Solution Approach 1:

The patent applies preliminary action by performing motion estimation on the smallest CUs first to obtain MV candidates before processing larger CUs. This pre-calculation of base MVs enables subsequent CUs to reuse these candidates, reducing the need for repeated full motion estimation and thereby reducing memory bandwidth requirements while maintaining encoding quality.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent segments the motion estimation process into hierarchical levels based on CU sizes. Motion estimation is performed on smallest CUs (base CUs) to generate MV candidates, which are then reused by larger CUs. This segmentation avoids redundant calculations across different CU sizes and reduces memory bandwidth consumption.

Inventive Principle:
Principle #1Segmentation

2Productivity

If parallel calculation is used to replace recursive calculation cycles, then processing speed is improved, but extra hardware resources are required

Engineering Contradiction:
Improveprocessing speedVSAvoidhardware resources
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements a dynamic hybrid architecture that adapts between parallel and sequential processing based on CU size and position. Smallest CUs are processed in parallel to generate MV candidates, while larger CUs reuse these candidates through sequential processing. This dynamic approach optimizes processing speed without requiring full parallel hardware for all operations, thus avoiding excessive hardware complexity.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent creates a universal motion estimation engine that can handle multiple CU sizes using the same hardware resources. The engine processes base CUs in parallel and then reuses the generated MV candidates for larger CUs, making the hardware multi-functional. This eliminates the need for separate parallel processing units for each CU size, reducing overall hardware complexity while maintaining high processing speed.

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

3Measurement precision

If motion estimation is performed for all CU sizes with full recursion, then encoding accuracy is improved, but hardware scalability is restricted

Engineering Contradiction:
Improveencoding accuracyVSAvoidhardware scalability
Core Design Contradiction:
Measurement precisionVSAdaptability or versatility

Solution Approach 1:

The patent performs preliminary motion estimation on the smallest CUs to establish base MV candidates before processing larger CUs. This preliminary action ensures encoding accuracy is maintained for all CU sizes while allowing the hardware architecture to scale efficiently, as the same base estimation engine can serve multiple CU sizes without full recursion for each.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent changes the parameter of motion estimation granularity by performing estimation only on the smallest CUs (base CUs) and then reusing these results for larger CUs. This parameter change from full recursion at all levels to selective base-level estimation improves hardware scalability while maintaining encoding accuracy through intelligent reuse of MV candidates across different CU sizes.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS9106922B2Motion estimation engine for video encoding
Publication Date: 2015.08.11 BEAMR IMAGING LTD
  • US9106922B2 patent drawing
  • US9106922B2 patent drawing
  • US9106922B2 patent drawing

AI summary

The motion estimation engine has a multi-threaded structure and comprises a preprocessor for rough motion estimation of motion vectors and in-loop motion estimator for creating a coding tree unit, as well as a shared memory for interaction of the pre-processor with the in-loop motion estimator. The coding tree unit is formed by merging neighboring partitions of coding units using a list of best MV candidates.