Cascaded camera motion estimation, rolling shutter detection, and camera shake detection for video stabilization
First Claim
1. A method, comprising:
- accessing a video;
estimating, for a plurality of frames of the video, values of a plurality of degrees of freedom (DOF) of a similarity motion model, a value of each of the DOFs of the similarity motion model representing a magnitude of a different camera motion of an original camera used to capture the video, the DOFs of the similarity motion model comprising a scale change DOF and a rotation change DOF;
generating spectrograms for the DOFs based on the values of the DOFs over time windows comprising a plurality of adjacent frames of the video;
generating a plurality of shake features based on the spectrograms;
classifying the video based on the shake features; and
stabilizing the video based on the classification.
2 Assignments
0 Petitions
Accused Products
Abstract
An easy-to-use online video stabilization system and methods for its use are described. Videos are stabilized after capture, and therefore the stabilization works on all forms of video footage including both legacy video and freshly captured video. In one implementation, the video stabilization system is fully automatic, requiring no input or parameter settings by the user other than the video itself. The video stabilization system uses a cascaded motion model to choose the correction that is applied to different frames of a video. In various implementations, the video stabilization system is capable of detecting and correcting high frequency jitter artifacts, low frequency shake artifacts, rolling shutter artifacts, significant foreground motion, poor lighting, scene cuts, and both long and short videos.
82 Citations
20 Claims
-
1. A method, comprising:
-
accessing a video; estimating, for a plurality of frames of the video, values of a plurality of degrees of freedom (DOF) of a similarity motion model, a value of each of the DOFs of the similarity motion model representing a magnitude of a different camera motion of an original camera used to capture the video, the DOFs of the similarity motion model comprising a scale change DOF and a rotation change DOF; generating spectrograms for the DOFs based on the values of the DOFs over time windows comprising a plurality of adjacent frames of the video; generating a plurality of shake features based on the spectrograms; classifying the video based on the shake features; and stabilizing the video based on the classification. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A non-transitory computer readable storage medium storing executable computer program instructions for caching streaming media, the computer program instructions comprising instructions that when executed cause a computer processor to:
-
access a video; estimate, for a plurality of frames of the video, values of a plurality of degrees of freedom (DOF) of a similarity motion model, a value of each of the DOFs of the similarity motion model representing a magnitude of a different camera motion of an original camera used to capture the video, the DOFs of the similarity motion model comprising a scale change DOF and a rotation change DOF; generate spectrograms for the DOFs based on the values of the DOFs over time windows comprising a plurality of adjacent frames of the video; generate a plurality of shake features based on the spectrograms; classify the video based on the shake features; and stabilize the video based on the classification. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A computer system for caching streaming media, the system comprising:
-
a memory; and a computer processor, coupled to the memory, to; access a video; estimate, for a plurality of frames of the video, values of a plurality of degrees of freedom (DOF) of a similarity motion model, a value of each of the DOFs of the similarity motion model representing a magnitude of a different camera motion of an original camera used to capture the video, the DOFs of the similarity motion model comprising a scale change DOF and a rotation change DOF; generate spectrograms for the DOFs based on the values of the DOFs over time windows comprising a plurality of adjacent frames of the video; generate a plurality of shake features based on the spectrograms; classify the video based on the shake features; and stabilize the video based on the classification. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification