Moving picture coding method, moving picture coding apparatus, moving picture decoding method, moving picture decoding apparatus, and moving picture coding and decoding apparatus
View Patent ↗A moving picture coding apparatus includes an intra-inter prediction unit which calculates a second motion vector by performing a scaling process on a first motion vector of a temporally neighboring corresponding block, when selectively adding, to a list, a motion vector of each of one or more corresponding blocks each of which is either a block included in a current picture to be coded and spatially neighboring a current block to be coded or a block included in a picture other than the current picture and temporally neighboring the current block, determines whether the second motion vector has a magnitude that is within a predetermined magnitude or not within the predetermined magnitude, and adds the second motion vector to the list when the intra-inter prediction unit determines that the second motion vector has a magnitude that is within the predetermined magnitude range.
1. A decoding method for decoding pictures on a block-by-block basis, the decoding method comprising:
receiving a bitstream including the pictures;
deriving codec standard information from the bitstream;
selecting one of a first decoding process and a second decoding process to be performed based on the codec standard information; and
decoding the pictures by performing the selected one of the first decoding process and the second decoding process,
wherein the first decoding process includes:
constructing a list for one or more candidates of a current motion vector of a current block;
selectively adding, to the list, a motion vector of each of one or more reference blocks each of which is (i) a neighboring block spatially adjacent to a current block in a current picture or (ii) a collocated block included in a picture other than the current picture;
selecting a motion vector used for decoding the current block from the list; and
decoding the current block using the selected motion vector,
wherein the adding of the motion vector includes:
calculating a second motion vector by scaling a first motion vector of the collocated block;
determining whether a magnitude of the second motion vector is within a predetermined fixed magnitude range or not;
adding the second motion vector to the list as the motion vector of the collocated block when the magnitude of the second motion vector is within the fixed magnitude range; and
adding a third motion vector to the list as the motion vector of the collocated block when the magnitude of the second motion vector is not within the fixed magnitude range, the third motion vector being generated by clipping the second motion vector to have a magnitude within the fixed magnitude range, and
wherein the second decoding process includes:
deriving the first motion vector of the collocated block;
calculating the second motion vector by scaling the first motion vector; and
decoding the current block using the second motion vector as a motion vector of the current block.
2. A decoding apparatus for decoding pictures on a block-by-block basis, the decoding apparatus comprising:
storage; and
processing circuitry coupled to the storage,
wherein the processing circuitry is configured to perform one of a first decoding processing and a second decoding processing,
the first decoding processing including:
reading one or more reference blocks each of which is (i) a neighboring block spatially adjacent to a current block in a current picture or (ii) a collocated block included in a picture other than the current picture, the one or more reference blocks being stored in the storage;
constructing a list for one or more candidates of a current motion vector of a current block;
selectively adding, to the list, a motion vector of each of the one or more reference blocks;
selecting a motion vector used for decoding the current block from the list; and
decoding the current block using the selected motion vector, and the adding of the motion vector includes:
calculating a second motion vector by scaling a first motion vector of the collocated block;
determining whether a magnitude of the second motion vector is within a predetermined fixed magnitude range or not;
adding the second motion vector to the list as the motion vector of the collocated block when the magnitude of the second motion vector is within the fixed magnitude range; and
adding a third motion vector to the list as the motion vector of the collocated block when the magnitude of the second motion vector is not within the fixed magnitude range, the third motion vector being generated by clipping the second motion vector to have a magnitude within the fixed magnitude range, and
the second decoding processing includes:
deriving the first motion vector of the collocated block;
calculating the second motion vector by scaling the first motion vector; and
decoding the current block using the second motion vector as a motion vector of the current block.