AFFINE MOTION PREDICTION FOR VIDEO CODING
First Claim
1. A method for decoding video data, the method comprising:
- obtaining, by one or more processors of a video decoder and for a current block of video data, values of motion vectors of an affine motion model of a neighboring block of video data;
deriving, by the one or more processors and from the values of the motion vectors of the affine motion model of the neighboring block of video data, values of predictors for motion vectors of an affine motion model of the current block of video data;
decoding, by the one or more processors and from an encoded video bitstream, a representation of differences between the values of the motion vectors of the affine motion model for the current block of video data and the values of the predictors;
determining, by the one or more processors, the values of the motion vectors of the affine motion model for the current block of video data from the values of the predictors and the decoded differences;
determining, based on the determined values of the motion vectors of the affine motion model for the current block of video data, a predictor block of video data; and
reconstructing the current block of video data based on the predictor block of video data.
1 Assignment
0 Petitions
Accused Products
Abstract
An example method includes obtaining, for a current block of video data, values of motion vectors (MVs) of an affine motion model of a neighboring block of video data; deriving, from the values of the MVs of the affine motion model of the neighboring block, values of predictors for MVs of an affine motion model of the current block; decoding, from a video bitstream, a representation of differences between the values of the MVs of the affine motion model for the current block and the values of the predictors; determining the values of the MVs of the affine motion model for the current block from the values of the predictors and the decoded differences; determining, based on the determined values of the MVs of the affine motion model for the current block, a predictor block of video data; and reconstructing the current block based on the predictor block.
235 Citations
42 Claims
-
1. A method for decoding video data, the method comprising:
-
obtaining, by one or more processors of a video decoder and for a current block of video data, values of motion vectors of an affine motion model of a neighboring block of video data; deriving, by the one or more processors and from the values of the motion vectors of the affine motion model of the neighboring block of video data, values of predictors for motion vectors of an affine motion model of the current block of video data; decoding, by the one or more processors and from an encoded video bitstream, a representation of differences between the values of the motion vectors of the affine motion model for the current block of video data and the values of the predictors; determining, by the one or more processors, the values of the motion vectors of the affine motion model for the current block of video data from the values of the predictors and the decoded differences; determining, based on the determined values of the motion vectors of the affine motion model for the current block of video data, a predictor block of video data; and reconstructing the current block of video data based on the predictor block of video data. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A method for encoding video data, the method comprising:
-
determining, by one or more processors of a video encoder, values of motion vectors of an affine motion model of a current block of video data, the motion vectors of the affine motion model identifying a predictor block of video data for of the current block of video data; obtaining, by the one or more processors, values of motion vectors of an affine motion model of a neighboring block of video data; deriving, by the one or more processors and from the values of the motion vectors of the affine motion model of the neighboring block of video data, values of predictors for motion vectors of an affine motion model of the current block of video data; and encoding, by the one or more processors and in an encoded video bitstream, a representation of differences between the values of the motion vectors of the affine motion model for the current block of video data and the values of the predictors. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20)
-
-
21. A device for decoding a block of video data, the device comprising:
-
a memory configured to store the video data; and one or more processing units implemented in circuitry and configured to; obtain, for a current block of video data, values of motion vectors of an affine motion model of a neighboring block of video data; derive, from the values of the motion vectors of the affine motion model of the neighboring block of video data, values of predictors for motion vectors of an affine motion model of the current block of video data; decode, from an encoded video bitstream, a representation of differences between the values of the motion vectors of the affine motion model for the current block of video data and the values of the predictors; determine the values of the motion vectors of the affine motion model for the current block of video data from the values of the predictors and the decoded differences; determine based on the determined values of the motion vectors of the affine motion model for the current block of video data, a predictor block of video data; and reconstruct the current block of video data based on the predictor block of video data. - View Dependent Claims (22, 23, 24, 25, 26, 27, 28, 29, 30)
-
-
31. A device for encoding a block of video data, the device comprising:
-
a memory configured to store the video data; and one or more processing units implemented in circuitry and configured to; determine values of motion vectors of an affine motion model of a current block of video data, the motion vectors of the affine motion model identifying a predictor block of video data for of the current block of video data; obtain values of motion vectors of an affine motion model of a neighboring block of video data; derive, from the values of the motion vectors of the affine motion model of the neighboring block of video data, values of predictors for motion vectors of an affine motion model of the current block of video data; and encode, in an encoded video bitstream, a representation of differences between the values of the motion vectors of the affine motion model for the current block of video data and the values of the predictors. - View Dependent Claims (32, 33, 34, 35, 36, 37, 38, 39, 40)
-
-
41. A device for encoding or decoding video data, the device comprising:
-
means for obtaining, for a current block of video data, values of motion vectors of an affine motion model of a neighboring block of video data; means for deriving, from the values of the motion vectors of the affine motion model of the neighboring block of video data, values of predictors for motion vectors of an affine motion model of the current block of video data; means for obtaining differences between the values of the motion vectors of the affine motion model for the current block of video data and the values of the predictors; means for determining each of the values of the motion vectors of the affine motion model for the current block of video data from the values of the predictors and the decoded differences; and means for identifying, based on the determined values of the motion vectors of the affine motion model for the current block of video data, a predictor block of video data.
-
-
42. A computer-readable storage medium storing instructions that, when executed, cause one or more processors of a video encoder or a video decoder to:
-
obtain, for a current block of video data, values of motion vectors of an affine motion model of a neighboring block of video data; derive, from the values of the motion vectors of the affine motion model of the neighboring block of video data, values of predictors for motion vectors of an affine motion model of the current block of video data; obtain differences between the values of the motion vectors of the affine motion model for the current block of video data and the values of the predictors; determine each of the values of the motion vectors of the affine motion model for the current block of video data from the values of the predictors and the decoded differences; and identify, based on the determined values of the motion vectors of the affine motion model for the current block of video data, a predictor block of video data.
-
Specification