Patent ID: 8175160

Claim:
A computer program product embodied on a non-transitory computer readable medium, comprising: computer code for receiving a frame; computer code for decomposing the frame at one half resolution into a plurality of blocks of pixels each of a first size; computer code for generating an initial motion field for the frame utilizing the frame at one half resolution and a previously received frame at full resolution, the initial motion field containing a plurality of motion vectors, where at least one motion vector is associated with the frame for each of the plurality of blocks of pixels of the first size; computer code for, for each of the plurality of blocks of pixels of the first size, selecting at least one motion vector from the plurality of motion vectors; computer code for, for each of the at least one selected motion vectors, refining the at least one selected motion vector utilizing a neighborhood of the block of pixels for which the at least one selected motion vector was selected; computer code for decomposing each of the plurality of blocks of pixels of the first size into four blocks of pixels of a second size, the second size being one quarter the size of the first size; and computer code for, for each of the blocks of pixels of the second size, generating at least one motion vector utilizing the refined motion vectors of the frame and at least one motion vector of a block of pixels of the second size from the previously received frame at full resolution.