OpenGL ES Graphics Processing Using Indexed Bitmaps and Palettes

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Certain graphics formats, such as PNG, experience poor processing performance on devices using the OpenGL ES API, particularly on mobile devices, due to compatibility issues and high memory usage, limiting the utility of OpenGL ES for real-time rendering and graphics processing.

Innovation Solution

A method is introduced to improve decoding speed and memory usage by decoding PNG images into indexed bitmap objects, which are then transformed into acceptable formats for the GPU, allowing the GPU to render the graphics through the Open GLES API by providing index values in a single channel format and the color palette in a two-dimensional texture format.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If PNG images are decoded using standard methods on devices with OpenGL ES API, then the graphics can be processed, but the processing performance is poor and memory usage is high

Engineering Contradiction:
Improvegraphics processing performanceVSAvoidmemory usage
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The patent segments the PNG image data into two separate components: index values (stored in a single-channel texture) and color palette (stored in a two-dimensional texture). This segmentation allows the GPU to process only the compact index data while referencing the palette as needed, reducing memory bandwidth requirements and improving rendering performance on OpenGL ES devices.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent changes the data format parameter from standard RGBA bitmap to indexed color format with separate palette storage. By storing colors as indices (0-255) rather than full RGB values, the memory footprint is reduced by approximately 75%, and the decoding process is optimized for the specific constraints of OpenGL ES API on mobile devices.

Inventive Principle:
Principle #35Parameter changes

2Speed

If PNG images are decoded with optimized decoding speed, then memory usage is reduced, but the resulting indexed bitmap format is not compatible with OpenGL ES API

Engineering Contradiction:
Improvedecoding speedVSAvoidAPI compatibility
Core Design Contradiction:
SpeedVSAdaptability or versatility

Solution Approach 1:

The patent introduces an intermediate data structure that bridges the optimized indexed bitmap format and the OpenGL ES API requirements. The indexed bitmap with separate palette is converted into two OpenGL-compatible textures: a single-channel texture containing index values and a two-dimensional texture containing the color palette. This intermediary representation maintains both decoding efficiency and API compatibility.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent transforms the one-dimensional indexed color data into a two-dimensional texture format that OpenGL ES can process. The color palette is organized as a 2D texture array, and the index values are mapped to texture coordinates, enabling the GPU to perform efficient texture lookups while maintaining the benefits of indexed color storage.

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

3Reliability

If standard graphics formats are used with OpenGL ES API, then the API can process the graphics, but processing performance is poor especially for real-time rendering

Engineering Contradiction:
ImproveAPI compatibilityVSAvoidreal-time rendering performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent performs preliminary conversion of PNG images into the optimized indexed format with separate palette storage before passing them to the OpenGL ES pipeline. This pre-processing step ensures that the data is in the most efficient format for GPU processing, reducing the computational burden during real-time rendering operations and improving frame rates in applications like video playback and gaming.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10991065B2Methods and systems for processing graphics
Publication Date: 2021.04.27 TENCENT TECHNOLOGY (SHENZHEN) CO LTD
  • US10991065B2 patent drawing
  • US10991065B2 patent drawing
  • US10991065B2 patent drawing

AI summary

Method, system, and computer readable medium for processing graphics using an OpenGL Embedded Systems Application Programming Interface (Open GLES API) include: decoding a source graphic to generate a graphic object, where the graphic object includes a set of index values and a color palette; providing the graphic object to a Graphical Processing Unit (GPU) through the Open GLES API, including providing the set of index values in a first acceptable graphic format of the Open GLES API to the GPU, and providing the color palette in a second acceptable graphic format of the Open GLES API to the GPU; and triggering the GPU to render the source graphic according to the set of index values received in the first acceptable graphic format of Open GLES API and the palette received in the second acceptable graphic format of Open GLES API.