Motion Estimation Memory Layout for Faster Video Encoding

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional moving picture encoding apparatuses experience decreased encoding speed due to access latencies in DRAMs during motion estimation, as they read and store large search areas and macroblocks, leading to increased memory access times.

Innovation Solution

The apparatus employs a dual frame memory system where a first frame memory stores input images as brightness blocks and a second frame memory stores previous images as clusters, allowing for reduced memory access times by optimizing the size of search areas and clusters based on the search range, and utilizing cache memory to store search areas for efficient motion estimation and compensation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If a large search area is stored in frame memory for motion estimation, then motion estimation accuracy is improved, but memory access time increases due to access latencies in DRAM

Engineering Contradiction:
Improvemotion estimation accuracyVSAvoidmemory access time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent divides the large search area into multiple clusters, where each cluster is stored in a separate DRAM page. This segmentation allows the motion estimation processor to access different clusters without incurring page access latencies, as the clusters are distributed across multiple pages in the frame memory

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent reorganizes the storage structure from a single large search area to multiple smaller clusters distributed across different DRAM pages. This dimensional reorganization transforms the memory access pattern, allowing parallel or sequential access to multiple pages without the penalty of page switching latencies

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

2Loss of time

If the search area is divided into multiple clusters stored in different DRAM pages, then memory access time is reduced by avoiding access latencies, but the device complexity increases

Engineering Contradiction:
Improvememory access timeVSAvoidmemory structure complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The search area is segmented into multiple clusters that can be independently accessed. Each cluster is stored in a separate DRAM page, allowing the motion estimation processor to access only the necessary clusters without incurring page access latencies, thereby reducing overall memory access time

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The clusters are pre-organized and stored in specific DRAM pages before motion estimation begins. This preliminary organization allows the motion estimation processor to directly access the required clusters without dynamic page switching, reducing access latencies

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS7843993B2Moving picture encoding apparatus having increased encoding speed and method thereof
Publication Date: 2010.11.30 SAMSUNG ELECTRONICS CO LTD
  • US7843993B2 patent drawing
  • US7843993B2 patent drawing
  • US7843993B2 patent drawing

AI summary

Provided are a moving picture encoding apparatus having an increased encoding speed, and a method thereof, where the moving picture encoding apparatus includes a first frame memory storing an input image divided into brightness blocks of current macroblocks, each stored in one page; a second frame memory storing a previous image divided into clusters, each including brightness blocks of a predetermined number of macroblocks and being stored in one page; a motion estimation processor reading a brightness block of a current macroblock from the first frame memory, reading a cluster corresponding to a search area of the current macroblock from a search area of the second frame memory, and calculating a motion vector of the brightness block of the current macroblock on the basis of the read brightness block of the current macroblock and the read cluster; and a motion compensation processor reading a brightness block of a macroblock, which is moved by reflecting the motion vector on the current macroblock, from the second frame memory.