Motion Vector Prediction Mode Selection in Video Encoding
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The existing H.264/AVC standard for video encoding/decoding uses a median of adjacent motion vectors as the predicted motion vector, which is not always the best choice for minimizing bit quantity, leading to inefficiencies in encoding differential motion vectors and requiring additional information to identify the used predicted motion vector.
Innovation Solution
A method that employs multiple motion vector prediction modes to select a more accurate predicted motion vector from candidate vectors, including spatially and temporally adjacent blocks, and encodes mode information to facilitate accurate prediction without increasing bit quantity.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of manufacture
If the median of adjacent motion vectors is used as the predicted motion vector, then the encoding process is simplified and additional information about prediction mode selection is not required, but the predicted motion vector is not always the best choice for minimizing bit quantity
Solution Approach 1:
The patent introduces multiple motion vector prediction modes (first prediction mode using median of adjacent blocks, second prediction mode using motion vector of co-located block in reference picture) that can be dynamically selected based on which mode produces better compression results. This dynamic selection allows the system to adapt to different scene characteristics and motion patterns, optimizing bit quantity efficiency while maintaining encoding flexibility.
Solution Approach 2:
The patent changes the prediction parameter from a single fixed method (median) to multiple selectable methods by introducing mode information that indicates which prediction mode is used. This parameter change enables the system to switch between different prediction strategies depending on the specific encoding situation, thereby improving overall compression efficiency.
2Measurement precision
If multiple predicted motion vectors are generated from different sources, then the accuracy of motion prediction is improved, but additional information must be encoded to identify which predicted value was used
Solution Approach 1:
The patent extracts only the essential mode information (first prediction mode or second prediction mode) that is necessary to identify which predicted motion vector should be used, rather than transmitting the entire predicted motion vector or detailed selection criteria. This extraction approach minimizes the additional information that must be encoded while still enabling accurate reconstruction at the decoder.
3Speed
If only spatially adjacent blocks are used for prediction, then the prediction process is simpler and faster, but the predicted motion vector may not be accurate enough for complex motion patterns
Solution Approach 1:
The patent makes the prediction system multi-functional by incorporating both spatial prediction (using adjacent blocks in the current picture) and temporal prediction (using co-located blocks in reference pictures) capabilities. This universal approach allows the system to handle various motion patterns effectively - spatial prediction works well for gradual motion changes while temporal prediction excels at handling periodic or recurring motion patterns.
Data Source
AI summary
A method performed by a video encoding apparatus for encoding a current motion vector of a current block in a current picture, includes: encoding, into a bitstream, mode information for use in selecting a motion vector prediction mode among a plurality of motion vector prediction modes; and when the mode information indicating a first motion vector prediction mode among the plurality of motion vector prediction modes is encoded, deriving a set of candidate motion vectors from motion vectors of a plurality of neighboring blocks of the current block, and selecting a candidate motion vector from the set of the candidate motion vectors; setting the prediction motion vector of the current block into the selected candidate motion vector; and generating a differential motion vector of the current block by subtracting the prediction motion vector from the current motion vector, and encoding the differential motion vector into the bitstream.


