Dynamic bit rate scaling
AssigneeGoogle Inc.
InventorsNicholas Wormley, Ryan Brase, Justin F. Chapweske
Life of this patent
Estimating the term…
Abstract
The invention provides for a download agent executing on a computing device to dynamically select between media files with different media quality for delivery of media content provided by a media content provider. The download agent may select between different media files with similar content but different quality based on a playback rate of the media file, the resolution of the media file, or the encoding scheme of the media file. The download agent may seamlessly transition from one media file to another media file at key frames to avoid any motion artifacts and to avoid requiring a user to restart the media file.
Claims20
A method comprising:
- determining, by a device including a processor, a desired overall bandwidth utilization based upon a predetermined monetary rate for data transfer on a network connection during a time period at which a media content is to be downloaded, wherein the network connection has associated a plurality of time periods with respective predetermined monetary rates for data transfer, and the desired overall bandwidth utilization is a data transfer rate desired to be maintained at the device during the time period;
- selecting, by the device, a first version of the media content to download to the device that is estimated to have the desired overall bandwidth utilization during the time period for downloading the first version of the media content;
- monitoring, by the device, a rate for receiving the first version of the media content at the device within the time period;
- and
- dynamically transitioning, by the device, responsive to the desired overall bandwidth utilization exceeding the monitored rate for receiving the first version of the media content, downloading of the first version of the media content to downloading of a second version of the same media content at a selected frame of the second version of the media content, the second version having a lower quality of the media content than quality of the first version, wherein the transitioning comprises:
- identifying an upcoming key frame in the first version of the media content that has not been downloaded by the device;
- identifying a corresponding key frame in the second version of the media content;
- determining a byte offset for the corresponding key frame in the second version of the media content;
- and
- downloading, by the device, the second version of the media content starting from the byte offset of the corresponding key frame in the second version of the media content.
A non-transitory computer-readable medium having instructions stored thereon that, in response to execution, cause at least one device including a processor to perform operations comprising:
- determining a desired overall bandwidth utilization based upon a predetermined monetary rate for data transfer on a network connection during a time period at which a media content is to be downloaded, wherein the network connection has associated a plurality of time periods with respective predetermined monetary rates for data transfer, and the desired overall bandwidth utilization is a data transfer rate desired to be maintained at the device during the time period;
- and
- selecting a first version of the media content to download to the device that is estimated to have the desired overall bandwidth utilization during the time period for downloading the first version of the media content;
- monitoring, by the device, a rate for receiving the first version of the media content at the device within the time of period;
- and
- dynamically transitioning, by the device, responsive to the desired overall bandwidth utilization exceeding the monitored rate for receiving the first version of the media content, downloading of the first version of the media content to downloading of a second version of the same media content at a selected frame of the second version of the media content, the second version having a lower quality of the media content than quality of the first version, wherein the transitioning comprises:
- identifying an upcoming key frame in the first version of the media content that has not been downloaded by the device;
- identifying a corresponding key frame in the second version of the media content;
- determining a byte offset for the corresponding key frame in the second version of the media content;
- and
- downloading, by the device, the second version of the media content starting from the byte offset of the corresponding key frame in the second version of the media content.
A system, comprising:
- a processor;
- and
- a memory communicatively coupled to the processor, the memory having stored therein computer-executable instructions, comprising:
- a source manager configured to:
- determine a desired overall bandwidth utilization based upon a predetermined monetary rate for data transfer on a network connection during a time period at which a media content is to be downloaded, wherein the network connection has associated a plurality of time periods with respective predetermined monetary rates for data transfer, and the desired overall bandwidth utilization is a data transfer rate desired to be maintained at the device during the time period;
- and
- select a first version of the media content to download to the device that is estimated to have the desired overall bandwidth utilization during the time period for downloading the first version of the media content;
- monitor a rate for receiving the first version of the media content at the device within the time of period;
- and
- dynamically transition, responsive to the desired overall bandwidth utilization exceeding the monitored rate for receiving the first version of the media content, downloading of the first version of the media content to downloading of a second version of the same media content at a selected frame of the second version of the media content, the second version having a lower quality of the media content than quality of the first version, wherein the transitioning comprises:
- identifying an upcoming key frame in the first version of the media content that has not been downloaded by the device;
- identifying a corresponding key frame in the second version of the media content;
- determining a byte offset for the corresponding key frame in the second version of the media content;
- and
- downloading, by the device, the second version of the media content starting from the byte offset of the corresponding key frame in the second version of the media content.
Dependencies are inferred from the claim text.