Video encoding and decoding
AssigneeCanon Kabushiki Kaisha
InventorsGuillaume Laroche, Patrice Onno, Edouard Francois
Life of this patent
Estimating the term…
Abstract
Motion vectors of a first reference frame are permitted to point to a plurality of further reference frames. A method of storing the motion vectors comprises, when a block of the first reference frame has two motion vectors (V2A, V2B) initially, selecting one of the two motion vectors, the non-selected motion vector not being stored. The selected motion vector may be scaled. This can reduce the motion vector memory size.
Claims11
A method of decoding a sequence of digital images from a bitstream, the method comprising:
- obtaining a plurality of motion vector predictor candidates;
- and
- decoding, from the bitstream, a block to decode using motion vector predictor based on a motion vector predictor candidate from the obtained plurality of motion vector predictor candidates,
- wherein, in a case where one or more motion vector(s) from a frame including the block to decode are available for the block to decode, the one or more of the motion vector(s) from the frame including the block to decode are includable in the plurality of obtained motion vector predictor candidates as spatial motion vector predictor candidates, and, in a case where one motion vector from a first reference frame different from the frame including the block to decode is available for the block to decode, the one motion vector from the first reference frame is includable in the obtained plurality of motion vector predictor candidates as a one and only temporal motion vector predictor candidate,
- wherein the one motion vector from a block in the first reference frame is permitted to point to one of a plurality of further reference frames, and the obtaining the plurality of motion vector candidates comprises determining the one of the plurality of further reference frames and scaling the motion vector pointing to the determined further reference frame by using a temporal distance between the first reference frame and the determined further reference frame,
- wherein, in a case where a motion vector associated with a below left block of the block to decode is available for the block to decode, the motion vector associated with the below left block is includable as one of the plurality of motion vector predictor candidates, and
- wherein, in a case where a motion vector associated with a first position in the first reference frame is available for the block to decode, said first position neighboring and diagonally below and to the right of a collocated area of the block to decode, the motion vector associated with the first position is includable as one of the plurality of motion vector predictor candidates, the motion vector associated with the first position being a motion vector obtained from a top left position of an N×N area, the first position being located within said N×N area.
An apparatus for decoding a sequence of images from a bitstream, the apparatus comprising:
- an obtaining unit configured to obtain a plurality of motion vector predictor candidates;
- and
- a decoding unit configured to decode, from the bitstream, a block to decode using a motion vector predictor based on a motion vector predictor candidate from the obtained plurality of motion vector predictor candidates,
- wherein, in a case where one or more motion vector(s) from a frame including the block to decode are available for the block to decode, the one or more of the motion vector(s) from the frame including the block to decode are includable in the plurality of obtained motion vector predictor candidates as spatial motion vector predictor candidates, and, in a case where one motion vector from a first reference frame different from the frame including the block to decode is available for the block to decode, the one motion vector from the first reference frame is includable in the obtained plurality of motion vector predictor candidates as a one and only temporal motion vector predictor candidate,
- wherein the one motion vector from a block in the first reference frame is permitted to point to one of a plurality of further reference frames, and the obtaining unit is configured to determine the one of the plurality of further reference frames and scaling the motion vector pointing to the determined further reference frame by using a temporal distance between the first reference frame and the determined further reference frame,
- wherein, in a case where a motion vector associated with a first position in the first reference frame is available for the block to decode, said first position neighboring and diagonally below and to the right of a collocated area of the block to decode, the motion vector associated with the first position is includable as one of the plurality of motion vector predictor candidates, the motion vector associated with the first position being a motion vector obtained from a top left position of an NxN area, the first position being located within said NxN area.
A non-transitory computer readable medium comprising processor executable code for performing a method of decoding a sequence of images from a bitstream, the method comprising:
- obtaining a plurality of motion vector predictor candidates;
- and
- decoding, from the bitstream, a block to decode using a motion vector predictor based on a motion vector predictor candidate from the obtained plurality of motion vector predictor candidates,
- wherein, in a case where one or more motion vector(s) from a frame including the block to decode are available for the block to decode, the one or more of the motion vector(s) from the frame including the block to decode are includable in the plurality of obtained motion vector predictor candidates as spatial motion vector predictor candidates, and, in a case where one motion vector from a first reference frame different from the frame including the block to decode is available for the block to decode, the one motion vector from the first reference frame is includable in the obtained plurality of motion vector predictor candidates as a one and only temporal motion vector predictor candidate,
- wherein the one motion vector from a block in the first reference frame is permitted to point to one of a plurality of further reference frames, and the obtaining the plurality of motion vector candidates comprises determining the one of the plurality of further reference frames and scaling the motion vector pointing to the determined further reference frame by using a temporal distance between the first reference frame and the determined further reference frame,
- wherein, in a case where a motion vector associated with a below left block of the block to decode is available for the block to decode, the motion vector associated with the below left block is includable as one of the plurality of motion vector predictor candidates, and
- wherein, in a case where a motion vector associated with a first position in the first reference frame is available for the block to decode, said first position neighboring and diagonally below and to the right of a collocated area of the block to decode, the motion vector associated with the first position is includable as one of the plurality of motion vector predictor candidates, the motion vector associated with the first position being a motion vector obtained from a top left position of an NxN area, the first position being located within said NxN area.
Dependencies are inferred from the claim text.