Segmentation-based parameterized motion models
First Claim
1. A method of encoding a current block of a video frame, comprising:
- partitioning the video frame into blocks, wherein the blocks comprise the current block;
for each of a plurality of reference frames, performing steps comprising;
segmenting, based on motion model types each having a respective complexity, the video frame with respect to the each reference frame to obtain a reference-frame-based segmentation,wherein the reference-frame-based segmentation comprises segments,wherein each segment of the segments comprises a respective subset of the blocks of the video frame, andwherein a segment of the segments comprises the current block and a respective parameterized motion model for the segment;
selecting, for the segment comprising the current block, a least complex motion model type that has a value of an error metric below a threshold, wherein the error metric for a parameterized motion model of the respective parameterized motion models is;
E=Σ
α
|cxy−
wxy|0.6 where α
is a weight value, cxy is a first pixel at (x, y) in the video frame, and wxy is a second pixel at (x, y) in a warped frame, the warped frame corresponding to the video frame warped according to the parameterized motion model; and
selecting, for the segment, a selected parameterized motion model corresponding to the least complex motion model type;
determining a first motion vector for the current block based on the selected parameterized motion model;
determining a second motion vector for the current block using translational motion compensation; and
encoding, for the current block, the one of the first motion vector and the second motion vector corresponding to a smaller error.
1 Assignment
0 Petitions
Accused Products
Abstract
A method includes segmenting the video frame with respect to a reference frame resulting in a segmentation, determining a first motion vector for the current block based on the segmentation, determining a second motion vector for the current block using translational motion compensation, and encoding, for the current block, the one of the first motion vector and the second motion vector corresponding to a smaller error. The segmentation includes a segment containing the current block and a parameterized motion model for the segment. Another method includes identifying a parameterized motion model corresponding to a motion model type, associating the parameterized motion model with a segment of a reference frame, and, in response to determining that the current block is encoded using the parameterized motion model, decoding the current block using the parameterized motion model.
11 Citations
12 Claims
-
1. A method of encoding a current block of a video frame, comprising:
-
partitioning the video frame into blocks, wherein the blocks comprise the current block; for each of a plurality of reference frames, performing steps comprising; segmenting, based on motion model types each having a respective complexity, the video frame with respect to the each reference frame to obtain a reference-frame-based segmentation, wherein the reference-frame-based segmentation comprises segments, wherein each segment of the segments comprises a respective subset of the blocks of the video frame, and wherein a segment of the segments comprises the current block and a respective parameterized motion model for the segment; selecting, for the segment comprising the current block, a least complex motion model type that has a value of an error metric below a threshold, wherein the error metric for a parameterized motion model of the respective parameterized motion models is;
E=Σ
α
|cxy−
wxy|0.6where α
is a weight value, cxy is a first pixel at (x, y) in the video frame, and wxy is a second pixel at (x, y) in a warped frame, the warped frame corresponding to the video frame warped according to the parameterized motion model; andselecting, for the segment, a selected parameterized motion model corresponding to the least complex motion model type; determining a first motion vector for the current block based on the selected parameterized motion model; determining a second motion vector for the current block using translational motion compensation; and encoding, for the current block, the one of the first motion vector and the second motion vector corresponding to a smaller error. - View Dependent Claims (2, 3, 4, 5)
-
-
6. An apparatus configured to encode a current block of a video frame, the apparatus comprising:
a processor configured to execute instructions stored in a non-transitory storage medium to; segment the video frame with respect to a reference frame resulting in a segmentation, the segmentation comprising a segment containing the current block and a parameterized motion model for the segment, wherein to segment the video frame with respect to the reference frame comprises to; segment the video frame with respect to the reference frame based on one or more of a plurality of motion model types to provide respective segmentations, each of the plurality of motion model types having a respective complexity; calculate a global motion error for each segmentation; and select the segmentation corresponding to a least complex motion model type corresponding to an error metric being below a threshold, wherein the error metric is;
E=Σ
α
|cxy−
wxy|βwhere α
is a weight value, β
is a value that is less than 1, cxy is a first pixel at (x, y) in the video frame, and wxy is a second pixel at (x, y) in a warped frame, the warped frame corresponding to the video frame warped according to the parameterized motion model;determine a first motion vector for the current block based on the segmentation; determine a second motion vector for the current block using translational motion compensation; and encode, for the current block, the one of the first motion vector and the second motion vector corresponding to a smaller error. - View Dependent Claims (7, 8, 9)
-
10. A method of encoding a current block of a video frame, comprising:
-
segmenting the video frame with respect to a reference frame resulting in a segmentation, the segmentation comprising a segment containing the current block; for each of a plurality of motion model types, determining a parameterized motion model for the segment, each of the plurality of the motion model types having a respective complexity; for each of the determined parameterized motion models, determining a value of an error metric; selecting the determined parameterized motion model corresponding to a least complex motion model type that has a respective value of the error metric below a threshold; determining a first motion vector for the current block based on the selected parameterized motion model; determining a second motion vector for the current block using translational motion compensation; and encoding, for the current block, the one of the first motion vector and the second motion vector corresponding to a smaller error. - View Dependent Claims (11, 12)
-
Specification