WikiPatents - Community Patent Review
Create Free Account  |  License or Sell Your Patent  |  WikiPatents Marketplace  |  WikiPatents Blog
Username:  Password:  
    
Advanced Search
Generation of jittered sub-pixel samples using programmable sub-pixel offsets    

Get related patents on CD
United States Patent7403208   
Link to this pagehttp://www.wikipatents.com/7403208.html
Inventor(s)Bastos; Rui M. (Santa Clara, CA), Carr; Nathan A. (Urbana, IL)
AbstractJittered sub-pixel samples are used to reduce aliasing during rendering in a graphics pipeline. Sub-pixel samples are jittered using programmed sub-pixel offset values, permitting an application to select not only the number of sub-pixel samples within a pixel, but also the position of each sub-pixel sample within the pixel.
   














 Title Information Submit all comments and votes
 
Patent Text Patent PDF Print Page Summary File History
Plain text PDF images Print Summary File History Custom Search
Inventor     Bastos; Rui M. (Santa Clara, CA) , Carr; Nathan A. (Urbana, IL)
Owner/Assignee     NVIDIA Corporation (Santa Clara, CA)
Patent assignment
All assignments
Company News
Publication Date     July 22, 2008
Application Number     11/389,602
PAIR File History     Application Data   Transaction History
Image File Wrapper   Patent Term   Fees
Litigation
Filing Date     March 23, 2006
US Classification     345/613
Int'l Classification    
Examiner     Tung; Kee M.
Assistant Examiner     Richer; Aaron M
Attorney/Law Firm     Patterson & Sheridan LLP
Address
Parent Case     CROSS-REFERENCE TO RELATED APPLICATIONS This application is a divisional of U.S. patent application Ser. No. 10/726,125, filed Dec. 2, 2003 now U.S. Pat. No. 7,050,068. Each of the aforementioned related patent applications is herein incorporated by reference.
Priority Data    
USPTO Field of Search     345/611 345/612 345/613 345/614 345/615 345/616 382/269
Patent Tags     generation jittered sub-pixel samples programmable sub-pixel offsets
   
Enter a comma (,) or semicolon (;) between multiple tag words/phrases.
Describe this patent:
 Amusing   
 Clever   
 Complex   
 Efficient   
 Historic   
 Important   
 Innovative   
 Interesting   
 Practical   
 Simple   
[no votes]
Patent WIKI

Share information and news about this patent, including information and news about the technology, inventors, company, ligation and licensing.

 References Submit all comments and votes
 
*references marked with an asterisk below are user-added references
 U.S. References
 
Add a new US reference:  
ReferenceRelevancyCommentsReferenceRelevancyComments
7050068
Bastos et al.

May,2006

[0 after 0 votes]
2004/0012600
Deering et al.

Jan,2004

[0 after 0 votes]
2003/0122829
McNamara et al.

Jul,2003

[0 after 0 votes]
2002/0140706
Peterson et al.

Oct,2002

[0 after 0 votes]
2001/0033287
Naegle et al.

Oct,2001

[0 after 0 votes]
6285348
Lewis

Sep,2001

[0 after 0 votes]
September 1997


Sep,2001

[0 after 0 votes]
 Foreign References
 Other References
 Market Review Submit all comments and votes
   
Market Size
Estimate the gross annual revenues of the relevant market sector:
> $10B
$5B - $10B
$2B - $5B
$500M - $2B
$100M - $500M
$10M - $100M
$1M - $10M
$500K - $1M
$100K - $500K
< $100K
[No votes]
$0
 
$0   $2.5B   $5B   $7.5B   $10B

[0 market size comments]
Market Share
Estimate the percentage of the relevant market sector this invention will capture:
75% - 100%
50% - 74.99%
25% - 49.99%
10 - 24.99%
5 - 9.99%
2 - 4.99%
1 - 1.99%
< 1%
[No votes]
0.0%
 
0%   25%   50%   75%   100%

[0 market share comments]
Reasonable Royalty
What percentage of gross sales should the inventor or assignee be paid?
75% - 100%
50% - 74.99%
25% - 49.99%
10 - 24.99%
5 - 9.99%
2 - 4.99%
1 - 1.99%
< 1%
[No votes]
0.0%
 
0%   25%   50%   75%   100%

[0 reasonable royalty comments]
Public's "Guesstimation" of Royalty Value
Market SizeN/A[No votes]
xMarket ShareN/A[No votes]
xReasonable RoyaltyN/A[No votes]

N/A

[0 Guesstimation of Royalty Value Comments]
License Availablity
If you are NOT the owner or assignee, answer here:
Yes, license is available for purchase

No, license is not currently available



[No votes]
[0 license availability comments]
License Availablity
If you ARE the owner or assignee, answer here:
Yes, license is available for purchase

No, license is not currently available



[No votes]
[0 owner/assignee comments]
Competitive Advantage
Does this invention have a significant competitive advantage over similar technologies?
Yes

No



[No votes]
Most helpful competitive advantage comment
[No comments]

[0 competitive advantage comments]
Commercial Alternatives
Are there viable commercial alternatives for this invention?
Yes

No



[No votes]
Most helpful commercial alternative comment
[No comments]

[0 commercial alternatives comments]
 Technical Review Submit all comments and votes
 Claims Submit all comments and votes
 


The invention claimed is:

1. A programmable graphics processor for generating anti-aliased images utilizing a non-periodic jitter pattern that varies from pixel to pixel, comprising: a storage element configured to store programmed sub-pixel offset values, wherein the number of sub-pixel offset values stored is dependent on the resolution of the image to be displayed; an offset access unit coupled to the storage element, the offset access unit configured to read a portion of the sub-pixel offset values based on at least a portion of the coordinates of a pixel position; a sample computation unit configured to combine the pixel position and the portion of the programmed sub-pixel offset values, read from the storage element, dependent on the resolution of the image to be displayed to produce a jittered sub-pixel sample position for each and every sub-pixel sample cell within each pixel of an antialiased image so that the jitter pattern is effectively non-periodic, but is antialiased consistently from frame to frame, each sub-pixel offset value being either added to or subtracted from the pixel position coordinate to establish the sub-pixel sample position based on whether the sub-pixel sample position is in the left or right half of the cell; a rasterizer configured to produce sub-pixel coverage data associated with a fragment using the jittered sub-pixel sample positions; a shader configured to compute a depth value corresponding to the fragment depth at the pixel position; and a raster operations unit configured to produce sub-pixel depth values using the depth value corresponding to the fragment depth at the pixel position and the jittered sub-pixel sample positions.

2. The programmable graphics processor of claim 1, wherein the offset access unit reads the portion of the sub-pixel offset values using at least a portion of the pixel position.

3. The programmable graphics processor of claim 1, wherein the sub-pixel offset value is either added to or subtracted from the pixel position coordinate to establish the sub-pixel sample position based on whether the sub-pixel sample position is in the left or right half of the cell.

4. The programmable graphics processor of claim 1, wherein the storage element contains an odd number of sub-pixel offset values so that the same offset value may be used for both horizontal and vertical offset.

5. The programmable graphics processor of claim 1, further comprising a software driver configured to restrict the programmed sub-pixel offset values to those which will result in sub-pixel sample positions that are within the boundary of a pixel associated with the pixel position.

6. The programmable graphics processor of claim 1, wherein the raster operations unit is configured to process the sub-pixel depth values within the fragment as indicated by the sub-pixel coverage data.

7. The programmable graphics processor of claim 1, wherein the shader is configured to compute a color value corresponding to the fragment.

8. The programmable graphics processor of claim 7, wherein the color value corresponds to the fragment color at the pixel position.

9. The programmable graphics processor of claim 7, wherein the color value corresponds to the fragment color at another pixel position within the fragment when the pixel position does not lie within the fragment.

10. The programmable graphics processor of claim 1, wherein a single programmed sub-pixel offset value is combined with both an X coordinate and a Y coordinate of the pixel position to produce the jittered sub-pixel sample positions.

11. The programmable graphics processor of claim 1, wherein the sample computation unit is further configured to combine the pixel position and the portion of the programmed sub-pixel offset values by adding a first programmed sub-pixel offset value to a Y coordinate of the pixel position when the sub-pixel sample cell is located in an upper half of the pixel.

12. The programmable graphics processor of claim 1, wherein the sample computation unit is further configured to combine the pixel position and the portion of the programmed sub-pixel offset values by subtracting a first programmed sub-pixel offset value from a Y coordinate of the pixel position when the sub-pixel sample cell is located in a lower half of the pixel.

13. The programmable graphics processor of claim 1, wherein the sample computation unit is further configured to combine the pixel position and the portion of the programmed sub-pixel offset values by subtracting a first programmed sub-pixel offset value from an X coordinate of the pixel position when the sub-pixel sample cell is located in a left half of the pixel.

14. A method of determining sub-pixel sample positions for a pixel position to reduce aliasing utilizing a non-periodic jitter pattern that varies from pixel to pixel, the method comprising: determining pixel positions for a plurality of pixels in an image; determining a plurality of sub-pixel sample cells for each of the pixels; storing a number of sub-pixel offset values, wherein the number of sub-pixel offset values stored is dependent on the resolution of the image to be displayed; selecting a sub-pixel offset value for each and every one of the sub-pixel sample cells within each of the pixels based on the pixel positions, wherein the stored sub-pixel offset values are accessed using selected bits of the pixel position coordinates; combining the selected sub-pixel offset values with the pixel positions to determine a sub-pixel sample pattern defining the location of each cell of the plurality of sub-pixel sample cells based on the pixel position being sampled, each sub-pixel offset value being either added to or subtracted from the pixel position coordinate to establish the sub-pixel sample position based on whether the sub-pixel sample position is in the left or right half of the cell; and rendering graphics primitives representing the image using the sub-pixel sample pattern to produce an anti-aliased image for display, wherein the sub-pixel sample pattern used is non-periodic so that the jitter pattern is non-periodic, but is antialiased consistently from frame to frame.

15. A method as claimed in claim 14, wherein the sub-pixel offset value is added to a coordinate of the pixel position for sub-pixel sample cells in an upper half or a right half of the pixel.

16. A method as claimed in claim 14, wherein the sub-pixel offset value is applied as both a horizontal and vertical offset to the X,Y pixel position.

17. A method as claimed in claim 14, wherein the sub-pixel offset values are stored in a lookup table having a length dependent on the desired period between use of the offset value.
 Description Submit all comments and votes
 
Previous Patent (Intensity weighting for sub-pixel positioning)Next Patent (Rendering images containing video)

About WikiPatents   |  FAQs   |  Terms & Disclaimer   |  Marketplace   |  Link to WikiPatents   |  Contact Us
© Copyright 2007  - WikiPatents, Inc. - All rights reserved.

WikiPatents,Inc. is not affiliated with Wikipedia or the Wikimedia Foundation.