Synchronizing encoding between encoders
AssigneeAmazon Technologies, Inc.
InventorsKent Haakan Karlsson, Gaurav Saxena
Life of this patent
Estimating the term…
Abstract
Techniques are described for synchronizing encoding processes between encoders. Timestamps are compared between encoders such that offsets can be determined and used by encoders to encode fragments for the same segments of media content.
Claims21
A system, comprising one or more processors and memory configured to:
- receive a request to encode media content;
- generate, by a first encoder, a plurality of fingerprints corresponding to a portion of the media content, the portion of the media content being associated with a first timestamp;
- generate, by the first encoder, a synchronization pattern based on the fingerprints;
- provide the synchronization pattern to a second encoder;
- receive a second timestamp associated with the portion of the media content from a second encoder;
- determine, by the first encoder, a first offset based on the first timestamp and the second timestamp;
- encode, by the first encoder, a fragment corresponding to a segment the media content using the first offset;
- generate, by the first encoder, a new synchronization pattern based on additional fingerprints associated with a third timestamp;
- provide the new synchronization pattern to the second encoder;
- receive a fourth timestamp from the second encoder;
- determine, by the first encoder, a second offset based on the third timestamp and the fourth timestamp;
- determine, by the first encoder, that the second offset is different from the first offset;
- and
- encode, by the first encoder, an additional fragment using the second offset.
A method, comprising:
- receiving a request to encode media content;
- generating, by a first encoder, a plurality of fingerprints corresponding to a portion of the media content, the portion of the media content being associated with a first timestamp;
- generating, by the first encoder, a synchronization pattern based on the fingerprints;
- providing the synchronization pattern to a second encoder;
- receiving a second timestamp associated with the portion of the media content from a second encoder;
- determining, by the first encoder, a first offset based on the first timestamp and the second timestamp;
- encoding, by the first encoder, a fragment corresponding to a segment the media content using the first offset;
- generating, by the first encoder, a new synchronization pattern based on additional fingerprints associated with a third timestamp;
- providing the new synchronization pattern to the second encoder;
- receiving a fourth timestamp from the second encoder;
- determining, by the first encoder, a second offset based on the third timestamp and the fourth timestamp;
- determining, by the first encoder, that the second offset is different from the first offset;
- and
- encoding, by the first encoder, an additional fragment using the second offset.
A computer program product, comprising one or more non-transitory computer-readable media having computer program instructions stored therein, the computer program instructions being configured such that, when executed by one or more computing devices, the computer program instructions cause the one or more computing devices to:
- receive a request to encode media content;
- generate, by a first encoder, a plurality of fingerprints corresponding to a portion of the media content, the portion of the media content being associated with a first timestamp;
- generate, by the first encoder, a synchronization pattern based on the fingerprints;
- provide the synchronization pattern to a second encoder;
- receive a second timestamp associated with the portion of the media content from a second encoder;
- determine, by the first encoder, a first offset based on the first timestamp and the second timestamp;
- encode, by the first encoder, a fragment corresponding to a segment the media content using the first offset;
- generate, by the first encoder, a new synchronization pattern based on additional fingerprints associated with a third timestamp;
- provide the new synchronization pattern to the second encoder;
- receive a fourth timestamp from the second encoder;
- determine, by the first encoder, a second offset based on the third timestamp and the fourth timestamp;
- determine, by the first encoder, that the second offset is different from the first offset;
- and
- encode, by the first encoder, an additional fragment using the second offset.
Dependencies are inferred from the claim text.