Patent ID: 6901110

Claim:
A process for tracking motion of an object image in a sequence of video frames, comprising: a. Inputting information into computer processing capacity identifying a first frame and a second frame of the sequence of video frames; b. Inputting information identifying a first bounded area within the first frame and a second bounded area within the second frame, the bounded areas each containing an image of the object; c. Defining a plurality of sub areas in the first bounded area and for each sub area: 1. Inputting values for plurality of pixels in the sub area; and 2. Calculating a gradient corresponding to an array of pixel values d. Using said first bounded sub area gradients to select sub areas which meet a predetermined first threshold as representative of sufficient object edge information; e. Defining a plurality of sub areas in the second bounded area and for each second bounded area sub area: 1. Inputting values for plurality of pixels in the sub area; and 2. Calculating a gradient corresponding to an array of pixel values; f. Using said second bounded area sub area gradients to select sub areas which meet a predetermined first threshold as representative of sufficient object edge information; and g. Applying a search algorithm to said selected sub areas to determine a plurality of motion vectors that represent motion of the object image from first frame to second frame, including: 1. Identifying a candidate sub area of the first frame; 2. Choosing one of the mapped second bounded area sub areas in the second frame as a first search phase sub area; 3. Selecting a plurality of sub areas in the vicinity of the first phase search sub area as additional first phase search sub areas and comparing a plurality of pixels in at least some of the first phase search sub areas to a plurality of pixels in the candidate sub area of the first frame to select a first phase search sub area in the second frame that best matches the candidate sub area of the first frame; 4. Selecting a second phase search window and a set of second phase search sub areas based on the first phase search sub area in the second frame that best matches the candidate sub area of the first frame, the second phase search sub areas smaller than the first phase sub areas; 5. Comparing a plurality of pixels in at least some of the second phase search sub areas to a plurality of pixels in the candidate sub area of the first frame to select a second phase search sub area in the second frame that best matches the candidate sub area of the first frame; 6. Determining a motion vector based on the position of the second phase search sub area in the second frame that best matches the candidate sub area of the first frame, and the position of the candidate sub area of the first frame; and 7. Repeating items 1 through 6 above for a plurality of sub areas in order to determine a plurality of motion vectors which represent motion of the object image between the first frame and the second frame.