Motion vector calculation method
AssigneePanasonic Intellectual Property Corporation of America
InventorsSatoshi KONDO, Shinya KADONO, Makoto HAGAI, Kiyofumi ABE
Life of this patent
Estimating the term…
Abstract
When a block (MB22) of which motion vector is referred to in the direct mode contains a plurality of motion vectors, 2 motion vectors MV23 and MV24, which are used for inter picture prediction of a current picture (P23) to be coded, are determined by scaling a value obtained from averaging the plurality of motion vectors or selecting one of the plurality of the motion vectors.
Claims4
A decoding method for decoding a bit stream corresponding to coded data of a decoding target block included in a decoding target picture in direct mode, wherein the bit stream is generated by the following steps:
- a step of specifying a co-located block which is a block included in a second picture that is different from the coding target picture, the co-located block being located in the second picture at the same position that the coding target block is located in the coding target picture;
- a step of determining a first motion vector and a second motion vector of the coding target block for performing motion compensation on the coding target block, using a third motion vector which is a motion vector of the co-located block;
- a step of generating a first predictive image of the coding target block using the first motion vector of the coding target block and a second predictive image of the coding target block using the second motion vector of the coding target block;
- a step of generating a predictive image of the coding target block based on the first predictive image and the second predictive image;
- a step of generating a difference image of the coding target block between the coding target block and the predictive image of the coding target block;
- and
- a step of coding the difference image of the coding target block to obtain coded data of the coding target block,
- the decoding method comprising the steps of:
- specifying a co-located block which is a block included in a second picture that is different from the decoding target picture, the co-located block being located in the second picture at the same position that the decoding target block is located in the decoding target picture;
- determining a first motion vector and a second motion vector of the decoding target block for performing motion compensation on the decoding target block, using a third motion vector which is a motion vector of the co-located block;
- generating a first predictive image of the decoding target block using the first motion vector of the decoding target block and a second predictive image of the decoding target block using the second motion vector of the decoding target block;
- generating a predictive image of the decoding target block based on the first predictive image and the second predictive image;
- decoding the coded data of the decoding target block to obtain a difference image of the decoding target block;
- and
- reconstructing the decoding target block by adding the difference image of the decoding target block and the predictive image of the decoding target block,
- wherein, the co-located block is motion-compensated using a first motion vector corresponding to a first reference picture of the co-located block and a second motion vector corresponding to a second reference picture of the co-located block, and
- wherein, in the case where the first reference picture of the co-located block is stored in a long-term picture buffer and a second reference picture of the co-located block is stored in a short-term picture buffer, (i) the third motion vector is determined to be equal to the first motion vector of the co-located block, and (ii) the first motion vector of the decoding target block is determined to be equal to the third motion vector, and (iii) the second motion vector of the decoding target block is determined to be a value of 0, and
- wherein, in the case where the first reference picture of the co-located block is stored in a short-term picture buffer and the second reference picture of the co-located block is stored in a long-term picture buffer, (i) the third motion vector is determined to be equal to the first motion vector of the co-located block, and (ii) the first and second motion vectors of the decoding target block are calculated by scaling the third motion vector based on a difference between display order information of the first reference picture of the decoding target block, display order information of the second reference picture of the decoding target block, and display order information of the decoding target picture including the decoding target block.
A decoding apparatus for decoding a bit stream corresponding to coded data of a decoding target block included in a decoding target picture in direct mode, wherein the bit stream is generated by using the following units:
- a unit operable to specify a co-located block which is a block included in a second picture that is different from the coding target picture, the co-located block being located in the second picture at the same position that the coding target block is located in the coding target picture;
- a unit operable to determine a first motion vector and a second motion vector of the coding target block for performing motion compensation on the coding target block, using a third motion vector which is a motion vector of the co-located block;
- a unit operable to generate a first predictive image of the coding target block using the first motion vector of the coding target block and a second predictive image of the coding target block using the second motion vector of the coding target block;
- a unit operable to generate a predictive image of the coding target block based on the first predictive image and the second predictive image;
- a unit operable to generate a difference image of the coding target block between the coding target block and the predictive image of the coding target block;
- and
- a unit operable to code the difference image of the coding target block to obtain coded data of the coding target block, the decoding apparatus comprising:
- a specifying unit operable to specify a co-located block which is a block included in a second picture that is different from the decoding target picture, the co-located block being located in the second picture at the same position that the decoding target block is located in the decoding target picture;
- a motion vector determining unit operable to determine a first motion vector and a second motion vector of the decoding target block for performing motion compensation on the decoding target block, using a third motion vector which is a motion vector of the co-located block;
- a first and second predictive image generating unit operable to generate a first predictive image of the decoding target block using the first motion vector of the decoding target block and a second predictive image of the decoding target block using the second motion vector of the decoding target block;
- a predictive image generating unit operable to generate a predictive image of the decoding target block based on the first predictive image and the second predictive image;
- a difference image decoding unit operable to decode the coded data of the decoding target block to obtain a difference image of the decoding target block;
- and
- a block image reconstructing unit operable to reconstruct the decoding target block by adding the difference image of the decoding target block and the predictive image of the decoding target block,
- wherein, the co-located block is motion-compensated using a first motion vector corresponding to a first reference picture of the collocated block and a second motion vector corresponding to a second reference picture of the co-located block, and
- wherein, in the case where the first reference picture of the co-located block is stored in a long-term picture buffer and a second reference picture of the co-located block is stored in a short-term picture buffer, (i) the third motion vector is determined to be equal to the first motion vector of the co-located block, and (ii) the first motion vector of the decoding target block is determined to be equal to the third motion vector, and (iii) the second motion vector of the decoding target block is determined to be a value of 0, and
- wherein, in the case where the first reference picture of the co-located block is stored in a short-term picture buffer and the second reference picture of the co-located block is stored in a long-term picture buffer, (i) the third motion vector is determined to be equal to the first motion vector of the co-located block, and (ii) the first and second motion vectors of the decoding target block are calculated by scaling the third motion vector based on a difference between display order information of the first reference picture of the decoding target block, display order information of the second reference picture of the decoding target block, and display order information of the decoding target picture including the decoding target block.
Dependencies are inferred from the claim text.