GPU Texture Tile Caching for High Resolution Image Panning

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Real-time image display in computer systems experiences slowdowns or freezing when panning and zooming due to limited GPU texture memory, maximum texture size constraints, and memory transfer speed limitations, which are exacerbated by the need for mip maps that require extra storage and processing.

Innovation Solution

Organizing image data into multiple resolution layers divided into data tiles, maintaining these tiles in cached textures of a GPU, and using a combination of CPU and GPU to efficiently draw images by utilizing lower resolution data while loading higher resolution data, ensuring seamless panning and zooming without freezing.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If the entire high resolution image is stored in GPU texture memory, then the image quality and resolution are improved, but the available texture memory is insufficient to store the entire image

Engineering Contradiction:
Improveimage resolutionVSAvoidtexture memory capacity
Core Design Contradiction:
Measurement precisionVSQuantity of substance

Solution Approach 1:

The patent divides the high-resolution image into multiple tiles or chunks that can be stored separately in GPU texture memory. Each tile represents a portion of the overall image, allowing the system to manage limited memory resources by loading only the necessary tiles into memory at any given time rather than attempting to load the entire high-resolution image at once.

Inventive Principle:
Principle #1Segmentation

2Adaptability or versatility

If mip maps are used for high resolution images, then the image display at varying zoom levels is improved, but the extra storage and processing requirements increase system complexity

Engineering Contradiction:
Improvezoom level displayVSAvoidmip map processing
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent extracts or removes the mip map generation and processing step from the image display pipeline. Instead of generating and managing multiple resolution levels through mip maps, the system uses a single high-resolution image and dynamically loads appropriate tiles into GPU memory based on the current zoom level and viewport, eliminating the need for pre-generated mip map pyramids and their associated complexity.

Inventive Principle:
Principle #2Taking out (Extraction)

3Measurement precision

If the image is displayed at high resolution, then the image quality is improved, but the memory transfer speed between main memory and GPU limits the data transfer rate

Engineering Contradiction:
Improveimage resolutionVSAvoidmemory transfer speed
Core Design Contradiction:
Measurement precisionVSSpeed

Solution Approach 1:

The patent performs preliminary actions by pre-processing the high-resolution image into manageable tiles on the CPU before transferring to the GPU. This preparation work is done in advance, allowing the GPU to receive smaller, optimized chunks of data that can be transferred more efficiently through memory bandwidth constraints, while still maintaining the ability to display high-resolution imagery when needed.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS7570271B1High speed display of high resolution image
Publication Date: 2009.08.04 ADOBE INC
  • US7570271B1 patent drawing
  • US7570271B1 patent drawing
  • US7570271B1 patent drawing

AI summary

A system maintains data from different resolution levels of an image in textures of a graphics processing unit (GPU). Image data is organized into multiple resolution layers of an image. Data from the lower resolution level(s) is used to process an image while higher resolution data is loaded. In one embodiment, a first resolution representation of the image having a lowest resolution level using data resident in the GPU memory is drawn prior to drawing a portion of a second resolution representation having a higher resolution level using data resident in the GPU memory.