Document Rendering Fill Compositing Sequence Segmentation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In multi-threaded rendering systems, frequent locking is required to update shared fill compositing sequences, leading to performance impairments due to synchronized access and duplication of data, which existing methods cannot efficiently address.

Innovation Solution

The approach involves separating the fill compositing stack into a global compositing set and multiple fillmap compositing sets, generating a global compositing sequence based on object data, and creating references or local compositing sequences for regions, minimizing the need for frequent locking and data duplication.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If a single database of fill compositing sequences is used to be updated frequently by multiple parallel threads, then data duplication is minimized, but frequent locking is required which impairs system performance

Engineering Contradiction:
Improvedata duplicationVSAvoidsystem performance
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

The patent divides the single database of fill compositing sequences into multiple separate databases, with each database assigned to a specific thread. This segmentation eliminates the need for frequent locking operations between threads while minimizing data duplication through selective sharing of commonly used sequences. Each thread maintains its own local database for exclusive access, improving overall system performance.

Inventive Principle:
Principle #1Segmentation

2Loss of energy

If fill compositing sequences are kept in a single database to avoid duplication, then memory usage is reduced, but frequent locking operations are required which reduce parallelism efficiency

Engineering Contradiction:
Improvememory usageVSAvoidlocking overhead time
Core Design Contradiction:
Loss of energyVSLoss of time

Solution Approach 1:

The patent implements a nested database structure where each thread has a local database that can contain or reference fill compositing sequences. Threads can nest references to parent or shared databases when appropriate, allowing efficient memory utilization while avoiding frequent locking. The nested structure enables threads to access commonly shared sequences without exclusive locking when using reference mechanisms.

Inventive Principle:
Principle #7Nested doll (Nesting)

3Productivity

If multiple threads access shared fill compositing sequences concurrently, then parallel processing speed is improved, but data consistency and synchronization become problematic requiring locking

Engineering Contradiction:
Improveparallel processing speedVSAvoiddata consistency
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent assigns different quality levels of data sharing to different threads based on their specific needs. Threads that require frequent updates to fill compositing sequences have dedicated local databases with exclusive access, while threads with read-only or less frequent access patterns can share databases with other threads. This local quality differentiation maintains data consistency for critical operations while enabling high-speed parallel access for less critical operations.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS9846825B2Method, apparatus and system for generating an intermediate region-based representation of a document
Publication Date: 2017.12.19 CANON KK
  • US9846825B2 patent drawing
  • US9846825B2 patent drawing
  • US9846825B2 patent drawing

AI summary

A method of generating a region-based representation of a document is disclosed. A global compositing sequence is generated based on a predetermined rule, using fill data and at least one compositing operation associated with a plurality of objects of the document, to form an object-based representation of the document. The region-based representation of the document is generated based on a further compositing sequence determined for regions formed using the object-based representation. The method also determines whether at least one of the regions satisfies the predetermined rule using a relative arrangement of the objects in the object-based representation. Where the region satisfies the predetermined rule, a reference to the global compositing sequence is created. Where the region does not satisfy the predetermined rule, a local compositing sequence is generated using fill data and compositing operations associated with the objects contributing to the region.