← Back to Patent Explorer
US5793985A Expired / Lapsed US ⏱️ 0.0 years remaining

Method and apparatus for block-based motion estimation

Assignee: Hewlett Packard Development Co LP
•
Filing: 1996-06-17
•
Granted: 1998-08-11
•
Expires: 2016-06-17
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract This disclosure provides a method of block-based motion estimation used in video compression. The compression process, derives change data for a new frame of data (with respect to a reference frame) by first dividing the frame structure into data tiles (or data blocks) of identical size. Each tile in the new frame is compared to a localized window (about the tile's expected position) in the reference frame to search for a best fit, and thereby provide motion data for the particular tile. Once the best fit is determined, motion-compensated difference data is determined, and stored with the motion data for each tile to complete the process. To achieve computation efficiency, each tile under analysis is preferably converted to single-bit value data and searching and comparisons are performed based on such transformed single-bit data. The single-bit data is computed by convolving the original image data with a low-pass filter to obtain a threshold matrix. The original image data is then compared with the threshold matrix, and converted to single-bit values in dependence on whether the values of the data exceed counterparts in the threshold matrix. Comparison is performed using an exclusive-or function and bit-summation of results.

Inventors

  • 👤 Balas K. Natarajan
  • 👤 Vasudev Bhaskaran

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-09 12:14
CPC Classifications
H; H04; H04N; H04N19/00; H04N19/50; H04N19/503; H04N19/51

Claims Analysis

Total Claims: 24
Claim 1
Independent Claim 223 words
In a system that compresses multi-bit data that is in the form of sequential frames of data, the system analyzing a first frame and a second frame and deriving changes therebetween to thereby permit reconstruction of the second frame from the first frame, a method of block-based motion estimation, comprising: (a) selecting a data block in the first frame; (b) applying a function to convert multi-bit data in the data block to a first group of data having a reduced number of bits; (c) applying a function to convert multi-bit data in the second frame to data having a reduced number of bits; (d) comparing the first group of data with data from the second frame having a reduced number of bits to yield an output; (e) repeating (c)-(d) to compare the same first group of data with different groups of data from the second frame (corresponding to different sets of data in the second frame); (f) comparing the outputs of (d) with each other and responsively selecting a particular set of data in the second frame which corresponds to a best fit of the data block within at least a portion of the second frame; and (g) in response to the best fit, deriving motion data that corresponds to motion of data in the data block between the first and second frames.
Claim 2
Dependent Claim 223 words
In a system that compresses multi-bit data that is in the form of sequential frames of data, the system analyzing a first frame and a second frame and deriving changes therebetween to thereby permit reconstruction of the second frame from the first frame, a method of block-based motion estimation, comprising: (a) selecting a data block in the first frame; (b) applying a function to convert multi-bit data in the data block to a first group of data having a reduced number of bits; (c) applying a function to convert multi-bit data in the second frame to data having a reduced number of bits; (d) comparing the first group of data with data from the second frame having a reduced number of bits to yield an output; (e) repeating (c)-(d) to compare the same first group of data with different groups of data from the second frame (corresponding to different sets of data in the second frame); (f) comparing the outputs of (d) with each other and responsively selecting a particular set of data in the second frame which corresponds to a best fit of the data block within at least a portion of the second frame; and (g) in response to the best fit, deriving motion data that corresponds to motion of data in the data block between the first and second frames.
Claim 3
Dependent Claim 32 words
A method according to claim 1, wherein applying a function to convert multi-bit data includes: converting multi-bit data to single-bit data based upon a comparison of each multi-bit datum with a threshold.
Claim 4
Dependent Claim 48 words
A method according to claim 1, wherein applying a function to convert multi-bit data includes: applying a low-pass filter to the data and developing a threshold matrix therefrom, and converting data based upon a comparison of individual pixel intensity values with corresponding threshold values from the threshold matrix.
Claim 5
Dependent Claim 105 words
A method according to claim 1, wherein the frames are image frames and the data includes pixels representing intensity data in two spatial dimensions, and wherein: selecting a data block includes selecting a block of pixels; applying a function to convert multi-bit data in the data block includes converting multi-bit data to a first group of single-bit value data; applying a function to convert multi-bit data in the second frame includes converting multi-bit data to single-bit value data; and repeating (c)-(d) includes comparing data to match the block of pixels against different sets of pixels corresponding to at least a portion of the second frame.
Claim 6
Dependent Claim 108 words
A method according to claim 1, wherein the frames are frames of visual data, the multi-bit data includes multi-bit intensity data, and the data block represents a two-dimensional block of pixels at a predefined position within the first frame, and wherein: said method further comprises selecting a window in the second frame, the window chosen to be larger in size than the data block; selecting data in the second frame includes selecting a set of data to lie within the window; and repeating includes sequentially searching different sets of pixels within the window, each set identical in size and two-dimensional shape to each other and to the block.
Claim 7
Dependent Claim 37 words
A method according to claim 5, wherein deriving motion data includes: producing a two-dimensional motion vector to represent position in the second frame of a best fit of the data block with respect to the first frame.
Claim 8
Dependent Claim 96 words
A method according to claim 5, wherein said method uses a digital register, and the two-dimensional block is a square block of sixteen pixels by sixteen pixels, and wherein comparing the first group of data with data from the second frame includes: sequentially performing an exclusive-or function between the first group and data from the second frame having a reduced number of bits using the register; and selecting the best fit to be a set of data from the second frame having a reduced number of bits that yields a minimum value from the exclusive-or function.
Claim 9
Dependent Claim 31 words
A method according to claim 7, wherein: developing a threshold value includes developing a set of threshold values from the data block by applying a low-pass filter to the data block.
Claim 10
Dependent Claim 113 words
A method according to claim 8, wherein the data block represents a pixel matrix of size n by m where n and m are integers and wherein: developing a set of threshold values includes developing a threshold matrix by convolving a low-pass matrix of approximate size n by m with the pixel matrix; and transforming each datum includes comparing the multi-bit value of each datum in the pixel matrix with a corresponding value in the threshold matrix, and in response to the comparison, converting the multi-bit value of each datum in the pixel matrix to one of a logical true and false to thereby generate the single bit data of the first group.
Claim 11
Dependent Claim 29 words
A method according to claim 9, wherein m equals n and wherein: developing a threshold matrix includes developing a threshold matrix that is a n by n square matrix.
Claim 12
Dependent Claim 32 words
A method according to claim 9, wherein: developing a low-pass matrix includes developing a low-pass matrix having a values of approximately 0.04 every fourth row and every fourth column, and zero otherwise.
Claim 13
Dependent Claim 73 words
A method according to claim 9, wherein: transforming each datum includes comparing multi-bit value data from the pixel matrix with corresponding data in the threshold matrix, and forming the first group to be a matrix having a value of one for each multi-bit value datum that is greater than a corresponding datum in the threshold matrix, and a zero for each datum that is less than a corresponding datum in the threshold matrix.
Claim 14
Independent Claim 143 words
An apparatus, comprising: a first memory that stores multi-bit data from a first frame; a second memory that stores multi-bit data from a second frame; and means coupled to the first memory for converting a block of data within the first frame to values having a reduced number of bits; means coupled to the second memory for converting data in a search window in the second frame to values having a reduced number of bits, the search window selected be larger in size than the block; and means for comparing the values corresponding to the block with the values corresponding to the search window, for analyzing results of the comparing to select a group of data in the search window that provides a best fit for the data of the data block, and for producing motion data indicating location of the best fit.
Claim 15
Independent Claim 143 words
An apparatus, comprising: a first memory that stores multi-bit data from a first frame; a second memory that stores multi-bit data from a second frame; and means coupled to the first memory for converting a block of data within the first frame to values having a reduced number of bits; means coupled to the second memory for converting data in a search window in the second frame to values having a reduced number of bits, the search window selected be larger in size than the block; and means for comparing the values corresponding to the block with the values corresponding to the search window, for analyzing results of the comparing to select a group of data in the search window that provides a best fit for the data of the data block, and for producing motion data indicating location of the best fit.
Claim 16
Independent Claim 256 words
An apparatus including machine readible instructions and computer-readable media on which the instructions are stored, for use in a system that compresses multi-bit data that is in the form of sequential frames of data, the system analyzing a first frame and a second frame and deriving changes therebetween to thereby permit reconstruction of the second frame from the first frame, the instructions when executed causing the system to: (a) select a data block in the first frame; (b) apply a function to convert multi-bit data in the data block to a first group of data having a reduced number of bits; (c) apply a function to convert multi-bit data falling within at least a window of data from the second frame to data having a reduced number of bits, and selecting therefrom a second group of data which corresponds in size to the data block; (d) compare the first group of data with the second group of data to yield an output; (e) repeat (c)-(d) for different sets of data in the second frame which have already been converted in (c) to data having a reduced number of bits; (f) compare the outputs of (d) with each other and responsively select a particular set of data in the second frame which corresponds to a best fit of the data block in at least a portion of the second frame; and (g) in response to the best fit, derive motion data that corresponds to motion of data in the data blocks between the first and second frames.
Claim 17
Independent Claim 256 words
An apparatus including machine readible instructions and computer-readable media on which the instructions are stored, for use in a system that compresses multi-bit data that is in the form of sequential frames of data, the system analyzing a first frame and a second frame and deriving changes therebetween to thereby permit reconstruction of the second frame from the first frame, the instructions when executed causing the system to: (a) select a data block in the first frame; (b) apply a function to convert multi-bit data in the data block to a first group of data having a reduced number of bits; (c) apply a function to convert multi-bit data falling within at least a window of data from the second frame to data having a reduced number of bits, and selecting therefrom a second group of data which corresponds in size to the data block; (d) compare the first group of data with the second group of data to yield an output; (e) repeat (c)-(d) for different sets of data in the second frame which have already been converted in (c) to data having a reduced number of bits; (f) compare the outputs of (d) with each other and responsively select a particular set of data in the second frame which corresponds to a best fit of the data block in at least a portion of the second frame; and (g) in response to the best fit, derive motion data that corresponds to motion of data in the data blocks between the first and second frames.
Claim 18
Dependent Claim 38 words
An apparatus according to claim 14, wherein the instructions when executed cause the system to: perform (b) by converting pixel intensity values to single-bit value data; and perform (c) by converting pixel intensity values to single-bit value data.
Claim 19
Dependent Claim 78 words
An apparatus according to claim 15, wherein converting pixel intensity values to single-bit value data includes: applying a low-pass filter to pixel intensity values to yield therefrom a threshold matrix, the threshold matrix having plurality of individual thresholds; and comparing individual pixel intensity values with corresponding individual thresholds, and as a result of comparing, generating a matrix of single-bit value data, with each datum representing a result of comparison between a pixel intensity value and a corresponding threshold.
Claim 20
Dependent Claim 260 words
In a system that compresses multi-bit data that is in the form of sequential frames of data, the system analyzing a first frame and a second frame and deriving changes therebetween to thereby permit reconstruction of the second frame from the first frame, a method of block-based motion estimation, comprising: (a) selecting a data block in the first frame; (b) applying a function to transform multi-bit data in the data block to a first group of data having a reduced number of bits, in a manner that emphasizes edge transitions; (c) applying a function to transform multi-bit data in the second frame to data having a reduced number of bits, in a manner that emphasizes edge transitions; (d) comparing the first group of data with data from the second frame having a reduced number of bits to yield an output; (e) repeating (c)-(d) to compare the same first group of data with different groups of data from the second frame (corresponding to different sets of data in the second frame); (f) comparing the outputs of (d) with each other and responsively selecting a particular set of data in the second frame which corresponds to a best fit of the data block within at least a portion of the second frame, to thereby identify a particular set of data in the second frame which most closely replicates edge transitions falling within the data block; and (g) in response to the best fit, deriving motion data that corresponds to motion of data in the data block between the first and second frames.
Claim 21
Dependent Claim 260 words
In a system that compresses multi-bit data that is in the form of sequential frames of data, the system analyzing a first frame and a second frame and deriving changes therebetween to thereby permit reconstruction of the second frame from the first frame, a method of block-based motion estimation, comprising: (a) selecting a data block in the first frame; (b) applying a function to transform multi-bit data in the data block to a first group of data having a reduced number of bits, in a manner that emphasizes edge transitions; (c) applying a function to transform multi-bit data in the second frame to data having a reduced number of bits, in a manner that emphasizes edge transitions; (d) comparing the first group of data with data from the second frame having a reduced number of bits to yield an output; (e) repeating (c)-(d) to compare the same first group of data with different groups of data from the second frame (corresponding to different sets of data in the second frame); (f) comparing the outputs of (d) with each other and responsively selecting a particular set of data in the second frame which corresponds to a best fit of the data block within at least a portion of the second frame, to thereby identify a particular set of data in the second frame which most closely replicates edge transitions falling within the data block; and (g) in response to the best fit, deriving motion data that corresponds to motion of data in the data block between the first and second frames.
Claim 22
Dependent Claim 275 words
In a system that compresses multi-bit data that is in the form of sequential frames of data, the system analyzing a first frame and a second frame and deriving changes therebetween to thereby permit reconstruction of the second frame from the first frame, a method of block-based motion estimation, comprising: (a) selecting a data block in the first frame; (b) applying a function to convert multi-bit data in the data block to a first group of data having a reduced number of bits; (c) applying a function to convert multi-bit data in the second frame to data having a reduced number of bits; (d) comparing the first group of data with data from the second frame having a reduced number of bits to yield an output; (e) repeating (c)-(d) to compare the same first group of data with different groups of data from the second frame (corresponding to different sets of data in the second frame); (f) comparing the outputs of (d) with each other and responsively selecting a particular set of data in the second frame which corresponds to a best fit of the data block within at least a portion of the second frame; and (g) in response to the best fit, deriving motion data that corresponds to motion of data in the data block between the first and second frames; (h) wherein applying a function to convert multi-bit data to at least one of the data block and data from the second frame includes developing at least one threshold value, and in dependence upon a comparison between multi-bit data and a threshold value, transforming the multi-bit data to a single-bit value data.
Claim 23
Dependent Claim 275 words
In a system that compresses multi-bit data that is in the form of sequential frames of data, the system analyzing a first frame and a second frame and deriving changes therebetween to thereby permit reconstruction of the second frame from the first frame, a method of block-based motion estimation, comprising: (a) selecting a data block in the first frame; (b) applying a function to convert multi-bit data in the data block to a first group of data having a reduced number of bits; (c) applying a function to convert multi-bit data in the second frame to data having a reduced number of bits; (d) comparing the first group of data with data from the second frame having a reduced number of bits to yield an output; (e) repeating (c)-(d) to compare the same first group of data with different groups of data from the second frame (corresponding to different sets of data in the second frame); (f) comparing the outputs of (d) with each other and responsively selecting a particular set of data in the second frame which corresponds to a best fit of the data block within at least a portion of the second frame; and (g) in response to the best fit, deriving motion data that corresponds to motion of data in the data block between the first and second frames; (h) wherein applying a function to convert multi-bit data to at least one of the data block and data from the second frame includes developing at least one threshold value, and in dependence upon a comparison between multi-bit data and a threshold value, transforming the multi-bit data to a single-bit value data.
Claim 24
Dependent Claim 159 words
A method according to claim 18, wherein: said method further comprises selecting a window of multi-bit data in the second frame, the window chosen to be larger in size than the data block; selecting data in the second frame includes selecting a set of data from within the window, the set identical in shape and size to the data block; developing at least one threshold value includes convolving a low-pass matrix of approximate size n by m with data from the second frame, including data in the set; applying a function to convert multi-bit data in the second frame includes comparing each datum in the set of data with a corresponding threshold value to yield, for each datum in the set, a single-bit value representing a result of the comparison; and repeating includes repeating (c)-(d) using different sets of data from within the window, each set identical in shape and size to the data block and to each other.

References Cited (Backward Citations)

US5379351A Cited
US5594813A Cited
US5272529A Cited
US5535288A Cited
US5438374A Cited
US5512956A Cited
US5612746A Cited
US5654762A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2001-08-10 2002-02-09 2002-08-11 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2005-08-10 2006-02-09 2006-08-11 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2009-08-10 2010-02-09 2010-08-11 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag