Coding method, decoding method, device and equipment
By encoding non-manifold structure information, including non-manifold identification of target vertices and index information of repeated vertices, the problem of lossless decoding of three-dimensional grids containing non-manifold structures in the prior art is solved, and the three-dimensional grid is realized full recovery.
Patent Information
- Application Number
- CN202310802666.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2023-06-30
- Publication Date
- 2024-12-31
AI Technical Summary
In the prior art, when encoding a three-dimensional grid, lossless decoding of a grid containing a non-manifold structure cannot be achieved because the decoding end cannot fully restore the original grid based on the geometric vertex identification.
By determining the connection relationship between geometric vertices and attribute vertices in the original mesh, non-manifold structure information is encoded, including the non-manifold identification of the target vertices and the index information of the repeated vertices, so that the decoding end can merge the repeated vertices to restore the original mesh.
Lossless decoding of a three-dimensional grid containing a non-manifold structure is achieved, ensuring the integrity of the encoding and decoding process.
Smart Images

Figure CN119228916A_ABST
Abstract
Description
Technical Field
[0001] The present application belongs to the field of coding and decoding technology, and specifically relates to a coding method, a decoding method, a device and equipment. Background Art
[0002] With the increasing demand for visual effects of three-dimensional mesh models 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 by three-dimensional scanning equipment or three-dimensional modeling software are also growing rapidly. Therefore, how to efficiently encode three-dimensional mesh data is the key to conveniently transmitting, storing and processing three-dimensional mesh data. In the related art, when encoding a three-dimensional mesh containing a non-manifold structure, an identifier is set for the geometric vertices in the manifold mesh corresponding to the three-dimensional mesh to determine whether it is a point generated by splitting the non-manifold structure, and the decoding end cannot fully realize lossless decoding of three-dimensional meshes containing non-manifold structures based on the identifier of the geometric vertices. Summary of the invention
[0003] The embodiments of the present application provide an encoding method, a decoding method, an apparatus and a device, which can solve the problem that decoding based on non-manifold identification of geometric vertices cannot fully realize lossless decoding of three-dimensional meshes containing non-manifold structures.
[0004] In a first aspect, a coding method is provided, comprising:
[0005] The encoder determines first indication information, where the first indication information is used to indicate whether the geometric vertices and the attribute vertices in the original mesh have the same connection relationship;
[0006] The encoding end determines one or two groups of non-manifold structure information according to the first indication information, each group of the non-manifold structure information includes: non-manifold identification information of the target vertex and index information of the target repeated vertex; the target vertex includes the geometric vertex and the attribute vertex in the manifold mesh, the manifold mesh is obtained after splitting the non-manifold structure in the original mesh, and the non-manifold identification information is used to indicate whether the target vertex is a repeated vertex generated when the non-manifold structure is split; the target repeated vertex is the repeated vertex generated when the encoding end splits the non-manifold structure in the original mesh, and the target repeated vertices include geometric repeated vertices and attribute repeated vertices;
[0007] The encoding end encodes the first indication information and the one or two groups of non-manifold structure information to obtain a first code stream.
[0008] In a second aspect, a decoding method is provided, comprising:
[0009] The decoding end decodes the first code stream to obtain decoding information, wherein the decoding information includes first indication information and one or two groups of non-manifold structure information, each group of the non-manifold structure information includes: non-manifold identification information of the target vertex and index information of the target repeated vertex; the target vertex includes geometric vertices and attribute vertices in a manifold mesh, the manifold mesh is obtained after splitting the non-manifold structure in the original mesh, the non-manifold identification information is used to indicate whether the target vertex is a repeated vertex generated when the non-manifold structure is split, the target repeated vertex is a repeated vertex generated when the encoding end splits the non-manifold structure in the original mesh, and the target repeated vertex includes geometric repeated vertices and attribute repeated vertices, and the first indication information is used to indicate whether the geometric vertices and attribute vertices in the original mesh have the same connection relationship;
[0010] The decoding end restores the non-manifold structure in the original grid according to the decoding information.
[0011] In a third aspect, there is provided an encoding device, comprising:
[0012] A first determination module, used to determine first indication information, where the first indication information is used to indicate whether the geometric vertices and attribute vertices in the original mesh have the same connection relationship;
[0013] A second determination module is used to determine one or two groups of non-manifold structure information according to the first indication information, each group of the non-manifold structure information includes: non-manifold identification information of the target vertex and index information of the target repeated vertex; the target vertex includes the geometric vertex and the attribute vertex in the manifold mesh, the manifold mesh is obtained after splitting the non-manifold structure in the original mesh, and the non-manifold identification information is used to indicate whether the target vertex is a repeated vertex generated when the non-manifold structure is split; the target repeated vertex is the repeated vertex generated when the encoding end splits the non-manifold structure in the original mesh, and the target repeated vertices include geometric repeated vertices and attribute repeated vertices;
[0014] The first acquisition module is used to encode the first indication information and the one or two groups of non-manifold structure information to obtain a first code stream.
[0015] In a fourth aspect, a decoding device is provided, comprising:
[0016] A fourth acquisition module is used to decode the first code stream to obtain decoding information, wherein the decoding information includes first indication information and one or two groups of non-manifold structure information, each group of the non-manifold structure information includes: non-manifold identification information of the target vertex and index information of the target repeated vertex; the target vertex includes geometric vertices and attribute vertices in a manifold mesh, the manifold mesh is obtained after splitting the non-manifold structure in the original mesh, the non-manifold identification information is used to indicate whether the target vertex is a repeated vertex generated when the non-manifold structure is split, the target repeated vertex is a repeated vertex generated when the encoding end splits the non-manifold structure in the original mesh, and the target repeated vertex includes geometric repeated vertices and attribute repeated vertices, and the first indication information is used to indicate whether the geometric vertices and attribute vertices in the original mesh have the same connection relationship;
[0017] The recovery module is used to recover the non-manifold structure in the original grid according to the decoded information.
[0018] In a fifth aspect, a coding device is provided, comprising a processor and a communication interface, wherein the processor is used to determine first indication information, wherein the first indication information is used to indicate whether the geometric vertices and attribute vertices in the original mesh have the same connection relationship; according to the first indication information, one or two groups of non-manifold structure information are determined, each group of the non-manifold structure information includes: non-manifold identification information of the target vertex and index information of the target repeated vertex; the target vertex includes the geometric vertex and the attribute vertex in the manifold mesh, and the manifold mesh is obtained after splitting the non-manifold structure in the original mesh, and the non-manifold identification information is used to indicate whether the target vertex is a repeated vertex generated when the non-manifold structure is split; the target repeated vertex is a repeated vertex generated when the encoding end splits the non-manifold structure in the original mesh, and the target repeated vertices include geometric repeated vertices and attribute repeated vertices; the first indication information and the one or two groups of non-manifold structure information are encoded to obtain a first code stream.
[0019] In a sixth aspect, a decoding device is provided, comprising a processor and a communication interface, wherein the processor is used to decode a first code stream to obtain decoding information, the decoding information comprising first indication information and one or two groups of non-manifold structure information, each group of the non-manifold structure information comprising: non-manifold identification information of a target vertex and index information of a target repeated vertex; the target vertex comprises a geometric vertex and an attribute vertex in a manifold mesh, the manifold mesh is obtained after splitting the non-manifold structure in the original mesh, the non-manifold identification information is used to indicate whether the target vertex is a repeated vertex generated when the non-manifold structure is split, the target repeated vertex is a repeated vertex generated when the encoding end splits the non-manifold structure in the original mesh, and the target repeated vertices comprise geometric repeated vertices and attribute repeated vertices, the first indication information is used to indicate whether the geometric vertices and attribute vertices in the original mesh have the same connection relationship; according to the decoding information, the non-manifold structure in the original mesh is restored.
[0020] In a seventh aspect, an electronic device is provided, comprising a processor and a memory, wherein the memory stores programs or instructions that can be run on the processor, and when the programs or instructions are executed by the processor, the steps of the method described in the first aspect or the second aspect are implemented.
[0021] In an eighth aspect, a coding and decoding system is provided, comprising: a coding device and a decoding device, wherein the coding device can be used to execute the steps of the coding method as described in the first aspect, and the decoding device can be used to execute the steps of the decoding method as described in the second aspect.
[0022] In a ninth aspect, a readable storage medium is provided, on which a program or instruction is stored. When the program or instruction is executed by a processor, the steps of the method described in the first aspect are implemented, or the steps of the method described in the second aspect are implemented.
[0023] In the tenth aspect, a chip is provided, comprising a processor and a communication interface, wherein the communication interface is coupled to the processor, and the processor is used to run a program or instruction to implement the method described in the first aspect, or to implement the method described in the second aspect.
[0024] In the eleventh aspect, a computer program / program product is provided, wherein the computer program / program product is stored in a storage medium, and the computer program / program product is executed by at least one processor to implement the steps of the method described in the first aspect, or to implement the steps of the method described in the second aspect.
[0025] In an embodiment of the present application, the encoding end determines first indication information, and the first indication information is used to indicate whether the geometric vertices and attribute vertices in the original mesh have the same connection relationship; the encoding end determines one or two groups of non-manifold structure information based on the first indication information, and each group of non-manifold structure information includes: non-manifold identification information of the target vertex and index information of the target repeated vertex; the target vertex includes the geometric vertex and the attribute vertex in the manifold mesh, and the manifold mesh is obtained after splitting the non-manifold structure in the original mesh, and the non-manifold identification information is used to indicate whether the target vertex is a vertex generated when the non-manifold structure is split; the target repeated vertex is a repeated vertex generated when the non-manifold structure in the original mesh is split, and the target repeated vertex includes geometric repeated vertices and attribute repeated vertices; the first indication information and the one or two groups of non-manifold structure information are encoded to obtain a first code stream. Through the above scheme, the decoding end can decode the non-manifold identification information of the geometric vertices and attribute vertices in the manifold mesh and the index information of the target repeated vertices. Based on the non-manifold identification information of the geometric vertices and attribute vertices and the index information of the target repeated vertices, the geometric repeated vertices and attribute repeated vertices generated by splitting the non-manifold structure can be merged to restore the non-manifold structure of the original mesh, thereby fully realizing lossless decoding of the original mesh containing the non-manifold structure. BRIEF DESCRIPTION OF THE DRAWINGS
[0026] Figure 1 A diagram showing the five modes of Edgebreaker encoding methods;
[0027] Figure 2 A schematic diagram showing a flow chart of an encoding method according to an embodiment of the present application;
[0028] Figure 3 A schematic diagram showing a three-dimensional grid lossless coding framework according to an embodiment of the present application;
[0029] Figure 4 A schematic diagram showing the correspondence between edges and corners in a manifold grid according to an embodiment of the present application;
[0030] Figure 5 A schematic diagram showing the angle relationship in the embodiment of the present application;
[0031] Figure 6 A schematic diagram showing traversal rules of five modes of the Edgebreaker encoding method in an embodiment of the present application;
[0032] Figure 7 A schematic diagram showing two adjacent triangles in a grid according to an embodiment of the present application;
[0033] Figure 8A schematic diagram showing UV coordinate prediction based on three-dimensional to two-dimensional projection in an embodiment of the present application;
[0034] Fig. 9 A schematic diagram showing a flow chart of a decoding method according to an embodiment of the present application;
[0035] Fig.10 A schematic diagram showing a three-dimensional grid lossless decoding framework according to an embodiment of the present application;
[0036] Fig.11 A schematic diagram showing a module of an encoding device according to an embodiment of the present application;
[0037] Fig.12 A schematic diagram showing a module of a decoding device according to an embodiment of the present application;
[0038] Fig.13 A structural block diagram showing an electronic device according to an embodiment of the present application;
[0039] Fig.14 A structural block diagram showing an encoding device or a decoding device according to an embodiment of the present application. DETAILED DESCRIPTION
[0040] The following will be combined with the drawings in the embodiments of the present application to clearly describe the technical solutions in the embodiments of the present application. Obviously, the described embodiments are part of the embodiments of the present application, rather than all the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field belong to the scope of protection of this application.
[0041] The terms "first", "second", etc. of 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 are interchangeable where appropriate, 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" and "second" are generally of one type, and the number of objects is not limited, for example, the first object can be one or more. In addition, "or" in the present application represents at least one of the connected objects. For example, "A or B" covers three schemes, namely, Scheme 1: including A but not including B; Scheme 2: including B but not including A; Scheme 3: including both A and B. The character " / " generally indicates that the objects associated with each other are in an "or" relationship.
[0042] The term "indication" in this application can be a direct indication (or explicit indication) or an indirect indication (or implicit indication). A direct indication can be understood as the sender explicitly informing the receiver of specific information, operations to be performed, or request results in the sent indication; an indirect indication can be understood as the receiver determining the corresponding information according to the indication sent by the sender, or making a judgment and determining the operation to be performed or the request result according to the judgment result.
[0043] It is worth noting that the technology described in the embodiments of the present application is not limited to the Long Term Evolution (LTE) / LTE-Advanced (LTE-A) system, but can also be used in other wireless communication systems, such as Code Division Multiple Access (CDMA), Time Division Multiple Access (TDMA), Frequency Division Multiple Access (FDMA), Orthogonal Frequency Division Multiple Access (OFDMA), Single-carrier Frequency Division Multiple Access (SC-FDMA) or other systems. The terms "system" and "network" in the embodiments of the present application are often used interchangeably, and the described technology can be used for the above-mentioned systems and radio technologies as well as other systems and radio technologies. The following description describes a new radio (NR) system for example purposes, and NR terms are used in most of the following descriptions, but these technologies can also be applied to systems other than NR systems, such as 6th Generation (6G) communication systems.
[0044] In order to enable those skilled in the art to better understand the embodiments of the present application, the following description is first made.
[0045] With the rapid development of multimedia technology, related research results have been rapidly industrialized and have become an indispensable part of people's lives. Three-dimensional models have become a new generation of digital media after audio, images, and videos. Three-dimensional grids and point clouds are two commonly used ways to represent three-dimensional models. Compared with traditional multimedia such as images and videos, three-dimensional grid models have stronger interactivity and realism, making them more and more widely used in various fields such as commerce, manufacturing, construction, education, medicine, entertainment, art, and military.
[0046] With the increasing demand for visual effects of 3D mesh models and the emergence of more mature 3D scanning technologies and 3D modeling software, the data size and complexity of 3D mesh models obtained by 3D scanning equipment or 3D modeling software are also growing rapidly. Therefore, how to efficiently compress 3D mesh data is the key to conveniently transmit, store and process 3D mesh data.
[0047] A 3D mesh often contains three main types of information: topological information, geometric information, and attribute information. Topological information, also known as connectivity information, is used to describe the connection between elements such as vertices and patches in the mesh; geometric information is the 3D coordinates of all vertices in the mesh; attribute information records other information attached to the mesh, such as normal vectors, texture coordinates, and colors. The compression of 3D mesh data is often based on the compression of these three types of information according to their data characteristics. In addition, for 3D meshes with texture maps, the texture maps also need to be compressed.
[0048] Draco is a library for compressing and decompressing 3D geometric meshes and point clouds. It aims to improve the storage and transmission of 3D graphics and greatly accelerate the encoding, transmission and decoding of 3D data. Draco supports the compression of 3D mesh geometry information, connection information and attribute information. Draco supports lossy mode and near-lossless mode. In addition, the Edgebreaker compression method used by Draco to encode connection relationships is currently one of the most efficient methods for encoding 3D mesh connection information.
[0049] However, Edgebreaker requires the mesh to be encoded to be a manifold structure. For meshes with non-manifold structures, Draco must split them into manifold structures to encode them correctly. However, Draco does not merge the split structures at the decoding end, which makes the mesh output by the decoding end have more split points than the original mesh input by the encoding end. This will cause Draco to be unable to losslessly encode such meshes with non-manifold structures.
[0050] The Moving Pictures Experts Group (MPEG), an international standards organization in the video image field, is developing a new dynamic 3D mesh compression standard (Video-based Dynamic Mesh Coding, V-DMC). Currently, it also chooses to use an Edgebreaker-based solution when encoding static 3D meshes and temporarily reuses the Draco codec. At the same time, MPEG is also trying to implement the Edgebreaker-based 3D mesh codec provided by MPEG to achieve compression of 3D mesh geometry information, connection information, and attribute information. Since Edgebreaker requires the mesh to be encoded to be a manifold structure, the currently proposed solution will split the 3D mesh with a non-manifold structure into a manifold structure and then encode it. Therefore, for the lossless mode, the Edgebreaker-based 3D mesh codec implementation provided by MPEG will record and encode the duplicate point index information generated by the splitting of non-manifolds at the encoding end, and add an identifier to each geometric vertex of the split manifold mesh to indicate whether it is a duplicate point generated by the splitting of non-manifolds. However, when the geometric vertices and attribute vertices have different connection relationships (the two are not one-to-one corresponding), the decoding end cannot determine the non-manifold identifier of the attribute vertex based on the non-manifold identifier of the geometric vertex, and thus cannot determine the attribute vertices added due to the splitting of the non-manifold structure, and thus cannot achieve lossless decoding of the 3D mesh containing the non-manifold structure.
[0051] The Edgebreaker-based 3D mesh compression tool currently provided by MPEG encodes and stores the connection information, geometric information and attribute information of the 3D mesh separately. The core module, i.e. the module for encoding the connection information, uses the Edgebreaker algorithm. Conventional compression methods are used for encoding the geometric information and attribute information, i.e. data quantization, predictive compression (e.g. parallelogram prediction) and entropy coding. Since the tool uses a connection relationship driven coding method, the coding of geometric information and attribute information will follow the coding order of the connection information. In this way, the vertex order of the connection relationship coding is implicitly included in the vertex order of the geometric information to avoid the separate transmission of the vertex order of the connection relationship coding, thereby saving this part of the bit overhead.
[0052] The Edgebreaker method is a 3D mesh connection relationship encoding method with the advantages of good compression performance, easy implementation, and the ability to provide an upper limit for compression ratio. The Edgebreaker method itself only describes the compression method of 3D mesh connection information, and the compression of 3D meshes can only be achieved through geometric information compression and entropy coding.
[0053] Edgebreaker encoding technology can compress triangular meshes that are homeomorphic to the sphere to 2 bits or less per triangle. The encoding algorithm uses five different modes (called C, L, E, R, and S) to access each triangle of the mesh in depth-first order. Each triangle is marked according to the mode it is in, and a CLERS string is generated to obtain a compact representation of the mesh connectivity.
[0054] The five modes of the Edgebreaker method are: Figure 1 As shown. The Edgebreaker method divides the mesh into a traversed part and an untraversed part, and the boundary between the two parts is called the active boundary. In the Edgebreaker encoding process, the triangle to be traversed is accessed through the active edge on the active boundary, and the mode to be used is selected according to the relationship between the active edge and the triangle in which it is located. The other vertex in the triangle where the active edge is located is called the third vertex. If the third vertex is not on the active boundary, the current triangle is marked as C mode. If the third vertex is on the active boundary and is the next vertex of the current active edge vertex in counterclockwise order, the current triangle is marked as R mode. If the third vertex is on the active boundary and is the previous vertex of the current active edge vertex in counterclockwise order, the current triangle is marked as L mode. If the third vertex is on the active boundary and is both the previous vertex of the current active edge vertex and the next vertex of the current active edge in counterclockwise order, the current triangle is marked as E mode. If the third vertex is on the active boundary, but is neither the previous vertex of the current active edge vertex nor the next vertex of the current active edge in counterclockwise order, the current triangle is marked as S mode.
[0055] After marking each triangle, the active boundary is updated and the next active edge is selected according to certain rules. After traversing all triangles, the obtained CLERS string is entropy encoded to obtain higher compression efficiency.
[0056] The encoding method provided in the embodiment of the present application is described in detail below through some embodiments and their application scenarios in combination with the accompanying drawings.
[0057] like Figure 2 As shown, the embodiment of the present application provides an encoding method, including:
[0058] Step 201: The encoding end determines first indication information, where the first indication information is used to indicate whether geometric vertices and attribute vertices in an original mesh have the same connection relationship.
[0059] In the embodiment of the present application, when the geometric vertices in the original mesh correspond to the attribute vertices one-to-one, the geometric vertices in the original mesh have the same connection relationship with the attribute vertices; when the geometric vertices in the original mesh do not correspond to the attribute vertices one-to-one, the geometric vertices in the original mesh have different connection relationships with the attribute vertices. Optionally, the attribute vertex is a UV vertex.
[0060] Optionally, the original grid is a three-dimensional grid. The original grid can be understood as a three-dimensional grid corresponding to any video frame.
[0061] Optionally, the first indication information may be represented by an identifier. For example, if the identifier is set to 1, it indicates that the geometric vertices and attribute vertices in the original mesh have the same connection relationship. If the identifier is set to 0, it indicates that the geometric vertices and attribute vertices in the original mesh have different connection relationships. Alternatively, it may be represented by whether the difference information between the attribute connection relationship and the geometric connection relationship exists. If the difference information does not exist, the geometric vertices and attribute vertices have the same connection relationship. If the difference information exists, the geometric vertices and attribute vertices have different connection relationships.
[0062] Of course, the above-mentioned first indication information can also be expressed in other forms, and this application does not limit its specific expression method.
[0063] Step 202: The encoding end determines one or two groups of non-manifold structure information based on the first indication information, each group of the non-manifold structure information includes: non-manifold identification information of the target vertex and index information of the target repeated vertex; the target vertex includes the geometric vertex and the attribute vertex in the manifold mesh, the manifold mesh is obtained after splitting the non-manifold structure in the original mesh, and the non-manifold identification information is used to indicate whether the target vertex is a repeated vertex generated when the non-manifold structure is split; the target repeated vertex is the repeated vertex generated when the encoding end splits the non-manifold structure in the original mesh, and the target repeated vertices include geometric repeated vertices and attribute repeated vertices.
[0064] In an embodiment of the present application, non-manifold identification information is used to indicate whether the target vertex is a duplicate vertex generated when the non-manifold structure is split. For example, when the non-manifold identification information is 1, it indicates that the vertex is a duplicate vertex generated when the non-manifold structure is split. When the non-manifold identification information is 0, it indicates that the vertex is not a duplicate vertex generated when the non-manifold structure is split.
[0065] In an embodiment of the present application, one or two groups of non-manifold structure information are determined through the first indication information, and based on the one or two groups of non-manifold structure information, non-manifold identification information of geometric vertices and attribute vertices and index information of geometric repeated vertices and attribute repeated vertices can be obtained, thereby facilitating the decoding end to achieve lossless decoding of three-dimensional meshes containing non-manifold structures based on the non-manifold identification information of the geometric vertices and attribute vertices and index information of the geometric repeated vertices and attribute repeated vertices.
[0066] Optionally, in an embodiment of the present application, if each edge of a mesh is shared by at most two facets and there are no non-manifold points, then the mesh is a manifold mesh, otherwise it is called a non-manifold mesh.
[0067] Step 203: The encoding end encodes the first indication information and the one or two groups of non-manifold structure information to obtain a first code stream.
[0068] In the scheme of the embodiment of the present application, the encoding end determines first indication information, and the first indication information is used to indicate whether the geometric vertices and attribute vertices in the original mesh have the same connection relationship; the encoding end determines one or two groups of non-manifold structure information based on the first indication information, and each group of non-manifold structure information includes: non-manifold identification information of the target vertex and index information of the target repeated vertex; the target vertex includes the geometric vertex and the attribute vertex in the manifold mesh, and the manifold mesh is obtained after splitting the non-manifold structure in the original mesh, and the non-manifold identification information is used to indicate whether the target vertex is a vertex generated when the non-manifold structure is split; the target repeated vertex is a repeated vertex generated when the non-manifold structure in the original mesh is split, and the target repeated vertices include geometric repeated vertices and attribute repeated vertices; the first indication information and the one or two groups of non-manifold structure information are encoded to obtain a first code stream. Through the above scheme, the decoding end can decode the non-manifold identification information of the geometric vertices and attribute vertices in the manifold mesh and the index information of the target repeated vertices. Based on the non-manifold identification information of the geometric vertices and attribute vertices and the index information of the target repeated vertices, the geometric repeated vertices and attribute repeated vertices generated by splitting the non-manifold structure can be merged to restore the non-manifold structure of the original mesh, thereby fully realizing lossless decoding of the original mesh containing the non-manifold structure.
[0069] Optionally, the first code stream further includes: encoding information of second indication information, where the second indication information is used to indicate whether a non-manifold structure exists in the original grid.
[0070] The second indication information may be represented by an identifier. For example, if the identifier is set to 1, it indicates that a non-manifold structure exists in the original mesh. If the identifier is set to 0, it indicates that no non-manifold structure exists in the original mesh.
[0071] Of course, the above-mentioned second indication information can also be expressed in other forms, and this application does not limit its specific expression method.
[0072] Optionally, the encoder determines, according to the first indication information, one or two sets of non-manifold structure information, including at least one of the following:
[0073] In a case where the first indication information indicates that the geometric vertices and the attribute vertices in the original mesh have the same connection relationship, the encoding end determines a set of non-manifold structure information, wherein the geometric vertices and the attribute vertices in the manifold mesh share non-manifold identification information in the set of non-manifold structure information, and the geometric repeated vertices and the attribute repeated vertices in the manifold mesh share index information in the set of non-manifold structure information; or,
[0074] When the first indication information indicates that the geometric vertices and attribute vertices in the original mesh have different connection relationships, the encoding end determines two sets of non-manifold structure information, wherein the geometric vertices and geometric repeated vertices in the manifold mesh correspond to one set of non-manifold structure information in the two sets of non-manifold structure information, and the attribute vertices and attribute repeated vertices in the manifold mesh correspond to the other set of non-manifold structure information in the two sets of non-manifold structure information.
[0075] In the scheme of the embodiment of the present application, when encoding a mesh containing a non-manifold structure, it is first determined whether the geometric vertices and attribute vertices in the mesh have the same connection relationship. In the case where the geometric vertices and attribute vertices have different connection relationships, after splitting the non-manifold structure, a non-manifold identification information is set and encoded for each geometric vertex and each attribute vertex of the manifold mesh, and the index information of the geometric duplicate points and attribute duplicate points generated by splitting the non-manifold structure is recorded and encoded respectively, that is, two sets of non-manifold structure information are determined, so as to fully realize the lossless encoding of three-dimensional meshes based on Edgebreaker. In the case where the geometric vertices and attribute vertices have the same connection relationship, only one set of index information of duplicate points generated by splitting the non-manifold structure and one set of non-manifold identification information of target vertices are recorded, that is, one set of non-manifold structure information is determined.
[0076] In addition, the repeated vertices in the embodiments of the present application may also be described as repeated points.
[0077] Optionally, the method further comprises:
[0078] The encoding end encodes the manifold grid to obtain a second bitstream, wherein the manifold grid is obtained after the encoding end performs a splitting process on the non-manifold structure in the original grid;
[0079] The encoding end obtains a total bitstream of the original grid according to the first bitstream and the second bitstream.
[0080] In an embodiment of the present application, when restoring a non-manifold structure, the decoding end not only needs the non-manifold identification information and the index information of the repeated vertices, but also needs the decoded manifold mesh. Based on the decoded manifold mesh, the non-manifold identification information and the index information of the repeated vertices, the non-manifold structure can be restored.
[0081] Optionally, the encoding end encodes the manifold grid to obtain a second bitstream, including:
[0082] The encoding end encodes the target information of the manifold grid to obtain the second code stream;
[0083] The target information includes connection relationship, geometric information and attribute information.
[0084] Optionally, the attribute information includes UV coordinates, ie, texture coordinates. UV coordinates are information describing the texture of vertices of a three-dimensional mesh.
[0085] In an embodiment of the present application, the Edgebreaker method can be used to encode the connection relationship to obtain a CLERS pattern string that can concisely represent the connection relationship, and the pattern string can be compressed using entropy coding to obtain a connection relationship sub-code stream (which can also be described as a connection relationship code stream); the geometric information of the mesh can be encoded using methods such as parallelogram prediction to obtain a geometric information sub-code stream (which can also be described as a geometric information code stream); the UV coordinates in the mesh attribute information can be encoded using methods such as similar triangle prediction to obtain an attribute information sub-code stream (which can also be described as an attribute information code stream). Based on the connection relationship sub-code stream, the geometric information sub-code stream and the attribute information sub-code stream, the above-mentioned second code stream is obtained.
[0086] Optionally, in the method of the embodiment of the present application, the total bitstream of the original grid further includes:
[0087] A third code stream is obtained by encoding the texture map information of the original grid.
[0088] In the embodiment of the present application, the texture map information may be encoded by a video encoder to obtain a sixth bitstream, namely a texture map sub-bitstream (which may also be described as a texture map bitstream).
[0089] The three-dimensional grid coding framework in the embodiment of the present application is as follows: Figure 3As shown, in the preprocessing step, first determine whether the geometric vertices and UV vertices have the same connection relationship, then split the input mesh with non-manifold structure to obtain a manifold mesh, and record the duplicate points generated by splitting the non-manifold. Then, it is necessary to encode the information indicating whether the geometric vertices and attribute vertices in the manifold mesh have the same connection relationship; for the manifold mesh, use the Edgebreaker method to encode the connection information, obtain the pattern string, and entropy encode it; encode the geometric information of the manifold mesh, for example, the parallelogram prediction encoding method can be used, and the encoding method of the geometric information is not limited here; if the mesh has attribute information such as UV coordinates, it can be encoded using methods such as similar triangle prediction encoding, and the encoding method of the attribute information is not limited here; when encoding non-manifold structure information, first encode the information indicating whether there is a non-manifold structure in the mesh (i.e., the second indication information). If there is a non-manifold structure in the mesh, there are two cases: if the geometric vertices and attribute vertices in the mesh have the same connection relationship, the non-manifold identification information of a group of vertices and the index information of duplicate points generated by removing the non-manifold structure are encoded in the same encoding order; if the geometric vertices and attribute vertices in the mesh have different connection relationships, the non-manifold identification information of the two groups of vertices and the index information of duplicate points generated by removing the non-manifold structure are encoded in the encoding order of the geometric coordinates and the attribute coordinates respectively. Finally, the multiple bitstreams are mixed to obtain the final output bitstream.
[0090] The specific implementation of the encoding process is described below, and the UV in the embodiment can also be described as a texture, that is, an example of the attribute information:
[0091] like Figure 3 As shown, the three-dimensional mesh lossless coding framework of the present application is mainly divided into five parts: split non-manifold structure in preprocessing, connection relationship coding, geometric information coding, attribute information coding and non-manifold structure information coding. They are introduced below respectively, and the overall attribute information of the embodiment of the present application can be described as UV coordinates (texture coordinates) by example, and the attribute vertices can be described as UV vertices (texture vertices) by example:
[0092] 1) Splitting non-manifold structures in preprocessing;
[0093] Input: original mesh;
[0094] Output: information indicating whether the geometric vertices and UV vertices in the mesh have the same connection relationship, manifold mesh, and duplicate points generated by decomposing non-manifolds;
[0095] The preprocessing step may also include filtering out duplicate points, adding virtual points, and other preprocessing modules required for encoding.
[0096] Before dismantling the non-manifold structure, first determine whether the geometric vertices and UV vertices have the same connection relationship. You can first determine whether the number of geometric vertices is consistent with the number of UV vertices. If they are consistent, then determine whether the geometric triangles and UV triangles, that is, their connection relationships are consistent. If the geometric triangles are inconsistent with the UV triangles, the geometric vertices and UV vertices have different connection relationships; if the number of geometric vertices and the number of UV vertices are inconsistent, but the number of geometric triangles is consistent with the number of UV triangles, then the geometric vertices and UV vertices also have different connection relationships. It can also be determined in other ways, and the determination method is not limited here. At the same time, for information indicating whether the geometric vertices and UV vertices have the same connection relationship, for example: an identifier that the geometric vertices and UV vertices in a mesh have the same connection relationship can be set to indicate that the geometric vertices and UV vertices have the same connection relationship, and the representation method is not limited here.
[0097] Splitting non-manifold structures is mainly divided into two parts: splitting non-manifold edges and splitting non-manifold points.
[0098] The first step in splitting non-manifold edges is to find them. The criterion for determining a non-manifold edge is that an edge exists in three or more triangles at the same time. The specific implementation method is: either to establish a data structure to store the triangles where each edge is located, and find the non-manifold edge by querying the number of triangles corresponding to the edge; or to construct a corner table to establish the correspondence between corners and edges in the mesh, and then find the non-manifold edge. Specifically, for a manifold mesh, each edge is opposite to at most two corners, and the two opposite corners are called diagonals. For example Figure 4 As shown in the figure, angle a and angle d are opposite to side bc, and angle a and angle d are opposite angles; for non-manifold edges, there will be three or more opposite angles. Therefore, non-manifold edges can also be found through the correspondence between angles and edges.
[0099] The second step of splitting non-manifold edges is to add vertices and modify the connection relationship. After finding the non-manifold edge, create duplicate vertices for the two vertices of the non-manifold edge, select a triangle t where the non-manifold edge is located, make the third vertex in the triangle and the two newly added vertices form a new triangle t', replace the original triangle t with t', and iterate this process until the non-manifold edge is converted into a manifold edge.
[0100] To split non-manifold points, you first need to build a CornerTable and establish a corresponding relationship between each vertex and the corner of the vertex. Perform two steps for each vertex. In the first step, starting from a certain corner of the vertex, traverse all the corners adjacent to the corner and forming a fan in turn, and mark the vertex and the traversed corners as traversed. If after executing the above process, there are still vertices that have not been traversed, it means that the vertex is a non-manifold point. In the second step, for each non-manifold point, create a duplicate point and modify the connection relationship, connect the corners that have not been traversed in the first step to the newly added duplicate point, and split the non-manifold point into two manifold vertices. Repeat this process until all vertices are converted into manifold points.
[0101] If the geometric vertices and UV vertices have the same connection relationship, the above process is executed once, and a set of duplicate point information generated by the process is recorded; if the geometric vertices and UV vertices have different connection relationships, the above process is executed once based on the geometric vertices and UV vertices respectively: the ComerTable of the geometric vertices and UV vertices are constructed respectively, and the non-manifold edges of the geometry and the non-manifold points of the geometry are split respectively, and the non-manifold edges of the texture and the non-manifold points of the UV are split respectively, and the information of the geometric duplicate points and the information of the UV duplicate points generated by the process are recorded respectively.
[0102] 2) Connection relationship encoding;
[0103] Input: The connectivity of the manifold mesh, which indicates whether the geometric vertices and UV vertices in the mesh have the same connectivity.
[0104] Output: the encoded connection relationship sub-code stream and vertex encoding order;
[0105] This application uses the Edgebreaker method to encode the connection relationship of the three-dimensional mesh, establishes a CornerTable to represent the connection relationship of the mesh, and uses the CornerTable to traverse all triangles in the mesh to generate the CLERS pattern string of Edgebreaker.
[0106] CornerTable is used to represent the relationship between corners, vertices and triangles in a mesh. Before building CornerTable, you first need to number the corners, traverse the triangles in the order of the triangle patches in the mesh, and number the corners of each triangle in counterclockwise order. If the mesh has f triangle patches, then the mesh will have 3f corners. The advantage of this numbering is that the number of the triangle where the current corner is located can be calculated through the number of the corner, as shown in Formula 1; you can also calculate the previous corner c of the current corner c in a counterclockwise direction. p and the next angle c n The serial number is shown in Formula 2 and Formula 3.
[0107] f i =c / 3 (1)
[0108] Among them, c is the index of the current angle, f i is the serial number of the triangle where the current angle c is located, " / " is integer division, and the result is rounded down.
[0109] c p =(f i *3)+(c-1)%3 (2)
[0110] Among them, c is the index of the current angle, f i is the serial number of the triangle where the current angle c is located, "*" is multiplication, and "%" is modulo operation.
[0111] c p =(f i *3)+(c+1)%3 (3)
[0112] Among them, c is the index of the current angle, f i is the serial number of the triangle where the current angle c is located, "*" is multiplication, and "%" is modulo operation.
[0113] Corner Table consists of four parts: V, O, U, and M. V stores the vertex index corresponding to each corner, O stores the diagonal index of each corner, U stores the flag of whether each triangle has been traversed during the traversal process, and M stores the flag of whether each vertex has been traversed during the traversal process.
[0114] Corner Table can be used to construct Figure 5 The relationship shown in the figure, where c represents the current angle, cp represents the previous angle of the current angle c (counterclockwise), and cn represents the next angle of the current angle c. co is the opposite angle of the current angle c, which can be obtained by querying the O table. ct is the serial number of the triangle where c is located, which can be calculated by formula 1. cv represents the vertex of the current angle, which can be obtained by querying the V table. cl represents the angle to the left of the current angle c, which is obtained by querying the opposite angle of cp in the O table; cr represents the angle to the right of the current angle c, which is obtained by querying the opposite angle of cn in the O table.
[0115] After using the Corner Table to build the relationship between corners, vertices and triangles, the mesh can be traversed in a spiral order to obtain the CLERS pattern string of Edgebreaker that represents the mesh connection relationship. At this time, the judgment conditions and traversal rules of the five modes are as follows: Figure 6As shown. The current traversed angle is x. If the vertex xv corresponding to x has not been visited, the current triangle is in C mode, and the next triangle to be traversed is the triangle where xr is located; otherwise, if the triangle where xl is located has been visited, the current triangle is in L mode, and the next triangle to be traversed is the triangle where xr is located; if the triangle where xr is located has been visited, the current triangle is in R mode, and the next triangle to be traversed is the triangle where xl is located; if the vertex xv has been visited, but the triangles where xl and xr are located have not been visited, the current triangle is in S mode, and the traversal path will generate two branches. Using the principle of depth-first traversal, the first triangle traversed is the triangle where xr is located, and the triangle where xl is located is stored in the stack. After the traversal of the branch where xr is located is completed, the triangle where xl is located is traversed; if the triangles where xl and xr are located have been visited, the mode of the current triangle is E, and the traversal has reached the end of the current traversal path branch.
[0116] Randomly select an initial triangle in the mesh, traverse the triangles in the mesh according to the above rules, and generate a CLERS pattern string. When the traversal path ends, but there are still untraversed triangles in the mesh, randomly select an untraversed triangle and start the next traversal until all triangles in the mesh have been traversed.
[0117] Entropy coding is used to compress the CLERS pattern string to obtain the final connection information code stream.
[0118] If the geometric vertices and UV vertices have the same connection relationship, the above process only needs to be performed once; if the geometric vertices and UV vertices have different connection relationships, since the number of geometric triangles and texture triangles is consistent and corresponding, but the corresponding geometric indexes and UV indexes are not one-to-one corresponding, it is only necessary to build and encode the CLERS pattern string once according to the geometric CornerTable. In this case, for UV vertices, after the pattern string encoding of each connected area of the geometric vertex is completed, the traversed corners are traversed, and the difference information between the texture connection relationship and the geometric connection relationship is recorded and encoded according to the TC table and OTC table of the UV vertex. Among them, the TC table stores the UV vertex index corresponding to each corner in the texture triangle, and the OTC table stores each diagonal index in the texture triangle.
[0119] 3) Geometric information encoding;
[0120] Input: The geometric information and connection relationship encoding order of the manifold mesh;
[0121] Output: geometry information sub-code stream and geometry information coding order;
[0122] There are many ways to encode geometric information, such as difference prediction coding algorithm, parallelogram prediction coding algorithm, multi-parallelogram prediction coding algorithm, etc. The specific coding method is not emphasized here. Take the parallelogram prediction coding algorithm as an example: there are four vertices a, b, c, and d, forming the following Figure 7 Two adjacent triangles in the mesh shown.
[0123] The geometric information of points a, b, and c has been encoded, and the geometric information of point d is to be encoded. Then, Formula 4 can be used to calculate the predicted value d' of the geometric coordinates of point d.
[0124] d′(x,y,z)=b(x,y,z)+c(x,y,z)-a(x,y,z) (4)
[0125] After obtaining d', the difference Δd between d' and the three-dimensional coordinates of point d is calculated using formula (5):
[0126] Δd(x,y,z)=d(x,y,z)-d′(x,y,z) (5)
[0127] Perform entropy coding on Δd to obtain a code stream of geometric information.
[0128] For triangles that cannot be predicted using parallelograms, such as triangles at the boundary of a mesh, the difference coding method is used to encode geometric information, that is, the coordinate values of adjacent encoded vertices are used as the predicted values of the current vertex coordinates to calculate and predict the residual.
[0129] 4) Attribute information encoding;
[0130] Input: attribute information and connection relationship encoding order of manifold mesh;
[0131] Output: attribute information sub-code stream and encoding order of attribute information;
[0132] The three-dimensional mesh attribute information generally includes UV coordinates, normal vectors, etc. Taking UV coordinates as an example, there are many encoding methods that can be used for UV coordinates, including difference prediction encoding, parallelogram prediction encoding, and similar triangle prediction encoding. The specific encoding method is not emphasized here. The similar triangle prediction algorithm is described below.
[0133] First, select a triangle in a three-dimensional mesh as the initial triangle, directly encode the UV coordinates of the three vertices of the initial triangle without predicting them, and store the edges of the initial triangle in an edge set. This set can be a data structure that meets certain access criteria. Then take out an edge τ from the set and predict the UV coordinates of the opposite vertex of τ in the next new triangle. And put the two sides of the new triangle except τ into the set. Let the point to be predicted be point C, the two end points of edge τ be N and P respectively, the opposite vertex of the triangle adjacent to the new triangle through τ is O, and the projection point of C on τ is X. For example Figure 8 As shown, since the UV coordinates of points N, P, and O are encoded before point C, these three points can be used to predict the UV coordinates of point C. The specific calculation process is as follows:
[0134] Let C uv , X uv , N uv , P uv , O uv are the UV coordinates of each point, C G , X G , N G , P G , O G are the geometric coordinates of each point.
[0135] First calculate the UV coordinate of point x:
[0136]
[0137]
[0138] in, are the vector representations of the geometric coordinates of the corresponding points, for example, The vector representation of the geometric coordinates between point N and point P, The vector representation of the geometric coordinates between point N and point C, A vector representation of the geometric coordinates between point N and point X, A vector representation of the geometric coordinates between point X and point C;
[0139] They are vector representations of the UV coordinates between the corresponding points, for example, A vector representation of the UV coordinates between point N and point X. A vector representation of the UV coordinates between point X and point C.
[0140] Calculating vectors Rotated() means flipping the vector 90 degrees:
[0141]
[0142] Finally, calculate the predicted UV coordinates Pred of point C C :
[0143]
[0144]
[0145]
[0146] in, and Both represent the vectors of the UV coordinates between point C and point O, but in different value representations.
[0147] After obtaining the predicted UV coordinate value, subtract it from the original UV coordinate to get the residual value.
[0148] The steps to encode UV coordinates are as follows:
[0149] (1) Select an initial triangle from the connectivity relationship, and directly encode the UV coordinates of the three vertices of the initial triangle without prediction. Store the edges of the initial triangle in the edge set.
[0150] (2) Select edge τ from the set according to the access criteria, and encode the UV coordinates of the vertices of the new triangle formed by τ. Using the projection relationship of the triangle from three dimensions to two dimensions, the predicted value of the point to be encoded is calculated according to the UV coordinate prediction value calculation process described above. The residual is obtained by subtracting the predicted value from the original UV coordinate value.
[0151] (3) Add the two edges of the new triangle to the edge set and remove the edge τ at the top of the set. Take the next edge from the set and continue to encode the UV coordinates of the vertices of the adjacent triangles of the edge, and return to step (3) until the UV coordinates of all vertices are encoded.
[0152] Entropy encodes the UV coordinate residual and outputs the UV coordinate code stream.
[0153] 5) Non-manifold structural information encoding;
[0154] Input: information indicating whether the geometric vertices and UV vertices in the mesh have the same connection relationship, information indicating whether there is a non-manifold structure in the mesh, non-manifold identifiers of vertices, index information of duplicate points generated by removing non-manifolds, geometric information encoding order, and attribute information encoding order;
[0155] Output: non-manifold structure information sub-code stream;
[0156] First, encode information indicating whether there is a non-manifold structure in the grid. This can be indicated by setting a flag indicating whether there is a non-manifold structure in the grid, or by the number of duplicate points generated by removing the non-manifold structure in the grid. Take setting a flag indicating whether there is a non-manifold structure as an example: if there is no non-manifold structure in the grid, that is, the number of duplicate points generated by removing the non-manifold is 0, set the flag to 0, and there is no need to encode the non-manifold flag of the vertex and the index information of the duplicate points generated by removing the non-manifold; if there is a non-manifold structure in the grid, that is, the number of duplicate points generated by removing the non-manifold is greater than 0, set the flag to 1, and then encode the non-manifold flag of the vertex and the index information of the duplicate points generated by removing the non-manifold.
[0157] The duplicate points generated by removing non-manifolds include geometric duplicate points and UV duplicate points. According to whether the geometric vertices and UV vertices in the mesh have the same connection relationship, the non-manifold identification of the encoded vertex and the index information of the duplicate points generated by removing the non-manifold are divided into two cases: the first case is that the geometric vertices and UV vertices in the mesh have the same connection relationship, that is, the geometric coordinates and UV coordinates are in a one-to-one correspondence, then the non-manifold identification information of a group of vertices and the index information of the duplicate points generated by removing the non-manifold structure are directly encoded, and the index information can be obtained according to the encoding order of the geometric coordinates and UV coordinates at the encoding end; the second case is that the geometric vertices and UV vertices in the mesh have different connection relationships, for example, when one geometric coordinate corresponds to multiple texture coordinates, then the non-manifold identification information of the geometric vertices and the index information of the geometric duplicate points generated by removing the non-manifold, the non-manifold identification information of the UV vertices and the index information of the UV duplicate points generated by removing the non-manifold structure are encoded respectively, and the index information can be obtained according to the encoding order of the geometric coordinates and the encoding order of the UV coordinates at the encoding end. The representation method of the duplicate point index information generated by dismantling the non-manifold structure can be the target vertex index that needs to be merged when restoring the non-manifold, or it can be the duplicate point group index: points with the same index belong to the same duplicate point group, that is, they have the same vertex information, and its representation method is not restricted here.
[0158] The specific implementation is: if the geometric vertices and UV vertices in the mesh have the same connection relationship, then a flag is set for each vertex in the manifold mesh to indicate whether the point at the current position is a duplicate point generated by removing the non-manifold structure, and the index information of the duplicate points generated by removing the non-manifold is encoded; if the geometric vertices and UV vertices in the mesh have different connection relationships, then a flag is set for each geometric vertex and each UV vertex in the manifold mesh to indicate whether the geometric vertex and UV vertex at the current position are duplicate points generated by removing the non-manifold structure, and the index information of the geometric duplicate points and the index information of the UV duplicate points generated by removing the non-manifold are encoded respectively. Then, the binary string sequence obtained by arranging the flags in the corresponding encoding order and the index information of the duplicate points generated by removing the non-manifold are entropy encoded to obtain the non-manifold structure information code stream.
[0159] There are multiple ways to store the non-manifold structure information bitstream in the total bitstream: one is to store the non-manifold structure information bitstream as a separate sub-bitstream; another is to store the geometric non-manifold structure information bitstream in the geometric information sub-bitstream, and store the UV non-manifold structure information bitstream in the attribute information sub-bitstream; the geometric non-manifold structure information bitstream and the UV non-manifold structure information bitstream can also be stored as two sub-bitstreams in the total bitstream. The storage method of the non-manifold structure information bitstream in the total bitstream is not emphasized here.
[0160] It should be noted that the present application does not limit the order of encoding the three-dimensional mesh connection relationship and the vertex information. It can be that the geometric information, attribute information and non-manifold structure information are encoded while encoding the connection relationship; or it can be that after encoding the connection relationship, the geometric information, attribute information and non-manifold structure information are encoded in sequence according to the encoding order of the connection relationship.
[0161] When encoding the geometric information and attribute information of vertices, the geometric information and attribute information of duplicate points generated by splitting non-manifolds can be skipped for encoding, that is, only encoded once, or can be not skipped for encoding. Here, there is no restriction on whether to skip the encoding of the geometric information and attribute information of duplicate points generated by splitting non-manifolds.
[0162] In the above scheme of the embodiment of the present application, the encoding end determines the first indication information, and the first indication information is used to indicate whether the geometric vertices and attribute vertices in the original mesh have the same connection relationship; the encoding end determines one or two groups of non-manifold structure information based on the first indication information, and each group of non-manifold structure information includes: non-manifold identification information of the target vertex and index information of the target repeated vertex; the target vertex includes the geometric vertex and the attribute vertex in the manifold mesh, and the manifold mesh is obtained after the non-manifold structure in the original mesh is split, and the non-manifold identification information is used to indicate whether the target vertex is a vertex generated when the non-manifold structure is split; the target repeated vertex is a repeated vertex generated when the non-manifold structure in the original mesh is split, and the target repeated vertex includes geometric repeated vertices and attribute repeated vertices; the first indication information and the one or two groups of non-manifold structure information are encoded to obtain a first code stream. Through the above scheme, the decoding end can decode the non-manifold identification information of the geometric vertices and attribute vertices in the manifold mesh and the index information of the target repeated vertices. Based on the non-manifold identification information of the geometric vertices and attribute vertices and the index information of the target repeated vertices, the geometric repeated vertices and attribute repeated vertices generated by splitting the non-manifold structure can be merged to restore the non-manifold structure of the original mesh, thereby fully realizing lossless decoding of the original mesh containing the non-manifold structure.
[0163] like Fig. 9 As shown, the embodiment of the present application also provides a decoding method, including:
[0164] Step 901: The decoding end decodes the first bitstream to obtain decoding information, wherein the decoding information includes first indication information and one or two groups of non-manifold structure information, each group of the non-manifold structure information includes: non-manifold identification information of the target vertex and index information of the target repeated vertex; the target vertex includes geometric vertices and attribute vertices in a manifold mesh, the manifold mesh is obtained after splitting the non-manifold structure in the original mesh, the non-manifold identification information is used to indicate whether the target vertex is a repeated vertex generated when the non-manifold structure is split, the target repeated vertex is a repeated vertex generated when the encoding end splits the non-manifold structure in the original mesh, and the target repeated vertex includes geometric repeated vertices and attribute repeated vertices, and the first indication information is used to indicate whether the geometric vertices and attribute vertices in the original mesh have the same connection relationship;
[0165] Step 902: The decoding end restores the non-manifold structure in the original grid according to the decoding information.
[0166] In an embodiment of the present application, the decoding end decodes the first code stream to obtain first indication information and one or two groups of non-manifold structure information, each group of the non-manifold structure information includes: non-manifold identification information of the target vertex and index information of the target repeated vertex; according to the first indication information and the one or two groups of non-manifold structure information, the non-manifold structure in the original mesh is restored. Through the above scheme, the decoding end can decode and obtain the non-manifold identification information of the geometric vertices and attribute vertices in the manifold mesh and the index information of the target repeated vertices. Based on the non-manifold identification information of the geometric vertices and attribute vertices and the index information of the target repeated vertices, the geometric repeated vertices and attribute repeated vertices generated by splitting the non-manifold structure can be merged to restore the non-manifold structure of the original mesh, thereby being able to fully realize lossless decoding of the original mesh containing the non-manifold structure.
[0167] Optionally, the decoding information further includes second indication information, where the second indication information is used to indicate whether a non-manifold structure exists in the original grid;
[0168] The decoding end restores the non-manifold structure in the original grid according to the decoded information, including:
[0169] When the second indication information indicates that a non-manifold structure exists in the original mesh, the non-manifold structure in the original mesh is restored according to the first indication information and the one or two sets of non-manifold structure information.
[0170] Optionally, the decoding end decodes the first code stream to obtain decoding information, including:
[0171] The decoding end decodes the first code stream to obtain first indication information and second indication information;
[0172] In the case where the first indication information indicates that the geometric vertices and the attribute vertices in the original mesh have the same connection relationship, a set of non-manifold structure information is decoded from the first code stream, wherein the geometric vertices and the attribute vertices in the manifold mesh share non-manifold identification information in the set of non-manifold structure information, and the geometric repeated vertices and the attribute repeated vertices in the manifold mesh share index information in the set of non-manifold structure information; or,
[0173] When the first indication information indicates that the geometric vertices and attribute vertices in the original mesh have different connection relationships, two sets of non-manifold structure information are decoded from the first code stream, wherein the geometric vertices and geometric repeated vertices in the manifold mesh correspond to one set of non-manifold structure information in the two sets of non-manifold structure information, and the attribute vertices and attribute repeated vertices in the manifold mesh correspond to the other set of non-manifold structure information in the two sets of non-manifold structure information.
[0174] Optionally, the decoding end restores the non-manifold structure in the original grid according to the first indication information and the one or two sets of non-manifold structure information, including:
[0175] The decoding end decodes the second code stream to obtain target information of the manifold grid, wherein the target information includes connection relationship, geometric information and attribute information;
[0176] Reconstructing a manifold grid according to target information of the manifold grid;
[0177] The non-manifold structure in the original mesh is restored according to the reconstructed manifold mesh, the first indication information and the one or two sets of non-manifold structure information.
[0178] At the decoding end, entropy decoding obtains the CLERS pattern string, and the pattern string is used to reconstruct the connection relationship. The geometric information of the mesh is decoded using methods such as parallelogram inverse prediction, and the UV coordinates of the mesh are decoded using methods such as similar triangle inverse prediction. When decoding non-manifold structure information, the indication information of whether there is a non-manifold structure in the mesh is first decoded. If there is a non-manifold structure in the mesh, the non-manifold identification information of the vertex and the index information of the duplicate points generated by the non-manifold removal are further decoded to obtain the duplicate points generated by the non-manifold removal, and the duplicate points generated by the non-manifold removal are merged, and the connection relationship is adjusted to restore the non-manifold structure in the mesh. Through the codec framework, lossless encoding and decoding of meshes containing non-manifold structures can be completed.
[0179] Optionally, in an embodiment of the present application, the decoding end further decodes the third code stream to obtain texture map information, and reconstructs the grid based on the texture map and the grid obtained by restoring the non-manifold structure.
[0180] The three-dimensional grid decoding framework in the embodiment of the present application is as follows Fig.10As shown. First, decode the information indicating whether the geometric vertices and UV vertices in the mesh have the same connection relationship; entropy decode the connection relationship sub-code stream to obtain the mode string. If the geometric vertices and UV vertices have the same connection relationship, only one set of connection relationships needs to be reconstructed; if the geometric vertices and UV vertices have different connection relationships, the connection relationship of the geometric coordinates and the connection relationship of the UV coordinates need to be reconstructed respectively; use the decoding method corresponding to the encoding end to decode the geometric information of the mesh; use the decoding method corresponding to the encoding end to decode the attribute information of the mesh; when decoding the non-manifold structure information, first decode the indication information of whether there is a non-manifold structure in the mesh. If there is a non-manifold structure in the mesh, it is divided into two cases: if the geometric vertices and UV vertices in the mesh have the same connection relationship, further decode to obtain the non-manifold identification information of a set of vertices and the index information of the repeated points generated by the removal of the non-manifold; if the geometric vertices and UV vertices in the mesh have different connection relationships, decode the non-manifold identification information of two sets of vertices and the index information of the repeated points generated by the removal of the non-manifold structure. In the post-processing step, the duplicate points generated by non-manifold removal will be merged, and the connection relationship will be adjusted to restore the non-manifold structure in the mesh, completing the lossless encoding and decoding of the mesh containing the non-manifold structure.
[0181] It should be noted that the post-processing step may also include post-processing modules required for correct decoding, such as restoring the filtered duplicate points and deleting the added virtual vertices. Fig.10 Only the modules for restoring non-manifold structures targeted by this application are listed.
[0182] The specific implementation of the decoding process is described as follows:
[0183] like Fig.10 As shown, the 3D mesh lossless decoding framework of this patent is mainly divided into six parts: connection relationship decoding, geometric information decoding, attribute information decoding, non-manifold structure information decoding, manifold mesh reconstruction, and non-manifold structure recovery in post-processing. The following are introduced separately:
[0184] 1) Connection relationship decoding;
[0185] Input: the connection relationship sub-code stream to be decoded, indicating whether the geometric vertices and UV vertices have the same connection relationship;
[0186] Output: connectivity of the manifold mesh and the decoded vertex order;
[0187] First, decode the connection relationship sub-code stream to obtain the pattern string. Traverse the pattern string in a certain order (forward or reverse order), and reconstruct the connection relationship according to the corresponding pattern in the string. Consistent with the encoding end, if the geometric vertices and UV vertices have the same connection relationship, only one set of connection relationships needs to be reconstructed; if the geometric vertices and UV vertices have different connection relationships, first reconstruct the geometric connection relationship in the current connected area according to the decoded string, and then traverse the corners in the area and the difference information between the texture connection relationship and the geometric connection relationship in the decoded geometric connected area to reconstruct the connection relationship of the UV vertices. In addition, the traversal order of the vertices is output to the geometric information and attribute information decoding module.
[0188] 2) Geometric information decoding;
[0189] Input: geometric information sub-code stream, decoding order of connection relationship;
[0190] Output: Geometric information of the manifold mesh.
[0191] The decoding process of the mesh geometric coordinates is the inverse process of the encoding process: first, entropy decode the coordinate prediction residual. Then, based on the decoded triangle, predict the predicted coordinates of the point to be decoded according to the parallelogram rule. Add the predicted coordinates to the residual value obtained by entropy decoding to get the geometric coordinate position to be decoded. The vertex traversal order here is the same as the vertex order of the encoded geometric information. Note that the geometric coordinates of the initial triangle do not use predictive coding, but directly encode their geometric coordinate values. After the geometric coordinates of the triangle are decoded at the decoding end, it is used as the initial triangle to start traversing and decoding the geometric coordinates of the vertices of other triangles. In addition, other decoding methods may also be used here. The specific decoding method is not emphasized, as long as it corresponds to the encoding end.
[0192] 3) Decoding of attribute information;
[0193] Input: attribute information code stream to be decoded, decoding order of connection relationship;
[0194] Output: attribute information of manifold mesh reconstruction.
[0195] Taking UV coordinates as an example, the decoding method corresponding to the UV coordinates and the encoding end is not emphasized here. The decoding process using the similar triangle prediction algorithm is described below.
[0196] The steps to decode UV coordinates are as follows:
[0197] (1) Entropy decoding of UV coordinate code stream.
[0198] (2) Decode the UV coordinates of the three vertices of the initial triangle. The prediction value is not calculated here. The initial triangle directly encodes its UV coordinates instead of encoding the residual. Store the edges of the initial triangle in the edge set.
[0199] (3) Select edge τ from the set according to the access criteria, and decode the UV coordinates of the vertices of the new triangle formed with τ. First, use the mapping relationship from three-dimensional to two-dimensional triangles to calculate the predicted value of the UV coordinate of the point to be decoded in the same way as the encoding end. Then add the predicted value to the residual of entropy decoding to obtain the reconstructed UV coordinate.
[0200] (4) Add the two edges of the new triangle to the edge set and remove the edge τ at the top of the set. Take the next edge from the set and continue decoding the UV coordinates of the vertices of the triangles adjacent to the edge, and return to step (3) until the UV coordinates of all vertices are decoded.
[0201] 4) Decoding of non-manifold structural information;
[0202] Input: non-manifold structure information sub-code stream, information indicating whether the geometric vertices and UV vertices in the mesh have the same connection relationship, the decoding order of geometric information and the decoding order of attribute information;
[0203] Output: information indicating whether there is a non-manifold structure in the mesh, non-manifold identification of vertices, and index information of duplicate points generated by removing non-manifolds;
[0204] First, decode to obtain the indication information indicating whether there is a non-manifold structure in the grid. Take the information as an example of whether there is a non-manifold: if the flag is 0, there is no need to decode the non-manifold flag information of the vertex and the index information of the duplicate points generated by removing the non-manifold, and skip the subsequent module for recovering the non-manifold structure; if the flag is 1, decode the non-manifold flag of the vertex and the index information of the duplicate points generated by removing the non-manifold structure.
[0205] The decoding of the non-manifold identification information of the vertices and the index information of the duplicate points generated by removing the non-manifold structure adopts the method corresponding to the encoding end, and is divided into two cases according to whether the geometric vertices and UV vertices have the same connection relationship: if the geometric vertices and UV vertices have the same connection relationship, the entropy decoding obtains the non-manifold identification information of a group of vertices and the index information of the duplicate points generated by removing the non-manifold structure; if the geometric vertices and UV vertices have different connection relationships, the non-manifold identification information of the geometric vertices and the index information of the geometric duplicate points generated by removing the non-manifold structure, the non-manifold identification information of the UV vertices and the index information of the UV duplicate points generated by removing the non-manifold structure are respectively decoded. This information is recorded and output to the non-manifold structure recovery module.
[0206] 5) Reconstruct the manifold mesh;
[0207] Input: connection relationship of manifold mesh, geometric information of manifold mesh, attribute information of manifold mesh;
[0208] Output: manifold mesh;
[0209] The manifold mesh can be directly reconstructed by using the connection relationship, geometric information, and attribute information of the manifold mesh.
[0210] 6) Restore non-manifold structures;
[0211] Input: manifold mesh, non-manifold identifier of vertices, duplicate point index information generated by removing non-manifolds, and information indicating whether the geometric vertices and UV vertices in the mesh have the same connection relationship;
[0212] Output: Reconstructed non-manifold mesh
[0213] The recovery process of non-manifold edges and non-manifold points is the same. Taking the index information of duplicate points generated by splitting non-manifolds as the duplicate point group index as an example, we can first traverse all vertices in the decoding order of the vertices, and establish a hash table based on the non-manifold identifiers of the vertices. The key of the hash table is the duplicate point group index generated by splitting non-manifolds, and the value is the index of the target vertex to be merged. If the current vertex is not a duplicate point generated by disassembling the non-manifold structure, the current vertex corresponds to the index of the current vertex, that is, its index is not updated; if the current vertex is a duplicate point generated by disassembling the non-manifold structure and is the target vertex to be merged into the duplicate point group, the current vertex corresponds to the index of the current vertex, that is, its index is not updated, and the duplicate point group index of the current vertex and the index of the current vertex in the reconstructed manifold mesh are added to the hash table; if the current vertex is a duplicate point generated by disassembling the non-manifold, but is not the target vertex to be merged into the duplicate point group, the index of the target vertex to be merged into the reconstructed manifold mesh is searched in the hash table according to the duplicate point group index of the current point, so as to merge the duplicate points generated by disassembling the non-manifold, that is, update the index of the current vertex to the index of the target vertex to be merged into. Finally, update the geometric coordinate list and UV coordinate list, and update the indexes of the geometric vertices and UV vertices in the connection relationship to obtain the reconstructed non-manifold mesh.
[0214] If the geometric vertices and UV vertices have the same connection relationship, the above process is executed once to obtain a non-manifold mesh in which the geometric vertices and UV vertices have the same connection relationship; if the geometric vertices and UV vertices have different connection relationships, the geometric vertices and UV vertices are traversed in the decoding order of the geometric vertices and UV vertices respectively, and a geometric hash table and a UV hash table are established according to the non-manifold identifiers of the geometric vertices and UV vertices respectively, and the index information of the geometric duplicate points generated by splitting the non-manifold and the index of the geometric target vertex to be merged in the reconstructed manifold mesh, the index information of the UV duplicate points generated by splitting the non-manifold and the index of the UV target vertex to be merged in the reconstructed manifold mesh are stored respectively, and the above judgment and merging operations of the duplicate points generated by splitting the non-manifold are performed respectively, and the geometric coordinate list and the UV coordinate list are updated, and the geometric vertex index and the UV vertex index in the connection relationship are updated to obtain a non-manifold mesh in which the geometric vertices and UV vertices have different connection relationships.
[0215] In the decoding method of the embodiment of the present application, the decoding end decodes the first code stream to obtain the first indication information, the second indication information and one or two groups of non-manifold structure information, each group of the non-manifold structure information includes: the non-manifold identification information of the target vertex and the index information of the target repeated vertex; according to the first indication information, the second indication information and the one or two groups of non-manifold structure information, the non-manifold structure in the original mesh is restored. Through the above scheme, the decoding end can decode and obtain the non-manifold identification information of the geometric vertices and attribute vertices in the manifold mesh and the index information of the target repeated vertices. Based on the non-manifold identification information of the geometric vertices and attribute vertices and the index information of the target repeated vertices, the geometric repeated vertices and attribute repeated vertices generated by splitting the non-manifold structure can be merged to restore the non-manifold structure of the original mesh, thereby being able to fully realize lossless decoding of the original mesh containing the non-manifold structure.
[0216] The encoding method provided in the embodiment of the present application may be executed by an encoding device. In the embodiment of the present application, the encoding device provided in the embodiment of the present application is described by taking the encoding method executed by the encoding device as an example.
[0217] like Fig.11 As shown, the embodiment of the present application further provides an encoding device 1100, including:
[0218] A first determination module 1101 is used to determine first indication information, where the first indication information is used to indicate whether the geometric vertices and attribute vertices in the original mesh have the same connection relationship;
[0219] The second determination module 1102 is used to determine one or two groups of non-manifold structure information according to the first indication information, each group of the non-manifold structure information includes: non-manifold identification information of the target vertex and index information of the target repeated vertex; the target vertex includes the geometric vertex and the attribute vertex in the manifold mesh, the manifold mesh is obtained after splitting the non-manifold structure in the original mesh, and the non-manifold identification information is used to indicate whether the target vertex is a repeated vertex generated when the non-manifold structure is split; the target repeated vertex is the repeated vertex generated when the encoding end splits the non-manifold structure in the original mesh, and the target repeated vertex includes geometric repeated vertices and attribute repeated vertices;
[0220] The first acquisition module 1103 is used to encode the first indication information and the one or two groups of non-manifold structure information to obtain a first code stream.
[0221] Optionally, the first code stream further includes: encoding information of second indication information, where the second indication information is used to indicate whether a non-manifold structure exists in the original grid.
[0222] Optionally, the second determining module is used to perform at least one of the following:
[0223] In the case where the first indication information indicates that the geometric vertices and the attribute vertices in the original mesh have the same connection relationship, determining a set of non-manifold structure information, wherein the geometric vertices and the attribute vertices in the manifold mesh share non-manifold identification information in the set of non-manifold structure information, and the geometric repeated vertices and the attribute repeated vertices in the manifold mesh share index information in the set of non-manifold structure information; or,
[0224] When the first indication information indicates that the geometric vertices and attribute vertices in the original mesh have different connection relationships, two sets of non-manifold structure information are determined, wherein the geometric vertices and geometric repeated vertices in the manifold mesh correspond to one set of non-manifold structure information in the two sets of non-manifold structure information, and the attribute vertices and attribute repeated vertices in the manifold mesh correspond to the other set of non-manifold structure information in the two sets of non-manifold structure information.
[0225] Optionally, the device of the embodiment of the present application further includes:
[0226] A second acquisition module is used to encode the manifold grid to obtain a second bit stream, wherein the manifold grid is obtained after the encoder performs a splitting process on the non-manifold structure in the original grid;
[0227] The third acquisition module is used to obtain the total code stream of the original grid according to the first code stream and the second code stream.
[0228] Optionally, the second acquisition module is used to encode the target information of the manifold grid to obtain the second code stream;
[0229] The target information includes connection relationship, geometric information and attribute information.
[0230] In the device of the embodiment of the present application, the encoding end determines first indication information, and the first indication information is used to indicate whether the geometric vertices and attribute vertices in the original mesh have the same connection relationship; the encoding end determines one or two groups of non-manifold structure information based on the first indication information, and each group of non-manifold structure information includes: non-manifold identification information of the target vertex and index information of the target repeated vertex; the target vertex includes the geometric vertex and the attribute vertex in the manifold mesh, and the manifold mesh is obtained after the non-manifold structure in the original mesh is split, and the non-manifold identification information is used to indicate whether the target vertex is a vertex generated when the non-manifold structure is split; the target repeated vertex is a repeated vertex generated when the non-manifold structure in the original mesh is split, and the target repeated vertex includes geometric repeated vertices and attribute repeated vertices; the first indication information and the one or two groups of non-manifold structure information are encoded to obtain a first code stream. Through the above scheme, the decoding end can decode the non-manifold identification information of the geometric vertices and attribute vertices in the manifold mesh and the index information of the target repeated vertices. Based on the non-manifold identification information of the geometric vertices and attribute vertices and the index information of the target repeated vertices, the geometric repeated vertices and attribute repeated vertices generated by splitting the non-manifold structure can be merged to restore the non-manifold structure of the original mesh, thereby fully realizing lossless decoding of the original mesh containing the non-manifold structure.
[0231] like Fig.12 As shown, the embodiment of the present application further provides a decoding device 1200, including:
[0232] The fourth acquisition module 1201 is used to decode the first code stream to obtain decoding information, wherein the decoding information includes first indication information and one or two groups of non-manifold structure information, each group of the non-manifold structure information includes: non-manifold identification information of the target vertex and index information of the target repeated vertex; the target vertex includes geometric vertices and attribute vertices in a manifold mesh, the manifold mesh is obtained after splitting the non-manifold structure in the original mesh, the non-manifold identification information is used to indicate whether the target vertex is a repeated vertex generated when the non-manifold structure is split, the target repeated vertex is a repeated vertex generated when the encoding end splits the non-manifold structure in the original mesh, and the target repeated vertex includes geometric repeated vertices and attribute repeated vertices, and the first indication information is used to indicate whether the geometric vertices and attribute vertices in the original mesh have the same connection relationship;
[0233] The restoration module 1202 is used to restore the non-manifold structure in the original grid according to the decoded information.
[0234] Optionally, the decoding information further includes second indication information, where the second indication information is used to indicate whether a non-manifold structure exists in the original grid;
[0235] The recovery module is used to:
[0236] When the second indication information indicates that a non-manifold structure exists in the original mesh, the non-manifold structure in the original mesh is restored according to the first indication information and the one or two sets of non-manifold structure information.
[0237] Optionally, the fourth acquisition module includes:
[0238] A first acquisition submodule, used for decoding the first code stream to obtain first indication information and second indication information;
[0239] a second acquisition submodule, configured to, when the first indication information indicates that the geometric vertices and the attribute vertices in the original mesh have the same connection relationship, decode from the first bitstream to obtain a set of non-manifold structure information, wherein the geometric vertices and the attribute vertices in the manifold mesh share the non-manifold identification information in the set of non-manifold structure information, and the geometric repeated vertices and the attribute repeated vertices in the manifold mesh share the index information in the set of non-manifold structure information; or,
[0240] A third acquisition submodule is used to decode from the first code stream to obtain two sets of non-manifold structure information when the first indication information indicates that the geometric vertices and attribute vertices in the original mesh have different connection relationships, wherein the geometric vertices and geometric repeated vertices in the manifold mesh correspond to one set of non-manifold structure information in the two sets of non-manifold structure information, and the attribute vertices and attribute repeated vertices in the manifold mesh correspond to the other set of non-manifold structure information in the two sets of non-manifold structure information.
[0241] Optionally, the recovery module includes:
[0242] A fourth acquisition submodule is used to decode the second code stream to obtain target information of the manifold grid, wherein the target information includes connection relationship, geometric information and attribute information;
[0243] A reconstruction submodule, used for reconstructing a manifold grid according to target information of the manifold grid;
[0244] A restoration submodule is used to restore the non-manifold structure in the original mesh according to the reconstructed manifold mesh, the first indication information and the one or two sets of non-manifold structure information.
[0245] The device of the embodiment of the present application decodes the first code stream to obtain the first indication information, the second indication information and one or two groups of non-manifold structure information, each group of the non-manifold structure information includes: non-manifold identification information of the target vertex and index information of the target repeated vertex; according to the first indication information, the second indication information and the one or two groups of non-manifold structure information, the non-manifold structure in the original mesh is restored. Through the above scheme, the decoding end can decode and obtain the non-manifold identification information of the geometric vertices and attribute vertices in the manifold mesh and the index information of the target repeated vertices. Based on the non-manifold identification information of the geometric vertices and attribute vertices and the index information of the target repeated vertices, the geometric repeated vertices and attribute repeated vertices generated by splitting the non-manifold structure can be merged to restore the non-manifold structure of the original mesh, thereby being able to fully realize lossless decoding of the original mesh containing the non-manifold structure.
[0246] The encoding device or decoding device in the embodiment of the present application may be an electronic device, such as an electronic device with an operating system, or a component in an electronic device, such as an integrated circuit or a chip. The electronic device may be a terminal, or may be other devices other than a terminal. Exemplary other devices may be servers, network attached storage (NAS), etc., which are not specifically limited in the embodiment of the present application.
[0247] The encoding device provided in the embodiment of the present application can achieve Figure 2The various processes implemented by the method embodiment and achieving the same technical effect are not described here to avoid repetition.
[0248] The decoding device provided in the embodiment of the present application can achieve Fig. 9 The various processes implemented by the method embodiment and achieving the same technical effect are not described here to avoid repetition.
[0249] Optional, such as Fig.13 As shown, an embodiment of the present application also provides an electronic device 1300, including a processor 1301 and a memory 1302, wherein the memory 1302 stores a program or instruction that can be executed on the processor 1301, and when the program or instruction is executed by the processor 1301, each step of the above-mentioned encoding method or decoding method embodiment is implemented, and the same technical effect can be achieved. To avoid repetition, it will not be repeated here.
[0250] An embodiment of the present application also provides an encoding device, including a processor and a communication interface, the processor is used to determine first indication information, the first indication information is used to indicate whether the geometric vertices and attribute vertices in the original mesh have the same connection relationship; according to the first indication information, one or two groups of non-manifold structure information are determined, each group of the non-manifold structure information includes: non-manifold identification information of the target vertex and index information of the target repeated vertex; the target vertex includes the geometric vertex and the attribute vertex in the manifold mesh, the manifold mesh is obtained after splitting the non-manifold structure in the original mesh, and the non-manifold identification information is used to indicate whether the target vertex is a repeated vertex generated when the non-manifold structure is split; the target repeated vertex is the repeated vertex generated when the encoding end splits the non-manifold structure in the original mesh, and the target repeated vertices include geometric repeated vertices and attribute repeated vertices; the first indication information and the one or two groups of non-manifold structure information are encoded to obtain a first code stream.
[0251] An embodiment of the present application also provides a decoding device, including a processor and a communication interface, the processor is used to decode a first code stream to obtain decoding information, the decoding information includes first indication information and one or two groups of non-manifold structure information, each group of the non-manifold structure information includes: non-manifold identification information of the target vertex and index information of the target repeated vertex; the target vertex includes geometric vertices and attribute vertices in a manifold mesh, the manifold mesh is obtained after splitting the non-manifold structure in the original mesh, the non-manifold identification information is used to indicate whether the target vertex is a repeated vertex generated when the non-manifold structure is split, the target repeated vertex is a repeated vertex generated when the encoding end splits the non-manifold structure in the original mesh, and the target repeated vertices include geometric repeated vertices and attribute repeated vertices, the first indication information is used to indicate whether the geometric vertices and attribute vertices in the original mesh have the same connection relationship; according to the decoding information, the non-manifold structure in the original mesh is restored.
[0252] Specifically, Fig.14 A schematic diagram of the hardware structure of an encoding device or a decoding device for implementing an embodiment of the present application.
[0253] The encoding device or decoding device includes but is not limited to: a radio frequency unit 1401, a network module 1402, an audio output unit 1403, an input unit 1404, a sensor 1405, a display unit 1406, a user input unit 1407, an interface unit 1408, a memory 1409 and at least some of the components of the processor 1410.
[0254] Those skilled in the art will appreciate that the encoding device or decoding device may also include a power source (such as a battery) for supplying power to each component, and the power source may be logically connected to the processor 1410 through a power management system, thereby implementing functions such as managing charging, discharging, and power consumption management through the power management system. Fig.14 The device structure shown in the figure does not constitute a limitation of the device. The device may include more or fewer components than shown in the figure, or combine certain components, or arrange the components differently, which will not be described in detail here.
[0255] It should be understood that in the embodiment of the present application, the input unit 1404 may include a graphics processing unit (GPU) 14041 and a microphone 14042, and the graphics processor 14041 processes the image data of a static picture or video obtained by an image capture device (such as a camera) in a video capture mode or an image capture mode. The display unit 1406 may include a display panel 14061, and the display panel 14061 may be configured in the form of a liquid crystal display, an organic light emitting diode, etc. The user input unit 1407 includes a touch panel 14071 and at least one of other input devices 14072. The touch panel 14071 is also called a touch screen. The touch panel 14071 may include two parts: a touch detection device and a touch controller. Other input devices 14072 may include, but are not limited to, a physical keyboard, function keys (such as a volume control button, a switch button, etc.), a trackball, a mouse, and a joystick, which will not be repeated here.
[0256] In the embodiment of the present application, after receiving downlink data from the network side device, the radio frequency unit 1401 can transmit the data to the processor 1410 for processing; in addition, the radio frequency unit 1401 can send uplink data to the network side device. Generally, the radio frequency unit 1401 includes but is not limited to an antenna, an amplifier, a transceiver, a coupler, a low noise amplifier, a duplexer, etc.
[0257] The memory 1409 can be used to store software programs or instructions and various data. The memory 1409 may mainly include a first storage area for storing programs or instructions and a second storage area for storing data, wherein the first storage area may store an operating system, an application program or instruction required for at least one function (such as a sound playback function, an image playback function, etc.), etc. In addition, the memory 1409 may include a volatile memory or a non-volatile memory, or the memory 1409 may include both volatile and non-volatile memories. Among them, the non-volatile memory may be a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), or a flash memory. The volatile memory may be a random access memory (RAM), a static random access memory (SRAM), a dynamic random access memory (DRAM), a synchronous dynamic random access memory (SDRAM), a double data rate synchronous dynamic random access memory (DDRSDRAM), an enhanced synchronous dynamic random access memory (ESDRAM), a synchronous link dynamic random access memory (SLDRAM) and a direct memory bus random access memory (DRRAM). The memory 1409 in the embodiment of the present application includes but is not limited to these and any other suitable types of memory.
[0258] The processor 1410 may include one or more processing units; optionally, the processor 1410 integrates an application processor and a modem processor, wherein the application processor mainly processes operations related to an operating system, a user interface, and application programs, and the modem processor mainly processes wireless communication signals, such as a baseband processor. It is understandable that the modem processor may not be integrated into the processor 1410.
[0259] Optionally, in the case where the device is an encoding device:
[0260] Processor 1410 is used to determine first indication information, where the first indication information is used to indicate whether geometric vertices and attribute vertices in the original mesh have the same connection relationship;
[0261] According to the first indication information, one or two groups of non-manifold structure information are determined, each group of the non-manifold structure information includes: non-manifold identification information of the target vertex and index information of the target repeated vertex; the target vertex includes the geometric vertex and the attribute vertex in the manifold mesh, the manifold mesh is obtained after splitting the non-manifold structure in the original mesh, and the non-manifold identification information is used to indicate whether the target vertex is a repeated vertex generated when the non-manifold structure is split; the target repeated vertex is the repeated vertex generated when the encoding end splits the non-manifold structure in the original mesh, and the target repeated vertices include geometric repeated vertices and attribute repeated vertices;
[0262] The first indication information and the one or two groups of non-manifold structure information are encoded to obtain a first code stream.
[0263] Optionally, the first code stream further includes: encoding information of second indication information, where the second indication information is used to indicate whether a non-manifold structure exists in the original grid.
[0264] Optionally, the processor 1410 is further configured to:
[0265] In the case where the first indication information indicates that the geometric vertices and the attribute vertices in the original mesh have the same connection relationship, determining a set of non-manifold structure information, wherein the geometric vertices and the attribute vertices in the manifold mesh share non-manifold identification information in the set of non-manifold structure information, and the geometric repeated vertices and the attribute repeated vertices in the manifold mesh share index information in the set of non-manifold structure information; or,
[0266] When the first indication information indicates that the geometric vertices and attribute vertices in the original mesh have different connection relationships, two sets of non-manifold structure information are determined, wherein the geometric vertices and geometric repeated vertices in the manifold mesh correspond to one set of non-manifold structure information in the two sets of non-manifold structure information, and the attribute vertices and attribute repeated vertices in the manifold mesh correspond to the other set of non-manifold structure information in the two sets of non-manifold structure information.
[0267] Optionally, the processor 1410 is further configured to:
[0268] Encoding the manifold grid to obtain a second bitstream, wherein the manifold grid is obtained after the encoding end performs splitting processing on the non-manifold structure in the original grid;
[0269] A total code stream of the original grid is obtained according to the first code stream and the second code stream.
[0270] Optionally, the processor 1410 is further configured to:
[0271] Encoding the target information of the manifold grid to obtain the second code stream;
[0272] The target information includes connection relationship, geometric information and attribute information.
[0273] Optionally, when the above device is a decoding device:
[0274] Processor 1410 is used to decode the first code stream to obtain decoding information, wherein the decoding information includes first indication information and one or two groups of non-manifold structure information, each group of the non-manifold structure information includes: non-manifold identification information of the target vertex and index information of the target repeated vertex; the target vertex includes geometric vertices and attribute vertices in a manifold mesh, the manifold mesh is obtained after splitting the non-manifold structure in the original mesh, the non-manifold identification information is used to indicate whether the target vertex is a repeated vertex generated when the non-manifold structure is split, the target repeated vertex is a repeated vertex generated when the encoder splits the non-manifold structure in the original mesh, and the target repeated vertex includes geometric repeated vertices and attribute repeated vertices, and the first indication information is used to indicate whether the geometric vertices and attribute vertices in the original mesh have the same connection relationship;
[0275] The non-manifold structure in the original grid is restored according to the decoded information.
[0276] Optionally, the decoding information further includes second indication information, where the second indication information is used to indicate whether a non-manifold structure exists in the original grid;
[0277] Optionally, the processor 1410 is further configured to:
[0278] When the second indication information indicates that a non-manifold structure exists in the original mesh, the non-manifold structure in the original mesh is restored according to the first indication information and the one or two sets of non-manifold structure information.
[0279] Optionally, the processor 1410 is further configured to:
[0280] The decoding end decodes the first code stream to obtain first indication information and second indication information;
[0281] In the case where the first indication information indicates that the geometric vertices and the attribute vertices in the original mesh have the same connection relationship, a set of non-manifold structure information is decoded from the first code stream, wherein the geometric vertices and the attribute vertices in the manifold mesh share non-manifold identification information in the set of non-manifold structure information, and the geometric repeated vertices and the attribute repeated vertices in the manifold mesh share index information in the set of non-manifold structure information; or,
[0282] When the first indication information indicates that the geometric vertices and attribute vertices in the original mesh have different connection relationships, two sets of non-manifold structure information are decoded from the first code stream, wherein the geometric vertices and geometric repeated vertices in the manifold mesh correspond to one set of non-manifold structure information in the two sets of non-manifold structure information, and the attribute vertices and attribute repeated vertices in the manifold mesh correspond to the other set of non-manifold structure information in the two sets of non-manifold structure information.
[0283] Optionally, the processor 1410 is further configured to:
[0284] Decoding the second code stream to obtain target information of the manifold grid, wherein the target information includes connection relationship, geometric information and attribute information;
[0285] Reconstructing a manifold grid according to target information of the manifold grid;
[0286] The non-manifold structure in the original mesh is restored according to the reconstructed manifold mesh, the first indication information and the one or two sets of non-manifold structure information.
[0287] In an embodiment of the present application, first indication information is determined, and the first indication information is used to indicate whether the geometric vertices and attribute vertices in the original mesh have the same connection relationship; the encoding end determines one or two groups of non-manifold structure information based on the first indication information, and each group of non-manifold structure information includes: non-manifold identification information of the target vertex and index information of the target repeated vertex; the target vertex includes the geometric vertex and the attribute vertex in the manifold mesh, and the manifold mesh is obtained after splitting the non-manifold structure in the original mesh, and the non-manifold identification information is used to indicate whether the target vertex is a vertex generated when the non-manifold structure is split; the target repeated vertex is a repeated vertex generated when the non-manifold structure in the original mesh is split, and the target repeated vertex includes geometric repeated vertices and attribute repeated vertices; the first indication information and the one or two groups of non-manifold structure information are encoded to obtain a first code stream. Through the above scheme, the decoding end can decode the non-manifold identification information of the geometric vertices and attribute vertices in the manifold mesh and the index information of the target repeated vertices. Based on the non-manifold identification information of the geometric vertices and attribute vertices and the index information of the target repeated vertices, the geometric repeated vertices and attribute repeated vertices generated by splitting the non-manifold structure can be merged to restore the non-manifold structure of the original mesh, thereby fully realizing lossless decoding of the original mesh containing the non-manifold structure.
[0288] An embodiment of the present application also provides a readable storage medium, on which a program or instruction is stored. When the program or instruction is executed by a processor, each process of the above-mentioned encoding method or decoding method embodiment is implemented, and the same technical effect can be achieved. To avoid repetition, it will not be repeated here.
[0289] The processor is the processor in the device described in the above embodiment. The readable storage medium includes a computer readable storage medium, such as a computer read-only memory ROM, a random access memory RAM, a magnetic disk or an optical disk.
[0290] An embodiment of the present application further provides a chip, which includes a processor and a communication interface, wherein the communication interface is coupled to the processor, and the processor is used to run programs or instructions to implement the various processes of the above-mentioned encoding method or decoding method embodiment, and can achieve the same technical effect. To avoid repetition, it will not be repeated here.
[0291] It should be understood that the chip mentioned in the embodiments of the present application can also be called a system-level chip, a system chip, a chip system or a system-on-chip chip, etc.
[0292] The embodiments of the present application further provide a computer program / program product, which is stored in a storage medium. The computer program / program product is executed by at least one processor to implement the various processes of the above-mentioned encoding method or decoding method embodiments, and can achieve the same technical effect. To avoid repetition, it will not be repeated here.
[0293] An embodiment of the present application further provides a coding and decoding system, including: a coding device or a decoding device, wherein the coding device can be used to execute the steps of the coding method described above, and the decoding device can be used to execute the steps of the decoding method described above.
[0294] It should be noted that, in this article, the terms "comprise", "include" or any other variant thereof are intended to cover non-exclusive inclusion, so that the process, method, article or device including a series of elements includes not only those elements, but also includes other elements not explicitly listed, or also includes elements inherent to such process, method, article or device. In the absence of further restrictions, the elements defined by the sentence "comprise one..." do not exclude the presence of other 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 performing functions in the order shown or discussed, and may also include performing functions in a substantially simultaneous manner or in reverse order according to the functions involved, for example, the described method may be performed in an order different from that described, and various steps may also be added, omitted, or combined. In addition, the features described with reference to certain examples may be combined in other examples.
[0295] Through the description of the above implementation methods, those skilled in the art can clearly understand that the above-mentioned embodiment methods can be implemented by means of software plus a necessary general hardware platform, and of course by hardware, but in many cases the former is a better implementation method. Based on such an understanding, the technical solution of the present application, or the part that contributes to the prior art, can be embodied in the form of a computer software product, which is stored in a storage medium (such as ROM / RAM, magnetic disk, optical disk), and includes a number of instructions for a terminal (which can be a mobile phone, computer, server, air conditioner, or network device, etc.) to execute the methods described in each embodiment of the present application.
[0296] The embodiments of the present application are described above in conjunction with the accompanying drawings, but the present application is not limited to the above-mentioned specific implementation methods. The above-mentioned specific implementation methods are merely illustrative and not restrictive. Under the guidance of the present application, ordinary technicians in this field can also make many forms without departing from the purpose of the present application and the scope of protection of the claims, all of which are within the protection of the present application.
Claims
1. A coding method, characterized in that: include: The encoder determines first indication information, where the first indication information is used to indicate whether the geometric vertices and the attribute vertices in the original mesh have the same connection relationship; The encoding end determines one or two groups of non-manifold structure information according to the first indication information, each group of the non-manifold structure information includes: non-manifold identification information of the target vertex and index information of the target repeated vertex; the target vertex includes the geometric vertex and the attribute vertex in the manifold mesh, the manifold mesh is obtained after splitting the non-manifold structure in the original mesh, and the non-manifold identification information is used to indicate whether the target vertex is a repeated vertex generated when the non-manifold structure is split; the target repeated vertex is the repeated vertex generated when the encoding end splits the non-manifold structure in the original mesh, and the target repeated vertices include geometric repeated vertices and attribute repeated vertices; The encoding end encodes the first indication information and the one or two groups of non-manifold structure information to obtain a first code stream.
2. The method according to claim 1, characterized in that The first code stream further includes: encoding information of second indication information, where the second indication information is used to indicate whether there is a non-manifold structure in the original grid.
3. The method according to claim 1 or 2, characterized in that: The encoder determines, according to the first indication information, one or two sets of non-manifold structure information, including at least one of the following: In a case where the first indication information indicates that the geometric vertices and the attribute vertices in the original mesh have the same connection relationship, the encoding end determines a set of non-manifold structure information, wherein the geometric vertices and the attribute vertices in the manifold mesh share non-manifold identification information in the set of non-manifold structure information, and the geometric repeated vertices and the attribute repeated vertices in the manifold mesh share index information in the set of non-manifold structure information; or, When the first indication information indicates that the geometric vertices and attribute vertices in the original mesh have different connection relationships, the encoding end determines two sets of non-manifold structure information, wherein the geometric vertices and geometric repeated vertices in the manifold mesh correspond to one set of non-manifold structure information in the two sets of non-manifold structure information, and the attribute vertices and attribute repeated vertices in the manifold mesh correspond to the other set of non-manifold structure information in the two sets of non-manifold structure information.
4. The method according to any one of claims 1 to 3, characterized in that: The method further comprises: The encoding end encodes the manifold grid to obtain a second bitstream, wherein the manifold grid is obtained after the encoding end performs a splitting process on the non-manifold structure in the original grid; The encoding end obtains a total bitstream of the original grid according to the first bitstream and the second bitstream.
5. The method according to claim 4, characterized in that The encoding end encodes the manifold grid to obtain a second code stream, including: The encoding end encodes the target information of the manifold grid to obtain the second code stream; The target information includes connection relationship, geometric information and attribute information.
6. A decoding method, characterized in that: include: The decoding end decodes the first code stream to obtain decoding information, wherein the decoding information includes first indication information and one or two groups of non-manifold structure information, each group of the non-manifold structure information includes: non-manifold identification information of the target vertex and index information of the target repeated vertex; the target vertex includes geometric vertices and attribute vertices in a manifold mesh, the manifold mesh is obtained after splitting the non-manifold structure in the original mesh, the non-manifold identification information is used to indicate whether the target vertex is a repeated vertex generated when the non-manifold structure is split, the target repeated vertex is a repeated vertex generated when the encoding end splits the non-manifold structure in the original mesh, and the target repeated vertex includes geometric repeated vertices and attribute repeated vertices, and the first indication information is used to indicate whether the geometric vertices and attribute vertices in the original mesh have the same connection relationship; The decoding end restores the non-manifold structure in the original grid according to the decoding information.
7. The method according to claim 6, characterized in that The decoded information further includes second indication information, where the second indication information is used to indicate whether there is a non-manifold structure in the original grid; The decoding end restores the non-manifold structure in the original grid according to the decoded information, including: When the second indication information indicates that a non-manifold structure exists in the original mesh, the non-manifold structure in the original mesh is restored according to the first indication information and the one or two sets of non-manifold structure information.
8. The method according to claim 6 or 7, characterized in that: The decoding end decodes the first code stream to obtain decoding information, including: The decoding end decodes the first code stream to obtain first indication information and second indication information; In the case where the first indication information indicates that the geometric vertices and the attribute vertices in the original mesh have the same connection relationship, a set of non-manifold structure information is decoded from the first code stream, wherein the geometric vertices and the attribute vertices in the manifold mesh share non-manifold identification information in the set of non-manifold structure information, and the geometric repeated vertices and the attribute repeated vertices in the manifold mesh share index information in the set of non-manifold structure information; or, When the first indication information indicates that the geometric vertices and attribute vertices in the original mesh have different connection relationships, two sets of non-manifold structure information are decoded from the first code stream, wherein the geometric vertices and geometric repeated vertices in the manifold mesh correspond to one set of non-manifold structure information in the two sets of non-manifold structure information, and the attribute vertices and attribute repeated vertices in the manifold mesh correspond to the other set of non-manifold structure information in the two sets of non-manifold structure information.
9. The method according to claim 7, characterized in that: The decoding end restores the non-manifold structure in the original grid according to the first indication information and the one or two sets of non-manifold structure information, including: The decoding end decodes the second code stream to obtain target information of the manifold grid, wherein the target information includes connection relationship, geometric information and attribute information; Reconstructing a manifold grid according to target information of the manifold grid; The non-manifold structure in the original mesh is restored according to the reconstructed manifold mesh, the first indication information and the one or two sets of non-manifold structure information.
10. A coding device, characterized in that: include: A first determination module, used to determine first indication information, where the first indication information is used to indicate whether the geometric vertices and attribute vertices in the original mesh have the same connection relationship; A second determination module is used to determine one or two groups of non-manifold structure information according to the first indication information, each group of the non-manifold structure information includes: non-manifold identification information of the target vertex and index information of the target repeated vertex; the target vertex includes the geometric vertex and the attribute vertex in the manifold mesh, the manifold mesh is obtained after splitting the non-manifold structure in the original mesh, and the non-manifold identification information is used to indicate whether the target vertex is a repeated vertex generated when the non-manifold structure is split; the target repeated vertex is the repeated vertex generated when the encoding end splits the non-manifold structure in the original mesh, and the target repeated vertices include geometric repeated vertices and attribute repeated vertices; The first acquisition module is used to encode the first indication information and the one or two groups of non-manifold structure information to obtain a first code stream.
11. The device according to claim 10, characterized in that The first code stream further includes: encoding information of second indication information, where the second indication information is used to indicate whether there is a non-manifold structure in the original grid.
12. The device according to claim 10 or 11, characterized in that The second determining module is configured to perform at least one of the following: In the case where the first indication information indicates that the geometric vertices and the attribute vertices in the original mesh have the same connection relationship, determining a set of non-manifold structure information, wherein the geometric vertices and the attribute vertices in the manifold mesh share non-manifold identification information in the set of non-manifold structure information, and the geometric repeated vertices and the attribute repeated vertices in the manifold mesh share index information in the set of non-manifold structure information; or, When the first indication information indicates that the geometric vertices and attribute vertices in the original mesh have different connection relationships, two sets of non-manifold structure information are determined, wherein the geometric vertices and geometric repeated vertices in the manifold mesh correspond to one set of non-manifold structure information in the two sets of non-manifold structure information, and the attribute vertices and attribute repeated vertices in the manifold mesh correspond to the other set of non-manifold structure information in the two sets of non-manifold structure information.
13. The device according to any one of claims 10 to 12, characterized in that Also includes: A second acquisition module is used to encode the manifold grid to obtain a second bit stream, wherein the manifold grid is obtained after the encoder performs a splitting process on the non-manifold structure in the original grid; The third acquisition module is used to obtain the total code stream of the original grid according to the first code stream and the second code stream.
14. The device according to claim 13, characterized in that The second acquisition module is used to encode the target information of the manifold grid to obtain the second code stream; The target information includes connection relationship, geometric information and attribute information.
15. A decoding device, characterized in that: include: A fourth acquisition module is used to decode the first code stream to obtain decoding information, wherein the decoding information includes first indication information and one or two groups of non-manifold structure information, each group of the non-manifold structure information includes: non-manifold identification information of the target vertex and index information of the target repeated vertex; the target vertex includes geometric vertices and attribute vertices in a manifold mesh, the manifold mesh is obtained after splitting the non-manifold structure in the original mesh, the non-manifold identification information is used to indicate whether the target vertex is a repeated vertex generated when the non-manifold structure is split, the target repeated vertex is a repeated vertex generated when the encoding end splits the non-manifold structure in the original mesh, and the target repeated vertex includes geometric repeated vertices and attribute repeated vertices, and the first indication information is used to indicate whether the geometric vertices and attribute vertices in the original mesh have the same connection relationship; The recovery module is used to recover the non-manifold structure in the original grid according to the decoded information.
16. The device according to claim 15, characterized in that The decoded information further includes second indication information, where the second indication information is used to indicate whether there is a non-manifold structure in the original grid; The recovery module is used to restore the non-manifold structure in the original mesh according to the first indication information and the one or two groups of non-manifold structure information when the second indication information indicates that the non-manifold structure exists in the original mesh.
17. The device according to claim 15 or 16, characterized in that The fourth acquisition module includes: A first acquisition submodule, used for decoding the first code stream to obtain first indication information and second indication information; a second acquisition submodule, configured to, when the first indication information indicates that the geometric vertices and the attribute vertices in the original mesh have the same connection relationship, decode from the first bitstream to obtain a set of non-manifold structure information, wherein the geometric vertices and the attribute vertices in the manifold mesh share the non-manifold identification information in the set of non-manifold structure information, and the geometric repeated vertices and the attribute repeated vertices in the manifold mesh share the index information in the set of non-manifold structure information; or, A third acquisition submodule is used to decode from the first code stream to obtain two sets of non-manifold structure information when the first indication information indicates that the geometric vertices and attribute vertices in the original mesh have different connection relationships, wherein the geometric vertices and geometric repeated vertices in the manifold mesh correspond to one set of non-manifold structure information in the two sets of non-manifold structure information, and the attribute vertices and attribute repeated vertices in the manifold mesh correspond to the other set of non-manifold structure information in the two sets of non-manifold structure information.
18. The device according to claim 16, characterized in that The recovery module comprises: A fourth acquisition submodule is used to decode the second code stream to obtain target information of the manifold grid, wherein the target information includes connection relationship, geometric information and attribute information; A reconstruction submodule, used for reconstructing a manifold grid according to target information of the manifold grid; A restoration submodule is used to restore the non-manifold structure in the original mesh according to the reconstructed manifold mesh, the first indication information, the second indication information and the one or two sets of non-manifold structure information.
19. An electronic device, characterized in that: The method comprises a processor and a memory, wherein the memory stores a program or instruction that can be run on the processor, and when the program or instruction is executed by the processor, the steps of the encoding method as described in any one of claims 1 to 5 are implemented, or the steps of the decoding method as described in any one of claims 6 to 9 are implemented.
20. A readable storage medium, characterized in that: The readable storage medium stores a program or instruction, and when the program or instruction is executed by a processor, the steps of the encoding method as described in any one of claims 1 to 5 are implemented, or the steps of the decoding method as described in any one of claims 6 to 9 are implemented.
Citation Information
Cited By
Encoding method, decoding method, apparatus, and device
EP4738260A1