Mesh Patch Subdivision

By post-processing decoded meshes through edge splitting, vertex insertion, and marching cubes guided by high-resolution depth maps, the method addresses the inefficiencies in current 3D mesh compression standards, achieving improved mesh geometry and data integrity in 3D content decoding.

JP2025510243AActive Publication Date: 2025-04-14SONY GROUP CORP +1
View PDF 6 Cites 0 Cited by

Patent Information

Application Number
JP2024556711
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2022-11-15
Filing Date
2023-03-06
Publication Date
2025-04-14
Estimated Expiration
2043-03-06

AI Technical Summary

Technical Problem

Current 3D point cloud compression standards are inadequate for transmitting 3D mesh data, as they lack mechanisms for conveying point connectivity essential for mesh compression, and existing methods are inefficient in encoding 3D data and can result in data loss.

Method used

The method involves post-processing decoded meshes by modifying received triangles to improve mesh geometry. This is achieved by splitting edges, inserting new vertices at the center of gravity, splitting vertices, and generating new triangles using marching cubes, all guided by high-resolution depth maps to ensure accurate reconstruction.

Benefits of technology

This approach enables efficient and accurate 3D content decoding, improving mesh geometry and allowing for the transmission of detailed 3D mesh data while maintaining data integrity and reducing loss.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025510243000001_ABST
    Figure 2025510243000001_ABST
Patent Text Reader

Abstract

This document describes a method for post-processing the decoded mesh and modifying the triangles received per patch to improve the geometry of the mesh. Since the transmitted geometry contains high-resolution surface information, it can be applied to a mesh reconstruction operation to generate triangles aligned with the original surface. The method includes splitting the edges of the received triangles according to size, inserting new vertices at the triangle centroids, splitting the vertices, and generating new triangles by performing marching cubes within the surface defined by the geometry image.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] CROSS-REFERENCE TO RELATED APPLICATIONS This application claims priority under 35 U.S.C. § 119 to U.S. Provisional Patent Application No. 63 / 269,906, entitled “MESH PATCH SUB-DIVISION,” filed March 25, 2022, which is incorporated by reference in its entirety for all purposes.

[0002] The present invention relates to three-dimensional graphics, and more particularly to coding of three-dimensional graphics. [Background technology]

[0003] Recently, a new method for compressing volumetric content such as point clouds based on 3D to 2D projection has been standardized. This method, also known as V3C (visual volumetric video-based compression), maps 3D volumetric data into a number of 2D patches, which are then further organized into an atlas image, which is then encoded by a video encoder. The atlas image corresponds to the geometry of the points, their respective textures, and an occupancy map that indicates which locations should be considered for point cloud reconstruction.

[0004] In 2017, MPEG published a call for proposals (CfP) for point cloud compression. Currently, after evaluating several proposals, MPEG is considering two different point cloud compression techniques: 3D native encoding techniques (based on octree and similar encoding methods) or 3D to 2D projection followed by traditional video encoding. For dynamic 3D scenes, MPEG uses a test model software (TMC2) based on patch surface modeling, projection of the patches from 3D to a 2D image, and encoding of the 2D image using a video encoder such as HEVC. This method has been proven to be more efficient than native 3D encoding and to achieve competitive bitrates with acceptable quality. Summary of the Invention [Problem to be solved by the invention]

[0005] Following the success of the projection-based method (also known as video-based method or V-PCC) for 3D point cloud coding, future versions of this standard are expected to include additional 3D data, such as 3D meshes. However, the current version of the standard is only suitable for transmitting a set of unconnected points, and therefore there is no mechanism for transmitting point connectivity as required for 3D mesh compression.

[0006] Methods have also been proposed to extend the functionality of V-PCC to meshes. One possible method is to use V-PCC to encode the vertices, and then use a mesh compression method such as TFAN or Edgebreaker to encode the connectivity. A limitation of this method is that the original mesh needs to be dense so that the point cloud generated from the vertices can be efficiently encoded after projection without becoming sparse. Furthermore, since the order of the vertices affects the encoding of connectivity, different methods have been proposed to reorganize the mesh connectivity. Another method to encode sparse meshes is to use the raw patch data to encode the vertex positions in 3D. Since raw patches directly encode (x,y,z), in this method all vertices are encoded as raw data, while the connectivity is encoded by a similar mesh compression method as described above. Note that raw patches can send vertices in any preferred order, and therefore the order resulting from the connectivity encoding can be used. While this method can encode sparse point clouds, raw patches are less efficient at encoding 3D data, and additional data such as triangular facet attributes may be lost from this approach. [Means for solving the problem]

[0007] This document describes a method for post-processing the decoded mesh and modifying the triangles received per patch to improve the geometry of the mesh. Since the transmitted geometry contains high-resolution surface information, it can be applied to a mesh reconstruction operation to generate triangles aligned with the original surface. The method includes splitting the edges of the received triangles according to size, inserting new vertices at the triangle centroids, splitting the vertices, and generating new triangles by performing marching cubes within the surface defined by the geometry image.

[0008] In one aspect, a method programmed in a non-transitory memory of a device includes receiving a face list and a vertex list, receiving a high-resolution depth map, implementing a patch mesh subdivision to generate a new face list and a new vertex list, and implementing a 3D reconstruction using the new face list and the new vertex list to generate a decoded mesh object. The step of implementing the patch mesh subdivision to generate the new face list and the new vertex list includes a triangle centroid implementation by placing a point in the center of each triangle and using the point to generate a new triangle by drawing lines from the point to each vertex of the triangle. The location of the points is obtained using the high-resolution depth map. The step of implementing the patch mesh subdivision to generate the new face list and the new vertex list includes an edge midpoint implementation by placing a point in the center of each edge of a triangle and drawing lines from each point to another midpoint of the triangle to generate four triangles. The three-dimensional location of each point is obtained using the high-resolution depth map. Implementing a patch mesh subdivision to generate the new face list and the new vertex list includes a vertex split implementation by removing edges, adding vertices, and drawing lines from existing vertices to the added vertices. The added vertices are positioned based on three-dimensional position information from the high-resolution depth map. Implementing a patch mesh subdivision to generate the new face list and the new vertex list includes a marching cubes implementation by using marching cubes to generate points between bounding triangles. Voxel information in three-dimensional space is obtained from the high-resolution depth map.

[0009] In another aspect, an apparatus includes a non-transitory memory that stores an application for receiving a face list and a vertex list, receiving a high-resolution depth map, implementing a patch mesh subdivision to generate a new face list and a new vertex list, and implementing a three-dimensional reconstruction using the new face list and the new vertex list to generate a decoded mesh object, and a processor coupled to the memory and configured to process the application. Implementing the patch mesh subdivision to generate the new face list and the new vertex list includes implementing a triangle centroid by placing a point at the center of each triangle and using the points to generate a new triangle by drawing lines from the point to each vertex of the triangle. The positions of the points are obtained using the high-resolution depth map. Implementing the patch mesh subdivision to generate the new face list and the new vertex list includes implementing an edge midpoint by placing a point at the center of each edge of a triangle and drawing lines from each point to another center point of the triangle to generate four triangles. The three-dimensional positions of each point are obtained using the high-resolution depth map. Implementing a patch mesh subdivision to generate the new face list and the new vertex list includes implementing vertex splitting by removing edges, adding vertices, and drawing lines from existing vertices to the added vertices. The added vertices are positioned based on three-dimensional position information from the high-resolution depth map. Implementing a patch mesh subdivision to generate the new face list and the new vertex list includes implementing marching cubes by generating points between bounding triangles using marching cubes. Voxel information in three-dimensional space is obtained from the high-resolution depth map.

[0010] In another aspect, a system includes an encoder configured to encode content including a face list and a vertex list, and a decoder configured to receive the face list and the vertex list, receive a high-resolution depth map, implement a patch mesh subdivision to generate a new face list and a new vertex list, and implement a three-dimensional reconstruction using the new face list and the new vertex list to generate a decoded mesh object. Implementing the patch mesh subdivision to generate the new face list and the new vertex list includes implementing a triangle centroid by placing a point at the center of each triangle and using the points to generate a new triangle by drawing lines from the points to each vertex of the triangle. The positions of the points are obtained using the high-resolution depth map. Implementing the patch mesh subdivision to generate the new face list and the new vertex list includes implementing an edge midpoint by placing a point at the center of each edge of a triangle and drawing lines from each point to another center point of the triangle to generate four triangles. The three-dimensional positions of each point are obtained using the high-resolution depth map. Implementing a patch mesh subdivision to generate the new face list and the new vertex list includes implementing vertex splitting by removing edges, adding vertices, and drawing lines from existing vertices to the added vertices. The added vertices are positioned based on three-dimensional position information from the high-resolution depth map. Implementing a patch mesh subdivision to generate the new face list and the new vertex list includes implementing marching cubes by generating points between bounding triangles using marching cubes. Voxel information in three-dimensional space is obtained from the high-resolution depth map. [Brief description of the drawings]

[0011] [Figure 1] 1 is a flowchart for decrypting content according to some embodiments. [Diagram 2] FIG. 13 is a diagram of an implementation of a triangle centroid according to some embodiments. [Diagram 3]FIG. 13 is a diagram of an edge midpoint implementation according to some embodiments. [Figure 4] FIG. 1 illustrates an implementation of vertex splitting according to some embodiments. [Diagram 5] FIG. 1 illustrates an implementation of marching cubes according to some embodiments. [Figure 6] FIG. 1 is a block diagram of an example computing device configured to implement a mesh patch subdivision method according to some embodiments. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0012] This document describes a method for post-processing the decoded mesh and modifying the triangles received per patch to improve the geometry of the mesh. Since the transmitted geometry contains high-resolution surface information, it can be applied to a mesh reconstruction operation to generate triangles aligned with the original surface. The method includes splitting the edges of the received triangles according to size, inserting new vertices at the triangle centroids, splitting the vertices, and generating new triangles by performing marching cubes within the surface defined by the geometry image.

[0013] 1 shows a flow chart for decoding content according to some embodiments. At the decoder side, a face list and a vertex list 110 are received. The decoder also receives a high-resolution depth map 112. The high-resolution depth map 112 can be used to generate a new face list and a new vertex list 114 based on the received face list and vertex list 110 using patch mesh subdivision in step 100. Using the high-resolution depth map 112, the new face list and the new vertex list 114, a decoded mesh object 116 can be generated using 3D reconstruction in step 102. In some embodiments, fewer or additional steps are implemented. In some embodiments, the order of the steps is changed.

[0014] FIG. 2 shows a diagram of a triangle centroid implementation according to some embodiments. As shown in image 200, a triangle list (e.g., face and vertex list) is received. As shown in image 202, points are generated / placed within the triangle (e.g., in the center of each triangle, equidistant to the triangle's vertices). Using the points placed in each triangle, new triangles can be generated by generating / drawing lines from the points to each vertex of the triangle. Thus, each triangle with points placed inside it is split into three new triangles. Edge triangles are not changed (e.g., centroids are only used for non-edge triangles). The 3D location of each point (centroid) is obtained using a high-resolution depth map. For example, the high-resolution depth map can be used to determine the depth of the centroid (e.g., whether the point is at the same depth or a different depth when compared to the triangle's vertices). The new triangles are used to generate new face lists and vertex lists. The new face lists and vertex lists based on the triangle centroid implementation can be used to reconstruct a mesh object.

[0015] FIG. 3 shows a diagram of an edge midpoint implementation according to some embodiments. As shown in image 300, a triangle list is received. As shown in image 302, a point (e.g., a vertex) is generated / placed in the center (or some other location) of each edge of some triangles. Each edge (with some exceptions) is split (in the middle) and a line is generated / drawn from one (middle) point to another (middle) point, turning each triangle into four triangles. Edges at the patch boundary are not allowed to split. For example, light dots 304 represent new vertices after edge splitting and dark dots 306 represent vertices that are not allowed. The 3D location of each point is obtained using a high-resolution depth map. For example, the high-resolution depth map can be used to determine whether a point is at the same depth or a different depth when compared to the vertices of a triangle. The new triangles are used to generate new face lists and vertex lists. The new face lists and vertex lists based on the edge midpoint implementation can be used to reconstruct a mesh object.

[0016] 4 shows a diagram of a vertex split implementation according to some embodiments. As shown in image 400, a triangle list is received. As shown in image 402, edges are split or removed, and then new edges are generated for some triangles. For example, two edges 410 of a triangle are removed, and then a new vertex 404 is placed based on 3D position information from the high-resolution depth map. Edges are generated / drawn from the initial vertex 406 to the new vertex 404 to generate a new triangle. The new triangle is used to generate a new face list and vertex list. The new face list and vertex list based on the vertex split implementation can be used to reconstruct a mesh object.

[0017] FIG. 5 shows a diagram of a marching cubes implementation according to some embodiments. Marching cubes is a technique used for surface reconstruction. When only boundary triangles are transmitted (as shown in image 500), marching cubes can be used to generate a central point, as shown in image 502. 3D position information from a high-resolution depth map is also used to determine the location of the new vertices. For marching cubes, voxel information in 3D space is obtained from a high-resolution depth map. The new triangles are used to generate new face lists and vertex lists. The new face lists and vertex lists based on the marching cubes implementation can be used to reconstruct a mesh object.

[0018] FIG. 6 illustrates a block diagram of an exemplary computing device configured to implement a mesh patch subdivision method according to some embodiments. The computing device 600 can be used to acquire, store, compute, process, communicate, and / or display information, such as images and videos, including 3D content. The computing device 600 can implement any of the encoding / decoding aspects. In general, a hardware structure suitable for implementing the computing device 600 includes a network interface 602, a memory 604, a processor 606, an I / O device(s) 608, a bus 610, and a storage device 612. The choice of processor is not critical as long as a suitable processor of sufficient speed is selected. The memory 604 can be any conventional computer memory known in the art. The storage device 612 can include a hard drive, CDROM, CDRW, DVD, DVDRW, high definition disk / drive, ultra high definition drive, flash memory card, or any other storage device. The computing device 600 can include one or more network interfaces 602. Examples of network interfaces include a network card connected to an Ethernet or other type of LAN. The I / O device(s) 608 may include one or more of a keyboard, mouse, monitor, screen, printer, modem, touch screen, button interface, and other devices. The storage 612 and memory 604 likely store mesh patch subdivision application(s) 630 used to perform the implementation of the mesh patch subdivision and process as an application would normally be processed. The computing device 600 may also include more or fewer components than those shown in FIG. 6. In some embodiments, mesh patch subdivision hardware 620 is included. Although the computing device 600 of FIG. 6 includes application 630 and hardware 620 for the implementation of the mesh patch subdivision, the mesh patch subdivision method may also be implemented on the computing device in hardware, firmware, software, or any combination thereof.For example, in some embodiments, the mesh patch subdivision application 630 is programmed into memory and executed using a processor. As another example, in some embodiments, the mesh patch subdivision hardware 620 is programmed hardware logic that includes gates specifically designed to implement the mesh patch subdivision method.

[0019] In some embodiments, the mesh patch subdivision application(s) 630 include multiple applications and / or modules. In some embodiments, a module also includes one or more sub-modules. In some embodiments, fewer or additional modules may be included.

[0020] Examples of suitable computing devices include a personal computer, a laptop computer, a computer workstation, a server, a mainframe computer, a handheld computer, a personal digital assistant, a cellular / mobile phone, a smart appliance, a game console, a digital camera, a digital camcorder, a camera phone, a smart phone, a portable music player, a tablet computer, a mobile device, a video player, a video disc writer / player (e.g., DVD writer / player, high definition disc writer / player, ultra high definition disc writer / player), a television, a home entertainment system, an augmented reality device, a virtual reality device, smart jewelry (e.g., a smart watch), a vehicle (e.g., a self-driving vehicle), or any other suitable computing device.

[0021] To utilize the mesh patch subdivision method, a device acquires or receives 3D content (e.g., point cloud content). The mesh patch subdivision method can be implemented with user assistance or automatically without user involvement.

[0022] In operation, the mesh patch subdivision method enables more efficient and accurate 3D content decoding compared to previous implementations.

[0023] Some embodiments of mesh patch subdivision 1. A method programmed into a non-transitory memory of a device, comprising: receiving a face list and a vertex list; receiving a high resolution depth map; implementing a patch mesh subdivision to generate a new face list and a new vertex list; implementing a 3D reconstruction using the new face list and the new vertex list to generate a decoded mesh object; The method includes:

[0024] 2. The method of claim 1, wherein the step of implementing patch mesh subdivision to generate the new face list and the new vertex list includes implementing triangle centroids by placing a point at the center of each triangle and generating new triangles by drawing lines from the point to each vertex of the triangle using the point.

[0025] 3. The method according to claim 2, wherein the position of the point is obtained using the high resolution depth map.

[0026] 4. The method of claim 1, wherein the step of implementing patch mesh subdivision to generate the new face list and the new vertex list includes implementing edge midpoints by placing a point in the center of each edge of a triangle and drawing lines from each point to another center point of the triangle to generate four triangles.

[0027] 5. The method of claim 4, wherein the three-dimensional position of each point is obtained using the high-resolution depth map.

[0028] 6. The method of claim 1, wherein the step of implementing patch mesh subdivision to generate the new face list and the new vertex list includes implementing vertex splitting by removing edges, adding vertices, and drawing lines from existing vertices to the added vertices.

[0029] 7. The method of claim 6, wherein the added vertices are positioned based on 3D position information from the high resolution depth map.

[0030] 8. The method of claim 1, wherein the step of implementing a patch mesh subdivision to generate the new face list and the new vertex list includes implementing marching cubes by using marching cubes to generate points between boundary triangles.

[0031] 9. The method of claim 8, wherein voxel information in three-dimensional space is obtained from the high-resolution depth map.

[0032] 10. Receive the face list and vertex list. Receive a high-resolution depth map, Implement patch mesh subdivision to generate a new face list and a new vertex list; implementing a 3D reconstruction using the new face list and the new vertex list to generate a decoded mesh object; a non-transitory memory for storing an application for a processor coupled to the memory and configured to process the application; An apparatus comprising:

[0033] 11. The apparatus of claim 10, wherein implementing patch mesh subdivision to generate the new face list and the new vertex list includes implementing triangle centroids by placing a point at the center of each triangle and generating new triangles by drawing lines from the point to each vertex of the triangle using the point.

[0034] 12. The method of claim 11, wherein the position of the point is obtained using the high resolution depth map.

[0035] 13. The apparatus of claim 10, wherein implementing patch mesh subdivision to generate the new face list and the new vertex list includes implementing edge midpoints by placing a point in the center of each edge of a triangle and drawing lines from each point to another midpoint of the triangle to generate four triangles.

[0036] 14. The apparatus of claim 13, wherein the three-dimensional position of each point is obtained using the high-resolution depth map.

[0037] 15. The apparatus described in clause 10, wherein implementing patch mesh subdivision to generate the new face list and the new vertex list includes implementing vertex splitting by removing edges, adding vertices, and drawing lines from existing vertices to the added vertices.

[0038] 16. The apparatus of claim 15, wherein the added vertices are positioned based on three-dimensional position information from the high-resolution depth map.

[0039] 17. The apparatus of claim 10, wherein implementing a patch mesh subdivision to generate the new face list and the new vertex list includes implementing marching cubes by using marching cubes to generate points between bounding triangles.

[0040] 18. The apparatus described in paragraph 17, wherein voxel information in three-dimensional space is obtained from the high-resolution depth map.

[0041] 19. Encoding content including face lists and vertex lists; an encoder configured as follows: receiving the face list and the vertex list; Receive a high-resolution depth map, Implement patch mesh subdivision to generate a new face list and a new vertex list; implementing a 3D reconstruction using the new face list and the new vertex list to generate a decoded mesh object; a decoder configured as follows: A system comprising:

[0042] 20. The system described in paragraph 19, wherein implementing patch mesh subdivision to generate the new face list and the new vertex list includes implementing triangle centroids by placing a point at the center of each triangle and generating new triangles by drawing lines from the point to each vertex of the triangle using the point.

[0043] 21. The system of claim 20, wherein the position of the point is obtained using the high resolution depth map.

[0044] 22. The system described in paragraph 19, wherein implementing patch mesh subdivision to generate the new face list and the new vertex list includes implementing edge midpoints by placing a point in the center of each edge of a triangle and drawing lines from each point to another midpoint of the triangle to generate four triangles.

[0045] 23. The system of claim 22, wherein the three-dimensional position of each point is obtained using the high-resolution depth map.

[0046] 24. The system described in paragraph 19, wherein implementing patch mesh subdivision to generate the new face list and the new vertex list includes implementing vertex splitting by removing edges, adding vertices, and drawing lines from existing vertices to the added vertices.

[0047] 25. The system of claim 24, wherein the added vertices are positioned based on three-dimensional position information from the high-resolution depth map.

[0048] 26. The system described in paragraph 19, wherein implementing a patch mesh subdivision to generate the new face list and the new vertex list includes implementing marching cubes by using marching cubes to generate points between boundary triangles.

[0049] 27. The system of claim 26, wherein voxel information in three-dimensional space is obtained from the high-resolution depth map.

[0050] The present invention has been described in terms of specific embodiments containing details to facilitate an understanding of the principles of construction and operation of the invention. Reference herein to such specific embodiments and details thereof is not intended to limit the scope of the claims appended hereto. It will be readily apparent to those skilled in the art that various other modifications can be made in the embodiments selected for illustration without departing from the spirit and scope of the invention as defined by the claims. [Explanation of symbols]

[0051] 100 patch mesh subdivision 102 3D reconstruction 110 Face List and Vertex List 112 High Resolution Depth Maps 114 New Face List and New Vertex List 116 Decoded Mesh Objects 200 images 202 images 300 images 302 images 304 Bright Dot 306 Dark Dot 400 images 402 images 404 New Peak 406 Initial Vertex 410 Edge 500 images 502 images 600 Computer equipment 602 Network Interface 604 Memory 606 Processor 608 I / O device 610 Bus 612 Storage device 620 Mesh Patch Subdivision Hardware 630 Mesh Patch Subdivision Application

Claims

1. A method programmed into a non-transitory memory of a device, comprising: receiving a face list and a vertex list; receiving a high resolution depth map; implementing a patch mesh subdivision to generate a new face list and a new vertex list; implementing a 3D reconstruction using the new face list and the new vertex list to generate a decoded mesh object; The method according to claim 1, further comprising:

2. 2. The method of claim 1, wherein implementing a patch mesh subdivision to generate the new face list and the new vertex list includes triangle centroid implementation by placing a point at the center of each triangle and using the points to generate new triangles by drawing lines from the points to each vertex of the triangle.

3. The method of claim 2 , wherein the positions of the points are obtained using the high resolution depth map.

4. 2. The method of claim 1, wherein implementing a patch mesh subdivision to generate the new face list and the new vertex list includes edge midpoint implementation by placing a point in the middle of each edge of a triangle and drawing lines from each point to another midpoint of the triangle to generate four triangles.

5. The method of claim 4 , wherein the three-dimensional position of each point is obtained using the high-resolution depth map.

6. 2. The method of claim 1, wherein implementing a patch mesh subdivision to generate the new face list and the new vertex list includes implementing a vertex split by removing edges, adding vertices, and drawing lines from existing vertices to the added vertices.

7. The method of claim 6 , wherein the added vertices are positioned based on 3D position information from the high resolution depth map.

8. 2. The method of claim 1, wherein implementing a patch mesh subdivision to generate the new face list and the new vertex list includes marching cubes implementation by using marching cubes to generate points between boundary triangles.

9. 9. The method of claim 8, wherein voxel information in three-dimensional space is obtained from the high-resolution depth map.

10. Receive a face list and a vertex list; Receive a high-resolution depth map, Implement patch mesh subdivision to generate a new face list and a new vertex list; implementing a 3D reconstruction using the new face list and the new vertex list to generate a decoded mesh object; a non-transitory memory for storing an application for a processor coupled to the memory and configured to process the application; An apparatus comprising:

11. 11. The apparatus of claim 10, wherein implementing patch mesh subdivision to generate the new face list and the new vertex list includes implementing triangle centroids by placing a point at the center of each triangle and generating new triangles by drawing lines from the point to each vertex of the triangle using the point.

12. The method of claim 11 , wherein the location of the points is obtained using the high resolution depth map.

13. 11. The apparatus of claim 10, wherein implementing a patch mesh subdivision to generate the new face list and the new vertex list includes implementing edge midpoints by placing a point in the center of each edge of a triangle and drawing lines from each point to another center point of the triangle to generate four triangles.

14. The apparatus of claim 13, wherein the three-dimensional position of each point is obtained using the high-resolution depth map.

15. 11. The apparatus of claim 10, wherein implementing a patch mesh subdivision to generate the new face list and the new vertex list includes implementing vertex splitting by removing edges, adding vertices, and drawing lines from existing vertices to the added vertices.

16. The apparatus of claim 15 , wherein the added vertices are positioned based on three-dimensional position information from the high-resolution depth map.

17. 11. The apparatus of claim 10, wherein implementing a patch mesh subdivision to generate the new face list and the new vertex list includes implementing marching cubes by using marching cubes to generate points between boundary triangles.

18. 20. The apparatus of claim 17, wherein voxel information in three-dimensional space is obtained from the high-resolution depth map.

19. encoding the content including the face list and the vertex list; an encoder configured as follows: receiving the face list and the vertex list; Receive a high-resolution depth map, Implement patch mesh subdivision to generate a new face list and a new vertex list; implementing a 3D reconstruction using the new face list and the new vertex list to generate a decoded mesh object; a decoder configured as follows: A system comprising:

20. 20. The system of claim 19, wherein implementing a patch mesh subdivision to generate the new face list and the new vertex list includes implementing triangle centroids by placing a point at the center of each triangle and generating new triangles by drawing lines from the point to each vertex of the triangle using the point.

21. 21. The system of claim 20, wherein the location of the point is obtained using the high resolution depth map.

22. 20. The system of claim 19, wherein implementing a patch mesh subdivision to generate the new face list and the new vertex list includes implementing edge midpoints by placing a point in the center of each edge of a triangle and drawing lines from each point to another center point of the triangle to generate four triangles.

23. 23. The system of claim 22, wherein the three-dimensional position of each point is obtained using the high-resolution depth map.

24. 20. The system of claim 19, wherein implementing a patch mesh subdivision to generate the new face list and the new vertex list includes implementing vertex splitting by removing edges, adding vertices, and drawing lines from existing vertices to the added vertices.

25. 25. The system of claim 24, wherein the added vertices are positioned based on three-dimensional position information from the high resolution depth map.

26. 20. The system of claim 19, wherein implementing a patch mesh subdivision to generate the new face list and the new vertex list includes implementing marching cubes by using marching cubes to generate points between bounding triangles.

27. 27. The system of claim 26, wherein voxel information in three-dimensional space is obtained from the high resolution depth map.

Citation Information

Patent Citations

  • Radiosity geometric processing method using triangular patch

    JP2003346177A

  • Method and apparatus for generating three-dimensional graphic data, generating texture image, and coding and decoding multi-dimensional data, and program therefor

    JP2005332028A

  • Image processing device and image processing method

    JP2012018546A

  • Generating triangle meshes for 3D images

    JP2018534705A

  • Refinement of a triangular mesh representing a three- dimensional object

    US20040090438A1