Decoder side motion information derivation
Implementations of the disclosure provide a video processing method for motion information derivation. The video processing method may include determining, by a video decoder, that one or more motion related parameters for a video block in a video frame of a video are not signaled in a bitstream. The video processing method may further include determining, by the video decoder, the one or more motion related parameters for the video block by applying a coding matching technique.
1 . A video processing method for motion information derivation, comprising:
determining, by a video decoder, that one or more motion related parameters for a video block in a video frame are not signaled in a bitstream; and
determining, by the video decoder, the one or more motion related parameters that comprise one or more motion vector differences (MVDs) for the video block by applying a coding matching technique, wherein the coding matching technique is a template matching technique or a bilateral matching technique,
wherein determining the one or more motion related parameters comprises:
determining a plurality of parameter candidates for the one or more motion related parameters, each parameter candidate comprising one or more values for the one or more motion related parameters, respectively;
determining a plurality of matching costs associated with the plurality of parameter candidates, respectively; and
deriving the one or more motion related parameters based on a parameter candidate associated with a minimum matching cost among the plurality of matching costs,
wherein determining the plurality of parameter candidates for the one or more motion related parameters comprises determining a plurality of MVD candidates, and
wherein determining the plurality of MVD candidates comprises:
determining a plurality of potential combinations for a set of derived most significant bins (d-MSBs) from a bit plane of an absolute value of a MVD of the one or more MVDs based on a length of the set of d-MSBs, wherein the absolute value of the MVD is binarized into the bit plane which comprises a set of most significant bins (MSBs), the set of d-MSBs, and a set of least significant bins (LSBs); and
determining a plurality of absolute value candidates for the MVD based on the set of MSBs, the set of LSBs, and the plurality of potential combinations of the set of d-MSBs, respectively.
2 . The video processing method of claim 1 , wherein the coding matching technique is the template matching technique, wherein determining the plurality of matching costs comprises:
determining a template for the video block from the video frame; and
for each parameter candidate from the plurality of parameter candidates,
determining a reference region associated with the parameter candidate, and determining a matching cost for the parameter candidate based on the reference region and the template.
3 . The video processing method of claim 2 , wherein for each parameter candidate comprising a corresponding MVD candidate, determining the reference region associated with the parameter candidate comprises:
generating a motion vector candidate for the video block based on the corresponding MVD candidate and a motion vector predictor indicated by an advanced motion vector prediction (AMVP) index; and
determining the reference region based on the template, a reference index of a reference frame for the video block, and the motion vector candidate for the video block.
4 . The video processing method of claim 2 , wherein:
the one or more motion related parameters further comprise a reference index used to identify a reference frame for the video block; and
determining the plurality of parameter candidates for the one or more motion related parameters further comprises determining a plurality of reference index candidates for the video block, with each parameter candidate further comprising a corresponding reference index candidate for the video block.
5 . The video processing method of claim 1 , wherein the coding matching technique is a bilateral matching technique, wherein determining the plurality of matching costs comprises:
for each parameter candidate from the plurality of parameter candidates,
deriving one or more reference blocks associated with the parameter candidate; and
determining a matching cost for the parameter candidate based on the one or more reference blocks.
6 . The video processing method of claim 5 , wherein:
the one or more MVDs comprise a first motion vector difference (MVD) for a first motion vector associated with a first reference frame list, or a pair of the first MVD and a second MVD for a second motion vector associated with a second reference frame list; and
determining the plurality of MVD candidates comprises:
determining a plurality of first MVD candidates for the first MVD; or
determining a plurality of pairs of the first MVD candidates for the first MVD and second MVD candidates for the second MVD.
7 . The video processing method of claim 6 , wherein for each parameter candidate which comprises a corresponding first MVD candidate or a corresponding pair of the first MVD candidates and the second MVD candidates, deriving the one or more reference blocks associated with the parameter candidate comprises:
deriving a first reference block based on the corresponding first MVD candidate, and deriving a second reference block based on a second MVD and a reference index of a second reference frame; or
deriving the first reference block and the second reference block based on the corresponding pair of the first MVD candidates and the second MVD candidates.
8 . The video processing method of claim 6 , wherein determining the plurality of first MVD candidates comprises:
determining a plurality of absolute value candidates for the first MVD.
9 . The video processing method of claim 6 , wherein determining the plurality of pairs of the first MVD candidates and the second MVD candidates comprises:
determining a plurality of pairs of absolute value candidates of the first MVD and the second MVD.
10 . The video processing method of claim 5 , wherein:
the one or more motion related parameters further comprise a first reference index used to identify a first reference frame in a first reference frame list, or both the first reference index and a second reference index used to identify a second reference frame in a second reference frame list; and
determining the plurality of parameter candidates for the one or more motion related parameters further comprises:
determining a plurality of reference index candidates for the first reference index; or
determining a plurality of pairs of reference index candidates for the first reference index and the second reference index.
11 . A video decoder apparatus for motion information derivation, comprising:
a non-transitory computer readable medium; and
a processor configured to:
determine that one or more motion related parameters for a video block in a video frame are not signaled in a bitstream; and
determine the one or more motion related parameters that comprise one or more motion vector differences (MVDs) for the video block by applying a coding matching technique, wherein the coding matching technique is a template matching technique or a bilateral matching technique,
wherein the processor is configured to:
determine a plurality of parameter candidates for the one or more motion related parameters, each parameter candidate comprising one or more values for the one or more motion related parameters, respectively;
determine a plurality of matching costs associated with the plurality of parameter candidates, respectively; and
derive the one or more motion related parameters based on a parameter candidate associated with a minimum matching cost among the plurality of matching costs, and
wherein to determine the plurality of parameter candidates for the one or more motion related parameters, the processor is configured to determine a plurality of MVD candidates by:
determining a plurality of potential combinations for a set of derived most significant bins (d-MSBs) from a bit plane of an absolute value of a MVD of the one or more MVDs based on a length of the set of d-MSBs, wherein the absolute value of the MVD is binarized into the bit plane which comprises a set of most significant bins (MSBs), the set of d-MSBs, and a set of least significant bins (LSBs); and
determining a plurality of absolute value candidates for the MVD based on the set of MSBs, the set of LSBs, and the plurality of potential combinations of the set of d-MSBs, respectively.
12 . A video processing method for encoding motion information, comprising:
receiving, by a video encoder, a video block in a video frame;
determining, by the video encoder, not to signal one or more motion related parameters for the video block in a bitstream to a video decoder; and
generating, by the video encoder, at least one syntax element to indicate that the one or more motion related parameters for the video block are to be predicted by the video decoder; and
signaling, by the video encoder, the at least one syntax element in the bitstream for the video decoder to independently determine the one or more motion related parameters that comprise one or more motion vector differences (MVDs) for the video block,
wherein generating the at least one syntax element comprises:
for each of the one or more MVDs, encoding the MVD using a binarization and splitting method; and
generating a set of syntax elements based on the encoding of the MVD,
wherein for each of the one or more MVDs, encoding the MVD using the binarization and splitting method comprises:
binarizing an absolute value of the MVD into a bit plane;
dividing the bit plane into a set of most significant bins (MSBs), a set of derived most significant bins (d-MSBs), and a set of least significant bins (LSBs); and
generating a reduced absolute value for the MVD using the set of MSBs and the set of LSBs, and
wherein, for each of the one or more MVDs, generating the set of syntax elements based on the encoding of the MVD comprises:
generating a first syntax element for indicating whether MVD prediction is to be applied on the video decoder;
generating a second syntax element for signaling the reduced absolute value of the MVD to the video decoder;
generating a third syntax element for signaling a length of the set of d-MSBs to the video decoder; and
generating a fourth syntax element for signaling a position where the set of d-MSBs starts in the bit plane to the video decoder.
13 . A method of storing a bitstream, comprising:
performing the video processing method according to claim 12 to generate the bitstream; and
storing the generated bitstream.
14 . The video processing method of claim 12 , wherein the one or more motion related parameters further comprise one or more reference indices for the video block.
15 . The video processing method of claim 14 , wherein generating the at least one syntax element further comprises:
generating a syntax element for indicating whether reference index derivation is to be applied on the video decoder.
16 . The video processing method of claim 12 , wherein the video block is coded using a uni-prediction scheme or a bi-prediction scheme by the video encoder.
17 . The method of claim 13 , wherein the one or more motion related parameters further comprise one or more reference indices for the video block.
18 . The method of claim 17 , wherein generating the at least one syntax element further comprises:
generating a syntax element for indicating whether reference index derivation is to be applied on the video decoder.
19 . The method of claim 13 , wherein the video block is coded using a uni-prediction scheme or a bi-prediction scheme by the video encoder.