Coding, Decoding Method, Apparatus and Equipment

By reconstructing the geometric information and connection relationship of a three-dimensional grid and predicting texture coordinates using multiple coded triangles, the compression and coding efficiency of UV coordinates are enhanced.

JP2025522616APending Publication Date: 2025-07-15VIVO MOBILE COMM CO LTD

Patent Information

Application Number
JP2024576963
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2022-07-06
Filing Date
2023-06-29
Publication Date
2025-07-15

AI Technical Summary

Technical Problem

Conventional methods for coding UV coordinates in three-dimensional grids suffer from insufficient compression effects, affecting the coding efficiency of texture coordinates.

Method used

Reconstruct the geometric information and connection relationship of the three-dimensional grid, predict texture coordinates using multiple coded triangles, and code the texture coordinate residuals based on these predictions.

Benefits of technology

Improves the compression effect of UV coordinate data volume and increases the coding efficiency of texture coordinates by predicting texture coordinates using multiple coded triangles.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025522616000001_ABST
    Figure 2025522616000001_ABST
Patent Text Reader

Abstract

The present application discloses a coding, decoding method, apparatus and device, and relates to the field of codec technologies. This coding method includes: the coding side reconstructing the geometric information and connection relationship of the target three-dimensional grid based on the coding results of the geometric information and connection relationship of the target three-dimensional grid; the coding side adopting a method of predicting vertices with a plurality of coded triangles based on the reconstructed geometric information and connection relationship, and determining N (N is a positive integer greater than 1) predicted texture coordinates of each vertex in the target three-dimensional grid; and the coding side coding the texture coordinate residual of each vertex determined based on the N predicted texture coordinates of the vertex.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] (Cross - reference to related applications) This application claims the priority of Chinese Patent Application No. 202210800663.6 filed in China on July 6, 2022, and the entire content of the said application is incorporated herein by reference.

[0002] This application belongs to the field of codec technology, and specifically relates to coding, decoding methods, apparatuses, and devices.

Background Art

[0003] Texture coordinates, also known as UV coordinates, are information for describing a three - dimensional grid vertex texture. The three - dimensional grid first performs a two - dimensional projection on the surface texture to form a two - dimensional texture map. The UV coordinates represent the position in the two - dimensional texture map where the three - dimensional vertex texture is located and correspond one - to - one with geometric information. Therefore, texture coordinates determine the texture mapping of the three - dimensional grid and are an important component of the three - dimensional grid. Although the amount of UV coordinate data is relatively large in the three - dimensional grid, the compression effects of the conventional parallelogram prediction method and the approximate triangle prediction algorithm for coding UV coordinates are insufficient, which affects the coding efficiency of texture coordinates.

Summary of the Invention

Problems to be Solved by the Invention

[0004] The embodiments of this application can solve the problem that the compression effects of the conventional parallelogram prediction method and the approximate triangle prediction algorithm for coding UV coordinates in the prior art are insufficient, which affects the coding efficiency of texture coordinates, and provide coding, decoding methods, apparatuses, and devices.

Means for Solving the Problems

[0005] The first aspect provides a coding method, and this method includes: Based on the coding results of the geometric information and connection relationship of the target three-dimensional grid on the coding side, reconstruct the geometric information and connection relationship of the target three-dimensional grid, and The coding side adopts a method of predicting vertices with a plurality of coded triangles based on the reconstructed geometric information and connection relationship, and determines N (N is a positive integer greater than 1) predicted texture coordinates for each vertex in the target three-dimensional grid, and The coding side includes coding the texture coordinate residuals of each vertex determined based on the N predicted texture coordinates of the vertex.

[0006] The second aspect provides a decoding method, and this method includes: The decoding side decodes the code stream corresponding to the obtained target three-dimensional grid to obtain the geometric information and connection relationship of the target three-dimensional grid, and decodes the code stream corresponding to each obtained vertex to obtain the texture coordinate residuals of each vertex, and The decoding side adopts a method of predicting vertices with a plurality of decoded triangles based on the geometric information and connection relationship, and determines N (N is a positive integer greater than 1) predicted texture coordinates for each vertex in the target three-dimensional grid, and The decoding side includes determining the true texture coordinates of each vertex based on the N predicted texture coordinates of each vertex and the texture coordinate residuals of each vertex.

[0007] The third aspect provides a coding device, and this device includes: A reconstruction module for reconstructing the geometric information and connection relationship of the target three-dimensional grid based on the coding results of the geometric information and connection relationship of the target three-dimensional grid, and Based on the reconstructed geometric information and connection relationships, a method of predicting vertices with a plurality of coded triangles is adopted, and a determination module for determining N (N is a positive integer greater than 1) predicted texture coordinates for each vertex in the target three-dimensional grid, and a coding module for coding the texture coordinate residuals of each vertex determined based on the N predicted texture coordinates of the vertex.

[0008] The fourth aspect provides a decoding device, and this device includes a decoding module for decoding the code stream corresponding to the acquired target three-dimensional grid to obtain the geometric information and connection relationships of the target three-dimensional grid, and decoding the code stream corresponding to each acquired vertex to obtain the texture coordinate residuals of each vertex, based on the geometric information and connection relationships, a method of predicting vertices with a plurality of decoded triangles is adopted, and a first determination module for determining N (N is a positive integer greater than 1) predicted texture coordinates for each vertex in the target three-dimensional grid, and a second determination module for determining the true texture coordinates of each vertex based on the N predicted texture coordinates of each vertex and the texture coordinate residuals of each vertex.

[0009] The fifth aspect provides a terminal, and this terminal includes a processor and a memory. The memory stores a program or instruction that can run on the processor. When the program or instruction is executed by the processor, the steps of the method described in the first aspect are realized, or the steps of the method described in the second aspect are realized.

[0010] The sixth aspect provides a readable storage medium, on which a program or instruction is stored. When the program or instruction is executed by a processor, the steps of the method described in the first aspect are realized, or the steps of the method described in the second aspect are realized.

[0011] The seventh aspect provides a chip, the chip including a processor and a communication interface, the communication interface being coupled to the processor, the processor running a program or instructions for implementing the method described in the first aspect or the method described in the second aspect.

[0012] The eighth aspect provides a computer program / program product, the computer program / program product being stored in a storage medium, the computer program / program product being executed by at least one processor to implement the steps of the method described in the first aspect or the steps of the method described in the second aspect.

[0013] The ninth aspect provides a system, the system including an encoding side and a decoding side, the encoding side executing the steps of the method described in the first aspect, and the decoding side executing the steps of the method described in the second aspect.

Advantages of the Invention

[0014] In the embodiments of the present application, based on the coding results of the geometric information and connection relationship of the target three-dimensional grid, the geometric information and connection relationship of the target three-dimensional grid are reconstructed, and based on the reconstructed geometric information and connection relationship, a method of predicting vertices with a plurality of coded triangles is adopted to determine N predicted texture coordinates of each vertex in the target three-dimensional grid, and the texture coordinate residuals of each vertex are coded. In the above solution, a method of predicting vertices with a plurality of coded triangles is adopted to obtain N predicted texture coordinates of each vertex, and by using a plurality of coded triangles to predict the texture coordinates of the vertices, the compression effect of the UV coordinate data amount is improved and the coding efficiency of the texture coordinates is increased.

Brief Description of the Drawings

[0015]

Figure 1

Figure 2

Figure 3

Figure 4

Figure 5

Figure 6

Figure 7

Figure 8

Figure 9

Figure 10

Modes for Carrying Out the Invention

[0016] The following clearly describes the technical solutions in the embodiments of the present application in conjunction with the drawings in the embodiments of the present application. Obviously, the described embodiments are some of the embodiments of the present application, not all of them. All other embodiments obtained by those skilled in the art based on the embodiments in the present application shall fall within the protection scope of the present application.

[0017] Terms such as "first" and "second" in the description and claims of this application are used to distinguish similar objects and are not for describing a specific order or sequence. It should be understood that terms used in this way are interchangeable where appropriate, so that the embodiments of this application can be implemented in an order other than those illustrated or described herein. Moreover, the objects distinguished by "first" and "second" are generally of the same type, and the number of objects is not limited. For example, the first object may be one or a plurality. Note that "and / or" in the description and claims represents at least one of the connected objects, and the character " / " generally indicates that the related objects before and after are in an "or" relationship.

[0018] Hereinafter, with reference to the drawings, several embodiments and their application scenarios will be used to detail the coding, decoding methods, apparatuses, and devices according to the embodiments of this application.

[0019] FIG. 1 is a flowchart of a coding method according to an embodiment of this application. The coding method according to this embodiment includes the following steps.

[0020] S101, Reconstruct the geometric information and connection relationship of the target three-dimensional grid based on the coding results of the geometric information and connection relationship of the target three-dimensional grid.

[0021] It should be noted that the target three-dimensional grid referred to in this application may be understood as the three-dimensional grid corresponding to any video frame, and the geometric information of this target three-dimensional grid may be understood as the coordinates of the vertices in the three-dimensional grid. These coordinates generally refer to three-dimensional coordinates, and the connection relationship is used to describe the connection relationship between elements such as vertices and patches in the three-dimensional grid and may also be called a connectivity relationship.

[0022] It should be noted that in this step, when coding the texture coordinates of vertices, it is carried out according to geometric information and connection relationships. However, in order to ensure the consistency between the coded texture coordinates and the coded geometric information and connection relationships, what is used in the embodiments of this application is the geometric information and connection relationships reconstructed after coding.

[0023] S102. Based on the reconstructed geometric information and connection relationships, adopt a method of predicting vertices with a plurality of coded triangles, and determine N predicted texture coordinates of each vertex in the target three-dimensional grid.

[0024] It should be noted that in this step, adopt a method of predicting vertices with a plurality of coded triangles, determine N predicted texture coordinates of each vertex, and predict the texture coordinates of vertices using a plurality of coded triangles, thereby improving the compression effect of the UV coordinate data volume.

[0025] Specifically, for the embodiment of how to adopt a method of predicting vertices with a plurality of coded triangles and determine N predicted texture coordinates of each vertex, refer to the subsequent embodiments.

[0026] S103. Code the texture coordinate residuals of each vertex.

[0027] In this step, for any one vertex, the texture coordinate residual of this vertex can be determined based on the N predicted texture coordinates of this vertex, and further the texture coordinate residual of this vertex can be coded. Specifically, for the embodiment of how to code the texture coordinate residuals of each vertex, refer to the subsequent embodiments.

[0028] In the embodiments of the present application, based on the geometric information of the target three-dimensional grid and the coding result of the connection relationship, the geometric information and the connection relationship of the target three-dimensional grid are reconstructed, and based on the reconstructed geometric information and the connection relationship, a method of predicting vertices with a plurality of coded triangles is adopted to determine N predicted texture coordinates of each vertex in the target three-dimensional grid, and the texture coordinate residuals of each vertex are coded. In the above solution, by adopting the method of predicting vertices with a plurality of coded triangles to obtain N predicted texture coordinates of each vertex, and predicting the texture coordinates of the vertices by using a plurality of coded triangles, the compression effect of the UV coordinate data volume is improved, and the coding efficiency of the texture coordinates is increased.

[0029] Optionally, based on the reconstructed geometric information and the connection relationship, adopting a method of predicting vertices with a plurality of coded triangles, and determining N predicted texture coordinates of each vertex in the target three-dimensional grid includes: the coding side selects a first side from the set of sides, and determines, as target triangles, the triangle corresponding to the first side and the triangle having the vertex to be coded as the opposite vertex and not including the first side; the coding side obtains the predicted texture coordinates of the vertex to be coded in each target triangle for each target triangle.

[0030] It should be noted that, before coding, it is necessary to first obtain an initial set of sides. Specifically, the method for obtaining the initial set of sides is as follows.

[0031] Before selecting a first side from the set of sides, the method includes: the coding side selects an initial triangle based on the reconstructed geometric information and the connection relationship; the coding side further codes the texture coordinates of the three vertices of the initial triangle and stores the three sides of the initial triangle in the set of sides.

[0032] It should be noted that for the initial triangle, in the embodiments of the present application, the prediction of its vertices is not performed, and the texture coordinates are directly coded. Optionally, for the initial triangle, in the embodiments of the present application, the texture coordinates of the first vertex of the initial triangle are directly coded, the sides are predicted using the texture coordinates of the first vertex, and further the texture coordinates of the second vertex of the initial triangle are obtained, and the texture coordinates of the third vertex of the initial triangle may be obtained using the prediction coding method of the approximate triangle.

[0033] After coding the texture coordinates of each vertex of the initial triangle, each side of this initial triangle is stored in the side set to form the initial side set, and subsequent vertices are predicted based on this initial side set.

[0034] For ease of understanding, referring to FIG. 2, FIG. 2 includes three triangles, namely, a first triangle composed of vertex C, vertex N, and vertex P.O, a second triangle composed of vertex C, vertex N, and vertex P, and a third triangle composed of vertex C, vertex P, and vertex N.O, and vertices N, P, P.O, and N.O are all uncoded vertices.

[0035] When vertex C is the vertex to be coded and the vertices corresponding to the first side are vertex N and vertex P, the triangle corresponding to the first side, that is, the second triangle, is determined as the target triangle. Further, when searching by rotating around vertex C, if the remaining two vertices other than vertex C are both coded vertices and do not include the triangle of the first side, the above triangle is determined as the target triangle, that is, both the first triangle and the third triangle are determined as the target triangles.

[0036] It should be understood that the vertices other than the vertex to be coded in the target triangle are coded vertices, the number of target triangles is greater than 1, and optionally, the multiple target triangles are adjacent triangles, or the multiple target triangles are not adjacent to each other.

[0037] Optionally, obtaining the predicted texture coordinates of the vertex to be coded in the target triangle includes: the coding side obtaining the texture coordinates of the projection point on the first side of the vertex to be coded based on the geometric coordinates of each vertex of the target triangle; and the coding side obtaining the predicted texture coordinates of the vertex to be coded based on the texture coordinates of the projection point.

[0038] In this embodiment, for any one target triangle, the texture coordinates of the projection point on the first side of the vertex to be coded may be obtained based on the geometric coordinates of each vertex of this target triangle, that is, the geometric coordinates of the three vertices of the target triangle. For specific implementation forms, refer to the subsequent embodiments.

[0039] After obtaining the texture coordinates of the projection point, the predicted texture coordinates of the vertex to be coded are obtained based on the texture coordinates of this projection point. For specific implementation forms, refer to the subsequent embodiments.

[0040] Next, specifically describe how to obtain the texture coordinates of the projection point on the first side of the vertex to be coded based on the geometric coordinates of each vertex of the target triangle.

[0041] Optionally, obtaining the texture coordinates of the projection point on the first side of the vertex to be coded based on the geometric coordinates of each vertex of the target triangle includes: the coding side obtaining the texture coordinates of the projection point on the first side of the vertex to be decoded based on the sum value of TIFF2025522616000002.tif610 and N UV or obtaining the texture coordinates of the projection point on the first side of the vertex to be decoded based on the difference value between N UV and TIFF2025522616000003.tif610. Here, N UV is the texture coordinate of vertex N on the first side of the target triangle, TIFF2025522616000004.tif610 is the vector from the texture coordinate of vertex N on the first side of the target triangle to the texture coordinate of the projection point X on the first side of the vertex to be coded, TIFF2025522616000005.tif610 is the vector from the texture coordinate of the projection point X on the first side to the texture coordinate of vertex N on the first side of the target triangle.

[0042] In this embodiment, the coding side may obtain the texture coordinate of the projection point on the first side of the vertex to be coded based on the first formula. Here, the first formula is TIFF2025522616000006.tif7150, or TIFF2025522616000007.tif933, X UV is the texture coordinate of the projection point on the first side of the vertex to be coded, N UV is the texture coordinate of vertex N on the first side of the target triangle, TIFF2025522616000008.tif610 is the vector from the texture coordinate of vertex N on the first side of the target triangle to the texture coordinate of the projection point X on the first side of the vertex to be coded, TIFF2025522616000009.tif610 is the vector from the texture coordinate of the projection point X on the first side to the texture coordinate of vertex N on the first side of the target triangle, TIFF2025522616000010.tif7150, TIFF2025522616000011.tif68 is the vector from vertex N on the first side to the geometric coordinate of vertex P, TIFF2025522616000012.tif68 is the vector from vertex N on the first side to the geometric coordinates C of the vertex to be coded G up to, and TIFF2025522616000013.tif59 is the vector from vertex N on the first side to the texture coordinates of vertex P, TIFF2025522616000014.tif68 is the vector from vertex N on the first side to the geometric coordinates of vertex P.

[0043] For ease of understanding, referring to FIG. 3, side NP is one side selected from the set of sides and may be regarded as the above-mentioned first side. Vertex N and vertex P are two vertices of the first side respectively, vertex C is the vertex to be coded, vertex N, vertex P and vertex C form the above-mentioned target triangle, point X is the projection of vertex C on side NP of the triangle, vertex O is the coded point, and the triangle formed by vertex O, vertex N and vertex P and the triangle formed by vertex N, vertex P and vertex C share side NP. In this embodiment, based on the above first formula, the texture coordinates of the projection point on the first side of the point to be coded may be obtained.

[0044] Hereinafter, specifically describe how to obtain the predicted texture coordinates of the vertex to be coded based on the texture coordinates of the projection point.

[0045] Optionally, obtaining the predicted texture coordinates of the vertex to be coded based on the texture coordinates of the projection point is when the coding side determines that the first vertex O corresponding to the first side is a coded vertex or the first triangle is not a degenerate triangle, X UV and Obtaining the texture coordinates of the vertex to be coded based on TIFF2025522616000015.tif610, wherein the first triangle and the target triangle have a common first side, and the opposite vertex of the first side of the first triangle is the first vertex O, Here, X UV is the texture coordinate of the projection point X on the first side of the vertex to be coded, TIFF2025522616000016.tif610 is the vector from the projection point X on the first side of the vertex to be coded to the texture coordinate C of the vertex to be coded UV up to.

[0046] In this embodiment, the texture coordinates of the vertex to be coded may be obtained based on a second formula, where the second formula is TIFF2025522616000017.tif13150, Pred C_NP is the predicted texture coordinate of the vertex to be coded, and X UV is the texture coordinate of the projection point X on the first side of the vertex to be coded, TIFF2025522616000018.tif610 is the vector from the projection point X on the first side of the vertex to be coded to the texture coordinate C of the vertex to be coded UV up to, TIFF2025522616000019.tif653, and O UV is the texture coordinate of the first vertex corresponding to the first side of the target triangle, TIFF2025522616000020.tif610 is the vector from the projection point X on the first side of the vertex to be coded to the texture coordinate C of the vertex to be coded UV up to, TIFF2025522616000021.tif652.

[0047] In this embodiment, when combined with FIG. 3, if the first vertex O is a coded vertex or the first triangle is not a degenerate triangle, the texture coordinates of the first vertex O may be used to obtain the predicted texture coordinates of the vertex to be coded based on the above second formula.

[0048] It should be understood that the above first triangle is the triangle composed of vertex N, vertex P and vertex O in FIG. 3. When vertex O is located on the first side composed of vertex N and vertex P, the area of the first triangle is 0, and it is determined that the first triangle is a degenerate triangle.

[0049] Optionally, when the coding side obtains the predicted texture coordinates of the vertex to be coded based on the texture coordinates of the projection point, when the first vertex O corresponding to the first side is an uncoded vertex or the first triangle is a degenerate triangle on the coding side, X UV and obtain the texture coordinates of the vertex to be coded based on TIFF2025522616000022.tif610, and code the target identifier corresponding to the vertex to be coded. The first triangle and the target triangle have a common first side, and the opposite vertex of the first side of the first triangle is the first vertex O. Here, X UV is the texture coordinates of the projection point X on the first side of the vertex to be coded, TIFF2025522616000023.tif610 is the vector from the projection point X on the first side of the vertex to be coded to the texture coordinates C UV of the vertex to be coded.

[0050] In this embodiment, the texture coordinates of the vertex to be coded may be obtained based on the third formula, and the target identifier corresponding to the vertex to be coded may be coded.

[0051] Here, the third equation is TIFF2025522616000024.tif13170, Pred C_NP is the predicted texture coordinates of the vertex to be coded, X UV is the texture coordinates of the projection point X on the first side of the vertex to be coded, TIFF2025522616000025.tif610 is the vector from the projection point X on the first side of the vertex to be coded to the texture coordinates C of the vertex to be coded UV up to, TIFF2025522616000026.tif548, C UV is the texture coordinates of the vertex to be coded, TIFF2025522616000027.tif610 is the vector from the projection point X on the first side of the vertex to be coded to the texture coordinates C of the vertex to be coded UV up to, TIFF2025522616000028.tif652, and the target identifier is used to characterize the magnitude relationship between |distance3| and |distance4|.

[0052] In this embodiment, when combined with FIG. 3, when the first vertex O is an uncoded vertex or the first triangle is a degenerate triangle, based on the above third equation, the predicted texture coordinates of the vertex to be coded may be obtained.

[0053] It should be understood that the above target identifier is used to characterize the magnitude relationship between |distance3| and |distance4|. For example, the target identifier may be set to 0 to represent TIFF2025522616000029.tif7150, and the target identifier may be set to 1 to represent TIFF2025522616000030.tif7150.

[0054] Optionally, the part related to the calculation of vertex N in the first formula, the second formula and the third formula may be replaced by vertex P.

[0055] For example, replace the texture coordinates of vertex N with the texture coordinates of vertex P.

[0056] For example, in the first formula TIFF2025522616000031.tif610 is replaced with TIFF2025522616000032.tif610, TIFF2025522616000033.tif610 is a vector from the texture coordinates of vertex P on the first side of the target triangle to the texture coordinates of the projection point X on the first side of the vertex to be coded.

[0057] Optionally, before selecting the first side from the set of sides, the method includes the coding side selecting one initial triangle based on the reconstructed geometric information and connection relationship, and the coding side further coding the texture coordinates of the three vertices of the initial triangle and storing the three sides of the initial triangle in the set of sides.

[0058] Optionally, after obtaining the predicted texture coordinates of the vertex to be coded in the target triangle, the method further includes the coding side storing the second side in the target triangle in the set of sides and deleting the first side from the set of sides, where the second side is a side not included in the set of sides in the target triangle.

[0059] Optionally, coding the texture coordinate residuals of each vertex includes the coding side determining, for any one vertex, the target value corresponding to the N predicted texture coordinates of the vertex as the target texture coordinates of the vertex. The coding side includes coding the texture coordinate residual of the vertex, and the residual is determined based on the true texture coordinate of the vertex and the target texture coordinate of the vertex.

[0060] In this embodiment, weighted addition may be performed on the above N predicted texture coordinates, and the target value obtained by the weighted addition may be determined as the target texture coordinate of this vertex. Here, when the weights corresponding to each predicted texture coordinate are the same, the average value of the N predicted texture coordinates is determined as the target texture coordinate of this vertex. It should be understood that in other embodiments, it is not limited to obtaining the target value by performing weighted addition on the N predicted texture coordinates, and the target value corresponding to the N predicted texture coordinates may also be calculated and obtained by other calculation methods, which are not specifically limited here.

[0061] For ease of understanding, in the scenario shown in FIG. 3, when the number of target triangles is 3, the vertex to be coded corresponds to three predicted texture coordinates, namely Pred C_NP , Pred C_PON and Pred C_PNO . Here, Pred C_NP is the corresponding predicted texture coordinate in the second triangle of the vertex to be coded, Pred C_PON is the corresponding predicted texture coordinate in the first triangle of the vertex to be coded, and Pred C_PNO is the corresponding predicted texture coordinate in the third triangle of the vertex to be coded.

[0062] Optionally, Pred C_NP , Pred C_PON and Pred C_PNODetermine the target texture coordinates of the vertices to be coded as the average value, and after obtaining the target texture coordinates of the vertices to be coded, obtain the residuals of the vertices to be coded based on the target texture coordinates and the true texture coordinates, and realize the coding of the vertices to be coded by coding the residuals, thereby reducing the number of bits of texture coordinate coding.

[0063] As can be seen from the above summary, the specific implementation process of performing texture coordinate (hereinafter abbreviated as UV coordinate) coding in the embodiments of this application is as follows.

[0064] Step S1: Select an initial triangle from the connectivity relationship, directly code the UV coordinates of the three vertices of the initial triangle, and store the three sides of the initial triangle in the edge set.

[0065] Step S2: Select an edge τ from the set according to the access criterion, and code the UV coordinates of the point to be coded in the new triangle formed by τ. Using the projection relationship from three-dimensional to two-dimensional of the triangle, according to the UV coordinate prediction value calculation process described above, centered on the point to be coded, rotate and search for the target triangle that shares the triangle to be coded and the vertex to be coded, and the other two points are both coded, and obtain the prediction value (i.e., the predicted texture coordinates) of the point to be coded in cooperation, and subtract the prediction value from the original value of the UV coordinate (i.e., the true texture coordinate) to obtain the residual. Here, when the first vertex O is a coded vertex or the target triangle is not a degenerate triangle, it is not necessary to code the target identifier corresponding to the vertex to be coded, and when the first vertex O is an uncoded vertex or the target triangle is a degenerate triangle, code the target identifier corresponding to the vertex to be coded.

[0066] Step S3: Add the two sides of the new triangle to the edge set, remove the edge τ at the top of the edge set, then take out the next edge from the edge set, continue to code the predicted UV coordinates of the opposite vertex of the triangle adjacent to this edge, obtain the residual, return to Step S3, and cycle through Step S3 until the residuals of all vertices are obtained.

[0067] Step S4: Entropy-code the UV coordinate residuals and output the UV coordinate code stream.

[0068] As shown in FIG. 4, the UV coordinate coding framework of the embodiment of the present application is such that the overall coding flow is as follows.

[0069] When both the geometric information and the connection relationship of the three-dimensional grid have been coded, the UV coordinates can be coded using the reconstructed geometric information and connection relationship. First, select one triangle as the initial triangle, directly code the coordinate values, then select the adjacent triangle of the initial triangle as the triangle to be coded. Centering on the vertex to be coded in the triangle to be coded, search by rotating the target triangle that shares the triangle to be coded and the vertex to be coded and whose remaining two points are both coded. Based on the UV coordinates of the target triangle that have been coded and the texture coordinate projection relationship, predict the UV coordinate values of the uncoded vertices of the triangle adjacent to the selected initial side, code the difference value between the true UV coordinates and the predicted coordinate values of the vertex to be coded, select a new side from the new coded triangle to code the uncoded vertices of the adjacent triangle, and continuously repeat this process to complete the coding of the UV coordinates of the entire three-dimensional grid.

[0070] FIG. 5 is a flowchart of the decoding method according to the embodiment of the present application. The decoding method according to this embodiment includes the following steps.

[0071] S501. Decode the code stream corresponding to the obtained target three-dimensional grid to obtain the geometric information and connection relationship of the target three-dimensional grid. Decode the code stream corresponding to each obtained vertex to obtain the texture coordinate residuals of each vertex.

[0072] S502. Based on the geometric information and connection relationship, adopt a method of predicting vertices with a plurality of decoded triangles, and determine N predicted texture coordinates of each vertex in the target three-dimensional grid.

[0073] S503. Based on the N predicted texture coordinates of each vertex and the texture coordinate residuals of each vertex, determine the true texture coordinates of each vertex.

[0074] Optionally, based on the geometric information and connection relationship, adopting a method of predicting vertices with a plurality of decoded triangles and determining N predicted texture coordinates of each vertex in the target three-dimensional grid means that the decoding side selects a first side from the side set, and determines, as target triangles, the triangle corresponding to the first side and the triangle that has the vertex to be decoded as the opposite vertex and does not include the first side, where the vertices other than the vertex to be decoded in the target triangle are decoded vertices, and the opposite vertex of the first side in the triangle corresponding to the first side is the vertex to be coded, and the decoding side obtains the predicted texture coordinates of the vertex to be decoded in each target triangle.

[0075] Optionally, obtaining the predicted texture coordinates of the vertex to be decoded in the target triangle means that the decoding side obtains the texture coordinates of the projection point on the first side of the vertex to be decoded based on the geometric coordinates of each vertex of the target triangle. The decoding side includes obtaining predicted texture coordinates of vertices to be decoded based on the texture coordinates of the projection points.

[0076] Optionally, obtaining the texture coordinates of the projection points on the first side of the vertex to be decoded based on the geometric coordinates of each vertex of the target triangle is the decoding side TIFF2025522616000034.tif610 and N UV obtaining the texture coordinates of the projection points on the first side of the vertex to be decoded based on the sum value of N and UV and TIFF2025522616000035.tif610, or obtaining the texture coordinates of the projection points on the first side of the vertex to be decoded based on the difference value between N and where, N UV is the texture coordinate of vertex N on the first side of the target triangle, TIFF2025522616000036.tif610 is the vector from vertex N on the first side of the target triangle to the texture coordinate of projection point X on the first side of the vertex to be decoded, TIFF2025522616000037.tif610 is the vector from the projection point X on the first side to the texture coordinate of vertex N on the first side of the target triangle.

[0077] In this embodiment, the decoding side may obtain the texture coordinates of the projection points on the first side of the vertex to be decoded based on the first formula.

[0078] Here, the first formula is TIFF2025522616000038.tif7150, or TIFF2025522616000039.tif938, X UVis the texture coordinate of the projection point on the first side of the vertex to be coded, N UV is the texture coordinate of vertex N on the first side of the target triangle, TIFF2025522616000040.tif610 is the vector from the texture coordinate of vertex N on the first side of the target triangle to the texture coordinate of the projection point X on the first side of the vertex to be coded, TIFF2025522616000041.tif610 is the vector from the texture coordinate of the projection point X on the first side to the texture coordinate of vertex N on the first side of the target triangle, TIFF2025522616000042.tif7150, TIFF2025522616000043.tif68 is the vector from vertex N on the first side to the geometric coordinate of vertex P, TIFF2025522616000044.tif68 is from vertex N on the first side to the geometric coordinate C of the vertex to be coded G is the vector to, TIFF2025522616000045.tif59 is the vector from vertex N on the first side to the texture coordinate of vertex P, TIFF2025522616000046.tif68 is the vector from vertex N on the first side to the geometric coordinate of vertex P.

[0079] Optionally, obtaining the predicted texture coordinates of the vertex to be decoded based on the texture coordinates of the projection point is when the first vertex O corresponding to the first side on the decoding side is a decoded vertex, or when the first triangle is not a degenerate triangle, X UV and Obtaining the texture coordinates of the vertex to be decoded based on TIFF2025522616000047.tif610, wherein the first triangle and the target triangle have a common first side, and the opposite vertex of the first side of the first triangle is the first vertex O. Here, X UV is the texture coordinate of the projection point X on the first side of the vertex to be coded. TIFF2025522616000048.tif610 is the vector from the projection point X on the first side of the vertex to be coded to the texture coordinate C of the vertex to be coded. UV up to.

[0080] In this embodiment, the decoding side may obtain the texture coordinates of the vertex to be decoded based on the second formula.

[0081] Here, the second formula is TIFF2025522616000049.tif13150, and Pred C_NP is the predicted texture coordinate of the vertex to be coded, X UV is the texture coordinate of the projection point X on the first side of the vertex to be coded. TIFF2025522616000050.tif610 is the vector from the projection point X on the first side of the vertex to be coded to the texture coordinate C of the vertex to be coded. UV up to. TIFF2025522616000051.tif653, and O UV is the texture coordinate of the first vertex corresponding to the first side of the target triangle. TIFF2025522616000052.tif610 is the vector from the projection point X on the first side of the vertex to be coded to the texture coordinate C of the vertex to be coded. UV up to. TIFF2025522616000053.tif652.

[0082] Optionally, obtaining the predicted texture coordinates of the vertex to be decoded based on the texture coordinates of the projection point comprises: When the vertex O corresponding to the first side on the decoding side is an undecoded vertex or the first triangle is a degenerate triangle, the target identifier X corresponding to the point to be decoded read UV and Determining the texture coordinates of the vertex to be decoded based on TIFF2025522616000054.tif610, wherein the first triangle and the target triangle have a common first side, and the opposite vertex of the first side of the first triangle is the first vertex O; Here, X UV is the texture coordinate of the projection point X on the first side of the vertex to be coded; TIFF2025522616000055.tif610 is the vector from the projection point X on the first side of the vertex to be coded to the texture coordinate C of the vertex to be coded UV up to.

[0083] In this embodiment, the decoding side may determine the texture coordinates of the vertex to be decoded based on the target identifier corresponding to the read point to be decoded and the third formula.

[0084] Here, the third formula is TIFF2025522616000056.tif13150; Pred C_NP is the predicted texture coordinate of the vertex to be coded, and X UV is the texture coordinate of the projection point X on the first side of the vertex to be coded; TIFF2025522616000057.tif610 is the vector from the projection point X on the first side of the vertex to be coded to the texture coordinate C of the vertex to be coded UVis a vector up to, is TIFF2025522616000058.tif548, and C UV are the texture coordinates of the vertex to be coded, TIFF2025522616000059.tif610 is the vector from the projection point X on the first side of the vertex to be coded to the texture coordinates C of the vertex to be coded UV is a vector up to, is TIFF2025522616000060.tif652, and the target identifier is used to characterize the magnitude relationship between |distance3| and |distance4|.

[0085] Optionally, before selecting the first side from the set of sides, the method includes the decoding side selecting one initial triangle based on the geometric information and connection relationship, and the decoding side further decoding the texture coordinates of the three vertices of the initial triangle and storing the three sides of the initial triangle in the set of sides.

[0086] Optionally, after obtaining the predicted texture coordinates of the vertex to be coded in the target triangle, the method further includes the decoding side storing a second side of the target triangle in the set of sides and deleting the first side from the set of sides, where the second side is a side not included in the set of sides in the target triangle.

[0087] Optionally, determining the true texture coordinates of each vertex based on the N predicted texture coordinates of each vertex and the texture coordinate residual of each vertex includes the decoding side determining, for any one vertex, the target value corresponding to the N predicted texture coordinates of the vertex as the target texture coordinates of the vertex, The decoding side performs an addition operation on the target texture coordinates of the vertex and the texture coordinate residual of the vertex to determine the true texture coordinates of the vertex.

[0088] It should be noted that the embodiment of the present application is the reverse process of coding, and the decoding block diagram is as shown in FIG. 6. That is, the decoding process of UV coordinates first decodes the geometric information and connection relationship, and then decodes the code stream according to the geometric information and connection relationship to obtain the residual. Then, the predicted UV coordinates are obtained, and finally, the residual and the predicted UV coordinates are used to obtain the true UV coordinates, thereby realizing the decoding of UV coordinates. The method for predicting UV coordinates in the embodiment of the present application may refer to the description on the coding side and will not be described further here.

[0089] Summarizing the above, the specific implementation process of performing UV coordinate decoding in the embodiment of the present application is as follows.

[0090] Step SP1: Entropy-decode the UV coordinate code stream, which includes the UV coordinate residual and the target identifier here.

[0091] Step SP2: Decode the UV coordinates of the three vertices of the initial triangle without calculating the predicted value here. The initial triangle directly codes its UV coordinates instead of the coding residual, and stores the three sides of the initial triangle in the side set.

[0092] Step SP3: Select an edge τ from the edge set according to the access criterion, decode the UV coordinates of the new triangle's opposite vertices formed by τ, utilize the previously established three-dimensional to two-dimensional mapping relationship of the triangle, use the same calculation method as on the encoding side, calculate the predicted UV coordinates of the points to be decoded using multiple decoded triangles, and further add the predicted value and the residual of the entropy decoding to obtain the reconstructed UV coordinates. Here, when the encoding side generates a target identifier, use the target identifier to calculate the predicted UV coordinates of the points to be decoded.

[0093] Step SP4: Add the two edges of the new triangle to the edge set, remove the edge τ at the top of the set, take out the next edge from the edge set, and continue to decode the UV coordinates of the opposite vertices of the triangles adjacent to this edge until the UV coordinate decoding of all vertices is completed, then return to Step SP3.

[0094] It should be noted that the embodiments of the present application are embodiments of the corresponding counterparty method for the embodiments of the above encoding method. The decoding process is the reverse process of encoding. All implementation manners on the above encoding side can be applied to the embodiments on this decoding side and can achieve the same technical effects, which will not be elaborated here anymore.

[0095] In the encoding method according to the embodiments of the present application, the execution entity may be an encoding device. In the embodiments of the present application, taking the encoding device executing the encoding method as an example, the encoding device according to the embodiments of the present application will be described.

[0096] As shown in FIG. 7, the embodiments of the present application further provide an encoding device 700. A reconstruction module 701 for reconstructing the geometric information and connection relationship of the target three-dimensional grid based on the encoding results of the geometric information and connection relationship of the target three-dimensional grid. Based on the reconstructed geometric information and connection relationships, a method of predicting vertices with a plurality of coded triangles is adopted, and a determination module 702 for determining N (where N is a positive integer greater than 1) predicted texture coordinates of each vertex in the target three-dimensional grid, and a coding module 703 for coding the texture coordinate residuals of each vertex determined based on the N predicted texture coordinates of the vertex.

[0097] Optionally, the determination module 702 specifically selects a first side from the set of sides, and determines, as target triangles, the triangle corresponding to the first side and the triangle that has the vertex to be coded as the opposite vertex and does not include the first side, where the vertices other than the vertex to be coded in the target triangle are coded vertices, and the opposite vertex of the first side in the triangle corresponding to the first side is the vertex to be coded, and is used to obtain the predicted texture coordinates of the vertex to be coded in the target triangle for each target triangle.

[0098] Optionally, the determination module 702 further specifically obtains the texture coordinates of the projection point on the first side of the vertex to be coded based on the geometric coordinates of each vertex of the target triangle, and is used to obtain the predicted texture coordinates of the vertex to be coded based on the texture coordinates of the projection point.

[0099] Optionally, the determination module 702 further specifically TIFF2025522616000061.tif610 and N UV and obtains the texture coordinates of the projection point on the first side of the vertex to be decoded based on the sum value of them, or N UV and It is used to obtain the texture coordinates of the projection point on the first side of the vertex to be decoded based on the difference value from TIFF2025522616000062.tif610. Here, N UV is the texture coordinate of vertex N on the first side of the target triangle. TIFF2025522616000063.tif610 is the vector from the texture coordinate of vertex N on the first side of the target triangle to the texture coordinate of the projection point X on the first side of the vertex to be coded. TIFF2025522616000064.tif610 is the vector from the texture coordinate of vertex N on the first side of the target triangle to the texture coordinate of the projection point X on the first side of the vertex to be coded.

[0100] Optionally, the determination module 702 further specifically when the first vertex O corresponding to the first side is a coded vertex or the first triangle is not a degenerate triangle, X UV and is used to obtain the texture coordinates of the vertex to be coded based on TIFF2025522616000065.tif610. The first triangle and the target triangle have a common first side, and the opposite vertex of the first side of the first triangle is the first vertex O. Here, X UV is the texture coordinate of the projection point X on the first side of the vertex to be coded. TIFF2025522616000066.tif610 is the vector from the texture coordinate of the projection point X on the first side of the vertex to be coded to the texture coordinate C of the vertex to be coded. UV to

[0101] Optionally, the determination module 702 further specifically when the first vertex O corresponding to the first side is an uncoded vertex or the first triangle is a degenerate triangle, X UV and Based on TIFF2025522616000067.tif610, obtain the texture coordinates of the vertex to be coded, which are used to code the target identifier corresponding to the vertex to be coded. The first triangle and the target triangle have a common first side, and the opposite vertex of the first side of the first triangle is the first vertex O. Here, X UV is the texture coordinate of the projection point X on the first side of the vertex to be coded. TIFF2025522616000068.tif610 is the vector from the projection point X on the first side of the vertex to be coded to the texture coordinate C of the vertex to be coded. UV up to.

[0102] Optionally, the determination module 702 further specifically selects one initial triangle based on the reconstructed geometric information and connection relationship, codes the texture coordinates of the three vertices of the initial triangle, which are used to store the three sides of the initial triangle in the side set.

[0103] Optionally, the determination module 702 further specifically stores the second side in the target triangle in the side set and deletes the first side from the side set. The second side is the side not included in the side set in the target triangle.

[0104] Optionally, the coding module 703 specifically for any one vertex, determines the target value corresponding to the N predicted texture coordinates of the vertex as the target texture coordinate of the vertex, which is used to code the texture coordinate residual of the vertex. The residual is determined based on the true texture coordinate of the vertex and the target texture coordinate of the vertex.

[0105] In an embodiment of the present application, based on the coding results of the geometric information and connection relationship of the target three-dimensional grid, the geometric information and connection relationship of the target three-dimensional grid are reconstructed. Based on the reconstructed geometric information and connection relationship, a method of predicting vertices with a plurality of coded triangles is adopted to determine N predicted texture coordinates of each vertex in the target three-dimensional grid, and the texture coordinate residuals of each vertex are coded. In the above solution, a method of predicting vertices with a plurality of coded triangles is adopted to obtain N predicted texture coordinates of each vertex. By predicting the texture coordinates of vertices using a plurality of coded triangles, the compression effect of the UV coordinate data volume is improved, and the coding efficiency of the texture coordinates is increased.

[0106] The embodiment of this device corresponds to the embodiment of the coding method shown in FIG. 1 above. Each implementation process and implementation method related to the coding side in the embodiment of the above method are applicable to the embodiment of this device and can achieve the same technical effect.

[0107] In the decoding method according to the embodiment of the present application, the execution body may be a decoding device. In the embodiment of the present application, the decoding device executing the decoding method is taken as an example to describe the decoding device according to the embodiment of the present application.

[0108] As shown in FIG. 8, the embodiment of the present application further provides a decoding device 800. A decoding module 801 for decoding the code stream corresponding to the obtained target three-dimensional grid to obtain the geometric information and connection relationship of the target three-dimensional grid, and decoding the code stream corresponding to each obtained vertex to obtain the texture coordinate residuals of each vertex. Adopt a method of predicting vertices with a plurality of decoded triangles based on the geometric information and connection relationships, and a first determination module 802 for determining N (where N is a positive integer greater than 1) predicted texture coordinates of each vertex in the target three-dimensional grid; A second determination module 803 for determining the true texture coordinates of each vertex based on the N predicted texture coordinates of each vertex and the texture coordinate residuals of each vertex.

[0109] Optionally, the first determination module 802 specifically Select a first side from the side set, and determine as target triangles the triangle corresponding to the first side and the triangle that has the vertex to be decoded as the opposite vertex and does not include the first side, wherein the vertices other than the vertex to be decoded in the target triangle are decoded vertices, and the opposite vertex of the first side in the triangle corresponding to the first side is the vertex to be coded; For each target triangle, it is used to obtain the predicted texture coordinates of the vertex to be decoded in the target triangle.

[0110] Optionally, the first determination module 802 further specifically Based on the geometric coordinates of each vertex of the target triangle, obtain the texture coordinates of the projection point on the first side of the vertex to be decoded; Based on the texture coordinates of the projection point, it is used to obtain the predicted texture coordinates of the vertex to be decoded.

[0111] Optionally, the first determination module 802 further specifically TIFF2025522616000069.tif610 and N UV Based on the sum value of and N, obtain the texture coordinates of the projection point on the first side of the vertex to be decoded, or N UV and It is used to obtain the texture coordinates of the projection point on the first side of the vertex to be decoded based on the difference value from TIFF2025522616000070.tif610. Here, N UV is the texture coordinate of vertex N on the first side of the target triangle. TIFF2025522616000071.tif610 is the vector from the texture coordinate of vertex N on the first side of the target triangle to the texture coordinate of the projection point X on the first side of the vertex to be decoded. TIFF2025522616000072.tif610 is the vector from the texture coordinate of the projection point X on the first side to the texture coordinate of vertex N on the first side of the target triangle.

[0112] Optionally, the first determination module 802 further specifically when the first vertex O corresponding to the first side is a decoded vertex or the first triangle is not a degenerate triangle, X UV and It is used to obtain the texture coordinates of the vertex to be decoded based on TIFF2025522616000073.tif610. The first triangle and the target triangle have a common first side, and the opposite vertex of the first side of the first triangle is the first vertex O. Here, X UV is the texture coordinate of the projection point X on the first side of the vertex to be coded. TIFF2025522616000074.tif610 is the vector from the texture coordinate of the projection point X on the first side of the vertex to be coded to the texture coordinate C of the vertex to be coded. UV to.

[0113] Optionally, the first determination module 802 further specifically When the first vertex O corresponding to the first side is an undecoded vertex or the first triangle is a degenerate triangle, the target identifier X corresponding to the point to be decoded that has been read UV and Based on TIFF2025522616000075.tif610, it is used to determine the texture coordinates of the vertex to be decoded. The first triangle and the target triangle have a common first side, and the opposite vertex of the first side of the first triangle is the first vertex O, where X UV is the texture coordinate of the projection point X on the first side of the vertex to be coded, TIFF2025522616000076.tif610 is the vector from the projection point X on the first side of the vertex to be coded to the texture coordinate C of the vertex to be coded UV up to.

[0114] Optionally, the first determination module 802 further specifically selects one initial triangle based on the geometric information and connection relationship, decodes the texture coordinates of the three vertices of the initial triangle, and is used to store the three sides of the initial triangle in the side set.

[0115] Optionally, the first determination module 802 further specifically stores the second side in the target triangle in the side set and deletes the first side from the side set. The second side is the side not included in the side set in the target triangle.

[0116] Optionally, the second determination module 803 further specifically for any one vertex, determines the target value corresponding to the N predicted texture coordinates of the vertex as the target texture coordinate of the vertex, It is used to perform an addition operation between the target texture coordinates of the vertex and the texture coordinate residual of the vertex to determine the true texture coordinates of the vertex.

[0117] The decoding device according to the embodiment of the present application realizes each process realized by the embodiment of the method in FIG. 5 and can achieve the same technical effect. To avoid repeated description, it will not be described further here.

[0118] The coding device and the decoding device in the embodiments of the present application may be an electronic device, for example, an electronic device having an operating system, or a member in an electronic device, for example, an integrated circuit or a chip. This electronic device may be a terminal or other device other than a terminal. Exemplarily, the terminal may include the types of terminals listed above, but is not limited thereto. Other devices may be a server, a Network Attached Storage (NAS), etc. The embodiments of the present application are not specifically limited.

[0119] Optionally, as shown in FIG. 9, the embodiment of the present application further provides a communication device 900, which includes a processor 901 and a memory 902, and a program or instruction that can run on the processor 901 is stored in the memory 902. For example, when this communication device 900 is a terminal, when this program or instruction is executed by the processor 901, each step of the embodiment of the above coding method can be realized and the same technical effect can be achieved, or each step of the embodiment of the above decoding method can be realized and the same technical effect can be achieved.

[0120] The embodiment of the present application further provides a terminal, which includes a processor 901 and a communication interface. The processor 901 reconstructs the geometric information and connection relationship of the target three-dimensional grid based on the coding result of the geometric information and connection relationship of the target three-dimensional grid, and Based on the reconstructed geometric information and connection relationships, a method of predicting vertices with a plurality of coded triangles is adopted to determine N predicted texture coordinates of each vertex in the target three-dimensional grid, which is used to perform operations such as coding the texture coordinate residuals of each vertex.

[0121] Alternatively, the processor 901, decodes the code stream corresponding to the acquired target three-dimensional grid to obtain the geometric information and connection relationships of the target three-dimensional grid, decodes the code stream corresponding to each acquired vertex to obtain the texture coordinate residuals of each vertex, based on the geometric information and connection relationships, adopts a method of predicting vertices with a plurality of decoded triangles to determine N predicted texture coordinates of each vertex in the target three-dimensional grid, which is used to perform operations such as determining the true texture coordinates of each vertex based on the N predicted texture coordinates of each vertex and the texture coordinate residuals of each vertex.

[0122] The embodiment of this terminal corresponds to the embodiment of the above method on the terminal side. Each implementation process and realization method of the embodiment of the above method can be applied to the embodiment of this terminal and can achieve the same technical effect. Specifically, FIG. 10 is a schematic hardware structure diagram for realizing the terminal of the embodiment of this application.

[0123] This terminal 1000 includes components such as a radio frequency unit 1001, a network module 1002, an audio output unit 1003, an input unit 1004, a sensor 1005, a display unit 1006, a user input unit 1007, an interface unit 1008, a memory 1009, and a processor 1010, but is not limited thereto.

[0124] As can be understood by those skilled in the art, the terminal 1000 may further include a power source (for example, a battery) for supplying power to each component. The power source may be logically connected to the processor 1010 by a power management system, whereby functions such as charge and discharge management and power consumption management can be realized by the power management system. The terminal structure shown in FIG. 10 does not constitute a limitation on the terminal. The terminal may include more or fewer components than those shown, or a combination of some components, or different arrangements of components, which will not be further described herein.

[0125] It should be understood that in the embodiments of the present application, the input unit 1004 may include a graphics processing unit (GPU) 10041 and a microphone 10042. The graphics processing unit 10041 processes the image data of a still image or video obtained by an image capture device (for example, a camera) in a video capture mode or an image capture mode. The display unit 1006 may include a display panel 10061, and the display panel 10061 may be configured in the form of a liquid crystal display, an organic light emitting diode, or the like. The user input unit 1007 includes at least one of a touch panel 10071 and other input devices 10072. The touch panel 10071 is also called a touch screen. The touch panel 10071 may include two parts: a touch detection device and a touch controller. The other input devices 10072 may include, but are not limited to, a physical keyboard, function keys (for example, volume control buttons, switch buttons, etc.), a trackball, a mouse, and an operation lever, which will not be further described herein.

[0126] In the embodiments of the present application, after receiving the downlink data from the network-side device, the radio frequency unit 1001 can transmit it to the processor 1010 for processing. The radio frequency unit 1001 can transmit the uplink data to the network-side device. Generally, the radio frequency unit 1001 includes, but is not limited to, an antenna, an amplifier, a transceiver, a coupler, a low noise amplifier, a duplexer, and the like.

[0127] The memory 1009 may be used to store software programs or instructions and various data. The memory 1009 may mainly include a first storage area for storing programs or instructions and a second storage area for storing data. Here, the first storage area can store an operating system, application programs or instructions required for at least one function (for example, audio playback function, image playback function, etc.). Note that the memory 1009 may include volatile memory or non-volatile memory, or the memory 1009 may include both volatile and non-volatile memory. Here, the non-volatile memory may be a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), or a flash memory. The volatile memory may be a random access memory (RAM), a static random access memory (SRAM), a dynamic random access memory (DRAM), a synchronous dynamic random access memory (SDRAM), a double data rate synchronous dynamic random access memory (DDR SDRAM), an enhanced synchronous dynamic random access memory (ESDRAM), a synchronous link dynamic random access memory (SLDRAM), and a direct rambus random access memory (DRRAM). The memory 1009 in the embodiments of the present application includes these and any other suitable types of memory, but is not limited thereto.

[0128] Processor 1010 may include one or more processing units. Optionally, processor 1010 integrates an application processor and a modem processor, where the application processor mainly processes operations related to the operating system, user interface, application programs, etc., and the modem processor mainly processes wireless communication signals, for example, it is a baseband processor. As can be understood, the above modem processor may not be integrated into processor 1010.

[0129] Here, processor 1010 Based on the geometric information and connection relationship coding results of the target three-dimensional grid, reconstruct the geometric information and connection relationship of the target three-dimensional grid, Adopt a method of predicting vertices with a plurality of coded triangles based on the reconstructed geometric information and connection relationship, and determine N predicted texture coordinates of each vertex in the target three-dimensional grid, It is used to perform operations such as coding the texture coordinate residuals of each vertex.

[0130] Alternatively, processor 1010 Decode the code stream corresponding to the obtained target three-dimensional grid to obtain the geometric information and connection relationship of the target three-dimensional grid, and decode the code stream corresponding to each obtained vertex to obtain the texture coordinate residuals of each vertex, Adopt a method of predicting vertices with a plurality of decoded triangles based on the geometric information and connection relationship, and determine N predicted texture coordinates of each vertex in the target three-dimensional grid, Based on the N predicted texture coordinates of each vertex and the texture coordinate residuals of each vertex, it is used to perform operations such as determining the true texture coordinates of each vertex.

[0131] Embodiments of this application further provide a readable storage medium, on which a program or instructions are stored. When the program or instructions are executed by a processor, each process of the embodiments of the above coding method is realized, or each process of the embodiments of the above decoding method is realized, and the same technical effects can be achieved. To avoid repetition of the description, no further description is given here.

[0132] Here, the processor is the processor in the terminal described in the above embodiments. The readable storage medium includes a computer-readable storage medium, such as a computer read-only memory ROM, a random access memory RAM, a magnetic disk or an optical disk, etc.

[0133] Embodiments of this application further provide a chip, which includes a processor and a communication interface. The communication interface is coupled to the processor. The processor is used to run a program or instructions to realize each process of the embodiments of the above coding method, or each process of the embodiments of the above decoding method, and the same technical effects can be achieved. To avoid repetition of the description, no further description is given here.

[0134] It should be understood that the chip mentioned in the embodiments of this application may also be referred to as a system-level chip, a system chip, a chip system or a system-on-chip, etc.

[0135] Embodiments of this application further provide a computer program / program product, which is stored in a storage medium. The computer program / program product is executed by at least one processor to realize each process of the embodiments of the above coding method, or each process of the embodiments of the above decoding method, and the same technical effects can be achieved. To avoid repetition of the description, no further description is given here.

[0136] Embodiments of the present application further provide a system, wherein the system includes a coding side and a decoding side. The coding side executes each process of the embodiments of the above coding method, and the decoding side executes each process of the embodiments of the above decoding method and can achieve the same technical effect. To avoid repeated description, it will not be described further here.

[0137] It should be noted that in this specification, the term "including", "comprising" or any other modification thereof is intended to cover non-exclusive "including", whereby a process, method, article or device including a series of elements includes not only those elements but also other elements not explicitly listed or elements specific to such a process, method, article or device. When there is no further limitation, for an element limited by the phrase "comprising one...", it is not excluded that there are other same elements in the process, method, article or device including this element. It should be pointed out that the scope of the method and device in the embodiments of the present application is not limited to executing functions in the order illustrated or discussed, and may include executing functions in a basically simultaneous manner or in a reverse order based on the relevant functions. For example, a method described in a procedure different from the described one can be executed, and various steps can be added, omitted or combined. Also, features described with reference to some examples can be combined in other examples.

[0138] As can be clearly understood by those skilled in the art from the description of the above embodiments, the method of the above embodiments can be realized in the form of software and the necessary general-purpose hardware platform. Of course, it may also be realized by hardware, but in many cases, the former is a more preferred embodiment. Based on such an understanding, the technical solution of the present application or the part that has contributed to the prior art may be embodied in the form of a computer software product. This computer software product is stored in a storage medium (such as ROM / RAM, magnetic disk, optical disk), and includes some instructions for causing a terminal (which may be a mobile phone, computer, server, air conditioner, or network device, etc.) to execute the methods described in each embodiment of the present application.

[0139] The above has described the embodiments of the present application in conjunction with the drawings. However, the present application is not limited to the above specific embodiments. The above specific embodiments are merely illustrative and not restrictive. Those skilled in the art can make many forms without departing from the spirit of the present application and the scope of the claims, and all belong to the protection scope of the present application.

Claims

1. A coding method, comprising: Based on the coding results of the geometric information and connection relationship of the target three-dimensional grid, the coding side reconstructs the geometric information and connection relationship of the target three-dimensional grid; The coding side adopts a method of predicting vertices with a plurality of coded triangles based on the reconstructed geometric information and connection relationship, and determines N (N is a positive integer greater than 1) predicted texture coordinates of each vertex in the target three-dimensional grid; The coding side codes the texture coordinate residuals of each vertex determined based on the N predicted texture coordinates of the vertex.

2. Adopting a method of predicting vertices with a plurality of coded triangles based on the reconstructed geometric information and connection relationship, and determining N predicted texture coordinates of each vertex in the target three-dimensional grid, specifically: The coding side selects a first side from the side set, and determines, as target triangles, the triangle corresponding to the first side and the triangle that uses the vertex to be coded as the opposite vertex and does not include the first side. The vertices other than the vertex to be coded in the target triangle are coded vertices, and the opposite vertex of the first side in the triangle corresponding to the first side is the vertex to be coded; The coding side obtains the predicted texture coordinates of the vertex to be coded in each target triangle. The coding method according to claim 1.

3. Obtaining the predicted texture coordinates of the vertex to be coded in the target triangle specifically includes: The coding side obtains the texture coordinates of the projection point on the first side of the vertex to be coded based on the geometric coordinates of each vertex of the target triangle; The coding side obtains the predicted texture coordinates of the vertex to be coded based on the texture coordinates of the projection point. The coding method according to claim 2.

4. Obtaining the texture coordinates of the projection point on the first side of the vertex to be coded based on the geometric coordinates of each vertex of the target triangle specifically includes: The coding side and N UV obtain the texture coordinates of the projection point on the first side of the vertex to be decoded based on the sum value with N, or N UV and obtaining texture coordinates of a projection point on a first side of a vertex to be decoded based on a difference value from N UV is the texture coordinate of vertex N on the first side of the target triangle, is a vector from the texture coordinates of vertex N on the first side of the target triangle to the texture coordinates of projection point X on the first side of the vertex to be coded, is a vector from the texture coordinates of projection point X on the first side to the texture coordinates of vertex N on the first side of the target triangle, the coding method according to claim 3.

5. obtaining predicted texture coordinates of the vertex to be coded based on the texture coordinates of the projection point, When the coding side is such that the first vertex O corresponding to the first side is a coded vertex or the first triangle is not a degenerate triangle, X UV and obtaining texture coordinates of the vertex to be coded based on, the first triangle and the target triangle have a common first side, and the opposite vertex of the first side of the first triangle is the first vertex O, X UV is the texture coordinate of the projection point X on the first side of the vertex to be coded, is the vector from the projection point X on the first side of the vertex to be coded to the texture coordinates C of the vertex to be coded UV The coding method according to claim 3, which is a vector up to

6. the coder obtaining predicted texture coordinates of the vertex to be coded based on the texture coordinates of the projection point, When the coding side is such that the first vertex O corresponding to the first side is an uncoded vertex or the first triangle is a degenerate triangle, X UV and obtaining texture coordinates of the vertex to be coded based on, and coding a target identifier corresponding to the vertex to be coded, the first triangle and the target triangle have a common first side, and the opposite vertex of the first side of the first triangle is the first vertex O, X UV is the texture coordinate of the projection point X on the first side of the vertex to be coded, is the vector from the projection point X on the first side of the vertex to be coded to the texture coordinates C of the vertex to be coded UV The coding method according to claim 3, which is a vector up to

7. before selecting a first side from the set of sides, the coding method, the coder selecting one initial triangle based on the reconstructed geometric information and connection relationship, the coder further coding texture coordinates of three vertices of the initial triangle and storing three sides of the initial triangle in the set of sides, the coding method according to claim 2.

8. after obtaining predicted texture coordinates of the vertex to be coded in the target triangle, the coding method, the coder further storing a second side in the target triangle in the set of sides and deleting the first side from the set of sides, the second side being a side not included in the set of sides in the target triangle, the coding method according to claim 2.

9. coding the texture coordinate residual of each vertex, For any one vertex on the coding side, determining target values corresponding to N predicted texture coordinates of the vertex as the target texture coordinates of the vertex; The coding method according to claim 1, comprising: the coding side coding the texture coordinate residual of the vertex, where the residual is determined based on the true texture coordinate of the vertex and the target texture coordinate of the vertex.

10. A decoding method, comprising: The decoding side decoding a code stream corresponding to an acquired target three-dimensional grid to obtain geometric information and connection relationships of the target three-dimensional grid, and decoding a code stream corresponding to each acquired vertex to obtain the texture coordinate residual of each vertex; The decoding side adopting a method of predicting vertices with a plurality of decoded triangles based on the geometric information and connection relationships, and determining N (N is a positive integer greater than 1) predicted texture coordinates of each vertex in the target three-dimensional grid; The decoding method, comprising: the decoding side determining the true texture coordinate of each vertex based on the N predicted texture coordinates of each vertex and the texture coordinate residual of each vertex.

11. Adopting a method of predicting vertices with a plurality of decoded triangles based on the geometric information and connection relationships, and determining N predicted texture coordinates of each vertex in the target three-dimensional grid includes: The decoding side selecting a first side from an edge set, and determining a triangle corresponding to the first side and a triangle that has the vertex to be decoded as the opposite vertex and does not include the first side as a target triangle, where vertices other than the vertex to be decoded in the target triangle are decoded vertices, and the opposite vertex of the first side in the triangle corresponding to the first side is the vertex to be coded; The decoding method according to claim 10, comprising: the decoding side obtaining the predicted texture coordinates of the vertex to be decoded in each target triangle for each target triangle.

12. Obtaining the predicted texture coordinates of the vertex to be decoded in the target triangle includes: The decoding side obtains the texture coordinates of the projection point on the first side of the vertex to be decoded based on the geometric coordinates of each vertex of the target triangle; The decoding method according to claim 11, further comprising: the decoding side obtains the predicted texture coordinates of the vertex to be decoded based on the texture coordinates of the projection point.

13. Obtaining the texture coordinates of the projection point on the first side of the vertex to be decoded based on the geometric coordinates of each vertex of the target triangle includes: The decoding side and N UV Obtain the texture coordinates of the projection point on the first side of the vertex to be decoded based on the sum value with N, or N UV and obtains the texture coordinates of the projection point on the first side of the vertex to be decoded based on the difference value from N UV is the texture coordinate of vertex N on the first side of the target triangle, is the vector from the vertex N on the first side of the target triangle to the texture coordinates of the projection point X on the first side of the vertex to be decoded; is the vector from the projection point X on the first side to the texture coordinates of the vertex N on the first side of the target triangle. The decoding method according to claim 12.

14. Obtaining the predicted texture coordinates of the vertex to be decoded based on the texture coordinates of the projection point includes: When the decoding side determines that the first vertex O corresponding to the first side has been decoded or the first triangle is not a degenerate triangle, X UV and obtaining the texture coordinates of the vertex to be decoded based on. The first triangle and the target triangle have a common first side, and the opposite vertex of the first side of the first triangle is the first vertex O. X UV is the texture coordinate of the projection point X on the first side of the vertex to be coded, is the vector from the projection point X on the first side of the vertex to be coded to the texture coordinates C of the vertex to be coded UV The decoding method according to claim 12, which is such a vector up to

15. Obtaining the predicted texture coordinates of the vertex to be decoded based on the texture coordinates of the projection point includes: When the decoding side determines that the first vertex O corresponding to the first side is an undecoded vertex or the first triangle is a degenerate triangle, the target identifier X corresponding to the point to be decoded that has been read UV and determining the texture coordinates of the vertex to be decoded based on. The first triangle and the target triangle have a common first side, and the opposite vertex of the first side of the first triangle is the first vertex O. X UV is the texture coordinate of the projection point X on the first side of the vertex to be coded, is the vector from the projection point X on the first side of the vertex to be coded to the texture coordinates C of the vertex to be coded UV The decoding method according to claim 12, which is a vector up to

16. Before selecting the first side from the set of sides, the decoding method further includes: the decoding side selects an initial triangle based on the geometric information and the connection relationship; the decoding side decodes the texture coordinates of the three vertices of the initial triangle and stores the three sides of the initial triangle in the set of sides. The decoding method according to claim 11.

17. After obtaining the predicted texture coordinates in the target triangle of the vertex to be decoded, the decoding method is as follows: The decoding method according to claim 11, further comprising storing, by the decoding side, a second side in the target triangle in the side set and deleting the first side from the side set, wherein the second side is a side not included in the side set in the target triangle. Claim 18 Based on the N predicted texture coordinates of each vertex and the texture coordinate residual of each vertex, determining the true texture coordinates of each vertex includes: determining, by the decoding side, a target value corresponding to the N predicted texture coordinates of a vertex as the target texture coordinates of the vertex; and performing an addition operation on the target texture coordinates of the vertex and the texture coordinate residual of the vertex by the decoding side to determine the true texture coordinates of the vertex, the decoding method according to claim 10. Claim 19 A coding device comprising: a reconstruction module for reconstructing the geometric information and connection relationship of a target three-dimensional grid based on the coding result of the geometric information and connection relationship of the target three-dimensional grid; a determination module for determining N (N is a positive integer greater than 1) predicted texture coordinates of each vertex in the target three-dimensional grid by adopting a method of predicting vertices with a plurality of coded triangles based on the reconstructed geometric information and connection relationship; and a coding module for coding the texture coordinate residual of each vertex determined based on the N predicted texture coordinates of the vertex. Claim 20 A decoding device comprising: a decoding module for decoding a code stream corresponding to the obtained target three-dimensional grid to obtain the geometric information and connection relationship of the target three-dimensional grid, and decoding a code stream corresponding to each obtained vertex to obtain the texture coordinate residual of each vertex; a first determination module for determining N predicted texture coordinates of each vertex in the target three-dimensional grid by adopting a method of predicting vertices with a plurality of decoded triangles based on the geometric information and connection relationship; A decoding device including a second determination module for determining true texture coordinates of each vertex based on N predicted texture coordinates of each vertex and a texture coordinate residual of each vertex.

21. A terminal including a processor and a memory, the memory storing a program or instructions executable on the processor, and when the program or instructions are executed by the processor, realizing the steps of the coding method according to any one of claims 1 to 9, or realizing the steps of the decoding method according to any one of claims 10 to 18.

22. A readable storage medium having a program or instructions stored thereon, and when the program or instructions are executed by a processor, realizing the steps of the coding method according to any one of claims 1 to 9, or realizing the steps of the decoding method according to any one of claims 10 to 18.

Citation Information

Patent Citations

  • Method and apparatus for encoding a 3D mesh model, and method and apparatus for decoding an encoded 3D mesh model.

    JP2012517059A

  • Method for encoding floating-point data, method for decoding floating-point data, and related encoders and decoders.

    JP2013504911A

  • Method, apparatus and computer program for vertex position prediction in mesh compression

    JP2024533471A

  • Texture coordinate compression using texture atlas

    US20200098137A1

Cited By

  • METHOD AND APPARATUS FOR MESH PROCESSING - Patent application

    JP2025507354A

  • Methods and apparatus for mesh processing

    JP7842231B2