As illustrated in FIG. 1, the data unit X is a current data unit, and the data units A, B, C and D are previous data units required for estimation of a motion vector of the current data unit X In this embodiment, the data units are 16???16 macro blocks.