IP Library Granted Patent US 12,136,149
Granted Patent B2
US 12,136,149 · App. 18/493,157 · Granted Nov 5, 2024

Techniques for rendering vector graphics using precomputed textures

Inventors: Ioannis Oikonomou (Patras, GR); Georgios Keramidas (Patras, GR)
Assignee: Think Silicon Research and Technology Single Member S.A.
G06T11/40G06T1/20
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,136,149
App. No.
18/493,157
Granted
Nov 5, 2024
Kind
B2
Abstract

A system and method for rendering vector graphics using precomputed textures, includes receiving a vector image, the vector image including a plurality of instructions, each instruction for rendering at least a geometric primitive; detecting in the plurality of instructions an instruction for generating a first Bezier curve; selecting a first precomputed curve in a texture map to match the first Bezier curve; and generating a raster image based at least on the first precomputed curve. In an embodiment selecting the first precomputed curve includes computing a transformation matrix between the first precomputed curve and target coordinates, wherein the target coordinates are coordinates of a display; computing texture coordinates based on the computed transformation matrix and the texture map; and rendering an adapted precomputed curve, based on the texture map and the computed texture coordinates.

Claims (51)

1. A method for rendering vector graphics using precomputed textures, comprising:

receiving a vector image, the vector image including a plurality of instructions, each instruction for rendering at least a geometric primitive;

detecting in the plurality of instructions an instruction for generating a first Bezier curve;

selecting a first precomputed curve in a texture map to match the first Bezier curve;

computing a transformation matrix between the first precomputed curve and target coordinates, wherein the target coordinates are coordinates of a display; and

generating a raster image based at least on the first precomputed curve.

2. The method of claim 1 , further comprising:

computing texture coordinates based on the computed transformation matrix and the texture map.

3. The method of claim 2 , further comprising:

rendering an adapted precomputed curve, based on the texture map and the computed texture coordinates.

4. The method of claim 3 , further comprising:

configuring a fragment shader to render the adapted precomputed curve.

5. The method of claim 2 , wherein any one of is computed on a floating point unit (FPU) having a predetermined accuracy: the transformation matrix, and the texture coordinates.

6. The method of claim 2 , wherein any one of is computed on an arithmetic logic unit (ALU) having a predetermined accuracy: the transformation matrix, and the texture coordinates.

7. The method of claim 2 , further comprising:

generating a correlation matrix between the precomputed curve and the target coordinates.

8. The method of claim 2 , further comprising:

computing an interpolation between the computed transformation matrix and the texture map.

9. The method of claim 1 , wherein any one of: an a floating point united (FPU), and an arithmetic logic (ALU), is selected to perform a computation based on a predetermined error rate threshold.

10. A non-transitory computer-readable medium (CRM) storing a set of instructions for rendering vector graphics using precomputed textures, the set of instructions comprising:

one or more instructions that, when executed by one or more processors of a device, cause the device to:

receive a vector image, the vector image including a plurality of instructions, each instruction for rendering at least a geometric primitive;

detect in the plurality of instructions an instruction for generating a first Bezier curve;

select a first precomputed curve in a texture map to match the first Bezier curve;

compute a transformation matrix between the first precomputed curve and target coordinates, wherein the target coordinates are coordinates of a display; and

generate a raster image based at least on the first precomputed curve.

11. The CRM of claim 10 , wherein the one or more instructions, when executed by one or more processors of the device, further cause the device to:

compute texture coordinates based on the computed transformation matrix and the texture map.

12. The CRM of claim 11 , wherein the one or more instructions, when executed by one or more processors of the device, further cause the device to:

render an adapted precomputed curve, based on the texture map and the computed texture coordinates.

13. The CRM of claim 12 , wherein the one or more instructions, when executed by one or more processors of the device, further cause the device to:

configure a fragment shader to render the adapted precomputed curve.

14. The CRM of claim 11 , wherein any one of is computed on a floating point unit (FPU) having a predetermined accuracy:

the transformation matrix, and the texture coordinates.

15. The CRM of claim 11 , wherein any one of is computed on an arithmetic logic unit (ALU) having a predetermined accuracy:

the transformation matrix, and the texture coordinates.

16. The CRM of claim 11 , wherein the one or more instructions, when executed by one or more processors of the device, further cause the device to:

generate a correlation matrix between the precomputed curve and the target coordinates.

17. The CRM of claim 11 , wherein the one or more instructions, when executed by one or more processors of the device, further cause the device to:

compute an interpolation between the computed transformation matrix and the texture map.

18. The CRM of claim 10 , wherein any one of:

a floating point unit (FPU), and an arithmetic logic unit (ALU), is selected to perform a computation based on a predetermined error rate threshold.

19. The CRM of claim 10 , wherein the one or more processors of the device further comprises any one of: a floating point unit (FPU), an arithmetic logic unit (ALU), a fragment shader, a rasterizing unit, a graphical processing unit (GPU), a central processing unit (CPU), and a combination thereof.

20. A system for rendering vector graphics using precomputed textures comprising:

a processing circuitry;

a memory, the memory containing instructions that, when executed by the processing circuitry, configure the system to:

receive a vector image, the vector image including a plurality of instructions, each instruction for rendering at least a geometric primitive;

detect in the plurality of instructions an instruction for generating a first Bezier curve;

select a first precomputed curve in a texture map to match the first Bezier curve;

compute a transformation matrix between the first precomputed curve and target coordinates, wherein the target coordinates are coordinates of a display; and

generate a raster image based at least on the first precomputed curve.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 27, 2026
From: OIKONOMOU, IOANNIS; KERAMIDAS, GEORGIOS
To: THINK SILICON RESEARCH AND TECHNOLOGY SINGLE MEMBER S.A.
Reel/Frame 075808/0874 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 9, 2026
From: THINK SILICON SINGLE MEMBER P.C. AND APPLIED MATERIALS, INC.
To: QUALCOMM INCORPORATED
Reel/Frame 075735/0803 →
CHANGE OF NAME Recorded Mar 6, 2026
From: THINK SILICON RESEARCH AND TECHNOLOGY SINGLE MEMBER S.A.
To: THINK SILICON SINGLE MEMBER P.C.
Reel/Frame 075032/0035 →
Continuity (2)
Continuation 17658186 · Apr 6, 2022
Related Publication 20240054702A1 · Feb 15, 2024