Neural network to optimize video stabilization parameters
AssigneeFacebook, Inc.
InventorsMelanie Sclar, Amit Puntambekar, Michael Hamilton Coward, Wurzel David Parsons-Keir
Life of this patent
Estimating the term…
Abstract
A neural network learning algorithm obtains a fingerprint of a video sequence. Using the fingerprint, selection of an appropriate video stabilization algorithm, and its parameter settings, is performed. The video thus stabilized is made more appealing for viewing and easier for subsequent video compression. The neural network may be trained during a training phase to select a correct fingerprint of each video sequence based on the effectiveness of resulting video stabilization and/or compression.
Claims20
A method of performing stabilization of a video sequence, thereby improving compressibility of the video sequence, comprising:
- selecting a video sequence comprising a plurality of encoded video frames, wherein each encoded video frame includes a number of macroblocks and motion vector information associated with the number of macroblocks;
- computing a fingerprint of the video sequence, wherein the fingerprint includes a set of parameters indicative of visual properties of the video sequence relevant to stabilization;
- obtaining multiple results for the video sequence using multiple video stabilization settings using either different parameter settings of a video stabilization algorithm or different video stabilization algorithms;
- comparing the multiple results to determine a winning setting;
- and
- training a neural network to form association between the fingerprint and the winning setting.
A system for transcoding a plurality of video sequences, comprising:
- module for selecting a video sequence comprising a plurality of encoded video frames, wherein each encoded video frame includes a number of macroblocks and motion vector information associated with the number of macroblocks;
- module for computing a fingerprint of the video sequence, wherein the fingerprint includes a set of parameters indicative of visual properties of the video sequence relevant to stabilization;
- module for obtaining multiple results for the video sequence using multiple video stabilization settings using either different parameter settings of a video stabilization algorithm or different video stabilization algorithms;
- module for comparing the multiple results to determine a winning setting;
- and
- module for training a neural network to form association between the fingerprint and the winning setting.
A computer program product comprising a computer-readable medium that stores processor-executable code, the code comprising instructions for implementing a method of transcoding a video sequence, comprising:
- instructions for selecting a video sequence comprising a plurality of encoded video frames, wherein each encoded video frame includes a number of macroblocks and motion vector information associated with the number of macroblocks;
- instructions for computing a fingerprint of the video sequence, wherein the fingerprint includes a set of parameters indicative of visual properties of the video sequence relevant to stabilization;
- instructions for obtaining multiple results for the video sequence using multiple video stabilization settings using either different parameter settings of a video stabilization algorithm or different video stabilization algorithms;
- instructions for comparing the multiple results to determine a winning setting;
- and
- instructions for training a neural network to form association between the fingerprint and the winning setting.
Dependencies are inferred from the claim text.