Patent ID: 7424056

Claim:
A motion estimation method comprising the steps of: (a) displaying an image in a plurality of frames corresponding to a plurality of time periods; wherein each frame further comprises a given number of pixels, each pixel represented by two-dimensional abscissa and ordinate coordinates; wherein each frame further comprises at least one macroblock having a lesser number of pixels than said given number of pixels of said frame; wherein a current frame is one of said frames in a current time period of said plurality of time periods; wherein said current frame further comprises at least one current macroblock having a lesser number of pixels than said given number of pixels of said current frame; wherein a reference frame is one of said frames in a time period of said plurality of time periods prior to said current time period for said current frame; wherein said reference frame further comprises at least one reference macroblock having a lesser number of pixels than said given number of pixels of said reference frame; (b) determining calculated pixel units of said current macroblock, wherein one calculated pixel unit is an average of two adjacent pixels; (c) repeating step (b) for all pixels of said current macroblock; (d) determining calculated pixel units of one macroblock of said reference macroblocks; (e) repeating step (d) for all pixels of said one reference macroblock; (f) multiplying each calculated pixel unit of said current macroblock by a corresponding calculated pixel unit of said one reference macroblock resulting in a plurality of multiplying values; (h) summing the plurality of multiplying values resulting in a sum of correlations (SC); (i) shifting abscissa and ordinate coordinates of said one reference macroblock by corresponding abscissa and ordinate shift values resulting in a shifted reference macroblock; (j) determining calculated pixel units of said shifted reference macroblock; (k) repeating step (j) for all pixels of said shifted reference macroblock; (l) multiplying each calculated pixel unit of said current macroblock by a corresponding calculated pixel unit of said shifted reference macroblock resulting in an additional plurality of multiplying values; (n) summing said additional plurality of multiplying values resulting in an additional SC; (o) repeating steps (i), (j), (k), (l), (m) and (n) for each reference macroblock resulting in a plurality of additional SCs; and (p) selecting a selected SC from a group comprising the SC and said additional SCs, wherein the selected SC has a larger value than another of the group.