Adaptive Motion Estimation Cache Mapping for Lower Memory Bandwidth

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing video coding methods face inefficiencies in memory bandwidth usage during motion estimation due to the need for accessing and processing large amounts of prediction data across frames with varying widths and numbers of reference frames, particularly in video sequences with different display formats.

Innovation Solution

Adaptive configuration of a motion estimation cache organization based on the properties of the current frame, including adaptive mapping and partitioning of cache memory to optimize data access and minimize external memory bandwidth, by altering the mapping between reference frame locations and cache memory addresses.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If a large search window is used for motion estimation, then prediction accuracy is improved, but memory bandwidth usage increases

Engineering Contradiction:
Improveprediction accuracyVSAvoidmemory bandwidth usage
Core Design Contradiction:
Measurement precisionVSQuantity of substance

Solution Approach 1:

The search window is divided into multiple tiles or regions, allowing the motion estimation process to access only relevant portions of reference frames. This segmentation reduces the amount of data that needs to be transferred through memory bandwidth while maintaining comprehensive search coverage for accurate prediction.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Reference frame data is pre-loaded into cache memory before the motion estimation process begins. By anticipating the data access patterns and loading necessary reference frame portions in advance, the system reduces real-time memory bandwidth requirements while enabling access to a large search window for accurate prediction.

Inventive Principle:
Principle #10Preliminary action

2Device complexity

If the motion estimation cache is configured for fixed frame widths, then cache organization is simplified, but adaptability to different frame formats is reduced

Engineering Contradiction:
Improvecache organization complexityVSAvoidadaptability to different frame formats
Core Design Contradiction:
Device complexityVSAdaptability or versatility

Solution Approach 1:

The cache configuration is made dynamic and adaptive to different frame widths and formats. The system can reconfigure cache parameters such as tile dimensions, block sizes, and memory allocation based on the specific frame being processed. This dynamic adaptation allows the same cache infrastructure to efficiently handle various frame formats without requiring fixed, overly complex organization schemes for each possible format.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

Cache parameters including block size, tile dimensions, and memory allocation are adjusted based on the frame width and format being processed. By changing these parameters dynamically rather than maintaining a fixed complex structure, the system achieves adaptability to different frame formats while keeping the underlying cache organization relatively simple.

Inventive Principle:
Principle #35Parameter changes

3Adaptability or versatility

If the cache is partitioned for multiple reference frames, then support for B-frames is improved, but cache memory usage increases

Engineering Contradiction:
Improvesupport for B-framesVSAvoidcache memory usage
Core Design Contradiction:
Adaptability or versatilityVSVolume of stationary object

Solution Approach 1:

Different portions of the cache are allocated to different reference frames based on their specific needs. Rather than uniformly distributing cache space, the system assigns cache memory proportionally or preferentially to reference frames that require more access, such as those used in B-frame bidirectional prediction. This local quality differentiation supports B-frames effectively while optimizing overall cache utilization and reducing total memory requirements.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

Cache memory allocated to reference frames is dynamically managed by discarding data from reference frames that are no longer needed for prediction and recovering that memory for current use. This allows the system to support multiple reference frames including B-frames when needed, while minimizing peak cache memory usage by reusing the same physical memory space for different reference frames at different times.

Inventive Principle:
Principle #34Discarding and recovering

Data Source

PatentUS9414062B2Adaptive motion estimation cache organization
Publication Date: 2016.08.09 GEO SEMICONDUCTOR INC
  • US9414062B2 patent drawing
  • US9414062B2 patent drawing
  • US9414062B2 patent drawing

AI summary

In some embodiments, a motion estimation search window cache is adaptively re-organized according to frame properties including a frame width and a number of reference frames corresponding to the current frame to be encoded/decoded. The cache reorganization may include an adaptive mapping of reference frame locations to search window cache allocation units (addresses). In some embodiments, a search window is shaped as a quasi-rectangle with truncated upper left and lower right corners, having a full-frame horizontal extent. A search range is defined in a central region of the search window, and is laterally bounded by the truncated corners.