Real-time video segmentation on a GPU for scene and take indexing
First Claim
1. A system for generating a list of content-based scene transitions within a stream of video data, the system comprising:
- a video decoder engine configured to receive the video data and to generate a plurality of video frames based on the video data;
a frame buffer for storing the plurality of video frames;
a frame correlation engine configured to generate at least one correlation coefficient based on a comparison between at least two video frames in the plurality of video frames, wherein the at least one correlation coefficient is used to determine whether a scene boundary exists between any of the at least two video frames; and
a data transport engine configured to transfer the at least one correlation coefficient to a playback application executing on a central processing unit (CPU) to allow the playback application to determine whether a scene boundary exists between any of the at least two video frames based on the at least one correlation coefficient and to generate an entry in a list of scene transitions when a determination is made that a scene boundary exists.
1 Assignment
0 Petitions
Accused Products
Abstract
One embodiment of the present invention sets forth a technique that enables a user to reverse through video content based on scene transitions. By employing a graphics processing unit to compute one or more frame-to-frame correlation coefficients that measure the consistency of sequential images and a central processing unit to analyze the one or more correlation coefficients, a list of scene transitions may be generated in real-time. The list of scene transitions forms the basis for a content-based reverse user control within the playback application. The content-based reverse user control enables a more natural mechanism for reversing through video content, providing the user with a superior overall viewing experience.
30 Citations
17 Claims
-
1. A system for generating a list of content-based scene transitions within a stream of video data, the system comprising:
-
a video decoder engine configured to receive the video data and to generate a plurality of video frames based on the video data; a frame buffer for storing the plurality of video frames; a frame correlation engine configured to generate at least one correlation coefficient based on a comparison between at least two video frames in the plurality of video frames, wherein the at least one correlation coefficient is used to determine whether a scene boundary exists between any of the at least two video frames; and a data transport engine configured to transfer the at least one correlation coefficient to a playback application executing on a central processing unit (CPU) to allow the playback application to determine whether a scene boundary exists between any of the at least two video frames based on the at least one correlation coefficient and to generate an entry in a list of scene transitions when a determination is made that a scene boundary exists. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A computing device configured to generate a list of content-based scene transitions within a stream of video data, the computing device comprising:
-
a graphics processing unit (GPU) configured to; receive the video data and generate a plurality of video frames based on the video data; generate at least one correlation coefficient based on a comparison between at least two video frames in the plurality of video frames, wherein the at least one correlation coefficient is used to determine whether a scene boundary exists between any of the at least two video frames; and transfer the at least one correlation coefficient to a playback application executing on a central processing unit (CPU); and the playback application configured to; determine whether a scene boundary exists between any of the at least two video frames based on the at least one correlation coefficient; and generate an entry in a list of scene transitions when a determination is made that a scene boundary exists. - View Dependent Claims (13, 14, 15)
-
-
16. A method for generating a list of content-based scene transitions within a stream of video data, the method comprising:
-
receiving the video data and generating a plurality of video frames based on the video data; generating at least one correlation coefficient based on a comparison between at least two video frames in the plurality of video frames, wherein the at least one correlation coefficient is used to determine whether a scene boundary exists between any of the at least two video frames; and transferring the at least one correlation coefficient to a playback application executing on a central processing unit (CPU) to allow the playback application to determine whether a scene boundary exists between any of the at least two video frames based on the at least one correlation coefficient and to generate an entry in a list of scene transitions when a determination is made that a scene boundary exists. - View Dependent Claims (17)
-
Specification