Subpixel Text Rendering via Glyph Texture Segmentation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In text rendering, differences between glyphs become noticeable due to different pixel alignments, especially at subpixel scales, when using the same texture, leading to loss of quality in display.

Innovation Solution

A method where a subpixel alignment offset is determined for glyphs to be displayed, and based on this offset, appropriate versions of the glyphs are selected and blended to maintain quality, using a graphics pipeline that includes a subpixel alignment module, texture selection and extraction module, and blending module, allowing for rendering without loss of quality at subpixel scales.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If the same texture is reused for rendering glyphs, then memory usage is reduced and rendering efficiency is improved, but noticeable differences and quality loss occur due to different pixel alignments at subpixel scales

Engineering Contradiction:
Improverendering efficiencyVSAvoidglyph rendering quality
Core Design Contradiction:
ProductivityVSManufacturing precision

Solution Approach 1:

The texture atlas is segmented into multiple versions, each containing glyphs rendered with specific subpixel alignment offsets (e.g., -0.5, 0.0, +0.5). This segmentation allows the system to select the appropriate version based on the actual subpixel alignment requirements, preventing quality loss while maintaining efficient texture reuse.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Multiple versions of the texture atlas are pre-generated with different subpixel alignment offsets before runtime. This preliminary action ensures that when glyphs are rendered at subpixel scales, the system can immediately select the matching pre-rendered version without real-time computation, maintaining both efficiency and quality.

Inventive Principle:
Principle #10Preliminary action

2Manufacturing precision

If multiple versions of glyph textures are maintained for different subpixel alignments, then rendering quality at subpixel scales is improved, but memory usage and texture management complexity increase

Engineering Contradiction:
Improveglyph rendering qualityVSAvoidtexture management complexity
Core Design Contradiction:
Manufacturing precisionVSDevice complexity

Solution Approach 1:

The multiple texture atlas versions serve a universal purpose: each version can render any glyph set, but with different subpixel alignment characteristics. This multi-functionality allows the system to handle various subpixel alignment scenarios using the same set of pre-rendered textures, reducing the need for entirely separate texture sets for each alignment case.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The system changes the subpixel alignment offset parameter when generating different texture atlas versions. By varying this single parameter during pre-processing, multiple versions are created that can accommodate different alignment scenarios, simplifying texture management compared to creating entirely different texture sets for each case.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS11568836B2Subpixel text rendering
Publication Date: 2023.01.31 ELECTRONIC ARTS INC
  • US11568836B2 patent drawing
  • US11568836B2 patent drawing
  • US11568836B2 patent drawing

AI summary

A system may render glyphs based on stored textures without loss of quality at subpixel scales. The system may determine a content of a pixel of a display corresponds to a glyph, determine a subpixel alignment offset of a specified screen coordinates for the glyph with respect to the pixels of the display, based on the subpixel alignment offset, select one or more versions of the glyph from a plurality of versions of the glyph, a first version of the glyph of the plurality of versions of the glyph having a corresponding first subpixel alignment offset and a second version of the glyph of the plurality of versions of the glyph having a corresponding second subpixel alignment offset, and generate a display version of the pixel based on the selected one or more versions of the glyph and the subpixel alignment offset of the specified screen coordinates.