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, each degree of freedom representing a different camera motion of an original camera used to capture the video, the values of the DOFs representing magnitudes of the different camera motions;
generating a spectrogram for each of the DOFs, each spectrogram based on the values of the DOFs over a time window 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.
25 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, each degree of freedom representing a different camera motion of an original camera used to capture the video, the values of the DOFs representing magnitudes of the different camera motions; generating a spectrogram for each of the DOFs, each spectrogram based on the values of the DOFs over a time window 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, each degree of freedom representing a different camera motion of an original camera used to capture the video, the values of the DOFs representing magnitudes of the different camera motions; generate a spectrogram for each of the DOFs, each spectrogram based on the values of the DOFs over a time window 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 non-transitory computer-readable storage medium storing executable computer program instructions, the computer program instructions comprising instructions that when executed cause a computer processor to perform steps, 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, each degree of freedom representing a different camera motion of an original camera used to capture the video, the values of the DOFs representing magnitudes of the different camera motions; generating a spectrogram for each of the DOFs, each spectrogram based on the values of the DOFs over a time window 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 (16, 17, 18, 19, 20)
Specification