Affine Motion Vector Prediction With Fewer Memory Reads
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing motion vector prediction methods in video coding require excessive memory reads, leading to low encoding/decoding speed due to the need to access large amounts of information.
Innovation Solution
Construct a candidate motion vector list using an affine model based on neighboring blocks, determining a target candidate motion vector group through a rate-distortion cost criterion, and encoding an index corresponding to this group into a bitstream, reducing the need for memory reads by reusing previously accessed information about control points.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If motion vector prediction is performed using existing methods that read large amounts of information from memory, then prediction accuracy can be maintained, but encoding/decoding speed deteriorates
Solution Approach 1:
The patent applies preliminary action by pre-organizing motion vector candidate groups in a list structure during the encoding process. The motion vector prediction unit constructs a candidate list containing multiple motion vector groups from neighboring blocks before the actual prediction occurs. This pre-organization allows the decoder to quickly access and select from pre-computed candidates without performing extensive memory reads during decoding, thereby improving speed while maintaining prediction accuracy through the use of multiple candidates evaluated via rate-distortion cost criterion.
Solution Approach 2:
The patent segments the motion vector prediction process into distinct components: constructing a candidate list from neighboring blocks, evaluating multiple candidate groups using rate-distortion cost criterion, and selecting the optimal candidate. This segmentation allows the system to process motion vector prediction in manageable stages, reducing the computational burden on any single operation and improving overall encoding/decoding efficiency while maintaining accuracy through systematic evaluation of multiple candidates.
2Reliability
If a large amount of information is read from memory for motion vector prediction, then prediction performance can be improved, but memory access time increases
Solution Approach 1:
The patent applies preliminary action by pre-constructing a candidate motion vector list containing multiple candidate groups from neighboring blocks during the encoding phase. This pre-computation stores essential motion vector information in an organized structure, eliminating the need for extensive memory reads during the prediction and decoding phases. The candidate list is built using motion vectors from spatially neighboring blocks, which are already available in the buffer, thereby reducing memory access requirements while maintaining prediction performance through systematic candidate evaluation.
3Measurement precision
If motion vector prediction uses comprehensive neighboring block information, then prediction accuracy improves, but device complexity increases
Solution Approach 1:
The patent segments the motion vector prediction process into distinct components: constructing a candidate list from neighboring blocks, evaluating multiple candidate groups using rate-distortion cost criterion, and selecting the optimal candidate. This segmentation allows the system to process motion vector prediction in manageable stages, reducing the computational burden on any single operation and improving overall encoding/decoding efficiency while maintaining accuracy through systematic evaluation of multiple candidates.
Solution Approach 2:
The patent applies parameter changes by introducing the rate-distortion cost criterion as a selection mechanism for evaluating motion vector candidate groups. Instead of using a single fixed method for selecting motion vectors, the system dynamically evaluates multiple candidates based on their rate-distortion performance. This parameter-based evaluation allows the system to adaptively select the most appropriate motion vector candidate for each block, improving prediction accuracy while managing complexity through a systematic and standardized evaluation framework.
Data Source
Figure 1A
Figure 1B
Figure 2A
AI summary
Embodiments of the present invention provide a video encoder, a video decoder, and a corresponding method. The method includes: parsing a bitstream to obtain an index, where the index is used to indicate a target candidate motion vector group of a current coding block; determining the target candidate motion vector group in an affine candidate motion vector list based on the index, where the affine candidate motion vector list includes at least a first candidate motion vector group, the first candidate motion vector group is obtained based on a first group of control points of a first neighboring affine coding block, and the first group of control points of the first neighboring affine coding block are control points determined based on a relative location of a coding tree unit CTU with respect to the current coding block, wherein the first neighboring affine coding block is located in the CTU; and predicting a predicted sample value of the current coding block based on the target candidate motion vector group. According to the embodiments of this application, a quantity of times of reading from the memory can be reduced, so that encoding and decoding performance is improved.