Back to results
US 10,897,654 B1Granted
Content delivery of live streams with event-adaptive encoding
AssigneeAmazon Technologies, Inc.
InventorsHai Wei, Yongjun Wu, Abhishek Kumar, Lei Li, Amarsingh B. Winston
Life of this patent
Estimating the term…
Abstract
Techniques are described for optimizing event-adaptive live video encoding profiles.
Claims20
A method, comprising:
- selecting a subset of a plurality of encoding profiles, each encoding profile including a unique set of values for a set of encoding parameters, the selected encoding profiles representing optimal coverage of a first bit rate-quality data space that encompasses all of the sets of values of encoding parameters represented by the plurality of encoding profiles;
- selecting previously-live video presentations, the previously-live video presentations comprising videos of a given category of live content, wherein the previously-live video presentations are a subset of less than all the video presentations in a collection of previously-live video content;
- selecting, from each of the previously-live video presentations, representative segments;
- encoding each of the representative segments using each of the plurality of encoding profiles, thereby generating a plurality of encoded video segments;
- determining values for a plurality of attributes for each of the plurality of encoded video segments, the plurality of attributes including a video quality attribute, a bit rate attribute, and an encoding runtime attribute;
- identifying a first subset of the first plurality of encoded video segments based on a first plurality of constraints, the first plurality of constraints including a minimum video quality constraint, a maximum bit rate constraint, and a maximum encoding runtime constraint;
- identifying a plurality of segment-optimized encoding ladders, each segment-optimized encoding ladder being optimized for a respective one of the representative segments, wherein identifying the plurality of segment-optimized encoding ladders comprises identifying a second subset of the first subset of the plurality of encoded video segments based on a second constraint, the second constraint corresponding to a combination of the video quality attribute, the bit rate attribute, and the encoding runtime attribute;
- selecting, from the plurality of segment-optimized encoding ladders, a first segment-optimized encoding ladder;
- and
- encoding, in real-time, future live events of the given category of live content using the first segment-optimized encoding ladder.
7 more elements
A method, comprising:
- selecting previously-live video presentations characterized by a set of characteristics;
- encoding each of the previously-live video presentations using each of a plurality of encoding profiles thereby generating a set of encoded video presentations for each of the previously-live video presentations;
- determining values for each of a plurality of attributes for each of the encoded video presentations, the plurality of attributes including a quality attribute, a bit rate attribute, and an encoding runtime attribute, the plurality of attributes defining a multi-dimensional space;
- identifying an encoding ladder for each set of encoded video presentations by identifying a subset of the set of encoded video presentations based on a constraint within the multi-dimensional space, the constraint being based on the quality attribute, the bit rate attribute, and the encoding runtime attribute;
- selecting a first encoding ladder from among the encoding ladders, the first encoding ladder best meeting the constraint for all of the sets of encoded video presentations;
- and
- encoding live content characterized by the set of characteristics using the first encoding ladder.
4 more elements
A system, comprising
- one or more processors and memory configured to:
- select a subset of a plurality of encoding profiles, each encoding profile including a unique set of values for a set of encoding parameters, the selected encoding profiles representing a first bit rate-quality data space that encompasses all of the sets of values of encoding parameters represented by the plurality of encoding profiles;
- select previously-live video presentations of a shared content category, wherein the previously-live video presentations are a subset of less than all the video presentations in a collection of previously-live video content;
- encode at least a portion of each of the previously-live video presentations using each of the plurality of encoding profiles, thereby generating a plurality of encoded video segments;
- determine values for a plurality of attributes for each of the plurality of encoded video segments, the plurality of attributes including a video quality attribute and a bit rate attribute;
- identify a first subset of the first plurality of encoded video segments based on a first plurality of constraints, the first plurality of constraints including a minimum video quality constraint and a maximum bit rate constraint;
- identify a plurality of encoding ladders, wherein identifying the plurality of encoding ladders comprises identifying a second subset of the first subset of the plurality of encoded video segments based on a second constraint, the second constraint corresponding to a combination of the video quality attribute and the bit rate attribute;
- select, from the plurality of encoding ladders, a first encoding ladder;
- and
- encode, in real-time, future live events of the shared content category of live content using the first encoding ladder.
7 more elements
Dependencies are inferred from the claim text.