×

Adaptive step-size motion estimation based on statistical sum of absolute differences

  • US 6,014,181 A
  • Filed: 10/13/1997
  • Issued: 01/11/2000
  • Est. Priority Date: 10/13/1997
  • Status: Expired due to Term
First Claim
Patent Images

1. In a digital video system compression format where a video sequence is represented in series of frames, including a previous frame followed by a current frame, all separated by a predetermined time interval, the frames being divided into a plurality of blocks with predetermined positions, with each block having a size to include a predetermined matrix of luma pixels, a method for efficiently estimating the change in position of an image represented by a matrix of luma pixel data in a series of blocks in the current frame, from corresponding block-sized matrices of luma pixel data in the previous frame, the method comprising the steps of:

  • a) selecting a first block in the current frame;

    b) selecting a block-sized matrix of luma pixels in the previous frame as an initial candidate matrix corresponding to the first block in the current frame;

    c) providing a short term average comparison of luma pixel data between frames, derived from previous block position change estimates;

    d) calculating a search window size, centered about the candidate matrix, in response to the short term average comparison of luma pixel data provided in Step c);

    e) where a minimum spacing between block-sized matrices in the search window is provided, comparing the luma pixel data from a plurality of block-sized matrices of luma pixels uniformly distributed inside the search window, to the luma pixel data of first block in the current frame to select a new candidate matrix having luma pixel data most similar to the luma pixel data of the first block in the current frame, whereby the size of the search window varies with the history of motion between frames;

    f) reducing the spacing between the plurality of block-sized matrices located inside the search window after each iteration of Step e);

    g) iterating the search as follows;

    1) when the spacing between the plurality of block-sized matrices is greater than, or equal to the minimum spacing, then return to step e); and

    2) when the spacing between the plurality of block-sized matrices is less than the minimum spacing, then continue; and

    h) comparing luma pixel data of the final candidate matrix selected in the final iteration of Step e) to the luma pixel data of the first block in the current frame, to calculate a final comparison of luma pixel data, whereby the difference in block position between the final candidate matrix and the first block provides a vector describing motion between frames.

View all claims
  • 3 Assignments
Timeline View
Assignment View
    ×
    ×