Patent ID: 6940907

Claim:
A method for motion estimation to determine a motion vector from a macro-block to be encoded to a reference macro-block, comprising the steps of: a) dividing a search area into sub-areas respectively having different densities; b) deriving distortions respectively between the macro-block to be encoded and a currently selected macro-block, and the macro-block to be encoded and neighbors of the currently selected macro-block, wherein the neighbors are determined according to the density of the sub-area in which the currently selected macro-block is located; c) if one of the distortions between the neighbors and the macro-block to be encoded is smallest, identifying the neighbor having the smallest distortion as the currently selected macro-block; d) repeating steps b) and c) until the currently selected macro-block has the smallest distortion among the neighbors thereof; e) if the currently selected macro-block having the smallest distortion is located in one of the sub-areas other than that having the largest density, re-defining the search area according to the density of the sub-area in which the currently selected macro-block is located; f) repeating steps a), b), c), d) and e) until the currently selected macro-block having the smallest distortion is located in the sub-area having the largest density; and g) identifying the currently selected macro-block having the smallest distortion and located in the sub-area having the largest density as the reference macro-block.