Adaptive motion vector resolution (AMVR) using depth map or motion map
A device may obtain an indication of motion associated with a video block. The device may determine a precision level of a motion vector difference associated with the video block based on the indication of motion associated with the video block. The device may decode the motion vector difference associated with the video block using the precision level, for example, if the device is a decoder. The indication of the motion may include one or more of a value of a motion vector predictor (MVP), motion information e.g. motion intensity, or depth information, which indicates a distance associated with the video block from a reference point.
1 . A device for decoding video content, comprising:
a processor configured to:
obtain depth information associated with a video block, wherein the depth information associated with the video block indicates a distance from a reference point associated with a virtual camera;
determine a precision level of a motion vector difference (MVD) associated with the video block based on the depth information associated with the video block; and
decode the MVD associated with the video block based on the precision level of the MVD.
2 . The device of claim 1 , wherein adaptive motion vector resolution (AMVR) is enabled for the video block, wherein the processor is further configured to determine an AMVR index for the video block based on the depth information associated with the video block, and wherein the precision level of the MVD is determined based on the AMVR index.
3 . The device of claim 1 , wherein adaptive motion vector resolution (AMVR) is enabled for the video block, and wherein the processor is further configured to modify or reorder an AMVR set based on the depth information associated with the video block.
4 . The device of claim 1 , wherein the processor is further configured to:
receive the MVD associated with the video block in video data signaled to the device; and
determine the precision level of the MVD associated with the video block based on the video data.
5 . The device of claim 1 , wherein adaptive motion vector resolution (AMVR) is enabled for the video block, and wherein the processor is further configured to:
obtain a set of AMVR indices; and
select an AMVR index for the video block from the set of AMVR indices based on the depth information associated with the video block, wherein the precision level of the MVD is determined based on the AMVR index.
6 . The device of claim 1 , wherein adaptive motion vector resolution (AMVR) is enabled for the video block, and wherein the processor is further configured to:
obtain a plurality of AMVR sets; and
select an AMVR set for the video block from the plurality of AMVR sets based on the depth information associated with the video block, wherein the precision level of the MVD is determined based on an AMVR index of the selected AMVR set.
7 . A device for encoding video content, comprising:
a processor configured to:
obtain depth information associated with a video block, wherein the depth information associated with the video block indicates a distance from a reference point associated with a virtual camera;
determine a precision level of a motion vector difference (MVD) associated with the video block based on the depth information associated with the video block; and
encode the MVD associated with the video block based on the precision level of the MVD.
8 . The device of claim 7 , wherein adaptive motion vector resolution (AMVR) is enabled for the video block, wherein the processor is further configured to determine an AMVR index for the video block based on the depth information associated with the video block, and wherein the precision level of the MVD is determined based on the AMVR index.
9 . The device of claim 7 , wherein adaptive motion vector resolution (AMVR) is enabled for the video block, and wherein the processor is further configured to modify or reorder an AMVR set based on the depth information associated with the video block.
10 . A method for decoding video content, comprising:
obtaining depth information associated with a video block, wherein the depth information associated with the video block indicates a distance from a reference point associated with a virtual camera;
determining a precision level of a motion vector difference (MVD) associated with the video block based on the depth information associated with the video block; and
decoding the MVD associated with the video block based on the precision level of the MVD.
11 . The method of claim 10 , wherein adaptive motion vector resolution (AMVR) is enabled for the video block, wherein the method comprises determining an AMVR index for the video block based on the depth information associated with the video block, and wherein the precision level of the MVD is determined based on the AMVR index.
12 . The method of claim 10 , wherein adaptive motion vector resolution (AMVR) is enabled for the video block, and wherein the method further comprises modifying or reordering an AMVR set based on the depth information associated with the video block.
13 . The method of claim 10 , further comprising:
receiving the MVD associated with the video block in video data; and
determining the precision level of the MVD associated with the video block based on the video data.
14 . The method of claim 10 , wherein adaptive motion vector resolution (AMVR) is enabled for the video block, and wherein the method further comprises:
obtaining a set of AMVR indices; and
selecting an AMVR index for the video block from the set of AMVR indices based on the depth information associated with the video block, wherein the precision level of the MVD is determined based on the AMVR index.
15 . The method of claim 10 , wherein adaptive motion vector resolution (AMVR) is enabled for the video block, and wherein the method further comprises:
obtaining a plurality of AMVR sets; and
selecting an AMVR set for the video block from the plurality of AMVR sets based on the depth information associated with the video block, wherein the precision level of the MVD is determined based on an AMVR index of the selected AMVR set.
16 . A method for encoding video content, comprising:
obtaining depth information associated with a video block, wherein the depth information associated with the video block indicates a distance from a reference point associated with a virtual camera;
determining a precision level of a motion vector difference (MVD) associated with the video block based on the depth information associated with the video block; and
encoding the MVD associated with the video block based on the precision level of the MVD.
17 . The method of claim 16 , wherein adaptive motion vector resolution (AMVR) is enabled for the video block, wherein the method further comprises determining an AMVR index for the video block based on the depth information associated with the video block, and wherein the precision level of the MVD is determined based on the AMVR index.
18 . The method of claim 16 , wherein adaptive motion vector resolution (AMVR) is enabled for the video block, and wherein the method further comprises modifying or reordering an AMVR set based on the depth information associated with the video block.
19 . The method of claim 16 , wherein adaptive motion vector resolution (AMVR) is enabled for the video block, and wherein the method further comprises:
obtaining a set of AMVR indices; and
selecting an AMVR index for the video block from the set of AMVR indices based on the depth information associated with the video block, wherein the precision level of the MVD is determined based on the AMVR index.