Explicit Texture Filtering Weights for Pixel-Adaptive Kernel Variation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional graphics processors lack flexibility in texture filtering, as bilinear filter weights are inferred based on fractional texture coordinates, limiting the ability to produce varied filtered texels for each pixel.

Innovation Solution

The introduction of explicit weights for texture filtering, where each pixel can use a different filter kernel, with weights computed or read from a texture map, allowing scaling of texels based on integer portions of texture coordinates to produce filtered texels using a single texture fetch instruction.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If bilinear filter weights are inferred based on fractional texture coordinates, then texture filtering is performed using conventional methods, but flexibility in producing varied filtered texels for each pixel is limited

Engineering Contradiction:
Improveflexibility in texture filteringVSAvoidcomplexity of weight computation
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent extracts the weight computation from the fractional texture coordinates and stores it separately in a weight map. This allows weights to be independently controlled and varied for each pixel without being constrained by the bilinear filtering algorithm, thereby increasing flexibility while keeping the filtering mechanism itself simple.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The weights are pre-computed and stored in a weight map before the actual texture filtering operation. This preliminary action allows the filtering process to simply retrieve and apply pre-determined weights, avoiding complex real-time computations during rendering and maintaining device efficiency.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If explicit weights are used for texture filtering, then different filter kernels can be used for each pixel, but additional processing is required to obtain and apply these weights

Engineering Contradiction:
Improveperformance of texture filteringVSAvoidcomplexity of weight processing
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent merges the weight retrieval and texture sampling operations into a unified process. Both the texture coordinates and weights are fetched from their respective maps (texture map and weight map) in parallel, and the filtering operation combines them in a single pass, improving productivity without proportionally increasing complexity.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The weight map serves as an intermediary data structure that stores pre-computed filtering weights. This intermediary allows the system to use complex filter kernels without requiring complex computation logic in the filtering pipeline itself, as the weights are already prepared and ready for application.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Adaptability or versatility

If weights are read from a texture map, then explicit weights can be provided for each pixel, but an additional texture map access is required

Engineering Contradiction:
Improveability to vary weights per pixelVSAvoidtime for texture map access
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The weights are pre-computed and stored in the weight map before the rendering operation begins. This preliminary action eliminates the need for complex real-time weight calculations during pixel processing, allowing the system to simply retrieve pre-prepared weights and apply them, thereby reducing processing time despite the additional map access.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent enables continuous texture filtering operations with varying weights by maintaining the weight map in accessible memory. The filtering pipeline continuously retrieves weights and applies them to each pixel without interruption or recalculation, ensuring that the additional weight map access does not create bottlenecks in the rendering pipeline.

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS7593018B1Method and apparatus for providing explicit weights for texture filtering
Publication Date: 2009.09.22 NVIDIA CORP
  • US7593018B1 patent drawing
  • US7593018B1 patent drawing
  • US7593018B1 patent drawing

AI summary

A system and method for providing explicit weights for texture filtering permits filter weights to vary for each pixel within a primitive. A different filter kernel may be used for each pixel. The weights may be computed or read from a texture map. Because the weights are explicit, the fractional portions of the texture map coordinates that are typically used to determine a bilinearly filtered texel are not used.