Patent ID: 7773819

Claim:
An image processing apparatus comprising: image data input means for inputting captured multiple images; detection image generation means for generating, based on the input images, smaller images by scaling down a certain area of the images; multi-resolution image data storage means for storing multi-resolution image data of the smaller images up to a predetermined resolution level such that each of them is identifiable between a reference image and a target image; feature point set extraction means for extracting one or more feature point coordinates based on an image corner or edge of the multi-resolution image data of the reference image; and motion data calculation means for calculating motion data between the reference image and the target image by using the multi-resolution image data, wherein the motion data calculating means has: a whole-range matching section for performing, with regard to each of the reference images and target images from a lowest resolution L to a predetermined resolution M (M≦L), a matching process on all image coordinates in a predetermined range of the reference images and calculating motion data based on a first energy function whose arguments are the coordinates on the reference images and the target images; and a motion data calculating section for, with regard to image data of a resolution level higher than the predetermined resolution M, performing a block matching process based on a second energy function by setting input motion data as an initial value and handling the feature point coordinates on the reference images, which are extracted by the feature point set extraction means, as arguments thereof, and for calculating motion data between the reference images and target images by using reliability defined based on energy of the block matching process or strength of feature points and correlation defined based on motion data among the feature points of the reference images or coordinates based on the motion data; and motion data is calculated by a process, wherein the process comprises (a) calculating motion data for image data of a resolution M−1, which is a higher resolution than the resolution M, with using motion data for image data of the resolution M, which is calculated by the whole-range matching section, as initial value of motion data to be input to the motion data calculating section, (b) calculating motion data for image data of a much higher resolution with using the motion data as initial value information of motion data to be input to the motion data calculating section, and (c) repeating calculating the image data of higher resolution for predetermined number of times or until a predetermined condition is satisfied.