Coding and decoding method, device and apparatus
By reconstructing the geometric information and connection relationship of the three-dimensional grid, the texture coordinates of the grid vertices are encoded, which solves the problem of inaccurate encoding of traditional methods and improves coding efficiency.
Patent Information
- Application Number
- JP2024557083
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2022-07-18
- Filing Date
- 2023-04-04
- Publication Date
- 2025-04-15
- Estimated Expiration
- 2043-04-04
AI Technical Summary
The traditional parallel rectangle prediction method is not accurate enough to encode UV coordinates, which affects the coding efficiency of the three-dimensional grid.
By reconstructing the geometric information and connection relationship of the three-dimensional grid, the texture coordinates of the grid vertices are encoded based on the reconstructed information. Specific steps include determining the target triangle, predicting the texture coordinates of uncoded vertices, and encoding the prediction error.
Improve the prediction accuracy of texture coordinates, thereby improving coding efficiency.
Smart Images

Figure 2025510869000001_ABST
Abstract
Description
[Technical field]
[0001] (CROSS REFERENCE TO RELATED APPLICATIONS) This application claims priority to Chinese Patent Application No. 202210370096.5 filed in China on April 8, 2022, claims priority to Chinese Patent Application No. 202210735276.9 filed in China on June 27, 2022, and claims priority to Chinese Patent Application No. 202210845200.1 filed in China on July 18, 2022, the entire contents of which are incorporated herein by reference.
[0002] The present application relates to the technical field of coding and decoding, and in particular to a coding, decoding method, apparatus and device. [Background technology]
[0003] Texture (UV) coordinates, also called UV coordinates, are information describing a 3D grid vertex texture. The 3D grid is first subjected to a 2D projection onto the surface texture to form a 2D texture map. The UV coordinates represent the positions in the 2D texture map where the 3D vertex texture is located, and correspond one-to-one to the geometric information. Therefore, the texture coordinates determine the texture mapping of the 3D grid and are an important part of the 3D grid. The amount of UV coordinate data is relatively large in the 3D grid. The prediction of the conventional parallelogram prediction method is not very accurate, which affects the coding efficiency of the texture coordinates. Summary of the Invention [Problem to be solved by the invention]
[0004] The embodiments of the present application provide a coding and decoding method, apparatus and device that can solve the problem that the prediction of a parallelogram prediction method for coding UV coordinates in the conventional technology is not very accurate, which affects the coding efficiency of UV coordinates. [Means for solving the problem]
[0005] A first aspect provides a coding method, the method comprising: A coding side 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; The coding side codes texture coordinates of vertices in the target 3D grid based on the reconstructed geometric information and connectivity relationships.
[0006] A second aspect provides a coding apparatus, the apparatus comprising: a reconstruction module for reconstructing the geometric information and connection relationship of the target three-dimensional grid according to the coding result of the geometric information and connection relationship of the target three-dimensional grid; and a coding module for coding texture coordinates of vertices in the target 3D grid based on the reconstructed geometric information and connectivity relationships.
[0007] A third aspect provides a method of decoding, the method comprising: A decoding side decodes the code stream of the target 3D grid to obtain geometric information and connection relationship of the target 3D grid; The decoding side decodes and obtains texture coordinates of vertices in a target 3D grid based on the geometric information and the connection relationship.
[0008] A fourth aspect provides a decoding apparatus, the apparatus comprising: a second acquisition module for decoding the code stream of the acquired target 3D grid to acquire geometric information and connection relationship of the target 3D grid; and a decoding module for decoding and obtaining texture coordinates of vertices in a target 3D grid based on the geometric information and the connectivity relationships.
[0009] A fifth aspect provides a coding apparatus, the apparatus comprising a processor and a memory, the memory storing a program or instructions operable to run on the processor, the program or instructions being operable when executed by the processor to implement the steps of the method of the first aspect.
[0010] A sixth aspect provides a coding device including a processor and a communication interface, wherein the processor is adapted to reconstruct geometric information and connectivity relationships of a target three-dimensional grid based on a coding result of the geometric information and connectivity relationships of the target three-dimensional grid, and to code texture coordinates of vertices in the target three-dimensional grid based on the reconstructed geometric information and connectivity relationships.
[0011] A seventh aspect provides a decoding apparatus comprising a processor and a memory, the memory storing a program or instructions operable to run on the processor, the program or instructions being operable, when executed by the processor, to implement the steps of the method of the third aspect.
[0012] An eighth aspect provides a decoding device, the device including a processor and a communication interface, where the processor is adapted to decode a code stream of a target three-dimensional grid to be obtained to obtain geometric information and connectivity relationships of the target three-dimensional grid, and to decode and obtain texture coordinates of vertices in the target three-dimensional grid based on the geometric information and connectivity relationships.
[0013] A ninth aspect provides a communication system, the system comprising a coding device and a decoding device, the coding device being adapted to perform steps of the method according to the first aspect and the decoding device being adapted to perform steps of the method according to the third aspect.
[0014] A tenth aspect provides a readable storage medium having a program or instructions stored on the readable storage medium, the program or instructions performing steps of the method of the first aspect or performing steps of the method of the third aspect when executed by a processor.
[0015] An eleventh aspect provides a chip, the chip including a processor and a communication interface, the communication interface coupled to the processor, the processor running a program or instructions to implement the method of the first aspect or to be used to implement the method of the third aspect.
[0016] A twelfth aspect provides a computer program / program product, the computer program / program product being stored on a storage medium, the computer program / program product being executed by at least one processor to perform the steps of the method of the first aspect or to perform the steps of the method of the third aspect. Effect of the Invention
[0017] In an embodiment of the present application, based on the coding result of the geometric information and connection relationships of the target 3D grid, the geometric information and connection relationships of the target 3D grid are reconstructed, and the texture coordinates of the vertices in the target 3D grid are coded based on the reconstructed geometric information and connection relationships. The above method predicts the texture coordinates of the vertices by combining the geometric information of the vertices after reconstructing, so that the prediction result is closer to the true result of the vertex, thereby improving the accuracy of prediction and further improving the coding efficiency of the texture coordinates. [Brief description of the drawings]
[0018] [Figure 1] 1 is a flowchart of a coding method according to an embodiment of the present application; [Diagram 2] FIG. 1 is a geometrical schematic of the prediction principle. [Diagram 3] 1 is a schematic diagram of a video-based 3D grid UV coordinate coding framework. [Figure 4] FIG. 2 is a module schematic diagram of a coding device according to an embodiment of the present application; [Diagram 5] FIG. 2 is a structural schematic diagram of a coding device according to an embodiment of the present application; [Figure 6] 4 is a flowchart of a decoding method according to an embodiment of the present application; [Figure 7] 1 is a schematic diagram of a video-based 3D grid UV coordinate decoding framework. [Figure 8] FIG. 2 is a module schematic diagram of a decoding device according to an embodiment of the present application; [Figure 9] FIG. 2 is a structural schematic diagram of a communication device according to an embodiment of the present application; DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0019] 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, and it is obvious that the described embodiments are only some of the embodiments of the present application, and not all of the embodiments. All other embodiments obtained by those skilled in the art based on the embodiments of the present application are all within the scope of protection of the present application.
[0020] The terms "first," "second," etc. in the specification and claims of the present application are intended to distinguish between similar objects and are not intended to describe a particular order or sequence. It is to be understood that terms used in this manner are interchangeable where appropriate, such that the embodiments of the present application may be performed in an order other than that shown or described herein, and that the objects distinguished by "first" and "second" are generally of the same class and do not limit the number of objects, e.g., the first object may be one or more. Note that "and / or" in the specification and claims represents at least one of the objects connected, and the character " / " generally represents an "or" relationship between the related objects.
[0021] It should be noted that the techniques described in the embodiments of the present application are not limited to Long Term Evolution (LTE) / LTE-Advanced (LTE-A) systems, but can also be applied to other wireless communication systems, such as Code Division Multiple Access (CDMA), Time Division Multiple Access (TDMA), Frequency Division Multiple Access (FDMA), Orthogonal Frequency Division Multiple Access (OFDMA), Single-carrier Frequency Division Multiple Access (SC-FDMA), and other systems. The terms "system" and "network" in the embodiments of the present application are always used interchangeably, and the techniques described may be used in the above-mentioned systems and radio technologies, or in other systems and radio technologies. Although the following description describes a New Radio (NR) system for illustrative purposes, and NR terminology is used in most of the following description, these techniques may also be used in applications other than NR system applications, such as sixth generation (6G) and 7G (8G) systems.th This may be applied to a 6G (6th Generation) communication system.
[0022] In the following, the coding and decoding method, apparatus and device according to the embodiments of the present application will be described in detail through several embodiments and their application scenarios in conjunction with the drawings.
[0023] As shown in FIG. 1 , an embodiment of the present application provides a coding method, which includes:
[0024] Step 101, the coding side reconstructs the geometric information and connection relationship of the target 3D grid according to the coding result of the geometric information and connection relationship of the target 3D grid; It should be noted that the target three-dimensional grid mentioned in this application may be understood as a 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 vertices in the three-dimensional grid, which 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 referred to as connectivity relationship.
[0025] It should be noted that in the embodiment of the present application, when coding the texture coordinates of a vertex, the geometric information and connection relationships are used as a basis, and in order to ensure consistency between the texture coordinates after coding and the geometric information and connection relationships after coding, the embodiment of the present application uses the geometric information and connection relationships that are reconstructed after coding.
[0026] Step 102, the coding side codes texture coordinates of vertices in the target 3D grid according to the reconstructed geometric information and connection relationship; It should be noted that in the embodiment of the present application, the texture coordinates of a vertex are predicted by combining the geometric information of the vertex after it has been reconstructed, so that the predicted result is closer to the true result of the vertex, the accuracy of the predicted vertex can be improved, and the accuracy of the texture coordinate coding can be guaranteed.
[0027] Optionally, the specific implementation process of the above step 102 includes:
[0028] Step 1021, the coding side determines a target triangle according to the reconstructed connection relationship, the target triangle being composed of a first edge and a vertex to be coded; Optionally, in an embodiment of the present application, the optional realization manner of this step is: The coding side selects a first edge from an edge set, the edge set being a set of edges of triangles constructed by the reconstructed connection relationships, and the coding side determines a target triangle based on the first edge.
[0029] Optionally, before the coding party selects a first edge from the edge set, The coding side further includes selecting an initial triangle based on the reconstructed connection relationship, and the coding side coding the texture coordinates of the three vertices of the initial triangle, and adding the three edges of the initial triangle to an edge set.
[0030] Generally speaking, this initial triangle is the first triangle in the connection relationship. For the initial triangle, in the embodiment of the present application, vertices are not predicted, and texture coordinates are directly coded, and the specific implementation manner of the coding side coding the texture coordinates of the three vertices of the initial triangle includes: the coding side directly codes the texture coordinates of the first vertex of the initial triangle, the coding side predicts an edge using the texture coordinates of the first vertex to obtain the texture coordinates of the second vertex of the initial triangle, and uses a similar triangle prediction coding manner to obtain the texture coordinates of the third vertex of the initial triangle, and the coding side codes the texture coordinates of the second and third vertices of the initial triangle.
[0031] After coding the texture coordinates of each vertex of an initial triangle (for illustration purposes, the texture coordinates refer to the original texture coordinates directly obtained by the target three-dimensional grid), each edge of the initial triangle is added to an edge set to form an initial edge set, and subsequent vertices are predicted based on the initial edge set.
[0032] Step 1022, the coding side performs texture coordinate prediction for a vertex to be coded according to the reconstructed geometric information corresponding to the three vertices of the target triangle and the true texture coordinates of the vertices of the first side to obtain a predicted texture coordinate of the vertex to be coded; In step 1023, the coding side codes the texture coordinates of the vertices to be coded based on the difference between the true texture coordinates of the vertices to be coded and the predicted texture coordinates.
[0033] It should be noted that after obtaining the predicted texture coordinates of the vertex to be coded, the difference value between the predicted texture coordinates and the true texture coordinates can be obtained, and coding is performed based on the difference value. Alternatively, the difference value can be directly coded, or the difference value can be processed first, and then the processed difference value can be coded. For example, the processing can be a normalization processing, and coding for the vertex to be coded can be realized by coding based on the difference value, thereby reducing the number of bits of texture coordinate coding.
[0034] It should be noted that in the embodiment of the present application, the difference value may be obtained by subtracting the predicted texture coordinate from the true texture coordinate, or may be obtained by subtracting the true texture coordinate from the predicted texture coordinate, and the specific method to be adopted can be understood by the coding side and the decoding side. The difference value in the embodiment of the present application may be called a residual.
[0035] Optionally, in one embodiment of the present application, the implementation manner of performing texture coordinate prediction for a vertex to be coded based on the reconstructed geometric information corresponding to three vertices of the target triangle and the true texture coordinates of the vertex on the first side, and obtaining the predicted texture coordinates of the vertex to be coded includes:
[0036] Step S11, the coding side obtains texture coordinates of predicted projection points on the first side of the vertices to be coded according to the reconstructed geometric information corresponding to each vertex of the target triangle and the true texture coordinates of the vertices on the first side; It should be explained that, as shown in FIG. 2, edge NP is an edge selected from an edge set, and may be regarded as the above-mentioned first edge, vertex N and vertex P are two vertices of the first edge, vertex C is a vertex to be coded, vertex N, vertex P and vertex C constitute the above-mentioned target triangle, point X is the projection of vertex C on the NP edge, vertex O is a point that has already been coded, and the triangle formed by vertex O, vertex N and vertex P shares an NP edge with the triangle formed by vertex N, vertex P and vertex C. Based on the above FIG. 2, optionally, the specific manner of obtaining the texture coordinates of the predicted projection point on the first edge of the vertex to be coded mentioned in the embodiment of the present application is as follows: The coding side JPEG2025510869000002.jpg6161 and Obtaining the texture coordinates of the predicted projected point on the first edge of the vertex to be coded based on the sum value of JPEG2025510869000003.jpg6161; or TIFF2025510869000004.tif6161 and obtaining texture coordinates of a predicted projected point on a first edge of the vertex to be coded based on a difference value between the vertex and JPEG2025510869000005.jpg6161; where A is the vertex N on the first side of the target triangle; JPEG2025510869000006.jpg6161 is the vector from vertex N on the first edge of the target triangle to the texture coordinates of the predicted projected point X on the first edge of the vertex C to be coded; JPEG2025510869000007.jpg5161 are the true texture coordinates of vertex N on the first edge of the target triangle, JPEG2025510869000008.jpg6161 is a vector from the predicted projection point X on the first side of the vertex C to be coded to the texture coordinates of the vertex N on the first side of the target triangle, A is a vertex P on the first side of the target triangle, JPEG2025510869000009.jpg6161 is a vector from a vertex P on the first edge of the target triangle to the texture coordinates of a predicted projected point X on the first edge of the vertex C to be coded; JPEG2025510869000010.jpg6161 are the true texture coordinates of vertex P on the first edge of the target triangle, JPEG2025510869000011.jpg6161 is the vector from the predicted projection point X on the first side of the vertex C to be coded to the texture coordinates of vertex P on the first side of the target triangle.
[0037] For example, Expression 1: Obtain the texture coordinates of the predicted projection point of the first edge of the vertex to be coded according to JPEG2025510869000012.jpg6161; or Formula 2: Obtain the texture coordinates of the predicted projection point of the first edge of the vertex to be coded according to JPEG2025510869000013.jpg6161; or Formula 3: Obtaining the texture coordinates of the predicted projection point of the first edge of the vertex to be coded according to JPEG2025510869000014.jpg6161; or Formula 4: Based on JPEG2025510869000015.jpg6161, obtain the texture coordinates of the predicted projection point on the first edge of the vertex to be coded.
[0038] Where: JPEG2025510869000016.jpg5161 is the predicted texture coordinate of the predicted projected point X on the first edge of the vertex C to be coded; JPEG2025510869000017.jpg6161 is the vector from vertex N on the first edge of the target triangle to the texture coordinates of the predicted projected point X on the first edge of the vertex C to be coded; JPEG2025510869000018.jpg5161 are the true texture coordinates of vertex N on the first edge of the target triangle, JPEG2025510869000019.jpg6161 is the vector from the predicted projection point X on the first edge of the vertex C to be coded to the texture coordinates of the vertex N on the first edge of the target triangle; JPEG2025510869000020.jpg6161 is the vector from the vertex P on the first side of the target triangle to the texture coordinates of the predicted projected point X on the first side of the vertex C to be coded; JPEG2025510869000021.jpg5161 are the true texture coordinates of vertex P on the first edge of the target triangle, JPEG2025510869000022.jpg6161 is the vector from the predicted projection point X on the first side of the vertex C to be coded to the texture coordinates of vertex P on the first side of the target triangle.
[0039] moreover, JPEG2025510869000023.jpg7161, JPEG2025510869000024.jpg6161 is a vector of the vertex N on the first edge and the reconstructed geometric information corresponding to the vertex P, JPEG2025510869000025.jpg6161 is a vector from vertex N on the first edge to the reconstructed geometric information corresponding to vertex C to be coded; JPEG2025510869000026.jpg6161 is the vector from vertex N to the texture coordinates of vertex P on the first side.
[0040] JPEG2025510869000027.jpg7161, JPEG2025510869000028.jpg7161 is a vector of the vertex P on the first edge and the reconstructed geometric information corresponding to the vertex N, JPEG2025510869000029.jpg7161 is a vector from the vertex P on the first edge to the reconstructed geometric information corresponding to the vertex C to be coded; JPEG2025510869000030.jpg7161 is a vector from vertex P to the texture coordinates of vertex N on the first edge.
[0041] JPEG2025510869000031.jpg6161, JPEG2025510869000032.jpg6161 is a vector of the vertex P on the first edge and the reconstructed geometric information corresponding to the vertex C to be coded; JPEG2025510869000033.jpg6161 is a vector from vertex P on the first edge to the reconstructed geometric information corresponding to vertex N, JPEG2025510869000034.jpg6161 is The goal is to flip JPEG2025510869000035.jpg6161 by 90 degrees.
[0042] The image is JPEG2025510869000036.jpg6161.
[0043] Step S12: the coding side obtains a judgment result of whether a first triangle formed by the first side and a first vertex corresponding to the first side is a degenerate triangle, and the first vertex is an opposite vertex of the first side of the first triangle, and the first triangle and the target triangle have a common first side; It should be noted that in some cases, the area of the selected first triangle may be zero, and because the processing methods of the coding side are different for different triangles, this step needs to first determine the area of the first triangle, and if the area of the first triangle is zero, the first triangle may be considered as a degenerate triangle, otherwise, the first triangle is not a degenerate triangle.
[0044] Step S13: the coding side obtains predicted texture coordinates of the vertex to be coded according to the judgment result and the texture coordinates of the predicted projection point.
[0045] Optionally, one implementation manner of step S13 is as follows:
[0046] the coding side, when the determination result indicates that the first triangle is a degenerate triangle, TIFF2025510869000037.tif5161, JPEG2025510869000038.jpg7161 and JPEG2025510869000039.jpg7161 and Obtaining predicted texture coordinates of the vertices to be coded based on the magnitude relationship with JPEG2025510869000040.jpg7161; Where: JPEG2025510869000041.jpg6161 is the predicted texture coordinate of the predicted projected point X on the first edge of the vertex C to be coded; JPEG2025510869000042.jpg6161 is a predicted vector from the predicted projection point X on the first edge of the vertex C to be coded to the texture coordinates of the vertex C to be coded; JPEG2025510869000043.jpg6161 is the predicted point JPEG2025510869000044.jpg5161 and the texture coordinates of the vertex C to be coded. JPEG2025510869000045.jpg6161 is the predicted point JPEG2025510869000046.jpg6161 and the texture coordinates of the vertex C to be coded.
[0047] That is, when the judgment result indicates that the first triangle is a degenerate triangle, the coding side obtains the predicted texture coordinates of the vertex to be coded based on the judgment result and the texture coordinates of the predicted projection point in the following manner: Formula 5: obtaining predicted texture coordinates of vertices to be coded based on JPEG2025510869000047.jpg14161; Where: JPEG2025510869000048.jpg6161 is the predicted texture coordinate of the vertex C to be coded, JPEG2025510869000049.jpg6161, JPEG2025510869000050.jpg5161 is the texture coordinate of vertex C to be coded, JPEG2025510869000051.jpg6161, JPEG2025510869000052.jpg6161 is a vector from the predicted projection point X on the first edge of the vertex C to be coded to the texture coordinates of the vertex C to be coded; JPEG2025510869000053.jpg7161, JPEG2025510869000054.jpg6161 is a vector from the projection point X of the first side of the vertex C to be coded to the reconstructed geometric information corresponding to the vertex C to be coded; JPEG2025510869000055.jpg6161TIFF2025510869000056.tif11153 is The goal is to flip JPEG2025510869000057.jpg6161 by 90 degrees.
[0048] It should be further explained that in such a case, the coding party obtains a target identifier, which is JPEG2025510869000058.jpg7161 and The coding side performs entropy coding on the target identifier, and the decoding side can accurately perform decoding to predict texture coordinates based on the target identifier.
[0049] Optionally, another implementation of step S13 is as follows.
[0050] The coding side, when the determination result indicates that the first triangle is not a degenerate triangle, JPEG2025510869000060.jpg6161, JPEG2025510869000061.jpg7161 and JPEG2025510869000062.jpg7161 and Obtaining predicted texture coordinates of the vertices to be coded based on the magnitude relationship with JPEG2025510869000063.jpg7161; Where: JPEG2025510869000064.jpg6161 is the predicted texture coordinate of the predicted projected point X on the first edge of the vertex C to be coded; JPEG2025510869000065.jpg6161 is a predicted vector from the predicted projection point X on the first edge of the vertex C to be coded to the texture coordinates of the vertex C to be coded, JPEG2025510869000066.jpg6161 is the predicted point JPEG2025510869000067.jpg6161 and the texture coordinates of a first vertex O corresponding to the first edge, JPEG2025510869000068.jpg7161 is the predicted point JPEG2025510869000069.jpg6161 and the texture coordinates of the first vertex O corresponding to the first edge.
[0051] That is, when the judgment result indicates that the first triangle is not a degenerate triangle, the coding side obtains the predicted texture coordinates of the vertex to be coded according to the judgment result and the texture coordinates of the predicted projection point in the following manner: Formula 6: Obtaining predicted texture coordinates of vertices to be coded based on JPEG2025510869000070.jpg14161; Where: JPEG2025510869000071.jpg5161 is the predicted texture coordinate of the vertex C to be coded, JPEG2025510869000072.jpg6161, JPEG2025510869000073.jpg6161 are the texture coordinates of a first vertex O corresponding to the first edge of the target triangle, The image is JPEG2025510869000074.jpg7161.
[0052] It is to be noted that based on the above process, a predicted texture coordinate of a point to be coded can be obtained, and coding for the point to be coded can be realized based on the predicted texture coordinate; optionally, after coding a point to be coded based on an edge in an edge set, the coding side adds a second edge in the target triangle to the edge set and deletes the first edge from the edge set, where the second edge is an edge that is not included in the edge set in the target triangle, thereby realizing the update of the edge set.
[0053] It should be noted that in the embodiment of the present application, the residuals of the vertices to be coded may be obtained and coded at the same time, or all the residuals may be obtained first and then coded uniformly.
[0054] To summarize the above, in the embodiment of the present application, the specific implementation process of texture coordinate (hereinafter referred to as UV coordinate) coding is as follows:
[0055] Step S1: select an initial triangle from the reconstructed connectivity, directly code the UV coordinates of the three vertices of the initial triangle without prediction, and add the edges of the initial triangle into an edge set.
[0056] Step S2: select an edge τ from the edge set according to the access rule, and code the UV coordinates of the opposite vertices of the new triangle formed by selecting an edge τ together with τ. Using the 3D to 2D projection relationship of the triangle, calculate the predicted UV coordinates of the point to be coded based on the above method. For a special degenerate triangle, obtain a target identifier, and subtract the predicted UV coordinates from the original value of the UV coordinates of the point to be coded (i.e., the true UV coordinates, i.e., the UV coordinates obtained directly based on the target 3D grid) to obtain a residual.
[0057] Step S3, add two edges of the new triangle to the edge set, remove edge τ at the vertex of the edge set, and take the next edge from the edge set, continue to code the predicted UV coordinates of the opposite vertex adjacent to the triangle of this edge, obtain the residual, return to step S3, and cyclically execute step S3 until the residuals of all vertices are obtained.
[0058] In step S4, the UV coordinate residual and the target identifier are entropy coded to output a UV coordinate code stream.
[0059] The video-based 3D grid UV coordinate coding framework of the embodiment of this application is shown in FIG. 3, and the entire coding flow is as follows:
[0060] When the geometric information and connection relationships of the 3D grid have both been coded, the UV coordinates can be coded using the reconstructed geometric information and connection relationships. First, a triangle is selected as an initial triangle and its coordinate values are directly coded. According to the already coded UV coordinates of the initial triangle and the texture projection relationship, the UV coordinate values of the uncoded vertices of the triangle adjacent to the selected initial side are predicted. The difference between the true UV coordinates of the vertex to be coded and the predicted coordinate values is coded. A new side is selected from the newly coded triangle to code the uncoded vertices of the adjacent triangle. This process is continuously repeated to complete coding for the entire 3D grid UV coordinates.
[0061] It should be noted that the embodiments of the present application provide a new method for predicting the UV coordinates of a vertex, which predicts the texture coordinates of a vertex by combining the 3D and 2D information of the vertex, making the predicted result closer to the true result of the vertex, improving the prediction accuracy, and further improving the coding efficiency of the texture coordinates.
[0062] For the coding method according to the embodiment of the present application, the execution body may be a coding device. In the embodiment of the present application, the coding device executes the coding method as an example, and the coding device according to the embodiment of the present application will be described.
[0063] As shown in FIG. 4, an embodiment of the present application provides a coding device 400, which includes: A reconstruction module 401 for reconstructing the geometric information and connection relationship of the target three-dimensional grid according to the coding result of the geometric information and connection relationship of the target three-dimensional grid; and a coding module 402 for coding texture coordinates of vertices in the target 3D grid based on the reconstructed geometry and connectivity.
[0064] Optionally, the coding module 402: A first determination unit for determining a target triangle based on the reconstructed connection relationship, the target triangle being composed of a first side and a vertex to be coded; a first obtaining unit, for performing texture coordinate prediction on a vertex to be coded according to the reconstructed geometric information corresponding to three vertices of the target triangle and the true texture coordinates of the vertices on the first side, to obtain predicted texture coordinates of the vertex to be coded; a coding unit for coding the texture coordinates of the vertices to be coded based on the difference between the true texture coordinates of the vertices to be coded and the predicted texture coordinates.
[0065] Optionally, the first acquisition unit comprises: Obtaining texture coordinates of predicted projected points on the first side of the vertex to be coded based on the reconstructed geometric information corresponding to each vertex of the target triangle and the true texture coordinates of the vertices on the first side; Obtaining a judgment result as to whether a first triangle constituted by the first side and a first vertex corresponding to the first side is a degenerate triangle, the first vertex being an opposite vertex to a first side of the first triangle, and the first triangle and the target triangle having a common first side; and obtaining predicted texture coordinates of the vertex to be coded based on the judgment result and the texture coordinates of the predicted projection point.
[0066] Optionally, obtaining texture coordinates of predicted projected points on the first side of the vertex to be coded based on the reconstructed geometric information corresponding to each vertex of the target triangle and the true texture coordinates of the vertices on the first side includes: JPEG2025510869000075.jpg6161 and JPEG2025510869000076.jpg5161 to obtain the texture coordinates of the predicted projected point on the first edge of the vertex to be coded based on the sum value; or JPEG2025510869000077.jpg5161 and obtaining texture coordinates of a predicted projected point on a first edge of the vertex to be coded based on a difference value from JPEG2025510869000078.jpg6161; where A is the vertex N on the first side of the target triangle; JPEG2025510869000079.jpg6161 is the vector from vertex N on the first edge of the target triangle to the texture coordinates of the predicted projected point X on the first edge of the vertex C to be coded; JPEG2025510869000080.jpg5161 are the true texture coordinates of vertex N on the first edge of the target triangle, JPEG2025510869000081.jpg6161 is a vector from the predicted projection point X on the first side of the vertex C to be coded to the texture coordinates of the vertex N on the first side of the target triangle, A is a vertex P on the first side of the target triangle, JPEG2025510869000082.jpg6161 is a vector from a vertex P on the first edge of the target triangle to the texture coordinates of a predicted projected point X on the first edge of the vertex C to be coded; JPEG2025510869000083.jpg5161 are the true texture coordinates of vertex P on the first edge of the target triangle, JPEG2025510869000084.jpg6161 is the vector from the predicted projection point X on the first side of the vertex C to be coded to the texture coordinates of vertex P on the first side of the target triangle.
[0067] Optionally, the method of obtaining the predicted texture coordinates of the vertex to be coded based on the judgment result and the texture coordinates of the predicted projection point may include: if the determination result indicates that the first triangle is a degenerate triangle, TIFF2025510869000085.tif5161, JPEG2025510869000086.jpg6161 and JPEG2025510869000087.jpg6161 and obtaining predicted texture coordinates of the vertices to be coded based on a magnitude relationship with JPEG2025510869000088.jpg6161; Where: TIFF2025510869000089.tif5161 is the predicted texture coordinates of the predicted projected point X on the first edge of the vertex C to be coded; JPEG2025510869000090.jpg6161 is a predicted vector from the predicted projection point X on the first edge of the vertex C to be coded to the texture coordinates of the vertex C to be coded, JPEG2025510869000091.jpg6161 is the predicted point JPEG2025510869000092.jpg5161 and the texture coordinates of the vertex C to be coded. JPEG2025510869000093.jpg6161 is the predicted point JPEG2025510869000094.jpg6161 and the texture coordinates of the vertex C to be coded.
[0068] Optionally, the apparatus further comprises: a first acquisition module for acquiring a target identifier, the target identifier being JPEG2025510869000095.jpg7161 and A first acquisition module is used to identify the size relationship with JPEG2025510869000096.jpg6161; and an entropy coding module for performing entropy coding on the target identifier.
[0069] Optionally, the method of obtaining the predicted texture coordinates of the vertex to be coded based on the judgment result and the texture coordinates of the predicted projection point may include: if the determination indicates that the first triangle is not a degenerate triangle, TIFF2025510869000097.tif6161, JPEG2025510869000098.jpg6161 and JPEG2025510869000099.jpg7161 and obtaining predicted texture coordinates of the vertices to be coded based on a magnitude relationship with JPEG2025510869000100.jpg7161; Where: JPEG2025510869000101.jpg6161 is the predicted texture coordinate of the predicted projected point X on the first edge of the vertex C to be coded; JPEG2025510869000102.jpg6161 is a predicted vector from the predicted projection point X on the first edge of the vertex C to be coded to the texture coordinates of the vertex C to be coded, JPEG2025510869000103.jpg6161 is the predicted point a vector between JPEG2025510869000104.jpg6161 and the texture coordinates of a first vertex O corresponding to the first edge, JPEG2025510869000105.jpg6161 is the predicted point JPEG2025510869000106.jpg5161 and the texture coordinates of the first vertex O corresponding to the first edge.
[0070] Optionally, the first determining unit: selecting a first edge from an edge set, the edge set being a set of edges of triangles constructed by the reconstructed connectivity; and determining a target triangle based on the first edge.
[0071] Optionally, before the first determining unit selects a first edge from an edge set, the coding module: a first selection unit for selecting an initial triangle based on the reconstructed connectivity; a first processing unit for coding texture coordinates of three vertices of the initial triangle and adding three edges of the initial triangle to an edge set.
[0072] Optionally, the first processing unit comprises: Directly coding the texture coordinates of the first vertex of the initial triangle; A texture coordinate of a second vertex of the initial triangle is obtained by predicting an edge using the texture coordinate of a first vertex, and a texture coordinate of a third vertex of the initial triangle is obtained using a method of predicting and coding a similar triangle; It is used to code the texture coordinates of the second and third vertices of the initial triangle.
[0073] Optionally, after the coding unit performs coding of the texture coordinates of the vertex to be coded based on the difference value between the true texture coordinates of the vertex to be coded and the predicted texture coordinates, the coding module 402: Further comprising a second processing unit for adding a second edge in the target triangle to the edge set and deleting the first edge from the edge set, the second edge being an edge in the target triangle that is not included in the edge set.
[0074] The embodiment of this device corresponds to the embodiment of the coding method, and the implementation processes and realization manners of the embodiment of the method can all be applied to the embodiment of this device, and the same technical effects can be achieved.
[0075] An embodiment of the present application further provides a coding device, the device including a processor and a communication interface, where the processor: Based on the coding result of the geometric information and connection relationships of the target 3D grid, the geometric information and connection relationships of the target 3D grid are reconstructed, and the texture coordinates of the vertices in the target 3D grid are coded based on the reconstructed geometric information and connection relationships.
[0076] Optionally, the processor: determining a target triangle based on the reconstructed connectivity, the target triangle being composed of a first edge and a vertex to be coded; According to the reconstructed geometric information corresponding to the three vertices of the target triangle and the true texture coordinates of the vertices on the first side, perform texture coordinate prediction for the vertex to be coded to obtain predicted texture coordinates of the vertex to be coded; The coding method is used to code the texture coordinates of the vertices to be coded based on the difference between the true texture coordinates of the vertices to be coded and the predicted texture coordinates.
[0077] Optionally, the processor: Obtaining texture coordinates of predicted projected points on the first side of the vertex to be coded based on the reconstructed geometric information corresponding to each vertex of the target triangle and the true texture coordinates of the vertices on the first side; Obtaining a judgment result as to whether a first triangle constituted by the first side and a first vertex corresponding to the first side is a degenerate triangle, the first vertex being an opposite vertex to a first side of the first triangle, and the first triangle and the target triangle having a common first side; and obtaining predicted texture coordinates of the vertex to be coded based on the judgment result and the texture coordinates of the predicted projection point.
[0078] Optionally, the processor: JPEG2025510869000107.jpg6161 and Obtaining the texture coordinates of the predicted projected point on the first edge of the vertex to be coded based on the sum value of JPEG2025510869000108.jpg5161; or JPEG2025510869000109.jpg5161 and to obtain texture coordinates of a predicted projected point on a first edge of the vertex to be coded based on a difference value between the vertex and JPEG2025510869000110.jpg6161; where A is the vertex N on the first side of the target triangle; JPEG2025510869000111.jpg6161 is the vector from vertex N on the first edge of the target triangle to the texture coordinates of the predicted projected point X on the first edge of the vertex C to be coded; JPEG2025510869000112.jpg5161 are the true texture coordinates of vertex N on the first edge of the target triangle, JPEG2025510869000113.jpg6161 is a vector from the predicted projection point X on the first side of the vertex C to be coded to the texture coordinates of the vertex N on the first side of the target triangle, A is a vertex P on the first side of the target triangle, JPEG2025510869000114.jpg6161 is the vector from the vertex P on the first side of the target triangle to the texture coordinates of the predicted projected point X on the first side of the vertex C to be coded; JPEG2025510869000115.jpg6161 are the true texture coordinates of vertex P on the first edge of the target triangle, JPEG2025510869000116.jpg6161 is the vector from the predicted projection point X on the first side of the vertex C to be coded to the texture coordinates of vertex P on the first side of the target triangle.
[0079] Optionally, the processor: if the determination result indicates that the first triangle is a degenerate triangle, JPEG2025510869000117.jpg6161, JPEG2025510869000118.jpg6161 and JPEG2025510869000119.jpg6161 and JPEG2025510869000120.jpg6161 is used to obtain predicted texture coordinates of the vertices to be coded based on the magnitude relationship with JPEG2025510869000120.jpg6161, Where: JPEG2025510869000121.jpg5161 is the predicted texture coordinate of the predicted projected point X on the first edge of the vertex C to be coded; JPEG2025510869000122.jpg6161 is a predicted vector from the predicted projection point X on the first edge of the vertex C to be coded to the texture coordinates of the vertex C to be coded; JPEG2025510869000123.jpg6161 is the predicted point JPEG2025510869000124.jpg6161 and the texture coordinates of the vertex C to be coded. JPEG2025510869000125.jpg6161 is the predicted point JPEG2025510869000126.jpg5161 and the texture coordinates of the vertex C to be coded.
[0080] Optionally, the processor further comprises: obtaining a target identifier, said target identifier being JPEG2025510869000127.jpg6161 and It is used to distinguish the size relationship with JPEG2025510869000128.jpg6161, and performing entropy coding on the target identifier.
[0081] Optionally, the processor: if the determination indicates that the first triangle is not a degenerate triangle, JPEG2025510869000129.jpg5161, JPEG2025510869000130.jpg6161 and JPEG2025510869000131.jpg7161 and JPEG2025510869000132.jpg7161 is used to obtain predicted texture coordinates of the vertices to be coded based on the magnitude relationship with JPEG2025510869000132.jpg7161; Where: JPEG2025510869000133.jpg5161 is the predicted texture coordinate of the predicted projected point X on the first edge of the vertex C to be coded; JPEG2025510869000134.jpg6161 is a predicted vector from the predicted projection point X on the first edge of the vertex C to be coded to the texture coordinates of the vertex C to be coded, JPEG2025510869000135.jpg6161 is the predicted point JPEG2025510869000136.jpg6161 and the texture coordinates of a first vertex O corresponding to the first edge, JPEG2025510869000137.jpg6161 is the predicted point JPEG2025510869000138.jpg5161 and the texture coordinates of the first vertex O corresponding to the first edge.
[0082] Optionally, the processor further comprises: selecting a first edge from an edge set, the edge set being a set of edges of triangles constructed by the reconstructed connectivity; and determining a target triangle based on the first edge.
[0083] Optionally, the processor further comprises: Based on the reconstructed connectivity, choose an initial triangle, It is used to code the texture coordinates of the three vertices of the initial triangle, and to add the three edges of the initial triangle to an edge set.
[0084] Optionally, the processor: Directly coding the texture coordinates of the first vertex of the initial triangle; A texture coordinate of a second vertex of the initial triangle is obtained by predicting an edge using the texture coordinate of a first vertex, and a texture coordinate of a third vertex of the initial triangle is obtained using a method of predicting and coding a similar triangle; It is used to code the texture coordinates of the second and third vertices of the initial triangle.
[0085] Optionally, the processor further comprises: A second edge in the target triangle is used to add to the edge set and remove the first edge from the edge set, the second edge being an edge in the target triangle that is not included in the edge set.
[0086] Specifically, an embodiment of the present application further provides a coding device, and as shown in Fig. 5, the coding device 500 includes a processor 501, a network interface 502 and a memory 503. Here, the network interface 502 is, for example, a Common Public Radio Interface (CPRI).
[0087] Specifically, the coding device 500 of the embodiment of the present application further includes instructions or programs stored in the memory 503 and capable of running on the processor 501, and the processor 501 calls the instructions or programs in the memory 503 to execute the method performed by each module shown in FIG. 4, and achieves the same technical effect, which will not be described further here in order to avoid repetition.
[0088] As shown in FIG. 6 , an embodiment of the present application further provides a decoding method, which includes: Step 601: a decoding side decodes a code stream of a target 3D grid to obtain geometric information and connection relationship of the target 3D grid; Step 602 includes the decoding side decoding and obtaining texture coordinates of vertices in the target 3D grid based on the geometric information and connection relationships.
[0089] Optionally, the decoding side decodes and obtains texture coordinates of vertices in a target 3D grid based on the geometric information and the connection relationship, The decoding side determines a target triangle based on the connection relationship, and the target triangle is composed of a first edge and a vertex to be decoded; The decoding side performs texture coordinate prediction for a vertex to be decoded according to geometric information corresponding to three vertices of the target triangle and true texture coordinates of the vertices on the first side, to obtain predicted texture coordinates of the vertex to be decoded; The decoding side decodes and obtains true texture coordinates of the vertex to be decoded based on a difference value obtained by decoding the vertex to be decoded and the predicted texture coordinates of the vertex to be decoded.
[0090] It should be noted that by decoding the UV coordinate code stream, the difference value (i.e., residual) of each vertex can be obtained, and the true UV coordinates can be obtained by adopting a method for obtaining the residual corresponding to the coding side. For example, the coding side obtains the residual by using a method of subtracting the predicted UV coordinates from the true UV coordinates, and the decoding side obtains the true UV coordinates of the vertex by adding this residual to the predicted UV coordinates of the vertex, and the coding side obtains the residual by using a method of subtracting the true UV coordinates from the predicted UV coordinates, and the decoding side obtains the residual by subtracting the true UV coordinates from the predicted UV coordinates, and the decoding side obtains the true UV coordinates of the vertex by subtracting this residual from the predicted UV coordinates of the vertex.
[0091] Alternatively, the predicted texture coordinates of the vertices to be decoded are The decoding side obtains texture coordinates of predicted projected points on the first side of the vertices to be decoded according to geometric information corresponding to each vertex of the target triangle and true texture coordinates of the vertices on the first side; The decoding side obtains a judgment result of whether a first triangle formed by the first edge and a first vertex corresponding to the first edge is a degenerate triangle, the first vertex being an opposite vertex to the first edge of the first triangle, and the first triangle and the target triangle have a common first edge; The decoding side obtains predicted texture coordinates of the vertex to be decoded based on the determination result and the texture coordinates of the predicted projection point.
[0092] Optionally, the decoding side obtains texture coordinates of predicted projected points on the first side of the vertices to be decoded based on the geometric information corresponding to each vertex of the target triangle and the true texture coordinates of the vertices on the first side, The decoding side JPEG2025510869000139.jpg7161 and Obtaining the texture coordinates of the predicted projected point on the first edge of the vertex to be decoded based on the sum value of JPEG2025510869000140.jpg5161; or JPEG2025510869000141.jpg5161 and obtaining texture coordinates of a predicted projected point on a first edge of the vertex to be decoded based on a difference value with JPEG2025510869000142.jpg6161; where A is the vertex N on the first side of the target triangle; JPEG2025510869000143.jpg6161 is a vector from vertex N on the first edge of the target triangle to the predicted texture coordinates of predicted projected point X on the first edge of vertex C to be decoded; JPEG2025510869000144.jpg5161 are the true texture coordinates of vertex N on the first edge of the target triangle, JPEG2025510869000145.jpg6161 is a vector from the predicted projection point X on the first side of the vertex C to be decoded to the texture coordinates of the vertex N on the first side of the target triangle, A is a vertex P on the first side of the target triangle, JPEG2025510869000146.jpg6161 is a vector from a vertex P on the first edge of the target triangle to the predicted texture coordinates of a predicted projected point X on the first edge of the vertex C to be decoded; JPEG2025510869000147.jpg5161 are the true texture coordinates of vertex P on the first edge of the target triangle, JPEG2025510869000148.jpg6161 is the vector from the predicted projection point X on the first side of the vertex C to be decoded to the texture coordinates of vertex P on the first side of the target triangle.
[0093] Optionally, the manner in which the decoding side obtains the texture coordinates of the predicted projection point on the first side of the vertex to be decoded is the same as the manner in which the coding side obtains the texture coordinates of the predicted projection point on the first side of the corresponding vertex to be decoded, and will not be described further here.
[0094] Optionally, the decoding side obtains predicted texture coordinates of the vertex to be decoded based on the determination result and the texture coordinates of the predicted projection point, The decoding side decodes and obtains a target identifier when the determination result indicates that the first triangle is a degenerate triangle, and the target identifier is JPEG2025510869000149.jpg7161 and It is used to distinguish the size relationship with JPEG2025510869000150.jpg7161, The decoding side obtains predicted texture coordinates of the vertices to be decoded based on the target identifier and the texture coordinates of the predicted projection points; Where: JPEG2025510869000151.jpg6161 is the predicted point JPEG2025510869000152.jpg5161 and the texture coordinates of the vertex C to be decoded. JPEG2025510869000153.jpg6161 is the predicted point JPEG2025510869000154.jpg5161 and the texture coordinates of the vertex C to be decoded.
[0095] Optionally, the decoding side obtains the predicted texture coordinates of the vertices to be decoded based on the target identifier and the texture coordinates of the predicted projection point, The decoding side JPEG2025510869000155.jpg6161, JPEG2025510869000156.jpg6161 and JPEG2025510869000157.jpg6161 and obtaining predicted texture coordinates of the vertices to be decoded based on a magnitude relationship with JPEG2025510869000158.jpg6161; Where: JPEG2025510869000159.jpg5161 is the predicted texture coordinate of the predicted projected point X on the first edge of the vertex C to be decoded; JPEG2025510869000160.jpg6161 is a predicted vector from the predicted projected point X on the first edge of the vertex C to be decoded to the texture coordinates of the vertex C to be decoded.
[0096] Optionally, the decoding side obtains predicted texture coordinates of the vertex to be decoded based on the determination result and the texture coordinates of the predicted projection point, If the decoding side determines that the determination result indicates that the first triangle is not a degenerate triangle, JPEG2025510869000161.jpg6161, JPEG2025510869000162.jpg6161 and JPEG2025510869000163.jpg7161 and obtaining predicted texture coordinates of the vertices to be decoded based on a magnitude relationship with JPEG2025510869000164.jpg7161; Where: TIFF2025510869000165.tif5161 is the predicted texture coordinates of the predicted projection point X on the first edge of the vertex C to be decoded; JPEG2025510869000166.jpg6161 is a predicted vector from the predicted projection point X on the first edge of the vertex C to be decoded to the texture coordinates of the vertex C to be decoded, JPEG2025510869000167.jpg6161 is the predicted point JPEG2025510869000168.jpg5161 and the texture coordinates of a first vertex O corresponding to the first edge, JPEG2025510869000169.jpg6161 is the predicted point JPEG2025510869000170.jpg5161 and the texture coordinates of the first vertex O corresponding to the first edge.
[0097] Alternatively, the method by which the decoding side obtains predicted texture coordinates of the vertices to be decoded is the same as the method by which the coding side obtains predicted texture coordinates of the corresponding vertices to be coded, and will not be described further here.
[0098] Optionally, the decoding side determines a target triangle based on the connection relationship, the decoding side selecting a first edge from an edge set, the edge set being a set of edges of triangles constructed by the reconstructed connectivity; The decoding side determines a target triangle based on the first edge.
[0099] Optionally, before the decoding party selects a first edge from the edge set, The decoding side selects an initial triangle based on the connection relationship; The decoding side further includes decoding texture coordinates of three vertices of the initial triangle, and adding three edges of the initial triangle to an edge set.
[0100] Alternatively, the decoding side decodes and obtains true texture coordinates of the vertex to be decoded based on a difference value obtained by decoding the vertex to be decoded and a predicted texture coordinate of the vertex to be decoded, and then The decoding side further includes adding a second edge in the target triangle to the edge set and removing the first edge from the edge set, the second edge being an edge in the target triangle that is not included in the edge set.
[0101] It should be noted that the embodiment of the present application is a reverse process of coding, and the decoding block diagram is as shown in FIG. 7, that is, the UV coordinate decoding process first decodes the geometric information and connection relationship, then decodes the code stream based on the geometric information and connection relationship to obtain the residual, and then obtains the predicted UV coordinates, and finally uses the residual and the predicted UV coordinates to obtain the true UV coordinates, thereby realizing the decoding of the UV coordinates. In the embodiment of the present application, the method of predicting the UV coordinates may refer to the description of the coding side, and will not be further described here.
[0102] To summarize the above, in the embodiment of the present application, the specific implementation process of UV coordinate decoding is as follows:
[0103] Step SP1: entropy decoding the UV coordinate code stream.
[0104] Step SP2: Decode the UV coordinates of the three vertices of the initial triangle. No prediction is calculated here. The initial triangle directly codes its UV coordinates, and adds the three edges of the initial triangle to the edge set, instead of coding the residual.
[0105] Step SP3: select an edge τ from the edge set according to the access criterion, and decode the UV coordinates of the opposite vertices of the new triangle formed by the edge τ. First, use the 3D-to-2D mapping relationship of the triangle to calculate the UV coordinate prediction value of the point to be decoded using a calculation method corresponding to the coding side, and then add the prediction value and the entropy decoding residual to obtain the reconstructed UV coordinates.
[0106] In step SP4, add the two edges of the new triangle to the edge set, remove the edge τ at the apex of the set, take the next edge from the edge set, continue decoding the UV coordinates of the opposite vertex adjacent to the triangle of this edge, and return to step SP4, continuing until decoding the UV coordinates of all vertices is completed.
[0107] It should be noted that the embodiments of the present application are embodiments of the counterpart method corresponding to the above coding method embodiments, and the decoding process is the inverse process of the coding process, and all the implementation methods of the above coding side can be applied to this decoding side embodiment and can achieve the same technical effects, which will not be described further here.
[0108] As shown in FIG. 8 , an embodiment of the present application further provides a decoding device 800, which includes: A second acquisition module 801 for decoding the code stream of the acquired target 3D grid to acquire the geometric information and connection relationship of the target 3D grid; and a decoding module 802 for decoding and obtaining texture coordinates of vertices in the target 3D grid based on the geometric information and the connectivity relationships.
[0109] Optionally, the decoding module 802 includes: A second determination unit for determining a target triangle based on the connection relationship, the target triangle being composed of a first edge and a vertex to be decoded; a second obtaining unit, for performing texture coordinate prediction for a vertex to be decoded according to geometric information corresponding to three vertices of the target triangle and true texture coordinates of the vertices on the first side, to obtain predicted texture coordinates of the vertex to be decoded; The decoding side includes a decoding unit for decoding and obtaining true texture coordinates of the vertex to be decoded based on a difference value obtained by decoding the vertex to be decoded and a predicted texture coordinate of the vertex to be decoded.
[0110] Optionally, the second acquisition unit: Obtaining texture coordinates of predicted projected points on the first side of the vertices to be decoded based on geometric information corresponding to each vertex of the target triangle and true texture coordinates of the vertices on the first side; Obtaining a judgment result as to whether a first triangle constituted by the first side and a first vertex corresponding to the first side is a degenerate triangle, the first vertex being an opposite vertex to a first side of the first triangle, and the first triangle and the target triangle having a common first side; and obtaining predicted texture coordinates of the vertex to be decoded based on the judgment result and the texture coordinates of the predicted projection point.
[0111] Optionally, the implementation of obtaining the texture coordinates of the predicted projected points on the first side of the vertex to be decoded according to the geometric information corresponding to each vertex of the target triangle and the true texture coordinates of the vertices on the first side includes: JPEG2025510869000171.jpg6161 and Obtaining the texture coordinates of the predicted projected point on the first edge of the vertex to be decoded based on the sum value with JPEG2025510869000172.jpg5161; or JPEG2025510869000173.jpg5161 and obtaining texture coordinates of a predicted projected point on a first edge of the vertex to be decoded based on a difference value from JPEG2025510869000174.jpg6161; where A is the vertex N on the first side of the target triangle; JPEG2025510869000175.jpg6161 is a vector from vertex N on the first edge of the target triangle to the predicted texture coordinates of predicted projected point X on the first edge of vertex C to be decoded; JPEG2025510869000176.jpg5161 are the true texture coordinates of vertex N on the first edge of the target triangle, JPEG2025510869000177.jpg6161 is a vector from the predicted projection point X on the first side of the vertex C to be decoded to the texture coordinates of the vertex N on the first side of the target triangle, A is a vertex P on the first side of the target triangle, JPEG2025510869000178.jpg6161 is a vector from a vertex P on the first edge of the target triangle to the predicted texture coordinates of a predicted projected point X on the first edge of the vertex C to be decoded; JPEG2025510869000179.jpg5161 are the true texture coordinates of vertex P on the first edge of the target triangle, JPEG2025510869000180.jpg6161 is the vector from the predicted projection point X on the first side of the vertex C to be decoded to the texture coordinates of vertex P on the first side of the target triangle.
[0112] Alternatively, a method of obtaining the predicted texture coordinates of the vertex to be decoded based on the judgment result and the texture coordinates of the predicted projection point may include: and when the determination result indicates that the first triangle is a degenerate triangle, decoding a target identifier to obtain the target identifier, JPEG2025510869000181.jpg6161 and It is used to distinguish the size relationship with JPEG2025510869000182.jpg6161, obtaining predicted texture coordinates of the vertices to be decoded based on the target identifier and the texture coordinates of the predicted projection points; Where: JPEG2025510869000183.jpg6161 is the predicted point JPEG2025510869000184.jpg5161 and the texture coordinates of the vertex C to be decoded. JPEG2025510869000185.jpg6161 is the predicted point JPEG2025510869000186.jpg6161 and the texture coordinates of the vertex C to be coded.
[0113] Optionally, the implementation of obtaining the predicted texture coordinates of the vertex to be decoded based on the target identifier and the texture coordinates of the predicted projection point includes: JPEG2025510869000187.jpg5161, JPEG2025510869000188.jpg6161 and JPEG2025510869000189.jpg6161 and obtaining predicted texture coordinates of the vertices to be decoded based on a magnitude relationship with JPEG2025510869000190.jpg6161; Where: JPEG2025510869000191.jpg5161 is the predicted texture coordinate of the predicted projected point X on the first edge of the vertex C to be decoded; JPEG2025510869000192.jpg6161 is a predicted vector from the predicted projected point X on the first edge of the vertex C to be decoded to the texture coordinates of the vertex C to be decoded.
[0114] Alternatively, a method of obtaining the predicted texture coordinates of the vertex to be decoded based on the judgment result and the texture coordinates of the predicted projection point may include: if the determination indicates that the first triangle is not a degenerate triangle, JPEG2025510869000193.jpg5161, JPEG2025510869000194.jpg6161 and JPEG2025510869000195.jpg6161 and obtaining predicted texture coordinates of the vertices to be decoded based on a magnitude relationship with JPEG2025510869000196.jpg6161; Where: JPEG2025510869000197.jpg5161 is the predicted texture coordinate of the predicted projected point X on the first edge of the vertex C to be decoded; JPEG2025510869000198.jpg6161 is a predicted vector from the predicted projection point X on the first edge of the vertex C to be decoded to the texture coordinates of the vertex C to be decoded, JPEG2025510869000199.jpg6161 is the predicted point JPEG2025510869000200.jpg5161 and the texture coordinates of a first vertex O corresponding to the first edge, JPEG2025510869000201.jpg6161 is the predicted point JPEG2025510869000202.jpg5161 and the texture coordinates of the first vertex O corresponding to the first edge.
[0115] Optionally, the second determining unit: selecting a first edge from an edge set, the edge set being a set of edges of triangles constructed by the reconstructed connectivity; and determining a target triangle based on the first edge.
[0116] Optionally, before the second determining unit selects a first edge from the edge set, the decoding module: a second selection unit for selecting an initial triangle based on the connection relationship; and a third processing unit for decoding texture coordinates of three vertices of the initial triangle and adding three edges of the initial triangle to an edge set.
[0117] Optionally, after the decoding unit decodes and obtains true texture coordinates of the vertex to be decoded according to a difference value obtained by decoding the vertex to be decoded and a predicted texture coordinate of the vertex to be decoded, the decoding module: Further comprising a fourth processing unit for adding a second edge in the target triangle to the edge set and deleting the first edge from the edge set, the second edge being an edge in the target triangle that is not included in the edge set.
[0118] It should be noted that the embodiment of this apparatus is an apparatus corresponding to the above method, and all the implementation methods in the embodiment of the above method can be applied to the embodiment of this apparatus and can achieve the same technical effects, and will not be further described here.
[0119] Preferably, the embodiments of the present application further provide a decoding device, which includes a processor, a memory, and a program or instruction stored on the memory and capable of running on the processor, which, when executed by the processor, can realize each process of the above-mentioned decoding method embodiments and achieve the same technical effect, and will not be described further here in order to avoid repetition of description.
[0120] An embodiment of the present application further provides a computer-readable storage medium, which stores a program or instruction, and when the program or instruction is executed by a processor, it can realize each process of the above-mentioned decoding method embodiment and achieve the same technical effect, and will not be described further here in order to avoid repetition of description.
[0121] Here, the computer-readable storage medium includes, for example, a read-only memory (abbreviated as ROM), a random access memory (abbreviated as RAM), a magnetic disk, or an optical disk.
[0122] An embodiment of the present application further provides a decoding device, which includes a processor and a communication interface, where the processor is used for decoding a code stream of a target 3D grid to obtain geometric information and connection relationships of the target 3D grid, and for decoding and obtaining texture coordinates of vertices in the target 3D grid based on the geometric information and connection relationships.
[0123] Optionally, the processor: determining a target triangle based on the connection relationship, the target triangle being composed of a first edge and a vertex to be decoded; According to the geometric information corresponding to the three vertices of the target triangle and the true texture coordinates of the vertices on the first side, perform texture coordinate prediction for the vertices to be decoded to obtain predicted texture coordinates of the vertices to be decoded; and decoding and obtaining true texture coordinates of the vertex to be decoded based on a difference value obtained by decoding the vertex to be decoded and the predicted texture coordinates of the vertex to be decoded.
[0124] Optionally, the processor: Obtaining texture coordinates of predicted projected points on the first side of the vertices to be decoded based on geometric information corresponding to each vertex of the target triangle and true texture coordinates of the vertices on the first side; Obtaining a judgment result as to whether a first triangle constituted by the first side and a first vertex corresponding to the first side is a degenerate triangle, the first vertex being an opposite vertex to a first side of the first triangle, and the first triangle and the target triangle having a common first side; and obtaining predicted texture coordinates of the vertex to be decoded based on the judgment result and the texture coordinates of the predicted projection point.
[0125] Optionally, the processor: JPEG2025510869000203.jpg6161 and Obtaining the texture coordinates of the predicted projected point on the first edge of the vertex to be decoded based on the sum value of JPEG2025510869000204.jpg5161; or JPEG2025510869000205.jpg5161 and to obtain texture coordinates of a predicted projected point on a first edge of the vertex to be decoded based on a difference value between the vertex and JPEG2025510869000206.jpg6161; where A is the vertex N on the first side of the target triangle; JPEG2025510869000207.jpg6161 is a vector from vertex N on the first edge of the target triangle to the predicted texture coordinates of predicted projected point X on the first edge of vertex C to be decoded; JPEG2025510869000208.jpg5161 are the true texture coordinates of vertex N on the first edge of the target triangle, JPEG2025510869000209.jpg6161 is a vector from the predicted projection point X on the first side of the vertex C to be decoded to the texture coordinates of the vertex N on the first side of the target triangle, A is a vertex P on the first side of the target triangle, JPEG2025510869000210.jpg6161 is a vector from a vertex P on the first edge of the target triangle to the predicted texture coordinates of a predicted projected point X on the first edge of the vertex C to be decoded; JPEG2025510869000211.jpg5161 are the true texture coordinates of vertex P on the first edge of the target triangle, JPEG2025510869000212.jpg6161 is the vector from the predicted projection point X on the first side of the vertex C to be decoded to the texture coordinates of vertex P on the first side of the target triangle.
[0126] Optionally, the processor: and when the determination result indicates that the first triangle is a degenerate triangle, decoding a target identifier to obtain the target identifier, JPEG2025510869000213.jpg6161 and It is used to distinguish the size relationship with JPEG2025510869000214.jpg6161, obtaining predicted texture coordinates of the vertices to be decoded based on the target identifier and the texture coordinates of the predicted projection points; Where: JPEG2025510869000215.jpg6161 is the predicted point JPEG2025510869000216.jpg5161 and the texture coordinates of the vertex C to be decoded. JPEG2025510869000217.jpg6161 is the predicted point JPEG2025510869000218.jpg5161 and the texture coordinates of the vertex C to be decoded.
[0127] Optionally, the processor: JPEG2025510869000219.jpg5161, JPEG2025510869000220.jpg6161 and JPEG2025510869000221.jpg6161 and JPEG2025510869000222.jpg6161 is used to obtain predicted texture coordinates of the vertices to be decoded based on the magnitude relationship with JPEG2025510869000222.jpg6161, Where: JPEG2025510869000223.jpg5161 is the predicted texture coordinate of the predicted projected point X on the first edge of the vertex C to be decoded; JPEG2025510869000224.jpg6161 is a predicted vector from the predicted projected point X on the first edge of the vertex C to be decoded to the texture coordinates of the vertex C to be decoded.
[0128] Optionally, the processor: if the determination indicates that the first triangle is not a degenerate triangle, JPEG2025510869000225.jpg5161, JPEG2025510869000226.jpg6161 and JPEG2025510869000227.jpg6161 and JPEG2025510869000228.jpg6161 is used to obtain predicted texture coordinates of the vertices to be decoded based on the magnitude relationship with JPEG2025510869000228.jpg6161, Where: JPEG2025510869000229.jpg5161 is the predicted texture coordinate of the predicted projected point X on the first edge of the vertex C to be decoded; JPEG2025510869000230.jpg6161 is a predicted vector from the predicted projection point X on the first edge of the vertex C to be decoded to the texture coordinates of the vertex C to be decoded, JPEG2025510869000231.jpg6161 is the predicted point JPEG2025510869000232.jpg5161 and the texture coordinates of a first vertex O corresponding to the first edge, JPEG2025510869000233.jpg6161 is the predicted point JPEG2025510869000234.jpg5161 and the texture coordinates of the first vertex O corresponding to the first edge.
[0129] Optionally, the processor: selecting a first edge from an edge set, the edge set being a set of edges of triangles constructed by the reconstructed connectivity; and determining a target triangle based on the first edge.
[0130] Optionally, the processor further comprises: Select an initial triangle based on the connection relationship; The texture coordinates of the three vertices of the initial triangle are decoded and used to add the three edges of the initial triangle to an edge set.
[0131] Optionally, the processor further comprises: A second edge in the target triangle is used to add to the edge set and remove the first edge from the edge set, the second edge being an edge in the target triangle that is not included in the edge set.
[0132] This embodiment of the decoding device is an embodiment corresponding to the above-mentioned decoding method, and each implementation process and realization manner of the above-mentioned method embodiment can be applied to this embodiment of the decoding device and can achieve the same technical effects.
[0133] Specifically, the embodiment of the present application further provides a decoding device. Specifically, the structure of the decoding device is as shown in Figure 5, which will not be described further here. Specifically, the decoding device of the embodiment of the present application further includes an instruction or program stored in the memory and capable of running on the processor, and the processor calls the instruction or program in the memory to execute the method executed by each module shown in Figure 8, and achieves the same technical effect, which will not be described further here in order to avoid repetition.
[0134] An embodiment of the present application further provides a readable storage medium, in which a program or instruction is stored, and when the program or instruction is executed by a processor, each process of the embodiment of the above-mentioned decoding method can be realized and the same technical effect can be achieved, and in order to avoid repetition of description, no further description will be given here.
[0135] Wherein, the processor is the processor in the decoding device according to the above embodiment. The readable storage medium includes a computer readable storage medium, such as a computer read only memory ROM, a random access memory RAM, a magnetic disk or an optical disk.
[0136] Optionally, as shown in Fig. 9, an embodiment of the present application further provides a communication device 900, which includes a processor 901 and a memory 902, and the memory 902 stores a program or instruction that can run on the processor 901, for example, if the communication device 900 is a coding device, when the program or instruction is executed by the processor 901, each step of the embodiment of the coding method can be realized and the same technical effect can be achieved. If the communication device 900 is a decoding device, when the program or instruction is executed by the processor 901, each step of the embodiment of the decoding method can be realized and the same technical effect can be achieved, and in order to avoid repetition, no further description will be given here.
[0137] An embodiment of the present application further provides a chip, the chip including a processor and a communication interface, the communication interface being coupled to the processor, the processor being used to run a program or instruction to realize each process of the embodiment of the above coding method or decoding method, and the same technical effect can be achieved, and in order to avoid repetition of description, no further description will be given here.
[0138] It should be understood that the chips referred to in the embodiments of the present application may be referred to as system level chips, system chips, chip systems, or systems on chips.
[0139] An embodiment of the present application further provides a computer program / program product, which is stored in a storage medium, and which can be executed by at least one processor to realize each process of the above coding method or decoding method embodiment and achieve the same technical effect, which will not be described further here in order to avoid repetition of description.
[0140] An embodiment of the present application further provides a communication system, including at least a coding device and a decoding device, wherein the coding device may be used to perform steps of the coding method described above, and the decoding device may be used to perform steps of the decoding method described above, and can achieve the same technical effect, which will not be further described here in order to avoid repetition of description.
[0141] It should be noted that in this specification, the terms "comprise", "include", or any other variants thereof are intended to cover the non-exclusive "comprise", whereby a process, method, article, or apparatus that includes a set of elements includes not only those elements, but also other elements not specifically listed or inherent to such process, method, article, or apparatus. Absent any further limitations, an element limited by the phrase "comprises a" does not preclude the presence of other identical elements in the process, method, article, or apparatus that includes the element. It should be noted that the scope of the method and apparatus in the embodiments of this application is not limited to performing functions in the order shown or discussed, but may include performing functions in an essentially simultaneous manner or in reverse order based on the functions involved, for example, the described method can be performed in a different order than described, and various steps can be added, omitted, or combined. Also, features described with reference to some examples can be combined in other examples.
[0142] From the above description of the embodiments, it is clear to those skilled in the art that the methods of the above embodiments can be realized in the form of software and a necessary general-purpose hardware platform. Of course, they can also be realized in hardware, but in many cases the former is a more preferred embodiment. Based on this understanding, the technical proposal of the present application in substance or in the prior art may be embodied in the form of a computer software product, which is stored in a storage medium (e.g., ROM / RAM, magnetic disk, optical disk) and includes some instructions for causing a terminal (which may be a mobile phone, a computer, a server, an air conditioner, or a network device, etc.) to execute the methods described in the embodiments of the present application.
[0143] The above describes the embodiments of the present application in conjunction with the drawings, but the present application is not limited to the above specific embodiments. The above specific embodiments are merely illustrative and not limiting. Those skilled in the art can take the suggestions of this application and make many forms without departing from the spirit and scope of the claims of this application, all of which belong to the protection scope of this application.
Claims
1. 1. A coding method comprising: A coding side 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; the coding side coding texture coordinates of vertices in the target 3D grid based on the reconstructed geometric information and connectivity relationships.
2. coding texture coordinates of vertices in the target 3D grid based on the reconstructed geometric information and connectivity relationships, The coding side determines a target triangle based on the reconstructed connection relationship, and the target triangle is composed of a first side and a vertex to be coded; The coding side performs texture coordinate prediction for a vertex to be coded according to the reconstructed geometric information corresponding to three vertices of the target triangle and the true texture coordinates of the vertices on the first side, to obtain predicted texture coordinates of the vertex to be coded; The method according to claim 1 , further comprising: the coding side coding texture coordinates of the vertices to be coded based on difference values between the true texture coordinates of the vertices to be coded and the predicted texture coordinates.
3. The coding side performs texture coordinate prediction for a vertex to be coded according to the reconstructed geometric information corresponding to three vertices of the target triangle and the true texture coordinates of the vertices on the first side to obtain a predicted texture coordinate of the vertex to be coded; The coding side obtains texture coordinates of predicted projected points on the first side of the vertices to be coded according to the reconstructed geometric information corresponding to each vertex of the target triangle and the true texture coordinates of the vertices on the first side; The coding side obtains a judgment result as to whether a first triangle formed by the first side and a first vertex corresponding to the first side is a degenerate triangle, the first vertex being an opposite vertex to a first side of the first triangle, and the first triangle and the target triangle have a common first side; The method of claim 2 , further comprising: the coding side obtaining predicted texture coordinates of the vertex to be coded based on the determination result and texture coordinates of the predicted projection point.
4. The coding side obtains texture coordinates of predicted projected points on the first side of the vertices to be coded based on the reconstructed geometric information corresponding to each vertex of the target triangle and the true texture coordinates of the vertices on the first side, The coding side and obtaining texture coordinates of a predicted projected point on the first edge of the vertex to be coded based on the sum of and obtaining texture coordinates of a predicted projected point on a first side of the vertex to be coded based on a difference value between the first side and the vertex to be coded; where A is the vertex N on the first side of the target triangle; is a vector from a vertex N on the first edge of the target triangle to the texture coordinates of a predicted projected point X on the first edge of the vertex C to be coded, are the true texture coordinates of vertex N on the first edge of the target triangle, is a vector from a predicted projection point X on the first side of the vertex C to be coded to the texture coordinates of a vertex N on the first side of the target triangle, A is a vertex P on the first side of the target triangle, is a vector from a vertex P on the first side of the target triangle to the texture coordinates of a predicted projected point X on the first side of the vertex C to be coded, are the true texture coordinates of vertex P on the first edge of the target triangle, 4. The method of claim 3, wherein x is a vector from a predicted projection point X on the first side of the vertex C to be coded to the texture coordinates of a vertex P on the first side of the target triangle.
5. The coding side obtains predicted texture coordinates of the vertices to be coded based on the determination result and the texture coordinates of the predicted projection points, the coding side, when the determination result indicates that the first triangle is a degenerate triangle, 、 and and obtaining predicted texture coordinates of the vertices to be coded based on a magnitude relationship between Where: are the predicted texture coordinates of the predicted projected point X on the first edge of the vertex C to be coded, is a predicted vector from a predicted projection point X on the first edge of the vertex C to be coded to the texture coordinate of the vertex C to be coded, is the predicted point and the texture coordinates of the vertex C to be coded, is the predicted point and the texture coordinates of the vertex C to be coded.
6. The coding side obtains a target identifier, and the target identifier is and It is used to distinguish the magnitude relationship between The method of claim 5 , further comprising the coding side performing entropy coding on the target identifier.
7. The coding side obtains predicted texture coordinates of the vertices to be coded based on the determination result and the texture coordinates of the predicted projection points, If the coding side determines that the determination result indicates that the first triangle is not a degenerate triangle, 、 and and obtaining predicted texture coordinates of the vertices to be coded based on a magnitude relationship between Where: are the predicted texture coordinates of the predicted projected point X on the first edge of the vertex C to be coded, is a predicted vector from a predicted projection point X on the first edge of the vertex C to be coded to the texture coordinate of the vertex C to be coded, is the predicted point and the texture coordinates of a first vertex O corresponding to the first edge, is the predicted point and the texture coordinate of a first vertex O corresponding to the first edge.
8. The coding side determines a target triangle based on the reconstructed connection relationship, the coding side selecting a first edge from an edge set, the edge set being a set of edges of triangles constructed by the reconstructed connectivity; The method of claim 2 , further comprising: the coding party determining a target triangle based on the first edge.
9. Before the coding party selects a first edge from the edge set, The coding side selects an initial triangle based on the reconstructed connection relationship; The method of claim 8 , further comprising: the coding side coding texture coordinates of three vertices of the initial triangle, and adding three edges of the initial triangle to an edge set.
10. The coding side codes texture coordinates of three vertices of the initial triangle, the coding part directly codes texture coordinates of a first vertex of the initial triangle; The coding side predicts an edge using the texture coordinates of a first vertex to obtain texture coordinates of a second vertex of the initial triangle, and obtains texture coordinates of a third vertex of the initial triangle using a method of predicting and coding a similar triangle; The method of claim 9 , wherein the coding comprises coding texture coordinates of a second vertex and a third vertex of the initial triangle.
11. After the coding side codes the texture coordinates of the vertices to be coded based on the difference between the true texture coordinates of the vertices to be coded and the predicted texture coordinates, 9. The method of claim 8, further comprising the coding side adding a second edge in the target triangle to the edge set and removing the first edge from the edge set, the second edge being an edge in the target triangle that is not included in the edge set.
12. A decoding method comprising the steps of: A decoding side decodes the code stream of the target 3D grid to obtain geometric information and connection relationship of the target 3D grid; the decoding side decoding and obtaining texture coordinates of vertices in a target 3D grid based on the geometric information and the connection relationship.
13. The decoding side decodes and obtains texture coordinates of vertices in a target 3D grid based on the geometric information and the connection relationship, The decoding side determines a target triangle based on the connection relationship, and the target triangle is composed of a first edge and a vertex to be decoded; The decoding side performs texture coordinate prediction for a vertex to be decoded according to geometric information corresponding to three vertices of the target triangle and true texture coordinates of the vertices on the first side, to obtain predicted texture coordinates of the vertex to be decoded; The method of claim 12, further comprising: the decoding side decoding and obtaining true texture coordinates of the vertex to be decoded based on a difference value obtained by decoding the vertex to be decoded and a predicted texture coordinate of the vertex to be decoded.
14. The decoding side performs texture coordinate prediction for a vertex to be decoded based on geometric information corresponding to three vertices of the target triangle and true texture coordinates of the vertex on the first side to obtain a predicted texture coordinate of the vertex to be decoded; The decoding side obtains texture coordinates of predicted projected points on the first side of the vertices to be decoded according to geometric information corresponding to each vertex of the target triangle and true texture coordinates of the vertices on the first side; The decoding side obtains a judgment result of whether a first triangle formed by the first edge and a first vertex corresponding to the first edge is a degenerate triangle, the first vertex being an opposite vertex to the first edge of the first triangle, and the first triangle and the target triangle have a common first edge; The method of claim 13 , further comprising: the decoding side obtaining predicted texture coordinates of the vertex to be decoded based on the determination result and texture coordinates of the predicted projection point.
15. The decoding side obtains texture coordinates of predicted projected points on the first side of the vertices to be decoded based on geometric information corresponding to each vertex of the target triangle and true texture coordinates of the vertices on the first side, The decoding side and obtaining texture coordinates of a predicted projected point on the first edge of the vertex to be decoded based on the sum of and obtaining texture coordinates of a predicted projected point on a first edge of the vertex to be decoded based on a difference value between the first edge and the vertex; where A is the vertex N on the first side of the target triangle; is a vector from a vertex N on the first edge of the target triangle to the predicted texture coordinate of a predicted projected point X on the first edge of the vertex C to be decoded, are the true texture coordinates of vertex N on the first edge of the target triangle, is a vector from a predicted projection point X on the first side of the vertex C to be decoded to the texture coordinates of a vertex N on the first side of the target triangle, A is a vertex P on the first side of the target triangle, is a vector from a vertex P on the first edge of the target triangle to the predicted texture coordinate of a predicted projected point X on the first edge of the vertex C to be decoded, are the true texture coordinates of vertex P on the first edge of the target triangle, 15. The method of claim 14, wherein x is a vector from a predicted projection point X on the first side of the vertex C to be decoded to the texture coordinates of a vertex P on the first side of the target triangle.
16. The decoding side obtains predicted texture coordinates of the vertex to be decoded based on the determination result and the texture coordinates of the predicted projection point, The decoding side decodes and obtains a target identifier when the determination result indicates that the first triangle is a degenerate triangle, and the target identifier is and It is used to distinguish the magnitude relationship between The decoding side obtains predicted texture coordinates of the vertices to be decoded based on the target identifier and the texture coordinates of the predicted projection points; Where: is the predicted point and the texture coordinates of the vertex C to be decoded, is the predicted point and the texture coordinates of the vertex C to be decoded.
17. The decoding side obtains predicted texture coordinates of the vertices to be decoded based on the target identifier and the texture coordinates of the predicted projection point, The decoding side 、 and and obtaining predicted texture coordinates of the vertices to be decoded based on a magnitude relationship between Where: are the predicted texture coordinates of the predicted projected point X on the first edge of the vertex C to be decoded, 17. The method of claim 16, wherein x is a predicted vector from a predicted projected point X on the first edge of the vertex C to be decoded to a texture coordinate of the vertex C to be decoded.
18. The decoding side obtains predicted texture coordinates of the vertex to be decoded based on the determination result and the texture coordinates of the predicted projection point, If the decoding side determines that the determination result indicates that the first triangle is not a degenerate triangle, 、 and and obtaining predicted texture coordinates of the vertices to be decoded based on a magnitude relationship between Where: are the predicted texture coordinates of the predicted projected point X on the first edge of the vertex C to be decoded, is a predicted vector from a predicted projection point X on the first edge of the vertex C to be decoded to the texture coordinate of the vertex C to be decoded, is the predicted point and the texture coordinates of a first vertex O corresponding to the first edge, is the predicted point and the texture coordinate of a first vertex O corresponding to the first edge.
19. The decoding side determines a target triangle based on the connection relationship, the decoding side selecting a first edge from an edge set, the edge set being a set of edges of triangles constructed by the reconstructed connectivity; The method of claim 13 , wherein the decoding side comprises determining a target triangle based on the first edge.
20. Before the decoding party selects a first edge from the edge set, The decoding side selects an initial triangle based on the connection relationship; 20. The method of claim 19, further comprising: the decoding side decoding texture coordinates of three vertices of the initial triangle, and adding three edges of the initial triangle to an edge set.
21. the decoding side decodes and obtains true texture coordinates of the vertices to be decoded based on difference values obtained by decoding the vertices to be decoded and predicted texture coordinates of the vertices to be decoded, 20. The method of claim 19, further comprising the decoding side adding a second edge in the target triangle to the edge set and removing the first edge from the edge set, the second edge being an edge in the target triangle that is not included in the edge set.
22. 1. A coding device, comprising: a reconstruction module for reconstructing the geometric information and connection relationship of the target three-dimensional grid according to the coding result of the geometric information and connection relationship of the target three-dimensional grid; a coding module for coding texture coordinates of vertices in the target 3D grid based on the reconstructed geometric information and connectivity relationships.
23. The coding module comprises: A first determination unit for determining a target triangle based on the reconstructed connection relationship, the target triangle being composed of a first side and a vertex to be coded; a first obtaining unit, for performing texture coordinate prediction on a vertex to be coded according to the reconstructed geometric information corresponding to three vertices of the target triangle and the true texture coordinates of the vertices on the first side, to obtain predicted texture coordinates of the vertex to be coded; The apparatus of claim 22 , further comprising: a coding unit for coding texture coordinates of a vertex to be coded based on difference values between true texture coordinates of the vertex to be coded and the predicted texture coordinates.
24. The first acquisition unit includes: Obtaining texture coordinates of predicted projected points on the first side of the vertex to be coded based on the reconstructed geometric information corresponding to each vertex of the target triangle and the true texture coordinates of the vertices on the first side; Obtaining a judgment result as to whether a first triangle constituted by the first side and a first vertex corresponding to the first side is a degenerate triangle, the first vertex being an opposite vertex to a first side of the first triangle, and the first triangle and the target triangle having a common first side; and obtaining predicted texture coordinates of the vertex to be coded based on the determination result and the texture coordinates of the predicted projection point.
25. obtaining texture coordinates of predicted projected points on a first side of the vertex to be coded based on the reconstructed geometric information corresponding to each vertex of the target triangle and the true texture coordinates of the vertices on the first side, and obtaining texture coordinates of a predicted projected point on the first edge of the vertex to be coded based on the sum of and obtaining texture coordinates of a predicted projected point on a first side of the vertex to be coded based on a difference value between the first side and the vertex to be coded; where A is the vertex N on the first side of the target triangle; is a vector from a vertex N on the first edge of the target triangle to the texture coordinates of a predicted projected point X on the first edge of the vertex C to be coded, are the true texture coordinates of vertex N on the first edge of the target triangle, is a vector from a predicted projection point X on the first side of the vertex C to be coded to the texture coordinates of a vertex N on the first side of the target triangle, A is a vertex P on the first side of the target triangle, is a vector from a vertex P on the first side of the target triangle to the texture coordinates of a predicted projected point X on the first side of the vertex C to be coded, are the true texture coordinates of vertex P on the first edge of the target triangle, 25. The apparatus of claim 24, wherein x is a vector from a predicted projection point X on the first side of the vertex C to be coded to the texture coordinates of a vertex P on the first side of the target triangle.
26. The method of obtaining the predicted texture coordinates of the vertex to be coded based on the judgment result and the texture coordinates of the predicted projection point includes: if the determination result indicates that the first triangle is a degenerate triangle, 、 and and obtaining predicted texture coordinates of the vertices to be coded based on a magnitude relationship between Where: are the predicted texture coordinates of the predicted projected point X on the first edge of the vertex C to be coded, is a predicted vector from a predicted projection point X on the first edge of the vertex C to be coded to the texture coordinate of the vertex C to be coded, is the predicted point and the texture coordinates of the vertex C to be coded, is the predicted point and the texture coordinates of the vertex C to be coded.
27. a first acquisition module for acquiring a target identifier, the target identifier being and a first acquisition module for identifying a magnitude relationship between the 27. The apparatus of claim 26, further comprising an entropy coding module for performing entropy coding on the target identifier.
28. The method of obtaining the predicted texture coordinates of the vertex to be coded based on the judgment result and the texture coordinates of the predicted projection point includes: if the determination indicates that the first triangle is not a degenerate triangle, 、 and and obtaining predicted texture coordinates of the vertices to be coded based on a magnitude relationship between Where: are the predicted texture coordinates of the predicted projected point X on the first edge of the vertex C to be coded, is a predicted vector from a predicted projection point X on the first edge of the vertex C to be coded to the texture coordinate of the vertex C to be coded, is the predicted point and the texture coordinates of a first vertex O corresponding to the first edge, is the predicted point and the texture coordinate of a first vertex O corresponding to the first edge.
29. The first determination unit: selecting a first edge from an edge set, the edge set being a set of edges of triangles constructed by the reconstructed connectivity; and determining a target triangle based on the first edge.
30. Before the first determining unit selects a first edge from an edge set, the coding module: a first selection unit for selecting an initial triangle based on the reconstructed connectivity; and a first processing unit for coding texture coordinates of three vertices of the initial triangle and for adding three edges of the initial triangle to an edge set.
31. The first processing unit includes: Directly coding the texture coordinates of the first vertex of the initial triangle; A texture coordinate of a second vertex of the initial triangle is obtained by predicting an edge using the texture coordinate of a first vertex, and a texture coordinate of a third vertex of the initial triangle is obtained using a method of predicting and coding a similar triangle; The apparatus of claim 30, used to code texture coordinates of a second and a third vertex of the initial triangle.
32. 30. The device of claim 29, wherein after the coding unit codes the texture coordinates of the vertex to be coded based on the difference value between the true texture coordinates of the vertex to be coded and the predicted texture coordinates, the coding module further includes a second processing unit for adding a second edge in the target triangle to the edge set and removing the first edge from the edge set, wherein the second edge is an edge in the target triangle that is not included in the edge set.
33. A coding device comprising a processor and a memory, the memory storing a program or instructions operable on the processor, the program or instructions implementing the steps of the coding method according to any one of claims 1 to 11 when executed by the processor.
34. A decoding device, comprising: a second acquisition module for decoding the code stream of the acquired target 3D grid to acquire geometric information and connection relationship of the target 3D grid; a decoding module for decoding and obtaining texture coordinates of vertices in a target 3D grid based on the geometric information and the connection relationships.
35. A decoding device comprising a processor and a memory, the memory storing a program or instructions operable on the processor, the program or instructions implementing the steps of the decoding method according to any one of claims 12 to 21 when executed by the processor.
36. A readable storage medium having a program or instructions stored thereon, the program or instructions implementing the steps of the coding method of any one of claims 1 to 11 or the steps of the decoding method of any one of claims 12 to 21 when executed by a processor.
Citation Information
Patent Citations
Low-complexity 3D mesh compression apparatus and method using shared vertex information
JP2011528452A
Method and apparatus for dynamic mesh compression
JP2023547173A
Mesh Compression Using Estimated Texture Coordinates
JP2024516343A
Method and apparatus for encoding / decoding 3D meshes - Patents.com
JP2025505366A
Encoding and decoding of texture mapping data in textured 3D mesh models
US20180253867A1