Per-Line Texture Rendering for Scrolling Caption Synchronization
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
2Productivity
If traditional OpenGL rendering is used for scrolling captions, then captions can be displayed, but the computational load increases and rendering performance decreases
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.
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.
Data Source
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.


