Parallel Per-Pixel Compositing via Layer Grouping

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional Porter and Duff compositing methods are inefficient for modern printing systems as they are serial in nature and not well-suited for parallel processing, especially when dealing with non-associative compositing operations, leading to unnecessary processing and reduced performance in multi-core CPU systems.

Innovation Solution

The Concurrent Independent Layer Processing (CILP) method groups layers into foreground and background groups, allowing independent instructions to be executed concurrently, with dependent instructions updated only after receiving the background compositing output, enabling parallel processing of multiple layers.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If traditional Porter and Duff compositing is used to ensure correct compositing order, then compositing accuracy is maintained, but processing speed deteriorates due to serial processing requirements

Engineering Contradiction:
Improvecompositing accuracyVSAvoidprocessing speed
Core Design Contradiction:
Measurement precisionVSSpeed

Solution Approach 1:

The patent segments the compositing process into independent per-pixel operations. Each pixel's compositing can be calculated independently using the formula C = S1*α1 + S0*(1-α1), where S1 and α1 are the source layer color and opacity, and S0 is the background color. This segmentation allows parallel processing across multiple pixels simultaneously while maintaining correct compositing results.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent transitions from processing layers in sequential z-order (one dimension) to processing pixels in parallel across the entire image space (two-dimensional parallelism). By reformulating compositing as independent per-pixel operations, the system can utilize multi-core processors and GPUs to compute multiple pixel values simultaneously, achieving massive parallelization while preserving compositing accuracy.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Productivity

If bottom-up compositing is used to detect opaque layers, then processing efficiency improves by skipping transparent layers, but unnecessary processing occurs because opaque layers are not detected until all beneath layers are processed

Engineering Contradiction:
Improveprocessing efficiencyVSAvoidunnecessary processing time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent performs preliminary identification of opaque layers before executing the full compositing process. By examining layer opacity values in advance, the system can determine which layers are fully opaque and use this information to optimize the compositing strategy, avoiding unnecessary processing of layers that will be completely obscured by opaque layers above them.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

Instead of processing from the bottom layer upward and hoping to encounter opaque layers, the patent inverts the approach by first identifying opaque layers and then using this information to guide the compositing process. This inversion allows the system to skip processing entirely for regions obscured by opaque layers, dramatically reducing unnecessary computations.

Inventive Principle:
Principle #13The other way round (Inversion)

3Measurement precision

If layers are processed in z-order to maintain compositing correctness, then compositing accuracy is preserved, but parallel processing capability deteriorates

Engineering Contradiction:
Improvecompositing correctnessVSAvoidparallel processing capability
Core Design Contradiction:
Measurement precisionVSAdaptability or versatility

Solution Approach 1:

The patent segments the compositing operation into independent per-pixel calculations that can be executed in parallel. By expressing the compositing formula as C = S1*α1 + S0*(1-α1) for each pixel independently, the system enables parallel processing across multiple pixels while maintaining correct compositing results through the mathematical properties of the alpha compositing model.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent changes the parameters of computation from layer-based sequential processing to pixel-based parallel processing. By reformulating the compositing operation in terms of per-pixel color and opacity values, the system enables adaptation to parallel computing architectures such as multi-core CPUs and GPUs, achieving both compositing correctness and parallel processing capability.

Inventive Principle:
Principle #35Parameter changes

4Productivity

If two-pass algorithm is used to locate top-most opaque layer, then processing efficiency improves by starting compositing from opaque layer, but object-level opacity detection is insufficient for pixel-level transparency

Engineering Contradiction:
Improveprocessing efficiencyVSAvoidopacity detection precision
Core Design Contradiction:
ProductivityVSMeasurement precision

Solution Approach 1:

The patent segments opacity detection from object-level to pixel-level precision. Instead of marking entire objects as transparent or opaque, the system evaluates opacity on a per-pixel basis using the formula's components (S1, α1, S0). This segmentation enables accurate detection of partially transparent regions and allows the compositing process to skip only the specific pixels obscured by opaque layers, rather than entire objects.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent inverts the traditional approach by not requiring a preliminary pass to identify opaque layers. Instead, the per-pixel compositing formula naturally handles transparency detection during the main computation, eliminating the need for separate detection passes while maintaining pixel-level precision throughout the process.

Inventive Principle:
Principle #13The other way round (Inversion)

Data Source

PatentUS9727982B2Parallelising per-pixel compositing
Publication Date: 2017.08.08 CANON KK
  • US9727982B2 patent drawing
  • US9727982B2 patent drawing
  • US9727982B2 patent drawing

AI summary

A method of compositing layers by grouping the layers into a foreground group and a background group; identifying independent instructions of compositing model for execution independently from the background group and dependent instructions requiring a compositing output of a background layer in order to composite foreground layers; executing the independent instructions on the foreground layers in parallel with compositing the background layers, a first independent instruction storing a corresponding result in a first buffer and a second independent instruction storing a corresponding result in a second buffer; executing a dependent instruction by updating the second buffer using the background compositing output; and determining a compositing output for the foreground group dependent upon contents of the first buffer and the updated second buffer.