1. A method, comprising: determining by a calculation module a plurality of error metric lower bound values for a block in a stored current image, wherein each of the error metric lower bound values corresponds to a stored search position in a stored reference image; determining a separation threshold using the plurality of error metric lower bound values for the block in the stored current image by applying a binary search to select the separation threshold; selecting a plurality of candidate positions from the plurality of search positions based on the determined separation threshold; identifying one of the candidate positions as a matching position for the block in the current image; and determining by the calculation module a motion vector based on the block in the current image and the matching position.