Resolution-based manifest generator for adaptive bitrate video streaming
US-11115697-B1 · Sep 7, 2021 · US
US12010369B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-12010369-B2 |
| Application number | US-202318162698-A |
| Country | US |
| Kind code | B2 |
| Filing date | Jan 31, 2023 |
| Priority date | Jun 25, 2020 |
| Publication date | Jun 11, 2024 |
| Grant date | Jun 11, 2024 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
Embodiments provide for improved stream generation. A first encoded segment is generated by encoding a first segment, of a plurality of segments in a media asset, using a first bitrate of a plurality of bitrates specified in an encoding ladder. A second encoded segment is generated by encoding the first segment using a second bitrate, where the second bitrate is lower than the first bitrate. Upon receiving a request for the first segment at the first bitrate, the second encoded segment is output based at least in part on determining that a first quality of the second encoded segment is within a tolerance of a second quality of the first encoded segment.
Opening claim text (preview).
What is claimed is: 1. A method, comprising: generating a first encoded segment by encoding a first segment, of a plurality of segments in a media asset, using a first bitrate of a plurality of bitrates specified in an encoding ladder; generating a second encoded segment by encoding the first segment using a second bitrate, wherein the second bitrate is lower than the first bitrate; and upon receiving a request for the first segment at the first bitrate, outputting the second encoded segment based at least in part on determining that a first quality of the second encoded segment is within a tolerance of a second quality of the first encoded segment. 2. The method of claim 1 , the method further comprising: selecting, for the first segment at the second bitrate, the second encoded segment; and upon determining that the second encoded segment is used for both the first segment at the first bitrate and the first segment at the second bitrate: storing a shared copy of the second encoded segment; and associating the first segment at the first bitrate and the first segment at the second bitrate with the shared copy of the second encoded segment. 3. The method of claim 1 , the method further comprising: selecting, for the first bitrate, a first sequence of output segments for the plurality of segments; selecting, for the second bitrate, a second sequence of output segments for the plurality of segments; and upon determining that the first sequence of output segments is within a threshold difference from the second sequence of output segments, eliminating either the first bitrate or the second bitrate. 4. The method of claim 1 , wherein the first quality of the second encoded segment is generated by evaluating the second encoded segment using one or more objective quality algorithms configured to evaluate visual quality of the second encoded segment. 5. The method of claim 1 , the method further comprising: determining, for the first segment at the first bitrate, a pool of potential segments comprising the first encoded segment and one or more additional encoded segments encoded at bitrates below the first bitrate; and selecting the second encoded segment for the first segment at the first bitrate by selecting a segment from the pool of potential segments. 6. The method of claim 5 , wherein selecting the segment from the pool of potential segments comprises: identifying a lowest bitrate segment in the pool of potential segments, wherein the lowest bitrate segment is associated with a quality within the tolerance of the second quality associated with the first encoded segment. 7. The method of claim 1 , the method further comprising: selecting, for the first bitrate, a sequence of output segments for the plurality of segments, wherein each output segment in the sequence of output segments is encoded at a bitrate that is equal to or lower than the first bitrate; and upon receiving a request for the media asset at the first bitrate, outputting the sequence of output segments. 8. The method of claim 1 , wherein the encoding ladder is a content-specific encoding ladder selected based on a type of the media asset. 9. One or more non-transitory computer-readable media collectively containing computer program code that, when executed by operation of one or more computer processors, performs an operation comprising: generating a first encoded segment by encoding a first segment, of a plurality of segments in a media asset, using a first bitrate of a plurality of bitrates specified in an encoding ladder; generating a second encoded segment by encoding the first segment using a second bitrate, wherein the second bitrate is lower than the first bitrate; and upon receiving a request for the first segment at the first bitrate, outputting the second encoded segment based at least in part on determining that a first quality of the second encoded segment is within a tolerance of a second quality of the first encoded segment. 10. The one or more non-transitory computer-readable media of claim 9 , the operation further comprising: selecting, for the first segment at the second bitrate, the second encoded segment; and upon determining that the second encoded segment is used for both the first segment at the first bitrate and the first segment at the second bitrate: storing a shared copy of the second encoded segment; and associating the first segment at the first bitrate and the first segment at the second bitrate with the shared copy of the second encoded segment. 11. The one or more non-transitory computer-readable media of claim 9 , the operation further comprising: selecting, for the first bitrate, a first sequence of output segments for the plurality of segments; selecting, for the second bitrate, a second sequence of output segments for the plurality of segments; and upon determining that the first sequence of output segments is within a threshold difference from the second sequence of output segments, eliminating either the first bitrate or the second bitrate. 12. The one or more non-transitory computer-readable media of claim 9 , the operation further comprising: determining, for the first segment at the first bitrate, a pool of potential segments comprising the first encoded segment and one or more additional encoded segments encoded at bitrates below the first bitrate; and selecting the second encoded segment for the first segment at the first bitrate by selecting a segment from the pool of potential segments. 13. The one or more non-transitory computer-readable media of claim 12 , wherein selecting the segment from the pool of potential segments comprises: identifying a lowest bitrate segment in the pool of potential segments, wherein the lowest bitrate segment is associated with a quality within the tolerance of the second quality associated with the first encoded segment. 14. The one or more non-transitory computer-readable media of claim 9 , the operation further comprising: selecting, for the first bitrate, a sequence of output segments for the plurality of segments, wherein each output segment in the sequence of output segments is encoded at a bitrate that is equal to or lower than the first bitrate; and upon receiving a request for the media asset at the first bitrate, outputting the sequence of output segments. 15. A system, comprising: one or more computer processors; and one or more memories collectively containing a program which when executed by the one or more computer processors performs an operation, the operation comprising: generating a first encoded segment by encoding a first segment, of a plurality of segments in a media asset, using a first bitrate of a plurality of bitrates specified in an encoding ladder; generating a second encoded segment by encoding the first segment using a second bitrate, wherein the second bitrate is lower than the first bitrate; and upon receiving a request for the first segment at the first bitrate, outputting the second encoded segment based at least in part on determining that a first quality of the second encoded segment is within a tolerance of a second quality of the first encoded segment. 16. The system of claim 15 , the operation further comprising: selecting, for the first segment at the second bitrate, the second encoded segment; and upon determining that the second encoded segment is used for both the first segment at the first bitrate and the first segment at the second bitrate: storing a shared copy of the second encoded segment; and associating the first segment at the first bitrate and the first
Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities · CPC title
by decomposing the content in the time domain, e.g. in time segments · CPC title
Media network packetisation · CPC title
Responding to QoS · CPC title
using video transcoding, i.e. partial or full decoding of a coded input stream followed by re-encoding of the decoded output stream · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.