IP Library › Granted Patent US 12,483,706
Granted Patent B1
US 12,483,706 · App. 19/302,310 · Granted Nov 25, 2025

Systems and methods for a smooth temporally segmented encoding of dynamic unstructured spatial data

Inventor: Timothy Ebling (Woodinville, WA)
Assignee: Miris, Inc.
H04N19/136H04N19/119H04N19/172
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,483,706
App. No.
19/302,310
Granted
Nov 25, 2025
Kind
B1
Abstract

A system and associated methods perform smooth temporally segmented encoding of dynamic unstructured spatial data or dynamic three-dimensional (3D) content. The system receives the primitives that define visual changes to the dynamic 3D content across multiple frames. The system determines a first set of primitives that remain unchanged for at least N frames and a second set of primitives that remain unchanged for less than the N frames. The system generates a first data stream that encodes the first set of primitives with temporal values at a reduced frame rate, and generates a second data stream that encodes the second set of primitives without temporal values at the desired frame rate. The system streams the first data stream and the second data stream in response to a request for the dynamic 3D content.

Claims (65)

1 . A method comprising:

receiving a plurality of primitives that define visual changes that occur to dynamic three-dimensional (3D) content across a plurality of frames;

determining a first set of primitives from the plurality of primitives that remain unchanged for at least N frames of the plurality of frames and a second set of primitives from the plurality of primitives that remain unchanged for less than the N frames, wherein N is a value greater than 1;

generating a first data stream that encodes the first set of primitives at a reduced frame rate that is less than a desired frame rate, wherein the first data stream encodes the first set of primitives with temporal values that specify which two or more frames of the plurality of frames at which to present different primitives of the first set of primitives;

generating a second data stream that encodes the second set of primitives without temporal values at the desired frame rate and with each different frame at the desired frame rate encoding data of one or more primitives from the second set of primitives that are presented without change at that different frame;

receiving a request for the 3D content; and

streaming the first data stream and the second data stream in response to the request.

2 . The method of claim 1 further comprising:

determining a third set of primitives from the plurality of primitives that do not change across the plurality of frames; and

encoding the third set of primitives as a single set of one or more grids.

3 . The method of claim 2 further comprising:

streaming the single set of one or more grids representing the third set of primitives with the first data stream and the second data stream.

4 . The method of claim 1 further comprising:

defining temporal values for different primitives of the plurality of primitives based on an amount of time or a number of the plurality of frames that each primitive of the different primitives remains unchanged.

5 . The method of claim 1 further comprising:

classifying the plurality of primitives to a plurality of bins based on a number of frames that each of the plurality of primitives is presented without change across the plurality of frames, wherein said classifying comprises grouping the first set of primitives to a first bin of the plurality of bins and grouping the second set of primitives to a second bin of the plurality of bins.

6 . The method of claim 1 ,

wherein generating the first data stream comprises encoding the first set of primitives as different sets of one or more grids across a subset of the plurality of frames covered by the reduced frame rate; and

wherein generating the second data stream comprises encoding the second set of primitives with a different set of one or more grids for each frame of the plurality of frames and with the different set of one or more grids for a particular frame of the plurality of frames encoding data of one or more primitives from the second set of primitives that are presented at the particular frame without change.

7 . The method of claim 6 further comprising:

compressing the different sets of one or more grids from the first data stream at a first frame rate using a video codec; and

compressing each different set of one or more grids from the second data stream at a second frame rate using the video codec.

8 . The method of claim 6 , wherein encoding a particular set of one or more grids for the first data stream comprises:

encoding a positional attribute of a different primitive from a subset of the first set of primitives to a different cell of a first grid from the particular set of one or more grids; and

encoding a visual characteristic attribute of a different primitive from the subset of the first set of primitives to a corresponding different cell of a second grid from the particular set of one or more grids.

9 . The method of claim 6 further comprising:

optimizing the first data stream and the second data stream for compression by sorting data in each set of one or more grids for smoothness.

10 . The method of claim 1 ,

wherein generating the first data stream comprises encoding positional and visual characteristic attributes of the first set of primitives with the temporal values that specify which of the plurality of frames each primitive of the first set of primitives is presented; and

wherein generating the second data stream comprises encoding positional and visual characteristic attributes of the second set of primitives without temporal values.

11 . The method of claim 1 , wherein streaming the first data stream and the second data stream comprises:

streaming a different set of grids associated with the first data stream at a different one of a subset of the plurality of frames, wherein the subset of the plurality of frames comprises fewer frames than the plurality of frames; and

streaming a different set of grids associated with the second data stream with a different frame of the plurality of frames.

12 . The method of claim 1 , wherein streaming the first data stream and the second data stream comprises streaming less data than streaming all data associated with the plurality of primitives.

13 . The method of claim 1 , wherein said determining comprises:

analyzing positional and visual characteristic attributes of the plurality of primitives across pairs of consecutive frames; and

differentiating the first set of primitives from the second set of primitives based on said analyzing of the positional and visual characteristic attributes.

14 . The method of claim 1 , wherein generating the first data stream comprises:

encoding a first set of grids with data for a first subset of the first set of primitives that are defined without change in the at least N frames across a first set of the plurality of frames; and

encoding a second of grids with data for a second subset of the first set of primitives that are defined without change in the at least N frames across a second set of the plurality of frames.

15 . The method of claim 14 ,

wherein encoding the first set of grids comprises defining the temporal values that specify which of the first set of the plurality of frames each primitive of the first subset of primitives is defined without change; and

wherein encoding the second set of grids comprises defining the temporal values that specify which of the second set of the plurality of frames each primitive of the second subset of primitives is defined without change.

16 . A streaming system comprising:

one or more hardware processors configured to:

receive a plurality of primitives that define visual changes that occur to dynamic three-dimensional (3D) content across a plurality of frames;

determine a first set of primitives from the plurality of primitives that remain unchanged for at least N frames of the plurality of frames and a second set of primitives from the plurality of primitives that remain unchanged for less than the N frames, wherein N is a value greater than 1;

generate a first data stream that encodes the first set of primitives at a reduced frame rate that is less than a desired frame rate, wherein the first data stream encodes the first set of primitives with temporal values that specify which two or more frames of the plurality of frames at which to present different primitives of the first set of primitives;

generate a second data stream that encodes the second set of primitives without temporal values at the desired frame rate and with each different frame at the desired frame rate encoding data of one or more primitives from the second set of primitives that are presented without change at that different frame;

receive a request for the 3D content; and

stream the first data stream and the second data stream in response to the request.

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

determine a third set of primitives from the plurality of primitives that do not change across the plurality of frames; and

encode the third set of primitives as a single set of one or more grids.

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

stream the single set of one or more grids representing the third set of primitives with the first data stream and the second data stream.

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

define temporal values for different primitives of the plurality of primitives based on an amount of time or a number of the plurality of frames that each primitive of the different primitives remains unchanged.

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

receiving a plurality of primitives that define visual changes that occur to dynamic three-dimensional (3D) content across a plurality of frames;

determining a first set of primitives from the plurality of primitives that remain unchanged for at least N frames of the plurality of frames and a second set of primitives from the plurality of primitives that remain unchanged for less than the N frames, wherein N is a value greater than 1;

generating a first data stream that encodes the first set of primitives at a reduced frame rate that is less than a desired frame rate, wherein the first data stream encodes the first set of primitives with temporal values that specify which two or more frames of the plurality of frames at which to present different primitives of the first set of primitives;

generating a second data stream that encodes the second set of primitives without temporal values at the desired frame rate and with each different frame at the desired frame rate encoding data of one or more primitives from the second set of primitives that are presented without change at that different frame;

receiving a request for the 3D content; and

streaming the first data stream and the second data stream in response to the request.

Assignments (2)
CHANGE OF NAME Recorded Sep 18, 2025
From: ILLUSCIO, INC.
To: MIRIS, INC.
Reel/Frame 072896/0477 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 18, 2025
From: EBLING, TIMOTHY
To: ILLUSCIO, INC.
Reel/Frame 072044/0328 →
References Cited (6)
US 12266050B1 · Looper · 2025 [cited by examiner]
US 12413828B1 · Bogacz · 2025 [cited by examiner]
US 20250308144A1 · Sun · 2025 [cited by examiner]
Gong et al. “Adaptive 3D Gaussian Splatting Video Streaming: Visual Saliency-Aware Tiling and Meta-Learning-Based Bitrate Adaptation”, Jul. 19, 2025, 14 Pages. [cited by examiner]
Hu et al. “4DGC: Rate-Aware 4D Gaussian Compression for Efficient Streamable Free-Viewpoint Video” IEEE Aug. 13, 2025, 11 Pages. [cited by examiner]
Wang et al., “V3: Viewing Volumetric Videos on Mobiles via Streamable 2D Dynamic Gaussians”, Sep. 23, 2024, 13 pages, ACM Trans. Graph., vol. 43, No. 6, Article. [cited by applicant]