Regenerable Bitmap Cache Management for Memory-Constrained Rendering

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current media content rendering technologies face challenges in managing memory efficiently, particularly in platforms with limited resources, as they often require caching uncompressed images and struggle with effective cache management policies to balance memory usage and rendering speed.

Innovation Solution

The implementation of a cache management system that uses a class hierarchy to store and manage digital image objects, allowing for regenerable bitmaps that are eligible for regeneration based on access recency, with management objects that automatically add and remove themselves from the cache and manage memory allocation, enabling efficient memory utilization and regeneration of images.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If uncompressed images are cached to increase rendering speed, then rendering speed is improved, but memory usage increases

Engineering Contradiction:
Improverendering speedVSAvoidmemory usage
Core Design Contradiction:
SpeedVSQuantity of substance

Solution Approach 1:

The patent changes the state of cached images from uncompressed to compressed format, allowing the cache to store more images in the same memory space while maintaining the ability to quickly decompress and render when needed

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The system pre-compresses images before caching them in the LRU cache, so that when images need to be rendered, they are already in a compact form that can be quickly decompressed by the graphics hardware, eliminating the need to cache large uncompressed versions

Inventive Principle:
Principle #10Preliminary action

2Ease of operation

If a fixed size LRU cache is used to manage bitmaps, then cache management is simplified, but memory efficiency is reduced

Engineering Contradiction:
Improvecache management simplicityVSAvoidmemory efficiency
Core Design Contradiction:
Ease of operationVSQuantity of substance

Solution Approach 1:

The patent introduces a dynamic cache management system where the LRU cache size and composition can change over time based on usage patterns, allowing the system to adapt to different memory conditions and access patterns rather than being constrained by a fixed size

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes the parameter of cache entry size by storing compressed versions instead of uncompressed bitmaps, allowing more cache entries to coexist in the same memory space and improving overall cache utilization

Inventive Principle:
Principle #35Parameter changes

3Quantity of substance

If cached images are dropped on an LRU basis to make room for new data, then memory usage is controlled, but rendering performance degrades

Engineering Contradiction:
Improvememory usage controlVSAvoidrendering performance
Core Design Contradiction:
Quantity of substanceVSSpeed

Solution Approach 1:

By changing images from uncompressed to compressed format before caching, the system reduces the memory footprint of each cached image, allowing more images to be retained in the cache simultaneously, thus reducing LRU evictions and improving rendering performance

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS10089711B2Reconstructable digital image cache
Publication Date: 2018.10.02 ADOBE INC
  • US10089711B2 patent drawing
  • US10089711B2 patent drawing
  • US10089711B2 patent drawing

AI summary

Methods, systems, and apparatus, including computer programs encoded on computer storage media, for caching during media content rendering. In one aspect, a method performed by data processing apparatus includes receiving a request to load a digital image object for rendering; generating a first object from the digital image object; and managing the first object in a cache memory using a management object that is added to and removed from the cache memory along with the first object. In another aspect, a system includes a display device; a computer storage medium containing a cache memory; and a processor programmed to manage caching of data objects to be rendered using management objects that are cached along with the data objects, where at least one of the management objects includes a reference to a corresponding data object and an interface through which release and restoration of the corresponding data object is effected.