Motion Vector Prediction in Image Encoding
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing image encoding and decoding methods face challenges in achieving high compression ratios and precise prediction due to limitations in motion vector determination and prediction direction usage, particularly in bi-directionally predicted pictures.
Innovation Solution
The method determines a motion vector for a current block based on previously encoded blocks, allowing for first-direction, second-direction, or bi-directional prediction without explicitly encoding the motion vector, thereby enhancing prediction accuracy and compression efficiency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If motion vector is explicitly encoded for each block, then prediction precision can be maintained, but compression ratio decreases due to increased bitstream data
Solution Approach 1:
The motion vector of the current block is determined autonomously by the decoder using motion vectors of previously decoded blocks, eliminating the need for explicit encoding of the current block's motion vector. This self-determination mechanism allows the system to maintain prediction precision while reducing bitstream data, thereby improving compression ratio without requiring additional information transmission.
Solution Approach 2:
The patent applies copying by utilizing motion vectors from previously decoded blocks as references to determine motion vectors for current blocks. Instead of encoding each motion vector independently, the system copies and adapts motion vector information from historical blocks, reducing redundancy in the bitstream while preserving prediction accuracy through the copying of motion trajectory patterns.
2Loss of information
If motion vector is determined based on previous blocks only, then compression ratio increases, but prediction accuracy may decrease for complex motion patterns
Solution Approach 1:
The system dynamically selects the appropriate reference block and motion vector based on the spatial and temporal characteristics of the current block. By adapting the reference selection process to match the specific motion patterns being encoded, the system maintains high prediction accuracy even while relying solely on previously decoded blocks, thus resolving the contradiction between compression efficiency and prediction precision.
Solution Approach 2:
The patent employs parameter changes by adjusting the temporal and spatial distances between reference blocks and current blocks to optimize prediction accuracy. The system varies these parameters based on the complexity of motion patterns, allowing it to maintain accurate predictions for simple motions while achieving high compression ratios, and adaptively balance between the two for complex scenarios.
3Measurement precision
If bi-directional prediction is used, then prediction accuracy improves, but device complexity increases due to multiple motion vector determinations
Solution Approach 1:
The patent merges the determination of multiple motion vectors into a unified process that leverages previously decoded block information. Instead of independently calculating motion vectors for different prediction directions, the system combines them into a single determination step using historical motion vector data, thereby reducing computational complexity while maintaining bi-directional prediction accuracy.
Solution Approach 2:
The motion vector determination mechanism is designed with multi-functionality, serving both unidirectional and bi-directional prediction needs through a single unified process. By making the motion vector determination universal and applicable to various prediction scenarios, the system eliminates the need for separate complex determination procedures for each direction, thus reducing overall device complexity while preserving prediction accuracy.
Data Source
Figure 1~2
Figure 3
Figure 4
AI summary
A method and apparatus for determining a motion vector of a current block based on a motion vector of at least one block encoded/decoded before encoding/decoding of the current block, and prediction-encoding/decoding the current block based on one from among first-direction prediction, second-direction prediction, and bi-directional prediction, according to the determined motion vector.