Quality Optimization with Buffer and Horizon Constraints in Adaptive Streaming
US-2015023404-A1 · Jan 22, 2015 · US
US9712860B1 · US · B1
| Field | Value |
|---|---|
| Publication number | US-9712860-B1 |
| Application number | US-201414569315-A |
| Country | US |
| Kind code | B1 |
| Filing date | Dec 12, 2014 |
| Priority date | Dec 12, 2014 |
| Publication date | Jul 18, 2017 |
| Grant date | Jul 18, 2017 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
Techniques for delivering content are described that vary the bit rate with which the content is delivered to achieve a consistent level of quality from the user's perspective. This is achieved through the use of quality metrics associated with content fragments that guide decision making in selecting from among the different size fragments that are available for a given segment of the content. Fragment selection attempts to optimize quality within one or more constraints.
Opening claim text (preview).
What is claimed is: 1. A device, comprising: memory; a network interface configured to receive an encoded video stream representing video content; a display; and one or more processors configured to: receive a request for the video content, the video content including at least one video segment and having an associated audio soundtrack including at least one audio segment; request a manifest file corresponding to the video content, the manifest file identifying a set of video fragments for each of the video segments of the video content, each set of the video fragments including different versions of the corresponding video segment of the video content, each of the video fragments including a plurality of frames, each of the frames being characterized by a plurality of frame parameters, the manifest file including a video quality metric for each of the video fragments, each of the video quality metrics being derived with reference to a subset of the frame parameters of the frames of the corresponding video fragment, each of the video quality metrics being assigned to the corresponding video fragment based on human subject rating data such that it is predictive of visual quality of the corresponding video fragment as subjectively perceived by a user, the manifest file also identifying a set of audio fragments for each audio segment of the audio soundtrack, each set of the audio fragments including different versions of the corresponding audio segment of the audio soundtrack, wherein each of the audio fragments is characterized by a plurality of audio fragment parameters, the manifest file including an audio quality metric for each of the audio fragments, each of the audio quality metrics being derived based on the parameters of the corresponding audio fragment, each of the audio quality metrics being predictive of audio quality of the corresponding audio fragment perceived by a user; weight the video quality metrics for at least some of the sets of video fragments based on one or more characteristics of a target playback device, thereby generating weighted video quality metrics; request a video fragment from each set of video fragments for each of the video segments of the video content based on the weighted video quality metrics and available bandwidth to ensure a substantially consistent visual quality during playback of the video content, the encoded video stream including the requested video fragments; request one audio fragment from each set of audio fragments for each of the audio segments of the audio soundtrack based on the audio quality metrics, the available bandwidth, and the requested video fragments, the requests for the audio fragments and the video fragments being interdependent to ensure a minimum audio quality during playback of the video content; and decode the encoded video stream for playback on the display. 2. The device of claim 1 , wherein the one or more processors are further configured to determine the available bandwidth with reference to the encoded video stream and to adjust requesting of the requested video fragments accordingly. 3. A computer-implemented method, comprising: receiving a request for content, the content including a plurality of segments; receiving fragment metadata corresponding to the content, the fragment metadata identifying one or more sets of fragments for each of the segments of the content, the one or more sets of fragments corresponding to one or more versions of the corresponding segment, each set of fragments being characterized by one or more parameters, the fragment metadata including a quality metric for each set of fragments, each of the quality metrics being derived with reference to the one or more parameters of the corresponding set of fragments, each of the quality metrics being assigned to the corresponding set of fragments based on human subject rating data such that it is predictive of playback quality of the corresponding set of fragments as subjectively perceived by a user; weighting the quality metrics for at least some of the sets of fragments based on one or more characteristics of a target playback device, thereby generating weighted quality metrics; and selecting a set of fragments for each of the segments of the content based on the weighted quality metrics and available bandwidth to provide a substantially consistent quality during playback of the content, wherein the segments of the content include both video segments and audio segments, and wherein selecting the sets of fragments for the video segments is interdependent with selecting the sets of fragments for the audio segments to ensure a minimum audio quality during playback of the content. 4. The method of claim 3 , wherein each set of fragments is a single fragment or a sequence of fragments. 5. The method of claim 3 , wherein the fragment metadata are included in a manifest file corresponding to the content. 6. The method of claim 3 , further comprising one of: receiving an encoded stream including the selected fragments; downloading a file including the selected fragments; transmitting an encoded stream including the selected fragments; or transmitting a file including the selected fragments. 7. The method of claim 3 , wherein selecting the sets of fragments is also done with reference to one of a target file size, available memory space, a target download time, a specified quality, a client device characteristic, a client device capability, a buffer duration, or a latency constraint. 8. The method of claim 3 , further comprising: receiving an encoded stream including the selected fragments; identifying a period of time during which the encoded stream does not consume the available bandwidth; and requesting additional content for delivery during the period of time. 9. The method of claim 3 , wherein the content comprises a plurality of different video titles, and wherein selecting the sets of fragments is also done with reference to available memory space on the target playback device requesting the content. 10. The method of claim 3 , wherein selecting the sets of fragments includes determining one or more network conditions, and adapting selection of the sets of fragments with reference to changes in the network conditions. 11. The method of claim 10 , further comprising predicting the one or more network conditions for a future period of time, wherein selecting the sets of fragments includes selecting first ones of the sets of fragments for delivery during the future period of time with reference to the predicted network conditions. 12. The method of claim 3 , wherein selecting the sets of fragments includes selecting an initial sequence of the sets of fragments to satisfy a latency constraint for initiating delivery of the content. 13. A device, comprising: memory; a network interface; a display; and one or more processors configured to: receive a request for content, the content including a plurality of segments; receive fragment metadata corresponding to the content, the fragment metadata identifying one or more sets of fragments for each of the segments of the content, the one or more sets of fragments corresponding to one or more versions of the corresponding segment, each set of fragments being characterized by one or more parameters, the fragment metadata including a quality metric for each set of fragments, each of the quality metrics being derived with reference to the one or more parameters of the corresponding set of fragments, each of the quality metrics being assigned to the corresponding set of fragments based on human subject rating data such that it is predictive of playback quality
for generating different versions · CPC title
Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities · CPC title
by decomposing the content in the time domain, e.g. in time segments · CPC title
Electricity · mapped topic
Channel allocation (H04N21/266 takes precedence); Bandwidth allocation (H04N21/24 takes precedence {; allocation of channels according to the instantaneous demands of the users in time-division multiplex systems H04J3/1682; admission control, resource allocation in open networks H04L12/5692; arrangements for maintenance or administration in data switching networks involving bandwidth and capacity management H04L41/0896; negotiating bandwidth in wireless networks H04W28/16}) · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.