Adaptive playback with look-ahead
First Claim
1. A method, comprising:
- monitoring, by a device including a processor, a download of a first media file from a media server at a throughput rate and a concurrent playback of the first media file, wherein the first media file is a first version of a media asset, the first media file is encoded at a variable bit rate and has a first overall average playback rate less than or equal to the throughput rate, the first media file has a plurality of portions with respective portion average playback rates, wherein at least two portions have different portion average playback rates;
identifying, by the device, an undownloaded portion of the first media file that has a portion average playback rate that is greater than the throughput rate; and
forecasting, by the device, whether an interruption will occur in playback of the first media file during the undownloaded portion, wherein the forecasting comprises;
determining, by the device, an amount of bits buffered in a buffer;
determining, by the device, a duration of the undownloaded portion;
multiplying, by the device, the duration of the undownloaded portion and the portion average playback rate of the undownloaded portion to determine a number of bits that are played in the duration;
determining, by the device, a difference between the amount of bits buffered in the buffer and the number of bits that are played in the duration;
determining, by the device, whether the difference meets a threshold;
in response to a determination that the difference meets the threshold, forecasting, by the device, that the interruption will occur; and
in response to a determination that the difference does not meet the threshold, forecasting, by the device, that the interruption will not occur.
1 Assignment
0 Petitions
Accused Products
Abstract
The disclosure provides for a download agent executing on a computing device to dynamically select between media files when a portion of the media file that is currently being downloaded has a portion average playback rate that is greater than a throughput rate at which the computing device is receiving media files. During the portion where the portion average playback rate is greater than the throughput rate, the download agent may dynamically transition to a different media file where the portion average playback rate for the portion is less than or equal to the throughput rate. The download agent may then transition back to the original media file after downloading the portion form the different media file.
-
Citations
20 Claims
-
1. A method, comprising:
-
monitoring, by a device including a processor, a download of a first media file from a media server at a throughput rate and a concurrent playback of the first media file, wherein the first media file is a first version of a media asset, the first media file is encoded at a variable bit rate and has a first overall average playback rate less than or equal to the throughput rate, the first media file has a plurality of portions with respective portion average playback rates, wherein at least two portions have different portion average playback rates; identifying, by the device, an undownloaded portion of the first media file that has a portion average playback rate that is greater than the throughput rate; and forecasting, by the device, whether an interruption will occur in playback of the first media file during the undownloaded portion, wherein the forecasting comprises; determining, by the device, an amount of bits buffered in a buffer; determining, by the device, a duration of the undownloaded portion; multiplying, by the device, the duration of the undownloaded portion and the portion average playback rate of the undownloaded portion to determine a number of bits that are played in the duration; determining, by the device, a difference between the amount of bits buffered in the buffer and the number of bits that are played in the duration; determining, by the device, whether the difference meets a threshold; in response to a determination that the difference meets the threshold, forecasting, by the device, that the interruption will occur; and in response to a determination that the difference does not meet the threshold, forecasting, by the device, that the interruption will not occur. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A system, comprising:
-
a processor; a memory communicatively coupled to processor, the memory having stored therein computer-executable instructions, comprising; a playback controller configured to; monitor a download of a first media file from a media server at a throughput rate and a concurrent playback of the first media file, wherein the first media file is a first version of a media asset, the first media file is encoded at a variable bit rate and has a first overall average playback rate less than or equal to the throughput rate, the first media file has a plurality of portions with respective portion average playback rates, wherein at least two portions have different portion average playback rates; identify an undownloaded portion of the first media file that has a portion average playback rate that is greater than the throughput rate; and forecast whether an interruption will occur in playback of the first media file during the undownloaded portion, wherein the forecasting comprises; determine an amount of bits buffered in a buffer; determine a duration of the undownloaded portion; multiplie the duration of the undownloaded portion and the portion average playback rate of the undownloaded portion to determine a number of bits that are played in the duration; determine a difference between the amount of bits buffered in the buffer and the number of bits that are played in the duration; determine whether the difference meets a threshold; in response to a determination that the difference meets the threshold, forecast that the interruption will occur; and in response to a determination that the difference does not meet the threshold, forecast that the interruption will not occur.
-
-
15. A non-transitory computer-readable storage medium comprising instructions that cause one or more processors to perform operations comprising:
-
monitoring a download of a first media file from a media server at a throughput rate and a concurrent playback of the first media file, wherein the first media file is a first version of a media asset, the first media file is encoded at a variable bit rate and has a first overall average playback rate less than or equal to the throughput rate, the first media file has a plurality of portions with respective portion average playback rates, wherein at least two portions have different portion average playback rates; identifying an undownloaded portion of the first media file that has a portion average playback rate that is greater than the throughput rate; and forecasting whether an interruption will occur in playback of the first media file during the undownloaded portion, wherein the forecasting comprises; determining an amount of bits buffered in a buffer; determining a duration of the undownloaded portion; multiplying the duration of the undownloaded portion and the portion average playback rate of the undownloaded portion to determine a number of bits that are played in the duration; determining a difference between the amount of bits buffered in the buffer and the number of bits that are played in the duration; determining whether the difference meets a threshold; in response to a determination that the difference meets the threshold, forecasting that the interruption will occur; and in response to a determination that the difference does not meet the threshold, forecasting that the interruption will not occur. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification