CPC H04N 19/56 (2014.11) [H04N 19/11 (2014.11); H04N 19/139 (2014.11); H04N 19/159 (2014.11); H04N 19/176 (2014.11); H04N 19/182 (2014.11); H04N 19/184 (2014.11); H04N 19/186 (2014.11); H04N 19/52 (2014.11); H04N 19/567 (2014.11); H04N 19/593 (2014.11); H04N 19/70 (2014.11); H04N 19/80 (2014.11)] | 11 Claims |
1. A motion vector prediction method, comprising:
acquiring a candidate list of a current coding block in a preset prediction mode, wherein the candidate list comprises a plurality of candidate motion vectors;
performing a motion search of the plurality of candidate motion vectors in the candidate list to obtain an initial optimal motion vector of the current coding block in the preset prediction mode;
performing motion compensation on the initial optimal motion vector by using each of a first preset number of pixel accuracies, to determine a final optimal motion vector of the current coding block, wherein the first preset number of pixel accuracies is equal to or greater than 3;
wherein the preset prediction mode comprises any one of a plurality of prediction modes, and pixel accuracies used in any one of the prediction modes are identical;
wherein said performing motion compensation on the initial optimal motion vector by using each of a first preset number of pixel accuracies, to determine a final optimal motion vector of the current coding block comprises:
performing refinement treatment on the initial optimal motion vector by using each of the first preset number of pixel accuracies to obtain a plurality of first offset motion vectors deviating from the initial optimal motion vector;
using each of the first preset number of pixel accuracies as a first target pixel accuracy;
selecting any one of the initial optimal motion vector and the first offset motion vectors whose pixel accuracies are lower than the first target pixel accuracy, as a starting motion vector corresponding to the first target pixel accuracy;
performing refinement treatment on the starting motion vector corresponding to the first target pixel accuracy by using the first target pixel accuracy to obtain a plurality of second offset motion vectors deviating from the starting motion vector;
selecting, from the plurality of second offset motion vectors, a motion vector whose rate-distortion cost satisfies a preset screening condition, as the final optimal motion vector of the current coding block.
|