← Back to Patent Explorer
US5949428A Expired / Lapsed US ⏱️ 0.0 years remaining

Method and apparatus for resolving pixel data in a graphics rendering system

Assignee: Microsoft Technology Licensing LLC
•
Filing: 1996-06-27
•
Granted: 1999-09-07
•
Expires: 2016-06-27
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract In a graphics rendering system, an apparatus for resolving depth sorted lists of pixel fragments includes color and alpha accumulators for computing color and alpha values from the pixel fragments in a fragment list. Pixel fragments include color, alpha, coverage data. The coverage data describes how a geometric primitive covers sub-pixel regions of a pixel using a coverage mask. Pixel circuitry according to a clock-optimized approach includes separate color and alpha accumulators for computing color and alpha values for sub-pixel regions of a pixel. The accumulated color values are then summed and scaled to compute final color values for a pixel. To reduce hardware requirements, pixel circuitry in a hardware-optimized approach recognizes that some pixel regions have common accumulated alpha values as each fragment layer is processed. As such, color contributions for fragment layers can be computed using a single color accumulation operation for a pixel region having common alpha values.

Inventors

  • 👤 Michael A. Toelle
  • 👤 Mark L. Kenworthy

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-05 08:03
CPC Classifications
G; G06; G06T; G06T11/00; G06T11/10; G06T11/40; G06T13/00; G06T13/80; G06T15/00; G06T15/005; G06T15/04; G06T15/50; G06T15/60

Claims Analysis

Total Claims: 18
Claim 1
Independent Claim 131 words
A pixel resolution circuit for resolving contiguous 2D sub-regions of an image being rendered, the circuit comprising: a fragment buffer for storing depth sorted fragment records, the fragment records including color data and pixel coverage data corresponding to n sub-pixel regions, where n is an integer, wherein the fragment buffer is used to resolve fragment records for one 2D sub-region at a time such that the fragment buffer is re-used for the 2D sub-regions of the image; color accumulators corresponding to the n sub-pixel regions, the color accumulators coupled to the fragment buffer for receiving the color data, and for separately accumulating and storing the color data for each sub-pixel region; logic for adding the accumulated color from each of the color accumulators and computing a color value for a pixel.
Claim 2
Dependent Claim 131 words
A pixel resolution circuit for resolving contiguous 2D sub-regions of an image being rendered, the circuit comprising: a fragment buffer for storing depth sorted fragment records, the fragment records including color data and pixel coverage data corresponding to n sub-pixel regions, where n is an integer, wherein the fragment buffer is used to resolve fragment records for one 2D sub-region at a time such that the fragment buffer is re-used for the 2D sub-regions of the image; color accumulators corresponding to the n sub-pixel regions, the color accumulators coupled to the fragment buffer for receiving the color data, and for separately accumulating and storing the color data for each sub-pixel region; logic for adding the accumulated color from each of the color accumulators and computing a color value for a pixel.
Claim 3
Dependent Claim 25 words
The pixel resolution circuit of claim 1 wherein the color accumulators include circuitry for performing a multiplication operation to compute accumulated color for fragment records.
Claim 4
Dependent Claim 47 words
The pixel resolution circuit of claim 1 wherein the fragment records include alpha data and the color accumulators include circuitry for performing a first multiplication operation to compute alpha scale, a second multiplication operation to compute accumulated color, and a third multiplication operation to compute accumulated alpha.
Claim 5
Dependent Claim 21 words
The pixel resolution circuit of claim 1 further including logic for scaling the accumulated color from each of the sub-pixel locations.
Claim 6
Dependent Claim 31 words
The pixel resolution circuit of claim 1 wherein the logic for adding the accumulated color is pipelined to compute the color value at a rate of one clock cycle per pixel.
Claim 7
Dependent Claim 161 words
A pixel resolution circuit for resolving pixel data for a pixel location having n sub-pixel regions, where n is an integer comprising: a fragment buffer storing depth-sorted fragment records for a pixel location, each fragment record including color data, an alpha value, and pixel coverage data indicating which of the n sub-pixel regions the fragment record covers; a new coverage control in communication with the fragment buffer, the new coverage control for analyzing pixel coverage data, for identifying unique pixel regions including sub-pixels having common accumulated alpha values, and for storing the common accumulated alpha values for the pixel regions; and a scale and accumulation control in communication with the new coverage control and the fragment buffer, the scale and accumulation control coupled to the fragment buffer for receiving the color, alpha, and pixel coverage data, the color accumulation circuitry having color scale and color accumulation circuitry for computing accumulated color for the unique pixel regions having common accumulated alpha values.
Claim 8
Dependent Claim 161 words
A pixel resolution circuit for resolving pixel data for a pixel location having n sub-pixel regions, where n is an integer comprising: a fragment buffer storing depth-sorted fragment records for a pixel location, each fragment record including color data, an alpha value, and pixel coverage data indicating which of the n sub-pixel regions the fragment record covers; a new coverage control in communication with the fragment buffer, the new coverage control for analyzing pixel coverage data, for identifying unique pixel regions including sub-pixels having common accumulated alpha values, and for storing the common accumulated alpha values for the pixel regions; and a scale and accumulation control in communication with the new coverage control and the fragment buffer, the scale and accumulation control coupled to the fragment buffer for receiving the color, alpha, and pixel coverage data, the color accumulation circuitry having color scale and color accumulation circuitry for computing accumulated color for the unique pixel regions having common accumulated alpha values.
Claim 9
Dependent Claim 53 words
The pixel resolution circuit of claim 6 wherein the scale and accumulation control includes a coverage scaler for multiplying accumulated alpha for a pixel region, alpha of a fragment record, and a coverage scale factor, where the coverage scale factor is m/n and m is the number of sub-pixels in the pixel region.
Claim 10
Dependent Claim 69 words
The pixel resolution circuit of claim 6 further including a coverage array including an array of coverage masks and corresponding accumulated alpha values representing the unique pixel regions, and wherein the new coverage control includes circuitry for comparing pixel coverage data of a new fragment record with the coverage masks to determine how the new fragment record overlaps the unique pixel regions, and for computing new unique pixel regions.
Claim 11
Dependent Claim 48 words
The pixel resolution circuit of claim 6 wherein the new coverage control includes circuitry for identifying opaque sub-pixel regions, for storing location of the opaque sub-pixel regions in an opaque sub-pixel mask, and for using the opaque sub-pixel mask to disregard color or alpha data from other fragments.
Claim 12
Independent Claim 98 words
A method for resolving pixel data for contiguous 2D subregions of an image being rendered, the method comprising: successively processing fragment records for pixel locations in a 2D subregion such that each subregion for the image is resolved in a serial order, the fragment records including color data and pixel coverage data corresponding to n sub-pixel regions, where n is an integer; separately accumulating color for the n sub-pixel regions; storing the accumulated color for the n sub-pixel regions; and combining the accumulated color for the n sub-pixel regions to compute a color value for a pixel location.
Claim 13
Independent Claim 98 words
A method for resolving pixel data for contiguous 2D subregions of an image being rendered, the method comprising: successively processing fragment records for pixel locations in a 2D subregion such that each subregion for the image is resolved in a serial order, the fragment records including color data and pixel coverage data corresponding to n sub-pixel regions, where n is an integer; separately accumulating color for the n sub-pixel regions; storing the accumulated color for the n sub-pixel regions; and combining the accumulated color for the n sub-pixel regions to compute a color value for a pixel location.
Claim 14
Dependent Claim 42 words
The method of claim 10 wherein the fragment records further include alpha data, the method further including the steps of: storing accumulated alpha for the n sub-pixel regions; and accumulating alpha data from the fragment records separately for the n sub-pixel regions.
Claim 15
Dependent Claim 18 words
The method of claim 10 further including: scaling the accumulated color for the n sub-pixel regions by 1/n.
Claim 16
Dependent Claim 46 words
The method of claim 10 wherein the coverage data includes coverage masks corresponding to the fragment records, the method further including: using the coverage masks for the fragment records as a processing mask such that color is accumulated for sub-pixel regions for which there is coverage.
Claim 17
Independent Claim 184 words
A method for resolving pixel data for a pixel location having n sub-pixel regions, where n is an integer, the method comprising: reading a current fragment record from a depth sorted list of fragment records, each fragment record including color data, an alpha value, and pixel coverage data identifying which of the n sub-pixel regions that the fragment record covers; analyzing the pixel coverage data of the current fragment to identify one or more unique pixel regions, each having one or more sub-pixel regions having a common accumulated alpha; for each of the one or more unique pixel regions, scaling the color data for the current fragment by multiplying the color data for the current fragment by the common accumulated alpha for the pixel region, the alpha value of the current fragment, and a coverage scale factor, where the coverage scale factor is m/n and m is the number of sub-pixel regions in the pixel region; and adding the scaled color data with accumulated color data for the pixel location; repeating analyzing, scaling and adding steps for subsequent fragments in the depth sorted list.
Claim 18
Independent Claim 184 words
A method for resolving pixel data for a pixel location having n sub-pixel regions, where n is an integer, the method comprising: reading a current fragment record from a depth sorted list of fragment records, each fragment record including color data, an alpha value, and pixel coverage data identifying which of the n sub-pixel regions that the fragment record covers; analyzing the pixel coverage data of the current fragment to identify one or more unique pixel regions, each having one or more sub-pixel regions having a common accumulated alpha; for each of the one or more unique pixel regions, scaling the color data for the current fragment by multiplying the color data for the current fragment by the common accumulated alpha for the pixel region, the alpha value of the current fragment, and a coverage scale factor, where the coverage scale factor is m/n and m is the number of sub-pixel regions in the pixel region; and adding the scaled color data with accumulated color data for the pixel location; repeating analyzing, scaling and adding steps for subsequent fragments in the depth sorted list.

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2002-09-06 2003-03-08 2003-09-07 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2006-09-06 2007-03-08 2007-09-07 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2010-09-06 2011-03-08 2011-09-07 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag