In coding a picture to be used as a reference picture by another picture, a
motion vector used in inter picture predictive coding is stored into the
motion vector storage unit (116). However, the storage of a
motion vector is controlled by the coding
control unit (110) in such a way that motion vectors of pictures, fewer in number than the number of reference pictures, are stored into the storage unit (116). In the case where
direct mode is used in coding a B-picture, if the motion vector to be referred to in coding in
direct mode is stored in the motion vector storage unit (116), coding is performed using such motion vector. Further, in the case where the motion vector is not stored in the storage unit (116), coding is performed with the motion vector as “0”, and using a motion vector of a neighboring block.