Foreground detection for video stabilization
AssigneeFacebook, Inc.
InventorsMelanie Sclar, Amit Puntambekar, Michael Hamilton Coward, Wurzel David Parsons-Keir
Life of this patent
Estimating the term…
Abstract
Video foreground and background detection is performed on a received video sequence on a macroblock by macroblock basis using motion vector encoding information associated with each macroblock. Some of the macroblocks in each frame, for example, edge or corner macroblocks, may be exempt from the foreground and background detection. The detection information, along with the video data, is passed to an image stabilization algorithm that prepares the video for subsequent video compression.
Claims20
A computer-implemented method of processing video, comprising:
- receiving 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;
- classifying the number of macroblocks as being one of a background macroblock, a foreground macroblock, and an exempt macroblock;
- wherein, from a perspective of a viewer of the video, the background macroblock appears as being in background and the foreground macroblock appears as being in front of a visual rendering of the video;
- and
- providing results of the classifying, along with the video sequence, to a video stabilization stage in which video is stabilized based on the results of the classifying.
A computer program product comprising a computer-readable medium that stores processor-executable code, the code comprising instructions for implementing a method of analyzing a video sequence, the instructions comprising:
- instructions for receiving 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 identifying at least a directionality of relative movement between consecutive ones of the plurality of video frames;
- instructions for associating, using the directionality, a priority of a subsequent video stabilization with at least some of the number of macroblocks;
- and
- instructions for providing results of the classifying, along with the video sequence, to a video stabilization stage in which video is stabilized based on the results of the classifying.
An apparatus comprising a memory, a processor for analyzing a video sequence, comprising:
- module for receiving 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 classifying the number of macroblocks as being one of a background macroblock, a foreground macroblock, and an exempt macroblock;
- wherein, from a perspective of a viewer of the video, the background macroblock appears as being in background and the foreground macroblock appears as being in front of a visual rendering of the video;
- and
- module for providing results of the classifying, along with the video sequence, to a video stabilization stage in which video is stabilized based on the results of the classifying.
Dependencies are inferred from the claim text.