Patent US7447337B2 successfully refreshed from Google Patents.
← Back to Patent Explorer
US7447337B2 Expired / Lapsed US ⏱️ 0.0 years remaining

Video content understanding through real time video motion analysis

Assignee: Hewlett Packard Development Co LP
•
Filing: 2004-10-25
•
Granted: 2008-11-04
•
Expires: 2024-10-25
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract Methods and integrated systems for camera motion analysis and moving object analysis and methods of extracting semantics mainly from camera motion parameters in videos and video segments without shot changes are described. Typical examples of such videos are a home video taken by a digital camera and a segment, or clip, of a professional video or film. The extracted semantics can be directly used in a number of video/image understanding and management applications, such as annotation, browsing, editing, frame enhancement, key-frame extraction, panorama generation, printing, retrieval, summarization. Automatic methods of detecting and tracking moving objects that do not rely on a priori knowledge of the objects are also described. The methods can be executed in real time.

Inventors

  • 👤 Tong Zhang
  • 👤 Yong Wang
  • 👤 Daniel R. Tretter

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-09 11:36
CPC Classifications
G; G06; G06T; G06T7/00; G06T7/20; G06T7/223; G06F; G06F18/00; G06T7/246; G06T7/40; G06V; G06V20/00; G06V20/40; G06T2207/00; G06T2207/30; G06T2207/30241

Claims Analysis

Total Claims: 37
Claim 1
Independent Claim 135 words
A method of estimating camera motion between a pair of successive images, comprising: determining motion vectors from the pair of successive images, wherein the determining comprises segmenting one of the pair of successive images into a plurality of blocks of pixels, selecting for motion vector determination only ones of the blocks having respective levels of feature content that satisfy a criteria, determining luminance values corresponding to respective ones of the selected blocks, matching the selected blocks to blocks of pixels in the other of the pair of successive images based on the luminance values, and determining motion vectors associated with the matched blocks in the pair of successive images; and estimating an affine model of the camera motion based on the motion vectors, wherein the estimated affine model determines a set of camera motion parameters.
Claim 2
Independent Claim 135 words
A method of estimating camera motion between a pair of successive images, comprising: determining motion vectors from the pair of successive images, wherein the determining comprises segmenting one of the pair of successive images into a plurality of blocks of pixels, selecting for motion vector determination only ones of the blocks having respective levels of feature content that satisfy a criteria, determining luminance values corresponding to respective ones of the selected blocks, matching the selected blocks to blocks of pixels in the other of the pair of successive images based on the luminance values, and determining motion vectors associated with the matched blocks in the pair of successive images; and estimating an affine model of the camera motion based on the motion vectors, wherein the estimated affine model determines a set of camera motion parameters.
Claim 3
Dependent Claim 17 words
The method of claim 1 , wherein each of the blocks is an 8×8 array of pixels.
Claim 4
Dependent Claim 22 words
The method of claim 1 , wherein the estimating comprises determining motion vectors by minimizing a distortion value within a search range.
Claim 5
Dependent Claim 23 words
The method of claim 3 , wherein the estimating comprises minimizing the distortion value based on an exhaustive search within the search range.
Claim 6
Dependent Claim 23 words
The method of claim 3 , wherein the estimating comprises minimizing the distortion value based on a three-step search within the search range.
Claim 7
Dependent Claim 25 words
The method of claim 1 , further comprising filtering the motion vectors to remove outliers associated with motion prediction errors that meet a threshold predicate.
Claim 8
Dependent Claim 39 words
The method of claim 6 , wherein the filtering comprises determining a consensus of a set of the motion vectors, comparing a motion vector to the consensus, and removing the motion vector if it differs substantially from the consensus.
Claim 9
Dependent Claim 23 words
The method of claim 1 , wherein the selecting comprises selecting ones of the blocks based on their respective levels of edge content.
Claim 10
Dependent Claim 30 words
The method of claim 8 , wherein the selecting comprises detecting the respective levels of edge content based on application of a Sobel operator to blocks of pixel luminance values.
Claim 11
Dependent Claim 24 words
The method of claim 1 , further comprising down-sampling the pair of successive images, wherein the motion vectors are determined from the down-sampled images.
Claim 12
Dependent Claim 16 words
The method of claim 1 , further comprising iterating the estimated affine model to remove outliers.
Claim 13
Independent Claim 143 words
A method of estimating camera motion between a pair of successive images, comprising the steps of: determining motion vectors from the pair of successive images by the steps of: segmenting one of the pair of successive images into a plurality of blocks of pixels; selecting blocks corresponding to at least one feature in the image; determining luminance values corresponding to respective selected blocks; matching the selected blocks to blocks of pixels in the other of the pair of successive images based on the luminance values; and determining motion vectors associated with matched blocks in the pair of successive images; and estimating an affine model of the camera motion based on the motion vectors, wherein the estimated affine model determines a set of camera motion parameters, wherein the affine model is based on the camera's focal length and rotation angles around three orthogonal axes.
Claim 14
Independent Claim 143 words
A method of estimating camera motion between a pair of successive images, comprising the steps of: determining motion vectors from the pair of successive images by the steps of: segmenting one of the pair of successive images into a plurality of blocks of pixels; selecting blocks corresponding to at least one feature in the image; determining luminance values corresponding to respective selected blocks; matching the selected blocks to blocks of pixels in the other of the pair of successive images based on the luminance values; and determining motion vectors associated with matched blocks in the pair of successive images; and estimating an affine model of the camera motion based on the motion vectors, wherein the estimated affine model determines a set of camera motion parameters, wherein the affine model is based on the camera's focal length and rotation angles around three orthogonal axes.
Claim 15
Dependent Claim 21 words
The method of claim 12 , wherein the estimating comprises estimating the affine model based on a least squared error regression.
Claim 16
Independent Claim 110 words
A method of transforming camera motion parameters into semantic meanings, comprising: determining motion vectors from pairs of successive images; determining respective sets of camera motion parameters by estimating affine models based on the motion vectors; and generating semantic meanings from the sets of camera motion parameters, wherein the generating comprises quantizing the sets of camera motion parameters into a plurality of quantized magnitude classes and quantized direction classes, and producing at least one sentence from a sequence of the images, wherein the producing comprises merging into the sentence successive ones of the images having respective sets of camera motion parameters that are quantized into substantially similar magnitude and direction classes.
Claim 17
Independent Claim 110 words
A method of transforming camera motion parameters into semantic meanings, comprising: determining motion vectors from pairs of successive images; determining respective sets of camera motion parameters by estimating affine models based on the motion vectors; and generating semantic meanings from the sets of camera motion parameters, wherein the generating comprises quantizing the sets of camera motion parameters into a plurality of quantized magnitude classes and quantized direction classes, and producing at least one sentence from a sequence of the images, wherein the producing comprises merging into the sentence successive ones of the images having respective sets of camera motion parameters that are quantized into substantially similar magnitude and direction classes.
Claim 18
Dependent Claim 18 words
The method of claim 14 , wherein the producing comprises computing an average affine model for a sentence.
Claim 19
Dependent Claim 32 words
The method of claim 14 , further comprising the step of generating at least one paragraph from the quantized sets by identifying successive sentences that indicate quantizations that are substantially the same.
Claim 20
Dependent Claim 25 words
The method of claim 16 , wherein the producing comprises generating a histogram of durations of successive sentences and combining sentences based on the histogram.
Claim 21
Dependent Claim 34 words
The method of claim 17 , wherein the combining comprises comparing sentence durations to a threshold, determining anchor sentences based on the comparisons, and merging sentences into the anchor sentences based on distance measurements.
Claim 22
Independent Claim 146 words
A method of detecting an object in images captured by a camera, comprising the steps of: determining motion vectors from pairs of successive images; estimating affine models based on the motion vectors; computing motion compensation residual errors for respective blocks of pixels in the pairs of successive images from the motion vectors and the affine model estimates; filtering the motion compensation residual errors by applying a set of weight values, wherein the filtering step includes generating adjusted residual errors by spatial position filtering by assigning larger weight values to blocks located near a central portion of an image and zero weight values to blocks on an image boundary, and motion magnitude filtering by assigning larger weight values to blocks located near the central portion of the image and non-zero weight values to blocks on the image boundary; and detecting an object based on the residual errors.
Claim 23
Independent Claim 146 words
A method of detecting an object in images captured by a camera, comprising the steps of: determining motion vectors from pairs of successive images; estimating affine models based on the motion vectors; computing motion compensation residual errors for respective blocks of pixels in the pairs of successive images from the motion vectors and the affine model estimates; filtering the motion compensation residual errors by applying a set of weight values, wherein the filtering step includes generating adjusted residual errors by spatial position filtering by assigning larger weight values to blocks located near a central portion of an image and zero weight values to blocks on an image boundary, and motion magnitude filtering by assigning larger weight values to blocks located near the central portion of the image and non-zero weight values to blocks on the image boundary; and detecting an object based on the residual errors.
Claim 24
Dependent Claim 18 words
The method of claim 19 , wherein the spatial position filtering is a based on an exponential function.
Claim 25
Dependent Claim 17 words
The method of claim 19 , wherein the motion magnitude filtering is based on a Gaussian function.
Claim 26
Dependent Claim 21 words
The method of claim 19 , wherein the spatial position filtering and the motion magnitude filtering are implemented as look-up tables.
Claim 27
Dependent Claim 45 words
The method of claim 19 , wherein the filtering step further comprises the step of size and magnitude filtering the adjusted residual errors by clustering outlier blocks into regions based on connectivity, thereby generating bounding boxes and representative residual error magnitudes corresponding to respective regions.
Claim 28
Independent Claim 109 words
A method of detecting an object in images captured by a camera, comprising the steps of: determining motion vectors from pairs of successive images; estimating affine models based on the motion vectors; computing residual errors for respective blocks of pixels in the pairs of successive images from the motion vectors and the affine model estimates; detecting an object based on the residual errors; tracking a detected object by representing the detected object as a quantized color histogram, normalizing the quantized color histogram to a probability shape, and weighting the normalized quantized color histogram, wherein smaller weight values are assigned to pixels farther from the center of the detected object.
Claim 29
Independent Claim 109 words
A method of detecting an object in images captured by a camera, comprising the steps of: determining motion vectors from pairs of successive images; estimating affine models based on the motion vectors; computing residual errors for respective blocks of pixels in the pairs of successive images from the motion vectors and the affine model estimates; detecting an object based on the residual errors; tracking a detected object by representing the detected object as a quantized color histogram, normalizing the quantized color histogram to a probability shape, and weighting the normalized quantized color histogram, wherein smaller weight values are assigned to pixels farther from the center of the detected object.
Claim 30
Dependent Claim 28 words
The method of claim 24 , wherein a quantized color histogram is spatially enhanced by partitioning the quantized color histogram into a central part and a marginal part.
Claim 31
Dependent Claim 19 words
The method of claim 24 , wherein the normalized quantized color histogram is weighted based on a kernel function.
Claim 32
Independent Claim 169 words
An apparatus for video motion understanding, comprising: a data preparation device, comprising a decoder that decodes an incoming video signal and produces an image sequence, a down-sampler that receives the image sequence and produces a sequence of lower-resolution images, and a device that extracts luminance information from the down-sampled image sequence; a camera motion estimator that includes an optical flow analyzer that uses the extracted luminance information for optical flow analysis to generate motion vectors from blocks of pixels in pairs of successive images, and an affine model estimator that generates respective sets of camera motion parameters of affine models of camera motion based on the motion vectors; and an object detector that determines motion compensation residual errors for ones of the blocks based on the sets of camera motion parameters, selects ones of the blocks based on the determined motion compensation residual errors, and filters the selected blocks, wherein the object detector generates a bounding box that identifies a size and position of an object in the image.
Claim 33
Independent Claim 169 words
An apparatus for video motion understanding, comprising: a data preparation device, comprising a decoder that decodes an incoming video signal and produces an image sequence, a down-sampler that receives the image sequence and produces a sequence of lower-resolution images, and a device that extracts luminance information from the down-sampled image sequence; a camera motion estimator that includes an optical flow analyzer that uses the extracted luminance information for optical flow analysis to generate motion vectors from blocks of pixels in pairs of successive images, and an affine model estimator that generates respective sets of camera motion parameters of affine models of camera motion based on the motion vectors; and an object detector that determines motion compensation residual errors for ones of the blocks based on the sets of camera motion parameters, selects ones of the blocks based on the determined motion compensation residual errors, and filters the selected blocks, wherein the object detector generates a bounding box that identifies a size and position of an object in the image.
Claim 34
Independent Claim 211 words
An apparatus for video motion understanding, comprising: a camera motion estimator that includes an optical flow analyzer that uses luminance images for optical flow analysis to generate motion vectors from blocks of pixels in pairs of successive images, and an affine model estimator that respective sets of camera motion parameters of affine models of camera motion based on the motion vectors; and an object detector that determines motion compensation residual errors for ones of the blocks based on the affine models of camera motion, selects ones of the blocks based on the determined motion compensation residual errors, and filters the selected blocks, wherein the object detector generates a bounding box that identifies a size and position of an object in the image; and a semantic meaning parser that generates semantic meanings from the affine models of camera motion, wherein in generating the semantic meanings the semantic meaning parser performs operations comprising quantizing the sets of camera motion parameters into a plurality of quantized magnitude classes and quantized direction classes, and producing at least one sentence from a sequence of the images, wherein the producing comprises merging into the sentence successive ones of the images having respective sets of camera motion parameters that are quantized into substantially similar magnitude and direction classes.
Claim 35
Independent Claim 211 words
An apparatus for video motion understanding, comprising: a camera motion estimator that includes an optical flow analyzer that uses luminance images for optical flow analysis to generate motion vectors from blocks of pixels in pairs of successive images, and an affine model estimator that respective sets of camera motion parameters of affine models of camera motion based on the motion vectors; and an object detector that determines motion compensation residual errors for ones of the blocks based on the affine models of camera motion, selects ones of the blocks based on the determined motion compensation residual errors, and filters the selected blocks, wherein the object detector generates a bounding box that identifies a size and position of an object in the image; and a semantic meaning parser that generates semantic meanings from the affine models of camera motion, wherein in generating the semantic meanings the semantic meaning parser performs operations comprising quantizing the sets of camera motion parameters into a plurality of quantized magnitude classes and quantized direction classes, and producing at least one sentence from a sequence of the images, wherein the producing comprises merging into the sentence successive ones of the images having respective sets of camera motion parameters that are quantized into substantially similar magnitude and direction classes.
Claim 36
Independent Claim 155 words
An apparatus for video motion understanding, comprising: a camera motion estimator that includes an optical flow analyzer that uses luminance images for optical flow analysis to generate motion vectors from blocks of pixels in pairs of successive images, and an affine model estimator that generates affine model estimates based on the motion vectors; an object detector that determines residual errors of blocks based on the affine model estimates, selects blocks based on the residual errors, and filters selected blocks, wherein the object detector generates a bounding box that identifies a size and position of an object; a semantic meaning parser that generates at least one sentence based on combinations of the affine model estimates; and a moving object tracker that includes a target model and probability calculator and a coefficient maximizer that determine target models and target candidate probability density functions based on the bounding box and generate an indication of a tracked moving object.
Claim 37
Independent Claim 155 words
An apparatus for video motion understanding, comprising: a camera motion estimator that includes an optical flow analyzer that uses luminance images for optical flow analysis to generate motion vectors from blocks of pixels in pairs of successive images, and an affine model estimator that generates affine model estimates based on the motion vectors; an object detector that determines residual errors of blocks based on the affine model estimates, selects blocks based on the residual errors, and filters selected blocks, wherein the object detector generates a bounding box that identifies a size and position of an object; a semantic meaning parser that generates at least one sentence based on combinations of the affine model estimates; and a moving object tracker that includes a target model and probability calculator and a coefficient maximizer that determine target models and target candidate probability density functions based on the bounding box and generate an indication of a tracked moving object.

References Cited (Backward Citations)

US6735253B1 Cited
US6983018B1 Cited
US6643387B1 Cited
US6330356B1 Cited
WO2001045421A1 Cited
US7042943B2 Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2011-11-04 2012-05-05 2012-11-04 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2015-11-04 2016-05-05 2016-11-04 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2019-11-04 2020-05-05 2020-11-04 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag