1. A method for performing motion estimation, comprising: (a) selecting a current block in a current frame; (b) comparing the current block with an initial reference block in a reference frame to obtain an initial comparison parameter, wherein a position of the initial reference block in the reference frame corresponds to a position of the current block in the current frame; (c) determining a predicted search window corresponding to the current block based on the initial comparison parameter; and (d) comparing the current block with reference blocks in the predicted search window to obtain comparison parameters respectively, whereby a best-match reference block in the predicted search window is determined.