IP Library Granted Patent US 11,621,985
Granted Patent B2
US 11,621,985 · App. 17/336,009 · Granted Apr 4, 2023

Chunk-based prediction adaptation logic

Inventors: Abdelhak Bentaleb (Singapore, SG); Martin Fillafer (Klagenfurt am Wörthersee, AT); Daniel Weinberger (Klagenfurt am Wörthersee, AT)
Assignee: BITMOVIN, INC.
H04L65/61H04L67/02
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,621,985
App. No.
17/336,009
Granted
Apr 4, 2023
Kind
B2
Abstract

A multimedia player downloads chunks (parts of the segment file) during the download of a segment of a stream of segments of a low-latency stream. The first chunks of a segment may be downloaded while the segment is still being written to the CDN server. A chunk-based prediction adaptation logic uses throughput measurements on a chunk instead of a segment and specifically looks at bursts in a sliding window. This data is used to build a prediction of future throughput by applying linear adaptive filter algorithms that may rely on recursive least squares. This adaptation logic leads to very accurate bandwidth predictions and as a consequence, better user experience, compared to existing adaptation algorithms.

Claims (33)

1. A method for adaptively selecting a bitrate level for streaming a low latency multimedia stream, the multimedia stream comprising a plurality of segments and each segment comprising a plurality of chunks of video, the method comprising:

computing an average throughput based on throughput measurements for a plurality of prior successful chunk downloads;

based on the average throughput, estimating a future bandwidth of a network connection between a media player and a server;

selecting a bitrate level based on the average throughput and the estimated future bandwidth, the bitrate level selected from a plurality of available bitrate levels defined in a manifest file for the low latency multimedia stream; and

selecting a network address from the manifest file, the network address corresponding to a stream encoded at the selected bitrate level,

wherein computing the average throughput comprises recursively computing a gain vector and an inverse correlation matrix of throughput estimation values, and wherein the gain vector and the inverse correlation matrix are recursively computed using a forgetting factor pre-programmed to a given value configured to reduce a weight of throughput estimates.

2. The method of claim 1 , further comprising initializing a filter tabs vector with a length, the future bandwidth of the network being based in part on the filter tabs vector.

3. The method of claim 2 , further comprising setting an initial inverse correlation matrix according to an initial input variance estimate parameter and the length of the filter tabs vector.

4. The method of claim 1 , wherein the bitrate level is further selected based on the playback buffer occupancy.

5. The method of claim 1 , further comprising maintaining a buffer occupancy within a range between a minimum threshold and a maximum threshold predetermined for CMAF low latency.

6. A client device, comprising:

a multimedia player comprising a processor and a memory, the multimedia player configured to implement:

a buffer configured to buffer a media content,

an adaptation logic configured to control a bitrate at which the media content is retrieved,

a decoder configured to reproduce the media content; and

a playback interface,

wherein the adaptation logic is configured to implement a throughput estimator, a bandwidth forecasting module, and an ABR controller,

wherein the throughput estimator is configured to compute an average throughput based on throughput measurements for a plurality of prior successful chunk downloads, wherein computing the average throughput comprises recursively computing a gain vector and an inverse correlation matrix of throughput estimation values, and wherein the gain vector and the inverse correlation matrix are recursively computed using a forgetting factor pre-programmed to a given value configured to reduce a weight of throughput estimates,

wherein the bandwidth forecasting module is configured to estimate a future bandwidth of a network connection between the multimedia player and a server based on the average throughput, and

wherein the ABR controller is configured to select a bitrate level based on the average throughput and the estimated future bandwidth and a network address from a manifest file, the bitrate level selected from a plurality of available bitrate levels defined in the manifest file for a low latency multimedia stream, the network address corresponding to a stream encoded at the selected bitrate level.

7. The device of claim 6 , wherein the adaptation logic sets the bitrate based on a buffer fill status of the buffer.

8. The device of claim 6 , wherein the adaptation logic sets the bitrate based on a measure of a retrieval throughput at which stream data is retrieved.

9. The device of claim 6 , wherein the adaptation logic sets the bitrate based on a hybrid approach using a buffer fill status of the buffer and a measure of a retrieval throughput at which stream data is retrieved.

10. The device of claim 6 , wherein the adaptation logic further implements an oscillation compensator.

11. The device of claim 6 , wherein the adaptation logic further implements a buffer controller and the ABR controller is configured to monitor a playback buffer occupancy using the buffer controller.

12. The device of claim 6 , wherein the ABR controller is configured to output a bitrate at which streaming of the media content is controlled.

13. The device of claim 6 , further comprising a logger configured to record a status of the multimedia player.

14. The device of claim 6 , wherein the ABR controller is configured to implement a throughput-based approach using an estimated throughput.

15. The device of claim 6 , wherein the ABR controller is configured to implement a buffer-based approach, using a playback buffer occupancy.

16. The device of claim 6 , wherein the ABR controller is configured to implement a hybrid approach using an estimated throughput and a playback buffer occupancy.

17. The device of claim 6 , wherein the bandwidth forecasting module comprises an adaptive filter configured to implement a recursive least squares approach.

18. The device of claim 6 , wherein the bandwidth forecasting module is configured to implement a deep reinforcement learning approach.

19. The device of claim 6 , wherein the bandwidth forecasting module is configured to implement an autoregressive integrated moving average approach.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 1, 2021
From: BENTALEB, ABDELHAK; FILLAFER, MARTIN; WEINBERGER, DANIEL
To: BITMOVIN, INC.
Reel/Frame 056405/0774 →
Continuity (3)
Continuation PCTUS2020017691 · Feb 11, 2020
Provisional Application 62803716 · Feb 11, 2019
Related Publication 20210289013A1 · Sep 16, 2021
Cited By (2)
US 12,356,015 US 12,556,778