Patent ID: 8885718

Claim:
A picture coding apparatus which codes a moving picture, comprising: a neighboring block specification unit that specifies a plurality of neighboring blocks which are located in a neighborhood of a current block included in a current picture; a judging unit that judges whether or not each of the plurality of neighboring blocks has been coded using a motion vector calculated from a motion vector of another block; a different motion vector determining unit that determines two different motion vectors of each of the plurality of neighboring blocks based on the result of the judgment unit; a motion vector prediction unit that derives a first predictive motion vector and a second predictive motion vector of the current block using the two different motion vectors of each of the plurality of neighboring blocks; a motion vector coding unit that codes a first difference value between a first motion vector of the current block and the first predictive motion vector and codes a second difference value between a second motion vector of the current block and the second predictive motion vector; a motion compensation unit that generates a motion compensated picture using the first and second motion vectors of the current block and two reference pictures corresponding to the first and second motion vectors of the current block; and a picture coding unit that codes a prediction error between the current block and the motion compensated picture, wherein the other block is included in a picture located temporally after the current picture including the current block and the plurality of neighboring blocks, and when the judgment unit judges that the neighboring block has been coded in direct mode, using a motion vector calculated from the motion vector of the other block located temporally after the current picture including the neighboring block, two motion vectors, which are calculated from the motion vector of the other block and which are used in performing motion compensation on the neighboring block in direct mode, are determined as two different motion vectors of the neighboring block by the different motion vector determining unit, and when the judgment unit judges that the neighboring block has not been coded using the motion vector calculated from the motion vector of the other block, two motion vectors, which are detected for the neighboring block and which are used in performing motion compensation on the neighboring block, are determined as two different motion vectors of the neighboring block by the different motion vector determining unit.