Pixel-Parallel Region Rendering for Multi-Core GPU Efficiency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods for rendering images using region-based intermediate representations are inefficient due to sequential processing requirements, which limit parallel processing capabilities, especially on multi-core architectures like GPUs, leading to suboptimal performance and redundant processing.

Innovation Solution

The Pixel-Parallel Region Rendering (PPRR) method determines regions of an image suitable for parallel processing, assigns multi-threaded rendering units, creates references between threads to facilitate parallel processing, and combines rendered pixels from multiple threads to enhance rendering efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If region-based intermediate representations are processed sequentially, then processing accuracy is maintained, but processing speed deteriorates

Engineering Contradiction:
Improveprocessing speedVSAvoidprocessing complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The patent divides the image rendering process into independent pixel-level operations that can be executed in parallel. Each pixel or group of pixels is processed as a separate unit by different processing threads, eliminating the sequential dependency inherent in traditional region-based approaches while maintaining processing accuracy through systematic organization of parallel operations.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent transitions from sequential single-thread processing to multi-dimensional parallel processing by utilizing multiple processing threads simultaneously. This dimensional expansion allows multiple pixels to be rendered concurrently across different threads, dramatically increasing processing speed without sacrificing the precision of individual pixel rendering.

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

2Productivity

If parallel processing is implemented on region-based representations, then processing speed improves, but processing accuracy deteriorates due to redundant operations

Engineering Contradiction:
Improverendering efficiencyVSAvoidredundant processing
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The patent performs preliminary organization of pixel data and processing instructions before parallel execution begins. By pre-configuring the parallel processing structure and assigning specific pixel ranges to specific threads in advance, the system eliminates redundant processing operations that would otherwise occur during parallel execution, thereby improving rendering efficiency without energy waste.

Inventive Principle:
Principle #10Preliminary action

3Speed

If multi-threaded rendering is used, then rendering performance improves, but thread coordination complexity increases

Engineering Contradiction:
Improverendering speedVSAvoidthread management complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The patent introduces an intermediary structure that manages thread coordination and pixel assignment. This intermediary layer handles the complex task of distributing pixel processing tasks among multiple threads and collecting results, thereby maintaining high rendering speed while reducing the direct complexity of thread management by providing a structured interface between parallel operations and the final output.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS10186068B2Method, apparatus and system for rendering an image
Publication Date: 2019.01.22 CANON KK
  • US10186068B2 patent drawing
  • US10186068B2 patent drawing
  • US10186068B2 patent drawing

AI summary

A method of rendering an image. A region of the image having pixels suitable for parallel processing is determined. A multi-threaded rendering unit is assigned to render the determined region using a plurality of threads. A reference, for at least one of the threads rendering a pixel on a scan line of the determined region, to another of the threads rendering a first pixel on said scan line is created. The determined region is rendered by the plurality of threads using the created reference. The image is rendered by combining pixels of the rendered determined region, based on corresponding ones of said threads of the multi-threaded rendering unit, with an output of rendering at least one further region.