Coverage-Based Image Rendering Using Opacity Values
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional image rendering techniques exhibit unwanted 'bleed through' of underlying objects at shared edges, leading to unrealistic artifacts and deviations from user expectations due to multiplicative blending methods.
Innovation Solution
A coverage-based approach using opacity values is employed, where layers are rendered in a top-down depth ordering, and effective color contributions are added for pixels with shared edges, with further contributions restricted once pixels become opaque, preventing bleed through and promoting realism.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of manufacture
If multiplicative blending is used to render layers with shared edges, then color blending between layers is achieved, but color bleed through artifacts occur at object intersections
Solution Approach 1:
The patent changes the blending parameter from multiplicative blending to additive blending of coverage values. Instead of multiplying alpha values, the system adds coverage contributions from each object and uses the minimum of the sum and 1.0 as the final alpha value, preventing bleed through while maintaining rendering simplicity
Solution Approach 2:
The patent introduces coverage as an intermediary value that mediates between multiple layer contributions. Each object contributes its coverage and color to a buffer, and the system uses coverage-based alpha composition to combine these contributions, preventing direct multiplicative blending that causes bleed through
2Ease of operation
If separate alpha based color blending is applied to each object, then individual object rendering is simplified, but background colors bleed upward through successive layers
Solution Approach 1:
The patent merges the rendering process by having all objects render to a shared buffer simultaneously rather than sequentially blending separate layers. Multiple objects contribute their coverage and color to the same buffer, and the final composition is generated from combined coverage values, preventing background bleed through while maintaining ease of individual object rendering
Solution Approach 2:
The patent adds a coverage dimension to the rendering process. Instead of only blending colors with alpha values, the system tracks coverage separately as a distinct dimension, allowing independent control of opacity composition that prevents unwanted color blending while preserving individual object rendering characteristics
3Adaptability or versatility
If conventional alpha blending is used for overlapping objects, then transparent layering is achieved, but unrealistic color artifacts appear at shared edges
Solution Approach 1:
The patent changes the alpha composition parameter from multiplicative blending to additive coverage accumulation. The final alpha is computed as min(sum of individual coverages, 1.0) rather than the product of alpha values, maintaining transparent layering versatility while eliminating unrealistic edge color artifacts
Solution Approach 2:
The patent applies local quality by treating coverage accumulation differently from color blending. At shared edges, the system locally computes coverage contributions from each object and combines them additively, while color blending occurs separately based on the final coverage-based alpha, ensuring accurate edge rendering while preserving overall transparent layering
Data Source
AI summary
A coverage based approach to image rendering using opacity values is described. In one embodiment, a digital medium environment is configured to render an image. A plurality of layers of the image are rendered in succession as following a defined depth ordering for the plurality of the layers. Effective coverage and color is determined of a plurality of objects, together, for pixels within respective ones of the plurality of layers of the image. Contribution is then controlled of the determined coverage and color of the objects to opacity values and color values in a buffer for respective pixels. This control is based on whether the opacity values indicate that the respective pixels are opaque.


