WO2024007951A1 - 编码、解码方法、装置及设备 - Google Patents
编码、解码方法、装置及设备 Download PDFInfo
- Publication number
- WO2024007951A1 WO2024007951A1 PCT/CN2023/103922 CN2023103922W WO2024007951A1 WO 2024007951 A1 WO2024007951 A1 WO 2024007951A1 CN 2023103922 W CN2023103922 W CN 2023103922W WO 2024007951 A1 WO2024007951 A1 WO 2024007951A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- vertex
- triangle
- target
- encoded
- texture coordinates
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/40—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video transcoding, i.e. partial or full decoding of a coded input stream followed by re-encoding of the decoded output stream
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/597—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—Three-dimensional [3D] image rendering
- G06T15/04—Texture mapping
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—Three-dimensional [3D] image rendering
- G06T15/10—Geometric effects
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/001—Model-based coding, e.g. wire frame
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/004—Predictors, e.g. intraframe, interframe coding
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/20—Contour coding, e.g. using detection of edges
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/119—Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/146—Data rate or code amount at the encoder output
- H04N19/147—Data rate or code amount at the encoder output according to rate distortion criteria
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/44—Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
Definitions
- This application belongs to the field of coding and decoding technology, and specifically relates to a coding and decoding method, device and equipment.
- Texture coordinates also known as UV coordinates
- UV coordinates are information that describes the texture of the vertices of a three-dimensional mesh.
- the three-dimensional grid first projects the surface texture into two dimensions to form a two-dimensional texture map.
- UV coordinates represent the position of the three-dimensional vertex texture in the two-dimensional texture map, and correspond to the geometric information one-to-one. Therefore, texture coordinates determine the texture map of the three-dimensional mesh and are an important part of the three-dimensional mesh.
- the amount of UV coordinate data accounts for a large proportion in the three-dimensional grid, and the compression effect of the existing parallelogram prediction method and similar triangle prediction algorithm is not ideal, which affects the coding efficiency of texture coordinates.
- Embodiments of the present application provide a coding and decoding method, device and equipment, which can solve the problem that the parallelogram prediction method and the similar triangle prediction algorithm in the prior art for encoding UV coordinates have unsatisfactory compression effects and affect the coding efficiency of texture coordinates. .
- the first aspect provides an encoding method, including:
- the encoding end reconstructs the geometric information and connection relationships of the target three-dimensional grid based on the coding results of the target three-dimensional grid's geometric information and connection relationships;
- the encoding end uses multiple coded triangles to predict vertices based on the reconstructed geometric information and connection relationships, and determines N predicted texture coordinates of each vertex in the target three-dimensional grid, where N is a positive integer greater than 1;
- the encoding end encodes the texture coordinate residual of each vertex; the texture coordinate residual of the vertex is determined based on the N predicted texture coordinates of the vertex.
- the second aspect provides a decoding method, including:
- the decoder decodes the obtained code stream corresponding to the target three-dimensional grid to obtain the geometric information and connection relationship of the target three-dimensional grid, and decodes the obtained code stream corresponding to each vertex to obtain the texture coordinate residual of each vertex. ;
- the decoder uses multiple decoded triangles to predict vertices based on the geometric information and connection relationships, and determines N predicted texture coordinates of each vertex in the target three-dimensional grid, where N is a positive integer greater than 1;
- the decoding end is based on the N predicted texture coordinates of each vertex and the texture coordinate residual of each vertex, Determine the true texture coordinates of each vertex.
- an encoding device including:
- the reconstruction module is used to reconstruct the geometric information and connection relationships of the target three-dimensional grid based on the coding results of the target three-dimensional grid's geometric information and connection relationships;
- the determination module is used to determine N predicted texture coordinates of each vertex in the target three-dimensional grid by using multiple encoded triangles to predict vertices based on the reconstructed geometric information and connection relationships, where N is a positive integer greater than 1. ;
- An encoding module configured to encode the texture coordinate residual of each vertex; the texture coordinate residual of a vertex is determined based on the N predicted texture coordinates of the vertex.
- a decoding device including:
- the decoding module is used to decode the obtained code stream corresponding to the target three-dimensional grid to obtain the geometric information and connection relationship of the target three-dimensional grid, and to decode the obtained code stream corresponding to each vertex to obtain the texture of each vertex. coordinate residual;
- the first determination module is used to determine N predicted texture coordinates of each vertex in the target three-dimensional grid by using multiple decoded triangles to predict vertices based on the geometric information and connection relationships, where N is greater than 1. positive integer;
- the second determination module is configured to determine the real texture coordinate of each vertex based on the N predicted texture coordinates of each vertex and the texture coordinate residual of each vertex.
- a terminal in a fifth aspect, includes a processor and a memory.
- the memory stores programs or instructions that can be run on the processor.
- the program or instructions are executed by the processor, the following implementations are implemented: The steps of the method described in one aspect, or the steps of implementing the method described in the second aspect.
- a readable storage medium is provided. Programs or instructions are stored on the readable storage medium. When the programs or instructions are executed by a processor, the steps of the method described in the first aspect are implemented, or the steps of the method are implemented as described in the first aspect. The steps of the method described in the second aspect.
- a chip in a seventh aspect, includes a processor and a communication interface.
- the communication interface is coupled to the processor.
- the processor is used to run programs or instructions to implement the method described in the first aspect. , or implement the method described in the second aspect.
- a computer program/program product is provided, the computer program/program product is stored in a storage medium, and the computer program/program product is executed by at least one processor to implement the method described in the first aspect The steps of a method, or steps of implementing a method as described in the second aspect.
- a system in a ninth aspect, includes an encoding end and a decoding end.
- the encoding end performs the steps of the method described in the first aspect.
- the decoding end performs the steps of the method described in the second aspect. step.
- the geometric information and connection relations of the target three-dimensional mesh are reconstructed according to the coding results of the target three-dimensional mesh and the connection relations; according to the reconstructed geometric information and connection relations, multiple coded triangles are used to predict Vertex method, determine N predicted texture coordinates of each vertex in the target three-dimensional mesh; encode the texture coordinate residual of each vertex.
- multiple coded triangles are used to predict the vertices to obtain N predicted texture coordinates of each vertex.
- Figure 1 is a schematic flow chart of an encoding method provided by an embodiment of the present application.
- Figure 2 is a schematic diagram of a search target triangle provided by an embodiment of the present application.
- Figure 3 is a geometric schematic diagram of the prediction principle provided by the embodiment of the present application.
- Figure 4 is a schematic diagram of the UV coordinate encoding framework provided by the embodiment of the present application.
- Figure 5 is a schematic flowchart of a decoding method provided by an embodiment of the present application.
- FIG. 6 is a schematic diagram of the UV coordinate decoding framework provided by the embodiment of the present application.
- Figure 7 is a structural diagram of an encoding device provided by an embodiment of the present application.
- Figure 8 is a structural diagram of a decoding device provided by an embodiment of the present application.
- Figure 9 is a structural diagram of a communication device provided by an embodiment of the present application.
- Figure 10 is a schematic diagram of the hardware structure of a terminal provided by an embodiment of the present application.
- first, second, etc. in the description and claims of this application are used to distinguish similar objects and are not used to describe a specific order or sequence. It is to be understood that the terms so used are interchangeable under appropriate circumstances so that the embodiments of the present application can be practiced in sequences other than those illustrated or described herein, and that "first" and “second” are distinguished objects It is usually one type, and the number of objects is not limited.
- the first object can be one or multiple.
- “and/or” in the description and claims indicates at least one of the connected objects, and the character “/" generally indicates that the related objects are in an "or” relationship.
- Figure 1 is a schematic flowchart of an encoding method provided by an embodiment of the present application.
- the encoding method provided in this embodiment includes the following steps:
- S101 Reconstruct the geometric information and connection relationships of the target three-dimensional grid based on the coding results of the target three-dimensional grid's geometric information and connection relationships.
- the target three-dimensional grid mentioned in this application can be understood as the three-dimensional grid corresponding to any video frame.
- the geometric information of the target three-dimensional grid can be understood as the coordinates of the vertices in the three-dimensional grid. These coordinates are usually Refers to three-dimensional coordinates; the connection relationship is used to describe the connection relationship between elements such as vertices and patches in the three-dimensional grid, and can also be called a connectivity relationship.
- the texture coordinates of the vertices are encoded based on geometric information and connection relationships.
- the geometric information and connection relationships reconstructed after encoding are used in the embodiments of the present application.
- the texture coordinate residual of the vertex can be determined based on the N predicted texture coordinates of the vertex, and then the texture coordinate residual of the vertex is encoded. Specifically, how to encode the texture coordinate residual of each vertex For implementation, please refer to subsequent embodiments.
- the geometric information and connection relations of the target three-dimensional mesh are reconstructed according to the coding results of the target three-dimensional mesh and the connection relations; according to the reconstructed geometric information and connection relations, multiple coded triangles are used to predict Vertex method, determine N predicted texture coordinates of each vertex in the target three-dimensional mesh; encode the texture coordinate residual of each vertex.
- multiple coded triangles are used to predict the vertices to obtain N predicted texture coordinates of each vertex.
- determining the N predicted texture coordinates of each vertex in the target three-dimensional grid by using multiple encoded triangles to predict vertices based on the reconstructed geometric information and connection relationships includes:
- the encoding end selects the first edge in the edge set, and determines the triangle corresponding to the first edge and the triangle with the vertex to be encoded as the opposite vertex and excluding the first edge as the target triangle;
- the encoding end obtains the predicted texture coordinates of the vertex to be encoded in the target triangle.
- the initial edge set needs to be obtained first. Specifically, the initial edge set is obtained in the following way:
- the method further includes:
- the encoding end selects an initial triangle based on the reconstructed geometric information and connection relationships
- the encoding end encodes the texture coordinates of the three vertices of the initial triangle, and stores the three edges of the initial triangle into an edge set.
- the vertices are not predicted, but the texture coordinates are directly encoded.
- the texture coordinates of the first vertex of the initial triangle can be directly encoded; the texture coordinates of the first vertex are used to predict the edges, and the texture coordinates of the second vertex of the initial triangle are obtained; using Similar triangle prediction coding method is used to obtain the texture coordinates of the third vertex of the initial triangle.
- each edge of the initial triangle is stored as an edge set to form an initial edge set, and then subsequent vertices are predicted based on the initial edge set.
- Figure 2 includes three triangles, the first triangle formed by vertex C, vertex N and vertex P.O, the second triangle formed by vertex C, vertex N and vertex P and The third triangle formed by vertex C, vertex P and vertex N.O, and vertex N, vertex P, vertex P.O and vertex N.O are all uncoded vertices.
- vertex C is the vertex to be encoded, and the vertices corresponding to the first side are vertex N and vertex P, then the triangle corresponding to the first side, that is, the second triangle, is determined as the target triangle. Further, rotate around vertex C to search for triangles whose two vertices except vertex C are encoded vertices and do not include the first side, and determine the above triangle as the target triangle; that is, the first triangle and the second triangle are both determined as the target triangle.
- the vertices in the target triangle except the vertices to be encoded are coded vertices, and the number of target triangles is greater than 1.
- the multiple target triangles are adjacent triangles, or the multiple target triangles are not mutually exclusive. adjacent.
- obtaining the predicted texture coordinates of the vertex to be encoded in the target triangle includes:
- the encoding end obtains the texture coordinates of the projection point of the vertex to be encoded on the first side according to the geometric coordinates of each vertex of the target triangle;
- the encoding end obtains the predicted texture coordinates of the vertex to be encoded based on the texture coordinates of the projection point.
- the texture coordinates of the projection point of the vertex to be encoded on the first side can be obtained according to the geometric coordinates of each vertex of the target triangle, that is, the geometric coordinates of the three vertices of the target triangle, Please refer to subsequent embodiments for specific implementation methods.
- the predicted texture coordinates of the vertex to be encoded are obtained according to the texture coordinates of the projection point. Please refer to subsequent embodiments for specific implementation methods.
- obtaining the texture coordinates of the projection point of the vertex to be encoded on the first side according to the geometric coordinates of each vertex of the target triangle includes:
- the coding end is based on The sum of N uv and N uv obtains the texture coordinates of the projection point of the vertex to be encoded on the first edge, or according to N uv and The difference value obtains the texture coordinates of the projection point of the vertex to be encoded on the first edge;
- N uv is the texture coordinate of the vertex N on the first side of the target triangle
- N uv is a vector from the texture coordinates of the vertex N on the first side of the target triangle to the projection point X of the vertex to be encoded on the first side
- the encoding end can obtain the texture coordinates of the projection point of the vertex to be encoded on the first edge according to the first formula.
- the first formula is or
- X uv is the texture coordinate of the projection point of the vertex to be encoded on the first side
- N uv is the texture coordinate of the vertex N on the first side of the target triangle
- the vector of texture coordinates of the projection point X of the vertex to be encoded on the first edge is a vector from the texture coordinates of the projection point X on the first side to the vertex N on the first side of the target triangle
- edge NP is an edge selected from the edge set, which can be regarded as the first edge mentioned above.
- Vertex N and vertex P are two parts of the first edge respectively.
- vertex C is the vertex to be encoded
- vertex N, vertex P and vertex C form the above target triangle
- point X is the projection of vertex C on the NP edge
- vertex O is the encoded point
- vertex O is the encoded point
- vertex O The triangle formed by vertices N and P has NP sides in common with the triangle formed by N, P and C.
- the texture coordinates of the projected point on the first side of the point to be encoded can be obtained based on the above-mentioned first formula.
- obtaining the predicted texture coordinates of the vertex to be encoded according to the texture coordinates of the projection point includes:
- the encoding end determines the value according to X uv and Obtain the texture coordinates of the vertex to be encoded; the first triangle and the target triangle have a common first side, and the opposite vertex of the first side of the first triangle is the first vertex O;
- X uv is the texture coordinate of the projection point X of the vertex to be encoded on the first edge, is a vector from the projection point X of the vertex to be encoded on the first edge to the texture coordinate C uv of the vertex to be encoded.
- the texture coordinates of the vertex to be encoded can be obtained according to the second formula, where the second formula is
- Pred C_NP is the predicted texture coordinate of the vertex to be encoded
- X uv is the texture coordinate of the projection point X of the vertex to be encoded on the first edge
- O uv is the texture coordinate of the first vertex corresponding to the first side of the target triangle
- the texture coordinates of the first vertex O can be used, based on the above second formula, to obtain Encodes the predicted texture coordinates of a vertex.
- first triangle is the triangle formed by vertex N, vertex P and vertex O in Figure 3.
- vertex O is located on the first side formed by vertex N and vertex P, the area of the first triangle is 0, which is determined
- the first triangle is a degenerate triangle.
- the encoding end obtains the predicted texture coordinates of the vertex to be encoded based on the texture coordinates of the projection point, including:
- the coding end uses X uv and Obtain the texture coordinates of the vertex to be encoded, and encode the target identifier corresponding to the vertex to be encoded; the first triangle and the target triangle have a common first side, and the first triangle The opposite vertex of the first side is the first vertex O;
- X uv is the texture coordinate of the projection point X of the vertex to be encoded on the first edge, is a vector from the projection point X of the vertex to be encoded on the first edge to the texture coordinate C uv of the vertex to be encoded.
- the texture coordinates of the vertex to be encoded can be obtained according to the third formula, and the target identifier corresponding to the vertex to be encoded can be encoded.
- Pred C_NP is the predicted texture coordinate of the vertex to be encoded
- X uv is the texture coordinate of the projection point X of the vertex to be encoded on the first edge; is the vector from the projection point X of the vertex to be encoded on the first edge to the texture coordinate C uv of the vertex to be encoded
- C uv is the texture coordinate of the vertex to be encoded
- the target identifier is used to characterize the size relationship between
- the predicted texture coordinates of the vertex to be coded can be obtained based on the above third formula.
- the above target identifier is used to characterize the size relationship between
- the calculation part involving the vertex N in the above-mentioned first formula, the second formula and the third formula can be replaced by the vertex P.
- change the first formula Replace with is a vector from the vertex P on the first side of the target triangle to the texture coordinates of the projection point X of the vertex to be encoded on the first side.
- the method before selecting the first edge from the edge set, the method further includes:
- the encoding end selects an initial triangle based on the reconstructed geometric information and connection relationships
- the encoding end encodes the texture coordinates of the three vertices of the initial triangle, and stores the three edges of the initial triangle into an edge set.
- the method further includes:
- the encoding end stores the second side in the target triangle into the side set and deletes the first side from the side set, where the second side is not included in the target triangle.
- encoding the texture coordinate residual of each vertex includes:
- the encoding end determines the target value corresponding to the N predicted texture coordinates of the vertex as the target texture coordinate of the vertex;
- the encoding end encodes the texture coordinate residual of the vertex, and the residual is determined based on the real texture coordinate of the vertex and the target texture coordinate of the vertex.
- the above-mentioned N predicted texture coordinates can be weighted and summed, and the target value obtained by the weighted summation is determined as the target texture coordinate of the vertex.
- the average of the N predicted texture coordinates is determined as the target texture coordinate of the vertex.
- the target value is not limited to the weighted summation of N predicted texture coordinates.
- the target value corresponding to the N predicted texture coordinates can also be calculated through other calculation methods. This is not the case. Make specific limitations.
- the vertex to be encoded corresponds to 3 predicted texture coordinates, namely Pred C_NP , Pred C_PON and Pred C_PNO .
- Pred C_NP is the predicted texture coordinate corresponding to the vertex to be encoded in the second triangle
- Pred C_PON is the predicted texture coordinate corresponding to the vertex to be encoded in the first triangle
- Pred C_PNO is the predicted texture coordinate corresponding to the vertex to be encoded in the third triangle. Texture coordinates.
- the average value of Pred C_NP , Pred C_PON and Pred C_PNO is determined as the target texture coordinate of the vertex to be encoded.
- the target texture coordinates of the vertex to be encoded can be obtained based on the target texture coordinates and the real texture coordinates.
- the residual of the encoding vertex is encoded by encoding the residual to achieve encoding of the vertex to be encoded, thereby reducing the number of bits for texture coordinate encoding.
- UV coordinates texture coordinates
- Step S1 Select an initial triangle from the connectivity relationship, directly encode the UV coordinates of the three vertices of the initial triangle, and store the three edges of the initial triangle into the edge set.
- Step S2 Select the edge ⁇ from the set according to the access criteria, and encode the UV coordinates of the point to be encoded in the new triangle formed by ⁇ .
- the UV coordinate prediction value calculation process described above taking the point to be encoded as the center, rotate and search for the target triangle that shares the vertex to be encoded with the triangle to be encoded and the remaining two points have been encoded.
- the predicted value of the point to be encoded i.e., predicted texture coordinates
- the predicted value is subtracted from the original value of the UV coordinate (i.e., the real texture coordinates) to obtain the residual.
- the target triangle when the first vertex O is an encoded vertex, or the target triangle is not a degenerate triangle, there is no need to encode the target identifier corresponding to the vertex to be encoded; when the first vertex O is an uncoded vertex, or the target triangle is a degenerate triangle In the case of , encode the target identifier corresponding to the vertex to be encoded.
- Step S3 Add the two edges of the new triangle to the edge set, remove the edge ⁇ at the top of the edge set; then take the next edge from the edge set, continue to encode the predicted UV coordinates of the vertices of the triangle adjacent to the edge, and obtain the residual difference, return to step S3, and execute step S3 in a loop until the residuals of all vertices are obtained.
- Step S4 Entropy encode the UV coordinate residual and output the UV coordinate code stream.
- the UV coordinate encoding framework of the embodiment of this application is shown in Figure 4.
- the overall encoding process is:
- the reconstructed geometric information and connection relationships can be used to encode UV coordinates; first, select a triangle as the initial triangle and directly encode the coordinate values; secondly, select the initial triangle
- the adjacent triangle is used as the triangle to be encoded, with the vertex to be encoded in the triangle to be encoded as the center, and the rotation search is a target triangle that shares the vertex to be encoded with the triangle to be encoded and the remaining two points have been encoded; through the encoded UV coordinates and texture of the target triangle
- the projection relationship predicts the UV coordinate value of the uncoded vertex of the selected initial edge-adjacent triangle, codes the difference between the true UV coordinate of the vertex to be coded and the predicted coordinate value, and selects a new edge in the new coded triangle to code. Adjacent triangles have no encoded vertices, and this process is continuously iterated to complete the encoding of the UV coordinates of the entire three-dimensional mesh.
- FIG. 5 is a schematic flowchart of a decoding method provided by an embodiment of the present application.
- the decoding method provided in this embodiment includes the following steps:
- S502 Determine N predicted texture coordinates of each vertex in the target three-dimensional grid by using multiple decoded triangles to predict vertices based on the geometric information and connection relationships.
- S503 Determine the real texture coordinates of each vertex based on the N predicted texture coordinates of each vertex and the texture coordinate residual of each vertex.
- determining the N predicted texture coordinates of each vertex in the target three-dimensional mesh by using multiple decoded triangles to predict vertices based on the geometric information and connection relationships includes:
- the decoding end selects the first edge in the edge set, and determines the triangle corresponding to the first edge and the triangle with the vertex to be decoded as the opposite vertex and not including the first edge as the target triangle; the target triangle
- the vertices other than the vertices to be decoded are decoded vertices, and the corresponding vertices of the first side in the triangle corresponding to the first side are the vertices to be encoded;
- the decoding end obtains the predicted texture coordinates of the vertex to be decoded in the target triangle.
- obtaining the predicted texture coordinates of the to-be-decoded vertex in the target triangle includes:
- the decoding end obtains the texture coordinates of the projection point of the vertex to be decoded on the first side according to the geometric coordinates of each vertex of the target triangle;
- the decoding end obtains the predicted texture coordinates of the vertex to be decoded based on the texture coordinates of the projection point.
- obtaining the texture coordinates of the projection point of the vertex to be decoded on the first side according to the geometric coordinates of each vertex of the target triangle includes:
- the decoding end is based on The sum of N uv and N uv obtains the texture coordinates of the projection point of the vertex to be encoded on the first edge, or according to N uv and The difference value obtains the texture coordinates of the projection point of the vertex to be encoded on the first edge;
- N uv is the texture coordinate of the vertex N on the first side of the target triangle
- N uv is a vector from the texture coordinates of the vertex N on the first side of the target triangle to the projection point X of the vertex to be decoded on the first side
- the decoding end can obtain the texture coordinates of the projection point of the vertex to be decoded on the first side according to the first formula.
- the first formula is or
- X uv is the texture coordinate of the projection point of the vertex to be encoded on the first side
- N uv is the texture coordinate of the vertex N on the first side of the target triangle
- a vector of texture coordinates projecting point X to vertex N on the first side of the target triangle is the vector of geometric coordinates from vertex N to vertex P on the first edge; is the vector from the vertex N on the first edge to the geometric coordinate C G of the vertex to be encoded; is the vector of texture coordinates from vertex N to vertex P on the first edge; is a vector of geometric coordinates from vertex N to vertex P on the first edge.
- obtaining the predicted texture coordinates of the vertex to be decoded according to the texture coordinates of the projection point includes:
- the decoding end determines the decoding end based on X uv and Obtain the texture coordinates of the vertex to be decoded; the first triangle and the target triangle have a common first side, and the opposite vertex of the first side of the first triangle is the first vertex O;
- X uv is the texture coordinate of the projection point X of the vertex to be encoded on the first edge, is a vector from the projection point X of the vertex to be encoded on the first edge to the texture coordinate C uv of the vertex to be encoded.
- the decoding end can obtain the texture coordinates of the vertex to be decoded according to the second formula.
- Pred C_NP is the predicted texture coordinate of the vertex to be encoded
- X uv is the texture coordinate of the projection point X of the vertex to be encoded on the first edge
- O uv is the texture coordinate of the first vertex corresponding to the first side of the target triangle
- obtaining the predicted texture coordinates of the vertex to be decoded according to the texture coordinates of the projection point includes:
- the decoding end reads the target identifier corresponding to the point to be decoded, X uv and Determine the texture coordinates of the vertex to be decoded; the first triangle and the target triangle have a common first side, and the opposite vertex of the first side of the first triangle is the first vertex O;
- X uv is the texture coordinate of the projection point X of the vertex to be encoded on the first edge, is a vector from the projection point X of the vertex to be encoded on the first edge to the texture coordinate C uv of the vertex to be encoded.
- the decoding end may determine the texture coordinates of the vertex to be decoded based on the read target identifier corresponding to the point to be decoded and the third formula.
- Pred C_NP is the predicted texture coordinate of the vertex to be encoded
- X uv is the texture coordinate of the projection point X of the vertex to be encoded on the first edge; is the vector from the projection point X of the vertex to be encoded on the first edge to the texture coordinate C uv of the vertex to be encoded
- C uv is the texture coordinate of the vertex to be encoded
- the target identifier is used to characterize the size relationship between
- the method before selecting the first edge from the edge set, the method further includes:
- the decoding end selects an initial triangle based on the geometric information and connection relationship
- the decoding end decodes the texture coordinates of the three vertices of the initial triangle, and stores the three edges of the initial triangle into an edge set.
- the method further includes:
- the decoding end stores the second side in the target triangle into the side set and deletes the first side from the side set, where the second side is not included in the target triangle.
- An edge in an edge collection is not included in the target triangle.
- determining the true texture coordinates of each vertex based on the N predicted texture coordinates of each vertex and the texture coordinate residual of each vertex includes:
- the decoder determines the target value corresponding to the N predicted texture coordinates of the vertex as the target texture coordinate of the vertex;
- the decoding end performs an addition operation on the target texture coordinates of the vertex and the texture coordinate residual of the vertex to determine the real texture coordinates of the vertex.
- the embodiment of the present application is the reverse process of encoding.
- the decoding block diagram is shown in Figure 6. That is, the decoding process of UV coordinates is to first decode the geometric information and connection relationships, and then decode the code stream based on the geometric information and connection relationships. Obtain the residual, then obtain the predicted UV coordinates, and finally use the residual and predicted UV coordinates to obtain the real UV coordinates to achieve decoding of the UV coordinates; the method of predicting UV coordinates in the embodiment of the present application can be See the description of the encoding side and will not go into details here.
- Step SP1 Entropy decode UV coordinate code stream, which includes UV coordinate residual and target identification.
- Step SP2 Decode the UV coordinates of the three vertices of the initial triangle.
- the prediction value is not calculated here.
- the UV coordinates of the initial triangle are directly encoded instead of encoding the residual; the three sides of the initial triangle are stored in the edge set.
- Step SP3 Select edge ⁇ from the edge set according to the access criteria, and decode the UV coordinates of the vertices of the new triangle composed of Calculate the UV coordinate prediction value of the decoded point for each decoded triangle, and then add the predicted value and the residual of entropy decoding to obtain the reconstructed UV coordinates.
- the target identifier is used to calculate the UV coordinate prediction value of the point to be decoded.
- Step SP4 Add the two edges of the new triangle to the edge set, remove the edge ⁇ at the top of the set, take the next edge from the edge set, continue to decode the UV coordinates of the vertices of the triangle adjacent to the edge, and return to step SP3 until all The UV coordinates of the vertices are decoded.
- the embodiment of the present application is a counterpart method embodiment corresponding to the embodiment of the encoding method.
- the decoding process is the reverse process of encoding. All the implementation methods of the encoding end are applicable to the embodiment of the decoding end, and also The same technical effect can be achieved and will not be described again here.
- the execution subject may be an encoding device.
- the encoding device performing the encoding method is taken as an example to describe the encoding device provided by the embodiment of the present application.
- this embodiment of the present application also provides an encoding device 700, which includes:
- the reconstruction module 701 is used to reconstruct the geometric information and connection relationships of the target three-dimensional grid according to the coding results of the geometric information and connection relationships of the target three-dimensional grid;
- the determination module 702 is used to determine N predicted texture coordinates of each vertex in the target three-dimensional grid by using multiple encoded triangles to predict vertices based on the reconstructed geometric information and connection relationships, where N is a positive value greater than 1. integer;
- the encoding module 703 is used to encode the texture coordinate residual of each vertex; the texture coordinate residual of the vertex is determined based on the N predicted texture coordinates of the vertex.
- the determination module 702 is specifically used to:
- the vertices other than the vertex are coded vertices, and the opposite vertex of the first side in the triangle corresponding to the first side is the vertex to be coded;
- For each target triangle obtain the predicted texture coordinates of the vertex to be encoded in the target triangle.
- the determination module 702 is also specifically used to:
- the predicted texture coordinates of the vertex to be encoded are obtained.
- the determination module 702 is also specifically used to:
- N uv and N uv obtains the texture coordinates of the projection point of the vertex to be encoded on the first edge, or according to N uv and The difference value obtains the texture coordinates of the projection point of the vertex to be encoded on the first edge;
- N uv is the texture coordinate of the vertex N on the first side of the target triangle
- N uv is a vector from the texture coordinates of the vertex N on the first side of the target triangle to the projection point X of the vertex to be encoded on the first side
- the determination module 702 is also specifically used to:
- the first vertex O corresponding to the first edge is a coded vertex, or the first triangle is not a degenerate triangle, according to X uv and Obtain the texture coordinates of the vertex to be encoded; the first triangle and the target triangle have a common first side, and the opposite vertex of the first side of the first triangle is the first vertex O;
- X uv is the texture coordinate of the projection point X of the vertex to be encoded on the first edge, is a vector from the projection point X of the vertex to be encoded on the first edge to the texture coordinate C uv of the vertex to be encoded.
- the determination module 702 is also specifically used to:
- the first edge corresponding to the first vertex O is an uncoded vertex, or the first triangle is a degenerate triangle, according to X uv and Obtain the texture coordinates of the vertex to be encoded, and encode the target identifier corresponding to the vertex to be encoded; the first triangle and the target triangle have a common first side, and the first side of the first triangle The pair of vertices is the first vertex O;
- X uv is the texture coordinate of the projection point X of the vertex to be encoded on the first edge, is a vector from the projection point X of the vertex to be encoded on the first edge to the texture coordinate C uv of the vertex to be encoded.
- the determination module 702 is also specifically used to:
- the texture coordinates of the three vertices of the initial triangle are encoded, and the three edges of the initial triangle are stored in an edge set.
- the determination module 702 is also specifically used to:
- the encoding module 703 is specifically used for:
- a texture coordinate residual of the vertex is encoded, the residual being determined based on the true texture coordinate of the vertex and the target texture coordinate of the vertex.
- the geometric information and connection relations of the target three-dimensional mesh are reconstructed according to the coding results of the target three-dimensional mesh and the connection relations; according to the reconstructed geometric information and connection relations, multiple coded triangles are used to predict Vertex method, determine N predicted texture coordinates of each vertex in the target three-dimensional mesh; encode the texture coordinate residual of each vertex.
- multiple coded triangles are used to predict the vertices to obtain N predicted texture coordinates of each vertex.
- This device embodiment corresponds to the above-mentioned encoding method embodiment shown in Figure 1.
- Each implementation process and implementation method on the encoding end in the above-mentioned method embodiment can be applied to this device embodiment, and can achieve the same technical effect.
- the execution subject may be a decoding device.
- the decoding device performing the decoding method is taken as an example to illustrate the decoding device provided by the embodiment of the present application.
- this embodiment of the present application also provides a decoding device 800, which includes:
- the decoding module 801 is used to decode the obtained code stream corresponding to the target three-dimensional grid to obtain the geometric information and connection relationship of the target three-dimensional grid, and to decode the obtained code stream corresponding to each vertex to obtain the geometric information of each vertex. Texture coordinate residual;
- the first determination module 802 is used to determine N predicted texture coordinates of each vertex in the target three-dimensional grid by using multiple decoded triangles to predict vertices based on the geometric information and connection relationships, where N is greater than 1 a positive integer;
- the second determination module 803 is configured to determine the real texture coordinate of each vertex based on the N predicted texture coordinates of each vertex and the texture coordinate residual of each vertex.
- the first determination module 802 is specifically used to:
- For each target triangle obtain the predicted texture coordinates of the vertex to be decoded in the target triangle.
- the first determination module 802 is also specifically used to:
- the predicted texture coordinates of the vertex to be decoded are obtained.
- the first determination module 802 is also specifically used to:
- N uv and N uv obtains the texture coordinates of the projection point of the vertex to be encoded on the first edge, or according to N uv and The difference value obtains the texture coordinates of the projection point of the vertex to be encoded on the first edge;
- N uv is the texture coordinate of the vertex N on the first side of the target triangle
- N uv is a vector from the texture coordinates of the vertex N on the first side of the target triangle to the projection point X of the vertex to be decoded on the first side
- the first determination module 802 is also specifically used to:
- the first vertex O corresponding to the first edge is a decoded vertex, or the first triangle is not a degenerate triangle, according to X uv and Obtain the texture coordinates of the vertex to be decoded; the first triangle and the target triangle have a common first side, and the opposite vertex of the first side of the first triangle is the first vertex O;
- X uv is the texture coordinate of the projection point X of the vertex to be encoded on the first edge, is a vector from the projection point X of the vertex to be encoded on the first edge to the texture coordinate C uv of the vertex to be encoded.
- the first determination module 802 is also specifically used to:
- the first edge corresponding to the first vertex O is an undecoded vertex, or the first triangle is a degenerate triangle, according to the read target identifier, X uv and Determine the texture coordinates of the vertex to be decoded; the first triangle and the target triangle have a common first side, and the opposite vertex of the first side of the first triangle is the first vertex O;
- X uv is the texture coordinate of the projection point X of the vertex to be encoded on the first edge, is a vector from the projection point X of the vertex to be encoded on the first edge to the texture coordinate C uv of the vertex to be encoded.
- the first determination module 802 is also specifically used to:
- the texture coordinates of the three vertices of the initial triangle are decoded, and the three edges of the initial triangle are stored in an edge set.
- the first determination module 802 is also specifically used to:
- the second determination module 803 is also specifically used to:
- the target texture coordinates of the vertex and the texture coordinate residual of the vertex are added to determine the real texture coordinates of the vertex.
- the decoding device provided by the embodiment of the present application can implement each process implemented by the method embodiment in Figure 5, and achieve similar results. The same technical effects are not repeated here to avoid repetition.
- the encoding device and the decoding device in the embodiment of the present application may be electronic equipment, such as an electronic equipment with an operating system, or may be components in the electronic equipment, such as integrated circuits or chips.
- the electronic device may be a terminal or other devices other than the terminal.
- terminals may include but are not limited to the types of terminals listed above, and other devices may be servers, network attached storage (Network Attached Storage, NAS), etc., which are not specifically limited in the embodiments of this application.
- this embodiment of the present application also provides a communication device 900, which includes a processor 901 and a memory 902.
- the memory 902 stores programs or instructions that can be run on the processor 901, such as , when the communication device 900 is a terminal, when the program or instruction is executed by the processor 901, each step of the above encoding method embodiment is implemented and the same technical effect can be achieved, or each step of the above decoding method embodiment is realized and can achieve the same technical effect.
- An embodiment of the present application also provides a terminal, including a processor 901 and a communication interface.
- the processor 901 is configured to perform the following operations:
- processor 901 is configured to perform the following operations:
- N predicted texture coordinates of each vertex in the target three-dimensional grid are determined by using multiple decoded triangles to predict vertices;
- the true texture coordinates of each vertex are determined.
- FIG. 10 is a schematic diagram of the hardware structure of a terminal that implements an embodiment of the present application.
- the terminal 1000 includes but is not limited to: a radio frequency unit 1001, a network module 1002, an audio output unit 1003, an input unit 1004, a sensor 1005, a display unit 1006, a user input unit 1007, an interface unit 1008, a memory 1009, a processor 1010 and other components. .
- the terminal 1000 may also include a power supply (such as a battery) that supplies power to various components.
- the power supply may be logically connected to the processor 1010 through a power management system, thereby managing charging, discharging, and power consumption through the power management system. Management and other functions.
- the terminal structure shown in Figure 10 does not constitute a limitation on the terminal.
- the terminal may include more or fewer components than shown in the figure, or combine certain components, or arrange different components, which will not be discussed here. Repeat.
- the input unit 1004 may include a graphics processor (Graphics Processing Unit, GPU) 10041 and a microphone 10042.
- the graphics processor 10041 is responsible for the image capture device (GPU) in the video capture mode or the image capture mode. Process the image data of still pictures or videos obtained by cameras (such as cameras).
- the display unit 1006 may include a display panel 10061, which may be configured in the form of a liquid crystal display, an organic light emitting diode, or the like.
- the user input unit 1007 includes at least one of a touch panel 10071 and other input devices 10072 .
- Touch panel 10071 also known as touch screen.
- the touch panel 10071 may include two parts: a touch detection device and a touch controller.
- Other input devices 10072 may include but are not limited to physical keyboards, function keys (such as volume control keys, switch keys, etc.), trackballs, mice, and joysticks, which will not be described again here.
- the radio frequency unit 1001 after receiving downlink data from the network side device, the radio frequency unit 1001 can transmit it to the processor 1010 for processing; the radio frequency unit 1001 can send uplink data to the network side device.
- the radio frequency unit 1001 includes, but is not limited to, an antenna, an amplifier, a transceiver, a coupler, a low noise amplifier, a duplexer, etc.
- Memory 1009 may be used to store software programs or instructions as well as various data.
- the memory 1009 may mainly include a first storage area for storing programs or instructions and a second storage area for storing data, wherein the first storage area may store an operating system, an application program or instructions required for at least one function (such as a sound playback function, Image playback function, etc.) etc.
- memory 1009 may include volatile memory or nonvolatile memory, or memory 1009 may include both volatile and nonvolatile memory.
- non-volatile memory can be read-only memory (Read-Only Memory, ROM), programmable read-only memory (Programmable ROM, PROM), erasable programmable read-only memory (Erasable PROM, EPROM), electrically removable memory.
- Volatile memory can be random access memory (Random Access Memory, RAM), static random access memory (Static RAM, SRAM), dynamic random access memory (Dynamic RAM, DRAM), synchronous dynamic random access memory (Synchronous DRAM, SDRAM), double data rate synchronous dynamic random access memory (Double Data Rate SDRAM, DDRSDRAM), enhanced synchronous dynamic random access memory (Enhanced SDRAM, ESDRAM), synchronous link dynamic random access memory (Synch link DRAM) , SLDRAM) and direct memory bus random access memory (Direct Rambus RAM, DRRAM).
- RAM Random Access Memory
- SRAM static random access memory
- DRAM dynamic random access memory
- synchronous dynamic random access memory Synchronous DRAM, SDRAM
- Double data rate synchronous dynamic random access memory Double Data Rate SDRAM, DDRSDRAM
- enhanced SDRAM synchronous dynamic random access memory
- Synch link DRAM synchronous link dynamic random access memory
- SLDRAM direct memory bus random access memory
- Direct Rambus RAM Direct Rambus RAM
- the processor 1010 may include one or more processing units; optionally, the processor 1010 integrates an application processor and a modem processor, where the application processor mainly handles operations related to the operating system, user interface, application programs, etc., Modem processors mainly process wireless communication signals, such as baseband processors. It can be understood that the above modem processor may not be integrated into the processor 1010.
- the processor 1010 is used to perform the following operations:
- processor 1010 is configured to perform the following operations:
- N predicted texture coordinates of each vertex in the target three-dimensional grid are determined by using multiple decoded triangles to predict vertices;
- the true texture coordinates of each vertex are determined.
- Embodiments of the present application also provide a readable storage medium.
- Programs or instructions are stored on the readable storage medium.
- the program or instructions are executed by a processor, each process of the above encoding method embodiment is implemented, or the above decoding method is implemented.
- Each process of the embodiment can achieve the same technical effect, so to avoid repetition, it will not be described again here.
- the processor is the processor in the terminal described in the above embodiment.
- the readable storage medium includes computer readable storage media, such as computer read-only memory ROM, random access memory RAM, magnetic disk or optical disk, etc.
- An embodiment of the present application further provides a chip.
- the chip includes a processor and a communication interface.
- the communication interface is coupled to the processor.
- the processor is used to run programs or instructions to implement each of the above encoding method embodiments.
- the process, or each process of implementing the above decoding method embodiment, can achieve the same technical effect. To avoid repetition, it will not be described again here.
- chips mentioned in the embodiments of this application may also be called system-on-chip, system-on-a-chip, system-on-chip or system-on-chip, etc.
- Embodiments of the present application further provide a computer program/program product.
- the computer program/program product is stored in a storage medium.
- the computer program/program product is executed by at least one processor to implement the above encoding method embodiment.
- Each process, or each process that implements the above decoding method embodiment, can achieve the same technical effect. To avoid duplication, it will not be described again here.
- Embodiments of the present application further provide a system.
- the system includes an encoding end and a decoding end.
- the encoding end executes each process of the above-mentioned encoding method embodiment.
- the encoding end executes each process of the above-mentioned decoding method embodiment, and can achieve the same technical effect, so to avoid repetition, we will not repeat them here.
- the methods of the above embodiments can be implemented by means of software plus the necessary general hardware platform. Of course, it can also be implemented by hardware, but in many cases the former is better. implementation.
- the technical solution of the present application can be embodied in the form of a computer software product that is essentially or contributes to the existing technology.
- the computer software product is stored in a storage medium (such as ROM/RAM, disk , CD), including several instructions to cause a terminal (which can be a mobile phone, computer, server, air conditioner, or network device, etc.) to execute the methods described in various embodiments of this application.
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Signal Processing (AREA)
- Computer Graphics (AREA)
- Geometry (AREA)
- Image Generation (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
Abstract
Description
Claims (22)
- 一种编码方法,包括:编码端根据目标三维网格的几何信息以及连接关系的编码结果,重建目标三维网格的几何信息以及连接关系;所述编码端根据重建的几何信息以及连接关系,采用多个已编码三角形预测顶点的方式,确定所述目标三维网格中每个顶点的N个预测纹理坐标,N为大于1的正整数;所述编码端编码每个顶点的纹理坐标残差;顶点的纹理坐标残差基于所述顶点的N个预测纹理坐标确定。
- 根据权利要求1所述的方法,其中,所述根据重建的几何信息以及连接关系,采用多个已编码三角形预测顶点的方式,确定所述目标三维网格中每个顶点的N个预测纹理坐标包括:所述编码端在边集合中选择第一边,将所述第一边对应的三角形以及以待编码顶点为对顶点且不包括所述第一边的三角形,确定为目标三角形;所述目标三角形中除待编码顶点之外的顶点为已编码顶点,所述第一边对应的三角形中所述第一边的对顶点为待编码顶点;所述编码端对于每个目标三角形,获取所述待编码顶点在所述目标三角形中的预测纹理坐标。
- 根据权利要求2所述的方法,其中,所述获取所述待编码顶点在所述目标三角形中的预测纹理坐标包括:所述编码端根据所述目标三角形的各个顶点的几何坐标,获取所述待编码顶点在第一边上的投影点的纹理坐标;所述编码端根据所述投影点的纹理坐标,获取所述待编码顶点的预测纹理坐标。
- 根据权利要求3所述的方法,其中,所述根据所述目标三角形的各个顶点的几何坐标,获取所述待编码顶点在第一边上的投影点的纹理坐标,包括:所述编码端根据与Nuv的和值获取待编码顶点在第一边上的投影点的纹理坐标,或者根据Nuv与的差值获取待编码顶点在第一边上的投影点的纹理坐标;其中,Nuv为所述目标三角形的所述第一边上的顶点N的纹理坐标,为所述目标三角形的所述第一边上的顶点N至所述待编码顶点在所述第一边上的投影点X的纹理坐标的向量,为所述第一边上的投影点X至所述目标三角形的所述第一边上的顶点N的纹理坐标的向量。
- 根据权利要求3所述的方法,其中,所述根据所述投影点的纹理坐标,获取所述待编码顶点的预测纹理坐标,包括:所述编码端在所述第一边对应的第一顶点O为已编码顶点,或者第一三角形不为退化三角形的情况下,根据Xuv和获取所述待编码顶点的纹理坐标;所述第一三角形与所 述目标三角形具有公共的第一边,且所述第一三角形的第一边的对顶点为所述第一顶点O;其中,Xuv为所述待编码顶点在所述第一边上的投影点X的纹理坐标,为所述待编码顶点在所述第一边上的投影点X至待编码顶点的纹理坐标Cuv的向量。
- 根据权利要求3所述的方法,其中,所述编码端根据所述投影点的纹理坐标,获取所述待编码顶点的预测纹理坐标,包括:所述编码端在所述第一边对应第一顶点O为未编码顶点,或者第一三角形为退化三角形的情况下,根据Xuv和获取所述待编码顶点的纹理坐标,并编码所述待编码顶点对应的目标标识;所述第一三角形与所述目标三角形具有公共的第一边,且所述第一三角形的第一边的对顶点为所述第一顶点O;其中,Xuv为所述待编码顶点在所述第一边上的投影点X的纹理坐标,为所述待编码顶点在所述第一边上的投影点X至待编码顶点的纹理坐标Cuv的向量。
- 根据权利要求2所述的方法,其中,所述在边集合中选择第一边之前,所述方法还包括:所述编码端根据重建的几何信息以及连接关系,选取一个初始三角形;所述编码端对所述初始三角形的三个顶点的纹理坐标进行编码,并将所述初始三角形的三条边存入边集合。
- 根据权利要求2所述的方法,其中,所述获取所述待编码顶点在所述目标三角形中的预测纹理坐标之后,所述方法还包括:所述编码端将所述目标三角形中的第二边存入所述边集合以及从所述边集合中删除所述第一边,所述第二边为所述目标三角形中未包含于所述边集合中的边。
- 根据权利要求1所述的方法,其中,所述编码每个顶点的纹理坐标残差包括:所述编码端对于任意一个顶点,将所述顶点的N个预测纹理坐标对应的目标值确定为所述顶点的目标纹理坐标;所述编码端编码所述顶点的纹理坐标残差,所述残差基于所述顶点的真实纹理坐标和所述顶点的目标纹理坐标确定。
- 一种解码方法,包括:解码端解码获取的与目标三维网格对应的码流得到所述目标三维网格的几何信息以及连接关系,解码获取的与每个顶点对应的码流得到所述每个顶点的纹理坐标残差;所述解码端根据所述几何信息以及连接关系,采用多个已解码三角形预测顶点的方式,确定所述目标三维网格中每个顶点的N个预测纹理坐标,N为大于1的正整数;所述解码端基于所述每个顶点的N个预测纹理坐标和所述每个顶点的纹理坐标残差,确定所述每个顶点的真实纹理坐标。
- 根据权利要求10所述的方法,其中,所述根据所述几何信息以及连接关系,采用多个已解码三角形预测顶点的方式,确定所述目标三维网格中每个顶点的N个预测纹理坐标包括:所述解码端在边集合中选择第一边,将所述第一边对应的三角形以及以待解码顶点为对顶点且不包括所述第一边的三角形,确定为目标三角形;所述目标三角形中除待解码顶 点之外的顶点为已解码顶点,所述第一边对应的三角形中所述第一边的对顶点为待编码顶点;所述解码端对于每个目标三角形,获取所述待解码顶点在所述目标三角形中的预测纹理坐标。
- 根据权利要求11所述的方法,其中,所述获取所述待解码顶点在所述目标三角形中的预测纹理坐标包括:所述解码端根据所述目标三角形的各个顶点的几何坐标,获取所述待解码顶点在第一边上的投影点的纹理坐标;所述解码端根据所述投影点的纹理坐标,获取所述待解码顶点的预测纹理坐标。
- 根据权利要求12所述的方法,其中,所述根据所述目标三角形的各个顶点的几何坐标,获取所述待解码顶点在第一边上的投影点的纹理坐标包括:所述解码端根据与Nuv的和值获取待编码顶点在第一边上的投影点的纹理坐标,或者根据Nuv与的差值获取待编码顶点在第一边上的投影点的纹理坐标;其中,Nuv为所述目标三角形的所述第一边上的顶点N的纹理坐标,为所述目标三角形的所述第一边上的顶点N至所述待解码顶点在所述第一边上的投影点X的纹理坐标的向量,为所述第一边上的投影点X至所述目标三角形的所述第一边上的顶点N的纹理坐标的向量。
- 根据权利要求12所述的方法,其中,所述根据所述投影点的纹理坐标,获取所述待解码顶点的预测纹理坐标包括:所述解码端在所述第一边对应的第一顶点O为已解码顶点,或者第一三角形不为退化三角形的情况下,根据Xuv和获取所述待解码顶点的纹理坐标;所述第一三角形与所述目标三角形具有公共的第一边,且所述第一三角形的第一边的对顶点为所述第一顶点O;其中,Xuv为所述待编码顶点在所述第一边上的投影点X的纹理坐标,为所述待编码顶点在所述第一边上的投影点X至待编码顶点的纹理坐标Cuv的向量。
- 根据权利要求12所述的方法,其中,所述根据所述投影点的纹理坐标,获取所述待解码顶点的预测纹理坐标包括:所述解码端在所述第一边对应第一顶点O为未解码顶点,或者第一三角形为退化三角形的情况下,根据读取到的所述待解码点对应的目标标识、Xuv和确定所述待解码顶点的纹理坐标;所述第一三角形与所述目标三角形具有公共的第一边,且所述第一三角形的第一边的对顶点为所述第一顶点O;其中,Xuv为所述待编码顶点在所述第一边上的投影点X的纹理坐标,为所述待编码顶点在所述第一边上的投影点X至待编码顶点的纹理坐标Cuv的向量。
- 根据权利要求11所述的方法,其中,所述在边集合中选择第一边之前,所述方法还包括:所述解码端根据所述几何信息以及连接关系,选取一个初始三角形;所述解码端对所述初始三角形的三个顶点的纹理坐标进行解码,并将所述初始三角形 的三条边存入边集合。
- 根据权利要求11所述的方法,其中,所述获取所述待解码顶点在所述目标三角形中的预测纹理坐标之后,所述方法还包括:所述解码端将所述目标三角形中的第二边存入所述边集合以及从所述边集合中删除所述第一边,所述第二边为所述目标三角形中未包含于所述边集合中的边。
- 根据权利要求10所述的方法,其中,所述基于所述每个顶点的N个预测纹理坐标和所述每个顶点的纹理坐标残差,确定所述每个顶点的真实纹理坐标包括:所述解码端对于任意一个顶点,将所述顶点的N个预测纹理坐标对应的目标值确定为所述顶点的目标纹理坐标;所述解码端对所述顶点的目标纹理坐标与所述顶点的纹理坐标残差做加法运算,确定所述顶点的真实纹理坐标。
- 一种编码装置,包括:重建模块,用于根据目标三维网格的几何信息以及连接关系的编码结果,重建目标三维网格的几何信息以及连接关系;确定模块,用于根据重建的几何信息以及连接关系,采用多个已编码三角形预测顶点的方式,确定所述目标三维网格中每个顶点的N个预测纹理坐标,N为大于1的正整数;编码模块,用于编码每个顶点的纹理坐标残差;顶点的纹理坐标残差基于所述顶点的N个预测纹理坐标确定。
- 一种解码装置,包括:解码模块,用于解码获取的与目标三维网格对应的码流得到所述目标三维网格的几何信息以及连接关系,解码获取的与每个顶点对应的码流得到所述每个顶点的纹理坐标残差;第一确定模块,用于根据所述几何信息以及连接关系,采用多个已解码三角形预测顶点的方式,确定所述目标三维网格中每个顶点的N个预测纹理坐标,第二确定模块,用于基于所述每个顶点的N个预测纹理坐标和所述每个顶点的纹理坐标残差,确定所述每个顶点的真实纹理坐标。
- 一种终端,包括处理器和存储器,所述存储器存储可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如权利要求1-9中任一项所述的编码方法的步骤,或者实现如权利要求10-18中任一项所述的解码方法的步骤。
- 一种可读存储介质,所述可读存储介质上存储程序或指令,所述程序或指令被处理器执行时实现如权利要求1-9中任一项所述的编码方法的步骤,或者实现如权利要求10-18中任一项所述的解码方法的步骤。
Priority Applications (5)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| EP23834718.1A EP4554216A4 (en) | 2022-07-06 | 2023-06-29 | METHOD, APPARATUS AND DEVICE FOR CODING, AND METHOD, APPARATUS AND DEVICE FOR DECODING |
| KR1020257002231A KR20250028394A (ko) | 2022-07-06 | 2023-06-29 | 부호화, 복호화 방법, 장치 및 기기 |
| JP2024576963A JP2025522616A (ja) | 2022-07-06 | 2023-06-29 | コーディング、デコーディング方法、装置及び機器 |
| MX2024016027A MX2024016027A (es) | 2022-07-06 | 2024-12-18 | Metodo y aparato de codificacion, metodo y aparato de decodificacion y dispositivo |
| US19/010,127 US20250131601A1 (en) | 2022-07-06 | 2025-01-05 | Encoding method and apparatus, decoding method and apparatus, and device |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202210800663.6 | 2022-07-06 | ||
| CN202210800663.6A CN117412058A (zh) | 2022-07-06 | 2022-07-06 | 编码、解码方法、装置及设备 |
Related Child Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US19/010,127 Continuation US20250131601A1 (en) | 2022-07-06 | 2025-01-05 | Encoding method and apparatus, decoding method and apparatus, and device |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2024007951A1 true WO2024007951A1 (zh) | 2024-01-11 |
Family
ID=89454273
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/CN2023/103922 Ceased WO2024007951A1 (zh) | 2022-07-06 | 2023-06-29 | 编码、解码方法、装置及设备 |
Country Status (7)
| Country | Link |
|---|---|
| US (1) | US20250131601A1 (zh) |
| EP (1) | EP4554216A4 (zh) |
| JP (1) | JP2025522616A (zh) |
| KR (1) | KR20250028394A (zh) |
| CN (1) | CN117412058A (zh) |
| MX (1) | MX2024016027A (zh) |
| WO (1) | WO2024007951A1 (zh) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2026011434A1 (zh) * | 2024-07-12 | 2026-01-15 | Oppo广东移动通信有限公司 | 网格解码、编码方法、装置、编解码器及介质 |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US12335522B2 (en) * | 2022-07-08 | 2025-06-17 | Tencent America LLC | Vertex position coding in mesh compression |
Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN101626509A (zh) * | 2009-08-10 | 2010-01-13 | 北京工业大学 | 三维网格编码、解码方法及编码、解码装置 |
| CN102625126A (zh) * | 2012-03-22 | 2012-08-01 | 北京工业大学 | 一种基于预测的三维网格编码方法 |
| US20130106834A1 (en) * | 2011-11-02 | 2013-05-02 | Visual Technology Services Limited | Compression of texture rendered wire mesh models |
| US20200098137A1 (en) * | 2018-09-26 | 2020-03-26 | Google Llc | Texture coordinate compression using texture atlas |
| US20210090301A1 (en) * | 2019-09-24 | 2021-03-25 | Apple Inc. | Three-Dimensional Mesh Compression Using a Video Encoder |
| CN113938667A (zh) * | 2021-10-25 | 2022-01-14 | 深圳普罗米修斯视觉技术有限公司 | 基于视频流数据的视频数据传输方法、装置及存储介质 |
Family Cites Families (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP2216750A1 (en) * | 2009-02-06 | 2010-08-11 | Thomson Licensing | Method and apparatus for encoding 3D mesh models, and method and apparatus for decoding encoded 3D mesh models |
| EP2309648A1 (en) * | 2009-09-14 | 2011-04-13 | Thomson Licensing | Method for encoding floating-point data, method for decoding floating-point data, and corresponding encoder and decoder |
| US20230377205A1 (en) * | 2022-05-20 | 2023-11-23 | Tencent America LLC | Vertex position prediction in mesh compression |
-
2022
- 2022-07-06 CN CN202210800663.6A patent/CN117412058A/zh active Pending
-
2023
- 2023-06-29 EP EP23834718.1A patent/EP4554216A4/en active Pending
- 2023-06-29 WO PCT/CN2023/103922 patent/WO2024007951A1/zh not_active Ceased
- 2023-06-29 JP JP2024576963A patent/JP2025522616A/ja active Pending
- 2023-06-29 KR KR1020257002231A patent/KR20250028394A/ko active Pending
-
2024
- 2024-12-18 MX MX2024016027A patent/MX2024016027A/es unknown
-
2025
- 2025-01-05 US US19/010,127 patent/US20250131601A1/en active Pending
Patent Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN101626509A (zh) * | 2009-08-10 | 2010-01-13 | 北京工业大学 | 三维网格编码、解码方法及编码、解码装置 |
| US20130106834A1 (en) * | 2011-11-02 | 2013-05-02 | Visual Technology Services Limited | Compression of texture rendered wire mesh models |
| CN102625126A (zh) * | 2012-03-22 | 2012-08-01 | 北京工业大学 | 一种基于预测的三维网格编码方法 |
| US20200098137A1 (en) * | 2018-09-26 | 2020-03-26 | Google Llc | Texture coordinate compression using texture atlas |
| US20210090301A1 (en) * | 2019-09-24 | 2021-03-25 | Apple Inc. | Three-Dimensional Mesh Compression Using a Video Encoder |
| CN113938667A (zh) * | 2021-10-25 | 2022-01-14 | 深圳普罗米修斯视觉技术有限公司 | 基于视频流数据的视频数据传输方法、装置及存储介质 |
Non-Patent Citations (1)
| Title |
|---|
| See also references of EP4554216A4 * |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2026011434A1 (zh) * | 2024-07-12 | 2026-01-15 | Oppo广东移动通信有限公司 | 网格解码、编码方法、装置、编解码器及介质 |
Also Published As
| Publication number | Publication date |
|---|---|
| EP4554216A1 (en) | 2025-05-14 |
| MX2024016027A (es) | 2025-02-10 |
| KR20250028394A (ko) | 2025-02-28 |
| JP2025522616A (ja) | 2025-07-15 |
| CN117412058A (zh) | 2024-01-16 |
| EP4554216A4 (en) | 2025-10-29 |
| US20250131601A1 (en) | 2025-04-24 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| WO2022257970A1 (zh) | 点云的几何信息编码处理方法、解码处理方法及相关设备 | |
| WO2024007951A1 (zh) | 编码、解码方法、装置及设备 | |
| CN115474051B (zh) | 点云编码方法、点云解码方法及终端 | |
| WO2022257971A1 (zh) | 点云编码处理方法、点云解码处理方法及相关设备 | |
| WO2024001953A1 (zh) | 无损编码方法、无损解码方法、装置及设备 | |
| WO2023246686A1 (zh) | 无损编码方法、无损解码方法、装置及设备 | |
| WO2022257978A1 (zh) | 点云编码方法、解码方法及装置 | |
| US10553035B2 (en) | Valence based implicit traversal for improved compression of triangular meshes | |
| WO2023098820A1 (zh) | 点云编码、解码方法、装置及通信设备 | |
| WO2024140568A1 (zh) | 图像处理方法、装置、电子设备及可读存储介质 | |
| WO2024017008A1 (zh) | 编码、解码方法、装置及设备 | |
| US9232222B2 (en) | Lossless color image compression adaptively using spatial prediction or inter-component prediction | |
| WO2023098802A1 (zh) | 点云属性编码方法、点云属性解码方法及终端 | |
| WO2023098801A1 (zh) | 点云属性编码方法、点云解码方法及终端 | |
| CN116939214A (zh) | 编码、解码方法、装置及设备 | |
| WO2024083043A1 (zh) | 网格编码方法、装置、通信设备及可读存储介质 | |
| WO2023155779A1 (zh) | 编码方法、解码方法、装置及通信设备 | |
| US20240121439A1 (en) | Point cloud attribute information encoding method and apparatus, point cloud attribute information decoding method and apparatus, and related device | |
| WO2024083039A1 (zh) | 网格编码方法、网格解码方法及相关设备 | |
| WO2023193707A1 (zh) | 编码、解码方法、装置及设备 | |
| CN116233426A (zh) | 属性量化、反量化方法、装置及设备 | |
| CN118612445B (zh) | 一种视频编解码方法和相关装置 | |
| WO2024245112A1 (zh) | 点云编码处理方法、点云解码处理方法及相关设备 | |
| WO2024120325A1 (zh) | 点云编码方法、点云解码方法及终端 | |
| CN116760986A (zh) | 候选运动矢量生成方法、装置、计算机设备和存储介质 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 23834718 Country of ref document: EP Kind code of ref document: A1 |
|
| WWE | Wipo information: entry into national phase |
Ref document number: MX/A/2024/016027 Country of ref document: MX |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 2024576963 Country of ref document: JP |
|
| ENP | Entry into the national phase |
Ref document number: 20257002231 Country of ref document: KR Kind code of ref document: A |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 202527006061 Country of ref document: IN |
|
| REG | Reference to national code |
Ref country code: BR Ref legal event code: B01A Ref document number: 112024027395 Country of ref document: BR |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 2023834718 Country of ref document: EP |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| ENP | Entry into the national phase |
Ref document number: 2023834718 Country of ref document: EP Effective date: 20250206 |
|
| WWP | Wipo information: published in national office |
Ref document number: MX/A/2024/016027 Country of ref document: MX |
|
| WWP | Wipo information: published in national office |
Ref document number: 1020257002231 Country of ref document: KR Ref document number: 202527006061 Country of ref document: IN |
|
| WWP | Wipo information: published in national office |
Ref document number: 2023834718 Country of ref document: EP |
|
| ENP | Entry into the national phase |
Ref document number: 112024027395 Country of ref document: BR Kind code of ref document: A2 Effective date: 20241227 |