US-12626412-B2 - Adaptive geometry filtering for mesh compression
Abstract
A method and apparatus comprising computer code configured to cause a processor or processors to determine more than one vertices in an input mesh, and group the more than one vertices in more than one group of vertices. The grouping of a respective vertex in a respective group may be based on a topological distance of the respective vertex. In embodiments, the processor or processors may also determine a set of filter coefficients for the more than one group of vertices; and signal the more than one group of vertices and the set of filter coefficients.
Inventors
- Xiang Zhang
- Xiaozhong Xu
- Chao Huang
- Jun Tian
- Shan Liu
Assignees
- Tencent America LLC
Dates
- Publication Date
- 20260512
- Application Date
- 20231012
Claims (18)
- 1 . A method for mesh compression, the method being performed by at least one processor, the method comprising: determining more than one vertices in an input mesh, the input mesh representing volumetric data of at least one three-dimensional (3D) visual content; grouping the more than one vertices in more than one group of vertices, wherein the grouping of a respective vertex in a respective group is based on a topological distance of the respective vertex; determining a set of filter coefficients for the more than one group of vertices; and signaling the more than one group of vertices and the set of filter coefficients including: signaling a binary flag for each group among the more than one group of vertices that indicates whether a filter coefficient for the respective group is enabled; and based on the binary flag for the respective group indicating that the filter coefficient is enabled, signaling one or more coefficients associated with the respective group.
- 2 . The method of claim 1 , wherein the grouping the respective vertex based on the topological distance comprises: determining neighboring vertices for the respective vertex, wherein neighboring vertices are vertices connected to the respective vertex by at least one edge; and grouping the respective vertex in a first group such that vertices in the first group are connected to a same number of vertices through edges.
- 3 . The method of claim 2 , wherein determining the neighboring vertices of the respective vertex comprises one of: determining the neighboring vertices that are directly connected to the respective edge in the input mesh; or determining the neighboring vertices that are connected to the respective vertex a plurality of edges, the plurality of edges being less than or equal to a first threshold.
- 4 . The method of claim 1 , wherein determining the set of filter coefficients comprises: determining the set of filter coefficients based on a first loss function and a first filter function, wherein the set of filter coefficients comprises one or more filter coefficients for each group among the more than one group of vertices, and wherein each coefficient in the set of filter coefficients is associated with one or more vertices in the more than one group of vertices.
- 5 . The method of claim 4 , wherein the first loss function comprises one of a point-to-point loss function, or point-to-plane loss function; and wherein the first filter function comprises one of a Laplacian filter or a Weiner filter.
- 6 . The method of claim 1 , wherein subsequent to determining the set of filter coefficients, the method further comprises: disabling a first filter coefficient for a first group among the more than one group of vertices based on the first filter coefficient having a distortion higher than a distortion threshold.
- 7 . The method of claim 1 , wherein the method further comprises: signaling a second flag that indicates whether a same first filter function is used to determine the set of filter coefficients for each group in the more than one group of vertices.
- 8 . The method of claim 1 , wherein the method further comprises: signaling a third flag that indicates whether a same first loss function is used to determine the set of filter coefficients for each group in the more than one group of vertices.
- 9 . An apparatus for adaptive geometry filter for mesh compression, the apparatus comprising: at least one memory configured to store program code; and at least one processor configured to read the program code and operate as instructed by the program code, the program code comprising: first determining code configured to cause the at least one processor to determine more than one vertices in an input mesh, the input mesh representing volumetric data of at least one three-dimensional (3D) visual content; first grouping code configured to cause the at least one processor to group the more than one vertices in more than one group of vertices, wherein the grouping of a respective vertex in a respective group is based on a topological distance of the respective vertex; second determining code configured to cause the at least one processor to determine a set of filter coefficients for the more than one group of vertices; and first signaling code configured to cause the at least one processor to signal the more than one group of vertices and the set of filter coefficients, the first signaling code further comprising: second signaling code configured to cause the at least one processor to signal a binary flag for each group among the more than one group of vertices that indicates whether a filter coefficient for the respective group is enabled; and third signaling code configured to cause the at least one processor to signal, based on the binary flag for the respective group indicating that the filter coefficient is enabled, one or more coefficients associated with the respective group.
- 10 . The apparatus of claim 9 , wherein first grouping code further comprises: third determining code configured to cause the at least one processor to determine neighboring vertices for the respective vertex, wherein neighboring vertices are vertices connected to the respective vertex by at least one edge; and second grouping code configured to cause the at least one processor to group the respective vertex in a first group such that vertices in the first group are connected to a same number of vertices through edges.
- 11 . The apparatus of claim 10 , wherein the third determining code further comprises one of: fourth determining code configured to cause the at least one processor to determine the neighboring vertices that are directly connected to the respective edge in the input mesh; or fifth determining code configured to cause the at least one processor to determine the neighboring vertices that are connected to the respective vertex a plurality of edges, the plurality of edges being less than or equal to a first threshold.
- 12 . The apparatus of claim 9 , wherein the second determining code further comprises: sixth determining code configured to cause the at least one processor to determine the set of filter coefficients based on a first loss function and a first filter function, wherein the set of filter coefficients comprises one or more filter coefficients for each group among the more than one group of vertices, and wherein each coefficient in the set of filter coefficients is associated with one or more vertices in the more than one group of vertices.
- 13 . The apparatus of claim 9 , wherein subsequent to determining the set of filter coefficients, the program code further comprises: disabling code configured to cause the at least one processor to disable a first filter coefficient for a first group among the more than one group of vertices based on the first filter coefficient having a distortion higher than a distortion threshold.
- 14 . The apparatus of claim 9 , wherein the program code further comprises: fourth signaling a second flag that indicates whether a same first filter function is used to determine the set of filter coefficients for each group in the more than one group of vertices.
- 15 . The method of claim 9 , wherein the program code further comprises: fifth signaling code configured to cause the at least one processor to signal a third flag that indicates whether a same first loss function is used to determine the set of filter coefficients for each group in the more than one group of vertices.
- 16 . The apparatus of claim 9 , wherein the method further comprises: sixth signaling code configured to cause the at least one processor to signal a third flag that indicates whether a same first loss function is used to determine the set of filter coefficients for each group in the more than one group of vertices.
- 17 . A non-transitory computer-readable medium storing instructions, the instructions comprising: one or more instructions that, when executed by one or more processors of a device for geometry filter for mesh compression, cause the one or more processors to: determine more than one vertices in an input mesh, the input mesh representing volumetric data of at least one three-dimensional (3D) visual content; group the more than one vertices in more than one group of vertices, wherein the grouping of a respective vertex in a respective group is based on a topological distance of the respective vertex; determine a set of filter coefficients for the more than one group of vertices; and signal the more than one group of vertices and the set of filter coefficients including: signaling a binary flag for each group among the more than one group of vertices that indicates whether a filter coefficient for the respective group is enabled; and based on the binary flag for the respective group indicating that the filter coefficient is enabled, signaling one or more coefficients associated with the respective group.
- 18 . The non-transitory computer-readable medium of claim 17 , wherein the grouping the respective vertex based on the topological distance comprises: determining neighboring vertices for the respective vertex, wherein neighboring vertices are vertices connected to the respective vertex by at least one edge; and grouping the respective vertex in a first group such that vertices in the first group are connected to a same number of vertices through edges.
Description
CROSS REFERENCE TO RELATED APPLICATION The present application claims priority to U.S. Provisional Application No. 63/416,382 filed on Oct. 14, 2022, the disclosure of which is incorporated herein in its entirety. FIELD Embodiments of this disclosure are directed to video coding and decoding. Specifically, embodiments of the present disclosure are to encoding and decoding meshes including adaptive geometry filtering in mesh motion vector coding. BACKGROUND Advanced three-dimensional (3D) representations of the world are enabling more immersive forms of interaction and communication. To achieve realism in 3D representations, 3D models are becoming ever more sophisticated, and a significant amount of data is linked to the creation and consumption of these 3D models. 3D meshes are widely used to 3D model immersive content. A 3D mesh may include several polygons that describe the surface of a volumetric object. A dynamic mesh sequence may require a large amount of data since it may have a significant amount of information changing over time. Therefore, efficient compression technologies are required to store and transmit such contents. While mesh compression standards IC, MESHGRID, FAMC were previously developed to address dynamic meshes with constant connectivity and time varying geometry and vertex attributes. However, these standards do not take into account time varying attribute maps and connectivity information. Furthermore, it is also challenging for volumetric acquisition techniques to generate a constant connectivity dynamic mesh, especially under real time constraints. This type of dynamic mesh content is not supported by the existing standards. As another example, glTF (GL Transmission Format) is standard being developed from the Khronos Group for the efficient transmission and loading of 3D scenes and models by applications. glTF aims to minimize both the size of 3D assets, and the runtime processing needed to unpack. A geometry compression extension to glTF 2.0 using Google Draco technology is being developed to reduce the size of glTF models and scenes. SUMMARY According to an embodiment, a method and apparatus comprising computer code configured to cause a processor or processors to determine more than one vertices in an input mesh, the input mesh representing volumetric data of at least one three-dimensional (3D) visual content; group the more than one vertices in more than one group of vertices, wherein the grouping of a respective vertex in a respective group is based on a topological distance of the respective vertex; determine a set of filtering coefficients for the more than one group of vertices; and signal the more than one group of vertices and the set of filtering coefficients. According to an embodiment, a method and apparatus comprising computer code configured to cause a processor or processors to receive a coded bitstream associated with a mesh, wherein the coded bitstream comprises information about vertices in the mesh and filtering coefficients associated with the vertices; obtain, from the coded bitstream, more than one group of vertices included in the mesh; obtain, from the coded bitstream, a set of filtering coefficients for the more than one group of vertices; generate a reconstructed mesh based on the information about vertices in the mesh; and generate a refined reconstructed mesh using the reconstructed mesh, the more than one group of vertices, and the set of filtering coefficients for the more than one group of vertices. BRIEF DESCRIPTION OF THE DRAWINGS Further features, nature, and various advantages of the disclosed subject matter will be more apparent from the following detailed description and the accompanying drawings in which: FIG. 1 is a schematic illustration of a simplified block diagram of a communication system, in accordance with embodiments of the present disclosure. FIG. 2 is a schematic illustration of a simplified block diagram of a streaming system, in accordance with embodiments of the present disclosure. FIG. 3 is a schematic illustration of a simplified block diagram of a video encoder and decoder, in accordance with embodiments of the present disclosure. FIGS. 4A-B are exemplary illustrations of UV parameterization mapping from 3D mesh segments onto 2D charts, in accordance with embodiments of the present disclosure. FIG. 5 is a flowchart of a process for encoding adaptive filtering coefficients, in accordance with embodiments of the present disclosure. FIG. 6 is a flowchart of a process for generating a reconstructed mesh using signaled adaptive filtering coefficients, in accordance with embodiments of the present disclosure. FIG. 7 is an exemplary diagram of a computer system suitable for implementing embodiments. DETAILED DESCRIPTION The proposed features discussed below may be used separately or combined in any order. Further, the embodiments may be implemented by processing circuitry (e.g., one or more processors or one or more integrated circ