US2004217974A1PendingUtilityA1

Method and system for providing implicit edge antialiasing

Priority: Apr 22, 1999Filed: May 20, 2004Published: Nov 4, 2004
Est. expiryApr 22, 2019(expired)· nominal 20-yr term from priority
Inventors:Michael Lewis
G06T 11/10G06T 15/503
43
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

A method and system for providing antialiasing of a graphical image on a display from data describing at least one object is disclosed. The display includes a plurality of pixels. The method and system include providing a plurality of fragments for the at least one object. A portion of the plurality of fragments intersects a pixel of the plurality of pixels. Each of the plurality of fragments includes a depth value, a slope of the depth value, and an indication of a portion of a corresponding pixel that is intersected. The method and system include calculating a plurality of subpixel depth values for a fragment of the plurality of fragments. The plurality of subpixel depth values is calculated using the depth value and the slope of the depth value of the fragment. The method and system include determining whether to store a portion of the fragment based on the plurality of subpixel depth values for the fragment and the indication of the extent the corresponding pixel is intersected by the fragment. The method and system also include storing the portion of the fragment if it has been determined that the portion of the fragment is to be stored. The method and system also include repeating the calculating, determining, and storing steps for each remaining fragment in the portion of the plurality of fragments. The method and system also include providing antialiased data for the pixel based on a second portion of the plurality of fragments that have been stored.

Claims

exact text as granted — not AI-modified
What is claimed is:  
     
         1 . A method for providing antialiasing of a graphical image on a display from data describing at least one object, the display including a plurality of pixels, the method comprising the steps of: 
 (a) providing a plurality of fragments intersecting for the at least one object, a portion of the plurality of fragments intersecting a pixel of the plurality of pixels, each of the plurality of fragments including a depth value, a slope of the depth value, and an indication of a portion of a corresponding pixel that is intersected;    (b) calculating a plurality of subpixel depth values for a fragment of the plurality of fragments, the plurality of subpixel depth values calculated using the depth value and the slope of the depth value of the fragment;    (c) determining whether to store a portion of the fragment based on the plurality of subpixel depth values and the indication of the extent the corresponding pixel is intersected for the fragment;    (d) storing the portion of the fragment if it has been determined in step (c) that the portion of the fragment is to be stored;    (e) repeating steps (b) through (d) for each remaining fragment in the portion of the plurality of fragments; and    (f) providing antialiased data for the pixel based on a second portion of the plurality of fragments that have been stored.    
     
     
         2 . The method of  claim 1  wherein the method further includes the steps of: 
 (g) repeating steps (b) through (f) for each remaining pixel of the plurality of pixels.  
 
     
     
         3 . The method of  claim 1  wherein each of the plurality of pixels can be divided into a plurality of subpixels, wherein the indication of the extent the corresponding pixel is intersected includes a coverage mask, the coverage mask indicating a first portion of the plurality of subpixels which the fragment intersects and wherein the determining step (c) further includes the steps of: 
 (c1) determining a second portion of the plurality of subpixels in a portion of the plurality of subpixel depth values is less than a portion of a plurality of stored subpixel depth values, the second portion of the plurality of subpixels being within the first portion of the plurality of subpixels; and wherein the storing step (d) includes the step of  
 (d1) storing the portion of the fragment for the second portion of the plurality of subpixels.  
 
     
     
         4 . The method of  claim 3  wherein the determining step (c1) further includes the step of: 
 (c1i) comparing the plurality of subpixel depth values to the plurality of stored subpixel depth values to determine a third portion of the plurality of subpixels in which a corresponding subpixel depth value of the plurality of subpixel depth values is less than a corresponding stored subpixel depth value of the plurality of stored subpixel depth values;  
 (c1ii) providing a second mask for the fragment, the second mask indicating the third portion of the plurality subpixels; and  
 (c1iii) using the coverage mask and the second mask for the fragment to determine the second portion of the plurality of subpixels.  
 
     
     
         5 . The method of  claim 4  wherein the determining step (c1ii) further includes the step of: 
 (c1iia) performing an AND operation for the coverage mask and the second mask.  
 
     
     
         6 . The method of  claim 3  wherein the antialiased data providing step (f) further includes the step of: 
 (f1) averaging information stored relating to the portion of the plurality of fragments that intersect the pixel.  
 
     
     
         7 . The method of  claim 3  wherein the antialiased data providing step (f) further includes the steps of: 
 (f1) averaging currently stored information, other than the depth value, relating to the portion of the plurality of fragments that intersect the pixel; and  
 (f2) selecting a currently stored median subpixel depth value as the depth value for the pixel.  
 
     
     
         8 . A system for providing antialiasing of a graphical image from data describing at least one object including a plurality of fragments, each fragment including a coverage mask, a depth value, and a slope of the depth value, the system comprising: 
 a display including a plurality of pixels;    means coupled to the display for providing a plurality of fragments for the at least one object, the plurality of fragments intersecting the plurality of pixels, each of the plurality of fragments including a depth value, a slope of the depth value, and an indication of a portion of a corresponding pixel that is intersected;    an antialiasing unit, coupled with the display, for providing antialiasing of each of the plurality of fragments based on the depth value, the slope of the depth value, and the indication of the extent a corresponding pixel is intersected.    
     
     
         9 . The system of  claim 8  wherein the plurality of fragments are rendered in raster order.  
     
     
         10 . The system of  claim 8  wherein each pixel includes a plurality of subpixels, wherein the indication of an extent a corresponding pixel is intersected includes a coverage mask, the coverage mask indicating a first portion of the plurality of subpixels of the corresponding pixel which are intersected, and wherein the antialiasing unit further includes: 
 means for calculating a plurality of subpixel depth values for the plurality of fragments and for determining whether to store a portion of each of the plurality of fragments based on the plurality of subpixel depth values and the coverage mask for each of the plurality of fragments, the plurality of subpixel depth values calculated using the depth value and the slope of the depth value for each of the plurality of fragments;  
 a plurality of subpixel buffers, coupled with the calculating and determining means; and  
 means coupled with the plurality of subpixel buffers for providing an antialiased data for the plurality of fragments based on a second portion of the plurality of fragments that have been stored.  
 
     
     
         11 . The system of  claim 10  wherein the coverage mask indicates a first portion of the plurality of subpixels that each of the plurality of fragments intersects and wherein the calculating and determining means further includes: 
 means for determining a second portion of the plurality of subpixels in which a portion of the plurality of subpixel depth values is less than a portion of a plurality of stored depth values, the second portion of the plurality of subpixels being within the first portion of the plurality of subpixels; and  
 wherein the plurality of subpixel buffers store the portion of the fragment corresponding to the second portion of the plurality of subpixels.  
 
     
     
         12 . The system of  claim 11  wherein the calculating and determining means further includes: 
 means for providing a second mask for the fragment, the second mask indicating a third portion of the plurality subpixels in which the portion of the plurality of subpixel depth values are less than the portion of the plurality of stored subpixel depth values; and  
 means for using the coverage mask and the second mask for the fragment to determine the second portion of the plurality of subpixels.  
 
     
     
         13 . The system of  claim 12  wherein the mask using means further includes: 
 means for performing an AND operation for the coverage mask and the second mask.  
 
     
     
         14 . The system of  claim 13  wherein the antialiased pixel providing means further average information stored relating to the portion of the plurality of fragments that intersect the pixel.  
     
     
         15 . The system of  claim 14  wherein the antialiased pixel providing means further average currently stored information, other than the depth value, relating to the portion of the plurality of fragments that intersect the pixel select a currently stored subpixel depth value as the depth value for the pixel.

Join the waitlist — get patent alerts

Track US2004217974A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.