IP Library Granted Patent US 12,499,622
Granted Patent B2
US 12,499,622 · App. 18/189,171 · Granted Dec 16, 2025

Late stage reprojection using tessellated mesh

Inventor: Christian Voss-Wolff (Herzberg am Harz, DE)
Assignee: Microsoft Technology Licensing, LLC.
G06T17/205G06T15/005G06T19/20G06T2219/2012
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,499,622
App. No.
18/189,171
Granted
Dec 16, 2025
Kind
B2
Abstract

A method of late stage reprojection comprises accessing a depth buffer and a color image, accessing a depth complexity map, computing an indexed tessellated mesh from the depth complexity map using a database of pre-computed patterns and reprojecting the indexed tessellated mesh to correct the color image.

Claims (58)

1 . A method of late stage reprojection comprising:

computing a map of subdivision factors from a depth complexity map corresponding to an image, the map of subdivision factors containing a subdivision factor for a mesh patch;

identifying, from a database comprising a plurality of pre-computed patterns, a pre-computed pattern comprising patch data defining a tessellated mesh patch, the tessellated mesh patch corresponding to the subdivision factor; and

reprojecting the image using the tessellated mesh patch.

2 . The method of claim 1 , comprising:

storing the tessellated mesh patch in memory;

at a later time, computing an updated pose prediction of a pose of a client device;

retrieving the tessellated mesh patch from memory; and

rendering the tessellated mesh patch using the updated pose prediction.

3 . The method of claim 1 , performed by a client device and wherein the database is stored at the client device.

4 . The method of claim 1 , wherein the tessellated mesh patch is indexed according to three subdivision factors.

5 . The method of claim 4 , wherein the subdivision factors are integers up to but not including a size of the tessellated mesh patch in pixels.

6 . The method of claim 5 , wherein one subdivision factor is a subdivision factor for an interior of the tessellated mesh patch, another subdivision factor is a subdivision factor for a top edge of the tessellated mesh patch, and another subdivision factor is a subdivision factor for a left edge of the tessellated mesh patch.

7 . The method of claim 5 , wherein each vertex in the mesh patch corresponds to a corresponding pixel in a depth buffer.

8 . The method of claim 1 wherein;

the tessellated mesh patch is identified by:

reading three subdivision factors, inclusive of the subdivision factor, from the map of subdivision factors;

querying the database with the three subdivision factors; and

retrieving patch data defining the tessellated mesh patch from the database; and

the method further comprises appending the tessellated mesh patch to a tessellated mesh by combining local coordinates of vertices within the tessellated mesh patch with a global position of the tessellated mesh patch and copying resulting values to an output mesh buffer.

9 . The method of claim 8 , wherein the depth complexity map is computed using a planar deviation metric computed using a depth buffer.

10 . The method of claim 1 , wherein the tessellated mesh patch is optimized.

11 . The method of claim 10 wherein the tessellated mesh patch is optimized using one or both of Laplacian smoothing and Delaunay triangulation.

12 . The method of claim 1 wherein the tessellated mesh patch is stitched to other tessellated mesh patches to form a fully connected vertex-buffer-less indexed tessellated mesh, wherein data associated with each vertex of the tessellated mesh patch is encoded into an index buffer.

13 . An apparatus comprising:

a processor;

a memory storing instructions that, when executed by the processor, perform a procedure for late stage reprojection, comprising:

computing a map of subdivision factors from a depth complexity map corresponding to an image, the map of subdivision factors containing a subdivision factor for a mesh patch;

identifying, from a database comprising a plurality of pre-computed patterns, a pre-computed pattern comprising patch data defining a tessellated mesh patch, the tessellated mesh patch corresponding to the subdivision factor; and

reprojecting the image using the tessellated mesh patch.

14 . The apparatus of claim 13 wherein the method procedure further comprises:

storing the tessellated mesh patch in memory;

at a later time, computing an updated pose prediction of a pose of a client device;

retrieving the tessellated mesh patch from memory; and

rendering the tessellated mesh patch using the updated pose prediction.

15 . The apparatus of claim 13 wherein the apparatus is a client device.

16 . The apparatus of claim 13 wherein:

each tessellated mesh patch is indexed according to three subdivision factors inclusive of the subdivision factor;

the three subdivision factors are integers up to a size of the tessellated mesh patch in pixels; and

wherein the three subdivision factors comprise a first subdivision factor for an interior of the tessellated mesh patch, a second subdivision factor for a top edge of the tessellated mesh patch, and a third subdivision factor for a left edge of the tessellated mesh patch.

17 . The apparatus of claim 13 wherein:

the tessellated mesh patch is computed by:

reading three subdivision factors inclusive of the subdivision factor;

querying the database with the three subdivision factors; and

retrieving the patch data defining the tessellated mesh patch from the database; and

the procedure further comprises appending the tessellated mesh patch to a tessellated mesh by combining local coordinates of vertices within the tessellated mesh patch with a global position of the tessellated mesh patch and copying resulting values to an output mesh buffer.

18 . The apparatus of claim 17 , wherein the depth complexity map is computed using a planar deviation metric computed using a depth buffer.

19 . A method for image reprojection, the method comprising:

computing a map of subdivision factors from a depth complexity map corresponding to an image, the map of subdivision factors containing a subdivision factor for a mesh patch, the image is based on an initial pose of a head-mounted display (HMD) device;

identifying, from a database comprising a plurality of pre-computed patterns, a pre-computed pattern comprising patch data defining a tessellated mesh patch, the tessellated mesh patch corresponding to the subdivision factor;

accessing an updated pose of the HMD device; and

producing a reprojected image based on the updated pose of the HMD device using the tessellated mesh patch.

20 . The method of claim 19 , wherein;

the tessellated mesh patch is computed by:

reading three subdivision factors, inclusive of the subdivision factor, from the map of subdivision factors;

querying the database with the three subdivision factors; and

retrieving the patch data defining the tessellated mesh patch from the database; and

the method further comprises appending the tessellated mesh patch to a tessellated mesh by combining local coordinates of vertices within the tessellated mesh patch with a global position of the tessellated mesh patch and copying resulting values to an output mesh buffer.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 23, 2023
From: VOSS-WOLFF, CHRISTIAN
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 063085/0505 →
Continuity (1)
Related Publication 20240320921A1 · Sep 26, 2024
References Cited (72)
US 7274810B2 · Reeves et al. · 2007 [cited by applicant]
US 8026912B1 · Danskin · 2011 [cited by examiner]
US 8730236B2 · Fishwick · 2014 [cited by applicant]
US 9928655B1 · Alston · 2018 [cited by applicant]
US 10403032B2 · Schmalstieg et al. · 2019 [cited by applicant]
US 10445922B2 · Anderson et al. · 2019 [cited by applicant]
US 11032534B1 · Voss-Wolff · 2021 [cited by examiner]
US 11776214B2 · Lieutier · 2023 [cited by examiner]
US 20030011595A1 · Goel et al. · 2003 [cited by applicant]
US 20080001952A1 · Srinivasan · 2008 [cited by examiner]
US 20090207179A1 · Huang · 2009 [cited by examiner]
US 20090237400A1 · Patel · 2009 [cited by examiner]
US 20100164954A1 · Sathe · 2010 [cited by examiner]
US 20100310155A1 · Newton · 2010 [cited by applicant]
US 20140063012A1 · Madani · 2014 [cited by examiner]
US 20150029218A1 · Williams · 2015 [cited by applicant]
US 20170115488A1 · Ambrus et al. · 2017 [cited by applicant]
US 20170285736A1 · Young · 2017 [cited by applicant]
US 20170302918A1 · Mammou · 2017 [cited by applicant]
US 20170302972A1 · Zhang · 2017 [cited by applicant]
US 20170358132A1 · Munshi · 2017 [cited by examiner]
US 20170374343A1 · Boulton et al. · 2017 [cited by applicant]
US 20180082469A1 · Andersson · 2018 [cited by applicant]
US 20180189925A1 · Lee · 2018 [cited by examiner]
US 20180218210A1 · Georgiou et al. · 2018 [cited by applicant]
US 20180270531A1 · Ye · 2018 [cited by applicant]
US 20180286112A1 · Lauritzen et al. · 2018 [cited by applicant]
US 20180336008A1 · Nakagawa · 2018 [cited by applicant]
US 20190052838A1 · Ashkenazi · 2019 [cited by applicant]
US 20190340812A1 · Fuetterling et al. · 2019 [cited by applicant]
US 20200202481A1 · Brigg et al. · 2020 [cited by applicant]
US 20200327740A1 · Frommhold et al. · 2020 [cited by applicant]
US 20200342656A1 · Cichocki · 2020 [cited by examiner]
US 20200348515A1 · Peuhkurinen · 2020 [cited by applicant]
US 20210133850A1 · Ayush · 2021 [cited by applicant]
US 20210264661A1 · Voss-Wolff · 2021 [cited by examiner]
US 20210358219A1 · Melkote Krishnaprasad · 2021 [cited by applicant]
US 20210373678A1 · Chauvin · 2021 [cited by applicant]
US 20210409235A1 · Cui · 2021 [cited by applicant]
US 20220066543A1 · Rhyu · 2022 [cited by applicant]
US 20220253966A1 · Croxford · 2022 [cited by applicant]
US 20220301262A1 · Aksit · 2022 [cited by applicant]
US 20220394225A1 · Champion · 2022 [cited by applicant]
US 20220414984A1 · Malhotra · 2022 [cited by examiner]
US 20230039100A1 · Melkote Krishnaprasad · 2023 [cited by applicant]
US 20230134779A1 · Reinert · 2023 [cited by examiner]
US 20240098243A1 · Damveld · 2024 [cited by applicant]
US 20240144597A1 · Mason · 2024 [cited by examiner]
US 20240312140A1 · Voss-Wolff · 2024 [cited by applicant]
US 20240379030A1 · Ikenoue · 2024 [cited by applicant]
WO 2021167704A1 · 2021 [cited by applicant]
Chen, Mesh Smoothing Schemes Based on Optimal Delaunay Triangulations, 2004 (Year: 2004). [cited by examiner]
International Search Report and Written Opinion received for PCT Application No. PCT/US2024/019306, Jul. 5, 2024, 13 pages. [cited by applicant]
International Search Report and Written Opinion received for PCT Application No. PCT/US2024/019316, Jun. 28, 2024, 13 pages. [cited by applicant]
Meseth, Jan, “Towards Predictive Rendering in Virtual Reality,” Doctoral dissertation, Bonn, University, Oct. 1, 2016, 370 Pages. [cited by applicant]
Wismann, et al., “Accelerated Stereo Rendering with Hybrid Reprojection- Based Rasterization and Adaptive Raytracing,” IEEE Conference on Virtual Reality and 3D User Interfaces, 2020, 08 Pages. [cited by applicant]
Decision to Grant pursuant to Article 97(1) received in European Application No. 21702329.0, mailed on Jan. 30, 2025, 2 pages. [cited by applicant]
Notice of Allowance mailed on Nov. 28, 2023, in U.S. Appl. No. 18/185,432, 14 pages. [cited by applicant]
“Tutorial 9 : VBO Indexing”, Retrieved From: http://www.opengl-tutorial.org/intermediate-tutorials/tutorial-9-vbo-indexing/, Retrieved On: May 16, 2022, 4 Pages. [cited by applicant]
“Notice of Allowance Issued in U.S. Appl. No. 16/796,640”, Mailed Date: Feb. 9, 2021, 9 Pages. [cited by applicant]
Gao, et al., “Mesh Simplification with Average Planes for 3-D Image”, In Proceedings of International Conference on Systems, Man & Cybernetics: “Cybernetics Evolving to Systems, Humans, Organizations, and their Complex … [cited by applicant]
Khoury, et al., “Adaptive GPU Tessellation with Compute Shaders”, Retrieved from: https://onrendering.com/data/papers/isubd/isubd.pdf, Oct. 1, 2018, 14 Pages. [cited by applicant]
Niessner, et al., “Real-Time Rendering Techniques with Hardware Tessellation”, In Journal of Computer Graphics Forum, vol. 35, Issue 1, Feb. 2016, pp. 113-137. [cited by applicant]
Pajak, et al., “Scalable Remote Rendering with Depth and Motion-flow Augmented Streaming”, In Journal of Computer Graphics Forum, vol. 30, Issue 2, Apr. 28, 2011, 10 Pages. [cited by applicant]
“International Search Report and the Written Opinion Issued in PCT Application No. PCT/US21/012024”, Mailed Date: Apr. 23, 2021, 15 Pages. [cited by applicant]
Communication under 71(3) Received for European Application No. 21702329,0, mailed on Oct. 28, 2024, 09 pages. [cited by applicant]
International Search Report and Written Opinion received for PCT Application No. PCT/US2024/019307, Jul. 10, 2024, 16 pages. [cited by applicant]
Non-Final Office Action mailed on May 7, 2025, in U.S. Appl. No. 18/185,448, 12 pages. [cited by applicant]
International Preliminary Report on Patentability (Chapter I) received for PCT Application No. PCT/US2024/019306, mailed on Oct. 2, 2025, 13 pages. [cited by applicant]
International Preliminary Report on Patentability (Chapter I) received for PCT Application No. PCT/US2024/019307, mailed on Oct. 2, 2025, 11 Pages. [cited by applicant]
International Preliminary Report on Patentability (Chapter I) received for PCT Application No. PCT/US2024/019316, mailed on Oct. 2, 2025, 9 pages. [cited by applicant]
Final Office Action mailed on Oct. 10, 2025, in U.S. Appl. No. 18/185,448, 15 pages. [cited by applicant]