Patent ID: 7720151

Claim:
A method of temporal video compression converting a video consisting of a sequence of consecutive pictures into a compressed video by motion compensation comprising the steps of: dividing each picture of the sequence of consecutive pictures into a plurality of two-dimensional macroblocks of M horizontal pixels by N vertical pixels; estimating the motion of each macroblock in each picture of the sequence of consecutive pictures as compared to a reference frame via block matching including the steps of: calculating a preliminary value of a cost function between a predetermined fraction of pixels in a candidate macroblock as displaced by a candidate motion vector and the corresponding pixels of reference macroblock; determining whether said preliminary value of said cost function is less than a predetermined threshold; if said preliminary value of said cost function is not less than said predetermined threshold, advancing to a next candidate motion vector; if said preliminary value of said cost function is less than said predetermined threshold calculating a final value of said cost function between all pixels in said candidate macroblock as displaced by said candidate motion vector and the corresponding pixels of reference macroblock, determining if said final value of said cost function is less than a prior cost function minimum, if said final value of said cost function is not less than said prior cost function minimum, advancing to a next candidate motion vector, and if said final value of said cost function is less than said prior cost function minimum, setting the current candidate motion vector as the best candidate motion vector and setting the prior cost function minimum to said final value of said cost function, then advancing to a next candidate motion vector; upon consideration of all possible candidate motion vectors setting a motion vector for said macroblock to said best candidate motion vector; and coding the compressed video employing motion compensation dependent upon said motion vectors determined by said block matching.