WO2023174334A1 - Encoding method and apparatus, decoding method and apparatus, and device - Google Patents

Encoding method and apparatus, decoding method and apparatus, and device Download PDF

Info

Publication number
WO2023174334A1
WO2023174334A1 PCT/CN2023/081637 CN2023081637W WO2023174334A1 WO 2023174334 A1 WO2023174334 A1 WO 2023174334A1 CN 2023081637 W CN2023081637 W CN 2023081637W WO 2023174334 A1 WO2023174334 A1 WO 2023174334A1
Authority
WO
WIPO (PCT)
Prior art keywords
vertices
information
repeated
vertex
dimensional
Prior art date
Application number
PCT/CN2023/081637
Other languages
French (fr)
Chinese (zh)
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 WO2023174334A1 publication Critical patent/WO2023174334A1/en

Links

Classifications

    • 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/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/20Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video object coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding

Definitions

  • This application belongs to the field of coding and decoding technology, and specifically relates to a coding and decoding method, device and equipment.
  • Three-dimensional mesh can be considered the most popular representation method of three-dimensional models in the past many years, and it plays an important role in many applications. Its expression is simple, so it is widely integrated into the Graphic Processing Unit (GPU) of computers, tablets and smartphones with hardware algorithms, specifically used to render three-dimensional meshes.
  • GPU Graphic Processing Unit
  • Embodiments of the present application provide an encoding and decoding method, device and equipment, which can solve the problem of low encoding and decoding efficiency when encoding a three-dimensional grid with repeated points.
  • the first aspect provides an encoding method, including:
  • the encoding end screens the repeated vertices in the target three-dimensional grid and obtains the first grid geometric information and the information of the repeated vertices, where the first grid geometric information is the grid geometric information excluding repeated vertices;
  • the encoding end encodes the first mesh geometric information and the information of the repeated vertices respectively;
  • the repeated vertices are vertices other than the first vertex among the plurality of vertices with the same position coordinates, and the first vertex is one of the plurality of vertices with the same position coordinates.
  • an encoding device including:
  • a screening module used to screen repeated vertices in the target three-dimensional grid, and obtain first grid geometric information and information of repeated vertices, where the first grid geometric information is grid geometric information excluding repeated vertices;
  • An encoding module configured to encode the first mesh geometric information and the information of the repeated vertices respectively;
  • the repeated vertices are vertices other than the first vertex among the plurality of vertices with the same position coordinates, and the first vertex is one of the plurality of vertices with the same position coordinates.
  • the third aspect provides a decoding method, including:
  • the decoding end decomposes the code stream corresponding to the acquired target three-dimensional grid, and obtains the information of repeated vertices and the first grid geometry information, where the first grid geometry information is grid geometry information excluding repeated vertices;
  • the decoding end obtains the target three-dimensional mesh based on the information of the repeated vertices and the first mesh geometry information
  • the repeated vertices are vertices other than the first vertex among the plurality of vertices with the same position coordinates, and the first vertex is one of the plurality of vertices with the same position coordinates.
  • a decoding device including:
  • the first acquisition module is used to decompose the code stream corresponding to the acquired target three-dimensional grid, and obtain the information of repeated vertices and the first grid geometry information.
  • the first grid geometry information is a grid that does not include repeated vertices. geometric information;
  • a second acquisition module configured to acquire the target three-dimensional mesh according to the information of the repeated vertices and the first mesh geometry information
  • the repeated vertices are vertices other than the first vertex among the plurality of vertices with the same position coordinates, and the first vertex is one of the plurality of vertices with the same position coordinates.
  • a coding device including a processor and a memory.
  • the memory stores programs or instructions that can be run on the processor. When the program or instructions are executed by the processor, the first The steps of the method described in this aspect.
  • a coding device including a processor and a communication interface, wherein the processor is used to screen repeated vertices in the target three-dimensional grid and obtain the first grid geometric information and the information of the repeated vertices,
  • the first mesh geometric information is mesh geometric information that does not include repeated vertices; the first mesh geometric information and the information of the repeated vertices are encoded respectively;
  • the repeated vertices are vertices other than the first vertex among the plurality of vertices with the same position coordinates, and the first vertex is one of the plurality of vertices with the same position coordinates.
  • a decoding device including a processor and a memory.
  • the memory stores programs or instructions that can be run on the processor.
  • the program or instructions are executed by the processor, the third process is implemented. The steps of the method described in this aspect.
  • a decoding device including a processor and a communication interface, wherein the processor is used to decompose the obtained code stream corresponding to the target three-dimensional grid, and obtain the information of repeated vertices and the first grid geometry.
  • Information the first mesh geometry information is mesh geometry information that does not include repeated vertices; according to the information of the repeated vertices and the first mesh geometry information, the target three-dimensional mesh is obtained;
  • the repeated vertices are vertices other than the first vertex among the plurality of vertices with the same position coordinates, and the first vertex is one of the plurality of vertices with the same position coordinates.
  • a communication system including: an encoding device and a decoding device.
  • the encoding device can be used to perform the steps of the method described in the first aspect
  • the decoding device can be used to perform the steps of the method described in the third aspect. steps of the method.
  • a readable storage medium is provided. Programs or instructions are stored on the readable storage medium. When the programs or instructions are executed by a processor, the steps of the method described in the first aspect are implemented, or the steps of the method are implemented as described in the first aspect. The steps of the method described in the third aspect.
  • a chip in an eleventh aspect, includes a processor and a communication interface.
  • the communication interface is coupled to the processor.
  • the processor is used to run programs or instructions to implement the method described in the first aspect. method, or implement a method as described in the third 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 first aspect or the second aspect.
  • the mesh geometric information without repeated vertices and the information of the repeated vertices are respectively encoded, so that the mesh geometric information can be losslessly processed.
  • the mesh geometric information can be losslessly processed.
  • Figure 1 is a schematic flow chart of the encoding method according to the embodiment of the present application.
  • Figure 2 is a schematic diagram of the fine division process based on grid
  • Figure 3 is a schematic diagram of the eight directions of patch arrangement
  • Figure 4 is a schematic diagram of the video-based three-dimensional grid geometric information encoding framework
  • Figure 5 is a module schematic diagram of the encoding device according to the embodiment of the present application.
  • Figure 6 is a schematic structural diagram of an encoding device according to an embodiment of the present application.
  • Figure 7 is a schematic flow chart of the decoding method according to the embodiment of the present application.
  • Figure 8 is a block diagram of geometric information reconstruction
  • Figure 9 is a schematic diagram of the video-based three-dimensional grid geometric information decoding framework
  • Figure 10 is a schematic module diagram of a decoding device according to an embodiment of the present application.
  • Figure 11 is a schematic structural diagram of a communication device according to an embodiment of the present application.
  • first, second, etc. in the description and claims of this application are used to distinguish similar objects and are not used to describe a specific order or sequence. It is to be understood that the terms so used are interchangeable under appropriate circumstances so that the embodiments of the present application can be practiced in sequences other than those illustrated or described herein, and that "first" and “second” are distinguished objects It is usually a category, and the number of objects is not limited.
  • the first object can be one, or Can be multiple.
  • “and/or” in the description and claims indicates at least one of the connected objects, and the character “/" generally indicates that the related objects are in an "or” relationship.
  • LTE Long Term Evolution
  • LTE-Advanced, LTE-A Long Term Evolution
  • LTE-A Long Term Evolution
  • 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
  • NR New Radio
  • Three-dimensional models have become a new generation of digital media after audio, images, and videos.
  • Three-dimensional mesh and point cloud are two commonly used three-dimensional model representation methods.
  • 3D mesh models are more interactive and realistic, making them useful in various fields such as commerce, manufacturing, construction, education, medicine, entertainment, art, and military. has been increasingly widely used.
  • 3D mesh models obtained through 3D scanning equipment or 3D modeling software
  • the size and complexity of data are also growing rapidly. Therefore, how to efficiently compress 3D mesh data is the key to realizing convenient transmission, storage and processing of 3D mesh data.
  • a three-dimensional mesh often contains three main types of information: topological information, geometric information and attribute information.
  • Topological information is used to describe the connection relationship between elements such as vertices and patches in the mesh; geometric information is the three-dimensional coordinates of all vertices in the mesh; attribute information records other information attached to the mesh, such as normal vectors, Texture coordinates and colors, etc.
  • Some traditional general data compression methods can reduce a certain amount of 3D grid data, due to the particularity of 3D grid data, directly using these compression methods to compress 3D grid data often cannot achieve ideal results. Therefore, the compression of three-dimensional mesh data faces new challenges.
  • geometric data often takes up more storage space than topological data. Efficient compression of geometric data will be of extremely important significance in reducing the storage space of three-dimensional grid data. Therefore, the compression of three-dimensional mesh geometric information has become a research focus.
  • the 3D mesh geometric information compression algorithm can use the 3D geometric information compression algorithm of point cloud.
  • V-PCC Video-based Point Cloud Compression
  • G-PCC Geometry-based Point Cloud Compression
  • V-PCC The main idea of V-PCC is to project the geometric and attribute information of the point cloud into a two-dimensional video, using existing video coding Technology compresses two-dimensional videos to achieve the purpose of compressing point clouds.
  • the geometric coding of V-PCC is achieved by projecting geometric information into placeholder video and geometric video, and using a video encoder to encode the two videos respectively.
  • the process of V-PCC geometric information encoding mainly includes: first generating a three-dimensional patch (3-dimension patch, 3D patch), which refers to a set of vertices with the same and connected projection plane in the point cloud.
  • the current method of generating 3D patches is to use nearby points to estimate the normal vector of each vertex, calculate the projection plane of each vertex based on the normal vector of each point and the normal vector of the preset plane, and connect the connected vertices with the same projection plane Make up a patch.
  • the 3D patch is projected onto a two-dimensional (2D) plane to form a 2D patch, and the 2D patches are arranged on a two-dimensional image. This process is called patch packing.
  • a placeholder map is an image that represents the placeholder information of vertices in a two-dimensional image.
  • the position value of the vertex projection in the placeholder map is 1, and the other position values are 0.
  • a placeholder image is generated. What is stored in the geometric graph is the distance from each vertex to the projection plane. The depth information of each vertex can be directly calculated using the three-dimensional coordinates of the vertex, the projection plane of the vertex and the placeholder map, thereby generating a geometric map.
  • Image filling methods include "push-pull" background filling algorithm, filling method based on sparse linear model (Sparse Linear Model), harmonic background filling (Harmonic Background Filling) and other methods.
  • the final geometric map is obtained.
  • the existing video encoder is used to compress the placeholder map and geometric map to obtain the video code stream.
  • the placeholder video code stream, the geometric video code stream, and the sub-code stream containing patch information are synthesized into the final total code stream.
  • this embodiment of the present application provides an encoding method, including:
  • Step 101 The encoding end screens the repeated vertices in the target three-dimensional grid and obtains the first grid geometric information and the information of the repeated vertices.
  • the first grid geometric information is the grid geometric information excluding repeated vertices;
  • the target three-dimensional grid mentioned in this application can be understood as the three-dimensional grid corresponding to any video frame. What this application involves is the screening of repeated vertices in the geometric information of the target three-dimensional grid.
  • the target The geometric information of the three-dimensional grid can be understood as the position coordinates of the vertices in the three-dimensional grid, and the position coordinates usually refer to the three-dimensional coordinates.
  • the repeated vertices are vertices other than the first vertex among the plurality of vertices with the same position coordinates, and the first vertex is one of the plurality of vertices with the same position coordinates.
  • the The first vertex is the first vertex in the vertex list among multiple vertices with the same position coordinates.
  • Step 102 The encoding end encodes the first mesh geometric information and the information of the repeated vertices respectively;
  • the first mesh geometric information and the information of the repeated vertices can be encoded to obtain the corresponding sub-code stream.
  • the above scheme is based on the target three-dimensional
  • the repeated vertices of the mesh are screened, and the geometric information of the mesh without repeated vertices and the information of repeated vertices are separately processed.
  • Line encoding can improve the coding efficiency of geometric information when lossless encoding and decoding of mesh geometric information.
  • the information of the repeated vertex includes:
  • the three-dimensional coordinates of the vertices of the input grid are traversed to find vertices with repeated positions. Filter out the duplicate vertices in the vertex list to obtain mesh geometry information that does not contain duplicate vertices.
  • Filter out the duplicate vertices in the vertex list to obtain mesh geometry information that does not contain duplicate vertices.
  • the recorded information is the information of the duplicate vertices.
  • the information of repeated vertices can be represented and encoded in different forms, which may include but is not limited to at least one of the following:
  • the index value of the vertex in the first grid geometry information is identified as whether there are duplicate vertices at the position corresponding to the vertex and/or the number of duplicate vertices;
  • the index value of the vertex in the first mesh geometry information is used to identify the repeating vertex, that is, through the index value corresponding to the vertex, it can be known whether there are other repeating vertices on the vertex. If a vertex has other repeating vertices, the number of repeating vertices can also be determined based on the index value of the vertex.
  • the number of duplicate vertices at a position in the grid information is probably 2, using 0 indicates that there are no duplicate vertices at this position, and using 1 indicates that there are duplicate vertices at this position.
  • the index value of the vertex in the non-duplicate vertex geometry information can be directly encoded and treated as a special case.
  • encoding methods such as run-length coding and entropy coding can be used to encode the information of repeated vertices.
  • the pixel value of the position where there are repeated vertices in the target three-dimensional grid in the placeholder map corresponding to the first grid geometry information is determined based on the number of repeated vertices;
  • the value of the position where the repeated vertices exist in the placeholder map corresponding to the first mesh geometry information is represented based on the number of repeated vertices.
  • the binary 01 value can not be used to represent the placeholder in the placeholder map in the process of encoding the mesh geometry information without repeated vertices, but the placeholder map can be generated based on the number of repeated vertices.
  • the value of the position of the repeated vertex For example, you can use the number of repeated vertices plus one to indicate the value of the position where there are repeated vertices in the placeholder map. At this time, if the value of a certain position in the placeholder map is greater than 1, which means that there are duplicate vertices corresponding to this position, and subtracting one from the value can get the number of duplicate vertices at this position.
  • A23 Use different bits to represent the index of the first vertex corresponding to the repeated vertex and the number of repeated vertices
  • the information of the repeated vertices is directly represented by the index of the repeated vertex in the mesh geometry information that does not exist and the number of repeated vertices.
  • n bits are used to represent the index
  • m bits are used to represent the number of repeated vertices. That is, using n+m binary numbers to represent information on a repeated vertex position.
  • the coding method is used to encode a x*(n+m) long binary string, where x is the number of positions where repeated vertices exist (there is no limit to non-entropy coding here, other coding methods are also possible).
  • the above-mentioned specific implementation method of encoding the first mesh geometric information is:
  • Step 1021 The encoding end divides the first grid geometric information into three-dimensional slices
  • the first grid geometry information is mainly divided into patches to obtain multiple three-dimensional patches; the specific implementation method of this step is: the encoding end determines the first grid geometry information The projection plane of each vertex included; the encoding end performs slice division on the vertices included in the first mesh geometry information according to the projection plane; the encoding end performs slice division on the vertices included in the first mesh geometry information Perform clustering to obtain each divided piece.
  • the process of patch division mainly includes: first estimating the normal vector of each vertex, selecting 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 vertices with the same and connected projection planes are composed into a patch; finally, a fine division algorithm is used to optimize the clustering results to obtain the final three-dimensional patch (3D patch).
  • 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 as shown in Formula 3:
  • 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 2, which specifically includes:
  • Step 201 Divide the (x, y, z) geometric coordinate space into voxels.
  • the geometric coordinate space here refers to the geometric coordinate space composed of the first grid geometric information.
  • Step 202 Find filled voxels.
  • Filled voxels refer to voxels that contain at least one point in the grid.
  • Step 203 Calculate the smoothing score of each filled voxel on each projection plane, recorded as voxScoreSmooth.
  • the voxel smoothing score of the voxel on a certain projection plane is the number of points gathered to the projection plane through the initial segmentation process.
  • Step 204 use KD-Tree partitioning to find nearest 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).
  • Step 205 Use the voxel smoothing score of the nearest neighbor filled voxel in each projection plane to calculate the smoothing score (scoreSmooth) of each filled voxel.
  • the calculation process is as shown in Formula 4:
  • Step 206 Calculate the normal score using the normal vector of the vertex and the normal vector of the candidate projection plane, recorded as scoreNormal.
  • the calculation process is as shown in Formula 5:
  • p is the index of the projection plane and i is the index of the vertex.
  • Step 207 use scoreSmooth and scoreNormal to calculate the final score of each voxel on each projection plane.
  • the calculation process is as shown in Formula 6:
  • i is the vertex index
  • p is the index of the projection plane
  • v is the voxel index where vertex i is located.
  • Step 208 Use the scores in step 207 to cluster the vertices to obtain finely divided patches.
  • Step 1022 The encoding end performs two-dimensional projection on the divided three-dimensional slice to obtain the two-dimensional slice;
  • this process is to project the 3D patch onto a two-dimensional plane to obtain a two-dimensional patch (2D patch).
  • patch partitioning converts 3D samples into 2D samples by using a strategy that provides the best compression performance on a given projection plane.
  • the goal of patch division is to decompose the vertices of a frame of 3D model into patches with the smallest number and smooth boundaries, while minimizing the reconstruction error.
  • Step 1023 The encoding end packages 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 or The pixel-free parts of the patch are partially overlapped and arranged on the two-dimensional image.
  • the patches are arranged more closely and have time domain consistency to improve coding performance.
  • the resolution of the 2D image is WxH
  • the minimum block size that defines the patch arrangement is T, which specifies the minimum distance between different patches placed on this 2D grid.
  • patches are inserted and placed on the 2D grid according to the non-overlapping principle.
  • Each patch occupies an area consisting of an integer number of TxT blocks.
  • the patches can choose a variety of different arrangement directions. For example, eight different arrangement directions can be adopted, as shown in Figure 3, including 0 degrees, 180 degrees, 90 degrees, 270 degrees and mirror images of the first four directions.
  • a patch arrangement method with temporal consistency is adopted.
  • a Group of frame all patches of the first frame are arranged from largest to smallest. Arranged in order.
  • the temporal consistency algorithm is used to adjust the order of patches.
  • the patch information can be obtained based on the information in the process of obtaining the two-dimensional image information. After that, the patch information can be encoded and the patch information sub-stream can be obtained;
  • the patch information records the information of each step operation in the process of obtaining two-dimensional image.
  • the patch information includes: patch division information, patch projection plane information, and patch packing position information.
  • Step 1024 The encoding end obtains a placeholder map and a geometric map based on the two-dimensional image information
  • the process of obtaining the placeholder map is mainly: using the patch arrangement information obtained by patch packing, setting the position of the vertex in the two-dimensional image to 1, and setting the remaining positions to 0 to obtain the placeholder map.
  • the main process is: 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 the depth.
  • the low-precision geometric map compression part is to compress each 2D patch in the 2D patch.
  • the depth value of the vertex is arranged to the position of the vertex in the placeholder map to obtain the geometric map.
  • Step 1025 The encoding end encodes the placeholder image and the geometric image respectively.
  • the video-based three-dimensional grid geometric information encoding framework of the embodiment of this application is shown in Figure 4.
  • the overall encoding process is:
  • the three-dimensional grid is first screened for repeated vertices.
  • another form of information representing repeated vertices is recorded and encoded, such as another picture representing repeated vertices, repeated vertices, etc.
  • the information of repeated vertices can be encoded according to the representation form of the information of repeated vertices, including but not limited to run-length coding, entropy coding, video coding, etc., or the geometric map put into V-PCC for video coding.
  • the filtered mesh geometry information does not contain vertices with repeated geometric coordinates.
  • the repeated vertices in the mesh geometric information are removed.
  • the patch is divided by projection, and the patches are arranged to generate patch sequence compression information (patch division information). , placeholder map and geometric map; finally, encode the patch sequence to compress the information, placeholder map, and geometric map to obtain the corresponding sub-stream; separately encode the information of the repeated vertices to form a repeated vertex sub-stream; finally, the multi-path sub-stream is
  • the code streams are mixed to obtain the final output code stream.
  • this application provides a new compression algorithm that independently handles repeated position vertices, which is of great significance for realizing efficient compression of three-dimensional mesh geometric information.
  • the execution subject may be an encoding device.
  • the encoding device performing the encoding method is taken as an example to illustrate the encoding device provided by the embodiment of the present application.
  • this embodiment of the present application provides an encoding device 500, which includes:
  • the screening module 501 is used to screen repeated vertices in the target three-dimensional mesh and obtain the first mesh geometric information and the information of the repeated vertices.
  • the first mesh geometric information is the mesh geometric information excluding repeated vertices. ;
  • Encoding module 502 used to encode the first mesh geometric information and the information of the repeated vertices respectively;
  • the repeated vertices are vertices other than the first vertex among the plurality of vertices with the same position coordinates, and the first vertex is one of the plurality of vertices with the same position coordinates.
  • the repeated vertex information includes:
  • the information of the repeated vertices is represented by at least one of the following:
  • the index value of the vertex in the first mesh geometry information is identified as whether there are duplicate vertices at the position corresponding to the vertex and/or the number of duplicate vertices;
  • the pixel value of the position where there are repeated vertices in the target three-dimensional grid in the placeholder map corresponding to the first grid geometry information is determined based on the number of repeated vertices;
  • Different bits are respectively used to represent the index of the first vertex corresponding to the repeated vertex and the number of repeated vertices.
  • the encoding module 502 includes:
  • a dividing unit used to divide the first grid geometric information into three-dimensional slices
  • the first acquisition unit is used to perform two-dimensional projection on the divided three-dimensional slices to obtain the two-dimensional slices;
  • a second acquisition unit used to package the two-dimensional slices and acquire two-dimensional image information
  • a third acquisition unit configured to acquire placeholder images and geometric images according to the two-dimensional image information
  • the first coding unit is used to code the placeholder map and the geometric map respectively.
  • the encoding module 502 further includes:
  • the fourth acquisition unit is used to acquire slice information based on the information in the process of acquiring two-dimensional image information
  • the second encoding unit is used to encode the slice information and obtain the slice information sub-stream.
  • This device embodiment corresponds to the above-mentioned encoding method embodiment.
  • Each implementation process and implementation manner of the above-mentioned method embodiment can be applied to this device embodiment, and can achieve the same technical effect.
  • Embodiments of the present application also provide a coding device, including a processor and a communication interface, wherein the processor is used to screen repeated vertices in the target three-dimensional grid and obtain the first grid geometric information and the information of the repeated vertices.
  • the first mesh geometric information is mesh geometric information excluding repeated vertices; the first mesh geometric information and the information of the repeated vertices are encoded respectively;
  • the repeated vertices are vertices other than the first vertex among the plurality of vertices with the same position coordinates, and the first vertex is one of the plurality of vertices with the same position coordinates.
  • the encoding device 600 includes: a processor 601, a network interface 602, and a memory 603.
  • the network interface 602 is, for example, a common public radio interface (CPRI).
  • CPRI common public radio interface
  • the encoding device 600 in the embodiment of the present application also includes: instructions or programs stored in the memory 603 and executable on the processor 601.
  • the processor 601 calls the instructions or programs in the memory 603 to execute the modules shown in Figure 5
  • the implementation method and achieve the same technical effect will not be repeated here to avoid repetition.
  • this embodiment of the present application also provides a decoding method, including:
  • Step 701 The decoder decomposes the code stream corresponding to the obtained target three-dimensional grid and obtains the information of repeated vertices. And the first grid geometry information;
  • the first mesh geometry information is mesh geometry information that does not include repeated vertices
  • Step 702 The decoding end obtains the target three-dimensional mesh based on the information of the repeated vertices and the first mesh geometry information;
  • the repeated vertices are vertices other than the first vertex among the plurality of vertices with the same position coordinates, and the first vertex is one of the plurality of vertices with the same position coordinates.
  • the repeated vertex information includes:
  • the information of the repeated vertices is represented by at least one of the following:
  • the index value of the vertex in the first mesh geometry information is identified as whether there are duplicate vertices at the position corresponding to the vertex and/or the number of duplicate vertices;
  • the pixel value of the position where there are repeated vertices in the target three-dimensional grid in the placeholder map corresponding to the first grid geometry information is determined based on the number of repeated vertices;
  • Different bits are respectively used to represent the index of the first vertex corresponding to the repeated vertex and the number of repeated vertices.
  • the specific implementation of obtaining the first grid geometry information includes:
  • the decoding end obtains the target sub-code stream according to the obtained code stream corresponding to the target three-dimensional grid.
  • the target sub-code stream includes: a slice information sub-stream, a placeholder map sub-stream and a geometric map sub-stream;
  • the decoding end obtains placeholder images and geometric images according to the target sub-stream
  • the decoding end obtains the first grid geometry information based on the placeholder map and the geometric map.
  • obtaining the first grid geometry information based on the placeholder map and the geometric map includes:
  • the decoding end obtains two-dimensional image information based on the placeholder map and the geometric map;
  • the decoding end obtains a two-dimensional slice according to the two-dimensional image information
  • the decoding end performs three-dimensional back-projection on the two-dimensional slice according to the slice information corresponding to the slice information sub-stream to obtain the three-dimensional slice;
  • the decoder acquires the first grid geometry information based on the three-dimensional slice.
  • the geometric information reconstruction process is a process of reconstructing a three-dimensional geometric model using patch information, placeholder images, geometric images, and repeated vertex information.
  • the specific process is shown in Figure 8, which is mainly divided into four steps:
  • Step 801 obtain 2D patch
  • Obtaining a 2D patch refers to using the patch information to segment the occupancy information and depth information of the 2D patch from the occupancy map and geometric map.
  • the patch information contains the position and size of the bounding box of each 2D patch in the placeholder map and geometric map.
  • the placeholder information and geometric information of the 2D patch can be directly obtained by using the patch information, placeholder map, and geometric map.
  • Step 802 reconstruct the 3D patch
  • Reconstructing a 3D patch refers to using the occupancy information and geometric information in the 2D patch to reconstruct the vertices in the 2D patch into a 3D patch.
  • the occupancy information of the 2D patch includes the relative position of the vertices in the local coordinate system of the patch projection plane.
  • the position of the coordinate origin, and the depth information contains the depth value of the vertex in the normal direction of the projection plane. Therefore, the 2D patch can be reconstructed into a 3D patch in the local coordinate system using the occupancy information and depth information.
  • Step 803 reconstruct the geometric model without repeated points
  • Reconstructing a geometric model without repeated points refers to using the reconstructed 3D patch to reconstruct the entire three-dimensional geometric model.
  • the patch information contains the conversion relationship of the 3D patch from the local coordinate system to the global coordinate system of the three-dimensional geometric model. Using the coordinate conversion relationship to convert all 3D patches to the global coordinate system, a three-dimensional geometric model without repeated vertices is obtained.
  • Step 804 Reconstruct the geometric model containing repeated points
  • the information of repeated vertices obtained by decoding is directly used, such as the corresponding relationship with the vertices in the three-dimensional geometric model without repeated vertices, and the geometric coordinates of the corresponding positions of the repeated vertices can be supplemented back to the geometric information of the non-repeated vertices. , thereby obtaining a three-dimensional geometric model containing repeated vertices.
  • the video-based three-dimensional grid geometric information decoding framework of the embodiment of this application is shown in Figure 9.
  • the overall decoding process is:
  • the code stream is decomposed into patch information sub-stream, placeholder map sub-stream, geometric map sub-stream and repeated vertex sub-stream and decoded respectively; using placeholder map and geometric map, the code stream without repeated vertices can be reconstructed.
  • the geometric information of the three-dimensional mesh, combined with the decoded repeated vertex information, can reconstruct the original mesh geometric information.
  • the above solution decodes the mesh geometry information without repeated vertices and the information of repeated vertices separately, thereby improving the decoding efficiency of the geometric information when performing lossless encoding and decoding of the mesh geometry information.
  • the embodiment of the present application is a method embodiment of the opposite end corresponding to the embodiment of the above encoding method.
  • the decoding process is the inverse process of encoding. All the above implementation methods on the encoding side are applicable to the embodiment of the decoding end. The same technical effect can also be achieved, which will not be described again here.
  • this embodiment of the present application also provides a decoding device 1000, which includes:
  • the first acquisition module 1001 is used to decompose the code stream corresponding to the acquired target three-dimensional mesh, and acquire the information of repeated vertices and the first mesh geometric information.
  • the first mesh geometric information is a mesh that does not include repeated vertices.
  • the second acquisition module 1002 is used to acquire the target three-dimensional mesh according to the information of the repeated vertices and the first mesh geometry information;
  • the repeated vertices are vertices other than the first vertex among the plurality of vertices with the same position coordinates, and the first vertex is one of the plurality of vertices with the same position coordinates.
  • the repeated vertex information includes:
  • the information of the repeated vertices is represented by at least one of the following:
  • the index value of the vertex in the first mesh geometry information is identified as whether there are duplicate vertices at the position corresponding to the vertex and/or the number of duplicate vertices;
  • the pixel value of the position where there are repeated vertices in the target three-dimensional grid in the placeholder map corresponding to the first grid geometry information is determined based on the number of repeated vertices;
  • Different bits are respectively used to represent the index of the first vertex corresponding to the repeated vertex and the number of repeated vertices.
  • the first acquisition module 1001 decomposes the acquired code stream, and when acquiring the first grid geometry information, includes:
  • the fifth acquisition unit is used to acquire the target sub-code stream according to the obtained code stream corresponding to the target three-dimensional grid.
  • the target sub-code stream includes: a slice information sub-code stream, a placeholder map sub-code stream and a geometric map sub-code stream. flow;
  • the sixth acquisition unit is used to acquire placeholder images and geometric images according to the target sub-code stream
  • a seventh acquisition unit is used to acquire the first grid geometry information according to the placeholder map and the geometric map.
  • the seventh acquisition unit is used for:
  • the first grid geometry information is obtained.
  • this device embodiment is a device corresponding to the above-mentioned method. All implementation methods in the above-mentioned method embodiment are applicable to this device embodiment and can achieve the same technical effect, which will not be described again here.
  • the embodiment of the present application also provides a decoding device, including a processor, a memory, and a program or instruction stored in the memory and executable on the processor.
  • a decoding device including a processor, a memory, and a program or instruction stored in the memory and executable on the processor.
  • the program or instruction is executed by the processor, the above-mentioned decoding device is implemented.
  • Each process of the decoding method embodiment can achieve the same technical effect. To avoid repetition, it will not be described again here.
  • Embodiments of the present application also provide a readable storage medium.
  • Programs or instructions are stored on the computer-readable storage medium.
  • the program or instructions are executed by a processor, each process of the above-mentioned decoding method embodiment is implemented, and the same process can be achieved. To avoid repetition, the technical effects will not be repeated here.
  • the computer-readable storage medium is such as read-only memory (ROM), random access memory (Random Access Memory, RAM), magnetic disk or optical disk, etc.
  • Embodiments of the present application also provide a decoding device, including a processor and a communication interface, wherein the processor is used to decompose the obtained code stream corresponding to the target three-dimensional grid, and obtain the information of repeated vertices and the first grid.
  • Geometric information the first mesh geometric information is mesh geometric information excluding repeated vertices; according to the information of the repeated vertices and the first mesh geometric information, the target three-dimensional mesh is obtained;
  • the repeated vertices are vertices other than the first vertex among the plurality of vertices with the same position coordinates, and the first vertex is one of the plurality of vertices with the same position coordinates.
  • This decoding device embodiment corresponds to the above-mentioned decoding method embodiment.
  • Each implementation process and implementation manner of the above-mentioned method embodiment can be applied to this decoding device embodiment, and can achieve the same technical effect.
  • the embodiment of the present application also provides a decoding device.
  • the decoding device in the embodiment of the present application also includes: instructions or programs stored in the memory and executable on the processor.
  • the processor calls the instructions or programs in the memory to execute the method executed by each module shown in Figure 10, and To achieve the same technical effect, to avoid repetition, we will not repeat them here.
  • Embodiments of the present application also provide a readable storage medium, where programs or instructions are stored on the readable storage medium.
  • programs or instructions are stored on the readable storage medium.
  • the processor is the processor in the decoding device described in the above embodiment.
  • the readable storage medium includes computer readable storage media, such as computer read-only memory ROM, random access memory RAM, magnetic disk or optical disk, etc.
  • this embodiment of the present application also provides a communication device 1100, which includes a processor 1101 and a memory 1102.
  • the memory 1102 stores programs or instructions that can be run on the processor 1101, such as , when the communication device 1100 is a coding device, when the program or instruction is executed by the processor 1101, each step of the above coding method embodiment is implemented, and the same technical effect can be achieved.
  • the communication device 1100 is a decoding device, when the program or instruction is executed by the processor 1101, each step of the above decoding method embodiment is implemented, and the same technical effect can be achieved. To avoid duplication, the details will not be described here.
  • An embodiment of the present application further provides a chip.
  • the chip includes a processor and a communication interface.
  • the communication interface is coupled to the processor.
  • the processor is used to run programs or instructions to implement the above encoding method or decoding method.
  • Each process in the example can achieve the same technical effect. To avoid repetition, we will not repeat it here.
  • chips mentioned in the embodiments of this application may also be called system-on-chip, system-on-a-chip, system-on-chip or system-on-chip, etc.
  • Embodiments of the present application further provide a computer program/program product.
  • the computer program/program product is stored in a storage medium.
  • the computer program/program product is executed by at least one processor to implement the above encoding method or decoding method.
  • Each process of the embodiment can achieve the same technical effect, so to avoid repetition, it will not be described again here.
  • Embodiments of the present application also provide a communication system, which at least includes: an encoding device and a decoding device.
  • the encoding device can be used to perform the steps of the encoding method as described above.
  • the decoding device can be used to perform the decoding method as described above. A step of. And can achieve the same technical effect. To avoid repetition, they will not be described again here.
  • the methods of the above embodiments can be implemented by means of software plus the necessary general hardware platform. Of course, it can also be implemented by hardware, but in many cases the former is better. implementation.
  • the technical solution of the present application is essentially or the part that contributes to the existing technology can be embodied in the form of a computer software product, and the computer software product is stored in a storage medium (such as ROM/RAM, magnetic disk, optical disk), including a number of instructions to cause a terminal (which can be a mobile phone, computer, server, air conditioner, or network equipment, etc.) to execute the method described in various embodiments of this application.
  • a storage medium such as ROM/RAM, magnetic disk, optical disk

Abstract

The present application relates to the technical field of encoding and decoding, and discloses an encoding method and apparatus, a decoding method and apparatus, and a device. The encoding method comprises: an encoding end screens for repeated vertices in a target three-dimensional grid to obtain first grid geometric information and information of the repeated vertices, the first grid geometric information being grid geometric information which does not comprise the repeated vertices; the encoding end separately encodes the first grid geometric information and the information of the repeated vertices, wherein the repeated vertices are vertices except a first vertex in a plurality of vertices having the same position coordinates, and the first vertex is one of the plurality of vertices having the same position coordinates.

Description

编码、解码方法、装置及设备Encoding and decoding methods, devices and equipment
相关申请的交叉引用Cross-references to related applications
本申请主张在2022年3月18日在中国提交的中国专利申请No.202210273182.4的优先权,其全部内容通过引用包含于此。This application claims priority from Chinese Patent Application No. 202210273182.4 filed in China on March 18, 2022, the entire content of which is incorporated herein by reference.
技术领域Technical field
本申请属于编解码技术领域,具体涉及一种编码、解码方法、装置及设备。This application belongs to the field of coding and decoding technology, and specifically relates to a coding and decoding method, device and equipment.
背景技术Background technique
三维网格(Mesh)可以被认为是过去多年来最流行的三维模型的表示方法,其在许多应用程序中扮演着重要的角色。它的表示简便,因此被大量以硬件算法集成到电脑、平板电脑和智能手机的图形处理单元(Graphic Processing Unit,GPU)中,专门用于渲染三维网格。Three-dimensional mesh (Mesh) can be considered the most popular representation method of three-dimensional models in the past many years, and it plays an important role in many applications. Its expression is simple, so it is widely integrated into the Graphic Processing Unit (GPU) of computers, tablets and smartphones with hardware algorithms, specifically used to render three-dimensional meshes.
对于有纹理图的三维网格,几何位置重复的顶点分别对应了不同的UV坐标,即这些顶点出现在纹理图的边界位置上。对此种存在重复点的三维网格进行编码时存在编解码效率较低的问题。For a three-dimensional mesh with a texture map, vertices with repeated geometric positions correspond to different UV coordinates, that is, these vertices appear at the boundary positions of the texture map. When encoding this kind of three-dimensional grid with repeated points, there is a problem of low encoding and decoding efficiency.
发明内容Contents of the invention
本申请实施例提供一种编码、解码方法、装置及设备,能够解决对存在重复点的三维网格进行编码时存在编解码效率较低的问题。Embodiments of the present application provide an encoding and decoding method, device and equipment, which can solve the problem of low encoding and decoding efficiency when encoding a three-dimensional grid with repeated points.
第一方面,提供了一种编码方法,包括:The first aspect provides an encoding method, including:
编码端对目标三维网格中重复顶点进行筛查,获取第一网格几何信息以及重复顶点的信息,所述第一网格几何信息为不包括重复顶点的网格几何信息;The encoding end screens the repeated vertices in the target three-dimensional grid and obtains the first grid geometric information and the information of the repeated vertices, where the first grid geometric information is the grid geometric information excluding repeated vertices;
所述编码端对所述第一网格几何信息以及所述重复顶点的信息分别进行编码;The encoding end encodes the first mesh geometric information and the information of the repeated vertices respectively;
其中,所述重复顶点为位置坐标相同的多个顶点中除第一顶点以外的顶点,所述第一顶点为位置坐标相同的多个顶点中的其中一个顶点。Wherein, the repeated vertices are vertices other than the first vertex among the plurality of vertices with the same position coordinates, and the first vertex is one of the plurality of vertices with the same position coordinates.
第二方面,提供了一种编码装置,包括:In a second aspect, an encoding device is provided, including:
筛查模块,用于对目标三维网格中重复顶点进行筛查,获取第一网格几何信息以及重复顶点的信息,所述第一网格几何信息为不包括重复顶点的网格几何信息;A screening module, used to screen repeated vertices in the target three-dimensional grid, and obtain first grid geometric information and information of repeated vertices, where the first grid geometric information is grid geometric information excluding repeated vertices;
编码模块,用于对所述第一网格几何信息以及所述重复顶点的信息分别进行编码;An encoding module, configured to encode the first mesh geometric information and the information of the repeated vertices respectively;
其中,所述重复顶点为位置坐标相同的多个顶点中除第一顶点以外的顶点,所述第一顶点为位置坐标相同的多个顶点中的其中一个顶点。 Wherein, the repeated vertices are vertices other than the first vertex among the plurality of vertices with the same position coordinates, and the first vertex is one of the plurality of vertices with the same position coordinates.
第三方面,提供了一种解码方法,包括:The third aspect provides a decoding method, including:
解码端对获取的目标三维网格对应的码流进行分解,获取重复顶点的信息以及第一网格几何信息,所述第一网格几何信息为不包括重复顶点的网格几何信息;The decoding end decomposes the code stream corresponding to the acquired target three-dimensional grid, and obtains the information of repeated vertices and the first grid geometry information, where the first grid geometry information is grid geometry information excluding repeated vertices;
所述解码端根据所述重复顶点的信息以及所述第一网格几何信息,获取所述目标三维网格;The decoding end obtains the target three-dimensional mesh based on the information of the repeated vertices and the first mesh geometry information;
其中,所述重复顶点为位置坐标相同的多个顶点中除第一顶点以外的顶点,所述第一顶点为位置坐标相同的多个顶点中的其中一个顶点。Wherein, the repeated vertices are vertices other than the first vertex among the plurality of vertices with the same position coordinates, and the first vertex is one of the plurality of vertices with the same position coordinates.
第四方面,提供了一种解码装置,包括:In the fourth aspect, a decoding device is provided, including:
第一获取模块,用于对获取的目标三维网格对应的码流进行分解,获取重复顶点的信息以及第一网格几何信息,所述第一网格几何信息为不包括重复顶点的网格几何信息;The first acquisition module is used to decompose the code stream corresponding to the acquired target three-dimensional grid, and obtain the information of repeated vertices and the first grid geometry information. The first grid geometry information is a grid that does not include repeated vertices. geometric information;
第二获取模块,用于根据所述重复顶点的信息以及所述第一网格几何信息,获取所述目标三维网格;A second acquisition module, configured to acquire the target three-dimensional mesh according to the information of the repeated vertices and the first mesh geometry information;
其中,所述重复顶点为位置坐标相同的多个顶点中除第一顶点以外的顶点,所述第一顶点为位置坐标相同的多个顶点中的其中一个顶点。Wherein, the repeated vertices are vertices other than the first vertex among the plurality of vertices with the same position coordinates, and the first vertex is one of the plurality of vertices with the same position coordinates.
第五方面,提供了一种编码设备,包括处理器和存储器,所述存储器存储可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如第一方面所述的方法的步骤。In a fifth aspect, a coding device is provided, including a processor and a memory. The memory stores programs or instructions that can be run on the processor. When the program or instructions are executed by the processor, the first The steps of the method described in this aspect.
第六方面,提供了一种编码设备,包括处理器及通信接口,其中,所述处理器用于对目标三维网格中重复顶点进行筛查,获取第一网格几何信息以及重复顶点的信息,所述第一网格几何信息为不包括重复顶点的网格几何信息;对所述第一网格几何信息以及所述重复顶点的信息分别进行编码;In a sixth aspect, a coding device is provided, including a processor and a communication interface, wherein the processor is used to screen repeated vertices in the target three-dimensional grid and obtain the first grid geometric information and the information of the repeated vertices, The first mesh geometric information is mesh geometric information that does not include repeated vertices; the first mesh geometric information and the information of the repeated vertices are encoded respectively;
其中,所述重复顶点为位置坐标相同的多个顶点中除第一顶点以外的顶点,所述第一顶点为位置坐标相同的多个顶点中的其中一个顶点。Wherein, the repeated vertices are vertices other than the first vertex among the plurality of vertices with the same position coordinates, and the first vertex is one of the plurality of vertices with the same position coordinates.
第七方面,提供了一种解码设备,包括处理器和存储器,所述存储器存储可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如第三方面所述的方法的步骤。In a seventh aspect, a decoding device is provided, including a processor and a memory. The memory stores programs or instructions that can be run on the processor. When the program or instructions are executed by the processor, the third process is implemented. The steps of the method described in this aspect.
第八方面,提供了一种解码设备,包括处理器及通信接口,其中,所述处理器用于对获取的目标三维网格对应的码流进行分解,获取重复顶点的信息以及第一网格几何信息,所述第一网格几何信息为不包括重复顶点的网格几何信息;根据所述重复顶点的信息以及所述第一网格几何信息,获取所述目标三维网格;In an eighth aspect, a decoding device is provided, including a processor and a communication interface, wherein the processor is used to decompose the obtained code stream corresponding to the target three-dimensional grid, and obtain the information of repeated vertices and the first grid geometry. Information, the first mesh geometry information is mesh geometry information that does not include repeated vertices; according to the information of the repeated vertices and the first mesh geometry information, the target three-dimensional mesh is obtained;
其中,所述重复顶点为位置坐标相同的多个顶点中除第一顶点以外的顶点,所述第一顶点为位置坐标相同的多个顶点中的其中一个顶点。Wherein, the repeated vertices are vertices other than the first vertex among the plurality of vertices with the same position coordinates, and the first vertex is one of the plurality of vertices with the same position coordinates.
第九方面,提供了一种通信系统,包括:编码设备和解码设备,所述编码设备可用于执行如第一方面所述的方法的步骤,所述解码设备可用于执行如第三方面所述的方法的步骤。 In a ninth aspect, a communication system is provided, including: an encoding device and a decoding device. The encoding device can be used to perform the steps of the method described in the first aspect, and the decoding device can be used to perform the steps of the method described in the third aspect. steps of the method.
第十方面,提供了一种可读存储介质,所述可读存储介质上存储程序或指令,所述程序或指令被处理器执行时实现如第一方面所述的方法的步骤,或者实现如第三方面所述的方法的步骤。In a tenth aspect, a readable storage medium is provided. Programs or instructions are stored on the readable storage medium. When the programs or instructions are executed by a processor, the steps of the method described in the first aspect are implemented, or the steps of the method are implemented as described in the first aspect. The steps of the method described in the third aspect.
第十一方面,提供了一种芯片,所述芯片包括处理器和通信接口,所述通信接口和所述处理器耦合,所述处理器用于运行程序或指令,实现如第一方面所述的方法,或实现如第三方面所述的方法。In an eleventh aspect, a chip is provided. The chip includes a processor and a communication interface. The communication interface is coupled to the processor. The processor is used to run programs or instructions to implement the method described in the first aspect. method, or implement a method as described in the third aspect.
第十二方面,提供了一种计算机程序/程序产品,所述计算机程序/程序产品被存储在存储介质中,所述计算机程序/程序产品被至少一个处理器执行以实现如第一方面或第三方面所述的方法的步骤。In a twelfth 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 first aspect or the second aspect. The steps of the method described in three aspects.
在本申请实施例中,通过对目标三维网格中重复顶点进行筛查,对不存在重复顶点的网格几何信息以及重复顶点的信息分别进行编码,以此能够在对网格几何信息进行无损编解码时,提高对几何信息的编解码效率。In the embodiment of the present application, by screening the repeated vertices in the target three-dimensional mesh, the mesh geometric information without repeated vertices and the information of the repeated vertices are respectively encoded, so that the mesh geometric information can be losslessly processed. When encoding and decoding, improve the encoding and decoding efficiency of geometric information.
附图说明Description of the drawings
图1是本申请实施例的编码方法的流程示意图;Figure 1 is a schematic flow chart of the encoding method according to the embodiment of the present application;
图2是基于网格的精细划分过程示意图;Figure 2 is a schematic diagram of the fine division process based on grid;
图3是片(Patch)排列的八种方向示意图;Figure 3 is a schematic diagram of the eight directions of patch arrangement;
图4是基于视频的三维网格几何信息编码框架示意图;Figure 4 is a schematic diagram of the video-based three-dimensional grid geometric information encoding framework;
图5是本申请实施例的编码装置的模块示意图;Figure 5 is a module schematic diagram of the encoding device according to the embodiment of the present application;
图6是本申请实施例的编码设备的结构示意图;Figure 6 is a schematic structural diagram of an encoding device according to an embodiment of the present application;
图7是本申请实施例的解码方法的流程示意图;Figure 7 is a schematic flow chart of the decoding method according to the embodiment of the present application;
图8是几何信息重建框图;Figure 8 is a block diagram of geometric information reconstruction;
图9是基于视频的三维网格几何信息解码框架示意图;Figure 9 is a schematic diagram of the video-based three-dimensional grid geometric information decoding framework;
图10是本申请实施例的解码装置的模块示意图;Figure 10 is a schematic module diagram of a decoding device according to an embodiment of the present application;
图11是本申请实施例的通信设备的结构示意图。Figure 11 is a schematic structural diagram of a communication device according to an embodiment of the present application.
具体实施方式Detailed ways
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本申请保护的范围。The technical solutions in the embodiments of the present application will be clearly described below with reference to the accompanying drawings in the embodiments of the present application. Obviously, the described embodiments are part of the embodiments of the present application, but not all of the embodiments. Based on the embodiments in this application, all other embodiments obtained by those of ordinary skill in the art fall within the scope of protection of this application.
本申请的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不用于描述特定的顺序或先后次序。应该理解这样使用的术语在适当情况下可以互换,以便本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施,且“第一”、“第二”所区别的对象通常为一类,并不限定对象的个数,例如第一对象可以是一个,也 可以是多个。此外,说明书以及权利要求中“和/或”表示所连接对象的至少其中之一,字符“/”一般表示前后关联对象是一种“或”的关系。The terms "first", "second", etc. in the description and claims of this application are used to distinguish similar objects and are not used to describe a specific order or sequence. It is to be understood that the terms so used are interchangeable under appropriate circumstances so that the embodiments of the present application can be practiced in sequences other than those illustrated or described herein, and that "first" and "second" are distinguished objects It is usually a category, and the number of objects is not limited. For example, the first object can be one, or Can be multiple. In addition, "and/or" in the description and claims indicates at least one of the connected objects, and the character "/" generally indicates that the related objects are in an "or" relationship.
值得指出的是,本申请实施例所描述的技术不限于长期演进型(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)通信系统。It is worth pointing out that the technology described in the embodiments of this application is not limited to Long Term Evolution (LTE)/LTE Evolution (LTE-Advanced, LTE-A) systems, and can also be used in other wireless communication systems, such as code Code Division Multiple Access (CDMA), Time Division Multiple Access (TDMA), Frequency Division Multiple Access (FDMA), Orthogonal Frequency Division Multiple Access, OFDMA), Single-carrier Frequency Division Multiple Access (SC-FDMA) and other systems. The terms "system" and "network" in the embodiments of this application are often used interchangeably, and the described technology can be used not only for the above-mentioned systems and radio technologies, but also for other systems and radio technologies. The following description describes a New Radio (NR) system for example purposes, and NR terminology is used in much of the following description, but these techniques can also be applied to applications other than NR system applications, such as 6th generation Generation, 6G) communication system.
下面对与本申请相关的现有技术简要说明如下。The prior art related to this application is briefly described below.
近年来,随着多媒体技术的迅速发展,相关研究成果迅速产业化,并成为人们生活中不可或缺的重要组成部分。三维模型成为继音频、图像、视频之后的新一代数字化媒体。三维网格和点云是两种常用的三维模型表示方式。三维网格模型与传统的图像、视频等多媒体相比具有更强的交互性和逼真性的特点,使其在商业、制造业、建筑业、教育、医学、娱乐、艺术、军事等各个领域都得到了越来越广泛的应用。In recent years, with the rapid development of multimedia technology, related research results have been rapidly industrialized and become an indispensable and important part of people's lives. Three-dimensional models have become a new generation of digital media after audio, images, and videos. Three-dimensional mesh and point cloud are two commonly used three-dimensional model representation methods. Compared with traditional multimedia such as images and videos, 3D mesh models are more interactive and realistic, making them useful in various fields such as commerce, manufacturing, construction, education, medicine, entertainment, art, and military. has been increasingly widely used.
而随着人们对三维网格模型在视觉效果上越来越高的需求,以及许多更加成熟的三维扫描技术和三维建模软件的涌现,通过三维扫描设备或三维建模软件获取的三维网格模型的数据规模和复杂度也在急剧地增长着。因此,如何高效压缩三维网格数据是实现三维网格数据方便地传输、存储和处理的关键。With people's increasing demand for the visual effects of 3D mesh models, and the emergence of many more mature 3D scanning technologies and 3D modeling software, 3D mesh models obtained through 3D scanning equipment or 3D modeling software The size and complexity of data are also growing rapidly. Therefore, how to efficiently compress 3D mesh data is the key to realizing convenient transmission, storage and processing of 3D mesh data.
一个三维网格往往同时包含了拓扑信息、几何信息及属性信息三种主要信息。拓扑信息用于描述网格中顶点和面片等元素之间的连接关系;几何信息是网格中所有顶点的三维坐标;属性信息则记录了附着在网格上的其它信息,比如法向量、纹理坐标以及颜色等。虽然一些传统的通用的数据压缩方法能够减少一定的三维网格数据量,但是由于三维网格数据的特殊性,直接将这些压缩方法用于压缩三维网格数据往往不能获得理想的效果。因此,对三维网格数据的压缩面临着新的挑战。在三维网格的数据中,几何数据往往比拓扑数据需要占用更多的存储空间,对几何数据进行高效压缩将对减少三维网格数据的存储空间具有极为重要的意义。因此,三维网格几何信息的压缩成为了人们的研究重点。A three-dimensional mesh often contains three main types of information: topological information, geometric information and attribute information. Topological information is used to describe the connection relationship between elements such as vertices and patches in the mesh; geometric information is the three-dimensional coordinates of all vertices in the mesh; attribute information records other information attached to the mesh, such as normal vectors, Texture coordinates and colors, etc. Although some traditional general data compression methods can reduce a certain amount of 3D grid data, due to the particularity of 3D grid data, directly using these compression methods to compress 3D grid data often cannot achieve ideal results. Therefore, the compression of three-dimensional mesh data faces new challenges. Among three-dimensional grid data, geometric data often takes up more storage space than topological data. Efficient compression of geometric data will be of extremely important significance in reducing the storage space of three-dimensional grid data. Therefore, the compression of three-dimensional mesh geometric information has become a research focus.
三维网格几何信息压缩算法可以使用点云的三维几何信息压缩算法。近年来点云压缩的国际标准主要有两种,分别是基于视频的点云压缩(Video-based Point Cloud Compression,V-PCC)和基于几何的点云压缩(Geometry-based Point Cloud Compression,G-PCC)。The 3D mesh geometric information compression algorithm can use the 3D geometric information compression algorithm of point cloud. In recent years, there are two main international standards for point cloud compression, namely Video-based Point Cloud Compression (V-PCC) and Geometry-based Point Cloud Compression (G-PCC). PCC).
V-PCC的主要思路是将点云的几何和属性信息投影成二维视频,利用已有的视频编码 技术对二维视频进行压缩,从而达到压缩点云的目的。V-PCC的几何编码是通过将几何信息投影成占位视频和几何视频,利用视频编码器分别编码这两路视频来实现的。The main idea of V-PCC is to project the geometric and attribute information of the point cloud into a two-dimensional video, using existing video coding Technology compresses two-dimensional videos to achieve the purpose of compressing point clouds. The geometric coding of V-PCC is achieved by projecting geometric information into placeholder video and geometric video, and using a video encoder to encode the two videos respectively.
V-PCC几何信息编码的过程主要包括:首先生成三维片(3-dimension patch,3D patch),patch是指点云中投影平面相同且连通的顶点集合。目前生成3D patch的方法是,利用近邻点估计每个顶点的法向量,根据每个点的法向量和预设平面的法向量,计算每个顶点的投影平面,将连通的具有相同投影平面顶点组成一个patch。然后,将3D patch投影到二维(2-dimension,2D)平面上形成2D patch,并将2D patch排列在一张二维图像上,这个过程称为片打包(patch packing)。为了使patch排列的更加紧密从而提高压缩性能,目前的排列方法有:优先级排列、时域一致排列、全局patch分配等。然后,生成占位图和几何图。占位图是表示二维图像中顶点占位信息的图像,占位图中有顶点投影的位置值为1,其余位置值为0。按照一定规则将patch排列在二维图像中,就生成了占位图。几何图中存储的是每个顶点到投影平面的距离。利用顶点的三维坐标、顶点的投影平面以及占位图可以直接计算出每个顶点的深度信息,从而生成几何图。对于投影位置重复的顶点,将除第一个投影顶点外的顶点几何坐标排列进raw patch里放入几何图或者单独进行编码。为了提高压缩效率,对几何图像执行图像填充过程。图像填充方法“推拉”背景填充算法、基于稀疏线性模型(Sparse Linear Model)的填充方法、谐波背景填充(Harmonic Background Filling)等方法。图像填充后,得到最终的几何图,使用现有的视频编码器压缩占位图和几何图,得到视频码流。最后,将占位视频码流、几何视频码流以及包含patch信息的子码流合成为最终的总码流。The process of V-PCC geometric information encoding mainly includes: first generating a three-dimensional patch (3-dimension patch, 3D patch), which refers to a set of vertices with the same and connected projection plane in the point cloud. The current method of generating 3D patches is to use nearby points to estimate the normal vector of each vertex, calculate the projection plane of each vertex based on the normal vector of each point and the normal vector of the preset plane, and connect the connected vertices with the same projection plane Make up a patch. Then, the 3D patch is projected onto a two-dimensional (2D) plane to form a 2D patch, and the 2D patches are arranged on a two-dimensional image. This process is called patch packing. In order to arrange patches more closely to improve compression performance, current arrangement methods include: priority arrangement, time domain consistent arrangement, global patch allocation, etc. Then, placeholder images and geometric images are generated. A placeholder map is an image that represents the placeholder information of vertices in a two-dimensional image. The position value of the vertex projection in the placeholder map is 1, and the other position values are 0. By arranging patches in a two-dimensional image according to certain rules, a placeholder image is generated. What is stored in the geometric graph is the distance from each vertex to the projection plane. The depth information of each vertex can be directly calculated using the three-dimensional coordinates of the vertex, the projection plane of the vertex and the placeholder map, thereby generating a geometric map. For vertices with repeated projection positions, arrange the geometric coordinates of the vertices except the first projected vertex into the raw patch and put it into a geometric diagram or encode it separately. To improve compression efficiency, an image filling process is performed on the geometric image. Image filling methods include "push-pull" background filling algorithm, filling method based on sparse linear model (Sparse Linear Model), harmonic background filling (Harmonic Background Filling) and other methods. After the image is filled, the final geometric map is obtained. The existing video encoder is used to compress the placeholder map and geometric map to obtain the video code stream. Finally, the placeholder video code stream, the geometric video code stream, and the sub-code stream containing patch information are synthesized into the final total code stream.
下面结合附图,通过一些实施例及其应用场景对本申请实施例提供的编码、解码方法、装置及设备进行详细地说明。The encoding and decoding methods, devices and equipment provided by the embodiments of the present application will be described in detail below with reference to the accompanying drawings through some embodiments and their application scenarios.
如图1所示,本申请实施例提供一种编码方法,包括:As shown in Figure 1, this embodiment of the present application provides an encoding method, including:
步骤101,编码端对目标三维网格中重复顶点进行筛查,获取第一网格几何信息以及重复顶点的信息,所述第一网格几何信息为不包括重复顶点的网格几何信息;Step 101: The encoding end screens the repeated vertices in the target three-dimensional grid and obtains the first grid geometric information and the information of the repeated vertices. The first grid geometric information is the grid geometric information excluding repeated vertices;
需要说明的是,本申请中所说的目标三维网格可以理解为任意视频帧对应的三维网格,本申请中涉及的是对目标三维网格的几何信息中重复顶点进行筛查,该目标三维网格的几何信息可以理解为是三维网格中顶点的位置坐标,该位置坐标通常指的是三维坐标。It should be noted that the target three-dimensional grid mentioned in this application can be understood as the three-dimensional grid corresponding to any video frame. What this application involves is the screening of repeated vertices in the geometric information of the target three-dimensional grid. The target The geometric information of the three-dimensional grid can be understood as the position coordinates of the vertices in the three-dimensional grid, and the position coordinates usually refer to the three-dimensional coordinates.
需要说明的是,所述重复顶点为位置坐标相同的多个顶点中除第一顶点以外的顶点,所述第一顶点为位置坐标相同的多个顶点中的其中一个顶点,可选的,该第一顶点为位置坐标相同的多个顶点中排在顶点列表中的第一个顶点。It should be noted that the repeated vertices are vertices other than the first vertex among the plurality of vertices with the same position coordinates, and the first vertex is one of the plurality of vertices with the same position coordinates. Optionally, the The first vertex is the first vertex in the vertex list among multiple vertices with the same position coordinates.
步骤102,所述编码端对所述第一网格几何信息以及所述重复顶点的信息分别进行编码;Step 102: The encoding end encodes the first mesh geometric information and the information of the repeated vertices respectively;
需要说明的是,在得到第一网格几何信息以及重复顶点的信息,便可以对第一网格几何信息以及重复顶点的信息进行编码,得到相应的子码流,上述方案,通过对目标三维网格的中重复顶点进行筛查,对不存在重复顶点的网格几何信息以及重复顶点的信息分别进 行编码,以此能够在对网格几何信息进行无损编解码时,提高对几何信息的编码效率。It should be noted that after obtaining the first mesh geometric information and the information of the repeated vertices, the first mesh geometric information and the information of the repeated vertices can be encoded to obtain the corresponding sub-code stream. The above scheme is based on the target three-dimensional The repeated vertices of the mesh are screened, and the geometric information of the mesh without repeated vertices and the information of repeated vertices are separately processed. Line encoding can improve the coding efficiency of geometric information when lossless encoding and decoding of mesh geometric information.
需要说明的是,该重复顶点的信息包括:It should be noted that the information of the repeated vertex includes:
A11、与所述重复顶点对应的第一顶点的索引;A11. The index of the first vertex corresponding to the repeated vertex;
A12、重复顶点的个数。A12. The number of repeated vertices.
需要说明的是,对输入网格的顶点三维坐标进行遍历,找到位置重复的顶点。在顶点列表中筛除该重复顶点,从而得到不含重复顶点的网格几何信息。在筛除重复顶点的过程中,记录筛除重复顶点后的几何信息中该位置上第一顶点的索引值和重复顶点的个数,即记录在无重复顶点的网格几何信息中哪些索引值上的顶点原来是有重复顶点存在和筛除了几个重复顶点,记录的这些信息即为重复顶点的信息,It should be noted that the three-dimensional coordinates of the vertices of the input grid are traversed to find vertices with repeated positions. Filter out the duplicate vertices in the vertex list to obtain mesh geometry information that does not contain duplicate vertices. In the process of filtering out duplicate vertices, record the index value of the first vertex at that position and the number of duplicate vertices in the geometric information after filtering out duplicate vertices, that is, which index values are recorded in the mesh geometry information without duplicate vertices. It turns out that there are duplicate vertices on the vertices and several duplicate vertices have been filtered out. The recorded information is the information of the duplicate vertices.
可选地,可以用不同的形式进行重复顶点的信息的表示和编码,具体可以包括但不限于以下至少一项:Optionally, the information of repeated vertices can be represented and encoded in different forms, which may include but is not limited to at least one of the following:
A21、所述第一网格几何信息中顶点的索引值标识为所述顶点对应的位置是否有重复顶点和/或重复顶点的个数;A21. The index value of the vertex in the first grid geometry information is identified as whether there are duplicate vertices at the position corresponding to the vertex and/or the number of duplicate vertices;
需要说明的是,此种情况是用第一网格几何信息中的顶点的索引值进行重复顶点的标识,即通过顶点对应的索引值便可知道该顶点是否还有其他的重复顶点,在该顶点还有其他的重复顶点的情况下,还可以根据该顶点的索引值确定重复顶点的个数。It should be noted that in this case, the index value of the vertex in the first mesh geometry information is used to identify the repeating vertex, that is, through the index value corresponding to the vertex, it can be known whether there are other repeating vertices on the vertex. If a vertex has other repeating vertices, the number of repeating vertices can also be determined based on the index value of the vertex.
例如,可以使用01二进制字符串对应无重复顶点几何信息的顶点的索引值。考虑到网格信息中的位置重复顶点数大概率为2个,使用0表示该位置无重复顶点,使用1表示该位置存在重复顶点。需要说明的是,若存在第三个或更多在该位置的重复顶点,可以直接编码该顶点的在无重复顶点几何信息中的索引值作为特殊情况对待。需要说明的是,此种情况下,可以使用游程编码、熵编码等编码方式对重复顶点的信息进行编码。For example, you can use the 01 binary string to correspond to the index value of a vertex with no duplicate vertex geometry information. Considering that the number of duplicate vertices at a position in the grid information is probably 2, using 0 indicates that there are no duplicate vertices at this position, and using 1 indicates that there are duplicate vertices at this position. It should be noted that if there is a third or more duplicate vertex at this position, the index value of the vertex in the non-duplicate vertex geometry information can be directly encoded and treated as a special case. It should be noted that in this case, encoding methods such as run-length coding and entropy coding can be used to encode the information of repeated vertices.
A22、所述目标三维网格中存在重复顶点的位置在所述第一网格几何信息对应的占位图中的像素值基于重复顶点的个数确定;A22. The pixel value of the position where there are repeated vertices in the target three-dimensional grid in the placeholder map corresponding to the first grid geometry information is determined based on the number of repeated vertices;
也就是说,此种情况下是基于重复顶点的个数来表示所述第一网格几何信息对应的占位图中存在重复顶点的位置的取值。That is to say, in this case, the value of the position where the repeated vertices exist in the placeholder map corresponding to the first mesh geometry information is represented based on the number of repeated vertices.
需要说明的是,可以在对无重复顶点的网格几何信息编码过程中的占位图中不使用二值化的01值表示占位,而是基于重复顶点的个数生成占位图中存在重复顶点的位置的取值,例如,可以使用重复顶点的个数加一的方式表示占位图中存在重复顶点的位置的取值,此时,若占位图中某一个位置的取值大于1,即表示该位置对应存在重复顶点,且由取值减一便能得到该位置存在重复顶点的个数。It should be noted that the binary 01 value can not be used to represent the placeholder in the placeholder map in the process of encoding the mesh geometry information without repeated vertices, but the placeholder map can be generated based on the number of repeated vertices. The value of the position of the repeated vertex. For example, you can use the number of repeated vertices plus one to indicate the value of the position where there are repeated vertices in the placeholder map. At this time, if the value of a certain position in the placeholder map is greater than 1, which means that there are duplicate vertices corresponding to this position, and subtracting one from the value can get the number of duplicate vertices at this position.
A23、分别用不同的比特表示与所述重复顶点对应的第一顶点的索引和重复顶点的个数;A23. Use different bits to represent the index of the first vertex corresponding to the repeated vertex and the number of repeated vertices;
需要说明的是,此种情况是直接用重复顶点在不存在重复顶点的网格几何信息中的索引和重复顶点个数来表示重复顶点的信息。例如,使用n位表示索引,用m位表示重复顶点个数。即使用n+m位二进制数表示一个存在重复顶点位置上的信息。再使用如熵编 码的方法来编码x*(n+m)长的二进制串,其中x为存在重复顶点的位置的个数(此处不限制非使用熵编码,也可为其他编码方式)。It should be noted that in this case, the information of the repeated vertices is directly represented by the index of the repeated vertex in the mesh geometry information that does not exist and the number of repeated vertices. For example, n bits are used to represent the index, and m bits are used to represent the number of repeated vertices. That is, using n+m binary numbers to represent information on a repeated vertex position. Then use entropy editor The coding method is used to encode a x*(n+m) long binary string, where x is the number of positions where repeated vertices exist (there is no limit to non-entropy coding here, other coding methods are also possible).
可选地,上述的对所述第一网格几何信息进行编码的具体实现方式为:Optionally, the above-mentioned specific implementation method of encoding the first mesh geometric information is:
步骤1021,所述编码端对所述第一网格几何信息进行三维片划分;Step 1021: The encoding end divides the first grid geometric information into three-dimensional slices;
需要说明的是,此种情况下,主要是将第一网格几何信息进行片(Patch)划分,得到多个三维片;此步骤的具体实现方式为:编码端确定第一网格几何信息中包含的每个顶点的投影平面;编码端根据所述投影平面对所述第一网格几何信息中所包含的顶点进行片划分;编码端对所述第一网格几何信息中所包含的顶点进行聚类,得到划分后的每一片。也就是说,对于Patch划分的过程主要包括:首先估计每个顶点的法向量,选择平面法向量与顶点法向量之间的夹角最小的候选投影平面作为该顶点的投影平面;然后,根据投影平面对顶点进行初始划分,将投影平面相同且连通的顶点组成patch;最后,使用精细划分算法优化聚类结果,得到最终的三维片(3D patch)。It should be noted that in this case, the first grid geometry information is mainly divided into patches to obtain multiple three-dimensional patches; the specific implementation method of this step is: the encoding end determines the first grid geometry information The projection plane of each vertex included; the encoding end performs slice division on the vertices included in the first mesh geometry information according to the projection plane; the encoding end performs slice division on the vertices included in the first mesh geometry information Perform clustering to obtain each divided piece. That is to say, the process of patch division mainly includes: first estimating the normal vector of each vertex, selecting 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 vertices with the same and connected projection planes are composed into a patch; finally, a fine division algorithm is used to optimize the clustering results to obtain the final three-dimensional patch (3D patch).
下面对由第一网格几何信息得到三维片的过程的具体实现进行详细说明如下。The specific implementation of the process of obtaining the three-dimensional patch from the first mesh geometric information will be described in detail below.
首先估计每个点的法向量。切线平面和它对应的法线是根据每个点的最近的邻居顶点m在一个预定义的搜索距离定义的。K-D树(KD-Tree)用于分离数据,并在点pi附近找到相邻点,该集合的重心用于定义法线。重心c的计算方法如下:First estimate the normal vector of each point. The tangent plane and its corresponding normal are defined based on each point's nearest neighbor vertex m at a predefined search distance. KD-Tree is used to separate data and find adjacent 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:
公式一: Formula 1:
使用特征分解法估计顶点法向量,计算过程公式二所示:Use the eigendecomposition method to estimate the vertex normal vector, and the calculation process is shown in Formula 2:
公式二: Formula 2:
在初始划分阶段,初步选择每个顶点的投影平面。设顶点法向量的估计值为候选投影平面的法向量为选择法向量方向与顶点法向量方向最接近的平面作为该顶点的投影平面,平面选择的计算过程如公式三所示:In the initial partitioning stage, the projection plane of each vertex is initially selected. Let the estimated value of the vertex normal vector be 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 as shown in Formula 3:
公式三: Formula three:
精细划分过程可以采用基于网格的算法来降低算法的时间复杂度,基于网格的精细划分算法流程如图2所示,具体包括: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 2, which specifically includes:
先设置循环次数(numlter)为0,判断循环次数是否小于最大循环次数(需要说明的是,该最大循环次数可以根据使用需求设置),若小于则执行下述过程:First set the number of cycles (numlter) to 0 and determine whether the number of cycles is less than the maximum number of cycles (it should be noted that the maximum number of cycles can be set according to usage requirements). If it is less than the maximum number of cycles, perform the following process:
步骤201,将(x,y,z)几何坐标空间划分为体素。Step 201: Divide the (x, y, z) geometric coordinate space into voxels.
需要说明的是,此处的几何坐标空间指的是由第一网格几何信息所构成的几何坐标空间。例如,对于使用体素大小为8的10位Mesh,每个坐标上的体素数量将是1024/8=128,此坐标空间中的体素总数将是128×128×128。It should be noted that the geometric coordinate space here refers to the geometric coordinate space composed of the first grid geometric information. For example, for a 10-bit mesh using a voxel size of 8, the number of voxels at each coordinate would be 1024/8 = 128, and the total number of voxels in this coordinate space would be 128×128×128.
步骤202,查找填充体素,填充体素是指网格中包含至少有一个点的体素。Step 202: Find filled voxels. Filled voxels refer to voxels that contain at least one point in the grid.
步骤203,计算每个填充体素在每个投影平面上的平滑分数,记为voxScoreSmooth,体素在某投影平面的体素平滑分数是通过初始分割过程聚集到该投影平面的点的数量。Step 203: Calculate the smoothing score of each filled voxel on each projection plane, recorded as voxScoreSmooth. The voxel smoothing score of the voxel on a certain projection plane is the number of points gathered to the projection plane through the initial segmentation process.
步骤204,使用KD-Tree分区查找近邻填充体素,记为nnFilledVoxels,即每个填充体素(在搜索半径内和/或限制到最大数量的相邻体素)的最近的填充体素。 Step 204, use KD-Tree partitioning to find nearest 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).
步骤205,使用近邻填充体素在每个投影平面的体素平滑分数,计算每个填充体素的平滑分数(scoreSmooth),计算过程如公式四所示:Step 205: Use the voxel smoothing score of the nearest neighbor filled voxel in each projection plane to calculate the smoothing score (scoreSmooth) of each filled voxel. The calculation process is as shown in Formula 4:
公式四: Formula 4:
其中,p是投影平面的索引,v是近邻填充体素的索引。一个体素中所有点的scoreSmooth是相同的。where p is the index of the projection plane and v is the index of the nearest neighbor filling voxel. The scoreSmooth of all points in a voxel is the same.
步骤206,使用顶点的法向量与候选投影平面的法向量计算法向分数,记为scoreNormal,计算过程如公式五所示:Step 206: Calculate the normal score using the normal vector of the vertex and the normal vector of the candidate projection plane, recorded as scoreNormal. The calculation process is as shown in Formula 5:
公式五:scoreNormal[i][p]=normal[i]·orientation[p];Formula 5: scoreNormal[i][p]=normal[i]·orientation[p];
其中,p是投影平面的索引,i是顶点的索引。where p is the index of the projection plane and i is the index of the vertex.
步骤207,使用scoreSmooth和scoreNormal计算每个体素在各个投影平面上的最终分数,计算过程如公式六所示:Step 207, use scoreSmooth and scoreNormal to calculate the final score of each voxel on each projection plane. The calculation process is as shown in Formula 6:
公式六: Formula six:
其中,i为顶点索引,p为投影平面的索引,v是顶点i所在的体素索引。Among them, i is the vertex index, p is the index of the projection plane, and v is the voxel index where vertex i is located.
步骤208,使用步骤207中的分数对顶点进行聚类,得到精细划分的patch。Step 208: Use the scores in step 207 to cluster the vertices to obtain finely divided patches.
多次迭代上述过程,直到得到较为准确的patch。Iterate the above process multiple times until a more accurate patch is obtained.
步骤1022,所述编码端将划分的三维片进行二维投影,获取二维片;Step 1022: The encoding end performs two-dimensional projection on the divided three-dimensional slice to obtain the two-dimensional slice;
需要说的是,此过程是将3D patch投影到二维平面得到二维片(2D patch)。What needs to be said is that this process is to project the 3D patch onto a two-dimensional plane to obtain a two-dimensional patch (2D patch).
需要说明的是,Patch划分通过在给定投影平面上使用提供最佳压缩性能的策略将3D样本转换为2D样本。Patch划分的目标是将一帧三维模型的顶点分解成数量最小且边界光滑的Patch,同时最小化重构误差。It should be noted that patch partitioning converts 3D samples into 2D samples by using a strategy that provides the best compression performance on a given projection plane. The goal of patch division is to decompose the vertices of a frame of 3D model into patches with the smallest number and smooth boundaries, while minimizing the reconstruction error.
步骤1023,所述编码端将所述二维片进行打包,获取二维图像信息;Step 1023: The encoding end packages the two-dimensional slices to obtain two-dimensional image information;
需要说明的是,此步骤实现的是片打包(Patch packing),Patch packing的目的是将2D patch排列在一张二维图像上,Patch packing的基本原则是将patch不重叠的排列在二维图像上或者将patch的无像素部分进行部分重叠的排列在二维图像上,通过优先级排列、时域一致排列等算法,使patch排列的更加紧密,且具有时域一致性,提高编码性能。It should be noted that 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 or The pixel-free parts of the patch are partially overlapped and arranged on the two-dimensional image. Through priority arrangement, time domain consistent arrangement and other algorithms, the patches are arranged more closely and have time domain consistency to improve coding performance.
假设,二维图像的分辨率为WxH,定义patch排列的最小块大小为T,它指定了放置在这个2D网格上的不同补丁之间的最小距离。Assume that the resolution of the 2D image is WxH, and the minimum block size that defines the patch arrangement is T, which specifies the minimum distance between different patches placed on this 2D grid.
首先,patch按照不重叠的原则插入放置在2D网格上。每个patch占用由整数个TxT块组成的区域。此外,相邻patch之间要求至少有一个TxT块的距离。当没有足够的空间放置下一个patch时,图像的高度将变成原来的2倍,然后继续放置patch。First, patches are inserted and placed on the 2D grid according to the non-overlapping principle. Each patch occupies an area consisting of an integer number of TxT blocks. In addition, there is a requirement of at least one TxT block between adjacent patches. When there is not enough space to place the next patch, the height of the image will be doubled and the patch will continue to be placed.
为了使patch排列的更加紧密,patch可以选择多种不同的排列方向。例如,可以采用八种不同的排列方向,如图3所示,包括0度、180度、90度、270度以及前四种方向的镜像。In order to arrange the patches more closely, the patches can choose a variety of different arrangement directions. For example, eight different arrangement directions can be adopted, as shown in Figure 3, including 0 degrees, 180 degrees, 90 degrees, 270 degrees and mirror images of the first four directions.
为了获得更好的适应视频编码器帧间预测的特性,采用一种具有时域一致性的Patch排列方法。在一个帧组(Group of frame,GOF)中,第一帧的所有patch按照从大到小的 顺序依次排列。对于GOF中的其他帧,使用时域一致性算法调整patch的排列顺序。In order to obtain better adaptability to inter-frame prediction characteristics of video encoders, a patch arrangement method with temporal consistency is adopted. In a Group of frame (GOF), all patches of the first frame are arranged from largest to smallest. Arranged in order. For other frames in the GOF, the temporal consistency algorithm is used to adjust the order of patches.
这里还需要说明的是,在得到二维图像信息后便能根据获取二维图像信息过程中的信息得到patch信息,之后便可以进行片信息的编码,获取片信息子码流;It should also be noted here that after obtaining the two-dimensional image information, the patch information can be obtained based on the information in the process of obtaining the two-dimensional image information. After that, the patch information can be encoded and the patch information sub-stream can be obtained;
这里需要说明的是,在进行二维图像信息过程中需要记录patch划分的信息、patch投影平面的信息以及patch packing位置的信息,所以patch信息记录的是获取二维图像过程中各步骤操作的信息,即patch信息包括:patch划分的信息、patch投影平面的信息以及patch packing位置的信息。What needs to be explained here is that in the process of obtaining two-dimensional image information, it is necessary to record the information of patch division, the information of patch projection plane and the information of patch packing position, so the patch information records the information of each step operation in the process of obtaining two-dimensional image. , that is, the patch information includes: patch division information, patch projection plane information, and patch packing position information.
步骤1024,所述编码端根据所述二维图像信息,获取占位图和几何图;Step 1024: The encoding end obtains a placeholder map and a geometric map based on the two-dimensional image information;
需要说的是,对于获取占位图的过程,主要为:利用patch packing得到的patch排列信息,将二维图像中存在顶点的位置设为1,其余位置设为0,得到占位图。对于获取几何图的过程,主要为:在通过投影得到2D patch的过程中,保存了每个顶点到投影平面的距离,这个距离称为深度,低精度几何图压缩部分就是将2D patch中每个顶点的深度值,排列到该顶点在占位图中的位置上,得到几何图。What needs to be said is that the process of obtaining the placeholder map is mainly: using the patch arrangement information obtained by patch packing, setting the position of the vertex in the two-dimensional image to 1, and setting the remaining positions to 0 to obtain the placeholder map. For the process of obtaining the geometric map, the main process is: 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 the depth. The low-precision geometric map compression part is to compress each 2D patch in the 2D patch. The depth value of the vertex is arranged to the position of the vertex in the placeholder map to obtain the geometric map.
步骤1025,所述编码端分别对所述占位图和几何图进行编码。Step 1025: The encoding end encodes the placeholder image and the geometric image respectively.
本申请实施例的基于视频的三维网格几何信息编码框架如图4所示,总体编码流程为:The video-based three-dimensional grid geometric information encoding framework of the embodiment of this application is shown in Figure 4. The overall encoding process is:
具体的,对于编码端而言,首先对三维网格进行重复顶点的筛查,在此过程中记录并编码表示重复顶点的另外一种形式的信息,比如另外一张表示重复顶点的图、重复顶点的索引或标记出现重复位置的字符串等。对重复顶点的信息的编码可以根据对重复顶点的信息的表示形式采用包括但不限于游程编码、熵编码、视频编码等方式的编码或者放入V-PCC中的几何图进行视频编码。经过筛选后的网格几何信息中不包含几何坐标重复的顶点。记录重复顶点的信息后去除网格几何信息中的重复顶点,对不含重复顶点的三维网格的几何信息,采用投影的方式进行patch划分、patch排列生成patch序列压缩信息(patch的划分信息)、占位图和几何图;最后,编码patch序列压缩信息、占位图、几何图,得到对应的子码流;对重复顶点的信息进行单独的编码形成重复顶点子码流;最后将多路子码流混流,得到最终输出码流。Specifically, for the encoding end, the three-dimensional grid is first screened for repeated vertices. In the process, another form of information representing repeated vertices is recorded and encoded, such as another picture representing repeated vertices, repeated vertices, etc. The index of a vertex or a string marking the location of a duplicate, etc. The information of repeated vertices can be encoded according to the representation form of the information of repeated vertices, including but not limited to run-length coding, entropy coding, video coding, etc., or the geometric map put into V-PCC for video coding. The filtered mesh geometry information does not contain vertices with repeated geometric coordinates. After recording the information of repeated vertices, the repeated vertices in the mesh geometric information are removed. For the geometric information of the three-dimensional mesh that does not contain repeated vertices, the patch is divided by projection, and the patches are arranged to generate patch sequence compression information (patch division information). , placeholder map and geometric map; finally, encode the patch sequence to compress the information, placeholder map, and geometric map to obtain the corresponding sub-stream; separately encode the information of the repeated vertices to form a repeated vertex sub-stream; finally, the multi-path sub-stream is The code streams are mixed to obtain the final output code stream.
需要说明的是,本申请给出了一种新的独立处理重复位置顶点的压缩算法,对实现三维网格几何信息的高效压缩具有重要意义。It should be noted that this application provides a new compression algorithm that independently handles repeated position vertices, which is of great significance for realizing efficient compression of three-dimensional mesh geometric information.
本申请实施例提供的编码方法,执行主体可以为编码装置。本申请实施例中以编码装置执行编码方法为例,说明本申请实施例提供的编码装置。For the encoding method provided by the embodiment of the present application, the execution subject may be an encoding device. In the embodiment of the present application, the encoding device performing the encoding method is taken as an example to illustrate the encoding device provided by the embodiment of the present application.
如图5所示,本申请实施例提供一种编码装置500,包括:As shown in Figure 5, this embodiment of the present application provides an encoding device 500, which includes:
筛查模块501,用于对目标三维网格中重复顶点进行筛查,获取第一网格几何信息以及重复顶点的信息,所述第一网格几何信息为不包括重复顶点的网格几何信息;The screening module 501 is used to screen repeated vertices in the target three-dimensional mesh and obtain the first mesh geometric information and the information of the repeated vertices. The first mesh geometric information is the mesh geometric information excluding repeated vertices. ;
编码模块502,用于对所述第一网格几何信息以及所述重复顶点的信息分别进行编码;Encoding module 502, used to encode the first mesh geometric information and the information of the repeated vertices respectively;
其中,所述重复顶点为位置坐标相同的多个顶点中除第一顶点以外的顶点,所述第一顶点为位置坐标相同的多个顶点中的其中一个顶点。 Wherein, the repeated vertices are vertices other than the first vertex among the plurality of vertices with the same position coordinates, and the first vertex is one of the plurality of vertices with the same position coordinates.
可选地,所述重复顶点的信息包括:Optionally, the repeated vertex information includes:
与所述重复顶点对应的第一顶点的索引;the index of the first vertex corresponding to the repeated vertex;
重复顶点的个数。The number of repeated vertices.
可选地,所述重复顶点的信息通过以下至少一项表示:Optionally, the information of the repeated vertices is represented by at least one of the following:
所述第一网格几何信息中顶点的索引值标识为所述顶点对应的位置是否有重复顶点和/或重复顶点的个数;The index value of the vertex in the first mesh geometry information is identified as whether there are duplicate vertices at the position corresponding to the vertex and/or the number of duplicate vertices;
所述目标三维网格中存在重复顶点的位置在所述第一网格几何信息对应的占位图中的像素值基于重复顶点的个数确定;The pixel value of the position where there are repeated vertices in the target three-dimensional grid in the placeholder map corresponding to the first grid geometry information is determined based on the number of repeated vertices;
分别用不同的比特表示与所述重复顶点对应的第一顶点的索引和重复顶点的个数。Different bits are respectively used to represent the index of the first vertex corresponding to the repeated vertex and the number of repeated vertices.
可选地,所述编码模块502,包括:Optionally, the encoding module 502 includes:
划分单元,用于对所述第一网格几何信息进行三维片划分;A dividing unit, used to divide the first grid geometric information into three-dimensional slices;
第一获取单元,用于将划分的三维片进行二维投影,获取二维片;The first acquisition unit is used to perform two-dimensional projection on the divided three-dimensional slices to obtain the two-dimensional slices;
第二获取单元,用于将所述二维片进行打包,获取二维图像信息;a second acquisition unit, used to package the two-dimensional slices and acquire two-dimensional image information;
第三获取单元,用于根据所述二维图像信息,获取占位图和几何图;A third acquisition unit, configured to acquire placeholder images and geometric images according to the two-dimensional image information;
第一编码单元,用于分别对所述占位图和几何图进行编码。The first coding unit is used to code the placeholder map and the geometric map respectively.
可选地,在所述第二获取单元将所述二维片进行打包,获取二维图像信息之后,所述编码模块502,还包括:Optionally, after the second acquisition unit packages the two-dimensional slices and acquires two-dimensional image information, the encoding module 502 further includes:
第四获取单元,用于根据获取二维图像信息过程中的信息,获取片信息;The fourth acquisition unit is used to acquire slice information based on the information in the process of acquiring two-dimensional image information;
第二编码单元,用于对所述片信息进行编码,获取片信息子码流。The second encoding unit is used to encode the slice information and obtain the slice information sub-stream.
该装置实施例与上述编码方法实施例对应,上述方法实施例的各个实施过程和实现方式均可适用于该装置实施例中,且能达到相同的技术效果。This device embodiment corresponds to the above-mentioned encoding method embodiment. Each implementation process and implementation manner of the above-mentioned method embodiment can be applied to this device embodiment, and can achieve the same technical effect.
本申请实施例还提供了一种编码设备,包括处理器及通信接口,其中,所述处理器用于对目标三维网格中重复顶点进行筛查,获取第一网格几何信息以及重复顶点的信息,所述第一网格几何信息为不包括重复顶点的网格几何信息;对所述第一网格几何信息以及所述重复顶点的信息分别进行编码;Embodiments of the present application also provide a coding device, including a processor and a communication interface, wherein the processor is used to screen repeated vertices in the target three-dimensional grid and obtain the first grid geometric information and the information of the repeated vertices. , the first mesh geometric information is mesh geometric information excluding repeated vertices; the first mesh geometric information and the information of the repeated vertices are encoded respectively;
其中,所述重复顶点为位置坐标相同的多个顶点中除第一顶点以外的顶点,所述第一顶点为位置坐标相同的多个顶点中的其中一个顶点。Wherein, the repeated vertices are vertices other than the first vertex among the plurality of vertices with the same position coordinates, and the first vertex is one of the plurality of vertices with the same position coordinates.
具体地,本申请实施例还提供了一种编码设备,如图6所示,该编码设备600包括:处理器601、网络接口602和存储器603。其中,网络接口602例如为通用公共无线接口(common public radio interface,CPRI)。Specifically, this embodiment of the present application also provides an encoding device. As shown in Figure 6 , the encoding device 600 includes: a processor 601, a network interface 602, and a memory 603. The network interface 602 is, for example, a common public radio interface (CPRI).
具体地,本申请实施例的编码设备600还包括:存储在存储器603上并可在处理器601上运行的指令或程序,处理器601调用存储器603中的指令或程序执行图5所示各模块执行的方法,并达到相同的技术效果,为避免重复,故不在此赘述。Specifically, the encoding device 600 in the embodiment of the present application also includes: instructions or programs stored in the memory 603 and executable on the processor 601. The processor 601 calls the instructions or programs in the memory 603 to execute the modules shown in Figure 5 The implementation method and achieve the same technical effect will not be repeated here to avoid repetition.
如图7所示,本申请实施例还提供一种解码方法,包括:As shown in Figure 7, this embodiment of the present application also provides a decoding method, including:
步骤701,解码端对获取的目标三维网格对应的码流进行分解,获取重复顶点的信息 以及第一网格几何信息;Step 701: The decoder decomposes the code stream corresponding to the obtained target three-dimensional grid and obtains the information of repeated vertices. And the first grid geometry information;
需要说明的是,所述第一网格几何信息为不包括重复顶点的网格几何信息;It should be noted that the first mesh geometry information is mesh geometry information that does not include repeated vertices;
步骤702,所述解码端根据所述重复顶点的信息以及所述第一网格几何信息,获取所述目标三维网格;Step 702: The decoding end obtains the target three-dimensional mesh based on the information of the repeated vertices and the first mesh geometry information;
其中,所述重复顶点为位置坐标相同的多个顶点中除第一顶点以外的顶点,所述第一顶点为位置坐标相同的多个顶点中的其中一个顶点。Wherein, the repeated vertices are vertices other than the first vertex among the plurality of vertices with the same position coordinates, and the first vertex is one of the plurality of vertices with the same position coordinates.
可选地,所述重复顶点的信息包括:Optionally, the repeated vertex information includes:
与所述重复顶点对应的第一顶点的索引;the index of the first vertex corresponding to the repeated vertex;
重复顶点的个数。The number of repeated vertices.
可选地,所述重复顶点的信息通过以下至少一项表示:Optionally, the information of the repeated vertices is represented by at least one of the following:
所述第一网格几何信息中顶点的索引值标识为所述顶点对应的位置是否有重复顶点和/或重复顶点的个数;The index value of the vertex in the first mesh geometry information is identified as whether there are duplicate vertices at the position corresponding to the vertex and/or the number of duplicate vertices;
所述目标三维网格中存在重复顶点的位置在所述第一网格几何信息对应的占位图中的像素值基于重复顶点的个数确定;The pixel value of the position where there are repeated vertices in the target three-dimensional grid in the placeholder map corresponding to the first grid geometry information is determined based on the number of repeated vertices;
分别用不同的比特表示与所述重复顶点对应的第一顶点的索引和重复顶点的个数。Different bits are respectively used to represent the index of the first vertex corresponding to the repeated vertex and the number of repeated vertices.
可选地,获取所述第一网格几何信息的具体实现,包括:Optionally, the specific implementation of obtaining the first grid geometry information includes:
所述解码端根据获取的目标三维网格对应的码流,获取目标子码流,所述目标子码流包括:片信息子码流、占位图子码流和几何图子码流;The decoding end obtains the target sub-code stream according to the obtained code stream corresponding to the target three-dimensional grid. The target sub-code stream includes: a slice information sub-stream, a placeholder map sub-stream and a geometric map sub-stream;
所述解码端根据所述目标子码流,获取占位图和几何图;The decoding end obtains placeholder images and geometric images according to the target sub-stream;
所述解码端根据所述占位图和几何图,获取所述第一网格几何信息。The decoding end obtains the first grid geometry information based on the placeholder map and the geometric map.
可选地,所述根据所述占位图和几何图,获取所述第一网格几何信息,包括:Optionally, obtaining the first grid geometry information based on the placeholder map and the geometric map includes:
所述解码端根据所述占位图和所述几何图,获取二维图像信息;The decoding end obtains two-dimensional image information based on the placeholder map and the geometric map;
所述解码端根据所述二维图像信息,获取二维片;The decoding end obtains a two-dimensional slice according to the two-dimensional image information;
所述解码端根据所述片信息子码流对应的片信息对所述二维片进行三维逆投影,获取三维片;The decoding end performs three-dimensional back-projection on the two-dimensional slice according to the slice information corresponding to the slice information sub-stream to obtain the three-dimensional slice;
所述解码端根据所述三维片,获取所述第一网格几何信息。The decoder acquires the first grid geometry information based on the three-dimensional slice.
需要说明的是,几何信息重建过程是利用patch信息、占位图、几何图和重复顶点的信息,重建三维几何模型的过程。具体过程如图8所示,主要分为四步:It should be noted that the geometric information reconstruction process is a process of reconstructing a three-dimensional geometric model using patch information, placeholder images, geometric images, and repeated vertex information. The specific process is shown in Figure 8, which is mainly divided into four steps:
步骤801,获取2D patch;Step 801, obtain 2D patch;
获取2D patch是指利用patch信息从占位图和几何图中分割出2D patch的占位信息和深度信息。Patch信息中包含了每个2D patch的包围盒在占位图和几何图中的位置和大小,利用patch信息、占位图和几何图可以直接获取到2D patch的占位信息和几何信息。Obtaining a 2D patch refers to using the patch information to segment the occupancy information and depth information of the 2D patch from the occupancy map and geometric map. The patch information contains the position and size of the bounding box of each 2D patch in the placeholder map and geometric map. The placeholder information and geometric information of the 2D patch can be directly obtained by using the patch information, placeholder map, and geometric map.
步骤802,重建3D patch;Step 802, reconstruct the 3D patch;
重建3D patch是指利用2D patch中的占位信息和几何信息,将2D patch中的顶点重建为3D patch。2D patch的占位信息中包含了顶点在patch投影平面局部坐标系中相对于 坐标原点的位置,深度信息包含了顶点在投影平面法线方向上的深度值。因此,利用占位信息和深度信息可以在局部坐标系中将2D patch重建为3D patch。Reconstructing a 3D patch refers to using the occupancy information and geometric information in the 2D patch to reconstruct the vertices in the 2D patch into a 3D patch. The occupancy information of the 2D patch includes the relative position of the vertices in the local coordinate system of the patch projection plane. The position of the coordinate origin, and the depth information contains the depth value of the vertex in the normal direction of the projection plane. Therefore, the 2D patch can be reconstructed into a 3D patch in the local coordinate system using the occupancy information and depth information.
步骤803,重建无重复点的几何模型;Step 803, reconstruct the geometric model without repeated points;
重建无重复点的几何模型是指利用重建的3D patch,重建整个三维几何模型。Patch信息中包含了3D patch由局部坐标系转换成三维几何模型全局坐标系的转换关系,利用坐标转换关系将所有的3D patch转换到全局坐标系下,就得到了无重复顶点的三维几何模型。Reconstructing a geometric model without repeated points refers to using the reconstructed 3D patch to reconstruct the entire three-dimensional geometric model. The patch information contains the conversion relationship of the 3D patch from the local coordinate system to the global coordinate system of the three-dimensional geometric model. Using the coordinate conversion relationship to convert all 3D patches to the global coordinate system, a three-dimensional geometric model without repeated vertices is obtained.
步骤804,重建含重复点的几何模型;Step 804: Reconstruct the geometric model containing repeated points;
对于解码得到的重复顶点的信息,直接利用重复顶点的信息,如与无重复顶点的三维几何模型中顶点的对应关系,就可以将重复顶点对应位置的几何坐标补充回无重复顶点的几何信息中,从而得到含重复顶点的三维几何模型。For the information of repeated vertices obtained by decoding, the information of repeated vertices is directly used, such as the corresponding relationship with the vertices in the three-dimensional geometric model without repeated vertices, and the geometric coordinates of the corresponding positions of the repeated vertices can be supplemented back to the geometric information of the non-repeated vertices. , thereby obtaining a three-dimensional geometric model containing repeated vertices.
本申请实施例的基于视频的三维网格几何信息解码框架如图9所示,总体解码流程为:The video-based three-dimensional grid geometric information decoding framework of the embodiment of this application is shown in Figure 9. The overall decoding process is:
首先,将码流分解成patch信息子码流、占位图子码流、几何图子码流和重复顶点子码流并分别进行解码;使用占位图、几何图可以重建不含重复顶点的三维网格的几何信息,再结合解码出的重复顶点的信息可以重建原始的网格几何信息。First, the code stream is decomposed into patch information sub-stream, placeholder map sub-stream, geometric map sub-stream and repeated vertex sub-stream and decoded respectively; using placeholder map and geometric map, the code stream without repeated vertices can be reconstructed. The geometric information of the three-dimensional mesh, combined with the decoded repeated vertex information, can reconstruct the original mesh geometric information.
上述方案,通过对不存在重复顶点的网格几何信息以及重复顶点的信息分别进行解码,以此能够在对网格几何信息进行无损编解码时,提高对几何信息的解码效率。The above solution decodes the mesh geometry information without repeated vertices and the information of repeated vertices separately, thereby improving the decoding efficiency of the geometric information when performing lossless encoding and decoding of the mesh geometry information.
需要说明的是,本申请实施例是与上述编码方法的实施例对应的对端的方法实施例,解码过程为编码的反过程,上述编码侧的所有实现方式均适用于该解码端的实施例中,也能达到与之相同的技术效果,在此不再赘述。It should be noted that the embodiment of the present application is a method embodiment of the opposite end corresponding to the embodiment of the above encoding method. The decoding process is the inverse process of encoding. All the above implementation methods on the encoding side are applicable to the embodiment of the decoding end. The same technical effect can also be achieved, which will not be described again here.
如图10所示,本申请实施例还提供一种解码装置1000,包括:As shown in Figure 10, this embodiment of the present application also provides a decoding device 1000, which includes:
第一获取模块1001,用于对获取的目标三维网格对应的码流进行分解,获取重复顶点的信息以及第一网格几何信息,所述第一网格几何信息为不包括重复顶点的网格几何信息;The first acquisition module 1001 is used to decompose the code stream corresponding to the acquired target three-dimensional mesh, and acquire the information of repeated vertices and the first mesh geometric information. The first mesh geometric information is a mesh that does not include repeated vertices. Lattice geometry information;
第二获取模块1002,用于根据所述重复顶点的信息以及所述第一网格几何信息,获取所述目标三维网格;The second acquisition module 1002 is used to acquire the target three-dimensional mesh according to the information of the repeated vertices and the first mesh geometry information;
其中,所述重复顶点为位置坐标相同的多个顶点中除第一顶点以外的顶点,所述第一顶点为位置坐标相同的多个顶点中的其中一个顶点。Wherein, the repeated vertices are vertices other than the first vertex among the plurality of vertices with the same position coordinates, and the first vertex is one of the plurality of vertices with the same position coordinates.
可选地,所述重复顶点的信息包括:Optionally, the repeated vertex information includes:
与所述重复顶点对应的第一顶点的索引;the index of the first vertex corresponding to the repeated vertex;
重复顶点的个数。The number of repeated vertices.
可选地,所述重复顶点的信息通过以下至少一项表示:Optionally, the information of the repeated vertices is represented by at least one of the following:
所述第一网格几何信息中顶点的索引值标识为所述顶点对应的位置是否有重复顶点和/或重复顶点的个数;The index value of the vertex in the first mesh geometry information is identified as whether there are duplicate vertices at the position corresponding to the vertex and/or the number of duplicate vertices;
所述目标三维网格中存在重复顶点的位置在所述第一网格几何信息对应的占位图中的像素值基于重复顶点的个数确定; The pixel value of the position where there are repeated vertices in the target three-dimensional grid in the placeholder map corresponding to the first grid geometry information is determined based on the number of repeated vertices;
分别用不同的比特表示与所述重复顶点对应的第一顶点的索引和重复顶点的个数。Different bits are respectively used to represent the index of the first vertex corresponding to the repeated vertex and the number of repeated vertices.
可选地,所述第一获取模块1001对获取的码流进行分解,获取第一网格几何信息的情况下,包括:Optionally, the first acquisition module 1001 decomposes the acquired code stream, and when acquiring the first grid geometry information, includes:
第五获取单元,用于根据获取的目标三维网格对应的码流,获取目标子码流,所述目标子码流包括:片信息子码流、占位图子码流和几何图子码流;The fifth acquisition unit is used to acquire the target sub-code stream according to the obtained code stream corresponding to the target three-dimensional grid. The target sub-code stream includes: a slice information sub-code stream, a placeholder map sub-code stream and a geometric map sub-code stream. flow;
第六获取单元,用于根据所述目标子码流,获取占位图和几何图;The sixth acquisition unit is used to acquire placeholder images and geometric images according to the target sub-code stream;
第七获取单元,用于根据所述占位图和几何图,获取所述第一网格几何信息。A seventh acquisition unit is used to acquire the first grid geometry information according to the placeholder map and the geometric map.
可选地,所述第七获取单元,用于:Optionally, the seventh acquisition unit is used for:
根据所述占位图和所述几何图,获取二维图像信息;Obtain two-dimensional image information according to the placeholder map and the geometric map;
根据所述二维图像信息,获取二维片;According to the two-dimensional image information, obtain a two-dimensional slice;
根据所述片信息子码流对应的片信息对所述二维片进行三维逆投影,获取三维片;Perform three-dimensional back-projection on the two-dimensional slice according to the slice information corresponding to the slice information sub-stream to obtain the three-dimensional slice;
根据所述三维片,获取所述第一网格几何信息。According to the three-dimensional slice, the first grid geometry information is obtained.
需要说明的是,该装置实施例是与上述方法对应的装置,上述方法实施例中的所有实现方式均适用于该装置实施例中,也能达到相同的技术效果,在此不再赘述。It should be noted that this device embodiment is a device corresponding to the above-mentioned method. All implementation methods in the above-mentioned method embodiment are applicable to this device embodiment and can achieve the same technical effect, which will not be described again here.
优选的,本申请实施例还提供一种解码设备,包括处理器,存储器,存储在存储器上并可在所述处理器上运行的程序或指令,该程序或指令被处理器执行时实现上述的解码方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。Preferably, the embodiment of the present application also provides a decoding device, including a processor, a memory, and a program or instruction stored in the memory and executable on the processor. When the program or instruction is executed by the processor, the above-mentioned decoding device is implemented. Each process of the decoding method embodiment can achieve the same technical effect. To avoid repetition, it will not be described again here.
本申请实施例还提供一种可读存储介质,计算机可读存储介质上存储有程序或指令,该程序或指令被处理器执行时实现上述的解码方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。Embodiments of the present application also provide a readable storage medium. Programs or instructions are stored on the computer-readable storage medium. When the program or instructions are executed by a processor, each process of the above-mentioned decoding method embodiment is implemented, and the same process can be achieved. To avoid repetition, the technical effects will not be repeated here.
其中,所述的计算机可读存储介质,如只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等。Among them, the computer-readable storage medium is such as read-only memory (ROM), random access memory (Random Access Memory, RAM), magnetic disk or optical disk, etc.
本申请实施例还提供了一种解码设备,包括处理器及通信接口,其中,所述处理器用于对获取的目标三维网格对应的码流进行分解,获取重复顶点的信息以及第一网格几何信息,所述第一网格几何信息为不包括重复顶点的网格几何信息;根据所述重复顶点的信息以及所述第一网格几何信息,获取所述目标三维网格;Embodiments of the present application also provide a decoding device, including a processor and a communication interface, wherein the processor is used to decompose the obtained code stream corresponding to the target three-dimensional grid, and obtain the information of repeated vertices and the first grid. Geometric information, the first mesh geometric information is mesh geometric information excluding repeated vertices; according to the information of the repeated vertices and the first mesh geometric information, the target three-dimensional mesh is obtained;
其中,所述重复顶点为位置坐标相同的多个顶点中除第一顶点以外的顶点,所述第一顶点为位置坐标相同的多个顶点中的其中一个顶点。Wherein, the repeated vertices are vertices other than the first vertex among the plurality of vertices with the same position coordinates, and the first vertex is one of the plurality of vertices with the same position coordinates.
该解码设备实施例是与上述解码方法实施例对应的,上述方法实施例的各个实施过程和实现方式均可适用于该解码设备实施例中,且能达到相同的技术效果。This decoding device embodiment corresponds to the above-mentioned decoding method embodiment. Each implementation process and implementation manner of the above-mentioned method embodiment can be applied to this decoding device embodiment, and can achieve the same technical effect.
具体地,本申请实施例还提供了一种解码设备。具体地,本申请实施例的解码设备还包括:存储在存储器上并可在处理器上运行的指令或程序,处理器调用存储器中的指令或程序执行图10所示各模块执行的方法,并达到相同的技术效果,为避免重复,故不在此赘述。Specifically, the embodiment of the present application also provides a decoding device. Specifically, the decoding device in the embodiment of the present application also includes: instructions or programs stored in the memory and executable on the processor. The processor calls the instructions or programs in the memory to execute the method executed by each module shown in Figure 10, and To achieve the same technical effect, to avoid repetition, we will not repeat them here.
本申请实施例还提供一种可读存储介质,所述可读存储介质上存储有程序或指令,该 程序或指令被处理器执行时实现上述解码方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。Embodiments of the present application also provide a readable storage medium, where programs or instructions are stored on the readable storage medium. When the program or instruction is executed by the processor, each process of the above decoding method embodiment is implemented, and the same technical effect can be achieved. To avoid repetition, the details will not be described here.
其中,所述处理器为上述实施例中所述的解码设备中的处理器。所述可读存储介质,包括计算机可读存储介质,如计算机只读存储器ROM、随机存取存储器RAM、磁碟或者光盘等。Wherein, the processor is the processor in the decoding device described in the above embodiment. The readable storage medium includes computer readable storage media, such as computer read-only memory ROM, random access memory RAM, magnetic disk or optical disk, etc.
可选的,如图11所示,本申请实施例还提供一种通信设备1100,包括处理器1101和存储器1102,存储器1102上存储有可在所述处理器1101上运行的程序或指令,例如,该通信设备1100为编码设备时,该程序或指令被处理器1101执行时实现上述编码方法实施例的各个步骤,且能达到相同的技术效果。该通信设备1100为解码设备时,该程序或指令被处理器1101执行时实现上述解码方法实施例的各个步骤,且能达到相同的技术效果,为避免重复,这里不再赘述。Optionally, as shown in Figure 11, this embodiment of the present application also provides a communication device 1100, which includes a processor 1101 and a memory 1102. The memory 1102 stores programs or instructions that can be run on the processor 1101, such as , when the communication device 1100 is a coding device, when the program or instruction is executed by the processor 1101, each step of the above coding method embodiment is implemented, and the same technical effect can be achieved. When the communication device 1100 is a decoding device, when the program or instruction is executed by the processor 1101, each step of the above decoding method embodiment is implemented, and the same technical effect can be achieved. To avoid duplication, the details will not be described here.
本申请实施例另提供了一种芯片,所述芯片包括处理器和通信接口,所述通信接口和所述处理器耦合,所述处理器用于运行程序或指令,实现上述编码方法或解码方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。An embodiment of the present application further provides a chip. The chip includes a processor and a communication interface. The communication interface is coupled to the processor. The processor is used to run programs or instructions to implement the above encoding method or decoding method. Each process in the example can achieve the same technical effect. To avoid repetition, we will not repeat it here.
应理解,本申请实施例提到的芯片还可以称为系统级芯片,系统芯片,芯片系统或片上系统芯片等。It should be understood that the chips mentioned in the embodiments of this application may also be called system-on-chip, system-on-a-chip, system-on-chip or system-on-chip, etc.
本申请实施例另提供了一种计算机程序/程序产品,所述计算机程序/程序产品被存储在存储介质中,所述计算机程序/程序产品被至少一个处理器执行以实现上述编码方法或解码方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。Embodiments of the present application further provide a computer program/program product. The computer program/program product is stored in a storage medium. The computer program/program product is executed by at least one processor to implement the above encoding method or decoding method. Each process of the embodiment can achieve the same technical effect, so to avoid repetition, it will not be described again here.
本申请实施例还提供了一种通信系统,至少包括:编码设备和解码设备,所述编码设备可用于执行如上所述的编码方法的步骤,所述解码设备可用于执行如上所述的解码方法的步骤。且能达到相同的技术效果,为避免重复,这里不再赘述。Embodiments of the present application also provide a communication system, which at least includes: an encoding device and a decoding device. The encoding device can be used to perform the steps of the encoding method as described above. The decoding device can be used to perform the decoding method as described above. A step of. And can achieve the same technical effect. To avoid repetition, they will not be described again here.
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。此外,需要指出的是,本申请实施方式中的方法和装置的范围不限按示出或讨论的顺序来执行功能,还可包括根据所涉及的功能按基本同时的方式或按相反的顺序来执行功能,例如,可以按不同于所描述的次序来执行所描述的方法,并且还可以添加、省去、或组合各种步骤。另外,参照某些示例所描述的特征可在其他示例中被组合。It should be noted that, in this document, the terms "comprising", "comprises" or any other variations thereof are intended to cover a non-exclusive inclusion, such that a process, method, article or device that includes a series of elements not only includes those elements, It also includes other elements not expressly listed or inherent in the process, method, article or apparatus. Without further limitation, an element defined by the statement "comprises a..." does not exclude the presence of additional identical elements in a process, method, article or apparatus that includes that element. In addition, it should be pointed out that 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, but may also include performing functions in a substantially simultaneous manner or in reverse order according to the functions involved. Functions may be performed, for example, the methods described may be performed in an order different from that described, and various steps may be added, omitted, or combined. Additionally, features described with reference to certain examples may be combined in other examples.
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以计算机软件产品的形式体现出来,该计算机软件产品存储在一个存储介质 (如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本申请各个实施例所述的方法。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 the necessary general hardware platform. Of course, it can also be implemented by hardware, but in many cases the former is better. implementation. Based on this understanding, the technical solution of the present application is essentially or the part that contributes to the existing technology can be embodied in the form of a computer software product, and the computer software product is stored in a storage medium (such as ROM/RAM, magnetic disk, optical disk), including a number of instructions to cause a terminal (which can be a mobile phone, computer, server, air conditioner, or network equipment, etc.) to execute the method described in various embodiments of this application.
上面结合附图对本申请的实施例进行了描述,但是本申请并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本申请的启示下,在不脱离本申请宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本申请的保护之内。 The embodiments of the present application have been described above in conjunction with the accompanying drawings. However, the present application is not limited to the above-mentioned specific implementations. The above-mentioned specific implementations are only illustrative and not restrictive. Those of ordinary skill in the art will Inspired by this application, many forms can be made without departing from the purpose of this application and the scope protected by the claims, all of which fall within the protection of this application.

Claims (21)

  1. 一种编码方法,包括:A coding method that includes:
    编码端对目标三维网格中重复顶点进行筛查,获取第一网格几何信息以及重复顶点的信息,所述第一网格几何信息为不包括重复顶点的网格几何信息;The encoding end screens the repeated vertices in the target three-dimensional grid and obtains the first grid geometric information and the information of the repeated vertices, where the first grid geometric information is the grid geometric information excluding repeated vertices;
    所述编码端对所述第一网格几何信息以及所述重复顶点的信息分别进行编码;The encoding end encodes the first mesh geometric information and the information of the repeated vertices respectively;
    其中,所述重复顶点为位置坐标相同的多个顶点中除第一顶点以外的顶点,所述第一顶点为位置坐标相同的多个顶点中的其中一个顶点。Wherein, the repeated vertices are vertices other than the first vertex among the plurality of vertices with the same position coordinates, and the first vertex is one of the plurality of vertices with the same position coordinates.
  2. 根据权利要求1所述的方法,其中,所述重复顶点的信息包括:The method according to claim 1, wherein the information of the repeated vertices includes:
    与所述重复顶点对应的第一顶点的索引;the index of the first vertex corresponding to the repeated vertex;
    重复顶点的个数。The number of repeated vertices.
  3. 根据权利要求1所述的方法,其中,所述重复顶点的信息通过以下至少一项表示:The method according to claim 1, wherein the information of the repeated vertices is represented by at least one of the following:
    所述第一网格几何信息中顶点的索引值标识为所述顶点对应的位置是否有重复顶点和/或重复顶点的个数;The index value of the vertex in the first mesh geometry information is identified as whether there are duplicate vertices at the position corresponding to the vertex and/or the number of duplicate vertices;
    所述目标三维网格中存在重复顶点的位置在所述第一网格几何信息对应的占位图中的像素值基于重复顶点的个数确定;The pixel value of the position where there are repeated vertices in the target three-dimensional grid in the placeholder map corresponding to the first grid geometry information is determined based on the number of repeated vertices;
    分别用不同的比特表示与所述重复顶点对应的第一顶点的索引和重复顶点的个数。Different bits are respectively used to represent the index of the first vertex corresponding to the repeated vertex and the number of repeated vertices.
  4. 根据权利要求1所述的方法,其中,对所述第一网格几何信息进行编码,包括:The method of claim 1, wherein encoding the first mesh geometry information includes:
    所述编码端对所述第一网格几何信息进行三维片划分;The encoding end divides the first grid geometric information into three-dimensional slices;
    所述编码端将划分的三维片进行二维投影,获取二维片;The encoding end performs two-dimensional projection on the divided three-dimensional slice to obtain the two-dimensional slice;
    所述编码端将所述二维片进行打包,获取二维图像信息;The encoding end packages the two-dimensional slices to obtain two-dimensional image information;
    所述编码端根据所述二维图像信息,获取占位图和几何图;The encoding end obtains placeholder images and geometric images based on the two-dimensional image information;
    所述编码端分别对所述占位图和几何图进行编码。The encoding end encodes the placeholder image and the geometric image respectively.
  5. 一种解码方法,包括:A decoding method including:
    解码端对获取的目标三维网格对应的码流进行分解,获取重复顶点的信息以及第一网格几何信息,所述第一网格几何信息为不包括重复顶点的网格几何信息;The decoding end decomposes the code stream corresponding to the acquired target three-dimensional grid, and obtains the information of repeated vertices and the first grid geometry information, where the first grid geometry information is grid geometry information excluding repeated vertices;
    所述解码端根据所述重复顶点的信息以及所述第一网格几何信息,获取所述目标三维网格;The decoding end obtains the target three-dimensional mesh based on the information of the repeated vertices and the first mesh geometry information;
    其中,所述重复顶点为位置坐标相同的多个顶点中除第一顶点以外的顶点,所述第一顶点为位置坐标相同的多个顶点中的其中一个顶点。Wherein, the repeated vertices are vertices other than the first vertex among the plurality of vertices with the same position coordinates, and the first vertex is one of the plurality of vertices with the same position coordinates.
  6. 根据权利要求5所述的方法,其中,所述重复顶点的信息包括:The method according to claim 5, wherein the information of the repeated vertices includes:
    与所述重复顶点对应的第一顶点的索引;the index of the first vertex corresponding to the repeated vertex;
    重复顶点的个数。The number of repeated vertices.
  7. 根据权利要求5所述的方法,其中,所述重复顶点的信息通过以下至少一项表示:The method according to claim 5, wherein the information of the repeated vertices is represented by at least one of the following:
    所述第一网格几何信息中顶点的索引值标识为所述顶点对应的位置是否有重复顶点 和/或重复顶点的个数;The index value of the vertex in the first mesh geometry information is identified as whether there is a duplicate vertex at the position corresponding to the vertex. and/or the number of repeated vertices;
    所述目标三维网格中存在重复顶点的位置在所述第一网格几何信息对应的占位图中的像素值基于重复顶点的个数确定;The pixel value of the position where there are repeated vertices in the target three-dimensional grid in the placeholder map corresponding to the first grid geometry information is determined based on the number of repeated vertices;
    分别用不同的比特表示与所述重复顶点对应的第一顶点的索引和重复顶点的个数。Different bits are respectively used to represent the index of the first vertex corresponding to the repeated vertex and the number of repeated vertices.
  8. 根据权利要求5所述的方法,其中,获取所述第一网格几何信息,包括:The method of claim 5, wherein obtaining the first mesh geometry information includes:
    所述解码端根据获取的目标三维网格对应的码流,获取目标子码流,所述目标子码流包括:片信息子码流、占位图子码流和几何图子码流;The decoding end obtains the target sub-code stream according to the obtained code stream corresponding to the target three-dimensional grid. The target sub-code stream includes: a slice information sub-stream, a placeholder map sub-stream and a geometric map sub-stream;
    所述解码端根据所述目标子码流,获取占位图和几何图;The decoding end obtains placeholder images and geometric images according to the target sub-stream;
    所述解码端根据所述占位图和几何图,获取所述第一网格几何信息。The decoding end obtains the first grid geometry information based on the placeholder map and the geometric map.
  9. 根据权利要求8所述的方法,其中,所述根据所述占位图和几何图,获取所述第一网格几何信息,包括:The method according to claim 8, wherein said obtaining the first grid geometry information according to the placeholder map and the geometric map includes:
    所述解码端根据所述占位图和所述几何图,获取二维图像信息;The decoding end obtains two-dimensional image information based on the placeholder map and the geometric map;
    所述解码端根据所述二维图像信息,获取二维片;The decoding end obtains a two-dimensional slice according to the two-dimensional image information;
    所述解码端根据所述片信息子码流对应的片信息对所述二维片进行三维逆投影,获取三维片;The decoding end performs three-dimensional back-projection on the two-dimensional slice according to the slice information corresponding to the slice information sub-stream to obtain the three-dimensional slice;
    所述解码端根据所述三维片,获取所述第一网格几何信息。The decoder acquires the first grid geometry information based on the three-dimensional slice.
  10. 一种编码装置,包括:An encoding device comprising:
    筛查模块,用于对目标三维网格中重复顶点进行筛查,获取第一网格几何信息以及重复顶点的信息,所述第一网格几何信息为不包括重复顶点的网格几何信息;A screening module, used to screen repeated vertices in the target three-dimensional grid, and obtain first grid geometric information and information of repeated vertices, where the first grid geometric information is grid geometric information excluding repeated vertices;
    编码模块,用于对所述第一网格几何信息以及所述重复顶点的信息分别进行编码;An encoding module, configured to encode the first mesh geometric information and the information of the repeated vertices respectively;
    其中,所述重复顶点为位置坐标相同的多个顶点中除第一顶点以外的顶点,所述第一顶点为位置坐标相同的多个顶点中的其中一个顶点。Wherein, the repeated vertices are vertices other than the first vertex among the plurality of vertices with the same position coordinates, and the first vertex is one of the plurality of vertices with the same position coordinates.
  11. 根据权利要求10所述的装置,其中,所述重复顶点的信息包括:The device according to claim 10, wherein the information of the repeated vertices includes:
    与所述重复顶点对应的第一顶点的索引;the index of the first vertex corresponding to the repeated vertex;
    重复顶点的个数。The number of repeated vertices.
  12. 根据权利要求10所述的装置,其中,所述重复顶点的信息通过以下至少一项表示:The device according to claim 10, wherein the information of the repeated vertices is represented by at least one of the following:
    所述第一网格几何信息中顶点的索引值标识为所述顶点对应的位置是否有重复顶点和/或重复顶点的个数;The index value of the vertex in the first mesh geometry information is identified as whether there are duplicate vertices at the position corresponding to the vertex and/or the number of duplicate vertices;
    所述目标三维网格中存在重复顶点的位置在所述第一网格几何信息对应的占位图中的像素值基于重复顶点的个数确定;The pixel value of the position where there are repeated vertices in the target three-dimensional grid in the placeholder map corresponding to the first grid geometry information is determined based on the number of repeated vertices;
    分别用不同的比特表示与所述重复顶点对应的第一顶点的索引和重复顶点的个数。Different bits are respectively used to represent the index of the first vertex corresponding to the repeated vertex and the number of repeated vertices.
  13. 根据权利要求10所述的装置,其中,所述编码模块,包括:The device according to claim 10, wherein the encoding module includes:
    划分单元,用于对所述第一网格几何信息进行三维片划分;A dividing unit, used to divide the first grid geometric information into three-dimensional slices;
    第一获取单元,用于将划分的三维片进行二维投影,获取二维片;The first acquisition unit is used to perform two-dimensional projection on the divided three-dimensional slices to obtain the two-dimensional slices;
    第二获取单元,用于将所述二维片进行打包,获取二维图像信息; a second acquisition unit, used to package the two-dimensional slices and acquire two-dimensional image information;
    第三获取单元,用于根据所述二维图像信息,获取占位图和几何图;A third acquisition unit, configured to acquire placeholder images and geometric images according to the two-dimensional image information;
    第一编码单元,用于分别对所述占位图和几何图进行编码。The first coding unit is used to code the placeholder map and the geometric map respectively.
  14. 一种编码设备,包括处理器和存储器,所述存储器存储可在所述处理器上运行的程序或指令,其中,所述程序或指令被所述处理器执行时实现如权利要求1至4任一项所述的编码方法的步骤。A coding device, including a processor and a memory, the memory stores a program or instructions that can be run on the processor, wherein when the program or instructions are executed by the processor, any of claims 1 to 4 is implemented. One of the steps of the encoding method.
  15. 一种解码装置,包括:A decoding device including:
    第一获取模块,用于对获取的目标三维网格对应的码流进行分解,获取重复顶点的信息以及第一网格几何信息,所述第一网格几何信息为不包括重复顶点的网格几何信息;The first acquisition module is used to decompose the code stream corresponding to the acquired target three-dimensional grid, and obtain the information of repeated vertices and the first grid geometry information. The first grid geometry information is a grid that does not include repeated vertices. geometric information;
    第二获取模块,用于根据所述重复顶点的信息以及所述第一网格几何信息,获取所述目标三维网格;A second acquisition module, configured to acquire the target three-dimensional mesh according to the information of the repeated vertices and the first mesh geometry information;
    其中,所述重复顶点为位置坐标相同的多个顶点中除第一顶点以外的顶点,所述第一顶点为位置坐标相同的多个顶点中的其中一个顶点。Wherein, the repeated vertices are vertices other than the first vertex among the plurality of vertices with the same position coordinates, and the first vertex is one of the plurality of vertices with the same position coordinates.
  16. 根据权利要求15所述的装置,其中,所述重复顶点的信息包括:The device according to claim 15, wherein the information of the repeated vertices includes:
    与所述重复顶点对应的第一顶点的索引;the index of the first vertex corresponding to the repeated vertex;
    重复顶点的个数。The number of repeated vertices.
  17. 根据权利要求15所述的装置,其中,所述重复顶点的信息通过以下至少一项表示:The device according to claim 15, wherein the information of the repeated vertices is represented by at least one of the following:
    所述第一网格几何信息中顶点的索引值标识为所述顶点对应的位置是否有重复顶点和/或重复顶点的个数;The index value of the vertex in the first mesh geometry information is identified as whether there are duplicate vertices at the position corresponding to the vertex and/or the number of duplicate vertices;
    所述目标三维网格中存在重复顶点的位置在所述第一网格几何信息对应的占位图中的像素值基于重复顶点的个数确定;The pixel value of the position where there are repeated vertices in the target three-dimensional grid in the placeholder map corresponding to the first grid geometry information is determined based on the number of repeated vertices;
    分别用不同的比特表示与所述重复顶点对应的第一顶点的索引和重复顶点的个数。Different bits are respectively used to represent the index of the first vertex corresponding to the repeated vertex and the number of repeated vertices.
  18. 根据权利要求15所述的装置,其中,所述第一获取模块对获取的码流进行分解,获取第一网格几何信息的情况下,包括:The device according to claim 15, wherein the first acquisition module decomposes the acquired code stream, and when acquiring the first grid geometry information, includes:
    第五获取单元,用于根据获取的目标三维网格对应的码流,获取目标子码流,所述目标子码流包括:片信息子码流、占位图子码流和几何图子码流;The fifth acquisition unit is used to acquire the target sub-code stream according to the obtained code stream corresponding to the target three-dimensional grid. The target sub-code stream includes: a slice information sub-code stream, a placeholder map sub-code stream and a geometric map sub-code stream. flow;
    第六获取单元,用于根据所述目标子码流,获取占位图和几何图;The sixth acquisition unit is used to acquire placeholder images and geometric images according to the target sub-code stream;
    第七获取单元,用于根据所述占位图和几何图,获取所述第一网格几何信息。A seventh acquisition unit is used to acquire the first grid geometry information according to the placeholder map and the geometric map.
  19. 根据权利要求18所述的装置,其中,所述第七获取单元,用于:The device according to claim 18, wherein the seventh acquisition unit is used for:
    根据所述占位图和所述几何图,获取二维图像信息;Obtain two-dimensional image information according to the placeholder map and the geometric map;
    根据所述二维图像信息,获取二维片;According to the two-dimensional image information, obtain a two-dimensional slice;
    根据所述片信息子码流对应的片信息对所述二维片进行三维逆投影,获取三维片;Perform three-dimensional back-projection on the two-dimensional slice according to the slice information corresponding to the slice information sub-stream to obtain the three-dimensional slice;
    根据所述三维片,获取所述第一网格几何信息。According to the three-dimensional slice, the first grid geometry information is obtained.
  20. 一种解码设备,包括处理器和存储器,所述存储器存储可在所述处理器上运行的程序或指令,其中,所述程序或指令被所述处理器执行时实现如权利要求5至9任一项所述的解码方法的步骤。 A decoding device, including a processor and a memory, the memory stores a program or instructions that can be run on the processor, wherein when the program or instructions are executed by the processor, any of claims 5 to 9 is implemented. The steps of the decoding method described in one item.
  21. 一种可读存储介质,所述可读存储介质上存储程序或指令,其中,所述程序或指令被处理器执行时实现如权利要求1至4任一项所述的编码方法的步骤或如权利要求5至9任一项所述的解码方法的步骤。 A readable storage medium on which programs or instructions are stored, wherein when the programs or instructions are executed by a processor, the steps of the encoding method according to any one of claims 1 to 4 are implemented or as The steps of the decoding method according to any one of claims 5 to 9.
PCT/CN2023/081637 2022-03-18 2023-03-15 Encoding method and apparatus, decoding method and apparatus, and device WO2023174334A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202210273182.4 2022-03-18
CN202210273182.4A CN116800970A (en) 2022-03-18 2022-03-18 Encoding and decoding methods, devices and equipment

Publications (1)

Publication Number Publication Date
WO2023174334A1 true WO2023174334A1 (en) 2023-09-21

Family

ID=88022403

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2023/081637 WO2023174334A1 (en) 2022-03-18 2023-03-15 Encoding method and apparatus, decoding method and apparatus, and device

Country Status (2)

Country Link
CN (1) CN116800970A (en)
WO (1) WO2023174334A1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104243958A (en) * 2014-09-29 2014-12-24 联想(北京)有限公司 Coding method, decoding method, coding device and decoding device for three-dimensional grid data
US20190197739A1 (en) * 2017-12-22 2019-06-27 Samsung Electronics Co., Ltd. Handling duplicate points in point cloud compression
CN111699690A (en) * 2019-07-04 2020-09-22 深圳市大疆创新科技有限公司 Point cloud processing method and device
WO2022050688A1 (en) * 2020-09-01 2022-03-10 엘지전자 주식회사 Three-dimensional data transmission device, three-dimensional data transmission method, three-dimensional data reception device, and three-dimensional data reception method

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104243958A (en) * 2014-09-29 2014-12-24 联想(北京)有限公司 Coding method, decoding method, coding device and decoding device for three-dimensional grid data
US20190197739A1 (en) * 2017-12-22 2019-06-27 Samsung Electronics Co., Ltd. Handling duplicate points in point cloud compression
CN111512342A (en) * 2017-12-22 2020-08-07 三星电子株式会社 Method and device for processing repeated points in point cloud compression
CN111699690A (en) * 2019-07-04 2020-09-22 深圳市大疆创新科技有限公司 Point cloud processing method and device
WO2022050688A1 (en) * 2020-09-01 2022-03-10 엘지전자 주식회사 Three-dimensional data transmission device, three-dimensional data transmission method, three-dimensional data reception device, and three-dimensional data reception method

Also Published As

Publication number Publication date
CN116800970A (en) 2023-09-22

Similar Documents

Publication Publication Date Title
CN112789861B (en) Point cloud compression method, video encoder and readable medium
JP7307260B2 (en) A point cloud data transmission device, a point cloud data transmission method, a point cloud data reception device, and a point cloud data reception method.
KR20200007733A (en) Encoding/decoding method and apparatus for efficient compression of point cloud coding(pcc) data
WO2023174334A1 (en) Encoding method and apparatus, decoding method and apparatus, and device
US11908169B2 (en) Dense mesh compression
JP7383171B2 (en) Method and apparatus for point cloud coding
WO2023174336A1 (en) Encoding method and apparatus, decoding method and apparatus, and device
WO2023174337A1 (en) Coding method, decoding method, apparatus and device
WO2023179705A1 (en) Encoding and decoding methods and apparatuses, and devices
WO2023155794A1 (en) Coding method, decoding method, apparatus, and device
WO2023155778A1 (en) Encoding method and apparatus, and device
WO2023197990A1 (en) Coding method, decoding method and terminal
WO2023193709A1 (en) Coding method and apparatus, decoding method and apparatus, and device
US20230306643A1 (en) Mesh patch simplification
US20230316585A1 (en) Atlas sampling based mesh compression with charts of general topology
US20240135594A1 (en) Adaptive geometry filtering for mesh compression
US20240121435A1 (en) Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method
US20240020885A1 (en) Point cloud data transmission method, point cloud data transmission device, point cloud data reception method, and point cloud data reception device
WO2022257143A1 (en) Intra-frame prediction method and apparatus, encoding method and apparatus, decoding method and apparatus, codec, device and medium
Lee et al. New methods for progressive compression of colored 3D Mesh
WO2023180842A1 (en) Mesh patch simplification
KR20230158622A (en) Geometry filtering for mesh compression
CN116848553A (en) Method for dynamic grid compression based on two-dimensional UV atlas sampling
EP4233006A2 (en) Devices and methods for spatial quantization for point cloud compression
WO2023174701A1 (en) V-pcc based dynamic textured mesh coding without occupancy maps

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: 23769836

Country of ref document: EP

Kind code of ref document: A1