1. A method of refining an iterative search result for motion estimation using a computing device, the method comprising: a. determining a starting position comprising: i. computing a distance value for each of a plurality of positions; ii. comparing the distance value of each of the plurality of positions; and iii. selecting a smallest starting distance position from the distance value of each of the plurality of positions; b. iteratively searching for a smallest distance position starting from the starting position; c. adding a motion vector cost to a smallest distance value of the smallest distance position to form a total cost; d. comparing the total cost with a predictive motion vector distance value to determine a smaller value; and e. selecting the smaller value of the total cost and the predictive motion vector distance value.