Three-dimensional mesh encoding method and apparatus, and three-dimensional mesh decoding method and apparatus

By dividing the three-dimensional grid into intra-frame and inter-frame slices and coding accordingly, the complexity problem caused by the large amount of data of the three-dimensional grid model is solved, and efficient encoding and decoding is achieved, which is suitable for 3-dimensional grid processing and storage in the multimedia field.

WO2025152607A1PCT designated stage expired Publication Date: 2025-07-24XIAN LIGHT CONE VISION TECHNOLOGY CO LTD
View PDF 6 Cites 0 Cited by

Patent Information

Application Number
PCT/CN2024/133008
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-01-15
Filing Date
2024-11-19
Publication Date
2025-07-24

AI Technical Summary

Technical Problem

In the prior art, as the complexity and accuracy of the three-dimensional grid model increase, the amount of data increases, resulting in complex processing, visualization, transmission and storage, and lack of efficient encoding and decoding methods.

Method used

The three-dimensional grid is divided into a basic grid intra-frame chip and a basic grid inter-frame chip. Intra-code and inter-frame coding modes are used respectively to merge and reconstruct the basic grid intra-frame chip and inter-frame chip, generate a displacement code stream, and combine texture maps and auxiliary information for mixed stream encoding.

Benefits of technology

Improves coding efficiency, ensures standard consistency and integrity of the reconstructed grid, is suitable for a variety of application scenarios, reduces data volume, and simplifies processing and storage.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2024133008_24072025_PF_FP_ABST
    Figure CN2024133008_24072025_PF_FP_ABST
Patent Text Reader

Abstract

The present invention relates to the technical field of three-dimensional mesh encoding and decoding. Disclosed are a three-dimensional mesh encoding method and apparatus, and a three-dimensional mesh decoding method and apparatus. The three-dimensional mesh encoding method comprises: dividing a three-dimensional mesh into basic mesh intra-frame slices and basic mesh inter-frame slices, performing encoding to obtain a basic mesh intra-frame slice code stream and a basic mesh inter-frame slice code stream, and at the same time, obtain reconstructed basic mesh intra-frame slices and reconstructed basic mesh inter-frame slices; combining the reconstructed basic mesh intra-frame slices and the reconstructed basic mesh inter-frame slices to obtain a reconstructed basic mesh; and performing subdivision processing on the reconstructed basic mesh to obtain the displacement of a subdivided mesh, and encoding the displacement of the subdivided mesh to obtain a displacement code stream. The present invention can greatly improve encoding efficiency.
Need to check novelty before this filing date? Find Prior Art

Description

A three-dimensional grid encoding and decoding method and device thereof Technical Field

[0001] The present invention belongs to the technical field of three-dimensional grid encoding and decoding, and in particular relates to a three-dimensional grid encoding and decoding method and a device thereof. Background Art

[0002] In recent years, with the rapid development of multimedia technology, related research results have been rapidly industrialized and have become an indispensable part of people's lives. Three-dimensional models have become the next generation of digital media, following audio, images, and video. Three-dimensional meshes are a commonly used representation method for 3D models. Compared to traditional multimedia such as images and videos, 3D mesh models offer greater interactivity and realism, leading to their increasing application in various fields, including commerce, manufacturing, construction, education, medicine, entertainment, art, and the military.

[0003] In related technologies, as people's demand for the visual effects of three-dimensional mesh models becomes increasingly higher, the models become more and more complex, and the accuracy of the models becomes higher and higher, which makes the amount of data required to represent the three-dimensional meshes increase accordingly; the above problems cause the processing, visualization, transmission and storage of three-dimensional meshes to become more and more complicated.

[0004] Therefore, there is an urgent need to improve the encoding and decoding methods in the existing technology and provide an efficient and universal three-dimensional mesh compression algorithm. Summary of the Invention

[0005] In order to solve the above problems existing in the prior art, the present invention provides a three-dimensional grid encoding and decoding method and apparatus thereof. The technical problem to be solved by the present invention is achieved through the following technical solutions:

[0006] In a first aspect, the present invention provides a three-dimensional grid encoding method, comprising:

[0007] Dividing the three-dimensional grid into base grid intra-frame slices and base grid inter-frame slices, and encoding them to obtain base grid intra-frame slice code streams and base grid inter-frame slice code streams, and simultaneously obtaining reconstructed base grid intra-frame slices and reconstructed base grid inter-frame slices;

[0008] Merging the reconstructed base grid intra-frame slices and the reconstructed base grid inter-frame slices to obtain a reconstructed base grid;

[0009] The reconstructed basic grid is subdivided to obtain the displacement of the subdivided grid, and the displacement of the subdivided grid is encoded to obtain a displacement code stream.

[0010] In a second aspect, the present invention further provides a three-dimensional grid decoding method, comprising:

[0011] Decoding a base grid intra-frame slice code stream to obtain a base grid intra-frame slice, decoding a base grid inter-frame slice to obtain a base grid inter-frame slice, decoding a base grid intra-frame slice to obtain a reconstructed base grid intra-frame slice, and decoding a base grid inter-frame slice to obtain a reconstructed base grid inter-frame slice;

[0012] Merging the reconstructed base grid intra-frame slices and the reconstructed base grid inter-frame slices to obtain a reconstructed base grid;

[0013] The displacement code stream is decoded to obtain the displacement of the subdivided grid after the reconstruction of the base grid is subdivided, and the reconstructed grid is obtained according to the displacement of the reconstructed base grid and the subdivided grid.

[0014] In a third aspect, the present invention further provides a three-dimensional grid encoding device, applied to an encoding end, comprising:

[0015] A first encoding module is configured to divide the three-dimensional grid into base grid intra-frame slices and base grid inter-frame slices, and perform encoding to obtain a base grid intra-frame slice code stream and a base grid inter-frame slice code stream, and simultaneously obtain a reconstructed base grid intra-frame slice and a reconstructed base grid inter-frame slice;

[0016] A processing module, configured to merge the intra-frame slices of the reconstructed base grid and the inter-frame slices of the reconstructed base grid to obtain a reconstructed base grid;

[0017] The second encoding module is used to subdivide the reconstructed basic grid to obtain the displacement of the subdivided grid, encode the displacement of the subdivided grid, and obtain a displacement code stream.

[0018] In a fourth aspect, the present invention further provides a three-dimensional grid decoding device, applied to a decoding end, comprising:

[0019] A first decoding module is configured to decode a base grid intra-frame slice code stream to obtain a base grid intra-frame slice, decode a base grid inter-frame slice to obtain a base grid inter-frame slice, decode the base grid intra-frame slice to obtain a reconstructed base grid intra-frame slice, and decode the base grid inter-frame slice to obtain a reconstructed base grid inter-frame slice;

[0020] A processing module, configured to merge the intra-frame slices of the reconstructed base grid and the inter-frame slices of the reconstructed base grid to obtain a reconstructed base grid;

[0021] The second decoding module is used to decode the displacement code stream to obtain the displacement of the subdivided grid after the reconstruction of the basic grid is subdivided, and obtain the reconstructed grid according to the displacement of the reconstructed basic grid and the subdivided grid.

[0022] Beneficial effects of the present invention:

[0023] The present invention provides a three-dimensional grid encoding and decoding method and device thereof. Compared with the existing scheme that adopts the inter-frame coding mode when the three-dimensional grid is close to the reference grid, and adopts the intra-frame coding mode otherwise, that is, when the three-dimensional grid and the reference grid have some areas that are not close, the inter-frame coding mode cannot be used. In the present invention, the three-dimensional grid is divided into a base grid intra-frame slice and a base grid inter-frame slice, wherein the base grid inter-frame slice adopts the inter-frame coding mode and the base grid intra-frame slice adopts the intra-frame coding mode, which can greatly improve the coding efficiency. In the present invention, the reconstructed base grid intra-frame slice and the reconstructed base grid inter-frame slice are merged to obtain a reconstructed base grid, and the displacement is generated based on the reconstructed base grid. The framework can be consistent with the existing intra-frame coding scheme and is also the form that the standard should be. In addition, the reconstructed base grid intra-frame slice and the reconstructed base grid inter-frame slice are merged to obtain a reconstructed base grid. The reconstructed base grid is a whole and has good standard consistency as a reference grid for subsequent grids.

[0024] The present invention will be further described in detail below with reference to the accompanying drawings and embodiments. BRIEF DESCRIPTION OF THE DRAWINGS

[0025] FIG1 is a schematic diagram of a three-dimensional grid encoding method provided by an embodiment of the present invention;

[0026] FIG2 is a flow chart of generating a basic grid according to an embodiment of the present invention;

[0027] FIG3 is a schematic diagram of generating a basic grid according to an embodiment of the present invention;

[0028] FIG4 is a schematic diagram of generating a registration base grid according to an embodiment of the present invention;

[0029] FIG5 is a schematic diagram of mismatch region detection according to an embodiment of the present invention;

[0030] FIG6 is a schematic diagram of boundary vertex simplification and adjustment provided by an embodiment of the present invention;

[0031] FIG7 is a schematic diagram of a grid simplification provided by an embodiment of the present invention;

[0032] FIG8 is a schematic diagram of a basic grid coding according to an embodiment of the present invention;

[0033] FIG9 is a schematic diagram of a basic grid inter-frame slice code stream and a basic grid inter-frame slice code stream structure provided by an embodiment of the present invention;

[0034] FIG10 is a schematic diagram of a code stream splicing method provided in an embodiment of the present invention;

[0035] FIG11 is another schematic diagram of a code stream splicing method provided in an embodiment of the present invention;

[0036] FIG12 is a schematic diagram of five modes of Edgebreaker provided in an embodiment of the present invention;

[0037] FIG13 is a schematic diagram of texture coordinate parameterization provided by an embodiment of the present invention;

[0038] FIG14 is a schematic diagram of a method for calculating a geometric displacement vector provided by an embodiment of the present invention;

[0039] FIG15 is a schematic diagram of a subdivision provided by an embodiment of the present invention;

[0040] FIG16 is a schematic diagram of a displacement encoding provided by an embodiment of the present invention;

[0041] FIG17 is a schematic diagram of deformed mesh reconstruction provided by an embodiment of the present invention;

[0042] FIG18 is a schematic diagram of texture map conversion provided by an embodiment of the present invention;

[0043] FIG19 is a schematic diagram of a three-dimensional grid decoding method provided by an embodiment of the present invention;

[0044] FIG20 is a schematic diagram of displacement decoding provided by an embodiment of the present invention. DETAILED DESCRIPTION

[0045] The present invention will be further described in detail below with reference to specific examples, but the embodiments of the present invention are not limited thereto.

[0046] While there are many methods for representing 3D meshes in the existing art, triangular meshes remain the most common. A 3D mesh can be considered to be composed of three basic elements: vertices, edges, and faces. Vertices are the most fundamental elements in a mesh, defining a position in 3D space. Edges are line segments connecting two vertices in the mesh. Faces can be considered polygons formed by closed paths of edges. For a triangular mesh, each face is a triangle.

[0047] The information contained in the mesh is usually divided into three categories: geometric information, connection information, and attribute information. Geometric information refers to the position of each vertex of the mesh in three-dimensional space. Connection information describes the association between the elements in the mesh, that is, the connection relationship between vertices. Attribute information is optional, and it can associate attributes with corresponding mesh elements (such as vertex color, normal vector, etc. can be associated with mesh vertices). Mesh parameterization can also be used to map the mesh from three-dimensional space to a two-dimensional plane area. This mapping relationship is usually described by a set of parameter coordinates, called UV coordinates or texture coordinates, which are associated with mesh vertices. This two-dimensional mapping can be used to represent high-resolution attribute information, such as textures, normal vectors, etc.

[0048] In nearly all application fields using 3D meshes (such as computational simulation, entertainment, medical imaging, digitized artifacts, computer design, and e-commerce), the demand for visually appealing 3D mesh models is increasing, leading to increasingly complex models and higher precision. Consequently, the amount of data required to represent the 3D mesh is also increasing. These issues have led to increasing complexity in the processing, visualization, transmission, and storage of 3D meshes. 3D mesh compression can be considered a solution to these problems. It reduces the size of model data and facilitates the processing, storage, and transmission of 3D meshes. Therefore, it is necessary to propose an efficient and universal 3D mesh compression algorithm.

[0049] Recently, MPEG, the international standardization organization for audio and video coding and compression, has begun developing a compression standard for 3D meshes called VDMC (Video-based dynamic mesh coding). This standard builds on the existing V3C (Visual Volumetric Video-based Coding) standard, which provides a general method for compressing 3D models, whether represented by point clouds, meshes, or panoramic videos. Making 3D mesh compression methods compatible with this standard will facilitate their widespread adoption and applicability.

[0050] In view of this, the present invention provides a three-dimensional mesh coding method to optimize the three-dimensional mesh coding and decoding method in VDMC. It is of great significance to combine the optimization method with the V3C standard. One possible optimization method is to optimize the mesh inter-frame coding, that is, to divide a basic mesh or a sub-grid of the basic mesh into two slices (Slices) of intra-frame and inter-frame respectively for encoding, so as to provide an efficient and universal three-dimensional mesh compression algorithm.

[0051] Please refer to FIG1 , which is a schematic diagram of a three-dimensional grid encoding method provided by an embodiment of the present invention. The three-dimensional grid encoding method provided by the present invention includes:

[0052] Dividing the three-dimensional grid into base grid intra-frame slices and base grid inter-frame slices, and encoding them to obtain base grid intra-frame slice code streams and base grid inter-frame slice code streams, and simultaneously obtaining reconstructed base grid intra-frame slices and reconstructed base grid inter-frame slices;

[0053] Merging the reconstructed base grid intra-frame slices and the reconstructed base grid inter-frame slices to obtain a reconstructed base grid;

[0054] The reconstructed basic grid is subdivided to obtain the displacement of the subdivided grid, and the displacement of the subdivided grid is encoded to obtain a displacement code stream.

[0055] Specifically, please continue to refer to Figure 1. This embodiment provides a three-dimensional grid encoding method, which obtains a basic grid code stream, a displacement code stream, a texture map code stream and an auxiliary basic grid information code stream according to the reference basic grid, the current input grid, the input texture map and the additional basic grid information, and mixes these code streams to form a mixed stream to realize the entire process of three-dimensional grid encoding.

[0056] In this embodiment, a base grid is generated according to the current input grid and the reference base grid, and the base grid includes base grid intra-frame slices and base grid inter-frame slices, that is, the three-dimensional grid is divided into base grid intra-frame slices and base grid inter-frame slices, and the base grid intra-frame slices and the base grid inter-frame slices are encoded to obtain a base grid intra-frame slice code stream and a base grid inter-frame slice code stream, and the base grid intra-frame slice code stream and the base grid inter-frame slice code stream are merged to form a base grid code stream; at the same time, a reconstructed base grid intra-frame slice and a reconstructed base grid inter-frame slice are obtained, and the reconstructed base grid intra-frame slice and the reconstructed base grid inter-frame slice are merged to obtain a reconstructed base grid; The base grid is subdivided to obtain the displacement of the subdivided grid, and the displacement of the subdivided grid is encoded to obtain a displacement code stream, and at the same time, a reconstructed displacement is obtained; a reconstructed deformed grid is generated based on the reconstructed displacement and the reconstructed base grid; based on the reconstructed deformed grid, a texture map conversion is performed using the current input grid and the input texture map to obtain a texture map, and the texture map is encoded to obtain a texture map code stream; in addition, auxiliary base grid information needs to be encoded, and the auxiliary base grid information is used to guide the decoding process at the decoding end; finally, the base grid code stream, displacement code stream, texture map code stream and auxiliary base grid information code stream are mixed to obtain the required bit stream.

[0057] Among them, the base grid intra-frame slice refers to the grid area with low similarity to the reference base grid, and its connection relationship, vertex geometric coordinates, texture coordinates, etc. are directly encoded; the base grid inter-frame slice refers to the grid area with high similarity to the reference base grid, and its connection relationship, vertex geometric coordinates, texture coordinates, etc. are all encoded based on the reference base grid using time domain prediction technology, which greatly improves the compression efficiency. Optionally, the reference base grid is the base grid corresponding to the reconstructed base grid in the time domain; it is understandable that a grid can include multiple base grid intra-frame slices and multiple base grid inter-frame slices, and multiple base grid intra-frame slices and multiple base grid inter-frame slices are connected together, and texture coordinate parameterization, displacement generation, displacement encoding and other joint processing can be performed, and it can be regarded as a whole reference base grid for subsequent time domain grids.

[0058] In this embodiment, compared with the existing scheme of using the inter-frame coding mode when the three-dimensional grid is close to the reference grid and using the intra-frame coding mode otherwise, that is, when some areas of the three-dimensional grid are not close to the reference grid, the inter-frame coding mode cannot be used. In this embodiment, the three-dimensional grid is divided into a base grid intra-frame slice and a base grid inter-frame slice, wherein the base grid inter-frame slice adopts the inter-frame coding mode and the base grid intra-frame slice adopts the intra-frame coding mode, which can greatly improve the coding efficiency. In this embodiment, the reconstructed base grid intra-frame slice and the reconstructed base grid inter-frame slice are merged to obtain a reconstructed base grid, and displacement is generated based on the reconstructed base grid. This framework can be consistent with the existing intra-frame coding scheme and is also the form that the standard should be. In addition, the reconstructed base grid intra-frame slice and the reconstructed base grid inter-frame slice are merged to obtain a reconstructed base grid. The reconstructed base grid is a whole and has good standard consistency as a reference grid for subsequent grids.

[0059] It should be noted that this embodiment is not only applicable to the coding of the three-dimensional basic grid between frames, but also to the coding of the sub-grids of the three-dimensional inter-frame grid and the three-dimensional inter-frame basic grid; when the three-dimensional grid to be encoded includes multiple sub-grids, each sub-grid can be encoded according to the method of the above embodiment, that is, the processing unit of the above-mentioned encoding method can be a sub-grid, and the sub-grid is sometimes a slice of the grid; when the three-dimensional grid to be encoded includes multiple slices, the object of the encoding method provided by the above embodiment can be P slice.

[0060] In an optional embodiment of the present invention, please refer to FIG2 , which is a flow chart of generating a basic mesh according to an embodiment of the present invention. In a three-dimensional mesh encoding method provided by the present invention, the basic mesh generation process includes:

[0061] Based on the current frame input grid and the reference base grid, intra-frame slices and inter-frame slices of the current frame base grid are generated. The reference base grid is the base grid corresponding to an already reconstructed grid, such as the base grid of the reconstructed grid of the previous frame adjacent in time. The reference base grid can be the base grid of multiple reconstructed grids, such as when using multiple reference frames. The present invention uses a single reference base grid as an example.

[0062] First, the reference base mesh is deformed using the inter-frame registration algorithm to make its shape as similar as possible to the input mesh of the current frame, and the output registration base mesh and registration subdivision mesh are obtained.

[0063] Secondly, mismatched area detection is performed to detect which parts of the inter-frame registered base grid are well-registered and which parts are poorly registered. After mismatched area detection, base grid inter-frame slices and primary grid intra-frame slices are obtained; among them, the base grid inter-frame slices are well-registered areas taken from the registered base grid. The base grid inter-frame slices can carry information that matches the reference base grid, such as the vertex in the reference base grid corresponding to each vertex, so as to be used when subsequently encoding the base grid inter-frame slices. The primary grid intra-frame slices are poorly registered areas in the input grid, and are further processed in combination with the base grid inter-frame slice information to obtain the base grid intra-frame slices. Optionally, multiple base grid inter-frame slices and / or multiple base grid intra-frame slices may be obtained simultaneously. It is understandable that some vertices in the base grid inter-frame slices and some vertices in the base grid intra-frame slices have the same positions, and the base grid inter-frame slices and the base grid intra-frame slices are connected to form a whole base grid.

[0064] Please refer to Figure 3, which is a schematic diagram of generating a basic grid provided by an embodiment of the present invention. Figure 3 (a) is a reference basic grid. The coarse realization area in the reference basic grid is the area that matches the basic grid inter-frame slice. This area information is used for basic grid inter-frame slice encoding. The dot-dashed area in the reference basic grid is the non-matching area. Figure 3 (b) is an input grid to be encoded. The solid line area in the input grid is the area that matches the reference basic grid, and the basic grid inter-frame slice is obtained, as shown in Figure 3 (c). The long dot-dashed area in the input grid is the area that does not match the reference basic grid, and the primary grid intra-frame slice is obtained, as shown in Figure 3 (d). After grid processing, the primary grid intra-frame slice obtains the basic grid intra-frame slice, as shown in Figure 3 (e). The partially overlapping vertices of the basic grid intra-frame slice and the basic grid inter-frame slice are connected together to form a basic grid, as shown in Figure 3 (f).

[0065] It should be noted that in order to connect the base grid intra-frame slices and the base grid inter-frame slices into a whole base grid, it is necessary to adjust the vertices at the boundaries of the base grid intra-frame slices according to the vertices at the boundaries of the base grid inter-frame slices (simplify and move the positions). During the mesh simplification process, the boundary vertices that are the same as those of the base grid inter-frame slices are kept unchanged, and the base grid intra-frame slices are finally obtained.

[0066] The above basic grid generation process is described in detail through the following embodiments, specifically:

[0067] The generation process of the registration base grid and the registration subdivision grid is as follows:

[0068] The inter-frame registration algorithm is used to deform the basic grid of the reference frame, that is, the reference basic grid is deformed so that the shape of the deformed grid is as close as possible to the input grid of the current frame.

[0069] Please refer to Figure 4, which is a schematic diagram of generating a registration basic grid provided by an embodiment of the present invention. First, the reference frame subdivision grid is used as the target grid, and the nearest neighbor search algorithm is used to deform the current frame input grid onto the reference frame subdivision grid to output an intermediate grid; secondly, the reference frame subdivision grid is used as the target grid, and the nearest neighbor search algorithm is used to deform the above-generated intermediate grid onto the reference frame subdivision grid, and the deformed grid is the inter-frame registration subdivision grid; then, the generated inter-frame registration subdivision grid is used as the target grid, and the reference frame basic grid is fitted and deformed onto the target grid, and the basic grid after fitting and deformation is the inter-frame registration basic grid.

[0070] The process of mismatch area detection is:

[0071] Please refer to FIG5 , which is a schematic diagram of mismatch area detection provided by an embodiment of the present invention. The specific steps are as follows:

[0072] ① Traverse the registration base grid patches and obtain the bounding box of each patch;

[0073] ②According to the bounding box of each facet of the registered base mesh, obtain the weighted average normal vector of the input mesh and the facets of the corresponding area in the registered subdivided mesh;

[0074] ③ Calculate the angle between the two weighted average normal vectors. If the angle is greater than the set threshold, the corresponding patch in the registration base grid is marked as a mismatched patch.

[0075] ④ Return to step ① until all the faces of the registered base mesh are traversed;

[0076] ⑤ Correct the mismatched patches marked by the registration base grid, similar to dilation and erosion in image processing;

[0077] ⑥ Adaptively obtain the bounding boxes of several areas in the mismatched patch set;

[0078] ⑦ Delete the patches of the registered basic grid that are within the bounding box of the mismatched area to obtain the inter-frame patches of the basic grid; at the same time, obtain the patches of the input grid that are within the bounding box of the mismatched area, that is, the intra-frame patches of the primary grid.

[0079] The process of boundary vertex simplification and adjustment is as follows:

[0080] The purpose of simplifying and adjusting the boundary vertices of the primary mesh's intra-frame segments is to ensure that the number and position of vertices at the boundary between the inter-frame and intra-frame meshes are consistent, without any gaps. Please refer to Figure 6, which is a schematic diagram of boundary vertex simplification and adjustment provided by an embodiment of the present invention. The specific steps are as follows:

[0081] ① Traverse the boundary points of the basic grid inter-frame slices, use the nearest neighbor search algorithm to find the corresponding matching points on the primary grid intra-frame slices for each boundary point, and mark these matching points;

[0082] ② Traverse the boundary vertices of the slices in the primary grid frame, move the non-matching boundary points to the position of the matching point with the closest Euclidean distance, and then remove duplicate points and degenerate surfaces;

[0083] ③ Move the intra-frame slice boundary matching points processed in step ② to the corresponding boundary vertex positions of the inter-frame slices of the basic grid.

[0084] The process of mesh simplification is:

[0085] Mesh simplification is the process of simplifying the current input mesh into a base mesh with relatively few points and faces, while maintaining the shape of the original mesh as much as possible. The focus of mesh simplification is the simplification operation and the corresponding error metric. Please refer to Figure 7, which is a schematic diagram of mesh simplification provided by an embodiment of the present invention. The vertices at both ends of the edge are merged into one vertex and the connection between the two vertices is deleted. This process is repeated throughout the mesh according to certain rules to reduce the number of faces and vertices of the mesh to the target value.

[0086] During the simplification process, a specific error metric can be selected to optimize the simplified result. For example, the error metric for a vertex can be the sum of the coefficients of the equations of all adjacent faces. The error metric for an edge is the sum of the error metrics of the two vertices on the edge. In short, the error resulting from merging an edge is the sum of the distances from the merged vertex to all adjacent faces of the original two vertices on the edge.

[0087] After determining the simplification operation and the corresponding error metric, iterative mesh simplification begins. First, the vertex errors of the initial mesh are calculated to obtain the error of each edge. Then, each edge is sorted from smallest to largest error, and the edge with the smallest error is selected for merging each time. At the same time, the position of the merged vertex is calculated, and the error of all edges associated with the merged vertex is updated. In other words, the order of edge arrangement is updated to ensure that each iteration is based on a global error metric. Through iteration, the mesh faces are simplified to the number required for lossy coding. Finally, the base mesh intra-frame slices are obtained. The base mesh intra-frame slices and base mesh inter-frame slices constitute the base mesh.

[0088] In an optional embodiment of the present invention, the base grid intra-frame slices are encoded using an intra-frame coding mode to obtain a base grid intra-frame slice code stream; the base grid inter-frame slices are encoded using an inter-frame coding mode to obtain a base grid inter-frame slice code stream;

[0089] A basic grid code stream is obtained based on a basic grid intra-frame slice code stream, a basic grid inter-frame slice code stream, and additional basic grid information; wherein the additional basic grid information includes at least one of the number of basic grid intra-frame slices, the number of basic grid inter-frame slices, the length of the basic grid intra-frame slice code stream, and the length of the basic grid inter-frame slice code stream.

[0090] Specifically, please refer to Figure 8, which is a schematic diagram of basic grid coding provided by an embodiment of the present invention. In this embodiment, basic grid coding includes two parts: basic grid inter-frame slice coding and basic grid intra-frame slice coding; for basic grid inter-frame slices, the inter-frame coding mode is used, that is, based on the reference basic grid information, it is encoded using time domain prediction technology to obtain a basic grid inter-frame slice code stream; for basic grid intra-frame slices, the intra-frame coding mode is used, that is, without using the reference basic grid information, the basic grid intra-frame slices are directly encoded to obtain a basic grid intra-frame slice code stream. The basic grid inter-frame slice code stream and the basic grid intra-frame slice code stream are combined to form a basic grid code stream, and additional basic grid information is added to the basic grid code stream for parsing the basic grid inter-frame slice code stream and the basic grid intra-frame slice code stream. Optionally, the additional basic grid information can be header information of the basic grid code stream, including at least one of the number of basic grid inter-frame slices, the number of basic grid intra-frame slices, the length of the basic grid intra-frame slice code stream, and the length of the basic grid inter-frame slice code stream. The additional basic grid information and the combination of the basic grid inter-frame slice code stream and the basic grid intra-frame slice code stream can be completed in the code stream merging module.

[0091] Please refer to Figure 9, which is a schematic diagram of the basic grid inter-frame slice code stream and the basic grid inter-frame slice code stream structure provided by an embodiment of the present invention. The header information contains identification information to distinguish inter-frame slice data from intra-frame slice data; if the inter-frame slice data precedes the intra-frame slice data, the length of the inter-frame slice data can be identified; if the intra-frame slice data precedes the inter-frame slice data, the length of the intra-frame slice data can be identified; the inter-frame slice data and / or intra-frame slice data are byte-aligned, that is, a multiple of an integer byte.

[0092] If N intra slices are required, the header information includes information identifying the number of intra slices N and the size of each intra slice. For example, the encoding value N identifies the number of intra slices N, encodes the number of bytes of each intra slice, or encodes the number of bytes of the first N-1 intra slices.

[0093] If M inter-frame slices are required, the header information includes information identifying the number of inter-frame slices M and the size of each inter-frame slice data. For example, the encoding value M-1 (or M) identifies the number of inter-frame slices M, encodes the number of bytes of each inter-frame slice data, or encodes the number of bytes of the first M-1 inter-frame slice data.

[0094] In the data unit, the order of the code streams of the basic grid inter-frame slices and the basic grid intra-frame slices may be followed, or the order of the code streams of the basic grid intra-frame slices and the basic grid inter-frame slices may be followed.

[0095] Please refer to Figures 10 and 11. Figure 10 is a schematic diagram of a code stream splicing method provided by an embodiment of the present invention, and Figure 11 is another schematic diagram of a code stream splicing method provided by an embodiment of the present invention. First, the number of basic grid inter-frame slices, the number of basic grid intra-frame slices, the number of bytes occupied by each basic grid inter-frame slice code stream segment, and the number of bytes occupied by each basic grid intra-frame slice code stream segment are written in sequence in the header information of the inter-frame basic grid / sub-grid; then, the basic grid inter-frame slice code stream segments and the basic grid intra-frame slice code stream segments are stored in the data unit in the corresponding order.

[0096] In an optional embodiment of the present invention, the base mesh intra-frame slice encoding includes encoding at least one of connectivity relationships, vertex geometric coordinates, and texture coordinates, and the base mesh inter-frame slice encoding includes encoding at least one of connectivity relationships, vertex geometric coordinates, and texture coordinates; wherein,

[0097] Texture coordinates of a patch within a coded base grid, including an overall offset and / or scaling of the texture coordinates of the patch within the coded base grid;

[0098] For the base grid inter-frame slice, the connection relationship, vertex geometric coordinates and texture coordinates are encoded according to the information of the reference base grid; wherein the reference base grid represents the base grid corresponding to the reconstructed base grid in the time domain, and the information of the reference base grid includes the connection relationship, vertex geometric coordinates and texture coordinates.

[0099] Specifically, in this embodiment, the following process is described in detail.

[0100] The basic grid inter-frame slice encoding process includes encoding at least one of the connection relationship information, vertex geometry information, and texture coordinate information in the basic grid inter-frame slice.

[0101] One way to encode the connection relationship information is to directly use the connection relationship of the reference basic grid. Alternatively, a syntax element may be added to the header information to indicate whether the connection relationship of the reference basic grid is directly used.

[0102] One way to encode texture coordinate information is to directly use the texture coordinate information of the reference base mesh. The texture coordinates of vertices in a base mesh inter-frame patch directly use the texture coordinates of the corresponding points in the reference base mesh. Alternatively, the texture coordinates of the corresponding points in the reference base mesh can be uniformly scaled or translated, with the scaling or translation information encoded in the header. This scaling or translation information can be obtained using information from the base mesh inter-frame patch, such as the base mesh inter-frame patch texture coordinates.

[0103] Vertex geometry encoding can determine whether to encode the motion vector information of each vertex in the base grid inter-frame slice based on the rate-distortion criterion. When the motion vector is encoded, it is called P base grid inter-frame slice coding; when the motion vector is not encoded, it is called Skip base grid inter-frame slice coding.

[0104] Whether it is P basic grid inter-frame slice coding or Skip basic grid inter-frame slice coding, it is necessary to encode the reference basic grid information to indicate which part of the reference basic grid the basic grid inter-frame slice refers to. A possible way to encode the reference information is as follows:

[0105] ① Set and encode the number of reference vertices to indicate how many vertices of the reference base mesh are referenced by the current base mesh inter-frame slice;

[0106] ② Encode the index of the corresponding reference vertex in the reference basic grid according to the vertex index order of the basic grid frame;

[0107] ③ Set and encode the number of reference triangles to indicate how many triangles of the reference base mesh are referenced by the current base mesh inter-frame;

[0108] ④ Encode the index of the corresponding reference triangle in the reference basic grid according to the index order of the triangle in the basic grid frame.

[0109] Regarding the encoding of the reference vertex index and the reference triangle index, possible encoding methods include:

[0110] Directly binary encode the index value;

[0111] The index information is differentially encoded, that is, the difference between the current index value and the previous index value is encoded.

[0112] One possible approach to encoding the motion vector information of the inter-frame slices of the P basic grid is to continue using the existing motion vector encoding method in V-DMC. The steps are as follows:

[0113] ① Divide every 16 vertices of the P basic grid inter-frame slice into a group according to the vertex index order;

[0114] ② According to the rate-distortion criterion, the Skip mode of the motion vector group level is determined to decide whether to encode the motion vector of this group of vertices;

[0115] ③ If the motion vectors of this group of vertices are not encoded, the positions of this group of vertices need to be adjusted to the positions of the corresponding vertices in the reference frame;

[0116] ④ If the motion vectors of this group of vertices are to be encoded, it is necessary to traverse and compare the coding bit overheads of the motion vector residuals corresponding to the three motion vector prediction modes, and select the prediction mode with the smallest bit overhead; when encoding, first encode the prediction mode identifier of this group of vertices, and then encode the motion vector residuals of this group of vertices.

[0117] The encoding of the slice within the base mesh frame includes encoding at least one of connection relationship information, vertex geometry information, and texture coordinate information in the slice within the base mesh frame.

[0118] One approach is to directly encode the connectivity information, vertex geometry, and texture coordinates of the slices within the base mesh. Another possible encoding method is to compress the static mesh using a tool like Draco, encoding the connectivity information, vertex geometry, and texture coordinates of the base mesh, and ultimately outputting a stream of slices within the base mesh. The following describes a possible static base mesh encoder, Draco.

[0119] Draco's main approach to static mesh compression is connectivity-driven mesh compression. It traverses all faces of a mesh in a specific way, labels each face according to a specific rule, and encodes the labels of all traversed faces, i.e., the mesh connectivity. It then encodes the coordinate information of all vertices in the order in which the connectivity relationships were traversed.

[0120] The main process of Draco mesh encoding involves: first, for the input mesh, a connection relationship is generated based on its geometric information, namely the connection relationship between vertices in three-dimensional space. After constructing the face connection relationship, an initial face is selected to begin traversing all faces of the current mesh, i.e., traversing and generating symbols. This traversal and generating symbols uses the Edgebreaker algorithm, which divides the algorithm into five modes based on the state of the triangle face at the time of traversal to the current corner. Please refer to Figure 12, which is a schematic diagram of the five Edgebreaker modes provided by an embodiment of the present invention.

[0121] The five modes described above define the direction of traversing the next face after traversing the current face. Based on the above traversal methods, corresponding symbols are generated for each face defined by the current mesh geometry. These symbols are then entropy-encoded to produce a bitstream representing the connectivity defined by the current mesh geometry. Simultaneously, traversing each face also yields the order in which the corresponding vertices are traversed. This vertex order is passed to the geometry encoder, which rearranges it according to the traversal order, quantizes it according to a predetermined quantization parameter, and then predicts it using a parallelogram prediction method.

[0122] The encoding of texture coordinates is similar to that of vertex geometry, and can also be predicted. When the texture coordinate connection relationship is different from the vertex geometry connection relationship, the texture coordinate connection relationship needs to be encoded, and the difference in the connection relationship with the vertex geometry information can also be encoded.

[0123] The texture coordinates of the inter-frame slices of the base grid can be used to uniformly scale and / or translate the texture coordinates of the intra-frame slices of the base grid, and the scaling / translation information is encoded in the header information. The scaling and / or translation adjustment schemes include:

[0124] Adjustment scheme 1: The inter-frame texture coordinates remain unchanged, and only the intra-frame texture coordinates are adjusted. Then, when encoding the texture coordinates, only the adjusted intra-frame texture coordinates are used.

[0125] Adjustment plan 2: The texture coordinates of inter-frame slices and intra-frame slices are adjusted uniformly.

[0126] The intra-frame slice texture coordinates may also be encoded in another encoding method, and parameterized information of the intra-frame slice texture coordinates may be encoded, and the decoding end decodes the intra-frame slice texture coordinates with the help of the parameterized information.

[0127] Please refer to Figure 13, which is a schematic diagram of texture coordinate parameterization provided by an embodiment of the present invention. First, the corresponding texture coordinates for the base grid inter-frame patches are obtained from the reference base grid. Simultaneously, the base grid intra-frame patches are mesh parameterized to generate the texture coordinates for the intra-frame patches. Finally, the texture coordinates of the base grid inter-frame patches and the base grid intra-frame patches are adjusted and normalized to facilitate subsequent conversion to generate a texture map. The mesh parameterization can be performed on the base grid intra-frame patches or on the reconstructed base grid intra-frame patches.

[0128] Mesh parameterization is used to generate the corresponding texture coordinates for the mesh. Currently, many algorithms have been used to parameterize meshes, such as the Isochart algorithm and the orthogonal projection algorithm. In this encoding framework, both of the above schemes can be used to parameterize the reconstructed base mesh. The following is a brief introduction to the two algorithms:

[0129] Isochart algorithm

[0130] This algorithm uses spectral analysis to implement stretch-driven 3D mesh parameterization, UV-unwrapping the 3D mesh, tiling it, and packing it into a 2D texture domain. A stretch threshold is set, and the algorithm is outlined as follows:

[0131] a) Compute surface spectrum analysis to provide an initial parameterization;

[0132] b) performing iterations of stretch optimization;

[0133] c) If the stretch of this derived parameterization is less than a threshold, stop;

[0134] d), perform surface spectral clustering to divide the surface into charts;

[0135] e) Use graph cut algorithm to optimize chart boundaries;

[0136] f) Iterate the splitting of charts until the stretching criteria are met.

[0137] Orthogonal projection algorithm

[0138] OrthoAtlas is a projection-based mesh parameterization method that generates texture coordinates for the mesh through orthogonal projection. The main process includes:

[0139] a) Calculate mesh properties, including the adjacent faces of each face and the area and normal vector of each face;

[0140] b) Determine the projection plane of each face based on the normal vector;

[0141] c) Start clustering all faces according to the projection plane to form a connected area, first select the starting face of the cluster;

[0142] d) Iterate from the starting face to determine whether the adjacent faces of the face added to the connected region can be added to the connected region;

[0143] e) After each connected region is iterated, multiple connected regions are obtained;

[0144] f) Determine whether to merge adjacent connected areas based on the error metric;

[0145] g) Check whether there are overlapping areas during projection, remove the overlapping areas and regenerate connected areas;

[0146] h) Arrange all the projected areas into a two-dimensional image.

[0147] In an optional embodiment of the present invention, merging the reconstructed base grid intra-frame slices and the reconstructed base grid inter-frame slices to obtain the reconstructed base grid includes:

[0148] Adjusting the geometric information of some vertices of the intra-frame slice of the reconstructed base mesh so that the geometric information is the same as the geometric information of some vertices corresponding to the inter-frame slice of the reconstructed base mesh;

[0149] The repeated vertices and connection relationships between the intra-frame slices of the reconstructed base mesh and the inter-frame slices of the reconstructed base mesh are deleted.

[0150] Specifically, in this embodiment, the reconstructed base mesh inter-frame slices and the reconstructed base mesh intra-frame slices are merged to obtain a reconstructed base mesh. The geometric information of the corresponding vertices of the reconstructed base mesh inter-frame slices and the reconstructed base mesh intra-frame slices may differ. The corresponding vertices are obtained using a nearest neighbor method, and the corresponding vertex geometric information of the reconstructed base mesh intra-frame slices is adjusted to ensure that the vertex geometric information of the reconstructed base mesh intra-frame slices is the same as the vertex geometric information of the corresponding reconstructed base mesh inter-frame slices. Then, the duplicate vertices and connection relationships are deleted to obtain the reconstructed base mesh.

[0151] In an optional embodiment of the present invention, subdividing the reconstructed basic grid to obtain displacements of the subdivided grid, encoding the displacements of the subdivided grid to obtain a displacement code stream, includes:

[0152] The displacement information of the reference basic grid is used to predict the prediction residual of the displacement of the basic grid inter-frame slice, and the prediction residual of the displacement is encoded to achieve the encoding of the displacement of the basic grid inter-frame slice.

[0153] Specifically, please refer to Figure 14, which is a schematic diagram of a geometric displacement vector calculation method provided by an embodiment of the present invention, in which a subdivision deformation is performed on the reconstructed basic mesh to obtain displacement. The basic idea of ​​the subdivision and deformation module is shown in Figure 14. The same concept is applied to the input reconstructed basic mesh to generate displacement vector information. In Figure 14, the input 2D curve (represented by a 2D polyline), called the "original" curve, is first downsampled to generate a basic curve / polyline, called the "simplified" curve. The subdivision scheme is then applied to the simplified polyline to generate a "subdivided" curve. The subdivided polyline is then deformed to obtain a better approximation of the original curve. That is, a geometric displacement vector is calculated for each vertex of the subdivided mesh (indicated by the arrows in Figure 14) so ​​that the shape of the subdivided curve is as close as possible to the shape of the original curve. These geometric displacement vectors are the geometric displacement vector information output by the module. The same deformation process is also applied to the attribute information corresponding to the vertex to obtain the corresponding attribute displacement vector.

[0154] For the parameterized sub-meshes, the input mesh is first subdivided. Any subdivision scheme can be chosen, with one possible scheme being midpoint subdivision, where each triangle is subdivided into four sub-triangles at each iteration. Figure 15 illustrates a schematic diagram of subdivision provided by an embodiment of the present invention. New vertices are introduced at the center of each edge. The subdivision of geometric and attribute information is performed independently, as the connections between geometric and attribute information are typically different.

[0155] The method of introducing a new vertex in the middle of each edge is to calculate the midpoint v of the newly introduced edge (v1, v2) 12 Position Pos(v 12) is shown in formula (1):

[0156] Among them, Pos(v1) and Pos(v2) represent the geometric coordinates of vertex v1 and vertex v2 respectively.

[0157] For the subdivided mesh, we find the nearest neighbor of each point on the original input mesh (including points on the original mesh surface). We can use data structures such as kdTree to accelerate the search. We calculate the distance between each vertex on the subdivided mesh and the geometric coordinates of its nearest neighbor on the original input mesh to obtain the displacement vector of the geometric coordinates of each vertex in the subdivided mesh.

[0158] Convert the coordinate system of the calculated vertex displacement from the Cartesian coordinate system to the local coordinate system. One feasible method is to convert the coordinates of each vertex displacement into the coordinate system composed of the corresponding vertex normal vector and the two vectors tangent to the normal vector. The specific conversion process is shown in formula (2):

[0159] in, Indicates the vertex displacement before coordinate system transformation, Represents the vertex displacement after coordinate system transformation, and denotes pairwise orthogonal unit vectors, and is the vertex normal vector, and Represents Two tangent vectors. For the calculation of the vertex normal vector, a feasible method is to equal the area-weighted sum of the normal vectors of the adjacent patches of the vertex.

[0160] Regarding the above displacement generation scheme, in order to facilitate the subsequent unified encoding of the displacement, it is necessary to simply merge the two parts of the displacement and output the complete displacement of the current frame.

[0161] Please refer to Figure 16, which is a schematic diagram of displacement coding provided by an embodiment of the present invention. First, inter-frame prediction is performed on inter-frame slice displacements to obtain displacement residuals; second, wavelet transform and quantization are performed on the displacements to obtain quantized wavelet transform coefficients; finally, the quantized wavelet transform coefficients are encoded to obtain a displacement code stream. The following is a detailed introduction to each step in Figure 16:

[0162] Inter-frame slice prediction includes:

[0163] This module operates only on inter-frame slice displacement data. There are two possible encoding methods for inter-frame slice displacement data: direct encoding of the displacement information and encoding of the prediction residual. When encoding the prediction residual of inter-frame slice displacement, this module is used to calculate the prediction residual of the inter-frame slice displacement data. One feasible calculation method is to calculate the difference between the displacement of the current vertex and the displacement of the corresponding vertex in the reference frame.

[0164] Wavelet transform includes:

[0165] Transformation can be applied to the displacement vector to reduce the correlation between its data. An optional transformation is linear wavelet transform, and its prediction process is defined as shown in formula (3):

[0166] Where v represents the newly inserted midpoint on the edge (v1, v2), Signal(v), Signal(v1), and Signal(v2) represent the displacement vectors corresponding to vertices v, v1, and v2, respectively. The displacement vector of vertex v is predicted and then updated. The update process is defined as shown in Equation (4):

[0167] Among them, v * Represents the set of all adjacent vertices of vertex v, and the transformed displacement vector is called the wavelet coefficient.

[0168] The transformed displacement vector, i.e., the wavelet coefficient, can be quantized. There are many ways to quantize it. One method is shown in equations (5) and (6): disp[v].d[k] = floor(disp[v].d[k]*scale[k]) (5);

[0169] Where disp[v] represents the transformed value of the displacement vector at the vth vertex, d[k] represents the kth value of the displacement vector, and floor indicates rounding down. bitDepthPosition represents the bit depth of the current mesh vertex's geometric position, and qp[k] represents the quantization parameter for the kth coefficient. As mentioned earlier, after transforming the coordinate system of the displacement vector, its normal component has a more significant impact on quality than its tangential component, so a larger quantization parameter can be used for the tangential component.

[0170] At the same time, according to the characteristics of wavelet transform, different quantization parameters can be used for the newly generated vertices and the original vertices. That is, for the subdivided vertices, the quantization parameter is updated as shown in formula (7): scale[k] = scale[k]*lodScale[k] (7);

[0171] Among them, lodScale[k] represents the coefficient of the quantization parameter of the current subdivision level.

[0172] There are many possible ways to encode the quantized wavelet transform coefficients. One possibility is to reuse the existing V-DMC method: arranging the quantized wavelet transform coefficients into video frames and sending them to the video encoder for encoding, or directly performing entropy coding; another possible method is to directly perform entropy coding on the displacement information without performing the aforementioned wavelet transform, quantization and other steps.

[0173] The deformed mesh reconstruction scheme is shown in Figure 17, which is a schematic diagram of a deformed mesh reconstruction method provided by an embodiment of the present invention. First, the reconstructed inter-frame slices and intra-frame slices of the base mesh are merged to restore the complete reconstructed base mesh. The base mesh is then subdivided. After the reconstructed displacements are dequantized and inverse wavelet transformed, inter-frame slice displacements can be selectively predicted based on the encoding settings. The resulting displacements are then superimposed on the subdivided base mesh to obtain the reconstructed deformed mesh.

[0174] In an optional embodiment of the present invention, texture map conversion is performed based on the input original texture map, the input mesh, and the reconstructed deformed mesh. Please refer to FIG18 , which is a schematic diagram of texture map conversion provided by an embodiment of the present invention. The specific conversion steps are as follows:

[0175] ① Calculate the texture coordinates of each pixel on the texture map to be generated, such as the texture coordinates corresponding to pixel A(i,j) is P(u,v);

[0176] ② Determine whether the texture coordinates are within a certain triangle face after the parameterization of the subdivided deformed mesh;

[0177] ③If the texture coordinate does not belong to any triangle, mark the pixel as an empty pixel, which can be filled with a filling algorithm later;

[0178] If the texture coordinate belongs to a triangle, then,

[0179] Mark the pixel as filled;

[0180] Calculate the center of gravity coordinates of the texture in the current triangle according to the texture coordinates;

[0181] According to the barycentric coordinates and the corresponding triangular face, the two-dimensional texture coordinates are mapped to three-dimensional geometric coordinates, that is, mapped to the point on the subdivided deformed grid corresponding to the texture coordinates, as shown by M(x, y, z) in the figure;

[0182] Find the point closest to the three-dimensional coordinate on the input original grid, as shown in the figure M'(x,y,z);

[0183] Calculate the barycentric coordinates of the three-dimensional coordinates according to the triangle face they are on and map them to two dimensions to calculate their texture coordinates, i.e. P'(u',v');

[0184] Sample the input original texture map using this texture coordinate , Get the value A'(i',j') of the corresponding pixel position;

[0185] Assign this value to the corresponding pixel A(i,j) on the texture map to be generated.

[0186] Next, after obtaining the converted texture map, existing filling algorithms (such as the Push-Pull algorithm) can be used to fill empty pixels in the texture map. This can then be encoded using existing video encoders such as H.264 / AVC, H.265 / HEVC, and H.266 / VVC to obtain the output texture map bitstream. Furthermore, color space conversion and chroma subsampling can be optionally applied to achieve better rate-distortion performance in video encoding, such as color space conversion from RGB 444 to YUV 420.

[0187] It should be noted that during the encoding process, different methods can be replaced according to actual needs, such as the type of grid encoder, the type of video encoder, the grid subdivision scheme, the displacement transformation scheme, etc. Therefore, the selected scheme needs to be passed to the decoding end to guide correct decoding. The auxiliary basic grid information also includes an optional reference frame list, which identifies the index list of reference frames used by the current frame; the subdivision identifier indicates whether the current frame basic grid needs to be subdivided and deformed, that is, whether it contains displacement information. The auxiliary basic grid information can also include the type of static grid encoder, the type of video encoder, the grid subdivision scheme, the displacement transformation scheme, the coefficient arrangement scheme, and the color conversion scheme, etc.

[0188] After the encoding is completed, the basic grid code stream, texture coordinate code stream, displacement code stream, texture map code stream, auxiliary information code stream, etc. are mixed to obtain the final output encoded bit stream.

[0189] Based on the same inventive concept, please refer to FIG. 19 , which is a schematic diagram of a three-dimensional mesh decoding method provided by an embodiment of the present invention. The decoding method is implemented in a one-to-one correspondence with the encoding method. The decoding method includes:

[0190] Decoding a base grid intra-frame slice code stream to obtain a base grid intra-frame slice, decoding a base grid inter-frame slice code stream to obtain a base grid inter-frame slice, decoding the base grid intra-frame slice to obtain a reconstructed base grid intra-frame slice, and decoding the base grid inter-frame slice to obtain a reconstructed base grid inter-frame slice;

[0191] Merging the reconstructed base grid intra-frame slices and the reconstructed base grid inter-frame slices to obtain a reconstructed base grid;

[0192] The displacement code stream is decoded to obtain the displacement of the subdivided grid after the reconstruction of the base grid is subdivided, and the reconstructed grid is obtained according to the displacement of the reconstructed base grid and the subdivided grid.

[0193] Specifically, please continue to refer to Figure 19. This embodiment provides a three-dimensional grid decoding method, which demultiplexes the bit stream obtained by the encoding end to obtain the basic grid code stream, auxiliary basic grid information code stream, displacement code stream and texture map code stream respectively. Based on these code streams, the three-dimensional grid is reconstructed to realize the entire process of three-dimensional grid decoding.

[0194] It should be noted that the method used in the decoding process depends on the method used in the encoding process.

[0195] In this embodiment, the base grid code stream is split into a base grid intra-frame slice code stream and a base grid inter-frame slice code stream, and the base grid intra-frame slice code stream and the base grid inter-frame slice code stream are decoded respectively to obtain base grid intra-frame slices and base grid inter-frame slices; the base grid intra-frame slices and the base grid inter-frame slices are decoded respectively to obtain reconstructed base grid intra-frame slices and reconstructed base grid inter-frame slices, and the reconstructed base grid intra-frame slices and reconstructed base grid inter-frame slices are merged to obtain a reconstructed base grid; after decoding the displacement code stream, the displacement is obtained, and based on the displacement, a reconstructed deformed mesh is obtained; a reconstructed three-dimensional mesh is obtained based on the reconstructed deformed mesh and the reconstructed base grid; the texture map code stream is decoded to obtain a texture map, and further a reconstructed texture map is obtained; the vertices of the reconstructed mesh can find corresponding positions in the reconstructed texture map according to their texture coordinates and render them. It should be emphasized that the auxiliary basic grid information code stream needs to be decoded first to obtain the auxiliary basic grid information, so that it can play a guiding role in the decoding process of the basic grid code stream, displacement code stream and texture map code stream, and realize the successful parsing of the above code streams; it can be understood that the auxiliary basic grid information includes the type of grid encoder used, the type of video encoder, the grid subdivision scheme, the displacement transformation scheme, etc. In other words, according to the method used in the encoding process, the corresponding method is used for decoding in the decoding process.

[0196] In an optional embodiment of the present invention, the basic grid code stream is decoded to obtain additional basic grid information. Based on the additional basic grid information, a decoding method corresponding to the method for encoding the basic grid intra-frame slices is determined, and the basic grid intra-frame slice code stream is decoded; a decoding method corresponding to the method for encoding the basic grid inter-frame slices is determined, and the basic grid inter-frame slice code stream is decoded; wherein the additional basic grid information includes at least one of the number of basic grid intra-frame slices, the number of basic grid inter-frame slices, the length of the basic grid intra-frame slice code stream, the length of the basic grid inter-frame slice code stream, the encoding method of the basic grid intra-frame slices of the current frame, and the encoding method of the basic grid inter-frame slices of the current frame.

[0197] Specifically, in this embodiment, the decoding end first decodes the auxiliary basic grid information code stream to obtain the auxiliary basic grid information, and determines the decoding scheme based on the auxiliary basic grid information, wherein the auxiliary basic grid information mainly includes an intra-frame coding flag, indicating whether the current frame needs to be constructed based on the basic grid of the reference frame, that is, whether it needs to be constructed based on the reference basic grid; a reference frame list, indicating the index of the reference frame required for the current frame, and the reference frame list is applied to the subsequent basic grid construction process; a subdivision flag, indicating whether the reconstructed basic grid needs to be subjected to subsequent subdivision and deformation operations; a static grid encoder type, guiding the decoding end to use the corresponding static grid decoder; a video encoder type, guiding the decoding end to use the corresponding video decoder; a subdivision scheme, that is, a scheme for subdividing the basic grid in the reconstructed deformed grid, and the subdivision scheme of the encoder and decoder should be consistent; and other optional displacement transformation schemes, coefficient arrangement schemes, etc. are also included; it should be noted that the auxiliary basic grid information described here includes independently transmitted auxiliary basic grid information, as well as header information that may be included in other code stream parts.

[0198] In an optional embodiment of the present invention, decoding of slices within a base grid frame includes decoding at least one of a connectivity relationship, vertex geometric coordinates, and texture coordinates; decoding of slices between base grid frames includes decoding at least one of a connectivity relationship, vertex geometric coordinates, and texture coordinates; wherein,

[0199] For the texture coordinates of the decoded base grid intra frame slice, the overall offset and / or scaling of the texture coordinates of the encoded base grid intra frame slice is determined according to the additional base grid information, and the base grid intra frame slice code stream is decoded according to the overall offset and / or scaling.

[0200] Specifically, in this embodiment, the basic grid code stream at the encoding end has the same structure as the basic grid code stream at the decoding end. Based on the structure of the basic grid code stream, the basic grid code stream is divided into a basic grid intra-frame chip code stream and a basic grid inter-frame chip code stream. If the basic grid code stream includes multiple basic grid intra-frame chip code streams, it is divided into multiple basic grid intra-frame chip code streams; if the basic grid code stream includes multiple basic grid inter-frame chip code streams, it is divided into multiple basic grid inter-frame chip code streams. The obtained basic grid inter-frame chip code stream or basic grid intra-frame chip code stream contains only one basic grid inter-frame chip information or one basic grid intra-frame chip information, which is called a basic grid chip code stream. Each basic grid chip code stream is independently decoded according to its type (intra-frame or inter-frame).

[0201] Decoding of inter-frame slices for the base grid includes:

[0202] Decoding the base grid inter-frame slice includes decoding at least one of connection relationship information, vertex geometry information, and texture coordinate information in the base grid inter-frame slice. The decoding method of the connection relationship information, vertex geometry information, and texture coordinate information corresponds to the encoding method.

[0203] One way to decode the connection relationship information is to directly use the connection relationship of the reference basic grid. Whether to directly use the connection relationship of the reference basic grid can be determined according to the syntax element indication in the header information.

[0204] One way to decode texture coordinate information is to directly use the texture coordinate information of the reference base mesh. The texture coordinates of the vertices in the base mesh inter-frame slice directly use the texture coordinates of the corresponding points in the reference base mesh. If the texture coordinates of the corresponding points in the reference base mesh are uniformly scaled or translated, the scale or translation information of the texture coordinates must be provided.

[0205] Decoding vertex geometry first requires decoding the base inter slice type, whether it is a P base inter slice or a Skip base inter slice. If it is a P base inter slice, its reference information must be decoded first, followed by the motion vector information. If it is a Skip base inter slice, only the reference information needs to be decoded.

[0206] Whether it is a P basic grid inter-frame slice or a Skip basic grid inter-frame slice, it needs to decode reference information to indicate which part of the reference basic grid the basic grid inter-frame slice refers to. Corresponding to the encoder, a possible reference information decoding method is as follows:

[0207] ①Decoding the number of reference vertices;

[0208] ②Decode the index of the reference vertex;

[0209] ③Decoding the number of reference triangles;

[0210] ④Decode the index of the reference triangle.

[0211] According to the decoded reference vertex index information and reference patch index information, the decoding end can restore the reconstructed basic mesh inter-frame slice that is completely consistent with that of the encoding end.

[0212] For P basic grid inter-frame slices, motion vector information needs to be further decoded. One possible decoding method is to follow the existing V-DMC method. The specific steps are as follows:

[0213] ① First decode the Skip mode flag of a group of vertex motion vectors;

[0214] ② If the encoding mode of the motion vector group is Skip mode, there is no need to continue decoding the motion vector, and the vertex position corresponding to the reference frame can be directly assigned to the group of vertices;

[0215] ③ If the encoding mode of the motion vector of this group is not Skip mode, continue to decode the motion vector prediction mode identifier of this group and all the motion vector residuals of this group of vertices; according to the prediction mode identifier, use the corresponding prediction method to calculate the motion vector prediction value of this group of vertices, and then add it to the decoded motion vector prediction residual to restore the motion vector information of this group of vertices.

[0216] For the P basic grid inter-frame slice, after decoding the motion vector information of each vertex, it is superimposed on the corresponding vertex position of the inter-frame slice reference basic grid to decode and reconstruct the basic grid inter-frame slice.

[0217] Decoding of slices within a basic grid frame includes:

[0218] Decoding the slice within the base mesh frame includes decoding at least one of connection relationship information, vertex geometry information, and texture coordinate information within the slice within the base mesh frame. The decoding method of the connection relationship information, vertex geometry information, and texture coordinate information corresponds to the encoding method.

[0219] If a static mesh compression algorithm such as Draco is used to directly encode the connectivity information, vertex geometry, and texture coordinates of the slices within the base mesh frame, then a corresponding decoding algorithm is used to decode the connectivity information, vertex geometry, and texture coordinates of the slices within the base mesh frame, ultimately outputting a stream of slices within the base mesh frame. The following describes a possible static base mesh encoder, Draco.

[0220] If the intra-frame slice texture coordinates adopt a parameterized information encoding method, the decoding end decodes the intra-frame slice texture coordinates with the help of the parameterized information.

[0221] In an optional embodiment of the present invention, merging the reconstructed base grid intra-frame slices and the reconstructed base grid inter-frame slices to obtain the reconstructed base grid includes:

[0222] Adjusting the geometric information of some vertices of the reconstructed base mesh intra-frame slice to be the same as the geometric information of some vertices of the reconstructed base mesh inter-frame slice;

[0223] The repeated vertices and connection relationships between the intra-frame slices of the reconstructed base mesh and the inter-frame slices of the reconstructed base mesh are deleted.

[0224] Specifically, in this embodiment, the encoding process of merging the reconstructed base mesh intra-frame slices and the reconstructed base mesh inter-frame slices is the same as the decoding process of merging the reconstructed base mesh intra-frame slices and the reconstructed base mesh inter-frame slices. The reconstructed base mesh inter-frame slices and the reconstructed base mesh intra-frame slices are merged to obtain the reconstructed base mesh. The geometric information of the corresponding vertices of the reconstructed base mesh inter-frame slices and the reconstructed base mesh intra-frame slices may differ. The corresponding vertices are obtained using the nearest neighbor method, and the corresponding vertex geometric information of the reconstructed base mesh intra-frame slices is adjusted to ensure that the vertex geometric information of the reconstructed base mesh intra-frame slices is the same as the vertex geometric information of the corresponding reconstructed base mesh inter-frame slices. The duplicate vertices and connection relationships are then deleted to obtain the reconstructed base mesh.

[0225] In an optional embodiment of the present invention, decoding the displacement code stream to obtain the displacement of the subdivided mesh after the base mesh is subdivided, and decoding the displacement of the subdivided mesh to obtain the reconstructed deformed mesh includes:

[0226] The displacement of the subdivided grid is decoded to obtain the prediction residual of the displacement of the base grid inter-frame patch, and combined with the displacement information of the reference base grid to obtain the displacement of the base grid inter-frame patch.

[0227] Specifically, please refer to Figure 20, which is a schematic diagram of displacement decoding provided by an embodiment of the present invention. Displacement decoding is the inverse process of displacement encoding.

[0228] First, the displacements need to be decoded. This decoding must be consistent with the encoding process. If the encoder uses video encoding to encode the displacements, the decoder must use video decoding. If the encoder directly entropy encodes the displacements, the decoder must entropy decode the displacement bitstream. After the displacement decoding is complete, the quantized wavelet transform coefficients are obtained.

[0229] Secondly, the quantized wavelet transform coefficients are dequantized and inverse wavelet transformed. If the encoder directly encodes the inter-frame slice displacement, the output after the inverse wavelet transform is the decoded displacement. If the encoder uses inter-frame prediction coding for the inter-frame slice displacement, the decoder needs to perform the same prediction process to obtain the inter-frame slice displacement prediction value, add it to the decoded inter-frame slice displacement residual, and output the final decoded displacement.

[0230] Please continue to refer to FIG17 . According to the displacement obtained above, a reconstructed deformed mesh is obtained; and according to the reconstructed deformed mesh and the reconstructed base mesh, a reconstructed three-dimensional mesh is obtained.

[0231] In an optional embodiment of the present invention, the texture map code stream is decoded according to the guidance of the decoded auxiliary basic grid information, that is, it is decoded using the video decoder indicated in the auxiliary basic grid information, and an optional color space conversion is performed on it to obtain an image format consistent with the texture map input at the encoding end, thereby obtaining the final decoded output texture map.

[0232] The decoding end finally obtains the deformed mesh and the corresponding texture map reconstructed by the decoding end, and subsequent applications use the reconstructed deformed mesh and texture map as input for processing.

[0233] In an optional embodiment of the present invention, to ensure that multiple base grid inter-frame slice streams can be distinguished from intra-frame slice base grid streams at the decoding end, multiple identification information is required to be set in the syntax structure to distinguish multiple base grid intra-frame slice stream segments from base grid inter-frame slice stream segments. The syntax structure provided in this embodiment is designed based on the V-DMC syntax structure. The identification information should be placed in the header information, and the base grid inter-frame slice stream and the base grid intra-frame slice stream should both be placed in the data unit. The relevant syntax structure is shown in Table 1.

[0234] Table 1 Syntax structure

[0235] smh_inter_segment_count indicates the number of inter-frame slices in the basic grid.

[0236] smh_intra_segment_count indicates the number of intra-segments in the base grid frame.

[0237] smh_inter_segment_byte_counts indicates the number of bytes occupied by a basic grid code inter-frame slice code stream in the indicator data unit, and is used to separate multiple basic grid code inter-frame slice code stream segments and basic grid intra-frame slice code stream segments.

[0238] smh_intra_segment_byte_counts indicates the number of bytes occupied by a certain basic grid frame intra slice code stream in the indicator data unit, and is used to separate multiple basic grid code frame inter slice code stream segments and basic grid frame intra slice code stream segments.

[0239] The P-frame inter-frame and Skip-frame inter-frame base grid types have been removed from the data unit syntax, and a unified non-intra-frame base grid is used. When the base grid / sub-grid type is not intra-frame, its data unit contains multiple base grid inter-frame slice stream segments and base grid intra-frame slice stream segments. The relevant syntax structure is shown in Table 2.

[0240] Table 2 Syntax structure

[0241] Based on the same inventive concept, please continue to refer to FIG. 1 . The present invention further provides a three-dimensional grid encoding device, which is applied to a three-dimensional grid encoding method provided in the above embodiment of the present invention. The embodiment of the method is referred to above and will not be described in detail here. The three-dimensional grid encoding device includes:

[0242] A first encoding module is configured to divide the three-dimensional grid into base grid intra-frame slices and base grid inter-frame slices, and perform encoding to obtain a base grid intra-frame slice code stream and a base grid inter-frame slice code stream, and simultaneously obtain a reconstructed base grid intra-frame slice and a reconstructed base grid inter-frame slice;

[0243] A processing module, configured to merge the intra-frame slices of the reconstructed base grid and the inter-frame slices of the reconstructed base grid to obtain a reconstructed base grid;

[0244] The second encoding module is used to subdivide the reconstructed basic grid to obtain displacements of the subdivided grids, encode the displacements of the subdivided grids, and obtain a displacement code stream.

[0245] Specifically, a three-dimensional grid encoding device provided in this embodiment is applied to an encoding end, including a first encoding module, a processing module, and a second encoding module; wherein,

[0246] The first encoding module includes a base grid generation module, a base grid intra-frame slice encoding module, and a base grid inter-frame slice encoding module, which are specifically configured to generate a base grid according to a current input grid and a reference base grid, encode base grid intra-frame slices and base grid inter-frame slices in the base grid to obtain base grid intra-frame slice code streams and base grid inter-frame slice code streams, and reconstruct base grid intra-frame slices and reconstruct base grid inter-frame slices;

[0247] The processing module includes a grid merging module, which is specifically used to merge the reconstructed basic grid intra-frame slices and the reconstructed basic grid inter-frame slices to obtain a reconstructed basic grid;

[0248] The second encoding module includes a displacement generation module and a displacement encoding module, which is specifically used to subdivide the reconstructed basic grid to obtain the displacement of the refined grid, encode the displacement of the refined grid, and obtain a displacement code stream.

[0249] In addition, it also includes a deformed mesh reconstruction module, a texture map conversion module and a texture map encoding module, which are specifically used to obtain a reconstructed deformed mesh based on the reconstructed displacement and the reconstructed basic mesh, convert the texture map based on the reconstructed deformed mesh, the input texture map and the current input mesh, and then perform texture map encoding to obtain a texture map code stream.

[0250] Based on the same inventive concept, please continue to refer to FIG. 19 . The present invention further provides a three-dimensional grid decoding device, which is applied to a three-dimensional grid decoding method provided in the above embodiment of the present invention. The embodiment of the method is referred to above and will not be described in detail here. The three-dimensional grid decoding device includes:

[0251] A first decoding module is configured to decode a base grid intra-frame slice code stream to obtain a base grid intra-frame slice, decode a base grid inter-frame slice to obtain a base grid inter-frame slice, decode the base grid intra-frame slice to obtain a reconstructed base grid intra-frame slice, and decode the base grid inter-frame slice to obtain a reconstructed base grid inter-frame slice;

[0252] A processing module, configured to merge the intra-frame slices of the reconstructed base grid and the inter-frame slices of the reconstructed base grid to obtain a reconstructed base grid;

[0253] The second decoding module is used to decode the displacement code stream to obtain the displacement of the subdivided grid after the reconstruction of the basic grid is subdivided, and obtain the reconstructed grid according to the displacement of the reconstructed basic grid and the subdivided grid.

[0254] Specifically, a three-dimensional grid decoding device provided in this embodiment is applied to a decoding end and includes a first decoding module, a processing module, and a second decoding module; wherein,

[0255] The first decoding module includes a base grid intra-frame slice decoding module and a base grid inter-frame slice decoding module, which are specifically configured to decode a base grid intra-frame slice code stream to obtain a base grid intra-frame slice, decode a base grid inter-frame slice to obtain a base grid inter-frame slice, decode the base grid intra-frame slice to obtain a reconstructed base grid intra-frame slice, and decode the base grid inter-frame slice to obtain a reconstructed base grid inter-frame slice;

[0256] The processing module includes a grid merging module, which is specifically used to merge the reconstructed base grid intra-frame slices and the reconstructed base grid inter-frame slices to obtain the reconstructed base grid;

[0257] The second decoding module includes a displacement encoding module and a grid merging module, which is specifically used to decode the displacement code stream to obtain the displacement of the subdivided grid after the reconstruction of the basic grid is subdivided, and obtain the reconstructed grid according to the displacement of the reconstructed basic grid and the subdivided grid.

[0258] In addition, it also includes a texture map decoding module, which is specifically used to decode the texture map code stream and reconstruct the texture map.

[0259] The above is a further detailed description of the present invention in conjunction with specific preferred embodiments, and the specific implementation of the present invention should not be considered to be limited to these descriptions. For those skilled in the art of the present invention, without departing from the concept of the present invention, several simple deductions or substitutions can be made, which should be considered to fall within the scope of protection of the present invention.

Claims

1. A three-dimensional grid encoding method, characterized in that Comprising: Dividing a three-dimensional mesh into in-frame base mesh slices and inter-frame base mesh slices, and performing encoding to obtain an in-frame base mesh slice bitstream and an inter-frame base mesh slice bitstream, and simultaneously obtaining reconstructed in-frame base mesh slices and reconstructed inter-frame base mesh slices; Merging the reconstructed in-frame base mesh slices and the reconstructed inter-frame base mesh slices to obtain a reconstructed base mesh; Performing a subdivision process on the reconstructed base mesh to obtain displacements of the subdivided mesh, and encoding the displacements of the subdivided mesh to obtain a displacement bitstream.

2. The three-dimensional grid encoding method according to claim 1, wherein Encoding the in-frame base mesh slices using an intra-frame encoding mode to obtain the in-frame base mesh slice bitstream; Encoding the inter-frame base mesh slices using an inter-frame encoding mode to obtain the inter-frame base mesh slice bitstream; Obtaining a base mesh bitstream according to the in-frame base mesh slice bitstream, the inter-frame base mesh slice bitstream, and additional base mesh information; wherein the additional base mesh information includes at least one of the number of in-frame base mesh slices, the number of inter-frame base mesh slices, the length of the in-frame base mesh slice bitstream, and the length of the inter-frame base mesh slice bitstream.

3. The three-dimensional grid encoding method according to claim 1, wherein The encoding of the in-frame base mesh slices includes encoding at least one of connection relationships, vertex geometric coordinates, and texture coordinates, and the encoding of the inter-frame base mesh slices includes encoding at least one of connection relationships, vertex geometric coordinates, and texture coordinates; wherein, For encoding the texture coordinates of the in-frame base mesh slices, it includes encoding the overall offset and / or scaling of the texture coordinates of the in-frame base mesh slices; For the inter-frame base mesh slices, encoding connection relationships, vertex geometric coordinates, and texture coordinates according to information of a reference base mesh; wherein the reference base mesh represents the base mesh corresponding to the reconstructed base mesh in the time domain, and the information of the reference base mesh includes connection relationships, vertex geometric coordinates, and texture coordinates.

4. The three-dimensional grid encoding method according to claim 1, wherein The merging of the reconstructed in-frame base mesh slices and the reconstructed inter-frame base mesh slices to obtain a reconstructed base mesh includes: Adjusting the geometric information of some vertices of the reconstructed in-frame base mesh slices to be the same as the geometric information of the corresponding some vertices of the reconstructed inter-frame base mesh slices; Deleting the duplicate vertices and connection relationships between the reconstructed in-frame base mesh slices and the reconstructed inter-frame base mesh slices.

5. The three-dimensional grid encoding method according to claim 1, wherein The performing a subdivision process on the reconstructed base mesh to obtain displacements of the subdivided mesh, and encoding the displacements of the subdivided mesh to obtain a displacement bitstream includes: Using displacement information of a reference base mesh to predict a prediction residual of the displacement of the inter-frame base mesh slice, and encoding the prediction residual of the displacement to implement the encoding of the displacement of the inter-frame base mesh slice.

6. A three-dimensional grid decoding method, characterized in that Comprising: Decoding the in-frame base mesh slice bitstream to obtain in-frame base mesh slices, decoding the inter-frame base mesh slices to obtain inter-frame base mesh slices, decoding the in-frame base mesh slices to obtain reconstructed in-frame base mesh slices, and decoding the inter-frame base mesh slices to obtain reconstructed inter-frame base mesh slices; Merging the reconstructed in-frame base mesh slices and the reconstructed inter-frame base mesh slices to obtain a reconstructed base mesh; Decode the displacement bitstream to obtain the displacement of the subdivided mesh after reconstructing the base mesh subdivision process. Based on the reconstructed base mesh and the displacement of the subdivided mesh, obtain the reconstructed mesh.

7. The three-dimensional grid decoding method according to claim 6, wherein Decode the base mesh bitstream to obtain additional base mesh information. Based on the additional base mesh information, determine the decoding method corresponding to the method of encoding the intra-slice of the base mesh, and decode the intra-slice bitstream of the base mesh. Determine the decoding method corresponding to the method of encoding the inter-slice of the base mesh, and decode the inter-slice bitstream of the base mesh; wherein, the additional base mesh information includes at least one of the number of intra-slices of the base mesh, the number of inter-slices of the base mesh, the length of the intra-slice bitstream of the base mesh, the length of the inter-slice bitstream of the base mesh, the encoding method of the intra-slice of the base mesh in the current frame, and the encoding method of the inter-slice of the base mesh in the current frame.

8. The three-dimensional grid decoding method according to claim 7, wherein The decoding of the intra-slice of the base mesh includes decoding at least one of the connection relationship, vertex geometric coordinates, and texture coordinates; the decoding of the inter-slice of the base mesh includes decoding at least one of the connection relationship, vertex geometric coordinates, and texture coordinates; wherein, For decoding the texture coordinates of the intra-slice of the base mesh, based on the additional base mesh information, determine the overall offset and / or scaling for encoding the texture coordinates of the intra-slice of the base mesh, and decode the intra-slice bitstream of the base mesh according to the overall offset and / or scaling.

9. The three-dimensional grid decoding method according to claim 6, wherein The merging of the reconstructed intra-slice of the base mesh and the reconstructed inter-slice of the base mesh to obtain the reconstructed base mesh includes: Adjust the geometric information of some vertices of the reconstructed intra-slice of the base mesh to be the same as that of some vertices of the reconstructed inter-slice of the base mesh; Delete the duplicate vertices and connection relationships between the reconstructed intra-slice of the base mesh and the reconstructed inter-slice of the base mesh.

10. The three-dimensional grid decoding method according to claim 6, wherein, The decoding of the displacement bitstream to obtain the displacement of the subdivided mesh after reconstructing the base mesh subdivision process, and decoding the displacement of the subdivided mesh to obtain the reconstructed deformed mesh includes: Decode the displacement of the subdivided mesh to obtain the prediction residual of the displacement of the inter-slice of the base mesh, and combine the displacement information of the reference base mesh to obtain the displacement of the inter-slice of the base mesh.

11. A three-dimensional grid encoding device, characterized in that, Applied to the encoding end, it includes: A first encoding module for dividing a three-dimensional mesh into intra-slices and inter-slices of the base mesh, and performing encoding to obtain an intra-slice bitstream and an inter-slice bitstream of the base mesh, and simultaneously obtaining a reconstructed intra-slice and a reconstructed inter-slice of the base mesh; A processing module for merging the reconstructed intra-slice and the reconstructed inter-slice of the base mesh to obtain the reconstructed base mesh; A second encoding module for performing subdivision processing on the reconstructed base mesh to obtain the displacement of the subdivided mesh, and encoding the displacement of the subdivided mesh to obtain a displacement bitstream.

12. A three-dimensional grid decoding device, characterized in that, Applied to the decoding end, it includes: A first decoding module for decoding the intra-slice bitstream of the base mesh to obtain the intra-slice of the base mesh, decoding the inter-slice of the base mesh to obtain the inter-slice of the base mesh, decoding the intra-slice of the base mesh to obtain the reconstructed intra-slice of the base mesh, and decoding the inter-slice of the base mesh to obtain the reconstructed inter-slice of the base mesh; A processing module, configured to merge the in-slice of the reconstructed basic grid frame and the inter-slice of the reconstructed basic grid frame to obtain a reconstructed basic grid; A second decoding module, configured to decode a displacement bitstream to obtain displacements of the subdivided grids after the reconstructed basic grid is subdivided, and obtain a reconstructed grid according to the reconstructed basic grid and the displacements of the subdivided grids.

Citation Information

Patent Citations

  • Lossless coding method, lossless decoding method, apparatus and device

    CN117333633A

  • Coding and decoding method and device of three-dimensional grid and coding and decoding frame

    CN118317104A

  • Three-dimensional grid sequence encoding and decoding method and device

    CN118803256A

  • Basic unit used for compression of three-dimensional video, generation method for basic unit, and compression method for three-dimensional video using basic unit

    JP2012068881A

  • Encoding and decoding of texture mapping data in textured 3D mesh models

    US20180253867A1