An image encoding method includes: a write step in which a first motion vector for a first sub-block is written in a memory; a read step in which the first motion vector is read from the memory; an encode step in which the first motion vector is used to encode a second motion vector for a second sub-block; a first selection step in which a representative motion vector is selected from a plurality of motion vectors for a plurality of sub-blocks; a determination step in which it is determined whether or not to use the representative motion vector in the place of the first motion vector; and an addition step in which a flag showing whether or not the representative motion vector is to be used is added to the encoding stream. If the representative motion vector is used, the representative motion vector is written in the memory in the write step, is read from the memory in the read step, and is used to encode the second motion vector in the encode step.