Systems and Methods for Frame Duplication and Frame Extension in Live Video Encoding and Streaming
AssigneeSonic IP, Inc.
InventorsYuri Bulava, Pavel Potapov
Life of this patent
Estimating the term…
Abstract
Embodiments of the invention provide for live encoding systems that can replicate a current encoded frame instead of re-encoding said current frame, and then adjust the replicated frame to different bitrates, resolutions, and/or contexts as necessary for the several different adaptive bitrate streams. In addition, various embodiments of the invention can extend a duration of a current frame being repackaged and/or re-encoded. Utilizing these and other techniques, live encoding systems in accordance with embodiments of the invention can more efficiently handle gaps in received data, slower feeding of data, and/or heavy loads on server hardware.
Claims20
A method of encoding an input stream into a plurality of adaptive bitrate streams using a live encoding system, the method comprising:
- receiving an input stream using a live encoding system;
- assessing encoding conditions using the live encoding system;
- encoding a given segment of the input stream into a plurality of adaptive bitrate segments using the live encoding system, wherein encoding the given segment of the input stream into the plurality of adaptive bitrate segments comprises:
- extending at least one frame from the given segment of the input stream and using the extended at least one frame from the segment of the input stream in at least one of the plurality of adaptive bitrate segments when the assessed encoding conditions satisfy a first threshold;
- replicating at least one frame from the given segment of the input stream and using the replicated at least one frame from the segment of the input stream in at least one of the plurality of adaptive bitrate segments when the assessed encoding conditions satisfy a second threshold;
- and
- encoding frames of the given segment of the input stream into the plurality of adaptive bitrate segments using the live encoding system when the assessed encoding conditions do not satisfy either the first threshold or the second threshold.
A live encoding system, the live encoding system comprising:
- at least one processing unit;
- a memory storing a live encoding application comprising computer instructions, wherein the live encoding application instructs the at least one processing unit to:
- receive an input stream;
- assess encoding conditions;
- encode a given segment of the input stream into a plurality of adaptive bitrate segments, wherein the instructions to encode the given segment of the input stream into the plurality of adaptive bitrate segments further comprise instructions to:
- extend at least one frame from the given segment of the input stream and using the extended at least one frame from the segment of the input stream in at least one of the plurality of adaptive bitrate segments when the assessed encoding conditions satisfy a first threshold;
- replicate at least one frame from the given segment of the input stream and using the replicated at least one frame from the segment of the input stream in at least one of the plurality of adaptive bitrate segments when the assessed encoding conditions satisfy a second threshold;
- and
- encode frames of the given segment of the input stream into the plurality of adaptive bitrate segments when the assessed encoding conditions do not satisfy either the first threshold or the second threshold.
Dependencies are inferred from the claim text.