Compositing List Caching for Raster Image Processor Scanlines

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing graphic rendering systems face inefficiencies due to the need for fast random access to large memory frames and excessive over-painting of pixels, leading to high memory costs and performance issues.

Innovation Solution

A method of rendering images one pixel at a time in scanline order, where edges intersecting a scanline are identified, and a compositing list is built and cached for each edge, allowing for efficient pixel composition by retrieving valid cached lists for subsequent scanlines.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If a large framestore is used to hold pixel-based images for rendering, then random access to all pixels is enabled, but memory cost and memory bandwidth requirements increase significantly

Engineering Contradiction:
Improverandom access speedVSAvoidmemory usage
Core Design Contradiction:
SpeedVSQuantity of substance

Solution Approach 1:

The patent segments the rendering process into pixel-sequential processing where only the current pixel and its neighbors need to be accessed, rather than maintaining random access capability for the entire framestore. This eliminates the need for large semiconductor RAM by processing pixels in sequential order along scanlines.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent changes the access pattern from two-dimensional random access across the entire framestore to one-dimensional sequential access along scanlines. By processing pixels in sequential order (x, then y), the system eliminates the need for large random access memory while maintaining rendering capability.

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

2Ease of manufacture

If objects are rendered in priority order with over-painting, then simple rendering logic is used, but computation effort and memory bandwidth are wasted due to re-rendering pixels

Engineering Contradiction:
Improverendering logic simplicityVSAvoidcomputation waste
Core Design Contradiction:
Ease of manufactureVSLoss of energy

Solution Approach 1:

The patent uses preliminary action by pre-calculating the active level list for each edge and caching it. This pre-computed information is then reused during pixel-sequential rendering to determine which pixels need to be processed, eliminating redundant over-painting operations while maintaining simple rendering logic.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements feedback by using the active level list to inform pixel processing decisions. The cached compositing information feedbacks into the rendering process to determine which pixels actually need to be rendered, preventing wasteful re-rendering of pixels that will be overwritten anyway.

Inventive Principle:
Principle #23Feedback

3Quantity of substance

If banding is used to reduce framestore size, then memory requirements are reduced, but objects must be reconsidered multiple times once for each band

Engineering Contradiction:
Improvememory usageVSAvoidrepetitious examination
Core Design Contradiction:
Quantity of substanceVSLoss of time

Solution Approach 1:

The patent applies preliminary action by pre-calculating and caching the active level list for each edge before pixel-sequential rendering begins. This pre-computation eliminates the need for repeated object examinations during banding, as the compositing information is already prepared and can be reused across all bands.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent creates a universal solution by developing a rendering approach that works independently of banding. The pixel-sequential method with cached active level lists can process the entire image or any portion of it without requiring repeated object examinations, making the solution universally applicable whether the full image or bands are rendered.

Inventive Principle:
Principle #6Universality (Multi-functionality)

4Quantity of substance

If pixel-sequential rendering is used to eliminate framestore, then memory usage is reduced, but efficient pixel composition requires avoiding over-painting

Engineering Contradiction:
Improvememory usageVSAvoidrendering performance
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

The patent uses preliminary action by pre-calculating the active level list for each edge and caching it before pixel-sequential rendering. This pre-computed information enables efficient pixel composition by immediately identifying which pixels need to be processed, avoiding over-painting while maintaining high rendering performance.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements self-service by having the cached active level list automatically identify which pixels need rendering. The system serves itself by using the pre-computed compositing information to guide pixel processing decisions, eliminating the need for complex runtime decisions about which pixels to process and thereby avoiding over-painting.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS7714865B2Compositing list caching for a raster image processor
Publication Date: 2010.05.11 CANON KK
  • US7714865B2 patent drawing
  • US7714865B2 patent drawing
  • US7714865B2 patent drawing

AI summary

A method of rendering an image one or more pixels at a time in scanline order, wherein the image includes objects described by one or more levels, includes the steps of identifying at least one edge of the objects, with the at least one edge intersecting a first scanline, and building a compositing list for at least one identified edge. The compositing list includes levels that are activated on the first scanline at the identified edge and that contribute to at least one pixel on the first scanline in the rendered image. Additional steps include caching one or more of the compositing lists, wherein each cached compositing list is associated with a corresponding edge, checking, for a current edge intersecting a second scanline subsequent to the first scanline, whether the cached compositing list associated with the current edge is valid for the current edge on the second scanline, retrieving the cached compositing list if the checking step indicates that the cached compositing list is valid, and rendering one or more pixels on the second scanline using the retrieved compositing list.