I. Introduction
Avideo encoder includes a number of components, out of which motion estimation (ME) carries a greater significance because it can consume more than 80% of the overall processing power and also because it has a high impact on video quality. The goal of an ME algorithm is to find the most accurate motion vectors (MVs) with the minimum processing cost. Reducing complexity, such as limiting the number of search positions, degrades visual quality. Therefore, ME is an optimization process of finding the best trade-off between visual quality and complexity. Since it is hard to conceive a single ME algorithm that can optimally perform for all video sequences, the question arises whether enough intelligence can be incorporated in an algorithm such that it can tune itself for best quality, accuracy, speed, or a combination of these objectives.