Patent ID: 7720153

Claim:
A video encoding method comprising: dividing a coding target frame into a plurality of blocks, wherein each of the blocks corresponds to a predicted reference image to be generated; determining a motion vector for each of the blocks; extracting, for an operable block within the blocks, motion complexity information of the operable block, wherein the motion complexity information of the operable block indicates a degree of complexity of movement between the operable block of the coding target frame and a corresponding block in a reference frame; determining, for the operable block, a number of funny position pixels to include in the predicted reference image to be generated for the operable block based upon the motion complexity information of the operable block, wherein the determined number of funny position pixels included in the predicted reference image increases as the degree of complexity of movement of the operable block increases; generating the predicted reference image for the operable block, wherein the predicted reference image for the operable block includes integer pixels located at integer pixel positions within the predicted reference image, interpolated pixels located at interpolated pixel positions within the predicted reference image, and the determined number of funny position pixels; generating the predicted reference image corresponding to the coding target frame as a function of the motion vector determined for each of the blocks of the coding target frame; calculating a difference between the coding target frame and the predicted reference image for each of said blocks; converting the difference between the coding target frame and the predicted reference image for each of said blocks into a set of coefficients based upon a predetermined conversion rule; determining a number of non-zero coefficients in each set of coefficients for each of said blocks; and wherein extracting motion complexity information of the operable block comprises: determining a number of non-zero coefficients in the blocks that neighbor the operable block, wherein the motion complexity information of the operable block is based upon the number of non-zero coefficients in the blocks that neighbor the operable block.