IP Library › Granted Patent US 12,555,303
Granted Patent B2
US 12,555,303 · App. 19/225,401 · Granted Feb 17, 2026

Systems and methods for reducing point cloud and texture data using adapted splatting techniques

Inventors: Sean Looper (Flagstaff, AZ); Thomas Matterson (Breaker Bay, NZ)
Assignee: Miris, Inc.
G06T15/04G06T15/20G06T17/00G06T2210/56
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,555,303
App. No.
19/225,401
Granted
Feb 17, 2026
Kind
B2
Abstract

An optimization system reduces the data encoded within a point cloud for streaming and/or rendering of a lossy representation of the point cloud. The optimization system generates a first optimized splat for a first visual characteristic of the point cloud by replacing a first set of points having a first common value for the first visual characteristic with a first replacement primitive, and generates a second optimized splat for a second visual characteristic of the point cloud by replacing a second set of points having a second common value for the second visual characteristic with a second replacement primitive. The optimization system provides the first optimized splat and the second optimized splat instead of the original points of the point cloud in response to a request to access the point cloud.

Claims (67)

1 . A method comprising:

receiving a three-dimensional (3D) model comprising a plurality of primitives with each primitive of the plurality of primitives being defined with a plurality of visual characteristics;

generating a first splat with a first set of splat primitives with each splat primitive of the first splat replacing a neighboring group of two or more primitives from the plurality of primitives that are defined with a common value for one or more first visual characteristics from the plurality of visual characteristics;

generating a second splat with a second set of splat primitives with each splat primitive of the second splat replacing a neighboring group of two or more primitives from the plurality of primitives that are defined with a common value for one or more second visual characteristics from the plurality of visual characteristics, wherein the second set of splat primitives are generated without modifying any of the first set of splat primitives; and

presenting a visualization of the 3D model by rendering the first set of splat primitives with the second set of splat primitives and combining rendered visual characteristics of the first set of splat primitives with rendered visual characteristics of the second set of splat primitives in the visualization.

2 . The method of claim 1 further comprising:

receiving optimization criteria for reducing a file size of the 3D model; and

setting a first range for the common value for the one or more first visual characteristics and a second range for the common value for the one or more second visual characteristics that result in the first set of splat primitives and the second set of splat primitives satisfying the optimization criteria.

3 . The method of claim 1 further comprising:

comparing the visualization of the 3D model produced from the first set of splat primitives and the second set of splat primitives against a visualization of the 3D model produced from rendering the plurality of primitives; and

wherein presenting the visualization of the 3D model comprises:

providing the first set of splat primitives and the second set of splat primitives to a requesting device in response to the visualization of the 3D model generated from the first and second sets of splat primitives having an acceptable amount of loss relative to the visualization of the 3D model produced from rendering the plurality of primitives; and

regenerating the first set of splat primitives and the second set of splat primitives to replace different groups of the plurality of primitives in response to the visualization of the 3D model generated from the first and second sets of splat primitives having more than the acceptable amount of loss relative to the visualization of the 3D model produced from rendering the plurality of primitives.

4 . The method of claim 1 further comprising:

analyzing variation in values defined for the plurality of visual characteristics of the plurality of primitives; and

wherein generating the second splat comprises generating fewer splat primitives for the second set of splat primitives than the first set of splat primitives in response to the variation in the values defined for the one or more first visual characteristics being greater than the variation in the values defined for the one or more second visual characteristics.

5 . The method of claim 1 further comprising:

selecting a first set of neighboring groups for replacement by the first set of splat primitives based on subsets of primitives from the plurality of primitives that are positioned next to one another and that have values defined for the one or more first visual characteristics that are within a specified threshold of one another; and

selecting a second set of neighboring groups for replacement by the second set of splat primitives based on subsets of primitives from the plurality of primitives that are positioned next to one another and that have values defined for the one or more second visual characteristics that are within a specified threshold of one another.

6 . The method of claim 1 further comprising:

interpolating values defined for the one or more first visual characteristics of the first set of splat primitives to the second set of splat primitives based on the second set of splat primitives being defined with more splat primitives than the first set of splat primitives; and

wherein presenting the visualization comprises rendering the second set of splat primitives based on values defined for the one or more second visual characteristics of the second set of splat primitives and interpolated values defined for the one or more first visual characteristics.

7 . The method of claim 1 further comprising:

performing a nearest neighbor matching between splat primitives of the first set of splat primitives and splat primitives of the second set of splat primitives;

mapping different visual characteristics defined for the first set of splat primitives and the second set of splat primitives to a single set of splat primitives based on the nearest neighbor matching; and

wherein presenting the visualization comprises rendering the single set of splat primitives.

8 . The method of claim 1 , wherein each primitive of the plurality of primitives is defined in a different 3D format than each splat primitive of the first and second sets of splat primitives.

9 . The method of claim 1 , wherein each splat primitive is an ellipsoid that approximates a shape formed by two or more primitives of the plurality of primitives that are replaced by that splat primitive.

10 . The method of claim 1 , wherein presenting the visualization comprises:

streaming at least one set of splat primitives derived from the first set of splat primitives and the second set of splat primitives in response to a request for the 3D model.

11 . The method of claim 1 , wherein each splat of the first set of splat primitives and the second set of splat primitives is defined with a different ellipsoidal shape, different positional coordinates, one or more radii, and values for one or more visual characteristics.

12 . The method of claim 1 , wherein presenting the visualization comprises:

generating a first visualization from rendering the first set of splat primitives;

generating a second visualization from rendering the second set of splat primitives; and

generating the visualization of the 3D model by combining the first visualization and the second visualization.

13 . A system comprising:

one or more hardware processors configured to:

receive a three-dimensional (3D) model comprising a plurality of primitives with each primitive of the plurality of primitives being defined with a plurality of visual characteristics;

generate a first splat with a first set of splat primitives with each splat primitive of the first splat replacing a neighboring group of two or more primitives from the plurality of primitives that are defined with a common value for one or more first visual characteristics from the plurality of visual characteristics;

generate a second splat with a second set of splat primitives with each splat primitive of the second splat replacing a neighboring group of two or more primitives from the plurality of primitives that are defined with a common value for one or more second visual characteristics from the plurality of visual characteristics, wherein the second set of splat primitives are generated without modifying any of the first set of splat primitives; and

present a visualization of the 3D model by rendering the first set of splat primitives with the second set of splat primitives and combining rendered visual characteristics of the first set of splat primitives with rendered visual characteristics of the second set of splat primitives in the visualization.

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

receive optimization criteria for reducing a file size of the 3D model; and

set a first range for the common value for the one or more first visual characteristics and a second range for the common value for the one or more second visual characteristics that result in the first set of splat primitives and the second set of splat primitives satisfying the optimization criteria.

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

compare the visualization of the 3D model produced from the first set of splat primitives and the second set of splat primitives against a visualization of the 3D model produced from rendering the plurality of primitives; and

wherein presenting the visualization of the 3D model comprises:

providing the first set of splat primitives and the second set of splat primitives to a requesting device in response to the visualization of the 3D model generated from the first and second sets of splat primitives having an acceptable amount of loss relative to the visualization of the 3D model produced from rendering the plurality of primitives; and

regenerating the first set of splat primitives and the second set of splat primitives to replace different groups of the plurality of primitives in response to the visualization of the 3D model generated from the first and second sets of splat primitives having more than the acceptable amount of loss relative to the visualization of the 3D model produced from rendering the plurality of primitives.

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

analyze variation in values defined for the plurality of visual characteristics of the plurality of primitives; and

wherein generating the second set of splat comprises generating fewer splat primitives for the second set of splat primitives than the first set of splat primitives in response to the variation in the values defined for the one or more first visual characteristics being greater than the variation in the values defined for the one or more second visual characteristics.

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

select a first set of neighboring groups for replacement by the first set of splat primitives based on subsets of primitives from the plurality of primitives that are positioned next to one another and that have values defined for the one or more first visual characteristics that are within a specified threshold of one another; and

select a second set of neighboring groups for replacement by the second set of splat primitives based on subsets of primitives from the plurality of primitives that are positioned next to one another and that have values defined for the one or more second visual characteristics that are within a specified threshold of one another.

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

interpolate values defined for the one or more first visual characteristics of the first set of splat primitives to the second set of splat primitives based on the second set of splat primitives being defined with more splat primitives than the first set of splat primitives; and

wherein presenting the visualization comprises rendering the second set of splat primitives based on values defined for the one or more second visual characteristics of the second set of splat primitives and interpolated values defined for the one or more first visual characteristics.

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

perform a nearest neighbor matching between splat primitives of the first set of splat primitives and splat primitives of the second set of splat primitives;

map different visual characteristics defined for the first set of splat primitives and the second set of splat primitives to a single set of splat primitives based on the nearest neighbor matching; and

wherein presenting the visualization comprises rendering the single set of splat primitives.

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

receiving a three-dimensional (3D) model comprising a plurality of primitives with each primitive of the plurality of primitives being defined with a plurality of visual characteristics;

generating a first splat with a first set of splat primitives with each splat primitive of the first splat replacing a neighboring group of two or more primitives from the plurality of primitives that are defined with a common value for one or more first visual characteristics from the plurality of visual characteristics;

generating a second splat with a second set of splat primitives with each splat primitive of the second splat replacing a neighboring group of two or more primitives from the plurality of primitives that are defined with a common value for one or more second visual characteristics from the plurality of visual characteristics, wherein the second set of splat primitives are generated without modifying any of the first set of splat primitives; and

presenting a visualization of the 3D model by rendering the first set of splat primitives with visual characteristics defined for the second set of splat primitives and combining rendered visual characteristics of the first set of splat primitives with rendered visual characteristics of the second set of splat primitives in the visualization.

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 Jun 3, 2025
From: LOOPER, SEAN; MATTERSON, THOMAS
To: ILLUSCIO, INC.
Reel/Frame 071296/0821 →
Continuity (3)
Continuation 19069458 · Mar 4, 2025
Continuation 18748830 · Jun 20, 2024
Related Publication 20250391093A1 · Dec 25, 2025
References Cited (2)
Garcia et al.; “Textured splat-based point clouds for rendering in handheld devices;” 2015; In Proceedings of the 20th International Conference on 3D Web Technology (Web3D '15). Association for Computing Machinery, New … [cited by examiner]
Wu et al.; “Optimized Sub-Sampling of Point Sets for Surface Splatting;” 2004; Eurographics, vol. 23 (2004), No. 3: pp. 1-10 (Year: 2004). [cited by examiner]