Adaptive bitrate management for streaming media over packet networks
AssigneeCitrix Systems, Inc.
InventorsMiguel A. Melnyk, Nicholas J. Stavrakos, Fabian Breg, Andrew Penner
Life of this patent
Estimating the term…
Abstract
A method including receiving a receiver report from a terminal; estimating one or more network conditions of a media network based at least in part on the receiver report; determining an optimal session bitrate based on the estimated one or more network conditions; and providing media data to the terminal based on the optimal session bitrate.
Claims20
A method comprising:
- receiving media data that includes audio media data and video media data;
- receiving a receiver report from a terminal;
- estimating one or more network conditions of a media network using the receiver report;
- determining an optimal session bitrate using the estimated one or more network conditions;
- allocating the optimal session bitrate between audio media data and video media data to produce an optimal audio bitrate and an optimal video bitrate;
- encoding the audio media data using the optimal audio bitrate;
- encoding the video media data using the optimal video bitrate;
- and
- providing the encoded audio media data and the encoded video media data for transmission to the terminal.
A method comprising:
- receiving media data that includes audio media data and video media data;
- receiving an optimal session bitrate;
- allocating the optimal session bitrate between the audio media data and the video media data to produce an optimal audio bitrate and an optimal video bitrate;
- encoding the audio media data using the optimal audio bitrate;
- encoding the video media data using the optimal video bitrate;
- dropping frames of the encoded video data;
- and
- providing the encoded audio media data and remaining encoded video media data for transmittal to a terminal.
A terminal including one or more processors and a memory, the terminal comprising:
- a buffer configured to receive media data packets transmitted by an adaptive bitrate manager over a media network;
- and
- a media player configured to receive media data packets and provide a receiver report to the adaptive bitrate manager configured to:
- receive media data that includes audio media data and video media data;
- receive the receiver report,
- estimate one or more network conditions of the media network using-the receiver report,
- determine an optimal audio bitrate and an optimal video bitrate using estimated one or more network conditions,
- encode the audio media data using the optimal audio bitrate,
- encode the video media data using the optimal video bitrate, and
- provide the encoded audio media data and the encoded video media data for transmission as media data packets.
A system comprising:
- an adaptive bitrate manager configured to estimate one or more network conditions of a media network between the adaptive bitrate manager and a terminal, to determine an optimal session bitrate using the estimated one or more network conditions, and to acquire media data that includes audio media data and video media data, the adaptive bitrate manager further comprising:
- a bitrate splitter configured to allocate the optimal session bitrate between audio media data and video media data to produce an optimal audio bitrate and an optimal video bitrate, and
- one or more encoders configured to:
- encode the audio media data using the optimal audio bitrate,
- encode the video media data using the optimal video bitrate, and
- provide the encoded audio media data and the encoded video media data for transmission to the terminal.
A non-transitory computer readable storage medium storing instructions that, when executed by one or more computers, cause the one or more computers to perform a method for processing a receiver report, the method comprising:
- receiving media data that includes audio media data and video media data;
- receiving the receiver report from a terminal;
- estimating one or more network conditions of a media network using the receiver report;
- determining an optimal session bitrate using the estimated one or more network conditions;
- allocating the optimal session bitrate between audio media data and video media data to produce an optimal audio bitrate and an optimal video bitrate;
- encoding the audio media data using the optimal audio bitrate;
- encoding the video media data using the optimal video bitrate;
- and
- providing the encoded audio media data and the encoded video media data for transmission to the terminal.
A non-transitory computer readable storage medium storing instructions that, when executed by one or more computers, cause the one or more computers to perform a method for processing an optimal session bitrate, the method comprising:
- receiving media data that includes audio media data and video media data;
- receiving the optimal session bitrate;
- allocating the optimal session bitrate between the audio media data and the video media data to produce an optimal audio bitrate and an optimal video bitrate;
- encoding the audio media data using the optimal audio bitrate;
- encoding the video media data using the optimal audio bitrate and the optimal video bitrate dropping frames of the encoded video data;
- and
- providing the encoded audio media data and remaining encoded video media data for transmittal to a terminal.
Dependencies are inferred from the claim text.