Caching Sub-pixel Coverage Values for Text Rendering

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current rendering technologies for text on computing devices are slow and resource-intensive, particularly when handling animations and interactive user interfaces, due to the complexity of processing steps required for text rendering, including calculation of coverage values, gamma correction, and combination of color information, which can lead to choppy or slow interface responses.

Innovation Solution

The proposed solution involves caching sub-pixel coverage values using sub-pixel anti-aliasing techniques, allowing for linear combination with overlapping display elements' color information, and configuring graphics processing units (GPUs) to perform these operations efficiently, thereby eliminating the need for gamma correction and streamlining the rendering process.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Manufacturing precision

If traditional text rendering with anti-aliasing is used, then text visual quality is improved, but rendering speed and resource efficiency deteriorate

Engineering Contradiction:
Improvetext rendering qualityVSAvoidrendering speed
Core Design Contradiction:
Manufacturing precisionVSProductivity

Solution Approach 1:

The patent pre-calculates and stores coverage values for text glyphs before actual rendering occurs. When text needs to be displayed, the pre-computed coverage values are retrieved and applied directly, eliminating the need for real-time anti-aliasing calculations. This preliminary preparation of rendering data significantly speeds up the rendering process while maintaining visual quality.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent separates coverage value calculation from color information processing. By dividing the rendering process into independent stages where coverage values are computed once and reused, the system avoids redundant calculations. The coverage map is segmented from the actual text rendering operation, allowing efficient reuse across different rendering contexts.

Inventive Principle:
Principle #1Segmentation

2Manufacturing precision

If gamma correction and color combination calculations are performed for each rendering operation, then color accuracy is improved, but processing complexity and resource usage increase

Engineering Contradiction:
Improvecolor accuracyVSAvoidprocessing complexity
Core Design Contradiction:
Manufacturing precisionVSDevice complexity

Solution Approach 1:

The patent performs gamma correction and color space transformations in advance during the coverage value calculation phase. The corrected coverage values are stored with the pre-computed data, so that during actual rendering, only simple composition operations are needed. This preliminary processing of color-critical operations reduces runtime complexity while preserving color accuracy.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent creates pre-processed copies of text rendering data that include embedded coverage values and color information. These copied and pre-prepared rendering objects can be instantiated and composited efficiently without requiring repeated complex calculations. The system works with copies of rendering data that have already undergone expensive processing operations.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS9171386B2Caching coverage values for rendering text using anti-aliasing techniques
Publication Date: 2015.10.27 MICROSOFT TECHNOLOGY LICENSING LLC
  • US9171386B2 patent drawing
  • US9171386B2 patent drawing
  • US9171386B2 patent drawing

AI summary

Techniques for calculating sub-pixel coverage values for text to be displayed, so as to enable caching of the sub-pixel coverage values. The sub-pixel coverage values may enable a linear combination of color information for the text with color information for one or more other, overlapping display elements for calculating composite color values to be used in controlling a display. Such composite color values to be used in controlling sub-pixels of a display may be calculated, in some embodiments, without performing a gamma correction process. Also described are techniques for retrieving cached sub-pixel coverage values and combining the values with color information for text and for other, overlapping display elements to calculate composite color values for sub-pixels of a display. At least one graphics processing unit (GPU) may be configured to perform operations using the sub-pixel coverage information and to calculate the composite color values for the sub-pixels.