IP Library Granted Patent US 8,621,061
Granted Patent B2
US 8,621,061 · App. 13/557,086 · Granted Dec 31, 2013

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,621,061
App. No.
13/557,086
Granted
Dec 31, 2013
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 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.

2. The method of claim 1 , wherein the 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.

3. The method of claim 1 , further comprising dropping frames of the encoded video data.

4. The method of claim 1 , wherein allocating the optimal session bitrate between the audio media data and the video media data is based on one or more metrics selected from a group including a predetermined allocation, a user preference, an optimal performance data, privileging one type of media data over the other, and an amount of audio and video media data to be provided.

5. 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.

6. The method of claim 5 , wherein establishing stability criterion further comprises:

comparing a media time in transit and a round trip time estimate for assisting with the stability determination.

7. The method of claim 5 , wherein establishing stability criterion further comprises:

comparing a bitrate received with a current bitrate session.

8. The method of claim 5 , further comprising:

if the stability of the media network is considered normal, maintaining or incrementally increasing a current bitrate; and

if the stability of the media network is not normal, adjusting the current bitrate.

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.

10. The method of claim 9 , wherein allocating the optimal session bitrate between the audio media data and the video media data is based on one or more metrics selected from a group including a predetermined allocation, a user preference, an optimal performance data, privileging one type of media data over the other, and an amount of audio and video media data to be provided.

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.

13. The system of claim 12 , wherein the adaptive bitrate manager further comprises:

an adaptive bitrate controller configured to determine the optimal session bitrate.

14. The system of claim 12 , wherein the adaptive bitrate manager includes one or more processors.

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.

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.

17. The non-transitory computer readable storage medium of claim 15 , wherein allocating the optimal session bitrate between the audio media data and the video media data is based on one or more metrics selected from a group including a predetermined allocation, a user preference, an optimal performance data, privileging one type of media data over the other, and an amount of audio and video media data to be provided.

18. The non-transitory computer readable storage medium of claim 15 , 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.

19. The non-transitory computer readable storage medium of claim 18 , wherein establishing stability criterion further comprises one or more of the following operations:

comparing a media time in transit and a round trip time estimate for assisting with the stability determination; or

comparing a bitrate received with a current bitrate session.

20. The non-transitory computer readable storage medium of claim 16 , wherein allocating the optimal session bitrate between the audio media data and the video media data is based on one or more metrics selected from a group including a predetermined allocation, a user preference, an optimal performance data, privileging one type of media data over the other, and an amount of audio and video media data to be provided.

Assignments (14)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 21, 2023
From: BYTEMOBILE INNOVATIONS, LLC
To: OPTIMORPHIX, INC.
Reel/Frame 064020/0183 →
PATENT SECURITY AGREEMENT Recorded Apr 14, 2023
From: CLOUD SOFTWARE GROUP, INC. (F/K/A TIBCO SOFTWARE INC.); CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 063340/0164 →
RELEASE AND REASSIGNMENT OF SECURITY INTEREST IN PATENT (REEL/FRAME 062113/0001) Recorded Apr 14, 2023
From: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
To: CITRIX SYSTEMS, INC.; CLOUD SOFTWARE GROUP, INC. (F/K/A TIBCO SOFTWARE INC.)
Reel/Frame 063339/0525 →
PATENT SECURITY AGREEMENT Recorded Oct 7, 2022
From: TIBCO SOFTWARE INC.; CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 062113/0470 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Oct 7, 2022
From: TIBCO SOFTWARE INC.; CITRIX SYSTEMS, INC.
To: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
Reel/Frame 062113/0001 →
PATENT SECURITY AGREEMENT Recorded Oct 7, 2022
From: TIBCO SOFTWARE INC.; CITRIX SYSTEMS, INC.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 062112/0262 →
SECURITY INTEREST Recorded Sep 30, 2022
From: CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION
Reel/Frame 062079/0001 →
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 →