IP Library Granted Patent US 11,657,478
Granted Patent B1
US 11,657,478 · App. 18/048,343 · Granted May 23, 2023

Systems and methods for dynamically rendering three-dimensional images with varying detail to emulate human vision

Inventors: Mark Weingartner (Woodland Hills, CA); Tim Sung (Los Angeles, CA)
Assignee: Illuscio, Inc.
G06T3/4092G06T15/00G06T2210/36
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 11,657,478
App. No.
18/048,343
Granted
May 23, 2023
Kind
B1
Abstract

Disclosed is a system and associated methods for dynamically rendering an image with varying detail that emulates human vision and that provides a dynamic resolution or level of detail at each layer of the image that is equal to or greater than the resolvable detail that can be detected by human vision within each layer. The system may adjust a non-linear function based on one or more of a display size, a display resolution, and a viewer distance from a display. The system may determine a dynamic resolution or level of detail for each layer of the image based on the adjusted non-linear function. The system may render the image data at or greater than the dynamic resolution or level of detail determined for each layer.

Claims (66)

1. A method comprising:

receiving a plurality of image data that is defined at different positions in a three-dimensional (“3D”) space and that represents a 3D environment;

defining a view frustum as a particular volume in the 3D space that spans between a first depth and a second depth of the 3D space;

modeling a first amount of resolvable detail at the first depth of the view frustum, wherein modeling the first amount of resolvable detail comprises adjusting a first value derived from the first depth by a second value derived from one or more of a size of a display, a resolution of the display, or a viewer distance from the display;

modeling a second amount of resolvable detail at the second depth of the view frustum, wherein modeling the second amount of resolvable detail comprises adjusting a third value derived from the second depth by the second value;

rendering a first set of the plurality of image data with positions in the 3D space that are at the first depth and in the particular volume at a first resolution that presents the first depth of the view frustum with the first amount of resolvable detail; and

rendering a second set of the plurality of image data with positions in the 3D space that are at the second depth and in the particular volume at a second resolution that presents the second depth of the view frustum with the second amount of resolvable detail, wherein the first resolution is different than the second resolution.

2. The method of claim 1 further comprising:

generating a visualization of the 3D environment by combining the rendering of the first set of image data at the first resolution with the rendering of the second set of image data at the second resolution.

3. The method of claim 1 , wherein the first resolution is greater than the second resolution.

4. The method of claim 1 further comprising:

rendering, at a third resolution, a third set of the plurality of image data with positions in the 3D space corresponding to a third depth that is in between the first depth and the second depth, and wherein the third resolution is greater than the second resolution and less than the first resolution.

5. The method of claim 1 further comprising:

dynamically determining the first resolution at which to render image data at the first depth based on a first distance from the first depth to a viewing position, wherein the viewing position is determined from the one or more of the size of the display, the resolution of the display, or the viewer distance from the display; and

dynamically determining the second resolution at which to render image data at the second depth based on a second distance from the second depth to the viewing position.

6. The method of claim 1 further comprising:

dynamically determining the first resolution at which to render image data at the first depth based on a first size at which to present the first set of image data at the first depth on a display of a specific size; and

dynamically determining the second resolution at which to render image data at the second depth based on a second size at which to present the second set of image data at the second depth on the display of the specific size.

7. The method of claim 1 ,

wherein receiving the plurality of image data comprises receiving a 3D file with the plurality of image data encoded at a common resolution at the different positions in the 3D space;

wherein rendering the first set of image data at the first resolution comprises rendering the first set of image data at the common resolution; and

wherein rendering the second set of image data at the second resolution comprises rendering the second set of image data at the second resolution that is less than a common resolution.

8. The method of claim 1 further comprising:

dynamically determining the first resolution that presents the first set of image data at the first depth with the first amount of resolvable detail, wherein the first amount of resolvable detail corresponds to one arc minute of resolvable detail at the first depth of the view frustum; and

dynamically determining the second resolution that presents the second set of image data at the second depth with the second amount of resolvable detail, wherein the second amount of resolvable detail corresponds to one arc minute of resolvable detail at the second depth of the view frustum.

9. The method of claim 1 further comprising:

dynamically determining the first resolution based on a non-linear function that is configured for the first depth; and

dynamically determining the second resolution based on the non-linear function that is configured for the second depth.

10. The method of claim 1 further comprising:

changing the view frustum from a closer first position to a more distance second position;

determining that the first set of image data is at a third depth in the particular volume of the view frustum as a result of changing the view frustum; and

rendering the first set of image data at a third resolution that is less than the first resolution in response to the changing of the view frustum.

11. The method of claim 1 further comprising:

decreasing the first resolution and the second resolution in response to a distance between a particular position at which the 3D environment is rendered and the first and second sets of image data increasing; and

increasing the first resolution and the second resolution in response to the distance between the particular position at which the 3D environment is rendered and the first and second sets of image data decreasing.

12. A system comprising:

one or more hardware processors configured to:

receive a plurality of image data that is defined at different positions in a three-dimensional (“3D”) space and that represents a 3D environment;

define a view frustum as a particular volume in the 3D space that spans between a first depth and a second depth of the 3D space;

model a first amount of resolvable detail at the first depth of the view frustum, wherein modeling the first amount of resolvable detail comprises adjusting a first value derived from the first depth by a second value derived from one or more of a size of a display, a resolution of the display, or a viewer distance from the display;

model a second amount of resolvable detail at the second depth of the view frustum, wherein modeling the second amount of resolvable detail comprises adjusting a third value derived from the second depth by the second value;

render a first set of the plurality of image data with positions in the 3D space that are at the first depth and in the particular volume at a first resolution that presents the first depth of the view frustum with the first amount of resolvable detail; and

render a second set of the plurality of image data with positions in the 3D space that are at the second depth and in the particular volume at a second resolution that presents the second depth of the view frustum with the second amount of resolvable detail, wherein the first resolution is different than the second resolution.

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

generate a visualization of the 3D environment by combining the rendering of the first set of image data at the first resolution with the rendering of the second set of image data at the second resolution.

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

render, at a third resolution, a third set of the plurality of image data with positions in the 3D space corresponding to a third depth that is in between the first depth and the second depth, and wherein the third resolution is greater than the second resolution and less than the first resolution.

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

dynamically determine the first resolution at which to render image data at the first depth based on a first distance from the first depth to a viewing position, wherein the viewing position is determined from the one or more of the size of the display, the resolution of the display, or the viewer distance from the display; and

dynamically determine the second resolution at which to render image data at the second depth based on a second distance from the second depth to the viewing position.

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

dynamically determine the first resolution at which to render image data at the first depth based on a first size at which to present the first set of image data at the first depth on a display of a specific size; and

dynamically determine the second resolution at which to render image data at the second depth based on a second size at which to present the second set of image data at the second depth on the display of the specific size.

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

dynamically determine the first resolution that presents the first set of image data at the first depth with the first amount of resolvable detail, wherein the first amount of resolvable detail corresponds to one arc minute of resolvable detail at the first depth of the view frustum; and

dynamically determine the second resolution that presents the second set of image data at the second depth with the second amount of resolvable detail, wherein the second amount of resolvable detail corresponds to one arc minute of resolvable detail at the second depth of the view frustum.

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

dynamically determine the first resolution based on a non-linear function that is configured for the first depth; and

dynamically determine the second resolution based on the non-linear function that is configured for the second depth.

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

receive a plurality of image data that is defined at different positions in a three-dimensional (“3D”) space and that represents a 3D environment;

define a view frustum as a particular volume in the 3D space that spans between a first depth and a second depth of the 3D space;

model a first amount of resolvable detail at the first depth of the view frustum, wherein modeling the first amount of resolvable detail comprises adjusting a first value derived from the first depth by a second value derived from one or more of a size of a display, a resolution of the display, or a viewer distance from the display;

model a second amount of resolvable detail at the second depth of the view frustum, wherein modeling the second amount of resolvable detail comprises adjusting a third value derived from the second depth by the second value;

render a first set of the plurality of image data with positions in the 3D space that are at the first depth and in the particular volume at a first resolution that presents the first depth of the view frustum with the first amount of resolvable detail; and

render a second set of the plurality of image data with positions in the 3D space that are at the second depth and in the particular volume at a second resolution that presents the second depth of the view frustum with the second amount of resolvable detail, wherein the first resolution is different than the second resolution.

Assignments (2)
CHANGE OF NAME Recorded Sep 18, 2025
From: ILLUSCIO, INC.
To: MIRIS, INC.
Reel/Frame 072896/0394 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 20, 2022
From: WEINGARTNER, MARK; SUNG, TIM
To: ILLUSCIO, INC.
Reel/Frame 061487/0600 →
Continuity (1)
Continuation 17700903 · Mar 22, 2022