Shared Fill Bounding Region for Display List Memory Reduction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods for reducing memory usage in display lists, such as converting to a fillmap format, often result in high memory requirements for bitmap fills due to the need to render entire lists for transparent or composited objects, leading to significant computational and memory expenses.

Innovation Solution

A method is introduced to associate a shared fill with multiple objects by determining a bounding region for the shared fill, updating it based on non-overlapping fills within this region, and rendering objects using the updated shared fill, thereby reducing memory usage and computational costs.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If the display list is converted to a fillmap intermediate format to reduce memory usage, then the path data memory can be freed, but the number of regions increases leading to high memory requirements for bitmap fills

Engineering Contradiction:
Improvememory usageVSAvoidnumber of regions
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The patent merges adjacent non-overlapping fills into a single shared fill that is referenced by multiple objects. This is achieved by determining a bounding region that contains multiple non-overlapping fills, creating a shared fill with a bounding box, and then having multiple objects reference this single shared fill instead of each object having its own separate fill. This reduces the total number of fill references and memory requirements while maintaining the visual appearance of multiple distinct fills.

Inventive Principle:
Principle #5Merging (Combining)

2Quantity of substance

If fills are combined by rendering into a consolidated image, then memory usage is reduced, but the entire display list must be rendered which is computationally expensive

Engineering Contradiction:
Improvememory usageVSAvoidcomputational cost
Core Design Contradiction:
Quantity of substanceVSPower

Solution Approach 1:

The patent performs preliminary actions by pre-determining bounding regions and creating shared fills before the actual rendering process. The bounding region is calculated and the shared fill is created in advance, so that during rendering, multiple objects can reference the same pre-prepared fill data without requiring re-rendering or recomputation. This separates the preparation phase from the rendering phase, reducing computational costs during execution.

Inventive Principle:
Principle #10Preliminary action

3Measurement precision

If transparent or composited objects are rendered to maintain quality, then rendering accuracy is improved, but memory usage and processing time increase significantly

Engineering Contradiction:
Improverendering accuracyVSAvoidmemory usage
Core Design Contradiction:
Measurement precisionVSQuantity of substance

Solution Approach 1:

The patent creates a universal shared fill that serves multiple objects simultaneously. Instead of rendering each transparent or composited object separately with its own fill data, the system creates a single shared fill that can be referenced by multiple objects. This shared fill maintains the necessary transparency and compositing information, allowing multiple objects to share the same rendering resources while preserving rendering accuracy for transparent and composited elements.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS9459819B2Method, apparatus and system for associating an intermediate fill with a plurality of objects
Publication Date: 2016.10.04 CANON KK
  • US9459819B2 patent drawing
  • US9459819B2 patent drawing
  • US9459819B2 patent drawing

AI summary

A method of associating a shared fill with a plurality of objects, is disclosed. Each of the objects is associated with a fill. A bounding region of the shared fill is determined based on a fill of a first of the plurality of objects. The first object is associated with the shared fill. A second object is received and the shared fill is updated based on a fill of the second object if: (a) the fill of the second object is contained within the bounding region; and (b) the fill of the second object is non-overlapping with the fill of the first object. The second object is associated with the updated intermediate fill. The updated shared fill is shared by the first object and the second object.