Systems and methods for performing quality based streaming
First Claim
1. A quality based streaming content player system comprising:
- a processor;
a network interface; and
a memory connected to the processor, where the memory contains a content player application;
wherein the content player application directs the processor to;
receive quality metadata describing a plurality of streams, where;
the plurality of streams are encoded at different maximum bitrates;
each stream is divided into content segments; and
quality varies between content segments in each stream, wherein the quality depends on a type of content encoded by a content segment;
generate an aggressiveness factor based on playback condition data;
measure available bandwidth via the network interface; and
request content segments from the plurality of streams based upon the available bandwidth and the quality metadata describing the plurality of streams, where the requested content segments include content segments encoded at a maximum bitrate and having quality that is a lowest maximum bitrate that achieves a target quality level, and the requested content segments are selected based upon the aggressiveness factor, the available bandwidth, the quality metadata describing the selected content segments, and a calculated bitrate, wherein the calculated bitrate is a higher of an average bitrate of a given stream and a time-window rate, the time-window rate being a minimum bitrate for downloading a window of content from the given stream without playback interruption given content segments currently buffered by a content player.
1 Assignment
0 Petitions
Accused Products
Abstract
Systems and methods in accordance with various embodiments of the invention enable quality based streaming. A content player in accordance with an embodiment of the invention includes: a processor; a network interface; and memory containing a content player application. The content player application can direct the processor to: receive quality metadata describing a plurality of streams, where: the plurality of streams are encoded at different maximum bitrates; each stream is divided into content segments; and the quality varies between content segments in each stream. Furthermore, the content player application directs the processor to measure available bandwidth; request content segments from the plurality of streams based upon the available network bandwidth and the quality metadata, where the requested content segments include content segments encoded at a maximum bitrate and having quality that is the lowest maximum bitrate that achieves a target quality level.
-
Citations
19 Claims
-
1. A quality based streaming content player system comprising:
-
a processor; a network interface; and a memory connected to the processor, where the memory contains a content player application; wherein the content player application directs the processor to; receive quality metadata describing a plurality of streams, where; the plurality of streams are encoded at different maximum bitrates; each stream is divided into content segments; and quality varies between content segments in each stream, wherein the quality depends on a type of content encoded by a content segment; generate an aggressiveness factor based on playback condition data; measure available bandwidth via the network interface; and request content segments from the plurality of streams based upon the available bandwidth and the quality metadata describing the plurality of streams, where the requested content segments include content segments encoded at a maximum bitrate and having quality that is a lowest maximum bitrate that achieves a target quality level, and the requested content segments are selected based upon the aggressiveness factor, the available bandwidth, the quality metadata describing the selected content segments, and a calculated bitrate, wherein the calculated bitrate is a higher of an average bitrate of a given stream and a time-window rate, the time-window rate being a minimum bitrate for downloading a window of content from the given stream without playback interruption given content segments currently buffered by a content player. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17)
-
-
18. A method for quality based streaming comprising:
-
receiving content including a plurality of streams at a content server system, where; the plurality of streams are encoded at different maximum bitrates; each stream is divided into content segments; and quality varies between content segments in each stream, wherein the quality depends on a type of content encoded by a content segment; measuring quality of the content segments using the content server system; generating quality metadata describing the content segments based upon content segment quality measurements using the content server system; and transmitting the quality metadata to a playback device using the content server system, where the playback device; measures playback conditions; generates an aggressiveness factor based on the playback conditions; selects content segments based upon an available bandwidth, the aggressiveness factor, quality metadata describing the content segments, and a calculated bitrate, wherein the calculated bitrate is a higher of an average bitrate-of a given stream and a time-window rate, the time-window rate being a minimum bitrate for downloading a window of content from the given stream without playback interruption given content segments currently buffered by a content player; and requests the selected content segments.
-
-
19. A quality based redirection server system comprising:
-
a processor; at least one network interface; and a memory connected to the processor, where the memory contains a redirection application; wherein the redirection application directs the processor to; receive quality metadata describing a plurality of streams, where; the plurality of streams are encoded at different maximum bitrates; each stream is divided into content segments; and quality varies between content segments in each stream, wherein the quality depends on a type of content encoded by a content segment; receive a plurality of segment requests via the network interface; generate segment redirection responses from the plurality of streams based upon an available bandwidth and the quality metadata describing the plurality of streams, where the segment redirection responses include content segments encoded at a maximum bitrate and having quality that is a lowest maximum bitrate that achieves a target quality, and the content segments are selected based upon an aggressiveness factor determined based on playback conditions, an available bandwidth, the quality metadata describing the selected content segments, and a calculated bitrate, wherein the calculated bitrate is a higher of an average bitrate of a given stream and a time-window rate, the time-window rate being a minimum bitrate for downloading a window of content from the given stream without playback interruption given content segments currently buffered by a content player; and transmit the segment redirection responses via the network interface.
-
Specification