Patent ID: 8189104

Claim:
An apparatus for creating an interpolation frame comprising: a first extracting unit configured to extract a first block in relation to each of interpolation blocks from a first reference frame, the each of the interpolation blocks corresponding to a piece of an interpolation frame being located between the first reference frame and a second reference frame having an inter-frame distance n therebetween, and a distance between the interpolation frame and the first reference frame being k, where k ≦n/2; a first computing unit configured to compute a first motion vector in relation to each of the interpolation blocks, the first motion vector connecting an interpolation block and the first block, the interpolation block being included in the interpolation blocks and representing each of the interpolation blocks; a second computing unit configured to compute a second motion vector that is obtained by multiplying the first motion vector by [−(n−k)/k]; a second extracting unit configured to extract a second block in relation to each of the interpolation blocks, the second block being an area in the second reference frame determined by the second motion vector; a first calculating unit configured to calculate a correlation between the first block and the second block; a third extracting unit configured to extract a third block in relation to the second block from an area that is distant from the second block by (n−k)/k; or less, the third block being located at a position shifted from a position of the second block by a certain number of pixels on the second reference frame; a second calculating unit configured to calculate a correlation between the first block and the third block that is extracted in relation to the second block corresponding to the first block; a first selecting unit configured to select a most-highly correlated block-pair in relation to each of the interpolation blocks, from among a first block pair of the first block and the second block and a second block pair of the first block and the third block, using a first calculation result obtained by the first calculating unit and a second calculation result obtained by the second calculating unit; a third computing unit configured to compute a motion vector for the interpolation block based on the block pair selected by the first selecting unit; and a motion compensation unit configured to perform motion compensation based on the motion vector computed by the third computing unit.