Cubic Bezier Spline Rendering via Implicit Polynomial Form

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional computer graphic systems face inefficiencies and inaccuracies when rendering geometry bounded by cubic Bezier splines, particularly due to high computational and memory resource requirements, leading to poor performance and noticeable artifacts.

Innovation Solution

The system preprocesses cubic Bezier splines on the CPU to simplify them into monotonic segments, generating a simplified data representation that is then transferred to the GPU for rendering, using reference geometries to produce anti-aliased results, thereby optimizing CPU-GPU operations and reducing memory usage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If curve approximation by degree reduction is used to render cubic Bezier curves, then rendering speed is improved, but manufacturing precision deteriorates due to approximation errors and visible artifacts

Engineering Contradiction:
Improverendering speedVSAvoidcurve accuracy
Core Design Contradiction:
ProductivityVSManufacturing precision

Solution Approach 1:

The patent transforms the cubic Bezier curve into a implicit polynomial form F(x,y) = 0, changing the mathematical representation parameters. This allows the curve to be evaluated directly without approximation, maintaining precision while enabling efficient GPU rendering through pixel inclusion tests based on the implicit equation.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent extracts the curve evaluation from the CPU preprocessing stage and moves it to the GPU rendering stage. By formulating the curve as an implicit polynomial, the exact curve equation is extracted and used directly in the rendering pipeline, eliminating the need for approximate quadratic segments and their associated errors.

Inventive Principle:
Principle #2Taking out (Extraction)

2Manufacturing precision

If low approximation tolerance is used to improve curve accuracy, then manufacturing precision is improved, but device complexity increases due to large number of quadratic segments

Engineering Contradiction:
Improvecurve accuracyVSAvoidnumber of segments
Core Design Contradiction:
Manufacturing precisionVSDevice complexity

Solution Approach 1:

The patent eliminates the need to segment the cubic Bezier curve into multiple quadratic segments. By using the implicit polynomial form, the entire curve can be rendered as a single continuous entity, with the GPU efficiently determining pixel inclusion without dividing the curve into numerous segments, thus reducing complexity while maintaining accuracy.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent creates a simplified copy of the curve in implicit polynomial form that preserves the exact geometry of the original cubic Bezier curve. This implicit representation serves as an accurate copy that can be directly used for rendering without requiring multiple approximate segments, reducing both complexity and data transfer requirements.

Inventive Principle:
Principle #26Copying

3Manufacturing precision

If two-pass stencil and cover approach is used to render cubic Bezier curves, then manufacturing precision is improved, but device complexity increases due to multiple rendering passes

Engineering Contradiction:
Improvecurve accuracyVSAvoidnumber of rendering passes
Core Design Contradiction:
Manufacturing precisionVSDevice complexity

Solution Approach 1:

The patent performs preliminary transformation of the cubic Bezier curve into implicit polynomial form during CPU preprocessing. This preparation enables the GPU to render the curve in a single pass using the implicit equation for pixel inclusion tests, eliminating the need for multiple stencil and cover passes while maintaining accuracy.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent extracts the curve representation into a compact implicit polynomial form that can be directly evaluated during rendering. This extraction eliminates the need for complex multi-pass stencil operations, as the implicit equation provides a direct method for determining pixel inclusion in a single rendering pass.

Inventive Principle:
Principle #2Taking out (Extraction)

4Manufacturing precision

If multisampling anti-aliasing is applied to correct aliased pixels, then manufacturing precision is improved, but loss of substance increases due to large memory allocations

Engineering Contradiction:
Improveanti-aliasing qualityVSAvoidmemory usage
Core Design Contradiction:
Manufacturing precisionVSLoss of substance

Solution Approach 1:

The patent replaces the traditional multisampling anti-aliasing mechanism with an implicit polynomial-based rendering approach. Instead of using multiple samples per pixel and large memory allocations for stencil buffers, the implicit form enables direct mathematical evaluation of pixel inclusion, achieving anti-aliasing through precise boundary determination without the memory overhead of multisampling.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Data Source

PatentUS10269151B1Efficiently rendering cubic Bezier curves to produce accurate anti-aliased content
Publication Date: 2019.04.23 ADOBE INC
  • US10269151B1 patent drawing
  • US10269151B1 patent drawing
  • US10269151B1 patent drawing

AI summary

The present disclosure relates to a rendering system that that accurately and efficiently renders regions bounded by cubic Bezier splines. For example, in some embodiments, the rendering system generates control triangles, interior triangles, and anti-aliasing triangles from cubic Bezier spline segments of a vector-based convex object. Based on the generated triangles, the rendering system renders anti-aliased cubic Bezier splines as well as the geometry within the cubic Bezier splines. In one or more embodiments, the rendering system efficiently allocates computations between a central processing unit (CPU) and graphics processing unit (GPU) of a computing device in a manner that significantly reduces computational and memory resources.