Adaptive streaming transcoder synchronization
US-2015281752-A1 · Oct 1, 2015 · US
US2016112732A1 · US · A1
| Field | Value |
|---|---|
| Publication number | US-2016112732-A1 |
| Application number | US-201414519628-A |
| Country | US |
| Kind code | A1 |
| Filing date | Oct 21, 2014 |
| Priority date | Oct 21, 2014 |
| Publication date | Apr 21, 2016 |
| Grant date | — |
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.
Various implementations disclosed herein enable a more efficient allocation of one or more shared network resources (e.g., bandwidth, memory, processor time, etc.) amongst a number of client devices based on media content data complexity and client device resource constraints in order to better manage perceptual playback quality of adaptive streaming content. In some implementations, a method includes aligning sequences of one or more temporal segments; and, selecting segment representations for each temporal segment based on a combination of the sequence alignment and perceptual quality level values associated with available segment representations, such that a combination of resulting perceptual quality levels satisfies a joint quality criterion. Each sequence is associated with one of a number of client devices sharing a network resource. The one or more temporal segments of each sequence are used to provide segment representations of media content data to one of the client devices.
Opening claim text (preview).
What is claimed is: 1 . A method comprising: aligning sequences of one or more temporal segments, wherein each sequence is associated with one of a plurality of client devices sharing a network resource, and the one or more temporal segments of each sequence are used to provide segment representations of media content data to one of the plurality of client devices; and selecting segment representations for each temporal segment, for each sequence, based on a combination of the sequence alignment and perceptual quality level values associated with available segment representations, wherein a combination of resulting perceptual quality levels satisfies a joint quality criterion across the sequences. 2 . The method of claim 1 , further comprising determining a respective allocation of the shared network resource provided to each of the plurality of client devices, wherein the respective allocation of the shared network resource provided to a particular client device during a particular temporal segment is a function of an encoding rate of one or more segment representations selected for the particular temporal segment for the particular client device. 3 . The method of claim 1 , further comprising determining at least one buffer boundary condition that characterizes an aggregate limiting rate at which segment representations can be provided to the plurality of client devices during each temporal segment, and wherein selecting segment representations is also based on the at least one buffer boundary condition. 4 . The method of claim 3 , wherein the at least one buffer boundary condition includes at least one of: a lower bound provided to reduce playout buffer underflow by at least one of the plurality of client devices; and an upper bound characterizing an aggregate data rate shared by the plurality of client devices using shared network resource. 5 . The method of claim 3 , further comprising obtaining an initial buffer level value for each of the plurality of client devices, wherein each initial buffer level value characterizes a limiting rate at which media content data can be provided to a particular client device. 6 . The method of claim 3 , the at least one buffer boundary condition includes a final buffer level value associated with each of the plurality of client devices, wherein the final buffer level value characterizes the utilization of respective playout buffers correspondingly associated with the plurality of client devices at the end of a final temporal segment within a time horizon. 7 . The method of claim 3 , wherein selecting segment representations comprises: determining distortion values for one or more temporal segments for one or more encoding rates of one or more segment representations that satisfy the at least one buffer boundary condition; selecting one or more segment representations at particular encoding rates that satisfy a joint distortion performance value for the aggregation of sequences associated with the plurality of client devices; and determining individual bandwidth allocations for each of the plurality of client devices, for each of the one or more temporal segments, as a function of the encoding rates of the selected segment representations. 8 . The method of claim 1 , further comprising obtaining media content selection information associated with each of a plurality of client devices, wherein media content selection information includes one or more perceptual quality level values that are correspondingly associated one or more encoding rates of one or more segment representations available during a temporal segment for particular media content data. 9 . The method of claim 1 , wherein aligning the respective sequences includes aligning the respective sequences within a time horizon that includes at least one temporal segment. 10 . The method of claim 1 , wherein aligning the respective sequences includes temporally aligning the start and end times of at least portions of the respective sequences within a threshold variance. 11 . The method of claim 1 , further comprising: obtaining an indicator that a respective playout buffer level associated with a particular one of the plurality of client devices has breached a lower threshold; and selecting two or more segment representations for a single temporal segment associated with the particular one of the plurality of client devices in response to obtaining the indicator. 12 . The method of claim 1 , wherein aligning the sequences of one or more temporal segments comprises at least one of: constraining temporal segments for the plurality of client devices such that a respective start time of a temporal segment for each of the plurality of client devices falls within a first threshold variance of a collective start time within a time horizon including at least one temporal segment; and constraining temporal segments for the plurality of client devices such that a respective end time of a temporal segment for each of the plurality of client devices falls within a second threshold variance of a collective end time within the time horizon including at least one temporal segment. 13 . The method of claim 1 , wherein the perceptual quality level value includes at least one of a peak-signal-to-noise ratio, a mean opinion score, a video quality metric, an encoding rate, an encoding quantization parameter, and subscription tier data. 14 . The method of claim 1 , wherein the network resource includes bandwidth, processor time, and memory. 15 . The method of claim 3 , wherein selecting segment representations comprises: allocating respective bit allocations to each of the plurality of client device based on marginal utility ranking associated with the segment representations, wherein the summation of the respective bit allocations are bound by a corresponding total bit allocation per temporal segment; producing a vector of quality values corresponding to the corresponding total bit allocation per temporal segment; aggregating bit allocations per temporal segment; and selecting one or more segment representations for each of the plurality of client devices at particular encoding rates that satisfy a joint distortion performance value for the aggregated bit allocations. 16 . The method of claim 1 , wherein satisfying the joint quality criterion across the sequences is an indicator of at least one of: an increase in the number of sequences that are provided within a fixed and shared allocation of bandwidth; a more even distribution of perceptual quality level values amongst client devices within a particular subscription tier; an increase in an aggregation of respective resulting perceptual quality level values for corresponding client devices sharing a fixed allocation of bandwidth; and a decrease in an aggregate distortion level characterizing respective distortion levels associated with corresponding client devices sharing a fixed allocation of bandwidth. 17 . An apparatus comprising: logic configured to align sequences of one or more temporal segments, wherein each sequence is associated with one of a plurality of client devices sharing a network resource, and the one or more temporal segments of each sequence are used to provide segment representations of media content data to one of the plurality of client devices; logic configured to select segment representations for each temporal segment, for each sequence, based on a combination of the sequence alignment and perceptual quality level values associated with available segment representations, where
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
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
with rate being modified by the source upon detecting a change of network conditions · CPC title
Controlling the feeding rate to the network, e.g. by controlling the video pump · CPC title
Responding to QoS · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.