1. A motion vector calculation method in which multiple pieces of image data are input to calculate motion vectors between/among images, the method comprising: multi-resolution image generation processing for calculating and storing multi-resolution data up to a predetermined resolution level L (where L is a natural number) of the input multiple pieces of image data; input motion vector calculation processing for calculating input motion vectors for the resolution level L of a reference image; and processing for estimating motion vectors per resolution by using the reference image, a target image and the input motion vectors at the resolution level L calculated by the processings above to perform: a step (1) of defining an energy function on each starting point coordinate of the input motion vectors by handling the coordinate on the reference image and a coordinate on the target image as arguments, and temporarily calculating motion vectors, within predetermined range from the input motion vectors, based on the energy function; a step (2) of temporarily calculating reliability of the motion vectors based on a feature amount of an image at each feature point of the reference image; a step (3) of calculating correlation by using at least one of a difference in the feature amount of the image and a difference in the temporarily calculated motion vectors between feature points of the reference image; and a step (4) of finally calculating motion vectors of the resolution level L by smoothing the temporarily calculated motion vectors and the reliability by using the motion vectors, the reliability and the correlation in predetermined ranges, wherein the motion vectors between the reference image and the target image are calculated by using the finally calculated motion vectors of the resolution level L as input motion vectors of a resolution level L-1, which is a higher resolution, and by repeating the processing for estimating motion vectors per resolution on image data having higher resolutions sequentially.