US 11,729,438 B1
Optimizing streaming video encoding profiles
Vishal Jain, Rohtak (IN); Deepthi Nandakumar, Bengaluru (IN); Sriram Sethuraman, Bangalore (IN); and Sandesh Ghanta, Visakhapatnam (IN)
Assigned to Amazon Technologies, Inc., Seattle, WA (US)
Filed by Amazon Technologies, Inc., Seattle, WA (US)
Filed on Jan. 28, 2021, as Appl. No. 17/248,544.
Int. Cl. H04N 21/2343 (2011.01); H04N 21/25 (2011.01); H04N 21/845 (2011.01); H04N 21/442 (2011.01); H04N 21/44 (2011.01); H04N 21/24 (2011.01); H04N 21/4425 (2011.01); H04N 21/266 (2011.01)
CPC H04N 21/2343 (2013.01) [H04N 21/2402 (2013.01); H04N 21/251 (2013.01); H04N 21/26616 (2013.01); H04N 21/442 (2013.01); H04N 21/44008 (2013.01); H04N 21/4424 (2013.01); H04N 21/4425 (2013.01); H04N 21/44209 (2013.01); H04N 21/8456 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A method, comprising:
(a) obtaining a plurality of video clips;
(b) encoding each video clip in the plurality of video clips with a plurality of encoding profiles, each encoding profile including a unique set of values for a set of encoding parameters;
(c) identifying a plurality of clip-optimized encoding profiles, wherein each clip-optimized encoding profile is selected based on a plurality of constraints and is associated with a respective one of the video clips;
(d) initializing a plurality of clusters by designating, for each cluster, a respective one of the clip-optimized encoding profiles as a centroid encoding profile for that cluster; and
(e) assigning each video clip of the plurality of video clips to a respective one of the initialized clusters by, for each video clip of the plurality of video clips:
determining an area-under-the-curve associated with a first curve, and an area-under-the-curve associated with a plurality of additional curves that are different from the first curve, the areas-under-the-curve each comprising a metric of quality as a function of bitrate;
measuring differences between the area-under-the-curve associated with the first curve and the area-under-the-curve associated with the plurality of additional curves, wherein the first curve is associated with encoding that video clip with its associated clip-optimized encoding profile and wherein each of the additional curves is associated with encoding that video clip with a respective one of the designated centroid encoding profiles; and
assigning the video clip to the cluster whose designated centroid encoding profile was associated with the additional curve with the smallest measured difference in area-under-the-curve relative to the first curve.