Vector Graphics Path Intersection Data Structure Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional vector graphics rendering methods require large Path Intersection Data Structure (PIDS) buffers, leading to significant memory usage and performance issues due to unnecessary searches through mostly empty entries, especially as resolution increases.

Innovation Solution

Implement a method to store only effective intersection data, comparing new path intersections to existing ones based on coordinates and storing them efficiently, reducing memory footprint and bandwidth usage by eliminating empty positions and optimizing data storage order.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a complete PIDS buffer covering all viewport locations is used to store path intersections, then all intersection data can be stored, but memory usage becomes prohibitively large

Engineering Contradiction:
Improvecompleteness of intersection data storageVSAvoidmemory usage
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent extracts only the necessary intersection data points from the complete viewport space. Instead of allocating memory for all possible locations, it stores only actual path intersection coordinates, removing unnecessary empty space from the data structure.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent applies local quality by making the PIDS buffer adaptive to the actual distribution of intersection points. The data structure allocates memory locally where intersections occur rather than uniformly across the entire viewport, matching resource allocation to actual data density.

Inventive Principle:
Principle #3Local quality

2Reliability

If the renderer searches through all X positions in each Y line of the PIDS buffer to find path intersections, then all intersections can be found, but processing time increases significantly

Engineering Contradiction:
Improvecompleteness of intersection detectionVSAvoidrendering performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent performs preliminary sorting of intersection data during the geometry evaluation stage, organizing points by Y coordinate and then by X coordinate. This preliminary ordering enables the renderer to efficiently locate intersections without searching through all positions during the actual rendering phase.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If the PIDS buffer includes all viewport positions, then no intersection data is lost, but most entries remain empty causing waste of memory bandwidth

Engineering Contradiction:
Improvecompleteness of intersection dataVSAvoidmemory bandwidth usage
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The patent extracts and stores only the actual intersection points that contain data, eliminating the vast number of empty entries from the PIDS buffer. This extraction reduces memory bandwidth consumption by ensuring that only meaningful data is transferred and processed.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS11783513B2Method, system, medium, and device for processing vector graphics primitives to determine path edge order for path filling
Publication Date: 2023.10.10 VERISILICON MICROELECTRONICS (SHANGHAI) CO LTD
  • US11783513B2 patent drawing
  • US11783513B2 patent drawing

AI summary

The present disclosure provides a vector graphics data processing method, system, medium, and vector graphics processing device. The method includes the following operations: building a vector primitive path intersection data structure (PIDS) based on coordinates of path intersections (PIs); when a new PI is generated, comparing information of the new PI to information of existing PIs corresponding to an X coordinate or Y coordinate of the new PI; and storing the information of the new PI at a corresponding position in the PIDS corresponding to the X coordinate or Y coordinate of the new PI based on a result of the comparing. Only effective PI data are saved, thereby reducing memory footprint and memory bandwidth, and improving vector graphics processing performance.