Alpha-to-coverage using virtual samples

US9697641B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9697641-B2
Application numberUS-90492710-A
CountryUS
Kind codeB2
Filing dateOct 14, 2010
Priority dateOct 15, 2009
Publication dateJul 4, 2017
Grant dateJul 4, 2017

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.

One embodiment of the present invention sets forth a technique for converting alpha values into pixel coverage masks. Geometric coverage is sampled at a number of “real” sample positions within each pixel. Color and depth values are computed for each of these real samples. Fragment alpha values are used to determine an alpha coverage mask for the real samples and additional “virtual” samples, in which the number of bits set in the mask bits is proportional to the alpha value. An alpha-to-coverage mode uses the virtual samples to increase the number of transparency levels for each pixel compared with using only real samples. The alpha-to-coverage mode may be used in conjunction with virtual coverage anti-aliasing to provide higher-quality transparency for rendering anti-aliased images.

First claim

Opening claim text (preview).

The invention claimed is: 1. A method of producing a pixel coverage mask based on an alpha value, the method comprising: combining a virtual coverage mask that indicates which virtual samples and real samples within a pixel are covered by a graphics primitive and a quantized alpha mask based on the alpha value and on an alpha-to-coverage ordering of the real samples and the virtual samples to produce the pixel coverage mask; outputting the pixel coverage mask for the pixel; and generating an antialiased image based on the pixel coverage mask, wherein the quantized alpha mask represents the alpha value in a coverage mask format and indicates which virtual samples within the pixel are deemed to be covered based on the alpha value. 2. The method of claim 1 , further comprising determining a link field that indicates links between the virtual samples and the real samples. 3. The method of claim 2 , further comprising adjusting the link field based on the pixel coverage mask to link any orphaned virtual sample to one of the real samples, wherein each virtual sample inherits color data computed for the real sample to which the virtual sample is linked. 4. The method of claim 3 , wherein the step of adjusting the link field comprises linking an orphaned virtual sample to at least one real sample that is masked by the pixel coverage mask. 5. The method of claim 2 , wherein the sampling mode defines affinities that control the links between the virtual samples and the real samples. 6. The method of claim 2 , further comprising the steps of: computing a weight for the real samples that are enabled according to the pixel coverage mask, wherein the weight is increased for each virtual sample that links to one of the real samples; and scaling the color data for the real samples that are enabled according to the pixel coverage mask by the computed weights to produce final color data for the real samples. 7. The method of claim 1 , further comprising the step of determining the quantized alpha mask based on a sampling mode that defines a first number of the real samples and a second number of the virtual samples in the pixel. 8. The method of claim 7 , further comprising the steps of: determining the alpha-to-coverage ordering of the real samples and virtual samples based on the sampling mode; and enabling bits of the quantized alpha mask based on the alpha-to-coverage order. 9. The method of claim 8 , wherein all at least one of the bits in the quantized alpha mask corresponding to the real samples is enabled before any of the bits in the quantized alpha mask corresponding to the virtual samples are enabled. 10. A non-transitory computer-readable storage medium storing instructions that, when executed by a processor, cause the processor to produce a pixel coverage mask based on an alpha value, by performing the steps of: combining a virtual coverage mask that indicates which virtual samples and real samples within a pixel are covered by a graphics primitive and a quantized alpha mask based on the alpha value and on an alpha-to-coverage ordering of the real samples and the virtual samples to produce the pixel coverage mask; outputting the pixel coverage mask and the link field for the pixel; and generating an antialiased image based on the pixel coverage mask, wherein the quantized alpha mask represents the alpha value in a coverage mask format and indicates which virtual samples within the pixel are deemed to be covered based on the alpha value. 11. A system for producing a pixel coverage mask based on an alpha value, the system comprising: a memory; and a processor that is coupled to the memory and includes an alpha-to-coverage unit that is configured to: combine a virtual coverage mask that indicates which virtual samples and real samples within a pixel are covered by a graphics primitive and a quantized alpha mask based on the alpha value and on an alpha-to-coverage ordering of the real samples and the virtual samples to produce the pixel coverage mask; output the pixel coverage mask and the link field for the pixel; and generating an antialiased image based on the pixel coverage mask, wherein the quantized alpha mask represents the alpha value in a coverage mask format and indicates which virtual samples within the pixel are deemed to be covered based on the alpha value. 12. The system of claim 11 , further comprising a memory storing instructions that, when executed by the processor, configure the alpha-to-coverage unit to: combine the virtual coverage mask and the quantized alpha mask; and output the pixel coverage mask and the link field for the pixel. 13. The system of claim 11 , wherein the alpha-to-coverage unit is further configured to determine a link field that indicates links between the virtual samples and the real samples. 14. The system of claim 13 , wherein the alpha-to-coverage unit is further configured to adjust the link field based on the pixel coverage mask to link any orphaned virtual sample to one of the real samples, wherein each virtual sample inherits color data computed for the real sample to which the virtual sample is linked. 15. The system of claim 14 , wherein the adjusting of the link field comprises linking an orphaned virtual sample to at least one real sample that is masked by the pixel coverage mask. 16. The system of claim 13 , wherein the sampling mode defines affinities that control the links between the virtual samples and the real samples. 17. The system of claim 13 , wherein the processor is further configured to: compute a weight for the real samples that are enabled according to the pixel coverage mask, wherein the weight is increased for each virtual sample that links to one of the real samples; and scale the color data for the real samples that are enabled according to the pixel coverage mask by the computed weights to produce final color data for the real samples. 18. The system of claim 11 , wherein the alpha-to-coverage unit is further configured to determine the quantized alpha mask based on a sampling mode that defines a first number of the real samples and a second number of the virtual samples in the pixel. 19. The system of claim 18 , wherein the alpha-to-coverage unit is further configured to: determine the alpha-to-coverage ordering of the real samples and virtual samples based on the sampling mode; and enable bits of the quantized alpha mask based on the alpha-to-coverage order. 20. The system of claim 19 , wherein at least one of the bits in the quantized alpha mask corresponding to the real samples is enabled before any of the bits in the quantized alpha mask corresponding to the virtual samples are enabled.

Assignees

Inventors

Classifications

  • G06T15/503Primary

    Blending, e.g. for anti-aliasing · CPC title

  • Arrangements for updating the contents of the bit-mapped memory · CPC title

  • Graphics controllers · CPC title

  • using interleaving · CPC title

  • General purpose rendering architectures · 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 US9697641B2 cover?
One embodiment of the present invention sets forth a technique for converting alpha values into pixel coverage masks. Geometric coverage is sampled at a number of “real” sample positions within each pixel. Color and depth values are computed for each of these real samples. Fragment alpha values are used to determine an alpha coverage mask for the real samples and additional “virtual” samples, i…
Who is the assignee on this patent?
Molnar Steven E, Kilgariff Emmett M, Donovan Walter E, and 3 more
What technology area does this patent fall under?
Primary CPC classification G06T15/503. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jul 04 2017 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).