IP Library › Granted Patent US 12,586,254
Granted Patent B2
US 12,586,254 · App. 18/534,271 · Granted Mar 24, 2026

High-quality rendering on resource-constrained devices based on view optimized RGBD mesh

Inventors: Volga Aksoy (Redwood City, CA); Zeyar Htet (San Mateo, CA); Reza Nourai (Danville, CA)
G06T9/001G06T15/04G06T15/20G06T17/205
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,586,254
App. No.
18/534,271
Granted
Mar 24, 2026
Kind
B2
Abstract

In one embodiment, a method includes receiving a first viewpoint associated with a head-mounted device from the head-mounted device, accessing a 3D mesh of a virtual scene, selecting a portion of the 3D mesh based on the first viewpoint, generating an image and a corresponding depth map of the virtual scene based on the selected portion of the 3D mesh, generating a simplified 3D mesh based on the depth map, wherein the simplified 3D mesh has fewer primitives than the selected portion of 3D mesh of the virtual scene, generating a texture for the simplified 3D mesh based on the image, and sending the simplified 3D mesh and the texture to the head-mount device, wherein the simplified 3D mesh and the texture are configured to be used for rendering the virtual scene from one or more viewpoints different from the first viewpoint.

Claims (78)

1 . A method comprising, by a cloud-computing system:

receiving, from a head-mounted device, a first viewpoint associated with the head-mounted device;

accessing a 3D mesh of a virtual scene;

selecting a portion of the 3D mesh based on the first viewpoint;

generating, based on the selected portion of the 3D mesh, an image and a corresponding depth map of the virtual scene that includes one or more depth cliff regions;

applying depth dilation in each of the one or more depth cliff regions at least in part by identifying one or more nearby points around a depth cliff region that are within a first threshold distance from the depth cliff region and identifying one or more further-away points around the depth cliff region that are over a second threshold distance from the depth cliff region;

generating a simplified 3D mesh based on the depth map, wherein the simplified 3D mesh has fewer primitives than the selected portion of 3D mesh of the virtual scene;

generating a texture for the simplified 3D mesh based on the image; and

sending the simplified 3D mesh and the texture to the head-mounted device, wherein the simplified 3D mesh and the texture are configured to be used for rendering the virtual scene from one or more viewpoints different from the first viewpoint.

2 . The method of claim 1 , wherein the second threshold distance is larger than the first threshold distance.

3 . The method of claim 2 , wherein applying the depth dilation in each of one or more depth cliff regions further comprises:

blending depth values associated with the nearby points onto the further-away points.

4 . The method of claim 1 , wherein generating the simplified 3D mesh is further based on a tessellation algorithm, comprising:

generating a depth MIP chain from the depth map, wherein the depth MIP chain comprises a plurality of MIP levels;

determining a particular MIP level among the plurality of MIP levels to represent depth complexity associated with a particular tile corresponding to that MIP level;

using the particular tile to propagate the MIP level of that particular tyle outwards to one or more neighboring tiles, wherein a transition between any two of the particular tile and the neighboring tiles is no greater than one MIP level;

selecting a particular tessellation pattern from a plurality of predetermined tessellation patterns to analyzing neighbor connectivity; and

snapping edge vertices on boundaries between the particular tile and the neighboring tiles based on one or more contours of the portion of the 3D mesh.

5 . The method of claim 1 , further comprising:

generating an indexed vertex buffer, comprising:

identifying one or more identical triangles of the simplified 3D mesh;

assigning a shared vertex to the identical triangles; and

generating the indexed vertex buffer based on the shared vertex.

6 . The method of claim 5 , further comprising:

applying depth dilation in each of identical triangles.

7 . The method of claim 1 , further comprising:

generating a compressed 3D mesh from the simplified 3D mesh.

8 . The method of claim 7 , wherein generating the compressed 3D mesh is based on a particular type of compression, and wherein the method further comprises:

sending metadata associated with the particular type of compression to the head-mounted device, wherein the metadata associated with the particular type of compression is configured to be used for rendering the virtual scene from the one or more viewpoints different from the first viewpoint.

9 . The method of claim 1 , wherein the head-mounted device is worn by a user, and wherein the method further comprises:

generating a view and projection matrix for each eye of the user; and

sending the view and projection matrix for each eye of the user to the head-mounted device, wherein the view and projection matrix for each eye of the user is configured to be used for rendering the virtual scene from the one or more viewpoints different from the first viewpoint.

10 . The method of claim 1 , further comprising:

encoding the image; and

sending the encoded image to the head-mounted device, wherein the encoded image is configured to be used for rendering the virtual scene from the one or more viewpoints different from the first viewpoint.

11 . The method of claim 1 , wherein the head-mounted device is worn by a user, and wherein the first viewpoint is associated with one or more of:

a predicted pose associated with the head-mounted device and eye poses of the user corresponding to the predicted pose;

a local-to-world matrix associated with the virtual scene;

a field-of-view value associated with the head-mounted device corresponding to each eye of the user; or

an identifier associated with the virtual scene.

12 . The method of claim 1 , further comprising:

cropping a projection of the virtual scene by zooming into the virtual scene to fit the 3D mesh in a whole field of view of the head-mounted device.

13 . One or more computer-readable non-transitory storage media embodying software that is operable when executed to:

receive, from a head-mounted device, a first viewpoint associated with the head-mounted device;

access a 3D mesh of a virtual scene;

select a portion of the 3D mesh based on the first viewpoint;

generate, based on the selected portion of the 3D mesh, an image and a corresponding depth map of the virtual scene that includes one or more depth cliff regions;

applying depth dilation in each of the one or more depth cliff regions at least in part by identifying one or more nearby points around a depth cliff region that are within a first threshold distance from the depth cliff region and identifying one or more further-away points around the depth cliff region that are over a second threshold distance from the depth cliff region;

generate a simplified 3D mesh based on the depth map, wherein the simplified 3D mesh has fewer primitives than the selected portion of 3D mesh of the virtual scene;

generate a texture for the simplified 3D mesh based on the image; and

send the simplified 3D mesh and the texture to the head-mounted device, wherein the simplified 3D mesh and the texture are configured to be used for rendering the virtual scene from one or more viewpoints different from the first viewpoint.

14 . The media of claim 13 , wherein the second threshold distance is larger than the first threshold distance.

15 . The media of claim 14 , wherein applying the depth dilation in each of one or more depth cliff regions further comprises:

blending depth values associated with the nearby points onto the further-away points.

16 . The media of claim 13 , wherein generating the simplified 3D mesh is further based on a tessellation algorithm, comprising:

generating a depth MIP chain from the depth map, wherein the depth MIP chain comprises a plurality of MIP levels;

determining a particular MIP level among the plurality of MIP levels to represent depth complexity associated with a particular tile corresponding to that MIP level;

using the particular tile to propagate the MIP level of that particular tyle outwards to one or more neighboring tiles, wherein a transition between any two of the particular tile and the neighboring tiles is no greater than one MIP level;

selecting a particular tessellation pattern from a plurality of predetermined tessellation patterns to analyzing neighbor connectivity; and

snapping edge vertices on boundaries between the particular tile and the neighboring tiles based on one or more contours of the portion of the 3D mesh.

17 . A system comprising: one or more processors; and a non-transitory memory coupled to the processors comprising instructions executable by the processors, the processors operable when executing the instructions to:

receive, from a head-mounted device, a first viewpoint associated with the head-mounted device;

access a 3D mesh of a virtual scene that includes one or more depth cliff regions;

applying depth dilation in each of the one or more depth cliff regions at least in part by identifying one or more nearby points around a depth cliff region that are within a first threshold distance from the depth cliff region and identifying one or more further-away points around the depth cliff region that are over a second threshold distance from the depth cliff region;

select a portion of the 3D mesh based on the first viewpoint;

generate, based on the selected portion of the 3D mesh, an image and a corresponding depth map of the virtual scene;

generate a simplified 3D mesh based on the depth map, wherein the simplified 3D mesh has fewer primitives than the selected portion of 3D mesh of the virtual scene;

generate a texture for the simplified 3D mesh based on the image; and

send the simplified 3D mesh and the texture to the head-mounted device, wherein the simplified 3D mesh and the texture are configured to be used for rendering the virtual scene from one or more viewpoints different from the first viewpoint.

18 . The system of claim 17 , wherein the second threshold distance is larger than the first threshold distance.

19 . The system of claim 18 , wherein applying the depth dilation in each of one or more depth cliff regions further comprises:

blending depth values associated with the nearby points onto the further-away points.

20 . The system of claim 17 , wherein generating the simplified 3D mesh is further based on a tessellation algorithm, comprising:

generating a depth MIP chain from the depth map, wherein the depth MIP chain comprises a plurality of MIP levels;

determining a particular MIP level among the plurality of MIP levels to represent depth complexity associated with a particular tile corresponding to that MIP level;

using the particular tile to propagate the MIP level of that particular tyle outwards to one or more neighboring tiles, wherein a transition between any two of the particular tile and the neighboring tiles is no greater than one MIP level;

selecting a particular tessellation pattern from a plurality of predetermined tessellation patterns to analyzing neighbor connectivity; and

snapping edge vertices on boundaries between the particular tile and the neighboring tiles based on one or more contours of the portion of the 3D mesh.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 10, 2026
From: HTET, ZEYAR; AKSOY, VOLGA; NOURAI, REZA
To: META PLATFORMS TECHNOLOGIES, LLC
Reel/Frame 073747/0840 →
Continuity (2)
Provisional Application 63480963 · Jan 21, 2023
Related Publication 20240296590A1 · Sep 5, 2024
References Cited (2)
US 12256098B1 · Mammou · 2025 [cited by examiner]
US 20150049201A1 · Liu · 2015 [cited by examiner]