IP Library › Granted Patent US 12,750,545
Granted Patent B2
US 12,750,545 · App. 18/239,506 · Granted Sep 29, 2026

Adaptive bitrate ladder optimization for live video streaming

Inventors: Farzad Tashtarian (Klagenfurt am Wörthersee, AT); Christian Timmerer (Klagenfurt am Wörthersee, AT)
Assignee: Bitmovin GmbH
H04N21/2662H04N21/2187H04N21/2402
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 12,750,545
App. No.
18/239,506
Granted
Sep 29, 2026
Kind
B2
Abstract

Techniques for optimizing a bitrate ladder for live streaming are described herein. A method for optimizing a bitrate ladder for live streaming includes receiving client-side input and an origin-side input during a first interval in a timeslot, the client-side input comprising CDN logs, the origin-side input comprising a quality measure, extracting from the CDN logs frequency of requests for each bitrate in a bitrate ladder in the timeslot and the duration of recent stall events for client video players. During a second interval in the timeslot, an optimized bitrate ladder comprising an optimal set of bitrates (OSB) is selected using an optimization function, the optimization function taking as input quality measures and a coefficient value determined using stall information. The optimized bitrate ladder is sent to the origin server for live encoding follow-on segments.

Claims (36)

1 . A method for optimizing a bitrate ladder for live streaming, the method comprising:

receiving, by an analytics server, a client-side input and an origin-side input during a first interval in a timeslot, the client-side input comprising a content delivery network (CDN) log from a client, the origin-side input comprising a quality measure from an origin server on an encoding side of a network, the origin server implementing an origin agent and a live encoder, wherein the timeslot comprises a duration selected to avoid a late reaction to network bandwidth fluctuation in a video player on a client side;

during the first interval, extracting from the CDN log a frequency of requests for each bitrate in a set of bitrates in the timeslot and a duration of a recent stall event for the client's player;

selecting, by the analytics server, during a second interval in the timeslot, an optimized bitrate ladder comprising an optimal set of bitrates (OSB) for a representation in a manifest using an optimization function, the optimization function taking as input the quality measure and a coefficient value, the coefficient value being determined by calling a stall analysis algorithm to which an average duration of stalls in each timeslot and a stall dictionary comprising a coefficient value for each range of stall is provided, the coefficient value being based on the frequency of requests and the duration of the recent stall event; and

sending the optimized bitrate ladder to the origin server for live encoding a next segment.

2 . The method of claim 1 , further comprising selecting the coefficient value based on an average difference of quality and an average difference of bitrate.

3 . The method of claim 2 , wherein the coefficient value is selected to decrease one or both of the average difference of quality and the average difference of bitrate.

4 . The method of claim 3 , wherein the OSB comprises a new OSB when the binary variable comprises a True value.

5 . The method of claim 3 , wherein the OSB comprises a previously selected OSB when the binary variable comprises a False value.

6 . The method of claim 1 , wherein calling the stall analysis algorithm further results in determining a binary variable based on a threshold mean stall duration.

7 . The method of claim 1 , wherein the CDN log comprises a URL of a HTTP request message, the duration of the recent stall event included in the URL in common media client data (CMCD) format.

8 . The method of claim 1 , wherein the quality measure comprises a measure of quality of a previously encoded segment.

9 . The method of claim 1 , wherein the quality measure comprises one or both of a video multi-method assessment fusion (VMAF) and peak signal-to-noise ratio (PSNR).

10 . The method of claim 1 , wherein the origin server is configured to perform the live encoding of the next segment.

11 . The method of claim 1 , further comprising storing a tuple for each client that experienced a stall event, the tuple comprising a unique player identifier, a stall start time, and a stall end time.

12 . The method of claim 1 , further comprising storing a number of requests received from a given client for each bitrate in the set of bitrates.

13 . The method of claim 1 , wherein selecting the optimized bitrate ladder by the analytics server comprises techniques involving a mixed-integer linear programming (MILP) model including a multi-objective optimization (MOO) function.

14 . The method of claim 1 , further comprising:

receiving a HTTP request from the client, the request comprising a selected segment and a requested bitrate; and

providing the selected segment at the requested bitrate wherein the requested bitrate is included in the OSB or at a lower bitrate wherein the requested bitrate is not included in the OSB.

15 . The system of claim 14 , wherein the client stall event information is stored in tuples comprising a unique player identifier, a stall start time, and a stall end time.

16 . The method of claim 1 , wherein the origin agent comprises a plug-in at the origin server to measure perceptual quality.

17 . A distributed computing system comprising:

a database configured to store client stall event information and bitrates; and

one or more processors configured to:

receive, by an analytics server, a client-side input and an origin-side input during a first interval in a timeslot, the client-side input comprising a CDN log from a client, the origin-side input comprising a quality measure from an origin server on an encoding side of a network, the origin server implementing an origin agent and a live encoder, wherein the timeslot comprises a duration selected to avoid a late reaction to network bandwidth fluctuation on a client side;

during the first interval, extract from the CDN log a frequency of requests for each bitrate in a set of bitrates in the timeslot and a duration of a recent stall event for the client's player;

select, by the analytics server, during a second interval in the timeslot, an optimized bitrate ladder comprising an optimal set of bitrates (OSB) using an optimization function, the optimization function taking as input the quality measure and a coefficient value, the coefficient value being determined by calling a stall analysis algorithm to which an average duration of stalls in each timeslot and a stall dictionary comprising a coefficient value for each range of stall is provided, the coefficient value being based on the frequency of requests and the duration of the recent stall event; and

send the optimized bitrate ladder to the origin server for live encoding a next segment.

18 . A system for optimizing a bitrate ladder for live streaming, the system comprising:

a processor; and

a memory comprising program instructions executable by the processor to cause the processor to implement:

an analytics server configured to receive a client request comprising stall event information and an origin server message from an origin server on an encoding side of a network, the origin server implementing a live encoder, the origin server message comprising a quality measure of a previously encoded segment, the analytics server further configured to select an optimal set of bitrates (OSB) using the stall event information and the quality measure during a timeslot comprising a duration selected to avoid a late reaction to network bandwidth fluctuation on a client side, the OSB being selected using an optimization function, the optimization function taking as input the quality measure and a coefficient value, the coefficient value being determined by calling a stall analysis algorithm to which an average duration of stalls in each timeslot and a stall dictionary comprising a coefficient value for each range of stall is provided, the quality measure during the timeslot being provided by the encoding side of the network; and

an origin agent comprising a live encoder plug-in, the origin agent configured to measure perceptual quality of encoded segments and to request the encoder to adjust the bitrate ladder in accordance with the OSB selected by the analytics server.

19 . The system of claim 18 , wherein the analytics server selects the OSB according to a mixed-integer linear programming (MILP) model including a multi-objective optimization (MOO) function.

20 . The system of claim 19 , wherein the MILP model receives as input a set of quality measures, a set of received requests for each bitrate in a set of bitrates, and a coefficient value α.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 22, 2024
From: TASHTARIAN, FARZAD; TIMMERER, CHRISTIAN
To: BITMOVIN GMBH
Reel/Frame 067176/0278 →
Continuity (1)
Related Publication 20250080787A1 · Mar 6, 2025
References Cited (55)
US 7472178B2 · Lisiecki · 2008 [cited by examiner]
US 8578436B2 · Li · 2013 [cited by examiner]
US 9420050B1 · Sakata · 2016 [cited by examiner]
US 9747592B2 · Lientz · 2017 [cited by examiner]
US 9948992B2 · Meng · 2018 [cited by examiner]
US 10044466B2 · Schmidt · 2018 [cited by examiner]
US 10440416B1 · Phillips · 2019 [cited by examiner]
US 10581903B2 · Donahue · 2020 [cited by examiner]
US 10587523B2 · Mani · 2020 [cited by examiner]
US 10592578B1 · Mokashi · 2020 [cited by examiner]
US 10841177B2 · Lipstone · 2020 [cited by examiner]
US 10897406B2 · Yan · 2021 [cited by examiner]
US 10958947B1 · Wei · 2021 [cited by examiner]
US 11101906B1 · Jiang · 2021 [cited by examiner]
US 11157948B2 · Netter · 2021 [cited by examiner]
US 11303532B2 · Wang · 2022 [cited by examiner]
US 11425432B2 · Wallendael · 2022 [cited by examiner]
US 11431562B2 · Kerboeuf · 2022 [cited by examiner]
US 11509703B2 · Chu · 2022 [cited by examiner]
US 11641337B2 · Flack · 2023 [cited by examiner]
US 11902599B2 · Dai · 2024 [cited by examiner]
US 11968245B2 · Aguilar-Armijo · 2024 [cited by examiner]
US 12028530B2 · Liu · 2024 [cited by examiner]
US 12032545B1 · Wilkinson · 2024 [cited by examiner]
US 12108055B2 · Amirpour · 2024 [cited by examiner]
US 12155548B1 · Karak · 2024 [cited by examiner]
US 12224915B2 · Casey · 2025 [cited by examiner]
US 12225252B2 · Liu · 2025 [cited by examiner]
US 20040205043A1 · Alessi · 2004 [cited by examiner]
US 20060188014A1 · Civanlar · 2006 [cited by examiner]
US 20140075018A1 · Maycotte · 2014 [cited by examiner]
US 20160344751A1 · Leach · 2016 [cited by examiner]
US 20200258118A1 · Kovvali · 2020 [cited by examiner]
US 20210176530A1 · Lobanov · 2021 [cited by examiner]
US 20210392202A1 · Henning · 2021 [cited by examiner]
US 20220141476A1 · Erfanian · 2022 [cited by examiner]
US 20220150151A1 · Ramamoorthy · 2022 [cited by examiner]
US 20230199255A1 · Sanford · 2023 [cited by examiner]
US 20230283789A1 · Shen · 2023 [cited by examiner]
US 20240031629A1 · Pejhan · 2024 [cited by examiner]
US 20240040171A1 · Chen · 2024 [cited by examiner]
US 20240305788A1 · Liu · 2024 [cited by examiner]
US 20240346336A1 · Fanfani · 2024 [cited by examiner]
US 20240411977A1 · Ho · 2024 [cited by examiner]
European Application No. 20756353.7, Extended European Search Report mailed Nov. 3, 2021, 7 pages. [cited by applicant]
Kurdoglu et al. “Real-Time Bandwidth Prediction and Rate Adaptation for Video Calls Over Cellular Networks,” Proceedings of the 7th International Conference on Multimedia Systems, Jan. 1, 2016, 7 pp. 1-11. [cited by applicant]
Robitza et al., “A modular HTTP Adaptive Streaming QoE Model—Candidate for ITU-T P.1203 (“P.NATS”),” 2017 Ninth International Conference on Quality of Multimedia Experience (QOMEX), May 31, 2017. pp. 1-6. [cited by applicant]
Zhang et al., “Deep Learning in Mobile and Wireless Networking: A Survey,” arxiv.org, Cornell University Library, Mar. 12, 2018, pp. 1-67. [cited by applicant]
Kryftis et al., “Resource Usage Prediction Algorithms for Optimal Selection of Multimedia Content Delivery Methods,” 2015 IEE International Conference on Communications (ICC), Jun. 8, 2015, pp. 5903-5909. [cited by applicant]
Abdelsalam et al., “Evaluation of DASH Algorithms on Dynamic Satellite-Enhanced Hybrid Networks,” 2018 International Symposium on Advanced Electrical and Communication Technologies (ISAECT), Nov. 21, 2018, pp. 1-6. [cited by applicant]
125. MPEG Meeting, “WD of ISO/IEC 23000-19 2nd edition CMA,” Motion Picture Expert Group or ISO/IEC, Jan. 22, 2019, pp. 1-150. [cited by applicant]
De Praeter et al., “Fast Simultaneous Video Encoder for Adaptive Streaming”, 2015 IEEE 17th International Workshop, Oct. 19, 2015, pp. 1-6. [cited by applicant]
Kim Kyungah AL., “Fast CU Depth Decision for HEVC Using Neural Networks”, IEEE Transactions on Circuits and Systems for Video Technology, vol. 29, No. 5, May 1, 2019, pp. 1462-1473. [cited by applicant]
International Application No. PCT/US2021/061678, International Search Report and Written Opinion mailed Mar. 3, 2022 9 pages. [cited by applicant]
Goswami Kalyan et al., “Adaptive Multi-Resolution Encoding for ABR Streaming”, 2018 25th IEEE International Conference on Image Processing (ICIP), Oct. 7, 2018, pp. 1008-1012. [cited by applicant]