Hybrid Band Rendering for Memory Reduction and Compositing Accuracy
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing rendering methods face inefficiencies due to overwriting of pixels in framestores, incorrect compositing results from bit-depth mismatches, and high memory usage, as well as performance degradation from complex clipping regions and large numbers of edges in pixel-sequential rendering.
Innovation Solution
A hybrid rendering approach that partitions the display list into buckets and renders successive bands efficiently, using pixel-sequential rendering for compositing groups and object-sequential rendering for non-compositing groups, with a Ripette & Clip-Centric method to handle clipping efficiently.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of manufacture
If object-sequential rendering is used with a framestore, then rendering is simple to implement, but memory usage increases and pixel overwriting occurs
Solution Approach 1:
The display list is partitioned into multiple buckets based on spatial regions and object priorities. Each bucket contains a subset of objects that can be rendered independently, eliminating the need for a large framestore while maintaining rendering simplicity.
Solution Approach 2:
The patent introduces a temporal dimension to rendering by processing bands sequentially from top to bottom of the page. This band-by-band approach replaces the spatial framestore with time-based processing, reducing memory requirements while maintaining correctness.
2Ease of manufacture
If object-sequential rendering is used with a framestore, then rendering implementation is simple, but pixel overwriting leads to inefficiency
Solution Approach 1:
The display list is pre-processed to partition objects into buckets and determine render sets before actual rendering. This preliminary organization ensures that objects are rendered in an optimal sequence without overwriting, eliminating wasted pixel operations while keeping the rendering process simple.
Solution Approach 2:
The patent replaces the mechanical framestore pixel-overwriting mechanism with a logical set-based rendering system. By tracking which pixels have been rendered through render sets, the system avoids overwriting without requiring a full framestore, improving efficiency while maintaining implementation simplicity.
3Quantity of substance
If pixel-sequential rendering is used, then memory usage is reduced, but performance degrades with complex clipping regions and large numbers of edges
Solution Approach 1:
The patent segments the display list into buckets and further divides rendering into bands and render sets. This hierarchical segmentation reduces the number of edges that need to be processed simultaneously, improving performance while maintaining low memory usage characteristic of pixel-sequential rendering.
Solution Approach 2:
Different rendering strategies are applied to different regions: object-sequential rendering is used within each render set for efficiency, while the overall band-by-band processing maintains low memory usage. This local optimization resolves the performance-memory tradeoff.
4Manufacturing precision
If full bit-depth framestore is used for compositing, then compositing accuracy is maintained, but memory usage increases significantly
Solution Approach 1:
The patent partitions the display list into render sets where compositing operations are performed on subsets of objects. This segmentation allows accurate compositing to be performed on smaller data sets, maintaining precision without requiring a full-page high-bit-depth framestore.
Solution Approach 2:
The patent transitions from spatial compositing (all objects simultaneously in framestore) to temporal compositing (bands processed sequentially). This allows full bit-depth compositing accuracy within each band while using minimal memory, as completed bands are not retained in high-bit-depth format.
Data Source
AI summary
Disclosed is a method of band rendering an image. The method comprises receiving (201) object data of the image in the page description language. From this the method determines a plurality of buckets (bucket #1-#3, FIG. 14) by which the object data is to be divided. The method then assigns (FIG. 3, 350) object data of each object in the image to one of the buckets based on an initial visibility of the object in the image. Then, for each band of the image, in a band sequential fashion (900, 920), the method identifies (1016-1024) object data visible within a band from a subset of the buckets active for the band. Then, the method analysis (FIGS. 10(i)-(iii); 1028-1052) the identified object data within the band and selects at least one rendering method (RCCR, PCR) from a plurality of rendering methods by which the band is to be rendered. Then the method renders (960,970) the identified object data into the band from the object data using the selected at least one rendering method.


