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 moving picture encoding method for encoding pictures on a block-by-block basis, the method comprising:
selectively adding, to a list, a motion vector of each of one or more corresponding blocks each of which is (i) a spatially-neighboring block spatially adjacent to a current block in a current picture to be encoded or (ii) a temporally-neighboring corresponding block temporally adjacent to the current block and included in a picture other than the current picture;
selecting a motion vector used for encoding the current block, from among the motion vectors in the list; and
encoding the current block using the selected motion vector,
wherein the adding of the motion vector further includes:
calculating a second motion vector by scaling a first motion vector of the temporally-neighboring corresponding block;
determining whether a magnitude of the second motion vector is within a predetermined fixed magnitude range or not, the fixed magnitude range being determined based on a bit precision of a motion vector;
adding the second motion vector to the list, when the magnitude of the second motion vector is within the fixed magnitude range, as the motion vector of the temporally-neighboring corresponding block; and
adding a clipped second motion vector to the list, when the magnitude of the second motion vector is not within the fixed magnitude range, as the motion vector of the temporally-neighboring corresponding block, the clipped second motion vector being generated by clipping the second motion vector to have a magnitude within the fixed magnitude range.
2. The moving picture encoding method according to claim 1 ,
wherein the bit precision is 16 bits.
3. A moving picture encoding apparatus which encodes pictures on a block-by-block basis, the apparatus comprising:
an adding unit configured to selectively add, to a list, a motion vector of each of one or more corresponding blocks each of which is (i) a spatially-neighboring block spatially adjacent to a current block in a current picture to be encoded or (ii) a temporally-neighboring corresponding block temporally adjacent to the current block and included in a picture other than the current picture;
a selection unit configured to select a motion vector used for encoding the current block, from among the motion vectors in the list; and
an encoding unit configured to encode the current block using the selected motion vector,
wherein the adding unit is configured to
calculate a second motion vector by scaling a first motion vector of the temporally-neighboring corresponding block,
determine whether a magnitude of the second motion vector is within a predetermined fixed magnitude range or not, the fixed magnitude range being determined based on a bit precision of a motion vector,
add the second motion vector to the list, when the magnitude of the second motion vector is within the fixed magnitude range, as the motion vector of the temporally-neighboring corresponding block, and
add a clipped second motion vector to the list, when the magnitude of the second motion vector is not within the fixed magnitude range, as the motion vector of the temporally-neighboring corresponding block, the clipped second motion vector being generated by clipping the second motion vector to have a magnitude within the fixed magnitude range.