Symmetric merge mode motion vector coding
Systems, devices, and methods are described herein for symmetric merge mode motion vector coding. Symmetric bi-prediction (bi-pred) motion vectors (MVs) may be constructed from available candidates in a merge candidate list for regular inter prediction merge mode and/or affine prediction merge mode. Available MV merge candidates may be symmetrically extended or mapped in either direction (e.g., between reference pictures before and after a current picture), for example, when coding a picture that allows bi-directional motion compensation prediction (MCP). A symmetric bi-pred merge candidate may be selected among merge candidates for predicting the motion information of a current prediction unit (PU). The symmetric mapping construction may be repeated by a decoder (e.g., based on a coded index of the MV merge candidate list), for example, to obtain the same merge candidates and coded MV at an encoder.
1 . A device for video decoding, comprising:
a processor configured to:
obtain, for a prediction unit (PU) in a current picture, a merge candidate list;
obtain a symmetric affine merge candidate based on an affine merge candidate of the merge candidate list, wherein the symmetric affine merge candidate comprises a first symmetric motion vector difference (MVD);
generate an updated merge candidate list for a prediction of an MVD for the PU, wherein the updated merge candidate list comprises the affine merge candidate and the symmetric affine merge candidate; and
decode, based on the prediction of the MVD for the PU, the current picture comprising the PU.
2 . The device of claim 1 , wherein the first symmetric MVD is determined based on an MVD of a first control point associated with the affine merge candidate.
3 . The device of claim 2 , wherein the symmetric affine merge candidate further comprises a second symmetric MVD, and the processor is further configured to:
determine the second symmetric MVD using a zooming factor that is inverse to a zooming factor associated with a second control point of the affine merge candidate.
4 . The device of claim 2 , wherein the symmetric affine merge candidate further comprises a second symmetric MVD, and the processor is further configured to:
determine the second symmetric MVD using a rotation angle that is in an opposite direction to a rotation angle associated with a second control point of the affine merge candidate.
5 . The device of claim 1 , wherein the first symmetric MVD indicates a translational MVD that is symmetric to the MVD of a control point associated with the affine merge candidate.
6 . The device of claim 1 , wherein the affine merge candidate is associated with a first reference picture, and the symmetric affine merge candidate is associated with a second reference picture, and wherein a first picture order count (POC) difference associated with the current picture and the first reference picture is the same as a second POC difference associated with the current picture and the second reference picture.
7 . The device of claim 1 , wherein the updated merge candidate list is generated by inserting the symmetric affine merge candidate into the merge candidate list.
8 . The device of claim 1 , wherein the affine merge candidate is a uni-directional prediction merge candidate or a bi-directional prediction merge candidate.
9 . The device of claim 1 , wherein the updated merge candidate list further comprises a zero MVD, and wherein a placement of the symmetric affine merge candidate is before a placement of the zero MVD.
10 . The device of claim 1 , wherein the processor is further configured to:
select the symmetric affine merge candidate from the updated merge candidate list for the prediction of the MVD for the PU; and
determine a motion vector associated with the PU based on a motion vector predictor (MVP) associated with the PU and the symmetric affine merge candidate, wherein the current picture is decoded based on the motion vector associated with the PU.
11 . A method for video decoding, comprising:
obtaining, for a prediction unit (PU) in a current picture, a merge candidate list;
obtaining a symmetric affine merge candidate based on an affine merge candidate of the merge candidate list, wherein the symmetric affine merge candidate comprises a first symmetric motion vector difference (MVD);
generating an updated merge candidate list for a prediction of an MVD for the PU, wherein the updated merge candidate list comprises the affine merge candidate and the symmetric affine merge candidate; and
decoding, based on the prediction of the MVD for the PU, the current picture comprising the PU.
12 . The method of claim 11 , wherein the first symmetric MVD is determined based on an MVD of a first control point associated with the affine merge candidate.
13 . The method of claim 12 , wherein the symmetric affine merge candidate further comprises a second symmetric MVD, and the method further comprises:
determining the second symmetric MVD using a zooming factor that is inverse to a zooming factor associated with a second control point of the affine merge candidate.
14 . The method of claim 12 , wherein the symmetric affine merge candidate further comprises a second symmetric MVD, and the method further comprises:
determining the second symmetric MVD using a rotation angle that is in an opposite direction to a rotation angle associated with a second control point of the affine merge candidate.
15 . A device for video encoding, comprising:
a processor configured to:
obtain, for a prediction unit (PU) in a current picture, a merge candidate list;
obtain a symmetric affine merge candidate based on an affine merge candidate of the merge candidate list, wherein the symmetric affine merge candidate comprises a first symmetric motion vector difference (MVD);
generate an updated merge candidate list for a prediction of an MVD for the PU, wherein the updated merge candidate list comprises the affine merge candidate and the symmetric affine merge candidate; and
encode, based on the prediction of the MVD for the PU, the current picture comprising the PU.
16 . The device of claim 15 , wherein the first symmetric MVD is determined based on an MVD of a first control point associated with the affine merge candidate.
17 . The device of claim 16 , wherein the symmetric affine merge candidate further comprises a second symmetric MVD, and the processor is further configured to determine the second symmetric MVD using at least one of a zooming factor or a rotation angle, wherein the zooming factor is inverse to a zooming factor associated with a second control point of the affine merge candidate, and wherein the rotation angle is in an opposite direction to a rotation angle associated with the second control point of the affine merge candidate.
18 . A method for video encoding, comprising:
obtaining, for a prediction unit (PU) in a current picture, a merge candidate list;
obtaining a symmetric affine merge candidate based on an affine merge candidate of the merge candidate list, wherein the symmetric affine merge candidate comprises a first symmetric motion vector difference (MVD);
generating an updated merge candidate list for a prediction of an MVD for the PU, wherein the updated merge candidate list comprises the affine merge candidate and the symmetric affine merge candidate; and
encoding, based on the prediction of the MVD for the PU, the current picture comprising the PU.
19 . The method of claim 18 , wherein the first symmetric MVD is determined based on an MVD of a first control point associated with the affine merge candidate.
20 . The method of claim 19 , wherein the symmetric affine merge candidate further comprises a second symmetric MVD, and the method further comprises determining the second symmetric MVD using at least one of a zooming factor or a rotation angle, wherein the zooming factor is inverse to a zooming factor associated with a second control point of the affine merge candidate, and wherein the rotation angle is in an opposite direction to a rotation angle associated with the second control point of the affine merge candidate.