IP Library Granted Patent US 7,061,507
Granted Patent B1
US 7,061,507 · App. 09/711,859 · Granted Jun 13, 2006

Antialiasing method and apparatus for video applications

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,061,507
App. No.
09/711,859
Granted
Jun 13, 2006
Kind
B1
Abstract

Antialiasing method and apparatus for video applications. A method for antialiasing a video graphic. First, the processor renders the pixels and, during the step of rendering, determines if an edge pixel of a polygon is being rendered. If so, a sample point is defined within each pixel and a determination made if the sample point lies within the polygon or outside of the polygon. If the sample point lies within the polygon, the color of the edge pixel is set to the color of the polygon. If the sample point lies outside of the polygon, the color of the edge pixel is set to the color of the background. The percentage of the pixel that lies in the space associated with the sampling point is then calculated. The color of the pixel is stored in a frame buffer in association with the percent value that lies in the space associated with the sample point and in association with an indication that the sample point lies within the polygon or outside of the polygon. In a video processing step, the pixel information associated with a pixel to be output is fetched. For an edge pixel, determining if the color associated with the pixel is associated with the background or with the color of the polygon from the color indication associated with the pixel. If the pixel color is that of the polygon, the color of the pixel is blended with the color of a neighboring pixel outside of the polygon in a percentage defined by the stored percentage such that the percentage of the stored color is equal to the stored percentage value and the percentage blended from the neighboring pixel is that associated with the percent of the pixel having been determined to lie outside of the polygon. If the pixel is the color of the background, the color of the pixel is blended with the color of a neighboring pixel in the polygon in a percentage that equals the color of the pixels multiplied by the percentage lying outside of the polygon and the color of the polygon multiplied by the neighboring pixel or polygon multiplied by the percentage of the pixel lying within the polygon.

Claims (36)

1. A method for anti-aliasing edge pixels in a rendering operation, comprising the steps of:

determining coverage parameters associated with an edge pixel on an edge of a given polygon being rendered that is stored in a first buffer;

creating an anti-aliasing value representing the relationship of the edge pixel to its surrounding neighbors as to the amount of color that is to be blended into the edge pixel of a color corresponding to that of its surrounding neighbors; and

storing the anti-aliasing value in a second buffer in association with the coverage parameters of the edge pixel stored in the first buffer, which anti-aliasing value is retained during rendering of other polygons containing the edge pixel as a function of the given polygon being in the foreground during the rendering operation of the other polygons.

2. The method of claim 1 , wherein the created anti-aliasing value is a single anti-aliasing value represented as a digital word.

3. The method of claim 1 , wherein the step of creating the anti-aliasing value comprises the steps of:

supersampling the edge pixel during rendering thereof to provide a plurality of subpixels, wherein each of the subpixels contains information as to coverage by the given polygon; and

converting the coverage pattern of the subpixels into a single anti-aliasing value that represents the positional relationship of the coverage as to neighboring pixels.

4. The method of claim 3 , wherein the single anti-aliasing value represents both coverage percentage and the coverage pattern.

5. The method of claim 3 , wherein the single anti-aliasing value comprises a map of the subpixels.

6. The method of claim 5 , wherein the single anti-aliasing value has a plurality of bits associated therewith in a digital word of a length equal to the number of subpixels, with each bit having a value that represents whether the subpixel is covered.

7. The method of claim 3 , and further comprising the step of filtering the edge pixel prior to a display operation, comprising the steps of:

retrieving the edge pixel and the associated anti-aliasing value;

determining the color of at least one adjacent pixel to the edge pixel;

blending the color of the at least one adjacent pixel with the edge pixel as a function of the positional relationship of the subpixels in the supersampled edge pixel to provide an antialiased pixel; and

storing the antialiased pixel in a frame buffer.

8. The method of claim 7 , wherein the step of determining comprises he step of determining the color of at least two adjacent pixels to the edge pixel, and the step of blending comprises blending the color of the at least two adjacent pixels with the edge pixel as a function of the positional relationship of the subpixels in the supersampled edge pixel to the at least two adjacent pixels to provide the antialiased pixel.

9. The method of claim 3 , wherein the step of creating the anti-aliasing value for the edge pixel is operable to further create a depth value in association with the anti-aliasing value, which depth value comprises the depth value of the subpixel that is covered by the foremost polygon.

10. A graphics engine for anti-aliasing edge pixels in a rendering operation, comprising:

a rendering engine for determining coverage parameters associated with an edge pixel on an edge of a given polygon being rendered that is stored in a first buffer;

an anti-aliasing engine for creating an anti-aliasing value representing the relationship of the edge pixel to its surrounding neighbors as to the amount of color that is to be blended into the edge pixel of a color corresponding to that of its surrounding neighbors; and

a second buffer for storing the anti-aliasing value in association with the coverage parameters of the edge pixel in said first buffer, which anti-aliasing value is retained during rendering of other polygons containing the edge pixel as a function of the given polygon being in the foreground during the rendering operation of the other polygons.

11. The graphics engine of claim 10 , wherein the created anti-aliasing value is a single anti-aliasing value represented as a digital word.

12. The graphics engine of claim 10 , wherein said anti-aliasing engine comprises:

a supersampling engine for supersampling the edge pixel during rendering thereof to provide a plurality of subpixels, wherein each of the subpixels contains information as to coverage by the given polygon; and

a conversion device for converting the coverage pattern of the subpixels into a single anti-aliasing value that represents the positional relationship of the coverage as to neighboring pixels.

13. The graphics engine of claim 12 , wherein the single anti-aliasing value represents both coverage percentage and the coverage pattern.

14. The graphics engine of claim 12 , wherein the single anti-aliasing value comprises a map of the subpixels.

15. The graphics engine of claim 14 , wherein the single anti-aliasing value has a plurality of bits associated therewith in a digital word of a length equal to the number of subpixels, with each bit having a value that represents whether the subpixel is covered.

16. The graphics engine of claim 12 , and further comprising a filter processing engine operable to filter the edge pixel prior to a display operation by:

retrieving the edge pixel and the associated anti-aliasing value;

determining the color of at least one adjacent pixel to the edge pixel;

blending the color of the at least one adjacent pixel with the edge pixel as a function of the positional relationship of the subpixels in the supersampled edge pixel to provide an antialiased pixel; and

storing the antialiased pixel in a frame buffer.

17. The graphics engine of claim 16 , wherein said filter is operable to determine the color of at least two adjacent pixels to the edge pixel, and blend the color of the at least two adjacent pixels with the edge pixel as a function of the positional relationship of the subpixels in the supersampled edge pixel to the at least two adjacent pixels to provide the antialiased pixel.

18. The graphics engine of claim 12 , wherein said anti-aliasing engine is operable to further create a depth value in association with the anti-aliasing value, which depth value comprises the depth value of the subpixel that is covered by the foremost polygon.

Assignments (9)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 30, 2018
From: DDEEG MICROCONSULTING OY
To: ATI TECHNOLOGIES ULC
Reel/Frame 044773/0138 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE, PREVIOUSLY RECORDED ON REEL 023536 FRAME 0116. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNEE SHOULD BE LISTED AS ADVANCED MICRO DEVICES, INC. PURSUANT TO ATTACHED TECHNOLOGY ASSIGNMENT AGREEMENT. Recorded Aug 11, 2010
From: ADVANCED MICRO DEVICES (FINLAND) OY
To: ADVANCED MICRO DEVICES, INC.
Reel/Frame 024823/0393 →
CHANGE OF NAME Recorded Nov 18, 2009
From: ADVANCED MICRO DEVICES (FINLAND) OY
To: DDEEG MICROCONSULTING OY
Reel/Frame 023538/0116 →
CHANGE OF NAME Recorded Nov 18, 2009
From: BITBOYS OY, A FINNISH REGISTERED CO.
To: ATI TECHNOLOGIES (FINLAND) OY
Reel/Frame 023538/0101 →
CHANGE OF NAME Recorded Nov 18, 2009
From: ATI TECHNOLOGIES (FINLAND) OY
To: ADVANCED MICRO DEVICES (FINLAND) OY
Reel/Frame 023538/0112 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 11, 2002
From: BITBOYS, INC.
To: BITBOYS OY, A FINNISH REGISTERED COMPANY
Reel/Frame 012600/0619 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 24, 2002
From: BITBOYS OY, A FINNISH REGISTERED COMPANY, REGISTER NO. 650098
To: BITBOYS, INC.
Reel/Frame 012548/0741 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 17, 2001
From: TUOMI, MIKA HENRIK; TAMMILEHTO, SAMI SANTERI; NORDLUND, PETRI OLAVI
To: BITBOYS OY
Reel/Frame 025183/0633 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 17, 2001
From: TUOMI, MIKA HENRIK; TAMMILEHTO, SAMI SANTERI; NORDLUND, PETRI OLAVI
To: RAUHALAMMINTIE 1
Reel/Frame 011988/0570 →