Method and apparatus for warp sample selection and grouping
Systems and methods for encoding and decoding using warp motion modes are provided. A method includes receiving a bitstream that includes a coded picture; obtaining a plurality of motion vectors pointing to positions in neighboring blocks that are adjacent to a current block in the coded picture, the plurality of motion vectors including at least one temporal motion vector; obtaining motion samples for a warp model based on the plurality of motion vectors; and decoding the current block by using the warp model and the motion samples including the at least one temporal motion vector for prediction. Some Embodiments may include methods of using temporal motion information to derive a warp model, and may further provide warp sample selection and grouping. Some embodiments may provide improvements on local warp motion modes.
1 . A method of video decoding, the method comprising:
receiving a video bitstream comprising a coded picture that includes a current block;
identifying a set of neighboring blocks for the current block, the set of neighboring blocks having a corresponding warp mode;
obtaining a plurality of motion vectors for the set of neighboring blocks;
obtaining, from the video bitstream, a set of motion vector differences (MVDs) for the plurality of motion vectors from the set of neighboring blocks;
deriving a plurality of refined motion vectors from the set of neighboring blocks by applying the set of MVDs to the plurality of motion vectors from the set of neighboring blocks;
deriving a warp model for the current block by performing regression using the plurality of refined motion vectors from the set of neighboring blocks, wherein the warp model comprises an affine motion model having parameters derived by the regression; and
decoding the current block by using the warp model.
2 . The method of claim 1 , wherein:
the plurality of motion vectors include at least one temporal motion vector; and
the at least one temporal motion vector includes a temporal motion vector at a position of a spatial neighboring block of the current block that is not yet constructed.
3 . The method of claim 1 , wherein:
the plurality of motion vectors include at least one temporal motion vector; and
the at least one temporal motion vector includes a temporal motion vector at a position of a spatial neighboring block of the current block that is previously constructed.
4 . The method of claim 1 , wherein the plurality of motion vectors include at least one temporal motion vector, and wherein the method further comprises applying a motion offset to the at least one temporal motion vector.
5 . The method of claim 1 , wherein the plurality of motion vectors includes at least one temporal motion vector and at least one spatial motion vector.
6 . The method of claim 1 , wherein the plurality of motion vectors includes at least one temporal motion vector and no spatial motion vector.
7 . The method of claim 1 , wherein the current block is decoded using the warp model by performing warped motion compensation.
8 . A method of video encoding performed at a computing system having memory and one or more processors, the method comprising:
receiving a video data comprising a current picture that includes a current block;
identifying a set of neighboring blocks for the current block, the set of neighboring blocks having a corresponding warp mode;
obtaining a plurality of motion vectors for the set of neighboring blocks;
obtaining a set of motion vector differences (MVDs) for the plurality of motion vectors from the set of neighboring blocks;
deriving a plurality of refined motion vectors from the set of neighboring blocks by applying the set of MVDs to the plurality of motion vectors from the set of neighboring blocks;
deriving a warp model for the current block by performing regression using the plurality of refined motion vectors from the set of neighboring blocks, wherein the warp model comprises an affine motion model having parameters derived by the regression; and
encoding the current block by using the warp model; and
signaling, in a video bitstream, the set of MVDs.
9 . The method of claim 8 , wherein the plurality of motion vectors comprise at least one temporal motion vector.
10 . The method of claim 9 , further comprising applying a motion offset to the at least one temporal motion vector.
11 . The method of claim 8 , wherein the plurality of motion vectors comprise at least one spatial motion vector.
12 . The method of claim 8 , wherein the set of neighboring blocks consists of neighboring blocks above the current block.
13 . The method of claim 8 , wherein the set of neighboring blocks consists of neighboring blocks to the left of the current block or above the current block.
14 . The method of claim 8 , wherein the set of neighboring blocks consists of neighboring blocks at one or more corners of the current block.
15 . The method of claim 8 , further comprising applying a filter to the plurality of refined motion vectors prior to deriving the warp model.
16 . A non-transitory computer-readable storage medium storing one or more instructions and a video bitstream that is generated by a video encoding method, the instructions when executed by a processor, cause a computing system to perform the video encoding method, the video bitstream comprising:
coded information for a plurality of pictures, including a current picture that includes a current block; and
a set of motion vector differences (MVDs) for the current block; and
wherein the video encoding method comprises:
identifying a set of neighboring blocks for the current block, the set of neighboring blocks having a corresponding warp mode;
obtaining a plurality of motion vectors for the set of neighboring blocks;
obtaining the set of MVDs for the plurality of motion vectors from the set of neighboring blocks;
deriving a plurality of refined motion vectors from the set of neighboring blocks by applying the set of MVDs to the plurality of motion vectors from the set of neighboring blocks;
deriving a warp model for the current block by performing regression using the plurality of refined motion vectors from the set of neighboring blocks, wherein the warp model comprises an affine motion model having parameters derived by the regression; and
encoding the current block by using the warp model.
17 . The non-transitory computer-readable storage medium of claim 16 , wherein the warp model is to be derived using a regression/least square error method with respect to the plurality of motion vectors.
18 . The non-transitory computer-readable storage medium of claim 16 , wherein the plurality of motion vectors comprise at least one spatial motion vector.
19 . The non-transitory computer-readable storage medium of claim 16 , wherein the plurality of motion vectors comprise at least one temporal motion vector.