TIERED CONTENT STREAMING
First Claim
1. A method of providing live content at different quality levels to a remote user device, comprising:
- transmitting to a remote user device a plurality of quality levels at which content is available for selection by the remote user device;
receiving a quality level selection from the remote user device, wherein the quality level selection matches one of the multiple quality levels transmitted to the remote user device;
determining that the received quality level selection differs from a currently used quality level for the remote user device;
in response to determining that the received quality level selection differs from the currently used quality level for the remote user device, reconfiguring a transcoder to transcode the live content to only the received quality level;
receiving a message from the user device, the message comprising device capability information, the device capability information indicating an acceptable segment-to-segment bitrate change; and
transmitting to the remote user device an updated plurality of quality levels including a first quality level at a first bitrate lower than a bitrate of the quality level selection received from the remote use device and a second quality level at a second bitrate higher than the bitrate of the quality level selection received from the remote user device;
wherein the first quality level and the second quality level are selected in response responsive to the device capability information such that magnitudes of each of a first difference between the bitrates associated with the received quality level and the first quality level and a second difference between the bitrates associated with the received quality level and the second quality level are less than the acceptable segment-to-segment bitrate change.
1 Assignment
0 Petitions
Accused Products
Abstract
Techniques for providing live content at different quality levels to a user device include advertising content availability at multiple quality levels for selection by the user device, receiving a quality level selection from the user device, wherein the quality level selection matches one of the advertised multiple quality levels, determining whether the received quality level selection differs from a currently used quality level, when it is determined that the received quality level selection is different from the currently used quality level, reconfiguring a transcoder to transcode the live content to only the received quality level, and updating a metafile to include a first quality level at a first bitrate lower than a bitrate for the received quality level selection and a second quality level at a second bitrate higher than the bitrate for the received quality level selection.
-
Citations
23 Claims
-
1. A method of providing live content at different quality levels to a remote user device, comprising:
-
transmitting to a remote user device a plurality of quality levels at which content is available for selection by the remote user device; receiving a quality level selection from the remote user device, wherein the quality level selection matches one of the multiple quality levels transmitted to the remote user device; determining that the received quality level selection differs from a currently used quality level for the remote user device; in response to determining that the received quality level selection differs from the currently used quality level for the remote user device, reconfiguring a transcoder to transcode the live content to only the received quality level; receiving a message from the user device, the message comprising device capability information, the device capability information indicating an acceptable segment-to-segment bitrate change; and transmitting to the remote user device an updated plurality of quality levels including a first quality level at a first bitrate lower than a bitrate of the quality level selection received from the remote use device and a second quality level at a second bitrate higher than the bitrate of the quality level selection received from the remote user device; wherein the first quality level and the second quality level are selected in response responsive to the device capability information such that magnitudes of each of a first difference between the bitrates associated with the received quality level and the first quality level and a second difference between the bitrates associated with the received quality level and the second quality level are less than the acceptable segment-to-segment bitrate change. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. An apparatus for providing live content for viewing, comprising:
-
a first network interface that receives live content; a second network interface, different from the first network interface, that communicatively couples the apparatus with a user device; a transcoder that transcodes content; and circuitry in communication with the first network interface, the second network interface and the transcoder, the circuitry being configured to transmit, over a second network interface, availability of the live content in a list comprising a plurality of entries, each entry including a playout rate; receive, over the second network interface, a viewing request from a user device, the viewing request including a desired playout rate; control the transcoder to transcode the live content from a rate at which the live content is received over the first network interface to a current output rate matching the desired playout rate and store output of the transcoder as content segments in a memory; make the content segments available to the user device; receive a message from the use device, the message comprising device capability information indicating an acceptable segment-to-segment bitrate change; and transmit an updated list including an entry having the current output rate, an entry a first playout rate that is greater than the current output rate and an entry having a second playout rate that is less than the current output rate; wherein the first playout rate and the second playout rate are based on the device capability information such that magnitudes of each of a first difference between a current output rate and the first playout rate and a second difference between the current output rate and the second playout rate are less than the acceptable segment-to-segment bitrate change. - View Dependent Claims (10, 11, 12, 13, 14, 15)
-
-
16. A computer program product comprising a non-transitory computer-readable medium having code stored thereon, the code, when executed, causing a processor to implement a method of streaming live content, the method comprising:
-
controlling a transcoder to receive live content and output transcoded live content at a current quality level, wherein the current quality level is selected based on a content playback request from a user device; storing transcoded live content at a local memory as individually addressable segments, wherein each segment has a playback duration; transmitting a message to the user device indicating that the live content is available at least at the current quality level and at least two additional quality levels, without having any locally stored content segments corresponding to the at least two additional quality levels, receiving a message from the user device, the message comprising device capability information the device capability information indicates an acceptable segment-to-segment bitrate change; and selecting a first quality level for the at least two additional quality levels and a second quality level for the at least two additional quality levels based on the device capability information such each of the magnitudes of a first difference between bitrates associated with the current quality level and the first quality level and a second difference between bitrates associated with the current quality level and the second quality level are less than the acceptable segment-to-segment bitrate change. - View Dependent Claims (17, 18)
-
-
19. An apparatus for presenting a live content to a user, the apparatus comprising:
-
a memory that stores program instructions; a network interface over which the apparatus receives the live content and associated metadata; and a processor that reads and executes program instructions from the memory to; receive, from the user, a viewing request for the live content; initiate a streaming session with a server of the live content, wherein the streaming session comprises downloading the live content as multiple program segments, each having an encoding bitrate; communicate a bitrate change from one program segment to next that is acceptable to the apparatus; present the downloaded program segments to the user; receive a message from the user device, the message comprising device capability information having an acceptable segment-to-segment bitrate change; select a first quality level and a second quality level based on the device capability information such that each of the magnitudes of a first difference between bitrates associated with a current quality level and the first quality level and a second difference between bitrates associated with the current quality level and the second quality level are less than the acceptable segment-to-segment bitrate change; and transmit the first and second quality levels to the user device. - View Dependent Claims (20, 21, 22, 23)
-
Specification