USRE48748EActiveUtility

Systems and methods for estimating available bandwidth and performing initial stream selection when streaming content

Assignee: DIVX LLCPriority: Jun 29, 2011Filed: Apr 11, 2018Granted: Sep 21, 2021
Est. expiryJun 29, 2031(~4.9 yrs left)· nominal 20-yr term from priority
H04L 65/70H04N 21/23439H04N 21/2662H04L 65/1069H04L 65/80H04N 21/44209H04N 21/2393H04L 43/0876H04L 1/0002H04L 65/607H04L 47/12
58
PatentIndex Score
0
Cited by
318
References
23
Claims

Abstract

Systems and methods for determining available bandwidth and performing initial stream selection when commencing adaptive bitrate streaming using Hypertext Transfer Protocol (HTTP) in accordance with embodiments of the invention are disclosed. One embodiment of the invention includes measuring network bandwidth using a playback device, determining an initial network bandwidth estimate using the network bandwidth measurements, selecting an initial stream from said plurality of streams of encoded media that are encoded at different maximum bitrates rates using the playback device based upon the maximum bitrates of the plurality of streams and the initial bandwidth estimate; and commencing streaming of encoded media by requesting portions of the encoded media from the initial streams using the playback device.

Claims

exact text as granted — not AI-modified
What is claimed: 
     
       1. A method of selecting an initial stream of encoded media from a plurality of streams of encoded media that are encoded at different maximum bitrates rates, the method comprising:
 retrieving historical network performance data comprising a plurality of network bandwidth measurements from a memory of a playback device; 
 filtering the plurality of network bandwidth measurements based upon at least one piece of information associated with the network bandwidth measurements selected from the group consisting of time of day and day of week;  
 determining, using the playback device and prior to commencing streaming of encoded media, an initial network bandwidth estimate using the filtered network bandwidth measurements, wherein the initial network bandwidth estimate is determined by performing statistical analysis using the filtered network bandwidth measurements; 
 generating, using the playback device, an estimate of the accuracy of the initial network bandwidth estimate by (i) determining a ratio of previous bandwidth estimates to actual bandwidth or (ii) computing a standard deviation of the filtered network bandwidth measurements utilized to generate the initial bandwidth estimate; 
 selecting an initial stream from said plurality of streams of encoded media that are encoded at different maximum bitrates rates using the playback device for commencing streaming of encoded media based upon the maximum bitrates of the plurality of streams, the initial network bandwidth estimate, and the accuracy of the initial network bandwidth estimate; and 
 commencing streaming of encoded media by requesting portions of the encoded media from the initial streams using the playback device. 
 
     
     
       2. The method of  claim 1 , wherein the statistical analysis comprises averaging the filtered network bandwidth measurements. 
     
     
       3. The method of  claim 2 , wherein the network bandwidth measurements are for content streamed from a particular content distribution network. 
     
     
       4. The method of  claim 2 , wherein the network bandwidth measurements occurred within a predetermined time period. 
     
     
       5. The method of  claim 1 , wherein the network bandwidth measurements occurred within a time of day or day of week. 
     
     
       6. The method of  claim 1 , wherein the initial network bandwidth estimate is determined by filtering the network bandwidth measurements based upon at least one piece of information associated with the network bandwidth measurements selected from the group consisting of time of day, day of week, content distribution network, server, and maximum bitrate. 
     
     
       7. A method of selecting an initial stream of encoded media from a plurality of streams of encoded media that are encoded at different maximum bitrates rates, the method comprising:
 retrieving historical network performance data comprising a plurality of network bandwidth measurements from a memory of a playback device; 
 determining, using the playback device and prior to commencing streaming of encoded media, an initial network bandwidth estimate using the network bandwidth measurements, wherein the initial network bandwidth estimate is determined by performing statistical analysis using the network bandwidth measurements; 
 selecting an initial stream from said plurality of streams of encoded media that are encoded at different maximum bitrates rates using the playback device for commencing streaming of encoded media based upon the maximum bitrates of the plurality of streams and the initial network bandwidth estimate, wherein the initial stream is selected by initially allocating available bandwidth to streams at least one secondary stream which have has no alternative and allocating the remaining bandwidth to the selection selecting the initial stream from the plurality of streams of encoded media that are encoded at different maximum bitrates based on the remaining bandwidth, wherein the at least one secondary stream is at least one selected from the group consisting of an audio stream and a subtitle stream; and 
 commencing streaming of encoded media by requesting portions of the encoded media from the initial streams using the playback device. 
 
     
     
       8. The method of  claim 1 , wherein the playback device performs the initial network bandwidth estimate using the filtered network bandwidth measurements. 
     
     
       9. The method of  claim 1 , further comprising:
 providing the network bandwidth measurements to a performance server; wherein filtering the network bandwidth measurements is performed by the performance server and the performance server determines the initial network bandwidth estimate using the network bandwidth measurements. 
 
     
     
       10. The method of  claim 1 , wherein the initial stream is selected for use in the adaptive bitrate streaming of the encoded media. 
     
     
       11. The method of  claim 1 , further comprising selecting a stream from each of a number of sets of streams of encoded media that are encoded at different maximum bitrates. 
     
     
       12. The method of  claim 1 , further comprising measuring current network bandwidth using the playback device. 
     
     
       13. The method of  claim 12 , further comprising determining the initial network bandwidth estimate using the measured current network bandwidth measurements. 
     
     
       14. A non-transitory machine readable medium containing processor instructions, where execution of the instructions by a processor causes the processor to perform a process comprising:
 retrieving historical network performance data comprising a plurality of network bandwidth measurements; 
 filtering the plurality of network bandwidth measurements based upon at least one piece of information associated with the network bandwidth measurements selected from the group consisting of time of day and day of week;  
 determining, prior to commencing streaming of encoded media, an initial network bandwidth estimate using the filtered network bandwidth measurements, wherein the initial network bandwidth estimate is determined by performing statistical analysis using the filtered network bandwidth measurements; 
 generating an estimate of the accuracy of the initial network bandwidth estimate by (i) determining a ratio of previous bandwidth estimates to actual bandwidth or (ii) computing a standard deviation of the filtered network bandwidth measurements utilized to generate the initial bandwidth estimate 
 selecting an initial stream from said plurality of streams of encoded media that are encoded at different maximum bitrates rates for commencing streaming of encoded media based upon the maximum bitrates of the plurality of streams, the initial network bandwidth estimate and the estimate of the accuracy of the initial network bandwidth estimate; and 
 commencing streaming of encoded media by requesting portions of the encoded media from the initial streams. 
 
     
     
       15. The non-transitory machine readable medium of  claim 14 , wherein performing the statistical analysis comprises averaging the filtered network bandwidth measurements. 
     
     
       16. The non-transitory machine readable medium of  claim 14 , wherein the network bandwidth measurements are for content streamed from a particular content distribution network. 
     
     
       17. The non-transitory machine readable medium of  claim 14 , wherein the network bandwidth measurements occurred within a predetermined time period. 
     
     
       18. The non-transitory machine readable medium of  claim 14 , wherein the network bandwidth measurements occurred within a time of day or day of week. 
     
     
       19. The method of  claim 7 , further comprising generating an estimate of the accuracy of the initial network bandwidth estimate by (i) determining a ratio of previous bandwidth estimates to actual bandwidth or (ii) computing a standard deviation of the network bandwidth measurements utilized to generate the initial bandwidth estimate. 
     
     
       20. The method of  claim 7 , wherein the initial network bandwidth estimate is determined by filtering the network bandwidth measurements based upon at least one piece of information associated with the network bandwidth measurements selected from the group consisting of time of day, day of week, content distribution network, server, and maximum bitrate. 
     
     
       21. A method of selecting an initial stream of encoded media from a plurality of streams of encoded media that are encoded at different maximum bitrates, the method comprising:
 retrieving historical network performance data comprising a plurality of network bandwidth measurements;   filtering the plurality of network bandwidth measurements based upon at least one piece of information associated with the network bandwidth measurements selected from the group consisting of time of day and day of week to identify at least one network bandwidth measurement;   determining, using the playback device and prior to commencing streaming of encoded media, an initial network bandwidth estimate using the at least one network bandwidth measurement;   generating, using the playback device, an estimate of the accuracy of the initial network bandwidth estimate by (i) determining a ratio of the bandwidth estimate to actual bandwidth or (ii) when the at least one network bandwidth measurement comprises a filtered plurality of network bandwidth measurements, computing a standard deviation of the filtered plurality of network bandwidth measurements utilized to generate the initial bandwidth estimate;   selecting an initial stream from said plurality of streams of encoded media that are encoded at different maximum bitrates rates using the playback device for commencing streaming of encoded media based upon the maximum bitrates of the plurality of streams, the initial network bandwidth estimate, and the accuracy of the initial network bandwidth estimate; and   commencing streaming of encoded media by requesting portions of the encoded media from the initial streams using the playback device.    
     
     
       22. A non-transitory machine readable medium containing processor instructions, where execution of the instructions by a processor causes the processor to perform a process comprising:
 retrieving historical network performance data comprising a plurality of network bandwidth measurements;   filtering the plurality of network bandwidth measurements based upon at least one piece of information associated with the network bandwidth measurements selected from the group consisting of time of day and day of week to identify at least one network bandwidth measurement;   determining, using the playback device and prior to commencing streaming of encoded media, an initial network bandwidth estimate using the at least one network bandwidth measurement;   generating, using the playback device, an estimate of the accuracy of the initial network bandwidth estimate by (i) determining a ratio of the bandwidth estimate to actual bandwidth or (ii) when the at least one network bandwidth measurement comprises a filtered plurality of bandwidth measurements, computing a standard deviation of the filtered plurality of network bandwidth measurements utilized to generate the initial bandwidth estimate;   selecting an initial stream from said plurality of streams of encoded media that are encoded at different maximum bitrates using the playback device for commencing streaming of encoded media based upon the maximum bitrates of the plurality of streams, the initial network bandwidth estimate, and the accuracy of the initial network bandwidth estimate; and   commencing streaming of encoded media by requesting portions of the encoded media from the initial streams using the playback device.    
     
     
       23. A method of selecting an initial stream of encoded media from a plurality of streams of encoded media that are encoded at different maximum bitrates rates, the method comprising:
 retrieving historical network performance data comprising at least one network bandwidth measurement from a memory of a playback device;   determining, using the playback device and prior to commencing streaming of encoded media, an initial network bandwidth estimate using the at least one network bandwidth measurement, wherein the initial network bandwidth estimate is determined by performing statistical analysis using the at least one network bandwidth measurement;   selecting an initial stream from said plurality of streams of encoded media that are encoded at different maximum bitrates rates using the playback device for commencing streaming of encoded media based upon the maximum bitrates of the plurality of streams and the initial network bandwidth estimate, wherein the initial stream is selected by initially allocating available bandwidth to at least one secondary stream which has no alternative and selecting the initial stream from the plurality of streams of encoded media that are encoded at different maximum bitrates based on the remaining bandwidth, wherein the at least one secondary stream is at least one selected from the group consisting of an audio stream and a subtitle stream; and   commencing streaming of encoded media by requesting portions of the encoded media from the initial streams using the playback device.

Join the waitlist — get patent alerts

Track USRE48748E — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.