Video encoding and decoding
First Claim
1. A method of encoding a sequence of digital images into a bitstream, at least one block being encoded by inter prediction, the method comprising:
- generating a set of motion vector predictor candidates for a block to encode of a current frame, the set of motion vector predictor candidates being permitted to include, if available, at least one spatial motion vector predictor candidate and no more than one temporal motion vector predictor candidate, the generating comprising, if available, selecting as said temporal motion vector predictor candidate a motion vector at a predetermined position in a block of a reference frame, the reference frame being different from the current frame, wherein the block of the reference frame is located in vicinity of a bottom right position of an area, wherein the block of the reference frame is neighboring the area, and wherein the area has the same position and the same size as the block to encode;
selecting a motion vector predictor candidate from the generated set as a motion vector predictor for encoding a motion vector associated with the block to encode; and
encoding in the bitstream information identifying the selected motion vector predictor candidate,wherein the generating comprises, if available, selecting as the spatial motion vector predictor candidate a motion vector associated with a block neighboring and diagonally below and to the left of the block to encode.
0 Assignments
0 Petitions
Accused Products
Abstract
A temporal motion vector predictor is includable, together with one or more spatial motion vector predictors, in a set of motion vector predictors for a block to encode of a current frame. A method of determining the temporal motion vector predictor comprises selecting as the temporal predictor one motion vector from among motion vectors in a reference block of a reference frame different from the current frame. The reference block is a block of the reference frame collocated with the block to encode or a block of the reference frame neighboring the collocated block. The selection is based on a diversity criterion for achieving diversity among the predictors of the set. This can reduce the motion vector memory requirements with no or no significant additional coding efficiency penalty. Alternatively, even if the motion vector memory is not reduced in size, coding efficiency improvements can be achieved.
-
Citations
12 Claims
-
1. A method of encoding a sequence of digital images into a bitstream, at least one block being encoded by inter prediction, the method comprising:
-
generating a set of motion vector predictor candidates for a block to encode of a current frame, the set of motion vector predictor candidates being permitted to include, if available, at least one spatial motion vector predictor candidate and no more than one temporal motion vector predictor candidate, the generating comprising, if available, selecting as said temporal motion vector predictor candidate a motion vector at a predetermined position in a block of a reference frame, the reference frame being different from the current frame, wherein the block of the reference frame is located in vicinity of a bottom right position of an area, wherein the block of the reference frame is neighboring the area, and wherein the area has the same position and the same size as the block to encode; selecting a motion vector predictor candidate from the generated set as a motion vector predictor for encoding a motion vector associated with the block to encode; and encoding in the bitstream information identifying the selected motion vector predictor candidate, wherein the generating comprises, if available, selecting as the spatial motion vector predictor candidate a motion vector associated with a block neighboring and diagonally below and to the left of the block to encode. - View Dependent Claims (2, 3, 4)
-
-
5. A method of decoding a bitstream comprising an encoded sequence of digital images, at least one block having been encoded by inter prediction, the method comprising:
-
generating a set of motion vector predictor candidates for a block to decode of a current frame, the set of motion vector predictor candidates being permitted to include, if available, at least one spatial motion vector predictor candidate and no more than one temporal motion vector predictor candidate, the generating comprising, if available, selecting as said temporal motion vector predictor candidate a motion vector at a predetermined position in a block of a reference frame, the reference frame being different from the current frame, wherein the block of the reference frame is located in vicinity of a bottom right position of an area, wherein the block of the reference frame is neighboring the area, and wherein the area has the same position and the same size as the block to decode; selecting a motion vector predictor candidate from the generated set as a motion vector predictor for the block to decode based on information decoded from the bitstream; and determining a motion vector for the block to decode based on the motion vector predictor, wherein the generating comprises, if available, selecting as the spatial motion vector predictor candidate a motion vector associated with a block neighboring and diagonally below and to the left of the block to decode. - View Dependent Claims (6, 7, 8)
-
-
9. An apparatus for encoding a sequence of digital images into a bitstream, at least one block being encoded by inter prediction, the apparatus comprising:
-
a generating unit configured to generate a set of motion vector predictor candidates for a block to encode of a current frame, the set of motion vector predictor candidates being permitted to include, if available, at least one spatial motion vector predictor candidate and no more than one temporal motion vector predictor candidate, wherein, if available, the generating unit selects as said temporal motion vector predictor candidate a motion vector at a predetermined position in a block of a reference frame, the reference frame being different from the current frame, wherein the block of the reference frame is located in vicinity of a bottom right position of an area, wherein the block of the reference frame is neighboring the area, and wherein the area has the same position and the same size as the block to encode; a selecting unit configured to select a motion vector predictor candidate from the generated set as a motion vector predictor for encoding a motion vector associated with the block to encode; and an encoding unit configured to encode in the bitstream information identifying the selected motion vector predictor candidate, wherein, if available, the generating unit selects as the spatial motion vector predictor candidate a motion vector associated with a block neighboring and diagonally below and to the left of the block to encode.
-
-
10. An apparatus for decoding a bitstream comprising an encoded sequence of digital images, at least one block having been encoded by inter prediction, the apparatus comprising:
-
a generating unit configured to generate a set of motion vector predictor candidates for a block to decode of a current frame, the set of motion vector predictor candidates being permitted to include, if available, at least one spatial motion vector predictor candidate and no more than one temporal motion vector predictor candidate, wherein, if available, the generating unit selects as said temporal motion vector predictor candidate a motion vector at a predetermined position in a block of a reference frame, the reference frame being different from the current frame, wherein the block of the reference frame is located in vicinity of a bottom right position of an area, wherein the block of the reference frame is neighboring the area, and wherein the area has the same position and the same size as the block to decode; a selecting unit configured to select a motion vector predictor candidate from the generated set as a motion vector predictor for the block to decode based on information decoded from the bitstream; and a determining unit configured to determine a motion vector for the block to decode based on the motion vector predictor, wherein, if available, the generating unit selects as the spatial motion vector predictor candidate a motion vector associated with a block neighboring and diagonally below and to the left of the block to decode.
-
-
11. A non-transitory computer-readable medium storing a program which, when executed, causes a computer to execute a process of encoding a sequence of digital images into a bitstream, at least one block being encoded by inter prediction, the process comprising:
-
generating a set of motion vector predictor candidates for a block to encode of a current frame, the set of motion vector predictor candidates being permitted to include, if available, at least one spatial motion vector predictor candidate and no more than one temporal motion vector predictor candidate, the generating comprising, if available, selecting as said temporal motion vector predictor candidate a motion vector at a predetermined position in a block of a reference frame, the reference frame being different from the current frame, wherein the block of the reference frame is located in vicinity of a bottom right position of an area, wherein the block of the reference frame is neighboring the area, and wherein the area has the same position and the same size as the block to encode; selecting a motion vector predictor candidate from the generated set as a motion vector predictor for encoding a motion vector associated with the block to encode; and encoding in the bitstream information identifying the selected motion vector predictor candidate, wherein the generating comprises, if available, selecting as the spatial motion vector predictor candidate a motion vector associated with a block neighboring and diagonally below and to the left of the block to encode.
-
-
12. A non-transitory computer-readable medium storing a program which, when executed, causes a computer to execute a process of decoding a bitstream comprising an encoded sequence of digital images, at least one block having been encoded by inter prediction, the process comprising:
-
generating a set of motion vector predictor candidates for a block to decode of a current frame, the set of motion vector predictor candidates being permitted to include, if available, at least one spatial motion vector predictor candidate and no more than one temporal motion vector predictor candidate, the generating comprising, if available, selecting as said temporal motion vector predictor candidate a motion vector at a predetermined position in a block of a reference frame, the reference frame being different from the current frame, wherein the block of the reference frame is located in vicinity of a bottom right position of an area, wherein the block of the reference frame is neighboring the area, and wherein the area has the same position and the same size as the block to decode; selecting a motion vector predictor candidate from the generated set as a motion vector predictor for the block to decode based on information decoded from the bitstream; and determining a motion vector for the block to decode based on the motion vector predictor, wherein the generating comprises, if available, selecting as the spatial motion vector predictor candidate a motion vector associated with a block neighboring and diagonally below and to the left of the block to decode.
-
Specification