Video Codec Motion Estimation In-Chip Memory Bank Shifting

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The motion estimation process in video codecs is hindered by frequent access to outer memory, causing delays and degrading system performance due to a high computation load and significant overlap in search window data between neighboring macroblocks.

Innovation Solution

A video codec system with an interface circuit, in-chip memory, and controller that loads reference frame data into in-chip memory and shifts the search window within this memory, reducing the need for frequent outer memory access by marking and replacing macroblocks as necessary.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the video codec sequentially processes each macroblock by accessing outer memory for search window data, then motion estimation can be performed on each macroblock, but frequent outer memory access causes delays and degrades system performance

Engineering Contradiction:
Improvemotion estimation accuracyVSAvoidprocessing speed
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent divides the reference frame data into multiple banks (e.g., Bank 0, Bank 1, Bank 2, Bank 3) in the in-chip memory, allowing parallel access to different macroblock data. This segmentation enables the system to retrieve search window data for multiple macroblocks simultaneously from different banks, eliminating the sequential access bottleneck and improving processing throughput without compromising motion estimation accuracy.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent pre-loads reference frame data into the in-chip memory before motion estimation begins. By preparing the search window data in advance and organizing it into ready-to-use banks, the system eliminates frequent outer memory access during the actual motion estimation process, thereby improving processing speed while maintaining data accuracy.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If the in-chip memory stores complete reference frame data, then all search window data can be retrieved without outer memory access, but the in-chip memory size would be too large

Engineering Contradiction:
Improveprocessing speedVSAvoidmemory size
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments the reference frame data into multiple smaller banks within the in-chip memory (e.g., 4 banks storing different portions of reference frames). This segmentation allows the system to store complete reference frame data in a distributed manner across smaller, manageable memory units, enabling fast access to required search window data without requiring a single large memory block, thus improving processing speed while controlling memory complexity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent organizes reference frame data in multiple banks along the time dimension, storing different reference frames or different portions of reference frames in different banks. This dimensional organization allows efficient retrieval of search window data for multiple macroblocks by accessing different banks in parallel, achieving high-speed processing without requiring excessively large single-dimension memory storage.

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

3Ease of operation

If the search window data for neighboring macroblocks is retrieved separately from outer memory, then each macroblock can be processed independently, but the significant overlap in data causes redundant memory access and delays

Engineering Contradiction:
Improveprocessing simplicityVSAvoidmemory access delay
Core Design Contradiction:
Ease of operationVSLoss of time

Solution Approach 1:

The patent merges the search window data for multiple neighboring macroblocks into the same in-chip memory banks. By organizing the data structure to share common reference frame portions across multiple macroblocks, the system retrieves overlapping data only once and makes it available to all relevant macroblocks, eliminating redundant outer memory access while maintaining simple independent processing of each macroblock.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent pre-organizes overlapping search window data for multiple macroblocks in the in-chip memory banks before processing begins. This preliminary organization ensures that when motion estimation is performed on neighboring macroblocks, the shared data is already available in the fast memory, eliminating redundant outer memory access and reducing delays without complicating the independent processing of each macroblock.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10021408B2Video codec and motion estimation method
Publication Date: 2018.07.10 INTEL CORP
  • US10021408B2 patent drawing
  • US10021408B2 patent drawing
  • US10021408B2 patent drawing

AI summary

The invention provides a video codec. In one embodiment, the video codec is coupled to an outer memory storing a reference frame, and comprises an interface circuit, an in-chip memory, a motion estimation circuit, and a controller. The interface circuit obtains in-chip data from the reference frame stored in the outer memory. The in-chip memory stores the in-chip data. The motion estimation circuit retrieves search window data from the in-chip data with a search window, and performs a motion estimation process on a current macroblock according to the search-window data. The controller shifts the location of the search window when the current macroblock is shifted, marks a macroblock shifted out from the search window as an empty macroblock, and controls the interface circuit to obtain an updated macroblock for replacing the empty macroblock in the in-chip memory from the reference frame stored in the outer memory.