Method and apparatus for motion detection in the discrete cosine transform domain
AssigneeLogitech, Inc.
InventorAaron D. Standridge
Life of this patent
Estimating the term…
Abstract
A method and apparatus for detecting motion in digitized images involves the use of discrete cosine transforms. Video images are reduced in size to reduce the number of DCT blocks used in the analysis. Similarly, quantization of only portions of the DCT blocks are needed to detect motion between successive video images.
Claims27
A method for detecting motion in digitized images, comprising steps of:
- providing first and second arrays of pixels, said arrays of pixels representing previous and current images respectively;
- producing a plurality of previous discrete cosine transform (DCT) blocks based on only a portion of said first array of pixels, each comprising a plurality of values;
- producing a plurality of current DCT blocks based on only a portion of said second array of pixels, each comprising a plurality of values;
- and
- for each of said current DCT blocks, selectively classifying said current DCT block as MODIFIED, based on a comparison of only some of said values of said current DCT block with corresponding values of one of said previous DCT blocks;
- whereby motion in said previous and current images is determined based on the number of MODIFIED blocks.
A method for detecting motion in image data, comprising steps of:
- (a) providing a first digitized image comprising an array of pixels;
- (b) producing a first set of discrete cosine transform (DCT) blocks, based on a portion of said array of pixels;
- (c) repeating steps (a) and (b) for a second digitized image to produce a second set of DCT blocks, each of said DCT blocks comprising an N×N array of DCT values;
- (d) quantizing said first and second sets of DCT blocks to produce respectively first and second sets of quantized blocks, including quantizing only a portion of each DCT block so that each block has fewer than N2 quantized values;
- (e) comparing said quantized values in one of said first quantized blocks against corresponding quantized values in one of said second quantized blocks, wherein each comparison produces a first outcome or a second outcome;
- (f) classifying said second quantized block as MODIFIED if the number of first outcomes produced in step (e) exceeds a threshold value;
- and
- (g) repeating steps (e) and (f) for each of said first and second quantized blocks;
- whereby the occurrence of motion in said first and said second images is detected based on the ratio of the number of said second quantized blocks that are classified as MODIFIED to the total number of quantized blocks in said second set of quantized blocks.
A motion detection system comprising:
- a computing device;
- and
- a source of digital image data coupled to said computing device, said image data corresponding to images of a scene in which motion is to be detected;
- said computing device having a memory to store at least on of said images in the form of an array of pixels;
- said computing device including a computer program comprising:
- first program code to produce an array of luminance data based on only a portion of said array of pixels;
- second program code to produce a set of discrete cosine transform (DCT) data blocks based on said luminance data, whereby a first set of DCT data blocks is produced for a first image and a second set of DCT data blocks is produced for a second image;
- third program code to compare corresponding data between two of said DCT blocks, wherein only some of said data between said two DCT blocks is compared, said third program code including a counter that is incremented when comparison of said two DCT blocks satisfies a first criterion;
- fourth program code to execute said third program code for pairs of DCT data blocks taken from said first and said second sets of DCT data blocks;
- and
- fifth program code to indicate the occurrence of motion in said first and second images when said counter exceeds a first threshold value.
A computer program product for detecting motion in image data, said image data stored in a memory of a computer in the form of arrays of pixels, said computer program product comprising:
- first program code to produce an array of luminance data based on only a portion of said array of pixels;
- second program code to produce a set of discrete cosine transform (DCT) data blocks based on said luminance data, whereby a first set of DCT data blocks is produced for a first image and a second set of DCT data blocks is produced for a second image;
- third program code to compare corresponding data between two of said DCT blocks, wherein only some of said data between said two DCT blocks is compared, said third program code including a counter that is incremented when comparison of said two DCT blocks satisfies a first criterion;
- fourth program code to execute said third program code for pairs of DCT data blocks taken from said first and said second sets of DCT data blocks;
- and
- fifth program code to indicate the occurrence of motion in said first and second images when said counter exceeds a first threshold value.
Dependencies are inferred from the claim text.