US 12,470,771 B1
Adaptive video streaming algorithm for optimized model predictive control
Zahaib Akhtar, San Jose, CA (US); Satheesh Ramalingam, Sammamish, WA (US); Mohan Padmanabhan, Sammamish, WA (US); Yongjun Wu, Bellevue, WA (US); and Tianyu Chen, Amherst, MA (US)
Assigned to Amazon Technologies, Inc., Seattle, WA (US)
Filed by Amazon Technologies, Inc., Seattle, WA (US)
Filed on Dec. 8, 2023, as Appl. No. 18/534,334.
Int. Cl. H04N 21/462 (2011.01); H04N 21/2187 (2011.01); H04N 21/44 (2011.01); H04N 21/4402 (2011.01); H04N 21/442 (2011.01)
CPC H04N 21/4621 (2013.01) [H04N 21/2187 (2013.01); H04N 21/44008 (2013.01); H04N 21/440263 (2013.01); H04N 21/44209 (2013.01)] 20 Claims
OG exemplary drawing
 
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.