MESH ZIPPERING
By implementing various mesh zippering techniques to merge vertices at boundary points, the method addresses the issue of gaps in 3D mesh reconstruction, resulting in improved accuracy and efficiency of 3D content decoding.
Patent Information
- Application Number
- JP2024556569
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2022-11-15
- Filing Date
- 2023-03-07
- Publication Date
- 2025-04-14
- Estimated Expiration
- 2043-03-07
AI Technical Summary
Current methods for compressing 3D meshes are inadequate as they do not efficiently transmit point connectivity, leading to gaps between adjacent patches during mesh reconstruction (zippering).
The method involves finding boundary points and selecting a suitable mesh zippering implementation from multiple options, such as fixed value, maximum distortion, or matching index implementations, to merge vertices and eliminate gaps between patches.
This approach improves mesh reconstruction by ensuring no gaps exist between adjacent patches, enhancing the accuracy and efficiency of 3D content decoding.
Smart Images

Figure 2025510195000001_ABST
Abstract
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,911, entitled "Mesh Zippering," filed March 25, 2022, which is hereby 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] In recent years, a new method for compressing volumetric content such as point clouds is becoming standardized, based on a 3D to 2D projection. Also known as V3C (visual volumetric video-based compression), this method maps the 3D volume data into a number of 2D patches, which are then placed 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 issued a Call for Proposals (CfP) for the compression of point clouds. After evaluation of several proposals, MPEG is currently considering two different techniques for point cloud compression: 3D native coding techniques (based on octrees and similar coding methods) or 3D to 2D projection followed by traditional video coding. For dynamic 3D scenes, MPEG is using Test Model Software (TMC2), based on patch surface modeling, projection of the patches from 3D to a 2D image, and coding of the 2D image by a video encoder such as HEVC. This method has proven to be more efficient than native 3D coding and can achieve competitive bitrates with acceptable quality.
[0005] Due to the success of coding 3D point clouds with projection-based methods (also known as video-based methods, or V-PCC), future versions of this standard are expected to include additional 3D data, such as 3D meshes. However, the current version of this standard is only suitable for transmitting a set of unconnected points, and therefore has 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 point cloud generated from the vertices is not sparse, and the original mesh must be dense so that it can be efficiently encoded after projection. Furthermore, the order of the vertices affects the coding of connectivity, so different methods have been proposed to reorganize the connectivity of the mesh. An alternative method for encoding sparse meshes is to use the raw patch data to encode the 3D vertex positions. 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 mentioned before. It is noted that in raw patches, the vertices can be sent in any preferred order, so the order generated from the connectivity encoding can be used. While this method can encode sparse point clouds, raw patches are not efficient for encoding 3D data, and further data, such as triangular face attributes, may be missing from this method. Summary of the Invention [Problem to be solved by the invention]
[0007] This document describes a method to improve mesh reconstruction by changing the position of vertices on the boundary of patches to ensure that there are no gaps between adjacent patches (also known as zippering). Six different ways to implement the post-processing operation are disclosed, as well as syntax elements and semantics for the transmission of filter parameters. A hierarchical method indicates the geometric distortions that may cause gaps between patches. A value is transmitted per frame, or per patch, or per boundary object. The number of bits to encode the value also depends on the previous geometric distortion. Another method is to transmit an index match instead of a geometric distortion. A matching index is transmitted for each boundary vertex, but a method of transmitting only one index of a pair is also implemented. [Means for solving the problem]
[0008] In one aspect, a method programmed into a non-transitory memory of a device includes finding a plurality of boundary points, selecting a zippering implementation from a plurality of mesh zippering implementations, and merging vertices based on the selected mesh zippering implementation. The plurality of mesh zippering implementations include a fixed value per sequence implementation, a maximum distortion per sequence implementation, a maximum distortion per frame implementation, a maximum distortion per patch implementation, a per boundary point implementation, and a matched patch / vertex index implementation. The fixed value per sequence implementation includes limiting a search for matching boundary points based on distance. The per boundary point implementation includes receiving distortion information without performing a search. The matched patch / vertex index implementation includes a matched index. The selecting the zippering implementation from the plurality of mesh zippering implementations is programmed. The selecting the zippering implementation from the plurality of mesh zippering implementations is adaptively selected based on a detected set of criteria.
[0009] In another aspect, an apparatus includes a non-transitory memory for storing an application for finding a plurality of boundary points, selecting a zippering implementation from a plurality of mesh zippering implementations, and merging vertices based on the selected mesh zippering implementation; and a processor coupled to the memory and configured to process the application. The plurality of mesh zippering implementations include a fixed value per sequence implementation, a maximum distortion per sequence implementation, a maximum distortion per frame implementation, a maximum distortion per patch implementation, a per boundary point implementation, and a matching patch / vertex index implementation. The fixed value per sequence implementation includes limiting a range of a search for matching boundary points based on distance. The per boundary point implementation includes receiving distortion information without performing a search. The matching patch / vertex index implementation includes a matching index. Selecting the zippering implementation from the plurality of mesh zippering implementations is programmed. Selecting the zippering implementation from the plurality of mesh zippering implementations is adaptively selected based on a set of detected criteria.
[0010] In another aspect, a system includes an encoder configured to encode content and a decoder configured to find a plurality of boundary points of the content, select a zippering implementation from a plurality of mesh zippering implementations, and merge vertices based on the selected mesh zippering implementation. The plurality of mesh zippering implementations include a fixed value per sequence implementation, a maximum distortion per sequence implementation, a maximum distortion per frame implementation, a maximum distortion per patch implementation, a per boundary point implementation, and a matching patch / vertex index implementation. The fixed value per sequence implementation includes limiting a range of a search for matching boundary points based on distance. The per boundary point implementation includes receiving distortion information without performing a search. The matching patch / vertex index implementation includes a matching index. The selecting the zippering implementation from the plurality of mesh zippering implementations is programmed. The selecting the zippering implementation from the plurality of mesh zippering implementations is adaptively selected based on a detected set of criteria. [Brief description of the drawings]
[0011] [Figure 1] FIG. 1 illustrates a flowchart of a method for mesh zippering according to some embodiments. [Diagram 2] 13A-13C show images of zippering aspects according to some embodiments. [Diagram 3] 11A-11C are images illustrating advantages and disadvantages of each zippering implementation according to some embodiments. [Figure 4] FIG. 1 is a block diagram of an example computing device configured to implement a mesh zippering method according to some embodiments. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0012] This document describes a method to improve mesh reconstruction by changing the position of vertices on the boundary of patches to ensure that there are no gaps between adjacent patches (also known as zippering). Six different ways to implement the post-processing operation are disclosed, as well as syntax elements and semantics for the transmission of filter parameters. A hierarchical method indicates the geometric distortions that may cause gaps between patches. A value is transmitted per frame, or per patch, or per boundary object. The number of bits to encode the value also depends on the previous geometric distortion. Another method is to transmit an index match instead of a geometric distortion. A matching index is transmitted for each boundary vertex, but a method of transmitting only one index of a pair is also implemented.
[0013] Zippering addresses the problem of vertex misalignment as described in U.S. patent application Ser. No. 17 / 161,300, filed January 28, 2021, entitled "PROJECTION-BASED MESH COMPRESSION," and U.S. Provisional Patent Application Ser. No. 62 / 991,128, filed March 18, 2020, entitled "PROJECTION-BASED MESH COMPRESSION," which are incorporated by reference in their entireties for all purposes.
[0014] FIG. 1 shows a flow chart of a method for mesh zippering according to some embodiments. In step 100, find a boundary point. The boundary point can be found in any manner. After finding the boundary point, implement mesh zippering. Mesh zippering includes determining the neighbors of the boundary vertices and merging the particular neighboring boundary vertices. Mesh zippering can be implemented using one or more different implementations. Mesh zippering is utilized to find matching points / vertices to eliminate gaps in the mesh. A search is performed by searching the neighbors of a point in 3D space to find a matching point. The scope of the search can be limited (e.g., based on a fixed value such as a maximum distance of 5 or based on a maximum distortion). Thus, if the distance is greater than 5, the point cannot find a matching point. The search can also be limited based on a maximum distortion. The maximum distortion for each point may be different. Mesh zippering per sequence can use distance or maximum distortion to limit the search. A search based on maximum distortion may be too time consuming or computationally expensive for the entire sequence, so it may be better to search per frame. For example, most frames are searched based on a fixed value (e.g., maximum distance), but one particular frame is searched based on maximum distortion. Maximum distortion can be implemented per patch. For example, there may be large patches and small distortion. In another example, there may be small patches and large distortion. Distortion can be sent per boundary / boundary point. In this implementation no search is performed, rather distortion is applied as it is received. However, since more distortion information is sent, the bitrate is higher, but the mesh reconstruction is better (e.g., more accurate).
[0015] In step 102, implement per-frame zippering. As explained, zippering performs a search for each point in the frame using the maximum distortion. By performing zippering per frame instead of the entire sequence, some processing is performed without distortion information and only the frames with higher distortion use zippering based on maximum distortion. In step 104, implement per-patch zippering. By performing zippering per patch, some processing is performed without distortion information and only the patches with higher distortion use zippering based on maximum distortion. In step 106, implement per-border point zippering. In per-border point zippering, no search is performed, rather the distortion is applied as it is received. However, since more distortion information is transmitted, the bit rate is higher but the reconstruction of the mesh is better (e.g. more accurate). In step 108, implement zippering border point match. Indices that match each other are transmitted. The decoder determines where in 3D space the patch is placed based on the matching vertices (e.g., averaging the distance between two points, or selecting one of the points). The zippering implementation can be selected in any manner, including programmed or adaptively selected based on a set of detected criteria (e.g., detecting that a frame or patch contains an amount of distortion that exceeds a threshold).
[0016] In step 110, the vertices are merged. The vertex merging can be performed in any manner. In some embodiments, fewer or additional steps are implemented. In some embodiments, the order of the steps is changed. The zippering implementation is performed on the decoder side.
[0017] 2 shows images of zippering aspects according to some embodiments. Image 200 may have gaps between boundary points. In image 202, zippering is applied to boundary vertices to narrow or eliminate the gaps. As mentioned above, zippering involves classifying vertices as boundary vertices or non-border vertices, determining the neighbors of the boundary vertices, and merging the neighboring boundary vertices. Image 204 shows a decoded image without gaps by utilizing zippering.
[0018] Figure 3 shows images illustrating the advantages and disadvantages of each zippering implementation according to some embodiments. Image 300 is the original image. Image 302 is without zippering, 12.172 Mbps. Image 304 is with zippering, 12.222 Mbps. Image 306 is with zippering, 13.253 Mbps. Image 308 is with zippering, 13.991 Mbps. Zippering allows gaps to be filled in for face, hair, ears, etc.
[0019] The updated zippering syntax is described below. TIFF2025510195000002.tif223169 TIFF2025510195000003.tif219169 TIFF2025510195000004.tif106169 gs_zippering_max_match_distance[ k ] specifies the value of the variable zipperingMaxMatchDistance[ k ] used to process the current mesh frame of the geometry smoothing instance with index k when the zippering filtering process is used. gs_zippering_send_border_point_match[ k ] equal to 1 specifies that zippering by sending matching indices is applied to the border-point of the geometry smoothing instance with index k. gs_zippering_send_border_point_match[ k ] equal to 0 specifies that zippering by sending matching indices is not applied to the border point of the geometry smoothing instance with index k. The default value of gs_zippering_send_border_point_match[ k ] is 0. gs_zippering_number_of_patches[ k ] indicates the number of patches being filtered by the current SEI message. The value of gs_zippering_number_of_patches must be in the range from 0 to MaxNumPatches[ frameIdx ]. The default value of gs_zippering_number_of_patches is 0. gs_zippering_number_of_border_points[ k ][ p ] indicates the number of border points numBorderPoints[ p ] of the patch with index p. gs_zippering_border_point_match_patch_index[k][p][b] specifies the value of the variable zipperingBorderPointMatchPatchIndex[k][p][b] used to process the current border point of index b in the current patch of index p in the current mesh frame of the geometry smoothing instance of index k when the zippering filtering process is used. gs_zippering_border_point_match_border_point_index[k][p][b] specifies the value of the variable zipperingBorderPointMatchBorderPointIndex[k][p][b] used to process the current border point of index b in the current patch of index p in the current mesh frame of the geometry smoothing instance of index k when the zippering filtering process is used. gs_zippering_send_distance_per_patch[ k ] equal to 1 specifies that zippering by sending matching distances per patch is applied to the boundary points of the geometry smoothing instance with index k. gs_zippering_send_distance_per_patch[ k ] equal to 0 specifies that zippering by sending matching distances per patch is not applied to the boundary points of the geometry smoothing instance with index k. The default value of gs_zippering_send_distance_per_patch[ k ] is 0. gs_zippering_send_distance_per_border_point[ k ] equal to 1 specifies that zippering by sending the corresponding distance per border point is applied to the border points of the geometry smoothing instance with index k. gs_zippering_send_distance_per_border_point[ k ] equal to 0 specifies that zippering by sending the corresponding distance per border point is not applied to the border point of the geometry smoothing instance with index k. The default value of gs_zippering_send_distance_per_border_point [ k ] is 0. gs_zippering_max_match_distance_per_patch[ k ] specifies the value of the variable zipperingMaxMatchDistancePerPatch[ k ][ p ] used to process the current patch of index p in the current mesh frame of the geometry smoothing instance of index k when the zippering filtering process is used. gs_zippering_border_point_distance[k][p][b] specifies the value of the variable zipperingMaxMatchDistancePerBorderPoint[k][p][b] used to process the current border point of index b in the current patch of index p in the current mesh frame of the geometry smoothing instance of index k when the zippering filtering process is used.
[0020] As explained, trade-offs can be realized by choosing different zippering methods: sending a single distance for the whole sequence involves using only one SEI message, whereas sending distances per frame, patch, or boundary distances involves sending an SEI message per frame. However, the subjective impact can be significant, as holes may or may not be visible depending on the zippering method chosen.
[0021] FIG. 4 illustrates a block diagram of an exemplary computing device configured to implement a mesh zippering method according to some embodiments. The computing device 400 can be used to acquire, store, compute, process, communicate, and / or display information, such as images and videos, including 3D content. The computing device 400 can implement any of the encoding / decoding aspects. In general, a hardware structure suitable for implementing the computing device 400 includes a network interface 402, a memory 404, a processor 406, an I / O device(s) 408, a bus 410, and a storage device 412. The selection of the processor is not critical as long as a suitable processor of sufficient speed is selected. The memory 404 can be any conventional computer memory known in the art. The storage device 412 can include a hard drive, a CDROM, a CDRW, a DVD, a DVDRW, a high definition disk / drive, an ultra high definition drive, a flash memory card, or any other storage device. The computing device 400 can include one or more network interfaces 402. Examples of network interfaces include a network card connected to an Ethernet or other type of LAN. The I / O device(s) 408 may include one or more of a keyboard, mouse, monitor, screen, printer, modem, touch screen, button interface, and other devices. The storage device 412 and memory 404 likely store mesh zippering application(s) 430 used to execute the mesh zippering implementation and process as an application would normally be processed. The computing device 400 may also include more or fewer components than those shown in FIG. 4. In some embodiments, mesh zippering hardware 420 is included. Although the computing device 400 of FIG. 4 includes application 430 and hardware 420 for mesh zippering implementation, the mesh zippering method may also be implemented on the computing device in hardware, firmware, software, or any combination thereof.For example, in some embodiments, mesh zippering application 430 is programmed into memory and executed using a processor. As another example, in some embodiments, mesh zippering hardware 420 is programmed hardware logic that includes gates specifically designed to implement the mesh zippering method.
[0022] In some embodiments, the mesh zippering application(s) 430 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.
[0023] 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 smartphone, 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.
[0024] To utilize the mesh zippering method, a device acquires or receives 3D content (e.g., point cloud content). The mesh zippering method can be implemented with user assistance or automatically without user involvement.
[0025] In operation, the mesh zippering method enables more efficient and accurate 3D content decoding as compared to conventional implementations.
[0026] Some embodiments of the mesh zipper 1. A method programmed into a non-transitory memory of a device, comprising: finding a number of boundary points; selecting a zipper implementation from a plurality of mesh zipper implementations; merging vertices based on the selected mesh zippering implementation; The method includes:
[0027] 2. The plurality of mesh zipper implementations are A fixed value implementation for each sequence, Maximum distortion implementation per sequence and Maximum distortion implementation per frame and Maximum distortion implementation per patch, Implementation for each boundary point, A consistent patch / vertex index implementation, 2. The method of claim 1, comprising:
[0028] 3. The method of claim 2, wherein the sequence-wise fixed value implementation includes limiting the range of the search for matching boundary points based on distance.
[0029] 4. The method of claim 2, wherein the boundary point-by-boundary point implementation includes receiving distortion information without performing a search.
[0030] 5. The method of claim 2, wherein the matched patch / vertex index implementation includes matched indexes.
[0031] 6. The method of claim 1, wherein the step of selecting the zippering implementation from the plurality of mesh zippering implementations is programmed.
[0032] 7. The method of claim 1, wherein the step of selecting the zippering implementation from the plurality of mesh zippering implementations is adaptively selected based on a set of detected criteria.
[0033] 8. An apparatus comprising: A non-transitory memory for storing an application, the application comprising: Finding multiple boundary points; selecting a zippering implementation from a plurality of mesh zippering implementations; merging vertices based on the selected mesh zippering implementation; and a non-transient memory for performing a processor coupled to the memory and configured to process the application; An apparatus comprising:
[0034] 9. The plurality of mesh zipper implementations include: A fixed value implementation for each sequence, Maximum distortion implementation per sequence and Maximum distortion implementation per frame and Maximum distortion implementation per patch, Implementation for each boundary point, A consistent patch / vertex index implementation, 9. The apparatus of claim 8, comprising:
[0035] 10. The apparatus of claim 9, wherein the sequence-wise fixed value implementation includes limiting the range of a search for matching boundary points based on distance.
[0036] 11. The apparatus of claim 9, wherein the per-boundary point implementation includes receiving distortion information without performing a search.
[0037] 12. The apparatus of claim 9, wherein the matched patch / vertex index implementation includes matched indexes.
[0038] 13. The apparatus of claim 8, wherein selecting the zippering implementation from the plurality of mesh zippering implementations is programmed.
[0039] 14. The apparatus of claim 8, wherein selecting the zippering implementation from the plurality of mesh zippering implementations is adaptively selected based on a set of detected criteria.
[0040] 15. A system comprising: an encoder configured to encode the content; Finding a plurality of boundary points of the content; Select a zipper implementation from multiple mesh zipper implementations, merging vertices based on the selected mesh zippering implementation; a decoder configured to A system including:
[0041] 16. The plurality of mesh zipper implementations include: A fixed value implementation for each sequence, Maximum distortion implementation per sequence and Maximum distortion implementation per frame and Maximum distortion implementation per patch, Implementation for each boundary point, A consistent patch / vertex index implementation, 16. The system of claim 15, comprising:
[0042] 17. The system of claim 16, wherein the sequence-wise fixed value implementation includes limiting the range of a search for matching boundary points based on distance.
[0043] 18. The system of claim 16, wherein the boundary point-by-boundary point implementation includes receiving distortion information without performing a search.
[0044] 19. The system of claim 16, wherein the matched patch / vertex index implementation includes matched indexes.
[0045] 20. The system of claim 15, wherein selecting the zippering implementation from the plurality of mesh zippering implementations is programmed.
[0046] 21. The system of claim 15, wherein selecting the zippering implementation from the plurality of mesh zippering implementations is adaptively selected based on a set of detected criteria.
[0047] The present invention has been described with respect to specific embodiments containing details so as to facilitate an understanding of the principles of construction and operation of the invention. Reference herein to such specific embodiments and their details 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]
[0048] Find 100 boundary points 102 Zippering Frame by Frame 104 Zippering by Patch 106 Zippering by Boundary Points 108 zippering border point match 110 Merge Vertices 200 images 202 images 204 images 300 images 302 images 304 images 306 images 308 images 400 Computer equipment 402 Network Interface 404 Memory 406 Processor 408 I / O device 410 Bus 412 Storage device 420 mesh zipper hardware 430 Mesh Zippering Application
Claims
1. A method programmed into a non-transitory memory of a device, comprising: finding a number of boundary points; selecting a zipper implementation from a plurality of mesh zipper implementations; merging vertices based on the selected mesh zippering implementation; The method according to claim 1, further comprising:
2. The plurality of mesh zipper implementations include: A fixed value implementation for each sequence, Maximum distortion implementation per sequence and Maximum distortion implementation per frame and Maximum distortion implementation per patch, Implementation for each boundary point, A matched patch / vertex index implementation; Including, 2. The method according to claim 1 .
3. 3. The method of claim 2, wherein the sequence-wise fixed value implementation includes limiting a range of a search for matching boundary points based on distance.
4. The method of claim 2 , wherein the boundary point-by-boundary implementation includes receiving distortion information without performing a search.
5. The method of claim 2 , wherein the matched patch / vertex index implementation comprises matched indexes.
6. 2. The method of claim 1, wherein the step of selecting the zipper ring implementation from the plurality of mesh zipper ring implementations is programmed.
7. 2. The method of claim 1, wherein the step of selecting the zippering implementation from the plurality of mesh zippering implementations is adaptively selected based on a set of detected criteria.
8. An apparatus comprising: A non-transitory memory for storing an application, the application comprising: Finding multiple boundary points; selecting a zippering implementation from a plurality of mesh zippering implementations; merging vertices based on the selected mesh zippering implementation; and a non-transient memory for performing a processor coupled to the memory and configured to process the application; An apparatus comprising:
9. The plurality of mesh zipper implementations include: A fixed value implementation for each sequence, Maximum distortion implementation per sequence and Maximum distortion implementation per frame and Maximum distortion implementation per patch, Implementation for each boundary point, A matched patch / vertex index implementation; Including, 9. The device according to claim 8.
10. The apparatus of claim 9 , wherein the sequence-wise fixed value implementation includes limiting a range of a search for matching boundary points based on distance.
11. 10. The apparatus of claim 9, wherein the boundary point-by-boundary implementation includes receiving distortion information without performing a search.
12. The apparatus of claim 9 , wherein the matched patch / vertex index implementation comprises matched indexes.
13. The apparatus of claim 8 , wherein the selecting of the zippering implementation from the plurality of mesh zippering implementations is programmed.
14. The apparatus of claim 8 , wherein the selection of the zippering implementation from the plurality of mesh zippering implementations is adaptively selected based on a set of detected criteria.
15. 1. A system comprising: an encoder configured to encode the content; Finding a plurality of boundary points of the content; Select a zipper implementation from multiple mesh zipper implementations, merging vertices based on the selected mesh zippering implementation; a decoder configured to A system comprising:
16. The plurality of mesh zipper implementations include: A fixed value implementation for each sequence, Maximum distortion implementation per sequence and Maximum distortion implementation per frame and Maximum distortion implementation per patch, Implementation for each boundary point, A matched patch / vertex index implementation; Including, 16. The system of claim 15.
17. 17. The system of claim 16, wherein the sequence-wise fixed value implementation includes limiting a range of a search for matching boundary points based on distance.
18. 20. The system of claim 16, wherein the boundary point-by-boundary implementation includes receiving distortion information without performing a search.
19. 17. The system of claim 16, wherein the consistent patch / vertex index implementation comprises consistent indexes.
20. 16. The system of claim 15, wherein the selecting of the zippering implementation from the plurality of mesh zippering implementations is programmed.
21. 16. The system of claim 15, wherein the selection of the zippering implementation from the plurality of mesh zippering implementations is adaptively selected based on a set of detected criteria.
Citation Information
Patent Citations
Robust merge of mesh subjected to 3d-texture processing
JP2019125402A
Adaptively zippering meshes
US20130300734A1