1. A method for motion estimation, the method comprising: obtaining input image frames, wherein the input image frames correspond to different instances in time; and performing motion estimation on the input image frames using depth information from the input image frames, wherein the depth information from an input image frame indicates how far a pixel in the input image frame is located from a surface of a three dimensional space, wherein performing the motion estimation comprises: generating a motion vector for a group of image pixels in the input image frame; obtaining a corresponding group of image pixels in another input image frame of the input image frames using the motion vector; and calculating a match error between the group of image pixels in the input image frame and the corresponding group of image pixels in the another input image frame using the depth information from the input image frame and the another input image frame.