Aggregated adaptive bit rate streaming
US-2024422108-A1 · Dec 19, 2024 · US
US10057316B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-10057316-B2 |
| Application number | US-201615237524-A |
| Country | US |
| Kind code | B2 |
| Filing date | Aug 15, 2016 |
| Priority date | Mar 1, 2012 |
| Publication date | Aug 21, 2018 |
| Grant date | Aug 21, 2018 |
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.
An example method includes requesting a data stream using a buffer with an initial maximum window size for buffering received data associated with the requested data stream, receiving into the buffer one or more data segments associated with the data stream, removing from the buffer one or more data segments for use by a receiving device, and determining a current window size of the buffer, wherein the current window size is equal to the maximum window size less any data segments which have been received that have not been removed from the buffer. The method further includes comparing the current window size to a predetermined threshold, and in response to determining that the current window size is less than the predetermined threshold, increasing the maximum window size, and initiating a buffer size increase timer having a current timer value and a timer expiration value.
Opening claim text (preview).
We claim: 1. A method comprising: requesting a data stream using a buffer with an initial maximum window size for buffering received data associated with the requested data stream; receiving into the buffer one or more data segments associated with the data stream, wherein the one or more data segments associated with the data stream have a first fidelity level; during receipt of the one or more data segments, detecting a decrease in processor performance relative to the processing of the data stream by monitoring an amount of available space in the buffer; determining whether the decrease in the processor performance is transient based on whether the decrease in the processor performance persists beyond a particular length of time; responsive to the decrease in the processor performance being more than transient, adjusting, by a processor, the first fidelity level of the data stream to a second fidelity level that is less than the first fidelity level, wherein each of the first fidelity level and the second fidelity level of the data stream represents a respective signal quality associated with the data stream; and responsive to the decrease in the processor performance being not more than transient, adjusting, by the processor, the initial maximum window size of the buffer to maintain an amount of space greater than a predetermined threshold, the adjusted initial maximum window size to accommodate an increased amount of the received data. 2. The method of claim 1 , further comprising: removing, from the buffer, one or more data segments for use by a receiving device. 3. The method of claim 2 , wherein adjusting the initial maximum window size of the buffer comprises: determining a current window size of the buffer, wherein the current window size is equal to the initial maximum window size less any data segments which have been received that have not been removed from the buffer; and comparing the current window size to the predetermined threshold. 4. The method of claim 3 , wherein adjusting the initial maximum window size of the buffer further comprises: in response to determining that the current window size is less than the predetermined threshold, increasing the maximum window size and initiating a buffer size increase timer having a current timer value and a timer expiration value; and while the updated maximum window size is larger than the initial maximum window size and the current timer value of the buffer size increase timer is less than the timer expiration value, determining, at regular intervals, a present current window size and adjusting the updated maximum current window size to maintain the current window size of at least the predetermined threshold. 5. The method of claim 2 , wherein adjusting the updated maximum current window size comprises: increasing further the maximum window size when the present current window size is less than the predetermined threshold; and decreasing the maximum window size when the present current window size is greater than the predetermined threshold. 6. The method of claim 5 , wherein, when decreasing the maximum window size, an amount that the maximum window size is decreased is limited to the amount by which the updated maximum window size is greater than the initial maximum window size. 7. The method of claim 3 , wherein the regular intervals at which the present current window size is determined and the updated maximum current window size is adjusted corresponds to a maximum transmit unit boundary of the requested data stream. 8. The method of claim 1 , wherein the data stream includes one or more data segments, each data segment being encoded into one of a plurality of different versions having different fidelity levels, and wherein initial data segments received as part of the data stream have the first fidelity level. 9. The method of claim 8 , wherein each fidelity level includes one or more of video data at one or more different resolutions or frame rates and audio data at one or more different bit rates. 10. The method of claim 8 , wherein a bit rate level of subsequently received data segments is adjusted to the second fidelity level when the buffer size increase timer reaches the timer expiration value. 11. The method of claim 4 , wherein the buffer size increase timer is terminated when the updated maximum window size is adjusted to be no longer larger than the initial maximum window size prior to current timer value of the buffer size increase timer reaching the timer expiration value. 12. A non-transitory computer readable storage medium including instructions that, when executed by a processing device, cause the processing device to perform operations comprising: requesting a data stream using a buffer with an initial maximum window size for buffering received data associated with the requested data stream; receiving into the buffer one or more data segments associated with the data stream, wherein the one or more data segments associated with the data stream have a first fidelity level; during receipt of the one or more data segments, detecting a decrease in processor performance relative to the processing of the data stream by monitoring an amount of available space in the buffer; determining whether the decrease in the processor performance is transient based on whether the decrease in the processor performance persists beyond a particular length of time; responsive to the decrease in the processor performance being more than transient, adjusting the first fidelity level of the data stream to a second fidelity level that is less than the first fidelity level, wherein each of the first fidelity level and the second fidelity level of the data stream represents a respective signal quality associated with the data stream; and responsive to the decrease in the processor performance being not more than transient, adjusting the initial maximum window size of the buffer to maintain an amount of space greater than a predetermined threshold, the adjusted initial maximum window size to accommodate an increased amount of the received data. 13. The non-transitory computer readable storage medium of claim 12 , wherein the operations further comprise: removing, from the buffer, one or more data segments for use by a receiving device. 14. The non-transitory computer readable storage medium of claim 13 , wherein adjusting the initial maximum window size of the buffer comprises: determining a current window size of the buffer, wherein the current window size is equal to the initial maximum window size less any data segments which have been received that have not been removed from the buffer; and comparing the current window size to the predetermined threshold. 15. The non-transitory computer readable storage medium of claim 14 , wherein adjusting the initial maximum window size of the buffer further comprises: in response to determining that the current window size is less than the predetermined threshold, increasing the maximum window size and initiating a buffer size increase timer having a current timer value and a timer expiration value; and while the updated maximum window size is larger than the initial maximum window size and the current timer value of the buffer size increase timer is less than the timer expiration value, determining, at regular intervals, a present current window size and adjusting the updated maximum current window size to maintain the current window size of at least the predetermined threshold. 16. The non-transitory computer readable storage medium of claim 13 , wherein adjusting the updat
Responding to QoS · CPC title
for generating different versions · CPC title
directed to encoder {, e.g. for requesting a lower encoding rate} · CPC title
by decomposing the content in the time domain, e.g. in time segments · CPC title
using dynamic buffer space allocation · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.