Encoding, decoding method, apparatus and device

CN116847083BActive Publication Date: 2026-10-27VIVO MOBILE COMM CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202210307829.0
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-03-25
Publication Date
2026-10-27
Estimated Expiration
2042-03-25

AI Technical Summary

Technical Problem

[0004]本申请实施例提供一种编码、解码方法、装置及设备,能够解决现有技术的对于三维网格几何信息的压缩方式,存在压缩效率不高的问题

Benefits of technology

[0033]在本申请实施例中,通过第一量化参数对三维网格的几何信息进行量化,使得量化后三维网格的顶点的间距减小,进而减小投影后二维顶点的间距,以此可以提高三维网格的几何信息的压缩效率,且通过第二量化参数对第一信息中的第一部分几何信息(即高精度几何信息)进行量化处理,能够有效控制高精度几何信息的比特数,进而能够有效控制编码质量。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116847083B_ABST
    Figure CN116847083B_ABST
Patent Text Reader

Abstract

The application discloses an encoding, decoding method, device and equipment, the encoding method comprises: the encoding end carries out quantization processing to the geometry information of the target three-dimensional grid according to the first quantization parameter, obtains the first information, the first information includes at least one of the following: first precision geometry information, second precision geometry information, the information of supplementary point;The information of supplementary point includes the fourth precision geometry information of the supplementary point, and the fourth precision geometry information is the three-dimensional coordinate information lost in the quantization process of supplementary point;The encoding end carries out quantization processing to the first part geometry information in the first information according to the second quantization parameter, and the first part geometry information includes at least one of the second precision geometry information and the fourth precision geometry information of supplementary point;The encoding end encodes the first information after quantization processing and quantization information, and the quantization information includes the first quantization information for indicating the first quantization parameter and the second quantization information for indicating the second quantization parameter.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application belongs to the field of encoding and decoding technology, specifically relating to an encoding and decoding method, apparatus and device. Background Technology

[0002] 3D meshes can be considered the most popular representation of 3D models over the years, playing an important role in many applications. Their ease of representation has led to their widespread integration as hardware algorithms into the graphics processing units (GPUs) of computers, tablets, and smartphones, specifically for rendering 3D meshes.

[0003] Since both vertices in a mesh and point clouds are discrete sets of points randomly distributed in space, they share similar characteristics. Therefore, the geometric information of a 3D mesh can be compressed using point cloud compression algorithms. However, compared to point clouds, the vertices of a 3D mesh are more sparsely and unevenly distributed in space. Therefore, using point cloud compression algorithms to compress the geometric information of a 3D mesh model is not very efficient. Summary of the Invention

[0004] This application provides an encoding and decoding method, apparatus, and device that can solve the problem of low compression efficiency in existing methods for compressing three-dimensional mesh geometric information.

[0005] Firstly, an encoding method is provided, including:

[0006] The encoding end performs quantization processing on the geometric information of the target three-dimensional mesh according to the first quantization parameter to obtain first information. The first information includes at least one of the following: first precision geometric information, second precision geometric information, and supplementary point information. The supplementary point information includes fourth precision geometric information of the supplementary point, which is the three-dimensional coordinate information of the supplementary point that was lost during the quantization process.

[0007] The encoding end performs quantization processing on the first part of the geometric information in the first information according to the second quantization parameter. The first part of the geometric information includes at least one of the second precision geometric information and the fourth precision geometric information of the supplementary points.

[0008] The encoding end encodes the first information and the quantized information after quantization processing. The quantized information includes first quantization information for indicating the first quantization parameter and second quantization information for indicating the second quantization parameter.

[0009] Wherein, the first precision geometric information is the geometric information of the target three-dimensional mesh after quantization, the second precision geometric information is the geometric information lost during the quantization process of the target three-dimensional mesh, and the information of the supplementary points is the information of points that need additional processing during the quantization process.

[0010] Secondly, a decoding method is provided, including:

[0011] The decoding end performs decoding processing on the acquired bitstream to obtain quantization information and first information. The first information includes at least one of the following: first precision geometric information, second precision geometric information, and supplementary point information. The supplementary point information includes fourth precision geometric information of the supplementary point, which is the three-dimensional coordinate information of the supplementary point lost during the quantization process. The quantization information includes first quantization information for indicating the first quantization parameter and second quantization information for indicating the second quantization parameter. The second quantization parameter is a quantization parameter for quantizing the first part of the geometric information in the first information. The first part of the geometric information includes at least one of the second precision geometric information and the fourth precision geometric information of the supplementary point.

[0012] The decoding end performs inverse quantization processing on the first information based on the quantization information to obtain the target three-dimensional mesh;

[0013] Wherein, the first precision geometric information is the geometric information of the target three-dimensional mesh after quantization, the second precision geometric information is the geometric information lost during the quantization process of the target three-dimensional mesh, and the information of the supplementary points is the information of points that need additional processing during the quantization process.

[0014] Thirdly, an encoding device is provided, comprising:

[0015] A first processing module is configured to quantize the geometric information of the target three-dimensional mesh according to a first quantization parameter to obtain first information, the first information including at least one of the following: first precision geometric information, second precision geometric information, and supplementary point information; the supplementary point information includes fourth precision geometric information of the supplementary point, the fourth precision geometric information being the three-dimensional coordinate information of the supplementary point lost during the quantization process;

[0016] The second processing module is used to quantize the first part of the geometric information in the first information according to the second quantization parameter. The first part of the geometric information includes at least one of the second precision geometric information and the fourth precision geometric information of the supplementary points.

[0017] The first encoding module is used to encode the first information and the quantized information after quantization processing. The quantized information includes first quantization information for indicating the first quantization parameter and second quantization information for indicating the second quantization parameter.

[0018] Wherein, the first precision geometric information is the geometric information of the target three-dimensional mesh after quantization, the second precision geometric information is the geometric information lost during the quantization process of the target three-dimensional mesh, and the information of the supplementary points is the information of points that need additional processing during the quantization process.

[0019] Thirdly, a decoding device is provided, comprising:

[0020] The third processing module is used to decode the acquired bitstream to obtain quantization information and first information. The first information includes at least one of the following: first precision geometric information, second precision geometric information, and supplementary point information. The supplementary point information includes fourth precision geometric information of the supplementary point, which is the three-dimensional coordinate information of the supplementary point lost during quantization. The quantization information includes first quantization information for indicating the first quantization parameter and second quantization information for indicating the second quantization parameter. The second quantization parameter is a quantization parameter for quantizing the first part of the geometric information in the first information. The first part of the geometric information includes at least one of the second precision geometric information and the fourth precision geometric information of the supplementary point.

[0021] The fourth processing module is used to perform inverse quantization processing on the first information based on the quantization information to obtain the target three-dimensional mesh;

[0022] Wherein, the first precision geometric information is the geometric information of the target three-dimensional mesh after quantization, the second precision geometric information is the geometric information lost during the quantization process of the target three-dimensional mesh, and the information of the supplementary points is the information of points that need additional processing during the quantization process.

[0023] Fifthly, an encoding device is provided, including a processor and a memory, the memory storing a program or instructions executable on the processor, the program or instructions, when executed by the processor, implementing the steps of the method described in the first aspect.

[0024] In a sixth aspect, an encoding device is provided, including a processor and a communication interface, wherein the processor is configured to quantize the geometric information of a target three-dimensional mesh according to a first quantization parameter to obtain first information, the first information including at least one of the following: first precision geometric information, second precision geometric information, and information of supplementary points; the information of supplementary points includes fourth precision geometric information of the supplementary points, the fourth precision geometric information being the three-dimensional coordinate information of the supplementary points lost during the quantization process; quantize a first portion of the geometric information in the first information according to a second quantization parameter, the first portion of the geometric information including at least one of the second precision geometric information and the fourth precision geometric information of the supplementary points; and encode the quantized first information and the quantized information, the quantized information including first quantization information for indicating the first quantization parameter and second quantization information for indicating the second quantization parameter;

[0025] Wherein, the first precision geometric information is the geometric information of the target three-dimensional mesh after quantization, the second precision geometric information is the geometric information lost during the quantization process of the target three-dimensional mesh, and the information of the supplementary points is the information of points that need additional processing during the quantization process.

[0026] In a seventh aspect, a decoding device is provided, including a processor and a memory, the memory storing a program or instructions executable on the processor, the program or instructions, when executed by the processor, implementing the steps of the method as described in the second aspect.

[0027] Eighthly, a decoding device is provided, including a processor and a communication interface, wherein the processor is used to decode an acquired bitstream to obtain quantization information and first information, the first information including at least one of the following: first precision geometric information, second precision geometric information, and information of supplementary points, the information of supplementary points including fourth precision geometric information of the supplementary points, the fourth precision geometric information being the three-dimensional coordinate information of the supplementary points lost during quantization; the quantization information includes first quantization information for indicating the first quantization parameter and second quantization information for indicating the second quantization parameter, the second quantization parameter being a quantization parameter for quantizing a first portion of the geometric information in the first information, the first portion of the geometric information including at least one of the second precision geometric information and the fourth precision geometric information of the supplementary points; based on the quantization information, the first information is dequantized to obtain a target three-dimensional mesh;

[0028] Wherein, the first precision geometric information is the geometric information of the target three-dimensional mesh after quantization, the second precision geometric information is the geometric information lost during the quantization process of the target three-dimensional mesh, and the information of the supplementary points is the information of points that need additional processing during the quantization process.

[0029] A ninth aspect provides a communication system comprising: an encoding device and a decoding device, the encoding device being configured to perform the steps of the method as described in the first aspect, and the decoding device being configured to perform the steps of the method as described in the second aspect.

[0030] In a tenth aspect, a readable storage medium is provided, on which a program or instructions are stored, which, when executed by a processor, implement the steps of the method described in the first aspect, or implement the steps of the method described in the second aspect.

[0031] Eleventhly, a chip is provided, the chip including a processor and a communication interface, the communication interface being coupled to the processor, the processor being used to run programs or instructions to implement the method as described in the first aspect, or to implement the method as described in the second aspect.

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

[0033] In this embodiment, the geometric information of the three-dimensional mesh is quantized by the first quantization parameter, which reduces the spacing between the vertices of the quantized three-dimensional mesh, thereby reducing the spacing between the two-dimensional vertices after projection. This can improve the compression efficiency of the geometric information of the three-dimensional mesh. Furthermore, the first part of the geometric information (i.e., high-precision geometric information) in the first information is quantized by the second quantization parameter, which can effectively control the number of bits of the high-precision geometric information, thereby effectively controlling the encoding quality. Attached Figure Description

[0034] Figure 1 This is a flowchart illustrating the encoding method of an embodiment of this application;

[0035] Figure 2 This is a schematic diagram of the fine mesh division process;

[0036] Figure 3 This is a diagram showing the eight possible directions for arranging patches;

[0037] Figure 4 This is a schematic diagram of the encoding process for high-precision geometric information;

[0038] Figure 5 This is a diagram of a raw patch;

[0039] Figure 6 This is a schematic diagram of a video-based 3D mesh geometric information encoding framework;

[0040] Figure 7 This is a schematic diagram of the encoding device according to an embodiment of this application;

[0041] Figure 8 This is a schematic diagram of the structure of the encoding device according to an embodiment of this application;

[0042] Figure 9 This is a flowchart illustrating the decoding method according to an embodiment of this application;

[0043] Figure 10 It is a geometric information reconstruction diagram;

[0044] Figure 11 This is a schematic diagram of a video-based 3D mesh geometry information decoding framework;

[0045] Figure 12 This is a schematic diagram of the module of the decoding device according to an embodiment of this application;

[0046] Figure 13 This is a schematic diagram of the structure of a communication device according to an embodiment of this application. Detailed Implementation

[0047] The technical solutions of the embodiments of this application will be clearly described below with reference to the accompanying drawings. Obviously, the described embodiments are only some, not all, of the embodiments of this application. All other embodiments obtained by those skilled in the art based on the embodiments of this application are within the scope of protection of this application.

[0048] The terms "first," "second," etc., used in the specification and claims of this application are used to distinguish similar objects and not to describe a specific order or sequence. It should be understood that such terms can be used interchangeably where appropriate so that embodiments of this application can be implemented in orders other than those illustrated or described herein, and the objects distinguished by "first" and "second" are generally of the same class, not limited in number; for example, a first object can be one or more. Furthermore, in the specification and claims, "and / or" indicates at least one of the connected objects, and the character " / " generally indicates that the preceding and following objects are in an "or" relationship.

[0049] It is worth noting that the technologies described in this application are not limited to Long Term Evolution (LTE) / LTE-Advanced (LTE-A) systems, but can also be used in other wireless communication systems, such as Code Division Multiple Access (CDMA), Time Division Multiple Access (TDMA), Frequency Division Multiple Access (FDMA), Orthogonal Frequency Division Multiple Access (OFDMA), Single-carrier Frequency Division Multiple Access (SC-FDMA), and other systems. The terms "system" and "network" in this application are often used interchangeably, and the described technologies can be used with the systems and radio technologies mentioned above, as well as with other systems and radio technologies. The following description describes New Radio (NR) systems for illustrative purposes, and NR terminology is used in most of the following description; however, these technologies can also be applied to applications beyond NR systems, such as 6th generation (6G) radio systems. th Generation 6G communication system.

[0050] The coding method provided in this application will be described in detail below with reference to the accompanying drawings, through some embodiments and application scenarios.

[0051] like Figure 1 As shown, this application provides an encoding method, including:

[0052] Step 101: The encoding end performs quantization processing on the geometric information of the target three-dimensional mesh according to the first quantization parameter to obtain the first information.

[0053] In this embodiment of the application, the target three-dimensional mesh can be understood as the three-dimensional mesh corresponding to any video frame, and the geometric information of the target three-dimensional mesh can be understood as the coordinates of the vertices in the three-dimensional mesh, which usually refers to three-dimensional coordinates.

[0054] The first information includes at least one of the following:

[0055] A11, First-precision geometric information;

[0056] It should be noted that the first precision geometric information can be understood as low precision geometric information, that is, low precision geometric information refers to the geometric information after the target three-dimensional mesh is quantized, that is, the three-dimensional coordinate information of each vertex of the target three-dimensional mesh after quantization.

[0057] A12, Second-precision geometric information;

[0058] It should be noted that the second precision geometric information can be understood as high precision geometric information, which can be regarded as the geometric information lost during the quantization process, that is, the lost three-dimensional coordinate information.

[0059] A13, Supplementary information.

[0060] It should be noted that the information of the supplementary points refers to the information of points that need to be processed additionally during the quantization process. In other words, the supplementary points are points that need to be processed additionally during the quantization process, such as duplicate points with overlapping coordinate positions. By processing the duplicate points, the vertices with overlapping coordinate positions during quantization can be restored to their original positions after dequantization.

[0061] Optionally, the information in this supplementary point includes at least one of the following:

[0062] A131, the index of the vertex in the first-precision geometric information corresponding to the supplementary point;

[0063] It should be noted that by identifying the index, we can know which points in the quantized mesh are identified as multiple points in the original 3D mesh. That is, multiple points in the original 3D mesh overlap after quantization. The low-precision geometric information of the supplementary points can be determined by the vertex index.

[0064] A132, Supplementary point third-precision geometric information;

[0065] It should be noted that this third-precision geometric information can be understood as the low-precision geometric information of the supplementary points, that is, the quantized three-dimensional coordinate information of the supplementary points.

[0066] A133, Supplementary point fourth-precision geometric information;

[0067] It should be noted that this fourth precision geometric information can be understood as the high precision geometric information of the supplementary points, that is, the three-dimensional coordinate information of the supplementary points that were lost during the quantization process.

[0068] It should be noted that, in practical use, the hidden points after quantization can be determined by using A131 and A133 or by using A132 and A133.

[0069] Step 102: The encoding end performs quantization processing on the first part of the geometric information in the first information according to the second quantization parameter. The first part of the geometric information includes at least one of the second precision geometric information and the fourth precision geometric information of the supplementary points. The fourth precision geometric information is the three-dimensional coordinate information of the supplementary points that was lost during the quantization process.

[0070] Specifically, in lossy mode, high-precision information and / or high-precision information of supplementary points can be further quantized, thereby effectively improving compression efficiency with an acceptable level of distortion.

[0071] Step 103: The encoding end encodes the first information and the quantized information after quantization processing. The quantized information includes first quantization information for indicating the first quantization parameter and second quantization information for indicating the second quantization parameter.

[0072] The first quantization information here can be a first quantization parameter, or a first offset value of the first quantization parameter relative to a first reference quantization parameter. The second quantization information can be a second quantization parameter, or a second offset value of the second quantization parameter relative to a second reference quantization parameter.

[0073] Here, encoding the quantized first information refers to encoding the second part of the geometric information in the first information and the quantized first part of the geometric information. The second part of the geometric information is the geometric information in the first information other than the first part of the geometric information. In this embodiment, the geometric information of the three-dimensional mesh is quantized by the first quantization parameter, which reduces the spacing between the vertices of the quantized three-dimensional mesh, thereby reducing the spacing between the two-dimensional vertices after projection. This can improve the compression efficiency of the geometric information of the three-dimensional mesh. Furthermore, the first part of the geometric information (i.e., high-precision geometric information) in the first information is quantized by the second quantization parameter, which can effectively control the number of bits of the high-precision geometric information, thereby effectively controlling the encoding quality.

[0074] Optionally, the encoding end encodes the first quantization information, including:

[0075] The encoding end encodes the first quantization parameter;

[0076] Alternatively, the encoding end obtains a first offset value of the first quantization parameter relative to the first reference quantization parameter, wherein the first reference quantization parameter is a reference quantization parameter set in the target group of pictures (GOP) that corresponds to the geometric information of the target three-dimensional mesh, and the target GOP is the GOP in which the video frame corresponding to the target three-dimensional network is located; the encoding end encodes the first offset value.

[0077] Specifically, each GOP is assigned a first reference quantization parameter. Each video frame in the GPF is offset from the first reference quantization parameter according to the temporal prediction structure to obtain a first offset value. Optionally, the first reference quantization parameter includes a first reference quantization coefficient.

[0078] In this embodiment, the encoding of the first quantization information can be achieved in various ways. Direct entropy encoding can be used, or other methods can be employed. If entropy encoding is used, zero-order exponential Golomb encoding or context-adaptive entropy encoding can be used.

[0079] Optionally, the method in this application embodiment further includes:

[0080] When the first quantization information is the same for the target three-dimensional mesh corresponding to each video frame in the video frame sequence, the encoded first quantization information is written into the sequence parameter set of the target bitstream, and the target bitstream is obtained based on the first information of the target three-dimensional mesh corresponding to each video frame.

[0081] Alternatively, if the target 3D meshes corresponding to at least two video frames in the video frame sequence use different first quantization information, the encoded first quantization parameter corresponding to the video frame is written into the header of the bitstream corresponding to each video frame, and the bitstream corresponding to each video frame is obtained based on the first information of the target 3D mesh corresponding to the video frame.

[0082] For example, the encoded first quantization parameter can be written in multiple locations in the bitstream. If the entire video frame sequence uses the same first quantization parameter, the encoded first quantization parameter is written in the sequence parameter set of the target bitstream. If each video frame uses a different first quantization parameter, the encoded first quantization parameter is written at the beginning of the bitstream corresponding to each video frame.

[0083] Optionally, in the method of this application embodiment, the encoding end encodes the second quantization information, including:

[0084] The encoding end encodes the second quantization parameter;

[0085] Alternatively, the encoding end obtains a second offset value of the second quantization parameter relative to the second reference quantization parameter, wherein the second reference quantization parameter is a reference quantization parameter set in the target GOP that corresponds to the first part of the geometric information, and the target GOP is the GOP in which the video frame corresponding to the target 3D network is located; the encoding end encodes the second offset value.

[0086] Specifically, each Group of Pictures (GOP) is assigned a second reference quantization parameter. Each video frame within the GOP is offset from this second reference quantization parameter based on its temporal prediction structure to obtain a second offset value. Optionally, the second reference quantization parameter includes second reference quantization coefficients.

[0087] In this embodiment, the encoding of the second quantization information can be performed in various ways. Direct entropy encoding can be used; other methods can also be employed. If entropy encoding is used, zero-order exponential Golomb encoding or context-adaptive entropy encoding can be used.

[0088] It should be noted that the process of quantizing high-precision geometric information is similar to the process of quantizing geometric information, but it is not necessary to retain the residual information generated by quantization.

[0089] Optionally, the method in this application embodiment further includes:

[0090] When the second quantization information is the same for the first part of the geometric information corresponding to each video frame in the video frame sequence, the encoded second quantization information is written into the sequence parameter set of the target bitstream, wherein the target bitstream is obtained based on the first information of the target three-dimensional mesh corresponding to each video frame.

[0091] Alternatively, if the second quantization information used for the first part of the geometric information of at least two video frames in the video frame sequence is different, the encoded second quantization information corresponding to the video frame is written into the header of the bitstream corresponding to each video frame, and the bitstream corresponding to each video frame is obtained based on the first information of the target three-dimensional mesh corresponding to the video frame.

[0092] For example, the encoded second quantization parameter can be written in multiple positions in the bitstream. If the entire video frame sequence uses the same second quantization parameter, the encoded second quantization parameter is written in the sequence parameter set of the target bitstream. If each video frame uses a different second quantization parameter, the encoded second quantization parameter is written at the beginning of the bitstream corresponding to each video frame.

[0093] It should be noted that the first and second quantization parameters after encoding can be located in different positions in the bitstream. For example, the first quantization parameter after encoding can be located in the sequence parameter set of the target bitstream, and the second quantization parameter after encoding can be located at the beginning of the bitstream corresponding to each video frame. Alternatively, the second quantization parameter after encoding can be located in the sequence parameter set of the target bitstream, and the first quantization parameter after encoding can be located at the beginning of the bitstream corresponding to each video frame. Of course, the first and second quantization parameters after encoding can be located in the same position in the bitstream, such as both being located in the sequence parameter set of the target bitstream, or being located at the beginning of the bitstream corresponding to the same video frame.

[0094] Since the first quantization information and the second quantization information mentioned above are the information required by the decoding end when performing decoding, encoding the first quantization information and the second quantization information can facilitate the decoding end to quickly perform decoding based on the first quantization information and the second quantization information.

[0095] Optionally, the specific implementation of step 101 above includes:

[0096] The encoding end quantizes each vertex in the target 3D mesh according to the first quantization parameter of each component to obtain first precision geometric information.

[0097] It should be noted that the first quantization parameter of each component can be flexibly set according to the usage requirements; the first quantization parameter mainly includes the quantization parameters of the three components in the X, Y and Z directions.

[0098] Generally, for quantization with low precision requirements, only low-precision geometric information can be retained after quantization; however, for quantization with high precision requirements, both low-precision and high-precision geometric information need to be recorded during quantization to achieve accurate mesh recovery during decoding. In other words, the specific implementation of step 101 above should also include:

[0099] The encoding end obtains the second precision geometric information based on the first precision geometric information and the first quantization parameter of each component.

[0100] For example, suppose the three-dimensional coordinates of a vertex are (x, y, z), and the first quantization parameter is (QP). x QP y QP z Low-precision geometric information (x) l ,y l ,z l ) and high-precision geometric information (x h ,y h ,z h The calculation process for ) is shown in Formulas 1 to 6:

[0101] Formula 1: x l =f1(x,QP) x );

[0102] Formula 2: y l =f1(y,QP y );

[0103] Formula 3: z l =f1(z,QP z );

[0104] Formula 4: x h =f2(x,x l QP x );

[0105] Formula 5: y h =f2(y,y l QP y );

[0106] Formula 6: z h =f2(z,z) l QP z );

[0107] In Formulas 1 to 3, the f1 function is a quantization function. The input of the quantization function is the coordinates of a certain dimension and the first quantization parameter of that dimension, and the output is the quantized coordinate value. The f2 function in Formulas 4 to 6 takes the original coordinate value, the quantized coordinate value, and the first quantization parameter of that dimension (which can also be described as the first quantization coefficient) as input, and outputs the high-precision coordinate value.

[0108] The `f1` function can be calculated in several ways. A common method, as shown in formulas 7 through 9, involves dividing the original coordinates of each dimension by the quantization parameter of that dimension. Here, ` / ` represents the division operator, and the result of the division operation can be rounded in different ways, such as rounding to the nearest integer, rounding down, or rounding up. The `f2` function also has multiple calculation methods, the corresponding implementations of formulas 7 through 9 being shown in formulas 10 through 12, where `*` represents the multiplication operator.

[0109] Formula 7: x l =x / QP x ;

[0110] Formula 8: y l =y / QP y ;

[0111] Formula 9: z l =z / QP z ;

[0112] Formula 10: xh =xx l *QP x ;

[0113] Formula 11: y h =yy l *QP y ;

[0114] Formula 12: z h =zz l *QP z ;

[0115] When the quantization parameter is an integer power of 2, the f1 and f2 functions can be implemented using bitwise operations, as shown in formulas thirteen to eighteen:

[0116] Formula Thirteen: x l =x >> log2QP x ;

[0117] Formula Fourteen: y l =y>>log2QP y ;

[0118] Formula 15: z l =z>>log2QP z ;

[0119] Formula 16: x h =x&(QP x -1);

[0120] Formula 17: y h =y&(QP y -1);

[0121] Formula 18: z h =z&(QP z -1);

[0122] It is worth noting that regardless of the calculation method used for the f1 and f2 functions, the first quantization parameter QP x QP y and QP z Both can be flexibly configured. Firstly, the first quantization parameters of different components are not necessarily equal; therefore, the correlation between the first quantization parameters of different components can be used to establish a QP (Quantization Process). x QP y and QP z The relationship between the components is such that different first quantization parameters are set for different components; secondly, the first quantization parameters for different spatial regions are not necessarily equal, and the quantization parameters can be adaptively set according to the sparsity of the vertex distribution in the local region.

[0123] It should be noted that high-precision geometric information includes detailed information about the contour of the 3D mesh. To further improve compression efficiency, the high-precision geometric information (x... h ,y h ,z h Further processing is required. In a 3D mesh model, the importance of high-precision geometric information of vertices varies in different regions. For regions with sparse vertex distribution, distortion of high-precision geometric information will not significantly affect the visual effect of the 3D mesh. In this case, to improve compression efficiency, one can choose to further quantize the high-precision geometric information or retain only the high-precision geometric information of a subset of points.

[0124] Optionally, during the quantization process, multiple points may overlap at the same location after quantization. In other words, in this case, the specific implementation of step 101 above should also include:

[0125] The encoding end determines the information of the supplementary points based on the geometric information of the target three-dimensional mesh and the first precision geometric information.

[0126] In other words, after obtaining the low-precision geometric information of all vertices, points with repeated low-precision geometric information are treated as supplementary points and encoded separately. The geometric information of the supplementary points can also be divided into low-precision and high-precision geometric information. Depending on the application's requirements for compression distortion, it is possible to retain all supplementary points or only a portion of them. The high-precision geometric information of the supplementary points can also be further quantized, or only the high-precision geometric information of a subset of points can be retained.

[0127] It should be noted that after further quantization processing of the first part of the geometric information in the first information, the final first information (hereinafter referred to as the first information) needs to be encoded to obtain the final bitstream. Optionally, the specific implementation process of encoding the first information in the embodiments of this application includes:

[0128] Step 1021: The encoding end processes the first information to obtain second information, the second information including at least one of a placeholder image and a geometric image;

[0129] Step 1022: The encoding end encodes the second information.

[0130] It should be noted that, since the first information contains different types of information, when processing the first information, different types of information will be processed separately. The implementation process of step 1021 will be explained from the perspective of different types of information below.

[0131] I. The first information includes first-precision geometric information.

[0132] Optionally, in this case, the specific implementation process of step 1021 includes:

[0133] Step 10211: The encoding end performs three-dimensional patching on the first precision geometric information;

[0134] It should be noted that in this case, the main task is to divide the low-precision geometric information into patches to obtain multiple 3D patches. The specific implementation of this step is as follows: the encoder determines the projection plane of each vertex contained in the first-precision geometric information; the encoder divides the vertices contained in the first-precision geometric information into patches based on the projection planes; the encoder clusters the vertices contained in the first-precision geometric information to obtain each patch. In other words, the patch division process mainly includes: first, estimating the normal vector of each vertex, and selecting the candidate projection plane with the smallest angle between the plane normal vector and the vertex normal vector as the projection plane of that vertex; then, performing an initial partitioning of the vertices based on the projection planes, grouping vertices with the same and connected projection planes into patches; finally, using a fine-grained partitioning algorithm to optimize the clustering results, obtaining the final 3D patch, and projecting the 3D patch onto a 2D plane to obtain a 2D patch.

[0135] The specific implementation of the process of obtaining a 3D patch from the first-precision geometric information is explained in detail below.

[0136] First, the normal vector of each point is estimated. The tangent plane and its corresponding normal are defined based on the nearest neighbor vertex m of each point within a predefined search distance. A KD-tree is used to separate the data and at point p... i Find neighboring points nearby; the centroid of this set. Used to define the normal. The centroid c is calculated as follows:

[0137] Formula 19:

[0138] The vertex normal vector is estimated using the eigenvalue decomposition method, and the calculation process is shown in Formula 20:

[0139] Formula 20:

[0140] In the initial partitioning phase, a preliminary projection plane is selected for each vertex. Let the estimated value of the vertex normal vector be... The normal vector of the candidate projection plane is The plane whose normal vector direction is closest to the vertex's normal vector direction is selected as the projection plane of that vertex. The calculation process for plane selection is shown in Formula 21:

[0141] Formula 21:

[0142] The fine-grained partitioning process can employ a grid-based algorithm to reduce its time complexity. The flow of a grid-based fine-grained partitioning algorithm is as follows: Figure 2 As shown, it specifically includes:

[0143] First, set the loop count (numer) to 0. Then, check if the loop count is less than the maximum loop count (note that this maximum loop count can be set according to usage requirements). If it is less, execute the following process:

[0144] Step S201: Divide the (x,y,z) geometric coordinate space into voxels.

[0145] It should be noted that the geometric coordinate space here refers to the geometric coordinate space constituted by the first-precision geometric information obtained by quantization. For example, for a 10-bit mesh using a voxel size of 8, the number of voxels at each coordinate will be 1024 / 8 = 128, and the total number of voxels in this coordinate space will be 128 × 128 × 128.

[0146] Step S202: Locate the fill voxels. A fill voxel is a voxel in the mesh that contains at least one point.

[0147] Step S203: Calculate the smoothing score of each filled voxel on each projection plane, denoted as voxScoreSmooth. The voxel smoothing score of a voxel on a projection plane is the number of points aggregated to that projection plane through the initial segmentation process.

[0148] Step S204: Use KD-Tree partitioning to find the nearest filled voxels, denoted as nnFilledVoxels, which is the nearest filled voxel of each filled voxel (within the search radius and / or limited to the maximum number of neighboring voxels).

[0149] Step S205: Using the voxel smoothing scores of the nearest-neighbor filled voxels on each projection plane, calculate the smoothing score (scoreSmooth) for each filled voxel. The calculation process is shown in Formula 22:

[0150] Formula 22:

[0151] Where p is the index of the projection plane, and v is the index of the nearest neighbor filled voxel. All points within a voxel have the same scoreSmooth.

[0152] Step S206: Calculate the normal score, denoted as scoreNormal, using the normal vector of the vertex and the normal vector of the candidate projection plane. The calculation process is shown in Formula 23:

[0153] Formula 23: scoreNormal[i][p] = normal[i]·orientation[p];

[0154] Where p is the index of the projection plane and i is the index of the vertex.

[0155] Step S207: Use scoreSmooth and scoreNormal to calculate the final score of each voxel on each projection plane. The calculation process is shown in Formula 24:

[0156] Formula 24:

[0157] Where i is the vertex index, p is the index of the projection plane, and v is the voxel index of vertex i.

[0158] Step S208: Use the scores from step 207 to cluster the vertices to obtain a finely divided patch.

[0159] Repeat the above process multiple times until a relatively accurate patch is obtained.

[0160] Step 10212: The encoding end performs two-dimensional projection on the divided three-dimensional pieces to obtain two-dimensional pieces;

[0161] It should be noted that this process involves projecting a 3D patch onto a 2D plane to obtain a 2D patch.

[0162] Step 10213: The encoding end packages the two-dimensional slices to obtain two-dimensional image information;

[0163] It should be noted that this step implements patch packing. The purpose of patch packing is to arrange 2D patches on a 2D image. The basic principle of patch packing is to arrange patches on the 2D image without overlap or to arrange the non-pixel parts of the patches on the 2D image with partial overlap. Through algorithms such as priority sorting and temporal consistency sorting, the patches are arranged more tightly and have temporal consistency, thereby improving coding performance.

[0164] Suppose that the resolution of the 2D image is W×H, and the minimum block size of the patch arrangement is defined as T, which specifies the minimum distance between different patches placed on this 2D grid.

[0165] First, patches are inserted onto the 2D grid without overlapping. Each patch occupies an area consisting of an integer number of TxT blocks. Furthermore, adjacent patches must be at least one TxT block apart. When there is insufficient space to place the next patch, the image height doubles, and patch placement continues.

[0166] To make the patches more compact, patches can be arranged in several different directions. For example, eight different directions can be used, such as... Figure 3 As shown, it includes 0 degrees, 180 degrees, 90 degrees, 270 degrees, and mirror images of the first four directions.

[0167] To better adapt to the inter-frame prediction characteristics of the video encoder, a temporally consistent patch arrangement method is adopted. Within a Group of Pictures (GOP), all patches of the first frame are arranged in descending order. For other frames in the GOP, a temporally consistent algorithm is used to adjust the patch arrangement order.

[0168] It should also be noted that after obtaining the two-dimensional image information, the patch information can be obtained based on the information obtained during the process of obtaining the two-dimensional image information. Then, the slice information can be encoded to obtain the slice information sub-bit stream.

[0169] It should be noted that during the process of obtaining 2D image information, it is necessary to record the information of patch division, patch projection plane, and patch packing position. Therefore, the patch information records the information of each step in the process of obtaining 2D image, that is, the patch information includes: patch division information, patch projection plane, and patch packing position.

[0170] Step 10214: The encoding end obtains a placeholder map of first precision and a geometric map of first precision based on the two-dimensional image information.

[0171] It's important to note that the process of obtaining the placeholder image mainly involves: using the patch arrangement information obtained from patch packing, setting the positions of vertices in the 2D image to 1 and the rest to 0, thus obtaining the placeholder image. The process of obtaining the geometry image mainly involves: during the process of obtaining the 2D patch through projection, the distance from each vertex to the projection plane is saved; this distance is called depth. The low-precision geometry image compression part involves arranging the depth values ​​of each vertex in the 2D patch to their positions in the placeholder image, thus obtaining the low-precision geometry image.

[0172] Second, the first information includes second precision geometric information.

[0173] Optionally, in this case, the specific implementation process of step 1021 includes:

[0174] Step 10215: The encoding end obtains the arrangement order of the vertices contained in the first precision geometric information;

[0175] Step 10216: The encoding end arranges the second-precision geometric information corresponding to the vertices contained in the first-precision geometric information in the two-dimensional image to generate a second-precision geometric map.

[0176] It should be noted that the high-precision geometric information is generated using a raw patch arrangement method. The high-precision geometric information corresponding to the vertices in the low-precision geometric image is arranged in the 2D image to obtain the raw patch, thus generating the high-precision geometric image. This mainly involves three steps, as follows: Figure 4 As shown, it includes:

[0177] Step 401: Obtain the vertex arrangement order. Scan the low-precision geometry line by line from left to right, and use the scanning order of each vertex as the vertex arrangement order in the raw patch.

[0178] Step 402: Generate raw patch.

[0179] It should be noted that a raw patch modifies the 3D coordinates of vertices according to... Figure 5 Arrange the vertices row by row as shown to form a rectangular patch. Following the vertex arrangement order obtained in the first step, arrange the high-precision geometric information of the vertices sequentially to obtain the high-precision geometric information raw patch.

[0180] Step 403: Place the high-precision geometric information into a two-dimensional image to generate a high-precision geometric map.

[0181] It should be noted that when encoding to obtain the geometric sub-bitstream, the encoding end encodes the first-precision geometric figure and the second-precision geometric figure to obtain the geometric sub-bitstream.

[0182] Third, the first information includes information about supplementary points.

[0183] Optionally, in this case, the specific implementation process of step 1021 includes:

[0184] Step 10217: The encoding end arranges the third-precision geometric information of the supplementary points into a first original piece;

[0185] Step 10218: The encoding end arranges the fourth precision geometric information of the supplementary points into a second original piece according to the same arrangement order as the first original piece;

[0186] Step 10219: The encoding end compresses the first original slice and the second original slice to obtain the geometric diagram of the supplementary points.

[0187] It should be noted that in this embodiment, the geometric information of the supplementary points is divided into low-precision and high-precision parts, which are encoded separately. First, the low-precision geometric information of the supplementary points is arranged in any order to form a low-precision raw patch; then, the high-precision geometric information is arranged in the same order as the low-precision raw patch to form a high-precision raw patch; finally, the low-precision raw patch and the high-precision raw patch are compressed, and various compression methods can be used. One method is to encode the values ​​in the raw patch using run-length encoding, entropy encoding, etc. Another method is to add the low-precision raw patch to the blank area of ​​the low-precision geometric diagram and add the high-precision raw patch to the blank area of ​​the high-precision geometric diagram to obtain the geometric diagram of the supplementary points.

[0188] The video-based 3D mesh geometric information encoding framework of this application embodiment is as follows: Figure 6 As shown, the overall coding process is as follows:

[0189] First, before quantization, it is possible to choose whether to sample and simplify the 3D mesh. Then, the 3D mesh is quantized, which may generate three parts: low-precision geometric information, high-precision geometric information, and supplementary point information. For low-precision geometric information, a projection method is used to divide and arrange patches to generate patch sequence compression information (patch division information), placeholder maps, and low-precision geometric maps. For possible high-precision geometric information, a raw patch arrangement method can be used to generate high-precision geometric maps (it should be noted that the high-precision geometric maps can be encoded into a separate bitstream, or the high-precision geometric maps can be filled into the low-precision geometric maps and encoded into a single bitstream). For possible supplementary points, the geometric information of the supplementary points can be divided into low-precision and high-precision parts, and raw patches can be arranged separately and encoded into a single bitstream, or the raw patches can be added to the geometric map. Finally, the patch sequence compression information, placeholder maps, and geometric maps are encoded to obtain corresponding sub-bitstreams, and the multiple sub-bitstreams are mixed to obtain the final output bitstream.

[0190] It should be noted that this application provides an implementation method for encoding the geometric information of a three-dimensional mesh. The geometric information of the three-dimensional mesh is quantized using a first quantization parameter, and the high-precision geometric information is further quantized using a second quantization parameter. The information with different quantization precisions is then encoded, thereby improving the compression efficiency of the geometric information of the three-dimensional mesh.

[0191] The encoding method provided in this application can be executed by an encoding device. This application uses an encoding device executing the encoding method as an example to illustrate the encoding device provided in this application.

[0192] like Figure 7 As shown, this application embodiment provides an encoding device 700, including:

[0193] The first processing module 701 is used to quantize the geometric information of the target three-dimensional mesh according to the first quantization parameter to obtain first information. The first information includes at least one of the following: first precision geometric information, second precision geometric information, and information of supplementary points. The information of supplementary points includes fourth precision geometric information of the supplementary points, and the fourth precision geometric information is the three-dimensional coordinate information of the supplementary points that was lost during the quantization process.

[0194] The second processing module 702 is used to perform quantization processing on the first part of the geometric information in the first information according to the second quantization parameter. The first part of the geometric information includes at least one of the second precision geometric information and the fourth precision geometric information of the supplementary points.

[0195] The first encoding module 703 is used to encode the first information and the quantized information after quantization processing. The quantized information includes first quantization information for indicating the first quantization parameter and second quantization information for indicating the second quantization parameter.

[0196] Wherein, the first precision geometric information is the geometric information of the target three-dimensional mesh after quantization, the second precision geometric information is the geometric information lost during the quantization process of the target three-dimensional mesh, and the information of the supplementary points is the information of points that need additional processing during the quantization process.

[0197] Optionally, the first encoding module is used to encode the first quantization parameter;

[0198] Alternatively, it can be used to obtain a first offset value of the first quantization parameter relative to a first reference quantization parameter, wherein the first reference quantization parameter is a reference quantization parameter set in the target GOP that corresponds to the geometric information of the target 3D mesh, and the target GOP is the GOP in which the video frame corresponding to the target 3D network is located; and the first offset value is encoded.

[0199] Optionally, the apparatus in this application embodiment further includes:

[0200] The first writing module is used to write encoded first quantization information into the sequence parameter set of the target bitstream when the first quantization information used by the target three-dimensional mesh corresponding to each video frame in the video frame sequence is the same. The target bitstream is obtained based on the first information of the target three-dimensional mesh corresponding to each video frame.

[0201] Alternatively, if the target 3D meshes corresponding to at least two video frames in the video frame sequence use different first quantization information, the encoded first quantization information corresponding to the video frame is written into the header of the bitstream corresponding to each video frame, and the bitstream corresponding to each video frame is obtained based on the first information of the target 3D mesh corresponding to the video frame.

[0202] Optionally, in the apparatus of this application embodiment, the first encoding module is used to encode the second quantization parameter;

[0203] Alternatively, obtain a second offset value of the second quantization parameter relative to the second reference quantization parameter, wherein the second reference quantization parameter is a reference quantization parameter set in the target GOP that corresponds to the first part of the geometric information, and the target GOP is the GOP in which the video frame corresponding to the target 3D network is located; and encode the second offset value.

[0204] Optionally, the apparatus in this application embodiment further includes:

[0205] The second writing module is used to write encoded second quantization information into the sequence parameter set of the target bitstream when the second quantization information used for the first part of geometric information corresponding to each video frame in the video frame sequence is the same. The target bitstream is obtained based on the first information of the target three-dimensional mesh corresponding to each video frame.

[0206] Alternatively, if the second quantization information used for the first part of the geometric information of at least two video frames in the video frame sequence is different, the encoded second quantization information corresponding to the video frame is written into the header of the bitstream corresponding to each video frame, and the bitstream corresponding to each video frame is obtained based on the first information of the target three-dimensional mesh corresponding to the video frame.

[0207] Optionally, in the apparatus of this application embodiment, the first processing module is used to quantize each vertex in the target three-dimensional mesh according to the first quantization parameter of each component to obtain first precision geometric information.

[0208] Optionally, in the apparatus of this application embodiment, the first processing module is further configured to obtain second precision geometric information based on the first precision geometric information and the first quantization parameter of each component.

[0209] Optionally, in the apparatus of this application embodiment, the first processing module is further configured to determine the information of the supplementary points based on the geometric information of the target three-dimensional mesh and the first precision geometric information.

[0210] Optionally, in the apparatus of this application embodiment, the information of the supplementary points further includes at least one of the following:

[0211] The index of the vertex in the first-precision geometric information corresponding to the supplementary point;

[0212] The supplementary point has third-precision geometric information, which is the quantized three-dimensional coordinate information of the supplementary point.

[0213] Optionally, in the apparatus of this application embodiment, the first encoding module includes:

[0214] The third acquisition submodule is used to process the first information after quantization and acquire the second information, which includes at least one of the placeholder image and the geometric image.

[0215] The first encoding submodule is used to encode the second information.

[0216] Optionally, in the apparatus of this application embodiment, when the first information after quantization includes first precision geometric information, the third acquisition submodule includes:

[0217] The first partitioning unit is used to perform three-dimensional patch partitioning on the first precision geometric information;

[0218] The first acquisition unit is used to perform two-dimensional projection on the divided three-dimensional pieces to acquire two-dimensional pieces;

[0219] The second acquisition unit is used to package the two-dimensional slices and acquire two-dimensional image information;

[0220] The third acquisition unit is used to acquire a placeholder image with a first precision and a geometric image with a first precision based on the two-dimensional image information.

[0221] Optionally, in the apparatus of this application embodiment, the third acquisition submodule further includes:

[0222] The fourth acquisition unit is used to package the two-dimensional slices in the second acquisition unit and acquire two-dimensional image information, and then acquire slice information based on the information acquired during the process of acquiring two-dimensional image information.

[0223] The fifth acquisition unit is used to encode the slice information and acquire the slice information sub-code stream.

[0224] Optionally, in the apparatus of this application embodiment, when the first information after quantization includes second precision geometric information, the third acquisition submodule includes:

[0225] The sixth acquisition unit is used to acquire the arrangement order of the vertices contained in the first precision geometric information;

[0226] The seventh acquisition unit is used to arrange the second-precision geometric information corresponding to the vertices contained in the first-precision geometric information in a two-dimensional image to generate a second-precision geometric map.

[0227] Optionally, in the apparatus of this application embodiment, the first encoding submodule is used to encode a geometric figure of first precision and a geometric figure of second precision to obtain a geometric figure sub-code stream.

[0228] Optionally, in the apparatus of this application embodiment, when the first information after quantization includes information about supplementary points, the third acquisition submodule includes:

[0229] The first arrangement unit is used to arrange the third precision geometric information of the supplementary points into a first original piece;

[0230] The second arrangement unit is used to arrange the fourth precision geometric information of the supplementary points into a second original piece according to the same arrangement order as the first original piece;

[0231] The eighth acquisition unit is used to compress the first original slice and the second original slice to obtain the geometry of the supplementary points.

[0232] The above scheme quantizes the geometric information of the three-dimensional mesh using a first quantization parameter, thereby reducing the spacing between the vertices of the quantized three-dimensional mesh and consequently reducing the spacing between the two-dimensional vertices after projection. This improves the compression efficiency of the geometric information of the three-dimensional mesh. Furthermore, by quantizing the first part of the geometric information (i.e., high-precision geometric information) in the first information using a second quantization parameter, the number of bits of the high-precision geometric information can be effectively controlled, thereby effectively controlling the encoding quality.

[0233] This device embodiment corresponds to the above-described encoding method embodiment. All implementation processes and methods of the above-described method embodiment can be applied to this device embodiment and can achieve the same technical effect.

[0234] Specifically, embodiments of this application also provide an encoding device, such as... Figure 8As shown, the encoding device 800 includes a processor 801, a network interface 802, and a memory 803. The network interface 802 is, for example, a common public radio interface (CPRI).

[0235] Specifically, the encoding device 800 in this application embodiment further includes: instructions or programs stored in memory 803 and executable on processor 801, wherein processor 801 calls the instructions or programs in memory 803 to execute. Figure 7 The methods executed by each module shown achieve the same technical effect, and to avoid repetition, they will not be described in detail here.

[0236] like Figure 9 As shown in the embodiments of this application, a decoding method is also provided, including:

[0237] Step 901: The decoding end performs decoding processing on the acquired bitstream to obtain quantization information and first information. The first information includes at least one of the following: first precision geometric information, second precision geometric information, and supplementary point information. The supplementary point information includes fourth precision geometric information of the supplementary point, which is the three-dimensional coordinate information of the supplementary point lost during quantization. The quantization information includes first quantization information for indicating the first quantization parameter and second quantization information for indicating the second quantization parameter. The second quantization parameter is a quantization parameter for quantizing the first part of the geometric information in the first information. The first part of the geometric information includes at least one of the second precision geometric information and the fourth precision geometric information of the supplementary point.

[0238] Step 902: The decoding end performs inverse quantization processing on the first information based on the quantization information to obtain the target three-dimensional mesh.

[0239] Wherein, the first precision geometric information is the geometric information of the target three-dimensional mesh after quantization, the second precision geometric information is the geometric information lost during the quantization process of the target three-dimensional mesh, and the information of the supplementary points is the information of points that need additional processing during the quantization process.

[0240] In this embodiment of the application, the target three-dimensional mesh can be understood as the three-dimensional mesh corresponding to any video frame, and the geometric information of the target three-dimensional mesh can be understood as the coordinates of the vertices in the three-dimensional mesh, which usually refers to three-dimensional coordinates.

[0241] The aforementioned first information has been described in detail in the method embodiment at the encoding end, and will not be repeated here.

[0242] In this embodiment of the application, the decoding end performs decoding processing on the acquired bitstream to obtain quantization information and first information, and can quickly perform inverse quantization processing on the first information based on the quantization information to obtain the target three-dimensional mesh.

[0243] In this embodiment of the application, the first quantization parameter can be obtained directly by decoding the acquired bitstream, or the first offset value of the first quantization parameter relative to the first reference quantization parameter can be obtained, and the first quantization parameter can be obtained based on the first offset value.

[0244] Optionally, obtaining the first quantization parameter includes:

[0245] The decoding end obtains a first offset value of the first quantization parameter relative to the first reference quantization parameter. The first reference quantization parameter is a reference quantization parameter set in the target GOP that corresponds to the geometric information of the target three-dimensional mesh. The target GOP is the GOP where the video frame corresponding to the target three-dimensional network is located.

[0246] The first quantization parameter is obtained based on the first offset value and the first reference quantization parameter.

[0247] Optionally, obtaining the first quantization information includes:

[0248] When the first quantization information is the same for the target 3D mesh corresponding to each video frame in the video frame sequence, the first quantization information is obtained from the sequence parameter set of the target bitstream. The target bitstream is obtained by encoding the first information of the target 3D mesh corresponding to each video frame by the encoding end.

[0249] Alternatively, if the target 3D meshes corresponding to at least two video frames in the video frame sequence use different first quantization information, the first quantization information corresponding to the video frame is obtained at the beginning of the bitstream corresponding to each video frame, and the bitstream corresponding to each video frame is obtained by encoding the first information of the target 3D mesh corresponding to the video frame by the encoding end.

[0250] Optionally, the decoding end acquires the second quantization parameter, including:

[0251] The decoding end obtains a second offset value of the second quantization parameter relative to the second reference quantization parameter. The second reference quantization parameter is a reference quantization parameter set in the target GOP that corresponds to the first part of the geometric information. The target GOP is the GOP where the video frame corresponding to the target 3D network is located.

[0252] The decoding end obtains the second quantization parameter based on the second offset value and the second reference quantization parameter.

[0253] In this embodiment of the application, the second quantization parameter can be obtained directly by decoding the acquired bitstream, or a second offset value relative to the second reference quantization parameter can be obtained, and the second quantization parameter can be obtained based on the second offset value.

[0254] Optionally, the decoding end acquires the second quantization parameter, including:

[0255] When the second quantization parameter is the same for the first part of geometric information corresponding to each video frame in the video frame sequence, the second quantization parameter is obtained from the sequence parameter set of the target bitstream. The target bitstream is obtained by encoding the first information of the target three-dimensional mesh corresponding to each video frame by the encoding end.

[0256] Alternatively, if the second quantization parameter is different for the first part of the geometric information corresponding to at least two video frames in the video frame sequence, the encoded second quantization parameter corresponding to the video frame is obtained at the beginning of the bitstream corresponding to each video frame. The bitstream corresponding to each video frame is obtained by encoding the first information of the target three-dimensional mesh corresponding to the video frame by the encoding end.

[0257] In this embodiment, geometric information reconstruction first requires decoding the first quantization parameter and the second quantization parameter in the bitstream. The corresponding first and second quantization parameters are read from the corresponding positions in the bitstream, and then obtained using the decoding method corresponding to the encoding method. If the entire sequence uses the same quantization parameter, it can be read from the sequence parameter set of the bitstream; if different video frames use different quantization parameters, it can be read from the beginning of each frame's bitstream; if a reference quantization parameter is set for each GOP, and each frame is offset from the reference quantization parameter according to the temporal prediction structure, it can be read from the beginning of each frame's data. The reading position of the first quantization parameter is similar to that of the second quantization parameter, but they are not necessarily stored in the same location.

[0258] Optionally, the decoding end performs inverse quantization processing on the first information based on the quantization information to obtain the target 3D mesh, including:

[0259] The decoding end performs inverse quantization processing on the first part of the geometric information in the first information based on the second quantization information;

[0260] The decoding end performs inverse quantization processing on the first information after quantization based on the first quantization parameter to obtain the target three-dimensional network.

[0261] Here, the first part of the geometric information in the first information is first dequantized according to the second quantization parameter, and then the second part of the geometric information and the dequantized first part of the geometric information are dequantized according to the first quantization parameter. The second part of the geometric information is the information in the first information other than the first part of the geometric information.

[0262] Optionally, the specific implementation of the decoding end performing decoding processing on the acquired bitstream to obtain the first information includes:

[0263] The decoding end obtains a target sub-codestream based on the acquired codestream. The target sub-codestream includes: a fragment information sub-codestream, a placeholder image sub-codestream, and a geometric image sub-codestream.

[0264] The decoding end obtains second information based on the target sub-code stream, the second information including at least one of a placeholder image and a geometric image;

[0265] The decoding end obtains the first information based on the second information.

[0266] Optionally, when the first information includes first precision geometric information, obtaining the first information based on the second information includes:

[0267] The decoding end obtains two-dimensional image information based on the placeholder map of the first precision and the geometric map of the first precision;

[0268] The decoding end obtains a two-dimensional slice based on the two-dimensional image information;

[0269] The decoding end performs a three-dimensional inverse projection on the two-dimensional slice based on the slice information corresponding to the slice information sub-code stream to obtain the three-dimensional slice;

[0270] The decoding end obtains first-precision geometric information based on the three-dimensional slice.

[0271] Optionally, when the first information includes second precision geometric information, obtaining the first information based on the second information includes:

[0272] The decoding end obtains second-precision geometric information based on the second-precision geometric diagram.

[0273] Optionally, if the first information includes information about supplementary points, obtaining the first information based on the second information includes:

[0274] The decoding end determines the first original slice corresponding to the third precision geometric information of the supplementary point and the second original slice corresponding to the fourth precision geometric information of the supplementary point based on the geometric diagram of the supplementary point.

[0275] The decoding end determines the information of the supplementary points based on the first original slice and the second original slice.

[0276] It should be noted that in this embodiment, the geometric information of the supplementary points is divided into low-precision and high-precision parts, which are decoded separately. First, the geometric diagram of the supplementary points is decompressed, and various decompression methods can be used. One method is to decode the geometric diagram using run-length decoding, entropy decoding, etc. Another method is to extract the low-precision raw patch of the supplementary points from the low-precision geometric diagram and the high-precision raw patch of the supplementary points from the high-precision geometric diagram. Then, the low-precision geometric information of the supplementary points is obtained from the low-precision raw patch of the supplementary points in a specific order, and the high-precision geometric information is obtained from the high-precision raw patch of the supplementary points in a specific order. It should be noted that this specific order is obtained by the decoding end through parsing the bitstream; that is, the order in which the encoding end generates the low-precision raw patch and the high-precision raw patch of the supplementary points is communicated to the decoding end through the bitstream.

[0277] Optionally, the decoding end performs inverse quantization processing on the quantized first information according to the first quantization parameter to obtain the target three-dimensional mesh, including:

[0278] The decoding end determines the coordinates of each vertex in the first precision geometric information based on the first precision geometric information and the first quantization parameter of each component.

[0279] Optionally, the decoding end further includes performing inverse quantization processing on the quantized first information according to the first quantization parameter to obtain the target three-dimensional mesh:

[0280] The decoding end determines the target three-dimensional mesh based on the coordinates of each vertex in the target three-dimensional mesh and the second precision geometric information.

[0281] It should be noted that the geometric information reconstruction process in this embodiment utilizes patch information, placeholder maps, low-precision geometric maps, and high-precision geometric maps to reconstruct a three-dimensional geometric model. The specific process is as follows: Figure 10 As shown, it mainly includes the following four steps:

[0282] Step 1001: Obtain the 2D patch;

[0283] It should be noted that obtaining a 2D patch refers to segmenting the 2D patch's placeholder and depth information from the placeholder and low-precision geometry maps using patch information. The patch information contains the position and size of each 2D patch's bounding box within the placeholder and low-precision geometry maps. Using the patch information, placeholder, and low-precision geometry maps, the placeholder and low-precision geometric information of the 2D patch can be directly obtained. For high-precision geometric information, the high-precision geometric information in the high-precision raw patch is mapped to the vertices of the low-precision geometry map using the vertex scanning order of the low-precision geometry map, thus obtaining the high-precision geometric information of the 2D patch. For the geometric information of supplementary points, the low-precision and high-precision geometric information of the supplementary points can be obtained by directly decoding the low-precision and high-precision raw patches of the supplementary points.

[0284] Step 1002, Reconstruct the 3D patch;

[0285] It's important to note that reconstructing a 3D patch refers to using placeholder information and low-precision geometric information from a 2D patch to reconstruct the vertices of that 2D patch into a low-precision 3D patch. The placeholder information in the 2D patch includes the position of the vertices relative to the origin in the local coordinate system of the patch's projection plane, while the depth information includes the depth value of the vertices along the normal direction of the projection plane. Therefore, using the placeholder and depth information, a 2D patch can be reconstructed into a low-precision 3D patch in the local coordinate system.

[0286] Step 1003: Reconstruct the low-precision geometric model;

[0287] It should be noted that reconstructing a low-precision geometric model refers to using the reconstructed low-precision 3D patches to rebuild the entire low-precision 3D geometric model. The patch information contains the transformation relationship between the 3D patch and the global coordinate system of the 3D geometric model. By using the coordinate transformation relationship to transform all 3D patches to the global coordinate system, the low-precision 3D geometric model is obtained. In addition, for supplementary points, the geometric information in the low-precision raw patch is directly used to obtain the low-precision coordinate values ​​of the supplementary points in the global coordinate system, thus obtaining the complete low-precision 3D geometric model.

[0288] Step 1004: Reconstruct a high-precision geometric model;

[0289] The high-precision geometric information is dequantized using the second quantization parameter to obtain the high-precision geometric information. The dequantization process is similar to the high-precision geometric model reconstruction process, but without residual information as a supplement. Then, the high-precision geometric model can be reconstructed using the low-precision geometric information, the high-precision geometric information, and the decoded quantization parameter.

[0290] Reconstructing a high-precision geometric model refers to the process of rebuilding a high-precision geometric model based on a low-precision geometric model, using high-precision geometric information. During the acquisition of the 2D patch, high-precision geometric information is mapped to low-precision geometric information. Based on the high-precision and low-precision geometric information of the vertices, the high-precision 3D coordinates of the vertices can be reconstructed. Depending on the application requirements, it is possible to reconstruct the high-precision 3D coordinates of all vertices or only a portion of the vertices. High-precision 3D coordinates (x... r ,y r ,z r The calculation process is shown in formulas 25 to 27:

[0291] Formula 25: x r =f3(x l ,x h QP x );

[0292] Formula 26: y r =f3(y l ,y h QP y );

[0293] Formula 27: z r =f3(z l ,z h QP z );

[0294] The f3 function is the reconstruction function. The calculation process of the reconstruction function corresponds to the calculation process of the quantization function at the encoding end, and it has multiple implementation methods. If the f1 function is implemented using formulas seven to twelve, then the implementation methods of the reconstruction function are as shown in formulas twenty-eight to thirty:

[0295] Formula 28: x r =x l *QP x +x h ;

[0296] Formula 29: y r =y l *QP y +y h ;

[0297] Formula 30: z r =z l *QP z +z h ;

[0298] If the f1 function is implemented using formulas thirteen through eighteen, then the reconstruction function is implemented as shown in formulas thirty-one through thirty-three:

[0299] Formula 31: x r =(x l <<log2QP x )|x h ;

[0300] Formula 32: y r =(y l <<log2QP y )|y h ;

[0301] Formula 33: z r =(z l <<log2QP z )|z h .

[0302] Optionally, the decoding end further includes performing inverse quantization processing on the quantized first information according to the first quantization parameter to obtain the target three-dimensional mesh:

[0303] The decoding end uses the information of the supplementary points and the coordinates of each vertex in the first precision geometric information to determine the target three-dimensional mesh.

[0304] Here, the fourth precision geometric information in the supplementary point information is the geometric information after quantization processing based on the second quantization parameter.

[0305] Optionally, the information of the supplementary points may also include at least one of the following:

[0306] The index of the vertex in the first-precision geometric information corresponding to the supplementary point;

[0307] The supplementary point has third-precision geometric information, which is the quantized three-dimensional coordinate information of the supplementary point.

[0308] The video-based 3D mesh geometry information decoding framework of this application embodiment is as follows: Figure 11 As shown, the overall decoding process is as follows:

[0309] First, the bitstream is decomposed into patch information sub-streams, placeholder map sub-streams, and geometry map sub-streams (it should be noted that the geometry map sub-stream can include one bitstream corresponding to the low-precision geometry map and one bitstream corresponding to the high-precision geometry map, or it can include one bitstream corresponding to the low-precision geometry map filled with the high-precision geometry map). These are then decoded to obtain the patch information, placeholder map, and geometry map respectively. The placeholder map and low-precision geometry map can be used to reconstruct the geometry information of the low-precision grid, and the placeholder map, low-precision geometry map, and high-precision geometry map can be used to reconstruct the geometry information of the high-precision grid. Finally, the reconstructed geometry information and connection relationships obtained from other encoding and decoding methods are used to reconstruct the grid.

[0310] It should be noted that the embodiments of this application are the counterpart method embodiments corresponding to the above-described encoding method embodiments. The decoding process is the reverse process of encoding. All the implementation methods on the encoding side described above are applicable to the embodiments on the decoding side and can achieve the same technical effect. They will not be described again here.

[0311] like Figure 12 As shown, this application embodiment also provides a decoding device 1200, including:

[0312] The third processing module 1201 is used to decode the acquired bitstream to obtain quantization information and first information. The first information includes at least one of the following: first precision geometric information, second precision geometric information, and supplementary point information. The supplementary point information includes fourth precision geometric information of the supplementary point, which is the three-dimensional coordinate information of the supplementary point lost during the quantization process. The quantization information includes first quantization information for indicating the first quantization parameter and second quantization information for indicating the second quantization parameter. The second quantization parameter is a quantization parameter for quantizing the first part of the geometric information in the first information. The first part of the geometric information includes at least one of the second precision geometric information and the fourth precision geometric information of the supplementary point.

[0313] The fourth processing module 1202 is used to perform inverse quantization processing on the first information according to the quantization information to obtain the target three-dimensional mesh;

[0314] Wherein, the first precision geometric information is the geometric information of the target three-dimensional mesh after quantization, the second precision geometric information is the geometric information lost during the quantization process of the target three-dimensional mesh, and the information of the supplementary points is the information of points that need additional processing during the quantization process.

[0315] Optionally, in the apparatus of this application embodiment, the third processing module includes:

[0316] The first acquisition submodule is used to acquire the first offset value of the first quantization parameter relative to the first reference quantization parameter. The first reference quantization parameter is a reference quantization parameter set in the target GOP that corresponds to the geometric information of the target three-dimensional mesh. The target GOP is the GOP where the video frame corresponding to the target three-dimensional network is located.

[0317] The second acquisition submodule is used to acquire the first quantization parameter based on the first offset value and the first reference quantization parameter.

[0318] Optionally, in the apparatus of this application embodiment, the third processing module is used for:

[0319] When the first quantization information is the same for the target 3D mesh corresponding to each video frame in the video frame sequence, the first quantization information is obtained from the sequence parameter set of the target bitstream. The target bitstream is obtained by encoding the first information of the target 3D mesh corresponding to each video frame by the encoding end.

[0320] Alternatively, if the target 3D meshes corresponding to at least two video frames in the video frame sequence use different first quantization information, the first quantization information corresponding to the video frame is obtained at the beginning of the bitstream corresponding to each video frame, and the bitstream corresponding to each video frame is obtained by encoding the first information of the target 3D mesh corresponding to the video frame by the encoding end.

[0321] Optionally, in the apparatus of this application embodiment, the third processing module includes:

[0322] The third acquisition submodule is used to acquire the second offset value of the second quantization parameter relative to the second reference quantization parameter. The second reference quantization parameter is the reference quantization parameter set in the target GOP that corresponds to the first part of the geometric information. The target GOP is the GOP where the video frame corresponding to the target 3D network is located.

[0323] The fourth acquisition submodule is used to acquire the second quantization parameter based on the second offset value and the second reference quantization parameter.

[0324] Optionally, in the apparatus of this application embodiment, the third processing module is used for:

[0325] When the second quantization parameter is the same for the first part of geometric information corresponding to each video frame in the video frame sequence, the second quantization parameter is obtained from the sequence parameter set of the target bitstream. The target bitstream is obtained by encoding the first information of the target three-dimensional mesh corresponding to each video frame by the encoding end.

[0326] Alternatively, if the second quantization parameter is different for the first part of the geometric information corresponding to at least two video frames in the video frame sequence, the encoded second quantization parameter corresponding to the video frame is obtained at the beginning of the bitstream corresponding to each video frame. The bitstream corresponding to each video frame is obtained by encoding the first information of the target three-dimensional mesh corresponding to the video frame by the encoding end.

[0327] Optionally, in the apparatus of this application embodiment, the fourth processing module includes:

[0328] The first processing submodule is used to perform inverse quantization processing on the first part of the geometric information in the first information according to the second quantization information;

[0329] The second processing submodule is used to perform inverse quantization processing on the first information after quantization processing according to the first quantization parameters to obtain the target three-dimensional network.

[0330] Optionally, in the apparatus of this application embodiment, the second processing module includes:

[0331] The fifth acquisition submodule is used to acquire a target sub-codestream based on the acquired codestream. The target sub-codestream includes: a slice information sub-codestream, a placeholder map sub-codestream, and a geometric map sub-codestream.

[0332] The sixth acquisition submodule is used to acquire second information based on the target sub-codestream, the second information including at least one of a placeholder image and a geometric image;

[0333] The seventh acquisition submodule is used to acquire the first information based on the second information.

[0334] Optionally, in the apparatus of this application embodiment, when the first information includes first precision geometric information, the seventh acquisition submodule includes:

[0335] The ninth acquisition unit is used to acquire two-dimensional image information based on the placeholder map of the first precision and the geometric map of the first precision;

[0336] The tenth acquisition unit is used to acquire a two-dimensional slice based on the two-dimensional image information;

[0337] The eleventh acquisition unit is used to perform three-dimensional inverse projection on the two-dimensional slice based on the slice information corresponding to the slice information sub-code stream to acquire the three-dimensional slice.

[0338] The twelfth acquisition unit is used to acquire first-precision geometric information based on the three-dimensional slice.

[0339] Optionally, in the apparatus of this application embodiment, when the first information includes second-precision geometric information, the seventh acquisition submodule is used to acquire the second-precision geometric information based on the second-precision geometric diagram.

[0340] Optionally, in the apparatus of this application embodiment, when the first information includes information about supplementary points, the seventh acquisition submodule includes:

[0341] The first determining unit is used to determine, based on the geometric diagram of the supplementary point, the first original piece corresponding to the third precision geometric information of the supplementary point and the second original piece corresponding to the fourth precision geometric information of the supplementary point;

[0342] The second determining unit is used to determine the information of the supplementary points based on the first original slice and the second original slice.

[0343] Optionally, in the apparatus of this application embodiment, the third processing module is used to determine the coordinates of each vertex in the first precision geometric information based on the first precision geometric information and the first quantization parameter of each component.

[0344] Optionally, in the apparatus of this application embodiment, the third processing module is further configured to determine the target three-dimensional mesh based on the coordinates of each vertex in the target three-dimensional mesh and the second precision geometric information.

[0345] Optionally, in the apparatus of this application embodiment, the third processing module is further configured to determine the target three-dimensional mesh by using the information of the supplementary points and the coordinates of each vertex in the first precision geometric information.

[0346] Optionally, the information of the supplementary points may also include at least one of the following:

[0347] The index of the vertex in the first-precision geometric information corresponding to the supplementary point;

[0348] The supplementary point has third-precision geometric information, which is the quantized three-dimensional coordinate information of the supplementary point.

[0349] It should be noted that this device embodiment is a device corresponding to the above method. All implementation methods in the above method embodiments are applicable to this device embodiment and can achieve the same technical effect, so they will not be described again here.

[0350] Preferably, this application embodiment also provides a decoding device, including a processor, a memory, and a program or instructions stored in the memory and executable on the processor. When the program or instructions are executed by the processor, they implement the various processes of the above-described decoding method embodiments and achieve the same technical effect. To avoid repetition, they will not be described again here.

[0351] Preferably, this application embodiment also provides an encoding device, including a processor, a memory, and a program or instructions stored in the memory and executable on the processor. When the program or instructions are executed by the processor, they implement the various processes of the above-described decoding method embodiments and achieve the same technical effect. To avoid repetition, they will not be described again here.

[0352] This application also provides a readable storage medium on which a program or instructions are stored. When the program or instructions are executed by a processor, they implement the various processes of the above-described encoding or decoding method embodiments and achieve the same technical effect. To avoid repetition, they will not be described again here.

[0353] The processor is the processor in the decoding device described in the above embodiments. 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.

[0354] The computer-readable storage medium mentioned above includes, for example, a read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disk.

[0355] This application embodiment also provides an encoding device, including a processor and a communication interface, wherein the processor is configured to quantize the geometric information of the target three-dimensional mesh according to a first quantization parameter to obtain first information, the first information including at least one of the following: first precision geometric information, second precision geometric information, and supplementary point information, wherein the supplementary point information includes fourth precision geometric information of the supplementary point, the fourth precision geometric information being the three-dimensional coordinate information of the supplementary point lost during the quantization process; the encoding end quantizes a first part of the geometric information in the first information according to a second quantization parameter, the first part of the geometric information including at least one of the second precision geometric information and the fourth precision geometric information of the supplementary point; and encodes the quantized first information and the quantized information, wherein the quantized information includes first quantization information for indicating the first quantization parameter and second quantization information for indicating the second quantization parameter;

[0356] Wherein, the first precision geometric information is the geometric information of the target three-dimensional mesh after quantization, the second precision geometric information is the geometric information lost during the quantization process of the target three-dimensional mesh, and the information of the supplementary points is the information of points that need additional processing during the quantization process.

[0357] This encoding device embodiment corresponds to the above encoding method embodiment. All implementation processes and methods of the above method embodiment can be applied to this encoding device embodiment and can achieve the same technical effect.

[0358] This application embodiment also provides a decoding device, including a processor and a communication interface. The processor is used to decode an acquired bitstream to obtain quantization information and first information. The first information includes at least one of the following: first-precision geometric information, second-precision geometric information, and supplementary point information. The supplementary point information includes fourth-precision geometric information of the supplementary points, which is the three-dimensional coordinate information lost during the quantization process. The quantization information includes first quantization information indicating the first quantization parameter and second quantization information indicating the second quantization parameter. The second quantization parameter is a quantization parameter for quantizing a first portion of the geometric information in the first information. The first portion of the geometric information includes at least one of the second-precision geometric information and the fourth-precision geometric information of the supplementary points. Based on the quantization information, the first information is dequantized to obtain a target three-dimensional mesh.

[0359] Wherein, the first precision geometric information is the geometric information of the target three-dimensional mesh after quantization, the second precision geometric information is the geometric information lost during the quantization process of the target three-dimensional mesh, and the information of the supplementary points is the information of points that need additional processing during the quantization process.

[0360] This decoding device embodiment corresponds to the above-described decoding method embodiment. All implementation processes and methods of the above-described method embodiment can be applied to this decoding device embodiment and can achieve the same technical effect.

[0361] Specifically, this application also provides a decoding device. Specifically, the structure of the decoding device is as follows: Figure 8 As shown, the details will not be repeated here. Specifically, the decoding device in this application embodiment further includes: instructions or programs stored in the memory and executable on the processor, wherein the processor calls the instructions or programs in the memory to execute... Figure 10 The methods executed by each module shown achieve the same technical effect, and to avoid repetition, they will not be described in detail here.

[0362] Optional, such as Figure 13As shown, this application embodiment also provides a communication device 1300, including a processor 1301 and a memory 1302. The memory 1302 stores a program or instructions that can run on the processor 1301. For example, when the communication device 1300 is an encoding device, the program or instructions executed by the processor 1301 implement the various steps of the above-described encoding method embodiment and achieve the same technical effect. When the communication device 1300 is a decoding device, the program or instructions executed by the processor 1301 implement the various steps of the above-described decoding method embodiment and achieve the same technical effect. To avoid repetition, further details are omitted here.

[0363] This application embodiment also provides a chip, which 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 various processes of the above-described encoding or decoding method embodiments and can achieve the same technical effect. To avoid repetition, it will not be described again here.

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

[0365] This application also provides a computer program / program product, which is stored in a storage medium and executed by at least one processor to implement the various processes of the above-described encoding or decoding method embodiments, and can achieve the same technical effect. To avoid repetition, it will not be described again here.

[0366] This application also provides a communication system, comprising at least an encoding device and a decoding device. The encoding device is used to perform the steps of the encoding method described above, and the decoding device is used to perform the steps of the decoding method described above. Furthermore, it achieves the same technical effect, and to avoid repetition, it will not be described again here.

[0367] It should be noted that, in this document, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitations, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes that element. Furthermore, it should be noted that the scope of the methods and apparatuses in the embodiments of this application is not limited to performing functions in the order shown or discussed, but may also include performing functions substantially simultaneously or in the reverse order, depending on the functions involved. For example, the described methods may be performed in a different order than described, and various steps may be added, omitted, or combined. Additionally, features described with reference to certain examples may be combined in other examples.

[0368] Through the above description of the embodiments, those skilled in the art can clearly understand that the methods of the above embodiments can be implemented by means of software plus necessary general-purpose hardware platforms. Of course, they can also be implemented by hardware, but in many cases the former is a better implementation method. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, can be embodied in the form of a computer software product. This computer software product is stored in a storage medium (such as ROM / RAM, magnetic disk, optical disk) and includes several instructions to cause a terminal (which may be a mobile phone, computer, server, air conditioner, or network device, etc.) to execute the methods described in the various embodiments of this application.

[0369] The embodiments of this application have been described above with reference to the accompanying drawings. However, this application is not limited to the specific embodiments described above. The specific embodiments described above are merely illustrative and not restrictive. Those skilled in the art can make many other forms under the guidance of this application without departing from the spirit and scope of the claims, and all of these forms are within the protection scope of this application.

Claims

1. An encoding method, characterized in that, include: The encoding end performs quantization processing on the geometric information of the target three-dimensional mesh according to the first quantization parameter to obtain the first information, which includes at least one of the following: first precision geometric information, second precision geometric information, and supplementary point information; the supplementary point information includes the fourth precision geometric information of the supplementary point, which is the three-dimensional coordinate information of the supplementary point that was lost during the quantization process. The encoding end performs quantization processing on the first part of the geometric information in the first information according to the second quantization parameter. The first part of the geometric information includes at least one of the second precision geometric information and the fourth precision geometric information of the supplementary points. The encoding end encodes the first information and the quantized information after quantization processing. The quantized information includes first quantization information for indicating the first quantization parameter and second quantization information for indicating the second quantization parameter. Wherein, the first precision geometric information is the geometric information of the target three-dimensional mesh after quantization, the second precision geometric information is the geometric information lost during the quantization process of the target three-dimensional mesh, and the information of the supplementary points is the information of points that need additional processing during the quantization process.

2. The method according to claim 1, characterized in that, The encoding end encodes the first quantized information, including: The encoding end encodes the first quantization parameter; Alternatively, the encoding end obtains a first offset value of the first quantization parameter relative to the first reference quantization parameter, wherein the first reference quantization parameter is a reference quantization parameter set in the target GOP that corresponds to the geometric information of the target 3D mesh, and the target GOP is the GOP in which the video frame corresponding to the target 3D network is located; the encoding end encodes the first offset value.

3. The method according to claim 1 or 2, characterized in that, Also includes: When the first quantization information is the same for the target three-dimensional mesh corresponding to each video frame in the video frame sequence, the encoded first quantization information is written into the sequence parameter set of the target bitstream, and the target bitstream is obtained based on the first information of the target three-dimensional mesh corresponding to each video frame. Alternatively, if the target 3D meshes corresponding to at least two video frames in the video frame sequence use different first quantization information, the encoded first quantization information corresponding to the video frame is written into the header of the bitstream corresponding to each video frame, and the bitstream corresponding to each video frame is obtained based on the first information of the target 3D mesh corresponding to the video frame.

4. The method according to claim 1, characterized in that, The encoding end encodes the second quantized information, including: The encoding end encodes the second quantization parameter; Alternatively, the encoding end obtains a second offset value of the second quantization parameter relative to the second reference quantization parameter, wherein the second reference quantization parameter is a reference quantization parameter set in the target GOP that corresponds to the first part of the geometric information, and the target GOP is the GOP where the video frame corresponding to the target 3D network is located; the encoding end encodes the second offset value.

5. The method according to claim 1 or 4, characterized in that, Also includes: When the second quantization information is the same for the first part of the geometric information corresponding to each video frame in the video frame sequence, the encoded second quantization information is written into the sequence parameter set of the target bitstream, wherein the target bitstream is obtained based on the first information of the target three-dimensional mesh corresponding to each video frame. Alternatively, if the second quantization information used for the first part of the geometric information of at least two video frames in the video frame sequence is different, the encoded second quantization information corresponding to the video frame is written into the header of the bitstream corresponding to each video frame, and the bitstream corresponding to each video frame is obtained based on the first information of the target three-dimensional mesh corresponding to the video frame.

6. The method according to claim 1, characterized in that, The encoding end performs quantization processing on the geometric information of the target three-dimensional mesh according to the first quantization parameter to obtain first information, including: The encoding end quantizes each vertex in the target 3D mesh according to the first quantization parameter of each component to obtain first precision geometric information.

7. The method according to claim 6, characterized in that, The encoding end performs quantization processing on the geometric information of the target three-dimensional mesh according to the first quantization parameter to obtain the first information, and also includes: The encoding end obtains the second precision geometric information based on the first precision geometric information and the first quantization parameter of each component.

8. The method according to claim 6, characterized in that, The encoding end performs quantization processing on the geometric information of the target three-dimensional mesh according to the first quantization parameter to obtain the first information, and also includes: The encoding end determines the information of the supplementary points based on the geometric information of the target three-dimensional mesh and the first precision geometric information.

9. The method according to claim 1 or 8, characterized in that, The information for the supplementary points also includes at least one of the following: The index of the vertex in the first-precision geometric information corresponding to the supplementary point; The supplementary point has third-precision geometric information, which is the quantized three-dimensional coordinate information of the supplementary point.

10. The method according to claim 1, characterized in that, The encoding end encodes the quantized first information, including: The encoding end processes the quantized first information to obtain second information, which includes at least one of a placeholder image and a geometric image. The encoding end encodes the second information.

11. The method according to claim 10, characterized in that, When the first information after quantization includes first-precision geometric information, the step of processing the first information after quantization to obtain the second information includes: The encoding end performs three-dimensional patching on the first precision geometric information; The encoding end performs a two-dimensional projection on the divided three-dimensional slices to obtain two-dimensional slices; The encoding end packages the two-dimensional slices to obtain two-dimensional image information; The encoding end obtains a placeholder image of first precision and a geometric image of first precision based on the two-dimensional image information.

12. The method according to claim 11, characterized in that, After packaging the two-dimensional slices and obtaining two-dimensional image information, the process further includes: The encoding end obtains slice information based on the information obtained during the process of acquiring two-dimensional image information; The encoding end encodes the slice information to obtain the slice information sub-code stream.

13. The method according to claim 10, characterized in that, When the quantized first information includes second-precision geometric information, the step of processing the quantized first information to obtain the second information includes: The encoding end obtains the arrangement order of the vertices contained in the first-precision geometric information; The encoding end arranges the second-precision geometric information corresponding to the vertices contained in the first-precision geometric information in the two-dimensional image to generate a second-precision geometric map.

14. The method according to claim 10, characterized in that, The encoding end encodes the second information, including: The encoding end encodes the first-precision geometric diagram and the second-precision geometric diagram to obtain the geometric diagram sub-code stream.

15. The method according to claim 10, characterized in that, When the first information after quantization includes information about supplementary points, the step of processing the first information after quantization to obtain the second information includes: The encoding end arranges the third-precision geometric information of the supplementary points into a first original piece; The encoding end arranges the fourth precision geometric information of the supplementary points into a second original piece according to the same arrangement order as the first original piece; The encoding end compresses the first original slice and the second original slice to obtain the geometric map of the supplementary points.

16. A decoding method, characterized in that, include: The decoding end performs decoding processing on the acquired bitstream to obtain quantization information and first information. The first information includes at least one of the following: first precision geometric information, second precision geometric information, and supplementary point information. The supplementary point information includes fourth precision geometric information of the supplementary point, which is the three-dimensional coordinate information of the supplementary point that was lost during the quantization process. The quantization information includes first quantization information for indicating a first quantization parameter and second quantization information for indicating a second quantization parameter. The second quantization parameter is a quantization parameter for quantizing a first part of geometric information in the first information. The first part of geometric information includes at least one of second precision geometric information and fourth precision geometric information of supplementary points. The decoding end performs inverse quantization processing on the first information based on the quantization information to obtain the target three-dimensional mesh; Wherein, the first precision geometric information is the geometric information of the target three-dimensional mesh after quantization, the second precision geometric information is the geometric information lost during the quantization process of the target three-dimensional mesh, and the information of the supplementary points is the information of points that need additional processing during the quantization process.

17. The method according to claim 16, characterized in that, The decoding end obtains the first quantization parameter including: The decoding end obtains a first offset value of the first quantization parameter relative to the first reference quantization parameter. The first reference quantization parameter is a reference quantization parameter set in the target GOP that corresponds to the geometric information of the target three-dimensional mesh. The target GOP is the GOP where the video frame corresponding to the target three-dimensional network is located. The first quantization parameter is obtained based on the first offset value and the first reference quantization parameter.

18. The method according to claim 16, characterized in that, The decoding end acquires the first quantization information including: When the first quantization information is the same for the target 3D mesh corresponding to each video frame in the video frame sequence, the first quantization information is obtained from the sequence parameter set of the target bitstream. The target bitstream is obtained by encoding the first information of the target 3D mesh corresponding to each video frame by the encoding end. Alternatively, if the target 3D meshes corresponding to at least two video frames in the video frame sequence use different first quantization information, the first quantization information corresponding to the video frame is obtained at the beginning of the bitstream corresponding to each video frame, and the bitstream corresponding to each video frame is obtained by encoding the first information of the target 3D mesh corresponding to the video frame by the encoding end.

19. The method according to claim 16, characterized in that, The decoding end obtains the second quantization parameter, including: The decoding end obtains a second offset value of the second quantization parameter relative to the second reference quantization parameter. The second reference quantization parameter is a reference quantization parameter set in the target GOP that corresponds to the first part of the geometric information. The target GOP is the GOP where the video frame corresponding to the target 3D network is located. The decoding end obtains the second quantization parameter based on the second offset value and the second reference quantization parameter.

20. The method according to claim 16, characterized in that, The decoding end obtains the second quantization parameter, including: When the second quantization parameter is the same for the first part of geometric information corresponding to each video frame in the video frame sequence, the second quantization parameter is obtained from the sequence parameter set of the target bitstream. The target bitstream is obtained by encoding the first information of the target three-dimensional mesh corresponding to each video frame by the encoding end. Alternatively, if the second quantization parameter is different for the first part of the geometric information corresponding to at least two video frames in the video frame sequence, the encoded second quantization parameter corresponding to the video frame is obtained at the beginning of the bitstream corresponding to each video frame. The bitstream corresponding to each video frame is obtained by encoding the first information of the target three-dimensional mesh corresponding to the video frame by the encoding end.

21. The method according to claim 16, characterized in that, The decoding end performs inverse quantization processing on the first information based on the quantization information to obtain the target 3D mesh, including: The decoding end performs inverse quantization processing on the first part of the geometric information in the first information based on the second quantization information; The decoding end performs inverse quantization processing on the first information after quantization based on the first quantization parameter to obtain the target three-dimensional network.

22. The method according to claim 16, characterized in that, The decoding end performs decoding processing on the acquired bitstream to obtain first information, including: The decoding end obtains a target sub-codestream based on the acquired codestream. The target sub-codestream includes: a fragment information sub-codestream, a placeholder image sub-codestream, and a geometric image sub-codestream. The decoding end obtains second information based on the target sub-code stream, the second information including at least one of a placeholder image and a geometric image; The decoding end obtains the first information based on the second information.

23. The method according to claim 22, characterized in that, When the first information includes first precision geometric information, obtaining the first information based on the second information includes: The decoding end obtains two-dimensional image information based on the placeholder map of the first precision and the geometric map of the first precision; The decoding end obtains a two-dimensional slice based on the two-dimensional image information; The decoding end performs a three-dimensional inverse projection on the two-dimensional slice based on the slice information corresponding to the slice information sub-code stream to obtain the three-dimensional slice; The decoding end obtains first-precision geometric information based on the three-dimensional slice.

24. The method according to claim 22, characterized in that, When the first information includes second precision geometric information, obtaining the first information based on the second information includes: The decoding end obtains second-precision geometric information based on the second-precision geometric diagram.

25. The method according to claim 22, characterized in that, When the first information includes information about supplementary points, obtaining the first information based on the second information includes: The decoding end determines the first original slice corresponding to the third precision geometric information of the supplementary point and the second original slice corresponding to the fourth precision geometric information of the supplementary point based on the geometric diagram of the supplementary point. The decoding end determines the information of the supplementary points based on the first original slice and the second original slice.

26. The method according to claim 21, characterized in that, The decoding end performs inverse quantization processing on the quantized first information according to the first quantization parameter to obtain the target 3D mesh, including: The decoding end determines the coordinates of each vertex in the first precision geometric information based on the first precision geometric information and the first quantization parameter of each component.

27. The method according to claim 26, characterized in that, The decoding end performs inverse quantization processing on the quantized first information according to the first quantization parameter to obtain the target 3D mesh, and further includes: The decoding end determines the target three-dimensional mesh based on the coordinates of each vertex in the target three-dimensional mesh and the second precision geometric information.

28. The method according to claim 26, characterized in that, The decoding end performs inverse quantization processing on the quantized first information according to the first quantization parameter to obtain the target 3D mesh, and further includes: The decoding end uses the information of the supplementary points and the coordinates of each vertex in the first precision geometric information to determine the target three-dimensional mesh.

29. The method according to claim 16 or 28, characterized in that, The information for the supplementary points also includes at least one of the following: The index of the vertex in the first-precision geometric information corresponding to the supplementary point; The supplementary point has third-precision geometric information, which is the quantized three-dimensional coordinate information of the supplementary point.

30. An encoding device, characterized in that, include: The first processing module is used to quantize the geometric information of the target three-dimensional mesh according to the first quantization parameter to obtain first information. The first information includes at least one of the following: first precision geometric information, second precision geometric information, and supplementary point information. The supplementary point information includes fourth precision geometric information of the supplementary point, which is the three-dimensional coordinate information of the supplementary point that was lost during the quantization process. The second processing module is used to quantize the first part of the geometric information in the first information according to the second quantization parameter. The first part of the geometric information includes at least one of the second precision geometric information and the fourth precision geometric information of the supplementary points. The first encoding module is used to encode the first information and the quantized information after quantization processing. The quantized information includes first quantization information for indicating the first quantization parameter and second quantization information for indicating the second quantization parameter. Wherein, the first precision geometric information is the geometric information of the target three-dimensional mesh after quantization, the second precision geometric information is the geometric information lost during the quantization process of the target three-dimensional mesh, and the information of the supplementary points is the information of points that need additional processing during the quantization process.

31. The apparatus according to claim 30, characterized in that, The first encoding module is used to encode the first quantization parameter; Alternatively, it can be used to obtain a first offset value of the first quantization parameter relative to a first reference quantization parameter, wherein the first reference quantization parameter is a reference quantization parameter set in the target GOP that corresponds to the geometric information of the target 3D mesh, and the target GOP is the GOP in which the video frame corresponding to the target 3D network is located; and the first offset value is encoded.

32. An encoding device, characterized in that, It includes a processor and a memory, the memory storing a program or instructions that can run on the processor, the program or instructions being executed by the processor to implement the steps of the encoding method as described in any one of claims 1 to 15.

33. A decoding device, characterized in that, include: The third processing module is used to decode the acquired bitstream to obtain quantization information and first information. The first information includes at least one of the following: first precision geometric information, second precision geometric information, and supplementary point information. The supplementary point information includes fourth precision geometric information of the supplementary point, which is the three-dimensional coordinate information of the supplementary point lost during the quantization process. The quantization information includes first quantization information for indicating a first quantization parameter and second quantization information for indicating a second quantization parameter. The second quantization parameter is a quantization parameter for quantizing a first part of geometric information in the first information. The first part of geometric information includes at least one of second precision geometric information and fourth precision geometric information of supplementary points. The fourth processing module is used to perform inverse quantization processing on the first information based on the quantization information to obtain the target three-dimensional mesh; Wherein, the first precision geometric information is the geometric information of the target three-dimensional mesh after quantization, the second precision geometric information is the geometric information lost during the quantization process of the target three-dimensional mesh, and the information of the supplementary points is the information of points that need additional processing during the quantization process.

34. The apparatus according to claim 33, characterized in that, The third processing module includes: The first acquisition submodule is used to acquire the first offset value of the first quantization parameter relative to the first reference quantization parameter. The first reference quantization parameter is a reference quantization parameter set in the target GOP that corresponds to the geometric information of the target three-dimensional mesh. The target GOP is the GOP where the video frame corresponding to the target three-dimensional network is located. The second acquisition submodule is used to acquire the first quantization parameter based on the first offset value and the first reference quantization parameter.

35. A decoding device, characterized in that, It includes a processor and a memory, the memory storing a program or instructions that can run on the processor, the program or instructions being executed by the processor to implement the steps of the decoding method as described in any one of claims 16 to 29.

36. A readable storage medium, characterized in that, The readable storage medium stores a program or instructions that, when executed by a processor, implement the steps of the encoding method as described in any one of claims 1 to 15 or the steps of the decoding method as described in any one of claims 16 to 29.

Citation Information

Patent Citations

  • Improved encoding and decoding of geometry data in 3d mesh models

    GB2551387A

  • Video-Based Point Cloud Compression with Variable Patch Scaling

    US20210211724A1