Moving picture coding method, moving picture coding apparatus, moving picture decoding method, moving picture decoding apparatus, and moving picture coding and decoding apparatus
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 a current block, the decoding method comprising:
deriving a motion vector predictor from a reference block, wherein the reference block is either (i) a neighboring block spatially adjacent to the current block and included in a current picture, or (ii) a collocated block included in a picture other than the current picture;
adding the derived motion vector predictor to a motion vector predictor list (MVP list); and
decoding the current block by selecting one of the motion vector predictors from the MVP list,
wherein, when the reference block is a neighboring block spatially adjacent to the current block, deriving the motion vector predictor includes:
calculating a second motion vector by scaling a first motion vector of the reference block;
determining whether a magnitude of the second motion vector is within a predetermined magnitude range;
when the magnitude of the second motion vector is within the predetermined magnitude range, deriving the motion vector predictor as equal to the second motion vector; and
when the magnitude of the second motion vector is not within the predetermined magnitude range, deriving the motion vector predictor by clipping the second motion vector such that the motion vector predictor has a magnitude within the predetermined magnitude range,
wherein the predetermined magnitude range is based on a 16-bit precision of a motion vector.
2. The decoding method of claim 1 wherein thecollocated block is included in a picture adjacent to the current picture in a sequence of pictures.
3. The decoding method of claim 1 wherein the collocated block is included in a picture other than a picture adjacent to the current picture in a sequence of pictures.
4. The decoding method of claim 1 wherein theneighboring block spatially adjacent to the current block is located above the current block.
5. The decoding method of claim 1 wherein the neighboring block spatially adjacent to the current block is located left of the current block.
6. The decoding method of claim 1 wherein the motion vector predictor is associated with a difference motion vector.
7. A decoding apparatus for decoding a current block, the encoding apparatus comprising:
memory storing instructions;
and processing circuitry,
wherein the processing circuitry is configured to perform decoding processing based on the instructions stored in the memory, the decoding processing including:
deriving a motion vector predictor from a reference block, wherein the reference block is either (i) a neighboring block spatially adjacent to the current block and included in a current picture, or (ii) a collocated block included in a picture other than the current picture;
adding the derived motion vector predictor to a motion vector predictor list (MVP list); and
decoding the current block by selecting one of the motion vector predictors from the MVP list,
wherein, when the reference block is a neighboring block spatially adjacent to the current block, deriving the motion vector predictor includes:
calculating a second motion vector by scaling a first motion vector of the reference block;
determining whether a magnitude of the second motion vector is within a predetermined magnitude range;
when the magnitude of the second motion vector is within the predetermined magnitude range, deriving the motion vector predictor as equal to the second motion vector; and
when the magnitude of the second motion vector is not within the predetermined magnitude range, deriving the motion vector predictor by clipping the second motion vector such that the motion vector predictor has a magnitude within the predetermined magnitude range,
wherein the predetermined magnitude range is based on a 16-bit precision of a motion vector.
8. The decoding apparatus of claim 7 wherein the collocated block is included in a picture adjacent to the current picture in a sequence of pictures.
9. The decoding apparatus of claim 7 wherein the collocated block is included in a picture other than a picture adjacent to the current picture in a sequence of pictures.
10. The decoding apparatus of claim 7 wherein theneighboring block spatially adjacent to the current block is located above the current block.
11. The decoding apparatus of claim 7 wherein theneighboring block spatially adjacent to the current block is located left of the current block.
12. The decoding apparatus of claim 7 wherein the motion vector predictor is associated with a difference motion vector.
13. A non-transitory computer readable recording medium storing a program that, when executed on a computing device, performs operations comprising:
deriving a motion vector predictor from a reference block, wherein the reference block is either (i) a neighboring block spatially adjacent to the current block and included in a current picture, or (ii) a collocated block included in a picture other than the current picture;
adding the derived motion vector predictor to a motion vector predictor list (MVP list); and
decoding the current block by selecting one of the motion vector predictors from the MVP list,
wherein, when the reference block is a neighboring block spatially adjacent to the current block, deriving the motion vector predictor includes:
calculating a second motion vector by scaling a first motion vector of the reference block;
determining whether a magnitude of the second motion vector is within a predetermined magnitude range;
when the magnitude of the second motion vector is within the predetermined magnitude range, deriving the motion vector predictor as equal to the second motion vector; and
when the magnitude of the second motion vector is not within the predetermined magnitude range, deriving the motion vector predictor by clipping the second motion vector such that the motion vector predictor has a magnitude within the predetermined magnitude range,
wherein the predetermined magnitude range is based on a 16-bit precision of a motion vector.
14. The non-transitory computer readable recording medium of claim 13 wherein the collocated block is included in a picture adjacent to the current picture in a sequence of pictures.
15. The non-transitory computer readable recording medium of claim 13 wherein the collocated block is included in a picture other than a picture adjacent to the current picture in a sequence of pictures.
16. The non-transitory computer readable recording medium of claim 13 wherein the neighboring block spatially adjacent to the current block is located above the current block.
17. The non-transitory computer readable recording medium of claim 13 wherein the neighboring block spatially adjacent to the current block is located left of the current block.
18. The non-transitory computer readable recording medium of claim 13 wherein the motion vector predictor is associated with a difference motion vector.