IP Library › Granted Patent US 12,026,848
Granted Patent B1
US 12,026,848 · App. 18/493,028 · Granted Jul 2, 2024

Systems and methods for preserving image quality after decimation

Inventor: Max Good (Culver City, CA)
Assignee: Illuscio, Inc.
G06T3/4023G06T7/40G06T7/70G06T15/06G06T15/506G06T17/20G06T2200/04
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,026,848
App. No.
18/493,028
Granted
Jul 2, 2024
Kind
B1
Abstract

Disclosed is a graphics system and associated methods for preserving or improving image quality when rendering a decimated image or three-dimensional (“3D”) that has been decimated to remove some primitives from the original representation of the undecimated image or 3D model. The graphics system receives decimated primitives that are defined with a position, visual characteristics, and at least first and second surface normals. The graphics system defines a light source for illuminating the decimated primitives, determines that the second surface normal of a particular decimated primitive receives more light from the light source than the first surface normal of the particular decimated primitive, and generates a visualization for the particular primitive at the position of the particular primitive with the visual characteristics of the particular primitive adjusted according to an amount of light from the light source reaching the particular primitive via the second surface normal.

Claims (87)

1. A method comprising:

defining a set of primitives that collectively form a three-dimensional (“3D”) representation, wherein each primitive of the set of primitives is defined with a position, visual characteristics, and at least first and second surface normals;

defining a light source with which to illuminate the set of primitives;

computing different amounts of light from the light source that reach the first surface normal and the second surface normal of a first primitive from the set of primitives; and

dynamically generating a visualization for the first primitive at the position of the first primitive based on said computing of the different amounts of light that reach the first surface normal and the second surface normal, wherein dynamically generating the visualization comprises:

adjusting the visual characteristics of the first primitive according to a first amount of light from the light source that is computed to reach the first primitive via the first surface normal in response to the first amount of light being greater than a second amount of light from the light source that is computed to reach the second surface normal; and

adjusting the visual characteristics of the first primitive according to the second amount of light from the light source that is computed to reach the first primitive via the second surface normal in response to the second amount of light being greater than the first amount of light.

2. The method of claim 1 further comprising:

receiving a plurality of primitives that collectively form the 3D representation at a higher resolution than the 3D representation formed by the set of primitives, wherein each primitive of the plurality of primitives is defined with a position, visual characteristics, and a surface normal;

decimating the plurality of primitives to the set of primitives; and

wherein defining the set of primitives comprises defining the first and second surface normals of the first primitive with the surface normal of a third primitive from the plurality of primitives and the surface normal of a fourth primitive from the plurality of primitives, wherein the set of primitives comprises fewer primitives than the plurality of primitives.

3. The method of claim 1 further comprising:

receiving a plurality of primitives that collectively form the 3D representation at a higher resolution than the 3D representation formed by the set of primitives, wherein each primitive of the plurality of primitives is defined with a position, visual characteristics, and a surface normal; and

wherein defining the set of primitives comprises:

replacing a third primitive and a fourth primitive from the plurality of primitives with the first primitive;

defining the position of the first primitive based on the position of the third primitive and the position of the fourth primitive;

defining the visual characteristics of the first primitive based on the visual characteristics of the third primitive and the visual characteristics of the fourth primitive; and

defining the first and second normals of the first primitive based on the surface normal of the third primitive and the surface normal of the fourth primitive.

4. The method of claim 1 further comprising:

receiving a plurality of primitives that collectively form the 3D representation at a higher resolution than the 3D representation formed by the set of primitives, wherein each primitive of the plurality of primitives is defined with a position, visual characteristics, and a surface normal; and

wherein defining the set of primitives comprises:

selecting a third primitive from the plurality of primitives to remove and a fourth primitive from the plurality of primitives to retain;

defining the first and second normals of the first primitive by combining the surface normal of the third primitive with the surface normal of the fourth primitive; and

removing the third primitive from the set of primitives.

5. The method of claim 1 , wherein defining the set of primitives comprises:

decimating a plurality of primitives to the set of primitives by combining surface normals from two or more primitives of the plurality of primitives into a definition of a single primitive in the set of primitives.

6. The method of claim 1 , further comprising:

determining that the second surface normal of the first primitive receives more light from the light source than the first surface normal, wherein said determining comprises:

determining an orientation or angle of the light source; and

determining that the second surface normal is oriented or angled closer to the orientation or angle of the light source than the first surface normal.

7. The method of claim 1 , wherein defining the set of primitives comprises:

representing a surface that is originally defined with two or more primitives with a single primitive of the set of primitives; and

associating a surface normal from each primitive of the two or more primitives to the single primitive.

8. The method of claim 1 , wherein dynamically generating the visualization further comprises:

illuminating the first primitive based on light from the light source reaching a third primitive that was removed from the 3D representation.

9. The method of claim 1 further comprising:

moving the light source from a first position to a second position;

determining that the first surface normal of the first primitive receives more light from the light source at the second position than the second surface normal; and

generating an adjusted visualization for the first primitive at the position of the first primitive with the visual characteristics of the first primitive adjusted according to an amount of light from the light source at the second position reaching the first primitive via the first surface normal.

10. The method of claim 1 , wherein adjusting the visual characteristics of the first primitive according to the second amount of light comprises:

adjusting a brightness with which the first primitive is rendered in the 3D representation based on the second amount of light.

11. The method of claim 1 , wherein the set of primitives comprises a set of meshes or points defined in a 3D space that create a shape and visual characteristics of the 3D representation.

12. The method of claim 1 further comprising:

dynamically reflecting light off the first primitive using one of the first surface normal and the second surface normal of the first primitive, wherein dynamically reflecting light comprises:

generating a visualization of a second primitive from the set of primitives based on the light from the light source reflecting off the first primitive in a direction of the first surface normal as a result of the first amount of light being greater than the second amount of light; and

generating the visualization of the second primitive based on the light from the light source reflecting off the first primitive in a direction of the second surface normal as a result of the second amount of light being greater than the first amount of light.

13. A graphics system comprising:

one or more hardware processors configured to:

define a set of primitives that collectively form a three-dimensional (“3D”) representation, wherein each primitive of the set of primitives is defined with a position, visual characteristics, and at least first and second surface normals;

define a light source with which to illuminate the set of primitives;

compute different amounts of light from the light source that reach the first surface normal and the second surface normal of a first primitive from the set of primitives; and

dynamically generate a visualization for the first primitive at the position of the first primitive based on said computing of the different amounts of light that reach the first surface normal and the second surface normal, wherein dynamically generating the visualization comprises:

adjusting the visual characteristics of the first primitive according to a first amount of light from the light source that is computed to reach the first primitive via the first surface normal in response to the first amount of light being greater than a second amount of light from the light source that is computed to reach the second surface normal; and

adjusting the visual characteristics of the first primitive according to the second amount of light from the light source that is computed to reach the first primitive via the second surface normal in response to the second amount of light being greater than the first amount of light.

14. The graphics system of claim 13 , wherein the one or more hardware processors are further configured to:

receive a plurality of primitives that collectively form the 3D representation at a higher resolution than the 3D representation formed by the set of primitives, wherein each primitive of the plurality of primitives is defined with a position, visual characteristics, and a surface normal;

decimate the plurality of primitives to the set of primitives; and

wherein defining the set of primitives comprises defining the first and second surface normals of the first primitive with the surface normal of a third primitive from the plurality of primitives and the surface normal of a fourth primitive from the plurality of primitives, wherein the set of primitives comprises fewer primitives than the plurality of primitives.

15. The graphics system of claim 13 , wherein the one or more hardware processors are further configured to:

receive a plurality of primitives that collectively form the 3D representation at a higher resolution than the 3D representation formed by the set of primitives, wherein each primitive of the plurality of primitives is defined with a position, visual characteristics, and a surface normal; and

wherein defining the set of primitives comprises:

replacing a third primitive and a fourth primitive from the plurality of primitives with the first primitive;

defining the position of the first primitive based on the position of the first third primitive and the position of the fourth primitive;

defining the visual characteristics of the first primitive based on the visual characteristics of the third primitive and the visual characteristics of the fourth primitive; and

defining the first and second normals of the first primitive based on the surface normal of the third primitive and the surface normal of the fourth primitive.

16. The graphics system of claim 13 , wherein the one or more hardware processors are further configured to:

receive a plurality of primitives that collectively form the 3D representation at a higher resolution than the 3D representation formed by the set of primitives, wherein each primitive of the plurality of primitives is defined with a position, visual characteristics, and a surface normal; and

wherein defining the set of primitives comprises:

selecting a third primitive from the plurality of primitives to remove and a fourth primitive from the plurality of primitives to retain;

defining the first and second normals of the first primitive by combining the surface normal of the third primitive with the surface normal of the fourth primitive; and

removing the third primitive from the set of primitives.

17. The graphics system of claim 13 , wherein defining the set of primitives comprises:

decimating a plurality of primitives to the set of primitives by combining surface normals from two or more primitives of the plurality of primitives into a definition of a single primitive in the set of primitives.

18. The graphics system of claim 13 , wherein defining the set of primitives comprises:

representing a surface that is originally defined with two or more primitives with a single primitive of the set of primitives; and

associating a surface normal from each primitive of the two or more primitives to the single primitive.

19. The graphics system of claim 13 , wherein the one or more hardware processors are further configured to:

move the light source from a first position to a second position;

determine that the first surface normal of the first primitive receives more light from the light source at the second position than the second surface n normal; and

generate an adjusted visualization for the first primitive at the position of the first primitive with the visual characteristics of the first primitive adjusted according to an amount of light from the light source at the second position reaching the first primitive via the first surface normal.

20. A non-transitory computer-readable medium storing instructions that, when executed by one or more processors of a graphics system, cause the graphics system to perform operations comprising:

defining a set of primitives that collectively form a three-dimensional (“3D”) representation, wherein each primitive of the set of primitives is defined with a position, visual characteristics, and at least first and second surface normals;

defining a light source with which to illuminate the set of primitives;

computing different amounts of light from the light source that reach the first surface normal and the second surface normal of a first primitive from the set of primitives; and

dynamically generating a visualization for the first primitive at the position of the first primitive based on said computing of the different amounts of light that reach the first surface normal and the second surface normal, wherein dynamically generating the visualization comprises:

adjusting the visual characteristics of the first primitive according to a first amount of light from the light source that is computed to reach the first primitive via the first surface normal in response to the first amount of light being greater than a second amount of light from the light source that is computed to reach the second surface normal; and

adjusting the visual characteristics of the first primitive according to the second amount of light from the light source that is computed to reach the first primitive via the second surface normal in response to the second amount of light being greater than the first amount of light.

Assignments (2)
CHANGE OF NAME Recorded Sep 18, 2025
From: ILLUSCIO, INC.
To: MIRIS, INC.
Reel/Frame 072896/0410 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 24, 2023
From: GOOD, MAX
To: ILLUSCIO, INC.
Reel/Frame 065322/0031 →