Motion Vector Decoding with Region-Limited Motion Estimation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing video coding technologies face challenges in reducing the processing load and memory bandwidth requirements for motion estimation and data transfer during video compression, particularly in next-generation standards like HEVC.
Innovation Solution
An encoder and decoder system that limits motion estimation to a predefined motion estimation region, using candidate vectors to determine this region, and encodes/decodes motion vectors within this region, reducing the need for processing outside this area and minimizing memory bandwidth usage.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If motion estimation is performed across the entire reference picture, then motion vector accuracy is improved, but processing load and memory bandwidth increase
Solution Approach 1:
The reference picture is divided into a motion estimation region and a non-motion estimation region. The motion estimation region is determined based on candidate vectors derived from neighboring blocks, allowing the decoder to perform motion estimation only in relevant areas rather than the entire reference picture, thus reducing processing load while maintaining accuracy.
Solution Approach 2:
Different regions of the reference picture are treated differently: the motion estimation region undergoes full motion estimation processing while the non-motion estimation region is skipped. This local differentiation optimizes processing resources by applying intensive computation only where motion vectors are needed based on spatial context from neighboring blocks.
2Measurement precision
If motion estimation region is expanded to cover more areas, then motion vector accuracy is improved, but memory bandwidth requirements increase
Solution Approach 1:
The reference picture is segmented into motion estimation and non-motion estimation regions. This segmentation allows the system to load and process only the necessary portion of the reference picture data, significantly reducing memory bandwidth requirements compared to loading the entire reference picture for motion estimation.
Solution Approach 2:
Instead of performing motion estimation across the entire reference picture (excessive action), the system performs motion estimation only in the determined motion estimation region (partial action). This partial approach is sufficient for achieving accurate motion vectors for the current block while avoiding unnecessary memory bandwidth consumption.
3Measurement precision
If candidate vectors from multiple neighboring blocks are considered, then motion vector accuracy is improved, but processing complexity increases
Solution Approach 1:
Candidate vectors are pre-derived from neighboring blocks before motion estimation in the motion estimation region. These candidate vectors serve as guidance for determining the motion estimation region boundaries, allowing the system to efficiently identify relevant search areas without exhaustively checking all possible vectors, thus reducing overall processing complexity.
Solution Approach 2:
Candidate vectors from neighboring blocks act as intermediaries that bridge the gap between available block information and the motion estimation process. These candidates guide the determination of the motion estimation region, enabling the system to leverage neighboring block data to constrain and direct the motion estimation search space.
Data Source
AI summary
A decoder that decodes a current block using a motion vector includes: a processor; and memory. Using the memory, the processor: derives a first candidate vector from one or more candidate vectors of one or more neighboring blocks that neighbor the current block; determines, in a first reference picture for the current block, a first adjacent region that includes a position indicated by the first candidate vector; calculates evaluation values of a plurality of candidate regions included in the first adjacent region; and determines a first motion vector of the current block, based on a first candidate region having a smallest evaluation value among the evaluation values. The first adjacent region is included in a first motion estimation region determined based on the position indicated by the first candidate vector.


