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

Point cloud data is obtained through the LiDAR system, refraction compensation and point splitting are performed, and combined with the encoding technology of geometric information and attribute information, the problem of low point cloud data processing and compression efficiency in the existing technology is solved, and high-quality point cloud data transmission and compression performance are improved.

CN119856078APending Publication Date: 2025-04-18LG ELECTRONICS INC
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202380067955.6
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2022-09-22
Filing Date
2023-09-22
Publication Date
2025-04-18

AI Technical Summary

Technical Problem

The prior art is difficult to effectively process and compress large amounts of point cloud data, resulting in high latency and encoding/decoding complexity.

Method used

By acquiring point cloud data using a light detection and ranging (LiDAR) system, refraction compensation and point splitting are performed, and coding technology combining geometric information and attribute information, the compression performance of point cloud is improved.

Benefits of technology

It realizes high-quality point cloud data transmission, reduces delay and encoding/decoding complexity, and improves the compression performance of point cloud data.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119856078A_ABST
    Figure CN119856078A_ABST
Patent Text Reader

Abstract

The point cloud data transmission method according to an embodiment comprises the steps of: encoding point cloud data; and transmitting the encoded point cloud data and the signaling information. The step of encoding the point cloud data may comprise the following steps: compensating for refraction occurring in the point cloud data; points of the point cloud data subjected to refraction compensation are separated into roads and objects; and encoding geometric information and attribute information of the points separated into the road and the object.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] Embodiments relate to methods and apparatus for processing point cloud content. Background Art

[0002] Point cloud content is content represented by a point cloud, which is a collection of points belonging to a coordinate system representing a three-dimensional space (or volume). Point cloud content can express media configured in three dimensions, and is used to provide various services such as virtual reality (VR), augmented reality (AR), mixed reality (MR), XR (extended reality), and self-driving services. However, tens of thousands to hundreds of thousands of point data are required to represent point cloud content. Therefore, a method for efficiently processing large amounts of point data is required. Summary of the invention

[0003] Technical issues

[0004] The purpose of the present disclosure designed to solve the above-mentioned problems is to provide a point cloud data sending device, a point cloud data sending method, a point cloud data receiving device and a point cloud data receiving method for effectively sending and receiving point clouds.

[0005] Another object of the present disclosure is to provide a point cloud data sending device, a point cloud data sending method, a point cloud data receiving device and a point cloud data receiving method for solving time delay and encoding / decoding complexity.

[0006] Another object of the present disclosure is to provide a point cloud data sending device, a point cloud data sending method, a point cloud data receiving device and a point cloud data receiving method, which improve the compression performance of the point cloud by improving the technology of encoding attribute information of geometry-based point cloud compression (G-PCC).

[0007] Another object of the present disclosure is to provide a point cloud data sending device, a point cloud data transmission method, a point cloud data receiving device and a point cloud data receiving method, which are used to improve the compression performance of point cloud data acquired by a fixed LiDAR.

[0008] The objects of the present disclosure are not limited to the aforementioned objects, and other objects of the present disclosure not mentioned above will become apparent to those skilled in the art upon examining the following description.

[0009] Technical Solution

[0010] To achieve these objectives and other advantages and in accordance with the purposes of the present disclosure, as embodied and broadly described herein, a method of transmitting point cloud data may include acquiring point cloud data using a light detection and ranging (LiDAR) system, encoding the point cloud data, and transmitting the point cloud data and signaling information.

[0011] According to an embodiment, encoding of point cloud data may include compensating for refraction occurring in the point cloud data, splitting points in the refraction-compensated point cloud data into roads and objects, and encoding geometric information and attribute information. The geometric information may include the locations of the points split into roads and objects, and the attribute information may include one or more attribute values.

[0012] According to an embodiment, the signaling information may include refraction compensation related information associated with the point cloud data.

[0013] According to an embodiment, compensating for the refraction may include compensating for the refraction of a point in the point cloud data based on a value of Z in position information (X, Y, Z) about the point.

[0014] According to an embodiment, the values ​​of X and Y in the position information (X, Y, Z) are obtained based on the deflection angle obtained by scanning the laser beam of the LiDAR system along the x-axis and the y-axis and the target distance information related to the laser beam, and the value of Z can be obtained based on the values ​​of X and Y related to the laser beam, the deflection angle, and the target distance information.

[0015] According to an embodiment, compensating for refraction may include applying a threshold value to compensate for refraction of points in the point cloud data according to a position of the points in the point cloud data in an xy plane.

[0016] According to an embodiment, the segmentation of roads and objects may include classifying each point in the point cloud data as a road or an object based on a value of Z of a corresponding one of the points.

[0017] According to an embodiment, an apparatus for transmitting point cloud data may include: an acquirer configured to acquire point cloud data using a light detection and ranging (LiDAR) system; an encoder configured to encode the point cloud data; and a transmitter configured to transmit the point cloud data and signaling information.

[0018] According to an embodiment, the encoder may include: a refraction compensator configured to compensate for refraction occurring in the point cloud data; a road-object splitter configured to split points in the refraction-compensated point cloud data into roads and objects; and an encoder configured to encode geometric information and attribute information. The geometric information may include the positions of the points split into roads and objects, and the attribute information may include one or more attribute values.

[0019] According to an embodiment, the signaling information may include refraction compensation related information associated with the point cloud data.

[0020] According to an embodiment, the refraction compensator may compensate for refraction of a point in the point cloud data based on a value of Z in position information (X, Y, Z) about the point.

[0021] According to an embodiment, the values ​​of X and Y in the position information (X, Y, Z) are acquired based on the deflection angle acquired by scanning the laser beam of the LiDAR system along the x-axis and the y-axis and the target distance information related to the laser beam, and the value of Z is acquired based on the values ​​of X and Y related to the laser beam, the deflection angle, and the target distance information.

[0022] According to an embodiment, the refraction compensator may compensate for the refraction of a point in the point cloud data by applying a threshold value according to the position of the point in the point cloud data in the xy plane.

[0023] According to an embodiment, the road-object splitter may classify each point in the point cloud data as a road or an object based on a value of Z of a corresponding one of the points.

[0024] According to an embodiment, a method of receiving point cloud data may include receiving compressed point cloud data and signaling information, decoding the point cloud data based on the signaling information, and rendering the decoded point cloud data based on the signaling information.

[0025] According to an embodiment, decoding of the point cloud data may include performing a refraction-compensated inverse transform on the compressed point cloud data, and reconstructing geometric information and attribute information associated with the point cloud data subjected to the refraction-compensated inverse transform.

[0026] According to an embodiment, the signaling information may include refraction compensation related information.

[0027] Beneficial Effects

[0028] The point cloud data transmitting method, the point cloud data transmitting device, the point cloud data receiving method, and the point cloud data receiving device according to the embodiments can provide high-quality point cloud services.

[0029] According to the point cloud data sending method, point cloud data sending device, point cloud data receiving method and point cloud data receiving device of the embodiments, various video encoding and decoding methods can be implemented.

[0030] The point cloud data transmitting method, the point cloud data transmitting device, the point cloud data receiving method, and the point cloud data receiving device according to the embodiments may provide general point cloud content such as autonomous driving services.

[0031] The point cloud data transmitting method, point cloud data transmitting device, point cloud data receiving method and point cloud data receiving device according to the embodiments can perform spatially adaptive partitioning of point cloud data for independently encoding and decoding point cloud data, thereby improving parallel processing and providing scalability.

[0032] According to the embodiment, the point cloud data sending method, the point cloud data sending device, the point cloud data receiving method and the point cloud data receiving device can perform encoding and decoding by partitioning the point cloud data in units of tiles and / or slices, and sending necessary data thereto with signals, thereby improving the encoding and decoding performance of the point cloud.

[0033] According to the embodiment, the point cloud data sending method, the point cloud data sending device, the point cloud data receiving method and the point cloud data receiving device can perform refraction compensation before compressing the point cloud data acquired by the fixed LiDAR, and separate the points in the point cloud data into roads and objects based on the refraction compensation, and then perform compression, thereby improving the compression performance of the point cloud data.

[0034] The point cloud data sending method, point cloud data sending device, point cloud data receiving method and point cloud data receiving device according to the embodiments can perform refraction compensation before compressing the point cloud data, thereby accurately separating the points in the point cloud data acquired by the fixed LiDAR on the inclined or curved road into roads and objects. BRIEF DESCRIPTION OF THE DRAWINGS

[0035] The accompanying drawings are included to provide a further understanding of the present disclosure and are incorporated in and constitute a part of this application. The accompanying drawings illustrate embodiments of the present disclosure and together with the description serve to explain the principles of the present disclosure. In the drawings:

[0036] Figure 1 An exemplary point cloud content providing system according to an embodiment is shown;

[0037] Figure 2 is a block diagram illustrating a point cloud content providing operation according to an embodiment;

[0038] Figure 3 illustrates an exemplary point cloud encoder according to an embodiment;

[0039] Figure 4 shows examples of octrees and occupancy codes according to an embodiment;

[0040] Figure 5 illustrates an example of point configuration in each LOD according to an embodiment;

[0041] Figure 6 illustrates an example of point configuration in each LOD according to an embodiment;

[0042] Figure 7 illustrates a point cloud decoder according to an embodiment;

[0043] Figure 8 illustrates an exemplary transmitting device according to an embodiment;

[0044] Figure 9illustrates an exemplary receiving device according to an embodiment;

[0045] Figure 10 An exemplary structure operable in conjunction with a point cloud data transmitting / receiving method / apparatus according to an embodiment is illustrated;

[0046] Figure 11 - (a) is a diagram illustrating an example of a rotating LiDAR system according to an embodiment;

[0047] Figure 11 - (b) is a diagram illustrating an example of a fixed LiDAR system according to an embodiment;

[0048] Figure 12 illustrates an example method of acquiring points using an optical lens according to an embodiment;

[0049] Figure 13 - (a) and 13 - (b) show an example before refraction compensation and an example after refraction compensation according to an embodiment;

[0050] Figure 14 is a diagram showing an example xy plane obtained by applying refraction compensation according to an embodiment;

[0051] Figure 15 is a diagram illustrating another example of a point cloud transmitting device according to an embodiment;

[0052] Figure 16 is a diagram illustrating another example of a point cloud transmitting device according to an embodiment;

[0053] Figure 17 is a diagram illustrating another example of a point cloud transmitting device according to an embodiment;

[0054] Figure 18 is a diagram illustrating another example of a point cloud receiving device according to an embodiment;

[0055] Figure 19 is a diagram illustrating another example of a point cloud receiving device according to an embodiment;

[0056] Figure 20 is a diagram illustrating another example of a point cloud receiving device according to an embodiment;

[0057] Figure 21 illustrates an example bitstream structure according to an embodiment;

[0058] Figure 22 Another example syntax structure of a sequence parameter set according to an embodiment is shown;

[0059] Figure 23 shows the syntax structure of a tile parameter set according to an embodiment;

[0060] Figure 24 Another example syntax structure of a geometry parameter set according to an embodiment is shown;

[0061] Figure 25 illustrates an example syntax structure of a property parameter set according to an embodiment;

[0062] Figure 26 shows an example syntax structure of a geometry slice header according to an embodiment;

[0063] Figure 27 is a flowchart of a method for sending point cloud data according to an embodiment; and

[0064] Figure 28 is a flowchart of a method of receiving point cloud data according to an embodiment. Specific embodiments

[0065] Now, a description will be given in detail according to the exemplary embodiments disclosed herein with reference to the accompanying drawings. For the purpose of brief description with reference to the accompanying drawings, the same or equivalent components may be provided with the same reference numerals, and their descriptions will not be repeated. It should be noted that the following examples are only used to embody the present disclosure and do not limit the scope of the present disclosure. What an expert in the technical field to which the present disclosure belongs can easily infer from the detailed description and examples of the present disclosure will be interpreted as being within the scope of the present disclosure.

[0066] The detailed description in this specification should be interpreted in all aspects as illustrative rather than restrictive. The scope of the present disclosure should be determined by the appended claims and their legal equivalents, and all changes coming within the meaning and equivalent range of the appended claims are intended to be embraced herein.

[0067] Now, reference will be made in detail to the preferred embodiments of the present disclosure, examples of which are illustrated in the accompanying drawings. The detailed description given below with reference to the accompanying drawings is intended to explain exemplary embodiments of the present disclosure, rather than to show the only embodiments that can be implemented according to the present disclosure. The following detailed description includes specific details in order to provide a thorough understanding of the present disclosure. However, it will be apparent to those skilled in the art that the present disclosure can be practiced without these specific details. Although most of the terms used in this specification have been selected from the general terms widely used in the art, the applicant has arbitrarily selected some terms, and their meanings will be explained in detail as needed in the following description. Therefore, the present disclosure should be understood based on the original meaning of the terms rather than their simple names or meanings. In addition, the following drawings and detailed descriptions should not be interpreted as being limited to the specifically described embodiments, but should be interpreted as including equivalents or substitutes of the embodiments described in the drawings and detailed descriptions.

[0068] Figure 1An exemplary point cloud content providing system according to an embodiment is shown.

[0069] Figure 1 The point cloud content providing system shown may include a transmitting device 10000 and a receiving device 10004. The transmitting device 10000 and the receiving device 10004 can transmit and receive point cloud data via wired or wireless communication.

[0070] According to an embodiment, the point cloud data transmitting device 10000 may obtain and process a point cloud video (or point cloud content) and transmit it. According to an embodiment, the transmitting device 10000 may include a fixed station, a base transceiver system (BTS), a network, an artificial intelligence (AI) device and / or system, a robot, an AR / VR / XR device, and / or a server. According to an embodiment, the transmitting device 10000 may include a device configured to communicate with a base station and / or other wireless devices using a radio access technology (e.g., 5G New RAT (NR), Long Term Evolution (LTE)), a robot, a vehicle, an AR / VR / XR device, a portable device, a home appliance, an Internet of Things (IoT) device, and an AI device / server.

[0071] According to the embodiment, the sending device 10000 includes a point cloud video acquisition unit 10001, a point cloud video encoder 10002 and / or a transmitter (or communication module) 10003.

[0072] The point cloud video acquisition unit 10001 according to the embodiment acquires the point cloud video through a processing process such as capture, synthesis or generation. The point cloud video is a point cloud content represented by a point cloud, which is a set of points located in a 3D space and can be referred to as point cloud video data, point cloud data, etc. The point cloud video according to the embodiment may include one or more frames. A frame represents a still image / picture. Therefore, the point cloud video may include a point cloud image / frame / picture and may be referred to as a point cloud image, frame or picture.

[0073] The point cloud video encoder 10002 according to an embodiment encodes the acquired point cloud video data. The point cloud video encoder 10002 may encode the point cloud video data based on point cloud compression coding. The point cloud compression coding according to an embodiment may include geometry-based point cloud compression (G-PCC) coding and / or video-based point cloud compression (V-PCC) coding or next generation coding. The point cloud compression coding according to an embodiment is not limited to the above-mentioned embodiment. The point cloud video encoder 10002 may output a bit stream containing the encoded point cloud video data. The bit stream may include not only the encoded point cloud video data, but also signaling information related to the coding of the point cloud video data.

[0074] The transmitter 10003 according to the embodiment transmits a bitstream containing encoded point cloud video data. The bitstream according to the embodiment is encapsulated in a file or a fragment (e.g., a stream fragment) and is transmitted via various networks such as a broadcast network and / or a broadband network. Although not shown in the figure, the transmitting device 10000 may include a packager (or a package module) configured to perform a packaging operation. According to an embodiment, the packager may be included in the transmitter 10003. According to an embodiment, the file or fragment may be sent to the receiving device 10004 via a network, or stored in a digital storage medium (e.g., USB, SD, CD, DVD, Blu-ray, HDD, SSD, etc.). The transmitter 10003 according to the embodiment can communicate with the receiving device 10004 (or the receiver 10005) via a 4G, 5G, 6G or other network by wire / wireless communication. In addition, the transmitter may perform necessary data processing operations according to the network system (e.g., a 4G, 5G or 6G communication network system). The transmitting device 10000 may transmit the encapsulated data in an on-demand manner.

[0075] The receiving device 10004 according to an embodiment includes a receiver 10005, a point cloud video decoder 10006, and / or a renderer 10007. According to an embodiment, the receiving device 10004 may include a device configured to communicate with a base station and / or other wireless devices using a radio access technology (e.g., 5G New RAT (NR), Long Term Evolution (LTE)), a robot, a vehicle, an AR / VR / XR device, a portable device, a home appliance, an Internet of Things (IoT) device, and an AI device / server.

[0076] The receiver 10005 according to the embodiment receives a bitstream containing point cloud video data or a file / segment encapsulated with a bitstream from a network or a storage medium. The receiver 10005 may perform necessary data processing according to a network system (e.g., a communication network system of 4G, 5G, 6G, etc.). The receiver 10005 according to the embodiment may decapsulate the received file / segment and output a bitstream. According to the embodiment, the receiver 10005 may include a decapsulator (or decapsulation module) configured to perform a decapsulation operation. The decapsulator may be implemented as an element (or component) separated from the receiver 10005.

[0077] The point cloud video decoder 10006 decodes the bitstream containing the point cloud video data. The point cloud video decoder 10006 can decode the point cloud video data according to the method in which the point cloud video data is encoded (for example, in the inverse process of the operation of the point cloud video encoder 10002). Therefore, the point cloud video decoder 10006 can decode the point cloud video data by performing point cloud decompression coding (the inverse process of point cloud compression). The point cloud decompression coding includes G-PCC coding.

[0078] The renderer 10007 renders the decoded point cloud video data. In one embodiment, the renderer 10007 may render the decoded point cloud video data according to a viewport, etc. The renderer 10007 may render not only the point cloud video data but also the audio data to output the point cloud content. According to an embodiment, the renderer 10007 may include a display configured to display the point cloud content. According to an embodiment, the display may be implemented as a separate device or component rather than included in the renderer 10007.

[0079] The arrow indicated by the dotted line in the figure represents the transmission path of the feedback information obtained by the receiving device 10004. The feedback information is information reflecting the interactivity with the user consuming the point cloud content, and includes information about the user (e.g., head orientation information, viewport information, etc.). Specifically, when the point cloud content is content for a service that requires interaction with the user (e.g., self-driving service, etc.), the feedback information may be provided to the content sender (e.g., the sending device 10000) and / or the service provider. According to an embodiment, the feedback information may be used in the receiving device 10004 and the sending device 10000, or may not be provided.

[0080] The head orientation information according to the embodiment may represent information about the position, orientation, angle and movement of the user's head. The receiving device 10004 according to the embodiment may calculate the viewport information based on the head orientation information. The viewport information is information about the area of ​​the point cloud video that the user is watching (that is, the area that the user is currently watching). That is, the viewport information is information about the area that the user is currently watching in the point cloud video. In other words, the viewport or viewport area may represent the area that the user is watching in the point cloud video. The viewpoint is the point that the user is watching in the point cloud video, and may represent the center point of the viewport area. That is, the viewport is an area centered on the viewpoint, and the size and shape of the area may be determined by the field of view (FOV). Therefore, the receiving device 10004 may extract the viewport information based on the vertical or horizontal FOV supported by the device and the head orientation information. In addition, the receiving device 10004 may perform gaze analysis based on the head orientation information and / or the viewport information to determine the way the user consumes the point cloud video, the area that the user is looking at in the point cloud video, and the gaze time. According to an embodiment, the receiving device 10004 may send feedback information including the gaze analysis result to the sending device 10000. According to an embodiment, a device such as a VR / XR / AR / MR display may extract a viewport area based on the position / orientation of the user's head and the vertical or horizontal FOV supported by the device. According to an embodiment, the head orientation information and the viewport information may be referred to as feedback information, signaling information, or metadata.

[0081] According to an embodiment, the feedback information may be obtained during the rendering and / or display process. The feedback information may be obtained by one or more sensors included in the receiving device 10004. According to an embodiment, the feedback information may be ensured by the renderer 10007 or a separate external element (or device, component, etc.). Figure 1 The dotted line in represents the process of sending feedback information ensured by the renderer 10007. The feedback information can be sent not only to the sending side, but also consumed on the receiving side. That is, the point cloud content providing system can process (encode / decode / render) the point cloud data based on the feedback information. For example, the point cloud video decoder 10006 and the renderer 10007 can preferentially decode and render the point cloud video only for the area currently viewed by the user based on the feedback information (i.e., head orientation information and / or viewport information).

[0082] In addition, the receiving device 10004 may send feedback information to the sending device 10000. The sending device 10000 (or the point cloud video data encoder 10002) may perform an encoding operation based on the feedback information. Therefore, the point cloud content providing system may efficiently process necessary data (e.g., point cloud data corresponding to the user's head position) based on the feedback information instead of processing (encoding / decoding) the entire point cloud data, and provide the point cloud content to the user.

[0083] According to an embodiment, the transmitting device 10000 may be referred to as an encoder, a transmitting device, a transmitter, a transmitting system, etc., and the receiving device 10004 may be referred to as a decoder, a receiving device, a receiver, a receiving system, etc.

[0084] According to the embodiment Figure 1 The point cloud data processed in the point cloud content providing system (through a series of processes of acquisition / encoding / transmission / decoding / rendering) may be referred to as point cloud content data or point cloud video data. According to an embodiment, point cloud content data may be used as a concept covering metadata or signaling information related to point cloud data.

[0085] Figure 1 The elements of the point cloud content providing system shown may be implemented by hardware, software, a processor and / or a combination thereof.

[0086] Figure 2 is a block diagram illustrating point cloud content providing operations according to an embodiment.

[0087] Figure 2 The block diagram shows Figure 1 The operation of the point cloud content providing system described in . As described above, the point cloud content providing system can process point cloud data based on point cloud compression compilation (eg, G-PCC).

[0088] According to an embodiment, a point cloud content providing system (e.g., a point cloud transmitting device 10000 or a point cloud video acquiring unit 10001) may acquire a point cloud video (20000). The point cloud video is represented by a point cloud belonging to a coordinate system for expressing a 3D space. According to an embodiment, a point cloud video may include a Ply (Polygon file format or Stanford Triangle format) file. When a point cloud video has one or more frames, the acquired point cloud video may include one or more Ply files. A Ply file contains point cloud data such as point geometry and / or attributes. Geometry includes the position of a point. The position of each point may be represented by a parameter (e.g., the value of the X, Y, and Z axes) representing a three-dimensional coordinate system (e.g., a coordinate system consisting of X, Y, and Z axes). Attributes include attributes of the point (e.g., information about the texture, color (YCbCr or RGB), reflectivity r, transparency, etc. of each point). A point has one or more attributes. For example, a point may have a color attribute or two attributes of color and reflectivity. According to an embodiment, geometry may be referred to as position, geometry information, geometry data, position information, position data, etc., and attribute may be referred to as attribute, attribute information, attribute data, etc. The point cloud content providing system (e.g., the point cloud transmitting device 10000 or the point cloud video acquiring unit 10001) may obtain point cloud data from information related to a point cloud video acquiring process (e.g., depth information, color information, etc.).

[0089] According to an embodiment, a point cloud content providing system (e.g., a transmitting device 10000 or a point cloud video encoder 10002) may encode point cloud data (20001). The point cloud content providing system may encode point cloud data based on point cloud compression compilation. As described above, the point cloud data may include geometric information and attribute information about the points. Therefore, the point cloud content providing system may perform geometric encoding for encoding the geometry and output a geometric bitstream. The point cloud content providing system may perform attribute encoding for encoding the attributes and output an attribute bitstream. According to an embodiment, the point cloud content providing system may perform attribute encoding based on geometric encoding. According to an embodiment, the geometric bitstream and the attribute bitstream may be multiplexed and output as one bitstream. According to an embodiment, the bitstream may also include signaling information related to geometric encoding and attribute encoding.

[0090] According to the embodiment, the point cloud content providing system (eg, the transmitting device 10000 or the transmitter 10003) may transmit the encoded point cloud data (20002). Figure 1 As shown, the encoded point cloud data may be represented by a geometry bitstream and an attribute bitstream. In addition, the encoded point cloud data may be sent in the form of a bitstream together with signaling information related to the encoding of the point cloud data (e.g., signaling information related to geometry encoding and attribute encoding). The point cloud content providing system may encapsulate the bitstream carrying the encoded point cloud data and send it in the form of a file or a fragment.

[0091] According to an embodiment, a point cloud content providing system (eg, receiving device 10004 or receiver 10005) may receive a bit stream containing encoded point cloud data. In addition, the point cloud content providing system (eg, receiving device 10004 or receiver 10005) may demultiplex the bit stream.

[0092] The point cloud content providing system (e.g., the receiving device 10004 or the point cloud video decoder 10005) may decode the encoded point cloud data (e.g., geometry bitstream, attribute bitstream) sent in the bitstream. The point cloud content providing system (e.g., the receiving device 10004 or the point cloud video decoder 10005) may decode the point cloud video data based on the signaling information related to the encoding of the point cloud video data contained in the bitstream. The point cloud content providing system (e.g., the receiving device 10004 or the point cloud video decoder 10005) may decode the geometry bitstream to reconstruct the position (geometry) of the point. The point cloud content providing system may reconstruct the attributes of the point by decoding the attribute bitstream based on the reconstructed geometry. The point cloud content providing system (e.g., the receiving device 10004 or the point cloud video decoder 10005) may reconstruct the point cloud video based on the position according to the reconstructed geometry and the decoded attributes.

[0093] According to an embodiment, a point cloud content providing system (e.g., receiving device 10004 or renderer 10007) may render decoded point cloud data (20004). The point cloud content providing system (e.g., receiving device 10004 or renderer 10007) may use various rendering methods to render the geometry and attributes decoded by the decoding process. Points in the point cloud content may be rendered as vertices with a specific thickness, a cube with a specific minimum size centered at the corresponding vertex position, or a circle centered at the corresponding vertex position. All or part of the rendered point cloud content is provided to the user through a display (e.g., a VR / AR display, a general display, etc.).

[0094] According to the embodiment, the point cloud content providing system (e.g., the receiving device 10004) may obtain feedback information (20005). The point cloud content providing system may encode and / or decode the point cloud data based on the feedback information. Figure 1 The feedback information and operations described are the same, so their detailed description is omitted.

[0095] Figure 3 An exemplary point cloud encoder according to an embodiment is shown.

[0096] Figure 3 Show Figure 1An example of a point cloud video encoder 10002. The point cloud encoder reconstructs and encodes point cloud data (e.g., the location and / or attributes of points) to adjust the quality of the point cloud content (e.g., lossless, lossy, or near-lossless) according to network conditions or applications. When the total size of the point cloud content is large (e.g., 60 Gbps of point cloud content is given for 30 fps), the point cloud content providing system may not be able to stream the content in real time. Therefore, the point cloud content providing system may reconstruct the point cloud content based on the maximum target bit rate to provide the point cloud content according to the network environment, etc.

[0097] As reference Figure 1 and Figure 2 As described, the point cloud encoder can perform geometry encoding and attribute encoding. Geometry encoding is performed before attribute encoding.

[0098] The point cloud video encoder according to the embodiment includes a coordinate transformer (Transform Coordinates) 30000, a quantizer (Quantize and Remove Points (Voxelization)) 30001, an octree analyzer (Analyze Octree) 30002, a surface approximation analyzer (Analyze Surface Approximation) 30003, an arithmetic encoder (Arithmetic Coding) 30004, a geometry reconstructor (Reconstruct Geometry) 30005, a color transformer (Transform Color) 30006, an attribute transformer (Transform Attribute) 30007, a RAHT transformer 30008, a LOD generator (Generated LOD) 30009, a lifting transformer (Lifting) 30010, a coefficient quantizer (Quantize Coefficient) 30011 and / or an arithmetic encoder (Arithmetic Coding) 30012. Figure 3 In the point cloud encoder of FIG. 30000, the coordinate transformer 30001, the quantizer 30002, the surface approximation analyzer 30003, the arithmetic encoder 30004 and the geometry reconstructor 30005 can be grouped together and referred to as a geometry encoder. The color transformer 30006, the attribute transformer 30007, the RAHT transformer 30008, the LOD generator 30009, the lifting transformer 30010, the coefficient quantizer 30011 and / or the arithmetic encoder 30012 can be grouped together and referred to as an attribute encoder.

[0099] The coordinate transformer 30000, the quantizer 30001, the octree analyzer 30002, the surface approximation analyzer 30003, the arithmetic encoder 30004 and the geometry reconstructor 30005 may perform geometry coding. The geometry coding according to the embodiment may include octree geometry coding, prediction tree geometry coding, direct coding, triplet geometry coding and entropy coding. Direct coding and triplet geometry coding are applied selectively or in combination. The geometry coding is not limited to the above examples.

[0100] As shown in the figure, the coordinate transformer 30000 according to the embodiment receives the position and transforms it into coordinates. For example, the position can be transformed into position information in a three-dimensional space (for example, a three-dimensional space represented by an XYZ coordinate system). The position information in the three-dimensional space according to the embodiment can be referred to as geometric information.

[0101] The quantizer 30001 according to an embodiment quantizes the geometry. For example, the quantizer 30001 may quantize the points based on the minimum position value of all points (e.g., the minimum value on each of the X, Y, and Z axes). The quantizer 30001 performs a quantization operation by multiplying the difference between the minimum position value and the position value of each point by a preset quantization scaling value, and then finding the nearest integer value by rounding the value obtained by the multiplication. Therefore, one or more points may have the same quantized position (or position value). The quantizer 30001 according to an embodiment performs voxelization based on the quantized position to reconstruct the quantized point. As in the case of a pixel (the smallest unit containing 2D image / video information), a point of a point cloud content (or 3D point cloud video) according to an embodiment may be included in one or more voxels. As a composite of volume and pixel, the term voxel refers to a 3D cubic space generated when a 3D space is divided into units (unit = 1.0) based on axes representing the 3D space (e.g., X-axis, Y-axis, and Z-axis). The quantizer 30001 may match a point group in a 3D space with a voxel. According to an embodiment, a voxel may include only one point. According to an embodiment, a voxel may include one or more points. In order to represent a voxel as a point, the position of the center of the voxel may be set based on the position of one or more points included in the voxel. In this case, the properties of all positions included in a voxel may be combined and assigned to the voxel.

[0102] The octree analyzer 30002 according to an embodiment performs octree geometry compilation (or octree compilation) to present voxels in an octree structure. The octree structure represents points that match voxels based on an octal tree structure.

[0103] The surface approximation analyzer 30003 according to an embodiment may analyze and approximate an octree. The octree analysis and approximation according to an embodiment is a process of analyzing a region including a plurality of points to efficiently provide an octree and voxelization.

[0104] The arithmetic encoder 30004 according to an embodiment performs entropy coding on the octree and / or the approximate octree. For example, the coding scheme includes arithmetic coding. As a result of the coding, a geometry bitstream is generated.

[0105] The color transformer 30006, the attribute transformer 30007, the RAHT transformer 30008, the LOD generator 30009, the lifting transformer 30010, the coefficient quantizer 30011 and / or the arithmetic encoder 30012 perform attribute coding. As described above, a point may have one or more attributes. The attribute coding according to the embodiment is also applied to the attributes of a point. However, when the attribute (e.g., color) includes one or more elements, the attribute coding is applied independently to each element. The attribute coding according to the embodiment includes color transform coding, attribute transform coding, regional adaptive hierarchical transform (RAHT) coding, hierarchical nearest neighbor prediction (prediction transform) coding based on interpolation, and hierarchical nearest neighbor prediction (lifting transform) coding based on interpolation with an update / lifting step. According to the point cloud content, the above-mentioned RAHT coding, prediction transform coding and lifting transform coding can be selectively used, or a combination of one or more coding schemes can be used. The attribute coding according to the embodiment is not limited to the above examples.

[0106] The color converter 30006 according to the embodiment performs color conversion coding to convert the color value (or texture) included in the attribute. For example, the color converter 30006 can convert the format of the color information (e.g., from RGB to YCbCr). Optionally, the operation of the color converter 30006 according to the embodiment can be applied according to the color value included in the attribute.

[0107] The geometry reconstructor 30005 according to an embodiment reconstructs (decompresses) an octree and / or an approximate octree. The geometry reconstructor 30005 reconstructs an octree / voxel based on the result of analyzing the point distribution. The reconstructed octree / voxel may be referred to as reconstructed geometry (restored geometry).

[0108] The attribute transformer 30007 according to an embodiment performs attribute transformation to transform attributes based on reconstructed geometry and / or a position where geometry encoding is not performed. As described above, since the attribute depends on geometry, the attribute transformer 30007 may transform the attribute based on the reconstructed geometry information. For example, based on the position value of the point included in the voxel, the attribute transformer 30007 may transform the attribute of the point at the position. As described above, when the center position of the voxel is set based on the position of one or more points included in the voxel, the attribute transformer 30007 transforms the attributes of one or more points. When triplet geometry encoding is performed, the attribute transformer 30007 may transform the attribute based on the triplet geometry encoding.

[0109] The attribute converter 30007 can perform attribute conversion by calculating the average of the attributes or attribute values ​​(e.g., the color or reflectivity of each point) of the neighboring points within a specific position / radius from the center position (or position value) of each voxel. The attribute converter 30007 can apply weights according to the distance from the center to each point when calculating the average. Therefore, each voxel has a position and a calculated attribute (or attribute value).

[0110] The attribute converter 30007 can search for neighboring points that exist within a specific position / radius from the center position of each voxel based on a KD tree or a Morton code. The KD tree is a binary search tree and supports a data structure that can manage points based on position, so that a nearest neighbor search (NNS) can be performed quickly. The Morton code is generated by presenting the coordinates (e.g., (x, y, z)) representing the 3D positions of all points as bit values ​​and mixing the bits. For example, when the coordinates representing the point position are (5, 9, 1), the bit value of the coordinate is (0101, 1001, 0001). Mixing the bit values ​​in the order of z, y, and x according to the bit index produces 010001000111. This value is represented as a decimal number 1095. That is, the Morton code value of the point with coordinates (5, 9, 1) is 1095. The attribute converter 30007 can sort the points based on the Morton code value and perform NNS through a depth-first traversal process. After the attribute transformation operation, KD-tree or Morton code is used when NNS is needed in another transformation process for attribute compilation.

[0111] As shown, the transformed attributes are input to the RAHT transformer 30008 and / or the LOD generator 30009.

[0112] The RAHT transformer 30008 according to an embodiment performs RAHT coding for predicting attribute information based on the reconstructed geometric information. For example, the RAHT transformer 30008 may predict attribute information of a higher-level node in the octree based on attribute information associated with a lower-level node in the octree.

[0113] The LOD generator 30009 according to an embodiment generates a level of detail (LOD) to perform predictive transformation compilation. The LOD according to an embodiment is the degree of detail of the point cloud content. As the LOD value decreases, the details of the point cloud content are degraded. As the LOD value increases, the details of the point cloud content are enhanced. Points can be classified by LOD.

[0114] The lifting transformer 30010 according to an embodiment performs lifting transformation coding to transform point cloud attributes based on weights. As described above, lifting transformation coding can be optionally applied.

[0115] The coefficient quantizer 30011 according to an embodiment quantizes the attribute of the attribute encoding based on the coefficient.

[0116] The arithmetic encoder 30012 according to an embodiment encodes quantized properties based on arithmetic coding.

[0117] Although not shown in the figure, Figure 3 The elements of the point cloud encoder may be implemented by hardware, software, firmware, or a combination thereof including one or more processors or integrated circuits configured to communicate with one or more memories included in the point cloud providing device. The one or more processors may execute the above Figure 3 At least one of the operations and / or functions of the elements of the point cloud encoder. In addition, one or more processors may be operable or executable to perform Figure 3 The software program and / or instruction set for the operation and / or function of the elements of the point cloud encoder. According to the embodiment, one or more memories may include high-speed random access memory, or include non-volatile memory (e.g., one or more disk storage devices, flash memory devices or other non-volatile solid-state memory devices).

[0118] Figure 4 Examples of octrees and occupancy codes according to an embodiment are shown.

[0119] As reference Figures 1 to 3 As described, the point cloud content providing system (point cloud video encoder 10002) or the point cloud encoder (eg, octree analyzer 30002) performs octree geometry coding (or octree coding) based on the octree structure to efficiently manage the region and / or position of voxels.

[0120] Figure 4 The upper part of FIG. 1 shows the octree structure. The 3D space of the point cloud content according to the embodiment is represented by the axes (eg, X-axis, Y-axis, and Z-axis) of the coordinate system. d , 2 d , 2 d ) to create an octree structure. Here, 2d can be set to the value of the smallest bounding box that surrounds all points of the point cloud content (or point cloud video). Here, d represents the depth of the octree. The value of d is determined in the following equation. In the following equation, (x int n , y int n , z int n ) represents the position (or position value) of the quantized point.

[0121]

[0122] like Figure 4As shown in the middle of the upper part of , the entire 3D space can be divided into eight spaces according to the partition. Each divided space is represented by a cube with six faces. Figure 4 As shown in the upper right part of , each of the eight spaces is divided again based on the axis of the coordinate system (e.g., X-axis, Y-axis, and Z-axis). Therefore, each space is divided into eight smaller spaces. The divided smaller spaces are also represented by cubes with six faces. This division scheme is applied until the leaf nodes of the octree become voxels.

[0123] Figure 4 The lower part of shows the octree occupancy code. The occupancy code of the octree is generated to indicate whether each of the eight divided spaces generated by dividing one space contains at least one point. Therefore, a single occupancy code is represented by eight child nodes. Each child node represents the occupancy of the divided space, and the child node has a 1-bit value. Therefore, the occupancy code is represented as an 8-bit code. That is, when the space corresponding to the child node contains at least one point, the node is assigned a value of 1. When the space corresponding to the child node does not contain a point (the space is empty), the node is assigned a value of 0. Since Figure 4 The occupancy code shown is 00100001, thus indicating that the spaces corresponding to the third and eighth subnodes among the eight subnodes each contain at least one point. As shown in the figure, each of the third and eighth subnodes has eight subnodes, and the subnodes are represented by an 8-bit occupancy code. The accompanying drawings show that the occupancy code of the third subnode is 10000111, and the occupancy code of the eighth subnode is 01001111. The point cloud encoder (e.g., the arithmetic encoder 30004) according to an embodiment may perform entropy encoding on the occupancy code. In order to increase compression efficiency, the point cloud encoder may perform intra / inter coding on the occupancy code. The receiving device (e.g., the receiving device 10004 or the point cloud video decoder 10006) according to an embodiment reconstructs the occupancy code based on the occupancy code.

[0124] According to an embodiment, a point cloud encoder (eg, Figure 4 The point cloud encoder or octree analyzer 30002) may perform voxelization and octree compilation to store point locations. However, points are not always evenly distributed in the 3D space, so there may be specific areas where fewer points exist. Therefore, performing voxelization on the entire 3D space is inefficient. For example, when a specific area contains few points, voxelization does not need to be performed in the specific area.

[0125] Therefore, for the above-mentioned specific area (or nodes other than the leaf nodes of the octree), the point cloud encoder according to an embodiment may skip voxelization and perform direct coding to directly encode the point positions included in the specific area. The coordinates of the directly coded points according to the embodiment are called direct coding mode (DCM). The point cloud encoder according to the embodiment may also perform triplet geometry coding based on the surface model, which is to reconstruct the point positions in the specific area (or node) based on voxels. Triplet geometry coding is a geometry coding that represents an object as a series of triangular meshes. Therefore, the point cloud decoder can generate a point cloud from the mesh surface. Direct coding and triplet geometry coding according to the embodiment may be performed selectively. In addition, direct coding and triplet geometry coding according to the embodiment may be performed in combination with octree geometry coding (or octree coding).

[0126] In order to perform direct coding, the option of using direct mode to apply direct coding should be enabled. The node to which direct coding is to be applied is not a leaf node, and there should be points less than a threshold value within a specific node. In addition, the total number of points to which direct coding is to be applied should not exceed a preset threshold. When the above conditions are met, the point cloud encoder (or arithmetic encoder 30004) according to an embodiment may perform entropy coding on the point position (or position value).

[0127] A point cloud encoder (e.g., surface approximation analyzer 30003) according to an embodiment may determine a specific level of an octree (a level less than the depth d of the octree), and may use a surface model starting from this level to perform triplet geometry encoding to reconstruct point positions in the node area based on voxels (triplet mode). A point cloud encoder according to an embodiment may specify a level to which triplet geometry encoding is to be applied. For example, when the specific level is equal to the depth of the octree, the point cloud encoder does not operate in triplet mode. In other words, the point cloud encoder according to an embodiment may operate in triplet mode only when the specified level is less than the depth value of the octree. A 3D cubic area of ​​a node at a specified level according to an embodiment is referred to as a block. A block may include one or more voxels. A block or voxel may correspond to a block. Geometry is represented as a surface within each block. A surface according to an embodiment may intersect each edge of a block at most once.

[0128] A block has 12 edges, so there are at least 12 intersections in a block. Each intersection is called a vertex. When there is at least one occupied voxel adjacent to the edge among all blocks sharing the edge, the vertex existing along the edge is detected. An occupied voxel according to an embodiment refers to a voxel containing a point. The vertex position detected along the edge is the average position of the edge of all voxels adjacent to the edge among all blocks along the shared edge.

[0129] Once the vertex is detected, the point cloud encoder according to an embodiment may perform entropy encoding on the start point (x, y, z) of the edge, the direction vector (Δx, Δy, Δz) of the edge, and the vertex position value (relative position value within the edge). When triplet geometry encoding is applied, the point cloud encoder according to an embodiment (e.g., geometry reconstructor 30005) may generate recovered geometry (reconstructed geometry) by performing triangle reconstruction, upsampling, and voxelization processes.

[0130] The vertices located at the edges of the block determine the surface passing through the block. The surface according to an embodiment is a non-planar polygon. In the triangle reconstruction process, the surface represented by the triangle is reconstructed based on the starting point of the edge, the direction vector of the edge and the position value of the vertex. The triangle reconstruction process is performed by i) calculating the centroid value of each vertex, ii) subtracting the center value from each vertex value, and iii) estimating the sum of the squares of the values ​​obtained by subtraction.

[0131]

[0132] Estimate the minimum value of the sum, and perform the projection process according to the axis with the minimum value. For example, when the element x is the smallest, each vertex is projected on the x-axis relative to the center of the block and projected on the (y, z) plane. When the value obtained by the projection on the (y, z) plane is (ai, bi), the value of θ is estimated by atan2(bi, ai), and the vertices are sorted based on the value of θ. The following table shows the vertex combination for creating triangles according to the number of vertices. The vertices are sorted from 1 to n. Table 1 below shows that for four vertices, two triangles can be constructed according to the vertex combination. The first triangle can be composed of vertices 1, 2, and 3 among the sorted vertices, and the second triangle can be composed of vertices 3, 4, and 1 among the sorted vertices.

[0133] [Table 1]

[0134] [Table 1] Triangles formed from vertices sorted in 1,…,n order

[0135]

[0136] An upsampling process is performed to add points in the middle along the edges of the triangle, and voxelization is performed. The added points are generated based on the upsampling factor and the width of the block. The added points are called refined vertices. The point cloud encoder according to an embodiment may voxelize the refined vertices. In addition, the point cloud encoder may perform attribute encoding based on the voxelized position (or position value).

[0137] Figure 5 An example of point configuration in each LOD according to an embodiment is shown.

[0138] As reference Figures 1 to 4As described, the encoded geometry is reconstructed (decompressed) before performing attribute encoding. When direct coding is applied, the geometry reconstruction operation may include changing the placement of the directly coded points (e.g., placing the directly coded points in front of the point cloud data). When triplet geometry coding is applied, the geometry reconstruction process is performed by triangle reconstruction, upsampling, and voxelization. Since the attributes are geometry dependent, attribute encoding is performed based on the reconstructed geometry.

[0139] The point cloud encoder (e.g., LOD generator 30009) can classify (or reorganize) the points by LOD. The figure shows the point cloud content corresponding to the LOD. The leftmost screen in the figure shows the original point cloud content. The second screen from the left in the figure shows the distribution of points in the lowest LOD, and the rightmost screen in the figure shows the distribution of points in the highest LOD. That is, the points in the lowest LOD are sparsely distributed, and the points in the highest LOD are densely distributed. That is, as the LOD increases in the direction indicated by the arrow indicated at the bottom of the figure, the space (or distance) between the points becomes narrower.

[0140] Figure 6 An example of point configuration for each LOD according to an embodiment is shown.

[0141] As reference Figures 1 to 5 As described, the point cloud content providing system or point cloud encoder (eg, point cloud video encoder 10002, Figure 3 The point cloud encoder or LOD generator 30009) can generate LOD. LOD is generated by reorganizing points into a set of refinement levels according to a set LOD distance value (or a set of Euclidean distances). The LOD generation process is performed not only by the point cloud encoder but also by the point cloud decoder.

[0142] Figure 6 The upper part of shows examples of points (P0 to P9) of point cloud content distributed in 3D space. Figure 6 In , the original order represents the order of points P0 to P9 before LOD generation. Figure 6 In the LOD-based order, it means the order of points generated according to the LOD. Points are reorganized by LOD. In addition, a high LOD contains points belonging to a lower LOD. Figure 6 As shown, LOD0 contains P0, P5, P4 and P2. LOD1 contains the points of LOD0, P1, P6 and P3. LOD2 contains the points of LOD0, the points of LOD1, P9, P8 and P7.

[0143] As reference Figure 3 As described, the point cloud encoder according to an embodiment may selectively or in combination perform prediction transform coding, lifting transform coding, and RAHT transform coding.

[0144] The point cloud encoder according to an embodiment may generate a predictor for a point to perform prediction transform coding for setting a prediction attribute (or prediction attribute value) of each point. That is, N predictors may be generated for N points. The predictor according to an embodiment may calculate a weight (=1 / distance) based on the LOD value of each point, index information about neighboring points that exist within a set distance of each LOD, and the distance to the neighboring point.

[0145] The predicted attribute (or attribute value) according to the embodiment is set to the average of the values ​​obtained by multiplying the attribute (or attribute value) (e.g., color, reflectivity, etc.) of the neighboring points set in the predictor of each point by the weight (or weight value) calculated based on the distance to each neighboring point. The point cloud encoder (e.g., coefficient quantizer 30011) according to the embodiment can quantize and inversely quantize the residual (which can be called residual attribute, residual attribute value, attribute prediction residual, etc.) obtained by subtracting the predicted attribute (or attribute value) of each point from the attribute (attribute value) of each point. Tables 2 and 3 below show the quantization process.

[0146] [Table 2]

[0147]

[0148] [Table 3]

[0149]

[0150] When the predictor of each point has neighboring points, the point cloud encoder (eg, the arithmetic encoder 30012 ) according to an embodiment may perform entropy coding on the quantized and inverse quantized residual values ​​as described above.

[0151] When the predictor of each point has no neighboring points, the point cloud encoder (e.g., arithmetic encoder 30012) according to an embodiment may perform entropy coding on the attributes of the corresponding points without performing the above operation. The point cloud encoder (e.g., lifting transformer 30010) according to an embodiment may generate a predictor for each point, set the calculated LOD and register the neighboring points in the predictor, and set the weight according to the distance to the neighboring points to perform lifting transformation coding. The lifting transformation coding according to the embodiment is similar to the above-mentioned prediction transformation coding, but the difference is that the weights are cumulatively applied to the attribute values. The process of cumulatively applying weights to the attribute values ​​according to the embodiment is configured as follows.

[0152] 1) Create an array quantized weight (QW) for storing weight values ​​of each point. The initial value of all elements of QW is 1.0. Multiply the QW value of the predictor index of the neighbor node registered in the predictor by the weight of the predictor of the current point, and add the values ​​obtained by multiplication.

[0153] 2) Boosting prediction process: The value obtained by multiplying the attribute value of the point by the weight is subtracted from the existing attribute value to calculate the predicted attribute value.

[0154] 3) Create temporary arrays called updateweight and update, and initialize the temporary arrays to zero.

[0155] 4) Accumulate the weights calculated by multiplying the weights calculated for all predictors by the weights stored in the QW corresponding to the predictor index with the updateweight array as the index of the neighbor node. Accumulate the value obtained by multiplying the attribute value of the neighbor node index by the calculated weight with the update array.

[0156] 5) Boosting update process: Divide the attribute values ​​of the update array of all predictors by the weight value of the updateweight array of the predictor index, and add the existing attribute value to the value obtained by the division.

[0157] 6) For all predictors, the predicted attribute is calculated by multiplying the attribute value updated by the lifting update process by the weight updated by the lifting prediction process (stored in QW). The point cloud encoder (e.g., coefficient quantizer 30011) according to the embodiment quantizes the predicted attribute value. In addition, the point cloud encoder (e.g., arithmetic encoder 30012) performs entropy encoding on the quantized attribute value.

[0158] A point cloud encoder according to an embodiment (e.g., RAHT transformer 30008) may perform RAHT transform coding, in which attributes associated with lower-level nodes in an octree are used to predict attributes of higher-level nodes. RAHT transform coding is an example of attribute intra-frame coding by scanning backward through an octree. A point cloud encoder according to an embodiment scans the entire area starting from voxels and repeats a merging process of merging voxels into larger blocks at each step until the root node is reached. The merging process according to an embodiment is performed only on occupied nodes. The merging process is not performed on empty nodes. The merging process is performed on the upper node directly above the empty node.

[0159] The following equation represents the RAHT transformation matrix. In this equation, Indicates level The average attribute value of the voxels at . Can be based on and to calculate. and The weight of and .

[0160]

[0161] here, is the low-pass value and is used in the merging process at the next highest level. represents the high pass coefficient 0000000000. The high pass coefficients of each step are quantized and subjected to entropy coding (e.g., encoded by arithmetic encoder 30012). The weights are calculated as .pass and Create the root node as follows.

[0162]

[0163] The values ​​of gDC are also quantized and subjected to entropy coding like the high-pass coefficients.

[0164] Figure 7 A point cloud decoder according to an embodiment is shown.

[0165] Figure 7 The point cloud decoder shown is an example of a point cloud decoder and can perform a decoding operation, which is Figures 1 to 6 The inverse process of the encoding operation of the point cloud encoder shown.

[0166] As reference Figure 1 and Figure 6 As described, the point cloud decoder can perform geometry decoding and attribute decoding. Geometry decoding is performed before attribute decoding.

[0167] The point cloud decoder according to an embodiment includes an arithmetic decoder (arithmetic decoding) 7000, an octree synthesizer (synthesize octree) 7001, a surface approximation synthesizer (synthesize surface approximation) 7002 and a geometry reconstructor (reconstruct geometry) 7003, an inverse coordinate transformer (inverse transform coordinates) 7004, an arithmetic decoder (arithmetic decoding) 7005, an inverse quantizer (inverse quantization) 7006, a RAHT transformer 7007, an LOD generator (generate LOD) 7008, an inverse lifting (inverse lifting) 7009 and / or an inverse color transformer (inverse transform color) 7010.

[0168] The arithmetic decoder 7000, the octree synthesizer 7001, the surface approximation synthesizer 7002, the geometry reconstructor 7003, and the coordinate inverse transformer 7004 may perform geometry decoding. The geometry decoding according to the embodiment may include direct decoding and triplet geometry decoding. Direct decoding and triplet geometry decoding are selectively applied. The geometry decoding is not limited to the above examples, and as a reference Figures 1 to 6 The inverse process of the geometric encoding described is performed.

[0169] The arithmetic decoder 7000 according to the embodiment decodes the received geometry bitstream based on arithmetic coding. The operation of the arithmetic decoder 7000 corresponds to the inverse process of the arithmetic encoder 30004.

[0170] The octree synthesizer 7001 according to the embodiment may generate an octree by acquiring an occupancy code (or information about the geometry obtained as a result of decoding) from the decoded geometry bitstream. Figures 1 to 6 Describe the configuration in detail.

[0171] When triplet geometry encoding is applied, a surface approximation synthesizer 7002 according to an embodiment may synthesize a surface based on the decoded geometry and / or the generated octree.

[0172] According to an embodiment, the geometry reconstructor 7003 may regenerate the geometry based on the surface and / or the decoded geometry. Figures 1 to 9 As described, direct coding and triplet geometry coding are selectively applied. Therefore, the geometry reconstructor 7003 directly imports the position information about the points to which direct coding is applied and adds them. When triplet geometry coding is applied, the geometry reconstructor 7003 can reconstruct the geometry by performing the reconstruction operations (e.g., triangle reconstruction, upsampling, and voxelization) of the geometry reconstructor 30005. Details and References Figure 6 Those described are the same, so their description is omitted. The reconstructed geometry may include a point cloud screen or frame that does not contain attributes.

[0173] The coordinate inverse transformer 7004 according to an embodiment may acquire a point position by transforming the coordinates based on the reconstructed geometry.

[0174] The arithmetic decoder 7005, the inverse quantizer 7006, the RAHT transformer 7007, the LOD generator 7008, the inverse lifter 7009 and / or the color inverse transformer 7010 may perform attribute decoding. Attribute decoding according to an embodiment includes regional adaptive hierarchical transform (RAHT) decoding, hierarchical nearest neighbor prediction (prediction transform) decoding based on interpolation, and hierarchical nearest neighbor prediction (lifting transform) decoding based on interpolation with an update / lifting step. The above three decoding schemes may be selectively used, or a combination of one or more decoding schemes may be used. Attribute decoding according to an embodiment is not limited to the above examples.

[0175] The arithmetic decoder 7005 according to the embodiment decodes the attribute bitstream through arithmetic coding.

[0176] The inverse quantizer 7006 according to an embodiment inversely quantizes information about a decoded attribute bitstream or an attribute obtained as a result of decoding, and outputs an inversely quantized attribute (or attribute value). Inverse quantization may be selectively applied based on attribute encoding of a point cloud encoder.

[0177] According to an embodiment, the RAHT transformer 7007, the LOD generator 7008 and / or the inverse lifter 7009 may process the reconstructed geometry and inverse quantized attributes. As described above, the RAHT transformer 7007, the LOD generator 7008 and / or the inverse lifter 7009 may selectively perform a decoding operation corresponding to the encoding of the point cloud encoder.

[0178] The color inverse transformer 7010 according to an embodiment performs inverse transform coding to inversely transform the color value (or texture) included in the decoded attribute. The operation of the color inverse transformer 7010 may be selectively performed based on the operation of the color transformer 30006 of the point cloud encoder.

[0179] Although not shown in the figure, Figure 7 The elements of the point cloud decoder may be implemented by hardware, software, firmware, or a combination thereof including one or more processors or integrated circuits configured to communicate with one or more memories included in the point cloud providing device. The one or more processors may execute the above Figure 7 At least one or more of the operations and / or functions of the elements of the point cloud decoder. In addition, one or more processors may be operable or executed to perform Figure 7 A software program and / or instruction set for the operation and / or functionality of the elements of a point cloud decoder.

[0180] Figure 8 A transmitting device according to an embodiment is shown.

[0181] Figure 8 The sending device shown is Figure 1 The sending device 10000 (or Figure 3 An example of a point cloud encoder. Figure 8 The sending device shown can be executed with reference to Figures 1 to 6 The transmitting device according to the embodiment may include a data input unit 8000, a quantization processor 8001, a voxelization processor 8002, an octree occupancy code generator 8003, a surface model processor 8004, an intra / inter coding processor 8005, an arithmetic encoder 8006, a metadata processor 8007, a color transformation processor 8008, an attribute transformation processor 8009, a prediction / lifting / RAHT transformation processor 8010, an arithmetic encoder 8011 and / or a transmission processor 8012.

[0182] The data input unit 8000 according to the embodiment receives or acquires point cloud data. The data input unit 8000 may perform the same operation and / or acquisition method as the point cloud video acquisition unit 10001 (or refer to Figure 2 The acquisition process 20000) described above has the same or similar operations and / or acquisition methods.

[0183] The data input unit 8000, the quantization processor 8001, the voxelization processor 8002, the octree occupancy code generator 8003, the surface model processor 8004, the intra / inter coding processor 8005 and the arithmetic encoder 8006 perform geometric coding. Figures 1 to 9 The geometrical encodings described are the same or similar, so their detailed description is omitted.

[0184] According to an embodiment, the quantization processor 8001 quantizes geometry (eg, position values ​​of points). The operation and / or quantization of the quantization processor 8001 is similar to the reference Figure 3 The operation and / or quantization of the quantizer 30001 described above are the same or similar. Figures 1 to 9 Same as those described.

[0185] According to an embodiment, the voxelization processor 8002 voxelizes the quantized position value of the point. The voxelization processor 8002 may perform the same as the reference Figure 3 The operation and / or voxelization process of the quantizer 30001 described above is the same or similar to the operation and / or process described above. Figures 1 to 6 Same as those described.

[0186] The octree occupancy code generator 8003 according to an embodiment performs octree compilation based on the voxelized position of the point in the octree structure. The octree occupancy code generator 8003 may generate an occupancy code. The octree occupancy code generator 8003 may perform the same as the reference code. Figure 3 and Figure 4 The operations and / or methods of the point cloud encoder (or octree analyzer 30002) described herein are the same or similar to the operations and / or methods described herein. Figures 1 to 6 Same as those described.

[0187] According to an embodiment, the surface model processor 8004 may perform triplet geometry encoding based on the surface model to reconstruct the point position in a specific area (or node) based on voxels. The surface model processor 8004 may perform triplet geometry encoding based on the surface model to reconstruct the point position in a specific area (or node) based on voxels. Figure 3 The operations and / or methods described herein are the same or similar to the operations and / or methods of the point cloud encoder (e.g., surface approximation analyzer 30003). Figures 1 to 6 Same as those described.

[0188] According to an embodiment, the intra / inter coding processor 8005 may perform intra / inter coding on the point cloud data. The intra / inter coding processor 8005 may perform coding that is the same as or similar to intra / inter coding. According to an embodiment, the intra / inter coding processor 8005 may be included in the arithmetic encoder 8006.

[0189] According to an embodiment, the arithmetic encoder 8006 performs entropy coding on the octree and / or approximate octree of the point cloud data. For example, the coding scheme includes arithmetic coding. The arithmetic encoder 8006 performs the same or similar operations and / or methods as the operations and / or methods of the arithmetic encoder 30004.

[0190] The metadata processor 8007 according to an embodiment processes metadata (e.g., set values) about the point cloud data and provides it to necessary processing processes such as geometry coding and / or attribute coding. In addition, the metadata processor 8007 according to an embodiment may generate and / or process signaling information related to geometry coding and / or attribute coding. The signaling information according to an embodiment may be encoded separately from the geometry coding and / or attribute coding. The signaling information according to an embodiment may be interleaved.

[0191] The color conversion processor 8008, the attribute conversion processor 8009, the prediction / lifting / RAHT conversion processor 8010, and the arithmetic encoder 8011 perform attribute encoding. Figures 1 to 6 The attribute codes described are the same or similar, so their detailed description is omitted.

[0192] The color transform processor 8008 according to an embodiment performs color transform compilation to transform the color value included in the attribute. The color transform processor 8008 may perform color transform compilation based on the reconstructed geometry. The reconstructed geometry is compared with the reference Figures 1 to 9 In addition, its execution is the same as that of reference Figure 3 The operations and / or methods of the color converter 30006 described above are the same as or similar to the operations and / or methods described above, and detailed descriptions thereof are omitted.

[0193] The attribute transformation processor 8009 according to an embodiment performs attribute transformation to transform attributes based on reconstructed geometry and / or locations where geometry encoding is not performed. Figure 3 The operations and / or methods of the attribute transformer 30007 described in the embodiment are the same as or similar to the operations and / or methods of the attribute transformer 30007 described in the embodiment. The detailed description thereof is omitted. The prediction / lifting / RAHT transformation processor 8010 according to the embodiment may encode the transformed attributes through any one or a combination of RAHT coding, prediction transformation coding and lifting transformation coding. The prediction / lifting / RAHT transformation processor 8010 performs the same as or similar to the reference. Figure 3 The operations of the RAHT transformer 30008, the LOD generator 30009 and the lifting transformer 30010 described above are the same or similar to at least one operation. In addition, the prediction transformation compilation, the lifting transformation compilation and the RAHT transformation compilation are the same as the reference transformation compilation. Figures 1 to 9 Those described are the same, so their detailed description is omitted.

[0194] The arithmetic encoder 8011 according to an embodiment may encode the coded attribute based on arithmetic coding. The arithmetic encoder 8011 performs the same or similar operation and / or method as that of the arithmetic encoder 30012.

[0195] According to an embodiment, the transmission processor 8012 may send individual bitstreams containing coded geometry and / or coded attributes or metadata information, or send a bitstream containing coded geometry and / or coded attributes and metadata information. When the coded geometry and / or coded attributes and metadata information according to an embodiment are configured into a bitstream, the bitstream may include one or more sub-bitstreams. According to an embodiment, the bitstream may include signaling information and slice data, and the signaling information includes a sequence parameter set (SPS) for sequence level signaling, a geometry parameter set (GPS) for signaling of geometry information coding, an attribute parameter set (APS) for signaling of attribute information coding, and a patch parameter set (TPS) for patch level signaling. Slice data may include information about one or more slices. According to an embodiment, a slice may include a geometry bitstream Geom00 and one or more attribute bitstreams Attr00 and Attr10.

[0196] A slice is a sequence of syntactic elements that represents the entirety or a portion of a compiled point cloud frame.

[0197] The TPS according to an embodiment may include information about each of the one or more tiles (e.g., coordinate information and height / size information about a bounding box). The geometry bitstream may include a header and a payload. The header of the geometry bitstream according to an embodiment may include a parameter set identifier (geom_parameter_set_id), a tile identifier (geom_tile_id), and a slice identifier (geom_slice_id) included in the GPS, as well as information about the data contained in the payload. As described above, the metadata processor 8007 according to an embodiment may generate and / or process signaling information and send it to the transmission processor 8012. According to an embodiment, an element that performs geometry encoding and an element that performs attribute encoding may share data / information with each other as indicated by the dotted lines. The transmission processor 8012 according to an embodiment may perform operations and / or transmission methods that are the same or similar to those of the transmitter 10003. Details and References Figure 1 and Figure 2 Those described are the same, so their description is omitted.

[0198] Figure 9 A receiving apparatus according to an embodiment is illustrated.

[0199] Figure 9 The receiving device shown is Figure 1An example of a receiving device 10004. Figure 9 The receiving device shown can execute and refer to Figures 1 to 8 One or more operations and methods that are the same or similar to those of the described point cloud decoder.

[0200] The receiving apparatus according to the embodiment may include a receiver 9000, a receiving processor 9001, an arithmetic decoder 9002, an octtree reconstruction processor 9003 based on an occupancy code, a surface model processor (triangle reconstruction, upsampling, voxelization) 9004, an inverse quantization processor 9005, a metadata parser 9006, an arithmetic decoder 9007, an inverse quantization processor 9008, a prediction / lifting / RAHT inverse transform processor 9009, a color inverse transform processor 9010 and / or a renderer 9011. Each decoding element according to the embodiment may perform an inverse process of the operation of the corresponding encoding element according to the embodiment.

[0201] The receiver 9000 according to the embodiment receives point cloud data. The receiver 9000 may perform the same Figure 1 The operation and / or receiving method of the receiver 10005 is the same as or similar to the operation and / or receiving method of the receiver 10005. The detailed description thereof is omitted.

[0202] The reception processor 9001 according to an embodiment may acquire a geometry bitstream and / or an attribute bitstream from the received data. The reception processor 9001 may be included in the receiver 9000.

[0203] The arithmetic decoder 9002, the octtree reconstruction processor 9003 based on the occupancy code, the surface model processor 9004, and the inverse quantization processor 9005 may perform geometric decoding. Figures 1 to 10 The geometric decoding described is the same or similar, so its detailed description is omitted.

[0204] The arithmetic decoder 9002 according to an embodiment may decode the geometry bitstream based on arithmetic coding. The arithmetic decoder 9002 performs the same or similar operations and / or coding as those of the arithmetic decoder 7000.

[0205] The octree reconstruction processor 9003 based on the occupancy code according to the embodiment can reconstruct the octree by obtaining the occupancy code from the decoded geometry bitstream (or information about the geometry obtained as a result of decoding). The octree reconstruction processor 9003 based on the occupancy code performs the same or similar operations and / or methods as the operations of the octree synthesizer 7001 and / or the octree generation method. When triplet geometry coding is applied, the surface model processor 9004 according to the embodiment can perform triplet geometry decoding and related geometry reconstruction (e.g., triangle reconstruction, upsampling, voxelization) based on the surface model method. The surface model processor 9004 performs the same or similar operations as the operations of the surface approximation synthesizer 7002 and / or the geometry reconstructor 7003.

[0206] The inverse quantization processor 9005 according to an embodiment may inversely quantize the decoded geometry.

[0207] According to an embodiment, the metadata parser 9006 may parse metadata (eg, setting values) contained in the received point cloud data. The metadata parser 9006 may pass the metadata to the geometry decoding and / or attribute decoding. Figure 8 The metadata described is the same, so a detailed description thereof is omitted.

[0208] The arithmetic decoder 9007, the inverse quantization processor 9008, the prediction / lifting / RAHT inverse transform processor 9009 and the color inverse transform processor 9010 perform attribute decoding. Figures 1 to 8 The attribute decoding described in at least one of them is the same or similar, so its detailed description is omitted.

[0209] The arithmetic decoder 9007 according to an embodiment may decode the attribute bitstream by arithmetic coding. The arithmetic decoder 9007 may decode the attribute bitstream based on the reconstructed geometry. The arithmetic decoder 9007 performs the same or similar operations and / or coding as those of the arithmetic decoder 7005.

[0210] The inverse quantization processor 9008 according to an embodiment may inversely quantize the decoded attribute bitstream. The inverse quantization processor 9008 performs the same or similar operation and / or method as the inverse quantizer 7006 and / or the inverse quantization method.

[0211] The prediction / lifting / RAHT inverse transform processor 9009 according to an embodiment may process the reconstructed geometric and inverse quantized properties. The prediction / lifting / RAHT inverse transform processor 9009 performs the same Figure 7The color inverse transform processor 9010 according to an embodiment performs inverse transform coding to inversely transform the color value (or texture) included in the decoded attribute. The color inverse transform processor 9010 performs the same or similar operations and / or decoding as the RAHT transformer 7007, the LOD generator 7008 and / or the inverse lifter 7009 of the embodiment. Figure 7 The operations and / or inverse transform compilation of the color inverse transformer 7010 are the same as or similar to the operations and / or inverse transform compilation of the color inverse transformer 7010. The renderer 9011 according to an embodiment may render point cloud data.

[0212] Figure 10 An exemplary structure operable in conjunction with a point cloud data transmitting / receiving method / apparatus according to an embodiment is shown.

[0213] Figure 10 The structure of 1060 represents a configuration in which at least one of the server 1060, the robot 1010, the self-driving vehicle 1020, the XR device 1030, the smart phone 1040, the home appliance 1050, and / or the head mounted display (HMD) 1070 is connected to the cloud network 1000. The robot 1010, the self-driving vehicle 1020, the XR device 1030, the smart phone 1040, or the home appliance 1050 is referred to as a device. In addition, the XR device 1030 may correspond to a point cloud data (PCC) device according to an embodiment or may be operably connected to a PCC device.

[0214] The cloud network 1000 may represent a network that constitutes a part of a cloud computing infrastructure or exists in a cloud computing infrastructure. Here, the cloud network 1000 may be configured using a 3G network, a 4G or Long Term Evolution (LTE) network, or a 5G network.

[0215] The server 1060 may be connected to at least one of the robot 1010 , the self-driving vehicle 1020 , the XR device 1030 , the smart phone 1040 , the home appliance 1050 , and / or the HMD 1070 via the cloud network 1000 , and may assist in at least a portion of the processing of the connected devices 1010 to 1070 .

[0216] The HMD 1070 represents one of implementation types of an XR device and / or a PCC device according to an embodiment. The HMD type device according to an embodiment includes a communication unit, a control unit, a memory, an I / O unit, a sensor unit, and a power supply unit.

[0217] Hereinafter, various embodiments of devices 1010 to 1050 to which the above-described technology is applied will be described. Figure 10 The illustrated devices 1010 to 1050 may be operably connected / coupled to the point cloud data sending device and receiving device according to the above-described embodiments.

[0218] <PCC+XR>

[0219] The XR / PCC device 1030 may employ PCC technology and / or XR (AR+VR) technology, and may be implemented as an HMD, a head-up display (HUD) disposed in a vehicle, a television, a mobile phone, a smart phone, a computer, a wearable device, a home appliance, a digital signage, a vehicle, a fixed robot, or a mobile robot.

[0220] The XR / PCC device 1030 may analyze 3D point cloud data or image data acquired through various sensors or from an external device and generate position data and attribute data about 3D points. Thus, the XR / PCC device 1030 may acquire information about the surrounding space or real objects, and render and output XR objects. For example, the XR / PCC device 1030 may match an XR object including auxiliary information about the recognized object with the recognized object and output the matched XR object.

[0221] <PCC+XR+Mobile Phone>

[0222] The XR / PCC device 1030 may be implemented as a smart phone 1040 by applying the PCC technology.

[0223] Smart phone 1040 may decode and display point cloud content based on PCC technology.

[0224] <PCC+Autopilot+XR>

[0225] The self-driving vehicle 1020 may be implemented as a mobile robot, a vehicle, an unmanned aerial vehicle, etc. by applying PCC technology and XR technology.

[0226] The self-driving vehicle 1020 to which the XR / PCC technology is applied may represent a self-driving vehicle provided with a means for providing an XR image, or a self-driving vehicle as a control / interaction target in the XR image. Specifically, as a control / interaction target in the XR image, the self-driving vehicle 1020 may be distinguished from the XR device 1030 and may be operably connected thereto.

[0227] The self-driving vehicle 1020 having means for providing XR / PCC images may acquire sensor information from sensors including cameras, and output generated XR / PCC images based on the acquired sensor information. For example, the self-driving vehicle 1020 may have a HUD and output XR / PCC images thereto, thereby providing passengers with XR / PCC objects corresponding to real objects or objects presented on the screen.

[0228] When the XR / PCC object is output to the HUD, at least a portion of the XR / PCC object may be output to overlap with the real object to which the passenger's eyes are directed. On the other hand, when the XR / PCC object is output on a display provided in the self-driving vehicle, at least a portion of the XR / PCC object may be output to overlap with the object on the screen. For example, the self-driving vehicle 1020 may output XR / PCC objects corresponding to objects such as a road, another vehicle, a traffic light, a traffic sign, a two-wheeled vehicle, a pedestrian, and a building.

[0229] Virtual reality (VR) technology, augmented reality (AR) technology, mixed reality (MR) technology, and / or point cloud compression (PCC) technology according to an embodiment are applicable to various devices.

[0230] In other words, VR technology is a display technology that only provides CG images of real-world objects, backgrounds, etc. On the other hand, AR technology refers to a technology that displays a virtually created CG image on an image of a real object. MR technology is similar to the above-mentioned AR technology in that the virtual objects to be displayed are mixed and combined with the real world. However, MR technology is different from AR technology in that AR technology clearly distinguishes between real objects and virtual objects created as CG images and uses virtual objects as supplementary objects to real objects, while MR technology treats virtual objects as objects with properties equivalent to real objects. More specifically, an example of the application of MR technology is a holographic service.

[0231] Recently, VR, AR, and MR technologies are often referred to as extended reality (XR) technologies rather than being clearly distinguished from each other. Therefore, embodiments of the present disclosure are applicable to any of VR, AR, MR, and XR technologies. Encoding / decoding based on PCC, V-PCC, and G-PCC technologies are applicable to such technologies.

[0232] The PCC method / apparatus according to the embodiment may be applied to a vehicle providing a self-driving service.

[0233] Vehicles providing self-driving services are connected to the PCC device for wired / wireless communication.

[0234] When a point cloud data (PCC) transmission / reception device according to an embodiment is connected to a vehicle for wired / wireless communication, the device may receive / process content data related to an AR / VR / PCC service (which may be provided together with a self-driving service) and send it to the vehicle. In the case where the PCC transmission / reception device is installed on the vehicle, the PCC transmission / reception device may receive / process content data related to the AR / VR / PCC service and provide it to the user according to a user input signal input through a user interface device. The vehicle or the user interface device according to the embodiment may receive a user input signal. The user input signal according to the embodiment may include a signal indicating a self-driving service.

[0235] As described above, a point cloud (or point cloud data) consists of a collection of points, and each point may have geometric information and attribute information. The geometric information is three-dimensional position (XYZ) information, and the attribute information includes color (RGB, YUV, etc.) and reflectivity. In other words, the attribute information about each point may include at least one of color, reflectivity, opacity, frame index, frame number, material identifier, or normal vector.

[0236] In this disclosure, geometry information is used interchangeably with geometry data and geometry. In addition, attribute information is used interchangeably with attribute data and attributes in this document.

[0237] In the present disclosure, the point cloud content providing system may use one or more cameras (e.g., an infrared camera capable of ensuring depth information, an RGB camera capable of extracting color information corresponding to the depth information, etc.), a projector (e.g., an infrared pattern projector configured to ensure depth information, etc.), LiDAR (light detection and ranging), etc. to generate point cloud content (or point cloud data).

[0238] LiDAR refers to a device configured to measure distance by measuring the time required for emitted light to reflect from a subject and return. It provides accurate three-dimensional information about the real world as point cloud data over a large range and long distance. This large-capacity point cloud data can be widely used in various fields that use computer vision technology, such as autonomous vehicles, robots, and 3D map production. That is, the LiDAR device uses a radar system that is configured to measure the coordinates of the reflector position by emitting laser pulses and measuring the time required for the laser pulses to reflect on the subject (i.e., the reflector) to generate point cloud content. According to an embodiment, depth information can be extracted by the LiDAR device. The point cloud content generated by the LiDAR device may consist of multiple frames. Multiple frames can be integrated into one content.

[0239] LiDAR can be categorized as non-rapidly rotating, solid-state or fixed LiDAR and rotational or spinning LiDAR.

[0240] According to an embodiment, a fixed LiDAR is installed in a fixed position to collect distance and 3D information related to the surrounding environment. Fixed LiDAR systems are generally used to monitor structures such as buildings, roads, bridges and tunnels, or to scan terrain features. Because fixed LiDAR systems are installed in a fixed position, they can continuously monitor a specific area. In addition, they generally do not perform 360-degree horizontal rotation, but mainly emit and receive light beams in the vertical direction. That is, they only emit light beams in one fixed direction at a time, which may result in slow data acquisition. Therefore, fixed LiDAR is used for accurate distance measurement of, for example, 3D maps, and is generally used in static environments.

[0241] According to an embodiment, a rotating LiDAR system may have multiple lasers (or laser sensors) at different heights and may be used to capture point cloud data as the lasers rotate in azimuth (horizontal direction) around the Y axis. These rotating LiDAR systems are often used in applications such as autonomous vehicles, drones, and robots that require fast and accurate acquisition of 3D information in dynamic environments. In a rotating LiDAR system, the laser sensor performs a 360-degree scan while rotating to acquire data from the surrounding environment in real time and ensure faster data acquisition speeds than fixed LiDAR. They also work effectively in dynamic environments and are often used on moving vehicles or robots.

[0242] The present disclosure relates to an apparatus and method for predicting point cloud data acquired using a fixed LiDAR system, and more particularly, to a method and apparatus for compressing the geometry of a point cloud based on inter-frame characteristics of the fixed LiDAR.

[0243] The present disclosure proposes a method for compressing 3D point cloud data by searching for objects point by point based on geometric information when detecting objects between frames.

[0244] The present disclosure proposes a method for compressing 3D point cloud data by searching for objects point by point based on geometric information when detecting objects between frames.

[0245] According to an embodiment, in the point cloud data, a dynamic point cloud classified as category 3 is composed of multiple point cloud frames, which can be used for autonomous driving, etc. The set of frames is called a sequence. The sequence includes frames with the same attribute values. Therefore, the geometric values ​​from the frames have characteristics such as dynamic objects that show motion or stationary objects that do not show motion between the previous and next frames.

[0246] Therefore, the present disclosure proposes a method for intra-frame and / or inter-frame object search and detection with the goal of inter-frame compression of a sequence.

[0247] The present disclosure also proposes a method of compensating for refraction of point cloud data that may occur due to the nature of fixed LiDAR, and segmenting roads and objects from the refraction-compensated point cloud data.

[0248] Therefore, the fixed LiDAR in the present disclosure has an xyz characteristic based on an optical coordinate system because the points of the point cloud data are acquired using a lens. In addition, unlike the rotating LiDAR, the point values ​​of the actual data are acquired using a 2-axis mirror. Therefore, the present disclosure proposes a method for calculating the directions horizontally and vertically to two axes based on the inclination and angle of the vector reflected in the scan, and compensating for the refraction error from the point cloud data in the calculation. In addition, the present disclosure proposes a method for splitting the points of the point cloud data scanned on two axes into roads and objects.

[0249] By performing refraction compensation before compressing point cloud data and using it for intra / inter-frame object search, the present disclosure can improve compression efficiency according to the characteristics of the object.

[0250] In the present disclosure, refraction compensation may be performed on at least one of the z, y, and z axes of each point in the point cloud data acquired by the fixed LiDAR.

[0251] In the present disclosure, in order to compress geometric information associated with point cloud data, a compression method such as octree-based geometric compression, prediction tree-based geometric compression, or triplet-based geometric compression may be used.

[0252] In the present disclosure, the object search method and / or the method of splitting roads and objects can be performed before the geometric information compression based on the prediction tree. In this case, they can be performed after converting the xyz coordinates into rpl (range, polar angle, azimuth) coordinates.

[0253] In the present disclosure, an object search method and / or a method of splitting a road and an object may be performed before octree-based geometry information compression.

[0254] In the present disclosure, the object search method and / or the method of splitting a road and an object may be performed after compensating for (or correcting) the refraction of the point cloud data.

[0255] According to an embodiment, the xyz coordinates are used to represent the position of each point in the point cloud data in 3D space, and the rpl coordinates represent the relative distance and orientation of the points in the point cloud data. In other words, the rpl coordinates are used to represent data measured by a distance measuring device such as a laser sensor.

[0256] In this case, the point converted to the rpl coordinate system is included in the object as a point, and the individual object (or information related to the individual object) can be sent from the encoder with a signal. The encoder of the transmitting device can perform object detection in each frame, and the object in the reference frame may not exist in the object list of the current frame. After the object list is detected, motion estimation and motion compensation can be performed on the object, and the motion estimation matrix of each object can be sent from the encoder of the transmitting device with a signal.

[0257] As mentioned above, fixed LiDAR can use laser sensors to generate a 3D map environment. Typically, LiDAR uses an active laser to illuminate an object to measure the distance to the object (wall, vehicle, tree, etc.). Therefore, it is a fast and accurate method and can be used in a variety of environments and conditions.

[0258] In particular, rotating LiDAR uses a motor to physically rotate the sensor to scan the environment. The advantage is that it has a wide horizontal field of view, but the disadvantages include its large size, high cost and lack of durability.

[0259] On the other hand, fixed LiDAR does not have a rotating mechanical device, but has a narrower horizontal field of view than rotating LiDAR. For fixed LiDAR, a lens called receiver optics is mainly used. In other words, the speed of light passing through the lens and the direction the light is pointing determine the characteristics of the acquired data. In lossless compression, data characteristics contribute to compression efficiency.

[0260] Figure 11 - (a) is a diagram illustrating an example of a rotating LiDAR system according to an embodiment.

[0261] The rotating LiDAR system according to the embodiment rotates and tilts a laser beam to scan around a subject and collects returned laser signals to generate 3D data, such as point cloud data.

[0262] exist Figure 11 - (a), a tilt mirror is used to tilt the laser beam up and down. The tilt mirror can emit the laser beam at different vertical angles to collect multi-dimensional data.

[0263] Horizontal (or azimuth) rotation refers to the horizontal rotation of the laser sensor. In other words, the laser sensor rotates 360 degrees horizontally to scan around the object.

[0264] Lasers are used to generate the light beams emitted from the laser sensor. Specifically, lasers are used for precise distance measurement, which is performed when the light beam from the laser sensor is reflected and returns. In this operation, the laser sensor is rotated to emit laser light in different directions.

[0265] The laser return signal indicates the distance to the object. This information is used for subsequent analysis.

[0266] The receiver senses the laser return signal and analyzes the signal to calculate the distance and environmental information. Specifically, the receiver can accurately measure the distance based on the time difference of the laser return signal, and can process multiple reflected signals to generate point cloud data. That is, the receiver can obtain the position coordinates of the object by shooting a laser pulse and measuring the time required before the laser pulse is reflected on the object (ie, reflector) and returns.

[0267] Figure 11 - (b) is a diagram illustrating an example of a fixed LiDAR system according to an embodiment.

[0268] Figure 11 The fixed LiDAR system in (b) shoots a laser beam and collects the signals reflected and returned from objects to generate point cloud data, such as 3D terrain.

[0269] To this end, the laser transmitter generates a laser pulse (ie, a laser beam), which is emitted from the laser sensor. When generating the laser pulse in the laser transmitter, the Lorentz force can be used.

[0270] In a laser transmitter, electric current and a coil are used to generate laser pulses. In other words, when electric current flows through the coil, it generates a Lorentz force, which generates a laser beam.

[0271] The receiver optics includes lenses, mirrors, and light sensors, and collects, focuses, and sends the received laser return signal to the receiver (i.e., light sensor). This means that the speed of light passing through the lens of the receiver optics and the direction of light will determine the characteristics of the acquired point cloud data.

[0272] The main types of fixed LiDAR include micro-electromechanical systems (MEMS), optical phased arrays (OPA), and fast LiDAR scanning hardware (FLASH).

[0273] MEMS can be used to steer the beam direction of a laser sensor.MEMS technology is used in fixed LiDAR systems to steer the laser beam and scan it in different directions.

[0274] OPA refers to a technology that allows software to adjust the direction of the beam, which means that with OPA, the laser beam from the laser sensor can be slightly deflected or adjusted to scan in the desired direction. OPA is utilized in fixed LiDAR systems to perform horizontal and vertical scanning of the laser beam.

[0275] FLASH supports fast scanning of laser beams in fixed LiDAR systems. FLASH LiDAR provides extremely fast data acquisition rates, enabling accurate 3D terrain information to be acquired in dynamic environments. This fast scanning hardware can be used to enhance the performance of fixed LiDAR.

[0276] The present disclosure proposes a method for predicting geometric information using a fixed LiDAR, which is independent of the type of LiDAR but has different characteristics from a rotating LiDAR. In other words, point cloud data generated using a fixed LiDAR is more accurate than point cloud data generated by a rotating LiDAR and is more likely to be used for autonomous driving than a rotating LiDAR. In particular, a fixed LiDAR is characterized by high-precision distance measurement.

[0277] In other words, fixed LiDAR can be used for object recognition and dense point cloud acquisition with higher compression efficiency due to its accurate object measurement and faster image acquisition speed. In addition, the high accuracy of fixed LiDAR enables good prediction for motion estimation / compensation, which can increase the compression efficiency of geometric information.

[0278] Therefore, in the present disclosure, when compressing geometric information based on prediction, a predictor may be selected based on a non-linear relationship between a scanning direction and a scanning principle.

[0279] In addition, the present disclosure proposes a method for splitting roads and objects and compressing geometric information by utilizing the characteristics of a point cloud acquired using a fixed LiDAR. That is, the fixed LiDAR has the characteristics of xyz based on an optical coordinate system because it uses the lens of a receiver optical system to acquire points. The characteristics of xyz based on an optical coordinate system refer to the coordinates of each point acquired by a laser beam (or laser sensor) in a 3D space. That is, the value of x represents the x coordinate of a point acquired by a LiDAR system and is measured in the left and right directions centered on the LiDAR system. The x value represents the horizontal position of the point, indicating the relative coordinates of the position of the LiDAR scanning device and the point reflecting the laser beam. The y value represents the y coordinate of the point, measured in the forward and backward directions centered on the LiDAR system. The y value represents the vertical position of the point, indicating the relative coordinates of the position of the LiDAR scanning device and the position reflecting the radar beam. The z value represents the z coordinate of the point, which is the height or elevation angle of the point reflecting the laser beam. The z value represents the relative height of the point to the ground or a reference plane.

[0280] In addition, unlike rotating LiDAR, fixed LiDAR uses a dual-axis mirror to obtain point values ​​in the actual data. Here, the use of a dual-axis mirror in fixed LiDAR enables the laser sensor to scan in both vertical and horizontal directions to obtain point cloud data.

[0281] Therefore, the present disclosure proposes a method for calculating directions horizontally and vertically to two axes based on the inclination and angle of a vector reflected in scanning, and compensating for the corresponding refraction error.

[0282] In addition, the present disclosure proposes a method for splitting points of point cloud data scanned on two axes into roads and objects.

[0283] The method proposed in this paper can be applied in each frame. In addition, a method is proposed by which each step can be applied to inter-frame compression.

[0284] Correcting Refraction Error in the Optical Coordinate System

[0285] Figure 12 An example method of acquiring points using an optical lens according to an embodiment is illustrated.

[0286] exist Figure 12 In , the object plane represents the plane in which the real-world environment or object that the LiDAR system is trying to measure is located. This plane defines the space in which the laser beam is reflected and travels, and the LiDAR system scans this plane to collect distance data. The target plane can be used to calculate the XYZ coordinates of the LiDAR data.

[0287] Distorted surfaces refer to surfaces where laser beams are refracted or distorted when passing through an optical lens. In other words, optical lenses are used to adjust and collect laser beams, and the curvature and shape of the lens change the path of the beam. Specifically, the complex optical synthesis within the lens causes distortions that can affect distance and direction measurements.

[0288] According to an embodiment, in the LiDAR system of the present disclosure, refraction refers to the change in direction of a light beam when it passes through an optical lens. That is, the light beam passing through the optical lens is refracted due to the change in the direction of travel of the light beam. In other words, the laser is emitted through a mirror and received by an optical sensor, which may cause refraction. In this way, refraction occurs as the speed of light changes when the light enters a medium (material) different from the lens. Therefore, the refractive index and curvature of the lens, as well as the shape and thickness of the lens, determine the refraction of the laser beam and are essential for obtaining accurate distance and direction data.

[0289] In other words, in LiDAR systems, optical lenses are designed to minimize distortion effects and perform accurate distance and direction measurements. However, not all lenses are perfect, and this can cause optical distortion (or refraction).

[0290] In addition, a receiving lens is used in the LiDAR system to collect the light of the laser beam reflected back from the object plane. The receiving lens can collect, focus and guide the light of the laser beam to a light sensor or detector.

[0291] like Figure 12 As shown in , the point cloud data acquired using a fixed LiDAR is expressed in an xyz coordinate system, just like in the case of a rotating LiDAR. For a rotating LiDAR, when the data is converted to a spherical coordinate system (i.e., radius, phi, laserID (or elevation)) and compressed, the acquired data is positioned according to the rpl coordinate system, resulting in higher compression efficiency. The coordinates acquired using a fixed LiDAR are similar to a coordinate system that is vertical or horizontal to two axes. In addition, even if a specific object is acquired at the same position and the same angle, it has different set characteristics depending on the camera used.

[0292] Therefore, the present disclosure proposes an optical coordinate system, which is different from a conventional coordinate system, for removing or replacing common geometric features in a standardized 3D space when these factors are eliminated.

[0293] According to an embodiment, the LiDAR system of the present disclosure may include a MEMS mirror and a MEMS detector.

[0294] According to an embodiment, a MEMS mirror is a mirror including a small, microscopic mechanical system. The mirror is used to guide or scan a laser beam. Specifically, a MEMS mirror can be used to quickly scan or redirect a laser beam to collect point cloud data.

[0295] According to an embodiment, MEMS technology may be used to implement a photoelectric sensor or a MEMS detector in a LiDAR system.

[0296] According to an embodiment, the MEMS detector responsible for reception and signal processing in the LiDAR system measures and interprets the signal of the laser beam reflected and returned from the subject (ie, object). The MEMS detector adjusts the reception sensitivity of the radar beam, amplifies the signal, and samples the signal over time to calculate the distance information.

[0297] According to an embodiment, the coordinates (x, y) scanned by the MEMS mirror in the present disclosure are converted to normalized coordinates. Therefore, there is a scale factor between the normalized coordinates and the actual coordinates. This is referred to as accuracy in this article.

[0298] For example, when the LiDAR system has internal parameters and camera 3D information, the points acquired by the 2D depth camera are positioned in a grid shape according to the accuracy in 2D, and the depth is positioned at the distance of the acquired laser. In this case, the plane and the laser distance may or may not have the same accuracy.

[0299] In the present disclosure, when the deflection angles of the MEMS detector (or MEMS mirror) scanning the laser beam along the x-axis and the y-axis are θ x (i.e., theta_x) and θy (ie, theta_y), with target distance information r i and MEMS deflection angle θ x and θ y The actual coordinates (X i , Y i , Z i ) i and Y i It can be expressed by the following equation 1.

[0300] [Equation 1]

[0301]

[0302]

[0303] In this disclosure, the z coordinate (Z i ) can be based on the X coordinate (X i ) and Y coordinate (Y i ) is calculated by the following equation 2. In other words, the 2D coordinates (x, y) from the MEMS scanner are combined with the z-coordinate converted in time measurement.

[0304] [Equation 2]

[0305]

[0306] According to an embodiment, the Z coordinate (Z) calculated in Equation 2 is i ) value applied to point cloud data acquired using a LiDAR system can compensate for (or correct for) refraction that occurs in the point cloud data.

[0307] In the present disclosure, the Z coordinate (Z i ) can represent the height or elevation angle of each point in the point cloud data. This value represents the distance from the ground and can be used to separate roads and objects from the point cloud data.

[0308] In the present disclosure, refraction compensation may be always performed, or may be selectively performed. To this end, information indicating whether to compensate for refraction (eg, optical_distortion_flag) may be included in signaling information and sent to the receiving side. If it indicates refraction compensation, the signaling information may further include θ x (i.e., theta_x) and θ y(ie, theta_y) to obtain the Z coordinate. That is, theta_x represents the x-axis coefficient in the refraction compensation equation (ie, see equations 1 and 2), and theta_y represents the y-axis coefficient in the refraction compensation equation (ie, see equations 1 and 2).

[0309] Figure 13 -(a) and 13-(b) illustrate an example before refraction compensation and an example after refraction compensation according to an embodiment. Specifically, Figure 13 - (a) illustrates the degree of refraction before refraction compensation is applied. Figure 13 - (b) illustrates the degree of refraction after refraction compensation is applied. That is, when Z such as Eq. i The calculation equation is applied to Figure 13 When the point cloud data with refraction is shown in (a), the point cloud data with refraction compensation can be obtained, such as Figure 13 - as shown in (b).

[0310] In the present disclosure, the angle based on the horizontal axis relative to the center line of the plane may be regarded as the refractive index according to the degree of distortion of the point, and the calculated point cloud may be compensated and compressed by an encoder and may then be transmitted.

[0311] The present disclosure may be used to compress refraction-compensated point cloud data, or to perform object search and / or segmentation of roads and objects.

[0312] Object Search Method

[0313] In the present disclosure, an object search is performed to segment roads and objects from point cloud data.

[0314] In other words, the point cloud content captured by a fixed or rotating LiDAR system on a moving vehicle may contain roads and objects. In other words, a street may contain not only roads, but also many objects, such as trees, buildings, cars, and people. In the present disclosure, the point cloud content may be referred to as point cloud data or point cloud. There may be one or more objects. Multiple objects may be referred to as objects or as object groups or object blocks.

[0315] When constructing a point cloud by capturing consecutive frames, the characteristics of the motion presented in the consecutive frames of the points constituting a road may be different from the characteristics of the motion presented in the consecutive frames of the points constituting one (or more) objects.

[0316] Therefore, when compressing geometric information based on inter-frame prediction, applying the motion represented by road points between consecutive frames to objects, or applying the motion represented by object points to roads, may reduce compression efficiency or lead to inaccurate motion prediction.

[0317] Therefore, it is necessary to accurately segment roads and objects from point cloud data.

[0318] However, when point cloud data has refraction, if roads and objects are separated without compensating for the refraction, roads may be mistaken for objects or objects may be mistaken for roads due to the characteristics of refraction.

[0319] In one embodiment, to address this issue, roads and objects may be separated from the refraction-compensated point cloud data.

[0320] According to the present disclosure, geometric information (also referred to as geometry or geometric data) related to split roads and objects can be compressed by applying a prediction tree or an octree. In other words, in the present disclosure, octree-based geometry compression, prediction tree-based geometry compression, or triplet-based geometry compression can be used as a method for compressing geometric information.

[0321] In this way, the present disclosure employs refraction compensation to segment roads and objects so as to accurately segment roads and objects from point cloud data acquired using a fixed lidar on an inclined or curved road.

[0322] Furthermore, in the case of a fixed LiDAR system, since the point cloud data is input to an optical receiver or a receiving lens, which is distorted in the object plane, it is not possible to accurately separate the road and the object.

[0323] Therefore, the present disclosure proposes an adaptive road / object splitting criterion for the case where large distortion occurs in the xy plane for acquiring a wide field of view (FoV) on an optical lens for fixed LiDAR and for the case where large distortion occurs in the xy plane due to real-time processing in a rotating LiDAR.

[0324] Specifically, according to the present disclosure, an object search may be performed to separate a road and an object from refraction compensation. In this case, an intra-frame object search may be determined from an equation to which refraction compensation is applied, such as the following equation 3.

[0325] In the present disclosure, when the 2D deflection angle of the scanned MEMS probe is θ in the following equation 3: x and θ y When the threshold α<θ x <α' and β<θ y Points within <β' can be split into roads and objects. In the present disclosure, α, α', β and β' are thresholds used to split roads and objects.

[0326] [Equation 3]

[0327]

[0328] In the present disclosure, each point in the point cloud data can be calculated based on the Z i The values ​​are split into roads or objects.

[0329] In this disclosure, the X of each point in the point cloud data is i The value of Y i The value of θ can be obtained by x and θ y Apply to equation 1 as described above to obtain. The X obtained in this way i The value of Y i The value of can be applied to Equation 3 to obtain Z i The value of .

[0330] Here, X i The value of (or X i Coordinates) indicate the left and right direction of the point, Y i The value of (or Y i coordinates) indicates the forward and backward direction of the point, and Z i The value (or Z i coordinates) indicates the height or elevation of a point. In other words, Z i The value of can refer to the height of the point from the ground or a reference plane (e.g., relative height from the ground). i The value of can be measured from left (-x) to right (+x) based on the LiDAR system, Y i The value of can be measured from the back (-y) to the front (+y) based on the LiDAR system, and Z i The value of X can be measured in the positive (+) direction above the ground. This is an example provided to provide an understanding of the present disclosure, and measuring X i The value of Y i The value of Z i The value of can vary. For example, X i The value of Y can be measured from right to left around the LiDAR system. i The value of Z can be measured from top to bottom around the LiDAR system, and i The value of can be measured from the front and back of the ground. In other words, X i , Y i and Z i The definition of the value of may depend on the measurement method.

[0331] In this disclosure, Z i The value of can be used to separate roads and objects from point cloud data. For example, if the Z of point i is i If the value of is less than the threshold, then point i can be classified as a road. Otherwise, it may be classified as an object. For example, when the position of a point captured by the laser sensor is lower than or equal to Z iWhen the value of , point i can be classified as a road. When it is higher than this value, point i can be classified as an object.

[0332] In this disclosure, Z i The value of can be used to separate roads and objects from point cloud data. For example, if the Z of point i is i If the value of is less than the threshold, point i can be classified as a road. Otherwise, it can be classified as an object. For example, when the position of a point captured by the laser sensor is lower than or equal to Z i When the value of , point i can be classified as a road. When it is higher than this value, point i can be classified as an object.

[0333] In a frame composed of point cloud data, the left side and the right side may be different from each other due to distortion (or refractive index). For example, the left side may be more squeezed, or the right side may be more stretched.

[0334] Figure 14 is a diagram showing an example xy plane in the case where refraction compensation is applied according to an embodiment. Figure 14 , the portion indicated by the dotted line is an example of refraction that may occur due to road characteristics.

[0335] That is, the xy plane can be divided into four parts by the coordinate axes (x-axis, y-axis), which are the first quadrant 45001, the second quadrant 45002, the third quadrant 45003, and the fourth quadrant 45004 in counterclockwise order. Each point can be in one of the first quadrant 45001 to the fourth quadrant 45004. For example, a point in the first quadrant 45001 has a positive x coordinate and a positive y coordinate. A point in the second quadrant 45002 has a negative x coordinate and a positive y coordinate. A point in the third quadrant 45003 has a negative x coordinate and a negative y coordinate. A point in the fourth quadrant 45004 has a positive x coordinate and a negative y coordinate.

[0336] The thresholds α, α', β and β' can be modified based on the following assumption: when Z i When the value of changes with the left / right refractive index, the refractive index increases in the direction of increasing / decreasing values ​​from the center of the screen on the x-axis.

[0337] According to an embodiment, the change on the x-axis is from x min to x max , and the change on the y-axis is from y min to y max For the coordinates calculated by the LiDAR system ( , , ), the minimum value of X is defined as x min , and the maximum value of X is defined as x max In addition, the minimum value of Y is defined as ymin , and the maximum value of Y is defined as y max In other words, x min 、x max ,y min and max It can be called a threshold that can determine the range of refraction compensation.

[0338] According to an embodiment, by using a deflection angle θ based on the coordinates (x, y) scanned by the MEMS mirror x and θ y Get the actual coordinates X and Y, and get the minimum value x among the X values min and the maximum value x max , and obtain the minimum value y among the values ​​of Y min and the maximum value y max , x can be set by the LiDAR system min 、x max ,y min and max .

[0339] In the present disclosure, in order to compensate for the adaptive refraction of point cloud data, the condition of the compensation coordinates of the point (x, y) may be defined as the following Equation 4.

[0340] [Equation 4]

[0341] First Quadrant: For X>0 and Y>0,

[0342] Second Quadrant: For X < 0 and Y > 0,

[0343] Quadrant 3: For X < 0 and Y < 0,

[0344] Quadrant 4: For X>0 and Y<0,

[0345] For example, assuming point i is in the first quadrant, X i Corrected to , and Y i As is, it is changed to y to compensate for the refraction. That is, It can refer to the change in the x-axis. It can refer to the amount of change in the y-axis, each of which can indicate a threshold for refraction compensation. In this way, for a specific point in the point cloud data, refraction can be compensated not only along the z-axis but also along the x-axis and y-axis.

[0346] Figure 14 is a graphical representation of the coordinates of the point cloud data after applying the refraction compensation value of Equation 4 according to the present disclosure.

[0347] According to an embodiment, a histogram classification method may be used to classify compensation points as roads or objects. Alternatively, other object / road splitting methods may be used. The present disclosure may use inter-frame compression on split roads to limit predictor selection, and / or may limit predictor selection between objects.

[0348] Furthermore, refraction compensation values ​​(eg, theta_x, theta_y) for road / object splitting may be signaled by an encoder at a transmitting device, and a decoder of a receiving device may reconstruct point cloud data by applying the refraction compensation values.

[0349] Thus, according to the present disclosure, before splitting the points in the point cloud data into roads and objects, refraction can be compensated based on the value of Z, and / or refraction can be compensated based on the values ​​of X and Y in the xy plane. In addition, in the present disclosure, the value of Z can be used to split the points in the point cloud data into roads and objects.

[0350] According to an embodiment, splitting roads and objects from point cloud content (i.e., point cloud data) may be performed by an encoder at the transmitting side, or may be performed by a decoder at the receiving side. For example, in the case where the encoder at the transmitting side performs splitting roads and objects from the point cloud data, this splitting operation may be skipped at the receiving side. Conversely, in the case where the decoder at the receiving side performs splitting roads and objects from the point cloud data, this splitting operation may be skipped at the transmitting side. According to an embodiment, whether splitting roads and objects from point cloud data is performed by an encoder at the transmitting side or by a decoder at the receiving side may be indicated using signaling information, or may be determined based on signaling information.

[0351] In one embodiment, the segmentation of roads and objects is performed by an encoder at the transmitting side.

[0352] According to an embodiment, once roads and objects are split from point cloud data, prediction units may be configured with points split into roads, and may be configured with points split into objects (or groups of objects). Then, inter-frame prediction or intra-frame prediction may be performed on each prediction unit. That is, motion estimation / compensation may or may not be performed on each prediction unit. For example, motion estimation / compensation may not be performed on a prediction unit consisting of points split into roads, but motion estimation / compensation may be performed on a prediction unit consisting of points split into objects, and vice versa.

[0353] Figure 15 is a diagram illustrating another example of a point cloud transmitting device according to an embodiment. Figure 15 The elements of the point cloud sending device illustrated in the figure can be implemented by hardware, software, processor and / or their combination.

[0354] According to an embodiment, the point cloud sending device may include a data input unit 51001, a signaling processor 51002, a geometry encoder 51003, an attribute encoder 51004 and a transmission processor 51005.

[0355] The geometry encoder 51003 and the attribute encoder 51004 can perform the same Figure 1 Point cloud video encoder 10002, Figure 2 Code 20001, Figure 3 Point cloud video encoder or Figure 8 Some or all operations related to the point cloud video encoder.

[0356] The data input unit 51001 receives or acquires point cloud data. The data input unit 51001 can perform Figure 1 Some or all operations of the point cloud video acquisition unit 10001, or can be performed Figure 8 Some or all operations of the data input unit 8000.

[0357] The data input unit 51001 outputs the positions of the points in the point cloud data to the geometry encoder 51003, and outputs the attributes of the points in the point cloud data to the attribute encoder 51004. Here, the input point cloud data may be frame-by-frame, tile-by-tile, or slice-by-slice data. In one embodiment, the point cloud data may be refraction-compensated, split into roads and objects, and input into the data input unit 51001. In the present disclosure, the points in the point cloud data may be refraction-compensated based on the value of Z and / or based on the values ​​of X and Y in the xy plane. Furthermore, in the present disclosure, the value of Z may be used to split the points in the point cloud data into roads and objects. In the present disclosure, reference has been made to Figures 11 to 14 Refraction compensation and splitting of roads and objects are described in detail and will not be described herein to avoid redundancy.

[0358] The parameters are output to the signaling processor 51002. According to an embodiment, the parameters may be provided to the geometry encoder 51003 and the attribute encoder 51004.

[0359] The geometry encoder 51003 compresses the geometry information by performing inter-frame or intra-frame prediction-based encoding in a tree structure (e.g., a prediction tree or an octree) at the position of a point (i.e., geometry information) input in at least one of the following units: frame / tile / slice / large prediction unit (LPU) / PU / road / one object / multiple objects. In addition, the geometry encoder 51003 entropy encodes the compressed geometry information and outputs the encoded information to the transmission processor 51005 in the form of a geometry bitstream.

[0360] The geometry encoder 51003 reconstructs the geometry information based on the position changed by compression, and outputs the reconstructed (or decoded) geometry information to the attribute encoder 51004 .

[0361] The attribute encoder 51004 compresses the input attribute information based on the position and / or reconstructed geometry information for which geometry coding is not performed. In one embodiment, the attribute information may be encoded using any one of RAHT coding, LOD-based prediction transform coding, and lifting transform coding, or a combination of one or more. The attribute encoder 51004 performs entropy coding on the compressed attribute information and outputs the encoded information to the transmission processor 51005 in the form of an attribute bitstream.

[0362] The signaling processor 51002 may generate and / or process signaling information (e.g., parameters) necessary for encoding / decoding / rendering geometry information and attribute information, and provide it to the geometry encoder 51003, the attribute encoder 51004, and / or the transmission processor 51005. Alternatively, the signaling information generated by the geometry encoder 51003, the attribute encoder 51004, and / or the transmission processor 51005 may be provided to the signaling processor 51002. The signaling processor 51002 may provide information fed back from the receiving device (e.g., head orientation information and / or viewport information) to the geometry encoder 51003, the attribute encoder 51004, and / or the transmission processor 51005.

[0363] As used herein, signaling information may be signaled and sent in parameter sets (SPS (sequence parameter set), GPS (geometry parameter set), APS (attribute parameter set), TPS (tile parameter set) (also referred to as tile list), etc.). It may also be signaled and sent in a coding unit (or compression unit or prediction unit) of each video such as a slice or tile. Here, SPS includes sequence-level signaling information, GPS includes information for encoding / decoding of geometry information, APS includes information for encoding / decoding of attribute information, and TPS includes information related to tiles.

[0364] The method / device according to the embodiment may send relevant information with a signal to add / perform the operation of the embodiment. The signaling information according to the embodiment may be used by a sending device and / or a receiving device.

[0365] According to this embodiment, the transmission processor 51005 can execute Figure 8 The operation and / or transmission method of the transmission processor 8012 is the same as or similar to the operation and / or transmission method of the transmission processor 8012, and performs the same as Figure 1 The operation and / or transmission method of the transmitter 10003 is the same as or similar to the operation and / or transmission method. For details, please refer to Figure 1 orFigure 8 Description.

[0366] The transport processor 51005 may multiplex the geometry bitstream output from the geometry encoder 51003, the attribute bitstream output from the attribute encoder 51004, and the signaling bitstream output from the signaling processor 51002 into a single bitstream and transmit the single bitstream, or may encapsulate the bitstream into a file, a fragment, etc. for transmission. In one embodiment, the file is in the ISOBMFF file format.

[0367] According to an embodiment, the file or segment may be sent to a receiving device, or may be stored in a digital storage medium (e.g., USB, SD, CD, DVD, Blu-ray, HDD, SSD, etc.). The transmission processor 51005 according to an embodiment is capable of wired / wireless communication with a receiving device through a 4G, 5G, 6G, etc. network. In addition, the transmission processor 51005 may perform necessary data processing operations according to a network system (e.g., a 4G, 5G, or 6G communication network system). The transmission processor 51005 may send the encapsulated data on demand.

[0368] According to an embodiment, the aforementioned refraction compensation related information may be embedded in the SPS, GPS, APS and / or TPS and / or the geometry data unit (also called the geometry slice bit stream) and / or the attribute data unit (also called the attribute slice bit stream), and sent by at least one of the signaling processor 51002, the geometry encoder 51003, the attribute encoder 51004 or the transmission processor 51005.

[0369] According to an embodiment, the refraction compensation related information may include information indicating whether to perform refraction compensation (optical_distortion_flag) and information for obtaining a value of Z (e.g., theta_x, theta_y), where theta_x represents an x-axis coefficient in a refraction compensation equation (e.g., see equations 1 and 2), and theta_y represents a y-axis coefficient in the refraction compensation equation (e.g., see equations 1 and 2). In the present disclosure, the refraction compensation related information may be referred to as object detection structure information using refraction compensation.

[0370] Figure 16 is a block diagram illustrating an example point cloud video encoder in a transmitting device according to an embodiment. Figure 16 yes Figure 15 An example of a transmission device, which further includes a refraction compensator 55010 and a road-object splitter 55020. According to an embodiment, the refraction compensator 55010 and the road-object splitter 55020 may be included in the geometry encoder 51003, or may be configured separately from the geometry encoder 51003, such as Figure 16 as shown in .

[0371] exist Figure 16 In the reference of refraction compensator 55010 Figures 11 to 14 and Equations 1 to 4 compensate for refraction occurring in point cloud data acquired by a LiDAR system (eg, a fixed LiDAR system). According to an embodiment, a point in the point cloud data may be refraction compensated based on a value of Z and / or based on values ​​of X and Y in an xy plane.

[0372] exist Figure 16 In the embodiment, the road-object splitter 55020 can classify the points in the refraction compensated point cloud data into roads and objects. According to an embodiment, the road-object splitter 55020 can split the points in the point cloud data into roads or objects based on the value of Z. The value of Z can be obtained by applying Equation 2 or Equation 3. According to an embodiment, the road-object splitter 55020 can perform road / object splitting using refraction compensation and signal histogram classification based on the value of z.

[0373] In the case where the road-object splitter 55020 has split the point cloud data into roads and objects, and processed and sent the point cloud data for each of the split roads and objects, the splitting operation into roads and objects can be skipped by the receiving device. However, in the case where the process of splitting the point cloud data into roads and objects is not performed in the road-object splitter 55020, or when the point cloud data is split into roads and objects, processed and sent without distinguishing between roads and objects, the receiving device can additionally perform the process of splitting the point cloud data into roads and objects.

[0374] According to an embodiment, the road-object splitter 55020 may configure a prediction unit starting from a point of splitting into roads and a prediction unit starting from a point of splitting into objects (or object groups).

[0375] The geometry encoder 51003 identifies (or determines) whether to encode the geometry information related to the point cloud data split into roads and objects by the road-object splitter 55020 based on octree, prediction tree or triplet. For example, it can be determined based on the geometry compilation type information (geom_tree_type) in the GPS.

[0376] When octree-based geometry compression is identified, an octree is generated based on the positions of points (i.e., geometry information) input in at least one of the following units: frame, tile, slice, large prediction unit (LPU), prediction unit (PU), road, object, or object group, and the geometry information is compressed based on the octree. When triplet-based geometry compression is identified, a triplet is generated based on the positions of points (i.e., geometry information) input in one of the following units: frame / tile / slice / LPU / PU / road / object / object group, and the geometry information is compressed based on the triplet.

[0377] When determining prediction tree-based geometry compression, a prediction tree is generated based on the position of a point (i.e., geometry information) input in at least one of the following units: frame / tile / slice / LPU / PU / road / object / object group, and the geometry information is compressed by performing inter-prediction or intra-prediction based encoding in the prediction tree.

[0378] In addition, the geometry encoder 51003 performs entropy encoding on the compressed geometry information and outputs the encoded information in the form of a geometry bitstream. The geometry encoder 51003 can perform inter-frame or intra-frame prediction based on each prediction unit. In other words, it may or may not perform motion estimation / compensation based on each prediction unit. For example, motion estimation / compensation may not be performed on a prediction unit consisting of points split into roads, but may be performed on a prediction unit consisting of points split into objects, and vice versa.

[0379] The geometry encoder 51003 reconstructs the geometry information by compression based on the changed position, and outputs the reconstructed (or restored) geometry information to the attribute encoder 51004.

[0380] The attribute encoder 51004 compresses the input attribute information based on the position and / or reconstructed geometry information for which geometry encoding is not performed. In one embodiment, the attribute information may be encoded using any one or a combination of one or more of RAHT coding, LOD-based predictive transform coding, and lifting transform coding. The attribute encoder 51004 performs entropy coding on the compressed attribute information and outputs the encoded information to the transmission processor 51005 in the form of an attribute bitstream.

[0381] Figure 17 is a block diagram illustrating an example point cloud video encoder in a transmission device according to an embodiment. Figure 17 is a block diagram illustrating an example of octree-based compression of geometric information related to point cloud data split into roads and objects after refraction compensation. That is, when the geometry compilation type information (geom_tree_type) indicates octree-based geometry compression, it is possible to perform Figure 17 Operations in .

[0382] exist Figure 17 For details on omitted refraction compensation and road / object splitting, see Figures 11 to 16 In addition, for details on each block used to compress geometry and attribute information, see Figure 8 Description.

[0383] Figure 18 is a diagram illustrating another example of a point cloud receiving device according to an embodiment.

[0384] The point cloud receiving device according to the embodiment may include a receiving processor 61001, a signaling processor 61002, a geometry decoder 61003, an attribute decoder 61004, and a post-processor 61005. According to the embodiment, the geometry decoder 61003 and the attribute decoder 61004 may be referred to as a point cloud video decoder. According to the embodiment, the point cloud video decoder may be referred to as a PCC decoder, a PCC decoding unit, a point cloud decoder, a point cloud decoding unit, etc.

[0385] The receiving processor 61001 according to the embodiment may receive a single bitstream, or may receive a geometry bitstream, an attribute bitstream, and a signaling bitstream respectively. When receiving a file and / or a fragment, the receiving processor 61001 according to the embodiment may decapsulate the received file and / or fragment and output the decapsulated file and / or fragment as a bitstream.

[0386] When receiving (or decapsulating) a single bitstream, the receiving processor 61001 according to an embodiment may demultiplex a geometry bitstream, an attribute bitstream, and / or a signaling bitstream from the single bitstream. The receiving processor 61001 may output the demultiplexed signaling bitstream to the signaling processor 61002, output the geometry bitstream to the geometry decoder 61003, and output the attribute bitstream to the attribute decoder 61004.

[0387] In this case, the bitstream (or geometry bitstream) may be received split into roads and objects.

[0388] When receiving (or decapsulating) a geometry bitstream, an attribute bitstream and / or a signaling bitstream respectively, the receiving processor 61001 according to an embodiment may deliver the signaling bitstream to the signaling processor 61002, the geometry bitstream to the geometry decoder 61003, and the attribute bitstream to the attribute decoder 61004.

[0389] The signaling processor 61002 may parse signaling information from the input signaling bit stream, for example, information contained in SPS, GPS, APS, TPS, metadata, etc., process the parsed information, and provide the processed information to the geometry decoder 61003, the attribute decoder 61004, and the post-processor 61005. In another embodiment, before decoding the corresponding slice data, the signaling processor 61002 may also parse the signaling information contained in the geometry slice header and / or the attribute slice header. The signaling information may include scaling related information.

[0390] For example, when point cloud data is partitioned into tiles and / or slices at the transmitting end, the TPS includes the number of slices included in each tile, and thus the point cloud video decoder according to the embodiment can check the number of slices and quickly parse the information for parallel decoding. In addition, the point cloud video decoder according to the present disclosure can quickly parse the bitstream containing point cloud data when receiving the SPS with a reduced amount of data. The receiving device can decode the tile after receiving the tile, and can perform decoding on a slice-by-slice basis based on the GPS and APS included in each tile. Thus, the decoding efficiency can be maximized.

[0391] The geometry decoder 61003 can decode the compressed geometry bitstream based on the signaling information (e.g., geometry-related parameters). Figures 15 to 17 The geometry encoder 51006 operates the reverse process to reconstruct the geometry.

[0392] That is, the geometry decoder 61003 can decode geometry information (also referred to as geometry or geometry data) by applying a prediction tree, an octree, or a triplet based on the geometry compilation type information (geom_tree_type) in the GPS. In other words, octree-based geometry decoding, prediction tree-based geometry decoding, or triplet-based geometry decoding can be used to decode the geometry information.

[0393] When it is assumed that the points are split into roads and objects at the transmission side, the geometry decoder 61003 can perform decoding on the points split into roads and the points split into objects, respectively. For example, motion compensation may not be performed on the prediction unit composed of the points split into roads, and motion compensation may be performed on the prediction unit composed of the points split into objects.

[0394] According to an embodiment, refraction-compensated inverse transform may be performed on the geometry bitstream, and the transformed bitstream may then be input to the geometry decoder 61003 .

[0395] The geometry recovered (or reconstructed) by the geometry decoder 61003 is provided to the attribute decoder 61004.

[0396] The attribute decoder 61004 can perform the same decoding on the compressed attribute bitstream based on the signaling information (e.g., attribute related parameters) and the reconstructed geometry. Figure 15 The attribute encoder 51004 performs the reverse process to restore the attribute. According to an embodiment, when the point cloud data is partitioned into tiles and / or slices at the transmitting side, the geometry decoder 61003 and the attribute decoder 61004 perform geometry decoding and attribute decoding on a tile-by-tile and / or slice-by-slice basis.

[0397] Figure 19 is a block diagram illustrating an example point cloud video decoder in a receiving device according to an embodiment. Figure 19 yes Figure 18 An example of a receiving device with a refraction compensating inverse transformer 65010 added.

[0398] The refraction compensation inverse transformer 65010 performs a refraction compensation inverse transform based on the refraction compensation related information (e.g., optical_distortion_flag, theta_x, theta_y) included in the signaling information. Here, optical_distortion_flag indicates whether refraction compensation is applied, theta_x represents the x-axis coefficient in the refraction compensation equation (i.e., see equations 1 and 2), and theta_y represents the y-axis coefficient in the refraction compensation equation (i.e., see equations 1 and 2). Based on theta_x and theta_y, the value of Z can be obtained, which can be used in performing a refraction compensation inverse transform on the geometry bitstream.

[0399] According to an embodiment, when the value of optical_distortion_flag is true, the refraction compensation inverse transformer 65010 may perform refraction compensation inverse transformation. In other words, refraction compensation inverse transformation may be performed on the geometry bitstream based on the application state of refraction compensation and the coefficients theta_x, theta_y in the refraction compensation equation.

[0400] According to an embodiment, the refraction compensation inverse transformer 65010 can be configured by converting x min 、x max ,y min and max Apply to Equation 4 to perform the inverse transformation of refraction compensation to reconstruct the point cloud data given before refraction compensation. Here, the range of the change in the x-axis is from x min to x max , and the y-axis ranges from y min to y max .

[0401] According to an embodiment, by using a deflection angle θ based on the coordinates (x, y) scanned by the MEMS mirror x and θy Get the actual coordinates X and Y, and get the minimum value x among the X values min and the maximum value x max , and obtain the minimum value y among the values ​​of Y min and the maximum value y max , can be set by the LiDAR system x min 、x max ,y min and max .

[0402] According to other embodiments, x min 、x max ,y min and max It can be obtained from signaling information, or can be calculated or inferred using other information (e.g., bounding box information and / or slice-related information).

[0403] exist Figure 19 In Figure 18 For details of the operation of the same geometry decoder 61003 and attribute decoder 61004, refer to Figure 18 .

[0404] Figure 20 is a block diagram illustrating an exemplary point cloud video decoder in a receiving device according to an embodiment. Figure 20 is a block diagram illustrating an exemplary octree-based decoding of a refraction-compensated inverse transformed geometry bitstream.

[0405] exist Figure 20 For the inverse transformation of refraction compensation skipped below, refer to Figure 19 For details on each block used to decode geometry and attribute information, refer to Figure 9 Description.

[0406] Figure 21 An example bitstream structure for transmitting / receiving point cloud data according to an embodiment is illustrated.

[0407] In order to add / perform the embodiments described so far, relevant information may be signaled. The signaling information according to the embodiments may be used by a point cloud video encoder at the transmitting side or a point cloud video decoder at the receiving side.

[0408] The point cloud video encoder according to the embodiment may generate the following information by encoding the geometric information and attribute information as described above: Figure 21 In addition, signaling information related to the point cloud data may be generated and processed by at least one of a geometry encoder, an attribute encoder, or a signaling processor of the point cloud video encoder, and may be included in the bitstream.

[0409] At least one of the geometry decoder, the attribute decoder, or the signaling processor of the point cloud video decoder may receive / acquire the signaling information according to the embodiment.

[0410] A bitstream according to an embodiment may be divided into a geometry bitstream, an attribute bitstream, and a signaling bitstream to be transmitted / received, or one combined bitstream may be transmitted / received.

[0411] When the geometry bitstream, attribute bitstream, and signaling bitstream according to an embodiment are configured in one bitstream, the bitstream may include one or more sub-bitstreams. The bitstream according to an embodiment may include a sequence parameter set (SPS) for sequence-level signaling, a geometry parameter set (GPS) for signaling of geometry information coding, one or more attribute parameter sets (APS) (APS0, APS1) for signaling of attribute information coding, a tile parameter set (TPS) for tile-level signaling, and one or more slices (slice 0 to slice n). That is, the bitstream of point cloud data according to an embodiment may include one or more tiles, wherein each tile may be a slice group including one or more slices (slice 0 to slice n). The TPS according to an embodiment may contain information about each of the one or more tiles (e.g., coordinate value information and height / size information about a bounding box). Each slice may include a geometry bitstream (Geom0) and one or more attribute bitstreams (Attr0 and Attr1). For example, the first slice (slice 0) may include a geometry bitstream (Geom0 0 ) and one or more attribute bitstreams (Attr0 0 , Attr1 0 ).

[0412] The geometry bitstream within each slice (also referred to as a geometry slice) may include a geometry slice header (geom_slice_header) and geometry slice data (geom_slice_data). In some embodiments, the geometry bitstream within each slice is referred to as a geometry data unit, the geometry slice header is referred to as a geometry data unit header, and the geometry slice data is referred to as a geometry data unit data.

[0413] Each attribute bitstream (or attribute slice) within each slice may include an attribute slice header (attr_slice_header) and attribute slice data (attr_slice_data). In some embodiments, the attribute bitstream within each slice may be referred to as an attribute data unit, the attribute slice header may be referred to as an attribute data unit header, and the attribute slice data may be referred to as an attribute data unit data.

[0414] The transmission device according to the embodiment can beFigure 21 The point cloud data is transmitted using the bitstream structure shown in . Therefore, different encoding operations can be applied according to the importance level, and a high-quality encoding method can be used for important areas. In addition, efficient encoding and transmission according to the characteristics of the point cloud data can be supported, and attribute values ​​can be provided according to user requirements.

[0415] Because the receiving device according to the embodiment can Figure 21 The point cloud data is received using the bitstream structure shown in . Therefore, different filtering (decoding methods) can be applied to the corresponding areas (divided into tiles or slices) according to the processing capabilities of the receiving device, rather than applying complex decoding (filtering) methods to the entire point cloud data. As a result, better image quality can be provided for areas that are important to the user, and appropriate latency can be ensured in the system.

[0416] As described above, point cloud data is processed by partitioning the point cloud data into regions, providing tiles or slices. When the point cloud data is partitioned into regions, an option to generate a different set of neighboring points for each region can be configured. Thus, a selection method with low complexity and slightly lower reliability, or a selection method with high complexity and high reliability can be provided.

[0417] According to an embodiment, at least one of the SPS, GPS, TPS, APS, geometry slice header, or attribute slice header may include information related to refraction compensation.

[0418] That is, a signal (e.g., information related to refraction compensation) may have different meanings depending on where it is delivered. When it is defined in SPS, it can be applied equally to the entire sequence. When the signal is defined in GPS, it can indicate that the signaling is used for position reconstruction. When the signal is defined in APS, it can indicate that the signaling is applied to attribute reconstruction. When the signal is defined in TPS, it can indicate that the signaling applies only to points within a tile. When the signal is delivered at the slice level, it can indicate that the signaling applies only to the corresponding slice. In addition, when the fields (or syntax elements) defined below apply to multiple point cloud data streams in addition to the current point cloud data stream, they can be delivered in higher-level parameter sets, etc.

[0419] The term field, as used in the syntax of the present disclosure described below, may have the same meaning as a parameter or an element.

[0420] Figure 22 The syntax structure of a sequence parameter set (seq_parameter_set_rbsp()) (SPS) according to an embodiment of the present disclosure is shown. The SPS may include sequence information about a bit stream of point cloud data. In particular, in the illustrated example, the SPS includes information related to refraction compensation.

[0421] exist Figure 22 In, the SPS may include an optical_distortion_flag field.

[0422] The optical_distortion_flag field may indicate whether refraction compensation is performed on the point cloud data in a sequence (or frame). The optical_distortion_flag set to 1 may indicate that refraction compensation is performed, and the optical_distortion_flag set to 0 may indicate that refraction compensation is not performed. In other words, the optical_distortion_flag field may signal whether refraction compensation is to be used to split roads / objects from the point cloud data in a sequence (or frame).

[0423] When a value of the optical_distortion_flag field is true indicating refraction compensation, the SPS may further include a theta_x field and a theta_y field.

[0424] theta_x indicates the x-axis coefficient in the refraction compensation equation (ie, see equations 1 to 3), and theta_y indicates the y-axis coefficient in the refraction compensation equation (ie, see equations 1 to 3). In other words, the transmission device can signal the x-axis coefficient (theta_x) and the y-axis coefficient (theta_y) for the refraction compensation equation in the SPS.

[0425] Figure 23 The syntax structure of a tile parameter set (tile_parameter_set()) (TPS) according to an embodiment of the present disclosure is shown. According to an embodiment, the TPS may also be referred to as a tile list. The TPS includes information related to each tile on a per-picture basis. Specifically, in the illustrated example, it includes information related to refraction compensation.

[0426] The TPS according to an embodiment includes a num_tiles field.

[0427] The num_tiles field indicates the number of tiles signaled for the bitstream. When not present, num_tiles is inferred to be 0.

[0428] The TPS according to an embodiment includes an iteration statement that is repeated the same number of times as the value of the num_tiles field. In an embodiment, i is initialized to 0 and is increased by 1 each time the iteration statement is executed. The iteration statement is repeated until the value of i becomes equal to the value of the num_tiles field. The iteration statement may include a tile_bounding_box_offset_x[i] field, a tile_bounding_box_offset_y[i] field, a tile_bounding_box_offset_z[i] field, a tile_bounding_box_size_width[i] field, a tile_bounding_box_size_height[i] field, and a tile_bounding_box_size_depth[i] field.

[0429] The tile_bounding_box_offset_x[i] field indicates the x offset of the i-th tile in the Cartesian coordinate system.

[0430] The tile_bounding_box_offset_y[i] field indicates the y offset of the i-th tile in the Cartesian coordinate system.

[0431] The tile_bounding_box_offset_z[i] field indicates the z offset of the i-th tile in the Cartesian coordinate system.

[0432] The tile_bounding_box_size_width[i] field indicates the width of the i-th tile in the Cartesian coordinate system.

[0433] The tile_bounding_box_size_height[i] field indicates the height of the i-th tile in the Cartesian coordinate system.

[0434] The tile_bounding_box_size_depth[i] field indicates the depth of the i-th tile in the Cartesian coordinate system.

[0435] According to an embodiment, the TPS may include an optical_distortion_flag field.

[0436] The optical_distortion_flag field may indicate whether refraction compensation is performed on the point cloud data in the tile. The optical_distortion_flag set to 1 may indicate that refraction compensation is performed, and the optical_distortion_flag set to 0 may indicate that refraction compensation is not performed. In other words, the optical_distortion_flag field may signal whether refraction compensation is used to split roads / objects from the point cloud data in the tile.

[0437] When a value of the optical_distortion_flag field is true indicating refraction compensation, the TPS may further include a theta_x field and a theta_y field.

[0438] theta_x indicates the x-axis coefficient in the refraction compensation equation (ie, see equations 1 to 3), and theta_y indicates the y-axis coefficient in the refraction compensation equation (ie, see equations 1 to 3). In other words, the transmission device may signal the x-axis coefficient (theta_x) and the y-axis coefficient (theta_y) for the refraction compensation equation in the TPS.

[0439] Figure 24 The syntax structure of the geometry parameter set (geometry_parameter_set()) (GPS) according to an embodiment of the present disclosure is shown. Specifically, Figure 24 An example is shown in which the GPS further includes information related to refraction compensation.

[0440] exist Figure 24 In, GPS can include an optical_distortion_flag field.

[0441] The optical_distortion_flag field may indicate whether the geometry information is refraction compensated. The optical_distortion_flag set to 1 may indicate that refraction compensation is performed, and the optical_distortion_flag set to 0 may indicate that refraction compensation is not performed. In other words, the optical_distortion_flag field may signal whether refraction compensation is used for road / object splitting in the geometry information.

[0442] When the value of the optical_distortion_flag field is true, indicating refraction compensation, the GPS may further include a theta_x field and a theta_y field.

[0443] theta_x indicates the x-axis coefficient in the refraction compensation equation (ie, see equations 1 to 3), and theta_y indicates the y-axis coefficient in the refraction compensation equation (ie, see equations 1 to 3). In other words, the transmitting device may signal the x-axis coefficient (theta_x) and the y-axis coefficient (theta_y) for the refraction compensation equation in GPS.

[0444] Figure 25 The syntax structure of an attribute parameter set (attribute_parameter_set()) (APS) according to an embodiment of the present disclosure is shown. The APS may include information on a method of encoding attribute information related to point cloud data included in one or more slices, and may further include information related to refraction compensation.

[0445] exist Figure 25 In, the APS may include an optical_distortion_flag field.

[0446] The optical_distortion_flag field may indicate whether the geometry information (or attribute information) is refraction compensated. The optical_distortion_flag set to 1 may indicate that refraction compensation is performed, and the optical_distortion_flag set to 0 may indicate that refraction compensation is not performed. In other words, the optical_distortion_flag field may signal whether refraction compensation is to be used for road / object splitting in the geometry information (or attribute information).

[0447] When the value of the optical_distortion_flag field is true, indicating refraction compensation, the APS may further include a theta_x field and a theta_y field.

[0448] theta_x indicates the x-axis coefficient in the refraction compensation equation (ie, see equations 1 to 3), and theta_y indicates the y-axis coefficient in the refraction compensation equation (ie, see equations 1 to 3). In other words, the transmission device may signal the x-axis coefficient (theta_x) and the y-axis coefficient (theta_y) for the refraction compensation equation in the APS.

[0449] Figure 26 The syntax structure of a geometry slice header (geometry_slice_header()) according to an embodiment of the present disclosure is shown.

[0450] According to an embodiment, a bit stream sent by a transmitting device (or a bit stream received by a receiving device) may include one or more slices. Each slice may include a geometry slice and an attribute slice. The geometry slice includes a geometry slice header (GSH). The attribute slice includes an attribute slice header (ASH).

[0451] A geometry slice header (geometry_slice_header()) according to an embodiment may include an optical_distortion_flag field.

[0452] The optical_distortion_flag field may indicate whether refraction compensation is performed on the point cloud data in the geometry slice. The optical_distortion_flag set to 1 may indicate that refraction compensation is performed, and the optical_distortion_flag set to 0 may indicate that refraction compensation is not performed. In other words, the optical_distortion_flag field may signal whether refraction compensation is to be used to split roads / objects from the point cloud data in the geometry slice.

[0453] When the value of the optical_distortion_flag field is true, indicating refraction compensation, the geometry slice header() may further include a theta_x field and a theta_y field.

[0454] theta_x indicates the x-axis coefficient in the refraction compensation equation (ie, see equations 1 to 3), and theta_y indicates the y-axis coefficient in the refraction compensation equation (ie, see equations 1 to 3). In other words, the transmission device may signal the x-axis coefficient (theta_x) and the y-axis coefficient (theta_y) for the refraction compensation equation in the geometry slice header ().

[0455] Figure 27 is a flowchart of a method for transmitting point cloud data according to an embodiment.

[0456] According to an embodiment, a method for sending point cloud data may include: encoding geometry included in the point cloud data (operation 71001); encoding attributes included in the point cloud data based on input and / or reconstructed geometry (operation 71002); and sending a bit stream containing the encoded geometry, encoded attributes and signaling information (operation 71003).

[0457] In one embodiment of the present disclosure, a LiDAR system (eg, a fixed LiDAR system or a rotating LiDAR system) is used to acquire point cloud data. For example, when it is assumed that a fixed LiDAR system is used to acquire point cloud data, each point in the point cloud data may have an xyz coordinate in an optical coordinate system.

[0458] Operations 71001 and 71002 for encoding the geometry and attributes included in the point cloud data may include Figure 1 Point cloud video encoder 10002, Figure 2 Code 20001, Figure 3 Point cloud video encoder, Figure 8 Point cloud video encoder, Figure 15 The geometry encoder and attribute encoder of Figure 16 Point cloud video encoder and Figure 17 Some or all operations of the point cloud video encoder.

[0459] According to an embodiment, the operation 71001 of encoding the geometry may include compensating for refraction based on the value of Z and / or compensating for refraction based on the values ​​of X and Y in the xy plane before splitting the points in the point cloud data into roads and objects. In addition, the operation 71001 of encoding the geometry may include splitting the points in the point cloud data into roads and objects based on the value of Z.

[0460] According to an embodiment, in operation 71001 of encoding geometry, a prediction unit may be configured with points split into roads, and a prediction unit may be configured with points split into objects (or object groups). Then, inter-frame prediction or intra-frame prediction may be performed on each of the prediction units in the prediction tree structure (or octree structure) to compress the geometry split into roads and objects. That is, motion estimation / compensation may or may not be performed on each of the prediction units. For example, motion estimation / compensation may not be performed on a prediction unit consisting of points split into roads, but motion estimation / compensation may be performed on a prediction unit consisting of points split into objects, and vice versa.

[0461] The compressed geometric information about each point is entropy encoded and output in the form of a geometry bitstream.

[0462] Details of compensating for refraction of points in the point cloud data, splitting the points into roads and objects, and compressing the geometry of the point cloud data split into roads and the geometry of the point cloud data split into objects are described below, refer to the above Figures 10 to 17 and Figures 21 to 26 Description.

[0463] Operation 71003 of sending a bitstream containing coded geometry, coded attributes, and signaling information may be performed by Figure 1Transmitter 10003, Figure 2 Transmission 20002, Figure 8 The transmission processor 8012 or Figure 15 The transmission processor 51005 executes.

[0464] According to an embodiment, the refraction compensation related information included in the signaling information may include information indicating whether to perform refraction compensation (optical_distortion_flag) and information for obtaining a value of Z (e.g., theta_x, theta_y), wherein theta_x indicates an x-axis coefficient in a refraction compensation equation (e.g., see Equation 1 or Equation 3), and theta_y indicates a y-axis coefficient in the refraction compensation equation (e.g., see Equation 1 or Equation 3). In the present disclosure, the refraction compensation related information may be referred to as object detection structure information using refraction compensation. The signaling information including the refraction compensation related information may be included in at least one of an SPS, a GPS, a TPS, an APS, a geometry slice header, or an attribute slice header and transmitted to a receiving device.

[0465] Figure 28 is a flowchart of a method of receiving point cloud data according to an embodiment.

[0466] According to an embodiment, a method for receiving point cloud data may include receiving a bit stream containing encoded geometry, encoded attributes, and signaling information (operation 81001), decoding the geometry based on the signaling information (operation 81002), decoding the attributes based on the decoded / reconstructed geometry and the signaling information (operation 81003), and rendering the reconstructed point cloud data based on the decoded geometry and the decoded attributes (operation 81004).

[0467] The operation 81001 of receiving a bitstream containing coded geometry, coded attributes, and signaling information according to an embodiment may be performed by Figure 1 Receiver 10005, Figure 2 Transmission 20002 or decoding 20003, Figure 9 The receiver 9000 or the receiving processor 9001 or Figure 18 The receiving processor 61001 executes.

[0468] According to an embodiment, operations 81002 and 81003 of decoding geometry and attributes may be performed per slice or per tile including one or more slices.

[0469] Operations 81002 and 81003 of decoding geometry and attributes according to an embodiment may perform decoding on each prediction unit including points split into roads and / or each prediction unit including points split into objects.

[0470] Operation 81002 of decoding geometry according to an embodiment may include Figure 1 Point cloud video decoder 10006, Figure 2 Decoding 20003, Figure 9 Point cloud video decoder, Figure 18 Point cloud video decoder, Figure 19 The geometry decoder and Figure 20 Some or all operations in the point cloud video decoder.

[0471] The operation 81002 of decoding geometry according to an embodiment may include performing a refraction compensation inverse transform based on refraction compensation related information (e.g., optical_distortion_flag, theta_x, theta_y) included in the signaling information. Here, optical_distortion_flag indicates whether refraction compensation is applied, theta_x represents the x-axis coefficient in the refraction compensation equation (i.e., see equations 1 to 3), and theta_y represents the y-axis coefficient in the refraction compensation equation (i.e., see equations 1 to 3). When optical_distortion_flag indicates that refraction compensation has been performed, a value of Z may be obtained based on theta_x and theta_y (see equations 1 to 3), which may be used in performing a refraction compensation inverse transform on a geometry bitstream.

[0472] According to an embodiment, the operation 81002 of decoding geometry may include performing a refraction compensation inverse transform based on the refraction compensation related information (e.g., optical_distortion_flag) included in the signaling information and xmin, xmax, ymin, and ymax. Here, optical_distortion_flag indicates whether refraction compensation is performed. For example, when optical_distortion_flag indicates that refraction compensation is performed, a refraction compensation inverse transform may be performed by applying xmin, xmax, ymin, and ymax to Equation 4 to reconstruct the point cloud data configured before refraction compensation. Here, the variation range of the x-axis is from xmin to xmax, and the variation range of the y-axis is from ymin to ymax.

[0473] According to an embodiment, by obtaining actual coordinates X and Y based on the deflection angles θx and θy for the coordinates (x, y) scanned by the MEMS mirror, obtaining a minimum value xmin and a maximum value xmax among the values ​​of X, and obtaining a minimum value ymin and a maximum value ymax among the values ​​of Y, xmin, xmax, ymin, and ymax may be set by the LiDAR system.

[0474] According to other embodiments, xmin, xmax, ymin and ymax may be obtained from signaling information, or may be calculated or inferred using other information (eg, bounding box information and / or slice related information).

[0475] According to an embodiment, when the value of optical_distortion_flag is true, operation 81002 of decoding geometry may include performing an inverse refraction compensation transform for road / object splitting. In other words, an inverse refraction compensation transform may be performed on the geometry bitstream based on the application state of refraction compensation and the coefficients theta_x, theta_y in the refraction compensation equation.

[0476] Operation 81003 of decoding attributes according to an embodiment may include Figure 1 Point cloud video decoder 10006, Figure 2 Decoding 20003, Figure 9 Point cloud video decoder, Figure 18 Point cloud video decoder, Figure 19 The attribute decoder and Figure 20 Some or all operations of the point cloud video decoder.

[0477] According to an embodiment, signaling information, for example, at least one of a sequence parameter set, a geometry parameter set, an attribute parameter set, a tile parameter set, a geometry slice header, and an attribute slice header, may include information related to refraction compensation.

[0478] Operation 81004 of rendering the reconstructed point cloud data based on the decoded geometry and the decoded attributes according to an embodiment may include rendering the reconstructed point cloud data according to various rendering schemes. For example, points in the point cloud content may be rendered as vertices with a specific thickness, cubes with a specific minimum size centered at the corresponding vertex position, or circles centered at the vertex position. All or part of the rendered point cloud content may be presented to the user via a display (e.g., a VR / AR display, a conventional display, etc.).

[0479] According to the embodiment, the point cloud data rendering operation 81004 can be performed by Figure 1 Renderer 10007, Figure 2 Renderer 20004 or Figure 9 Renderer 9011 executes.

[0480] In this way, the present disclosure can improve the compression efficiency of geometric information by performing refraction compensation on point cloud data before point cloud compression, splitting roads and objects, and compressing geometric information related to roads and objects. In particular, the present disclosure can be applied to point cloud data acquired by a fixed LiDAR system to further improve the compression efficiency of geometric information. In addition, the refraction compensation method and the object detection method using the same can be used for intra-frame / inter-frame object search, thereby further improving the compression efficiency based on the characteristics of the object.

[0481] Each of the above components, modules or units can be software, processors or hardware components that execute the continuous process stored in the memory (or storage unit). Each of the steps described in the above embodiments can be performed by a processor, a software component or a hardware component. Each module / block / unit described in the above embodiments can be operated as a processor, software or hardware. In addition, the method presented by the embodiment can be executed as a code. The code can be written on a processor-readable storage medium and is therefore read by a processor provided by the device.

[0482] In this specification, when a component "includes" or "comprises" an element, unless otherwise specified, it means that the component also includes or comprises another element. In addition, the term "...module (or unit)" disclosed in the specification refers to a unit for processing at least one function or operation, and can be implemented by hardware, software, or a combination of hardware and software.

[0483] Although the embodiments have been explained with reference to each of the accompanying drawings for simplicity, new embodiments may be designed by combining the embodiments illustrated in the accompanying drawings. If a computer-readable recording medium having a program for executing the embodiments mentioned in the foregoing description is designed by a person skilled in the art, it may fall within the scope of the appended claims and their equivalents.

[0484] The device and method may not be limited to the configuration and method of the above-mentioned embodiments. The above-mentioned embodiments may be configured by selectively combining with each other in whole or in part to achieve various modifications.

[0485] Although preferred embodiments of the embodiments have been shown and described, the embodiments are not limited to the specific embodiments described above, and various modifications may be made by a person of ordinary skill in the art without departing from the spirit of the embodiments claimed for protection in the claims, and these modifications should not be understood separately from the technical concept or view of the embodiments.

[0486] Various elements of the device of the embodiment may be implemented by hardware, software, firmware or a combination thereof. Various elements in the embodiment may be implemented by a single chip (e.g., a single hardware circuit). According to an embodiment, the components according to the embodiment may be implemented as separate chips, respectively. According to an embodiment, at least one or more components of the device according to the embodiment may include one or more processors capable of executing one or more programs. One or more programs may execute any one or more operations / methods according to the embodiment or include instructions for executing them. The executable instructions for executing the method / operation of the device according to the embodiment may be stored in a non-transitory CRM or other computer program product configured to be executed by one or more processors, or may be stored in a temporary CRM or other computer program product configured to be executed by one or more processors. In addition, the memory according to the embodiment may be used as a concept that not only covers volatile memory (e.g., RAM), but also covers non-volatile memory, flash memory and PROM. In addition, it may also be implemented in the form of a carrier wave (e.g., transmission via the Internet). In addition, the processor-readable recording medium may be distributed to a computer system connected via a network so that the processor-readable code may be stored and executed in a distributed manner.

[0487] In this document, the terms " / " and "," should be interpreted as indicating "and / or". For example, the expression "A / B" may mean "A and / or B". In addition, "A, B" may mean "A and / or B". In addition, "A / B / C" may mean "at least one of A, B, and / or C". In addition, "A / B / C" may mean "at least one of A, B, and / or C". In addition, in this document, 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, the term "or" in this document should be interpreted as indicating "in addition or alternatively".

[0488] The various elements of the embodiment can be implemented by hardware, software, firmware or a combination thereof. The various elements in the embodiment can be performed by a single chip such as a single hardware circuit. According to an embodiment, the elements can be selectively performed by separate chips respectively. According to an embodiment, at least one of the elements of the embodiment can be performed in one or more processors including instructions for performing the operation according to the embodiment.

[0489] The operation according to the embodiment described in this specification can be performed by a sending / receiving device including one or more memories and / or one or more processors according to the embodiment. One or more memories can store programs for processing / controlling the operation according to the embodiment, and one or more processors can control the various operations described in this specification. One or more processors can be referred to as controllers, etc. In an embodiment, the operation can be performed by firmware, software, and / or a combination thereof. Firmware, software, and / or a combination thereof can be stored in a processor or memory.

[0490] Terms such as first and second can be used to describe various elements of the embodiment. However, various components according to the embodiment should not be limited by the above terms. These terms are only used to distinguish one element from another element. For example, a first user input signal can be referred to as a second user input signal. Similarly, a second user input signal can be referred to as a first user input signal. The use of these terms should not be interpreted without departing from the scope of various embodiments. Both the first user input signal and the second user input signal are user input signals, but unless the context clearly stipulates otherwise, they do not mean the same user input signal.

[0491] The terms used to describe the embodiments are used only to describe specific embodiments and are not intended to limit the embodiments. As used in the description and claims of the embodiments, unless the context clearly specifies otherwise, the singular form includes plural referents. The expression "and / or" is used to include all possible combinations of terms. Terms such as "including" or "having" are intended to indicate the presence of graphics, quantities, steps, elements and / or components, and should be understood as not excluding the possibility of additionally existing graphics, quantities, steps, elements and / or components. As used herein, conditional expressions such as "if" and "when" are not limited to optional situations, and are intended to be interpreted as performing related operations or explaining related definitions according to specific conditions when specific conditions are met. The embodiments may include changes / modifications within the scope of the claims and their equivalents.

[0492] [Mode of this disclosure]

[0493] The details have been specifically described in the best mode for use in the present disclosure.

[0494] [Industrial Applicability]

[0495] It is obvious to those skilled in the art that various modifications and variations can be made within the scope of the embodiments without departing from the spirit or scope of the embodiments. Therefore, the embodiments are intended to cover the modifications and variations of the embodiments provided in the appended claims and their equivalents.

Claims

1. A method for sending point cloud data, the method comprising: Use a light detection and ranging (LiDAR) system to acquire point cloud data; Encoding the point cloud data; as well as Send encoded point cloud data and signaling information.

2. The method according to claim 1, wherein: The encoding of the point cloud data includes: Compensating for refraction occurring in the point cloud data; splitting points in the refraction-compensated point cloud data into roads and objects; and Geometric information including positions of points split into the road and the object and attribute information including one or more attribute values ​​of the points split into the road are encoded.

3. The method according to claim 2, wherein: The signaling information includes refraction compensation related information of the point cloud data.

4. The method according to claim 2, wherein: The compensating for refraction includes compensating for refraction of the point in the point cloud data based on a value of Z in position information (X, Y, Z) about the point.

5. The method according to claim 4, wherein: Acquire values ​​of X and Y in the position information (X, Y, Z) based on a deflection angle obtained by scanning a laser beam of the LiDAR system along an x-axis and a y-axis and target distance information associated with the laser beam; as well as The Z value is acquired based on the X and Y values ​​associated with the laser beam, the deflection angle, and the target distance information.

6. The method according to claim 4, wherein: The compensating refraction comprises: Refraction of the point in the point cloud data is compensated by applying a threshold value according to the position of the point in the point cloud data in an xy plane.

7. The method according to claim 4, wherein: The splitting of the road and the object comprises: Each of the points in the point cloud data is classified as the road or the object based on the value of the Z of a corresponding one of the points.

8. A device for transmitting point cloud data, comprising: an acquirer configured to acquire point cloud data using a light detection and ranging (LiDAR) system; an encoder configured to encode the point cloud data; and A transmitter is configured to transmit the encoded point cloud data and signaling information.

9. The device according to claim 8, wherein: The encoder comprises: a refraction compensator, the refraction compensator being configured to compensate for refraction occurring in the point cloud data; a road-object splitter configured to split points in the refraction-compensated point cloud data into roads and objects; and An encoder is configured to encode geometric information including positions of points split into the road and the object, and to encode attribute information including one or more attribute values ​​of the points split into the road.

10. The device according to claim 9, wherein: The signaling information includes refraction compensation related information of the point cloud data.

11. The device according to claim 9, wherein: The refraction compensator compensates for refraction of the point in the point cloud data based on a value of Z in position information (X, Y, Z) about the point.

12. The apparatus of claim 11, wherein: Acquire values ​​of X and Y in the position information (X, Y, Z) based on a deflection angle obtained by scanning a laser beam of the LiDAR system along an x-axis and a y-axis and target distance information associated with the laser beam; as well as The Z value is acquired based on the X and Y values ​​associated with the laser beam, the deflection angle, and the target distance information.

13. The device according to claim 11, wherein: The refraction compensator compensates for refraction of the point in the point cloud data by applying a threshold value according to the position of the point in the point cloud data in an xy plane.

14. The device according to claim 11, wherein: The road-object splitter classifies each of the points in the point cloud data as the road or the object based on the value of the Z of a corresponding one of the points.

15. A method for receiving point cloud data, the method comprising: Receive compressed point cloud data and signaling information; Decoding the point cloud data based on the signaling information; as well as Rendering the decoded point cloud data based on the signaling information; Wherein, the decoding of the point cloud data comprises: performing a refraction-compensated inverse transform on the compressed point cloud data; reconstructing geometric information and attribute information of the point cloud data subjected to the refraction compensation inverse transform, The signaling information includes refraction compensation related information of the point cloud data.