IP Library Granted Patent US 7,432,936
Granted Patent B2
US 7,432,936 · App. 11/003,999 · Granted Oct 7, 2008

Texture data anti-aliasing method and apparatus

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,432,936
App. No.
11/003,999
Granted
Oct 7, 2008
Kind
B2
Abstract

Computer-implemented methods of pre-filtering texture data and methods of generating a filter control for pre-filtering texture data for generating a graphics image are disclosed. The disclosed methods include determining encoded pre-filter characteristics representing a measure of the maximum change in a texture due to moving a least one pixel any direction in a graphics image. The encoded pre-filter characteristics can be used to control filtering of texture data for texture mapping a graphics image.

Claims (45)

1. A computer-implemented method of producing graphics image data comprising:

receiving texture data and object data for the graphics image;

generating a primary polygon mesh comprising a list of polygons, polygon vertices, and texture for the graphics image from the texture data and object data;

generating an auxiliary mesh comprising values for at least one pre-filter characteristic for polygon vertices of the primary polygon mesh;

rendering a filter control map from the auxiliary mesh;

pre-filtering the texture data, wherein values for at least one pre-filter characteristic are determined by the filter control map; and

texture mapping the pre-filtered texture data and primary polygon mesh to generate the graphics image.

2. The method of claim 1 , wherein the polygon mesh is a triangle mesh comprising a list of triangles, triangle vertices, and texture for the graphics image from the texture data and object data.

3. The method of claim 1 , wherein the auxiliary mesh comprises a list of values for at least one pre-filter characteristic corresponding to each polygon vertex of the primary polygon mesh.

4. The method of claim 1 , wherein the values for at least one pre-filter characteristic represent a measure of the maximum change in the texture due to moving at least one pixel in the rendered graphics image.

5. The method of claim 1 , wherein the auxiliary mesh comprises a list of values for at least one horizontal pre-filter characteristic and values for at least one vertical pre-filter characteristic corresponding to vertices of the primary polygon mesh.

6. The method of claim 5 , wherein the values for the at least one horizontal pre-filter characteristic and the at least one vertical pre-filter characteristic represent a measure of the maximum change in the texture due to moving at least one pixel in the rendered graphics image.

7. The method of claim 1 , wherein rendering the filter control map comprises interpolating average values for at least one pre-filter characteristic for polygon vertices listed in the auxiliary mesh to generate an array of encoded values for at least one pre-filter characteristic.

8. The method of claim 7 , wherein interpolating comprises linearly interpolating.

9. The method of claim 1 , wherein rendering the filter control map comprises interpolating average values for at least one pre-filter characteristic for each polygon vertex listed in the auxiliary mesh to generate an array of encoded values for at least one pre-filter characteristic.

10. The method of claim 1 , wherein rendering the filter control map comprises linearly interpolating average values for at least one horizontal pre-filter characteristic and average values for at least one vertical pre-filter characteristic for the vertices listed in the auxiliary mesh to generate an array of encoded values for at least one horizontal pre-filter characteristic and encoded values for at least one vertical pre-filter characteristic.

11. The method of claim 10 , wherein the array of encoded filter values has the dimensions of the texture data.

12. The method of claim 1 , wherein the filter control map comprises an array of encoded values for at least one pre-filter characteristic.

13. The method of claim 12 , wherein the array of encoded filter values has the dimensions of the texture data.

14. The method of claim 12 , wherein the encoded values for the at least one pre-filter characteristic determines a cut-off frequency of a finite impulse response filter.

15. The method of claim 1 , wherein the filter control map comprises an array of encoded values for at least one horizontal pre-filter characteristic and encoded values for at least one vertical pre-filter characteristic.

16. The method of claim 15 , wherein the encoded values for the at least one horizontal pre-filter characteristic and the encoded values for the at least one vertical pre-filter characteristic determines a cut-off frequency of a finite impulse response filter.

17. The method of claim 1 , wherein Gouraud shading is used to render the filter control map from the auxiliary mesh.

18. The method of claim 1 , wherein pre-filtering the texture data comprises horizontally pre-filtering the texture data, wherein at least one characteristic of the horizontal pre-filter is determined by the filter control map, and vertically pre-filtering the horizontally pre-filtered texture data, wherein at least one characteristic of the vertical pre-filter is determined by the filter control map.

19. A system for producing graphics image data, comprising:

a memory configured to store instructions; and

a processor configured to execute the instructions stored in the memory:

to receive texture data and object data for a graphics image;

to generate a primary polygon mesh comprising a list of polygons, polygon vertices, and texture for a graphics image from the texture data and object data;

to generate an auxiliary mesh comprising encoded values for at least one pre-filter characteristic for polygon vertices of the primary polygon mesh;

to generate a filter control map from the auxiliary polygon mesh;

to pre-filter the texture data, wherein at least one characteristic of the pre-filter is determined by the filter control map; and

to texture map the pre-filtered texture data and the primary polygon mesh to generate the graphics image data.

20. The system of claim 19 , wherein the primary polygon mesh is a triangle mesh comprising a list of triangles, triangle vertices, and texture for a graphics image from the texture data and object data.

21. The system of claim 19 , wherein the auxiliary mesh comprises encoded values for at least one pre-filter characteristic for each polygon vertex of the primary polygon mesh.

22. The system of claim 19 , wherein to pre-filter the texture data comprises to horizontally pre-filter the texture data, wherein at least one characteristic of the horizontal pre-filter is determined by the filter control map; and to vertically pre-filter the horizontally pre-filtered texture data, wherein at least one characteristic of the vertical pre-filter is determined by the filter control map.

23. The system of claim 19 , wherein to texture map comprises texture mapping horizontally and vertically pre-filtered texture data and the primary polygon mesh to generate the graphics image data.

24. The system of claim 19 , wherein to generate an auxiliary mesh comprising encoded values for at least one pre-filter characteristic for each polygon vertex of the primary polygon mesh.

25. A computer-readable medium storing instructions executable by a processor to perform a method of producing graphics image data comprising:

receiving texture data and object data for the graphics image;

generating a primary polygon mesh comprising a list of polygons, polygon vertices, and texture for the graphics image from the texture data and object data;

generating an auxiliary mesh comprising values for at least one pre-filter characteristic for polygon vertices of the primary polygon mesh;

rendering a filter control map from the auxiliary mesh;

pre-filtering the texture data, wherein values for at least one pre-filter characteristic are determined by the filter control map; and

texture mapping the pre-filtered texture data and primary polygon mesh to generate the graphics image data.

Assignments (8)
RELEASE OF SECURITY INTEREST Recorded Jan 5, 2021
From: CERBERUS BUSINESS FINANCE, LLC
To: AVID TECHNOLOGY, INC.
Reel/Frame 055731/0019 →
RELEASE OF SECURITY INTEREST IN UNITED STATES PATENTS Recorded Mar 1, 2016
From: KEYBANK NATIONAL ASSOCIATION
To: AVID TECHNOLOGY, INC.
Reel/Frame 037970/0201 →
ASSIGNMENT FOR SECURITY -- PATENTS Recorded Feb 26, 2016
From: AVID TECHNOLOGY, INC.
To: CERBERUS BUSINESS FINANCE, LLC, AS COLLATERAL AGENT
Reel/Frame 037939/0958 →
RELEASE OF SECURITY INTEREST Recorded Jun 30, 2015
From: WELLS FARGO CAPITAL FINANCE, LLC
To: AVID TECHNOLOGY INC.; AVID SYSTEMS, INC.
Reel/Frame 036037/0693 →
PATENT SECURITY AGREEMENT Recorded Jun 23, 2015
From: AVID TECHNOLOGY, INC.
To: KEYBANK NATIONAL ASSOCIATION, AS THE ADMINISTRATIVE AGENT
Reel/Frame 036008/0824 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 21, 2012
From: PINNACLE SYSTEMS, INC.
To: AVID TECHNOLOGY, INC.
Reel/Frame 029517/0310 →
SECURITY AGREEMENT Recorded Nov 9, 2010
From: AVID TECHNOLOGY, INC.; PINNACLE SYSTEMS, INC.
To: WELLS FARGO CAPITAL FINANCE, LLC, AS AGENT
Reel/Frame 025675/0413 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 18, 2005
From: WOODBURY, WILLIAM C.
To: PINNACLE SYSTEMS, INC.
Reel/Frame 016158/0724 →