IP Library Granted Patent US 6,914,609
Granted Patent B2
US 6,914,609 · App. 10/085,636 · Granted Jul 5, 2005

Multiple scan line sample filtering

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,914,609
App. No.
10/085,636
Granted
Jul 5, 2005
Kind
B2
Abstract

A system and method for generating pixels for a display device. The system may include a sample buffer for storing a plurality samples in a memory, a sample cache for caching recently accessed samples, and a sample filter unit for filtering one or more samples to generate a pixel. The generated pixels may then be stored in a frame buffer or provided to a display device. The method operates to take advantage of the common samples shared by neighboring pixels in both the x and y directions for reduced sample buffer accesses and improved performance. The method involves reading samples from the memory that correspond to pixels in a plurality of neighboring scan lines, and possibly also to multiple pixels in each of these scan lines. The samples may be stored in a cache memory and then accessed from the cache memory for filtering. The method maximizes use of the common samples shared by neighboring pixels in both the x and y directions.

Claims (52)

1. A method for generating pixels for a display device, the method comprising:

rendering a plurality of samples from vertex data, wherein each sample is rendered for a specific point in screen space;

storing the plurality of samples in a memory;

storing a first portion of samples in a cache memory, wherein the first portion of samples is selected from the plurality of samples and corresponds to pixels in at least two neighboring scan lines;

filtering a first subset of the first portion of samples to generate a first pixel in a first scan line; and

filtering a second subset of the first portion of samples to generate a second pixel in a second scan line, wherein the second scan line neighbors the first scan line.

2. The method of claim 1 , wherein the first subset of the first portion of samples includes a plurality of common samples with the second subset of the first portion of samples.

3. The method of claim 1 , wherein said filtering the first subset comprises accessing the first subset of the first portion of samples from the cache memory, and wherein said filtering the second subset comprises accessing the second subset of the first portion of samples from the cache memory.

4. The method of claim 3 , further comprising:

accessing a third subset of the first portion of samples from the cache memory;

filtering the third subset of the first portion of samples to generate a third pixel in the first scan line, wherein the third pixel neighbors the first pixel in the first scan line;

accessing a fourth subset of the first portion of samples from the cache memory; and

filtering the fourth subset of the first portion of samples to generate a fourth pixel in the second scan line, wherein the fourth pixel neighbors the second pixel in the second scan line.

5. The method of claim 1 , further comprising:

reading a second portion of samples from the memory, wherein the second portion of samples corresponds to pixels in the at least two neighboring scan lines, wherein the second portion of samples neighbors the first portion of samples;

filtering a first subset of the second portion of samples to generate a third pixel in the first scan line; and

filtering a second subset of the second portion of samples to generate a fourth pixel in the second scan line.

6. The method of claim 5 ,

wherein the third pixel neighbors the first pixel in the first scan line; and

wherein the fourth pixel neighbors the second pixel in the second scan line.

7. The method of claim 1 ,

wherein the first subset of the second portion of samples includes a plurality of common samples with the first subset of the first portion of samples; and

wherein the second subset of the second portion of samples includes a plurality of common samples with the second subset of the first portion of samples.

8. The method of claim 1 , further comprising: performing said storing portions of samples in the cache memory, and said steps of filtering a plurality of times to generate all pixels in the first and second scan lines.

9. A method for generating pixels for a display device, the method comprising:

rendering a plurality of samples from vertex data, wherein each sample is rendered for a specific point in screen space;

storing the plurality of samples in a memory;

reading a first portion of samples from the memory, wherein the first portion of samples corresponds to pixels in at least two neighboring scan lines;

storing the first portion of samples in a sample cache; and

filtering respective subsets of the first portion of samples in the sample cache to generate a plurality of respective pixels, wherein the plurality of respective pixels are in a plurality of scan lines.

10. The method of claim 9 , wherein each of the respective subsets of the first portion of samples includes a plurality of common samples with another one of the respective subsets of the first portion of samples.

11. The method of claim 9 , wherein the plurality of scan lines comprises 2 scan lines.

12. The method of claim 9 , wherein the plurality of scan lines comprises greater than 2 scan lines.

13. The method of claim 9 , wherein said filtering respective subsets comprises:

filtering a first subset of the first portion of samples to generate a first pixel in a first scan line; and

filtering a second subset of the first portion of samples to generate a second pixel in a second scan line, wherein the second scan line neighbors the first scan line.

14. The method of claim 9 , wherein said filtering respective subsets of the first portion of samples comprises accessing the respective subsets of the first portion of samples from the cache memory.

15. The method of claim 14 , further comprising:

accessing different respective subsets of the first portion of samples from the cache memory; and

filtering the different respective subsets of the first portion of samples to generate a different plurality of respective pixels, wherein the different plurality of respective pixels are in the plurality of scan lines.

16. A graphics system, comprising:

a memory for storing a plurality of samples, wherein each sample is rendered for a specific point in screen space; and

a filter unit comprising a cache memory operable to:

read a first portion of samples from the memory, wherein the first portion of samples corresponds to pixels in at least two neighboring scan lines;

store the first portion of samples in the cache memory;

filter a first subset of the first portion of samples to generate a first pixel in a first scan line; and

filter a second subset of the first portion of samples to generate a second pixel in a second scan line, wherein the second scan line neighbors the first scan line, and wherein the pixels are usable in presenting an image on a display device.

17. A graphics system, comprising:

a first means for storing a plurality of samples, wherein each sample is rendered for a specific point in screen space;

means for reading a first portion of samples from the plurality of samples, wherein the first portion of samples corresponds to pixels in at least two neighboring scan lines;

a second means for storing the first portion of samples; and

means for filtering respective subsets of the first portion of samples to generate a plurality of respective pixels, wherein the plurality of respective pixels are in a plurality of scan lines.

Assignments (1)
MERGER AND CHANGE OF NAME Recorded Dec 12, 2015
From: ORACLE USA, INC.; SUN MICROSYSTEMS, INC.; ORACLE AMERICA, INC.
To: ORACLE AMERICA, INC.
Reel/Frame 037278/0842 →