Patent ID: 8204326

Claim:
A data processing apparatus comprising: a motion vector storage unit for storing a motion vector in a unit block area of each of a plurality of unit blocks, the unit blocks being defined by dividing one picture plane in a predetermined manner into macro blocks and further dividing each macro block in a predetermined manner, and the unit block area being assigned an index value in a predetermined order in the macro block; an index value generating unit for generating the index values corresponding to a position of the unit blocks at an upper left corner and an upper right corner of an object block having one of a plurality of different macro types and submacro types for which a prediction motion vector is to be acquired, the generated index values being determined on the basis of the macro type and submacro type of the object block; a storage control unit for copying a motion vector of an adjacent block for each of the unit block areas of the motion vector storage unit and storing the copied motion vectors in the unit block areas corresponding to the adjacent block of the motion vector storage unit, the adjacent block existing in a same two-dimensional picture area as the object block, contacting the object block at left side, upper side, upper right, or upper left and being capable of taking a plurality of different sizes; and a motion vector reading unit for obtaining the index value indicating the unit block area of the motion vector storage unit from which the motion vector is to be read, on the basis of at least one of the index values generated by the index value generating unit, and at least one predetermined index value, wherein the prediction motion vector is obtained on the basis of the motion vector read by the motion vector reading unit.