WO2020256244A1 - Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, point cloud data reception method - Google Patents

Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, point cloud data reception method Download PDF

Info

Publication number
WO2020256244A1
WO2020256244A1 PCT/KR2019/018176 KR2019018176W WO2020256244A1 WO 2020256244 A1 WO2020256244 A1 WO 2020256244A1 KR 2019018176 W KR2019018176 W KR 2019018176W WO 2020256244 A1 WO2020256244 A1 WO 2020256244A1
Authority
WO
WIPO (PCT)
Prior art keywords
point cloud
information
attribute
cloud data
point
Prior art date
Application number
PCT/KR2019/018176
Other languages
French (fr)
Korean (ko)
Inventor
허혜정
오세진
박유선
Original Assignee
엘지전자 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 엘지전자 주식회사 filed Critical 엘지전자 주식회사
Publication of WO2020256244A1 publication Critical patent/WO2020256244A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Definitions

  • Embodiments provide Point Cloud content to provide users with various services such as VR (Virtual Reality, Virtual Reality), AR (Augmented Reality, Augmented Reality), MR (Mixed Reality, Mixed Reality), and autonomous driving service.
  • VR Virtual Reality, Virtual Reality
  • AR Augmented Reality
  • MR Magnetic Reality, Mixed Reality
  • autonomous driving service Provide a solution.
  • a point cloud is a set of points in 3D space. There is a problem in that it is difficult to generate point cloud data because the amount of points in the 3D space is large.
  • the technical problem according to the embodiments is to provide a point cloud data transmission apparatus, a transmission method, a point cloud data reception apparatus, and a reception method for efficiently transmitting and receiving a point cloud in order to solve the above-described problems.
  • a technical problem according to embodiments is to provide a point cloud data transmission apparatus, a transmission method, a point cloud data reception apparatus, and a reception method for solving latency and encoding/decoding complexity.
  • a method for transmitting point cloud data includes: obtaining point cloud data, encoding point cloud data, and/or transmitting point cloud data; It may include.
  • the method of receiving point cloud data may include receiving point cloud data, decoding point cloud data, and/or rendering point cloud data.
  • a point cloud data transmission method, a transmission device, a point cloud data reception method, and a reception device may provide a point cloud service with high quality.
  • the point cloud data transmission method, the transmission device, the point cloud data reception method, and the reception device may achieve various video codec methods.
  • a point cloud data transmission method, a transmission device, a point cloud data reception method, and a reception device may provide general-purpose point cloud content such as an autonomous driving service.
  • FIG. 1 shows a system for providing point cloud content according to embodiments.
  • FIG. 2 shows a process for providing Point Cloud content according to embodiments.
  • FIG 3 shows an arrangement of Point Cloud capture equipment according to embodiments.
  • FIG. 4 shows a point cloud encoder according to embodiments.
  • FIG. 5 illustrates voxels in a 3D space according to embodiments.
  • FIG. 6 shows an example of an octree and an occupancy code according to embodiments.
  • FIG. 7 illustrates an example of a neighbor node pattern according to embodiments.
  • FIG. 8 shows an example of a point configuration of Point Cloud content for each LOD according to embodiments.
  • FIG 9 shows an example of a point configuration of Point Cloud content for each LOD according to embodiments.
  • FIG. 10 shows an example of a block diagram of a point cloud decoder according to embodiments.
  • FIG. 11 shows an example of a point cloud decoder according to embodiments.
  • FIG. 12 shows components for encoding Point Cloud video of a transmitter according to embodiments.
  • FIG. 13 shows components for decoding Point Cloud video of a receiver according to embodiments.
  • FIG. 14 shows an architecture for G-PCC-based point cloud data storage and streaming according to embodiments.
  • 15 shows point cloud data storage and transmission according to embodiments.
  • 16 shows a device for receiving point cloud data according to embodiments.
  • FIG. 17 shows an example of a structure capable of interworking with a method/device for transmitting and receiving point cloud data according to embodiments.
  • FIG. 18 shows an example of rendering point cloud data according to embodiments.
  • FIG 19 shows an example of configuration of point cloud data and LOD according to embodiments.
  • 21 shows an example of a search range level according to embodiments.
  • FIG. 22 shows an example of a process of encoding and/or decoding attribute information according to embodiments.
  • FIG. 23 illustrates an example of a property information prediction unit of an encoder according to embodiments.
  • FIG. 24 illustrates an example of a property information prediction unit of a decoder according to embodiments.
  • FIG. 25 shows an example of a configuration diagram of an attribute information prediction unit according to embodiments.
  • 26 shows an example of a structure of point cloud data according to embodiments.
  • FIG. 27 illustrates an example syntax of information related to a neighbor point set generation option according to embodiments.
  • 29 illustrates an example of information related to a neighbor point set generation option according to embodiments.
  • FIG. 30 shows a PCC encoder according to embodiments.
  • 31 shows an example of a geometric information encoder according to embodiments.
  • 35 shows an example of an attribute information decoder according to embodiments.
  • FIG. 36 illustrates an example of a point cloud data transmission apparatus/method and a reception apparatus/method including a neighbor point set generator according to embodiments.
  • FIG. 37 illustrates an attribute information prediction unit and/or a neighbor information conversion unit according to embodiments.
  • 38 illustrates an example of a neighbor information inverse change unit and/or an attribute information prediction unit according to embodiments.
  • 39 illustrates an example of information related to a neighbor point set generation option according to embodiments.
  • FIG. 40 illustrates an example of information related to a neighbor point set generation option according to embodiments.
  • 41 illustrates an example of information related to a neighbor point set generation option according to embodiments.
  • 43 illustrates an example of additional information related to a neighboring point set according to embodiments.
  • 45 illustrates an example of additional information related to a neighboring point set according to embodiments.
  • 46 illustrates an example of additional information related to a neighboring point set according to embodiments.
  • 47 illustrates an example flowchart of a method for relating a neighboring point according to embodiments.
  • FIG. 48 shows a method for transmitting point cloud data according to embodiments.
  • 49 shows a method of receiving point cloud data according to embodiments.
  • FIG. 1 shows an example of a system for providing point cloud content according to embodiments.
  • the point cloud data transmission device 10000 includes a point cloud video acquisition unit (Point Cloud Video Acquisition, 10001), a point cloud video encoder (Point Cloud Video Encoder, 10002) and/or a transmitter (Transmitter ( or Communication module), 10003).
  • a point cloud video acquisition unit Point Cloud Video Acquisition, 10001
  • a point cloud video encoder Point Cloud Video Encoder, 10002
  • a transmitter Transmitter ( or Communication module), 10003
  • a point cloud video acquisition unit (Point Cloud Video Acquisition, 10001) according to embodiments acquires a Point Cloud video through a process of capturing, synthesizing, or generating a Point Cloud video.
  • a point cloud video encoder 10002 encodes point cloud video data.
  • a transmitter (or communication module) 10003 transmits the encoded point cloud video data in the form of a bitstream.
  • the point cloud data receiving device 10004 includes a receiver 10005, a point cloud video decoder 10006, and/or a renderer 10007.
  • a receiver 10005 receives a bitstream including point cloud video data. According to embodiments, the receiver 10005 may transmit feedback information to the point cloud data transmission device 10000.
  • a point cloud video decoder (Point Cloud Decoder, 10006) decodes the received point cloud video data.
  • the renderer 10007 renders the decoded point cloud video data. According to embodiments, the renderer 10007 may transmit the feedback information acquired at the receiving end to the point cloud video decoder 10006.
  • the point cloud video data may transmit feedback information to the receiver. According to embodiments, the feedback information received by the point cloud transmission device may be provided to the point cloud video encoder.
  • the embodiments are point cloud content in order to provide various services such as VR (Virtual Reality, Virtual Reality), AR (Augmented Reality, Augmented Reality), MR (Mixed Reality, Mixed Reality), and autonomous driving service. Can provide.
  • VR Virtual Reality, Virtual Reality
  • AR Algmented Reality, Augmented Reality
  • MR Mated Reality, Mixed Reality
  • autonomous driving service Can provide.
  • a Point Cloud video may be obtained first.
  • the acquired Point Cloud video is transmitted through a series of processes, and the receiving side can process and render the received data back into the original Point Cloud video.
  • This allows Point Cloud videos to be presented to users.
  • the embodiments provide a method necessary to effectively perform this series of processes.
  • the overall process (point cloud data transmission method and/or point cloud data reception method) for providing the Point Cloud content service may include an acquisition process, an encoding process, a transmission process, a decoding process, a rendering process, and/or a feedback process. have.
  • a process of providing point cloud content may be referred to as a point cloud compression process.
  • the point cloud compression process may mean a geometry-based point cloud compression process.
  • Each element of the point cloud data transmission device and the point cloud data reception device may mean hardware, software, a processor, and/or a combination thereof.
  • a method for transmitting point cloud data includes: obtaining point cloud data, encoding point cloud data; And/or transmitting point cloud data.
  • the point cloud data transmission apparatus may include an acquisition unit that acquires point cloud data, an encoder that encodes point cloud data, and/or a transmitter that transmits point cloud data.
  • a method of receiving point cloud data may include receiving point cloud data, decoding point cloud data, and/or rendering point cloud data.
  • the point cloud data receiving apparatus may include a receiving unit for receiving point cloud data, a decoder for decoding point cloud data, and/or a renderer for rendering point cloud data.
  • FIG. 2 shows a process for providing Point Cloud content according to embodiments.
  • Point cloud data transmission method and point cloud data reception method include acquisition (20000), encoding (20001), transmission (20002), decoding (20003), rendering (20004), and/or feedback (20005). do.
  • the Acquisition 20000 is a step of acquiring point cloud data.
  • the point cloud data according to embodiments may be a Ply (Polygon File format or the Stanford Triangle format) file.
  • the Ply file according to the embodiments includes geometry and/or attribute. Geometry according to embodiments represents points in a three-dimensional space. Attributes according to embodiments represent properties such as color and reflection of each point in a 3D space according to geometry.
  • the encoding 20001 is a step of encoding point cloud data including geometry and/or attributes.
  • the encoded data according to the embodiments may be in the form of a bitstream.
  • Transmission 20002 is a step of transmitting encoded data.
  • the transmitting device receives feedback information from the receiving device according to the embodiments.
  • the received feedback information may be delivered to encoding according to embodiments.
  • the decoding 20003 is a step of receiving a bitstream and decoding point cloud data included in the bitstream.
  • the decoding step may obtain feedback information about a user according to embodiments.
  • the rendering 20004 is a step of rendering decoded data including geometry and/or attributes.
  • the feedback 20005 is a step of obtaining feedback information from a receiving end and/or a user, and providing the obtained feedback information to the point cloud data transmission method and the point cloud data reception method according to the embodiments.
  • Feedback information includes information about a user.
  • the feedback information includes head orientation information related to the user, viewport information related to the user, and the like.
  • Feedback information according to embodiments may be provided to a decoder and/or a transmitter of a receiver according to the embodiments. It is possible to encode/decode point cloud data corresponding to the user's head orientation and/or viewport. There is an effect of efficiently encoding/decoding user-related data without the need to encode/decode data for all viewpoints.
  • a process for providing a Point Cloud content service is as follows.
  • Point cloud compression processing may include a geometry-based point cloud compression process.
  • the Point Cloud Compression system may include a transmitting device and a receiving device according to embodiments.
  • the transmission device may be referred to as an encoder, a transmission device, a transmitter, and the like.
  • the receiving device may be referred to as a decoder, a receiving device, a receiver, or the like.
  • the transmitting device can encode the Point Cloud video and output the bitstream, and can deliver it to the receiving device through a digital storage medium or network in the form of a file or streaming (streaming segment).
  • the digital storage medium may include various storage media such as USB, SD, CD, DVD, Blu-ray, HDD, and SSD.
  • the transmission device may schematically include a Point Cloud video acquisition unit, a Point Cloud video encoder, and a transmission unit.
  • the receiving device may schematically include a receiving unit, a Point Cloud video decoder, and a renderer.
  • the encoder may be referred to as a Point Cloud video/image/picture/frame encoding device, and the decoder may be referred to as a Point Cloud video/image/picture/frame decoding device.
  • the transmitter can be included in the Point Cloud video encoder.
  • the receiver can be included in the Point Cloud video decoder.
  • the renderer may include a display unit, and the renderer and/or display unit may be configured as a separate device or an external component.
  • the transmitting device and the receiving device may further include separate internal or external modules/units/components for a feedback process.
  • Each element included in the transmitting device and the receiving device according to the embodiments may be configured with hardware, software and/or a processor.
  • the point cloud video acquisition unit may perform a process of acquiring a point cloud video through a process of capturing, synthesizing, or generating a point cloud video.
  • 3D location (x, y, z)/property (color, reflectance, transparency, etc.) data for multiple points for example, PLY (Polygon File format or the Stanford Triangle format) file, is created by the acquisition process Can be.
  • PLY Polygon File format or the Stanford Triangle format
  • point cloud related metadata eg, metadata related to capture
  • the Point Cloud Video Encoder can encode the input Point Cloud video.
  • One video may include a plurality of frames, and one frame may correspond to a still image/picture.
  • a Point Cloud video may include a Point Cloud image/frame/picture, and the Point Cloud video may be used interchangeably with a Point Cloud image/frame/picture.
  • the Point Cloud video encoder can perform a Geometry-based Point Cloud Compression (G-PCC) procedure.
  • G-PCC Geometry-based Point Cloud Compression
  • the Point Cloud video encoder can perform a series of procedures such as prediction, transform, quantization, and entropy coding for compression and coding efficiency.
  • the encoded data (encoded video/video information) may be output in the form of a bitstream.
  • the Point Cloud video encoder can encode the Point Cloud video by dividing it into geometry and attributes as described later.
  • the output bitstream may include a geometry bitstream and/or an attribute bitstream.
  • the attribute may include (color) texture information.
  • the encapsulation unit may encapsulate the encoded video/video information or data output in the form of a bitstream in the form of a file or streaming.
  • the transmission unit may transmit the point cloud bitstream or the file/segment including the corresponding bitstream to the reception unit of the receiving device through a digital storage medium or a network.
  • Digital storage media may include various storage media such as USB, SD, CD, DVD, Blu-ray, HDD, and SSD.
  • the transmission unit may include an element for generating a media file through a predetermined file format, and may include an element for transmission through a broadcast/communication network.
  • the receiver may extract the bitstream and transmit it to a decoding device.
  • the Point Cloud video decoder may receive the bitstream and perform an operation corresponding to the operation of the Point Cloud video encoder to decode the video/video.
  • the Point Cloud video decoder can decode the Point Cloud video by dividing it into geometry and attributes, as described later.
  • the Point Cloud video decoder may restore (decode) geometry from the geometry bitstream included in the input bitstream, and restore attributes based on the attribute bitstream included in the input bitstream and the restored geometry. You can (decode) it.
  • a 3D Point Cloud video/image may be reconstructed based on the location information according to the reconstructed geometry and the (color) texture attribute according to the decoded attribute.
  • the attribute may include (color) texture information.
  • the renderer can render decoded Point Cloud video/video.
  • the rendered video/image may be displayed through the display unit.
  • the user can view all or part of the rendered result through a VR/AR display or a general display.
  • the feedback process may include a process of transferring various feedback information that can be obtained during the rendering/display process to a transmitter or a decoder at a receiver. Interactivity can be provided in Point Cloud video consumption through the feedback process.
  • head orientation information, viewport information indicating an area currently viewed by the user, and the like may be transmitted in the feedback process.
  • the user may interact with those implemented in the VR/AR/MR/autonomous driving environment.In this case, information related to the interaction may be transmitted to the transmitting side or the service provider side in the feedback process. have.
  • the feedback process may not be performed.
  • Embodiments relate to Point Cloud video compression as described above.
  • the method described in the embodiments is based on a point cloud compression or point cloud coding (PCC) standard (ex.G-PCC or V-PCC standard) of MPEG (Moving Picture Experts Group) or a next-generation video/image coding standard. Can be applied.
  • PCC point cloud compression or point cloud coding
  • MPEG Motion Picture Experts Group
  • next-generation video/image coding standard can be applied.
  • FIG 3 shows an arrangement of Point Cloud capture equipment according to embodiments.
  • Point cloud data may be obtained by a camera or the like.
  • the capture method according to embodiments may include, for example, in-word-facing and/or out-of-facing.
  • one or more cameras may photograph an object of point cloud data from the outside to the inside of the object.
  • one or more cameras may photograph an object of point cloud data from the inside to the outside of the object.
  • Point cloud data or point cloud content may be video or still images of objects/environments expressed in various types of 3D space.
  • Point Cloud refers to the process of acquiring a Point Cloud video through the process of capturing, synthesizing or creating a Point Cloud video.
  • 3D location (x, y, z)/property (color, reflectance, transparency, etc.) data for multiple points for example, PLY (Polygon File format or the Stanford Triangle format) file, is created by the acquisition process Can be.
  • PLY Polygon File format or the Stanford Triangle format
  • one or more files may be obtained.
  • metadata related to the capture may be generated.
  • Point Cloud content may be composed of information about the location (x, y, z) and color (YCbCr or RGB) or reflectance (r) of the points.
  • Point Cloud content may include an outward-facing method for capturing an external environment and an inward-facing method for capturing a central object.
  • objects e.g., key objects such as characters, players, objects, actors, etc.
  • the composition of the capture camera uses the inword-facing method. Can be used.
  • the configuration of the capture camera may use the outward-facing method. Since Point Cloud content can be captured through multiple cameras, it may be necessary to calibrate the camera before capturing the content in order to set up a global coordinate system between the cameras.
  • Point cloud content may be a video or still image of an object/environment displayed on various types of 3D space.
  • the acquisition method of Point Cloud content can be composed of arbitrary Point Cloud video based on the captured Point Cloud video.
  • Point Cloud video for a virtual space created by a computer
  • capture through an actual camera may not be performed.
  • the capture process may be replaced with a process in which related data is simply generated.
  • the captured Point Cloud video may require post-processing to improve the quality of the content.
  • the maximum/minimum depth value can be adjusted within the range provided by the camera equipment, but point data of the unwanted area may be included even after that, removing the unwanted area (eg, background) or recognizing the connected space. Post-treatment of filling the spatial hole can be performed.
  • the Point Cloud extracted from the cameras sharing the spatial coordinate system can be integrated into a single content through the conversion process to the global coordinate system for each point based on the position coordinates of each camera acquired through the calibration process.
  • a wide range of Point Cloud contents can be created, or Point Cloud contents with a high density of points can be obtained.
  • FIG. 4 shows a point cloud encoder according to embodiments.
  • the point cloud encoder includes a coordinate system transform unit (Transformation Coordinates, 40000), a quantization (Quantize and Remove Points (Voxelize), 40001), an octree analysis unit (Analyze Octree, 40002), and a surface aproxiation analysis unit (Analyze Surface Approximation, 40003), Arithmetic Encode (40004), Reconstruct Geometry (40005), Transform Colors (40006), Transfer Attributes (40007), RATH Transformation A unit 40008, an LOD generation unit (Generated LOD) 40009, a Lifting transform unit (40010), a coefficient quantization unit (Quantize Coefficients, 40011) and/or an Arithmetic Encode (40012) are included.
  • a coordinate system transform unit Transformation Coordinates, 40000
  • a quantization Quantization and Remove Points (Voxelize)
  • An octree analysis unit Analyze Octree, 40002
  • a coordinate system transformation unit receives positions and transforms them into a coordinate system. For example, positions may be converted into three-dimensional (XYZ) position information. Position information in a 3D space according to embodiments may be referred to as geometry information.
  • Quantize and Remove Points 40001 according to embodiments quantizes geometry information. For example, it is possible to quantize by adjusting the position values of the points based on the minimum position values of the points.
  • the quantization 40001 according to embodiments may voxelize points. Voxelization refers to the minimum unit expressing position information in 3D space.
  • An octree analysis unit 40002 represents a voxel in an octree structure.
  • the octree according to the embodiments represents points based on a tree structure in which voxel space is occupied.
  • An Analyze Surface Approximation 40003 may analyze and approximate an octree.
  • the octree analysis and approximation according to the embodiments is a process of analyzing to voxelize a region including a plurality of points in order to efficiently provide octree and voxelization.
  • the Arithmetic Encode 40004 encodes an octree and/or an approximated octree.
  • the encoding method includes an Arithmetic encoding method.
  • a geometry bitstream is generated.
  • the Reconstruct Geometry 40005 reconstructs an octree and/or an approximated octree.
  • the geometry reconstruction unit 40005 reconstructs an octree/voxel based on a result of analyzing the distribution of points.
  • the color transform unit 40006 transforms color values (or textures) included in attributes. For example, the format of color information may be converted.
  • the color conversion unit (number) according to the embodiments may be optional according to a color value.
  • the color transformation 40006 according to the embodiments is one of the point cloud attribute coding schemes.
  • the attribute conversion unit (Transfer Attributes 40007) converts attribute information based on positions and/or reconstructed geometry information. For example, the attribute conversion unit (number) may convert an attribute value of a point at that position based on the position value of a point included in the voxel.
  • the attribute transformation 40007 according to the embodiments is one of the point cloud attribute coding schemes.
  • the RATH transform unit 40008 is an encoding method that predicts attribute information based on reconstructed geometry information.
  • the RATH conversion unit 40008 may predict attribute information of a node at a higher level of the octree based on attribute information associated with a node at a lower level of the octree.
  • the RATH transform 40008 according to embodiments is one of point cloud attribute coding schemes.
  • the LOD generation unit (Generated LOD 40009) according to the embodiments generates a level of detail (LOD) for points.
  • LOD level of detail
  • the LOD according to the embodiments is a unit of a group that distinguishes points. Points can be classified by LOD.
  • An attribute coding scheme using the LOD scheme according to embodiments may be referred to as prediction transformation.
  • the lifting conversion unit 40010 refers to a method of organizing points for each LOD and converting an attribute value of a point cloud based on a weight.
  • the Lifting transform 40010 according to embodiments is one of point cloud attribute coding schemes.
  • the point cloud attribute coding method may use RAHT transformation, LOD generation and lifting transformation, or a method according to a RAHT/LOD/Lifting combination.
  • the coefficient quantization unit 40011 quantizes attribute-coded point cloud data based on coefficients.
  • An Arithmetic Encode 40012 encodes the quantized point cloud data based on an Arithmetic coding scheme.
  • Each component of the point cloud encoder according to the embodiments may be performed by hardware, software, a processor, and/or a combination thereof. Detailed operations of each component of the point cloud encoder according to the embodiments will be described below.
  • the acquired Point Cloud data is encoded by reconstructing the location/color information of the points in order to adjust the quality of the Point Cloud content (for example, lossless-lossless, loss-lossy, near-lossless) according to network conditions or applications. Can go through.
  • the quality of the Point Cloud content for example, lossless-lossless, loss-lossy, near-lossless
  • a process of reconstructing/encoding location information of points may be referred to as geometry coding, and a process of reconstructing/encoding information on attributes (eg, color) associated with each point may be referred to as attribute coding.
  • attributes eg, color
  • Each point of the acquired point cloud can be transmitted without loss, but in that case, real-time streaming is not possible because the size of the content data is large.
  • there is Point Cloud content that is 60 Gbps at 30 fps.
  • the content data size may vary depending on the capture device. In order to provide a Point Cloud content service, it is necessary to reconstruct the content according to the maximum target bitrate.
  • the first step in reconstructing the location information of each point of the entire acquired point cloud is the quantization process for the location information. Find the minimum x, y, z position values of all points, subtract them from the position values of each point, multiply by the set quantization scale value, and lower or increase the nearest integer value.
  • octree-based voxelization is performed based on the location information of the points.
  • the 3D space is a unit based on each axis (x, y, z axis).
  • Voxel is a hybrid word that combines volume and pixel. A voxel can estimate spatial coordinates in a positional relationship with a voxel group, and like a pixel, can have color or reflectance information.
  • FIG. 5 illustrates voxels in a 3D space according to embodiments.
  • One voxel can have multiple point-related information. Alternatively, one voxel can be integrated into one point information to have it. This adjustment can be performed selectively.
  • the position value of the center point of the voxel can be set based on the position values of points existing in the voxel, and an attribute transform process related thereto needs to be performed. There is. For example, the attribute conversion process may be adjusted to the average value of the points included in the voxel or the center position value of the voxel and the color or reflectance of the neighboring points within a specific radius (refer to Section 2.2.2).
  • FIG. 6 shows an example of an octree and an occupancy code according to embodiments.
  • Point Cloud contents use octrees.
  • the total volume of the octree should be set to (0,0,0) ⁇ (2d, 2d,2d).
  • 2d is set to a value constituting the smallest bounding box surrounding the entire point of the Point Cloud video
  • d is the depth of the octree.
  • the formula to find the d value can be as follows. (x_n ⁇ int,y_n ⁇ int,z_n ⁇ int) is the position value of the points to which the quantization process is applied.
  • the octree can be expressed as an occupancy code. If a point is included in each node, it is expressed as 1, and if there is no point, it is expressed as 0. Each node has an 8-bit bitmap indicating occupancy for 8 child nodes. Entropy coding of occupancy code through arithmetic coder. The generated occupancy code may be directly encoded or may be encoded through an intra/inter coding process to increase compression efficiency. In the receiver, the occupancy code can be used to reconstruct the octree.
  • the voxelization and octree are used to store the location information of the points of the Point Cloud video
  • a specific area that is, a specific node of the octree (but the node is not a leaf node)
  • the location of the points directly for that area only. Either by transmitting the s, or by using a surface model, the position of the point in the node area can be reconstructed based on voxels.
  • direct mode which directly transmits the location of each point to a specific node
  • the option to use direct mode must be enabled, the node must not be a leaf node, and points below the threshold must exist within a specific node, and the total number of points that can directly transmit the point location. Do not exceed the limit of. If all of these cases are satisfied, the position value of the point can be directly entropy-coded with an arithmetic coder for the corresponding node and transmitted.
  • a trisoup mode that sets a specific level of the octree (if the level is less than the depth d of the octree), and from that level, uses a surface model to reconstruct the position of points in the node area based on voxels. ) Can also be selectively applied.
  • the treetop mode it specifies the level to which the treetop method is applied. For example, if the specified level is the same as the depth of the octree, the trisoup mode is not applied. The specified level must be less than the depth value of the octree to apply the trisoup method.
  • the three-dimensional cube area of nodes of a designated level is called a block.
  • One block may include one or more voxels.
  • the block or voxel may correspond to a brick.
  • Each block may have 12 edges, and it is checked whether each edge is adjacent to an occupied voxel having a point.
  • Each edge can be adjacent to multiple occupied voxels.
  • a specific position of an edge adjacent to the voxel is called a vertex, and when several occupied voxels are adjacent to one edge, the average position of the corresponding positions may be determined as a vertex.
  • entropy coding of the starting point (x, y, z) of the edge, direction vectors of the edge ( ⁇ x, ⁇ y, ⁇ z), and vertex position values (relative position values within the edge) with an arithmetic coder .
  • a geometry restoration process may be performed through a process of triangle reconstruction, up-sampling, and voxelization.
  • the direction vector of the edge, and the position value of the vertex In order to reconstruct a triangle based on the starting point of the edge, the direction vector of the edge, and the position value of the vertex, first, calculate the centroid value of each vertex, and 2 add the square to the values subtracting the center value from each vertex. And find the sum of all the values.
  • the minimum value of the added value is obtained, and the projection process is performed along the axis with the minimum value.
  • each vertex is projected on the x-axis based on the center of the block, and is projected on the (y, z) plane.
  • the projected value on the (y, z) plane is (ai, bi)
  • is calculated through atan2(bi, ai)
  • vertices are aligned based on the ⁇ value.
  • the method of composing triangles according to the number of vertices is to create triangles by combining them according to the sorted order as shown in the following table. For example, if there are 4 vertices, you can construct two triangles. The first triangle consists of the first, second, and third vertices from the aligned vertices, and the second triangle consists of the third, fourth and first vertices.
  • the upsampling process is performed to voxelize by adding points in the middle along the edge of the triangle. Additional points are created based on the upsampling factor and the width of the block. These points are called refined vertices. Refined vertices are voxelized, and attributes (eg, colors) are coded based on the voxelized position value when attribute coding.
  • FIG. 7 illustrates an example of a neighbor node pattern according to embodiments.
  • the location/color data of the point of the point cloud content is reconstructed, and entropy coding can be performed using an arithmetic coder. Because the data size of Point Cloud video is large, compression efficiency can be an important factor. Therefore, a method of increasing compression efficiency can be applied by applying context adaptive arithmetic coding.
  • Geometry coding encodes the occupancy code of each node in the octree.
  • the occupancy code can be entropy coded using the arithmetic code directly, but it may be adaptively encoded based on occupancy of neighboring nodes (intra-based) or based on the occupancy code of the previous frame (inter-based).
  • the frame may refer to a set of point cloud data generated at the same time.
  • coding can be adaptively performed through occupancy of neighboring nodes.
  • a value of a neighbor pattern is obtained based on occupancy of the neighboring node.
  • the order of bits for each location of neighboring nodes is shown in the figure. For example, if neighboring nodes corresponding to 1, 2, 4, and 8 are occupied, 15, which is the sum of 1, 2, 4, and 8, becomes the neighboring node pattern value of the corresponding node.
  • it refers to six neighboring nodes that share a plane around the node.
  • it is possible to reduce complexity by changing the neighboring node pattern value through a table that internally changes 64 to 10 or 6. Compression efficiency can be improved by performing encoding using the occupied code of the current node and the neighboring node pattern value.
  • the intra/inter coding process is an optional process and may be omitted.
  • Voxelization is applied, and in the direct mode, the point cloud data is rearranged to the front of the point cloud data, and in the trisoup mode, a triangle reconstruction, upsampling, and voxelization are added to perform the encoding process for related attribute information based on the reconstructed geometry. Can be done. Since attribute information is dependent on geometry, a process of coding attribute information based on the reconstructed geometry may be necessary.
  • Point Cloud attribute data may be composed of color (YCbCr or RGB) or reflectance (r) information. In both cases, the same method of coding can be applied. However, the difference is that the color has 3 elements and the reflectance has 1 element, and each element can be treated independently.
  • Attribute coding methods include prediction transform, lifting transform, and region adaptive hierarchical transform (RAHT), and can be selectively applied.
  • RAHT region adaptive hierarchical transform
  • Color conversion refers to such a color format conversion process.
  • the position values for points existing in the voxel are set as the center point of the voxel in order to integrate and indicate one point information in one voxel, and the associated attribute value accordingly It may be necessary to convert.
  • the attribute conversion process is performed even when executed in the treetop mode.
  • the attribute conversion process may be calculated as an average value of attribute values such as the central position value of the voxel and the color or reflectance of neighboring points within a specific radius, or an average value applied with a weight according to the distance from the central position.
  • each voxel has a position and a calculated attribute value.
  • a K-D tree or Molton code When searching for neighboring points existing within a specific location/radius, a K-D tree or Molton code can be used.
  • the K-D tree is a binary search tree and supports a data structure that can manage points based on location so that the Nearest Neighbor Search (NNS) can be quickly performed.
  • the Molton code can be generated by mixing bits of 3D location information (x, y, z) for all points. For example, if the value of (x, y, z) is (5, 9, 1), it becomes (0101, 1001, 0001) when expressed as a bit. When mixed, it becomes 010001000111, which is 1095. 1095 is the Molton code value of (5, 9, 1). Points are sorted based on the Morton code, and shortest neighbor search (NNS) is possible through a depth-first traversal process.
  • the shortest neighbor search is sometimes required in another transformation process for attribute coding, and for this, a K-D tree or a Molton code may be used.
  • FIG. 8 shows an example of a point configuration of Point Cloud content for each LOD according to embodiments.
  • Point clouds according to embodiments may be classified into groups according to a level of detail (LOD). As shown in the figure, the degree of detail increases from left to right. In other words, the closer the distance between the points to the left is, the sparse it is, and the closer to the right, the closer the distances between the points.
  • LOD level of detail
  • Predictive transformation is a method to which the Level Of Detail (LOD) technique is applied.
  • LOD Level Of Detail
  • Each point is set by calculating the LOD value based on the set LOD distance value.
  • the composition of points according to the LOD value can be as follows.
  • FIG 9 shows an example of a point configuration of Point Cloud content for each LOD according to embodiments.
  • the original order indicates, for example, the order of points P0 to P9.
  • LOD-based order represents the order of LOD groups.
  • Each point in the point cloud can be separated by LOD, and the composition of points by LOD includes points belonging to the LOD lower than the corresponding LOD value. For example, if LOD level 2, it corresponds to all points belonging to LOD level 1 and 2.
  • a predictor For predictive transformation, a predictor is created for each point in the Point Cloud. Therefore, if there are N points, N predictors can be generated.
  • the property (color or reflectance) values of neighboring points set in the predictor of each point are multiplied by a weight value calculated based on the distance of each neighboring point.
  • the color or reflectance values multiplied by the weights of neighboring points are averaged and set as the predicted attribute value of the corresponding point.
  • a quantization process is performed on the residual attribute value obtained by subtracting the predicted attribute value from the color or reflectance value of each point.
  • the quantization process for properties is as follows.
  • entropy coding is performed using an arithmetic coder directly for the color/reflectance value of the current point, and if there are neighboring points, the property value predicted through the neighboring points from the color or reflectance value of the point Entropy coding is performed on the residual attribute value minus the quantization process using an arithmetic coder.
  • the predictive transformation and lifting transformation process reconstruct points into a set of detail levels through a level of detail (LOD) generation process.
  • LOD level of detail
  • Lifting transformation generates a predictor for each point, sets the calculated LOD in the predictor, registers the neighboring points, and sets weights according to the distances to the neighboring points.
  • the difference from prediction transformation is a method of accumulating and applying weights to attribute values. The method is as follows.
  • QW Quadrature Wieght
  • the weight calculated by additionally multiplying the calculated weight for all predictors by the weight stored in the QW corresponding to the predictor index is cumulatively added to the updateweight by the index of the neighboring node, and for update, the value multiplied by the attribute value of the index of the neighboring node. Is accumulated and summed.
  • the attribute value of update is divided by the weight value of the updateweight of the predictor index, and then added to the existing attribute value. This process is a lift update process.
  • the attribute value updated through the lift update process is additionally multiplied by the weight updated through the lift prediction process (stored in QW), and the quantized value is quantized using an arithmetic coder. Entropy coding.
  • RAHT transformation is a method of predicting attribute information of nodes at a higher level using attribute information associated with a node at a lower level of an octree, and is an intra coding method for attribute information through octree backward scan.
  • the voxel is scanned from the voxel to the entire area, and in each step, the voxel is combined into a larger block and performed up to the root node. Since the merging process is performed only for occupied nodes, in the case of an empty node that is not occupied, merging is performed with the node of the higher level immediately.
  • the gDC value is also quantized like the high-pass coefficient, and entropy coding is performed using an arithmetic coder at the end.
  • the transmission process may be a process of processing and transmitting the encoded geometry and attribute data and metadata of the Point Cloud content that has undergone an encoding process.
  • processing according to any transmission protocol may be performed.
  • Geometry and attribute data of the generated point cloud content, and related metadata bitstreams may be created as one or more track data, or may be encapsulated into segments.
  • Data processed for transmission may be delivered through a broadcasting network and/or a broadband. These data may be delivered to the receiving side in an on-demand manner. The receiving side can receive the data through various paths.
  • the encoded geometry and attribute data and metadata of the Point Cloud content that has gone through the encoding process may be stored in a digital storage medium in the form of a media file and transmitted to the receiver.
  • FIG. 10 shows an example of a block diagram of a point cloud decoder according to embodiments.
  • the point cloud decoder receives a bitstream including geometry and/or attributes for point cloud data.
  • the geometry decoder decodes the geometry
  • the attribute decoder decodes the attribute.
  • the attribute decoder decodes the attribute based on the decoded geometry.
  • the decoder may generate a point cloud based on the decoded geometry and/or decoded attributes.
  • the decoding process may include a process of reconstructing (decoding) a Point Cloud video/video by receiving a bitstream and performing an operation corresponding to the encoding operation.
  • FIG. 11 shows an example of a point cloud decoder according to embodiments.
  • the point cloud decoder according to the embodiments may perform the reverse process of the point cloud encoder according to the embodiments.
  • Point cloud decoders include an arithmetic decoder (11000), an octree synthesis unit (synthesize octree, 11001), a surface opoxidation synthesis unit (synthesize surface approximation, 11002), and a geometry reconstruction unit (reconstruct geometry, 11003), inverse transform coordinates (11004), arithmetic decode (11005), inverse quantize (11006), RAHT (11007), generate LOD (generate LOD, 11008) , Inverse lifting unit (11009), and / or color inverse transform unit (inverse transform colors, 11010).
  • the arithmetic decoder 11000 decodes the geometry included in the received bitstream based on an arithmetic method.
  • the octree synthesizer 11001 may generate an octree from geometry.
  • the surface opoxidation synthesis unit 11002 may synthesize a surface based on the decoded geometry and/or octree.
  • the geometry reconstructing unit 11003 may regenerate a geometry based on a surface and/or decoded geometry.
  • the inverse transform coordinates 11004 may obtain positions (positions) by inverse transforming a coordinate system based on geometry.
  • An arithmetic decoder 11005 decodes an attribute included in a received bitstream based on an arithmetic method.
  • the inverse quantize (11006) performs inverse quantization on the decoded attribute.
  • the RAHT 11007 according to the embodiments, the generate LOD 11008 according to the embodiments, and/or the inverse lifting 11009 according to the embodiments correspond to the encoder according to the embodiments.
  • the reverse process of the operation can be performed.
  • the inverse transform colors 11010 may obtain an attribute (for example, a color value) by inversely transforming colors.
  • the decoding process may include a geometry decoding process and an attribute decoding process.
  • the decoder may reconstruct (decode) geometry from the geometry bitstream included in the input bitstream, and reconstruct (decode) attributes based on the attribute bitstream included in the input bitstream and the restored geometry.
  • a 3D Point Cloud video/image may be reconstructed based on the location information according to the reconstructed geometry and the (color) texture attribute according to the decoded attribute.
  • the decoder acquires information about the geometry by decoding the geometry bitstream with an arithmetic coder, creates an occupancy code based on the information about the geometry, and reconstructs the geometry.
  • the direct mode is applied, the location information value of the point is directly imported and added, and when the trisoup mode is applied, the geometry is restored through triangle reconstruction, up-sampling, and voxelization.
  • the restored geometry may include restored (decoded) point cloud picture/frame without (any) attributes.
  • the decoder obtains information on the attribute by decoding the received attribute bitstream with an arithmetic coder, and based on the information on the obtained attribute and the associated location information derived from the geometry coding process. You can create a restored (decoded) point cloud picture/frame with attributes.
  • an inverse quantization process is performed, an inverse transformation process for prediction/lifting/RAHT is selectively performed according to a method applied during encoding, and then, if necessary, color conversion may be performed to restore attributes.
  • the rendering process refers to the process of rendering and displaying Point Cloud content data in 3D space. It can be rendered according to a desired rendering method with the location and property information of the decoded points through the decoding process. Points of the Point Cloud content may be rendered as a vertex with a certain thickness, a cube with a specific minimum size centered on the vertex position, or a circle centered on the vertex position. The user can view all or part of the rendered result through a VR/AR display or a general display.
  • the feedback process may include a process of transferring various feedback information that can be obtained during the display process to a transmitting side or a receiving side decoding. Through the feedback process, interactivity can be provided in Point Cloud video consumption. Depending on the embodiment, head orientation information, viewport information indicating an area currently viewed by the user, and the like may be transmitted in the feedback process. Depending on the embodiment, the user may interact with those implemented in the VR/AR/MR/autonomous driving environment.In this case, information related to the interaction may be transmitted to the transmitting side or the service provider side in the feedback process. have. Depending on the embodiment, the feedback process may not be performed.
  • the head orientation information may mean information on the position, angle, and movement of the user's head. Based on this information, information about the area that the user is currently viewing in the Point Cloud video, that is, viewport information can be calculated.
  • the viewport information may be information on an area currently viewed by the user in the Point Cloud video.
  • a gaze analysis is performed, which allows you to check how the user consumes the Point Cloud video, which area of the Point Cloud video and how much they gaze at.
  • the gaze analysis may be performed at the receiving side and transmitted to the transmitting side through a feedback channel.
  • a device such as a VR/AR/MR display may extract a viewport area based on the position/direction of the user's head and a vertical or horizontal FOV supported by the device.
  • the above-described feedback information is not only transmitted to the transmitting side, but may be consumed by the receiving side. That is, decoding and rendering of the receiver may be performed using the above-described feedback information. For example, using head orientation information and/or viewport information, only a point cloud video for a region currently viewed by the user may be preferentially decoded and rendered.
  • the viewport or the viewport area may mean an area that the user is viewing in the Point Cloud video.
  • a viewpoint is a point that a user is viewing in a Point Cloud video, and may mean a center point of a viewport area. That is, the viewport is an area centered on the viewpoint, and the size, shape, etc. occupied by the area may be determined by a field of view (FOV).
  • FOV field of view
  • FIG. 12 shows components for encoding Point Cloud video of a transmitter according to embodiments.
  • Components for video encoding of point cloud data include a data input unit 12000, a quantization processing unit 12001, a voxelization processing unit 12002, an octree occupancy code generation unit 12003, and a front surface model processing unit 12004.
  • Intra/inter coding processing unit (12005), Arithmetic coder (12006), metadata processing unit (12007), color conversion processing unit (12008), attribute conversion processing unit (12009), prediction/lifting/RAHT conversion processing unit 12010, Arithmetic coder (12011) and/or a transmission processing unit 12012 may be included.
  • the data input unit 12000 receives or acquires point cloud data.
  • the data input unit 12000 may correspond to the point cloud acquisition unit 10001 of FIG. 1 according to embodiments.
  • the quantization processing unit 12001 quantizes a geometry of point cloud data, for example, position value information of points.
  • the voxelization processing unit 12002 voxelsizes position value information of quantized points.
  • the octree occupancy code generation unit 12003 may display position value information of voxelized points in an octree based on an octree accupancy code.
  • the front surface model processing unit 12004 may express and process an octree for position value information of points of a point cloud based on a surface model method.
  • the intra/inter coding processor 12005 may intra/inter code point cloud data.
  • the Arithmetic coder 12006 may encode point cloud data based on an Arithmetic coding method.
  • the metadata processing unit 12007 processes metadata about point cloud data, for example, a set value, and provides it to a necessary process such as a geometry encoding process and/or an attribute encoding process.
  • the color conversion processing unit 12008 may convert a color of the point cloud data based on an attribute of the point cloud data, for example, attribute value information of points and/or a reconstructed position value.
  • the attribute conversion processing unit 12009 may convert an attribute value of point cloud data.
  • the prediction/lifting/RAHT conversion processing unit 12010 may attribute-code the point cloud data based on a combination of a prediction method, a lifting method, and/or a RAHT method.
  • the Arithmetic coder 12011 may encode point cloud data based on an Arithmetic coding method.
  • the above processes may correspond to the point cloud encoder 10002 of FIG. 1 according to embodiments.
  • the transmission processing unit 12012 may transmit the encoded geometry and/or the encoded attribute.
  • a process for a position value of points and a process for an attribute value of points may perform each process by sharing data/information of each other.
  • FIG. 12 is a diagram illustrating a transmitter equipment for providing a Point Cloud content service according to embodiments.
  • Embodiments at the transmitting side may be related to the Point Cloud content transmission device.
  • the Point Cloud content transmission device includes a data input unit, a quantization processing unit, a voxelization processing unit, an occupancy code generation unit, a surface model processing unit, an intra/inter coding processing unit, an arithmetic coder, a metadata processing unit, and a reconstructed position value for the point position values.
  • the stream and attribute bitstream are transmitted to the receiving side through the transmission processing unit.
  • the function of each component is described in Chapter 2 Encoding Process and Chapter 3 Transmission Process.
  • FIG. 13 shows components for decoding Point Cloud video of a receiver according to embodiments.
  • Components for video decoding of point cloud data include a receiving unit 13000, a receiving processing unit 13001, an Arithmetic decoder 13002, an octree reconstruction processing unit 13003 based on an occupancy code, and a surface model processing unit (triangle reconstruction, Up-sampling, voxelization) (13004), inverse quantization processing unit (13005), metadata parser (13006), arithmetic decoder (13007), inverse quantization processing unit (13008), prediction/lifting/RAHT inverse transform processing unit (13009), color An inverse transform processing unit 13010 and/or a renderer 13011 may be included.
  • Each component of decoding according to the embodiments may perform a reverse process of the component of encoding according to the embodiments.
  • the receiving unit 13000 receives point cloud data.
  • the receiver 13000 may correspond to the receiver 10007 of FIG. 1 according to embodiments.
  • the reception processing unit 13001 may obtain a geometry bitstream and/or an attribute bitstream included in the received point cloud data.
  • the Arithmetic decoder 13002 may decode a geometry bitstream based on an Arithmetic method.
  • the octree reconstruction processing unit 13003 based on the Occupancy code may reconstruct the decoded geometry into an octree based on the Occupancy code.
  • the surface model processing unit 13004 performs triangular reconstruction, up-sampling, voxelization, and/or a combination thereof for point cloud data based on a surface model method.
  • the following treatment can be performed.
  • the inverse quantization processing unit 13005 may inverse quantize point cloud data.
  • the metadata parser 13006 may parse metadata included in the received point cloud data, for example, a setting value.
  • the metadata parser 13006 may deliver metadata to each process of a geometry decoding process and/or an attribute decoding process. Each process according to embodiments may be performed based on necessary metadata.
  • the arithmetic decoder 13007 may decode the attribute bitstream of point cloud data based on an arithmetic method based on the reconstructed position value.
  • the inverse quantization processing unit 13008 may inverse quantize point cloud data.
  • the prediction/lifting/RAHT inverse transform processing unit 13009 may process point cloud data based on a prediction/lifting/RAHT method and/or a method according to a combination thereof.
  • the color inverse transform processing unit 13010 may inversely transform a color value of point cloud data.
  • the above-described processes may correspond to the point cloud decoder 10006 of FIG. 1 according to embodiments.
  • the renderer 13011 may render point cloud data.
  • the drawing is a diagram illustrating receiver equipment for providing Point Cloud content services according to embodiments.
  • Embodiments at the receiving side may be related to the Point Cloud content receiving device.
  • the Point Cloud content receiving device includes a receiving unit, a receiving processing unit, a metadata parser, an arithmetic decoder for the geometry bitstream of a point, an occupancy code-based octree reconstruction processing unit, a surface model processing unit, an inverse quantization processing unit, and a point location based on the reconstructed position value.
  • Point Cloud data that undergoes a series of processes of acquisition/encoding/transmission/decoding/rendering may be referred to as point cloud content data or point cloud video data.
  • Point Cloud Content Data may also be used as a concept including metadata or signaling information related to these Point Cloud data.
  • FIG. 14 shows an architecture for G-PCC-based point cloud data storage and streaming according to embodiments.
  • the embodiments provide a method for storing and streaming Point Cloud data that supports various services such as VR (Virtual Reality, Virtual Reality), AR (Augmented Reality, Augmented Reality), MR (Mixed Reality, Mixed Reality), and autonomous driving. to provide.
  • VR Virtual Reality, Virtual Reality
  • AR Augmented Reality
  • MR Mated Reality, Mixed Reality
  • autonomous driving to provide.
  • G-PCC Geometry-based Point Cloud Compression
  • Embodiments propose a method of effectively providing point cloud media/contents/data.
  • Point cloud In order to effectively provide media/contents/data, first, a point cloud can be acquired.
  • point cloud data may be acquired through the process of capturing, synthesizing, or creating a point cloud through one or more cameras.
  • point cloud data including the 3D position (x, y, z position values, etc.) of each point (hereinafter referred to as geometry) and the attributes of each point (color, reflectance, transparency, etc.) It can be obtained, and can be created as a PLY (Polygon File format or the Stanford Triangle format) file including the same.
  • PLY Polygon File format or the Stanford Triangle format
  • point cloud related metadata eg, metadata related to capture, etc.
  • the Point Cloud encoder performs a Geometry-based Point Cloud Compression (G-PCC) procedure, which performs a series of procedures such as prediction, transformation, quantization, and entropy coding, and the encoded data (encoded video/video information) is a bitstream. It can be output in (bitstream) format. This can be encoded by dividing into geometry and attributes as described later, and point cloud related metadata can be included in the bit stream. In this case, the output bitstream may include a geometry bitstream and/or an attribute bitstream.
  • G-PCC Geometry-based Point Cloud Compression
  • Encapsulation may encapsulate encoded point cloud data and/or point cloud related metadata in the form of a file or a segment for streaming.
  • the metadata related to the point cloud may be transmitted from a metadata processing unit.
  • the metadata processing unit may be included in the point cloud video encoder, or may be configured as a separate component/module.
  • the encapsulation processing unit may encapsulate the data in a file format such as ISOBMFF, or may process the data in the form of other DASH segments.
  • the encapsulation processor may include point cloud related metadata on a file format according to an embodiment. Point cloud metadata may be included in boxes of various levels in the ISOBMFF file format, for example, or may be included as data in separate tracks within the file.
  • the encapsulation processing unit may encapsulate the point cloud related metadata itself as a file.
  • the transmission processing unit may apply processing for transmission to the encapsulated point cloud data according to the file format.
  • the transmission processing unit may be included in the transmission unit or may be configured as a separate component/module.
  • the transmission processing unit can process point cloud data according to any transmission protocol.
  • the processing for transmission may include processing for transmission through a broadcasting network and processing for transmission through a broadband.
  • the transmission processing unit may receive not only the point cloud data, but also the point cloud related metadata from the metadata processing unit, and may apply processing for transmission to this.
  • the transmission unit may transmit the point cloud bitstream or the file/segment including the corresponding bitstream to the reception unit of the receiving device through a digital storage medium or a network.
  • processing according to any transmission protocol can be performed.
  • Data processed for transmission may be delivered through a broadcasting network and/or a broadband. These data may be delivered to the receiving side in an on-demand manner.
  • Digital storage media may include various storage media such as USB, SD, CD, DVD, Blu-ray, HDD, and SSD.
  • the transmission unit may include an element for generating a media file through a predetermined file format, and may include an element for transmission through a broadcast/communication network.
  • the receiver may extract the bitstream and transmit it to a decoding device.
  • the receiver may receive point cloud data transmitted by the point cloud data transmission device according to the embodiments. Depending on the transmitted channel, the receiver may receive point cloud data through a broadcasting network or may receive point cloud data through a broadband. Alternatively, point cloud video data can be received through a digital storage medium. The receiver may include a process of decoding the received data and rendering it according to a user's viewport.
  • the reception processing unit may perform processing according to a transmission protocol on the received point cloud data.
  • the receiving processing unit may be included in the receiving unit, or may be configured as a separate component/module.
  • the reception processing unit may perform the reverse process of the transmission processing unit described above so as to correspond to the transmission processing performed by the transmission side.
  • the receiving processing unit may transmit the acquired point cloud data to the decapsulation processing unit, and the acquired point cloud related metadata may be transmitted to the metadata parser.
  • the decapsulation processing unit may decapsulate the point cloud data in the form of a file transmitted from the reception processing unit.
  • the decapsulation processor may decapsulate files according to ISOBMFF or the like to obtain a point cloud bitstream or point cloud related metadata (or a separate metadata bitstream).
  • the acquired point cloud bitstream may be transmitted to the point cloud decoder, and the acquired point cloud related metadata (or metadata bitstream) may be transmitted to the metadata processing unit.
  • the point cloud bitstream may include the metadata (metadata bitstream).
  • the metadata processing unit may be included in the point cloud video decoder, or may be configured as a separate component/module.
  • the point cloud related metadata acquired by the decapsulation processing unit may be in the form of a box or track in a file format. If necessary, the decapsulation processing unit may receive metadata required for decapsulation from the metadata processing unit.
  • the point cloud related metadata may be transmitted to the point cloud decoder and used for a point cloud decoding procedure, or may be transmitted to a renderer and used for a point cloud rendering procedure.
  • the Point Cloud decoder may decode data by receiving the bitstream and performing an operation corresponding to the operation of the Point Cloud encoder.
  • the Point Cloud decoder can decode the Point Cloud data by dividing it into geometry and attributes, as described later.
  • the Point Cloud decoder can restore (decode) geometry from the geometry bitstream included in the input bitstream, and restore the attribute value based on the attribute bitstream included in the input bitstream and the restored geometry. You can (decode) it.
  • a point cloud may be restored by restoring the position of each point and attribute information of each point in 3D based on the location information according to the restored geometry and the (color) texture attribute according to the decoded attribute value.
  • the sensing/tracking unit obtains orientation information and/or user viewport information from the user or the receiving side and transmits it to the receiving unit and/or the transmitting unit.
  • the orientation information provides information on the position, angle, and movement of the user's head. It can be displayed or information about the location, angle, and movement of the device that the user is viewing. Based on this information, information on an area that the user is currently viewing in the 3D space, that is, user viewport information may be calculated.
  • the user viewport information may be information on a region currently viewed by the user through a device or an HMD in a 3D space.
  • a device such as a display may extract a viewport area based on orientation information and a vertical or horizontal FOV supported by the device.
  • Orientation or viewport information can be extracted or calculated at the receiving end.
  • the orientation or viewport information analyzed by the receiving side may be transmitted to the transmitting side through a feedback channel.
  • the receiving unit uses the orientation information acquired by the sensing/tracking unit and/or the viewport information indicating the area currently being viewed by the user, and efficiently extracts only the media data of the specific area, that is, the area indicated by the orientation information and/or the viewport information. It can be extracted or decoded.
  • the transmitter can efficiently encode only media data of a specific area, that is, an area indicated by orientation information and/or viewport information, or generate and transmit a file, using orientation information and/or viewport information acquired by the sensing/track unit. .
  • the renderer can render decoded Point Cloud data in 3D space.
  • the rendered video/image may be displayed through the display unit.
  • the user can view all or part of the rendered result through a VR/AR display or a general display.
  • the feedback process may include a process of transferring various feedback information that can be obtained during the rendering/display process to a transmitter or a decoder at a receiver. Interactivity in Point Cloud data consumption can be provided through the feedback process.
  • head orientation information, viewport information indicating an area currently viewed by the user, and the like may be transmitted in the feedback process.
  • the user may interact with those implemented in the VR/AR/MR/autonomous driving environment.In this case, information related to the interaction may be transmitted to the transmitting side or the service provider side in the feedback process. have.
  • the feedback process may not be performed.
  • the above-described feedback information is not only transmitted to the transmitting side, but may be consumed by the receiving side. That is, a decapsulation process, decoding, rendering process, etc. of the receiver may be performed using the above-described feedback information. For example, point cloud data for a region currently viewed by a user may be preferentially decapsulated, decoded, and rendered using orientation information and/or viewport information.
  • 15 shows point cloud data storage and transmission according to embodiments.
  • the drawing shows a point cloud data transmission apparatus according to embodiments.
  • Point Cloud data storage and transmission device is a Point Cloud acquisition unit (Point Cloud Acquisition), a Point Cloud encoding unit (Point Cloud Encoding), a file / segment encapsulation unit (File / Segment Encapsulation), and / or It includes a delivery part (Delivery).
  • Each configuration of the transmission device may be a module/unit/component/hardware/software/processor.
  • Point cloud geometry, attributes, auxiliary data, mesh data, etc. can be configured as separate streams or can be stored in different tracks in the file. Furthermore, it can be included in a separate segment.
  • the Point Cloud Acquisition acquires a point cloud.
  • point cloud data may be acquired through a process of capturing, synthesizing, or creating a point cloud through one or more cameras.
  • point cloud data including the 3D position (x, y, z position values, etc.) of each point (hereinafter referred to as geometry) and the attributes of each point (color, reflectance, transparency, etc.) It can be obtained, and can be created as a PLY (Polygon File format or the Stanford Triangle format) file including the same.
  • PLY Polygon File format or the Stanford Triangle format
  • point cloud related metadata eg, metadata related to capture, etc.
  • Point Cloud Encoding the Point Cloud Encoder performs a Geometry-based Point Cloud Compression (G-PCC) procedure, which performs a series of procedures such as prediction, transformation, quantization, and entropy coding, and the encoded data (
  • the encoded video/video information) may be output in the form of a bitstream. This can be encoded by dividing into geometry and attributes as described later, and point cloud related metadata can be included in the bit stream. In this case, the output bitstream may include a geometry bitstream and/or an attribute bitstream.
  • the point cloud encoding unit may receive metadata. Metadata represents metadata related to content for Point Cloud. For example, there may be initial viewing orientation metadata. The metadata indicates whether the point cloud data is data representing the front or the data representing the back.
  • the point cloud encoding unit may receive orientation information and/or viewport information. Point Cloud Encoding Unit Encoding may be performed based on metadata, orientation information, and/or viewport information.
  • the Point Cloud Encoding unit performs geometry compression, attribute compression, Auxiliary data compression, and Mesh data compression.
  • Geometry compression encodes point cloud geometry information. Geometry represents a point in three-dimensional space.
  • Attribute compression encodes the attributes of a point cloud.
  • An attribute represents one or more attributes. For example, there may be N attributes including attributes such as color and reflectance.
  • Auxiliary data compression encodes Auxiliary data associated with a point cloud.
  • Auxiliary data represents metadata about Point Cloud.
  • Mesh data compression encodes mesh data.
  • Mesh represents connection information between point clouds. For example, it may be triangular data.
  • the Point Cloud encoding unit encodes the geometry, attributes, auxiliary data, and mesh data of the point, which are information necessary to render the point.
  • the Point Cloud encoding unit may encode geometry, attributes, auxiliary data, and mesh data and deliver them as one bitstream.
  • the point cloud encoding unit may encode geometry, attributes, auxiliary data, and mesh data and transmit them as a plurality of bitstreams. Each operation of the point cloud encoding unit may be performed in parallel.
  • the file/segment encapsulation unit performs media track encapsulation and/or metadata track encapsulation.
  • the file/segment encapsulation unit creates a track for delivering the encoded geometry, encoded attributes, encoded auxiliary data, and encoded mesh data in a file format.
  • the bitstream including the encoded geometry, the bitstream including the encoded attribute, the bitstream including the encoded auxiliary data, and the bitstream including the encoded mesh data may be included in one or more tracks. .
  • the file/segment encapsulation unit encapsulates geometry, attributes, auxiliary data, and mesh data into one or more media tracks.
  • the file/segment encapsulation unit includes metadata in a media track or encapsulates the metadata in a separate metadata track.
  • the file/segment encapsulation unit encapsulates the point cloud stream(s) in the form of files and/or segments. When the point cloud stream(s) is encapsulated and delivered in the form of segment(s), it is delivered in the DASH format.
  • the file/segment encapsulation unit delivers the file when encapsulating the point cloud stream(s) in the form of a file.
  • the delivery unit may deliver a point cloud bitstream or a file/segment including the corresponding bitstream to a receiving unit of a receiving device through a digital storage medium or a network. For transmission, processing according to any transmission protocol can be performed. Data processed for transmission may be delivered through a broadcasting network and/or a broadband. These data may be delivered to the receiving side in an on-demand manner. Digital storage media may include various storage media such as USB, SD, CD, DVD, Blu-ray, HDD, and SSD.
  • the delivery unit may include an element for generating a media file through a predetermined file format, and may include an element for transmission through a broadcast/communication network. The delivery unit receives orientation information and/or viewport information from the reception unit.
  • the delivery unit may transmit the obtained orientation information and/or viewport information (or information selected by the user) to the file/segment encapsulation unit and/or the point cloud encoding unit.
  • the point cloud encoding unit may encode all point cloud data or the point cloud data indicated by the orientation information and/or the viewport information.
  • the file/segment encapsulation unit may encapsulate all point cloud data or the point cloud data indicated by the orientation information and/or the viewport information.
  • the delivery unit may deliver all point cloud data or the point cloud data indicated by the orientation information and/or the viewport information.
  • 16 shows a device for receiving point cloud data according to embodiments.
  • the drawing shows a device for receiving point cloud data.
  • the Point Cloud data receiving device includes a delivery client, a sensing/tracking unit, a file/segment decapsulation unit, and a point cloud decoding unit. ) And/or a Point Cloud rendering unit (Point Cloud Rendering), and a display.
  • Each configuration of the receiving device may be a module/unit/component/hardware/software/processor.
  • the delivery client may receive point cloud data, a point cloud bitstream, or a file/segment including the corresponding bitstream, transmitted by the point cloud data transmission device according to the embodiments.
  • the receiver may receive point cloud data through a broadcasting network or may receive point cloud data through a broadband.
  • point cloud video data can be received through a digital storage medium.
  • the receiver may include a process of decoding the received data and rendering it according to a user's viewport.
  • the reception processing unit may perform processing according to a transmission protocol on the received point cloud data.
  • the receiving processing unit may be included in the receiving unit, or may be configured as a separate component/module.
  • the reception processing unit may perform the reverse process of the transmission processing unit described above so as to correspond to the transmission processing performed by the transmission side.
  • the receiving processing unit may transmit the acquired point cloud data to the decapsulation processing unit, and the acquired point cloud related metadata may be transmitted to the metadata parser.
  • the sensing/tracking unit acquires orientation information and/or viewport information.
  • the sensing/tracking unit may transmit the obtained orientation information and/or viewport information to a delivery client, a file/segment decapsulation unit, and a point cloud decoding unit.
  • the delivery client may receive all point cloud data or point cloud data indicated by the orientation information and/or the viewport information based on the orientation information and/or the viewport information.
  • the file/segment decapsulation unit may decapsulate all point cloud data or decapsulate point cloud data indicated by orientation information and/or viewport information based on orientation information and/or viewport information.
  • the point cloud decoding unit may decode all point cloud data or decode point cloud data indicated by the orientation information and/or the viewport information, based on the orientation information and/or the viewport information.
  • the file/segment decapsulation unit performs media track decapsulation and/or metadata track decapsulation.
  • the decapsulation processing unit (file/segment decapsulation) may decapsulate the point cloud data in the form of a file transmitted from the reception processing unit.
  • the decapsulation processor may decapsulate files or segments according to ISOBMFF or the like to obtain a point cloud bitstream or point cloud related metadata (or a separate metadata bitstream).
  • the acquired point cloud bitstream may be transmitted to the point cloud decoder, and the acquired point cloud related metadata (or metadata bitstream) may be transmitted to the metadata processing unit.
  • the point cloud bitstream may include the metadata (metadata bitstream).
  • the metadata processing unit may be included in the point cloud video decoder, or may be configured as a separate component/module.
  • the point cloud related metadata acquired by the decapsulation processing unit may be in the form of a box or track in a file format. If necessary, the decapsulation processing unit may receive metadata required for decapsulation from the metadata processing unit.
  • the point cloud related metadata may be transmitted to the point cloud decoder and used for a point cloud decoding procedure, or may be transmitted to a renderer and used for a point cloud rendering procedure.
  • the Point Cloud Decoding unit performs geometry decompression, attribute decompression, Auxiliary data decompression, and/or mesh data decompression.
  • the Point Cloud decoder may decode data by receiving the bitstream and performing an operation corresponding to the operation of the Point Cloud encoder.
  • the Point Cloud decoder can decode the Point Cloud data by dividing it into geometry and attributes, as described later.
  • the Point Cloud decoder can restore (decode) geometry from the geometry bitstream included in the input bitstream, and restore the attribute value based on the attribute bitstream included in the input bitstream and the restored geometry. You can (decode) it.
  • a mesh may be reconstructed (decoded) based on the mesh bitstream included in the input bitstream and the restored geometry.
  • the point cloud can be restored by restoring the location of each point in 3D and the attribute information of each point.
  • Each operation of the point cloud decoding unit may be performed in parallel.
  • Geometry decompression decodes geometry data from the point cloud stream(s). Attribute decompression decodes attribute data from the point cloud stream(s). Auxiliary data decompression decodes the auxiliary data from the point cloud stream(s). Mesh data decompression decodes the mesh data from the point cloud stream(s).
  • Point Cloud Rendering restores the position of each point in the point cloud and the attributes of the point based on the decoded geometry, attributes, auxiliary data, and mesh data, and renders the point cloud data.
  • the point cloud rendering unit generates and renders mesh (connection) data between point clouds based on the restored geometry, the restored attributes, the restored auxiliary data, and/or the restored mesh data.
  • the point cloud rendering unit receives metadata from the file/segment encapsulation unit and/or the point cloud decoding unit.
  • the point cloud rendering unit may render point cloud data based on metadata according to an orientation or viewport.
  • the display displays the rendered result on an actual display device.
  • FIG. 17 shows an example of a structure capable of interworking with a method/device for transmitting and receiving point cloud data according to embodiments.
  • the structure according to the embodiments is a server 1760, a robot 1710, an autonomous vehicle 1720, an XR device 1730, a smartphone 1740, a home appliance 1750 and/or an HMD. At least one or more of 1770 is connected to the cloud network 1710.
  • a robot 1710, an autonomous vehicle 1720, an XR device 1730, a smartphone 1740, or a home appliance 1750 may be referred to as a device.
  • the XR device 1730 may correspond to a point cloud data (PCC) device according to embodiments or may be interlocked with a PCC device.
  • PCC point cloud data
  • the cloud network 1700 may constitute a part of a cloud computing infrastructure or may mean a network that exists in the cloud computing infrastructure.
  • the cloud network 1700 may be configured using a 3G network, a 4G or long term evolution (LTE) network, or a 5G network.
  • LTE long term evolution
  • the server 1760 includes at least one of a robot 1710, an autonomous vehicle 1720, an XR device 1730, a smartphone 1740, a home appliance 1750, and/or an HMD 1770, and a cloud network 1700.
  • the connected devices 1710 to 1770 may be connected through, and may help at least part of the processing of the connected devices.
  • the HMD (Head-Mount Display) 1770 represents one of types in which an XR device and/or a PCC device according to embodiments may be implemented.
  • the HMD type device according to the embodiments includes a communication unit, a control unit, a memory unit, an I/O unit, a sensor unit, and a power supply unit.
  • the devices 1710 to 1750 shown in FIG. 17 may be interlocked/coupled with the point cloud data transmission/reception apparatus according to the above-described embodiments.
  • the XR/PCC device 1730 is applied with PCC and/or XR (AR+VR) technology to provide a head-mount display (HMD), a head-up display (HUD) provided in a vehicle, a television, a mobile phone, a smart phone, It may be implemented as a computer, wearable device, home appliance, digital signage, vehicle, fixed robot or mobile robot.
  • HMD head-mount display
  • HUD head-up display
  • vehicle a television
  • mobile phone a smart phone
  • It may be implemented as a computer, wearable device, home appliance, digital signage, vehicle, fixed robot or mobile robot.
  • the XR/PCC device 1730 analyzes 3D point cloud data or image data acquired through various sensors or from an external device to generate positional data and attribute data for 3D points, thereby Information can be obtained, and the XR object to be output can be rendered and output.
  • the XR/PCC device 1730 may output an XR object including additional information on the recognized object in correspondence with the recognized object.
  • the autonomous vehicle 1720 may be implemented as a mobile robot, a vehicle, or an unmanned aerial vehicle by applying PCC technology and XR technology.
  • the autonomous driving vehicle 1720 to which the XR/PCC technology is applied may refer to an autonomous driving vehicle having a means for providing an XR image, an autonomous driving vehicle that is an object of control/interaction within the XR image.
  • the autonomous vehicle 1720 which is the object of control/interaction in the XR image, is distinguished from the XR device 1730 and may be interlocked with each other.
  • the autonomous vehicle 1720 having a means for providing an XR/PCC image may acquire sensor information from sensors including a camera, and may output an XR/PCC image generated based on the acquired sensor information.
  • the autonomous vehicle 1720 may provide an XR/PCC object corresponding to a real object or an object in a screen to the occupant by outputting an XR/PCC image with a HUD.
  • the XR/PCC object when the XR/PCC object is output to the HUD, at least a part of the XR/PCC object may be output to overlap the actual object facing the occupant's gaze.
  • the XR/PCC object when the XR/PCC object is output on a display provided inside the autonomous vehicle, at least a part of the XR/PCC object may be output to overlap the object in the screen.
  • the autonomous vehicle 1220 may output XR/PCC objects corresponding to objects such as lanes, other vehicles, traffic lights, traffic signs, motorcycles, pedestrians, and buildings.
  • VR Virtual Reality
  • AR Augmented Reality
  • MR Magnetic Reality
  • PCC Point Cloud Compression
  • VR technology is a display technology that provides objects or backgrounds in the real world only as CG images.
  • AR technology refers to a technology that shows a virtually created CG image on a real object image.
  • MR technology is similar to the AR technology described above in that virtual objects are mixed and combined in the real world.
  • real objects and virtual objects made from CG images are clear, and virtual objects are used in a form that complements the real objects, whereas in MR technology, the virtual objects are regarded as having the same characteristics as the real objects. It is distinct from technology. More specifically, for example, it is a hologram service to which the aforementioned MR technology is applied.
  • VR, AR, and MR technologies are sometimes referred to as XR (extended reality) technology rather than clearly distinguishing between them. Therefore, embodiments of the present invention are applicable to all of VR, AR, MR, and XR technologies.
  • One such technology can be applied to encoding/decoding based on PCC, V-PCC, and G-PCC technologies.
  • the PCC method/apparatus according to the embodiments may be applied to a vehicle providing an autonomous driving service.
  • Vehicles providing autonomous driving service are connected to PCC devices to enable wired/wireless communication.
  • the vehicle receives/processes AR/VR/PCC service related content data that can be provided together with the autonomous driving service. Can be transferred to.
  • the point cloud transmission/reception device may receive/process AR/VR/PCC service related content data according to a user input signal input through the user interface device and provide it to the user.
  • the vehicle or user interface device may receive a user input signal.
  • the user input signal may include a signal indicating an autonomous driving service.
  • FIG. 18 illustrates an example of rendering point cloud data according to embodiments.
  • Point cloud data may be expressed and/or rendered based on a Level of Details (LOD).
  • LOD refers to the level of detail. As the LOD value increases, the distance between points gets closer.
  • a method/apparatus refers to a method/device for transmitting point cloud data and/or a method/device for receiving point cloud data according to the embodiments.
  • the method/apparatus according to the embodiments provides a method for increasing the compression efficiency of attributes of Geometry-based Point Cloud Compression (G-PCC) for compressing 3D point cloud data.
  • G-PCC Geometry-based Point Cloud Compression
  • Point cloud data transmission method / apparatus may be referred to as an encoder, encoder, encoding, etc.
  • point cloud data reception method / apparatus is a decoder, decoder, decoding, etc. May be referred to.
  • the method/apparatus proposes a method of generating a neighboring point set based on a similar attribute in order to increase compression efficiency by changing a method of configuring a neighboring point set during the G-PCC attribute encoding/decoding process.
  • the method/apparatus proposes a method for generating a neighboring point set based on a similar attribute, a signaling method for supporting generation of a neighboring point set based on a similar attribute, and/or a signaling method for supporting such a method.
  • a point cloud (or point cloud data or point cloud content, etc.) according to embodiments may be composed of a set of points.
  • Each point according to the embodiments may include geometry information and attribute information.
  • Geometry information according to embodiments is 3D location (XYZ) information
  • attribute information according to embodiments is color (RGB, YUV, etc.) or/and/and reflection (Reflectance) value.
  • the G-PCC decoding process according to embodiments is a process of receiving an encoded geometry bitstream and an attribute bitstream, decoding the geometry, and decoding attribute information based on the geometry reconstructed through the decoding process. Can be configured.
  • the attribute information compression process may use a predictive transform technique, a lifting transform technique, or a RAHT technique.
  • the predictive transformation method and the lifting transformation method may divide and group points by level of detail (hereinafter referred to as LOD).
  • LOD generation process This is referred to as 1LOD generation process, and hereinafter, groups having different LODs may be referred to as LODl sets.
  • LOD0 is a set consisting of points with the largest distance between points, and as l increases, the distance between points belonging to LODl decreases.
  • FIG 19 shows an example of configuration of point cloud data and LOD according to embodiments.
  • the method/apparatus according to the embodiments may generate a set of points having the same LOD based on the LOD of the point cloud data.
  • LOD0 includes P0, P5, P4, P2,
  • LOD1 includes LOD0 plus P1, P6, P3, and
  • LOD2 includes LOD0, LOD1 plus P9, P8, P7.
  • the method/apparatus After generating the LODl set, the method/apparatus according to the embodiments selects X (>0) nearest neighbors in a group having the same or smaller LOD (the distance between nodes is large) based on the 2LODl set. It can be found and registered as a set of neighboring points in a predictor. X is the maximum number that can be set as a neighboring point and can be input as a user parameter.
  • a neighboring point of P3 belonging to LOD1 is found in LOD0 and LOD1.
  • the three nearest neighbor nodes can be P2 P4 P6. These three nodes are registered as a set of neighboring points to the predictor of P3.
  • Every point can have one predictor.
  • the property is predicted from neighboring points registered in the predictor.
  • the weights of each neighboring point can be normalized with the total sum of weights of the neighboring points.
  • the property can be predicted through the predictor.
  • An average of a value obtained by multiplying the properties of registered neighboring points by a weight may be used as a predicted result, or a specific point may be used as a predicted result.
  • the attribute value of the point and the residual of the attribute value predicted by the predictor of the point can be signaled to the receiver by encoding together with the method selected by the predictor.
  • the transmitted prediction method is decoded and attribute values can be predicted according to the method.
  • the attribute value can be restored.
  • the embodiments can be applied to both a transmitter and a receiver by the method for step 2 described above, that is, a method for configuring a set of neighboring points. Since the configuration of the neighboring point set predicts the attribute value based on the neighboring points and signals the residual with the predicted value, the predicted value differs depending on the criteria used to configure the neighboring point set, and the size of the residual value may vary. . Therefore, the method of configuring a set of neighboring points can have a great influence on the attribute compression efficiency of the point cloud.
  • the point cloud's geometry-based nearby relationship has a high probability of having similar properties, it is possible to construct a neighboring set based on the distance value when predicted by the predictor, but such a tendency is based on the characteristics of the point cloud content. Can appear a lot differently.
  • a point cloud captured by a 3D scanner has a relatively small distance between neighboring points and can be captured in a dense form. In this case, there may be a high probability of having similar properties according to distance. But not all. Depending on the characteristics of the captured object, the probability of having similar properties according to distance may vary.
  • the meaning of configuring a set of neighboring points based on a distance and predicting an attribute value through the configured points may not be significant.
  • the probability of having similar properties according to geometry-based adjacency may or may not be high according to the point cloud content characteristics. If a distance-based neighbor point set is configured for content where there is little relationship between geometry-based adjacency and similar attributes, the residual value with the predicted attribute value can be large, and the large residual value is encoded and transmitted as a bitstream. The size of the stream may increase.
  • Embodiments intend to propose a method of configuring a set of neighboring points that can increase attribute compression efficiency regardless of content characteristics. For example, we propose a method for generating a neighboring point set based on a similar attribute, a signaling scheme for supporting generation of a neighboring point set based on a similar attribute, and/or a signaling scheme for supporting such a method.
  • the generation of the neighboring point set is all performed in the PCC attribute encoding/decoding of the PCC encoder/decoder.
  • a predictive transformation technique or a lifting transformation technique is used in the attribute encoding/decoding process, a set of LODl can be generated and a set of neighboring points of the predictor can be generated based on the generated LODl set.
  • the method/device includes: 1) Molton order-based LOD generation, 2) Similar attribute-based neighbor point set generation method, 2-1) Attribute similarity measurement method, 2-2) Neighbor point search range setting method, 3) A neighboring point selection method, 4) an attribute information predictor and/or 5) a signaling method may be performed.
  • Each process according to the embodiments will be described in detail below.
  • Points in the point cloud may be changed to Molton codes based on x, y, and z position values, and may be sorted based on the changed Molton code values. LODs are generated based on the sorted points, and points in the LODl set may be sorted based on Molton order.
  • Points belonging to the LOD l set can be selected as neighboring points from the following two cases to generate a neighboring point set.
  • Embodiments make it possible to select neighboring point candidates based on similarity properties to generate a neighboring point set. Whether to generate a neighboring point set based on a distance or a similar property may be signaled to the decoder according to a method applied to the encoder.
  • the transmitter or receiver according to the embodiments of the present document provides an effect of increasing compression efficiency through a method of generating a neighbor point set based on a neighbor attribute.
  • the distance metric CIE94 defined in Euclidean Color Distance, Correlated Color Temperature, or CIE (Commission on Illumination) can be selectively used.
  • the method of measuring attribute similarity used in the encoder can be signaled to the decoder.
  • the method/apparatus according to the embodiments configures an LOD, which is a set of points of point cloud data.
  • LODs are arranged in Molton code order.
  • the method/apparatus according to the embodiments may find a point having a Molton code closest to a point included in the I-th LOD among points included in the 0-th LOD to the I-1 th LOD.
  • the search range e.g., points with the highest similarity to Px among 256 neighboring points, e.g., 3 are composed of a set of neighboring points of Px )can do.
  • Both the LOD l set and the LOD 0 ⁇ LOD l-1 set are arranged in Molton order.
  • the nearest point with the Molton code can be found from the points in the preceding order.
  • a set of neighboring points may be generated by comparing the points with points corresponding to the number of neighboring point search ranges in front and behind the point as the center.
  • the distance between points is not completely considered when generating a neighboring point set. Basically, it can be said that the neighboring point search range is set by reflecting the distance.
  • the search range of a neighboring point may be adjusted according to the LOD.
  • Other search ranges according to the LOD may be signaled to the decoder.
  • Embodiments may set a change rate of a search range that is changed according to the LOD.
  • Embodiments may signal the rate of change of the search range to the decoder. In this regard, it will be described in detail below.
  • the method/apparatus according to the embodiments can efficiently search for a neighboring point.
  • 21 shows an example of a search range level according to embodiments.
  • the method/apparatus according to the embodiments may perform the Molton code-based search range setting method as described above, or the octree-based search range setting method as follows, in relation to the neighbor point search range setting method.
  • the method/apparatus according to the embodiments may set a search range according to the search range level. For example, if the search range level is 1 based on the octree parent node, a neighboring point search range of up to 8 points may be set based on the octree. If the search range level is 3, a neighboring point search range of up to 8x8x8 points can be set.
  • the method/apparatus according to the embodiments compares the Molton codes to determine whether points are in the same parent node when the points are configured as octrees. You can check it.
  • the neighboring point search range may not be determined as a specific point-based +-range, but may be determined as the range of the upper parent node of the octree to which Px belongs based on the Molton code value of the point Px belonging to the LOD l set.
  • embodiments may set how many higher parent nodes of the octree to which the Px point belongs to the node of the search range level, and the value may be signaled to the decoder.
  • Embodiments may adjust the search range level according to the LOD. You can directly set each LOD, or you can set the ratio of the search range level.
  • the number of comparisons for generating a neighboring point set may vary according to the point distribution of the content.
  • the amount of calculation can be increased, but the amount of calculation is not increased (a calculation that checks whether a simple Molton code is within the range), and if the parent node is the same, it is more likely to be a neighbor node.
  • the accuracy of the range may be higher compared to the Molton code-based search range setting method.
  • Embodiments may select a neighboring point by comparing distances or attribute values of points in a predetermined neighboring point search range to construct a neighboring point set.
  • Embodiments may generate a neighboring point set by calculating a distance between points in a neighboring point search range and Px, and selecting points having the closest distance as many as the maximum number of neighboring point sets.
  • the maximum number of neighboring point sets applied to the encoder may be signaled to the decoder.
  • Embodiments may generate a neighboring point set by measuring the similarity attribute between points in the neighboring point search range and Px by a method selected from the similarity attribute measurement method, and selecting points with the highest similarity as many as the maximum number of neighboring point sets. .
  • the maximum number of neighboring point sets applied to the encoder may be signaled to the decoder.
  • embodiments may define a minimum attribute similarity threshold that can be registered in a neighboring point set, and according to the value, if it is smaller than the minimum attribute similarity threshold (if similarity is low), it cannot be registered as a neighboring point. .
  • the minimum attribute similarity threshold applied to the encoder may be signaled to the decoder.
  • direct coding may be performed instead of a residual value through prediction.
  • Embodiments may select N neighboring points based on distance, and among them, as many as the maximum number of neighboring point sets may be selected as neighboring points.
  • the number of neighboring points that are primarily selected based on distance may be signaled to the decoder.
  • the point cloud data transmission method may generate a neighboring point set by searching for a neighboring point set based on a parent node of an octree for an LOD.
  • the point cloud data transmission method may generate a neighboring point set based on similar properties of points included in the neighboring point set.
  • the method/apparatus according to the embodiments may efficiently set a neighbor point search range in consideration of a distance and/or attribute.
  • FIG. 22 shows an example of a process of encoding and/or decoding attribute information according to embodiments.
  • the transmitting device (encoder or encoder) and the receiving device (decoder or decoder) according to the embodiments include respective components according to the embodiments. According to embodiments, each of the following components may correspond to hardware, software, a processor, or a combination thereof.
  • the space divider 22000 receives PCC data (point cloud data) and divides the space of the PCC data.
  • the geometric information encoding unit 22001 (or geometric information encoder) encodes the geometric information of PCC data to generate a geometric information bitstream and/or reconstructed (restored) geometric information.
  • the attribute information encoding unit 22002 (or attribute information encoder) generates an attribute information bitstream by encoding attribute information of PCC data based on the reconstructed geometric information.
  • the spatial divider 22003 receives the geometric information bitstream and divides the space of the geometric information.
  • the geometric information decoding unit 22004 (or a geometric information decoder) decodes the geometric information to generate restored PCC data and/or restored geometric information.
  • the attribute information decoding unit 22005 decodes attribute information of the attribute information bitstream based on the restored geometric information.
  • the attribute information prediction unit according to embodiments will be described.
  • the figure is an overall block diagram of a PCC (Point Cloud Compression) data encoder and a decoder.
  • PCC Point Cloud Compression
  • Input data of an encoder may be PCC data.
  • the encoder according to embodiments may generate a geometric information bitstream and/or an attribute information bitstream by encoding PCC data (or point cloud data).
  • the input data of the decoder (decoder) according to the embodiments may be an encoded geometric information bitstream and/or an attribute information bitstream.
  • the decoder according to embodiments may generate reconstructed PCC data.
  • the attribute information prediction unit may be included or connected to the attribute information encoding unit of the encoder and the attribute information decoding unit of the decoder.
  • Encoding of the point cloud data transmission method may include encoding attribute information of the point cloud data, and encoding attribute information may include predicting attribute information.
  • FIG. 23 illustrates an example of a property information prediction unit of an encoder according to embodiments.
  • the attribute information prediction unit of the encoder includes each component according to the embodiments. According to embodiments, each of the following components may correspond to hardware, software, a processor, or a combination thereof.
  • the attribute information conversion unit 23000 receives attribute information of point cloud data and converts the attribute information.
  • the geometric information mapping unit 23001 (or the geometric information mapper) maps geometric information to attribute information based on the restored geometric information.
  • the residual attribute information conversion unit 23002 (or residual attribute information converter) converts the attribute information and/or the residual attribute information between the predicted attribute information.
  • the residual attribute information quantization unit 23003 (or residual attribute information quantizer) quantizes the residual attribute information.
  • the attribute information entropy encoder 23004 (or attribute information entropy encoder) entropy-encodes the attribute information to generate an attribute information bitstream.
  • the residual attribute information inverse quantization unit 23005 (or residual attribute information inverse quantizer) inverse quantizes the residual attribute information.
  • the residual attribute information inverse transform unit 23006 (or the residual attribute information inverse transformer) inversely transforms the residual attribute information.
  • the filtering unit 23007 adds attribute information and/or predicted attribute information, and filters the generated attribute information.
  • the memory 23008 stores the filtered attribute information.
  • the attribute information prediction unit 23009 predicts attribute information and generates predicted attribute information. A method of predicting attribute information will be described in detail below.
  • the drawing shows detailed operations of the attribute information encoding unit according to embodiments.
  • the attribute information prediction unit may be included or connected to the attribute information encoding unit.
  • FIG. 24 illustrates an example of a property information prediction unit of a decoder according to embodiments.
  • the attribute information prediction unit of the decoder includes each component according to the embodiments. According to embodiments, each of the following components may correspond to hardware, software, a processor, or a combination thereof.
  • the attribute information entropy decoder 24000 receives the attribute information bitstream and entropy decodes the attribute information.
  • the geometric information mapping unit 24001 maps geometric information to attribute information based on the restored geometric information.
  • the residual attribute information inverse quantization unit 24002 (or residual attribute information inverse quantizer) inverse quantizes the residual attribute information.
  • the residual attribute information inverse transform unit 24003 (or the residual attribute information inverse transformer) inversely transforms the residual attribute information.
  • the attribute information predictor 24004 (or attribute information predictor) predicts attribute information based on attribute information stored in the memory.
  • the filtering unit 24005 (or filter) filters data obtained by adding the inversely transformed residual attribute information and/or predicted attribute information.
  • the memory 240006 stores the filtered attribute information.
  • the attribute information inverse transform unit 24007 (or attribute information inverse converter) generates attribute information by inversely transforming attribute information stored in the memory.
  • the drawing is a detailed block diagram of an attribute information decoding unit (decoder) according to embodiments. For details of each block, refer to the PCC decoder according to the embodiments.
  • the attribute information prediction unit may be included or connected to the attribute information decoding unit.
  • the attribute information prediction unit may be included in both an encoder (transmitting device) and/or a decoder (receiving device).
  • FIG. 25 shows an example of a configuration diagram of an attribute information prediction unit according to embodiments.
  • the attribute information prediction unit includes each component according to the embodiments.
  • each of the following components may correspond to hardware, software, a processor, or a combination thereof.
  • the LOD configuration unit 25000 (or LOD configurator) generates (configuration) LODs for points of point cloud data and/or point cloud data based on attribute information and/or reconstructed location information (restored geometric information). )do.
  • the neighbor point set construction unit 25001 constructs (generates) a neighbor point set based on the LOD set.
  • the predictive transform/inverse transform unit 25002 (or predictive transform/inverse transform) performs predictive transform/inverse transform coding (attribute coding) on the neighboring point set.
  • the lifting transform/inverse transform unit 25003 (or lifting transform/inverse transformer) performs lifting transform/inverse transform coding (attribute coding) of the neighboring point set.
  • the attribute information prediction unit may include an LOD construction unit, a neighbor point set construction unit, a prediction transformation/inverse transformation unit, and a lifting transformation/inverse transformation unit.
  • the attribute information prediction unit corresponds to a prediction/lifting conversion processing unit according to embodiments, and for details, refer to prediction conversion according to embodiments and lifting conversion according to embodiments.
  • the method/apparatus according to the embodiments may provide a neighbor point set construction unit and a prediction transform/inverse transform unit of the attribute information prediction unit.
  • the neighbor point set configuration unit has a neighbor point search range setting method (neighbour_search_range_type), a range to search for a neighbor point is set according to the selection method, and the applied method may be transmitted to the decoder.
  • the neighbor point search range setting method may include a Molton code-based search range setting method and an octree-based search range setting method.
  • the neighbor point set configuration unit has a neighbor point search range (neighbour_search_range), and a range to search for a neighbor point is set according to a method for setting the neighbor point search range.
  • the search range may be set for each LOD (neighbour_search_range[idx]), or may be set to be changed at a specific rate for each LOD (neighbor_search_range_rate_per_lod).
  • the neighbor point set configuration unit has a neighbor point selection method (neighbour_selection_type), selects a neighbor point according to the selection method, and the applied method may be transmitted to the decoder.
  • the neighbor point selection method may include a distance-based method, an attribute-based method, and a distance + attribute-based method.
  • the neighbor point set configuration unit has an attribute similarity measurement method (neighbour_attr_difference_method) when selecting a neighboring point in an attribute-based or distance+attribute-based method (), and measures attribute similarity between points according to the selected method.
  • the point is selected and the applied method can be transmitted to the decoder.
  • Methods for measuring attribute similarity may include Euclidean Color Distance, Correlated Color Temperature, and CIE94. This method is an example, and a method that performs the same or similar function may be used.
  • the neighbor point set configuration unit When selecting a neighbor point based on a distance + attribute method, the neighbor point set configuration unit according to embodiments has the number of neighbor points (neighbour_attr_1st_phase_num_of_points) that are primarily selected based on the distance, and may be transmitted to the decoder.
  • a level of detail is generated based on the attribute information of the point cloud data and the reconstructed geometry information, and a set of neighboring points is determined based on the LOD. It can be generated, and attribute coding for a set of neighboring points can be performed.
  • the method/apparatus according to the embodiments may improve encoding/decoding performance of point cloud data.
  • 26 shows an example of a structure of point cloud data according to embodiments.
  • Point cloud data may have a bitstream form as shown in the drawing.
  • the point cloud data may include a sequence parameter set (SPS), a geometry parameter set (GPS), an attribute parameter set (APS), and a tile parameter set (TPS) including signaling information according to embodiments.
  • Point cloud data may include one or more geometry and/or attributes.
  • the point cloud data may include geometry and/or attributes in units of one or more slices.
  • the geometry may have a structure of a geometry slice header and geometry slice data.
  • the TPS including signaling information is Tile(0). It may include tile_bounding_box_xyz0, Tile(0)_tile_bounding_box_whd, and the like.
  • the geometry may include geom_geom_parameter_set_id, geom_tile_id, geom_slice_id, geomBoxOrigin, geom_box_log2_scale, geom_max_node_size_log2, geom_num_points, and the like.
  • a method/apparatus according to the embodiments may signal related information to add/perform an operation of the embodiments.
  • the signaling information according to embodiments of the present invention may be used at a transmitting end or a receiving end.
  • Each abbreviation means: Each abbreviation may be referred to by another term within the scope of its equivalent meaning.
  • SPS Sequence Parameter Set
  • GPS Geometry Parameter Set
  • APS Attribute Parameter Set
  • TPS Tile Parameter Set
  • the method/apparatus according to the embodiments may signal by adding option information related to generation of a neighboring point set and prediction/lifting transformation to the APS.
  • the method/apparatus according to the embodiments provides a tile or a slice so that the point cloud can be divided and processed by regions.
  • the method/apparatus according to the embodiments sets a different neighbor point set generation option for each area when dividing by area, so that the complexity is low, and the reliability of the result is slightly lower, or conversely, the selection method with high complexity but high reliability is selected. Can provide.
  • the method/apparatus according to the embodiments may be set differently according to the processing capacity of the receiver.
  • the method/apparatus according to the embodiments may apply a different neighbor point set generation option for each tile.
  • the method/apparatus may apply a different neighbor point set generation option for each slice.
  • the method/apparatus according to the embodiments may signal by adding option information related to generation of a neighboring point set and prediction/lifting transformation to a TPS or an Attr for each slice.
  • FIG. 27 illustrates an example syntax of information related to a neighbor point set generation option according to embodiments.
  • the method/apparatus according to the embodiments may include information related to the neighbor point set generation option in the attribute parameter set.
  • a description of each parameter (or signaling information) according to embodiments may be as follows.
  • aps_attr_paremeter_set_id represents the identifier of the APS attribute parameter set.
  • aps_seq_parameter_set_id represents the identifier of the ASP sequence parameter set.
  • Attr_coding_type represents the type of attribute coding. Prediction (prediction) related parameters may be signaled according to the attribute coding type.
  • num_pred_nearest_neighbors represents the number of prediction-related near neighbors.
  • the method/apparatus according to the embodiments may signal by adding a neighboring point set and option information related to prediction/lifting transformation to the APS.
  • Neighbour_search_range The number of neighboring points to the left or right of the list, or the level difference of the upper parent node for setting the search range in the octree may be specified according to the method of setting the neighboring point search range.
  • Neighbour_search_range_rate_per_lod As the LOD decreases, the% of the range that is changed may be specified.
  • Neighbour_attr_min_similarity_threshold A minimum attribute similarity threshold of a neighboring point may be specified.
  • Neighbour_attr_1st_phase_num_of_points When selecting a neighboring point based on a distance + attribute, the number of neighboring points that are primarily selected based on a distance may be specified.
  • Aps_attr_parameter_set_id An identifier for an APS for reference by other syntax elements may be provided.
  • the value of aps_attr_parameter_set_id may have a range of 0 to 15 (inclusive) (provides an identifier for the APS for reference by other syntax elements.
  • the value of aps_attr_parameter_set_id shall be in the range of 0 to 15, inclusive).
  • Aps_seq_parameter_set_id represents a value of sps_seq_parameter_set_id for active SPS.
  • the value of aps_seq_parameter_set_id may have a range of 0 to 15 (inclusive) (specifies the value of sps_seq_parameter_set_id for the active SPS.
  • the value of aps_seq_parameter_set_id shall be in the range of 0 to 15, inclusive).
  • Attr_coding_type Represents a coding type for an attribute for a given value of attr_coding_type.
  • the value of attr_coding_type may be 0, 1, or 2 in bitstreams.
  • Other values of attr_coding_type may be reserved for future use by ISO/IEC. Decoders can ignore reserved values of attr_coding_type.
  • 0 Predicting weight lifting
  • 1 Region Adaptive Hierarchical Transferm (RAHT)
  • 2 Fixed weight lifting (indicates that the coding type for the attribute in Table 7 2Table 7 2 for the given value of attr_coding_type .
  • the value of attr_coding_type shall be equal to 0, 1, or 2 in bitstreams conforming to this version of this Specification.Other values of attr_coding_type are reserved for future use by ISO/IEC.Decoders conforming to this version of this Specification shall ignore reserved values of attr_coding_type.
  • 0 Predicting weight lifting
  • 1 Region Adaptive Hierarchical Transferm (RAHT)
  • 2 Fixed weight lifting
  • numberOfNearestNeighboursInPrediction may be in the range of 1 to xx (specifies the maximum number of nearest neighbors to be used for prediction.
  • the value of numberOfNearestNeighboursInPrediction shall be in the range of 1 to xx).
  • Max_num_direct_predictors represents the maximum number of a predictor used for direct prediction.
  • the value of max_num_direct_predictors may have a range of 0 to num_pred_nearest_neighbours.
  • Lifting_search_range indicates a search range for lifting (specifies search range for the lifting).
  • Quant_step_size Represents a quantization step size for a 1 st component of the lifting_quant_step_size attribute according to embodiments.
  • the value of quant_step_size may be in the range of 1 to xx (specifies the quantization step size for the 1st component of the attribute.
  • the value of quant_step_size shall be in the range of 1 to xx).
  • the lifting_quant_step_size_chroma attribute When the lifting_quant_step_size_chroma attribute according to embodiments is a color, it indicates the quantization step size for the chroma component of the attribute.
  • the value of quant_step_size_chroma may have a range of 1 to xx (specifies the quantization step size for the chroma component of the attribute when the attribute is colour.
  • the value of quant_step_size_chroma shall be in the range of 1 to xx).
  • Quant_step_size_chroma lod_binary_tree_enabled_flag specifies whether binary tree is enable or not for the log generation.
  • num_detail_levels_minus1 Represents the number of levels of details for num_detail_levels_minus1 attribute coding according to embodiments.
  • the value of num_detail_levels_minus1 may have a range of 0 to xx (specifies the number of levels of detail for the attribute coding.
  • the value of num_detail_levels_minus1 shall be in the range of 0 to xx).
  • Sampling_distance_squared [idx] represents a square of a sampling distance for idx according to embodiments.
  • the value of sampling_distance_squared[] may have a range of 0 to xx (specifies the square of the sampling distance for idx.
  • the value of sampling_distance_squared[] shall be in the range of 0 to xx).
  • Adaptive_prediction_threshold specifies the threshold of prediction.
  • the value of depthRAHT may have a range of 1 to xx (specifies the number of levels of detail for RAHT.
  • the value of depthRAHT shall be in the range of 1 to xx).
  • Raht_binarylevel_threshold represents a level of detail for cutting out a RAHT coefficient.
  • the value of binaryLevelThresholdRAHT may be in the range of 0 to xx (specifies the levels of detail to cut out the RAHT coefficient.
  • the value of binaryLevelThresholdRAHT shall be in the range of 0 to xx).
  • Quant_step_size Represents a quantization step size for a 1 st component of the raht_quant_step_size attribute according to embodiments.
  • the value of quant_step_size may be in the range of 1 to xx (specifies the quantization step size for the 1st component of the attribute.
  • the value of quant_step_size shall be in the range of 1to xx).
  • aps_extension_present_flag When aps_extension_present_flag according to embodiments is 1, it indicates that the aps_extension_data syntax structure exists in the APS RBSP syntax structure. When aps_extension_present_flag is 0, it indicates that this syntax structure does not exist. If not present, the value of aps_extension_present_flag can be assumed to be equal to 0 (equal to 1 specifies that the aps_extension_data syntax structure is present in the APS RBSP syntax structure.aps_extension_present_flag equal to 0 specifies that this syntax structure is not present. When not present, the value of aps_ extension_present_flag is inferred to be equal to 0).
  • Decoders conforming to a profile can have any value of aps_extension_data_flag according to embodiments. Its presence and value do not affect decoder conformance to profiles. Decoders conforming to a profile.
  • the method/device according to the embodiments may include information related to the neighbor point set generation option in the Tile parameter set.
  • the method/apparatus according to the embodiments may signal by adding the neighbor point set and option information related to prediction/lifting transformation to the TPS.
  • num_tiles may be 0 (specifies the number of tiles signaled for the bitstream.When not present, num_tiles is inferred to be 0).
  • tile_bounding_box_offset_x[ 0] may be sps_bounding_box_offset_x (indicates the x offset of the i-th tile in the cartesian coordinates.
  • tile_bounding_box_offset_x[ 0] is inferred to be sps_bounding_box_offset_x).
  • tile_bounding_box_offset_y[i] Represents the y offset of the i-th tile in the tile_bounding_box_offset_y[i] coordinate system according to embodiments.
  • the value of tile_bounding_box_offset_y[ 0] may be sps_bounding_box_offset_y (indicates indicates the y offset of the i-th tile in the cartesian coordinates.
  • the value of tile_bounding_box_offset_y[ 0] is inferred to be sps_bounding_box_offset_y) .
  • tile_bounding_box_offset_z[ 0] may be sps_bounding_box_offset_z (indicates indicates the z offset of the i-th tile in the Cartesian coordinates.
  • the value of tile_bounding_box_offset_z[ 0] is inferred to be sps_bounding_box_offset_z).
  • tile_bounding_box_scale_factor[ 0] may be sps_bounding_box_scale_factor (indicates the scale factor the i-th tile in the Cartesian coordinates.
  • the value of tile_bounding_box_scale_factor[ 0] is inferred to be sps_bounding_box_scale_factor).
  • tile_bounding_box_size_width[ 0] may be sps_bounding_box_size_width (indicates the width of the i-th tile in the Cartesian coordinates.
  • the value of tile_bounding_box_size_width[ 0] is inferred to be sps_bounding_box_size_width).
  • tile_bounding_box_size_height[ 0] may be sps_bounding_box_size_height (indicates the height of the i-th tile in the Cartesian coordinates.
  • the value of tile_bounding_box_size_height[ 0] is inferred to be sps_bounding_box_size_height).
  • tile_bounding_box_size_depth[ 0] may be sps_bounding_box_size_depth (indicates the depth of the i-th tile in the Cartesian coordinates.
  • the value of tile_bounding_box_size_depth[ 0] is inferred to be sps_bounding_box_size_depth).
  • 29 illustrates an example of information related to a neighbor point set generation option according to embodiments.
  • the method/apparatus according to the embodiments may include information related to the neighbor point set generation option in the Attribute slice header.
  • Option information related to generation of a neighboring point set and prediction/lifting transformation may be added to the slice header of Attr for signaling.
  • Abh_attr_parameter_set_id indicates the value of aps_attr_parameter_set_id of the active APS (specifies the value of the aps_attr_parameter_set_id of the active APS).
  • abh_attr_sps_attr_idx Represents an attribute set in the abh_attr_sps_attr_idx active SPS according to embodiments.
  • the value of abh_attr_sps_attr_idx may have a range of 0 to sps_num_attribute_sets in the active SPS (specifies the attribute set in the active SPS.
  • the value of abh_attr_sps_attr_idx shall be in the range of 0 to sps_num_attribute_sets in the active SPS).
  • the method/device according to the embodiments indicates information related to encoding/decoding of point cloud data, and based on the signaling information, the method/device according to the embodiments is The operation can be performed.
  • FIG. 30 shows a PCC encoder according to embodiments.
  • the PCC encoder (or point cloud data transmission apparatus, encoder) according to the embodiments may include each component according to the embodiments.
  • Each component may correspond to hardware, software, processor, and/or a combination thereof.
  • the space divider 30000 (or space divider) divides PCC data (point cloud data) into space.
  • the geometry information encoding unit 30001 (or geometry information encoder) encodes the geometry information to generate a geometry information bitstream and/or reconstructed geometry information.
  • the attribute information encoder 30002 (or attribute information encoder) encodes attribute information to generate an attribute information bitstream.
  • PCC encoding may perform a process similar to the diagram of the diagram in the PCC encoder.
  • the PCC encoder may be composed of a geometric information encoder and/and an attribute information encoder.
  • the geometry coding according to the embodiments corresponds to the geometric information encoder according to the embodiments
  • the attribute coding according to the embodiments corresponds to the attribute information encoder according to the embodiments.
  • both geometry and geometric information are referred to as geometric information below.
  • the PCC data according to embodiments may be composed of geometric information or/and attribute information of a point.
  • Attribute information is obtained from one or more sensors, such as a vector representing the color of the point (R, G, B) or/and the brightness value or/and the reflection coefficient of the lidar or/and the temperature value obtained from the thermal imaging camera. It can be a vector of one value.
  • the spatial division unit may divide the input PCC data into at least one 3D block.
  • the block may mean a tile group, a tile, a slice, or a coding unit (CU), a prediction unit (PU), or a transformation unit (TU).
  • the partitioning may be performed based on at least one of an octree, a quadtree, a binary tree, a triple tree, and a k-d tree. Alternatively, it can be divided into blocks of a predetermined horizontal and vertical height. Alternatively, it can be divided by selectively determining various positions and sizes of blocks. Corresponding information may be entropy-encoded and transmitted to a decoder.
  • the geometric information encoder generates an encoded geometric information bitstream and reconstructed geometric information from the received geometric information.
  • the generated bitstream may be transmitted to the PCC decoder.
  • the generated reconstructed geometric information may be input to the attribute information encoding unit.
  • the attribute information encoding unit receives the received attribute information and generates an attribute information bitstream.
  • the generated attribute information bitstream may be transmitted to the PCC decoder.
  • 31 shows an example of a geometric information encoder according to embodiments.
  • the geometric information encoder includes each component according to the embodiments.
  • Each component may correspond to hardware, software, processor, and/or a combination thereof.
  • the coordinate system conversion unit 31000 receives geometric information and converts the coordinate system of the geometric information.
  • the geometric information conversion quantization unit 31001 (or the geometric information conversion quantizer) converts and quantizes the geometric information.
  • the residual geometric information quantization unit 3102 (or residual geometric information quantizer) quantizes the geometric information and/or the residual geometric information between the predicted geometric information.
  • the geometric information entropy encoder 31003 (or the geometric information entropy encoder) entropy-encodes the geometric information to generate a geometric information bitstream.
  • the residual geometric information inverse quantization unit 3104 (or residual geometric information inverse quantizer) inverse quantizes the residual geometric information.
  • the filtering unit 31005 (or filter) filters data obtained by summing residual geometric information and/or predicted geometric information.
  • the memory 31006 stores the filtered geometric information and generates reconstructed geometric information.
  • the geometric information predictor 31007 (or geometric information predictor) predicts geometric information based on the geometric information stored in the memory.
  • the PCC encoder may include a geometric information encoder and a property information encoder.
  • the geometric information encoding unit may include a coordinate system transforming unit, a geometric information transforming quantization unit, a residual geometric information quantizing unit, a geometric information entropy encoding unit, a residual geometric information inverse quantizing unit, a memory, and a geometric information predicting unit.
  • the coordinate conversion unit according to the embodiments corresponds to the coordinate system conversion unit of the geometric information encoder according to the embodiments, and a quantization processing unit, a voxelization processing unit, an octree code generation unit, and a surface model processing unit are combined to transform geometric information according to the embodiments. It corresponds to wealth.
  • the intra/inter coding processing unit according to the embodiments corresponds to the geometric information prediction unit according to the embodiments, and the Arithmetic coder corresponds to the geometric information entropy coding unit according to the embodiments. Specific operations according to the embodiments will be described below.
  • the coordinate system conversion unit may receive geometric information as an input and convert it into a coordinate system different from the existing coordinate system. Alternatively, the coordinate system transformation may not be performed. The geometric information converted by the coordinate system may be input to the geometric information conversion quantization unit.
  • Whether the coordinate system is transformed and the coordinate system information may be signaled in units such as a sequence, frame, tile, slice, or block, or whether the coordinate system of neighboring blocks is transformed or not , It can be derived using the location of the unit, and the distance between the unit and the origin.
  • the coordinate system information to be converted may be signaled in units such as sequence, frame, tile, slice, block, etc. It can be derived using the size, number of points, quantization value, block division depth, unit location, and distance between the unit and the origin.
  • the geometric information transform quantization unit receives geometric information as input, applies one or more transforms such as position transform or/and rotation transform, divides the geometric information by a quantization value, and quantizes the transformed quantized geometric information. .
  • the transformed quantized geometric information may be input to a geometric information entropy encoding unit and a residual geometric information quantizing unit.
  • the geometric information prediction unit predicts geometric information through geometric information of points in a memory and generates predicted geometric information.
  • the prediction information used for prediction may be encoded by performing entropy encoding.
  • the residual geometric information quantization unit receives residual geometric information obtained by differentiating the transformed-quantized geometric information and the predicted geometric information, and quantizes it into a quantized value to generate quantized residual geometric information.
  • Quantized residual geometric information may be input to a geometric information entropy encoding unit and a residual geometric information inverse quantization unit.
  • the geometric information entropy encoding unit may receive quantized residual geometric information and perform entropy encoding.
  • Entropy coding may use various coding methods such as Exponential Golomb, Context-Adaptive Variable Length Coding (CAVLC), and Context-Adaptive Binary Arithmetic Coding (CABAC).
  • the residual geometric information inverse quantization unit receives the quantized residual geometric information and restores the residual geometric information by scaling the quantized value.
  • the restored residual geometric information may be restored as geometric information in addition to the predicted geometric information and stored in a memory.
  • the filtering unit may perform filtering on the reconstructed geometric information.
  • the filtering unit may include a deblocking filter, an offset correction unit, and an ALF.
  • the memory may store geometric information calculated through a filtering unit.
  • the stored geometric information may be provided to the geometric information prediction unit when performing prediction.
  • the attribute information encoder according to the embodiments may include each component according to the embodiments.
  • Each component may correspond to hardware, software, processor, and/or a combination thereof.
  • the attribute characteristic conversion unit 32000 receives attribute information and converts the attribute of the attribute information.
  • the geometric information mapping unit 32001 maps geometric information to attribute information based on the restored geometric information.
  • the attribute information conversion unit 32002 (or attribute information converter) converts attribute information.
  • the attribute information quantization unit 32003 (or attribute information quantizer) quantizes attribute information.
  • the attribute information entropy encoding unit 32004 (or attribute information entropy encoder) entropy-encodes attribute information to generate an attribute information bitstream.
  • the PCC encoder may include a geometry information encoder and a property information encoder.
  • the attribute information encoder may generate the attribute information bitstream by performing a process similar to that of the diagram in the drawing.
  • the attribute information encoder includes an attribute characteristic transformation unit, a geometric information mapping unit, a transformation unit, a quantization unit, an entropy encoding unit, an inverse quantization unit, an inverse transformation unit, a memory, an attribute information prediction unit, etc. Can include.
  • the color conversion processing unit according to the embodiments corresponds to the attribute information conversion unit of the attribute information encoder according to the embodiments, and the attribute conversion processing unit corresponds to the geometric information mapping unit according to the embodiments.
  • the prediction/lifting/RAHT conversion processing unit according to the embodiments separates and expresses the attribute information prediction unit, the vehicle attribute information conversion unit, and the residual attribute information quantization unit according to the embodiments.
  • the Arithmetic coder according to the embodiments corresponds to the attribute information entropy encoding unit according to the embodiments. Details will be described below.
  • the attribute characteristic conversion unit may convert a characteristic of the received attribute information. For example, if the attribute information includes color information, the attribute characteristic conversion unit may convert the color space of the attribute information.
  • the converted attribute information may be input to the geometric information mapping unit. Alternatively, it may be input to the geometric information mapping unit without conversion.
  • the geometric information mapping unit maps the attribute information received from the attribute information conversion unit and the received restored geometric information to reconstruct attribute information.
  • the attribute information reconstruction may derive an attribute value based on attribute information of one or a plurality of points based on the restored geometric information.
  • the reconstructed attribute information may be input to the residual attribute information conversion unit by being differentiated from the predicted attribute information generated by the attribute information prediction unit.
  • the residual attribute information conversion unit may convert a residual 3D block including the received residual attribute information using a transformation type such as DCT, DST, DST, SADCT, RAHT, or the like.
  • the converted residual attribute information may be input to the residual attribute information quantization unit.
  • the residual attribute information may be input to the quantization unit without performing transformation.
  • the transformation type may be transmitted to a decoder by performing entropy encoding in an entropy encoder.
  • the residual attribute information quantization unit generates transform quantized residual attribute information based on the quantized value of the received transformed residual attribute information.
  • the transform quantized residual attribute information may be input to the attribute information entropy encoding unit and the residual attribute inverse quantization unit.
  • the attribute information entropy encoder may receive transform quantized residual attribute information and perform entropy encoding.
  • Entropy coding may use various coding methods such as Exponential Golomb, Context-Adaptive Variable Length Coding (CAVLC), and Context-Adaptive Binary Arithmetic Coding (CABAC).
  • the residual attribute inverse quantization unit receives transformed quantized residual attribute information and generates transformed residual attribute information based on a quantization value.
  • the generated transform residual attribute information may be input to a residual attribute inverse transform unit.
  • the inverse residual attribute transform unit may inverse transform a residual 3D block including the received transform residual attribute information using a transform type such as DCT, DST, DST, SADCT, RAHT, or the like.
  • the inversely transformed residual attribute information may be combined with predicted attribute information input from the attribute information predictor to generate restored attribute information.
  • the reconstructed attribute information can be generated by directly adding the predicted attribute information without performing inverse transformation.
  • the filtering unit may include a deblocking filter, an offset correction unit, an adaptive loop filter (ALF), and the like.
  • the filtering unit may perform filtering on the restored attribute information. Filtering is filtering on geometric information (XYZ) instead of attribute information (RGB, etc.).
  • the filtering algorithm can be used as it is, only the input is different.
  • the memory according to the embodiments may store attribute information calculated through the filtering unit.
  • the stored attribute information may be provided to the attribute information predictor when performing prediction.
  • the attribute information predictor generates predicted attribute information based on attribute information of points in a memory.
  • the prediction information may be encoded by performing entropy encoding.
  • the PCC decoder includes each component according to the embodiments.
  • Each component may correspond to hardware, software, processor, and/or a combination thereof.
  • the geometry information decoding unit 33000 receives the geometry information bitstream, decodes the geometry information, and generates recovered PCC data and/or recovered geometry information.
  • the attribute information decoding unit 33001 receives the geometry information bitstream, decodes attribute information based on the restored geometry information, and generates recovered PCC data.
  • PCC decoding point cloud data decoder, decoding, reception method/apparatus
  • PCC decoding may perform a process similar to the diagram of the diagram in the PCC decoder.
  • the PCC decoder may include a geometric information decoder and an attribute information decoder.
  • the spatial division unit may divide a space based on division information provided from an encoder or derived from a decoder.
  • the geometry information decoder restores geometry information by decoding an input geometry information bitstream.
  • the restored geometric information may be input to the attribute information decoder.
  • the attribute information decoder receives the received attribute information bitstream and restored geometric information received from the geometry information decoder and restores attribute information.
  • the restored attribute information may consist of restored PCC data together with the restored geometric information.
  • the geometric information decoder includes each component according to the embodiments.
  • Each component may correspond to hardware, software, processor, and/or a combination thereof.
  • a geometric information entropy decoder 34000 receives a geometric information bitstream and entropy decodes the geometric information.
  • the residual geometric information inverse quantization unit 34001 (or the residual geometric information inverse quantizer) inverse quantizes the residual geometric information.
  • the geometric information predictor 3402 (or geometric information predictor) predicts geometric information based on the geometric information stored in the memory.
  • the filtering unit 34403 (or filter) filters data obtained by summing the predicted geometric information and residual geometric information.
  • the memory 34004 stores geometric information.
  • the coordinate system inverse transform unit 3405 (or coordinate system inverse transform unit) generates geometric information by inversely transforming the coordinate system of the geometric information.
  • the PCC decoder may include a geometry information decoder and an attribute information decoder.
  • the geometry information decoder can receive the encoded geometry information bitstream and perform the same process as in the diagram in the drawing to restore the geometry information.
  • the geometry information decoder may include a geometry information entropy decoding unit, a residual geometry information inverse quantization unit, a geometry information prediction unit, and an inverse coordinate system transform unit.
  • the Arithmetic decoder corresponds to the geometric information decoder according to the embodiments, the geometric information entropy decoding unit, and the oct group reconstruction processing unit based on the occupancy code, the surface model processing unit, and the inverse quantization processing unit It corresponds to the inverse quantization part.
  • the geometric information entropy decoder may perform entropy decoding on an input bitstream. For example, for entropy decoding, various methods such as Exponential Golomb, Context-Adaptive Variable Length Coding (CAVLC), and Context-Adaptive Binary Arithmetic Coding (CABAC) may be applied.
  • the geometric information entropy decoder may decode information related to geometric information prediction performed by the encoding apparatus. Quantized residual geometric information generated through entropy decoding may be input to the residual geometric information inverse quantization unit.
  • the residual geometric information inverse quantization unit may generate residual geometric information by performing inverse quantization based on a quantization parameter and the received quantized residual geometric information.
  • the geometric information prediction unit may generate predicted geometric information based on information related to generation of predicted geometric information provided from the geometric information entropy decoder and previously decoded geometric information provided from a memory.
  • the geometric information prediction unit may include an inter prediction unit and an intra prediction unit.
  • the inter prediction unit uses information required for inter prediction of the current prediction unit provided by the encoding device, and determines the current prediction unit based on information included in at least one of a space before or after the current space including the current prediction unit. Inter prediction can be performed.
  • the intra prediction unit may generate predicted geometric information based on geometric information of a point in the current space.
  • intra prediction may be performed based on intra prediction mode information of the prediction unit provided by the encoding device.
  • the reconstructed geometric information may be generated by adding the reconstructed residual geometric information to the predicted geometric information.
  • the reconstructed geometric information according to the embodiments may be provided to the filtering unit.
  • the filtering unit may perform filtering based on the filtering-related information provided from the decoder or the characteristics of the reconstructed geometric information derived from the decoder.
  • the memory may store the reconstructed geometric information calculated through the filtering unit.
  • the inverse coordinate system transform unit may perform inverse coordinate system transformation based on information related to coordinate system transformation provided from the geometric information entropy decoding unit and restored geometric information stored in a memory.
  • 35 shows an example of an attribute information decoder according to embodiments.
  • Each component according to embodiments of the attribute information decoder according to the embodiments is as follows. Each component may correspond to hardware, software, processor, and/or a combination thereof.
  • the attribute information entropy decoder 35000 receives the attribute information bitstream and entropy decodes the attribute information.
  • the geometric information mapping unit 35001 maps geometric information to attribute information based on the restored geometric information.
  • the residual attribute information inverse quantization unit 35002 (or residual attribute information inverse quantizer) inverse quantizes the residual attribute information.
  • the residual attribute information inverse transform unit 35003 (or residual attribute information inverse transform unit) inversely transforms the residual attribute information.
  • the attribute information prediction unit 35004 (or attribute information Yetsugi) predicts attribute information based on the memory.
  • the memory 35005 stores attribute information, attribute information, and/or data obtained by adding up predicted attribute information.
  • the attribute information inverse transform unit 35006 (or attribute information inverse transform unit) generates attribute information by inversely transforming attribute information.
  • the PCC decoder may include a geometry information decoder and an attribute information decoder.
  • the attribute information decoder may receive the encoded attribute information bitstream and restore the attribute information by performing a process similar to the diagram of the drawing.
  • the attribute information decoder may include an attribute information entropy decoding unit, a geometric information mapping unit, a residual attribute information inverse quantization unit, a residual attribute information inverse transformation unit, an attribute information prediction unit, a memory, and an attribute information inverse transformation unit.
  • the Arithmetic decoder corresponds to the attribute information decoder attribute information entropy decoding unit according to the embodiments
  • the inverse quantization processor corresponds to the residual attribute information inverse quantization unit according to the embodiments.
  • the prediction/lifting/RAHT inverse transform processing unit is divided into a residual attribute information inverse transform unit and an attribute information prediction unit, and the color inverse transform processing unit corresponds to the attribute information inverse transform unit according to the embodiments.
  • the attribute information entropy decoding unit may entropy-decode the received attribute information bitstream to generate transformed quantized attribute information.
  • the generated transformed quantized attribute information may be input to the geometric information mapping unit.
  • the geometric information mapping unit maps the transformed quantized attribute information received from the attribute information entropy decoding unit and the received restored geometric information.
  • the attribute information mapped to the geometric information may be input to the residual attribute information inverse quantization unit.
  • the residual attribute information inverse quantization unit performs inverse quantization on the received transformed quantized attribute information based on a quantization value.
  • the inverse quantized transform residual attribute information may be input to the residual attribute information inverse transform unit.
  • the residual attribute information inverse transform unit may inversely transform a residual 3D block including the received transform residual attribute information using a transform type such as DCT, DST, DST, SADCT, RAHT, and the like.
  • the inversely transformed residual attribute information may be combined with predicted attribute information generated from the attribute information prediction unit and stored in a memory. Alternatively, it may be stored in a memory by adding prediction attribute information without performing inverse transformation.
  • the attribute information predictor generates predicted attribute information based on attribute information of points in a memory.
  • the prediction information can be obtained by performing entropy decoding.
  • the attribute information inverse transform unit may receive a type of attribute information and transformation information from the entropy decoder and perform various color space inverse transformations such as RGB-YUV and RGB-YUV.
  • FIG. 36 illustrates an example of a point cloud data transmission apparatus/method and a reception apparatus/method including a neighbor point set generator according to embodiments.
  • the attribute information encoder and/or the attribute information decoder may include an attribute information predictor, and detailed operations of the attribute information predictor are as described above.
  • the neighboring point set generation unit is included in the attribute information prediction unit, and may be included in both the transmitting end and the receiving end.
  • G-PCC Geometry-based Point Cloud Compression
  • the embodiments provide a higher recovery rate by increasing the attribute compression efficiency of the encoder (encoder)/decoder (decoder) of Geometry-based Point Cloud Compression (G-PCC) for compressing 3D point cloud data.
  • Point cloud content streams can be provided.
  • a PCC encoder (transmission method/apparatus) or a PCC decoder (receiving method/apparatus) according to the embodiments of the present document may generate a set of neighboring points and increase attribute compression efficiency by using signaling information for this.
  • FIG. 37 illustrates an attribute information prediction unit and/or a neighbor information conversion unit according to embodiments.
  • the attribute information prediction unit 37000 and/or the neighbor information conversion unit 37001 according to the embodiments may be combined with a method/device according to the embodiments.
  • the embodiments relate to a method for increasing compression efficiency of attributes of Geometry-based Point Cloud Compression (G-PCC) for compressing 3D point cloud data.
  • G-PCC Geometry-based Point Cloud Compression
  • an encoder and an encoder are referred to as an encoder, and a decoder and a decoder are referred to as a decoder.
  • the method/device according to the embodiments may refer to a method/device for transmitting point cloud data and a method/device for receiving data.
  • Embodiments propose a method of predicting an attribute and encoding/decoding when applying a neighboring point set generation method based on a similar attribute to increase attribute compression efficiency in a G-PCC attribute encoding/decoding process.
  • Examples include the following method. For example, a method for predicting an attribute from a set of similar attributes-based neighbor points, a method for signaling additional information values for neighbor points based on similar attributes applied to prediction, and a signaling method for supporting the above two methods may be included.
  • steps 3 and 4 to be changed for example, weights and predictors are also based on distance. It is a method of changing according to the attribute base). Steps 3 and 4 can be applied to both the transmitter and the receiver as a normalization method according to the attribute weights and weights of neighboring points and an attribute prediction method through a predictor.
  • the configuration of the neighboring point set predicts attribute values based on neighboring points and signals the residuals with the predicted values
  • the predicted values may vary depending on the criteria used to configure the neighboring point set and the size of the residual values may vary. . Therefore, the method of configuring a set of neighboring points can have a great influence on the attribute compression efficiency of the point cloud. For example, since residuals are calculated based on similar properties, there may be an advantage that only smaller values can be encoded.
  • the point cloud's geometry-based nearby relationship has a high probability of having similar properties, it is possible to construct a neighboring set based on the distance value when predicted by the predictor, but such a tendency is based on the characteristics of the point cloud content. Can appear a lot differently.
  • a point cloud captured by a 3D scanner has a relatively small distance between neighboring points and can be captured in a dense form. In this case, there may be a high probability of having similar properties according to distance. But not all. Depending on the characteristics of the captured object, the probability of having similar properties according to distance may vary.
  • the meaning of configuring a set of neighboring points based on a distance and predicting an attribute value through the configured points may not be significant.
  • the embodiments include a proposal for the following method. For example, there may be an attribute prediction method from a similar attribute-based neighbor point set, an additional information value signaling method for a similar attribute-based neighbor point applied to prediction, and/or a signaling method for supporting the above two methods.
  • the method/apparatus according to the embodiments predicts an attribute based on a set of neighboring points selected based on a similar attribute in PCC attribute encoding of a PCC encoder, calculates and encodes a residual based on the predicted information, and encodes additional information of the selected neighboring point. Can be encoded.
  • the method/apparatus according to the embodiments generates a neighboring point set based on additional information of a neighboring point decoded in PCC attribute decoding of a PCC decoder, and calculates the decoded residual value and the attribute value of the previously decoded neighboring point set. In addition, the attribute value of the point can be restored. For example, generation of neighboring points according to embodiments may be applied to both encoders/decoders according to embodiments.
  • the method/apparatus according to the embodiments may generate an LOD l set and generate a neighboring point set of the predictor based on the generated LOD l set when a predictive transform technique or a lifting transform technique is used in an attribute encoding/decoding process.
  • the method/device includes: 1) Molton order-based LOD generation, 2) Similar attribute-based neighbor point set generation, 3) Attribute prediction method from neighbor point set, 3-1) weight setting method, 4) neighbor point set Method, 5) additional information signaling method for neighboring points applied to prediction, 5-1) number of neighboring points, 5-2) additional information for neighboring points, 6) additional information encoding method for neighboring points, 7) attribute information prediction unit, 8) neighbor information change unit/neighbor information inverse transform unit, and 9) signaling scheme for this method may be included/performed.
  • Each detailed operation according to the embodiments will be described below.
  • the method/apparatus according to the embodiments may change points of a point cloud into a Molton code based on x, y, and z position values, and sort (Ahn ascending order) based on the changed Molton code value.
  • LODs are generated based on the sorted points, and points in the LODl set may be sorted based on Molton order. For example, a method of determining a neighboring point based on similar attribute information rather than distance based may be used.
  • the points Px belonging to the LOD l set are 1) points belonging to the LOD 0 to LOD l-1 set, and 2) points in the ordered order among the points belonging to the LOD l set. It is possible to select a neighboring point with similar attributes from, and set it as a neighboring point set of Px.
  • the method/apparatus When encoding Px, the method/apparatus according to the embodiments predicts the attribute value of Px based on the attribute values of the neighboring points in the set, and the predicted attribute value and the Px attribute value when a set of neighboring points of Px is configured.
  • the residual of is obtained, the residual value is encoded and transmitted to a decoder.
  • the decoder constructs a set of neighboring points of Px based on the generation of distance-based LOD and additional information received, predicts the attribute value of Px based on the attribute values of the neighboring points in the neighboring set, and adds the received residual value to the Px.
  • Restore attribute values A method for predicting a property from a set of neighboring points can be applied in different ways from when a set of neighboring points is set based on distance and when a set of neighboring points is generated based on similar properties.
  • the method/apparatus applies a weight to the attribute value of each neighboring point based on the distance, index, or Molton code difference from the neighboring point in order to predict the Px attribute value through the attributes of the neighboring points of Px. , It can be applied to predict the attribute value of Px.
  • the difference between the Molton code and the neighboring point can be applied as a weight.
  • the index difference value with the neighboring point can be applied as a weight.
  • the index may be the order when all points are rearranged according to LOD.
  • weights may not be applied according to embodiments.
  • This weight selection method may be differently selected/applied/transmitted to the decoder according to content characteristics.
  • This attribute prediction method may be signaled to the decoder.
  • the difference values of the properties of neighboring points can be compared and the property values of the neighboring points having the smallest value can be applied as predicted values.
  • the similarity value of the attribute may be compared, and the attribute value of the neighboring point having the highest similarity value may be applied as a predicted value.
  • the Molton code difference value with neighboring points can be compared and the attribute value of the neighboring point having the smallest value can be applied as a predicted value.
  • the method/apparatus according to the embodiments may select one point having the smallest Molton code difference value among the three. If it is based on a similarity attribute, when selecting a similar point within a range, additional information indicating the selected point may be required, and thus the bit stream may increase. The method/apparatus according to the embodiments may minimize additional information.
  • the method/apparatus according to the embodiments may compare the difference value of the index corresponding to the sorted order and apply the attribute value of the neighboring point having the smallest value as the predicted value. For example, if you select 3 from the middle value of the search range, you can send a small difference in the index for 3.
  • the method/device according to the embodiments may provide a method of selecting the smallest index difference in addition to distance-based attribute prediction.
  • a value obtained by averaging the attribute values of neighboring points can be applied as a predicted value.
  • a value obtained by multiplying the attribute value of the neighboring point by the weight can be applied as a predicted value.
  • the method/device according to the embodiments may find the best method among the above methods, apply the method, and signal the applied method to the decoder. Alternatively, you can selectively set and apply a method to one content.
  • the method/apparatus according to the embodiments may signal information on a neighboring point applied to prediction in order to transmit less additional information.
  • the decoder according to the embodiments cannot know which point has a property similar to Px belonging to the set. Since the attribute value of Px is not in a restored state, which point among the points belonging to LOD 0 ⁇ LOD ⁇ -1 and the points belonging to LOD l from which the attribute value has already been restored, the points before Px in the sorted order It is not known whether it is similar to the property value of Px.
  • the encoder according to the embodiments may transmit additional information to the decoder according to the embodiments.
  • the number of neighboring points applied for prediction may be transmitted to the decoder, or the number of neighboring points may not be transmitted from the neighboring point set according to an attribute prediction method. For example, since the smallest attribute difference selection method transmits a residual value for one neighboring point, it may not be necessary to transmit the number of neighboring points. However, the average value selection method requires information on how many neighboring points are used for prediction. The number of neighboring points applied to prediction may be changed according to the minimum attribute similarity threshold. For example, the transmission apparatus/method according to the embodiments may transmit the number of points used for the average value as additional information to the reception apparatus/method according to the embodiments.
  • the encoder according to the embodiments may transmit additional information on the neighboring point applied to the prediction to the decoder according to the embodiments.
  • additional information the following method can be selectively applied.
  • the difference between values of the Molton code and the neighboring points applied to the property prediction may be transmitted to the decoder.
  • the difference in index values with neighboring points applied to property prediction may be transmitted in the order of the rearranged point cloud arrangement. For example, you can combine the LODs to sort them, and the number of times to indicate your choice.
  • the method/apparatus according to the embodiments may sort by Molton code prior to constructing the LOD. Differences in index values with neighboring points applied to property prediction in the order of the point cloud arrangement arranged based on the Molton code can be transmitted. For example, it may represent the difference in the index value before the LOD.
  • the method/apparatus according to the embodiments can signal while effectively reducing the amount of additional information.
  • a difference in index value from neighboring points applied to attribute prediction may be transmitted around a first position having a Molton code value greater than or equal to Pxmc in LOD 0 to LOD l-1 .
  • index values of neighboring points applied to property prediction may be transmitted to the decoder.
  • the method/apparatus according to the embodiments may find the best method among the above-described methods, apply a corresponding method, and signal the applied method to the decoder. Alternatively, you can selectively set and apply a method to one content.
  • the method/apparatus according to the embodiments may directly encode additional information on all neighboring points to transmit additional information on the neighboring points, or to other neighboring points or neighboring points of another point.
  • a residual value for additional information may be calculated and encoded.
  • This additional information prediction method may be signaled to the decoder. For example, there is an effect of reducing the amount of data losslessly by signaling a method of encoding additional information.
  • Lossless compression can be performed on additional information of neighboring points.
  • the additional information of the first neighboring point (the most similar attribute) is directly encoded, and the other neighboring points calculate a residual value with the additional information of the first neighboring point, and lossless compression can be performed.
  • a residual value of 0 appears according to embodiments.
  • the method/apparatus according to the embodiments may additionally signal a residual value between neighboring points and/or a residual value between additional information.
  • a method of determining a reference point to be directly encoded for each specific number can be used. For example, an additional information value for the first neighboring point of the first point per four points is determined as a reference value, and additional information of all neighboring points existing before the next reference point is calculated as a residual value from the reference value, thereby performing lossless compression.
  • the number for selection of reference points may be signaled to the decoder.
  • FIG. 21 an overall block diagram of a PCC data encoder and a decoder is shown.
  • PCC data may be entered and encoded as an input of the encoding device according to the sub-embodiments to output a geometric information bitstream and an attribute information bitstream.
  • a geometric information bitstream and an attribute information bitstream encoded as inputs of a decoder according to embodiments may be input, decoded, and reconstructed PCC data may be output.
  • the attribute information prediction unit belongs to the attribute information encoding unit of the encoder and the attribute information decoding unit of the decoder.
  • the attribute information prediction unit and/or the predicting step according to the embodiments may be present in all of the encoder (encoder), the decoder (decoder), the encoding step and/or the decoding step according to the embodiments.
  • the attribute information predictor may include an LOD constructing unit, a neighboring point set constructing unit, a predictive transform/inverse transform unit, and a lifting transform/inverse transform unit.
  • the attribute information prediction unit corresponds to a prediction/lifting conversion processing unit according to embodiments, and reference will be made to prediction conversion according to embodiments, lifting conversion according to embodiments, and explanations related to FIG. 25.
  • the method/apparatus according to the embodiments may efficiently encode/decode point cloud data through operations of a neighbor point set construction unit and a prediction transform/inverse transform unit of the attribute information prediction unit.
  • An example of each configuration according to the embodiments will be described as follows.
  • the neighbor point set configuration unit has a neighbor point selection method (neighbour_selection_type), selects a neighbor point according to the selection method, and the applied method may be transmitted to the decoder.
  • the neighbor point selection method may include a distance-based method, an attribute-based method, and a distance + attribute-based method.
  • the neighbor point set configuration unit has a method of measuring attribute similarity when selecting a neighboring point in an attribute-based or distance + attribute-based method, and selects a neighboring point by measuring attribute similarity between points according to the selected method, and the applied method is to the decoder. Can be transmitted.
  • the predictive transform/inverse transform unit and the lifting transform/inverse transform unit have a weight application method (neighbour_predict_weight_type) to generate predicted values from points in the configured neighboring point set.
  • the applied weight application method may be transmitted to the decoder.
  • the weight application method may include distance-based weighting, Molton code-based weighting, index-based weighting, and weight not being applied.
  • the predictive transform/inverse transform unit and the lifting transform/inverse transform unit have an attribute prediction method (neighbour_predict_method) from points in the configured neighboring point set, and may predict attribute values according to the selected method and transmit them to the decoder.
  • Attribute prediction methods include selecting the attribute of the neighboring point with the smallest attribute difference, the method of selecting the attribute of the neighboring point with the smallest Molton code difference, the method of selecting the attribute of the neighboring point with the smallest index difference, There may be a method of selecting an average attribute value of neighboring points, and a method of selecting an averaged value by applying a weight to attribute values of neighboring points.
  • the receiving device can restore the neighboring point set only when additional information on the selected neighboring point is transmitted to the decoder. Accordingly, the method/apparatus according to the embodiments may add a neighbor information transforming unit/inverse transforming unit to the PCC encoder/decoder.
  • the neighbor information conversion unit belongs to the attribute information encoding unit.
  • the point cloud transmission apparatus may include an attribute information encoder.
  • the attribute information encoder may include an attribute information predictor.
  • the point cloud receiving apparatus may include an attribute information decoder.
  • the attribute information decoder may include an attribute information predictor.
  • the attribute information predictor may predict an attribute value (or attribute information) of a point (eg, a first point) based on attribute information of neighboring points.
  • the attribute information prediction method may include at least one of a distance-based weight, a Molton code-based weight, an index-based weight, and/or no weight.
  • the weight according to the embodiments is applied to the attribute value of each neighboring point.
  • a weight may be generated based on a distance or 1/distance between the first point and each neighboring point.
  • a weight may be generated based on a Molton code difference value or a 1/Molton code difference value of the first point and each neighboring point.
  • the weight may be generated based on the index difference value or 1/index difference value of the first point and each neighboring point.
  • the attribute information predictor may predict attribute information of a point based on attribute information of neighboring points.
  • the attribute predictor generates (determines) the attribute value of the second point having the smallest difference value as a predicted value based on attribute difference values between neighboring points.
  • the attribute prediction unit uses the attribute value of the second point having the smallest difference value as a predicted value based on the Molton code difference value between each neighboring point and/or between the first point and each neighboring point. Create (determine).
  • the attribute predictor generates (determines) the attribute value of the second point having the smallest difference value as a predicted value based on the index difference value between the first point or each neighboring point.
  • the attribute predictor generates (determines) an average value of attribute values of each neighboring point as a predicted value of the first point.
  • the attribute predictor multiplies an attribute value of each neighboring point by a weight, and generates (determines) an average value of the multiplied values as a predicted value of the first point.
  • the point cloud data includes the number of neighboring points (the number of neighboring points applied to the prediction), additional information about the neighboring points (information about the neighboring points applied to the prediction), for example, a difference value of the Molton code value, and an LOD.
  • the index difference value in the sorted order, the index difference value in the order sorted by the Molton code, the index difference value in the first position equal to or equal to the Molton code of the first point in a plurality of LOD sets, and/or the neighboring candidate nodes are distance-based. It includes at least one of the index values in the order sorted by.
  • the encoder of the point cloud transmission apparatus may perform at least one of direct encoding of additional information (or parameter, signaling information) about a neighboring point, encoding a residual value between neighboring points, and/or encoding a residual value between additional information.
  • additional information or parameter, signaling information
  • the neighbor information conversion unit of the point cloud data transmission apparatus may include information related to neighbor information in a bitstream of the point cloud data and transmit it.
  • 38 illustrates an example of a neighbor information inverse change unit and/or an attribute information prediction unit according to embodiments.
  • the neighbor information inverse transform unit 38000 and/or the attribute information predictor 38001 according to the embodiments may be combined with a method/device according to the embodiments.
  • the neighbor information inverse transform unit may be included in the attribute information decoding unit.
  • the neighbor information transform unit/inverse transform unit may exist in the encoder and decoder according to the embodiments. Each configuration according to the embodiments will be described as follows.
  • the neighbor information conversion unit may operate when selecting a neighboring point in an attribute-based or distance + attribute-based method.
  • the neighbor information conversion unit has a type of additional information on the neighboring point (neighbor_property_type) applied to prediction, configures an additional information bitstream for the neighboring point according to the selection method, transmits the additional information type to the decoder, and the configured data bitstream is The residual may be quantized and included in the attribute information bitstream together with the encoded value and transmitted to the decoder.
  • the type of additional information about the neighboring points is the method of configuring the bitstream by the difference of the Molton code value, the method of configuring the bitstream by the difference of the index value in the state of being sorted by LOD, and the method of configuring the bitstream by the difference of index values when sorting based on the distance of neighboring candidate nodes. It can be a way.
  • the neighbor information transform unit may transmit a method (neighbour_property_encoding_type) used to encode additional information about a neighbor point applied to prediction to the decoder.
  • a reference point sampling rate (neighbour_property_ref_point_sampling_rate) that determines a reference point to be directly encoded has a value, and the value can be transmitted to the decoder.
  • the neighbor information converter may encode the number of neighbor points applied to the prediction, add an attribute bitstream, and transmit it to the decoder.
  • the neighbor information transform unit may configure additional location information on the neighboring point applied to the prediction, encode it through the attribute information entropy encoder, add it to the attribute information bitstream, and transmit it.
  • the neighbor information inverse transform unit receives neighbor information in the attribute bitstream and is transmitted, and when the received neighbor information is decoded and registered as a neighbor point, it can operate. have.
  • the neighbor information inverse transform unit configures the bitstream with the difference between the number of neighboring points in the received bitstream, the additional information of the neighboring points (a method in which the bitstream is formed by a difference in the Morton code value, a method in which the index value difference in the state of being sorted by LOD, or neighbor candidate nodes).
  • additional information encoding method direct encoding, residual encoding between neighboring points, or encoding residual values between additional information
  • a set of neighboring points can be constructed by finding neighboring points.
  • the attribute information prediction unit may restore the attribute value through the configured set of neighboring points.
  • the method/apparatus according to the embodiments may signal related information to perform the above-described operations.
  • the signaling information according to embodiments may be used in a transmission method/device or a reception method/device.
  • bitstream configuration of point cloud data is as described in FIG. 26.
  • Neighbor point set generation and prediction/lifting conversion-related option information may be added to the APS and signaled.
  • Tiles or slices are provided so that point clouds (point cloud data) can be divided and processed by area.
  • a different neighbor point set generation option may be applied for each tile.
  • a different neighbor point set generation option may be applied for each slice.
  • the neighbor point set generation and prediction/lifting conversion related option information may be added to the TPS or the Attr for each slice for signaling.
  • additional information related to the set of neighboring points may be added and transmitted to the Predicting weight lifting bitstream syntax and the Fixed weight lifting bitsream syntax.
  • the neighbor information inverse transform unit of the point cloud data receiving apparatus may obtain neighbor information related information from the received bitstream.
  • the method/apparatus according to the embodiments may process an attribute prediction method in consideration of characteristics of point cloud data.
  • 39 illustrates an example of information related to a neighbor point set generation option according to embodiments.
  • the method/apparatus according to the embodiments may include information related to the neighbor point set generation option in the attribute parameter set.
  • the method/apparatus according to the embodiments may signal by adding a neighboring point set and option information related to prediction/lifting transformation to the APS.
  • the description of signaling information according to embodiments is as follows.
  • neighbour_selection_type specifies how to select neighbor points
  • neighbour_predict_weight_type Specifies how to apply weight to generate prediction values from neighboring points
  • neighbour_predict_method Specify the property prediction method from neighboring points
  • neighbour_property_type Specifies the type of additional information about the neighboring point
  • neighbour_property_encoding_type Specifies the method of encoding additional information about neighboring points
  • neighbour_property_ref_point_sampling_rate When applying the residual value encoding method between additional information, specify the reference point sampling rate that determines the reference point to be directly encoded.
  • neighbour_property_encoding_type is 3
  • neighbour_property_ref_point_sampling_rate may exist.
  • aps_attr_parameter_set_id represents an identifier for an APS for reference by other syntax elements.
  • the value of aps_attr_parameter_set_id may have a range of 0 to 15 (inclusive) (provides an identifier for the APS for reference by other syntax elements.
  • the value of aps_attr_parameter_set_id shall be in the range of 0 to 15, inclusive).
  • aps_seq_parameter_set_id represents the value of sps_seq_parameter_set_id for active SPS.
  • the value of aps_seq_parameter_set_id may have a range of 0 to 15 (inclusive) (specifies the value of sps_seq_parameter_set_id for the active SPS.
  • the value of aps_seq_parameter_set_id shall be in the range of 0 to 15, inclusive).
  • Attr_coding_type represents a coding type for an attribute for a given value of attr_coding_type.
  • the value of attr_coding_type may be 0, 1, or 2 in bitstreams according to embodiments. Other values of attr_coding_type may be reserved for future use by ISO/IEC. Decoders according to embodiments may ignore reserved values of attr_coding_type.
  • 0 Predicting Weight Lifting
  • 1 Region Adaptive Haraquical Transfer (RAHT)
  • 2 Fix Weight Lifting (indicates that the coding type for the attribute in Table 7 2 Table 7 2 for the given value of attr_coding_type.The value of attr_coding_type.
  • Attr_coding_type 0
  • RAHT Region Adaptive Hierarchical Transferm
  • num_pred_nearest_neighbours represents the maximum number of near neighbors used for prediction.
  • the value of numberOfNearestNeighboursInPrediction shall be in the range of 1 to xx (specifies the maximum number of nearest neighbors to be used for prediction.
  • max_num_direct_predictors represents the maximum number of predictors used for direct prediction.
  • the value of max_num_direct_predictors may have a range of 0 to num_pred_nearest_neighbours.
  • the value of max_num_direct_predictors shall be range of 0 to num_pred_nearest_neighbours.
  • lifting_search_range specifies search range for the lifting.
  • lifting_quant_step_size represents the quantization step size for 1 st component of the attribute.
  • the value of quant_step_size shall be in the range of 1 to xx (specifies the quantization step size for the 1st component of the attribute.
  • lifting_quant_step_size_chroma indicates the quantization step size for the chroma component of the attribute when the attribute is color.
  • the value of quant_step_size_chroma may be in the range of 1 to xx (specifies the quantization step size for the chroma component of the attribute when the attribute is colour.
  • the value of quant_step_size_chroma shall be in the range of 1 to xx).
  • lod_binary_tree_enabled_flag specifies whether binary tree is enable or not for the log generation.
  • num_detail_levels_minus1 represents the number of levels of details for attribute coding.
  • the value of num_detail_levels_minus1 may have a range of 0 to xx (specifies the number of levels of detail for the attribute coding.
  • the value of num_detail_levels_minus1 shall be in the range of 0 to xx).
  • sampling_distance_squared [idx] represents the square of the sampling distance for idx.
  • the value of sampling_distance_squared[] may have a range of 0 to xx (specifies the square of the sampling distance for idx.
  • the value of sampling_distance_squared[] shall be in the range of 0 to xx).
  • adaptive_prediction_threshold specifies the threshold of prediction.
  • raht_depth represents the number of levels of details for RAHT.
  • the value of depthRAHT may have a range of 1 to xx (specifies the number of levels of detail for RAHT.
  • the value of depthRAHT shall be in the range of 1 to xx).
  • raht_binarylevel_threshold represents a level of detail for cutting-out RAHT coefficients.
  • the value of binaryLevelThresholdRAHT may be in the range of 0 to xx (specifies the levels of detail to cut out the RAHT coefficient.
  • the value of binaryLevelThresholdRAHT shall be in the range of 0 to xx).
  • raht_quant_step_size represents the quantization step size for the 1 st component of the attribute.
  • the value of quant_step_size may be in the range of 1 to xx (specifies the quantization step size for the 1st component of the attribute.
  • the value of quant_step_size shall be in the range of 1to xx).
  • aps_extension_present_flag When aps_extension_present_flag is 1, it indicates that the aps_extension_data syntax structure is present in the APS RBSP syntax structure. When aps_extension_present_flag is 0, this syntax structure does not exist. If not present, the value of aps_extension_present_flag can mean 0 (equal to 1 specifies that the aps_extension_data syntax structure is present in the APS RBSP syntax structure.aps_extension_present_flag equal to 0 specifies that this syntax structure is not present.When not present. , the value of aps_ extension_present_flag is inferred to be equal to 0).
  • aps_extension_data_flag can have any value. The presence and value of this value does not affect the decoder following the profile. Decoders may have any value. Its presence and value do not affect decoder conformance to profiles. Decoders conforming to a profile.
  • FIG. 40 illustrates an example of information related to a neighbor point set generation option according to embodiments.
  • the method/apparatus according to the embodiments may include information related to the neighbor point set generation option in the tile parameter set.
  • the TPS according to the embodiments may include information syntax related to the neighbor point set generation option.
  • the method/apparatus according to the embodiments may signal by adding the neighbor point set according to the embodiments and option information related to prediction/lifting transformation to the TPS.
  • a description of each signaling information according to embodiments is as follows.
  • num_tiles represents the number of tiles signaled for the bitstream. If not present, num_tiles may be 0 (specifies the number of tiles signaled for the bitstream.When not present, num_tiles is inferred to be 0).
  • tile_bounding_box_offset_x[ i] represents the x offset of the i-th tile in cartesian coordinates. If not present, the value of tile_bounding_box_offset_x[ 0] may be sps_bounding_box_offset_x (indicates the x offset of the i-th tile in the cartesian coordinates. When not present, the value of tile_bounding_box_offset_x[ 0] is inferred to be sps_bounding_box_offset_x).
  • tile_bounding_box_offset_y[ i] represents the y offset of the i-th tile in cartesian coordinates. If not present, the value of tile_bounding_box_offset_y[ 0] may be sps_bounding_box_offset_y (indicates indicates the y offset of the i-th tile in the cartesian coordinates. When not present, the value of tile_bounding_box_offset_y[ 0] is inferred to be sps_bounding_box_offset_y) .
  • tile_bounding_box_offset_z[i] represents the z offset of the i-th tile in Cartesian coordinates. If not present, the value of tile_bounding_box_offset_z[ 0] may be sps_bounding_box_offset_z (indicates indicates the z offset of the i-th tile in the Cartesian coordinates. When not present, the value of tile_bounding_box_offset_z[ 0] is inferred to be sps_bounding_box_offset) .
  • tile_bounding_box_scale_factor[ i] represents the scale factor of the i-th tile in Cartesian coordinates. If not present, the value of tile_bounding_box_scale_factor[ 0] may be sps_bounding_box_scale_factor (indicates the scale factor the i-th tile in the Cartesian coordinates. When not present, the value of tile_bounding_box_scale_factor[ 0] is inferred to be sps_bounding_box_scale_factor).
  • tile_bounding_box_size_width[ i] represents the width of the i-th tile in Cartesian coordinates. If not present, the value of tile_bounding_box_size_width[ 0] can be sps_bounding_box_size_width (indicates the width of the i-th tile in the Cartesian coordinates. When not present, the value of tile_bounding_box_size_width[ 0] is inferred to be sps_bounding_box_size_width).
  • tile_bounding_box_size_height[ i] represents the height of the i-th tile in Cartesian coordinates. If not present, the value of tile_bounding_box_size_height[ 0] may be sps_bounding_box_size_height (indicates the height of the i-th tile in the Cartesian coordinates. When not present, the value of tile_bounding_box_size_height[ 0] is inferred to be sps_bounding_box_size_height).
  • tile_bounding_box_size_depth[ i] represents the depth of the i-th tile in Cartesian coordinates. If not present, tile_bounding_box_size_depth[ 0] may be sps_bounding_box_size_depth (indicates the depth of the i-th tile in the Cartesian coordinates. When not present, the value of tile_bounding_box_size_depth[ 0] is inferred to be sps_bounding_box_size_depth).
  • 41 illustrates an example of information related to a neighbor point set generation option according to embodiments.
  • the method/apparatus according to the embodiments may include information related to the neighbor point set generation option in the attribute slice header.
  • Slice header of Attr may include information related to a neighbor point set generation option.
  • the method/apparatus according to the embodiments may signal by adding option information related to generation of a neighboring point set and prediction/lifting transformation according to the embodiments to a slice header of Attr.
  • option information related to generation of a neighboring point set and prediction/lifting transformation according to the embodiments to a slice header of Attr.
  • abh_attr_parameter_set_id represents the value of aps_attr_parameter_set_id of the active APS (specifies the value of the aps_attr_parameter_set_id of the active APS).
  • abh_attr_sps_attr_idx represents an attribute set in the active SPS.
  • the value of abh_attr_sps_attr_idx may have a range of 0 to sps_num_attribute_sets in the active SPS (specifies the attribute set in the active SPS.
  • the value of abh_attr_sps_attr_idx shall be in the range of 0 to sps_num_attribute_sets in the active SPS).
  • abh_attr_geom_slice_id specifies the value of geom slice id.
  • the method/device according to the embodiments may include information related to the neighbor point set generation option in the predicting weight lifting bitstream.
  • Predicting weight lifting bitstream syntax of attribute slice data may include additional information related to a neighboring point set.
  • the method/apparatus according to the embodiments may signal by adding additional information related to the neighboring point set according to the embodiments to the prediction weight lifting bitstream.
  • neighbor_selection_type is an attribute-based or distance+attribute-based method for selecting a neighboring point (>1)
  • additional information of the neighboring point may be added to the attribute information bitstream as follows.
  • the following scheme may be a syntax corresponding to a case where the neighbour_predict_method value is less than 4, that is, the attribute prediction method based on neighboring points is selected not the average value but the smallest attribute difference, the smallest Molton code difference, and the smallest index difference.
  • a description of each signaling information according to embodiments is as follows.
  • neighbour_point_info Specify the value of the neighboring point additional information.
  • the additional information value may be the difference in Molton code value depending on the neighbor_property_type, the difference in the index value in the state sorted by LOD, or the difference in the index value in the state in the state in which the Molton code is sorted, and from LOD0 ⁇ LOD
  • the Molton code may be a difference between the index values at the first position having the same or greater value, and may be an index value when neighboring candidate nodes are aligned based on distance.
  • neighbour_point_residual_info Specify the residual value of the reference neighboring point of the neighboring point additional information value
  • predIndex[ i ] represents a predicator index for decoding the i-th point value of the attribute.
  • the value of predIndex[ i] may range from 0 to max_num_direct_predictors.
  • the value of predIndex[ i] may have a range of 0 to max_num_direct_predictors (specifies the predictor index to decode the i-th point value of the attribute.
  • the value of predIndex[ i] shall be range of 0 to max_num_direct_predictors.
  • the value of predIndex[ i] shall be range of 0 to max_num_direct_predictors).
  • the following scheme may be a syntax corresponding to a case where the value of neighbour_predict_method is greater than 3, that is, the attribute prediction method based on neighbor points is selected as an average value or a weighted average value.
  • 43 illustrates an example of additional information related to a neighboring point set according to embodiments.
  • the method/device according to the embodiments may include information related to the neighbor point set generation option in the predicting weight lifting bitstream.
  • Neighbour_num_of_points specifying the number of neighboring points applied to attribute prediction.
  • the attribute prediction method is an average value or a weighted average value, it is necessary to specify how many neighboring points are applied, and additional information about each neighboring point may be required.
  • the method/apparatus according to the embodiments may include information related to the neighbor point set generation option in quantvalues.
  • isZero When isZero is 1, it indicates that residual value[k][i] is 0. When isZero is 0, residual value[k][i] is not 0 (equal to 1 indicates that residual value[k][i] is equal to 0. isZero equal to 0 indicates that residual value[k] [i] is not equal to 0).
  • values[k][i] represents the k-th dimension and the i-th point value of the attribute (describes the k-th dimension and the i-th point value of the attribute).
  • remaining_values[k][i] represents the k-th dimension and i-th point remaining values of the attribute. If not present, the value of remaining_value[k][i] can be 0 (describes the k-th dimension and the i-th point remaining value of the attribute. When not present, the value of remaining_value[k][ i] is inferred to be 0).
  • 45 illustrates an example of additional information related to a neighboring point set according to embodiments.
  • the method/device according to the embodiments may include information related to the neighbor point set generation option in the fixed weight lifting bitstream.
  • Fixed weight lifting bitstream syntax of attribute slice data may include additional information syntax related to a neighboring point set.
  • the method/apparatus according to the embodiments may signal by adding additional information related to the neighbor point set according to the embodiments to the fixed weight lifting bitstream when generating a neighboring point set based on a similar attribute.
  • Neighbor_selection_type is an attribute-based or distance+attribute-based method to select a neighboring point (>1)
  • additional information of the neighboring point can be added to the attribute information bitstream as follows.
  • the following scheme may be a syntax corresponding to a case where the neighbour_predict_method value is less than 4, that is, the attribute prediction method based on neighboring points is selected not the average value but the smallest attribute difference, the smallest Molton code difference, and the smallest index difference.
  • 46 illustrates an example of additional information related to a neighboring point set according to embodiments.
  • the method/device according to the embodiments may include information related to the neighbor point set generation option in the fixed weight lifting bitstream.
  • the following scheme may be a syntax corresponding to a case where the value of neighbour_predict_method is greater than 3, that is, the attribute prediction method based on neighbor points is selected as an average value or a weighted average value.
  • the apparatus/method for transmitting and receiving point cloud data compresses properties of an encoder (encoder)/decoder (decoder) of Geometry-based Point Cloud Compression (G-PCC) for compressing 3D point cloud data.
  • an encoder encoder
  • decoder decoder
  • G-PCC Geometry-based Point Cloud Compression
  • the embodiments increase the property compression efficiency of the encoder (encoder)/decoder (decoder) of Geometry-based Point Cloud Compression (G-PCC) for compressing 3D point cloud data, resulting in a higher recovery rate. It is possible to provide a provided point cloud content stream.
  • the method/apparatus according to the embodiments can efficiently signal encoding/decoding of point cloud data.
  • 47 illustrates an example flowchart of a method for relating a neighboring point according to embodiments.
  • the method/device according to the embodiments may perform S47000 and S47001, perform S47002, S47003, and S47004, or perform S47000 to S47005.
  • the following can be combined/modified with the above-described embodiments for each step.
  • the method/apparatus according to the embodiments sets a search range for a neighboring point.
  • an octree-based search range can be set according to the search range type.
  • a detailed octree-based search range setting method is as described in FIG. 21 and the like.
  • the method/apparatus selects a neighboring point based on the neighboring point search range. For example, a neighboring point can be selected based on the similarity attribute.
  • a specific method for selecting a neighboring point based on similarity attributes is as described above.
  • the method/device according to the embodiments sets a weight for a set of neighboring points.
  • a weight for a set of neighboring points For example, there are distance-based, Molton code-based, index-based and/or weightless methods, and the like, and specific methods are as described above.
  • the method/apparatus according to the embodiments predicts attribute information on a neighboring point set. For example, there are a method of selecting the smallest Molton code difference, selecting the smallest index difference, selecting an attribute average value, and selecting a weighted average value, and the specific method is as described above.
  • the method/apparatus according to the embodiments encodes the residual attribute information based on the prediction attribute information.
  • the method/device according to the embodiments transmits residual attribute information.
  • FIG. 48 shows a method for transmitting point cloud data according to embodiments.
  • the point cloud data transmission method includes the following method.
  • the method according to the embodiments acquires point cloud data.
  • a method of acquiring point cloud data according to embodiments is as described with reference to FIGS. 1, 2, 3, and the like.
  • the method according to the embodiments encodes point cloud data.
  • the encoding method according to the embodiments is as described in FIGS. 4-9, 12, 14-16, 18-22, 23, 25, 37, and the like.
  • Point cloud data according to embodiments may be transmitted as described in FIGS. 1-3 and 14-16.
  • 49 shows a method of receiving point cloud data according to embodiments.
  • a method of receiving point cloud data includes the following method.
  • the method according to the embodiments receives point cloud data.
  • Point cloud data reception methods according to embodiments are as described in FIGS. 1-2, 4, 11, 13, 14-16, etc.
  • Point cloud data decoding methods according to embodiments are as described in FIGS. 24, 25, 33, 34, 35, 38, and the like.
  • the method according to the embodiments renders the point cloud data.
  • the point cloud data rendering (or decoding) method according to embodiments may be processed based on the signaling information described in FIGS. 27-29 and 39-46.
  • Each of the above-described parts, modules or units may be software, processor, or hardware parts that execute successive processes stored in a memory (or storage unit). Each of the steps described in the above-described embodiment may be performed by processor, software, and hardware parts. Each module/block/unit described in the above-described embodiment may operate as a processor, software, or hardware. In addition, the methods suggested by the embodiments may be executed as code. This code can be written to a storage medium that can be read by the processor, and thus can be read by a processor provided by the apparatus.
  • the processor-readable recording medium includes all types of recording devices that store data that can be read by the processor. Examples of recording media that can be read by the processor include ROM, RAM, CD-ROM, magnetic tape, floppy disk, optical data storage, etc., and also include those implemented in the form of carrier waves such as transmission through the Internet. . Further, the processor-readable recording medium is distributed over a computer system connected through a network, so that the processor-readable code can be stored and executed in a distributed manner.
  • A/B may mean “A and/or B.”
  • A, B may mean“A and/or B.”
  • A/B/C may mean“at least one of A, B, and/or C.”
  • Also,“A/B/C” may mean "at least one of A, B, and/or C.”
  • Various elements of the embodiments may be performed by hardware, software, firmware, or a combination thereof.
  • Various elements of the embodiments may be implemented on a single chip such as a hardware circuit.
  • the embodiments may optionally be performed on individual needles.
  • at least one of the elements of the embodiments may be executed in one or more processors including instructions for performing operations according to the embodiments.
  • first and second are used to describe various elements of the embodiments. These terms do not limit the interpretation of the elements of the embodiments. These terms are used to distinguish between one element and another.
  • a first user input signal may be referred to as a second user input signal.
  • the second user input signal may be referred to as a first user input signal.
  • Both the first user input signal and the second user input signal are user input signals, and do not mean the same user input signals unless clearly indicated in context.
  • Conditional expressions such as when, when, and when used to describe the embodiments are not limited to an optional case. When a specific condition is satisfied, it is intended to perform a related operation in response to a specific condition or to interpret the related definition.
  • the embodiments may be applied wholly or partially to the point cloud data transmission/reception apparatus and system.
  • Embodiments may include changes/modifications, and changes/modifications do not depart from the scope of the claims and the same.

Abstract

A point cloud data transmission method according to embodiments may comprise: a step for acquiring point cloud data; a step for encoding the point cloud data; and/or a step for transmitting the point cloud data. A point cloud data reception method according to embodiments may comprise: a step for receiving point cloud data; a step for decoding the point cloud data; and/or a step for rendering the point cloud data.

Description

포인트 클라우드 데이터 송신 장치, 포인트 클라우드 데이터 송신 방법, 포인트 클라우드 데이터 수신 장치 및 포인트 클라우드 데이터 수신 방법Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method
실시예들은 사용자에게 VR (Virtual Reality, 가상현실), AR (Augmented Reality, 증강현실), MR (Mixed Reality, 혼합현실), 및 자율 주행 서비스 등의 다양한 서비스를 제공하기 위하여 Point Cloud 콘텐츠를 제공하는 방안을 제공한다.Embodiments provide Point Cloud content to provide users with various services such as VR (Virtual Reality, Virtual Reality), AR (Augmented Reality, Augmented Reality), MR (Mixed Reality, Mixed Reality), and autonomous driving service. Provide a solution.
포인트 클라우드는 3D공간 상의 포인트들의 집합이다. 3D공간 상의 포인트들의 양이 많아서 포인트 클라우드 데이터를 생성하기 어려운 문제점이 있다. A point cloud is a set of points in 3D space. There is a problem in that it is difficult to generate point cloud data because the amount of points in the 3D space is large.
포인트 클라우드의 데이터를 전송하고 수신하기 위해서 많은 처리량이 요구되는 문제점이 있다.There is a problem that a large amount of processing is required to transmit and receive point cloud data.
실시예들에 따른 기술적 과제는, 전술한 문제점 등을 해결하기 위해서, 포인트 클라우드를 효율적으로 송수신하기 위한 포인트 클라우드 데이터 전송 장치, 전송 방법, 포인트 클라우드 데이터 수신 장치 및 수신 방법을 제공하는데 있다.The technical problem according to the embodiments is to provide a point cloud data transmission apparatus, a transmission method, a point cloud data reception apparatus, and a reception method for efficiently transmitting and receiving a point cloud in order to solve the above-described problems.
실시예들에 따른 기술적 과제는, 지연시간(latency) 및 인코딩/디코딩 복잡도를 해결하기 위한 포인트 클라우드 데이터 전송 장치, 전송 방법, 포인트 클라우드 데이터 수신 장치 및 수신 방법을 제공하는데 있다.A technical problem according to embodiments is to provide a point cloud data transmission apparatus, a transmission method, a point cloud data reception apparatus, and a reception method for solving latency and encoding/decoding complexity.
다만, 전술한 기술적 과제만으로 제한되는 것은 아니고, 본 문서 전체 내용에 기초하여 당업자가 유추할 수 있는 다른 기술적 과제로 실시예들의 권리범위가 확장될 수 있다.However, it is not limited only to the above-described technical problem, and the scope of the rights of the embodiments may be extended to other technical problems that can be inferred by those skilled in the art based on the entire contents of this document.
상술한 목적 및 다른 이점을 달성하기 위해서 실시예들에 따른 포인트 클라우드 데이터 송신 방법은 포인트 클라우드 데이터를 획득하는 단계, 포인트 클라우드 데이터를 인코딩하는 단계, 및/또는 포인트 클라우드 데이터를 전송하는 단계; 를 포함할 수 있다.In order to achieve the above-described object and other advantages, a method for transmitting point cloud data according to embodiments includes: obtaining point cloud data, encoding point cloud data, and/or transmitting point cloud data; It may include.
또한, 실시예들에 따른 포인트 클라우드 데이터 수신 방법은 포인트 클라우드 데이터를 수신하는 단계, 포인트 클라우드 데이터를 디코딩하는 단계, 및/또는 포인트 클라우드 데이터를 렌더링하는 단계를 포함할 수 있다.In addition, the method of receiving point cloud data according to embodiments may include receiving point cloud data, decoding point cloud data, and/or rendering point cloud data.
실시예들에 따른 포인트 클라우드 데이터 송신 방법, 송신 장치, 포인트 클라우드 데이터 수신 방법, 수신 장치는 퀄리티 있는 포인트 클라우드 서비스를 제공할 수 있다.A point cloud data transmission method, a transmission device, a point cloud data reception method, and a reception device according to the embodiments may provide a point cloud service with high quality.
실시예들에 따른 포인트 클라우드 데이터 송신 방법, 송신 장치, 포인트 클라우드 데이터 수신 방법, 수신 장치는 다양한 비디오 코덱 방식을 달성할 수 있다.The point cloud data transmission method, the transmission device, the point cloud data reception method, and the reception device according to the embodiments may achieve various video codec methods.
실시예들에 따른 포인트 클라우드 데이터 송신 방법, 송신 장치, 포인트 클라우드 데이터 수신 방법, 수신 장치는 자율주행 서비스 등 범용적인 포인트 클라우드 콘텐츠를 제공할 수 있다.A point cloud data transmission method, a transmission device, a point cloud data reception method, and a reception device according to embodiments may provide general-purpose point cloud content such as an autonomous driving service.
도면은 실시예들을 더욱 이해하기 위해서 포함되며, 도면은 실시예들에 관련된 설명과 함께 실시예들을 나타낸다.The drawings are included to further understand the embodiments, and the drawings represent embodiments together with a description related to the embodiments.
도1은 실시예들에 따른 포인트 클라우드(Point Cloud) 콘텐츠 제공을 위한 시스템을 나타낸다.1 shows a system for providing point cloud content according to embodiments.
도2는 실시예들에 따른 Point Cloud 콘텐츠 제공을 위한 과정을 나타낸다.2 shows a process for providing Point Cloud content according to embodiments.
도3은 실시예들에 따른 Point Cloud 캡처 장비 배열 구성을 나타낸다.3 shows an arrangement of Point Cloud capture equipment according to embodiments.
도4는 실시예들에 따른 포인트 클라우드 인코더(Point Cloud Encoder)를 나타낸다.4 shows a point cloud encoder according to embodiments.
도5는 실시예들에 따른 3차원 공간상의 복셀을 나타낸다.5 illustrates voxels in a 3D space according to embodiments.
도6은 실시예들에 따른 옥트리와 occupancy 코드의 예시를 나타낸다.6 shows an example of an octree and an occupancy code according to embodiments.
도7은 실시예들에 따른 이웃 노드 패턴의 예시를 나타낸다.7 illustrates an example of a neighbor node pattern according to embodiments.
도8은 실시예들에 따른 LOD별 Point Cloud 콘텐츠의 Point 구성의 예시를 나타낸다.8 shows an example of a point configuration of Point Cloud content for each LOD according to embodiments.
도9는 실시예들에 따른 LOD별 Point Cloud 콘텐츠의 Point 구성의 예시를 나타낸다.9 shows an example of a point configuration of Point Cloud content for each LOD according to embodiments.
도10은 실시예들에 따른 포인트 클라우드 디코더(Point Cloud Decoder)의 블록 다이어그램(block diagram) 예시를 나타낸다.10 shows an example of a block diagram of a point cloud decoder according to embodiments.
도11은 실시예들에 따른 포인트 클라우드 디코더(Point Cloud Decoder) 예시를 나타낸다.11 shows an example of a point cloud decoder according to embodiments.
도12는 실시예들에 따른 송신기의 Point Cloud 비디오 인코딩을 위한 구성요소를 나타낸다.12 shows components for encoding Point Cloud video of a transmitter according to embodiments.
도13은 실시예들에 따른 수신기의 Point Cloud 비디오 디코딩을 위한 구성요소를 나타낸다.13 shows components for decoding Point Cloud video of a receiver according to embodiments.
도14는 실시예들에 따른 G-PCC 기반 point cloud 데이터 저장 및 스트리밍을 위한 아키텍쳐를 나타낸다.14 shows an architecture for G-PCC-based point cloud data storage and streaming according to embodiments.
도15는 실시예들에 따른 point cloud 데이터 저장 및 전송을 나타낸다.15 shows point cloud data storage and transmission according to embodiments.
도16은 실시예들에 따른 point cloud 데이터 수신 장치를 나타낸다.16 shows a device for receiving point cloud data according to embodiments.
도17은 실시예들에 따른 포인트 클라우드 데이터 송수신 방법/장치와 연동 가능한 구조의 예시를 나타낸다.17 shows an example of a structure capable of interworking with a method/device for transmitting and receiving point cloud data according to embodiments.
도18은 실시예들에 따른 포인트 클라우드 데이터의 렌더링 예시를 나타낸다.18 shows an example of rendering point cloud data according to embodiments.
도19는 실시예들에 따른 포인트 클라우드 데이터 및 LOD 구성 예시를 나타낸다.19 shows an example of configuration of point cloud data and LOD according to embodiments.
도20은 실시예들에 따른 몰톤 코드 검색 범위의 예시를 나타낸다.20 shows an example of a Molton code search range according to embodiments.
도21은 실시예들에 따른 검색 범위 레벨의 예시를 나타낸다.21 shows an example of a search range level according to embodiments.
도22는 실시예들에 따른 속성정보 인코딩 및/또는 디코딩 과정의 예시를 나타낸다.22 shows an example of a process of encoding and/or decoding attribute information according to embodiments.
도23은 실시예들에 따른 인코더의 속성 정보 예측부의 예시를 나타낸다.23 illustrates an example of a property information prediction unit of an encoder according to embodiments.
도24는 실시예들에 따른 디코더의 속성 정보 예측부의 예시를 나타낸다.24 illustrates an example of a property information prediction unit of a decoder according to embodiments.
도25는 실시예들에 따른 속성정보 예측부 구성도의 예시를 나타낸다.25 shows an example of a configuration diagram of an attribute information prediction unit according to embodiments.
도26은 실시예들에 따른 포인트 클라우드 데이터의 구조의 예시를 나타낸다.26 shows an example of a structure of point cloud data according to embodiments.
도27은 실시예들에 따른 이웃 포인트 집합 생성 옵션 관련 정보의 신택스 예시를 나타낸다.27 illustrates an example syntax of information related to a neighbor point set generation option according to embodiments.
도28은 실시예들에 따른 이웃 포인트 집합 생성 옵션 관련 정보를 나타낸다.28 illustrates information related to a neighbor point set generation option according to embodiments.
도29는 실시예들에 따른 이웃 포인트 집합 생성 옵션 관련 정보의 예시를 나타낸다.29 illustrates an example of information related to a neighbor point set generation option according to embodiments.
도30은 실시예들에 따른 PCC 인코더를 나타낸다.30 shows a PCC encoder according to embodiments.
도31은 실시예들에 따른 기하정보 인코더의 예시를 나타낸다.31 shows an example of a geometric information encoder according to embodiments.
도32는 실시예들에 따른 속성정보 인코더의 예시를 나타낸다.32 shows an example of an attribute information encoder according to embodiments.
도33은 실시예들에 따른 PCC 디코더의 예시를 나타낸다.33 shows an example of a PCC decoder according to embodiments.
도34는 실시예들에 따른 기하정보 디코더의 예시를 나타낸다.34 shows an example of a geometric information decoder according to embodiments.
도35는 실시예들에 따른 속성정보 디코더의 예시를 나타낸다.35 shows an example of an attribute information decoder according to embodiments.
도36은 실시예들에 따른 이웃 포인트 집합 생성부를 포함하는 포인트 클라우드 데이터 송신 장치/방법, 수신 장치/방법의 예시를 나타낸다.36 illustrates an example of a point cloud data transmission apparatus/method and a reception apparatus/method including a neighbor point set generator according to embodiments.
도37은 실시예들에 따른 속성정보예측부 및/또는 이웃정보 변환부를 나타낸다.37 illustrates an attribute information prediction unit and/or a neighbor information conversion unit according to embodiments.
도38은 실시예들에 따른 이웃 정보 역변화부 및/또는 속성정보 예측부의 예시를 나타낸다.38 illustrates an example of a neighbor information inverse change unit and/or an attribute information prediction unit according to embodiments.
도39는 실시예들에 따른 이웃 포인트 집합 생성 옵션 관련 정보의 예시를 나타낸다.39 illustrates an example of information related to a neighbor point set generation option according to embodiments.
도40은 실시예들에 따른 이웃 포인트 집합 생성 옵션 관련 정보의 예시를 나타낸다.40 illustrates an example of information related to a neighbor point set generation option according to embodiments.
도41은 실시예들에 따른 이웃 포인트 집합 생성 옵션 관련 정보의 예시를 나타낸다.41 illustrates an example of information related to a neighbor point set generation option according to embodiments.
도42는 실시예들에 따른 이웃 포인트 집합 관련 추가 정보의 예시를 나타낸다.42 shows an example of additional information related to a set of neighboring points according to embodiments.
도43은 실시예들에 따른 이웃 포인트 집합 관련 추가 정보의 예시를 나타낸다.43 illustrates an example of additional information related to a neighboring point set according to embodiments.
도44는 실시예들에 따른 퀀트 값들의 예시를 나타낸다.44 shows examples of quant values according to embodiments.
도45는 실시예들에 따른 이웃 포인트 집합 관련 추가 정보의 예시를 나타낸다.45 illustrates an example of additional information related to a neighboring point set according to embodiments.
도46은 실시예들에 따른 이웃 포인트 집합 관련 추가 정보의 예시를 나타낸다.46 illustrates an example of additional information related to a neighboring point set according to embodiments.
도47은 실시예들에 따른 이웃 포인트 관련 방법의 순서도 예시를 나타낸다.47 illustrates an example flowchart of a method for relating a neighboring point according to embodiments.
도48은 실시예들에 따른 포인트 클라우드 데이터 송신 방법을 나타낸다.48 shows a method for transmitting point cloud data according to embodiments.
도49는 실시예들에 따른 포인트 클라우드 데이터 수신 방법을 나타낸다.49 shows a method of receiving point cloud data according to embodiments.
실시예들의 바람직한 실시예에 대해 구체적으로 설명하며, 그 예는 첨부된 도면에 나타낸다. 첨부된 도면을 참조한 아래의 상세한 설명은 실시예들의 실시예에 따라 구현될 수 있는 실시예만을 나타내기보다는 실시예들의 바람직한 실시예를 설명하기 위한 것이다. 다음의 상세한 설명은 실시예들에 대한 철저한 이해를 제공하기 위해 세부 사항을 포함한다. 그러나 실시예들이 이러한 세부 사항 없이 실행될 수 있다는 것은 당업자에게 자명하다.The preferred embodiments of the embodiments will be described in detail, examples of which are shown in the accompanying drawings. The detailed description below with reference to the accompanying drawings is intended to describe preferred embodiments of the embodiments, rather than showing only embodiments that can be implemented according to the embodiments of the embodiments. The following detailed description includes details to provide a thorough understanding of the embodiments. However, it is obvious to a person skilled in the art that the embodiments may be practiced without these details.
실시예들에서 사용되는 대부분의 용어는 해당 분야에서 널리 사용되는 일반적인 것들에서 선택되지만, 일부 용어는 출원인에 의해 임의로 선택되며 그 의미는 필요에 따라 다음 설명에서 자세히 서술한다. 따라서 실시예들은 용어의 단순한 명칭이나 의미가 아닌 용어의 의도된 의미에 근거하여 이해되어야 한다.Most terms used in the embodiments are selected from general ones widely used in the relevant field, but some terms are arbitrarily selected by the applicant, and their meanings will be described in detail in the following description as necessary. Accordingly, the embodiments should be understood based on the intended meaning of the term, not the simple name or meaning of the term.
도1은 실시예들에 따른 포인트 클라우드(Point Cloud) 콘텐츠 제공을 위한 시스템의 예시를 나타낸다.1 shows an example of a system for providing point cloud content according to embodiments.
실시예들에 따른 포인트 클라우드 데이터 전송 장치(Transmission device, 10000)는 포인트 클라우드 비디오 획득부(Point Cloud Video Acquisition, 10001), 포인트 클라우드 비디오 인코더(Point Cloud Video Encoder, 10002) 및/또는 트랜스미터(Transmitter (or Communication module), 10003)를 포함한다.The point cloud data transmission device 10000 according to the embodiments includes a point cloud video acquisition unit (Point Cloud Video Acquisition, 10001), a point cloud video encoder (Point Cloud Video Encoder, 10002) and/or a transmitter (Transmitter ( or Communication module), 10003).
실시예들에 따른 포인트 클라우드 비디오 획득부(Point Cloud Video Acquisition, 10001)는 Point Cloud 비디오의 캡처, 합성 또는 생성 과정 등을 통한 Point Cloud 비디오를 획득한다.A point cloud video acquisition unit (Point Cloud Video Acquisition, 10001) according to embodiments acquires a Point Cloud video through a process of capturing, synthesizing, or generating a Point Cloud video.
실시예들에 따른 포인트 클라우드 비디오 인코더(Point Cloud Video Encoder, 10002)는 포인트 클라우드 비디오 데이터를 인코딩한다.A point cloud video encoder 10002 according to embodiments encodes point cloud video data.
실시예들에 따른 트랜스미터(Transmitter (or Communication module), 10003)는 인코딩된 포인트 클라우드 비디오 데이터를 비트스트림의 형태로 전송한다.A transmitter (or communication module) 10003 according to embodiments transmits the encoded point cloud video data in the form of a bitstream.
실시예들에 따른 포인트 클라우드 데이터 수신 장치(Reception device, 10004)는 리시버(Receiver, 10005), 포인트 클라우드 비디오 디코더(Point Cloud Decoder, 10006) 및/또는 렌더러(Renderer, 10007)를 포함한다.The point cloud data receiving device 10004 according to the embodiments includes a receiver 10005, a point cloud video decoder 10006, and/or a renderer 10007.
실시예들에 따른 리시버(Receiver, 10005)는 포인트 클라우드 비디오 데이터를 포함하는 비트스트림을 수신한다. 실시예들에 따라 리시버(10005)는 피드백 정보(Feedback Information)을 포인트 클라우드 데이터 전송 장치(10000)에 전송할 수 있다. A receiver 10005 according to embodiments receives a bitstream including point cloud video data. According to embodiments, the receiver 10005 may transmit feedback information to the point cloud data transmission device 10000.
포인트 클라우드 비디오 디코더(Point Cloud Decoder, 10006)는 수신된 포인트 클라우드 비디오 데이터를 디코딩한다.A point cloud video decoder (Point Cloud Decoder, 10006) decodes the received point cloud video data.
렌더러(Renderer, 10007)는 디코딩된 포인트 클라우드 비디오 데이터를 렌더링한다. 실시예들에 따라 렌더러(10007)는 수신단 측에서 획득된 피드백 정보를 포인트 클라우드 비디오 디코더(10006)에 전송할 수 있다. 실시예들에 따른 포인트 클라우드 비디오 데이터는 피드백 정보를 리시버에 전송할 수 있다. 실시예들에 따라 포인트 클라우드 전송 장치가 수신한 피드백 정보는 포인트 클라우드 비디오 인코더에 제공될 수 있다.The renderer 10007 renders the decoded point cloud video data. According to embodiments, the renderer 10007 may transmit the feedback information acquired at the receiving end to the point cloud video decoder 10006. The point cloud video data according to embodiments may transmit feedback information to the receiver. According to embodiments, the feedback information received by the point cloud transmission device may be provided to the point cloud video encoder.
실시예들은 사용자에게 VR (Virtual Reality, 가상현실), AR (Augmented Reality, 증강현실), MR (Mixed Reality, 혼합현실), 및 자율 주행 서비스 등 다양한 서비스를 제공하기 위하여 포인트 클라우드(Point Cloud) 콘텐츠를 제공할 수 있다.The embodiments are point cloud content in order to provide various services such as VR (Virtual Reality, Virtual Reality), AR (Augmented Reality, Augmented Reality), MR (Mixed Reality, Mixed Reality), and autonomous driving service. Can provide.
Point Cloud 콘텐츠 서비스를 제공하기 위하여, 먼저 Point Cloud 비디오가 획득될 수 있다. 획득된 Point Cloud 비디오는 일련의 과정을 거쳐 전송되고, 수신측에서는 수신된 데이터를 다시 원래의 Point Cloud 비디오로 가공하여 렌더링 할 수 있다. 이를 통해 Point Cloud 비디오가 사용자에게 제공될 수 있다. 실시예들은 이러한 일련의 과정을 효과적으로 수행하기 위해 필요한 방안을 제공한다. In order to provide a Point Cloud content service, a Point Cloud video may be obtained first. The acquired Point Cloud video is transmitted through a series of processes, and the receiving side can process and render the received data back into the original Point Cloud video. This allows Point Cloud videos to be presented to users. The embodiments provide a method necessary to effectively perform this series of processes.
Point Cloud 콘텐츠 서비스를 제공하기 위한 전체의 과정(포인트 클라우드 데이터 전송 방법 및/또는 포인트 클라우드 데이터 수신 방법)은 획득 과정, 인코딩 과정, 전송 과정, 디코딩 과정, 렌더링 과정 및/또는 피드백 과정을 포함할 수 있다.The overall process (point cloud data transmission method and/or point cloud data reception method) for providing the Point Cloud content service may include an acquisition process, an encoding process, a transmission process, a decoding process, a rendering process, and/or a feedback process. have.
실시예들에 따라 포인트 클라우드 콘텐츠 (또는 포인트 클라우드 데이터)를 제공하는 과정은 포인트 클라우드 컴프레션(Point Cloud Compression) 과정이라고 호칭할 수 있다. 실시예들에 따라 포인트 클라우드 컴프레션 과정은 지오메트리 기반 포인트 클라우드 컴프레션(Geometry-based Point Cloud Compression) 과정을 의미할 수 있다.According to embodiments, a process of providing point cloud content (or point cloud data) may be referred to as a point cloud compression process. According to embodiments, the point cloud compression process may mean a geometry-based point cloud compression process.
실시예들에 따른 포인트 클라우드 데이터 전송 장치 및 포인트 클라우드 데이터 수신 장치의 각 엘리먼트는 하드웨어, 소프트웨어, 프로세서 및/또는 그것들의 결합 등을 의미할 수 있다. Each element of the point cloud data transmission device and the point cloud data reception device according to the embodiments may mean hardware, software, a processor, and/or a combination thereof.
실시예들에 따른 포인트 클라우드 데이터 송신 방법은 포인트 클라우드 데이터를 획득하는 단계, 포인트 클라우드 데이터를 인코딩하는 단계; 및/또는 포인트 클라우드 데이터를 전송하는 단계를 포함할 수 있다.A method for transmitting point cloud data according to embodiments includes: obtaining point cloud data, encoding point cloud data; And/or transmitting point cloud data.
실시예들에 따른 포인트 클라우드 데이터 송신 장치는 포인트 클라우드 데이터를 획득하는 획득부, 포인트 클라우드 데이터를 인코딩하는 인코더, 및/또는 포인트 클라우드 데이터를 전송하는 트랜스미터를 포함할 수 있다.The point cloud data transmission apparatus according to the embodiments may include an acquisition unit that acquires point cloud data, an encoder that encodes point cloud data, and/or a transmitter that transmits point cloud data.
실시예들에 따른 포인트 클라우드 데이터 수신 방법은 포인트 클라우드 데이터를 수신하는 단계, 포인트 클라우드 데이터를 디코딩하는 단계 및/또는 포인트 클라우드 데이터를 렌더링하는 단계를 포함할 수 있다.A method of receiving point cloud data according to embodiments may include receiving point cloud data, decoding point cloud data, and/or rendering point cloud data.
실시예들에 따른 포인트 클라우드 데이터 수신 장치는 포인트 클라우드 데이터를 수신하는 수신부, 포인트 클라우드 데이터를 디코딩하는 디코더 및/또는 포인트 클라우드 데이터를 렌더링하는 렌더러를 포함할 수 있다.The point cloud data receiving apparatus according to embodiments may include a receiving unit for receiving point cloud data, a decoder for decoding point cloud data, and/or a renderer for rendering point cloud data.
도2는 실시예들에 따른 Point Cloud 콘텐츠 제공을 위한 과정을 나타낸다.2 shows a process for providing Point Cloud content according to embodiments.
실시예들에 따른 포인트 클라우드 데이터 전송 방법 및 포인트 클라우드 데이터 수신 방법은 획득(20000), 인코딩(20001), 전송(20002), 디코딩(20003), 렌더링(20004) 및/또는 피드백(20005)을 포함한다. Point cloud data transmission method and point cloud data reception method according to embodiments include acquisition (20000), encoding (20001), transmission (20002), decoding (20003), rendering (20004), and/or feedback (20005). do.
실시예들에 따른 획득(20000)은 포인트 클라우드 데이터를 획득하는 단계이다. 실시예들에 따른 포인트 클라우드 데이터는 Ply (Polygon File format or the Stanford Triangle format) 파일일 수 있다. 실시예들에 따른 Ply 파일은 지오메트리(Geometry) 및/또는 어트리뷰트(Attribute)를 포함한다. 실시예들에 따른 지오메트리는 3차원 공간 상의 점들을 나타낸다. 실시예들에 따른 어트리뷰트는 지오메트리에 따른 3차원 공간 상의 각 점에 대한 색상, 반사 등의 속성을 나타낸다. Acquisition 20000 according to the embodiments is a step of acquiring point cloud data. The point cloud data according to embodiments may be a Ply (Polygon File format or the Stanford Triangle format) file. The Ply file according to the embodiments includes geometry and/or attribute. Geometry according to embodiments represents points in a three-dimensional space. Attributes according to embodiments represent properties such as color and reflection of each point in a 3D space according to geometry.
실시예들에 따른 인코딩(20001)은 지오메트리 및/또는 어트리뷰트를 포함하는 포인트 클라우드 데이터를 인코딩하는 단계이다. 실시예들에 따른 인코딩된 데이터는 비트스트림의 형태일 수 있다.The encoding 20001 according to embodiments is a step of encoding point cloud data including geometry and/or attributes. The encoded data according to the embodiments may be in the form of a bitstream.
실시예들에 따른 전송(20002)은 인코딩된 데이터를 전송하는 단계이다. 실시예들에 따른 전송 장치는 실시예들에 따른 실시예들에 따른 수신 장치로부터 피드백 정보를 수신한다. 수신된 피드백 정보는 실시예들에 따른 인코딩에 전달될 수 있다. Transmission 20002 according to embodiments is a step of transmitting encoded data. The transmitting device according to the embodiments receives feedback information from the receiving device according to the embodiments. The received feedback information may be delivered to encoding according to embodiments.
실시예들에 따른 디코딩(20003)은 비트스트림을 수신하고, 비트스트림에 포함된 포인트 클라우드 데이터를 디코딩하는 단계이다. 디코딩하는 단계는 실시예들에 따라 사용자에 관한 피드백 정보를 획득할 수 있다.The decoding 20003 according to embodiments is a step of receiving a bitstream and decoding point cloud data included in the bitstream. The decoding step may obtain feedback information about a user according to embodiments.
실시예들에 따른 렌더링(20004)은 지오메트리 및/또는 어트리뷰트를 포함하는 디코딩된 데이터를 렌더링하는 단계이다.The rendering 20004 according to embodiments is a step of rendering decoded data including geometry and/or attributes.
실시예들에 따른 피드백(20005)은 수신단 및/또는 사용자로부터 피드백 정보를 획득하고, 실시예들에 따른 포인트 클라우드 데이터 전송 방법 및 포인트 클라우드 데이터 수신 방법에 획득된 피드백 정보를 제공하는 단계이다. 실시예들에 따른 피드백 정보는 사용자에 관한 정보를 포함한다. 예를 들어, 피드백 정보는 사용자에 관련된 헤드 오리엔테이션 정보, 사용자에 관련된 뷰포트 정보 등을 포함한다. 실시예들에 따른 피드백 정보는 실시예들에 따른 수신기의 디코더 및/또는 전송기에 제공될 수 있다. 사용자의 헤드 오리엔테이션 및/또는 뷰포트에 대응하는 포인트 클라우드 데이터를 인코딩/디코딩할 수 있다. 모든 시점에 대한 데이터를 인코딩/디코딩할 필요 없이, 사용자에 관련된 데이터를 효율적으로 인코딩/디코딩할 수 있는 효과가 있다.The feedback 20005 according to the embodiments is a step of obtaining feedback information from a receiving end and/or a user, and providing the obtained feedback information to the point cloud data transmission method and the point cloud data reception method according to the embodiments. Feedback information according to embodiments includes information about a user. For example, the feedback information includes head orientation information related to the user, viewport information related to the user, and the like. Feedback information according to embodiments may be provided to a decoder and/or a transmitter of a receiver according to the embodiments. It is possible to encode/decode point cloud data corresponding to the user's head orientation and/or viewport. There is an effect of efficiently encoding/decoding user-related data without the need to encode/decode data for all viewpoints.
실시예에 따른 Point Cloud 콘텐츠 서비스 제공을 위한 과정은 다음과 같다.A process for providing a Point Cloud content service according to an embodiment is as follows.
포인트 클라우드 컴프레션(Point Cloud Compression) 처리는 지오메트리 기반 포인트 클라우드 컴프레션(Geometry-based Point Cloud Compression) 과정을 포함할 수 있다.Point cloud compression processing may include a geometry-based point cloud compression process.
Point Cloud Compression 시스템은 실시예들에 따른 전송 디바이스 및 수신 디바이스를 포함할 수 있다. 실시예들에 따라 전송 디바이스는 인코더, 전송 장치, 전송기 등으로 호칭될 수 있다. 실시예들에 따라 수신 디바이스는 디코더, 수신 장치, 수신기 등으로 호칭될 수 있다. 전송 디바이스는 Point Cloud 비디오를 인코딩하여 비트스트림을 출력할 수 있으며, 이를 파일 또는 스트리밍 (스트리밍 세그먼트) 형태로 디지털 저장매체 또는 네트워크를 통하여 수신 디바이스로 전달할 수 있다. 예를 들어, 디지털 저장 매체는 USB, SD, CD, DVD, 블루레이, HDD, SSD 등 다양한 저장 매체를 포함할 수 있다.The Point Cloud Compression system may include a transmitting device and a receiving device according to embodiments. According to embodiments, the transmission device may be referred to as an encoder, a transmission device, a transmitter, and the like. According to embodiments, the receiving device may be referred to as a decoder, a receiving device, a receiver, or the like. The transmitting device can encode the Point Cloud video and output the bitstream, and can deliver it to the receiving device through a digital storage medium or network in the form of a file or streaming (streaming segment). For example, the digital storage medium may include various storage media such as USB, SD, CD, DVD, Blu-ray, HDD, and SSD.
전송 디바이스는 개략적으로 Point Cloud 비디오 획득부, Point Cloud 비디오 인코더, 전송부를 포함할 수 있다. 수신 디바이스는 개략적으로 수신부, Point Cloud 비디오 디코더 및 렌더러를 포함할 수 있다. 인코더는 Point Cloud 비디오/영상/픽처/프레임 인코딩 장치라고 불릴 수 있고, 디코더는 Point Cloud 비디오/영상/픽처/프레임 디코딩 장치라고 불릴 수 있다. 송신기는 Point Cloud 비디오 인코더에 포함될 수 있다. 수신기는 Point Cloud 비디오 디코더에 포함될 수 있다. 렌더러는 디스플레이부를 포함할 수도 있고, 렌더러 및/또는 디스플레이부는 별개의 디바이스 또는 외부 컴포넌트로 구성될 수도 있다. 상기 전송 디바이스 및 상기 수신 디바이스는 피드백 과정을 위한 별도의 내부 또는 외부의 모듈/유닛/컴포넌트를 더 포함할 수도 있다. 실시예들에 따른 전송 디바이스 및 수신 디바이스에 포함된 각 엘리먼트는 하드웨어, 소프트웨어 및/또는 프로세서로 구성될 수 있다.The transmission device may schematically include a Point Cloud video acquisition unit, a Point Cloud video encoder, and a transmission unit. The receiving device may schematically include a receiving unit, a Point Cloud video decoder, and a renderer. The encoder may be referred to as a Point Cloud video/image/picture/frame encoding device, and the decoder may be referred to as a Point Cloud video/image/picture/frame decoding device. The transmitter can be included in the Point Cloud video encoder. The receiver can be included in the Point Cloud video decoder. The renderer may include a display unit, and the renderer and/or display unit may be configured as a separate device or an external component. The transmitting device and the receiving device may further include separate internal or external modules/units/components for a feedback process. Each element included in the transmitting device and the receiving device according to the embodiments may be configured with hardware, software and/or a processor.
Point Cloud 비디오 획득부는 Point Cloud 비디오의 캡처, 합성 또는 생성 과정 등을 통한 Point Cloud 비디오를 획득하는 과정을 수행할 수 있다. 획득 과정에 의해 다수의 Point들에 대한 3D 위치(x, y, z)/속성 (color, reflectance, transparency 등) 데이터, 예를 들어, PLY(Polygon File format or the Stanford Triangle format) 파일 등이 생성 될 수 있다. 여러 개의 프레임을 갖는 비디오의 경우 하나 이상의 파일들이 획득될 수 있다. 캡처 과정에서 point cloud 관련 메타데이터 (예를 들어 캡처와 관련된 메타데이터 등)가 생성될 수 있다. The point cloud video acquisition unit may perform a process of acquiring a point cloud video through a process of capturing, synthesizing, or generating a point cloud video. 3D location (x, y, z)/property (color, reflectance, transparency, etc.) data for multiple points, for example, PLY (Polygon File format or the Stanford Triangle format) file, is created by the acquisition process Can be. In the case of a video having multiple frames, one or more files may be obtained. During the capture process, point cloud related metadata (eg, metadata related to capture) may be created.
Point Cloud 비디오 인코더는 입력 Point Cloud 비디오를 인코딩할 수 있다. 하나의 비디오는 다수의 프레임을 포함할 수 있으며, 하나의 프레임은 정지 영상/픽처에 대응될 수 있다. 본 문서에서, Point Cloud 비디오라 함은 Point Cloud 영상/프레임/픽처를 포함할 수 있으며, Point Cloud 비디오는 Point Cloud 영상/프레임/픽처와 혼용되어 사용될 수 있다. Point Cloud 비디오 인코더는 Geometry-based Point Cloud Compression (G-PCC) 절차를 수행할 수 있다. Point Cloud 비디오 인코더는 압축 및 코딩 효율을 위하여 예측, 변환, 양자화, 엔트로피 코딩 등의 일련의 절차를 수행할 수 있다. 인코딩된 데이터(인코딩된 비디오/영상 정보)는 비트스트림(bitstream) 형태로 출력될 수 있다. G-PCC 절차에 기반하는 경우 Point Cloud 비디오 인코더는 Point Cloud 비디오를 후술하는 바와 같이 지오메트리 및 어트리뷰트(attribute)로 나누어 인코딩할 수 있다. 이 경우 출력 비트스트림은 지오메트리 비트스트림 및/또는 어트리뷰트 비트스트림을 포함할 수 있다. 상기 어트리뷰트는 (컬러) 텍스쳐 정보를 포함할 수 있다. The Point Cloud Video Encoder can encode the input Point Cloud video. One video may include a plurality of frames, and one frame may correspond to a still image/picture. In this document, a Point Cloud video may include a Point Cloud image/frame/picture, and the Point Cloud video may be used interchangeably with a Point Cloud image/frame/picture. The Point Cloud video encoder can perform a Geometry-based Point Cloud Compression (G-PCC) procedure. The Point Cloud video encoder can perform a series of procedures such as prediction, transform, quantization, and entropy coding for compression and coding efficiency. The encoded data (encoded video/video information) may be output in the form of a bitstream. When based on the G-PCC procedure, the Point Cloud video encoder can encode the Point Cloud video by dividing it into geometry and attributes as described later. In this case, the output bitstream may include a geometry bitstream and/or an attribute bitstream. The attribute may include (color) texture information.
인캡슐레이션부는 비트스트림 형태로 출력된 인코딩된 비디오/영상 정보 또는 데이터를 파일 또는 스트리밍 형태로 인캡슐레이션 할 수 있다. 전송부는 point cloud 비트스트림 혹은 해당 비트스트림을 포함하는 파일/세그먼트를 디지털 저장매체 또는 네트워크를 통하여 수신 디바이스의 수신부로 전달할 수 있다. 디지털 저장 매체는 USB, SD, CD, DVD, 블루레이, HDD, SSD 등 다양한 저장 매체를 포함할 수 있다. 전송부는 미리 정해진 파일 포멧을 통하여 미디어 파일을 생성하기 위한 엘리먼트를 포함할 수 있고, 방송/통신 네트워크를 통한 전송을 위한 엘레멘트를 포함할 수 있다. 수신부는 상기 비트스트림을 추출하여 디코딩 장치로 전달할 수 있다.The encapsulation unit may encapsulate the encoded video/video information or data output in the form of a bitstream in the form of a file or streaming. The transmission unit may transmit the point cloud bitstream or the file/segment including the corresponding bitstream to the reception unit of the receiving device through a digital storage medium or a network. Digital storage media may include various storage media such as USB, SD, CD, DVD, Blu-ray, HDD, and SSD. The transmission unit may include an element for generating a media file through a predetermined file format, and may include an element for transmission through a broadcast/communication network. The receiver may extract the bitstream and transmit it to a decoding device.
Point Cloud 비디오 디코더는 상기 비트스트림을 입력받아 상기 Point Cloud 비디오 인코더의 동작에 대응하는 동작을 수행하여 비디오/영상을 디코딩할 수 있다. 이 경우 Point Cloud 비디오 디코더는 Point Cloud 비디오를 후술하는 바와 같이 지오메트리 및 어트리뷰트(attribute)로 나누어 디코딩할 수 있다. 예를 들어, Point Cloud 비디오 디코더는 입력 비트스트림 내 포함된 지오메트리 비트스트림으로부터 지오메트리를 복원(디코딩)할 수 있고, 상기 입력 비트스트림 내 포함된 어트리뷰트 비트스트림 및 상기 복원된 지오메트리를 기반으로 어트리뷰트를 복원(디코딩)할 수 있다. 상기 복원된 지오메트리에 따른 위치 정보 및 상기 디코딩된 어트리뷰트에 따른 (컬러) 텍스처 어트리뷰트를 기반으로 3차원의 Point Cloud 비디오/영상을 복원할 수 있다. 상술한 바와 같이 상기 어트리뷰트는 (컬러) 텍스쳐 정보를 포함할 수 있다.The Point Cloud video decoder may receive the bitstream and perform an operation corresponding to the operation of the Point Cloud video encoder to decode the video/video. In this case, the Point Cloud video decoder can decode the Point Cloud video by dividing it into geometry and attributes, as described later. For example, the Point Cloud video decoder may restore (decode) geometry from the geometry bitstream included in the input bitstream, and restore attributes based on the attribute bitstream included in the input bitstream and the restored geometry. You can (decode) it. A 3D Point Cloud video/image may be reconstructed based on the location information according to the reconstructed geometry and the (color) texture attribute according to the decoded attribute. As described above, the attribute may include (color) texture information.
렌더러는 디코딩된 Point Cloud 비디오/영상을 렌더링할 수 있다. 렌더링된 비디오/영상은 디스플레이부를 통하여 디스플레이될 수 있다. 사용자는 VR/AR 디스플레이 또는 일반 디스플레이 등을 통하여 렌더링 된 결과의 전부 또는 일부 영역을 볼 수 있다.The renderer can render decoded Point Cloud video/video. The rendered video/image may be displayed through the display unit. The user can view all or part of the rendered result through a VR/AR display or a general display.
피드백 과정은 렌더링/디스플레이 과정에서 획득될 수 있는 다양한 피드백 정보들을 송신측으로 전달하거나 수신측의 디코더에 전달하는 과정을 포함할 수 있다. 피드백 과정을 통해 Point Cloud 비디오 소비에 있어 인터랙티비티(interactivity)가 제공될 수 있다. 실시예에 따라, 피드백 과정에서 헤드 오리엔테이션(Head Orientation) 정보, 사용자가 현재 보고 있는 영역을 나타내는 뷰포트(Viewport) 정보 등이 전달될 수 있다. 실시예에 따라, 사용자는 VR/AR/MR/자율주행 환경 상에 구현된 것들과 상호작용 할 수도 있는데, 이 경우 그 상호작용과 관련된 정보가 피드백 과정에서 송신측 내지 서비스 프로바이더 측으로 전달될 수도 있다. 실시예에 따라 피드백 과정은 수행되지 않을 수도 있다.The feedback process may include a process of transferring various feedback information that can be obtained during the rendering/display process to a transmitter or a decoder at a receiver. Interactivity can be provided in Point Cloud video consumption through the feedback process. Depending on the embodiment, head orientation information, viewport information indicating an area currently viewed by the user, and the like may be transmitted in the feedback process. Depending on the embodiment, the user may interact with those implemented in the VR/AR/MR/autonomous driving environment.In this case, information related to the interaction may be transmitted to the transmitting side or the service provider side in the feedback process. have. Depending on the embodiment, the feedback process may not be performed.
실시예들은 상술한 바와 같이 Point Cloud 비디오 압축에 관한 것이다. 예를 들어, 실시예들이 설명하는 방법은 MPEG (Moving Picture Experts Group)의 PCC (point cloud compression or point cloud coding) 표준 (ex. G-PCC or V-PCC 표준) 또는 차세대 비디오/이미지 코딩 표준에 적용될 수 있다.Embodiments relate to Point Cloud video compression as described above. For example, the method described in the embodiments is based on a point cloud compression or point cloud coding (PCC) standard (ex.G-PCC or V-PCC standard) of MPEG (Moving Picture Experts Group) or a next-generation video/image coding standard. Can be applied.
도3은 실시예들에 따른 Point Cloud 캡처 장비 배열 구성을 나타낸다.3 shows an arrangement of Point Cloud capture equipment according to embodiments.
실시예들에 따른 포인트 클라우드 데이터는 카메라 등에 의해 획득될 수 있다. 실시예들에 따른 캡쳐 방법은 예를 들어 인워드-페이싱 및/또는 아웃워드-페이싱이 있을 수 있다.Point cloud data according to embodiments may be obtained by a camera or the like. The capture method according to embodiments may include, for example, in-word-facing and/or out-of-facing.
실시예들에 따른 인워드-페이싱은 포인트 클라우드 데이터의 오브젝트(Object)를 하나 또는 하나 이상의 카메라들이 오브젝트의 바깥에서 안쪽 방향으로 촬영할 수 있다.In the inword-facing according to the embodiments, one or more cameras may photograph an object of point cloud data from the outside to the inside of the object.
실시예들에 따른 아웃워드-페이싱은 포인트 클라우드 데이터의 오브젝트를 하나 또는 하나 이상의 카메라들이 오브젝트의 안쪽에서 바깥 방향으로 촬영할 수 있다. 예를 들어, 실시예들에 따라 카메라는 4개일 수 있다.In the outward-facing according to the embodiments, one or more cameras may photograph an object of point cloud data from the inside to the outside of the object. For example, according to embodiments, there may be four cameras.
실시예들에 따른 포인트 클라우드 데이터 또는 포인트 클라우드 콘텐츠는 다양한 형태의 3D 공간상에 표현되는 객체/환경의 비디오 또는 정지 영상일 수 있다.Point cloud data or point cloud content according to embodiments may be video or still images of objects/environments expressed in various types of 3D space.
1. 실시예들에 따른 Point Cloud 콘텐츠 획득 과정:1. Point Cloud content acquisition process according to embodiments:
Point Cloud 비디오의 캡처, 합성 또는 생성 과정 등을 통한 Point Cloud 비디오를 획득하는 과정을 의미한다. 획득 과정에 의해 다수의 Point들에 대한 3D 위치(x, y, z)/속성 (color, reflectance, transparency 등) 데이터, 예를 들어, PLY(Polygon File format or the Stanford Triangle format) 파일 등이 생성 될 수 있다. 여러 개의 프레임을 갖는 비디오의 경우 하나 이상의 파일들이 획득될 수 있다. 캡처 과정에서 캡처와 관련된 메타데이터가 생성될 수 있다. It refers to the process of acquiring a Point Cloud video through the process of capturing, synthesizing or creating a Point Cloud video. 3D location (x, y, z)/property (color, reflectance, transparency, etc.) data for multiple points, for example, PLY (Polygon File format or the Stanford Triangle format) file, is created by the acquisition process Can be. In the case of a video having multiple frames, one or more files may be obtained. During the capture process, metadata related to the capture may be generated.
1.1 실시예들에 따른 장비를 통한 Point Cloud 비디오 캡처:1.1 Point Cloud video capture through equipment according to embodiments:
Point Cloud 콘텐츠 캡처를 위해서 깊이(depth)를 획득 할 수 있는 카메라 장비(적외선 패턴 프로젝터와 적외선 카메라의 조합)와 깊이 정보에 대응되는 색상 정보를 추출 할 수 있는 RGB 카메라들의 조합으로 구성될 수 있다. 또는 레이저 펄스를 쏘고 반사되어 돌아오는 시간을 측정하여 반사체의 위치 좌표를 측정하는 레이더 시스템을 이용하는 라이다(LiDAR)를 통해 깊이 정보를 추출할 수 있다. 깊이 정보로부터 3차원 공간상의 점들로 구성된 지오메트리(geometry)의 형태를 추출하고, RGB 정보로부터 각 점의 색상/반사를 표현하는 속성(attribute)을 추출할 수 있다. Point Cloud 콘텐츠는 점들에 대한 위치(x, y, z)와 색상(YCbCr 또는 RGB) 또는 반사율(r) 정보로 구성될 수 있다. It can be composed of a combination of camera equipment (a combination of an infrared pattern projector and an infrared camera) that can acquire depth for capturing Point Cloud content and RGB cameras that can extract color information corresponding to the depth information. Alternatively, depth information can be extracted through LiDAR, which uses a radar system that measures the position coordinates of the reflector by shooting a laser pulse and measuring the return time. A shape of a geometry composed of points in a three-dimensional space can be extracted from depth information, and an attribute representing the color/reflection of each point can be extracted from RGB information. Point Cloud content may be composed of information about the location (x, y, z) and color (YCbCr or RGB) or reflectance (r) of the points.
Point Cloud 콘텐츠는 외부 환경을 캡처하는 아웃워드-페이싱(outward-facing) 방식과, 중심 객체를 캡처하는 인워드-페이싱(inward-facing) 방식이 있을 수 있다. VR/AR 환경에서 객체(예-캐릭터, 선수, 물건, 배우 등 핵심이 되는 객체)를 360도로 사용자가 자유롭게 볼 수 있는 Point Cloud 콘텐츠로 구성할 경우, 캡처 카메라의 구성은 인워드-페이싱 방식을 사용하게 될 수 있다. 자율 주행과 같이 자동차에서 현재 주변 환경을 Point Cloud 콘텐츠로 구성할 경우, 캡처 카메라의 구성은 아웃워드-페이싱 방식을 사용하게 될 수 있다. 여러대의 카메라를 통해 Point Cloud 콘텐츠가 캡처 될 수 있기 때문에, 카메라들 사이의 글로벌 공간 좌표계(global coordinate system)를 설정하기 위해 콘텐츠를 캡처 하기 전에 카메라의 캘리브레이션 과정이 필요할 수도 있다.Point Cloud content may include an outward-facing method for capturing an external environment and an inward-facing method for capturing a central object. In a VR/AR environment, when objects (e.g., key objects such as characters, players, objects, actors, etc.) are composed of Point Cloud contents that users can freely view at 360 degrees, the composition of the capture camera uses the inword-facing method. Can be used. When the current surrounding environment is composed of Point Cloud contents in a car, such as autonomous driving, the configuration of the capture camera may use the outward-facing method. Since Point Cloud content can be captured through multiple cameras, it may be necessary to calibrate the camera before capturing the content in order to set up a global coordinate system between the cameras.
1.2 실시예들에 따른 장비 외 Point Cloud 비디오 합성:1.2 Out-of-device point cloud video synthesis according to embodiments:
실시예들에 따른 Point Cloud 콘텐츠는 다양한 형태의 3D 공간상에 나타내어지는 객체/환경의 비디오 또는 정지 영상일 수 있다.Point cloud content according to embodiments may be a video or still image of an object/environment displayed on various types of 3D space.
그 외에 Point Cloud 콘텐츠의 획득 방법은 캡처 된 Point Cloud 비디오를 기반으로 임의의 Point Cloud 비디오가 합성 될 수 있다. In addition, the acquisition method of Point Cloud content can be composed of arbitrary Point Cloud video based on the captured Point Cloud video.
또는 컴퓨터로 생성된 가상의 공간에 대한 Point Cloud 비디오를 제공하고자 하는 경우, 실제 카메라를 통한 캡처가 수행되지 않을 수 있다. 이 경우 단순히 관련 데이터가 생성되는 과정으로 해당 캡처 과정이 갈음될 수 있다. Or, if you want to provide Point Cloud video for a virtual space created by a computer, capture through an actual camera may not be performed. In this case, the capture process may be replaced with a process in which related data is simply generated.
1.3 실시예들에 따른 Point Cloud 비디오 후처리:1.3 Point Cloud video post-processing according to embodiments:
캡처된 Point Cloud 비디오는 콘텐츠의 질을 향상시키기 위한 후처리가 필요할 수 있다. The captured Point Cloud video may require post-processing to improve the quality of the content.
영상 캡처 과정에서 카메라 장비가 제공하는 범위에서 최대/최소 깊이 값을 조정할 수 있지만 그 이후에도 원하지 않는 영역의 points 데이터들이 포함될 수 있어서 원하지 않는 영역(예, 배경)을 제거 한다거나, 또는 연결된 공간을 인식하고 구멍(spatial hole)을 메우는 후처리를 수행할 수 있다.During the image capture process, the maximum/minimum depth value can be adjusted within the range provided by the camera equipment, but point data of the unwanted area may be included even after that, removing the unwanted area (eg, background) or recognizing the connected space. Post-treatment of filling the spatial hole can be performed.
또한 공간 좌표계를 공유하는 카메라들로부터 추출된 Point Cloud는 캘리브레이션 과정을 통해 획득된 각 카메라의 위치 좌표를 기준으로 각 point들에 대한 글로벌 좌표계로의 변환 과정을 통해 하나의 콘텐츠로 통합될 수 있다. 이를 통해 하나의 넓은 범위의 Point Cloud 콘텐츠를 생성할 수도 있고, 또는 point들의 밀도가 높은 Point Cloud 콘텐츠를 획득할 수도 있다.In addition, the Point Cloud extracted from the cameras sharing the spatial coordinate system can be integrated into a single content through the conversion process to the global coordinate system for each point based on the position coordinates of each camera acquired through the calibration process. Through this, a wide range of Point Cloud contents can be created, or Point Cloud contents with a high density of points can be obtained.
도4는 실시예들에 따른 포인트 클라우드 인코더(Point Cloud Encoder)를 나타낸다.4 shows a point cloud encoder according to embodiments.
실시예들에 따른 포인트 클라우드 인코더는 좌표계 변환부(Transformation Coordinates, 40000), 양자화(Quantize and Remove Points (Voxelize), 40001), 옥트리 분석부(Analyze Octree, 40002), 서페이스 어프록시메이션 분석부(Analyze Surface Approximation, 40003), 아리스메틱 인코더(Arithmetic Encode, 40004), 지오메트리 리컨스럭션부(Reconstruct Geometry, 40005), 컬러 변환부(Transform Colors, 40006), 속성 변환부(Transfer Attributes, 40007), RATH 변환부(40008), LOD생성부(Generated LOD, 40009), Lifting 변환부(40010), 계수 양자화부(Quantize Coefficients, 40011) 및/또는 아리스메틱 인코딩부(Arithmetic Encode, 40012)를 포함한다.The point cloud encoder according to the embodiments includes a coordinate system transform unit (Transformation Coordinates, 40000), a quantization (Quantize and Remove Points (Voxelize), 40001), an octree analysis unit (Analyze Octree, 40002), and a surface aproxiation analysis unit (Analyze Surface Approximation, 40003), Arithmetic Encode (40004), Reconstruct Geometry (40005), Transform Colors (40006), Transfer Attributes (40007), RATH Transformation A unit 40008, an LOD generation unit (Generated LOD) 40009, a Lifting transform unit (40010), a coefficient quantization unit (Quantize Coefficients, 40011) and/or an Arithmetic Encode (40012) are included.
실시예들에 따른 좌표계 변환부(Transformation Coordinates, 40000)는 포지션들(positions)을 수신하여 좌표계(coordinate)로 변환한다. 예를 들어, 포지션들이 3차원 (XYZ) 위치 정보로 변환될 수 있다. 실시예들에 따른 3차원 공간 상의 위치 정보는 지오메트리 정보로 지칭될 수 있다.A coordinate system transformation unit (Transformation Coordinates, 40000) according to embodiments receives positions and transforms them into a coordinate system. For example, positions may be converted into three-dimensional (XYZ) position information. Position information in a 3D space according to embodiments may be referred to as geometry information.
실시예들에 따른 양자화(Quantize and Remove Points (Voxelize), 40001)는 지오메트리 정보를 양자화한다. 예를 들어, 포인트들의 최소 위치 값을 기준으로 포인트들의 위치 값을 조정하여 양자화할 수 있다. 실시예들에 따른 양자화(40001)는 포인트들을 복셀화(voxelization)할 수 있다. 복셀화는 3차원 공간 상의 위치정보를 표현하는 최소한의 유닛을 의미한다.Quantize and Remove Points (Voxelize) 40001 according to embodiments quantizes geometry information. For example, it is possible to quantize by adjusting the position values of the points based on the minimum position values of the points. The quantization 40001 according to embodiments may voxelize points. Voxelization refers to the minimum unit expressing position information in 3D space.
실시예들에 따른 옥트리 분석부(Analyze Octree, 40002)는 복셀을 옥트리(octree) 구조로 나타낸다. 실시예들에 따른 옥트리는 복셀 공간을 팔진 트리 구조에 기반하여 포인트들을 표현한다.An octree analysis unit 40002 according to embodiments represents a voxel in an octree structure. The octree according to the embodiments represents points based on a tree structure in which voxel space is occupied.
실시예들에 따른 서페이스 어프록시메이션 분석부(Analyze Surface Approximation, 40003)는 옥트리를 분석하고, 근사화할 수 있다. 실시예들에 따른 옥트리 분석 및 근사화는 효율적으로 옥트리 및 복셀화를 제공하기 위해서 다수의 포인트들을 포함하는 영역에 대해 복셀화하기 위해 분석하는 과정이다.An Analyze Surface Approximation 40003 according to embodiments may analyze and approximate an octree. The octree analysis and approximation according to the embodiments is a process of analyzing to voxelize a region including a plurality of points in order to efficiently provide octree and voxelization.
실시예들에 따른 아리스메틱 인코더(Arithmetic Encode, 40004)는 옥트리 및/또는 근사화된 옥트리를 인코딩한다. 예를 들어, 인코딩 방식은 Arithmetic 인코딩 방법을 포함한다. 인코딩의 결과로 지오메트리 비트스트림(Geometry bitstream)이 생성된다.The Arithmetic Encode 40004 according to embodiments encodes an octree and/or an approximated octree. For example, the encoding method includes an Arithmetic encoding method. As a result of encoding, a geometry bitstream is generated.
실시예들에 따른 지오메트리 리컨스럭션부(Reconstruct Geometry, 40005)는 옥트리 및/또는 근사화된 옥트리를 재구성한다. 지오메트리 리컨스럭션부(40005)는 포인트들의 분포를 분석한 결과에 기반하여 옥트리/복셀을 재구성한다.The Reconstruct Geometry 40005 according to embodiments reconstructs an octree and/or an approximated octree. The geometry reconstruction unit 40005 reconstructs an octree/voxel based on a result of analyzing the distribution of points.
실시예들에 따른 컬러 변환부(Transform Colors, 40006)는 속성들(Attribute)에 포함된 컬러 값(또는 텍스쳐)을 변환한다. 예를 들어, 색상 정보의 포맷이 변환될 수 있다. 실시예들에 따른 컬러 변환부(번호)는 컬러 값에 따라 옵셔널할 수 있다. 실시예들에 따른 컬러 변환(40006)은 포인트 클라우드 속성 코딩 방식 중의 하나이다.The color transform unit 40006 according to embodiments transforms color values (or textures) included in attributes. For example, the format of color information may be converted. The color conversion unit (number) according to the embodiments may be optional according to a color value. The color transformation 40006 according to the embodiments is one of the point cloud attribute coding schemes.
실시예들에 따른 속성 변환부(Transfer Attributes, 40007)는 포지션들 및/또는 재구성된 지오메트리 정보에 기반하여 속성 정보를 변환한다. 예를 들어, 속성 변환부(번호)는 복셀에 포함된 포인트의 위치 값을 기반으로 그 위치의 포인트가 가지는 속성값을 변환할 수 있다. 실시예들에 따른 속성 변환(40007)은 포인트 클라우드 속성 코딩 방식 중의 하나이다.The attribute conversion unit (Transfer Attributes 40007) according to embodiments converts attribute information based on positions and/or reconstructed geometry information. For example, the attribute conversion unit (number) may convert an attribute value of a point at that position based on the position value of a point included in the voxel. The attribute transformation 40007 according to the embodiments is one of the point cloud attribute coding schemes.
실시예들에 따른 RATH 변환부(40008)는 재구성된 지오메트리 정보에 기반하여 속성 정보를 예측하는 인코딩 방식이다. 예를 들어, RATH 변환부(40008)는 옥트리의 하위 레벨에 있는 노드와 연관된 속성 정보에 기반하여 옥트리의 상위 레벨에 있는 노드의 속성 정보를 예측할 수 있다. 실시예들에 따른 RATH 변환(40008)은 포인트 클라우드 속성 코딩 방식 중의 하나이다.The RATH transform unit 40008 according to embodiments is an encoding method that predicts attribute information based on reconstructed geometry information. For example, the RATH conversion unit 40008 may predict attribute information of a node at a higher level of the octree based on attribute information associated with a node at a lower level of the octree. The RATH transform 40008 according to embodiments is one of point cloud attribute coding schemes.
실시예들에 따른 LOD생성부(Generated LOD, 40009)는 포인트들에 대한 LOD(Level of Detail)을 생성한다. 실시예들에 따른 LOD는 포인트들을 구별하는 그룹의 유닛이다. 포인트들은 LOD 별로 분류될 수 있다. 실시예들에 따른 LOD 방식을 사용한 속성 코딩 방식을 예측 변환(Prediction Transformation)이라고 지칭할 수 있다.The LOD generation unit (Generated LOD 40009) according to the embodiments generates a level of detail (LOD) for points. The LOD according to the embodiments is a unit of a group that distinguishes points. Points can be classified by LOD. An attribute coding scheme using the LOD scheme according to embodiments may be referred to as prediction transformation.
실시예들에 따른 Lifting 변환부(40010)는 포인트들을 LOD별로 구성하고, 포인트 클라우드의 속성값을 가중치에 기반하여 변환하는 방법을 말한다. 실시예들에 따른 Lifting 변환(40010)은 포인트 클라우드 속성 코딩 방식 중의 하나이다.The lifting conversion unit 40010 according to embodiments refers to a method of organizing points for each LOD and converting an attribute value of a point cloud based on a weight. The Lifting transform 40010 according to embodiments is one of point cloud attribute coding schemes.
실시예들에 따른 포인트 클라우드 속성 코딩 방식은 RAHT변환을 사용하거나, LOD생성 및 리프팅 변환을 사용하거나, RAHT/LOD/Lifting 조합에 따른 방식을 사용할 수 있다.The point cloud attribute coding method according to the embodiments may use RAHT transformation, LOD generation and lifting transformation, or a method according to a RAHT/LOD/Lifting combination.
실시예들에 따른 계수 양자화부(Quantize Coefficients, 40011)은 속성 코딩된 포인트 클라우드 데이터를 계수에 기반하여 양자화한다.The coefficient quantization unit 40011 according to embodiments quantizes attribute-coded point cloud data based on coefficients.
실시예들에 따른 아리스메틱 인코딩부(Arithmetic Encode, 40012)는 양자화된 포인트 클라우드 데이터를 아리스메틱 코딩 스킴에 기반하여 인코딩한다.An Arithmetic Encode 40012 according to embodiments encodes the quantized point cloud data based on an Arithmetic coding scheme.
실시예들에 따른 포인트 클라우드 인코더의 각 구성요소는 하드웨어, 소프트웨어, 프로세서 및/또는 그것들의 조합 등에 의해 수행될 수 있다. 실시예들에 따른 포인트 클라우드 인코더의 각 구성요소의 상세 동작은 이하에서 설명한다.Each component of the point cloud encoder according to the embodiments may be performed by hardware, software, a processor, and/or a combination thereof. Detailed operations of each component of the point cloud encoder according to the embodiments will be described below.
2. 실시예들에 따른 Point Cloud 데이터 인코딩 과정:2. Point Cloud data encoding process according to embodiments:
획득된 Point Cloud 데이터는 네트워크의 상황 혹은 애플리케이션 등에 따라 Point Cloud 콘텐츠의 질(예를 들어 무손실-lossless, 손실-lossy, near-lossless)을 조절하기 위하여 점들을 위치/색상 정보를 재구성하여 인코딩 과정 등을 거칠 수 있다. The acquired Point Cloud data is encoded by reconstructing the location/color information of the points in order to adjust the quality of the Point Cloud content (for example, lossless-lossless, loss-lossy, near-lossless) according to network conditions or applications. Can go through.
Point들의 위치 정보 재구성/인코딩 과정을 지오메트리 코딩이라고 하고, 각 point 들과 연관된 속성 (예를 들어 색상) 정보 재구성/인코딩 과정을 속성(attribute) 코딩이라고 지칭할 수 있다.A process of reconstructing/encoding location information of points may be referred to as geometry coding, and a process of reconstructing/encoding information on attributes (eg, color) associated with each point may be referred to as attribute coding.
2.1 실시예들에 따른 Point Cloud 지오메트리 코딩:2.1 Point Cloud geometry coding according to embodiments:
획득된 전체 Point Cloud의 각 point들을 손실 없이 전송할 수도 있지만, 그럴 경우 콘텐츠 데이터 크기가 크기 때문에 리얼타임 스트리밍이 가능하지 않다. 사례중에 30 fps의 경우 60 Gbps인 Point Cloud 콘텐츠가 있다. 콘텐츠 데이터 사이즈는 캡처 장비에 따라 다를 수 있다. Point Cloud 콘텐츠 서비스를 제공하기 위해서는 최대 타깃 비트율(bitrate)에 맞추어 콘텐츠를 재구성 하는 과정이 필요하다.Each point of the acquired point cloud can be transmitted without loss, but in that case, real-time streaming is not possible because the size of the content data is large. Among the examples, there is Point Cloud content that is 60 Gbps at 30 fps. The content data size may vary depending on the capture device. In order to provide a Point Cloud content service, it is necessary to reconstruct the content according to the maximum target bitrate.
2.1.1 실시예들에 따른 Point들의 위치에 대한 양자화(quantization):2.1.1 Quantization of the positions of points according to embodiments:
획득된 전체 Point Cloud의 각 point들의 위치 정보를 재구성하는 첫번째 단계는 위치 정보에 대한 양자화 과정이다. 전체 point들의 최소 x, y, z 위치 값을 찾아서 각 point들의 위치 값에서 빼주고, 설정된 양자 스케일(quantization scale)값을 곱해준 후, 가까운 정수(integer) 값으로 내리거나 올려준다. The first step in reconstructing the location information of each point of the entire acquired point cloud is the quantization process for the location information. Find the minimum x, y, z position values of all points, subtract them from the position values of each point, multiply by the set quantization scale value, and lower or increase the nearest integer value.
2.1.2 실시예들에 따른 Point들의 복셀화(voxelization):2.1.2 Voxelization of Points according to embodiments:
양자화 과정이 적용된 Point Cloud의 각 point들을 재구성하기 위해서 point들의 위치 정보를 기반으로 옥트리(octree)기반 복셀화(voxelization)를 수행한다.In order to reconstruct each point of the point cloud to which the quantization process is applied, octree-based voxelization is performed based on the location information of the points.
2차원 이미지/비디오의 정보를 가지고 있는 최소 단위인 픽셀(pixel)과 마찬가지로 3차원에 존재하는 Point들의 정보를 저장하기 위하여 3차원 공간을 각각의 축(x, y, z축)을 기반으로 유닛(unit=1.0)이 되도록 나누어 생기는 3차원 큐빅(cubic) 공간을 복셀(voxel)이라고 하며 3차원 공간 상에 존재하는 point을 특정 복셀로 매칭하는 과정을 복셀화 한다고 한다. 복셀은 볼륨(volume)과 픽셀(pixel)을 조합한 혼성어이다. 복셀은 복셀군(voxel group)과의 위치 관계에서 공간 좌표를 추정 할 수 있으며, 픽셀과 마찬가지로 색상 또는 반사율 정보를 가지고 있을 수 있다.In order to store information of points that exist in 3D like pixels, which are the smallest units for 2D image/video information, the 3D space is a unit based on each axis (x, y, z axis). The three-dimensional cubic space that is divided into (unit=1.0) is called a voxel, and the process of matching points existing in the three-dimensional space with a specific voxel is said to be voxelized. Voxel is a hybrid word that combines volume and pixel. A voxel can estimate spatial coordinates in a positional relationship with a voxel group, and like a pixel, can have color or reflectance information.
도5는 실시예들에 따른 3차원 공간상의 복셀을 나타낸다.5 illustrates voxels in a 3D space according to embodiments.
하나의 복셀에 하나의 point만 존재하지 않을 수 있다. 하나의 복셀에 여러 개의 point 관련 정보를 가지고 있을 수 있다. 또는 하나의 복셀에 하나의 포인트 정보로 통합해서 가지고 있게 할 수도 있다. 이러한 조절은 선택적으로 수행될 수 있다. 하나의 복셀에 하나의 포인트로 표현되는 경우, 복셀 내에 존재하는 point들에 대한 위치 값을 기반으로 복셀의 중앙점의 위치값이 설정될 수 있으며 이와 연관된 속성 변환 (attribute transform) 과정을 수행할 필요가 있다. 예를 들어 속성 변환 과정은 복셀에 포함된 포인트들 또는 복셀의 중앙 위치 값과 특정 반경 내에 이웃하고 있는 포인트들의 색상 또는 반사율의 평균값으로 조정할 수도 있다(2.2.2절 참조).Only one point may not exist in one voxel. One voxel can have multiple point-related information. Alternatively, one voxel can be integrated into one point information to have it. This adjustment can be performed selectively. When one voxel is expressed as one point, the position value of the center point of the voxel can be set based on the position values of points existing in the voxel, and an attribute transform process related thereto needs to be performed. There is. For example, the attribute conversion process may be adjusted to the average value of the points included in the voxel or the center position value of the voxel and the color or reflectance of the neighboring points within a specific radius (refer to Section 2.2.2).
도6은 실시예들에 따른 옥트리와 occupancy 코드의 예시를 나타낸다.6 shows an example of an octree and an occupancy code according to embodiments.
2.1.3 실시예들에 따른 Occupied 복셀 관리를 위한 옥트리(octree):2.1.3 An octree for Occupied voxel management according to embodiments:
이러한 복셀의 영역/위치를 효율적으로 관리하기 위해서 Point Cloud 콘텐츠는 옥트리를 사용한다. In order to efficiently manage the area/location of these voxels, Point Cloud contents use octrees.
2차원 이미지의 공간을 효율적으로 관리하기 위해서 전체 공간을 x축, y축 기반으로 나누면 4개의 공간이 생기고, 4개의 각각의 공간을 다시 x축, y축 기반으로 나누면 다시 각각의 작은 공간에 대해서 4개의 공간이 생기게 된다. 리프 노드(leaf node)가 픽셀이 될 때까지 영역을 나눠주고, 영역의 크기 및 위치 별로 효율적으로 관리하기 위해 쿼드트리(quadtree)를 자료구조를 사용할 수 있다. 이와 마찬가지로 3차원 공간을 공간의 위치 및 크기 별로 효율적으로 관리하기 위해 같은 방식을 적용한다. 단, z축이 추가 되기 때문에, x축, y축, z축 기반으로 나누면 8개의 공간이 생기고, 8개의 각각의 공간을 다시 x축, y축, z축 기반으로 나누면 다시 각각의 작은 공간에 대해서 8개의 공간이 생기게 된다. 리프 노드가 복셀이 될 때까지 영역을 나눠주고, 영역의 크기 및 위치 별로 효율적으로 관리하기 위해 8개의 자식 노드(children node) 영역을 관리할 수 있는 옥트리(octree) 자료구조를 사용할 수 있다. In order to efficiently manage the space of the 2D image, if the entire space is divided by the x-axis and y-axis, 4 spaces are created, and each of the 4 spaces is divided by the x-axis and y-axis. There are 4 spaces. In order to divide the area until the leaf node becomes a pixel, and to efficiently manage the area by size and location, a data structure of a quadtree can be used. Similarly, the same method is applied to efficiently manage the 3D space according to the location and size of the space. However, since the z-axis is added, 8 spaces are created by dividing it based on the x-axis, y-axis, and z-axis, and if each of the eight spaces is divided again based on the x-axis, y-axis, and z-axis, each small space There are 8 spaces. In order to divide a region until a leaf node becomes a voxel, and to efficiently manage each region size and location, an octree data structure capable of managing eight child node regions can be used.
옥트리를 사용하여 point들의 위치가 반영된 복셀을 관리하기 때문에 옥트리의 전체 볼륨은(0,0,0) ~ (2d, 2d,2d)로 설정 되어야 한다. 2d는 Point Cloud 비디오의 전체 포인트를 감싸는 가장 작은 바운딩 박스를 구성하는 값으로 설정되고, d는 옥트리의 깊이(depth)가 된다. d값을 구하는 식은 다음과 같을 수 있다. (x_n^int,y_n^int,z_n^int )는 양자화 과정이 적용된 point들의 위치 값이다.Since the octree is used to manage the voxels reflecting the positions of the points, the total volume of the octree should be set to (0,0,0) ~ (2d, 2d,2d). 2d is set to a value constituting the smallest bounding box surrounding the entire point of the Point Cloud video, and d is the depth of the octree. The formula to find the d value can be as follows. (x_n^int,y_n^int,z_n^int) is the position value of the points to which the quantization process is applied.
Figure PCTKR2019018176-appb-img-000001
Figure PCTKR2019018176-appb-img-000001
옥트리는 occupancy 코드로 표현될 수 있다. 각 노드 내에 point가 포함되어 있으면 1로, point가 없으면 0으로 표현 된다. 각 노드는 8개의 자식 노드에 대한 occupancy 여부를 나타내는 8bit의 비트맵(bitmap)을 가지고 있다. occupancy 코드를 arithmetic 코더를 통해 엔트로피 코딩을 수행한다. 생성된 occupancy 코드를 바로 인코딩 할 수도 있고, 압축 효율을 높이기 위해 인트라/인터 코딩과정을 통해서 인코딩 될 수도 있다. 수신기에서는 occupancy 코드를 통해서 옥트리를 재구성 할 수 있다.The octree can be expressed as an occupancy code. If a point is included in each node, it is expressed as 1, and if there is no point, it is expressed as 0. Each node has an 8-bit bitmap indicating occupancy for 8 child nodes. Entropy coding of occupancy code through arithmetic coder. The generated occupancy code may be directly encoded or may be encoded through an intra/inter coding process to increase compression efficiency. In the receiver, the occupancy code can be used to reconstruct the octree.
2.1.4 실시예들에 따른 Sparse 옥트리(octree)를 위한 처리 방안:2.1.4 Processing scheme for Sparse octree according to embodiments:
Point Cloud 비디오의 point들에 대한 위치 정보 저장을 위해 복셀화 및 옥트리를 사용하지만 point들이 많은 없는 특정 영역의 경우, 모든 영역을 복셀화 시키는 것이 비효율적일 수도 있다. 예를 들어, 특정 영역에는 point들이 거의 존재하지 않아서 전체 옥트리를 구성할 필요가 없을 수 있다. 이러한 경우는 조기 종료(early termination) 방안이 필요하다. 이러한 경우에 대비해서, 특정 영역의 경우, 즉 옥트리의 특정 노드의 경우(그러나 노드가 리프 노드가 아닌 경우), 노드를 8개의 서브 노드(자식 노드)로 나누는 대신 해당 영역에 대해서만 직접 point들의 위치를 전송할 수도 있고, 또는 표면 모델(surface model)을 사용해서 노드 영역 내의 포인트의 위치를 복셀 기반으로 재구성할 수 있다. Although the voxelization and octree are used to store the location information of the points of the Point Cloud video, in the case of a specific area where there are not many points, it may be inefficient to voxelize all areas. For example, there are few points in a specific area, so it may not be necessary to construct the entire octree. In this case, an early termination scheme is needed. In case of such a case, in the case of a specific area, that is, a specific node of the octree (but the node is not a leaf node), instead of dividing the node into 8 sub-nodes (child nodes), the location of the points directly for that area only. Either by transmitting the s, or by using a surface model, the position of the point in the node area can be reconstructed based on voxels.
특정 노드에 대해서 직접 각 point들의 위치를 전송하는 직접 모드(direct mode)의 경우를 가능하게 하기 위해서 조건 만족 여부를 체크할 수 있다. 직접 모드 사용 옵션이 활성화 되어 있어야 하며, 해당 노드는 리프 노드여서는 안 되고, 특정 노드 내에 한계치(threshold) 이하의 points들이 존재하는 경우이어야만 하며, 그리고 전체적으로 포인트의 위치를 직접 전송할 수 있는 총 points개수의 한계를 넘으면 안 된다. 이 모든 경우는 만족하는 경우, 해당 노드에 대해서 직접적으로 point의 위치 값을 arithmetic 코더로 엔트로피 코딩하여 전송할 수 있다. In order to enable the case of direct mode, which directly transmits the location of each point to a specific node, it is possible to check whether the condition is satisfied. The option to use direct mode must be enabled, the node must not be a leaf node, and points below the threshold must exist within a specific node, and the total number of points that can directly transmit the point location. Do not exceed the limit of. If all of these cases are satisfied, the position value of the point can be directly entropy-coded with an arithmetic coder for the corresponding node and transmitted.
옥트리의 특정 레벨(레벨은 옥트리의 깊이 d보다는 작은 경우)을 정하고, 그 레벨부터는 표면 모델(surface model)을 사용하여 노드 영역내의 point의 위치를 복셀 기반으로 재구성할 수 있는 트리숩 모드(trisoup mode)를 선택적으로 적용할 수도 있다.트리숩 모드 사용시, 트리숩 방법이 적용될 레벨을 지정한다. 예를 들어, 지정된 레벨이 옥트리의 깊이와 같으면 트리숩 모드는 적용되지 않는다. 지정된 레벨은 옥트리의 깊이값 보다 작아야 트리숩 방법이 적용된다. 지정된 레벨의 노드들의 3차원 정육면체 영역을 블록(block)이라고 한다. 하나의 블록은 하나 이상의 복셀을 포함할 수 있다. 상기 블록 또는 복셀은 브릭(brick)에 대응될 수도 있다. 각 블록은 12개의 엣지(edge)를 가지고 있을 수 있으며, 각 엣지가 point를 가진 복셀(occupied voxel)과 인접했는지 여부에 체크한다. 각 엣지는 여러 개의 occupied 복셀들과 인접할 수 있다. 복셀과 인접한 edge의 특정 위치를 vertex라고 하며, 하나의 엣지에 여러 개의 occupied 복셀들과 인접한 경우에는 해당 위치들의 평균 위치를 vertex로 정할 수 있다. Vertex 가 존재하는 경우 엣지의 시작점(x, y, z), 엣지의 방향벡터(Δx, Δy, Δz), vertex 위치 값 (엣지 내의 상대적 위치 값)들을 arithmetic 코더로 엔트로피(entropy) 코딩할 수 있다. A trisoup mode that sets a specific level of the octree (if the level is less than the depth d of the octree), and from that level, uses a surface model to reconstruct the position of points in the node area based on voxels. ) Can also be selectively applied. When using the treetop mode, it specifies the level to which the treetop method is applied. For example, if the specified level is the same as the depth of the octree, the trisoup mode is not applied. The specified level must be less than the depth value of the octree to apply the trisoup method. The three-dimensional cube area of nodes of a designated level is called a block. One block may include one or more voxels. The block or voxel may correspond to a brick. Each block may have 12 edges, and it is checked whether each edge is adjacent to an occupied voxel having a point. Each edge can be adjacent to multiple occupied voxels. A specific position of an edge adjacent to the voxel is called a vertex, and when several occupied voxels are adjacent to one edge, the average position of the corresponding positions may be determined as a vertex. When a vertex is present, entropy coding of the starting point (x, y, z) of the edge, direction vectors of the edge (Δx, Δy, Δz), and vertex position values (relative position values within the edge) with an arithmetic coder .
이와 같은 방법을 적용하는 경우, 삼각형 재구성(triangle reconstruction), 업-샘플링(up-sampling), 복셀화 과정을 통하여 지오메트리 복원 과정을 수행할 수 있다. In the case of applying such a method, a geometry restoration process may be performed through a process of triangle reconstruction, up-sampling, and voxelization.
엣지의 시작점, 엣지의 방향 벡터와 vertex의 위치값을 기반으로 삼각형을 재구성하기 위해서는, 우선 ①각 vertex들의 중심(centroid)값을 계산하고, ②각 vertex 값에서 중심 값을 뺀 값들에 ③자승을 수행하고 그 값을 모두 더한 값을 구한다. In order to reconstruct a triangle based on the starting point of the edge, the direction vector of the edge, and the position value of the vertex, first, calculate the centroid value of each vertex, and ② add the square to the values subtracting the center value from each vertex. And find the sum of all the values.
Figure PCTKR2019018176-appb-img-000002
Figure PCTKR2019018176-appb-img-000002
더해진 값의 최소값을 구하고, 최소값이 있는 축에 따라서 프로젝션 과정을 수행한다. 예를 들어 x 요소(element)가 최소인 경우, 각 vertex를 블록의 중심으로 기준으로 x축으로 프로젝션 시키고, (y, z) 평면으로 프로젝션 시킨다. (y, z)평면으로 프로젝션 시키면 나오는 값이 (ai, bi)라면 atan2(bi, ai)를 통해 θ값을 구하고, θ값을 기준으로 vertex들을 정렬한다. Vertex의 수에 따라서 삼각형을 구성하는 방식은 정렬된 순서에 맞춰서 다음 테이블과 같이 조합하여 삼각형들을 생성한다. 예를 들어, 4개의 vertices가 존재한다면, 두 개의 삼각형을 구성할 수 있다. 첫번째 삼각형은 정렬된 vertices로부터 첫번째, 두번재, 세번째 vertex로 구성되며, 두번째 삼각형은 세번째, 네번째, 첫번째 vertex로 구성된다. The minimum value of the added value is obtained, and the projection process is performed along the axis with the minimum value. For example, when the x element is the minimum, each vertex is projected on the x-axis based on the center of the block, and is projected on the (y, z) plane. If the projected value on the (y, z) plane is (ai, bi), θ is calculated through atan2(bi, ai), and vertices are aligned based on the θ value. The method of composing triangles according to the number of vertices is to create triangles by combining them according to the sorted order as shown in the following table. For example, if there are 4 vertices, you can construct two triangles. The first triangle consists of the first, second, and third vertices from the aligned vertices, and the second triangle consists of the third, fourth and first vertices.
Figure PCTKR2019018176-appb-img-000003
Figure PCTKR2019018176-appb-img-000003
업샘플링 과정은 삼각형의 엣지를 따라서 중간에 점들을 추가하여 복셀화 하기 위해서 수행된다. 업샘플링 요소 값(upsampling factor)과 블록의 너비를 기준으로 추가 점들을 생성한다. 이러한 점들을 refined vertices라고 한다. Refined vertices들을 복셀화 하고, 속성 코딩 시 이렇게 복셀화 된 위치 값을 기준으로 이후 속성 (예, 색상) 코딩한다. The upsampling process is performed to voxelize by adding points in the middle along the edge of the triangle. Additional points are created based on the upsampling factor and the width of the block. These points are called refined vertices. Refined vertices are voxelized, and attributes (eg, colors) are coded based on the voxelized position value when attribute coding.
도7은 실시예들에 따른 이웃 노드 패턴의 예시를 나타낸다.7 illustrates an example of a neighbor node pattern according to embodiments.
2.1.5 실시예들에 따른 지오메트리 코딩:2.1.5 Geometry coding according to embodiments:
Point cloud 콘텐츠의 point의 위치/색상 데이터는 재구성되어 arithmetic 코더를 사용하여 엔트로피 코딩을 수행할 수 있다. Point Cloud 비디오의 데이터 크기가 크기 때문에, 압축 효율은 중요한 요소가 될 수 있다. 따라서 context adaptive arithmetic 코딩을 적용을 통해 압축 효율을 높이는 방안이 적용될 수 있다. The location/color data of the point of the point cloud content is reconstructed, and entropy coding can be performed using an arithmetic coder. Because the data size of Point Cloud video is large, compression efficiency can be an important factor. Therefore, a method of increasing compression efficiency can be applied by applying context adaptive arithmetic coding.
지오메트리 코딩은 옥트리 각 노드의 occupancy 코드를 인코딩 한다. Occupancy 코드를 바로 arithmetic 코드를 사용하여 엔트로피 코딩을 할 수 있지만, 주변 이웃 노드들의 occupancy 여부를 기반(인트라 기반)으로 또는 이전 프레임의 occupancy 코드를 기반(인터 기반)으로 adaptive하게 인코딩 될 수도 있다. 여기에서 프레임은 같은 시간에 생성된 point cloud 데이터의 집합을 지칭할 수 있다. 몇 개의 이웃 노드들을 참조하는지에 따라 압축 효율이 달라질 수 있다.비트가 커지면 복잡해지지만 한쪽으로 치우치게 만들어서 압축 효율이 높아질 수 있다. 예를 들어 3-bit context를 가지면, 23 = 8가지로 나누어 코딩 해야 한다. 나누어 코딩을 하는 부분은 구현의 복잡도에 영향을 준다. 따라서 압축의 효율과 복잡도의 적정 수준을 맞출 필요가 있다.Geometry coding encodes the occupancy code of each node in the octree. The occupancy code can be entropy coded using the arithmetic code directly, but it may be adaptively encoded based on occupancy of neighboring nodes (intra-based) or based on the occupancy code of the previous frame (inter-based). Here, the frame may refer to a set of point cloud data generated at the same time. The compression efficiency can vary depending on how many neighboring nodes are referenced. The larger the bit, the more complex it is, but the compression efficiency can be increased by making it skewed to one side. For example, if you have a 3-bit context, you have to code by dividing into 23 = 8 types. The divided coding part affects the complexity of the implementation. Therefore, it is necessary to match the appropriate level of compression efficiency and complexity.
옥트리의 각 노드에서 이웃 노드들의 occupancy 여부를 통해 adaptive하게 코딩을 수행할 수 있다. 이를 위해, 우선, 이웃 노드의 occupancy 여부로 이웃 노드 패턴(neighbor pattern) 값을 구한다. 이웃 노드의 위치별 bit 순서는 도면과 같다. 예를 들어, 1, 2, 4, 8에 해당하는 이웃 노드가 occupied되어 있다면, 1, 2, 4, 8을 더한값인 15가 해당 노드의 이웃 노드 패턴 값이 된다. 일반적으로 노드를 중심으로 면을 공유하는 6개의 이웃 노드를 참조한다. 6개의 이웃 노드들의 occupancy 여부에 따라 구해진 이웃 노드 패턴은 26=64값으로 구성되어 64가지 서로 다른 코딩을 수행할 수도 있다. 또는 내부적으로 64를 10 또는 6으로 변경하는 테이블을 통해서 이웃노드 패턴 값을 변경하여 복잡도를 줄여서 인코딩 할 수 있다. 현재 노드의 occupied 코드와 이웃 노드 패턴 값을 통해 인코딩을 수행하여 압축 효율을 높일 수 있다.In each node of the octree, coding can be adaptively performed through occupancy of neighboring nodes. To this end, first, a value of a neighbor pattern is obtained based on occupancy of the neighboring node. The order of bits for each location of neighboring nodes is shown in the figure. For example, if neighboring nodes corresponding to 1, 2, 4, and 8 are occupied, 15, which is the sum of 1, 2, 4, and 8, becomes the neighboring node pattern value of the corresponding node. In general, it refers to six neighboring nodes that share a plane around the node. The neighboring node pattern obtained according to occupancy of the six neighboring nodes is composed of a value of 26=64, and 64 different codings may be performed. Alternatively, it is possible to reduce complexity by changing the neighboring node pattern value through a table that internally changes 64 to 10 or 6. Compression efficiency can be improved by performing encoding using the occupied code of the current node and the neighboring node pattern value.
실시예들에 따라 인트라/인터 코딩 과정은 선택적(optional) 과정으로써, 생략될 수 있다.According to embodiments, the intra/inter coding process is an optional process and may be omitted.
2.2 실시예들에 따른 Point Cloud 속성 코딩:2.2 Point Cloud attribute coding according to embodiments:
복셀화가 적용되고, 직접 모드 시에는 Point Cloud 데이터의 앞쪽으로 재배치하고, 트리숩 모드 시에는 삼각형으로 재구성, 업샘플링, 복셀화 과정이 추가되어 재구성된 지오메트리를 기반으로 연관된 속성 정보에 대한 인코딩 과정을 수행할 수 있다. 속성 정보는 지오메트리에 종속적이기 때문에, 재구성된 지오메트리 기반으로 속성 정보를 코딩 하는 과정이 필요할 수 있다.Voxelization is applied, and in the direct mode, the point cloud data is rearranged to the front of the point cloud data, and in the trisoup mode, a triangle reconstruction, upsampling, and voxelization are added to perform the encoding process for related attribute information based on the reconstructed geometry. Can be done. Since attribute information is dependent on geometry, a process of coding attribute information based on the reconstructed geometry may be necessary.
Point Cloud 속성 데이터는 색상(YCbCr 또는 RGB) 또는 반사율(r) 정보 등으로 구성될 수 있다. 두 가지 모두 같은 방법의 코딩이 적용될 수 있다. 단지, 색상은 3 요소(elements)를 가지고 반사율은 1개의 요소를 가진다는 차이이며, 각 요소마다 독립적으로 처리 될 수 있다. Point Cloud attribute data may be composed of color (YCbCr or RGB) or reflectance (r) information. In both cases, the same method of coding can be applied. However, the difference is that the color has 3 elements and the reflectance has 1 element, and each element can be treated independently.
속성 코딩 방법은 예측 변환(prediction transform), 리프팅 변환(lifting transform), RAHT(Region Adaptive Hierarchical transform) 방법이 있으며, 선택적으로 적용할수 있다.Attribute coding methods include prediction transform, lifting transform, and region adaptive hierarchical transform (RAHT), and can be selectively applied.
2.2.1 실시예들에 따른 색상 변환 (Transform Color):2.2.1 Transform Color according to the embodiments:
색상을 RGB에서 YCbCr로 변경하여 코딩 작업을 수행할 수 있다. 색상 변환이란 이와 같은 색상 포맷의 변환 과정을 의미한다. You can perform coding by changing the color from RGB to YCbCr. Color conversion refers to such a color format conversion process.
2.2.2 실시예들에 따른 속성 변환 (Attribute Transform):2.2.2 Attribute Transform according to embodiments:
하나의 복셀에 하나의 point만 존재하는 경우, 하나의 복셀에 하나의 point 정보로 통합하여 나타내기 위해 복셀 내에 존재하는 point들에 대한 위치 값은 복셀의 중앙점으로 설정되고, 그에 따라 연관된 속성 값을 변환하는 과정이 필요할 수 있다. 또한 트리숩 모드로 수행된 경우도 속성 변환 과정을 수행한다. When only one point exists in one voxel, the position values for points existing in the voxel are set as the center point of the voxel in order to integrate and indicate one point information in one voxel, and the associated attribute value accordingly It may be necessary to convert. In addition, the attribute conversion process is performed even when executed in the treetop mode.
속성 변환 과정은 복셀의 중앙 위치 값과 특정 반경 내에 이웃하고 있는 point들의 색상 또는 반사율 등 속성 값들의 평균값 또는 중앙 위치와의 거리에 따른 가중치가 적용된 평균값으로 계산 될 수도 있다. 이 경우, 각 복셀은 위치와 계산된 속성값을 갖게 된다. The attribute conversion process may be calculated as an average value of attribute values such as the central position value of the voxel and the color or reflectance of neighboring points within a specific radius, or an average value applied with a weight according to the distance from the central position. In this case, each voxel has a position and a calculated attribute value.
특정 위치/반경 내에 존재하는 이웃 point들을 탐색시, K-D 트리 또는 몰톤 코드를 활용할 수 있다. K-D 트리는 이진 탐색 트리(binary search tree)로 빠르게 최단 이웃점 탐색(Nearest Neighbor Search-NNS)이 가능하도록 point들을 위치 기반으로 관리할 수 있는 자료 구조를 지원한다. 몰튼 코드는 모든 point들에 대한 3차원 위치 정보(x, y, z) 의 bit들 믹싱하여 생성할 수 있다. 예를 들어 (x, y, z)값이 (5, 9, 1)일 경우 bit로 나타내면 (0101, 1001, 0001)이 되고, 이 값을 z, y, x 순서로 bit를 bit 인덱스에 맞춰 믹싱하면 010001000111이 되고, 이 값은 1095이다. 1095가 (5, 9, 1)의 몰톤 코드 값이 된다. 몰튼 코드 기준으로 point들을 정렬하고 depth-first traversal 과정을 통해 최단 이웃점 탐색(NNS)이 가능하다. When searching for neighboring points existing within a specific location/radius, a K-D tree or Molton code can be used. The K-D tree is a binary search tree and supports a data structure that can manage points based on location so that the Nearest Neighbor Search (NNS) can be quickly performed. The Molton code can be generated by mixing bits of 3D location information (x, y, z) for all points. For example, if the value of (x, y, z) is (5, 9, 1), it becomes (0101, 1001, 0001) when expressed as a bit. When mixed, it becomes 010001000111, which is 1095. 1095 is the Molton code value of (5, 9, 1). Points are sorted based on the Morton code, and shortest neighbor search (NNS) is possible through a depth-first traversal process.
속성 변환 과정 이후, 속성 코딩을 위한 다른 변환 과정에서도 최단 이웃점 탐색(NNS)이 요구되는 경우가 있으며, 이를 위해 K-D 트리 또는 몰톤 코드를 활용할 수 있다.After the attribute transformation process, the shortest neighbor search (NNS) is sometimes required in another transformation process for attribute coding, and for this, a K-D tree or a Molton code may be used.
도8은 실시예들에 따른 LOD별 Point Cloud 콘텐츠의 Point 구성의 예시를 나타낸다.8 shows an example of a point configuration of Point Cloud content for each LOD according to embodiments.
실시예들에 따른 포인트 클라우드는 상세 정도 LOD(Level Of Detail)에 따라서 그룹 별로 분류될 수 있다. 도면과 같이 좌측에서 우측으로 갈수록 상세 정도가 증가한다. 다시 말해, 포인트들 간의 거리가 좌측에 가까울수록 스파스(sparse)하고, 우측으로 갈수록 포인트들 간의 거리가 가까워진다.Point clouds according to embodiments may be classified into groups according to a level of detail (LOD). As shown in the figure, the degree of detail increases from left to right. In other words, the closer the distance between the points to the left is, the sparse it is, and the closer to the right, the closer the distances between the points.
2.2.2.1실시예들에 따른 예측 변환:2.2.2.1 Prediction Transformation According to Examples:
예측 변환은 LOD(Level Of Detail) 기법이 적용된 방법이다. 각 point는 설정된 LOD 거리값을 기준으로 LOD 값을 계산하여 설정한다. 예를 들어, LOD 값에 따른 Point들의 구성은 다음 그림과 같을 수 있다.Predictive transformation is a method to which the Level Of Detail (LOD) technique is applied. Each point is set by calculating the LOD value based on the set LOD distance value. For example, the composition of points according to the LOD value can be as follows.
도9는 실시예들에 따른 LOD별 Point Cloud 콘텐츠의 Point 구성의 예시를 나타낸다.9 shows an example of a point configuration of Point Cloud content for each LOD according to embodiments.
실시예들에 따른 포인트 클라우드가 분포되어 있는 경우, Original order는 예를 들어 포인트들 P0 내지 P9의 순서를 나타낸다. When the point clouds according to the embodiments are distributed, the original order indicates, for example, the order of points P0 to P9.
실시예들에 따라 LOD생성에 의해 LOD별로 포인트 클라우드를 분리하면, 예를 들어, P0, P5, P4, P1를 포함하는 그룹은 LOD0에 속하고, P1, P6, P3까지 포함하는 그룹은 LOD1에 속하고, P9, P8, P7까지 포함하는 그룹은 LOD2에 속할 수 있다. LOD-based order는 LOD그룹의 순서를 나타낸다.According to embodiments, when the point cloud is separated for each LOD by LOD generation, for example, a group including P0, P5, P4, and P1 belongs to LOD0, and a group including P1, P6, and P3 belongs to LOD1. A group belonging to and including P9, P8, and P7 may belong to LOD2. LOD-based order represents the order of LOD groups.
Point Cloud 내에 있는 각 point들은 LOD 별로 분리될 수 있고, LOD별 Point들의 구성은 해당 LOD 값 보다 더 낮은 LOD에 속한 point들도 함께 포함한다. 예를 들어 LOD 레벨 2이면, LOD 레벨1과 2에 속하는 모든 point들에 해당한다. Each point in the point cloud can be separated by LOD, and the composition of points by LOD includes points belonging to the LOD lower than the corresponding LOD value. For example, if LOD level 2, it corresponds to all points belonging to LOD level 1 and 2.
예측 변환을 위해, Point Cloud의 각 point들에 대한 예측기(predictor)를 생성한다. 따라서 N개의 point들이 있다면, N개의 예측기가 생성될 수 있다. 예측기는 각 point들에 대한 LOD 값과 LOD별 설정된 거리 내에 존재하는 이웃 point들에 대한 인덱싱 정보와 이웃 point들과의 거리 값을 기반으로 가중치(=1/거리) 값을 계산하여 설정할 수 있다.For predictive transformation, a predictor is created for each point in the Point Cloud. Therefore, if there are N points, N predictors can be generated. The predictor may calculate and set a weight (=1/distance) value based on the LOD value for each point, the indexing information for the neighboring points existing within the distance set for each LOD, and the distance value with the neighboring points.
각 point의 예측기에 설정된 이웃 point들의 속성(색상 또는 반사율) 값들에 각 이웃 point들의 거리 기반으로 계산된 가중치 값을 곱한다. 이웃 point들의 가중치가 곱해진 색상 또는 반사율 값을 평균하여 해당 point의 예측된 속성 값으로 설정한다. 각 point의 색상 또는 반사율 값에서 예측된 속성값을 뺀 잔여(residual) 속성 값에 대한 양자화 과정을 수행한다. 속성에 대한 양자화 과정은 다음과 같다. The property (color or reflectance) values of neighboring points set in the predictor of each point are multiplied by a weight value calculated based on the distance of each neighboring point. The color or reflectance values multiplied by the weights of neighboring points are averaged and set as the predicted attribute value of the corresponding point. A quantization process is performed on the residual attribute value obtained by subtracting the predicted attribute value from the color or reflectance value of each point. The quantization process for properties is as follows.
Figure PCTKR2019018176-appb-img-000004
Figure PCTKR2019018176-appb-img-000004
Figure PCTKR2019018176-appb-img-000005
Figure PCTKR2019018176-appb-img-000005
각 point의 예측기에 이웃 point들이 없으면, 현재 point의 색상/반사율 값을 직접 arithmetic 코더를 사용하여 엔트로피 코딩을 수행하고, 이웃 point들이 존재하면 point의 색상 또는 반사율 값에서 이웃 point들을 통해 예측된 속성값을 뺀 잔여 속성 값에 양자화 과정을 수행한 값을 arithmetic 코더를 사용하여 엔트로피 코딩 한다.If there are no neighboring points in the predictor of each point, entropy coding is performed using an arithmetic coder directly for the color/reflectance value of the current point, and if there are neighboring points, the property value predicted through the neighboring points from the color or reflectance value of the point Entropy coding is performed on the residual attribute value minus the quantization process using an arithmetic coder.
2.2.2.2 실시예들에 따른 리프팅 변환:2.2.2.2 Lifting transformation according to embodiments:
예측 변환과 리프팅 변환 과정은 LOD(Level of detail) 생성 과정을 통해 point들을 디테일 레벨의 집합으로 재구성한다. 재구성 방법은 앞서 설명하였다. The predictive transformation and lifting transformation process reconstruct points into a set of detail levels through a level of detail (LOD) generation process. The reconstruction method was described above.
리프팅 변환은 각 point에 대한 예측기를 생성하고, 예측기에 계산된 LOD 설정하고, 이웃 point 등록하고, 이웃 point들과의 거리에 따른 가중치 설정하는 과정은 모두 수행한다. 예측 변환과의 차이점은 속성값에 가중치를 누적 적용하는 방법이다. 방법은 다음과 같다. Lifting transformation generates a predictor for each point, sets the calculated LOD in the predictor, registers the neighboring points, and sets weights according to the distances to the neighboring points. The difference from prediction transformation is a method of accumulating and applying weights to attribute values. The method is as follows.
1) 각 point들에 대한 가중치 값을 저장하는 배열 QW(QuantizationWieght)가 별도로 존재한다. QW의 모든 요소들의 초기값은 1.0이다. 예측기에 등록된 이웃 노드의 예측기 인덱스의 QW 값에 현재 point의 예측기의 가중치를 곱한 값을 더한다. 1) There is a separate array QW (Quantization Wieght) that stores weight values for each point. The initial value of all elements of QW is 1.0. The value obtained by multiplying the weight of the predictor of the current point to the QW value of the predictor index of the neighboring node registered in the predictor is added.
2) 예측된 속성 값을 계산하기 위하여 point의 속성값에 가중치를 곱한 값을 기존 속성값에서 뺀다. 이 과정이 리프트 예측(lift prediction) 과정이다.2) In order to calculate the predicted attribute value, the value obtained by multiplying the attribute value of the point by the weight is subtracted from the existing attribute value. This process is the lift prediction process.
3) updateweight와 update라는 임시 배열을 생성하고 0으로 초기화한다. 3) Create a temporary array called updateweight and update and initialize it to 0.
4) 모든 예측기에 대해서 계산된 가중치에 예측기 인덱스에 해당하는 QW에 저장된 가중치를 추가로 곱해서 나온 가중치를 updateweight에 이웃 노드의 인덱스로 누적으로 합산하고, update에는 이웃 노드의 인덱스의 속성값에 곱한 값을 누적 합산한다. 4) The weight calculated by additionally multiplying the calculated weight for all predictors by the weight stored in the QW corresponding to the predictor index is cumulatively added to the updateweight by the index of the neighboring node, and for update, the value multiplied by the attribute value of the index of the neighboring node. Is accumulated and summed.
5) 모든 예측기에 대해서 예측기 인덱스의 updateweight의 가중치 값으로 update의 속성 값을 나누고, 다시 기존 속성값에 더한다. 이 과정이 리프트 업데이트(lift update) 과정이다.5) For all predictors, the attribute value of update is divided by the weight value of the updateweight of the predictor index, and then added to the existing attribute value. This process is a lift update process.
6) 모든 예측기에 대해서, 리프트 업데이트 과정을 통해 업데이트된 속성값에 리프트 예측 과정을 통해 업데이트 된(QW에 저장된) 가중치를 추가로 곱해서 나온 값을 양자화 하고, 양자화 수행한 값을 arithmetic 코더를 사용하여 엔트로피 코딩 한다.6) For all predictors, the attribute value updated through the lift update process is additionally multiplied by the weight updated through the lift prediction process (stored in QW), and the quantized value is quantized using an arithmetic coder. Entropy coding.
2.2.2.3 실시예들에 따른 RAHT 변환:2.2.2.3 RAHT conversion according to embodiments:
RAHT 변환은 옥트리의 lower 레벨에 있는 노드와 연관된 속성 정보를 사용해서 상위 레벨에 있는 노드들의 속성 정보를 예측하는 방법으로 옥트리 백워드 스캔을 통한 속성 정보 인트라 코딩 방법이다. 복셀에서 전체 영역으로 스캔하며 각 스텝에서 복셀을 더 큰 블록으로 합치면서 루트 노드까지 수행한다. Occupied 노드에 대해서만 병합 과정을 수행하기 때문에 occupied되지 않은 empty 노드의 경우 바로 상위 레벨의 노드를 가지고 병합을 수행한다. RAHT transformation is a method of predicting attribute information of nodes at a higher level using attribute information associated with a node at a lower level of an octree, and is an intra coding method for attribute information through octree backward scan. The voxel is scanned from the voxel to the entire area, and in each step, the voxel is combined into a larger block and performed up to the root node. Since the merging process is performed only for occupied nodes, in the case of an empty node that is not occupied, merging is performed with the node of the higher level immediately.
Figure PCTKR2019018176-appb-img-000006
Figure PCTKR2019018176-appb-img-000006
Figure PCTKR2019018176-appb-img-000007
Figure PCTKR2019018176-appb-img-000007
gDC값 또한 high-pass 계수와 같이 양자화되어 마지막에 arithmetic 코더를 사용하여 엔트로피 코딩 한다.The gDC value is also quantized like the high-pass coefficient, and entropy coding is performed using an arithmetic coder at the end.
3. 실시예들에 따른 전송 과정:3. Transmission process according to embodiments:
전송 과정은 인코딩 과정을 거친 Point Cloud 콘텐츠의 인코딩 된 지오메트리 및 속성 데이터와 메타데이터들을 처리하여 전송하는 과정일 수 있다. 전송을 위해 임의의 전송 프로토콜에 따른 처리가 수행될 수 있다.생성된 point cloud 콘텐츠의 지오메트리 및 속성 데이터, 관련 메타데이터 비트스트림들은 하나 이상의 트랙 데이터로 파일이 생성되거나 세그먼트로 인캡슐레이션될 수 있다. 전송을 위한 처리를 마친 데이터들은 방송망 및/또는 브로드밴드를 통해 전달될 수 있다. 이 데이터들은 온 디맨드(On Demand) 방식으로 수신측으로 전달될 수도 있다. 수신측에서는 다양한 경로를 통해 해당 데이터를 수신할 수 있다. 한편, 인코딩 과정을 거친 Point Cloud 콘텐츠의 인코딩 된 지오메트리 및 속성 데이터와 메타데이터들은 미디어 파일 형태로 디지털 저장매체에 저장되어 수신측으로 전달될 수도 있다.The transmission process may be a process of processing and transmitting the encoded geometry and attribute data and metadata of the Point Cloud content that has undergone an encoding process. For transmission, processing according to any transmission protocol may be performed. Geometry and attribute data of the generated point cloud content, and related metadata bitstreams may be created as one or more track data, or may be encapsulated into segments. . Data processed for transmission may be delivered through a broadcasting network and/or a broadband. These data may be delivered to the receiving side in an on-demand manner. The receiving side can receive the data through various paths. On the other hand, the encoded geometry and attribute data and metadata of the Point Cloud content that has gone through the encoding process may be stored in a digital storage medium in the form of a media file and transmitted to the receiver.
도10은 실시예들에 따른 포인트 클라우드 디코더(Point Cloud Decoder)의 블록 다이어그램(block diagram) 예시를 나타낸다.10 shows an example of a block diagram of a point cloud decoder according to embodiments.
실시예들에 따른 포인트 클라우드 디코더는 포인트 클라우드 데이터에 대한 지오메트리 및/또는 어트리뷰트를 포함하는 비트스트림을 수신한다. 실시예들에 따른 지오메트리 디코더는 지오메트리를 디코딩하고, 실시예들에 따른 어트리뷰트 디코더는 어트리뷰트를 디코딩한다. 어트리뷰트 디코더는 디코딩된 지오메트리에 기반하여 어트리뷰트를 디코딩한다. 디코더는 디코딩된 지오메트리 및/또는 디코딩된 어트리뷰트에 기반하여 포인크 클라우드를 생성할 수 있다.The point cloud decoder according to embodiments receives a bitstream including geometry and/or attributes for point cloud data. The geometry decoder according to the embodiments decodes the geometry, and the attribute decoder according to the embodiments decodes the attribute. The attribute decoder decodes the attribute based on the decoded geometry. The decoder may generate a point cloud based on the decoded geometry and/or decoded attributes.
4. 실시예들에 따른 디코딩 과정:4. Decoding process according to embodiments:
디코딩 과정은 비트스트림을 입력받아 인코딩 동작에 대응하는 동작을 수행하여 Point Cloud 비디오/영상을 복원(디코딩)하는 과정을 포함할 수 있다.The decoding process may include a process of reconstructing (decoding) a Point Cloud video/video by receiving a bitstream and performing an operation corresponding to the encoding operation.
도11은 실시예들에 따른 포인트 클라우드 디코더(Point Cloud Decoder) 예시를 나타낸다.11 shows an example of a point cloud decoder according to embodiments.
실시예들에 따른 포인트 클라우드 디코더는 실시예들에 따른 포인트 클라우드 인코더의 역과정을 수행할 수 있다.The point cloud decoder according to the embodiments may perform the reverse process of the point cloud encoder according to the embodiments.
실시예들에 따른 포인트 클라우드 디코더는 아리스메틱 디코더(arithmetic decode, 11000), 옥트리 합성부(synthesize octree, 11001), 서페이스 오프록시메이션 합성부(synthesize surface approximation, 11002), 지오메트리 리컨스럭션부(reconstruct geometry, 11003), 좌표계 역변환부(inverse transform coordinates, 11004), 아리스메틱 디코더(arithmetic decode, 11005), 역양자화부(inverse quantize, 11006), RAHT(11007), LOD생성부(generate LOD, 11008), 인버스 리프팅부(Inverse lifting, 11009), 및/또는 컬러 역변환부(inverse transform colors, 11010)를 포함한다.Point cloud decoders according to embodiments include an arithmetic decoder (11000), an octree synthesis unit (synthesize octree, 11001), a surface opoxidation synthesis unit (synthesize surface approximation, 11002), and a geometry reconstruction unit (reconstruct geometry, 11003), inverse transform coordinates (11004), arithmetic decode (11005), inverse quantize (11006), RAHT (11007), generate LOD (generate LOD, 11008) , Inverse lifting unit (11009), and / or color inverse transform unit (inverse transform colors, 11010).
실시예들에 따른 아리스메틱 디코더(arithmetic decode, 11000)는 수신한 비트스트림에 포함된 지오메트리를 아리스메틱 방식에 기반하여 디코딩한다. The arithmetic decoder 11000 according to the embodiments decodes the geometry included in the received bitstream based on an arithmetic method.
실시예들에 따른 옥트리 합성부(synthesize octree, 11001)는 지오메트리로부터 옥트리를 생성할 수 있다.The octree synthesizer 11001 according to the embodiments may generate an octree from geometry.
실시예들에 따른 서페이스 오프록시메이션 합성부(synthesize surface approximation, 11002)는 디코딩된 지오메트리 및/또는 옥트리에 기반하여 서페이스를 합성할 수 있다.The surface opoxidation synthesis unit 11002 according to the embodiments may synthesize a surface based on the decoded geometry and/or octree.
실시예들에 따른 지오메트리 리컨스럭션부(reconstruct geometry, 11003)는 서페이스 및또는 디코딩된 지오메트리에 기반하여 지오메트릭을 재생성할 수 있다.The geometry reconstructing unit 11003 according to embodiments may regenerate a geometry based on a surface and/or decoded geometry.
실시예들에 따른 좌표계 역변환부(inverse transform coordinates, 11004)는 지오메트리에 기반하여 좌표계를 인버스 변환하여 위치(포지션들, positions)를 획득할 수 있다. The inverse transform coordinates 11004 according to the embodiments may obtain positions (positions) by inverse transforming a coordinate system based on geometry.
실시예들에 따른 아리스메틱 디코더(arithmetic decode, 11005)는 수신한 비트스트림에 포함된 어트리뷰트를 아리스메틱 방식에 기반하여 디코딩한다. An arithmetic decoder 11005 according to embodiments decodes an attribute included in a received bitstream based on an arithmetic method.
실시예들에 따른 역양자화부(inverse quantize, 11006)는 디코딩된 어트리뷰트를 인버스 양자화를 한다. The inverse quantize (11006) according to the embodiments performs inverse quantization on the decoded attribute.
실시예들에 따른 RAHT(11007), 실시예들에 따른 LOD생성부(generate LOD, 11008) 및/또는 실시예들에 따른 인버스 리프팅부(Inverse lifting, 11009)는 실시예들에 따른 인코더의 대응하는 동작의 역과정을 수행할 수 있다.The RAHT 11007 according to the embodiments, the generate LOD 11008 according to the embodiments, and/or the inverse lifting 11009 according to the embodiments correspond to the encoder according to the embodiments. The reverse process of the operation can be performed.
실시예들에 따른 컬러 역변환부(inverse transform colors, 11010)는 컬러를 역변환하여 어트리뷰트(얘를 들어, 컬러값 등)을 획득할 수 있다.The inverse transform colors 11010 according to embodiments may obtain an attribute (for example, a color value) by inversely transforming colors.
디코딩 과정은 지오메트리 디코딩 과정 및 속성 디코딩 과정을 포함할 수 있다. 디코더는 입력 비트스트림 내 포함된 지오메트리 비트스트림으로부터 지오메트리를 복원(디코딩)할 수 있고, 상기 입력 비트스트림 내 포함된 어트리뷰트 비트스트림 및 상기 복원된 지오메트리를 기반으로 어트리뷰트를 복원(디코딩)할 수 있다. 상기 복원된 지오메트리에 따른 위치 정보 및 상기 디코딩된 어트리뷰트에 따른 (컬러) 텍스처 어트리뷰트를 기반으로 3차원의 Point Cloud 비디오/영상을 복원할 수 있다. The decoding process may include a geometry decoding process and an attribute decoding process. The decoder may reconstruct (decode) geometry from the geometry bitstream included in the input bitstream, and reconstruct (decode) attributes based on the attribute bitstream included in the input bitstream and the restored geometry. A 3D Point Cloud video/image may be reconstructed based on the location information according to the reconstructed geometry and the (color) texture attribute according to the decoded attribute.
구체적으로, 디코더는 geometry bitstream을 arithmetic 코더로 디코딩 하여 지오메트리에 관한 정보를 획득하고, 지오메트리에 관한 정보를 기반으로 획득한 occupancy 코드를 통해 옥트리를 생성하고, 지오메트리를 재구성한다. 직접 모드가 적용된 경우, point의 위치 정보 값을 직접 가져와서 추가하고, 트리숩 모드가 적용된 경우는 삼각형 재구성(triangle reconstruction), 업-샘플링(up-sampling), 복셀화 과정을 거쳐서 지오메트리를 복원한다(상세 내용은 2.1.3절 참고). 상기 복원된 지오메트리는 복원된(디코딩된) point cloud picture/frame without (any) attributes를 포함할 수 있다. Specifically, the decoder acquires information about the geometry by decoding the geometry bitstream with an arithmetic coder, creates an occupancy code based on the information about the geometry, and reconstructs the geometry. When the direct mode is applied, the location information value of the point is directly imported and added, and when the trisoup mode is applied, the geometry is restored through triangle reconstruction, up-sampling, and voxelization. (Refer to Section 2.1.3 for details). The restored geometry may include restored (decoded) point cloud picture/frame without (any) attributes.
또한, 디코더는 수신한 attribute bitstream을 arithmetic 코더로 디코딩하여 속성(attribute)에 관한 정보를 획득하고, 상기 획득한 속성에 관한 정보 및 상기 지오메트리 코딩 과정에서 도출한 연관 위치(associated location) 정보를 기반으로 복원된(디코딩된) point cloud picture/frame with attributes를 생성할 수 있다. 속성 디코딩 과정에서 필요한 경우 inverse 양자화 과정을 수행하고, 예측/리프팅/RAHT에 대한 역변환 과정을 인코딩시 적용된 방법에 따라서 선택적으로 수행한 후, 필요한 경우 색상 변환을 수행하여 attributes를 복원할 수 있다.In addition, the decoder obtains information on the attribute by decoding the received attribute bitstream with an arithmetic coder, and based on the information on the obtained attribute and the associated location information derived from the geometry coding process. You can create a restored (decoded) point cloud picture/frame with attributes. In the attribute decoding process, if necessary, an inverse quantization process is performed, an inverse transformation process for prediction/lifting/RAHT is selectively performed according to a method applied during encoding, and then, if necessary, color conversion may be performed to restore attributes.
5. 실시예들에 따른 렌더링 과정:5. Rendering process according to embodiments:
렌더링 과정은 3D 공간상에 Point Cloud 콘텐츠 데이터를 렌더링하고 디스플레이 하는 과정을 의미한다. 디코딩 과정을 통해 디코딩 된 point들의 위치 및 속성 정보를 가지고 원하는 렌더링 방식에 따라 렌더링 될 수 있다. Point Cloud 콘텐츠의 point들은 일정 두께를 갖는 정점, 해당 정점 위치를 중앙으로 하는 특정 최소 크기를 갖는 정육면체, 또는 정점 위치를 중앙으로 하는 원 등으로 렌더링 될 수도 있다. 사용자는 VR/AR 디스플레이 또는 일반 디스플레이 등을 통하여 렌더링 된 결과의 전부 또는 일부 영역을 볼 수 있다.The rendering process refers to the process of rendering and displaying Point Cloud content data in 3D space. It can be rendered according to a desired rendering method with the location and property information of the decoded points through the decoding process. Points of the Point Cloud content may be rendered as a vertex with a certain thickness, a cube with a specific minimum size centered on the vertex position, or a circle centered on the vertex position. The user can view all or part of the rendered result through a VR/AR display or a general display.
6. 실시예들에 따른 피드백 과정:6. Feedback process according to embodiments:
피드백 과정은 디스플레이 과정에서 획득될 수 있는 다양한 피드백 정보들을 송신측으로 전달하거나 수신측의 디코딩에 전달하는 과정을 포함할 수 있다. 피드백 과정을 통해 Point Cloud 비디오 소비에 있어 인터랙티비티(interactivity) 가 제공될 수 있다. 실시예에 따라, 피드백 과정에서 헤드 오리엔테이션(Head Orientation) 정보, 사용자가 현재 보고 있는 영역을 나타내는 뷰포트(Viewport) 정보 등이 전달될 수 있다. 실시예에 따라, 사용자는 VR/AR/MR/자율주행 환경 상에 구현된 것들과 상호작용 할 수도 있는데, 이 경우 그 상호작용과 관련된 정보가 피드백 과정에서 송신측 내지 서비스 프로바이더 측으로 전달될 수도 있다. 실시예에 따라 피드백 과정은 수행되지 않을 수도 있다.The feedback process may include a process of transferring various feedback information that can be obtained during the display process to a transmitting side or a receiving side decoding. Through the feedback process, interactivity can be provided in Point Cloud video consumption. Depending on the embodiment, head orientation information, viewport information indicating an area currently viewed by the user, and the like may be transmitted in the feedback process. Depending on the embodiment, the user may interact with those implemented in the VR/AR/MR/autonomous driving environment.In this case, information related to the interaction may be transmitted to the transmitting side or the service provider side in the feedback process. have. Depending on the embodiment, the feedback process may not be performed.
헤드 오리엔테이션 정보는 사용자의 머리 위치, 각도, 움직임 등에 대한 정보를 의미할 수 있다. 이 정보를 기반으로 사용자가 현재 Point Cloud 비디오 내에서 보고 있는 영역에 대한 정보, 즉 뷰포트 정보가 계산될 수 있다. The head orientation information may mean information on the position, angle, and movement of the user's head. Based on this information, information about the area that the user is currently viewing in the Point Cloud video, that is, viewport information can be calculated.
뷰포트 정보는 현재 사용자가 Point Cloud 비디오에서 보고 있는 영역에 대한 정보일 수 있다. 이를 통해 게이즈 분석(Gaze Analysis) 이 수행되어, 사용자가 어떠한 방식으로 Point Cloud 비디오를 소비하는지, Point Cloud 비디오의 어느 영역을 얼마나 응시하는지 등을 확인할 수도 있다. 게이즈 분석은 수신측에서 수행되어 송신측으로 피드백 채널을 통해 전달될 수도 있다. VR/AR/MR 디스플레이 등의 장치는 사용자의 머리 위치/방향, 장치가 지원하는 수직(vertical) 혹은 수평(horizontal) FOV 등에 근거하여 뷰포트 영역을 추출할 수 있다. The viewport information may be information on an area currently viewed by the user in the Point Cloud video. Through this, a gaze analysis is performed, which allows you to check how the user consumes the Point Cloud video, which area of the Point Cloud video and how much they gaze at. The gaze analysis may be performed at the receiving side and transmitted to the transmitting side through a feedback channel. A device such as a VR/AR/MR display may extract a viewport area based on the position/direction of the user's head and a vertical or horizontal FOV supported by the device.
실시예에 따라, 전술한 피드백 정보는 송신측으로 전달되는 것 뿐 아니라, 수신측에서 소비될 수도 있다. 즉, 전술한 피드백 정보를 이용하여 수신측의 디코딩, 렌더링 과정 등이 수행될 수 있다. 예를 들어, 헤드 오리엔테이션 정보 및/또는 뷰포트 정보를 이용하여 현재 사용자가 보고 있는 영역에 대한 Point Cloud 비디오만 우선적으로 디코딩 및 렌더링 될 수도 있다.Depending on the embodiment, the above-described feedback information is not only transmitted to the transmitting side, but may be consumed by the receiving side. That is, decoding and rendering of the receiver may be performed using the above-described feedback information. For example, using head orientation information and/or viewport information, only a point cloud video for a region currently viewed by the user may be preferentially decoded and rendered.
여기서 뷰포트(viewport) 내지 뷰포트 영역이란, 사용자가 Point Cloud 비디오에서 보고 있는 영역을 의미할 수 있다. 시점(viewpoint) 는 사용자가 Point Cloud 비디오에서 보고 있는 지점으로서, 뷰포트 영역의 정중앙 지점을 의미할 수 있다. 즉, 뷰포트는 시점을 중심으로 한 영역인데, 그 영역이 차지하는 크기 형태 등은 FOV(Field Of View) 에 의해 결정될 수 있다.Here, the viewport or the viewport area may mean an area that the user is viewing in the Point Cloud video. A viewpoint is a point that a user is viewing in a Point Cloud video, and may mean a center point of a viewport area. That is, the viewport is an area centered on the viewpoint, and the size, shape, etc. occupied by the area may be determined by a field of view (FOV).
도12는 실시예들에 따른 송신기의 Point Cloud 비디오 인코딩을 위한 구성요소를 나타낸다.12 shows components for encoding Point Cloud video of a transmitter according to embodiments.
실시예들에 따른 포인트 클라우드 데이터의 비디오 인코딩을 위한 구성요소는 데이터 입력부(12000), 양자화 처리부(12001), 복셀화 처리부(12002), 옥트리 Occupancy 코드 생성부(12003), 포면 모델 처리부(12004), 인트라/인터 코딩 처리부(12005), Arithmetic 코더(12006), 메타데이터 처리부(12007), 색상 변환 처리부(12008), 속성 변환 처리부(12009), 예측/리프팅/RAHT 변환 처리부(12010), Arithmetic 코더(12011) 및/또는 전송 처리부(12012)를 포함할 수 있다.Components for video encoding of point cloud data according to embodiments include a data input unit 12000, a quantization processing unit 12001, a voxelization processing unit 12002, an octree occupancy code generation unit 12003, and a front surface model processing unit 12004. , Intra/inter coding processing unit (12005), Arithmetic coder (12006), metadata processing unit (12007), color conversion processing unit (12008), attribute conversion processing unit (12009), prediction/lifting/RAHT conversion processing unit 12010, Arithmetic coder (12011) and/or a transmission processing unit 12012 may be included.
실시예들에 따른 데이터 입력부(12000)는 포인트 클라우드 데이터를 수신 또는 획득한다. 데이터 입력부(12000)는 실시예들에 따른 도1의 포인트 클라우드 획득부(10001)에 대응될 수 있다.The data input unit 12000 according to the embodiments receives or acquires point cloud data. The data input unit 12000 may correspond to the point cloud acquisition unit 10001 of FIG. 1 according to embodiments.
실시예들에 따른 양자화 처리부(12001)는 포인트 클라우드 데이터의 지오메트리, 예를 들어, 포인트들의 위치값 정보를 양자화한다.The quantization processing unit 12001 according to embodiments quantizes a geometry of point cloud data, for example, position value information of points.
실시예들에 따른 복셀화 처리부(12002)는 양자화된 포인트들의 위치값 정보를 복셀화한다.The voxelization processing unit 12002 according to embodiments voxelsizes position value information of quantized points.
실시예들에 따른 옥트리 Occupancy 코드 생성부(12003)는 복셀화된 포인트들의 위치값 정보를 옥트리 어큐판시 코드에 기반하여 옥트리로 나타낼 수 있다.The octree occupancy code generation unit 12003 according to embodiments may display position value information of voxelized points in an octree based on an octree accupancy code.
실시예들에 따른 포면 모델 처리부(12004)는 포인트 클라우드의 포인트들의 위치값 정보에 대한 옥트리를 표면 모델 방식에 기반하여 표현 처리할 수 있다The front surface model processing unit 12004 according to embodiments may express and process an octree for position value information of points of a point cloud based on a surface model method.
실시예들에 따른 인트라/인터 코딩 처리부(12005)는 포인트 클라우드 데이터를 인트라/인터 코딩할 수 있다.The intra/inter coding processor 12005 according to embodiments may intra/inter code point cloud data.
실시예들에 따른 Arithmetic 코더(12006)는 포인트 클라우드 데이터를 아리스메틱 코딩 방식에 기반하여 인코딩할 수 있다.The Arithmetic coder 12006 according to embodiments may encode point cloud data based on an Arithmetic coding method.
실시예들에 따른 메타데이터 처리부(12007)는 포인트 클라우드 데이터에 관한 메타데이터, 예를 들어 설정 값 등을 처리하여 지오메트리 인코딩 프로세스 및/또는 어트리뷰트 인코딩 프로세스 등 필요한 과정에 제공한다.The metadata processing unit 12007 according to embodiments processes metadata about point cloud data, for example, a set value, and provides it to a necessary process such as a geometry encoding process and/or an attribute encoding process.
실시예들에 따른 색상 변환 처리부(12008)는 포인트 클라우드 데이터의 어트리뷰트, 예를 들어, 포인트들의 속성값 정보 및/또는 재구성된 위치값에 기반하여 포인트 클라우드 데이터의 컬러를 변환할 수 있다. The color conversion processing unit 12008 according to embodiments may convert a color of the point cloud data based on an attribute of the point cloud data, for example, attribute value information of points and/or a reconstructed position value.
실시예들에 따른 속성 변환 처리부(12009)는 포인트 클라우드 데이터의 속성값을 변환할 수 있다.The attribute conversion processing unit 12009 according to embodiments may convert an attribute value of point cloud data.
실시예들에 따른 예측/리프팅/RAHT 변환 처리부(12010)는 포인트 클라우드 데이터를 예측 방법, 리프팅 방법 및/또는 RAHT 방법 등의 조합 등에 기반하여 속성 코딩할 수 있다.The prediction/lifting/RAHT conversion processing unit 12010 according to embodiments may attribute-code the point cloud data based on a combination of a prediction method, a lifting method, and/or a RAHT method.
실시예들에 따른 Arithmetic 코더(12011)는 포인트 클라우드 데이터를 아리스메틱 코딩 방식에 기반하여 인코딩할 수 있다.The Arithmetic coder 12011 according to the embodiments may encode point cloud data based on an Arithmetic coding method.
위 과정들은 실시예들에 따른 도1의 포인트 클라우드 인코더(10002)에 대응될 수 있다.The above processes may correspond to the point cloud encoder 10002 of FIG. 1 according to embodiments.
실시예들에 따른 전송 처리부(12012)는 인코딩된 지오메트리 및/또는 인코딩된 어트리뷰트를 전송할 수 있다.The transmission processing unit 12012 according to embodiments may transmit the encoded geometry and/or the encoded attribute.
실시예들에 따라, 포인트들의 위치값에 대한 프로세스 및 포인트들의 속성값에 대한 프로세스는 서로의 데이터/정보를 공유하여 각 과정을 수행할 수 있다.According to embodiments, a process for a position value of points and a process for an attribute value of points may perform each process by sharing data/information of each other.
도12는 실시예들의 Point Cloud 콘텐츠 서비스를 제공하기 위한 송신기 장비를 도시한 도면이다. 12 is a diagram illustrating a transmitter equipment for providing a Point Cloud content service according to embodiments.
송신측에서의 실시예들은 Point Cloud 콘텐츠 전송 장치와 관련될 수 있다. Point Cloud 콘텐츠 전송 장치는 데이터 입력부, Point 위치 값들에 대해 양자화 처리부, 복셀화 처리부, 옥트리 occupancy 코드 생성부, 표면 모델 처리부, 인트라/인터 코딩 처리부, arithmetic 코더, 메타데이터 처리부, 또한 재구성된 위치 값을 기반으로 point 위치/복셀 값에 대한 속성 값들을 처리하기 위해 색상 변환 처리부, 속성 변환 처리부, 사용된 속성 인코딩 방식에 따라서 예측 변환 처리부, 리프팅 변환 처리부, RAHT 변환 처리부, arithmetic 코더를 거쳐서 인코딩된 지오메트리 비트스트림과 속성 비트스트림을 전송 처리부를 통해 수신측에 전송한다. 각 컴포넌트의 기능은 2장 인코딩 과정, 3장 전송과정에 설명되어 있다. Embodiments at the transmitting side may be related to the Point Cloud content transmission device. The Point Cloud content transmission device includes a data input unit, a quantization processing unit, a voxelization processing unit, an occupancy code generation unit, a surface model processing unit, an intra/inter coding processing unit, an arithmetic coder, a metadata processing unit, and a reconstructed position value for the point position values. Geometry bits encoded through the color conversion processing unit, the attribute conversion processing unit, the predictive transformation processing unit, the lifting transformation processing unit, the RAHT transformation processing unit, and the arithmetic coder according to the attribute encoding method used to process the attribute values for the point position/voxel value based on The stream and attribute bitstream are transmitted to the receiving side through the transmission processing unit. The function of each component is described in Chapter 2 Encoding Process and Chapter 3 Transmission Process.
도13은 실시예들에 따른 수신기의 Point Cloud 비디오 디코딩을 위한 구성요소를 나타낸다.13 shows components for decoding Point Cloud video of a receiver according to embodiments.
실시예들에 따른 포인트 클라우드 데이터의 비디오 디코딩을 위한 구성요소는 수신부(13000), 수신 처리부(13001), Arithmetic 디코더(13002), Occupancy코드 기반 옥트리 재구성 처리부(13003), 표면 모델 처리부(삼각형 재구성, 업-샘플링, 복셀화)( 13004), inverse 양자화 처리부(13005), 메타데이터 파서(13006), arithmetic 디코더(13007), inverse양자화 처리부(13008), 예측/리프팅/RAHT 역변환 처리부(13009), 색상 역변환 처리부(13010) 및/또는 렌더러(13011)를 포함할 수 있다. 실시예들에 따른 디코딩의 각 구성요소는 실시예들에 따른 인코딩의 구성요소의 역과정을 수행할 수 있다.Components for video decoding of point cloud data according to embodiments include a receiving unit 13000, a receiving processing unit 13001, an Arithmetic decoder 13002, an octree reconstruction processing unit 13003 based on an occupancy code, and a surface model processing unit (triangle reconstruction, Up-sampling, voxelization) (13004), inverse quantization processing unit (13005), metadata parser (13006), arithmetic decoder (13007), inverse quantization processing unit (13008), prediction/lifting/RAHT inverse transform processing unit (13009), color An inverse transform processing unit 13010 and/or a renderer 13011 may be included. Each component of decoding according to the embodiments may perform a reverse process of the component of encoding according to the embodiments.
실시예들에 따른 수신부(13000)는 포인트 클라우드 데이터를 수신한다. 수신부(13000)는 실시예들에 따른 도1의 리시버(10007)에 대응될 수 있다.The receiving unit 13000 according to the embodiments receives point cloud data. The receiver 13000 may correspond to the receiver 10007 of FIG. 1 according to embodiments.
실시예들에 따른 수신 처리부(13001)는 수신한 포인트 클라우드 데이터에 포함된 지오메트리 비트스트림 및/또는 속성 비트스트림을 획득할 수 있다.The reception processing unit 13001 according to the embodiments may obtain a geometry bitstream and/or an attribute bitstream included in the received point cloud data.
실시예들에 따른 Arithmetic 디코더(13002)는 지오메트리 비트스트림을 아리스메틱 방식에 기반하여 디코딩할 수 있다.The Arithmetic decoder 13002 according to embodiments may decode a geometry bitstream based on an Arithmetic method.
실시예들에 따른 Occupancy코드 기반 옥트리 재구성 처리부(13003)는 디코딩된 지오메트리를 Occupancy 코드에 기반하여 옥트리로 재구성할 수 있다.The octree reconstruction processing unit 13003 based on the Occupancy code according to the embodiments may reconstruct the decoded geometry into an octree based on the Occupancy code.
실시예들에 따른 표면 모델 처리부(삼각형 재구성, 업-샘플링, 복셀화)(13004)는 표면 모델 방식에 기반하여 포인트 클라우드 데이터에 대해 삼각형 재구성, 업-샘플링, 복셀화 및/또는 그것들의 조합에 따른 처리를 수행할 수 있다.The surface model processing unit (triangle reconstruction, up-sampling, voxelization) 13004 according to the embodiments performs triangular reconstruction, up-sampling, voxelization, and/or a combination thereof for point cloud data based on a surface model method. The following treatment can be performed.
실시예들에 따른 inverse 양자화 처리부(13005)는 포인트 클라우드 데이터를 인버스 양자화할 수 있다.The inverse quantization processing unit 13005 according to embodiments may inverse quantize point cloud data.
실시예들에 따른 메타데이터 파서(13006)는 수신한 포인트 클라우드 데이터에 포함된 메타데이터, 예를 들어 설정 값 등을 파싱할 수 있다. 메타데이터 파서(13006)는 메타데이터를 지오메트리 디코딩 프로세스 및/또는 속성 디코딩 프로세스의 각 과정에 전달할 수 있다. 실시예들에 따른 각 프로세스는 필요한 메타데이터에 기반하여 수행될 수 있다.The metadata parser 13006 according to embodiments may parse metadata included in the received point cloud data, for example, a setting value. The metadata parser 13006 may deliver metadata to each process of a geometry decoding process and/or an attribute decoding process. Each process according to embodiments may be performed based on necessary metadata.
실시예들에 따른 arithmetic 디코더(13007)는 포인트 클라우드 데이터의 속성 비트스트림을 재구성된 위치값에 기반하여 아리스메틱 방식에 기반하여 디코딩할 수 있다.The arithmetic decoder 13007 according to the embodiments may decode the attribute bitstream of point cloud data based on an arithmetic method based on the reconstructed position value.
실시예들에 따른 inverse양자화 처리부(13008)는 포인트 클라우드 데이터를 인버스 양자화할 수 있다.The inverse quantization processing unit 13008 according to embodiments may inverse quantize point cloud data.
실시예들에 따른 예측/리프팅/RAHT 역변환 처리부(13009)는 포인트 클라우드 데이터를 예측/리프팅/RAHT 방식 및/또는 그것들의 조합에 따른 방식에 기반하여 처리할 수 있다.The prediction/lifting/RAHT inverse transform processing unit 13009 according to embodiments may process point cloud data based on a prediction/lifting/RAHT method and/or a method according to a combination thereof.
실시예들에 따른 색상 역변환 처리부(13010)는 포인트 클라우드 데이터의 색상 값을 역변환할 수 있다.The color inverse transform processing unit 13010 according to embodiments may inversely transform a color value of point cloud data.
상술한 과정들은 실시예들에 따른 도1의 포인트 클라우드 디코더(10006)에 대응될 수 있다.The above-described processes may correspond to the point cloud decoder 10006 of FIG. 1 according to embodiments.
실시예들에 따른 렌더러(13011)는 포인트 클라우드 데이터를 렌더링할 수 있다.The renderer 13011 according to embodiments may render point cloud data.
도면은 실시예들의 Point Cloud 콘텐츠 서비스를 제공하기 위한 수신기 장비를 도시한 도면이다. The drawing is a diagram illustrating receiver equipment for providing Point Cloud content services according to embodiments.
수신측에서의 실시예들은 Point Cloud 콘텐츠 수신 장치와 관련될 수 있다. Point Cloud 콘텐츠 수신 장치는 수신부, 수신 처리부, 메타데이터 파서, Point의 지오메트리 비트스트림에 대해 arithmetic 디코더, occupancy 코드 기반 옥트리 재구성 처리부, 표면 모델 처리부, inverse 양자화 처리부, 또한 재구성된 위치 값을 기반으로 point 위치/복셀 값에 대한 속성 값들을 디코딩하기 위해 arithmetic 디코더, inverse 양자화 처리부, 사용된 속성 인코딩 방식에 따라서 예측 역변환 처리부, 리프팅 역변환 처리부, RAHT 역변환 처리부를 거쳐서 색상 역변환 처리부를 통해 렌더러에게 전달되어 렌더링되어 유저에게 VR/AR/MR/자율주행과 같은 경험을 제공한다. 각 컴포넌트의 기능은 3장 전송과정, 4장 디코딩 과정, 5장 렌더링 과정에 설명되어 있다. Embodiments at the receiving side may be related to the Point Cloud content receiving device. The Point Cloud content receiving device includes a receiving unit, a receiving processing unit, a metadata parser, an arithmetic decoder for the geometry bitstream of a point, an occupancy code-based octree reconstruction processing unit, a surface model processing unit, an inverse quantization processing unit, and a point location based on the reconstructed position value. /In order to decode the attribute values for the voxel value, it is delivered to the renderer through the color inverse transformation processing unit through the arithmetic decoder, inverse quantization processing unit, and inverse predictive transformation processing unit, lifting inverse transformation processing unit, and RAHT inverse transformation processing unit according to the used attribute encoding method. It provides VR/AR/MR/autonomous driving experiences. The functions of each component are described in Chapter 3 Transmission Process, Chapter 4 Decoding Process, and Chapter 5 Rendering Process.
전술한 Point Cloud 비디오 제공을 위한 전체 아키텍처 내에서, 획득/인코딩/전송/디코딩/렌더링의 일련의 과정을 거치게 되는 Point Cloud 데이터들을 Point Cloud 콘텐츠 데이터 또는 Point Cloud 비디오 데이터라고 부를 수 있다. Point Cloud 콘텐츠 데이터라는 용어는 또한 이러한 Point Cloud 데이터들과 관련되는 메타데이터 내지 시그널링 정보를 포함하는 개념으로 쓰일 수도 있다. Within the entire architecture for providing point cloud video described above, point cloud data that undergoes a series of processes of acquisition/encoding/transmission/decoding/rendering may be referred to as point cloud content data or point cloud video data. The term Point Cloud Content Data may also be used as a concept including metadata or signaling information related to these Point Cloud data.
도14는 실시예들에 따른 G-PCC 기반 point cloud 데이터 저장 및 스트리밍을 위한 아키텍쳐를 나타낸다.14 shows an architecture for G-PCC-based point cloud data storage and streaming according to embodiments.
실시예들은 사용자에게 VR (Virtual Reality, 가상현실), AR (Augmented Reality, 증강현실), MR (Mixed Reality, 혼합현실), 및 자율 주행 등 다양한 서비스를 지원하는Point Cloud 데이터를 저장 및 스트리밍 방안을 제공한다.The embodiments provide a method for storing and streaming Point Cloud data that supports various services such as VR (Virtual Reality, Virtual Reality), AR (Augmented Reality, Augmented Reality), MR (Mixed Reality, Mixed Reality), and autonomous driving. to provide.
도14는 Geometry-based Point Cloud Compression(이하 G-PCC) 를 기반으로 압축되는 point cloud 데이터를 저장 혹은 스트리밍을 위한 전체 아키텍쳐를 도시한 도면이다. Point cloud 데이터 저장 및 스트리밍의 과정은 획득 과정, 인코딩 과정, 전송 과정, 디코딩 과정, 랜더링 과정 및/또는 피드백 과정을 포함할 수 있다. 14 is a diagram showing the overall architecture for storing or streaming point cloud data compressed based on Geometry-based Point Cloud Compression (hereinafter, G-PCC). The process of storing and streaming point cloud data may include an acquisition process, an encoding process, a transmission process, a decoding process, a rendering process and/or a feedback process.
실시예들은 point cloud 미디어/콘텐츠/데이터를 효과적으로 제공하는 방안을 제안한다. Point cloud 미디어/콘텐츠/데이터를 효과적으로 제공하기 위하여 먼저, point cloud 가 획득될 수 있다. 예를 들어 하나 이상의 카메라를 통하여 Point Cloud의 캡처, 합성 또는 생성 과정 등을 통한 Point Cloud 데이터를 획득할 수 있다. 이러한 획득 과정에 의해 각 포인트의 3D 위치(x, y, z 위치 값 등으로 나타낼 수 있다. 이하 이를 지오메트리라고 일컫는다), 각 포인트의 속성 (color, reflectance, transparency 등)을 포함하는 point cloud 데이터를 획득할 수 있으며 이를 포함하는, 예를 들어, PLY(Polygon File format or the Stanford Triangle format) 파일 등으로 생성 될 수 있다. 여러 개의 프레임을 갖는 point cloud 데이터의 경우 하나 이상의 파일들이 획득될 수 있다. 이러한 과정에서 point cloud 관련 메타데이터 (예를 들어 캡처 등과 관련된 메타데이터 등)가 생성될 수 있다. Embodiments propose a method of effectively providing point cloud media/contents/data. Point cloud In order to effectively provide media/contents/data, first, a point cloud can be acquired. For example, point cloud data may be acquired through the process of capturing, synthesizing, or creating a point cloud through one or more cameras. Through this acquisition process, point cloud data including the 3D position (x, y, z position values, etc.) of each point (hereinafter referred to as geometry) and the attributes of each point (color, reflectance, transparency, etc.) It can be obtained, and can be created as a PLY (Polygon File format or the Stanford Triangle format) file including the same. In the case of point cloud data having multiple frames, one or more files may be acquired. In this process, point cloud related metadata (eg, metadata related to capture, etc.) can be created.
Point Cloud인코더는 Geometry-based Point Cloud Compression (G-PCC) 절차를 수행하며 이는 예측, 변환, 양자화, 엔트로피 코딩 등의 일련의 절차를 수행하고 인코딩된 데이터(인코딩된 비디오/영상 정보)는 비트스트림(bitstream) 형태로 출력될 수 있다. 이는 후술하는 바와 같이 지오메트리 및 속성(attribute) 로 나누어 인코딩 할 수 있으며 비트 스트림 상에 포인트 클라우드 관련 메타데이터가 포함될 수 있다. 이 경우 출력 비트 스트림은 지오메트리 비트스트림 및/또는 어트리뷰트 비트스트림 을 포함할 수 있다. The Point Cloud encoder performs a Geometry-based Point Cloud Compression (G-PCC) procedure, which performs a series of procedures such as prediction, transformation, quantization, and entropy coding, and the encoded data (encoded video/video information) is a bitstream. It can be output in (bitstream) format. This can be encoded by dividing into geometry and attributes as described later, and point cloud related metadata can be included in the bit stream. In this case, the output bitstream may include a geometry bitstream and/or an attribute bitstream.
인캡슐레이션(file/segment encapsulation)는 인코딩된 Point cloud데이터 및/또는 Point cloud관련 메타데이터를 파일 또는 스트리밍을 위한 세그먼트 등의 형태로 인캡슐레이션할 수 있다. 여기서 Point cloud 관련 메타데이터는 메타데이터 처리부 등으로부터 전달받은 것일 수 있다. 메타데이터 처리부는 상기 point cloud 비디오 인코더에 포함될 수도 있고, 또는 별도의 컴포넌트/모듈로 구성될 수도 있다. 인캡슐레이션 처리부는 해당 데이터들을 ISOBMFF 등의 파일 포맷으로 인캡슐레이션하거나, 기타 DASH 세그먼트 등의 형태로 처리할 수 있다. 인캡슐레이션 처리부는 실시 예에 따라 Point cloud관련 메타데이터를 파일 포맷 상에 포함시킬 수 있다. Point cloud 메타데이터는 예를 들어 ISOBMFF 파일 포맷 상의 다양한 레벨의 박스(box)에 포함되거나 파일 내에서 별도의 트랙내의 데이터로 포함될 수 있다. 실시 예에 따라, 인캡슐레이션 처리부는 Point cloud관련 메타데이터 자체를 파일로 인캡슐레이션할 수 있다. Encapsulation (file/segment encapsulation) may encapsulate encoded point cloud data and/or point cloud related metadata in the form of a file or a segment for streaming. Here, the metadata related to the point cloud may be transmitted from a metadata processing unit. The metadata processing unit may be included in the point cloud video encoder, or may be configured as a separate component/module. The encapsulation processing unit may encapsulate the data in a file format such as ISOBMFF, or may process the data in the form of other DASH segments. The encapsulation processor may include point cloud related metadata on a file format according to an embodiment. Point cloud metadata may be included in boxes of various levels in the ISOBMFF file format, for example, or may be included as data in separate tracks within the file. According to an embodiment, the encapsulation processing unit may encapsulate the point cloud related metadata itself as a file.
전송 처리부는 파일 포맷에 따라 인캡슐레이션된 Point cloud데이터에 전송을 위한 처리를 가할 수 있다. 전송 처리부는 전송부에 포함될 수도 있고, 또는 별도의 컴포넌트/모듈로 구성될 수도 있다. 전송 처리부는 임의의 전송 프로토콜에 따라 Point cloud데이터를 처리할 수 있다. 전송을 위한 처리에는 방송망을 통한 전달을 위한 처리, 브로드밴드를 통한 전달을 위한 처리를 포함할 수 있다. 실시 예에 따라 전송 처리부는 Point cloud 데이터 뿐 아니라, 메타데이터 처리부로부터 Point cloud 관련 메타데이터를 전달받아, 이 것에 전송을 위한 처리를 가할 수도 있다.The transmission processing unit may apply processing for transmission to the encapsulated point cloud data according to the file format. The transmission processing unit may be included in the transmission unit or may be configured as a separate component/module. The transmission processing unit can process point cloud data according to any transmission protocol. The processing for transmission may include processing for transmission through a broadcasting network and processing for transmission through a broadband. According to an embodiment, the transmission processing unit may receive not only the point cloud data, but also the point cloud related metadata from the metadata processing unit, and may apply processing for transmission to this.
전송부는 point cloud 비트스트림 혹은 해당 비트스트림을 포함하는 파일/세그먼트를 디지털 저장매체 또는 네트워크를 통하여 수신 디바이스의 수신부로 전달할 수 있다. 전송을 위해 임의의 전송 프로토콜에 따른 처리가 수행될 수 있다. 전송을 위한 처리를 마친 데이터들은 방송망 및/또는 브로드밴드를 통해 전달될 수 있다. 이 데이터들은 온 디맨드(On Demand) 방식으로 수신측으로 전달될 수도 있다.디지털 저장 매체는 USB, SD, CD, DVD, 블루레이, HDD, SSD 등 다양한 저장 매체를 포함할 수 있다. 전송부는 미리 정해진 파일 포멧을 통하여 미디어 파일을 생성하기 위한 엘리먼트를 포함할 수 있고, 방송/통신 네트워크를 통한 전송을 위한 엘레멘트를 포함할 수 있다. 수신부는 상기 비트스트림을 추출하여 디코딩 장치로 전달할 수 있다.The transmission unit may transmit the point cloud bitstream or the file/segment including the corresponding bitstream to the reception unit of the receiving device through a digital storage medium or a network. For transmission, processing according to any transmission protocol can be performed. Data processed for transmission may be delivered through a broadcasting network and/or a broadband. These data may be delivered to the receiving side in an on-demand manner. Digital storage media may include various storage media such as USB, SD, CD, DVD, Blu-ray, HDD, and SSD. The transmission unit may include an element for generating a media file through a predetermined file format, and may include an element for transmission through a broadcast/communication network. The receiver may extract the bitstream and transmit it to a decoding device.
수신부는 실시예들에 따른 point cloud 데이터 전송 장치가 전송한 point cloud 데이터를 수신할 수 있다. 전송되는 채널에 따라 수신부는 방송망을 통하여 point cloud데이터를 수신할 수도 있고, 브로드밴드를 통하여 point cloud데이터를 수신할 수도 있다. 혹은 디지털 저장 매체를 통하여 point cloud 비디오 데이터를 수신할 수도 있다. 수신부는 수신한 데이터를 디코딩 하고 이를 사용자의 뷰포트 등에 따라 랜더링하는 과정을 포함할 수 있다. The receiver may receive point cloud data transmitted by the point cloud data transmission device according to the embodiments. Depending on the transmitted channel, the receiver may receive point cloud data through a broadcasting network or may receive point cloud data through a broadband. Alternatively, point cloud video data can be received through a digital storage medium. The receiver may include a process of decoding the received data and rendering it according to a user's viewport.
수신 처리부는 수신된 point cloud데이터에 대해 전송 프로토콜에 따른 처리를 수행할 수 있다. 수신 처리부는 수신부에 포함될 수 있고, 또는 별도의 컴포넌트/모듈로 구성될 수도 있다. 전송측에서 전송을 위한 처리가 수행된 것에 대응되도록, 수신 처리부는 전술한 전송 처리부의 역과정을 수행할 수 있다. 수신 처리부는 획득한 point cloud 데이터는 디캡슐레이션 처리부로 전달하고, 획득한 point cloud 관련 메타데이터는 메타데이터 파서로 전달할 수 있다. The reception processing unit may perform processing according to a transmission protocol on the received point cloud data. The receiving processing unit may be included in the receiving unit, or may be configured as a separate component/module. The reception processing unit may perform the reverse process of the transmission processing unit described above so as to correspond to the transmission processing performed by the transmission side. The receiving processing unit may transmit the acquired point cloud data to the decapsulation processing unit, and the acquired point cloud related metadata may be transmitted to the metadata parser.
디캡슐레이션 처리부(file/segment decapsulation)는 수신 처리부로부터 전달받은 파일 형태의 point cloud데이터를 디캡슐레이션할 수 있다. 디캡슐레이션 처리부는 ISOBMFF 등에 따른 파일들을 디캡슐레이션하여, point cloud비트스트림 내지 point cloud 관련 메타데이터(혹은 별도의 메타데이터 비트스트림)를 획득할 수 있다. 획득된 point cloud비트스트림은 상기 point cloud디코더로, 획득된 point cloud관련 메타데이터(혹은 메타데이터 비트스트림)는 메타데이터 처리부로 전달할 수 있다. 상기 point cloud비트스트림은 상기 메타데이터(메타데이터 비트스트림)를 포함할 수도 있다. 상기 메타데이터 처리부는 상기 point cloud 비디오 디코더에 포함될 수도 있고, 또는 별도의 컴포넌트/모듈로 구성될 수도 있다. 디캡슐레이션 처리부가 획득하는 point cloud관련 메타데이터는 파일 포맷 내의 박스 혹은 트랙 형태일 수 있다. 디캡슐레이션 처리부는 필요한 경우 메타데이터 처리부로부터 디캡슐레이션에 필요한 메타데이터를 전달받을 수도 있다. 상기 point cloud관련 메타데이터는 상기 point cloud디코더에 전달되어 point cloud디코딩 절차에 사용될 수도 있고, 또는 렌더러에 전달되어 point cloud렌더링 절차에 사용될 수도 있다. The decapsulation processing unit (file/segment decapsulation) may decapsulate the point cloud data in the form of a file transmitted from the reception processing unit. The decapsulation processor may decapsulate files according to ISOBMFF or the like to obtain a point cloud bitstream or point cloud related metadata (or a separate metadata bitstream). The acquired point cloud bitstream may be transmitted to the point cloud decoder, and the acquired point cloud related metadata (or metadata bitstream) may be transmitted to the metadata processing unit. The point cloud bitstream may include the metadata (metadata bitstream). The metadata processing unit may be included in the point cloud video decoder, or may be configured as a separate component/module. The point cloud related metadata acquired by the decapsulation processing unit may be in the form of a box or track in a file format. If necessary, the decapsulation processing unit may receive metadata required for decapsulation from the metadata processing unit. The point cloud related metadata may be transmitted to the point cloud decoder and used for a point cloud decoding procedure, or may be transmitted to a renderer and used for a point cloud rendering procedure.
Point Cloud디코더는 상기 비트스트림을 입력 받아 상기 Point Cloud인코더의 동작에 대응하는 동작을 수행하여 데이터를 디코딩할 수 있다. 이 경우 Point Cloud디코더는 Point Cloud데이터를 후술하는 바와 같이 지오메트리 및 속성(attribute)로 나누어 디코딩할 수 있다. 예를 들어, Point Cloud디코더는 입력 비트스트림 내 포함된 지오메트리 비트스트림으로부터 지오메트리를 복원(디코딩)할 수 있고, 상기 입력 비트스트림 내 포함된 속성 비트스트림 및 상기 복원된 지오메트리를 기반으로 속성값을 복원(디코딩)할 수 있다. 상기 복원된 지오메트리에 따른 위치 정보 및 상기 디코딩된 속성값에 따른 (컬러) 텍스처 어트리뷰트를 기반으로 3차원의 각 포인트의 위치와 각 포인트의 속성정보를 복원하여 point cloud을 복원할 수 있다. The Point Cloud decoder may decode data by receiving the bitstream and performing an operation corresponding to the operation of the Point Cloud encoder. In this case, the Point Cloud decoder can decode the Point Cloud data by dividing it into geometry and attributes, as described later. For example, the Point Cloud decoder can restore (decode) geometry from the geometry bitstream included in the input bitstream, and restore the attribute value based on the attribute bitstream included in the input bitstream and the restored geometry. You can (decode) it. A point cloud may be restored by restoring the position of each point and attribute information of each point in 3D based on the location information according to the restored geometry and the (color) texture attribute according to the decoded attribute value.
센싱/트랙킹부(Sensing/Tracking)는 사용자 또는 수신측로부터 오리엔테이션 정보 및/또는 사용자 뷰포트 정보를 획득하여 수신부 및/또는 송신부에 전달한다.오리엔테이션 정보는 사용자의 머리 위치, 각도, 움직임 등에 대한 정보를 나타내거나 혹은 사용자가 보고 있는 장치의 위치, 각도, 움직임 등에 대한 정보를 나타낼 수 있다. 이 정보를 기반으로 사용자가 현재 3차원 공간 상에서 보고 있는 영역에 대한 정보, 즉 사용자 뷰포트 정보가 계산될 수 있다. The sensing/tracking unit obtains orientation information and/or user viewport information from the user or the receiving side and transmits it to the receiving unit and/or the transmitting unit. The orientation information provides information on the position, angle, and movement of the user's head. It can be displayed or information about the location, angle, and movement of the device that the user is viewing. Based on this information, information on an area that the user is currently viewing in the 3D space, that is, user viewport information may be calculated.
사용자 뷰포트 정보는 현재 사용자가 3차원 공간 상에서 디바이스 혹은 HMD 등을 통하여 보고 있는 영역에 대한 정보일 수 있다. 디스플레이 등의 장치는 오리엔테이션 정보, 장치가 지원하는 수직(vertical) 혹은 수평(horizontal) FOV 등에 근거하여 뷰포트 영역을 추출할 수 있다. 오리엔테이션 혹은 뷰포트 정보는 수신측에서 추출 혹은 계산될 수 있다. 수신측에서 분석된 오리엔테이션 혹은 뷰포트 정보는 송신측으로 피드백 채널을 통해 전달될 수도 있다.The user viewport information may be information on a region currently viewed by the user through a device or an HMD in a 3D space. A device such as a display may extract a viewport area based on orientation information and a vertical or horizontal FOV supported by the device. Orientation or viewport information can be extracted or calculated at the receiving end. The orientation or viewport information analyzed by the receiving side may be transmitted to the transmitting side through a feedback channel.
수신부는 센싱/트랙킹부에 의해 획득된 오리엔테이션 정보 및/또는사용자가 현재 보고 있는 영역을 나타내는뷰포트 정보를 사용하여 특정 영역, 즉 오리엔테이션 정보 및/또는 뷰포트 정보가 나타내는 영역의 미디어 데이터만 효율적으로 파일에서 추출하거나 디코딩할 수 있다. 또한, 송신부는 센싱/트랙부에 의해 획득된 오리엔테이션 정보 및/또는 뷰포트 정보를 사용하여 특정 영역, 즉 오리엔테이션 정보 및/또는 뷰포트 정보가 나타내는 영역의 미디어 데이터만 효율적으로 인코딩하거나 파일 생성 및 전송할 수 있다.The receiving unit uses the orientation information acquired by the sensing/tracking unit and/or the viewport information indicating the area currently being viewed by the user, and efficiently extracts only the media data of the specific area, that is, the area indicated by the orientation information and/or the viewport information. It can be extracted or decoded. In addition, the transmitter can efficiently encode only media data of a specific area, that is, an area indicated by orientation information and/or viewport information, or generate and transmit a file, using orientation information and/or viewport information acquired by the sensing/track unit. .
렌더러는 3차원 공간 상에 디코딩된 Point Cloud 데이터를 렌더링 할 수 있다. 렌더링된 비디오/영상은 디스플레이부를 통하여 디스플레이될 수 있다. 사용자는 VR/AR 디스플레이 또는 일반 디스플레이 등을 통하여 렌더링 된 결과의 전부 또는 일부 영역을 볼 수 있다.The renderer can render decoded Point Cloud data in 3D space. The rendered video/image may be displayed through the display unit. The user can view all or part of the rendered result through a VR/AR display or a general display.
피드백 과정은 렌더링/디스플레이 과정에서 획득될 수 있는 다양한 피드백 정보들을 송신측으로 전달하거나 수신측의 디코더에 전달하는 과정을 포함할 수 있다. 피드백 과정을 통해 Point Cloud 데이터 소비에 있어 인터랙티비티(interactivity)가 제공될 수 있다. 실시예에 따라, 피드백 과정에서 헤드 오리엔테이션(Head Orientation) 정보, 사용자가 현재 보고 있는 영역을 나타내는 뷰포트(Viewport) 정보 등이 전달될 수 있다. 실시 예에 따라, 사용자는 VR/AR/MR/자율주행 환경 상에 구현된 것들과 상호작용 할 수도 있는데, 이 경우 그 상호작용과 관련된 정보가 피드백 과정에서 송신측 내지 서비스 프로바이더 측으로 전달될 수도 있다. 실시 예에 따라 피드백 과정은 수행되지 않을 수도 있다.The feedback process may include a process of transferring various feedback information that can be obtained during the rendering/display process to a transmitter or a decoder at a receiver. Interactivity in Point Cloud data consumption can be provided through the feedback process. Depending on the embodiment, head orientation information, viewport information indicating an area currently viewed by the user, and the like may be transmitted in the feedback process. Depending on the embodiment, the user may interact with those implemented in the VR/AR/MR/autonomous driving environment.In this case, information related to the interaction may be transmitted to the transmitting side or the service provider side in the feedback process. have. Depending on the embodiment, the feedback process may not be performed.
실시예에 따라 전술한 피드백 정보는 송신측으로 전달되는 것 뿐아니라, 수신측에서 소비될 수도 있다. 즉, 전술한 피드백 정보를 이용하여 수신측의 디캡슐레이션 처리, 디코딩, 렌더링 과정 등이 수행될 수 있다. 예를 들어, 오리엔테이션 정보 및/또는 뷰포트 정보를 이용하여 현재 사용자가 보고 있는 영역에 대한 point cloud 데이터가 우선적으로 디캡슐레이션, 디코딩 및 렌더링될 수도 있다. According to an embodiment, the above-described feedback information is not only transmitted to the transmitting side, but may be consumed by the receiving side. That is, a decapsulation process, decoding, rendering process, etc. of the receiver may be performed using the above-described feedback information. For example, point cloud data for a region currently viewed by a user may be preferentially decapsulated, decoded, and rendered using orientation information and/or viewport information.
도15는 실시예들에 따른 point cloud 데이터 저장 및 전송을 나타낸다.15 shows point cloud data storage and transmission according to embodiments.
도면은 실시예들에 따른 point cloud 데이터 전송 장치를 나타낸다.The drawing shows a point cloud data transmission apparatus according to embodiments.
실시예들에 따른 Point Cloud 데이터 저장 및 전송 장치는 Point Cloud 획득부(Point Cloud Acquisition), Point Cloud 인코딩부(Point Cloud Encoding), 파일/세그먼트 인캡슐레이션부(File/Segment Encapsulation),및/또는 딜리버리부(Delivery)를 포함한다. 전송 장치의 각 구성은 모듈/유닛/컴포넌트/하드웨어/소프트웨어/프로세서 등일 수 있다.Point Cloud data storage and transmission device according to the embodiments is a Point Cloud acquisition unit (Point Cloud Acquisition), a Point Cloud encoding unit (Point Cloud Encoding), a file / segment encapsulation unit (File / Segment Encapsulation), and / or It includes a delivery part (Delivery). Each configuration of the transmission device may be a module/unit/component/hardware/software/processor.
Point cloud 의 geometry, attribute, auxiliary data, mesh data 등은 각각 별도의 스트림으로 구성되거나 혹은 파일 내 각각 다른 트랙에 저장될 수 있다. 더 나아가 별도의 세그먼트에 포함될 수 있다. Point cloud geometry, attributes, auxiliary data, mesh data, etc. can be configured as separate streams or can be stored in different tracks in the file. Furthermore, it can be included in a separate segment.
Point Cloud 획득부(Point Cloud Acquisition)은 point cloud 를 획득한다. 예를 들어 하나 이상의 카메라를 통하여 Point Cloud의 캡쳐, 합성 또는 생성 과정 등을 통한 Point Cloud 데이터를 획득할 수 있다. 이러한 획득 과정에 의해 각 포인트의 3D 위치(x, y, z 위치 값 등으로 나타낼 수 있다. 이하 이를 지오메트리라고 일컫는다), 각 포인트의 속성 (color, reflectance, transparency 등)을 포함하는 point cloud 데이터를 획득할 수 있으며 이를 포함하는, 예를 들어, PLY(Polygon File format or the Stanford Triangle format) 파일 등으로 생성 될 수 있다. 여러 개의 프레임을 갖는 point cloud 데이터의 경우 하나 이상의 파일들이 획득될 수 있다. 이러한 과정에서 point cloud 관련 메타데이터 (예를 들어 캡처 등과 관련된 메타데이터 등)가 생성될 수 있다. The Point Cloud Acquisition acquires a point cloud. For example, point cloud data may be acquired through a process of capturing, synthesizing, or creating a point cloud through one or more cameras. Through this acquisition process, point cloud data including the 3D position (x, y, z position values, etc.) of each point (hereinafter referred to as geometry) and the attributes of each point (color, reflectance, transparency, etc.) It can be obtained, and can be created as a PLY (Polygon File format or the Stanford Triangle format) file including the same. In the case of point cloud data having multiple frames, one or more files may be acquired. In this process, point cloud related metadata (eg, metadata related to capture, etc.) can be created.
Point Cloud 인코딩부(Point Cloud Encoding)는 Point Cloud인코더는 Geometry-based Point Cloud Compression (G-PCC) 절차를 수행하며 이는 예측, 변환, 양자화, 엔트로피 코딩 등의 일련의 절차를 수행하고 인코딩된 데이터(인코딩된 비디오/영상 정보)는 비트스트림(bitstream) 형태로 출력될 수 있다. 이는 후술하는 바와 같이 지오메트리 및 속성(attribute) 로 나누어 인코딩 할 수 있으며 비트 스트림 상에 포인트 클라우드 관련 메타데이터가 포함될 수 있다. 이 경우 출력 비트 스트림은 지오메트리 비트스트림 및/또는 어트리뷰트 비트스트림 을 포함할 수 있다. Point Cloud 인코딩부는 메타데이터(Metadata)를 수신할 수 있다. 메타데이터는 Point Cloud를 위한 콘텐츠에 관련된 메타데이터를 나타낸다. 예를 들어 이니셜 뷰잉 오리엔테이션 메타데이터(Initial viewing orientation metadata)가 있을 수 있다. 메타데이터는 포인트 클라우드 데이터가 앞을 나타내는 데이터인지 뒤를 나타내는 데이터인지 등을 나타낸다. Point Cloud 인코딩부는 오리엔테이션 정보 및/또는 뷰포트 정보를 수신할 수 있다. Point Cloud 인코딩부 메타데이터, 오리엔테이션 정보 및/또는 뷰포트 정보에 기반하여 인코딩을 수행할 수 있다.Point Cloud Encoding, the Point Cloud Encoder performs a Geometry-based Point Cloud Compression (G-PCC) procedure, which performs a series of procedures such as prediction, transformation, quantization, and entropy coding, and the encoded data ( The encoded video/video information) may be output in the form of a bitstream. This can be encoded by dividing into geometry and attributes as described later, and point cloud related metadata can be included in the bit stream. In this case, the output bitstream may include a geometry bitstream and/or an attribute bitstream. The point cloud encoding unit may receive metadata. Metadata represents metadata related to content for Point Cloud. For example, there may be initial viewing orientation metadata. The metadata indicates whether the point cloud data is data representing the front or the data representing the back. The point cloud encoding unit may receive orientation information and/or viewport information. Point Cloud Encoding Unit Encoding may be performed based on metadata, orientation information, and/or viewport information.
구체적으로, Point Cloud 인코딩부(Point Cloud Encoding)는 지오메트리 컴프레션(Geometry compression), 어트리뷰트 컴프레션(Attribute compression), Auxiliary 데이터 컴프레션(Auxiliary data compression), Mesh 데이터 컴프레션(Mesh data compression)을 수행한다. Specifically, the Point Cloud Encoding unit performs geometry compression, attribute compression, Auxiliary data compression, and Mesh data compression.
지오메트리 컴프레션(Geometry compression)은 point cloud 지오메트리 정보를 인코딩한다. 지오메트리는 3차원 공간상의 포인트를 나타낸다.Geometry compression encodes point cloud geometry information. Geometry represents a point in three-dimensional space.
어트리뷰트 컴프레션(Attribute compression)은 point cloud 의 어트리뷰트를 인코딩한다. 어트리뷰트는 하나 또는 하나 이상의 어트리뷰트를 나타낸다. 예를 들어, color, reflectance 등의 속성을 포함하는N개의 어트리뷰트가 있을 수 있다. Attribute compression encodes the attributes of a point cloud. An attribute represents one or more attributes. For example, there may be N attributes including attributes such as color and reflectance.
Auxiliary 데이터 컴프레션(Auxiliary data compression)은, point cloud 와 연관된 Auxiliary 데이터를 인코딩한다. Auxiliary 데이터는 Point Cloud에 관한 메타데이터를 나타낸다.Auxiliary data compression encodes Auxiliary data associated with a point cloud. Auxiliary data represents metadata about Point Cloud.
Mesh 데이터 컴프레션(Mesh data compression)은 Mesh 데이터를 인코딩한다. Mesh 는 Point Cloud간의 연결 정보를 나타낸다. 예를 들어, 삼각형 형태의 데이터일 수 있다. Mesh data compression encodes mesh data. Mesh represents connection information between point clouds. For example, it may be triangular data.
Point Cloud 인코딩부는 포인트를 렌더링하기 위해 필요한 정보들인 포인트에 관한 지오메트리, 어트리뷰트, Auxiliary 데이터, Mesh데이터를 인코딩한다. Point Cloud 인코딩부는 지오메트리, 어트리뷰트, Auxiliary 데이터, Mesh 데이터를 인코딩하여 하나의 비트스트림으로 전달할 수 있다. 또는, Point Cloud 인코딩부는 지오메트리, 어트리뷰트, Auxiliary 데이터, Mesh 데이터를 인코딩하여 복수의 비트스트림으로 전달할 수 있다. 포인트 클라우드 인코딩부의 각 동작은 병렬적으로 수행될 수 있다.The Point Cloud encoding unit encodes the geometry, attributes, auxiliary data, and mesh data of the point, which are information necessary to render the point. The Point Cloud encoding unit may encode geometry, attributes, auxiliary data, and mesh data and deliver them as one bitstream. Alternatively, the point cloud encoding unit may encode geometry, attributes, auxiliary data, and mesh data and transmit them as a plurality of bitstreams. Each operation of the point cloud encoding unit may be performed in parallel.
파일/세그먼트 인캡슐레이션부(File/Segment Encapsulation)는 미디어 트랙 인캡슐레이션(Media track encapsulation) 및/또는 메타데이터 트랙 인캡슐레이션(metadata track encapsulation)을 수행한다. 파일/세그먼트 인캡슐레이션부는 인코딩된 지오메트리, 인코딩된 어트리뷰트, 인코딩된 Auxiliary 데이터, 인코딩된 Mesh데이터를 파일 형태로 전달하기 위한 트랙을 생성한다. 인코딩된 지오메트리를 포함하는 비트스트림, 인코딩된 어트리뷰트를 포함하는 비트스트림, 인코딩된 Auxiliary데이터를 포함하는 비트스트림, 인코딩된 Mesh데이터를 포함하는 비트스트림을 하나 또는 하나 이상의 복수의 트랙에 포함시킬 수 있다. 파일/세그먼트 인캡슐레이션부는 지오메트리, 어트리뷰트, Auxiliary 데이터, Mesh 데이터를 하나 또는 하나 이상의 미디어 트랙으로 인캡슐레이션한다. 또한, 파일/세그먼트 인캡슐레이션부는 메타데이터를 미디어 트랙에 포함하거나 별도의 메타데이터 트랙으로 인캡슐레이션한다. 파일/세그먼트 인캡슐레이션부는 포인트 클라우드 스트림(들)을 파일 및/또는 세그먼트의 형태로 인캡슐레이션한다. 포인트 클라우드 스트림(들)을 세그먼트(들) 형태로 인캡슐레이션하여 전달하는 경우 DASH포맷으로 딜리버리한다. 파일/세그먼트 인캡슐레이션부는 포인트 클라우드 스트림(들)을 파일 형태로 인캡슐레이션하는 경우 파일을 딜리버리한다.The file/segment encapsulation unit performs media track encapsulation and/or metadata track encapsulation. The file/segment encapsulation unit creates a track for delivering the encoded geometry, encoded attributes, encoded auxiliary data, and encoded mesh data in a file format. The bitstream including the encoded geometry, the bitstream including the encoded attribute, the bitstream including the encoded auxiliary data, and the bitstream including the encoded mesh data may be included in one or more tracks. . The file/segment encapsulation unit encapsulates geometry, attributes, auxiliary data, and mesh data into one or more media tracks. In addition, the file/segment encapsulation unit includes metadata in a media track or encapsulates the metadata in a separate metadata track. The file/segment encapsulation unit encapsulates the point cloud stream(s) in the form of files and/or segments. When the point cloud stream(s) is encapsulated and delivered in the form of segment(s), it is delivered in the DASH format. The file/segment encapsulation unit delivers the file when encapsulating the point cloud stream(s) in the form of a file.
딜리버리부(Delivery)는 point cloud 비트스트림 혹은 해당 비트스트림을 포함하는 파일/세그먼트를 디지털 저장매체 또는 네트워크를 통하여 수신 디바이스의 수신부로 전달할 수 있다. 전송을 위해 임의의 전송 프로토콜에 따른 처리가 수행될 수 있다. 전송을 위한 처리를 마친 데이터들은 방송망 및/또는 브로드밴드를 통해 전달될 수 있다. 이 데이터들은 온 디맨드(On Demand) 방식으로 수신측으로 전달될 수도 있다.디지털 저장 매체는 USB, SD, CD, DVD, 블루레이, HDD, SSD 등 다양한 저장 매체를 포함할 수 있다. 딜리버리부는 미리 정해진 파일 포멧을 통하여 미디어 파일을 생성하기 위한 엘리먼트를 포함할 수 있고, 방송/통신 네트워크를 통한 전송을 위한 엘레멘트를 포함할 수 있다. 딜리버리부는 수신부로부터 오리엔테이션 정보 및/또는 뷰포트 정보를 수신한다. 딜리버리부는 획득한 오리엔테이션 정보 및/또는 뷰포트 정보(또는 사용자가 선택한 정보)를 파일/세그먼트 인캡슐레이션부 및/또는 포인트 클라우드 인코딩부에 전달할 수 있다. 오리엔테이션 정보 및/또는 뷰포트 정보에 기반하여, 포인트 클라우드 인코딩부는 모든 포인트 클라우드 데이터를 인코딩하거나 또는 오리엔테이션 정보 및/또는 뷰포트 정보가 나타내는 포인트 클라우드 데이터를 인코딩할 수 있다. 오리엔테이션 정보 및/또는 뷰포트 정보에 기반하여, 파일/세그먼트 인캡슐레이션부는 모든 포인트 클라우드 데이터를 인캡슐레이션하거나 또는 오리엔테이션 정보 및/또는 뷰포트 정보가 나타내는 포인트 클라우드 데이터를 인캡슐레이션할 수 있다. 오리엔테이션 정보 및/또는 뷰포트 정보에 기반하여, 딜리버리부는 모든 포인트 클라우드 데이터를 딜리버리하거나 또는 오리엔테이션 정보 및/또는 뷰포트 정보가 나타내는 포인트 클라우드 데이터를 딜리버리할 수 있다.The delivery unit may deliver a point cloud bitstream or a file/segment including the corresponding bitstream to a receiving unit of a receiving device through a digital storage medium or a network. For transmission, processing according to any transmission protocol can be performed. Data processed for transmission may be delivered through a broadcasting network and/or a broadband. These data may be delivered to the receiving side in an on-demand manner. Digital storage media may include various storage media such as USB, SD, CD, DVD, Blu-ray, HDD, and SSD. The delivery unit may include an element for generating a media file through a predetermined file format, and may include an element for transmission through a broadcast/communication network. The delivery unit receives orientation information and/or viewport information from the reception unit. The delivery unit may transmit the obtained orientation information and/or viewport information (or information selected by the user) to the file/segment encapsulation unit and/or the point cloud encoding unit. Based on the orientation information and/or the viewport information, the point cloud encoding unit may encode all point cloud data or the point cloud data indicated by the orientation information and/or the viewport information. Based on the orientation information and/or the viewport information, the file/segment encapsulation unit may encapsulate all point cloud data or the point cloud data indicated by the orientation information and/or the viewport information. Based on the orientation information and/or the viewport information, the delivery unit may deliver all point cloud data or the point cloud data indicated by the orientation information and/or the viewport information.
도16은 실시예들에 따른 point cloud 데이터 수신 장치를 나타낸다.16 shows a device for receiving point cloud data according to embodiments.
도면은 point cloud 데이터 수신 장치를 나타낸다.The drawing shows a device for receiving point cloud data.
실시예들에 따른 Point Cloud 데이터 수신 장치는 딜리버리 클라이언트(Delivery Client), 센싱/트랙킹부(Sensing/Tracking), 파일/세그먼트 디캡슐레이션부(File/Segment decapsulation), Point Cloud 디코딩부(Point Cloud Decoding) 및/또는 Point Cloud 렌더링부(Point Cloud Rendering), 디스플레이를 포함한다. 수신 장치의 각 구성은 모듈/유닛/컴포넌트/하드웨어/소프트웨어/프로세서 등일 수 있다.The Point Cloud data receiving device according to the embodiments includes a delivery client, a sensing/tracking unit, a file/segment decapsulation unit, and a point cloud decoding unit. ) And/or a Point Cloud rendering unit (Point Cloud Rendering), and a display. Each configuration of the receiving device may be a module/unit/component/hardware/software/processor.
딜리버리 클라이언트(Delivery Client)는 실시예들에 따른 point cloud 데이터 전송 장치가 전송한 point cloud 데이터, point cloud 비트스트림 혹은 해당 비트스트림을 포함하는 파일/세그먼트를 수신할 수 있다. 전송되는 채널에 따라 수신부는 방송망을 통하여 point cloud데이터를 수신할 수도 있고, 브로드밴드를 통하여 point cloud데이터를 수신할 수도 있다. 혹은 디지털 저장 매체를 통하여 point cloud 비디오 데이터를 수신할 수도 있다. 수신부는 수신한 데이터를 디코딩 하고 이를 사용자의 뷰포트 등에 따라 랜더링하는 과정을 포함할 수 있다. 수신 처리부는 수신된 point cloud데이터에 대해 전송 프로토콜에 따른 처리를 수행할 수 있다. 수신 처리부는 수신부에 포함될 수 있고, 또는 별도의 컴포넌트/모듈로 구성될 수도 있다. 전송측에서 전송을 위한 처리가 수행된 것에 대응되도록, 수신 처리부는 전술한 전송 처리부의 역과정을 수행할 수 있다. 수신 처리부는 획득한 point cloud 데이터는 디캡슐레이션 처리부로 전달하고, 획득한 point cloud 관련 메타데이터는 메타데이터 파서로 전달할 수 있다. The delivery client may receive point cloud data, a point cloud bitstream, or a file/segment including the corresponding bitstream, transmitted by the point cloud data transmission device according to the embodiments. Depending on the transmitted channel, the receiver may receive point cloud data through a broadcasting network or may receive point cloud data through a broadband. Alternatively, point cloud video data can be received through a digital storage medium. The receiver may include a process of decoding the received data and rendering it according to a user's viewport. The reception processing unit may perform processing according to a transmission protocol on the received point cloud data. The receiving processing unit may be included in the receiving unit, or may be configured as a separate component/module. The reception processing unit may perform the reverse process of the transmission processing unit described above so as to correspond to the transmission processing performed by the transmission side. The receiving processing unit may transmit the acquired point cloud data to the decapsulation processing unit, and the acquired point cloud related metadata may be transmitted to the metadata parser.
센싱/트랙킹부(Sensing/Tracking)는 오리엔테이션 정보 및/또는 뷰포트 정보를 획득한다. 센싱/트랙킹부는 획득한 오리엔테이션 정보 및/또는 뷰포트 정보를 딜리버리 클라이언트, 파일/세그먼트 디캡슐레이션부, 포인트 클라우드 디코딩부에 전달할 수 있다.The sensing/tracking unit acquires orientation information and/or viewport information. The sensing/tracking unit may transmit the obtained orientation information and/or viewport information to a delivery client, a file/segment decapsulation unit, and a point cloud decoding unit.
딜리버리 클라이언트는 오리엔테이션 정보 및/또는 뷰포트 정보에 기반하여, 모든 포인트 클라우드 데이터를 수신하거나 또는 오리엔테이션 정보 및/또는 뷰포트 정보가 나타내는 포인트 클라우드 데이터를 수신할 수 있다. 파일/세그먼트 디캡슐레이션부는 오리엔테이션 정보 및/또는 뷰포트 정보에 기반하여, 모든 포인트 클라우드 데이터를 디캡슐레이션하거나 또는 오리엔테이션 정보 및/또는 뷰포트 정보가 나타내는 포인트 클라우드 데이터를 디캡슐레이션할 수 있다. 포인트 클라우드 디코딩부는 오리엔테이션 정보 및/또는 뷰포트 정보에 기반하여, 모든 포인트 클라우드 데이터를 디코딩하거나 또는 오리엔테이션 정보 및/또는 뷰포트 정보가 나타내는 포인트 클라우드 데이터를 디코딩할 수 있다. The delivery client may receive all point cloud data or point cloud data indicated by the orientation information and/or the viewport information based on the orientation information and/or the viewport information. The file/segment decapsulation unit may decapsulate all point cloud data or decapsulate point cloud data indicated by orientation information and/or viewport information based on orientation information and/or viewport information. The point cloud decoding unit may decode all point cloud data or decode point cloud data indicated by the orientation information and/or the viewport information, based on the orientation information and/or the viewport information.
파일/세그먼트 디캡슐레이션부(File/Segment decapsulation)는 미디어 트랙 디캡슐레이션(Media track decapsulation) 및/또는 메타데이터 트랙 디캡슐레이션(Metadata track decapsulation)을 수행한다. 디캡슐레이션 처리부(file/segment decapsulation)는 수신 처리부로부터 전달받은 파일 형태의 point cloud데이터를 디캡슐레이션할 수 있다. 디캡슐레이션 처리부는 ISOBMFF 등에 따른 파일 혹은 세그먼트들을 디캡슐레이션하여, point cloud비트스트림 내지 point cloud 관련 메타데이터(혹은 별도의 메타데이터 비트스트림)를 획득할 수 있다. 획득된 point cloud비트스트림은 상기 point cloud디코더로, 획득된 point cloud관련 메타데이터(혹은 메타데이터 비트스트림)는 메타데이터 처리부로 전달할 수 있다. 상기 point cloud비트스트림은 상기 메타데이터(메타데이터 비트스트림)를 포함할 수도 있다. 상기 메타데이터 처리부는 상기 point cloud 비디오 디코더에 포함될 수도 있고, 또는 별도의 컴포넌트/모듈로 구성될 수도 있다. 디캡슐레이션 처리부가 획득하는 point cloud관련 메타데이터는 파일 포맷 내의 박스 혹은 트랙 형태일 수 있다. 디캡슐레이션 처리부는 필요한 경우 메타데이터 처리부로부터 디캡슐레이션에 필요한 메타데이터를 전달받을 수도 있다. 상기 point cloud관련 메타데이터는 상기 point cloud디코더에 전달되어 point cloud디코딩 절차에 사용될 수도 있고, 또는 렌더러에 전달되어 point cloud렌더링 절차에 사용될 수도 있다.The file/segment decapsulation unit performs media track decapsulation and/or metadata track decapsulation. The decapsulation processing unit (file/segment decapsulation) may decapsulate the point cloud data in the form of a file transmitted from the reception processing unit. The decapsulation processor may decapsulate files or segments according to ISOBMFF or the like to obtain a point cloud bitstream or point cloud related metadata (or a separate metadata bitstream). The acquired point cloud bitstream may be transmitted to the point cloud decoder, and the acquired point cloud related metadata (or metadata bitstream) may be transmitted to the metadata processing unit. The point cloud bitstream may include the metadata (metadata bitstream). The metadata processing unit may be included in the point cloud video decoder, or may be configured as a separate component/module. The point cloud related metadata acquired by the decapsulation processing unit may be in the form of a box or track in a file format. If necessary, the decapsulation processing unit may receive metadata required for decapsulation from the metadata processing unit. The point cloud related metadata may be transmitted to the point cloud decoder and used for a point cloud decoding procedure, or may be transmitted to a renderer and used for a point cloud rendering procedure.
Point Cloud 디코딩부(Point Cloud Decoding)는 지오메트리 디컴프레션(Geometry decompression), 어트리뷰트 디컴프레션(Attribute decompression), Auxiliary 데이터 디컴프레션(Auxiliary data decompression) 및/또는 Mesh 데이터 디컴프레션(Mesh data decompression)을 수행한다. Point Cloud디코더는 상기 비트스트림을 입력 받아 상기 Point Cloud인코더의 동작에 대응하는 동작을 수행하여 데이터를 디코딩할 수 있다. 이 경우 Point Cloud디코더는 Point Cloud데이터를 후술하는 바와 같이 지오메트리 및 속성(attribute)로 나누어 디코딩할 수 있다. 예를 들어, Point Cloud디코더는 입력 비트스트림 내 포함된 지오메트리 비트스트림으로부터 지오메트리를 복원(디코딩)할 수 있고, 상기 입력 비트스트림 내 포함된 속성 비트스트림 및 상기 복원된 지오메트리를 기반으로 속성값을 복원(디코딩)할 수 있다. 상기 입력 비트스트림 내 포함된 메쉬 비트스트림 및 상기 복원된 지오메트리를 기반으로 메쉬를 복원(디코딩)할 수 있다.상기 복원된 지오메트리에 따른 위치 정보 및 상기 디코딩된 속성값에 따른 (컬러) 텍스처 어트리뷰트를 기반으로 3차원의 각 포인트의 위치와 각 포인트의 속성정보를 복원하여 point cloud을 복원할 수 있다. 포인트 클라우드 디코딩부의 각 동작은 병렬적으로 수행될 수 있다.The Point Cloud Decoding unit performs geometry decompression, attribute decompression, Auxiliary data decompression, and/or mesh data decompression. . The Point Cloud decoder may decode data by receiving the bitstream and performing an operation corresponding to the operation of the Point Cloud encoder. In this case, the Point Cloud decoder can decode the Point Cloud data by dividing it into geometry and attributes, as described later. For example, the Point Cloud decoder can restore (decode) geometry from the geometry bitstream included in the input bitstream, and restore the attribute value based on the attribute bitstream included in the input bitstream and the restored geometry. You can (decode) it. A mesh may be reconstructed (decoded) based on the mesh bitstream included in the input bitstream and the restored geometry. Position information according to the restored geometry and a (color) texture attribute according to the decoded attribute value Based on this, the point cloud can be restored by restoring the location of each point in 3D and the attribute information of each point. Each operation of the point cloud decoding unit may be performed in parallel.
지오메트리 디컴프레션은 포인트 클라우드 스트림(들)으로부터 지오메트리 데이터를 디코딩한다. 어트리뷰트 디컴프레션은 포인트 클라우드 스트림(들)으로부터 어트리뷰트 데이터를 디코딩한다. Auxiliary 데이터 디컴프레션은 포인트 클라우드 스트림(들)으로부터 Auxiliary 데이터를 디코딩한다. Mesh데이터 디컴프레션은 포인트 클라우드 스트림(들) 으로부터 Mesh 데이터를 디코딩한다.Geometry decompression decodes geometry data from the point cloud stream(s). Attribute decompression decodes attribute data from the point cloud stream(s). Auxiliary data decompression decodes the auxiliary data from the point cloud stream(s). Mesh data decompression decodes the mesh data from the point cloud stream(s).
Point Cloud 렌더링부(Point Cloud Rendering)는 디코딩된 지오메트리, 에투리뷰트, auxiliary 데이터, 메쉬데이터를 기반으로 포인트 클라우드의 각 포인트의 위치 및 해당 포인트의 에트리뷰티를 복원하고 해당 포인트 클라우드 데이터를 렌더링한다. 포인트 클라우드 렌더링부는 복원된 지오메트리, 복원된 어트리뷰트, 복원된Auxiliary데이터 및/또는 복원된Mesh데이터에 기초하여 포인트 클라우드 간의 메쉬(연결) 데이터를 생성하고 렌더링한다. 포인트 클라우드 렌더링부는 파일/세그먼트 인캡슐레이션부 및/또는 포인트 클라우드 디코딩부로부터 메타데이터를 수신한다. 포인트 클라우드 렌더링부는 오리엔테이션 혹은 뷰포트에 따라 메타데이터에 기반하여 포인트 클라우드 데이터를 렌더링할 수 있다.Point Cloud Rendering restores the position of each point in the point cloud and the attributes of the point based on the decoded geometry, attributes, auxiliary data, and mesh data, and renders the point cloud data. . The point cloud rendering unit generates and renders mesh (connection) data between point clouds based on the restored geometry, the restored attributes, the restored auxiliary data, and/or the restored mesh data. The point cloud rendering unit receives metadata from the file/segment encapsulation unit and/or the point cloud decoding unit. The point cloud rendering unit may render point cloud data based on metadata according to an orientation or viewport.
디스플레이는 랜더링된 결과를 실제 디스플레이 장치 상에 디스플레이한다. The display displays the rendered result on an actual display device.
도17은 실시예들에 따른 포인트 클라우드 데이터 송수신 방법/장치와 연동 가능한 구조의 예시를 나타낸다.17 shows an example of a structure capable of interworking with a method/device for transmitting and receiving point cloud data according to embodiments.
도 17를 참조하면, 실시예들에 따른 구조는 서버(1760), 로봇(1710), 자율 주행 차량(1720), XR 장치(1730), 스마트폰(1740), 가전(1750) 및/또는 HMD(1770) 중에서 적어도 하나 이상이 클라우드 네트워크(1710)와 연결된다. 여기서, 로봇(1710), 자율 주행 차량(1720), XR 장치(1730), 스마트폰(1740) 또는 가전(1750) 등을 장치라 칭할 수 있다. 또한, XR 장치(1730)는 실시예들에 따른 포인트 클라우드 데이터 (PCC) 장치에 대응되거나 PCC장치와 연동될 수 있다.Referring to FIG. 17, the structure according to the embodiments is a server 1760, a robot 1710, an autonomous vehicle 1720, an XR device 1730, a smartphone 1740, a home appliance 1750 and/or an HMD. At least one or more of 1770 is connected to the cloud network 1710. Here, a robot 1710, an autonomous vehicle 1720, an XR device 1730, a smartphone 1740, or a home appliance 1750 may be referred to as a device. In addition, the XR device 1730 may correspond to a point cloud data (PCC) device according to embodiments or may be interlocked with a PCC device.
클라우드 네트워크(1700)는 클라우드 컴퓨팅 인프라의 일부를 구성하거나 클라우드 컴퓨팅 인프라 안에 존재하는 네트워크를 의미할 수 있다. 여기서, 클라우드 네트워크(1700)는 3G 네트워크, 4G 또는 LTE(Long Term Evolution) 네트워크 또는 5G 네트워크 등을 이용하여 구성될 수 있다.The cloud network 1700 may constitute a part of a cloud computing infrastructure or may mean a network that exists in the cloud computing infrastructure. Here, the cloud network 1700 may be configured using a 3G network, a 4G or long term evolution (LTE) network, or a 5G network.
서버(1760)는 로봇(1710), 자율 주행 차량(1720), XR 장치(1730), 스마트폰(1740), 가전(1750) 및/또는 HMD(1770) 중에서 적어도 하나 이상과 클라우드 네트워크(1700)을 통하여 연결되고, 연결된 장치들(1710 내지 1770)의 프로세싱을 적어도 일부를 도울 수 있다.The server 1760 includes at least one of a robot 1710, an autonomous vehicle 1720, an XR device 1730, a smartphone 1740, a home appliance 1750, and/or an HMD 1770, and a cloud network 1700. The connected devices 1710 to 1770 may be connected through, and may help at least part of the processing of the connected devices.
HMD (Head-Mount Display)(1770)는 실시예들에 따른 XR 디바이스 및/또는 PCC 디바이스가 구현될 수 있는 타입 중 하나를 나타낸다. 실시예들에 따른HMD 타입의 디바이스는, 커뮤니케이션 유닛, 컨트롤 유닛, 메모리 유닛, I/O 유닛, 센서 유닛, 그리고 파워 공급 유닛 등을 포함한다. The HMD (Head-Mount Display) 1770 represents one of types in which an XR device and/or a PCC device according to embodiments may be implemented. The HMD type device according to the embodiments includes a communication unit, a control unit, a memory unit, an I/O unit, a sensor unit, and a power supply unit.
이하에서는, 상술한 기술이 적용되는 장치(1710 내지 1750)의 다양한 실시 예들을 설명한다. 여기서, 도 17에 도시된 장치(1710 내지 1750)는 상술한 실시예들에 따른 포인트 클라우드 데이터 송수신 장치와 연동/결합될 수 있다.Hereinafter, various embodiments of the devices 1710 to 1750 to which the above-described technology is applied will be described. Here, the devices 1710 to 1750 shown in FIG. 17 may be interlocked/coupled with the point cloud data transmission/reception apparatus according to the above-described embodiments.
<PCC+XR><PCC+XR>
XR/PCC 장치(1730)는 PCC 및/또는 XR(AR+VR) 기술이 적용되어, HMD(Head-Mount Display), 차량에 구비된 HUD(Head-Up Display), 텔레비전, 휴대폰, 스마트 폰, 컴퓨터, 웨어러블 디바이스, 가전 기기, 디지털 사이니지, 차량, 고정형 로봇이나 이동형 로봇 등으로 구현될 수도 있다.The XR/PCC device 1730 is applied with PCC and/or XR (AR+VR) technology to provide a head-mount display (HMD), a head-up display (HUD) provided in a vehicle, a television, a mobile phone, a smart phone, It may be implemented as a computer, wearable device, home appliance, digital signage, vehicle, fixed robot or mobile robot.
XR/PCC 장치(1730)는 다양한 센서들을 통해 또는 외부 장치로부터 획득한 3차원 포인트 클라우드 데이터 또는 이미지 데이터를 분석하여 3차원 포인트들에 대한 위치 데이터 및 속성 데이터를 생성함으로써 주변 공간 또는 현실 객체에 대한 정보를 획득하고, 출력할 XR 객체를 렌더링하여 출력할 수 있다. 예컨대, XR/PCC 장치(1730)는 인식된 물체에 대한 추가 정보를 포함하는 XR 객체를 해당 인식된 물체에 대응시켜 출력할 수 있다.The XR/PCC device 1730 analyzes 3D point cloud data or image data acquired through various sensors or from an external device to generate positional data and attribute data for 3D points, thereby Information can be obtained, and the XR object to be output can be rendered and output. For example, the XR/PCC device 1730 may output an XR object including additional information on the recognized object in correspondence with the recognized object.
<PCC+자율주행+XR><PCC+Autonomous Driving+XR>
자율 주행 차량(1720)은 PCC 기술 및 XR 기술이 적용되어, 이동형 로봇, 차량, 무인 비행체 등으로 구현될 수 있다. The autonomous vehicle 1720 may be implemented as a mobile robot, a vehicle, or an unmanned aerial vehicle by applying PCC technology and XR technology.
XR/PCC 기술이 적용된 자율 주행 차량(1720)은 XR 영상을 제공하는 수단을 구비한 자율 주행 차량이나, XR 영상 내에서의 제어/상호작용의 대상이 되는 자율 주행 차량 등을 의미할 수 있다. 특히, XR 영상 내에서의 제어/상호작용의 대상이 되는 자율 주행 차량(1720)은 XR 장치(1730)와 구분되며 서로 연동될 수 있다.The autonomous driving vehicle 1720 to which the XR/PCC technology is applied may refer to an autonomous driving vehicle having a means for providing an XR image, an autonomous driving vehicle that is an object of control/interaction within the XR image. In particular, the autonomous vehicle 1720, which is the object of control/interaction in the XR image, is distinguished from the XR device 1730 and may be interlocked with each other.
XR/PCC영상을 제공하는 수단을 구비한 자율 주행 차량(1720)은 카메라를 포함하는 센서들로부터 센서 정보를 획득하고, 획득한 센서 정보에 기초하여 생성된 XR/PCC 영상을 출력할 수 있다. 예컨대, 자율 주행 차량(1720)은 HUD를 구비하여 XR/PCC 영상을 출력함으로써, 탑승자에게 현실 객체 또는 화면 속의 객체에 대응되는 XR/PCC 객체를 제공할 수 있다.The autonomous vehicle 1720 having a means for providing an XR/PCC image may acquire sensor information from sensors including a camera, and may output an XR/PCC image generated based on the acquired sensor information. For example, the autonomous vehicle 1720 may provide an XR/PCC object corresponding to a real object or an object in a screen to the occupant by outputting an XR/PCC image with a HUD.
이때, XR/PCC 객체가 HUD에 출력되는 경우에는 XR/PCC 객체의 적어도 일부가 탑승자의 시선이 향하는 실제 객체에 오버랩되도록 출력될 수 있다. 반면, XR/PCC 객체가 자율 주행 차량의 내부에 구비되는 디스플레이에 출력되는 경우에는 XR/PCC 객체의 적어도 일부가 화면 속의 객체에 오버랩되도록 출력될 수 있다. 예컨대, 자율 주행 차량(1220)은 차로, 타 차량, 신호등, 교통 표지판, 이륜차, 보행자, 건물 등과 같은 객체와 대응되는 XR/PCC 객체들을 출력할 수 있다.In this case, when the XR/PCC object is output to the HUD, at least a part of the XR/PCC object may be output to overlap the actual object facing the occupant's gaze. On the other hand, when the XR/PCC object is output on a display provided inside the autonomous vehicle, at least a part of the XR/PCC object may be output to overlap the object in the screen. For example, the autonomous vehicle 1220 may output XR/PCC objects corresponding to objects such as lanes, other vehicles, traffic lights, traffic signs, motorcycles, pedestrians, and buildings.
실시예들에 의한 VR (Virtual Reality) 기술, AR (Augmented Reality) 기술, MR (Mixed Reality) 기술 및/또는 PCC(Point Cloud Compression)기술은, 다양한 디바이스에 적용 가능하다. VR (Virtual Reality) technology, AR (Augmented Reality) technology, MR (Mixed Reality) technology and/or PCC (Point Cloud Compression) technology according to the embodiments can be applied to various devices.
즉, VR 기술은, 현실 세계의 객체나 배경 등을 CG 영상으로만 제공하는 디스플레이 기술이다. 반면, AR 기술은, 실제 사물 영상 위에 가상으로 만들어진 CG 영상을 함께 보여 주는 기술을 의미한다. 나아가, MR 기술은, 현실세계에 가상 객체들을 섞고 결합시켜서 보여준다는 점에서 전술한 AR 기술과 유사하다. 그러나, AR 기술에서는 현실 객체와 CG 영상으로 만들어진 가상 객체의 구별이 뚜렷하고, 현실 객체를 보완하는 형태로 가상 객체를 사용하는 반면, MR 기술에서는 가상 객체가 현실 객체와 동등한 성격으로 간주된다는 점에서 AR 기술과는 구별이 된다. 보다 구체적으로 예를 들면, 전술한 MR 기술이 적용된 것이 홀로그램 서비스 이다.That is, VR technology is a display technology that provides objects or backgrounds in the real world only as CG images. On the other hand, AR technology refers to a technology that shows a virtually created CG image on a real object image. Furthermore, MR technology is similar to the AR technology described above in that virtual objects are mixed and combined in the real world. However, in AR technology, the distinction between real objects and virtual objects made from CG images is clear, and virtual objects are used in a form that complements the real objects, whereas in MR technology, the virtual objects are regarded as having the same characteristics as the real objects. It is distinct from technology. More specifically, for example, it is a hologram service to which the aforementioned MR technology is applied.
다만, 최근에는 VR, AR, MR 기술을 명확히 구별하기 보다는 XR (extended Reality) 기술로 부르기도 한다. 따라서, 본 발명의 실시예들은 VR, AR, MR, XR 기술 모두에 적용 가능하다. 이런 한 기술은 PCC, V-PCC, G-PCC 기술 기반 인코딩/디코딩이 적용될 수 있다.However, recently, VR, AR, and MR technologies are sometimes referred to as XR (extended reality) technology rather than clearly distinguishing between them. Therefore, embodiments of the present invention are applicable to all of VR, AR, MR, and XR technologies. One such technology can be applied to encoding/decoding based on PCC, V-PCC, and G-PCC technologies.
실시예들에 따른 PCC방법/장치는 자율 주행 서비스를 제공하는 차량에 적용될 수 있다.The PCC method/apparatus according to the embodiments may be applied to a vehicle providing an autonomous driving service.
자율 주행 서비스를 제공하는 차량은 PCC 디바이스와 유/무선 통신이 가능하도록 연결된다. Vehicles providing autonomous driving service are connected to PCC devices to enable wired/wireless communication.
실시예들에 따른 포인트 클라우드 데이터 (PCC) 송수신 장치는 차량과 유/무선 통신이 가능하도록 연결된 경우, 자율 주행 서비스와 함께 제공할 수 있는 AR/VR/PCC 서비스 관련 콘텐트 데이터를 수신/처리하여 차량에 전송할 수 있다. 또한 포인트 클라우드 데이터 송수신 장치 차량에 탑재된 경우, 포인트 클라우드 송수신 장치는 사용자 인터페이스 장치를 통해 입력된 사용자 입력 신호에 따라 AR/VR/PCC 서비스 관련 콘텐트 데이터를 수신/처리하여 사용자에게 제공할 수 있다. 실시예들에 따른 차량 또는 사용자 인터페이스 장치는 사용자 입력 신호를 수신할 수 있다. 실시예들에 따른 사용자 입력 신호는 자율 주행 서비스를 지시하는 신호를 포함할 수 있다.When the point cloud data (PCC) transmission and reception device according to the embodiments is connected to enable wired/wireless communication with the vehicle, the vehicle receives/processes AR/VR/PCC service related content data that can be provided together with the autonomous driving service. Can be transferred to. In addition, when the point cloud data transmission/reception device is mounted on a vehicle, the point cloud transmission/reception device may receive/process AR/VR/PCC service related content data according to a user input signal input through the user interface device and provide it to the user. The vehicle or user interface device according to the embodiments may receive a user input signal. The user input signal according to the embodiments may include a signal indicating an autonomous driving service.
도 18은 실시예들에 따른 포인트 클라우드 데이터의 렌더링 예시를 나타낸다.18 illustrates an example of rendering point cloud data according to embodiments.
실시예들에 따른 포인트 클라우드 데이터는 LOD(Level of Details)에 기반하여 표현 및/또는 렌더링될 수 있다. LOD란, 디테일 레벨을 말한다. LOD의 값이 증가할수록 포인트 간 거리가 가까워진다. Point cloud data according to embodiments may be expressed and/or rendered based on a Level of Details (LOD). LOD refers to the level of detail. As the LOD value increases, the distance between points gets closer.
실시예들에 따른 방법/장치는 실시예들에 따른 포인트 클라우드 데이터 송신 방법/장치 및/또는 포인트 클라우드 데이터 수신 방법/장치를 말한다.A method/apparatus according to embodiments refers to a method/device for transmitting point cloud data and/or a method/device for receiving point cloud data according to the embodiments.
실시예들에 따른 방법/장치는 3차원 포인트 클라우드(point cloud) 데이터 압축을 위한 Geometry-based Point Cloud Compression (G-PCC)의 속성(attributes)의 압축 효율을 높이기 위한 방안을 제공한다.The method/apparatus according to the embodiments provides a method for increasing the compression efficiency of attributes of Geometry-based Point Cloud Compression (G-PCC) for compressing 3D point cloud data.
실시예들에 따라. 포인트 클라우드 데이터 송신 방법/장치(또는 송신 방법/장치)는 부호화기, 인코더, 인코딩 등으로 지칭될 수 있고, 포인트 클라우드 데이터 수신 방법/장치(또는 수신 방법/장치)는 복호화기, 디코더, 디코딩 등으로 지칭될 수 있다.According to the embodiments. Point cloud data transmission method / apparatus (or transmission method / apparatus) may be referred to as an encoder, encoder, encoding, etc., and point cloud data reception method / apparatus (or reception method / apparatus) is a decoder, decoder, decoding, etc. May be referred to.
실시예들에 따른 방법/장치는 G-PCC 속성 부호화/복호화 과정에 이웃 포인트 집합 구성 방안을 변경하여 압축 효율을 높이기 위해 유사 속성 기반 이웃 포인트 집합 생성 방안을 제안한다. The method/apparatus according to the embodiments proposes a method of generating a neighboring point set based on a similar attribute in order to increase compression efficiency by changing a method of configuring a neighboring point set during the G-PCC attribute encoding/decoding process.
실시예들에 따른 방법/장치는 유사 속성 기반 이웃 포인트 집합 생성 방법, 유사 속성 기반 이웃 포인트 집합 생성을 지원하기 위한 시그널링 방안 및/또는 이러한 방법을 지원하기 위한 시그널링 방안을 제안한다.The method/apparatus according to the embodiments proposes a method for generating a neighboring point set based on a similar attribute, a signaling method for supporting generation of a neighboring point set based on a similar attribute, and/or a signaling method for supporting such a method.
실시예들에 따른 포인트 클라우드(또는 포인트 클라우드 데이터 또는 포인트 클라우드 콘텐츠 등)는 포인트(point)들의 집합으로 구성될 수 있다. A point cloud (or point cloud data or point cloud content, etc.) according to embodiments may be composed of a set of points.
실시예들에 따른 각 포인트는 지오메트리(geometry) 정보와 속성(attributes) 정보를 포함할 수 있다. 실시예들에 따른 지오메트리 정보는 3차원 위치(XYZ) 정보이며, 실시예들에 따른 속성 정보는 색상 (RGB, YUV 등) 또는/과 반사(Reflectance) 값이다. 실시예들에 따른 G-PCC 부호화(encoding) 과정은 지오메트리를 압축하고, 압축을 통해 변경된 위치 정보들로 재구성 된 지오메트리(reconstructed geometry=복호화된 지오메트리)를 바탕으로 속성 정보를 압축하는 과정으로 구성될 수 있다. 실시예들에 따른 G-PCC 복호화(decoding) 과정은 부호화된 지오메트리 비트스트림(bitstream)과 속성 비트스트림을 전송 받아서 지오메트리를 복호화하고 복호화 과정을 통해 재구성된 지오메트리를 기반으로 속성 정보를 복호화하는 과정으로 구성될 수 있다. Each point according to the embodiments may include geometry information and attribute information. Geometry information according to embodiments is 3D location (XYZ) information, and attribute information according to embodiments is color (RGB, YUV, etc.) or/and/and reflection (Reflectance) value. The G-PCC encoding process according to the embodiments is composed of a process of compressing geometry and compressing attribute information based on geometry reconstructed with location information changed through compression (reconstructed geometry = decoded geometry). I can. The G-PCC decoding process according to embodiments is a process of receiving an encoded geometry bitstream and an attribute bitstream, decoding the geometry, and decoding attribute information based on the geometry reconstructed through the decoding process. Can be configured.
실시예들에 따른 속성 정보 압축 과정은 예측 변환 기법, 리프팅 변환 기법, 또는 RAHT 기법을 사용할 수 있다.The attribute information compression process according to embodiments may use a predictive transform technique, a lifting transform technique, or a RAHT technique.
예측 변환 기법과 리프팅 변환 기법은 디테일 레벨(Level Of Detail, 이하 LOD로 지칭)들로 포인트들을 나누어 그룹핑 할 수 있다. The predictive transformation method and the lifting transformation method may divide and group points by level of detail (hereinafter referred to as LOD).
이를 ①LOD 생성 과정이라고 하며, 이하, 서로 다른 LOD를 갖는 그룹을 LODl 집합으로 지칭할 수 있다.This is referred to as ①LOD generation process, and hereinafter, groups having different LODs may be referred to as LODl sets.
l은 LOD를 나타내며 0부터 시작하는 정수이다. LOD0 는 포인트간의 거리가 가장 큰 포인트로 구성된 집합이고, l이 커질수록 LODl에 속한 포인트간의 거리는 작아진다.l represents the LOD and is an integer starting from 0. LOD0 is a set consisting of points with the largest distance between points, and as l increases, the distance between points belonging to LODl decreases.
도19는 실시예들에 따른 포인트 클라우드 데이터 및 LOD 구성 예시를 나타낸다.19 shows an example of configuration of point cloud data and LOD according to embodiments.
실시예들에 따른 방법/장치는 포인트 클라우드 데이터를 LOD에 기반하여 같은 LOD를 갖는 포인트들의 집합을 생성할 수 있다. LOD0는 P0, P5, P4, P2를 포함하고, LOD1은 LOD0 플러스 P1, P6, P3를 포함하고, LOD2는 LOD0, LOD1 플러스 P9, P8, P7을 포함한다.The method/apparatus according to the embodiments may generate a set of points having the same LOD based on the LOD of the point cloud data. LOD0 includes P0, P5, P4, P2, LOD1 includes LOD0 plus P1, P6, P3, and LOD2 includes LOD0, LOD1 plus P9, P8, P7.
실시예들에 따른 방법/장치는LODl 집합을 생성한 후, ②LODl 집합을 기반으로 LOD가 같거나 작은 (노드간의 거리가 큰) 그룹에서 X(>0)개의 가장 가까운 이웃 포인트(nearest neighbor)들을 찾아 예측기(predictor)에 이웃 포인트 집합으로 등록할 수 있다. X개는 이웃 포인트로 설정될 수 있는 최대 개수로 사용자 파라메터로 입력 받을 수 있다. After generating the LODl set, the method/apparatus according to the embodiments selects X (>0) nearest neighbors in a group having the same or smaller LOD (the distance between nodes is large) based on the ②LODl set. It can be found and registered as a set of neighboring points in a predictor. X is the maximum number that can be set as a neighboring point and can be input as a user parameter.
도면의 예시와 같이 LOD1 에 속하는 P3의 이웃 포인트를 LOD0 과 LOD1 에서 찾는다. 3개의 가장 가까운 이웃 노드는 P2 P4 P6가 될 수 있다. 이 3개의 노드가 P3의 예측기에 이웃 포인트 집합으로 등록된다.As shown in the figure, a neighboring point of P3 belonging to LOD1 is found in LOD0 and LOD1. The three nearest neighbor nodes can be P2 P4 P6. These three nodes are registered as a set of neighboring points to the predictor of P3.
모든 포인트는 하나의 예측기(predictor)를 가질 수 있다. 예측기에 등록된 이웃 포인트들로부터 속성을 예측한다. 예측기는 이웃 포인트 집합을 가지고 각 이웃 포인트와의 거리 값을 기반으로 ½거리 (또는 1/거리) = 가중치(weight)로 등록할 수 있다. Every point can have one predictor. The property is predicted from neighboring points registered in the predictor. The predictor may have a set of neighboring points and register it as ½ distance (or 1/distance) = weight based on a distance value from each neighboring point.
Figure PCTKR2019018176-appb-img-000008
Figure PCTKR2019018176-appb-img-000008
예측기의 이웃 포인트 집합이 설정되면 ③ 이웃 포인트들의 가중치 전체 합으로 각 이웃 포인트들의 가중치를 정규화(normalize)할 수 있다. When the set of neighboring points of the predictor is set, the weights of each neighboring point can be normalized with the total sum of weights of the neighboring points.
Figure PCTKR2019018176-appb-img-000009
Figure PCTKR2019018176-appb-img-000009
④ 예측기를 통해 속성을 예측할 수 있다. 등록된 이웃 포인트들의 속성에 가중치를 곱한 값의 평균을 예측된 결과로 사용할 수도 있고, 특정 포인트를 예측된 결과로 사용할 수 있다. 어떤 방법을 사용할지는 압축된 결과 값을 미리 계산한 후, 가장 작은 스트림을 생성할 수 있는 방법을 선택할 수 있다. ④ The property can be predicted through the predictor. An average of a value obtained by multiplying the properties of registered neighboring points by a weight may be used as a predicted result, or a specific point may be used as a predicted result. Which method to use, after pre-calculating the compressed result value, you can select the method that can generate the smallest stream.
⑤ 포인트의 속성값과 포인트의 예측기가 예측한 속성값의 잔차는 예측기에서 선택한 방법과 함께 부호화하여 수신기로 시그널 될 수 있다. ⑤ The attribute value of the point and the residual of the attribute value predicted by the predictor of the point can be signaled to the receiver by encoding together with the method selected by the predictor.
복호기에서는 단계 ① ~ ③까지 같은 과정이 수행되며, ④에서는 송신된 예측 방법을 복호화하여 그 방법에 따라 속성값을 예측할 수 있다. ⑤ 에서 송신된 잔차값을 복호화하여 ④를 통해 예측된 값을 더해주어 속성값을 복원할 수 있다. In the decoder, the same process is performed from steps ① to ③, and in ④, the transmitted prediction method is decoded and attribute values can be predicted according to the method. By decoding the residual value transmitted from ⑤ and adding the predicted value through ④, the attribute value can be restored.
실시예들은 앞서 설명한 단계 ②에 관한 방법, 즉 이웃 포인트 집합 구성 방법으로 송신기와 수신기 모두에 적용될 수 있다. 이웃 포인트 집합의 구성은 이웃 포인트들을 기반으로 속성 값을 예측하고, 예측값과의 잔차를 부호화하여 시그널링 하기때문에 어떤 기준으로 이웃 포인트 집합을 구성하느냐에 따라 예측값이 달라지고, 잔차값의 크기가 달라질 수 있다. 따라서 이웃 포인트 집합 구성 방법은 포인트 클라우드의 속성 압축 효율에 큰 영향을 줄 수 있다. The embodiments can be applied to both a transmitter and a receiver by the method for step ② described above, that is, a method for configuring a set of neighboring points. Since the configuration of the neighboring point set predicts the attribute value based on the neighboring points and signals the residual with the predicted value, the predicted value differs depending on the criteria used to configure the neighboring point set, and the size of the residual value may vary. . Therefore, the method of configuring a set of neighboring points can have a great influence on the attribute compression efficiency of the point cloud.
포인트 클라우드의 지오메트리 기반 인접성(geometry-based nearby relationship)은 유사한 속성들을 가질 수 있는 확률이 높기 때문에 예측기에서 예측할 때 거리값에 기반하여 이웃 집합을 구성할 수 있지만, 포인트 클라우드 콘텐츠의 특성에 따라서 그러한 경향은 많이 다르게 나타날 수 있다. Since the point cloud's geometry-based nearby relationship has a high probability of having similar properties, it is possible to construct a neighboring set based on the distance value when predicted by the predictor, but such a tendency is based on the characteristics of the point cloud content. Can appear a lot differently.
3D 스캐너로 캡쳐된 포인트 클라우드는 이웃 포인트간의 거리가 상당이 작고 포인트들이 밀집된 형태로 캡쳐될 수 있다. 이 경우, 거리에 따른 유사한 속성이 있을 확률이 높을 수 있다. 그러나 모두 그런 것은 아니다. 캡쳐된 물체의 특성에 따라서 거리에 따른 유사 속성이 있는 확률은 달라질 수 있다. A point cloud captured by a 3D scanner has a relatively small distance between neighboring points and can be captured in a dense form. In this case, there may be a high probability of having similar properties according to distance. But not all. Depending on the characteristics of the captured object, the probability of having similar properties according to distance may vary.
LiDAR를 통해 캡쳐된 포인트 클라우드의 경우 이웃 포인트간의 거리가 상당히 클 수 있기때문에 해당 콘텐츠 내에서 포인트간의 지오메트리 기반 인접성이 높다고 판단될 지라도 실제 거리 차이가 클 수 있다. 이러한 경우, 거리 기반의 이웃 포인트 집합을 구성하고, 그 구성된 포인트들을 통해서 속성값을 예측한다는 것의 의미가 크지 않을 수 있다. In the case of a point cloud captured through LiDAR, since the distance between neighboring points can be quite large, the actual distance difference may be large even if it is determined that the geometric-based proximity between points within the corresponding content is high. In this case, the meaning of configuring a set of neighboring points based on a distance and predicting an attribute value through the configured points may not be significant.
즉, 포인트 클라우드 콘텐츠 특성에 따라 지오메트리 기반 인접성에 따른 유사한 속성을 가질 확률이 높을 수도 있고 아닐 수도 있다. 지오메트리 기반 인접성과 유사 속성간의 관계가 거의 없는 경우의 콘텐츠에 대해서 거리 기반 이웃 포인트 집합을 구성하게 되면, 예측 속성값과의 잔차값이 클 수 있고, 큰 잔차값을 부호화하여 비트스트림으로 전송하기때문에 스트림의 크기가 커질 수 있다. That is, the probability of having similar properties according to geometry-based adjacency may or may not be high according to the point cloud content characteristics. If a distance-based neighbor point set is configured for content where there is little relationship between geometry-based adjacency and similar attributes, the residual value with the predicted attribute value can be large, and the large residual value is encoded and transmitted as a bitstream. The size of the stream may increase.
실시예들은 콘텐츠 특성에 관계없이 속성 압축 효율을 높일 수 있는 이웃 포인트 집합 구성 방법을 제안하고자 한다. 예를 들어, 유사 속성 기반 이웃 포인트 집합 생성 방법, 유사 속성 기반 이웃 포인트 집합 생성을 지원하기 위한 시그널링 방안 및/또는 이러한 방법을 지원하기 위한 시그널링 방안을 제안한다.Embodiments intend to propose a method of configuring a set of neighboring points that can increase attribute compression efficiency regardless of content characteristics. For example, we propose a method for generating a neighboring point set based on a similar attribute, a signaling scheme for supporting generation of a neighboring point set based on a similar attribute, and/or a signaling scheme for supporting such a method.
실시예들 간 변경 및 결합이 가능하다. 본 문서에서 사용되는 용어는 해당 분야에서 널리 사용되는 범위 내에서, 용어의 의도된 의미에 근거하여 이해될 수 있다. 이웃 포인트 집합 생성은 PCC 부호화기/복호화기의 PCC 속성 부호화/복호화에서 모두 수행된다. 속성 부호화/복호화 과정에서 예측 변환 기법 또는 리프팅 변환 기법을 사용할 경우 LODl 집합을 생성하고 생성된 LODl 집합을 기반으로 예측기의 이웃 포인트 집합을 생성할 수 있다. Changes and combinations between the embodiments are possible. Terms used in this document may be understood based on the intended meaning of the terms within the range widely used in the relevant field. The generation of the neighboring point set is all performed in the PCC attribute encoding/decoding of the PCC encoder/decoder. When a predictive transformation technique or a lifting transformation technique is used in the attribute encoding/decoding process, a set of LODl can be generated and a set of neighboring points of the predictor can be generated based on the generated LODl set.
실시예들에 따른 방법/장치는 1) 몰톤 순서 기반 LOD 생성, 2) 유사 속성 기반 이웃 포인트 집합 생성 방법, 2-1) 속성 유사성 측정 방법, 2-2) 이웃 포인트 검색 범위 설정 방법, 3) 이웃 포인트 선택 방법, 4) 속성 정보 예측부 및/또는 5) 시그널링 방안을 수행할 수 있다. 실시예들에 따른 각 과정을 이하에서 구체적으로 설명한다.The method/device according to the embodiments includes: 1) Molton order-based LOD generation, 2) Similar attribute-based neighbor point set generation method, 2-1) Attribute similarity measurement method, 2-2) Neighbor point search range setting method, 3) A neighboring point selection method, 4) an attribute information predictor and/or 5) a signaling method may be performed. Each process according to the embodiments will be described in detail below.
1) 몰톤 순서 기반 LOD 생성1) Molton order based LOD generation
포인트 클라우드의 포인트들을 x, y, z 위치 값을 기반으로 몰톤 코드로 변경하고, 변경된 몰톤 코드 값을 기반으로 정렬할 수 있다. 정렬된 포인트들을 기반으로 LOD가 생성되며, LODl 집합 내의 포인트들은 몰톤 순서 기반으로 정렬되어 있을 수 있다.Points in the point cloud may be changed to Molton codes based on x, y, and z position values, and may be sorted based on the changed Molton code values. LODs are generated based on the sorted points, and points in the LODl set may be sorted based on Molton order.
2) 유사 속성 기반 이웃 포인트 집합 생성 방법2) A method of generating a set of neighboring points based on similar properties
LOD l 집합에 속한 포인트들은 다음 두 가지 경우로부터 이웃 포인트로 선택하여 이웃 포인트 집합을 생성할 수 있다. Points belonging to the LOD l set can be selected as neighboring points from the following two cases to generate a neighboring point set.
1) LOD 0 ~ LOD ㅣ-1 집합에 속한 포인트들1) Points in the LOD 0 ~ LOD ㅣ-1 set
2) LOD l 집합에 속한 포인트들 중에 정렬된 순서상 앞에 있는 포인트들2) Among the points in the LOD l set, the preceding points in the sorted order
어떠한 기준으로 이웃 포인트 선택하느냐가 필요할 수 있다. It may be necessary to select the neighboring point by what criteria.
실시예들은, 이웃 포인트 집합을 생성하기 위해 유사 속성을 기반으로 이웃 포인트 후보들을 선택할 수 있도록 한다. 이웃 포인트 집합을 거리 기반으로 생성할지 또는 유사 속성 기반으로 생성할지 여부는 부호화기에 적용된 방법에 따라 복호화기에 시그널링 될 수 있다. Embodiments make it possible to select neighboring point candidates based on similarity properties to generate a neighboring point set. Whether to generate a neighboring point set based on a distance or a similar property may be signaled to the decoder according to a method applied to the encoder.
이웃 속성 기반 이웃 포인트 집합 생성 방법을 통해 본 문서의 실시예들에 따른 송신기 또는 수신기는 압축 효율을 증가시키는 효과를 제공한다.The transmitter or receiver according to the embodiments of the present document provides an effect of increasing compression efficiency through a method of generating a neighbor point set based on a neighbor attribute.
2-1) 속성 유사성 측정 방법2-1) Attribute similarity measurement method
속성 유사성을 측정하기 위해서는 Euclidean Color Distance, Correlated  Color Temperature, 또는 CIE (Commission on Illumination)에서 정의한 distance metric CIE94를 선택적으로 사용할 수 있다. To measure attribute similarity, the distance metric CIE94 defined in Euclidean Color Distance, Correlated Color Temperature, or CIE (Commission on Illumination) can be selectively used.
부호화기에서 사용된 속성 유사성 측정 방법은 복호화기에 시그널링 될 수 있다. The method of measuring attribute similarity used in the encoder can be signaled to the decoder.
<Euclidean Color Distance><Euclidean Color Distance>
Figure PCTKR2019018176-appb-img-000010
Figure PCTKR2019018176-appb-img-000010
<Correlated Color Temperature(CCT)><Correlated Color Temperature(CCT)>
RGB 값을 CIE(XYZ)값으로 변경하고, chromatic값으로 정규화하고 CCT값을 계산할 수 있다.You can change RGB values to CIE(XYZ) values, normalize them to chromatic values, and calculate CCT values.
Figure PCTKR2019018176-appb-img-000011
Figure PCTKR2019018176-appb-img-000011
<CIE94><CIE94>
CIE1994 색차 모델을 통해 계산할 수 있다.It can be calculated using the CIE1994 color difference model.
Figure PCTKR2019018176-appb-img-000012
Figure PCTKR2019018176-appb-img-000012
도20은 실시예들에 따른 몰톤 코드 검색 범위의 예시를 나타낸다.20 shows an example of a Molton code search range according to embodiments.
실시예들에 따른 방법/장치는 포인트 클라우드 데이터의 포인트들의 집합인 LOD를 구성한다. LOD는 몰톤 코드 순서로 정렬된다. The method/apparatus according to the embodiments configures an LOD, which is a set of points of point cloud data. LODs are arranged in Molton code order.
예를 들어, 실시예들에 따른 방법/장치는 I번째 LOD에 포함된 포인트에 대해 0번째 내지 I-1번째 LOD에 포함된 포인트들 중 몰톤 코드가 가장 가까운 포인트를 찾을 수 있다.For example, the method/apparatus according to the embodiments may find a point having a Molton code closest to a point included in the I-th LOD among points included in the 0-th LOD to the I-1 th LOD.
몰톤 코드가 가장 가까운 포인트가 Pi라고 한다면, 검색범위, 예를 들어 256개의 주변 포인트들 중에서 Px와의 유사성이 가장 높은 포인트들, 예를 들어, 3개를 Px의 이웃 포인트 집합으로 구성(등록/생성)할 수 있다.If the point with the closest Molton code is Pi, the search range, e.g., points with the highest similarity to Px among 256 neighboring points, e.g., 3 are composed of a set of neighboring points of Px )can do.
2-2) 이웃 포인트 검색 범위 설정 방법2-2) Neighbor Point Search Range Setting Method
LOD l 집합에 속한 포인트 Px의 이웃 포인트 집합 생성시, LOD 0 ~ LOD ㅣ-1 집합에 속한 포인트들과 LOD l 집합에 속한 포인트들 중에 순서상 앞에 있는 포인트들(또는 몰톤 코드가 Px의 몰톤 코드보다 작거나 같은 포인트들)에서 이웃 포인트 집합을 검색할 수 있다. When neighboring points belonging to the set of points Px LOD l generating set, LOD 0 ~ l LOD the point and point which is first in the sequence of points that belong to the set LOD l -1 that belong to the set (or Molton code Molton code Px It is possible to search for a set of neighboring points in points that are less than or equal to).
<몰톤 코드 기반 검색 범위 설정> <Set search range based on Molton code>
LOD l 집합, LOD 0 ~ LOD ㅣ-1 집합 모두 몰톤 오더로 정렬되어 있다. LOD 0 ~ LOD ㅣ-1 집합에 속한 포인트들과 LOD l 집합에 속한 포인트들 중에 순서상 앞에 있는 포인트들에서 몰톤 코드가 가장 가까운 포인트를 찾을 수 있다. 그 포인트를 중심으로 앞과 뒤에 이웃 포인트 검색 범위 개수 만큼에 해당하는 포인트들과 비교하여 이웃 포인트 집합을 생성할 수 있다. Both the LOD l set and the LOD 0 ~ LOD l-1 set are arranged in Molton order. Among points in the LOD 0 ~ LOD ㅣ-1 set and points in the LOD l set, the nearest point with the Molton code can be found from the points in the preceding order. A set of neighboring points may be generated by comparing the points with points corresponding to the number of neighboring point search ranges in front and behind the point as the center.
LOD 개수가 1개인 경우, 앞의 이웃 포인트 검색 범위 개수 만큼만 비교할 수도 있다. When the number of LODs is 1, it is possible to compare only as many as the number of the previous neighboring point search ranges.
몰톤 코드 기반으로 정렬된 포인트들의 특정 범위에서 이웃 포인트를 검색하는 것이기 때문에 이웃 포인트 집합 생성시에 포인트간의 거리를 완전히 고려하지 않는 것은 아니다. 기본적으로 거리를 반영하여 이웃 포인트 검색 범위가 설정되어진다고 할 수 있다.Since neighboring points are searched for a specific range of points arranged based on the Morton code, the distance between points is not completely considered when generating a neighboring point set. Basically, it can be said that the neighboring point search range is set by reflecting the distance.
실시예들에 따른 이웃 포인트의 검색 범위는 LOD에 따라 조정할 수 있다. LOD에 따른 다른 검색 범위는 복호화기에 시그널링 될 수 있다. 실시예들은 LOD에 따라 변경되는 검색 범위의 변경 비율을 설정할 수 있다. 실시예들은 검색 범위 변경 비율을 복호화기에 시그널링할 수 있다. 이와 관련하여 이하에서, 구체적으로 설명한다.The search range of a neighboring point according to embodiments may be adjusted according to the LOD. Other search ranges according to the LOD may be signaled to the decoder. Embodiments may set a change rate of a search range that is changed according to the LOD. Embodiments may signal the rate of change of the search range to the decoder. In this regard, it will be described in detail below.
상술한 실시예들로 인하여, 실시예들에 따른 방법/장치는 이웃 포인트를 효율적으로 검색할 수 있다.Due to the above-described embodiments, the method/apparatus according to the embodiments can efficiently search for a neighboring point.
도21은 실시예들에 따른 검색 범위 레벨의 예시를 나타낸다.21 shows an example of a search range level according to embodiments.
실시예들에 따른 방법/장치는 이웃 포인트 검색 범위 설정 방법 관련하여, 상술한 바와 같이 몰톤 코드 기반 검색 범위 설정 방법을 수행하거나 또는 다음과 같이 옥트리 기반 검색 범위 설정 방법을 수행할 수 있다.The method/apparatus according to the embodiments may perform the Molton code-based search range setting method as described above, or the octree-based search range setting method as follows, in relation to the neighbor point search range setting method.
실시예들에 따른 방법/장치는 검색 범위 레벨에 따른 검색 범위를 설정할 수 있다. 예를 들어, 옥트리 부모 노드 기반으로 검색 범위 레벨이 1이면, 옥트리 기준으로 최대 8개의 포인트들의 이웃 포인트 검색 범위를 설정할 수 있다. 검색 범위 레벨이 3이면, 최대 8x8x8개의 포인트들의 이웃 포인트 검색 범위를 설정할 수 있다.The method/apparatus according to the embodiments may set a search range according to the search range level. For example, if the search range level is 1 based on the octree parent node, a neighboring point search range of up to 8 points may be set based on the octree. If the search range level is 3, a neighboring point search range of up to 8x8x8 points can be set.
<옥트리 기반 검색 범위 설정><Octree-based search range setting>
실시예들에 따른 LOD 0 ~ LOD ㅣ-1 집합 모두 몰톤 코드로 정렬되어 있기 때문에, 실시예들에 따른 방법/장치는 몰톤 코드를 비교해서 포인트들이 옥트리로 구성했을때 같은 부모 노드에 있는지 여부를 체크할 수 있다. Since all LOD 0 to LOD l-1 sets according to the embodiments are arranged in a Molton code, the method/apparatus according to the embodiments compares the Molton codes to determine whether points are in the same parent node when the points are configured as octrees. You can check it.
실시예들은 이웃 포인트 검색 범위를 특정 포인트 기준 +-범위로 정하는 것이 아니라, LOD l 집합에 속한 포인트 Px의 몰톤 코드 값을 기준으로 Px가 속한 옥트리의 상위 부모 노드의 범위로 정할 수 있다. 실시예들은 이러한 방법으로 이웃 포인트 집합을 검색할 때, Px 포인트가 속한 옥트리의 몇 단계 상위 부모 노드를 검색 범위 레벨의 노드로 정할지를 설정할 수 있고, 그 값은 복호화기에 시그널링 될 수 있다. 실시예들은 검색 범위 레벨을 LOD에 따라 조정할 수 있다. LOD별로 직접 설정할 수도 있고, 검색 범위 레벨의 비율을 설정할 수도 있다. In embodiments, the neighboring point search range may not be determined as a specific point-based +-range, but may be determined as the range of the upper parent node of the octree to which Px belongs based on the Molton code value of the point Px belonging to the LOD l set. When searching for a set of neighboring points in this manner, embodiments may set how many higher parent nodes of the octree to which the Px point belongs to the node of the search range level, and the value may be signaled to the decoder. Embodiments may adjust the search range level according to the LOD. You can directly set each LOD, or you can set the ratio of the search range level.
실시예들에 따라, 옥트리 기반 이웃 범위에서 이웃 포인트 집합을 검색할 때 이웃 포인트 집합 생성을 위해 비교되는 개수는 콘텐츠의 포인트 분포에 따라 다를 수 있다. 몰톤 코드 기반 검색 범위 설정 방법에 비해 계산량은 늘어날 수 있지만 늘어나는 계산량이 많지 않으며(단순 몰톤 코드가 해당 범위내에 있는지 여부를 체크하는 계산) 상위 부모 노드가 같은 경우, 이웃 노드일 가능성이 더 높기 때문에 이웃 범위의 정확성은 몰톤 코드 기반 검색 범위 설정 방법에 비해 더 높을 수 있다. According to embodiments, when searching for a neighboring point set in an octree-based neighboring range, the number of comparisons for generating a neighboring point set may vary according to the point distribution of the content. Compared to the Molton code-based search range setting method, the amount of calculation can be increased, but the amount of calculation is not increased (a calculation that checks whether a simple Molton code is within the range), and if the parent node is the same, it is more likely to be a neighbor node. The accuracy of the range may be higher compared to the Molton code-based search range setting method.
3) 이웃 포인트 선택 방법3) How to select a neighboring point
실시예들은 정해진 이웃 포인트 검색 범위에서 포인트들의 거리 또는 속성값을 비교하여 이웃 포인트를 선택, 이웃 포인트 집합을 구성할 수 있다. Embodiments may select a neighboring point by comparing distances or attribute values of points in a predetermined neighboring point search range to construct a neighboring point set.
<거리 기반 이웃 포인트 선택> <Distance-based neighbor point selection>
실시예들은 이웃 포인트 검색 범위에 있는 포인트들과 Px와의 거리를 계산하여 거리가 가장 가까운 포인트들을 최대 이웃 포인트 집합 개수만큼 선택하여 이웃 포인트 집합을 생성할 수 있다. Embodiments may generate a neighboring point set by calculating a distance between points in a neighboring point search range and Px, and selecting points having the closest distance as many as the maximum number of neighboring point sets.
부호화기에 적용된 이웃 포인트 집합의 최대 개수는 복호화기에 시그널링 될 수 있다. The maximum number of neighboring point sets applied to the encoder may be signaled to the decoder.
<유사 속성 기반 이웃 포인트 선택><Selecting neighboring points based on similar attributes>
실시예들은 이웃 포인트 검색 범위에 있는 포인트들과 Px와의 유사 속성을 유사 속성 측정 방법에서 선택된 방법으로 측정하고, 유사성이 가장 높은 포인트들을 최대 이웃 포인트 집합 개수만큼 선택하여 이웃 포인트 집합을 생성할 수 있다. Embodiments may generate a neighboring point set by measuring the similarity attribute between points in the neighboring point search range and Px by a method selected from the similarity attribute measurement method, and selecting points with the highest similarity as many as the maximum number of neighboring point sets. .
부호화기에 적용된 이웃 포인트 집합의 최대 개수는 복호화기에 시그널링 될 수 있다. The maximum number of neighboring point sets applied to the encoder may be signaled to the decoder.
또한, 실시예들은 이웃 포인트 집합에 등록될 수 있는 최소 속성 유사성 임계값을 정의할 수 있고, 그 값에 따라 최소 속성 유사성 임계값보다 작은 경우(유사성이 떨어질 경우), 이웃 포인트로 등록될 수 없다. In addition, embodiments may define a minimum attribute similarity threshold that can be registered in a neighboring point set, and according to the value, if it is smaller than the minimum attribute similarity threshold (if similarity is low), it cannot be registered as a neighboring point. .
부호화기에 적용된 최소 속성 유사성 임계값은 복호화기에 시그널링 될 수 있다. The minimum attribute similarity threshold applied to the encoder may be signaled to the decoder.
실시예들은 임계값 적용시 등록할 수 있는 이웃 포인트가 없는 경우, 예측을 통한 잔차값이 아닌 직접 코딩이 수행 될 수 있다. In embodiments, when there is no neighboring point that can be registered when applying a threshold, direct coding may be performed instead of a residual value through prediction.
<거리+유사 속성으로 이웃 포인트 집합 생성 방법><How to create a set of neighboring points with distance + similar properties>
실시예들은 거리기반으로 N개의 이웃 포인트를 선택하고, 그 중에 이웃 포인트 집합의 최대 개수 만큼을 이웃 포인트로 선택할 수 있다. 거리기반으로 1차적으로 선택하는 이웃 포인트의 개수는 복호화기에 시그널링 될 수 있다.Embodiments may select N neighboring points based on distance, and among them, as many as the maximum number of neighboring point sets may be selected as neighboring points. The number of neighboring points that are primarily selected based on distance may be signaled to the decoder.
실시예들에 따른 포인트 클라우드 데이터 송신 방법은 LOD에 대한 옥트리의 부모 노드에 기반하여 이웃 포인트 집합을 검색하여 이웃 포인트 집합을 생성할 수 있다.The point cloud data transmission method according to embodiments may generate a neighboring point set by searching for a neighboring point set based on a parent node of an octree for an LOD.
실시예들에 따른 포인트 클라우드 데이터 송신 방법은 이웃 포인트 집합에 포함된 포인트들의 유사 속성에 기반하여 이웃 포인트 집합을 생성할 수 있다.The point cloud data transmission method according to embodiments may generate a neighboring point set based on similar properties of points included in the neighboring point set.
상술한 실시예들로 인하여, 실시예들에 따른 방법/장치는 거리 및/또는 속성을 고려하여 이웃 포인트 검색 범위를 효율적으로 설정할 수 있다. Due to the above-described embodiments, the method/apparatus according to the embodiments may efficiently set a neighbor point search range in consideration of a distance and/or attribute.
도22는 실시예들에 따른 속성정보 인코딩 및/또는 디코딩 과정의 예시를 나타낸다.22 shows an example of a process of encoding and/or decoding attribute information according to embodiments.
실시예들에 따른 송신 장치(부호화기 또는 인코더) 및 수신 장치(복호화기 또는 디코더)는 실시예들에 따른 각 구성요소를 포함한다. 실시예들에 따라 다음의 각 구성요소는 하드웨어, 소프트웨어, 프로세서 또는 그것들의 조합에 대응될 수 있다.The transmitting device (encoder or encoder) and the receiving device (decoder or decoder) according to the embodiments include respective components according to the embodiments. According to embodiments, each of the following components may correspond to hardware, software, a processor, or a combination thereof.
공간분할부(22000)(또는 공간분할기)는 PCC데이터(포인트 클라우드 데이터)를 수신하고, PCC데이터의 공간을 분할한다.The space divider 22000 (or space divider) receives PCC data (point cloud data) and divides the space of the PCC data.
기하정보 부호화부(22001)(또는 기하정보 부호화기)는 PCC데이터의 기하정보를 부호화하여 기하정보 비트스트림 및/또는 재구성(복원)된 기하정보를 생성한다.The geometric information encoding unit 22001 (or geometric information encoder) encodes the geometric information of PCC data to generate a geometric information bitstream and/or reconstructed (restored) geometric information.
속성정보 부호화부(22002)(또는 속성정보 부호화기)는 복원된 기하정보에 기반하여 PCC데이터의 속성 정보를 부호화하여 속성정보 비트스트림을 생성한다.The attribute information encoding unit 22002 (or attribute information encoder) generates an attribute information bitstream by encoding attribute information of PCC data based on the reconstructed geometric information.
공간분할부(22003)(또는 공간분할기)는 기하정보 비트스트림을 수신하고, 기하정보의 공간을 분할한다.The spatial divider 22003 (or spatial divider) receives the geometric information bitstream and divides the space of the geometric information.
기하정보 복호화부(22004)(또는 기하정보 복호화기)는 기하정보를 복호화하여 복원된 PCC 데이터 및/또는 복원된 기하정보를 생성한다.The geometric information decoding unit 22004 (or a geometric information decoder) decodes the geometric information to generate restored PCC data and/or restored geometric information.
속성정보 복호화부(22005)(또는 속성정보 복호화기)는 복원된 기하정보에 기반하여 속성정보 비트스트림의 속성정보를 복호화한다.The attribute information decoding unit 22005 (or attribute information decoder) decodes attribute information of the attribute information bitstream based on the restored geometric information.
실시예들에 따른 속성 정보 예측부를 설명한다.The attribute information prediction unit according to embodiments will be described.
도면은 PCC(포인트 클라우드 컴프레션) 데이터 부호화기와 복호화기의 전체 블록도이다. The figure is an overall block diagram of a PCC (Point Cloud Compression) data encoder and a decoder.
실시예들에 따른 부호화기(인코더)의 입력 데이터는 PCC 데이터일 수 있다. 실시예들에 따른 인코더는PCC 데이터(또는 포인트 클라우드 데이터)를 부호화하여 기하정보 비트스트림 및/또는 속성정보 비트스트림을 생성할 수 있다. Input data of an encoder (encoder) according to embodiments may be PCC data. The encoder according to embodiments may generate a geometric information bitstream and/or an attribute information bitstream by encoding PCC data (or point cloud data).
실시예들에 따른 복호화기(디코더)의 입력 데이터는 부호화된 기하정보 비트스트림 및/또는 속성정보 비트스트림일 수 있다. 실시예들에 따른 디코더는 복원된 PCC된 데이터를 생성할 수 있다.The input data of the decoder (decoder) according to the embodiments may be an encoded geometric information bitstream and/or an attribute information bitstream. The decoder according to embodiments may generate reconstructed PCC data.
실시예들의 각 상세 동작은 이하에서 설명한다.Each detailed operation of the embodiments will be described below.
실시예들에 따른 속성 정보 예측부는 부호화기의 속성 정보 부호화부와 복호화기의 속성 정보 복호화부에 포함되거나 연결될 수 있다.The attribute information prediction unit according to embodiments may be included or connected to the attribute information encoding unit of the encoder and the attribute information decoding unit of the decoder.
실시예들에 따른 포인트 클라우드 데이터 송신 방법의 인코딩하는 단계는 포인트 클라우드 데이터의 속성 정보를 인코딩하는 단계를 포함하고, 속성 정보를 인코딩하는 단계는 속성 정보를 예측하는 단계를 포함할 수 있다.Encoding of the point cloud data transmission method according to embodiments may include encoding attribute information of the point cloud data, and encoding attribute information may include predicting attribute information.
도23은 실시예들에 따른 인코더의 속성 정보 예측부의 예시를 나타낸다.23 illustrates an example of a property information prediction unit of an encoder according to embodiments.
실시예들에 따른 인코더의 속성 정보 예측부는 실시예들에 따른 각 구성요소를 포함한다. 실시예들에 따라 다음의 각 구성요소는 하드웨어, 소프트웨어, 프로세서 또는 그것들의 조합에 대응될 수 있다.The attribute information prediction unit of the encoder according to the embodiments includes each component according to the embodiments. According to embodiments, each of the following components may correspond to hardware, software, a processor, or a combination thereof.
속성정보 변환부(23000)(또는 속성정보 변환기)는 포인트 클라우드 데이터의 속성정보를 수신하고, 속성정보를 변환한다. The attribute information conversion unit 23000 (or attribute information converter) receives attribute information of point cloud data and converts the attribute information.
기하정보 맵핑부(23001) (또는 기하정보 맵퍼)는 복원된 기하정보에 기반하여 속성정보에 대해 기하정보를 맵핑한다.The geometric information mapping unit 23001 (or the geometric information mapper) maps geometric information to attribute information based on the restored geometric information.
잔차속성정보 변환부(23002) (또는 잔차속성정보 변환기)는 속성정보 및/또는 예측된 속성정보 간 잔차속성정보를 변환한다.The residual attribute information conversion unit 23002 (or residual attribute information converter) converts the attribute information and/or the residual attribute information between the predicted attribute information.
잔차속성정보 양자화부(23003) (또는 잔차속성정보 양자화기)는 잔차속성정보를 양자화한다.The residual attribute information quantization unit 23003 (or residual attribute information quantizer) quantizes the residual attribute information.
속성정보 엔트로피 부호화부(23004) (또는 속성정보 엔트로피 부호화기)는 속성정보를 엔트로피 부호화하여 속성정보 비트스트림을 생성한다.The attribute information entropy encoder 23004 (or attribute information entropy encoder) entropy-encodes the attribute information to generate an attribute information bitstream.
잔차속성정보 역양자화부(23005) (또는 잔차속성정보 역양자화기)는 잔차속성정보를 역양자화한다.The residual attribute information inverse quantization unit 23005 (or residual attribute information inverse quantizer) inverse quantizes the residual attribute information.
잔차속성정보 역변환부(23006) (또는 잔차속성정보 역변환기)는 잔차속성정보를 역변환한다.The residual attribute information inverse transform unit 23006 (or the residual attribute information inverse transformer) inversely transforms the residual attribute information.
필터링부(23007)는 속성정보 및/또는 예측된 속성정보를 합하고, 생성된 속성정보를 필터링한다.The filtering unit 23007 adds attribute information and/or predicted attribute information, and filters the generated attribute information.
메모리(23008)는 필터링된 속성정보를 저장한다. The memory 23008 stores the filtered attribute information.
속성정보 예측부(23009)는 속성정보를 예측하고, 예측된 속성정보를 생성한다. 속성정보 예측 방법은 이하에서 구체적으로 설명한다.The attribute information prediction unit 23009 predicts attribute information and generates predicted attribute information. A method of predicting attribute information will be described in detail below.
도면은 실시예들에 따른 속성정보 부호화부의 상세 동작을 도시한다. 실시예들에 따른 각 상세 내용은 이하의 실시예들에 따른 PCC 부호화기를 참조한다. 실시예들에 따른 속성 정보 예측부는 속성정보 부호화부에 포함되거나 연결될 수 있다.The drawing shows detailed operations of the attribute information encoding unit according to embodiments. For details according to the embodiments, refer to the PCC encoder according to the following embodiments. The attribute information prediction unit according to embodiments may be included or connected to the attribute information encoding unit.
도24는 실시예들에 따른 디코더의 속성 정보 예측부의 예시를 나타낸다.24 illustrates an example of a property information prediction unit of a decoder according to embodiments.
실시예들에 따른 디코더의 속성 정보 예측부는 실시예들에 따른 각 구성요소를 포함한다. 실시예들에 따라 다음의 각 구성요소는 하드웨어, 소프트웨어, 프로세서 또는 그것들의 조합에 대응될 수 있다.The attribute information prediction unit of the decoder according to the embodiments includes each component according to the embodiments. According to embodiments, each of the following components may correspond to hardware, software, a processor, or a combination thereof.
속성정보 엔트로피 복호화부(24000)(또는 속성정보 엔트로피 복호화기)는 속성정보 비트스트림을 수신하고, 속성정보를 엔트로피 복호화한다.The attribute information entropy decoder 24000 (or attribute information entropy decoder) receives the attribute information bitstream and entropy decodes the attribute information.
기하정보 맵핑부(24001)(또는 기하정보 맵퍼)는 복원된 기하정보에 기반하여 속성정보에 대해 기하정보를 맵핑한다.The geometric information mapping unit 24001 (or geometric information mapper) maps geometric information to attribute information based on the restored geometric information.
잔차속성정보 역양자화부(24002)(또는 잔차속성정보 역양자화기)는 잔차속성정보를 역양자화한다.The residual attribute information inverse quantization unit 24002 (or residual attribute information inverse quantizer) inverse quantizes the residual attribute information.
잔차속성정보 역변환부(24003)(또는 잔차속성정보 역변환기)는 잔차속성정보를 역변환한다.The residual attribute information inverse transform unit 24003 (or the residual attribute information inverse transformer) inversely transforms the residual attribute information.
속성정보 예측부(24004)(또는 속성정보 예측기)는 메모리에 저장된 속성정보에 기반하여 속성정보를 예측한다.The attribute information predictor 24004 (or attribute information predictor) predicts attribute information based on attribute information stored in the memory.
필터링부(24005)(또는 필터)는 역변환된 잔차속성정보 및/또는 예측된 속성정보를 더한 데이터를 필터링한다.The filtering unit 24005 (or filter) filters data obtained by adding the inversely transformed residual attribute information and/or predicted attribute information.
메모리(240006)는 필터링된 속성정보를 저장한다.The memory 240006 stores the filtered attribute information.
속성정보 역변환부(24007)(또는 속성정보 역변환기)는 메모리에 저장된 속성정보를 역변환하여 속성정보를 생성한다.The attribute information inverse transform unit 24007 (or attribute information inverse converter) generates attribute information by inversely transforming attribute information stored in the memory.
도면은 실시예들에 따른 속성정보 복호화부(디코더)의 상세 블록도 이다. 각 블록의 상세 내용은 실시예들에 따른PCC 복호화기를 참조한다. 속성 정보 예측부는 속성정보 복호화부에 포함되거나 연결될 수 있다.The drawing is a detailed block diagram of an attribute information decoding unit (decoder) according to embodiments. For details of each block, refer to the PCC decoder according to the embodiments. The attribute information prediction unit may be included or connected to the attribute information decoding unit.
실시예들에 따라, 속성 정보 예측부는 인코더(송신 장치) 및/또는 디코더(수신 장치) 모두에 포함될 수 있다.According to embodiments, the attribute information prediction unit may be included in both an encoder (transmitting device) and/or a decoder (receiving device).
도25는 실시예들에 따른 속성정보 예측부 구성도의 예시를 나타낸다.25 shows an example of a configuration diagram of an attribute information prediction unit according to embodiments.
실시예들에 따른 속성정보 예측부는 실시예들에 따른 각 구성요소를 포함한다. 실시예들에 따라 다음의 각 구성요소는 하드웨어, 소프트웨어, 프로세서 또는 그것들의 조합에 대응될 수 있다.The attribute information prediction unit according to the embodiments includes each component according to the embodiments. According to embodiments, each of the following components may correspond to hardware, software, a processor, or a combination thereof.
LOD구성부(25000)(또는 LOD구성기)는 속성정보 및/또는 재구성된 위치정보(복원된 기하정보)에 기반하여 포인트 클라우드 데이터 및/또는 포인트 클라우드 데이터의 포인트들에 대한 LOD를 생성(구성)한다.The LOD configuration unit 25000 (or LOD configurator) generates (configuration) LODs for points of point cloud data and/or point cloud data based on attribute information and/or reconstructed location information (restored geometric information). )do.
이웃 포인트 집합 구성부(25001)(또는 이웃 포인트 집합 구성기)는 LOD집합에 기반하여 이웃 포인트 집합을 구성(생성)한다.The neighbor point set construction unit 25001 (or neighbor point set construction unit) constructs (generates) a neighbor point set based on the LOD set.
예측 변환/역변환부(25002)(또는 예측 변환/역변환기)는 이웃 포인트 집합을 예측 변환/역변환 코딩(속성 코딩)한다.The predictive transform/inverse transform unit 25002 (or predictive transform/inverse transform) performs predictive transform/inverse transform coding (attribute coding) on the neighboring point set.
리프팅 변환/역변환부(25003)(또는 리프팅 변환/역변환기)는 이웃 포인트 집합을 리프팅 변환/역변환 코딩(속성 코딩)한다.The lifting transform/inverse transform unit 25003 (or lifting transform/inverse transformer) performs lifting transform/inverse transform coding (attribute coding) of the neighboring point set.
실시예들에 따른 속성정보 예측부는 LOD 구성부, 이웃 포인트 집합 구성부, 예측 변환/역변환부, 리프팅 변환/역변환 부를 포함할 수 있다. 속성정보 예측부는 실시예들에 따른 예측/리프팅 변환처리부에 해당하며, 상세 내용은 실시예들에 따른 예측변환과 실시예들에 따른 리프팅 변환을 참조한다.The attribute information prediction unit according to embodiments may include an LOD construction unit, a neighbor point set construction unit, a prediction transformation/inverse transformation unit, and a lifting transformation/inverse transformation unit. The attribute information prediction unit corresponds to a prediction/lifting conversion processing unit according to embodiments, and for details, refer to prediction conversion according to embodiments and lifting conversion according to embodiments.
실시예들에 따른 방법/장치는 속성 정보 예측부의 이웃 포인트 집합 구성부과 예측 변환/역변환부를 제공할 수 있다. 실시예들에 따른 각 동작을 설명하면 다음과 같다.The method/apparatus according to the embodiments may provide a neighbor point set construction unit and a prediction transform/inverse transform unit of the attribute information prediction unit. Each operation according to the embodiments will be described as follows.
<이웃 포인트 집합 구성부><Neighbor Point Set Components>
실시예들에 따른 이웃 포인트 집합 구성부는 이웃 포인트 검색 범위 설정 방법(neighbour_search_range_type)을 가지며, 선택 방법에 따라서 이웃 포인트를 검색할 범위가 설정되며, 적용된 방식은 복호화기에 전송될 수 있다. 이웃 포인트 검색 범위 설정 방법에는 몰톤 코드 기반 검색 범위 설정 방식, 옥트리 기반 검색 범위 설정 방식이 있을 수 있다.The neighbor point set configuration unit according to the embodiments has a neighbor point search range setting method (neighbour_search_range_type), a range to search for a neighbor point is set according to the selection method, and the applied method may be transmitted to the decoder. The neighbor point search range setting method may include a Molton code-based search range setting method and an octree-based search range setting method.
실시예들에 따른 이웃 포인트 집합 구성부는 이웃 포인트 검색 범위 (neighbour_search_range)을 가지며, 이웃 포인트 검색 범위 설정 방법에 따라서 이웃 포인트를 검색할 범위가 설정된다. 검색 범위는 LOD별로 설정(neighbour_search_range[idx])을 될 수도 있으며, LOD별로 특정 비율로 변경(neighbour _search_range_rate_per_lod)될 수 있게 설정할 수도 있다.The neighbor point set configuration unit according to the embodiments has a neighbor point search range (neighbour_search_range), and a range to search for a neighbor point is set according to a method for setting the neighbor point search range. The search range may be set for each LOD (neighbour_search_range[idx]), or may be set to be changed at a specific rate for each LOD (neighbor_search_range_rate_per_lod).
실시예들에 따른 이웃 포인트 집합 구성부는 이웃 포인트 선택 방법(neighbour_selection_type)을 가지며, 선택 방법에 따라서 이웃 포인트를 선택하고, 적용된 방식은 복호화기에 전송될 수 있다. 이웃 포인트 선택 방법에는 거리 기반 방식, 속성 기반 방식, 거리+속성 기반 방식이 있을 수 있다.The neighbor point set configuration unit according to the embodiments has a neighbor point selection method (neighbour_selection_type), selects a neighbor point according to the selection method, and the applied method may be transmitted to the decoder. The neighbor point selection method may include a distance-based method, an attribute-based method, and a distance + attribute-based method.
실시예들에 따른 이웃 포인트 집합 구성부는 속성 기반 또는 거리+속성 기반 방식()으로 이웃 포인트를 선택 시, 속성 유사성 측정 방법(neighbour_attr_difference_method)을 가지며, 선택된 방법에 따라 포인트들간의 속성 유사성을 측정하여 이웃 포인트를 선택하고, 적용된 방식은 복호화기에 전송될 수 있다. 속성 유사성 측정 방법에는 Euclidean Color Distance, Correlated Color Temperature, CIE94 방식이 있을 수 있다. 이러한 방법은 예시이고, 동일 또는 유사한 기능을 하는 방식이 사용될 수 있다.The neighbor point set configuration unit according to the embodiments has an attribute similarity measurement method (neighbour_attr_difference_method) when selecting a neighboring point in an attribute-based or distance+attribute-based method (), and measures attribute similarity between points according to the selected method. The point is selected and the applied method can be transmitted to the decoder. Methods for measuring attribute similarity may include Euclidean Color Distance, Correlated Color Temperature, and CIE94. This method is an example, and a method that performs the same or similar function may be used.
실시예들에 따른 이웃 포인트 집합 구성부는 속성 기반 또는 거리+속성 기반 방식으로 이웃 포인트를 선택 시, 이웃 포인트의 최소 속성 유사성 임계값(=또는 최대 속성 차이 임계값) (neighbour_attr_min_similarity_threshold)을 가지며, 최소 속성 유사성 임계값보다 큰 경우만 이웃 노드로 등록할 수 있도록 할 수 있고, 임계값이 복호화기에 전송될 수 있다.The neighboring point set configuration unit according to embodiments has a minimum attribute similarity threshold (= or maximum attribute difference threshold) (neighbour_attr_min_similarity_threshold) of the neighboring point when selecting a neighboring point in an attribute-based or distance + attribute-based method, and a minimum attribute Only when it is greater than the similarity threshold can be registered as a neighboring node, and the threshold can be transmitted to the decoder.
실시예들에 따른 이웃 포인트 집합 구성부는 거리+속성 기반 방식으로 이웃 포인트를 선택시, 거리 기반으로 1차적으로 선택하는 이웃 포인트의 개수(neighbour_attr_1st_phase_num_of_points)를 가지며 복호화기에 전송될 수 있다.When selecting a neighbor point based on a distance + attribute method, the neighbor point set configuration unit according to embodiments has the number of neighbor points (neighbour_attr_1st_phase_num_of_points) that are primarily selected based on the distance, and may be transmitted to the decoder.
그 외에 이웃 포인트 집합 구성부의 상세 내용은 실시예들에 따른 인코딩 과정의 설명을 참조한다.In addition, for details of the neighbor point set configuration unit, refer to the description of the encoding process according to the embodiments.
<예측 변화/역변환부>/<리프팅 변화/역변환부><predicted change/inverse transform unit>/<lifting change/inverse transform unit>
실시예들에 따른 예측 변환/역변환부, 리프팅 변환/역변환부 상세 내용은 실시예들에 따른 인코딩 과정의 설명을 참조한다.For details of the prediction transform/inverse transform unit and the lifting transform/inverse transform unit according to the embodiments, refer to the description of the encoding process according to the embodiments.
실시예들에 따른 포인트 클라우드 데이터 송신 방법의 속성 정보를 예측하는 단계는 포인트 클라우드 데이터의 속성 정보 및 재구성된 지오메트리 정보에 기반하여 LOD (Level of Detail) 를 생성하고, LOD에 기반하여 이웃 포인트 집합을 생성하고, 이웃 포인트 집합에 대한 속성 코딩을 수행할 수 있다.In the step of predicting attribute information of the point cloud data transmission method according to embodiments, a level of detail (LOD) is generated based on the attribute information of the point cloud data and the reconstructed geometry information, and a set of neighboring points is determined based on the LOD. It can be generated, and attribute coding for a set of neighboring points can be performed.
상술한 도22 내지 도25의 구성요소로 인하여, 실시예들에 따른 방법/장치는 포인트 클라우드 데이터의 인코딩/디코딩 성능을 향상시킬 수 있다.Due to the components of FIGS. 22 to 25 described above, the method/apparatus according to the embodiments may improve encoding/decoding performance of point cloud data.
도26은 실시예들에 따른 포인트 클라우드 데이터의 구조의 예시를 나타낸다.26 shows an example of a structure of point cloud data according to embodiments.
실시예들에 따른 포인트 클라우드 데이터는 도면과 같은 비트스트림의 형태를 가질 수 있다. 포인트 클라우드 데이터는 실시예들에 따른 시그널링정보 등을 포함하는 SPS(Sequence Parameter Set), GPS(Geometry Parameter Set), APS(Attribute Parameter Set), TPS(Tile Parameter Set)를 포함할 수 있다. 포인트 클라우드 데이터는 하나 또는 하나 이상의 지오메트리 및/또는 어트리뷰트를 포함할 수 있다. 포인트 클라우드 데이터는 지오메트리 및/또는 어트리뷰트는 하나 또는 하나 이상의 슬라이스 단위로 포함할 수 있다. 지오메트리는 지오메트리 슬라이스 헤더 및 지오메트리 슬라이스 데이터의 구조를 가질 수 있다. 예를 들어, 시그널링 정보를 포함하는 TPS는 Tile(0). tile_bounding_box_xyz0, Tile(0)_tile_bounding_box_whd 등을 포함할 수 있다. 지오메트리는 geom_geom_parameter_set_id, geom_tile_id, geom_slice_id, geomBoxOrigin, geom_box_log2_scale, geom_max_node_size_log2, geom_num_points 등을 포함할 수 있다.Point cloud data according to embodiments may have a bitstream form as shown in the drawing. The point cloud data may include a sequence parameter set (SPS), a geometry parameter set (GPS), an attribute parameter set (APS), and a tile parameter set (TPS) including signaling information according to embodiments. Point cloud data may include one or more geometry and/or attributes. The point cloud data may include geometry and/or attributes in units of one or more slices. The geometry may have a structure of a geometry slice header and geometry slice data. For example, the TPS including signaling information is Tile(0). It may include tile_bounding_box_xyz0, Tile(0)_tile_bounding_box_whd, and the like. The geometry may include geom_geom_parameter_set_id, geom_tile_id, geom_slice_id, geomBoxOrigin, geom_box_log2_scale, geom_max_node_size_log2, geom_num_points, and the like.
실시예들에 따른 방법/장치가 실시예들의 동작을 추가/수행 하기 위해서 관련 정보를 시그널링 할 수 있다. 본 발명의 실시예들에 따른 시그널링 정보는 송신단 또는 수신단 등에서 사용될 수 있다.A method/apparatus according to the embodiments may signal related information to add/perform an operation of the embodiments. The signaling information according to embodiments of the present invention may be used at a transmitting end or a receiving end.
실시예들에 따른 부호화된 포인트 클라우드 구성의 예시는 도면과 같다.An example of a configuration of an encoded point cloud according to embodiments is shown in the drawing.
각 약어는 다음을 의미한다. 각 약어는 동등한 의미의 범위 내에서 다른 용어로 지칭될 수 있다. SPS: Sequence Parameter Set, GPS: Geometry Parameter Set, APS: Attribute Parameter Set, TPS: Tile Parameter Set, Geom: Geometry bitstream = geometry slice header+ geometry slice data, Attr: Attrobite bitstream = attribute blick header + attribute brick data.Each abbreviation means: Each abbreviation may be referred to by another term within the scope of its equivalent meaning. SPS: Sequence Parameter Set, GPS: Geometry Parameter Set, APS: Attribute Parameter Set, TPS: Tile Parameter Set, Geom: Geometry bitstream = geometry slice header+ geometry slice data, Attr: Attrobite bitstream = attribute blick header + attribute brick data.
실시예들에 따른 방법/장치는 이웃 포인트 집합 생성 및 예측/리프팅 변환 관련 옵션 정보를 APS에 추가하여 시그널링 할 수 있다. The method/apparatus according to the embodiments may signal by adding option information related to generation of a neighboring point set and prediction/lifting transformation to the APS.
실시예들에 따른 방법/장치는 포인트 클라우드를 영역별로 나누어 처리할 수 있도록 타일, 또는 슬라이스를 제공한다. The method/apparatus according to the embodiments provides a tile or a slice so that the point cloud can be divided and processed by regions.
실시예들에 따른 방법/장치는 영역별로 나눌때 각각의 영역 별로 다른 이웃 포인트 집합 생성 옵션을 설정해서 복잡도(complexity)는 낮고, 결과의 신뢰도는 다소 떨어지거나 반대로 복잡도가 높으나 신뢰도가 높은 선택 방안을 제공할 수 있다. 실시예들에 따른 방법/장치는 수신기의 처리능력(capacity)에 따라서 다르게 설정할 수 있다. The method/apparatus according to the embodiments sets a different neighbor point set generation option for each area when dividing by area, so that the complexity is low, and the reliability of the result is slightly lower, or conversely, the selection method with high complexity but high reliability is selected. Can provide. The method/apparatus according to the embodiments may be set differently according to the processing capacity of the receiver.
따라서, 포인트 클라우드는 타일(Tile)로 나누어지는 경우, 실시예들에 따른 방법/장치는 각 타일별로 다른 이웃 포인트 집합 생성 옵션을 적용할 수 있다.Accordingly, when the point cloud is divided into tiles, the method/apparatus according to the embodiments may apply a different neighbor point set generation option for each tile.
포인트 클라우드는 슬라이스(Slice)로 나누어지는 경우, 실시예들에 따른 방법/장치는 각 슬라이스별로 다른 이웃 포인트 집합 생성 옵션을 적용할 수 있다.When the point cloud is divided into slices, the method/apparatus according to the embodiments may apply a different neighbor point set generation option for each slice.
실시예들에 따른 방법/장치는 이웃 포인트 집합 생성 및 예측/리프팅 변환 관련 옵션 정보를 TPS 또는 각 Slice별 Attr에 추가하여 시그널링 할 수 있다.The method/apparatus according to the embodiments may signal by adding option information related to generation of a neighboring point set and prediction/lifting transformation to a TPS or an Attr for each slice.
도27은 실시예들에 따른 이웃 포인트 집합 생성 옵션 관련 정보의 신택스 예시를 나타낸다.27 illustrates an example syntax of information related to a neighbor point set generation option according to embodiments.
실시예들에 따른 방법/장치는 이웃 포인트 집합 생성 옵션 관련 정보를 attribute parameter set에 포함시킬 수 있다. 실시예들에 따른 각 파라미터(또는 시그널링 정보)의 설명은 다음과 같을 수 있다. The method/apparatus according to the embodiments may include information related to the neighbor point set generation option in the attribute parameter set. A description of each parameter (or signaling information) according to embodiments may be as follows.
aps_attr_paremeter_set_id 는 APS 어트리뷰트 파라미터 세트의 식별자를 나타낸다. aps_attr_paremeter_set_id represents the identifier of the APS attribute parameter set.
aps_seq_parameter_set_id 는 ASP 시퀀스 파라미터 세트의 식별자를 나타낸다.aps_seq_parameter_set_id represents the identifier of the ASP sequence parameter set.
attr_coding_type 는 어트리뷰트 코딩의 타입을 나타낸다. 어트리뷰트 코딩 타입에 따라서 프레딕션(예측) 관련 파라미터들이 시그널링될 수 있다.attr_coding_type represents the type of attribute coding. Prediction (prediction) related parameters may be signaled according to the attribute coding type.
num_pred_nearest_neighbors는 예측 관련 니어스트 네이버들의 개수를 나타낸다.num_pred_nearest_neighbors represents the number of prediction-related near neighbors.
실시예들에 따른 방법/장치는 이웃 포인트 집합 및 예측/리프팅 변환 관련 옵션 정보를 APS에 추가하여 시그널링 할 수 있다. The method/apparatus according to the embodiments may signal by adding a neighboring point set and option information related to prediction/lifting transformation to the APS.
실시예들에 따른 neighbour_search_range_type: 이웃 포인트 검색 범위 설정 방법 명시할 수 있다. 예를 들어, 1= 몰톤 코드 기반 검색 범위 설정 방식, 2= 옥트리 기반 검색 범위 설정 방식을 나타낼 수 있다.Neighbour_search_range_type according to embodiments: A method of setting a neighbor point search range may be specified. For example, 1= a Molton code-based search range setting method, and 2= an octree-based search range setting method.
실시예들에 따른 neighbour_selection_type: 이웃 포인트 선택 방법 명시할 수 있다. 예를 들어, 1= 거리 기반 이웃 포인트 선택 방식, 2= 속성 기반 이웃 포인트 선택 방식, 3= 거리+속성 기반 이웃 포인트 선택 방식을 나타낼 수 있다.Neighbour_selection_type according to embodiments: A neighboring point selection method may be specified. For example, 1= a distance-based neighbor point selection method, 2= an attribute-based neighbor point selection method, and 3= distance + attribute-based neighbor point selection method may be indicated.
실시예들에 따른 neighbour_search_range: 이웃 포인트 검색 범위 설정 방법에 따라 리스트의 왼쪽, 오른쪽으로 이웃 포인트들의 개수, 또는 옥트리에서의 검색 범위 설정을 위한 상위 부모노드의 레벨 차이 명시할 수 있다.Neighbour_search_range according to embodiments: The number of neighboring points to the left or right of the list, or the level difference of the upper parent node for setting the search range in the octree may be specified according to the method of setting the neighboring point search range.
실시예들에 따른 neighbour_search_range_rate_per_lod: LOD가 작아질수록 변경되는 범위의 %를 명시할 수 있다.Neighbour_search_range_rate_per_lod according to embodiments: As the LOD decreases, the% of the range that is changed may be specified.
실시예들에 따른 neighbour_attr_different_method: 속성 유사성 측정 방법 명시할 수 있다. 예를 들어, 1= Euclidian color distance, 2= Correlated Color Temperature, 3= CIE94 일 수 있다.Neighbour_attr_different_method according to embodiments: A method for measuring attribute similarity may be specified. For example, 1= Euclidian color distance, 2= Correlated Color Temperature, and 3= CIE94.
실시예들에 따른 neighbour_attr_min_similarity_threshold: 이웃 포인트의 최소 속성 유사성 임계값 명시할 수 있다.Neighbour_attr_min_similarity_threshold according to embodiments: A minimum attribute similarity threshold of a neighboring point may be specified.
실시예들에 따른 neighbour_attr_1st_phase_num_of_points: 거리+속성 기반 방식으로 이웃 포인트 선택시, 1차적으로 거리 기반으로 선택하는 이웃 포인트 개수 명시할 수 있다.Neighbour_attr_1st_phase_num_of_points according to embodiments: When selecting a neighboring point based on a distance + attribute, the number of neighboring points that are primarily selected based on a distance may be specified.
실시예들에 따른 aps_attr_parameter_set_id 다른 신택스 엘리먼트들에 의한 레퍼런스를 위한 APS에 대한 식별자를 제공할 수 있다. aps_attr_parameter_set_id의 값은 0 내지 15(포함)의 범위를 가질 수 있다(provides an identifier for the APS for reference by other syntax elements. The value of aps_attr_parameter_set_id shall be in the range of 0 to 15, inclusive).Aps_attr_parameter_set_id according to embodiments An identifier for an APS for reference by other syntax elements may be provided. The value of aps_attr_parameter_set_id may have a range of 0 to 15 (inclusive) (provides an identifier for the APS for reference by other syntax elements.The value of aps_attr_parameter_set_id shall be in the range of 0 to 15, inclusive).
실시예들에 따른 aps_seq_parameter_set_id 액티브 SPS를 위한 sps_seq_parameter_set_id의 값을 나타낸다. aps_seq_parameter_set_id의 값은 0 내지 15(포함)의 범위를 가질 수 있다(specifies the value of sps_seq_parameter_set_id for the active SPS. The value of aps_seq_parameter_set_id shall be in the range of 0 to 15, inclusive).Aps_seq_parameter_set_id according to embodiments represents a value of sps_seq_parameter_set_id for active SPS. The value of aps_seq_parameter_set_id may have a range of 0 to 15 (inclusive) (specifies the value of sps_seq_parameter_set_id for the active SPS.The value of aps_seq_parameter_set_id shall be in the range of 0 to 15, inclusive).
실시예들에 따른 attr_coding_type attr_coding_type의 주어진 값을 위한 어트리뷰트에 대한 코딩 타입을 나타낸다. attr_coding_type의 값은 비트스트림들 내 0, 1 또는 2일 수 있다. attr_coding_type의 다른 값들은 ISO/IEC에 의한 미래 사용을 위해 예약될 수 있다. 디코더들은 attr_coding_type의 예약된 값들을 무시할 수 있다. 예를 들어, 0 = Predicting weight lifting, 1 = Region Adaptive Hierarchical Transferm (RAHT), 2= Fixed weight lifting 를 나타낼 수 있다(indicates that the coding type for the attribute in Table 7 2Table 7 2 for the given value of attr_coding_type. The value of attr_coding_type shall be equal to 0, 1, or 2 in bitstreams conforming to this version of this Specification. Other values of attr_coding_type are reserved for future use by ISO/IEC. Decoders conforming to this version of this Specification shall ignore reserved values of attr_coding_type. 0 = Predicting weight lifting, 1 = Region Adaptive Hierarchical Transferm (RAHT), 2= Fixed weight lifting)Attr_coding_type according to embodiments Represents a coding type for an attribute for a given value of attr_coding_type. The value of attr_coding_type may be 0, 1, or 2 in bitstreams. Other values of attr_coding_type may be reserved for future use by ISO/IEC. Decoders can ignore reserved values of attr_coding_type. For example, 0 = Predicting weight lifting, 1 = Region Adaptive Hierarchical Transferm (RAHT), 2 = Fixed weight lifting (indicates that the coding type for the attribute in Table 7 2Table 7 2 for the given value of attr_coding_type .The value of attr_coding_type shall be equal to 0, 1, or 2 in bitstreams conforming to this version of this Specification.Other values of attr_coding_type are reserved for future use by ISO/IEC.Decoders conforming to this version of this Specification shall ignore reserved values of attr_coding_type. 0 = Predicting weight lifting, 1 = Region Adaptive Hierarchical Transferm (RAHT), 2= Fixed weight lifting)
실시예들에 따른 num_pred_nearest_neighbours 프레딕션을 위해 사용되는 니어스트 네이버들의 맥시멈 넘버를 나타낸다. numberOfNearestNeighboursInPrediction의 값은 1 내지 xx 범위를 가질 수 있다(specifies the maximum number of nearest neighbours to be used for prediction. The value of numberOfNearestNeighboursInPrediction shall be in the range of 1 to xx).Indicates the maximum number of near neighbors used for num_pred_nearest_neighbors prediction according to embodiments. The value of numberOfNearestNeighboursInPrediction may be in the range of 1 to xx (specifies the maximum number of nearest neighbors to be used for prediction.The value of numberOfNearestNeighboursInPrediction shall be in the range of 1 to xx).
실시예들에 따른 max_num_direct_predictors 다이렉트 프레딕션을 위해 사용되는 프레딕터의 맥시멈 넘버를 나타낸다. max_num_direct_predictors의 값은 0 내지 num_pred_nearest_neighbours의 범위를 가질 수 있다. 디코딩 프로세스에서 사용되는 변수 MaxNumPredictors의 값은 다음과 같을 수 있다. 예를 들어, MaxNumPredictors = max_num_direct_predicots + 1 일 수 있다(specifies the maximum number of predictor to be used for direct prediction. The value of max_num_direct_predictors shall be range of 0 to num_pred_nearest_neighbours. The value of the variable MaxNumPredictors that is used in the decoding process as follows: MaxNumPredictors = max_num_direct_predicots + 1)Max_num_direct_predictors according to embodiments represents the maximum number of a predictor used for direct prediction. The value of max_num_direct_predictors may have a range of 0 to num_pred_nearest_neighbours. The value of the variable MaxNumPredictors used in the decoding process may be as follows. For example, MaxNumPredictors = max_num_direct_predicots + 1 (specifies the maximum number of predictor to be used for direct prediction.The value of max_num_direct_predictors shall be range of 0 to num_pred_nearest_neighbours. The value of the variable MaxNumPredictors that is used in the decoding process as follows: MaxNumPredictors = max_num_direct_predicots + 1)
실시예들에 따른 lifting_search_range 리프팅을 위한 서치 범위를 나타낸다(specifies search range for the lifting).Lifting_search_range according to embodiments indicates a search range for lifting (specifies search range for the lifting).
실시예들에 따른 lifting_quant_step_size 어트리뷰트의 1 st 컴포넌트를 위한 양자화 스텝 사이즈를 나타낸다. quant_step_size의 값은 1 내지 xx 범위를 가질 수 있다(specifies the quantization step size for the 1st component of the attribute. The value of quant_step_size shall be in the range of 1 to xx).Represents a quantization step size for a 1 st component of the lifting_quant_step_size attribute according to embodiments. The value of quant_step_size may be in the range of 1 to xx (specifies the quantization step size for the 1st component of the attribute.The value of quant_step_size shall be in the range of 1 to xx).
실시예들에 따른 lifting_quant_step_size_chroma 어트리뷰트가 컬러인 경우, 어트리뷰트의 크로마 컴포넌트를 위한 양자화 스텝 사이즈를 나타낸다. quant_step_size_chroma의 값은 1 내지 xx 범위를 가질 수 있다(specifies the quantization step size for the chroma component of the attribute when the attribute is colour. The value of quant_step_size_chroma shall be in the range of 1 to xx).When the lifting_quant_step_size_chroma attribute according to embodiments is a color, it indicates the quantization step size for the chroma component of the attribute. The value of quant_step_size_chroma may have a range of 1 to xx (specifies the quantization step size for the chroma component of the attribute when the attribute is colour.The value of quant_step_size_chroma shall be in the range of 1 to xx).
실시예들에 따른 quant_step_size_chroma lod_binary_tree_enabled_flag 바이너리 트리가 로그 제너레이션에 대해 인네이블한지 아닌지를 나타낸다(specifies whether binary tree is enable or not for the log generation).Quant_step_size_chroma lod_binary_tree_enabled_flag according to embodiments specifies whether binary tree is enable or not for the log generation.
실시예들에 따른 num_detail_levels_minus1 어트리뷰트 코딩을 위한 레벨 오브 디테일들의 개수를 나타낸다. num_detail_levels_minus1의 값은 0 내지 xx 범위를 가질 수 있다(specifies the number of levels of detail for the attribute coding. The value of num_detail_levels_minus1 shall be in the range of 0 to xx).Represents the number of levels of details for num_detail_levels_minus1 attribute coding according to embodiments. The value of num_detail_levels_minus1 may have a range of 0 to xx (specifies the number of levels of detail for the attribute coding.The value of num_detail_levels_minus1 shall be in the range of 0 to xx).
실시예들에 따른 sampling_distance_squared [ idx ] idx에 대한 샘플링 디스턴스의 스퀘어를 나타낸다. sampling_distance_squared[]의 값은 0 내지 xx 범위를 가질 수 있다(specifies the square of the sampling distance for idx. The value of sampling_distance_squared[] shall be in the range of 0 to xx).Sampling_distance_squared [idx] represents a square of a sampling distance for idx according to embodiments. The value of sampling_distance_squared[] may have a range of 0 to xx (specifies the square of the sampling distance for idx. The value of sampling_distance_squared[] shall be in the range of 0 to xx).
실시예들에 따른 adaptive_prediction_threshold 프레딕션의 스레드홀드를 나타낸다(specifies the threshold of prediction).Adaptive_prediction_threshold according to embodiments specifies the threshold of prediction.
실시예들에 따른 raht_depth RAHT에 대한 레벨 오브 디테일의 개수를 나타낸다. depthRAHT의 값은 1 내지 xx 범위를 가질 수 있다(specifies the number of levels of detail for RAHT. The value of depthRAHT shall be in the range of 1 to xx).Represents the number of levels of detail for raht_depth RAHT according to embodiments. The value of depthRAHT may have a range of 1 to xx (specifies the number of levels of detail for RAHT. The value of depthRAHT shall be in the range of 1 to xx).
실시예들에 따른 raht_binarylevel_threshold RAHT 계수를 컷 아웃하기 위한 레벨 오브 디테일을 나타낸다. binaryLevelThresholdRAHT의 값은 0 내지 xx 범위를 가질 수 있다(specifies the levels of detail to cut out the RAHT coefficient. The value of binaryLevelThresholdRAHT shall be in the range of 0 to xx).Raht_binarylevel_threshold according to embodiments represents a level of detail for cutting out a RAHT coefficient. The value of binaryLevelThresholdRAHT may be in the range of 0 to xx (specifies the levels of detail to cut out the RAHT coefficient.The value of binaryLevelThresholdRAHT shall be in the range of 0 to xx).
실시예들에 따른 raht_quant_step_size 어트리뷰트의 1 st 컴포넌트에 대한 양자화 스텝 사이즈를 나타낸다. quant_step_size의 값은 1 내지 xx 범위를 가질 수 있다(specifies the quantization step size for the 1st component of the attribute. The value of quant_step_size shall be in the range of 1to xx).Represents a quantization step size for a 1 st component of the raht_quant_step_size attribute according to embodiments. The value of quant_step_size may be in the range of 1 to xx (specifies the quantization step size for the 1st component of the attribute.The value of quant_step_size shall be in the range of 1to xx).
실시예들에 따른 aps_extension_present_flag 이 1인 경우, aps_extension_data 신택스 스트럭쳐가 APS RBSP 신택스 스트럭쳐 내에 존재함을 나타낸다. aps_extension_present_flag이 0인 경우, 이 신택스 스트럭쳐가 존재하지 않음을 나타낸다. 존재하지 않은 경우, aps_ extension_present_flag의 값은 0 과 같은 것으로 해섣될 수 있다(equal to 1 specifies that the aps_extension_data syntax structure is present in the APS RBSP syntax structure. aps_extension_present_flag equal to 0 specifies that this syntax structure is not present. When not present, the value of aps_ extension_present_flag is inferred to be equal to 0).When aps_extension_present_flag according to embodiments is 1, it indicates that the aps_extension_data syntax structure exists in the APS RBSP syntax structure. When aps_extension_present_flag is 0, it indicates that this syntax structure does not exist. If not present, the value of aps_extension_present_flag can be assumed to be equal to 0 (equal to 1 specifies that the aps_extension_data syntax structure is present in the APS RBSP syntax structure.aps_extension_present_flag equal to 0 specifies that this syntax structure is not present. When not present, the value of aps_ extension_present_flag is inferred to be equal to 0).
실시예들에 따른 aps_extension_data_flag 어느 값도 가질 수 있다. 그것의 존재 및 값은 프로파일을 따르는 디코더에 영향을 주지 않는다(may have any value. Its presence and value do not affect decoder conformance to profiles. Decoders conforming to a profile).It can have any value of aps_extension_data_flag according to embodiments. Its presence and value do not affect decoder conformance to profiles. Decoders conforming to a profile.
도28은 실시예들에 따른 이웃 포인트 집합 생성 옵션 관련 정보를 나타낸다.28 illustrates information related to a neighbor point set generation option according to embodiments.
실시예들에 따른 방법/장치는 이웃 포인트 집합 생성 옵션 관련 정보를 Tile parameter set에 포함시킬 수 있다.The method/device according to the embodiments may include information related to the neighbor point set generation option in the Tile parameter set.
실시예들에 따른 방법/장치는 이웃 포인트 집합 및 예측/리프팅 변환 관련 옵션 정보를 TPS에 추가하여 시그널링 할 수 있다. The method/apparatus according to the embodiments may signal by adding the neighbor point set and option information related to prediction/lifting transformation to the TPS.
실시예들에 따른 num_tiles 비트스트림에 대해 시그널링되는 타일들의 개수를 나타낸다. 존재하지 않는 경우, num_tiles은 0일 수 있다(specifies the number of tiles signalled for the bitstream. When not present, num_tiles is inferred to be 0).Represents the number of tiles signaled for the num_tiles bitstream according to embodiments. If not present, num_tiles may be 0 (specifies the number of tiles signaled for the bitstream.When not present, num_tiles is inferred to be 0).
실시예들에 따른 tile_bounding_box_offset_x[ i ] 좌표계 내 i번재 타일의 x 오프셋을 나타낸다. 존재하지 않는 경우, tile_bounding_box_offset_x[ 0 ]의 값은 sps_bounding_box_offset_x 일 수 있다(indicates the x offset of the i-th tile in the cartesian coordinates. When not present, the value of tile_bounding_box_offset_x[ 0 ] is inferred to be sps_bounding_box_offset_x).Represents the x offset of the i-th tile in the tile_bounding_box_offset_x[i] coordinate system according to embodiments. If not present, the value of tile_bounding_box_offset_x[ 0] may be sps_bounding_box_offset_x (indicates the x offset of the i-th tile in the cartesian coordinates. When not present, the value of tile_bounding_box_offset_x[ 0] is inferred to be sps_bounding_box_offset_x).
실시예들에 따른 tile_bounding_box_offset_y[ i ] 좌표계 내 i번째 타일의 y오프셋을 나타낸다. 존재하지 않는 경우, tile_bounding_box_offset_y[ 0 ] 의 값은 sps_bounding_box_offset_y 일 수 있다(indicates indicates the y offset of the i-th tile in the cartesian coordinates. When not present, the value of tile_bounding_box_offset_y[ 0 ] is inferred to be sps_bounding_box_offset_y).Represents the y offset of the i-th tile in the tile_bounding_box_offset_y[i] coordinate system according to embodiments. If not present, the value of tile_bounding_box_offset_y[ 0] may be sps_bounding_box_offset_y (indicates indicates the y offset of the i-th tile in the cartesian coordinates. When not present, the value of tile_bounding_box_offset_y[ 0] is inferred to be sps_bounding_box_offset_y) .
실시예들에 따른 tile_bounding_box_offset_z[ i ] 좌표계 내 i번째 타일의 z오프셋을 나타낸다. 존재하지 않는 경우, tile_bounding_box_offset_z[ 0 ]은 sps_bounding_box_offset_z 일 수 있다(indicates indicates the z offset of the i-th tile in the Cartesian coordinates. When not present, the value of tile_bounding_box_offset_z[ 0 ] is inferred to be sps_bounding_box_offset_z).Represents the z offset of the i-th tile in the tile_bounding_box_offset_z[i] coordinate system according to embodiments. If not present, tile_bounding_box_offset_z[ 0] may be sps_bounding_box_offset_z (indicates indicates the z offset of the i-th tile in the Cartesian coordinates. When not present, the value of tile_bounding_box_offset_z[ 0] is inferred to be sps_bounding_box_offset_z).
실시예들에 따른 tile_bounding_box_scale_factor[ i ] 좌표계 내 i번째 타일의 스케일 팩터를 나타낸다. 존재하지 않는 경우, tile_bounding_box_scale_factor[ 0 ] 은 sps_bounding_box_scale_factor 일 수 있다(indicates the scale factor the i-th tile in the Cartesian coordinates. When not present, the value of tile_bounding_box_scale_factor[ 0 ] is inferred to be sps_bounding_box_scale_factor).Represents a scale factor of the i-th tile in the tile_bounding_box_scale_factor[i] coordinate system according to embodiments. If not present, tile_bounding_box_scale_factor[ 0] may be sps_bounding_box_scale_factor (indicates the scale factor the i-th tile in the Cartesian coordinates. When not present, the value of tile_bounding_box_scale_factor[ 0] is inferred to be sps_bounding_box_scale_factor).
실시예들에 따른 tile_bounding_box_size_width[ i ] 좌표계 내 i번째 타일의 너비를 나타낸다. 존재하지 않는 경우, tile_bounding_box_size_width[ 0 ] 은 sps_bounding_box_size_width 일 수 있다(indicates the width of the i-th tile in the Cartesian coordinates. When not present, the value of tile_bounding_box_size_width[ 0 ] is inferred to be sps_bounding_box_size_width).Represents the width of the i-th tile in the tile_bounding_box_size_width[i] coordinate system according to embodiments. If not present, tile_bounding_box_size_width[ 0] may be sps_bounding_box_size_width (indicates the width of the i-th tile in the Cartesian coordinates. When not present, the value of tile_bounding_box_size_width[ 0] is inferred to be sps_bounding_box_size_width).
실시예들에 따른 tile_bounding_box_size_height[ i ] 좌표계 내 i번째 타일의 높이를 나타낸다. 존재하지 않는 경우, tile_bounding_box_size_height[ 0 ] 은 sps_bounding_box_size_height 일 수 있다(indicates the height of the i-th tile in the Cartesian coordinates. When not present, the value of tile_bounding_box_size_height[ 0 ] is inferred to be sps_bounding_box_size_height).Represents the height of the i-th tile in the tile_bounding_box_size_height[i] coordinate system according to embodiments. If not present, tile_bounding_box_size_height[ 0] may be sps_bounding_box_size_height (indicates the height of the i-th tile in the Cartesian coordinates. When not present, the value of tile_bounding_box_size_height[ 0] is inferred to be sps_bounding_box_size_height).
실시예들에 따른 tile_bounding_box_size_depth[ i ] 좌표계 내 i번째 타일의 깊이를 나타낸다. 존재하지 않는 경우, tile_bounding_box_size_depth[ 0 ]은 sps_bounding_box_size_depth일 수 있다(indicates the depth of the i-th tile in the Cartesian coordinates. When not present, the value of tile_bounding_box_size_depth[ 0 ] is inferred to be sps_bounding_box_size_depth).Indicates the depth of the i-th tile in the tile_bounding_box_size_depth[i] coordinate system according to embodiments. If not present, tile_bounding_box_size_depth[ 0] may be sps_bounding_box_size_depth (indicates the depth of the i-th tile in the Cartesian coordinates. When not present, the value of tile_bounding_box_size_depth[ 0] is inferred to be sps_bounding_box_size_depth).
다른 시그널링 정보의 정의 및/또는 효과는 상술한 내용을 참조한다.For the definition and/or effect of other signaling information, refer to the above.
도29는 실시예들에 따른 이웃 포인트 집합 생성 옵션 관련 정보의 예시를 나타낸다.29 illustrates an example of information related to a neighbor point set generation option according to embodiments.
실시예들에 따른 방법/장치는 이웃 포인트 집합 생성 옵셥 관련 정보를 Attribute slice header에 포함시킬 수 있다.The method/apparatus according to the embodiments may include information related to the neighbor point set generation option in the Attribute slice header.
실시예들에 따른 이웃 포인트 집합 생성 및 예측/리프팅 변환 관련 옵션 정보는 Attr의 slice header에 추가 되서 시그널링 할 수 있다. Option information related to generation of a neighboring point set and prediction/lifting transformation according to embodiments may be added to the slice header of Attr for signaling.
실시예들에 따른 abh_attr_parameter_set_id 액티브 APS의 aps_attr_parameter_set_id의 값을 나타낸다(specifies the value of the aps_attr_parameter_set_id of the active APS).Abh_attr_parameter_set_id according to embodiments indicates the value of aps_attr_parameter_set_id of the active APS (specifies the value of the aps_attr_parameter_set_id of the active APS).
실시예들에 따른 abh_attr_sps_attr_idx 액티브 SPS 내 어트리뷰트 세트를 나타낸다. abh_attr_sps_attr_idx의 값은 액티브 SPS 내 0 내지 sps_num_attribute_sets 범위를 가질 수 있다(specifies the attribute set in the active SPS. The value of abh_attr_sps_attr_idx shall be in the range of 0 to sps_num_attribute_sets in the active SPS).Represents an attribute set in the abh_attr_sps_attr_idx active SPS according to embodiments. The value of abh_attr_sps_attr_idx may have a range of 0 to sps_num_attribute_sets in the active SPS (specifies the attribute set in the active SPS.The value of abh_attr_sps_attr_idx shall be in the range of 0 to sps_num_attribute_sets in the active SPS).
실시예들에 따른 abh_attr_geom_slice_id geom slice id의 값을 나타낸다(specifies the value of geom slice id).Indicates the value of abh_attr_geom_slice_id geom slice id according to embodiments (specifies the value of geom slice id).
다른 시그널링 정보의 정의 및/또는 효과는 상술한 내용을 참조한다.For the definition and/or effect of other signaling information, refer to the above.
상술한 실시예들에 따른 시그널링 정보(파라미터)로 인하여, 실시예들에 따른 방법/장치는 포인트 클라우드 데이터의 인코딩/디코딩 관련 정보를 나타내고, 시그널링 정보에 기반하여 실시예들에 따른 방법/장치의 동작이 수행될 수 있다.Due to the signaling information (parameter) according to the above-described embodiments, the method/device according to the embodiments indicates information related to encoding/decoding of point cloud data, and based on the signaling information, the method/device according to the embodiments is The operation can be performed.
도30은 실시예들에 따른 PCC 인코더를 나타낸다.30 shows a PCC encoder according to embodiments.
실시예들에 따른 PCC 인코더(또는 포인트 클라우드 데이터 송신 장치, 부호화기)는 실시예들에 따른 각 구성요소를 포함할 수 있다. 각 구성요소는 하드웨어, 소프트웨어, 프로세서 및/또는 그것들의 조합에 대응될 수 있다.The PCC encoder (or point cloud data transmission apparatus, encoder) according to the embodiments may include each component according to the embodiments. Each component may correspond to hardware, software, processor, and/or a combination thereof.
공간분할부(30000)(또는 공간분할기)는 PCC데이터(포인트 클라우드 데이터)를 공간분할한다.The space divider 30000 (or space divider) divides PCC data (point cloud data) into space.
기하정보 부호화부(30001)(또는 기하정보 부호화기)는 기하정보를 부호화하여 기하정보 비트스트림 및/또는 복원된 기하정보를 생성한다.The geometry information encoding unit 30001 (or geometry information encoder) encodes the geometry information to generate a geometry information bitstream and/or reconstructed geometry information.
속성정보 부호화부(30002)(또는 속성정보 부호화기)는 속성정보를 부호화하여 속성정보 비트스트림을 생성한다.The attribute information encoder 30002 (or attribute information encoder) encodes attribute information to generate an attribute information bitstream.
실시예들에 따른 PCC 부호화(포인트 클라우드 데이터 인코더, 인코더 및/또는 송신 방법/장치)는 PCC 부호화기에서 도면의 다이어그램과 같은 과정을 수행할 수 있다.PCC encoding (point cloud data encoder, encoder, and/or transmission method/apparatus) according to embodiments may perform a process similar to the diagram of the diagram in the PCC encoder.
실시예들에 따른 PCC 부호화기는 기하정보 부호화기 또는/그리고 속성정보 부호화기로 구성될 수 있다. The PCC encoder according to the embodiments may be composed of a geometric information encoder and/and an attribute information encoder.
실시예들에 따른 지오메트리 코딩은 실시예들에 따른 기하정보 부호화기에 해당하며 실시예들에 따른 속성 코딩은 실시예들에 따른 속성 정보 부호화기에 해당한다. The geometry coding according to the embodiments corresponds to the geometric information encoder according to the embodiments, and the attribute coding according to the embodiments corresponds to the attribute information encoder according to the embodiments.
실시예들에 따라, 이하 지오메트리와 기하정보를 모두 기하정보로 지칭한다.According to embodiments, both geometry and geometric information are referred to as geometric information below.
실시예들에 따른 PCC 데이터는 포인트의 기하정보 또는/그리고 속성정보로 구성될 수 있다.The PCC data according to embodiments may be composed of geometric information or/and attribute information of a point.
Figure PCTKR2019018176-appb-img-000013
Figure PCTKR2019018176-appb-img-000013
속성정보는 포인트의 색을 나타내는 벡터 (R,G,B) 또는/그리고 밝기 값 또는/그리고 라이다의 반사계수 또는/그리고 열화상 카메라로 부터 얻은 온도 값과 같이 하나 또는 다수개의 센서로 부터 획득한 값의 벡터일 수 있다. Attribute information is obtained from one or more sensors, such as a vector representing the color of the point (R, G, B) or/and the brightness value or/and the reflection coefficient of the lidar or/and the temperature value obtained from the thermal imaging camera. It can be a vector of one value.
실시예들에 따른 공간 분할부는 입력된 PCC 데이터를 적어도 하나의 3차원 블록으로 분할 할 수 있다. 이때, 블록은 타일 그룹(Tile Group) 또는 타일(Tile) 또는 슬라이스(Slice) 또는 부호화 단위(CU), 예측 단위(PU) 또는 변환 단위(TU)를 의미할 수 있다. 상기 분할은 옥트리(Octree), 쿼드 트리(Quadtree), 바이너리 트리(Biniary tree), 트리플 트리(Triple tree), k-d 트리 중 적어도 하나에 기반하여 수행될 수 있다. 또는 미리 정해놓은 가로 세로 높이의 블록단위로 분할 될 수 있다. 또는 블록의 다양한 위치 및 크기를 선택적으로 결정하여 분할 될 수 있다. 해당 정보를 엔트로피 부호화하여 복호화기로 전송할 수 있다. The spatial division unit according to embodiments may divide the input PCC data into at least one 3D block. In this case, the block may mean a tile group, a tile, a slice, or a coding unit (CU), a prediction unit (PU), or a transformation unit (TU). The partitioning may be performed based on at least one of an octree, a quadtree, a binary tree, a triple tree, and a k-d tree. Alternatively, it can be divided into blocks of a predetermined horizontal and vertical height. Alternatively, it can be divided by selectively determining various positions and sizes of blocks. Corresponding information may be entropy-encoded and transmitted to a decoder.
실시예들에 따른 기하정보 부호화부는 입력받은 기하정보를 부호화 기하정보 비트스트림과 복원기하정보를 생성한다. 생성된 비트스트림은 PCC 복호화기로 전송될 수 있다. 또한, 생성된 복원기하정보는 속성정보 부호화부로 입력될 수 있다. The geometric information encoder according to embodiments generates an encoded geometric information bitstream and reconstructed geometric information from the received geometric information. The generated bitstream may be transmitted to the PCC decoder. In addition, the generated reconstructed geometric information may be input to the attribute information encoding unit.
실시예들에 따른 속성정보 부호화부는 입력 받은 속성정보를 입력 받아 속성정보 비트스트림을 생성한다. 생성된 속성정보 비트스트림은 PCC 복호화기로 전송될 수 있다. The attribute information encoding unit according to embodiments receives the received attribute information and generates an attribute information bitstream. The generated attribute information bitstream may be transmitted to the PCC decoder.
도31은 실시예들에 따른 기하정보 인코더의 예시를 나타낸다.31 shows an example of a geometric information encoder according to embodiments.
실시예들에 따른 기하정보 인코더는 실시예들에 따른 각 구성요소를 포함한다. 각 구성요소는 하드웨어, 소프트웨어, 프로세서 및/또는 그것들의 조합에 대응될 수 있다.The geometric information encoder according to the embodiments includes each component according to the embodiments. Each component may correspond to hardware, software, processor, and/or a combination thereof.
좌표계 변환부(31000)(또는 좌표계 변환기)는 기하정보를 수신하고 기하정보의 좌표계를 변환한다.The coordinate system conversion unit 31000 (or coordinate system converter) receives geometric information and converts the coordinate system of the geometric information.
기하정보 변환양자화부(31001)(또는 기하정보 변환양자화기)는 기하정보를 변환양자화한다.The geometric information conversion quantization unit 31001 (or the geometric information conversion quantizer) converts and quantizes the geometric information.
잔차기하정보 양자화부(31002)(또는 잔차기하정보 양자화기)는 기하정보 및/또는 예측된 기하정보 간 잔차기하정보를 양자화한다.The residual geometric information quantization unit 3102 (or residual geometric information quantizer) quantizes the geometric information and/or the residual geometric information between the predicted geometric information.
기하정보 엔트로피 부호화부(31003)(또는 기하정보 엔트로피 부호화기)는 기하정보를 엔트로피 부호화하여 기하정보 비트스트림을 생성한다.The geometric information entropy encoder 31003 (or the geometric information entropy encoder) entropy-encodes the geometric information to generate a geometric information bitstream.
잔차기하정보 역양자화부(31004)(또는 잔차기하정보 역양자화기)는 잔차기하정보를 역양자화한다.The residual geometric information inverse quantization unit 3104 (or residual geometric information inverse quantizer) inverse quantizes the residual geometric information.
필터링부(31005)(또는 필터)는 잔차기하정보 및/또는 예측된 기하정보를 합산한 데이터를 필터링한다.The filtering unit 31005 (or filter) filters data obtained by summing residual geometric information and/or predicted geometric information.
메모리(31006)는 필터링된 기하정보를 저장하고 복원된 기하정보를 생성한다.The memory 31006 stores the filtered geometric information and generates reconstructed geometric information.
기하정보 예측부(31007)(또는 기하정보 예측기)는 메모리에 저장된 기하정보에 기반하여 기하정보를 예측한다.The geometric information predictor 31007 (or geometric information predictor) predicts geometric information based on the geometric information stored in the memory.
실시예들에 따른 PCC 부호화기(포인트 클라우드 데이터 인코더, 인코더 및/또는 송신 방법/장치)는 기하정보 부호화기와 속성정보 부호화기로 구성될 수 있다. 기하정보 부호화기는 도면의 다이어그램과 같은 과정을 수행하여 기하정보 비트스트림과 복원된(재구성된=reconstructed) 기하정보를 생성할 수 있다.The PCC encoder (point cloud data encoder, encoder and/or transmission method/apparatus) according to the embodiments may include a geometric information encoder and a property information encoder. The geometric information encoder can generate a geometric information bitstream and reconstructed (reconstructed = reconstructed) geometric information by performing the same process as in the diagram of the drawing.
실시예들에 따른 기하정보 부호화부는 좌표계 변환부, 기하정보 변환양자화부, 잔차기하정보 양자화부, 기하정보 엔트로피 부호화부, 잔차기하정보 역양자화부, 메모리, 기하정보 예측부를 포함할 수 있다. The geometric information encoding unit according to embodiments may include a coordinate system transforming unit, a geometric information transforming quantization unit, a residual geometric information quantizing unit, a geometric information entropy encoding unit, a residual geometric information inverse quantizing unit, a memory, and a geometric information predicting unit.
실시예들에 따른 좌표변환부는 실시예들에 따른 기하정보 부호화기의 좌표계 변환부에 해당하며, 양자화 처리부, 복셀화 처리부, 옥트리 코드 생성부, 표면 모델 처리부가 합쳐져서 실시예들에 따른 기하정보 변환양자화부에 해당한다. 실시예들에 따른 인트라/인터 코딩 처리부가 실시예들에 따른 기하정보 예측부에 해당하며 Arithmetic 코더는 실시예들에 따른 기하정보 엔트로피 부호화부에 해당한다. 실시예들에 따른 구체적 동작은 이하에서 설명한다.The coordinate conversion unit according to the embodiments corresponds to the coordinate system conversion unit of the geometric information encoder according to the embodiments, and a quantization processing unit, a voxelization processing unit, an octree code generation unit, and a surface model processing unit are combined to transform geometric information according to the embodiments. It corresponds to wealth. The intra/inter coding processing unit according to the embodiments corresponds to the geometric information prediction unit according to the embodiments, and the Arithmetic coder corresponds to the geometric information entropy coding unit according to the embodiments. Specific operations according to the embodiments will be described below.
실시예들에 따른 좌표계 변환부는 기하정보를 입력으로 받아 기존 좌표계와 다른 좌표계로 변환할 수 있다. 또는 좌표계 변환을 수행하지 않을 수 있다. 좌표계 변환된 기하정보는 기하정보 변환양자화부로 입력될 수 있다. The coordinate system conversion unit according to the embodiments may receive geometric information as an input and convert it into a coordinate system different from the existing coordinate system. Alternatively, the coordinate system transformation may not be performed. The geometric information converted by the coordinate system may be input to the geometric information conversion quantization unit.
실시예들에 따른 좌표계 변환 여부 및 좌표계 정보는 시퀀스, 프레임, 타일, 슬라이스, 블록 등의 단위로 시그널링 될 수 있고 또는 주변 블록의 좌표계 변환여부 블록의 크기, 포인트의 개수, 양자화 값, 블록 분할 깊이, 단위의 위치, 단위와 원점과의 거리 등을 사용하여 유도될 수 있다.Whether the coordinate system is transformed and the coordinate system information according to embodiments may be signaled in units such as a sequence, frame, tile, slice, or block, or whether the coordinate system of neighboring blocks is transformed or not , It can be derived using the location of the unit, and the distance between the unit and the origin.
실시예들에 따른 변환 하고자 하는 좌표계 정보는 좌표계 변환 여부를 확인 한 후 좌표계 변환 한다면 좌표계 정보는 시퀀스, 프레임, 타일, 슬라이스, 블록 등의 단위로 시그널링 될 수 있고 또는 주변 블록의 좌표계 변환여부 블록의 크기, 포인트의 개수, 양자화 값, 블록 분할 깊이, 단위의 위치, 단위와 원점과의 거리 등을 사용하여 유도될 수 있다.If the coordinate system information to be converted according to the embodiments is converted to the coordinate system after checking whether the coordinate system is converted, the coordinate system information may be signaled in units such as sequence, frame, tile, slice, block, etc. It can be derived using the size, number of points, quantization value, block division depth, unit location, and distance between the unit and the origin.
실시예들에 따른 기하정보 변환양자화부는 기하정보를 입력으로 받아 위치 변환 또는/그리고 회전 변환과 같이 하나 또는 다수개의 변환을 적용하고 양자화 값으로 기하정보를 나누어 양자화 하여 변환양자화된 기하정보를 생성한다. 변환양자화된 기하정보는 기하정보 엔트로피 부호화부와 잔차기하정보 양자화부로 입력될 수 있다. The geometric information transform quantization unit according to the embodiments receives geometric information as input, applies one or more transforms such as position transform or/and rotation transform, divides the geometric information by a quantization value, and quantizes the transformed quantized geometric information. . The transformed quantized geometric information may be input to a geometric information entropy encoding unit and a residual geometric information quantizing unit.
실시예들에 따른 기하정보 예측부는 메모리의 포인트들의 기하정보를 통해 기하정보를 예측 하여 예측된 기하정보를 생성한다. 예측에 사용된 예측 정보는 엔트로피 부호화를 수행하여 예측 정보를 부호화 할 수 있다. The geometric information prediction unit according to embodiments predicts geometric information through geometric information of points in a memory and generates predicted geometric information. The prediction information used for prediction may be encoded by performing entropy encoding.
실시예들에 따른 잔차기하정보 양자화부는 변환양자화된 기하정보와 예측된 기하정보를 차분한 잔차 기하정보를 입력 받아 양자화 값으로 양자화 하여 양자화된 잔차기하정보를 생성한다. 양자화된 잔차기하정보는 기하정보 엔트로피 부호화부와 잔차기하정보 역양자화부로 입력 될 수 있다. The residual geometric information quantization unit according to embodiments receives residual geometric information obtained by differentiating the transformed-quantized geometric information and the predicted geometric information, and quantizes it into a quantized value to generate quantized residual geometric information. Quantized residual geometric information may be input to a geometric information entropy encoding unit and a residual geometric information inverse quantization unit.
실시예들에 따른 기하정보 엔트로피 부호화부는 양자화된 잔차기하정보를 입력 받아 엔트로피 부호화를 수행 할 수 있다. 엔트로피 부호화는 예를 들어, 지수 골롬(Exponential Golomb), CAVLC(Context-Adaptive Variable Length Coding), CABAC(Context-Adaptive Binary Arithmetic Coding)과 같은 다양한 부호화 방법을 사용할 수 있다.The geometric information entropy encoding unit according to embodiments may receive quantized residual geometric information and perform entropy encoding. Entropy coding may use various coding methods such as Exponential Golomb, Context-Adaptive Variable Length Coding (CAVLC), and Context-Adaptive Binary Arithmetic Coding (CABAC).
실시예들에 따른 잔차기하정보 역양자화부는 양자화된 잔차기하정보를 입력받아 양자화 값으로 스케일링 하여 잔차기하정보를 복원한다. 복원된 잔차기하정보는 상기 예측된 기하정보와 더하여 기하정보로 복원되어 메모리에 저장 될 수 있다. The residual geometric information inverse quantization unit according to embodiments receives the quantized residual geometric information and restores the residual geometric information by scaling the quantized value. The restored residual geometric information may be restored as geometric information in addition to the predicted geometric information and stored in a memory.
실시예들에 따른 필터링부에서는 복원된 기하정보에 필터링을 수행할 수 있다. 필터링부는 디블록킹 필터, 오프셋 보정부, ALF 등을 포함할 수 있다.The filtering unit according to embodiments may perform filtering on the reconstructed geometric information. The filtering unit may include a deblocking filter, an offset correction unit, and an ALF.
실시예들에 따른 메모리는 필터링부를 통해 산출된 기하정보를 저장할 수 있다. 저장된 기하정보는 예측을 수행 시 기하정보 예측부에 제공될 수 있다.The memory according to embodiments may store geometric information calculated through a filtering unit. The stored geometric information may be provided to the geometric information prediction unit when performing prediction.
도32는 실시예들에 따른 속성정보 인코더의 예시를 나타낸다.32 shows an example of an attribute information encoder according to embodiments.
실시예들에 따른 속성정보 인코더의 상세 동작은 상술한 바와 같다.The detailed operation of the attribute information encoder according to the embodiments is as described above.
실시예들에 따른 속성정보 인코더는 실시예들에 따른 각 구성요소를 포함할 수 있다. 각 구성요소는 하드웨어, 소프트웨어, 프로세서 및/또는 그것들의 조합에 대응될 수 있다.The attribute information encoder according to the embodiments may include each component according to the embodiments. Each component may correspond to hardware, software, processor, and/or a combination thereof.
속성특성변환부(32000)(또는 속성특성변환기)는 속성정보를 수신하고, 속성정보의 특성을 변환한다.The attribute characteristic conversion unit 32000 (or attribute characteristic converter) receives attribute information and converts the attribute of the attribute information.
기하정보 맵핑부(32001)(또는 기하정보 맵퍼)는 복원된 기하정보에 기반하여 속성정보에 대해 기하정보를 맵핑한다.The geometric information mapping unit 32001 (or geometric information mapper) maps geometric information to attribute information based on the restored geometric information.
속성정보 변환부(32002)(또는 속성정보 변환기)는 속성정보를 변환한다.The attribute information conversion unit 32002 (or attribute information converter) converts attribute information.
속성정보 양자화부(32003)(또는 속성정보 양자화기)는 속성정보를 양자화한다.The attribute information quantization unit 32003 (or attribute information quantizer) quantizes attribute information.
속성정보 엔트로피 부호화부(32004)(또는 속성정보 엔트로피 부호화기)는 속성정보를 엔트로피 부호화하여 속성정보 비트스트림을 생성한다.The attribute information entropy encoding unit 32004 (or attribute information entropy encoder) entropy-encodes attribute information to generate an attribute information bitstream.
실시예들에 따른PCC 부호화기(포인트 클라우드 데이터 인코더, 인코딩 및/또는 송신 방법/장치)는 기하정보 부호화기와 속성정보 부호화기로 구성될 수 있다. 실시예들에 따른속성정보 부호화기는 도면의 다이어그램과 같은 과정을 수행하여 속성정보 비트스트림을 생성할 수 있다.The PCC encoder (point cloud data encoder, encoding and/or transmission method/apparatus) according to the embodiments may include a geometry information encoder and a property information encoder. The attribute information encoder according to the embodiments may generate the attribute information bitstream by performing a process similar to that of the diagram in the drawing.
실시예들에 따른속성정보 부호화기는 속성특성 변환부, 기하정보 맵핑부, 변환부, 양자화부, 엔트로피 부호화부, 역양자화부, 역변환부, 메모리, 속성정보 예측부 등을 포함할 수 있다. The attribute information encoder according to the embodiments includes an attribute characteristic transformation unit, a geometric information mapping unit, a transformation unit, a quantization unit, an entropy encoding unit, an inverse quantization unit, an inverse transformation unit, a memory, an attribute information prediction unit, etc. Can include.
실시예들에 따른 색상변환처리부는 실시예들에 따른속성정보 부호화기의 속성정보 변환부에 해당하며, 속성 변환 처리부는 실시예들에 따른기하정보 맵핑부에 해당한다. 실시예들에 따른 예측/리프팅/RAHT 변환 처리부가 실시예들에 따른 속성정보 예측부, 전차속성정보 변환부, 잔차속성정보 양자화부로 분리되어 표현한다. 실시예들에 따른Arithmetic 코더는 실시예들에 따른 속성정보 엔트로피 부호화부에 해당한다. 상세내용 이하에서 설명한다.The color conversion processing unit according to the embodiments corresponds to the attribute information conversion unit of the attribute information encoder according to the embodiments, and the attribute conversion processing unit corresponds to the geometric information mapping unit according to the embodiments. The prediction/lifting/RAHT conversion processing unit according to the embodiments separates and expresses the attribute information prediction unit, the vehicle attribute information conversion unit, and the residual attribute information quantization unit according to the embodiments. The Arithmetic coder according to the embodiments corresponds to the attribute information entropy encoding unit according to the embodiments. Details will be described below.
실시예들에 따른 속성특성 변환부는 입력 받은 속성정보의 특성을 변환할 수 있다. 예를들어 속성 정보가 색상 정보를 포함하고 있다면 속성 특성 변환부에서는 속성정보의 색공간을 변환 할 수 있다. 변환된 속성정보는 기하정보 맵핑부로 입력 될 수 있다. 또는 변환하지 않고 기하정보 맵핑부로 입력될 수 있다.The attribute characteristic conversion unit according to embodiments may convert a characteristic of the received attribute information. For example, if the attribute information includes color information, the attribute characteristic conversion unit may convert the color space of the attribute information. The converted attribute information may be input to the geometric information mapping unit. Alternatively, it may be input to the geometric information mapping unit without conversion.
실시예들에 따른 기하정보 맵핑부는 속성정보 변환부로부터 입력 받은 속성 정보와 입력 받은 복원된 기하정보를 맵핑을 수행하여 속성 정보를 재구성한다. 속성정보 재구성은 복원된 기하정보를 기준으로 하나 또는 다수개의 포인트의 속성정보를 기초로 속성 값을 유도 할 수 있다. 재구성된 속성정보는 속성정보 예측부에서 생성된 예측된 속성정보와 차분하여 잔차속성정보 변환부로 입력될 수 있다. The geometric information mapping unit according to embodiments maps the attribute information received from the attribute information conversion unit and the received restored geometric information to reconstruct attribute information. The attribute information reconstruction may derive an attribute value based on attribute information of one or a plurality of points based on the restored geometric information. The reconstructed attribute information may be input to the residual attribute information conversion unit by being differentiated from the predicted attribute information generated by the attribute information prediction unit.
실시예들에 따른 잔차속성정보 변환부는 입력 받은 잔차속성정보를 포함한 잔차 3차원 블록을 DCT, DST, DST, SADCT, RAHT 등과 같은 변환 타입을 사용하여 변환시킬 수있다. 변환된 잔차속성정보는 잔차속성정보 양자화부로 입력 될 수 있다. 또는 변환을 수행하지 않고 잔차속성정보 양자화부로 입력 될 수 있다. 변환 타입은 엔트로피 부호화부에서 엔트로피 부호화를 수행하여 복호화기로 전송 할 수 있다. The residual attribute information conversion unit according to embodiments may convert a residual 3D block including the received residual attribute information using a transformation type such as DCT, DST, DST, SADCT, RAHT, or the like. The converted residual attribute information may be input to the residual attribute information quantization unit. Alternatively, the residual attribute information may be input to the quantization unit without performing transformation. The transformation type may be transmitted to a decoder by performing entropy encoding in an entropy encoder.
실시예들에 따른 잔차속성정보 양자화부는 입력 받은 변환된 잔차속성정보를 양자화 값을 기초로 변환양자화된 잔차속성정보를 생성한다. 변환양자화된 잔차속성정보는 속성정보 엔트로피 부호화부와 잔차속성 역양자화부로 입력될 수 있다.The residual attribute information quantization unit according to embodiments generates transform quantized residual attribute information based on the quantized value of the received transformed residual attribute information. The transform quantized residual attribute information may be input to the attribute information entropy encoding unit and the residual attribute inverse quantization unit.
실시예들에 따른 속성정보 엔트로피 부호화부는 변환양자화된 잔차속성정보를 입력 받아 엔트로피 부호화를 수행 할 수 있다. 엔트로피 부호화는 예를 들어, 지수 골롬(Exponential Golomb), CAVLC(Context-Adaptive Variable Length Coding), CABAC(Context-Adaptive Binary Arithmetic Coding)과 같은 다양한 부호화 방법을 사용할 수 있다.The attribute information entropy encoder according to embodiments may receive transform quantized residual attribute information and perform entropy encoding. Entropy coding may use various coding methods such as Exponential Golomb, Context-Adaptive Variable Length Coding (CAVLC), and Context-Adaptive Binary Arithmetic Coding (CABAC).
실시예들에 따른 잔차속성 역양자화부는 입력받은 변환양자화된 잔차속성정보를 입력받아 양자화 값을 기초로 변환 잔차속성정보를 생성한다. 생성된 변환 잔차속성정보는 잔차속성 역변환부로 입력될 수 있다.The residual attribute inverse quantization unit according to embodiments receives transformed quantized residual attribute information and generates transformed residual attribute information based on a quantization value. The generated transform residual attribute information may be input to a residual attribute inverse transform unit.
실시예들에 따른 잔차속성 역변환부는 입력받은 변환 잔차속성정보를 포함한 잔차 3차원 블록을 DCT, DST, DST, SADCT, RAHT 등과 같은 변환 타입을 사용하여 역변환시킬 수 있다. 역변환된 잔차속성 정보는 속성정보 예측부로 부터 입력 받은 예측 속성정보와 합하여 복원된 속성정보를 생성할 수 있다. 또는 역변환를 하지 않고 바로 예측 속성정보와 합하여 복원된 속성정보를 생성 할 수 있다. The inverse residual attribute transform unit according to the embodiments may inverse transform a residual 3D block including the received transform residual attribute information using a transform type such as DCT, DST, DST, SADCT, RAHT, or the like. The inversely transformed residual attribute information may be combined with predicted attribute information input from the attribute information predictor to generate restored attribute information. Alternatively, the reconstructed attribute information can be generated by directly adding the predicted attribute information without performing inverse transformation.
실시예들에 따른 필터링부는 디블록킹 필터, 오프셋 보정부, ALF(Adaptive Loop Filter) 등을 포함할 수 있다. 필터링부는 복원된 속성정보에 필터링을 수행할 수 있다. 필터링은 속성정보(RGB 등)대신 기하정보 (XYZ)에 대한 필터링으로 필터링 알고리즘은 입력만 다를 뿐 그대로 사용할 수 있다. The filtering unit according to embodiments may include a deblocking filter, an offset correction unit, an adaptive loop filter (ALF), and the like. The filtering unit may perform filtering on the restored attribute information. Filtering is filtering on geometric information (XYZ) instead of attribute information (RGB, etc.). The filtering algorithm can be used as it is, only the input is different.
실시예들에 따른 메모리는 필터링부를 통해 산출된 속성정보를 저장할 수 있다. 저장된 속성정보는 예측을 수행 시 속성정보 예측부에 제공될 수 있다.The memory according to the embodiments may store attribute information calculated through the filtering unit. The stored attribute information may be provided to the attribute information predictor when performing prediction.
실시예들에 따른 속성정보 예측부는 메모리의 포인트들의 속성정보를 기초로 예측 속성정보를 생성한다. 예측 정보는 엔트로피 부호화를 수행하여 예측 정보를 부호화 할 수 있다. The attribute information predictor according to embodiments generates predicted attribute information based on attribute information of points in a memory. The prediction information may be encoded by performing entropy encoding.
도33은 실시예들에 따른 PCC 디코더의 예시를 나타낸다.33 shows an example of a PCC decoder according to embodiments.
실시예들에 따른 PCC 디코더는 실시예들에 따른 각 구성요소를 포함한다. 각 구성요소는 하드웨어, 소프트웨어, 프로세서 및/또는 그것들의 조합에 대응될 수 있다.The PCC decoder according to the embodiments includes each component according to the embodiments. Each component may correspond to hardware, software, processor, and/or a combination thereof.
기하정보 복호화부(33000)(또는 기하정보 복호화기)는 기하정보 비트스트림을 수신하고, 기하정보를 복호화하여 복원된 PCC데이터 및/또는 복원된 기하정보를 생성한다.The geometry information decoding unit 33000 (or geometry information decoder) receives the geometry information bitstream, decodes the geometry information, and generates recovered PCC data and/or recovered geometry information.
속성정보 복호화부(33001)(또는 속성정보 복호화기)는 기하정보 비트스트림을 수신하고 복원된 기하정보에 기반하여 속성정보를 복호화하여 복원된 PCC 데이터를 생성한다.The attribute information decoding unit 33001 (or attribute information decoder) receives the geometry information bitstream, decodes attribute information based on the restored geometry information, and generates recovered PCC data.
실시예들에 따른 PCC 복호화(포인트 클라우드 데이터 디코더, 디코딩, 수신 방법/장치)는 PCC 복호화기에서 도면의 다이어그램과 같은 과정을 수행할 수 있다.PCC decoding (point cloud data decoder, decoding, reception method/apparatus) according to embodiments may perform a process similar to the diagram of the diagram in the PCC decoder.
실시예들에 따른 PCC 복호화기는 기하정보 복호화기, 속성정보 복호화기를 포함 할 수 있다.The PCC decoder according to embodiments may include a geometric information decoder and an attribute information decoder.
실시예들에 따른 공간 분할부는 부호화기로부터 제공된 또는 복호화기에서 유도된 분할 정보를 기초로 공간을 분할할 수 있다.The spatial division unit according to embodiments may divide a space based on division information provided from an encoder or derived from a decoder.
실시예들에 따른 기하정보 복호화기는 입력 받은 기하정보 비트스트림을 복호화하여 기하정보를 복원한다. 복원된 기하정보는 속성정보 복호화기로 입력 될 수 있다. The geometry information decoder according to embodiments restores geometry information by decoding an input geometry information bitstream. The restored geometric information may be input to the attribute information decoder.
실시예들에 따른 속성정보 복호화기는 입력받은 속성정보 비트스트림과 기하정보 복호화기로부터 입력 받은 복원된 기하정보를 입력 받아 속성정보를 복원한다. 복원된 속성정보는 복원된 기하정보와 함께 복원된 PCC 데이터로 구성 될 수 있다. The attribute information decoder according to embodiments receives the received attribute information bitstream and restored geometric information received from the geometry information decoder and restores attribute information. The restored attribute information may consist of restored PCC data together with the restored geometric information.
도34는 실시예들에 따른 기하정보 디코더의 예시를 나타낸다.34 shows an example of a geometric information decoder according to embodiments.
실시예들에 따른 기하정보 디코더는 실시예들에 따른 각 구성요소를 포함하한다. 각 구성요소는 하드웨어, 소프트웨어, 프로세서 및/또는 그것들의 조합에 대응될 수 있다.The geometric information decoder according to the embodiments includes each component according to the embodiments. Each component may correspond to hardware, software, processor, and/or a combination thereof.
기하정보 엔트로피 복호화부(34000)(또는 기하정보 엔트로피 복호화기)는 기하정보 비트스트림을 수신하고, 기하정보를 엔트로피 복호화한다.A geometric information entropy decoder 34000 (or a geometric information entropy decoder) receives a geometric information bitstream and entropy decodes the geometric information.
잔차기하정보 역양자화부(34001)(또는 잔차기하정보 역양자화기)는 잔차기하정보를 역양자화한다.The residual geometric information inverse quantization unit 34001 (or the residual geometric information inverse quantizer) inverse quantizes the residual geometric information.
기하정보 예측부(34002)(또는 기하정보 예측기)는 메모리에 저장된 기하정보에 기반하여 기하정보를 예측한다.The geometric information predictor 3402 (or geometric information predictor) predicts geometric information based on the geometric information stored in the memory.
필터링부(34003)(또는 필터)는 예측된 기하정보 및 잔차기하정보를 합산한 데이터를 필터링한다.The filtering unit 34403 (or filter) filters data obtained by summing the predicted geometric information and residual geometric information.
메모리(34004)는 기하정보를 저장한다.The memory 34004 stores geometric information.
좌표계 역변환부(34005)(또는 좌표계 역변환기)는 기하정보의 좌표계를 역변환하여 기하정보를 생성한다.The coordinate system inverse transform unit 3405 (or coordinate system inverse transform unit) generates geometric information by inversely transforming the coordinate system of the geometric information.
실시예들에 따른 PCC 복호화기는 기하정보 복호화기와 속성정보 복호화기로 구성될 수 있다. 기하정보 복호화기는 부호화된 기하정보 비트스트림을 입력 받아서 도면의 다이어그램과 같은 과정을 수행하여 기하정보로 복원할 수 있다The PCC decoder according to embodiments may include a geometry information decoder and an attribute information decoder. The geometry information decoder can receive the encoded geometry information bitstream and perform the same process as in the diagram in the drawing to restore the geometry information.
실시예들에 따른 기하정보 복호화기는 기하정보 엔트로피 복호화부, 잔차 기하정보 역양자화부, 기하정보 예측부, 좌표계 역변환부가 포함될 수 있다. The geometry information decoder according to embodiments may include a geometry information entropy decoding unit, a residual geometry information inverse quantization unit, a geometry information prediction unit, and an inverse coordinate system transform unit.
실시예들에 따른 Arithmetic 디코더는 실시예들에 따른 기하정보 복호화기 기하정보 엔트로피 복호화부에 해당하며, Occupancy 코드 기반 옥트기 재구성 처리부와 표면 모델 처리부, Inverse 양자화 처리부는 실시예들에 따른 잔차 기하정보 역양자화부에 해당한다. The Arithmetic decoder according to the embodiments corresponds to the geometric information decoder according to the embodiments, the geometric information entropy decoding unit, and the oct group reconstruction processing unit based on the occupancy code, the surface model processing unit, and the inverse quantization processing unit It corresponds to the inverse quantization part.
실시예들에 따른 기하정보 엔트로피 복호화부는 입력 비트스트림에 대해 엔트로피 복호화를 수행할 수 있다. 예를 들어, 엔트로피 복호화를 위해, 지수 골롬(Exponential Golomb), CAVLC(Context-Adaptive Variable Length Coding), CABAC(Context-Adaptive Binary Arithmetic Coding)과 같은 다양한 방법이 적용될 수 있다. 기하정보 엔트로피 복호화부에서는 부호화 장치에서 수행된 기하정보 예측에 관련된 정보를 복호화할 수 있다. 엔트로피 복호화를 통해 생성된 양자화된 잔차 기하정보는 잔차기하정보 역양자화부로 입력 될 수 있다. The geometric information entropy decoder according to embodiments may perform entropy decoding on an input bitstream. For example, for entropy decoding, various methods such as Exponential Golomb, Context-Adaptive Variable Length Coding (CAVLC), and Context-Adaptive Binary Arithmetic Coding (CABAC) may be applied. The geometric information entropy decoder may decode information related to geometric information prediction performed by the encoding apparatus. Quantized residual geometric information generated through entropy decoding may be input to the residual geometric information inverse quantization unit.
실시예들에 따른 잔차 기하정보 역양자화부는 양자화 파라미터와 입력 받은 양자화된 잔차 기하정보를 기초로 역양자화를 수행하여 잔차 기하정보를 생성 할 수 있다. The residual geometric information inverse quantization unit according to embodiments may generate residual geometric information by performing inverse quantization based on a quantization parameter and the received quantized residual geometric information.
실시예들에 따른 기하정보 예측부는 기하정보 엔트로피 복호화부에서 제공된 예측 기하정보 생성 관련 정보와 메모리에서 제공된 이전에 복호화된 기하정보를 기초로 예측 기하정보를 생성할 수 있다. 기하정보 예측부는 인터 예측부 및 인트라 예측부를 포함할 수 있다. 인터 예측부는 부호화 장치에서 제공된 현재 예측 단위의 인터 예측에 필요한 정보를 이용하여, 현재 예측 단위가 포함된 현재 공간의 이전 공간 또는 이후 공간 중 적어도 하나의 공간에 포함된 정보를 기초로 현재 예측 단위에 대한 인터 예측을 수행할 수 있다. 인트라 예측부는 현재 공간 내의 포인트의 기하정보를 기초로 예측 기하정보를 생성할 수 있다. 예측 단위가 인트라 예측을 수행한 경우, 부호화 장치에서 제공된 예측 단위의 인트라 예측 모드 정보를 기초로, 인트라 예측을 수행할 수 있다. 예측 기하정보에 복원 잔차 기하정보를 더하여 복원 기하정보를 생성할 수 있다.The geometric information prediction unit according to embodiments may generate predicted geometric information based on information related to generation of predicted geometric information provided from the geometric information entropy decoder and previously decoded geometric information provided from a memory. The geometric information prediction unit may include an inter prediction unit and an intra prediction unit. The inter prediction unit uses information required for inter prediction of the current prediction unit provided by the encoding device, and determines the current prediction unit based on information included in at least one of a space before or after the current space including the current prediction unit. Inter prediction can be performed. The intra prediction unit may generate predicted geometric information based on geometric information of a point in the current space. When the prediction unit performs intra prediction, intra prediction may be performed based on intra prediction mode information of the prediction unit provided by the encoding device. The reconstructed geometric information may be generated by adding the reconstructed residual geometric information to the predicted geometric information.
실시예들에 따른 복원 기하정보는 필터링부로 제공될 수 있다. 필터링부는 복호화부에서 제공된 필터링 관련 정보 또는 복호화기에서 유도된 복원 기하정보의 특성을 기초로 필터링을 수행할 수 있다.The reconstructed geometric information according to the embodiments may be provided to the filtering unit. The filtering unit may perform filtering based on the filtering-related information provided from the decoder or the characteristics of the reconstructed geometric information derived from the decoder.
실시예들에 따른 메모리는 필터링부를 통해 산출된 복원 기하정보를 저장할 수 있다.The memory according to embodiments may store the reconstructed geometric information calculated through the filtering unit.
실시예들에 따른 좌표계 역변환부는 기하정보 엔트로피 복호화부에서 제공된 좌표계 변환 관련 정보와 메모리에 저장된 복원된 기하정보를 기초로 좌표계 역변환을 수행 할 수 있다. The inverse coordinate system transform unit according to embodiments may perform inverse coordinate system transformation based on information related to coordinate system transformation provided from the geometric information entropy decoding unit and restored geometric information stored in a memory.
도35는 실시예들에 따른 속성정보 디코더의 예시를 나타낸다.35 shows an example of an attribute information decoder according to embodiments.
실시예들에 따른 속성정보 디코더의 실시예들에 따른 각 구성요소는 다음과 같다. 각 구성요소는 하드웨어, 소프트웨어, 프로세서 및/또는 그것들의 조합에 대응될 수 있다.Each component according to embodiments of the attribute information decoder according to the embodiments is as follows. Each component may correspond to hardware, software, processor, and/or a combination thereof.
속성정보 엔트로피 복호화부(35000)(또는 속성정보 엔트포리 복호화기)는 속성정보 비트스트림을 수신하고, 속성정보를 엔트로피 복호화한다.The attribute information entropy decoder 35000 (or attribute information entropy decoder) receives the attribute information bitstream and entropy decodes the attribute information.
기하정보 맵핑부(35001)(또는 기하정보 맵퍼)는 복원된 기하정보에 기반하여 속성정보에 대해 기하정보를 맵핑한다.The geometric information mapping unit 35001 (or geometric information mapper) maps geometric information to attribute information based on the restored geometric information.
잔차속성정보 역양자화부(35002)(또는 잔차속성정보 역양자화기)는 잔차속성정보를 역양자화한다.The residual attribute information inverse quantization unit 35002 (or residual attribute information inverse quantizer) inverse quantizes the residual attribute information.
잔차속성정보 역변환부(35003(또는 잔차속성정보 역변환기)는 잔차속성정보를 역변환한다.The residual attribute information inverse transform unit 35003 (or residual attribute information inverse transform unit) inversely transforms the residual attribute information.
속성정보 예측부(35004)(또는 속성정보 예츠기)는 메모리에 기반하여 속성정보를 예측한다.The attribute information prediction unit 35004 (or attribute information Yetsugi) predicts attribute information based on the memory.
메모리(35005)는 속성정보, 속성정보 및/또는 예측된 속성정보의 합산한 데이터를 저장한다.The memory 35005 stores attribute information, attribute information, and/or data obtained by adding up predicted attribute information.
속성정보 역변환부(35006)(또는 속성정보 역변환기)는 속성정보를 역변환하여 속성정보를 생성한다.The attribute information inverse transform unit 35006 (or attribute information inverse transform unit) generates attribute information by inversely transforming attribute information.
실시예들에 따른 PCC 복호화기(포인트 클라우드 디코더, 디코딩, 수신 방법/장치)는 기하정보 복호화기와 속성정보 복호화기로 구성될 수 있다. 속성정보 복호화기는 부호화된 속성정보 비트스트림을 입력 받아서 도면의 다이어그램과 같은 과정을 수행하여 속성정보로 복원할 수 있다. The PCC decoder (point cloud decoder, decoding, reception method/apparatus) according to the embodiments may include a geometry information decoder and an attribute information decoder. The attribute information decoder may receive the encoded attribute information bitstream and restore the attribute information by performing a process similar to the diagram of the drawing.
실시예들에 따른 속성정보 복호화기는 속성정보 엔트로피 복호화부, 기하정보 맵핑부, 잔차 속성정보 역양자화부, 잔차 속성정보 역변환부, 속성정보 예측부, 메모리, 속성정보 역변환부를 포함 할 수 있다. The attribute information decoder according to the embodiments may include an attribute information entropy decoding unit, a geometric information mapping unit, a residual attribute information inverse quantization unit, a residual attribute information inverse transformation unit, an attribute information prediction unit, a memory, and an attribute information inverse transformation unit.
실시예들에 따른 Arithmetic 디코더는 실시예들에 따른 속성정보 복호화기 속성정보 엔트로피 복호화부에 해당하며, Inverse 양자화 처리부는 실시예들에 따른 잔차 속성정보 역양자화부에 해당한다. 실시예들에 따른 예측/리프팅/RAHT 역변환 처리부는 잔차 속성 정보 역변환부와 속성 정보 예측부로 분할 표기 되었으며, 색상 역변환 처리부는 실시예들에 따른 속성정보 역변환부에 해당한다. The Arithmetic decoder according to the embodiments corresponds to the attribute information decoder attribute information entropy decoding unit according to the embodiments, and the inverse quantization processor corresponds to the residual attribute information inverse quantization unit according to the embodiments. The prediction/lifting/RAHT inverse transform processing unit according to the embodiments is divided into a residual attribute information inverse transform unit and an attribute information prediction unit, and the color inverse transform processing unit corresponds to the attribute information inverse transform unit according to the embodiments.
실시예들에 따른 속성정보 엔트로피 복호화 부는 입력 받은 속성 정보 비트스트림을 엔트로피 복호화 하여 변환양자화된 속성정보를 생성할 수 있다. 생성된 변환양자화된 속성정보는 기하정보 맵핑부로 입력 될 수 있다.The attribute information entropy decoding unit according to the embodiments may entropy-decode the received attribute information bitstream to generate transformed quantized attribute information. The generated transformed quantized attribute information may be input to the geometric information mapping unit.
실시예들에 따른 기하정보 맵핑부는 속성정보 엔트로피 복호화부로부터 입력 받은 변환양자화된 속성정보와 입력 받은 복원된 기하정보를 맵핑한다. 기하정보에 맵핑된 속성정보는 잔차 속성정보 역양자화부로 입력될 수 있다. The geometric information mapping unit according to embodiments maps the transformed quantized attribute information received from the attribute information entropy decoding unit and the received restored geometric information. The attribute information mapped to the geometric information may be input to the residual attribute information inverse quantization unit.
실시예들에 따른 잔차속성정보 역양자화부는 입력 받은 변환양자화된 속성정보를 양자화 값을 기초로 역양자화를수행한다. 역양자화된 변환 잔차속성정보는 잔차 속성정보 역변환부로 입력될 수 있다. The residual attribute information inverse quantization unit according to embodiments performs inverse quantization on the received transformed quantized attribute information based on a quantization value. The inverse quantized transform residual attribute information may be input to the residual attribute information inverse transform unit.
실시예들에 따른 잔차 속성정보 역변환부는 입력 받은 변환 잔차속성정보를 포함한 잔차 3차원 블록을 DCT, DST, DST, SADCT, RAHT 등과 같은 변환 타입을 사용하여 역변환시킬 수있다. 역변환된 잔차속성정보는 속성정보 예측 부로부터 생성된 예측 속성정보와 합하여 메모리에 저장될 수 있다. 또는 역변환을 수행하지 않고 예측 속성정보와 합하여 메모리에 저장될 수 있다. The residual attribute information inverse transform unit according to embodiments may inversely transform a residual 3D block including the received transform residual attribute information using a transform type such as DCT, DST, DST, SADCT, RAHT, and the like. The inversely transformed residual attribute information may be combined with predicted attribute information generated from the attribute information prediction unit and stored in a memory. Alternatively, it may be stored in a memory by adding prediction attribute information without performing inverse transformation.
실시예들에 따른 속성정보 예측부는 메모리의 포인트들의 속성정보를 기초로 예측 속성정보를 생성한다. 예측 정보는 엔트로피 복호화를 수행하여 얻을 수 있다.The attribute information predictor according to embodiments generates predicted attribute information based on attribute information of points in a memory. The prediction information can be obtained by performing entropy decoding.
실시예들에 따른 속성정보 역변환부는 엔트로피 복호화부로부터 속성 정보의 유형과 변환 정보를 제공받아 RGB-YUV, RGB-YUV등 다양한 색공간 역변환을 수행할 수 있다. The attribute information inverse transform unit according to embodiments may receive a type of attribute information and transformation information from the entropy decoder and perform various color space inverse transformations such as RGB-YUV and RGB-YUV.
도36은 실시예들에 따른 이웃 포인트 집합 생성부를 포함하는 포인트 클라우드 데이터 송신 장치/방법, 수신 장치/방법의 예시를 나타낸다.36 illustrates an example of a point cloud data transmission apparatus/method and a reception apparatus/method including a neighbor point set generator according to embodiments.
실시예들에 따른 속성정보 인코더, 속성정보 디코더의 구성을 나타내고, 각 상세 동작은 상술한 바와 같다.The configuration of the attribute information encoder and the attribute information decoder according to the embodiments are shown, and detailed operations are as described above.
실시예들에 따른 속성정보 인코더 및/또는 속성정보 디코더는 속성정보 예측부를 포함할 수 있고, 속성정보 예측부의 상세 동작은 상술한 바와 같다.The attribute information encoder and/or the attribute information decoder according to embodiments may include an attribute information predictor, and detailed operations of the attribute information predictor are as described above.
실시예들에 따른 이웃 포인트 집합 생성부는 속성정보 예측부에 포함되어 있고, 송신단/수신단에 모두 포함될 수 있다.The neighboring point set generation unit according to the embodiments is included in the attribute information prediction unit, and may be included in both the transmitting end and the receiving end.
실시예들에 따른 3차원 포인트 클라우드(point cloud) 데이터 압축을 위한 Geometry-based Point Cloud Compression (G-PCC)의 인코더(부호화기)/디코더(복호화기)(또는 송신 방법/장치 및 수신 방법/장치)의 속성 압축 효율을 높이기 위한 방안으로 유사 속성에 기반한 이웃 포인트 집합을 생성하는 방안을 제공하였다. Geometry-based Point Cloud Compression (G-PCC) encoder (encoder)/decoder (decoder) (or transmission method/device and receiving method/device) for compressing 3D point cloud data according to embodiments ), a method of generating a set of neighboring points based on similar properties is provided as a way to increase the compression efficiency of the properties of ).
이로써 실시예들은 3차원 포인트 클라우드(point cloud) 데이터 압축을 위한 Geometry-based Point Cloud Compression (G-PCC)의 인코더(부호화기)/디코더(복호화기)의 속성 압축 효율을 높여서 보다 높은 복원률을 제공하는 포인트 클라우드 콘텐츠 스트림을 제공할 수 있다. Accordingly, the embodiments provide a higher recovery rate by increasing the attribute compression efficiency of the encoder (encoder)/decoder (decoder) of Geometry-based Point Cloud Compression (G-PCC) for compressing 3D point cloud data. Point cloud content streams can be provided.
본 문서의 실시예들에 따른 PCC 부호화기(송신 방법/장치) 또는 PCC 복호화기(수신 방법/장치)는 이웃 포인트 집합을 생성하고, 이를 위한 시그널링 정보를 사용하여 속성 압축 효율을 높일 수 있다.A PCC encoder (transmission method/apparatus) or a PCC decoder (receiving method/apparatus) according to the embodiments of the present document may generate a set of neighboring points and increase attribute compression efficiency by using signaling information for this.
도37은 실시예들에 따른 속성정보예측부 및/또는 이웃정보 변환부를 나타낸다.37 illustrates an attribute information prediction unit and/or a neighbor information conversion unit according to embodiments.
실시예들에 따른 속성정보 예측부(37000) 및/또는 이웃정보 변환부(37001)는 실시예들에 따른 방법/장치와 결합될 수 있다.The attribute information prediction unit 37000 and/or the neighbor information conversion unit 37001 according to the embodiments may be combined with a method/device according to the embodiments.
실시예들은 3차원 포인트 클라우드(point cloud) 데이터 압축을 위한 Geometry-based Point Cloud Compression (G-PCC)의 속성(attributes)의 압축 효율을 높이기 위한 방안에 관한 것이다. The embodiments relate to a method for increasing compression efficiency of attributes of Geometry-based Point Cloud Compression (G-PCC) for compressing 3D point cloud data.
이하 인코더(encoder), 부호화기는 부호화기로 디코더(decoder), 복호화기는 복호화기로 지칭한다. 실시예들에 따른 방법/장치는 포인트 클라우드 데이터 송신 방법/장치, 수신 방법/장치를 지칭할 수 있다.Hereinafter, an encoder and an encoder are referred to as an encoder, and a decoder and a decoder are referred to as a decoder. The method/device according to the embodiments may refer to a method/device for transmitting point cloud data and a method/device for receiving data.
실시예들은 G-PCC 속성 부호화/복호화 과정에 속성 압축 효율을 높이기 위해 유사 속성 기반 이웃 포인트 집합 생성 방식을 적용 시, 속성을 예측하고 부호화/복호화하는 방안을 제안한다. Embodiments propose a method of predicting an attribute and encoding/decoding when applying a neighboring point set generation method based on a similar attribute to increase attribute compression efficiency in a G-PCC attribute encoding/decoding process.
실시예들은 다음 방법을 포함한다. 예를 들어, 유사 속성 기반 이웃 포인트 집합으로부터 속성 예측 방법, 예측에 적용된 유사 속성 기반 이웃 포인트에 대한 추가 정보값 시그널링 방법, 그리고 위 2가지 방법을 지원하기 위한 시그널링 방안을 포함할 수 있다.Examples include the following method. For example, a method for predicting an attribute from a set of similar attributes-based neighbor points, a method for signaling additional information values for neighbor points based on similar attributes applied to prediction, and a signaling method for supporting the above two methods may be included.
실시예들은 앞서 설명한 단계 ②에서 이웃 포인트 집합의 구성을 유사 속성 기반으로(예를 들어, 거리 기반이 아닌) 생성 한 경우, 변경되어야 하는 단계 ③과 ④예를 들어, 가중치 및 예측기도 거리 기반이 아닌 속성 기반에 따라 변경됨)에 관한 방법이다. 단계 ③과 ④는 이웃 포인트들의 속성 가중치 및 가중치에 따른 정규화 방법과 예측기를 통한 속성 예측 방법으로 송신기와 수신기 모두에 적용될 수 있다. In the embodiments, when the configuration of a set of neighboring points is generated based on similar properties (for example, not based on distance) in step ② described above, steps ③ and ④ to be changed, for example, weights and predictors are also based on distance. It is a method of changing according to the attribute base). Steps ③ and ④ can be applied to both the transmitter and the receiver as a normalization method according to the attribute weights and weights of neighboring points and an attribute prediction method through a predictor.
이웃 포인트 집합의 구성은 이웃 포인트들을 기반으로 속성 값을 예측하고, 예측값과의 잔차를 부호화하여 시그널링 하기 때문에 어떤 기준으로 이웃 포인트 집합을 구성하느냐에 따라 예측값이 달라지고, 잔차값의 크기가 달라질 수 있다. 따라서 이웃 포인트 집합 구성 방법은 포인트 클라우드의 속성 압축 효율에 큰 영향을 줄 수 있다. 예를 들어, 유사 속성 기반으로 레지듀얼을 계산하니 더 작은 값만 인코딩할 수 있는 장점이 있을 수 있다.Since the configuration of the neighboring point set predicts attribute values based on neighboring points and signals the residuals with the predicted values, the predicted values may vary depending on the criteria used to configure the neighboring point set and the size of the residual values may vary. . Therefore, the method of configuring a set of neighboring points can have a great influence on the attribute compression efficiency of the point cloud. For example, since residuals are calculated based on similar properties, there may be an advantage that only smaller values can be encoded.
포인트 클라우드의 지오메트리 기반 인접성(geometry-based nearby relationship)은 유사한 속성들을 가질 수 있는 확률이 높기 때문에 예측기에서 예측할 때 거리값에 기반하여 이웃 집합을 구성할 수 있지만, 포인트 클라우드 콘텐츠의 특성에 따라서 그러한 경향은 많이 다르게 나타날 수 있다. Since the point cloud's geometry-based nearby relationship has a high probability of having similar properties, it is possible to construct a neighboring set based on the distance value when predicted by the predictor, but such a tendency is based on the characteristics of the point cloud content. Can appear a lot differently.
3D 스캐너로 캡쳐된 포인트 클라우드는 이웃 포인트간의 거리가 상당이 작고 포인트들이 밀집된 형태로 캡쳐될 수 있다. 이 경우, 거리에 따른 유사한 속성이 있을 확률이 높을 수 있다. 그러나 모두 그런 것은 아니다. 캡쳐된 물체의 특성에 따라서 거리에 따른 유사 속성이 있는 확률은 달라질 수 있다. A point cloud captured by a 3D scanner has a relatively small distance between neighboring points and can be captured in a dense form. In this case, there may be a high probability of having similar properties according to distance. But not all. Depending on the characteristics of the captured object, the probability of having similar properties according to distance may vary.
LiDAR를 통해 캡쳐된 포인트 클라우드의 경우 이웃 포인트간의 거리가 상당히 클 수 있기때문에 해당 콘텐츠 내에서 포인트간의 지오메트리 기반 인접성이 높다고 판단될 지라도 실제 거리 차이가 클 수 있다. 이러한 경우, 거리 기반의 이웃 포인트 집합을 구성하고, 그 구성된 포인트들을 통해서 속성값을 예측한다는 것의 의미가 크지 않을 수 있다. In the case of a point cloud captured through LiDAR, since the distance between neighboring points can be quite large, the actual distance difference may be large even if it is determined that the geometric-based proximity between points within the corresponding content is high. In this case, the meaning of configuring a set of neighboring points based on a distance and predicting an attribute value through the configured points may not be significant.
실시예들은 콘텐츠의 특성에 따라 거리 기반의 이웃 포인트 집합 구성이 최적의 이웃 포인트들을 추출할 수 없는 경우에 대한 개선을 위해 유사 속성 기반으로 이웃 포인트 집합을 생성하는 경우, 변경되고 추가로 고려되어야 하는 시그널링 방안에 대한 제안이다. In the embodiments, in the case of generating a neighboring point set based on a similar attribute to improve the case in which the distance-based neighboring point set configuration cannot extract optimal neighboring points according to the characteristics of the content, it is changed and additionally considered. This is a proposal for a signaling scheme.
실시예들은 다음 방법에 대한 제안을 포함한다. 예를 들어, 유사 속성 기반 이웃 포인트 집합으로부터 속성 예측 방법, 예측에 적용된 유사 속성 기반 이웃 포인트에 대한 추가 정보값 시그널링 방법 및/또는 위 2가지 방법을 지원하기 위한 시그널링 방안이 있을 수 있다.The embodiments include a proposal for the following method. For example, there may be an attribute prediction method from a similar attribute-based neighbor point set, an additional information value signaling method for a similar attribute-based neighbor point applied to prediction, and/or a signaling method for supporting the above two methods.
실시예들 간 변경 및 결합이 가능하다. 실시예들의 설명에서 사용되는 용어는 해당 분야에서 널리 사용되는 범위 내에서, 용어의 의도된 의미에 근거하여 이해될 수 있다.Changes and combinations between the embodiments are possible. Terms used in the description of the embodiments may be understood based on the intended meaning of the term within a range widely used in the relevant field.
실시예들에 따른 방법/장치는 PCC 부호화기의 PCC 속성 부호화에서 유사 속성 기반으로 선택된 이웃 포인트 집합을 기반으로 속성을 예측하고 예측된 정보를 기반으로 잔차를 계산하여 부호화하고, 선택된 이웃 포인트의 추가 정보를 부호화할 수 있다. 실시예들에 따른 방법/장치는 PCC 복호화기의 PCC 속성 복호화에서 복호화 된 이웃 포인트의 추가 정보를 바탕으로 이웃 포인트 집합을 생성하고, 복호화 된 잔차값과 이전에 복호화 된 이웃 포인트 집합의 속성값을 더하여 포인트의 속성값을 복원할 수 있다. 예를 들어, 실시예들에 따른 이웃 포인트 생성은 실시예들에 따른 인코더/디코더에 모두 적용될 수 있다.The method/apparatus according to the embodiments predicts an attribute based on a set of neighboring points selected based on a similar attribute in PCC attribute encoding of a PCC encoder, calculates and encodes a residual based on the predicted information, and encodes additional information of the selected neighboring point. Can be encoded. The method/apparatus according to the embodiments generates a neighboring point set based on additional information of a neighboring point decoded in PCC attribute decoding of a PCC decoder, and calculates the decoded residual value and the attribute value of the previously decoded neighboring point set. In addition, the attribute value of the point can be restored. For example, generation of neighboring points according to embodiments may be applied to both encoders/decoders according to embodiments.
실시예들에 따른 방법/장치는 속성 부호화/복호화 과정에서 예측 변환 기법 또는 리프팅 변환 기법을 사용할 경우 LOD l 집합을 생성하고 생성된 LOD l 집합을 기반으로 예측기의 이웃 포인트 집합을 생성할 수 있다. The method/apparatus according to the embodiments may generate an LOD l set and generate a neighboring point set of the predictor based on the generated LOD l set when a predictive transform technique or a lifting transform technique is used in an attribute encoding/decoding process.
실시예들에 따른 방법/장치는 1) 몰톤 순서 기반 LOD 생성, 2) 유사 속성 기반 이웃 포인트 집합 생성, 3) 이웃 포인트 집합으로부터 속성 예측 방법, 3-1) 가중치 설정 방법, 4) 이웃 포인트 집합으로부터의 속성 예측 방법, 5) 예측에 적용된 이웃 포인트에 대한 추가 정보 시그널링 방법, 5-1) 이웃 포인트 개수, 5-2) 이웃 포인트에 대한 추가 정보, 6) 이웃 포인트에 대한 추가 정보 부호화 방법, 7) 속성 정보 예측부, 8) 이웃 정보 변화부/이웃 정보 역변환부, 9) 이러한 방법을 위한 시그널링 방안 등을 포함/수행할 수 있다. 실시예들에 따른 각 상세 동작은 이하에서 설명한다.The method/device according to the embodiments includes: 1) Molton order-based LOD generation, 2) Similar attribute-based neighbor point set generation, 3) Attribute prediction method from neighbor point set, 3-1) weight setting method, 4) neighbor point set Method, 5) additional information signaling method for neighboring points applied to prediction, 5-1) number of neighboring points, 5-2) additional information for neighboring points, 6) additional information encoding method for neighboring points, 7) attribute information prediction unit, 8) neighbor information change unit/neighbor information inverse transform unit, and 9) signaling scheme for this method may be included/performed. Each detailed operation according to the embodiments will be described below.
1) 몰톤 순서 기반 LOD 생성1) Molton order based LOD generation
실시예들에 따른 방법/장치는 포인트 클라우드의 포인트들을 x, y, z 위치 값을 기반으로 몰톤 코드로 변경하고, 변경된 몰톤 코드 값을 기반으로 정렬(AHN 오름차순)할 수 있다. 정렬된 포인트들을 기반으로 LOD가 생성되며, LODl 집합 내의 포인트들은 몰톤 순서 기반으로 정렬되어 있을 수 있다. 예를 들어, 거리 기반이 아닌 유사 속성 정보에 기반하여 이웃 포인트 결정하는 방법이 사용될 수 있다.The method/apparatus according to the embodiments may change points of a point cloud into a Molton code based on x, y, and z position values, and sort (Ahn ascending order) based on the changed Molton code value. LODs are generated based on the sorted points, and points in the LODl set may be sorted based on Molton order. For example, a method of determining a neighboring point based on similar attribute information rather than distance based may be used.
2) 유사 속성 기반 이웃 포인트 집합 생성2) Create a set of neighboring points based on similar properties
실시예들에 따른 방법/장치는 LOD l 집합에 속한 포인트 Px는 1) LOD 0 ~ LOD ㅣ-1 집합에 속한 포인트들, 2) LOD l 집합에 속한 포인트들 중에 정렬된 순서상 앞에 있는 포인트들로부터 속성이 유사한 이웃 포인트로 선택하여 Px 의 이웃 포인트 집합으로 설정할 수 있다. In the method/apparatus according to the embodiments, the points Px belonging to the LOD l set are 1) points belonging to the LOD 0 to LOD l-1 set, and 2) points in the ordered order among the points belonging to the LOD l set. It is possible to select a neighboring point with similar attributes from, and set it as a neighboring point set of Px.
3) 이웃 포인트 집합으로부터 속성 예측 방법3) Property prediction method from a set of neighboring points
실시예들에 따른 방법/장치는 Px를 부호화할때, Px의 이웃 포인트 집합이 구성되면, 집합 내의 이웃 포인트들의 속성값을 기반으로 Px의 속성값을 예측하고, 예측된 속성값과 Px 속성값의 잔차를 구하고, 잔차 값을 부호화해서 복호화기에 전송할 수 있다. 복호화기에서는 거리 기반 LOD 생성과 전송 받은 추가 정보를 통해 Px의 이웃 포인트 집합을 구성하고, 이웃 집합 내의 이웃 포인트들의 속성값을 기반으로 Px의 속성값을 예측하고, 전송받은 잔차값을 더해 Px의 속성값을 복원한다. 이웃 포인트 집합으로부터 속성을 예측하기 위한 방법은 거리 기반으로 이웃 포인트 집합을 설정했을 때와 유사 속성 기반으로 이웃 포인트 집합을 생성했을 때가 다른 방법으로 적용될 수 있다. When encoding Px, the method/apparatus according to the embodiments predicts the attribute value of Px based on the attribute values of the neighboring points in the set, and the predicted attribute value and the Px attribute value when a set of neighboring points of Px is configured. The residual of is obtained, the residual value is encoded and transmitted to a decoder. The decoder constructs a set of neighboring points of Px based on the generation of distance-based LOD and additional information received, predicts the attribute value of Px based on the attribute values of the neighboring points in the neighboring set, and adds the received residual value to the Px. Restore attribute values. A method for predicting a property from a set of neighboring points can be applied in different ways from when a set of neighboring points is set based on distance and when a set of neighboring points is generated based on similar properties.
3-1) 가중치 설정 방법3-1) Weight setting method
실시예들에 따른 방법/장치는 Px 의 이웃 포인트들의 속성들을 통해 Px 속성값을 예측하기 위해서 이웃 포인트와의 거리, 인덱스, 또는 몰톤 코드 차이를 기반으로 각 이웃 포인트들의 속성값에 가중치를 적용하고, Px의 속성값을 예측하는데 적용할 수 있다. The method/apparatus according to the embodiments applies a weight to the attribute value of each neighboring point based on the distance, index, or Molton code difference from the neighboring point in order to predict the Px attribute value through the attributes of the neighboring points of Px. , It can be applied to predict the attribute value of Px.
<거리 기반 가중치> <Distance based weight>
1 / 이웃 포인트와의 거리 값을 가중치로 설정할 수 있다. 1 / You can set the distance value to the neighboring point as a weight.
<몰톤 코드 기반 가중치> <Molton code based weight>
1 / 이웃 포인트와의 몰톤 코드 차이값을 가중치로 적용 할 수 있다.1 / The difference between the Molton code and the neighboring point can be applied as a weight.
<인덱스 기반 가중치> <Index-based weight>
1 / 이웃 포인트와의 인덱스 차이값을 가중치로 적용 할 수 있다. 인덱스는 전체 포인트들이 LOD에 따라 재정렬되었을때의 순서일 수 있다.1 / The index difference value with the neighboring point can be applied as a weight. The index may be the order when all points are rearranged according to LOD.
<가중치 없음> <No weight>
예를 들어, 유사 속성 기반에서 베스트 모드일 수 있다. 거리 기반 가중치가 들어가면 유사 속성에 왜곡 여지 있을 수 있다. 따라서, 실시예들에 따라 가중치를 적용하지 않을 수 있다.For example, it may be the best mode based on similar attributes. If distance-based weights are included, there may be room for distortion in similar properties. Therefore, weights may not be applied according to embodiments.
이러한 가중치 선택 방법은 콘텐츠 특성에 따라 다르게 선택/적용/복호기에 전송할 수 있다.This weight selection method may be differently selected/applied/transmitted to the decoder according to content characteristics.
4) 이웃 포인트 집합으로부터의 속성 예측 방법4) Property prediction method from neighboring point set
이웃 포인트들의 속성값을 기반으로 어떻게 속성값을 예측할 수 있는가에 관한 방법을 기술한다. Describes how to predict attribute values based on attribute values of neighboring points.
이러한 속성 예측 방법은 복호화기에 시그널링 될 수 있다. This attribute prediction method may be signaled to the decoder.
<가장 작은 속성 차이 선택 방식> <How to select the smallest attribute difference>
이웃 포인트들의 속성의 차이값을 비교하고 가장 작은 값을 갖는 이웃 포인트의 속성값을 예측 값으로 적용 할 수 있다. 또는 속성의 유사성 값을 비교하고 유사성이 가장 높은 값을 갖는 이웃 포인트의 속성값을 예측 값으로 적용할 수 있다.The difference values of the properties of neighboring points can be compared and the property values of the neighboring points having the smallest value can be applied as predicted values. Alternatively, the similarity value of the attribute may be compared, and the attribute value of the neighboring point having the highest similarity value may be applied as a predicted value.
<가장 작은 몰톤 코드 차이 선택 방식> <How to select the smallest Molton code difference>
이웃 포인트들과의 몰톤 코드 차이값을 비교하고 가장 작은 값을 갖는 이웃 포인트의 속성값을 예측 값으로 적용 할 수 있다. 예를 들어, 실시예들에 따른 방법/장치는 3개 중 몰톤 코드 차이 값이 제일 작은 하나의 포인트를 선택할 수 있다. 유사 속성 기반이면 범위 내 유사 포인트 선택 시, 선택한 포인트를 나타내는 추가 정보가 필요하여 비트 스트림이 커질 수 있다. 실시예들에 따른 방법/장치는 추가 정보를 최소화할 수 있다.The Molton code difference value with neighboring points can be compared and the attribute value of the neighboring point having the smallest value can be applied as a predicted value. For example, the method/apparatus according to the embodiments may select one point having the smallest Molton code difference value among the three. If it is based on a similarity attribute, when selecting a similar point within a range, additional information indicating the selected point may be required, and thus the bit stream may increase. The method/apparatus according to the embodiments may minimize additional information.
<가장 작은 인덱스 차이 선택 방식> <How to select the smallest index difference>
실시예들에 따른 방법/장치는 정렬된 순서에 해당하는 인덱스의 차이값을 비교하고 가장 작은 값을 갖는 이웃 포인트의 속성값을 예측 값으로 적용 할 수 있다. 예를 들어, 서치 범위 중간 값으로부터 3개 선택 시 3개에 대한 인덱스 차이가 작은 것을 보낼 수 있다.The method/apparatus according to the embodiments may compare the difference value of the index corresponding to the sorted order and apply the attribute value of the neighboring point having the smallest value as the predicted value. For example, if you select 3 from the middle value of the search range, you can send a small difference in the index for 3.
실시예들에 따른 방법/장치는 거리 기반 속성 예측 외에도 가장 작은 인덱스 차이 선택 방식을 제공할 수 있다.The method/device according to the embodiments may provide a method of selecting the smallest index difference in addition to distance-based attribute prediction.
<속성 평균값 선택 방식> <Attribute average value selection method>
이웃 포인트들의 속성값을 평균한 값을 예측 값으로 적용 할 수 있다. A value obtained by averaging the attribute values of neighboring points can be applied as a predicted value.
<가중치 적용 평균값 선택 방식> <Selection method of weighted average value>
이웃 포인트의 속성값에 가중치를 곱한 값을 평균한 값을 예측 값으로 적용 할 수 있다. A value obtained by multiplying the attribute value of the neighboring point by the weight can be applied as a predicted value.
실시예들에 따른 방법/장치는 위 방법 중에 가장 좋은 방법을 찾아서 해당 방식을 적용하고 적용한 방식에 대해 복호화기에 시그널링 할 수 있다. 또는 하나의 콘텐츠에 선택적으로 방식을 설정하고 적용할 수 있다.The method/device according to the embodiments may find the best method among the above methods, apply the method, and signal the applied method to the decoder. Alternatively, you can selectively set and apply a method to one content.
5) 예측에 적용된 이웃 포인트에 대한 추가 정보 시그널링 방법5) Additional information signaling method for neighboring points applied to prediction
실시예들에 따른 방법/장치는 예를 들어, 추가 정보를 적게 보내기 위해, 예측에 적용된 이웃 포인트에 대한 정보를 시그널링할 수 있다.The method/apparatus according to the embodiments may signal information on a neighboring point applied to prediction in order to transmit less additional information.
실시예들에 따른 부호화기에서 유사 속성 기반으로 이웃 포인트를 선택하게 되었을 때 실시예들에 따른 복호화기에서는 어떤 포인트가 LO이 집합에 속한 Px와 유사한 속성을 갖는지를 알 수 없다. Px의 속성값이 복원된 상태가 아니기때문에, 이미 속성값이 복원된 LOD 0 ~ LOD ㅣ-1 에 속한 포인트들과 LOD l 에 속한 포인트들 중에 정렬된 순서상 Px 앞에 있는 포인트들 중에 어떤 포인트가 Px의 속성값과 유사한지 알 수 없다. When the encoder according to the embodiments selects a neighboring point based on the similarity attribute, the decoder according to the embodiments cannot know which point has a property similar to Px belonging to the set. Since the attribute value of Px is not in a restored state, which point among the points belonging to LOD 0 ~ LOD ㅣ-1 and the points belonging to LOD l from which the attribute value has already been restored, the points before Px in the sorted order It is not known whether it is similar to the property value of Px.
따라서 유사 속성 기반으로 이웃 포인트를 선택할 때 선택된 이웃 포인트에 대한 추가 정보를 복호화기에 전송되어야 할 수 있다. 실시예들에 따른 부호화기는 추가 정보를 실시예들에 따른 복호화기에 전송할 수 있다.Therefore, when selecting a neighboring point based on similar properties, additional information on the selected neighboring point may need to be transmitted to the decoder. The encoder according to the embodiments may transmit additional information to the decoder according to the embodiments.
5-1) 이웃 포인트 개수5-1) Number of neighboring points
예측에 적용된 이웃 포인트 개수를 복호화기에 전송할 수도 있고, 이웃 포인트 집합으로부터 속성 예측 방법에 따라 이웃 포인트 개수는 전송되지 않을 수도 있다. 예를 들어, 가장 작은 속성 차이 선택 방식은 1개의 이웃 포인트에 대한 잔차값을 전송하기 때문에 이웃 포인트 개수를 전송할 필요가 없을 수 있다. 그러나 평균값 선택 방식은 몇 개의 이웃 포인트가 예측을 위해 사용되었는지에 대한 정보가 필요하다. 최소 속성 유사성 임계값에 따라 예측에 적용된 이웃 포인트 개수는 변경 될 수 있다. 예를 들어, 평균값에 사용된 포인트의 개수를 추가 정보로 실시예들에 따른 송신 장치/방법이 실시예들에 따른 수신 장치/방법에 전송할 수 있다.The number of neighboring points applied for prediction may be transmitted to the decoder, or the number of neighboring points may not be transmitted from the neighboring point set according to an attribute prediction method. For example, since the smallest attribute difference selection method transmits a residual value for one neighboring point, it may not be necessary to transmit the number of neighboring points. However, the average value selection method requires information on how many neighboring points are used for prediction. The number of neighboring points applied to prediction may be changed according to the minimum attribute similarity threshold. For example, the transmission apparatus/method according to the embodiments may transmit the number of points used for the average value as additional information to the reception apparatus/method according to the embodiments.
5-2) 이웃 포인트에 대한 추가 정보5-2) Additional information on neighboring points
실시예들에 따른 부호화기는 예측에 적용된 이웃 포인트에 대한 추가 정보를 실시예들에 따른 복호화기에 전송할 수 있다. 추가 정보는 다음 방법을 선택적으로 적용할 수 있다. The encoder according to the embodiments may transmit additional information on the neighboring point applied to the prediction to the decoder according to the embodiments. For additional information, the following method can be selectively applied.
<몰톤 코드 값 차> <Molton code value difference>
속성 예측에 적용된 이웃 포인트들과의 몰톤 코드 값 차이를 복호화기에 전송할 수 있다.The difference between values of the Molton code and the neighboring points applied to the property prediction may be transmitted to the decoder.
<LOD로 정렬된 상태에서 인덱스 값 차> <Difference of index values while sorted by LOD>
LOD 구성 후 , 재정렬된 포인트 클라우드 배열의 순서상에서 속성 예측에 적용된 이웃 포인트들과의 인덱스 값 차이를 전송할 수 있다. 예를 들어, LOD를 합쳐서 정렬을 하고, 몇 번째가 내가 선택한 것인지를 나타낼 수 있다.After the LOD is configured, the difference in index values with neighboring points applied to property prediction may be transmitted in the order of the rearranged point cloud arrangement. For example, you can combine the LODs to sort them, and the number of times to indicate your choice.
<몰톤 코드로 정렬된 상태에서 인덱스 값 차> <Difference of index values while sorted by Morton code>
실시예들에 따른 방법/장치는 LOD를 구성하기 전에 몰톤 코드로 정렬할 수 있다. 몰톤 코드 기반으로 정렬된 포인트 클라우드 배열의 순서상에서 속성 예측에 적용된 이웃 포인트들과의 인덱스 값 차이를 전송할 수 있다. 예를 들어, LOD전의 인덱스 값 차이를 나타낼 수 있다.The method/apparatus according to the embodiments may sort by Molton code prior to constructing the LOD. Differences in index values with neighboring points applied to property prediction in the order of the point cloud arrangement arranged based on the Molton code can be transmitted. For example, it may represent the difference in the index value before the LOD.
<LOD 0 ~ LOD ㅣ-1 에서 Pxmc보다 몰톤코드가 크거나 같은 첫번째 위치에서의 인덱스 값 차> <The difference in the index value at the first position where the Molton code is greater than or equal to Pxmc in LOD 0 ~ LOD ㅣ-1 >
이로 인하여, 실시예들에 따른 방법/장치는 추가 정보의 양을 효과적으로 줄이면서 시그널링할 수 있다.Accordingly, the method/apparatus according to the embodiments can signal while effectively reducing the amount of additional information.
LOD l 내의 포인트 Px의 이웃 포인트라면, LOD 0 ~ LOD ㅣ-1 에서 Pxmc보다 몰톤코드 값이 크거나 같은 첫번째 위치를 중심으로 속성 예측에 적용된 이웃 포인트들과의 인덱스 값 차이를 전송할 수 있다.If it is a neighboring point of point Px in LOD l , a difference in index value from neighboring points applied to attribute prediction may be transmitted around a first position having a Molton code value greater than or equal to Pxmc in LOD 0 to LOD l-1 .
<이웃 후보 노드들을 거리 기반으로 정렬시 인덱스 값> <Index value when sorting neighboring candidate nodes based on distance>
이웃 후보 노드들을 거리 기반으로 정렬 시 속성 예측에 적용된 이웃 포인트들의 인덱스 값을 복호화기에 전송할 수 있다.When neighboring candidate nodes are sorted based on distance, index values of neighboring points applied to property prediction may be transmitted to the decoder.
실시예들에 따른 방법/장치는 상술한 위 방법들 중에 가장 좋은 방법을 찾아서 해당 방식을 적용하고 적용한 방식에 대해 복호화기에 시그널링 할 수 있다. 또는 하나의 콘텐츠에 선택적으로 방식을 설정하고 적용할 수 있다.The method/apparatus according to the embodiments may find the best method among the above-described methods, apply a corresponding method, and signal the applied method to the decoder. Alternatively, you can selectively set and apply a method to one content.
6) 이웃 포인트에 대한 추가 정보 부호화 방법6) Additional information encoding method for neighboring points
실시예들에 따른 방법/장치는 이웃 포인트들에 대한 추가 정보를 전송하기 위해 모든 이웃 포인트들에 대한 추가 정보를 직접 부호화(direct coding)할 수도 있고, 다른 이웃 포인트들 또는 다른 포인트의 이웃 포인트들의 추가 정보에 대한 잔차값을 계산하여 부호화할 수도 있다. 이러한 추가 정보 예측 방법은 복호화기에 시그널링 될 수 있다. 예를 들어, 추가 정보를 인코딩하는 방법을 시그널링하여 로스리스하게 데이터의 양을 줄일 수 있는 효과가 있다.The method/apparatus according to the embodiments may directly encode additional information on all neighboring points to transmit additional information on the neighboring points, or to other neighboring points or neighboring points of another point. A residual value for additional information may be calculated and encoded. This additional information prediction method may be signaled to the decoder. For example, there is an effect of reducing the amount of data losslessly by signaling a method of encoding additional information.
<직접 부호화> <Direct encoding>
이웃 포인트들의 추가 정보를 무손실(lossless) 압축을 할 수 있다.Lossless compression can be performed on additional information of neighboring points.
<이웃 포인트간의 잔차값 부호화> <Coding of residual values between neighboring points>
여러 개의 이웃 포인트들의 추가 정보를 보내는 경우, 첫번째 이웃 포인트(속성이 가장 유사한)의 추가 정보는 직접 부호화하고, 다른 이웃 포인트들은 첫번째 이웃 포인트의 추가 정보와의 잔차값을 계산하고 무손실 압축을 할 수 있다. 예를 들어, 실시예들에 따라 잔차값이 0이 나오는 경우가 많을 수 있다.When sending additional information of several neighboring points, the additional information of the first neighboring point (the most similar attribute) is directly encoded, and the other neighboring points calculate a residual value with the additional information of the first neighboring point, and lossless compression can be performed. have. For example, there may be many cases in which a residual value of 0 appears according to embodiments.
<추가 정보간의 잔차값 부호화> <Coding of residual values between additional information>
예를 들어, 실시예들에 따른 방법/장치는 이웃 포인트 간 잔차값 및/또는 추가 정보간의 잔차값을 추가로 시그널링할 수 있다.For example, the method/apparatus according to the embodiments may additionally signal a residual value between neighboring points and/or a residual value between additional information.
직접 부호화할 참조 포인트(reference point)를 특정 개수마다 정하는 방법을 사용할 수 있다. 예를 들어 포인트 4개당 첫번째 포인트의 첫번째 이웃 포인트에 대한 추가 정보값을 참조값으로 정하고 다음 참조 포인트 전까지 존재하는 모든 이웃 포인트들의 추가 정보는 참조값으로부터의 잔차값으로 계산하여 무손실 압축을 할 수 있다. 참조 포인트 선택을 위한 개수는 복호화기에 시그널링 될 수 있다.A method of determining a reference point to be directly encoded for each specific number can be used. For example, an additional information value for the first neighboring point of the first point per four points is determined as a reference value, and additional information of all neighboring points existing before the next reference point is calculated as a residual value from the reference value, thereby performing lossless compression. The number for selection of reference points may be signaled to the decoder.
7) 속성 정보 예측부7) Attribute information prediction unit
도21을 참조하여 실시예들에 따른 속성 정보 예측부를 설명한다.An attribute information predictor according to embodiments will be described with reference to FIG. 21.
도21을 참조하면, PCC 데이터 부호화기와 복호화기의 전체 블록도를 나타낸다.Referring to FIG. 21, an overall block diagram of a PCC data encoder and a decoder is shown.
부 실시예들에 따른 호화기의 입력으로 PCC 데이터가 들어가고 부호화되어 기하정보 비트스트림과 속성정보 비트스트림이 출력될 수 있다. 실시예들에 따른 복호화기의 입력으로 부호화된 기하정보 비트스트림과 속성정보 비트스트림이 들어가고 복호화 되어 복원된 PCC된 데이터가 출력될 수 있다. 속성 정보 예측부는 부호화기의 속성 정보 부호화부와 복호화기의 속성 정보 복호화부에 속한다. PCC data may be entered and encoded as an input of the encoding device according to the sub-embodiments to output a geometric information bitstream and an attribute information bitstream. A geometric information bitstream and an attribute information bitstream encoded as inputs of a decoder according to embodiments may be input, decoded, and reconstructed PCC data may be output. The attribute information prediction unit belongs to the attribute information encoding unit of the encoder and the attribute information decoding unit of the decoder.
실시예들에 따른 속성 정보 부호화부에 관련된 구조는 도22에서 설명하였다. The structure related to the attribute information encoding unit according to the embodiments has been described in FIG. 22.
속성정보 부호화부 측면에서 실시예들에 따른 속성 정보 예측부에 관련된 구조는 도23에서 설명하였다.In the aspect of the attribute information encoding unit, a structure related to the attribute information prediction unit according to embodiments has been described in FIG. 23.
속성정보 복호화부 측면에서 실시예들에 따른 속성 정보 예측부에 관련된 구조는 도24에서 설명하였다.In terms of the attribute information decoding unit, a structure related to the attribute information prediction unit according to the embodiments has been described with reference to FIG. 24.
실시예들에 따른 속성 정보 예측부 및/또는 예측하는 단계는 실시예들에 따른 부호화기(인코더), 복호화기(디코더), 인코딩하는 단계 및/또는 디코딩하는 단계에 모두 존재할 수 있다.The attribute information prediction unit and/or the predicting step according to the embodiments may be present in all of the encoder (encoder), the decoder (decoder), the encoding step and/or the decoding step according to the embodiments.
실시예들에 따른 속성 정보 예측부는 LOD 구성부, 이웃 포인트 집합 구성부, 예측 변환/역변환부, 리프팅 변환/역변환 부를 포함할 수 있다. 속성정보 예측부는 실시예들에 따른 예측/리프팅 변환처리부에 해당하며, 실시예들에 따른 예측변환과 실시예들에 따른 리프팅 변환, 그리고 도25에 관련된 설명을 참조한다.The attribute information predictor according to embodiments may include an LOD constructing unit, a neighboring point set constructing unit, a predictive transform/inverse transform unit, and a lifting transform/inverse transform unit. The attribute information prediction unit corresponds to a prediction/lifting conversion processing unit according to embodiments, and reference will be made to prediction conversion according to embodiments, lifting conversion according to embodiments, and explanations related to FIG. 25.
실시예들에 따른 방법/장치는 속성 정보 예측부의 이웃 포인트 집합 구성부과 예측 변환/역변환부의 동작을 통해서, 효율적으로 포인트 클라우드 데이터를 인코딩/디코딩할 수 있다. 실시예들에 따른 각 구성의 예시를 설명하면 다음과 같다.The method/apparatus according to the embodiments may efficiently encode/decode point cloud data through operations of a neighbor point set construction unit and a prediction transform/inverse transform unit of the attribute information prediction unit. An example of each configuration according to the embodiments will be described as follows.
<이웃 포인트 집합 구성부><Neighbor Point Set Components>
이웃 포인트 집합 구성부는 이웃 포인트 선택 방법(neighbour_selection_type)을 가지며, 선택 방법에 따라서 이웃 포인트를 선택하고, 적용된 방식은 복호화기에 전송될 수 있다. 이웃 포인트 선택 방법에는 거리 기반 방식, 속성 기반 방식, 거리+속성 기반 방식이 있을 수 있다. The neighbor point set configuration unit has a neighbor point selection method (neighbour_selection_type), selects a neighbor point according to the selection method, and the applied method may be transmitted to the decoder. The neighbor point selection method may include a distance-based method, an attribute-based method, and a distance + attribute-based method.
이웃 포인트 집합 구성부는 속성 기반 또는 거리+속성 기반 방식으로 이웃 포인트를 선택 시, 속성 유사성 측정 방법을 가지며, 선택된 방법에 따라 포인트들간의 속성 유사성을 측정하여 이웃 포인트를 선택하고, 적용된 방식은 복호화기에 전송될 수 있다. The neighbor point set configuration unit has a method of measuring attribute similarity when selecting a neighboring point in an attribute-based or distance + attribute-based method, and selects a neighboring point by measuring attribute similarity between points according to the selected method, and the applied method is to the decoder. Can be transmitted.
그 외에 이웃 포인트 집합 구성부의 상세 내용은 다른 실시예들의 설명을 참조할 수 있다.In addition, details of the neighbor point set configuration unit may refer to the description of other embodiments.
<예측 변화/역변환부>/<리프팅 변화/역변환부><predicted change/inverse transform unit>/<lifting change/inverse transform unit>
예측 변환/역변환부와 리프팅 변환/역변환부는 구성된 이웃 포인트 집합내의 포인트들로부터의 예측값을 생성하기 위해서 가중치 적용 방법(neighbour_predict_weight_type)을 가지며, 선택된 방법에 따라 이웃 포인트들의 속성값에 적용하여 속성값을 예측할 수 있다. 적용된 가중치 적용 방법은 복호화기에 전송될 수 있다. 가중치 적용 방법에는 거리 기반 가중치, 몰톤 코드 기반 가중치, 인덱스 기반 가중치, 가중치 적용 안 함이 있을 수 있다. The predictive transform/inverse transform unit and the lifting transform/inverse transform unit have a weight application method (neighbour_predict_weight_type) to generate predicted values from points in the configured neighboring point set. I can. The applied weight application method may be transmitted to the decoder. The weight application method may include distance-based weighting, Molton code-based weighting, index-based weighting, and weight not being applied.
예측 변환/역변환부와 리프팅 변환/역변환부는 구성된 이웃 포인트 집합내의 포인트들로부터 속성 예측 방법(neighbour_predict_method)을 가지며, 선택된 방법에 따라 속성값을 예측하고 복호화기에 전송될 수 있다. 속성 예측 방법에는 가장 작은 속성 차를 가진 이웃 포인트의 속성을 선택하는 방식, 가장 작은 몰톤 코드 차를 가진 이웃 포인트의 속성을 선택하는 방식, 가장 작은 인덱스 차를 가진 이웃 포인트의 속성을 선택하는 방식, 이웃 포인트들의 속성 평균값을 선택하는 방식, 이웃 포인트들의 속성값에 가중치를 적용하여 평균한 값을 선택하는 방식이 있을 수 있다. The predictive transform/inverse transform unit and the lifting transform/inverse transform unit have an attribute prediction method (neighbour_predict_method) from points in the configured neighboring point set, and may predict attribute values according to the selected method and transmit them to the decoder. Attribute prediction methods include selecting the attribute of the neighboring point with the smallest attribute difference, the method of selecting the attribute of the neighboring point with the smallest Molton code difference, the method of selecting the attribute of the neighboring point with the smallest index difference, There may be a method of selecting an average attribute value of neighboring points, and a method of selecting an averaged value by applying a weight to attribute values of neighboring points.
그 외에 예측 변환/역변환부, 리프팅 변환/역변환부 상세 내용은 다른 실시예들의 설명을 참조할 수 있다.In addition, details of the predictive transform/inverse transform unit and the lifting transform/inverse transform unit may refer to descriptions of other embodiments.
8) 이웃 정보 변화부/이웃 정보 역변환부8) Neighbor information change unit/neighbor information inverse transform unit
유사 속성 기반으로 이웃 포인트 집합 생성시 선택된 이웃 포인트에 대한 추가 정보가 복호화기에 전송되어야 수신 장치는 이웃 포인트 집합을 복원할 수 있다. 따라서 실시예들에 따른 방법/장치는 PCC 부호화기/복호화기에 이웃 정보 변환부/역변환부를 추가할 수 있다. When generating a neighboring point set based on a similar attribute, the receiving device can restore the neighboring point set only when additional information on the selected neighboring point is transmitted to the decoder. Accordingly, the method/apparatus according to the embodiments may add a neighbor information transforming unit/inverse transforming unit to the PCC encoder/decoder.
도37을 참조하면, 속성정보 부호화부 관련하여, 이웃 정보 변환부는 속성정보 부호화부에 속한다. Referring to FIG. 37, with respect to the attribute information encoding unit, the neighbor information conversion unit belongs to the attribute information encoding unit.
실시예들에 따른 포인트 클라우드 송신 장치는 속성정보 인코더를 포함할 수 있다.The point cloud transmission apparatus according to embodiments may include an attribute information encoder.
실시예들에 따른 속성정보 인코더는 속성정보 예측부를 포함할 수 있다.The attribute information encoder according to embodiments may include an attribute information predictor.
실시예들에 따른 포인트 클라우드 수신 장치는 속성정보 디코더를 포함할 수 있다.The point cloud receiving apparatus according to embodiments may include an attribute information decoder.
실시예들에 따른 속성정보 디코더는 속성정보 예측부를 포함할 수 있다.The attribute information decoder according to embodiments may include an attribute information predictor.
실시예들에 따른 속성정보 예측부는 이웃 포인트들의 속성정보에 기반하여 포인트(예를 들어, 제1포인트 등)의 속성값(또는 속성정보)를 예측할 수 있다. 속성정보 예측 방식은 거리 기반 가중치, 몰톤 코드 기반 가중치, 인덱스 기반 가중치 및/또는 가중치 없음 중 적어도 하나의 방식을 포함할 수 있다. 실시예들에 따른 가중치는 각 이웃 포인트의 속성값에 적용된다.The attribute information predictor according to embodiments may predict an attribute value (or attribute information) of a point (eg, a first point) based on attribute information of neighboring points. The attribute information prediction method may include at least one of a distance-based weight, a Molton code-based weight, an index-based weight, and/or no weight. The weight according to the embodiments is applied to the attribute value of each neighboring point.
거리 기반 가중치 관련하여, 제1포인트 및 각 이웃포인트 간의 거리 또는 1/거리에 기반하여 가중치가 생성될 수 있다.Regarding the distance-based weight, a weight may be generated based on a distance or 1/distance between the first point and each neighboring point.
몰톤 코드 기반 가중치 관련하여, 제1포인트 및 각 이웃 포인트의 몰톤 코드 차이값 또는 1/몰톤 코드 차이값에 기반하여 가중치가 생성될 수 있다.In relation to the Molton code-based weight, a weight may be generated based on a Molton code difference value or a 1/Molton code difference value of the first point and each neighboring point.
인덱스 기반 가중치 관련하여, 제1포인트 및 각 이웃 포인트의 인덱스 차이값 또는 1/인덱스 차이값에 기반하여 가중치가 생성될 수 있다.In relation to the index-based weight, the weight may be generated based on the index difference value or 1/index difference value of the first point and each neighboring point.
실시예들에 따른 속성정보 예측부는 이웃 포인트들의 속성정보에 기반하여 포인트의 속성정보를 예측할 수 있다.The attribute information predictor according to embodiments may predict attribute information of a point based on attribute information of neighboring points.
가장 작은 속성 차이 선택 방식 관련하여, 속성 예측부는 각 이웃 포인트 간 속성 차이값에 기반하여 가장 작은 차이값을 갖는 제2포인트의 속성값을 예측값으로 생성(결정)한다.Regarding the method of selecting the smallest attribute difference, the attribute predictor generates (determines) the attribute value of the second point having the smallest difference value as a predicted value based on attribute difference values between neighboring points.
가장 작은 몰톤 코드 차이 선택 방식 관련하여, 속성 예측부는 각 이웃 포인트 간 및/또는 제1포인트 및 각 이웃 포인트 간 몰톤 코드 차이값에 기반하여 가장 작은 차이값을 갖는 제2포인트의 속성값을 예측값으로 생성(결정)한다.Regarding the method of selecting the smallest Molton code difference, the attribute prediction unit uses the attribute value of the second point having the smallest difference value as a predicted value based on the Molton code difference value between each neighboring point and/or between the first point and each neighboring point. Create (determine).
가장 작은 인덱스 차이 선택 방식 관련하여, 속성 예측부는 제1포인트 또는 각 이웃포인트 간의 인덱스 차이값에 기반하여 가장 작은 차이값을 갖는 제2포인트의 속성값을 예측값으로 생성(결정)한다.Regarding the method of selecting the smallest index difference, the attribute predictor generates (determines) the attribute value of the second point having the smallest difference value as a predicted value based on the index difference value between the first point or each neighboring point.
속성 평균값 선택 방식 관련하여, 속성 예측부는 각 이웃 포인트의 속성값의 평균값을 제1포인트의 예측값으로 생성(결정)한다.Regarding the attribute average value selection method, the attribute predictor generates (determines) an average value of attribute values of each neighboring point as a predicted value of the first point.
가중치 적용 평균값 선택 방식 관련하여, 속성 예측부는 각 이웃 포인트의 속성값에 가중치를 곱하고, 가중치가 곱해진 값들의 평균값을 제1포인트의 예측값으로 생성(결정)한다.Regarding the weighted average value selection method, the attribute predictor multiplies an attribute value of each neighboring point by a weight, and generates (determines) an average value of the multiplied values as a predicted value of the first point.
실시예들에 따른 포인트 클라우드 데이터는 이웃 포인트 개수(예측에 적용된 이웃 포인트 개수), 이웃 포인트에 대한 추가 정보(예측에 적용된 이웃 포인트에 대한 정보), 예를 들어, 몰톤 코드 값 차이값, LOD로 정렬된 순서 상 인덱스 차이값, 몰톤 코드로 정렬된 순서 상 인덱스 차이값, 복수의 LOD집합에서 제1포인트의 몰톤 코드와 같거나 같은 첫 번째 위치 상 인덱스 차이값 및/또는 이웃 후보 노드들이 거리 기반으로 정렬된 순서 상 인덱스 값 중 적어도 하나를 포함한다.The point cloud data according to the embodiments includes the number of neighboring points (the number of neighboring points applied to the prediction), additional information about the neighboring points (information about the neighboring points applied to the prediction), for example, a difference value of the Molton code value, and an LOD. The index difference value in the sorted order, the index difference value in the order sorted by the Molton code, the index difference value in the first position equal to or equal to the Molton code of the first point in a plurality of LOD sets, and/or the neighboring candidate nodes are distance-based. It includes at least one of the index values in the order sorted by.
실시예들에 따른 포인트 클라우드 송신 장치의 인코더는 이웃 포인트에 대한 추가 정보(또는 파라미터, 시그널링 정보)를 직접 부호화, 이웃 포인트 간 잔차값 부호화 및/또는 추가 정보 간 잔차값 부호화 중 적어도 하나를 수행할 수 있다.The encoder of the point cloud transmission apparatus according to the embodiments may perform at least one of direct encoding of additional information (or parameter, signaling information) about a neighboring point, encoding a residual value between neighboring points, and/or encoding a residual value between additional information. I can.
실시예들에 따른 포인트 클라우드 데이터 송신 장치의 이웃 정보 변환부는 이웃 정보에 관련된 정보를 포인트 클라우드 데이터의 비트스트림에 포함시켜서 전송할 수 있다.The neighbor information conversion unit of the point cloud data transmission apparatus according to embodiments may include information related to neighbor information in a bitstream of the point cloud data and transmit it.
도38은 실시예들에 따른 이웃 정보 역변화부 및/또는 속성정보 예측부의 예시를 나타낸다.38 illustrates an example of a neighbor information inverse change unit and/or an attribute information prediction unit according to embodiments.
실시예들에 따른 이웃 정보 역변환부(38000) 및/또는 속성정보 예측부(38001)는 실시예들에 따른 방법/장치와 결합될 수 있다.The neighbor information inverse transform unit 38000 and/or the attribute information predictor 38001 according to the embodiments may be combined with a method/device according to the embodiments.
도38은 실시예들에 따른 속성 정보 복호화부의 예시를 나타낸다. 실시예들에 따른 이웃 정보 역변환부는 속성 정보 복호화부에 포함될 수 있다.38 illustrates an example of an attribute information decoding unit according to embodiments. The neighbor information inverse transform unit according to embodiments may be included in the attribute information decoding unit.
실시예들에 따른 이웃 정보 변환부/역변환부는 실시예들에 따른 부호화기 및 복호화기에 존재할 수 있다. 실시예들에 따른 각 구성을 설명하면 다음과 같다.The neighbor information transform unit/inverse transform unit according to embodiments may exist in the encoder and decoder according to the embodiments. Each configuration according to the embodiments will be described as follows.
<이웃 정보 변환부><Neighbor Information Conversion Unit>
이웃 정보 변환부는 속성 기반 또는 거리+속성 기반 방식으로 이웃 포인트를 선택 시 동작할 수 있다.The neighbor information conversion unit may operate when selecting a neighboring point in an attribute-based or distance + attribute-based method.
이웃 정보 변환부는 예측에 적용된 이웃 포인트에 대한 추가 정보의 타입(neighbour_property_type)을 가지며, 선택 방법에 따라서 이웃 포인트에 대한 추가 정보 비트스트림를 구성하여, 추가 정보 타입을 복호화기에 전송하고, 구성된 데이터 비트스트림은 잔차를 양자화하고 부호화한 값과 함께 속성 정보 비트스트림에 포함하여 복호화기에 전송될 수 있다. 이웃 포인트에 대한 추가 정보 타입은 몰톤 코드 값 차로 비트스트림을 구성한 방식, LOD로 정렬된 상태에서의 인덱스 값 차로 비트스트림을 구성한 방식, 이웃 후보 노드들의 거리 기반으로 정렬시 인덱스 값 차로 비트스트림을 구성한 방식일 수 있다. The neighbor information conversion unit has a type of additional information on the neighboring point (neighbor_property_type) applied to prediction, configures an additional information bitstream for the neighboring point according to the selection method, transmits the additional information type to the decoder, and the configured data bitstream is The residual may be quantized and included in the attribute information bitstream together with the encoded value and transmitted to the decoder. The type of additional information about the neighboring points is the method of configuring the bitstream by the difference of the Molton code value, the method of configuring the bitstream by the difference of the index value in the state of being sorted by LOD, and the method of configuring the bitstream by the difference of index values when sorting based on the distance of neighboring candidate nodes. It can be a way.
이웃 정보 변환부는 예측에 적용된 이웃 포인트에 대한 추가 정보를 부호화하기 위해 사용한 방법(neighbour_property_encoding_type)을 복호화기에 전송할 수 있다. 추가 정보간의 잔차값 부호화 방법을 적용할 시, 직접 부호화 할 참조 포인트를 정하는 참조 포인트 샘플링 비율(neighbour_property_ref_point_sampling_rate) 값을 가지며 그 값은 복호화기에 전송할 수 있다. The neighbor information transform unit may transmit a method (neighbour_property_encoding_type) used to encode additional information about a neighbor point applied to prediction to the decoder. When applying the residual value encoding method between additional information, a reference point sampling rate (neighbour_property_ref_point_sampling_rate) that determines a reference point to be directly encoded has a value, and the value can be transmitted to the decoder.
이웃 정보 변환부는 예측에 적용된 이웃 포인트 개수를 부호화하고 속성 비트스트림의 추가하여 복호화기에 전송할 수 있다.The neighbor information converter may encode the number of neighbor points applied to the prediction, add an attribute bitstream, and transmit it to the decoder.
이웃 정보 변환부는 예측에 적용된 이웃 포인트에 대한 추가 위치 정보를 구성하여 속성 정보 엔트로피 부호화부를 통해 부호화하고 속성 정보 비트스트림에 추가하여 전송할 수 있다. The neighbor information transform unit may configure additional location information on the neighboring point applied to the prediction, encode it through the attribute information entropy encoder, add it to the attribute information bitstream, and transmit it.
<이웃 정보 역변환부><Neighbor Information Inverse Transformation Unit>
이웃 정보 역변환부는 부호기에서 속성 기반 또는 거리+속성 기반 방식으로 이웃 포인트를 선택 시, 이웃 정보를 속성 비트스트림에 포함해서 전송 받고, 전송 받은 이웃 정보를 복호화해서 이웃 포인트로 등록해야하는 경우, 동작할 수 있다.When the encoder selects a neighboring point in an attribute-based or distance + attribute-based method, the neighbor information inverse transform unit receives neighbor information in the attribute bitstream and is transmitted, and when the received neighbor information is decoded and registered as a neighbor point, it can operate. have.
이웃 정보 역변환부는 전송 받은 비트스트림의 이웃 포인트 개수, 이웃 포인트의 추가 정보(몰톤 코드 값 차로 비트스트림을 구성한 방식, LOD로 정렬된 상태에서의 인덱스 값 차로 비트스트림을 구성한 방식, 또는 이웃 후보 노드들을 거리 기반으로 정렬시 인덱스 값으로 비트스트림을 구성한 방식에 따른 정보), 추가 정보 부호화 방법(직접 부호화, 이웃 포인트간의 잔차값 부호화, 또는 추가 정보간의 잔차값 부호화), 참조 포인트 샘플링 비율값을 통해 선택된 이웃 포인트들을 찾아 이웃 포인트 집합을 구성할 수 있다. 구성된 이웃 포인트 집합을 통해 속성 정보 예측부는 속성값을 복원할 수 있다. The neighbor information inverse transform unit configures the bitstream with the difference between the number of neighboring points in the received bitstream, the additional information of the neighboring points (a method in which the bitstream is formed by a difference in the Morton code value, a method in which the index value difference in the state of being sorted by LOD, or neighbor candidate nodes). When sorting based on distance, information according to the method of configuring the bitstream with an index value), additional information encoding method (direct encoding, residual encoding between neighboring points, or encoding residual values between additional information), selected through reference point sampling rate values A set of neighboring points can be constructed by finding neighboring points. The attribute information prediction unit may restore the attribute value through the configured set of neighboring points.
9) 상술한 방법을 위한 시그널링 방안9) Signaling scheme for the above-described method
실시예들에 따른 방법/장치는 상술한 동작들을 수행하기 위해서 관련된 정보를 시그널링할 수 있다. 실시예들에 따른 시그널링 정보는 송신 방법/장치 또는 수신 방법/장치 등에서 사용될 수 있다.The method/apparatus according to the embodiments may signal related information to perform the above-described operations. The signaling information according to embodiments may be used in a transmission method/device or a reception method/device.
실시예들에 따른 포인트 클라우드 데이터의 비트스트림 구성은 도26에서 설명한 바와 같다.The bitstream configuration of point cloud data according to the embodiments is as described in FIG. 26.
이웃 포인트 집합 생성 및 예측/리프팅 변환 관련 옵션 정보는 APS에 추가 되서 시그널링 할 수 있다. Neighbor point set generation and prediction/lifting conversion-related option information may be added to the APS and signaled.
포인트 클라우드(포인트 클라우드 데이터)를 영역별로 나누어 처리할 수 있도록 타일, 또는 슬라이스를 제공한다. Tiles or slices are provided so that point clouds (point cloud data) can be divided and processed by area.
영역별로 나눌때 각각의 영역 별로 다른 이웃 포인트 집합 생성 옵션을 설정해서 복잡도(complexity)는 낮고, 결과의 신뢰도는 다소 떨어지거나 반대로 복잡도가 높으나 신뢰도가 높은 선택 방안을 제공할 수 있다. 수신기의 처리능력(capacity)에 따라서 다르게 설정할 수 있다. When dividing by region, by setting a different neighbor point set generation option for each region, the complexity is low, and the reliability of the result is slightly lower, or conversely, a selection method with high complexity but high reliability can be provided. It can be set differently according to the processing capacity of the receiver.
따라서, 포인트 클라우드는 타일(Tile)로 나누어지는 경우, 각 타일별로 다른 이웃 포인트 집합 생성 옵션을 적용할 수 있다.Therefore, when the point cloud is divided into tiles, a different neighbor point set generation option may be applied for each tile.
포인트 클라우드는 슬라이스(Slice)로 나누어지는 경우, 각 슬라이스별로 다른 이웃 포인트 집합 생성 옵션을 적용할 수 있다.When the point cloud is divided into slices, a different neighbor point set generation option may be applied for each slice.
이웃 포인트 집합 생성 및 예측/리프팅 변환 관련 옵션 정보는 TPS 또는 각 Slice별 Attr에 추가 되어 시그널링 할 수 있다.The neighbor point set generation and prediction/lifting conversion related option information may be added to the TPS or the Attr for each slice for signaling.
유사 속성 기반 이웃 포인트 집합 생성시, 이웃 포인트 집합 관련 추가 정보는 Predicting weight Lifting bitstream syntax와 Fixed weight Lifting bitsream syntax에 추가 되서 전송 될 수 있다.When generating a set of neighboring points based on similar properties, additional information related to the set of neighboring points may be added and transmitted to the Predicting weight lifting bitstream syntax and the Fixed weight lifting bitsream syntax.
실시예들에 따른 포인트 클라우드 데이터 수신 장치의 이웃 정보 역변환부는 수신한 비트스트림으로부터 이웃 정보 관련 정보를 획득할 수 있다.The neighbor information inverse transform unit of the point cloud data receiving apparatus according to the embodiments may obtain neighbor information related information from the received bitstream.
상술한 도37-38의 실시예들로 인하여, 실시예들에 따른 방법/장치는 포인트 클라우드 데이터의 특성을 고려하여 속성 예측 방법을 처리할 수 있다.Due to the above-described embodiments of FIGS. 37-38, the method/apparatus according to the embodiments may process an attribute prediction method in consideration of characteristics of point cloud data.
도39는 실시예들에 따른 이웃 포인트 집합 생성 옵션 관련 정보의 예시를 나타낸다.39 illustrates an example of information related to a neighbor point set generation option according to embodiments.
실시예들에 따른 방법/장치는 이웃 포인트 집합 생성 옵션 관련 정보를 attribute parameter set에 포함시킬 수 있다.The method/apparatus according to the embodiments may include information related to the neighbor point set generation option in the attribute parameter set.
실시예들에 따른 방법/장치는 이웃 포인트 집합 및 예측/리프팅 변환 관련 옵션 정보를 APS에 추가하여 시그널링 할 수 있다. 실시예들에 따른 시그널링 정보의 설명은 다음과 같다.The method/apparatus according to the embodiments may signal by adding a neighboring point set and option information related to prediction/lifting transformation to the APS. The description of signaling information according to embodiments is as follows.
neighbour_selection_type: 이웃 포인트 선택 방법 명시neighbour_selection_type: specifies how to select neighbor points
1= 거리 기반 이웃 포인트 선택 방식1= Distance-based neighbor point selection method
2= 속성 기반 이웃 포인트 선택 방식2= attribute-based neighbor point selection method
neighbour_predict_weight_type: 이웃 포인트들로부터의 예측값 생성을 위해 가중치 적용 방법 명시neighbour_predict_weight_type: Specifies how to apply weight to generate prediction values from neighboring points
0= 가중치 적용 안 함0= no weight applied
1= 거리 기반 가중치 1= distance based weight
2= 몰톤 코드 기반 가중치2= Molton code based weight
3= 인덱스 기반 가중치3= index-based weight
neighbour_predict_method: 이웃 포인트들로부터의 속성 예측 방법 명시neighbour_predict_method: Specify the property prediction method from neighboring points
1= 가장 작은 속성 차를 가진 이웃 포인트의 속성을 선택하는 방식1= Method to select the property of the neighboring point with the smallest property difference
2= 가장 작은 몰톤 코드 차를 가진 이웃 포인트의 속성을 선택하는 방식2= Method to select the property of the neighboring point with the smallest Molton code difference
3= 가장 작은 인덱스 차를 가진 이웃 포인트의 속성을 선택하는 방식3= Method to select the property of the neighboring point with the smallest index difference
4= 이웃 포인트들의 속성 평균값을 선택하는 방식4= Method to select the average value of the attributes of neighboring points
5= 이웃 포인트들의 속성값에 가중치를 적용하여 평균한 값을 선택하는 방식 5= Method of selecting the averaged value by applying weight to the attribute values of neighboring points
neighbour_property_type: 이웃 포인트에 대한 추가 정보 타입 명시neighbour_property_type: Specifies the type of additional information about the neighboring point
1= 몰톤 코드 값 차로 비트스트림을 구성하는 방식1= A method of constructing a bitstream with a difference in Molton code values
2= LOD로 정렬된 상태에서의 인덱스 값 차로 비트스트림을 구성하는 방식2= A method of composing a bitstream by index value difference in the state of being sorted by LOD
3= 이웃 후보 노드들을 거리 기반으로 정렬시의 인덱스 값으로 비트스트림을 구성하는 방식3= A method of constructing a bitstream with an index value at the time of sorting neighbor candidate nodes based on distance
neighbour_property_encoding_type: 이웃 포인트에 대한 추가 정보를 부호화 하는 방식 명시neighbour_property_encoding_type: Specifies the method of encoding additional information about neighboring points
1= 직접 부호화 방식1= Direct coding method
2= 이웃 포인트간의 잔차값 부호화 방식2= encoding method for residual values between neighboring points
3= 추가 정보간의 잔차값 부호화, 직접 부호화할 참조 포인트(reference point)를 특정 개수마다 정하는 방식3= Coding of residual values between additional information, a method of determining reference points to be directly encoded for each specific number
neighbour_property_ref_point_sampling_rate: 추가 정보간의 잔차값 부호화 방법을 적용할 시, 직접 부호화 할 참조 포인트를 정하는 참조 포인트 샘플링 비율 명시 neighbour_property_ref_point_sampling_rate: When applying the residual value encoding method between additional information, specify the reference point sampling rate that determines the reference point to be directly encoded.
실시예들에 따라, neighbour_property_encoding_type이 3인 경우, neighbour_property_ref_point_sampling_rate 가 존재할 수 있다.According to embodiments, when neighbour_property_encoding_type is 3, neighbour_property_ref_point_sampling_rate may exist.
aps_attr_parameter_set_id 는 다른 신택스 엘리먼트들에 의한 레퍼런스를 위한 APS에 대한 식별자를 나타낸다. aps_attr_parameter_set_id 의 값은 0 내지 15(포함)의 범위를 가질 수 있다(provides an identifier for the APS for reference by other syntax elements. The value of aps_attr_parameter_set_id shall be in the range of 0 to 15, inclusive).aps_attr_parameter_set_id represents an identifier for an APS for reference by other syntax elements. The value of aps_attr_parameter_set_id may have a range of 0 to 15 (inclusive) (provides an identifier for the APS for reference by other syntax elements.The value of aps_attr_parameter_set_id shall be in the range of 0 to 15, inclusive).
aps_seq_parameter_set_id 는 액티브 SPS에 대한 sps_seq_parameter_set_id의 값을 나타낸다. aps_seq_parameter_set_id의 값은 0 내지 15(포함)의 범위를 가질 수 있다(specifies the value of sps_seq_parameter_set_id for the active SPS. The value of aps_seq_parameter_set_id shall be in the range of 0 to 15, inclusive).aps_seq_parameter_set_id represents the value of sps_seq_parameter_set_id for active SPS. The value of aps_seq_parameter_set_id may have a range of 0 to 15 (inclusive) (specifies the value of sps_seq_parameter_set_id for the active SPS.The value of aps_seq_parameter_set_id shall be in the range of 0 to 15, inclusive).
attr_coding_type 는 attr_coding_type의 주어진 값에 대한 어트리뷰트를 위한 코딩 타입을 나타낸다. attr_coding_type 의 값은 실시예들에 따른 비트스트림들 내 0, 1, 또는 2일 수 있다. attr_coding_type 의 다른 값들은 ISO/IEC 에 의해 사용되는 미래를 위해 예약될 수 있다. 실시예들에 따른 디코더들은 attr_coding_type 의 예약된 값들을 무시할 수 있다. 0= 프레딕팅 웨이트 리프팅, 1= 리젼 어댑티브 하아라키컬 트랜스퍼(RAHT), 2= 픽스 웨이트 리프팅 (indicates that the coding type for the attribute in Table 7 2Table 7 2 for the given value of attr_coding_type. The value of attr_coding_type shall be equal to 0, 1, or 2 in bitstreams conforming to this version of this Specification. Other values of attr_coding_type are reserved for future use by ISO/IEC. Decoders conforming to this version of this Specification shall ignore reserved values of attr_coding_type. 0 = Predicting weight lifting, 1 = Region Adaptive Hierarchical Transferm (RAHT), 2= Fixed weight lifting).attr_coding_type represents a coding type for an attribute for a given value of attr_coding_type. The value of attr_coding_type may be 0, 1, or 2 in bitstreams according to embodiments. Other values of attr_coding_type may be reserved for future use by ISO/IEC. Decoders according to embodiments may ignore reserved values of attr_coding_type. 0= Predicting Weight Lifting, 1= Region Adaptive Haraquical Transfer (RAHT), 2= Fix Weight Lifting (indicates that the coding type for the attribute in Table 7 2 Table 7 2 for the given value of attr_coding_type.The value of attr_coding_type. shall be equal to 0, 1, or 2 in bitstreams conforming to this version of this Specification.Other values of attr_coding_type are reserved for future use by ISO/IEC.Decoders conforming to this version of this Specification shall ignore reserved values of attr_coding_type. 0 = Predicting weight lifting, 1 = Region Adaptive Hierarchical Transferm (RAHT), 2= Fixed weight lifting).
num_pred_nearest_neighbours 은 프레딕션을 위해 사용되는 니어스트 네이버들의 최대 개수를 나타낸다. numberOfNearestNeighboursInPrediction 의 값은 1 내지 xx 의 범위를 가질 수 있다(specifies the maximum number of nearest neighbours to be used for prediction. The value of numberOfNearestNeighboursInPrediction shall be in the range of 1 to xx).num_pred_nearest_neighbours represents the maximum number of near neighbors used for prediction. The value of numberOfNearestNeighboursInPrediction shall be in the range of 1 to xx (specifies the maximum number of nearest neighbors to be used for prediction.
max_num_direct_predictors 는 다이렉트 프레딕션을 위해 사용되는 프레딕터의 최대 개수를 나타낸다. max_num_direct_predictors 의 값은 0 내지 num_pred_nearest_neighbours 의 범위를 가질 수 있다. 변수 MaxNumPredictors 의 값은 다음과 같이 디코딩 프로세스에서 사용될 수 있다: MaxNumPredictors = max_num_direct_predicots + 1 (specifies the maximum number of predictor to be used for direct prediction. The value of max_num_direct_predictors shall be range of 0 to num_pred_nearest_neighbours. The value of the variable MaxNumPredictors that is used in the decoding process as follows: MaxNumPredictors = max_num_direct_predicots + 1).max_num_direct_predictors represents the maximum number of predictors used for direct prediction. The value of max_num_direct_predictors may have a range of 0 to num_pred_nearest_neighbours. The value of the variable MaxNumPredictors can be used in the decoding process as follows: MaxNumPredictors = max_num_direct_predicots + 1 (specifies the maximum number of predictor to be used for direct prediction.The value of max_num_direct_predictors shall be range of 0 to num_pred_nearest_neighbours. The value of the variable MaxNumPredictors that is used in the decoding process as follows: MaxNumPredictors = max_num_direct_predicots + 1).
lifting_search_range 는 리프팅을 위한 범위를 나타낸다(specifies search range for the lifting).lifting_search_range specifies search range for the lifting.
lifting_quant_step_size 는 어트리뷰트의 1 st 컴포넌트를 위한 양자화 스텝 사이즈를 나타낸다. quant_step_size 의 갓은 1 내지 xx 의 범위를 가질 수 있다(specifies the quantization step size for the 1st component of the attribute. The value of quant_step_size shall be in the range of 1 to xx).lifting_quant_step_size represents the quantization step size for 1 st component of the attribute. The value of quant_step_size shall be in the range of 1 to xx (specifies the quantization step size for the 1st component of the attribute.
lifting_quant_step_size_chroma 는 어트리뷰트가 컬러인 경우, 어트리뷰트의 크로마 컴포넌트를 위한 양자화 스텝 사이즈를 나타낸다. quant_step_size_chroma 의 값은 1 내지 xx 의 범위를 가질 수 있다(specifies the quantization step size for the chroma component of the attribute when the attribute is colour. The value of quant_step_size_chroma shall be in the range of 1 to xx).lifting_quant_step_size_chroma indicates the quantization step size for the chroma component of the attribute when the attribute is color. The value of quant_step_size_chroma may be in the range of 1 to xx (specifies the quantization step size for the chroma component of the attribute when the attribute is colour.The value of quant_step_size_chroma shall be in the range of 1 to xx).
lod_binary_tree_enabled_flag 는 바이너리 트리가 로그 제너레이션에 대해 인에이블한지 아닌지를 나타낸다(specifies whether binary tree is enable or not for the log generation).lod_binary_tree_enabled_flag specifies whether binary tree is enable or not for the log generation.
num_detail_levels_minus1 는 어트리뷰트 코딩을 위한 레벨 오브 디테일들의 개수를 나타낸다. num_detail_levels_minus1 의 값은 0 내지 xx 의 범위를 가질 수 있다(specifies the number of levels of detail for the attribute coding. The value of num_detail_levels_minus1 shall be in the range of 0 to xx).num_detail_levels_minus1 represents the number of levels of details for attribute coding. The value of num_detail_levels_minus1 may have a range of 0 to xx (specifies the number of levels of detail for the attribute coding.The value of num_detail_levels_minus1 shall be in the range of 0 to xx).
sampling_distance_squared [ idx ] 는 idx를 위한 샘플링 디스턴스의 스퀘어를 나타낸다. sampling_distance_squared[] 의 값은 0 내지 xx의 범위를 가질 수 있다(specifies the square of the sampling distance for idx. The value of sampling_distance_squared[] shall be in the range of 0 to xx).sampling_distance_squared [idx] represents the square of the sampling distance for idx. The value of sampling_distance_squared[] may have a range of 0 to xx (specifies the square of the sampling distance for idx. The value of sampling_distance_squared[] shall be in the range of 0 to xx).
adaptive_prediction_threshold 는 프레딕션의 쓰레드홀드를 나타낸다(specifies the threshold of prediction).adaptive_prediction_threshold specifies the threshold of prediction.
raht_depth 는 RAHT 를 위한 레벨 오브 디테일들의 개수를 나타낸다. depthRAHT 의 값은 1 내지 xx 의 범위를 가질 수 있다(specifies the number of levels of detail for RAHT. The value of depthRAHT shall be in the range of 1 to xx).raht_depth represents the number of levels of details for RAHT. The value of depthRAHT may have a range of 1 to xx (specifies the number of levels of detail for RAHT. The value of depthRAHT shall be in the range of 1 to xx).
raht_binarylevel_threshold 는 RAHT 계수를 컷-아웃하기 위한 레벨 오브 디테일을 나타낸다. binaryLevelThresholdRAHT 의 값은 0 내지 xx 의 범위를 가질 수 있다(specifies the levels of detail to cut out the RAHT coefficient. The value of binaryLevelThresholdRAHT shall be in the range of 0 to xx).raht_binarylevel_threshold represents a level of detail for cutting-out RAHT coefficients. The value of binaryLevelThresholdRAHT may be in the range of 0 to xx (specifies the levels of detail to cut out the RAHT coefficient.The value of binaryLevelThresholdRAHT shall be in the range of 0 to xx).
raht_quant_step_size 는 어트리뷰트의 1 st 컴포넌트를 위한 양자화 스텝 사이즈를 나타낸다. quant_step_size 의 값은 1 내지 xx의 범위를 가질 수 있다(specifies the quantization step size for the 1st component of the attribute. The value of quant_step_size shall be in the range of 1to xx).raht_quant_step_size represents the quantization step size for the 1 st component of the attribute. The value of quant_step_size may be in the range of 1 to xx (specifies the quantization step size for the 1st component of the attribute.The value of quant_step_size shall be in the range of 1to xx).
aps_extension_present_flag 가 1인 경우, aps_extension_data 신택스 스트럭쳐가 APS RBSP 신택스 스트럭쳐 내에 존재함을 나타낸다. aps_extension_present_flag 가 0인 경우, 이 신택스 스트럭쳐는 존재하지 않는다. 존재하지 않는 경우, aps_ extension_present_flag 의 값은 0을 뜻할 수 있다(equal to 1 specifies that the aps_extension_data syntax structure is present in the APS RBSP syntax structure. aps_extension_present_flag equal to 0 specifies that this syntax structure is not present. When not present, the value of aps_ extension_present_flag is inferred to be equal to 0).When aps_extension_present_flag is 1, it indicates that the aps_extension_data syntax structure is present in the APS RBSP syntax structure. When aps_extension_present_flag is 0, this syntax structure does not exist. If not present, the value of aps_extension_present_flag can mean 0 (equal to 1 specifies that the aps_extension_data syntax structure is present in the APS RBSP syntax structure.aps_extension_present_flag equal to 0 specifies that this syntax structure is not present.When not present. , the value of aps_ extension_present_flag is inferred to be equal to 0).
aps_extension_data_flag 는 어떠한 값도 가질 수 있다. 이 값의 존재 및 값은 프로파일을 따르는 디코더에 영향을 주지 않는다. 디코더들은 프로파일을 따른다(may have any value. Its presence and value do not affect decoder conformance to profiles. Decoders conforming to a profile).aps_extension_data_flag can have any value. The presence and value of this value does not affect the decoder following the profile. Decoders may have any value. Its presence and value do not affect decoder conformance to profiles. Decoders conforming to a profile.
도40은 실시예들에 따른 이웃 포인트 집합 생성 옵션 관련 정보의 예시를 나타낸다.40 illustrates an example of information related to a neighbor point set generation option according to embodiments.
실시예들에 따른 방법/장치는 이웃 포인트 집합 생성 옵셥 관련 정보를 tile parameter set에 포함시킬 수 있다.The method/apparatus according to the embodiments may include information related to the neighbor point set generation option in the tile parameter set.
실시예들에 따른 TPS는 이웃 포인트 집합 생성 옵션 관련 정보 Syntax 를 포함할 수 있다.The TPS according to the embodiments may include information syntax related to the neighbor point set generation option.
실시예들에 따른 방법/장치는 실시예들에 따른 이웃 포인트 집합 및 예측/리프팅 변환 관련 옵션 정보를 TPS에 추가하여 시그널링 할 수 있다. 실시예들에 따른 각 시그널링 정보의 설명은 다음과 같다.The method/apparatus according to the embodiments may signal by adding the neighbor point set according to the embodiments and option information related to prediction/lifting transformation to the TPS. A description of each signaling information according to embodiments is as follows.
num_tiles 는 비트스트림을 위해 시그널링되는 타일들의 개수를 나타낸다. 존재하지 않는 경우 num_tiles 은 0 일 수 있다(specifies the number of tiles signalled for the bitstream. When not present, num_tiles is inferred to be 0).num_tiles represents the number of tiles signaled for the bitstream. If not present, num_tiles may be 0 (specifies the number of tiles signaled for the bitstream.When not present, num_tiles is inferred to be 0).
tile_bounding_box_offset_x[ i ] 는 cartesian coordinates 내 i번째 타일의 x오프셋을 나타낸다. 존재하지 않는 경우, tile_bounding_box_offset_x[ 0 ] 의 값은 sps_bounding_box_offset_x 일 수 있다(indicates the x offset of the i-th tile in the cartesian coordinates. When not present, the value of tile_bounding_box_offset_x[ 0 ] is inferred to be sps_bounding_box_offset_x).tile_bounding_box_offset_x[ i] represents the x offset of the i-th tile in cartesian coordinates. If not present, the value of tile_bounding_box_offset_x[ 0] may be sps_bounding_box_offset_x (indicates the x offset of the i-th tile in the cartesian coordinates. When not present, the value of tile_bounding_box_offset_x[ 0] is inferred to be sps_bounding_box_offset_x).
tile_bounding_box_offset_y[ i ] 는 cartesian coordinates 내 i번째 타일의 y오프셋을 나타낸다. 존재하지 않는 경우, tile_bounding_box_offset_y[ 0 ] 의 값은 sps_bounding_box_offset_y 일 수 있다(indicates indicates the y offset of the i-th tile in the cartesian coordinates. When not present, the value of tile_bounding_box_offset_y[ 0 ] is inferred to be sps_bounding_box_offset_y).tile_bounding_box_offset_y[ i] represents the y offset of the i-th tile in cartesian coordinates. If not present, the value of tile_bounding_box_offset_y[ 0] may be sps_bounding_box_offset_y (indicates indicates the y offset of the i-th tile in the cartesian coordinates. When not present, the value of tile_bounding_box_offset_y[ 0] is inferred to be sps_bounding_box_offset_y) .
tile_bounding_box_offset_z[ i ] 는 Cartesian coordinates 내 i번째 타일의 z오프셋을 나타낸다. 존재하지 않는 경우, tile_bounding_box_offset_z[ 0 ] 의 값은 sps_bounding_box_offset_z 일 수 있다(indicates indicates the z offset of the i-th tile in the Cartesian coordinates. When not present, the value of tile_bounding_box_offset_z[ 0 ] is inferred to be sps_bounding_box_offset_z).tile_bounding_box_offset_z[i] represents the z offset of the i-th tile in Cartesian coordinates. If not present, the value of tile_bounding_box_offset_z[ 0] may be sps_bounding_box_offset_z (indicates indicates the z offset of the i-th tile in the Cartesian coordinates. When not present, the value of tile_bounding_box_offset_z[ 0] is inferred to be sps_bounding_box_offset) .
tile_bounding_box_scale_factor[ i ] 는 Cartesian coordinates 내 i번째 타일의 스케일 팩터를 나타낸다. 존재하지 않는 경우, tile_bounding_box_scale_factor[ 0 ] 의 값은 sps_bounding_box_scale_factor 일 수 있다(indicates the scale factor the i-th tile in the Cartesian coordinates. When not present, the value of tile_bounding_box_scale_factor[ 0 ] is inferred to be sps_bounding_box_scale_factor).tile_bounding_box_scale_factor[ i] represents the scale factor of the i-th tile in Cartesian coordinates. If not present, the value of tile_bounding_box_scale_factor[ 0] may be sps_bounding_box_scale_factor (indicates the scale factor the i-th tile in the Cartesian coordinates. When not present, the value of tile_bounding_box_scale_factor[ 0] is inferred to be sps_bounding_box_scale_factor).
tile_bounding_box_size_width[ i ] 는 Cartesian coordinates 내 i번째 타일의 너비를 나타낸다. 존재하지 않는 경우, tile_bounding_box_size_width[ 0 ] 의 값은 sps_bounding_box_size_width 일 수 있다(indicates the width of the i-th tile in the Cartesian coordinates. When not present, the value of tile_bounding_box_size_width[ 0 ] is inferred to be sps_bounding_box_size_width).tile_bounding_box_size_width[ i] represents the width of the i-th tile in Cartesian coordinates. If not present, the value of tile_bounding_box_size_width[ 0] can be sps_bounding_box_size_width (indicates the width of the i-th tile in the Cartesian coordinates. When not present, the value of tile_bounding_box_size_width[ 0] is inferred to be sps_bounding_box_size_width).
tile_bounding_box_size_height[ i ] 는 Cartesian coordinates 내 i번째 타일의 높이를 나타낸다. 존재하지 않는 경우, tile_bounding_box_size_height[ 0 ] 의 값은 sps_bounding_box_size_height 일 수 있다(indicates the height of the i-th tile in the Cartesian coordinates. When not present, the value of tile_bounding_box_size_height[ 0 ] is inferred to be sps_bounding_box_size_height).tile_bounding_box_size_height[ i] represents the height of the i-th tile in Cartesian coordinates. If not present, the value of tile_bounding_box_size_height[ 0] may be sps_bounding_box_size_height (indicates the height of the i-th tile in the Cartesian coordinates. When not present, the value of tile_bounding_box_size_height[ 0] is inferred to be sps_bounding_box_size_height).
tile_bounding_box_size_depth[ i ] 는 Cartesian coordinates 내 i번째 타일의 깊이를 나타낸다. 존재하지 않는 경우, tile_bounding_box_size_depth[ 0 ] 은 sps_bounding_box_size_depth 일 수 있다(indicates the depth of the i-th tile in the Cartesian coordinates. When not present, the value of tile_bounding_box_size_depth[ 0 ] is inferred to be sps_bounding_box_size_depth).tile_bounding_box_size_depth[ i] represents the depth of the i-th tile in Cartesian coordinates. If not present, tile_bounding_box_size_depth[ 0] may be sps_bounding_box_size_depth (indicates the depth of the i-th tile in the Cartesian coordinates. When not present, the value of tile_bounding_box_size_depth[ 0] is inferred to be sps_bounding_box_size_depth).
도41은 실시예들에 따른 이웃 포인트 집합 생성 옵션 관련 정보의 예시를 나타낸다.41 illustrates an example of information related to a neighbor point set generation option according to embodiments.
실시예들에 따른 방법/장치는 이웃 포인트 집합 생성 옵셥 관련 정보를 attribute slice header 에 포함시킬 수 있다.The method/apparatus according to the embodiments may include information related to the neighbor point set generation option in the attribute slice header.
실시예들에 따른Attr의 Slice header는 이웃 포인트 집합 생성 옵션 관련 정보를 포함할 수 있다.Slice header of Attr according to embodiments may include information related to a neighbor point set generation option.
실시예들에 따른 방법/장치는 실시예들에 따른 이웃 포인트 집합 생성 및 예측/리프팅 변환 관련 옵션 정보를 Attr의 slice header에 추가하여 시그널링 할 수 있다. 실시예들에 따른 각 시그널링 정보의 설명은 다음과 같다.The method/apparatus according to the embodiments may signal by adding option information related to generation of a neighboring point set and prediction/lifting transformation according to the embodiments to a slice header of Attr. A description of each signaling information according to embodiments is as follows.
abh_attr_parameter_set_id 는 액티브 APS의 aps_attr_parameter_set_id의 값을 나타낸다(specifies the value of the aps_attr_parameter_set_id of the active APS).abh_attr_parameter_set_id represents the value of aps_attr_parameter_set_id of the active APS (specifies the value of the aps_attr_parameter_set_id of the active APS).
abh_attr_sps_attr_idx 는 액티브 SPS 내 어트리뷰트 세트를 나타낸다. abh_attr_sps_attr_idx 의 값은 액티브 SPS내 0 내지 sps_num_attribute_sets 의 범위를 가질 수 있다(specifies the attribute set in the active SPS. The value of abh_attr_sps_attr_idx shall be in the range of 0 to sps_num_attribute_sets in the active SPS).abh_attr_sps_attr_idx represents an attribute set in the active SPS. The value of abh_attr_sps_attr_idx may have a range of 0 to sps_num_attribute_sets in the active SPS (specifies the attribute set in the active SPS.The value of abh_attr_sps_attr_idx shall be in the range of 0 to sps_num_attribute_sets in the active SPS).
abh_attr_geom_slice_id 는 geom slice id 의 값을 나타낸다(specifies the value of geom slice id).abh_attr_geom_slice_id specifies the value of geom slice id.
도42는 실시예들에 따른 이웃 포인트 집합 관련 추가 정보의 예시를 나타낸다.42 shows an example of additional information related to a set of neighboring points according to embodiments.
실시예들에 따른 방법/장치는 이웃 포인트 집합 생성 옵셥 관련 정보를 predicting weight lifting bitstream에 포함시킬 수 있다.The method/device according to the embodiments may include information related to the neighbor point set generation option in the predicting weight lifting bitstream.
실시예들에 따른 Attribute Slice data의 Predicting weight Lifting bitstream Syntax는 이웃 포인트 집합 관련 추가 정보를 포함할 수 있다.Predicting weight lifting bitstream syntax of attribute slice data according to embodiments may include additional information related to a neighboring point set.
실시예들에 따른 방법/장치는 유사 속성 기반 이웃 포인트 집합 생성시, 실시예들에 따른 이웃 포인트 집합관련 추가 정보를 Predicting weight Lifting bitstream에 추가하여 시그널링 할 수 있다. When generating a neighboring point set based on a similar attribute, the method/apparatus according to the embodiments may signal by adding additional information related to the neighboring point set according to the embodiments to the prediction weight lifting bitstream.
neighbour_selection_type이 속성 기반 또는 거리+속성 기반 방식으로 이웃 포인트 선택시 (>1) 이웃 포인트의 추가 정보를 속성 정보 비트스트림에 다음과 같이 추가할 수 있다. When neighbor_selection_type is an attribute-based or distance+attribute-based method for selecting a neighboring point (>1), additional information of the neighboring point may be added to the attribute information bitstream as follows.
다음 방식은 neighbour_predict_method 값이 4보다 작으면, 즉 이웃 포인트들을 기반한 속성 예측 방법이 평균값이 아닌 가장 작은 속성차, 가장 작은 몰톤 코드 차, 가장 작은 인덱스 차로 선택되는 경우에 해당하는 syntax일 수 있다. 실시예들에 따른 각 시그널링 정보의 설명은 다음과 같다.The following scheme may be a syntax corresponding to a case where the neighbour_predict_method value is less than 4, that is, the attribute prediction method based on neighboring points is selected not the average value but the smallest attribute difference, the smallest Molton code difference, and the smallest index difference. A description of each signaling information according to embodiments is as follows.
neighbour_point_info: 이웃 포인트 추가 정보 값 명시. 추가 정보 값은 neighbour_property_type에 따라 몰톤 코드 값 차일 수 있고, LOD로 정렬된 상태에서의 인덱스 값 차 일 수도 있고, 몰톤 코드로 정렬된 상태에서 인덱스 값 차일 수 있고, LOD0 ~ LODㅣ-1 에서 Pxmc보다 몰톤코드가 크거나 같은 첫번째 위치에서의 인덱스 값 차일 수 있고, 이웃 후보 노드들을 거리 기반으로 정렬시 인덱스 값일 수 있다. neighbour_point_info: Specify the value of the neighboring point additional information. The additional information value may be the difference in Molton code value depending on the neighbor_property_type, the difference in the index value in the state sorted by LOD, or the difference in the index value in the state in the state in which the Molton code is sorted, and from LOD0 ~ LOD The Molton code may be a difference between the index values at the first position having the same or greater value, and may be an index value when neighboring candidate nodes are aligned based on distance.
neighbour_point_residual_info: 이웃 포인트 추가 정보 값의 참조 이웃 포인트와의 잔차값 명시 neighbour_point_residual_info: Specify the residual value of the reference neighboring point of the neighboring point additional information value
predIndex[ i ]: predIndex[ i ] 은 어트리뷰트의 i번째 포인트 값을 디코딩하기 위한 프레딕터 인덱스를 나타낸다. predIndex[ i ] 의 값은 0 내지 max_num_direct_predictors 의 범위를 가질 수 있다. 어트리뷰트의 i번째 포인트 값을 디코딩하기 위한 프레딕터 인덱스. predIndex[ i ] 의 값은 0 내지 max_num_direct_predictors 의 범위를 가질 수 있다(specifies the predictor index to decode the i-th point value of the attribute. The value of predIndex[ i ] shall be range of 0 to max_num_direct_predictors. The predictor index to decode the i-th point value of the attribute. The value of predIndex[ i ] shall be range of 0 to max_num_direct_predictors).predIndex[ i ]: predIndex[ i] represents a predicator index for decoding the i-th point value of the attribute. The value of predIndex[ i] may range from 0 to max_num_direct_predictors. Predictor index for decoding the ith point value of the attribute. The value of predIndex[ i] may have a range of 0 to max_num_direct_predictors (specifies the predictor index to decode the i-th point value of the attribute. The value of predIndex[ i] shall be range of 0 to max_num_direct_predictors. The predictor index to decode the i-th point value of the attribute.The value of predIndex[ i] shall be range of 0 to max_num_direct_predictors).
다음 방식은 neighbour_predict_method 값이 3보다 크면, 즉, 이웃 포인트들을 기반한 속성 예측 방법이 평균값 또는 가중치가 적용된 평균값으로 선택되는 경우에 해당하는 syntax일 수 있다.The following scheme may be a syntax corresponding to a case where the value of neighbour_predict_method is greater than 3, that is, the attribute prediction method based on neighbor points is selected as an average value or a weighted average value.
도43은 실시예들에 따른 이웃 포인트 집합 관련 추가 정보의 예시를 나타낸다.43 illustrates an example of additional information related to a neighboring point set according to embodiments.
실시예들에 따른 방법/장치는 이웃 포인트 집합 생성 옵셥 관련 정보를 predicting weight lifting bitstream에 포함시킬 수 있다.The method/device according to the embodiments may include information related to the neighbor point set generation option in the predicting weight lifting bitstream.
실시예들에 따른 neighbour_num_of_points: 속성 예측에 적용된 이웃 포인트의 개수 명시. 속성 예측 방법이 평균값 또는 가중치가 적용된 평균값일 경우에 몇 개의 이웃 포인트가 적용되었는지에 대한 명시가 필요하고, 각 이웃 포인트에 대한 추가 정보가 필요할 수 있다.Neighbour_num_of_points according to embodiments: specifying the number of neighboring points applied to attribute prediction. When the attribute prediction method is an average value or a weighted average value, it is necessary to specify how many neighboring points are applied, and additional information about each neighboring point may be required.
도44는 실시예들에 따른 퀀트 값들의 예시를 나타낸다.44 shows examples of quant values according to embodiments.
실시예들에 따른 방법/장치는 이웃 포인트 집합 생성 옵셥 관련 정보를 quantvalues 에 포함시킬 수 있다.The method/apparatus according to the embodiments may include information related to the neighbor point set generation option in quantvalues.
실시예들에 따른 각 시그널링 정보의 설명은 다음과 같다.A description of each signaling information according to embodiments is as follows.
isZero 이 1인 경우, residual value[k][i] 이 0 임을 나타낸다. isZero 이 0인 경우, residual value[k][i] 이 0이 아님을 나타낸다(equal to 1 indicates that residual value[k][i] is equal to 0. isZero equal to 0 indicates that residual value[k][i] is not equal to 0).When isZero is 1, it indicates that residual value[k][i] is 0. When isZero is 0, residual value[k][i] is not 0 (equal to 1 indicates that residual value[k][i] is equal to 0. isZero equal to 0 indicates that residual value[k] [i] is not equal to 0).
values[k][i] 는 어트리뷰트의 k번째 디멘션 및 i번째 포인트 값을 나타낸다(describes the k-th dimension and the i-th point value of the attribute).values[k][i] represents the k-th dimension and the i-th point value of the attribute (describes the k-th dimension and the i-th point value of the attribute).
remaining_values[k][i] 는 어트리뷰트의 k번째 디멘션 및 i번째 포인트 리메인닝 값을 나타낸다. 존재하지 않는 경우, remaining_value[k][i] 의 값은 0 일 수 있다(describes the k-th dimension and the i-th point remaining value of the attribute. When not present, the value of remaining_value[k][i] is inferred to be 0).remaining_values[k][i] represents the k-th dimension and i-th point remaining values of the attribute. If not present, the value of remaining_value[k][i] can be 0 (describes the k-th dimension and the i-th point remaining value of the attribute. When not present, the value of remaining_value[k][ i] is inferred to be 0).
도45는 실시예들에 따른 이웃 포인트 집합 관련 추가 정보의 예시를 나타낸다.45 illustrates an example of additional information related to a neighboring point set according to embodiments.
실시예들에 따른 방법/장치는 이웃 포인트 집합 생성 옵셥 관련 정보를 fixed weight lifting bitstream 에 포함시킬 수 있다.The method/device according to the embodiments may include information related to the neighbor point set generation option in the fixed weight lifting bitstream.
실시예들에 따른 Attribute Slice data의 Fixed weight Lifting bitstream Syntax는 이웃 포인트 집합 관련 추가 정보 Syntax 를 포함할 수 있다.Fixed weight lifting bitstream syntax of attribute slice data according to embodiments may include additional information syntax related to a neighboring point set.
실시예들에 따른 방법/장치는 유사 속성 기반 이웃 포인트 집합 생성시, 실시예들에 따른 이웃 포인트 집합관련 추가 정보를 Fixed weight Lifting bitstream에 추가하여 시그널링 할 수 있다. The method/apparatus according to the embodiments may signal by adding additional information related to the neighbor point set according to the embodiments to the fixed weight lifting bitstream when generating a neighboring point set based on a similar attribute.
Neighbour_selection_type이 속성 기반 또는 거리+속성 기반 방식으로 이웃 포인트 선택시 (>1) 이웃 포인트의 추가 정보를 속성 정보 비트스트림에 다음과 같이 추가할 수 있다. When Neighbor_selection_type is an attribute-based or distance+attribute-based method to select a neighboring point (>1), additional information of the neighboring point can be added to the attribute information bitstream as follows.
다음 방식은 neighbour_predict_method 값이 4보다 작으면, 즉 이웃 포인트들을 기반한 속성 예측 방법이 평균값이 아닌 가장 작은 속성차, 가장 작은 몰톤 코드 차, 가장 작은 인덱스 차로 선택되는 경우에 해당하는 syntax일 수 있다.The following scheme may be a syntax corresponding to a case where the neighbour_predict_method value is less than 4, that is, the attribute prediction method based on neighboring points is selected not the average value but the smallest attribute difference, the smallest Molton code difference, and the smallest index difference.
도46은 실시예들에 따른 이웃 포인트 집합 관련 추가 정보의 예시를 나타낸다.46 illustrates an example of additional information related to a neighboring point set according to embodiments.
실시예들에 따른 방법/장치는 이웃 포인트 집합 생성 옵셥 관련 정보를 fixed weight lifting bitstream 에 포함시킬 수 있다.The method/device according to the embodiments may include information related to the neighbor point set generation option in the fixed weight lifting bitstream.
다음 방식은 neighbour_predict_method 값이 3보다 크면, 즉, 이웃 포인트들을 기반한 속성 예측 방법이 평균값 또는 가중치가 적용된 평균값으로 선택되는 경우에 해당하는 syntax일 수 있다.The following scheme may be a syntax corresponding to a case where the value of neighbour_predict_method is greater than 3, that is, the attribute prediction method based on neighbor points is selected as an average value or a weighted average value.
실시예들에 따른 포인트 클라우드 데이터 송수신 장치/방법은 3차원 포인트 클라우드(point cloud) 데이터 압축을 위한 Geometry-based Point Cloud Compression (G-PCC)의 인코더(부호화기)/디코더(복호화기)의 속성 압축 효율을 높이기 위한 방안으로 유사 속성에 기반한 이웃 포인트 집합을 생성한 후, 생성된 이웃 포인트 집합을 기반으로 속성을 예측하여 부호화하고 복호화 할 수 있는 방안은 제공하는 효과가 있다.The apparatus/method for transmitting and receiving point cloud data according to embodiments compresses properties of an encoder (encoder)/decoder (decoder) of Geometry-based Point Cloud Compression (G-PCC) for compressing 3D point cloud data. As a way to increase the efficiency, after generating a set of neighboring points based on similar attributes, there is an effect of providing a method of predicting, encoding, and decoding attributes based on the generated neighboring point set.
이로 인하여, 실시예들은 3차원 포인트 클라우드(point cloud) 데이터 압축을 위한 Geometry-based Point Cloud Compression (G-PCC)의 인코더(부호화기)/디코더(복호화기)의 속성 압축 효율을 높여서 보다 높은 복원률을 제공하는 포인트 클라우드 콘텐츠 스트림을 제공할 수 있다. For this reason, the embodiments increase the property compression efficiency of the encoder (encoder)/decoder (decoder) of Geometry-based Point Cloud Compression (G-PCC) for compressing 3D point cloud data, resulting in a higher recovery rate. It is possible to provide a provided point cloud content stream.
상술한 도39 내지 도47의 파리미터로 인하여, 실시예들에 따른 방법/장치는 포인트 클라우드 데이터의 인코딩/디코딩을 효율적으로 시그널링할 수 있다.Due to the parameters of FIGS. 39 to 47 described above, the method/apparatus according to the embodiments can efficiently signal encoding/decoding of point cloud data.
도47은 실시예들에 따른 이웃 포인트 관련 방법의 순서도 예시를 나타낸다.47 illustrates an example flowchart of a method for relating a neighboring point according to embodiments.
실시예들에 따른 방법/장치는 S47000, S47001를 수행하거나, S47002, S47003, S47004를 수행하거나, S47000 내지 S47005를 수행할 수 있다. 다음은 각 단계 별로 상술한 실시예들과 결합/변형이 가능하다.The method/device according to the embodiments may perform S47000 and S47001, perform S47002, S47003, and S47004, or perform S47000 to S47005. The following can be combined/modified with the above-described embodiments for each step.
S47000, 실시예들에 따른 방법/장치는 이웃 포인트 검색 범위 설정한다. 예를 들어, 검색 범위 타입에 따라서 옥트리 기반의 검색 범위를 설정할 수 있다. 구체적인 옥트리 기반 검색 범위 설정 방법은 도21 등에서 설명한 바와 같다.S47000, the method/apparatus according to the embodiments sets a search range for a neighboring point. For example, an octree-based search range can be set according to the search range type. A detailed octree-based search range setting method is as described in FIG. 21 and the like.
S47001, 실시예들에 따른 방법/장치는 이웃 포인트 검색 범위에 기반하여 이웃 포인트 선택한다. 예를 들어, 유사속성 기반으로 이웃 포인트를 선택할 수 있다. 구체적인 유사속성 기반 이웃 포인트 선택 방법은 상술한 바와 같다.S47001, the method/apparatus according to the embodiments selects a neighboring point based on the neighboring point search range. For example, a neighboring point can be selected based on the similarity attribute. A specific method for selecting a neighboring point based on similarity attributes is as described above.
S47002, 실시예들에 따른 방법/장치는 이웃 포인트 집합에 대한 가중치를 설정한다. 예를 들어, 거리기반, 몰톤 코드 기반, 인덱스 기반 및/또는 가중치 없음 방식 등이 있고, 구체적인 방법은 상술한 바와 같다.S47002, the method/device according to the embodiments sets a weight for a set of neighboring points. For example, there are distance-based, Molton code-based, index-based and/or weightless methods, and the like, and specific methods are as described above.
S47003, 실시예들에 따른 방법/장치는 이웃 포인트 집합에 대한 속성 정보를 예측한다. 예를 들어, 가장 작은 몰톤 코드 차이 선택, 가장 작은 인덱스 차이 선택, 속성 평균값 선택, 가중치 적용 평균값 선택 방식 등이 있고, 구체적인 방법은 상술한 바와 같다.S47003, the method/apparatus according to the embodiments predicts attribute information on a neighboring point set. For example, there are a method of selecting the smallest Molton code difference, selecting the smallest index difference, selecting an attribute average value, and selecting a weighted average value, and the specific method is as described above.
S47004, 실시예들에 따른 방법/장치는 예측 속성정보에 기반하여 잔차 속성정보를 부호화한다.S47004, The method/apparatus according to the embodiments encodes the residual attribute information based on the prediction attribute information.
S47005, 실시예들에 따른 방법/장치는 잔차 속성정보를 전송한다.S47005, the method/device according to the embodiments transmits residual attribute information.
도48은 실시예들에 따른 포인트 클라우드 데이터 송신 방법을 나타낸다.48 shows a method for transmitting point cloud data according to embodiments.
실시예들에 따른 포인트 클라우드 데이터 송신 방법은 다음의 방법을 포함한다.The point cloud data transmission method according to the embodiments includes the following method.
S48000, 실시예들에 따른 방법은 포인트 클라우드 데이터를 획득한다. 실시예들에 따른 포인트 클라우드 데이터를 획득하는 방법은 도1, 도2, 도3 등에서 설명한 바와 같다.S48000, the method according to the embodiments acquires point cloud data. A method of acquiring point cloud data according to embodiments is as described with reference to FIGS. 1, 2, 3, and the like.
S48001, 실시예들에 따른 방법은 포인트 클라우드 데이터를 인코딩한다. 실시예들에 따른 인코딩 방법은 도4-9, 도12, 도14-16, 도18-22, 23, 25, 37 등에서 설명한 바와 같다.S48001, the method according to the embodiments encodes point cloud data. The encoding method according to the embodiments is as described in FIGS. 4-9, 12, 14-16, 18-22, 23, 25, 37, and the like.
S48002, 실시예들에 따른 방법은 포인트 클라우드 데이터를 전송한다. 실시예들에 따른 포인트 클라우드 데이터는 도1-3, 도14-16 등에서 설명한 봐와 같이 전송될 수 있다.S48002, the method according to the embodiments transmits point cloud data. Point cloud data according to embodiments may be transmitted as described in FIGS. 1-3 and 14-16.
도49는 실시예들에 따른 포인트 클라우드 데이터 수신 방법을 나타낸다.49 shows a method of receiving point cloud data according to embodiments.
실시예들에 따른 포인트 클라우드 데이터 수신 방법은 다음의 방법을 포함한다.A method of receiving point cloud data according to embodiments includes the following method.
S49000, 실시예들에 따른 방법은 포인트 클라우드 데이터를 수신한다. 실시예들에 따른 포인트 클라우드 데이터 수신 방법은 도1-2, 4, 11, 13, 14-16 등에서 설명한 바와 같다.S49000, the method according to the embodiments receives point cloud data. Point cloud data reception methods according to embodiments are as described in FIGS. 1-2, 4, 11, 13, 14-16, etc.
S49001, 실시예들에 따른 방법은 포인트 클라우드 데이터를 디코딩한다. 실시예들에 따른 포인트 클라우드 데이터 디코딩 방법은 도24, 25, 33, 34, 35, 38 등에서 설명한 바와 같다. S49001, the method according to the embodiments decodes the point cloud data. Point cloud data decoding methods according to embodiments are as described in FIGS. 24, 25, 33, 34, 35, 38, and the like.
S49002, 실시예들에 따른 방법은 포인트 클라우드 데이터를 렌더링한다. 실시예들에 따른 포인트 클라우드 데이터 렌더링(또는 디코딩) 방법은 도27-29, 39-46 등에서 설명한 시그널링 정보에 기반하여 처리될 수 있다.S49002, the method according to the embodiments renders the point cloud data. The point cloud data rendering (or decoding) method according to embodiments may be processed based on the signaling information described in FIGS. 27-29 and 39-46.
전술한 각각의 파트, 모듈 또는 유닛은 메모리(또는 저장 유닛)에 저장된 연속된 수행과정들을 실행하는 소프트웨어, 프로세서, 하드웨어 파트일 수 있다. 전술한 실시예에 기술된 각 단계들은 프로세서, 소프트웨어, 하드웨어 파트들에 의해 수행될 수 있다. 전술한 실시예에 기술된 각 모듈/블락/유닛들은 프로세서, 소프트웨어, 하드웨어로서 동작할 수 있다. 또한, 실시예들이 제시하는 방법들은 코드로서 실행될 수 있다. 이 코드는 프로세서가 읽을 수 있는 저장매체에 쓰여질 수 있고, 따라서 장치(apparatus)가 제공하는 프로세서에 의해 읽혀질 수 있다. Each of the above-described parts, modules or units may be software, processor, or hardware parts that execute successive processes stored in a memory (or storage unit). Each of the steps described in the above-described embodiment may be performed by processor, software, and hardware parts. Each module/block/unit described in the above-described embodiment may operate as a processor, software, or hardware. In addition, the methods suggested by the embodiments may be executed as code. This code can be written to a storage medium that can be read by the processor, and thus can be read by a processor provided by the apparatus.
설명의 편의를 위하여 각 도면을 나누어 설명하였으나, 각 도면에 서술되어 있는 실시 예들을 병합하여 새로운 실시 예를 구현하도록 설계하는 것도 가능하다. 그리고, 통상의 기술자의 필요에 따라, 이전에 설명된 실시 예들을 실행하기 위한 프로그램이 기록되어 있는 컴퓨터에서 판독 가능한 기록 매체를 설계하는 것도 실시예들의 권리범위에 속한다.For convenience of explanation, each drawing has been described separately, but it is also possible to design a new embodiment by merging the embodiments described in each drawing. In addition, designing a computer-readable recording medium in which a program for executing the previously described embodiments is recorded is also within the scope of the rights of the embodiments according to the needs of the skilled person.
실시예들에 따른 장치 및 방법은 상술한 바와 같이 설명된 실시 예들의 구성과 방법이 한정되게 적용될 수 있는 것이 아니라, 상술한 실시 예들은 다양한 변형이 이루어질 수 있도록 각 실시 예들의 전부 또는 일부가 선택적으로 조합되어 구성될 수도 있다.The apparatus and method according to the embodiments are not limitedly applicable to the configuration and method of the described embodiments as described above, but the above-described embodiments are all or part of each of the embodiments so that various modifications can be made. It may be configured in combination.
한편, 실시예들이 제안하는 방법을 네트워크 디바이스에 구비된, 프로세서가 읽을 수 있는 기록매체에, 프로세서가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 프로세서가 읽을 수 있는 기록매체는 프로세서에 의해 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 프로세서가 읽을 수 있는 기록 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등이 있으며, 또한, 인터넷을 통한 전송 등과 같은 캐리어 웨이브의 형태로 구현되는 것도 포함한다. 또한, 프로세서가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 프로세서가 읽을 수 있는 코드가 저장되고 실행될 수 있다.On the other hand, it is possible to implement the method proposed by the embodiments as a code readable by the processor on a recording medium readable by the processor provided in the network device. The processor-readable recording medium includes all types of recording devices that store data that can be read by the processor. Examples of recording media that can be read by the processor include ROM, RAM, CD-ROM, magnetic tape, floppy disk, optical data storage, etc., and also include those implemented in the form of carrier waves such as transmission through the Internet. . Further, the processor-readable recording medium is distributed over a computer system connected through a network, so that the processor-readable code can be stored and executed in a distributed manner.
또한, 이상에서는 실시예들의 바람직한 실시 예에 대하여 도시하고 설명하였지만, 실시예들은 상술한 특정의 실시 예에 한정되지 아니하며, 청구범위에서 청구하는 실시예들의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 실시예들의 기술적 사상이나 전망으로부터 개별적으로 이해돼서는 안 될 것이다.In addition, although preferred embodiments of the embodiments have been illustrated and described above, the embodiments are not limited to the specific embodiments described above, and the technical field to which the present invention belongs without departing from the gist of the embodiments claimed in the claims. In addition, various modifications can be implemented by those of ordinary skill in the art, and these modifications should not be understood individually from the technical idea or prospect of the embodiments.
실시예들의 사상이나 범위를 벗어나지 않고 실시예들에서 다양한 변경 및 변형이 가능함은 당업자에게 이해된다. 따라서, 실시예들은 첨부된 청구항 및 그 동등 범위 내에서 제공되는 실시예들의 변경 및 변형을 포함하는 것으로 의도된다.It is understood by those skilled in the art that various changes and modifications are possible in the embodiments without departing from the spirit or scope of the embodiments. Accordingly, the embodiments are intended to cover variations and modifications of the embodiments provided within the appended claims and their equivalents.
본 명세서에서 장치 및 방법 발명이 모두 언급되고, 장치 및 방법 발명 모두의 설명은 서로 보완하여 적용될 수 있다.In the present specification, both apparatus and method inventions are mentioned, and descriptions of both apparatus and method inventions may be applied to complement each other.
이 문서에서 “/”와 “,”는 “및/또는”으로 해석된다. 예를 들어, “A/B”는 “A및/또는 B”로 해석되고, “A, B”는 “A 및/또는 B”로 해석된다. 추가적으로, “A/B/C”는 “A, B 및/또는 C 중 적어도 하나”를 의미한다. 또한, “A, B, C”도 “A, B 및/또는 C 중 적어도 하나”를 의미한다. In this document, “/” and “,” are interpreted as “and/or”. For example, “A/B” is interpreted as “A and/or B”, and “A, B” is interpreted as “A and/or B”. Additionally, “A/B/C” means “at least one of A, B and/or C”. In addition, “A, B, C” also means “at least one of A, B and/or C”.
(In this document, the term “/”and “,” should be interpreted to indicate“and/or”. For instance, the expression “A/B”may mean “A and/or B.” Further, “A,B" may mean“A and/or B.” Further, “A/B/C may mean“at least one of A, B, and/or C.”Also,“A/B/C” may mean "at least one of A, B, and/or C.”(In this document, the term “/”and “,” should be interpreted to indicate“and/or”. For instance, the expression “A/B” may mean “A and/or B.” Further, “A, B" may mean“A and/or B.” Further, “A/B/C may mean“at least one of A, B, and/or C.”Also,“A/B/C” may mean "at least one of A, B, and/or C.”
추가적으로, 이 문서에서 “또는”는 “및/또는”으로 해석된다. 예를 들어, “A 또는 B”은, 1) “A”만을 의미하고, 2) “B”만을 의미하거나, 3) “A및 B”를 의미할 수 있다. 달리 표현하면, 본 문서의 “또는”은 “추가적으로 또는 대체적으로(additionally or alternatively)”를 의미할 수 있다. (Further, in the document, the term “or" should be interpreted to indicate “and/or”. For instance, the expression "AorB" in this document should be interpreted to indicaste "additionally or alternatively ".Additionally, in this document “or” is to be interpreted as “and/or”. For example, “A or B” may mean 1) only “A”, 2) only “B”, or 3) “A and B”. In other words, “or” in this document may mean “additionally or alternatively”. (Further, in the document, the term “or" should be interpreted to indicate “and/or”. For instance, the expression "AorB" in this document should be interpreted to indicaste "additionally or alternatively ".
실시예들의 다양한 엘리먼트들은 하드웨어, 소프트웨어, 펌웨어 또는 그것들의 조합에 의해 수행될 수 있다. 실시예들의 다양한 엘리먼트는 하드웨어 회로와 같은 싱글 칩 상에서 수행될 수 있다. 실시예들에 따라, 실시예들은 선택적으로 개별적인 침들 상에서 수행될 수 있다. 실시예들에 따라, 실시예들의 엘리먼트들 중 적어도 하나는 실시예들에 따른 동작을 수행하는 인스트럭션들을 포함하는 하나 또는 하나 이상의 프로세서 내에서 수행될 수 있다. Various elements of the embodiments may be performed by hardware, software, firmware, or a combination thereof. Various elements of the embodiments may be implemented on a single chip such as a hardware circuit. Depending on the embodiments, the embodiments may optionally be performed on individual needles. Depending on the embodiments, at least one of the elements of the embodiments may be executed in one or more processors including instructions for performing operations according to the embodiments.
제1, 제2 등과 같은 용어는 실시예들의 다양한 엘리먼트들을 설명하기 위해서 사용된다. 이러한 용어는 실시예들의 엘리먼트들의 해석을 제한하지 않는다. 이러한 용어는 하나의 엘리먼트 및 다른 엘리먼트 간의 구별을 위해서 사용된다. 예를 들어, 제1 사용자 인풋 시그널은 제2사용자 인풋 시그널로 지칭될 수 있다. 이와 유사하게, 제2사용자 인풋 시그널은 제1사용자 인풋시그널로 지칭될 수 있다. 이러한 용어는 실시예들의 범위 내에서 해석될 수 있다. 제1사용자 인풋 시그널 및 제2사용자 인풋 시그널은 모두 사용자 인풋 시그널들이고, 문맥 상 명확하게 지칭하지 않는 한 같은 사용자 인풋 시그널들을 의미하지 않는다.Terms such as first and second are used to describe various elements of the embodiments. These terms do not limit the interpretation of the elements of the embodiments. These terms are used to distinguish between one element and another. For example, a first user input signal may be referred to as a second user input signal. Similarly, the second user input signal may be referred to as a first user input signal. These terms can be interpreted within the scope of the embodiments. Both the first user input signal and the second user input signal are user input signals, and do not mean the same user input signals unless clearly indicated in context.
실시예들을 설명하기 위해 사용된 용어는 특정 실시예들을 설명하기 위한 목적으로 사용되고, 실시예들을 제한하기 위해서 의도되지 않는다. 실시예들의 설명 및 청구항에서 사용된 바와 같이, 문맥 상 명확하게 지칭하지 않는 한 단수는 복수를 포함하는 것으로 의도된다. 및/또는 표현은 용어 간의 모든 가능한 결합을 포함하는 의미로 사용된다. 포함한다 표현은 특징들, 수들, 단계들, 엘리먼트들, 및/또는 컴포넌트들이 존재하는 것을 설명하고, 추가적인 특징들, 수들, 단계들, 엘리먼트들, 및/또는 컴포넌트들을 포함하지 않는 것을 의미하지 않는다.The terms used to describe the embodiments are used for the purpose of describing specific embodiments, and are not intended to limit the embodiments. As used in the description of the embodiments and in the claims, the singular is intended to include the plural unless the context clearly indicates. And/or the expression is used in a sense including all possible combinations between terms. The include expression describes the existence of features, numbers, steps, elements, and/or components, and does not imply that no additional features, numbers, steps, elements, and/or components are included. .
실시예들을 설명하기 위해 사용되는, ~인 경우, ~때 등의 조건 표현은 선택적인 경우로만 제한 해석되지 않는다. 특정 조건을 만족하는 때, 특정 조건에 대응하여 관련 동작을 수행하거나, 관련 정의가 해석되도록 의도되었다.Conditional expressions such as when, when, and when used to describe the embodiments are not limited to an optional case. When a specific condition is satisfied, it is intended to perform a related operation in response to a specific condition or to interpret the related definition.
상술한 바와 같이, 실시예들을 실시하기 위한 최선의 형태에서 관련 내용을 설명하였다.As described above, related contents have been described in the best mode for carrying out the embodiments.
상술한 바와 같이, 실시예들은 포인트 클라우드 데이터 송수신 장치 및 시스템에 전체적 또는 부분적으로 적용될 수 있다.As described above, the embodiments may be applied wholly or partially to the point cloud data transmission/reception apparatus and system.
당업자는 실시예들의 범위 내에서 실시예들을 다양하게 변경 또는 변형할 수 있다.Those skilled in the art may variously change or modify the embodiments within the scope of the embodiments.
실시예들은 변경/변형들을 포함할 수 있고, 변경/변형은 청구항들 및 그 와 동일한 것들의 범위를 벗어나지 않는다.Embodiments may include changes/modifications, and changes/modifications do not depart from the scope of the claims and the same.

Claims (20)

  1. 포인트 클라우드 데이터를 획득하는 단계;Obtaining point cloud data;
    상기 포인트 클라우드 데이터를 인코딩하는 단계; 및Encoding the point cloud data; And
    상기 포인트 클라우드 데이터를 전송하는 단계; 를 포함하는,Transmitting the point cloud data; Containing,
    포인트 클라우드 데이터 송신 방법.Point cloud data transmission method.
  2. 제1항에 있어서,The method of claim 1,
    상기 인코딩하는 단계는 상기 포인트 클라우드 데이터의 속성 정보를 인코딩하는 단계를 포함하고,The encoding step includes encoding attribute information of the point cloud data,
    상기 속성 정보를 인코딩하는 단계는 상기 속성 정보를 예측하는 단계를 포함하는,The step of encoding the attribute information includes predicting the attribute information,
    포인트 클라우드 데이터 송신 방법.Point cloud data transmission method.
  3. 제2항에 있어서,The method of claim 2,
    상기 속성 정보를 예측하는 단계는Predicting the attribute information
    상기 포인트 클라우드 데이터의 속성 정보 및 재구성된 지오메트리 정보에 기반하여 LOD (Level of Detail) 를 생성하고,Generates a level of detail (LOD) based on attribute information of the point cloud data and reconstructed geometry information,
    상기 LOD에 기반하여 이웃 포인트 집합을 생성하고,Generate a set of neighboring points based on the LOD,
    상기 이웃 포인트 집합에 대한 속성 코딩을 수행하는,Performing attribute coding on the neighboring point set,
    포인트 클라우드 데이터 송신 방법.Point cloud data transmission method.
  4. 제3항에 있어서,The method of claim 3,
    상기 LOD에 대한 옥트리의 부모 노드에 기반하여 상기 이웃 포인트 집합을 검색하여 상기 이웃 포인트 집합을 생성하는,Generating the neighboring point set by searching for the neighboring point set based on the parent node of the octree for the LOD,
    포인트 클라우드 데이터 송신 방법.Point cloud data transmission method.
  5. 제4항에 있어서,The method of claim 4,
    상기 이웃 포인트 집합에 포함된 포인트들의 유사 속성에 기반하여 상기 이웃 포인트 집합을 생성하는,Generating the neighboring point set based on the similarity property of points included in the neighboring point set,
    포인트 클라우드 데이터 송신 방법.Point cloud data transmission method.
  6. 포인트 클라우드 데이터를 획득하는 획득부;An acquisition unit for acquiring point cloud data;
    상기 포인트 클라우드 데이터를 인코딩하는 인코더; 및An encoder that encodes the point cloud data; And
    상기 포인트 클라우드 데이터를 전송하는 트랜스미터; 를 포함하는,A transmitter for transmitting the point cloud data; Containing,
    포인트 클라우드 데이터 송신 장치.Point cloud data transmission device.
  7. 제6항에 있어서,The method of claim 6,
    상기 인코더는 상기 포인트 클라우드 데이터의 속성 정보를 인코딩하는 속성 정보 인코더를 포함하고,The encoder includes an attribute information encoder for encoding attribute information of the point cloud data,
    상기 속성 정보 인코더는 상기 속성 정보를 예측하는,The attribute information encoder predicts the attribute information,
    포인트 클라우드 데이터 송신 장치.Point cloud data transmission device.
  8. 제7항에 있어서,The method of claim 7,
    상기 포인트 클라우드 데이터의 속성 정보 및 재구성된 지오메트리 정보에 기반하여 LOD (Level of Detail) 를 생성하고,Generates a level of detail (LOD) based on attribute information of the point cloud data and reconstructed geometry information,
    상기 LOD에 기반하여 이웃 포인트 집합을 생성하고,Generate a set of neighboring points based on the LOD,
    상기 이웃 포인트 집합에 대한 속성 코딩을 수행하여, 상기 속성 정보를 예측하는,Predicting the attribute information by performing attribute coding on the neighboring point set,
    포인트 클라우드 데이터 송신 장치.Point cloud data transmission device.
  9. 제8항에 있어서,The method of claim 8,
    상기 LOD에 대한 옥트리의 부모 노드에 기반하여 상기 이웃 포인트 집합을 검색하여 상기 이웃 포인트 집합을 생성하는,Generating the neighboring point set by searching for the neighboring point set based on the parent node of the octree for the LOD,
    포인트 클라우드 데이터 송신 장치.Point cloud data transmission device.
  10. 제9항에 있어서,The method of claim 9,
    상기 이웃 포인트 집합에 포함된 포인트들의 유사 속성에 기반하여 상기 이웃 포인트 집합을 생성하는,Generating the neighboring point set based on the similarity attribute of points included in the neighboring point set,
    포인트 클라우드 데이터 송신 장치.Point cloud data transmission device.
  11. 포인트 클라우드 데이터를 수신하는 단계;Receiving point cloud data;
    상기 포인트 클라우드 데이터를 디코딩하는 단계; 및Decoding the point cloud data; And
    상기 포인트 클라우드 데이터를 렌더링하는 단계; 를 포함하는,Rendering the point cloud data; Containing,
    포인트 클라우드 데이터 수신 방법.How to receive point cloud data.
  12. 제11항에 있어서,The method of claim 11,
    상기 디코딩하는 단계는 상기 포인트 클라우드 데이터의 속성 정보를 디코딩하는 단계를 포함하고,The decoding step includes decoding attribute information of the point cloud data,
    상기 속성정보를 디코딩하는 단계는 상기 속성 정보를 예측하는 단계를 포함하는,The step of decoding the attribute information includes predicting the attribute information,
    포인트 클라우드 데이터 수신 방법.How to receive point cloud data.
  13. 제12항에 있어서,The method of claim 12,
    상기 속성 정보를 예측하는 단계는Predicting the attribute information
    상기 포인트 클라우드 데이터의 속성 정보 및 재구성된 지오메트리 정보에 기반하여 LOD (Level of Detail) 를 생성하고,Generates a level of detail (LOD) based on attribute information of the point cloud data and reconstructed geometry information,
    상기 LOD에 기반하여 이웃 포인트 집합을 생성하고,Generate a set of neighboring points based on the LOD,
    상기 이웃 포인트 집합에 대한 속성 코딩을 수행하는,Performing attribute coding on the neighboring point set,
    포인트 클라우드 데이터 수신 방법.How to receive point cloud data.
  14. 제13항에 있어서,The method of claim 13,
    상기 LOD에 대한 옥트리의 부모 노드에 기반하여 상기 이웃 포인트 집합을 검색하여 상기 이웃 포인트 집합을 생성하는,Generating the neighboring point set by searching for the neighboring point set based on the parent node of the octree for the LOD,
    포인트 클라우드 데이터 수신 방법.How to receive point cloud data.
  15. 제14항에 있어서,The method of claim 14,
    상기 이웃 포인트 집합에 포함된 포인트들의 유사 속성에 기반하여 상기 이웃 포인트 집합을 생성하는,Generating the neighboring point set based on the similarity property of points included in the neighboring point set,
    포인트 클라우드 데이터 수신 방법.How to receive point cloud data.
  16. 포인트 클라우드 데이터를 수신하는 수신부;A receiver for receiving point cloud data;
    상기 포인트 클라우드 데이터를 디코딩하는 디코더; 및A decoder for decoding the point cloud data; And
    상기 포인트 클라우드 데이터를 렌더링하는 렌더러; 를 포함하는,A renderer for rendering the point cloud data; Containing,
    포인트 클라우드 데이터 수신 장치.Point cloud data receiving device.
  17. 제16항에 있어서,The method of claim 16,
    상기 디코더는 상기 포인트 클라우드 데이터의 속성 정보를 디코딩하는 속성 정보 디코더를 포함하고,The decoder includes an attribute information decoder for decoding attribute information of the point cloud data,
    상기 속성정보 디코더는 상기 속성 정보를 예측하는,The attribute information decoder predicts the attribute information,
    포인트 클라우드 데이터 수신 장치.Point cloud data receiving device.
  18. 제17항에 있어서,The method of claim 17,
    상기 포인트 클라우드 데이터의 속성 정보 및 재구성된 지오메트리 정보에 기반하여 LOD (Level of Detail) 를 생성하고,Generates a level of detail (LOD) based on attribute information of the point cloud data and reconstructed geometry information,
    상기 LOD에 기반하여 이웃 포인트 집합을 생성하고,Generate a set of neighboring points based on the LOD,
    상기 이웃 포인트 집합에 대한 속성 코딩을 수행하여, 상기 속성 정보를 예측하는,Predicting the attribute information by performing attribute coding on the neighboring point set,
    포인트 클라우드 데이터 수신 장치.Point cloud data receiving device.
  19. 제18항에 있어서,The method of claim 18,
    상기 LOD에 대한 옥트리의 부모 노드에 기반하여 상기 이웃 포인트 집합을 검색하여 상기 이웃 포인트 집합을 생성하는,Generating the neighboring point set by searching for the neighboring point set based on the parent node of the octree for the LOD,
    포인트 클라우드 데이터 수신 장치.Point cloud data receiving device.
  20. 제19항에 있어서,The method of claim 19,
    상기 이웃 포인트 집합에 포함된 포인트들의 유사 속성에 기반하여 상기 이웃 포인트 집합을 생성하는,Generating the neighboring point set based on the similarity property of points included in the neighboring point set,
    포인트 클라우드 데이터 수신 장치.Point cloud data receiving device.
PCT/KR2019/018176 2019-06-21 2019-12-20 Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, point cloud data reception method WO2020256244A1 (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR10-2019-0074321 2019-06-21
KR20190074321 2019-06-21
KR20190080846 2019-07-04
KR10-2019-0080846 2019-07-04

Publications (1)

Publication Number Publication Date
WO2020256244A1 true WO2020256244A1 (en) 2020-12-24

Family

ID=74040511

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2019/018176 WO2020256244A1 (en) 2019-06-21 2019-12-20 Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, point cloud data reception method

Country Status (1)

Country Link
WO (1) WO2020256244A1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022217472A1 (en) * 2021-04-13 2022-10-20 Oppo广东移动通信有限公司 Point cloud encoding and decoding methods, encoder, decoder, and computer readable storage medium
WO2023272730A1 (en) * 2021-07-02 2023-01-05 Beijing Xiaomi Mobile Software Co., Ltd. Method for encoding and decoding a point cloud
WO2023172706A1 (en) * 2022-03-09 2023-09-14 Innopeak Technology, Inc. Attribute level coding for geometry point cloud coding

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180122947A (en) * 2017-05-04 2018-11-14 톰슨 라이센싱 Method and apparatus to encode and decode two-dimension point clouds
US20190043253A1 (en) * 2018-09-07 2019-02-07 Intel Corporation View dependent 3d reconstruction mechanism
KR20190052089A (en) * 2016-09-19 2019-05-15 인터디지털 브이씨 홀딩스 인코포레이티드 Method and device for reconfiguring a point cloud representing scene using bright field data
KR20190053129A (en) * 2017-11-09 2019-05-17 삼성전자주식회사 Apparatus and method for point cloud compression using non-orthogonal projection
US20190156519A1 (en) * 2017-11-22 2019-05-23 Apple Inc. Point cloud compression with multi-layer projection

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190052089A (en) * 2016-09-19 2019-05-15 인터디지털 브이씨 홀딩스 인코포레이티드 Method and device for reconfiguring a point cloud representing scene using bright field data
KR20180122947A (en) * 2017-05-04 2018-11-14 톰슨 라이센싱 Method and apparatus to encode and decode two-dimension point clouds
KR20190053129A (en) * 2017-11-09 2019-05-17 삼성전자주식회사 Apparatus and method for point cloud compression using non-orthogonal projection
US20190156519A1 (en) * 2017-11-22 2019-05-23 Apple Inc. Point cloud compression with multi-layer projection
US20190043253A1 (en) * 2018-09-07 2019-02-07 Intel Corporation View dependent 3d reconstruction mechanism

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022217472A1 (en) * 2021-04-13 2022-10-20 Oppo广东移动通信有限公司 Point cloud encoding and decoding methods, encoder, decoder, and computer readable storage medium
WO2023272730A1 (en) * 2021-07-02 2023-01-05 Beijing Xiaomi Mobile Software Co., Ltd. Method for encoding and decoding a point cloud
WO2023172706A1 (en) * 2022-03-09 2023-09-14 Innopeak Technology, Inc. Attribute level coding for geometry point cloud coding

Similar Documents

Publication Publication Date Title
WO2021066312A1 (en) Device for transmitting point cloud data, method for transmitting point cloud data, device for receiving point cloud data, and method for receiving point cloud data
WO2021066615A1 (en) Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method
WO2021141352A2 (en) Point cloud data transmission device, point cloud data transmission method, point cloud data reception device and point cloud data reception method
WO2021049758A1 (en) Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method
WO2021210764A1 (en) Apparatus for transmitting point cloud data, method for transmitting point cloud data, apparatus for receiving point cloud data, and method for receiving point cloud data
WO2021025251A1 (en) Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method
WO2020189943A1 (en) Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method
WO2020197086A1 (en) Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method
WO2021002604A1 (en) Point cloud data processing method and apparatus
WO2020246689A1 (en) Point cloud data transmission device, point cloud data transmission method, point cloud data reception device and point cloud data reception method
WO2021002592A1 (en) Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method
WO2021215849A1 (en) Point cloud data processing device and processing method
WO2021060850A1 (en) Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method
WO2021246843A1 (en) Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method
WO2021261840A1 (en) Point cloud data transmission device, point cloud data transmission method, point cloud data reception device and point cloud data reception method
WO2021045603A1 (en) Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method
WO2021210743A1 (en) Point cloud data transmission apparatus, point cloud data transmission method, point cloud data reception apparatus, and point cloud data reception method
WO2020189876A1 (en) Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method
WO2021242064A1 (en) Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method
WO2022098152A1 (en) Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method
WO2021206291A1 (en) Point cloud data transmission device, transmission method, processing device, and processing method
WO2022015006A1 (en) Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method
WO2022019713A1 (en) Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method
WO2022050650A1 (en) Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method
WO2020256244A1 (en) Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, point cloud data reception method

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 19933321

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19933321

Country of ref document: EP

Kind code of ref document: A1