1. A method of selecting a motion prediction vector for a pixel or a group of pixels in an image comprising the steps of: a) selecting a test motion vector from an adaptive predictor set; b) testing the test motion vector against a preselected early stopping criterion; c) if the test motion vector meets the early stopping criterion going to step i; d) if the test motion vector fails the early stopping criterion, recursively selecting additional test motion vectors from the adaptive predictor set and repeating steps b and c until the set is exhausted; e) when the adapted predictor set is exhausted, selecting the best predictor that does not meet the early stopping criterion; f) selecting a refinement pattern comprising plural comparison points to apply to the best predictor that does not meet the early stopping criterion; g) computing the distortion of each of the plural comparison points and selecting the comparison point with the minimum distortion; h) testing the motion vector against a second stopping criterion; i) repeating steps f, g, and h until the stopping criterion is met; and j) accepting the refined motion vector as the estimated motion vector for the pixel or group of pixels.