Interface Compression for Raster Stage Tile Transfer

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing 3-D rendering architectures face challenges in scaling to handle complex scenes without increasing power consumption or reducing fabrication yield, as traditional methods like increasing clock speed or adding parallel execution units lead to negative side effects such as increased power consumption and larger die size.

Innovation Solution

A method and system for interface compression in the raster stage of a graphics processor, where graphics primitives are rasterized at a coarse level to generate tiles, and either uncompressed or compressed coverage masks are output based on required operations, allowing for efficient transfer between components and reducing silicon die area, enabling performance scaling without unnecessary bloat.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If traditional methods of increasing clock speed are used to improve rendering performance, then processing speed is improved, but power consumption increases

Engineering Contradiction:
Improverendering performanceVSAvoidpower consumption
Core Design Contradiction:
SpeedVSUse of energy by moving object

Solution Approach 1:

The rasterization process is divided into two levels: coarse rasterization that generates tiles, and fine rasterization that processes individual pixels. This segmentation allows the system to process multiple tiles in parallel at the coarse level, improving throughput without requiring proportional increases in clock speed, thereby avoiding the power consumption penalty associated with higher frequencies.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a tile-based intermediate representation between primitives and pixels, adding a spatial dimension to the processing hierarchy. By organizing pixels into tiles and processing at the tile level first, the system achieves parallelism across multiple tiles simultaneously, improving rendering performance through structural reorganization rather than frequency increases.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Productivity

If large numbers of parallel execution units are incorporated to improve rendering performance, then processing throughput is improved, but integrated circuit die size increases

Engineering Contradiction:
Improverendering throughputVSAvoiddie size
Core Design Contradiction:
ProductivityVSArea of stationary object

Solution Approach 1:

The rendering pipeline is segmented into coarse rasterization units that generate tiles and fine rasterization units that process pixels within tiles. This segmentation enables a more compact architecture where parallelism is achieved through the tile processing pipeline rather than requiring numerous full-featured execution units, thereby improving throughput while controlling die size.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system dynamically switches between processing modes based on the primitive type and scene complexity. For simple primitives, the coarse rasterization can process multiple tiles efficiently; for complex primitives requiring per-pixel operations, the fine rasterization handles them selectively. This dynamic approach optimizes throughput without requiring maximum parallelism at all times, reducing the required die size.

Inventive Principle:
Principle #15Dynamics

3Productivity

If large numbers of parallel execution units are incorporated to improve rendering performance, then processing throughput is improved, but manufacturing yield decreases

Engineering Contradiction:
Improverendering throughputVSAvoidmanufacturing yield
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

By segmenting the rasterization into coarse and fine stages with distinct functional responsibilities, the patent creates a more modular and testable architecture. This segmentation reduces the complexity of any single execution unit, making each unit easier to manufacture with higher yield, while the overall system achieves high throughput through the coordinated operation of multiple simpler units in the pipeline.

Inventive Principle:
Principle #1Segmentation

4Quantity of substance

If interface compression is applied to reduce data transfer, then bandwidth efficiency is improved, but complexity of handling compressed data increases

Engineering Contradiction:
Improvedata transfer volumeVSAvoidcompression handling complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The coarse rasterization performs preliminary processing to generate tiles and determine which regions require fine rasterization. This preliminary action identifies and compresses only the necessary data (coverage masks for relevant tiles) before transfer to the fine rasterization stage, reducing data transfer volume while keeping compression handling complexity manageable through targeted processing.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS8427487B1Multiple tile output using interface compression in a raster stage
Publication Date: 2013.04.23 NVIDIA CORP
  • US8427487B1 patent drawing
  • US8427487B1 patent drawing
  • US8427487B1 patent drawing

AI summary

A method and system for interface compression in a raster stage of a graphics processor. The method includes receiving a graphics primitive for rasterization in a raster stage of a graphics processor and rasterizing the graphics primitive at a first level in a coarse raster component to generate a plurality of tiles related to the graphics primitive. The method determines whether a window ID operation is required for the plurality of tiles. If the operation is required, a respective plurality of uncompressed coverage masks for the tiles are output from the coarse raster component to a fine raster component on a one coverage mask per clock cycle basis. If the operation is not required, a compressed coverage mask for the tiles is output in a single clock cycle. The tiles are subsequently rasterized at a second-level in the fine raster component to generate pixels related to the graphics primitive.