WO2023155778A1 - 编码方法、装置及设备 - Google Patents

编码方法、装置及设备 Download PDF

Info

Publication number
WO2023155778A1
WO2023155778A1 PCT/CN2023/075950 CN2023075950W WO2023155778A1 WO 2023155778 A1 WO2023155778 A1 WO 2023155778A1 CN 2023075950 W CN2023075950 W CN 2023075950W WO 2023155778 A1 WO2023155778 A1 WO 2023155778A1
Authority
WO
WIPO (PCT)
Prior art keywords
information
grid
precision
geometric
geometric information
Prior art date
Application number
PCT/CN2023/075950
Other languages
English (en)
French (fr)
Inventor
邹文杰
张伟
杨付正
吕卓逸
Original Assignee
维沃移动通信有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 维沃移动通信有限公司 filed Critical 维沃移动通信有限公司
Publication of WO2023155778A1 publication Critical patent/WO2023155778A1/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation

Definitions

  • the present application belongs to the technical field of encoding and decoding, and in particular relates to an encoding method, device and equipment.
  • Three-dimensional mesh can be considered as the most popular representation method of three-dimensional model in the past years, and it plays an important role in many applications. Its representation is simple, so it is integrated into the Graphics Processing Unit (GPU) of computers, tablets and smartphones with a large number of hardware algorithms, dedicated to rendering 3D grids.
  • GPU Graphics Processing Unit
  • 3D grids In all application fields that use 3D grids, such as computational simulation, entertainment, medical imaging, digital cultural relics, computer design, e-commerce, etc., the requirements for grid accuracy have been increasing, and the amount of required data has also grown rapidly, and At present, a large number of 3D models need to be accessed through the Internet.
  • the above problems lead to more and more complex processing, visualization, transmission and storage of 3D grids.
  • the 3D grid compression is an important way to solve the above problems. It greatly reduces the size of the data volume, which is beneficial to the processing, storage and transmission of 3D grids.
  • the most important information in the grid is geometric information, because it describes the shape of a three-dimensional object, and the compression of geometric information can be combined with the point cloud compression technology currently being studied. At the same time, for some applications, the model does not need to be restored to the original accuracy, so lossy compression is mostly used.
  • the related art only focuses on the compression of geometric information, and this compression method cannot effectively reduce the amount of data.
  • Embodiments of the present application provide an encoding method, device, and equipment, which can solve the problem of high data volume in the compression mode of three-dimensional grid compression in the related art.
  • an encoding method including:
  • the encoding end simplifies the target 3D grid to obtain the simplified grid
  • the encoding end quantifies the geometric information of the simplified grid to obtain first information, and the first information includes at least one of the following: first-precision geometric information, second-precision geometric information, and supplementary point information;
  • the encoding end encodes the first information and the connection information of the reconstructed grid
  • the reconstruction grid is determined based on the first information
  • the first precision geometric information is the quantized geometric information of the target 3D grid
  • the second precision geometric information is the quantized target 3D grid
  • the geometric information lost in the process, the supplementary point information is the point information generated in the quantization process that requires additional processing.
  • an encoding device including:
  • the first acquisition module is used to simplify the target three-dimensional grid and acquire the simplified grid
  • the second acquisition module is used to quantify the geometric information of the simplified grid, and acquire the first information, the first information includes at least one of the following: first precision geometric information, second precision geometric information, supplementary points information;
  • a first encoding module configured to encode the first information and the connection information of the reconstructed grid
  • the reconstruction grid is determined based on the first information
  • the first precision geometric information is the quantized geometric information of the target 3D grid
  • the second precision geometric information is the quantized target 3D grid
  • the geometric information lost in the process, the supplementary point information is the point information generated in the quantization process that requires additional processing.
  • an encoding device including a processor and a memory, the memory stores programs or instructions that can run on the processor, and when the programs or instructions are executed by the processor, the first The steps of the method described in the aspect.
  • an encoding device including a processor and a communication interface, wherein the processor is used to simplify the target three-dimensional grid to obtain a simplified grid; quantify the geometric information of the simplified grid , acquiring first information, where the first information includes at least one of the following: first-precision geometric information, second-precision geometric information, and supplementary point information; encoding the first information and connection information of the reconstructed grid; Wherein, the reconstruction grid is determined based on the first information, the first precision geometric information is the quantized geometric information of the target 3D grid, and the second precision geometric information is the quantized target 3D grid The geometric information lost in the process, the supplementary point information is the point information generated in the quantization process that requires additional processing.
  • a communication system including: an encoding device, and the encoding device can be used to execute the steps of the method described in the first aspect.
  • a readable storage medium where a program or an instruction is stored on the readable storage medium, and when the program or instruction is executed by a processor, the steps of the method as described in the first aspect are implemented.
  • a chip in a seventh aspect, includes a processor and a communication interface, the communication interface and the Coupled with a processor, the processor is used to run programs or instructions to implement the method as described in the first aspect.
  • a computer program/program product is provided, the computer program/program product is stored in a storage medium, and the computer program/program product is executed by at least one processor to implement the method described in the first aspect method steps.
  • the simplified grid is obtained by simplifying the target three-dimensional grid, and the geometric information of the simplified grid is quantified to obtain the first-precision geometric information, the second-precision geometric information and the supplementary points. At least one item of the information, and then encode the above information and the connection information of the reconstructed grid; the above scheme can realize lossy compression of the connection information, and can reduce the amount of data.
  • FIG. 1 is a schematic flow chart of an encoding method in an embodiment of the present application
  • Fig. 2 is a schematic diagram of the process of merging vertices in mesh simplification
  • Fig. 3 is a schematic diagram of a grid-based fine division process
  • Figure 4 is a schematic diagram of eight directions of Patch arrangement
  • Fig. 5 is a schematic diagram of the encoding process of high-precision geometric information
  • Figure 6 is a schematic diagram of raw patch
  • Fig. 7 is a schematic diagram of a three-dimensional grid encoding framework
  • FIG. 8 is a block diagram of an encoding device according to an embodiment of the present application.
  • FIG. 9 is a schematic structural diagram of an encoding device according to an embodiment of the present application.
  • Fig. 10 is a schematic structural diagram of a communication device according to an embodiment of the present application.
  • first, second and the like in the specification and claims of the present application are used to distinguish similar objects, and are not used to describe a specific sequence or sequence. It is to be understood that the terms so used are interchangeable under appropriate circumstances such that the embodiments of the application are capable of operation in sequences other than those illustrated or described herein and that "first" and “second” distinguish objects. It is usually one category, and the number of objects is not limited. For example, there may be one or more first objects.
  • “and/or” in the description and claims means at least one of the connected objects, and the character “/” generally means that the related objects are an "or” relationship.
  • LTE Long Term Evolution
  • LTE-Advanced LTE-Advanced
  • LTE-A Long Term Evolution-Advanced
  • CDMA Code Division Multiple Access
  • TDMA Time Division Multiple Access
  • FDMA Frequency Division Multiple Access
  • OFDMA Orthogonal Frequency Division Multiple Access
  • SC-FDMA Single-carrier Frequency Division Multiple Access
  • system and “network” in the embodiments of the present application are often used interchangeably, and the described technology can be used for the above-mentioned system and radio technology, and can also be used for other systems and radio technologies.
  • NR New Radio
  • the following description describes the New Radio (NR) system for illustrative purposes, and uses NR terminology in most of the following descriptions, but these techniques can also be applied to applications other than NR system applications, such as the 6th generation (6 th Generation, 6G) communication system.
  • 6G 6th Generation
  • the embodiment of this application provides an encoding method, including:
  • Step 101 the encoding end performs simplified processing on the target three-dimensional grid to obtain the simplified grid
  • target 3D grid mentioned in this application can be understood as a 3D grid corresponding to any video frame.
  • Step 102 the encoder quantizes the geometric information of the simplified grid to obtain first information
  • the geometric information of the simplified grid can be understood as coordinates of vertices in the three-dimensional grid, and the coordinates generally refer to three-dimensional coordinates.
  • the first information includes at least one of the following:
  • the first-precision geometric information can be understood as low-precision geometric information, that is, the low-precision geometric information refers to the geometric information after quantization of the target 3D mesh, that is, the 3D geometry information of each vertex included in the quantized target 3D mesh. coordinate information.
  • the second-precision geometric information can be understood as high-precision geometric information, and the high-precision geometric information can be regarded as geometric information lost in the quantization process, that is, lost three-dimensional coordinate information.
  • the information of supplementary points refers to the information of points that need additional processing generated during the quantization process, that is, the supplementary points are points that require additional processing generated during the quantization process, for example, the coordinate positions overlap Repeated points, etc., by processing the repeated points, the vertices whose coordinate positions overlap during quantization can be restored to their original positions after dequantization.
  • the supplementary information includes at least one of the following:
  • the third-precision geometric information can be understood as the low-precision geometric information of the supplementary point, that is, the quantized three-dimensional coordinate information of the supplementary point.
  • the fourth precision geometric information can be understood as the high-precision geometric information of the supplementary point, that is, the three-dimensional coordinate information of the supplementary point lost during quantization.
  • the quantized hidden points can be determined through A131 and A133 or through A132 and A133.
  • Step 103 the encoding end encodes the first information and the connection information of the reconstructed grid
  • the reconstruction grid is determined based on the first information.
  • connection information refers to the connection relationship between vertices in the grid.
  • the above solution can improve the compression efficiency of the geometric information of the three-dimensional grid, and can also realize the lossy compression of the connection information, which can effectively reduce the amount of data.
  • the process of obtaining connection information of the reconstructed grid includes:
  • Step S11 the encoding end performs geometric reconstruction according to the encoding information of the first information
  • geometric reconstruction refers to the acquisition of three-dimensional coordinates through coded information.
  • Step S12 the encoder performs grid reconstruction according to the reconstructed geometric information and the simplified grid, and obtains the reconstructed grid;
  • Step S13 the encoding end obtains the connection information of the reconstructed grid according to the reconstructed grid.
  • connection information is more accurate.
  • the encoder needs to acquire attribute information of the reconstructed grid, and then encode the attribute information to obtain a code stream corresponding to the attribute information.
  • step 101 of the present application is as follows:
  • the encoding end performs simplified processing on the target three-dimensional grid based on quantization parameters to obtain a simplified grid.
  • quantization parameters mentioned in this application mainly include the quantization parameters on the X-direction, Y-direction and Z-direction.
  • the target three-dimensional grid is simplified, and the specific implementation method of obtaining the simplified grid is as follows:
  • the encoding end When performing merging of vertices in the target 3D grid, the encoding end adjusts the positions of some or all vertices in the target 3D grid after vertex merging to a multiple of a quantization parameter to obtain a simplified grid.
  • the multiple can be any value that meets the user's needs, so as to ensure that the original position can be restored without additional information during dequantization, which will reduce the amount of data consumed by high-precision geometric information.
  • the operation of mesh simplification is performed first.
  • the focus of mesh simplification is the simplified operation and the corresponding error measure.
  • the mesh simplification operation here can be edge-based simplification. As shown in Figure 2, the purpose of reducing the number of patches and vertices can be achieved by merging two vertices of an edge.
  • the mesh can also be simplified by point-based mesh simplification methods.
  • the simplification error measure For example, the sum of the equation coefficients of all adjacent faces of a vertex can be selected as the error measure of the vertex, and the error measure of the corresponding edge is the sum of the error measures of the two vertices on the edge.
  • the grid can be simplified. For example, the grid can be divided into one or more local grids, and the vertex error of the initial grid in the slice is first calculated to obtain the error of each edge. Then arrange all the edges in the slice according to a certain rule according to the error, for example, arrange them according to the rule from small to large.
  • Each simplification can merge edges according to a certain rule, such as selecting the edge with the smallest error to merge, and at the same time calculate the position of the merged vertex and update the error of all edges related to the merged vertex, and update the order of the edge arrangement. Simplifies the faces of the mesh to some desired number by iteration.
  • the specific process includes:
  • Vertex error can be defined as the sum of the coefficients of the equations of all adjacent faces of a vertex. For example, each adjacent face defines a plane, which can be expressed by Equation 1:
  • D is the distance from any vertex to the plane
  • n is the unit normal vector of the plane
  • v is the position vector of the vertex
  • d is a constant.
  • Q is the vertex error
  • A, b, c are the coefficients representing the corresponding symbols in formula one.
  • Q(v) is the vertex error
  • v is the corresponding vertex
  • Q 1 (v) is the equation of v adjacent plane 1
  • Q 2 (v) is the equation of v adjacent plane 2
  • a 1 , A 2 , b 1 , b 2 , c 1 , and c 2 are the corresponding coefficients.
  • the corresponding plane error equation can be continuously added to Formula 4.
  • a major step in the process of merging vertices is to determine the position of the merged vertices.
  • the error formula three you can choose the vertex position that can make the error as small as possible. For example, by calculating the partial derivative of formula 3, we can get formula 4:
  • the errors of all the edges in the initial grid can be calculated first, and then arranged according to a certain specification, such as from small to large, according to the errors. For each iteration, select the edge whose error satisfies a certain rule, such as the edge with the smallest error. Removes both endpoints of an edge from a mesh vertex and adds the merged vertex to the set of mesh vertices.
  • All or part of the adjacent vertices of the two vertices before the merging are taken as the adjacent vertices of the merged vertex, and then the error metrics of all points connected to the merged vertex are updated to obtain the error of the newly generated edge. Then update the order of the edges from the global slice. Repeat the above process until the number of faces required by the lossy encoding is reached.
  • the connection relationship between vertices needs to be updated. For example, in the process of merging vertices, it may be determined that the merged vertex corresponds to the two vertices before the merge. Only need to replace all the indexes of the two vertices before merging appearing in the face with the index of the merged vertex, and then delete the face with duplicate indexes, so as to achieve the purpose of updating the connection relationship.
  • the 3D grid may also carry attribute information, and the attribute information may also need to be simplified.
  • attribute information such as texture coordinates, colors, normal vectors, etc.
  • the vertex coordinates can be extended to a higher dimension to calculate the vertex error with attribute information.
  • texture coordinates as an example, if the vertex coordinates are (x, y, z) and the texture coordinates are (u, v), then the expanded vertices are (x, y, z, u, v).
  • e 1 and e 2 are two vectors on the plane where T is located, q is, and e 2 is, where " ⁇ " represents the point product of vectors, which defines a coordinate axis on the high-dimensional plane, with p as the origin.
  • ⁇ u ⁇ 2 (u ⁇ e 1 ) 2 +...+( ⁇ e n ) 2 ;
  • the same subsequent steps as the previous three-dimensional information can be performed, thereby realizing the simplification of the grid with attribute information.
  • the boundary of the mesh is generally the boundary of the geometry and the boundary of the texture.
  • An edge is a geometric boundary when it belongs to only one face. When the same vertex has two or more texture coordinates, the vertex is the boundary of the texture coordinates. None of the above boundaries should be merged during mesh simplification. Therefore, in each simplification, it can be judged whether the vertex on the edge is a boundary point, and if it is a boundary point, skip it and proceed directly to the next iteration.
  • step 102 the specific implementation of the above-mentioned step 102 is:
  • the encoding end quantizes each vertex in the simplified grid according to the quantization parameter of each component to obtain first-precision geometric information.
  • quantization parameters of each component can be flexibly set according to usage requirements.
  • step 102 For quantization with low precision requirements, only low-precision geometric information can be retained after quantization; for quantization with high precision requirements, not only low-precision geometric information, but also high-precision geometric information needs to be recorded during quantization , so as to achieve accurate grid restoration during decoding, that is to say, the specific implementation of the above-mentioned step 102 should also include:
  • the encoding end acquires second-precision geometric information according to the first-precision geometric information and the quantization parameter of each component.
  • the f1 function in Formula 14 to Formula 16 is a quantization function
  • the input of the quantization function is the coordinate of a certain dimension and the quantization parameter of this dimension, and the output is the coordinate value after quantization
  • Formula 17 to Formula 19 The input of the f2 function in is the original coordinate value, the quantized coordinate value and the quantization parameter of this dimension, and the output is a high-precision coordinate value.
  • the f 1 function can be calculated in a variety of ways, and a common calculation method is shown in formula 20 to formula 22, which is calculated by dividing the original coordinates of each dimension by the quantization parameter of this dimension. Among them, / is a division operator, and the result of the division operation can be rounded in different ways, such as rounding, rounding down, rounding up, etc. There are also multiple calculation methods for the f2 function, and the implementation methods corresponding to Formula 7 to Formula 9 are shown in Formula 23 to Formula 25, where * is a multiplication operator.
  • the f 1 function and f 2 function can be implemented using bit operations, such as formula 26 to formula 31:
  • the quantization parameters QP x , QP y and QP z can be flexibly set.
  • the quantization parameters of different components are not necessarily equal, and the correlation between the quantization parameters of different components can be used to establish the relationship between QP x , QP y and QP z , and set different quantization parameters for different components;
  • different spatial The quantization parameters of the regions are not necessarily equal, and the quantization parameters can be adaptively set according to the sparseness of the vertex distribution in the local region.
  • the high-precision geometric information includes detailed information of the outline of the three-dimensional mesh.
  • the high-precision geometric information (x h , y h , z h ) can be further processed.
  • the 3D mesh model the importance of high-precision geometric information of vertices in different regions is different. For areas where vertices are sparsely distributed, the distortion of high-precision geometric information will not have a great impact on the visual effect of the 3D mesh.
  • step 102 in the process of quantization, there may be multiple points that overlap to the same position after quantization, that is to say, in this case, the specific implementation of the above-mentioned step 102 should also include:
  • the encoding end determines information of supplementary points according to the geometric information of the simplified mesh and the geometric information of the first precision.
  • the points where the low-precision geometric information is repeated are used as supplementary points and encoded separately.
  • the geometric information of the supplementary points can also be divided into low-precision geometric information and high-precision geometric information. According to the requirements of the application for compression distortion, you can choose to keep all the supplementary points or only a part of them.
  • the high-precision geometric information of the supplementary points can also be further quantified, or only the high-precision geometric information of some points can be retained.
  • the first information needs to be encoded to obtain the final code stream.
  • the first The specific implementation process of information encoding includes:
  • Step 1031 the encoding end processes the first information to obtain second information, and the second information includes at least one of a placeholder map and a geometric map;
  • Step 1032 the encoding end encodes the second information.
  • step 1031 describes the implementation of step 1031 from the perspective of different information. The procedure is explained below.
  • the first information includes the first precision geometry information
  • step 1031 includes:
  • Step 10311 the encoding end divides the first-precision geometric information into three-dimensional slices
  • the low-precision geometric information is mainly divided into patches (Patch) to obtain multiple 3D patches; the specific implementation of this step is: the encoding end determines each a projection plane of vertices; the encoding end slices the vertices contained in the first-precision geometric information according to the projection plane; the encoding end clusters the vertices contained in the first-precision geometric information to obtain After dividing each slice.
  • the process of patch division mainly includes: first estimate the normal vector of each vertex, and select the candidate projection plane with the smallest angle between the plane normal vector and the vertex normal vector as the projection plane of the vertex; then, according to the projection The plane initially divides the vertices, and forms the patch with the same and connected vertices on the projection plane; finally, the fine partition algorithm is used to optimize the clustering results to obtain the final 3D patch.
  • the tangent plane and its corresponding normal are defined based on each point's nearest neighbor vertex m at a predefined search distance.
  • a KD tree is used to separate the data and to find neighboring points near point p i , the center of gravity of the set Used to define normals.
  • the calculation method of the center of gravity c is as follows:
  • the projection plane of each vertex is initially selected.
  • the normal vector of the candidate projection plane is Select the plane whose normal vector direction is closest to the vertex normal vector direction as the projection plane of the vertex.
  • the calculation process of plane selection is shown in formula 34:
  • the fine division process can use a grid-based algorithm to reduce the time complexity of the algorithm.
  • the grid-based fine division algorithm flow is shown in Figure 3, specifically including:
  • Step S301 divide the (x, y, z) geometric coordinate space into voxels.
  • Step S302 searching for filling voxels, where a filling voxel refers to a voxel that contains at least one point in the grid.
  • Step S303 calculating the smoothing score of each filling voxel on each projection plane, denoted as voxScoreSmooth, the voxel smoothing score of a voxel on a projection plane is the number of points gathered to the projection plane through the initial segmentation process.
  • Step S304 use KD-Tree partition to search for adjacent filled voxels, denoted as nnFilledVoxels, that is, the nearest filled voxels of each filled voxel (within the search radius and/or limited to the maximum number of adjacent voxels).
  • nnFilledVoxels the nearest filled voxels of each filled voxel (within the search radius and/or limited to the maximum number of adjacent voxels).
  • Step S305 using the voxel smoothing scores of adjacent filling voxels on each projection plane to calculate the smoothing score (scoreSmooth) of each filling voxel, the calculation process is shown in formula 35:
  • Step S306 using the normal vector of the vertex and the normal vector of the candidate projection plane to calculate the normal score, recorded as scoreNormal, the calculation process is shown in formula 36:
  • p is the index of the projection plane and i is the index of the vertex.
  • Step S307 using scoreSmooth and scoreNormal to calculate the final score of each voxel on each projection plane, the calculation process is shown in Formula 37:
  • i is the vertex index
  • p is the index of the projection plane
  • v is the voxel index where the vertex i is located.
  • Step S308 using the scores in step 307 to cluster the vertices to obtain finely divided patches.
  • Step 10312 the encoding end performs two-dimensional projection on the divided three-dimensional slices to obtain two-dimensional slices;
  • this process is to project the 3D patch onto a two-dimensional plane to obtain a two-dimensional patch (2D patch).
  • Step 10313 the encoder packs the two-dimensional slices to obtain two-dimensional image information
  • this step implements patch packing.
  • the purpose of patch packing is to arrange 2D patches on a two-dimensional image.
  • the basic principle of patch packing is to arrange patches on a two-dimensional image without overlapping.
  • the non-pixel parts of the patch are partially overlapped and arranged on the two-dimensional image, and the patches are arranged more closely and have temporal consistency through algorithms such as priority arrangement and time-domain consistent arrangement to improve coding performance.
  • the minimum block size defining a patch arrangement is T, which specifies the minimum distance between different patches placed on this 2D grid.
  • each patch occupies an area consisting of an integer number of TxT blocks.
  • at least one TxT block distance is required between adjacent patches.
  • the patch can choose a variety of different arrangement directions.
  • eight different arrangement directions can be used, as shown in FIG. 4 , including 0 degree, 180 degree, 90 degree, 270 degree and mirror images of the first four directions.
  • a patch arrangement method with temporal consistency is adopted.
  • a GOF Group of frame, frame group
  • all patches of the first frame are arranged in order from large to small.
  • the temporal consistency algorithm is used to adjust the arrangement order of the patches.
  • the patch information can be obtained according to the information in the process of obtaining the two-dimensional image information, and then the patch information can be encoded to obtain the patch information sub-stream;
  • the patch information records the operation information of each step in the process of obtaining a two-dimensional image , that is, the patch information includes: patch division information, patch projection plane information, and patch packing location information.
  • Step 10314 the encoder obtains a first-precision occupancy map and a first-precision geometric map according to the two-dimensional image information
  • the main steps are: use the patch arrangement information obtained by patch packing, set the positions of vertices in the two-dimensional image to 1, and set the rest positions to 0 to obtain the occupancy map.
  • the process of obtaining the geometric map it is mainly: in 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 geometric map compression part is to convert each The depth value of the vertex is arranged to the position of the vertex in the occupancy map to obtain a low-precision geometry map.
  • the first information includes the second precision geometric information
  • step 1031 includes:
  • Step 10315 the encoding end acquires the arrangement order of the vertices included in the first-precision geometric information
  • Step 10316 the encoder arranges the second-precision geometric information corresponding to the vertices contained in the first-precision geometric information in the two-dimensional image, and generates a second-precision geometric map.
  • the high-precision geometric information adopts the arrangement of the original patch (raw patch), and the high-precision geometric information corresponding to the vertices in the low-precision geometric map is arranged in the two-dimensional image to obtain the raw patch, so as to generate high-precision Precision geometry. It is mainly divided into three steps, as shown in Figure 5, including:
  • Step 501 obtain the arrangement order of the vertices, scan the low-precision geometric graph from left to right row by row, and use the scanning order of each vertex as the arrangement order of the vertices in the raw patch.
  • Step 502 generate a raw patch.
  • the raw patch is a rectangular patch formed by arranging the three-dimensional coordinates of vertices line by line as shown in Figure 5. According to the arrangement order of the vertices obtained in the first step, arrange the high-precision geometric information of the vertices in order to obtain the high-precision geometric information raw patch.
  • Step 503 placing the high-precision geometric information in a two-dimensional image to generate a high-precision geometric map.
  • the encoding end when encoding the geometry sub-stream, will encode the first-precision geometry and the second-precision geometry to obtain the geometry sub-stream.
  • the first information includes supplementary information
  • step 1031 includes:
  • Step 10317 the encoding end arranges the third precision geometric information of the supplementary points into the first original slice
  • Step 10318 the encoding end arranges the fourth precision geometric information of the supplementary points into a second original slice according to the same arrangement sequence as that of the first original slice;
  • Step 10319 the encoding end compresses the first original slice and the second original slice, and obtains a geometric map of supplementary points.
  • the geometric information of the supplementary points is divided into low-precision parts and high-precision parts, respectively, and is encoded.
  • the other method is to add the supplementary point low-precision raw patch to the blank area in the low-precision geometric map, and add the supplementary point high-precision
  • the raw patch adds blank areas in the high-precision geometry map to obtain a geometry map of supplementary points.
  • the mesh simplification operation is first performed on the mesh, and the number of mesh vertices and edges is reduced while maintaining the mesh structure as much as possible. Then quantify the geometric information of the simplified grid, and thus may obtain three parts: low-precision geometric information, high-precision geometric information and supplementary point information.
  • raw patch can be used for possible high-precision geometric information Arrangement method to generate a high-precision geometric map (It should be noted here that the high-precision geometric map can be encoded into a code stream separately, or the high-precision geometric map can be filled into the low-precision geometric map, and the low-precision geometric map Encoding to obtain a code stream); for possible supplementary points, the geometric information of the supplementary points can be divided into low-precision parts and high-precision parts, and the raw patch is arranged separately, and encoded into a code stream separately, or the raw patch can be added Geometric map; finally, encode the patch sequence compression information, placeholder map, and geometric map to obtain corresponding sub-streams respectively.
  • this application uses a video-based encoding method to encode the coordinate information of the Mesh vertices, and projects the coordinates of the vertices onto a two-dimensional plane to encode the vertex coordinate information of the Mesh using a video encoder; in the video-based Mesh encoding
  • the method of Mesh simplification is added to reduce the amount of Mesh data
  • the quantization method is used to generate low-precision geometric information, high-precision geometric information, and supplementary point information, and then encode these three types of information respectively;
  • Mesh simplification is added before quantization, quantization is considered during simplification, and there is simplification during quantization; this application is aimed at lossy coding mode; it can effectively reduce the amount of data.
  • the encoding method provided in the embodiment of the present application may be executed by an encoding device.
  • the encoding device provided in the embodiment of the present application is described by taking the information transmission method performed by the encoding device as an example.
  • an encoding device 800 including:
  • the first acquisition module 801 is configured to simplify the target three-dimensional grid and acquire the simplified grid
  • the second acquisition module 802 is configured to quantify the geometric information of the simplified grid, and acquire first information, the first information including at least one of the following: first precision geometric information, second precision geometric information, supplementary points Information;
  • a first encoding module 803, configured to encode the first information and connection information of the reconstructed grid
  • the reconstruction grid is determined based on the first information
  • the first precision geometric information is the quantized geometric information of the target 3D grid
  • the second precision geometric information is the quantized target 3D grid
  • the geometric information lost in the process, the supplementary point information is the point information generated in the quantization process that requires additional processing.
  • the method for obtaining connection information of the reconstructed grid includes:
  • connection information of the reconstructed grid is obtained.
  • the first acquiring module 801 is configured to:
  • the target three-dimensional grid is simplified to obtain the simplified grid.
  • the first acquiring module 801 is configured to:
  • the positions of some or all of the vertices after the merging of vertices in the target three-dimensional mesh are adjusted to a multiple of a quantization parameter to obtain a simplified mesh.
  • the device also includes:
  • the third obtaining module is used to obtain attribute information of the reconstructed grid
  • the second encoding module is configured to encode the attribute information.
  • the second obtaining module 802 is configured to:
  • each vertex in the simplified grid is quantized to obtain first-precision geometric information.
  • the second acquiring module 802 is also configured to:
  • the second acquiring module 802 is also configured to:
  • information of supplementary points is determined.
  • the supplementary information includes at least one of the following:
  • the third precision geometric information of the supplementary point is the quantized three-dimensional coordinate information of the supplementary point;
  • the fourth precision geometric information of the supplementary point is the three-dimensional coordinate information lost during the quantization process of the supplementary point.
  • the first encoding module 803 includes:
  • An acquisition unit configured to process the first information and acquire second information, where the second information includes a placeholder map and at least one term in the geometric graph;
  • An encoding unit configured for the encoding end to encode the second information.
  • the acquiring unit is configured to:
  • a first-precision occupancy map and a first-precision geometric map are acquired.
  • the acquiring unit is configured to:
  • the second-precision geometric information corresponding to the vertices included in the first-precision geometric information is arranged in the two-dimensional image to generate a second-precision geometric map.
  • the encoding unit is configured to:
  • the acquiring unit is configured to:
  • This device embodiment corresponds to the above-mentioned method embodiment, and each implementation process and implementation mode of the above-mentioned method embodiment can be applied to this device embodiment, and can achieve the same technical effect.
  • the embodiment of the present application also provides an encoding device.
  • the encoding device 900 includes: a processor 901 , a network interface 902 and a memory 903 .
  • the network interface 902 is, for example, a common public radio interface (common public radio interface, CPRI).
  • the network function 900 of the embodiment of the present invention also includes: instructions or programs stored in the memory 903 and operable on the processor 901, and the processor 901 calls the instructions or programs in the memory 903 to execute the modules shown in FIG. 8 To avoid duplication, the method of implementation and to achieve the same technical effect will not be repeated here.
  • this embodiment of the present application also provides a communication device 1000, including a processor 1001 and a memory 1002, and the memory 1002 stores programs or instructions that can run on the processor 1001, such as , when the communication device 1000 is an encoding device, when the program or instruction is executed by the processor 1001, each step of the above encoding method embodiment can be achieved, and the same technical effect can be achieved. To avoid repetition, details are not repeated here.
  • the embodiment of the present application further provides a chip, the chip includes a processor and a communication interface, the communication interface is coupled to the processor, and the processor is used to run programs or instructions to implement each of the above coding method embodiments process, and can achieve the same technical effect, in order to avoid repetition, it will not be repeated here.
  • the chip mentioned in the embodiment of the present application may also be called a system-on-chip, a system-on-chip, a system-on-a-chip, or a system-on-a-chip.
  • An embodiment of the present application further provides a computer program/program product, the computer program/program product is stored in a storage medium, and the computer program/program product is executed by at least one processor to implement the above-mentioned sensing method or sensing configuration
  • Each process of the method embodiment can achieve the same technical effect, and will not be repeated here to avoid repetition.
  • the embodiment of the present application also provides a communication system, including at least: an encoding device, and the encoding device can be used to execute the steps of the encoding method described above. And can achieve the same technical effect, in order to avoid repetition, no more details here.
  • the term “comprising”, “comprising” or any other variation thereof is intended to cover a non-exclusive inclusion such that a process, method, article or apparatus comprising a set of elements includes not only those elements, It also includes other elements not expressly listed, or elements inherent in the process, method, article, or device. Without further limitations, an element defined by the phrase “comprising a " does not preclude the presence of additional identical elements in the process, method, article, or apparatus comprising that element.
  • the scope of the methods and devices in the embodiments of the present application is not limited to performing functions in the order shown or discussed, and may also include performing functions in a substantially simultaneous manner or in reverse order according to the functions involved. Functions are performed, for example, the described methods may be performed in an order different from that described, and various steps may also be added, omitted, or combined. Additionally, features described with reference to certain examples may be combined in other examples.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Graphics (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Biology (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Image Processing (AREA)

Abstract

本申请公开了一种编码方法、装置及设备,涉及编解码技术领域。该编码方法,包括:编码端对目标三维网格进行简化处理,获取简化网格;所述编码端对所述简化网格的几何信息进行量化,获取第一信息,所述第一信息包括以下至少一项:第一精度几何信息、第二精度几何信息、补充点的信息;所述编码端对所述第一信息以及重建网格的连接信息进行编码;其中,所述重建网格基于所述第一信息确定,所述第一精度几何信息为所述目标三维网格量化后的几何信息,所述第二精度几何信息为所述目标三维网格量化过程中丢失的几何信息,所述补充点的信息为量化过程中产生的需要额外处理的点的信息。

Description

编码方法、装置及设备
相关申请的交叉引用
本申请主张在2022年2月18日在中国提交的中国专利申请No.202210153272.X的优先权,其全部内容通过引用包含于此。
技术领域
本申请属于编解码技术领域,具体涉及一种编码方法、装置及设备。
背景技术
三维网格(Mesh)可以被认为是过去多年来最流行的三维模型的表示方法,其在许多应用程序中扮演着重要的角色。它的表示简便,因此被大量以硬件算法集成到电脑、平板电脑和智能手机的图形处理单元(Graphics Processing Unit,GPU)中,专门用于渲染三维网格。
在所有使用三维网格的应用领域中,如计算模拟、娱乐、医学成像、数字化文物、计算机设计、电子商务等,对网格精度的要求一直在提高,所需要的数据量也快速增长,且当前大量的三维模型都需要通过互联网来访问。以上问题导致了三维网格的处理、可视化、传输和存储都越来越复杂。而三维网格压缩是解决上述问题的一个重要途径。它极大地减少了数据量的大小,有利于三维网格的处理、存储和传输。
通常来说,网格中最重要的信息也就是几何信息,因为它描述了三维物体的形状,对于几何信息的压缩可以与当前正在研究的点云压缩技术相结合。同时,对于一些应用来说,不需要模型恢复到原始的精度,因此大多采用有损压缩。但是相关技术中的仅关注到几何信息的压缩,此种压缩方式不能有效减少数据量。
发明内容
本申请实施例提供一种编码方法、装置及设备,能够解决相关技术中的三维网格压缩的压缩方式数据量较高的问题。
第一方面,提供了一种编码方法,包括:
编码端对目标三维网格进行简化处理,获取简化网格;
所述编码端对所述简化网格的几何信息进行量化,获取第一信息,所述第一信息包括以下至少一项:第一精度几何信息、第二精度几何信息、补充点的信息;
所述编码端对所述第一信息以及重建网格的连接信息进行编码;
其中,所述重建网格基于所述第一信息确定,所述第一精度几何信息为所述目标三维网格量化后的几何信息,所述第二精度几何信息为所述目标三维网格量化过程中丢失的几何信息,所述补充点的信息为量化过程中产生的需要额外处理的点的信息。
第二方面,提供了一种编码装置,包括:
第一获取模块,用于对目标三维网格进行简化处理,获取简化网格;
第二获取模块,用于对所述简化网格的几何信息进行量化,获取第一信息,所述第一信息包括以下至少一项:第一精度几何信息、第二精度几何信息、补充点的信息;
第一编码模块,用于对所述第一信息以及重建网格的连接信息进行编码;
其中,所述重建网格基于所述第一信息确定,所述第一精度几何信息为所述目标三维网格量化后的几何信息,所述第二精度几何信息为所述目标三维网格量化过程中丢失的几何信息,所述补充点的信息为量化过程中产生的需要额外处理的点的信息。
第三方面,提供了一种编码设备,包括处理器和存储器,所述存储器存储可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如第一方面所述的方法的步骤。
第四方面,提供了一种编码设备,包括处理器及通信接口,其中,所述处理器用于对目标三维网格进行简化处理,获取简化网格;对所述简化网格的几何信息进行量化,获取第一信息,所述第一信息包括以下至少一项:第一精度几何信息、第二精度几何信息、补充点的信息;对所述第一信息以及重建网格的连接信息进行编码;其中,所述重建网格基于所述第一信息确定,所述第一精度几何信息为所述目标三维网格量化后的几何信息,所述第二精度几何信息为所述目标三维网格量化过程中丢失的几何信息,所述补充点的信息为量化过程中产生的需要额外处理的点的信息。
第五方面,提供了一种通信系统,包括:编码设备,所述编码设备可用于执行如第一方面所述的方法的步骤。
第六方面,提供了一种可读存储介质,所述可读存储介质上存储程序或指令,所述程序或指令被处理器执行时实现如第一方面所述的方法的步骤。
第七方面,提供了一种芯片,所述芯片包括处理器和通信接口,所述通信接口和所述 处理器耦合,所述处理器用于运行程序或指令,实现如第一方面所述的方法。
第八方面,提供了一种计算机程序/程序产品,所述计算机程序/程序产品被存储在存储介质中,所述计算机程序/程序产品被至少一个处理器执行以实现如第一方面所述的方法的步骤。
在本申请实施例中,通过对目标三维网格进行简化处理,获取简化网格,对所述简化网格的几何信息进行量化,获取第一精度几何信息、第二精度几何信息和补充点的信息中的至少一项,然后对上述信息以及重建网格的连接信息进行编码;上述方案,能够实现连接信息的有损压缩,能够减少数据量。
附图说明
图1是本申请实施例的编码方法的流程示意图;
图2是网格简化中合并顶点过程的示意图;
图3是基于网格的精细划分过程示意图;
图4是Patch排列的八种方向示意图;
图5是高精度几何信息的编码过程示意图;
图6是raw patch示意图;
图7是三维网格编码框架示意图;
图8是本申请实施例的编码装置的模块示意图;
图9是本申请实施例的编码设备的结构示意图;
图10是本申请实施例的通信设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不用于描述特定的顺序或先后次序。应该理解这样使用的术语在适当情况下可以互换,以便本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施,且“第一”、“第二”所区别的对象通常为一类,并不限定对象的个数,例如第一对象可以是一个,也可以是多个。此外,说明书以及权利要求中“和/或”表示所连接对象的至少其中之一,字符“/”一般表示前后关联对象是一种“或”的关系。
值得指出的是,本申请实施例所描述的技术不限于长期演进型(Long Term Evolution,LTE)/LTE的演进(LTE-Advanced,LTE-A)系统,还可用于其他无线通信系统,诸如码分多址(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)和其他系统。本申请实施例中的术语“系统”和“网络”常被可互换地使用,所描述的技术既可用于以上提及的系统和无线电技术,也可用于其他系统和无线电技术。以下描述出于示例目的描述了新空口(New Radio,NR)系统,并且在以下大部分描述中使用NR术语,但是这些技术也可应用于NR系统应用以外的应用,如第6代(6th Generation,6G)通信系统。
下面结合附图,通过一些实施例及其应用场景对本申请实施例提供的编码方法、装置及设备进行详细地说明。
如图1所示,本申请实施例提供一种编码方法,包括:
步骤101,编码端对目标三维网格进行简化处理,获取简化网格;
需要说明的是,本申请中所说的目标三维网格可以理解为任意视频帧对应的三维网格。
步骤102,所述编码端对所述简化网格的几何信息进行量化,获取第一信息;
需要说明的是,该简化网格的几何信息可以理解为是三维网格中顶点的坐标,该坐标通常指的是三维坐标。
具体地,所述第一信息包括以下至少一项:
A11、第一精度几何信息;
需要说明的是,该第一精度几何信息可以理解为低精度几何信息,即低精度几何信息指的是目标三维网格量化后的几何信息,即量化后的目标三维网格包括的各顶点三维坐标信息。
A12、第二精度几何信息;
需要说明的是,该第二精度几何信息可以理解为高精度几何信息,高精度几何信息可以看作是量化过程中丢失的几何信息,即丢失的三维坐标信息。
A13、补充点的信息;
需要说明的是,补充点的信息是指量化过程中产生的需要额外处理的点的信息,也就是说,所述补充点为量化过程中产生的需要额外处理的点,例如,坐标位置出现重叠的重复点等,通过对重复点进行处理,可以使得在量化中坐标位置重叠的顶点在反量化后恢复到原来的位置。
可选地,该补充点的信息,包括以下至少一项:
A131、补充点对应的第一精度几何信息中顶点的索引;
需要说明的是,通过标识索引,便可知道量化后的网格中,哪些点标识的是量化前的三维网格中的多个点,即量化前的三维网格中的多个点在量化后重合到了一起,通过顶点 的索引便可确定补充点的低精度几何信息。
A132、补充点的第三精度几何信息;
需要说明的是,该第三精度几何信息可以理解为补充点的低精度几何信息,即补充点被量化后的三维坐标信息。
A133、补充点的第四精度几何信息;
需要说明的是,该第四精度几何信息可以理解为补充点的高精度几何信息,即补充点在被量化过程中丢失的三维坐标信息。
这里需要说明的是,在具体使用时,通过A131和A133或者通过A132和A133便可确定得到量化后隐藏的点有哪些。
步骤103,所述编码端对所述第一信息以及重建网格的连接信息进行编码;
其中,所述重建网格基于所述第一信息确定。
需要说明的是,所述连接信息指的是网格中顶点之间的连接关系。
需要说明的是,通过对目标三维网格进行简化处理,获取简化网格,对所述简化网格的几何信息进行量化,获取第一精度几何信息、第二精度几何信息和补充点的信息中的至少一项,然后对上述信息以及重建网格的连接信息进行编码;上述方案,能够提高三维网格几何信息的压缩效率,还能够实现连接信息的有损压缩,能够有效减少数据量。
可选地,所述重建网格的连接信息的获取过程,包括:
步骤S11、所述编码端根据所述第一信息的编码信息进行几何重建;
需要说明的是,此处的几何重建指的是通过编码信息进行三维坐标的获取。
步骤S12、所述编码端根据重建后的几何信息以及所述简化网格,进行网格重建,获取重建网格;
步骤S13、所述编码端根据所述重建网格,获取所述重建网格的连接信息。
需要说明的是,通过利用几何信息的编码信息进行网格重建,然后再基于重建网格进行连接信息的获取,能够保证获取的连接信息较为准确。
还需要说明的是,在获取到重建网格之后,所述编码端需要获取重建网格的属性信息,然后对所述属性信息进行编码,便可得到属性信息对应的码流。
可选地,本申请的步骤101的具体实现方式为:
所述编码端基于量化参数,对所述目标三维网格进行简化处理,获取简化网格。
需要说明的是,本申请中所说的量化参数主要包括X向、Y向和Z向三个分量上的量化参数。
可选地,基于量化参数,对所述目标三维网格进行简化处理,获取简化网格的具体实现方式为:
所述编码端在进行所述目标三维网格中的顶点合并时,将所述目标三维网格中顶点合并后的部分或全部顶点的位置调整为量化参数的倍数,获取简化网格。
需要说明的是,通过在设置合并后的点的位置时,考虑量化参数,将其设置为量化参 数的倍数,该倍数可以为符合使需求的任意值,以此能够确保在反量化时不需要额外的信息便可恢复原始位置,将减少高精度的几何信息所消耗的数据量。
下面对简化处理的具体实现方式说明如下。
对于输入的原始网格,首先进行网格简化的操作。网格简化的重点在于简化的操作以及对应的误差度量。这里的网格简化操作可以为基于边的简化。如图2所示,可以通过合并一条边的两个顶点来达到减少面片数和顶点数的目的。此外,还可通过基于点等网格简化方式对网格进行简化。
在网格简化的过程中需要定义简化的误差度量。例如,可以选取顶点所有相邻面的方程系数之和作为该顶点的误差度量,相应的边的误差度量即为边上两顶点的误差度量之和。在确定好简化操作的方式以及误差度量后就可以开始对网格进行简化。例如,可以将网格分为一片或多片局部网格,先计算片中初始网格的顶点误差来得到每条边的误差。然后将片内的所有边按误差按照某规则,如按照从小到大的规则进行排列。每次简化可以按照某种规则对边进行合并,如选取误差最小的边进行合并,同时计算合并后的顶点位置并更新所有与合并后顶点相关的边的误差,更新边排列的顺序。通过迭代将网格的面简化到某一预期数量。
具体过程包括:
1、顶点误差的计算
顶点误差可以定义为顶点所有相邻面的方程的系数之和。例如,每个相邻面都定义了一个平面,可以用公式一表示:
公式一:D2=(nTv+d)2=vT(nnT)v+2dnTv+d2
其中,D为任意顶点到平面的距离,n为平面的单位法向量,v为顶点的位置向量,d为常数。用二次曲面的形式表示为公式二:Q=(A,b,c)=(nnT,dn,d2);
其中,Q为顶点误差,A,b,c为表示公式一中相应符号的系数。
从公式二进而得到公式三:Q(v)=vTAv+2bTv+c;
由顶点误差为该顶点所有相邻面的方程系数之和,则可令公式四:Q1(v)+Q2(v)=(Q1+Q2)(v)=(A1+A2,b1+b2,c1+c2)(v)。其中,Q(v)为顶点误差,v为对应的顶点,Q1(v)为v相邻平面1的方程,Q2(v)为v相邻平面2的方程,A1,A2,b1,b2,c1,c2为各自相对应的系数。当然,若存在多个相邻面则可向公式四中继续添加相应的平面误差方程。
2、合并顶点
合并顶点过程的一个主要步骤为确定合并后顶点的位置。根据误差公式三,可以选择能让误差尽可能小的顶点位置。例对通过对公式三求偏导数,可以得到,公式四:
公式五:
由上式可知,只有在矩阵A可逆的情况下,才能求得使误差最小的点。因此,此处对于合并后的顶点位置可以有多种取法。如果考虑网格简化的质量,在矩阵A可逆的情况下, 选取使误差最小的顶点位置;在矩阵A不可逆的情况下,可以选择边上包括两端点的其中一个使误差最小的点。如果考虑网格简化的复杂度,可以直接选取边的中点或者两端点的其中一个作为合并后的顶点的位置。如果考虑网格简化后量化的效率,还需要调整合并后的顶点位置。由于量化后对于高精度信息需要单独编码,因此,将一部分合并后的顶点位置调整为相应量化参数的倍数,确保在反量化时不需要额外的信息便可恢复原始位置,将减少高精度的几何信息所消耗的数据量。
确定了如何选取合并后的顶点位置后,便可以开始合并顶点的过程。例如,可以先计算初始网格中所有的边的误差,将其按误差按照某规格,如从小到大的顺序进行排列。每次迭代,选取误差满足某规则的边,如误差最小的边。从网格顶点中移除边的两个端点并添加合并后的顶点到网格顶点的集合中。将合并前的两个顶点的所有或部分相邻顶点作为合并后的顶点的相邻顶点,然后更新与该合并顶点相连接的所有点的误差度量,从而得到新产生的边的误差。然后从片的全局来更新边的排列顺序。循环上述过程,直到达到满足有损编码所需要的面数。
3、更新连接关系
在合并顶点之后,由于顶点集中删除了一部分顶点,同时又添加了许多新的顶点,因此需要更新顶点之间的连接关系。例如,在合并顶点过程中可以确定合并后的顶点对应的合并之前的两个顶点。只需要用合并后的顶点的索引替换所有在面中出现的合并之前的两个顶点的索引,然后删除具有重复索引的面,就可以达到更新连接关系的目的。
以上即为网格简化的主要过程。同时,三维网格还可能会携带有属性信息,对属性信息也可能需简化。对于带有属性信息的网格,如纹理坐标,颜色,法向量等,可以将顶点坐标扩展到更高的维度从而计算带有属性信息的顶点误差。以纹理坐标为例,设顶点坐标为(x,y,z),纹理坐标为(u,v),则扩展后的顶点为(x,y,z,u,v)。设扩展后的三角形T=(p,q,r),为了确定高维空间上的误差度量,首先计算两个标准正交向量,即:
公式六:
公式七:
其中,e1,e2为T所在平面上的两个向量,q为,e2为,此处"·"代表向量的点乘,它定义了该高维平面上的一个坐标轴,以p为原点。考虑一个任意点v,另u=p-v,由公式八:‖u‖2=(u·e1)2+…+(μ·en)2
即公式九:(u·e3)2+…+(u·en)2=‖μ‖2-(μ·e1)2-(u·e2)2
由于e1,e2为T所在平面上的两个向量,则公式九左边项即为顶点到T所在平面的距离的平方,即公式十:D2=‖μ‖2-(μ·e1)2-(u·e2)2
对其进行展开并合并后可得到与公式三类似的方程,其中:
公式十一:
公式十二:b=(p·e1)e1+(p·e2)e2-p;
公式十三:c=p·p-(p·e1)2-(p·e2)2
得到上述误差度量后,则可以进行与之前三维信息一样的后续步骤,从而实现了对于带有属性信息的网格的简化。
通常来说,图像的边缘部分更能吸引人们的注意力,从而影响人们对于该图像的质量评价。三维网格也是如此,人们往往更容易注意到边界部分。因此,是否保持边界也是网格简化中影响质量的一个因素。网格的边界一般为几何形状的边界以及纹理的边界。当一条边只属于一个面时,该边即为一个几何边界。当同一个顶点具有两个或多个纹理坐标时,该顶点即为纹理坐标的边界。在网格简化时,以上边界均不应被合并。因此,在每次简化时可以先判断该边上的顶点是否为边界点,若为边界点则跳过,直接进行下一次迭代。
可选地,上述的步骤102的具体实现方式为:
所述编码端根据每一分量的量化参数,对所述简化网格中的每一顶点进行量化,获取第一精度几何信息。
需要说明的是,每一分量的量化参数可以根据使用需求灵活设置。
通常情况下,对于精度要求不高的量化,在量化后可以只保留低精度几何信息;而对于精度要求较高的量化,在量化时不仅要记录低精度几何信息,也需要记录高精度几何信息,以此在解码时能够实现精准的网格恢复,也就是说,上述的步骤102的具体实现方式还应当包括:
所述编码端根据所述第一精度几何信息以及所述每一分量的量化参数,获取第二精度几何信息。
例如,假设某顶点的三维坐标为(x,y,z),量化参数为(QPx,QPy,QPz),低精度几何信息(xl,yl,zl)和高精度几何信息(xh,yh,zh)的计算过程如公式十四至公式十九所示:
公式十四:xl=f1(x,QPx);
公式十五:yl=f1(y,QPy);
公式十六:zl=f1(z,QPz);
公式十七:xh=f2(x,xl,QPx);
公式十八:yh=f2(y,yl,QPy);
公式十九:zh=f2(z,zl,QPz);
其中,公式十四至公式十六中的f1函数是量化函数,量化函数的输入为某一维度的坐标和该维度的量化参数,输出为量化后的坐标值;公式十七至公式十九中的f2函数输入为原始坐标值、量化后的坐标值以及该维度的量化参数,输出为高精度的坐标值。
f1函数可以有多种计算方式,比较通用的一种计算方式如公式二十至公式二十二所示,使用每个维度的原始坐标除以该维度的量化参数来计算。其中,/为除法运算符,对除法运算的结果可以采用不同的方式进行舍入,如四舍五入、向下取整、向上取整等。f2函数也存在多种计算方式,与公式七至公式九相对应的实现方式如公式二十三至公式二十五所示,其中,*为乘法运算符。
公式二十:xl=x/QPx
公式二十一:yl=y/QPy
公式二十二:zl=z/QPz
公式二十三:xh=x-xl*QPx
公式二十四:yh=y-yl*QPy
公式二十五:zh=z-zl*QPz
当量化参数为2的整数次幂时,f1函数和f2函数可以使用位运算实现,如公式二十六至公式三十一:
公式二十六:xl=x>>log2QPx
公式二十七:yl=y>>log2QPy
公式二十八:zl=z>>log2QPz
公式二十九:xh=x&(QPx-1);
公式三十:yh=y&(QPy-1);
公式三十一:zh=z&(QPz-1);
值得注意的是,无论f1函数和f2函数采用哪种计算方式,量化参数QPx、QPy和QPz都可以灵活设置。首先,不同分量的量化参数并不一定相等,可以利用不同分量的量化参数的相关性,建立QPx、QPy和QPz之间的关系,为不同分量设置不同的量化参数;其次,不同空间区域的量化参数也不一定相等,可以根据局部区域顶点分布的稀疏程度自适应的设置量化参数。
需要说明的是,高精度几何信息包含的是三维网格的轮廓的细节信息。为了进一步提高压缩效率,可以对高精度几何信息(xh,yh,zh)进一步处理。在三维网格模型中,不同区域的顶点高精度几何信息的重要程度是不同的。对于顶点分布稀疏的区域,高精度几何信息的失真并不会对三维网格的视觉效果产生较大影响。这时为了提高压缩效率,可以选择对高精度几何信息进一步量化,或者只保留部分点的高精度几何信息。
可选地,在进行量化的过程中,可能会存在多个点量化完重合到同一个位置,也就是说,此种情况下,上述的步骤102的具体实现方式还应当包括:
所述编码端根据所述简化网格的几何信息和所述第一精度几何信息,确定补充点的信息。
也就是说,在得到所有顶点的低精度几何信息后,将低精度几何信息重复的点作为补充点,单独进行编码。补充点的几何信息同样可以分为低精度几何信息和高精度几何信息两部分,根据应用对压缩失真的要求,可以选择保留所有补充点或者只保留其中一部分补充点。对补充点的高精度几何信息,也可以进行进一步量化,或者只保留部分点的高精度几何信息。
需要说明的是,在对目标三维网格的几何信息进行量化得到第一信息之后,需要对第一信息进行编码得到最终的码流,可选地,本申请实施例中所说的对第一信息进行编码的具体实现过程包括:
步骤1031,所述编码端对所述第一信息进行处理,获取第二信息,所述第二信息包括占位图和几何图中的至少一项;
步骤1032,所述编码端对所述第二信息进行编码。
需要说明的是,因第一信息中包含的信息的种类不同,在对第一信息进行处理时,会分别对不同类的信息进行单独处理,下面分别从不同信息的角度,对步骤1031的实现过程说明如下。
一、所述第一信息包括第一精度几何信息
可选地,此种情况下,步骤1031的具体实现过程,包括:
步骤10311,所述编码端对所述第一精度几何信息进行三维片划分;
需要说明的是,此种情况下,主要是将低精度几何信息进行片(Patch)划分,得到多个三维片;此步骤的具体实现方式为:编码端确定第一精度几何信息中包含的每个顶点的投影平面;编码端根据所述投影平面对所述第一精度几何信息中所包含的顶点进行片划分;编码端对所述第一精度几何信息中所包含的顶点进行聚类,得到划分后的每一片。也就是说,对于Patch划分的过程主要包括:首先估计每个顶点的法向量,选择平面法向量与顶点法向量之间的夹角最小的候选投影平面作为该顶点的投影平面;然后,根据投影平面对顶点进行初始划分,将投影平面相同且连通的顶点组成patch;最后,使用精细划分算法优化聚类结果,得到最终的三维片(3D patch)。
下面对由第一精度几何信息得到三维片的过程的具体实现进行详细说明如下。
首先估计每个点的法向量。切线平面和它对应的法线是根据每个点的最近的邻居顶点m在一个预定义的搜索距离定义的。K-D树用于分离数据,并在点pi附近找到相邻点,该集合的重心用于定义法线。重心c的计算方法如下:
公式三十二:
使用特征分解法估计顶点法向量,计算过程公式三十三所示:
公式三十三:
在初始划分阶段,初步选择每个顶点的投影平面。设顶点法向量的估计值为候选投影平面的法向量为选择法向量方向与顶点法向量方向最接近的平面作为该顶点的投影平面,平面选择的计算过程如公式三十四所示:
公式三十四:
精细划分过程可以采用基于网格的算法来降低算法的时间复杂度,基于网格的精细划分算法流程如图3所示,具体包括:
先设置循环次数(numlter)为0,判断循环次数是否小于最大循环次数(需要说明的是,该最大循环次数可以根据使用需求设置),若小于则执行下述过程:
步骤S301,将(x,y,z)几何坐标空间划分为体素。
需要说明的是,此处的几何坐标空间指的是由量化得到的第一精度几何信息所构成的几何坐标空间。例如,对于使用体素大小为8的10位Mesh,每个坐标上的体素数量将是1024/8=128,此坐标空间中的体素总数将是128×128×128。
步骤S302,查找填充体素,填充体素是指网格中包含至少有一个点的体素。
步骤S303,计算每个填充体素在每个投影平面上的平滑分数,记为voxScoreSmooth,体素在某投影平面的体素平滑分数是通过初始分割过程聚集到该投影平面的点的数量。
步骤S304,使用KD-Tree分区查找近邻填充体素,记为nnFilledVoxels,即每个填充体素(在搜索半径内和/或限制到最大数量的相邻体素)的最近的填充体素。
步骤S305,使用近邻填充体素在每个投影平面的体素平滑分数,计算每个填充体素的平滑分数(scoreSmooth),计算过程如公式三十五所示:
公式三十五:
其中,p是投影平面的索引,v是近邻填充体素的索引。一个体素中所有点的scoreSmooth是相同的。
步骤S306,使用顶点的法向量与候选投影平面的法向量计算法向分数,记为scoreNormal,计算过程如公式三十六所示:
公式三十六:scoreNormal[i][p]=normal[i]·orientation[p];
其中,p是投影平面的索引,i是顶点的索引。
步骤S307,使用scoreSmooth和scoreNormal计算每个体素在各个投影平面上的最终分数,计算过程如公式三十七所示:公式三十七:
其中,i为顶点索引,p为投影平面的索引,v是顶点i所在的体素索引。
步骤S308,使用步骤307中的分数对顶点进行聚类,得到精细划分的patch。
多次迭代上述过程,直到得到较为准确的patch。
步骤10312,所述编码端将划分的三维片进行二维投影,获取二维片;
需要说的是,此过程是将3D patch投影到二维平面得到二维片(2D patch)。
步骤10313,所述编码端将所述二维片进行打包,获取二维图像信息;
需要说明的是,此步骤实现的是片打包(Patch packing),Patch packing的目的是将将2D patch排列在一张二维图像上,Patch packing的基本原则是将patch不重叠的排列在二维图像上或者将patch的无像素部分进行部分重叠的排列在二维图像上,通过优先级排列、时域一致排列等算法,使patch排列的更加紧密,且具有时域一致性,提高编码性能。
假设,二维图像的分辨率为WxH,定义patch排列的最小块大小为T,它指定了放置在这个2D网格上的不同补丁之间的最小距离。
首先,patch按照不重叠的原则插入放置在2D网格上。每个patch占用由整数个TxT块组成的区域。此外,相邻patch之间要求至少有一个TxT块的距离。当没有足够的空间放置下一个patch时,图像的高度将变成原来的2倍,然后继续放置patch。
为了使patch排列的更加紧密,patch可以选择多种不同的排列方向。例如,可以采用八种不同的排列方向,如图4所示,包括0度、180度、90度、270度以及前四种方向的镜像。
为了获得更好的适应视频编码器帧间预测的特性,采用一种具有时域一致性的Patch排列方法。在一个GOF(Group of frame,框架组)中,第一帧的所有patch按照从大到小的顺序依次排列。对于GOF中的其他帧,使用时域一致性算法调整patch的排列顺序。
这里还需要说明的是,在得到二维图像信息后便能根据获取二维图像信息过程中的信息得到patch信息,之后便可以进行片信息的编码,获取片信息子码流;
这里需要说明的是,在进行二维图像信息过程中需要记录patch划分的信息、patch投影平面的信息以及patch packing位置的信息,所以patch信息记录的是获取二维图像过程中各步骤操作的信息,即patch信息包括:patch划分的信息、patch投影平面的信息以及patch packing位置的信息。
步骤10314,所述编码端根据所述二维图像信息,获取第一精度的占位图和第一精度的几何图;
需要说的是,对于获取占位图的过程,主要为:利用patch packing得到的patch排列信息,将二维图像中存在顶点的位置设为1,其余位置设为0,得到占位图。对于获取几何图的过程,主要为:在通过投影得到2D patch的过程中,保存了每个顶点到投影平面的距离,这个距离称为深度,低精度几何图压缩部分就是将2D patch中每个顶点的深度值,排列到该顶点在占位图中的位置上,得到低精度几何图。
二、所述第一信息包括第二精度几何信息
可选地,此种情况下,步骤1031的具体实现过程,包括:
步骤10315,所述编码端获取第一精度几何信息中所包含的顶点的排列顺序;
步骤10316,所述编码端将第一精度几何信息中所包含的顶点对应的第二精度几何信息排列在二维图像中,生成第二精度的几何图。
需要说明的是,高精度几何信息采用原始片(raw patch)的排列方式,将低精度几何图中的顶点对应的高精度几何信息排列在二维图像中,得到raw patch,以此便生成高精度几何图。主要分为三步,如图5所示,包括:
步骤501,获取顶点排列顺序,逐行从左向右扫描低精度几何图,将每个顶点的扫描顺序作为raw patch中顶点的排列顺序。
步骤502,生成raw patch。
需要说明的是,raw patch是将顶点的三维坐标按照如图5所示的方式逐行排列,形成的矩形patch。按照第一步中得到的顶点排列顺序,将顶点的高精度几何信息依次排列,得到高精度几何信息raw patch。
步骤503,将高精度几何信息放置在一张二维图像中,生成高精度几何图。
需要说明的是,在编码得到几何图子码流时,编码端是将对第一精度的几何图和第二精度的几何图进行编码,获取几何图子码流。
三、所述第一信息包括补充点的信息
可选地,此种情况下,步骤1031的具体实现过程,包括:
步骤10317,所述编码端将所述补充点的第三精度几何信息排列成第一原始片;
步骤10318,所述编码端按照与所述第一原始片相同的排列顺序,将所述补充点的第四精度几何信息排列成第二原始片;
步骤10319,所述编码端对所述第一原始片和所述第二原始片进行压缩,获取补充点的几何图。
需要说明的是,本申请实施例中对于补充点的几何信息分为的低精度部分和高精度部分分别进行编码。首先,按照任意顺序将补充点的低精度几何信息排列成补充点低精度raw patch(原始片);然后,按照与补充点低精度raw patch相同的顺序将高精度几何信息排列成补充点高精度raw patch;最后,对补充点低精度raw patch和高精度raw patch进行压缩,可以采用多种压缩方法。其中,一种方法是对raw patch中的值进行游程编码、熵编码等方式编码,另一种方法是,将补充点低精度raw patch加入低精度几何图中的空白区域,将补充点高精度raw patch加入高精度几何图中的空白区域,得到补充点的几何图。
本申请实施例的基于视频的三维网格的编码框架如图7所示,总体编码流程为:
在编码端首先对网格进行网格简化的操作,在尽量保持网格结构的情况下减少网格顶点和边的数量。再对已简化网格的几何信息进行量化,由此可能会得到低精度的几何信息、高精度的几何信息以及补充点的信息三部分。对于低精度几何信息,采用投影的方式进行patch划分、patch排列生成patch序列压缩信息(patch的划分信息)、占位图和低精度几何图;对于可能存在的高精度几何信息可以采用raw patch的排列方式,生成高精度几何图(这里需要说明的是,可以对高精度几何图单独编码成一路码流,或者,也可以将高精度几何图填充进低精度几何图中,对低精度几何图进行编码得到一路码流);对于可能存在的补充点,可以将补充点的几何信息分为低精度部分和高精度部分,分别进行raw patch排列,单独编码成一路码流,或者将raw patch加入几何图中;最后,编码patch序列压缩信息、占位图、几何图分别得到对应的子码流。将得到的子码流进行混流,一方面准备将其与连接性关系码流及其他码流进行进一步混流得到最终的输出码流;一方面将几何信息码流进行解码重建出几何信息来作为连接性关系编码的辅助信息,更新原始网格的连接关系后再对更新后的连接信息进行编码,将得到的连接关系码流与几何信息和其他需要编码的属性信息码流进行混流得到最终的输出码流。
需要说明的是,本申请使用基于视频的编码方法来编码Mesh顶点的坐标信息,将顶点的坐标投影至二维平面从而使用视频编码器对Mesh的顶点坐标信息进行编码;在基于视频的Mesh编码方法中加入Mesh简化的方式来降低Mesh的数据量,并采用量化方式生成了低精度的几何信息、高精度的几何信息、补充点的信息,然后分别对这三类信息进行编码;本申请在量化前加入Mesh简化,简化中考虑量化,量化中有简化;本申请针对有损编码模式;能够有效减少数据量。
本申请实施例提供的编码方法,执行主体可以为编码装置。本申请实施例中以编码装置执行信息传输方法为例,说明本申请实施例提供的编码装置。
如图8所示,本申请实施例提供一种编码装置800,包括:
第一获取模块801,用于对目标三维网格进行简化处理,获取简化网格;
第二获取模块802,用于对所述简化网格的几何信息进行量化,获取第一信息,所述第一信息包括以下至少一项:第一精度几何信息、第二精度几何信息、补充点的信息;
第一编码模块803,用于对所述第一信息以及重建网格的连接信息进行编码;
其中,所述重建网格基于所述第一信息确定,所述第一精度几何信息为所述目标三维网格量化后的几何信息,所述第二精度几何信息为所述目标三维网格量化过程中丢失的几何信息,所述补充点的信息为量化过程中产生的需要额外处理的点的信息。
可选地,所述重建网格的连接信息的获取方式,包括:
根据所述第一信息的编码信息进行几何重建;
根据重建后的几何信息以及所述简化网格,进行网格重建,获取重建网格;
根据所述重建网格,获取所述重建网格的连接信息。
可选地,所述第一获取模块801,用于:
基于量化参数,对所述目标三维网格进行简化处理,获取简化网格。
可选地,所述第一获取模块801,用于:
在进行所述目标三维网格中的顶点合并时,将所述目标三维网格中顶点合并后的部分或全部顶点的位置调整为量化参数的倍数,获取简化网格。
可选地,所述装置,还包括:
第三获取模块,用于获取重建网格的属性信息;
第二编码模块,用于对所述属性信息进行编码。
可选地,所述第二获取模块802,用于:
根据每一分量的量化参数,对所述简化网格中的每一顶点进行量化,获取第一精度几何信息。
可选地,所述第二获取模块802,还用于:
根据所述第一精度几何信息以及所述每一分量的量化参数,获取第二精度几何信息。
可选地,所述第二获取模块802,还用于:
根据所述简化网格的几何信息和所述第一精度几何信息,确定补充点的信息。
可选地,所述补充点的信息,包括以下至少一项:
补充点对应的第一精度几何信息中顶点的索引;
补充点的第三精度几何信息,所述第三精度几何信息为补充点被量化后的三维坐标信息;
补充点的第四精度几何信息,所述第四精度几何信息为补充点在被量化过程中丢失的三维坐标信息。
可选地,所述第一编码模块803,包括:
获取单元,用于对所述第一信息进行处理,获取第二信息,所述第二信息包括占位图 和几何图中的至少一项;
编码单元,用于所述编码端对所述第二信息进行编码。
可选地,在所述第一信息包括第一精度几何信息的情况下,所述获取单元,用于:
对所述第一精度几何信息进行三维片划分;
将划分的三维片进行二维投影,获取二维片;
将所述二维片进行打包,获取二维图像信息;
根据所述二维图像信息,获取第一精度的占位图和第一精度的几何图。
可选地,在所述第一信息包括第二精度几何信息的情况下,所述获取单元,用于:
获取第一精度几何信息中所包含的顶点的排列顺序;
将第一精度几何信息中所包含的顶点对应的第二精度几何信息排列在二维图像中,生成第二精度的几何图。
可选地,所述编码单元,用于:
对第一精度的几何图和第二精度的几何图进行编码,获取几何图子码流。
可选地,在所述第一信息包括补充点的信息的情况下,所述获取单元,用于:
将所述补充点的第三精度几何信息排列成第一原始片;
按照与所述第一原始片相同的排列顺序,将所述补充点的第四精度几何信息排列成第二原始片;
对所述第一原始片和所述第二原始片进行压缩,获取补充点的几何图。
该装置实施例与上述方法实施例对应,上述方法实施例的各个实施过程和实现方式均可适用于该装置实施例中,且能达到相同的技术效果。
具体地,本申请实施例还提供了一种编码设备。如图9所示,该编码设备900包括:处理器901、网络接口902和存储器903。其中,网络接口902例如为通用公共无线接口(common public radio interface,CPRI)。
具体地,本发明实施例的网络功能900还包括:存储在存储器903上并可在处理器901上运行的指令或程序,处理器901调用存储器903中的指令或程序执行图8所示各模块执行的方法,并达到相同的技术效果,为避免重复,故不在此赘述。
可选的,如图10所示,本申请实施例还提供一种通信设备1000,包括处理器1001和存储器1002,存储器1002上存储有可在所述处理器1001上运行的程序或指令,例如,该通信设备1000为编码设备时,该程序或指令被处理器1001执行时实现上述编码方法实施例的各个步骤,且能达到相同的技术效果,为避免重复,这里不再赘述。
本申请实施例另提供了一种芯片,所述芯片包括处理器和通信接口,所述通信接口和所述处理器耦合,所述处理器用于运行程序或指令,实现上述编码方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
应理解,本申请实施例提到的芯片还可以称为系统级芯片,系统芯片,芯片系统或片上系统芯片等。
本申请实施例另提供了一种计算机程序/程序产品,所述计算机程序/程序产品被存储在存储介质中,所述计算机程序/程序产品被至少一个处理器执行以实现上述感知方法或感知配置方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
本申请实施例还提供了一种通信系统,至少包括:编码设备,所述编码设备可用于执行如上所述的编码方法的步骤。且能达到相同的技术效果,为避免重复,这里不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。此外,需要指出的是,本申请实施方式中的方法和装置的范围不限按示出或讨论的顺序来执行功能,还可包括根据所涉及的功能按基本同时的方式或按相反的顺序来执行功能,例如,可以按不同于所描述的次序来执行所描述的方法,并且还可以添加、省去、或组合各种步骤。另外,参照某些示例所描述的特征可在其他示例中被组合。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对相关技术做出贡献的部分可以以计算机软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本申请各个实施例所述的方法。
上面结合附图对本申请的实施例进行了描述,但是本申请并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本申请的启示下,在不脱离本申请宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本申请的保护之内。

Claims (30)

  1. 一种编码方法,包括:
    编码端对目标三维网格进行简化处理,获取简化网格;
    所述编码端对所述简化网格的几何信息进行量化,获取第一信息,所述第一信息包括以下至少一项:第一精度几何信息、第二精度几何信息、补充点的信息;
    所述编码端对所述第一信息以及重建网格的连接信息进行编码;
    其中,所述重建网格基于所述第一信息确定,所述第一精度几何信息为所述目标三维网格量化后的几何信息,所述第二精度几何信息为所述目标三维网格量化过程中丢失的几何信息,所述补充点的信息为量化过程中产生的需要额外处理的点的信息。
  2. 根据权利要求1所述的方法,其中,所述重建网格的连接信息的获取,包括:
    所述编码端根据所述第一信息的编码信息进行几何重建;
    所述编码端根据重建后的几何信息以及所述简化网格,进行网格重建,获取重建网格;
    所述编码端根据所述重建网格,获取所述重建网格的连接信息。
  3. 根据权利要求1所述的方法,其中,在所述对目标三维网格进行简化处理,获取简化网格,包括:
    所述编码端基于量化参数,对所述目标三维网格进行简化处理,获取简化网格。
  4. 根据权利要求3所述的方法,其中,所述基于量化参数,对所述目标三维网格进行简化处理,获取简化网格,包括:
    所述编码端在进行所述目标三维网格中的顶点合并时,将所述目标三维网格中的顶点合并后的部分或全部顶点的位置调整为量化参数的倍数,获取简化网格。
  5. 根据权利要求1所述的方法,其中,还包括:
    所述编码端获取重建网格的属性信息;
    所述编码端对所述属性信息进行编码。
  6. 根据权利要求1所述的方法,其中,所述对所述简化网格的几何信息进行量化,获取第一信息,包括:
    所述编码端根据每一分量的量化参数,对所述简化网格中的每一顶点进行量化,获取第一精度几何信息。
  7. 根据权利要求6所述的方法,其中,所述对所述简化网格的几何信息进行量化,获取第一信息,还包括:
    所述编码端根据所述第一精度几何信息以及所述每一分量的量化参数,获取第二精度几何信息。
  8. 根据权利要求6所述的方法,其中,所述对所述简化网格的几何信息进行量化,获取第一信息,还包括:
    所述编码端根据所述简化网格的几何信息和所述第一精度几何信息,确定补充点的信息。
  9. 根据权利要求1-8任一项所述的方法,其中,所述补充点的信息,包括以下至少一项:
    补充点对应的第一精度几何信息中顶点的索引;
    补充点的第三精度几何信息,所述第三精度几何信息为补充点被量化后的三维坐标信息;
    补充点的第四精度几何信息,所述第四精度几何信息为补充点在被量化过程中丢失的三维坐标信息。
  10. 根据权利要求1所述的方法,其中,对所述第一信息进行编码,包括:
    所述编码端对所述第一信息进行处理,获取第二信息,所述第二信息包括占位图和几何图中的至少一项;
    所述编码端对所述第二信息进行编码。
  11. 根据权利要求10所述的方法,其中,在所述第一信息包括第一精度几何信息的情况下,所述对所述第一信息进行处理,获取第二信息,包括:
    所述编码端对所述第一精度几何信息进行三维片划分;
    所述编码端将划分的三维片进行二维投影,获取二维片;
    所述编码端将所述二维片进行打包,获取二维图像信息;
    所述编码端根据所述二维图像信息,获取第一精度的占位图和第一精度的几何图。
  12. 根据权利要求10所述的方法,其中,在所述第一信息包括第二精度几何信息的情况下,所述对所述第一信息进行处理,获取第二信息,包括:
    所述编码端获取第一精度几何信息中所包含的顶点的排列顺序;
    所述编码端将第一精度几何信息中所包含的顶点对应的第二精度几何信息排列在二维图像中,生成第二精度的几何图。
  13. 根据权利要求10所述的方法,其中,所述对所述第二信息进行编码,包括:
    所述编码端对第一精度的几何图和第二精度的几何图进行编码,获取几何图子码流。
  14. 根据权利要求10所述的方法,其中,在所述第一信息包括补充点的信息的情况下,所述对所述第一信息进行处理,获取第二信息,包括:
    所述编码端将所述补充点的第三精度几何信息排列成第一原始片;
    所述编码端按照与所述第一原始片相同的排列顺序,将所述补充点的第四精度几何信息排列成第二原始片;
    所述编码端对所述第一原始片和所述第二原始片进行压缩,获取补充点的几何图。
  15. 一种编码装置,包括:
    第一获取模块,用于对目标三维网格进行简化处理,获取简化网格;
    第二获取模块,用于对所述简化网格的几何信息进行量化,获取第一信息,所述第一信息包括以下至少一项:第一精度几何信息、第二精度几何信息、补充点的信息;
    第一编码模块,用于对所述第一信息以及重建网格的连接信息进行编码;
    其中,所述重建网格基于所述第一信息确定,所述第一精度几何信息为所述目标三维网格量化后的几何信息,所述第二精度几何信息为所述目标三维网格量化过程中丢失的几何信息,所述补充点的信息为量化过程中产生的需要额外处理的点的信息。
  16. 根据权利要求15所述的装置,其中,所述重建网格的连接信息的获取方式,包括:
    根据所述第一信息的编码信息进行几何重建;
    根据重建后的几何信息以及所述简化网格,进行网格重建,获取重建网格;
    根据所述重建网格,获取所述重建网格的连接信息。
  17. 根据权利要求15所述的装置,其中,所述第一获取模块,用于:
    基于量化参数,对所述目标三维网格进行简化处理,获取简化网格。
  18. 根据权利要求17所述的装置,其中,所述第一获取模块,用于:
    在进行所述目标三维网格中的顶点合并时,将所述目标三维网格中顶点合并后的部分或全部顶点的位置调整为量化参数的倍数,获取简化网格。
  19. 根据权利要求15所述的装置,其中,还包括:
    第三获取模块,用于获取重建网格的属性信息;
    第二编码模块,用于对所述属性信息进行编码。
  20. 根据权利要求15所述的装置,其中,所述第二获取模块,用于:
    根据每一分量的量化参数,对所述简化网格中的每一顶点进行量化,获取第一精度几何信息。
  21. 根据权利要求20所述的装置,其中,所述第二获取模块,还用于:
    根据所述第一精度几何信息以及所述每一分量的量化参数,获取第二精度几何信息。
  22. 根据权利要求20所述的装置,其中,所述第二获取模块,还用于:
    根据所述简化网格的几何信息和所述第一精度几何信息,确定补充点的信息。
  23. 根据权利要求15-22任一项所述的装置,其中,所述补充点的信息,包括以下至少一项:
    补充点对应的第一精度几何信息中顶点的索引;
    补充点的第三精度几何信息,所述第三精度几何信息为补充点被量化后的三维坐标信息;
    补充点的第四精度几何信息,所述第四精度几何信息为补充点在被量化过程中丢失的三维坐标信息。
  24. 根据权利要求15所述的装置,其中,所述第一编码模块,包括:
    获取单元,用于对所述第一信息进行处理,获取第二信息,所述第二信息包括占位图和几何图中的至少一项;
    编码单元,用于所述编码端对所述第二信息进行编码。
  25. 根据权利要求24所述的装置,其中,在所述第一信息包括第一精度几何信息的情况下,所述获取单元,用于:
    对所述第一精度几何信息进行三维片划分;
    将划分的三维片进行二维投影,获取二维片;
    将所述二维片进行打包,获取二维图像信息;
    根据所述二维图像信息,获取第一精度的占位图和第一精度的几何图。
  26. 根据权利要求24所述的装置,其中,在所述第一信息包括第二精度几何信息的情况下,所述获取单元,用于:
    获取第一精度几何信息中所包含的顶点的排列顺序;
    将第一精度几何信息中所包含的顶点对应的第二精度几何信息排列在二维图像中,生成第二精度的几何图。
  27. 根据权利要求24所述的装置,其中,所述编码单元,用于:
    对第一精度的几何图和第二精度的几何图进行编码,获取几何图子码流。
  28. 根据权利要求24所述的装置,其中,在所述第一信息包括补充点的信息的情况下,所述获取单元,用于:
    将所述补充点的第三精度几何信息排列成第一原始片;
    按照与所述第一原始片相同的排列顺序,将所述补充点的第四精度几何信息排列成第二原始片;
    对所述第一原始片和所述第二原始片进行压缩,获取补充点的几何图。
  29. 一种编码设备,包括处理器和存储器,所述存储器存储可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如权利要求1至14任一项所述的编码方法的步骤。
  30. 一种可读存储介质,所述可读存储介质上存储程序或指令,所述程序或指令被处理器执行时实现如权利要求1至14任一项所述的编码方法的步骤。
PCT/CN2023/075950 2022-02-18 2023-02-14 编码方法、装置及设备 WO2023155778A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202210153272.X 2022-02-18
CN202210153272.XA CN116664754A (zh) 2022-02-18 2022-02-18 编码方法、装置及设备

Publications (1)

Publication Number Publication Date
WO2023155778A1 true WO2023155778A1 (zh) 2023-08-24

Family

ID=87577538

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2023/075950 WO2023155778A1 (zh) 2022-02-18 2023-02-14 编码方法、装置及设备

Country Status (2)

Country Link
CN (1) CN116664754A (zh)
WO (1) WO2023155778A1 (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101626509A (zh) * 2009-08-10 2010-01-13 北京工业大学 三维网格编码、解码方法及编码、解码装置
CN102625126A (zh) * 2012-03-22 2012-08-01 北京工业大学 一种基于预测的三维网格编码方法
US20200151952A1 (en) * 2018-11-08 2020-05-14 Adobe Inc. Three-dimensional mesh deformation using deep learning neural networks
CN112509102A (zh) * 2020-12-02 2021-03-16 国网江西省电力有限公司建设分公司 Bim模型数据的轻量可视化方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101626509A (zh) * 2009-08-10 2010-01-13 北京工业大学 三维网格编码、解码方法及编码、解码装置
CN102625126A (zh) * 2012-03-22 2012-08-01 北京工业大学 一种基于预测的三维网格编码方法
US20200151952A1 (en) * 2018-11-08 2020-05-14 Adobe Inc. Three-dimensional mesh deformation using deep learning neural networks
CN112509102A (zh) * 2020-12-02 2021-03-16 国网江西省电力有限公司建设分公司 Bim模型数据的轻量可视化方法

Also Published As

Publication number Publication date
CN116664754A (zh) 2023-08-29

Similar Documents

Publication Publication Date Title
CN108335335B (zh) 一种基于增强图变换的点云属性压缩方法
Morell et al. Geometric 3D point cloud compression
TWI502547B (zh) 行星尺度之物件繪製之方法及裝置
KR100714652B1 (ko) 단위 화상 영역 조절 방법, 중요도 정보 보존 시스템 및 컴퓨터 판독 가능 기록 매체
CN103927746B (zh) 一种三维网格序列的配准及压缩方法
DE112022003721T5 (de) Mikro-netze, eine strukturierte geometrie für computergrafik
JP2012068881A (ja) 3次元動画像の圧縮に用いる基本単位及び当該基本単位の生成方法、当該基本単位を用いた3次元動画像の圧縮方法
CN114782564B (zh) 一种点云的压缩方法、装置、电子设备及存储介质
KR20230060534A (ko) 2차원 정규화 평면 투사에 기초한 포인트 클라우드 인코딩 및 디코딩 방법과 장치
WO2023155778A1 (zh) 编码方法、装置及设备
WO2023155794A1 (zh) 编码、解码方法、装置及设备
WO2023179710A1 (zh) 编码方法及终端
WO2023174337A1 (zh) 编码、解码方法、装置及设备
WO2023179706A1 (zh) 编码方法、解码方法及终端
WO2023179705A1 (zh) 编码、解码方法、装置及设备
WO2023197990A1 (zh) 编码方法、解码方法及终端
Zhang et al. CURL: Continuous, Ultra-compact Representation for LiDAR
WO2023174334A1 (zh) 编码、解码方法、装置及设备
Marvie et al. Coding of dynamic 3D meshes
WO2023174336A1 (zh) 编码、解码方法、装置及设备
WO2023231872A1 (zh) 编码方法、解码方法、装置及设备
CN116843771A (zh) 编码方法、解码方法及终端
Dong et al. 3D model progressive compression algorithm using attributes
Abderrahim et al. Progressive compression of 3D objects with an adaptive quantization
WO2023097694A1 (zh) 解码方法、编码方法、解码器以及编码器

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 23755780

Country of ref document: EP

Kind code of ref document: A1