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

By encoding the isolated point information of the 3D mesh to generate a compressed bitstream, the problem of the inability to effectively process isolated points in the existing technology is solved, and the processing performance of the 3D mesh is improved.

WO2025218538A1PCT designated stage Publication Date: 2025-10-23VIVO MOBILE COMM CO LTD
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
PCT/CN2025/087899
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-04-16
Filing Date
2025-04-09
Publication Date
2025-10-23

AI Technical Summary

Technical Problem

In existing technologies, the encoding and decoding methods for 3D meshes cannot effectively handle isolated points, resulting in poor processing performance.

Method used

By acquiring and encoding the isolated point information of the 3D mesh, a compressed bitstream is generated, thereby improving the processing performance of isolated points.

Benefits of technology

This improved the encoding and decoding performance of 3D meshes, thereby increasing processing efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2025087899_23102025_PF_FP_ABST
    Figure CN2025087899_23102025_PF_FP_ABST
Patent Text Reader

Abstract

The present application relates to the technical field of computers, and discloses a three-dimensional mesh information encoding method and apparatus, a three-dimensional mesh information decoding method and apparatus, and a device. The three-dimensional mesh information encoding method of embodiments of the present application comprises: acquiring isolated point information of a three-dimensional mesh, wherein the isolated point information comprises vertex information of at least one isolated point; and encoding the isolated point information to obtain a compressed code stream.
Need to check novelty before this filing date? Find Prior Art

Description

Three-dimensional mesh information encoding method, decoding method, device and equipment

[0001] Cross-reference to related applications

[0002] The present application claims priority from Chinese Patent Application No. 202410457835.3 filed on April 16, 2024, the content of which is incorporated herein by reference in its entirety. TECHNICAL FIELD

[0003] The present application belongs to the field of computer technology, and specifically relates to a three-dimensional mesh information encoding method, a decoding method, a device and equipment. BACKGROUND

[0004] In some related technologies, the encoding and decoding of a three-dimensional mesh is mainly based on the traversal order of the connection relationship, specifically, the geometric information and attribute information of the vertices of the three-dimensional mesh are encoded and decoded according to the traversal order of the connection relationship. In this way, the encoding of isolated points of the three-dimensional mesh cannot be realized, resulting in poor processing performance of the three-dimensional mesh. SUMMARY

[0005] The embodiments of the present application provide a three-dimensional mesh information encoding method, a decoding method, a device and equipment, which can solve the problem of poor processing performance of the three-dimensional mesh.

[0006] In a first aspect, a three-dimensional mesh information encoding method is provided, comprising:

[0007] Obtaining isolated point information of a three-dimensional mesh, the isolated point information comprising vertex information of at least one isolated point;

[0008] Encoding the isolated point information to obtain a compressed code stream.

[0009] In a second aspect, a three-dimensional mesh information decoding method is provided, comprising:

[0010] Obtaining a compressed code stream;

[0011] Decoding the compressed code stream to obtain isolated point information of a three-dimensional mesh, the isolated point information comprising vertex information of at least one isolated point.

[0012] In a third aspect, a three-dimensional mesh information encoding device is provided, comprising:

[0013] An obtaining module configured to obtain isolated point information of a three-dimensional mesh, the isolated point information comprising vertex information of at least one isolated point;

[0014] An encoding module configured to encode the isolated point information to obtain a compressed code stream.

[0015] In a fourth aspect, a three-dimensional mesh information decoding apparatus is provided, comprising:

[0016] A first obtaining module is configured to obtain a compressed code stream.

[0017] A decoding module is configured to decode the compressed code stream to obtain isolated point information of a three-dimensional mesh, the isolated point information comprising vertex information of at least one isolated point.

[0018] In a fifth aspect, an electronic device is provided, comprising a processor and a memory, the memory storing programs or instructions executable on the processor, the programs or instructions being executed by the processor to implement the steps of the method according to the first aspect, or to implement the steps of the method according to the second aspect.

[0019] In a sixth aspect, an electronic device is provided, comprising a processor and a communication interface, wherein the processor is configured to obtain isolated point information of a three-dimensional mesh, the isolated point information comprising vertex information of at least one isolated point; and encode the isolated point information to obtain a compressed code stream. Alternatively, the communication interface is configured to obtain a compressed code stream, and the processor is configured to decode the compressed code stream to obtain isolated point information of a three-dimensional mesh, the isolated point information comprising vertex information of at least one isolated point.

[0020] In a seventh aspect, an electronic device is provided, comprising a memory configured to store video data, and a processing circuit configured to implement the steps of the method according to the first aspect, or to implement the steps of the method according to the second aspect.

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

[0022] In a ninth aspect, a coding system is provided, comprising an encoding device and a decoding device, the encoding device being configured to implement the steps of the method according to the first aspect, and the decoding device being configured to implement the steps of the method according to the second aspect.

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

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

[0025] In the embodiments of the present application, the isolated point information of the three-dimensional mesh is acquired, the isolated point information including vertex information of at least one isolated point; and the isolated point information is encoded to obtain a compressed code stream. In this way, the isolated points can be encoded, thereby improving the processing performance of the three-dimensional mesh. BRIEF DESCRIPTION OF DRAWINGS

[0026] FIG. 1 is a schematic diagram of a system according to an embodiment of the present application;

[0027] FIG. 2 is a flowchart of a three-dimensional mesh information encoding method according to an embodiment of the present application;

[0028] FIG. 3 is a schematic diagram of encoding according to an embodiment of the present application;

[0029] FIG. 4 is a flowchart of a three-dimensional mesh information decoding method according to an embodiment of the present application;

[0030] FIG. 5 is a structural diagram of a three-dimensional mesh information encoding apparatus according to an embodiment of the present application;

[0031] FIG. 6 is a structural diagram of a three-dimensional mesh information decoding apparatus according to an embodiment of the present application;

[0032] FIG. 7 is a structural diagram of an electronic device according to an embodiment of the present application;

[0033] FIG. 8 is a structural diagram of a terminal according to an embodiment of the present application. DETAILED DESCRIPTION

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

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

[0036] The term "indicate" in the present application can be a direct indication (or explicit indication) or an indirect indication (or implicit indication). Among them, the direct indication can be understood as that the sender explicitly informs the receiver of specific information, operations to be performed or requested results, etc. in the sent indication; the indirect indication can be understood as that the receiver determines the corresponding information according to the indication sent by the sender, or judges and determines the operation to be performed or the requested result according to the judgment result.

[0037] FIG. 1 shows a block diagram of a system to which embodiments of the present application can be applied. The system includes an encoding end device 11 and a decoding end device 12. The encoding end device 11 can be any one or more of a server, a mobile phone, a desktop computer, a notebook (i.e., laptop) computer, a tablet computer, a set-top box, a mobile phone, a wearable device, a television, a camera, a display device, a vehicle-mounted device, a virtual reality (VR) device, an augmented reality (AR) device, a mixed reality (MR) device, a digital media player, a video game console, a video conferencing device, a video streaming device, a broadcast receiver device, a broadcast transmitter device, a spacecraft, an airplane, a robot, a vehicle-mounted device, a flight vehicle, a satellite, a ship-mounted device, a pedestrian user equipment (PUE), a smart home (a home device with wireless communication function, such as a refrigerator, a television, a washing machine, or furniture, etc.), a game console, a personal computer (PC), a teller machine, or a self-service machine, etc.

[0038] The decoding end device 12 can be any one or more of a server, a mobile phone, a desktop computer, a notebook (i.e., laptop) computer, a tablet computer, a set-top box, a mobile phone, a wearable device, a television, a camera, a display device, a vehicle-mounted device, a virtual reality (VR) device, an augmented reality (AR) device, a mixed reality (MR) device, a digital media player, a video game console, a video conferencing device, a video streaming device, a broadcast receiver device, a broadcast transmitter device, a spacecraft, an airplane, a robot, a vehicle-mounted device, a flight vehicle, a satellite, a ship-mounted device, a pedestrian user equipment (PUE), a smart home (a home device with a wireless communication function, such as a refrigerator, a television, a washing machine, or furniture, etc.), a game machine, a personal computer (PC), a teller machine, or a self-service machine, and the like.

[0039] The wearable device can include a smart watch, a smart bracelet, a smart earphone, smart glasses, smart jewelry (a smart bracelet, a smart necklace, a smart ring, a smart necklace, a smart anklet, a smart necklace, and the like), a smart wristband, smart clothing, and the like.

[0040] The vehicle-mounted device can also be referred to as a vehicle-mounted terminal, a vehicle-mounted controller, a vehicle-mounted module, a vehicle-mounted component, a vehicle-mounted chip, or a vehicle-mounted unit, and the like. It should be noted that the specific types of the encoding end device 11 and the decoding end device 12 are not limited in the embodiments of the present application.

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

[0042] With the increasing demand for three-dimensional mesh models in visual effects, and the emergence of many more mature three-dimensional scanning technologies and three-dimensional modeling software, the data size and complexity of three-dimensional mesh models obtained through three-dimensional scanning devices or three-dimensional modeling software are also growing rapidly.

[0043] A three-dimensional mesh usually contains three main information, i.e. topology information, geometry information and attribute information. The topology information, also called connectivity relationship information, is used to describe the connectivity relationship between vertices and facets in the mesh; the geometry information is the three-dimensional coordinates of all vertices in the mesh; and the attribute information records other information attached to the mesh, such as normal vector, texture coordinate and color, etc. The compression of three-dimensional mesh data is usually performed according to the data characteristics of the three kinds of information respectively. In addition, for a three-dimensional mesh with a texture map, the texture map also needs to be compressed.

[0044] The three-dimensional mesh information encoding method, decoding method, device and equipment provided by the embodiments of the present application will be described in detail below in combination with the drawings and some embodiments and application scenarios.

[0045] Please refer to FIG. 2, which is a flowchart of a three-dimensional mesh information encoding method provided by the embodiments of the present application. As shown in FIG. 2, the method comprises the following steps:

[0046] Step 201: Obtain isolated point information of a three-dimensional mesh, wherein the isolated point information comprises vertex information of at least one isolated point.

[0047] The isolated point information of the three-dimensional mesh mentioned above can be information used to represent isolated points in the three-dimensional mesh.

[0048] The at least one isolated point mentioned above can be all or part of the isolated points in the three-dimensional mesh.

[0049] The isolated point refers to a point not referenced by a triangle, i.e. a point in the three-dimensional mesh that has no connectivity relationship with points on any triangular face. The three-dimensional mesh mentioned above can comprise one or more isolated points.

[0050] The vertex information mentioned above can comprise at least one of the following:

[0051] Geometry information and attribute information.

[0052] The isolated point information comprises at least one of the following: geometry information of the at least one isolated point, attribute information of the at least one isolated point, or geometry information and attribute information of the at least one isolated point.

[0053] The isolated point can be referred to as a geometry isolated point for the geometry information, or an attribute isolated point for the attribute information.

[0054] Step 202: Encode the isolated point information to obtain a compressed code stream.

[0055] The step 202 comprises encoding the vertex information of the at least one isolated point to obtain the compressed code stream.

[0056] In some embodiments, the compressed code stream can also be referred to as isolated point information code stream or encoded information of the code stream, and the compressed code stream can be understood as the compressed code stream corresponding to the isolated point or the compressed code stream corresponding to the three-dimensional mesh.

[0057] In the embodiments of the present application, the three-dimensional mesh information encoding method is executed by an encoding end device, i.e., the encoding end device executes the steps 201 and 202.

[0058] In some embodiments, the encoding end device can further send the compressed code stream to a decoding end device, and the decoding end device decodes the compressed code stream to obtain isolated point information of the three-dimensional mesh, so as to realize the decoding and recovery of the isolated points in the three-dimensional mesh.

[0059] In the embodiments of the present application, the steps can be used to encode the isolated points, thereby improving the processing performance of the three-dimensional mesh. Specifically, the encoding performance and the decoding performance of the three-dimensional mesh can be improved.

[0060] As an optional embodiment, the method further includes:

[0061] According to the encoding identifier of the vertex of the three-dimensional mesh, the isolated points of the three-dimensional mesh are identified, and the isolated points of the three-dimensional mesh include the at least one isolated point.

[0062] The encoding identifier of the vertex of the three-dimensional mesh can represent whether the corresponding vertex is encoded, so that the vertices not encoded are identified according to the encoding identifiers of the vertices, and the vertices not encoded are determined as the isolated points.

[0063] The isolated points of the three-dimensional mesh include the at least one isolated point can be understood as that the at least one isolated point can be all or part of the isolated points in the three-dimensional mesh.

[0064] In this embodiment, the isolated points of the three-dimensional mesh can be identified according to the encoding identifier of the vertex of the three-dimensional mesh, thereby improving the accuracy of the identification of the isolated points.

[0065] Optionally, the initial value of the encoding identifier of the vertex of the three-dimensional mesh is a first identifier, and the isolated points of the three-dimensional mesh are identified according to the encoding identifier of the vertex of the three-dimensional mesh, including:

[0066] In the encoding process, the encoding identifier of the vertex already encoded is changed to a second identifier;

[0067] The vertices with the encoding identifier being the first identifier are determined as the isolated points of the three-dimensional mesh by traversing the encoding identifiers of the vertices of the three-dimensional mesh.

[0068] The encoding identifier of the vertex of the three-dimensional mesh can be an encoding identifier set before encoding the vertex of the three-dimensional mesh. For example, taking the geometry information as an example, an encoding identifier can be set for each vertex before encoding the geometry information, to indicate whether the vertex has been encoded. For example, the initial value of the encoding identifier can be -1, and the encoding identifier of the vertex is set to 1 if the geometry information of the vertex has been encoded. After encoding the geometry information, the encoding identifiers of the vertices are traversed to determine whether there is a vertex with an encoding identifier of -1. If there is, the geometry coordinates of the vertex are added to a list storing the geometry information of isolated points.

[0069] In the above embodiments, the isolated points can be identified by the first identifier and the second identifier, so as to improve the accuracy of identification of the isolated points.

[0070] It should be noted that the application is not limited to the above-mentioned encoding identifier for identifying the isolated points. For example, the isolated points can be identified according to the connection relationship of the isolated points in the three-dimensional mesh. In addition, when the isolated points are identified by the encoding identifier, the isolated points are not limited to be identified by the first identifier and the second identifier. For example, the encoding identifier can not be set before encoding, and the encoding identifier is added when the vertex is encoded, so that the vertex without the added encoding identifier is determined as an isolated point.

[0071] In some embodiments, the encoding of the three-dimensional mesh can adopt an Edgebreaker-based coding and decoding scheme. For the encoding of the vertex information, the vertices can be encoded according to the encoding order of the connection relationship.

[0072] The Edgebreaker algorithm in the Edgebreaker-based coding and decoding scheme provided by the application is as follows:

[0073] The Edgebreaker algorithm uses five different modes (referred to as C, L, E, R and S) to access each triangle of the three-dimensional mesh in a depth-first order. According to the mode in which each triangle is located, the triangle is labeled to generate a CLERS string, to obtain a compact representation of the connection relationship of the mesh.

[0074] Five modes of the Edgebreaker algorithm are shown in FIG. 3. The Edgebreaker algorithm divides the mesh into traversed and untraversed parts, and the boundary between the two parts is called the active boundary. In the encoding process of the Edgebreaker, the triangle to be traversed is accessed through the active edge on the active boundary, and according to the relationship between the active edge and the triangle in which the active edge is located, it is selected which mode to use. The other vertex in the triangle in which 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 active edge vertex in counterclockwise order, the current triangle is marked as R mode. If the third vertex is on the active boundary and is the previous vertex of the active edge vertex in counterclockwise order, the current triangle is marked as L mode. If the third vertex is on the active boundary and is both the previous vertex of the active edge vertex and the next vertex of the active edge in counterclockwise order, the current triangle is marked as E mode. If the third vertex is on the active boundary but is neither the previous vertex of the active edge vertex nor the next vertex of the active edge in counterclockwise order, the current triangle is marked as S mode.

[0075] After each triangle is marked, the active boundary is updated, and the next active edge is selected according to certain rules. When all the triangles are traversed, the CLERS string obtained is entropy encoded to obtain higher compression efficiency.

[0076] For the encoding of vertex information, the encoding order of the connection relationship can be used for encoding. For the encoding of geometry information, parallelogram prediction encoding can be used, and for attribute information (such as texture coordinates), similar triangle prediction encoding can be used.

[0077] In the embodiments of the present application, the compression efficiency can be improved by using the Edgebreaker-based encoding and decoding scheme.

[0078] It should be noted that the encoding scheme of the three-dimensional mesh is not limited in the embodiments of the present application. For example, other three-dimensional mesh encoding schemes other than the Edgebreaker-based encoding and decoding scheme can be used.

[0079] As an optional implementation, the isolated point information further includes at least one of the following:

[0080] indication information of whether the isolated point needs to be recovered, indication information of the first isolated point, quantity information of the first isolated point, and quantity information of the isolated points in the three-dimensional mesh;

[0081] The at least one isolated point includes the first isolated point.

[0082] The indication information of whether the isolated point needs to be recovered can be determined by the encoding end device, and the indication information of whether the isolated point needs to be recovered can be set in both lossy and lossless encoding.

[0083] The indication information of whether the isolated point needs to be recovered can be identification information, such as setting an identification to indicate whether the isolated point needs to be recovered, and the identification can be represented by binary, such as 0 indicating that the isolated point does not need to be recovered and 1 indicating that the isolated point needs to be recovered.

[0084] In some embodiments, it can also be defaulted that the isolated point needs to be recovered, that is, the isolated point information can not include the indication information of whether the isolated point needs to be recovered.

[0085] The indication information of whether the isolated point needs to be recovered can accurately indicate whether the isolated point needs to be recovered.

[0086] The isolated point that is repeated with the first isolated point can exist or not exist in the three-dimensional grid. The first isolated point can be part of the at least one isolated point.

[0087] The indication information of the first isolated point can be index information.

[0088] In some embodiments, in the case that the isolated point information does not include the indication information of the first isolated point, the at least one isolated point can be all isolated points in the three-dimensional grid.

[0089] In some embodiments, in the case that the isolated point information includes the indication information of the first isolated point, the at least one isolated point can be all or part of the isolated points in the three-dimensional grid.

[0090] In some embodiments, the first isolated point can be an isolated point that needs to be judged whether there is a repeated point in the decoding process, and if it is judged that there is a repeated point, the repeated point that is repeated with the first isolated point is recovered based on the vertex information of the first isolated point.

[0091] In some embodiments, the first isolated point can also be referred to as an isolated point that needs to add a repeated point.

[0092] In some embodiments, the encoding of the isolated point information includes:

[0093] Encoding the vertex information of the at least one isolated point, and the indication information of whether the isolated point needs to be recovered or the indication information of the first isolated point.

[0094] For example, first, encode the indication information of whether to recover the isolated points, if the isolated points need to be recovered, then continue to encode the vertex information of the at least one isolated point and the indication information of the first isolated point.

[0095] The number information of the first isolated points can enable the decoding end device to better recover the first isolated points.

[0096] The number information of the isolated points in the three-dimensional grid can be the number information of all the isolated points in the three-dimensional grid, and the number information can enable the decoding end device to better recover the isolated points.

[0097] Optionally, in the case where the isolated point information includes the indication information of the first isolated point, the at least one isolated point includes the first isolated point and does not include at least one second isolated point that is duplicated with the first isolated point; or,

[0098] In the case where the isolated point information does not include the indication information of the first isolated point, the at least one isolated point includes the first isolated point; and in the case where there is at least one second isolated point that is duplicated with the first isolated point in the three-dimensional grid, the at least one isolated point further includes the at least one second isolated point.

[0099] In the case where the isolated point information includes the indication information of the first isolated point, the decoding end device can determine whether there is a second isolated point that is duplicated with the first isolated point and determine the number of the second isolated points based on the indication information of the first isolated point, and then recover the at least one second isolated point based on the indication information of the first isolated point.

[0100] Since the at least one second isolated point that is duplicated with the first isolated point is not included, only the vertex information of one of the duplicated isolated points needs to be encoded, that is, the multiple isolated points are combined, thereby saving the overhead of the compressed code stream.

[0101] In the case where there is no second isolated point that is duplicated with the first isolated point in the three-dimensional grid, the at least one isolated point does not include the second isolated point.

[0102] In the case where the isolated point information does not include the indication information of the first isolated point, the at least one isolated point can be all the isolated points in the three-dimensional grid, that is, the duplicated isolated points are not combined, and the vertex information of each isolated point is directly encoded. Since all the isolated points are directly encoded, the encoding complexity can be reduced.

[0103] Optionally, the indication information of the first isolated point is used to add a second isolated point that is duplicated with the first isolated point in the decoding process.

[0104] wherein the second isolated point repeated with the first isolated point can be 0 or an integer greater than or equal to 1, wherein 0 means that there is no second isolated point repeated with the first isolated point. For example, the decoding end device determines whether there is a second isolated point through the indication information of the first isolated point, and when there is a second isolated point, the number of the second isolated points is determined, and then the corresponding number of second isolated points is added based on the vertex information of the first isolated point. If there is no isolated point repeated with the first isolated point, no addition is needed.

[0105] In this embodiment, the indication information of the first isolated point is used to add the second isolated point repeated with the first isolated point in the decoding process, so that the decoding end device can reliably add the second isolated point.

[0106] In the embodiments of the present application, the function of the indication information of the first isolated point is not limited, for example, the indication information of the first isolated point can be only index information of the first isolated point, and the decoding end device can determine whether there is a second isolated point and the number of the second isolated points based on the remaining information in the compressed code stream, such as determining based on the number information of the second isolated points independently coded, so that the decoding end device can also reliably add the second isolated point.

[0107] Optionally, the indication information of the first isolated point is also used to indicate the number of the second isolated points repeated with the first isolated point; or,

[0108] The number information of the second isolated points repeated with the first isolated point is included in the compressed code stream.

[0109] wherein the indication information of the first isolated point can be explicit or implicit indication of the number of the second isolated points repeated with the first isolated point, for example, part of the bits in the indication information of the first isolated point are used to indicate the number of the second isolated points repeated with the first isolated point, which can be 0 or an integer greater than or equal to 1. Or, the indication information of the first isolated point includes index information of the first isolated point and number information of the second isolated points repeated with the first isolated point. Or, the number of the second isolated points repeated with the first isolated point is indicated by the number of the indication information of the first isolated point, for example, the indication information (such as index information) of a certain isolated point in the first isolated point is 0, such as recording 0, 0, so that the decoding end directly adds two second isolated points repeated with the first isolated point with index 0 when recovering subsequently.

[0110] In this way, the indication information of the first isolated point is also used to indicate the number of the second isolated points repeated with the first isolated point, so as to save the compression code stream overhead.

[0111] The quantity information of the second isolated point repeated with the first isolated point in the compressed code stream can be understood as adding the quantity information of the second isolated point repeated with the first isolated point in the compressed code stream separately, and the quantity information can accurately indicate the quantity of the second isolated point to be recovered.

[0112] Optionally, the indication information of the first isolated point comprises at least one of:

[0113] index information of the first isolated point in the reconstructed grid of the three-dimensional grid;

[0114] relative index information of the first isolated point in the at least one isolated point.

[0115] In an embodiment, for lossless coding, the index information of the first isolated point in the reconstructed grid of the three-dimensional grid can be index information determined by comparing the reconstructed grid with the original input grid, i.e., after obtaining the reconstructed grid at the encoding end device, the reconstructed grid is compared with the original input grid, thereby obtaining grid difference information and coding, wherein the grid difference information contains the index information of the first isolated point, i.e., the index of the first isolated point in the reconstructed grid.

[0116] In an embodiment, for lossy coding, the index information of the first isolated point in the reconstructed grid of the three-dimensional grid can be the index information of the first isolated point in the reconstructed grid directly recorded in the reconstruction process at the encoding end device.

[0117] The index information of the first isolated point in the reconstructed grid of the three-dimensional grid can make the decoding end device determine the vertex information of the first isolated point based on the index information.

[0118] The relative index information of the first isolated point in the at least one isolated point can be the relative index of the first isolated point in the isolated point list, and the relative index information can make the decoding end device determine the vertex information of the first isolated point based on the index information.

[0119] Optionally, in the case where the isolated point information comprises indication information of a plurality of first isolated points, the compressed code stream comprises indication information of one first isolated point in the plurality of first isolated points, and difference value information of the indication information of the remaining first isolated points, the difference value information being determined based on the indication information of the one first isolated point.

[0120] The one first isolated point can be the first coded isolated point in the plurality of first isolated points.

[0121] The difference information is difference information obtained by difference coding, that is, difference between each indication information and previous indication information is coded except that indication information of a first isolated point is directly written into a code stream.

[0122] The difference information can save overhead of the compressed code stream.

[0123] It should be noted that the encoding manner of the indication information of the first isolated point is not limited in the embodiments of the present application, for example, indication information of a plurality of first isolated points can also be written into the code stream.

[0124] In the embodiments of the present application, isolated point information of a three-dimensional mesh is obtained, the isolated point information including vertex information of at least one isolated point; and the isolated point information is coded to obtain a compressed code stream. In this way, the isolated point can be coded, thereby improving processing performance of the three-dimensional mesh.

[0125] Please refer to FIG. 4, which is a flow chart of a three-dimensional mesh information decoding method provided by the embodiments of the present application, as shown in FIG. 4, including the following steps:

[0126] Step 401, obtaining a compressed code stream;

[0127] Step 402, decoding the compressed code stream to obtain isolated point information of a three-dimensional mesh, the isolated point information including vertex information of at least one isolated point.

[0128] In some embodiments, decoding of the vertex information of the at least one isolated point can be directly reading values of corresponding positions from the compressed code stream to obtain the vertex information of the at least one isolated point.

[0129] In the embodiments of the present application, the three-dimensional mesh information coding method is executed by a decoding end device, that is, the decoding end device executes the above-mentioned step 401 and step 402.

[0130] In the embodiments of the present application, the above-mentioned steps can realize decoding of the isolated point, thereby improving processing performance of the three-dimensional mesh. Specifically, decoding performance of the three-dimensional mesh can be improved.

[0131] Optionally, the isolated point information further includes at least one of the following:

[0132] indication information of whether the isolated point needs to be recovered, indication information of the first isolated point, quantity information of the first isolated point, quantity information of the isolated points in the three-dimensional mesh;

[0133] The at least one isolated point includes the first isolated point.

[0134] Optionally, in a case where the isolated point information comprises the indication information of the first isolated point, the at least one isolated point comprises the first isolated point and does not comprise at least one second isolated point that is duplicated with the first isolated point; or,

[0135] in a case where the isolated point information does not comprise the indication information of the first isolated point, the at least one isolated point comprises the first isolated point; and in a case where there is at least one second isolated point duplicated with the first isolated point in the three-dimensional grid, the at least one isolated point further comprises the at least one second isolated point.

[0136] Optionally, the indication information of the first isolated point is used to add a second isolated point duplicated with the first isolated point in a decoding process.

[0137] Optionally, the indication information of the first isolated point is further used to indicate a number of second isolated points duplicated with the first isolated point; or,

[0138] a number information of second isolated points duplicated with the first isolated point is comprised in the compressed bitstream.

[0139] Optionally, the indication information of the first isolated point comprises at least one of:

[0140] index information of the first isolated point in a reconstructed grid of the three-dimensional grid;

[0141] relative index information of the first isolated point in the at least one isolated point.

[0142] Optionally, in a case where the isolated point information comprises indication information of a plurality of first isolated points, the compressed bitstream comprises indication information of one first isolated point in the plurality of first isolated points and difference information of indication information of the remaining first isolated points, the difference information being difference information determined on the basis of the indication information of the one first isolated point.

[0143] Optionally, the method further comprises:

[0144] acquiring vertex information of the at least one second isolated point based on the indication information of the first isolated point.

[0145] The acquiring of the vertex information of the at least one second isolated point based on the indication information of the first isolated point can be determining a number of second isolated points based on the indication information of the first isolated point, so as to acquire vertex information of the corresponding number of second isolated points; or can be judging whether there is a second isolated point based on the indication information of the first isolated point, and if there is, acquiring the vertex information of the at least one second isolated point.

[0146] The obtaining of the vertex information of the at least one second isolated point based on the indication information of the first isolated point can be obtaining of the vertex information of the first isolated point based on the indication information of the first isolated point, that is, obtaining of the vertex information of the at least one second isolated point, such as adding the geometric information of the at least one second isolated point at the end of the decoded and recovered geometric information list or adding the attribute information of the at least one second isolated point at the end of the decoded and recovered attribute information list, to finally obtain the decoded mesh with recovered isolated points.

[0147] Optionally, the vertex information includes at least one of the following:

[0148] Geometric information and attribute information.

[0149] It should be noted that the embodiment is a corresponding decoding end implementation of the embodiment shown in FIG. 2, and the specific implementation can refer to the related description of the embodiment shown in FIG. 2. To avoid repeated description, the embodiment will not be described again.

[0150] The method provided by the embodiment of the application is exemplified by multiple embodiments as follows:

[0151] Embodiment one:

[0152] The embodiment describes an implementation scheme of the encoding end, and the implementation scheme is as follows:

[0153] In the embodiment, the coding and decoding scheme for isolated points mainly includes two parts at the encoding end: obtaining of isolated point information and encoding of isolated point information. The two parts are introduced as follows:

[0154] 1. Obtaining of isolated point information

[0155] Input: original mesh (i.e., three-dimensional mesh)

[0156] Output: isolated point information, including identification information of whether isolated points need to be recovered (i.e., indication information of whether isolated points need to be recovered in the above embodiment), vertex information of isolated points (i.e., at least one isolated point in the above embodiment), and index information of isolated points (i.e., the first isolated point in the above embodiment) that need to add duplicate points.

[0157] First, set a flag to indicate whether to restore the isolated point, which can be represented in binary, such as 0 for not restoring isolated points and 1 for restoring isolated points. If the isolated points need to be restored, the isolated points need to be judged and the isolated point information needs to be recorded. Taking geometric information as an example, for the judgment of isolated points, a coding flag can be set for each vertex before the geometric information is encoded, which is used to indicate whether the vertex has been encoded. For example, the initial value can be set to -1, and if the geometric information of the current vertex has been encoded, it is set to 1. After the geometric information is encoded, the coding flags of the vertices are traversed to determine whether there is a vertex with a coding flag of -1. If there is, the geometric coordinates of the vertex are added to the list storing the geometric information of the isolated points.

[0158] where, for the case of existing repeated isolated points (i.e., there is a first isolated point and at least one second isolated point). Before encoding, repeated points can be merged to reduce the number of bits, so for a three-dimensional mesh encoding scheme that does not merge repeated points, the geometric information of each isolated point can be directly recorded by the above description. For a three-dimensional mesh encoding scheme that merges repeated points, it can be discussed in terms of lossless encoding and lossy encoding. For lossless encoding, the reconstructed mesh can be obtained at the encoding end, and the reconstructed mesh is compared with the original input mesh to obtain the mesh difference information and encode it, wherein the mesh difference information contains the index information of the isolated points that need to add repeated points, which can be the index of the isolated points that need to add repeated points in the reconstructed mesh. For lossy encoding, if the repeated isolated points need to be restored, the geometric coordinates of the repeated points and the corresponding number of merged points can be recorded when the repeated points are merged. In the above judgment of isolated points, it is determined whether the geometric coordinates of the vertex with a coding flag of -1 are the same as the merged repeated vertex, and if they are the same, the index information of the same number of current isolated points is recorded according to the number of the merged repeated vertex corresponding to the current isolated point, i.e., the index information of the isolated points that need to add repeated points, which can be the relative index of the current isolated point in the isolated point list.

[0159] where, for the processing of attribute isolated points, the same scheme as the above geometric isolated point judgment can be used to obtain the isolated point information of the attribute.

[0160] Finally, the isolated point information is obtained, including the identification information of whether to restore the isolated points, the vertex information of the isolated points, and the index information of the isolated points that need to add repeated points. The vertex information of the isolated points can be one or more of the geometric information and the attribute information.

[0161] 2. Isolated point information encoding:

[0162] Input: isolated point information, including identification information of whether to restore isolated points, vertex information of isolated points, and index information of isolated points that need to add repeated points.

[0163] Output: Isolated point information code stream (i.e. compressed code stream in the above embodiment).

[0164] First, encode the identification information of whether to recover isolated points. If isolated points need to be recovered, continue to encode the vertex information of isolated points and the index information of isolated points that need to add duplicate points.

[0165] The identification information of whether isolated points need to be recovered can be directly encoded by 1 bit. Since isolated points have no connection with any other points, and in general case, the number is very small, the vertex information of isolated points can be encoded in the form of directly writing each value into the code stream. For the index information of isolated points that need to add duplicate points, it can be encoded by the way of difference value coding, that is, except for the first index directly written into the code stream, the difference value of each index and the previous index is encoded. The specific encoding method of isolated point information is not limited here.

[0166] Embodiment two:

[0167] This embodiment describes the scheme of the decoding end, as follows:

[0168] The coding and decoding scheme of isolated points in this embodiment mainly includes two parts at the decoding end: isolated point information decoding and isolated point recovery. The following will be introduced respectively:

[0169] 1. Isolated point information decoding

[0170] Input: Isolated point information code stream (i.e. compressed code stream in the above embodiment);

[0171] Output: Isolated point information, including the identification information of whether to recover isolated points (i.e. indication information of whether to recover isolated points in the above embodiment), the vertex information of isolated points (i.e. at least one isolated point in the above embodiment), and the index information of isolated points that need to add duplicate points (i.e. the first isolated point in the above embodiment).

[0172] First, decode the identification information of whether to recover isolated points. If isolated points need to be recovered, continue to decode the vertex information of isolated points and the index information of isolated points that need to add duplicate points.

[0173] The identification information of whether the isolated point needs to be restored can be directly decoded by reading the corresponding 1-bit data in the code stream. The vertex information of the isolated point can be directly decoded by reading the value of the corresponding position in the code stream. For the index information of the isolated point that needs to add a repeated point, the difference decoding method can be used, that is, the index information is directly read from the corresponding position in the code stream, and the difference value between each index and the previous index is obtained by decoding, and the corresponding accumulation operation is performed to obtain each index value. The specific encoding method of the isolated point information is not limited here, and it corresponds to the encoding end.

[0174] 2. Isolated point restoration

[0175] Input: isolated point information, including identification information of whether the isolated point needs to be restored, vertex information of the isolated point, and index information of the isolated point that needs to add a repeated point.

[0176] Output: decoded mesh.

[0177] First, it is judged whether the isolated point needs to be restored according to the identification information of whether the isolated point needs to be restored. If the isolated point needs to be restored, the geometric information is taken as an example, and the geometric information of the isolated point can be directly added to the end of the decoded geometric information list according to the geometric information of the isolated point. Then, according to the index information of the isolated point that needs to add a repeated point, the geometric information of the isolated point that needs to add a repeated point is obtained, and the corresponding geometric information is added to the end of the decoded and restored geometric information list. For attribute isolated points, the same method as the restoration of the above-mentioned geometric isolated points can be used to restore the attribute isolated points. Finally, the decoded mesh with restored isolated points is obtained.

[0178] Embodiment three:

[0179] In this embodiment, the syntax structure of the coding and decoding scheme provided by the embodiments of the present application is provided, which is exemplified by the syntax structure of the Video-based Dynamic Mesh Coding (V-DMC) standard formulated by the Moving Pictures Experts Group (MPEG), and is as follows:

[0180] Among them, the three-dimensional mesh coding header information is as follows:

[0181] Among them, mesh_reverse_unreferenced_vertices_flag represents whether the isolated point needs to be restored (such as the indication information of whether the isolated point needs to be restored in the above-mentioned embodiment). When its value is 1, it means that the isolated point needs to be restored.

[0182] The three-dimensional mesh geometry information is as follows:

[0183] mesh_position_unreferenced_count indicates the number of geometric isolated points (e.g., the number of first isolated points in the above embodiment).

[0184] mesh_position_unreferenced[i][j] indicates the jth coordinate value of the three-dimensional geometric coordinates of the ith isolated point, j has a value range of [0, 1, 2] (e.g., the geometric information in the above embodiment).

[0185] mesh_position_duplicate_unreferenced_idx_count indicates the number of indexes of the geometric isolated points that need to add duplicate points (the index number can represent the number of second isolated points in the above embodiment, i.e., the index number of the first isolated point represents the number of second isolated points that duplicate the first isolated points).

[0186] mesh_position_duplicate_unreferenced_idx_delta[i] indicates the difference between the index of the ith geometric isolated point that needs to add duplicate points and the index of the (i-1)th geometric isolated point that needs to add duplicate points when i>0. When i=0, it indicates the index of the first geometric isolated point that needs to add duplicate points. (e.g., the difference value information of the indication information of the remaining first isolated points in the above embodiment)

[0187] Another possible syntax structure of three-dimensional mesh geometry information is as follows:

[0188] mesh_position_unreferenced_count indicates the number of geometric isolated points (e.g., the number of isolated points in the three-dimensional mesh in the above embodiment).

[0189] mesh_position_unreferenced[i][j] indicates the jth coordinate value of the three-dimensional geometric coordinates of the ith isolated point, j has a value range of [0, 1, 2] (e.g., the geometric information in the above embodiment).

[0190] The three-dimensional mesh attribute information is as follows:

[0191] mesh_attribute_unreferenced_count[i] indicates the number of isolated points of the ith attribute (e.g., the number of first isolated points in the above embodiment).

[0192] mesh_attribute_unreferenced[i][j][k] represents the kth dimension attribute value of the jth isolated point of the ith attribute, and the value range of k is related to the dimension of the current ith attribute (such as the attribute information in the above embodiment).

[0193] mesh_attribute_duplicate_unreferenced_idx_count[i] represents the index number of the attribute isolated point of the ith attribute that needs to add a duplicate point (the index number can represent the number of the second isolated point in the above embodiment, that is, the index number of the first isolated point represents the number of the second isolated point that duplicates the first isolated point).

[0194] mesh_attribute_duplicate_unreferenced_idx_delta[i][j] represents the difference between the index of the jth attribute isolated point that needs to add a duplicate point and the index of the (i-1)th attribute isolated point that needs to add a duplicate point when j>0. When j=0, it represents the index of the first attribute isolated point that needs to add a duplicate point. Different i values represent different attributes (such as the difference value information of the indication information of the remaining first isolated point in the above embodiment).

[0195] Another possible syntax structure of the three-dimensional mesh attribute information is as follows:

[0196] mesh_attribute_unreferenced_count[i] represents the number of isolated points of the ith attribute (such as the number of isolated points in the three-dimensional mesh in the above embodiment).

[0197] mesh_attribute_unreferenced[i][j][k] represents the kth dimension attribute value of the jth isolated point of the ith attribute, and the value range of k is related to the dimension of the current ith attribute (such as the attribute information in the above embodiment).

[0198] The three-dimensional mesh information encoding method provided in the embodiment of the application can be executed by a three-dimensional mesh information encoding device. In the embodiment of the application, the method of the three-dimensional mesh information encoding device executing the three-dimensional mesh information encoding method is taken as an example to illustrate the three-dimensional mesh information encoding device provided in the embodiment of the application.

[0199] The three-dimensional mesh information decoding method provided in the embodiment of the application can be executed by a three-dimensional mesh information decoding device. In the embodiment of the application, the method of the three-dimensional mesh information decoding device executing the three-dimensional mesh information decoding method is taken as an example to illustrate the three-dimensional mesh information decoding device provided in the embodiment of the application.

[0200] Please refer to FIG. 5, which is a structural diagram of a three-dimensional mesh information encoding device provided by an embodiment of the present application. As shown in FIG. 5, the three-dimensional mesh information encoding device 500 includes:

[0201] An obtaining module 501 is configured to obtain isolated point information of a three-dimensional mesh, the isolated point information including vertex information of at least one isolated point.

[0202] An encoding module 502 is configured to encode the isolated point information to obtain a compressed code stream.

[0203] Optionally, the device further includes:

[0204] An identifying module is configured to identify isolated points of the three-dimensional mesh according to an encoded identifier of a vertex of the three-dimensional mesh, the isolated points of the three-dimensional mesh including the at least one isolated point.

[0205] Optionally, an initial value of the encoded identifier of the vertex of the three-dimensional mesh is a first identifier, and the identifying module is configured to change the encoded identifier of a vertex that has been encoded to a second identifier in an encoding process, and determine a vertex with the encoded identifier being the first identifier as an isolated point of the three-dimensional mesh by traversing the encoded identifier of the vertex of the three-dimensional mesh.

[0206] Optionally, the isolated point information further includes at least one of the following:

[0207] indication information about whether isolated points need to be recovered, indication information about a first isolated point, quantity information about the first isolated point, quantity information about isolated points in the three-dimensional mesh;

[0208] The at least one isolated point includes the first isolated point.

[0209] Optionally, in a case where the isolated point information includes the indication information about the first isolated point, the at least one isolated point includes the first isolated point and does not include at least one second isolated point that is duplicated with the first isolated point; or,

[0210] in a case where the isolated point information does not include the indication information about the first isolated point, the at least one isolated point includes the first isolated point; and in a case where there is at least one second isolated point that is duplicated with the first isolated point in the three-dimensional mesh, the at least one isolated point further includes the at least one second isolated point.

[0211] Optionally, the indication information about the first isolated point is used to add a second isolated point that is duplicated with the first isolated point in a decoding process.

[0212] Optionally, the indication information of the first isolated point further indicates a number of second isolated points that are duplicated with the first isolated point; or

[0213] The number information of the second isolated points that are duplicated with the first isolated point is included in the compressed bitstream.

[0214] Optionally, the indication information of the first isolated point includes at least one of the following:

[0215] Index information of the first isolated point in a reconstructed grid of the three-dimensional grid;

[0216] Relative index information of the first isolated point in the at least one isolated point.

[0217] Optionally, in a case where the isolated point information includes indication information of a plurality of first isolated points, the compressed bitstream includes indication information of one first isolated point of the plurality of first isolated points, and difference information of indication information of the remaining first isolated points, the difference information being difference information determined on the basis of the indication information of the one first isolated point.

[0218] Optionally, the vertex information includes at least one of the following:

[0219] Geometric information, attribute information.

[0220] The three-dimensional grid information encoding apparatus can improve the processing performance of the three-dimensional grid.

[0221] The three-dimensional grid information encoding apparatus provided by the embodiments of the present application can implement each process implemented by the method embodiment of FIG. 2 and achieve the same technical effects. To avoid repetition, details are not described herein.

[0222] Please refer to FIG. 6, which is a structure diagram of a three-dimensional grid information decoding apparatus provided by an embodiment of the present application. As shown in FIG. 6, the three-dimensional grid information decoding apparatus 600 includes:

[0223] A first acquisition module 601 is configured to acquire a compressed bitstream.

[0224] A decoding module 602 is configured to decode the compressed bitstream to obtain isolated point information of a three-dimensional grid, the isolated point information including vertex information of at least one isolated point.

[0225] Optionally, the isolated point information further includes at least one of the following:

[0226] Indication information of whether the isolated point needs to be recovered, indication information of the first isolated point, number information of the first isolated point, and number information of the isolated points in the three-dimensional grid.

[0227] The at least one isolated point includes the first isolated point.

[0228] Optionally, in a case where the isolated point information includes the indication information of the first isolated point, the at least one isolated point includes the first isolated point and does not include at least one second isolated point that is duplicated with the first isolated point; or,

[0229] In a case where the isolated point information does not include the indication information of the first isolated point, the at least one isolated point includes the first isolated point; and in a case where there is at least one second isolated point duplicated with the first isolated point in the three-dimensional grid, the at least one isolated point further includes the at least one second isolated point.

[0230] Optionally, the indication information of the first isolated point is used to add a second isolated point duplicated with the first isolated point in a decoding process.

[0231] Optionally, the indication information of the first isolated point is further used to indicate a number of second isolated points duplicated with the first isolated point; or,

[0232] Information of a number of second isolated points duplicated with the first isolated point is included in the compressed bitstream.

[0233] Optionally, the indication information of the first isolated point includes at least one of the following:

[0234] Index information of the first isolated point in a reconstructed grid of the three-dimensional grid;

[0235] Relative index information of the first isolated point in the at least one isolated point.

[0236] Optionally, in a case where the isolated point information includes indication information of a plurality of first isolated points, the compressed bitstream includes indication information of one first isolated point in the plurality of first isolated points and difference information of indication information of the remaining first isolated points, the difference information being difference information determined on the basis of the indication information of the one first isolated point.

[0237] Optionally, the apparatus further includes:

[0238] The second acquisition module is configured to acquire vertex information of the at least one second isolated point on the basis of the indication information of the first isolated point.

[0239] Optionally, the vertex information includes at least one of the following:

[0240] Geometric information and attribute information.

[0241] The three-dimensional grid information decoding apparatus described above can improve the processing performance of the three-dimensional grid.

[0242] The three-dimensional grid information decoding apparatus provided by the embodiments of the present application can realize each process of the method embodiment of FIG. 4 and achieve the same technical effects. To avoid repetition, details are not described herein.

[0243] As shown in FIG. 7, the embodiments of the present application further provide an electronic device 700, which includes a processor 701 and a memory 702. The memory 702 has a program or instruction stored thereon, which can be run on the processor 701. For example, when the electronic device 700 is an encoding end device, the program or instruction is executed by the processor 701 to realize each step of the above-mentioned three-dimensional grid information encoding method or three-dimensional grid information decoding method embodiment and achieve the same technical effects. When the electronic device 700 is a decoding end device, the program or instruction is executed by the processor 701 to realize each step of the above-mentioned three-dimensional grid information encoding method or three-dimensional grid information decoding method embodiment and achieve the same technical effects. To avoid repetition, details are not described herein.

[0244] The embodiments of the present application further provide an electronic device, which includes a memory configured to store video data, and a processing circuit configured to realize each step of the above-mentioned three-dimensional grid information encoding method or three-dimensional grid information decoding method embodiment.

[0245] The embodiments of the present application further provide an electronic device, which includes a processor and a communication interface. The communication interface is coupled to the processor. The processor is configured to run a program or instruction to realize each step in the three-dimensional grid information encoding method as shown in FIG. 2 or the three-dimensional grid information decoding method as shown in FIG. 4. The device embodiment corresponds to the above-mentioned method embodiment. Each implementation process and implementation manner of the above-mentioned method embodiment can be applied to the terminal embodiment and achieve the same technical effects.

[0246] The electronic device can be a terminal or other devices, such as a server, a Network Attached Storage (NAS), etc.

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

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

[0249] Taking an electronic device as an example, FIG. 8 is a schematic diagram of a hardware structure of a terminal according to an embodiment of the present application.

[0250] The terminal 800 includes, but is not limited to, at least part of components such as a radio frequency unit 801, a network module 802, an audio output unit 803, an input unit 804, a sensor 805, a display unit 806, a user input unit 807, an interface unit 808, a memory 809, and a processor 810.

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

[0252] It should be understood that in the embodiments of the present application, the input unit 804 can include a graphics processor (Graphics Processing Unit, GPU) 8041 and a microphone 8042. The graphics processor 8041 processes image data of a still picture or a video obtained by an image acquisition device (such as a camera) in a video capture mode or an image capture mode, or can process obtained point cloud data. The display unit 806 can include a display panel 8061, which can be configured in the form of a liquid crystal display, an organic light-emitting diode, etc. The user input unit 807 includes at least one of a touch panel 8071 and other input devices 8072. The touch panel 8071 is also called a touch screen. The touch panel 8071 can include two parts of a touch detection device and a touch controller. The other input devices 8072 can include, but are not limited to, a physical keyboard, function keys (such as volume control keys, on-off keys, etc.), trackballs, mice, joysticks, etc., which are not described here again.

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

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

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

[0256] In one embodiment:

[0257] The processor 810 is configured to acquire isolated point information of a three-dimensional mesh, the isolated point information including vertex information of at least one isolated point; and encode the isolated point information to obtain a compressed code stream.

[0258] Optionally, the processor 810 is further configured to:

[0259] According to the encoded identification of the vertex of the three-dimensional mesh, an isolated point of the three-dimensional mesh is identified, and the isolated point of the three-dimensional mesh includes the at least one isolated point.

[0260] Optionally, an initial value of the encoded identification of the vertex of the three-dimensional mesh is a first identification, and the identifying the isolated point of the three-dimensional mesh according to the encoded identification of the vertex of the three-dimensional mesh includes:

[0261] In the encoding process, the encoded identification of the vertex that has been encoded is changed to a second identification.

[0262] The encoded identification of the vertex of the three-dimensional mesh is traversed, and the vertex with the first identification is determined as the isolated point of the three-dimensional mesh.

[0263] Optionally, the isolated point information further includes at least one of:

[0264] indication information of whether the isolated point needs to be recovered, indication information of a first isolated point, quantity information of the first isolated point, quantity information of the isolated point in the three-dimensional mesh, and the like.

[0265] The at least one isolated point includes the first isolated point.

[0266] Optionally, in a case where the isolated point information includes the indication information of the first isolated point, the at least one isolated point includes the first isolated point and does not include at least one second isolated point that is duplicated with the first isolated point; or,

[0267] In a case where the isolated point information does not include the indication information of the first isolated point, the at least one isolated point includes the first isolated point; and in a case where there is at least one second isolated point that is duplicated with the first isolated point in the three-dimensional mesh, the at least one isolated point further includes the at least one second isolated point.

[0268] Optionally, the indication information of the first isolated point is used to add a second isolated point that is duplicated with the first isolated point in a decoding process.

[0269] Optionally, the indication information of the first isolated point is further used to indicate a quantity of the second isolated point that is duplicated with the first isolated point; or

[0270] Quantity information of the second isolated point that is duplicated with the first isolated point is included in the compressed code stream.

[0271] Optionally, the indication information of the first isolated point includes at least one of:

[0272] index information of the first isolated point in a reconstructed mesh of the three-dimensional mesh.

[0273] the relative index information of the first isolated point in the at least one isolated point.

[0274] Optionally, in the case that the isolated point information comprises indication information of a plurality of first isolated points, the compressed code stream comprises indication information of one first isolated point of the plurality of first isolated points, and difference information of indication information of the rest first isolated points, the difference information being determined on the basis of the indication information of the one first isolated point.

[0275] Optionally, the vertex information comprises at least one of:

[0276] geometric information, attribute information.

[0277] In one embodiment:

[0278] The radio frequency unit 801 is configured to obtain a compressed code stream.

[0279] The processor 810 is configured to decode the compressed code stream to obtain isolated point information of a three-dimensional mesh, the isolated point information comprising vertex information of at least one isolated point.

[0280] Optionally, the isolated point information further comprises at least one of:

[0281] indication information of whether the isolated point needs to be recovered, indication information of a first isolated point, quantity information of the first isolated point, quantity information of isolated points in the three-dimensional mesh;

[0282] The at least one isolated point comprises the first isolated point.

[0283] Optionally, in the case that the isolated point information comprises indication information of the first isolated point, the at least one isolated point comprises the first isolated point and does not comprise at least one second isolated point that is duplicated with the first isolated point; or,

[0284] In the case that the isolated point information does not comprise indication information of the first isolated point, the at least one isolated point comprises the first isolated point; and in the case that there is at least one second isolated point duplicated with the first isolated point in the three-dimensional mesh, the at least one isolated point further comprises the at least one second isolated point.

[0285] Optionally, the indication information of the first isolated point is used to add a second isolated point duplicated with the first isolated point in a decoding process.

[0286] Optionally, the indication information of the first isolated point is further used to indicate the quantity of the second isolated point duplicated with the first isolated point; or,

[0287] The number information of the second isolated point that is repeated with the first isolated point is included in the compressed code stream.

[0288] Optionally, the indication information of the first isolated point includes at least one of the following:

[0289] Index information of the first isolated point in a reconstructed grid of the three-dimensional grid.

[0290] Relative index information of the first isolated point in the at least one isolated point.

[0291] Optionally, in a case where the isolated point information includes indication information of a plurality of first isolated points, the compressed code stream includes indication information of one first isolated point of the plurality of first isolated points, and difference information of indication information of the remaining first isolated points, the difference information being difference information determined based on the indication information of the one first isolated point.

[0292] Optionally, the processor 810 is further configured to:

[0293] Based on the indication information of the first isolated point, obtain vertex information of the at least one second isolated point.

[0294] Optionally, the vertex information includes at least one of the following:

[0295] Geometric information and attribute information.

[0296] The above device can improve the processing performance of the three-dimensional grid.

[0297] It can be understood that the implementation process of each implementation manner mentioned in the embodiment can refer to the related description of the three-dimensional grid information encoding method or the three-dimensional grid information decoding method embodiment, and achieve the same or corresponding technical effects. To avoid repetition, it will not be repeated here.

[0298] The embodiment of the application further provides a readable storage medium, the readable storage medium stores a program or instructions, the program or instructions are executed by the processor to realize each process of the above-mentioned three-dimensional grid information encoding method or three-dimensional grid information decoding method embodiment, and can achieve the same technical effects. To avoid repetition, it will not be repeated here.

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

[0300] The chip provided by the embodiment of the present application includes a processor and a communication interface, the communication interface is coupled with the processor, the processor is used to run programs or instructions, realizes each process of the three-dimensional grid information encoding method or the three-dimensional grid information decoding method embodiment, and can achieve the same technical effects. To avoid repetition, details are not repeated here.

[0301] It should be understood that the chip mentioned in the embodiment of the present application can include a system-on-chip (also known as a system chip, a chip system or a system-on-chip), and can also include a separate display chip and the like.

[0302] The embodiment of the present application further provides a computer program / program product stored in a storage medium, which is executed by at least one processor to realize each process of the three-dimensional grid information encoding method or the three-dimensional grid information decoding method embodiment, and can achieve the same technical effects. To avoid repetition, details are not repeated here.

[0303] The embodiment of the present application further provides a coding system, including: an encoding end device and a decoding end device, the encoding end device can be used to execute the steps of the three-dimensional grid information encoding method, and the decoding end device can be used to execute the steps of the three-dimensional grid information decoding method.

[0304] It should be noted that in this paper, the term "including", "containing" or any other variant thereof is intended to cover non-exclusive inclusion, so that the process, method, article or device including a series of elements not only includes those elements, but also includes other elements not explicitly listed or inherent to such process, method, article or device. Without more limitations, the element defined by the statement "including a…" does not exclude the presence of other identical elements in the process, method, article or device including the element. In addition, it should be pointed out that the scope of the method and device in the present application is not limited to the order of functions shown or discussed, but also includes the execution of functions in a substantially simultaneous manner or in a reverse order according to the functions involved, for example, the described method can be executed in a different order from the described order, and various steps can also be added, omitted or combined. In addition, the features described with reference to certain examples can be combined in other examples.

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

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

Claims

1. A method for encoding information of a three-dimensional mesh, comprising: obtaining isolated point information of the three-dimensional mesh, the isolated point information comprising vertex information of at least one isolated point; encoding the isolated point information to obtain a compressed bitstream.

2. The method of claim 1, further comprising: identifying isolated points of the three-dimensional mesh according to an encoded identifier of a vertex of the three-dimensional mesh, the isolated points of the three-dimensional mesh comprising the at least one isolated point.

3. The method of claim 2, wherein, An initial value of the encoded identifier of the vertex of the three-dimensional mesh is a first identifier, and the identifying the isolated points of the three-dimensional mesh according to the encoded identifier of the vertex of the three-dimensional mesh comprises: changing the encoded identifier of the vertex that has been encoded to a second identifier in an encoding process; and traversing the encoded identifier of the vertex of the three-dimensional mesh, and determining a vertex with the first identifier as an isolated point of the three-dimensional mesh.

4. The method of any one of claims 1 to 3, wherein, The isolated point information further comprises at least one of: indication information of whether a first isolated point is needed, indication information of the first isolated point, number information of the first isolated point, and number information of isolated points in the three-dimensional mesh. The at least one isolated point comprises the first isolated point.

5. The method of claim 4, wherein, In a case where the isolated point information comprises the indication information of the first isolated point, the at least one isolated point comprises the first isolated point and excludes at least one second isolated point that is duplicated with the first isolated point; or In a case where the isolated point information does not comprise the indication information of the first isolated point, the at least one isolated point comprises the first isolated point; and in a case where there is at least one second isolated point that is duplicated with the first isolated point in the three-dimensional mesh, the at least one isolated point further comprises the at least one second isolated point.

6. The method of claim 4 or 5, wherein, The indication information of the first isolated point is used to add a second isolated point that is duplicated with the first isolated point in a decoding process.

7. The method of any one of claims 4 to 6, wherein, The indication information of the first isolated point is further used to indicate a number of the second isolated point that is duplicated with the first isolated point; or Number information of the second isolated point that is duplicated with the first isolated point is included in the compressed bitstream.

8. The method of any one of claims 4 to 7, wherein, The indication information of the first isolated point comprises at least one of: index information of the first isolated point in a reconstructed mesh of the three-dimensional mesh; and relative index information of the first isolated point in the at least one isolated point.

9. The method of any one of claims 4 to 8, wherein, In a case where the isolated point information comprises indication information of a plurality of first isolated points, the compressed bitstream comprises indication information of one first isolated point of the plurality of first isolated points and difference information of indication information of the remaining first isolated points, the difference information being difference information determined based on the indication information of the one first isolated point.

10. The method of any one of claims 1 to 9, wherein, The vertex information comprises at least one of: geometric information and attribute information.

11. A method for decoding information of a three-dimensional mesh, comprising: obtaining a compressed bitstream; decoding the compressed bitstream to obtain isolated point information of the three-dimensional mesh, the isolated point information comprising vertex information of at least one isolated point.

12. The method of claim 11, wherein, The isolated point information further comprises at least one of: indication information of whether the first isolated point needs to be recovered, indication information of the first isolated point, number information of the first isolated point, number information of isolated points in the three-dimensional mesh; The at least one isolated point includes the first isolated point.

13. The method of claim 12, wherein, In a case where the isolated point information includes the indication information of the first isolated point, the at least one isolated point includes the first isolated point and does not include at least one second isolated point that is duplicated with the first isolated point; or In a case where the isolated point information does not include the indication information of the first isolated point, the at least one isolated point includes the first isolated point; and in a case where there is at least one second isolated point that is duplicated with the first isolated point in the three-dimensional mesh, the at least one isolated point further includes the at least one second isolated point.

14. The method of claim 12 or 13, wherein, The indication information of the first isolated point is used to add a second isolated point that is duplicated with the first isolated point in a decoding process.

15. The method of any one of claims 12 to 14, wherein, The indication information of the first isolated point is further used to indicate a number of second isolated points that are duplicated with the first isolated point; or Number information of the second isolated points that are duplicated with the first isolated point is included in the compressed code stream.

16. The method of any one of claims 12 to 15, wherein, The indication information of the first isolated point includes at least one of the following: Index information of the first isolated point in a reconstructed mesh of the three-dimensional mesh; Relative index information of the first isolated point in the at least one isolated point.

17. The method of any one of claims 12 to 16, wherein, In a case where the isolated point information includes indication information of a plurality of first isolated points, the compressed code stream includes indication information of one first isolated point of the plurality of first isolated points and difference value information of indication information of the remaining first isolated points, the difference value information being difference value information determined on the basis of the indication information of the one first isolated point.

18. The method of any one of claims 12 to 17, further comprising: obtaining vertex information of the at least one second isolated point based on the indication information of the first isolated point.

19. The method of any one of claims 11 to 18, wherein, The vertex information includes at least one of the following: geometric information, attribute information.

20. A three-dimensional mesh information encoding apparatus, comprising: an obtaining module configured to obtain isolated point information of a three-dimensional mesh, the isolated point information including vertex information of at least one isolated point; an encoding module configured to encode the isolated point information to obtain a compressed code stream.

21. The apparatus of claim 20, further comprising: an identifying module configured to identify isolated points of the three-dimensional mesh according to encoded identifiers of vertices of the three-dimensional mesh, the isolated points of the three-dimensional mesh including the at least one isolated point.

22. The apparatus of claim 21, wherein, An initial value of the encoded identifiers of the vertices of the three-dimensional mesh is a first identifier, and the identifying module is configured to change the encoded identifier of a vertex that has been encoded to a second identifier in an encoding process, and to determine a vertex with the encoded identifier being the first identifier as an isolated point of the three-dimensional mesh by traversing the encoded identifiers of the vertices of the three-dimensional mesh.

23. The apparatus of any one of claims 20 to 22, wherein, The isolated point information further includes at least one of the following: indication information of whether the first isolated point needs to be recovered, indication information of the first isolated point, number information of the first isolated point, number information of isolated points in the three-dimensional mesh; The at least one isolated point includes the first isolated point.

24. The apparatus of claim 23, wherein, In a case where the isolated point information includes the indication information of the first isolated point, the at least one isolated point includes the first isolated point and does not include at least one second isolated point that is duplicated with the first isolated point; or In a case where the isolated point information does not include the indication information of the first isolated point, the at least one isolated point includes the first isolated point; and in a case where there is at least one second isolated point that is duplicated with the first isolated point in the three-dimensional mesh, the at least one isolated point further includes the at least one second isolated point.

25. A three-dimensional mesh information decoding apparatus, comprising: a first obtaining module configured to obtain a compressed bitstream; a decoding module configured to decode the compressed bitstream to obtain isolated point information of a three-dimensional mesh, the isolated point information including vertex information of at least one isolated point.

26. The apparatus of claim 25, wherein, The isolated point information further includes at least one of the following: indication information of whether it is necessary to recover an isolated point, indication information of a first isolated point, quantity information of the first isolated point, quantity information of isolated points in the three-dimensional mesh; The at least one isolated point includes the first isolated point.

27. The apparatus of claim 26, wherein, In a case where the isolated point information includes the indication information of the first isolated point, the at least one isolated point includes the first isolated point and does not include at least one second isolated point that is duplicated with the first isolated point; or In a case where the isolated point information does not include the indication information of the first isolated point, the at least one isolated point includes the first isolated point; and in a case where there is at least one second isolated point that is duplicated with the first isolated point in the three-dimensional mesh, the at least one isolated point further includes the at least one second isolated point.

28. The apparatus of claim 26 or 27, further comprising: a second obtaining module configured to obtain vertex information of the at least one second isolated point based on the indication information of the first isolated point.

29. An electronic device, comprising a processor and a memory, the memory storing programs or instructions executable on the processor, the programs or instructions being executed by the processor to implement steps of the three-dimensional mesh information encoding method of any one of claims 1 to 10, or to implement steps of the three-dimensional mesh information decoding method of claims 11 to 19.

30. A readable storage medium, the readable storage medium storing programs or instructions, the programs or instructions being executed by a processor to implement steps of the three-dimensional mesh information encoding method of any one of claims 1 to 10, or to implement steps of the three-dimensional mesh information decoding method of claims 11 to 19.

31. A chip, the chip comprising a processor and a communication interface, the communication interface and the processor being coupled, the processor being configured to run programs or instructions to implement steps of the three-dimensional mesh information encoding method of any one of claims 1 to 10, or to implement steps of the three-dimensional mesh information decoding method of claims 11 to 19.

32. A computer program product stored in a storage medium, the computer program product being executed by at least one processor to implement the steps of the three-dimensional mesh information encoding method according to any one of claims 1 to 10, or to implement the steps of the three-dimensional mesh information decoding method according to claims 11 to 19.

Citation Information

Patent Citations

  • Coding method, decoding method, coding device and decoding device for three-dimensional grid data

    CN104243958A

  • Methods of coding duplicate and isolated points for point cloud coding

    CN113826029A

  • Point cloud data processing method and device, electronic equipment and storage medium

    CN116634179A

  • Scalable and precise fitting of nurbs surfaces to large-size mesh representations

    US20170177745A1

  • Coding method and terminal

    WO2023179710A1