Parallel Rasterization of Self-Contained Graphical Structures

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods for rendering electronic documents inefficently utilize computing power, particularly in resource-rich environments, due to the lack of intelligent exploitation of multiple threads in view of self-contained graphical structures within the documents.

Innovation Solution

A method where a main process thread generates a main display list and identifies self-contained graphical structures, creating auxiliary display lists for these structures, which are then rasterized in parallel by separate threads, allowing the main thread to continue generating the main display list, and using the rasterized auxiliary lists to complete the rendering of the main display list.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If the page is partitioned into multiple bands and rasterized in parallel using different processing units, then rasterization throughput is increased, but the complexity of the rendering system increases and self-contained graphical structures are not intelligently exploited

Engineering Contradiction:
Improverasterization throughputVSAvoidrendering system complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The rendering system segments the display list generation and rasterization processes into independent units. Each band is processed as a separate segment with its own display list generation and rasterization, allowing parallel execution while maintaining manageable complexity through modular design.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Display lists for all bands are generated in advance before rasterization begins. This preliminary action separates the complex display list generation phase from the rasterization phase, allowing each to be optimized independently and reducing overall system complexity.

Inventive Principle:
Principle #10Preliminary action

2Ease of manufacture

If traditional rendering methods are used without considering self-contained graphical structures, then the rendering process is simple to implement, but computing power is not efficiently utilized

Engineering Contradiction:
Improveimplementation simplicityVSAvoidcomputing power utilization
Core Design Contradiction:
Ease of manufactureVSProductivity

Solution Approach 1:

The system applies different processing strategies to different parts of the rendering workload. Self-contained graphical structures are identified and processed independently with optimized parallel rendering, while other elements follow traditional rendering paths, allowing efficient utilization of computing power without overcomplicating the entire system.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

An intermediary classification step identifies self-contained graphical structures within the display list. This intermediary process enables the system to selectively apply parallel rendering optimizations only where applicable, maintaining implementation simplicity for the overall system while improving computing power utilization for specific structures.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If the main display list generation is paused to rasterize auxiliary display lists, then parallel processing efficiency is improved, but the control flow complexity increases

Engineering Contradiction:
Improveparallel processing efficiencyVSAvoidcontrol flow complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The main process thread continuously generates display lists while rasterization threads continuously process completed bands. This continuous parallel operation maximizes processor utilization and maintains high productivity, with the control flow complexity managed through clear separation of concerns between thread types.

Inventive Principle:
Principle #20Continuity of useful action

Solution Approach 2:

The system creates separate rasterization thread copies that independently process different bands. This copying approach allows the main thread to focus on display list generation while copied threads handle rasterization, simplifying the control flow for each thread type while achieving efficient parallel processing overall.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS9448982B2Immediate independent rasterization
Publication Date: 2016.09.20 KONICA MINOLTA SYSTEMS LABORATORY INC
  • US9448982B2 patent drawing
  • US9448982B2 patent drawing
  • US9448982B2 patent drawing

AI summary

A method for rendering an electronic document (ED) includes: receiving a request to render the ED; initiating, by a main process thread, generation of a main display list (DL) for the ED; identifying, during generation of the main DL, a first self-contained graphical structure (SCGS) within the ED; generating, by the main process thread, a first auxiliary DL for the first SCGS; inserting a reference to the first auxiliary DL into the main DL; initiating, after completion of the first auxiliary DL, rasterization of the first auxiliary DL by a first rasterization thread; resuming, by the main process thread and during rasterization of the first auxiliary DL, generation of the main DL; and rasterizing, after completion of the main DL, the main DL based on a first pixmap generated by rasterization of the first auxiliary DL.