IP Library Granted Patent US 9,191,664
Granted Patent B2
US 9,191,664 · App. 14/077,139 · Granted Nov 17, 2015

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 9,191,664
App. No.
14/077,139
Granted
Nov 17, 2015
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 (70)

1. A method comprising:

receiving media data that includes audio media data and video media data;

receiving feedback information from a terminal;

estimating one or more network conditions of a media network using the feedback information;

determining an optimal audio bitrate and an optimal video bitrate using the estimated one or more network conditions;

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 feedback information includes a receiver report that 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 determining the optimal audio bitrate and the optimal video bitrate using the estimated one or more network conditions, further comprises:

determining an optimal session bitrate using the estimated one or more network conditions; and

allocating the optimal session bitrate between the audio media data and the video media data to produce the optimal audio bitrate and the optimal video bitrate.

5. The method of claim 4 , 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.

6. The method of claim 4 , 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.

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

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

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

comparing a bitrate received with a current bitrate session.

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; and

providing the encoded audio media data and the 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. The method of claim 9 , further comprising dropping frames of the encoded video data.

12. A system comprising:

an adaptive bitrate manager including one or more processors configured to estimate one or more network conditions of a media network between the adaptive bitrate manager and a terminal 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 determine an optimal audio bitrate and an optimal video bitrate using the estimated one or more network conditions, 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 an optimal session bitrate.

14. The system of claim 13 , wherein the one or more encoders are further configured to:

acquire the optimal session bitrate,

allocate the optimal session bitrate between the audio media data and the video media data to produce the optimal audio bitrate and the optimal video bitrate.

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 feedback information, the method comprising:

receiving media data that includes audio media data and video media data;

receiving the feedback information from a terminal;

estimating one or more network conditions of a media network using the feedback information;

determining an optimal audio bitrate and an optimal video bitrate using the estimated one or more network conditions;

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. The non-transitory computer readable storage medium of claim 15 , wherein determining the optimal audio bitrate and the optimal video bitrate using the estimated one or more network conditions comprises:

determining an optimal session bitrate using the estimated one or more network conditions; and

allocating the optimal session bitrate between the audio media data and the video media data to produce the optimal audio bitrate and the optimal video bitrate.

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

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

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

21. The non-transitory computer readable storage medium of claim 20 , 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 (7)
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 031735/0446 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 21, 2013
From: MELNYK, MIGUEL A.; STAVRAKOS, NICHOLAS J.; BREG, FABIAN; PENNER, ANDREW
To: BYTEMOBILE, INC.
Reel/Frame 031653/0777 →
MERGER Recorded Nov 21, 2013
From: BYTEMOBILE, INC.
To: CITRIX SYSTEMS, INC.
Reel/Frame 031653/0856 →