Motion vector calculation method, picture coding method, picture decoding method, motion vector calculation apparatus, and picture coding and decoding apparatus
Abstract
A current block included in a current picture included in a coded video stream is decoded by determining a reference picture in the coded video stream, the reference picture being included in one of (i) a first reference picture group of the current block and (ii) a second reference picture group of the current block; selecting a reference motion vector of a reference block in the reference picture such that in situation (A) when the reference block has a first reference motion vector and a second reference motion vector that respectively correspond to the first reference picture group and the second reference picture group, (i) the first reference motion vector is selected when the reference picture is included in the second reference picture group and (ii) the second reference motion vector is selected when the reference picture is included in the first reference picture group, in situation (B) when the reference block has only one reference motion vector, the only reference motion vector is selected, and in situation (C) when the reference block has no reference motion vector, a zero reference motion vector is selected; deriving the motion vector of the current block using the selected one reference motion vector; and decoding the current block using the derived motion vector.
Claims
exact text as granted — not AI-modifiedThe invention claimed is:
1 . A decoding method of decoding a current blockplurality of blocks included in a current picture,plurality of pictures, the current pictureplurality of pictures being included in a coded video stream, the decoding method comprising:
decoding a first block from among the plurality of blocks; the first block being included in a first picture from among the plurality of pictures; decoding a second block from among the plurality of blocks; the second block being included in a second picture from among the plurality of pictures; and decoding a third block from among the plurality of blocks; the third block being included in a third picture from among the plurality of pictures, wherein the decoding the first block includes:
determining a first reference picture in the coded video stream, the first reference picture being included in one of (i) a first reference picture group of the current first block and (ii) a second reference picture group of the current first block;
selecting a reference motion vector among from one or more reference motion vectors of a reference block in the reference picture such that
in situation (A) when the reference block has a first reference motion vector and a second reference motion vector that respectively correspond to the first reference picture group and the second reference picture group, (i) the first reference motion vector is selected when the reference picture is included in the second reference picture group and (ii) the second reference motion vector is selected when the reference picture is included in the first reference picture group, in situation (B) when the reference block has only one reference motion vector, the only reference motion vector is selected, and in situation (C) when the reference block has no reference motion vector, a zero reference motion vector is selected; deriving the motion vector of the current block using the selected one reference motion vector, and decoding the current block using the derived motion vector.
determining that (i) a reference block in the first reference picture has a first reference motion vector and a second reference motion vector that respectively correspond to the first reference picture group of the first block and the second reference picture group of the first block and (ii) a position flag indicates that the first reference picture is included in the second reference picture group of the first block;
selecting the first reference motion vector in response to determining that (i) the reference block in the first reference picture has the first reference motion vector and the second reference motion vector that respectively correspond to the first reference picture group of the first block and the second reference picture group of the first block and (ii) the position flag indicates that the first reference picture is included in the second reference picture group;
deriving a motion vector of the first block using the selected first reference motion vector; and
decoding the first block using the derived motion vector of the first block; wherein the decoding the second block includes:
determining a second reference picture in the coded video stream; the second reference picture being included in one of (i) a first reference picture group of the second block and (ii) a second reference picture group of the second block;
determining a reference block in the second reference picture has only one reference motion vector;
selecting the only one reference motion vector in the second reference picture in response to determining that the reference block in the second reference picture has the only one reference motion vector;
deriving a motion vector of the second block using the selected only one reference motion vector; and
decoding the second block using the derived motion vector of the second block;
wherein the decoding the third block includes:
determining a third reference picture in the coded video stream; the third reference picture being included in one of (i) a first reference picture group of the third block and (ii) a second reference picture group of the third block; determining that a reference block in the third reference picture has no reference motion vector;
selecting a zero reference motion vector in response to determining that the reference block in the third reference picture has no reference motion vector;
deriving a motion vector of the third block using the selected zero reference motion vector; and
decoding the third block using the derived motion vector of the third block.
2 . The decoding method according to claim 1 , further comprising wherein:
obtaining a position flag added to the current picture including the block, wherein, in the selecting, in the case where the reference block has, as the first reference motion vector and the second reference motion vector, a forward reference motion vector directed forward and a backward reference motion vector directed backward, the forward reference motion vector is selected from among the first reference motion vector and the second reference motion vector when the position flag indicates that the reference block is located after the current block, and the backward reference motion vector is selected from among the first reference motion vector and the second reference motion vector when the position flag indicates that the reference block is located before the current block. the first reference motion vector is a backward reference motion vector directed backward, and the second reference motion vector is a forward reference motion vector directed forward, and the position flag indicates that the reference block in the first reference picture is located before the first block.
3 . The decoding method according to claim 1 , wherein:
in the situation (A), the first reference motion vector is a forward reference motion vector directed forward, and the second reference motion vector is a backward reference motion vector directed backward, and the position flag indicates that the reference block in the first reference picture is located after the first block. the forward reference motion vector is selected when the reference block is located after the current block, and the backward reference motion vector is selected when the reference block is located before the current block.
4 . A decoding apparatus for decoding a current blockplurality of blocks included in a current picture,plurality of pictures, the current pictureplurality of pictures being included in a coded video stream, the decoding apparatus comprising:
a processor; a non-transitory memory having stored thereon executable instructions, which when executed by the processor, cause the processor to perform the following steps:
decoding a first block from among the plurality of blocks, the first block being included in a first picture from among the plurality of pictures;
decoding a second block from among the plurality of blocks, the second block being included in a second picture from among the plurality of pictures; and
decoding a third block from among the plurality of blocks, the third block being included in a third picture from among the plurality of pictures, wherein the decoding the first block includes:
determining a first reference picture in the coded video stream, the first reference picture being included in one of (i) a first reference picture group of the current first block and (ii) a second reference picture group of the current first block, selecting a reference motion vector among from one or more reference motion vectors of a reference block in the reference picture such that
in situation (A) when the reference block has a first reference motion vector and a second reference motion vector that respectively correspond to the first reference picture group and the second reference picture group, (i) the first reference motion vector is selected when the reference picture is included in the second reference picture group and (ii) the second reference motion vector is selected when the reference picture is included in the first reference picture group,
in situation (B) when the reference block has only one reference motion vector, the only reference motion vector is selected, and
in situation (C) when the reference block has no reference motion vector, a zero reference motion vector is selected,
deriving the motion vector of the current block using the selected one reference motion vector, and
decoding the current block using the derived motion vector.
determining that (i) a reference block in the first reference picture has a first reference motion vector and a second reference motion vector that respectively correspond to the first reference picture group of the first block and the second reference picture group of the first block and (ii) a position flag indicates that the first reference picture is included in the second reference picture group of the first block; selecting the first reference motion vector in response to determining that (i) the reference block in the first reference picture has the first reference motion vector and the second reference motion vector that respectively correspond to the first reference picture group of the first block and the second reference picture group of the first block and (ii) the position flag indicates that the first reference picture is included in the second reference picture group;
deriving a motion vector of the first block using the selected first reference motion vector; and
decoding the first block using the derived motion vector of the first block; wherein the decoding the second block includes:
determining a second reference picture in the coded video stream; the second reference picture being included in one of (i) a first reference picture group of the second block and (ii) a second reference picture group of the second block;
determining a reference block in the second reference picture has only one reference motion vector;
selecting the only one reference motion vector in the second reference picture in response to determining that the reference block in the second reference picture has the only one reference motion vector;
deriving a motion vector of the second block using the selected only one reference motion vector; and
decoding the second block using the derived motion vector of the second block; and
wherein the decoding the third block includes:
determining a third reference picture in the coded video stream; the third reference picture being included in one of (i) a first reference picture group of the third block and (ii) a second reference picture group of the third block;
determining that a reference block in the third reference picture has no reference motion vector;
selecting a zero reference motion vector in response to determining that the reference block in the third reference picture has no reference motion vector;
deriving a motion vector of the third block using the selected zero reference motion vector; and
decoding the third block using the derived motion vector of the third block.
5 . The decoding apparatus in claim 4 , wherein:
in the situation (A), the first reference motion vector is a forward reference motion vector directed forward, and the second reference motion vector is a backward reference motion vector directed backward, and the position flag indicates that the reference block in the first reference picture is located after the first block. the forward reference motion vector is selected when the reference block is located after the current block, and the backward reference motion vector is selected when the reference block is located before the current block.
6 . The decoding apparatus in claim 4 , wherein the non-transitory memory includes executable instructions, which when executed by the processor, cause the processor to perform the following: wherein:
obtaining a position flag added to the current picture including the current block, wherein, in said selecting, in the case where the reference block has, as the first reference motion vector and the second reference motion vector, a forward reference motion vector directed forward and a backward reference motion vector directed backward, the forward reference motion vector is selected from among the first reference motion vector and the second reference motion vector when the position flag indicates that the reference block is located after the current block, and the backward reference motion vector is selected from among the first reference motion vector and the second reference motion vector when the position flag indicates that the reference block is located before the current block. the first reference motion vector is a backward reference motion vector directed backward, and the second reference motion vector is a forward reference motion vector directed forward, and the position flag indicates that the reference block in the first reference picture is located before the first block.
7 . A decoding apparatus for decoding a current blockplurality of blocks included in a current picture,plurality of pictures, the current pictureplurality of pictures being included in a coded video stream, the decoding methodapparatus comprising:
processing circuitry configured to:; and decoding circuitry configured to:
decode a first block from among the plurality of blocks, the first block being included in a first picture from among the plurality of pictures; decode a second block from among the plurality of blocks, the second block being included in a second picture from among the plurality of pictures; and decode a third block from among the plurality of blocks, the third block being included in a third picture from among the plurality of pictures, wherein the processing circuity is configured to: determine a first reference picture in the coded video stream, the first reference picture being included in one of (i) a first reference picture group of the current first block and (ii) a second reference picture group of the current first block; select a reference motion vector among from one or more reference motion vectors of a reference block in the reference picture such that
in situation (A) when the reference block has a first reference motion vector and a second reference motion vector that respectively correspond to the first reference picture group and the second reference picture group, (i) the first reference motion vector is selected when the reference picture is included in the second reference picture group and (ii) the second reference motion vector is selected when the reference picture is included in the first reference picture group, in situation (B) when the reference block has only one reference motion vector, the only reference motion vector is selected, and in situation (C) when the reference block has no reference motion vector, a zero reference motion vector is selected, derive the motion vector of the current block using the selected one reference motion vector, and decoding circuitry configured to decode the current block using the derived motion vector.
determine that (i) a reference block in the first reference picture has a first reference motion vector and a second reference motion vector that respectively correspond to the first reference picture group of the first block and the second reference picture group of the first block and (ii) a position flag indicates that the first reference picture is included in the second reference picture group of the first block;
select the first reference motion vector in response to determining that (i) the reference block in the first reference picture has the first reference motion vector and the second reference motion vector that respectively correspond to the first reference picture group of the first block and the second reference picture group of the first block and (ii) the position flag indicates that the first reference picture is included in the second reference picture group; and
derive a motion vector of the first block using the selected first reference motion vector,
wherein the decoding circuitry decodes the first block using the derived motion vector of the first block, wherein the processing circuity is configured to:
determine a second reference picture in the coded video stream; the second reference picture being included in one of (i) a first reference picture group of the second block and (ii) a second reference picture group of the second block;
determine a reference block in the second reference picture has only one reference motion vector;
select the only one reference motion vector in the second reference picture in response to determining that the reference block in the second reference picture has the only one reference motion vector; and
derive a motion vector of the second block using the selected only one reference motion vector,
wherein the decoding circuitry decodes the second block using the derived motion vector of the second block, wherein the processing circuity is configured to:
determine a third reference picture in the coded video stream; the third reference picture being included in one of (i) a first reference picture group of the third block and (ii) a second reference picture group of the third block;
determine that a reference block in the third reference picture has no reference motion vector;
select a zero reference motion vector in response to determining that the reference block in the third reference picture has no reference motion vector; and
derive a motion vector of the third block using the selected zero reference motion vector and
wherein the decoding circuitry decodes the third block using the derived motion vector of the third block.
8 . The decoding apparatus in claim 7 , wherein:
in the situation (A), the first reference motion vector is a forward reference motion vector directed forward, and the second reference motion vector is a backward reference motion vector directed backward, and the position flag indicates that the reference block in the first reference picture is located after the first block. the forward reference motion vector is selected when the reference block is located after the current block, and the backward reference motion vector is selected when the reference block is located before the current block.
9 . The decoding apparatus in claim 7 , wherein the non-transitory memory includes executable instructions, which when executed by the processor, cause the processor to perform the following: wherein:
obtaining a position flag added to the current picture including the current block, wherein, in said selecting, in the case where the reference block has, as the first reference motion vector and the second reference motion vector, a forward reference motion vector directed forward and a backward reference motion vector directed backward, the forward reference motion vector is selected from among the first reference motion vector and the second reference motion vector when the position flag indicates that the reference block is located after the current block, and the backward reference motion vector is selected from among the first reference motion vector and the second reference motion vector when the position flag indicates that the reference block is located before the current block. the first reference motion vector is a backward reference motion vector directed backward, and the second reference motion vector is a forward reference motion vector directed forward, and the position flag indicates that the reference block in the first reference picture is located before the first block.Join the waitlist — get patent alerts
Track USRE50698E — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.