Multi-sample surface processing using sample subsets

US9286659B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9286659-B2
Application numberUS-201313844147-A
CountryUS
Kind codeB2
Filing dateMar 15, 2013
Priority dateMar 15, 2013
Publication dateMar 15, 2016
Grant dateMar 15, 2016

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.

A system, method, and computer program product are provided for multi-sample processing. The multi-sample pixel data is received and is analyzed to identify subsets of samples of a multi-sample pixel that have equal data, such that data for one sample in a subset represents multi-sample pixel data for all samples in the subset. An encoding state is generated that indicates which samples of the multi-sample pixel are included in each one of the subsets.

First claim

Opening claim text (preview).

What is claimed is: 1. A method, comprising: receiving multi-sample pixel data read from a memory storing multi-sample pixel data; analyzing the multi-sample pixel data, by an analysis unit that is coupled between the memory and a processing unit, to identify subsets of samples of a multi-sample pixel that have equal data, such that data for one sample in a subset represents multi-sample pixel data for all samples in the subset; generating an encoding state that indicates which samples of the multi-sample pixel are included in each one of the subsets; providing the encoding state and only data for a first sample that is included in a first subset to the processing unit; determining, by the processing unit, that the encoding state indicates that the first sample does not represent all of the samples of the multi-sample pixel; and requesting multi-sample pixel data for one or more additional samples of the multi-sample pixel. 2. The method of claim 1 , further comprising processing the data for the first sample to generate processed data for the first sample that represents processed multi-sample pixel data for all samples in the first subset. 3. The method of claim 2 , further comprising storing the processed multi-sample pixel data for the first sample and the encoding state in a multi-sample buffer. 4. The method of claim 1 , further comprising: storing the multi-sample pixel data in a buffer entry; and receiving additional multi-sample pixel data for one sample of a second subset of samples of the multi-sample pixel. 5. The method of claim 4 , further comprising: determining that the second multi-sample pixel data equals the multi-sample pixel data stored in the buffer entry; and merging the second multi-sample pixel data into the buffer entry. 6. The method of claim 4 , further comprising: determining that the second multi-sample pixel data is within a threshold value of the multi-sample pixel data stored in the buffer entry; and merging the second multi-sample pixel data into the buffer entry. 7. The method of claim 1 , further comprising: storing the multi-sample pixel data in a buffer; and storing a per-pixel sample mask indicating the samples of the multi-sample pixel that are included in the subsets. 8. The method of claim 7 , further comprising: determining if data for all of the samples of all of the multi-sample pixels in a tile are stored in the buffer; and flushing the data from the buffer when all of the samples of all of the multi-san pixels in the tile are in stored in the buffer. 9. The method of claim 1 , further comprising: receiving a multi-sample store instruction that specifies data for a single sample of a multi-sample pixel and a sample mask; and storing the data for the single sample to each sample of e multi-sample pixel that is enabled according to the sample mask. 10. The method of claim 1 , further comprising: receiving a multi-sample load instruction that specifies the first sample; and returning the data for the first sample and a sample mask indicating at least one additional sample of the multi-sample pixel that is included in the first subset when the multi-sample load instruction is executed. 11. The method of claim 1 , further comprising: storing, by a coalesce unit, the multi-sample pixel data in a buffer entry; merging a sample coverage mask for the first subset into a multi-sample coverage mask stored for the pixel; and storing a separate per-pixel coverage mask for the first subset. 12. A non-transitory computer-readable storage medium storing instructions that, when executed by a processor, cause the processor to perform steps comprising: receiving multi-sample pixel data read from a memory storing multi-sample pixel data; analyzing the multi-sample pixel data, by an analysis unit that is coupled between the memory and a processing unit, to identify subsets of samples of a multi-sample pixel that have equal data, such that data for one sample in a subset represents multi-sample pixel data for all samples in the subset; generating an encoding state that indicates which samples of the multi-sample pixel are included in each one of the subsets; providing the encoding state and only data for a first sample that is included in a first subset to the processing unit, wherein the encoding state indicates the samples of the multi-sample pixel that are included in the first subset; determining, by the processing unit, that the encoding state indicates that the first sample does not represent all of the samples of the multi-sample pixel; and requesting multi-sample pixel data for one or more additional samples of the multi-sample pixel. 13. The non-transitory computer-readable storage medium of claim 12 , further comprising: receiving a multi-sample load instruction that specifies the first sample; and returning the data for the first sample and a sample mask indicating at least one additional sample of the multi-sample pixel that is included in the first subset when the multi-sample load instruction is executed. 14. The non-transitory computer-readable storage medium of claim 12 , further comprising: storing, by a coalesce unit, the multi-sample pixel data in a buffer entry; merging a sample coverage mask for the first subset into a multi-sample coverage mask stored for the pixel; and storing a separate per-pixel coverage mask for the first subset. 15. A system comprising: a memory storing multi-sample pixel data; an analysis unit that is coupled between the memory and a processing unit, and configured to: receive multi-sample pixel data read from the memory; analyze the multi-sample pixel data to identify subsets of samples of a multi-sample pixel that have equal data, such that data for one sample in a subset represents multi-sample pixel data for all samples in the subset; generate an encoding state that indicates which samples of the multi-sample pixel are included in each one of the subsets; and provide the encoding state and only data for a first sample that is included in a first subset to the processing unit, wherein the encoding state indicates the samples of the multi-sample pixel that are included in the first subset; and the processing unit that is configured to: determine that the encoding state indicates that the first sample does not represent all of the samples of the multi-sample pixel; and request multi-sample pixel data for one or more additional samples of the multi-sample pixel. 16. The system of claim 15 , wherein the analysis unit resides within one or more of a load/store unit, a cache, and a processing unit. 17. The system of claim 15 , wherein the portion corresponds to a number of samples of the multi-sample pixel that are stored in a single cache line. 18. The system of claim 15 , further comprising a load/store unit that is configured to: receive a multi-sample store instruction that specifies data tier a single sample of a multi-pixel and a sample mask; and store, in the memory, the data for the single sample to each sample of the multi-sample pixel that is enabled according to the sample mask. 19. The system of claim 15 , further comprising a load request unit that is coupled between the memory and the processing unit, and configured to: receive a multi-sample load instruction that specifies the first sample; and return the data for the first sample and a sample mask indicating at least one additional sample of the multi-sample pixel that is included in the first subset when the multi-sample load i

Assignees

Inventors

Classifications

  • G06T9/00Primary

    Image coding (bandwidth or redundancy reduction for static pictures H04N1/41; coding or decoding of static colour picture signals H04N1/64; methods or arrangements for coding, decoding, compressing or decompressing digital video signals H04N19/00) · CPC title

  • Filling planar surfaces by adding surface attributes, e.g. adding colours or textures · CPC title

  • G06T5/002Primary

    Physics · mapped topic

  • G06T5/70Primary

    Denoising; Smoothing · 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 US9286659B2 cover?
A system, method, and computer program product are provided for multi-sample processing. The multi-sample pixel data is received and is analyzed to identify subsets of samples of a multi-sample pixel that have equal data, such that data for one sample in a subset represents multi-sample pixel data for all samples in the subset. An encoding state is generated that indicates which samples of the …
Who is the assignee on this patent?
Nvidia Corp
What technology area does this patent fall under?
Primary CPC classification G06T9/00. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Mar 15 2016 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 1 related publication on this page (citations in our corpus or others sharing the same primary CPC).