Trick mode support for VOD with long intra-frame intervals
First Claim
Patent Images
1. A method for encoding video streams comprising:
- receiving, at a video on-demand server, media content to be encoded;
determining, at the video on-demand server, a number of video streams to encode for each of a plurality of display speeds based on an intra-frame interval for each of the video streams, the number of video streams that is determined is greater than one;
determining, at the video on-demand server, a stagger value based on the number of video streams for each of the plurality of display speeds and the intra-frame interval; and
encoding the media content, at the video on-demand server, into each of the number of video streams for each of the plurality of display speeds, wherein a first video stream encoded for a particular display speed includes intra-frames at a particular intra-frame interval, and wherein a second video stream encoded for the particular display speed includes intra-frames at the particular intra-frame interval, the intra-frames of the second video stream being staggered by the stagger value with respect to the intra-frames of the first video stream.
2 Assignments
0 Petitions
Accused Products
Abstract
A video-on-demand system encodes multiple video streams from media content, such that the video streams have staggered intra-frame intervals. When a client device requests a video stream, the video-on-demand system selects one of the multiple video streams based on the position of the intra-frames, and transmits the selected video stream to the client device.
28 Citations
28 Claims
-
1. A method for encoding video streams comprising:
-
receiving, at a video on-demand server, media content to be encoded; determining, at the video on-demand server, a number of video streams to encode for each of a plurality of display speeds based on an intra-frame interval for each of the video streams, the number of video streams that is determined is greater than one; determining, at the video on-demand server, a stagger value based on the number of video streams for each of the plurality of display speeds and the intra-frame interval; and encoding the media content, at the video on-demand server, into each of the number of video streams for each of the plurality of display speeds, wherein a first video stream encoded for a particular display speed includes intra-frames at a particular intra-frame interval, and wherein a second video stream encoded for the particular display speed includes intra-frames at the particular intra-frame interval, the intra-frames of the second video stream being staggered by the stagger value with respect to the intra-frames of the first video stream. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A method for encoding video streams comprising:
-
receiving, at the video on-demand server, media content to be encoded; determining, at the video on-demand server, a number of video streams to encode based on an intra-frame interval for each of the video streams; determining, at the video on-demand server, a stagger value based on the number of video streams and the intra-frame interval; encoding the media content, at the video on-demand server, into each of a first set of multiple video streams such that each of the multiple video streams in the first set have a first display speed, wherein a first video stream of the video streams of the first set includes intra-frames at the intra-frame interval, and wherein a second video stream of the video streams of the first set includes intra-frames at the intra-frame interval, the intra-frames of the second video stream of the video streams of the first set being staggered by the stagger value with respect to the intra-frames of the first video stream of the video streams of the first set; and encoding the media content, at the video on-demand server, into each of a second set of multiple video streams such that each of the multiple video streams in the second set have a second display speed, wherein a first video stream of the video streams of the second set includes intra-frames at the intra-frame interval, and wherein a second video stream of the video streams of the second set includes intra-frames at the intra-frame interval, the intra-frames of the second video stream of the video streams of the second set being staggered by the stagger value with respect to the intra-frames of the first video stream of the video streams of the second set. - View Dependent Claims (14)
-
-
15. A system comprising:
-
a processing device; an interface configured to receive media content to be encoded; and a media encoder configured to; determine a number of video streams to encode for each of a plurality of display speeds based on an intra-frame interval for each of the video streams; determine a stagger value based on the number of video streams for each of the plurality of display speeds and the intra-frame interval; and encode the media content into each of the number of video streams for each of the plurality of display speeds, wherein a first video stream encoded for a particular display speed includes intra-frames at the intra-frame interval, and wherein a second video stream encoded for the particular display speed includes intra-frames at the intra-frame interval, the intra-frames of the second video stream being staggered by the stagger value with respect to the intra-frames of the first video stream. - View Dependent Claims (16, 17, 18)
-
-
19. A system comprising:
-
a processing device; a repository configured to store; multiple video streams of a first speed, each comprising the same media content, the multiple video streams of the first speed encoded to have staggered intra-frame intervals, relative one video stream to another, whereby each of the video streams of the first speed includes intra-frames at the same intra-frame interval; and multiple video streams of a second speed, each comprising the same media content, the multiple video streams of the second speed encoded to have staggered intra-frame intervals, relative one video stream to another, whereby each of the video streams of the second speed includes intra-frames at the same intra-frame interval; and a stream selector configured to; receive a request for the media content to be played at the second speed; examine the multiple video streams of the second speed to identify a particular video stream of the second speed having an intra-frame nearest to a current position of the media content; and select the particular video stream for transmission to a client device. - View Dependent Claims (20)
-
-
21. A system comprising:
-
a processing device; a media encoder configured to; determine a number of video streams to encode for each of a plurality of display speeds based on an intra-frame interval for each of the video streams; determine a stagger value based on the number of video streams for each of a plurality of display speeds and the intra-frame interval; and encode particular media content into the number of video streams for each of a plurality of display speeds, each comprising the particular media content, wherein at least two video streams are encoded for a particular display speed such that the intra-frame intervals are staggered, relative one of the two video streams to the other of the two video streams; a repository configured to store the video streams; a stream selector configured to select one of the video streams; and a transmitter for transmitting the one of the multiple video streams to a client device. - View Dependent Claims (22, 23)
-
-
24. A video encoding system comprising:
-
a processing device; means for receiving media content; means for determining a number of video streams to encode based on popularity of the media content; means for determining a stagger value based on the number of video streams and an intra-frame interval; and means for encoding the media content into each of the number of media streams, wherein a first of the video streams includes intra-frames at the intra-frame interval, and wherein a second of the video streams includes intra-frames at the intra-frame interval, the intra-frames of the second video stream being staggered by the stagger value with respect to the intra-frames of the first video stream, the first of the video streams and the second of the video streams both encoded for a particular display speed. - View Dependent Claims (25)
-
-
26. One or more computer storage media comprising computer executable instructions that, when executed, direct a computing system to perform a method comprising:
-
receiving a particular media content; determining a number of video streams to encode for each of a plurality of display speeds based on an intra-frame interval for each of the video streams; determining a stagger value based on the number of video streams for each of a plurality of display speeds and the intra-frame interval; and encoding the particular media content into each of the number of video streams for each of a plurality of display speeds, wherein a first of the video streams, encoded for a particular display speed, includes intra-frames at the intra-frame interval, and wherein a second of the video streams, also encoded for the particular display speed, includes intra-frames at the intra-frame interval, the intra-frames of the second video stream being staggered by the stagger value with respect to the intra-frames of the first video stream.
-
-
27. One or more computer storage media comprising computer executable instructions that, when executed, direct a computing system to perform a method comprising:
-
determining a number of video streams to encode based on popularity of particular media content; determining a standard intra-frame interval; determining a stagger distance; and encoding the particular media content into each of multiple video streams, each comprising the same media content and having a common display speed, such that an intra-frame interval of each of the multiple video streams is equal to the standard intra-frame interval and a position of an intra-frame in one of the video streams differs by an integer multiple of the stagger distance from a position of an intra-frame in another one of the video streams, wherein each of the positions is measured from a beginning of the media content. - View Dependent Claims (28)
-
Specification