Patent ID: 8218636
Filing Date: 2012-07-10
Classification: H04N

Abstract:
1. A motion compensation module 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 module comprising: at least one processing device that includes: 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 macroblocks based on a first form costs; a motion refinement module, coupled to the motion search module, that, when enabled, generates a refined motion vector for the plurality of subblocks for the plurality of partitionings of the macroblock of the plurality of macroblocks, based on the motion search motion vector for each of the plurality of subblocks of the macroblock of the plurality of macroblocks and based on a second form costs; a mode decision module, coupled to the motion refinement module and the motion search module, that, when the motion refinement module is enabled for the macroblock of the plurality of macroblocks, selects a selected partitioning of the plurality of partitionings, based on second form 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, when the motion refinement module is disabled for the macroblock of the plurality of macroblocks, selects a selected partitioning of the plurality of partitionings, based on first form costs associated with the motion search 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 macroblock 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 macroblock of the plurality of macroblocks; wherein the motion search module and the motion refinement module can operate in a plurality of selected modes corresponding to a plurality of compression standards and wherein the motion refinement module is selectively disabled based on the particular compression standard.