GPU timeline with render-ahead queue
First Claim
Patent Images
1. A computer-implemented method for displaying a plurality of video frames in a reverse order relative to a forward order, the method comprising:
- decoding in a forward order video frames in a video timeline from a video file;
storing the decoded video frames into video memory;
rendering effects onto the stored video frames for playback at a playback rate;
queuing the rendered video frames in the forward order into a secondary queue;
removing the rendered video frames from the secondary queue in a reverse order relative to the forward order;
queuing said removed video frames into a render-ahead queue, wherein queuing video frames into the render-ahead queue occurs at a rate that exceeds the playback rate;
displaying the queued video frames from the render-ahead queue to a screen in the reverse order; and
deleting the displayed video frames from the render-ahead queue after said queued video frames have been displayed to the screen.
3 Assignments
0 Petitions
Accused Products
Abstract
Video editing and video playback utilizing a render-ahead queue for storing rendered video frames. The render-ahead queue facilitates the smooth playback of video in forward and reverse timeline direction, avoiding video glitches that occur when video frames are rendered at a rate that is less than the timeline rate of the video file. Embodiments of the present invention also include the use of a graphics processing unit in conjunction with the render-ahead queue to further ensure smooth playback of video.
-
Citations
13 Claims
-
1. A computer-implemented method for displaying a plurality of video frames in a reverse order relative to a forward order, the method comprising:
-
decoding in a forward order video frames in a video timeline from a video file; storing the decoded video frames into video memory; rendering effects onto the stored video frames for playback at a playback rate; queuing the rendered video frames in the forward order into a secondary queue; removing the rendered video frames from the secondary queue in a reverse order relative to the forward order; queuing said removed video frames into a render-ahead queue, wherein queuing video frames into the render-ahead queue occurs at a rate that exceeds the playback rate; displaying the queued video frames from the render-ahead queue to a screen in the reverse order; and deleting the displayed video frames from the render-ahead queue after said queued video frames have been displayed to the screen. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A system for displaying video in a reverse order relative to a forward order, said system having a video file, video memory, a screen, a central processing unit, and a graphics processing unit, comprising:
-
a render-ahead queue comprising rendered video frames; the central processing unit being configured to execute computer-executable instructions for; decoding in a forward order a video file comprising a plurality of video frames in a video timeline into the video memory; the graphics processing unit being configured to execute computer executable instructions for; rendering effects onto two or more video frames in the video memory for playback at a playback rate; queuing the rendered video frames in the forward order into a secondary queue; removing the rendered video frames from the secondary queue in a reverse order relative to the forward order; queuing the removed video frames in the reverse order into the render-ahead queue in the reverse order, wherein queuing video frames into the render-ahead queue occurs at a rate that exceeds the playback rate; displaying the queued video frames from the render-ahead queue to a screen in the reverse order; and deleting the displayed video frames from the render-ahead queue after said queued video frames have been displayed to the screen. - View Dependent Claims (9, 10, 11)
-
-
12. One or more non-transitory computer-readable storage media having computer-executable instructions stored thereon for performing the following steps:
-
rendering effects onto two or more video frames in a video timeline for playback at a playback rate; queuing the rendered video frames in a forward order into a secondary queue; queuing the rendered video frames from the secondary queue into a render-ahead queue in a reverse order relative to the forward order, wherein queuing video frames into the render-ahead queue occurs at a rate that exceeds the playback rate; displaying the queued video frames from the render-ahead queue to a screen in the reverse order; and deleting the displayed video frames from the render-ahead queue after said queued video frames have been displayed to the screen. - View Dependent Claims (13)
-
Specification