Patent ID: 7822121

Claim:
An apparatus comprising: a video digital signal processor configured to generate a decoded video signal in response to a coded video signal and global motion compensated image data; a video memory storing a reference image used in generating said decoded video signal; a processor configured to generate an initial vector and a plurality of increment parameters in response to a number of warp points and one or more warp vectors, wherein said initial vector and said plurality of increment parameters are fixed for an entire frame; a memory controller configured to retrieve data from said video memory in response to one or more warping addresses; and a global motion compensation circuit connected to (i) said processor by a first bus, (ii) said memory controller by a second bus, and (iii) said video digital signal processor by a third bus, wherein said global motion compensation circuit comprises (i) a register configured to receive said number of warp points, said one or more warp vectors, base, row and column offsets of a current warp reference frame, said initial vector and said plurality of increment parameters via the first bus, (ii) a warping address generator circuit configured to generate said one or more warping addresses in response to said initial vector and said plurality of increment parameters and present said warping addresses along with a memory request directly to said memory controller via the second bus, (iii) a cherry picker circuit configured to (a) receive a current data fetch returned from said memory controller, (b) store retrieved reference pixels in said current data fetch that match neighboring pixel addresses of said warping addresses and (c) discard retrieved reference pixels in said current data fetch that do not match neighboring pixel addresses of said warping addresses, (iv) a sub-pixel interpolator configured to interpolate new pixel data using stored retrieved reference pixels, and (v) a data packer circuit configured to accumulate an output of said sub-pixel interpolator for presentation as said global motion compensated image data, said global motion compensated image data being presented to said video digital signal processor via said third bus.