Vector Graphics Rendering via Metadata Buffers

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional vector graphics rendering workflows consume significant computing resources, hindering the ability to render images at suitable frame rates due to the complexity of graphic trees and the need to process numerous graphic leafs, especially when dealing with high-density displays and digitized content.

Innovation Solution

The proposed solution involves a CPU reducing the number of graphic leafs in graphic trees by grouping objects of the same type, generating a metadata buffer with transformation information, and attaching it to a single tessellated object, which is then rendered by the GPU, reducing data passed and processing time.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If conventional rendering workflows process all graphic leafs individually, then rendering completeness is maintained, but computing resources are excessively consumed and frame rate decreases

Engineering Contradiction:
Improveframe rateVSAvoidgraphic tree complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent merges multiple graphic leafs representing similar objects into a single representative graphic leaf. Objects of the same type (e.g., all circles, all rectangles) are grouped together and represented by one leaf node in the modified graphic tree, significantly reducing the number of leaves that need to be processed individually while maintaining rendering completeness through batch processing.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The representative graphic leaf serves multiple functions: it represents a single object for structural purposes and simultaneously represents all similar objects in the batch through association. This universal representation allows the rendering system to process one leaf to generate rendering information for multiple actual objects, improving productivity without sacrificing completeness.

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

2Loss of time

If the number of graphic leafs is reduced by batching, then GPU execution time decreases, but other portions of the rendering workflow consume significant computing resources

Engineering Contradiction:
ImproveGPU execution timeVSAvoidCPU processing resources
Core Design Contradiction:
Loss of timeVSUse of energy by moving object

Solution Approach 1:

The patent performs preliminary grouping and identification of similar objects before the rendering process begins. By pre-organizing objects into batches and creating representative leaves in advance, the CPU workload is shifted to a preparation phase, allowing the GPU to execute rendering more efficiently during the actual rendering phase with reduced real-time processing requirements.

Inventive Principle:
Principle #10Preliminary action

3Manufacturing precision

If all graphic leafs are processed individually, then rendering accuracy is maintained, but processing time increases significantly

Engineering Contradiction:
Improverendering accuracyVSAvoidprocessing time
Core Design Contradiction:
Manufacturing precisionVSLoss of time

Solution Approach 1:

The patent creates a simplified copy or representation of the graphic tree structure where multiple identical or similar leaves are replaced by a single representative leaf. This copying approach maintains the essential structural and rendering information needed for accuracy while dramatically reducing the number of processing operations required, thus decreasing processing time without sacrificing rendering accuracy.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS10403040B2Vector graphics rendering techniques
Publication Date: 2019.09.03 ADOBE INC
  • US10403040B2 patent drawing
  • US10403040B2 patent drawing
  • US10403040B2 patent drawing

AI summary

Vector graphics rendering techniques are described. Graphics processing units (GPUs) can render vector graphics images according to graphic trees having graphic leafs, each representing a graphics object (e.g., a shape) depicted in a vector graphics image. The described techniques involve generating groups of graphics objects depicted in an image such that graphics objects of a group have a same object type, e.g., shape. Transformations are determined that describe how to transform a first graphics object of a group to obtain other graphics objects of the group. The first graphics object is tessellated and a metadata buffer generated for the group having information indicative of the transformations. The metadata buffer is attached to a graphic leaf representing the first graphics object and graphic leafs representing the other graphics objects are removed from the graphic tree. The GPU renders objects by group based on the tessellated object and the metadata buffer's information.