Motion Estimation Complexity Reduction
OwnerFaramarz Azadeganinventor
Life of this patent
Estimating the term…
Abstract
A process for reducing computational complexity associated with motion estimation and thereby reducing the power consumption and reducing cycle requirements for video compression techniques is described. A process for improving motion estimation based on only comparing a fraction of total pixels involved in the block matching of a target block and the search area and the best match so far found for the target block. The processes involve improvements to MPEG-1, H.261, MPEG-2/H.262, MPEG-4, H.263, H.264/AVC, VP8, and VC-1 video coding standards and any other video compression technique employing a motion estimation technique.
Claims6
A method for considering an area for the best match to the target block in motion estimation consisting of:
- comparing the error calculated based on a fraction of the total pixels of the block, to the error calculated based on a different fraction of the total pixels of the block of the best match;
- deciding if the current area is a worse match based on the said comparison.
A method for considering an area for the best match to the target block in motion estimation consisting of:
- comparing the error calculated based on a fraction of the total pixel of the block to the error calculated based on the same fraction of the total pixels of the block of the best match;
- deciding if the current area is a worse match based on the said comparison.
A method for considering an area for the best match to the target block in motion estimation consisting of:
- comparing the error calculated based on a fraction of the total pixel of the block to the error calculated based on a larger fraction of the total pixels of the block, which includes the said fraction, from the best match;
- deciding if the current area is a worse match based on this conducted comparison.
A method for reducing the computation in motion estimation for a target block in motion estimation comprising:
- a) creating a nested sequence of patterns(i, j) (i=0, 1, 2, . . . , N−1) for the search region candidate (SRC), j;
- b) initialization:
- setting i=0, j=0;
- calculating the distortion between the target block for all the patterns(i, 0), i=0, 1, 2, . . . , N−1;
- setting patterns(i, best)=patterns(i, 0), for all i's;
- c) moving to next search area candidate, j=j+1;
- d) setting i=0;
- e) calculating the distortion, D, between the target block and the patterns(i,j) of the said nested patterns;
- f) comparing the said result, D, to patterns(k,best) for k>=i;
- g) deciding to continue or stop the calculation based on the result of said comparison in (f);
- h) moving to the next pattern by increasing i by one (i=i+1);
- i) if i=N exiting with SRC j as the best match;
- j) otherwise going back to step (d).
- k) if patterns(N−1,j)<patterns(N−1,best), setting patterns(i,best)=patterns(i,j) for all i's;
- l) stopping if search area is exhausted;
- m) otherwise going to step (h)
A method for reducing the computation in motion estimation for a target block comprising:
- a) comparing the calculated distortion based on a fraction of total pixels in the block, D, for the search area candidate with an equal size or bigger fraction of best match;
- b) deciding on continuing or stopping the calculation for the rest of pixels in the block based on the said comparison;
- c) calculating the distortion for more pixels of the block, and going to step (a) if the distortion is not calculated for all the pixels in the block;
- otherwise;
- d) comparing the total distortion due to search area candidate to the total distortion due to the best match;
- if distortion is bigger, continue to the next search area candidate;
- otherwise declare the said search area candidate as the best match;
- e) if more search area candidate is still available, go to step (a) for the next search area candidate;
- otherwise declare the best match found.
A method for considering an area a better match to the target block in motion estimation consisting of:
- comparing the error calculated based on a number of fractions of the total pixel of the block to the error calculated based on a number of fractions of the total pixels of the block from the best match;
- deciding if the current area is a worse match based on the said conducted comparison.
Dependencies are inferred from the claim text.