Patent ID: 8265136
Filing Date: 2012-09-11
Classification: H04N

Abstract:
1. A motion compensation device for use in a video encoder for encoding a video input signal that includes a sequence of images that are segmented into a plurality of macroblocks, the motion compensation device comprising: a motion search module, that generates a motion search motion vector for a plurality of subblocks for a plurality of partitionings of a macroblock of a plurality of macro blocks; a motion refinement module, coupled to the motion search module, that generates a refined motion vector for the plurality of subblocks for the plurality of partitionings of the macroblock of the plurality of macro blocks, based on the motion search motion vector for each of the plurality of subblocks of the macroblock of the plurality of macro blocks; a mode decision module, coupled to the motion refinement module, that selects a selected partitioning of the plurality of partitionings, based on costs associated with the refined motion vector for each of the plurality of subblocks of the plurality of partitionings of the macroblock of the plurality of macroblocks, and that determines a final motion vector for each of the plurality of subblocks corresponding to the selected partitioning of the macro block of the plurality of macroblocks; and a reconstruction module, coupled to the mode decision module, that generates residual pixel values corresponding to a final motion vector for the plurality of subblocks of the macro block of the plurality of macro blocks; wherein the motion refinement module operates in a plurality of selected modes including a first mode corresponding to a first sub-pixel resolution and a second mode corresponding to a second sub-pixel resolution; wherein the motion refinement module generates a plurality of sub-pixel costs surrounding a first pixel, based on pixels in a row above the first pixel and a row below the first pixel, and wherein the motion refinement module stores at least one of the plurality of sub-pixel costs surrounding a selected pixel for later processing of the cost associated with a second pixel in the row below the first pixel.