IP Library Granted Patent US 6,927,781
Granted Patent B1
US 6,927,781 · App. 09/712,381 · Granted Aug 9, 2005

Method and apparatus for averaging sub-samples

Assignee: NVIDIA Corporation
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 6,927,781
App. No.
09/712,381
Granted
Aug 9, 2005
Kind
B1
Abstract

A method of generating pixels in a graphics system including providing a plurality of sub-samples, and providing a source pixel. It is determined which of the plurality of sub-samples are covered by the source pixel, and which of the plurality of sub-samples are not covered. The sub-samples which are covered by the source pixel are filtered. The filtered sub-samples are blended with the source pixel to create a blended sub-sample, followed by the filtering of the sub-samples which are not covered by the source pixel together with the blended sub-sample.

Claims (69)

1. A method of generating pixels in a graphics system comprising:

providing a plurality of sub-samples;

providing a source pixel;

determining which of the plurality of sub-samples are covered by the source pixel, and which of the plurality of sub-samples are not covered by the source pixel;

filtering the sub-samples which are covered by the source pixel;

blending the filtered sub-samples with the source pixel to create a blended sub-sample; and

filtering the sub-samples which are not covered by the source pixel together with the blended sub-sample.

2. The method of claim 1 wherein the filtering the sub-samples which are covered by the source pixel, is done by averaging the sub-samples which are covered by the source pixel.

3. The method of claim 2 wherein the filtering the sub-samples which are not covered by the source pixel together with the blended sub-sample, is done by averaging the sub-samples which are not covered by the source pixel together with the blended sub-sample.

4. The method of claim 3 further comprising before the filtering the sub-samples which are not covered by the source pixel together with the blended sub-sample, weighting the blended sub-sample.

5. The method of claim 4 further comprising before weighting the blended sub-sample, determining the number of covered sub-samples,

and wherein the weighting of the blended sub-sample is done by multiplying the blended sub-sample by the number of covered sub-samples.

6. The method of claim 1 further comprising replacing the sub-samples which are covered by the source pixel with the blended sub-sample.

7. An apparatus for generating pixels in a graphics system comprising:

a memory for storing and providing sub-samples;

a graphics pipeline for providing an image, and determining which sub-samples are covered by the image, and which sub-samples are not covered by the image;

a first filter for filtering covered sub-samples and providing a first filter output;

a blender for blending the image with the output of the first filter and providing a blender output; and

a second filter for filtering the blender output with the sub-samples which are not covered by the image.

8. The apparatus of claim 7 wherein the first filter and the second filer are averaging circuits.

9. The apparatus of claim 8 wherein the second filter is also for weighting the blender output.

10. The apparatus of claim 7 wherein the blender output provides anew sub-sample, and where the new sub-sample replaces in memory the sub-samples covered by the image.

11. An apparatus for generating pixels in a graphics system comprising:

a sub-sample memory having an first output and a second output;

a fist filter having an output and an input, the input coupled to the first sub-sample memory output;

a blender having an output, a first input, and a second input, the first input coupled to the first filter output;

a graphics pipeline having an output coupled to the second blender input; and

a second filter having a first input and a second input, the first input coupled to the second sub-sample memory output and the second input coupled to the blender output.

12. The apparatus of claim 11 wherein the sub-sample memory stores a plurality of sub-samples which are associated with a pixel, and wherein the graphics pipeline provides a source pixel, and determines which of the sub-samples associated with the pixel are covered by the source pixel, and which of the sub-samples associated with the pixel are not covered by the source pixel.

13. The apparatus of claim 12 wherein the sub-sample memory outputs on the first sub-sample memory output the sub-samples associated with the pixel which are covered by the source pixel and outputs on the second sub-sample memory output the sub-samples associated with the pixel which are not covered by the source pixel.

14. The apparatus of claim 13 wherein first filter averages the sub-samples at its input, and outputs an average, and the blender blends the signals at its inputs, and outputs a blend.

15. The apparatus of claim 14 wherein the second filter filters the sub-samples at its first input and the blend at its second input.

16. The apparatus of claim 15 wherein the second filter further comprises an output for providing a pixel.

17. A computer system comprising:

a central processing unit (CPU);

a main memory coupled to the CPU; and

an apparatus for generating pixels in graphics system as set forth in claim 11 , coupled to the CPU.

18. A method of generating pixels in a graphics system comprising:

receiving a plurality of sub-samples from a memory;

receiving a source pixel;

receiving coverage information indicating which of the plurality of sub-samples are covered by the source pixel, and which of the plurality of sub-samples are not covered by the source pixel;

filtering the sub-samples that are covered by the source pixel;

blending the filtered sub-samples with the source pixel to create a blended sub-sample;

storing the blended sub-sample in the memory, overwriting the sub-samples that are covered by the source pixel; and

filtering the sub-samples that are not covered by the source pixel together with the blended sub-sample.

19. The method of claim 18 wherein when the sub-samples that are not covered by the source pixel are filtered with the blended sub-sample, the blended sub-sample is first multiplied by the number of sub-samples covered by the source pixel.

20. The method of claim 19 wherein the source pixels is received from a graphics pipeline.

21. A method of generating pixels in a graphics system using a single blender, the method comprising:

receiving a plurality of sub-samples;

receiving a source pixel;

receiving coverage information as to which of the plurality of sub-samples are covered by the source pixel, and which of the plurality of sub-samples are not covered by the source pixel;

filtering the sub-samples which are covered by the source pixel to generate a filtered result;

using a single blender to blend the filtered result and the source pixel to create a blended sub-sample; and

filtering the sub-samples which are not covered by the source pixel together with the blended sub-sample.

22. The method of claim 21 wherein filtering the sub-samples which are covered by the source pixel, is done by averaging the sub-samples which are covered by the source pixel.

23. The method of claim 22 wherein the filtering the sub-samples which are not covered by the source pixel together with the blended sub-sample, is done by averaging the sub-samples which are not covered by the source pixel together with the blended sub-sample.

24. A method of generating pixels in a graphics system comprising:

receiving a plurality of sub-samples;

receiving a source pixel;

receiving coverage information as to which of the plurality of sub-samples are covered by the source pixel, and which of the plurality of sub-samples are not covered by the source pixel;

during a first clock cycle, filter the sub-samples which are covered by the source pixel to generate a filtered result;

during a second clock cycle, blending the filtered result with the source pixel to create a blended sub-sample; and

during a third clock cycle, filtering the sub-samples which are not covered by the source pixel together with the blended sub-sample,

wherein the second clock cycle occurs after the first clock cycle and before the third clock cycle.

25. The method of claim 24 wherein the filtering the sub-samples which are covered by the source pixel, is done by averaging the sub-samples which are covered by the source pixel.

26. The method of claim 25 wherein the filtering the sub-samples which are not covered by the source pixel together with the blended sub-sample, is done by averaging the sub-samples which are not covered by the source pixel together with the blended sub-sample.

27. The method of claim 26 further comprising before the filtering the sub-samples which are not covered by the source pixel together with the blended sub-sample, weighing the blended sub-sample.

28. The method of claim 27 further comprising before weighting the blended sub-samples determining the number of covered sub-samples,

wherein the weighing of the blended sub-sample is done by multiplying the blended sub-sample by the number of covered sub-samples.

Assignments (3)
MERGER Recorded Jan 30, 2013
From: NVIDIA US INVESTMENT COMPANY
To: NVIDIA CORPORATION
Reel/Frame 029720/0833 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 14, 2001
From: 3DFX INTERACTIVE, INC. A CORPORATION OF CALIFORNIA
To: NVIDIA U.S. INVESTMENT COMPANY A CORPORATION OF DELAWARE
Reel/Frame 011801/0585 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 13, 2000
From: KONG, THOMAS H.
To: 3DFX INTERACTIVE, INC.
Reel/Frame 011302/0369 →