Automated stabilization method for digital image sequences
First Claim
1. A method for stabilizing an image sequence formed from a plurality of successive frames comprising:
- calculating motion vectors for each of said frames, wherein said motion vectors follow corresponding points between adjacent frames;
forming a motion vector histogram for each of said frames from horizontal and vertical components of said motion vectors;
removing unreliable motion vectors from said motion vector histogram to form a processed motion vector histogram for each of said frames;
generating average horizontal and vertical components from said processed motion vector histogram for each of said frames;
filtering said average horizontal and vertical components from two or more successive frames to identify unwanted horizontal and vertical components for each of said frames; and
translating each frame by said unwanted horizontal and vertical components.
5 Assignments
0 Petitions
Accused Products
Abstract
A method and structure for stabilizing a motion image formed using a sequence of successive frames which includes calculating a motion vector field between adjacent frames; forming a motion vector histogram from horizontal and vertical components of the motion vector field; applying a threshold to the motion vector histogram to produce a thresholded motion vector histogram; generating average horizontal and vertical motion components from the thresholded motion vector histogram; filtering the average horizontal and vertical motion components over a number of frames to identify unwanted horizontal and vertical motion components for each of the frames; and stabilizing the image sequence by shifting each frame according to the corresponding unwanted horizontal and vertical motion components.
113 Citations
37 Claims
-
1. A method for stabilizing an image sequence formed from a plurality of successive frames comprising:
-
calculating motion vectors for each of said frames, wherein said motion vectors follow corresponding points between adjacent frames;
forming a motion vector histogram for each of said frames from horizontal and vertical components of said motion vectors;
removing unreliable motion vectors from said motion vector histogram to form a processed motion vector histogram for each of said frames;
generating average horizontal and vertical components from said processed motion vector histogram for each of said frames;
filtering said average horizontal and vertical components from two or more successive frames to identify unwanted horizontal and vertical components for each of said frames; and
translating each frame by said unwanted horizontal and vertical components. - View Dependent Claims (2, 3, 4)
-
-
5. A method for stabilizing an image sequence formed from a plurality of successive frames comprising:
-
calculating motion vectors for each of said frames, wherein said motion vectors follow corresponding points between adjacent frames;
forming a motion vector histogram for each of said frames from horizontal and vertical components of said motion vectors;
removing unreliable motion vectors from said motion vector histogram to form a processed motion vector histogram for each of said frames;
generating average horizontal and vertical components from said processed motion vector histogram for each of said frames;
filtering said average horizontal and vertical components from two or more successive frames to identify unwanted horizontal and vertical components for each of said frames; and
translating each frame by said unwanted horizontal and vertical components;
wherein said filtering is user-adjustable. - View Dependent Claims (6, 7)
-
-
8. A method for stabilizing an image sequence formed from a plurality of successive frames comprising:
-
calculating motion vectors for each of said frames, wherein said motion vectors follow corresponding points between adjacent frames;
forming a motion vector histogram for each of said frames from horizontal and vertical components of said motion vectors;
removing unreliable motion vectors from said motion vector histogram to form a processed motion vector histogram for each of said frames;
generating average horizontal and vertical components from said processed motion vector histogram for each of said frames;
filtering said average horizontal and vertical components from two or more successive frames to identify unwanted horizontal and vertical components for each of said frames; and
translating each frame by said unwanted horizontal and vertical components;
wherein said removing includes discarding values from said motion vector histogram below a threshold and said threshold is determined adaptively for each of said frames.
-
-
9. A computerized digital image system for stabilizing an image sequence formed from a number of successive frames comprising:
-
a motion estimator calculating motion vectors for each of said frames, wherein said motion vectors follow corresponding points between adjacent frames;
a histogram generator forming a motion vector histogram for each of said frames from horizontal and vertical components of said motion vectors;
a processor removing unreliable motion vectors from said motion vector histogram to form a processed motion vector histogram for each of said frames;
an averaging unit generating average horizontal and vertical components from said processed histogram for each of said frames;
a filter filtering said average horizontal and vertical components from two or more successive frames to identify unwanted horizontal and vertical components of each of said frames; and
a stabilizing unit translating each frame by said unwanted horizontal and vertical components. - View Dependent Claims (10, 11, 12)
-
-
13. A computerized digital image system for stabilizing an image sequence formed from a number of successive frames comprising:
-
a motion estimator calculating motion vectors for each of said frames, wherein said motion vectors follow corresponding points between adjacent frames;
a histogram generator forming a motion vector histogram for each of said frames from horizontal and vertical components of said motion vectors;
a processor removing unreliable motion vectors from said motion vector histogram to form a processed motion vector histogram for each of said frames;
an averaging unit generating average horizontal and vertical components from said processed histogram for each of said frames;
a filter filtering said average horizontal and vertical components from two or more successive frames to identify unwanted horizontal and vertical components of each of said frames; and
a stabilizing unit translating each frame by said unwanted horizontal and vertical components;
wherein said filter includes a user interface for adjusting said filter.
-
-
14. A method for stabilizing an image sequence formed from a plurality of successive frames comprising:
-
calculating motion vectors for each of said frames;
forming a motion vector histogram for each of said frames;
generating average horizontal and vertical components from said motion vector histogram for each of said frames;
identifying unwanted horizontal and vertical components for each of said frames based on said average horizontal and vertical components; and
translating each frame by said unwanted horizontal and vertical components; and
further comprising removing unreliable motion vectors from said motion vector histogram for each of said frames. - View Dependent Claims (15, 16, 17, 18, 19, 20)
-
-
21. A method for stabilizing an image sequence formed from a plurality of successive frames comprising:
-
calculating motion vectors for each of said frames;
forming a motion vector histogram for each of said frames;
generating average horizontal and vertical components from said motion vector histogram for each of said frames;
identifying unwanted horizontal and vertical components for each of said frames based on said average horizontal and vertical components; and
translating each frame by said unwanted horizontal and vertical components;
wherein said identifying includes filtering said average horizontal and vertical components from two or more successive frames to identify unwanted horizontal and vertical components for each of said frames; and
wherein said filtering comprises highpass filtering. - View Dependent Claims (22, 23)
-
-
24. A method for stabilizing an image sequence formed from a plurality of successive frames comprising:
-
calculating motion vectors for each of said frames;
forming a motion vector histogram for each of said frames;
generating average horizontal and vertical components from said motion vector histogram for each of said frames;
identifying unwanted horizontal and vertical components for each of said frames based on said average horizontal and vertical components; and
translating each frame by said unwanted horizontal and vertical components;
wherein said identifying includes filtering said average horizontal and vertical components from two or more successive frames to identify unwanted horizontal and vertical components for each of said frames; and
wherein said filtering is user-adjustable. - View Dependent Claims (25, 26)
-
-
27. A method of using a computer program for stabilizing an image sequence formed from a plurality of successive frames comprising:
-
using said computer program to calculate motion vectors for each of said frames;
using said computer program to form a motion vector histogram for each of said frames;
using said computer program to generate average horizontal and vertical components from said motion vector histogram for each of said frames;
using said computer program to identify unwanted horizontal and vertical components for each of said frames based on said average horizontal and vertical components; and
using said computer program to translate each frame by said unwanted horizontal and vertical components; and
further comprising using said computer program to remove unreliable motion vectors from said motion vector histogram for each of said frames. - View Dependent Claims (28, 29, 30, 31, 32)
-
-
33. A method of using a computer program for stabilizing an image sequence formed from a plurality of successive frames comprising:
-
using said computer program to calculate motion vectors for each of said frames;
using said computer program to form a motion vector histogram for each of said frames;
using said computer program to generate average horizontal and vertical components from said motion vector histogram for each of said frames;
using said computer program to identify unwanted horizontal and vertical components for each of said frames based on said average horizontal and vertical components; and
using said computer program to translate each frame by said unwanted horizontal and vertical components; and
wherein said using said computer program to identify unwanted horizontal and vertical components for each of said frames includes using said computer program to filter said average horizontal and vertical components from two or more successive frames; and
wherein said using said computer program to filter comprises using said computer program to highpass filter.
-
-
34. A method of using a computer program for stabilizing an image sequence formed from a plurality of successive frames comprising:
-
using said computer program to calculate motion vectors for each of said frames;
using said computer program to form a motion vector histogram for each of said frames;
using said computer program to generate average horizontal and vertical components from said motion vector histogram for each of said frames;
using said computer program to identify unwanted horizontal and vertical components for each of said frames based on said average horizontal and vertical components; and
using said computer program to translate each frame by said unwanted horizontal and vertical components; and
wherein said using said computer program to identify unwanted horizontal and vertical components for each of said frames includes using said computer program to filter said average horizontal and vertical components from two or more successive frames; and
wherein said using said computer program to filter is user-adjustable.
-
-
35. A method of using a computer program for stabilizing an image sequence formed from a plurality of successive frames comprising:
-
using said computer program to calculate motion vectors for each of said frames;
using said computer program to form a motion vector histogram for each of said frames;
using said computer program to remove unreliable motion vectors from said motion vector histogram to form a processed motion vector histogram for each of said frames;
using said computer program to generate average horizontal and vertical components from said motion vector histogram for each of said frames;
using said computer program to identify unwanted horizontal and vertical components for each of said frames based on said average horizontal and vertical components; and
using said computer program to translate each frame by said unwanted horizontal and vertical components;
wherein said using said computer program to remove includes using said computer program to discard values from said motion vector histogram below a threshold and said threshold is determined adaptively by said computer program for each of said frames.
-
-
36. A method for stabilizing an image sequence formed from a plurality of successive frames comprising:
-
calculating a plurality of motion vectors for each of said frames, wherein said motion vectors follow corresponding points between adjacent frames;
forming a motion vector histogram for each of said frames from horizontal and vertical components of said motion vectors;
removing unreliable motion vectors from said motion vector histogram to form a processed motion vector histogram for each of said frames;
generating average horizontal and vertical components from said processed motion vector histogram for each of said frames;
filtering said average horizontal and vertical components from two or more successive frames to identify unwanted horizontal and vertical components for each of said frames; and
translating each frame by said unwanted horizontal and vertical components;
wherein said filtering is adjustable. - View Dependent Claims (37)
-
Specification