Patent ID: 8711248

Claim:
One or more non-transitory computer-readable media storing computer-executable instructions which when executed by a computer cause the computer to perform a method, the method comprising: receiving a reference image, the reference image comprising a digital image at a first exposure level and at a first time; receiving a non-reference image, the reference image comprising a digital image at a second exposure level and at a second time, the second exposure level being different than the first exposure level, and the second time being different than the first time; estimating two or more local motion vectors for the non-reference image relative to the reference image, the estimating of the two or more local motion vectors comprising: downsampling the non-reference image and the reference image one or more times to form a plurality of versions of the non-reference image and the reference image at a plurality of resolutions, wherein a lowest resolution version of the non-reference image has a plurality of blocks associated as a pyramid structure to a successively larger number of blocks at corresponding locations in each higher resolution version of the non-reference image, and wherein a lowest resolution version of the reference image has a plurality of blocks associated as a pyramid structure to a successively larger number of blocks at corresponding locations in each higher resolution version of the reference image; for the lowest resolution version of the non-reference image, estimating motion vectors of the blocks of the non-reference image by performing a search for motion vectors in the associated lowest resolution version of the reference image, wherein the search comprises searching for matching blocks at nearby block locations then expanding the search; and for each successively higher resolution version of the non-reference image, estimating motion vectors of the blocks of the successively higher resolution version of the non-reference image using a refinement search starting from the motion vector estimated for the associated block of the preceding lower resolution version of the non-reference image according to the pyramid structure.