Systems and methods to provide trick play during streaming playback
First Claim
1. A method executable by a client device to process a media stream of media content that is received via a network, the method comprising:
- requesting a first data file representing a first portion of the media stream at the client device via the network, wherein the first data file is encoded with a predetermined duration of the media content with a first number of video frames;
rendering the video frames of the first data file at a first frame rate by the client device to thereby playback the first portion of the media stream represented by the first data file;
receiving a user instruction at the client device to perform a trick play function that adapts the playback speed of the media stream;
in response to the user instruction to adapt the playback speed of the media stream, requesting a second data file representing a second portion of the media stream via the network at the client device, wherein the second data file is encoded with the same predetermined duration of the media content as the first data file with a second number of video frames that is different than the first number of video frames used to encode the first data file; and
performing the trick play function to adapt the playback speed of the media stream by rendering the frames of the second data file so that the predetermined duration of the media content represented by the second data file is rendered over a different period of time than the same predetermined duration of the media content represented by the first data file without degradation of the first frame rate.
6 Assignments
0 Petitions
Accused Products
Abstract
Systems and methods are described for providing trick play functions such as fast forward, rewind or slow motion during playback of streaming media content. Multiple sets of streamlets or other media files that represent the same media stream are encoded differently from each other (e.g., at different frame rates and/or frame directions), and each set of files is simultaneously maintained at a server. Files encoded at a first format are made available to the client device during regular playback, and files encoded at a different frame rate and/or a different direction of encoding are made available to support trick play.
-
Citations
33 Claims
-
1. A method executable by a client device to process a media stream of media content that is received via a network, the method comprising:
-
requesting a first data file representing a first portion of the media stream at the client device via the network, wherein the first data file is encoded with a predetermined duration of the media content with a first number of video frames; rendering the video frames of the first data file at a first frame rate by the client device to thereby playback the first portion of the media stream represented by the first data file; receiving a user instruction at the client device to perform a trick play function that adapts the playback speed of the media stream; in response to the user instruction to adapt the playback speed of the media stream, requesting a second data file representing a second portion of the media stream via the network at the client device, wherein the second data file is encoded with the same predetermined duration of the media content as the first data file with a second number of video frames that is different than the first number of video frames used to encode the first data file; and performing the trick play function to adapt the playback speed of the media stream by rendering the frames of the second data file so that the predetermined duration of the media content represented by the second data file is rendered over a different period of time than the same predetermined duration of the media content represented by the first data file without degradation of the first frame rate. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. A method executable by a data processing system to provide a media stream that represents a media program to a client device via a network, the method comprising:
-
maintaining a first set of files that collectively represents the media stream, wherein each of the first set of files is sequentially ordered according to a time index so that each of the first set of files represents a predetermined duration of the media program that is encoded at a first frame rate; simultaneously maintaining a second set of files that collectively represents the same media stream sequentially-ordered according to the same time index as the first set of files, wherein each of the second set of files represents the same predetermined duration of the media program that is encoded at a second frame rate that is different from the first frame rate so that the files of the second set represent the same portions of the media program as the files of the first set but with different numbers of video frames; sequentially providing files from the first set of files to the client device via the network during normal playback of the media stream to thereby allow the client device to render the media stream at a playback frame rate; and sequentially providing files from the second set of files to the client device during a trick play operation in which the playback speed of the media stream is altered to thereby allow the client device to render the different number of video frames of the second set of at the same playback frame rate as the first set of files so that the predetermined duration of the media program represented by the second set of files is rendered over a different period of time to thereby adapt the playback speed of the media program without degradation in the frame rate. - View Dependent Claims (20, 21, 22, 23, 24, 25)
-
-
26. A data processing system that provides a media stream of media content to a client device via a network, the data processing system comprising:
-
an interface to the network; a database configured to simultaneously maintain a first set of files and a second set of files that each collectively represent the same media stream and that are each sequentially ordered according to a common time index, wherein each of the second set of files represents the same predetermined duration of the media content as the files of the first set of files, but wherein the second set of files is encoded at a different frame rate from the first set of files so that the second set of files represents the same predetermined duration of the media content with a different number of video frames from the first set of files; and a file server in communication with the database and the interface, wherein the file server is configured to sequentially provide files from the first set of files to the client device via the network during normal playback of the media stream to thereby permit the client device to render video frames of the first set of files for playback at a playback frame rate, and, in response to a user of the client device instructing a trick play operation that adapts a playback speed of the media stream, to provide files from the second set of files having the different frame rate to the client device during the trick play operation to thereby permit the client device to perform the trick play operation by rendering the different number of video frames in the second set of files for playback at the same playback frame rate as the first set of files so that the predetermined duration of the media program represented by the second set of files is rendered over a different period of time to thereby adapt the playback speed of the first media program without degradation in the playback frame rate during the trick play operation. - View Dependent Claims (27, 28, 29, 30, 31, 32, 33)
-
Specification