EP1024456A2

Motion estimation using orthogonal transform-domain block matching

Abstract

A block matching system matches a motion block in one video image frame to a matching block another video image frame. The system includes a plurality of Hadamard transform processors which transform the motion block and a plurality of trial matching blocks from the other video image frame. The transformed matching blocks are ten compared to the transformed motion block, and the transformed matching block which has the smallest difference relative to the transformed motion block is determined. The matching block which corresponds to the determined transformed matching block is selected as the matching block for the motion block. The block matching system may transform motion blocks having different numbers of rows and columns. In one application, the system matches a relatively large motion block in the one frame to a corresponding large matching block in the other frame and determines a displacement between the matching block and the motion block. This displacement is used to guide the selection of trial matching blocks when smaller motion blocks in the one frame are matched to blocks in the other frame.

EP1024456A2, drawing sheet 1
Sheet 1 of 27

Term

Term ended

Projected expiry passed 10 January 2020, 6.7 years ago.

  1. Priority
  2. Filed
  3. Published
  4. Projected expiry
  5. Today

13 claims: 4 independent, 9 dependent

  1. 1
    A method for processing pixel data representing first and second images to identify a matching block of pixel values in a second image which corresponds to a motion block of pixel values in a first image, the method comprising the steps of:transforming the motion block of pixel values using a predetermined orthogonal transform operation to produce a transformed motion block;selecting a plurality of trial matching blocks from the second image;transforming each of the trial matching blocks using the predetermined orthogonal transform operation to produce a corresponding plurality of transformed matching blocks;generating a plurality of measures of difference between the transformed motion block and each of the respective plurality of transformed matching blocks;and selecting, as the matching block, the trial matching block which corresponds to the transformed matching block having the measure of difference which is least among the plurality of measures of difference.
  2. 7
    A method for processing pixel data representing first and second images to identify a matching block of pixel values in a second image which corresponds to a motion block of pixel values in a first image, the method comprising the steps of:selecting an M by N block of pixel values in the first image, the M by N block of pixel values including the motion block of pixel values as a proper subset;transforming the M by N block of pixel values using a predetermined orthogonal transform operation to produce a transformed M by N block of pixel values;selecting a plurality of trial M by N matching blocks from the second image;transforming each of the plurality of trial M by N matching blocks using the predetermined transform operation to produce a corresponding plurality of transformed M by N matching blocks;generating a plurality of measures of difference between the transformed M by N motion block and each of the respective plurality of transformed M by N matching blocks;comparing the generated measures of difference to identify a minimum measure of difference and determining which transformed M by N matching block corresponds to the minimum measure of difference;determining a displacement between the M by N block and the selected M by N matching block;transforming the motion block of pixel values using a predetermined orthogonal transform operation to produce a transformed motion block;selecting a plurality of trial matching blocks from the second image, the selected trial matching blocks being clustered around a trial matching block which is displaced from the motion block by the determined displacement;transforming each of the trial matching blocks of pixel values using the predetermined orthogonal transform operation to produce a corresponding plurality of transformed matching blocks;generating a plurality of measures of difference between the transformed motion block and each of the respective plurality of transformed matching blocks;and selecting, as the matching block, the trial matching block which corresponds to the transformed matching block having the measure of difference which is less than any of the other measures of difference of the plurality of measures of difference.
  3. 8
    Apparatus for processing pixel data representing first and second images to identify a matching block of pixel values in a second image which corresponds to a motion block of pixel values in a first image, the apparatus comprising:a transform processor which transforms the motion block of pixel values using a predetermined orthogonal transform operation to produce a transformed motion block;a plurality of further transform processors which select a respective plurality of trial matching blocks from the second image and transform the respective trial matching blocks of pixel values using the predetermined orthogonal transform operation to produce a corresponding plurality of transformed matching blocks;a comparator which generates a plurality of measures of difference between the transformed motion block and each of the respective plurality of transformed matching blocks and identifies one of the measures of difference as a minimum measure of difference, wherein the trial matching block which corresponds to the transformed matching block having the minimum measure of difference is identified as the matching block of pixel values which corresponds to the motion block of pixel values
  4. 13
    A carrier including a computer program, the computer program including a plurality of instructions which cause a computer to perform the steps of:identifying a motion block of pixels from a first image;transforming the motion block of pixel values using a predetermined orthogonal transform operation to produce a transformed motion block;selecting a plurality of trial matching blocks from the second image;transforming each of the trial matching blocks of pixel values using the predetermined orthogonal transform operation to produce a corresponding plurality of transformed matching blocks;generating a plurality of measures of difference between the transformed motion block and each of the respective plurality of transformed matching blocks;and selecting, as a matching block, the trial matching block which corresponds to the transformed matching block having the measure of difference which is less than any of the other measures of difference of the plurality of measures of difference.