Band Parallel Rendering Decompression Buffer Sharing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing techniques for high-speed rendering, such as the combination of the scan line algorithm and object compression, require all rendering images on scan lines to be decompressed in advance, which does not effectively utilize parallel rendering processes, particularly in band parallel rendering.

Innovation Solution

A method for generating bitmap image data by acquiring print data, decompressing compressed images into a shared memory area, and using the decompressed images to render multiple bands concurrently, allowing one compressed image to be decompressed into the same memory area after the last band using that image has finished rendering.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If all rendering images on scan lines are decompressed in advance using the scan line algorithm and object compression, then memory usage is reduced, but parallel rendering processes cannot be effectively utilized

Engineering Contradiction:
Improvememory usageVSAvoidparallel rendering efficiency
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

The page is divided into multiple bands (e.g., upper band and lower band) that can be rendered in parallel. Each band can independently access decompressed images, allowing multiple rendering processes to execute simultaneously without conflicting for the same memory resources.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The decompression buffer assignment is made dynamic based on rendering progress. When a compressed image is no longer needed by any band (all bands have finished rendering), its buffer is automatically released and can be reused by other bands, enabling flexible memory management during parallel rendering.

Inventive Principle:
Principle #15Dynamics

2Quantity of substance

If the same decompression buffer address is shared between compressed images in upper and lower portions of the page, then memory efficiency is improved, but band parallel rendering cannot be properly supported

Engineering Contradiction:
Improvememory efficiencyVSAvoidparallel rendering support
Core Design Contradiction:
Quantity of substanceVSAdaptability or versatility

Solution Approach 1:

The system tracks which bands have completed rendering of each compressed image before allowing buffer reuse. This preliminary check ensures that parallel rendering operations can safely share buffers without data corruption or rendering errors.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The rendering management apparatus continuously monitors the rendering status of each band and dynamically adjusts buffer allocation based on real-time feedback. When feedback indicates all bands using a buffer have completed rendering, the buffer becomes available for reuse.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS10762401B2Image processing apparatus controlling the order of storing decompressed data, and method thereof
Publication Date: 2020.09.01 CANON KK
  • US10762401B2 patent drawing
  • US10762401B2 patent drawing
  • US10762401B2 patent drawing

AI summary

A method for generating bitmap image data of a page includes acquiring print data of a page including compressed images, and performing rendering of bands included in the page based on the print data to generate the bitmap image data. The performing of the rendering performs rendering at least two of the bands concurrently. The performing of the rendering includes decompressing the compressed images, and using the decompressed images for corresponding bands of the bands to generate the bitmap image data. The decompressing decompresses, into a same memory area in a decompression buffer, at least two compressed images used for different bands, so that one of the two compressed images is decompressed into the same memory area and another of the two compressed images is decompressed, after rendering of a last band for which the one of the two compressed images is lastly used is finished, into the same memory area.