Techniques for identifying errors introduced during encoding

US10674180B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10674180-B2
Application numberUS-201514622771-A
CountryUS
Kind codeB2
Filing dateFeb 13, 2015
Priority dateFeb 13, 2015
Publication dateJun 2, 2020
Grant dateJun 2, 2020

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 encode validator identifies and classifies errors introduced during the parallel chunk-based translation of a source to a corresponding aggregate encode. In operation, upon receiving a source for encoding, a frame difference generator creates a frame difference file for the source. A parallel encoder then distributes per-chunk encoding operations across machines and creates an aggregate encode. The encode validator decodes the aggregate encode and creates a corresponding frame difference file. Subsequently, the encode validator performs phase correlation operations between the two frame difference files to detect errors generated by encoding process faults (i.e., dropping a frame, etc.) while suppressing discrepancies inherent in encoding, such as those attributable to low bit-rate encoding. Advantageously, since the encode validator leverages frame difference files, this indirect verification technique enables efficient debugging of parallel encoding processes in which the complete source is unavailable for post-encode analysis.

First claim

Opening claim text (preview).

What is claimed is: 1. A computer-implemented method for identifying errors introduced during encoding, the method comprising: receiving frame difference data derived from source data by determining, for each source frame included in a plurality of source frames of the source data, a difference between a characteristic of the source frame and a characteristic of an adjacent source frame that resides adjacent to the source frame in the plurality of source frames; receiving frame difference data derived from aggregate decoded data by determining, for each decoded frame included in a plurality of decoded frames of the aggregate decoded data, a difference between a characteristic of the decoded frame and a characteristic of an adjacent decoded frame that resides adjacent to the decoded frame in the plurality of decoded frames, wherein the plurality of source frames of the source data corresponds to the plurality of decoded frames of the aggregate decoded data, wherein the aggregate decoded data is generated by decoding aggregate encoded data that is derived from the source data by separately encoding a plurality of chunks of the source data to generate a plurality of encoded chunks of the source data and combining the plurality of encoded chunks of the source data, and wherein each chunk included in the plurality of chunks of the source data is encoded by a separate compute instance included in a plurality of compute instances; comparing the frame difference data derived from the source data and the frame difference data derived from the aggregate decoded data to generate a first comparison; detecting that an error condition occurred while encoding one or more encoded chunks of the source data included in the plurality of encoded chunks of the source data based on the first comparison; and debugging, based on the error condition, an encoding process performed to generate the one or more encoded chunks of source data by one or more compute instances included in the plurality of compute instances. 2. The computer-implemented method of claim 1 , wherein detecting that the error condition occurred comprises: determining (1) a first total number of source frames associated with the frame difference data derived from the source data, and (2) a second total number of decoded frames associated with the frame difference data derived from the aggregate decoded data, and determining that the first total number of source frames differs from the second total number of decoded frames by more than a predetermined threshold. 3. The computer-implemented method of claim 1 , wherein the comparing comprises: partitioning the frame difference data derived from the source data and the frame difference data derived from the decoded aggregate encode into a plurality of blocks, wherein each block in the plurality of blocks includes a subset of frame difference data derived from the source data and a corresponding subset of frame difference data derived from the decoded aggregate encoded data; and for each block, comparing the frame difference data derived from the source data to the frame difference data derived from the decoded aggregate encoded data to determine a phase correlation value for the block. 4. The computer-implemented method of claim 3 , wherein detecting that the error condition occurred comprises: identifying a first number of blocks, wherein each block included in the first number of blocks has a phase correlation value less than a first predetermined threshold; and determining that the first number of blocks is greater than a second predetermined threshold. 5. The computer-implemented method of claim 3 , wherein detecting that the error condition occurred comprises: for a first block, performing a phase shift operation on the frame difference data derived from the source data; for the first block, comparing the shifted frame difference data derived from the source data to the corresponding frame difference data derived from the decoded aggregate encoded data to determine a shifted phase correlation value; and determining that the shifted phase correlation value is greater than a phase correlation value for the first block by at least a first predetermined amount. 6. The computer-implemented method of claim 3 , wherein detecting that the error condition occurred comprises: identifying a scene cut based on the phase correlation values; identifying a first number of blocks, wherein each block included in the first number of blocks does not immediately precede the scene cut and has a phase correlation value less than a first predetermined threshold; and determining that the first number of blocks is greater than a second predetermined threshold. 7. The computer-implemented method of claim 3 , wherein detecting that the error condition occurred comprises: identifying a first block having a phase correlation value less than a first predetermined threshold; and determining that the encoding bit-rate of the aggregate encoded data is greater than a second predetermined threshold. 8. The computer-implemented method of claim 3 , wherein detecting that the error condition occurred comprises: identifying a set of low correlation blocks, wherein each block included in the set of low correlation blocks has a phase correlation value less than a first predetermined threshold; determining a distribution based on phase correlation values for the set of low correlation blocks; computing a confidence zone based on the distribution; identifying a first number of blocks, wherein each block included in the first number of blocks is included in the set of low correlation blocks and has a phase correlation value that is outside the confidence zone; and determining that the first number of blocks is greater than a second predetermined threshold. 9. The computer-implemented method of claim 8 , wherein identifying a first block that has a phase correlation value that is outside the confidence zone comprises applying the Grubbs test to the distribution. 10. One or more non-transitory computer-readable storage media including instructions that, when executed by one or more processing units, cause the one or more processing units to identify errors introduced during encoding by performing the steps of: receiving frame difference data derived from source data by determining, for each source frame included in a plurality of source frames of the source data, a difference between a characteristic of the source frame and a characteristic of an adjacent source frame that resides adjacent to the source frame in the plurality of source frames; receiving frame difference data derived from aggregate decoded data by determining, for each decoded frame included in a plurality of decoded frames of the aggregate decoded data, a difference between a characteristic of the decoded frame and a characteristic of an adjacent decoded frame that resides adjacent to the decoded frame in the plurality of decoded frames, wherein the plurality of source frames of the source data corresponds to the plurality of decoded frames of the aggregate decoded data, wherein the aggregate decoded data is generated by decoding aggregate encoded data that is derived from the source data by separately encoding a plurality of chunks of the source data to generate a plurality of encoded chunks of the source data and combining the plurality of encoded chunks of the source data, and wherein each chunk included in the plurality of chunks of the source data is encoded by a separate compute instance included in a plurality of compute instances; comparing the frame difference data derived from the source data and the frame difference data derived from the aggregate decoded data to

Assignees

Inventors

Classifications

  • H04N17/004Primary

    for digital television systems · CPC title

  • H04N19/65Primary

    using error resilience · CPC title

  • the region being a block, e.g. a macroblock · CPC title

  • H04N17/00Primary

    Diagnosis, testing or measuring for television systems or their details · 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 US10674180B2 cover?
In one embodiment of the present invention, an encode validator identifies and classifies errors introduced during the parallel chunk-based translation of a source to a corresponding aggregate encode. In operation, upon receiving a source for encoding, a frame difference generator creates a frame difference file for the source. A parallel encoder then distributes per-chunk encoding operations a…
Who is the assignee on this patent?
Netflix Inc
What technology area does this patent fall under?
Primary CPC classification H04N17/004. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Jun 02 2020 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).