IP Library Granted Patent US 8,230,105
Granted Patent B2
US 8,230,105 · App. 13/190,238 · Granted Jul 24, 2012

Adaptive bitrate management for streaming media over packet networks

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,230,105
App. No.
13/190,238
Granted
Jul 24, 2012
Kind
B2
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.

Claims (76)

1. A method comprising:

receiving a receiver report from a terminal having a media player;

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, wherein allocating the optimal session bitrate between audio and video media data is based on a metric selected from a group including a predetermined allocation, a user preference, an optimal performance data, privileging one type of data over the other, and an amount of audio and video media data to be provided;

encoding audio and video media data according to the optimal audio bitrate and the optimal video bitrate; and

providing media data to the terminal according to the optimal audio bitrate and the optimal video bitrate.

2. The method of claim 1 , wherein determining the optimal session bitrate further comprises:

establishing stability criterion based on the estimated one or more network conditions;

determining the stability of the media network; and

providing the optimal session bitrate based on the stability determination.

3. The method of claim 2 , wherein establishing stability criterion further comprises comparing a media time in transit and a round trip time estimate for assisting with the stability determination.

4. The method of claim 2 , wherein establishing stability criterion further comprises comparing a bitrate received with a current bitrate session.

5. The method of claim 2 , further comprising maintaining or incrementally increasing a current bitrate when the stability of the media network is considered normal.

6. The method of claim 2 , further comprising adjusting a current bitrate when the stability of the network is not normal.

7. The method of claim 1 , wherein providing media data to the terminal includes providing the encoded audio media data and the encoded video media data based on the optimal audio bitrate and the optimal video bitrate.

8. The method of claim 1 , wherein a receiver report is selected from a group including a real-time transport control protocol (RTCP) receiver report, and a real-time transport control protocol extended reports (RTCP XR) receiver report.

9. A method comprising:

receiving a receiver report from a terminal;

estimating one or more network conditions of a media network using the receiver report;

determining the stability of the media network using the estimations;

controlling a bitrate based on the determination;

allocating the bitrate between audio media data and video media data to produce an optimal audio bitrate and an optimal video bitrate, wherein allocating the bitrate between audio and video media data is based on a metric selected from a group including a predetermined allocation, a user preference, an optimal performance data, privileging one type of data over the other, and an amount of audio and video media data to be provided; and

providing the bitrate to an encoder for encoding audio and video media data, and transmitting media data according to the optimal audio bitrate and the optimal video bitrate.

10. The method of claim 9 , wherein determining the stability of the media network is based on establishing stability criterion.

11. The method of claim 10 , wherein establishing stability criterion further comprises comparing a media time in transit and a round trip time estimate for assisting with the stability determination.

12. The method of claim 10 , wherein establishing stability criterion further comprises comparing a bitrate received with a current bitrate session.

13. The method of claim 9 , wherein controlling the bitrate includes maintaining or incrementally increasing a current bitrate when the stability of the media network is considered normal.

14. The method of claim 9 , wherein controlling the bitrate includes adjusting a current bitrate when the stability of the network is considered not normal.

15. The method of claim 9 , wherein a receiver report is selected from a group including a real-time transport control protocol (RTCP) receiver report, and a real-time transport control protocol extended reports (RTCP XR) receiver report.

16. A method comprising:

receiving an optimal session bitrate;

allocating the optimal session bitrate between audio and video media data to produce an optimal audio bitrate and an optimal video bitrate, wherein allocating the optimal session bitrate between audio and video media data is based on a metric selected from a group including a predetermined allocation, a user preference, an optimal performance data, privileging one type of data over the other, and an amount of audio and video media data to be provided;

encoding audio and video media data according to the optimal audio bitrate and the optimal video bitrate; and

providing the encoded audio and video data for transmittal to a terminal.

17. The method of claim 16 , further comprising dropping frames of the encoded video data.

18. A system comprising:

an adaptive bitrate manager comprising a processor and a memory, the adaptive bitrate manager configured to:

receive a receiver report provided by a terminal having a media player,

estimate one or more network conditions using the receiver report,

determine an optimal session bitrate based on the estimated one or more network conditions, and

provide media data to the terminal according to the optimal session bitrate, and

wherein the adaptive bitrate manager further comprises an encoder configured to:

obtain the optimal session bitrate,

allocate the optimal session bitrate between audio and video media data to produce an optimal audio bitrate and an optimal video bitrate, wherein allocating the optimal session bitrate between audio and video media data is based on a metric selected from a group including a predetermined allocation, a user preference, an optimal performance data, privileging one type of data over the other, and an amount of audio and video media data to be provided, and

encode audio and video media data according to the optimal audio bitrate and the optimal video bitrate, and provide the encoded audio and video media data for transmittal to the terminal.

19. The system of claim 18 , wherein the adaptive bitrate manager further comprises an adaptive bitrate controller configured to receive the receiver report and calculating an optimal session bitrate.

20. The system of claim 18 , wherein a receiver report is selected from a group including a real-time transport control protocol (RTCP) receiver report, and a real-time transport control protocol extended reports (RTCP XR) receiver report.

21. A non-transitory computer readable storage medium storing instruction that, when executed by a computer, cause the computer to perform a method for processing a receiver report, the method comprising:

receiving the receiver report from a terminal;

estimating one or more network conditions of a media network using the receiver report;

determining the stability of the media network using the estimations;

controlling a bitrate based on the determination;

allocating the bitrate between audio media data and video media data to produce an optimal audio bitrate and an optimal video bitrate, wherein allocating the bitrate between audio and video media data is based on a metric selected from a group including a predetermined allocation, a user preference, an optimal performance data, privileging one type of data over the other, and an amount of audio and video media data to be provided; and

providing the bitrate to an encoder for transmitting media data according to the optimal audio bitrate and the optimal video bitrate.

22. The computer readable medium of claim 21 , wherein a receiver report is selected from a group including a real-time transport control protocol (RTCP) receiver report, and a real-time transport control protocol extended reports (RTCP XR) receiver report.

23. A non-transitory computer readable storage medium storing instruction that, when executed by a computer, cause the computer to perform a method for processing an optimal session bitrate, the method comprising:

receiving the optimal session bitrate;

allocating the optimal session bitrate between audio and video media data to produce an optimal audio bitrate and an optimal video bitrate, wherein allocating the optimal session bitrate between audio and video media data is based on a metric selected from a group including a predetermined allocation, a user preference, an optimal performance data, privileging one type of data over the other, and an amount of audio and video media data to be provided;

encoding audio and video media data according to the optimal audio bitrate and the optimal video bitrate; and

providing the encoded audio and video media data for transmittal to a terminal.

24. A terminal comprising:

a processor;

a memory;

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 the receiver report,

estimate one or more network conditions of the media network based at least in part on the receiver report,

determine an optimal session bitrate based on the estimated one or more network conditions, and

provide media data to the buffer according to the optimal session bitrate,

wherein the adaptive bitrate manager further comprises an encoder configured to:

obtain the optimal session bitrate,

allocate the optimal session bitrate between audio and video media data to produce an optimal audio bitrate and an optimal video bitrate, wherein allocating the optimal session bitrate between audio and video media data is based on a metric selected from a group including a predetermined allocation, a user preference, an optimal performance data, privileging one type of data over the other, and an amount of audio and video media data to be provided

encode audio and video media data according to the optimal audio bitrate and the optimal video bitrate, and

provide the encoded audio and video media data for transmittal to the terminal.

25. The terminal of claim 24 , wherein a receiver report is selected from a group including a real-time transport control protocol (RTCP) receiver report, and a real-time transport control protocol extended reports (RTCP XR) receiver report.

Assignments (8)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 21, 2023
From: BYTEMOBILE INNOVATIONS, LLC
To: OPTIMORPHIX, INC.
Reel/Frame 064020/0183 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 14, 2022
From: CITRIX SYSTEMS, INC.
To: BYTEMOBILE INNOVATIONS, LLC
Reel/Frame 059087/0052 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 14, 2015
From: BYTEMOBILE, INC.
To: CITRIX SYSTEMS, INC.
Reel/Frame 037289/0606 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 15, 2015
From: CITRIX SYSTEMS, INC.
To: BYTEMOBILE, INC.
Reel/Frame 035440/0599 →
NUNC PRO TUNC ASSIGNMENT Recorded Dec 6, 2013
From: BYTEMOBILE, INC.
To: CITRIX SYSTEMS, INC.
Reel/Frame 031730/0322 →
THIS SUBMISSION IS TO CORRECT THE SPELLING OF THE RECEIVING PARTY (ASSIGNEE)'S STREET NAME IN THE ORIGINAL COVER SHEET RECORDED AT REEL/FRAME 030609/0389. THE ADDRESS NAME SHOULD BE WEST CYPRESS CREEK ROAD. Recorded Sep 17, 2013
From: BYTEMOBILE, INC.
To: CITRIX SYSTEMS, INC.
Reel/Frame 031287/0874 →
MERGER Recorded Jun 13, 2013
From: BYTEMOBILE, INC.
To: CITRIX SYSTEMS, INC.
Reel/Frame 030609/0389 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 31, 2013
From: MELNYK, MIGUEL A.; STAVRAKOS, NICHOLAS J.; BREG, FABIAN; PENNER, ANDREW
To: BYTEMOBILE, INC.
Reel/Frame 030527/0586 →