A picture coding method for coding an image signal, the method comprising generating a predictive image of a current block included in a current macroblock included in a B-picture and coding the current block using the generated predictive image of the current block, the picture coding method comprising: obtaining a motion vector from a block for which motion compensation has been performed, said block being included in a co-located block, the co-located block being included in a co-located macroblock, the co-located macroblock being included in a picture subsequent in display order to said B-picture, wherein the size of said block is smaller than the size of the current block and the size of said co-located block is the same as the current block and wherein said block is located in a corner of said co-located macroblock; determining a motion vector of the current block for performing motion compensation on the current block using the obtained motion vector, wherein, when a size of the obtained motion vector is a predetermined value or less, the motion vector of the current block is determined (S402, S502, S702) to be "0", and when the size of the obtained motion vector exceeds the predetermined value, the motion vector of the current block is determined (S404, S504, S704) using plural motion vectors of adjacent macroblocks which are located adjacent to the current macroblock, performing the motion compensation (S403, S503, S703) for the current block to generate a predictive image of the current block by using the determined motion vector of the current block, and coding a difference image between the current block and the predictive image of the current block. obtaining a motion vector from a block for which motion compensation has been performed, said block being included in a co-located block, the co-located block being included in a co-located macroblock, the co-located macroblock being included in a picture subsequent in display order to said B-picture, wherein the size of said block is smaller than the size of the current block and the size of said co-located block is the same as the current block and wherein said block is located in a corner of said co-located macroblock; determining a motion vector of the current block for performing motion compensation on the current block using the obtained motion vector, wherein, when a size of the obtained motion vector is a predetermined value or less, the motion vector of the current block is determined (S402, S502, S702) to be "0", and when the size of the obtained motion vector exceeds the predetermined value, the motion vector of the current block is determined (S404, S504, S704) using plural motion vectors of adjacent macroblocks which are located adjacent to the current macroblock, when a size of the obtained motion vector is a predetermined value or less, the motion vector of the current block is determined (S402, S502, S702) to be "0", and when the size of the obtained motion vector exceeds the predetermined value, the motion vector of the current block is determined (S404, S504, S704) using plural motion vectors of adjacent macroblocks which are located adjacent to the current macroblock, performing the motion compensation (S403, S503, S703) for the current block to generate a predictive image of the current block by using the determined motion vector of the current block, and coding a difference image between the current block and the predictive image of the current block.