Coding method, decoding method, coding device, decoding device and electronic equipment

By identifying and encoding the non-aligned regions of the 3D mesh at the encoding end, the problem of reduced decoding mesh quality after sub-mesh merging is solved, and higher quality decoding mesh reconstruction is achieved.

CN120835149APending Publication Date: 2025-10-24VIVO MOBILE COMM CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202410457667.8
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-04-16
Publication Date
2025-10-24

AI Technical Summary

Technical Problem

In existing technologies, when encoding 3D meshes, misaligned regions are easily generated after sub-mesh merging, which affects the quality of the decoded mesh reconstruction.

Method used

The encoding end encodes multiple sub-grids of the 3D mesh to obtain the first bitstream, and obtains the target region identification information by decoding and reconstructing the mesh, identifying the non-aligned regions, and generating the target bitstream so that the decoding end can identify and process the non-aligned regions.

Benefits of technology

By identifying and processing misaligned regions, the recovery performance of the decoded mesh is improved, thus enhancing the reconstruction quality of the decoded mesh.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120835149A_ABST
    Figure CN120835149A_ABST
Patent Text Reader

Abstract

The invention discloses an encoding method and device, a decoding method and device and electronic equipment, and belongs to the technical field of encoding and decoding, and the method comprises the steps that an encoding end encodes a plurality of sub-grids of a three-dimensional grid to obtain a first code stream; the coding end decodes the first code stream to obtain a first reconstruction grid, and the first reconstruction grid comprises a plurality of reconstruction sub-grids; the coding end obtains target area identification information according to the first reconstruction grid, wherein the target area identification information is used for identifying non-aligned areas among the plurality of reconstruction sub-grids; the encoding end encodes the target area identification information to obtain a second code stream; and the coding end generates a target code stream based on the first code stream and the second code stream.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application belongs to the field of coding technology, and particularly relates to an encoding method, a decoding method, a device and an electronic device. BACKGROUND

[0002] In recent years, with the rapid development of multimedia technology, relevant research results are rapidly industrialized and become an important part of people's life. Three-dimensional models have become a new generation of digital media after audio, image and video. Three-dimensional mesh is a common three-dimensional model representation method. Compared with traditional images, videos and other multimedia, three-dimensional mesh models have stronger interactivity and more realistic characteristics, so they have been more and more widely used in various fields such as business, manufacturing, construction, education, medicine, entertainment, art and military.

[0003] With people's increasing demand for three-dimensional mesh models in visual effects, the data size and complexity of three-dimensional mesh models are also increasing rapidly. Efficient compression of three-dimensional mesh data has become the key to convenient transmission, storage and processing of three-dimensional mesh data. For example, the encoding end divides the three-dimensional mesh into multiple sub-meshes, and performs simplification and quantization operations on each sub-mesh. These operations can reduce the size of the code stream, but also reduce the recovery performance of the decoding end for the three-dimensional mesh. Therefore, how to ensure the recovery performance of the decoded mesh is a problem to be solved. SUMMARY

[0004] The embodiments of the present application provide an encoding method, a decoding method, a device and an electronic device, which can improve the recovery performance of the decoded mesh.

[0005] In a first aspect, an encoding method is provided, which is executed by an encoding end, and the method comprises:

[0006] The encoding end encodes multiple sub-meshes of a three-dimensional mesh to obtain a first code stream;

[0007] The encoding end decodes the first code stream to obtain a first reconstructed mesh, wherein the first reconstructed mesh comprises multiple reconstructed sub-meshes;

[0008] The encoding end obtains target region identification information according to the first reconstructed mesh, and the target region identification information is used to identify a non-aligned region between the multiple reconstructed sub-meshes;

[0009] The encoding end encodes the target region identification information to obtain a second code stream;

[0010] The encoding end generates a target code stream based on the first code stream and the second code stream.

[0011] In a second aspect, a decoding method is provided, executed by a decoding end, and includes:

[0012] The decoding end acquires a target code stream corresponding to a three-dimensional mesh, wherein the three-dimensional mesh includes a plurality of sub-meshes;

[0013] The decoding end decodes the target code stream to acquire a second reconstructed mesh and target region identification information, wherein the second reconstructed mesh includes a plurality of reconstructed sub-meshes, and the target region identification information is used to identify a misaligned region between the plurality of reconstructed sub-meshes;

[0014] The decoding end determines the misaligned region in the second reconstructed mesh according to the target region identification information.

[0015] In a third aspect, an encoding apparatus is provided, including:

[0016] A first encoding module is configured to encode a plurality of sub-meshes of a three-dimensional mesh to acquire a first code stream;

[0017] A decoding module is configured to decode the first code stream to acquire a first reconstructed mesh, wherein the first reconstructed mesh includes a plurality of reconstructed sub-meshes;

[0018] An acquisition module is configured to acquire target region identification information according to the first reconstructed mesh, wherein the target region identification information is used to identify a misaligned region between the plurality of reconstructed sub-meshes;

[0019] A second encoding module is configured to encode the target region identification information to acquire a second code stream;

[0020] A generation module is configured to generate a target code stream based on the first code stream and the second code stream.

[0021] In a fourth aspect, a decoding apparatus is provided, including:

[0022] An acquisition module acquires a target code stream corresponding to a three-dimensional mesh, wherein the three-dimensional mesh includes a plurality of sub-meshes;

[0023] A decoding module is configured to decode the target code stream to acquire a second reconstructed mesh and target region identification information, wherein the second reconstructed mesh includes a plurality of reconstructed sub-meshes, and the target region identification information is used to identify a misaligned region between the plurality of reconstructed sub-meshes;

[0024] A determination module is configured to determine the misaligned region in the second reconstructed mesh according to the target region identification information.

[0025] In a fifth aspect, an electronic device is provided, which includes a processor and a memory, the memory storing programs or instructions executable on the processor, the programs or instructions, when executed by the processor, implement steps of the encoding method according to the first aspect, or implement steps of the decoding method according to the second aspect.

[0026] In a sixth aspect, an electronic device is provided, which includes a processor and a memory, the memory storing programs or instructions executable on the processor, the programs or instructions, when executed by the processor, implement steps of the encoding method according to the first aspect, or implement steps of the decoding method according to the second aspect.

[0027] In a seventh aspect, an electronic device is provided, which includes a memory configured to store three-dimensional mesh data, and a processing circuit configured to implement steps of the encoding method according to the first aspect, or implement steps of the decoding method according to the second aspect.

[0028] In an eighth aspect, a readable storage medium is provided, which stores programs or instructions, the programs or instructions, when executed by a processor, implement steps of the method according to the first aspect, or implement steps of the method according to the second aspect.

[0029] In a ninth aspect, a codec system is provided, which includes an encoding device and a decoding device, the encoding device being configured to implement steps of the method according to the first aspect, and the decoding device being configured to implement steps of the method according to the second aspect.

[0030] In a tenth aspect, a chip is provided, which includes a processor and a communication interface, the communication interface and the processor being coupled, the processor being configured to run programs or instructions, implement steps of the method according to the first aspect, or implement steps of the method according to the second aspect.

[0031] In an eleventh aspect, a computer program / program product is provided, which is stored in a storage medium, the program / program product being executed by at least one processor to implement steps of the method according to the first aspect, or implement steps of the method according to the second aspect.

[0032] In the embodiments of the present application, the encoding end can encode a plurality of sub-grids of a three-dimensional grid to obtain a first code stream, reconstruct the grid based on the first code stream, then obtain target region identification information for identifying non-aligned regions between the reconstructed sub-grids based on the reconstructed grid, encode the target region identification information, obtain a second code stream, and generate a target code stream based on the first code stream and the second code stream, so that the decoding end can obtain the reconstructed grid and the target region identification information by decoding the target code stream, and then identify the non-aligned regions in the reconstructed grid based on the target region identification information. The non-aligned regions can be used for post-processing of the reconstructed grid, and the recovery performance of the decoded grid is improved. BRIEF DESCRIPTION OF DRAWINGS

[0033] Figure 1a is a schematic diagram of dividing an original three-dimensional grid into a plurality of sub-grids.

[0034] Figure 1b is a schematic diagram of independently encoding the plurality of sub-grids after division.

[0035] Figure 1c is a schematic diagram of merging the sub-grids after independent encoding to obtain a grid.

[0036] Figure 2 is a schematic diagram of an encoding method provided by an embodiment of the present application.

[0037] Figure 3 is a schematic diagram of an encoding framework provided by an embodiment of the present application.

[0038] Figure 4 is a schematic diagram of an Edgebreaker-based three-dimensional grid encoding framework provided by an embodiment of the present application.

[0039] Figure 5 is a schematic diagram of a decoding method provided by an embodiment of the present application.

[0040] Figure 6 is a schematic diagram of a decoding framework provided by an embodiment of the present application.

[0041] Figure 7 is a schematic diagram of an Edgebreaker-based three-dimensional grid decoding framework provided by an embodiment of the present application.

[0042] Figure 8 is a schematic block diagram of an encoding device provided by an embodiment of the present application.

[0043] Figure 9 is a schematic block diagram of a decoding device provided by an embodiment of the present application.

[0044] Figure 10is a schematic block diagram of an electronic device according to an embodiment of the present application.

[0045] Figure 11 is a schematic diagram of a hardware structure of a terminal according to an embodiment of the present application. DETAILED DESCRIPTION

[0046] The technical solutions in the embodiments of the present application will be clearly described below with reference to the drawings in the embodiments of the present application. Obviously, the described embodiments are only some of the embodiments of the present application, but not all of them. Based on the embodiments in the present application, all other embodiments obtained by those of ordinary skill in the art belong to the scope of protection of the present application.

[0047] The terms "first", "second", and the like in the present application are used to distinguish similar objects, and are not used to describe a specific order or sequence. It should be understood that the terms used in this way can be interchanged under appropriate circumstances, so that the embodiments of the present application can be implemented in an order other than those illustrated or described herein, and the objects distinguished by "first", "second" are generally of a kind and do not limit the number of objects, for example, the first object can be one or more. In addition, "or" in the present application means at least one of the connected objects. For example, "A or B" covers three schemes, namely, scheme one: including A and not including B; scheme two: including B and not including A; scheme three: including A and B. The character " / " generally represents that the objects before and after are in an "or" relationship.

[0048] The encoding end, the encoding device, the decoding end and the decoding device in the embodiments of the present application can be a terminal, which can also be referred to as a terminal device or a user equipment (UE). The terminal can be a mobile phone, a tablet computer, a laptop computer (also referred to as a notebook computer), a personal digital assistant (PDA), a palm computer, a netbook, an ultra-mobile personal computer (UMPC), a mobile Internet device (MID), an augmented reality (AR) / virtual reality (VR) device, a robot, a wearable device or a vehicle-mounted device (VUE), a pedestrian terminal (PUE), a smart home (a home device with a wireless communication function, such as a refrigerator, a television, a washing machine or furniture), a game console, a personal computer (PC), a teller machine or a self-service machine, and the like. The wearable device includes a smart watch, a smart bracelet, a smart earphone, smart glasses, smart jewelry (a smart bracelet, a smart necklace, a smart ring, a smart necklace, a smart ankle bracelet, a smart ankle chain, and the like), a smart wristband, smart clothing, and the like. It should be noted that the specific type of the terminal is not limited in the embodiments of the present application.

[0049] To facilitate understanding of the embodiments of the present application, the three-dimensional mesh technology related to the present application is described.

[0050] In recent years, with the rapid development of multimedia technology, related research results are rapidly industrialized and have become an important part of people's lives. Three-dimensional models have become a new generation of digital media after audio, images and video. Three-dimensional mesh and point cloud are two commonly used three-dimensional model representation methods. Compared with traditional images, videos and other multimedia, three-dimensional mesh models have stronger interactivity and more realistic characteristics, which makes them more and more widely used in various fields such as business, manufacturing, construction, education, medicine, entertainment, art and military.

[0051] With the increasing demand for three-dimensional mesh models in visual effects and the emergence of many more mature three-dimensional scanning technologies and three-dimensional modeling software, the data size and complexity of three-dimensional mesh models obtained through three-dimensional scanning devices or three-dimensional modeling software have also increased dramatically. Therefore, how to efficiently compress three-dimensional mesh data is the key to realizing the convenient transmission, storage and processing of three-dimensional mesh data.

[0052] The three-dimensional mesh contains three main information: topology information, geometry information and attribute information. Among them, the topology information, also called connection relationship information (or connection information), is used to describe the connection relationship between the elements such as vertices and facets in the mesh; the geometry information includes the three-dimensional coordinates of all vertices in the mesh; and the attribute information records other information attached to the mesh, such as normal vector, texture coordinate and color, etc. The compression of three-dimensional mesh data is often carried out according to the data characteristics of the three kinds of information respectively. In addition, for the three-dimensional mesh with a texture map, the texture map also needs to be compressed.

[0053] The Moving Picture Experts Group (MPEG) of the International Standard Organization (ISO) is developing a new dynamic three-dimensional mesh compression standard, such as Variable-bit-rate Differential Motion Compensation (V-DMC), and adopts the three-dimensional mesh coding scheme based on Edgebreaker to realize the compression of the three-dimensional mesh geometry information, connection information topology information and attribute information. At the same time, the standard also adopts the concept of submesh, which allows the input three-dimensional mesh to be divided into multiple submeshes and each submesh can be independently coded. For example, the bounding box-based division scheme is used before coding to divide the input three-dimensional mesh to obtain the divided submeshes. Then the connection information, geometry information and UV coordinates of the three-dimensional mesh are independently encoded and stored by using the Edgebreaker-based method. Among them, the connection information can be encoded by using the Edgebreaker algorithm. The encoding of the geometry information and the attribute information such as the texture coordinates can use the conventional compression method, that is, quantization, prediction compression (parallelogram prediction) and entropy coding. Since the tool uses a connection relationship driven coding method, the encoding of the geometry information and the attribute information will follow the encoding order of the connection information. At the decoding end, after decoding each submesh, the information of each submesh is directly added to a new mesh to obtain the final decoded mesh.

[0054] However, for the V-DMC scheme, in the lossy mode, for the encoding of a three-dimensional mesh containing multiple submeshes, such as simplification, quantization and other operations on each submesh, the simplification process may cause the loss of boundary points, and the quantization process may cause the displacement of boundary points, which will cause the non-alignment area (or crack area) between the two originally aligned submeshes. When the submeshes are merged at the decoding end, the final decoded mesh is obtained by directly adding each reconstructed submesh to a new mesh, and a decoded mesh with a crack area is obtained, which affects the recovery quality of the decoded mesh.

[0055] For example, as shown in Figure 1a After the original three-dimensional mesh is sub-divided, sub-mesh 1 and sub-mesh 2 can be obtained. In the sub-mesh, the dashed line marks the points or edges on the boundary. The numbers in the original three-dimensional mesh represent the global index of the boundary points, i.e., the index of the boundary points in the three-dimensional mesh. The numbers in the sub-mesh represent the local index of the boundary points, i.e., the index of the boundary points in the sub-mesh.

[0056] Further, sub-mesh 1 and sub-mesh 2 are independently lossy coded. Since lossy coding needs to simplify and quantize each sub-mesh independently, the boundary point with index 0 in sub-mesh 1 is lost in the simplification process, as shown in Figure 1b This causes the boundaries of the two sub-meshes to be misaligned and cracks to occur, as shown in Figure 1c The triangles with indices 1, 2, and 4 are the crack areas caused by lossy coding.

[0057] Therefore, a coding method is proposed to assist the decoding end in correctly identifying the crack area and performing corresponding decoding mesh post-processing to restore a high-quality decoded mesh.

[0058] The encoding method and the decoding method provided by the embodiments of the present application will be described below in conjunction with the accompanying drawings and some embodiments and application scenarios. The encoding method can be executed by an encoding end, and the decoding method can be executed by a decoding end. The encoding end and the decoding end can be implemented by software, hardware, or a combination thereof. When they are implemented by hardware, the encoding end can be referred to as an encoding end device, and the decoding end can be referred to as a decoding end device.

[0059] Figure 2 is a schematic flowchart of an encoding method provided by the embodiments of the present application. As shown in Figure 2 The encoding method 200 includes at least the following steps:

[0060] S201, the encoding end encodes a plurality of sub-meshes of a three-dimensional mesh to obtain a first code stream.

[0061] It should be understood that the present application does not limit the source of the three-dimensional mesh. For example, it can come from a three-dimensional scanning device, or it can come from a three-dimensional modeling software, etc. Optionally, the three-dimensional mesh can be a three-dimensional mesh corresponding to a video frame.

[0062] In some embodiments, the method 200 further includes:

[0063] The encoding end sub-divides the three-dimensional mesh to obtain a plurality of sub-meshes.

[0064] For example, before encoding the three-dimensional mesh, the encoding end first divides the three-dimensional mesh into a plurality of sub-meshes, and then encodes the plurality of sub-meshes respectively to obtain a first code stream, where the first code stream is also referred to as a sub-mesh code stream.

[0065] It should be noted that the present application does not limit the sub-mesh division method, for example, a bounding box-based division method, an Octree-based division method, a K-D tree-based division method, etc. can be used. Hereinafter, the bounding box-based sub-mesh division method is taken as an example to illustrate the specific implementation of sub-mesh division.

[0066] In some embodiments, the three-dimensional mesh includes topology information, geometry information, and attribute information. Optionally, the three-dimensional mesh can also include a texture map. The topology information, also referred to as connection relationship information, is used to describe the layout, structure, and connection relationship of points, lines, and surfaces in the three-dimensional mesh. The geometry information is used to describe the position, shape, and size of each element in the three-dimensional mesh, for example, the geometry information can include the three-dimensional coordinates of all vertices in the three-dimensional mesh, the length and direction of edges, the shape and size of surfaces, etc. The attribute information is used to describe other information attached to the three-dimensional mesh, such as normal vector, texture coordinate, color information, material information, etc.

[0067] In some embodiments, the encoding end divides the three-dimensional mesh into a plurality of sub-meshes, including:

[0068] According to the geometry coordinates of the three-dimensional mesh, a bounding box range in the three-dimensional space where the three-dimensional mesh is located is obtained;

[0069] Based on the coordinate range of the bounding box range on a specific axis (for example, x-axis or y-axis or z-axis), the bounding box ranges of the plurality of sub-meshes are divided, for example, the coordinate range is equally divided to obtain the bounding box ranges of the plurality of sub-meshes. Optionally, the equal division number can be pre-set, or determined according to the number of sub-meshes required by the input;

[0070] According to the bounding box range of each sub-mesh, all surfaces in the three-dimensional mesh are traversed, and the vertices meeting the bounding box range are divided into the corresponding sub-meshes in units of surfaces. After traversing the bounding box range of each sub-mesh, the plurality of divided sub-meshes can be obtained.

[0071] In some embodiments, the encoding end encodes the plurality of sub-meshes of the three-dimensional mesh to obtain a first code stream, including:

[0072] The encoding end encodes the connection information in each sub-grid to obtain a connection information code stream;

[0073] The encoding end encodes the geometry information in each sub-grid to obtain a geometry information code stream;

[0074] The encoding end encodes the attribute information in each sub-grid to obtain an attribute information code stream;

[0075] The connection information code stream, the geometry information code stream and the attribute information code stream are mixed to obtain a first code stream.

[0076] It should be understood that the encoding method of the encoding end for the sub-grid is not specifically limited in the embodiments of the present application. For example, the encoding end can use an encoding method based on EdgeBreaker, or an encoding method based on octree, an encoding method based on quadtree, an encoding method based on features, etc. The encoding method of the sub-grid is described below by taking the encoding method based on EdgeBreaker as an example.

[0077] In some embodiments, the encoding end encodes a plurality of sub-grids of a three-dimensional grid to obtain a first code stream, including:

[0078] The encoding end splits the non-manifold structure in the plurality of sub-grids to obtain a manifold structure;

[0079] The manifold grid is then encoded for connection information, geometry information and attribute information to obtain a connection information code stream, a geometry information code stream and an attribute information code stream;

[0080] The connection information code stream, the geometry information code stream and the attribute information code stream are mixed to obtain a first code stream.

[0081] Optionally, for connection information encoding, the encoding end can use the encoding method of Edgebreaker, and the specific encoding algorithm is not limited in the present application. For example, CornerTable is established to represent the connection relationship of the three-dimensional grid, and all triangles in the three-dimensional grid are traversed by using CornerTable to generate the CLERS mode string of Edgebreaker. Then, the CLERS mode string can be encoded in the manner of entropy encoding to obtain the connection information code stream.

[0082] Optionally, for geometry information encoding, the encoding end can use a conventional encoding algorithm, such as a difference prediction encoding algorithm, a parallelogram prediction encoding algorithm, etc. For example, the encoding end can encode the geometry information in the order of connection information encoding by using a plurality of encoding algorithms such as a difference prediction encoding algorithm, a parallelogram prediction encoding algorithm, etc. to obtain a geometry information code stream, and the specific encoding algorithm is not limited in the present application.

[0083] Optionally, the attribute information of the three-dimensional mesh generally includes texture coordinates, normal vectors, etc. Taking the texture coordinates as an example. For the texture coordinates, the encoding end can use a conventional encoding algorithm, such as a difference prediction encoding algorithm, a parallelogram prediction encoding algorithm, a similar triangle prediction encoding algorithm, etc. For example, the encoding end can use multiple encoding algorithms such as a difference prediction encoding algorithm, a parallelogram prediction encoding algorithm, and a similar triangle prediction encoding algorithm to encode the attribute information in the encoding order of the connection information, to obtain attribute information code streams. The present application does not limit the specific encoding algorithm.

[0084] S202, the encoding end decodes the first code stream to obtain a first reconstructed mesh, wherein the first reconstructed mesh includes a plurality of reconstructed sub-meshes.

[0085] The decoding method used by the encoding end to decode the first code stream corresponds to the encoding method used by the encoding end to obtain the first code stream. The decoding method used by the encoding end to decode the first code stream is the same as the decoding method used by the decoding end to decode the first code stream. The specific decoding method is described in detail in the decoding end.

[0086] S203, the encoding end obtains target region identification information according to the first reconstructed mesh, and the target region identification information is used to identify non-aligned regions between the plurality of reconstructed sub-meshes.

[0087] S204, the encoding end encodes the target region identification information to obtain a second code stream.

[0088] S205, the encoding end generates a target code stream based on the first code stream and the second code stream.

[0089] It should be noted that the encoding end reconstructs the mesh using the first code stream, and then obtains the target region identification information based on the first reconstructed mesh, which can ensure the accuracy of the obtained non-aligned region information, and further ensure the accuracy of the non-aligned region information obtained by the decoding end, and ensure the reconstruction quality of the decoded mesh.

[0090] In some embodiments, the encoding end decodes the first code stream to obtain a first reconstructed mesh, including:

[0091] The encoding end decodes the first code stream to obtain a plurality of reconstructed sub-meshes.

[0092] The plurality of reconstructed sub-meshes are merged to obtain a first reconstructed mesh.

[0093] For example, the plurality of reconstructed sub-meshes are added to a new mesh to obtain a first reconstructed mesh.

[0094] In some embodiments, the first reconstructed grid includes one or more misaligned regions (or referred to as crack regions), which can be caused by loss of boundary points due to simplification, displacement of boundary points due to quantization, etc. The present application does not limit the causes of the misaligned regions. For example, the first reconstructed grid can be a decoded grid with misaligned regions as shown in FIG. 11. Figure 1c

[0095] Therefore, in the embodiments of the present application, the target region identification information can be acquired by the encoding end to identify the misaligned regions between the reconstructed sub-grids, and the target region identification information is encoded and provided to the decoding end. Thus, the decoding end can identify the misaligned regions between the reconstructed sub-grids after decoding the target region identification information, and further perform post-processing, such as filling or connection processing, on the misaligned regions, so as to improve the reconstruction quality of the decoded grid.

[0096] It should be understood that the present application does not limit the identification method of the misaligned regions, and the identification method of the misaligned regions will be described in combination with specific embodiments below, but the present application is not limited thereto.

[0097] Method 1: using distance threshold between boundary points to represent

[0098] In some embodiments, the target region identification information includes a distance threshold corresponding to each boundary point in the misaligned region. The distance threshold of each boundary point can be considered as a distance threshold that needs to be met between the two boundary points when the two boundary points are combined (or stitched).

[0099] Optionally, when the distance between two boundary points located in different reconstructed sub-grids is less than or equal to the distance threshold corresponding to one of the boundary points, it can be considered that the two boundary points are in the same misaligned region, or the two boundary points are matched, that is, it can be considered that the two boundary points are the same boundary point before the sub-grid is divided, and the boundary point is offset to two boundary points due to quantization. Therefore, when the reconstructed sub-grid is reconstructed, the two boundary points can be aligned, or the two boundary points can be combined into one boundary point.

[0100] Method 2: using index matching information of boundary points to represent

[0101] In some embodiments, the index matching information of the boundary points can be used by the decoding end to determine whether two boundary points are the same boundary point before the sub-grid is divided.

[0102] ​Optionally, the index matching information of the boundary point can include, but is not limited to, a global index of the boundary point, that is, the global index of the boundary point can be used to uniquely identify the boundary point in the three-dimensional grid.

[0103] In some embodiments, the target region identification information includes a global index corresponding to each boundary point in the plurality of reconstructed sub-grids. That is, for mode 2, a corresponding global index can be carried for each boundary point in the reconstructed sub-grid, which is used to determine whether different boundary points are the same boundary point before division.

[0104] When two boundary points located in different reconstructed sub-grids have the same global index, it can be considered that the two boundary points are in the same non-aligned region, or the two boundary points match, that is, it can be considered that the two boundary points are the same boundary point before the sub-grid is divided, and the boundary point is offset to two boundary points due to quantization. Therefore, when the reconstructed sub-grid is reconstructed, the two boundary points can be aligned, or the two boundary points can be merged into one boundary point.

[0105] Mode 3: Using boundary points of non-aligned regions

[0106] In some embodiments, the target region identification information can include boundary point information of the non-aligned region.

[0107] In some embodiments, the target region identification information includes, but is not limited to, at least one of the following:

[0108] The start point information of the non-aligned region;

[0109] The end point information of the non-aligned region;

[0110] The sequence information of the non-aligned region.

[0111] Optionally, the target region identification information can not include end point information, in which case the start point of the non-aligned region is considered as the end point.

[0112] Optionally, the target region identification information can also not include sequence information, for example, a default sequence such as clockwise or counterclockwise is used.

[0113] Optionally, the start point information of the non-aligned region includes index information of the starting boundary point of the non-aligned region, for example, the index information of the starting boundary point can include a local index of the starting boundary point in the reconstructed sub-grid and an index of the reconstructed sub-grid where the starting boundary point is located; or, the start point information of the non-aligned region includes coordinate information of the starting boundary point of the non-aligned region, for example, three-dimensional coordinates.

[0114] Optionally, the end point information of the non-aligned region comprises index information of a terminal boundary point of the non-aligned region, for example, the index information of the terminal boundary point can comprise a local index of the terminal boundary point in the reconstructed sub-mesh and an index of the reconstructed sub-mesh where the terminal boundary point is located; or, the end point information of the non-aligned region comprises coordinate information of a terminal boundary point of the non-aligned region, for example, three-dimensional coordinates.

[0115] Optionally, the sequence information of the non-aligned region can be used to represent the traversal sequence from the starting boundary point to the terminal boundary point.

[0116] As an example, a rotational direction representation from the starting boundary point to the terminal boundary point can be adopted, such as clockwise or counterclockwise.

[0117] As another example, the traversal sequence from the starting boundary point to the terminal boundary point can be represented by a next boundary point of the starting boundary point, for example, represented by index information or coordinate information of the next boundary point, wherein the index information can be a global index of the next boundary point in the corresponding reconstructed sub-mesh.

[0118] As yet another example, the traversal sequence from the starting boundary point to the terminal boundary point can be represented by a previous boundary point of the terminal boundary point, for example, represented by index information or coordinate information of the previous boundary point, wherein the index information can be a global index of the previous boundary point in the corresponding reconstructed sub-mesh.

[0119] Optionally, when the target region identification information is represented as the start point information, the end point information and the sequence information of the non-aligned region, the non-aligned region can be considered as a region starting from the starting boundary point indicated by the start point information, traversing along the boundary edges (boundary edges shared by only one triangle) of the reconstructed sub-mesh according to the traversal sequence indicated by the sequence information, and ending at the terminal boundary point indicated by the end point information.

[0120] In some embodiments, the encoding end obtains the target region identification information according to the first reconstructed mesh, comprising:

[0121] The encoding end performs boundary identification on the first reconstructed mesh to obtain a plurality of target boundary edges in the first reconstructed mesh, wherein the plurality of target boundary edges are boundary edges of the non-aligned region.

[0122] According to the plurality of target boundary edges in the first reconstructed mesh, the target region identification information is obtained.

[0123] It should be noted that the application does not limit the identification method of the non-aligned region, and the following provided identification methods are only examples, but the application is not limited thereto.

[0124] In some embodiments, the encoding end performing boundary identification on the first reconstructed mesh can include:

[0125] counting the shared triangles in the first reconstructed sub-mesh to determine a plurality of boundary edges in the first reconstructed sub-mesh, wherein a boundary edge is an edge shared by one triangle, and an edge shared by two triangles can be considered as an internal edge;

[0126] eliminating the boundary edges of the three-dimensional mesh from the plurality of boundary edges to obtain a plurality of target boundary edges, wherein the target boundary edges can be considered as the boundary edges of the misaligned region due to the sub-mesh division.

[0127] Optionally, the encoding end can eliminate the boundary edges of the original three-dimensional mesh according to the spatial coordinates of the plurality of boundary edges and the division axes used in the sub-mesh division, and the remaining boundary edges are the boundary edges of the misaligned region.

[0128] In some embodiments, for the aforementioned manner 1, the obtaining of the target region identification information according to the plurality of target boundary edges in the first reconstructed mesh includes:

[0129] obtaining the distance between a first boundary point on a first target boundary edge and a second boundary point on another target boundary edge, wherein the first boundary point and the second boundary point belong to different reconstructed sub-meshes;

[0130] selecting the minimum distance between the first boundary point and the second boundary point as the distance threshold corresponding to the first boundary point.

[0131] For example, if the first reconstructed mesh is as shown in FIG. 2A, the target boundary edges are as shown in FIG. 2B, and the distance threshold corresponding to the first boundary point is as shown in FIG. 2C. Figure 1cAs shown, the determined multiple target boundary edges can include a boundary edge (denoted as target boundary edge 1) connecting the boundary points with index 1 and index 4 in the reconstructed sub-grid 1, a boundary edge (denoted as target boundary edge 2) connecting the boundary points with index 1 and index 2 in the reconstructed sub-grid 2, and a boundary edge (denoted as target boundary edge 3) connecting the boundary points with index 2 and index 4 in the reconstructed sub-grid 2. Then, the distance threshold corresponding to the boundary point with index 1 in the reconstructed sub-grid 1 can be determined, and the distance threshold corresponding to the boundary points with index 1, index 2 and index 4 in the reconstructed sub-grid 2 can be determined. The determination of the distance threshold corresponding to the boundary point with index 1 in the reconstructed sub-grid 1 is described as an example. For example, the encoder can calculate the distance between the boundary point with index 1 in the reconstructed sub-grid 1 and the boundary points on the target boundary points in the reconstructed sub-grid 2, for example, the distance between the two points is calculated according to the three-dimensional coordinates of the boundary points. Specifically, the distance between the boundary point with index 1 in the reconstructed sub-grid 1 and the boundary point with index 1 in the reconstructed sub-grid 2 (denoted as first distance), the distance between the boundary point with index 1 in the reconstructed sub-grid 1 and the boundary point with index 2 in the reconstructed sub-grid 2 (denoted as second distance), and the distance between the boundary point with index 1 in the reconstructed sub-grid 1 and the boundary point with index 4 in the reconstructed sub-grid 2 (denoted as third distance) are calculated. Then, the minimum distance (i.e. the third distance) among the first distance, the second distance and the third distance is selected as the distance threshold corresponding to the boundary point with index 1 in the reconstructed sub-grid 1. When the decoder obtains the distance threshold corresponding to the boundary point with index 1 in the reconstructed sub-grid 1 as the third distance, the decoder can determine whether the two boundary points are in the same non-aligned region or are the same boundary point by determining whether the distance between the boundary point with index 1 in the reconstructed sub-grid 1 and the boundary point in the other reconstructed sub-grid is less than or equal to the third distance. For example, when the distance between the two points is less than or equal to the third distance, it can be determined that the two boundary points are in the same non-aligned region or are the same boundary point.

[0132] In some embodiments, for the aforementioned manner 3, the target region identification information is obtained according to the multiple target boundary edges in the first reconstructed grid, including:

[0133] The start point information, the end point information and the sequence information of the non-aligned region are obtained by traversing each boundary point on the multiple target boundary edges;

[0134] The start point information, the end point information and the sequence information of the non-aligned region are obtained by traversing each boundary point on the multiple target boundary edges;

[0135] For example, if the first reconstructed grid is as shown in FIG. 6A, the target region identification information can be obtained according to the target boundary edges in the first reconstructed grid. Figure 1cAs shown, if the determined multiple target boundary edges include a boundary edge (denoted as target boundary edge 1) connecting the boundary points with index 1 and index 4 in the reconstructed sub-grid 1, a boundary edge (denoted as target boundary edge 2) connecting the boundary points with index 1 and index 2 in the reconstructed sub-grid 2, and a boundary edge (denoted as target boundary edge 3) connecting the boundary points with index 2 and index 4 in the reconstructed sub-grid 2, the non-aligned region can be composed of the boundary point with index 1 in the reconstructed sub-grid 1, the boundary point with index 1 in the reconstructed sub-grid 2, the boundary point with index 2 in the reconstructed sub-grid 2, the boundary point with index 4 in the reconstructed sub-grid 2, and the boundary point with index 4 in the reconstructed sub-grid 1, the start point information of the non-aligned region can be the index information (e.g., including the reconstructed sub-grid index 1 and the local index 1) corresponding to the boundary point with index 1 in the reconstructed sub-grid 1, the end point information of the non-aligned region can be the index information (e.g., including the reconstructed sub-grid index 1 and the local index 4) corresponding to the boundary point with index 4 in the reconstructed sub-grid 1, and the sequence information of the non-aligned region can be the index information (e.g., including the reconstructed sub-grid index 2 and the local index 2) corresponding to the boundary point with index 2 in the reconstructed sub-grid 2.

[0136] In some embodiments, for the aforementioned manner 2, the target region identification information is obtained according to the multiple target boundary edges in the first reconstructed grid, including:

[0137] obtaining a global index corresponding to each boundary point in the multiple reconstructed sub-grids;

[0138] taking the global index corresponding to each boundary point in the multiple reconstructed sub-grids as the target region identification information.

[0139] For example, if the first reconstructed grid is as shown in Figure 1c The encoding end can obtain the global index (e.g., global index 1, 4 and 5) corresponding to each boundary point in the reconstructed sub-grid 1, and the global index (e.g., global index 0, 1, 2, 3 and 4) corresponding to each boundary point in the reconstructed sub-grid 2, so that the decoding end can determine whether two boundary points in different reconstructed sub-grids are the same boundary point before the division sub-grid by comparing whether the global indexes of the two boundary points are the same.

[0140] In some embodiments, the encoding end can also indicate to the decoding end whether to use the target region identification information to identify the non-aligned region and / or the representation manner of using the target region identification information to identify the non-aligned region.

[0141] For example, the first indication information is indicated by a first indication information. Optionally, the first indication information can occupy N bits, and different values of the N bits are used to indicate whether the encoding end uses the target region identification information to identify the non-aligned region and / or the representation manner of using the target region identification information to identify the non-aligned region.

[0142] Optionally, the first indication information with a value of 0 indicates that the encoding end does not use the target region identification information to identify the non-aligned region, that is, the target region identification information code stream is not included in the second code stream.

[0143] Optionally, the first indication information with a value of 1 indicates that the encoding end uses the first manner to identify the non-aligned region, for example, the target region identification information includes a distance threshold corresponding to each boundary point in the non-aligned region.

[0144] Optionally, the first indication information with a value of 2 indicates that the encoding end uses the second manner to identify the non-aligned region, for example, the target region identification information includes a global index corresponding to each boundary point in a plurality of reconstruction sub-grids.

[0145] Optionally, the first indication information with a value of 3 indicates that the encoding end uses the third manner to identify the non-aligned region, for example, the target region identification information includes start point information of the non-aligned region, end point information of the non-aligned region, and sequence information of the non-aligned region.

[0146] It should be noted that the encoding manner of the target region identification information is not limited in the present application, for example, entropy encoding or algorithm encoding can be used.

[0147] In some embodiments, the encoding end can encode the first indication information and the target region identification information to obtain the second code stream, so that the decoding end can obtain the first indication information and the target region identification information by decoding the second code stream, and the decoding end can obtain the non-aligned region information according to the representation manner indicated by the first indication information and the target region identification information by using the corresponding region identification manner.

[0148] It should be noted that the encoding manner of the first indication information is not limited in the present application, for example, entropy encoding or algorithm encoding can be used.

[0149] In some embodiments, the encoding end generates a target code stream based on the first code stream and the second code stream.

[0150] The encoding end mixes the first code stream and the second code stream to generate a target code stream.

[0151] Optionally, if the three-dimensional grid further includes a texture map, the method 200 further includes:

[0152] The encoding end encodes the texture map to obtain a third code stream.

[0153] Further, the encoding end generates a target code stream based on the first code stream and the second code stream, which can include:

[0154] The encoding end generates a code stream based on the first code stream, the second code stream and the third code stream.

[0155] For example, the first code stream, the second code stream and the third code stream are mixed to generate a target code stream.

[0156] Figure 3 An encoding framework provided by the embodiments of the present application is shown, and the encoding end can perform an encoding process in the encoding framework. Figure 3 The encoding framework can include a sub-grid encoding process, a target region identification information encoding process, and optionally, a texture map encoding process. In the sub-grid encoding process, a plurality of sub-grids of a three-dimensional grid can be encoded to obtain a sub-grid code stream (i.e., the first code stream). In the target region identification information encoding process, target region identification information can be encoded to obtain a target region identification information code stream (i.e., the second code stream). In the texture map encoding process, a texture map of the three-dimensional grid can be encoded to obtain a texture map code stream (i.e., the third code stream).

[0157] For the sub-grid encoding process, the encoding end performs the following process:

[0158] 1. Sub-grid division: The input of this process is a three-dimensional grid, and the output is a plurality of divided sub-grids.

[0159] For example, the three-dimensional grid can be divided into a plurality of sub-grids based on the bounding box division method. For details of the division method, reference can be made to the related description of the foregoing embodiments, which will not be described here again for brevity. Alternatively, other division methods can also be used, which are not limited in the present application.

[0160] 2. Sub-grid compression (or sub-grid encoding): The input of this process is the plurality of divided sub-grids, and the output is a sub-grid code stream. For example, in this process, the encoding end can encode the connection information, the geometry information and the attribute information respectively to obtain a connection information code stream, a geometry information code stream and an attribute information code stream, and further mix the connection information code stream, the geometry information code stream and the attribute information code stream to obtain the sub-grid code stream.

[0161] Alternatively, the encoding end can encode the sub-grid based on the Edgebeaker encoding method to obtain the sub-grid code stream, Figure 4 An Edgebeaker-based three-dimensional grid encoding framework is shown. As shown in Figure 4As shown, the encoding end can first split the non-manifold structure in the input sub-grid to obtain a manifold structure, then encode the connection information, geometry information and attribute information of the manifold structure to obtain a connection information code stream, a geometry information code stream and an attribute information code stream, and then perform mixed flow processing to obtain a sub-grid code stream.

[0162] For connection information encoding, the encoding end can be based on the encoding method of Edgebeaker. For details, refer to the related description of the foregoing embodiments, which will not be repeated here for brevity.

[0163] Optionally, for geometry information encoding, the encoding end can use a conventional encoding algorithm, such as a difference prediction encoding algorithm, a parallelogram prediction encoding algorithm, etc. For example, the encoding end can use multiple encoding algorithms such as a difference prediction encoding algorithm, a parallelogram prediction encoding algorithm, etc. to encode the geometry information according to the encoding order of the connection information to obtain a geometry information code stream.

[0164] Optionally, the attribute information of the three-dimensional grid generally includes texture coordinates, normal vectors, etc. Taking the texture coordinates as an example. For texture coordinates, the encoding end can use a conventional encoding algorithm, such as a difference prediction encoding algorithm, a parallelogram prediction encoding algorithm, a similar triangle prediction encoding algorithm, etc. For example, the encoding end can use multiple encoding algorithms such as a difference prediction encoding algorithm, a parallelogram prediction encoding algorithm, and a similar triangle prediction encoding algorithm, etc. to encode the attribute information according to the encoding order of the connection information to obtain an attribute information code stream.

[0165] For the target region identification information encoding process, the encoding end performs the following procedure:

[0166] 1. Crack region identification (or non-aligned region identification)

[0167] The input of this procedure is the reconstructed grid, and the output is the target target region identification information

[0168] Before performing the crack region identification, the encoding end first decodes the sub-grid code stream to obtain a first reconstructed grid, wherein the first reconstructed grid includes a plurality of merged reconstructed sub-grids. The crack region is identified based on the first reconstructed grid. For details, refer to the related description of the foregoing embodiments, which will not be repeated here for brevity.

[0169] 2. Target region identification information encoding (or target region identification information compression)

[0170] The input of this procedure is the target region identification information, and the output is a target region identification information code stream.

[0171] It should be noted that the encoding method of the target region identification information is not limited in the present application. For example, entropy encoding or algorithm encoding can be used.

[0172] Optionally, in the process, the encoding end can also encode the first indication information to obtain a first indication information code stream, and further mix the target region identification information code stream and the first indication information code stream to obtain a second code stream.

[0173] For the texture map encoding process, the encoding end performs the following process:

[0174] The input of the process is a texture map of a three-dimensional mesh, and the output is a texture map code stream.

[0175] In summary, in the embodiments of the present application, the encoding end can reconstruct a mesh based on the first code stream (sub-mesh code stream), then obtain target region identification information for identifying non-aligned regions between the reconstructed sub-meshes based on the reconstructed mesh, and encode the target region identification information to obtain a second code stream, and generate a target code stream based on the first code stream and the second code stream and send it to the decoding end, so that the decoding end can obtain the reconstructed mesh and the target region identification information by decoding the target code stream, and then identify the non-aligned regions in the reconstructed mesh based on the target region identification information, which can be used for post-processing of the reconstructed mesh to improve the reconstruction performance of the mesh.

[0176] Figure 5 is a schematic flowchart of a decoding method provided by an embodiment of the present application, as shown in Figure 5 the decoding method 500 includes at least some of the following steps:

[0177] S501, the decoding end obtains a target code stream corresponding to a three-dimensional mesh, wherein the three-dimensional mesh includes a plurality of sub-meshes;

[0178] S502, the decoding end decodes the target code stream to obtain a second reconstructed mesh and target region identification information, wherein the second reconstructed mesh includes a plurality of reconstructed sub-meshes, and the target region identification information is used to identify non-aligned regions between the plurality of reconstructed sub-meshes;

[0179] S503, the decoding end determines the non-aligned regions in the second reconstructed mesh according to the target region identification information.

[0180] It should be understood that in the embodiments of the present application, the decoding behavior of the decoding end and the encoding behavior of the encoding end correspond to each other, and similar descriptions can refer to the related descriptions of the encoding end.

[0181] In some embodiments, the decoding end obtaining a target code stream corresponding to a three-dimensional mesh can include:

[0182] The decoding end obtains a target code stream corresponding to a three-dimensional mesh from the encoding end.

[0183] In some embodiments, the decoding end decodes the target code stream to obtain the second reconstructed mesh and the target region identification information, including:

[0184] The decoding end decodes the target code stream to obtain the first code stream and the second code stream;

[0185] The decoding end decodes the first code stream to obtain the second reconstructed mesh;

[0186] The decoding end decodes the second code stream to obtain the target region identification information.

[0187] In some embodiments, the decoding end decodes the first code stream to obtain the second reconstructed mesh, including:

[0188] The first code stream is de-streamed to obtain a connection information code stream, a geometry information code stream and an attribute information code stream;

[0189] The connection information code stream is decoded to obtain connection information;

[0190] The geometry information code stream is decoded to obtain geometry information;

[0191] The attribute information code stream is decoded to obtain attribute information.

[0192] Optionally, for connection information decoding, the decoding end can first decode the connection information code stream to obtain a mode string, and then traverse the mode string in a specific order (e.g., forward order or reverse order) to reconstruct the connection relationship according to the mode corresponding to the mode string. Optionally, the decoding end can also input the decoding order of the connection information to the geometry information and attribute information decoding modules.

[0193] Optionally, for geometry information decoding, the decoding end can decode the geometry information code stream according to the decoding order of the connection information to obtain geometry information, for example, using the corresponding decoding method of the encoding end to decode the geometry information code stream.

[0194] Optionally, for attribute information decoding, the decoding end can decode the attribute information code stream according to the decoding order of the connection information to obtain attribute information, for example, using the corresponding decoding method of the encoding end to decode the attribute information code stream.

[0195] Further, the decoding end can reconstruct the manifold mesh according to the decoded connection information, geometry information and attribute information to obtain a reconstructed sub-mesh, and further merge multiple reconstructed sub-meshes to obtain the second reconstructed mesh, for example, adding the information of multiple reconstructed sub-meshes to a new mesh to obtain the second reconstructed mesh.

[0196] In some embodiments, the second reconstructed grid includes one or more non-aligned regions (or called crack regions). For example, the second reconstructed grid can be a decoded grid with non-aligned regions as shown in FIG. 4B. Figure 1c In some embodiments, the second reconstructed grid includes one or more non-aligned regions (or called crack regions). For example, the second reconstructed grid can be a decoded grid with non-aligned regions as shown in FIG. 4B.

[0197] It should be understood that in the embodiments of the present application, the implementation manner of the encoding end obtaining the first reconstructed grid based on the first code stream and the decoding end obtaining the second reconstructed grid based on the first code stream is the same, that is, the encoding end can use the same decoding manner as the decoding end to perform grid reconstruction, and then obtain the target region identification information based on the reconstructed grid, which can ensure the accuracy of the obtained non-aligned region information, and further ensure the accuracy of the non-aligned region information obtained by the decoding end, and ensure the reconstruction quality of the decoded grid.

[0198] In some embodiments, the decoding end decodes the second code stream, and the method further includes:

[0199] The decoding end decodes the second code stream to obtain first indication information.

[0200] The first indication information is used to indicate whether the target region identification information is used to identify the non-aligned region and / or the representation manner of using the target region identification information to identify the non-aligned region. The specific implementation of the first indication information is described in the related description of the encoding end, and is not repeated here for brevity.

[0201] In some embodiments, the decoding end can identify the crack region according to the representation manner indicated by the first indication information, and the specific implementation is described below.

[0202] It should be understood that the specific implementation of the target region identification information is described in the related description of the encoding end, and is not repeated here for brevity.

[0203] In the following, the identification manner of the non-aligned region is described in combination with the specific implementation of the target region identification information.

[0204] Manner 1: using distance threshold value between boundary points to represent

[0205] Optionally, in the manner 1, the target region identification information includes a distance threshold value corresponding to each boundary point in the non-aligned region.

[0206] In this case, the decoding end determines the non-aligned region in the second reconstructed grid according to the target region identification information, including:

[0207] The decoding end traverses all boundary points in the plurality of reconstructed sub-grids, and determines a plurality of target boundary points corresponding to the non-aligned region according to the distance threshold value corresponding to each boundary point.

[0208] The decoding end determines the non-aligned region according to the plurality of target boundary points.

[0209] For example, the plurality of reconstructed sub-grids include a first reconstructed sub-grid, and the first reconstructed sub-grid includes a first boundary point. According to a distance threshold corresponding to the first boundary point, a boundary point in other reconstructed sub-grids that matches the first boundary point, or a boundary point in the same non-aligned region as the first boundary point, can be determined.

[0210] Optionally, if the distance between the first boundary point and a second boundary point is less than the distance threshold corresponding to the first boundary point, the decoding end determines that the first boundary point and the second boundary point are target boundary points corresponding to the same non-aligned region, wherein the second boundary point and the first boundary point belong to different reconstructed sub-grids. When all boundary points are traversed, one or more non-aligned regions can be obtained.

[0211] For example, if the second reconstructed grid is as shown in FIG. 2B, the target region identification information includes a distance threshold corresponding to the boundary point with index 1 in the first reconstructed sub-grid, that is, a third distance, and can also include distance thresholds corresponding to other boundary points. Here, the third distance is taken as an example for illustration. The decoding end can traverse all boundary points in the second reconstructed sub-grid, determine the distance between each boundary point in the second reconstructed sub-grid and the boundary point with index 1 in the first reconstructed sub-grid, for example, determine the distance between the two points according to the three-dimensional coordinates of the boundary points, and if the distance between the boundary point with index 1 in the second reconstructed sub-grid and the boundary point with index 1 in the first reconstructed sub-grid is less than or equal to the third distance, it can be determined that the boundary point with index 1 in the second reconstructed sub-grid matches the boundary point with index 1 in the first reconstructed sub-grid, that is, the two boundary points belong to the same non-aligned region, or the two boundary points are the same boundary point before the sub-grids are divided, and further, when the reconstructed sub-grids are merged, the decoding end can align the two boundary points. Figure 1c Method 2: Using index matching information of boundary points to represent

[0212] Optionally, in the method 2, the target region identification information includes a global index corresponding to each boundary point in the plurality of reconstructed sub-grids, wherein the global index is the index of the boundary point in the three-dimensional grid.

[0213] In this case, the decoding end can determine the matching boundary point in the reconstructed sub-grid, or the boundary point in the same non-aligned region, through the global index of the boundary point.

[0214] In some embodiments, the decoding end determines the non-aligned region in the second reconstructed grid according to the target region identification information, including:

[0215]

[0216] ​The decoding end traverses all boundary points in the multiple reconstructed sub-grids to determine multiple target boundary points with the same global index;

[0217] The decoding end determines the non-aligned area according to the multiple target boundary points.

[0218] For example, if the second reconstructed mesh is Figure 1c As shown, each boundary point in the reconstructed subgrid can correspond to a global index. Reconstructed subgrid 1 can include three boundary points, corresponding to global indexes 5, 1, and 4 respectively; reconstructed subgrid 2 can include five boundary points, corresponding to global indexes 1, 0, 3, 4, and 2 respectively. The decoding end can then traverse all boundary points in multiple reconstructed subgrids to determine boundary points with the same global index in different reconstructed subgrids. For example, the boundary point with a global index of 1 in reconstructed subgrid 1 and the boundary point with a global index of 1 in reconstructed subgrid 2 are matching boundary points and are located in the same non-aligned area. The boundary point with a global index of 4 in reconstructed subgrid 1 and the boundary point with a global index of 4 in reconstructed subgrid 2 are matching boundary points and are located in the same non-aligned area. After traversing all boundary points in multiple reconstructed subgrids and obtaining the boundary points that match each boundary point, the non-aligned area information can be obtained. For example, in this example, the boundary point with a global index of 1 in the reconstructed sub-grid 1 and the boundary point with a global index of 1 in the reconstructed sub-grid 2 can be merged into the same boundary point (recorded as target boundary point 1), and the boundary point with a global index of 4 in the reconstructed sub-grid 1 and the boundary point with a global index of 4 in the reconstructed sub-grid 2 can be merged into the same boundary point (recorded as target boundary point 2), so that the non-aligned area can be obtained as the area composed of the target boundary point 1, the target boundary point 2 and the boundary point with a global index of 2 in the reconstructed sub-grid 2.

[0219] Method 3: Using boundary points of non-aligned areas

[0220] Optionally, in mode 3, the target area identification information includes at least one of the following:

[0221] Starting point information of the non-aligned area;

[0222] End point information of the non-aligned area;

[0223] Sequence information of the non-aligned regions.

[0224] Optionally, the starting point information of the non-aligned area includes index information or coordinate information of a starting boundary point of the non-aligned area.

[0225] Optionally, the endpoint information of the non-aligned area includes index information or coordinate information of a termination boundary point of the non-aligned area.

[0226] Optionally, the order information of the non-aligned region comprises index information or coordinate information of the next boundary point of the starting boundary point.

[0227] In some embodiments, the decoding end determines the non-aligned region in the second reconstructed mesh according to the target region identification information, comprising:

[0228] The decoding end traverses along the boundary edges (i.e. edges shared by only one triangle) of the second reconstructed mesh from the starting boundary point to the ending boundary point according to the traversal order from the starting boundary point to the next boundary point, to obtain the non-aligned region.

[0229] For example, if the second reconstructed mesh is as shown in Figure 1c The starting point information of the non-aligned region is the index information (e.g. comprising the reconstructed sub-mesh index 1 and the local index 1) corresponding to the boundary point with index 1 in the reconstructed sub-mesh 1, the ending point information of the non-aligned region can be the index information (e.g. comprising the reconstructed sub-mesh index 1 and the local index 4) corresponding to the boundary point with index 4 in the reconstructed sub-mesh 1, and the order information of the non-aligned region can be the index information (e.g. comprising the reconstructed sub-mesh index 2 and the local index 2) corresponding to the boundary point with index 2 in the reconstructed sub-mesh 2. The decoding end can start traversing along the boundary edges of the second reconstructed mesh from the boundary point corresponding to the local index 1 in the reconstructed sub-mesh 1, i.e. the starting point is the boundary point corresponding to the local index 1 in the reconstructed sub-mesh 1, and the next boundary point is the boundary point with local index 2 in the reconstructed sub-mesh 2. The traversed boundary points or boundary edges are the boundary points or boundary edges of the non-aligned region. When the ending point of the non-aligned region, i.e. the boundary point with index 4 in the reconstructed sub-mesh 1, is reached, the complete boundary points or boundary edges of the non-aligned region are considered to be obtained, thereby obtaining the non-aligned region information.

[0230] In some embodiments of the present application, the method 500 further comprises:

[0231] The decoding end processes the non-aligned region in the second reconstructed mesh, for example, performs filling or connection processing, to obtain a target reconstructed mesh, which can be considered as a reconstructed mesh without cracks.

[0232] Figure 6 A decoding framework provided by an embodiment of the present application is shown, and the decoding end can perform Figure 6The decoding process in . Among them, the above-mentioned decoding framework may include a sub-grid decoding process, a target area identification information decoding process, and optionally, a texture map decoding process. In the sub-grid decoding process, the sub-grid code stream (i.e., the first code stream) can be decoded and merged to obtain a second reconstructed grid. In the target area identification information decoding process, the target area identification information code stream (i.e., the second code stream) can be decoded to obtain the target area identification information. In the texture map decoding process, the texture map code stream (i.e., the third code stream) can be decoded to obtain a texture map of the three-dimensional grid.

[0233] For the sub-grid decoding process, the decoding end performs the following process:

[0234] 1. Subgrid decoding: This process takes as input the subgrid bitstream and outputs a reconstructed subgrid. For example, in this process, the decoder can decode the connection information bitstream, geometry information bitstream, and attribute information bitstream separately to obtain connection information, geometry information, and attribute information, and then reconstruct the subgrid based on the connection information, geometry information, and attribute information.

[0235] Optionally, the decoding end can decode the sub-grid code stream based on the Edgebeaker decoding method to obtain the reconstructed sub-grid. Figure 7 A 3D mesh decoding framework based on Edgebeaker is shown. Figure 7 As shown, the decoding end can first decode the sub-grid code stream to obtain a connection information code stream, a geometry information code stream, and an attribute information code stream. Then, the connection information code stream, the geometry information code stream, and the attribute information code stream can be decoded to obtain the connection information, geometry information, and attribute information. The manifold structure is then reconstructed based on the connection information, geometry information, and attribute information to obtain a reconstructed sub-grid. For the sake of brevity, the specific process is described in the previous embodiment and will not be repeated here.

[0236] 2. Subgrid merging: The input of this process is the reconstructed subgrid, and the output is the reconstructed grid, such as the decoded grid with non-aligned areas.

[0237] For example, in this process, the decoding end may add information of each reconstructed sub-grid obtained by decoding to a new grid to obtain a decoded grid with non-aligned areas.

[0238] For the target area identification information decoding process, the decoding end performs the following process:

[0239] 1. Target area identification information decoding

[0240] The input of this process is the target area identification information code stream, and the output is the target area identification information.

[0241] For example, the decoding end can decode the target region identification information code stream in a decoding manner corresponding to the encoding end to obtain the target region identification information.

[0242] Optionally, in the procedure, the decoding end can also decode the first indication information code stream to obtain the first indication information, and further acquire the crack region information in a corresponding manner according to the representation manner indicated by the first indication information.

[0243] 2. Crack region identification (or non-aligned region identification)

[0244] The input of the procedure is target region identification information, and the output is non-aligned region information.

[0245] For example, the target region identification information is represented by a distance threshold between boundary points. In this case, the decoding end can traverse all boundary points in the plurality of reconstructed sub-meshes obtained by decoding, determine a plurality of target boundary points corresponding to the non-aligned region according to the distance threshold corresponding to each boundary point, and then determine the non-aligned region according to the plurality of target boundary points.

[0246] For another example, the target region identification information is represented by index matching information (such as global index) of boundary points. In this case, the decoding end traverses all boundary points in the plurality of reconstructed sub-meshes to determine a plurality of target boundary points having the same global index, and determines the non-aligned region according to the plurality of target boundary points.

[0247] For another example, the target region identification information is represented by boundary points of the non-aligned region, such as a starting boundary point, a terminal boundary point, and an order (such as the next boundary point of the starting boundary point). In this case, the decoding end can start from the starting boundary point, traverse the second reconstructed mesh along the boundary edge (i.e., the edge shared by only one triangle) in the traversal order from the starting boundary point to the next boundary point, and end at the terminal boundary point to obtain the non-aligned region.

[0248] For the texture map decoding procedure, the decoding end performs the following procedure:

[0249] The input of the procedure is a texture map code stream, and the output is a texture map of a three-dimensional mesh.

[0250] In summary, in the embodiment of the present application, the encoding end can perform grid reconstruction based on the first code stream (sub-grid code stream), then obtain target region identification information for identifying non-aligned regions between the reconstructed sub-grids based on the reconstructed grid, and encode the target region identification information to obtain a second code stream. The target code stream is generated based on the first code stream and the second code stream and then sent to the decoding end. Thus, the decoding end can obtain the reconstructed grid and the target region identification information by decoding the target code stream, and then identify the non-aligned regions in the reconstructed grid based on the target region identification information. The non-aligned regions can be used for post-processing of the reconstructed grid to improve the grid reconstruction performance.

[0251] The encoding method provided in the embodiment of the present application can be executed by an encoding device. In the embodiment of the present application, the encoding method is executed by an encoding device to illustrate the encoding device provided in the embodiment of the present application.

[0252] Figure 8 A schematic block diagram of an encoding device 600 according to an embodiment of the present application is shown. As shown in the figure, the encoding device 600 includes: Figure 8

[0253] A first encoding module 610 is configured to encode a plurality of sub-grids of a three-dimensional grid to obtain a first code stream.

[0254] A decoding module 620 is configured to decode the first code stream to obtain a first reconstructed grid, where the first reconstructed grid includes a plurality of reconstructed sub-grids.

[0255] An obtaining module 630 is configured to obtain target region identification information from the first reconstructed grid, where the target region identification information is used to identify non-aligned regions between the plurality of reconstructed sub-grids.

[0256] A second encoding module 640 is configured to encode the target region identification information to obtain a second code stream.

[0257] A generating module 650 is configured to generate a target code stream based on the first code stream and the second code stream.

[0258] In some embodiments, the target region identification information includes a distance threshold corresponding to each boundary point in the non-aligned regions.

[0259] In some embodiments, the target region identification information includes a global index corresponding to each boundary point in the plurality of reconstructed sub-grids, where the global index is an index of the boundary point in the three-dimensional grid.

[0260] In some embodiments, the target region identification information includes at least one of the following:

[0261] start point information of the non-aligned regions.​

[0262] end point information of the misaligned region;

[0263] sequence information of the misaligned region.

[0264] In some embodiments, the start point information of the misaligned region comprises index information or coordinate information of a starting boundary point of the misaligned region; or

[0265] the end point information of the misaligned region comprises index information or coordinate information of a terminating boundary point of the misaligned region; or

[0266] the sequence information of the misaligned region comprises index information or coordinate information of a next boundary point of the starting boundary point.

[0267] In some embodiments, the obtaining module 630 is further configured to:

[0268] based on first indication information, obtain the target region identification information according to the first reconstructed mesh, wherein the first indication information is used to indicate whether the target region identification information is used to identify the misaligned region and / or a representation manner of the misaligned region identified by the target region identification information.

[0269] In some embodiments, the second encoding module 640 is further configured to:

[0270] encode the target region identification information and the first indication information to obtain the second code stream.

[0271] In some embodiments, the obtaining module 630 is further configured to:

[0272] perform boundary identification on the first reconstructed mesh to obtain a plurality of target boundary edges in the first reconstructed mesh, wherein the plurality of target boundary edges are boundary edges of the misaligned region;

[0273] obtain the target region identification information according to the plurality of target boundary edges in the first reconstructed mesh.

[0274] In some embodiments, the obtaining module 630 is further configured to:

[0275] perform boundary identification on the first reconstructed mesh to obtain the plurality of boundary edges;

[0276] remove boundary edges belonging to the three-dimensional mesh from the plurality of boundary edges to obtain the plurality of target boundary edges.

[0277] In some embodiments, the obtaining module 630 is further configured to:

[0278] acquire a distance between a first boundary point on a first target boundary edge and a second boundary point on another target boundary edge in the plurality of target boundary edges, wherein the first boundary point and the second boundary point belong to different reconstructed sub-meshes;

[0279] select a minimum distance in the distances between the first boundary point and the second boundary point as a distance threshold corresponding to the first boundary point.

[0280] In some embodiments, the acquisition module 630 is further configured to:

[0281] acquire start point information, end point information and sequence information of the non-aligned region by traversing each boundary point on the plurality of target boundary edges;

[0282] use the start point information, the end point information and the sequence information of the non-aligned region as the target region identification information.

[0283] In some embodiments, the acquisition module 630 is further configured to:

[0284] acquire a global index corresponding to each boundary point in the plurality of reconstructed sub-meshes;

[0285] use the global index corresponding to each boundary point in the plurality of reconstructed sub-meshes as the target region identification information.

[0286] In some embodiments, the encoding apparatus 600 further includes:

[0287] a communication module configured to send the target code stream to a decoding end.

[0288] The decoding method provided in the embodiments of the present application can be performed by a decoding apparatus. In the embodiments of the present application, the decoding apparatus is taken as an example to illustrate the decoding apparatus provided in the embodiments of the present application.

[0289] Figure 9 A schematic block diagram of a decoding apparatus 700 according to an embodiment of the present application is shown. As shown in the figure, the decoding apparatus 700 includes: Figure 9

[0290] an acquisition module 710 configured to acquire a target code stream corresponding to a three-dimensional mesh, wherein the three-dimensional mesh includes a plurality of sub-meshes;

[0291] a decoding module 720 configured to decode the target code stream to acquire a second reconstructed mesh and target region identification information, wherein the second reconstructed mesh includes a plurality of reconstructed sub-meshes, and the target region identification information is used to identify a non-aligned region between the plurality of reconstructed sub-meshes;

[0292] ​The determining module 730 is configured to determine a non-aligned region in the second reconstruction grid according to the target region identification information.

[0293] In some embodiments, the target region identification information comprises a distance threshold corresponding to each boundary point in the non-aligned region.

[0294] In some embodiments, the determining module 730 is further configured to:

[0295] traverse all the boundary points in the plurality of reconstruction sub-grids, and determine a plurality of target boundary points corresponding to the non-aligned region according to a distance threshold corresponding to each boundary point;

[0296] determine the non-aligned region according to the plurality of target boundary points.

[0297] In some embodiments, the determining module 730 is further configured to:

[0298] If a distance between a first boundary point and a second boundary point in a first reconstruction sub-grid in the plurality of reconstruction sub-grids is less than a distance threshold corresponding to the first boundary point, it is determined that the first boundary point and the second boundary point are target boundary points corresponding to a same non-aligned region, wherein the second boundary point and the first boundary point belong to different reconstruction sub-grids.

[0299] In some embodiments, the target region identification information comprises a global index corresponding to each boundary point in the plurality of reconstruction sub-grids, wherein the global index is an index of the boundary point in the three-dimensional grid.

[0300] In some embodiments, the determining module 730 is further configured to:

[0301] traverse all the boundary points in the plurality of reconstruction sub-grids, and determine a plurality of target boundary points having a same global index;

[0302] determine the non-aligned region according to the plurality of target boundary points.

[0303] In some embodiments, the target region identification information comprises at least one of:

[0304] start point information of the non-aligned region;

[0305] end point information of the non-aligned region;

[0306] sequence information of the non-aligned region.

[0307] In some embodiments, the start point information of the non-aligned region comprises index information or coordinate information of a starting boundary point of the non-aligned region; or

[0308] The end point information of the non-aligned region comprises index information or coordinate information of a termination boundary point of the non-aligned region; or

[0309] The sequence information of the non-aligned region comprises index information or coordinate information of a next boundary point of the start boundary point.

[0310] In some embodiments, the determining module 730 is further configured to:

[0311] traverse along a boundary edge of the second reconstruction grid from the start boundary point to the termination boundary point in a traversal sequence from the start boundary point to the next boundary point, to obtain the non-aligned region.

[0312] In some embodiments, the decoding module 720 is further configured to:

[0313] decode the target bitstream to obtain a first bitstream and a second bitstream;

[0314] decode the first bitstream to obtain the second reconstruction grid;

[0315] decode the second bitstream to obtain the target region identification information.

[0316] In some embodiments, the decoding module 720 is further configured to:

[0317] decode the second bitstream to obtain first indication information;

[0318] The first indication information is used to indicate whether the non-aligned region is identified by the target region identification information or indicate a representation manner of identifying the non-aligned region by the target region identification information.

[0319] In some embodiments, the decoding apparatus 700 further comprises:

[0320] a processing module configured to perform filling or connection processing on the non-aligned region in the second reconstruction grid to obtain a target reconstruction grid.

[0321] To sum up, in the embodiments of the present application, the encoding apparatus can perform grid reconstruction based on the first bitstream (sub-grid bitstream), then obtain target region identification information for identifying non-aligned regions between reconstruction sub-grids based on the reconstruction grid, and encode the target region identification information to obtain a second bitstream, and generate a target bitstream based on the first bitstream and the second bitstream and send it to the decoding apparatus, so that the decoding apparatus can obtain the reconstruction grid and the target region identification information by decoding the target bitstream, and then identify the non-aligned region in the reconstruction grid based on the target region identification information. The non-aligned region can be used for post-processing of the reconstruction grid, to improve the reconstruction performance of the grid.

[0322] The encoding device and the decoding device provided by the embodiments of the present application can implement the various processes of the method embodiments and achieve the same technical effects. To avoid repetition, the various processes of the method embodiments will not be described here again. Figures 2 to 7 The encoding device and the decoding device provided by the embodiments of the present application can implement the various processes of the method embodiments and achieve the same technical effects. To avoid repetition, the various processes of the method embodiments will not be described here again.

[0323] As shown in Figure 10 , the embodiments of the present application also provide an electronic device 800, which includes a processor 801 and a memory 802, and the memory 802 stores programs or instructions executable on the processor 801. For example, when the electronic device 800 is an encoding end device, the programs or instructions are executed by the processor 801 to implement the various steps of the above-mentioned encoding method embodiments and achieve the same technical effects. When the electronic device 800 is a decoding end device, the programs or instructions are executed by the processor 801 to implement the various steps of the above-mentioned decoding method embodiments and achieve the same technical effects. To avoid repetition, the various steps of the method embodiments will not be described here again.

[0324] Optionally, the memory 802 can include any of various distributed or locally accessed data storage media such as hard drives, Blu-ray discs, Digital Versatile Discs (DVDs), Compact Disc Read-Only Memories (CD-ROMs), flash memories, volatile or non-volatile memories, or any other suitable digital storage media for storing three-dimensional mesh data.

[0325] Optionally, the processor 801 can implement the functions of the encoding end or the decoding end in the embodiments shown in Figures 2 to 7 .

[0326] The embodiments of the present application also provide an electronic device, which includes a memory configured to store three-dimensional mesh data, and a processing circuit configured to implement the various steps of the above-mentioned encoding method and decoding method embodiments.

[0327] The embodiments of the present application also provide an electronic device, which includes a processor and a communication interface, the communication interface and the processor are coupled, and the processor is used to run programs or instructions to implement the steps in the method embodiments shown in Figures 2 to 7 . The device embodiments correspond to the above-mentioned method embodiments, and the various implementation processes and implementation manners of the above-mentioned method embodiments can be applicable to the terminal embodiments and achieve the same technical effects.

[0328] The above-mentioned electronic device can be a terminal or other devices other than the terminal, such as a server, a Network Attached Storage (NAS), etc.

[0329] The terminal can be a mobile phone, a tablet personal computer, a laptop computer, a notebook computer, a personal digital assistant (PDA), a palm computer, a netbook, an ultra-mobile personal computer (UMPC), a mobile Internet device (MID), an augmented reality (AR) device, a virtual reality (VR) device, a mixed reality (MR) device, a robot, a wearable device, a flight vehicle, a vehicle user equipment (VUE), a shipboard device, a pedestrian user equipment (PUE), a smart home (a home device with a wireless communication function, such as a refrigerator, a television, a washing machine, or furniture), a game console, a personal computer (PC), a teller machine, or a self-service machine, and the like. The wearable device includes a smart watch, a smart bracelet, a smart earphone, smart glasses, smart jewelry (a smart bracelet, a smart necklace, a smart ring, a smart necklace, a smart ankle bracelet, a smart ankle chain, and the like), a smart wristband, smart clothing, and the like. The vehicle-mounted device can also be referred to as a vehicle-mounted terminal, a vehicle-mounted controller, a vehicle-mounted module, a vehicle-mounted component, a vehicle-mounted chip, or a vehicle-mounted unit, and the like. It should be noted that the specific type of the terminal is not limited in the embodiments of the present application.

[0330] The server can be a standalone physical server, a server cluster or a distributed system composed of multiple physical servers, or a cloud server. The cloud server can provide cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communication, middleware services, domain name services, security services, content delivery networks (CDNs), or cloud computing services based on big data and artificial intelligence platforms.

[0331] Taking an electronic device as an example, Figure 11 A hardware structure diagram of a terminal according to an embodiment of the present application is shown in FIG. 1.

[0332] The terminal 900 includes, but is not limited to, at least part of components such as a radio frequency unit 901, a network module 902, an audio output unit 903, an input unit 904, a sensor 905, a display unit 906, a user input unit 907, an interface unit 908, a memory 909, and a processor 910.

[0333] Those skilled in the art can understand that the terminal 900 can further include a power supply (such as a battery) for supplying power to each component, and the power supply can be logically connected to the processor 910 through a power management system, so as to realize functions such as management of charging, discharging, and power consumption management through the power management system. Figure 11 The terminal structure shown in the figure does not constitute a limitation on the terminal, and the terminal can include more or fewer components than those shown, or combine certain components, or different component arrangements, which are not described here.

[0334] It should be understood that in the embodiments of the present application, the input unit 904 can include a graphics processing unit (GPU) 9041 and a microphone 9042. The graphics processor 9041 processes image data of a still picture or a video obtained by an image acquisition device (such as a camera) in a video capture mode or an image capture mode, or can process obtained point cloud data or three-dimensional mesh data. The display unit 906 can include a display panel 9061, which can be configured in the form of a liquid crystal display, an organic light-emitting diode, etc. The user input unit 907 includes at least one of a touch panel 9071 and other input devices 9072. The touch panel 9071 is also called a touch screen. The touch panel 9071 can include two parts of a touch detection device and a touch controller. The other input devices 9072 can include, but are not limited to, a physical keyboard, function keys (such as volume control keys, on-off keys, etc.), trackballs, mice, joysticks, etc., which are not described here.

[0335] In the embodiments of the present application, the radio frequency unit 901 can transmit downlink data from the network side device to the processor 910 for processing after receiving the downlink data. In addition, the radio frequency unit 901 can send uplink data to the network side device. Generally, the radio frequency unit 901 includes, but is not limited to, an antenna, an amplifier, a transceiver, a coupler, a low noise amplifier, a duplexer, etc.

[0336] The memory 909 can be used to store software programs or instructions and various data. The memory 909 can mainly include a first storage area storing programs or instructions and a second storage area storing data, wherein the first storage area can store an operating system, application programs or instructions required by at least one function (such as a sound playing function, an image playing function, etc.), and the like. In addition, the memory 909 can include a volatile memory or a non-volatile memory. The non-volatile memory can be a Read-Only Memory (ROM), a Programmable ROM (PROM), an Erasable PROM (EPROM), an Electrically EPROM (EEPROM), or a flash memory. The volatile memory can be a Random Access Memory (RAM), a Static RAM (SRAM), a Dynamic RAM (DRAM), a Synchronous DRAM (SDRAM), a Double Data Rate SDRAM (DDR SDRAM), an Enhanced SDRAM (ESDRAM), a Synch link DRAM (SLDRAM), and a Direct Rambus RAM (DRRAM). The memory 909 in the embodiments of the present application includes but is not limited to these and any other suitable types of memory.

[0337] The processor 910 can include one or more processing units; optionally, the processor 910 integrates an application processor and a modem processor, wherein the application processor mainly processes operations related to an operating system, a user interface, and an application program, and the modem processor mainly processes wireless communication signals, such as a baseband processor. It can be understood that the above-mentioned modem processor can also not be integrated into the processor 910.

[0338] In some implementations, the processor 910 is configured to:

[0339] encode a plurality of sub-grids of a three-dimensional grid to obtain a first code stream;

[0340] decode the first code stream to obtain a first reconstructed grid, wherein the first reconstructed grid includes a plurality of reconstructed sub-grids;

[0341] According to the first reconstructed mesh, target region identification information is acquired, and the target region identification information is used to identify a misaligned region between the plurality of reconstructed sub-meshes.

[0342] The target region identification information is encoded to obtain a second code stream.

[0343] Based on the first code stream and the second code stream, a target code stream is generated.

[0344] It can be understood that the implementation processes of the implementation manners mentioned in the embodiments can refer to the related descriptions of the encoding method embodiments and achieve the same or corresponding technical effects. To avoid repetition, they will not be described here again.

[0345] In some other implementation manners, the processor 910 is configured to:

[0346] A target code stream corresponding to a three-dimensional mesh is acquired, and the three-dimensional mesh includes a plurality of sub-meshes.

[0347] The target code stream is decoded to obtain a second reconstructed mesh and target region identification information, the second reconstructed mesh includes a plurality of reconstructed sub-meshes, and the target region identification information is used to identify a misaligned region between the plurality of reconstructed sub-meshes.

[0348] According to the target region identification information, a misaligned region in the second reconstructed mesh is determined.

[0349] It can be understood that the implementation processes of the implementation manners mentioned in the embodiments can refer to the related descriptions of the decoding method embodiments and achieve the same or corresponding technical effects. To avoid repetition, they will not be described here again.

[0350] The embodiments of the present application also provide a readable storage medium, and the readable storage medium stores a program or instructions, and the program or instructions are executed by a processor to implement the processes of the above-mentioned Figures 2 to 7 method embodiments, and the same technical effects can be achieved. To avoid repetition, they will not be described here again.

[0351] The processor is the processor in the terminal in the above-mentioned embodiments. The readable storage medium includes a computer readable storage medium, such as a ROM, a RAM, a magnetic disk, or an optical disk. In some examples, the readable storage medium can be a non-transitory readable storage medium.

[0352] The embodiments of the present application also provide a chip, and the chip includes a processor and a communication interface. The communication interface is coupled with the processor, and the processor is configured to run a program or instructions to implement the processes of the above-mentioned Figures 2 to 7 method embodiments, and the same technical effects can be achieved. To avoid repetition, they will not be described here again.

[0353] It should be understood that the chip mentioned in the embodiments of the present application can include a system-level chip (also referred to as a system chip, a chip system or a system-on-chip chip), and can also include a standalone display chip and the like.

[0354] The embodiments of the present application further provide a computer program / program product stored in a storage medium, which is executed by at least one processor to implement various processes of the above-mentioned method embodiments and achieve the same technical effects. For the purpose of avoiding repetition, details are not described herein. Figures 2 to 7 The embodiments of the method can achieve the same technical effects. For the purpose of avoiding repetition, details are not described herein.

[0355] The embodiments of the present application further provide a coding system, which includes an encoding end device and a decoding end device. The encoding end device can be used to execute the steps of the encoding method as described above, and the decoding end device can be used to execute the steps of the decoding method as described above.

[0356] It should be noted that, in this document, the terms "comprising", "including", or any other variant thereof are intended to cover non-exclusive inclusion, so that processes, methods, articles or devices that include a series of elements not only include those elements, but also include other elements not explicitly listed, or further include elements inherent to such processes, methods, articles or devices. Without more limitations, the element defined by the statement "including a" does not exclude the presence of additional identical elements in the process, method, article or device including the element. In addition, it should be pointed out that the scope of the methods and devices in the embodiments of the present application is not limited to the order of performing functions as shown or discussed, and can also include performing functions in a substantially simultaneous manner or in reverse order according to the functions involved, for example, the described method can be performed in an order different from that described, and various steps can also be added, omitted or combined. In addition, the features described with reference to certain examples can be combined in other examples.

[0357] From the above description of the embodiments, those skilled in the art can clearly understand that the above-mentioned method embodiments can be realized by means of computer software product and general hardware platform, of course, also can be realized by hardware. The computer software product is stored in a storage medium (such as ROM, RAM, magnetic disc, optical disc, etc.), including a plurality of instructions, used to make the terminal or network side device execute the method described in each embodiment of the present application.

[0358] The embodiments of the present application are described above with reference to the accompanying drawings, but the present application is not limited to the above-described specific embodiments, and the above-described specific embodiments are merely illustrative, but not restrictive, and a person of ordinary skill in the art can make many forms of embodiments under the inspiration of the present application without departing from the purpose of the present application and the scope protected by the claims, and these embodiments all belong to the protection of the present application.

Claims

1. An encoding method characterized by comprising: The method comprises the following steps: The encoding end encodes a plurality of sub-grids of a three-dimensional grid to obtain a first code stream; The encoding end decodes the first code stream to obtain a first reconstructed grid, wherein the first reconstructed grid comprises a plurality of reconstructed sub-grids; The encoding end obtains target region identification information according to the first reconstructed grid, wherein the target region identification information is used to identify a non-aligned region between the plurality of reconstructed sub-grids; The encoding end encodes the target region identification information to obtain a second code stream; The encoding end generates a target code stream based on the first code stream and the second code stream.

2. The method of claim 1, wherein, The target region identification information comprises a distance threshold corresponding to each boundary point in the non-aligned region.

3. The method according to claim 1 or 2, characterized in that, The target region identification information comprises a global index corresponding to each boundary point in the plurality of reconstructed sub-grids, wherein the global index is an index of the boundary point in the three-dimensional grid.

4. The method according to any one of claims 1-3, characterized in that, The target region identification information comprises at least one of the following: start point information of the non-aligned region; end point information of the non-aligned region; sequence information of the non-aligned region.

5. The method of claim 4, wherein, The start point information of the non-aligned region comprises index information or coordinate information of a starting boundary point of the non-aligned region; or The end point information of the non-aligned region comprises index information or coordinate information of a terminal boundary point of the non-aligned region; or The sequence information of the non-aligned region comprises index information or coordinate information of a next boundary point of the starting boundary point.

6. The method according to any one of claims 1-5, characterized in that, The encoding end obtains target region identification information according to the first reconstructed grid, comprising: obtaining the target region identification information according to the first reconstructed grid based on first indication information, wherein the first indication information is used to indicate whether the target region identification information is used to identify the non-aligned region or indicate a representation manner of using the target region identification information to identify the non-aligned region.

7. The method of claim 6, wherein, The encoding end encodes the target region identification information to obtain a second code stream, comprising: encoding the target region identification information and the first indication information to obtain the second code stream.

8. The method according to any one of claims 1-7, characterized in that, The encoding end obtains target region identification information according to the first reconstructed grid, comprising: The encoding end performs boundary identification on the first reconstructed grid to obtain a plurality of target boundary edges in the first reconstructed grid, wherein the plurality of target boundary edges are boundary edges of the non-aligned region; obtaining the target region identification information according to the plurality of target boundary edges in the first reconstructed grid.

9. The method of claim 8, wherein, The encoding end performs boundary identification on the first reconstructed grid to obtain a plurality of target boundary edges in the first reconstructed grid, comprising: The encoding end performs boundary identification on the first reconstructed grid to obtain the plurality of boundary edges; The boundary edges belonging to the three-dimensional grid in the plurality of boundary edges are removed to obtain the plurality of target boundary edges.

10. The method according to claim 8 or 9, characterized in that, The target region identification information is obtained according to the plurality of target boundary edges in the first reconstructed grid, comprising: obtaining a distance between a first boundary point on a first target boundary edge and a second boundary point on another target boundary edge, wherein the first boundary point and the second boundary point belong to different reconstruction sub-grids; selecting a minimum distance in the distances between the first boundary point and the second boundary point as a distance threshold corresponding to the first boundary point.

11. The method according to claim 8 or 9, characterized in that, The target region identification information is obtained according to the plurality of target boundary edges in the first reconstruction grid, including: traversing each boundary point on the plurality of target boundary edges to obtain start point information, end point information and sequence information of the non-aligned region; the start point information, the end point information and the sequence information of the non-aligned region are taken as the target region identification information.

12. The method of any one of claims 1-7, wherein, The target region identification information is obtained according to the first reconstruction grid at the encoding end, including: obtaining a global index corresponding to each boundary point in the plurality of reconstruction sub-grids; the global index corresponding to each boundary point in the plurality of reconstruction sub-grids is taken as the target region identification information.

13. The method according to any one of claims 1-12, characterized in that, The method further includes: The encoding end sends the target code stream to the decoding end.

14. A decoding method, comprising: including: The decoding end obtains a target code stream corresponding to a three-dimensional grid, wherein the three-dimensional grid includes a plurality of sub-grids; The decoding end decodes the target code stream to obtain a second reconstruction grid and target region identification information, wherein the second reconstruction grid includes a plurality of reconstruction sub-grids, and the target region identification information is used to identify a non-aligned region between the plurality of reconstruction sub-grids; The decoding end determines the non-aligned region in the second reconstruction grid according to the target region identification information.

15. The method of claim 14, wherein, The target region identification information includes a distance threshold corresponding to each boundary point in the non-aligned region.

16. The method of claim 15, wherein, The decoding end determines the non-aligned region in the second reconstruction grid according to the target region identification information, including: The decoding end traverses all boundary points in the plurality of reconstruction sub-grids, and determines a plurality of target boundary points corresponding to the non-aligned region according to the distance threshold corresponding to each boundary point; The decoding end determines the non-aligned region according to the plurality of target boundary points.

17. The method of claim 16, wherein, The decoding end traverses all boundary points in the plurality of reconstruction sub-grids, and determines a plurality of boundary points corresponding to the non-aligned region according to the distance threshold corresponding to each boundary point, including: If the distance between a first boundary point and a second boundary point in a first reconstruction sub-grid in the plurality of reconstruction sub-grids is less than the distance threshold corresponding to the first boundary point, the decoding end determines that the first boundary point and the second boundary point are target boundary points corresponding to the same non-aligned region, wherein the second boundary point and the first boundary point belong to different reconstruction sub-grids.

18. The method of claim 14, wherein, The target region identification information includes a global index corresponding to each boundary point in the plurality of reconstruction sub-grids, wherein the global index is an index of the boundary point in the three-dimensional grid.

19. The method of claim 18, wherein, The decoding end determines the non-aligned region in the second reconstruction grid according to the target region identification information, including: The decoding end traverses all boundary points in the plurality of reconstruction sub-grids to determine a plurality of target boundary points with the same global index; The decoding end determines the non-aligned region according to the plurality of target boundary points.

20. The method according to any one of claims 14-19, characterized by, The target region identification information includes at least one of: start point information of the non-aligned region; end point information of the non-aligned region; sequence information of the non-aligned region.

21. The method of claim 20, wherein, The start point information of the non-aligned region includes index information or coordinate information of a starting boundary point of the non-aligned region; or The end point information of the non-aligned region includes index information or coordinate information of a terminating boundary point of the non-aligned region; or The sequence information of the non-aligned region includes index information or coordinate information of a next boundary point of the starting boundary point.

22. The method of claim 21, wherein, The decoding end determines the non-aligned region in the second reconstructed mesh according to the target region identification information, including: The decoding end traverses along the boundary edge of the second reconstructed mesh from the starting boundary point to the terminating boundary point in the traversal order from the starting boundary point to the next boundary point, to obtain the non-aligned region.

23. The method of any one of claims 14-22, wherein, The decoding end decodes the target code stream to obtain a second reconstructed mesh and target region identification information, including: The decoding end decodes the target code stream to obtain a first code stream and a second code stream; The decoding end decodes the first code stream to obtain the second reconstructed mesh; The decoding end decodes the second code stream to obtain the target region identification information.

24. The method of claim 23, wherein, The decoding end decoding the second code stream further includes: The decoding end decodes the second code stream to obtain first indication information; The first indication information is used to indicate whether the target region identification information is used to identify the non-aligned region or to indicate the representation manner of using the target region identification information to identify the non-aligned region.

25. The method of any one of claims 14-24, wherein, The method further includes: The decoding end fills or connects the non-aligned region in the second reconstructed mesh to obtain a target reconstructed mesh.

26. An encoding apparatus, comprising: including: A first encoding module, configured to encode a plurality of sub-meshes of a three-dimensional mesh to obtain a first code stream; A decoding module, configured to decode the first code stream to obtain a first reconstructed mesh, wherein the first reconstructed mesh includes a plurality of reconstructed sub-meshes; An obtaining module, configured to obtain target region identification information according to the first reconstructed mesh, the target region identification information being used to identify a non-aligned region between the plurality of reconstructed sub-meshes; A second encoding module, configured to encode the target region identification information to obtain a second code stream; A generating module, configured to generate a target code stream based on the first code stream and the second code stream.

27. The encoding device of claim 26, wherein, The target region identification information includes a distance threshold corresponding to each boundary point in the non-aligned region.

28. The encoding device of claim 26, wherein, The target region identification information includes a global index corresponding to each boundary point in the plurality of reconstructed sub-meshes, wherein the global index is an index of the boundary point in the three-dimensional mesh.

29. The encoding apparatus of any of claims 26-28, wherein, The target region identification information includes at least one of: start point information of the non-aligned region; end point information of the non-aligned region; sequence information of the non-aligned region.

30. A decoding apparatus, comprising: An acquisition module acquires a target code stream corresponding to a three-dimensional mesh, wherein the three-dimensional mesh comprises a plurality of sub-meshes; A decoding module decodes the target code stream to acquire a second reconstructed mesh and target region identification information, wherein the second reconstructed mesh comprises a plurality of reconstructed sub-meshes, and the target region identification information is used to identify a misaligned region between the plurality of reconstructed sub-meshes. A determination module determines the misaligned region in the second reconstructed mesh according to the target region identification information.

31. The decoding device of claim 30, wherein, The decoding device comprises: A processing module that performs padding or connection processing on the misaligned region in the second reconstructed mesh to obtain a target reconstructed mesh.

32. An electronic device, comprising: The program or instructions stored on the readable storage medium are executed by the processor to implement the steps of the encoding method according to any one of claims 1 to 13 or the steps of the decoding method according to claims 14 to 25.

33. A readable storage medium, characterized by, The chip comprises a processor and a communication interface, the communication interface is coupled to the processor, and the processor is configured to execute a program or instructions to implement the steps of the encoding method according to any one of claims 1 to 13 or the steps of the decoding method according to claims 14 to 25.

34. A chip, characterized by ​