IP Library Granted Patent US 10,397,294
Granted Patent B2
US 10,397,294 · App. 14/359,859 · Granted Aug 27, 2019

Bandwidth adaptation for dynamic adaptive transferring of multimedia

Inventors: Christopher Mueller (Villach, AT); Yuwen He (San Diego, CA); James Crenshaw (Burbank, CA)
Assignee: Dolby Laboratories Licensing Corporation
H04L65/602H04L47/10H04L65/4069H04L65/80H04L67/02H04L47/30
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 10,397,294
App. No.
14/359,859
Granted
Aug 27, 2019
Kind
B2
Abstract

Bandwidth adaptation is achieved with selection of quality levels of media content to be transferred based on network conditions.

Claims (41)

1. A method for controlling adjustment of quality level of media content adapted to be transferred over a network link, comprising:

receiving, at a client device, an indication of availability that lists available content from one or more content sources, the indication of availability comprising at least: a description of two or more first quality level segments of a particular media content item and a description of two or more second quality level segments of the particular media content item, wherein at least one or more first quality level segments of the two or more first quality level segments represent a same content portion of the particular media content item as at least one or more second quality level segments of the two or more second quality level segments, wherein the two or more first quality level segments of the particular media content item require a first data rate, wherein the two or more second quality level segments of the particular media content item require a second data rate;

requesting, by the client device, from a content source of the one or more content sources selected from the indication of availability a first segment of the two or more first quality segments of the particular media content item;

receiving, at the client device, the first segment of the two or more first quality segments of the particular media content item over a network connection;

periodically measuring, by the client device, available bandwidth over the network connection;

based on the measurement of the available bandwidth, the client device requesting a next segment from a next content source to dynamically adapt to the measurement of available bandwidth by performing one of:

i) based on a determination by the client device that the available bandwidth is sufficient to accommodate the second data rate and the second data rate is greater than the first data rate, requesting, by the client device, from the next content source of the one or more content sources selected from the indication of availability, the next segment from the two or more second quality level segments;

ii) based on a determination by the client device that the available bandwidth is less than the first data rate and the second data rate is less than the first data rate, requesting, by the client device, from the next content source of the one or more content sources selected from the indication of availability, the next segment from the two or more second quality level segments; or

iii) else, requesting, by the client device, from the next content source of the one or more content sources selected from the indication of availability, the next segment from the two or more first quality level segments.

2. The method of claim 1 , wherein the based on a determination by the client device that the available bandwidth is greater than the second data rate further comprises:

delaying the request for the second segment by a first amount of time when a transition from segments requiring a higher data rate to segments requiring a lower data rate has recently occurred.

3. The method of claim 2 , wherein the first amount of time comprises an integer.

4. The method of claim 2 , further comprising updating the first amount of time subsequent to receiving the second segment.

5. The method of claim 4 , wherein the updating the first amount of time comprises:

if the first amount of time is greater than zero:

subtracting a second amount of time from the first amount of time; and

assigning a result of the subtracting to the first amount of time.

6. The method of claim 5 , wherein the second amount of time comprises a constant or a variable.

7. The method of claim 1 , wherein the first segment is associated with a first time index and the second segment is associated with a second time index, wherein the second time index is later in time than the first time index.

8. The method of claim 1 , wherein the content source is a content server.

9. The method of claim 1 , wherein the content source is a proxy server.

10. One or more non-transitory computer-readable storage media, storing one or more sequences of instructions, which when executed by one or more processors cause performance of:

receiving, at a client device, an indication of availability that lists available content from one or more content sources, the indication of availability comprising at least: a description of two or more first quality level segments of a particular media content item and a description of two or more second quality level segments of the particular media content item, wherein at least one or more first quality level segments of the two or more first quality level segments represent a same content portion of the particular media content item as at least one or more second quality level segments of the two or more second quality level segments, wherein the two or more first quality level segments of the particular media content item require a first data rate, wherein the two or more second quality level segments of the particular media content item require a second data rate;

requesting, by the client device, from a content source of the one or more content sources selected from the indication of availability a first segment of the two or more first quality segments of the particular media content item;

receiving, at the client device, the first segment of the two or more first quality segments of the particular media content item over a network connection;

periodically measuring, by the client device, available bandwidth over the network connection;

based on the measurement of the available bandwidth, the client device requesting a next segment from a next content source to dynamically adapt to the measurement of available bandwidth by performing one of:

i) based on a determination by the client device that the available bandwidth is sufficient to accommodate the second data rate and the second data rate is greater than the first data rate, requesting, by the client device, from the next content source of the one or more content sources selected from the indication of availability, the next segment from the two or more second quality level segments;

ii) based on a determination by the client device that the available bandwidth is less than the first data rate and the second data rate is less than the first data rate, requesting, by the client device, from the next content source of the one or more content sources selected from the indication of availability, the next segment from the two or more second quality level segments; or

iii) else, requesting, by the client device, from the next content source of the one or more content sources selected from the indication of availability, the next segment from the two or more first quality level segments.

11. The one or more non-transitory computer-readable storage media of claim 10 , wherein the based on a determination by the client device that the available bandwidth is greater than the second data rate further comprises:

delaying the request for the second segment by a first amount of time when a transition from segments requiring a higher data rate to segments requiring a lower data rate has recently occurred.

12. The one or more non-transitory computer-readable storage media of claim 11 , wherein the first amount of time comprises an integer.

13. The one or more non-transitory computer-readable storage media of claim 11 , further comprising updating the first amount of time subsequent to receiving the second segment.

14. The one or more non-transitory computer-readable storage media of claim 13 , wherein the updating the first amount of time comprises:

if the first amount of time is greater than zero:

subtracting a second amount of time from the first amount of time; and assigning a result of the subtracting to the first amount of time.

15. The one or more non-transitory computer-readable storage media of claim 14 , wherein the second amount of time comprises a constant or a variable.

16. The one or more non-transitory computer-readable storage media of claim 10 , wherein the first segment is associated with a first time index and the second segment is associated with a second time index, wherein the second time index is later in time than the first time index.

17. The one or more non-transitory computer-readable storage media of claim 10 , wherein the content source is a content server.

18. The one or more non-transitory computer-readable storage media of claim 10 , wherein the content source is a proxy server.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 12, 2014
From: MUELLER, CHRISTOPHER; HE, YUWEN; CRENSHAW, JAMES
To: DOLBY LABORATORIES LICENSING CORPORATION
Reel/Frame 033092/0530 →
Continuity (2)
Provisional Application 61576334 · Dec 15, 2011
Related Publication 20140317234A1 · Oct 23, 2014