IP Library Granted Patent US 7,457,438
Granted Patent B2
US 7,457,438 · App. 10/868,169 · Granted Nov 25, 2008

Robust camera pan vector estimation using iterative center of mass

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,457,438
App. No.
10/868,169
Granted
Nov 25, 2008
Kind
B2
Abstract

Methods and apparatus, including computer program products, implementing and using techniques for camera pan vector estimation, are disclosed. A camera model is provided for representing motion vectors based on a plurality of parameters. A distribution of the motion vectors is generated. A cluster in the distribution of motion vectors is identified. A center of mass of the identified cluster is determined. The camera pan vector is provided based upon the determined center of mass.

Claims (59)

1. A method for estimating a camera pan vector comprising:

providing motion vectors in a first resolution;

projecting the motion vectors in a second resolution, the second resolution of lower resolution than the first resolution;

generating a distribution of the motion vectors;

identifying a cluster in the distribution of the motion vectors;

determining a center of mass of the identified cluster;

providing the camera pan vector based upon the determined center of mass.

2. The method of claim 1 , the camera pan vector including parameters of a camera model representing the motion vectors in an image patch.

3. The method of claim 2 , wherein providing the camera pan vector based upon the determined center of mass comprises:

providing the determined center of mass as one or more of the parameters of the camera model.

4. The method of claim 1 , further comprising:

storing the provided camera pan vector in a processor readable memory.

5. The method of claim 1 , the motion vectors including values, wherein generating the distribution of the motion vectors comprises:

generating a two-dimensional histogram having bins, and

providing the motion vector values in appropriate bins of the two-dimensional histogram.

6. The method of claim 1 , wherein the camera pan vector is generated for an image patch, the image patch including a single pixel.

7. The method of claim 1 , wherein the camera pan vector is generated for an image patch, the image patch including a plurality of pixels.

8. The method of claim 5 , wherein identifying the cluster in the distribution of motion vectors comprises:

accumulating bins within a first neighborhood in the two-dimensional histogram,

accumulating bins within a second neighborhood in the two-dimensional histogram,

selecting one of the neighborhoods as having a higher accumulation of bins, and

providing the selected neighborhood as the identified cluster in the distribution of motion vectors.

9. The method of claim 8 , wherein each neighborhood is contained within a window of a predetermined size.

10. The method of claim 8 , wherein identifying the cluster in the distribution of motion vectors further comprises:

before selecting the one neighborhood,

accumulating bins within further neighborhoods in the two-dimensional histogram.

11. The method of claim 1 , wherein the center of mass of the identified cluster is determined within a window of predetermined size.

12. The method of claim 9 , wherein the center of mass of the identified cluster is determined within a window having a larger size than the window or windows containing the neighborhoods.

13. An apparatus for estimating a camera pan vector comprising:

a motion vector generator configured to obtain motion vectors in a first resolution, project the motion vectors in a second resolution having lower resolution than the first resolution, and generate a distribution of the projected motion vectors;

a cluster identifier configured to identify a cluster in the distribution of motion vectors;

a determining module configured to determine a center of mass of the identified cluster; and

a camera pan calculator configured to provide the camera pan vector based upon the determined center of mass.

14. The apparatus of claim 13 , the camera pan vector including parameters of a camera model representing the motion vectors in an image patch.

15. The apparatus of claim 14 , the camera pan calculator configured to:

provide the determined center of mass as one or more of the parameters of the camera model.

16. The apparatus of claim 13 , the motion vectors including values, the motion vector generator configured to:

generate a two-dimensional histogram having bins, and

provide the motion vector values in appropriate bins of the two-dimensional histogram.

17. The apparatus of claim 16 , the cluster identifier configured to:

accumulate bins within a first neighborhood in the two-dimensional histogram,

accumulate bins within a second neighborhood in the two-dimensional histogram,

select one of the neighborhoods as having a higher accumulation of bins, and

provide the selected neighborhood as the identified cluster in the distribution of motion vectors.

18. A computer program product, stored on a processor readable medium, comprising instructions operable to cause a computer to perform a method for estimating a camera pan vector, the method comprising:

providing motion vectors in a first resolution;

projecting the motion vectors in a second resolution, the second resolution of lower resolution than the first resolution;

generating a distribution of the projected motion vectors;

identifying a cluster in the distribution of motion vectors;

determining a center of mass of the identified cluster; and

providing the camera pan vector based upon the determined center of mass.

19. The computer program product of claim 18 , the motion vectors including values, wherein generating the distribution of the motion vectors comprises:

generating a two-dimensional histogram having bins, and

providing the motion vector values in appropriate bins of the two-dimensional histogram.

20. The computer program product of claim 19 , the step of identifying the cluster in the distribution of motion vectors including:

accumulating bins within a first neighborhood in the two-dimensional histogram,

accumulating bins within a second neighborhood in the two-dimensional histogram,

selecting one of the neighborhoods as having a higher accumulation of bins, and

providing the selected neighborhood as the identified cluster in the distribution of motion vectors.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 6, 2009
From: GENESIS MICROCHIP INC.
To: TAMIRAS PER PTE. LTD., LLC
Reel/Frame 022915/0929 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 18, 2005
From: NAIR, HARI N.
To: GENESIS MICROCHIP INC.
Reel/Frame 015606/0288 →