Techniques for optimizing bitrates and resolutions during encoding

US10404986B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10404986-B2
Application numberUS-201514673621-A
CountryUS
Kind codeB2
Filing dateMar 30, 2015
Priority dateMar 30, 2015
Publication dateSep 3, 2019
Grant dateSep 3, 2019

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

In one embodiment of the present invention, an encoding bitrate ladder selector tailors bitrate ladders to the complexity of source data. Upon receiving source data, a complexity analyzer configures an encoder to repeatedly encode the source data-setting a constant quantization parameter to a different value for each encode. The complexity analyzer processes the encoding results to determine an equation that relates a visual quality metric to an encoding bitrate. The bucketing unit solves this equation to estimate a bucketing bitrate at a predetermined value of the visual quality metric. Based on the bucketing bitrate, the bucketing unit assigns the source data to a complexity bucket having an associated, predetermined bitrate ladder. Advantageously, sagaciously selecting the bitrate ladder enables encoding that optimally reflects tradeoffs between quality and resources (e.g., storage and bandwidth) across a variety of source data types instead of a single, “typical” source data type.

First claim

Opening claim text (preview).

What is claimed is: 1. A computer-implemented method for selecting a bitrate ladder for encoding source data, the method comprising: selecting a set of parameter values for a quantization parameter; for each parameter value, performing an encoding process that configures an encoder to encode source data to generate a set of encoded data while maintaining the quantization parameter at the parameter value; for each set of encoded data, determining a value of a video quality metric and a corresponding bitrate; deriving a relationship between the video quality metrics and the corresponding bitrates; determining, based on the relationship, a bucketing bitrate corresponding to a first video quality metric, wherein the first video quality metric is equal to a predetermined threshold; determining that the bucketing bitrate falls within a bitrate range associated with a first bitrate ladder included in a plurality of bitrate ladders, wherein each bitrate ladder included in the plurality of bitrate ladders is associated with a different bitrate range and includes a different plurality of bitrate-resolution pairs; selecting the first bitrate ladder for encoding the source data based on the bucketing bitrate falling within the bitrate range. 2. The computer-implemented method of claim 1 , wherein configuring the encoder to encode source data while maintaining the quantization parameter at a given parameter value comprises setting an amount of signal detail to include in the encoded data. 3. The computer-implemented method of claim 1 , wherein selecting the set of parameter values comprises selecting an amount of signal detail that satisfies both an accuracy constraint and a complexity constraint. 4. The computer-implemented method of claim 1 , wherein determining the value of a video quality metric comprises identifying a peak signal-to-noise rate. 5. The computer-implemented method of claim 1 , wherein determining the value of a video quality metric comprises calculating a picture quality rating. 6. The computer-implemented method of claim 1 , wherein determining a corresponding bitrate for a set of encoded data comprises performing a division operation based on a size associated with the set of encoded data and an amount of time associated with the play-out duration of the set of encoded data. 7. The computer-implemented method of claim 1 , wherein the relationship is a curve, and deriving the relationship comprises applying one or more curve fitting operations to the set of encoded data. 8. The computer-implemented method of claim 1 , further comprising, prior to configuring the encoder, extracting a plurality of samples from the source data, wherein the encoder generates the sets of encoded data based on signal detail associated with the plurality of samples. 9. A non-transitory computer-readable storage medium including instructions that, when executed by a processing unit, cause the processing unit to select a bitrate ladder for encoding source data by performing the steps of: selecting a set of parameter values for a quantization parameter; for each parameter value, performing an encoding process that configures an encoder to encode source data to generate a set of encoded data while maintaining the quantization parameter at the parameter value; for each set of encoded data, determining a value of a video quality metric and a corresponding bitrate; deriving a relationship between the video quality metrics and the corresponding bitrates; determining, based on the relationship, a bucketing bitrate corresponding to a first video quality metric, wherein the first video quality metric is equal to a predetermined threshold; determining that the bucketing bitrate falls within a bitrate range associated with a first bitrate ladder included in a plurality of bitrate ladders, wherein each bitrate ladder included in the plurality of bitrate ladders is associated with a different bitrate range and includes a different plurality of bitrate-resolution pairs; selecting the first bitrate ladder for encoding the source data based on the bucketing bitrate falling within the bitrate range. 10. The non-transitory computer-readable storage medium of claim 9 , wherein configuring the encoder to encode source data while maintaining the quantization parameter at a given parameter value comprises setting an amount of signal detail to include in the encoded data. 11. The non-transitory computer-readable storage medium of claim 9 , further comprising, prior to configuring the encoder, setting the predetermined threshold to correspond to a maximum acceptable amount of distortion. 12. The non-transitory computer-readable storage medium of claim 9 , wherein determining the value of a video quality metric comprises identifying a peak signal-to-noise rate. 13. The non-transitory computer-readable storage medium of claim 9 , wherein determining the value of a video quality metric comprises performing one or more read operations on the log file generated by the encoder. 14. The non-transitory computer-readable storage medium of claim 9 , wherein determining a corresponding bitrate for a set of encoded data comprises performing one or more read operations on the log file generated by the encoder. 15. The non-transitory computer-readable storage medium of claim 9 , wherein the relationship is an equation. 16. The non-transitory computer-readable storage medium of claim 9 , further comprising, prior to configuring the encoder, extracting a plurality of clips from the source data, wherein the encoder generates the sets of encoded data based on signal detail associated with the plurality of clips and each clip represents a predetermined length of time. 17. A system configured select a bitrate ladder for encoding source data, the system comprising: a memory storing instructions; a processor executing the instructions to: select a set of parameter values for a quantization parameter; for each parameter value, performing an encoding process that configures an encoder to encode source data to generate a set of encoded data while maintaining the quantization parameter at the parameter value; for each set of encoded data, determining a value of a video quality metric and a corresponding bitrate; derive a relationship between the video quality metrics and the corresponding bitrates; determine, based on the relationship, a bucketing bitrate corresponding to a first video quality metric, wherein the first video quality metric is equal to a predetermined threshold; determine that the bucketing bitrate falls within a bitrate range associated with a first bitrate ladder included in a plurality of bitrate ladders, wherein each bitrate ladder included in the plurality of bitrate ladders is associated with a different bitrate range and includes a different plurality of bitrate-resolution pairs; select the first bitrate ladder for encoding the source data based on the bucketing bitrate falling within the bitrate range. 18. The system of claim 17 , wherein configuring the encoder to encode source data while maintaining the quantization parameter at a given parameter value comprises setting an amount of signal detail to include in the encoded data.

Assignees

Inventors

Classifications

  • involving operations for analysing video streams, e.g. detecting features or characteristics (television picture signal circuitry for scene change detection H04N5/147; filtering for image enhancement G06T5/00; methods or arrangements for recognising scenes G06V20/00; arrangements characterised by components specially adapted for monitoring, identification or recognition of video in broadcast systems H04H60/59) · CPC title

  • for generating different versions · CPC title

  • H04N19/146Primary

    Data rate or code amount at the encoder output · CPC title

  • Quantisation · CPC title

  • Measured or subjectively estimated visual quality after decoding, e.g. measurement of distortion (use of rate-distortion criteria H04N19/147) · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10404986B2 cover?
In one embodiment of the present invention, an encoding bitrate ladder selector tailors bitrate ladders to the complexity of source data. Upon receiving source data, a complexity analyzer configures an encoder to repeatedly encode the source data-setting a constant quantization parameter to a different value for each encode. The complexity analyzer processes the encoding results to determine an…
Who is the assignee on this patent?
Netflix Inc
What technology area does this patent fall under?
Primary CPC classification H04N21/23418. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Sep 03 2019 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).