Adaptive bitrate management for streaming media over packet networks
First Claim
Patent Images
1. 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.
14 Assignments
0 Petitions
Accused Products
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.
64 Citations
20 Claims
-
1. 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. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. 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. - View Dependent Claims (10)
-
-
11. 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.
-
-
12. 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. - View Dependent Claims (13, 14)
-
-
15. 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. - View Dependent Claims (17, 18, 19)
-
-
16. 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. - View Dependent Claims (20)
-
Specification