Per-Line Texture Rendering for Scrolling Caption Synchronization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current methods for rendering scrolling captions using OpenGL ES in embedded systems are inefficient, requiring the re-rendering of all glyphs, which can lead to slow performance and misalignment with audio in media programs, impacting the viewing experience.

Innovation Solution

The method involves generating and storing per-line textures for captions, allowing only the necessary glyphs to be rendered once and updating their positions within a framebuffer object, thereby avoiding the need to re-draw all glyphs, and managing these textures in an active list to ensure efficient scrolling.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If all texts/glyphs are re-rendered for scrolling captions using traditional OpenGL methods, then the captions can be displayed with proper scrolling effect, but the rendering speed becomes slow and may not align with audio synchronization

Engineering Contradiction:
Improverendering speedVSAvoidaudio-caption synchronization
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The patent divides the caption rendering process into separate line segments, where each line of text is rendered independently and stored as a separate texture. This allows individual lines to be managed and scrolled without re-rendering the entire caption block, significantly improving rendering speed while maintaining synchronization reliability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent pre-renders each line of text into a texture object before scrolling is needed. These pre-rendered line textures are stored and reused during scrolling, eliminating the need for real-time re-rendering and ensuring that caption display keeps pace with audio playback without computational delays.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If traditional OpenGL rendering is used for scrolling captions, then captions can be displayed, but the computational load increases and rendering performance decreases

Engineering Contradiction:
Improverendering efficiencyVSAvoidcomputational load
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The patent creates texture copies of rendered text lines and stores them in memory. Instead of re-rendering text during scrolling, the system reuses these pre-created texture copies, dramatically reducing computational load and improving rendering efficiency while maintaining visual quality.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The patent manages a pool of line textures where rendered line textures are discarded from active memory after being scrolled off-screen, and recovered when needed again. This optimization reduces the number of active textures in memory, lowering computational overhead and improving rendering efficiency.

Inventive Principle:
Principle #34Discarding and recovering

Data Source

PatentUS11877036B2Rendering scrolling captions
Publication Date: 2024.01.16 ARRIS ENTERPRISES LLC
  • US11877036B2 patent drawing
  • US11877036B2 patent drawing
  • US11877036B2 patent drawing

AI summary

A method, system, and computer program product for rendering scrolling captions for media content includes a processor to receive a first request to display a first line of text associated with a media file. The processor may generate a framebuffer object (FBO) and a first texture per-line (TPL) for the first line of text. The processor may draw one or more glyphs on the first TPL, and render the first TPL in a first position of the FBO. The processor may receive a second request to display a second line of text. The processor may generate a second TPL for the second line of text, draw one or more glyphs on the second TPL, render the first TPL in a second position and the second TPL in the first position.