Point cloud data transmission device, method executed by transmission device, point cloud data reception device, and method executed by reception device

By generating a sample group descriptor box and constructing G-PCC files, optimizing point cloud data storage and access, solving the problem of low efficiency of point cloud data processing in the existing technology and insufficient time can be scaled, realized efficient processing and high quality points Cloud service.

CN119366192APending Publication Date: 2025-01-24LG ELECTRONICS INC
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202380046766.0
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2022-04-22
Filing Date
2023-04-21
Publication Date
2025-01-24

AI Technical Summary

Technical Problem

The prior art is difficult to efficiently process large amounts of point cloud data, resulting in long wait times and high encoding/decoding complexity, while lacking time scalability in carrying point cloud compressed data.

Method used

By generating sample group description boxes with predetermined group types, geometry-based point cloud compression (G-PCC) files are constructed, optimizing the way point cloud data is stored in the file, supporting temporal scalability and efficient access to G-PCC components.

Benefits of technology

Realize efficient processing point cloud data, provide high -quality point cloud services, support general services such as VR and autonomous driving, and improve the performance and efficiency of point cloud content to provide systems.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119366192A_ABST
    Figure CN119366192A_ABST
Patent Text Reader

Abstract

A transmitting apparatus, a method performed by the transmitting apparatus, a receiving apparatus, and a method performed by the receiving apparatus for point cloud data are provided. A method performed by an apparatus for receiving point cloud data according to the present disclosure may comprise the steps of: acquiring a geometry-based point cloud compression (G-PCC) file including point cloud data; and acquiring a sample group description box having a specific group type from the G-PCC file, in which the number of entries within the sample group description box is equal to a value obtained by adding 1 to a highest time level identifier value included in a track based on the sample group description box being present in the track within the G-PCC file.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to methods and apparatus for processing point cloud content. Background Art

[0002] Point cloud content is expressed as a point cloud that is a set of points belonging to a coordinate system representing a three-dimensional space. Point cloud content can represent three-dimensional media and is used to provide various services such as virtual reality (VR), augmented reality (AR), mixed reality (MR), and self-driving services. Since tens of thousands to hundreds of thousands of point data are required to express point cloud content, a method for efficiently processing a large amount of point data is required. Summary of the invention

[0003] Technical issues

[0004] The present disclosure provides a device and method for efficiently processing point cloud data. The present disclosure provides a method and device for processing point cloud data for solving waiting time and encoding / decoding complexity.

[0005] In addition, the present disclosure provides an apparatus and method for supporting temporal scalability in the carriage of geometry-based point cloud compression data.

[0006] In addition, the present disclosure proposes a device and method for efficiently storing a G-PCC bit stream in a single track in a file, or storing the G-PCC bit stream separately in multiple tracks and providing a point cloud content service, which provides signaling of the G-PCC bit stream.

[0007] In addition, the present disclosure proposes an apparatus and method for processing file storage technology to support efficient access to stored G-PCC bitstreams.

[0008] The technical problems solved by the present disclosure are not limited to the above-mentioned technical problems, and other technical problems not described herein will be apparent to those skilled in the art through the following description.

[0009] Technical Solution

[0010] According to an embodiment of the present disclosure, a method performed by a receiving device of point cloud data may include the following steps: obtaining a geometry-based point cloud compression (G-PCC) file including the point cloud data; and obtaining a sample group description box having a predetermined group type from the G-PCC file. Based on the presence of the sample group description box in a track in the G-PCC file, an entry count in the sample group description box may be equal to a value obtained by adding 1 to a highest temporal level identifier value included in the track.

[0011] According to another embodiment of the present disclosure, a receiving device of point cloud data may include a memory and at least one processor. The at least one processor may obtain a geometry-based point cloud compression (G-PCC) file including the point cloud data and obtain a sample group description box with a predetermined group type from the G-PCC file. Based on the presence of the sample group description box in a track in the G-PCC file, an entry count in the sample group description box may be equal to a value obtained by adding 1 to a highest temporal level identifier value included in the track.

[0012] According to another embodiment of the present disclosure, a method performed by a transmitting device of point cloud data may include the following steps: generating a sample group description box having a predetermined group type; and generating a G-PCC file by including the sample group description box and the point cloud data. Based on the presence of the sample group description box in a track in the G-PCC file, an entry count in the sample group description box may be equal to a value obtained by adding 1 to a highest temporal level identifier value included in the track.

[0013] According to another embodiment of the present disclosure, a device for transmitting point cloud data may include a memory and at least one processor. The at least one processor may generate a sample group description box having a predetermined group type and generate a G-PCC file by including the sample group description box and the point cloud data. Based on the presence of the sample group description box in a track in the G-PCC file, an entry count in the sample group description box may be equal to a value obtained by adding 1 to a highest temporal level identifier value included in the track.

[0014] Beneficial Effects

[0015] The apparatus and method according to the embodiments of the present disclosure can process point cloud data with high efficiency.

[0016] The apparatus and method according to the embodiments of the present disclosure can provide high-quality point cloud services.

[0017] The device and method according to the embodiments of the present disclosure may provide point cloud content for providing general services such as VR services and autonomous driving services.

[0018] The apparatus and method according to an embodiment of the present disclosure may provide time scalability for efficiently accessing a desired component among G-PCC components.

[0019] The apparatus and method according to the embodiments of the present disclosure may support temporal scalability, so that data may be manipulated at a high level consistent with a network function or a decoder function, and thereby the performance of a point cloud content providing system may be improved.

[0020] The apparatus and method according to the embodiments of the present disclosure can solve the problem that a sample group description entry for an unreferenced index is included in a sample group description box, thereby improving efficiency.

[0021] The apparatus and method according to the embodiments of the present disclosure can solve the problem that sample group description entries are redundantly included in the sample group description box, thereby improving efficiency. BRIEF DESCRIPTION OF THE DRAWINGS

[0022] Figure 1 is a block diagram illustrating an example of a point cloud content providing system according to an embodiment of the present disclosure.

[0023] Figure 2 is a block diagram illustrating an example of a point cloud content providing process according to an embodiment of the present disclosure.

[0024] Figure 3 is a diagram illustrating an example of a point cloud encoding device according to an embodiment of the present disclosure.

[0025] Figure 4 is a block diagram illustrating an example of a point cloud decoding device according to an embodiment of the present disclosure.

[0026] Figure 5 is a block diagram illustrating another example of a point cloud decoding device according to an embodiment of the present disclosure.

[0027] Figure 6 is a diagram illustrating an example of a structure interacting with a point cloud data transmitting / receiving method / apparatus according to an embodiment of the present disclosure.

[0028] Figure 7 is a block diagram illustrating another example of a transmitting device according to an embodiment of the present disclosure.

[0029] Figure 8 is a block diagram illustrating another example of a receiving device according to an embodiment of the present disclosure.

[0030] Fig. 9 An example of a file including a single track according to an embodiment of the present disclosure is illustrated.

[0031] Fig.10 An example of a file including a plurality of tracks according to an embodiment of the present disclosure is illustrated.

[0032] Fig.11 is a flowchart illustrating a sending method according to an embodiment of the present disclosure.

[0033] Fig.12 is a flowchart illustrating a receiving method according to an embodiment of the present disclosure.

[0034] Fig.13 is a flowchart illustrating a sending method according to another embodiment of the present disclosure.

[0035] Fig.14 is a flowchart illustrating a receiving method according to another embodiment of the present disclosure.

[0036] Fig.15 is a flowchart illustrating a sending method according to another embodiment of the present disclosure.

[0037] Fig.16 is a flowchart illustrating a receiving method according to another embodiment of the present disclosure.

[0038] Fig.17 is a flowchart illustrating a sending method according to another embodiment of the present disclosure.

[0039] Fig.18 is a flowchart illustrating a receiving method according to another embodiment of the present disclosure. DETAILED DESCRIPTION

[0040] Hereinafter, embodiments of the present disclosure will be described in detail with reference to the accompanying drawings so that those skilled in the art to which the present disclosure belongs can easily implement them. The present disclosure can be implemented in many different forms and is not limited to the embodiments described herein.

[0041] In describing the present disclosure, a detailed description of known functions and configurations may be omitted when it may obscure the gist of the present disclosure. In the drawings, parts irrelevant to the description of the present disclosure are omitted, and like reference numerals are given to like parts.

[0042] In the present disclosure, when one component is "connected," "coupled," or "linked" to another component, it may include not only a direct connection relationship but also an indirect connection relationship with another component therebetween. In addition, when it is said that one component "includes" or "has" another component, this indicates that other components are not excluded but also included unless specifically described.

[0043] In the present disclosure, terms such as first, second, etc. are used only for the purpose of distinguishing one component from other components, and do not limit the order or importance of the components unless otherwise specified. Therefore, within the scope of the present disclosure, a first component in one embodiment may be referred to as a second component in another embodiment, and similarly, a second component in one embodiment may be referred to as a first component in another embodiment.

[0044] In the present disclosure, components that are distinguished from each other are used to clearly explain their features and do not necessarily mean that these components are separated. That is, multiple components can be integrated to form one hardware or software unit, or one component can be distributed to form multiple hardware or software units. Therefore, even if not specifically mentioned, such integrated or distributed implementations are also included in the scope of the present disclosure.

[0045] In the present disclosure, the components described in various embodiments are not necessarily essential components, and some of them may be optional components. Therefore, an embodiment consisting of a subset of the components described in an embodiment is also included in the scope of the present disclosure. In addition, an embodiment including other components in addition to the components described in various embodiments is also included in the scope of the present disclosure.

[0046] The present disclosure relates to encoding and decoding of point cloud related data, and unless the terms used in the present disclosure are redefined in the present disclosure, the terms may have general meanings commonly used in the technical field to which the present disclosure belongs.

[0047] In the present disclosure, the terms " / " and "," should be interpreted as indicating "and / or". For example, the expressions "A / B" and "A, B" may mean "A and / or B". In addition, "A / B / C" and "A / B / C" may mean "at least one of A, B, and / or C".

[0048] In the present disclosure, the term "or" should be interpreted as indicating "and / or". For example, the expression "A or B" may include 1) only "A", 2) only "B", and / or 3) both "A and B". In other words, in the present disclosure, the term "or" should be interpreted as indicating "additionally or alternatively".

[0049] The present disclosure relates to compression of point cloud related data. Various methods or embodiments of the present invention can be applied to point cloud compression or point cloud coding (PCC) standards of the Moving Picture Experts Group (MPEG) (e.g., G-PCC or V-PCC standards) or next generation video / image coding standards.

[0050] In the present disclosure, "point cloud" may refer to a set of points located in a three-dimensional space. Moreover, in the present disclosure, "point cloud content" is expressed as a point cloud, and may refer to a "point cloud video / image". Hereinafter, 'point cloud video / image' is referred to as 'point cloud video'. A point cloud video may include one or more frames, and a frame may be a still image or a picture. Therefore, a point cloud video may include a point cloud image / frame / picture, and may be referred to as any one of a "point cloud image", a "point cloud frame", and a "point cloud picture".

[0051] In the present disclosure, "point cloud data" may refer to data or information related to each point in a point cloud. Point cloud data may include geometry and / or attributes. In addition, point cloud data may also include metadata. Point cloud data may be referred to as "point cloud content data" or "point cloud video data", etc. In addition, point cloud data may be referred to as "point cloud content", "point cloud video", "G-PCC data", etc.

[0052] In the present disclosure, a point cloud object corresponding to point cloud data may be represented by a frame shape based on a coordinate system, and the frame shape based on a coordinate system may be referred to as a bounding box. That is, the bounding box may be a cuboid that can accommodate all points of the point cloud, and may be a cuboid that includes a source point cloud frame.

[0053] In the present disclosure, geometry includes the position (or position information) of each point, and the position can be represented by parameters (e.g., x-axis value, y-axis value, and z-axis value) representing a three-dimensional coordinate system (e.g., a coordinate system composed of an x-axis, a y-axis, and a z-axis). Geometry can be referred to as "geometric information".

[0054] In the present disclosure, the attribute may include the attribute of each point, and the attribute may include one or more of texture information, color (RGB or YCbCr), reflectivity (r), transparency, etc. of each point. The attribute may be referred to as "attribute information". Metadata may include various data related to acquisition in an acquisition process to be described later.

[0055] Overview of Point Cloud Content Provision System

[0056] Figure 1 An example of a system for providing point cloud content (hereinafter, referred to as 'point cloud content providing system') according to an embodiment of the present disclosure is illustrated. Figure 2 An example of a process in which a point cloud content providing system provides point cloud content is illustrated.

[0057] like Figure 1 As shown, the point cloud content providing system may include a sending device 10 and a receiving device 20. The point cloud content providing system may perform Figure 2The obtained process S20, the encoded process S21, the sent process S22, the decoded process S23, the rendered process S24 and / or the feedback process S25 are shown.

[0058] The sending device 10 acquires point cloud data, and outputs a bit stream through a series of processes (e.g., encoding process) for the acquired point cloud data (source point cloud data) to provide point cloud content. Here, the point cloud data can be output in the form of a bit stream through the encoding process. In some embodiments, the sending device 10 can send the output bit stream to the receiving device 20 in the form of a file or streaming (streaming segment) through a digital storage medium or a network. The digital storage medium may include a variety of storage media, such as USB, SD, CD, DVD, Blu-ray disc, HDD, and SSD. The receiving device 20 can process (e.g., decode or reconstruct) the received data (e.g., encoded point cloud data) into source point cloud data and render it. Point cloud content can be provided to users through these processes, and the present disclosure can provide various embodiments required to efficiently perform a series of these processes.

[0059] like Figure 1 As illustrated, the sending device 10 may include: an acquisition unit 11, an encoding unit 12, an encapsulation processing unit 13 and a sending unit 14, and the receiving device 20 may include: a receiving unit 21, a decapsulation processing unit 22, a decoding unit 23, and a rendering unit 24.

[0060] The acquisition unit 11 may perform a process S20 of acquiring a point cloud video by a capturing, composing or generating process. Therefore, the acquisition unit 11 may be referred to as a 'point cloud video acquisition unit'.

[0061] Point cloud data (geometry and / or attributes, etc.) of a plurality of points may be generated through the acquisition process (S20). Furthermore, metadata related to the acquisition of the point cloud video may be generated through the acquisition process (S20). Furthermore, mesh data (e.g., triangle data) indicating connection information between point clouds may be generated through the acquisition process (S20).

[0062] The metadata may include initial viewing orientation metadata. The initial viewing orientation metadata may indicate whether the point cloud data represents front-side or back-side data. The metadata may be referred to as "auxiliary data," which is metadata of the point cloud.

[0063] The acquired point cloud video may include a polygon file format or a Stanford triangle format (PLY) file. Since the point cloud video has one or more frames, the acquired point cloud video may include one or more PLY files. The PLY file may include point cloud data of each point.

[0064] In order to acquire point cloud video (or point cloud data), the acquisition unit 11 may be composed of a camera device capable of acquiring depth (depth information) and a combination of an RGB camera capable of extracting color information corresponding to the depth information. Here, the camera device capable of acquiring depth information may be a combination of an infrared pattern projector and an infrared camera. In addition, the acquisition unit 11 may be composed of a laser radar (LiDAR), and the laser radar may use a radar system for measuring the position coordinates of a reflector by measuring the time required for a laser pulse to be emitted and to return after being reflected.

[0065] The acquisition unit 110 may extract a shape of geometry composed of points in a three-dimensional space from the depth information, and may extract a property representing the color or reflection of each point from the RGB information.

[0066] As a method of extracting (or capturing, acquiring, etc.) a point cloud video (or point cloud data), there may be an inward-facing method of capturing a central object and an outward-facing method of capturing an external environment.

[0067] The encoding unit 12 may perform an encoding process (S21) of encoding the data generated by the acquisition unit 11 (e.g., geometry, attributes and / or metadata, and / or mesh data, etc.) into one or more bitstreams. Therefore, the encoding unit 12 may be referred to as a 'point cloud video encoder'. The encoding unit 12 may encode the data generated by the acquisition unit 11 serially or in parallel.

[0068] The encoding process S21 performed by the encoding unit 12 may be geometry-based point cloud compression (G-PCC). The encoding unit 12 may perform a series of processes such as prediction, transform, quantization, and entropy encoding for compression and encoding efficiency.

[0069] The encoded point cloud data can be output in the form of a bitstream. Based on the G-PCC process, the encoding unit 12 can split the point cloud data into geometry and attributes and encode them as described below. In this case, the output bitstream may include a geometry bitstream containing the encoded geometry and an attribute bitstream containing the encoded attributes. In addition, the output bitstream may also include one or more of a metadata bitstream containing metadata, an auxiliary bitstream containing auxiliary data, and a mesh data bitstream containing mesh data. The encoding process (S21) will be described in more detail below. The bitstream including the encoded point cloud data may be referred to as a 'point cloud bitstream' or a 'point cloud video bitstream'.

[0070] The encapsulation processing unit 13 may perform a process of encapsulating one or more bit streams output from the encoding unit 12 in the form of a file or segment. Therefore, the encapsulation processing unit 13 may be referred to as a 'file / segment encapsulation module'. Although the drawings show an example in which the encapsulation processing unit 13 is composed of a separate component / module associated with the sending unit 14, in some embodiments, the encapsulation processing unit 13 may be included in the sending unit 14.

[0071] The encapsulation processing unit 13 may encapsulate data in a file format such as ISO Base Media File Format (ISOBMFF), or process data in the form of other DASH segments. In some embodiments, the encapsulation processing unit 13 may include metadata of the file format. The metadata may be included in boxes at various levels of, for example, the ISOBMFF file format, or as data in a separate track within a file. In some embodiments, the encapsulation processing unit 130 may encapsulate the metadata itself into a file. The metadata processed by the encapsulation processing unit 13 may be sent from a metadata processing unit not shown in the figure. The metadata processing unit may be included in the encoding unit 12, or may be configured as a separate component / module.

[0072] The sending unit 14 may perform a sending process (S22) of applying a process according to a file format (a process for sending) to the 'encapsulated point cloud bitstream'. The sending unit 140 may send a bitstream or a file / segment including a bitstream to the receiving unit 21 of the receiving device 20 through a digital storage medium or a network. Therefore, the sending unit 14 may be referred to as a 'sender' or a 'communication module'.

[0073] The sending unit 14 may process the point cloud data according to any transmission protocol. Here, 'processing the point cloud data according to any transmission protocol' may be 'processing for sending'. The processing for sending may include processing for sending through a broadcast network / processing for sending through broadband, etc. In some embodiments, the sending unit 14 may receive not only the point cloud data from the metadata processing unit, but also metadata from the metadata processing unit, and may perform processing for sending on the sent metadata. In some embodiments, the processing for sending may be performed by the sending processing unit, and the sending processing unit may be included in the sending unit 14, or configured as a component / module separate from the sending unit 14.

[0074] The receiving unit 21 can receive the bitstream or the file / segment including the bitstream sent by the sending device 10. According to the channel sent, the receiving unit 21 can receive the bitstream or the file / segment including the bitstream through a broadcast network, or can receive the bitstream or the file / segment including the bitstream through a broadband. Alternatively, the receiving unit 21 can receive the bitstream or the file / segment including the bitstream through a digital storage medium.

[0075] The receiving unit 21 may perform processing on the received bitstream or the file / segment including the bitstream according to the transmission protocol. The receiving unit 21 may perform the inverse process of the sending process (processing for sending) to correspond to the processing for sending performed by the sending device 10. The receiving unit 21 may send the encoded point cloud data among the received data to the decapsulation processing unit 22, and may send the metadata to the metadata parsing unit. The metadata may be in the form of a signaling table. In some embodiments, the inverse process of the processing for sending may be performed in the receiving processing unit. Each of the receiving processing unit, the decapsulation processing unit 22, and the metadata parsing unit may be included in the receiving unit 21, or may be configured as a component / module separate from the receiving unit 21.

[0076] The decapsulation processing unit 22 can decapsulate the point cloud data in the file format (ie, the bit stream in the file format) received from the receiving unit 21 or the receiving processing unit. Therefore, the decapsulation processing unit 22 can be called a 'file / segment decapsulation module'.

[0077] The decapsulation processing unit 22 can obtain a point cloud bitstream or a metadata bitstream by decapsulating the file according to ISOBMFF, etc. In some embodiments, metadata (metadata bitstream) can be included in the point cloud bitstream. The acquired point cloud bitstream can be sent to the decoding unit 23, and the acquired metadata bitstream can be sent to the metadata processing unit. The metadata processing unit can be included in the decoding unit 23, or can be configured as a separate component / module. The metadata obtained by the decapsulation processing unit 22 can be in the form of a box or track in the file format. If necessary, the decapsulation processing unit 22 can receive the metadata required for decapsulation from the metadata processing unit. The metadata can be sent to the decoding unit 23 and used in the decoding process (S23), or can be sent to the rendering unit 24 and used in the rendering process (S24).

[0078] The decoding unit 23 may receive the bitstream and perform operations corresponding to those of the encoding unit 12, thereby performing a decoding process (S23) of decoding the point cloud bitstream (encoded point cloud data). Therefore, the decoding unit 23 may be referred to as a 'point cloud video decoder'.

[0079] The decoding unit 23 may segment the point cloud data into geometry and attributes and decode them. For example, the decoding unit 23 may reconstruct (decode) the geometry from the geometry bitstream included in the point cloud bitstream, and restore (decode) the attributes based on the reconstructed geometry and the attribute bitstream included in the point cloud bitstream. The three-dimensional point cloud video / image may be reconstructed based on the position information according to the reconstructed geometry and the attributes (such as color or texture) according to the decoded attributes. The decoding process (S23) will be described in more detail below.

[0080] The rendering unit 24 may perform a rendering process S24 of rendering the reconstructed point cloud video. Therefore, the rendering unit 24 may be referred to as a 'renderer'.

[0081] The rendering process S24 may refer to a process of rendering and displaying point cloud content in a 3D space. The rendering process S24 may perform rendering according to a desired rendering method based on the position information and attribute information of the points decoded by the decoding process.

[0082] The feedback process S25 may include a process of sending various feedback information obtained during the rendering process S24 or the display process to other components in the sending device 10 or the receiving device 20. The feedback process S25 may be performed by Figure 1 The receiving device 20 may be executed by one or more components included in the receiving device 20, or may be executed by Figure 8 In some embodiments, the feedback process S25 may be performed by a 'feedback unit' or a 'sensing / tracking unit'.

[0083] Overview of Point Cloud Coding Equipment

[0084] Figure 3 An example of a point cloud encoding device 300 according to an embodiment of the present disclosure is illustrated. Figure 3 The point cloud encoding device 300 may correspond to Figure 1 The encoding unit 12.

[0085] like Figure 3 As shown, the point cloud encoding device 300 may include: a coordinate system transformation unit 305, a geometry quantization unit 310, an octree analysis unit 315, an approximation unit 320, a geometry encoding unit 325, a reconstruction unit 330, and an attribute transformation unit 340, a RAHT transformation unit 345, an LOD generation unit 350, a lifting unit 355, an attribute quantization unit 360, an attribute encoding unit 365, and / or a color transformation unit 335.

[0086] The point cloud data acquired by the acquisition unit 11 may undergo a process of adjusting the quality of the point cloud content (e.g., lossless, lossy, near lossless) according to the network situation or application. In addition, each point of the acquired point cloud content may be sent losslessly, but in this case, because the size of the point cloud content is large, real-time streaming is not possible. Therefore, in order to smoothly provide the point cloud content, a process of reconstructing the point cloud content according to the maximum target bit rate is required.

[0087] The process of adjusting the quality of the point cloud content may be a process of reconstructing and encoding the position information (position information included in the geometric information) or color information (color information included in the attribute information) of the point. The process of reconstructing and encoding the position information of the point may be referred to as geometric encoding, and the process of reconstructing and encoding the attribute information associated with each point may be referred to as attribute encoding.

[0088] Geometry coding may include: a geometry quantization process, a voxelization process, an octree analysis process, an approximation process, a geometry coding process, and / or a coordinate system transformation process. Moreover, geometry coding may also include a geometry reconstruction process. Attribute coding may include: a color transformation process, an attribute transformation process, a prediction transformation process, a lifting transformation process, a RAHT transformation process, an attribute quantization process, an attribute coding process, etc.

[0089] Geometry Encoding

[0090] The coordinate system transformation process may correspond to a process of transforming the coordinate system of the point position. Therefore, the coordinate system transformation process may be referred to as 'transformed coordinates'. The coordinate system transformation process may be performed by the coordinate system transformation unit 305. For example, the coordinate system transformation unit 305 may transform the position of the point from the global space coordinate system into position information in a three-dimensional space (e.g., a three-dimensional space expressed in a coordinate system of an X-axis, a Y-axis, and a Z-axis). The position information in the 3D space according to an embodiment may be referred to as 'geometric information'.

[0091] The geometric quantization process may correspond to a process of quantizing the position information of the points, and may be performed by the geometric quantization unit 310. For example, the geometric quantization unit 310 may find the position information having the minimum (x, y, z) value among the position information of the points, and subtract the position information having the minimum (x, y, z) position from the position information of each point. In addition, the geometric quantization unit 310 may multiply the subtracted value by a preset quantization scale value, and then adjust (lower or raise) the result to a value close to an integer, thereby performing the quantization process.

[0092] The voxelization process may correspond to a process of matching the geometric information quantized by the quantization process with a specific voxel existing in the 3D space. The voxelization process may also be performed by the geometric quantization unit 310. The geometric quantization unit 310 may perform octree-based voxelization based on the position information of the point so as to reconstruct each point to which the quantization process is applied.

[0093] A voxel may refer to a space for storing information about a point present in 3D, similar to a pixel being the smallest unit having information about a 2D image / video. A voxel is a hybrid word obtained by combining volume and pixel. A voxel refers to a three-dimensional cubic space formed by dividing a three-dimensional space (2depth, 2depth, 2depth) into units (unit = 1.0) based on each axis (x-axis, y-axis, and z-axis). A voxel can estimate spatial coordinates based on a positional relationship with a voxel group, and can have color or reflectivity information similar to a pixel.

[0094] There may not be only one point (matched) in a voxel. That is, there may be information related to multiple points in a voxel. Alternatively, information related to multiple points included in a voxel can be integrated into one point information. This adjustment can be performed selectively. When a voxel is integrated and expressed as a point information, the position value of the center point of the voxel can be set based on the position value of the point existing in the voxel, and the attribute transformation process related thereto needs to be performed. For example, the attribute transformation process can be adjusted to the position value of the point included in the voxel or the center point of the voxel, and the average value of the color or reflectivity of the neighboring points within a specific radius.

[0095] The octree analysis unit 315 can use the octree to efficiently manage the region / position of the voxel. The octree analysis unit 315 can split the region until the leaf node becomes a voxel, and can use an octree data structure capable of managing eight child node regions for efficient management according to the size and position of the region.

[0096] The octree may be expressed as an occupancy code. The octree analysis unit 315 may express the occupancy code of the node as 1 when one point is included in each node, and may express the occupancy code of the node as 0 when the point is not included.

[0097] The geometric coding process may correspond to a process of performing entropy coding on the occupancy code. The geometric coding process may be performed by the geometric coding unit 325. The geometric coding unit 325 may perform entropy coding on the occupancy code. The generated occupancy code may be encoded immediately or may be encoded by an intra / inter coding process to improve compression efficiency. The receiving device 20 may reconstruct the octet tree by the occupancy code.

[0098] On the other hand, in the case where there are no points or only a few points in a particular region, voxelizing all the regions may be inefficient. That is, since there are very few points in a particular region, it may not be necessary to construct the entire octree. For such cases, an early termination method may be required.

[0099] The point cloud encoding device 300 can directly send the position of the point only for a specific area, or use a surface model to reconfigure the position of the point within a specific area based on voxels, instead of splitting the node (specific node) corresponding to the specific area (a specific area not corresponding to a leaf node) into 8 sub-nodes (sub-nodes).

[0100] A mode for directly transmitting the positions of each point for a specific node may be a direct mode. The point cloud encoding device 300 may check whether a condition for enabling the direct mode is satisfied.

[0101] The conditions for enabling direct mode are: 1) the option to use direct mode should be enabled, 2) the specific node does not correspond to a leaf node, 3) there should be points below the threshold within the specific node, and 4) the total number of points to be sent directly does not exceed the limit value.

[0102] When all the above conditions are met, the point cloud encoding device 300 can directly entropy encode and send the position value of the point for a specific node through the geometric encoding unit 325.

[0103] The mode of reconstructing the position of the point in the specific area based on voxels using the surface model may be a trisoup mode. The trisoup mode may be performed by the approximation unit 320. The approximation unit 320 may determine a specific level of the octree, and reconstruct the position of the point in the node area based on voxels using the surface model from the determined specific level.

[0104] The point cloud encoding device 300 may selectively apply a trisoup mode. Specifically, when the trisoup mode is applied, the point cloud encoding device 300 may specify a level (specific level) at which the trisoup mode is applied. For example, when the specified specific level is equal to the depth (d) of the octree, the trisoup mode may not be applied. That is, the specified specific level should be less than the depth value of the octree.

[0105] The three-dimensional cube area of ​​the node of the specified specific level is called a block, and a block can include one or more voxels. The block or voxel can correspond to a brick. Each block can have 12 edges, and the approximation unit 320 can check whether each edge is adjacent to an occupied voxel with a point. Each edge can be adjacent to multiple occupied voxels. The specific position of the edge adjacent to a voxel is called a vertex, and when multiple occupied voxels are adjacent to an edge, the approximation unit 320 can determine the average position of these positions as a vertex.

[0106] When there are vertices, the point cloud encoding device 300 can perform entropy encoding on the starting point (x, y, z) of the edge, the direction vector (Δx, Δy, Δz) of the edge, and the position value of the vertex (relative position value within the edge) through the geometric encoding unit 325.

[0107] The geometry reconstruction process may correspond to a process of generating reconstructed geometry by reconstructing an octree and / or an approximate octree. The geometry reconstruction process may be performed by the reconstruction unit 330. The reconstruction unit 330 may perform the geometry reconstruction process by triangle reconstruction, upsampling, voxelization, and the like.

[0108] When the triangle soup mode is applied in the approximation unit 320, the reconstruction unit 330 may reconstruct a triangle based on a start point of an edge, a direction vector of the edge, and a position value of a vertex.

[0109] The reconstruction unit 330 may perform an upsampling process for voxelization by adding points in the middle along the sides of the triangle. The reconstruction unit 330 may generate additional points based on the upsampling factor and the width of the block. These points may be referred to as refinement vertices. The reconstruction unit 330 may voxelize the refinement vertices, and the point cloud encoding device 300 may perform attribute encoding based on the voxelized position values.

[0110] In some embodiments, the geometry coding unit 325 can increase compression efficiency by applying context adaptive arithmetic coding. The geometry coding unit 325 can entropy encode the occupancy code directly using arithmetic codes. In some embodiments, the geometry coding unit 325 adaptively performs encoding based on the occupancy of neighboring nodes (intra-frame encoding), or adaptively performs encoding based on the occupancy code of the previous frame (inter-frame encoding). Here, a frame can refer to a set of point cloud data generated at the same time. Intra-frame encoding and inter-frame encoding are optional processes and can therefore be omitted.

[0111] Attribute Encoding

[0112] Attribute encoding may correspond to a process of encoding attribute information based on the reconstructed geometry and the geometry before the coordinate system transformation (source geometry). Since the attributes may depend on the geometry, the reconstructed geometry may be used for attribute encoding.

[0113] As mentioned above, attributes may include color, reflectivity, etc. The same attribute encoding method may be applied to the information or parameters included in the attributes. Color has three elements, reflectivity has one element, and each element may be processed independently.

[0114] Attribute coding may include: color transformation process, attribute transformation process, prediction transformation process, lifting transformation process, RAHT transformation process, attribute quantization process, attribute coding process, etc. The prediction transformation process, lifting transformation process, and RAHT transformation process may be selectively used, or a combination of one or more processes may be used.

[0115] The color conversion process may correspond to a process of converting the format of the color in the attribute to another format. The color conversion process may be performed by the color conversion unit 335. That is, the color conversion unit 335 may convert the color in the attribute. For example, the color conversion unit 335 may perform an encoding operation for converting the color in the attribute from RGB to YCbCr. In some embodiments, the operation of the color conversion unit 335 (i.e., the color conversion process) may be optionally applied according to the color value included in the attribute.

[0116] As described above, when one or more points exist in one voxel, the position values ​​of the points existing in the voxel are set to the center point of the voxel so that they can be displayed by integrating them into one point information of the voxel. Therefore, a process of transforming the attribute values ​​associated with the points may be required. Moreover, even if the triangulation mode is executed, the attribute transformation process may be performed.

[0117] The attribute transformation process may correspond to a process of transforming an attribute based on a position where geometry encoding is not performed and / or a reconstructed geometry. For example, the attribute transformation process may correspond to a process of transforming an attribute of a point having the position based on the position of the point included in the voxel. The attribute transformation process may be performed by the attribute transformation unit 340.

[0118] The attribute conversion unit 340 may calculate the center position value of the voxel and the average value of the attribute values ​​of the neighboring points within a certain radius. Alternatively, the attribute conversion unit 340 may apply weights to the attribute values ​​according to the distance from the center position and calculate the average value of the attribute values ​​to which the weights are applied. In this case, each voxel has a position and a calculated attribute value.

[0119] The prediction transformation process may correspond to a process of predicting the attribute value of the current point based on the attribute values ​​of one or more points (neighboring points) adjacent to the current point (corresponding to the prediction target point). The prediction transformation process may be performed by the level-of-detail (LOD) generation unit 350.

[0120] The prediction transformation is a method of applying the LOD transformation technology, and the LOD generation unit 350 may calculate and set the LOD value of each point based on the LOD distance value of each point.

[0121] The LOD generation unit 350 may generate a predictor for each point of the prediction transformation. Therefore, when there are N points, N predictors may be generated. The predictor may calculate and set a weight value (=1 / distance) based on the LOD value of each point, the index information of the neighboring point, and the distance value from the neighboring point. Here, the neighboring point may be a point that exists within the distance from the current point set for each LOD.

[0122] In addition, the predictor may multiply the attribute value of the neighboring point by a 'set weight value' and set the value obtained by averaging the attribute values ​​multiplied by the weight value as the predicted attribute value of the current point. The attribute quantization process may be performed on the residual attribute value obtained by subtracting the predicted attribute value of the current point from the attribute value of the current point.

[0123] The lifting transformation process may correspond to a process of reconstructing a point into a set of detail levels through an LOD generation process, just like the prediction transformation process. The lifting transformation process may be performed by the lifting unit 355. The lifting transformation process may also include a process of generating a predictor for each point, a process of setting the calculated LOD in the predictor, a process of registering neighbor points, and a process of setting weights according to the distance between the current point and the neighbor points.

[0124] The RAHT transformation process may correspond to a method of predicting attribute information of a higher-level node using attribute information associated with a lower-level node of the octree. That is, the RATH transformation process may correspond to an attribute information intra-frame encoding method performed by octree backward scanning. The RAHT transformation process may be performed by the RAHT transformation unit 345.

[0125] The RAHT transformation unit 345 scans the entire region in the voxel and can perform the RAHT transformation process up to the root node while summing (merging) the voxels into larger blocks at various steps. Since the RAHT transformation unit 345 only performs the RAHT transformation process on occupied nodes, in the case of an unoccupied empty node, the RAHT transformation process can be performed on the higher-level node directly above it.

[0126] The attribute quantization process may correspond to a process of quantizing the attribute output from the RAHT transform unit 345, the LOD generation unit 350, and / or the lifting unit 355. The attribute quantization process may be performed by the attribute quantization unit 360. The attribute encoding process may correspond to a process of encoding the quantized attribute and outputting the attribute bitstream. The attribute encoding process may be performed by the attribute encoding unit 365.

[0127] Overview of Point Cloud Decoding Equipment

[0128] Figure 4 An example of a point cloud decoding device 400 according to an embodiment of the present disclosure is shown. Figure 4 The point cloud decoding device 400 may correspond in configuration and function to Figure 1 The decoding unit 23.

[0129] The point cloud decoding apparatus 400 may perform a decoding process based on the data (bit stream) transmitted from the transmitting device 10. The decoding process may include a process of reconstructing (decoding) a point cloud video by performing an operation corresponding to the above-described encoding operation on the bit stream.

[0130] like Figure 4 As illustrated, the decoding process may include a geometry decoding process and an attribute decoding process. The geometry decoding process may be performed by a geometry decoding unit 410, and the attribute decoding process may be performed by an attribute decoding unit 420. That is, the point cloud decoding device 400 may include a geometry decoding unit 410 and an attribute decoding unit 420.

[0131] The geometry decoding unit 410 may reconstruct the geometry from the geometry bitstream, and the attribute decoding unit 420 may reconstruct the attribute based on the reconstructed geometry and the attribute bitstream. Furthermore, the point cloud decoding apparatus 400 may reconstruct the three-dimensional point cloud video (point cloud data) based on the position information according to the reconstructed geometry and the attribute information according to the reconstructed attribute.

[0132] Figure 5 A specific example of a point cloud decoding device 500 according to another embodiment of the present disclosure is illustrated. Figure 5 As illustrated, the point cloud decoding device 500 includes: a geometry decoding unit 505, an octree synthesis unit 510, an approximate synthesis unit 515, a geometry reconstruction unit 520, a coordinate system inverse transformation unit 525, an attribute decoding unit 530, an attribute dequantization unit 535, a RATH transformation unit 550, an LOD generation unit 540, an inverse lifting unit 545, and / or a color inverse transformation unit 555.

[0133] The geometry decoding unit 505, the octree synthesis unit 510, the approximate synthesis unit 515, the geometry reconstruction unit 520, and the coordinate system inverse transformation unit 525 may perform geometry decoding. The geometry decoding may be used as a reference. Figures 1 to 3 The geometric decoding may include direct coding and triangular geometric decoding. Direct coding and triangular geometric decoding may be applied selectively.

[0134] The geometry decoding unit 505 may decode the received geometry bitstream based on arithmetic coding. The operation of the geometry decoding unit 505 may correspond to the inverse process of the operation performed by the geometry encoding unit 325.

[0135] The octree synthesis unit 510 may generate an octree by obtaining an occupancy code (or information about geometry obtained as a result of decoding) from the decoded geometry bitstream. The operation of the octree synthesis unit 510 may correspond to the inverse process of the operation performed by the octree analysis unit 315.

[0136] When triangle soup geometry encoding is applied, the approximate synthesis unit 515 can synthesize the surface based on the decoded geometry and / or the generated octree.

[0137] The geometry reconstruction unit 520 may reconstruct the geometry based on the surface and the decoded geometry. When direct coding is applied, the geometry reconstruction unit 520 may directly bring and add the position information of the points to which direct coding is applied. In addition, when triangulated geometry coding is applied, the geometry reconstruction unit 520 may reconstruct the geometry by performing reconstruction operations (e.g., triangle reconstruction, upsampling, voxelization operations, etc.). The reconstructed geometry may include a point cloud picture or frame that does not include attributes.

[0138] The coordinate system inverse transformation unit 525 can obtain the position of the point by transforming the coordinate system based on the reconstructed geometry. For example, the coordinate system inverse transformation unit 525 can inversely transform the position of the point from a three-dimensional space (e.g., a three-dimensional space expressed by a coordinate system of an x-axis, a y-axis, and a z-axis, etc.) into position information of a global space coordinate system.

[0139] The attribute decoding unit 530, the attribute dequantization unit 535, the RATH transform unit 550, the LOD generation unit 540, the inverse lifting unit 545, and / or the color inverse transform unit 555 may perform attribute decoding. Attribute decoding may include: RAHT transform decoding, prediction transform decoding, and lifting transform decoding. The above three types of decoding may be selectively used, or a combination of one or more types of decoding may be used.

[0140] The attribute decoding unit 530 may decode the attribute bitstream based on arithmetic coding. For example, when there is no neighbor point in the predictor of each point and thus the attribute value of the current point is directly entropy encoded, the attribute decoding unit 530 may decode the attribute value (unquantized attribute value) of the current point. As another example, when there is a neighbor point in the predictor of the current point and thus the quantized residual attribute value is entropy encoded, the attribute decoding unit 530 may decode the quantized residual attribute value.

[0141] The attribute dequantization unit 535 may dequantize the decoded attribute bitstream or information about the attribute obtained as a result of decoding, and output the dequantized attribute (or attribute value). For example, when the quantized residual attribute value is output from the attribute decoding unit 530, the attribute dequantization unit 535 may dequantize the quantized residual attribute value to output the residual attribute value. The dequantization process may be selectively applied based on whether the attribute is encoded in the point cloud encoding device 300. That is, when there is no neighbor point in the predictor of each point and therefore the attribute value of the current point is directly encoded, the attribute decoding unit 530 may output the attribute value of the current point that is not quantized, and the attribute encoding process may be skipped.

[0142] The RATH transform unit 550, the LOD generation unit 540, and / or the inverse lifting unit 545 may process the reconstructed geometry and the dequantized attributes. The RATH transform unit 550, the LOD generation unit 540, and / or the inverse lifting unit 545 may selectively perform a decoding operation corresponding to the encoding operation of the point cloud encoding device 300.

[0143] The color inverse transform unit 555 may perform inverse transform encoding to inversely transform a color value (or texture) included in the decoded attribute. The operation of the color inverse transform unit 555 may be selectively performed based on whether the color transform unit 335 operates.

[0144] Figure 6 An example of a structure capable of interworking with a method / apparatus for transmitting and receiving point cloud data according to an embodiment of the present disclosure is illustrated.

[0145] Figure 6 The structure of illustrates a configuration in which at least one of a server (AI server), a robot, an autonomous vehicle, an XR device, a smart phone, a home appliance, and / or an HMD is connected to a cloud network. A robot, an autonomous vehicle, an XR device, a smart phone, or a home appliance may be referred to as a device. In addition, the XR device may correspond to a point cloud data device (PCC) according to an embodiment, or may interact with a PCC device.

[0146] A cloud network can refer to a network that forms part of or exists within a cloud computing infrastructure. Here, a 3G network, 4G or Long Term Evolution (LTE) network, or 5G network can be used to configure the cloud network.

[0147] The server can be connected to at least one of a robot, an autonomous vehicle, an XR device, a smart phone, a household appliance, and / or an HMD through the cloud network and can assist with at least a part of the processing of the connected device.

[0148] The HMD can represent one of the types of XR devices and / or PCC devices in which the embodiments can be implemented. The HMD type device according to the embodiments can include: a communication unit, a control unit, a memory unit, an I / O unit, a sensor unit, and a power supply unit.

[0149] <PCC+XR>

[0150] The XR / PCC device can be implemented by an HMD, a HUD installed in a vehicle, a TV, a mobile phone, a smart phone, a computer, a wearable device, a household appliance, a digital sign, a vehicle, a stationary robot, or a mobile robot by applying PCC and / or XR technologies.

[0151] The XR / PCC device can obtain information about the surrounding space or real objects by analyzing 3D point cloud data or image data obtained through various sensors or from external devices, to generate position (geometry) data and attribute data of 3D points, and render and output the XR object to be output. For example, the XR / PCC device can output an XR object corresponding to the recognized object including additional information about the recognized object.

[0152] <PCC+XR+mobile phone>

[0153] The XR / PCC device can be implemented by a mobile phone or the like by applying PCC technology. The mobile phone can decode and display point cloud content based on PCC technology.

[0154] <PCC+autopilot+XR>

[0155] The autonomous vehicle can be implemented by a mobile robot, a vehicle, an unmanned aerial vehicle, or the like by applying PCC technology and XR technology. The autonomous vehicle applying XR / PCC technology can refer to an autonomous vehicle equipped with a unit for providing XR images, or an autonomous vehicle that undergoes control / interaction within the XR image. In particular, the autonomous vehicle that undergoes control / interaction within the XR image is distinguished from the XR device and can work interactively with each other.

[0156] An autonomous vehicle equipped with a unit for providing an XR / PCC image may acquire sensor information from a sensor including a camera, and output an XR / PCC image generated based on the acquired sensor information. For example, an autonomous vehicle has a HUD, and may provide passengers with an XR / PCC object corresponding to a real object or an object in a screen by outputting an XR / PCC image.

[0157] In this case, when the XR / PCC object is output to the HUD, at least a portion of the XR / PCC object may be output so as to overlap the actual object to which the passenger's gaze is directed. On the other hand, when the XR / PCC object is output to a display disposed inside the autonomous vehicle, at least a portion of the XR / PCC object may be output so as to overlap the object in the screen. For example, the autonomous vehicle may output XR / PCC objects corresponding to objects such as lanes, other vehicles, traffic lights, traffic signs, two-wheeled vehicles, pedestrians, and buildings.

[0158] VR technology, AR technology, MR technology, and / or PCC technology according to the embodiment can be applied to various devices. That is, VR technology is a display technology that provides objects or backgrounds in the real world only as CG images. On the other hand, AR technology refers to a technology that displays a virtual CG image on top of a real object image. Moreover, MR technology is similar to the above-mentioned AR technology in that the mixing and combination of virtual objects in the real world are shown. However, in AR technology, the distinction between real objects and virtual objects composed of CG images is clear, and virtual objects are used in the form of supplementing real objects, while in MR technology, virtual objects are considered to be equivalent to real objects, which is different from AR technology. More specifically, for example, the above-mentioned MR technology is applied to hologram services. VR, AR and MR technologies can be integrated and referred to as XR technology.

[0159] Space segmentation

[0160] Point cloud data (i.e., G-PCC data) may represent a volumetric encoding of a point cloud consisting of a sequence of frames (point cloud frames). Each point cloud frame may include: the number of points, the locations of the points, and the attributes of the points. The number of points, the locations of the points, and the attributes of the points may change from one frame to another. Each point cloud frame may refer to a set of three-dimensional points specified by zero or more attributes and the Cartesian coordinates (x, y, z) of the three-dimensional points at a particular time instance. Here, the Cartesian coordinates (x, y, z) of the three-dimensional points may be positions or geometries.

[0161] In some embodiments, the present disclosure may also perform a spatial segmentation process of segmenting the point cloud data into one or more 3D blocks before encoding the point cloud data. A 3D block may refer to all or part of a 3D space occupied by the point cloud data. A 3D block may be one or more of a tile group, a tile, a slice, a coding unit (CU), a prediction unit (PU), or a transform unit (TU).

[0162] A tile corresponding to a 3D block may refer to all or part of a 3D space occupied by point cloud data. Moreover, a slice corresponding to a 3D block may refer to all or part of a 3D space occupied by point cloud data. A tile may be divided into one or more slices based on the number of points included in a tile. A tile may be a group of slices with bounding box information. The bounding box information of each tile may be specified in a tile list (or tile parameter set, TPS). A tile may overlap with another tile in a bounding box. A slice may be a data unit that performs encoding independently, or a data unit that performs decoding independently. That is, a slice may be a collection of points that may be encoded or decoded independently. In some embodiments, a slice may be a series of syntax elements representing part or all of an encoded point cloud frame. Each slice may include an index for identifying the tile to which the slice belongs.

[0163] The spatially divided 3D blocks can be processed independently or non-independently. For example, the spatially divided 3D blocks can be encoded or decoded independently or non-independently, and can be sent or received independently or non-independently. In addition, the spatially divided 3D blocks can be quantized or dequantized independently or non-independently, and can be transformed or inversely transformed independently or non-independently. In addition, the spatially divided 3D blocks can be rendered independently or non-independently. For example, encoding or decoding can be performed in units of slices or in units of tiles. In addition, quantization or dequantization can be performed differently for each tile or slice, and quantization or dequantization can be performed differently for each transformed or inversely transformed tile or slice.

[0164] In this way, when the point cloud data is spatially segmented into one or more 3D blocks and the spatially segmented 3D blocks are processed independently or non-independently, the process of processing the 3D blocks is performed in real time and with low latency. In addition, random access and parallel encoding or parallel decoding in the three-dimensional space occupied by the point cloud data can be enabled, and errors accumulated during the encoding or decoding process can be prevented.

[0165] Figure 7 is a block diagram illustrating an example of a transmitting device 700 for performing a space division process according to an embodiment of the present disclosure. Figure 7As illustrated, the transmitting device 700 may include: a space segmentation unit 705 for performing a space segmentation process, a signaling processing unit 710, a geometry encoder 715, an attribute encoder 720, and an encapsulation processing unit 725 and / or a transmitting processing unit 730.

[0166] The spatial segmentation unit 705 may perform a spatial segmentation process of segmenting the point cloud data into one or more 3D blocks based on the bounding box and / or the sub-bounding box. Through the spatial segmentation process, the point cloud data may be segmented into one or more tiles and / or one or more slices. In some embodiments, the point cloud data may be segmented into one or more tiles, and each segmented tile may be further segmented into one or more slices through the spatial segmentation process.

[0167] The signaling processing unit 710 may generate and / or process (e.g., entropy encode) signaling information and output the signaling information in the form of a bit stream. Hereinafter, the bit stream output from the signaling processing unit (wherein the signaling information is encoded) is referred to as a 'signaling bit stream'. The signaling information may include information for or about spatial segmentation. That is, the signaling information may include information related to the spatial segmentation process performed by the spatial segmentation unit 705.

[0168] When point cloud data is segmented into one or more 3D blocks, information may be required for decoding some point cloud data corresponding to a specific tile or a specific slice in the point cloud data. In addition, in order to support spatial access (or partial access) to the point cloud data, information related to the 3D spatial area may be required. Here, spatial access may refer to extracting only the necessary part of the point cloud data from the entire point cloud data from the file. The signaling information may include: information for decoding some point cloud data, information related to the 3D spatial area for supporting spatial access, etc. For example, the signaling information may include: 3D bounding box information, 3D spatial area information, tile information, and / or tile list information.

[0169] The signaling information may be provided from the spatial segmentation unit 705, the geometry encoder 715, the attribute encoder 720, the transmission processing unit 725, and / or the encapsulation processing unit 730. In addition, the signaling processing unit 710 may provide the signaling information from Figure 8 The feedback information fed back by the receiving device 800 is provided to the space segmentation unit 705, the geometry encoder 715, the attribute encoder 720, the sending processing unit 725 and / or the encapsulation processing unit 730.

[0170] The signaling information may be stored and signaled in samples, sample entries, sample groups, track groups, or separate metadata tracks in a track. In some embodiments, the signaling information may be signaled in units of sequence parameter sets (SPS) for sequence-level signaling, geometry parameter sets (GPS) for signaling of geometry coding information, attribute parameter sets (APS) for signaling of attribute coding information, and tile parameter sets (TPS) (or tile lists) for signaling at the tile level. In addition, the signaling information may be signaled in units of coding units such as slices or tiles.

[0171] At this time, the position (position information) of the 3D block may be output to the geometry encoder 715 , and the attribute (attribute information) of the 3D block may be output to the attribute encoder 720 .

[0172] The geometry encoder 715 may construct an octree based on the position information, encode the constructed octree, and output a geometry bitstream. Furthermore, the geometry encoder 715 may reconstruct the octree and / or the approximate octree and output it to the attribute encoder 720. The reconstructed octree may be a reconstructed geometry. The geometry encoder 715 may perform the following steps: Figure 3 All or some operations performed by the coordinate system transformation unit 305, the geometric quantization unit 310, the octree analysis unit 315, the approximation unit 320, the geometric encoding unit 325 and / or the reconstruction unit 330.

[0173] The attribute encoder 720 may output an attribute bitstream by encoding the attribute based on the reconstructed geometry. The attribute encoder 720 may perform Figure 3 All or some operations performed by the attribute transform unit 340, the RAHT transform unit 345, the LOD generation unit 350, the lifting unit 355, the attribute quantization unit 360, the attribute encoding unit 365 and / or the color transform unit 335.

[0174] The encapsulation processing unit 725 can encapsulate one or more input bit streams into files or segments. For example, the encapsulation processing unit 725 can encapsulate each of the geometry bit stream, the attribute bit stream, and the signaling bit stream, or multiplex and encapsulate the geometry bit stream, the attribute bit stream, and the signaling bit stream. In some embodiments, the encapsulation processing unit 725 can encapsulate a bit stream (G-PCC bit stream) composed of a sequence of type-length-value (TLV) structures into a file. The TLV (or TLV encapsulation) structure that constitutes the G-PCC bit stream may include: geometry bit stream, attribute bit stream, signaling bit stream, etc. In some embodiments, the G-PCC bit stream can be generated by the encapsulation processing unit 725, or generated by the sending processing unit 730. In some embodiments, the encapsulation processing unit 725 can be executed by Figure 1 The encapsulation processing unit 13 performs all or some operations.

[0175] The transmission processing unit 730 can process the encapsulated bit stream or file / segment according to any transmission protocol. The transmission processing unit 730 can perform the processing by referring to Figure 1 All or some of the operations performed by the described sending unit 14 and the sending processing unit.

[0176] Figure 8 800 according to an embodiment of the present disclosure. The receiving device 800 may perform operations corresponding to the operations of the transmitting device 700 for performing space division. Figure 8 As illustrated, the receiving device 800 may include: a receiving processing unit 805, a decapsulation processing unit 810, a signaling processing unit 815, a geometry decoder 820, an attribute decoder 825, and / or a post-processing unit 830.

[0177] The receiving processing unit 805 may receive a file / segment in which a G-PCC bitstream is encapsulated, a G-PCC bitstream or a bitstream, and process them according to the transport protocol. The receiving processing unit 805 may perform the processing by referring to Figure 1 All or some of the operations performed by the receiving unit 21 and the receiving processing unit described.

[0178] The decapsulation processing unit 810 may obtain a G-PCC bitstream by performing the inverse process of the operation performed by the encapsulation processing unit 725. The decapsulation processing unit 810 may obtain a G-PCC bitstream by decapsulating the file / segment. For example, the decapsulation processing unit 810 may obtain a signaling bitstream and output the signaling bitstream to the signaling processing unit 815, obtain a geometry bitstream and output the geometry bitstream to the geometry decoder 820, and obtain an attribute bitstream and output the attribute bitstream to the attribute decoder 825. The decapsulation processing unit 810 may perform the operation performed by the decapsulation processing unit 810. Figure 1 All or some operations performed by the decapsulation processing unit 22.

[0179] The signaling processing unit 815 may parse and decode the signaling information by performing the inverse process of the operation performed by the signaling processing unit 710. The signaling processing unit 815 may parse and decode the signaling information from the signaling bitstream. The signaling processing unit 815 may provide the decoded signaling information to the geometry decoder 820, the attribute decoder 825, and / or the post-processing unit 830.

[0180] The geometry decoder 820 may reconstruct the geometry from the geometry bitstream by performing the inverse process of the operation performed by the geometry encoder 715. The geometry decoder 820 may reconstruct the geometry based on the signaling information (geometry-related parameters). The reconstructed geometry may be provided to the attribute decoder 825.

[0181] The attribute decoder 825 may reconstruct the attribute from the attribute bitstream by performing the inverse process of the operation performed by the attribute encoder 720. The attribute decoder 825 may reconstruct the attribute based on the signaling information (attribute-related parameters) and the reconstructed geometry.

[0182] The post-processing unit 830 can reconstruct the point cloud data based on the reconstructed geometry and the reconstructed attributes. The reconstruction of the point cloud data can be performed by a process of matching the reconstructed geometry with the reconstructed attributes. In some embodiments, when the reconstructed point cloud data is in units of tiles and / or slices, the post-processing unit 830 can reconstruct the bounding box of the point cloud data by performing the inverse process of the spatial segmentation process of the sending device 700 based on the signaling information. In some embodiments, when the bounding box is divided into multiple tiles and / or multiple slices by the spatial segmentation process, the post-processing unit 830 can reconstruct part of the bounding box by combining some slices and / or some tiles based on the signaling information. Here, some slices and / or some tiles used to reconstruct the bounding box can be slices and / or some tiles related to the 3D space area that is desired to be spatially accessed.

[0183] Encapsulation / Decapsulation

[0184] The G-PCC bitstream composed of the TLV encapsulation structure may be sent to the receiving device without change, or may be encapsulated and sent to the receiving device. For example, the encapsulation processing unit 725 may encapsulate the G-PCC bitstream composed of the TLV encapsulation structure in the form of a file / segment and send it. The decapsulation processing unit 810 may obtain the G-PCC bitstream by decapsulating the encapsulated file / segment.

[0185] In some embodiments, the G-PCC bitstream may be encapsulated in a file format based on ISOBMFF. In this case, the G-PCC bitstream may be stored in a single track or multiple tracks in an ISOBMFF file. Here, the single track or multiple tracks in the file may be referred to as a "track" or a "G-PCC track". A file based on ISOBMFF may be referred to as a container, a container file, a media file, a G-PCC file, etc. Specifically, the file may consist of a box and / or information, which may be referred to as ftyp, moov, mdat, etc.

[0186] The ftyp box (ftyp box, file type box) can provide file type or file compatibility related information for a file. The receiving device can identify the file by referring to the ftyp box. The mdat box is also called the media data box and can include actual media data. In some embodiments, a geometric slice (or an encoded geometric bitstream) and zero or more attribute slices (or an encoded attribute bitstream) can be included in the sample of the mdat box in the file. Here, the sample can be referred to as a G-PCC sample. The moov box is also called a movie box and can include metadata of the media data of the file. For example, the moov box can include information required for decoding and playback of media data, and can include information about the track and sample of the file. The moov box can act as a container for all metadata. The moov box can be the topmost box among the metadata-related boxes.

[0187] In some embodiments, the moov box may include a track (trak) box that provides information related to the track of the file, and the trak box may include a media (mdia) box (MediaBox) that provides media information of the track, and a track reference container (tref) box for linking (referencing) the track and the sample of the file corresponding to the track. The media box MediaBox may include a media information container (minf) box that provides information about the media data, and a handler (hdlr) box that indicates the stream type. The minf box may include a sample table (stbl) box that provides metadata related to the sample of the mdat box. The stbl box may include a sample description (stsd) box that provides information about the encoding type used and the initialization information required for the encoding type. In some embodiments, the sample description (stsd) box may include a sample entry of the track. In some embodiments, signaling information (or metadata) such as SPS, GPS, APS, and tile list may be included in the sample entry of the moov box or the sample of the mdat box in the file.

[0188] Sample Group

[0189] The encapsulation processing unit mentioned in the present disclosure may generate a sample group by grouping one or more samples. The encapsulation processing unit, metadata processing unit, or signaling processing unit mentioned in the present disclosure may signal signaling information associated with the sample group in the sample, sample group, or sample entry. That is, the sample group information associated with the sample group may be added to the sample, sample group, or sample entry. The sample group information may be 3D bounding box sample group information, 3D region sample group information, 3D tile sample group information, 3D tile list sample group information, etc.

[0190] Track Group

[0191] The encapsulation processing unit mentioned in the present disclosure may generate a track group by grouping one or more tracks. The encapsulation processing unit, metadata processing unit, or signaling processing unit mentioned in the present disclosure may signal signaling information associated with the track group in a sample, a track group, or a sample entry. That is, track group information associated with the track group may be added to the sample, the track group, or the sample entry. The track group information may be 3D bounding box track group information, point cloud composition track group information, spatial region track group information, 3D tile track group information, 3D tile list track group information, etc.

[0192] Sample entry

[0193] Fig. 9 is a diagram for explaining an ISOBMFF-based file including a single track. Fig. 9 (a) illustrates an example of a layout of an ISOBMFF-based file including a single track, and Fig. 9 (b) illustrates an example of a sample structure of the mdat box when the G-PCC bitstream is stored in a single track of a file. Fig.10 is a diagram for explaining an ISOBMFF-based file including a plurality of tracks. Fig.10 (a) illustrates an example of a layout of an ISOBMFF-based file including a plurality of tracks, and Fig.10 (b) illustrates an example of a sample structure of the mdat box when the G-PCC bitstream is stored in a single track of a file.

[0194] The stsd box (SampleDescriptionBox) included in the moov box of the file can include sample entries for a single track for storing a G-PCC bitstream. SPS, GPS, APS, and tile lists can be included in the sample entries in the moov box in the file or in the samples in the mdat box. Moreover, geometric slices and zero or more attribute slices can be included in the samples of the mdat box in the file. When the G-PCC bitstream is stored in a single track of the file, each sample can contain multiple G-PCC components. That is, each sample can be composed of one or more TLV encapsulation structures. The sample entries of a single track can be defined as follows.

[0195] Sample entry types: 'gpe1', 'gpeg'

[0196] Container: SampleDescriptionBox

[0197] Mandatory: 'gpe1' or 'gpeg' Sample entries are mandatory Quantity: One or more sample entries may be present

[0198] The sample entry type 'gpe1' or 'gpeg' is mandatory, and one or more sample entries may exist. The G-PCC track may use VolumetricVisualSampleEntry with sample entry type gpe1' or 'gpeg'. The sample entry of the G-PCC track may include a G-PCC decoder configuration box GPCCConfigurationBox, and the G-PCC decoder configuration box may include a G-PCC decoder configuration record (GPCCDecoderConfigurationRecord()). GPCCDecoderConfigurationRecord() may include at least one of the following items: configurationVersion, profile_idc, profile_compatibility_flags, level_idc, numOfSetupUnitArrays, SetupUnitType, completeness, numOfSepupUnit, or setupUnit. The setupUnit array field included in GPCCDecoderConfigurationRecord() may include a TLV encapsulation structure containing one SPS.

[0199] If the sample entry type is 'gpe1', all parameter sets (e.g., SPS, GPS, APS, tile list) can be included in the array of setupUints. If the sample entry type is 'gpeg', the above parameter sets can be included in the array of setupUints (i.e., sample entry) or included in the stream (i.e., sample).

[0200] A G-PCC sample entry (GPCCSampleEntry) with sample entry type 'gpe1' may include: GPCCConfigurationBox, 3DBoundingBoxInfoBox(), CubicRegionInfoBox(), and TileInventoryBox(). 3DBoundingBoxInfoBox() may indicate 3D bounding box information of point cloud data associated with samples carried by the track. CubicRegionInfoBox() may indicate information about one or more spatial regions of point cloud data carried by samples in the track. TileInventoryBox() may indicate 3D tile inventory information of point cloud data carried by samples in the track.

[0201] like Fig. 9As illustrated in (b), the sample may include a TLV encapsulation structure including a geometric slice. In addition, the sample may include a TLV encapsulation structure including one or more parameter sets. In addition, the sample may include a TLV encapsulation structure including one or more attribute slices.

[0202] like Fig.10 As illustrated in (a), when the G-PCC bitstream is carried by multiple tracks of an ISOBMFF-based file, each geometry slice or attribute slice can be mapped to a separate track. For example, a geometry slice can be mapped to track 1, and an attribute slice can be mapped to track 2. The track carrying the geometry slice (track 1) can be referred to as a geometry track or a G-PCC geometry track, and the track carrying the attribute slice (track 2) can be referred to as an attribute track or a G-PCC attribute track. In addition, a geometry track can be defined as a volume visual track carrying a geometry slice, and an attribute track can be defined as a volume visual track carrying an attribute slice.

[0203] A track that carries a portion of a G-PCC bitstream that includes both geometry slices and attribute slices may be referred to as a multiplexed track. In the case where geometry slices and attribute slices are stored on separate tracks, each sample in the track may include at least one TLV encapsulation structure that carries data for a single G-PCC component. In this case, each sample contains neither geometry nor attributes, and may not contain multiple attributes. Multi-track encapsulation of a G-PCC bitstream may enable a G-PCC player to effectively access one of the G-PCC components. When a G-PCC bitstream is carried by multiple tracks, the following conditions need to be met in order for a G-PCC player to effectively access one of the G-PCC components.

[0204] a) When a G-PCC bitstream consisting of a TLV encapsulation structure is carried by multiple tracks, the track carrying the geometry bitstream (or geometry slice) becomes the entry point.

[0205] b) In the sample entry, a new box is added to indicate the role of the stream included in the track. The new box may be the aforementioned G-PCC component type box (GPCCComponentTypeBox). That is, the GPCCComponentTypeBox may be included in the sample entries of multiple tracks.

[0206] c) Introduce a track reference from a track carrying only the G-PCC geometry bitstream to a track carrying the G-PCC attribute bitstream.

[0207] GPCCComponentTypeBox may include GPCCComponentTypeStruct(). If GPCCComponentTypeBox is present in a sample entry of a track carrying part or all of a G-PCC bitstream, GPCCComponentTypeStruct() may specify the type (e.g., geometry, attribute) of one or more G-PCC components carried by each track. For example, if the value of the gpcc_type field included in GPCCComponentTypeStruct() is 2, it may indicate a geometry component, and if it is 4, it may indicate an attribute component. In addition, when the value of the gpcc_type field indicates 4 (i.e., attribute component), an AttrIdx field indicating an attribute identifier signaled to SPS() may be further included.

[0208] In the case where the G-PCC bitstream is carried by multiple tracks, the syntax of the sample entry can be defined as follows.

[0209] Sample entry types: 'gpe1', 'gpeg', 'gpc1', or 'gpcg'

[0210] Container: SampleDescriptionBox

[0211] Mandatory: 'gpc1' or 'gpcg' sample entries are mandatory Quantity: One or more sample entries may be present

[0212] The sample entry types 'gpc1', 'gpcg', 'gpc1' or 'gpcg' are mandatory and one or more sample entries may be present. Multiple tracks (e.g., geometry or attribute tracks) may use a VolumetricVisualSampleEntry with the sample entry type 'gpc1', 'gpcg', 'gpc1' or 'gpcg'. In a 'gpe1' sample entry, all parameter sets may be present in the setupUnit array. In a 'gpeg' sample entry, parameter sets are present in an array or stream. In a 'gpe1' or 'gpeg' sample entry, the GPCCComponentTypeBox shall not be present. In a 'gpc1' sample entry, the SPS, GPS, and tile lists may be present in the SetupUnit array of the track carrying the G-PCC geometry bitstream. All relevant APSs may be present in the SetupUnit array of the track carrying the G-PCC attribute bitstream. In a 'gpcg' sample entry, the SPS, GPS, APS, or tile lists may be present in an array or stream. In the 'gpc1' or 'gpcg' sample array, the GPCCComponentTypeBox should be present.

[0213] References between tracks

[0214] When G-PCC bitstreams are carried in multiple tracks (i.e., when G-PCC geometry bitstream and attribute bitstream are carried in different (separate) tracks), in order to connect between tracks, a track reference tool can be used. A TrackReferenceTypeBoxes can be added to the TrackReferenceBox in the TrackBox of the G-PCC track. The TrackReferenceTypeBox can contain an array of track_IDs that specify the tracks that the G-PCC track references.

[0215] Time Scalability

[0216] Temporal scalability may refer to a function that allows the possibility of extracting one or more subsets of independently encoded frames. Moreover, temporal scalability may refer to a function that divides G-PCC data into multiple different temporal levels and independently processes each G-PCC frame belonging to a different temporal level. If temporal scalability is supported, a G-PCC player (or a transmitting device and / or receiving device of the present disclosure) can effectively access a desired component (target component) among the G-PCC components. In addition, if temporal scalability is supported, since the G-PCC frames are processed independently of each other, the temporal scalability support at the system level can be expressed as a more flexible temporal sub-layering. In addition, if temporal scalability is supported, a system (point cloud content providing system) that processes G-PCC data can manipulate the data at a high level to match the network capability or decoder capability, thereby improving the performance of the point cloud content providing system.

[0217] Implementation

[0218] Temporal level sample grouping (tele) may provide codec-independent sample grouping and is used to group samples in a track according to temporal levels. In this document, a track carrying samples may be a "temporal level track" or a "temporal level tile track". Samples belonging to one temporal level have no codec dependency with respect to samples belonging to another temporal level. tele, also referred to as a temporal level sample group, may be used to indicate a temporal level identifier value.

[0219] The tele sample group is information for connecting samples in a track to a time level identifier value, and the tele sample group can support time scalability for a G-PCC file. If multiple time tracks are used to carry G-PCC data, the tele sample group can only exist in the track carrying geometry data.

[0220] The tele sample group may include a sample group description box and a sample group description index. The sample group description box may include at least one entry (sample group description entry). The sample group description index may be included in the sample to group box, and the sample to group box may be included in the same track as the track including the sample group description entry.

[0221] In the prior art, when a tele sample group exists in a G-PCC track, samples belonging to a specific temporal level identifier are mapped to a sample group description index, which is equal to the sum of 1 and the temporal level identifier. However, this prior art method may cause the following problems.

[0222] 1. An unreferenced tele sample group description entry from the Sample To Group box may be included. This problem may occur when a track includes samples at some temporal levels but not samples at relatively low temporal levels. For example, if a track includes samples at temporal levels 1 and 2 but not samples at temporal level 0, the Sample Group Description box may include a tele sample group description entry for (Sample Group Description) Index 1 that is unreferenced.

[0223] 2. The existing method defines how many entries the Sample Group Description box in each track should have when the Sample Group Description box exists. Therefore, the Sample Group Description box should include the same number of tele Sample Group Description entries in each track. Since the same number of tele Sample Group Description entries as the sum of 1 and the highest temporal level identifier present in the track is sufficient to be included in the Sample Group Description box, the existing method may cause redundancy of tele Sample Group Description entries.

[0224] Furthermore, with regard to the presence of tele sample groups in the temporal level tile track, the proposed approach is that the sample description box should signal the sample description for each temporal level signaled in the GPCC scalability information box GPCCScalabilityInfoBox. In other words, the proposal is that, regardless of the actual number of temporal levels in the tile track, as many 'tele' sample group description entries as temporal levels described in the GPCC scalability information box present in the tile basic track should be included in the sample group description box. However, this proposal also has the redundancy described in 2.

[0225] The present disclosure proposes a method for solving the problem that a 'tele' sample group description entry for a sample group description index that is not referenced is included in a sample group description box and the redundancy problem of the tele sample group description entry.

[0226] The proposed method of the present disclosure can be summarized as follows.

[0227] 1. When a sample group description box with a group type of 'tele' exists in a track, the count of entries (e.g., entry_count) may be equal to or greater than a value obtained by adding 1 to the highest temporal level identifier (or the highest temporal level identifier value) included in the track. In addition, the highest temporal level identifier value may be included in a GPCC scalability information box for a temporal level track or a GPCC tile scalability information box GPCCTileScalabilityInfoBox for a temporal level tile track. Furthermore, when the GPCC tile scalability information box does not exist in a temporal level tile track, the highest temporal level identifier value for a tile track may be included in a GPCC scalability information box in a tile base track of a reference tile track.

[0228] 2. Alternatively, when a sample group description box having a group type of 'tele' exists in a track, a count of entries (eg, entry_count) may be equal to a value obtained by adding 1 to the highest temporal level identifier (or the highest temporal level identifier value) included in the track.

[0229] 3. When a GPCC file includes a tile base track and a temporal level tile track, a sample group description box with a group type of tele may be restricted to exist in the tile base track but not in the temporal level tile track. If the sample group box exists in the temporal level tile track, the sample group description box shall include as many tele sample group description entries as the number of temporal levels described in the GPCC Scalability Information box of the tile base track.

[0230] Implementation Method 1

[0231] Embodiment 1 proposes a method of defining a count of entries to solve the problems of the existing methods.

[0232] Fig.11 is a flowchart for describing a sending method according to Embodiment 1 of the present disclosure, and Fig.12 It is a flowchart for describing a receiving method according to Embodiment 1 of the present disclosure.

[0233] Reference Fig.11 , the transmitting device 10 may generate a sample group description box (S1110). The sample group description box may have a predetermined group type. For example, the predetermined group type may be tele. The transmitting device 100 may generate a G-PCC file (S1120). The G-PCC file may include a sample group description box and point cloud data.

[0234] The sample group description box may include at least one entry. When the sample group description box exists in a track in a G-PCC file, a count of entries included in the sample group description box (entry count) may be equal to a value obtained by adding 1 to a highest temporal level identifier value included in the track, or may be equal to or greater than a value obtained by adding 1 to the highest temporal level identifier value.

[0235] Reference Fig.12 , the receiving device 20 may obtain a G-PCC file (S1210). The G-PCC file may include a sample group description box and point cloud data. The receiving device 20 may obtain a sample group description box from the G-PCC file (S1220). The sample group description box may have a predetermined group type. For example, the predetermined group type may be tele.

[0236] The sample group description box may include at least one entry. When the sample group description box exists in a track in a G-PCC file, a count of entries included in the sample group description box (entry count) may be equal to a value obtained by adding 1 to a highest temporal level identifier value included in the track, or may be equal to or greater than a value obtained by adding 1 to the highest temporal level identifier value.

[0237] Implementation Method 2

[0238] Embodiment 2 proposes a method for deriving the highest time level identifier value.

[0239] Fig.13 is a flowchart for describing a sending method according to Embodiment 2, and Fig.14 It is a flowchart for describing the receiving method according to embodiment 2.

[0240] Reference Fig.13 , the transmitting apparatus 10 may determine whether a track (that is, a track including a sample group description box) is a time level track (S1310).

[0241] If the track is a time level track, the transmitting device 10 may set the highest time level identifier value to the highest value among the time level identifiers present in the scalability information box (S1320). That is, when the track is a time level track, the highest time level identifier value may be set equal to the highest value among the time level identifiers present in the scalability information box. The time level identifiers present in the scalability information box may be in the form of a list. The scalability information box may be a GPCC scalability information box GPCCTileScalabilityInfoBox.

[0242] On the other hand, if the track is not a temporal level track, the transmitting device 10 may terminate the process of setting the highest temporal level identifier value. According to an embodiment, when the track is not a temporal level track, the transmitting device 10 may perform the process of setting the highest temporal level identifier value based on whether the track is a temporal tile track (refer to Fig.15 ).

[0243] Reference Fig.14 , the receiving device 20 may determine whether a track (that is, a track including a sample group description box) is a time level track (S1410).

[0244] If the track is a time level track, the receiving device 20 may determine the highest time level identifier value as the highest value among the time level identifiers present in the scalability information box (S1420). That is, when the track is a time level track, the highest time level identifier value may be determined to be equal to the highest value among the time level identifiers present in the scalability information box. The time level identifiers present in the scalability information box may exist in a list form.

[0245] On the other hand, if the track is not a temporal level track, the receiving device 20 may terminate the process of determining the highest temporal level identifier value. According to an embodiment, when the track is not a temporal level track, the receiving device 20 may perform the process of determining the highest temporal level identifier value based on whether the track is a temporal tile track (refer to Fig.16 ).

[0246] In various implementations, the highest temporal level identifier value may be set and determined based on whether the track is a temporal level tile track. Fig.15 is a flowchart for describing an example of setting a highest temporal level identifier value based on whether a track is a temporal level tile track, and Fig.16 is a flow chart describing an example of determining a highest temporal level identifier value based on whether a track is a temporal level tile track.

[0247] Reference Fig.15 , the transmitting apparatus 10 may determine whether a track (that is, a track including a sample group description box) is a temporal level tile track ( S1510 ).

[0248] If the track is a temporal tile track, the transmitting device 10 may derive a highest temporal level identifier value based on whether a tile scalability information box exists in the temporal tile track (S1520). The tile scalability information box may be a GPCC tile scalability information box GPCCTileScalabilityInfoBox.

[0249] Specifically, if the tile scalability information box exists in the temporal level tile track, the transmitting device 10 may set the highest temporal level identifier value to the highest value among the temporal level identifiers existing in the tile scalability information box (S1530). That is, the highest temporal level identifier value may be set to a value equal to the highest value among the temporal level identifiers existing in the tile scalability information box. The temporal level identifiers existing in the tile scalability information box may exist in a list form.

[0250] On the other hand, if the tile scalability information box does not exist in the temporal level tile track, the transmitting device 10 may set the highest temporal level identifier value to the highest value among the temporal level identifiers in the GPCC scalability information box present in the tile basic track (S1540). That is, the highest temporal level identifier value may be set to a value equal to the highest value among the temporal level identifiers in the GPCC scalability information box present in the tile basic track. The temporal level identifiers in the GPCC scalability information box present in the tile basic track may exist in a list form.

[0251] Reference Fig.16 , the receiving device 20 may determine whether a track (that is, a track including a sample group description box) is a temporal level tile track ( S1610 ).

[0252] If the track is a temporal tile track, the receiving device 20 may derive a highest temporal level identifier value based on whether a tile scalability information box exists in the temporal tile track (S1620). The tile scalability information box may be a GPCC tile scalability information box GPCCTileScalabilityInfoBox.

[0253] Specifically, if the tile scalability information box exists in the temporal level tile track, the receiving device 20 may determine the highest temporal level identifier value as the highest value among the temporal level identifiers existing in the tile scalability information box (S1630). That is, the highest temporal level identifier value may be determined to be equal to the value of the highest value among the temporal level identifiers existing in the tile scalability information box. The temporal level identifiers existing in the tile scalability information box may exist in a list form.

[0254] On the other hand, if the tile scalability information box does not exist in the temporal level tile track, the receiving device 20 may determine the highest temporal level identifier value as the highest value among the temporal level identifiers in the GPCC scalability information box in the tile basic track (S1640). That is, the highest temporal level identifier value may be determined to be equal to the highest value among the temporal level identifiers in the GPCC scalability information box in the tile basic track. The temporal level identifiers in the GPCC scalability information box in the tile basic track may exist in a list form.

[0255] Implementation 3

[0256] Embodiment 3 proposes a method for identifying a sample group description entry in a sample group description box based on a value of a sample group description index.

[0257] Fig.17 is a flowchart for describing a sending method according to Embodiment 3, and Fig.18 It is a flowchart for describing the receiving method according to implementation mode 3.

[0258] Reference Fig.17 , the transmitting device 10 may determine whether the sample group description box exists in the temporal level tile track (S1710). The tele sample group description box may exist in the tile base track but may not exist in the temporal level tile track. In this case, the tele sample group description box may exist in the tile base track of the reference temporal level tile track.

[0259] If the sample-to-group box exists in the temporal level tile track, the transmitting apparatus 10 may set a value of a sample group description index (eg, group_description_index) to indicate a tele sample group description entry in the tele sample group description box (S1720).

[0260] Reference Fig.18 , the receiving device 20 may determine whether the sample group description box exists in the temporal level tile track (S1810). The tele sample group description box may exist in the tile base track but may not exist in the temporal level tile track. In this case, the tele sample group description box may exist in the tile base track of the reference temporal level tile track.

[0261] If the sample-to-group box exists in the temporal level tile track, the value of the sample group description index may indicate a tele sample group description entry in the tele sample group description box. Therefore, based on the value of the sample group description index, the receiving device 20 may identify the tele sample group description entry in the tele sample group description box.

[0262] The scope of the present disclosure includes software or machine-executable instructions (e.g., operating systems, applications, firmware, programs, etc.) that enable operations according to the methods of various embodiments to be performed on a device or computer, and non-transitory computer-readable media that stores such software or commands and can be executed on a device or computer.

[0263] Industrial Applicability

[0264] The embodiments of the present disclosure may be used to provide point cloud content. In addition, the embodiments of the present disclosure may be used to encode / decode point cloud data.

Claims

1. A method performed by a receiving device of point cloud data, the method comprising the following steps: Obtaining a geometry-based point cloud compression G-PCC file including the point cloud data; as well as obtaining a sample group description box having a predetermined group type from the G-PCC file, Wherein, based on the presence of the sample group description box in the track in the G-PCC file, an entry count in the sample group description box is equal to a value obtained by adding 1 to a highest temporal level identifier value included in the track.

2. The method according to claim 1, wherein: Based on the track being a temporal level track, the highest temporal level identifier value is determined to be the highest value among the temporal level identifiers present in the scalability information box.

3. The method according to claim 1, wherein: Based on the track being a temporal level tile track, the highest temporal level identifier value is determined based on whether a tile scalability information box exists in the temporal level tile track.

4. The method according to claim 3, wherein: Based on the tile scalability information box being present in the temporal level tile track, the highest temporal level identifier value is determined to be a highest value among the temporal level identifiers present in the tile scalability information box.

5. The method according to claim 3, wherein: Based on the tile scalability information box not being present in the temporal level tile track, the highest temporal level identifier value is determined to be the highest value among the temporal level identifiers in the scalability information boxes present in the tile base track, and Wherein, the tile basic track refers to the time level tile track.

6. The method according to claim 1, wherein: The entry is identified based on a value of a sample group description index based on the presence of a predetermined box in the temporal level tile track.

7. A method performed by a point cloud data transmitting device, the method comprising the following steps: generating a sample group description box having a predetermined group type; as well as generating a G-PCC file by including the sample group description box and the point cloud data, Wherein, based on the presence of the sample group description box in the track in the G-PCC file, an entry count in the sample group description box is equal to a value obtained by adding 1 to a highest temporal level identifier value included in the track.

8. A device for receiving point cloud data, the device comprising: Memory; as well as at least one processor, Wherein, the at least one processor is configured to: obtaining a geometry-based point cloud compression G-PCC file including the point cloud data, and obtaining a sample group description box having a predetermined group type from the G-PCC file, and Wherein, based on the presence of the sample group description box in the track in the G-PCC file, an entry count in the sample group description box is equal to a value obtained by adding 1 to a highest temporal level identifier value included in the track.

9. A device for sending point cloud data, the device comprising: Memory; as well as at least one processor, Wherein, the at least one processor is configured to: generating a sample group description box having a predetermined group type, and generating a G-PCC file by including the sample group description box and the point cloud data, and Wherein, based on the presence of the sample group description box in the track in the G-PCC file, an entry count in the sample group description box is equal to a value obtained by adding 1 to a highest temporal level identifier value included in the track.