Mesh parameterization partition arrangement information coding and decoding method and device

By encoding the partition information and arrangement information of the three-dimensional grid, the problem of low texture coordinate encoding efficiency in the prior art is solved, and more efficient three-dimensional grid encoding and decoding is achieved.

CN119815057APending Publication Date: 2025-04-11XIAN LIGHT CONE VISION TECHNOLOGY CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202311310262.3
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2023-10-10
Publication Date
2025-04-11

AI Technical Summary

Technical Problem

When encoding high-resolution attribute information of a three-dimensional grid, especially texture coordinates, there is a problem of high bit count and high encoding complexity, which affects coding efficiency.

Method used

By obtaining the partition information of each face of the three-dimensional grid and the arrangement information of the corresponding partitions, the texture coordinates are encoded using this information, including the projection plane index, rotation angle, position, size and scaling information of the partition, and encoding according to the preset encoding method to generate an output code stream.

Benefits of technology

The number of bits required for encoding is reduced, the encoding and decoding efficiency of the three-dimensional grid is improved, and the encoding process of texture coordinates is simplified.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119815057A_ABST
    Figure CN119815057A_ABST
Patent Text Reader

Abstract

The invention relates to a grid parameterization partition arrangement information coding and decoding method and device, and the coding method comprises the steps: obtaining the partition information of each surface of a three-dimensional grid and the arrangement information of a corresponding partition, and the partition information and the arrangement information of the corresponding partition are used for representing texture coordinates; and encoding the arrangement information of the partitions according to a preset encoding mode to obtain an output code stream. The decoding method comprises the following steps: decoding an input code stream, and decoding by adopting a corresponding decoding mode based on the coding mode of the arrangement information of the partitions to obtain the arrangement information of the partitions. According to the invention, by encoding the partition information used for representing the texture coordinates of the three-dimensional grid and the arrangement information of the corresponding partitions, the bit number required by encoding is reduced, and the encoding and decoding efficiency of the three-dimensional grid is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention belongs to the technical field of three-dimensional grid coding and decoding, and in particular relates to a grid parameterized partition arrangement information coding and decoding method and device thereof. Background Art

[0002] In recent years, with the rapid development of multimedia technology, related research results have been rapidly industrialized and have become an indispensable part of people's lives. Three-dimensional models have become a new generation of digital media after audio, images, and videos. Three-dimensional grids are a commonly used way to represent three-dimensional models. Compared with traditional multimedia such as images and videos, three-dimensional grid models have stronger interactivity and realism, making them more and more widely used in various fields such as commerce, manufacturing, construction, education, medicine, entertainment, art, and military.

[0003] Although there are many ways to represent 3D meshes, triangular meshes are still the most common representation method. A 3D mesh can be considered to be composed of three basic elements: vertices, edges, and faces. Vertices are the most basic elements in a mesh, and they define a position in a 3D space. Edges are line segments connecting two vertices in a mesh. Faces can be considered as polygons formed by closed paths of edges. For a triangular mesh, each face is a triangle.

[0004] The information contained in the mesh is usually divided into three categories: geometric information, connection information, and attribute information. Geometric information refers to the position of each vertex of the mesh in three-dimensional space. Connection information describes the association between elements in the mesh, that is, the connection relationship between vertices. Attribute information is optional, and it can associate attributes to corresponding mesh elements (such as vertex color, normal vector, etc. can be associated with mesh vertices). Mesh parameterization can also be used to map the mesh from three-dimensional space to a two-dimensional plane area. This mapping relationship is usually described by a set of parameter coordinates, called UV coordinates or texture coordinates, which are associated with mesh vertices. This two-dimensional mapping can be used to represent high-resolution attribute information, such as textures, normal vectors, etc.

[0005] In almost all application fields that use 3D meshes (such as computational simulation, entertainment, medical imaging, digital cultural relics, computer design, e-commerce, etc.), as people's demand for the visual effects of 3D mesh models increases, the models are becoming more and more complex, the accuracy of the models is also increasing, and the demand for mesh parameterization is increasing. Because mesh parameterization can generate high-precision attribute information for meshes, it is very necessary to propose an efficient mesh parameterization method.

[0006] At the same time, mesh compression can also be considered as a way to solve the above problems. For meshes containing high-resolution attribute information, they contain information such as texture coordinates. However, directly encoding texture coordinates has a high bit number and high encoding complexity, which will affect the encoding efficiency. Summary of the invention

[0007] In order to solve the above problems existing in the prior art, the present invention provides a method and device for encoding and decoding grid parameterized partition arrangement information. The technical problem to be solved by the present invention is achieved through the following technical solutions:

[0008] In a first aspect, the present invention provides a method for encoding grid parameterized partition arrangement information, comprising:

[0009] Acquire partition information of each face of the three-dimensional mesh and arrangement information of the corresponding partitions, wherein the partition information and arrangement information of the corresponding partitions are used to represent texture coordinates;

[0010] The arrangement information of the partitions includes: a projection plane index of the partitions, an angle index of rotation when the partitions are arranged on the image, a position of the upper left corner of the partition bounding box when the partitions are arranged on the image, a width and a height of the partition bounding box when the partitions are arranged on the image, an identification of whether the partitions are scaled, and at least one of a scaling factor of the corresponding partition;

[0011] The arrangement information of the partitions is encoded according to a preset encoding method to obtain an output code stream.

[0012] In a second aspect, the present invention provides a grid parameterized partition arrangement information encoding device, comprising:

[0013] A mesh parameterization module, used to obtain partition information of each face of the three-dimensional mesh and arrangement information of the corresponding partitions, wherein the partition information and arrangement information of the corresponding partitions are used to represent texture coordinates;

[0014] The arrangement information of the partitions includes: a projection plane index of the partitions, an angle index of rotation when the partitions are arranged on the image, a position of the upper left corner of the partition bounding box when the partitions are arranged on the image, a width and a height of the partition bounding box when the partitions are arranged on the image, an identification of whether the partitions are scaled, and at least one of a scaling factor of the corresponding partition;

[0015] The encoding module is used to encode the arrangement information of the partitions according to a preset encoding method to obtain an output code stream.

[0016] In a third aspect, the present invention provides a method for decoding grid parameterized partition arrangement information, comprising:

[0017] Decoding the input code stream, and based on the encoding method of the arrangement information of the partitions, decoding using a corresponding decoding method to obtain the arrangement information of the partitions;

[0018] Among them, the arrangement information of the partition includes: the projection plane index of the partition, the rotation angle index when the partition is arranged on the image, the position of the upper left corner of the partition bounding box when the partition is arranged on the image, the width and height of the partition bounding box when the partition is arranged on the image, an indication of whether the partition is scaled and at least one of the scaling factors of the corresponding partition.

[0019] In a fourth aspect, the present invention provides a grid parameterized partition arrangement information decoding device, comprising:

[0020] A decoding module, used to decode the input code stream, and based on the encoding method of the arrangement information of the partitions, use a corresponding decoding method to decode and obtain the arrangement information of the partitions;

[0021] Among them, the arrangement information of the partition includes: the projection plane index of the partition, the rotation angle index when the partition is arranged on the image, the position of the upper left corner of the partition bounding box when the partition is arranged on the image, the width and height of the partition bounding box when the partition is arranged on the image, an indication of whether the partition is scaled and at least one of the scaling factors of the corresponding partition.

[0022] Compared with the prior art, the present invention has the following beneficial effects:

[0023] The present invention provides a mesh parameterized partition arrangement information encoding and decoding scheme, in which the partition information of each face of a three-dimensional mesh and the arrangement information of the corresponding partition are obtained, the partition information and the arrangement information of the corresponding partition are used to represent texture coordinates, and the arrangement information of the partition is encoded according to a preset encoding method to obtain an output code stream; in the decoding scheme, the input code stream is decoded, and based on the encoding method of the partition arrangement information, the partition arrangement information is decoded using a corresponding decoding method to obtain the partition arrangement information; wherein the partition arrangement information includes: a projection plane index of the partition, an angle index of rotation when the partition is arranged on an image, a position of the upper left corner of the partition bounding box when the partition is arranged on the image, a width and height of the partition bounding box when the partition is arranged on the image, an identification of whether the partition is scaled, and at least one of the scaling factors of the corresponding partition. The present invention reduces the number of bits required for encoding and improves the encoding and decoding efficiency of the three-dimensional mesh by encoding the partition information used to represent the texture coordinates of the three-dimensional mesh and the arrangement information of the corresponding partition.

[0024] The above description is only an overview of the technical solution of the present invention. In order to more clearly understand the technical means of the present invention, it can be implemented in accordance with the contents of the specification. In order to make the above and other purposes, features and advantages of the present invention more obvious and easy to understand, the following specifically cites a preferred embodiment and describes it in detail with the accompanying drawings as follows. BRIEF DESCRIPTION OF THE DRAWINGS

[0025] Figure 1 It is a flow chart of a method for encoding grid parameterized partition arrangement information provided by an embodiment of the present invention;

[0026] Figure 2 is a flow chart of a projection-based mesh parameterization method provided by an embodiment of the present invention;

[0027] Figure 3 This is an example diagram of overlapping area splitting provided by an embodiment of the present invention;

[0028] Figure 4 is a schematic diagram of extracting connected regions provided by an embodiment of the present invention;

[0029] Figure 5 It is a schematic diagram of a grid parameterized partition arrangement information encoding device provided by an embodiment of the present invention. DETAILED DESCRIPTION

[0030] In order to further explain the technical means and effects adopted by the present invention to achieve the predetermined purpose of the invention, the following is a detailed description of a grid parameterized partition arrangement information encoding and decoding method and device thereof proposed according to the present invention in combination with the accompanying drawings and specific implementation methods.

[0031] The above and other technical contents, features and effects of the present invention are clearly presented in the following detailed description of the specific implementation modes in conjunction with the accompanying drawings. Through the description of the specific implementation modes, the technical means and effects adopted by the present invention to achieve the predetermined purpose can be more deeply and specifically understood. However, the attached drawings are only for reference and explanation purposes and are not used to limit the technical solutions of the present invention.

[0032] In the first aspect, the embodiment of the present invention provides a method for encoding grid parameterized partition arrangement information, see Figure 1 As shown, the grid parameterized partition arrangement information encoding method of this embodiment includes:

[0033] C1: Obtaining the partition information of each face of the three-dimensional mesh and the arrangement information of the corresponding partitions, the partition information and the arrangement information of the corresponding partitions are used to represent the texture coordinates;

[0034] C2: Encode the partition arrangement information according to a preset encoding method to obtain an output code stream.

[0035] In an optional embodiment, the partition information includes a partition index for each face in the three-dimensional grid. The partition arrangement information includes: a projection plane index of the partition, an angle index for rotating the partitions when arranged on the image, a position of the upper left corner of the partition bounding box when the partitions are arranged on the image, a width and height of the partition bounding box when the partitions are arranged on the image, an indication of whether the partition is scaled, and at least one of a scaling factor of the corresponding partition.

[0036] In this embodiment, the partition information of each face of the three-dimensional mesh and the arrangement information of the corresponding partitions are obtained by mesh parameterization. Optionally, the mesh can be parameterized by using an Isochart algorithm, an orthogonal projection algorithm, etc. Optionally, the three-dimensional mesh can be a basic mesh after mesh simplification.

[0037] The following takes the parameterization scheme of orthogonal projection as an example to illustrate the mesh parameterization process and the process of obtaining relevant information about partitions.

[0038] The orthogonal projection algorithm is a projection-based mesh parameterization method that generates texture coordinates for the mesh through orthogonal projection. Its main process is as follows: Figure 2 As shown, it includes five parts: initial partitioning, merging partitions, detecting overlapping areas, extracting connected areas and two-dimensional arrangement.

[0039] (1) Initial partition

[0040] The initial partitioning process is to calculate the normal vector and corresponding area of ​​each face on the original mesh. The process of calculating the normal vector of the triangular face is as follows: define a triangular face T, whose three vertices are A, B, C, (x i ,y i , z i ) is the geometric coordinate of the i-th vertex, then the normal vector of the current face T AB×AC=((y B -y A )*(z C -Z A )-(y C -y A )*(z B -Z A ), (Z B -z A )*(x C -x A )-(z C -Z A )*(x B -x A ), (x B -x A )*(y C -y A )-(x C -xA )*(y B -y A )), where AB and AC represent the vectors corresponding to the two sides of triangle T, and × represents the vector cross product. After the normal vector is calculated by the above formula, the normal vector is normalized to obtain the unit normal vector of the current triangle. At the same time, the area of ​​the current triangle can be calculated by calculating the normal vector The modulus length is obtained, that is,

[0041] After obtaining the normal vector and area of ​​each triangle, the best projection plane for each triangle is determined according to the pre-set projection plane. This process is to calculate the dot product of the normal vector of the current triangle and the normal vectors of all projection planes, and take the projection plane corresponding to the maximum value as the projection plane of the current triangle. Then, the triangles that belong to the same projection plane and are connected in three-dimensional space are divided into the same connected area. This process will split the input three-dimensional mesh into multiple connected areas.

[0042] (2) Merge partitions

[0043] After the initial partitioning, we start trying to merge adjacent connected regions. Connected region adjacency is defined as two connected regions sharing more than one edge. When merging, we need to use a cost function to determine whether two partitions can be merged. The function is defined by the perimeter and stretching degree of the connected region. The detailed steps are as follows:

[0044] First, sort each connected region in a specific order. The sorting criteria can be based on the number of triangles contained and the proximity between the average normal vector of the connected region and the corresponding projection direction, that is, the size of the dot product of the two vectors.

[0045] Then, each time the first connected region after sorting is taken, all the connected regions adjacent to the connected region are obtained to form a candidate list. Then, for each candidate region, the cost function of the two regions after merging is calculated: COST(M i +M j )=L 2 (M i +M j )+λPERIMETER(M i +M j ), for all (COST(M i +M j )<COST(M i )+COST(M j )), select the area that minimizes the cost function, merge the current area with the candidate area, update the best projection surface of the merged connected area, and then update the sorting of the connected areas, and iterate until all connected areas are traversed.

[0046] Here the cost function is defined as COST(M i )=L 2 (M i )+λPERIMETER(M i ), where PERIMETER(M i ) represents the perimeter of the current connected area, L 2 (M i ) indicates the stretching degree of the current area after projection, and its detailed definition is as follows:

[0047] Assume a triangle T with 2D texture coordinates p1, p2, p3, where p i =(s i , t i ), the corresponding three-dimensional coordinates are expressed as q1, q2, q3, and the calculation process of the affine mapping S(p)=S(s, t)=q is shown in formula (1):

[0048] S(p)=(<p,p2,p3> q1+<p,p3,p1> q2+<p,p1,p2> q3) / <p1,p2,p3> (1)

[0049] in,<a,b,c> represents the area of ​​triangle abe. Since the mapping is affine, its partial derivative is a constant on (s, t), and its calculation process is shown in equations (2) and (3):

[0050]

[0051]

[0052] Where A=<p1,p2,p3> =((s2-s1)(t3-t1)-(s3-s1)(t2-t1)) / 2.

[0053] Then the Jacobian matrix [S S , S t The calculation process is shown in equations (4) and (5):

[0054]

[0055]

[0056] Where a = S s ·S s , b=S s ·S t , c=S t ·S t . Singular values ​​γ max , γmin Represents the maximum and minimum lengths obtained when a unit length vector is mapped from a two-dimensional texture domain to a three-dimensional surface, that is, the maximum and minimum local "stretching".

[0057] The stretch measure on triangle T is defined as shown in formula (6):

[0058]

[0059] In the entire three-dimensional grid M={T i The definition of the upper stretching measure is shown in formula (7):

[0060]

[0061] Among them, A′(T i ) is a triangle T i The surface area in three dimensions.

[0062] The cost function is obtained by L 2 (M i ) and PERIMETER(M i ) definition, the two variables are weighed by the λ parameter. After the merging partition step, the number of partitions in the connected region will be reduced compared to the initial partition.

[0063] (3) Detect overlapping areas

[0064] After the merging partitions step, each connection is projected. During the projection process, it is necessary to prevent the currently projected triangle from occluding the projected area.

[0065] This step first traverses all the faces of the current connected area and projects each face according to the projection surface corresponding to the current connected area. That is, the two-dimensional coordinates of the three vertices on the current face after projection are calculated. Then it is necessary to determine whether the currently projected face overlaps with the projected area. There are three main overlap situations: one or more vertices on the current projection face are within the projected area; the vertices of the projected area are within the area where the current projection face is located; one or more edges of the current projection face intersect with the edges of the projected area.

[0066] By judging the above three situations, if the current projection surface overlaps with the projected area, skip the previous projection and continue to traverse the next surface. Then, after a round of traversal, determine whether there are unprojected surfaces in the current connected area, and then project these unprojected surfaces as new connected areas and determine whether they overlap, and iterate until the final projection area does not overlap. This step will split non-overlapping connected areas from the connected area. Figure 3 For the example connected area detection overlapping area step, Figure 3 Figure (a) in the figure is the current connected area. Figure 3 Figures (b) and (c) in the figure are two connected areas obtained by splitting the current area after detecting the overlapping area.

[0067] (4) Extracting connected regions

[0068] After detecting and splitting overlapping areas, a connected area may be split into multiple connected areas. Among these split connected areas, there may be some disconnected faces or areas, such as Figure 3 As shown in Figure (c) in the figure, this step is to extract the unconnected areas in a connected area and project them as independent connected areas. Figure 4 shown.

[0069] (5) Two-dimensional arrangement

[0070] After the connected area is extracted, the final partition result of the current mesh and the texture coordinates of each partition on its own projection plane can be obtained. Arranging these partitions into a two-dimensional image of the same size as the texture map according to certain rules can obtain the final texture coordinates of all vertices, which is the final parameterization result of the current mesh.

[0071] First, the scaling ratio of the entire mesh vertices is calculated so that they can be arranged in a two-dimensional image of the specified size. Then, the width and height of each partition after projection are calculated respectively. Next, the image occupied by the partition is rasterized, that is, the pixel value of the area occupied by the triangle is set to 1, and the pixel value of the rest of the area is set to 0.

[0072] Next, for each partition, try to arrange it on the final image. That is, for the current partition to be arranged, traverse each pixel block on the two-dimensional image as the upper left corner of the partition, and then try different placement directions. If it is found that the partition can be placed in the area with the current pixel as the upper left corner (that is, the area occupied by the current partition on the two-dimensional image does not occupy other placed areas), then all pixels in the area are set to occupied and the texture coordinates of all points in the current partition are adjusted (including rotation, scaling, and translation), and then the position of the upper left corner of the current partition on the two-dimensional image and the width and height of the current partition are recorded; if it is still not successfully placed after traversing all pixels, the current partition is scaled, and then the scaled partition is re-tried to be arranged on the two-dimensional image. If the current partition still cannot be successfully placed after scaling, the entire grid is scaled and then rearranged.

[0073] After this two-dimensional arrangement step, the arrangement information of each partition can be determined, which mainly includes the following information:

[0074] ① The projection plane index of the partition. When the projection plane is the 6 planes of the cube, the index range is 0-5; other projection planes can also be supported;

[0075] ② The rotation angle index of the partitions when arranged on the image, ranging from 0 to 3, representing 0°, 90°, 180°, and 270°;

[0076] ③ The position of the upper left corner of the partition bounding box in the image when the partitions are arranged on the image, that is, posX, posY;

[0077] ④ The width and height of the partition bounding box when the partitions are arranged on the image, that is, sizeX, sizeY;

[0078] ⑤ An indicator of whether to scale when arranging partitions and the scaling factor of the corresponding partitions.

[0079] After the above steps, the final parameterization result of the three-dimensional mesh can be obtained, that is, the partition information of each face of the three-dimensional mesh and the arrangement information of the corresponding partitions, which is then encoded to obtain an output code stream and passed to the decoding end to guide the decoding end to correctly restore the texture coordinates.

[0080] In an optional embodiment, when the three-dimensional grid is compressed, the partition information is encoded as a surface attribute, and the arrangement information of the partitions is encoded according to a preset encoding method.

[0081] For the partition information, the partition index of each face can be placed in one of the channels of the texture coordinates of its three vertices and then encoded using a static mesh encoder, or the partition index can be directly encoded as an attribute of the face. For the partition arrangement information, a variety of different encoding methods can be used for encoding.

[0082] In an optional embodiment, the projection plane index of the partition and the identifier of whether the partition is scaled may be encoded in a fixed-length encoding manner.

[0083] In an optional embodiment, the rotation angle index when the partitions are arranged on the image can be encoded using a variable length coding method, such as exponential Golomb coding, truncated Rice code or truncated binary code. In this embodiment, the variable length coding method includes: when the rotation angle index is 0, a variable length code 0 is used. The scaling factor of the partition can also be encoded using a variable length coding method such as exponential Golomb coding, truncated Rice code or truncated binary code.

[0084] The encoding process is as follows:

[0085]

[0086] For the variable-length coding of the rotation angle index orientation[i] when the partitions are arranged on the image, a code table of a zero-order exponential Golomb coding is shown in the following table:

[0087] orientation[i] Zero-order Exponential Golomb Code 0 1 1 010 2 011 3 00100

[0088] In an optional embodiment, the position (posX, posY) of the upper left corner of the partition bounding box when the partitions are arranged on the image is encoded based on the position of the upper left corner of the partition bounding box that has been reconstructed. Optionally, the position of the upper left corner of the current partition bounding box is differentially encoded using the position of the upper left corner of the partition bounding box that has been reconstructed, or the position of the upper left corner of the current partition bounding box is adaptively context entropy encoded using the position of the upper left corner of the partition bounding box that has been reconstructed as context.

[0089] In an optional embodiment, the width and height (sizeX, sizeY) of the partition bounding box when the partitions are arranged on the image are encoded based on the width and / or height of the reconstructed partition bounding box. Optionally, the width and height of the current partition bounding box are differentially encoded using the width and / or height of the reconstructed partition bounding box, or the width and / or height of the reconstructed partition bounding box are used as context to perform adaptive context entropy encoding on the width and height of the current partition bounding box.

[0090] In other embodiments, the position of the upper left corner of the partition bounding box (posX, posY) when the partitions are arranged on the image, and the width and height (sizeX, sizeY) of the partition bounding box when the partitions are arranged on the image can also be directly variable-length encoded. It should be noted that the four components of posX, posY, sizeX and sizeY can independently choose whether to directly perform variable-length encoding or use differential encoding and adaptive context entropy encoding.

[0091] Furthermore, the processes of differential coding and adaptive context entropy coding are described in detail.

[0092] (1) Differential Encoding

[0093] Differential coding means that for all elements in the data except the first element, it is expressed as the difference between the current element and the previous element. In this embodiment, that is, the posX, posY, sizeX, sizeY of the current partition are subtracted from the corresponding elements in the previous partition, and then the corresponding difference is encoded. For the difference, the sign bit can be encoded using a fixed-length encoding method, and then the absolute value can be encoded using a variable-length encoding, or the difference can be directly signed and variable-length encoded. Taking sizeX as an example, assuming that the current partition is i (i>0), then:

[0094] diffsizeX(i)=sizeX(i)-sizeX(i-1)

[0095]

[0096] absDiffsizeX(i)=abs(diffsizeX(i))

[0097] When encoding sizeX in the current partition, first use fixed-length coding to encode signsizeX(i), and use variable-length coding to encode absdiffSizeX(i), where abs(x) represents the absolute value of x. An example of a variable-length coding, i.e., k-order exponential Golomb coding, is as follows:

[0098] Step i: First convert absDiffsizeX(i) into binary representation, remove the lowest k bits, and then add 1;

[0099] Step ii: Calculate the number of bits left, and subtract 1 from this number, which is the number of prefix 0s that need to be added;

[0100] Step iii: Add the lowest k bits removed in the first step back to the end of the bit string.

[0101] It should be noted that the k-order exponential Golomb coding here is a type of variable-length coding. Other variable-length coding methods, such as truncated Rice code, truncated binary code, etc., can also be used, and there is no restriction here.

[0102] In this embodiment, the parameterized partitions are arranged from large to small in terms of area, so the residuals of sizeX and sizeY can be encoded in reverse order. That is, if the current number of partitions is n, the sizeX and sizeY of the nth partition are encoded first, and then the difference between the sizeX and sizeY of the current i-th partition and the i+1-th partition is encoded in sequence, as shown in the following formula:

[0103] diffsizeX(i)=sizeX(i)-sizeX(i+1)

[0104] diffsizeY(i)=sizeY(i)-sizeY(i-1)

[0105] The same method as above can be used for the residual, that is, first encode the sign and then encode its absolute value, or directly use the signed exponential Golomb coding to encode the residual value.

[0106] The above is an introduction to the differential encoding scheme using sizeX as an example. SizeY can use a similar scheme independently or simultaneously. For posX and posY, differential encoding can also be performed in the same way as above. Taking posX as an example,

[0107] diffPosX(i)=posX(i)-posX(i-1)

[0108]

[0109] absDiffPosX(i)=abs(dtiffPosX(i))

[0110] When encoding posX in the current partition, first use fixed-length encoding to encode signPosX(i), and use variable-length encoding to encode absDiffPosX(i), where abs(x) represents the absolute value of x. You can also directly encode diffPosX(i) with a signed variable-length encoding.

[0111] In addition to directly performing variable-length coding, for the above information that needs to be encoded, such as signPosX(i) and / or absDiffPosX(i), context-based arithmetic coding can be further used. For example, the context of signsizeX(i) can use signsizeX(i-1) and / or sizeX(i-1); the context of signsizeY(i) can use signsizeY(i-1) and / or signsizeX(i); the context of signPosX(i) can use signPosX(i-1) and / or posX(i-1) and / or sizeX(i-1) and / or sizeX(i); the context of signPosY(i) can use signPosX(i), etc.

[0112] (2) Adaptive context entropy coding

[0113] For the information of posX, posY, sizeX and sizeY, in addition to directly performing exponential Golomb coding on the residual, the residual context can also be designed to perform adaptive context entropy coding according to the partition arrangement characteristics. Exemplarily, the sizeX-related information can use the sizeX-related information of the previously reconstructed partition as the context, and / or the posX of the reconstructed partition, and / or the posY of the reconstructed partition; the sizeY-related information can use the sizeX of the current partition and / or the sizeY-related information of the previously reconstructed partition as the context, and / or the posX of the reconstructed partition, and / or the posY of the reconstructed partition; the posX-related information can use the posX and / or sizeX of the reconstructed partition and the sizeX of the current partition as the context; the posY-related information can use the posX of the current partition as the context. It is worth noting that the above situation is only an example of using context information. In actual process, the context of the current coding information can be selected autonomously, such as sizeX can use the relevant context of sizeY, etc.

[0114] Since the encoding order of the partition arrangement information is arranged from large to small according to the partition area, the residual information of sizeX and sizeY is encoded first. For the residual diffSizeX of sizeX, the design context model includes:

[0115] ctx_XisZero: whether the current residual is 0;

[0116] ctx_Xsign: current residual sign;

[0117] ctx_XcoeffSizePrefix: The prefix part of the current residual absolute value exponential Columbus coding after binarization.

[0118] For the residual diffSizeY of sizeY, the design context model includes:

[0119] ctx_YisZero: whether the current residual is 0;

[0120] ctx_Ysign: the current residual sign;

[0121] ctx_YcoeffSizePrefix: The prefix part of the current residual absolute value exponential Columbus coding after binarization.

[0122] ctx_XisZero can be used as the context of ctx_YisZero; ctx_Xsign can be used as the context of ctx_Ysign; ctx_XcoeffSizePrefix can be used as the context of ctx_YcoeffSizePrefix. Taking sizeX as an example, the encoding process is as follows:

[0123] Step 1): First, calculate the difference diffSizeX between the current partition sizeX and the previous partition sizeX;

[0124] Step 2): Determine whether the current diffSizeX is zero, and use the context model ctx_XisZero to encode the identifier. If it is zero, the encoding ends;

[0125] Step 3): If it is not 0, encode its sign bit through the context model ctx_Xsign;

[0126] Step 4): Encode the absolute value of diffSizeX using zero-order exponential Golomb coding, and perform arithmetic coding on the prefix of the exponential Golomb code using the context model ctx_coeffSizePrefix;

[0127] The pseudo code is as follows:

[0128]

[0129]

[0130] Similar to the residual encoding, sizeX and sizeY can also calculate the residual in reverse order and then encode. The corresponding code is as follows:

[0131]

[0132] For the residual values ​​of posX and posY, the design context model includes:

[0133] ctx_posXisZero: whether the current residual is 0;

[0134] ctx_posXsign: current residual sign;

[0135] ctx_XcoeffPrefix: the prefix part of the current residual absolute value exponential Columbus coding after binarization;

[0136] ctx_posYisZero: whether the current residual is 0;

[0137] ctx_posYsign: current residual sign;

[0138] ctx_YcoeffPrefix: The prefix part of the current residual absolute value exponential Columbus coding after binarization.

[0139] The condition for updating the context model corresponding to diffPosX is determined by the position and size of the previous partition. Since the partitions are arranged from left to right, if the width of the next partition is larger than the position from the upper right corner to the right boundary after the current partition is arranged, the next partition arrangement will start from the starting position of the next row to try whether it can be arranged. Therefore, the posX of the next partition is usually smaller than the posX of the current partition, that is, diffSizeX is usually less than 0.

[0140] The condition for updating the context model corresponding to diffPosY is determined by the diffPosX of the current partition. Since the partitions are arranged from left to right, when diffPosX is greater than 0, that is, posX becomes larger, posY is generally considered to be unchanged, that is, diffPosY is 0. When diffPosX is less than or equal to 0, it is generally considered that posY will increase, that is, diffPosY is greater than 0.

[0141] ctx_posYisZero can use ctx_posXisZero as context; ctx_posYsign can use ctx_posXsign as context; ctx_YcoeffPrefix can use ctx_YcoeffPrefix as context.

[0142] The corresponding pseudo code is as follows:

[0143]

[0144]

[0145] The above coding scheme is only an example. In other embodiments, the residual value can also be directly subjected to a variable-length coding scheme such as a signed exponential Golomb coding, and then the prefix and / or suffix after the exponential Golomb coding can be adaptively arithmetic-coded using the corresponding context model. It is applicable to the coding of posX, posY, sizeX and sizeY alone or simultaneously, and it is also possible to select a part of the data for arithmetic coding, and the other data can be encoded using other coding methods.

[0146] The mesh parameterized partition arrangement information encoding method of the embodiment of the present invention obtains the partition information of each face of the three-dimensional mesh and the arrangement information of the corresponding partition, the partition information and the arrangement information of the corresponding partition are used to represent the texture coordinates, and the partition arrangement information is encoded according to a preset encoding method to obtain an output code stream. By encoding the partition information used to represent the texture coordinates of the three-dimensional mesh and the arrangement information of the corresponding partition, the number of bits required for encoding is reduced, and the encoding efficiency of the three-dimensional mesh is improved.

[0147] In the second aspect, corresponding to the grid parameterized partition arrangement information encoding method proposed in the first aspect, an embodiment of the present invention provides a grid parameterized partition arrangement information encoding device, see Figure 5 , the encoding device comprises:

[0148] A mesh parameterization module C01 is used to obtain partition information of each face of the three-dimensional mesh and arrangement information of the corresponding partitions, and the partition information and the arrangement information of the corresponding partitions are used to represent texture coordinates;

[0149] The arrangement information of the partitions includes: a projection plane index of the partitions, an angle index of rotation when the partitions are arranged on the image, a position of the upper left corner of the partition bounding box when the partitions are arranged on the image, a width and a height of the partition bounding box when the partitions are arranged on the image, an identifier of whether the partitions are scaled, and at least one of a scaling factor of the corresponding partition;

[0150] The encoding module C02 is used to encode the arrangement information of the partitions according to a preset encoding method to obtain an output code stream.

[0151] For the specific content of the encoding device and the corresponding beneficial effects, please refer to the relevant content of the grid parameterized partition arrangement information encoding method provided in the first aspect, which will not be elaborated here.

[0152] In a third aspect, in response to the grid parameterized partition arrangement information encoding method proposed in the first aspect, an embodiment of the present invention provides a grid parameterized partition arrangement information decoding method, comprising the following steps:

[0153] D1: Decode the input code stream, and based on the encoding method of the partition arrangement information, use a corresponding decoding method to decode and obtain the partition arrangement information.

[0154] Among them, the arrangement information of the partition includes: the projection plane index of the partition, the rotation angle index when the partition is arranged on the image, the position of the upper left corner of the partition bounding box when the partition is arranged on the image, the width and height of the partition bounding box when the partition is arranged on the image, an indication of whether the partition is scaled, and at least one of the scaling factors of the corresponding partition.

[0155] In an optional embodiment, the projection plane index of the partition and the flag indicating whether the partition is scaled are encoded by the encoding end according to a fixed length, and the decoding end can extract a fixed number of bits for decoding.

[0156] In an optional embodiment, corresponding to the encoding end, the rotation angle index of the partitions when arranged on the image is decoded by variable length decoding, and the scaling factor of the partition is also encoded by variable length coding.

[0157] The decoding process is as follows:

[0158]

[0159]

[0160] Corresponding to the encoding end, the position of the upper left corner of the partition bounding box when the partitions are arranged on the image and the width and height of the partition bounding box when the partitions are arranged on the image are decoded according to the encoding method of the encoding end.

[0161] In an optional embodiment, the position (posX, posY) of the upper left corner of the partition bounding box when the partitions are arranged on the image is decoded based on the position of the upper left corner of the partition bounding box that has been reconstructed. Optionally, the position of the upper left corner of the current partition bounding box is differentially decoded using the position of the upper left corner of the partition bounding box that has been reconstructed, or the position of the upper left corner of the partition bounding box that has been reconstructed is used as context to perform adaptive context entropy decoding on the position of the upper left corner of the current partition bounding box.

[0162] In an optional embodiment, the width and height (sizeX, sizeY) of the partition bounding box when the partitions are arranged on the image are decoded based on the width and / or height of the reconstructed partition bounding box. Optionally, the width and / or height of the reconstructed partition bounding box are used to perform differential decoding on the width and height of the current partition bounding box, or the width and / or height of the reconstructed partition bounding box are used as context to perform adaptive context entropy decoding on the width and height of the current partition bounding box.

[0163] Furthermore, the processes of differential decoding and adaptive context entropy decoding are described in detail.

[0164] (1) Differential decoding

[0165] Differential decoding is to add the current decoded data to the previous data to get the current data. Taking posX as an example, in the current scheme, the sign bit signPosX(i) is first decoded, and then the absolute value signPosX(i) of the residual difference with the corresponding value of the previous partition is restored based on variable-length decoding. Then, according to the sign bit, the corresponding element value of the previous partition is added or subtracted from the current value to obtain the value corresponding to the current partition. Taking posX as an example, assuming that the current partition is i (i>0), then:

[0166] posX(i)=signPosX(i)*diffPosX(i)+posX(i-1)

[0167] Among them, if sigmPoxX(i) and / or diffPosX(i) adopt context-based arithmetic coding, context decoding consistent with the encoding end is adopted.

[0168] For the above decoding process, the corresponding syntax element table is as follows:

[0169]

[0170] Among them, PatchNums represents the number of partitions of the current frame obtained by decoding auxiliary information, ue(v) represents unsigned exponential Golomb coding, se(v) represents signed exponential Golomb coding, u(v) represents variable length coding, and u(1) represents 1-bit fixed coding.

[0171] (2) Adaptive context entropy decoding

[0172] Using the context model consistent with the encoding end, each syntax element is decoded. The corresponding syntax element table is as follows:

[0173]

[0174]

[0175] The corresponding decoding process is as follows:

[0176]

[0177]

[0178]

[0179] In this embodiment, for the partition information, corresponding to the encoding end, the partition information is decoded through the basic grid decoding process to indicate which partition the current face belongs to. The texture coordinates corresponding to each vertex can be reconstructed using the decoded partition information and the arrangement information of the corresponding partition.

[0180] The mesh parameterized partition arrangement information decoding method of the embodiment of the present invention decodes the input code stream, and based on the encoding method of the partition arrangement information, uses a corresponding decoding method to decode and obtain the partition arrangement information. The embodiment of the present invention improves the encoding and decoding efficiency of the three-dimensional mesh by encoding and decoding the partition information used to characterize the three-dimensional mesh texture coordinates and the corresponding partition arrangement information, which is beneficial to the processing, storage and transmission of the three-dimensional mesh.

[0181] In a fourth aspect, corresponding to the grid parameterized partition arrangement information decoding method proposed in the third aspect, an embodiment of the present invention provides a grid parameterized partition arrangement information decoding device, the decoding device comprising:

[0182] The decoding module is used to decode the input code stream, and based on the encoding method of the partition arrangement information, adopt a corresponding decoding method to decode and obtain the partition arrangement information.

[0183] Among them, the arrangement information of the partition includes: the projection plane index of the partition, the rotation angle index when the partition is arranged on the image, the position of the upper left corner of the partition bounding box when the partition is arranged on the image, the width and height of the partition bounding box when the partition is arranged on the image, an indication of whether the partition is scaled, and at least one of the scaling factors of the corresponding partition.

[0184] For the specific content of the decoding device and the corresponding beneficial effects, please refer to the relevant content of the grid parameterized partition arrangement information decoding method provided in the third aspect, which will not be elaborated here.

[0185] It should be noted that, in this article, relational terms such as first and second, etc. are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Moreover, the terms "include", "comprise" or any other variants are intended to cover non-exclusive inclusion, so that an article or device including a series of elements includes not only those elements, but also other elements that are not explicitly listed. In the absence of more restrictions, the elements defined by the statement "including one..." do not exclude the existence of other identical elements in the article or device including the elements.

[0186] The above contents are further detailed descriptions of the present invention in combination with specific preferred embodiments, and it cannot be determined that the specific implementation of the present invention is limited to these descriptions. For ordinary technicians in the technical field to which the present invention belongs, several simple deductions or substitutions can be made without departing from the concept of the present invention, which should be regarded as falling within the protection scope of the present invention.

Claims

1. A method for encoding grid parameterized partition arrangement information, characterized in that: include: Acquire partition information of each face of the three-dimensional mesh and arrangement information of the corresponding partitions, wherein the partition information and arrangement information of the corresponding partitions are used to represent texture coordinates; The arrangement information of the partitions includes: a projection plane index of the partitions, an angle index of rotation when the partitions are arranged on the image, a position of the upper left corner of the partition bounding box when the partitions are arranged on the image, a width and a height of the partition bounding box when the partitions are arranged on the image, an identification of whether the partitions are scaled, and at least one of a scaling factor of the corresponding partition; The arrangement information of the partitions is encoded according to a preset encoding method to obtain an output code stream.

2. The method for encoding grid parameterized partition arrangement information according to claim 1, characterized in that: The preset encoding methods include: The rotation angle index of the partitions when arranged on the image is encoded using a variable length coding method.

3. The method for encoding grid parameterized partition arrangement information according to claim 1, characterized in that: The preset encoding methods include: The width and height of the partition bounding box when the partitions are arranged on the image are encoded based on the width and / or height of the reconstructed partition bounding box.

4. The method for encoding grid parameterized partition arrangement information according to claim 1, characterized in that: The preset encoding methods include: The position of the upper left corner of the partition bounding box when the partitions are arranged on the image is encoded based on the position of the upper left corner of the reconstructed partition bounding box.

5. The method for encoding grid parameterized partition arrangement information according to claim 2, characterized in that: The variable length coding method includes: When the rotation angle index is 0, the variable length code 0 is used.

6. The method for encoding grid parameterized partition arrangement information according to claim 3, characterized in that: Encoding based on the width and / or height of the reconstructed partition bounding box includes: The width and height of the current partition bounding box are differentially encoded using the width and / or height of the reconstructed partition bounding box, or the width and / or height of the reconstructed partition bounding box are used as context to perform adaptive context entropy encoding on the width and height of the current partition bounding box.

7. The method for encoding grid parameterized partition arrangement information according to claim 4, characterized in that: Encoding is performed based on the position of the upper left corner of the reconstructed partition bounding box, including: Using the position of the upper left corner of the reconstructed partition bounding box, the position of the upper left corner of the current partition bounding box is differentially encoded, or using the position of the upper left corner of the reconstructed partition bounding box as context, the position of the upper left corner of the current partition bounding box is adaptively context entropy encoded.

8. A grid parameterized partition arrangement information encoding device, characterized in that: include: A mesh parameterization module, used to obtain partition information of each face of the three-dimensional mesh and arrangement information of the corresponding partitions, wherein the partition information and arrangement information of the corresponding partitions are used to represent texture coordinates; The arrangement information of the partitions includes: a projection plane index of the partitions, an angle index of rotation when the partitions are arranged on the image, a position of the upper left corner of the partition bounding box when the partitions are arranged on the image, a width and a height of the partition bounding box when the partitions are arranged on the image, an identification of whether the partitions are scaled, and at least one of a scaling factor of the corresponding partition; The encoding module is used to encode the arrangement information of the partitions according to a preset encoding method to obtain an output code stream.

9. A method for decoding grid parameterized partition arrangement information, characterized in that: include: Decoding the input code stream, and based on the encoding method of the arrangement information of the partitions, decoding using a corresponding decoding method to obtain the arrangement information of the partitions; Among them, the arrangement information of the partition includes: the projection plane index of the partition, the rotation angle index when the partition is arranged on the image, the position of the upper left corner of the partition bounding box when the partition is arranged on the image, the width and height of the partition bounding box when the partition is arranged on the image, an indication of whether the partition is scaled and at least one of the scaling factors of the corresponding partition.

10. The method for decoding grid parameterized partition arrangement information according to claim 9, characterized in that: The rotation angle index of the partitions when arranged on the image is decoded by using a variable length decoding method.

11. The method for decoding grid parameterized partition arrangement information according to claim 9, characterized in that: The width and height of the partition bounding box when the partitions are arranged on the image are decoded based on the width and / or height of the reconstructed partition bounding box.

12. The method for decoding grid parameterized partition arrangement information according to claim 9, characterized in that: The position of the upper left corner of the partition bounding box when the partitions are arranged on the image is decoded based on the position of the upper left corner of the reconstructed partition bounding box.

13. The method for decoding grid parameterized partition arrangement information according to claim 11, characterized in that: Decoding based on the width and / or height of the reconstructed partition bounding box includes: Using the width and / or height of the reconstructed partition bounding box, the width and height of the current partition bounding box are differentially decoded, or using the width and / or height of the reconstructed partition bounding box as context, the width and height of the current partition bounding box are adaptively context entropy decoded.

14. The method for decoding grid parameterized partition arrangement information according to claim 12, characterized in that: Decoding is performed based on the position of the upper left corner of the reconstructed partition bounding box, including: Using the position of the upper left corner of the reconstructed partition bounding box, the position of the upper left corner of the current partition bounding box is differentially decoded, or using the position of the upper left corner of the reconstructed partition bounding box as context, the position of the upper left corner of the current partition bounding box is adaptively context entropy decoded.

15. A grid parameterized partition arrangement information decoding device, characterized in that: include: A decoding module, used to decode the input code stream, and based on the encoding method of the arrangement information of the partitions, use a corresponding decoding method to decode and obtain the arrangement information of the partitions; Among them, the arrangement information of the partition includes: the projection plane index of the partition, the rotation angle index when the partition is arranged on the image, the position of the upper left corner of the partition bounding box when the partition is arranged on the image, the width and height of the partition bounding box when the partition is arranged on the image, an indication of whether the partition is scaled and at least one of the scaling factors of the corresponding partition.