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 first video decoder engine configured to receive the video data and to generate a first plurality of video frames based on the video data;
a first frame buffer for storing the first 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 first plurality of video frames;
a graphics processing unit-to-central processing unit (GPU-to-CPU) coefficient data transport configured to transmit the at least one correlation coefficient to a playback application for determining whether a scene boundary exists between any of the at least two video frames based on the at least one correlation coefficient and for generating an entry in a list of scene transitions when a scene boundary exists;
a second video decoder engine configured to receive the video data and to generate a second plurality of video frames based on the video data;
a second frame buffer for storing the second plurality of video frames; and
a display engine configured to generate a video output signal to display the second plurality of video frames,wherein the second video decoder engine is associated with a reverse mode or a fast-forward mode, and wherein the reverse mode or the fast-forward mode is associated with the at least one correlation coefficient, andwherein the first plurality of video frames and the second plurality of video frames represent two independently read versions of the video data.
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.
28 Citations
20 Claims
-
1. A system for generating a list of content-based scene transitions within a stream of video data, the system comprising:
-
a first video decoder engine configured to receive the video data and to generate a first plurality of video frames based on the video data; a first frame buffer for storing the first 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 first plurality of video frames; a graphics processing unit-to-central processing unit (GPU-to-CPU) coefficient data transport configured to transmit the at least one correlation coefficient to a playback application for determining whether a scene boundary exists between any of the at least two video frames based on the at least one correlation coefficient and for generating an entry in a list of scene transitions when a scene boundary exists; a second video decoder engine configured to receive the video data and to generate a second plurality of video frames based on the video data; a second frame buffer for storing the second plurality of video frames; and a display engine configured to generate a video output signal to display the second plurality of video frames, wherein the second video decoder engine is associated with a reverse mode or a fast-forward mode, and wherein the reverse mode or the fast-forward mode is associated with the at least one correlation coefficient, and wherein the first plurality of video frames and the second plurality of video frames represent two independently read versions of the video data. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. 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 first 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 first 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; transmit the at least one correlation coefficient to a playback application via a graphics processing unit-to-central processing unit (GPU-to-CPU) coefficient data transport; generate a second plurality of video frames based on the video data, and generate a video output signal to display the second plurality of video frames; and a central processing unit (CPU) that, when executing the playback application, is 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 scene boundary exists, wherein the second plurality of video frames is associated with a reverse mode or a fast-forward mode, and wherein the reverse mode or the fast-forward mode is associated with the at least one correlation coefficient, and wherein the first plurality of video frames and the second plurality of video frames represent two independently read versions of the video data. - View Dependent Claims (16, 17, 18)
-
-
19. 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 first 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 first 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; transmitting the at least one correlation coefficient to a playback application via a graphics processing unit-to-central processing unit (GPU-to-CPU) coefficient data transport; generating a second plurality of video frames based on the video data; generating a video output signal to display the second plurality of video frames; causing a central processing unit (CPU) 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 causing the CPU to generate an entry in a list of scene transitions when a scene boundary exists; wherein the second plurality of video frames is associated with a reverse mode or a fast-forward mode, and wherein the reverse mode or the fast-forward mode is associated with the at least one correlation coefficient, and wherein the first plurality of video frames and the second plurality of video frames represent two independently read versions of the video data. - View Dependent Claims (20)
-
Specification