Mesh data encoding apparatus, mesh data encoding method, mesh data decoding apparatus, and mesh data decoding method

The method addresses the inefficiencies in transmitting and receiving point cloud data by using a mesh data encoding device and method, which efficiently encodes and decodes the data, reducing latency and complexity.

WO2025110497A1PCT designated stage expired Publication Date: 2025-05-30LG ELECTRONICS INC
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
PCT/KR2024/016156
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-08-30
Filing Date
2024-10-23
Publication Date
2025-05-30

AI Technical Summary

Technical Problem

The existing technologies face challenges in efficiently transmitting and receiving point cloud data due to the large number of points in 3D space, requiring significant processing and leading to latency and encoding/decoding complexity.

Method used

The proposed solution involves a method for encoding and decoding point cloud data using a mesh data encoding device and method, which includes steps such as receiving a file with a bitstream containing mesh data, decapsulating the file, and decoding the mesh data for efficient transmission and reception.

Benefits of technology

This approach enables efficient transmission and reception of point cloud data, reducing latency and complexity in encoding and decoding processes, thereby providing a high-quality point cloud service.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure KR2024016156_30052025_PF_FP_ABST
    Figure KR2024016156_30052025_PF_FP_ABST
Patent Text Reader

Abstract

A decoding method according to embodiments may comprise the steps of: receiving a file including a bitstream including mesh data; decapsulating the file; and decoding the mesh data. An encoding method according to embodiments may comprise the steps of: encoding mesh data; encapsulating a file including a bitstream including the mesh data; and transmitting the file.
Need to check novelty before this filing date? Find Prior Art

Description

Mesh data encoding device, mesh data encoding method, mesh data decoding device and mesh data decoding method 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. 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. 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. To achieve the above-described purpose and other advantages, a decoding method according to embodiments may include a step of receiving a file including a bitstream including mesh data; a step of decapsulating the file; and a step of decoding the mesh data. An encoding method according to embodiments may include a step of encoding the mesh data; a step of encapsulating a file including a bitstream including mesh data; and a step of transmitting 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. Figure 1 illustrates a system for providing dynamic mesh content according to embodiments. Figure 2 illustrates a V-MESH compression method according to embodiments. Figure 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 illustrates 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 V-DMC bitstream according to embodiments. Figure 16 illustrates a V3C unit according to embodiments. Figure 17 shows a mesh system according to embodiments. Figure 18 shows the tracks of a file according to embodiments. Figure 19 shows the tracks of a file according to embodiments. Fig. 20 illustrates a mesh data receiving device according to embodiments. Figure 21 shows an example of encoding sub-mesh data according to embodiments. Figure 22 shows an example of encoding sub-mesh data according to embodiments. Figure 23 shows the relationship between sub-mesh data and atlas tiles according to embodiments. Figure 24 shows a mesh data encoding method according to embodiments. Figure 25 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. 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. 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). The system of Fig. 1 can perform video-based dynamic mesh compression and decompression. 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. 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. 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. 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. 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. 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, 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 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. 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. 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. 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. 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 (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. 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. 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. 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. 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. The dynamic mesh video compression method described below is based on MPEG's V-Mesh method. In this document, 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). 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. 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. The encoding process of Fig. 1 is as follows. 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: 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. In the V-Mesh compression method, 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. 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. 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. Figure 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). Below, each step of Fig. 3 is described. 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: 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. 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: 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. Referring to Figure 4, an original mesh including four vertices is subdivided to generate a sub-mesh. A sub-mesh can be generated by generating a new vertex in the middle of an edge between vertices. 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. 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 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. The V-Mesh compression (decompression) method according to the embodiments may include intra frame encoding (Fig. 6) and inter frame encoding (Fig. 7). 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. 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. 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. 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). 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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 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. 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. Referring to Figure 10, the reference relationship between the input mesh, input attribute map, restored mesh, and generated attribute map can be seen. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. The encoding / decoding method according to the embodiments includes a partial access signaling scheme of a submesh-based dynamic mesh coding bitstream. For example, it includes a technique for storing and signaling a Video-based Dynamic Mesh Coding bitstream as multiple tracks within a file. Additionally, it includes a file encapsulation scheme when the Video-based Dynamic Mesh Coding bitstream consists of submeshes. Additionally, it includes a partial access signaling scheme for Video-based Dynamic Mesh Coding bitstreams. Embodiments include a transmitter (encoder) or receiver (decoder) for providing a mesh content service that efficiently stores V-DMC (video-based dynamic mesh coding) or mesh bitstreams in multiple tracks within a file and provides signaling therefor. Embodiments include a transmitter or receiver for providing mesh content services that handles file storage techniques to enable efficient access to V-DMC bitstreams stored in files. Although the embodiments are described in the V-DMC manner, the proposals according to the embodiments can be applied not only to video-based dynamic mesh coding but also to bitstreams using other mesh codings configured in the same manner or in a similar bitstream format. Embodiments include a method of signaling submesh related information to a sample entry and / or sample at the file level when the basemesh data of a V-DMC bitstream is composed of submeshes. A base mesh may contain one or more sub-meshes. A submesh is a set of vertices, connectivity, and related properties signaled in the basemesh sub-bitstream, and submeshes can be decoded completely independently. Each basemesh consists of one or more submeshes. If there are more than two submeshes, the V-DMC decoder has submesh identification by some means at the end of the basemesh decoder, because the tile header of the atlas data sub-bitstream requires an ID to find which submesh corresponds to which tile. The mesh data encoding method according to the embodiments can encapsulate mesh content encoded with V-DMC into multiple tracks based on an ISOBMFF file to provide a service such as streaming. If the basemesh data of a V-DMC bitstream is composed of submeshes, the receiver can decode each submesh unit sequentially or simultaneously in parallel. Also, partial access and decoding can be possible for each submesh unit. To this end, the embodiments include the following signaling information at the file level. For example, the file level signaling scheme for submesh information, a track grouping scheme between one or more submesh tracks, etc. can be included. Signaling submeshes within a bitstream at the file level improves the performance of mesh decoding in the decoder. V-DMC can be partially decoded in submesh units at the bitstream level. However, submeshes at the bitstream level can only be independently decodable and cannot become meaningful 3D objects. Therefore, in order to enable partial access in meaningful spatial region units at the file level, the encoding / decoding method according to the embodiments provides a spatial region signaling scheme and provides mapping signaling with one or more submeshes associated with each spatial region. For example, the encoding / decoding method according to the embodiments includes a signaling method for a spatial region for partial access and / or a signaling method for mapping information between a spatial region and a submesh. Figure 15 shows a V-DMC bitstream according to embodiments. The mesh encoding method according to the embodiments (Fig. 1, transmitting device (100), dynamic mesh video encoder (102), Fig. 2, pre-processing and encoding, Figs. 3 and 5, pre-processing, Figs. 6-7, pre-processing and encoding, Fig. 13, encoding and transmission, Fig. 17, pre-processing, encoding, file / segment encapsulation, Fig. 24, encoding method) can encode mesh data and generate a bitstream as shown in Fig. 15. The mesh decoding method according to the embodiments (Fig. 1 receiving device (110), dynamic mesh video decoder (113), Figs. 11-12 decoding, Fig. 14 receiving and decoding, Fig. 17 file / segment decapsulation, decoding, rendering, Fig. 20 receiving and decoding, Fig. 25 decoding method) can receive a bitstream as in Fig. 15 and decode mesh data based on parameter information included in the bitstream. Referring to Fig. 15(a), the bitstream may include a sequence header, an encoded base mesh, an encoded displacement, an encoded attribute (texture or attribute), etc. The sequence header may include decoder configuration information. The encoded base mesh includes an input mesh file. The encoded displacement, which is difference information between vertices of a fitted and subdivided base mesh and a restored sub mesh, may be data packed as a 2D image and encoded in a video codec manner. The encoded attribute may be data encoded in a video codec such as HEVC, such as an attribute (e.g., color) generated by matching the coordinates of the property (texture (2D)) of the restored base mesh using an input attribute map (e.g., PNG image). In other words, FIG. 15(a) may be an example of a bitstream format resulting from video-based dynamic mesh encoding. The bitstream may include a sequence header, compressed basemesh data, compressed displacement data, and compressed texture data. Basemesh data can be compressed with Edgebreaker or Draco tool. Displacement data can be compressed using a video codec such as HEVC or VVC or arithmetic coding. Texture / Attribute data can be compressed with video codecs such as HEVC, VVC, etc. Referring to Fig. 15(b), as a result of video-based dynamic mesh encoding, a bitstream according to embodiments may be composed of sample stream units. For example, the bitstream may include a sample stream DMC header and at least one sample stream DMC unit. The sample stream DMC unit may include parameter information, mesh data, etc. VPS (V-DMC Parameter Set): Decoder configuration information and / or parameter set information related to mesh encoding / decoding may be included. AD (Atlas Data): Information related to 2D mapping or texture mapping for a 3D object may be included. BMD (Base Mesh Data): Encoded base mesh information for mesh encoding / decoding. DD (Displacements Data): Displacement information encoded with arithmetic coding. GVD (Displacements Video Data): Displacement information encoded with a video codec. Displacement information may be referred to as geometry information, etc. AVD (Attribute Video Data): Attribute or texture information encoded with a video codec. Figure 16 illustrates a V3C unit according to embodiments. Specifically, FIG. 16 represents the header syntax of a V3C unit, which is a sample stream DMC unit (which may be referred to as a sample stream unit or a V3C unit) included in the bitstream of FIG. 15. The V3C unit, which is a data unit of the bitstream, includes a header (FIG. 16) and a payload. The unit type (vuh_unit_type) of the unit header can use values ​​from 0 to 6 to indicate unit types such as VPS, AD, OVD, GVD, AVD, PVD, PVD, CAD, etc. vuh_unit_typeIdentifierV3C unit typeDescription0V3C_VPSV3C parameter setV3C level parameters1V3C_ADAtlas dataAtlas information2V3C_OVDOccupancy video dataOccupancy information3V3C_GVDGeometry video dataGeometry information4V3C_AVDAttribute video dataAttribute information5V3C_PVDPacked video dataPacking information6V3C_CADCommon atlas dataInformation that is common for atlases in a CVS. Specified in ISO / IEC 23090-127...31V3C_RSVDReserved vuh_unit_type: Indicates the specified V3C unit type, as above. Values ​​marked as reserved are reserved for future use in ISO / IEC. vuh_v3c_parameter_set_id: Indicates the value of vps_v3c_parameter_set_id for the active V3C VPS. The value of vuh_v3c_parameter_set_id is in the range of 0 to 15. vuh_atlas_id: Indicates the ID of the atlas corresponding to the current V3C unit. The value of vuh_atlas_id is in the range of 0 to 63. vuh_attribute_index: Indicates the index of the attribute data included in the attribute video data unit. The value of vuh_attribute_index is in the range of 0 to (ai_attribute_count[vuh_atlas_id] - 1). vuh_attribute_partition_index: Indicates the index of the attribute dimension group included in the attribute video data unit. The value of vuh_attribute_partition_index is in the range of 0 to ai_attribute_dimension_partitions_minus1[vuh_atlas_id][vuh_attribute_index]. vuh_map_index: Indicates the map index of the current geometry or attribute stream. If absent, the map index of the current geometry or attribute sub-bitstream is derived based on the type of the sub-bitstream and certain operations on the geometry and attribute video sub-bitstreams. The value of vuh_map_index, if present, is in the range of 0 to vps_map_count_minus1[vuh_atlas_id]. vuh_auxiliary_video_flag: If 1, indicates that the associated geometry or attribute video data unit is a RAW and / or EOM coded point video-only sub-bitstream. If vuh_auxiliary_video_flag is 0, indicates that the associated geometry or attribute video data unit may contain RAW and / or EOM coded points. If vuh_auxiliary_video_flag is absent, its value is inferred to be 0. vuh_reserved_zero_12bits: Equal to 0 in bitstreams that follow this version of this document. vuh_reserved_zero_17bits: Equal to 0 in bitstreams that follow this version of this document. vuh_reserved_zero_23bits: Equal to 0 in bitstreams that follow this version of this document. vuh_reserved_zero_27bits: Equal to 0 in bitstreams that follow this version of this document. The syntax of the sample stream DMC header and the sample stream DMC unit of the bitstream according to the embodiments can be defined as follows. Syntax of the sample stream DMC header: sample_stream_dmc_header() {Descriptorsdmh_unit_size_precision_bytes_minus1u(3)sdmh_reserved_zero_5bitsu(5)} sdmh_unit_size_precision_bytes_minus1: Adding 1 to this value indicates the precision (in bytes) of sdmu_dmc_unit_size elements in every sample stream DMC unit. sdmh_unit_size_precision_bytes_minus1 is in the range of 0 to 7. 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() {Descriptorsdmu_dmc_unit_sizeu(v)dmc_unit(sdmu_dmc_unit_size )} sdmu_dmc_unit_size: Indicates 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 can consist of a unit header and a unit payload. Type information about the unit payload can be inserted into the unit header, and data of the corresponding type can be inserted into the unit payload. The dmc_unit data syntax and semantics may be in the format of v3c_unit used in the V3C codec specification, i.e., ISO / IEC 23090-5, which is referenced in the V-DMC standard, but may not be limited to that format. The contents according to the embodiments may be implemented independently and specific to V-DMC or V3C codecs. A bitstream according to embodiments may be composed of a sample stream NAL (Network Abstraction Layer) unit. A sample stream NAL unit may include a sample stream NAL header and a sample stream NAL unit. Sample Stream NAL Header Syntax: sample_stream_nal_header() {Descriptorssnh_unit_size_precision_bytes_minus1u(3)ssnh_reserved_zero_5bitsu(5)} Sample Stream NAL Header Unit Syntax: sample_stream_nal_unit() {Descriptorssnu_nal_unit_sizeu(v)nal_unit (ssnu_nal_unit_size)} Semantics of the sample stream NAL header: The sample stream NAL header is always at the beginning of the NAL stream. ssnh_unit_size_precision_bytes_minus1: Adding 1 to this value indicates the precision (in bytes) of ssnu_nal_unit_size elements in every sample stream NAL unit. ssnh_unit_size_precision_bytes_minus1 is in the range of 0 to 7. ssnh_reserved_zero_5bits: is equal to 0 in bitstreams that follow this version of this document. Sample Stream NAL Unit Semantics: The order of sample stream NAL units in a sample stream follows the decoding order of the NAL units contained in the sample stream NAL units. A unit (nal_unit) included in a bitstream according to the embodiments may be basemesh data that may be included in a sample of a basemesh track to be described later. That is, a unit of the bitstream may be a basemesh NAL unit (bmesh_nal_unit) or / and displacement data (displ_nal_unit) encoded with arithmetic coding. Additionally, nal_unit may be submesh data that may be included in a sample of a submesh track described later. The submesh data may be defined in the form of bmesh_nal_unit. ssnu_nal_unit_size represents the size (in bytes) of the subsequent NAL_unit. The number of bits used to express ssnu_nal_unit_size is equal to (ssnh_unit_size_precision_bytes_minus1 + 1) * 8. A bitstream may contain a basemesh sub-bitstream. The NAL sample stream format can be constructed by arranging NAL units in decoding order and prefixing each NAL unit with a heading indicating the exact size (in bytes) of the NAL unit. The sample stream header is included at the beginning of the sample stream bitstream, which indicates the precision (in bytes) of the signaled NAL unit size. The NAL unit stream format can be extracted from the sample stream format by searching the sample stream format, reading the size information, and appropriately extracting each NAL unit. General NAL unit syntax: bmesh_nal_unit( NumBytesInNalUnit ) {Descriptorbmesh_nal_unit_header( )NumBytesInRbsp = 0for( i = 2; i < NumBytesInNalUnit; i++ )rbsp_byte[ NumBytesInRbsp++ ]b(8)} NAL unit header syntax: bmesh_nal_unit_header() {Descriptorbmesh_nal_forbidden_zero_bitf(1)bmesh_nal_unit_typeu(6)bmesh_nal_layer_idu(6)bmesh_nal_temporal_id_plus1u(3)} Low byte sequence payload, trailing bits, and byte alignment syntax Basemesh Sequence Parameter Set RBSP Syntax General Basemesh Sequence Parameter Set RBSP Syntax bmesh_sequence_parameter_set_rbsp( ) {Descriptorbmsps_sequence_parameter_set_idu(4)bmesh_profile_tier_level( )bmsps_intra_mesh_codec_idu(8)bmsps_inter_mesh_codec_idu(8)bmsps_inter_mesh_motion_group_size_minus1u(8)bmsps_inter_mesh_max_num_neighbours_minus1u(8)bmsps_geometry_3d_bit_depth_minus1u(5)bmsps_facegroup_segmentation_methodue(v)bmsps_mesh_attribute_countu(7)for( i = 0; i < bmsps_mesh_attribute_count; i++ ) {bmsps_mesh_attribute_type_id[ i ]u(4)bmsps_attribute_bit_depth_minus1[ i ]u(5)bmsps_attribute_msb_align_flag[ i ]u(1)}bmsps_log2_max_mesh_frame_order_cnt_lsb_minus4ue(v)bmsps_max_dec_mesh_frame_buffering_minus1ue(v)bmsps_long_term_ref_mesh_frames_flagu(1)bmsps_num_ref_mesh_frame_lists_in_bmspsue(v)for( i = 0; i < bmsps_num_ref_mesh_frame_lists_in_bmsps; i++ )bmesh_ref_list_struct( i )bmsps_extension_present_flagu(1)if( bmsps_extension_present_flag ) {bmsps_extension_countu(8)}if( bmsps_extension_count ){bmsps_extensions_length_minus1ue(v)for( i = 0; i < bmsps_extension_count;i++ ) {bmsps_extension_type[ i ]u(8)bmsps_extension_length[ i ]u(16)bmsps_extension( bmsps_extension_type[ i ], bmsps_extension_length[ i ] )}}rbsp_trailing_bits( )}; 베이스메쉬 SPS 확장 신택스: bmsps_extension( extension_type, extension_length ) {Descriptorfor( j = 0; j < extension_length; j++ )bmsps_extension_data_byteu(8)length_alignment( )} 베이스메쉬 프로파일, 티어 및 레벨 신택스: bmesh_profile_tier_level( ) {Descriptorbmptl_tier_flagu(1)bmptl_profile_codec_group_idcu(7)bmptl_reserved_zero_32bitsu(32)bmptl_level_idcu(8)bmptl_num_sub_profilesu(6)bmptl_extended_sub_profile_flagu(1)for( i = 0; I < bmptl_num_sub_profiles; i++ ) {bmptl_sub_profile_idc[ i ]u(v)}bmptl_toolset_constraints_present_flagu(1)if( bmptl_toolset_constraints_present_flag ) {bmesh_profile_toolset_constraints_information( )}} 프로파일 툴셋 제약 정보(Profile toolset constraints information) 신택스: bmesh_profile_toolset_constraints_information( ) {Descriptorbmptc_one_mesh_frame_only_flagu(1)bmptc_intra_frames_only_flagu(1)bmptc_reserved_zero_6bitsu(6)bmptc_num_reserved_constraint_bytesu(8)for( i = 0; i < bmptc_num_reserved_constraint_bytes; i++ )bmptc_reserved_constraint_byte[ i ]u(8)} 베이스메쉬 프레임 파라미터 세트 RBSP 신택스: 제너럴 베이스메쉬 프레임 파라미터 RBSP 신택스: bmesh_frame_parameter_set_rbsp( ) {Descriptorbfps_mesh_sequence_parameter_set_idu(4)bfps_mesh_frame_parameter_set_idu(4)bmesh_sub_mesh_information( ) bfps_output_flag_present_flagu(1)bfps_num_ref_idx_default_active_minus1ue(v)bfps_additional_lt_mfoc_lsb_lenue(v)bfps_extension_present_flagu(1)if( bfps_extension_present_flag )bfps_extension_8bitsu(8)if( bfps_extension_8bits )while( more_rbsp_data( ) )bfps_extension_data_flagu(1)rbsp_trailing_bits( )} 베이스메쉬 서브메쉬 정보: bmesh_sub_mesh_information( ) {Descriptorbmsi_use_single_mesh_flagu(1)if(!bmsi_use_single_mesh_flag){bmsi_num_submeshes_minus1u(8)}elsebmsi_num_submeshes_minus1 = 0bmsi_signalled_submesh_id_flagu(1)if( bmsi_signalled_submesh_id_flag ) {bmsi_signalled_submesh_id_length_minus1ue(v)for( i = 0; < bmsi_num_submeshes_minus1 + 1; i++ )bmsi_submesh_id[ i ]u(v)SubMeshIDToIndex[ bmsi_submesh_id[ i ] ] = iSubMeshIndexToID[ i ] = bmsi_submesh_id[ i ]}}elsefor( i = 0; i < bmsi_num_submeshes_minus1 + 1; i++ ) { bmsi_submesh_id[ i ] = iSubMeshIDToIndex[ i ] = iSubMeshIndexToID[ i ] = i}} Basemesh submesh layer RBSP 신태스 bmesh_submesh_layer_rbsp( ) {Descriptorsubmesh_header( )submesh_data_unit( mfh_submesh_type, SubMeshUnitSize )rbsp_trailing_bits( )} Basemesh Submesh Header Syntax: submesh_header( ) {Descriptorif( nal_unit_type >= NAL_BLA_W_LP && nal_unit_type <= NAL_RSV_IRAP_ACL_29 )smh_no_output_of_prior_mesh_frames_flagu(1)smh_basemesh_frame_parameter_set_idu(4)smh_idu(v)subMeshID = smh_idsmh_typeue(v)if( bfps_output_flag_present_flag )smh_mesh_output_flagu(1)smh_mesh_frm_order_cnt_lsbu(v)if( bmsps_num_ref_mesh_frame_lists_in_bmsps > 0 )smh_ref_mesh_frame_list_msps_flagu(1)if( smh_ref_basemesh_frame_list_msps_flag == 0 )basemesh_ref_list_struct( bmsps_num_ref_mesh_frame_lists_in_bmsps )else if( bmsps_num_ref_mesh_frame_lists_in_bmsps > 1 )smh_ref_mesh_frame_list_idxu(v)for( j = 0; j < NumLtrMeshFrmEntries[ RlsIdx ];j++ ) {smh_additional_mfoc_lsb_present_flag[ j ]u(1)if( smh_additional_mfoc_lsb_present_flag[ j ] )smh_additional_mfoc_lsb_val[ j ]u(v)}if( smh_type != SKIP_SUBMESH ) { if( smh_type == P_SUBMESH && num_ref_entries[ RlsIdx ] > 1 ) {smh_num_ref_idx_active_override_flagu(1)if( smh_num_ref_idx_active_override_flag )smh_num_ref_idx_active_minus1ue(v)}}byte_alignment( )}; 레퍼런스 리스트 구조 신택스: bmesh_ref_list_struct( rlsIdx ) {Descriptornum_ref_entries[ rlsIdx ]ue(v)for( i = 0; i < num_ref_entries[ rlsIdx ]; i++ ) {if( bmsps_long_term_ref_mesh_frames_flag )st_ref_mesh_frame_flag[ rlsIdx ][ i ]u(1)if( st_ref_mesh_frame_flag[ rlsIdx ][ i ] ) {abs_delta_mfoc_st[ rlsIdx ][ i ]ue(v)if( abs_delta_mfoc_st[ rlsIdx ][ i ] > 0 )straf_entry_sign_flag[ rlsIdx ][ i ]u(1)} elsemfoc_lsb_lt[ rlsIdx ][ i ]u(v)}} 베이스메쉬 서브메쉬 데이터 유닛 신택스: submesh_data_unit( subMeshID, unitSize ) {Descriptorif( smh_type == I_SUBMESH ) {sdu_intra_sub_mesh_unit( subMeshID, unitSize )}else if( smh_type == P_SUBMESH ) {sdu_inter_sub_mesh_unit( subMeshID )]else if( smh_type == SKIP_SUBMESH ) {sdu_skip_sub_mesh_unit( )}} Basemesh Intra Submesh Data Unit Syntax: sdu_intra_sub_mesh_unit( subMeshID, vertexCount ) {Descriptorsismu_intra_unit( subMeshID )length_alignment( )} sismu_intra_unit(subMeshID, sismu_intra_unit_size) contains a portion of mesh data of size sismu_intra_unit_size[subMeshID], which is an aligned string of bytes or bits that identifies the location of unit boundaries in a pattern of data. The format of this mesh data is identified by the bmptl_profile_codec_group_idc or component codec mapping SEI message. Basemesh inter-submesh data unit syntax: sdu_inter_sub_mesh_unit( subMeshID, vertexCount ) {Descriptorsismu_inter_vertex_count[ subMeshID ]ue(v)sismu_inter_unit( subMeshID , sismu_inter_vertex_count[ subMeshID ] )length_alignment( )} sismu_inter_unit(sismu_inter_unit_size, sismu_inter_vertex_count) contains a portion of motion data of size sismu_inter_unit_size, which is an ordered stream of bytes or bits that can identify the locations of unit boundaries in a pattern of data. The format of this mesh data is identified by the bmptl_profile_codec_group_idc or component codec mapping SEI message. Basemesh inter-submesh data unit syntax: sismu_inter_unit_default ( subMeshID, vertexCount ) {Descriptorif( vertexCount > 0 ) sismu_derived_mv_present_flag[ subMeshID ]ae(v)for( i = 0; i < vertexCount ; i++ ) {if(sismu_derived_mv_present_flag[ subMeshID ])sismu_mv_signalled_flag[ subMeshID ][ v ]ae(v)}groupSize = bmsps_inter_mesh_motion_group_size_minus1 + 1groupCount = ( vertexCount - 1) / groupSize + 1vStart = 0for( g = 0; g < groupCount: g++ ) {sismu_mv_pred_mode_group[ subMeshID ][ g ]ae(v)if ( g == (groupCount - 1) )groupSize = submeshMotionCount- groupSize * (groupCount - 1)for( v = vStart; v < (vStart+groupSize); v++ ) {if( sismu_mv_signalled_flag[ subMeshID ][ v ]) {for( k = 0; k < 3;k++ ) {sismu_mv_residual_abs_gt0[ subMeshID ][ v ][ k ]ae(v)if (sismu_mv_residual_abs_gt0[ subMeshID ][ v ][ k ]) {sismu_mv_residual_sign[ subMeshID ][ v ][ k ]ae(v)sismu_mv_residual_abs_gt1[ subMeshID ][ v ][ k ]ae(v)if (sismu_mv_residual_abs_gt1[ subMeshID ][ v ][ k ]) sismu_mv_residual_abs_rem[ subMeshID ][ v ][ k ]ae(v)}}}} / vvStart += groupSize}}; Basemesh Steep Submesh Data Unit Syntax: sdu_skip_sub_mesh_unit( ) {Descriptor} Below, the semantics of the aforementioned syntax are described. BaseMesh NAL Unit Semantics: General NAL unit semantics: NumBytesInNalUnit represents the size of a NAL unit in bytes. This value is required for decoding a NAL unit. To enable inference of NumBytesInNalUnit, a form delimiting NAL unit boundaries is required. rbsp_byte[ i ] is the i-th byte of the RBSP. An RBSP is specified as an ordered sequence of bytes as follows: An RBSP contains a string of data bits (SODBs), as follows: - If the SODB is empty (i.e., has length 0 bits), the RBSP is also empty. - Otherwise, the RBSP contains the SODB as follows: 1) The first byte of the RBSP contains the first (most significant, leftmost) 8 bits of the SODB. The next byte of the RBSP contains the next 8 bits of the SODB, and so on until there are fewer than 8 bits of the SODB left. 2) The rbsp_trailing_bits( ) syntax structure follows SODB as follows: i) The first (most significant, leftmost) bit of the last RBSP byte contains the remaining bits of the SODB (if any). ii) The next bit consists of a single bit equal to 1 (i.e. rbsp_stop_one_bit). iii) If rbsp_stop_one_bit is not the last bit of a byte that is aligned, byte alignment is achieved by having at least one bit that is equal to 0 (i.e., an instance of rbsp_alignment_zero_bit). Syntax constructs with these RBSP properties are indicated in the syntax table using the "_rbsp" suffix. These constructs are carried within a NAL unit as the contents of the rbsp_byte[ i ] data byte. NAL unit header semantics: As with the atlas, a similar NAL unit type is defined for the base mesh, allowing similar functionality for random access and partitioning of the mesh. Unlike the tile-partitioned atlas, it defines the concept of a sub-mesh and defines specific NAL units corresponding to the coded mesh data. It also defines NAL units that can contain metadata such as SEI messages. The supported basic mesh NAL unit types are: bmesh_nal_unit_typeName of bmesh_nal_unit_typeContent of base mesh NAL unit and RBSP syntax structureNAL unitype class01NAL_TRAIL_NNAL_TRAIL_RCoded sub-mesh of a non-TSA, non STSA trailing base mesh framesub_mesh_layer_rbsp( )BMCL23NAL_TSA_NNAL_TSA_RCoded sub-mesh of a TSA base mesh framesub_mesh_layer_rbsp( )BMCL45NAL_STSA_NNAL_STSA_RCoded sub-mesh of a STSA base mesh framesub_mesh_layer_rbsp( )BMCL67NAL_RADL_NNAL_RADL_RCoded sub-mesh of a RADL base mesh framesub_mesh_layer_rbsp( )BMCL89NAL_RASL_NNAL_RASL_RCoded sub-mesh of a RASL base mesh framesub_mesh_layer_rbsp( )BMCL1011NAL_SKIP_NNAL_SKIP_RCoded sub-mesh of a skipped base mesh framesub_mesh_layer_rbsp( )BMCL1214NAL_RSV_BMCL_N12NAL_RSV_BMCL_N14Reserved non-IRAP sub-layer non-reference BMCL mesh NAL unit typesBMCL1315NAL_RSV_BMCL_R13NAL_RSV_BMCL_R15Reserved non-IRAP sub-layer reference BMCL mesh NAL unit typesBMCL161718NAL_BLA_W_LPNAL_BLA_W_RADLNAL_BLA_N_LPCoded sub-mesh of a BLA base mesh framesub_mesh_layer_rbsp()BMCL21NAL_CRACoded sub-mesh of a CRA base mesh framesub_mesh_layer_rbsp( )BMCL2223NAL_RSV_IRAP_BMCL_22NAL_RSV_IRAP_BMCL_23Reserved IRAP BMCL NAL unit typesBMCL24..29NAL_RSV_BMCL_24..NAL_RSV_BMCL_29Reserved non-IRAP BMCL NAL unit typesBMCL30NAL_BMSPSBase mesh sequence parameter setbmesh_sequence_parameter_set_rbsp( )non-BMCL31NAL_BMFPSBase mesh frame parameter setbmesh_frame_parameter_set_rbsp( )non-BMCL32NAL_AUDdelimiteraccess_unit_delimiter_rbsp( )non-BMCL33NAL_EOSEnd of sequenceend_of_sequence_rbsp( )non-BMCL34NAL_EOBEnd of bitstreamend_of_bmesh_sub_bitstream_rbsp( )non-BMCL35NAL_FDFillerfiller_data_rbsp( )non-BMCL3637NAL_PREFIX_NSEINAL_SUFFIX_NSEINon-essential supplemental enhancement informationsei_rbsp( )non-BMCL3839NAL_PREFIX_ESEINAL_SUFFIX_ESEIEssential supplemental enhancement informationsei_rbsp( )non-BMCL40..44NAL_RSV_NBMCL_40NAL_RSV_NBMCL_44Reserved non-BMCL NAL unit typesnon-BMCL45..63NAL_UNSPEC_45NAL_UNSPEC_63Unspecified non-BMCL NAL unit typesnon-BMCL Basemesh Raw byte sequence payloads, trailing bits, and byte alignment semantics: Basemesh Sequence Parameter Set RBSP Semantics: General Basemesh Sequence Parameter Set RBSP Semantics: bmsps_sequence_parameter_set_id: An identifier for the basemesh sequence parameter set so that other syntax elements can reference it. 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 by means external to this document. A specific mesh or motion mesh codec may be associated with a profile specified in that specification, or 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. A specific mesh or motion mesh codec may be associated with a profile specified in that specification, or 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: Adding 1 to this value indicates the size of vertex grouping in motion vector coding. bmsps_inter_mesh_motion_group_size_minus1 is in the range of 0 to 255. bmsps_inter_mesh_max_num_neighbours_minus1: Adding 1 to this value indicates the maximum number of vertex neighbors to use for computing the motion vector predictor. bmsps_inter_mesh_max_num_neighbours_minus1 is in the range of 0 to 255. bmsps_geometry_3d_bit_depth_minus1: Adding 1 to this value indicates the bit depth of the geometry coordinates of the reconstructed mesh. bmsps_geometry_3d_bit_depth_minus1 is in the range of 0 to 31. bmsps_facegroup_segmentation_method: Indicates the identifier of the method for deriving facegroup IDs from a mesh. bmsps_mesh_attribute_count: Indicates the number of attributes associated with the mesh. bmsps_mesh_attribute_count is in the range of 0 to 127. bmsps_mesh_attribute_type_id[ i ]: Indicates the attribute type of the attribute with index i for the mesh. The list of supported attributes and their relationship to bmsps_mesh_attribute_type_id[ i ] are as follows: bmsps_mesh_attribute_type_id[ i ]IdentifierAttribute type0ATTR_TEXTURETexture1ATTR_MATERIAL_IDMaterial ID2ATTR_TRANSPARENCYTransparency3ATTR_REFLECTANCEReflectance4ATTR_NORMALNormals5ATTR_FACEGROUP_IDFacegroup ID6..14ATTR_RESERVEDReserved15ATTR_UNSPECIFIEDUnspecified bmsps_attribute_bit_depth_minus1[ i ]: Adding 1 to this value indicates the bit depth of the attribute with index i for the mesh. bmsps_attribute_bit_depth_minus1[ i ] is in the range of 0 to 31. bmsps_log2_max_mesh_frame_order_cnt_lsb_minus4: Adding 4 to this value gives the values ​​of the variables Log2MaxMeshFrmOrderCntLsb and MaxMeshFrmOrderCntLsb used in the decoding process for the atlas frame order count, as follows. Log2MaxMeshFrmOrderCntLsb = bmsps_log2_max_mesh_frame_order_cnt_lsb_minus4 + 4 MaxMeshFrmOrderCntLsb = 2Log2MaxMeshFrmOrderCntLsb The value of bmsps_log2_max_mesh_frame_order_cnt_lsb_minus4 is in the range of 0 to 12. bmsps_max_dec_mesh_frame_buffering_minus1: Adding 1 to this value indicates the maximum size of the decoded atlas frame buffer required for CAS in atlas frame storage buffer units. The value of bmps_max_dec_mesh_frame_buffering_minus1 is in the range of 0 to 15. bmsps_long_term_ref_mesh_frames_flag: If this value 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 can be used for inter prediction of one or more coded atlas frames in CAS. bmsps_num_ref_mesh_frame_lists_in_bmsps: The number of bmesh_ref_list_struct(rlsIdx) syntax structures included in the atlas sequence parameter set. The value of bmsps_num_ref_mesh_frame_lists_in_bmsps is in the range of 0 to 64. NOTE: The decoder allocates memory for a total number of bmesh_ref_list_struct(rlsIdx) syntax structures, which is equal to (bmsps_num_ref_mesh_frame_lists_in_bmsps + 1), since there can be only one bmesh_ref_list_struct(rlsIdx) syntax structure directly signaled in the atlas tile header of the current atlas tile. bmsps_extension_present_flag: If this value is 1, it indicates that bmsps_extension_count_minus1 is in the basemesh sequence parameter set. bmsps_extension_count: The number of BMSPS extensions in the v3c_parameter_set( ) syntax structure. If not present, bmsps_extension_count is inferred to be equal to 0. If bmsps_extension_count is equal to 0, BmspsExtensionsLength, which specifies the cumulative length in bytes of all extensions that follow this syntax element, is equal to 0. If bmsps_extensions_length_minus1 is present, it indicates the cumulative length in bytes of all extensions following this syntax element: BmspsExtensionsLength. BmspsExtensionsLength is computed as follows: if( bmsps_extension_count == 0 ) BmspsExtensionsLength = 0 else BmspsExtensionsLength = bmsps_extensions_length_minus1 + 1 If bmsps_extension_count is not 0, BmspsExtensionsLength is equal to 3 * bmsps_extension_count plus the sum of all bmsps_extension_length[ i ]. bmsps_extension_type[ i ]: Indicates the BMSPS extension type for the extension with index i as specified in ISO / IEC 23090-29. bmsps_extension_length[ i ]: Indicates the number of bytes used to represent the payload size of the syntax structure of the associated extension with index i. If bmsps_extension_length[ i ] is 0, there is no extension payload for the extension with index i. Otherwise, the extension with index i has a payload size in bits in the range of 8 * ( bmsps_extension_length[ i ] - 1 ) + 1 to 8 * bmsps_extension_length[ i ], inclusive. BaseMesh SPS Extension Semantics: bmsps_extension_data_byte can have any value. Basemesh profile, hierarchy and level semantics: bmptl_tier_flag indicates the hierarchy context for interpreting bmptl_level_idc as specified in ISO / IEC 23090-29. bmptl_profile_codec_group_idc: Indicates the 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: Indicates the reconstruction profile component that CVS is recommended to adhere to as specified in ISO / IEC 23090-29. bmptl_reserved_zero_16bits: equal to 0 in the bitstream. bmptl_reserved_0xffff_16bits: Equivalent to 0xFFFF in the bitstream. 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: If this value is 1, it indicates that the bmptl_sub_profile_idc[ i ] syntax element 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 should be represented using 32 bits. bmptl_sub_profile_idc[ i ]: Indicates the ith interoperability metadata registered as specified in Rec. ITU-T T.35, the content of which is not specified in this document. The number of bits used to indicate bmptl_sub_profile_idc[ i ] is (bmptl_extended_sub_profile_flag == 0 ? 32 : 64). 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 structure profile_toolset_constraints_information( ) is not present. BaseMeshProfileToolsetConstraintsInformationSemantics: If bmptc_one_mesh_frame_only_flag is present, it has the meaning specified in ISO / IEC 23090-29, and the profile indicated by bmptl_profile_toolset_idc is the profile specified in ISO / IEC 23090-29. If absent, ptc_one_mesh_frame_only_flag is inferred to be equal to 0. If bmptc_intra_frames_only_flag is 1, it indicates that the bitstream contains only sdu_intra_sub_mesh_unit( ). If absent, bmptc_intra_frames_only_flag is inferred to be equal to 0. bmptc_reserved_zero_6bits is equal to 0 in bitstreams that follow this version of this document. bmptc_num_reserved_constraint_bytes indicates the number of reserved constraint bytes. bmptc_reserved_constraint_byte[ i ] can have any value. Its presence and value do not affect the decoder's conformance to the profile specified in this version of this document. A decoder that conforms to this version of this document shall ignore the value of any bmptc_reserved_constraint_byte[ i ] syntax element. Basemesh Frame Parameter Set RBSP Semantics: General BaseMesh Frame Parameter Set RBSP Semantics: bfps_mesh_sequence_parameter_set_id: Indicates the value of bmsps_sequence_parameter_set_id for the active Basemesh sequence parameter set. bfps_mesh_parameter_set_id identifies the basemesh frame parameter set for reference by other syntax elements. 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 plus 1 represents the inferred value of the variable NumRefIdxActive for tiles where smh_num_ref_idx_active_override_flag is 0. The value of bfps_num_ref_idx_default_active_minus1 is in the range 0 to 14. bfps_additional_lt_mfoc_lsb_len represents the value of the variable MaxLtMeshFrmOrderCntLsb used in the decoding process of the reference atlas frame list. MaxLtMeshFrmOrderCntLsb = 2 * (Log2MaxMeshFrmOrderCntLsb + bfps_additional_lt_mfoc_lsb_len) The value of bfps_additional_lt_mfoc_lsb_len is in the range of 0 to 32 - Log2MaxAtlasFrmOrderCntLsb. If bmsps_long_term_ref_mesh_frames_flag is 0, the value of bfps_additional_lt_mfoc_lsb_len is equal to 0. 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. If bfps_extension_8bits is 0, it indicates that the AFPS RBSP syntax structure does not have a bfps_extension_data_flag syntax element. A non-zero value for bfps_extension_8bits is reserved for future use in ISO / IEC. bfps_extension_data_flag can have any value. Basemesh submesh information: If bmsi_use_single_mesh_flag is 1, it indicates that each mesh frame has only one submesh referencing the BFPS. If bmsi_use_single_mesh_flag is 0, it indicates that each mesh frame can have more than one submesh referencing the BFPS. bmsi_num_submeshes_minus1 plus 1 indicates the number of submeshes referencing BFPS in each mesh frame. The value of bmsi_num_submeshes_minus1 is in the range of 0 to 63. If it is not present and bmsi_use_single_mesh_flag is 1, the value is inferred to be 1. If bmsi_signalled_submesh_id_flag is 1, it indicates that the submesh ID of each mesh frame is signaled. If bmsi_signalled_tile_id_flag is 0, it indicates that the submesh ID is not signaled. bmsi_signalled_submesh_id_length_minus1 plus 1 indicates the number of bits used to represent the syntax element bmsi_tile_id[ i ], if present, and the syntax element submesh_id in the submesh header. The value of bmsi_signalled_tile_id_length_minus1 is in the range 0 to 15. If absent, its value is inferred to be equal to Ceil(Log2(bmsi_num_submeshes_minus1 + 1 )) - 1. bmsi_submesh_id[ i ] represents the tile ID of the ith submesh. The length of the bmsi_submesh_id[ i ] syntax element is bmsi_signalled_submesh_id_length_minus1 + 1 bits. If not present, the value of bmsi_submesh_id[ i ] is inferred to be equal to i for each i in the range 0 to bmsi_num_submeshes_minus1, inclusive. It is a bitstream conformance requirement that bmsi_submesh_id[ i ] is not equal to bmsi_submesh_id[ j ] for all i != j. The length of the bmsi_submesh_id[ i ] syntax element is bmsi_signalled_submesh_id_length_minus1 + 1 bits. The variable FirstSubmeshID is calculated as follows: FirstSubmeshID=bmsi_submesh_id

[0000] for ( i = 1; i < bmsi_num_submeshes_minus1+ 1; i++ ) FirstSubmeshID = Min(FirstSubmeshID, bmsi_submesh_id[ i ]) Basemesh submesh header semantics: If present, the values ​​of the atlas tile header syntax elements smh_basemesh_frame_parameter_set_id, smh_mesh_output_flag, smh_no_output_of_prior_mesh_frames_flag, smh_mesh_frm_order_cnt_lsb are identical for all submesh headers of a coded mesh frame. smh_no_output_of_prior_mesh_frames_flag affects the output of previously decoded mesh frames in DAB after decoding an atlas from a CAS AU that is not the first AU in the bitstream. If smh_no_output_of_prior_mesh_frames_flag is absent, its value is inferred to be equal to 0. As a requirement for bitstream conformance, the value of smh_no_output_of_prior_mesh_frames_flag is the same for all mesh frames in an AU. The smh_no_output_of_prior_mesh_frames_flag value in the submesh header is the output_of_prior_mesh_frames_flag value of the AU. smh_basemesh_frame_parameter_set_id indicates the value of bfps_basemesh_frame_parameter_set_id for the active basemesh frame parameter set for the current submesh. smh_id indicates the submesh ID associated with the current submesh. If not present, the value of smh_id is inferred to be 0. The following applies: - The length of smh_id is bmsi_signalled_submesh_id_length_minus1 + 1 bit. - The value of smh_id must be in the range of values ​​specified in the SubMeshIndexToID [i] array, where i is in the range of 0 to bmsi_num_submeshes_minus1. The following constraints apply to the bitstream conformance requirements: - The value of smh_id is not equal to the smh_id value of another coded atlas tile unit in the same coded atlas frame. - Tiles in the atlas frame are sorted in increasing order of their smh_id values. smh_type indicates the coding type of the current submesh as follows. The value of smh_type is 0, 1, or 2 in bitstreams that follow this version of this document. smh_typeName of smh_type0P_SUBMESH1I_SUBMESH2SKIP_SUBMESH3RESERVED smh_mesh_output_flag affects the decoded mesh output and removal process. If smh_mesh_output_flag is absent, it is inferred to be equal to 1. smh_mesh_frm_order_cnt_lsb represents the number of mesh frame orders modulo MaxMeshFrmOrderCntLsb for the current submesh. The length of the smh_mesh_frm_order_cnt_lsb syntax element is equal to Log2MaxMeshFrmOrderCntLsb bits. The value of smh_mesh_frm_order_cnt_lsb ranges from 0 to MaxMeshFrmOrderCntLsb - 1. If smh_ref_mesh_frame_list_bmsps_flag is 1, it indicates that the reference bmesh frame list of the current sub-mesh is derived based on one of the bmesh_ref_list_struct(rlsIdx) syntax structures of the active BMSPS. If smh_ref_mesh_frame_list_bmsps_flag is 0, it indicates that the reference bmesh frame list of the current sub-mesh is derived based on the bmesh_ref_list_struct(rlsIdx) syntax structure directly included in the sub-mesh header of the current sub-mesh. When bmsps_num_ref_mesh_frame_lists_in_bmsps is 0, the value of smh_ref_mesh_frame_list_bmsps_flag is inferred to be 0. smh_ref_mesh_frame_list_idx represents the index of the bmesh_ref_list_struct(rlsIdx) syntax structure used to derive the reference mesh frame list of the current submesh into the list of bmesh_ref_list_struct(rlsIdx) syntax structures contained in the active ASPS. The syntax element smh_ref_mesh_frame_list_idx is represented as Ceil(Log2(bmsps_num_ref_mesh_frame_lists_in_bmsps)) bits. If not present, the value of smh_ref_mesh_frame_list_idx is inferred to be equal to 0. The value of smh_ref_mesh_frame_list_idx ranges from 0 to bmsps_num_ref_mesh_frame_lists_in_bmsps - 1. If smh_ref_mesh_frame_list_bmsps_flag is 1 and bmsps_num_ref_mesh_frame_lists_in_bmsps is 1, the value of smh_ref_mesh_frame_list_idx is inferred to be equal to 0. The variable RlsIdx of the current atlas tile is derived as follows: RlsIdx = smh_ref_mesh_frame_list_bmsps_flag ? smh_ref_mesh_frame_list_idx : bmsps_num_ref_mesh_frame_lists_in_bmsps If smh_additional_mfoc_lsb_present_flag[ j ] is 1, it indicates that smh_additional_mfoc_lsb_val[ j ] exists in the current submesh. If smh_additional_mfoc_lsb_present_flag[ j ] is 0, it indicates that smh_additional_mfoc_lsb_val[ j ] does not exist. smh_additional_mfoc_lsb_val[ j ] represents the value of FullMeshFrmOrderCntLsbLt[ RlsIdx ][ j ] for the current atlas tile, as follows: FullMeshFrmOrderCntLsbLt[RlsIdx][j] = smh_additional_mfoc_lsb_val[ j ] * MaxMeshFrmOrderCntLsb+mfoc_lsb_lt[RlsIdx][j] The syntax element smh_additional_mfoc_lsb_val[ j ] is represented by bfps_additional_lt_mfoc_lsb_len bits. If it is not present, the value of smh_additional_mfoc_lsb_val[ j ] is inferred to be equal to 0. If smh_num_ref_idx_active_override_flag is 1, it indicates that syntax element smh_num_ref_idx_active_minus1 exists for the current submesh. If smh_num_ref_idx_active_override_flag is 0, it indicates that syntax element smh_num_ref_idx_active_minus1 does not exist. If smh_num_ref_idx_active_override_flag is absent, its value is inferred to be equal to 0. smh_num_ref_idx_active_minus1 is used to derive the variable NumRefIdxActive for the current submesh. The value of smh_num_ref_idx_active_minus1 is in the range 0 to 14. If the current submesh is a P_SUBMESH submesh and smh_num_ref_idx_active_override_flag is 1 and smh_num_ref_idx_active_minus1 is absent, smh_num_ref_idx_active_minus1 is inferred to be 0. The variable NumRefIdxActive is derived as follows: if( smh_type == P_SUBMESH || smh_type == SKIP_SUBMESH ) { if( smh_num_ref_idx_active_override_flag == 1 ) NumRefIdxActive = smh_num_ref_idx_active_minus1 + 1 else { if( num_ref_entries[ RlsIdx ] >= bfps_num_ref_idx_default_active_minus1 + 1 ) NumRefIdxActive = bfps_num_ref_idx_default_active_minus1 + 1 else NumRefIdxActive = num_ref_entries[RlsIdx] } } else NumRefIdxActive = 0 The value of NumRefIdxActive minus 1 represents the maximum number of atlas reference frame indices that can be used to decode the current atlas tile. Reference list structure semantics: num_ref_entries[rlsIdx] represents the number of entries in the bmesh_ref_list_struct(rlsIdx) syntax structure, where rlsIdx is the index into the mesh frame reference list. For P_SUBMESH and SKIP_SUBMESH, the value of num_ref_entries[rlsIdx] is in the range of 1 to bmsps_max_dec_mesh_frame_buffering_minus1 + 1. Otherwise, the value of num_ref_entries[rlsIdx] is in the range of 0 to bmsps_max_dec_mesh_frame_buffering_minus1 + 1. If st_ref_mesh_frame_flag[rlsIdx][i] is 1, it indicates that the ith entry in the bmesh_ref_list_struct(rlsIdx) syntax structure is a short-term reference mesh frame entry. If st_ref_mesh_frame_flag[rlsIdx][i] is 0, it indicates that the ith entry in the ref_list_struct(rlsIdx) syntax structure is a long-term reference mesh frame entry. If not present, the value of st_ref_mesh_frame_flag[rlsIdx][i] is inferred to be equal to 1. The variable NumLtrMeshFrmEntries[rlsIdx] is derived as follows: NumLtrMeshFrmEntries[rlsIdx] = 0 for( i = 0; i < num_ref_entries[rlsIdx]; i++) if(!st_ref_mesh_frame_flag[rlsIdx][i]) NumLtrMeshFrmEntries[rlsIdx]++ abs_delta_mfoc_st[rlsIdx][i] represents the absolute difference between the meshes if the ith entry is the first short-term reference mesh frame entry in the bmesh_ref_list_struct(rlsIdx) syntax structure; the frame order count value of the mesh frame referenced by the current mesh tile and the ith entry; or, if the ith entry is a short-term reference mesh frame entry but is not the first short-term reference mesh frame entry in the bmesh_ref_list_struct(rlsIdx) syntax structure, the absolute difference between the mesh frame order count value of the mesh frame referenced by the ith entry and the previous short-term reference mesh frame entry in the bmesh_ref_list_struct(rlsIdx) syntax structure. The value of abs_delta_mfoc_st[rlsIdx][i] is in the range of 0 to 215 - 1. If straf_entry_sign_flag[rlsIdx][i] is 1, it indicates that the ith entry in the syntax structure bmesh_ref_list_struct(rlsIdx) has a value greater than or equal to 0. If straf_entry_sign_flag[rlsIdx][i] is 0, it specifies that the ith entry in the syntax structure bmesh_ref_list_struct(rlsIdx) has a value less than 0. If absent, the value of straf_entry_sign_flag[rlsIdx][i] is inferred to be 1. The list DeltaMfocSt[rlsIdx][i] is derived as follows: for( i = 0; i < num_ref_entries[rlsIdx]; i++ ) if( st_ref_mesh_frame_flag[ rlsIdx ][ i ] ) DeltaMfocSt[ rlsIdx ][ i ] = ( 2 * straf_entry_sign_flag[ rlsIdx ][ i ] - 1 ) * abs_delta_mfoc_st[ rlsIdx ][ i ] else DeltaMfocSt[rlsIdx][i] = 0 mfoc_lsb_lt[ rlsIdx ][ i ] represents the mesh frame order count modulo MaxMeshFrmOrderCntLsb of the mesh frame referenced by the ith entry of the bmesh_ref_list_struct( rlsIdx ) syntax element. The length of the mfoc_lsb_lt[ rlsIdx ][ i ] syntax element is Log2MaxMeshFrmOrderCntLsb bits. Basemesh Submesh Data Unit Semantics: Basemesh inter-submesh data unit semantics: sismu_derived_mv_present_flag[ subMeshID ] indicates that sismu_mv_signalled_flag is present in the bitstream. If sismu_derived_mv_present_flag[ subMeshID ] is 0, sismu_mv_signalled_flag[ subMeshID ][ v ] is always inferred to be 1. sismu_mv_signalled_flag[ subMeshID ][ v ] indicates that the motion vector for the vertex with index v is present in the bitstream. If sismu_mv_signalled_flag[ subMeshID ][ v ] is not present in the bitstream, sismu_mv_signalled_flag[ subMeshID ][ v ] is inferred to be 1. sismu_mv_pred_mode_group[ subMeshID ][ g ] indicates the method used to predict motion vectors associated with vertices in the group with index g of the current submesh. The submesh ID is the same as subMeshID. sismu_mv_residual_abs_gt0[ subMeshID ][ v ][ k ] indicates whether the kth component of the motion vector prediction residual associated with the vertex with index v in the current submesh has an absolute value greater than 0 (if 1) or not (if 0). sismu_mv_residual_sign[ subMeshID ][ v ][ k ] indicates whether the kth component of the motion vector prediction residual associated with the vertex with index v in the current submesh has a positive sign (if 1) or not (if 0). If sismu_mv_residual_sign[ v ][ k ] is absent, it is inferred to be equal to 1. sismu_mv_residual_abs_gt1[ subMeshID ][ v ][ k ] indicates whether the kth component of the motion vector prediction residual associated with the vertex with index v in the current submesh has an absolute value greater than 1 (if 1) or not (if 0). If sismu_mv_residual_abs_gt1[ v ][ k ] is absent, it is inferred to be equal to 0. sismu_mv_residual_abs_rem[ subMeshID ][ v ][ k ] represents the absolute value of the kth component of the motion vector prediction residual associated with the vertex with index v in the current submesh, where the submesh ID is subMeshID minus 2. If sismu_mv_residual_abs_rem[ v ][ k ] is absent, it is inferred to be equal to 0. The kth component of the motion vector prediction residual VertexMotionVectorResiduals[ v ][ k ] associated with the vertex with index v in the current submesh is computed as follows: VertexMotionVectorResiduals[ v ][ k ] = sismu_mv_residual_sign[ v ][ k ] ? 1:-1)* (sismu_mv_ residual_sign_gt0[ v ][ k ] + sismu_mv_ residual_sign wk_gt1[ v ][ k ] + sismu_mv_ residual_sign _rem[ v ][ k ]) Arthmetic Coded Displacement Sub-Bitstream: A NAL sample stream format can be constructed from a NAL unit stream format by arranging NAL units in decoding order and prefixing each NAL unit with a header that specifies the exact size (in bytes) of the NAL unit. A sample stream header is included at the beginning of the sample stream bitstream that specifies the precision (in bytes) of the signaled NAL unit size. A NAL unit stream format can be extracted from a sample stream format by traversing the sample stream format, reading the size information, and appropriately extracting each NAL unit. Below, the syntax of the Arthmetic Coded Displacement sub-bitstream is described. NAL unit syntax: General NAL unit syntax: displ_nal_unit( NumBytesInNalUnit ) {Descriptordispl_nal_unit_header( )NumBytesInRbsp = 0for( i = 2; i < NumBytesInNalUnit; i++ )rbsp_byte[ NumBytesInRbsp++ ]b(8)} NAL unit header syntax: displ_nal_unit_header() {Descriptordispl_nal_forbidden_zero_bitf(1)displ_nal_unit_typeu(6)displ_nal_layer_idu(6)displ_nal_temporal_id_plus1u(3)} Low byte sequence payload, trailing bits, and byte alignment syntax: Displacement Sequence Parameter Set RBSP Syntax: General displacement sequence parameter set RBSP syntax: displ_sequence_parameter_set_rbsp() {Descriptordsps_sequence_parameter_set_idu(4)dsps_codec_idu(8)dsps_profile_tier_level( )dsps_range_log2_minus2u(3)dsps_single_dimension_flagu(1)dsps_msb_align_flagu(1)dsps_log2_max_displ_frame_order_cnt_lsb_minus4ue(v)d sps_max_dec_displ_frame_buffering_minus1ue(v)dsps_long_term_ref_displ_frames_flagu(1)dsps_num_ref_displ_frame_lists_in_dspsue(v)for( i = 0; i < dsps_num_ref_displ_frame_lists_in_dsps; ) displ_ref_list_struct( i )dsps_extension_present_flagu(1)if( dsps_extension_present_flag ) {dsps_extension_count_minus1u(7)dsps_extension_length_minus1ue(v)while( more_rbsp_data( ) )dsps_extension_data_byte u(1)}rbsp_trailing_bits( )} Displacement Profile, Tier, and Level Syntax: Dsps_profile_tier_level( ) {Descriptordptl_tier_flagu(1)dptl_profile_codec_group_idcu(7)dptl_profile_toolset_idcu(8)dptl_reserved_zero_32bitsu(32)dptl_level_idcu(8)dptl_num_sub_profilesu(6)dptl_extended_sub_profile_flagu(1)for( i = 0; Profile toolset constraints information syntax: dptl_profile_toolset_constraints_information( ) {Descriptordptc_one_displacement_frame_only_flagu(1)dptc_reserved_zero_7bitsu(6)dptc_num_reserved_constraint_bytesu(8)for( i = 0; i < dptc_num_reserved_constraint_bytes; i++ )dptc_reserved_constraint_byte[ i ]u(8)} Displacement Frame Parameter Set RBSP Syntax: General Displacement Frame Parameter Set RBSP Syntax: displ_frame_parameter_set_rbsp( ) {Descriptordfps_displ_sequence_parameter_set_idu(4)dfps_displ_frame_parameter_set_idu(4)displ_information( ) dfps_output_flag_present_flagu(1)dfps_num_ref_idx_default_active_minus1ue(v)dfps_additional_lt_dfoc_lsb_lenue(v)dfps_extension_present_flagu(1)if( dfps_extension_present_flag )dfps_extension_8bitsu(8)if( dfps_extension_8bits )while( more_rbsp_data( ) )dfps_extension_data_flagu(1)rbsp_trailing_bits( )} 디스플레이스먼트 레퍼런스 리스트 구조 신택스: displ_ref_list_struct( rlsIdx ) {Descriptordrl_num_ref_entries[ rlsIdx ]ue(v)for( i = 0; i < drl_num_ref_entries[ rlsIdx ]; i++ ) {if( dsps_long_term_ref_displ_frames_flag )drl_st_ref_displ_frame_flag[ rlsIdx ][ i ]u(1)if( drl_st_ref_displ_frame_flag[ rlsIdx ][ i ] ) {drl_abs_delta_dfoc_st[ rlsIdx ][ i ]ue(v)if( drl_abs_delta_dfoc_st[ rlsIdx ][ i ] > 0 )drl_straf_entry_sign_flag[ rlsIdx ][ i ]u(1)} elsedrl_dfoc_lsb_lt[ rlsIdx ][ i ]u(v)}} 디스플레이스먼트 레이어 RBSP 신택스: displ_layer_rbsp() {Descriptordispl_header()displ_data_unit(displID)rbsp_trailing_bits()} Displacement header syntax: displ_header( ) {Descriptorif( nal_unit_type >= NAL_BLA_W_LP && nal_unit_type <= NAL_RSV_IRAP_DCL_29 )dh_no_output_of_prior_displ_frames_flagu(1)dh_frame_parameter_set_idu(4)dh_idu(v)displID = dh_iddh_typeue(v)if( dfps_output_flag_present_flag )dh_output_flagu(1)dh_frm_order_cnt_lsbu(v)if( dsps_num_ref_displ_frame_lists_in_dsps > 0 )dh_ref_displ_frame_list_dsps_flagu(1)if( dh_ref_displ_frame_list_dsps_flag == 0 )displ_ref_list_struct( dsps_num_ref_displ_frame_lists_in_dsps )else if( dsps_num_ref_displ_frame_lists_in_dsps > 1 )ref_displ_frame_list_idxu(v)for( j = 0; j < NumLtrDisplFrmEntries[ RlsIdx ]; j++ ) {dh_additional_dfoc_lsb_present_flag[ j ]u(1)if( additional_dfoc_lsb_present_flag[ j ] )dh_additional_dfoc_lsb_val[ j ]u(v)}if( dh_type == P_DISPLACEMENT && num_ref_entries[ RlsIdx ] > 1 ) {dh_num_ref_idx_active_override_flagu(1)if( num_ref_idx_active_override_flag )dh_num_ref_idx_active_minus1ue(v)}dh_log2_subblock_size_minus6u(4)byte_alignment( )} 디스플레이스먼트 데이터 유닛 신택스: displ_data_unit( displID ) {Descriptorif( dh_type == I_DISPLACEMENT ) {displ_intra_unit( displID )}else if( dh_type == P_DISPLACEMENT ) {displ_inter_unit( displID )}} Displacement Intra Data Unit Syntax: displ_intra_unit( displID ) {Descriptordiu_lod_count[ displID ]for( i = 0; i < displ_lod_count; i++ ) {diu_vertex_count_lod[ displID ][ i ]subblockSize = 1 << dh_log2_subblock_size_minus6for( k = 0; k < 3; k++ ) {diu_last_sig_coeff[ k ]ae(v)for( b = 0; b < lodCount; b++ ) {diu_coded_block_flag[ k ][ b ]u(v)if( diu_coded_block_flag[ k ][ b] ) {subblockCountPerLevel =Ceil( diu_vertex_count_lod[ displID ][ b ] / subblockSize )for( s = 0; s < subblockCountPerLevel; s++ ) {diu_coded_subblock_flag[ k ][ b ][ s ]u(v)if( diu_coded_subblock_flag[ k ][ b ][ s ] ) {for( v = vStart; v < subblock_size; v++ ) {diu_coeff_abs_level_gt0[ k ][ b ][ s ][ v ]u(v)if( diu_coeff_abs_level_gt0[ k ][ b ][ s ][ v ] ) {diu_coeff_abs_level_gt1[ k ][ b ][ s ][ v ]u(v)diu_coeff_sign[ k ][ b ][ s ][ v ]u(1)if( diu_coeff_abs_level_gt1[ k ][ b ][ s ][ v ] ) {diu_coeff_abs_level_rem[ k ][ b ][ s ][ v ]ue(v)}}}}}}}if ( dsps_single_dimension_flag ) {break;}}} 디스플레이스먼트 인터 데이터 유닛 신택스: The arithmetic decoding engine is a context-separated binary arithmetic decoder that performs binary renormalization and produces binary output. The displacement residual is derived from the arithmetic decoding. displ_inter_unit( dispID ) {Descriptor / * Can be the same as specified in 4.3.1.3.7 * / } Below, the semantics of the Arthmetic Coded Displacement sub-bitstream are described. NAL Unit Semantics: General NAL unit semantics: NumBytesInNalUnit represents the size of a NAL unit in bytes. This value is required for decoding a NAL unit. Some form of delimiting NAL unit boundaries is required to enable inference of NumBytesInNalUnit. Note: The displacement coding layer (DCL) is specified to efficiently represent the contents of displacement data. The NAL is specified to format that data and provide header information in a manner suitable for transmission over various communication channels or storage media. All data is contained in NAL units, each of which contains an integer number of bytes. The NAL unit represents a common format that can be used in both packet-oriented systems and bitstream systems. The format of the NAL unit for both packet-oriented transmission and sample streams is the same, but in the sample stream format, each NAL unit may be preceded by an additional element specifying the size of the NAL unit. rbsp_byte[ i ] is the i-th byte of the RBSP. An RBSP is specified as an ordered sequence of bytes as follows: An RBSP contains a string of data bits (SODBs), as follows: - If the SODB is empty (i.e., has length 0 bits), the RBSP is also empty. - Otherwise, the RBSP contains the SODB as follows: 3) The first byte of the RBSP contains the first (most significant, leftmost) 8 bits of the SODB. The next byte of the RBSP contains the next 8 bits of the SODB, and so on until there are fewer than 8 bits of the SODB left. 4) The rbsp_trailing_bits( ) syntax structure exists after SODB as follows. iv) The first (most significant, leftmost) bit of the last RBSP byte contains the remaining bits of the SODB (if any). v) The next bit consists of a single bit equal to 1 (i.e. rbsp_stop_one_bit). vi) If rbsp_stop_one_bit is not the last bit of a byte that is aligned, byte alignment is achieved by the presence of one or more bits that are equal to zero (i.e., instances of rbsp_alignment_zero_bit). Syntax structures with these RBSP properties are indicated in the syntax table using the suffix "_rbsp". These structures are carried in the NAL unit as the contents of the rbsp_byte[ i ] data byte. The association between RBSP syntax structures and NAL units is shown in the table below. NOTE: If the boundaries of an RBSP are known, a decoder can extract an SODB from an RBSP by concatenating the byte bits of the RBSP, discarding the rbsp_stop_one_bit whose last (least significant, rightmost) bit is 1, and discarding the following (less significant, farther right) bits that are 0. The data required for the decoding process is contained in the SODB portion of the RBSP. NAL unit header semantics: displ_nal_forbidden_zero_bit displ_nal_unit_type As in the atlas case, a similar NAL unit type is defined for displacement, and similar functionality for random access defines a specific NAL unit corresponding to the coded displacement data. Also defined is a NAL unit that can contain metadata such as SEI messages. In particular, the supported displacement NAL unit types are specified as follows: NAL Unit Type Codecs and NAL Unit Type Classes: displ_nal_unit_typeName of displ_nal_unit_typeContent of displacement NAL unit and RBSP syntax structureNAL unitype class01NAL_TRAIL_NNAL_TRAIL_RCoded displacement of a non-TSA, non STSA trailing displacement framedispl_layer_rbsp( )DCL23NAL_TSA_NNAL_TSA_RCoded displacement of a TSA displacement framedispl_layer_rbsp( )DCL45NAL_STSA_NNAL_STSA_RCoded displacement of a STSA displacement framedispl_layer_rbsp( )DCL67NAL_RADL_NNAL_RADL_RCoded displacement of a RADL displacement framedispl_layer_rbsp( )DCL89NAL_RASL_NNAL_RASL_RCoded displacement of a RASL displacement framedispl_layer_rbsp( )DCL1011NAL_SKIP_NNAL_SKIP_RCoded displacement of a skipped displacement framedispl_layer_rbsp( )DCL1214NAL_RSV_DCL_N12NAL_RSV_DCL_N14Reserved non-IRAP sub-layer non-reference DCL displacement NAL unit typesDCL1315NAL_RSV_DCL_R13NAL_RSV_DCL_R15Reserved non-IRAP sub-layer reference DCL displacement NAL unit typesDCL161718NAL_BLA_W_LPNAL_BLA_W_RADLNAL_BLA_N_LPCoded displacement of a BLA displacementframedispl_layer_rbsp( )DCL1920NAL_IDR_W_RADLNAL_IDR_N_LPCoded displacement of an IDR displacement framedispl_layer_rbsp( )DCL21NAL_CRACoded displacement of a CRA displacement framedispl_layer_rbsp( )DCL2223NAL_RSV_IRAP_DCL_22NAL_RSV_IRAP_DCL_23Reserved IRAP DCL NAL unit typesDCL24..29NAL_RSV_DCL_24..NAL_RSV_DCL_29Reserved non-IRAP DCL NAL unit typesDCL30NAL_DSPSDisplacement sequence parameter setdispl_sequence_parameter_set_rbsp( )non-DCL31NAL_DFPSDisplacement frame parameter setdispl_frame_parameter_set_rbsp( )non-DCL32NAL_DAUDAccess unit delimiteraccess_unit_delimiter_rbsp( )non-DCL33NAL_DEOSEnd of sequenceend_of_sequence_rbsp( )non-DCL34NAL_DEOBEnd of bitstreamend_of_displ_sub_bitstream_rbsp( )non-DCL35NAL_FDFillerfiller_data_rbsp( )non-DCL3637NAL_PREFIX_NSEINAL_SUFFIX_NSEINon-essential supplemental enhancement informationsei_rbsp( )non-DCL383940..4445..63NAL_PREFIX_ESEINAL_SUFFIX_ESEINAL_RSV_NDCL_40NAL_RSV_NDCL_44NAL_UNSPEC_45NAL_UNSPEC_63Essential supplemental enhancementinformationsei_rbsp( )Reserved non-DCL NAL unit typessnspecified non-DCL NAL unit typesnon-DCLnon-DCLnon-DCL displ_nal_layer_id displ_nal_temporal_id_plus1 The order of NAL units and displacement frames, and their relationship to coded displacement frames, access units, and coded displacement sequences: Low byte sequence payload, trailing bits, byte alignment semantics: Displacement Sequence Parameter Set RBSP Semantics: General displacement sequence parameter set RBSP semantics: dsps_sequence_parameter_set_id: An identifier for the displacement sequence parameter set so that other syntax elements can reference it. dsps_codec_id: The identifier of the codec used to compress the displacement. dsps_codec_id is in the range 0 to 255. The codec may be identified by a profile defined in ISO / IEC 23090-29, by an SEI message mapping component codec, or by means external to this document. It may be associated with a particular displacement codec via a profile specified in that specification, or explicitly indicated in an SEI message as done in the V3C specification for video sub-bitstreams. dsps_range_log2_minus2: Adding 2 to this value gives the geometric displacement coordinate range of the displacement. dsps_range_log2_minus2 is in the range of 0 to 3. dsps_single_dimension_flag: Indicates the number of dimensions for the displacement associated with the displacement. If dsps_single_dimension_flag is 0, it indicates that three components for the displacement are used. If dsps_single_dimension_flag is 1, it indicates that only the normal component for the displacement is used. dsps_msb_align_flag: Indicates how decoded displacement samples are converted to samples of displacement range bit depth. dsps_log2_max_displ_frame_order_cnt_lsb_minus4: Adding 4 to this value gives the values ​​of the variables Log2MaxDisplFrmOrderCntLsb and MaxDisplFrmOrderCntLsb used in the decoding process for the disparity frame order count, as follows. Log2MaxDisplFrmOrderCntLsb = dsps_log2_max_displ_frame_order_cnt_lsb_minus4 + 4 MaxDisplFrmOrderCntLsb = 2Log2MaxDisplFrmOrderCntLsb The value of dsps_log2_max_displ_frame_order_cnt_lsb_minus4 is in the range of 0 to 12. dsps_max_dec_displ_frame_buffering_minus1 plus 1 indicates the maximum required size of the decoded disparity frame buffer for the CDS in disparity frame storage buffer units. The value of dsps_max_dec_displ_frame_buffering_minus1 is in the range of 0 to 15. If dsps_long_term_ref_displ_frames_flag is 0, it indicates that long-term reference displ ection is not used for inter prediction of any coded displ ection frames in the CDS. If dsps_long_term_ref_displ_frames_flag is 1, it indicates that long-term reference displ ection frames can be used for inter prediction of one or more coded displ ection frames in the CDS. dsps_num_ref_displ_frame_lists_in_dsps represents the number of displ_ref_list_struct(rlsIdx) syntax structures included in the displacement sequence parameter set. The value of dsps_num_ref_displ_frame_lists_in_dsps is in the range of 0 to 64. NOTE: The decoder allocates memory for a total number of displ_ref_list_struct(rlsIdx) syntax structures, which is equal to (dsps_num_ref_displ_frame_lists_in_dsps + 1), since there can be only one displ_ref_list_struct(rlsIdx) syntax structure directly signaled in the displacement header of the current displacement frame. If dsps_extension_present_flag is 1, it indicates that dsps_extension_count_minus1 and dsps_extension_length_minus1 are in the displacement sequence parameter set. Adding 1 to dsps_extension_count_minus1 indicates the number of extensions in the current displacement sequence parameter set. If none exist, dsps_extension_count_minus1 is inferred to be equal to -1. dsps_extension_length_minus1 plus 1 indicates the length of the dsps_extension_data_byte element following this syntax element. If not present, dsps_extension_length_minus1 is inferred to be equal to -1. dsps_extension_data_byte can have any value. Displacement Profile, Tier and Level Semantics: dptl_tier_flag indicates the tier context for interpreting dptl_level_idc as specified in ISO / IEC 23090-29. dptl_profile_codec_group_idc indicates the codec group profile component to which the CDS conforms as specified in ISO / IEC 23090-29. dptl_profile_toolset_idc represents a toolset combination profile component that CDS complies with as specified in ISO / IEC 23090-29. If dptl_reserved_zero_32bits is present, it is equal to 0 in a bitstream conforming to this version of this document. dptl_level_idc indicates the level to which the CDS complies as specified in ISO / IEC 23090-29. dptl_num_sub_profiles represents the number of dptl_sub_profile_idc[ i ] syntax elements. If dptl_extended_sub_profile_flag is 1, it indicates that the dptl_sub_profile_idc[ i ] syntax element should be represented using 64 bits, if present. If dptl_extended_sub_profile_flag is 0, it indicates that the dptl_sub_profile_idc[ i ] syntax element should be represented using 32 bits, if present. dptl_sub_profile_idc[ i ] represents the i-th registered interoperability metadata as specified in Rec. ITU-T T.35. The number of bits used to represent dptl_sub_profile_idc[ i ] is (dptl_extended_sub_profile_flag == 0 ? 32 : 64). If dptl_toolset_constraints_present_flag is 1, it indicates that the additional structure dptl_profile_toolset_constraints_information( ) is present in the bitstream. If dptl_toolset_constraints_present_flag is 0, it indicates that the structure dptl_profile_toolset_constraints_information( ) is not present. Displacement Profile Toolset Constraint Information Semantics: If dptc_one_displacemnt_frame_only_flag is present, it has the meaning specified in ISO / IEC 23090-29, where the profile indicated by dptl_profile_toolset_idc is a profile specified in ISO / IEC 23090-29. If absent, dptc_one_displacement_frame_only_flag is inferred to be equal to 0. dptc_reserved_zero_7bits is equal to 0 in bitstreams that follow this version of this document. dptc_num_reserved_constraint_bytes indicates the number of reserved constraint bytes. dptc_reserved_constraint_byte[ i ] can have any value. Displacement Frame Parameter Set RBSP Semantics General displacement frame parameter set RBSP semantics dfps_displ_sequence_parameter_set_id specifies the value of dsps_sequence_parameter_set_id for the active displacement sequence parameter set. dfps_displ_parameter_set_id identifies the displacement frame parameter set so that other syntax elements can reference it. If dfps_output_flag_present_flag is 1, it indicates that the displ_output_flag syntax element is present in the associated displacement header. If dfps_output_flag_present_flag is 0, it indicates that the displ_output_flag syntax element is not present in the associated displacement header. dfps_num_ref_idx_default_active_minus1: This value plus 1 represents the inferred value of the variable NumRefIdxActive for tiles with displ_num_ref_idx_active_override_flag equal to 0. The value of dfps_num_ref_idx_default_active_minus1 is in the range of 0 to 14. dfps_additional_lt_dfoc_lsb_len indicates the value of the variable MaxLtDisplFrmOrderCntLsb used in the decoding process of the reference atlas frame list. MaxLtDisplFrmOrderCntLsb = 2 * (Log2MaxDisplFrmOrderCntLsb + dfps_additional_lt_dfoc_lsb_len) The value of dfps_additional_lt_dfoc_lsb_len is in the range of 0 to 32 - Log2MaxDisplFrmOrderCntLsb. If dsps_long_term_ref_displ_frames_flag is 0, the value of dfps_additional_lt_dfoc_lsb_len is equal to 0. If dfps_extension_present_flag is 1, it indicates that the syntax element dfps_extension_8bits is present in the displacement frame parameter set. If dfps_extension_present_flag is 0, it indicates that the syntax element dfps_extension_8bits is not present. In this version of this document, the value of dfps_extension_present_flag is 0. If dfps_extension_8bits is 0, it indicates that the DFPS RBSP syntax structure does not have a dfps_extension_data_flag syntax element. If dfps_extension_8bits is present, it is equal to 0 in bitstreams that follow this version of this document. dfps_extension_data_flag can have any value. displ_no_output_of_prior_displ_frames_flag affects the output of previously decoded displacement frames in the DDB after decoding a displacement frame in a CDS AU that is not the first AU in the bitstream as specified in ISO / IEC 23090-29. If no_output_of_prior_displ_frames_flag is absent, its value is inferred to be equal to 0. As a requirement for bitstream conformance, the value of no_output_of_prior_displ_frames_flag is the same for all displacement frames in an AU. The no_output_of_prior_displ_frames_flag value in the displacement header is the output_of_prior_displ_frames_flag value of the AU. displ_frame_parameter_set_id indicates the value of dfps_displ_frame_parameter_set_id for the active displacement frame parameter set for the current displacement frame. dislp_type indicates the coding type of the current displacement frame, according to the table below. The values ​​of smh_type are 0, 1, or 2 in bitstreams that follow this version of this document. Other values ​​of smh_type are reserved for future use in ISO / IEC. Relationship to dislp_type smh_typeName of smh_type0P_DISPLACEMENT1I_DISPLACEMENT2...RESERVED displ_output_flag: Affects the decoded displacement output and removal process as specified in ISO / IEC 23090-29. If displ_output_flag is absent, it is inferred to be equal to 1. displ_frm_order_cnt_lsb: Indicates the number of displacement frame orders modulo MaxDisplFrmOrderCntLsb for the current displacement frame. The length of the displ_frm_order_cnt_lsb syntax element is equal to Log2MaxDisplFrmOrderCntLsb bits. The value of displ_frm_order_cnt_lsb ranges from 0 to MaxDisplFrmOrderCntLsb - 1. If ref_displ_frame_list_dsps_flag is 1, it indicates that the reference displacement frame list of the current displacement frame is derived based on one of the displ_ref_list_struct(rlsIdx) syntax structures of the active DSPS. If ref_displ_frame_list_dsps_flag is 0, it indicates that the reference displacement frame list of the current displacement frame is derived based on the displ_ref_list_struct(rlsIdx) syntax structure directly included in the displacement frame header of the current displacement frame. When dsps_num_ref_displ_frame_lists_in_dsps is 0, the value of ref_displ_frame_list_dsps_flag is inferred to be 0. ref_displ_frame_list_idx indicates the index of the displ_ref_list_struct(rlsIdx) syntax structure used to derive the reference displacement frame list for the current displacement frame in the list of displ_ref_list_struct(rlsIdx) syntax structures contained in the active DSPS. The syntax element ref_displ_frame_list_idx is expressed in bits Ceil(Log2(dsps_num_ref_displ_frame_lists_in_dsps)) . If not present, the value of ref_displ_frame_list_idx is inferred to be equal to 0. The value of ref_displ_frame_list_idx is in the range 0 to dsps_num_ref_displ_frame_lists_in_dsps - 1. If ref_displ_frame_list_dsps_flag is 1 and dsps_num_ref_displ_frame_lists_in_dsps is 1, the value of ref_displ_frame_list_idx is inferred to be equal to 0. The variable RlsIdx of the current atlas tile is derived as follows: RlsIdx = ref_displ_frame_list_dsps_flag ? ref_displ_frame_list_idx : dsps_num_ref_displ_frame_lists_in_dsps If additional_dfoc_lsb_present_flag[ j ] is 1, it indicates that additional_dfoc_lsb_val[ j ] is present for the current displacement frame. If additional_dfoc_lsb_present_flag[ j ] is 0, it indicates that additional_dfoc_lsb_val[ j ] is not present. additional_dfoc_lsb_val[ j ] represents the value of FullFrmOrderCntLsbLt[ RlsIdx ][ j ] for the current atlas tile, as follows: FullDisplFrmOrderCntLsbLt[RlsIdx][j] = additional_dfoc_lsb_val[ j ] * MaxDisplFrmOrderCntLsb +dfoc_lsb_lt[ RlsIdx ][ j ] The syntax element additional_dfoc_lsb_val[ j ] is represented by dfps_additional_lt_dfoc_lsb_len bits. If it is not present, the value of additional_dfoc_lsb_val[ j ] is inferred to be equal to 0. If num_ref_idx_active_override_flag is 1, it indicates that there is a syntax element num_ref_idx_active_minus1 for the current displacement frame. If num_ref_idx_active_override_flag is 0, it indicates that there is no syntax element num_ref_idx_active_minus1. If num_ref_idx_active_override_flag is absent, its value is inferred to be 0. num_ref_idx_active_minus1 is used to derive the variable NumRefIdxActive as specified in Equation 5 for the current displacement frame. The value of num_ref_idx_active_minus1 is in the range 0 to 14. If the current displacement frame is a P_DISPLACEMENT displacement frame, num_ref_idx_active_override_flag is 1, and num_ref_idx_active_minus1 is absent, then num_ref_idx_active_minus1 is inferred to be equal to 0. The variable NumRefIdxActive is derived as follows: if( displ_type == P_DISPLACEMENT ) { if( num_ref_idx_active_override_flag == 1 ) NumRefIdxActive = num_ref_idx_active_minus1 + 1 else { if( num_ref_entries[ RlsIdx ] >= dfps_num_ref_idx_default_active_minus1 + 1 ) NumRefIdxActive = dfps_num_ref_idx_default_active_minus1 + 1 else NumRefIdxActive = num_ref_entries[RlsIdx] } } else NumRefIdxActive = 0 The value of NumRefIdxActive minus 1 represents the maximum number of displacement reference frame indices that can be used to decode the current displacement frame. Displacement Reference List Structure Semantics: drl_num_ref_entries[rlsIdx] represents the number of entries in the displ_ref_list_struct(rlsIdx) syntax structure, where rlsIdx is the index of the displacement frame reference list. For P_DISPLACEMENT, the value of num_ref_entries[rlsIdx] is in the range of 1 to dsps_max_dec_displ_frame_buffering_minus1 + 1. Otherwise, the value of num_ref_entries[rlsIdx] is in the range of 0 to dsps_max_dec_displ_frame_buffering_minus1 + 1. If drl_st_ref_displ_frame_flag[rlsIdx][i] is 1, it indicates that the ith entry in the displ_ref_list_struct(rlsIdx) syntax structure is a short-term reference displacement frame entry. If st_ref_displ_frame_flag[rlsIdx][i] is 0, it indicates that the ith entry in the displ_ref_list_struct(rlsIdx) syntax structure is a long-term reference displacement frame entry. If not present, the value of drl_st_ref_displ_frame_flag[rlsIdx][i] is inferred to be equal to 1. The variable NumLtrDisplFrmEntries[rlsIdx] is derived as follows: NumLtrDisplFrmEntries[rlsIdx] = 0 for( i = 0; i < drl_num_ref_entries[rlsIdx]; i++) if(!drl_st_ref_displ_frame_flag[rlsIdx][i]) NumLtrDisplFrmEntries[rlsIdx]++ drl_abs_delta_dfoc_st[rlsIdx][i], if the i-th entry is the first short-term reference displacement frame entry in the displ_ref_list_struct(rlsIdx) syntax structure, specifies the absolute difference between the displacement frame order count values ​​of the current displacement frame referenced by the i-th entry, or if the i-th entry is a short-term reference displacement frame entry but is not the first short-term reference displacement frame entry in the displ_ref_list_struct(rlsIdx) syntax structure, specifies the absolute difference between the displacement frame order count values ​​of the displacement frames referenced by the i-th entry and the previous short-term reference displacement frame entry in the displ_ref_list_struct(rlsIdx) syntax structure. The value of drl_abs_delta_dfoc_st[rlsIdx][i] is in the range of 0 to 215-1. If drl_straf_entry_sign_flag[rlsIdx][i] is 1, it indicates that the ith entry in the syntax structure displ_ref_list_struct(rlsIdx) has a value greater than or equal to 0. If drl_straf_entry_sign_flag[rlsIdx][i] is 0, it indicates that the ith entry in the syntax structure displ_ref_list_struct(rlsIdx) has a value less than 0. If absent, the value of drl_straf_entry_sign_flag[rlsIdx][i] is inferred to be 1. The DeltaDfocSt[rlsIdx][i] list is derived as follows: for( i = 0; i < drl_num_ref_entries[rlsIdx]; i++ ) if( drl_st_ref_displ_frame_flag[rlsIdx][i]) DeltaDfocSt[rlsIdx][i] = ( 2 * drl_straf_entry_sign_flag[rlsIdx][i] - 1) * drl_abs_delta_dfoc_st[rlsIdx][i] else DeltaDfocSt[rlsIdx][i] = 0 drl_dfoc_lsb_lt[rlsIdx][i] represents the displacement frame order count value for MaxDisplFrmOrderCntLsb of the displacement frame referenced by the i-th item of the displ_ref_list_struct(rlsIdx) syntax structure. The length of the drl_dfoc_lsb_lt[ rlsIdx ][ i ] syntax element is Log2MaxDisplFrmOrderCntLsb bits. Displacement Layer RBSP Semantics: Displacement header semantics: dh_no_output_of_prior_displ_frames_flag affects the output of previously decoded displacement frames in the DDB after decoding displacement frames in a CDS AU that is not the first AU in the bitstream as specified in ISO / IEC 23090-29. If no_output_of_prior_displ_frames_flag is absent, its value is inferred to be 0. As a requirement for bitstream conformance, the value of no_output_of_prior_displ_frames_flag is the same for all displacement frames in an AU. The no_output_of_prior_displ_frames_flag value in the displacement header is the output_of_prior_displ_frames_flag value of the AU. dh_frame_parameter_set_id indicates the dfps_displ_frame_parameter_set_id value for the active displacement frame parameter set for the current displacement frame. dh_id dh_type indicates the coding type of the current displacement frame, as shown in the table below. The value of dh_type is 0 or 1 in bitstreams that follow this version of this document. Other values ​​of dh_type are reserved for future use in ISO / IEC. dh_type relationship smh_typeName of smh_type0P_DISPLACEMENT1I_DISPLACEMENT2...RESERVED dh_frm_order_cnt_lsb: Indicates the number of displacement frame orders modulo MaxDisplFrmOrderCntLsb for the current displacement frame. The length of the dh_frm_order_cnt_lsb syntax element is equal to Log2MaxDisplFrmOrderCntLsb bits. The value of dh_frm_order_cnt_lsb ranges from 0 to MaxDisplFrmOrderCntLsb - 1. If dh_ref_displ_frame_list_dsps_flag is 1, it indicates that the reference displacement frame list of the current displacement frame is derived based on one of the displ_ref_list_struct(rlsIdx) syntax structures of the active DSPS. If dh_ref_displ_frame_list_dsps_flag is 0, it indicates that the reference displacement frame list of the current displacement frame is derived based on the displ_ref_list_struct(rlsIdx) syntax structure directly included in the displacement frame header of the current displacement frame. If dsps_num_ref_displ_frame_lists_in_dsps is 0, the value of dh_ref_displ_frame_list_dsps_flag is inferred to be 0. dh_ref_displ_frame_list_idx specifies the index into the list of displ_ref_list_struct(rlsIdx) syntax structures contained in the active DSPS, which are used to derive the reference displ frame list of the current displ frame. The syntax element dh_ref_displ_frame_list_idx is expressed in Ceil(Log2(dsps_num_ref_displ_frame_lists_in_dsps)) bits. If not present, the value of dh_ref_displ_frame_list_idx is inferred to be equal to 0. The value of dh_ref_displ_frame_list_idx is in the range of 0 to dsps_num_ref_displ_frame_lists_in_dsps - 1. If dh_ref_displ_frame_list_dsps_flag is 1 and dsps_num_ref_displ_frame_lists_in_dsps is 1, the value of ref_displ_frame_list_idx is inferred to be 0. The variable RlsIdx of the current atlas tile is derived as follows: RlsIdx = dh_ref_displ_frame_list_dsps_flag ? ref_displ_frame_list_idx : dsps_num_ref_displ_frame_lists_in_dsps If dh_additional_dfoc_lsb_present_flag[ j ] is 1, it indicates that dh_additional_dfoc_lsb_val[ j ] is present in the current displacement frame. If dh_additional_dfoc_lsb_present_flag[ j ] is 0, it indicates that dh_additional_dfoc_lsb_val[ j ] is not present. dh_additional_dfoc_lsb_val[ j ] represents the value of FullFrmOrderCntLsbLt[ RlsIdx ][ j ] for the current atlas tile, as follows: FullDisplFrmOrderCntLsbLt[ RlsIdx ][ j ] = dh_additional_dfoc_lsb_val[ j ] * MaxDisplFrmOrderCntLsb +dfoc_lsb_lt[ RlsIdx ][ j ] The syntax element dh_additional_dfoc_lsb_val[ j ] is represented by dfps_additional_lt_dfoc_lsb_len bits. If it is not present, the value of dh_additional_dfoc_lsb_val[ j ] is inferred to be equal to 0. If dh_num_ref_idx_active_override_flag is 1, it indicates that there is a syntax element num_ref_idx_active_minus1 for the current displacement frame. If dh_num_ref_idx_active_override_flag is 0, it indicates that there is no syntax element num_ref_idx_active_minus1. If dh_num_ref_idx_active_override_flag is absent, its value is inferred to be equal to 0. dh_num_ref_idx_active_minus1 is used to derive the variable NumRefIdxActive for the current displacement frame. The value of dh_num_ref_idx_active_minus1 is in the range 0 to 14. If the current displacement frame is a P_DISPLACEMENT displacement frame, dh_num_ref_idx_active_override_flag is 1, and dh_num_ref_idx_active_minus1 is absent, then dh_num_ref_idx_active_minus1 is inferred to be equal to 0. The variable NumRefIdxActive is derived as follows: if( dh_type == P_DISPLACEMENT ) { if( dh_num_ref_idx_active_override_flag == 1 ) NumRefIdxActive = dh_num_ref_idx_active_minus1 + 1 else { if( num_ref_entries[ RlsIdx ] >= dfps_num_ref_idx_default_active_minus1 + 1 ) NumRefIdxActive = dfps_num_ref_idx_default_active_minus1 + 1 else NumRefIdxActive = num_ref_entries[RlsIdx] } } else NumRefIdxActive = 0 Subtracting 1 from NumRefIdxActive indicates the maximum number of displacement reference frame indices that can be used to decode the current displacement frame. Adding 6 to dh_log2_subblock_size_minus6 returns the value of the variable subblockSize as follows. subblockSize = 1 << ( log2_subblock_size_minus6 + 6 ) Displacement Data Unit Semantics: displ_intra_unit( displID ) contains a displacement unit stream as an aligned stream of bytes or bits, within which the locations of unit boundaries are identifiable from a pattern in the data. The format of this displacement unit stream is identified by the 4CC code defined by dptl_profile_codec_group_idc or by the component codec mapping SEI message. displ_inter_unit( displID ) contains a displacement unit stream, which is an aligned stream of bytes or bits, within which the locations of unit boundaries are identifiable by a pattern in the data. The format of this displacement unit stream is identified by a 4CC code or component codec mapping SEI message defined by dptl_profile_codec_group_idc. Displacement Intra Data Unit Semantics: The arithmetic decoding engine is a context-separated binary arithmetic decoder that performs binary renormalization and produces binary output. Displacement values ​​are derived from arithmetic decoding. diu_lod_count[ displID ] indicates the number of granularity levels used for signaled displacements in the data unit associated with displId displID. diu_vertex_count_lod[ displID ] [ i ] represents the displacement count for the i-th level of the wavelet transform for the data unit associated with displId displID. diu_last_sig_coeff[ k ] represents the index of the last position of a non-zero displacement coefficient level in the kth component. diu_coded_block_flag[ k ][ b ] indicates whether the block with index b has a non-zero displacement coefficient level in the kth component (if 1) or not (if 0). diu_coded_subblock_flag[ k ][ b ][ s ] indicates whether the subblock with index s of the block with index b has a non-zero displacement coefficient level in the kth component (if 1) or not (if 0). diu_coeff_abs_level_gt0[ k ][ b ][ s ][ v ] indicates whether the kth component of the displacement coefficient level associated with the vertex with index v in the subblock with index s of the block with index b has an absolute value greater than 0 (if 1) or not (if 0). diu_coeff_abs_level_gt1[ k ][ b ][ s ][ v ] indicates whether the kth component of the displacement coefficient level associated with the vertex with index v in the subblock with index s of the block with index b has an absolute value greater than 1 (if 1) or not (if 0). If diu_coeff_abs_level_gt1[ k ][ b ][ s ][ v ] is absent, it is inferred to be equal to 0. diu_coeff_sign[ k ][ b ][ s ][ v ] indicates whether the kth component of the displacement coefficient level associated with the vertex with index v in the subblock with index s of the block with index b has a positive sign (if 1) or not (if 0). If diu_coeff_sign[ k ][ b ][ s ][ v ] is absent, it is inferred to be equal to 1. diu_coeff_abs_level_rem[ k ][ b ][ s ][ v ] represents the absolute value of the kth component of the displacement coefficient level associated with the vertex with index v in the block with index b minus 2. If diu_coeff_abs_level_rem[ k ][ b ][ s ][ v ] is absent, it is inferred to be equal to 0. Displacement Inter-Data Unit Semantics: The arithmetic decoding engine is a context-separated binary arithmetic decoder that performs binary renormalization and produces binary output. The displacement residual is derived from arithmetic decoding. It can be the same as described above. Figure 17 shows a mesh system according to embodiments. Referring to the overall structure of the mesh system of Fig. 17, scenes and / or objects acquired using multiple cameras, sensors, and / or virtual cameras in the real world are output in the form of a V-DMC bitstream after going through mesh data pre-processing and mesh data encoding processes. This mesh bitstream can be converted into a file format suitable for storage and / or transmission through a file encapsulation process. The dynamic mesh player can restore the files acquired and / or received through the above process into a mesh bitstream format through a file decapsulation process, and the restored mesh bitstream can be displayed on a display device, etc. through a mesh data decoding process and a mesh data processing / rendering process. The mesh data encapsulation / decapsulation method according to the embodiments includes a method related to file / segment encapsulation or encapsulator and file / segment decapsulation or encapsulator. A track of a file according to embodiments may contain a common data structure. Common Data Structure: DMC Decoder Configuration Record: This information represents decoder configuration information for mesh-based point cloud content. This record contains a version field. The specification for this version defines version 1 of this record. Incompatible changes to the record are indicated by a change in the version number. Syntax: aligned(8) class DMCDecoderConfigurationRecord { unsigned int(8) configurationVersion = 1; unsigned int(8) num_of_setup_units; for (i=0; I < num_of_setup_units; i++) { unsigned int(8) setup_unit_type; / VPS, SPS, FPS, GPS, APS… SetupUnit setup_unit; } / There may be additional fields. } Semantics: configurationVersion: This is the version field. Incompatible changes to a record are indicated by a change in the version number. num_of_setup_units: Indicates the number of DMC setup units in the decoder configuration record. setup_unit_type represents a set of parameters of DMC-related types. A SetupUnit is an instance of an encapsulation structure that carries 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), and / or an APS (Attribute Parameter Set). These parameter sets may be based on parameter sets defined in the V-DMC specification. DMC decoder configuration box The DMC Decoder Configuration box contains a DMCDecoderConfigurationRecord. The version is 0. Syntax: class DMCConfigurationBox extends FullBox('dmcC', version = 0, 0) { DMCDecoderConfigurationRecord(); } Semantics: DMCDecoderConfigurationRecord follows the description above. DMC component information record: A DMC component information record represents DMC component information, including the type of DMC component (e.g., geometry or properties). Syntax: aligned(8) class DMCComponentInfoRecord(){ unsigned int(8) component_type; if(component_type == 4){ / property component unsigned int(8) attr_index; utf8string attr_name; } / Additional fields may exist. } Semantics: component_type: Identifies the type of DMC component as specified in the table below. In this version of this document, the value of this field is 1, 2, or 4. DMC Component Types component_type valueDescription1Displacement component2Geometry component3Reserved4Attribute component5...31Reserved attr_index is the type of the attribute, i.e. it can indicate its kind, and can be mapped to the bmsps_mesh_attribute_type_id value in the basemesh sequence parameter set. attr_name specifies a human-readable name for the type of DMC attribute component. DMC Component Information Box If this box is present in a sample entry on a track, it indicates the type of DMC component that is being carried by that track. If this box is present in a sample entry on a DMC Attribute track, it also provides the attribute name and optional attribute type information. Syntax: aligned(8) class DMCComponentInfoBox extends FullBox('dcin', 0, flags){ DMCComponentInfoRecord(); } Semantics: DMCComponentInfoRecord follows the description above. Multi-track encapsulation: When a mesh data encoding method according to embodiments encodes mesh data to generate a V-DMC bitstream and encapsulates the bitstream into one or more tracks, a track type can be configured according to a data type included in the bitstream. Each of these can process a basemesh track, an atlas track, a geometry track or a displacement track, and an attribute track. The geometry track corresponds to a case where displacement data is recorded with a video codec, and the displacement track corresponds to a case where arithmetic coding is used. In addition, when the displacement data is processed with arithmetic coding, basemesh data, atlas data, and displacement data can be configured as one track and encapsulated. 4.6.1 Basemesh track sample entry Sample Entry Type: 'bmc1', 'bmcg' Container: SampleDescriptionBox Mandatory: A 'bmc1' or 'bmcg' sample entry is mandatory Quantity: One or more The basemesh data of the V-DMC bitstream can be encpasulated into a basemesh track. The sample entry of the basemesh track can contain DMCConfigurationBox information. If the sample entry type is 'bmc1', all parameter sets related to the basemesh data can be included in the setup_unit of the DMCConfigurationBox. If the sample entry type is 'bmcg', all parameter sets related to the basemesh data can be included in the setup_unit of the DMCConfigurationBox, and / or can be included in the sample of the basemesh track. The receiver can recognize the track whose sample entry type is 'bmc1' or 'bmcg' as an entry point and operate. Syntax: aligned(8) class DMCBaseMeshSampleEntry() extends VolumetricVisualSampleEntry (type) { / type is 'bmc1' or 'bmcg' DMCConfigurationBox config; / as defined in section 4.5.2 } Semantics: config is the decoder configuration box mentioned above. If the basemesh track is an entry point, the config information may include a V-DMC or V3C parameter set (VPS) and / or parameter sets such as SPS, FPS, etc. associated with the basemesh bitstream. Basemesh track sample format As in ISO / IEC 23090-29, each sample in a basemesh track corresponds to a single coded basemesh access unit. Syntax aligned(8) class DMCBaseMeshSample { / sample_size size of sample from SampleSizeBox for (int i = 0; i < sample_size; ) { sample_stream_nal_unit ss_nal_unit; / See the sample stream NAL unit description above. i += ss_nal_unit.ssnu_nal_unit_size; / You can create a nal unit of the base mesh sample by increasing the count i by the sample stream nal unit size. } Semantics: A sample stream NAL unit (ss_nal_unit) contains a single NAL unit (bmesh_nal_unit) within the NAL unit sample stream format as defined in ISO / IEC 23090-29. NAL unit size (ssnu_nal_unit_size) Indicates the size in bytes of the sample stream NAL unit. Displacement track sample entry Sample Entry Type: 'dpc1', 'dpcg' Container: SampleDescriptionBox Mandatory: A 'dpc1' or 'dpcg' sample entry is mandatory Quantity: One or more If the displacement data of the DMC bitstream is encoded with arithmetic coding, it can be encapsulated into a displacement track. A sample entry of the displacement track can contain DMCConfigurationBox information. If the sample entry type is 'dpc1', all related parameter sets can be included in the setup unit of the DMCConfigurationBox. If the sample entry type is 'dpcg', all related parameter sets can be included in the setup unit (setup_unit) of the DMCConfigurationBox, and / or can be included in a sample of the displacement track. Syntax: aligned(8) class DMCDisplSampleEntry() extends VolumetricVisualSampleEntry (type) { / type is 'dpc1' or 'dpcg' DMCConfigurationBox config; / as defined in section 4.5.2 } Semantics: config is the decoder configuration box mentioned above. Displacement Track Sample Format: Syntax: aligned(8) class DMCDisplSample { / sample_size size of sample from SampleSizeBox for (int i = 0; i < sample_size; ) { sample_stream_nal_unit ss_nal_unit; / See the sample stream NAL unit description above. i += ss_nal_unit.ssnu_nal_unit_size; / You can create a nal unit of the base mesh sample by increasing the count i by the sample stream nal unit size. } } Semantics: A sample stream NAL unit (ss_nal_unit) contains a single NAL unit (displ_nal_unit) within the NAL unit sample stream format, as defined in ISO / IEC 23090-29. The sample stream NAL unit size (ssnu_nal_unit_size) indicates the size in bytes of the sample stream NAL unit. Atlas Track The V-DMC specification, i.e. ISO / IEC 23090-29, is currently being developed and standardized by MPEG regarding the utilization method of atlas data constituting dynamic mesh bitstream. If the atlas data is used for the same or similar purpose as in the V3C specification, i.e. ISO / IEC 23090-5, the file encapsulation method for the atlas data can follow the syntax and semantics of the atlas sample entry and sample format defined in the Carriage of V3C specification, i.e. ISO / IEC 23090-10. However, the sample entry type can be newly defined in V-DMC, such as 'dmc1' when the parameter set is the same and does not change within the stream, or 'dmcg' when the parameter set changes within the stream. The receiver can recognize and operate a track whose sample entry type is 'dmc1' or 'dmcg' as an entry point. If an atlas track is an entry point, the config information that can be included in the sample entry can include a V-DMC or V3C parameter set (VPS) and / or a parameter set such as SPS, FPS, etc. related to the atlas bitstream. DMC video component track Displacement data that composes a dynamic mesh bitstream can follow the Carriage of V3C specification, i.e. the file encapsulation method for 2D video of ISOBMFF referenced in ISO / IEC 23090-10, for geometry data and attribute data encoded by a video codec. The receiver can determine information about each data type included in the corresponding track through the V3CUnitHeaderBox information included in the SchemeInformationBox. The syntax and semantics of V3CunitHeaderBox can follow the V3C specification, i.e. ISO / IEC 23090-5, as described above. The V3C Video Component Track carries 2D video encoded data of a V3C Video Component. The storage of V3C Video Component Tracks leverages existing features of the ISO Base Media File Format and derived specifications. For example, ISO / IEC 14496-15 defines a mechanism for carrying V3C Video Component encoded in ISO / IEC 14496-10 and ISO / IEC 23008-2. The V3C video component track must be represented as a constrained video in the file, using the common constrained sample item 'resv' with additional requirements. SchemeTypeBox is in RestrictedSchemeInfoBox and scheme_type is set to 'vvvc' SchemeInformationBox is in RestrictedSchemeInfoBox and contains V3CUnitHeaderBox. In the track header, the track_in_movie flag is set to 0 to indicate that this track should not be displayed alone. Through the aforementioned DMCComponentInfoBox signaling, the receiver can determine the data component type contained in the corresponding track and information about each data. Submesh track sample entry Sample Entry Type: 'smc1' Container: SampleDescriptionBox Mandatory: Yes Quantity: One or more If the base mesh data consists of one or more submesh data, the submesh data can be encapsulated into submesh tracks, i.e., tracks whose sample entry type is 'smc1'. The sample entry of each submesh track can include information about the submesh data it contains. Syntax aligned(8) class DMCSubMeshSampleEntry() extends VolumetricVisualSampleEntry (type) { / type is 'smc1' DMCSubMeshConfigurationBox submesh_info } Semantics: Submesh_info is information about the submesh included in the track described later (see DMCSubMeshConfigurationBox). Submesh track sample format Each sample within a submesh track corresponds to a single coded submesh access unit, as defined in ISO / IEC 23090-29. Syntax: aligned(8) class DMCSubMeshSample { / sample_size size of sample from SampleSizeBox for (int i = 0; i < sample_size; ) { sample_stream_nal_unit ss_nal_unit; The sample stream NAL unit mentioned above. i += ss_nal_unit.ssnu_nal_unit_size; / You can create a nal unit of the base mesh sample by increasing the count i by the sample stream nal unit size. } } Semantics: A NAL unit (ss_nal_unit) contains a single NAL unit (bmesh_nal_unit) within the NAL unit sample stream format as defined in ISO / IEC 23090-29. The content for the base mesh sample and the content for the sub mesh sample can be identical. Figure 18 shows the tracks of a file according to embodiments. Track References If the basemesh track is an entry track: Among the tracks composed of each track type, the base mesh track can be set as the entry point where the file parser can start parsing for the first time. References between tracks can be made using the TrackReferenceBox of the TrackBox defined in the ISOBMFF specification (ISO / IEC 14496-12) within each track. The possible reference relationships between the tracks are as follows: Track Reference Method 1 Figure 18(a) is an example in which a basemesh track references an atlas track, and the atlas track references a geometry track and an attribute track. To connect different types of tracks, use the track reference tool from ISO / IEC 14496-12. Add a TrackReferenceTypeBox to the TrackReferenceBox in the TrackBox of the basemesh track. The TrackReferenceTypeBox contains an array of track_IDs that specify the tracks that the DMC track references. To associate a basemesh track with an atlas track, the reference type (reference_type) of the TrackReferenceTypeBox of the basemesh track identifies the associated atlas track, and the atlas track identifies the associated DMC track. The 4CCs for these track reference types are: 'bmct': the referenced atlas track(s). 'atcg': the referenced geometry track(s). 'atca': the referenced attribute track(s). Track Reference Method 2 Figure 18(b) is an example in which a base mesh track references an atlas track, a geometry track, and an attribute track. To associate a basemesh track with each track, the reference_type of the TrackReferenceTypeBox of the basemesh track identifies the associated DMC track. The 4CCs for these track reference types are: 'bmct': referenced atlas track(s) 'bmcg': Referenced geometry track(s) 'bmca': Referenced attribute track(s) Figure 19 shows the tracks of a file according to embodiments. If the Atlas track is an entry track: Among the tracks composed of each track type, an atlas track can be designated as the entry point where the file parser can start parsing for the first time. References between tracks can be made using the TrackReferenceBox of the TrackBox defined in the ISOBMFF specification (ISO / IEC 14496-12) within each track. The possible reference relationships between tracks are as shown in Fig. 19. To connect different types of tracks, use the track reference tool from ISO / IEC 14496-12. Add a TrackReferenceTypeBox to the TrackReferenceBox in the TrackBox of the basemesh track. The TrackReferenceTypeBox contains an array of track_IDs that specify the tracks that the V-DMC track references. To associate a basemesh track with an atlas track, the reference_type of the TrackReferenceTypeBox of the basemesh track identifies the associated atlas track, and the reference_type of the TrackReferenceTypeBox of the basemesh track identifies the associated V-DMC track that the atlas track is associated with. The 4CCs for these track reference types are: 'atcb': Referenced basemesh track(s) 'atcg': Referenced geometry track(s) 'atca': referenced attribute track(s) The mesh encoding method according to the embodiments can group tracks. Submesh track group The mesh encoding method according to the embodiments may include a method of indicating that each identical submesh track is the same basemesh when encapsulated into one or more submesh tracks. definition: Box Types: 'sutg' Container: TrackGroupBox Mandatory: No Quantity: Zero or more Submesh track groups are defined using the track group type SubmeshTrackGroupBox, which extends TrackGroupTypeBox defined in ISO / IEC 14496-12. A SubmeshTrackGroupBox represents that a track belongs to a set of tracks that constitute a submesh group. For each submesh group that a track belongs to, there is a corresponding instance of SubmeshTrackGroupBox in the TrackGroupBox of that track, with a unique track_group_id for that playout group. Syntax: aligned(8) class SubmeshTrackGroupBox extends TrackGroupTypeBox('sutg') { / track_group_id is inherited from TrackGroupTypeBox } Submesh data encapsulation method: How to signal by defining DMCSubMeshConfigurationBox: Submesh related information included in a V-DMC bitstream can be signaled in the sample entries of a submesh track when a V-DMC track is encapsulated into multiple tracks. Syntax: aligned(8) class DMCSubMeshConfigurationBox { unsigned int(8) num_of_submeshes; for (i=0; i < num_of_submeshes; i++) { unsigned int(8) submesh_id; } / There may be additional fields. } Semantics: Number of submeshes (num_of_submeshes): Indicates the number of submeshes in the bitstream. The num_of_submeshes value can be mapped to the bmsi_num_submeshes_minus1 value in the bmesh_sub_mesh_information() information. Submesh ID (submesh_id): Identifier of each submesh in the bitstream. The submesh_id value can be mapped to the bmsi_submesh_id value in the bmesh_sub_mesh_information() information. A method using subsamples To use SubSampleInformationBox in V-DMC bitstream, subsamples are defined based on the value of the flag field of SubSampleInformationBox. The flag field indicates the type of subsample information provided in this box as follows. -0: Submesh-based subsamples. A subsample contains one or more contiguous submesh data units corresponding to one V-DMC submesh. - Other values ​​for the flag are reserved. The subsample_priority field is set to a value according to the specification for this field in ISO / IEC 14496-12 [ISOBMFF]. The codec_specific_parameters field of SubsampleInformationBox is defined as follows: if (flags == 0) { unsigned int(1) submesh_data_present; bit(7) reserved = 0; if (submesh_data_present) unsigned int(24) submesh_id; else bit(24) reserved = 0;} submesh_data_present: If this value is 1, it indicates that the subsample contains submesh data units. Submesh ID (submesh_id): Identifier of each submesh in the bitstream. The submesh_id value can be mapped to the bmsi_submesh_id value in the bmesh_sub_mesh_information() information. The encoding / decoding method according to the embodiments includes a partial access signaling method. Submesh related information included in a V-DMC bitstream may be included in a submesh track of the file. Additionally, submesh related information included in a V-DMC bitstream may be included in a sample entry of a basemesh track of the file, and / or a sample entry of an atlas track. Submesh information structure: Syntax: aligned(8) class SubmeshInfoStruct() { unsigned int(16) num_submeshes; unsigned int(1) tile_mapping_present_flag; unsigned int(7) reserved; for (i=0; i < num_submeshes; i++) { unsigned int(16) submesh_id; if(tile_mapping_present_flag) { TileMappingInfoStruct(); } } } The submesh information may include submesh IDs for a plurality of submeshes and tile mapping information associated with the submesh IDs. Similarly, the submesh information may include tile IDs for a plurality of tiles and submesh mapping information associated with the tile IDs. Semantics: Number of submeshes (num_submeshes): This submesh information indicates the number of submeshes signaled in the structure. Tile Mapping Present Flag (tile_mapping_present_flag): Indicates whether each submesh has dimension information. Submesh ID (submesh_id): The identifier of the submesh. The tile mapping information structure (TileMappingInfoStruct()) represents V-DMC atlas tile information associated with the submesh defined below. Tile mapping information structure: Syntax: aligned(8) class TileMappingInfoStruct() { unsigned int(16) num_tiles; for (j=0; j < num_tiles; j++) { unsigned int(16) tile_id; } } Semantics: Number of tiles (num_tiles): Indicates the number of V-DMC atlas tiles signaled in this tile mapping information structure. Tile ID (tile_id): Identifier of the V-DMC atlas tile being signaled. Additionally, the aforementioned submesh information structure can be defined and signaled as follows for mapping information with one or more atlas tiles. Syntax: aligned(8) class SubmeshInfoStruct() { unsigned int(16) num_submeshes; for (i=0; i < num_submeshes; i++) { unsigned int(16) submesh_id; } } aligned(8) class TileMappingInfoStruct() { unsigned int(15) num_tiles; unsigned int(1) submesh_info_present_flag; for (j=0; j < num_tiles; j++) { unsigned int(16) tile_id; if(submesh_info_present_flag) { SubmeshInfoStruct(); } } } Semantics: Number of tiles (num_tiles): Indicates the number of V-DMC atlas tiles signaled in this submesh information structure. Submesh_info_present_flag: Indicates the presence of submesh information for the associated atlas tile. Tile ID (tile_id): Identifier of the V-DMC atlas tile being signaled. SubmeshInfoStruct(): Provides V-DMC submesh information associated with an atlas tile. Spatial region information structure: Syntax: aligned(8) class VDMCSpatialRegionStruct() { unsigned int(32) size; unsigned int(16) region_id; unsigned int(1) bounding_box_present_flag; unsigned int(1) dimensions_included_flag; unsigned int(1) submesh_info_present_flag; unsigned int(5) reserved; if(bounding_box_present_flag) { VDMCBoundingBox(dimensions_included_flag); } if(submesh_info_present_flag) { SubmeshInfoStruct(); } } Semantics: size: An integer value specifying the number of bytes in this element, including all fields and contained elements. Region ID (region_id): Identifier of the 3D spatial region. Bounding box presence flag (bounding_box_present_flag): Indicates whether there is 3D bounding box information for the signaled area. dimensions_included_flag: Indicates whether the signaled spatial domain has dimension information. Submesh information presence flag (submesh_info_present_flag): Indicates whether submesh information exists in the signaled spatial region. The VDMC bounding box information can basically follow the information defined in the V3C carriage (ISO / IEC 23090-10) or G-PCC carriage (ISO / IEC 23090-18). The submesh information structure (SubmeshInfoStruct()) information may be information related to the submesh as described above. Additionally, information related to partial access mapping based on the aforementioned 3D spatial region can be defined and signaled as follows. Syntax: aligned(8) class VDMCSpatialRegionStruct() { unsigned int(32) size; unsigned int(16) region_id; unsigned int(1) bounding_box_present_flag; unsigned int(1) dimensions_included_flag; unsigned int(1) tile_mapping_info_present_flag; unsigned int(5) reserved = 0; if(bounding_box_present_flag) { VDMCBoundingBox(dimensions_included_flag); } if(tile_mapping_info_present_flag) { TileMappingInfoStruct(); } } Semantics: size is an integer value specifying the number of bytes in this element, including all fields and contained elements. The space ID (region_id) is an identifier of a 3D space region. The bounding_box_present_flag indicates whether there is 3D bounding box information for the signaled area. The dimensions_included_flag indicates whether the signaled spatial domain has dimension information. The tile mapping information presence flag (tile_mapping_info_present_flag) indicates whether tile mapping information for the signaled spatial region exists. The VDMC bounding box information can basically follow the information defined in the V3C carriage (ISO / IEC 23090-10) or G-PCC carriage (ISO / IEC 23090-18). The tile mapping information structure (TileMappingInfoStruct()) information may be atlas tile related information as described above. A submesh track of a mesh data related file according to embodiments may include static spatial domain signaling information. Static spatial region signalling: Static spatial domain information can be signaled in the sample entries of the basemesh track or in the sample entries of the atlas track. Box Types: 'vdsr' Container: DMCBaseMeshSampleEntry ('bmc1', 'bmcg') or V3CatlasSampleEntry('v3c1', 'v3cg', 'v3a1', 'v3ag') Mandatory: No Quantity: Zero or one DMCSpatialRegionInfoBox provides information about one or more 3D spatial regions of the V-DMC bitstream carried by each track. Syntax: aligned(8) class DMCSpatialRegionInfoBox extends FullBox('vdsr',0,0){ unsigned int(16) num_regions; for (int i=0; i < num_regions; i++) { VDMCSpatialRegionStruct(); } } Semantics: num_regions indicates the number of the signaled 3D spatial regions. VDMCSpatialRegionStruct() provides the 3D spatial region information as defined in section 4.10.3 in this document. The number of regions (num_regions) indicates the number of 3D spatial regions being signaled. VDMCSpatialRegionStruct() provides the 3D spatial region information described above. Dynamic spatial region signalling: This metadata track with a sample entry type 'vddr' indicates the dynamically changed 3D spatial region information corresponding to the part or all of V-DMC bitstream or the association between the 3D spatial regions and submeshes and atlas tiles as well over time. If a V-DMC track, or Basemesh track is associated with the dynamic spatial region timed metadata track, the 3D spatial region information of the V-DMC bitstream carried by the track or the association between 3D spatial regions and submeshes and atlas tiles is considered as dynamic. This metadata track with sample entry type 'vddr' represents dynamically changing 3D spatial region information, or associations between 3D spatial regions and submeshes and atlas tiles, corresponding to part or all of a V-DMC bitstream over time. When a V-DMC Track or a BaseMesh Track is associated with a Dynamic Spatial Region Timed Metadata Track, the 3D spatial region information, or associations between 3D spatial regions and submeshes and atlas tiles in the V-DMC bitstream carried by the track, are considered to be dynamic. Syntax: aligned(8) class DynamicDMCSpatialRegionSampleEntry extends MetaDataSampleEtnry('vddr',0,0){ DMCSpatialRegionInfoBox region_info; } Semantics: Region information (region_info) represents the aforementioned initial 3D spatial region information (static spatial region signaling). Fig. 20 illustrates a mesh data receiving device according to embodiments. As shown in Fig. 20, the receiving device (decoder) can decode mesh data by parsing submesh tracks and submesh information. File Receiver: The receiver can receive dynamic mesh content consisting of submesh data in file form, and can parse one or more tracks contained within the file. File Parser: The file parser of the receiver (decoding device) can parse the sample entries of one or more tracks in the Dynamic Mesh content file to find BaseMesh tracks with sample entry types of 'bmc1' or 'bmcg'. The receiver can obtain decoder configuration information by parsing the DMCConfigurationBox included in the sample entry of the basemesh track. In addition, if the content supports partial access, the sample entry can include a DMC spatial region information box (DMCSpatialRegionInfoBox). A receiver (decoding device) supporting partial access can obtain information about each spatial region and one or more submeshes included in the spatial region and / or one or more atlas tiles by parsing the DMC spatial region information box (DMCSpatialRegionInfoBox). Additionally, the receiver can find an atlas track whose sample entry type is 'v3c1' or v3cg. The receiver can obtain information about decoder configuration included in the sample entry of the atlas track and information about V-DMC component tracks referenced. In case of content supporting partial access, the sample entry of the atlas track can include a DMC spatial region information box (DMCSpatialRegionInfoBox). A receiver supporting partial access can parse this DMC spatial region information box (DMCSpatialRegionInfoBox) to obtain information about each spatial region and atlas tile included in the spatial region, and information about one or more submesh associated with each atlas tile. Bistream packager: The bitstream packager of the receiver can collect submesh-specific and / or atlas tile-specific data corresponding to each spatial region through the aforementioned file parsing to generate a decodable dynamic mesh basemesh bitstream. Figure 21 shows an example of encoding sub-mesh data according to embodiments. Referring to FIG. 21, the operation of the receiving device of FIG. 20 will be described further. FIG. 21 illustrates, for example, a case where texture and displacement data composed of three sub-meshes are encoded by a video codec. That is, it shows the relationship between texture (attribute) and displacement data (or geometry) related to a base mesh composed of three sub-meshes. When one spatial region includes base meshes of subIndex 0 and subIndex 2, the receiver can select and decode the corresponding texture and displacement data. Figure 22 shows an example of encoding sub-mesh data according to embodiments. Referring to Fig. 22, the operation of the Fig. 20 receiving device will be described further. Fig. 22 is an example of encoding displacement data and texture data composed of two atlas tiles and three submeshes into a video codec. When one spatial region includes the base mesh of submesh 0 and submesh 1, the receiver can select and decode the corresponding texture and displacement data. Figure 23 shows the relationship between sub-mesh data and atlas tiles according to embodiments. Referring to FIG. 23, the operation of the receiving device of FIG. 20 will be explained further. FIG. 23 shows that one 3D object is composed of two spatial regions, and shows atlas tiles and submeshes corresponding to each spatial region. An object can contain three submeshes. Tile 0 can be generated from spatial region 1, and tile 1 can be generated from spatial region 2. Spatial region 1 can contain submesh 0 and submesh 1, and spatial region 2 can contain submesh 2. Displacement data (geometry) includes displacement information for submesh 0 and submesh 2 for tile 0, and includes displacement information for submesh 2 for tile 1. At this time, texture data (attribute) can include attributes for submesh 0 and submesh 2 for tile 0, and include attributes for submesh 1 for tile 1. When the decoding device partially accesses spatial area 1, the mapping relationship between tiles and sub-meshes for spatial area 1 can be confirmed through the aforementioned information, and displacement data and texture data for spatial area 1 required for decoding spatial area 1 can be partially decoded. The decoder (V-DMC Decoder) of Fig. 20 can decode a dynamic mesh bitstream composed of each spatial domain unit through the above-described decoding operation. Referring to Fig. 23, the operation of the decoder of Fig. 20 is described again as follows: In order to decode and render the spatial region 1 area of ​​a 3D object according to a viewport change by the user, for example, an atlas tile track including data of atlas tile 0 corresponding to spatial region 1 can be selected based on the DMC spatial region information box (DMCSpatialRegionInfoBox) information, and then a submesh track including data of submesh0 and submesh1 corresponding to atlas tile 0 can be selected and decoded and rendered. Accordingly, the atlas tile track including atlas tile 1 corresponding to spatial region 2, which is an area not displayed in the viewport, and the submesh track including submesh2 do not need to be decoded and rendered. Figure 24 shows a mesh data encoding method according to embodiments. The method of encoding a video according to the embodiments of the present invention includes operations of a transmitting device (100) in FIG. 1, a dynamic mesh video encoder (102) in FIG. 2, pre-processing and encoding in FIG. 3 and FIG. 5, pre-processing and encoding in FIG. 6-7, encoding and transmission in FIG. 13, pre-processing, encoding, and file / segment encapsulation in FIG. 17, and generates and transmits a file as in FIG. 15 to FIG. 19, and supports partial access as in FIG. 21 to FIG. 23. The encoding method according to the embodiments may include a step (S2400) of encoding mesh data. The encoding method according to the embodiments may further include a step (S2401) of encapsulating a file including a bitstream including mesh data. The encoding method according to the embodiments may further include a step of transmitting a file (S2402). An encoding device performing an encoding method comprises: a memory; and at least one processor connected to the memory; wherein the at least one processor can be configured to: encode mesh data; and encapsulate a file including a bitstream including the mesh data; and transmit the file. The structure of the bitstream and file generated by the encoding method and device follows the contents described above and below. Figure 25 shows a mesh data decryption method according to embodiments. The decoding method of FIG. 25 according to the embodiments includes a receiving device (110) of FIG. 1, a dynamic mesh video decoder (113), decoding of FIG. 11-12, receiving and decoding of FIG. 14, file / segment decapsulation, decoding, rendering of FIG. 17, receiving and decoding of FIG. 20, and receiving and parsing a file as in FIG. 15 to FIG. 19 and performing partial access decoding as in FIG. 21 to FIG. 23. A decryption method according to embodiments may include a step (S2500) of receiving a file including a bitstream including mesh data. The decryption method according to the embodiments may further include a step of decapsulating a file (S2501). The decryption method according to the embodiments may further include a step (S2502) of decoding mesh data. Referring to FIGS. 15 and 16 together, with respect to a bitstream configuration, the bitstream includes a sample stream header and at least one sample stream unit, and the at least one sample stream unit includes at least one of a parameter set, atlas data, basemesh data, displacement data, displacement video data, or attribute video data, and the sample stream header may include information indicating a type of the at least one sample stream unit. Referring together with FIG. 17, with respect to the file structure, the file includes at least one of a basemesh track, an atlas track, a geometry track, a displacement track, or an attribute track, a sample entry of the atlas track includes decoder configuration information, the decoder configuration information includes a unit type indicating one of a V-DMC parameter set, a sequence parameter set, a frame parameter set, a displacement parameter set, a geometry parameter set, or an attribute parameter set, a sample of the basemesh track includes a sample stream unit for the basemesh of the mesh data, a sample of the displacement track includes a sample stream unit for the displacement of the mesh data, the file further includes a submesh track including at least one submesh for the basemesh, a sample entry of the submesh track includes at least one number of submeshes, an ID of at least one submesh, and a sample of the submesh track can include a sample stream unit for at least one submesh. Referring to FIGS. 18 and 19 together, with respect to a track reference and an atlas track (entry point), the atlas track includes track reference information referencing at least one of a basemesh track, a geometry track, a displacement track, or an attribute track, and the track reference information may include an ID relating to at least one of the basemesh track, the geometry track, the displacement track, or the attribute track. With respect to the submesh information structure (SubmeshInfoStruct) for partial access signaling, the file further includes submesh information, for example, a sample entry of an atlas track of the file may include submesh information. The submesh information includes at least one of the number information of submeshes or the ID information of the submeshes, and the submesh track includes tile mapping information, and the tile mapping information may include at least one of the number information of tiles, a submesh information existence flag, the ID information of the tiles, or the submesh information. For partial access of a static spatial region, as a static signaling method, an atlas track sample entry according to embodiments may include a DMC spatial region information box (DMCSpatialRegionInfoBox), the DMC spatial region information box (DMCSpatialRegionInfoBox) may include a VDMC spatial region structure (VDMCSpatialRegionStruct), and the VDMC spatial region structure (VDMCSpatialRegionStruct) may include a submesh information structure (SubmeshInfoStruct). With respect to a VMDC spatial region structure (VDMCSpatialRegionStruct) for partial access signaling, the file further includes spatial region information, for example, a sample entry of an atlas track of the file may include spatial region information. The spatial region information includes at least one of ID information of the spatial region, a flag indicating whether bounding box information for the spatial region exists, a flag indicating whether tile mapping information for the spatial region exists, bounding box information, or tile mapping information, and the tile mapping information may include at least one of number of tiles information, a submesh information existence flag, ID information of a tile, or submesh information. With respect to static spatial region signaling for partial access signaling, the file further includes static spatial region information, for example, a sample entry of an atlas track of the file may include static spatial region information. The static spatial region information includes information on the number of spatial regions and information on the structure of the spatial region, and the information on the structure of the spatial region includes at least one of information on the number of tiles, a flag indicating whether bounding box information for the spatial region exists, a flag indicating whether tile mapping information for the spatial region exists, bounding box information, or tile mapping information, and the information on the tiles may include at least one of information on the number of tiles, a submesh information existence flag, information on the ID of tiles, or submesh information. With respect to dynamic spatial region signaling for partial access signaling, the file further includes a dynamic spatial region timed metadata track, wherein the dynamic spatial region timed metadata track includes information on the number of spatial regions and information on the structure of the spatial regions, wherein the spatial region structure information includes at least one of ID information of the spatial region, a flag indicating whether bounding box information for the spatial region exists, a flag indicating whether tile mapping information for the spatial region exists, bounding box information, or tile mapping information, and the tile mapping information may include at least one of information on the number of tiles, a submesh information existence flag, ID information of tiles, or submesh information. For partial access of a dynamic spatial region, as a dynamic signaling method, a timed metadata track sample entry according to embodiments may include a DMC spatial region information box (DMCSpatialRegionInfoBox), the DMC spatial region information box (DMCSpatialRegionInfoBox) may include a VDMC spatial region structure (VDMCSpatialRegionStruct), and the VDMC spatial region structure (VDMCSpatialRegionStruct) may include a submesh information structure (SubmeshInfoStruct). Referring to FIGS. 21, 22, and 23 together, in relation to a spatial domain partial decoding operation, at least one submesh related to a spatial domain for mesh data can be decoded based on at least one of decoder configuration information of a sample entry of an atlas track, submesh information, spatial domain information, or static spatial domain information, or a dynamic spatial domain timed metadata track of a file. A decryption device performing a decryption method comprises: a memory; and at least one processor connected to the memory; wherein the at least one processor can be configured to: receive a file including a bitstream including mesh data; decapsulate the file; and decode the mesh data. The embodiments have the following technical effects. The method / device according to the embodiments configures a V-DMC bit stream and stores a file as described above for providing a mesh content service. The V-DMC bit stream can be effectively multiplexed. Metadata for data processing and rendering in the V-DMC bit stream can be transmitted within the file. A video-based dynamic mesh compression processing device, transmitter, receiver, mesh player, encoder or decoder according to the embodiments provides the effects described above. In other words, the above-described data representation method provides the effect of efficiently accessing the V-DMC bitstream. The method / device according to the embodiments can efficiently store and transmit a file of the V-DMC bitstream through a storage technique and signaling of the V-DMC bitstream as multiple tracks in a file. As described above, if information on base mesh data composed of sub-meshes is provided at the file level, the decoder can efficiently manage available resources based on this information. In addition, by encapsulating each sub-mesh data into a sub-mesh track, partial access and decoding can be possible for each sub-mesh unit. As described above, by signaling by adding submesh information constituting a VDMC component to spatial domain information for partial access to 3D spatial domain units for VDMC content, the decoder can know information about one or more atlas tiles corresponding to the spatial domain as well as information about one or more linked submeshes, thereby having the effect of being able to distinguish between atlas tile tracks and submesh tracks corresponding to the spatial domain. 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. 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. 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”. 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 interpreted 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. 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

1. A step of receiving a file including a bitstream containing mesh data; a step of decapsulating the above file; and A step of decoding the above mesh data; comprising: How to decrypt.

2. In paragraph 1, The above bitstream includes a sample stream header and at least one sample stream unit, wherein said at least one sample stream unit comprises at least one of a parameter set, atlas data, basemesh data, displacement data, displacement video data, or attribute video data, The above sample stream header includes information indicating the type of at least one sample stream unit, How to decrypt.

3. In paragraph 1, The above file contains at least one of a basemesh track, an atlas track, a geometry track, a displacement track, or an attribute track, The sample entry of the above atlas track contains decoder configuration information, The above decoder configuration information includes a unit type representing one of a V-DMC parameter set, a sequence parameter set, a frame parameter set, a displacement parameter set, a geometry parameter set, or an attribute parameter set, The sample of the above base mesh track includes a sample stream unit for the base mesh of the above mesh data, The sample of the displacement track includes a sample stream unit for the displacement of the mesh data, The above file further comprises a submesh track comprising at least one submesh for the above basemesh, A sample entry of the above submesh track includes the number of at least one submesh, an ID of at least one submesh, The sample of the above submesh track includes a sample stream unit for at least one submesh. How to decrypt.

4. In paragraph 3, The atlas track includes track reference information referencing at least one of the basemesh track, the geometry track, the displacement track, or the attribute track, The track reference information includes an ID for at least one of the basemesh track, the geometry track, the displacement track, or the attribute track. How to decrypt.

5. In paragraph 3, The above file contains additional submesh information, The above submesh information includes at least one of the number of submesh information or the ID information of the submesh, The above submesh track contains tile mapping information, The above tile mapping information includes at least one of the number of tiles, a submesh information existence flag, tile ID information, or the submesh information. How to decrypt.

6. In paragraph 3, The above file further contains spatial domain information, The above spatial region information includes at least one of ID information of the spatial region, a flag indicating whether bounding box information for the spatial region exists, a flag indicating whether tile mapping information for the spatial region exists, the bounding box information, or the tile mapping information. The above tile mapping information includes at least one of the number of tiles, a submesh information existence flag, tile ID information, or the submesh information. How to decrypt.

7. In paragraph 3, The above file further contains static space area information, The above static spatial domain information includes spatial domain number information and spatial domain structure information, The above spatial region structure information includes at least one of ID information of the spatial region, a flag indicating whether bounding box information for the spatial region exists, a flag indicating whether tile mapping information for the spatial region exists, the bounding box information, or the tile mapping information. The above tile mapping information includes at least one of the number of tiles, a submesh information existence flag, tile ID information, or the submesh information. How to decrypt.

8. In paragraph 3, The above file further contains a dynamic space domain timed metadata track, The above dynamic spatial domain timed metadata track includes spatial domain number information and spatial domain structure information, The above spatial region structure information includes at least one of the ID information of the spatial region, a flag indicating whether bounding box information for the spatial region exists, a flag indicating whether tile mapping information for the spatial region exists, the bounding box information, or the tile mapping information. The above tile mapping information includes at least one of the number of tiles, a submesh information existence flag, tile ID information, or the submesh information. How to decrypt.

9. In paragraph 3, At least one submesh related to a spatial domain for the mesh data is decoded based on at least one of the decoder configuration information, submesh information, spatial domain information, or static spatial domain information of the sample entry of the atlas track, or a dynamic spatial domain timed metadata track of the file. How to decrypt.

10. Memory; and At least one processor coupled to said memory; wherein said at least one processor comprises: Receive a file containing a bitstream containing mesh data; Decapsulating the above file; and configured to decode the above mesh data; Decryption device.

11. Step of encoding mesh data; and A step of encapsulating a file including a bitstream including the above mesh data; and comprising the step of transmitting the above file; Encoding method.

12. In paragraph 11, The above bitstream includes a sample stream header and at least one sample stream unit, wherein said at least one sample stream unit comprises at least one of a parameter set, atlas data, basemesh data, displacement data, displacement video data, or attribute video data, The above sample stream header includes information indicating the type of at least one sample stream unit, Encoding method.

13. In paragraph 11, The above file contains at least one of a basemesh track, an atlas track, a geometry track, a displacement track, or an attribute track, The sample entry of the above atlas track contains decoder configuration information, The above decoder configuration information includes a unit type representing one of a V-DMC parameter set, a sequence parameter set, a frame parameter set, a displacement parameter set, a geometry parameter set, or an attribute parameter set, The sample of the above base mesh track includes a sample stream unit for the base mesh of the above mesh data, The sample of the displacement track includes a sample stream unit for the displacement of the mesh data, The above file further comprises a submesh track comprising at least one submesh for the above basemesh, A sample entry of the above submesh track includes the number of at least one submesh, an ID of at least one submesh, The sample of the above submesh track includes a sample stream unit for at least one submesh. Encoding method.

14. In paragraph 3, The atlas track includes track reference information referencing at least one of the basemesh track, the geometry track, the displacement track, or the attribute track, The track reference information includes an ID for at least one of the basemesh track, the geometry track, the displacement track, or the attribute track. How to decrypt.

15. Memory; and At least one processor coupled to said memory; wherein said at least one processor comprises: Encode mesh data; and Encapsulating a file containing a bitstream including the above mesh data; and configured to transmit the above file; Encoding device.

Citation Information

Patent Citations

  • Method and electronic device to perform operation according to expansion direction in response to expansion

    KR1020230015025A

  • Split rendering of extended reality data over 5g networks

    US20220369000A1

  • Apparatus, a method and a computer program for omnidirectional video

    US20230059516A1

  • Point cloud data transmission apparatus, point cloud data transmission method, point cloud data reception apparatus, and point cloud data reception method

    WO2021210763A1

  • Point cloud data transmission device, point cloud data transmission method, point cloud data receiving device, and point cloud data receiving method

    WO2023172098A1