Lookup Tables for GPU Text Rendering Data Transfer

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current text rendering processes are computationally intensive, particularly in the merging and filtering steps, due to inefficient data transfer and processing of coverage data between the CPU and GPU, leading to high CPU usage and memory inefficiencies.

Innovation Solution

Implementing a higher data density format for transferring coverage data, such as 8-bits-per-pixel, and pre-calculating pixel corrections to reduce computational burden on the GPU, along with using lookup tables to efficiently assemble and unpack data, thereby optimizing memory usage and processing efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If traditional 1-bit-per-pixel coverage data format is used for text rendering, then memory bandwidth is consumed for transferring data between CPU and GPU, but memory usage efficiency deteriorates due to high data volume

Engineering Contradiction:
Improvememory usageVSAvoidtext rendering efficiency
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

The patent changes the data representation parameter from 1-bit-per-pixel coverage data to a more compact format that encodes multiple pixel coverage values in fewer bits. This parameter change reduces the total data volume transferred between CPU and GPU, improving memory usage efficiency while maintaining the ability to represent all necessary coverage information for anti-aliased text rendering.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent introduces a new dimensional approach by organizing coverage data in a compressed hierarchical structure rather than the traditional flat 1-bit-per-pixel format. This dimensional reorganization allows multiple pixel coverage values to be encoded together, reducing memory bandwidth requirements while preserving rendering quality.

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

2Power

If merging and filtering steps are performed on CPU, then computational intensity is reduced on GPU, but CPU usage increases significantly

Engineering Contradiction:
Improvecomputational load distributionVSAvoidoverall rendering performance
Core Design Contradiction:
PowerVSProductivity

Solution Approach 1:

The patent performs preliminary preparation of compact coverage data on the CPU before GPU processing, encoding multiple pixel values into a compressed format. This preliminary action reduces the data volume that needs to be processed and transferred, allowing the GPU to perform merging and filtering operations more efficiently with less data, thereby balancing the computational load without significantly increasing CPU usage.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent extracts and pre-processes only the essential coverage information in a compact format on the CPU, separating the critical data preparation tasks from the full rendering pipeline. This extraction allows the GPU to receive pre-processed, compressed data that requires less computational effort for merging and filtering, improving overall rendering performance.

Inventive Principle:
Principle #2Taking out (Extraction)

3Ease of manufacture

If coverage data is transferred from CPU to GPU in traditional format, then data transfer is straightforward, but memory bandwidth is wasted due to inefficient data density

Engineering Contradiction:
Improvedata transfer simplicityVSAvoidmemory bandwidth utilization
Core Design Contradiction:
Ease of manufactureVSQuantity of substance

Solution Approach 1:

The patent changes the data format parameter from traditional 1-bit-per-pixel to a compact encoded format that represents multiple pixels per byte. This parameter change increases data density, allowing the same amount of coverage information to be transferred using fewer memory bandwidth resources, thus eliminating waste while maintaining transfer simplicity through standardized encoding procedures.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentEP2583239B1Lookup tables for text rendering
Publication Date: 2020.03.04 MICROSOFT TECHNOLOGY LICENSING LLC
  • EP2583239B1 patent drawingFigure 1
  • EP2583239B1 patent drawingFigure 2
  • EP2583239B1 patent drawingFigure 3

AI summary

Systems and methods are provided for improved filtering and correcting of glyphs on a GPU. The computational intensity required for filtering and/or rendering can be reduced by pre-calculating some or all of the calculations needed for converting coverage data into corrected pixel values. Additional efficiencies may be realized in some embodiments by transferring data from a CPU to a GPU in an improved format. The improvements can be realized in a variety of graphics formats.