Parallel processing of video frames during video encoding

US11871018B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11871018-B2
Application numberUS-202117451964-A
CountryUS
Kind codeB2
Filing dateOct 22, 2021
Priority dateSep 2, 2021
Publication dateJan 9, 2024
Grant dateJan 9, 2024

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.

Disclosed are techniques for compressing data of an image. Intermediate pixels may be determined. Each location of the image may be associated with a block of a plurality of blocks of a first size and a block of a plurality of blocks of a second size. For each block of the first size and of the second size, a first cost for a first mode and a second cost for a second mode may be determined in parallel using the intermediate pixels. A final mode and a final block size may be selected for each location of the image using the first cost and the second cost for each of a respective block of the first size and a respective block of the second size associated with a corresponding location. Final pixels may be determined, and a representation of the image may be obtained based on the final pixels.

First claim

Opening claim text (preview).

What is claimed is: 1. A method for compressing data of an image, the method comprising: determining intermediate pixels; associating each location of the image with a block of a plurality of blocks of a first size and a block a plurality of blocks of a second size; determining, in parallel, using the intermediate pixels, for each block of the first size and for each block of the second size, a first cost for a first mode and a second cost for a second mode; selecting, for each location of the image, i) a final mode from at least the first mode and the second mode and ii) a final block size from at least the first size and the second size, using the first cost and the second cost for each of a respective block of the first size and a respective block of the second size associated with a corresponding location; determining final pixels based on the selected final mode and the selected final block size for each location of the image; and obtaining, based on the final pixels, a representation of the image. 2. The method of claim 1 , wherein determining the intermediate pixels comprises: partitioning the image into a plurality of blocks of a third size; processing, sequentially, each block of the third size, to determine a third cost for the first mode and a fourth cost for the second mode, wherein determining the third cost and the fourth cost uses a set of intermediate pixels obtained for a previously processed block; selecting, for each block of the third size, an intermediate mode based on a comparison of the third cost for the first mode and the fourth cost for the second mode; and obtaining, using the selected intermediate mode, a set of intermediate pixels for a corresponding block of the third size. 3. The method of claim 1 , wherein determining the intermediate pixels comprises: partitioning the image into a plurality of blocks of a third size; and selecting, for each of the blocks of the third size, a corresponding block of source pixels from the image. 4. The method of claim 1 , wherein determining the first cost for the first mode and the second cost for the second mode comprises, for each of the first mode and the second mode: generating a temporary block prediction based on a respective mode and a set of intermediate pixels; and calculating a cost of the respective mode based on a comparison of the temporary block prediction and a corresponding block of source pixels of the image. 5. The method of claim 1 , wherein determining the final pixels comprises, for each location of the image: generating an initial predicted block based on the selected final mode, the selected final block size, and a set of previously determined final pixels associated with one or more neighbor locations; and deriving a final pixel block by transforming the initial predicted block using a compression algorithm. 6. The method of claim 5 , wherein the compression algorithm is based on one of AV1, HEVC, VVC, or VP9 encoding standards. 7. The method of claim 1 , wherein the first mode is one of a plurality of intra-prediction modes and the second mode is an inter-prediction mode. 8. The method of claim 7 , wherein the inter-prediction mode approximates: the respective block of the first size with a first reference block of the first size in a first reference image; and the respective block of the second size with a second reference block of the second size in a second reference image. 9. A system comprising: a memory; and a processor, coupled to the memory, to perform operations comprising: determining intermediate pixels for an image; associating each location of the image with a block of a plurality of blocks of a first size and a block a plurality of blocks of a second size; determining, in parallel, using the intermediate pixels, for each block of the first size and for each block of the second size, a first cost for a first mode and a second cost for a second mode; selecting, for each location of the image, i) a final mode from at least the first mode and the second mode and ii) a final block size from at least the first size and the second size, using the first cost and the second cost for each of a respective block of the first size and a respective block of the second size associated with a corresponding location; determining final pixels based on the selected final mode and the selected final block size for each location of the image; and obtaining, based on the final pixels, a representation of the image. 10. The system of claim 9 , wherein determining the intermediate pixels comprises: partitioning the image into a plurality of blocks of a third size; processing, sequentially, each block of the third size, to determine a third cost for the first mode and a fourth cost for the second mode, wherein determining the third cost and the fourth cost uses a set of intermediate pixels obtained for a previously processed block; selecting, for each block of the third size, an intermediate mode based on a comparison of the third cost for the first mode and the fourth cost for the second mode; and obtaining, using the selected intermediate mode, a set of intermediate pixels for a corresponding block of the third size. 11. The system of claim 9 , wherein determining the first cost for the first mode and the second cost for the second mode comprises, for each of the first mode and the second mode: generating a temporary block prediction based on a respective mode and a set of intermediate pixels; and calculating a cost of the respective mode based on a comparison of the temporary block prediction and a corresponding block of source pixels of the image. 12. The system of claim 9 , wherein determining the final pixels comprises, for each location of the image: generating an initial predicted block based on the selected final mode, the selected final block size, and a set of previously determined final pixels associated with one or more neighbor locations; and deriving a final pixel block by transforming the initial predicted block using a compression algorithm. 13. The system of claim 12 , wherein the compression algorithm is based on one of AV1, HEVC, VVC, or VP9 encoding standards. 14. The system of claim 9 , wherein the first mode is one of a plurality of intra-prediction modes and the second mode is an inter-prediction mode. 15. A non-transitory computer-readable medium comprising instructions, which when executed by a processor cause the processor to perform operations comprising: determining intermediate pixels for an image; associating each location of the image with a block of a plurality of blocks of a first size and a block a plurality of blocks of a second size; determining, in parallel, using the intermediate pixels, for each block of the first size and for each block of the second size, a first cost for a first mode and a second cost for a second mode; selecting, for each location of the image, i) a final mode from at least the first mode and the second mode and ii) a final block size from at least the first size and the second size, using the first cost and the second cost for each of a respective block of the first size and a respective block of the second size associated with a corresponding location; determining final pixels based on the selected final mode and the selected final block size for each location of the image; and obtaining, based on the final pixels, a representation of the image. 16. The non-transitory computer-readable medium of claim 15 , wherein determining the intermediate pixels comprises: partitioning the image into a plural

Assignees

Inventors

Classifications

  • H04N19/436Primary

    using parallelised computational arrangements · CPC title

  • Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction · CPC title

  • Coding unit complexity, e.g. amount of activity or edge presence estimation (H04N19/146 takes precedence) · CPC title

  • H04N19/176Primary

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

  • Selection of coding mode or of prediction mode · 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 US11871018B2 cover?
Disclosed are techniques for compressing data of an image. Intermediate pixels may be determined. Each location of the image may be associated with a block of a plurality of blocks of a first size and a block of a plurality of blocks of a second size. For each block of the first size and of the second size, a first cost for a first mode and a second cost for a second mode may be determined in p…
Who is the assignee on this patent?
Nvidia Corp
What technology area does this patent fall under?
Primary CPC classification H04N19/436. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Jan 09 2024 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 12 related publications on this page (citations in our corpus or others sharing the same primary CPC).