IP Library Granted Patent US 11,070,607
Granted Patent B2
US 11,070,607 · App. 16/933,063 · Granted Jul 20, 2021

Dynamic behavior modification for content download and playback

Inventor: James E. Knowler (Croydon, GB)
Assignee: DAZN LIMITED
H04L65/80H04L43/0805H04L49/90H04L65/4023H04L65/4092
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 11,070,607
App. No.
16/933,063
Granted
Jul 20, 2021
Kind
B2
Abstract

The present disclosure relates generally to a method for dynamically selecting quality levels for content downloads. The method includes receiving by a media player a content download request; determining a state of a quality module, where the state depends at least in part on a bandwidth available to the media player and a buffer value for the content; providing to the media player from the quality module a quality value corresponding to the state, wherein the quality value is used by the media player to request one or more content fragments from a server; receiving by the media player the one or more content fragments; and displaying by the medial player the one or more content fragments.

Claims (43)

1. A method for displaying content on a user device comprising:

receiving by a media player a content request corresponding to a fragment download from a server;

receiving from a quality module in communication with the media player, a quality selection for the fragment;

downloading by the media player the fragment from the server;

analyzing a bandwidth availability for the media player during download of the fragment, wherein analyzing the bandwidth availability comprises:

generating a first estimate reflective of a local network condition of a local network for the user device based on a size of the fragment relative to a download time of the received fragment to the user device from the server;

generating a second estimate reflective of a server network condition and the local network condition based on a number of bytes for the fragment received over an interval; and

selecting the first estimate, the second estimate, or a combination of the first estimate and the second estimate to determine bandwidth availability; and

based in part on the bandwidth availability stopping or continuing to download the fragment.

2. The method of claim 1 , further comprising analyzing a buffer level during download of the fragment, wherein stopping or continuing to download the fragment is based in part on the buffer level and the bandwidth availability.

3. The method of claim 2 , wherein the quality module utilizes the buffer level and the bandwidth availability to provide an updated quality selection.

4. The method of claim 1 , wherein after stopping the download of the fragment, the method further comprises:

receiving a lower quality selection for the fragment; and

downloading by the media player, the fragment at the lower quality.

5. The method of claim 1 , wherein the server is a content delivery network server.

6. The method of claim 1 , analyzing the bandwidth availability comprises:

determining a first bandwidth estimate;

determining a second bandwidth estimate, wherein the first bandwidth estimate and the second bandwidth estimate are different from one another; and

analyzing the first bandwidth estimate and the second bandwidth estimate together to output the bandwidth availability.

7. The method of claim 1 , wherein analyzing the bandwidth available is based on a local network condition of a local network in communication with the user device.

8. The method of claim 1 , wherein selecting the first estimate, the second estimate, or a combination of the first estimate and the second estimate comprises:

determining whether the first estimate is accurate;

determining whether the second estimate is accurate;

when the first estimate is accurate and the second estimate is not accurate, selecting the first estimate for the bandwidth availability;

when the first estimate is not accurate and the second estimate is accurate, selecting the second estimate for the bandwidth availability; and

when the first estimate and the second estimate are both accurate, statistically combining the estimate and the second estimate to determine the bandwidth availability.

9. The method of claim 1 , wherein the first estimate and the second estimate are determined at different points of time.

10. A method for estimating bandwidth for content downloads to a user device comprising:

receiving a first fragment download from a server;

determining a network bandwidth type estimate by determining a byte number of the first fragment received over a first predetermined interval of time to determine a first bandwidth estimate;

determining another network bandwidth type estimate by determining a byte number of the first fragment received over a second predetermined interval of time to determine a second bandwidth estimate;

determining a local bandwidth type estimate by dividing a byte size of the first fragment download by a download time for the first fragment download to output a third bandwidth estimate;

selectively combining the first bandwidth estimate, the second bandwidth estimate, and the third bandwidth estimate to output a bandwidth value; and

utilizing the bandwidth value to select a quality level for a second fragment to download from the server.

11. The method of claim 10 , wherein the third bandwidth estimate is disregarded when the first fragment is smaller than a size threshold.

12. The method of claim 10 , wherein the third bandwidth estimate is disregarded when the first fragment did not complete download during the predetermined interval of time.

13. A non-tangible computer readable medium that includes instructions that when executed by a processor cause the processor to:

receive a first fragment download from a server;

determine a network bandwidth type estimate by a determining a byte number of the first fragment received over a first predetermined interval of time to determine a first bandwidth estimate;

determine another network bandwidth estimate type estimate by determining a byte number of the first fragment received over a second predetermined interval of time to determine a second bandwidth estimate;

determine a local bandwidth type estimate by dividing a byte size of the first fragment download by a download time for the first fragment download to output a third bandwidth estimate;

selectively combine the first bandwidth estimate, the second bandwidth estimate, and the third bandwidth estimate to output a bandwidth value; and

utilize the bandwidth value to select a quality type for a second fragment to download from the server.

Assignments (3)
SECURITY INTEREST Recorded Jun 7, 2023
From: DAZN LIMITED
To: MGG LUX SV 1 S.À R.L.
Reel/Frame 063876/0772 →
CHANGE OF NAME Recorded Jul 20, 2020
From: PERFORM INVESTMENT LIMITED
To: DAZN LIMITED
Reel/Frame 053252/0108 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 20, 2020
From: KNOWLER, JAMES E.
To: PERFORM INVESTMENT LIMITED
Reel/Frame 053252/0225 →
Continuity (2)
Provisional Application 62877012 · Jul 22, 2019
Related Publication 20210029190A1 · Jan 28, 2021