WO2025002018A1 - 编码方法、解码方法、装置及设备 - Google Patents
编码方法、解码方法、装置及设备 Download PDFInfo
- Publication number
- WO2025002018A1 WO2025002018A1 PCT/CN2024/100834 CN2024100834W WO2025002018A1 WO 2025002018 A1 WO2025002018 A1 WO 2025002018A1 CN 2024100834 W CN2024100834 W CN 2024100834W WO 2025002018 A1 WO2025002018 A1 WO 2025002018A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- manifold
- information
- repeated
- vertices
- mesh
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/001—Model-based coding, e.g. wire frame
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
Definitions
- 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.
- the embodiments of the present application provide an encoding method, a decoding method, an apparatus and a device, which can solve the problem of how to efficiently achieve lossless encoding of three-dimensional meshes.
- a coding method comprising:
- the encoder splits the non-manifold structure in the original grid to obtain a manifold grid
- the encoding end adds non-manifold identification information to the repeated vertices in the manifold mesh, and determines index information of a first repeated vertex among the repeated vertices, wherein the non-manifold identification information is used to indicate whether the repeated vertex is a repeated vertex generated when the non-manifold structure is split, and the first repeated vertex is a repeated vertex generated when the non-manifold structure is split;
- the encoding end encodes the non-manifold identification information and the index information of the first repeated vertex to obtain a first code stream, and the first indication information is used to indicate whether there is a non-manifold structure in the original mesh.
- a decoding method comprising:
- the decoding end decodes the first code stream to obtain decoding information, wherein the decoding information includes non-manifold identification information and index information of the first repeated vertex, wherein the first repeated vertex is the non-manifold structure in the original mesh split.
- the generated duplicate vertices, the non-manifold identification information is used to indicate whether the duplicate vertices are duplicate vertices generated when the non-manifold structure is split;
- the decoding end restores the non-manifold structure in the original grid according to the decoding information.
- an encoding device comprising:
- the first acquisition module is used to split the non-manifold structure in the original grid to obtain a manifold grid
- a first processing module used for adding non-manifold identification information to repeated vertices in the manifold mesh, and determining index information of a first repeated vertex among the repeated vertices, wherein the non-manifold identification information is used for indicating whether the repeated vertex is a repeated vertex generated when the non-manifold structure is split, and the first repeated vertex is a repeated vertex generated when the non-manifold structure is split;
- the second acquisition module is used to encode the non-manifold identification information and the index information of the first repeated vertex to obtain a first code stream.
- a decoding device comprising:
- a fifth acquisition module configured to decode the first code stream to obtain decoding information, wherein the decoding information includes non-manifold identification information and index information of a first repeated vertex, wherein the first repeated vertex is a repeated vertex generated by splitting a non-manifold structure in an original mesh, and the non-manifold identification information is used to indicate whether the repeated vertex is a repeated vertex generated when the non-manifold structure is split;
- the second processing module is used to restore the non-manifold structure in the original grid according to the decoded information.
- a coding device comprising a processor and a communication interface, wherein the processor is used to split a non-manifold structure in an original mesh to obtain a manifold mesh; add non-manifold identification information to repeated vertices in the manifold mesh, and determine the index information of the first repeated vertex in the repeated vertices, wherein the non-manifold identification information is used to indicate whether the repeated vertex is a repeated vertex generated when the non-manifold structure is split, and the first repeated vertex is a repeated vertex generated when the non-manifold structure is split; encode the non-manifold identification information and the index information of the first repeated vertex to obtain a first code stream.
- a decoding device 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 non-manifold identification information and index information of a first repeated vertex, the first repeated vertex is a repeated vertex generated by splitting a non-manifold structure in an original mesh, and the non-manifold identification information is used to indicate whether the repeated vertex is a repeated vertex generated when the non-manifold structure is split; according to the decoding information, the non-manifold structure in the original mesh is restored.
- an electronic device 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.
- a coding and decoding system 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.
- a readable storage medium stores a program or an instruction, wherein the program When the program or instruction is executed by the 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.
- a chip 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.
- 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.
- the encoding end performs a splitting process on the non-manifold structure in the original mesh to obtain a manifold mesh; adds non-manifold identification information to the repeated vertices in the manifold mesh, and determines the index information of the first repeated vertex in the repeated vertices, the non-manifold identification information is used to indicate whether the repeated vertex is a repeated vertex generated when the non-manifold structure is split, and the first repeated vertex is a repeated vertex generated when the non-manifold structure is split; the encoding end encodes the non-manifold identification information and the index information of the first repeated vertex to obtain a first code stream.
- the decoding end can restore the non-manifold structure of the original mesh based on the non-manifold identification information and the index information of the first repeated vertex obtained by decoding the first code stream, thereby achieving the purpose of lossless encoding of the original mesh. Because the encoding end only adds non-manifold identification to the repeated points in the manifold mesh when encoding the mesh containing the non-manifold structure, instead of adding non-manifold identification to each vertex in the manifold mesh, it can more efficiently achieve lossless encoding of the three-dimensional mesh.
- Figure 1 shows a schematic diagram of five modes of Edgebreaker encoding method
- FIG2 is a schematic diagram showing a flow chart of an encoding method according to an embodiment of the present application.
- FIG3 is a schematic diagram of a three-dimensional grid lossless coding framework according to an embodiment of the present application.
- FIG4 is a schematic diagram showing the correspondence between edges and corners in a manifold grid according to an embodiment of the present application.
- FIG5 is a schematic diagram showing the angle relationship in an embodiment of the present application.
- FIG6 is a schematic diagram showing traversal rules of five modes of the Edgebreaker encoding method in an embodiment of the present application.
- FIG7 is a schematic diagram showing two adjacent triangles in a grid according to an embodiment of the present application.
- FIG8 is a schematic diagram showing UV coordinate prediction based on three-dimensional to two-dimensional projection in an embodiment of the present application.
- FIG9 is a schematic diagram showing a flow chart of a decoding method according to an embodiment of the present application.
- FIG10 is a schematic diagram showing a three-dimensional grid lossless decoding framework according to an embodiment of the present application.
- FIG11 is a schematic diagram showing a module of an encoding device according to an embodiment of the present application.
- FIG12 is a schematic diagram showing a module of a decoding device according to an embodiment of the present application.
- FIG13 is a block diagram showing a structure of an electronic device according to an embodiment of the present application.
- FIG14 is a block diagram showing the structure of an encoding device or a decoding device according to an embodiment of the present application.
- 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.
- “or” in the present application represents at least one of the connected objects.
- “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.
- 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.
- LTE Long Term Evolution
- LTE-A Long Term Evolution-Advanced
- CDMA Code Division Multiple Access
- TDMA Time Division Multiple Access
- FDMA Frequency Division Multiple Access
- OFDMA Orthogonal Frequency Division Multiple Access
- SC-FDMA Single-carrier Frequency-Division Multiple Access
- NR New Radio
- 6G 6th Generation
- 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.
- three-dimensional grid 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.
- 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 facets 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 (i.e. UV 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.
- the texture maps also need to be compressed.
- Draco is a library for compressing and decompressing three-dimensional (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.
- Edgebreaker requires the mesh to be encoded to be a manifold structure.
- Draco must split them into manifold structures to encode them correctly.
- 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.
- the Moving Pictures Experts Group (MPEG), an international standards organization for video image neighborhood, is developing a new dynamic 3D mesh compression standard (Video-based Dynamic Mesh Coding, V-DMC).
- V-DMC Video-based Dynamic Mesh Coding
- 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 non-manifold structure into a manifold structure and then encode it.
- the Edgebreaker-based 3D mesh codec provided by MPEG will record and encode the index information of duplicate points generated by the removal of non-manifolds at the encoding end, and add an identifier to each vertex of the manifold mesh after the removal to indicate whether it is a duplicate point generated by the removal of non-manifolds, so that the non-manifold structure of the original 3D mesh can be restored at the decoding end based on the identifier and the index information of duplicate points generated by the removal of non-manifolds to achieve lossless encoding of the 3D mesh.
- the removal of the non-manifold structure is achieved by adding duplicate points with the same geometric information and attribute information, in the decoded 3D mesh, only the duplicate points may be the points newly added due to the removal of non-manifolds. If a flag is set for each vertex to determine whether it is a point generated by the removal of non-manifolds, it will cause certain coding redundancy.
- the above two solutions are three-dimensional mesh compression solutions based on Edgebreaker, and both have the problem of splitting the non-manifold structure that may exist in the input mesh.
- For lossless compression it is necessary to restore the non-manifold structure that may exist in the original three-dimensional mesh at the decoding end. Therefore, a new lossless encoding method based on Edgebreaker that can achieve non-manifold three-dimensional mesh is proposed, which is of great significance for achieving lossless encoding of non-manifold meshes more efficiently.
- the 3D mesh compression tool currently provided by MPEG based on Edgebreaker converts the connection information, geometry
- the information and attribute information are encoded and stored separately.
- the core module that is, the module that encodes the connection information, uses the Edgebreaker algorithm.
- Conventional compression methods are used to encode the geometric information and attribute information, that is, data quantization, prediction compression (for example: parallelogram prediction) and entropy coding. Since the tool uses a connection relationship driven encoding method, the encoding of geometric information and attribute information will follow the encoding order of the connection information. In this way, the vertex order of the connection relationship encoding is implicitly included in the vertex order of the geometric information to avoid the separate transmission of the vertex order of the connection relationship encoding, thereby saving this part of the bit overhead.
- 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.
- 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.
- the five modes of the Edgebreaker method are shown in Figure 1.
- 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.
- 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 in counterclockwise order, the current triangle is marked as R mode.
- 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 in counterclockwise order, it is neither the previous vertex of the current active edge vertex nor the next vertex of the current active edge, then the current triangle is marked as S mode.
- the active boundary is updated and the next active edge is selected according to certain rules.
- the obtained CLERS string is entropy encoded to obtain higher compression efficiency.
- an embodiment of the present application provides an encoding method, including:
- Step 201 The encoder splits the non-manifold structure in the original grid to obtain a manifold grid.
- the original grid is a three-dimensional grid.
- the original grid can be understood as a three-dimensional grid corresponding to any video frame.
- the non-manifold structure in the embodiment of the present application includes at least one of a non-manifold edge and a non-manifold point.
- the non-manifold edge mentioned above refers to an edge in the mesh that exists in at least three triangles at the same time.
- the mesh is a manifold mesh, otherwise it is called a non-manifold mesh.
- the original mesh is split into manifold meshes to facilitate subsequent encoding based on an encoding scheme in related technologies, for example, encoding is performed using a three-dimensional mesh encoder based on Edgebreaker.
- Step 202 The encoding end adds non-manifold identification information to the repeated vertices in the manifold mesh, and determines the index information of the first repeated vertex among the repeated vertices, wherein the non-manifold identification information is used to indicate whether the repeated vertex is a repeated vertex generated when the non-manifold structure is split, and the first repeated vertex is a repeated vertex generated when the non-manifold structure is split.
- the repeated vertices include the first repeated vertices and the second repeated vertices.
- the second repeated vertices are repeated vertices in the original mesh before the non-manifold structure is split.
- non-manifold identification information is used to indicate whether the repeated vertices (i.e., repeated points) in the manifold mesh are repeated vertices generated when the non-manifold structure is split. For example, when the non-manifold identification information is 1, it indicates that the repeated vertices are repeated vertices generated when the non-manifold structure is split. When the non-manifold identification information is 0, it indicates that the repeated vertices are not repeated vertices generated when the non-manifold structure is split.
- Step 203 The encoding end encodes the non-manifold identification information and the index information of the first repeated vertex to obtain a first code stream
- the manifold mesh contains two types of duplicate points: one is the duplicate points existing in the original input mesh itself (i.e., the second duplicate vertices in this application), and the other is the duplicate points newly generated due to the splitting of the non-manifold structure (i.e., the first duplicate vertices mentioned above).
- the encoding end performs a splitting process on the non-manifold structure in the original mesh to obtain a manifold mesh; adds non-manifold identification information to the repeated vertices in the manifold mesh, and determines the index information of the first repeated vertex in the repeated vertices, the non-manifold identification information is used to indicate whether the repeated vertex is a repeated vertex generated when the non-manifold structure is split, and the first repeated vertex is a repeated vertex generated when the non-manifold structure is split; the encoding end encodes the non-manifold identification information and the index information of the first repeated vertex to obtain a first code stream.
- the decoding end can restore the non-manifold structure of the original mesh based on the non-manifold identification information and the index information of the first repeated vertex obtained by decoding the first code stream, thereby realizing lossless encoding of the original mesh.
- the encoder When encoding a mesh containing a non-manifold structure, the encoder only adds a non-manifold identifier to the repeated points in the manifold mesh, rather than adding a non-manifold identifier to each vertex in the manifold mesh, thereby enabling more efficient lossless encoding of the three-dimensional mesh.
- the first code stream further includes encoding information of first indication information, where the first indication information is used to indicate whether a non-manifold structure exists in the original grid.
- the method of the embodiment of the present application further includes:
- the encoding end encodes the manifold grid to obtain a second code stream.
- the encoding end obtains a total bitstream of the original grid according to the first bitstream and the second bitstream.
- the decoding end when restoring a non-manifold structure, requires, in addition to the non-manifold identification information and the index information of the first repeated vertex, the above-mentioned manifold mesh.
- the decoding end can restore the non-manifold structure based on the manifold mesh, the non-manifold identification information and the index information of the first repeated vertex.
- the encoding end encodes the manifold grid to obtain a second bitstream, including:
- the encoding end encodes the second target information of the manifold grid to obtain the second code stream
- the second target information includes connection relationship, geometric information and attribute information.
- the attribute information includes UV coordinates, ie, texture coordinates.
- UV coordinates are information describing the texture of vertices of a three-dimensional mesh.
- 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 grid 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 attribute information of the grid 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).
- the above-mentioned second code stream is obtained.
- the determining index information of a first repeated vertex among the repeated vertices includes:
- the index information of the first repeated vertex is determined according to the encoding order of at least one of the geometric information and the attribute information in the manifold mesh.
- the above-mentioned first repeated vertices include geometric repeated vertices and attribute repeated vertices.
- the index information of the first repeated vertices can be obtained according to the encoding order of the encoded geometric information or the attribute information. If the geometric vertices and the attribute vertices in the manifold mesh have different connection relationships, the index information of the geometric repeated vertices in the first repeated vertices can be obtained according to the encoding order of the geometric information, and the index information of the attribute repeated vertices in the first repeated vertices can be obtained according to the encoding order of the attribute information.
- the first repeated vertices include geometric repeated vertices and attribute repeated vertices
- the geometric repeated vertices and the attribute repeated vertices share a set of non-manifold structure information, and the non-manifold structure information includes non-manifold identification information and index information; or,
- the geometric repeated vertices correspond to a first group of non-manifold structure information
- the attribute repeated vertices correspond to a second group of non-manifold structure information
- the first group of non-manifold structure information and the second group of non-manifold structure information both include non-manifold identification information and index information.
- the geometric vertices in the manifold mesh and the attribute vertices have the same connection relationship, which means that the geometric vertices in the manifold mesh and the attribute vertices have a one-to-one correspondence.
- the geometric vertices in the manifold mesh and the attribute vertices have different connection relationships, which means that the geometric vertices in the manifold mesh and the attribute vertices do not have a one-to-one correspondence.
- attribute vertices in the embodiments of the present application may also be described as UV vertices.
- the total bitstream of the original grid further includes:
- the third code stream is obtained by encoding the second indication information, and the second indication information is used to indicate whether the geometric vertices and attribute vertices in the manifold mesh have the same connection relationship.
- the second indication information is encoded so that the decoding end can know whether to obtain one set of non-manifold structure information or two sets of non-manifold structure information.
- the total bitstream of the original grid further includes:
- a fourth code stream is obtained by encoding third indication information of repeated vertices in the manifold mesh, wherein the third indication information is used to indicate whether geometric information and attribute information of the repeated vertices are repeatedly encoded.
- the decoding end can know whether the geometric information and attribute information of the repeated vertices are repeatedly/multiple encoded, so that the decoding end can decode and obtain the corresponding repeated vertices.
- the total bitstream of the original grid further includes:
- a fifth code stream wherein the fifth code stream is obtained by encoding fourth indication information of vertices in the manifold mesh, wherein the fourth indication information is used to indicate whether the vertex is a repeated vertex.
- encoding the connection relationship, geometric information and attribute information simultaneously means that when encoding, the encoding order of the three is not in particular order, and they are encoded simultaneously.
- the decoding end can determine which are repeated vertices during the decoding process, and then determine which are repeated vertices generated by splitting the non-manifold structure based on the non-manifold identifiers of the repeated vertices.
- the total bitstream of the original grid further includes:
- the sixth code stream is obtained by encoding the texture map information of the original grid.
- 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).
- the three-dimensional grid coding framework in the embodiment of the present application is shown in FIG3.
- the repeated points of the original grid i.e., the second repeated points
- the original grid with non-manifold structure is split to obtain a manifold grid
- the repeated points i.e., the first repeated points generated by splitting the non-manifold structure are recorded
- the The Edgebreaker method encodes the connection information, obtains the pattern string, and performs entropy encoding on it; encodes the geometric information of the manifold mesh, for example, the parallelogram prediction coding method can be used, and the encoding method of the geometric information is not limited here
- the mesh has attribute information such as UV coordinates, it can be encoded using methods such as similar triangle prediction coding, and the encoding method of the attribute information is not limited here; when encoding non-manifold structure information, first encode the indication information whether there is a non-manifold structure in the mesh
- the non-manifold identification information of the repeated points and the index information of the repeated points generated by removing the non-manifold structure are further encoded according to the encoding order of the vertices.
- the non-manifold identification information about the repeated points is encoded by encoding a flag bit for each repeated vertex in the split manifold mesh to identify whether the repeated point is generated by removing the non-manifold structure.
- the multiple code streams are mixed to obtain the final output code stream (i.e., the total code stream).
- the three-dimensional mesh lossless coding framework of this application is mainly divided into five parts: splitting non-manifold structure in preprocessing, connection relationship coding, geometric information coding, attribute information coding and non-manifold structure information coding. The following are introduced respectively:
- the preprocessing step may also include filtering out duplicate points, adding virtual points and other preprocessing modules required for encoding.
- FIG3 only lists the modules for splitting non-manifold structures targeted by the present application.
- the hash table is the three-dimensional coordinates of the vertex
- the value is the number of occurrences of the vertex with the three-dimensional coordinates
- the number of occurrences greater than 1 indicates that it is a duplicate point, so as to find, judge and record the duplicate points in the original grid.
- Splitting non-manifold structures is mainly divided into two parts: splitting non-manifold edges and splitting non-manifold points.
- 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: you can establish a data structure to store the triangles where each edge is located, and find the non-manifold edges by querying the number of triangles corresponding to the edge; you can also construct a Corner Table to establish the correspondence between angles and edges in the grid, and then find the non-manifold edges. Specifically, for a manifold grid, each edge is opposite to at most two angles, and the two opposite angles are called opposite angles.
- angle a and angle d are opposite to edge 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.
- 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.
- the first step is to start from a corner of the vertex and traverse the corners adjacent to the corner. All the corners that form a sector are marked as traversed. If there are still vertices with untraversed corners after executing the above process, it means that the vertex is a non-manifold point.
- the second step for each non-manifold point, create a duplicate point and modify the connection relationship, connect the untraversed corners 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.
- Input connectivity of the manifold mesh
- Output the encoded connection relationship sub-code stream and vertex encoding order
- This application uses the Edgebreaker method to encode the connection relationship of the three-dimensional mesh. It establishes a Corner Table to represent the connection relationship of the mesh, and uses the CornerTable to traverse all triangles in the mesh to generate the Edgebreaker CLERS pattern string.
- c is the index of the current angle
- fi is the serial number of the triangle where the current angle c is located
- "*" is multiplication
- % is modulo operation.
- c p (f i *3)+(c+1)%3 (3)
- c is the index of the current angle
- fi is the serial number of the triangle where the current angle c is located
- "*" is multiplication
- "%” is modulo operation.
- Corner Table consists of four parts: V, O, U, and M.
- the V table stores the vertex index corresponding to each corner
- the O table stores the diagonal index of each corner
- the U table stores the flag of whether each triangle has been traversed during the traversal process
- the M table stores the flag of whether each vertex has been traversed during the traversal process.
- Corner Table can be used to construct the relationship shown in Figure 5, where c represents the current corner, c.p represents the previous corner of the current corner c (counterclockwise), and c.n represents the next corner of the current corner c. c.o is the opposite corner of the current corner c, which can be obtained by querying the O table.
- c.t is the serial number of the triangle where c is located, which can be calculated by formula 1.
- c.v represents the vertex of the current corner, which can be obtained by querying the V table.
- c.l represents the corner to the left of the current corner c, which is obtained by querying the opposite corner of c.p in the O table;
- c.r represents the corner to the right of the current corner c, which is obtained by querying the opposite corner of c.n in the O table.
- the traversal path will produce two branches. The principle of depth-first traversal is adopted.
- the first triangle traversed is the triangle where xr is located, and the triangle where xl is located is stored in the stack. After waiting for the branch where xr is located to be traversed, 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.
- 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.
- 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.
- Entropy coding is used to compress the CLERS pattern string to obtain the final connection information code stream.
- Input The geometric information and connection relationship encoding order of the manifold 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.
- Input attribute information and connection relationship encoding order of manifold mesh
- 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.
- C uv , X uv , N uv , P uv , O uv be the UV coordinates of each point respectively
- C G , X G , NG , PG , O G be the geometric coordinates of each point.
- UV coordinates between the corresponding points 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.
- Rotated() means flipping the vector 90 degrees:
- Input information indicating whether there is a non-manifold structure in the grid, non-manifold identification of duplicate points, index information of duplicate points generated by removing non-manifolds, encoding order of geometric information, encoding order of attribute information;
- encode information indicating whether there is a non-manifold structure in the grid i.e., the first indication information.
- This information can be indicated by setting a flag indicating whether there is a non-manifold structure in the grid, or by using the number of duplicate points generated by removing the non-manifold structure in the grid.
- the representation method is not limited here.
- a flag indicating whether there is a non-manifold structure 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 duplicate points and the index information of the duplicate points (i.e., the first duplicate vertex) 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 duplicate points and the index information of the duplicate points generated by removing the non-manifold.
- the duplicate points generated by the removal of non-manifolds include geometric duplicate points and attribute duplicate points. If the case of whether the geometric vertices and attribute vertices (such as UV vertices) have the same connection relationship is considered, it is divided into two cases: the first case is that when the geometric vertices and attribute vertices in the mesh have the same connection relationship, a group of duplicate points' non-manifold identifiers and the index information of the duplicate points generated by the removal of the non-manifold are directly encoded, and the index information can be obtained according to the encoding order of the geometric information and the attribute information at the encoding end; the second case is that when the geometric vertices and the attribute vertices in the mesh have different connection relationships, two groups of duplicate points' non-manifold identifiers and the index information of the duplicate points generated by the removal of the non-manifold are encoded, and the index information can be obtained according to the encoding order of the geometric information and the encoding order of the attribute information at
- the representation method of the index information of the duplicate points generated by the removal of the non-manifold structure can be the target vertex index that needs to be merged when restoring the non-manifold structure, or it can be the index of the duplicate point group: points with the same index belong to the same duplicate point group, that is, they have the same vertex information, and the representation method is not limited here.
- the specific implementation is: a flag is set for each repeated vertex in the manifold grid to indicate whether the point at the current position is a repeated point caused by dismantling the non-manifold, and the index information of the repeated points caused by dismantling the non-manifold is recorded; then the binary string sequence obtained by arranging the flags in the corresponding coding order and the index information of the repeated points generated by dismantling the non-manifold structure are entropy encoded to obtain the non-manifold structure information code stream.
- 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 attribute non-manifold structure information bitstream in the attribute information sub-bitstream; the geometric non-manifold structure information bitstream and the attribute 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.
- the geometry and attribute information of duplicate points can be skipped, that is, only encoded once, or not skipped. Whether to skip the encoding of the geometry and attribute information of duplicate points is not emphasized here. However, if the encoding of the geometry and attribute information of duplicate points is skipped, additional information needs to be transmitted to indicate whether the geometry and attribute information of the vertex is skipped, otherwise the geometry information of the skipped coded vertices cannot be decoded. Specifically, a flag may be set for each vertex to indicate whether the geometric information and attribute information of the vertex are skipped for encoding, and the representation method is not limited here.
- the sequence of encoding the connection relationship of the three-dimensional mesh and encoding the vertex information is not limited. It can be that the geometric information, attribute information and non-manifold structure information are encoded while encoding the connection relationship; it can also 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.
- the geometric information, attribute information and non-manifold structure information are encoded while encoding the connection relationship, it is necessary to add information indicating whether the vertex is a duplicate point, so that it can be determined which are duplicate points during the decoding process, and then determine which are duplicate points caused by disassembling non-manifolds based on the non-manifold identifiers of the duplicate points.
- a duplicate point identifier can be set for each vertex to indicate whether the vertex is a duplicate point.
- the representation method is not limited here.
- the geometric vertex and the UV vertex have the same connection relationship
- the information can be represented by setting an identifier to indicate whether the geometric vertex and the UV vertex have the same connection relationship, and the representation method is not limited here.
- the encoding end splits the non-manifold structure in the original mesh to obtain a manifold mesh; adds non-manifold identification information to the repeated vertices in the manifold mesh, and determines the index information of the first repeated vertex in the repeated vertices, the non-manifold identification information is used to indicate whether the repeated vertex is a repeated vertex generated when the non-manifold structure is split, and the first repeated vertex is a repeated vertex generated when the non-manifold structure is split; the encoding end encodes the non-manifold identification information and the index information of the first repeated vertex to obtain a first code stream.
- the decoding end can restore the non-manifold structure of the original mesh based on the non-manifold identification information and the index information of the first repeated vertex obtained by decoding the first code stream, thereby achieving the purpose of lossless encoding of the original mesh. Because the encoding end only adds non-manifold identification to the repeated points in the manifold mesh when encoding the mesh containing the non-manifold structure, instead of adding non-manifold identification to each vertex in the manifold mesh, it can more efficiently achieve lossless encoding of the three-dimensional mesh.
- the embodiment of the present application further provides a decoding method, including:
- Step 901 The decoding end decodes the first code stream to obtain decoding information, wherein the decoding information includes non-manifold identification information and index information of the first repeated vertex, wherein the first repeated vertex is a repeated vertex generated by splitting the non-manifold structure in the original mesh, and the non-manifold identification information is used to indicate whether the repeated vertex is a repeated vertex generated when the non-manifold structure is split.
- the decoding information includes non-manifold identification information and index information of the first repeated vertex, wherein the first repeated vertex is a repeated vertex generated by splitting the non-manifold structure in the original mesh, and the non-manifold identification information is used to indicate whether the repeated vertex is a repeated vertex generated when the non-manifold structure is split.
- Step 902 The decoding end restores the non-manifold structure in the original grid according to the decoding information.
- the decoding end decodes the first code stream to obtain non-manifold identification information and index information of the first repeated vertex; based on the index information of the first repeated vertex and the non-manifold identification information, the non-manifold structure in the original mesh is restored.
- the non-manifold structure of the original mesh can be restored based on the non-manifold identification information obtained by decoding the first code stream and the index information of the first repeated vertex, thereby achieving the purpose of lossless encoding of the original mesh. Since non-manifold identification is only added to the repeated points in the manifold mesh, rather than adding non-manifold identification to each vertex in the manifold mesh, lossless encoding and decoding of three-dimensional meshes can be achieved more efficiently.
- the decoding information further includes first indication information, where the first indication information is used to indicate whether a non-manifold structure exists in the original grid;
- the decoding end restores the non-manifold structure in the original grid according to the decoded information, including:
- the non-manifold structure in the original mesh is restored according to the index information of the first repeated vertices and the non-manifold identification information.
- restoring the non-manifold structure in the original mesh according to the index information of the first repeated vertices and the non-manifold identification information includes:
- the non-manifold structure in the original mesh is restored according to the reconstructed manifold mesh, the index information of the first repeated vertices, and the non-manifold identification information.
- the decoding end decodes the second code stream to obtain the second target information of the manifold mesh.
- 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 in the mesh attribute information are decoded using methods such as similar triangle inverse prediction.
- the non-manifold structure information the information indicating whether there is a non-manifold structure in the mesh (ie, the first indication information) is first decoded.
- the non-manifold identification information of the duplicate points and the index information of the duplicate points generated by the removal of the non-manifold structure are further decoded to obtain the duplicate points.
- the duplicate points generated by the removal of the non-manifold structure are merged, and the connection relationship is adjusted, thereby restoring the non-manifold structure in the mesh, and realizing lossless encoding and decoding of meshes containing non-manifold structures.
- restoring the non-manifold structure in the original mesh according to the reconstructed manifold mesh, the index information of the first repeated vertices, and the non-manifold identification information includes:
- the fourth indication information is obtained by decoding the fifth code stream, and the fourth indication information is used to indicate whether the vertices in the manifold mesh are repeated vertices.
- the fourth indication information obtained by decoding at the decoding end can determine which are repeated vertices when the geometric information, attribute information and connection relationship of the manifold mesh are encoded at the same time, and then determine which are repeated vertices generated by splitting the non-manifold structure based on the non-manifold identifiers of the repeated vertices.
- the decoding end decodes the second code stream to obtain the second target information of the manifold grid, including:
- the third indication information is obtained by decoding the fourth bit stream, and the third indication information is used to indicate whether the geometric information and attribute information of the repeated vertices are repeatedly encoded.
- the decoding end can learn whether to repeat/multiple-encode the geometric information and attribute information of the repeated vertices through the third indication information obtained through decoding, so that the decoding end can decode and obtain the corresponding repeated vertices.
- the first repeated vertices include geometric repeated vertices and attribute repeated vertices
- the geometric repeated vertices and the attribute repeated vertices share a set of non-manifold structure information, and the non-manifold structure information includes non-manifold identification information and index information; or,
- the geometric repeated vertices correspond to a first group of non-manifold structure information
- the attribute repeated vertices correspond to a second group of non-manifold structure information
- the first group of non-manifold structure information and the second group of non-manifold structure information both include non-manifold identification information and index information.
- the geometric vertices in the manifold mesh and the attribute vertices have the same connection relationship, which means that the geometric vertices in the manifold mesh and the attribute vertices have a one-to-one correspondence.
- the geometric vertices in the manifold mesh and the attribute vertices have different connection relationships, which means that the geometric vertices in the manifold mesh and the attribute vertices do not have a one-to-one correspondence.
- the method of the embodiment of the present application further includes:
- the second indication information it is determined whether the geometric vertices and the attribute vertices in the manifold mesh have the same connection relationship.
- the method of the embodiment of the present application further includes:
- the sixth code stream is decoded to obtain texture map information of the original grid.
- the three-dimensional mesh decoding framework in the embodiment of the present application is shown in FIG10.
- Entropy decoding connection relationship sub-code stream obtain the mode string, and reconstruct the connection relationship; 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 whether there is a non-manifold structure in the mesh (i.e., the first indication information), if there is a non-manifold structure in the mesh, then further decode to obtain the non-manifold identification of the repeated points and the repeated point index information generated by the non-manifold removal.
- the post-processing step can also include the post-processing modules required for correct decoding such as restoring the filtered repeated points and deleting the added virtual vertices.
- FIG10 only lists the modules for restoring the non-manifold structure targeted by this application.
- connection relationship decoding As shown in Figure 10, the 3D mesh lossless decoding framework of this application is mainly divided into six parts: connection relationship decoding, geometric information decoding, attribute information decoding, non-manifold structure information decoding, reconstruction of manifold mesh, and recovery of non-manifold structure in post-processing. The following are introduced respectively:
- Input the connection relationship sub-code stream to be decoded
- Output connectivity of the manifold mesh and the decoded vertex order
- connection relationship sub-code stream decodes the connection relationship sub-code stream to obtain the pattern string. Traverse the pattern in a certain order (forward or reverse order). The connection relationship is reconstructed according to the corresponding pattern in the string. In addition, the vertex traversal order is output to the geometry information and attribute information decoding module.
- Output Geometric information of the manifold mesh.
- 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 law. 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.
- 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.
- Input non-manifold structure information sub-code stream, geometric information decoding order and attribute information decoding order;
- Output information indicating whether there is a non-manifold structure in the grid, the non-manifold identification of duplicate points, and the index information of duplicate points generated by removing the non-manifold structure.
- decode the 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 structure: if the flag is 0, there is no need to decode the non-manifold flag of the duplicate points and the index information of the duplicate points generated by removing the non-manifold structure, and skip the subsequent module for recovering the non-manifold structure; if the flag is 1, decode the non-manifold flag of the duplicate points and the index information of the duplicate points generated by removing the non-manifold structure.
- the decoding of the non-manifold identification of the repeated points and the index information of the repeated points generated by removing the non-manifold structure adopts the method corresponding to the encoding end. First, entropy decoding is performed to obtain the non-manifold identification of the repeated points, and then the index information of the repeated points generated by removing the non-manifold structure is decoded and recorded. This information is output to the non-manifold structure recovery module.
- the manifold mesh can be directly reconstructed by using the connection relationship, geometric information, and attribute information of the manifold mesh.
- Input manifold grid, non-manifold identifiers of duplicate points, and index information of duplicate points generated by removing non-manifold structures
- the recovery process of non-manifold edges and non-manifold points is the same.
- find duplicate points in the manifold grid for example, using hash tables or kd-tree methods.
- the hash table as an example, a hash table is established, the key of the hash table is the coordinates of the vertex, and the value is the number of occurrences of the vertex with the coordinates, so as to find, judge and record duplicate points.
- 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 splitting the non-manifold, the index information of the duplicate point generated by splitting the non-manifold is used to judge whether it is the target vertex to be merged with the point with the current vertex information. If it is the target vertex to be merged, the current vertex corresponds to the index of the current vertex, and its index is not updated.
- the operation of merging the duplicate points generated by splitting the non-manifold is performed, that is, the index of the current point is updated to the index of the corresponding target vertex to be merged.
- the geometric information list and the attribute information list are updated, and the index values of the geometric points and attribute points in the connection relationship are updated to obtain the reconstructed non-manifold mesh.
- the decoding end decodes the first bitstream to obtain non-manifold identification information and index information of the first repeated vertex; according to the index information of the first repeated vertex and the non-manifold identification information, the non-manifold structure in the original mesh is restored.
- the index information of the complex vertices restores the non-manifold structure of the original mesh, thereby achieving the purpose of lossless encoding of the original mesh. Since non-manifold identifiers are only added to the repeated points in the manifold mesh, rather than adding non-manifold identifiers to each vertex in the manifold mesh, lossless encoding and decoding of the three-dimensional mesh can be achieved more efficiently.
- the encoding method provided in the embodiment of the present application may be executed by an encoding device.
- 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.
- the embodiment of the present application further provides an encoding device 1100, including:
- a first acquisition module 1101 is used to split the non-manifold structure in the original mesh to obtain a manifold mesh
- a first processing module 1102 is used to add non-manifold identification information to repeated vertices in the manifold mesh, and determine index information of a first repeated vertex among the repeated vertices, wherein the non-manifold identification information is used to indicate whether the repeated vertex is a repeated vertex generated when the non-manifold structure is split, and the first repeated vertex is a repeated vertex generated when the non-manifold structure is split;
- the second acquisition module 1103 is used to encode the non-manifold identification information and the index information of the first repeated vertex to obtain a first code stream.
- the first code stream further includes encoding information of first indication information, where the first indication information is used to indicate whether a non-manifold structure exists in the original grid.
- the device of the embodiment of the present application further includes:
- a third acquisition module used for encoding the manifold grid to obtain a second code stream
- the fourth 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.
- the third acquisition module is used to encode the second target information of the manifold grid to obtain the second code stream;
- the second target information includes connection relationship, geometric information and attribute information.
- the first repeated vertices include geometric repeated vertices and attribute repeated vertices
- the geometric repeated vertices and the attribute repeated vertices share a set of non-manifold structure information, and the non-manifold structure information includes non-manifold identification information and index information; or,
- the geometric repeated vertices correspond to a first group of non-manifold structure information
- the attribute repeated vertices correspond to a second group of non-manifold structure information
- the first group of non-manifold structure information and the second group of non-manifold structure information both include non-manifold identification information and index information.
- the total bitstream of the original grid further includes:
- the third code stream is obtained by encoding the second indication information, and the second indication information is used to indicate whether the geometric vertices and attribute vertices in the manifold mesh have the same connection relationship.
- the total bitstream of the original grid further includes:
- a fourth code stream wherein the fourth code stream is obtained by encoding third indication information of repeated vertices in the manifold mesh, wherein the third indication information is used to indicate whether the geometric information and attribute information of the repeated vertices are repeated. coding.
- the total bitstream of the original grid further includes:
- a fifth code stream wherein the fifth code stream is obtained by encoding fourth indication information of vertices in the manifold mesh, wherein the fourth indication information is used to indicate whether the vertex is a repeated vertex.
- the encoding device of the embodiment of the present application performs a splitting process on the non-manifold structure in the original mesh to obtain a manifold mesh; adds non-manifold identification information to the repeated vertices in the manifold mesh, and determines the index information of the first repeated vertex in the repeated vertices, wherein the non-manifold identification information is used to indicate whether the repeated vertex is a repeated vertex generated when the non-manifold structure is split, and the first repeated vertex is a repeated vertex generated when the non-manifold structure is split; the encoding end encodes the non-manifold identification information and the index information of the first repeated vertex to obtain a first code stream.
- the decoding end can restore the non-manifold structure of the original mesh based on the non-manifold identification information and the index information of the first repeated vertex obtained by decoding the first code stream, thereby achieving the purpose of lossless encoding of the original mesh. Since the encoding end only adds non-manifold identification to the repeated points in the manifold mesh when encoding the mesh containing the non-manifold structure, instead of adding non-manifold identification to each vertex in the manifold mesh, it is possible to more efficiently achieve lossless encoding of the three-dimensional mesh.
- the embodiment of the present application further provides a decoding device 1200, including:
- a fifth acquisition module 1201 is used to decode the first code stream to obtain decoding information, wherein the decoding information includes non-manifold identification information and index information of a first repeated vertex, wherein the first repeated vertex is a repeated vertex generated by splitting a non-manifold structure in an original mesh, and the non-manifold identification information is used to indicate whether the repeated vertex is a repeated vertex generated when the non-manifold structure is split;
- the second processing module 1202 is used to restore the non-manifold structure in the original grid according to the decoded information.
- the decoding information further includes first indication information, where the first indication information is used to indicate whether a non-manifold structure exists in the original grid;
- the second processing module is used to restore the non-manifold structure in the original mesh according to the index information of the first repeated vertices and the non-manifold identification information when the first indication information indicates that the non-manifold structure exists in the original mesh.
- the second processing module includes:
- a reconstruction submodule configured to reconstruct the manifold mesh according to second target information of the manifold mesh, wherein the second target information is obtained by decoding the second bitstream, and the second target information includes connection relationship, geometric information, and attribute information;
- a restoration submodule is used to restore the non-manifold structure in the original mesh according to the reconstructed manifold mesh, the index information of the first repeated vertices and the non-manifold identification information.
- the restoration submodule is used to restore the non-manifold structure in the original mesh according to the reconstructed manifold mesh, the index information of the first repeated vertices, the non-manifold identification information and the fourth indication information;
- the fourth indication information is obtained by decoding the fifth code stream, and the fourth indication information is used to indicate whether the vertices in the manifold mesh are repeated vertices.
- the device of the embodiment of the present application further includes:
- the sixth acquisition module is used to decode the second code stream to obtain the second target information of the manifold grid.
- the sixth acquisition module is used to decode the second code stream according to the third indication information of repeated vertices in the manifold mesh, and acquire the geometric information and attribute information of the manifold mesh;
- the third indication information is obtained by decoding the fourth bit stream, and the third indication information is used to indicate whether the geometric information and attribute information of the repeated vertices are repeatedly encoded.
- the first repeated vertices include geometric repeated vertices and attribute repeated vertices
- the geometric repeated vertices and the attribute repeated vertices share a set of non-manifold structure information, and the non-manifold structure information includes non-manifold identification information and index information; or,
- the geometric repeated vertices correspond to a first group of non-manifold structure information
- the attribute repeated vertices correspond to a second group of non-manifold structure information
- the first group of non-manifold structure information and the second group of non-manifold structure information both include non-manifold identification information and index information.
- the device of the embodiment of the present application further includes:
- a seventh acquisition module configured to decode the third bitstream to acquire second indication information, wherein the second indication information is used to indicate whether the geometric vertices and the attribute vertices in the manifold mesh have the same connection relationship;
- a determination module is used to determine whether the geometric vertices and attribute vertices in the manifold mesh have the same connection relationship according to the second indication information.
- the decoding device of the embodiment of the present application decodes the first code stream to obtain first indication information, non-manifold identification information, and index information of the first repeated vertex; when the first indication information indicates that there is a non-manifold structure in the original mesh, the non-manifold structure in the original mesh is restored based on the index information of the first repeated vertex and the non-manifold identification information.
- the non-manifold structure of the original mesh can be restored based on the non-manifold identification information and the index information of the first repeated vertex obtained by decoding the first code stream, thereby achieving the purpose of lossless encoding of the original mesh. Since non-manifold identification is only added to the repeated points in the manifold mesh, rather than adding non-manifold identification to each vertex in the manifold mesh, lossless encoding and decoding of three-dimensional meshes can be achieved more efficiently.
- the encoding device or decoding device in the embodiments 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 embodiments of the present application.
- the encoding device provided in the embodiment of the present application can implement each process implemented by the method embodiment of Figure 2 and achieve the same technical effect. To avoid repetition, it will not be repeated here.
- the decoding device provided in the embodiment of the present application can implement each process implemented by the method embodiment of Figure 9 and achieve the same technical effect. To avoid repetition, it will not be repeated here.
- the embodiment of the present application further provides an electronic device 1300, including a processor 1301 and
- the memory 1302 stores programs or instructions that can be executed on the processor 1301.
- the program or instruction is executed by the processor 1301, the various steps of the above-mentioned encoding method or decoding method embodiment are implemented, and the same technical effect can be achieved. To avoid repetition, it is not repeated here.
- the embodiment of the present application also provides a coding device, including a processor and a communication interface, the processor is used to split the non-manifold structure in the original mesh to obtain a manifold mesh; add non-manifold identification information to the repeated vertices in the manifold mesh, and determine the index information of the first repeated vertex in the repeated vertices, the non-manifold identification information is used to indicate whether the repeated vertex is a repeated vertex generated when the non-manifold structure is split, and the first repeated vertex is a repeated vertex generated when the non-manifold structure is split; encode the non-manifold identification information and the index information of the first repeated vertex to obtain a first code stream.
- This device embodiment corresponds to the above-mentioned encoding method embodiment, and each implementation process and implementation method of the above-mentioned method embodiment can be applied to this device embodiment and can achieve the same technical effect.
- the embodiment of the present application also provides a decoding device, including a processor and a communication interface, the processor is used to decode the first code stream to obtain decoding information, the decoding information includes non-manifold identification information and index information of the first repeated vertex, the first repeated vertex is a repeated vertex generated by splitting the non-manifold structure in the original mesh, the non-manifold identification information is used to indicate whether the repeated vertex is a repeated vertex generated when the non-manifold structure is split; according to the decoding information, the non-manifold structure in the original mesh is restored.
- This device embodiment corresponds to the above-mentioned decoding method embodiment, and each implementation process and implementation method of the above-mentioned method embodiment can be applied to this device embodiment and can achieve the same technical effect.
- FIG14 is a schematic diagram of the hardware structure of an encoding device or a decoding device for implementing an embodiment of the present application.
- 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.
- the encoding device or decoding device may further 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, so as to implement functions such as charging, discharging, and power consumption management through the power management system.
- a power source such as a battery
- the device structure shown in FIG14 does not constitute a limitation on the device, and the device may include more or fewer components than shown in the figure, or combine certain components, or arrange components differently, which will not be described in detail here.
- the input unit 1404 may include a graphics processor (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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- the device is an encoding device:
- the processor 1410 is used to split the non-manifold structure in the original grid to obtain a manifold grid
- the encoding end adds non-manifold identification information to the repeated vertices in the manifold mesh, and determines index information of a first repeated vertex among the repeated vertices, wherein the non-manifold identification information is used to indicate whether the repeated vertex is a repeated vertex generated when the non-manifold structure is split, and the first repeated vertex is a repeated vertex generated when the non-manifold structure is split;
- the encoding end encodes the non-manifold identification information and the index information of the first repeated vertex to obtain a first code stream.
- the first code stream further includes encoding information of first indication information, where the first indication information is used to indicate whether a non-manifold structure exists in the original grid.
- processor 1410 is further configured to:
- a total code stream of the original grid is obtained according to the first code stream and the second code stream.
- processor 1410 is further configured to:
- the second target information includes connection relationship, geometric information and attribute information.
- the first repeated vertices include geometric repeated vertices and attribute repeated vertices
- the geometric repeated vertices and the attribute repeated vertices share a set of non-manifold structure information, and the non-manifold structure information includes non-manifold identification information and index information; or,
- the geometric repeated vertices correspond to a first group of non-manifold structure information
- the attribute repeated vertices correspond to a second group of non-manifold structure information
- the first group of non-manifold structure information and the second group of non-manifold structure information both include non-manifold identification information and index information.
- the total bitstream of the original grid further includes:
- the third code stream is obtained by encoding the second indication information, and the second indication information is used to indicate whether the geometric vertices and attribute vertices in the manifold mesh have the same connection relationship.
- the total bitstream of the original grid further includes:
- a fourth code stream is obtained by encoding third indication information of repeated vertices in the manifold mesh, wherein the third indication information is used to indicate whether geometric information and attribute information of the repeated vertices are repeatedly encoded.
- the total bitstream of the original grid further includes:
- a fifth code stream wherein the fifth code stream is obtained by encoding fourth indication information of vertices in the manifold mesh, wherein the fourth indication information is used to indicate whether the vertex is a repeated vertex.
- the above device is a decoding device:
- Processor 1410 is used to decode the first code stream to obtain decoding information, where the decoding information includes non-manifold identification information and index information of first repeated vertices, where the first repeated vertices are repeated vertices generated by splitting the non-manifold structure in the original mesh, the non-manifold identification information is used to indicate whether the repeated vertices are repeated vertices generated when the non-manifold structure is split, and the first indication information is used to indicate whether there is a non-manifold structure in the original mesh;
- the decoding end restores the non-manifold structure in the original grid according to the decoding information.
- the decoding information further includes first indication information, where the first indication information is used to indicate whether a non-manifold structure exists in the original grid;
- the processor 1410 is further configured to:
- the non-manifold structure in the original mesh is restored according to the index information of the first repeated vertices and the non-manifold identification information.
- the second target information is obtained by decoding the stream, wherein the second target information includes connection relationship, geometric information and attribute information;
- the non-manifold structure in the original mesh is restored according to the reconstructed manifold mesh, the index information of the first repeated vertices, and the non-manifold identification information.
- processor 1410 is further configured to:
- the fourth indication information is obtained by decoding the fifth code stream, and the fourth indication information is used to indicate whether the vertices in the manifold mesh are repeated vertices.
- processor 1410 is further configured to:
- the second code stream is decoded to obtain second target information of the manifold grid.
- processor 1410 is further configured to:
- the third indication information is obtained by decoding the fourth bit stream, and the third indication information is used to indicate whether the geometric information and attribute information of the repeated vertices are repeatedly encoded.
- the first repeated vertices include geometric repeated vertices and attribute repeated vertices
- the geometric repeated vertices and the attribute repeated vertices share a set of non-manifold structure information, and the non-manifold structure information includes non-manifold identification information and index information; or,
- the geometric repeated vertices correspond to a first group of non-manifold structure information
- the attribute repeated vertices correspond to a second group of non-manifold structure information
- the first group of non-manifold structure information and the second group of non-manifold structure information both include non-manifold identification information and index information.
- processor 1410 is further configured to:
- the second indication information it is determined whether the geometric vertices and the attribute vertices in the manifold mesh have the same connection relationship.
- the non-manifold structure in the original mesh is split to obtain a manifold mesh; non-manifold identification information is added to the repeated vertices in the manifold mesh, and the index information of the first repeated vertex in the repeated vertices is determined, the non-manifold identification information is used to indicate whether the repeated vertex is a repeated vertex generated when the non-manifold structure is split, and the first repeated vertex is a repeated vertex generated when the non-manifold structure is split; the encoding end encodes the non-manifold identification information and the index information of the first repeated vertex to obtain a first code stream.
- the decoding end can restore the non-manifold structure of the original mesh based on the non-manifold identification information and the index information of the first repeated vertex obtained by decoding the first code stream, thereby achieving the purpose of lossless encoding of the original mesh.
- the encoder When encoding a mesh containing a non-manifold structure, the encoder only adds non-manifold identifiers to repeated points in the manifold mesh instead of adding non-manifold identifiers to each vertex in the manifold mesh, thereby enabling more efficient lossless encoding of three-dimensional meshes.
- An embodiment of the present application also provides a readable storage medium, on which a program or instruction is stored.
- a program or instruction is stored.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- the technical solution of the present application 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.
- a storage medium such as ROM/RAM, magnetic disk, optical disk
- a terminal which can be a mobile phone, computer, server, air conditioner, or network device, etc.
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
Description
fi=c/3 (1)
cp=(fi*3)+(c-1)%3 (2)
cp=(fi*3)+(c+1)%3 (3)
d′(x,y,z)=b(x,y,z)+c(x,y,z)-a(x,y,z) (4)
Δd(x,y,z)=d(x,y,z)-d′(x,y,z) (5)
Claims (20)
- 一种编码方法,包括:编码端对原始网格中的非流形结构进行拆分处理,得到流形网格;所述编码端对所述流形网格中的重复顶点添加非流形标识信息,并确定所述重复顶点中的第一重复顶点的索引信息,所述非流形标识信息用于指示所述重复顶点是否为对所述非流形结构进行拆分处理时产生的重复顶点,所述第一重复顶点为对所述非流形结构进行拆分处理时产生的重复顶点;所述编码端对所述非流形标识信息以及所述第一重复顶点的索引信息进行编码,得到第一码流。
- 根据权利要求1所述的方法,其中,所述第一码流还包括第一指示信息的编码信息,所述第一指示信息用于指示所述原始网格中是否存在非流形结构。
- 根据权利要求1或2所述的方法,其中,所述方法还包括:所述编码端对所述流形网格进行编码,得到第二码流;所述编码端根据所述第一码流和所述第二码流,得到所述原始网格的总码流。
- 根据权利要求3所述的方法,其中,所述编码端对所述流形网格进行编码,得到第二码流,包括:所述编码端对所述流形网格的第二目标信息进行编码,得到所述第二码流;其中,所述第二目标信息包括连接关系、几何信息以及属性信息。
- 根据权利要求1至4任一项所述的方法,其中,所述第一重复顶点包括几何重复顶点和属性重复顶点;在所述流形网格中的几何顶点和所述属性顶点具有相同的连接关系的情况下,所述几何重复顶点和所述属性重复顶点共用一组非流形结构信息,所述非流形结构信息包括非流形标识信息和索引信息;或,在所述流形网格中的几何顶点和所述属性顶点具有不同的连接关系的情况下,所述几何重复顶点对应第一组非流形结构信息,且所述属性重复顶点对应第二组非流形结构信息,所述第一组非流形结构信息和所述第二组非流形结构信息均包括非流形标识信息和索引信息。
- 根据权利要求5所述的方法,其中,所述原始网格的总码流还包括:第三码流,所述第三码流是对第二指示信息进行编码得到的,所述第二指示信息用于指示所述流形网格中的几何顶点与属性顶点是否具有相同的连接关系。
- 根据权利要求1至6任一项所述的方法,其中,所述原始网格的总码流还包括:第四码流,所述第四码流是对所述流形网格中的重复顶点的第三指示信息进行编码得到的,所述第三指示信息用于指示是否对所述重复顶点的几何信息和属性信息进行了重复 编码。
- 根据权利要求4所述的方法,其中,在所述编码端对所述连接关系、几何信息以及属性信息同时进行编码的情况下,所述原始网格的总码流还包括:第五码流,所述第五码流是对所述流形网格中顶点的第四指示信息进行编码得到的,所述第四指示信息用于指示所述顶点是否为重复顶点。
- 一种解码方法,包括:解码端对第一码流进行解码,得到解码信息,所述解码信息包括非流形标识信息以及第一重复顶点的索引信息,所述第一重复顶点是对原始网格中的非流形结构进行拆分处理产生的重复顶点,所述非流形标识信息用于指示重复顶点是否为对所述非流形结构进行拆分处理时产生的重复顶点;所述解码端根据所述解码信息,恢复原始网格中的非流形结构。
- 根据权利要求9所述的方法,其中,所述解码信息还包括第一指示信息,所述第一指示信息用于指示所述原始网格中是否存在非流形结构;所述解码端根据所述解码信息,恢复原始网格中的非流形结构,包括:在所述第一指示信息指示原始网格中存在非流形结构的情况下,根据所述第一重复顶点的索引信息以及非流形标识信息,恢复原始网格中的非流形结构。
- 根据权利要求9或10所述的方法,其中,根据所述第一重复顶点的索引信息以及所述非流形标识信息,恢复原始网格中的非流形结构,包括:根据流形网格的第二目标信息,重建流形网格,其中,所述第二目标信息是对第二码流进行解码得到的,所述第二目标信息包括连接关系、几何信息以及属性信息;根据重建的所述流形网格、所述第一重复顶点的索引信息以及所述非流形标识信息,恢复所述原始网格中的非流形结构。
- 根据权利要求11所述的方法,其中,根据重建的所述流形网格、所述第一重复顶点的索引信息以及所述非流形标识信息,恢复所述原始网格中的非流形结构,包括:根据重建的所述流形网格、所述第一重复顶点的索引信息、所述非流形标识信息以及第四指示信息,恢复所述原始网格中的非流形结构;其中,所述第四指示信息是对第五码流进行解码得到的,所述第四指示信息用于指示流形网格中的顶点是否为重复顶点。
- 根据权利要求11或12所述的方法,其中,还包括:所述解码端对第二码流进行解码,获取所述流形网格的第二目标信息。
- 根据权利要求13所述的方法,其中,所述解码端对第二码流进行解码,获取所述流形网格的第二目标信息,包括:根据流形网格中重复顶点的第三指示信息,对第二码流进行解码,获取所述流形网格的几何信息和属性信息;其中,所述第三指示信息是对第四码流进行解码得到的,所述第三指示信息用于指示 是否对所述重复顶点的几何信息和属性信息进行了重复编码。
- 根据权利要求9至14任一项所述的方法,其中,所述第一重复顶点包括几何重复顶点和属性重复顶点;在所述流形网格中的几何顶点和所述属性顶点具有相同的连接关系的情况下,所述几何重复顶点和所述属性重复顶点共用一组非流形结构信息,所述非流形结构信息包括非流形标识信息和索引信息;或,在所述流形网格中的几何顶点和所述属性顶点具有不同的连接关系的情况下,所述几何重复顶点对应第一组非流形结构信息,且所述属性重复顶点对应第二组非流形结构信息,所述第一组非流形结构信息和所述第二组非流形结构信息均包括非流形标识信息和索引信息。
- 根据权利要求15所述的方法,其中,还包括:对第三码流进行解码,获取第二指示信息,所述第二指示信息用于指示所述流形网格中的几何顶点与属性顶点是否具有相同的连接关系;根据所述第二指示信息,确定所述流形网格中的几何顶点与属性顶点是否具有相同的连接关系。
- 一种编码装置,包括:第一获取模块,用于对原始网格中的非流形结构进行拆分处理,得到流形网格;第一处理模块,用于对所述流形网格中的重复顶点添加非流形标识信息,并确定所述重复顶点中的第一重复顶点的索引信息,所述非流形标识信息用于指示所述重复顶点是否为对所述非流形结构进行拆分处理时产生的重复顶点,所述第一重复顶点为对所述非流形结构进行拆分处理时产生的重复顶点;第二获取模块,用于对所述非流形标识信息以及所述第一重复顶点的索引信息进行编码,得到第一码流。
- 一种解码装置,包括:第五获取模块,用于对第一码流进行解码,得到解码信息,所述解码信息包括非流形标识信息以及第一重复顶点的索引信息,所述第一重复顶点是对原始网格中的非流形结构进行拆分处理产生的重复顶点,所述非流形标识信息用于指示重复顶点是否为对所述非流形结构进行拆分处理时产生的重复顶点;第二处理模块,用于根据所述解码信息,恢复原始网格中的非流形结构。
- 一种电子设备,包括处理器和存储器,所述存储器存储可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如权利要求1至8任一项所述的编码方法的步骤,或实现如权利要求9至16任一项所述的解码方法的步骤。
- 一种可读存储介质,所述可读存储介质上存储程序或指令,所述程序或指令被处理器执行时实现如权利要求1至8任一项所述的编码方法的步骤,或者实现如权利要求9至16任一项所述的解码方法的步骤。
Priority Applications (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| EP24830663.1A EP4738259A1 (en) | 2023-06-30 | 2024-06-24 | Coding method, decoding method, apparatus, and device |
| KR1020257041341A KR20260011162A (ko) | 2023-06-30 | 2024-06-24 | 부호화 방법, 복호화 방법, 장치 및 기기 |
| US19/411,830 US20260094304A1 (en) | 2023-06-30 | 2025-12-08 | Encoding method and apparatus, decoding method and apparatus, and device |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202310802552.3A CN119228915A (zh) | 2023-06-30 | 2023-06-30 | 编码方法、解码方法、装置及设备 |
| CN202310802552.3 | 2023-06-30 |
Related Child Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US19/411,830 Continuation US20260094304A1 (en) | 2023-06-30 | 2025-12-08 | Encoding method and apparatus, decoding method and apparatus, and device |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2025002018A1 true WO2025002018A1 (zh) | 2025-01-02 |
Family
ID=93937421
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/CN2024/100834 Ceased WO2025002018A1 (zh) | 2023-06-30 | 2024-06-24 | 编码方法、解码方法、装置及设备 |
Country Status (5)
| Country | Link |
|---|---|
| US (1) | US20260094304A1 (zh) |
| EP (1) | EP4738259A1 (zh) |
| KR (1) | KR20260011162A (zh) |
| CN (1) | CN119228915A (zh) |
| WO (1) | WO2025002018A1 (zh) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN121120809B (zh) * | 2025-11-12 | 2026-02-10 | 摩尔线程智能科技(北京)股份有限公司 | 图元编码方法、装置、设备、存储介质及程序产品 |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6452596B1 (en) * | 1998-10-06 | 2002-09-17 | International Business Machines Corporation | Methods and apparatus for the efficient compression of non-manifold polygonal meshes |
| KR20080066216A (ko) * | 2007-01-11 | 2008-07-16 | 한국전자통신연구원 | 스티칭 정보를 포함하는 3차원 메쉬 정보부호화/복호화 방법 및 장치 |
| US20090278844A1 (en) * | 2007-01-11 | 2009-11-12 | Eun Young Chang | Method and apparatus for encoding/decoding 3d mesh information including stitching information |
| CN117915105A (zh) * | 2022-10-19 | 2024-04-19 | 维沃移动通信有限公司 | 网格编码方法、网格解码方法及相关设备 |
-
2023
- 2023-06-30 CN CN202310802552.3A patent/CN119228915A/zh active Pending
-
2024
- 2024-06-24 WO PCT/CN2024/100834 patent/WO2025002018A1/zh not_active Ceased
- 2024-06-24 EP EP24830663.1A patent/EP4738259A1/en active Pending
- 2024-06-24 KR KR1020257041341A patent/KR20260011162A/ko active Pending
-
2025
- 2025-12-08 US US19/411,830 patent/US20260094304A1/en active Pending
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6452596B1 (en) * | 1998-10-06 | 2002-09-17 | International Business Machines Corporation | Methods and apparatus for the efficient compression of non-manifold polygonal meshes |
| KR20080066216A (ko) * | 2007-01-11 | 2008-07-16 | 한국전자통신연구원 | 스티칭 정보를 포함하는 3차원 메쉬 정보부호화/복호화 방법 및 장치 |
| US20090278844A1 (en) * | 2007-01-11 | 2009-11-12 | Eun Young Chang | Method and apparatus for encoding/decoding 3d mesh information including stitching information |
| CN117915105A (zh) * | 2022-10-19 | 2024-04-19 | 维沃移动通信有限公司 | 网格编码方法、网格解码方法及相关设备 |
Also Published As
| Publication number | Publication date |
|---|---|
| KR20260011162A (ko) | 2026-01-22 |
| US20260094304A1 (en) | 2026-04-02 |
| EP4738259A1 (en) | 2026-05-06 |
| CN119228915A (zh) | 2024-12-31 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US12217465B2 (en) | Method and apparatus for point cloud coding | |
| US11611775B2 (en) | Method and apparatus for point cloud coding | |
| KR20200140825A (ko) | 3d 객체를 나타내는 포인트 클라우드를 인코딩/디코딩하기 위한 방법 및 장치 | |
| US20260094304A1 (en) | Encoding method and apparatus, decoding method and apparatus, and device | |
| US20250124606A1 (en) | Lossless encoding method and apparatus, lossless decoding method and apparatus, and device | |
| WO2023246686A1 (zh) | 无损编码方法、无损解码方法、装置及设备 | |
| WO2024083039A1 (zh) | 网格编码方法、网格解码方法及相关设备 | |
| WO2024083043A1 (zh) | 网格编码方法、装置、通信设备及可读存储介质 | |
| WO2025002025A1 (zh) | 编码方法、解码方法、装置及设备 | |
| WO2024193487A1 (zh) | 三维网格位移信息编码方法、解码方法、装置及终端 | |
| Huang et al. | Hierarchical bit-wise differential coding (hbdc) of point cloud attributes | |
| CN118020093A (zh) | 网格压缩中的纹理坐标预测 | |
| WO2023174334A1 (zh) | 编码、解码方法、装置及设备 | |
| WO2025002017A1 (zh) | 三维网格编码方法、三维网格解码方法、装置及设备 | |
| WO2025007793A1 (zh) | 一种三维网格无损编解码方法及装置 | |
| CN120321402A (zh) | 三维网格无损编码、解码方法及编码、解码装置 | |
| WO2026002113A1 (zh) | 编码方法、解码方法、装置及电子设备 | |
| WO2025218538A1 (zh) | 三维网格信息编码方法、解码方法、装置及设备 | |
| WO2025223305A1 (zh) | 三维网格编码方法、三维网格解码方法及相关设备 | |
| WO2024174092A1 (zh) | 编解码方法、码流、编码器、解码器以及存储介质 | |
| WO2024260291A1 (zh) | 网格编码方法、网格解码方法及相关设备 | |
| CN120835149A (zh) | 编码方法、解码方法、装置及电子设备 | |
| WO2023173237A1 (zh) | 编解码方法、码流、编码器、解码器以及存储介质 | |
| HK40075481B (zh) | 点云译码的方法、计算机装置、设备及计算机可读介质 | |
| WO2023173238A1 (zh) | 编解码方法、码流、编码器、解码器以及存储介质 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 24830663 Country of ref document: EP Kind code of ref document: A1 |
|
| ENP | Entry into the national phase |
Ref document number: 2025568441 Country of ref document: JP Kind code of ref document: A |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 2025568441 Country of ref document: JP |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 1020257041341 Country of ref document: KR |
|
| REG | Reference to national code |
Ref country code: BR Ref legal event code: B01A Ref document number: 112025027107 Country of ref document: BR |
|
| WWP | Wipo information: published in national office |
Ref document number: 1020257041341 Country of ref document: KR |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 2024830663 Country of ref document: EP |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| ENP | Entry into the national phase |
Ref document number: 2024830663 Country of ref document: EP Effective date: 20260130 |
|
| ENP | Entry into the national phase |
Ref document number: 2024830663 Country of ref document: EP Effective date: 20260130 |