IP Library Granted Patent US 12,470,771
Granted Patent B1
US 12,470,771 · App. 18/534,334 · Granted Nov 11, 2025

Adaptive video streaming algorithm for optimized model predictive control

Inventors: Zahaib Akhtar (San Jose, CA); Satheesh Ramalingam (Sammamish, WA); Mohan Padmanabhan (Sammamish, WA); Yongjun Wu (Bellevue, WA); Tianyu Chen (Amherst, MA)
Assignee: Amazon Technologies, Inc.
H04N21/4621H04N21/2187H04N21/44008H04N21/440263H04N21/44209
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,470,771
App. No.
18/534,334
Granted
Nov 11, 2025
Kind
B1
Abstract

Adaptive bitrate techniques are used to select bitrates of segments to download when streaming video content. Different bitrate paths may be evaluated to optimize an objection function. Filtering bitrate paths that are unlikely to be optimal increases the computational speed, facilitating deployment.

Claims (48)

1 . A method, comprising:

requesting a manifest file corresponding to a media presentation of a live event;

receiving the manifest file, wherein the manifest file comprises information identifying a set of video fragments for each segment of the media presentation, each set of the video fragments comprising different bitrate versions of the corresponding segment of the media presentation;

requesting a first video fragment for a first segment of the media presentation at a first bitrate;

receiving the first video fragment in a buffer;

determining a plurality of bitrate paths in a window of sequential segments of the media presentation starting with the first segment, wherein each bitrate path of the plurality of bitrate paths is a monotonic trajectory of bitrates for segments in the window;

determining a quality of experience (QoE) score for each bitrate path of the plurality of bitrate paths, wherein the QoE score for a bitrate path is determined from:

a utility of the bitrate path based on the bitrates for each segment in the bitrate path,

a rebuffering cost of the bitrate path based on a buffer level of the buffer after downloading segments in the bitrate path and the bitrate of segments in the bitrate path, and

a bitrate switching cost based on the bitrates of sequential segments in the bitrate path;

identifying the bitrate path of the plurality of bitrate paths having the highest QoE; and

requesting a second video fragment at a second bitrate along the identified bitrate path for a second segment of the media presentation sequential to the first segment.

2 . The method of claim 1 , wherein the window comprises two to ten segments.

3 . The method of claim 1 , wherein each QoE score is additionally based on an estimated bandwidth available to download video fragments and a predetermined bandwidth error factor.

4 . The method of claim 1 , wherein each bitrate in the plurality of bitrate paths is within a predetermined number of bitrate levels of the bitrate level of the first video fragment.

5 . A method, comprising:

receiving information identifying a set of video fragments for each segment of a media presentation, each set of the video fragments comprising different bitrate versions of the corresponding segment of the media presentation;

requesting video fragments corresponding to segments of the media presentation using an adaptive bitrate technique, wherein the adaptive bitrate technique comprises:

determining, for a segment, a quality of experience (QoE) score for each bitrate path of a plurality of bitrate paths in a window of segments, the window comprising the segment, wherein each bitrate path of the plurality of bitrate paths is a monotonic trajectory of bitrates for segments in the window,

identifying a first bitrate path of the plurality of bitrate paths as having the highest QoE,

identifying a first bitrate for the segment corresponding to the first bitrate path, and

selecting a video fragment corresponding to the segment based on the first bitrate.

6 . The method of claim 5 , wherein the information identifying the set of video fragments is part of a manifest.

7 . The method of claim 5 , wherein the video fragments represent a live event, linear playout, or video on demand (VOD).

8 . The method of claim 5 , wherein the size of the window is two to ten segments.

9 . The method of claim 5 , wherein each bitrate in the plurality of bitrate paths is within a predetermined number of bitrate levels of the bitrate level of a prior video fragment prior to the segment.

10 . The method of claim 9 , wherein the predetermined number is two to eight bitrate levels.

11 . The method of claim 5 , further comprising determining a QoE score for the first bitrate path based on:

a utility of the first bitrate path based on the bitrates for each segment in the first bitrate path,

a rebuffering cost of the first bitrate path based on a buffer level of the buffer after downloading segments in the first bitrate path and the bitrate of segments in the first bitrate path, and

a bitrate switching cost based on the bitrates of sequential segments in the first bitrate path.

12 . The method of claim 11 , wherein the QoE score is based in part on an estimated bandwidth available to download video fragments and a predetermined bandwidth error factor.

13 . A system, comprising one or more processors and one or more memories configured for:

receiving information identifying a set of video fragments for each segment of a media presentation, each set of the video fragments comprising different bitrate versions of the corresponding segment of the media presentation;

determining a plurality of bitrate paths in a window of segments, the window comprising segments of the media presentation including a first segment, wherein each bitrate path of the plurality of bitrate paths is a monotonic trajectory of bitrates for segments in the window,

determining a quality of experience (QoE) score for each bitrate path,

identifying a first bitrate path of the plurality of bitrate paths as having the highest QoE, and

requesting a first video fragment of the media presentation at a first bitrate, the first video fragment corresponding to the first segment, wherein the first bitrate corresponds to the bitrate of the first segment in the first bitrate path.

14 . The system of claim 13 , wherein the information identifying the set of video fragments is part of a manifest.

15 . The system of claim 13 , wherein the video fragments represent a live event, linear playout, or video on demand (VOD).

16 . The system of claim 13 , wherein the size of the window is two to ten segments.

17 . The system of claim 13 , wherein each bitrate in the plurality of bitrate paths is within a predetermined number of bitrate levels of the bitrate level of the video fragment prior to the segment.

18 . The system of claim 17 , wherein the predetermined number is two to eight bitrate levels.

19 . The system of claim 13 , further comprising determining a QoE score for the first bitrate path based on:

a utility of the first bitrate path based on the bitrates for each segment in the first bitrate path,

a rebuffering cost of the first bitrate path based on a buffer level of the buffer after downloading segments in the first bitrate path and the bitrate of segments in the first bitrate path, and

a bitrate switching cost based on the bitrates of sequential segments in the first bitrate path.

20 . The system of claim 19 , wherein the QoE score is based in part on a predicted bandwidth available to download video fragments and a predetermined bandwidth error factor.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 23, 2025
From: WU, YONGJUN; CHEN, TIANYU; AKHTAR, ZAHAIB; RAMALINGAM, SATHEESH; PADMANABHAN, MOHAN
To: AMAZON TECHNOLOGIES, INC.
Reel/Frame 071812/0631 →
References Cited (40)
US 6285661B1 · Zhu · 2001 [cited by examiner]
US 6614763B1 · Kikuchi · 2003 [cited by examiner]
US 7295673B2 · Grab et al. · 2007 [cited by applicant]
US 8832297B2 · Soroushian et al. · 2014 [cited by applicant]
US 9854020B1 · Kum · 2017 [cited by examiner]
US 10225588B2 · Kiefer et al. · 2019 [cited by applicant]
US 11050808B2 · Osborne · 2021 [cited by applicant]
US 11102553B2 · Chan et al. · 2021 [cited by applicant]
US 12003564B1 · Waggoner · 2024 [cited by examiner]
US 20130286879A1 · ElArabawy · 2013 [cited by examiner]
US 20140201324A1 · Zhang · 2014 [cited by examiner]
US 20150026358A1 · Zhang · 2015 [cited by examiner]
US 20160050246A1 · Liao · 2016 [cited by examiner]
US 20160142510A1 · Westphal · 2016 [cited by examiner]
US 20170026713A1 · Yin · 2017 [cited by examiner]
US 20170310723A1 · Furtwangler · 2017 [cited by examiner]
US 20180041788A1 · Wang · 2018 [cited by examiner]
US 20180302456A1 · Katsavounidis · 2018 [cited by examiner]
US 20190158564A1 · Wang · 2019 [cited by examiner]
US 20190222491A1 · Tomkins · 2019 [cited by examiner]
US 20190334803A1 · Ickin · 2019 [cited by examiner]
US 20200036766A1 · Mahvash · 2020 [cited by examiner]
US 20200099733A1 · Chu · 2020 [cited by examiner]
US 20200236372A1 · Reznik · 2020 [cited by examiner]
US 20200252663A1 · Giladi · 2020 [cited by examiner]
US 20210037276A1 · Giladi · 2021 [cited by examiner]
US 20210288898A1 · Shen · 2021 [cited by examiner]
US 20230069178A1 · Sen · 2023 [cited by examiner]
US 20240098247A1 · Menon · 2024 [cited by examiner]
US 20240163511A1 · Lee · 2024 [cited by examiner]
CA 2953422C · 2021 [cited by examiner]
Akhtar, Z., et al., “Oboe: Auto-tuning Video ABR Algorithms to Network Conditions,” SIGCOMM, 2018, pp. 1-15. [cited by applicant]
Lin, Y., “Decentralized Online Convex Optimization in Networked Systems,” arXiv, 2022, pp. 1-43. [cited by applicant]
Lin, Y., et al., “Bounded-Regret MPC via Perturbation Analysis: Prediction Error, Constraints, and Nonlinearity,” arXiv, 2022, pp. 1-32. [cited by applicant]
Lin, Y., et al., “Perturbation-based Regret Analysis of Predictive Control in Linear Time Varying Systems,” arXiv, 2021, pp. 1-34. [cited by applicant]
Mao, H., et al., “Neural Adaptive Video Streaming with Pensieve,” SIGCOMM, 2017, pp. 1-14. [cited by applicant]
Mao, H., et al., “Real-world Video Adaptation with Reinforcement Learning,” arXiv, 2020, pp. 1-10. [cited by applicant]
Spiteri, K., et al., “BOLA: Near-Optimal Bitrate Adaptation for Online Videos,” arXiv, 2020, pp. 1-15. [cited by applicant]
Yeo, H., et al., “Neural Adaptive Content-aware Internet Video Delivery,” 13th USENIX Symposium on Operating Systems Design and Implementation, USENIX Association, 2018, pp. 645-661. [cited by applicant]
Yin, X., et al., “A Control-Theoretic Approach for Dynamic Adaptive Video Streaming over HTTP,” SIGCOMM, 2015, 325-338. [cited by applicant]