Patent ID: 8654852

Claim:
A circuit for performing motion estimation (ME), comprising: a first memory configured to store pixels in a search range of a first frame; a first register having a size smaller than the first memory, rows of the first register being correspondingly coupled to rows of the first memory; a second memory configured to store pixels in a search range of a second frame; a second register having a size smaller than the second memory, rows of the second register being correspondingly coupled to rows of the second memory; and a metric circuit configured to calculate a plurality of block-matching metrics between macro blocks (MBs) in the first register and MBs in the second register, followed by shifting one pixel position from the first memory to the first shift register and shifting one pixel position from the second memory to the second shift register; wherein the block-matching metric calculation and the pixel shift are iteratively performed through the search range of the first frame and the search range of the second frame; wherein the MB of the first frame moves through the search range of the first frame and the MB of the second frame moves through the search range of the second frame, before performing each succeeding block-matching metric calculation in the search range; and wherein the movement of the MB of the second frame is in symmetrically opposite direction of said movement of the MB of the first frame.