Nothing Special   »   [go: up one dir, main page]

WO2025009868A1 - Mesh data transmission device, mesh data transmission method, mesh data reception device, and mesh data reception method - Google Patents

Mesh data transmission device, mesh data transmission method, mesh data reception device, and mesh data reception method Download PDF

Info

Publication number
WO2025009868A1
WO2025009868A1 PCT/KR2024/009351 KR2024009351W WO2025009868A1 WO 2025009868 A1 WO2025009868 A1 WO 2025009868A1 KR 2024009351 W KR2024009351 W KR 2024009351W WO 2025009868 A1 WO2025009868 A1 WO 2025009868A1
Authority
WO
WIPO (PCT)
Prior art keywords
mesh
mesh data
information
data
file
Prior art date
Application number
PCT/KR2024/009351
Other languages
French (fr)
Korean (ko)
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 WO2025009868A1 publication Critical patent/WO2025009868A1/en

Links

Images

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
    • H04N19/184Methods 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 the unit being bits, e.g. of the compressed video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/537Motion estimation other than block-based
    • H04N19/54Motion estimation other than block-based using feature points or meshes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Definitions

  • the embodiments provide a method for providing Point Cloud content to provide various services to users, such as Virtual Reality (VR), Augmented Reality (AR), Mixed Reality (MR), and autonomous driving services.
  • VR Virtual Reality
  • AR Augmented Reality
  • MR Mixed Reality
  • autonomous driving services such as autonomous driving services.
  • a point cloud is a collection of points in 3D space. There is a problem in that it is difficult to create point cloud data because there are a large number of points in 3D space.
  • the technical problem according to the embodiments is to provide a point cloud data transmission device, a transmission method, a point cloud data reception device, and a reception method for efficiently transmitting and receiving point clouds in order to solve the problems described above.
  • Technical problems according to embodiments are directed to providing a point cloud data transmission device, a transmission method, a point cloud data reception device, and a reception method for resolving latency and encoding/decoding complexity.
  • a mesh data decoding method includes the steps of: receiving a file including mesh data; decapsulating the file; and decoding the mesh data; wherein the file may include a bitstream including the mesh data and parameter information about the mesh data.
  • a mesh data encoding method includes the steps of: encoding the mesh data; encapsulating the mesh data into a file; and transmitting the file; wherein the bitstream including the mesh data and the parameter information about the mesh data may be encapsulated into a single track of the file.
  • the point cloud data transmission method, transmission device, point cloud data reception method, and reception device can provide a quality point cloud service.
  • the point cloud data transmission method, transmission device, point cloud data reception method, and reception device can achieve various video codec methods.
  • the point cloud data transmission method, transmission device, point cloud data reception method, and reception device can provide general-purpose point cloud content such as autonomous driving services.
  • Figure 1 illustrates a system for providing dynamic mesh content according to embodiments.
  • Figure 2 illustrates a V-MESH compression method according to embodiments.
  • FIG. 3 illustrates pre-processing of V-MESH compression according to embodiments.
  • Figure 4 illustrates a mid-edge subdivision method according to embodiments.
  • Figure 5 shows a displacement generation process according to embodiments.
  • Figure 6 illustrates an intra-frame encoding process of a V-MESH compression method according to embodiments.
  • Figure 7 illustrates an inter-frame encoding process of a V-MESH compression method according to embodiments.
  • Figure 8 shows a lifting conversion process for displacement according to embodiments.
  • Figure 9 shows a process of packing transformation coefficients according to embodiments into a 2D image.
  • Figure 10 illustrates an attribute transfer process of a V-MESH compression method according to embodiments.
  • Figure 11 illustrates an intra frame decoding process of a V-MESH compression method according to embodiments.
  • Fig. 12 shows a V-MES and Fig. 13 shows a point cloud data transmission device according to embodiments.
  • Fig. 13 shows a point cloud data transmission device according to embodiments.
  • Fig. 14 shows a point cloud data receiving device according to embodiments.
  • Figure 15 shows a mesh system structure according to embodiments.
  • Figure 16 illustrates a video-based dynamic mesh coding bitstream structure according to embodiments.
  • Fig. 17 shows a mesh data receiving device according to embodiments.
  • Figure 18 shows a mesh data encoding method according to embodiments.
  • Figure 19 shows a mesh data decryption method according to embodiments.
  • Figure 1 illustrates a system for providing dynamic mesh content according to embodiments.
  • the system of FIG. 1 includes a point cloud data transmission device (100) and a point cloud data reception device (110) according to embodiments.
  • the point cloud data transmission device may include a dynamic mesh video acquisition unit (101), a dynamic mesh video encoder (102), a file/segment encapsulator (103), and a transmitter (104).
  • the point cloud data reception device (110) may include a reception unit (111), a file/segment decapsulator (112), a dynamic mesh video decoder (113), and a renderer (114).
  • Each component of FIG. 1 may correspond to hardware, software, a processor, and/or a combination thereof.
  • the point cloud data transmission device may be interpreted as a term referring to the transmission device (100) or a dynamic mesh video encoder (hereinafter, referred to as an encoder) (102).
  • the point cloud data receiving device according to the embodiments may be interpreted as a term referring to a receiving device (110) or a dynamic mesh video decoder (hereinafter, decoder) (113).
  • the system of Fig. 1 can perform video-based dynamic mesh compression and decompression.
  • 3D content such as AR, XR, metaverse, and holograms
  • 3D contents express objects more precisely and realistically so that users can enjoy immersive experiences, and for this purpose, a large amount of data is required to create and use 3D models.
  • 3D mesh is widely used for efficient data utilization and realistic object expression. Embodiments include a series of processing processes in a system that uses such mesh content.
  • V-PCC Video-based point cloud compression
  • Point cloud data is data that has color information in the vertex coordinates (X, Y, Z).
  • Mesh data refers to the vertex information to which connectivity information between vertices is added. When creating content, it can be created in the form of mesh data from the beginning. Connectivity information can be added to point cloud data and converted into mesh data for use.
  • the MPEG standards body defines the data types of dynamic mesh data as the following two types.
  • Category 1 Mesh data with texture maps as color information.
  • Category 2 Mesh data with vertex colors as color information.
  • the entire process for providing a Mesh content service may include an acquisition process, an encoding process, a transmission process, a decoding process, a rendering process, and/or a feedback process, as shown in Fig. 1.
  • 3D data acquired through multiple cameras or special cameras can be processed into a mesh data type through a series of processes and then generated as a video.
  • the generated mesh video is transmitted through a series of processes, and the receiving end can process the received data again into a mesh video and render it.
  • a mesh video is provided to the user, and the user can use the mesh content according to his/her intention through interaction.
  • a mesh compression system may include a transmitting device and a receiving device.
  • the transmitting device may encode mesh video to output a bitstream, which may be transmitted to a receiving device via a digital storage medium or a network in the form of a file or streaming (streaming segment).
  • the digital storage medium may include various storage media such as USB, SD, CD, DVD, Blu-ray, HDD, SSD, etc.
  • the transmitting device may roughly include a mesh video acquisition unit, a mesh video encoder, and a transmitting unit.
  • the receiving device may roughly include a receiving unit, a mesh video decoder, and a renderer.
  • the encoder may be called a mesh video/video/picture/frame encoding device
  • the decoder may be called a mesh video/video/picture/frame decoding device.
  • the transmitter may be included in the mesh video encoder.
  • the receiver may be included in the mesh video decoder.
  • the renderer may include a display unit, and the renderer and/or the display unit may be configured as separate devices or external components.
  • the transmitting device and the receiving device may further include separate internal or external modules/units/components for a feedback process.
  • Mesh data represents the surface of an object as a number of polygons. Each polygon is defined by vertices in 3D space and connection information that describes how the vertices are connected. It can also include vertex properties such as vertex color, normal, etc. Mapping information that allows the surface of the mesh to be mapped to a 2D planar area can also be included as a mesh property. The mapping can be described as a set of parameter coordinates, commonly called UV coordinates or texture coordinates, associated with the mesh vertices. Meshes contain 2D attribute maps, which can be used to store high-resolution attribute information such as textures, normals, displacement, etc.
  • the mesh video acquisition unit may include processing 3D object data acquired through a camera, etc. into a mesh data type having the properties described above through a series of processes and generating a video composed of such mesh data.
  • the mesh video may have properties of the mesh, such as vertices, polygons, connection information between vertices, colors, normals, etc., that may change over time.
  • a mesh video having properties and connection information that change over time in this way may be expressed as a dynamic mesh video.
  • a mesh video encoder can encode an input mesh video into one or more video streams.
  • a single video can include multiple frames, and a single frame can correspond to a still image/picture.
  • a mesh video can include a mesh image/frame/picture, and the mesh video can be used interchangeably with the mesh image/frame/picture.
  • the mesh video encoder can perform a Video-based Dynamic Mesh (V-Mesh) Compression procedure.
  • the mesh video encoder can perform a series of procedures such as prediction, transformation, quantization, and entropy coding for compression and coding efficiency.
  • the encoded data (encoded video/image information) can be output in the form of a bitstream.
  • An encapsulation processing unit can encapsulate encoded mesh video data and/or mesh video related metadata in the form of a file, etc.
  • the mesh video related metadata may be received from a metadata processing unit, etc.
  • the metadata processing unit may be included in the mesh video encoder, or may be configured as a separate component/module.
  • the encapsulation processing unit may encapsulate the corresponding data in a file format such as ISOBMFF, or process it in the form of other DASH segments, etc.
  • the encapsulation processing unit may include mesh video related metadata in the file format according to an embodiment.
  • the mesh video metadata may be included in boxes at various levels in the ISOBMFF file format, for example, or may be included as data in a separate track within a file.
  • the encapsulation processing unit may encapsulate mesh video related metadata itself in a file.
  • the transmission processing unit can process encapsulated mesh video data for transmission according to a file format.
  • the transmission processing unit can be included in the transmission unit, or can be configured as a separate component/module.
  • the transmission processing unit can process mesh video data according to any transmission protocol.
  • the processing for transmission can include processing for transmission through a broadcast network and processing for transmission through broadband.
  • the transmission processing unit can receive not only mesh video data, but also mesh video-related metadata from the metadata processing unit, and process this for transmission.
  • the transmission unit can transmit encoded video/image information or data output in the form of a bitstream to the reception unit of the receiving device through a digital storage medium or network in the form of a file or streaming.
  • the digital storage medium can include various storage media such as USB, SD, CD, DVD, Blu-ray, HDD, SSD, etc.
  • the transmission unit can include an element for generating a media file through a predetermined file format and can include an element for transmission through a broadcasting/communication network.
  • the reception unit can extract the bitstream and transmit it to a decoding device.
  • the receiver can receive mesh video data transmitted by the mesh video transmission device. Depending on the channel through which it is transmitted, the receiver can receive mesh video data through a broadcast network, through a broadband, or through a digital storage medium.
  • the receiving processing unit can perform processing according to a transmission protocol on the received mesh video data.
  • the receiving processing unit can be included in the receiving unit, or can be configured as a separate component/module. In order to correspond to the processing performed for transmission on the transmitting side, the receiving processing unit can perform the reverse process of the aforementioned transmitting processing unit.
  • the receiving processing unit can transfer the acquired mesh video data to the decapsulation processing unit, and transfer the acquired mesh video-related metadata to the metadata parser.
  • the mesh video-related metadata acquired by the receiving processing unit can be in the form of a signaling table.
  • a decapsulation processing unit can decapsulate mesh video data in a file format received from a receiving processing unit.
  • the decapsulation processing unit can decapsulate files according to ISOBMFF, etc., to obtain a mesh video bitstream or mesh video related metadata (metadata bitstream).
  • the obtained mesh video bitstream can be transmitted to a mesh video decoder, and the obtained mesh video related metadata (metadata bitstream) can be transmitted to a metadata processing unit.
  • the mesh video bitstream may include metadata (metadata bitstream).
  • the metadata processing unit may be included in the mesh video decoder, or may be configured as a separate component/module.
  • the mesh video related metadata obtained by the decapsulation processing unit may be in the form of a box or track within a file format. If necessary, the decapsulation processing unit may receive metadata required for decapsulation from the metadata processing unit.
  • Mesh video related metadata can be passed to a Mesh video decoder for use in the Mesh video decoding process, or can be passed to a renderer for use in the Mesh video rendering process.
  • the Mesh Video Decoder can receive a bitstream as input and perform operations corresponding to the operations of the Mesh Video Encoder to decode the video/image.
  • the decoded Mesh Video can be displayed through the display unit. The user can view all or part of the rendered result through a VR/AR display or a general display.
  • the feedback process may include a process of transmitting various feedback information that may be acquired during the rendering/display process to the transmitter or to the decoder of the receiver. Interactivity may be provided in mesh video consumption through the feedback process. According to an embodiment, head orientation information, viewport information indicating an area that the user is currently viewing, etc. may be transmitted during the feedback process. According to an embodiment, the user may interact with things implemented in the VR/AR/MR/autonomous driving environment, in which case information related to the interaction may be transmitted to the transmitter or the service provider during the feedback process. Depending on the embodiment, the feedback process may not be performed.
  • Head orientation information can mean information about the user's head position, angle, movement, etc. Based on this information, information about the area the user is currently viewing within the mesh video, i.e. viewport information, can be calculated.
  • the aforementioned feedback information may be consumed by the receiver as well as transmitted to the transmitter. That is, the decoding and rendering processes of the receiver may be performed using the aforementioned feedback information. For example, only the mesh video for the area currently being viewed by the user may be preferentially decoded and rendered using head orientation information and/or viewport information.
  • Dynamic mesh video compression is a method for processing mesh connection information and properties that change over time, and it can perform lossy and lossless compression for various applications such as real-time communication, storage, free-viewpoint video, and AR/VR.
  • the dynamic mesh video compression method described below is based on MPEG's V-Mesh method.
  • picture/frame can generally mean a unit representing one video image of a specific time period.
  • a pixel or pel can mean the smallest unit that constitutes a picture (or image).
  • a 'sample' can be used as a term corresponding to a pixel.
  • a sample can generally represent a pixel or a pixel value, and can represent only a pixel/pixel value of a luma component, only a pixel/pixel value of a chroma component, or only a pixel/pixel value of a depth component.
  • a unit may represent a basic unit of image processing.
  • a unit may include at least one of a specific region of a picture and information related to the region.
  • a unit may be used interchangeably with terms such as block or area, depending on the case.
  • an MxN block may include a set (or array) of samples (or sample array) or transform coefficients consisting of M columns and N rows.
  • Video-based dynamic mesh compression (V-Mesh) compression method can provide a method of compressing dynamic mesh video data based on 2D video codecs such as HEVC and VVC.
  • V-Mesh compression process the following data is received as input and compression is performed.
  • Input mesh Contains the 3D coordinates (geometry) of the vertices that make up the mesh, normal information for each vertex, mapping information that maps the mesh surface to a 2D plane, connection information between the vertices that make up the surface, etc.
  • the mesh surface can be expressed as triangles or more polygons, and connection information between the vertices that make up each surface is stored according to a set shape.
  • the input mesh can be saved in the OBJ file format.
  • Attribute map (Hereinafter, texture map is also used with the same meaning): Contains information on the properties (color, normal, displacement, etc.) of the mesh, and stores data in the form of mapping the surface of the mesh onto a 2D image. Mapping which part (surface or vertex) of the mesh each data of this attribute map corresponds to is based on the mapping information included in the input mesh. Since the attribute map has data for each frame of the mesh video, it can also be expressed as an attribute map video (or attribute for short).
  • the attribute map in the V-Mesh compression method mainly contains the color information of the mesh, and is stored in an image file format (PNG, BMP, etc.).
  • Material Library File Contains information about the material properties used in the mesh, and in particular, information that links the input mesh to its corresponding attribute map. It is saved in the Wavefront Material Template Library (MTL) file format.
  • TTL Wavefront Material Template Library
  • the following data and information can be generated through the compression process.
  • Base mesh The input mesh is simplified (decimated) through a preprocessing process to express the objects of the input mesh using the minimum number of vertices determined by the user's criteria.
  • Displacement This is displacement information used to express the input mesh as similarly as possible to the base mesh, and is expressed in the form of three-dimensional coordinates.
  • Atlas information This is metadata required to reconstruct the mesh using the base mesh, displacement, and attribute map information. This can be created and utilized as a sub-unit (sub-mesh, patch, etc.) that constitutes the mesh.
  • FIGS. 2 to 7 a method for encoding mesh location information (vertex) is described, and referring to FIGS. 6-10, etc., a method for encoding attribute information (attribute map) by restoring mesh location information is described.
  • Figure 2 illustrates a V-MESH compression method according to embodiments.
  • Fig. 2 shows the encoding process of Fig. 1, and the encoding process may include a pre-processing and an encoding process.
  • the encoder of Fig. 1 may include a pre-processor (200) and an encoder (201) as in Fig. 2.
  • the transmitting device of Fig. 1 may be broadly referred to as an encoder, and the dynamic mesh video encoder of Fig. 1 may be referred to as an encoder.
  • the V-Mesh compression method may include a pre-processing (200) and an encoding (201) process as in Fig. 2.
  • the pre-processor of Fig. 2 may be located in front of the encoder of Fig. 2.
  • the pre-processor and the encoder of Fig. 2 may be referred to as one encoder.
  • the pre-processor can receive a static dynamic mesh and/or an attribute map.
  • the pre-processor can generate a base mesh and/or a displacement through preprocessing.
  • the pre-processor can receive feedback information from an encoder and generate the base mesh and/or the displacement based on the feedback information.
  • An encoder can receive a base mesh, a displacement mesh, a static dynamic mesh, and/or an attribute map.
  • the encoder can encode mesh-related data to generate a compressed bitstream.
  • FIG. 3 illustrates pre-processing of V-MESH compression according to embodiments.
  • Figure 3 shows the configuration and operation of the pre-processor of Figure 2.
  • Fig. 3 shows a process of performing preprocessing on an input mesh.
  • the preprocessing process (200) can largely include four steps: 1) GoF (Group of Frame) generation, 2) Mesh Decimation, 3) UV parameterization, and 4) Fitting subdivision surface (300).
  • the preprocessor (200) can receive an input mesh, generate a displacement and/or base mesh, and transmit the generated mesh to the encoder (201).
  • the preprocessor (200) can transmit GoF information related to GoF generation to the encoder (201).
  • Mesh Decimation This is the process of simplifying the input mesh to create a simplified mesh, or base mesh. After selecting vertices to be removed from the original mesh based on criteria defined by the user, the selected vertices and triangles connected to the selected vertices can be removed.
  • UV parameterization This is the process of mapping a 3D surface to a texture domain for a decimated mesh. Parameterization can be performed using the UVAtlas tool. Through this process, mapping information is generated that shows where each vertex of the decimated mesh can be mapped to on a 2D image. The mapping information is expressed and saved as texture coordinates, and the final base mesh is generated through this process.
  • Fitting subdivision surface This is the process of performing subdivision on a simplified mesh.
  • a user-defined method such as the mid-edge method, can be applied as the subdivision method.
  • the fitting process is performed so that the input mesh and the mesh on which subdivision is performed are similar to each other.
  • Figure 4 illustrates a mid-edge subdivision method according to embodiments.
  • Figure 4 shows the mid-edge method of the fitting subdivision surface described in Figure 3.
  • an original mesh including four vertices is subdivided to create a sub-mesh.
  • a sub-mesh can be created by creating a new vertex in the middle of an edge between vertices.
  • the fitted subdivided mesh When a fitted subdivided mesh (hereinafter referred to as the fitted subdivided mesh) is generated, displacement is calculated using this result and a pre-compressed and decoded base mesh (hereinafter referred to as the reconstructed base mesh). That is, the reconstructed base mesh is subdivided in the same way as the fitting subdivision surface.
  • the difference in position of each vertex between this result and the fitted subdivided mesh is the displacement for each vertex. Since the displacement represents the position difference in three-dimensional space, it is also expressed as a value in the (x, y, z) space of the Cartesian coordinate system.
  • the (x, y, z) coordinate values can be converted to (normal, tangential, bi-tangential) coordinate values in the local coordinate system.
  • Figure 5 shows a displacement generation process according to embodiments.
  • Fig. 5 illustrates in detail the displacement calculation method of the fitting subdivision surface (300) as described in Fig. 4.
  • An encoder and/or pre-processor may include 1) a subdivision unit, 2) a local coordinate system calculation unit, and 3) a displacement calculation unit.
  • the subdivision unit may receive a reconstructed base mesh and generate a subdivided reconstructed base mesh.
  • the local coordinate system calculation unit may receive a fitted subdivision mesh and a subdivided reconstructed base mesh, and transform a coordinate system of the meshes into a local coordinate system.
  • the local coordinate system calculation operation may be optional.
  • the displacement calculation unit may calculate a positional difference between the fitted subdivision mesh and the subdivided reconstructed base mesh. For example, a positional difference value between vertices of two input meshes may be generated. The vertex positional difference value becomes a displacement.
  • the method and device for transmitting point cloud data can encode the point cloud as follows.
  • the point cloud data (which may be referred to as point cloud for short) according to the embodiments can refer to data including vertex coordinates and color information.
  • the point cloud is a term including mesh data, and in this document, the point cloud and mesh data can be used interchangeably.
  • the V-Mesh compression (decompression) method may include intra frame encoding (Fig. 6) and inter frame encoding (Fig. 7).
  • intra frame encoding or inter frame encoding is performed.
  • the data to be compressed can be a base mesh, displacement, attribute map, etc.
  • the data to be compressed can be a displacement, an attribute map, and a motion field between a reference base mesh and a current base mesh.
  • Figure 6 illustrates an intra-frame encoding process of a V-MESH compression method according to embodiments.
  • the encoding process of Fig. 6 details the encoding of Fig. 1. That is, it shows the configuration of an encoder when the encoding of Fig. 1 is an intra-frame method.
  • the encoder of Fig. 6 may include a preprocessor (200) and/or an encoder (201).
  • the preprocessor can receive an input mesh and perform the preprocessing described above.
  • the preprocessing can generate a base mesh and/or a fitted subdivided mesh.
  • the quantizer can quantize the base mesh and/or the fitted subdivided mesh.
  • the static mesh encoder can encode the static mesh.
  • the static mesh encoder can generate a bitstream including the encoded base mesh.
  • the static mesh decoder can decode the encoded static mesh.
  • the inverse quantizer can inversely quantize the quantized static mesh.
  • the displacement calculation unit can receive the restored static mesh and generate displacement, which is a position difference, based on the fitted subdivided mesh.
  • the forward linear lifting unit can receive the displacement and generate lifting coefficients.
  • the quantizer can quantize the lifting coefficients.
  • Figure 7 illustrates an inter-frame encoding process of a V-MESH compression method according to embodiments.
  • the encoding process of Fig. 7 illustrates the encoding of Fig. 1 in detail. That is, it illustrates the configuration of an encoder when the encoding of Fig. 1 is in an inter-frame manner.
  • the encoder of Fig. 7 may include a preprocessor (200) and/or an encoder (201).
  • the motion encoder can encode motion based on the restored quantized reference base mesh.
  • the base mesh restoration unit can restore the base mesh based on the restored quantized reference base mesh.
  • the encoder of Fig. 6 generates a bitstream by compressing the base mesh, displacement, and attributes within a frame
  • the encoder of Fig. 7 generates a bitstream by compressing the motion, displacement, and attributes between the current frame and the reference frame.
  • the encoding method includes base mesh encoding (intra encoding).
  • base mesh encoding intra frame encoding
  • a base mesh generated in a preprocessing process can be encoded using a static mesh compression technique after going through a quantization process.
  • V-Mesh compression method for example, Draco technology is applied, and vertex position information, mapping information (texture coordinates), vertex connection information, etc. of the base mesh become compression targets.
  • the encoding method may include motion field encoding (inter encoding).
  • Inter frame encoding may be performed when a reference mesh and a current input mesh have a one-to-one correspondence of vertices and only the position information of the vertices is different.
  • the difference between the vertices of the reference base mesh and the current base mesh, i.e., the motion field may be calculated and this information may be encoded.
  • the reference base mesh is the result of quantizing the already decoded base mesh data and is determined according to the reference frame index determined in the GoF generation.
  • the motion field may be encoded as a value.
  • the motion fields of the restored vertices among the vertices connected to the current vertex may be averaged to calculate the predicted motion field, and this predicted motion field
  • the residual motion field which is the difference between the value and the motion field value of the current vertex, can be encoded. This value can be encoded using entropy coding.
  • the process of encoding the displacement and attribute map, excluding the motion field encoding process of the inter frame encoding, is the same as the remaining structure of the intra frame encoding method, excluding the base mesh encoding.
  • Figure 8 shows a lifting conversion process for displacement according to embodiments.
  • Figure 9 shows a process of packing transformation coefficients according to embodiments into a 2D image.
  • Figures 8-9 illustrate the process of transforming the displacement of the encoding process of Figure 6-7 and the process of packing the transform coefficients, respectively.
  • the encoding method according to the embodiments includes displacement encoding.
  • a reconstructed base mesh is generated through restoration and dequantization, and the displacement between the result of performing subdivision on the reconstructed base mesh and the fitted subdivided mesh generated through the fitting subdivision surface can be calculated.
  • a data transform process such as wavelet transform can be applied to the displacement information.
  • Fig. 8 shows a process of transforming displacement information using a lifting transform in V-Mesh.
  • the transform coefficients generated through the transform process are quantized and then packed into a 2D image as shown in Fig. 9.
  • the horizontal number of blocks is fixed to 16, but the vertical number of blocks can be determined according to the number of vertices of the subdivided base mesh.
  • the transform coefficients can be packed by sorting them with a Morton code within a block.
  • the packed images generate a displacement video for every GoF unit, and the displacement video can be encoded using an existing video compression codec.
  • the base mesh (original) may include vertices and edges for LoD0.
  • the first sub-division mesh generated by dividing the base mesh includes vertices generated by further dividing edges of the base mesh.
  • the first sub-division mesh includes vertices for LoD0 and vertices for LoD1.
  • LoD1 includes the sub-divided vertices and the vertices (LoD0) of the base mesh.
  • the first sub-division mesh may be generated by dividing the first sub-division mesh.
  • the second sub-division mesh includes LoD2.
  • LoD2 includes the base mesh vertices (LoD0), LoD1 including vertices additionally generated from LoD0, and vertices additionally divided from LoD1.
  • LoD is a level indicating the degree of detail (Level of Detail), and as the index of the level increases, the distance between vertices becomes closer and the level of detail increases.
  • LoD N includes the vertices included in the previous LoDN-1 as they are.
  • the mesh can be encoded based on a prediction and/or update method. Instead of still encoding information about the current LoD N, a residual value between the previous LoD N-1 can be generated, and the mesh can be encoded using the residual value to reduce the size of the bitstream.
  • the prediction process means the operation of predicting the current vertex v through the previous vertices v1, v2. Since adjacent subdivision meshes have similar data, efficient encoding can be achieved by utilizing this property.
  • the current vertex position information is predicted as the residual for the previous vertex position information, and the previous vertex position information is updated through the residual.
  • the vertices have coefficients generated through lifting transformation.
  • the coefficients of the vertices related to lifting transformation can be packed into an image and encoded.
  • Figure 10 illustrates an attribute transfer process of a V-MESH compression method according to embodiments.
  • Figure 10 shows the detailed operation of attribute transfer of encoding such as Figure 6-7.
  • Encoding according to the embodiments includes attribute map encoding.
  • Information about the input mesh is compressed through base mesh encoding, motion field encoding, and displacement encoding.
  • the compressed input mesh is restored through base mesh decoding (intra frame), motion field decoding (inter frame), and displacement video decoding, and the restored result, the reconstructed deformed mesh (hereinafter referred to as Recon. deformed mesh), is used to compress the input attribute map as shown in FIGS. 6 and 7.
  • the reconstructed deformed mesh (Recon. deformed mesh) has position information of vertices, texture coordinates, and corresponding connection information, but does not have color information corresponding to the texture coordinates. Therefore, as shown in Fig. 10, in the V-Mesh compression method, a new attribute map having color information corresponding to the texture coordinates of the reconstructed deformed mesh is created through the attribute transfer process.
  • Attribute transfer first checks whether each point P(u, v) in the 2D texture domain belongs to the texture triangle of the reconstructed deformed mesh, and if it exists in the texture triangle T, calculates the barycentric coordinate ( ⁇ , ⁇ ⁇ ) of P(u, v) according to the triangle T. Then, using the 3D vertex position and ( ⁇ , ⁇ ⁇ ) of triangle T, calculate the 3D coordinate M(x, y, z) of P(u, v). Find the vertex coordinate M'(x', y', z') that corresponds to the position most similar to the calculated M(x, y, z) in the input mesh domain and the triangle T' that contains this point.
  • the center of mass coordinates ( ⁇ ', ⁇ ', ⁇ ') of M'(x', y', z') are calculated in this triangle T'.
  • the texture coordinates (u', v') are calculated, and the color information corresponding to these coordinates is searched for in the input attribute map.
  • the color information found in this way is immediately assigned to the (u, v) pixel location in the new attribute map. If P(u, v) does not belong to any triangle, the pixel at that location in the new attribute map can be filled with a color value using a padding algorithm such as the push-pull algorithm.
  • the new attribute map generated through attribute transfer is grouped into GoF units to form an attribute map video, which is then compressed using a video codec.
  • the decoding process of Fig. 1 can perform the reverse process of the corresponding process of the encoding process of Fig. 1.
  • the specific decoding process is as follows.
  • Figure 11 illustrates an intra frame decoding process of a V-MESH compression method according to embodiments.
  • Fig. 11 shows the configuration and operation of a decoder of a receiving device such as Fig. 1.
  • Fig. 11 shows the intra decoding process of V-Mesh technology.
  • the input bitstream can be separated into a mesh sub-stream, a displacement sub-stream, an attribute map sub-stream, and a sub-stream containing patch information of the mesh such as V3C/V-PCC.
  • the mesh sub-stream is decoded by a decoder of a static mesh codec used in encoding, such as Google Draco, so that the connection information, vertex geometry information, and vertex texture coordinates of the base mesh can be restored.
  • the displacement sub-stream is decoded into a displacement video by a decoder of a video compression codec used in encoding, and goes through image unpacking, inverse quantization, and inverse transform processes to restore displacement information for each vertex. Inverse quantization is applied to the restored base mesh, and this result is combined with the restored displacement information to generate the final decoded mesh.
  • the attribute map sub-stream is decoded through the decoder of the video compression codec used in encoding, and then restored to the final attribute map through processes such as color format conversion.
  • the restored decoded mesh and decoded attribute map can be utilized by the receiver as final mesh data that can be utilized by the user.
  • the bitstream includes patch information, a mesh substream, a displacement substream, and an attribute map substream.
  • the substream is interpreted as a term referring to some bitstreams included in the bitstream.
  • the bitstream includes patch information (data), mesh information (data), displacement information (data), and attribute cap information (data).
  • the decoder performs the following decoding operations within a frame.
  • the static mesh decoder decodes the mesh to generate a reconstructed quantized base mesh, and the inverse quantizer inversely applies the quantization parameters of the quantizer to generate the reconstructed base mesh.
  • the video decoder decodes the displacement, the unpacker unpacks the decoded video image, and the inverse quantizer inversely quantizes the quantized image.
  • the linear lifting inverse transform applies a lifting transform in the reverse process of the encoder to generate the reconstructed displacement.
  • the mesh restoration unit generates a warped mesh based on the base mesh and the displacement.
  • the video decoder decodes an attribute map, and the color transformation unit transforms a color format and/or space to generate a decoded attribute map.
  • Figure 12 shows the inter-frame decoding process of the V-MESH compression method.
  • Fig. 12 shows the configuration and operation of a decoder of a receiving device such as Fig. 1.
  • Fig. 12 shows the inter decoding process of V-Mesh technology.
  • the input bitstream can be separated into a motion sub-stream, a displacement sub-stream, an attribute sub-stream, and a sub-stream containing patch information of the mesh such as V3C/V-PCC.
  • the motion sub-stream is decoded through the entropy decoding and inverse prediction processes, and the reconstructed motion information is combined with the already reconstructed reference base mesh to generate a reconstructed quantized base mesh for the current frame.
  • the result of applying inverse quantization to this is combined with the displacement information reconstructed in the same way as the intra decoding described above to generate the final decoded mesh.
  • the attribute map sub-stream is decoded in the same way as the intra decoding.
  • the reconstructed decoded mesh and the decoded attribute map can be utilized by the receiver as the final mesh data that can be utilized by the user.
  • the bitstream includes motion, displacement, and attribute maps. Since inter-frame decoding is performed, a process of decoding inter-frame motion information is further included. The motion is decoded, and a restored quantized base mesh for the motion is generated based on the reference base mesh to generate the restored base mesh.
  • Fig. 12 which is the same as Fig. 11, refer to the description of Fig. 11.
  • Fig. 13 shows a point cloud data transmission device according to embodiments.
  • Fig. 13 corresponds to the transmitting device (100), the dynamic mesh video encoder (102), the Fig. 2 encoder (pre-processor and encoder), and/or the transmitting encoding device corresponding thereto of Fig. 1.
  • Each component of Fig. 13 corresponds to hardware, software, a processor, and/or a combination thereof.
  • the operation process of a transmitter for compressing and transmitting dynamic mesh data using V-Mesh compression technology can be as shown in Fig. 13.
  • the mesh preprocessor receives the original mesh as input and generates a simplified mesh (decimated mesh). Simplification can be performed based on the target number of vertices or the target number of polygons that constitute the mesh. Parameterization can be performed to generate texture coordinates and texture connection information per vertex for the simplified mesh. In addition, a task of quantizing floating-point type mesh information into fixed-point type can be performed. This result can be encoded as a base mesh through a static mesh encoding unit. The mesh preprocessor can perform mesh subdivision on the base mesh to generate additional vertices. Depending on the subdivision method, vertex connection information, texture coordinates, and texture coordinate connection information including the added vertices can be generated. The subdivided mesh can be fitted by adjusting the vertex positions to be similar to the original mesh, thereby generating a fitted subdivided mesh.
  • the base mesh generated through the mesh preprocessing unit can be compressed through the static mesh encoding unit.
  • encoding can be performed on the connection information, vertex geometry information, vertex texture information, normal information, etc. of the base mesh.
  • the base mesh bitstream generated through encoding is transmitted to the multiplexing unit.
  • a motion vector encoding unit When performing inter encoding for the corresponding mesh frame, a motion vector encoding unit is performed, which can calculate a motion vector between the two meshes using a base mesh and a reference restoration base mesh as inputs, and encode the value.
  • the motion vector encoding unit can perform prediction based on connection information using a previously encoded/decoded motion vector as a predictor, and encode a residual motion vector obtained by subtracting the predicted motion vector from the current motion vector.
  • the motion vector bitstream generated through encoding is transmitted to the multiplexing unit.
  • the encoded base mesh and motion vectors can be used to generate a restored base mesh through the base mesh restoration unit.
  • the displacement vector calculator can perform mesh refinement on the restored base mesh.
  • the displacement vector can be calculated as the difference value of the vertex position between the refined restored base mesh and the fitted subdivision mesh generated in the preprocessing unit. As a result, the displacement vector can be calculated as many as the number of vertices of the refined mesh.
  • the displacement vector calculation unit can convert the displacement vector calculated in the 3D Cartesian coordinate system into the local coordinate system based on the normal vector of each vertex.
  • the displacement vector video generator can transform the displacement vector for effective encoding.
  • the transform can be performed by a lifting transform, a wavelet transform, etc., depending on the embodiment.
  • quantization can be performed on the transformed displacement vector value, that is, the transform coefficient. Different quantization parameters can be applied to each axis of the transform coefficient, and the quantization parameters can be derived by the promise of the encoder/decoder.
  • the transformed and quantized displacement vector information can be packed into a 2D image.
  • the packed 2D images can be bundled for each frame to generate a displacement vector video, and the displacement vector video can be generated for each GoF (Group of Frame) unit of the input mesh.
  • GoF Group of Frame
  • a displacement vector video encoder can encode the generated displacement vector video using a video compression codec.
  • the generated displacement vector video bitstream is transmitted to a multiplexer.
  • the displacement vector restored through the displacement vector restorer and the base mesh restored through the base mesh restorer and refined are restored through the mesh restorer, and the restored mesh has restored vertices, connection information between vertices, texture coordinates, and connection information between texture coordinates.
  • the texture map of the original mesh can be regenerated as a texture map for the restored mesh through the texture map video generation unit.
  • the color information per vertex of the texture map of the original mesh can be assigned to the texture coordinates of the restored mesh.
  • the regenerated texture maps for each frame can be grouped by GoF unit to generate a texture map video.
  • the generated texture map video can be encoded using a video compression codec through a texture map video encoding unit.
  • the texture map video bitstream generated through encoding is transmitted to a multiplexing unit.
  • the generated motion vector bitstream, base mesh bitstream, displacement vector bitstream and texture map bitstream may be multiplexed into a single bitstream and transmitted to a receiver through a transmitter.
  • the generated motion vector bitstream, base mesh bitstream, displacement vector bitstream and texture map bitstream may be generated into a file with one or more track data or encapsulated into segments and transmitted to a receiver through a transmitter.
  • a transmitting device can encode a mesh in an intra-frame or inter-frame manner.
  • a transmitting device according to intra-encoding can generate a base mesh, a displacement vector (displacement), and a texture map (attribute map).
  • a transmitting device according to inter-encoding can generate a motion vector (motion), a base mesh, a displacement vector (displacement), and a texture map (attribute map).
  • a texture map obtained from a data input unit is generated and encoded based on a restored mesh.
  • Displacement is generated and encoded through a difference in vertex positions between the base mesh and the divided mesh.
  • the base mesh is generated by preprocessing, simplifying, and encoding an original mesh.
  • Motion is generated as a motion vector for a mesh of a current frame based on a reference base mesh of a previous frame.
  • Fig. 14 shows a point cloud data receiving device according to embodiments.
  • Fig. 14 corresponds to the receiving device (110) of Fig. 1, the dynamic mesh video decoder (113), the decoder of Figs. 11-12, and/or the receiving decoding device corresponding thereto.
  • Each component of Fig. 14 corresponds to hardware, software, a processor, and/or a combination thereof.
  • the receiving (decoding) operation of Fig. 14 can follow the reverse process of the corresponding process of the transmitting (encoding) operation of Fig. 13.
  • the received Mesh bitstream is demultiplexed into a compressed motion vector bitstream or base mesh bitstream, displacement vector bitstream, and texture map bitstream after file/segment decapsulation.
  • the motion vector decoding unit can perform decoding on the motion vector bitstream.
  • the final motion vector can be reconstructed by adding the previously decoded motion vector to the residual motion vector decoded from the bitstream using the previously decoded motion vector as a predictor.
  • the base mesh bitstream can restore the connection information, vertex geometry information, texture coordinates, normal information, etc. of the base mesh through the static mesh encoding unit.
  • the base mesh restoration unit if the current mesh has inter-screen encoding applied, the current base mesh can be restored by adding the decoded motion vector to the reference base mesh and then performing inverse quantization. If the current mesh has intra-screen encoding applied, the decoded mesh can be dequantized through the static mesh decoding unit to generate a restored base mesh.
  • the displacement vector bitstream can be decoded as a video bitstream using a video codec in a displacement vector video decoder.
  • displacement vector transformation coefficients are extracted from the decoded displacement vector video, and the displacement vector is restored through the inverse quantization and inverse transformation processes. If the restored displacement vector is a value in the local coordinate system, a process of inverse transformation to the Cartesian coordinate system can be performed.
  • additional vertices can be generated by performing subdivision on the restored base mesh.
  • vertex connection information including the added vertices, texture coordinates, and texture coordinate connection information can be generated.
  • the subdivided restored base mesh can be combined with the restored displacement vector to generate the final restored mesh.
  • the texture map bitstream can be decoded as a video bitstream using a video codec in a texture map video decoding unit.
  • the restored texture map has color information for each vertex contained in the restored mesh, and the color value of each vertex can be obtained from the texture map using the texture coordinates of each vertex.
  • the restored mesh and texture map are shown to the user through a rendering process using a mesh data renderer, etc.
  • a receiving device can decode a mesh in an intra-frame or inter-frame manner.
  • a receiving device according to intra-decoding can receive a base mesh, a displacement vector (displacement), and a texture map (attribute map), and can decode a restoration mesh and a restoration texture map to render mesh data.
  • a receiving device according to inter-decoding can receive a motion vector (motion), a base mesh, a displacement vector (displacement), and a texture map (attribute map), and can decode a restoration mesh and a restoration texture map to render mesh data.
  • the point cloud data transmission device and method according to the embodiments can encode mesh data and transmit a bitstream including the encoded mesh data.
  • the point cloud data reception device and method according to the embodiments can receive a bitstream including mesh data and decode the mesh data.
  • the point cloud data transmission and reception method/device according to the embodiments may be referred to as the method/device according to the embodiments.
  • the point cloud data transmission and reception method/device according to the embodiments may also be referred to as the mesh data transmission and reception method/device according to the embodiments.
  • Figure 15 shows a mesh system structure according to embodiments.
  • Embodiments include a method of storing and transmitting a dynamic mesh coding bitstream in a file (Carriage of Dynamic Mesh Coding Bitstream in Single Track).
  • Embodiments include methods for storing and/or signaling a Video-based Dynamic Mesh Coding (VDMC) bitstream as a single track within a file.
  • VDMC Video-based Dynamic Mesh Coding
  • Embodiments include a transmission method/device and/or a reception method/device for providing a mesh content service that efficiently stores a V-DMC (video-based dynamic mesh coding) or mesh bitstream in a single track within a file and provides signaling therefor.
  • V-DMC video-based dynamic mesh coding
  • Embodiments include a transmitting method/device and/or a receiving method/device for providing mesh content services that handle file storage techniques to enable efficient access to stored V-DMC bitstreams.
  • V-DMC video-based dynamic mesh coding
  • the embodiments can be applied not only to V-DMC but also to bitstreams using other mesh codings configured in the same manner or in a similar bitstream format.
  • Embodiments can encapsulate mesh content encoded with V-DMC (Video-based Dynamic Mesh Coding) into a single track based on an ISOBMFF file to provide a service such as streaming.
  • V-DMC Video-based Dynamic Mesh Coding
  • the embodiments generate and transmit information contained in a sample entry within a single track of a file.
  • the embodiments generate and transmit decoder configuration information as signaling information included in a sample entry within a single track of a file.
  • the embodiments generate and transmit information contained in a sample format within a single track of a file.
  • the decoder receives a single track of the file, parses the information within the single track, and efficiently decodes the mesh data.
  • Fig. 15 is a structure of a mesh system. Scenes and/or objects acquired using multiple cameras, sensors and/or virtual cameras in the real world can be encoded into V-DMC bitstreams based on mesh data pre-processing and/or mesh data encoding.
  • the mesh bitstreams can be generated in a file format that can be efficiently stored and transmitted through file encapsulation.
  • the dynamic mesh player can recover the acquired and received files through this process into a mesh bitstream through file decapsulation.
  • the recovered mesh bitstream can be provided to a display device and displayed based on mesh data decoding and/or mesh data processing/rendering.
  • Examples include mesh encoding, file/segment encapsulation, file/segment decapsulation, mesh decoding, etc.
  • Figure 16 illustrates a video-based dynamic mesh coding bitstream structure according to embodiments.
  • Figure 16 shows an example of a bitstream structure including mesh data encoded in Figure 15, etc.
  • the sequence header of the bitstream may include decoder configuration information.
  • the encoded base mesh of the bitstream is generated by encoding the input mesh file.
  • the encoding method may include Edgebreaker or Draco, etc.
  • the encoded displacement (which may be referred to as displacement information or geometry, etc.) of the bitstream means the difference information between vertices between the reconstructed subdivision meshes after fitting and subdividing the base mesh. It is generated by packing the difference information between vertices into a 2D image and encoding the packed image based on a video method.
  • the video method may include HEVC, etc.
  • the displacement may be generated by encoding the packed image based on an arithmetic coding method.
  • the encoded attribute (or texture) of the bitstream is generated by generating and encoding a new 2D attribute (color information, PNG image) that matches the coordinates of the attribute (texture, 2D) of the reconstructed subdivision mesh using the input attribute map (e.g., PNG image).
  • Encoding methods may include HEVC, etc.
  • the bitstream according to the embodiments may be a bitstream resulting from video-based dynamic mesh encoding.
  • the bitstream may include base mesh data, displacement data, texture or attribute data, each encoded.
  • a bitstream according to the embodiments may be generated as shown in Fig. 16b.
  • the bitstream may include a sample stream header and a sample stream unit.
  • the unit may be a DMC unit.
  • the header and the unit may be referred to as a sample stream DMC header, a sample stream DMC unit, etc., respectively.
  • VPS V-DMC Parameter Set
  • Parameter Set May include parameter set information such as decoder configuration information related to mesh encoding/decoding and sequence number.
  • AD Align Data: May contain information related to 2D mapping or texture mapping for 3D objects.
  • BMD Base Mesh Data: Encoded base mesh information for mesh coding/decoding.
  • DD(Displacements Data) Displacement information encoded using arithmetic coding. However, in case of lossless encoding, displacement data may not be included.
  • GVD Displacements Video Data: Displacement information encoded with a video codec.
  • AVD Attribute Video Data: Attribute or texture information encoded with a video codec.
  • V-DMC bitstream can be defined by the syntax and semantics of the sample stream DMC header and the sample stream DMC unit as follows.
  • sample stream data syntax and semantics can be the sample stream format defined in the V3C codec standard, i.e., ISO/IEC 23090-5, which is referenced in the V-DMC standard.
  • V3C codec i.e., ISO/IEC 23090-5
  • it can be flexibly implemented based on a bitstream format newly defined in the V-DMC or V3C codec.
  • Sample Stream Header Precision (sdmh_unit_size_precision_bytes_minus1): This value plus 1 represents the precision (in bytes) of sdmu_dmc_unit_size elements in every sample stream DMC unit.
  • the range for sdmh_unit_size_precision_bytes_minus1 is 0 to 7.
  • Each sample stream DMC unit contains one type of DMC unit among VPS, AD, BMD, DD, GVD, and AVD.
  • the contents of each sample stream DMC unit are associated with the same access unit as the DMC unit contained in the sample stream DMC unit.
  • the sample stream unit size (sdmu_dmc_unit_size) represents the size (in bytes) of the subsequent dmc_unit.
  • the number of bits used to express sdmu_dmc_unit_size is equal to (sdmh_unit_size_precision_bytes_minus1 + 1) * 8.
  • a DMC unit may contain a unit header and a unit payload.
  • the unit header may contain type information about the unit payload.
  • the unit payload may contain data of that type.
  • DMC unit (dmc_unit) data syntax and semantics can be in the format of V3C unit (v3c_unit) used in the V3C codec specification, i.e. ISO/IEC 23090-5, which is referenced in the V-DMC standard. It can also be flexibly implemented based on a bitstream format newly defined in V-DMC or V3C codec.
  • Decoder configuration information contains decoder configuration information for mesh-based point cloud content. This decoder configuration information contains a version field. The decoder configuration information can define version 1. Incompatible changes to the decoder configuration information are indicated by a change in the version number. Compatible extensions to this record extend it and do not change the configuration version code.
  • the syntax of the DMC decoder configuration information is as follows.
  • setup_unit_type / VPS, SPS, FPS, GPS, APS, etc.
  • Setup unit ( setup_unit ): Contains a set of V3C parameters.
  • a setup unit contains NAL units according to their associated nal unit type ( nal_unit_type ). If present in the setup_unit , it contains SEI messages of type NAL_PREFIX_ESEI , NAL_PREFIX_NSEI , NAL_SUFFIX_ESEI , or NAL_SUFFIX_NSEI , i.e. SEI messages that provide information about the stream as a whole.
  • the setup_unit array contains a set of atlas sub-bitstream parameters and atlas sub-bitstream SEI messages that are constants for the CVS referenced by the sample entry for which a decoder configuration record exists.
  • ConfigurationVersion is a version field. Incompatible changes to a record are indicated by a change in the version number.
  • the number of setup units indicates the number of DMC configuration units in the decoder configuration record.
  • An array completeness of 1 indicates that all the constituent units of the indicated type are in the following array and none are in the stream.
  • a value of 0 indicates that additional constituent units of the indicated type may be in the stream.
  • the default and allowed values are restricted by the sample item name.
  • the setup unit type indicates the DMC-related parameter set type.
  • This parameter set type can be information based on the parameter set type defined in the V-DMC specification.
  • a SetupUnit contains a VPS (V-DMC Parameter Set), a SPS (Sequence Parameter Set), a FPS (Frame Parameter Set), a DPS (n Parameter Set), a GPS (Geometry Parameter Set), a BPS (Base Mesh Parameter Set), and/or an APS (Attribute Parameter Set), and the parameter sets may be information based on parameter sets defined in the V-DMC standard.
  • a BPS (BaseMesh Parameter Set) can contain the following elements:
  • the sequence parameter set ID (bmsps_sequence_parameter_set_id) represents an identifier for a BaseMesh sequence parameter set so that it can be referenced from other syntax elements.
  • the intra-mesh codec ID indicates the identifier of the codec used to compress the static mesh.
  • bmsps_intra_mesh_codec_id is in the range 0 to 255.
  • the codec may be identified by a profile defined in ISO/IEC 23090-29, a component codec mapping SEI message, or means external to this document. It may also be associated with a particular mesh or motion mesh codec via a profile specified in that specification, or it may be explicitly indicated in an SEI message, as is done in the V3C specification for video sub-bitstreams.
  • bmsps_inter_mesh_codec_id indicates the identifier of the codec used to compress the motion data.
  • bmsps_intr_mesh_codec_id is in the range 0 to 255.
  • the codec may be identified by a profile defined in ISO/IEC 23090-29, a component codec mapping SEI message, or means external to this document. It may also be associated with a particular mesh or motion mesh codec via a profile specified in that specification, or it may be explicitly indicated in an SEI message, as is done in the V3C specification for video sub-bitstreams.
  • Inter-mesh motion group size (bmsps_inter_mesh_motion_group_size_minus1): Adding 1 to this value indicates the size of vertex grouping in motion vector coding.
  • the range of bmsps_inter_mesh_motion_group_size_minus1 is 0 to 255.
  • Inter-mesh maximum number of neighbors (bmsps_inter_mesh_max_num_neighbours_minus1): Adding 1 to this value indicates the maximum number of vertex neighbors to use for calculating the motion vector estimator.
  • the range of bmsps_inter_mesh_max_num_neighbours_minus1 is 0 to 255.
  • Geometry length (bmsps_geometry_3d_bit_length_minus1): Adding 1 to this value indicates the bit depth of the geometry coordinates of the reconstructed mesh.
  • the facegroup segmentation method indicates the identifier of the method for deriving facegroup IDs from a mesh.
  • Mesh attribute count (bmsps_mesh_attribute_count) indicates the number of attributes associated with the mesh.
  • Mesh attribute type ID indicates the attribute type of the attribute with index i for the mesh. Types include texture, materialID, reflectance, normal, facegroupID, etc.
  • Attribute bit length (bmsps_attribute_bit_length_minus1[ i ]): Adding 1 to this value indicates the bit depth of the attribute with index i for the mesh.
  • bmsps_log2_max_mesh_frame_order_cnt_lsb_minus4 + 4 represents the values of the Log2MaxMeshFrmOrderCntLsb and MaxMeshFrmOrderCntLsb variables used in the decoding process for the atlas frame order number:
  • MaxMeshFrmOrderCntLsb 2Log2MaxMeshFrmOrderCntLsb
  • bmsps_max_dec_mesh_frame_buffering_minus1 + 1 represents the maximum required size of the decoded atlas frame buffer for CAS in atlas frame storage buffer units.
  • bmsps_long_term_ref_mesh_frames_flag 0, it indicates that long-term reference atlas frames are not used for inter prediction of coded atlas frames in CAS. If bmsps_long_term_ref_mesh_frames_flag is 1, it indicates that long-term reference atlas frames may be used for inter prediction of one or more coded atlas frames in CAS.
  • bmsps_num_ref_mesh_frame_lists_in_bmsps indicates the number of bmesh_ref_list_struct( rlsIdx ) syntax structures included in the atlas sequence parameter set.
  • the decoder can have one bmesh_ref_list_struct(rlsIdx) syntax structure that directly signals the atlas tile header of the current atlas tile, so it allocates memory for a total number of bmesh_ref_list_struct( rlsIdx ) syntax structures equal to (bmsps_num_ref_mesh_frame_lists_in_bmsps + 1).
  • BPS further contains bmesh_profile_tier_level( ).
  • bmesh_profile_tier_level( ) further contains the following elements:
  • bmptl_tier_flag indicates the hierarchy context for interpretation of bmptl_level_idc as specified in ISO/IEC 23090-29.
  • bmptl_profile_codec_group_idc indicates a codec group profile component that the CVS complies with as specified in ISO/IEC 23090-29.
  • bmptl_profile_toolset_idc represents a toolset combination profile component that CVS complies with as specified in ISO/IEC 23090-29.
  • bmptl_profile_reconstruction_idc represents the reconstruction profile component that CVS is recommended to comply with as specified in ISO/IEC 23090-29.
  • bmptl_level_idc indicates the level to which the CVS complies as specified in ISO/IEC 23090-29.
  • bmptl_num_sub_profiles represents the number of bmptl_sub_profile_idc[ i ] syntax elements.
  • bmptl_extended_sub_profile_flag 1
  • bmptl_sub_profile_idc[ i ] syntax element if present, should be represented using 64 bits.
  • bmptl_extended_sub_profile_flag 0
  • bmptl_sub_profile_idc[ i ] represents the ith interoperability metadata registered as specified in Rec.
  • bmptl_toolset_constraints_present_flag 1
  • bmptl_toolset_constraints_present_flag 0
  • bmesh_profile_tier_level( ) of BPS further contains bmesh_profile_toolset_constraints_information.
  • bmesh_profile_toolset_constraints_information further contains the following elements:
  • bmptc_one_mesh_frame_only_flag When bmptc_one_mesh_frame_only_flag is present, it has the semantics specified in ISO/IEC 23090-29.
  • a bmptc_intra_frames_only_flag of 1 indicates that the bitstream contains only sdu_intra_sub_mesh_unit().
  • the setup unit may further include a base frame parameter.
  • the base frame parameter includes the following elements:
  • bfps_mesh_sequence_parameter_set_id indicates the bmsps_sequence_parameter_set_id value for the active basemesh sequence parameter set.
  • bfps_mesh_parameter_set_id indicates the basemesh frame parameters set for reference in other syntax elements.
  • bfps_output_flag_present_flag 1
  • bfps_output_flag_present_flag 0
  • bfps_num_ref_idx_default_active_minus1 + 1 represents the inferred value of variable NumRefIdxActive for tiles with smh_num_ref_idx_active_override_flag equal to 0.
  • bfps_additional_lt_mfoc_lsb_len indicates the value of the MaxLtMeshFrmOrderCntLsb variable used in the decoding process for the reference atlas frame list.
  • bfps_extension_present_flag 1
  • bfps_extension_present_flag 0
  • bitstream may further include parameters relating to arithmetic-encoded displacement information.
  • the parameters relating to the displacement information may be included in the bitstream as raw units.
  • the parameters relating to the displacement information may further include a parameter set relating to the displacement information, a profile of the displacement information, a frame parameter relating to the displacement information, etc.
  • the DMC Decoder Configuration box contains a DMCDecoderConfigurationRecord.
  • the syntax of the DMC decoder configuration box is as follows:
  • the semantics of the DMC decoder configuration box are the same as the DMCDecoderConfigurationRecord described above.
  • Encoded bitstreams according to the embodiments can be transmitted and received encapsulated in a single track.
  • V-DMC bitstream sample entry for a single track is as follows:
  • Quantity One or more
  • a transmitting device may encapsulate a V-DMC bitstream into a single track.
  • a sample entry of a V-DMC bitstream track may include DMCConfigurationBox information. If a sample entry type is 'dme1', all related parameter sets may be included in a setup unit (setup_unit) of the DMCConfigurationBox. If a sample entry type is 'dmeg', all related parameter sets may be included in the setup unit (setup_unit) of the DMCConfigurationBox, and/or may be included in a sample of a DMC bitstream track.
  • V-DMC bitstream sample entry for a single track is as follows:
  • class DMCBitstreamSampleEntry() extends VolumetricVisualSampleEntry (type) ⁇
  • V-DMC bitstream track sample format for a single track is as follows:
  • a V-DMC bitstream sample must contain one or more DMC units belonging to the same presentation time, i.e., a V-DMC constituent unit.
  • a sample may be self-contained (e.g., a synchronization sample) or may be decoded dependent on other samples in the V-DMC bitstream track.
  • V-DMC bitstream track sample is described to include V-DMC bitstream data in a sample stream format referenced in the V-DMC standard document, but may also include V-DMC bitstream data in a format defined other than the sample stream format.
  • V-DMC bitstream sample syntax for a single track is as follows:
  • V-DMC bitstream sample semantics of a single track are as follows:
  • the DMC unit (ss_dmc_unit) contains a single DMC unit in the DMC unit sample stream format defined in the V-DMC specification.
  • DMC unit size indicates the size (in bytes) of the sample stream DMC unit.
  • Fig. 17 illustrates a mesh data receiving device according to embodiments.
  • the receiver can receive the V-DMC bitstream encapsulated in a single track file format, either in its entirety or in segments, via a file delivery method such as streaming.
  • File Parser It can find the track(s) of the received file and parse the sample entry of each track. At this time, the sample entry type can be distinguished as 'dme1' or 'dmeg' to find out what type of track it is. In addition, by parsing the receiver initialization information included in the sample entry, i.e., decoder configuration information, the receiver can prepare for decoding using parameter sets related to decoding.
  • data contained in a sample can be collected by parsing information about the sample contained in the sample entry, such as sample size, sample offset, etc.
  • Bitstream Packager As described above, the collected data can be packaged in a form similar to the V-DMC bitstream structure embodiment as shown in FIG. 16.
  • V-DMC Decoder Can decode bitstream files packaged in the V-DMC bitstream structure and format.
  • Figure 18 shows a mesh data encoding method according to embodiments.
  • a mesh data encoding method may include a step of encoding mesh data (S1800); a step of encapsulating mesh data into a file (S1810); and a step of transmitting the file (S1820).
  • a bitstream containing mesh data and parameter information about the mesh data can be encapsulated into a single track of a file.
  • a bitstream contains a sample stream header and one or more sample stream units
  • the sample stream header contains information about one or more sample stream units
  • One or more sample stream units may include at least one of atlas data about the mesh data, information about a base mesh, displacement information encoded based on arithmetic coding, displacement information encoded based on a video codec, and attribute data encoded based on a video codec.
  • the file comprises a bitstream based on a single track including mesh data and parameter information about the mesh data, a sample entry of the single track including decoder configuration information, the decoder configuration information including information indicating a number of setup units, information indicating a type of the setup units, or at least one of the setup units, and the setup unit may include a parameter set about the mesh data.
  • a parameter set of a setup unit can include at least one of a VPS (V-DMC parameter set), a SPS (sequence parameter set), a FPS (frame parameter set), a DPS (displacement parameter set), a GPS (geometry parameter set), a BPS (basemesh parameter set), or an APS (attribute parameter set).
  • VPS V-DMC parameter set
  • SPS sequence parameter set
  • FPS frame parameter set
  • DPS display parameter set
  • GPS geometry parameter set
  • BPS basemesh parameter set
  • APS attribute parameter set
  • the file comprises a bitstream based on a single track, which includes mesh data and parameter information about the mesh data, and samples of the single track can include parameter information about the mesh data.
  • a sample of a single track may contain one or more Dynamic Mesh Coding (DMC) units belonging to composition time.
  • DMC Dynamic Mesh Coding
  • a mesh data encoding device includes an encoder for encoding mesh data; a file encapsulator for encapsulating mesh data into a file; and a transmission unit for transmitting the file; wherein a bitstream including mesh data and parameter information about the mesh data can be encapsulated into a single track of the file.
  • Figure 19 shows a mesh data decryption method according to embodiments.
  • a method for decrypting mesh data may include a step of receiving a file including mesh data (S1900); a step of decapsulating the file (S1910); and a step of decrypting the mesh data (S1920).
  • a method for decoding mesh data includes the steps of: receiving a file including mesh data; decapsulating the file; and decoding the mesh data; and the file may include a bitstream including mesh data and parameter information about the mesh data.
  • a bitstream includes a sample stream header and one or more sample stream units
  • the sample stream header includes information about the one or more sample stream units
  • the one or more sample stream units may include at least one of atlas data about mesh data, information about a base mesh, displacement information encoded based on arithmetic coding, displacement information encoded based on a video codec, and attribute data encoded based on a video codec.
  • the file can be generated as a single track, and when a sample entry type of the single track is a specific value (dme1), the file includes a bitstream including the mesh data and parameter information about the mesh data based on the single track, the sample entry of the single track includes decoder configuration information, and the decoder configuration information includes at least one of information indicating a number of setup units, information indicating a type of the setup units, or a setup unit, and the setup unit can include a parameter set about the mesh data.
  • dme1 a specific value
  • the file includes a bitstream including the mesh data and parameter information about the mesh data based on the single track
  • the sample entry of the single track includes decoder configuration information
  • the decoder configuration information includes at least one of information indicating a number of setup units, information indicating a type of the setup units, or a setup unit
  • the setup unit can include a parameter set about the mesh data.
  • a parameter set of the setup unit may include at least one of a VPS (V-DMC parameter set), an SPS (sequence parameter set), an FPS (frame parameter set), a DPS (displacement parameter set), a GPS (geometry parameter set), a BPS (basemesh parameter set), or an APS (attribute parameter set).
  • VPS V-DMC parameter set
  • SPS sequence parameter set
  • FPS frame parameter set
  • DPS display parameter set
  • GPS geometry parameter set
  • BPS basemesh parameter set
  • APS attribute parameter set
  • a file can be generated as a single track, and if a sample entry type of the single track is a specific value (dmeg), the file includes a bitstream including the mesh data and parameter information about the mesh data based on the single track, and a sample of the single track can include parameter information about the mesh data.
  • a sample entry type of the single track is a specific value (dmeg)
  • the file includes a bitstream including the mesh data and parameter information about the mesh data based on the single track, and a sample of the single track can include parameter information about the mesh data.
  • a sample of a single track may contain one or more DMC (Dynamic Mesh Coding) units belonging to a composition time.
  • DMC Dynamic Mesh Coding
  • a sample entry may have at least one type of information among a first type indicating whether parameter information about mesh data is included in a setup unit or a second type indicating whether parameter information about the mesh data is included in a sample.
  • a mesh data decoding device includes a receiving unit that receives a file including mesh data; a file decapsulator that decapsulates the file; and a decoder that decodes the mesh data; and the file may include a bitstream including mesh data and parameter information about the mesh data.
  • a transmitter or receiver for providing mesh content services can construct a V-DMC bit stream and store and transmit a file.
  • the transmitter or receiver can efficiently store and transmit a file of a V-DMC bit stream through a storage technique and signaling of the V-DMC bit stream as one track in a file.
  • each drawing has been described separately, but it is also possible to design a new embodiment by combining the embodiments described in each drawing.
  • designing a computer-readable recording medium in which a program for executing the previously described embodiments is recorded according to the needs of a person skilled in the art also falls within the scope of the embodiments.
  • the devices and methods according to the embodiments are not limited to the configurations and methods of the embodiments described above, but the embodiments may be configured by selectively combining all or part of the embodiments so that various modifications can be made.
  • the various components of the device of the embodiments may be performed by hardware, software, firmware, or a combination thereof.
  • the various components of the embodiments may be implemented as one chip, for example, one hardware circuit.
  • the components according to the embodiments may be implemented as separate chips, respectively.
  • at least one of the components of the device of the embodiments may be configured with one or more processors capable of executing one or more programs, and the one or more programs may perform, or include instructions for performing, one or more of the operations/methods according to the embodiments.
  • the executable instructions for performing the methods/operations of the device of the embodiments may be stored in non-transitory CRMs or other computer program products configured to be executed by one or more processors, or may be stored in temporary CRMs or other computer program products configured to be executed by one or more processors.
  • the memory according to the embodiments may be used as a concept including not only volatile memory (e.g., RAM, etc.), but also non-volatile memory, flash memory, PROM, etc. Additionally, it may include implementations in the form of carrier waves, such as transmission over the Internet.
  • the processor-readable recording medium may be distributed over network-connected computer systems, so that the processor-readable code may be stored and executed in a distributed manner.
  • first, second, etc. may be used to describe various components of the embodiments. However, the various components according to the embodiments should not be limited in their interpretation by the above terms. These terms are merely used to distinguish one component from another. For example, a first user input signal may be referred to as a second user input signal. Similarly, a second user input signal may be referred to as a first user input signal. The use of these terms should be construed as not departing from the scope of the various embodiments. Although the first user input signal and the second user input signal are both user input signals, they do not mean the same user input signals unless the context clearly indicates otherwise.
  • the operations according to the embodiments described in this document may be performed by a transceiver device including a memory and/or a processor according to the embodiments.
  • the memory may store programs for processing/controlling the operations according to the embodiments, and the processor may control various operations described in this document.
  • the processor may be referred to as a controller, etc.
  • the operations according to the embodiments may be performed by firmware, software, and/or a combination thereof, and the firmware, software, and/or a combination thereof may be stored in the processor or in the memory.
  • the transmitting/receiving device may include a transmitting/receiving unit for transmitting and receiving media data, a memory for storing instructions (program codes, algorithms, flowcharts, and/or data) for a process according to the embodiments, and a processor for controlling operations of the transmitting/receiving device.
  • the processor may be referred to as a controller, etc., and may correspond to, for example, hardware, software, and/or a combination thereof.
  • the operations according to the embodiments described above may be performed by the processor.
  • the processor may be implemented as an encoder/decoder, etc. for the operations of the embodiments described above.
  • the embodiments can be applied in whole or in part to a point cloud data transmission and reception device and system.
  • Embodiments may include modifications/changes, which do not depart from the scope of the claims and their equivalents.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

A mesh data decoding method according to embodiments may comprise the steps of: receiving a file including mesh data; decapsulating the file; and decoding the mesh data, wherein the file includes a bitstream including the mesh data and parameter information about the mesh data. A mesh data encoding method according to embodiments may comprise the steps of: encoding mesh data; encapsulating the mesh data into a file; and transmitting the file, wherein a bitstream including the mesh data and parameter information about the mesh data is encapsulated into a single track of the file.

Description

메쉬 데이터 송신 장치, 메쉬 데이터 송신 방법, 메쉬 데이터 수신 장치 및 메쉬 데이터 수신 방법Mesh data transmission device, mesh data transmission method, mesh data reception device and mesh data reception method

실시예들은 사용자에게 VR (Virtual Reality, 가상현실), AR (Augmented Reality, 증강현실), MR (Mixed Reality, 혼합현실), 및 자율 주행 서비스 등의 다양한 서비스를 제공하기 위하여 Point Cloud 콘텐츠를 제공하는 방안을 제공한다.The embodiments provide a method for providing Point Cloud content to provide various services to users, such as Virtual Reality (VR), Augmented Reality (AR), Mixed Reality (MR), and autonomous driving services.

포인트 클라우드는 3D공간 상의 포인트들의 집합이다. 3D공간 상의 포인트들의 양이 많아서 포인트 클라우드 데이터를 생성하기 어려운 문제점이 있다. A point cloud is a collection of points in 3D space. There is a problem in that it is difficult to create point cloud data because there are a large number of points in 3D space.

포인트 클라우드의 데이터를 전송하고 수신하기 위해서 많은 처리량이 요구되는 문제점이 있다. There is a problem that a lot of processing is required to transmit and receive point cloud data.

실시예들에 따른 기술적 과제는, 전술한 문제점 등을 해결하기 위해서, 포인트 클라우드를 효율적으로 송수신하기 위한 포인트 클라우드 데이터 전송 장치, 전송 방법, 포인트 클라우드 데이터 수신 장치 및 수신 방법을 제공하는데 있다.The technical problem according to the embodiments is to provide a point cloud data transmission device, a transmission method, a point cloud data reception device, and a reception method for efficiently transmitting and receiving point clouds in order to solve the problems described above.

실시예들에 따른 기술적 과제는, 지연시간(latency) 및 인코딩/디코딩 복잡도를 해결하기 위한 포인트 클라우드 데이터 전송 장치, 전송 방법, 포인트 클라우드 데이터 수신 장치 및 수신 방법을 제공하는데 있다.Technical problems according to embodiments are directed to providing a point cloud data transmission device, a transmission method, a point cloud data reception device, and a reception method for resolving latency and encoding/decoding complexity.

다만, 전술한 기술적 과제만으로 제한되는 것은 아니고, 본 문서 전체 내용에 기초하여 당업자가 유추할 수 있는 다른 기술적 과제로 실시예들의 권리범위가 확장될 수 있다.However, the scope of the embodiments is not limited to the technical tasks described above, and the scope of the embodiments may be expanded to other technical tasks that can be inferred by a person skilled in the art based on the entire contents of this document.

상술한 목적 및 다른 이점을 달성하기 위해서 실시예들에 따른 메쉬 데이터 디코딩 방법은 메쉬 데이터를 포함하는 파일을 수신하는 단계; 파일을 디캡슐레이팅하는 단계; 및 메쉬 데이터를 복호화하는 단계; 를 포함하고, 파일은 메쉬 데이터 및 메쉬 데이터에 관한 파라미터 정보를 포함하는 비트스트림을 포함할 수 있다. 실시예들에 따른 메쉬 데이터 인코딩 방법은 메쉬 데이터를 부호화하는 단계; 메쉬 데이터를 파일로 인캡슐레이션하는 단계; 및 파일을 전송하는 단계; 를 포함하고, 메쉬 데이터 및 메쉬 데이터에 관한 파라미터 정보를 포함하는 비트스트림이 파일의 싱글 트랙으로 인캡슐레이팅될 수 있다.In order to achieve the above-described object and other advantages, a mesh data decoding method according to embodiments includes the steps of: receiving a file including mesh data; decapsulating the file; and decoding the mesh data; wherein the file may include a bitstream including the mesh data and parameter information about the mesh data. A mesh data encoding method according to embodiments includes the steps of: encoding the mesh data; encapsulating the mesh data into a file; and transmitting the file; wherein the bitstream including the mesh data and the parameter information about the mesh data may be encapsulated into a single track of the file.

실시예들에 따른 포인트 클라우드 데이터 송신 방법, 송신 장치, 포인트 클라우드 데이터 수신 방법, 수신 장치는 퀄리티 있는 포인트 클라우드 서비스를 제공할 수 있다.The point cloud data transmission method, transmission device, point cloud data reception method, and reception device according to the embodiments can provide a quality point cloud service.

실시예들에 따른 포인트 클라우드 데이터 송신 방법, 송신 장치, 포인트 클라우드 데이터 수신 방법, 수신 장치는 다양한 비디오 코덱 방식을 달성할 수 있다.The point cloud data transmission method, transmission device, point cloud data reception method, and reception device according to the embodiments can achieve various video codec methods.

실시예들에 따른 포인트 클라우드 데이터 송신 방법, 송신 장치, 포인트 클라우드 데이터 수신 방법, 수신 장치는 자율주행 서비스 등 범용적인 포인트 클라우드 콘텐츠를 제공할 수 있다.The point cloud data transmission method, transmission device, point cloud data reception method, and reception device according to the embodiments can provide general-purpose point cloud content such as autonomous driving services.

도면은 실시예들을 더욱 이해하기 위해서 포함되며, 도면은 실시예들에 관련된 설명과 함께 실시예들을 나타낸다. 이하에서 설명하는 다양한 실시예들의 보다 나은 이해를 위하여, 하기 도면들에 걸쳐 유사한 참조 번호들이 대응하는 부분들을 포함하는 다음의 도면들과 관련하여 이하의 실시예들의 설명을 반드시 참조해야 한다. The drawings are included to further understand the embodiments, and the drawings illustrate the embodiments together with the description related to the embodiments. For a better understanding of the various embodiments described below, reference should be made to the following description of the embodiments in conjunction with the following drawings, in which like reference numerals correspond to corresponding parts throughout the drawings.

도1은 실시예들에 따른 다이나믹 메쉬(Dynamic Mesh) 콘텐츠 제공을 위한 시스템을 나타낸다.Figure 1 illustrates a system for providing dynamic mesh content according to embodiments.

도2는 실시예들에 따른 V-MESH 압축 방법을 나타낸다.Figure 2 illustrates a V-MESH compression method according to embodiments.

도3은 실시예들에 따른 V-MESH 압축의 프리-프로세싱을 나타낸다.Figure 3 illustrates pre-processing of V-MESH compression according to embodiments.

도4는 실시예들에 따른 미드-엣지 서브디비전 방식을 나타낸다.Figure 4 illustrates a mid-edge subdivision method according to embodiments.

도5는 실시예들에 따른 디스플레이스먼트 생성 과정을 나타낸다.Figure 5 shows a displacement generation process according to embodiments.

도6은 실시예들에 따른 V-MESH 압축 방법의 인트라 프레임 인코딩 프로세스를 나타낸다.Figure 6 illustrates an intra-frame encoding process of a V-MESH compression method according to embodiments.

도7은 실시예들에 따른 V-MESH압축 방법의 인터 프레임 인코딩 프로세스를 나타낸다.Figure 7 illustrates an inter-frame encoding process of a V-MESH compression method according to embodiments.

도8은 실시예들에 따른 디스플레이스먼트에 대한 리프팅 변환 과정을 나타낸다.Figure 8 shows a lifting conversion process for displacement according to embodiments.

도9는 실시예들에 따른 변환 계수를 2D 이미지에 패킹하는 과정을 나타낸다.Figure 9 shows a process of packing transformation coefficients according to embodiments into a 2D image.

도10은 실시예들에 따른 V-MESH 압축 방법의 어트리뷰트 트랜스퍼 과정을 나타낸다.Figure 10 illustrates an attribute transfer process of a V-MESH compression method according to embodiments.

도11은 실시예들에 따른 V-MESH 압축 방법의 인트라 프레임 디코딩 프로세스를 나타낸다.Figure 11 illustrates an intra frame decoding process of a V-MESH compression method according to embodiments.

도12는 V-MES 도13은 실시예들에 따른 포인트 클라우드 데이터 송신 장치를 나타낸다.Fig. 12 shows a V-MES and Fig. 13 shows a point cloud data transmission device according to embodiments.

도13은 실시예들에 따른 포인트 클라우드 데이터 송신 장치를 나타낸다.Fig. 13 shows a point cloud data transmission device according to embodiments.

도14는 실시예들에 따른 포인트 클라우드 데이터 수신 장치를 나타낸다.Fig. 14 shows a point cloud data receiving device according to embodiments.

도15는 실시예들에 따른 메쉬 시스템 구조를 나타낸다.Figure 15 shows a mesh system structure according to embodiments.

도16은 실시예들에 따른 비디오 기반 다이나믹 메쉬 코딩 비트스트림 구조를 나타낸다.Figure 16 illustrates a video-based dynamic mesh coding bitstream structure according to embodiments.

도17은 실시예들에 따른 메쉬 데이터 수신 장치를 나타낸다.Fig. 17 shows a mesh data receiving device according to embodiments.

도18은 실시예들에 따른 메쉬 데이터 부호화 방법을 나타낸다.Figure 18 shows a mesh data encoding method according to embodiments.

도19는 실시예들에 따른 메쉬 데이터 복호화 방법을 나타낸다.Figure 19 shows a mesh data decryption method according to embodiments.

실시예들의 바람직한 실시예에 대해 구체적으로 설명하며, 그 예는 첨부된 도면에 나타낸다. 첨부된 도면을 참조한 아래의 상세한 설명은 실시예들의 실시예에 따라 구현될 수 있는 실시예만을 나타내기보다는 실시예들의 바람직한 실시예를 설명하기 위한 것이다. 다음의 상세한 설명은 실시예들에 대한 철저한 이해를 제공하기 위해 세부 사항을 포함한다. 그러나 실시예들이 이러한 세부 사항 없이 실행될 수 있다는 것은 당업자에게 자명하다.The following detailed description of preferred embodiments of the embodiments is specifically described, examples of which are illustrated in the accompanying drawings. The following detailed description with reference to the accompanying drawings is intended to explain preferred embodiments of the embodiments rather than to illustrate only embodiments that can be implemented according to the embodiments of the embodiments. The following detailed description includes details to provide a thorough understanding of the embodiments. However, it will be apparent to one skilled in the art that the embodiments may be practiced without these details.

실시예들에서 사용되는 대부분의 용어는 해당 분야에서 널리 사용되는 일반적인 것들에서 선택되지만, 일부 용어는 출원인에 의해 임의로 선택되며 그 의미는 필요에 따라 다음 설명에서 자세히 서술한다. 따라서 실시예들은 용어의 단순한 명칭이나 의미가 아닌 용어의 의도된 의미에 근거하여 이해되어야 한다.Most of the terms used in the examples are selected from those commonly used in the field, but some terms are arbitrarily selected by the applicant and their meanings are described in detail in the following description as needed. Therefore, the examples should be understood based on the intended meaning of the terms and not on the simple names or meanings of the terms.

도1은 실시예들에 따른 다이나믹 메쉬(Dynamic Mesh) 콘텐츠 제공을 위한 시스템을 나타낸다.Figure 1 illustrates a system for providing dynamic mesh content according to embodiments.

도1의 시스템은 실시예들에 따른 포인트 클라우드 데이터 송신 장치(100) 및 포인트 클라우드 데이터 수신 장치(110)를 포함한다. 포인트 클라우드 데이터 송신 장치는 다이나믹 메쉬 비디오 획득부(101), 다이나믹 메쉬 비디오 인코더(102), 파일/세그먼트 인캡슐레이터(103), 트랜스미터(104)를 포함할 수 있다. 포인트 클라우드 데이터 수신 장치(110)는 수신부(111), 파일/세그먼트 디캡슐레이터(112), 다이나믹 메쉬 비디오 디코더(113), 렌더러(114)를 포함할 수 있다. 도1의 각 구성요소는 하드웨어, 소프트웨어, 프로세서, 및/또는 그것들의 조합에 대응할 수 있다. 이하에서, 실시예들에 따른 포인트 클라우드 데이터 송신 장치는 송신 장치(100)를 지칭하거나, 다이나믹 메쉬 비디오 인코더(이하, 인코더)(102)를 지칭하는 용어로 해석될 수 있다. 실시예들에 따른 포인트 클라우드 데이터 수신 장치는 수신 장치(110)를 지칭하거나, 다이나믹 메쉬 비디오 디코더(이하, 디코더)(113)를 지칭하는 용어로 해석될 수 있다.The system of FIG. 1 includes a point cloud data transmission device (100) and a point cloud data reception device (110) according to embodiments. The point cloud data transmission device may include a dynamic mesh video acquisition unit (101), a dynamic mesh video encoder (102), a file/segment encapsulator (103), and a transmitter (104). The point cloud data reception device (110) may include a reception unit (111), a file/segment decapsulator (112), a dynamic mesh video decoder (113), and a renderer (114). Each component of FIG. 1 may correspond to hardware, software, a processor, and/or a combination thereof. Hereinafter, the point cloud data transmission device according to embodiments may be interpreted as a term referring to the transmission device (100) or a dynamic mesh video encoder (hereinafter, referred to as an encoder) (102). The point cloud data receiving device according to the embodiments may be interpreted as a term referring to a receiving device (110) or a dynamic mesh video decoder (hereinafter, decoder) (113).

도1의 시스템은 비디오 기반 다이나믹 메쉬 컴프레션(Video-based Dynamic Mesh Compression) 및 디컴프레션을 수행할 수 있다.The system of Fig. 1 can perform video-based dynamic mesh compression and decompression.

3D 캡처, 모델링 및 렌더링의 발전으로, 사용자는 여러 플랫폼과 장치에서 AR, XR, 메타버스, 홀로그램과 같이 다양한 형태의 3D 콘텐츠를 사용할 수 있다. 3D 콘텐츠들은 사용자가 몰입형 경험을 즐길 수 있도록 보다 정교하고 리얼하게 대상을 표현하고 있으며, 이를 위해 3D 모델의 생성 및 사용에는 많은 양의 데이터가 필요하다. 여러가지 형태의 3D 콘텐츠 타입들 중 3D 메쉬(Mesh)는 효율적인 데이터 활용 및 실감 있는 객체 표현을 위해 널리 사용된다. 실시예들은 이러한 메쉬(Mesh) 콘텐츠를 사용하는 시스템에서의 일련의 처리 과정을 포함한다.With the advancement of 3D capture, modeling, and rendering, users can use various forms of 3D content, such as AR, XR, metaverse, and holograms, on various platforms and devices. 3D contents express objects more precisely and realistically so that users can enjoy immersive experiences, and for this purpose, a large amount of data is required to create and use 3D models. Among various types of 3D content, 3D mesh is widely used for efficient data utilization and realistic object expression. Embodiments include a series of processing processes in a system that uses such mesh content.

먼저, 다이나믹 메쉬(dynamic mesh) 데이터를 압축하는 방법은 V-PCC (Video-based point cloud compression) 표준 기술에서 시작된다. 포인트 클라우드(Point cloud) 데이터는 정점 (vertex) 좌표 (X, Y, Z)에 색상 정보를 가지고 있는 데이터들이다. 이 정점 정보에 정점들간의 연결성 정보가 추가되어 있는 것이 메쉬(mesh) 데이터를 의미한다. 콘텐츠를 생성할 때 처음부터 메쉬(mesh) 데이터 형태로 만들어질 수 있다. 포인트 클라우드(point cloud) 데이터에서 연결성 정보를 추가하여 메쉬(mesh) 데이터로 변환하여 사용될 수 있다.First, the method of compressing dynamic mesh data starts from the V-PCC (Video-based point cloud compression) standard technology. Point cloud data is data that has color information in the vertex coordinates (X, Y, Z). Mesh data refers to the vertex information to which connectivity information between vertices is added. When creating content, it can be created in the form of mesh data from the beginning. Connectivity information can be added to point cloud data and converted into mesh data for use.

현재 MPEG 표준 단체에서 다이나믹 메쉬(dynamic mesh) 데이터의 데이터 타입은 아래의 두 가지 타입으로 정의되어 있다. 카테고리1: 색상정보로 텍스처맵을 갖는 메쉬(mesh) 데이터. 카테고리2: 색상정보로 정점 색상을 갖는 메쉬(mesh) 데이터.Currently, the MPEG standards body defines the data types of dynamic mesh data as the following two types. Category 1: Mesh data with texture maps as color information. Category 2: Mesh data with vertex colors as color information.

카테고리1 데이터에 대한 메쉬 코딩(Mesh coding) 표준이 진행되고 있고, 카테고리2 데이터 표준 작업도 추후 진행될 예정이다. 메쉬(Mesh) 콘텐츠 서비스를 제공하기 위한 전체의 과정은 도1에서 보이는 바와 같이 획득 과정, 인코딩 과정, 전송 과정, 디코딩 과정, 렌더링 과정 및/또는 피드백 과정을 포함할 수 있다.Mesh coding standards for Category 1 data are in progress, and work on Category 2 data standards will also be carried out in the future. The entire process for providing a Mesh content service may include an acquisition process, an encoding process, a transmission process, a decoding process, a rendering process, and/or a feedback process, as shown in Fig. 1.

메쉬(Mesh) 콘텐츠 서비스를 제공하기 위해, 다수의 카메라 혹은 특수 카메라를 통해 획득된 3차원 데이터는 일련의 과정을 통해 메쉬(Mesh) 데이터 타입으로 가공된 후 비디오로 생성될 수 있다. 생성된 메쉬(Mesh) 비디오는 일련의 과정을 거쳐 전송되고, 수신단에서는 수신된 데이터를 다시 메쉬(Mesh) 비디오로 가공하여 렌더링 할 수 있다. 이를 통해 메쉬(Mesh) 비디오가 사용자에게 제공되며 사용자는 상호작용을 통해 의도에 따라 메쉬(Mesh) 콘텐츠를 사용할 수 있다. In order to provide a mesh content service, 3D data acquired through multiple cameras or special cameras can be processed into a mesh data type through a series of processes and then generated as a video. The generated mesh video is transmitted through a series of processes, and the receiving end can process the received data again into a mesh video and render it. Through this, a mesh video is provided to the user, and the user can use the mesh content according to his/her intention through interaction.

메쉬 컴프레션(Mesh compression) 시스템은 전송 디바이스 및 수신 디바이스를 포함할 수 있다. 전송 디바이스는 메쉬(Mesh) 비디오를 인코딩하여 비트스트림을 출력할 수 있으며, 이를 파일 또는 스트리밍 (스트리밍 세그먼트) 형태로 디지털 저장매체 또는 네트워크를 통해 수신 디바이스로 전달할 수 있다. 디지털 저장 매체는 USB, SD, CD, DVD, 블루레이, HDD, SSD 등 다양한 저장 매체를 포함할 수 있다.A mesh compression system may include a transmitting device and a receiving device. The transmitting device may encode mesh video to output a bitstream, which may be transmitted to a receiving device via a digital storage medium or a network in the form of a file or streaming (streaming segment). The digital storage medium may include various storage media such as USB, SD, CD, DVD, Blu-ray, HDD, SSD, etc.

전송 디바이스는 개략적으로 메쉬(Mesh) 비디오 획득부, 메쉬(Mesh) 비디오 인코더, 전송부를 포함할 수 있다. 상기 수신 디바이스는 개략적으로 수신부, 메쉬(Mesh) 비디오 디코더 및 렌더러를 포함할 수 있다. 상기 인코더는 메쉬(Mesh) 비디오/영상/픽처/프레임 인코딩 장치라고 불릴 수 있고, 상기 디코더는 메쉬(Mesh) 비디오/영상/픽처/프레임 디코딩 장치라고 불릴 수 있다. 송신기는 메쉬(Mesh) 비디오 인코더에 포함될 수 있다. 수신기는 메쉬(Mesh) 비디오 디코더에 포함될 수 있다. 렌더러는 디스플레이부를 포함할 수도 있고, 렌더러 및/또는 디스플레이부는 별개의 디바이스 또는 외부 컴포넌트로 구성될 수도 있다. 상기 전송 디바이스 및 상기 수신 디바이스는 피드백 과정을 위한 별도의 내부 또는 외부의 모듈/유닛/컴포넌트를 더 포함할 수도 있다. The transmitting device may roughly include a mesh video acquisition unit, a mesh video encoder, and a transmitting unit. The receiving device may roughly include a receiving unit, a mesh video decoder, and a renderer. The encoder may be called a mesh video/video/picture/frame encoding device, and the decoder may be called a mesh video/video/picture/frame decoding device. The transmitter may be included in the mesh video encoder. The receiver may be included in the mesh video decoder. The renderer may include a display unit, and the renderer and/or the display unit may be configured as separate devices or external components. The transmitting device and the receiving device may further include separate internal or external modules/units/components for a feedback process.

메쉬(Mesh) 데이터는 객체의 표면을 다수의 다각형으로 표현한다. 각 다각형은 3차원 공간에서의 정점과, 그 정점들이 어떻게 연결되어 있는 지를 나타내는 연결 정보로 정의된다. 또한 정점의 컬러, 법선 등과 같은 정점 속성들도 포함할 수 있다. 메쉬(Mesh)의 표면을 2D 평면 영역에 매핑(mapping)할 수 있도록 하는 매핑 정보 역시 메쉬(Mesh)의 속성으로 포함될 수 있다. 매핑은 일반적으로 메쉬(Mesh) 정점과 관련된 UV 좌표 또는 텍스처 좌표라고 하는 매개변수 좌표 세트로 설명될 수 있다. 메쉬(Mesh) 는 2D 속성 맵을 포함하고 있는데, 이것은 텍스처, 법선, 변위 등과 같은 고해상도 속성 정보를 저장하는 데 사용될 수 있다. Mesh data represents the surface of an object as a number of polygons. Each polygon is defined by vertices in 3D space and connection information that describes how the vertices are connected. It can also include vertex properties such as vertex color, normal, etc. Mapping information that allows the surface of the mesh to be mapped to a 2D planar area can also be included as a mesh property. The mapping can be described as a set of parameter coordinates, commonly called UV coordinates or texture coordinates, associated with the mesh vertices. Meshes contain 2D attribute maps, which can be used to store high-resolution attribute information such as textures, normals, displacement, etc.

메쉬(Mesh) 비디오 획득부에서는 카메라 등을 통해 획득된 3차원 객체 데이터를 일련의 과정을 통해 위에서 설명한 속성을 갖는 메쉬(Mesh) 데이터 타입으로 가공하고 이러한 메쉬(Mesh) 데이터로 구성된 비디오를 생성하는 것을 포함할 수 있다. 메쉬(Mesh) 비디오는 시간에 따라 메쉬(Mesh) 의 속성, 즉 정점, 다각형, 정점 간 연결 정보, 색상, 법선 등의 정보가 변할 수 있다. 이렇게 시간에 따라 변하는 속성 및 연결 정보를 갖는 메쉬(Mesh) 비디오를 동적 메쉬(Mesh) 비디오라고 표현할 수 있다. The mesh video acquisition unit may include processing 3D object data acquired through a camera, etc. into a mesh data type having the properties described above through a series of processes and generating a video composed of such mesh data. The mesh video may have properties of the mesh, such as vertices, polygons, connection information between vertices, colors, normals, etc., that may change over time. A mesh video having properties and connection information that change over time in this way may be expressed as a dynamic mesh video.

메쉬(Mesh) 비디오 인코더는 입력 메쉬(Mesh) 비디오를 하나 이상의 비디오 스트림으로 인코딩할 수 있다. 하나의 비디오는 다수의 프레임을 포함할 수 있으며, 하나의 프레임은 정지 영상/픽처에 대응될 수 있다. 본 문서에서, 메쉬(Mesh) 비디오라 함은 메쉬(Mesh) 영상/프레임/픽처를 포함할 수 있으며, 메쉬(Mesh) 비디오는 메쉬(Mesh) 영상/프레임/픽처와 혼용되어 사용될 수 있다. 메쉬(Mesh) 비디오 인코더는 Video-based Dynamic Mesh (V-Mesh) Compression 절차를 수행할 수 있다. 메쉬(Mesh) 비디오 인코더는 압축 및 코딩 효율을 위하여 예측, 변환, 양자화, 엔트로피 코딩 등의 일련의 절차를 수행할 수 있다. 인코딩된 데이터 (인코딩된 비디오/영상 정보)는 비트스트림 (bitstream) 형태로 출력될 수 있다. A mesh video encoder can encode an input mesh video into one or more video streams. A single video can include multiple frames, and a single frame can correspond to a still image/picture. In this document, a mesh video can include a mesh image/frame/picture, and the mesh video can be used interchangeably with the mesh image/frame/picture. The mesh video encoder can perform a Video-based Dynamic Mesh (V-Mesh) Compression procedure. The mesh video encoder can perform a series of procedures such as prediction, transformation, quantization, and entropy coding for compression and coding efficiency. The encoded data (encoded video/image information) can be output in the form of a bitstream.

인캡슐레이션 처리부 (file/segment encapsulation module)는 인코딩된 메쉬(Mesh) 비디오 데이터 및/ 메쉬(Mesh) Mesh 비디오 관련 메타데이터를 파일 등의 형태로 인캡슐레이션할 수 있다. 여기서 메쉬(Mesh) 비디오 관련 메타데이터는 메타데이터 처리부 등으로부터 전달받은 것일 수 있다. 메타데이터 처리부는 메쉬(Mesh) 비디오 인코더에 포함될 수도 있고, 또는 별도의 컴포넌트/모듈로 구성될 수도 있다. 인캡슐레이션 처리부는 해당 데이터들을 ISOBMFF 등의 파일 포맷으로 인캡슐레이션하거나, 기타 DASH 세그먼트 등의 형태로 처리할 수 있다. 인캡슐레이션 처리부는 실시예에 따라 메쉬(Mesh) 비디오 관련 메타데이터를 파일 포맷 상에 포함시킬 수 있다. 메쉬(Mesh) 비디오 메타데이터는 예를 들어 ISOBMFF 파일 포맷 상의 다양한 레벨의 박스 (box)에 포함되거나 파일 내에서 별도의 트랙내의 데이터로 포함될 수 있다. 실시예에 따라, 인캡슐레이션 처리부는 메쉬(Mesh) 비디오 관련 메타데이터 자체를 파일로 인캡슐레이션할 수 있다. An encapsulation processing unit (file/segment encapsulation module) can encapsulate encoded mesh video data and/or mesh video related metadata in the form of a file, etc. Here, the mesh video related metadata may be received from a metadata processing unit, etc. The metadata processing unit may be included in the mesh video encoder, or may be configured as a separate component/module. The encapsulation processing unit may encapsulate the corresponding data in a file format such as ISOBMFF, or process it in the form of other DASH segments, etc. The encapsulation processing unit may include mesh video related metadata in the file format according to an embodiment. The mesh video metadata may be included in boxes at various levels in the ISOBMFF file format, for example, or may be included as data in a separate track within a file. According to an embodiment, the encapsulation processing unit may encapsulate mesh video related metadata itself in a file.

전송 처리부는 파일 포맷에 따라 인캡슐레이션된 메쉬(Mesh) 비디오 데이터에 전송을 위한 처리를 가할 수 있다. 전송 처리부는 전송부에 포함될 수도 있고, 또는 별도의 컴포넌트/모듈로 구성될 수도 있다. 전송 처리부는 임의의 전송 프로토콜에 따라 메쉬(Mesh) 비디오 데이터를 처리할 수 있다. 전송을 위한 처리에는 방송망을 통한 전달을 위한 처리, 브로드밴드를 통한 전달을 위한 처리를 포함할 수 있다. 실시예에 따라 전송 처리부는 메쉬(Mesh) 비디오 데이터뿐 아니라, 메타데이터 처리부로부터 메쉬(Mesh) 비디오 관련 메타데이터를 전달받아, 이 것에 전송을 위한 처리를 가할 수도 있다.The transmission processing unit can process encapsulated mesh video data for transmission according to a file format. The transmission processing unit can be included in the transmission unit, or can be configured as a separate component/module. The transmission processing unit can process mesh video data according to any transmission protocol. The processing for transmission can include processing for transmission through a broadcast network and processing for transmission through broadband. According to an embodiment, the transmission processing unit can receive not only mesh video data, but also mesh video-related metadata from the metadata processing unit, and process this for transmission.

전송부는 비트스트림 형태로 출력된 인코딩된 비디오/영상 정보 또는 데이터를 파일 또는 스트리밍 형태로 디지털 저장매체 또는 네트워크를 통하여 수신 디바이스의 수신부로 전달할 수 있다. 디지털 저장 매체는 USB, SD, CD, DVD, 블루레이, HDD, SSD 등 다양한 저장 매체를 포함할 수 있다. 전송부는 미리 정해진 파일 포멧을 통하여 미디어 파일을 생성하기 위한 엘리먼트를 포함할 수 있고, 방송/통신 네트워크를 통한 전송을 위한 엘레멘트를 포함할 수 있다. 수신부는 상기 비트스트림을 추출하여 디코딩 장치로 전달할 수 있다.The transmission unit can transmit encoded video/image information or data output in the form of a bitstream to the reception unit of the receiving device through a digital storage medium or network in the form of a file or streaming. The digital storage medium can include various storage media such as USB, SD, CD, DVD, Blu-ray, HDD, SSD, etc. The transmission unit can include an element for generating a media file through a predetermined file format and can include an element for transmission through a broadcasting/communication network. The reception unit can extract the bitstream and transmit it to a decoding device.

수신부는 메쉬(Mesh) 비디오 전송 장치가 전송한 메쉬(Mesh) 비디오 데이터를 수신할 수 있다. 전송되는 채널에 따라 수신부는 방송망을 통하여 메쉬(Mesh) 비디오 데이터를 수신할 수도 있고, 브로드밴드를 통하여 메쉬(Mesh) 비디오 데이터를 수신할 수도 있다. 혹은 디지털 저장 매체를 통하여 메쉬(Mesh) 비디오 데이터를 수신할 수도 있다. The receiver can receive mesh video data transmitted by the mesh video transmission device. Depending on the channel through which it is transmitted, the receiver can receive mesh video data through a broadcast network, through a broadband, or through a digital storage medium.

수신 처리부는 수신된 메쉬(Mesh) 비디오 데이터에 대해 전송 프로토콜에 따른 처리를 수행할 수 있다. 수신 처리부는 수신부에 포함될 수 있고, 또는 별도의 컴포넌트/모듈로 구성될 수도 있다. 전송측에서 전송을 위한 처리가 수행된 것에 대응되도록, 수신 처리부는 전술한 전송 처리부의 역과정을 수행할 수 있다. 수신 처리부는 획득한 메쉬(Mesh) 비디오 데이터는 디캡슐레이션 처리부로 전달하고, 획득한 메쉬(Mesh) 비디오 관련 메타데이터는 메타데이터 파서로 전달할 수 있다. 수신 처리부가 획득하는 메쉬(Mesh) 비디오 관련 메타데이터는 시그널링 테이블의 형태일 수 있다.The receiving processing unit can perform processing according to a transmission protocol on the received mesh video data. The receiving processing unit can be included in the receiving unit, or can be configured as a separate component/module. In order to correspond to the processing performed for transmission on the transmitting side, the receiving processing unit can perform the reverse process of the aforementioned transmitting processing unit. The receiving processing unit can transfer the acquired mesh video data to the decapsulation processing unit, and transfer the acquired mesh video-related metadata to the metadata parser. The mesh video-related metadata acquired by the receiving processing unit can be in the form of a signaling table.

디캡슐레이션 처리부(file/segment decapsulation module)는 수신 처리부로부터 전달받은 파일 형태의 메쉬(Mesh) 비디오 데이터를 디캡슐레이션할 수 있다. 디캡슐레이션 처리부는 ISOBMFF 등에 따른 파일들을 디캡슐레이션하여, Mesh 비디오 비트스트림 내지 메쉬(Mesh) 비디오 관련 메타데이터 (메타데이터 비트스트림)를 획득할 수 있다. 획득된 메쉬(Mesh) 비디오 비트스트림은 메쉬(Mesh) 비디오 디코더로, 획득된 메쉬(Mesh) 비디오 관련 메타데이터 (메타데이터 비트스트림)는 메타데이터 처리부로 전달할 수 있다. 메쉬(Mesh) 비디오 비트스트림은 메타데이터(메타데이터 비트스트림)를 포함할 수도 있다. 메타데이터 처리부는 메쉬(Mesh) 비디오 디코더에 포함될 수도 있고, 또는 별도의 컴포넌트/모듈로 구성될 수도 있다. 디캡슐레이션 처리부가 획득하는 메쉬(Mesh) 비디오 관련 메타데이터는 파일 포맷 내의 박스 혹은 트랙 형태일 수 있다. 디캡슐레이션 처리부는 필요한 경우 메타데이터 처리부로부터 디캡슐레이션에 필요한 메타데이터를 전달받을 수도 있다. 메쉬(Mesh) 비디오 관련 메타데이터는 메쉬(Mesh) 비디오 디코더에 전달되어 메쉬(Mesh) 비디오 디코딩 절차에 사용될 수도 있고, 또는 렌더러에 전달되어 메쉬(Mesh) 비디오 렌더링 절차에 사용될 수도 있다. A decapsulation processing unit (file/segment decapsulation module) can decapsulate mesh video data in a file format received from a receiving processing unit. The decapsulation processing unit can decapsulate files according to ISOBMFF, etc., to obtain a mesh video bitstream or mesh video related metadata (metadata bitstream). The obtained mesh video bitstream can be transmitted to a mesh video decoder, and the obtained mesh video related metadata (metadata bitstream) can be transmitted to a metadata processing unit. The mesh video bitstream may include metadata (metadata bitstream). The metadata processing unit may be included in the mesh video decoder, or may be configured as a separate component/module. The mesh video related metadata obtained by the decapsulation processing unit may be in the form of a box or track within a file format. If necessary, the decapsulation processing unit may receive metadata required for decapsulation from the metadata processing unit. Mesh video related metadata can be passed to a Mesh video decoder for use in the Mesh video decoding process, or can be passed to a renderer for use in the Mesh video rendering process.

메쉬(Mesh) 비디오 디코더는 비트스트림을 입력받아 메쉬(Mesh) 비디오 인코더의 동작에 대응하는 동작을 수행하여 비디오/영상을 디코딩할 수 있다. 디코딩된 메쉬(Mesh) 비디오는 비디오/영상은 디스플레이부를 통하여 디스플레이될 수 있다. 사용자는 VR/AR 디스플레이 또는 일반 디스플레이 등을 통하여 렌더링 된 결과의 전부 또는 일부 영역을 볼 수 있다.The Mesh Video Decoder can receive a bitstream as input and perform operations corresponding to the operations of the Mesh Video Encoder to decode the video/image. The decoded Mesh Video can be displayed through the display unit. The user can view all or part of the rendered result through a VR/AR display or a general display.

피드백 과정은 렌더링/디스플레이 과정에서 획득될 수 있는 다양한 피드백 정보들을 송신측으로 전달하거나 수신측의 디코더에 전달하는 과정을 포함할 수 있다. 피드백 과정을 통해 메쉬(Mesh) 비디오 소비에 있어 인터랙티비티 (interactivity) 가 제공될 수 있다. 실시예에 따라, 피드백 과정에서 헤드 오리엔테이션 (Head Orientation) 정보, 사용자가 현재 보고 있는 영역을 나타내는 뷰포트 (Viewport) 정보 등이 전달될 수 있다. 실시예에 따라, 사용자는 VR/AR/MR/자율주행 환경 상에 구현된 것들과 상호작용 할 수도 있는데, 이 경우 그 상호작용과 관련된 정보가 피드백 과정에서 송신측 내지 서비스 프로바이더 측으로 전달될 수도 있다. 실시예에 따라 피드백 과정은 수행되지 않을 수도 있다. The feedback process may include a process of transmitting various feedback information that may be acquired during the rendering/display process to the transmitter or to the decoder of the receiver. Interactivity may be provided in mesh video consumption through the feedback process. According to an embodiment, head orientation information, viewport information indicating an area that the user is currently viewing, etc. may be transmitted during the feedback process. According to an embodiment, the user may interact with things implemented in the VR/AR/MR/autonomous driving environment, in which case information related to the interaction may be transmitted to the transmitter or the service provider during the feedback process. Depending on the embodiment, the feedback process may not be performed.

헤드 오리엔테이션 정보는 사용자의 머리 위치, 각도, 움직임 등에 대한 정보를 의미할 수 있다. 이 정보를 기반으로 사용자가 현재 메쉬(Mesh) 비디오 내에서 보고 있는 영역에 대한 정보, 즉 뷰포트 정보가 계산될 수 있다. Head orientation information can mean information about the user's head position, angle, movement, etc. Based on this information, information about the area the user is currently viewing within the mesh video, i.e. viewport information, can be calculated.

뷰포트 정보는 현재 사용자가 메쉬(Mesh) 메쉬(Mesh) 비디오에서 보고 있는 영역에 대한 정보일 수 있다. 이를 통해 게이즈 분석 (Gaze Analysis) 이 수행되어, 사용자가 어떠한 방식으로 메쉬(Mesh) 비디오를 소비하는지, 메쉬(Mesh) 비디오의 어느 영역을 얼마나 응시하는지 등을 확인할 수도 있다. 게이즈 분석은 수신측에서 수행되어 송신측으로 피드백 채널을 통해 전달될 수도 있다. VR/AR/MR 디스플레이 등의 장치는 사용자의 머리 위치/방향, 장치가 지원하는 수직 (vertical) 혹은 수평 (horizontal) FOV 등에 근거하여 뷰포트 영역을 추출할 수 있다. Viewport information can be information about the area that the current user is viewing in the Mesh video. This can be used to perform gaze analysis to determine how the user consumes the Mesh video, which area of the Mesh video they gaze at and for how long. The gaze analysis can be performed on the receiving side and transmitted to the transmitting side through a feedback channel. Devices such as VR/AR/MR displays can extract the viewport area based on the user's head position/orientation, the vertical or horizontal FOV supported by the device, etc.

실시예에 따라, 전술한 피드백 정보는 송신측으로 전달되는 것뿐 아니라, 수신측에서 소비될 수도 있다. 즉, 전술한 피드백 정보를 이용하여 수신측의 디코딩, 렌더링 과정 등이 수행될 수 있다. 예를 들어, 헤드 오리엔테이션 정보 및/또는 뷰포트 정보를 이용하여 현재 사용자가 보고 있는 영역에 대한 메쉬(Mesh) 비디오만 우선적으로 디코딩 및 렌더링 될 수도 있다.Depending on the embodiment, the aforementioned feedback information may be consumed by the receiver as well as transmitted to the transmitter. That is, the decoding and rendering processes of the receiver may be performed using the aforementioned feedback information. For example, only the mesh video for the area currently being viewed by the user may be preferentially decoded and rendered using head orientation information and/or viewport information.

이 문서는 상술한 바와 같이 동적 메쉬(Mesh) 비디오 압축에 관한 것이다. 이 문서에서 개시된 방법/실시예는 MPEG (Moving Picture Experts Group)의 Video-based Dynamic Mesh 압축 방법 (V-Mesh) 표준 또는 차세대 비디오/이미지 코딩 표준에 적용될 수 있다. 동적 메쉬(Mesh) 비디오 압축은 시간에 따라 변하는 Mesh 연결 정보 및 속성들을 처리하기 위한 방법이며, 이것은 실시간 통신, 저장, 자유 시점 비디오, AR/VR과 같은 다양한 어플리케이션을 위한 손실 및 무손실 압축을 수행할 수 있다. This document relates to dynamic mesh video compression as described above. The method/embodiment disclosed in this document can be applied to the Video-based Dynamic Mesh compression method (V-Mesh) standard of MPEG (Moving Picture Experts Group) or the next-generation video/image coding standard. Dynamic mesh video compression is a method for processing mesh connection information and properties that change over time, and it can perform lossy and lossless compression for various applications such as real-time communication, storage, free-viewpoint video, and AR/VR.

이하에 기술된 동적 메쉬 비디오 압축 방법은 MPEG의 V-Mesh 방법에 기반한다. The dynamic mesh video compression method described below is based on MPEG's V-Mesh method.

이 문서에서 픽처(picture)/프레임(frame)은 일반적으로 특정 시간대의 하나의 영상을 나타내는 단위를 의미할 수 있다.In this document, picture/frame can generally mean a unit representing one video image of a specific time period.

픽셀(pixel) 또는 펠(pel)은 하나의 픽처(또는 영상)을 구성하는 최소의 단위를 의미할 수 있다. 또한, 픽셀에 대응하는 용어로서 '샘플(sample)'이 사용될 수 있다. 샘플은 일반적으로 픽셀 또는 픽셀의 값을 나타낼 수 있으며, 루마(luma) 성분의 픽셀/픽셀값만을 나타낼 수도 있고, 크로마(chroma) 성분의 픽셀/픽셀 값만을 나타낼 수도 있고, 또는 뎁스(depth) 성분의 픽셀/픽셀값만을 나타낼 수도 있다. A pixel or pel can mean the smallest unit that constitutes a picture (or image). In addition, a 'sample' can be used as a term corresponding to a pixel. A sample can generally represent a pixel or a pixel value, and can represent only a pixel/pixel value of a luma component, only a pixel/pixel value of a chroma component, or only a pixel/pixel value of a depth component.

유닛(unit)은 영상 처리의 기본 단위를 나타낼 수 있다. 유닛은 픽처의 특정 영역 및 해당 영역에 관련된 정보 중 적어도 하나를 포함할 수 있다. 유닛은 경우에 따라서 블록(block) 또는 영역(area) 등의 용어와 혼용하여 사용될 수 있다. 일반적인 경우, MxN 블록은 M개의 열과 N개의 행으로 이루어진 샘플들(또는 샘플 어레이) 또는 변환 계수(transform coefficient)들의 집합(또는 어레이)을 포함할 수 있다.A unit may represent a basic unit of image processing. A unit may include at least one of a specific region of a picture and information related to the region. A unit may be used interchangeably with terms such as block or area, depending on the case. In general, an MxN block may include a set (or array) of samples (or sample array) or transform coefficients consisting of M columns and N rows.

도1의 인코딩 프로세스(Encoding Process)는 다음과 같다.The encoding process of Fig. 1 is as follows.

비디오 기반 다이나믹 메쉬 컴프레션(Video-based dynamic mesh compression)(V-Mesh) 압축 방법은 HEVC, VVC 등의 2D 비디오 코덱을 기반으로 동적 메쉬(Mesh) 비디오 데이터를 압축하는 방법을 제공할 수 있다. V-Mesh 압축 과정에서는 다음과 같은 데이터를 입력으로 받아 압축을 수행한다.Video-based dynamic mesh compression (V-Mesh) compression method can provide a method of compressing dynamic mesh video data based on 2D video codecs such as HEVC and VVC. In the V-Mesh compression process, the following data is received as input and compression is performed.

인풋 메쉬(Input mesh): 메쉬(Mesh)를 구성하는 정점들의 3차원 좌표(지오메트리), 각 정점의 법선 정보, 메쉬(Mesh) 표면을 2D 평면에 매핑하는 매핑 정보, 표면을 구성하는 정점들 간의 연결 정보 등을 포함하고 있다. 메쉬(Mesh)의 표면은 삼각형 또는 그 이상의 다각형으로 표현될 수 있으며 정해진 형태에 따라 각 표면을 구성하는 정점들 간 연결 정보가 저장되어 있다. 인풋 메쉬(Input mesh)는 OBJ 파일 포맷으로 저장될 수 있다. Input mesh: Contains the 3D coordinates (geometry) of the vertices that make up the mesh, normal information for each vertex, mapping information that maps the mesh surface to a 2D plane, connection information between the vertices that make up the surface, etc. The mesh surface can be expressed as triangles or more polygons, and connection information between the vertices that make up each surface is stored according to a set shape. The input mesh can be saved in the OBJ file format.

어트리뷰트 맵(Attribute map): (이하 텍스쳐 맵(Texture map)도 같은 의미로 사용됨): 메쉬(Mesh)의 속성 (색상, 법선, 변위 등) 정보를 포함하고 있으며, 메쉬(Mesh)의 표면을 2D 이미지 상에 매핑한 형태로 데이터를 저장하고 있다. 이 어트리뷰트 맵(Attribute map)의 각 데이터가 메쉬(Mesh)의 어느 부분(표면 혹은 정점)에 해당되는지 매핑하는 것은 인풋 메쉬(Input mesh)에 포함되어 있는 매핑 정보를 바탕으로 한다. 어트리뷰트 맵(Attribute map)은 메쉬(Mesh) 비디오의 각 프레임에 대한 데이터를 갖고 있기 때문에 어트리뷰트 맵(Attribute map) 비디오(혹은 줄여서 어트리뷰트)라고도 표현할 수 있다. V-Mesh 압축 방법에서의 어트리뷰트 맵(Attribute map)은 메쉬(Mesh)의 색상 정보를 주로 갖고 있으며, 이미지 파일 포맷 (PNG, BMP 등)으로 저장된다. Attribute map: (Hereinafter, texture map is also used with the same meaning): Contains information on the properties (color, normal, displacement, etc.) of the mesh, and stores data in the form of mapping the surface of the mesh onto a 2D image. Mapping which part (surface or vertex) of the mesh each data of this attribute map corresponds to is based on the mapping information included in the input mesh. Since the attribute map has data for each frame of the mesh video, it can also be expressed as an attribute map video (or attribute for short). The attribute map in the V-Mesh compression method mainly contains the color information of the mesh, and is stored in an image file format (PNG, BMP, etc.).

머터리얼 라이브러리 파일(Material Library File): 메쉬(Mesh)에서 사용되는 머터리얼(Material) 속성 정보를 포함하고 있으며, 특히 입력 메쉬(Mesh)와 이에 대응하는 어트리뷰트 맵(Attribute map)을 연결해주는 정보를 포함한다. 이것은 웨이브프론트 머터리얼 템플릿 라이브러리(Wavefront Material Template Library) (MTL) 파일 포맷으로 저장된다. Material Library File: Contains information about the material properties used in the mesh, and in particular, information that links the input mesh to its corresponding attribute map. It is saved in the Wavefront Material Template Library (MTL) file format.

V-Mesh 압축 방법에서 압축 과정을 통해 다음과 같은 데이터 및 정보들이 생성될 수 있다. In the V-Mesh compression method, the following data and information can be generated through the compression process.

베이스 메쉬(Base mesh): 전처리 과정을 거쳐 인풋 메쉬(Input mesh)를 단순화 (Decimation)함으로써, 사용자의 기준에 따라 정해진 최소한의 정점을 이용하여 인풋 메쉬(Input mesh)의 객체를 표현한다. Base mesh: The input mesh is simplified (decimated) through a preprocessing process to express the objects of the input mesh using the minimum number of vertices determined by the user's criteria.

디스플레이스먼트(Displacement): 베이스 메쉬(Base mesh)를 이용하여 인풋 매쉬(Input mesh)를 최대한 유사하게 하기 표현하기 위해 사용되는 변위 정보로, 3차원 좌표 형태로 표현된다. Displacement: This is displacement information used to express the input mesh as similarly as possible to the base mesh, and is expressed in the form of three-dimensional coordinates.

아틀라스 정보(Atlas information): 베이스 메쉬(Base mesh), 디스플레이스먼트(Displacement) 및 어트리뷰트 맵(Attribute map) 정보를 이용하여 메쉬(Mesh)를 재구성하기 위해 필요한 메타데이터이다. 이것은 메쉬(Mesh)를 구성하는 서브 단위(sub-mesh, patch 등)로 생성되고 활용될 수 있다.Atlas information: This is metadata required to reconstruct the mesh using the base mesh, displacement, and attribute map information. This can be created and utilized as a sub-unit (sub-mesh, patch, etc.) that constitutes the mesh.

도2 내지 도7을 참조하여, 메쉬 위치 정보(버텍스)를 부호화하는 방법을 설명하고, 도6-10 등을 참조하여 메쉬 위치 정보를 복원하여 어트리뷰트 정보(어트리뷰트 맵)을 부호화하는 방법을 설명한다.Referring to FIGS. 2 to 7, a method for encoding mesh location information (vertex) is described, and referring to FIGS. 6-10, etc., a method for encoding attribute information (attribute map) by restoring mesh location information is described.

도2는 실시예들에 따른 V-MESH 압축 방법을 나타낸다.Figure 2 illustrates a V-MESH compression method according to embodiments.

도2는 도1의 인코딩 과정을 나타내며, 인코딩 과정은 프리-프로세싱 및 인코딩 과정을 포함할 수 있다. 도1의 인코더는 도2와 같이 프리-프로세서(200) 및 인코더(201)를 포함할 수 있다. 도1의 송신 장치가 넓게 인코더로 지칭될 수 있고, 도1의 다이나믹 메쉬 비디오 인코더가 인코더로 지칭될 수 있다. V-Mesh 압축 방법은 도2와 같이 전처리(Pre-processing, 200)와 인코딩(Encoding, 201) 과정을 포함할 수 있다. 도2의 프리-프로세서는 도2의 인코더 앞 단에 위치할 수 있다. 도2의 프리-프로세서 및 인코더를 포함하여 하나의 인코더로 지칭할 수 있다.Fig. 2 shows the encoding process of Fig. 1, and the encoding process may include a pre-processing and an encoding process. The encoder of Fig. 1 may include a pre-processor (200) and an encoder (201) as in Fig. 2. The transmitting device of Fig. 1 may be broadly referred to as an encoder, and the dynamic mesh video encoder of Fig. 1 may be referred to as an encoder. The V-Mesh compression method may include a pre-processing (200) and an encoding (201) process as in Fig. 2. The pre-processor of Fig. 2 may be located in front of the encoder of Fig. 2. The pre-processor and the encoder of Fig. 2 may be referred to as one encoder.

프리-프로세서는 스태틱 다이나믹 메쉬 및/또는 어트리뷰트 맵을 수신할 수 있다. 프리-프로세서는 전처리를 통해 베이스 메쉬 및/또는 디스플레이스먼트를 생성할 수 있다. 프리-프로세서는 인코더로부터 피드백 정보를 수신하여, 피드백 정보에 기초하여 베이스 메쉬 및/또는 디스플레이스먼트를 생성할 수 있다. The pre-processor can receive a static dynamic mesh and/or an attribute map. The pre-processor can generate a base mesh and/or a displacement through preprocessing. The pre-processor can receive feedback information from an encoder and generate the base mesh and/or the displacement based on the feedback information.

인코더는 베이스 메쉬, 디스플레이스먼트, 스태틱 다이나믹 메쉬, 및/또는 어트리뷰트 맵을 수신할 수 있다. 인코더는 메쉬 관련 데이터를 인코딩하여 압축된 비트스트림을 생성할 수 있다.An encoder can receive a base mesh, a displacement mesh, a static dynamic mesh, and/or an attribute map. The encoder can encode mesh-related data to generate a compressed bitstream.

도3은 실시예들에 따른 V-MESH 압축의 프리-프로세싱을 나타낸다.Figure 3 illustrates pre-processing of V-MESH compression according to embodiments.

도3은 도2의 프리-프로세서의 구성 및 동작을 나타낸다.Figure 3 shows the configuration and operation of the pre-processor of Figure 2.

도3은 입력 메쉬(mesh)에 대해 전처리를 수행하는 과정을 보여준다. 전처리 과정(200)은 크게 4단계로, 1) GoF (Group of Frame) 생성(generation), 2) 메쉬 단순화(Mesh Decimation), 3) UV 파라미터제이션(parameterization), 4) 피팅 서브디비전 서페이스(Fitting subdivision surface, 300)를 포함할 수 있다. 프리-프로세서(200)은 입력 메쉬를 수신하고 디스플레이스먼트 및/또는 베이스 메쉬를 생성하여, 인코더(201)로 전달할 수 있다. 프리-프로세서(200)는 GoF생성과 연관된 GoF정보를 인코더(201)로 전달할 수 있다.Fig. 3 shows a process of performing preprocessing on an input mesh. The preprocessing process (200) can largely include four steps: 1) GoF (Group of Frame) generation, 2) Mesh Decimation, 3) UV parameterization, and 4) Fitting subdivision surface (300). The preprocessor (200) can receive an input mesh, generate a displacement and/or base mesh, and transmit the generated mesh to the encoder (201). The preprocessor (200) can transmit GoF information related to GoF generation to the encoder (201).

이하에서, 도3의 각 단계를 설명한다.Below, each step of Fig. 3 is described.

GoF 제너레이션(Generation): 메쉬(Mesh) 데이터의 참조 구조를 생성하는 과정이다. 이전 프레임의 메쉬(mesh)와 현재 메쉬(mesh)의 정점 개수, 텍스처 좌표 개수, 정점 연결 정보, 텍스처 좌표 연결 정보가 모두 동일한 경우에는 이전 프레임을 참조 프레임으로 설정할 수 있다. 즉, 현재 입력 메쉬(Input mesh)와 참조 입력 메쉬(Input mesh)간 정점 좌표 값만 다른 경우에는 인터 프레임 인코딩(inter frame encoding)을 수행할 수 있다. 그렇지 않으면 해당 프레임은 인트라 프레임 인코딩(Intra frame encoding)을 수행한다.GoF Generation: This is the process of generating a reference structure for mesh data. If the number of vertices, the number of texture coordinates, the vertex connection information, and the texture coordinate connection information of the mesh of the previous frame and the current mesh are all the same, the previous frame can be set as the reference frame. In other words, if only the vertex coordinate values are different between the current input mesh and the reference input mesh, inter frame encoding can be performed. Otherwise, the frame performs intra frame encoding.

메쉬 단순화(Mesh Decimation): 입력 메쉬(Input mesh)를 단순화시켜 간략화된 메쉬(mesh), 즉 베이스 메쉬(Base mesh)를 생성하는 과정이다. 원본 메쉬(mesh)에서 사용자가 정의한 기준에 따라 제거할 정점을 선택한 후, 선택된 정점 및 선택된 정점과 연결된 삼각형들을 제거할 수 있다. Mesh Decimation: This is the process of simplifying the input mesh to create a simplified mesh, or base mesh. After selecting vertices to be removed from the original mesh based on criteria defined by the user, the selected vertices and triangles connected to the selected vertices can be removed.

메쉬 단순화(Mesh decimation)를 수행하는 과정에서 복셀화된 입력 메쉬(Input mesh (voxelized)), 타겟 트라이앵글 비율(Target triangle ratio (TTR)), 미니멈 트라이앵글 컴포넌트(Minimum triangle component (CCCount))정보가 입력으로 전달되고, 출력으로 단순화된 메쉬(Decimated mesh)를 구할 수 있다. 이 과정에서 설정된 미니멈 트라이앵글 컴포넌트(CCCount)보다 작은 연결된 트라이앵글 컴포넌트(connected triangle components)를 제거할 수 있다.In the process of performing mesh simplification (Mesh decimation), the input mesh (voxelized), target triangle ratio (TTR), and minimum triangle component (CCCount) information are passed as input, and the simplified mesh (decimated mesh) can be obtained as output. In this process, connected triangle components smaller than the set minimum triangle component (CCCount) can be removed.

UV 파라미터제이션(parameterization): 단순화된 메쉬(Decimated mesh)에 대해 3D 곡면을 텍스쳐 도메인(Texture domain)으로 매핑하는 과정이다. UV아틀라스 툴(UVAtlas tool)을 사용하여 파라미터제이션(Parameterization)을 수행할 수 있다. 이 과정을 통해 단순화된 메쉬(Decimated mesh)의 각 정점들이 2D 이미지 상의 어느 위치로 매핑될 수 있는지 매핑 정보가 생성된다. 매핑 정보는 텍스처 좌표로 표현되어 저장되며, 이 과정을 통해 최종 베이스 메쉬(Base mesh)가 생성된다.UV parameterization: This is the process of mapping a 3D surface to a texture domain for a decimated mesh. Parameterization can be performed using the UVAtlas tool. Through this process, mapping information is generated that shows where each vertex of the decimated mesh can be mapped to on a 2D image. The mapping information is expressed and saved as texture coordinates, and the final base mesh is generated through this process.

핏팅 서브디비전 서페이스(Fitting subdivision surface): 단순화된 메쉬(Decimated mesh)에 대해 세분화(Subdivision)를 수행하는 과정이다. 서브디비전(Subdivision) 방법으로 미드-엣지(Mid-edge) 방식 등 사용자가 정한 방법이 적용될 수 있다. 입력 메쉬(Input mesh)와 서브디비전(Subdivision)을 수행한 메쉬(mesh) 간 서로 유사해지도록 핏팅(fitting)을 하는 과정이 수행된다.Fitting subdivision surface: This is the process of performing subdivision on a simplified mesh. A user-defined method, such as the mid-edge method, can be applied as the subdivision method. The fitting process is performed so that the input mesh and the mesh on which subdivision is performed are similar to each other.

도4는 실시예들에 따른 미드-엣지 서브디비전 방식을 나타낸다.Figure 4 illustrates a mid-edge subdivision method according to embodiments.

도4는 도3에서 설명한 핏팅 서브디비전 서페이스의 미드-엣지(Mid-edge) 방식을 나타낸다. 도4를 참조하면, 버텍스 4개를 포함하는 오리지널 메쉬가 서브디비전되어 서브-메쉬가 생성된다. 버텍스 간 엣지의 중간을 새로운 버텍스로 생성하여 서브 메쉬를 생성할 수 있다.Figure 4 shows the mid-edge method of the fitting subdivision surface described in Figure 3. Referring to Figure 4, an original mesh including four vertices is subdivided to create a sub-mesh. A sub-mesh can be created by creating a new vertex in the middle of an edge between vertices.

핏팅(Fitting)된 서브디비전된 메쉬(subdivided mesh) (이하, 핏팅 서브디비전된 메쉬(fitted subdivided mesh))가 생성되면 이 결과와 미리 압축 및 복호화된 베이스 메쉬(Base mesh) (이하, 복원된 베이스 메쉬(reconstructed base mesh))를 이용하여 디스플레이스먼트(Displacement)가 계산된다. 즉, 복원된 베이스 메쉬(Reconstructed base mesh)는 핏팅 서브디비전 서페이스(Fitting subdivision surface)의 방법과 동일하게 서브디비전(Subdivision)된다. 이 결과와 핏팅 서브디비전된 메쉬(Fitted subdivided mesh)의 각 정점 별 위치 차이는 곧 각 정점에 대한 디스플레이스먼트(Displacement)가 된다. 디스플레이스먼트(Displacement)는 3차원 공간 상의 위치 차이를 나타내기 때문에 역시 데카르트(Cartesian) 좌표계의 (x, y, z) 공간에서의 값으로 표현된다. 사용자 입력 파라미터에 따라 (x, y, z) 좌표값은 로컬 좌표 시스템(Local coordinate system)의 (노멀, 탄젠셜, 바이-탄젠셜((normal, tangential, bi-tangential)) 좌표값으로 변환될 수 있다.When a fitted subdivided mesh (hereinafter referred to as the fitted subdivided mesh) is generated, displacement is calculated using this result and a pre-compressed and decoded base mesh (hereinafter referred to as the reconstructed base mesh). That is, the reconstructed base mesh is subdivided in the same way as the fitting subdivision surface. The difference in position of each vertex between this result and the fitted subdivided mesh is the displacement for each vertex. Since the displacement represents the position difference in three-dimensional space, it is also expressed as a value in the (x, y, z) space of the Cartesian coordinate system. Depending on the user input parameters, the (x, y, z) coordinate values can be converted to (normal, tangential, bi-tangential) coordinate values in the local coordinate system.

도5는 실시예들에 따른 디스플레이스먼트 생성 과정을 나타낸다.Figure 5 shows a displacement generation process according to embodiments.

도5는 도4에서 설명한 바와 같이, 핏팅 서브디비전 서페이스(Fitting subdivision surface, 300)의 디스플레이스먼트 계산 방식을 상세히 나타낸다.Fig. 5 illustrates in detail the displacement calculation method of the fitting subdivision surface (300) as described in Fig. 4.

실시예들에 따른 인코더 및/또는 프리-프로세서는 1) 서브디비전부, 2) 로컬 좌표 시스템 계산부, 3) 디스플레이스먼트 계산부를 포함할 수 있다. 서브디비전부는 복원된 베이스 메쉬를 수신하고, 서브디비전된 복원된 베이스 메쉬를 생성할 수 있다. 로컬 좌표 시스템 계산부는 핏팅된 서브디비전된 메쉬 및 서브디비전된 복원된 베이스 메쉬를 수신하고, 메쉬에 관한 좌표 시스템을 로컬 좌표 시스템으로 변환할 수 있다. 로컬 좌표 시스템 계산 동작은 선택적일 수 있다. 디스플레이스먼트 계산부는 핏팅된 서브디비전 메쉬 및 서브디비전된 복원된 베이스 메쉬 간 위치 차이를 계산한다. 예를 들어, 입력한 두 가지 메쉬의 정점 간 위치 차이 값을 생성할 수 있다. 정점 위치 차이값이 디스플레이스먼트가 된다.An encoder and/or pre-processor according to embodiments may include 1) a subdivision unit, 2) a local coordinate system calculation unit, and 3) a displacement calculation unit. The subdivision unit may receive a reconstructed base mesh and generate a subdivided reconstructed base mesh. The local coordinate system calculation unit may receive a fitted subdivision mesh and a subdivided reconstructed base mesh, and transform a coordinate system of the meshes into a local coordinate system. The local coordinate system calculation operation may be optional. The displacement calculation unit may calculate a positional difference between the fitted subdivision mesh and the subdivided reconstructed base mesh. For example, a positional difference value between vertices of two input meshes may be generated. The vertex positional difference value becomes a displacement.

실시예들에 따른 포인트 클라우드 데이터 송신 방법 및 장치는 포인트 클라우드를 다음과 같이 인코딩할 수 있다. 실시예들에 따른 포인트 클라우드 데이터(줄여서 포인트 클라우드로 지칭 가능함)는 정점 좌표 및 색상 정보를 포함하는 데이터를 지칭할 수 있다. 포인트 클라우드는 메쉬 데이터를 포함하는 용어이고, 본 문서에서 포인트 클라우드 및 메쉬 데이터는 서로 혼용되어 사용될 수 있다. The method and device for transmitting point cloud data according to the embodiments can encode the point cloud as follows. The point cloud data (which may be referred to as point cloud for short) according to the embodiments can refer to data including vertex coordinates and color information. The point cloud is a term including mesh data, and in this document, the point cloud and mesh data can be used interchangeably.

실시예들에 따른 V-Mesh 압축(복원) 방법은 인트라 프레임 인코딩(Intra frame encoding) (도6)과 인터 프레임 인코딩(Inter frame encoding) (도7)을 포함할 수 있다.The V-Mesh compression (decompression) method according to the embodiments may include intra frame encoding (Fig. 6) and inter frame encoding (Fig. 7).

전술한 GoF 제너레이션의 결과를 바탕으로 인트라 프레임 인코딩(Intra frame encoding) 혹은 인터 프레임 인코딩(Inter frame encoding)이 수행된다. 인트라 인코딩(Intra encoding)인 경우 압축 대상 데이터는 베이스 메쉬(Base mesh), 디스플레이스먼트(Displacement), 어트리뷰트 맵(Attribute map) 등이 될 수 있다. 인터 인코딩(Inter encoding)인 경우 압축 대상 데이터는 디스플레이스먼트(Displacement), 어트리뷰트 맵(Attribute map), 그리고 참조 베이스 메쉬(base mesh)와 현재 베이스 메쉬(base mesh) 간의 모션 필드(motion field) 등이 될 수 있다.Based on the result of the GoF generation described above, intra frame encoding or inter frame encoding is performed. In the case of intra encoding, the data to be compressed can be a base mesh, displacement, attribute map, etc. In the case of inter encoding, the data to be compressed can be a displacement, an attribute map, and a motion field between a reference base mesh and a current base mesh.

도6은 실시예들에 따른 V-MESH 압축 방법의 인트라 프레임 인코딩 프로세스를 나타낸다.Figure 6 illustrates an intra-frame encoding process of a V-MESH compression method according to embodiments.

도6의 인코딩 프로세스는 도1의 인코딩을 상세하게 나타낸다. 즉, 도1의 인코딩이 인트라 프레임 방식인 경우 인코더의 구성을 나타낸다. 도6의 인코더는 프리프로세서(200) 및/또는 인코더(201)을 포함할 수 있다. The encoding process of Fig. 6 details the encoding of Fig. 1. That is, it shows the configuration of an encoder when the encoding of Fig. 1 is an intra-frame method. The encoder of Fig. 6 may include a preprocessor (200) and/or an encoder (201).

프리-프로세서는 입력 메쉬를 수신하고, 전술한 전처리를 수행할 수 있다. 전처리를 통해 베이스 메쉬 및/또는 핏팅된 서브디비전된 메쉬를 생성할 수 있다. 양자화기는 베이스 메쉬 및/또는 핏팅된 서브디비전된 메쉬를 양자화할 수 있다. 스태틱 메쉬 인코더는 스태틱 메쉬를 인코딩할 수 있다. 스태틱 메쉬 인코더는 부호화된 베이스 메쉬를 포함하는 비트스트림을 생성할 수 있다. 스태틱 매쉬 디코더는 부호화된 스태틱 메쉬를 복호화할 수 있다. 역양자화기는 양자화된 스태틱 메쉬를 역으로 양자화할 수 있다. 디스플레이스먼트 계산부는 복원된 스태틱 메쉬를 수신하고, 핏팅된 서브디비전된 메쉬에 기초하여, 위치 차이인 디스플레이스먼트를 생성할 수 있다. 포워드 리니어 리프팅부는 디스플레이스먼트를 수신하여 리프팅 계수를 생성할 수 있다. 양자화기는 리프팅 계수를 양자화할 수 있다. 이미지 패킹부는 양자화된 리프팅 계수에 기초하여 이미지를 패킹할 수 있다. 비디오 인코더는 패킹된 이미지를 부호화할 수 있다. 비디오 디코더는 부호화된 비디오를 복호화한다. 이미지 언패커는 패킹된 이미지를 언패킹할 수 있다. 역양자화기는 이미지를 역으로 양자화할 수 있다. 역 리니어 리프팅부는 이미지에 역으로 리프팅을 적용하여 복원왼 디스플레이스먼트를 생성한다. 메쉬 복워부는 복원된 디스플레이스먼트를 및 복원된 베이스 메쉬를 통해 변형된 메쉬를 복원한다. 어트리뷰트 트랜스퍼는 입력 메쉬 및/또는 입력 어트리뷰트 맵을 수신하고, 복원된 변형된 메쉬에 기초하여 어트리뷰트 맵을 생성한다. 푸쉬-풀 패딩은 푸쉬-풀 방식에 기초하여 어트리뷰트 맵에 데이터를 패딩할 수 있다. 컬러 스페이스 변환부는 어트리뷰트인 컬러 성분의 스페이스를 변환할 수 있다. 비디오 인코더는 어트리뷰트를 인코딩할 수 있다. 멀티플렉서는 압축된 베이스 메쉬, 압축된 디스플레이스먼트, 압축된 어트리뷰트를 멀티플렉싱하여 비트스트림을 생성할 수 있다.The preprocessor can receive an input mesh and perform the preprocessing described above. The preprocessing can generate a base mesh and/or a fitted subdivided mesh. The quantizer can quantize the base mesh and/or the fitted subdivided mesh. The static mesh encoder can encode the static mesh. The static mesh encoder can generate a bitstream including the encoded base mesh. The static mesh decoder can decode the encoded static mesh. The inverse quantizer can inversely quantize the quantized static mesh. The displacement calculation unit can receive the restored static mesh and generate displacement, which is a position difference, based on the fitted subdivided mesh. The forward linear lifting unit can receive the displacement and generate lifting coefficients. The quantizer can quantize the lifting coefficients. The image packing unit can pack an image based on the quantized lifting coefficients. A video encoder can encode a packed image. A video decoder decodes an encoded video. An image unpacker can unpack a packed image. An inverse quantizer can inversely quantize an image. An inverse linear lifting unit applies inverse lifting to an image to generate a reconstructed displacement. A mesh restoration unit restores a warped mesh using the reconstructed displacement and the reconstructed base mesh. An attribute transfer unit receives an input mesh and/or an input attribute map, and generates an attribute map based on the reconstructed warped mesh. A push-pull padding unit can pad data in an attribute map based on a push-pull method. A color space transformation unit can transform a space of a color component, which is an attribute. A video encoder can encode an attribute. A multiplexer can generate a bitstream by multiplexing a compressed base mesh, a compressed displacement, and a compressed attribute.

도7은 실시예들에 따른 V-MESH압축 방법의 인터 프레임 인코딩 프로세스를 나타낸다.Figure 7 illustrates an inter-frame encoding process of a V-MESH compression method according to embodiments.

도7의 인코딩 프로세스는 도1의 인코딩을 상세하게 나타낸다. 즉, 도1의 인코딩이 인터 프레임 방식인 경우 인코더의 구성을 나타낸다. 도7의 인코더는 프리프로세서(200) 및/또는 인코더(201)을 포함할 수 있다. The encoding process of Fig. 7 illustrates the encoding of Fig. 1 in detail. That is, it illustrates the configuration of an encoder when the encoding of Fig. 1 is in an inter-frame manner. The encoder of Fig. 7 may include a preprocessor (200) and/or an encoder (201).

도7의 인코딩 동작 중 도6의 인코딩 동작과 대응하는 구성은 도7의 설명을 참조한다. 도7의 인터 프레임 기반 인코딩을 위해서, 모션 인코더는 복원된 양자화된 참조 베이스 메쉬에 기초하여 모션을 인코딩할 수 있다. 베이스 메쉬 복원부는 복원된 양자화된 참조 베이스 메쉬에 기초하여 베이스 메쉬를 복원할 수 있다.Among the encoding operations of Fig. 7, the configuration corresponding to the encoding operation of Fig. 6 refers to the description of Fig. 7. For the inter-frame-based encoding of Fig. 7, the motion encoder can encode motion based on the restored quantized reference base mesh. The base mesh restoration unit can restore the base mesh based on the restored quantized reference base mesh.

도6의 인코더는 프레임 내 베이스 메쉬, 디스플레이스먼트, 어트리뷰트를 압축하여 비트스트림을 생성하고, 도7의 인코더는 현재 프레임 및 참조 프레임 간 모션, 디스플레이스먼트, 어트리뷰트를 압축하여 비트스트림을 생성한다.The encoder of Fig. 6 generates a bitstream by compressing the base mesh, displacement, and attributes within a frame, and the encoder of Fig. 7 generates a bitstream by compressing the motion, displacement, and attributes between the current frame and the reference frame.

실시예들에 따른 인코딩 방법은 베이스 메쉬 인코딩(Base mesh encoding) (인트라 인코딩(Intra encoding))을 포함한다. 현재 입력 메쉬(Input mesh) 프레임에 대해 인트라 프레임 인코딩(Intra frame encoding)을 수행하는 경우, 전처리 과정에서 생성된 베이스 메쉬(Base mesh)를 양자화 과정을 거친 후 정적 메쉬(Mesh) 압축 기술을 사용하여 부호화할 수 있다. V-Mesh 압축 방법에서, 예를 들어, 드라코(Draco) 기술이 적용되었으며, 베이스 메쉬(Base mesh)의 정점 위치 정보, 매핑 정보(텍스처 좌표), 정점 연결 정보 등이 압축 대상이 된다.The encoding method according to the embodiments includes base mesh encoding (intra encoding). When performing intra frame encoding on a current input mesh frame, a base mesh generated in a preprocessing process can be encoded using a static mesh compression technique after going through a quantization process. In the V-Mesh compression method, for example, Draco technology is applied, and vertex position information, mapping information (texture coordinates), vertex connection information, etc. of the base mesh become compression targets.

실시예들에 따른 인코딩 방법은 모션 필드 인코딩(Motion field encoding)(인터 인코딩((Inter encoding))을 포함할 수 있다. 인터 프레임 인코딩(Inter frame encoding)은 참조 메쉬(Mesh)와 현재 입력 메쉬(Input mesh)가 정점의 일대일 대응 관계가 성립되고, 정점의 위치 정보만 다를 경우에 수행될 수 있다. 인터 프레임 인코딩(Inter frame encoding)을 수행하는 경우, 베이스 메쉬(Base mesh)를 압축하는 대신 참조 베이스 메쉬(Base mesh)와 현재 베이스 메쉬(Base mesh)의 정점 간 차이, 즉 모션 필드(motion field)를 계산하여 이 정보를 부호화할 수 있다. 참조 베이스 메쉬(Base mesh)는 이미 복호화된 베이스 메쉬(Base mesh) 데이터를 양자화한 결과이며 GoF 제너레이션에서 결정된 참조 프레임 인덱스에 따라 결정된다. 모션 필드(Motion field)는 값 그대로 부호화 될 수도 있다. 또는, 현재 정점과 연결된 정점들 중 복원된 정점들의 모션 필드(Motion field)를 평균하여 예측된 모션 필드(Predicted motion field)를 계산하고, 이 예측된 모션 필드(Predicted motion field) 값과 현재 정점의 모션 필드(Motion field) 값의 차이인 잔차 모션 필드(Residual motion field)를 부호화할 수 있다. 이 값은 엔트로피 코딩(Entropy coding)을 이용하여 부호화될 수 있다. 인터 프레임 인코딩(Inter frame encoding)의 모션 필드 인코딩(Motion field encoding) 과정을 제외한 디스플레이스먼트(Displacement) 및 어트리뷰트 맵(Attribute map)을 부호화하는 과정은 인트라 프레임 인코딩(Intra frame encoding) 방식에서 베이스 메쉬 인코딩(Base mesh encoding)을 제외한 나머지 구조와 동일하다.The encoding method according to the embodiments may include motion field encoding (inter encoding). Inter frame encoding may be performed when a reference mesh and a current input mesh have a one-to-one correspondence of vertices and only the position information of the vertices is different. When performing inter frame encoding, instead of compressing the base mesh, the difference between the vertices of the reference base mesh and the current base mesh, i.e., the motion field, may be calculated and this information may be encoded. The reference base mesh is the result of quantizing the already decoded base mesh data and is determined according to the reference frame index determined in the GoF generation. The motion field may be encoded as a value. Alternatively, the motion fields of the restored vertices among the vertices connected to the current vertex may be averaged to calculate the predicted motion field, and this predicted motion field The residual motion field, which is the difference between the value and the motion field value of the current vertex, can be encoded. This value can be encoded using entropy coding. The process of encoding the displacement and attribute map, excluding the motion field encoding process of the inter frame encoding, is the same as the remaining structure of the intra frame encoding method, excluding the base mesh encoding.

도8은 실시예들에 따른 디스플레이스먼트에 대한 리프팅 변환 과정을 나타낸다.Figure 8 shows a lifting conversion process for displacement according to embodiments.

도9는 실시예들에 따른 변환 계수를 2D 이미지에 패킹하는 과정을 나타낸다.Figure 9 shows a process of packing transformation coefficients according to embodiments into a 2D image.

도8-9는 도6-7의 인코딩 프로세스의 디스플레이스먼트를 변환하는 과정 및 변환 계수를 패킹하는 과정을 각각 나타낸다.Figures 8-9 illustrate the process of transforming the displacement of the encoding process of Figure 6-7 and the process of packing the transform coefficients, respectively.

실시예들에 따른 인코딩 방법은 디스플레이스먼트 인코딩(Displacement encoding)을 포함한다. The encoding method according to the embodiments includes displacement encoding.

베이스 메쉬 인코딩 및/또는 모션 필드 인코딩을 통해 베이스 메쉬(Base mesh) 부호화 후 복원 및 역양자화를 거쳐 복원된 베이스 메쉬(Recon. base mesh)가 생성되고 이에 대해 서브디비전(Subdivision)을 수행한 결과와, 핏팅 서브디비전 서페이스를 통해 생성된 핏팅된 서브디비전된 메쉬(Fitted subdivided mesh)간의 디스플레이스먼트(Displacement)를 계산할 수 있다. 효과적인 부호화를 위해 웨이브릿 변환(Wavelet transform)과 같은 데이터 변환(Data transform) 과정이 디스플레이스먼트(Displacement) 정보에 적용될 수 있다.After encoding the base mesh through base mesh encoding and/or motion field encoding, a reconstructed base mesh is generated through restoration and dequantization, and the displacement between the result of performing subdivision on the reconstructed base mesh and the fitted subdivided mesh generated through the fitting subdivision surface can be calculated. For effective encoding, a data transform process such as wavelet transform can be applied to the displacement information.

도8은 V-Mesh에서 리프팅 변환(Lifting transform)을 사용하여 디스플레이스먼트(Displacement) 정보를 변환하는 과정을 보여준다. 변환 과정을 거쳐 생성된 변환 계수들은 양자화 후, 도9에서와 같이 2D 이미지에 패킹 (Packing)된다. 변환 계수들은 256 (=16×16)개 단위마다 하나의 블록으로 구성되고, 각 블록은 z스캔 순서(z-scan order)로 패킹될 수 있다. 블록의 가로 개수는 16개로 고정하되, 블록의 세로 개수는 서브디비전된 베이스 메쉬(Subdivided base mesh)의 정점 개수에 따라 결정될 수 있다. 하나의 블록 내에서 몰톤 코드(Morton code)로 정렬하여 변환 계수를 패킹할 수 있다. 패킹 된 이미지들은 GoF 단위마다 디스플레이스먼트 비디오(Displacement video)를 생성하고, 이 디스플레이스먼트 비디오(Displacement video)를 기존의 비디오 압축 코덱을 이용하여 부호화할 수 있다.Fig. 8 shows a process of transforming displacement information using a lifting transform in V-Mesh. The transform coefficients generated through the transform process are quantized and then packed into a 2D image as shown in Fig. 9. The transform coefficients are organized into one block for every 256 (=16×16) units, and each block can be packed in z-scan order. The horizontal number of blocks is fixed to 16, but the vertical number of blocks can be determined according to the number of vertices of the subdivided base mesh. The transform coefficients can be packed by sorting them with a Morton code within a block. The packed images generate a displacement video for every GoF unit, and the displacement video can be encoded using an existing video compression codec.

도8을 참조하면, 베이스 메쉬(original)는 LoD0에 대한 버텍스 및 엣지를 포함할 수 있다. 베이스 메쉬를 분할하여 생성된 제1서브디비전 메쉬는 베이스 메쉬의 엣지를 추가분할하여 생성된 버텍스를 포함한다. 제1서브디비전 메쉬는 LoD0에 대한 버텍스 및 LoD1에 대한 버텍스를 포함한다. LoD1은 서브디비전된 버텍스 및 베이스 메쉬의 버텍스(LoD0)를 포함한다. 제1서브디비전 메쉬를 분할하여 제2서브디비전 메쉬를 생성할 수 있다 제2서브디비전 메쉬는 LoD2를 포함한다. LoD2는 베이스 메쉬 버텍스(LoD0), LoD0에서 추가로 생성된 버텍스를 포함하는 LoD1, LoD1에서 추가로 분할된 버텍스를 포함한다. LoD는 상세한 정도를 나타내는 레벨(Level of Detail)이고, 레벨의 인덱스가 커질수록 버텍스 간 거리는 가까워지고, 상세도 레벨은 증가한다. LoD N는 이전 LoDN-1에 포함된 버텍스를 그대로 포함한다. 서브디비전을 통해 버텍스가 추가로 분할되는 경우, 이전 버텍스v1, v2 및 서브디비전된 버텍스v를 고려하면, 메쉬를 예측 및/또는 업데이트 방식에 기초하여 인코딩할 수 있다. 현재 LoD N에 대한 정보를 그래도 부호화하는 대신에 이전 LoD N-1 간 잔차값(Residual)을 생성하여 잔차값을 통해 메쉬를 부호화하여 비트스트림의 사이즈를 줄일 수 있다. 프레딕션 프로세스는 이전 버텍스v1, v2를 통해서 현재 버텍스v를 예측하는 동작을 의미한다. 인접한 서브디비전 메쉬 간 서로 유사한 데이터를 가지기 때문에 이러한 속성을 이용하여 효율적인 부호화를 할 수 있다 현재 버텍스 위치 정보를 이전 버텍스 위치 정보에 대한 잔차로 예측하고, 잔차를 통해 이전 베텍 위치 정보를 업데이트한다. Referring to FIG. 8, the base mesh (original) may include vertices and edges for LoD0. The first sub-division mesh generated by dividing the base mesh includes vertices generated by further dividing edges of the base mesh. The first sub-division mesh includes vertices for LoD0 and vertices for LoD1. LoD1 includes the sub-divided vertices and the vertices (LoD0) of the base mesh. The first sub-division mesh may be generated by dividing the first sub-division mesh. The second sub-division mesh includes LoD2. LoD2 includes the base mesh vertices (LoD0), LoD1 including vertices additionally generated from LoD0, and vertices additionally divided from LoD1. LoD is a level indicating the degree of detail (Level of Detail), and as the index of the level increases, the distance between vertices becomes closer and the level of detail increases. LoD N includes the vertices included in the previous LoDN-1 as they are. When a vertex is further divided through subdivision, considering the previous vertices v1, v2 and the subdivided vertex v, the mesh can be encoded based on a prediction and/or update method. Instead of still encoding information about the current LoD N, a residual value between the previous LoD N-1 can be generated, and the mesh can be encoded using the residual value to reduce the size of the bitstream. The prediction process means the operation of predicting the current vertex v through the previous vertices v1, v2. Since adjacent subdivision meshes have similar data, efficient encoding can be achieved by utilizing this property. The current vertex position information is predicted as the residual for the previous vertex position information, and the previous vertex position information is updated through the residual.

도9를 참조하면, 버텍스는 리프팅 변환을 통해 생성된 계수를 가진다. 리프팅 변환 관련 버텍스의 계수를 이미지에 패킹하여 부호화할 수 있다.Referring to Figure 9, the vertices have coefficients generated through lifting transformation. The coefficients of the vertices related to lifting transformation can be packed into an image and encoded.

도10은 실시예들에 따른 V-MESH 압축 방법의 어트리뷰트 트랜스퍼 과정을 나타낸다.Figure 10 illustrates an attribute transfer process of a V-MESH compression method according to embodiments.

도10은 도6-7 등의 인코딩의 어트리뷰트 트랜스퍼의 상세 동작을 나타낸다.Figure 10 shows the detailed operation of attribute transfer of encoding such as Figure 6-7.

실시예들에 따른 인코딩은 어트리뷰트 맵 인코딩(Attribute map encoding)을 포함한다. Encoding according to the embodiments includes attribute map encoding.

베이스 메쉬 인코딩, 모션 필드 인코딩, 디스플레이스먼트 인코딩을 통해 입력 메쉬(Input mesh)에 대한 정보를 압축한다. 인코딩(Encoding) 과정에서 압축된 입력 메쉬(Input mesh)는 베이스 메쉬 디코딩(인트라 프레임)(Base mesh decoding (Intra frame)), 모션 필드 인코딩(인터 프레임))(Motion field decoding (Inter frame)), 디스플레이스먼트 비디오 디코딩(Displacement video decoding) 과정을 거쳐 복원되며, 그 복원된 결과인 복원된 변형된 메쉬(Reconstructed deformed mesh) (이하 Recon. deformed mesh로 표현)는 도6 및 도7과 같이 입력 어트리뷰트 맵(Input attribute map)을 압축하는 데에 사용된다. 복원된 변형된 메쉬(Recon. deformed mesh)는 정점의 위치 정보와 텍스처 좌표, 그에 대응하는 연결 정보는 갖고 있지만 텍스처 좌표에 대응하는 색상 정보는 갖고 있지 않은 상태이다. 따라서 도10과 같이, V-Mesh 압축 방법에서 어트리뷰트 트랜스퍼(Attribute transfer) 과정을 통해, 복원된 변형된 메쉬(Recon. deformed mesh)의 텍스처 좌표에 상응하는 색상 정보를 갖는 새로운 어트리뷰트 맵(Attribute map)을 생성한다. Information about the input mesh is compressed through base mesh encoding, motion field encoding, and displacement encoding. In the encoding process, the compressed input mesh is restored through base mesh decoding (intra frame), motion field decoding (inter frame), and displacement video decoding, and the restored result, the reconstructed deformed mesh (hereinafter referred to as Recon. deformed mesh), is used to compress the input attribute map as shown in FIGS. 6 and 7. The reconstructed deformed mesh (Recon. deformed mesh) has position information of vertices, texture coordinates, and corresponding connection information, but does not have color information corresponding to the texture coordinates. Therefore, as shown in Fig. 10, in the V-Mesh compression method, a new attribute map having color information corresponding to the texture coordinates of the reconstructed deformed mesh is created through the attribute transfer process.

어트리뷰트 트랜스퍼(Attribute transfer)는 먼저 2D 텍스쳐 도메인(Texture domain)의 모든 포인트 P(u, v) 에 대해 해당 점이 복원된 변형된 메쉬(Recon. deformed mesh)의 텍스쳐 트라이앵글(texture triangle) 안에 속해 있는지 확인하고, 텍스쳐 트라이앵글 T(texture triangle T) 안에 존재한다면 그 트라이앵글 T(triangle T)에 따른 P(u, v)의 질량중심 좌표 (barycentric coordinate) (α, β γ)를 계산한다. 그리고 트라이앵글 T(triangle T)의 3D 정점 위치와 (α, β γ)를 사용하여 P(u, v)의 3D 좌표 M(x, y, z)를 계산한다. 입력 메쉬 도메인(Input mesh domain)에서 계산된 M(x, y, z)와 가장 유사한 위치에 해당하는 정점 좌표 M'(x', y', z')과 이 점을 포함하는 triangle T' 을 찾는다. 그리고 이 triangle T' 에서 M'(x', y', z')의 질량중심 좌표 (α', β', γ')을 계산한다. Triangle T' 의 세 정점에 대응하는 텍스처 좌표들과 (α', β', γ') 을 이용하여 텍스처 좌표 (u', v')를 계산하고, 이 좌표에 해당하는 색상 정보를 입력 어트리뷰트 맵(Input attribute map)에서 찾는다. 이렇게 찾아진 색상 정보는 곧 새로운 어트리뷰트 맵(Input attribute map)의 (u, v) 픽셀 위치에 할당된다. 만약 P(u, v)가 어느 트라이앵글(triangle)에도 속하지 않는다면 새로운 어트리뷰트 맵(Input attribute map)에서 해당 위치 픽셀은 푸쉬-풀 알고리즘(Push-Pull algorithm)과 같이 패딩 알고리즘(padding algorithm)을 이용하여 색상 값이 채워질 수 있다. Attribute transfer first checks whether each point P(u, v) in the 2D texture domain belongs to the texture triangle of the reconstructed deformed mesh, and if it exists in the texture triangle T, calculates the barycentric coordinate (α, β γ) of P(u, v) according to the triangle T. Then, using the 3D vertex position and (α, β γ) of triangle T, calculate the 3D coordinate M(x, y, z) of P(u, v). Find the vertex coordinate M'(x', y', z') that corresponds to the position most similar to the calculated M(x, y, z) in the input mesh domain and the triangle T' that contains this point. Then, the center of mass coordinates (α', β', γ') of M'(x', y', z') are calculated in this triangle T'. Using the texture coordinates and (α', β', γ') corresponding to the three vertices of triangle T', the texture coordinates (u', v') are calculated, and the color information corresponding to these coordinates is searched for in the input attribute map. The color information found in this way is immediately assigned to the (u, v) pixel location in the new attribute map. If P(u, v) does not belong to any triangle, the pixel at that location in the new attribute map can be filled with a color value using a padding algorithm such as the push-pull algorithm.

어트리뷰트 트랜스퍼(Attribute transfer)를 통해 생성된 새로운 어트리뷰트 맵(Attribute map)은 GoF 단위로 묶여 어트리뷰트 맵 비디오(Attribute map video)를 구성하고, 이것은 비디오 코덱을 이용하여 압축된다.The new attribute map generated through attribute transfer is grouped into GoF units to form an attribute map video, which is then compressed using a video codec.

도10을 참조하면, 입력 메쉬, 입력 어트리뷰트 맵, 복원된 메쉬, 생성된 어트리뷰트 맵 간 참조 관계를 알 수 있다. Referring to Figure 10, the reference relationship between the input mesh, input attribute map, restored mesh, and generated attribute map can be seen.

도1의 디코딩 프로세싱(Decoding process)은 도1의 인코딩 프로세스의 대응하는 과정의 역과정을 수행할 수 잇다. 구체적 디코딩 프로세스는 다음과 같다.The decoding process of Fig. 1 can perform the reverse process of the corresponding process of the encoding process of Fig. 1. The specific decoding process is as follows.

도11은 실시예들에 따른 V-MESH 압축 방법의 인트라 프레임 디코딩 프로세스를 나타낸다.Figure 11 illustrates an intra frame decoding process of a V-MESH compression method according to embodiments.

도11은 도1등의 수신 장치의 디코더의 구성 및 동작을 나타낸다. Fig. 11 shows the configuration and operation of a decoder of a receiving device such as Fig. 1.

도11은 V-Mesh 기술의 인트라 디코딩(intra decoding) 과정을 보여준다. 먼저 입력 비트스트림은 메쉬 서브 스트림(Mesh sub-stream), 디스플레이스먼트 서브 스트림(Displacement sub-stream), 어트리뷰트 맵 서브 스트림(Attribute map sub-stream), 그리고 V3C/V-PCC와 같이 메쉬(Mesh)의 패치(patch) 정보를 포함하는 서브 스트림(Sub-stream)으로 분리될 수 있다. Fig. 11 shows the intra decoding process of V-Mesh technology. First, the input bitstream can be separated into a mesh sub-stream, a displacement sub-stream, an attribute map sub-stream, and a sub-stream containing patch information of the mesh such as V3C/V-PCC.

메쉬 서브 스트림(Mesh sub-stream)은 예를 들어, 구글 드라코(Google Draco)와 같은 인코딩(Encoding)에서 사용한 정적 메쉬(Mesh) 코덱의 디코더를 통해 복호화되어, 그 결과 베이스 메쉬(Base mesh)의 연결 정보, 정점 기하정보, 정점 텍스처 좌표 등을 복원할 수 있다. 디스플레이스먼트 서브 스트림(Displacement sub-stream)은 인코딩(Encoding)에서 사용한 비디오 압축 코덱의 디코더를 통해 디스플레이스먼트 비디오(Displacement video)로 복호화되고, 이미지 언패킹(Image unpacking), 역 양자화(Inverse quantization), 역 변환(Inverse transform) 과정을 거쳐 각 정점에 대한 디스플레이스먼트(Displacement) 정보로 복원된다. 복원된 베이스 메쉬(Base mesh)에 대해 역양자화(Inverse quantization)가 적용된 후 이 결과는 복원된 디스플레이스먼트(Displacement) 정보와 결합되어 최종 복호화된 메쉬(Decoded mesh)를 생성한다. The mesh sub-stream is decoded by a decoder of a static mesh codec used in encoding, such as Google Draco, so that the connection information, vertex geometry information, and vertex texture coordinates of the base mesh can be restored. The displacement sub-stream is decoded into a displacement video by a decoder of a video compression codec used in encoding, and goes through image unpacking, inverse quantization, and inverse transform processes to restore displacement information for each vertex. Inverse quantization is applied to the restored base mesh, and this result is combined with the restored displacement information to generate the final decoded mesh.

어트리뷰트 맵 서브 스트림(Attribute map sub-stream)은 인코딩(Encoding)에서 사용한 비디오 압축 코덱의 디코더를 통해 복호화된 후, 색상 포맷 변환 등의 과정을 거쳐 최종적인 어트리뷰트 맵(Attribute map)으로 복원된다. The attribute map sub-stream is decoded through the decoder of the video compression codec used in encoding, and then restored to the final attribute map through processes such as color format conversion.

복원된 복호화된 메쉬(Decoded mesh)와 복호화된 어트리뷰트 맵(Decoded attribute map)은 사용자가 활용할 수 있는 최종적인 메쉬 데이터(Mesh data)로써 수신단에서 활용될 수 있다.The restored decoded mesh and decoded attribute map can be utilized by the receiver as final mesh data that can be utilized by the user.

도11을 참조하면, 비트스트림은 패치 정보, 메쉬 서브 스트림, 디스플레이스먼트 서브 스트림, 어트리뷰트 맵 서브 스트림을 포함한다. 서브 스트림은 비트스트림에 포함된 일부 비트스트림을 지칭하는 용어로 해석된다. 비트스트림은 패치 정보(데이터), 메쉬 정보(데이터), 디스플레이스먼트 정보(데이터), 어트리뷰트 캡 정보(데이터)를 포함한다.Referring to FIG. 11, the bitstream includes patch information, a mesh substream, a displacement substream, and an attribute map substream. The substream is interpreted as a term referring to some bitstreams included in the bitstream. The bitstream includes patch information (data), mesh information (data), displacement information (data), and attribute cap information (data).

디코더는 프레임 내 다음 디코딩 동작을 수행한다. 스태틱 메쉬 디코더는 메쉬를 복호화하여 복원된 양자호된 베이스 메쉬를 생서앟고, 역양자화기는 양자화기의 양자화 파라미터를 역으로 적용하여, 복원된 베이스 메쉬를 생성한다. 비디도 디코더는 디스플레이스먼트를 복호화하고, 언패커는 복호호된 비디오 이미지를 언패킹하고, 역양자화기는 양자화되었던 이미지를 역으로 양자화한다. 리니어 리프팅 역변환부는 인코더의 역과정으로 리프팅 변환을 적용하여 복원된 디스플레이스먼트를 생성한다. 메쉬 복원부는 베이스 메쉬 및 디스플레이스먼트에 기초하여 변형된 메쉬를 생성한다. 비디오 디코더는 어트리뷰트 맵을 복호화하고, 컬러 변환부는 컬러 포맷 및/또는 스페이스를 변환하여 복호화된 어트리뷰트 맵을 생성한다. The decoder performs the following decoding operations within a frame. The static mesh decoder decodes the mesh to generate a reconstructed quantized base mesh, and the inverse quantizer inversely applies the quantization parameters of the quantizer to generate the reconstructed base mesh. The video decoder decodes the displacement, the unpacker unpacks the decoded video image, and the inverse quantizer inversely quantizes the quantized image. The linear lifting inverse transform applies a lifting transform in the reverse process of the encoder to generate the reconstructed displacement. The mesh restoration unit generates a warped mesh based on the base mesh and the displacement. The video decoder decodes an attribute map, and the color transformation unit transforms a color format and/or space to generate a decoded attribute map.

도12는 V-MESH 압축 방법의 인터 프레임 디코딩 프로세스를 나타낸다.Figure 12 shows the inter-frame decoding process of the V-MESH compression method.

도12는 도1등의 수신 장치의 디코더의 구성 및 동작을 나타낸다.Fig. 12 shows the configuration and operation of a decoder of a receiving device such as Fig. 1.

도12는 V-Mesh 기술의 인터 디코딩(Inter decoding) 과정을 보여준다. 먼저 입력 비트스트림은 모션 서브 스트림(Motion sub-stream), 디스플레이스먼트 서브 스트림(Displacement sub-stream), 어트리뷰트 서브 스트림(Attribute sub-stream), 그리고 V3C/V-PCC와 같이 메쉬(Mesh)의 패치(patch) 정보를 포함하는 서브 스트림(sub-stream)으로 분리될 수 있다. Fig. 12 shows the inter decoding process of V-Mesh technology. First, the input bitstream can be separated into a motion sub-stream, a displacement sub-stream, an attribute sub-stream, and a sub-stream containing patch information of the mesh such as V3C/V-PCC.

모션 서브 스트림(Motion sub-stream)은 엔트로피 디코딩(Entropy decoding)과 인버스 프레딕션(Inverse prediction) 과정을 통해 복호화되고, 복원된 모션(Motion) 정보는 이미 복원된 참조 베이스 메쉬(Base mesh)와 결합하여 현재 프레임에 대한 복원된 양자화된 베이스 메쉬(Reconstructed quantized base mesh)를 생성한다. 이에 대해 인버스 양자화(Inverse quantization)을 적용한 결과와, 전술한 인트라 디코딩과 동일한 방법으로 복원된 디스플레이스먼트(Displacement) 정보를 결합하여 최종 복호화된 메쉬(Decoded mesh)를 생성한다. 어트리뷰트 맵 서브 스트림(Attribute map sub-stream)은 인트라 디코딩과 동일한 방법으로 디코딩(Decoding) 된다. 복원된 복호화된 메쉬(Decoded mesh)와 복호화된 어트리뷰트 맵(Decoded attribute map)은 사용자가 활용할 수 있는 최종적인 메쉬 데이터(Mesh data)로써 수신단에서 활용될 수 있다.The motion sub-stream is decoded through the entropy decoding and inverse prediction processes, and the reconstructed motion information is combined with the already reconstructed reference base mesh to generate a reconstructed quantized base mesh for the current frame. The result of applying inverse quantization to this is combined with the displacement information reconstructed in the same way as the intra decoding described above to generate the final decoded mesh. The attribute map sub-stream is decoded in the same way as the intra decoding. The reconstructed decoded mesh and the decoded attribute map can be utilized by the receiver as the final mesh data that can be utilized by the user.

도12를 참조하면, 비트스트림은 모션, 디스플레이스먼트, 어트리뷰트 맵을 포함한다. 프레임 간 디코딩을 수행하기 때문에, 프레임 간 모션 정보를 디코딩하는 과정을 더 포함한다. 모션을 복호화하고, 참조 베이스 메쉬에 기초하여 모션에 대한 복원된 양자화된 베이스 메쉬를 생성하여 복원된 베이스 메쉬를 생성한다. 도11과 동일한 도12 동작의 설명은 도11 설명을 참조한다.Referring to Fig. 12, the bitstream includes motion, displacement, and attribute maps. Since inter-frame decoding is performed, a process of decoding inter-frame motion information is further included. The motion is decoded, and a restored quantized base mesh for the motion is generated based on the reference base mesh to generate the restored base mesh. For a description of the operation of Fig. 12, which is the same as Fig. 11, refer to the description of Fig. 11.

도13은 실시예들에 따른 포인트 클라우드 데이터 송신 장치를 나타낸다.Fig. 13 shows a point cloud data transmission device according to embodiments.

도13은 도1의 송신 장치(100), 다이나믹 메쉬 비디오 인코더(102), 도2 인코더(프리 프로세서 및 인코더), 및/또는 그에 대응하는 송신 인코딩 장치에 대응한다. 도13 각 구성요소는 하드웨어, 소프트웨어, 프로세서, 및/또는 그것들의 조합에 대응한다. Fig. 13 corresponds to the transmitting device (100), the dynamic mesh video encoder (102), the Fig. 2 encoder (pre-processor and encoder), and/or the transmitting encoding device corresponding thereto of Fig. 1. Each component of Fig. 13 corresponds to hardware, software, a processor, and/or a combination thereof.

V-Mesh 압축 기술을 이용한 동적 메쉬(Mesh) 데이터의 압축 및 전송을 위한 송신단의 동작 과정은 도13과 같을 수 있다.The operation process of a transmitter for compressing and transmitting dynamic mesh data using V-Mesh compression technology can be as shown in Fig. 13.

메쉬 전처리기는 원본 메쉬를 입력받아 단순화된 메쉬 (Decimated mesh)를 생성한다. 단순화는 메쉬를 구성하는 타겟 정점 개수 또는 타겟 다각형 개수를 기준으로 수행할 수 있다. 단순화된 메쉬에 대해 정점 당 텍스처 좌표 및 텍스처 연결정보를 생성하는 매개변수화 (parameterization)가 수행될 수 있다. 또한 부동 소수점 형태의 메쉬 정보들을 고정 소수점 형태로 양자화하는 작업을 수행할 수 있다. 이 결과는 베이스 메쉬로서 정적 메쉬 부호화부를 통해 부호화될 수 있다. 메쉬 전처리부에서는 베이스 메쉬에 대해 메쉬 세분화 (Subdivision)를 수행하여 추가적인 정점을 생성할 수 있다. 세분화 방법에 따라 추가된 정점들을 포함하는 정점 연결 정보, 텍스처 좌표 및 텍스처 좌표의 연결 정보들이 생성될 수 있다. 세분화된 메쉬는 원본 메쉬와 유사해지도록 정점 위치 조정을 통해 피팅 (Fitting)되어 피팅된 세분 메쉬 (Fitted subdivided mesh)를 생성할 수 있다.The mesh preprocessor receives the original mesh as input and generates a simplified mesh (decimated mesh). Simplification can be performed based on the target number of vertices or the target number of polygons that constitute the mesh. Parameterization can be performed to generate texture coordinates and texture connection information per vertex for the simplified mesh. In addition, a task of quantizing floating-point type mesh information into fixed-point type can be performed. This result can be encoded as a base mesh through a static mesh encoding unit. The mesh preprocessor can perform mesh subdivision on the base mesh to generate additional vertices. Depending on the subdivision method, vertex connection information, texture coordinates, and texture coordinate connection information including the added vertices can be generated. The subdivided mesh can be fitted by adjusting the vertex positions to be similar to the original mesh, thereby generating a fitted subdivided mesh.

해당 메쉬 프레임에 대해 화면내 부호화 (Intra encoding)을 수행하는 경우 메쉬 전처리부를 통해 생성된 베이스 메쉬는 정적 메쉬 부호화부를 통해 압축될 수 있다. 이 경우 베이스 메쉬의 연결 정보, 정점 기하정보, 정점 텍스처 정보, 노말 정보 등에 대해 부호화를 수행할 수 있다. 부호화를 통해 생성된 베이스 메쉬 비트스트림은 다중화부로 전송된다. When performing intra encoding for the corresponding mesh frame, the base mesh generated through the mesh preprocessing unit can be compressed through the static mesh encoding unit. In this case, encoding can be performed on the connection information, vertex geometry information, vertex texture information, normal information, etc. of the base mesh. The base mesh bitstream generated through encoding is transmitted to the multiplexing unit.

해당 메쉬 프레임에 대해 화면간 부호화 (Inter encoding)을 수행하는 경우 움직임 벡터 부호화부가 수행되는데, 베이스 메쉬와 참조 복원 베이스 메쉬를 입력으로 하여 두 메쉬 간의 움직임 벡터를 계산하고 그 값을 부호화할 수 있다. 움직임 벡터 부호화부는 이전에 부/복호화 된 움직임 벡터를 예측자로 사용하여 연결 정보 기반의 예측을 수행하고, 현재 움직임 벡터에서 예측 움직임 벡터를 뺀 잔차 움직임 벡터를 부호화할 수 있다. 부호화를 통해 생성된 움직임 벡터 비트스트림은 다중화부로 전송된다. When performing inter encoding for the corresponding mesh frame, a motion vector encoding unit is performed, which can calculate a motion vector between the two meshes using a base mesh and a reference restoration base mesh as inputs, and encode the value. The motion vector encoding unit can perform prediction based on connection information using a previously encoded/decoded motion vector as a predictor, and encode a residual motion vector obtained by subtracting the predicted motion vector from the current motion vector. The motion vector bitstream generated through encoding is transmitted to the multiplexing unit.

부호화 된 베이스 메쉬와 움직임 벡터는 베이스 메쉬 복원부를 통해 복원 베이스 메쉬를 생성할수 있다. The encoded base mesh and motion vectors can be used to generate a restored base mesh through the base mesh restoration unit.

변위 벡터 계산기는 복원된 베이스 메쉬에 대해서 메쉬 세분화를 수행할 수 있다. 변위 벡터는 세분화된 복원 베이스 메쉬와 전처리부에서 생성된 피팅된 세분 메쉬 간의 정점 위치 차이값으로 계산될 수 있다. 그 결과 세분화된 메쉬의 정점 개수만큼 변위 벡터가 계산될 수 있다. 변위 벡터 계산부에서는 3차원 데카르트(Cartesian) 좌표계에서 계산된 변위 벡터를 각 정점의 노말 (Normal) 벡터를 기반으로 한 Local 좌표계로 변환할 수 있다. The displacement vector calculator can perform mesh refinement on the restored base mesh. The displacement vector can be calculated as the difference value of the vertex position between the refined restored base mesh and the fitted subdivision mesh generated in the preprocessing unit. As a result, the displacement vector can be calculated as many as the number of vertices of the refined mesh. The displacement vector calculation unit can convert the displacement vector calculated in the 3D Cartesian coordinate system into the local coordinate system based on the normal vector of each vertex.

변위 벡터 비디오 생성기는 효과적인 부호화를 위해 변위 벡터를 변환 (Transform)할 수 있다. 변환은 실시예에 따라 Lifting 변환, Wavelet 변환 등이 수행될 수 있다. 또한 변환된 변위 벡터 값, 곧 변환 계수에 대해 양자화를 수행할 수 있다. 변환 계수의 각 축마다 다른 양자화 파라미터를 적용할 수 있으며, 부/복호화기의 약속에 의해 양자화 파라미터를 유도할 수 있다. 변환 및 양자화를 거친 변위 벡터 정보들은 2D 이미지로 패킹 (Packing)될 수 있다. 매 프레임마다 패킹된 2D 이미지들을 묶어 변위 벡터 비디오를 생성할 수 있고, 변위 벡터 비디오는 입력 메쉬의 GoF (Group of Frame) 단위마다 생성될 수 있다. The displacement vector video generator can transform the displacement vector for effective encoding. The transform can be performed by a lifting transform, a wavelet transform, etc., depending on the embodiment. In addition, quantization can be performed on the transformed displacement vector value, that is, the transform coefficient. Different quantization parameters can be applied to each axis of the transform coefficient, and the quantization parameters can be derived by the promise of the encoder/decoder. The transformed and quantized displacement vector information can be packed into a 2D image. The packed 2D images can be bundled for each frame to generate a displacement vector video, and the displacement vector video can be generated for each GoF (Group of Frame) unit of the input mesh.

변위 벡터 비디오 부호화기는 생성된 변위 벡터 비디오를 비디오 압축 코덱을 이용하여 부호화할 수 있다. 생성된 변위 벡터 비디오 비트스트림은 다중화부로 전송된다. A displacement vector video encoder can encode the generated displacement vector video using a video compression codec. The generated displacement vector video bitstream is transmitted to a multiplexer.

변위 벡터 복원기를 통해 복원된 변위 벡터와 베이스 메쉬 복원부를 통해 복원되어 세분화를 거친 베이스 메쉬는 메쉬 복원부를 통해 복원되며, 복원된 메쉬는 복원된 정점, 정점 간 연결 정보, 텍스처 좌표 및 텍스처 좌표 간 연결 정보 등을 갖고 있다. The displacement vector restored through the displacement vector restorer and the base mesh restored through the base mesh restorer and refined are restored through the mesh restorer, and the restored mesh has restored vertices, connection information between vertices, texture coordinates, and connection information between texture coordinates.

원본 메쉬의 텍스처 맵은 텍스처 맵 비디오 생성부를 통해 복원된 메쉬에 대한 텍스처 맵으로 재생성될 수 있다. 복원된 메쉬의 텍스처 좌표에 대해 원본 메쉬의 텍스처 맵이 갖고 있는 정점 별 색상 정보를 할당할 수 있다. 매 프레임마다 재생성된 텍스처 맵들은 GoF 단위마다 묶여 텍스처 맵 비디오를 생성할 수 있다. The texture map of the original mesh can be regenerated as a texture map for the restored mesh through the texture map video generation unit. The color information per vertex of the texture map of the original mesh can be assigned to the texture coordinates of the restored mesh. The regenerated texture maps for each frame can be grouped by GoF unit to generate a texture map video.

생성된 텍스처 맵 비디오는 텍스처 맵 비디오 부호화부를 통해 비디오 압축 코덱을 이용하여 부호화될 수 있다. 부호화를 통해 생성된 텍스처 맵 비디오 비트스트림은 다중화부로 전송된다. The generated texture map video can be encoded using a video compression codec through a texture map video encoding unit. The texture map video bitstream generated through encoding is transmitted to a multiplexing unit.

생성된 움직임 벡터 비트스트림, 베이스 메쉬 비트스트림, 변위 벡터 비트스트림 및 텍스처 맵 비티스트림은 하나의 비트스트림으로 다중화되어 송신부를 통해 수신단으로 전송될 수 있다. 또는 생성된 움직임 벡터 비트스트림, 베이스 메쉬 비트스트림, 변위 벡터 비트스트림 및 텍스처 맵 비티스트림은 하나 이상의 트랙 데이터로 파일이 생성되거나 세그먼트로 인캡슐레이션 되어 송신부를 통해 수신단에 전송될 수 있다. The generated motion vector bitstream, base mesh bitstream, displacement vector bitstream and texture map bitstream may be multiplexed into a single bitstream and transmitted to a receiver through a transmitter. Alternatively, the generated motion vector bitstream, base mesh bitstream, displacement vector bitstream and texture map bitstream may be generated into a file with one or more track data or encapsulated into segments and transmitted to a receiver through a transmitter.

도13을 참조하면, 송신 장치(인코더)는 인트라 프레임 혹은 인터 프레임 방식으로 메쉬를 부호화할 수 있다. 인트라 인코딩에 따른 송신 장치는 베이스 메쉬, 변위 벡터(디스플레이스먼트), 텍스쳐 맵(어트리뷰트 맵)을 생성할 수 있다. 인터 인코딩에 따른 송신 장치는 움직임 벡터(모션), 베이스 메쉬, 변위 벡터(디스플레이스먼트), 텍스쳐 맵(어트리뷰트 맵)을 생성할 수 있다. 데이터 입력부로부터 획득된 텍스쳐 맵은 복원된 메쉬에 기초하여 생성되고 부호화된다. 디스플레이스먼트는 베이스 메쉬 및 분할된 메쉬 간 정점 위치 차이를 통해 생성되고 부호화된다. 베이스 메쉬는 원본 메쉬를 전처리하고 단순화하고 부호화하여 생성된다. 모션은 이전 프레임의 참조 베이스 메쉬에 기초하여 현재 프레임의 메쉬에 대한 움직임 벡터로 생성된다.Referring to FIG. 13, a transmitting device (encoder) can encode a mesh in an intra-frame or inter-frame manner. A transmitting device according to intra-encoding can generate a base mesh, a displacement vector (displacement), and a texture map (attribute map). A transmitting device according to inter-encoding can generate a motion vector (motion), a base mesh, a displacement vector (displacement), and a texture map (attribute map). A texture map obtained from a data input unit is generated and encoded based on a restored mesh. Displacement is generated and encoded through a difference in vertex positions between the base mesh and the divided mesh. The base mesh is generated by preprocessing, simplifying, and encoding an original mesh. Motion is generated as a motion vector for a mesh of a current frame based on a reference base mesh of a previous frame.

도14는 실시예들에 따른 포인트 클라우드 데이터 수신 장치를 나타낸다.Fig. 14 shows a point cloud data receiving device according to embodiments.

도14는 도1의 수신 장치(110), 다이나믹 메쉬 비디오 디코더(113), 도11-12 디코더, 및/또는 그에 대응하는 수신 디코딩 장치에 대응한다. 도14 각 구성요소는 하드웨어, 소프트웨어, 프로세서, 및/또는 그것들의 조합에 대응한다. 도14의 수신(디코딩) 동작은 도13의 송신(인코딩) 동작의 대응하는 과정의 역과정을 따를 수 있다.Fig. 14 corresponds to the receiving device (110) of Fig. 1, the dynamic mesh video decoder (113), the decoder of Figs. 11-12, and/or the receiving decoding device corresponding thereto. Each component of Fig. 14 corresponds to hardware, software, a processor, and/or a combination thereof. The receiving (decoding) operation of Fig. 14 can follow the reverse process of the corresponding process of the transmitting (encoding) operation of Fig. 13.

수신된 Mesh의 비트스트림은 파일/세그먼트 디캡슐레이션 후 압축된 움직임 벡터 비트스트림 혹은 베이스 메쉬 비트스트림, 변위 벡터 비트스트림, 그리고 텍스처 맵 비트스트림으로 역다중화된다. The received Mesh bitstream is demultiplexed into a compressed motion vector bitstream or base mesh bitstream, displacement vector bitstream, and texture map bitstream after file/segment decapsulation.

프레임 헤더 정보에 따라 현재 메쉬가 화면간 부호화가 적용된 경우라면 움직임 벡터 비트스트림에 대해 움직임 벡터 복호화부에서 복호화를 수행할 수 있다. 이전의 복호화된 움직임 벡터를 예측자로 사용하여 비트스트림으로부터 복호화된 잔차 움직임 벡터와 더하여 최종 움직임 벡터를 복원할 수 있다. If the current mesh has inter-screen encoding applied according to the frame header information, the motion vector decoding unit can perform decoding on the motion vector bitstream. The final motion vector can be reconstructed by adding the previously decoded motion vector to the residual motion vector decoded from the bitstream using the previously decoded motion vector as a predictor.

프레임 헤더 정보에 따라 현재 메쉬가 화면내 부호화가 적용된 경우라면 베이스 메쉬 비트스트림은 정적 메쉬 부호화부를 통해 베이스 메쉬의 연결 정보, 정점 기하정보, 텍스처 좌표, 노말 정보 등을 복원할 수 있다. If the current mesh has in-screen encoding applied according to the frame header information, the base mesh bitstream can restore the connection information, vertex geometry information, texture coordinates, normal information, etc. of the base mesh through the static mesh encoding unit.

베이스 메쉬 복원부에서는 현재 메쉬가 화면간 부호화가 적용된 경우라면 참조 베이스 메쉬에 복호화 된 움직임 벡터를 더한 후 역양자화를 수행하여 현재 베이스 메쉬를 복원할 수 있다. 현재 메쉬가 화면내 부호화가 적용된 경우라면 정적 메쉬 복호화부를 통해 복호화 된 메쉬에 대해 역양자화를 수행하여 복원 베이스 메쉬를 생성할 수 있다. In the base mesh restoration unit, if the current mesh has inter-screen encoding applied, the current base mesh can be restored by adding the decoded motion vector to the reference base mesh and then performing inverse quantization. If the current mesh has intra-screen encoding applied, the decoded mesh can be dequantized through the static mesh decoding unit to generate a restored base mesh.

변위 벡터 비트스트림은 비디오 비트스트림으로서 변위 벡터 비디오 복호화부에서 비디오 코덱을 이용하여 복호화될 수 있다. The displacement vector bitstream can be decoded as a video bitstream using a video codec in a displacement vector video decoder.

변위 벡터 복원부에서는 복호화 된 변위 벡터 비디오로부터 변위 벡터 변환 계수가 추출하고, 역양자화와 역변환 과정을 거쳐 변위 벡터를 복원한다. 복원된 변위 벡터가 Local 좌표계의 값이라면 Cartesian 좌표계로 역변환하는 과정이 수행될 수 있다. In the displacement vector restoration unit, displacement vector transformation coefficients are extracted from the decoded displacement vector video, and the displacement vector is restored through the inverse quantization and inverse transformation processes. If the restored displacement vector is a value in the local coordinate system, a process of inverse transformation to the Cartesian coordinate system can be performed.

메쉬 복원부에서는 복원된 베이스 메쉬에 대해 세분화를 수행하여 추가적인 정점을 생성할 수 있다. 세분화를 통해, 추가된 정점을 포함하는 정점 연결 정보, 텍스처 좌표 및 텍스처 좌표의 연결 정보 등을 생성할 수 있다. 세분화된 복원 베이스 메쉬는 복원된 변위 벡터와 결합하여 최종 복원된 메쉬를 생성할 수 있다. In the mesh restoration section, additional vertices can be generated by performing subdivision on the restored base mesh. Through subdivision, vertex connection information including the added vertices, texture coordinates, and texture coordinate connection information can be generated. The subdivided restored base mesh can be combined with the restored displacement vector to generate the final restored mesh.

텍스처 맵 비트스트림은 비디오 비트스트림으로서 텍스처 맵 비디오 복호화부에서 비디오 코덱을 이용하여 복호화될 수 있다. 복원된 텍스처 맵은 복원된 메쉬가 담고 있는 각 정점에 대한 색상 정보를 갖고 있으며, 각 정점의 텍스처 좌표를 이용하여 텍스처 맵으로부터 해당 정점의 색상값을 가져올 수 있다. The texture map bitstream can be decoded as a video bitstream using a video codec in a texture map video decoding unit. The restored texture map has color information for each vertex contained in the restored mesh, and the color value of each vertex can be obtained from the texture map using the texture coordinates of each vertex.

복원된 메쉬와 텍스처 맵은 메쉬 데이터 렌더러 등을 이용하여 렌더링 과정을 통해 사용자에게 보여진다. The restored mesh and texture map are shown to the user through a rendering process using a mesh data renderer, etc.

도14를 참조하면, 수신 장치(디코더)는 인트라 프레임 혹은 인터 프레임 방식으로 메쉬를 복호화할 수 있다. 인트라 디코딩에 따른 수신 장치는 베이스 메쉬, 변위 벡터(디스플레이스먼트), 텍스쳐 맵(어트리뷰트 맵)을 수신하고, 복원 메쉬 및 복원 텍스쳐 맵을 복호화하여 메쉬 데이터를 렌더링할 수 있다. 인터 디코딩에 따른 수신 장치는 움직임 벡터(모션), 베이스 메쉬, 변위 벡터(디스플레이스먼트), 텍스쳐 맵(어트리뷰트 맵)을 수신하고, 복원 메쉬 및 복원 텍스쳐 맵을 복호화하여 메쉬 데이터를 렌더링할 수 있다.Referring to FIG. 14, a receiving device (decoder) can decode a mesh in an intra-frame or inter-frame manner. A receiving device according to intra-decoding can receive a base mesh, a displacement vector (displacement), and a texture map (attribute map), and can decode a restoration mesh and a restoration texture map to render mesh data. A receiving device according to inter-decoding can receive a motion vector (motion), a base mesh, a displacement vector (displacement), and a texture map (attribute map), and can decode a restoration mesh and a restoration texture map to render mesh data.

실시예들에 따른 포인트 클라우드 데이터 송신 장치 및 방법은 메쉬 데이터를 부호화하여, 부호화된 메쉬 데이터를 포함하는 비트스트림을 송신할 수 있다. 실시예들에 따른 포인트 클라우드 데이터 수신 장치 및 방법은 메쉬 데이터를 포함하는 비트스트림을 수신하여 메쉬 데이터를 복호화할 수 있다. 실시예들에 따른 포인트 클라우드 데이터 송수신 방법/장치는 실시예들에 따른 방법/장치로 줄여서 지칭될 수 있다. 실시예들에 따른 포인트 클라우드 데이터 송수신 방법/장치는 실시예들에 따른 메쉬 데이터 송수신 방법/장치로도 지칭될 수 있다.The point cloud data transmission device and method according to the embodiments can encode mesh data and transmit a bitstream including the encoded mesh data. The point cloud data reception device and method according to the embodiments can receive a bitstream including mesh data and decode the mesh data. The point cloud data transmission and reception method/device according to the embodiments may be referred to as the method/device according to the embodiments. The point cloud data transmission and reception method/device according to the embodiments may also be referred to as the mesh data transmission and reception method/device according to the embodiments.

도15는 실시예들에 따른 메쉬 시스템 구조를 나타낸다.Figure 15 shows a mesh system structure according to embodiments.

실시예들은 다이내믹 메쉬 코딩 비트스트림을 파일에 저장하고 전송하는 방법을 포함한다(Carriage of Dynamic Mesh Coding Bitstream in Single Track).Embodiments include a method of storing and transmitting a dynamic mesh coding bitstream in a file (Carriage of Dynamic Mesh Coding Bitstream in Single Track).

실시예들은 VDMC(Video-based Dynamic Mesh Coding) 비트스트림을 파일 내 단일 트랙으로 저장하는 방법 및/또는 시그널링하는 방법을 포함한다.Embodiments include methods for storing and/or signaling a Video-based Dynamic Mesh Coding (VDMC) bitstream as a single track within a file.

실시예들은 V-DMC(video-based dynamic mesh coding) 혹은 메쉬 비트스트림을 파일 내 단일 트랙내 효율적으로 저장하고 이에 대한 시그널링을 제공하는 메쉬 콘텐츠 서비스 제공을 위한 송신 방법/장치 및/또는 수신 방법/장치를 포함한다.Embodiments include a transmission method/device and/or a reception method/device for providing a mesh content service that efficiently stores a V-DMC (video-based dynamic mesh coding) or mesh bitstream in a single track within a file and provides signaling therefor.

실시예들은 저장된 V-DMC 비트스트림에 대한 효율적인 접근을 지원할 수 있도록 하기 위한 파일 저장 기법을 처리하는 메쉬 콘텐츠 서비스 제공을 위한 송신 방법/장치 및/또는 수신 방법/장치를 포함한다.Embodiments include a transmitting method/device and/or a receiving method/device for providing mesh content services that handle file storage techniques to enable efficient access to stored V-DMC bitstreams.

실시예들은 V-DMC(video-based dynamic mesh coding)으로 실시예를 기술하고 있으나, V-DMC 뿐만 아니라 이와 동일한 방식 내지 유사한 비트스트림 형태로 구성된 다른 메쉬 코딩을 사용한 비트스트림에도 적용될 수 있다.Although the embodiments describe the embodiments using V-DMC (video-based dynamic mesh coding), the embodiments can be applied not only to V-DMC but also to bitstreams using other mesh codings configured in the same manner or in a similar bitstream format.

실시예들은V-DMC(Video-based Dynamic Mesh Coding)으로 인코딩된 메쉬 콘텐츠를 스트리밍 등과 같은 서비스로 제공하기 위해 ISOBMFF파일 기반의 싱글 트랙(single track)으로 인캡슐레이션(encapsulation)할 수 있다. Embodiments can encapsulate mesh content encoded with V-DMC (Video-based Dynamic Mesh Coding) into a single track based on an ISOBMFF file to provide a service such as streaming.

실시예들은 파일의 싱글 트랙 내 샘플 엔트리에 포함되는 정보를 생성하고 송수신한다.The embodiments generate and transmit information contained in a sample entry within a single track of a file.

실시예들은 파일의 싱글 트랙 내 샘플 엔트리에 포함되는 시그널링 정보로써 디코더 구성(decoder configuration) 정보를 생성하고 송수신한다.The embodiments generate and transmit decoder configuration information as signaling information included in a sample entry within a single track of a file.

실시예들은 파일의 싱글 트랙 내 샘플 포맷에 포함되는 정보를 생성하고 송수신한다.The embodiments generate and transmit information contained in a sample format within a single track of a file.

디코더는 파일의 싱글 트랙을 수신하고, 싱글 트랙 내 정보를 파싱하여, 메쉬 데이터를 효율적으로 디코딩한다.The decoder receives a single track of the file, parses the information within the single track, and efficiently decodes the mesh data.

도15는 메쉬 시스템의 구조이다. 리얼 월드에서 멀티플 카메라, 센서 및/또는 가상 카메라를 이용하여 획득한 씬(scene) 및/또는 오브젝트(object)들은 메쉬 데이터 프리-프로세싱 및/또는 메쉬 데이터 인코딩에 기초하여 V-DMC 비트스트림으로 부호화될 수 있다. 이 메쉬 비트스트림을 파일 인캡슐레이션을 통해 효율적으로 저장하고 전송할 수 있는 파일 형태로 생성할 수 있다.Fig. 15 is a structure of a mesh system. Scenes and/or objects acquired using multiple cameras, sensors and/or virtual cameras in the real world can be encoded into V-DMC bitstreams based on mesh data pre-processing and/or mesh data encoding. The mesh bitstreams can be generated in a file format that can be efficiently stored and transmitted through file encapsulation.

다이나믹 메쉬 플레이어는 이러한 과정을 통해 획득되고 수신된 파일을 파일 디캡슐레이션을 통해 메쉬 비트스트림으로 복원할 수 있다. 복원된 메쉬 비트스트림은 메쉬 데이터 디코딩 및/또는 메쉬 데이터 프로세싱/렌더링에 기초하여 디스플레이 장치로 제공되고, 디스플레이될 수 있다.The dynamic mesh player can recover the acquired and received files through this process into a mesh bitstream through file decapsulation. The recovered mesh bitstream can be provided to a display device and displayed based on mesh data decoding and/or mesh data processing/rendering.

실시예들은 메쉬 부호화, 파일/세그먼트 인캡슐레이션, 파일/세그먼트 디캡슐레이션, 메쉬 복호화 등을 포함한다.Examples include mesh encoding, file/segment encapsulation, file/segment decapsulation, mesh decoding, etc.

도16은 실시예들에 따른 비디오 기반 다이나믹 메쉬 코딩 비트스트림 구조를 나타낸다.Figure 16 illustrates a video-based dynamic mesh coding bitstream structure according to embodiments.

도16은 도15 등에서 부호화된 메쉬 데이터를 포함하는 비트스트림 구조 예시를 나타낸다.Figure 16 shows an example of a bitstream structure including mesh data encoded in Figure 15, etc.

비트스트림의 시퀀스 헤더는 디코더 구성 정보를 포함할 수 있다. 비트스트림의 부호화된 베이스 메쉬는 입력된 메쉬 파일을 인코딩함으로써 생성된다. 인코딩 방식은 엣지브레이커 혹은 드라코 등을 포함할 수 있다. 비트스트림의 부호화된 디스플레이스먼트(변위 정보 혹은 지오메트리 등으로 지칭 가능함)는 베이스 메쉬를 핏팅하고 서브디비전한 뒤 복원된 서브디비전 메쉬 사이에 정점 간 차이 정보를 의미한다. 정점 간 차이 정보를 2D 이미지로 패킹하고, 패킹된 이미지를 비디오 방식에 기초하여 부호화함으로써 생성된다. 비디오 방식은 HEVC 등을 포함할 수 있다. 혹은 패킹된 이미지를 아리스메틱 코딩 방식에 기초하여 부호화함으로서 디스플레이먼트가 생성될 수 있다. 비트스트림의 부호화된 어트리뷰트(혹은 텍스쳐)는 입력된 어트리뷰트 맵(예: PNG 이미지)를 이용하여 복원된 서브 디비전 메쉬의 어트리뷰트(텍스쳐, 2D)의 좌표에 매칭되는 새로운 2D 어트리뷰트(컬러 정보, PNG이미지)를 생성하고 부호화함으로써 생성된다. 부호화 방식은 HEVC 등을 포함할 수 있다. The sequence header of the bitstream may include decoder configuration information. The encoded base mesh of the bitstream is generated by encoding the input mesh file. The encoding method may include Edgebreaker or Draco, etc. The encoded displacement (which may be referred to as displacement information or geometry, etc.) of the bitstream means the difference information between vertices between the reconstructed subdivision meshes after fitting and subdividing the base mesh. It is generated by packing the difference information between vertices into a 2D image and encoding the packed image based on a video method. The video method may include HEVC, etc. Or, the displacement may be generated by encoding the packed image based on an arithmetic coding method. The encoded attribute (or texture) of the bitstream is generated by generating and encoding a new 2D attribute (color information, PNG image) that matches the coordinates of the attribute (texture, 2D) of the reconstructed subdivision mesh using the input attribute map (e.g., PNG image). Encoding methods may include HEVC, etc.

실시예들에 따른 비트스트림은 비디오 기반 다이나믹 메쉬 인코딩의 결과물로 나오는 비트스트림일 수 있다. 비트스트림에는 전술한 바와 같이, 베이스 메쉬 데이터, 변위 데이터, 텍스쳐 혹은 어트리뷰트 데이터가 각각 부호화되어 포함될 수 있다. The bitstream according to the embodiments may be a bitstream resulting from video-based dynamic mesh encoding. As described above, the bitstream may include base mesh data, displacement data, texture or attribute data, each encoded.

실시예들에 따른 비트스트림은 도16b와 같이 생성될 수 있다. 비트스트림은 샘플 스트림 헤더 및 샘플 스트림 유닛을 포함할 수 있다. 유닛은 DMC 단위일 수 있다. 헤더 및 유닛은 각각 샘플 스트림 DMC헤더, 샘플 스트림 DMC 유닛 등으로 지칭할 수 있다.A bitstream according to the embodiments may be generated as shown in Fig. 16b. The bitstream may include a sample stream header and a sample stream unit. The unit may be a DMC unit. The header and the unit may be referred to as a sample stream DMC header, a sample stream DMC unit, etc., respectively.

실시예들에 따른 샘플 스트림 DMC 유닛은 다음과 같은 정보를 포함한다.The sample stream DMC unit according to the embodiments contains the following information:

VPS(V-DMC Parameter Set): 메쉬 인코딩/디코딩과 관련된 디코더 구성 정보와 시퀀스 더 등과 같은 파라미터 세트 정보들이 포함될 수 있다.VPS (V-DMC Parameter Set): May include parameter set information such as decoder configuration information related to mesh encoding/decoding and sequence number.

AD(Atlas Data): 3D 오브젝트에 대한 2D 매핑 내지 텍스쳐 매핑 관련 정보들이 포함될 수 있다.AD (Atlas Data): May contain information related to 2D mapping or texture mapping for 3D objects.

BMD(Base Mesh Data): 메쉬 코딩/디코딩을 위한 부호화된 베이스 메쉬 정보이다.BMD (Base Mesh Data): Encoded base mesh information for mesh coding/decoding.

DD(Displacements Data): 아리스메틱 코딩으로 부호화된 디스플레이스먼트 정보이다. 단, 로스리스(lossless)인코딩의 경우 디스플레이스먼트 데이터는 포함되지 않을 수 있다.DD(Displacements Data): Displacement information encoded using arithmetic coding. However, in case of lossless encoding, displacement data may not be included.

GVD(Displacements Video Data): 비디오 코덱으로 부호화된 디스플레이스먼트 정보이다.GVD(Displacements Video Data): Displacement information encoded with a video codec.

AVD(Attribute Video Data): 비디오 코덱으로 부호화된 어트리뷰트 혹은 텍스쳐 정보이다.AVD (Attribute Video Data): Attribute or texture information encoded with a video codec.

V-DMC 비트스트림의 포맷은 하기와 같은 샘플 스트림 DMC 헤더와 샘플 스트림 DMC 유닛의 신택스와 세만틱스로 정의하여 구성할 수 있다.The format of a V-DMC bitstream can be defined by the syntax and semantics of the sample stream DMC header and the sample stream DMC unit as follows.

샘플 스트림 데이터 신택스와 세만틱스는 V-DMC 표준에서 참조하고 있는 ISO/IEC 23090-5 즉, V3C 코덱 표준에서 정의된 샘플 스트림 형식일 수 있다. 또한, V-DMC 혹은 V3C 코덱에서 새롭게 정의하는 비트스트림 형식에 기반하여 유연하게 구현될 수 있다.The sample stream data syntax and semantics can be the sample stream format defined in the V3C codec standard, i.e., ISO/IEC 23090-5, which is referenced in the V-DMC standard. In addition, it can be flexibly implemented based on a bitstream format newly defined in the V-DMC or V3C codec.

샘플 스트림 DMC 헤더의 신택스는 다음과 같다.The syntax of the sample stream DMC header is as follows:

sample_stream_dmc_header() { sample_stream_dmc_header() { DescriptorDescriptor sdmh_unit_size_precision_bytes_minus1sdmh_unit_size_precision_bytes_minus1 u(3)u(3) sdmh_reserved_zero_5bitssdmh_reserved_zero_5bits u(5)u(5) }}

샘플 스트림 헤더 프리시전(sdmh_unit_size_precision_bytes_minus1): 이 값에 1을 더한 값은 모든 샘플 스트림 DMC 단위에서 sdmu_dmc_unit_size 요소의 정밀도(바이트)를 나타낸다. sdmh_unit_size_precision_bytes_minus1의 범위는 0~7이다.Sample Stream Header Precision (sdmh_unit_size_precision_bytes_minus1): This value plus 1 represents the precision (in bytes) of sdmu_dmc_unit_size elements in every sample stream DMC unit. The range for sdmh_unit_size_precision_bytes_minus1 is 0 to 7.

샘플 스트림 DMC 유닛의 신택스는 다음과 같다. 각 샘플 스트림 DMC 단위에는 VPS, AD, BMD, DD, GVD 및 AVD 중 한 가지 유형의 DMC 유닛이 포함된다. 각 샘플 스트림 DMC 유닛의 콘텐츠는 샘플 스트림 DMC 유닛에 포함된 DMC 유닛과 동일한 액세스 유닛과 연관된다.The syntax of a sample stream DMC unit is as follows. Each sample stream DMC unit contains one type of DMC unit among VPS, AD, BMD, DD, GVD, and AVD. The contents of each sample stream DMC unit are associated with the same access unit as the DMC unit contained in the sample stream DMC unit.

sample_stream_dmc_unit() {sample_stream_dmc_unit() { DescriptorDescriptor sdmu_dmc_unit_sizesdmu_dmc_unit_size u(v)u(v) dmc_unit(sdmu_dmc_unit_size )dmc_unit(sdmu_dmc_unit_size ) }}

샘플 스트림 유닛 사이즈(sdmu_dmc_unit_size)는 후속 dmc_unit의 크기(바이트)를 나타낸다. sdmu_dmc_unit_size를 표현하는 데 사용되는 비트 개수는 (sdmh_unit_size_precision_bytes_minus1 + 1) * 8와 같다.The sample stream unit size (sdmu_dmc_unit_size) represents the size (in bytes) of the subsequent dmc_unit. The number of bits used to express sdmu_dmc_unit_size is equal to (sdmh_unit_size_precision_bytes_minus1 + 1) * 8.

DMC 유닛(dmc_unit)은 유닛 헤더와 유닛 페이로드를 포함할 수 있다. 유닛 헤더는 유닛 페이로드에 대한 타입 정보가 포함될 수 있다. 유닛 페이로드는 해당 타입의 데이터가 포함될 수 있다.A DMC unit (dmc_unit) may contain a unit header and a unit payload. The unit header may contain type information about the unit payload. The unit payload may contain data of that type.

DMC 유닛(dmc_unit) 데이터 신택스와 세만틱스는 V-DMC 표준에서 참조하고 있는 ISO/IEC 23090-5 즉, V3C 코덱 스펙에서 사용하는 V3C유닛(v3c_unit)의 형식일 수 있다. 또한 V-DMC 혹은 V3C 코덱에서 새롭게 정의하는 비트스트림 형식에 기반하여 유연하게 구현될 수 있다.DMC unit (dmc_unit) data syntax and semantics can be in the format of V3C unit (v3c_unit) used in the V3C codec specification, i.e. ISO/IEC 23090-5, which is referenced in the V-DMC standard. It can also be flexibly implemented based on a bitstream format newly defined in V-DMC or V3C codec.

샘플 스트림 DMC 헤더 및/또는 셈플 스트림 DMC 유닛에 포함된 공통 데이터 구조는 다음과 같다.Common data structures contained in the Sample Stream DMC Header and/or Sample Stream DMC Unit are as follows:

DMC 디코더 구성 정보(DMC decoder configuration record):DMC decoder configuration record:

디코더 구성 정보는 메쉬 기반 포인트 클라우드 콘텐츠에 대한 디코더 구성 정보를 포함한다. 이 디코더 구성 정보는 버전 필드를 포함한다. 디코더 구성 정보는 버전 1을 정의할 수 있다. 디코더 구성 정보에 대한 호환되지 않는 변경 사항은 버전 번호 변경으로 표시된다. 이 레코드에 대한 호환 가능한 확장은 이를 확장하며 구성 버전 코드를 변경하지 않는다. Decoder configuration information contains decoder configuration information for mesh-based point cloud content. This decoder configuration information contains a version field. The decoder configuration information can define version 1. Incompatible changes to the decoder configuration information are indicated by a change in the version number. Compatible extensions to this record extend it and do not change the configuration version code.

DMC 디코더 구성 정보의 신택스는 다음과 같다.The syntax of the DMC decoder configuration information is as follows.

aligned(8) class DMCDecoderConfigurationRecord {aligned(8) class DMCDecoderConfigurationRecord {

unsigned int(8) configurationVersion = 1; unsigned int(8) configurationVersion = 1;

unsigned int(8) num_of_setup_units; unsigned int(8) num_of_setup_units;

for (i=0; I < num_of_setup_units; i++) { for (i=0; I < num_of_setup_units; i++) {

unsigned int(1) array_completeness; unsigned int(1) array_completeness;

unsigned int(7) setup_unit_type; / VPS, SPS, FPS, GPS, APS 등 unsigned int(7) setup_unit_type; / VPS, SPS, FPS, GPS, APS, etc.

SetupUnit setup_unit; }SetupUnit setup_unit; }

/ additional fields/ additional fields

}}

셋업 유닛(setup_unit): V3C 파라미터 세트를 포함한다. 셋업 유닛은 관련 날 유닛 타입(nal_unit_type)에 따른 NAL 단위를 포함한다. setup_unit에 있는 경우 NAL_PREFIX_ESEI, NAL_PREFIX_NSEI, NAL_SUFFIX_ESEI 또는 NAL_SUFFIX_NSEI의 SEI 메시지, 즉 스트림 전체에 대한 정보를 제공하는 SEI 메시지가 포함된다.Setup unit ( setup_unit ): Contains a set of V3C parameters. A setup unit contains NAL units according to their associated nal unit type ( nal_unit_type ). If present in the setup_unit , it contains SEI messages of type NAL_PREFIX_ESEI , NAL_PREFIX_NSEI , NAL_SUFFIX_ESEI , or NAL_SUFFIX_NSEI , i.e. SEI messages that provide information about the stream as a whole.

setup_unit 배열은 디코더 구성 기록이 존재하는 샘플 항목에 의해 참조되는 CVS에 대해 상수인 아틀라스 하위 비트스트림 매개변수 세트와 아틀라스 하위 비트스트림 SEI 메시지를 포함한다.The setup_unit array contains a set of atlas sub-bitstream parameters and atlas sub-bitstream SEI messages that are constants for the CVS referenced by the sample entry for which a decoder configuration record exists.

DMC 디코더 구성 정보의 세만틱스는 다음과 같다.The semantics of the DMC decoder configuration information are as follows.

구성정보(ConfigurationVersion)는 버전 필드이다. 레코드에 대한 호환되지 않는 변경 사항은 버전 번호 변경으로 표시된다.ConfigurationVersion is a version field. Incompatible changes to a record are indicated by a change in the version number.

셋업 유닛 개수(num_of_setup_units)는 디코더 구성 레코드의 DMC 구성 유닛 개수를 나타낸다.The number of setup units (num_of_setup_units) indicates the number of DMC configuration units in the decoder configuration record.

어레이 완전성(array_completeness)이 1이면 해당 유형의 모든 구성 유닛이 다음 배열에 있고 스트림에는 없음을 나타낸다. 이 값이 0과 같으면 표시된 유형의 추가 구성 유닛이 스트림에 있을 수 있음을 나타낸다. 기본값과 허용되는 값은 샘플 항목 이름에 의해 제한된다.An array completeness of 1 indicates that all the constituent units of the indicated type are in the following array and none are in the stream. A value of 0 indicates that additional constituent units of the indicated type may be in the stream. The default and allowed values are restricted by the sample item name.

셋업 유닛 타입(setup_unit_type)은 DMC 관련 파라미터 세트 타입을 나타낸다. 이 파라미터 세트 타입은 V-DMC 사양에서 정의하는 파라미터 세트 타입에 기반한 정보들일 수 있다.The setup unit type (setup_unit_type) indicates the DMC-related parameter set type. This parameter set type can be information based on the parameter set type defined in the V-DMC specification.

셋업 유닛(SetupUnit)은 VPS(V-DMC Parameter Set), SPS(Sequence Parameter Set), FPS(Frame Parameter Set), DPS(n Parameter Set), GPS(Geometry Parameter Set), BPS(베이스메쉬 파라미터 세트), 및/또는 APS(속성 매개변수 세트)를 포함하고, 이 파라미터 세트는 V-DMC 표준에서 정의하는 파라미터 세트에 기반한 정보들일 수 있다.A SetupUnit contains a VPS (V-DMC Parameter Set), a SPS (Sequence Parameter Set), a FPS (Frame Parameter Set), a DPS (n Parameter Set), a GPS (Geometry Parameter Set), a BPS (Base Mesh Parameter Set), and/or an APS (Attribute Parameter Set), and the parameter sets may be information based on parameter sets defined in the V-DMC standard.

BPS(베이스메쉬 파라미터 세트)는 하기와 같은 엘리먼트들을 포함할 수 있다.A BPS (BaseMesh Parameter Set) can contain the following elements:

시퀀스 파라미터 세트 아이디(bmsps_sequence_parameter_set_id)는 다른 구문 요소에서 참조할 수 있도록 베이스메시 시퀀스 매개변수 세트에 대한 식별자를 나타낸다.The sequence parameter set ID (bmsps_sequence_parameter_set_id) represents an identifier for a BaseMesh sequence parameter set so that it can be referenced from other syntax elements.

인트라 메쉬 코덱 아이디(bmsps_intra_mesh_codec_id)는 정적 메쉬를 압축하는 데 사용되는 코덱의 식별자를 나타다. bmsps_intra_mesh_codec_id는 0부터 255까지의 범위에 있다. 이 코덱은 ISO/IEC 23090-29에 정의된 프로필, 구성 요소 코덱 매핑 SEI 메시지 또는 이 문서 외부의 수단을 통해 식별될 수 있다. 해당 사양에 지정된 프로파일을 통해 특정 메시 또는 모션 메시 코덱과 연관될 수도 있고, 비디오 하위 비트스트림에 대한 V3C 사양에서 수행되는 것처럼 SEI 메시지로 명시적으로 표시될 수 있다.The intra-mesh codec ID (bmsps_intra_mesh_codec_id) indicates the identifier of the codec used to compress the static mesh. bmsps_intra_mesh_codec_id is in the range 0 to 255. The codec may be identified by a profile defined in ISO/IEC 23090-29, a component codec mapping SEI message, or means external to this document. It may also be associated with a particular mesh or motion mesh codec via a profile specified in that specification, or it may be explicitly indicated in an SEI message, as is done in the V3C specification for video sub-bitstreams.

bmsps_inter_mesh_codec_id는 모션 데이터를 압축하는데 사용되는 코덱의 식별자를 나타낸다. bmsps_intr_mesh_codec_id는 0부터 255까지의 범위에 있다. 이 코덱은 ISO/IEC 23090-29에 정의된 프로필, 구성 요소 코덱 매핑 SEI 메시지 또는 이 문서 외부의 수단을 통해 식별될 수 있다. 해당 사양에 지정된 프로파일을 통해 특정 메시 또는 모션 메시 코덱과 연관될 수도 있고, 비디오 하위 비트스트림에 대한 V3C 사양에서 수행되는 것처럼 SEI 메시지로 명시적으로 표시될 수 있다.bmsps_inter_mesh_codec_id indicates the identifier of the codec used to compress the motion data. bmsps_intr_mesh_codec_id is in the range 0 to 255. The codec may be identified by a profile defined in ISO/IEC 23090-29, a component codec mapping SEI message, or means external to this document. It may also be associated with a particular mesh or motion mesh codec via a profile specified in that specification, or it may be explicitly indicated in an SEI message, as is done in the V3C specification for video sub-bitstreams.

인터 메쉬 모션 그룹 사이즈(bmsps_inter_mesh_motion_group_size_minus1): 이 값에 1을 더하면, 모션 벡터 코딩에서 정점 그룹화의 크기를 나타낸다. bmsps_inter_mesh_motion_group_size_minus1의 범위는 0~255이다.Inter-mesh motion group size (bmsps_inter_mesh_motion_group_size_minus1): Adding 1 to this value indicates the size of vertex grouping in motion vector coding. The range of bmsps_inter_mesh_motion_group_size_minus1 is 0 to 255.

인터 메쉬 최대 이웃 개수(bmsps_inter_mesh_max_num_neighbours_minus1): 이 값에 1을 더하면, 모션 벡터 예측기 계산에 사용할 정점 이웃의 최대 개수를 나타낸다. bmsps_inter_mesh_max_num_neighbours_minus1의 범위는 0~255이다.Inter-mesh maximum number of neighbors (bmsps_inter_mesh_max_num_neighbours_minus1): Adding 1 to this value indicates the maximum number of vertex neighbors to use for calculating the motion vector estimator. The range of bmsps_inter_mesh_max_num_neighbours_minus1 is 0 to 255.

지오메트리 길이(bmsps_geometry_3d_bit_length_minus1): 이 값에 1을 더하면, 재구성된 메쉬의 지오메트리 좌표의 비트 깊이를 나타낸다. Geometry length (bmsps_geometry_3d_bit_length_minus1): Adding 1 to this value indicates the bit depth of the geometry coordinates of the reconstructed mesh.

페이스그룹 세그멘테이션 방법(bmsps_facegroup_segmentation_method)은 메시에서 페이스그룹 ID를 도출하는 방법의 식별자를 나타낸다.The facegroup segmentation method (bmsps_facegroup_segmentation_method) indicates the identifier of the method for deriving facegroup IDs from a mesh.

메쉬 어트리뷰트 카운트(bmsps_mesh_attribute_count)는 메쉬와 연관된 속성의 개수를 나타낸다.Mesh attribute count (bmsps_mesh_attribute_count) indicates the number of attributes associated with the mesh.

메쉬 어트리뷰트 타입 아이디(bmsps_mesh_attribute_type_id[ i ])는 메쉬에 대한 인덱스 i를 갖는 속성의 속성 타입을 나타낸다. 타입은 텍스쳐, 머터리얼ID, 리플렉턴스, 노멀, 페이스그룹ID 등을 포함한다.Mesh attribute type ID (bmsps_mesh_attribute_type_id[ i ]) indicates the attribute type of the attribute with index i for the mesh. Types include texture, materialID, reflectance, normal, facegroupID, etc.

어트리뷰트 비트 길이(bmsps_attribute_bit_length_minus1[ i ]): 이 값에 1을 더하면, 메시에 대한 인덱스 i가 있는 속성의 비트 깊이를 나타낸다. Attribute bit length (bmsps_attribute_bit_length_minus1[ i ]): Adding 1 to this value indicates the bit depth of the attribute with index i for the mesh.

bmsps_log2_max_mesh_frame_order_cnt_lsb_minus4 + 4는 아틀라스 프레임 순서 수에 대한 디코딩 프로세스에 사용되는 Log2MaxMeshFrmOrderCntLsb 및 MaxMeshFrmOrderCntLsb 변수의 값을 다음과 같이 나타낸다:bmsps_log2_max_mesh_frame_order_cnt_lsb_minus4 + 4 represents the values of the Log2MaxMeshFrmOrderCntLsb and MaxMeshFrmOrderCntLsb variables used in the decoding process for the atlas frame order number:

Log2MaxMeshFrmOrderCntLsb = Log2MaxMeshFrmOrderCntLsb =

bmsps_log2_max_mesh_frame_order_cnt_lsb_minus4 + 4 bmsps_log2_max_mesh_frame_order_cnt_lsb_minus4 + 4

MaxMeshFrmOrderCntLsb = 2Log2MaxMeshFrmOrderCntLsb MaxMeshFrmOrderCntLsb = 2Log2MaxMeshFrmOrderCntLsb

bmsps_max_dec_mesh_frame_buffering_minus1 + 1은 CAS에 대해 디코딩된 아틀라스 프레임 버퍼의 최대 필수 크기를 아틀라스 프레임 저장 버퍼 단위로 나타낸다. bmsps_max_dec_mesh_frame_buffering_minus1 + 1 represents the maximum required size of the decoded atlas frame buffer for CAS in atlas frame storage buffer units.

bmsps_long_term_ref_mesh_frames_flag가 0이면 CAS에서 코딩된 아틀라스 프레임의 인터 예측에 장기 참조 아틀라스 프레임이 사용되지 않음을 나타낸다. bmsps_long_term_ref_mesh_frames_flag가 1이면 장기 참조 아틀라스 프레임이 CAS에서 하나 이상의 코딩된 아틀라스 프레임의 인터 예측에 사용될 수 있음을 나타낸다.If bmsps_long_term_ref_mesh_frames_flag is 0, it indicates that long-term reference atlas frames are not used for inter prediction of coded atlas frames in CAS. If bmsps_long_term_ref_mesh_frames_flag is 1, it indicates that long-term reference atlas frames may be used for inter prediction of one or more coded atlas frames in CAS.

bmsps_num_ref_mesh_frame_lists_in_bmsps는 아틀라스 시퀀스 매개변수 세트에 포함된 bmesh_ref_list_struct( rlsIdx ) 구문 구조의 개수를 나타낸다. bmsps_num_ref_mesh_frame_lists_in_bmsps indicates the number of bmesh_ref_list_struct( rlsIdx ) syntax structures included in the atlas sequence parameter set.

디코더는 현재 아틀라스 타일의 아틀라스 타일 헤더에 직접적으로 신호를 보내는 하나의 bmesh_ref_list_struct(rlsIdx) 구문 구조가 있을 수 있으므로 (bmsps_num_ref_mesh_frame_lists_in_bmsps + 1)과 동일한 bmesh_ref_list_struct( rlsIdx ) 구문 구조의 총 수에 대해 메모리를 할당한다.The decoder can have one bmesh_ref_list_struct(rlsIdx) syntax structure that directly signals the atlas tile header of the current atlas tile, so it allocates memory for a total number of bmesh_ref_list_struct( rlsIdx ) syntax structures equal to (bmsps_num_ref_mesh_frame_lists_in_bmsps + 1).

BPS는 bmesh_profile_tier_level( )를 더 포함한다. bmesh_profile_tier_level( )는 다음 엘리먼트를 더 포함한다.BPS further contains bmesh_profile_tier_level( ). bmesh_profile_tier_level( ) further contains the following elements:

bmptl_tier_flag는 ISO/IEC 23090-29에 지정된 bmptl_level_idc 해석을 위한 계층 컨텍스트를 나타낸다.bmptl_tier_flag indicates the hierarchy context for interpretation of bmptl_level_idc as specified in ISO/IEC 23090-29.

bmptl_profile_codec_group_idc는 ISO/IEC 23090-29에 지정된 대로 CVS가 준수하는 코덱 그룹 프로필 구성 요소를 나타낸다. bmptl_profile_codec_group_idc indicates a codec group profile component that the CVS complies with as specified in ISO/IEC 23090-29.

bmptl_profile_toolset_idc는 ISO/IEC 23090-29에 지정된 대로 CVS가 준수하는 도구 세트 조합 프로파일 구성요소를 나타낸다. bmptl_profile_toolset_idc represents a toolset combination profile component that CVS complies with as specified in ISO/IEC 23090-29.

bmptl_profile_reconstruction_idc는 ISO/IEC 23090-29에 지정된 대로 CVS가 준수하도록 권장되는 재구성 프로파일 구성요소를 나타낸다. bmptl_profile_reconstruction_idc represents the reconstruction profile component that CVS is recommended to comply with as specified in ISO/IEC 23090-29.

bmptl_level_idc는 ISO/IEC 23090-29에 명시된 대로 CVS가 준수하는 수준을 나타낸다. bmptl_level_idc indicates the level to which the CVS complies as specified in ISO/IEC 23090-29.

bmptl_num_sub_profiles는 bmptl_sub_profile_idc[ i ] 구문 요소의 수를 나타낸다.bmptl_num_sub_profiles represents the number of bmptl_sub_profile_idc[ i ] syntax elements.

bmptl_extended_sub_profile_flag가 1이면 bmptl_sub_profile_idc[ i ] 구문 요소가 존재하는 경우 64비트를 사용하여 표현되어야 함을 나타낸다. bmptl_extended_sub_profile_flag가 0이면 bmptl_sub_profile_idc[ i ] 구문 요소(있는 경우)가 32비트를 사용하여 표현되어야 함을 나타낸다.If bmptl_extended_sub_profile_flag is 1, it indicates that the bmptl_sub_profile_idc[ i ] syntax element, if present, should be represented using 64 bits. If bmptl_extended_sub_profile_flag is 0, it indicates that the bmptl_sub_profile_idc[ i ] syntax element, if present, should be represented using 32 bits.

bmptl_sub_profile_idc[ i ]는 Rec.에 지정된 대로 등록된 i번째 상호 운용성 메타데이터를 나타낸다. bmptl_sub_profile_idc[ i ] represents the ith interoperability metadata registered as specified in Rec.

bmptl_toolset_constraints_present_flag가 1이면 추가 구조 profile_toolset_constraints_information()이 비트스트림에 존재함을 나타낸다. bmptl_toolset_constraints_present_flag가 0이면 profile_toolset_constraints_information() 구조가 존재하지 않음을 나타낸다.If bmptl_toolset_constraints_present_flag is 1, it indicates that the additional structure profile_toolset_constraints_information() is present in the bitstream. If bmptl_toolset_constraints_present_flag is 0, it indicates that the profile_toolset_constraints_information() structure is not present.

BPS의 bmesh_profile_tier_level( )는 bmesh_profile_toolset_constraints_information를 더 포함한다. bmesh_profile_toolset_constraints_information는 다음 엘리먼트를 더 포함한다.The bmesh_profile_tier_level( ) of BPS further contains bmesh_profile_toolset_constraints_information. bmesh_profile_toolset_constraints_information further contains the following elements:

bmptc_one_mesh_frame_only_flag가 존재할 경우 ISO/IEC 23090-29에 지정된 의미 체계를 가진다. 1인 bmptc_intra_frames_only_flag는 비트스트림이 sdu_intra_sub_mesh_unit()만을 포함함을 나타낸다. When bmptc_one_mesh_frame_only_flag is present, it has the semantics specified in ISO/IEC 23090-29. A bmptc_intra_frames_only_flag of 1 indicates that the bitstream contains only sdu_intra_sub_mesh_unit().

셋업 유닛은 베이스 프레임 파라미터를 더 포함할 수 있다. 베이스 프레임 파라미터는 다음 엘리먼트를 포함한다.The setup unit may further include a base frame parameter. The base frame parameter includes the following elements:

bfps_mesh_sequence_parameter_set_id는 활성 basemesh 시퀀스 매개변수 세트에 대한 bmsps_sequence_parameter_set_id 값을 나타낸다.bfps_mesh_sequence_parameter_set_id indicates the bmsps_sequence_parameter_set_id value for the active basemesh sequence parameter set.

bfps_mesh_parameter_set_id는 다른 구문 요소에서 참조하기 위해 설정된 basemesh 프레임 매개변수를 나타낸다.bfps_mesh_parameter_set_id indicates the basemesh frame parameters set for reference in other syntax elements.

bfps_output_flag_present_flag가 1이면 smh_output_flag 구문 요소가 관련 서브메시 헤더에 존재함을 나타낸다. bfps_output_flag_present_flag가 0이면 smh_output_flag 구문 요소가 연관된 서브메시 헤더에 존재하지 않음을 나타낸다.If bfps_output_flag_present_flag is 1, it indicates that the smh_output_flag syntax element is present in the associated submesh header. If bfps_output_flag_present_flag is 0, it indicates that the smh_output_flag syntax element is not present in the associated submesh header.

bfps_num_ref_idx_default_active_minus1 + 1은 smh_num_ref_idx_active_override_flag가 0인 타일에 대해 변수 NumRefIdxActive의 유추된 값을 나타낸다. bfps_num_ref_idx_default_active_minus1 + 1 represents the inferred value of variable NumRefIdxActive for tiles with smh_num_ref_idx_active_override_flag equal to 0.

bfps_additional_lt_mfoc_lsb_len은 참조 아틀라스 프레임 목록에 대한 디코딩 프로세스에 사용되는 MaxLtMeshFrmOrderCntLsb 변수의 값을 다음과 같이 나타낸다.bfps_additional_lt_mfoc_lsb_len indicates the value of the MaxLtMeshFrmOrderCntLsb variable used in the decoding process for the reference atlas frame list.

MaxLtMeshFrmOrderCntLsb =MaxLtMeshFrmOrderCntLsb =

2 * ( Log2MaxMeshFrmOrderCntLsb + bfps_additional_lt_mfoc_lsb_len) 2 * (Log2MaxMeshFrmOrderCntLsb + bfps_additional_lt_mfoc_lsb_len)

bfps_extension_present_flag가 1이면 구문 요소 bfps_extension_8bits가 basemesh 프레임 매개변수 세트에 존재함을 나타낸다. bfps_extension_present_flag가 0이면 구문 요소 bfps_extension_8bits가 존재하지 않음을 나타낸다. If bfps_extension_present_flag is 1, it indicates that the syntax element bfps_extension_8bits is present in the basemesh frame parameter set. If bfps_extension_present_flag is 0, it indicates that the syntax element bfps_extension_8bits is not present.

bfps_extension_8bits가 0이면 AFPS RBSP 구문 구조에 bfps_extension_data_flag 구문 요소가 없음을 나타낸다. If bfps_extension_8bits is 0, it indicates that there is no bfps_extension_data_flag syntax element in the AFPS RBSP syntax structure.

또한, 비트스트림은 아리스메틱 부호화된 변위 정보에 관한 파라미터를 더 포함할 수 있다. 변위 정보에 관한 파라미터는 날 유닛으로 비트스트림에 포함될 수 있다. 변위 정보에 관한 파라미터는 변위 정보에 관한 파라미터 세트, 변위 정보의 프로파일, 변위 정보에 관한 프레임 파라미터 등을 더 포함할 수 있다.In addition, the bitstream may further include parameters relating to arithmetic-encoded displacement information. The parameters relating to the displacement information may be included in the bitstream as raw units. The parameters relating to the displacement information may further include a parameter set relating to the displacement information, a profile of the displacement information, a frame parameter relating to the displacement information, etc.

DMC 디코더 구성 박스:DMC Decoder Configuration Box:

DMC 디코더 구성 박스는 DMCDecoderConfigurationRecord를 포함한다. The DMC Decoder Configuration box contains a DMCDecoderConfigurationRecord.

DMC 디코더 구성 박스의 신택스는 다음과 같다.The syntax of the DMC decoder configuration box is as follows:

class DMCConfigurationBox extends FullBox('dmcC', version = 0, 0) {class DMCConfigurationBox extends FullBox('dmcC', version = 0, 0) {

DMCDecoderConfigurationRecord(); DMCDecoderConfigurationRecord();

}}

DMC 디코더 구성 박스의 세만틱스는 전술한 DMCDecoderConfigurationRecord와 같다.The semantics of the DMC decoder configuration box are the same as the DMCDecoderConfigurationRecord described above.

실시예들에 따른 부호화된 비트스트림은 싱글 트랙으로 인캡슐레이션되어 송수신될 수 있다. Encoded bitstreams according to the embodiments can be transmitted and received encapsulated in a single track.

싱글 트랙 인캡슐레이션(Single Track Encapsulation):Single Track Encapsulation:

싱글 트랙의 V-DMC 비트스트림 샘플 엔트리는 다음과 같다.A V-DMC bitstream sample entry for a single track is as follows:

Sample Entry Type: 'dme1', 'dmeg'Sample Entry Type: 'dme1', 'dmeg'

Container: SampleDescriptionBoxContainer: SampleDescriptionBox

Mandatory: A 'dme1' or 'dmeg' sample entry is mandatoryMandatory: A 'dme1' or 'dmeg' sample entry is mandatory

Quantity: One or moreQuantity: One or more

실시예들에 따른 송신 장치는 V-DMC 비트스트림을 싱글 트랙으로 인캡슐레이션할 수 있다. V-DMC 비트스트림 트랙의 샘플 엔트리는 DMCConfigurationBox 정보를 포함할 수 있다. 샘플 엔트리 타입이 'dme1'인 경우 관련된 모든 파라미터 세트들은 DMCConfigurationBox의 셋업 유닛(setup_unit)에 포함될 수 있다. 샘플 엔트리 타입이 'dmeg'인 경우 관련된 모든 파라미터 세트들은 DMCConfigurationBox의 셋업 유닛(setup_unit)에 포함될 수 있고, 및/또는 DMC 비트스트림 트랙의 샘플에 포함될 수 있다.A transmitting device according to embodiments may encapsulate a V-DMC bitstream into a single track. A sample entry of a V-DMC bitstream track may include DMCConfigurationBox information. If a sample entry type is 'dme1', all related parameter sets may be included in a setup unit (setup_unit) of the DMCConfigurationBox. If a sample entry type is 'dmeg', all related parameter sets may be included in the setup unit (setup_unit) of the DMCConfigurationBox, and/or may be included in a sample of a DMC bitstream track.

싱글 트랙의 V-DMC 비트스트림 샘플 엔트리의 신택스는 다음과 같다.The syntax of a V-DMC bitstream sample entry for a single track is as follows:

aligned(8) class DMCBitstreamSampleEntry() extends VolumetricVisualSampleEntry (type) {aligned(8) class DMCBitstreamSampleEntry() extends VolumetricVisualSampleEntry (type) {

/ type is 'dme1' or 'dmeg'/ type is 'dme1' or 'dmeg'

DMCConfigurationBox config;DMCConfigurationBox config;

}}

싱글 트랙의 V-DMC 비트스트림 샘플 포맷(V-DMC bitstream track sample format)은 다음과 같다.The V-DMC bitstream track sample format for a single track is as follows:

정의:definition:

V-DMC 비트스트림 샘플은 동일한 프리젠테이션 시간에 속하는 하나 이상의 DMC 유닛, 즉 하나의 V-DMC 구성 유닛을 포함해야 한다. 샘플은 자체 포함(예: 동기화 샘플)되거나 V-DMC 비트스트림 트랙의 다른 샘플에 따라 디코딩 방식으로 종속될 수 있다.A V-DMC bitstream sample must contain one or more DMC units belonging to the same presentation time, i.e., a V-DMC constituent unit. A sample may be self-contained (e.g., a synchronization sample) or may be decoded dependent on other samples in the V-DMC bitstream track.

실시예들에 따른 V-DMC 비트스트림 트랙 샘플은 V-DMC 표준문서에서 참조하는 샘플 스트림 형식의 V-DMC 비트스트림 데이터를 포함하도록 기술하고 있으나, 샘플 스트림 형식 외에 정의되는 형식의 V-DMC 비트스트림 데이터를 포함할 수도 있다.A V-DMC bitstream track sample according to the embodiments is described to include V-DMC bitstream data in a sample stream format referenced in the V-DMC standard document, but may also include V-DMC bitstream data in a format defined other than the sample stream format.

싱글 트랙의 V-DMC 비트스트림 샘플 신택스는 다음과 같다.The V-DMC bitstream sample syntax for a single track is as follows:

aligned(8) class DMCBitstreamSample {aligned(8) class DMCBitstreamSample {

/ sample_size size of sample from SampleSizeBox/ sample_size size of sample from SampleSizeBox

for (int i = 0; i < sample_size; ) {for (int i = 0; i < sample_size; ) {

sample_stream_dmc_unit ss_dmc_unit; sample_stream_dmc_unit ss_dmc_unit;

i += ss_dmc_unit.sdmu_dmc_unit_size; i += ss_dmc_unit.sdmu_dmc_unit_size;

}}

}}

싱글 트랙의 V-DMC 비트스트림 샘플 세만틱스는 다음과 같다.The V-DMC bitstream sample semantics of a single track are as follows:

DMC유닛(ss_dmc_unit)에는 V-DMC 사양에 정의된 DMC 유닛 샘플 스트림 포맷의 싱글 DMC 유닛이 포함되어 있다.The DMC unit (ss_dmc_unit) contains a single DMC unit in the DMC unit sample stream format defined in the V-DMC specification.

DMC유닛 사이즈(sdmu_dmc_unit_size)는 샘플 스트림 DMC 유닛의 크기(바이트)를 나타낸다.DMC unit size (sdmu_dmc_unit_size) indicates the size (in bytes) of the sample stream DMC unit.

도17은 실시예들에 따른 메쉬 데이터 수신 장치를 나타낸다.Fig. 17 illustrates a mesh data receiving device according to embodiments.

디코더 구성 및 트랙 파싱에 대한 수신기 관점의 흐름도는 하기와 같을 수 있다.A flow diagram from the receiver perspective for decoder configuration and track parsing might look like this:

파일 리시버(File Receiver): 스트리밍 등과 같은 파일 전달 방식을 통해 수신기는 싱글 트랙 파일 형식으로 인캡슐레이션된 V-DMC 비트스트림을 전체 혹은 세그먼트 단위로 나누어 수신할 수 있다.File Receiver: The receiver can receive the V-DMC bitstream encapsulated in a single track file format, either in its entirety or in segments, via a file delivery method such as streaming.

파일 파서(File Parser): 수신된 파일의 트랙(들)을 찾아내고, 각 트랙의 샘플 엔트리를 파싱할 수 있다. 이 때, 샘플 엔트리 타입을 'dme1' 혹은 'dmeg'와 같은 타입으로 구분하여 어떤 형태의 트랙인지를 알아낼 수 있다. 또한, 샘플 엔트리 에 포함된 수신기 초기화 정보 즉, 디코더 구성(decoder configuration) 정보를 파싱하여, 수신기는 디코딩에 관련된 파라미터 세트들을 이용하여 디코딩 준비를 마칠 수 있다.File Parser: It can find the track(s) of the received file and parse the sample entry of each track. At this time, the sample entry type can be distinguished as 'dme1' or 'dmeg' to find out what type of track it is. In addition, by parsing the receiver initialization information included in the sample entry, i.e., decoder configuration information, the receiver can prepare for decoding using parameter sets related to decoding.

또한, 샘플 엔트리에 포함된 샘플에 관한 정보 즉, 샘플 크기, 샘플 오프셋 등과 같은 정보를 파싱하여 샘플에 포함된 데이터를 수집할 수 있다.Additionally, data contained in a sample can be collected by parsing information about the sample contained in the sample entry, such as sample size, sample offset, etc.

비트스트림 패키저(Bitstream Packager): 전술한 바와 같이 수집된 데이터를 도16과 같이 V-DMC 비트스트림 구조 실시 예와 같은 형태로 패키징할 수 있다.Bitstream Packager: As described above, the collected data can be packaged in a form similar to the V-DMC bitstream structure embodiment as shown in FIG. 16.

디코더(V-DMC Decoder): V-DMC 비트스트림 구조와 형태로 패키징된 비트스트림 파일을 디코딩할 수 있다.Decoder (V-DMC Decoder): Can decode bitstream files packaged in the V-DMC bitstream structure and format.

도18은 실시예들에 따른 메쉬 데이터 부호화 방법을 나타낸다.Figure 18 shows a mesh data encoding method according to embodiments.

실시예들에 따른 메쉬 데이터 부호화 방법은 메쉬 데이터를 부호화하는 단계(S1800); 메쉬 데이터를 파일로 인캡슐레이션하는 단계(S1810); 파일을 전송하는 단계(S1820); 를 포함할 수 있다.A mesh data encoding method according to embodiments may include a step of encoding mesh data (S1800); a step of encapsulating mesh data into a file (S1810); and a step of transmitting the file (S1820).

메쉬 데이터 및 메쉬 데이터에 관한 파라미터 정보를 포함하는 비트스트림이 파일의 싱글 트랙으로 인캡슐레이팅될 수 있다.A bitstream containing mesh data and parameter information about the mesh data can be encapsulated into a single track of a file.

비트스트림은 샘플 스트림 헤더 및 하나 또는 하나 이상의 샘플 스트림 유닛들 포함하고,A bitstream contains a sample stream header and one or more sample stream units,

샘플 스트림 헤더는 하나 또는 하나 이상의 샘플 스트림 유닛들에 관한 정보를 포함하고,The sample stream header contains information about one or more sample stream units,

하나 또는 하나 이상의 샘플 스트림 유닛들은 상기 메쉬 데이터에 관한 아틀라스 데이터, 베이스 메쉬에 관한 정보, 아리스메틱 코딩에 기초하여 부호화된 변위 정보, 비디오 코덱에 기초하여 부호호된 변위 정보, 비디오 코덱에 기초하여 부호화된 어트리뷰트 데이터 중 적어도 하나를 포함할 수 있다.One or more sample stream units may include at least one of atlas data about the mesh data, information about a base mesh, displacement information encoded based on arithmetic coding, displacement information encoded based on a video codec, and attribute data encoded based on a video codec.

파일은 메쉬 데이터 및 메쉬 데이터에 관한 파라미터 정보를 포함하는 비트스트림을 싱글 트랙에 기초하여 포함하고, 싱글 트랙의 샘플 엔트리는 디코더 구성 정보를 포함하고, 디코더 구성 정보는 셋업 유닛들의 개수를 나타내는 정보, 셋업 유닛들에 관한 타입을 나타내는 정보, 또는 셋업 유닛 중 적어도 하나를 포함하고, 셋업 유닛은 메쉬 데이터에 관한 파라미터 세트를 포함할 수 있다.The file comprises a bitstream based on a single track including mesh data and parameter information about the mesh data, a sample entry of the single track including decoder configuration information, the decoder configuration information including information indicating a number of setup units, information indicating a type of the setup units, or at least one of the setup units, and the setup unit may include a parameter set about the mesh data.

셋업 유닛의 파라미터 세트는 VPS(V-DMC파라미터 세트), SPS(시퀀스 파라미터 세트), FPS(프레임 파라미터 세트), DPS(디스플레이스먼트 파라미터 세트), GPS(지오메트리 파라미터 세트), BPS(베이스메쉬 파라미터 세트), 또는 APS(어트리뷰트 파라미터 세트) 중 적어도 하나를 포함할 수 있다.A parameter set of a setup unit can include at least one of a VPS (V-DMC parameter set), a SPS (sequence parameter set), a FPS (frame parameter set), a DPS (displacement parameter set), a GPS (geometry parameter set), a BPS (basemesh parameter set), or an APS (attribute parameter set).

파일은 메쉬 데이터 및 메쉬 데이터에 관한 파라미터 정보를 포함하는 비트스트림을 싱글 트랙에 기초하여 포함하고, 싱글 트랙의 샘플은 메쉬 데이터에 관한 파라미터 정보를 포함할 수 있다.The file comprises a bitstream based on a single track, which includes mesh data and parameter information about the mesh data, and samples of the single track can include parameter information about the mesh data.

싱글 트랙의 샘플은 구성 시간(composition time)에 속하는 하나 또는 하나 이상의 DMC(Dynamic Mesh Coding) 유닛들을 포함할 수 있다.A sample of a single track may contain one or more Dynamic Mesh Coding (DMC) units belonging to composition time.

메쉬 데이터 인코딩 장치는 메쉬 데이터를 부호화하는 인코더; 메쉬 데이터를 파일로 인캡슐레이션하는 파일 인캡슐레이터; 및 파일을 전송하는 전송부; 를 포함하고, 메쉬 데이터 및 메쉬 데이터에 관한 파라미터 정보를 포함하는 비트스트림이 파일의 싱글 트랙으로 인캡슐레이팅될 수 있다.A mesh data encoding device includes an encoder for encoding mesh data; a file encapsulator for encapsulating mesh data into a file; and a transmission unit for transmitting the file; wherein a bitstream including mesh data and parameter information about the mesh data can be encapsulated into a single track of the file.

도19는 실시예들에 따른 메쉬 데이터 복호화 방법을 나타낸다.Figure 19 shows a mesh data decryption method according to embodiments.

실시예들에 따른 메쉬 데이터 복호화 방법은 메쉬 데이터를 포함하는 파일을 수신하는 단계(S1900); 파일을 디캡슐레이팅하는 단계(S1910); 메쉬 데이터를 복호화하는 단계(S1920)를 포함할 수 있다.A method for decrypting mesh data according to embodiments may include a step of receiving a file including mesh data (S1900); a step of decapsulating the file (S1910); and a step of decrypting the mesh data (S1920).

도1, 도15, 도19 등을 참조하면, 메쉬 데이터 디코딩 방법은 메쉬 데이터를 포함하는 파일을 수신하는 단계; 파일을 디캡슐레이팅하는 단계; 및 메쉬 데이터를 복호화하는 단계; 를 포함하고, 파일은 메쉬 데이터 및 메쉬 데이터에 관한 파라미터 정보를 포함하는 비트스트림을 포함할 수 있다.Referring to FIGS. 1, 15, and 19, a method for decoding mesh data includes the steps of: receiving a file including mesh data; decapsulating the file; and decoding the mesh data; and the file may include a bitstream including mesh data and parameter information about the mesh data.

도16b를 참조하면, 비트스트림은 샘플 스트림 헤더 및 하나 또는 하나 이상의 샘플 스트림 유닛들 포함하고, 샘플 스트림 헤더는 하나 또는 하나 이상의 샘플 스트림 유닛들에 관한 정보를 포함하고, 하나 또는 하나 이상의 샘플 스트림 유닛들은 메쉬 데이터에 관한 아틀라스 데이터, 베이스 메쉬에 관한 정보, 아리스메틱 코딩에 기초하여 부호화된 변위 정보, 비디오 코덱에 기초하여 부호호된 변위 정보, 비디오 코덱에 기초하여 부호화된 어트리뷰트 데이터 중 적어도 하나를 포함할 수 있다.Referring to FIG. 16b, a bitstream includes a sample stream header and one or more sample stream units, the sample stream header includes information about the one or more sample stream units, and the one or more sample stream units may include at least one of atlas data about mesh data, information about a base mesh, displacement information encoded based on arithmetic coding, displacement information encoded based on a video codec, and attribute data encoded based on a video codec.

파일은 싱글 트랙으로 생성될 수 있고, 싱글 트랙의 샘플 엔트리 타입이 특정값(dme1)인 경우, 파일은 상기 메쉬 데이터 및 메쉬 데이터에 관한 파라미터 정보를 포함하는 비트스트림을 싱글 트랙에 기초하여 포함하고, 싱글 트랙의 샘플 엔트리는 디코더 구성 정보를 포함하고, 디코더 구성 정보는 셋업 유닛들의 개수를 나타내는 정보, 셋업 유닛들에 관한 타입을 나타내는 정보, 또는 셋업 유닛 중 적어도 하나를 포함하고, 셋업 유닛은 상기 메쉬 데이터에 관한 파라미터 세트를 포함할 수 있다.The file can be generated as a single track, and when a sample entry type of the single track is a specific value (dme1), the file includes a bitstream including the mesh data and parameter information about the mesh data based on the single track, the sample entry of the single track includes decoder configuration information, and the decoder configuration information includes at least one of information indicating a number of setup units, information indicating a type of the setup units, or a setup unit, and the setup unit can include a parameter set about the mesh data.

V-DMC 셋업 유닛 관련하여, 셋업 유닛의 파라미터 세트는 VPS(V-DMC파라미터 세트), SPS(시퀀스 파라미터 세트), FPS(프레임 파라미터 세트), DPS(디스플레이스먼트 파라미터 세트), GPS(지오메트리 파라미터 세트), BPS(베이스메쉬 파라미터 세트), 또는 APS(어트리뷰트 파라미터 세트) 중 적어도 하나를 포함할 수 있다.With respect to a V-DMC setup unit, a parameter set of the setup unit may include at least one of a VPS (V-DMC parameter set), an SPS (sequence parameter set), an FPS (frame parameter set), a DPS (displacement parameter set), a GPS (geometry parameter set), a BPS (basemesh parameter set), or an APS (attribute parameter set).

파일은 싱글 트랙으로 생성될 수 있고, 싱글 트랙의 샘플 엔트리 타입이 특정값(dmeg)인 경우, 파일은 상기 메쉬 데이터 및 상기 메쉬 데이터에 관한 파라미터 정보를 포함하는 비트스트림을 싱글 트랙에 기초하여 포함하고, 싱글 트랙의 샘플은 상기 메쉬 데이터에 관한 파라미터 정보를 포함할 수 있다.A file can be generated as a single track, and if a sample entry type of the single track is a specific value (dmeg), the file includes a bitstream including the mesh data and parameter information about the mesh data based on the single track, and a sample of the single track can include parameter information about the mesh data.

V-DMC 비트스트림 트랙 샘플 포맷 관련하여, 싱글 트랙의 샘플은 구성 시간에 속하는 하나 또는 하나 이상의 DMC(Dynamic Mesh Coding) 유닛들을 포함할 수 있다.With respect to the V-DMC bitstream track sample format, a sample of a single track may contain one or more DMC (Dynamic Mesh Coding) units belonging to a composition time.

샘플 엔트리는 메쉬 데이터에 관한 파라미터 정보가 셋업 유닛에 포함되는지를 나타내는 제1타입 또는 상기 메쉬 데이터에 관한 파라미터 정보가 샘플에 포함되는지를 나타내는 제2타입 중 적어도 하나의 타입 정보를 가질 수 있다.A sample entry may have at least one type of information among a first type indicating whether parameter information about mesh data is included in a setup unit or a second type indicating whether parameter information about the mesh data is included in a sample.

도17을 참조하면, 메쉬 데이터 디코딩 장치는 메쉬 데이터를 포함하는 파일을 수신하는 수신부; 파일을 디캡슐레이팅하는 파일 디캡슐레이터; 및 메쉬 데이터를 복호화하는 디코더; 를 포함하고, 파일은 메쉬 데이터 및 메쉬 데이터에 관한 파라미터 정보를 포함하는 비트스트림을 포함할 수 있다.Referring to FIG. 17, a mesh data decoding device includes a receiving unit that receives a file including mesh data; a file decapsulator that decapsulates the file; and a decoder that decodes the mesh data; and the file may include a bitstream including mesh data and parameter information about the mesh data.

실시예들은 다음과 같은 효과를 제공한다.The examples provide the following effects:

메쉬 콘텐츠 서비스 제공을 위한 송신기 또는 수신기는 V-DMC 비트 스트림을 구성하고 파일을 저장하고 전송할 수 있다. 송신기 또는 수신기는 V-DMC 비트스트림을 파일 내 하나의 트랙으로 저장 기법 및 시그널링을 통해 V-DMC 비트스트림의 파일을 효율적으로 저장하고 전송할 수 있다.A transmitter or receiver for providing mesh content services can construct a V-DMC bit stream and store and transmit a file. The transmitter or receiver can efficiently store and transmit a file of a V-DMC bit stream through a storage technique and signaling of the V-DMC bit stream as one track in a file.

실시예들은 방법 및/또는 장치 관점에서 설명되었으며, 방법의 설명 및 장치의 설명은 상호 보완하여 적용될 수 있다.The embodiments have been described in terms of methods and/or devices, and the descriptions of methods and devices may be applied complementarily.

설명의 편의를 위하여 각 도면을 나누어 설명하였으나, 각 도면에 서술되어 있는 실시 예들을 병합하여 새로운 실시 예를 구현하도록 설계하는 것도 가능하다. 그리고, 통상의 기술자의 필요에 따라, 이전에 설명된 실시 예들을 실행하기 위한 프로그램이 기록되어 있는 컴퓨터에서 판독 가능한 기록 매체를 설계하는 것도 실시예들의 권리범위에 속한다. 실시예들에 따른 장치 및 방법은 상술한 바와 같이 설명된 실시 예들의 구성과 방법이 한정되게 적용될 수 있는 것이 아니라, 실시 예들은 다양한 변형이 이루어질 수 있도록 각 실시 예들의 전부 또는 일부가 선택적으로 조합되어 구성될 수도 있다. 실시예들의 바람직한 실시 예에 대하여 도시하고 설명하였지만, 실시예들은 상술한 특정의 실시 예에 한정되지 아니하며, 청구범위에서 청구하는 실시예들의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 실시예들의 기술적 사상이나 전망으로부터 개별적으로 이해돼서는 안 될 것이다.For the convenience of explanation, each drawing has been described separately, but it is also possible to design a new embodiment by combining the embodiments described in each drawing. In addition, designing a computer-readable recording medium in which a program for executing the previously described embodiments is recorded according to the needs of a person skilled in the art also falls within the scope of the embodiments. The devices and methods according to the embodiments are not limited to the configurations and methods of the embodiments described above, but the embodiments may be configured by selectively combining all or part of the embodiments so that various modifications can be made. Although the preferred embodiments of the embodiments have been illustrated and described, the embodiments are not limited to the specific embodiments described above, and various modifications can be made by a person skilled in the art without departing from the gist of the embodiments claimed in the claims, and such modifications should not be individually understood from the technical idea or prospect of the embodiments.

실시예들의 장치의 다양한 구성요소들은 하드웨어, 소프트웨어, 펌웨어 또는 그것들의 조합에 의해 수행될 수 있다. 실시예들의 다양한 구성요소들은 하나의 칩, 예를 들면 하나의 하드웨어 서킷으로 구현될 수 있다 실시예들에 따라, 실시예들에 따른 구성요소들은 각각 별도의 칩들로 구현될 수 있다. 실시예들에 따라, 실시예들에 따른 장치의 구성요소들 중 적어도 하나 이상은 하나 또는 그 이상의 프로그램들을 실행 할 수 있는 하나 또는 그 이상의 프로세서들로 구성될 수 있으며, 하나 또는 그 이상의 프로그램들은 실시예들에 따른 동작/방법들 중 어느 하나 또는 그 이상의 동작/방법들을 수행시키거나, 수행시키기 위한 인스트럭션들을 포함할 수 있다. 실시예들에 따른 장치의 방법/동작들을 수행하기 위한 실행 가능한 인스트럭션들은 하나 또는 그 이상의 프로세서들에 의해 실행되기 위해 구성된 일시적이지 않은 CRM 또는 다른 컴퓨터 프로그램 제품들에 저장될 수 있거나, 하나 또는 그 이상의 프로세서들에 의해 실행되기 위해 구성된 일시적인 CRM 또는 다른 컴퓨터 프로그램 제품들에 저장될 수 있다. 또한 실시예들에 따른 메모리는 휘발성 메모리(예를 들면 RAM 등)뿐 만 아니라 비휘발성 메모리, 플래쉬 메모리, PROM등을 전부 포함하는 개념으로 사용될 수 있다. 또한, 인터넷을 통한 전송 등과 같은 캐리어 웨이브의 형태로 구현되는 것도 포함될 수 있다. 또한, 프로세서가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 프로세서가 읽을 수 있는 코드가 저장되고 실행될 수 있다.The various components of the device of the embodiments may be performed by hardware, software, firmware, or a combination thereof. The various components of the embodiments may be implemented as one chip, for example, one hardware circuit. According to embodiments, the components according to the embodiments may be implemented as separate chips, respectively. According to embodiments, at least one of the components of the device of the embodiments may be configured with one or more processors capable of executing one or more programs, and the one or more programs may perform, or include instructions for performing, one or more of the operations/methods according to the embodiments. The executable instructions for performing the methods/operations of the device of the embodiments may be stored in non-transitory CRMs or other computer program products configured to be executed by one or more processors, or may be stored in temporary CRMs or other computer program products configured to be executed by one or more processors. In addition, the memory according to the embodiments may be used as a concept including not only volatile memory (e.g., RAM, etc.), but also non-volatile memory, flash memory, PROM, etc. Additionally, it may include implementations in the form of carrier waves, such as transmission over the Internet. Additionally, the processor-readable recording medium may be distributed over network-connected computer systems, so that the processor-readable code may be stored and executed in a distributed manner.

이 문서에서 “/”와 “,”는 “및/또는”으로 해석된다. 예를 들어, “A/B”는 “A 및/또는 B”로 해석되고, “A, B”는 “A 및/또는 B”로 해석된다. 추가적으로, “A/B/C”는 “A, B 및/또는 C 중 적어도 하나”를 의미한다. 또한, “A, B, C”도 “A, B 및/또는 C 중 적어도 하나”를 의미한다. 추가적으로, 이 문서에서 “또는”는 “및/또는”으로 해석된다. 예를 들어, “A 또는 B”은, 1) “A” 만을 의미하고, 2) “B” 만을 의미하거나, 3) “A 및 B”를 의미할 수 있다. 달리 표현하면, 본 문서의 “또는”은 “추가적으로 또는 대체적으로(additionally or alternatively)”를 의미할 수 있다. In this document, “/” and “,” are interpreted as “and/or”. For example, “A/B” is interpreted as “A and/or B”, and “A, B” is interpreted as “A and/or B”. Additionally, “A/B/C” means “at least one of A, B, and/or C”. Also, “A, B, C” means “at least one of A, B, and/or C”. Additionally, “or” in this document is interpreted as “and/or”. For example, “A or B” can mean 1) “A” only, 2) “B” only, or 3) “A and B”. In other words, “or” in this document can mean “additionally or alternatively”.

제1, 제2 등과 같은 용어는 실시예들의 다양한 구성요소들을 설명하기 위해 사용될 수 있다. 하지만 실시예들에 따른 다양한 구성요소들은 위 용어들에 의해 해석이 제한되어서는 안된다. 이러한 용어는 하나의 구성요소를 다른 구성요소와 구별하기 위해 사욛외는 것에 불과하다. 것에 불과하다. 예를 들어, 제1 사용자 인풋 시그널은 제2사용자 인풋 시그널로 지칭될 수 있다. 이와 유사하게, 제2사용자 인풋 시그널은 제1사용자 인풋시그널로 지칭될 수 있다. 이러한 용어의 사용은 다양한 실시예들의 범위 내에서 벗어나지 않는 것으로 해석되어야만 한다. 제1사용자 인풋 시그널 및 제2사용자 인풋 시그널은 모두 사용자 인풋 시그널들이지만, 문맥 상 명확하게 나타내지 않는 한 동일한 사용자 인풋 시그널들을 의미하지 않는다.Terms such as first, second, etc. may be used to describe various components of the embodiments. However, the various components according to the embodiments should not be limited in their interpretation by the above terms. These terms are merely used to distinguish one component from another. For example, a first user input signal may be referred to as a second user input signal. Similarly, a second user input signal may be referred to as a first user input signal. The use of these terms should be construed as not departing from the scope of the various embodiments. Although the first user input signal and the second user input signal are both user input signals, they do not mean the same user input signals unless the context clearly indicates otherwise.

실시예들을 설명하기 위해 사용된 용어는 특정 실시예들을 설명하기 위한 목적으로 사용되고, 실시예들을 제한하기 위해서 의도되지 않는다. 실시예들의 설명 및 청구항에서 사용된 바와 같이, 문맥 상 명확하게 지칭하지 않는 한 단수는 복수를 포함하는 것으로 의도된다. 및/또는 표현은 용어 간의 모든 가능한 결합을 포함하는 의미로 사용된다. 포함한다 표현은 특징들, 수들, 단계들, 엘리먼트들, 및/또는 컴포넌트들이 존재하는 것을 설명하고, 추가적인 특징들, 수들, 단계들, 엘리먼트들, 및/또는 컴포넌트들을 포함하지 않는 것을 의미하지 않는다. 실시예들을 설명하기 위해 사용되는, ~인 경우, ~때 등의 조건 표현은 선택적인 경우로만 제한 해석되지 않는다. 특정 조건을 만족하는 때, 특정 조건에 대응하여 관련 동작을 수행하거나, 관련 정의가 해석되도록 의도되었다.The terminology used to describe the embodiments is used for the purpose of describing particular embodiments and is not intended to be limiting of the embodiments. As used in the description of the embodiments and in the claims, the singular is intended to include the plural unless the context clearly dictates otherwise. The expressions “and” and “or” are used to mean including all possible combinations of the terms. The expression “includes” describes the presence of features, numbers, steps, elements, and/or components, and does not mean that additional features, numbers, steps, elements, and/or components are not included. Conditional expressions such as “if,” “when,” etc., used to describe the embodiments are not intended to be limited to only optional cases. When a particular condition is satisfied, a related action is performed in response to a particular condition, or a related definition is intended to be interpreted.

또한, 본 문서에서 설명하는 실시예들에 따른 동작은 실시예들에 따라서 메모리 및/또는 프로세서를 포함하는 송수신 장치에 의해 수행될 수 있다. 메모리는 실시예들에 따른 동작을 처리/제어하기 위한 프로그램들을 저장할 수 있고, 프로세서는 본 문서에서 설명한 다양한 동작을 제어할 수 있다. 프로세서는 컨트롤러 등으로 지칭가능하다. 실시예들에 동작들은 펌웨어, 소프트웨어, 및/또는 그것들의 조합에 의해 수행될 수 있고, 펌웨어, 소프트웨어, 및/또는 그것들의 조합은 프로세서에 저장되거나 메모리에 저장될 수 있다.In addition, the operations according to the embodiments described in this document may be performed by a transceiver device including a memory and/or a processor according to the embodiments. The memory may store programs for processing/controlling the operations according to the embodiments, and the processor may control various operations described in this document. The processor may be referred to as a controller, etc. The operations according to the embodiments may be performed by firmware, software, and/or a combination thereof, and the firmware, software, and/or a combination thereof may be stored in the processor or in the memory.

한편, 상술한 실시예들에 따른 동작은 실시예들 따른 송신 장치 및/또는 수신 장치에 의해서 수행될 수 있다. 송수신 장치는 미디어 데이터를 송수신하는 송수신부, 실시예들에 따른 프로세스에 대한 인스트럭션(프로그램 코드, 알고리즘, flowchart 및/또는 데이터)을 저장하는 메모리, 송/수신 장치의 동작들을 제어하는 프로세서를 포함할 수 있다.Meanwhile, the operations according to the embodiments described above may be performed by a transmitting device and/or a receiving device according to the embodiments. The transmitting/receiving device may include a transmitting/receiving unit for transmitting and receiving media data, a memory for storing instructions (program codes, algorithms, flowcharts, and/or data) for a process according to the embodiments, and a processor for controlling operations of the transmitting/receiving device.

프로세서는 컨트롤러 등으로 지칭될 수 있고, 예를 들어, 하드웨어, 소프트웨어, 및/또는 그것들의 조합에 대응할 수 있다. 상술한 실시예들에 따른 동작은 프로세서에 의해 수행될 수 있다. 또한, 프로세서는 상술한 실시예들의 동작을 위한 인코더/디코더 등으로 구현될 수 있다.The processor may be referred to as a controller, etc., and may correspond to, for example, hardware, software, and/or a combination thereof. The operations according to the embodiments described above may be performed by the processor. In addition, the processor may be implemented as an encoder/decoder, etc. for the operations of the embodiments described above.

상술한 바와 같이, 실시예들을 실시하기 위한 최선의 형태에서 관련 내용을 설명하였다.As described above, the relevant contents have been described in the best form for carrying out the embodiments.

상술한 바와 같이, 실시예들은 포인트 클라우드 데이터 송수신 장치 및 시스템에 전체적 또는 부분적으로 적용될 수 있다.As described above, the embodiments can be applied in whole or in part to a point cloud data transmission and reception device and system.

당업자는 실시예들의 범위 내에서 실시예들을 다양하게 변경 또는 변형할 수 있다.Those skilled in the art may make various changes or modifications to the embodiments within the scope of the embodiments.

실시예들은 변경/변형들을 포함할 수 있고, 변경/변형은 청구항들 및 그 와 동일한 것들의 범위를 벗어나지 않는다.Embodiments may include modifications/changes, which do not depart from the scope of the claims and their equivalents.

Claims (15)

메쉬 데이터를 포함하는 파일을 수신하는 단계; A step of receiving a file containing mesh data; 상기 파일을 디캡슐레이팅하는 단계; 및a step of decapsulating the above file; and 상기 메쉬 데이터를 복호화하는 단계; 를 포함하고,A step of decrypting the above mesh data; comprising: 상기 파일은 상기 메쉬 데이터 및 상기 메쉬 데이터에 관한 파라미터 정보를 포함하는 비트스트림을 포함하는,The above file includes a bitstream including the mesh data and parameter information about the mesh data. 메쉬 데이터 디코딩 방법.How to decode mesh data. 제1항에 있어서,In the first paragraph, 상기 비트스트림은 샘플 스트림 헤더 및 하나 또는 하나 이상의 샘플 스트림 유닛들 포함하고,The above bitstream includes a sample stream header and one or more sample stream units, 상기 샘플 스트림 헤더는 상기 하나 또는 하나 이상의 샘플 스트림 유닛들에 관한 정보를 포함하고,The above sample stream header contains information about one or more sample stream units, 상기 하나 또는 하나 이상의 샘플 스트림 유닛들은 상기 메쉬 데이터에 관한 아틀라스 데이터, 베이스 메쉬에 관한 정보, 아리스메틱 코딩에 기초하여 부호화된 변위 정보, 비디오 코덱에 기초하여 부호호된 변위 정보, 비디오 코덱에 기초하여 부호화된 어트리뷰트 데이터 중 적어도 하나를 포함하는, The one or more sample stream units include at least one of atlas data about the mesh data, information about a base mesh, displacement information encoded based on arithmetic coding, displacement information encoded based on a video codec, and attribute data encoded based on a video codec. 메쉬 데이터 디코딩 방법.How to decode mesh data. 제1항에 있어서,In the first paragraph, 상기 파일은 상기 메쉬 데이터 및 상기 메쉬 데이터에 관한 파라미터 정보를 포함하는 비트스트림을 싱글 트랙에 기초하여 포함하고,The above file comprises a bitstream including the mesh data and parameter information about the mesh data based on a single track, 상기 싱글 트랙의 샘플 엔트리는 디코더 구성 정보를 포함하고,The sample entry of the above single track contains decoder configuration information, 상기 디코더 구성 정보는 셋업 유닛들의 개수를 나타내는 정보, 셋업 유닛들에 관한 타입을 나타내는 정보, 또는 셋업 유닛 중 적어도 하나를 포함하고,The above decoder configuration information includes information indicating the number of setup units, information indicating the type of the setup units, or at least one of the setup units. 상기 셋업 유닛은 상기 메쉬 데이터에 관한 파라미터 세트를 포함하는,The above setup unit comprises a set of parameters relating to the mesh data. 메쉬 데이터 디코딩 방법How to decode mesh data 제3항에 있어서,In the third paragraph, 상기 셋업 유닛의 파라미터 세트는 VPS(V-DMC파라미터 세트), SPS(시퀀스 파라미터 세트), FPS(프레임 파라미터 세트), DPS(디스플레이스먼트 파라미터 세트), GPS(지오메트리 파라미터 세트), 또는 APS(어트리뷰트 파라미터 세트) 중 적어도 하나를 포함하는,The parameter set of the above setup unit includes at least one of VPS (V-DMC parameter set), SPS (sequence parameter set), FPS (frame parameter set), DPS (displacement parameter set), GPS (geometry parameter set), or APS (attribute parameter set). 메쉬 데이터 디코딩 방법.How to decode mesh data. 제1항에 있어서,In the first paragraph, 상기 파일은 상기 메쉬 데이터 및 상기 메쉬 데이터에 관한 파라미터 정보를 포함하는 비트스트림을 싱글 트랙에 기초하여 포함하고,The above file comprises a bitstream including the mesh data and parameter information about the mesh data based on a single track, 상기 싱글 트랙의 샘플은 상기 메쉬 데이터에 관한 파라미터 정보를 포함하는,The sample of the above single track contains parameter information about the mesh data. 메쉬 데이터 디코딩 방법How to decode mesh data 제3항에 있어서,In the third paragraph, 상기 싱글 트랙의 샘플은 구성 시간에 속하는 하나 또는 하나 이상의 DMC(Dynamic Mesh Coding) 유닛들을 포함하는,The sample of the above single track includes one or more DMC (Dynamic Mesh Coding) units belonging to the composition time. 메쉬 데이터 디코딩 방법.How to decode mesh data. 제3항 또는 제5항에 있어서,In clause 3 or clause 5, 상기 샘플 엔트리는 상기 메쉬 데이터에 관한 파라미터 정보가 상기 셋업 유닛에 포함되는지를 나타내는 제1타입 또는 상기 메쉬 데이터에 관한 파라미터 정보가 상기 샘플에 포함되는지를 나타내는 제2타입 중 적어도 하나의 타입 정보를 가지는,The above sample entry has at least one type of information among a first type indicating whether parameter information about the mesh data is included in the setup unit or a second type indicating whether parameter information about the mesh data is included in the sample. 메쉬 데이터 디코딩 방법.How to decode mesh data. 메쉬 데이터를 포함하는 파일을 수신하는 수신부; A receiving unit for receiving a file containing mesh data; 상기 파일을 디캡슐레이팅하는 파일 디캡슐레이터; 및A file decapsulator for decapsulating the above file; and 상기 메쉬 데이터를 복호화하는 디코더; 를 포함하고,A decoder for decoding the above mesh data; 상기 파일은 상기 메쉬 데이터 및 상기 메쉬 데이터에 관한 파라미터 정보를 포함하는 비트스트림을 포함하는,The above file includes a bitstream including the mesh data and parameter information about the mesh data. 메쉬 데이터 디코딩 장치.Mesh data decoding device. 메쉬 데이터를 부호화하는 단계; Step of encoding mesh data; 상기 메쉬 데이터를 파일로 인캡슐레이션하는 단계; 및A step of encapsulating the above mesh data into a file; and 상기 파일을 전송하는 단계; 를 포함하고,comprising the steps of transmitting the above file; 상기 메쉬 데이터 및 상기 메쉬 데이터에 관한 파라미터 정보를 포함하는 비트스트림이 상기 파일의 싱글 트랙으로 인캡슐레이팅되는,wherein the bitstream including the mesh data and parameter information about the mesh data is encapsulated into a single track of the file. 메쉬 데이터 인코딩 방법.How to encode mesh data. 제9항에 있어서,In Article 9, 상기 비트스트림은 샘플 스트림 헤더 및 하나 또는 하나 이상의 샘플 스트림 유닛들 포함하고,The above bitstream includes a sample stream header and one or more sample stream units, 상기 샘플 스트림 헤더는 상기 하나 또는 하나 이상의 샘플 스트림 유닛들에 관한 정보를 포함하고,The above sample stream header contains information about one or more sample stream units, 상기 하나 또는 하나 이상의 샘플 스트림 유닛들은 상기 메쉬 데이터에 관한 아틀라스 데이터, 베이스 메쉬에 관한 정보, 아리스메틱 코딩에 기초하여 부호화된 변위 정보, 비디오 코덱에 기초하여 부호호된 변위 정보, 비디오 코덱에 기초하여 부호화된 어트리뷰트 데이터 중 적어도 하나를 포함하는, The one or more sample stream units include at least one of atlas data about the mesh data, information about a base mesh, displacement information encoded based on arithmetic coding, displacement information encoded based on a video codec, and attribute data encoded based on a video codec. 메쉬 데이터 인코딩 방법.How to encode mesh data. 제9항에 있어서,In Article 9, 상기 파일은 상기 메쉬 데이터 및 상기 메쉬 데이터에 관한 파라미터 정보를 포함하는 비트스트림을 싱글 트랙에 기초하여 포함하고,The above file comprises a bitstream including the mesh data and parameter information about the mesh data based on a single track, 상기 싱글 트랙의 샘플 엔트리는 디코더 구성 정보를 포함하고,The sample entry of the above single track contains decoder configuration information, 상기 디코더 구성 정보는 셋업 유닛들의 개수를 나타내는 정보, 셋업 유닛들에 관한 타입을 나타내는 정보, 또는 셋업 유닛 중 적어도 하나를 포함하고,The above decoder configuration information includes information indicating the number of setup units, information indicating the type of the setup units, or at least one of the setup units. 상기 셋업 유닛은 상기 메쉬 데이터에 관한 파라미터 세트를 포함하는,The above setup unit comprises a set of parameters relating to the mesh data. 메쉬 데이터 인코딩 방법How to encode mesh data 제11항에 있어서,In Article 11, 상기 셋업 유닛의 파라미터 세트는 VPS(V-DMC파라미터 세트), SPS(시퀀스 파라미터 세트), FPS(프레임 파라미터 세트), DPS(디스플레이스먼트 파라미터 세트), GPS(지오메트리 파라미터 세트), 또는 APS(어트리뷰트 파라미터 세트) 중 적어도 하나를 포함하는,The parameter set of the above setup unit includes at least one of VPS (V-DMC parameter set), SPS (sequence parameter set), FPS (frame parameter set), DPS (displacement parameter set), GPS (geometry parameter set), or APS (attribute parameter set). 메쉬 데이터 인코딩 방법.How to encode mesh data. 제9항에 있어서,In Article 9, 상기 파일은 상기 메쉬 데이터 및 상기 메쉬 데이터에 관한 파라미터 정보를 포함하는 비트스트림을 싱글 트랙에 기초하여 포함하고,The above file comprises a bitstream including the mesh data and parameter information about the mesh data based on a single track, 상기 싱글 트랙의 샘플은 상기 메쉬 데이터에 관한 파라미터 정보를 포함하는,The sample of the above single track contains parameter information about the mesh data. 메쉬 데이터 인코딩 방법How to encode mesh data 제11항에 있어서,In Article 11, 상기 싱글 트랙의 샘플은 구성 시간에 속하는 하나 또는 하나 이상의 DMC(Dynamic Mesh Coding) 유닛들을 포함하는,The sample of the above single track contains one or more DMC (Dynamic Mesh Coding) units belonging to the composition time. 메쉬 데이터 인코딩 방법.How to encode mesh data. 메쉬 데이터를 부호화하는 인코더; An encoder that encodes mesh data; 상기 메쉬 데이터를 파일로 인캡슐레이션하는 파일 인캡슐레이터; 및A file encapsulator that encapsulates the above mesh data into a file; and 상기 파일을 전송하는 전송부; 를 포함하고,A transmission unit for transmitting the above file; including; 상기 메쉬 데이터 및 상기 메쉬 데이터에 관한 파라미터 정보를 포함하는 비트스트림이 상기 파일의 싱글 트랙으로 인캡슐레이팅되는,wherein the bitstream including the mesh data and parameter information about the mesh data is encapsulated into a single track of the file. 메쉬 데이터 인코딩 장치.Mesh data encoding device.
PCT/KR2024/009351 2023-07-03 2024-07-03 Mesh data transmission device, mesh data transmission method, mesh data reception device, and mesh data reception method WO2025009868A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2023-0085452 2023-07-03
KR20230085452 2023-07-03

Publications (1)

Publication Number Publication Date
WO2025009868A1 true WO2025009868A1 (en) 2025-01-09

Family

ID=94172010

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2024/009351 WO2025009868A1 (en) 2023-07-03 2024-07-03 Mesh data transmission device, mesh data transmission method, mesh data reception device, and mesh data reception method

Country Status (1)

Country Link
WO (1) WO2025009868A1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210287431A1 (en) * 2020-03-15 2021-09-16 Intel Corporation Apparatus and method for displaced mesh compression
KR20220126225A (en) * 2021-03-08 2022-09-15 현대자동차주식회사 Method and Apparatus for Mesh Compression Using Point Cloud Coding
WO2023014086A1 (en) * 2021-08-03 2023-02-09 엘지전자 주식회사 3d data transmission device, 3d data transmission method, 3d data reception device, and 3d data reception method
WO2023058995A1 (en) * 2021-10-04 2023-04-13 엘지전자 주식회사 Transmission device of point cloud data and method performed by transmission device, and reception device of point cloud data and method performed by reception device

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210287431A1 (en) * 2020-03-15 2021-09-16 Intel Corporation Apparatus and method for displaced mesh compression
KR20220126225A (en) * 2021-03-08 2022-09-15 현대자동차주식회사 Method and Apparatus for Mesh Compression Using Point Cloud Coding
WO2023014086A1 (en) * 2021-08-03 2023-02-09 엘지전자 주식회사 3d data transmission device, 3d data transmission method, 3d data reception device, and 3d data reception method
WO2023058995A1 (en) * 2021-10-04 2023-04-13 엘지전자 주식회사 Transmission device of point cloud data and method performed by transmission device, and reception device of point cloud data and method performed by reception device

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
MAMMOU, KHALED ET AL.: "Video and Subdivision based Mesh Coding.", 2022 10TH EUROPEAN WORKSHOP ON VISUAL INFORMATION PROCESSING (EUVIP)., 14 September 2022 (2022-09-14), pages 1 - 6, XP034212156, DOI: 10.1109/EUVIP53989.2022.9922888 *

Similar Documents

Publication Publication Date Title
WO2020190114A1 (en) Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method
WO2021002657A1 (en) Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method
WO2020189895A1 (en) Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method
WO2021002633A2 (en) Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method
WO2020190093A1 (en) Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method
WO2021141208A1 (en) Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method
WO2021002730A1 (en) Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method
WO2020189903A1 (en) Point cloud data transmitting device, point cloud data transmitting method, point cloud data receiving device, and point cloud data receiving method
WO2021141258A1 (en) Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method
WO2020190090A1 (en) Point cloud data transmission device, point cloud data transmission method, point cloud data reception device and point cloud data reception method
WO2021206333A1 (en) Point cloud data transmission device, point cloud data transmission method, point cloud data reception device and point cloud data reception method
WO2021071257A1 (en) Point cloud data transmission device, point cloud data transmission method, point cloud data reception device and point cloud data reception method
WO2020189982A1 (en) Device and method for processing point cloud data
WO2021206365A1 (en) Point cloud data transmission device, point cloud data transmission method, point cloud data reception device and point cloud data reception method
WO2021002592A1 (en) Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method
WO2021261865A1 (en) Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method
WO2021210860A1 (en) Device for transmitting point cloud data, method for transmitting point cloud data, device for receiving point cloud data, and method for receiving point cloud data
WO2021261897A1 (en) Point cloud data transmission device, point cloud data transmission method, point cloud data reception device and point cloud data reception method
WO2019009473A1 (en) Area-based processing method and apparatus for 360-degree video
WO2020190097A1 (en) Point cloud data reception device, point cloud data reception method, point cloud data processing device and point cloud data processing method
WO2020189891A1 (en) Point cloud data transmission apparatus, point cloud data transmission method, point cloud data reception apparatus, and point cloud data reception method
WO2022050688A1 (en) Three-dimensional data transmission device, three-dimensional data transmission method, three-dimensional data reception device, and three-dimensional data reception method
WO2021206282A1 (en) Point cloud data transmission device, point cloud data transmission method, point cloud data reception device and point cloud data reception method
WO2024215096A1 (en) Mesh data transmission device, mesh data transmission method, mesh data reception device, and mesh data reception method
WO2021025392A1 (en) Point cloud data processing device and method