Systems and methods for fast video startup using trick play streams
First Claim
1. A method for fast startup of video playback of encoded media using at least two video streams, where the media is encoded as at least a first video stream and a second video stream, the method comprising:
- receiving a user instruction on a playback device causing playback of the encoded media to start at a time within the encoded media where the next frame is not already stored within the buffer of the playback device, where the encoded media is encoded as at least a first video stream and a second video stream that encode the same media content at different bitrates;
identifying a starting location within the first video stream at which to commence playback and an initial frame at the starting location within the first video stream using the playback device;
identifying a frame of video in the second video stream that corresponds with the identified starting location in the first video stream using the playback device;
requesting the identified frame of video in the second video stream using the playback device;
requesting and buffering video from the first video stream starting at the identified starting location using the playback device;
decoding the identified frame of video in the second video stream using the playback device;
displaying the decoded frame of video in the second video stream while buffering video from the first video stream and while the first video stream is not sufficiently buffered for continuous playback;
decoding buffered video from the first video stream using the playback device; and
displaying the decoded buffered video from the first video stream when the first video stream is sufficiently buffered for continuous playback.
5 Assignments
0 Petitions
Accused Products
Abstract
Systems and methods for fast startup of video playback in accordance with embodiments of the invention are disclosed. One embodiment includes identifying a location within the first video stream at which to commence playback, identifying a frame of video in the second video stream that corresponds with the identified location in the first video stream, requesting the identified frame of video in the second video stream, requesting and buffering video from the first video stream starting at the identified location, decoding the identified frame of video in the second video stream, displaying the decoded frame of video in the second video stream while buffering video from the first video stream, decoding video from the first video stream, and displaying the decoded video from the first video stream when the first video stream is sufficiently buffered for continuous playback.
236 Citations
20 Claims
-
1. A method for fast startup of video playback of encoded media using at least two video streams, where the media is encoded as at least a first video stream and a second video stream, the method comprising:
-
receiving a user instruction on a playback device causing playback of the encoded media to start at a time within the encoded media where the next frame is not already stored within the buffer of the playback device, where the encoded media is encoded as at least a first video stream and a second video stream that encode the same media content at different bitrates; identifying a starting location within the first video stream at which to commence playback and an initial frame at the starting location within the first video stream using the playback device; identifying a frame of video in the second video stream that corresponds with the identified starting location in the first video stream using the playback device; requesting the identified frame of video in the second video stream using the playback device; requesting and buffering video from the first video stream starting at the identified starting location using the playback device; decoding the identified frame of video in the second video stream using the playback device; displaying the decoded frame of video in the second video stream while buffering video from the first video stream and while the first video stream is not sufficiently buffered for continuous playback; decoding buffered video from the first video stream using the playback device; and displaying the decoded buffered video from the first video stream when the first video stream is sufficiently buffered for continuous playback. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. A playback device for fast startup of video playback of encoded media using at least two video streams, where the media is encoded as at least a first video stream and a second video stream, comprising:
-
a network interface; memory; and a processor; wherein the processor is configured by a playback application to; receive a user instruction on a playback device causing playback of the encoded media to start at a time within the encoded media where the next frame is not already stored within the buffer of the playback device, where the encoded media is encoded as at least a first video stream and a second video stream that encode the same media content at different bitrates; identify a starting location within the first video stream at which to commence playback and an initial frame at the starting location within the first video stream; identify a frame of video in the second video stream that corresponds with the identified starting location in the first video stream; request the identified frame of video in the second video stream; request and buffer video from the first video stream starting at the identified starting location; decode the identified frame of video in the second video stream; display the decoded frame of video in the second video stream while buffering video from the first video stream and while the first video stream is not sufficiently buffered for continuous playback; decode buffered video from the first video stream; and display the decoded buffered video from the first video stream when the first video stream is sufficiently buffered for continuous playback.
-
-
20. A non-transitory machine readable medium containing processor instructions, where execution of the instructions by a processor causes the processor to perform a process comprising:
-
receiving a user instruction causing playback of the encoded media to start at a time within the encoded media where the next frame is not already stored within the buffer of the playback device, where the encoded media is encoded as at least a first video stream and a second video stream that encode the same media content at different bitrates; identifying a starting location within the first video stream at which to commence playback and an initial frame at the starting location within the first video stream; identifying a frame of video in the second video stream that corresponds with the identified starting location in the first video stream; requesting the identified frame of video in the second video stream device; requesting and buffering video from the first video stream starting at the identified starting location; decoding the identified frame of video in the second video stream; displaying the decoded frame of video in the second video stream while buffering video from the first video stream and while the first video stream is not sufficiently buffered for continuous playback; decoding buffered video from the first video stream using the playback device; and displaying the decoded buffered video from the first video stream when the first video stream is sufficiently buffered for continuous playback.
-
Specification