[go: up one dir, main page]

WO2025205259A1 - Three-dimensional data encoding method, three-dimensional data decoding method, three-dimensional data encoding device, and three-dimensional data decoding device - Google Patents

Three-dimensional data encoding method, three-dimensional data decoding method, three-dimensional data encoding device, and three-dimensional data decoding device

Info

Publication number
WO2025205259A1
WO2025205259A1 PCT/JP2025/010521 JP2025010521W WO2025205259A1 WO 2025205259 A1 WO2025205259 A1 WO 2025205259A1 JP 2025010521 W JP2025010521 W JP 2025010521W WO 2025205259 A1 WO2025205259 A1 WO 2025205259A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
encoding
unit
information
decoding
Prior art date
Legal status (The legal status 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 status listed.)
Pending
Application number
PCT/JP2025/010521
Other languages
French (fr)
Japanese (ja)
Inventor
賀敬 井口
敏康 杉尾
孝啓 西
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Intellectual Property Corp of America
Original Assignee
Panasonic Intellectual Property Corp of America
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 Panasonic Intellectual Property Corp of America filed Critical Panasonic Intellectual Property Corp of America
Publication of WO2025205259A1 publication Critical patent/WO2025205259A1/en
Pending legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding

Definitions

  • This disclosure relates to a three-dimensional data encoding method, a three-dimensional data decoding method, a three-dimensional data encoding device, and a three-dimensional data decoding device.
  • the purpose of this disclosure is to provide a three-dimensional data encoding method, a three-dimensional data decoding method, a three-dimensional data encoding device, or a three-dimensional data decoding device that can improve encoding efficiency.
  • This disclosure provides a three-dimensional data encoding method, a three-dimensional data decoding method, a three-dimensional data encoding device, or a three-dimensional data decoding device that can improve encoding efficiency.
  • FIG. 8 is a block diagram of a first encoding unit according to the embodiment.
  • FIG. 9 is a diagram illustrating a configuration of a first decoding unit according to the embodiment.
  • FIG. 10 is a block diagram of a first decoding unit according to the embodiment.
  • FIG. 11 is a diagram illustrating a configuration of a second encoding unit according to the embodiment.
  • FIG. 12 is a block diagram of a second encoding unit according to the embodiment.
  • FIG. 13 is a diagram illustrating a configuration of a second decoding unit according to the embodiment.
  • FIG. 14 is a block diagram of a second decoding unit according to the embodiment.
  • FIG. 15 is a block diagram of a position information encoding unit according to an embodiment.
  • FIG. 16 is a block diagram of a position information decoding unit according to the embodiment.
  • FIG. 17 is a block diagram of an octree encoding unit according to an embodiment.
  • FIG. 18 is a diagram illustrating an example of location information according to the embodiment.
  • FIG. 19 is a diagram showing an example of an octree representation of position information according to an embodiment.
  • FIG. 20 is a block diagram of an octree decoding unit according to an embodiment.
  • FIG. 21 is a block diagram of an attribute information encoding unit according to an embodiment.
  • FIG. 22 is a block diagram of an attribute information decoding unit according to the embodiment.
  • FIG. 23 is a block diagram of an attribute information encoding unit according to an embodiment.
  • FIG. 21 is a block diagram of an attribute information encoding unit according to an embodiment.
  • FIG. 24 is a block diagram of an attribute information decoding unit according to the embodiment.
  • FIG. 25 is a block diagram of a three-dimensional data encoding device according to an embodiment.
  • FIG. 26 is a block diagram of a three-dimensional data decoding device according to an embodiment.
  • FIG. 27 is a diagram showing the relationship between tiles and slices according to the embodiment.
  • FIG. 28 is a diagram illustrating an example of the configuration of a bitstream according to the embodiment.
  • FIG. 29 is a block diagram showing an example of the configuration of a three-dimensional data encoding device according to an embodiment.
  • FIG. 30 is a diagram showing an example of the structure of coded data and NAL units according to an embodiment.
  • FIG. 31 is a diagram illustrating an example of the semantics of pcc_nal_unit_type according to an embodiment.
  • FIG. 32 is a diagram showing a part of the processing in the three-dimensional data generation system according to the embodiment.
  • FIG. 33 is a diagram illustrating components of Gaussian data according to the embodiment.
  • FIG. 34 is a diagram illustrating a rendering process of Gaussian data according to an embodiment.
  • FIG. 35 is a diagram illustrating an example of the number of SH coefficients of spherical harmonic functions according to the embodiment.
  • FIG. 36 is a diagram illustrating an example of input and output of a spherical harmonic function according to an embodiment.
  • FIG. 37 is a diagram illustrating a rendering process according to an embodiment.
  • FIG. 38 is a block diagram of an encoding device according to an embodiment.
  • FIG. 39 is a block diagram of a decoding device according to an embodiment.
  • FIG. 40 is a block diagram of an encoding device according to an embodiment.
  • FIG. 41 is a block diagram of a decoding device according to an embodiment.
  • FIG. 42 is a diagram illustrating an example of mapping of Gaussian data according to an embodiment.
  • FIG. 43 is a diagram illustrating an example of mapping information according to an embodiment.
  • FIG. 44 is a diagram illustrating an example of the configuration of conversion information according to the embodiment.
  • FIG. 45 is a diagram illustrating an example of the structure of coded data according to an embodiment.
  • FIG. 46 is a diagram showing an example of the G-PCC attribute type of Gaussian data according to the embodiment.
  • FIG. 47 is a flowchart of processing by the decoding device according to the embodiment.
  • FIG. 48 is a block diagram illustrating a system for encoding and decoding first Gaussian data according to an embodiment.
  • FIG. 49 is a block diagram of a second pre-processing unit according to an embodiment.
  • FIG. 50 is a diagram illustrating a conversion process according to an embodiment.
  • FIG. 51 is a diagram showing a protocol stack of an encoding standard for encoding Gaussian data according to an embodiment.
  • FIG. 52 is a block diagram of an encoding device according to an embodiment.
  • FIG. 53 is a block diagram of a decoding device according to an embodiment.
  • FIG. 54 is a flowchart of the encoding process according to the embodiment.
  • FIG. 55 is a flowchart of the decoding process according to the embodiment.
  • FIG. 56 is a diagram showing the basic data structure of a Gaussian codec according to an embodiment.
  • FIG. 57 is a diagram showing an example of the structure of a 3D data unit according to an embodiment.
  • FIG. 58 is a diagram showing an example of the configuration of a 3DPS according to an embodiment.
  • FIG. 59 is a diagram showing an example of the configuration of Gaussian data component information according to the embodiment.
  • Figure 60 is a diagram showing an example of the configuration of G-PCC mapping information relating to an embodiment.
  • FIG. 61 is a diagram showing an example of the configuration of V3C mapping information according to an embodiment.
  • FIG. 62 is a diagram illustrating an example of the configuration of a Gaussian data unit according to an embodiment.
  • FIG. 63 is a diagram illustrating a protocol stack for a standard for encoding 3D Gaussians according to an embodiment.
  • FIG. 64 is a diagram showing a protocol stack of a standard for encoding a 3D model according to an embodiment.
  • FIG. 65 is a diagram illustrating an example of the configuration of Gaussian component information according to the embodiment.
  • FIG. 66 is a diagram showing a protocol stack of an encoding standard for encoding Gaussian data according to an embodiment.
  • FIG. 67 is a block diagram of an encoding device according to an embodiment.
  • FIG. 68 is a block diagram of a decoding device according to an embodiment.
  • FIG. 69 is a flowchart of the encoding process according to the embodiment.
  • FIG. 70 is a flowchart of the decoding process according to the embodiment.
  • FIG. 71 is a diagram showing an example of the configuration of an extended V3C unit according to an embodiment.
  • FIG. 72 is a diagram illustrating an example of the configuration of a V3C unit according to an embodiment.
  • Figure 73 is a diagram showing an example configuration of a GCL NAL unit relating to an embodiment.
  • FIG. 74 is a diagram showing an example of the configuration of an extended V3C parameter set according to an embodiment.
  • FIG. 75 is a diagram showing an example of the configuration of Gaussian data component information according to the embodiment.
  • FIG. 76 is a diagram showing an example of the configuration of video mapping information according to the embodiment.
  • FIG. 77 is a diagram illustrating an example of the configuration of 3D mapping information according to the embodiment.
  • FIG. 78 is a diagram showing an extended V3C protocol stack according to an embodiment.
  • FIG. 79 is a diagram showing an extended V3C protocol stack according to an embodiment.
  • FIG. 80 is a flowchart of the encoding process performed by the encoding device according to the embodiment.
  • FIG. 81 is a block diagram of an encoding device according to an embodiment.
  • FIG. 82 is a flowchart of the decoding process by the decoding device according to the embodiment.
  • FIG. 83 is a block diagram of a decoding device according to an embodiment.
  • a three-dimensional data encoding method is a three-dimensional data encoding method for encoding three-dimensional data including one or more first components, the method selecting one of a plurality of encoding methods including a first encoding method that is a video-based three-dimensional data encoding method and a second encoding method different from the first encoding method, and if the first encoding method is selected, generating first encoded data by encoding the one or more first components using the first encoding method, and if the second encoding method is selected, generating second encoded data by encoding the one or more first components using the second encoding method, storing first information indicating the selected encoding method in first metadata that is an extension of the metadata of the first encoding method, and generating a bitstream including the first metadata and the first encoded data or the second encoded data.
  • the three-dimensional data encoding method may further convert the one or more first components into one or more second components corresponding to the selected encoding method, and if the first encoding method is selected, generate the first encoded data by encoding the one or more second components using the first encoding method, and if the second encoding method is selected, generate the second encoded data by encoding the one or more second components using the second encoding method, and the first metadata may further include second information indicating a correspondence between the one or more first components and the one or more second components.
  • the three-dimensional data encoding method can encode three-dimensional data using the selected encoding method by converting the data into a format that corresponds to the selected encoding method. Furthermore, the decoding device can convert multiple second components into multiple first components using second information included in the bitstream.
  • the encoding device to selectively select an encoding method to use for encoding three-dimensional data from multiple encoding methods, potentially improving encoding efficiency.
  • the three-dimensional data decoding method can appropriately decode encoded data generated by the encoding device.
  • a system capable of easily implementing the above processing can be constructed.
  • the encoded data may be generated by encoding one or more second components resulting from the conversion of the one or more first components
  • the three-dimensional data decoding method may further include: acquiring, from the first metadata, second information indicating a correspondence between the one or more first components and the one or more second components; if the first information indicates the first encoding method, generating the one or more second components by decoding the encoded data using the first decoding method; if the first information indicates the second encoding method, generating the one or more second components by decoding the encoded data using the second decoding method; and converting the one or more second components into the one or more first components using the correspondence indicated in the second information.
  • the encoding device can encode three-dimensional data using the selected encoding method by converting the data into a format compatible with the selected encoding method. Furthermore, the three-dimensional data decoding device can convert multiple second components into multiple first components using second information included in the bitstream.
  • the second encoding method may be a geometry-based three-dimensional data encoding method.
  • the second encoding method may be a neural network-based three-dimensional data encoding method.
  • the second encoding method may be a three-dimensional data encoding method using AI.
  • the three-dimensional data may be Gaussian data.
  • a three-dimensional data encoding device is a three-dimensional data encoding device that encodes three-dimensional data including one or more first components, and includes a processor and a memory.
  • the processor uses the memory to select one of a plurality of encoding methods, including a first encoding method that is a video-based three-dimensional data encoding method and a second encoding method different from the first encoding method. If the first encoding method is selected, the processor generates first encoded data by encoding the one or more first components using the first encoding method. If the second encoding method is selected, the processor generates second encoded data by encoding the one or more first components using the second encoding method.
  • the processor stores first information indicating the selected encoding method in first metadata that is an extension of the metadata for the first encoding method.
  • the processor generates a bitstream that includes the first metadata and the first encoded data or the second encoded data.
  • a three-dimensional data decoding device is a three-dimensional data decoding device that decodes three-dimensional data including one or more first components, and includes a processor and a memory.
  • the processor uses the memory to obtain a bitstream that includes encoded data and first metadata, which is an extension of the metadata of a first encoding method that is a video-based three-dimensional data encoding method.
  • the processor obtains, from the first metadata, first information indicating which encoding method, out of multiple encoding methods including the first encoding method and a second encoding method, was used to encode the one or more first components.
  • the encoded data is decoded using a first decoding method corresponding to the first encoding method to generate the one or more first components. If the first information indicates the second encoding method, the encoded data is decoded using a second decoding method corresponding to the second encoding method to generate the one or more first components.
  • the encoding device allows the encoding device to selectively select from multiple encoding methods the encoding method to use for encoding 3D data. This potentially improves encoding efficiency. Furthermore, the 3D data decoding device can properly decode the encoded data generated by the encoding device. Furthermore, by expanding the video-based 3D data encoding method, a system capable of easily implementing the above processing can be constructed.
  • Fig. 1 is a diagram showing an example of the configuration of a three-dimensional data encoding/decoding system according to this embodiment.
  • the three-dimensional data encoding/decoding system includes a three-dimensional data encoding system 101, a three-dimensional data decoding system 102, a sensor terminal 103, and an external connection unit 104.
  • the three-dimensional data encoding system 101 includes a three-dimensional data generation system 111, a presentation unit 112, an encoding unit 113, a multiplexing unit 114, an input/output unit 115, and a control unit 116.
  • the three-dimensional data generation system 111 includes a sensor information acquisition unit 117 and a three-dimensional data generation unit 118.
  • the sensor information acquisition unit 117 acquires sensor information (sensor signals) from the sensor terminal 103 and outputs the sensor information to the three-dimensional data generation unit 118.
  • the three-dimensional data generation unit 118 generates three-dimensional data from the sensor information and outputs the three-dimensional data to the encoding unit 113.
  • the presentation unit 112 presents the sensor information or three-dimensional data to the user. For example, the presentation unit 112 displays information or an image based on the sensor information or three-dimensional data.
  • the encoding unit 113 encodes (compresses) the three-dimensional data and outputs the resulting encoded data, control information obtained during the encoding process, and other additional information to the multiplexing unit 114.
  • the additional information includes, for example, sensor information.
  • the multiplexing unit 114 generates multiplexed data by multiplexing the coded data input from the coding unit 113, control information, and additional information.
  • the format of the multiplexed data is, for example, a file format for storage or a packet format for transmission.
  • the input/output unit 115 (e.g., a communication unit or interface) outputs the multiplexed data to the outside.
  • the multiplexed data is stored in a storage unit such as internal memory.
  • the control unit 116 (or application execution unit) controls each processing unit. In other words, the control unit 116 controls encoding, multiplexing, etc.
  • the sensor information may be input to the encoding unit 113 or the multiplexing unit 114.
  • the input/output unit 115 may output the three-dimensional data or encoded data directly to the outside.
  • the transmission signal (multiplexed data) output from the three-dimensional data encoding system 101 is input to the three-dimensional data decoding system 102 via the external connection unit 104.
  • the three-dimensional data decoding system 102 generates three-dimensional data such as three-dimensional point cloud data or three-dimensional mesh data by decoding the encoded data or multiplexed data.
  • the three-dimensional data decoding system 102 may be a three-dimensional data decoding device realized by a single device, or may be a system realized by multiple devices.
  • the three-dimensional data decoding device may also include some of the multiple processing units included in the three-dimensional data decoding system 102.
  • the three-dimensional data decoding system 102 includes a sensor information acquisition unit 121, an input/output unit 122, a demultiplexing unit 123, a decoding unit 124, a presentation unit 125, a user interface 126, and a control unit 127.
  • the sensor information acquisition unit 121 acquires sensor information (sensor signals) from the sensor terminal 103.
  • the input/output unit 122 acquires the transmission signal, decodes the multiplexed data (file format or packets) from the transmission signal, and outputs the multiplexed data to the demultiplexer unit 123.
  • the demultiplexing unit 123 obtains the coded data, control information, and additional information from the multiplexed data, and outputs the coded data, control information, and additional information to the decoding unit 124.
  • the decoding unit 124 reconstructs the three-dimensional data by decoding the encoded data.
  • the presentation unit 125 presents the three-dimensional data to the user. For example, the presentation unit 125 displays information or images based on the three-dimensional data.
  • the user interface 126 acquires instructions based on user operations.
  • the control unit 127 (or application execution unit) controls each processing unit. In other words, the control unit 127 controls demultiplexing, decoding, presentation, etc.
  • the input/output unit 122 may acquire the three-dimensional data or encoded data directly from outside.
  • the presentation unit 125 may also acquire additional information such as sensor information and present information based on the additional information.
  • the presentation unit 125 may also present information based on user instructions acquired by the user interface 126.
  • the sensor terminal 103 generates sensor information, which is information obtained by a sensor.
  • the sensor terminal 103 is a terminal equipped with a sensor or camera, and may be, for example, a moving object such as an automobile, a flying object such as an airplane, a mobile terminal, or a camera.
  • Sensor information that can be acquired by the sensor terminal 103 includes, for example, (1) the distance between the sensor terminal 103 and an object, or the reflectance of the object, obtained from a LIDAR, millimeter-wave radar, or infrared sensor, and (2) the distance between the camera and the object, or the reflectance of the object, obtained from multiple monocular camera images or stereo camera images.
  • the sensor information may also include the sensor's attitude, orientation, gyro (angular velocity), position (GPS information or altitude), speed, acceleration, etc.
  • the sensor information may also include temperature, air pressure, humidity, magnetism, etc.
  • the external connection unit 104 is realized by an integrated circuit (LSI or IC), an external storage unit, communication with a cloud server via the Internet, broadcasting, etc.
  • LSI or IC integrated circuit
  • IC integrated circuit
  • cloud server via the Internet
  • broadcasting etc.
  • FIG. 2 is a diagram showing the structure of point cloud data.
  • Figure 3 is a diagram showing an example of the structure of a data file in which information about point cloud data is described.
  • Point cloud data contains data for multiple points.
  • the data for each point includes location information (three-dimensional coordinates) and attribute information for that location information.
  • a collection of multiple points is called a point cloud.
  • a point cloud represents the three-dimensional shape of an object.
  • Position information such as three-dimensional coordinates is sometimes called geometry.
  • the data for each point may include attribute information of multiple attribute types. Attribute types include, for example, color or reflectance.
  • One piece of attribute information may be associated with one piece of location information, or multiple pieces of attribute information with different attribute types may be associated with one piece of location information. Furthermore, multiple pieces of attribute information of the same attribute type may be associated with one piece of location information.
  • the data file configuration example shown in Figure 3 is an example where there is a one-to-one correspondence between location information and attribute information, and shows the location information and attribute information of N points that make up the point cloud data.
  • Position information is, for example, information on the three axes x, y, and z. Attribute information is, for example, RGB color information.
  • a typical data file is a ply file.
  • FIG. 4 is a diagram showing an example of the structure of mesh data.
  • Figure 5 is a diagram showing an example of the structure of a data file in which information about mesh data is described.
  • Mesh data is a data format used in CG (Computer Graphics).
  • Mesh data represents the three-dimensional shape of an object through a collection of surface information.
  • the surface information is polygons such as triangles or quadrangles, and is also called a polygon or polygon mesh.
  • Mesh data consists of a 3D point cloud (a set of points with 3D position information and attribute information corresponding to that position information), as well as a set of 3D points as vertices, edges connecting two vertices, and faces enclosed by the edges.
  • Vertices may have attribute information such as color information, reflectance, or normal vectors for the point. Information indicating the relationship between the vertices that make up an edge or face is also called connectivity. The front and back of a face can be expressed by the direction of the normal vector for the point. Mesh data may also have attribute information for faces.
  • An example of a mesh data file format is an object file.
  • the data file indicates the position information G(1) to G(N) of the N vertices that make up the mesh, and the vertex attribute information A(1) to A(N).
  • the data file does not have to include attribute information.
  • the attribute information does not have to correspond one-to-one to the vertices.
  • Figure 5 shows an example in which a data file has 1 to M pieces of attribute information A2.
  • Face information is represented by a combination of vertex indices.
  • attribute information may be recorded in a file separate from the data file, with the data file indicating its pointer information.
  • attribute information may be stored in a two-dimensional attribute map file, with the file name of the attribute map and the two-dimensional coordinates in the attribute map recorded in attribute information A2 of the data file. Either method can be used to specify attribute information for a point.
  • Figure 6 is a diagram showing the types of three-dimensional data. As shown in Figure 6, three-dimensional data includes static objects and dynamic objects.
  • a static object is three-dimensional data at any time (a certain time).
  • a dynamic object is three-dimensional data that changes over time.
  • three-dimensional point cloud data at a certain time will be referred to as a PCC (Point Cloud Compression) frame, or frame.
  • three-dimensional mesh data at a certain time will be referred to as a mesh frame, or frame.
  • the multiple points that make up an object may have certain limitations on the area, pixels, or number of points, as in normal video data. Also, the multiple points that make up an object may not have a limited area, as in map information.
  • Sensor information is acquired by various methods, such as distance sensors such as LIDAR or range finders, stereo cameras, or a combination of multiple monocular cameras.
  • the three-dimensional data generation unit 118 generates three-dimensional data based on the sensor information acquired by the sensor information acquisition unit 117.
  • the three-dimensional data generation unit 118 generates position information as three-dimensional data and adds attribute information for that position information to the position information.
  • the three-dimensional data generation system 111 is included in the three-dimensional data encoding system 101, but it may also be provided independently outside the three-dimensional data encoding system 101.
  • the encoding unit 113 generates encoded data by encoding the three-dimensional data.
  • the first is an encoding method that uses position information, and this encoding method will be referred to as the first encoding method hereafter.
  • the second is an encoding method that uses a video codec, and this encoding method will be referred to as the second encoding method hereafter.
  • the decoding unit 124 decodes the encoded data to decode the point cloud data.
  • the multiplexing unit 114 generates multiplexed data by multiplexing the encoded data using an existing multiplexing method. The generated multiplexed data is transmitted or stored. In addition to the PCC encoded data, the multiplexing unit 114 multiplexes other media such as video, audio, subtitles, applications, and files, or reference time information.
  • the multiplexing unit 114 may also multiplex sensor information or attribute information related to the three-dimensional data.
  • Multiplexing methods or file formats include ISOBMFF, and ISOBMFF-based transmission methods such as MPEG-DASH, MMT, MPEG-2 TS Systems, and RTP.
  • the input/output unit 115 transmits the multiplexed data using a method suited to the transmission medium or storage medium, such as broadcasting or communication.
  • the input/output unit 115 may communicate with other devices via the Internet, or with a storage unit such as a cloud server.
  • Communication protocols include http, ftp, TCP, and UDP.
  • a pull-type communication method or a push-type communication method may be used.
  • FIG. 7 is a diagram showing the configuration of a first encoding unit 130, which is an example of the encoding unit 113 that performs encoding using the first encoding method.
  • FIG. 8 is a block diagram of the first encoding unit 130.
  • the first encoding unit 130 generates encoded data (encoded stream) by encoding point cloud data using the first encoding method.
  • This first encoding unit 130 includes a position information encoding unit 131, an attribute information encoding unit 132, an additional information encoding unit 133, and a multiplexing unit 134.
  • the first encoding unit 130 is characterized by performing encoding with consideration of three-dimensional structure.
  • the first encoding unit 130 is also characterized by the attribute information encoding unit 132 performing encoding using information obtained from the position information encoding unit 131.
  • the first encoding method is also known as G-PCC (Geometry-based PCC).
  • the position information of the vertex information is input to the position information encoding unit 131, and the face information, or attribute information for the faces and vertices, is input to the attribute information encoding unit 132.
  • the attribute information encoding unit 132 generates encoded attribute information (Compressed Attribute), which is encoded data, by encoding using the configuration information generated by the position information encoding unit 131. For example, the attribute information encoding unit 132 determines a reference point (reference node) to reference when encoding the target point (target node) to be processed, based on the octree structure generated by the position information encoding unit 131. For example, the attribute information encoding unit 132 references a peripheral or adjacent node whose parent node in the octree is the same as that of the target node. Note that the method of determining the reference relationship is not limited to this.
  • the multiplexing unit 134 generates a compressed stream, which is encoded data, by multiplexing the encoding position information, encoding attribute information, encoding additional information, and other additional information.
  • the generated compressed stream is output to a processing unit in the system layer (not shown).
  • the first decoding unit 140 which is an example of the decoding unit 124 that performs decoding using the first encoding method.
  • Figure 9 is a diagram showing the configuration of the first decoding unit 140.
  • Figure 10 is a block diagram of the first decoding unit 140.
  • the first decoding unit 140 generates point cloud data by decoding, using the first encoding method, coded data (coded stream).
  • This first decoding unit 140 includes a demultiplexing unit 141, a position information decoding unit 142, an attribute information decoding unit 143, and an additional information decoding unit 144.
  • An encoded stream (compressed stream), which is encoded data, is input to the first decoding unit 140 from a system layer processing unit (not shown).
  • the demultiplexing unit 141 separates the encoded position information (Compressed Geometry), encoded attribute information (Compressed Attribute), encoded additional information (Compressed MetaData), and other additional information from the encoded data.
  • the position information decoding unit 142 generates position information by decoding the encoded position information. For example, the position information decoding unit 142 restores the position information of a point group expressed in three-dimensional coordinates from the encoded position information expressed in an N-ary tree structure such as an octree.
  • the attribute information decoding unit 143 decodes the encoded attribute information based on the configuration information generated by the position information decoding unit 142. For example, the attribute information decoding unit 143 determines the reference point (reference node) to reference when decoding the target point (target node) to be processed, based on the octree structure obtained by the position information decoding unit 142. For example, the attribute information decoding unit 143 references a peripheral or adjacent node whose parent node in the octree is the same as that of the target node. Note that the method of determining the reference relationship is not limited to this.
  • the additional information decoding unit 144 generates additional information by decoding the encoded additional information.
  • the first decoding unit 140 uses the additional information required for decoding the position information and attribute information during decoding, and outputs the additional information required for the application to the outside.
  • a second encoding unit 150 which is an example of the encoding unit 113 that performs encoding using the second encoding method, will be described.
  • Fig. 11 is a diagram showing the configuration of the second encoding unit 150.
  • Fig. 12 is a block diagram of the second encoding unit 150.
  • the second encoding unit 150 generates encoded data (encoded stream) by encoding the point cloud data using a second encoding method.
  • This second encoding unit 150 includes an additional information generation unit 151, a position image generation unit 152, an attribute image generation unit 153, a video encoding unit 154, an additional information encoding unit 155, and a multiplexing unit 156.
  • the second encoding unit 150 is characterized by generating position images and attribute images by projecting a three-dimensional structure onto a two-dimensional image, and encoding the generated position images and attribute images using an existing video encoding method.
  • the second encoding method is also called VPCC (Video-based PCC).
  • the point cloud data is PCC point cloud data such as a PLY file, or PCC point cloud data generated from sensor information, and includes position information (Position), attribute information (Attribute), and other additional information (MetaData).
  • the additional information generation unit 151 generates map information for multiple two-dimensional images by projecting three-dimensional structures onto two-dimensional images.
  • the position image generation unit 152 generates a position image (Geometry Image) based on the position information and the map information generated by the additional information generation unit 151.
  • This position image is, for example, a distance image in which distance (Depth) is indicated as pixel values. Note that this distance image may be an image of multiple point clouds viewed from a single viewpoint (an image in which multiple point clouds are projected onto a single two-dimensional plane), or multiple images of multiple point clouds viewed from multiple viewpoints, or a single image in which these multiple images are integrated.
  • the attribute image generation unit 153 generates an attribute image based on the attribute information and the map information generated by the additional information generation unit 151.
  • This attribute image is, for example, an image in which attribute information (e.g., color (RGB)) is represented as pixel values.
  • RGB color
  • this image may be an image in which multiple point clouds are viewed from a single viewpoint (an image in which multiple point clouds are projected onto a single two-dimensional plane), or multiple images in which multiple point clouds are viewed from multiple viewpoints, or a single image in which these multiple images are integrated.
  • the position information of the vertex information is input to the position image generation unit 152, and the face information or attribute information for the faces and vertices is input to the attribute image generation unit 153.
  • the video encoding unit 154 generates encoded data, an encoded position image (Compressed Geometry Image) and an encoded attribute image (Compressed Attribute Image), by encoding the position image and attribute image using a video encoding method.
  • Any known encoding method may be used as the video encoding method.
  • the video encoding method is AVC or HEVC.
  • the additional information encoding unit 155 generates encoded additional information (Compressed MetaData) by encoding the additional information and map information contained in the point cloud data.
  • the multiplexing unit 156 generates a compressed stream, which is encoded data, by multiplexing the encoded position image, encoded attribute image, encoded additional information, and other additional information.
  • the generated compressed stream is output to a processing unit in the system layer (not shown).
  • FIG. 13 is a diagram showing the configuration of the second decoding unit 160.
  • Figure 14 is a block diagram of the second decoding unit 160.
  • the second decoding unit 160 generates point cloud data by decoding, using the second encoding method, coded data (coded stream).
  • This second decoding unit 160 includes a demultiplexing unit 161, a video decoding unit 162, an additional information decoding unit 163, a position information generation unit 164, and an attribute information generation unit 165.
  • the demultiplexing unit 161 separates the encoded position image (Compressed Geometry Image), encoded attribute image (Compressed Attribute Image), encoded additional information (Compressed MetaData), and other additional information from the encoded data.
  • the video decoding unit 162 generates a position image and an attribute image by decoding the encoded position image and encoded attribute image using a video encoding method.
  • Any known encoding method may be used as the video encoding method.
  • the video encoding method may be AVC or HEVC.
  • the additional information decoding unit 163 decodes the encoded additional information to generate additional information including map information, etc.
  • the location information generation unit 164 generates location information using the location image and map information.
  • the attribute information generation unit 165 generates attribute information using the attribute image and map information.
  • the second decoding unit 160 uses the additional information required for decoding during decoding and outputs the additional information required for the application to the outside.
  • [Position information encoding in the first encoding method] 15 is a block diagram showing an example configuration of the position information encoding unit 131.
  • the position information encoding unit 131 includes an octree encoding unit 171 and a predictive tree encoding unit 172.
  • the octree encoding unit 171 generates encoded position information and metadata by encoding the position information using an encoding method that uses an octree (octree encoding).
  • the predictive tree encoding unit 172 generates encoded position information and metadata by encoding the position information using an encoding method that uses a predictive tree (predictive tree encoding).
  • FIG. 16 is a block diagram showing an example configuration of the position information decoding unit 142.
  • the position information decoding unit 142 includes an octree decoding unit 173 and a predictive tree decoding unit 174.
  • the octree decoding unit 173 generates position information by decoding the encoded position information using a decoding method that uses an octree (octree decoding).
  • the predictive tree decoding unit 174 generates position information by decoding the encoded position information using a decoding method that uses a predictive tree (predictive tree decoding).
  • the position information decoding unit 142 also performs decoding using the encoding method notified by the metadata.
  • FIG. 17 is a block diagram of the octree encoding unit 171 according to this embodiment.
  • the octree encoding unit 171 includes an octree generation unit 181, a geometric information calculation unit 182, a coding table selection unit 183, and an entropy encoding unit 184.
  • the octree generation unit 181 generates, for example, an occupancy tree from the input position information, and generates an occupancy code for each node in the occupancy tree.
  • the geometric information calculation unit 182 obtains information indicating whether an adjacent node of the target node is an occupied node. For example, the geometric information calculation unit 182 calculates the occupancy information of the adjacent node (information indicating whether the adjacent node is an occupied node) from the occupancy code of the parent node to which the target node belongs.
  • the geometric information calculation unit 182 may also store encoded nodes in a list and search for adjacent nodes from within that list. The geometric information calculation unit 182 may also switch adjacent nodes depending on the position of the target node within the parent node.
  • leaves 1, 2, and 3 represent voxels VXL1, VXL2, and VXL3 shown in Figure 18, respectively, and represent a VXL containing a point cloud (hereinafter referred to as a valid VXL).
  • node 1 corresponds to the entire space that contains the position information in Figure 18.
  • the entire space corresponding to node 1 is divided into eight nodes, and of these eight nodes, the node that contains a valid VXL is further divided into eight nodes or leaves, and this process is repeated for each level of the tree structure.
  • each node corresponds to a subspace, and node information contains information (occupancy code) that indicates the position of the next node or leaf after division.
  • the lowest-level block is set as a leaf, and leaf information such as the number of points contained in the leaf is stored.
  • the octree generator 191 generates an octree for a space (node) using header information or metadata from the bitstream. For example, the octree generator 191 generates a large space (root node) using the dimensions of the x-axis, y-axis, and z-axis of a space added to the header information, and then generates an octree by dividing that space into two along the x-axis, y-axis, and z-axis to generate eight small spaces A (nodes A0 to A7). Nodes A0 to A7 are set in order as target nodes.
  • the geometric information calculation unit 192 obtains occupancy information indicating whether an adjacent node of the target node is an occupied node. For example, the geometric information calculation unit 192 calculates the occupancy information of the adjacent node from the occupancy code of the parent node to which the target node belongs. The geometric information calculation unit 192 may also store decoded nodes in a list and search for adjacent nodes from within that list. The geometric information calculation unit 192 may also switch adjacent nodes depending on the position of the target node within the parent node.
  • the coding table selection unit 193 selects a coding table (decoding table) to be used for entropy decoding of the target node using the occupancy information of adjacent nodes calculated by the geometric information calculation unit 192.
  • the coding table selection unit 193 may generate a bit string using the occupancy information of adjacent nodes, and select a coding table for the index number generated from that bit string.
  • the entropy decoding unit 194 generates position information by entropy decoding the occupancy code of the target node using the selected encoding table.
  • the entropy decoding unit 194 may also obtain information about the selected encoding table by decoding it from the bitstream, and entropy decode the occupancy code of the target node using the encoding table indicated by that information.
  • Fig. 21 is a block diagram showing an example configuration of the attribute information encoder 132.
  • the attribute information encoder may include multiple encoders that execute different encoding methods. For example, the attribute information encoder may switch between the following two methods depending on the use case:
  • the header of the geometry data unit stores the slice identifier (slice_id).
  • the header of the attribute data unit indicates the slice_id of the corresponding (referenced) geometry data unit. Note that a data unit is sometimes called a slice, and a data unit header is sometimes called a slice header.
  • Each data unit and parameter set is converted into NAL (Network Access Layer) unit or TLV (Type Length Value) unit format, and a data sequence (stream) of the units is output.
  • NAL Network Access Layer
  • TLV Type Length Value
  • Figure 29 is a block diagram showing an example configuration of a three-dimensional data encoding device that outputs a stream of TLV units.
  • the three-dimensional data encoding device includes an encoding unit 241 and a TLV storage unit 242.
  • the encoding unit 241 generates encoded data by encoding point cloud data.
  • the TLV storage unit 242 generates a TLV stream (a single stream of TLV units) by storing (encapsulating) the encoded data in multiple TLV units.
  • a unit includes a Type that indicates the data type, a Length that indicates length information, and a Value that stores the data indicated by the Type. Note that a unit may also be in a different format, such as one that does not include length information.
  • Figure 28 shows a sequence of units that store data units and parameter sets.
  • the arrows in Figure 28 indicate dependencies related to the decoding of encoded data.
  • the source of the arrow depends on the data at the end of the arrow, and the header of the original data indicates the identifier of the data at the end of the arrow (reference destination).
  • the three-dimensional data decoding device decodes the data at the end of the arrow and uses that decoded data to decode the data at the source of the arrow.
  • a geometry data unit (Geom) indicates the GPS ID and SPS ID corresponding to that geometry data unit.
  • An attribute data unit (Attr) indicates the APS ID corresponding to that attribute data unit.
  • One GPS and one APS may be provided for each frame.
  • a GPS and an APS may be provided for each slice.
  • a GPS and an APS may be shared by multiple frames (sequences).
  • APS may also be shared by multiple attribute information.
  • the referenced parameter set is sent before the referenced parameter set.
  • a GOF Group of Frame
  • a GOF is a random access unit, and the first slice of a GOF has no dependency and is the slice from which decoding begins.
  • the stream may have a delimiter indicating the frame boundary or GOF boundary, or a TLV unit indicating the boundary.
  • Figure 30 shows examples of encoded data and NAL units.
  • the encoded data includes a header and a payload.
  • the encoded data may also include length information indicating the length (amount of data) of the encoded data, header, or payload.
  • the encoded data may also be in a TLV format that includes length information.
  • the encoded data does not necessarily have to include a header.
  • the header includes, for example, identification information for identifying the data.
  • This identification information indicates, for example, the data type or frame number.
  • the identification information for specifying the data or the identification information indicating the reference relationship may be omitted.
  • Figure 36 is a diagram showing an example of the input and output of spherical harmonic functions. For example, as shown in Figure 36, by inputting viewpoint information into the color spherical harmonic function 304, color information (R, G, B) seen from that viewpoint is output.
  • the rendering unit 325 generates a three-dimensional model or a two-dimensional image by rendering the input Gaussian data. For example, the rendering unit 325 generates a 3D model or a 2D image viewed from a viewpoint input by the user, which is indicated by the viewpoint information. Note that the rendering unit 325 may also generate a 3D model or a 2D image viewed from a predetermined viewpoint.
  • the presentation unit 326 presents (displays) the three-dimensional model or two-dimensional image generated by the rendering unit 325. Whether to present a 3D model or a 2D image may be determined, for example, by the following method. For example, the rendering unit 325 first generates a three-dimensional model and generates point coordinate information, as in the process shown in FIG. 34. After viewpoint information is input, the rendering unit 325 generates a 2D image viewed from a specified viewpoint. At that time, the rendering unit 325 may accept information specifying an area along with the specified viewpoint. In this way, by first generating a 3D model and then generating a 2D image of the specified area, the amount of processing can be reduced compared to generating 2D images of the entire area. This allows for faster rendering.
  • the second pre-processing unit 332 converts the multiple components contained in the second Gaussian data into a format that can be encoded using an encoding method corresponding to each component, and outputs the converted multiple components to the G-PCC encoding unit 333.
  • the G-PCC encoding unit 333 encodes three-dimensional coordinates using a geometry (position information) encoding method (such as octree encoding, predictive tree encoding, or TriSoup) in the G-PCC encoding method (Geometry-based PCC).
  • the G-PCC encoding unit 333 encodes information associated with three-dimensional coordinates, such as rotation, scale, SH coefficients, and transparency, using an attribute encoding method in the G-PCC encoding method (such as LoD-based encoding (LoD attribute information encoding) or Transform-based encoding (transform attribute information encoding)).
  • the G-PCC encoding unit 333 includes a position information encoding unit 341, a rotation encoding unit 342, a scale encoding unit 343, an SH coefficient encoding unit 344, a transmittance encoding unit 345, a metadata encoding unit 346, and a multiplexing unit 347.
  • the position information encoding unit 341 encodes three-dimensional coordinates.
  • the three-dimensional coordinates are reference or representative three-dimensional coordinates for the Gaussian data.
  • the three-dimensional coordinates may be the center coordinates of an ellipse that constitutes the Gaussian data, or may be other coordinates.
  • the three-dimensional coordinates may be the origin coordinates of a grid used to generate the Gaussian data.
  • the position information encoding unit 341 may use a predictive tree encoding method suitable for encoding sparse three-dimensional points. Furthermore, if the multiple three-dimensional coordinates of the multiple Gaussian data are dense (density is equal to or greater than a predetermined threshold), the position information encoding unit 341 may use an octree encoding method suitable for encoding dense three-dimensional points.
  • the first pre-processing unit 331 converts the covariance matrix contained in the first Gaussian data into rotation values and scale values.
  • the first pre-processing unit 331 converts the color information contained in the first Gaussian data into spherical harmonic functions and outputs SH coefficients in the spherical harmonic functions.
  • the second pre-processing unit 332 also performs format conversion for each piece of data and mapping processing to map each piece of data to attribute components. For example, if the maximum number of elements (number of dimensions) per attribute component that can be encoded using the G-PCC attribute encoding method is three, the second pre-processing unit 332 converts the input elements into attribute components with three dimensions (three elements) per attribute component. For example, since scale has three elements, it is output as a single attribute component. Furthermore, since rotation has four elements, it is converted into two two-dimensional attribute components. The number of elements for SH coefficients changes for each level. For example, SH coefficients with levels greater than three are converted into multiple attribute components.
  • the second pre-processing unit 332 generates mapping information as metadata for each piece of attribute information, indicating to which attribute component each element is mapped.
  • the metadata encoding unit 346 stores transformation information, including the transformation parameters used in the first pre-processing unit 331 or the second pre-processing unit 332, in metadata such as SPS or SEI.
  • the metadata encoding unit 346 may encode the transformation information and then store it in the metadata.
  • the metadata may also include configuration information for the Gaussian data, or information indicating the correspondence between how the Gaussian data is transmitted using G-PCC encoding.
  • the multiplexing unit 347 stores the coded data (ADU and GDU) and parameter sets (APS, GPS, and SPS) in TLV units and transmits them as a bit stream (coded data).
  • the bit stream may be multiplexed using a predetermined multiplexing method.
  • the bit stream may also be formatted.
  • the second post-processing unit 352 generates second Gaussian data by inversely transforming the decoded data.
  • the inverse transformation is the reverse of the transformation process performed by the second pre-processing unit 332, and is performed based on the transformation information (transformation parameters) included in the metadata.
  • the second pre-processing unit 332 maps the Gaussian data to the attribute components of the G-PCC.
  • the mapping method and the mapping information generated at that time will be described below.
  • mapping rotation rotates, scale, and SH coefficients
  • transparency is omitted. Note that similar processing can also be applied when other attribute information is added.
  • Gaussian components the attribute components of Gaussian data
  • G-PCC components the attribute components of G-PCC components
  • Attribute components will also be referred to simply as components.
  • the Gaussian component of scale has subcomponents (B1 to B3) with a dimensionality of 3, and is mapped to one G-PCC component with three-dimensional subcomponents.
  • the mapping information indicates that the identifier of the Gaussian component of scale corresponds to the identifier of the G-PCC component.
  • the SH coefficients have a total of 48 dimensional elements (C1 to C48). These 48 dimensional elements are mapped to 16 G-PCC components with three-dimensional subcomponents.
  • ID in Figure 42 is the attribute component ID, which indicates the identification number used to identify the attribute component of the encoded data.
  • ND is the number of dimensions, which indicates the number of elements (number of subcomponents) per attribute component.
  • mapping method for Gaussian data are not limited to the above examples, and any combination of mapping method and number of dimensions may be used.
  • the second pre-processing unit 332 In the mapping process, the second pre-processing unit 332 generates mapping information indicating the G-PCC components corresponding to the Gaussian components. This mapping information is stored as metadata in the header or SEI.
  • Figure 43 shows an example of mapping information indicating the correspondence between Gaussian data subcomponents and G-PCC subcomponents, but if there are no restrictions on the number of subcomponents in a G-PCC component, mapping information indicating the correspondence between Gaussian components and G-PCC components may also be used. In other words, it is not necessary to indicate the correspondence between dimensions.
  • the conversion information indicates the parameters (conversion parameters) used when converting the component data.
  • Figure 44 shows an example of the configuration of conversion information. For example, if a scale and offset are used in the conversion, the conversion information includes a scale value and an offset value.
  • the conversion is performed using the scale value and offset value according to the following formula:
  • Converted data Pre-conversion data x Scale value + Offset
  • the formula used for the conversion may be a predefined formula, or multiple conversion formulas may be defined and the formula used may be switched according to predetermined conditions. Information indicating the conversion formula used may also be stored in the bitstream.
  • the transformation information is provided for each subcomponent (dimension) of the Gaussian data, but the transformation information may also be provided for each component of the Gaussian data.
  • the transformation method may be changed on a component-by-component basis, or on a subcomponent-by-subcomponent basis.
  • the Gaussian data component ID, Gaussian data type, and number of Gaussian data dimensions may be omitted.
  • each attribute information is encoded based on the mapping information to the attribute component determined by the second pre-processing unit 332.
  • Figure 45 shows an example of the structure of encoded data when Gaussian data is G-PCC encoded.
  • the SPS describes the G-PCC attribute component ID (attr_id), G-PCC attribute type (attribute_type), and number of dimensions of the G-PCC attribute component (num_dimension) for each G-PCC component.
  • a new G-PCC attribute type may be defined here to indicate that each element of the Gaussian data is to be coded.
  • FIG 46 shows an example of G-PCC attribute types for Gaussian data.
  • G-PCC attribute types may be defined that indicate the rotation, scale, SH coefficient, and transparency of Gaussian data.
  • a G-PCC attribute component ID (attr_id) is assigned to the header of the ADU.
  • the decoding device can identify which G-PCC attribute type each ADU has by using the G-PCC attribute component ID contained in the ADU header and the information contained in the SPS.
  • mapping information may be transmitted as SEI or may be included in the SPS.
  • the SPS may include mapping information indicating the Gaussian components corresponding to the G-PCC components.
  • FIG. 47 is a flowchart of processing by a decoding device according to this embodiment.
  • the decoding device obtains multiple TLV units from the bitstream, and then obtains multiple data units (GDU, ADU) and multiple parameter sets (SPS, GPS, APS) from the multiple TLV units (S101).
  • GDU data units
  • SPS GPS, APS
  • the decoding device decodes the three-dimensional coordinates using the SPS, GPS, and GDU (S102).
  • the decoding device decodes the multiple attribute components described in the SPS using the APS, ADU, and three-dimensional coordinates (S103).
  • the decoding device obtains mapping information by analyzing the Gaussian data attribute mapping information SEI (S104). Next, the decoding device reconstructs second Gaussian data from the decoded attribute components and the mapping information (S105). Next, the decoding device obtains transformation information and generates first Gaussian data by inversely transforming the second Gaussian data using the transformation information (S106).
  • Gaussian data is one frame
  • this method can also be applied when there are multiple frames of Gaussian data.
  • multi-frame coding in the G-PCC method or inter-prediction in the G-PCC method may be used.
  • the encoding device may also generate multiple pieces of divided data by dividing the Gaussian data into multiple regions, and encode each of the multiple pieces of divided data.
  • the encoding device may also assign the divided data to tiles or slices in the G-PCC and encode them.
  • FIG. 48 is a block diagram showing a system for encoding and decoding first Gaussian data.
  • the system shown in FIG. 48 includes a second pre-processing unit 371, a G-PCC encoding unit 372, a G-PCC decoding unit 373, and a second post-processing unit 374.
  • FIG. 49 is a block diagram showing an example configuration of the second pre-processing unit 371.
  • the second pre-processing unit 371 includes a conversion unit 375 and a mapping unit 376.
  • the conversion unit 375 included in the second pre-processing unit 371 converts the format of the covariance matrix.
  • the mapping unit 376 generates converted first Gaussian data by mapping the format-converted covariance matrix to G-PCC attribute information.
  • the G-PCC encoding unit 372 generates encoded data by encoding the converted first Gaussian data, the conversion information, and the mapping information.
  • the G-PCC decoding unit 373 decodes the encoded data to generate transformed first Gaussian data, transformation information, and mapping information.
  • the second post-processing unit 374 uses the mapping information and transformation information to inversely transform the transformed first Gaussian data, thereby restoring the first Gaussian data. In other words, the covariance matrix is restored. In this way, the system can encode and decode first Gaussian data.
  • the encoding device also associates the components or dimensions of the Gaussian data with attribute components or dimensions, which are units that can be coded using G-PCC. This allows the encoding device to code the Gaussian data using the G-PCC coding method. Furthermore, by defining a G-PCC attribute type that corresponds to the Gaussian data, the encoding device can code the Gaussian data using the G-PCC coding method.
  • a general-purpose method can be realized that can encode Gaussian data using a variety of 3D encoding methods or 3D codec standards. This makes it possible to encode Gaussian data using a variety of 3D codec methods, including standards created by various standards organizations, international standards, national standards, and standards established by any organization.
  • the second pre-processing unit 401 converts and maps the second Gaussian data into data that can be coded using the G-PCC coding method.
  • the G-PCC coding unit 402 generates a G-PCC TLV unit by coding the converted data using the G-PCC coding method.
  • FIG. 53 is a block diagram showing an example configuration of a decoding device 410 (three-dimensional data decoding device) according to this embodiment.
  • the decoding device 410 generates second Gaussian data by decoding a bitstream. This bitstream is generated, for example, by the encoding device 400 shown in FIG. 52.
  • the decoding device 410 includes a demultiplexing unit 411, a G-PCC decoding unit 412, a V3C decoding unit 413, a metadata decoding unit 414, and a second post-processing unit 415.
  • the demultiplexing unit 411 demultiplexes and demultiplexes the 3D data units contained in the bitstream to generate G-PCC TLV units or V3C units and metadata.
  • the G-PCC decoder 412 generates decoded data by decoding the G-PCC TLV unit using the G-PCC decoding method.
  • the V3C decoder 413 generates decoded data by decoding the V3C unit using the V3C decoding method.
  • FIG. 54 is a flowchart of the encoding process performed by the encoding device 400.
  • the encoding device 400 determines the codec type to be used for encoding (S201).
  • the codec type to be used for encoding may be specified by the user, or may be determined based on the contents of the Gaussian data.
  • the encoding device 400 encodes the Gaussian data using the G-PCC encoding method and outputs a G-PCC TLV unit (S202).
  • the encoding device 400 encodes the Gaussian data using the V3C encoding method and outputs a V3C unit (S203).
  • the encoding device 400 stores information indicating the codec type used for encoding in common metadata (S204).
  • common metadata refers to metadata that can be used in common across multiple encoding methods (G-PCC encoding method and V3C encoding method).
  • the encoding device 400 stores the conversion information and mapping information in the metadata (S205).
  • the encoding device 400 multiplexes the metadata and encoding unit (G-PCC TLV unit or V3C unit) into a 3D data unit that can be used in both the G-PCC encoding method and the V3C encoding method (S206).
  • Figure 55 is a flowchart of the decoding process performed by the decoding device 410.
  • the decoding device 410 obtains a common 3D data unit, and then obtains data units and metadata from the 3D data unit (S211).
  • the decoding device 410 analyzes the metadata and determines the codec type used for encoding (the codec type to be used for decoding) based on information indicating the codec type included in the metadata (S212).
  • the decoding device 410 acquires the TLV unit and decodes it using the G-PCC decoding method to generate a component (S214).
  • the codec type used for encoding is V3C (V3C in S213)
  • the decoding device 410 acquires the V3C unit and decodes it using the V3C decoding method to generate a component (S215).
  • the decoding device 410 reconstructs Gaussian data using the decoded components and the mapping information (S216).
  • the decoding device 410 obtains the transformation information and generates second Gaussian data by inversely transforming the Gaussian data using the transformation information (S217).
  • Figure 57 is a diagram showing an example of the structure of a 3D data unit (3DDataUnit).
  • the payload (3DDU_data) of the 3D data unit stores various data units that make up the Gaussian codec.
  • the header (3DDU_header) of the 3D data unit contains a 3D data unit type (3DDataUnitType) that indicates the type of data stored in the payload.
  • the payload of the V3C unit includes an ACL_NAL unit or a VCL_NAL unit.
  • the VCL_NAL unit belongs to the video codec layer and is defined in two-dimensional video compression standards such as HEVC or VVC.
  • the ACL_NAL unit belongs to the atlas codec layer.
  • the ACL_NAL unit stores data for converting two-dimensional images back into three-dimensional data.
  • the G-PCC subcomponent ID is an identifier that indicates the G-PCC component number.
  • the G-PCC dimension ID is an identifier that indicates the subcomponent number of the G-PCC component.
  • the conversion information indicates the parameters (conversion parameters) used when converting the data of the dimension in question.
  • Figure 63 shows a protocol stack for a standard for encoding 3D Gaussian data.
  • a protocol stack or data structure for encoding 3D Gaussian data using at least one of a video base codec and a geometry base codec may be used as a method for encoding 3D Gaussian data.
  • Geometry-based codecs include point cloud compression standards such as G-PCC or Draco, or mesh data compression standards. Note that the method for encoding 3D Gaussians may be expanded to include neural network-based codecs such as NNC (Neural Network Coding).
  • NNC Neuron Coding
  • Figure 64 is a diagram showing a protocol stack for a standard for encoding a 3D model.
  • a protocol stack and data structure for encoding a 3D model using at least one of V3C and G-PCC may be used.
  • the 3D model may include (1) a point cloud, (2) a mesh, (3) a 3D model created using NeRF (Neural Radiance Fields), and (4) a 3D model generated using Gaussian Splating, etc.
  • NeRF Neral Radiance Fields
  • the encoding device may encode some of the components of the 3D model data using video encoding, and other components using geometry-based encoding.
  • the encoding device may encode the information contained in the Gaussian data that represents shape information, such as three-dimensional coordinates, rotation, and scale, using G-PCC, and encode the SH coefficients using a video-based encoding method.
  • shape information such as three-dimensional coordinates, rotation, and scale
  • G-PCC shape information
  • SH coefficients such as three-dimensional coordinates, rotation, and scale
  • geometry-based encoding may be suitable for sparse geometric structure shapes
  • video-based encoding may be suitable for multidimensional SH coefficients. Therefore, in such cases, encoding efficiency can be improved.
  • Figure 65 is a diagram showing an example of the configuration of Gaussian component information in this case.
  • the Gaussian component information shown in Figure 65 includes a 3D codec type (3D_codec_type) for each Gaussian component. This makes it possible to set a 3D codec type for each component, thereby realizing the above function. Note that when a standard for encoding 3D models is used as shown in Figure 64, for example, similar information is stored in 3D model component information indicating information about the components of a 3D model, instead of Gaussian component information.
  • Figure 66 shows the protocol stack of an encoding standard for encoding Gaussian data.
  • the V3C encoding method (V3C codec) is a structure that can encode 3D data using one or more video codec standards, such as HEVC or VVC.
  • the V3C encoding method is extended to define a Gaussian codec layer.
  • atlas data is extended, and the metadata required for reconstructing Gaussian data and encoding or decoding is stored in the atlas data.
  • the atlas data includes data for converting two-dimensional images into three-dimensional data in the V3C encoding method.
  • the V3C encoding method is extended to enable the application of geometry-based 3D encoding standards (hereinafter also referred to as GPC) such as G-PCC and Draco.
  • GPC geometry-based 3D encoding standards
  • the atlas data includes data for converting decoded two-dimensional images or encoded three-dimensional data decoded using a 3D encoding standard into Gaussian data.
  • the metadata encoding unit 504 stores the conversion data and mapping information in metadata.
  • the metadata is metadata that extends the V3C standard.
  • an extension area of the V3C parameter set in the V3C standard may be used as this metadata.
  • an extension of the Atlas sequence parameter set (ASPS) or Atlas frame parameter set (AFPS) may be used as this metadata.
  • the metadata encoding unit 504 encodes the metadata to generate a V3C parameter set or an Atlas data unit (ACL NAL unit).
  • the multiplexing unit 505 generates a bitstream by unitizing and multiplexing the GCL NAL unit or VCL NAL unit and the V3C parameter set or ACL NAL unit. Specifically, the multiplexing unit 505 generates a bitstream by storing the GCL NAL unit or VCL NAL unit and the V3C parameter set or ACL NAL unit in a 3V3C unit.
  • FIG. 68 is a block diagram showing an example configuration of a decoding device 510 (three-dimensional data decoding device) according to this embodiment.
  • the decoding device 510 generates second Gaussian data by decoding a bitstream. This bitstream is generated, for example, by the encoding device 500 shown in FIG. 67.
  • the decoding device 510 includes a demultiplexing unit 511, a geometry-based decoding unit 512, a video-based decoding unit 513, a metadata decoding unit 514, and a second post-processing unit 515.
  • the demultiplexing unit 511 demultiplexes and demultiplexes the V3C units contained in the bitstream to generate GCL NAL units or VCL NAL units, and V3C parameter sets or ACL NAL units.
  • the geometry-based decoding unit 512 generates decoded data by decoding the GCL NAL units using a geometry-based decoding method (such as G-PCC or Draco).
  • the video-based decoding unit 513 generates decoded data by decoding the VCL NAL units using a video-based decoding method (such as AVC, HEVC, or VVC).
  • the metadata decoding unit 514 generates conversion information and mapping information by decoding the V3C parameter set or ACL NAL unit. For example, the metadata decoding unit 514 obtains the conversion information and mapping information from the V3C parameter set or ACL NAL unit.
  • the second post-processing unit 515 inversely transforms the decoded data into second Gaussian data depending on the 3D codec used for decoding.
  • Figure 69 is a flowchart of the encoding process performed by the encoding device 500.
  • the encoding device 500 determines the codec type (encoding method) to be used for encoding (S501).
  • the codec type to be used for encoding may be specified by the user, or may be determined based on the contents of the Gaussian data.
  • the encoding device 500 encodes the Gaussian data using the geometry-based encoding method (G-PCC or Draco) and outputs a GCL NAL unit (S502).
  • the encoding device 500 encodes the Gaussian data using a video-based encoding method (video codec) and outputs a VCL NAL unit (S503).
  • the encoding device 500 stores information indicating the codec type used for encoding in the metadata (S504).
  • the encoding device 500 stores the conversion information and mapping information in the metadata (S505).
  • the encoding device 500 multiplexes the metadata and the encoding unit (GCL NAL unit or VCL NAL unit) into the V3C unit (S506).
  • Figure 70 is a flowchart of the decoding process performed by the decoding device 510.
  • the decoding device 510 acquires multiple V3C units, and then acquires data units (GCL NAL units or VCL NAL units) and metadata from the multiple V3C units (S511).
  • the decoding device 510 analyzes the metadata and determines the codec type used for encoding (the codec type to be used for decoding) based on the information indicating the codec type included in the metadata (S512).
  • the decoding device 510 acquires the GCL NAL unit and generates components by decoding the GCL NAL unit using a geometry-based decoding method (G-PCC or Draco) (S514).
  • the codec type used for encoding is a video-based encoding method (video-based in S513)
  • the decoding device 510 acquires the VCL NAL unit and generates components by decoding the VCL NAL unit using a video-based decoding method (video codec) (S515).
  • FIG 71 shows an example of the configuration of a V3C unit that has been extended to enable the application of geometry-based 3D codecs to the V3C standard.
  • Figure 72 shows an example of the configuration of a V3C unit.
  • the V3C unit includes a header (V3C unit header) and a payload (V3C data unit).
  • the payload of a V3C unit stores ACL NAL units belonging to the atlas codec layer or video codec layer. Furthermore, the payload of an extended V3C unit stores GCL NAL units that store geometry-based 3D codec data.
  • the V3C unit header contains a V3C unit type that indicates the type of data contained in the payload.
  • V3C unit type 10 indicates a geometry-based PCC unit (GCL NAL unit).
  • FIG 73 shows an example of the structure of a GCL NAL unit.
  • a GCL NAL unit includes a header (GCL unit header) and a payload (GCL data unit).
  • the payload of the GCL NAL stores a G-PCC TLV unit or a Draco unit.
  • the header of a GCL NAL unit stores a GCL unit type, which indicates the type of geometry-based 3D codec, which is the type of data contained in the payload.
  • GCL unit type 0 indicates G-PCC point cloud compression (G-PCC TLV unit).
  • GCL unit type 1 indicates Draco point cloud compression (Draco unit).
  • G-PCC TLV unit and the like being stored in a GCL NAL unit
  • a G-PCC TLV unit or a unit defined by each 3D codec method may also be stored directly in a V3C unit.
  • FIG 74 is a diagram showing an example of the configuration of an extended V3C parameter set (V3CParameterset).
  • the V3C parameter set includes information indicating the profile and level (profile_level), which indicates the combination of the encoding standard, encoding method, and toolset used in encoding Gaussian data. This information includes information indicating the profile (profile), information indicating the level (level), and information indicating the codec used for encoding (is_video_codec and is_3d_codec).
  • Profile indicates the codec that uses an extension of V3C, such as VPCC or DMC.
  • profile indicates an extension of V3C's 3D Gaussian codec.
  • a constraint may be specified stating that the bitstream conformance condition is that the values of is_video_codec and is_3d_codec are exclusive.
  • the decoding device may determine that the bitstream is inappropriate (contains an error) if the values of is_video_codec and is_3d_codec are not exclusive.
  • the V3C parameter set includes Gaussian component information (3d_codec_type) as extended information for the V3C 3D Gaussian codec.
  • FIG 75 shows an example of the configuration of Gaussian data component information.
  • the Gaussian data component information includes the number of Gaussian data components, which indicates the number of Gaussian components.
  • Gaussian data component information includes, for each Gaussian component, a Gaussian component ID, a Gaussian data type, and the number of Gaussian data dimensions.
  • the Gaussian component ID is identification information for uniquely identifying a Gaussian component.
  • the Gaussian data type indicates the type of Gaussian component (rotation, scale, SH coefficient, transmittance, etc.).
  • the number of Gaussian data dimensions indicates the number of dimensions (number of subcomponents) of the Gaussian component.
  • Figure 76 shows an example of the configuration of video mapping information.
  • the video mapping information includes a video component ID, a video dimension ID, and transformation information as information for each dimension of the Gaussian component.
  • the video subcomponent ID is an identifier that indicates the video component number.
  • the video dimension ID is an identifier that indicates the subcomponent number of the video component.
  • the conversion information indicates the parameters (conversion parameters) used when converting the data of that dimension.
  • Figure 77 shows an example of the configuration of 3D mapping information.
  • the 3D mapping information includes the G-PCC component ID, G-PCC dimension ID, and transformation information as information for each dimension of the Gaussian component.
  • the G-PCC subcomponent ID is an identifier that indicates the G-PCC component number.
  • the G-PCC dimension ID is an identifier that indicates the subcomponent number of the G-PCC component.
  • the conversion information indicates the parameters (conversion parameters) used when converting the data of the dimension in question.
  • the 3D mapping information includes information indicating the correspondence between the components of the Gaussian data and the components of the Draco codec.
  • Gaussian data component information may include geometry component information in addition to attribute component information.
  • mapping information indicating G-PCC components corresponding to Gaussian components may also be used.
  • mapping information indicating the correspondence between subcomponents of Gaussian data and subcomponents of G-PCC may also be used. In other words, the correspondence between subcomponents does not need to be shown.
  • the Gaussian data component ID, Gaussian data type, and number of Gaussian data dimensions may be omitted.
  • the data to be encoded is not limited to 3D Gaussian data.
  • the protocol stack or data structure described in this embodiment may be used to encode a 3D model (3D model codec) generated by another method, such as NeRF.
  • the data to be encoded may be a 3D model (point cloud, mesh, or other 3D model) created using AI (Artificial Intelligence).
  • V3C encoding methods may also use neural network codecs trained through machine learning, etc.
  • Figure 78 shows an extended V3C protocol stack.
  • the V3C standard may be extended to enable transmission of neural networks (NNs).
  • NNs neural networks
  • a neural network-based coding method such as NNC (Neural Network Coding) is used for neural networks.
  • a codec that extends the V3C standard may be defined, and one or more of the following encoding methods may be used: video-based, geometry-based, and neural network-based encoding methods.
  • the geometry information may be encoded using learning.
  • a neural network-based encoding method or a geometry-based encoding method may be used for the geometry information
  • a video-based encoding method may be used for the attribute information. This may potentially improve compression performance (encoding efficiency).
  • Figure 79 is a diagram showing an extended V3C protocol stack.
  • the V3C standard is extended as shown in Figure 79.
  • the V3C parameter set, ASPS, or AFPS is extended to define a data unit that stores AI-PCC. This makes it possible to use at least one of video-based, geometry-based, and neural network-based encoding methods as the codec method, enabling encoding and decoding of point cloud compression using AI.
  • FIG. 80 is a flowchart of the encoding processing by the encoding device.
  • the encoding device encodes three-dimensional data (e.g., Gaussian data, point clouds, meshes, etc.) including one or more first components.
  • the encoding device selects one of a plurality of encoding methods including a first encoding method (e.g., V3C, AVC, HEVC, VVC, etc.) that is a video-based three-dimensional data encoding method, and a second encoding method different from the first encoding method (S601).
  • a first encoding method e.g., V3C, AVC, HEVC, VVC, etc.
  • first encoding method in S602 the encoding device generates first encoded data (e.g., VCL NAL units) by encoding the one or more first components using the first encoding method (S603). If the second encoding method is selected (second encoding method in S602), the encoding device generates second encoded data (e.g., GCL NAL units) by encoding the one or more first components using the second encoding method (S604).
  • first encoded data e.g., VCL NAL units
  • second encoded data e.g., GCL NAL units
  • NAL unit NAL unit
  • first information (is_video_codec, is_3d_codec, video_codec_type, or 3d_codec_type) indicating the selected encoding method is stored in first metadata (for example, V3C parameter set, ASPS, or AFPS) that is an extension of the metadata of the first encoding method (S605), and a bitstream including the first metadata and the first encoded data or the second encoded data is generated (S606).
  • first metadata for example, V3C parameter set, ASPS, or AFPS
  • the encoding device to selectively select from multiple encoding methods the encoding method to use for encoding 3D data. This potentially improves encoding efficiency. Furthermore, by extending the video-based 3D data encoding method, it is possible to easily build a system that can achieve the above processing.
  • the encoding device further converts one or more first components into one or more second components corresponding to the selected encoding method, and if the first encoding method is selected, generates first encoded data by encoding the one or more second components using the first encoding method, and if the second encoding method is selected, generates second encoded data by encoding the one or more second components using the second encoding method, and the first metadata further includes second information (e.g., mapping information) indicating the correspondence between the one or more first components and the one or more second components.
  • second information e.g., mapping information
  • the encoding device can encode three-dimensional data using the selected encoding method by converting the data into a format compatible with the selected encoding method. Furthermore, the decoding device can convert multiple second components into multiple first components using second information included in the bitstream.
  • the second encoding method is a geometry-based three-dimensional data encoding method (such as G-PCC or Draco).
  • the second encoding method is a neural network-based three-dimensional data encoding method (such as NNC).
  • the second encoding method is a three-dimensional data encoding method using AI.
  • the three-dimensional data is Gaussian data. This allows the encoding device to selectively select an encoding method from multiple encoding methods to use for encoding the Gaussian data. This has the potential to improve encoding efficiency.
  • Figure 81 is a block diagram of the encoding device 10.
  • the encoding device 10 includes a processor 11 and a memory 12, and the processor 11 performs the above processing using the memory 12.
  • a decoding device (three-dimensional data decoding device) according to an embodiment performs the processing shown in FIG. 82.
  • FIG. 82 is a flowchart of the decoding process by the decoding device.
  • the decoding device decodes three-dimensional data (e.g., Gaussian data, point clouds, meshes, etc.) including one or more first components.
  • three-dimensional data e.g., Gaussian data, point clouds, meshes, etc.
  • the decoding device acquires a bitstream including first metadata (e.g., a V3C parameter set, ASPS, or AFPS) that is an extension of the metadata of a first encoding method (e.g., V3C, AVC, HEVC, or VVC, etc.) that is a video-based three-dimensional data encoding method, and encoded data (e.g., a VCL NAL unit or a GCL NAL unit) (S611), and obtains first information (is_video_codec, is _3d_codec, video_codec_type, or 3d_codec_type) is obtained from the first metadata (S612).
  • first metadata e.g., a V3C parameter set, ASPS, or AFPS
  • first encoding method e.g., V3C, AVC, HEVC, or VVC, etc.
  • encoded data e.g., a VCL NAL unit or a GCL NAL unit
  • first encoding method in S613 If the first information indicates a first encoding method (first encoding method in S613), one or more first components are generated by decoding the encoded data using a first decoding method corresponding to the first encoding method (S614). If the first information indicates a second encoding method (second encoding method in S613), one or more first components are generated by decoding the encoded data using a second decoding method corresponding to the second encoding method (S615).
  • the encoding device can selectively select from multiple encoding methods the encoding method to use for encoding 3D data. This potentially improves encoding efficiency. Furthermore, the decoding device can properly decode the encoded data generated by the encoding device. Furthermore, by expanding the video-based 3D data encoding method, a system capable of easily implementing the above processing can be constructed.
  • the encoded data is generated by encoding one or more second components resulting from the conversion of one or more first components.
  • the decoding device further acquires second information (e.g., mapping information) indicating the correspondence between the one or more first components and one or more second components from the first metadata, and if the first information indicates a first encoding method, generates one or more second components by decoding the encoded data using a first decoding method; if the first information indicates a second encoding method, generates one or more second components by decoding the encoded data using a second decoding method, and converts the one or more second components into one or more first components using the correspondence indicated in the second information.
  • second information e.g., mapping information
  • the encoding device can encode three-dimensional data using the selected encoding method by converting the data into a format compatible with the selected encoding method. Furthermore, the decoding device can convert multiple second components into multiple first components using second information included in the bitstream.
  • the second encoding method is a geometry-based three-dimensional data encoding method (such as G-PCC or Draco).
  • the second encoding method is a neural network-based three-dimensional data encoding method (such as NNC).
  • the second encoding method is a three-dimensional data encoding method using AI.
  • the three-dimensional data is Gaussian data. This allows the encoding device to selectively select an encoding method from multiple encoding methods to use for encoding the Gaussian data. This has the potential to improve encoding efficiency.
  • Figure 83 is a block diagram of the decoding device 20.
  • the decoding device 20 includes a processor 21 and a memory 22, and the processor 21 performs the above processing using the memory 22.
  • each processing unit included in the encoding device, decoding device, etc. is typically realized as an LSI, which is an integrated circuit. These may be individually implemented on a single chip, or some or all of them may be included on a single chip.
  • integrated circuits are not limited to LSIs, but may be realized using dedicated circuits or general-purpose processors.
  • FPGAs Field Programmable Gate Arrays
  • reconfigurable processors which allow the connections and settings of circuit cells within the LSI to be reconfigured, may also be used.
  • each component may be configured with dedicated hardware, or may be realized by executing a software program appropriate for that component.
  • Each component may also be realized by a program execution unit such as a CPU or processor reading and executing a software program recorded on a recording medium such as a hard disk or semiconductor memory.
  • the present disclosure may also be realized as an encoding method (three-dimensional data encoding method) or a decoding method (three-dimensional data decoding method) executed by an encoding device (three-dimensional data encoding device) and a decoding device (three-dimensional data decoding device), etc.
  • the present disclosure may also be realized as a program that causes a computer, processor, or device to execute the encoding method or decoding method.
  • the present disclosure may also be realized as a bitstream generated by the encoding method.
  • the present disclosure may also be realized as a recording medium on which the program or bitstream is recorded.
  • the present disclosure may also be realized as a non-transitory computer-readable recording medium on which the program or bitstream is recorded.
  • the division of functional blocks in the block diagram is one example; multiple functional blocks may be realized as a single functional block, one functional block may be divided into multiple blocks, or some functions may be moved to other functional blocks. Furthermore, the functions of multiple functional blocks with similar functions may be processed in parallel or time-shared by a single piece of hardware or software.
  • This disclosure can be applied to encoding devices and decoding devices.

Landscapes

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

Abstract

A three-dimensional data encoding method according to the present invention selects any one of a plurality of encoding methods including a first encoding method that is a video-based three-dimensional data encoding method and a second encoding method that is different from the first encoding method (S601), when the first encoding method is selected (first encoding method in S602), one or more first components are encoded using the first encoding method to generate first encoded data, (S603), when the second encoding method is selected (second encoding method in S602), the one or more first components are encoded using the second encoding method to generate second encoded data (S604), first information indicating the encoding method that was selected is stored in first metadata in which metadata of the first encoding method is extended (S605), and a bitstream including the first metadata and the first encoded data or the second encoded data is generated (S606).

Description

三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置及び三次元データ復号装置Three-dimensional data encoding method, three-dimensional data decoding method, three-dimensional data encoding device, and three-dimensional data decoding device

 本開示は、三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置及び三次元データ復号装置に関する。 This disclosure relates to a three-dimensional data encoding method, a three-dimensional data decoding method, a three-dimensional data encoding device, and a three-dimensional data decoding device.

 自動車或いはロボットが自律的に動作するためのコンピュータビジョン、マップ情報、監視、インフラ点検、又は、映像配信など、幅広い分野において、今後、三次元データを活用した装置又はサービスの普及が見込まれる。三次元データは、レンジファインダなどの距離センサ、ステレオカメラ、又は複数の単眼カメラの組み合わせなど様々な方法で取得される。 In the future, devices and services that utilize 3D data are expected to become more widespread in a wide range of fields, including computer vision for autonomous vehicle or robot operation, map information, surveillance, infrastructure inspection, and video distribution. 3D data can be acquired in a variety of ways, including distance sensors such as rangefinders, stereo cameras, or a combination of multiple monocular cameras.

 三次元データの表現方法の1つとして、三次元空間内の点群によって三次元構造の形状を表すポイントクラウドと呼ばれる表現方法がある。ポイントクラウドでは、点群の位置と色とが格納される。ポイントクラウドは三次元データの表現方法として主流になると予想されるが、点群はデータ量が非常に大きい。よって、三次元データの蓄積又は伝送においては二次元の動画像(一例として、MPEGで規格化されたMPEG-4 AVC(Advanced Video Coding)又はHEVC(High Efficiency Video Coding)などがある)と同様に、符号化によるデータ量の圧縮が必須となる。 One method of representing three-dimensional data is a point cloud, which uses a group of points in three-dimensional space to represent the shape of a three-dimensional structure. A point cloud stores the position and color of the points. Point clouds are expected to become the mainstream method of representing three-dimensional data, but point clouds contain a very large amount of data. Therefore, when storing or transmitting three-dimensional data, it is essential to compress the data volume through encoding, just as with two-dimensional video images (examples include MPEG-4 AVC (Advanced Video Coding) or HEVC (High Efficiency Video Coding), which are standardized by MPEG).

 また、ポイントクラウドの圧縮については、ポイントクラウド関連の処理を行う公開のライブラリ(Point Cloud Library)などによって一部サポートされている。 In addition, point cloud compression is partially supported by public libraries (Point Cloud Library) that perform point cloud-related processing.

 また、三次元の地図データを用いて、車両周辺に位置する施設を検索し、表示する技術が知られている(例えば、特許文献1参照)。 In addition, technology is known that uses three-dimensional map data to search for and display facilities located around a vehicle (see, for example, Patent Document 1).

国際公開第2014/020663号International Publication No. 2014/020663

 このような、三次元データの符号化及び復号では、符号化効率を向上できることが望まれている。 When encoding and decoding such three-dimensional data, it is desirable to be able to improve the encoding efficiency.

 本開示は、符号化効率を向上できる三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置又は三次元データ復号装置を提供することを目的とする。 The purpose of this disclosure is to provide a three-dimensional data encoding method, a three-dimensional data decoding method, a three-dimensional data encoding device, or a three-dimensional data decoding device that can improve encoding efficiency.

 本開示の一態様に係る三次元データ符号化方法は、1以上の第1コンポーネントを含む三次元データを符号化する三次元データ符号化方法であって、ビデオベースの三次元データ符号化方式である第1符号化方式と、前記第1符号化方式と異なる第2符号化方式とを含む複数の符号化方式のうちいずれか一つを選択し、前記第1符号化方式が選択された場合、前記1以上の第1コンポーネントを、前記第1符号化方式を用いて符号化することで第1符号化データを生成し、前記第2符号化方式が選択された場合、前記1以上の第1コンポーネントを、前記第2符号化方式を用いて符号化することで第2符号化データを生成し、前記第1符号化方式のメタデータが拡張された第1メタデータに、前記選択された符号化方式を示す第1情報を格納し、前記第1メタデータと、前記第1符号化データ又は前記第2符号化データとを含むビットストリームを生成する。 A three-dimensional data encoding method according to one aspect of the present disclosure is a three-dimensional data encoding method for encoding three-dimensional data including one or more first components, the method selecting one of a plurality of encoding methods including a first encoding method that is a video-based three-dimensional data encoding method and a second encoding method different from the first encoding method, and if the first encoding method is selected, generating first encoded data by encoding the one or more first components using the first encoding method, and if the second encoding method is selected, generating second encoded data by encoding the one or more first components using the second encoding method, storing first information indicating the selected encoding method in first metadata that is an extension of the metadata of the first encoding method, and generating a bitstream including the first metadata and the first encoded data or the second encoded data.

 本開示の一態様に係る三次元データ復号方法は、1以上の第1コンポーネントを含む三次元データを復号する三次元データ復号方法であって、ビデオベースの三次元データ符号化方式である第1符号化方式のメタデータが拡張された第1メタデータと、符号化データとを含むビットストリームを取得し、前記第1符号化方式と、前記第1符号化方式と異なる第2符号化方式とを含む複数の符号化方式のうち、前記1以上の第1コンポーネントの符号化に用いられた符号化方式を示す第1情報を、前記第1メタデータから取得し、前記第1情報により前記第1符号化方式が示される場合、前記符号化データを、前記第1符号化方式に対応する第1復号方式を用いて復号することで前記1以上の第1コンポーネントを生成し、前記第1情報により前記第2符号化方式が示される場合、前記符号化データを、前記第2符号化方式に対応する第2復号方式を用いて復号することで前記1以上の第1コンポーネントを生成する。 A three-dimensional data decoding method according to one aspect of the present disclosure is a three-dimensional data decoding method for decoding three-dimensional data including one or more first components, the method comprising: obtaining a bitstream including first metadata, which is an extension of the metadata of a first encoding method that is a video-based three-dimensional data encoding method, and encoded data; obtaining, from the first metadata, first information indicating an encoding method used to encode the one or more first components, from a plurality of encoding methods including the first encoding method and a second encoding method different from the first encoding method; and, if the first information indicates the first encoding method, generating the one or more first components by decoding the encoded data using a first decoding method corresponding to the first encoding method; and, if the first information indicates the second encoding method, generating the one or more first components by decoding the encoded data using a second decoding method corresponding to the second encoding method.

 本開示は、符号化効率を向上できる三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置又は三次元データ復号装置を提供できる。 This disclosure provides a three-dimensional data encoding method, a three-dimensional data decoding method, a three-dimensional data encoding device, or a three-dimensional data decoding device that can improve encoding efficiency.

図1は、実施の形態に係る三次元データ符号化復号システムの構成例を示す図である。FIG. 1 is a diagram illustrating an example of the configuration of a three-dimensional data encoding/decoding system according to an embodiment. 図2は、実施の形態に係る点群データの構成例を示す図である。FIG. 2 is a diagram illustrating an example of the configuration of point cloud data according to the embodiment. 図3は、実施の形態に係る点群データ情報が記述されたデータファイルの構成例を示す図である。FIG. 3 is a diagram showing an example of the structure of a data file in which point cloud data information according to the embodiment is described. 図4は、実施の形態に係るメッシュデータの構成例を示す図である。FIG. 4 is a diagram illustrating an example of the configuration of mesh data according to the embodiment. 図5は、実施の形態に係るメッシュデータの情報が記述されたデータファイルの構成例を示す図である。FIG. 5 is a diagram showing an example of the structure of a data file in which information on mesh data according to the embodiment is described. 図6は、実施の形態に係る三次元データの種類を示す図である。FIG. 6 is a diagram showing types of three-dimensional data according to the embodiment. 図7は、実施の形態に係る第1の符号化部の構成を示す図である。FIG. 7 is a diagram illustrating a configuration of a first encoding unit according to the embodiment. 図8は、実施の形態に係る第1の符号化部のブロック図である。FIG. 8 is a block diagram of a first encoding unit according to the embodiment. 図9は、実施の形態に係る第1の復号部の構成を示す図である。FIG. 9 is a diagram illustrating a configuration of a first decoding unit according to the embodiment. 図10は、実施の形態に係る第1の復号部のブロック図である。FIG. 10 is a block diagram of a first decoding unit according to the embodiment. 図11は、実施の形態に係る第2の符号化部の構成を示す図である。FIG. 11 is a diagram illustrating a configuration of a second encoding unit according to the embodiment. 図12は、実施の形態に係る第2の符号化部のブロック図である。FIG. 12 is a block diagram of a second encoding unit according to the embodiment. 図13は、実施の形態に係る第2の復号部の構成を示す図である。FIG. 13 is a diagram illustrating a configuration of a second decoding unit according to the embodiment. 図14は、実施の形態に係る第2の復号部のブロック図である。FIG. 14 is a block diagram of a second decoding unit according to the embodiment. 図15は、実施の形態に係る位置情報符号化部のブロック図である。FIG. 15 is a block diagram of a position information encoding unit according to an embodiment. 図16は、実施の形態に係る位置情報復号部のブロック図である。FIG. 16 is a block diagram of a position information decoding unit according to the embodiment. 図17は、実施の形態に係る8分木符号化部のブロック図である。FIG. 17 is a block diagram of an octree encoding unit according to an embodiment. 図18は、実施の形態に係る位置情報の例を示す図である。FIG. 18 is a diagram illustrating an example of location information according to the embodiment. 図19は、実施の形態に係る位置情報の8分木表現の例を示す図である。FIG. 19 is a diagram showing an example of an octree representation of position information according to an embodiment. 図20は、実施の形態に係る8分木復号部のブロック図である。FIG. 20 is a block diagram of an octree decoding unit according to an embodiment. 図21は、実施の形態に係る属性情報符号化部のブロック図である。FIG. 21 is a block diagram of an attribute information encoding unit according to an embodiment. 図22は、実施の形態に係る属性情報復号部のブロック図である。FIG. 22 is a block diagram of an attribute information decoding unit according to the embodiment. 図23は、実施の形態に係る属性情報符号化部のブロック図である。FIG. 23 is a block diagram of an attribute information encoding unit according to an embodiment. 図24は、実施の形態に係る属性情報復号部のブロック図である。FIG. 24 is a block diagram of an attribute information decoding unit according to the embodiment. 図25は、実施の形態に係る三次元データ符号化装置のブロック図である。FIG. 25 is a block diagram of a three-dimensional data encoding device according to an embodiment. 図26は、実施の形態に係る三次元データ復号装置のブロック図である。FIG. 26 is a block diagram of a three-dimensional data decoding device according to an embodiment. 図27は、実施の形態に係るタイル及びスライスの関係を示す図である。FIG. 27 is a diagram showing the relationship between tiles and slices according to the embodiment. 図28は、実施の形態に係るビットストリームの構成例を示す図である。FIG. 28 is a diagram illustrating an example of the configuration of a bitstream according to the embodiment. 図29は、実施の形態に係る三次元データ符号化装置の構成例を示すブロック図である。FIG. 29 is a block diagram showing an example of the configuration of a three-dimensional data encoding device according to an embodiment. 図30は、実施の形態に係る符号化データ及びNALユニットの構成例を示す図である。FIG. 30 is a diagram showing an example of the structure of coded data and NAL units according to an embodiment. 図31は、実施の形態に係るpcc_nal_unit_typeのセマンティクス例を示す図である。FIG. 31 is a diagram illustrating an example of the semantics of pcc_nal_unit_type according to an embodiment. 図32は、実施の形態に係る三次元データ生成システムにおける処理の一部を示す図である。FIG. 32 is a diagram showing a part of the processing in the three-dimensional data generation system according to the embodiment. 図33は、実施の形態に係るガウシアンデータの構成要素を示す図である。FIG. 33 is a diagram illustrating components of Gaussian data according to the embodiment. 図34は、実施の形態に係るガウシアンデータのレンダリング処理を示す図である。FIG. 34 is a diagram illustrating a rendering process of Gaussian data according to an embodiment. 図35は、実施の形態に係る球面調和関数のSH係数の数の例を示す図である。FIG. 35 is a diagram illustrating an example of the number of SH coefficients of spherical harmonic functions according to the embodiment. 図36は、実施の形態に係る球面調和関数の入出力の例を示す図である。FIG. 36 is a diagram illustrating an example of input and output of a spherical harmonic function according to an embodiment. 図37は、実施の形態に係るレンダリング処理を示す図である。FIG. 37 is a diagram illustrating a rendering process according to an embodiment. 図38は、実施の形態に係る符号化装置のブロック図である。FIG. 38 is a block diagram of an encoding device according to an embodiment. 図39は、実施の形態に係る復号装置のブロック図である。FIG. 39 is a block diagram of a decoding device according to an embodiment. 図40は、実施の形態に係る符号化装置のブロック図である。FIG. 40 is a block diagram of an encoding device according to an embodiment. 図41は、実施の形態に係る復号装置のブロック図である。FIG. 41 is a block diagram of a decoding device according to an embodiment. 図42は、実施の形態に係るガウシアンデータのマッピングの例を示す図である。FIG. 42 is a diagram illustrating an example of mapping of Gaussian data according to an embodiment. 図43は、実施の形態に係るマッピング情報の例を示す図である。FIG. 43 is a diagram illustrating an example of mapping information according to an embodiment. 図44は、実施の形態に係る変換情報の構成例を示す図である。FIG. 44 is a diagram illustrating an example of the configuration of conversion information according to the embodiment. 図45は、実施の形態に係る符号化データの構成例を示す図である。FIG. 45 is a diagram illustrating an example of the structure of coded data according to an embodiment. 図46は、実施の形態に係るガウシアンデータのG-PCC属性タイプの例を示す図である。FIG. 46 is a diagram showing an example of the G-PCC attribute type of Gaussian data according to the embodiment. 図47は、実施の形態に係る復号装置による処理のフローチャートである。FIG. 47 is a flowchart of processing by the decoding device according to the embodiment. 図48は、実施の形態に係る第1のガウシアンデータを符号化及び復号するシステムを示すブロック図である。FIG. 48 is a block diagram illustrating a system for encoding and decoding first Gaussian data according to an embodiment. 図49は、実施の形態に係る第2の前処理部のブロック図である。FIG. 49 is a block diagram of a second pre-processing unit according to an embodiment. 図50は、実施の形態に係る変換処理を示す図である。FIG. 50 is a diagram illustrating a conversion process according to an embodiment. 図51は、実施の形態に係るガウシアンデータを符号化するための符号化規格のプロトコルスタックを示す図である。FIG. 51 is a diagram showing a protocol stack of an encoding standard for encoding Gaussian data according to an embodiment. 図52は、実施の形態に係る符号化装置のブロック図である。FIG. 52 is a block diagram of an encoding device according to an embodiment. 図53は、実施の形態に係る復号装置のブロック図である。FIG. 53 is a block diagram of a decoding device according to an embodiment. 図54は、実施の形態に係る符号化処理のフローチャートである。FIG. 54 is a flowchart of the encoding process according to the embodiment. 図55は、実施の形態に係る復号処理のフローチャートである。FIG. 55 is a flowchart of the decoding process according to the embodiment. 図56は、実施の形態に係るガウシアンコーデックの基本データ構造を示す図である。FIG. 56 is a diagram showing the basic data structure of a Gaussian codec according to an embodiment. 図57は、実施の形態に係る3Dデータユニットの構成例を示す図である。FIG. 57 is a diagram showing an example of the structure of a 3D data unit according to an embodiment. 図58は、実施の形態に係る3DPSの構成例を示す図である。FIG. 58 is a diagram showing an example of the configuration of a 3DPS according to an embodiment. 図59は、実施の形態に係るガウシアンデータコンポーネント情報の構成例を示す図である。FIG. 59 is a diagram showing an example of the configuration of Gaussian data component information according to the embodiment. 図60は、実施の形態に係るG-PCCマッピング情報の構成例を示す図である。Figure 60 is a diagram showing an example of the configuration of G-PCC mapping information relating to an embodiment. 図61は、実施の形態に係るV3Cマッピング情報の構成例を示す図である。FIG. 61 is a diagram showing an example of the configuration of V3C mapping information according to an embodiment. 図62は、実施の形態に係るガウシアンデータユニットの構成例を示す図である。FIG. 62 is a diagram illustrating an example of the configuration of a Gaussian data unit according to an embodiment. 図63は、実施の形態に係る3Dガウシアンを符号化する規格のプロトコルスタックを示す図である。FIG. 63 is a diagram illustrating a protocol stack for a standard for encoding 3D Gaussians according to an embodiment. 図64は、実施の形態に係る3Dモデルを符号化する規格のプロトコルスタックを示す図である。FIG. 64 is a diagram showing a protocol stack of a standard for encoding a 3D model according to an embodiment. 図65は、実施の形態に係るガウシアンコンポーネント情報の構成例を示す図である。FIG. 65 is a diagram illustrating an example of the configuration of Gaussian component information according to the embodiment. 図66は、実施の形態に係るガウシアンデータを符号化するための符号化規格のプロトコルスタックを示す図である。FIG. 66 is a diagram showing a protocol stack of an encoding standard for encoding Gaussian data according to an embodiment. 図67は、実施の形態に係る符号化装置のブロック図である。FIG. 67 is a block diagram of an encoding device according to an embodiment. 図68は、実施の形態に係る復号装置のブロック図である。FIG. 68 is a block diagram of a decoding device according to an embodiment. 図69は、実施の形態に係る符号化処理のフローチャートである。FIG. 69 is a flowchart of the encoding process according to the embodiment. 図70は、実施の形態に係る復号処理のフローチャートである。FIG. 70 is a flowchart of the decoding process according to the embodiment. 図71は、実施の形態に係る拡張されたV3Cユニットの構成例を示す図である。FIG. 71 is a diagram showing an example of the configuration of an extended V3C unit according to an embodiment. 図72は、実施の形態に係るV3Cユニットの構成例を示す図である。FIG. 72 is a diagram illustrating an example of the configuration of a V3C unit according to an embodiment. 図73は、実施の形態に係るGCL NALユニットの構成例を示す図である。Figure 73 is a diagram showing an example configuration of a GCL NAL unit relating to an embodiment. 図74は、実施の形態に係る拡張されたV3Cパラメータセットの構成例を示す図である。FIG. 74 is a diagram showing an example of the configuration of an extended V3C parameter set according to an embodiment. 図75は、実施の形態に係るガウシアンデータコンポーネント情報の構成例を示す図である。FIG. 75 is a diagram showing an example of the configuration of Gaussian data component information according to the embodiment. 図76は、実施の形態に係るビデオマッピング情報の構成例を示す図である。FIG. 76 is a diagram showing an example of the configuration of video mapping information according to the embodiment. 図77は、実施の形態に係る3Dマッピング情報の構成例を示す図である。FIG. 77 is a diagram illustrating an example of the configuration of 3D mapping information according to the embodiment. 図78は、実施の形態に係る拡張されたV3Cのプロトコルスタックを示す図である。FIG. 78 is a diagram showing an extended V3C protocol stack according to an embodiment. 図79は、実施の形態に係る拡張されたV3Cのプロトコルスタックを示す図である。FIG. 79 is a diagram showing an extended V3C protocol stack according to an embodiment. 図80は、実施の形態に係る符号化装置による符号化処理のフローチャートである。FIG. 80 is a flowchart of the encoding process performed by the encoding device according to the embodiment. 図81は、実施の形態に係る符号化装置のブロック図である。FIG. 81 is a block diagram of an encoding device according to an embodiment. 図82は、実施の形態に係る復号装置による復号処理のフローチャートである。FIG. 82 is a flowchart of the decoding process by the decoding device according to the embodiment. 図83は、実施の形態に係る復号装置のブロック図である。FIG. 83 is a block diagram of a decoding device according to an embodiment.

 本開示の一態様に係る三次元データ符号化方法は、1以上の第1コンポーネントを含む三次元データを符号化する三次元データ符号化方法であって、ビデオベースの三次元データ符号化方式である第1符号化方式と、前記第1符号化方式と異なる第2符号化方式とを含む複数の符号化方式のうちいずれか一つを選択し、前記第1符号化方式が選択された場合、前記1以上の第1コンポーネントを、前記第1符号化方式を用いて符号化することで第1符号化データを生成し、前記第2符号化方式が選択された場合、前記1以上の第1コンポーネントを、前記第2符号化方式を用いて符号化することで第2符号化データを生成し、前記第1符号化方式のメタデータが拡張された第1メタデータに、前記選択された符号化方式を示す第1情報を格納し、前記第1メタデータと、前記第1符号化データ又は前記第2符号化データとを含むビットストリームを生成する。 A three-dimensional data encoding method according to one aspect of the present disclosure is a three-dimensional data encoding method for encoding three-dimensional data including one or more first components, the method selecting one of a plurality of encoding methods including a first encoding method that is a video-based three-dimensional data encoding method and a second encoding method different from the first encoding method, and if the first encoding method is selected, generating first encoded data by encoding the one or more first components using the first encoding method, and if the second encoding method is selected, generating second encoded data by encoding the one or more first components using the second encoding method, storing first information indicating the selected encoding method in first metadata that is an extension of the metadata of the first encoding method, and generating a bitstream including the first metadata and the first encoded data or the second encoded data.

 これによれば、三次元データ符号化方法は、複数の符号化方式から選択的に三次元データの符号化に用いる符号化方式を選択できる。よって、符号化効率を向上できる可能性がある。さらに、ビデオベースの三次元データ符号化方式を拡張することで、容易に上記処理を実現可能なシステムを構築できる。 This allows the three-dimensional data encoding method to selectively select from multiple encoding methods the encoding method to be used for encoding three-dimensional data. This has the potential to improve encoding efficiency. Furthermore, by extending the video-based three-dimensional data encoding method, it is possible to easily build a system that can achieve the above processing.

 例えば、前記三次元データ符号化方法は、さらに、前記1以上の第1コンポーネントを、前記選択された符号化方式に対応する1以上の第2コンポーネントに変換し、前記第1符号化方式が選択された場合、前記1以上の第2コンポーネントを、前記第1符号化方式を用いて符号化することで前記第1符号化データを生成し、前記第2符号化方式が選択された場合、前記1以上の第2コンポーネントを、前記第2符号化方式を用いて符号化することで前記第2符号化データを生成し、前記第1メタデータは、さらに、前記1以上の第1コンポーネントと前記1以上の第2コンポーネントとの対応関係を示す第2情報を含んでもよい。 For example, the three-dimensional data encoding method may further convert the one or more first components into one or more second components corresponding to the selected encoding method, and if the first encoding method is selected, generate the first encoded data by encoding the one or more second components using the first encoding method, and if the second encoding method is selected, generate the second encoded data by encoding the one or more second components using the second encoding method, and the first metadata may further include second information indicating a correspondence between the one or more first components and the one or more second components.

 これによれば、三次元データ符号化方法は、選択された符号化方式に対応した形式にデータを変更することで、選択した符号化方式を用いて三次元データを符号化できる。また、復号装置は、ビットストリームに含まれる第2情報を用いて、複数の第2コンポーネントを複数の第1コンポーネントに変換できる。 According to this, the three-dimensional data encoding method can encode three-dimensional data using the selected encoding method by converting the data into a format that corresponds to the selected encoding method. Furthermore, the decoding device can convert multiple second components into multiple first components using second information included in the bitstream.

 例えば、前記第2符号化方式は、ジオメトリベースの三次元データ符号化方式であってもよい。例えば、前記第2符号化方式は、ニューラルネットワークベースの三次元データ符号化方式であってもよい。例えば、前記第2符号化方式は、AIを用いた三次元データ符号化方式であってもよい。例えば、前記三次元データはガウシアンデータであってもよい。 For example, the second encoding method may be a geometry-based three-dimensional data encoding method. For example, the second encoding method may be a neural network-based three-dimensional data encoding method. For example, the second encoding method may be a three-dimensional data encoding method using AI. For example, the three-dimensional data may be Gaussian data.

 これによれば、三次元データ符号化方法は、複数の符号化方式から選択的にガウシアンデータの符号化に用いる符号化方式を選択できる。よって、符号化効率を向上できる可能性がある。 This allows the three-dimensional data encoding method to selectively select the encoding method to use for encoding Gaussian data from multiple encoding methods, potentially improving encoding efficiency.

 本開示の一態様に係る三次元データ復号方法は、1以上の第1コンポーネントを含む三次元データを復号する三次元データ復号方法であって、ビデオベースの三次元データ符号化方式である第1符号化方式のメタデータが拡張された第1メタデータと、符号化データとを含むビットストリームを取得し、前記第1符号化方式と、前記第1符号化方式と異なる第2符号化方式とを含む複数の符号化方式のうち、前記1以上の第1コンポーネントの符号化に用いられた符号化方式を示す第1情報を、前記第1メタデータから取得し、前記第1情報により前記第1符号化方式が示される場合、前記符号化データを、前記第1符号化方式に対応する第1復号方式を用いて復号することで前記1以上の第1コンポーネントを生成し、前記第1情報により前記第2符号化方式が示される場合、前記符号化データを、前記第2符号化方式に対応する第2復号方式を用いて復号することで前記1以上の第1コンポーネントを生成する。 A three-dimensional data decoding method according to one aspect of the present disclosure is a three-dimensional data decoding method for decoding three-dimensional data including one or more first components, the method comprising: obtaining a bitstream including first metadata, which is an extension of the metadata of a first encoding method that is a video-based three-dimensional data encoding method, and encoded data; obtaining, from the first metadata, first information indicating an encoding method used to encode the one or more first components, from a plurality of encoding methods including the first encoding method and a second encoding method different from the first encoding method; and, if the first information indicates the first encoding method, generating the one or more first components by decoding the encoded data using a first decoding method corresponding to the first encoding method; and, if the first information indicates the second encoding method, generating the one or more first components by decoding the encoded data using a second decoding method corresponding to the second encoding method.

 これによれば、符号化装置は、複数の符号化方式から選択的に三次元データの符号化に用いる符号化方式を選択できる。よって、符号化効率を向上できる可能性がある。また、三次元データ復号方法は、符号化装置で生成された符号化データを適切に復号できる。さらに、ビデオベースの三次元データ符号化方式を拡張することで、容易に上記処理を実現可能なシステムを構築できる。 This allows the encoding device to selectively select an encoding method to use for encoding three-dimensional data from multiple encoding methods, potentially improving encoding efficiency. Furthermore, the three-dimensional data decoding method can appropriately decode encoded data generated by the encoding device. Furthermore, by extending the video-based three-dimensional data encoding method, a system capable of easily implementing the above processing can be constructed.

 例えば、前記符号化データは、前記1以上の第1コンポーネントが変換された1以上の第2コンポーネントが符号化されることで生成され、前記三次元データ復号方法は、さらに、前記1以上の第1コンポーネントと前記1以上の第2コンポーネントとの対応関係を示す第2情報を、前記第1メタデータから取得し、前記第1情報により前記第1符号化方式が示される場合、前記符号化データを、前記第1復号方式を用いて復号することで前記1以上の第2コンポーネントを生成し、前記第1情報により前記第2符号化方式が示される場合、前記符号化データを、前記第2復号方式を用いて復号することで前記1以上の第2コンポーネントを生成し、前記第2情報で示される前記対応関係を用いて、前記1以上の第2コンポーネントを前記1以上の第1コンポーネントに変換してもよい。 For example, the encoded data may be generated by encoding one or more second components resulting from the conversion of the one or more first components, and the three-dimensional data decoding method may further include: acquiring, from the first metadata, second information indicating a correspondence between the one or more first components and the one or more second components; if the first information indicates the first encoding method, generating the one or more second components by decoding the encoded data using the first decoding method; if the first information indicates the second encoding method, generating the one or more second components by decoding the encoded data using the second decoding method; and converting the one or more second components into the one or more first components using the correspondence indicated in the second information.

 これによれば、符号化装置は、選択された符号化方式に対応した形式にデータを変更することで、選択した符号化方式を用いて三次元データを符号化できる。また、三次元データ復号装置は、ビットストリームに含まれる第2情報を用いて、複数の第2コンポーネントを複数の第1コンポーネントに変換できる。 This allows the encoding device to encode three-dimensional data using the selected encoding method by converting the data into a format compatible with the selected encoding method. Furthermore, the three-dimensional data decoding device can convert multiple second components into multiple first components using second information included in the bitstream.

 例えば、前記第2符号化方式は、ジオメトリベースの三次元データ符号化方式であってもよい。例えば、前記第2符号化方式は、ニューラルネットワークベースの三次元データ符号化方式であってもよい。例えば、前記第2符号化方式は、AIを用いた三次元データ符号化方式であってもよい。 For example, the second encoding method may be a geometry-based three-dimensional data encoding method. For example, the second encoding method may be a neural network-based three-dimensional data encoding method. For example, the second encoding method may be a three-dimensional data encoding method using AI.

 例えば、前記三次元データはガウシアンデータであってもよい。 For example, the three-dimensional data may be Gaussian data.

 これによれば、符号化装置は、複数の符号化方式から選択的にガウシアンデータの符号化に用いる符号化方式を選択できる。よって、符号化効率を向上できる可能性がある。 This allows the encoding device to selectively select from multiple encoding methods the encoding method to use for encoding Gaussian data. This has the potential to improve encoding efficiency.

 本開示の一態様に係る三次元データ符号化装置は、1以上の第1コンポーネントを含む三次元データを符号化する三次元データ符号化装置であって、プロセッサと、メモリと、を備え、前記プロセッサは、前記メモリを用いて、ビデオベースの三次元データ符号化方式である第1符号化方式と、前記第1符号化方式と異なる第2符号化方式とを含む複数の符号化方式のうちいずれか一つを選択し、前記第1符号化方式が選択された場合、前記1以上の第1コンポーネントを、前記第1符号化方式を用いて符号化することで第1符号化データを生成し、前記第2符号化方式が選択された場合、前記1以上の第1コンポーネントを、前記第2符号化方式を用いて符号化することで第2符号化データを生成し、前記第1符号化方式のメタデータが拡張された第1メタデータに、前記選択された符号化方式を示す第1情報を格納し、前記第1メタデータと、前記第1符号化データ又は前記第2符号化データとを含むビットストリームを生成する。 A three-dimensional data encoding device according to one aspect of the present disclosure is a three-dimensional data encoding device that encodes three-dimensional data including one or more first components, and includes a processor and a memory. The processor uses the memory to select one of a plurality of encoding methods, including a first encoding method that is a video-based three-dimensional data encoding method and a second encoding method different from the first encoding method. If the first encoding method is selected, the processor generates first encoded data by encoding the one or more first components using the first encoding method. If the second encoding method is selected, the processor generates second encoded data by encoding the one or more first components using the second encoding method. The processor stores first information indicating the selected encoding method in first metadata that is an extension of the metadata for the first encoding method. The processor generates a bitstream that includes the first metadata and the first encoded data or the second encoded data.

 これによれば、三次元データ符号化装置は、複数の符号化方式から選択的に三次元データの符号化に用いる符号化方式を選択できる。よって、符号化効率を向上できる可能性がある。さらに、ビデオベースの三次元データ符号化方式を拡張することで、容易に上記処理を実現可能なシステムを構築できる。 This allows the three-dimensional data encoding device to selectively select from multiple encoding methods the encoding method to be used for encoding three-dimensional data. This has the potential to improve encoding efficiency. Furthermore, by expanding the video-based three-dimensional data encoding method, it is possible to easily build a system that can achieve the above processing.

 本開示の一態様に係る三次元データ復号装置は、1以上の第1コンポーネントを含む三次元データを復号する三次元データ復号装置であって、プロセッサと、メモリと、を備え、前記プロセッサは、前記メモリを用いて、ビデオベースの三次元データ符号化方式である第1符号化方式のメタデータが拡張された第1メタデータと、符号化データとを含むビットストリームを取得し、前記第1符号化方式と第2符号化方式とを含む複数の符号化方式のうち、前記1以上の第1コンポーネントの符号化に用いられた符号化方式を示す第1情報を、前記第1メタデータから取得し、前記第1情報により前記第1符号化方式が示される場合、前記符号化データを、前記第1符号化方式に対応する第1復号方式を用いて復号することで前記1以上の第1コンポーネントを生成し、前記第1情報により前記第2符号化方式が示される場合、前記符号化データを、前記第2符号化方式に対応する第2復号方式を用いて復号することで前記1以上の第1コンポーネントを生成する。 A three-dimensional data decoding device according to one aspect of the present disclosure is a three-dimensional data decoding device that decodes three-dimensional data including one or more first components, and includes a processor and a memory. The processor uses the memory to obtain a bitstream that includes encoded data and first metadata, which is an extension of the metadata of a first encoding method that is a video-based three-dimensional data encoding method. The processor obtains, from the first metadata, first information indicating which encoding method, out of multiple encoding methods including the first encoding method and a second encoding method, was used to encode the one or more first components. If the first information indicates the first encoding method, the encoded data is decoded using a first decoding method corresponding to the first encoding method to generate the one or more first components. If the first information indicates the second encoding method, the encoded data is decoded using a second decoding method corresponding to the second encoding method to generate the one or more first components.

 これによれば、符号化装置は、複数の符号化方式から選択的に三次元データの符号化に用いる符号化方式を選択できる。よって、符号化効率を向上できる可能性がある。また、三次元データ復号装置は、符号化装置で生成された符号化データを適切に復号できる。さらに、ビデオベースの三次元データ符号化方式を拡張することで、容易に上記処理を実現可能なシステムを構築できる。 This allows the encoding device to selectively select from multiple encoding methods the encoding method to use for encoding 3D data. This potentially improves encoding efficiency. Furthermore, the 3D data decoding device can properly decode the encoded data generated by the encoding device. Furthermore, by expanding the video-based 3D data encoding method, a system capable of easily implementing the above processing can be constructed.

 なお、これらの包括的又は具体的な態様は、システム、方法、集積回路、コンピュータプログラム又はコンピュータ読み取り可能なCD-ROM等の記録媒体で実現されてもよく、システム、方法、集積回路、コンピュータプログラム及び記録媒体の任意な組み合わせで実現されてもよい。 Furthermore, these comprehensive or specific aspects may be realized as a system, method, integrated circuit, computer program, or computer-readable recording medium such as a CD-ROM, or as any combination of a system, method, integrated circuit, computer program, and recording medium.

 以下、実施の形態について、図面を参照しながら具体的に説明する。なお、以下で説明する実施の形態は、いずれも本開示の一具体例を示すものである。以下の実施の形態で示される数値、形状、材料、構成要素、構成要素の配置位置及び接続形態、ステップ、ステップの順序などは、一例であり、本開示を限定する主旨ではない。また、以下の実施の形態における構成要素のうち、独立請求項に記載されていない構成要素については、任意の構成要素として説明される。 The following embodiments are described in detail with reference to the drawings. Note that each of the embodiments described below represents a specific example of the present disclosure. The numerical values, shapes, materials, components, component placement and connection configurations, steps, and step order shown in the following embodiments are merely examples and are not intended to limit the present disclosure. Furthermore, among the components in the following embodiments, components that are not recited in independent claims are described as optional components.

 (実施の形態)
 [三次元データ符号化復号システム]
 まず、本実施の形態に係る三次元データ符号化復号システムの構成を説明する。図1は、本実施の形態に係る三次元データ符号化復号システムの構成例を示す図である。図1に示すように、三次元データ符号化復号システムは、三次元データ符号化システム101と、三次元データ復号システム102と、センサ端末103と、外部接続部104とを含む。
(Embodiment)
[Three-dimensional data encoding/decoding system]
First, the configuration of a three-dimensional data encoding/decoding system according to this embodiment will be described. Fig. 1 is a diagram showing an example of the configuration of a three-dimensional data encoding/decoding system according to this embodiment. As shown in Fig. 1, the three-dimensional data encoding/decoding system includes a three-dimensional data encoding system 101, a three-dimensional data decoding system 102, a sensor terminal 103, and an external connection unit 104.

 三次元データ符号化システム101は、三次元データである三次元点群データ又は三次元メッシュデータ等を符号化することで符号化データ又は多重化データを生成する。なお、三次元データ符号化システム101は、単一の装置により実現される三次元データ符号化装置であってもよいし、複数の装置により実現されるシステムであってもよい。また、三次元データ符号化装置は、三次元データ符号化システム101に含まれる複数の処理部のうち一部を含んでもよい。 The three-dimensional data encoding system 101 generates encoded data or multiplexed data by encoding three-dimensional data such as three-dimensional point cloud data or three-dimensional mesh data. The three-dimensional data encoding system 101 may be a three-dimensional data encoding device implemented by a single device, or a system implemented by multiple devices. The three-dimensional data encoding device may also include some of the multiple processing units included in the three-dimensional data encoding system 101.

 三次元データ符号化システム101は、三次元データ生成システム111と、提示部112と、符号化部113と、多重化部114と、入出力部115と、制御部116とを含む。三次元データ生成システム111は、センサ情報取得部117と、三次元データ生成部118とを含む。 The three-dimensional data encoding system 101 includes a three-dimensional data generation system 111, a presentation unit 112, an encoding unit 113, a multiplexing unit 114, an input/output unit 115, and a control unit 116. The three-dimensional data generation system 111 includes a sensor information acquisition unit 117 and a three-dimensional data generation unit 118.

 センサ情報取得部117は、センサ端末103からセンサ情報(センサ信号)を取得し、センサ情報を三次元データ生成部118に出力する。三次元データ生成部118は、センサ情報から三次元データを生成し、三次元データを符号化部113へ出力する。 The sensor information acquisition unit 117 acquires sensor information (sensor signals) from the sensor terminal 103 and outputs the sensor information to the three-dimensional data generation unit 118. The three-dimensional data generation unit 118 generates three-dimensional data from the sensor information and outputs the three-dimensional data to the encoding unit 113.

 提示部112は、センサ情報又は三次元データをユーザに提示する。例えば、提示部112は、センサ情報又は三次元データに基づく情報又は画像を表示する。 The presentation unit 112 presents the sensor information or three-dimensional data to the user. For example, the presentation unit 112 displays information or an image based on the sensor information or three-dimensional data.

 符号化部113は、三次元データを符号化(圧縮)し、得られた符号化データと、符号化過程において得られた制御情報と、その他の付加情報とを多重化部114へ出力する。付加情報は、例えば、センサ情報を含む。 The encoding unit 113 encodes (compresses) the three-dimensional data and outputs the resulting encoded data, control information obtained during the encoding process, and other additional information to the multiplexing unit 114. The additional information includes, for example, sensor information.

 多重化部114は、符号化部113から入力された符号化データと、制御情報と、付加情報とを多重することで多重化データを生成する。多重化データのフォーマットは、例えば蓄積のためのファイルフォーマット、又は伝送のためのパケットフォーマットである。 The multiplexing unit 114 generates multiplexed data by multiplexing the coded data input from the coding unit 113, control information, and additional information. The format of the multiplexed data is, for example, a file format for storage or a packet format for transmission.

 入出力部115(例えば、通信部又はインターフェース)は、多重化データを外部へ出力する。または、多重化データは、内部メモリ等の蓄積部に蓄積される。制御部116(またはアプリ実行部)は、各処理部を制御する。つまり、制御部116は、符号化及び多重化等の制御を行う。 The input/output unit 115 (e.g., a communication unit or interface) outputs the multiplexed data to the outside. Alternatively, the multiplexed data is stored in a storage unit such as internal memory. The control unit 116 (or application execution unit) controls each processing unit. In other words, the control unit 116 controls encoding, multiplexing, etc.

 なお、センサ情報が符号化部113又は多重化部114へ入力されてもよい。また、入出力部115は、三次元データ又は符号化データをそのまま外部へ出力してもよい。 In addition, the sensor information may be input to the encoding unit 113 or the multiplexing unit 114. Furthermore, the input/output unit 115 may output the three-dimensional data or encoded data directly to the outside.

 三次元データ符号化システム101から出力された伝送信号(多重化データ)は、外部接続部104を介して、三次元データ復号システム102に入力される。 The transmission signal (multiplexed data) output from the three-dimensional data encoding system 101 is input to the three-dimensional data decoding system 102 via the external connection unit 104.

 三次元データ復号システム102は、符号化データ又は多重化データを復号することで三次元データである三次元点群データ又は三次元メッシュデータ等を生成する。なお、三次元データ復号システム102は、単一の装置により実現される三次元データ復号装置であってもよいし、複数の装置により実現されるシステムであってもよい。また、三次元データ復号装置は、三次元データ復号システム102に含まれる複数の処理部のうち一部を含んでもよい。 The three-dimensional data decoding system 102 generates three-dimensional data such as three-dimensional point cloud data or three-dimensional mesh data by decoding the encoded data or multiplexed data. The three-dimensional data decoding system 102 may be a three-dimensional data decoding device realized by a single device, or may be a system realized by multiple devices. The three-dimensional data decoding device may also include some of the multiple processing units included in the three-dimensional data decoding system 102.

 三次元データ復号システム102は、センサ情報取得部121と、入出力部122と、逆多重化部123と、復号部124と、提示部125と、ユーザインタフェース126と、制御部127とを含む。 The three-dimensional data decoding system 102 includes a sensor information acquisition unit 121, an input/output unit 122, a demultiplexing unit 123, a decoding unit 124, a presentation unit 125, a user interface 126, and a control unit 127.

 センサ情報取得部121は、センサ端末103からセンサ情報(センサ信号)を取得する。 The sensor information acquisition unit 121 acquires sensor information (sensor signals) from the sensor terminal 103.

 入出力部122は、伝送信号を取得し、伝送信号から多重化データ(ファイルフォーマット又はパケット)を復号し、多重化データを逆多重化部123へ出力する。 The input/output unit 122 acquires the transmission signal, decodes the multiplexed data (file format or packets) from the transmission signal, and outputs the multiplexed data to the demultiplexer unit 123.

 逆多重化部123は、多重化データから符号化データ、制御情報及び付加情報を取得し、符号化データ、制御情報及び付加情報を復号部124へ出力する。 The demultiplexing unit 123 obtains the coded data, control information, and additional information from the multiplexed data, and outputs the coded data, control information, and additional information to the decoding unit 124.

 復号部124は、符号化データを復号することで三次元データを再構成する。 The decoding unit 124 reconstructs the three-dimensional data by decoding the encoded data.

 提示部125は、三次元データをユーザに提示する。例えば、提示部125は、三次元データに基づく情報又は画像を表示する。ユーザインタフェース126は、ユーザの操作に基づく指示を取得する。制御部127(またはアプリ実行部)は、各処理部を制御する。つまり、制御部127は、逆多重化、復号及び提示等の制御を行う。 The presentation unit 125 presents the three-dimensional data to the user. For example, the presentation unit 125 displays information or images based on the three-dimensional data. The user interface 126 acquires instructions based on user operations. The control unit 127 (or application execution unit) controls each processing unit. In other words, the control unit 127 controls demultiplexing, decoding, presentation, etc.

 なお、入出力部122は、三次元データ又は符号化データをそのまま外部から取得してもよい。また、提示部125は、センサ情報などの付加情報を取得し、付加情報に基づいた情報を提示してもよい。また、提示部125は、ユーザインタフェース126で取得されたユーザの指示に基づき、提示を行ってもよい。 The input/output unit 122 may acquire the three-dimensional data or encoded data directly from outside. The presentation unit 125 may also acquire additional information such as sensor information and present information based on the additional information. The presentation unit 125 may also present information based on user instructions acquired by the user interface 126.

 センサ端末103は、センサで得られた情報であるセンサ情報を生成する。センサ端末103は、センサ又はカメラを搭載した端末であり、例えば、自動車などの移動体、飛行機などの飛行物体、携帯端末、又はカメラなどがある。 The sensor terminal 103 generates sensor information, which is information obtained by a sensor. The sensor terminal 103 is a terminal equipped with a sensor or camera, and may be, for example, a moving object such as an automobile, a flying object such as an airplane, a mobile terminal, or a camera.

 センサ端末103で取得可能なセンサ情報は、例えば、(1)LIDAR、ミリ波レーダ、又は赤外線センサから得られる、センサ端末103と対象物との距離、又は対象物の反射率、(2)複数の単眼カメラ画像又はステレオカメラ画像から得られるカメラと対象物との距離又は対象物の反射率等である。また、センサ情報は、センサの姿勢、向き、ジャイロ(角速度)、位置(GPS情報又は高度)、速度、又は加速度等を含んでもよい。また、センサ情報は、気温、気圧、湿度、又は磁気等を含んでもよい。 Sensor information that can be acquired by the sensor terminal 103 includes, for example, (1) the distance between the sensor terminal 103 and an object, or the reflectance of the object, obtained from a LIDAR, millimeter-wave radar, or infrared sensor, and (2) the distance between the camera and the object, or the reflectance of the object, obtained from multiple monocular camera images or stereo camera images. The sensor information may also include the sensor's attitude, orientation, gyro (angular velocity), position (GPS information or altitude), speed, acceleration, etc. The sensor information may also include temperature, air pressure, humidity, magnetism, etc.

 外部接続部104は、集積回路(LSI又はIC)、外部蓄積部、インターネットを介したクラウドサーバとの通信、又は、放送等により実現される。 The external connection unit 104 is realized by an integrated circuit (LSI or IC), an external storage unit, communication with a cloud server via the Internet, broadcasting, etc.

 次に、三次元点群データ(以下、点群データとも記す)について説明する。図2は、点群データの構成を示す図である。図3は、点群データの情報が記述されたデータファイルの構成例を示す図である。 Next, we will explain three-dimensional point cloud data (hereinafter also referred to as point cloud data). Figure 2 is a diagram showing the structure of point cloud data. Figure 3 is a diagram showing an example of the structure of a data file in which information about point cloud data is described.

 点群データは、複数の点のデータを含む。各点のデータは、位置情報(三次元座標)、及びその位置情報に対する属性情報を含む。この点が複数集まったものを点群と呼ぶ。例えば、点群は対象物(オブジェクト)の三次元形状を示す。 Point cloud data contains data for multiple points. The data for each point includes location information (three-dimensional coordinates) and attribute information for that location information. A collection of multiple points is called a point cloud. For example, a point cloud represents the three-dimensional shape of an object.

 三次元座標等の位置情報(Position)をジオメトリ(geometry)と呼ぶこともある。また、各点のデータは、複数の属性種別の属性情報(attribute)を含んでもよい。属性種別は、例えば色又は反射率などである。 Position information such as three-dimensional coordinates is sometimes called geometry. Furthermore, the data for each point may include attribute information of multiple attribute types. Attribute types include, for example, color or reflectance.

 1つの位置情報に対して1つの属性情報が対応付けられてもよいし、1つの位置情報に対して複数の異なる属性種別を持つ属性情報が対応付けられてもよい。また、1つの位置情報に対して同じ属性種別の属性情報が複数対応付けられてもよい。 One piece of attribute information may be associated with one piece of location information, or multiple pieces of attribute information with different attribute types may be associated with one piece of location information. Furthermore, multiple pieces of attribute information of the same attribute type may be associated with one piece of location information.

 図3に示すデータファイルの構成例は、位置情報と属性情報とが1対1に対応する場合の例であり、点群データを構成するN個の点の位置情報と属性情報とを示している。 The data file configuration example shown in Figure 3 is an example where there is a one-to-one correspondence between location information and attribute information, and shows the location information and attribute information of N points that make up the point cloud data.

 位置情報は、例えば、x、y、zの3軸の情報である。属性情報は、例えば、RGBの色情報である。代表的なデータファイルとしてplyファイルなどがある。 Position information is, for example, information on the three axes x, y, and z. Attribute information is, for example, RGB color information. A typical data file is a ply file.

 次に三次元メッシュデータ(以下、メッシュデータとも記す)について説明する。図4は、メッシュデータの構成例を示す図である。図5は、メッシュデータの情報が記述されたデータファイルの構成例を示す図である。 Next, we will explain three-dimensional mesh data (hereinafter also referred to as mesh data). Figure 4 is a diagram showing an example of the structure of mesh data. Figure 5 is a diagram showing an example of the structure of a data file in which information about mesh data is described.

 メッシュデータは、CG(Computer Graphics)に用いられるデータ形式である。メッシュデータは、面情報の集まりにより対象物の三次元形状を示す。面情報は、三角形又は四角形などの多角形であり、ポリゴン又はポリゴンメッシュとも称される。 Mesh data is a data format used in CG (Computer Graphics). Mesh data represents the three-dimensional shape of an object through a collection of surface information. The surface information is polygons such as triangles or quadrangles, and is also called a polygon or polygon mesh.

 メッシュデータの構成要素は、三次元点群(三次元位置情報及びその位置情報に対応する属性情報を持つ点の集合)に加え、三次元点を頂点(vertex)とし、2つの頂点を結んだ辺(edge)、及び辺で囲まれた面(face)の集合である。 Mesh data consists of a 3D point cloud (a set of points with 3D position information and attribute information corresponding to that position information), as well as a set of 3D points as vertices, edges connecting two vertices, and faces enclosed by the edges.

 頂点(vertex又はpositionとも表現される)は、点に対する色情報、反射率、又は法線ベクトルなどの属性情報を持つ場合もある。辺又は面を構成する頂点の関係性を示す情報を接続性(connectivity)とも言う。点に対する法線ベクトルの向きによって面の表裏を表現できる。また、メッシュデータは、面に対する属性情報を持ってもよい。 Vertices (also expressed as "vertex" or "position") may have attribute information such as color information, reflectance, or normal vectors for the point. Information indicating the relationship between the vertices that make up an edge or face is also called connectivity. The front and back of a face can be expressed by the direction of the normal vector for the point. Mesh data may also have attribute information for faces.

 メッシュデータファイルの形式としては例えばオブジェクトファイルがある。データファイルは、メッシュを構成するN個頂点の位置情報G(1)~G(N)、及び頂点の属性情報A(1)~A(N)を示す。なお、データファイルは、属性情報を含まなくてもよい。また、属性情報は頂点に1対1に対応しなくてもよい。なお、図5は、データファイルが1~M個の属性情報A2を持つ例を示す。 An example of a mesh data file format is an object file. The data file indicates the position information G(1) to G(N) of the N vertices that make up the mesh, and the vertex attribute information A(1) to A(N). Note that the data file does not have to include attribute information. Furthermore, the attribute information does not have to correspond one-to-one to the vertices. Note that Figure 5 shows an example in which a data file has 1 to M pieces of attribute information A2.

 面情報は、頂点のインデックスの組み合わせで示される。n[1、3、4]は、当該面が、n=1、n=3、n=4の3つの頂点で構成される三角形の面であることを示す。また、m[2、4、6]は3つの頂点に対してm=1、m=4、m=6の属性情報がそれぞれ対応することを示す。 Face information is represented by a combination of vertex indices. n[1, 3, 4] indicates that the face in question is a triangular face made up of three vertices, n=1, n=3, and n=4. Furthermore, m[2, 4, 6] indicates that the attribute information for m=1, m=4, and m=6 corresponds to the three vertices, respectively.

 また、属性情報がデータファイルとは別のファイルに記載され、データファイルはそのポインタ情報を示す場合もある。例えば、属性情報が二次元の属性マップ(attribute map)ファイルに格納され、属性マップのファイル名、及び属性マップにおける二次元座標がデータファイルの属性情報A2に記載されてもよい。いずれの方法を用いても、点に対する属性情報を指定することが可能である。 Alternatively, attribute information may be recorded in a file separate from the data file, with the data file indicating its pointer information. For example, attribute information may be stored in a two-dimensional attribute map file, with the file name of the attribute map and the two-dimensional coordinates in the attribute map recorded in attribute information A2 of the data file. Either method can be used to specify attribute information for a point.

 次に、三次元データ(点群データ又はメッシュデータ)の種類について説明する。図6は、三次元データの種類を示す図である。図6に示すように、三次元データには、静的オブジェクトと、動的オブジェクトとがある。 Next, we will explain the types of three-dimensional data (point cloud data or mesh data). Figure 6 is a diagram showing the types of three-dimensional data. As shown in Figure 6, three-dimensional data includes static objects and dynamic objects.

 静的オブジェクトは、任意の時間(ある時刻)の三次元データである。動的オブジェクトは、時間的に変化する三次元データである。以降、ある時刻の三次元点群データをPCC(Point Cloud Compression)フレーム、又はフレームと呼ぶ。また、ある時刻の三次元メッシュデータをメッシュフレーム、又はフレームと呼ぶ。 A static object is three-dimensional data at any time (a certain time). A dynamic object is three-dimensional data that changes over time. Hereinafter, three-dimensional point cloud data at a certain time will be referred to as a PCC (Point Cloud Compression) frame, or frame. Also, three-dimensional mesh data at a certain time will be referred to as a mesh frame, or frame.

 オブジェクトを構成する複数の点は、通常の映像データのように、ある程度領域、画素、又は点の数等が制限されている場合もある。また、オブジェクトを構成する複数の点は、地図情報のように領域が制限されていない場合もある。 The multiple points that make up an object may have certain limitations on the area, pixels, or number of points, as in normal video data. Also, the multiple points that make up an object may not have a limited area, as in map information.

 また、様々な密度の点群データ又はメッシュデータがあり、疎な点群データ又はメッシュデータと、密な点群データ又はメッシュデータとが存在してもよい。 Furthermore, there may be point cloud data or mesh data of various densities, and there may be sparse point cloud data or mesh data and dense point cloud data or mesh data.

 以下、各処理部の詳細について説明する。センサ情報は、LIDAR或いはレンジファインダなどの距離センサ、ステレオカメラ、又は、複数の単眼カメラの組合せなど様々な方法で取得される。三次元データ生成部118は、センサ情報取得部117で得られたセンサ情報に基づき三次元データを生成する。三次元データ生成部118は、三次元データとして、位置情報を生成し、位置情報に、当該位置情報に対する属性情報を付加する。 The details of each processing unit are explained below. Sensor information is acquired by various methods, such as distance sensors such as LIDAR or range finders, stereo cameras, or a combination of multiple monocular cameras. The three-dimensional data generation unit 118 generates three-dimensional data based on the sensor information acquired by the sensor information acquisition unit 117. The three-dimensional data generation unit 118 generates position information as three-dimensional data and adds attribute information for that position information to the position information.

 三次元データ生成部118は、位置情報の生成又は属性情報の付加の際に、三次元データを加工してもよい。例えば、三次元データ生成部118は、位置が重複する点群を削除することでデータ量を減らしてもよい。また、三次元データ生成部118は、位置情報を変換(位置シフト、回転又は正規化など)してもよい。また、三次元データ生成部118は、点群データからメッシュデータを生成してもよい。また、三次元データ生成部118は、属性情報をレンダリングしてもよい。 The three-dimensional data generation unit 118 may process the three-dimensional data when generating position information or adding attribute information. For example, the three-dimensional data generation unit 118 may reduce the amount of data by deleting point clouds with overlapping positions. The three-dimensional data generation unit 118 may also transform the position information (such as by shifting the position, rotating, or normalizing). The three-dimensional data generation unit 118 may also generate mesh data from the point cloud data. The three-dimensional data generation unit 118 may also render the attribute information.

 なお、図1では、三次元データ生成システム111は、三次元データ符号化システム101に含まれるが、三次元データ符号化システム101の外部に独立して設けられてもよい。 In FIG. 1, the three-dimensional data generation system 111 is included in the three-dimensional data encoding system 101, but it may also be provided independently outside the three-dimensional data encoding system 101.

 符号化部113は、三次元データを符号化することで符号化データを生成する。符号化方法には以下の方法がある。一つ目は、位置情報を用いた符号化方法であり、この符号化方法を、以降、第1の符号化方法と記載する。二つ目は、ビデオコーデックを用いた符号化方法であり、この符号化方法を、以降、第2の符号化方法と記載する。 The encoding unit 113 generates encoded data by encoding the three-dimensional data. There are the following encoding methods. The first is an encoding method that uses position information, and this encoding method will be referred to as the first encoding method hereafter. The second is an encoding method that uses a video codec, and this encoding method will be referred to as the second encoding method hereafter.

 復号部124は、符号化データを復号することで点群データを復号する。多重化部114は、符号化データを、既存の多重化方式を用いて多重化することで多重化データを生成する。生成された多重化データは、伝送又は蓄積される。多重化部114は、PCC符号化データの他に、映像、音声、字幕、アプリケーション、ファイルなどの他のメディア、又は基準時刻情報を多重化する。また、多重化部114は、さらに、センサ情報又は三次元データに関連する属性情報を多重してもよい。 The decoding unit 124 decodes the encoded data to decode the point cloud data. The multiplexing unit 114 generates multiplexed data by multiplexing the encoded data using an existing multiplexing method. The generated multiplexed data is transmitted or stored. In addition to the PCC encoded data, the multiplexing unit 114 multiplexes other media such as video, audio, subtitles, applications, and files, or reference time information. The multiplexing unit 114 may also multiplex sensor information or attribute information related to the three-dimensional data.

 多重化方式又はファイルフォーマットとしては、ISOBMFF、ISOBMFFベースの伝送方式であるMPEG-DASH、MMT、MPEG-2 TS Systems、RTPなどがある。 Multiplexing methods or file formats include ISOBMFF, and ISOBMFF-based transmission methods such as MPEG-DASH, MMT, MPEG-2 TS Systems, and RTP.

 逆多重化部123は、多重化データから符号化データ、その他のメディア、及び時刻情報などを抽出する。 The demultiplexing unit 123 extracts encoded data, other media, time information, etc. from the multiplexed data.

 入出力部115は、多重化データを、放送又は通信など、伝送する媒体又は蓄積する媒体にあわせた方法を用いて伝送する。入出力部115は、インターネット経由で他のデバイスと通信してもよいし、クラウドサーバなどの蓄積部と通信してもよい。 The input/output unit 115 transmits the multiplexed data using a method suited to the transmission medium or storage medium, such as broadcasting or communication. The input/output unit 115 may communicate with other devices via the Internet, or with a storage unit such as a cloud server.

 通信プロトコルとしては、http、ftp、TCP又はUDPなどが用いられる。PULL型の通信方式が用いられてもよいし、PUSH型の通信方式が用いられてもよい。 Communication protocols include http, ftp, TCP, and UDP. A pull-type communication method or a push-type communication method may be used.

 有線伝送及び無線伝送のいずれが用いられてもよい。有線伝送としては、Ethernet(登録商標)、USB、RS-232C、HDMI(登録商標)、又は同軸ケーブルなどが用いられる。無線伝送としては、無線LAN、Wi-Fi(登録商標)、Bluetooth(登録商標)又はミリ波などが用いられる。 Either wired or wireless transmission may be used. For wired transmission, Ethernet (registered trademark), USB, RS-232C, HDMI (registered trademark), or coaxial cable may be used. For wireless transmission, wireless LAN, Wi-Fi (registered trademark), Bluetooth (registered trademark), or millimeter waves may be used.

 また、放送方式としては、例えばDVB-T2、DVB-S2、DVB-C2、ATSC3.0、又はISDB-S3などが用いられる。 Furthermore, broadcasting systems such as DVB-T2, DVB-S2, DVB-C2, ATSC3.0, or ISDB-S3 are used.

 [第1の符号化方式]
 以降、三次元点群又は三次元メッシュの符号化方式及び復号方式について説明する。本開示における装置、処理、又はシンタックスが、点群データの符号化又は復号処理に関する場合、三次元メッシュにおける頂点(vertex)の符号化又は復号にも適用することが可能である。また、三次元メッシュにおける頂点の符号化又は復号処理に関する開示は、点群データの符号化又は復号にも適用することが可能である。また、点群データの属性情報の符号化又は復号処理に関する開示は、三次元メッシュにおける面情報、面又は頂点に対する属性情報の符号化又は復号処理に適用してもよい。さらに、点群符号化とメッシュ符号化とで処理を共通化してもよい。共通化することにより、回路又はソフトの規模を抑制できる可能性がある。
[First Encoding Method]
Hereinafter, encoding and decoding methods for three-dimensional point clouds or three-dimensional meshes will be described. When the device, process, or syntax in this disclosure relates to encoding or decoding processing of point cloud data, it can also be applied to encoding or decoding of vertices in a three-dimensional mesh. Furthermore, the disclosure regarding encoding or decoding processing of vertices in a three-dimensional mesh can also be applied to encoding or decoding of point cloud data. Furthermore, the disclosure regarding encoding or decoding processing of attribute information of point cloud data may also be applied to encoding or decoding processing of face information, or attribute information for faces or vertices in a three-dimensional mesh. Furthermore, processing may be shared between point cloud encoding and mesh encoding. By sharing processing, it may be possible to reduce the scale of the circuit or software.

 図7は、第1の符号化方法の符号化を行う符号化部113の例である第1の符号化部130の構成を示す図である。図8は、第1の符号化部130のブロック図である。第1の符号化部130は、点群データを第1の符号化方法で符号化することで符号化データ(符号化ストリーム)を生成する。この第1の符号化部130は、位置情報符号化部131と、属性情報符号化部132と、付加情報符号化部133と、多重化部134とを含む。 FIG. 7 is a diagram showing the configuration of a first encoding unit 130, which is an example of the encoding unit 113 that performs encoding using the first encoding method. FIG. 8 is a block diagram of the first encoding unit 130. The first encoding unit 130 generates encoded data (encoded stream) by encoding point cloud data using the first encoding method. This first encoding unit 130 includes a position information encoding unit 131, an attribute information encoding unit 132, an additional information encoding unit 133, and a multiplexing unit 134.

 第1の符号化部130は、三次元構造を意識して符号化を行うという特徴を有する。また、第1の符号化部130は、属性情報符号化部132が、位置情報符号化部131から得られる情報を用いて符号を行うという特徴を有する。第1の符号化方法は、G-PCC(Geometry based PCC)とも呼ばれる。 The first encoding unit 130 is characterized by performing encoding with consideration of three-dimensional structure. The first encoding unit 130 is also characterized by the attribute information encoding unit 132 performing encoding using information obtained from the position information encoding unit 131. The first encoding method is also known as G-PCC (Geometry-based PCC).

 点群データは、PLYファイルのようなPCC点群データ、又は、センサ情報から生成されたPCC点群データであり、位置情報(Position)、属性情報(Attribute)、及びその他の付加情報(MetaData)を含む。位置情報は位置情報符号化部131に入力され、属性情報は属性情報符号化部132に入力され、付加情報は付加情報符号化部133に入力される。 The point cloud data is PCC point cloud data such as a PLY file, or PCC point cloud data generated from sensor information, and includes position information (Position), attribute information (Attribute), and other additional information (MetaData). The position information is input to the position information encoding unit 131, the attribute information is input to the attribute information encoding unit 132, and the additional information is input to the additional information encoding unit 133.

 なお、メッシュデータが符号化される場合には、頂点情報の位置情報が位置情報符号化部131に入力され、面情報、又は面及び頂点に対する属性情報が属性情報符号化部132に入力される。 When mesh data is encoded, the position information of the vertex information is input to the position information encoding unit 131, and the face information, or attribute information for the faces and vertices, is input to the attribute information encoding unit 132.

 位置情報符号化部131は、位置情報を符号化することで符号化データである符号化位置情報(Compressed Geometry)を生成する。例えば、位置情報符号化部131は、8分木等のN分木構造を用いて位置情報を符号化する。具体的には、8分木では、対象空間が8個のノード(サブ空間)に分割され、各ノードに点群が含まれるか否かを示す8ビットの情報(オキュパンシー符号)が生成される。また、点群が含まれるノードは、さらに、8個のノードに分割され、当該8個のノードの各々に点群が含まれるか否かを示す8ビットの情報が生成される。この処理が、予め定められた階層又はノードに含まれる点群の数の閾値以下になるまで繰り返される。 The position information encoding unit 131 encodes the position information to generate encoded position information (Compressed Geometry), which is encoded data. For example, the position information encoding unit 131 encodes the position information using an N-ary tree structure such as an octree. Specifically, in an octree, the target space is divided into eight nodes (subspaces), and 8-bit information (occupancy code) indicating whether or not a point cloud is included in each node is generated. Furthermore, the node that includes a point cloud is further divided into eight nodes, and 8-bit information indicating whether or not a point cloud is included in each of the eight nodes is generated. This process is repeated until the number of point clouds included in a predetermined hierarchy or node falls below a threshold.

 属性情報符号化部132は、位置情報符号化部131で生成された構成情報を用いて符号化することで符号化データである符号化属性情報(Compressed Attribute)を生成する。例えば、属性情報符号化部132は、位置情報符号化部131で生成された8分木構造に基づき、処理対象の対象点(対象ノード)の符号化において参照する参照点(参照ノード)を決定する。例えば、属性情報符号化部132は、周辺ノード又は隣接ノードのうち、8分木における親ノードが対象ノードと同一のノードを参照する。なお、参照関係の決定方法はこれに限らない。 The attribute information encoding unit 132 generates encoded attribute information (Compressed Attribute), which is encoded data, by encoding using the configuration information generated by the position information encoding unit 131. For example, the attribute information encoding unit 132 determines a reference point (reference node) to reference when encoding the target point (target node) to be processed, based on the octree structure generated by the position information encoding unit 131. For example, the attribute information encoding unit 132 references a peripheral or adjacent node whose parent node in the octree is the same as that of the target node. Note that the method of determining the reference relationship is not limited to this.

 また、属性情報の符号化処理は、量子化処理、予測処理、及び算術符号化処理のうち少なくとも一つを含んでもよい。この場合、参照とは、属性情報の予測値の算出に参照ノードを用いること、又は、符号化のパラメータの決定に参照ノードの状態(例えば、参照ノードに点群が含まれる否かを示す占有情報)を用いること、である。例えば、符号化のパラメータとは、量子化処理における量子化パラメータ、又は算術符号化におけるコンテキスト等である。 Furthermore, the encoding process for attribute information may include at least one of quantization, prediction, and arithmetic coding. In this case, referencing means using a reference node to calculate a predicted value for attribute information, or using the state of the reference node (e.g., occupancy information indicating whether the reference node contains a point group) to determine encoding parameters. For example, encoding parameters include quantization parameters in quantization, or context in arithmetic coding.

 付加情報符号化部133は、付加情報のうち、圧縮可能なデータを符号化することで符号化データである符号化付加情報(Compressed MetaData)を生成する。 The additional information encoding unit 133 generates encoded additional information (Compressed MetaData), which is encoded data, by encoding compressible data from the additional information.

 多重化部134は、符号化位置情報、符号化属性情報、符号化付加情報及びその他の付加情報を多重化することで符号化データである符号化ストリーム(Compressed Stream)を生成する。生成された符号化ストリームは、図示しないシステムレイヤの処理部へ出力される。 The multiplexing unit 134 generates a compressed stream, which is encoded data, by multiplexing the encoding position information, encoding attribute information, encoding additional information, and other additional information. The generated compressed stream is output to a processing unit in the system layer (not shown).

 次に、第1の符号化方法の復号を行う復号部124の例である第1の復号部140について説明する。図9は、第1の復号部140の構成を示す図である。図10は、第1の復号部140のブロック図である。第1の復号部140は、第1の符号化方法で符号化された符号化データ(符号化ストリーム)を、第1の符号化方法で復号することで点群データを生成する。この第1の復号部140は、逆多重化部141と、位置情報復号部142と、属性情報復号部143と、付加情報復号部144とを含む。 Next, we will explain the first decoding unit 140, which is an example of the decoding unit 124 that performs decoding using the first encoding method. Figure 9 is a diagram showing the configuration of the first decoding unit 140. Figure 10 is a block diagram of the first decoding unit 140. The first decoding unit 140 generates point cloud data by decoding, using the first encoding method, coded data (coded stream). This first decoding unit 140 includes a demultiplexing unit 141, a position information decoding unit 142, an attribute information decoding unit 143, and an additional information decoding unit 144.

 図示しないシステムレイヤの処理部から符号化データである符号化ストリーム(Compressed Stream)が第1の復号部140に入力される。 An encoded stream (compressed stream), which is encoded data, is input to the first decoding unit 140 from a system layer processing unit (not shown).

 逆多重化部141は、符号化データから、符号化位置情報(Compressed Geometry)、符号化属性情報(Compressed Attribute)、符号化付加情報(Compressed MetaData)、及び、その他の付加情報を分離する。 The demultiplexing unit 141 separates the encoded position information (Compressed Geometry), encoded attribute information (Compressed Attribute), encoded additional information (Compressed MetaData), and other additional information from the encoded data.

 位置情報復号部142は、符号化位置情報を復号することで位置情報を生成する。例えば、位置情報復号部142は、8分木等のN分木構造で表される符号化位置情報から三次元座標で表される点群の位置情報を復元する。 The position information decoding unit 142 generates position information by decoding the encoded position information. For example, the position information decoding unit 142 restores the position information of a point group expressed in three-dimensional coordinates from the encoded position information expressed in an N-ary tree structure such as an octree.

 属性情報復号部143は、位置情報復号部142で生成された構成情報に基づき、符号化属性情報を復号する。例えば、属性情報復号部143は、位置情報復号部142で得られた8分木構造に基づき、処理対象の対象点(対象ノード)の復号において参照する参照点(参照ノード)を決定する。例えば、属性情報復号部143は、周辺ノード又は隣接ノードのうち、8分木における親ノードが対象ノードと同一のノードを参照する。なお、参照関係の決定方法はこれに限らない。 The attribute information decoding unit 143 decodes the encoded attribute information based on the configuration information generated by the position information decoding unit 142. For example, the attribute information decoding unit 143 determines the reference point (reference node) to reference when decoding the target point (target node) to be processed, based on the octree structure obtained by the position information decoding unit 142. For example, the attribute information decoding unit 143 references a peripheral or adjacent node whose parent node in the octree is the same as that of the target node. Note that the method of determining the reference relationship is not limited to this.

 また、属性情報の復号処理は、逆量子化処理、予測処理、及び算術復号処理のうち少なくとも一つを含んでもよい。この場合、参照とは、属性情報の予測値の算出に参照ノードを用いること、又は、復号のパラメータの決定に参照ノードの状態(例えば、参照ノードに点群が含まれる否かを示す占有情報)を用いること、である。例えば、復号のパラメータとは、逆量子化処理における量子化パラメータ、又は算術復号におけるコンテキスト等である。 Furthermore, the attribute information decoding process may include at least one of inverse quantization, prediction, and arithmetic decoding. In this case, referencing means using a reference node to calculate a predicted value of the attribute information, or using the state of the reference node (e.g., occupancy information indicating whether the reference node contains a point group) to determine decoding parameters. For example, decoding parameters include quantization parameters in inverse quantization, or context in arithmetic decoding.

 付加情報復号部144は、符号化付加情報を復号することで付加情報を生成する。また、第1の復号部140は、位置情報及び属性情報の復号処理に必要な付加情報を復号時に使用し、アプリケーションに必要な付加情報を外部に出力する。 The additional information decoding unit 144 generates additional information by decoding the encoded additional information. The first decoding unit 140 uses the additional information required for decoding the position information and attribute information during decoding, and outputs the additional information required for the application to the outside.

 [第2の符号化方式]
 次に、第2の符号化方法の符号化を行う符号化部113の例である第2の符号化部150について説明する。図11は、第2の符号化部150の構成を示す図である。図12は、第2の符号化部150のブロック図である。
[Second Encoding Method]
Next, a second encoding unit 150, which is an example of the encoding unit 113 that performs encoding using the second encoding method, will be described. Fig. 11 is a diagram showing the configuration of the second encoding unit 150. Fig. 12 is a block diagram of the second encoding unit 150.

 第2の符号化部150は、点群データを第2の符号化方法で符号化することで符号化データ(符号化ストリーム)を生成する。この第2の符号化部150は、付加情報生成部151と、位置画像生成部152と、属性画像生成部153と、映像符号化部154と、付加情報符号化部155と、多重化部156とを含む。 The second encoding unit 150 generates encoded data (encoded stream) by encoding the point cloud data using a second encoding method. This second encoding unit 150 includes an additional information generation unit 151, a position image generation unit 152, an attribute image generation unit 153, a video encoding unit 154, an additional information encoding unit 155, and a multiplexing unit 156.

 第2の符号化部150は、三次元構造を二次元画像に投影することで位置画像及び属性画像を生成し、生成した位置画像及び属性画像を既存の映像符号化方式を用いて符号化するという特徴を有する。第2の符号化方法は、VPCC(Video based PCC)とも呼ばれる。 The second encoding unit 150 is characterized by generating position images and attribute images by projecting a three-dimensional structure onto a two-dimensional image, and encoding the generated position images and attribute images using an existing video encoding method. The second encoding method is also called VPCC (Video-based PCC).

 点群データは、PLYファイルのようなPCC点群データ、又は、センサ情報から生成されたPCC点群データであり、位置情報(Position)、属性情報(Attribute)、及びその他の付加情報MetaData)を含む。 The point cloud data is PCC point cloud data such as a PLY file, or PCC point cloud data generated from sensor information, and includes position information (Position), attribute information (Attribute), and other additional information (MetaData).

 付加情報生成部151は、三次元構造を二次元画像に投影することで、複数の二次元画像のマップ情報を生成する。 The additional information generation unit 151 generates map information for multiple two-dimensional images by projecting three-dimensional structures onto two-dimensional images.

 位置画像生成部152は、位置情報と、付加情報生成部151で生成されたマップ情報とに基づき、位置画像(Geometry Image)を生成する。この位置画像は、例えば、画素値として距離(Depth)が示される距離画像である。なお、この距離画像は、一つの視点から複数の点群を見た画像(一つの二次元平面に複数の点群を投影した画像)であってもよいし、複数の視点から複数の点群を見た複数の画像であってもよいし、これらの複数の画像を統合した一つの画像であってもよい。 The position image generation unit 152 generates a position image (Geometry Image) based on the position information and the map information generated by the additional information generation unit 151. This position image is, for example, a distance image in which distance (Depth) is indicated as pixel values. Note that this distance image may be an image of multiple point clouds viewed from a single viewpoint (an image in which multiple point clouds are projected onto a single two-dimensional plane), or multiple images of multiple point clouds viewed from multiple viewpoints, or a single image in which these multiple images are integrated.

 属性画像生成部153は、属性情報と、付加情報生成部151で生成されたマップ情報とに基づき、属性画像を生成する。この属性画像は、例えば、画素値として属性情報(例えば色(RGB))が示される画像である。なお、この画像は、一つの視点から複数の点群を見た画像(一つの二次元平面に複数の点群を投影した画像)であってもよいし、複数の視点から複数の点群を見た複数の画像であってもよいし、これらの複数の画像を統合した一つの画像であってもよい。 The attribute image generation unit 153 generates an attribute image based on the attribute information and the map information generated by the additional information generation unit 151. This attribute image is, for example, an image in which attribute information (e.g., color (RGB)) is represented as pixel values. Note that this image may be an image in which multiple point clouds are viewed from a single viewpoint (an image in which multiple point clouds are projected onto a single two-dimensional plane), or multiple images in which multiple point clouds are viewed from multiple viewpoints, or a single image in which these multiple images are integrated.

 なお、メッシュデータが符号化される場合は、頂点情報の位置情報が位置画像生成部152に入力され、面情報、又は、面及び頂点に対する属性情報が属性画像生成部153へ入力される。 When mesh data is encoded, the position information of the vertex information is input to the position image generation unit 152, and the face information or attribute information for the faces and vertices is input to the attribute image generation unit 153.

 映像符号化部154は、位置画像及び属性画像を、映像符号化方式を用いて符号化することで、符号化データである符号化位置画像(Compressed Geometry Image)及び符号化属性画像(Compressed Attribute Image)を生成する。なお、映像符号化方式として、公知の任意の符号化方法が用いられてよい。例えば、映像符号化方式は、AVC又はHEVC等である。 The video encoding unit 154 generates encoded data, an encoded position image (Compressed Geometry Image) and an encoded attribute image (Compressed Attribute Image), by encoding the position image and attribute image using a video encoding method. Any known encoding method may be used as the video encoding method. For example, the video encoding method is AVC or HEVC.

 付加情報符号化部155は、点群データに含まれる付加情報、及びマップ情報等を符号化することで符号化付加情報(Compressed MetaData)を生成する。 The additional information encoding unit 155 generates encoded additional information (Compressed MetaData) by encoding the additional information and map information contained in the point cloud data.

 多重化部156は、符号化位置画像、符号化属性画像、符号化付加情報、及び、その他の付加情報を多重化することで符号化データである符号化ストリーム(Compressed Stream)を生成する。生成された符号化ストリームは、図示しないシステムレイヤの処理部へ出力される。 The multiplexing unit 156 generates a compressed stream, which is encoded data, by multiplexing the encoded position image, encoded attribute image, encoded additional information, and other additional information. The generated compressed stream is output to a processing unit in the system layer (not shown).

 次に、第2の符号化方法の復号を行う復号部124の例である第2の復号部160について説明する。図13は、第2の復号部160の構成を示す図である。図14は、第2の復号部160のブロック図である。第2の復号部160は、第2の符号化方法で符号化された符号化データ(符号化ストリーム)を、第2の符号化方法で復号することで点群データを生成する。この第2の復号部160は、逆多重化部161と、映像復号部162と、付加情報復号部163と、位置情報生成部164と、属性情報生成部165とを含む。 Next, we will explain the second decoding unit 160, which is an example of the decoding unit 124 that performs decoding using the second encoding method. Figure 13 is a diagram showing the configuration of the second decoding unit 160. Figure 14 is a block diagram of the second decoding unit 160. The second decoding unit 160 generates point cloud data by decoding, using the second encoding method, coded data (coded stream). This second decoding unit 160 includes a demultiplexing unit 161, a video decoding unit 162, an additional information decoding unit 163, a position information generation unit 164, and an attribute information generation unit 165.

 図示しないシステムレイヤの処理部から符号化データである符号化ストリーム(Compressed Stream)が第2の復号部160に入力される。 The encoded stream (compressed stream), which is encoded data, is input to the second decoding unit 160 from a system layer processing unit (not shown).

 逆多重化部161は、符号化データから、符号化位置画像(Compressed Geometry Image)、符号化属性画像(Compressed Attribute Image)、符号化付加情報(Compressed MetaData)、及び、その他の付加情報を分離する。 The demultiplexing unit 161 separates the encoded position image (Compressed Geometry Image), encoded attribute image (Compressed Attribute Image), encoded additional information (Compressed MetaData), and other additional information from the encoded data.

 映像復号部162は、符号化位置画像及び符号化属性画像を、映像符号化方式を用いて復号することで、位置画像及び属性画像を生成する。なお、映像符号化方式として、公知の任意の符号化方式が用いられてよい。例えば、映像符号化方式は、AVC又はHEVC等である。 The video decoding unit 162 generates a position image and an attribute image by decoding the encoded position image and encoded attribute image using a video encoding method. Any known encoding method may be used as the video encoding method. For example, the video encoding method may be AVC or HEVC.

 付加情報復号部163は、符号化付加情報を復号することで、マップ情報等を含む付加情報を生成する。 The additional information decoding unit 163 decodes the encoded additional information to generate additional information including map information, etc.

 位置情報生成部164は、位置画像とマップ情報とを用いて位置情報を生成する。属性情報生成部165は、属性画像とマップ情報とを用いて属性情報を生成する。 The location information generation unit 164 generates location information using the location image and map information. The attribute information generation unit 165 generates attribute information using the attribute image and map information.

 第2の復号部160は、復号に必要な付加情報を復号時に使用し、アプリケーションに必要な付加情報を外部に出力する。 The second decoding unit 160 uses the additional information required for decoding during decoding and outputs the additional information required for the application to the outside.

 [第1の符号化方式における位置情報符号化]
 図15は、位置情報符号化部131の構成例を示すブロック図である。位置情報符号化部131は、8分木符号化部171と、予測木符号化部172とを備える。8分木符号化部171は、8分木を用いた符号化方式(8分木符号化)を用いて位置情報を符号化することで符号化位置情報及びメタデータを生成する。予測木符号化部172は、予測木を用いた符号化方式(予測木符号化)を用いて位置情報を符号化することで符号化位置情報及びメタデータを生成する。
[Position information encoding in the first encoding method]
15 is a block diagram showing an example configuration of the position information encoding unit 131. The position information encoding unit 131 includes an octree encoding unit 171 and a predictive tree encoding unit 172. The octree encoding unit 171 generates encoded position information and metadata by encoding the position information using an encoding method that uses an octree (octree encoding). The predictive tree encoding unit 172 generates encoded position information and metadata by encoding the position information using an encoding method that uses a predictive tree (predictive tree encoding).

 位置情報符号化部131は、8分木符号化と予測木符号化とのいずれか一方又は両方を用いて位置情報を符号化する。位置情報符号化部131は、この2方式を切替えて符号化してもよいし、この2方式以外の符号化方式を用いてもよいし、位置情報を符号化せずにrawデータとしてビットストリームに含めてもよい。符号化データの符号化方式を示す情報は、メタデータに格納され、復号装置へ通知される。 The position information encoding unit 131 encodes the position information using either octree encoding or predictive tree encoding, or both. The position information encoding unit 131 may switch between these two encoding methods, may use an encoding method other than these two methods, or may include the position information in the bitstream as raw data without encoding it. Information indicating the encoding method of the encoded data is stored in metadata and notified to the decoding device.

 図16は、位置情報復号部142の構成例を示すブロック図である。位置情報復号部142は、8分木復号部173と、予測木復号部174とを備える。8分木復号部173は、8分木を用いた復号方式(8分木復号)を用いて符号化位置情報を復号することで位置情報を生成する。予測木復号部174は、予測木を用いた復号方式(予測木復号)を用いて符号化位置情報を復号することで位置情報を生成する。また、位置情報復号部142は、メタデータで通知された符号化方式を用いて復号を行う。 FIG. 16 is a block diagram showing an example configuration of the position information decoding unit 142. The position information decoding unit 142 includes an octree decoding unit 173 and a predictive tree decoding unit 174. The octree decoding unit 173 generates position information by decoding the encoded position information using a decoding method that uses an octree (octree decoding). The predictive tree decoding unit 174 generates position information by decoding the encoded position information using a decoding method that uses a predictive tree (predictive tree decoding). The position information decoding unit 142 also performs decoding using the encoding method notified by the metadata.

 次に、位置情報符号化部の構成例を説明する。図17は、本実施の形態に係る8分木符号化部171のブロック図である。8分木符号化部171は、8分木生成部181と、幾何情報算出部182と、符号化テーブル選択部183と、エントロピー符号化部184とを備える。 Next, an example configuration of the position information encoding unit will be described. Figure 17 is a block diagram of the octree encoding unit 171 according to this embodiment. The octree encoding unit 171 includes an octree generation unit 181, a geometric information calculation unit 182, a coding table selection unit 183, and an entropy encoding unit 184.

 8分木生成部181は、入力された位置情報から、例えば8分木を生成し、8分木の各ノードのオキュパンシー符号を生成する。幾何情報算出部182は、対象ノードの隣接ノードが占有ノードか否かを示す情報を取得する。例えば、幾何情報算出部182は、対象ノードが所属する親ノードのオキュパンシー符号から隣接ノードの占有情報(隣接ノードが占有ノードであるか否かを示す情報)を算出する。また、幾何情報算出部182は、符号化済みのノードをリストに保存しておき、そのリスト内から隣接ノードを探索してもよい。なお、幾何情報算出部182は、対象ノードの親ノード内の位置に応じて隣接ノードを切替えてもよい。 The octree generation unit 181 generates, for example, an occupancy tree from the input position information, and generates an occupancy code for each node in the occupancy tree. The geometric information calculation unit 182 obtains information indicating whether an adjacent node of the target node is an occupied node. For example, the geometric information calculation unit 182 calculates the occupancy information of the adjacent node (information indicating whether the adjacent node is an occupied node) from the occupancy code of the parent node to which the target node belongs. The geometric information calculation unit 182 may also store encoded nodes in a list and search for adjacent nodes from within that list. The geometric information calculation unit 182 may also switch adjacent nodes depending on the position of the target node within the parent node.

 符号化テーブル選択部183は、幾何情報算出部182で算出された隣接ノードの占有情報を用いて対象ノードのエントロピー符号化に用いる符号化テーブルを選択する。例えば、符号化テーブル選択部183は、隣接ノードの占有情報を用いてビット列を生成し、そのビット列から生成されるインデックス番号の符号化テーブルを選択してもよい。 The coding table selection unit 183 selects the coding table to be used for entropy coding of the target node using the occupancy information of adjacent nodes calculated by the geometric information calculation unit 182. For example, the coding table selection unit 183 may generate a bit string using the occupancy information of adjacent nodes, and select a coding table for the index number generated from that bit string.

 エントロピー符号化部184は、選択されたインデックス番号の符号化テーブルを用いて対象ノードのオキュパンシー符号にエントロピー符号化を行うことで符号化位置情報及びメタデータを生成する。エントロピー符号化部184は、選択された符号化テーブルを示す情報を符号化位置情報に付加してもよい。 The entropy coding unit 184 generates coding position information and metadata by entropy coding the occupancy code of the target node using the coding table of the selected index number. The entropy coding unit 184 may add information indicating the selected coding table to the coding position information.

 以下、8分木表現と位置情報のスキャン順について説明する。位置情報(位置データ)は8分木構造に変換(8分木化)された後、符号化される。8分木構造はノードとリーフとで構成される。各ノードは8つのノード又はリーフを持ち、各リーフはボクセル(VXL)情報を持つ。図18は、複数のボクセルを含む位置情報の構造例を示す図である。図19は、図18に示す位置情報を8分木構造に変換した例を示す図である。ここで、図19に示すリーフのうち、リーフ1、2、3はそれぞれ図18に示すボクセルVXL1、VXL2、VXL3を表し、点群を含むVXL(以下、有効VXL)を表現している。 The octree representation and the scanning order of position information are explained below. Position information (position data) is converted (octreeized) into an octree structure and then encoded. The octree structure consists of nodes and leaves. Each node has eight nodes or leaves, and each leaf has voxel (VXL) information. Figure 18 is a diagram showing an example of the structure of position information containing multiple voxels. Figure 19 is a diagram showing an example of the position information shown in Figure 18 converted into an octree structure. Here, of the leaves shown in Figure 19, leaves 1, 2, and 3 represent voxels VXL1, VXL2, and VXL3 shown in Figure 18, respectively, and represent a VXL containing a point cloud (hereinafter referred to as a valid VXL).

 具体的には、ノード1は、図18の位置情報を包含する全体空間に対応する。ノード1に対応する全体空間は8つのノードに分割され、8つのノードのうち、有効VXLを含むノードが、さらに8つのノードまたはリーフに分割され、この処理が木構造の階層分繰り返される。ここで、各ノードはサブ空間に対応し、ノード情報として分割後のどの位置に次のノードまたはリーフを持つかを示す情報(オキュパンシー符号)を持つ。また、最下層のブロックはリーフに設定され、リーフ情報としてリーフ内に含まれる点群数などが保持される。 Specifically, node 1 corresponds to the entire space that contains the position information in Figure 18. The entire space corresponding to node 1 is divided into eight nodes, and of these eight nodes, the node that contains a valid VXL is further divided into eight nodes or leaves, and this process is repeated for each level of the tree structure. Here, each node corresponds to a subspace, and node information contains information (occupancy code) that indicates the position of the next node or leaf after division. In addition, the lowest-level block is set as a leaf, and leaf information such as the number of points contained in the leaf is stored.

 次に、位置情報復号部の構成例を説明する。図20は、本実施の形態に係る8分木復号部173のブロック図である。8分木復号部173は、8分木生成部191と、幾何情報算出部192と、符号化テーブル選択部193と、エントロピー復号部194とを備える。 Next, an example configuration of the position information decoding unit will be described. Figure 20 is a block diagram of the octree decoding unit 173 according to this embodiment. The octree decoding unit 173 includes an octree generation unit 191, a geometric information calculation unit 192, an encoding table selection unit 193, and an entropy decoding unit 194.

 8分木生成部191は、ビットストリームのヘッダ情報又はメタデータ等を用いて、ある空間(ノード)の8分木を生成する。例えば、8分木生成部191は、ヘッダ情報に付加されたある空間のx軸、y軸、z軸方向の大きさを用いて大空間(ルートノード)を生成し、その空間をx軸、y軸、z軸方向にそれぞれ2分割することで8個の小空間A(ノードA0~A7)を生成することで8分木を生成する。また、対象ノードとしてノードA0~A7が順に設定される。 The octree generator 191 generates an octree for a space (node) using header information or metadata from the bitstream. For example, the octree generator 191 generates a large space (root node) using the dimensions of the x-axis, y-axis, and z-axis of a space added to the header information, and then generates an octree by dividing that space into two along the x-axis, y-axis, and z-axis to generate eight small spaces A (nodes A0 to A7). Nodes A0 to A7 are set in order as target nodes.

 幾何情報算出部192は、対象ノードの隣接ノードが占有ノードであるか否かを示す占有情報を取得する。例えば、幾何情報算出部192は、対象ノードが所属する親ノードのオキュパンシー符号から隣接ノードの占有情報を算出する。また、幾何情報算出部192は、復号済みのノードをリストに保存しておき、そのリスト内から隣接ノードを探索してもよい。なお、幾何情報算出部192は、対象ノードの親ノード内の位置に応じて隣接ノードを切替えてもよい。 The geometric information calculation unit 192 obtains occupancy information indicating whether an adjacent node of the target node is an occupied node. For example, the geometric information calculation unit 192 calculates the occupancy information of the adjacent node from the occupancy code of the parent node to which the target node belongs. The geometric information calculation unit 192 may also store decoded nodes in a list and search for adjacent nodes from within that list. The geometric information calculation unit 192 may also switch adjacent nodes depending on the position of the target node within the parent node.

 符号化テーブル選択部193は、幾何情報算出部192で算出された隣接ノードの占有情報を用いて対象ノードのエントロピー復号に用いる符号化テーブル(復号テーブル)を選択する。例えば、符号化テーブル選択部193は、隣接ノードの占有情報を用いてビット列を生成し、そのビット列から生成されるインデックス番号の符号化テーブルを選択してもよい。 The coding table selection unit 193 selects a coding table (decoding table) to be used for entropy decoding of the target node using the occupancy information of adjacent nodes calculated by the geometric information calculation unit 192. For example, the coding table selection unit 193 may generate a bit string using the occupancy information of adjacent nodes, and select a coding table for the index number generated from that bit string.

 エントロピー復号部194は、選択された符号化テーブルを用いて対象ノードのオキュパンシー符号をエントロピー復号することで、位置情報を生成する。なお、エントロピー復号部194は、選択された符号化テーブルの情報をビットストリームから復号して取得し、当該情報で示される符号化テーブルを用いて、対象ノードのオキュパンシー符号をエントロピー復号してもよい。 The entropy decoding unit 194 generates position information by entropy decoding the occupancy code of the target node using the selected encoding table. The entropy decoding unit 194 may also obtain information about the selected encoding table by decoding it from the bitstream, and entropy decode the occupancy code of the target node using the encoding table indicated by that information.

 [第1の符号化方式における属性情報符号化]
 以下、属性情報符号化部及び属性情報復号部の構成を説明する。図21は属性情報符号化部132の構成例を示すブロック図である。属性情報符号化部は異なる符号化方法を実行する複数の符号化部を含んでもよい。例えば、属性情報符号化部は、下記の2方式をユースケースに応じて切替えて用いてもよい。
[Attribute information encoding in the first encoding method]
The configurations of the attribute information encoder and the attribute information decoder will be described below. Fig. 21 is a block diagram showing an example configuration of the attribute information encoder 132. The attribute information encoder may include multiple encoders that execute different encoding methods. For example, the attribute information encoder may switch between the following two methods depending on the use case:

 属性情報符号化部132は、LoD属性情報符号化部201と、変換属性情報符号化部202とを含む。LoD属性情報符号化部201は、三次元点の位置情報を用いて各三次元点を複数階層に分類し、各階層に属する三次元点の属性情報を予測して、その予測残差を符号化する。ここで、分類した各階層をLoD(Level of Detail)と呼ぶ。 The attribute information encoding unit 132 includes an LoD attribute information encoding unit 201 and a transformed attribute information encoding unit 202. The LoD attribute information encoding unit 201 uses the position information of each 3D point to classify the 3D points into multiple layers, predicts the attribute information of the 3D points belonging to each layer, and encodes the prediction residual. Here, each classified layer is called an LoD (Level of Detail).

 変換属性情報符号化部202は、RAHT(Region Adaptive Hierarchical Transform)を用いて属性情報を符号化する。具体的には、変換属性情報符号化部202は、三次元点の位置情報を元に各属性情報に対してRAHTまたはHaar変換を適用することで、各階層の高周波成分および低周波数成分を生成し、それらの値を量子化及びエントロピー符号化等を用いて符号化する。 The transformed attribute information encoding unit 202 encodes the attribute information using RAHT (Region Adaptive Hierarchical Transform). Specifically, the transformed attribute information encoding unit 202 applies RAHT or Haar transform to each piece of attribute information based on the position information of the three-dimensional points, generating high-frequency and low-frequency components for each layer, and then encodes these values using quantization, entropy coding, etc.

 図22は属性情報復号部143の構成例を示すブロック図である。属性情報復号部は異なる復号方法を実行する複数の復号部を含んでもよい。例えば、属性情報復号部は、下記の2方式をヘッダやメタデータに含まれる情報を元に切替えて復号してもよい。 FIG. 22 is a block diagram showing an example configuration of the attribute information decoding unit 143. The attribute information decoding unit may include multiple decoding units that execute different decoding methods. For example, the attribute information decoding unit may switch between the following two methods based on information contained in the header or metadata.

 属性情報復号部143は、LoD属性情報復号部203と、変換属性情報復号部204とを含む。LoD属性情報復号部203は、三次元点の位置情報を用いて各三次元点を複数階層に分類し、各階層に属する三次元点の属性情報を予測しながら属性値を復号する。 The attribute information decoding unit 143 includes an LoD attribute information decoding unit 203 and a converted attribute information decoding unit 204. The LoD attribute information decoding unit 203 classifies each 3D point into multiple layers using the position information of the 3D points, and decodes the attribute values while predicting the attribute information of the 3D points belonging to each layer.

 変換属性情報復号部204は、RAHT(Region Adaptive Hierarchical Transform)を用いて属性情報を復号する。具体的には、変換属性情報復号部204は、三次元点の位置情報を元に各属性値の高周波成分および低周波成分に対して、inverse RAHTまたはinverse Haar変換を適用することで属性値を復号する。 The transformed attribute information decoding unit 204 decodes the attribute information using RAHT (Region Adaptive Hierarchical Transform). Specifically, the transformed attribute information decoding unit 204 decodes the attribute values by applying an inverse RAHT or inverse Haar transform to the high-frequency and low-frequency components of each attribute value based on the position information of the three-dimensional points.

 図23は、変換属性情報符号化部202の一例である変換属性情報符号化部202のブロック図である。変換属性情報符号化部202は、ソート部211と、Haar変換部212と、量子化部213と、逆量子化部214と、逆Haar変換部215と、メモリ216と、算術符号化部217とを備える。 FIG. 23 is a block diagram of a transformed attribute information encoding unit 202, which is an example of the transformed attribute information encoding unit 202. The transformed attribute information encoding unit 202 includes a sorting unit 211, a Haar transform unit 212, a quantization unit 213, an inverse quantization unit 214, an inverse Haar transform unit 215, a memory 216, and an arithmetic encoding unit 217.

 ソート部211は、三次元点の位置情報を用いてモートン符号を生成し、複数の三次元点をモートン符号順にソートする。Haar変換部212は、属性情報にHaar変換を適用することで符号化係数を生成する。量子化部213は、属性情報の符号化係数を量子化する。 The sorting unit 211 generates a Morton code using the position information of the 3D points and sorts the multiple 3D points in Morton code order. The Haar transform unit 212 generates coding coefficients by applying a Haar transform to the attribute information. The quantization unit 213 quantizes the coding coefficients of the attribute information.

 逆量子化部214は、量子化後の符号化係数を逆量子化する。逆Haar変換部215は、符号化係数に逆Haar変換を適用する。メモリ216は、復号済みの複数の三次元点の属性情報の値を記憶する。例えば、メモリ216に記憶される復号済みの三次元点の属性情報は、符号化されていない三次元点の予測等に利用されてもよい。 The inverse quantization unit 214 inversely quantizes the quantized coding coefficients. The inverse Haar transform unit 215 applies an inverse Haar transform to the coding coefficients. The memory 216 stores values of attribute information for multiple decoded 3D points. For example, the attribute information for decoded 3D points stored in the memory 216 may be used for predicting uncoded 3D points.

 算術符号化部217は、量子化後の符号化係数からZeroCntを算出し、ZeroCntを算術符号化する。また、算術符号化部217は、量子化後の非ゼロの符号化係数を算術符号化する。算術符号化部217は、符号化係数を算術符号化前に二値化してもよい。また、算術符号化部217は、各種ヘッダ情報を生成及び符号化してもよい。 The arithmetic coding unit 217 calculates ZeroCnt from the coding coefficients after quantization and arithmetically codes ZeroCnt. The arithmetic coding unit 217 also arithmetically codes the non-zero coding coefficients after quantization. The arithmetic coding unit 217 may also binarize the coding coefficients before arithmetically coding them. The arithmetic coding unit 217 may also generate and code various header information.

 図24は、変換属性情報復号部204の一例である変換属性情報復号部204のブロック図である。変換属性情報復号部204は、算術復号部221と、逆量子化部222と、逆Haar変換部223と、メモリ224とを備える。 FIG. 24 is a block diagram of a transformed attribute information decoding unit 204, which is an example of the transformed attribute information decoding unit 204. The transformed attribute information decoding unit 204 includes an arithmetic decoding unit 221, an inverse quantization unit 222, an inverse Haar transform unit 223, and a memory 224.

 算術復号部221は、ビットストリームに含まれるZeroCntと符号化係数を算術復号する。なお、算術復号部221は、各種ヘッダ情報を復号してもよい。 The arithmetic decoding unit 221 arithmetically decodes the ZeroCnt and coding coefficients contained in the bitstream. The arithmetic decoding unit 221 may also decode various header information.

 逆量子化部222は、算術復号した符号化係数を逆量子化する。逆Haar変換部223は、逆量子化後の符号化係数に逆Haar変換を適用する。メモリ224は、復号済みの複数の三次元点の属性情報の値を記憶する。例えば、メモリ224に記憶される復号済みの三次元点の属性情報は、復号されていない三次元点の予測に利用されてもよい。 The inverse quantization unit 222 inverse quantizes the arithmetically decoded coding coefficients. The inverse Haar transform unit 223 applies an inverse Haar transform to the coding coefficients after inverse quantization. The memory 224 stores values of attribute information for multiple decoded 3D points. For example, the attribute information for decoded 3D points stored in the memory 224 may be used to predict undecoded 3D points.

 [スライス分割]
 符号化装置は、三次元データを1以上の三次元データに分割して符号化してもよい。複数に分割された三次元点群をスライスと呼ぶ。スライスは、位置情報(Geometry)と属性情報(Attribute)とを持つ点の集合である。
[Slice division]
The encoding device may divide the three-dimensional data into one or more pieces of three-dimensional data and encode them. The divided three-dimensional point cloud is called a slice. A slice is a set of points each having position information (geometry) and attribute information (attribute).

 図25は、この場合の三次元データ符号化装置の構成例を示すブロック図である。三次元データ符号化装置は、データ分割部231と、符号化部232とを備える。 FIG. 25 is a block diagram showing an example configuration of a three-dimensional data encoding device in this case. The three-dimensional data encoding device includes a data division unit 231 and an encoding unit 232.

 データ分割部231は、三次元データを分割することで複数の分割三次元データを生成する。各分割三次元データはスライスに対応する。符号化部232は、複数の分割三次元データ(スライス)の各々の位置情報及び属性情報を符号化することで符号化データを生成する。 The data division unit 231 divides the three-dimensional data to generate multiple pieces of divided three-dimensional data. Each piece of divided three-dimensional data corresponds to a slice. The encoding unit 232 generates encoded data by encoding the position information and attribute information of each piece of divided three-dimensional data (slice).

 図26は、この場合の三次元データ復号装置の構成例を示すブロック図である。三次元データ復号装置は、復号部233と、データ結合部234とを備える。復号部233は、符号化データを復号することで、複数の分割三次元データを生成する。各分割三次元データは、スライスの位置情報及び属性情報を含む。データ結合部234は、複数の分割三次元データを結合することで三次元データを復元する。 FIG. 26 is a block diagram showing an example configuration of a three-dimensional data decoding device in this case. The three-dimensional data decoding device includes a decoding unit 233 and a data combining unit 234. The decoding unit 233 generates multiple pieces of divided three-dimensional data by decoding the encoded data. Each piece of divided three-dimensional data includes slice position information and attribute information. The data combining unit 234 restores the three-dimensional data by combining the multiple pieces of divided three-dimensional data.

 なお、符号化において、スライス間に依存関係があってもよいし依存関係がなくてもよい。依存関係がない場合はスライスを独立に符号化又は復号することが可能である。よって、複数のスライスを並列処理することで処理時間を削減できる。また。一部のスライスのみを復号する部分復号により処理量を削減可能である。 Note that during encoding, there may or may not be a dependency between slices. If there is no dependency, slices can be encoded or decoded independently. Therefore, processing time can be reduced by processing multiple slices in parallel. Furthermore, the amount of processing can be reduced by partial decoding, which decodes only some of the slices.

 依存関係がある場合は、依存関係を示す識別子がビットストリームに格納され、依存されるデータ(参照先のデータ)から順に符号化又は復号が行われる。 If there is a dependency, an identifier indicating the dependency is stored in the bitstream, and encoding or decoding is performed starting with the dependent data (referenced data).

 分割数、又は分割方法はどのような方法でもよい。三次元データ符号化装置は、オブジェクトの形状を判定し、オブジェクト毎に点群を分割してもよいし、スライスに含まれる点の数を基準に分割を行ってもよい。また、三次元データ符号化装置は、地図情報又は位置情報を用いて、点群が三次元空間(タイル情報)に含まれるか否かに基づき分割を行ってもよい。 The number of divisions or division method may be any method. The three-dimensional data encoding device may determine the shape of the object and divide the point cloud for each object, or may perform division based on the number of points contained in a slice. The three-dimensional data encoding device may also use map information or location information to perform division based on whether the point cloud is contained in the three-dimensional space (tile information).

 図27は、タイル及びスライスの関係を示す図である。図27に示すようにタイルは三次元空間に対応し、スライスは分割された三次元点群に対応する。なお、複数のタイルは重複してもよい。これにより、コンテンツ又はオブジェクトに応じた、適応的な符号化又は復号における並列処理が可能となり、点群符号化システム又は点群復号システムの柔軟性が向上する。 Figure 27 is a diagram showing the relationship between tiles and slices. As shown in Figure 27, tiles correspond to three-dimensional space, and slices correspond to divided three-dimensional point clouds. Note that multiple tiles may overlap. This enables parallel processing in adaptive encoding or decoding according to content or objects, improving the flexibility of point cloud encoding systems or point cloud decoding systems.

 [符号化データの構成]
 スライス毎の位置情報及び属性情報はそれぞれ符号化される。得られた符号化データの少なくとも一部はデータユニットのペイロードに格納される。また、ペイロードにヘッダが付加される。
[Structure of encoded data]
The position information and attribute information for each slice are coded, and at least a portion of the coded data is stored in the payload of a data unit. A header is also added to the payload.

 各点に対して属性情報が複数存在する場合は、複数の属性情報のそれぞれがデータユニット格納される。図28は、ビットストリーム(符号化データ)の構成例を示す図である。図28は、2種類の属性情報を持つ2フレームの点群の符号化データを示す。ビットストリームは、スライス毎にジオメトリ(位置情報)データユニット(Geometry Data Unit:Geom)と、2つの属性(属性情報)データユニット(Attribute Data Unit:Attr(0)、Attr(1))とを持つ。例えば、各点に対して色と反射率の2つの属性情報を持つ場合、色の符号化データはAttr(0)に格納され、反射率の符号化データはAttr(1)に格納される。ジオメトリデータユニットのヘッダにはスライスの識別子(slice_id)が格納される。属性データユニットのヘッダには対応する(参照する)ジオメトリデータユニットのslice_idが示される。なお、データユニットをスライスと呼び、データユニットヘッダをスライスヘッダと呼ぶこともある。 If there are multiple pieces of attribute information for each point, each piece of attribute information is stored in a data unit. Figure 28 is a diagram showing an example of the configuration of a bit stream (encoded data). Figure 28 shows the encoded data of two frames of point clouds with two types of attribute information. The bit stream has a geometry (position information) data unit (Geometry Data Unit: Geom) and two attribute (attribute information) data units (Attribute Data Unit: Attr(0), Attr(1)) for each slice. For example, if each point has two pieces of attribute information, color and reflectance, the encoded data for color is stored in Attr(0) and the encoded data for reflectance is stored in Attr(1). The header of the geometry data unit stores the slice identifier (slice_id). The header of the attribute data unit indicates the slice_id of the corresponding (referenced) geometry data unit. Note that a data unit is sometimes called a slice, and a data unit header is sometimes called a slice header.

 また、位置情報符号化に関わるメタデータはジオメトリ(位置情報)パラメータセット(Geometry Parameter Set:GPS)に格納される。属性情報符号化に関わるメタデータは属性パラメータセット(Attribute Parameter Set:APS)に格納される。複数のPCCフレーム(PCCシーケンス)に共通のメタデータはシーケンスパラメータセット(Sequence Parameter Set:SPS)に格納される。 In addition, metadata related to encoding location information is stored in the Geometry Parameter Set (GPS). Metadata related to encoding attribute information is stored in the Attribute Parameter Set (APS). Metadata common to multiple PCC frames (PCC sequences) is stored in the Sequence Parameter Set (SPS).

 それぞれのデータユニット及びパラメータセットは、NAL(Network Access Layer)ユニット又はTLV(Type Length Value)ユニットの形式に変換され、ユニットのデータ列(ストリーム)が出力される。 Each data unit and parameter set is converted into NAL (Network Access Layer) unit or TLV (Type Length Value) unit format, and a data sequence (stream) of the units is output.

 図29は、TLVユニットのストリームを出力する三次元データ符号化装置の構成例を示すブロック図である。三次元データ符号化装置は、符号化部241と、TLV格納部242とを備える。符号化部241は、点群データを符号化することで符号化データを生成する。TLV格納部242は、符号化データを複数のTLVユニットに格納(カプセル化)することでTLVストリーム(TLVユニットの単一ストリーム)を生成する。 Figure 29 is a block diagram showing an example configuration of a three-dimensional data encoding device that outputs a stream of TLV units. The three-dimensional data encoding device includes an encoding unit 241 and a TLV storage unit 242. The encoding unit 241 generates encoded data by encoding point cloud data. The TLV storage unit 242 generates a TLV stream (a single stream of TLV units) by storing (encapsulating) the encoded data in multiple TLV units.

 ユニットは、データ種別を示すTypeと、長さ情報を示すLengthと、Typeで示されるデータを格納するValueとを含む。なお、ユニットは、長さ情報を含まないなど、別の形式であってもよい。 A unit includes a Type that indicates the data type, a Length that indicates length information, and a Value that stores the data indicated by the Type. Note that a unit may also be in a different format, such as one that does not include length information.

 図28は、データユニット及びパラメータセットを格納するユニット列を示す。図28に示す矢印は符号化データの復号に係る依存関係を示す。矢印の元は矢印の先のデータに依存しており、元データのヘッダには矢印の先(参照先)のデータの識別子が示される。三次元データ復号装置は、矢印の先のデータを復号し、その復号データを用いて矢印の元のデータを復号する。例えば、ジオメトリデータユニット(Geom)には、当該ジオメトリデータユニットに対応するGPSのid及びSPSのidが示される。属性データユニット(Attr)には、当該属性データユニットに対応するAPSのidが示される。 Figure 28 shows a sequence of units that store data units and parameter sets. The arrows in Figure 28 indicate dependencies related to the decoding of encoded data. The source of the arrow depends on the data at the end of the arrow, and the header of the original data indicates the identifier of the data at the end of the arrow (reference destination). The three-dimensional data decoding device decodes the data at the end of the arrow and uses that decoded data to decode the data at the source of the arrow. For example, a geometry data unit (Geom) indicates the GPS ID and SPS ID corresponding to that geometry data unit. An attribute data unit (Attr) indicates the APS ID corresponding to that attribute data unit.

 GPS及びAPSはフレーム毎に1つ設けられてもよい。または、スライス毎に符号化方式が変更される場合は、スライス毎にGPS及びAPSが設けられてもよい。また、GPS及びAPSは複数フレーム(シーケンス)で共有されてもよい。 One GPS and one APS may be provided for each frame. Alternatively, if the encoding method is changed for each slice, a GPS and an APS may be provided for each slice. Also, a GPS and an APS may be shared by multiple frames (sequences).

 また、APSは複数の属性情報で共有されてもよい。参照先のパラメータセットは参照元より前に送出される。 APS may also be shared by multiple attribute information. The referenced parameter set is sent before the referenced parameter set.

 フレーム間予測を用いる場合など、フレーム間のデータユニットに依存関係がある場合、複数のフレームを含むGOF(Group of Frame)が構成されてもよい。GOFは、ランダムアクセス単位であり、GOFの先頭スライスは依存関係がなく、復号開始のスライスである。ストリームは、フレームの境界或いはGOFの境界を示すデリミタ、又は境界を示すTLVユニットを有してもよい。 When inter-frame prediction is used, or when there is a dependency between data units of frames, a GOF (Group of Frame) containing multiple frames may be configured. A GOF is a random access unit, and the first slice of a GOF has no dependency and is the slice from which decoding begins. The stream may have a delimiter indicating the frame boundary or GOF boundary, or a TLV unit indicating the boundary.

 次に、符号化データの構成、及び符号化データのNALユニットへの格納方法を説明する。 Next, we will explain the structure of encoded data and how it is stored in NAL units.

 例えば、符号化データの種類毎にデータフォーマットが規定される。図30は、符号化データ及びNALユニットの例を示す図である。 For example, a data format is defined for each type of encoded data. Figure 30 shows examples of encoded data and NAL units.

 例えば、図30に示すように符号化データは、ヘッダとペイロードとを含む。なお、符号化データは、符号化データ、ヘッダ又はペイロードの長さ(データ量)を示す長さ情報を含んでもよい。符号化データは、長さ情報を含むTLV形式であってもよい。また、符号化データは、ヘッダを含まなくてもよい。 For example, as shown in FIG. 30, the encoded data includes a header and a payload. The encoded data may also include length information indicating the length (amount of data) of the encoded data, header, or payload. The encoded data may also be in a TLV format that includes length information. The encoded data does not necessarily have to include a header.

 ヘッダは、例えば、データを特定するための識別情報を含む。この識別情報は、例えば、データ種別又はフレーム番号を示す。 The header includes, for example, identification information for identifying the data. This identification information indicates, for example, the data type or frame number.

 ヘッダは、例えば、参照関係を示す識別情報を含む。この識別情報は、例えば、データ間に依存関係がある場合にヘッダに格納され、参照元から参照先を参照するための情報である。例えば、参照先のヘッダには、当該データを特定するための識別情報が含まれる。参照元のヘッダには、参照先を示す識別情報が含まれる。 The header includes, for example, identification information indicating a reference relationship. This identification information is stored in the header when, for example, there is a dependency between data, and is information used by the referencing source to reference the referenced data. For example, the header of the referenced data includes identification information for identifying the data in question. The header of the referencing source includes identification information indicating the referenced data.

 なお、他の情報から参照先又は参照元を識別可能又は導出可能である場合は、データを特定するための識別情報、又は参照関係を示す識別情報を省略してもよい。 In addition, if the reference destination or reference source can be identified or derived from other information, the identification information for specifying the data or the identification information indicating the reference relationship may be omitted.

 三次元データ符号化装置は、符号化データを、NALユニットのペイロードに格納する。NALユニットヘッダには、符号化データの識別情報であるpcc_nal_unit_typeが含まれる。図31は、pcc_nal_unit_typeのセマンティクスの例を示す図である。 The three-dimensional data encoding device stores encoded data in the payload of a NAL unit. The NAL unit header contains pcc_nal_unit_type, which is identification information for the encoded data. Figure 31 shows an example of the semantics of pcc_nal_unit_type.

 図31に示すように、pcc_codec_typeがコーデック1(Codec1:第1の符号化方法)である場合、pcc_nal_unit_typeの値0~10は、コーデック1における、符号化位置データ(Geometry)、符号化属性Xデータ(AttributeX)、符号化属性Yデータ(AttributeY)、位置PS(Geom.PS)、属性XPS(AttrX.PS)、属性YPS(AttrY.PS)、位置SPS(Geometry Sequence PS)、属性XSPS(AttributeX Sequence PS)、属性YSPS(AttributeY Sequence PS)、AUヘッダ(AU Header)、GOFヘッダ(GOF Header)に割り当てられる。また、値11以降は、コーデック1の予備に割り当てられる。 As shown in Figure 31, when pcc_codec_type is Codec 1 (Codec1: first encoding method), the values 0 to 10 of pcc_nal_unit_type represent the encoded position data (Geometry), encoded attribute X data (AttributeX), encoded attribute Y data (AttributeY), and position PS (Geom.PS) in Codec 1. , attribute XPS (AttrX.PS), attribute YPS (AttrY.PS), position SPS (Geometry Sequence PS), attribute XSPS (AttributeX Sequence PS), attribute YSPS (AttributeY Sequence PS), AU header (AU Header), and GOF header (GOF Header). Values 11 and above are assigned as spares for codec 1.

 以下、本実施の形態の変形例について説明する。フレームレベルのPS、シーケンスレベルのPS、PCCシーケンスレベルのPSのように、PSにはレベルがあり、PCCシーケンスレベルを上位のレベルとし、フレームレベルを下位のレベルとすると、パラメータの格納方法には下記の方法を用いてもよい。 Below, a modified example of this embodiment will be described. PS has levels, such as frame-level PS, sequence-level PS, and PCC sequence-level PS. If the PCC sequence level is the higher level and the frame level is the lower level, the following method may be used to store parameters.

 デフォルトのPSの値をより上位のPSで示す。また、下位のPSの値が上位のPSの値と異なる場合には、下位のPSでPSの値が示される。または、上位ではPSの値を記載せず、下位のPSにPSの値を記載する。または、PSの値を、下位のPSで示すか、上位のPSで示すか、両方で示すかの情報を、下位のPSと上位のPSのいずれか一方又は両方に示す。または、下位のPSを上位のPSにマージしてもよい。または、下位のPSと上位のPSとが重複する場合には、三次元データ符号化装置は、いずれか一方の送出を省略してもよい。 The default PS value is indicated in the higher PS. Also, if the value of the lower PS differs from the value of the higher PS, the PS value is indicated in the lower PS. Alternatively, the PS value is not written in the higher PS, but written in the lower PS. Alternatively, information on whether the PS value is to be written in the lower PS, the higher PS, or both is written in either the lower PS or the higher PS, or both. Alternatively, the lower PS may be merged with the higher PS. Alternatively, if the lower PS and the higher PS overlap, the three-dimensional data encoding device may omit sending one of them.

 なお、三次元データ符号化装置は、データをスライス又はタイルなどに分割し、分割したデータを送出してもよい。分割したデータには、分割したデータを識別するための情報が含まれ、分割データの復号に使用するパラメータがパラメータセットに含まれる。この場合、pcc_nal_unit_typeには、タイル又はスライスに係るデータ又はパラメータを格納するデータであることを示す識別子が定義される。 The three-dimensional data encoding device may also divide the data into slices or tiles and transmit the divided data. The divided data includes information for identifying the divided data, and the parameters used to decode the divided data are included in the parameter set. In this case, pcc_nal_unit_type defines an identifier indicating that the data stores data or parameters related to tiles or slices.

 [ガウシアンデータ]
 以下、ガウシアンデータ(Gaussian Splatting 3Dデータ)について説明する。まず、Gaussian Splatting方式を用いて生成された三次元データを符号化、又は復号するシステムの構成について説明する。
[Gaussian data]
Gaussian data (Gaussian Splatting 3D data) will be described below. First, the configuration of a system for encoding or decoding three-dimensional data generated using the Gaussian Splatting method will be described.

 図32は、図1に示す三次元データ生成システムにおける処理の一部を示す図である。図32に示すセンサ情報入力部301及び三次元データ生成部302は、例えば、図1に示すセンサ情報取得部117及び三次元データ生成部118に対応する。 FIG. 32 is a diagram showing part of the processing in the three-dimensional data generation system shown in FIG. 1. The sensor information input unit 301 and three-dimensional data generation unit 302 shown in FIG. 32 correspond to, for example, the sensor information acquisition unit 117 and three-dimensional data generation unit 118 shown in FIG. 1.

 センサ情報入力部301は、点群データ(三次元点群データ)を取得し、取得された点群データを三次元データ生成部302へと出力する。三次元データ生成部302は、点群データから、ガウシアンデータ(Gaussian Splattingデータ)を生成し、生成したガウシアンデータを出力する。 The sensor information input unit 301 acquires point cloud data (three-dimensional point cloud data) and outputs the acquired point cloud data to the three-dimensional data generation unit 302. The three-dimensional data generation unit 302 generates Gaussian data (Gaussian splatting data) from the point cloud data and outputs the generated Gaussian data.

 具体的には、三次元データ生成部302は、まず、入力された点群データの密度に応じてグリッドを生成する。点群データの各点は近くのグリッドに投影される。このとき、点に付随する色、反射率又は法線などの属性情報も同時にグリッドに紐づけられる。三次元データ生成部302は、グリッドに投影された情報からガウシアン関数の平均値及び分散などのパラメータを導出する。 Specifically, the three-dimensional data generation unit 302 first generates a grid according to the density of the input point cloud data. Each point of the point cloud data is projected onto a nearby grid. At this time, attribute information associated with the point, such as color, reflectance, or normal, is also linked to the grid at the same time. The three-dimensional data generation unit 302 derives parameters such as the mean value and variance of the Gaussian function from the information projected onto the grid.

 なお、ガウシアンデータの生成方法は上記に限らない。例えば、ガウシアンデータは、複数の二次元画像からStructure from Motion(SfM)等を用いて生成された点群データを用いて機械学習により生成されてもよい。 Note that the method for generating Gaussian data is not limited to the above. For example, Gaussian data may be generated by machine learning using point cloud data generated from multiple two-dimensional images using methods such as Structure from Motion (SfM).

 ガウシアンデータは、複数の3Dガウシアン(楕円体)の集合である。各々の3Dガウシアンは、三次元点座標、3×3の共分散行列(Covariance)、色(Color)、及び透過率(Transparent)などのデータを含む。また、3Dガウシアンの上記データをPLYフォーマットに記載される構成要素に変換して表現することも可能である。 Gaussian data is a collection of multiple 3D Gaussians (ellipsoids). Each 3D Gaussian contains data such as three-dimensional point coordinates, a 3x3 covariance matrix, color, and transparency. The above 3D Gaussian data can also be converted into components described in the PLY format and expressed.

 図33は、PLYフォーマットで記載されるガウシアンデータの構成要素を示す図である。図33に示すガウシアンデータは、位置(Position)、回転(Orientation)、スケール(Scale)、SH係数(SH Coefficient)、及び透過率(Transparent)を含む。なお、透過率は、透過度、透明度又は不透明度とも呼ばれる。 Figure 33 is a diagram showing the components of Gaussian data written in PLY format. The Gaussian data shown in Figure 33 includes position, rotation, scale, SH coefficient, and transparency. Note that transparency is also called transparency, transparency, or opacity.

 位置(Position)は、三次元点の三次元座標である。スケール(Scale)、及び回転(Orientation)は、三次元の共分散行列のパラメータである。また、SH係数(SH Coefficient)は、色情報を球面調和関数(Spherical harmonics)で表した場合の球面調和関数の係数である。 Position is the three-dimensional coordinate of a three-dimensional point. Scale and Orientation are parameters of the three-dimensional covariance matrix. Also, SH coefficients are the coefficients of spherical harmonics when color information is expressed as spherical harmonics.

 つまり、ガウシアンデータは、3Dガウシアン毎の、基準となる三次元座標(位置)と、三次元座標に紐づく情報(回転、スケール、SH係数、透過率)とを含む。 In other words, the Gaussian data includes the reference three-dimensional coordinates (position) for each 3D Gaussian, and information associated with the three-dimensional coordinates (rotation, scale, SH coefficient, transmittance).

 なお、ガウシアンデータの構成は上記に限らない。例えば、ガウシアンデータは、共分散行列を含まなくてもよい。例えば、ガウシアンデータは、三次元点の三次元座標を示す位置(Position)と、各軸に沿ったスケールを示すスケール(Scale)と、例えば、RGBを示す色(Color)と、透過率(Transparency)とを含む。 Note that the configuration of Gaussian data is not limited to the above. For example, Gaussian data does not have to include a covariance matrix. For example, Gaussian data includes a position (Position) indicating the three-dimensional coordinates of a three-dimensional point, a scale (Scale) indicating the scale along each axis, a color (Color) indicating, for example, RGB, and a transparency (Transparency).

 また、ガウシアンデータは、複数の楕円体の代わりに、3D空間を分割した複数の立方体(ボクセル)を含んでもよい。各ボクセルは、属性情報を有する。例えば、各ボクセルは、ボクセルの中心点の三次元座標を示す位置(Position)と、色、反射率、又は材質などの情報である属性情報と、ボクセルの大きさを示すスケール(Scale)とを含んでもよい。 In addition, instead of multiple ellipsoids, the Gaussian data may include multiple cubes (voxels) that divide 3D space. Each voxel has attribute information. For example, each voxel may include a position (Position) indicating the three-dimensional coordinates of the voxel's center point, attribute information such as color, reflectance, or material, and a scale (Scale) indicating the size of the voxel.

 また、位置(Position)は、三次元座標でなく、二次元点座標(x、y)で表されてもよい。この場合、スケール(Scale)は二次元平面上での楕円体の大きさ又は形状を示してもよい。具体的には、ガウシアンデータは、二次元平面上の位置を示す位置(Position)と、各軸に沿ったスケール(Su、Sv)を示すスケールベクトル(Scale Vector)と、楕円体の向きを示す回転情報(Rotation)とを含んでもよい。 Furthermore, the position (Position) may be expressed as two-dimensional point coordinates (x, y) rather than three-dimensional coordinates. In this case, the scale (Scale) may indicate the size or shape of the ellipsoid on a two-dimensional plane. Specifically, the Gaussian data may include a position (Position) indicating a position on a two-dimensional plane, a scale vector (Scale Vector) indicating the scale (Su, Sv) along each axis, and rotation information (Rotation) indicating the orientation of the ellipsoid.

 なお、ガウシアンデータを記載する形式はPLYフォーマットに限らない。例えば、ガウシアンデータを記載する形式はSPZフォーマットなどでもよい。 Note that the format for writing Gaussian data is not limited to the PLY format. For example, the format for writing Gaussian data may be the SPZ format.

 [ガウシアンデータのレンダリング処理]
 次に、ガウシアンデータのレンダリング処理について説明する。図34は、ガウシアンデータのレンダリング処理を示す図である。図34に示すように、レンダリング部303は、ガウシアンデータをレンダリングすることにより、3Dモデル(三次元モデル)を生成する。これにより、生成された3Dモデルを3D表示装置などのアプリケーションで提示することが可能となる。3D表示装置とは、例えば、ホログラムのように空間に立体映像を表示する装置、又は裸眼3D表示装置である。
[Gaussian data rendering]
Next, the rendering process of Gaussian data will be described. FIG. 34 is a diagram showing the rendering process of Gaussian data. As shown in FIG. 34, the rendering unit 303 generates a 3D model (three-dimensional model) by rendering the Gaussian data. This makes it possible to present the generated 3D model in an application such as a 3D display device. The 3D display device is, for example, a device that displays a stereoscopic image in space like a hologram, or a naked-eye 3D display device.

 図35は、球面調和関数のSH係数の数の例を示す図である。球面調和関数は、解像度を示すレベルに応じて要素数(SH係数の数)が定められている。例えば、レベルが上がるほど(レベルの数値が大きいほど)解像度が高いことが示される。例えば、レベルが上がるほど高周波成分の情報が追加される。 Figure 35 shows an example of the number of SH coefficients in a spherical harmonic function. The number of elements (number of SH coefficients) in a spherical harmonic function is determined according to the level indicating the resolution. For example, the higher the level (the larger the level number), the higher the resolution. For example, the higher the level, the more high-frequency component information is added.

 例えば、レベル2を表現する場合は、レベル0~2までの合計9個の要素(SH係数)を球面調和関数は持つ。例えば、レベル3を表現する場合は、レベル0~3までの合計16個の要素(SH係数)を球面調和関数は持つ。 For example, when expressing level 2, the spherical harmonic function has a total of 9 elements (SH coefficients) from levels 0 to 2. For example, when expressing level 3, the spherical harmonic function has a total of 16 elements (SH coefficients) from levels 0 to 3.

 例えば、図33に示す例は、レベル3の色の球面調和関数を示し、色の3要素(R、G、B)がそれぞれ16個のSH係数で表現される。よって、球面調和関数は16×3=48個の要素を持つ。なお、レベル4以上も定めることが可能である。 For example, the example shown in Figure 33 shows a spherical harmonic function for a level 3 color, where each of the three color elements (R, G, B) is expressed by 16 SH coefficients. Therefore, the spherical harmonic function has 16 x 3 = 48 elements. It is also possible to define levels 4 and above.

 色を球面調和関数で表現することにより、三次元的な色情報を表現可能である。図36は、球面調和関数の入出力の例を示す図である。例えば、図36に示すように、視点の情報を色の球面調和関数304に入力することにより、その視点から見た色情報(R、G、B)が出力される。 By expressing color using spherical harmonic functions, it is possible to express three-dimensional color information. Figure 36 is a diagram showing an example of the input and output of spherical harmonic functions. For example, as shown in Figure 36, by inputting viewpoint information into the color spherical harmonic function 304, color information (R, G, B) seen from that viewpoint is output.

 図37は、レンダリング処理を示す図である。図37に示すように、レンダリング部305は、ガウシアンデータと、指定された視点とに基づき、当該視点から見た3Dモデル又は2D画像を生成する。生成された3DモデルはVR表示などのアプリケーションで提示することが可能である。また、生成された2D画像は2D画像表示装置などのアプリケーションで提示することが可能である。 Figure 37 is a diagram showing the rendering process. As shown in Figure 37, the rendering unit 305 generates a 3D model or 2D image viewed from a specified viewpoint based on Gaussian data and the specified viewpoint. The generated 3D model can be presented in an application such as a VR display. The generated 2D image can also be presented in an application such as a 2D image display device.

 なお、色に限らず、他の属性情報(反射率又は赤外情報など)が球面調和関数を用いて表現されてもよい。その場合は、ガウシアンデータは、属性情報毎の球面調和関数のSH係数を含む。また、属性情報又は解像度に応じてレベルが変更されてもよい。 In addition to color, other attribute information (such as reflectance or infrared information) may also be expressed using spherical harmonic functions. In that case, the Gaussian data includes the SH coefficients of the spherical harmonic functions for each attribute information. Furthermore, the level may be changed depending on the attribute information or resolution.

 [ガウシアンデータの符号化及び復号]
 次に、ガウシアンデータの符号化処理及び復号処理について説明する。図38は、本実施の形態に係る符号化装置(符号化システム)のブロック図である。この符号化装置は、ガウシアンデータを符号化及び多重する。図39は、本実施の形態に係る復号装置(復号システム)のブロック図である。この復号装置は、ガウシアンデータを復号し、アプリケーションで3Dモデル又は2D画像を提示する。なお、図38及び図39に示す符号化装置及び復号装置は、例えば、図1に示す三次元データ生成システムに含まれる。
Gaussian Data Encoding and Decoding
Next, encoding and decoding processes for Gaussian data will be described. FIG. 38 is a block diagram of an encoding device (encoding system) according to this embodiment. This encoding device encodes and multiplexes Gaussian data. FIG. 39 is a block diagram of a decoding device (decoding system) according to this embodiment. This decoding device decodes the Gaussian data and presents a 3D model or a 2D image in an application. The encoding device and decoding device shown in FIGS. 38 and 39 are included in, for example, the three-dimensional data generation system shown in FIG. 1.

 図38に示す符号化装置は、符号化部311と、多重化部312とを含む。符号化部311は、入力されたガウシアンデータを所定の符号化方式で符号化することで符号化データ(ビットストリーム)を生成し、生成された符号化データを多重化部312へ出力する。 The encoding device shown in FIG. 38 includes an encoding unit 311 and a multiplexing unit 312. The encoding unit 311 generates encoded data (bit stream) by encoding the input Gaussian data using a predetermined encoding method, and outputs the generated encoded data to the multiplexing unit 312.

 多重化部312は、入力された符号化データを所定の多重化方法で多重化することで多重化データを生成し、生成された多重化データを出力する。この多重化データは、蓄積又は伝送される。 The multiplexing unit 312 generates multiplexed data by multiplexing the input coded data using a predetermined multiplexing method, and outputs the generated multiplexed data. This multiplexed data is stored or transmitted.

 図39に示す復号装置は、逆多重化部321と、復号部322と、アプリケーション部323とを含む。逆多重化部321は、入力された多重化データを所定の多重化方法で逆多重化することで符号化データを生成し、生成された符号化データを復号部322へ出力する。 The decoding device shown in FIG. 39 includes a demultiplexing unit 321, a decoding unit 322, and an application unit 323. The demultiplexing unit 321 generates coded data by demultiplexing the input multiplexed data using a predetermined multiplexing method, and outputs the generated coded data to the decoding unit 322.

 復号部322は、入力された符号化データを所定の符号化方式(復号方式)で復号することでガウシアンデータを生成し、生成されたガウシアンデータをアプリケーション部323に出力する。 The decoding unit 322 generates Gaussian data by decoding the input coded data using a predetermined coding method (decoding method), and outputs the generated Gaussian data to the application unit 323.

 アプリケーション部323は、入力インターフェース部324と、レンダリング部325と、提示部326とを含む。入力インターフェース部324は、ユーザ操作を取得する。例えば、入力インターフェース部324は、ユーザ操作に基づき、ユーザが入力した視点を示す視点情報を生成する。 The application unit 323 includes an input interface unit 324, a rendering unit 325, and a presentation unit 326. The input interface unit 324 acquires user operations. For example, the input interface unit 324 generates viewpoint information indicating the viewpoint entered by the user based on the user operations.

 レンダリング部325は、入力されたガウシアンデータをレンダリングすることにより、三次元モデル又は二次元画像を生成する。例えば、レンダリング部325は、視点情報で示されるユーザが入力した視点から見た3Dモデル又は2D画像を生成する。なお、レンダリング部325は、予め定められた視点から見た3Dモデル又は2D画像を生成してもよい。 The rendering unit 325 generates a three-dimensional model or a two-dimensional image by rendering the input Gaussian data. For example, the rendering unit 325 generates a 3D model or a 2D image viewed from a viewpoint input by the user, which is indicated by the viewpoint information. Note that the rendering unit 325 may also generate a 3D model or a 2D image viewed from a predetermined viewpoint.

 提示部326は、レンダリング部325で生成された三次元モデル又は二次元画像を提示(表示)する。3Dモデルを提示するか2D画像を提示するかは、例えば以下の方法で決定されてもよい。例えば、レンダリング部325は、図34に示す処理のように、まず、三次元モデルを生成し、点の座標情報を生成する。レンダリング部325は、視点情報が入力された後に指定された視点から見た2D画像を生成する。その際、レンダリング部325は、指定された視点とともに領域を指定する情報を受け付けてもよい。このように、先に3Dモデルを生成し、その後指定された領域の2D画像を生成することで、全ての領域の2D画像を生成するよりも処理量を削減できる。よって、レンダリングの速度を上げることができる。または、レンダリングを実行する装置の処理能力に応じて3D表示(3Dモデル)を提示するか2D画像を提示するかが決定されてもよい。例えば処理能力が低い装置の場合、当該装置は、2D画像を生成せず、3Dモデルを提示してもよい。 The presentation unit 326 presents (displays) the three-dimensional model or two-dimensional image generated by the rendering unit 325. Whether to present a 3D model or a 2D image may be determined, for example, by the following method. For example, the rendering unit 325 first generates a three-dimensional model and generates point coordinate information, as in the process shown in FIG. 34. After viewpoint information is input, the rendering unit 325 generates a 2D image viewed from a specified viewpoint. At that time, the rendering unit 325 may accept information specifying an area along with the specified viewpoint. In this way, by first generating a 3D model and then generating a 2D image of the specified area, the amount of processing can be reduced compared to generating 2D images of the entire area. This allows for faster rendering. Alternatively, whether to present a 3D display (3D model) or a 2D image may be determined depending on the processing power of the device performing the rendering. For example, in the case of a device with low processing power, the device may present a 3D model without generating a 2D image.

 (第1態様)
 [G-PCCを用いたガウシアンデータの符号化]
 図40は、本実施の形態に係る符号化装置330(三次元データ符号化装置)の構成例を示すブロック図である。符号化装置330は、第1のガウシアンデータを符号化することでビットストリーム(符号化データ)を生成する。
(First Aspect)
Encoding Gaussian Data Using G-PCC
40 is a block diagram showing an example of the configuration of an encoding device 330 (three-dimensional data encoding device) according to this embodiment. The encoding device 330 generates a bit stream (encoded data) by encoding the first Gaussian data.

 符号化装置330は、第1の前処理部331と、第2の前処理部332と、G-PCC符号化部333とを含む。 The encoding device 330 includes a first pre-processing unit 331, a second pre-processing unit 332, and a G-PCC encoding unit 333.

 第1のガウシアンデータは、例えば、共分散行列などを含む。第1の前処理部331は、第1のガウシアンデータを、plyフォーマットの構成要素で構成される第2のガウシアンデータに変換する。例えば、plyファイルの構成要素は、図33に示すように、三次元座標、スケール、回転、球面調和関数のSH係数、及び透過率を含む。 The first Gaussian data includes, for example, a covariance matrix. The first pre-processing unit 331 converts the first Gaussian data into second Gaussian data composed of components in a ply format. For example, the components of a ply file include three-dimensional coordinates, scale, rotation, SH coefficients of spherical harmonics, and transmittance, as shown in FIG. 33.

 なお、ここでは、符号化装置330に第1のガウシアンデータが入力され、符号化装置330は第1のガウシアンデータを第2のガウシアンデータに変換する例を述べるが、符号化装置330に第2のガウシアンデータが入力されてもよい。この場合、符号化装置330は、第1の前処理部331を備えなくてもよい。 Note that, although an example is described here in which first Gaussian data is input to the encoding device 330, and the encoding device 330 converts the first Gaussian data into second Gaussian data, second Gaussian data may also be input to the encoding device 330. In this case, the encoding device 330 does not need to include the first pre-processing unit 331.

 第2の前処理部332は、第2のガウシアンデータに含まれる複数の構成要素を、各構成要素に対応する符号化方式で符号化可能となるフォーマットに変換し、変換後の複数の構成要素をG-PCC符号化部333に出力する。 The second pre-processing unit 332 converts the multiple components contained in the second Gaussian data into a format that can be encoded using an encoding method corresponding to each component, and outputs the converted multiple components to the G-PCC encoding unit 333.

 G-PCC符号化部333は、三次元座標を、G-PCC符号化方式(Geometry based PCC)におけるジオメトリ(位置情報)符号化方式(8分木符号化方式又は予測木符号化方式、TriSoup方式など)を用いて符号化する。G-PCC符号化部333は、回転、スケール、SH係数及び透過率などの、三次元座標に紐づく情報を、G-PCC符号化方式における属性符号化方式(LoDベース符号化方式(LoD属性情報符号化方式)又はTransformベース符号化方式(変換属性情報符号化方式)など)を用いて符号化する。 The G-PCC encoding unit 333 encodes three-dimensional coordinates using a geometry (position information) encoding method (such as octree encoding, predictive tree encoding, or TriSoup) in the G-PCC encoding method (Geometry-based PCC). The G-PCC encoding unit 333 encodes information associated with three-dimensional coordinates, such as rotation, scale, SH coefficients, and transparency, using an attribute encoding method in the G-PCC encoding method (such as LoD-based encoding (LoD attribute information encoding) or Transform-based encoding (transform attribute information encoding)).

 G-PCC符号化部333は、位置情報符号化部341と、回転符号化部342と、スケール符号化部343と、SH係数符号化部344と、透過率符号化部345と、メタデータ符号化部346と、多重化部347とを備える。 The G-PCC encoding unit 333 includes a position information encoding unit 341, a rotation encoding unit 342, a scale encoding unit 343, an SH coefficient encoding unit 344, a transmittance encoding unit 345, a metadata encoding unit 346, and a multiplexing unit 347.

 位置情報符号化部341は、三次元座標を符号化する。三次元座標は、ガウシアンデータの基準又は代表となる三次元座標である。例えば、三次元座標は、ガウシアンデータを構成する楕円の中心座標であってもよいし、その他の座標であってもよい。例えば、三次元座標は、ガウシアンデータの生成に用いられるグリッドの原点座標であってもよい。 The position information encoding unit 341 encodes three-dimensional coordinates. The three-dimensional coordinates are reference or representative three-dimensional coordinates for the Gaussian data. For example, the three-dimensional coordinates may be the center coordinates of an ellipse that constitutes the Gaussian data, or may be other coordinates. For example, the three-dimensional coordinates may be the origin coordinates of a grid used to generate the Gaussian data.

 また、三次元座標は第1の前処理部331では処理されず、そのまま第2の前処理部332に入力される。第2の前処理部332は、入力された三次元座標を、正の整数型の情報(三次元座標)に変換する。変換の際に用いたスケール値及びオフセット値は、SPSなどのメタデータに格納され、復号装置へ通知される。 Furthermore, the three-dimensional coordinates are not processed by the first pre-processing unit 331, but are input directly to the second pre-processing unit 332. The second pre-processing unit 332 converts the input three-dimensional coordinates into positive integer information (three-dimensional coordinates). The scale and offset values used during the conversion are stored in metadata such as SPS and notified to the decoding device.

 位置情報符号化部341は、第2の前処理部332から出力された三次元座標を、G-PCCのジオメトリ符号化方式を用いて符号化することで符号化データを生成する。この符号化データは、GDU(Geometry Data Unit)に格納されて出力される。また、GDUの復号に必要なメタデータはGPS(Geometry Parameter Set)に格納されて出力される。 The location information encoding unit 341 generates encoded data by encoding the three-dimensional coordinates output from the second pre-processing unit 332 using the G-PCC geometry encoding method. This encoded data is stored in a GDU (Geometry Data Unit) and output. In addition, the metadata required for decoding the GDU is stored in a GPS (Geometry Parameter Set) and output.

 また、位置情報符号化部341は、複数のガウシアンデータの複数の三次元座標が疎(密度が予め定められた閾値未満)である場合、疎な三次元点の符号化に適した予測木符号化方式を用いてもよい。また、位置情報符号化部341は、複数のガウシアンデータの複数の三次元座標が密(密度が予め定められた閾値以上)である場合、密な三次元点の符号化に適した8分木符号化方式を用いてもよい。 Furthermore, if the multiple three-dimensional coordinates of the multiple Gaussian data are sparse (density is less than a predetermined threshold), the position information encoding unit 341 may use a predictive tree encoding method suitable for encoding sparse three-dimensional points. Furthermore, if the multiple three-dimensional coordinates of the multiple Gaussian data are dense (density is equal to or greater than a predetermined threshold), the position information encoding unit 341 may use an octree encoding method suitable for encoding dense three-dimensional points.

 第1の前処理部331は、第1のガウシアンデータに含まれる共分散行列を回転値及びスケール値に変換する。第1の前処理部331は、第1のガウシアンデータに含まれる色情報を、球面調和関数に変換し、球面調和関数におけるSH係数を出力する。 The first pre-processing unit 331 converts the covariance matrix contained in the first Gaussian data into rotation values and scale values. The first pre-processing unit 331 converts the color information contained in the first Gaussian data into spherical harmonic functions and outputs SH coefficients in the spherical harmonic functions.

 第2の前処理部332は、第2のガウシアンデータに含まれる各データのデータ型を変換する。具体的には、第2の前処理部332は、各データは、G-PCC符号化方式で符号化するために、正の整数型のデータに変換する。例えば、データがfloat型である場合は、第2の前処理部332は、当該データに、スケーリング及びオフセット処理を行うことにより、当該データを正の整数型のデータに変換する。このとき、変換に使用された属性情報毎のスケール値及びオフセット値は、SPSなどのメタデータに格納され、復号装置へ通知される。 The second pre-processing unit 332 converts the data type of each piece of data contained in the second Gaussian data. Specifically, the second pre-processing unit 332 converts each piece of data into positive integer data so that it can be encoded using the G-PCC encoding method. For example, if the data is float type, the second pre-processing unit 332 converts the data into positive integer data by scaling and offsetting the data. At this time, the scale value and offset value for each piece of attribute information used in the conversion are stored in metadata such as the SPS and notified to the decoding device.

 また、第2の前処理部332は、各データのフォーマット変換と、各データを属性コンポーネントへマッピングするマッピング処理とを行う。例えば、G-PCCの属性符号化方式で符号化できる属性コンポーネントあたりの要素数(次元数)の最大数が3である場合、第2の前処理部332は、入力された構成要素を、1つの属性コンポーネントあたり三次元(3つの要素)を持つ属性コンポーネントに変換する。例えば、スケール(Scale)は3つの要素を持つため、そのまま1つの属性コンポーネントとして出力される。また、回転(Orientation)は、4つの要素を持つため、2つの二次元の属性コンポーネントに変換される。SH係数は、レベル毎に要素数が変化する。例えば、レベルが3を超えるSH係数は、複数の属性コンポーネントに変換される。 The second pre-processing unit 332 also performs format conversion for each piece of data and mapping processing to map each piece of data to attribute components. For example, if the maximum number of elements (number of dimensions) per attribute component that can be encoded using the G-PCC attribute encoding method is three, the second pre-processing unit 332 converts the input elements into attribute components with three dimensions (three elements) per attribute component. For example, since scale has three elements, it is output as a single attribute component. Furthermore, since rotation has four elements, it is converted into two two-dimensional attribute components. The number of elements for SH coefficients changes for each level. For example, SH coefficients with levels greater than three are converted into multiple attribute components.

 この際、第2の前処理部332は、属性情報毎に、各要素がどの属性コンポーネントにマッピングされかを示すマッピング情報をメタデータとして生成する。 At this time, the second pre-processing unit 332 generates mapping information as metadata for each piece of attribute information, indicating to which attribute component each element is mapped.

 回転符号化部342、スケール符号化部343、SH係数符号化部344、及び透過率符号化部345は、それぞれ、回転、スケール、SH係数、及び透過率を、G-PCC符号化方式における属性符号化方式を用いて符号化することで複数の符号化データを生成する。生成された複数の符号化データの各々は、ADU(Attribute Data Unit)に格納されて出力される。ADUの復号に必要なメタデータはAPS(Attribute Parameter Set)に格納されて出力される。また、属性情報は三次元座標を用いて符号化される。 The rotation encoding unit 342, scale encoding unit 343, SH coefficient encoding unit 344, and transparency encoding unit 345 generate multiple pieces of coded data by encoding the rotation, scale, SH coefficient, and transparency, respectively, using the attribute encoding method in the G-PCC coding method. Each of the multiple pieces of coded data generated is stored in an ADU (Attribute Data Unit) and output. The metadata required for decoding the ADU is stored in an APS (Attribute Parameter Set) and output. In addition, the attribute information is encoded using three-dimensional coordinates.

 メタデータ符号化部346は、第1の前処理部331又は第2の前処理部332で用いられた変換パラメータを含む変換情報等を、SPS又はSEIなどのメタデータに格納する。なお、メタデータ符号化部346は、当該変換情報を符号化したうえでメタデータに格納してもよい。また、メタデータには、ガウシアンデータの構成情報、又はガウシアンデータがどのようにG-PCC符号化で伝送されるかの対応関係を示す情報が含まれてもよい。 The metadata encoding unit 346 stores transformation information, including the transformation parameters used in the first pre-processing unit 331 or the second pre-processing unit 332, in metadata such as SPS or SEI. The metadata encoding unit 346 may encode the transformation information and then store it in the metadata. The metadata may also include configuration information for the Gaussian data, or information indicating the correspondence between how the Gaussian data is transmitted using G-PCC encoding.

 多重化部347は、符号化データ(ADU並びにGDU)及びパラメータセット(APS、GPS並びにSPS)を、TLVユニットに格納し、ビットストリーム(符号化データ)として伝送する。なお、ビットストリームは、所定の多重化方式を用いて多重化されてもよい。また、ビットストリームはフォーマット化されてもよい。 The multiplexing unit 347 stores the coded data (ADU and GDU) and parameter sets (APS, GPS, and SPS) in TLV units and transmits them as a bit stream (coded data). The bit stream may be multiplexed using a predetermined multiplexing method. The bit stream may also be formatted.

 [G-PCCを用いたガウシアンデータの復号]
 図41は、本実施の形態に係る復号装置350(三次元データ復号装置)の構成例を示すブロック図である。復号装置350は、ビットストリーム(符号化データ)を復号することで第1のガウシアンデータ又は第2のガウシアンデータを生成する。例えば、復号装置350は、図40に示す符号化装置330により生成されたビットストリームを復号する。
[Gaussian Data Decoding Using G-PCC]
Fig. 41 is a block diagram showing an example configuration of a decoding device 350 (three-dimensional data decoding device) according to this embodiment. The decoding device 350 generates first Gaussian data or second Gaussian data by decoding a bit stream (encoded data). For example, the decoding device 350 decodes the bit stream generated by the encoding device 330 shown in Fig. 40.

 復号装置350は、G-PCC復号部351と、第2の後処理部352と、第1の後処理部353とを含む。 The decoding device 350 includes a G-PCC decoding unit 351, a second post-processing unit 352, and a first post-processing unit 353.

 G-PCC復号部351は、ビットストリームを、G-PCC符号化方式を用いて復号することで、三次元座標、回転、スケール、SH係数及び透過率を生成する。G-PCC復号部351は、逆多重化部361と、位置情報復号部362と、回転復号部363と、スケール復号部364と、SH係数復号部365と、透過率復号部366と、メタデータ復号部367とを備える。 The G-PCC decoding unit 351 generates three-dimensional coordinates, rotation, scale, SH coefficients, and transmittance by decoding the bitstream using the G-PCC encoding method. The G-PCC decoding unit 351 includes a demultiplexing unit 361, a position information decoding unit 362, a rotation decoding unit 363, a scale decoding unit 364, an SH coefficient decoding unit 365, a transmittance decoding unit 366, and a metadata decoding unit 367.

 逆多重化部361は、入力されたビットストリームに含まれる複数のTLVユニットを解析し、GDU、ADU、SPS、GPS及びAPSなどの符号化データのデータユニットを生成する。位置情報復号部362、回転復号部363、スケール復号部364、SH係数復号部365、透過率復号部366、及びメタデータ復号部367は、これらのデータユニットをパラメータセットの情報を用いて、属性コンポーネントごとにそれぞれの符号化方式を用いて復号する。 The demultiplexing unit 361 analyzes multiple TLV units contained in the input bitstream and generates data units of encoded data such as GDU, ADU, SPS, GPS, and APS. The position information decoding unit 362, rotation decoding unit 363, scale decoding unit 364, SH coefficient decoding unit 365, transmittance decoding unit 366, and metadata decoding unit 367 use the parameter set information to decode these data units using the respective encoding methods for each attribute component.

 位置情報復号部362は、GDUから三次元座標を復号する。回転復号部363、スケール復号部364、SH係数復号部365及び透過率復号部366は、ADUから属性情報(回転、スケール、SH係数及び透過率)を復号する。また、属性情報は三次元座標を用いて復号される。メタデータ復号部367は、変換情報等を、SPS又はSEIなどのメタデータから取得する。なお、メタデータ復号部367は、当該変換情報をメタデータから復号してもよい。また、メタデータには、ガウシアンデータの構成情報、又はガウシアンデータがどのようにG-PCC符号化で伝送されるかの対応関係を示す情報が含まれてもよい。 The position information decoding unit 362 decodes three-dimensional coordinates from the GDU. The rotation decoding unit 363, scale decoding unit 364, SH coefficient decoding unit 365, and transmittance decoding unit 366 decode attribute information (rotation, scale, SH coefficient, and transmittance) from the ADU. The attribute information is decoded using the three-dimensional coordinates. The metadata decoding unit 367 acquires transformation information, etc. from metadata such as SPS or SEI. The metadata decoding unit 367 may also decode the transformation information from the metadata. The metadata may also include configuration information of the Gaussian data, or information indicating the correspondence of how the Gaussian data is transmitted using G-PCC encoding.

 第2の後処理部352は、復号されたデータを逆変換することで第2のガウシアンデータを生成する。ここで、逆変換は、第2の前処理部332で実施した変換処理と逆の処理であり、メタデータに含まれる変換情報(変換パラメータ)に基づき行われる。 The second post-processing unit 352 generates second Gaussian data by inversely transforming the decoded data. Here, the inverse transformation is the reverse of the transformation process performed by the second pre-processing unit 332, and is performed based on the transformation information (transformation parameters) included in the metadata.

 第1の後処理部353は、第2のガウシアンデータを逆変換することで第1のガウシアンデータを生成する。ここで、逆変換は、第1の前処理部331で実施した変換処理と逆の処理である。また、第1のガウシアンデータ及び第2のガウシアンデータの少なくとも一方を出力される。なお、復号装置350は、第1の後処理部353を備えなくてもよい。 The first post-processing unit 353 generates first Gaussian data by inversely transforming the second Gaussian data. Here, the inverse transform is the reverse of the transformation process performed by the first pre-processing unit 331. In addition, at least one of the first Gaussian data and the second Gaussian data is output. Note that the decoding device 350 does not necessarily have to include the first post-processing unit 353.

 [マッピング処理]
 第2の前処理部332は、ガウシアンデータをG-PCCの属性コンポーネントへマッピングする。このマッピングの方法と、その際に生成するマッピング情報について説明する。
[Mapping process]
The second pre-processing unit 332 maps the Gaussian data to the attribute components of the G-PCC. The mapping method and the mapping information generated at that time will be described below.

 以下では、回転、スケール及びSH係数をマッピングする例を示し、透過率の説明は省略する。なお、他の属性情報が追加される場合にも同様の処理を適用可能である。 Below, an example of mapping rotation, scale, and SH coefficients is shown, and an explanation of transparency is omitted. Note that similar processing can also be applied when other attribute information is added.

 図42は、ガウシアンデータに含まれる複数の属性コンポーネントを、符号化方式のコンポーネントであるG-PCCの属性コンポーネントにマッピングする例を示す図である。ここでは、G-PCCにおける属性コンポーネントの符号化において、符号化可能な最大の次元数(サブコンポーネント数)は3である例を示す。 Figure 42 shows an example of mapping multiple attribute components contained in Gaussian data to attribute components of G-PCC, which is a component of the encoding method. Here, an example is shown in which the maximum number of dimensions (number of subcomponents) that can be encoded when encoding attribute components in G-PCC is 3.

 なお、以下では、ガウシアンデータの属性コンポーネントをガウシアンコンポーネントと記し、G-PCCの属性コンポーネントをG-PCCコンポーネントと記す場合もある。また、属性コンポーネントを単にコンポーネントと記す場合もある。 In the following, the attribute components of Gaussian data will be referred to as Gaussian components, and the attribute components of G-PCC will be referred to as G-PCC components. Attribute components will also be referred to simply as components.

 例えば、スケールのガウシアンコンポーネントは、次元数=3のサブコンポーネント(B1~B3)を持ち、三次元のサブコンポーネントを持つ1つのG-PCCコンポーネントにマッピングされる。この場合、スケールのガウシアンコンポーネントの識別子と、G-PCCコンポーネントの識別子とが対応することがマッピング情報に示される。 For example, the Gaussian component of scale has subcomponents (B1 to B3) with a dimensionality of 3, and is mapped to one G-PCC component with three-dimensional subcomponents. In this case, the mapping information indicates that the identifier of the Gaussian component of scale corresponds to the identifier of the G-PCC component.

 また、回転のガウシアンコンポーネントは、次元数=4のサブコンポーネント(A1~A4)を持ち、三次元のサブコンポーネントを持つ1つのG-PCCコンポーネントにマッピングできない。そこで、回転の4つのサブコンポーネント(A1~A4)は、二次元のサブコンポーネントを持つ2つのG-PCCコンポーネントにマッピングされる。この場合、回転のガウシアンコンポーネントの識別子及び当該属性コンポーネントに含まれるサブコンポーネントの番号を示す識別子と、G-PCCコンポーネントの識別子及び当該G-PCCコンポーネントに含まれるサブコンポーネント番号を示す識別子とが対応することがマッピング情報に示される。 Furthermore, the Gaussian rotation component has subcomponents (A1 to A4) with a dimensionality of four, and cannot be mapped to a single G-PCC component with three-dimensional subcomponents. Therefore, the four rotation subcomponents (A1 to A4) are mapped to two G-PCC components with two-dimensional subcomponents. In this case, the mapping information indicates that the identifier of the Gaussian rotation component and the identifier indicating the subcomponent number included in the attribute component correspond to the identifier of the G-PCC component and the identifier indicating the subcomponent number included in the G-PCC component.

 レベル毎のSH係数16個が三次元(RGB)の要素ごとに存在するため、SH係数は合計48次元の要素(C1~C48)を持つ。この48次元の要素は、三次元のサブコンポーネントを持つ16個のG-PCCコンポーネントにマッピングされる。 Since there are 16 SH coefficients per level for each three-dimensional (RGB) element, the SH coefficients have a total of 48 dimensional elements (C1 to C48). These 48 dimensional elements are mapped to 16 G-PCC components with three-dimensional subcomponents.

 なお、図42に示す「ID」は属性コンポーネントIDであり、符号化データの属性コンポーネントを識別するための識別番号を示す。「ND」は、次元数(Number of Demension)であり、属性コンポーネントあたりの要素数(サブコンポーネント数)を示す。 Note that "ID" in Figure 42 is the attribute component ID, which indicates the identification number used to identify the attribute component of the encoded data. "ND" is the number of dimensions, which indicates the number of elements (number of subcomponents) per attribute component.

 また、ガウシアンデータの分割方法及びマッピング方法は上記の例に限らず、どのようなマッピング方法及び次元数の組み合わせが用いられてもよい。 Furthermore, the division method and mapping method for Gaussian data are not limited to the above examples, and any combination of mapping method and number of dimensions may be used.

 第2の前処理部332は、マッピング処理において、ガウシアンコンポーネントに対応するG-PCCコンポーネントを示すマッピング情報を生成する。このマッピング情報は、メタデータとしてヘッダ又はSEIに格納される。 In the mapping process, the second pre-processing unit 332 generates mapping information indicating the G-PCC components corresponding to the Gaussian components. This mapping information is stored as metadata in the header or SEI.

 復号装置は、ビットストリームからマッピング情報を復号する。第2の後処理部352は、マッピング情報に基づき、G-PCCコンポーネントごとの復号データをガウシアンデータに再マッピングすることで、ガウシアンデータを再構成する。 The decoding device decodes the mapping information from the bitstream. The second post-processing unit 352 reconstructs the Gaussian data by remapping the decoded data for each G-PCC component into Gaussian data based on the mapping information.

 図43は、マッピング情報の例を示す図である。なお、図43では、マッピング情報は、SEI(ガウシアンデータ属性マッピング情報SEI)に格納される。マッピング情報は、ガウシアンデータコンポーネント数を含む。ガウシアンデータコンポーネント数は、ガウシアンデータに含まれる属性情報の数を示す。例えば、図42に示す例では、回転、スケール及びSH係数が存在し、ガウシアンデータコンポーネント数は3である。 Figure 43 is a diagram showing an example of mapping information. In Figure 43, the mapping information is stored in SEI (Gaussian data attribute mapping information SEI). The mapping information includes the number of Gaussian data components. The number of Gaussian data components indicates the number of attribute information included in the Gaussian data. For example, in the example shown in Figure 42, rotation, scale, and SH coefficients are present, and the number of Gaussian data components is 3.

 また、マッピング情報は、ガウシアンコンポーネントごとの情報として、ガウシアンデータコンポーネントIDと、ガウシアンデータタイプと、ガウシアンデータ次元数とを含む。 The mapping information also includes, for each Gaussian component, a Gaussian data component ID, a Gaussian data type, and the number of Gaussian data dimensions.

 ガウシアンコンポーネントIDは、ガウシアンコンポーネントを一意に識別するための識別情報である。ガウシアンデータタイプは、ガウシアンコンポーネントのタイプを示す。例えば、値0は「回転」を示し、値1は「スケール」を示し、値2は「SH係数」を示し、値3は「透過率」を示す。なお、ここで、値とタイプとの組み合わせは一例であり、組み合わせはこれに限らない。 The Gaussian component ID is identification information for uniquely identifying a Gaussian component. The Gaussian data type indicates the type of Gaussian component. For example, a value of 0 indicates "rotation", a value of 1 indicates "scale", a value of 2 indicates "SH coefficient", and a value of 3 indicates "transmittance". Note that the combinations of value and type here are just examples, and the combinations are not limited to these.

 ガウシアンデータ次元数は、ガウシアンコンポーネントの次元数(サブコンポーネント数)を示す。例えば、図42に示す例では、回転のガウシアンデータ次元数は4であり、スケールのガウシアンデータ次元数は3であり、SH係数のガウシアンデータ次元数は48である。 The number of Gaussian data dimensions indicates the number of dimensions of the Gaussian component (number of subcomponents). For example, in the example shown in Figure 42, the number of Gaussian data dimensions for rotation is 4, the number of Gaussian data dimensions for scale is 3, and the number of Gaussian data dimensions for SH coefficients is 48.

 また、マッピング情報は、ガウシアンコンポーネントの次元ごとの情報として、G-PCCコンポーネントIDと、G-PCC次元IDと、変換情報とを含む。G-PCCサブコンポーネントIDは、図42に示す「ID」に対応する。G-PCC次元IDは、サブコンポーネント番号を示す識別子である。例えば、図42に示すSH係数に含まれるC1はG-PCC次元ID=0であり、C2はG-PCC次元ID=1であり、C3はG-PCC次元ID=2である。 The mapping information also includes a G-PCC component ID, a G-PCC dimension ID, and conversion information as information for each dimension of the Gaussian component. The G-PCC subcomponent ID corresponds to the "ID" shown in Figure 42. The G-PCC dimension ID is an identifier that indicates the subcomponent number. For example, C1 included in the SH coefficients shown in Figure 42 has a G-PCC dimension ID of 0, C2 has a G-PCC dimension ID of 1, and C3 has a G-PCC dimension ID of 2.

 このように、マッピング情報は、ガウシアンデータの各コンポーネントの各次元に対応するG-PCCコンポーネントのID及び次元IDを示す。例えば、図42に示すサブコンポーネントC46に対しては、G-PCCコンポーネントID=18、及びG-PCC次元ID=2が示される。 In this way, the mapping information indicates the G-PCC component ID and dimension ID corresponding to each dimension of each component of the Gaussian data. For example, for subcomponent C46 shown in Figure 42, G-PCC component ID = 18 and G-PCC dimension ID = 2 are indicated.

 なお、図43では、ガウシアンデータの各サブコンポーネント(次元)に対応するG-PCCのサブコンポーネント(次元)を示すマッピング情報の例を示したが、G-PCCの各サブコンポーネントに対応するガウシアンデータのサブコンポーネントを示すマッピング情報が用いられてもよい。 Note that while Figure 43 shows an example of mapping information indicating the subcomponents (dimensions) of the G-PCC that correspond to each subcomponent (dimension) of the Gaussian data, mapping information indicating the subcomponents of the Gaussian data that correspond to each subcomponent of the G-PCC may also be used.

 また、図43では、ガウシアンデータのサブコンポーネントとG-PCCのサブコンポーネントとの対応関係を示すマッピング情報の例を示したが、G-PCCコンポーネントにおけるサブコンポーネント数に制約がない場合は、ガウシアンコンポーネントとG-PCCコンポーネントとの対応関係を示すマッピング情報が用いられてもよい。つまり、次元間の対応関係は示さなくてもよい。 Furthermore, Figure 43 shows an example of mapping information indicating the correspondence between Gaussian data subcomponents and G-PCC subcomponents, but if there are no restrictions on the number of subcomponents in a G-PCC component, mapping information indicating the correspondence between Gaussian components and G-PCC components may also be used. In other words, it is not necessary to indicate the correspondence between dimensions.

 変換情報は、コンポーネントのデータを変換する際に用いられたパラメータ(変換パラメータ)を示す。図44は、変換情報の構成例を示す図である。例えば、変換情報は、変換においてスケールとオフセットとが用いられた場合、スケール値とオフセット値とを含む。 The conversion information indicates the parameters (conversion parameters) used when converting the component data. Figure 44 shows an example of the configuration of conversion information. For example, if a scale and offset are used in the conversion, the conversion information includes a scale value and an offset value.

 例えば、スケール値とオフセット値とを用いて下記式により、変換が行われる。 For example, the conversion is performed using the scale value and offset value according to the following formula:

  変換後データ=変換前データ×スケール値+オフセット Converted data = Pre-conversion data x Scale value + Offset

 なお、変換に用いられる式は、予め定義された式であってもよいし、複数の変換式が定義され、使用される変換式が、所定の条件に応じて切り替えられてもよい。また、使用された変換式を示す情報がビットストリームに格納されてもよい。 The formula used for the conversion may be a predefined formula, or multiple conversion formulas may be defined and the formula used may be switched according to predetermined conditions. Information indicating the conversion formula used may also be stored in the bitstream.

 なお、図43では、変換情報は、ガウシアンデータのサブコンポーネント(次元)毎に設けられるが、変換情報は、ガウシアンデータのコンポーネントごとに設けられてもよい。つまり、変換の方法は、コンポーネント単位で変更されてもよいし、サブコンポーネント単位で変更されてもよい。 In Figure 43, the transformation information is provided for each subcomponent (dimension) of the Gaussian data, but the transformation information may also be provided for each component of the Gaussian data. In other words, the transformation method may be changed on a component-by-component basis, or on a subcomponent-by-subcomponent basis.

 なお、図43に示すシンタックスの一部は省略されてもよい。例えば、回転、スケール、及びSH係数の情報の記載順、及び次元数が予め定められている場合、ガウシアンデータコンポーネントID、ガウシアンデータタイプ、及びガウシアンデータ次元数などは省略されてもよい。 Note that some of the syntax shown in FIG. 43 may be omitted. For example, if the order in which rotation, scale, and SH coefficient information is written and the number of dimensions are predetermined, the Gaussian data component ID, Gaussian data type, and number of Gaussian data dimensions may be omitted.

 また、第2の前処理部332で決定された属性コンポーネントへのマッピング情報に基づき、それぞれの属性情報が符号化される。図45は、ガウシアンデータをG-PCC符号化する場合の符号化データの構成例を示す図である。 Furthermore, each attribute information is encoded based on the mapping information to the attribute component determined by the second pre-processing unit 332. Figure 45 shows an example of the structure of encoded data when Gaussian data is G-PCC encoded.

 SPSには、G-PCCコンポーネントごとに、G-PCC属性コンポーネントID(attr_id)、G-PCC属性タイプ(attribute_type)、G-PCC属性コンポーネントの次元数(num_dimension)が記述される。ここで、ガウシアンデータの各要素を符号化することを示すG-PCC属性タイプが新たに定義されてもよい。 The SPS describes the G-PCC attribute component ID (attr_id), G-PCC attribute type (attribute_type), and number of dimensions of the G-PCC attribute component (num_dimension) for each G-PCC component. A new G-PCC attribute type may be defined here to indicate that each element of the Gaussian data is to be coded.

 図46は、ガウシアンデータのG-PCC属性タイプの例を示す図である。図46に示すように、例えば、ガウシアンデータの回転、スケール、SH係数及び透過率をそれぞれ示すG-PCC属性タイプが定義されてもよい。 Figure 46 shows an example of G-PCC attribute types for Gaussian data. As shown in Figure 46, for example, G-PCC attribute types may be defined that indicate the rotation, scale, SH coefficient, and transparency of Gaussian data.

 ADUのヘッダには、G-PCC属性コンポーネントID(attr_id)が付与される。復号装置は、ADUのヘッダに含まれるG-PCC属性コンポーネントIDと、SPSに含まれる情報とを用いて、それぞれのADUがどのG-PCC属性タイプであるかを識別できる。 A G-PCC attribute component ID (attr_id) is assigned to the header of the ADU. The decoding device can identify which G-PCC attribute type each ADU has by using the G-PCC attribute component ID contained in the ADU header and the information contained in the SPS.

 また、マッピング情報(ガウシアンデータ属性マッピング情報SEI)は、SEIとして伝送されてもよいし、SPSに含まれてもよい。例えば、SPSは、G-PCCコンポーネントに対応するガウシアンコンポーネントを示すマッピング情報を含んでもよい。 Furthermore, the mapping information (Gaussian data attribute mapping information SEI) may be transmitted as SEI or may be included in the SPS. For example, the SPS may include mapping information indicating the Gaussian components corresponding to the G-PCC components.

 図47は、本実施の形態に係る復号装置による処理のフローチャートである。まず、復号装置は、ビットストリームから複数のTLVユニットを取得し、複数のTLVユニットから複数のデータユニット(GDU、ADU)及び複数のパラメータセット(SPS、GPS、APS)を取得する(S101)。 FIG. 47 is a flowchart of processing by a decoding device according to this embodiment. First, the decoding device obtains multiple TLV units from the bitstream, and then obtains multiple data units (GDU, ADU) and multiple parameter sets (SPS, GPS, APS) from the multiple TLV units (S101).

 次に、復号装置は、SPS、GPS及びGDUを用いて三次元座標を復号する(S102)。次に、復号装置は、APS、ADU及び三次元座標を用いて、SPSに記載される複数の属性コンポーネントを復号する(S103)。 Next, the decoding device decodes the three-dimensional coordinates using the SPS, GPS, and GDU (S102). Next, the decoding device decodes the multiple attribute components described in the SPS using the APS, ADU, and three-dimensional coordinates (S103).

 次に、復号装置は、ガウシアンデータ属性マッピング情報SEIを解析することでマッピング情報を取得する(S104)。次に、復号装置は、復号された属性コンポーネントとマッピング情報とから、第2のガウシアンデータを再構成する(S105)。次に、復号装置は、変換情報を取得し、変換情報を用いて第2のガウシアンデータを逆変換することで第1のガウシアンデータを生成する(S106)。 Next, the decoding device obtains mapping information by analyzing the Gaussian data attribute mapping information SEI (S104). Next, the decoding device reconstructs second Gaussian data from the decoded attribute components and the mapping information (S105). Next, the decoding device obtains transformation information and generates first Gaussian data by inversely transforming the second Gaussian data using the transformation information (S106).

 [その他]
 なお、上記説明では、説明の簡単可のため、ガウシアンデータが1フレームの場合の例を示したが、ガウシアンデータが複数フレーム存在する場合でも本方式を適用できる。この場合、G-PCC方式におけるマルチフレーム符号化が用いられてもよいし、G-PCC方式におけるインター予測方式が用いられてもよい。
[others]
In the above description, for simplicity, an example in which Gaussian data is one frame is shown, but this method can also be applied when there are multiple frames of Gaussian data. In this case, multi-frame coding in the G-PCC method or inter-prediction in the G-PCC method may be used.

 また、符号化装置は、ガウシアンデータを、複数の領域に分割することで複数の分割データを生成し、複数の分割データの各々を符号化してもよい。また、符号化装置は、分割データをG-PCCにおけるタイル又はスライスに割り当てて符号化してもよい。 The encoding device may also generate multiple pieces of divided data by dividing the Gaussian data into multiple regions, and encode each of the multiple pieces of divided data. The encoding device may also assign the divided data to tiles or slices in the G-PCC and encode them.

 なお、上記説明では、第2のガウシアンデータの属性情報(スケール、回転、SH係数、透過率等)を符号化する例を示したが、本実施の形態の方式を用いることにより、その他の属性情報の符号化も可能となる。 Note that while the above explanation shows an example of encoding attribute information (scale, rotation, SH coefficient, transmittance, etc.) of the second Gaussian data, the method of this embodiment can also be used to encode other attribute information.

 図48は、第1のガウシアンデータを符号化及び復号するシステムを示すブロック図である。図48に示すシステムは、第2の前処理部371と、G-PCC符号化部372と、G-PCC復号部373と、第2の後処理部374とを備える。図49は、第2の前処理部371の構成例を示すブロック図である。第2の前処理部371は、変換部375と、マッピング部376とを備える。 FIG. 48 is a block diagram showing a system for encoding and decoding first Gaussian data. The system shown in FIG. 48 includes a second pre-processing unit 371, a G-PCC encoding unit 372, a G-PCC decoding unit 373, and a second post-processing unit 374. FIG. 49 is a block diagram showing an example configuration of the second pre-processing unit 371. The second pre-processing unit 371 includes a conversion unit 375 and a mapping unit 376.

 例えば、第1のガウシアンデータに含まれる、三次元座標に紐づく共分散行列を符号化する場合、第2の前処理部371に含まれる変換部375は、共分散行列をフォーマット変換する。マッピング部376は、フォーマット変換後の共分散行列をG-PCC属性情報にマッピングすることで変換後の第1のガウシアンデータを生成する。G-PCC符号化部372は、変換後の第1のガウシアンデータ、変換情報及びマッピング情報を符号化することで符号化データを生成する。 For example, when encoding a covariance matrix associated with three-dimensional coordinates contained in the first Gaussian data, the conversion unit 375 included in the second pre-processing unit 371 converts the format of the covariance matrix. The mapping unit 376 generates converted first Gaussian data by mapping the format-converted covariance matrix to G-PCC attribute information. The G-PCC encoding unit 372 generates encoded data by encoding the converted first Gaussian data, the conversion information, and the mapping information.

 G-PCC復号部373は、符号化データを復号することで、変換後の第1のガウシアンデータ、変換情報及びマッピング情報を生成する。第2の後処理部374は、マッピング情報及び変換情報を用いて、変換後の第1のガウシアンデータを逆変換することで第1のガウシアンデータを復元する。つまり、共分散行列が復元される。このように、当該システムは、第1のガウシアンデータを符号化及び復号できる。 The G-PCC decoding unit 373 decodes the encoded data to generate transformed first Gaussian data, transformation information, and mapping information. The second post-processing unit 374 uses the mapping information and transformation information to inversely transform the transformed first Gaussian data, thereby restoring the first Gaussian data. In other words, the covariance matrix is restored. In this way, the system can encode and decode first Gaussian data.

 また、変換部375は、共分散行列の変換では、3×3の共分散行列を、G-PCCで符号化可能なフォーマットに変換してもよい。例えば、変換部375は、3×3の共分散行列を、三次元の3つのコンポーネントに分割する。または、変換部375は、共分散行列が対称行列である場合には、同じ値を有する要素を除外した6次元の要素を、三次元の2つのコンポーネントに分割してもよい。図50は、この変換処理を示す図である。図50に示す例では、共分散行列の9個の要素のうち、他の要素と同じ値を有する要素(Syz、Szx、Szy)を除く6個の要素([Sxx、Sxy、Sxz、Syy、Syz、Szz])が抽出される。 Furthermore, when converting a covariance matrix, the conversion unit 375 may convert a 3x3 covariance matrix into a format that can be encoded using G-PCC. For example, the conversion unit 375 divides the 3x3 covariance matrix into three three-dimensional components. Alternatively, if the covariance matrix is a symmetric matrix, the conversion unit 375 may divide the six-dimensional elements, excluding elements with the same value, into two three-dimensional components. Figure 50 is a diagram illustrating this conversion process. In the example shown in Figure 50, of the nine elements of the covariance matrix, six elements ([Sxx, Sxy, Sxz, Syy, Syz, Szz]) are extracted, excluding elements (Syz, Szx, Szy) that have the same value as other elements.

 また、変換の内容を示す変換情報が生成される。変換情報はメタデータに格納される。なお、予め変換方法が一意に定められている場合、変換情報は符号化データ(ビットストリーム)に格納されなくてもよい。 In addition, conversion information indicating the details of the conversion is generated. The conversion information is stored in the metadata. Note that if the conversion method is uniquely defined in advance, the conversion information does not need to be stored in the coded data (bitstream).

 以上のように、本実施の形態で説明した処理及び方法を用いることにより、ガウシアンデータを、G-PCCを用いて符号化することが可能となる。 As described above, by using the processing and method described in this embodiment, it is possible to encode Gaussian data using G-PCC.

 具体的には、符号化装置は、ガウシアンデータに含まれる三次元座標をG-PCCにおける位置情報符号化を用いて符号化する。また、符号化装置は、三次元座標に紐づく属性情報(スケール、回転、SH係数、透過率等)をG-PCCにおける属性情報符号化を用いて符号化する。 Specifically, the encoding device encodes the three-dimensional coordinates contained in the Gaussian data using position information encoding in G-PCC. The encoding device also encodes attribute information associated with the three-dimensional coordinates (scale, rotation, SH coefficient, transparency, etc.) using attribute information encoding in G-PCC.

 また、符号化装置は、ガウシアンデータの属性情報の各要素を、G-PCCで符号化可能なデータ形式に変換する。また、符号化装置は、変換の内容を示す変換情報をメタデータに格納する。これにより、復号装置は、復号データからガウシアンデータを再構成できる。 The encoding device also converts each element of the Gaussian data's attribute information into a data format that can be encoded using G-PCC. The encoding device also stores conversion information indicating the details of the conversion in metadata. This allows the decoding device to reconstruct Gaussian data from the decoded data.

 また、符号化装置は、ガウシアンデータのコンポーネント又は次元を、G-PCCで符号化可能単位である属性コンポーネント又は次元に対応付ける。これにより、符号化装置は、ガウシアンデータをG-PCC符号化方式を用いて符号化できる。また、ガウシアンデータに対応するG-PCC属性タイプを定義することで、符号化装置は、ガウシアンデータをG-PCC符号化方式を用いて符号化できる。 The encoding device also associates the components or dimensions of the Gaussian data with attribute components or dimensions, which are units that can be coded using G-PCC. This allows the encoding device to code the Gaussian data using the G-PCC coding method. Furthermore, by defining a G-PCC attribute type that corresponds to the Gaussian data, the encoding device can code the Gaussian data using the G-PCC coding method.

 また、符号化装置は、ガウシアンデータのコンポーネント及び次元と、属性コンポーネント及び次元との対応関係を示すマッピング情報をメタデータに格納する。これにより、復号装置は、復号データからガウシアンデータを再構成できる。 In addition, the encoding device stores mapping information in the metadata that indicates the correspondence between the components and dimensions of the Gaussian data and the attribute components and dimensions. This allows the decoding device to reconstruct Gaussian data from the decoded data.

 (第2態様)
 [ガウシアンデータの符号化方式]
 以下、ガウシアンデータを符号化する汎用的なデータ構造、及び、ガウシアンデータをG-PCC又はその他の符号化方式で符号化することを可能とするデータ構造について説明する。
(Second Aspect)
[Gaussian data encoding method]
Below, we describe a general data structure for encoding Gaussian data, as well as a data structure that allows Gaussian data to be encoded using G-PCC or other encoding methods.

 下記のデータ構造を用いることで、ガウシアンデータを様々な3D符号化方式、又は3Dコーデック規格を用いて符号化することが可能な汎用的な方式を実現できる。これにより、様々な規格団体で作成された規格、国際規格、国ごとの規格、又は任意の団体が定めた規格など、様々な3Dコーデック方式を用いてガウシアンデータを符号化することが可能となる。 By using the data structure below, a general-purpose method can be realized that can encode Gaussian data using a variety of 3D encoding methods or 3D codec standards. This makes it possible to encode Gaussian data using a variety of 3D codec methods, including standards created by various standards organizations, international standards, national standards, and standards established by any organization.

 図51は、ガウシアンデータを符号化するための符号化規格のプロトコルスタックを示す図である。3Dガウシアンコーデック(3D Gaussian Codec)は、ガウシアンデータを符号化するための符号化規格である。3Dガウシアンコーデックの具体的な符号化方式として、1以上のビデオコーデックを用いて3Dデータを符号化するV3C規格(ISO/IEC23090-5)、点群の圧縮規格であるG-PCC規格(ISO-IEC23090-9)、及び、3Dメッシュデータに用いられるDracoなどが用いられる。V3C規格が用いられる場合は、HEVC又はVVC(Versatile Video Coding)などのビデオコーデック規格が用いられる。 Figure 51 shows the protocol stack of an encoding standard for encoding Gaussian data. 3D Gaussian Codec is an encoding standard for encoding Gaussian data. Specific encoding methods for 3D Gaussian Codec include the V3C standard (ISO/IEC 23090-5), which encodes 3D data using one or more video codecs; the G-PCC standard (ISO-IEC 23090-9), which is a point cloud compression standard; and Draco, which is used for 3D mesh data. When the V3C standard is used, video codec standards such as HEVC or VVC (Versatile Video Coding) are also used.

 図52は、本実施の形態に係る符号化装置400(三次元データ符号化装置)の構成例を示すブロック図である。符号化装置400は、第2のガウシアンデータを符号化することでビットストリーム(符号化データ)を生成する。この符号化装置400は、第2の前処理部401と、G-PCC符号化部402と、V3C符号化部403と、メタデータ符号化部404と、多重化部405とを備える。 FIG. 52 is a block diagram showing an example configuration of an encoding device 400 (three-dimensional data encoding device) according to this embodiment. The encoding device 400 generates a bit stream (encoded data) by encoding second Gaussian data. This encoding device 400 includes a second pre-processing unit 401, a G-PCC encoding unit 402, a V3C encoding unit 403, a metadata encoding unit 404, and a multiplexing unit 405.

 第2の前処理部401は、使用される3Dコーデックに応じて、第2のガウシアンデータを、使用される3Dコーデックで符号化可能なデータに変換及びマッピングする。 The second pre-processing unit 401 converts and maps the second Gaussian data into data that can be encoded by the 3D codec used, depending on the 3D codec used.

 例えば、第2の前処理部401は、第2のガウシアンデータを、G-PCC符号化方式で符号化可能なデータに変換及びマッピングする。G-PCC符号化部402は、変換後のデータをG-PCC符号化方式を用いて符号化することで、G-PCC TLVユニットを生成する。 For example, the second pre-processing unit 401 converts and maps the second Gaussian data into data that can be coded using the G-PCC coding method. The G-PCC coding unit 402 generates a G-PCC TLV unit by coding the converted data using the G-PCC coding method.

 また、第2の前処理部401は、第2のガウシアンデータを、V3C符号化方式で符号化可能なデータに変換及びマッピングする。V3C符号化部403は、変換後のデータをV3C符号化方式を用いて符号化することで、V3Cユニットを生成する。 Furthermore, the second pre-processing unit 401 converts and maps the second Gaussian data into data that can be coded using the V3C coding method. The V3C coding unit 403 generates V3C units by coding the converted data using the V3C coding method.

 メタデータ符号化部404は、第2の前処理部401の変換及びマッピングに関する変換情報及びマッピング情報を符号化することでメタデータを生成する。例えば、メタデータ符号化部404は、変換情報及びマッピング情報をメタデータに格納する。 The metadata encoding unit 404 generates metadata by encoding the conversion information and mapping information related to the conversion and mapping performed by the second pre-processing unit 401. For example, the metadata encoding unit 404 stores the conversion information and mapping information in the metadata.

 多重化部405は、G-PCC TLVユニット又はV3Cユニットと、メタデータとをユニット化及び多重化することでビットストリームを生成する。具体的には、多重化部405は、G-PCC TLVユニット又はV3Cユニットと、メタデータとを、3Dガウシアンコーデックレイヤ(3D Gaussian Codec Layer)のデータユニットである3Dデータユニット(3D Data Unit)に格納する。 The multiplexing unit 405 generates a bitstream by unitizing and multiplexing the G-PCC TLV unit or V3C unit and the metadata. Specifically, the multiplexing unit 405 stores the G-PCC TLV unit or V3C unit and the metadata in a 3D Data Unit, which is a data unit of the 3D Gaussian Codec Layer.

 図53は、本実施の形態に係る復号装置410(三次元データ復号装置)の構成例を示すブロック図である。復号装置410は、ビットストリームを復号することで第2のガウシアンデータを生成する。このビットストリームは、例えば、図52に示す符号化装置400により生成される。復号装置410は、逆多重化部411と、G-PCC復号部412と、V3C復号部413と、メタデータ復号部414と、第2の後処理部415とを備える。 FIG. 53 is a block diagram showing an example configuration of a decoding device 410 (three-dimensional data decoding device) according to this embodiment. The decoding device 410 generates second Gaussian data by decoding a bitstream. This bitstream is generated, for example, by the encoding device 400 shown in FIG. 52. The decoding device 410 includes a demultiplexing unit 411, a G-PCC decoding unit 412, a V3C decoding unit 413, a metadata decoding unit 414, and a second post-processing unit 415.

 逆多重化部411は、ビットストリームに含まれる3Dデータユニットを逆ユニット化及び逆多重化することで、G-PCC TLVユニット又はV3Cユニットと、メタデータとを生成する。 The demultiplexing unit 411 demultiplexes and demultiplexes the 3D data units contained in the bitstream to generate G-PCC TLV units or V3C units and metadata.

 G-PCC復号部412は、G-PCC TLVユニットをG-PCC復号方式を用いて復号することで復号データを生成する。V3C復号部413は、V3Cユニットを、V3C復号方式を用いて復号することで復号データを生成する。 The G-PCC decoder 412 generates decoded data by decoding the G-PCC TLV unit using the G-PCC decoding method. The V3C decoder 413 generates decoded data by decoding the V3C unit using the V3C decoding method.

 メタデータ復号部414は、メタデータを復号することで変換情報及びマッピング情報を生成する。例えば、メタデータ復号部414は、メタデータから変換情報及びマッピング情報を取得する。 The metadata decoding unit 414 generates conversion information and mapping information by decoding the metadata. For example, the metadata decoding unit 414 obtains the conversion information and mapping information from the metadata.

 第2の後処理部415は、復号に使用される3Dコーデックに応じて、復号データを第2のガウシアンデータに逆変換する。 The second post-processing unit 415 inversely transforms the decoded data into second Gaussian data depending on the 3D codec used for decoding.

 図54は、符号化装置400による符号化処理のフローチャートである。まず、符号化装置400は、符号化に使用するコーデックタイプを判定する(S201)。例えば、符号化に使用するコーデックタイプは、ユーザにより指定されてもよいし、ガウシアンデータの内容に基づき決定されてもよい。 FIG. 54 is a flowchart of the encoding process performed by the encoding device 400. First, the encoding device 400 determines the codec type to be used for encoding (S201). For example, the codec type to be used for encoding may be specified by the user, or may be determined based on the contents of the Gaussian data.

 符号化に使用するコーデックタイプがG-PCC符号化方式である場合(S201でG-PCC)、符号化装置400は、G-PCC符号化方式を用いてガウシアンデータを符号化し、G-PCC TLVユニットを出力する(S202)。 If the codec type used for encoding is the G-PCC encoding method (G-PCC in S201), the encoding device 400 encodes the Gaussian data using the G-PCC encoding method and outputs a G-PCC TLV unit (S202).

 一方、符号化に使用するコーデックタイプがV3C符号化方式である場合(S201でV3C)、符号化装置400は、V3C符号化方式を用いてガウシアンデータを符号化し、V3Cユニットを出力する(S203)。 On the other hand, if the codec type used for encoding is the V3C encoding method (V3C in S201), the encoding device 400 encodes the Gaussian data using the V3C encoding method and outputs a V3C unit (S203).

 次に符号化装置400は、符号化に使用したコーデックタイプを示す情報を共通のメタデータに格納する(S204)。ここで、共通のメタデータとは、複数の符号化方式(G-PCC符号化方式及びV3C符号化方式)で共通に使用可能なメタデータである。 Next, the encoding device 400 stores information indicating the codec type used for encoding in common metadata (S204). Here, common metadata refers to metadata that can be used in common across multiple encoding methods (G-PCC encoding method and V3C encoding method).

 次に、符号化装置400は、変換情報及びマッピング情報をメタデータに格納する(S205)。次に、符号化装置400は、メタデータ及び符号化ユニット(G-PCC TLVユニット又はV3Cユニット)を、G-PCC符号化方式及びV3C符号化方式で共通に使用可能な3Dデータユニットに多重化する(S206)。 Next, the encoding device 400 stores the conversion information and mapping information in the metadata (S205). Next, the encoding device 400 multiplexes the metadata and encoding unit (G-PCC TLV unit or V3C unit) into a 3D data unit that can be used in both the G-PCC encoding method and the V3C encoding method (S206).

 図55は、復号装置410による復号処理のフローチャートである。まず、復号装置410は、共通の3Dデータユニットを取得し、3Dデータユニットからデータユニット及びメタデータを取得する(S211)。次に、復号装置410は、メタデータを解析し、メタデータに含まれるコーデックタイプを示す情報に基づき、符号化に使用されたコーデックタイプ(復号に使用するコーデックタイプ)を判定する(S212)。 Figure 55 is a flowchart of the decoding process performed by the decoding device 410. First, the decoding device 410 obtains a common 3D data unit, and then obtains data units and metadata from the 3D data unit (S211). Next, the decoding device 410 analyzes the metadata and determines the codec type used for encoding (the codec type to be used for decoding) based on information indicating the codec type included in the metadata (S212).

 符号化に使用されたコーデックタイプがG-PCC符号化方式である場合(S213でG-PCC)、復号装置410は、TLVユニットを取得し、TLVユニットをG-PCC復号方式を用いて復号することで、コンポーネントを生成する(S214)。一方、符号化に使用されたコーデックタイプがV3Cである場合(S213でV3C)、復号装置410は、V3Cユニットを取得し、V3Cユニットを、V3C復号方式を用いて復号することで、コンポーネントを生成する(S215)。 If the codec type used for encoding is the G-PCC encoding method (G-PCC in S213), the decoding device 410 acquires the TLV unit and decodes it using the G-PCC decoding method to generate a component (S214). On the other hand, if the codec type used for encoding is V3C (V3C in S213), the decoding device 410 acquires the V3C unit and decodes it using the V3C decoding method to generate a component (S215).

 次に、復号装置410は、復号されたコンポーネントとマッピング情報とを用いて、ガウシアンデータを再構成する(S216)。次に、復号装置410は、変換情報を取得し、変換情報を用いてガウシアンデータを逆変換することで第2のガウシアンデータを生成する(S217)。 Next, the decoding device 410 reconstructs Gaussian data using the decoded components and the mapping information (S216). Next, the decoding device 410 obtains the transformation information and generates second Gaussian data by inversely transforming the Gaussian data using the transformation information (S217).

 図56は、ガウシアンコーデックの基本データ構造を示す図である。3Dガウシアンコーデックレイヤ(3D gaussian codec layer)における3Dデータユニットは、ガウシアンコーデックで共通のユニットである。 Figure 56 shows the basic data structure of a Gaussian codec. The 3D data unit in the 3D Gaussian codec layer is a common unit in Gaussian codecs.

 図57は、3Dデータユニット(3DDataUnit)の構成例を示す図である。3Dデータユニットのペイロード(3DDU_data)には、ガウシアンコーデックを構成する様々なデータユニットが格納される。3Dデータユニットのヘッダ(3DDU_header)は、ペイロードに格納されるデータのタイプを示す3Dデータユニットタイプ(3DDataUnitType)を含む。3Dデータユニットタイプ(3DDataUnitType)は、例えば、(1)V3Cユニット、(2)G-PCC TLVユニット、(3)Dracoユニット、(4)複数のコーデックで共通のパラメータセットである3Dパラメータセット(3DParameter set:3DPS)、(5)シーケンスで共通のメタデータを含むパラメータセットであるガウシアンシーケンスパラメータセット(Gaussian Sequence Parameter set:GSSPS)、(6)フレーム(ある時間又は時間間隔における3Dモデル)に共通のメタデータを含むパラメータセットであるガウシアンフレームパラメータセット(Gaussian Frame Parameter set:GSFPS)、及び(7)SEI(Gaussian GSSEI)などを含む。 Figure 57 is a diagram showing an example of the structure of a 3D data unit (3DDataUnit). The payload (3DDU_data) of the 3D data unit stores various data units that make up the Gaussian codec. The header (3DDU_header) of the 3D data unit contains a 3D data unit type (3DDataUnitType) that indicates the type of data stored in the payload. Examples of 3D data unit types (3DDataUnitType) include (1) V3C unit, (2) G-PCC TLV unit, (3) Draco unit, (4) 3D parameter set (3DPS), which is a parameter set common to multiple codecs, (5) Gaussian sequence parameter set (GSSPS), which is a parameter set including metadata common to a sequence, (6) Gaussian frame parameter set (GSFPS), which is a parameter set including metadata common to a frame (a 3D model at a certain time or time interval), and (7) SEI (Gaussian GSSEI).

 さらに、3Dデータユニットタイプ(3DDataUnitType)がV3Cユニットである場合は、V3Cユニットのペイロードは、ACL_NALユニット、又は、VCL_NALユニットを含む。VCL Nalユニットは、ビデオコーデックレイヤ(Video Codec Layer)に属し、HEVC又はVVC等の二次元の動画像圧縮規格で規定される。ACL_NALユニットは、アトラスコーデックレイヤ(Atlas Codec Layer)に属する。ACL_NALユニットには、二次元画像を三次元データに戻すためのデータが格納される。 Furthermore, if the 3D data unit type (3DDataUnitType) is a V3C unit, the payload of the V3C unit includes an ACL_NAL unit or a VCL_NAL unit. The VCL_NAL unit belongs to the video codec layer and is defined in two-dimensional video compression standards such as HEVC or VVC. The ACL_NAL unit belongs to the atlas codec layer. The ACL_NAL unit stores data for converting two-dimensional images back into three-dimensional data.

 なお、3Dデータユニットには、Dracoなどの規格に基づくDracoユニットが格納されてもよい。 In addition, the 3D data unit may also store a Draco unit based on standards such as Draco.

 図58は、ガウシアン符号化における共通のパラメータセットである3DPS(3DParameterset)の構成例を示す図である。3DPSは、ガウシアンデータの符号化方式に用いられる符号化規格、符号化方式、及びツールセットの組み合わせを示すプロファイル及びレベルを示す情報(profile_level)と、ガウシアンコンポーネント情報(3D_codec_type)とを含む。当該情報は、プロファイルを示す情報(profile)と、レベルを示す情報(level)と、符号化規格及び符号化方式を示す情報(3D_codec_type)とを含む。 Figure 58 is a diagram showing an example of the configuration of a 3DPS (3DParameterset), which is a common parameter set used in Gaussian encoding. 3DPS includes information (profile_level) indicating the profile and level that indicate the combination of the encoding standard, encoding method, and toolset used to encode Gaussian data, as well as Gaussian component information (3D_codec_type). This information includes information indicating the profile (profile), information indicating the level (level), and information indicating the encoding standard and encoding method (3D_codec_type).

 3D_codec_typeは、ガウシアンデータの符号化方式に用いる符号化規格を示す。例えば、3D_codec_type=0はV3C符号化方式が符号化に用いられたことを示し、3D_codec_type=1はG-PCC符号化方式が符号化に用いられたことを示す。 3D_codec_type indicates the encoding standard used to encode Gaussian data. For example, 3D_codec_type = 0 indicates that the V3C encoding method was used for encoding, and 3D_codec_type = 1 indicates that the G-PCC encoding method was used for encoding.

 復号装置は、3D_codec_typeを解析することにより、復号方法を決定することが可能である。復号装置は、3D_codec_typeに基づき復号方法を切り替えてもよいし、3D_codec_typeで示される符号化方式の復号機能をサポートしない場合は復号しないと決定してもよい。なお、プロファイル及びレベルに符号化規格を示す情報が含まれてもよい。 The decoding device can determine the decoding method by analyzing 3D_codec_type. The decoding device may switch the decoding method based on 3D_codec_type, or may decide not to decode if it does not support the decoding function for the encoding method indicated by 3D_codec_type. Note that the profile and level may also include information indicating the encoding standard.

 また、符号化方式に応じて、3Dデータユニットタイプ(3DDataUnitType)に制約が与えられてもよい。例えば、符号化方式がG-PCCである場合には、V3Cユニットの使用が禁止されてもよいし、符号化方式がV3Cである場合には、G-PCC TLVユニットの使用が禁止されてもよい。 Furthermore, restrictions may be placed on the 3D data unit type (3DDataUnitType) depending on the encoding method. For example, if the encoding method is G-PCC, the use of V3C units may be prohibited, and if the encoding method is V3C, the use of G-PCC TLV units may be prohibited.

 ガウシアンデータコンポーネント情報は、ガウシアンコンポーネントの構成を示す情報を含む。図59は、ガウシアンデータコンポーネント情報の構成例を示す図である。ガウシアンデータコンポーネント情報は、ガウシアンコンポーネントの数を示すガウシアンデータコンポーネント数を含む。 Gaussian data component information includes information indicating the configuration of Gaussian components. Figure 59 is a diagram showing an example configuration of Gaussian data component information. Gaussian data component information includes the number of Gaussian data components, which indicates the number of Gaussian components.

 ガウシアンデータコンポーネント情報は、ガウシアンコンポーネント毎の情報として、ガウシアンコンポーネントIDと、ガウシアンデータタイプと、ガウシアンデータ次元数とを含む。ガウシアンコンポーネントIDは、ガウシアンコンポーネントを一意に識別するための識別情報である。ガウシアンデータタイプは、ガウシアンコンポーネントのタイプ(回転、スケール、SH係数及び透過率等)を示す。ガウシアンデータ次元数は、ガウシアンコンポーネントの次元数(サブコンポーネント数)を示す。 Gaussian data component information includes, for each Gaussian component, a Gaussian component ID, a Gaussian data type, and the number of Gaussian data dimensions. The Gaussian component ID is identification information for uniquely identifying a Gaussian component. The Gaussian data type indicates the type of Gaussian component (rotation, scale, SH coefficient, transmittance, etc.). The number of Gaussian data dimensions indicates the number of dimensions (number of subcomponents) of the Gaussian component.

 また、ガウシアンデータコンポーネント情報は、コーデックに依存したマッピング情報を含む。例えば、コーデックタイプ(3D_codec_type)がG-PCCである場合には、ガウシアンデータコンポーネント情報は、ガウシアンデータのコンポーネントとG-PCCコーデックのコンポーネントとの対応関係を示すG-PCCマッピング情報(gpcc_mapping_info)を含む。 The Gaussian data component information also includes mapping information that depends on the codec. For example, if the codec type (3D_codec_type) is G-PCC, the Gaussian data component information includes G-PCC mapping information (gpcc_mapping_info) that indicates the correspondence between the Gaussian data components and the G-PCC codec components.

 図60は、G-PCCマッピング情報の構成例を示す図である。G-PCCマッピング情報は、ガウシアンコンポーネントの次元ごとの情報として、G-PCCコンポーネントIDと、G-PCC次元IDと、変換情報とを含む。 Figure 60 shows an example of the configuration of G-PCC mapping information. The G-PCC mapping information includes a G-PCC component ID, a G-PCC dimension ID, and conversion information as information for each dimension of the Gaussian component.

 G-PCCサブコンポーネントIDは、G-PCCコンポーネント番号を示す識別子である。G-PCC次元IDは、G-PCCコンポーネントのサブコンポーネント番号を示す識別子である。変換情報は、当該次元のデータを変換する際に用いられたパラメータ(変換パラメータ)を示す。 The G-PCC subcomponent ID is an identifier that indicates the G-PCC component number. The G-PCC dimension ID is an identifier that indicates the subcomponent number of the G-PCC component. The conversion information indicates the parameters (conversion parameters) used when converting the data of the dimension in question.

 また、ガウシアンデータコンポーネント情報は、コーデックタイプ(3D_codec_type)がV3Cである場合には、ガウシアンデータのコンポーネントとV3Cコーデックのコンポーネントとの対応関係を示すV3Cマッピング情報を含む。 Furthermore, if the codec type (3D_codec_type) is V3C, the Gaussian data component information includes V3C mapping information that indicates the correspondence between the Gaussian data components and the V3C codec components.

 図61は、V3Cマッピング情報の構成例を示す図である。V3Cマッピング情報は、ガウシアンコンポーネントの次元ごとの情報として、V3CコンポーネントIDと、V3C次元IDと、変換情報とを含む。 Figure 61 shows an example of the configuration of V3C mapping information. The V3C mapping information includes a V3C component ID, a V3C dimension ID, and conversion information as information for each dimension of the Gaussian component.

 V3CサブコンポーネントIDは、V3Cコンポーネント番号を示す識別子である。V3C次元IDは、V3Cコンポーネントのサブコンポーネント番号を示す識別子である。変換情報は、当該次元のデータを変換する際に用いられたパラメータ(変換パラメータ)を示す。 The V3C subcomponent ID is an identifier that indicates the V3C component number. The V3C dimension ID is an identifier that indicates the subcomponent number of the V3C component. The conversion information indicates the parameters (conversion parameters) used when converting the data of the dimension.

 なお、ガウシアンデータコンポーネント情報は、属性コンポーネントの情報に加え、ジオメトリコンポーネントの情報を含んでもよい。 In addition, Gaussian data component information may include geometry component information in addition to attribute component information.

 また、ここでは、ガウシアンコンポーネントに対応するG-PCCコンポーネントを示すマッピング情報の例を示したが、G-PCCコンポーネントに対応するガウシアンコンポーネントが示されるマッピング情報が用いられてもよい。また、ここでは、ガウシアンデータのサブコンポーネントとG-PCCのサブコンポーネントとの対応関係を示すマッピング情報の例を示したが、ガウシアンコンポーネントとG-PCCコンポーネントとの対応関係を示すマッピング情報が用いられてもよい。つまり、サブコンポーネント間の対応関係は示されなくてもよい。 Furthermore, while an example of mapping information indicating G-PCC components corresponding to Gaussian components has been shown here, mapping information indicating Gaussian components corresponding to G-PCC components may also be used. Further, while an example of mapping information indicating the correspondence between subcomponents of Gaussian data and subcomponents of G-PCC has been shown here, mapping information indicating the correspondence between Gaussian components and G-PCC components may also be used. In other words, the correspondence between subcomponents does not have to be shown.

 また、ここに示したシンタックスの一部は省略されてもよい。例えば、回転、スケール及びSH係数の情報の記載順、及び次元数が予め定められている場合、ガウシアンデータコンポーネントID、ガウシアンデータタイプ、及びガウシアンデータ次元数などは省略されてもよい。 Furthermore, some of the syntax shown here may be omitted. For example, if the order in which rotation, scale, and SH coefficient information is written and the number of dimensions are predetermined, the Gaussian data component ID, Gaussian data type, and number of Gaussian data dimensions may be omitted.

 以下、データユニットの別の例について説明する。ガウシアンデータをV3Cユニット及びG-PCC TLVユニットのいずれかに格納する方法ではなく、ガウシアンデータ特有のデーユニット(ガウシアンデータユニット)が定義されてもよい。 Below, another example of a data unit is described. Instead of storing Gaussian data in either a V3C unit or a G-PCC TLV unit, a data unit specific to Gaussian data (Gaussian data unit) may be defined.

 図62は、ガウシアンデータユニットの構成例を示す図である。例えば、ガウシアンデータユニットのヘッダは、上述した3Dデータユニットタイプ(3DDataUnitType)に相当するガウシアンデータユニットタイプ(Gausisian DataUnitType)を含む。ガウシアンデータユニットタイプは、ガウシアンデータユニットのペイロードに格納されるデータのタイプを示す。例えば、ガウシアンデータユニットタイプは、ジオメトリデータユニット(geometry data unit)と、属性データユニット(attribute dataunit)とを含む。ジオメトリデータユニット及び属性データユニットのペイロードには、それぞれ、符号化されたジオメトリデータ及び属性データが格納される。 Figure 62 is a diagram showing an example of the configuration of a Gaussian data unit. For example, the header of a Gaussian data unit includes a Gaussian DataUnit Type, which corresponds to the 3D data unit type (3DDataUnitType) described above. The Gaussian data unit type indicates the type of data stored in the payload of the Gaussian data unit. For example, the Gaussian data unit type includes a geometry data unit and an attribute data unit. The payloads of the geometry data unit and attribute data unit store encoded geometry data and attribute data, respectively.

 属性データユニットのヘッダは、属性データユニットタイプを含む。属性データユニットタイプは、属性データユニットのペイロードに格納されるデータのタイプを示す。属性データユニットタイプは、属性情報の要素を示し、例えば、回転データユニット(Rotation Data Unit)、スケールデータユニット(Scale Data Unit)、色係数データユニット(Color Coeff Data Unit)、アルファデータユニット(Alpha Data Unit)等を含む。回転データユニット、スケールデータユニット、色係数データユニット及びアルファデータユニットのペイロードには、それぞれ、符号化された回転、スケール、SH係数及び透過率が格納される。 The header of an attribute data unit contains an attribute data unit type. The attribute data unit type indicates the type of data stored in the payload of the attribute data unit. The attribute data unit type indicates an element of attribute information, and includes, for example, a rotation data unit (Rotation Data Unit), a scale data unit (Scale Data Unit), a color coefficient data unit (Color Coeff Data Unit), an alpha data unit (Alpha Data Unit), etc. The payloads of the rotation data unit, scale data unit, color coefficient data unit, and alpha data unit store encoded rotation, scale, SH coefficient, and transparency, respectively.

 なお、上記説明では、3Dガウシアンデータを符号化する例を説明したが、同様の手法を3Dガウシアンデータ以外に適用してもよい。例えば、3Dモデル、又はAIを用いた3Dデータに対して同様の手法を用いてもよい。 Note that while the above explanation has been given using an example of encoding 3D Gaussian data, a similar technique may be applied to data other than 3D Gaussian data. For example, a similar technique may be used for 3D models or 3D data using AI.

 また、上記説明では、主に符号化方式がV3C及びG-PCCである例を説明したが、符号化方式として、V3C及びG-PCC以外が用いられてもよい。また、符号化方式は、3Dコーデック以外であってもよい。例えば、符号化方式として、画像コーデック、ニューラルネットワークコーデック、又は音声コーデック等が用いられてもよい。 Furthermore, while the above explanation mainly focuses on examples in which the encoding methods are V3C and G-PCC, encoding methods other than V3C and G-PCC may also be used. Furthermore, the encoding method may be other than a 3D codec. For example, an image codec, a neural network codec, an audio codec, or the like may also be used as the encoding method.

 図63は、3Dガウシアンを符号化する規格のプロトコルスタックを示す図である。3Dガウシアンを符号化する方式として、ビデオベースコーデック(Video Base Codec)とジオメトリベースコーデック(Geometry Base Codec)の少なくとも一方で符号化するためのプロトコルスタック又はデータ構造が用いられてもよい。 Figure 63 shows a protocol stack for a standard for encoding 3D Gaussian data. A protocol stack or data structure for encoding 3D Gaussian data using at least one of a video base codec and a geometry base codec may be used as a method for encoding 3D Gaussian data.

 ビデオベースコーデックは、ビデオコーデックを用いる画像符号化であり、例えば、MPEGで規格化されるAVC、HEVC或いはVVCなどの規格、又は、VPCC(Video based Point Cloud Compression)、VCM(Video Coding for Machines)或いはVDMC(Video based Dynamic Mesh Compression)などの規格である。 Video-based codecs are image encoding methods that use video codecs, such as standards such as AVC, HEVC, or VVC standardized by MPEG, or standards such as VPCC (Video-based Point Cloud Compression), VCM (Video Coding for Machines), or VDMC (Video-based Dynamic Mesh Compression).

 ジオメトリベースコーデックは、G-PCC又はDraco等の点群圧縮規格又はメッシュデータ圧縮規格などである。なお、3Dガウシアンを符号化する方式は、NNC(Neural Network Coding)などのニューラルネットワークベースコーデックを含むように拡張されてもよい。 Geometry-based codecs include point cloud compression standards such as G-PCC or Draco, or mesh data compression standards. Note that the method for encoding 3D Gaussians may be expanded to include neural network-based codecs such as NNC (Neural Network Coding).

 なお、3Dガウシアンの代わりに、3Dモデルを符号化する規格が規定されてもよい。図64は、3Dモデルを符号化する規格のプロトコルスタックを示す図である。3DモデルをV3CとG-PCCとの少なくとも一方で符号化するためのプロトコルスタック及びデータ構造が用いられてもよい。 Instead of 3D Gaussian, a standard for encoding a 3D model may be defined. Figure 64 is a diagram showing a protocol stack for a standard for encoding a 3D model. A protocol stack and data structure for encoding a 3D model using at least one of V3C and G-PCC may be used.

 3Dモデルは、(1)点群、(2)メッシュ、(3)NeRF(Neural Radiance Fields)で作成された3Dモデル、及び(4)Gaussian Splattingで生成された3Dモデル、等を含んでもよい。 The 3D model may include (1) a point cloud, (2) a mesh, (3) a 3D model created using NeRF (Neural Radiance Fields), and (4) a 3D model generated using Gaussian Splating, etc.

 また、符号化装置は、3Dモデルデータのコンポーネントの一部を、ビデオ符号化を用いて符号化し、他の一部をジオメトリベース符号化を用いて符号化してもよい。例えば、符号化装置は、ガウシアンデータに含まれる情報のうち、形状情報を表す情報である、三次元座標、回転、及びスケールをG-PCCを用いて符号化し、SH係数をビデオベースの符号化方式を用いて符号化してもよい。ここで、疎なジオメトリ構造形状はジオメトリベースの符号化が適しており、多次元のSH係数はビデオベースの符号化が適している場合がある。よって、このような場合に、符号化効率を向上できる。 Furthermore, the encoding device may encode some of the components of the 3D model data using video encoding, and other components using geometry-based encoding. For example, the encoding device may encode the information contained in the Gaussian data that represents shape information, such as three-dimensional coordinates, rotation, and scale, using G-PCC, and encode the SH coefficients using a video-based encoding method. Here, geometry-based encoding may be suitable for sparse geometric structure shapes, while video-based encoding may be suitable for multidimensional SH coefficients. Therefore, in such cases, encoding efficiency can be improved.

 図65は、この場合のガウシアンコンポーネント情報の構成例を示す図である。図65に示すガウシアンコンポーネント情報は、図59に示すガウシアンコンポーネント情報に加え、ガウシアンコンポーネントごとの3Dコーデックタイプ(3D_codec_type)を含む。これにより、コンポーネントごとに3Dコーデックタイプを設定することができるので、上記機能を実現できる。なお、図64に示すように3Dモデルを符号化する規格が用いられる場合には、例えば、ガウシアンコンポーネント情報の代わりに、3Dモデルのコンポーネントの情報を示す3Dモデルコンポーネント情報に同様の情報が格納される。 Figure 65 is a diagram showing an example of the configuration of Gaussian component information in this case. In addition to the Gaussian component information shown in Figure 59, the Gaussian component information shown in Figure 65 includes a 3D codec type (3D_codec_type) for each Gaussian component. This makes it possible to set a 3D codec type for each component, thereby realizing the above function. Note that when a standard for encoding 3D models is used as shown in Figure 64, for example, similar information is stored in 3D model component information indicating information about the components of a 3D model, instead of Gaussian component information.

 (第3態様)
 以下、V3C規格を拡張し、ガウシアンデータなど汎用的な3Dコーデックを適用可能とするための方式及びデータ構造について説明する。また、V3C規格を拡張し、G-PCCなどの他の3Dコーデックを適用可能とするための方式及びデータ構造について説明する。
(Third Aspect)
Below, we will explain a method and data structure for extending the V3C standard to enable the application of general-purpose 3D codecs such as Gaussian data, as well as a method and data structure for extending the V3C standard to enable the application of other 3D codecs such as G-PCC.

 下記のデータ構造を用いることで、ガウシアンデータを様々なV3C規格ベースの規格で符号化及び復号することが可能となる。また、様々な3D符号化方式又は3Dコーデック規格を用いてガウシアンデータを符号化することが可能な汎用的な方式を実現できる。これにより、様々な規格団体で作成された規格、国際規格、国ごとの規格、又は任意の団体が定めた規格など、様々な3Dコーデック方式を用いてガウシアンデータを符号化することが可能となる。 By using the data structure below, it is possible to encode and decode Gaussian data using various V3C-based standards. It also makes it possible to realize a general-purpose method that can encode Gaussian data using various 3D encoding methods or 3D codec standards. This makes it possible to encode Gaussian data using various 3D codec methods, such as standards created by various standards organizations, international standards, national standards, or standards established by any organization.

 図66は、ガウシアンデータを符号化するための符号化規格のプロトコルスタックを示す図である。V3C符号化方式(V3Cコーデック)は、HEVC又はVVCなどの1以上のビデオコーデック規格を用いて3Dデータを符号化可能な構造である。 Figure 66 shows the protocol stack of an encoding standard for encoding Gaussian data. The V3C encoding method (V3C codec) is a structure that can encode 3D data using one or more video codec standards, such as HEVC or VVC.

 ここで、V3C符号化方式を拡張し、ガウシアンコーデックレイヤ(Gaussian Codec layer)を定義する。具体的には、アトラス(Atlas)データを拡張し、当該アトラスデータに、ガウシアンデータの再構成、及び符号化又は復号に必要なメタデータを格納する。ここで、アトラスデータは、V3C符号化方式において、二次元画像を三次元データに戻すためのデータを含む。これに加え、G-PCC及びDracoなどのジオメトリベースの3D符号化規格(以下、GPCとも記す)を適用可能となるようにV3C符号化方式を拡張する。アトラスデータは、V3C符号化方式において、復号された二次元画像、或いは3D符号化規格で復号された符号化三次元データをガウシアンデータに戻すためのデータを含む。 Here, the V3C encoding method is extended to define a Gaussian codec layer. Specifically, atlas data is extended, and the metadata required for reconstructing Gaussian data and encoding or decoding is stored in the atlas data. Here, the atlas data includes data for converting two-dimensional images into three-dimensional data in the V3C encoding method. In addition, the V3C encoding method is extended to enable the application of geometry-based 3D encoding standards (hereinafter also referred to as GPC) such as G-PCC and Draco. In the V3C encoding method, the atlas data includes data for converting decoded two-dimensional images or encoded three-dimensional data decoded using a 3D encoding standard into Gaussian data.

 図67は、本実施の形態に係る符号化装置500(三次元データ符号化装置)の構成例を示すブロック図である。符号化装置500は、第2のガウシアンデータを符号化することでビットストリーム(符号化データ)を生成する。この符号化装置500は、第2の前処理部501と、ジオメトリベース符号化部502と、ビデオベース符号化部503と、メタデータ符号化部504と、多重化部505とを備える。 FIG. 67 is a block diagram showing an example configuration of an encoding device 500 (three-dimensional data encoding device) according to this embodiment. The encoding device 500 generates a bit stream (encoded data) by encoding second Gaussian data. This encoding device 500 includes a second pre-processing unit 501, a geometry-based encoding unit 502, a video-based encoding unit 503, a metadata encoding unit 504, and a multiplexing unit 505.

 第2の前処理部501は、使用される3Dコーデックに応じて、第2のガウシアンデータを、使用される3Dコーデックで符号化可能なデータに変換及びマッピングする。 The second pre-processing unit 501 converts and maps the second Gaussian data into data that can be encoded by the 3D codec used, depending on the 3D codec used.

 例えば、第2の前処理部501は、第2のガウシアンデータを、ジオメトリベース符号化方式(G-PCC又はDraco等)で符号化可能なデータに変換及びマッピングする。ジオメトリベース符号化部502は、変換後のデータを、ジオメトリベース符号化方式を用いて符号化することで、GCL NALユニットを生成する。なお、G-PCCが用いられる場合は、ジオメトリベース符号化部502は、TLVユニットを出力してもよい。 For example, the second pre-processing unit 501 converts and maps the second Gaussian data into data that can be coded using a geometry-based coding method (such as G-PCC or Draco). The geometry-based coding unit 502 generates a GCL NAL unit by coding the converted data using the geometry-based coding method. Note that when G-PCC is used, the geometry-based coding unit 502 may output a TLV unit.

 また、第2の前処理部501は、第2のガウシアンデータを、ビデオベース符号化方式(AVC、HEVC又はVVCなど)で符号化可能なデータに変換及びマッピングする。ビデオベース符号化部503は、変換後のデータを、ビデオベース符号化方式を用いて符号化することで、VCL NALユニットを生成する。 The second pre-processing unit 501 also converts and maps the second Gaussian data into data that can be coded using a video-based coding method (such as AVC, HEVC, or VVC). The video-based coding unit 503 generates VCL NAL units by coding the converted data using the video-based coding method.

 メタデータ符号化部504は、変換データ及びマッピング情報をメタデータに格納する。ここでメタデータは、V3C規格を拡張したメタデータである。例えば、このメタデータとして、V3C規格におけるV3Cパラメータセット(V3C parametet set)の拡張領域が用いられてもよい。また、このメタデータして、アトラスシーケンスパラメータセット(Atlas sequence parameter set:ASPS)、又は、アトラスフレームパラメータセット(Atlas frame parameter set:AFPS)が拡張されて用いられてもよい。メタデータ符号化部504は、メタデータを符号化することで、V3Cパラメータセット又はアトラスデータユニット(ACL NALユニット)を生成する。 The metadata encoding unit 504 stores the conversion data and mapping information in metadata. Here, the metadata is metadata that extends the V3C standard. For example, an extension area of the V3C parameter set in the V3C standard may be used as this metadata. Alternatively, an extension of the Atlas sequence parameter set (ASPS) or Atlas frame parameter set (AFPS) may be used as this metadata. The metadata encoding unit 504 encodes the metadata to generate a V3C parameter set or an Atlas data unit (ACL NAL unit).

 多重化部505は、GCL NALユニット又はVCL NALユニットと、V3Cパラメータセット又はACL NALユニットとをユニット化及び多重化することでビットストリームを生成する。具体的には、多重化部505は、GCL NALユニット又はVCL NALユニットと、V3Cパラメータセット又はACL NALユニットとを、3V3Cユニットに格納することでビットストリームを生成する。 The multiplexing unit 505 generates a bitstream by unitizing and multiplexing the GCL NAL unit or VCL NAL unit and the V3C parameter set or ACL NAL unit. Specifically, the multiplexing unit 505 generates a bitstream by storing the GCL NAL unit or VCL NAL unit and the V3C parameter set or ACL NAL unit in a 3V3C unit.

 図68は、本実施の形態に係る復号装置510(三次元データ復号装置)の構成例を示すブロック図である。復号装置510は、ビットストリームを復号することで第2のガウシアンデータを生成する。このビットストリームは、例えば、図67に示す符号化装置500により生成される。復号装置510は、逆多重化部511と、ジオメトリベース復号部512と、ビデオベース復号部513と、メタデータ復号部514と、第2の後処理部515とを備える。 FIG. 68 is a block diagram showing an example configuration of a decoding device 510 (three-dimensional data decoding device) according to this embodiment. The decoding device 510 generates second Gaussian data by decoding a bitstream. This bitstream is generated, for example, by the encoding device 500 shown in FIG. 67. The decoding device 510 includes a demultiplexing unit 511, a geometry-based decoding unit 512, a video-based decoding unit 513, a metadata decoding unit 514, and a second post-processing unit 515.

 逆多重化部511は、ビットストリームに含まれるV3Cユニットを逆ユニット化及び逆多重化することで、GCL NALユニット又はVCL NALユニットと、V3Cパラメータセット又はACL NALユニットとを生成する。 The demultiplexing unit 511 demultiplexes and demultiplexes the V3C units contained in the bitstream to generate GCL NAL units or VCL NAL units, and V3C parameter sets or ACL NAL units.

 ジオメトリベース復号部512は、GCL NALユニットを、ジオメトリベース復号方式(G-PCC又はDraco等)を用いて復号することで復号データを生成する。ビデオベース復号部513は、VCL NALユニットを、ビデオベース復号方式(AVC、HEVC又はVVCなど)を用いて復号することで復号データを生成する。 The geometry-based decoding unit 512 generates decoded data by decoding the GCL NAL units using a geometry-based decoding method (such as G-PCC or Draco). The video-based decoding unit 513 generates decoded data by decoding the VCL NAL units using a video-based decoding method (such as AVC, HEVC, or VVC).

 メタデータ復号部514は、V3Cパラメータセット又はACL NALユニットを復号することで変換情報及びマッピング情報を生成する。例えば、メタデータ復号部514は、V3Cパラメータセット又はACL NALユニットから変換情報及びマッピング情報を取得する。 The metadata decoding unit 514 generates conversion information and mapping information by decoding the V3C parameter set or ACL NAL unit. For example, the metadata decoding unit 514 obtains the conversion information and mapping information from the V3C parameter set or ACL NAL unit.

 第2の後処理部515は、復号に使用される3Dコーデックに応じて、復号データを第2のガウシアンデータに逆変換する。 The second post-processing unit 515 inversely transforms the decoded data into second Gaussian data depending on the 3D codec used for decoding.

 図69は、符号化装置500による符号化処理のフローチャートである。まず、符号化装置500は、符号化に使用するコーデックタイプ(符号化方式)を判定する(S501)。例えば、符号化に使用するコーデックタイプは、ユーザにより指定されてもよいし、ガウシアンデータの内容に基づき決定されてもよい。 Figure 69 is a flowchart of the encoding process performed by the encoding device 500. First, the encoding device 500 determines the codec type (encoding method) to be used for encoding (S501). For example, the codec type to be used for encoding may be specified by the user, or may be determined based on the contents of the Gaussian data.

 符号化に使用するコーデックタイプがジオメトリベース符号化方式(G-PCC又はDraco)である場合(S501でジオメトリベース)、符号化装置500は、ジオメトリベース符号化方式(G-PCC又はDraco)を用いてガウシアンデータを符号化し、GCL NALユニットを出力する(S502)。 If the codec type used for encoding is a geometry-based encoding method (G-PCC or Draco) (geometry-based in S501), the encoding device 500 encodes the Gaussian data using the geometry-based encoding method (G-PCC or Draco) and outputs a GCL NAL unit (S502).

 一方、符号化に使用するコーデックタイプがビデオベース符号化方式である場合(S501でビデオベース)、符号化装置500は、ビデオベース符号化方式(ビデオコーデック)を用いてガウシアンデータを符号化し、VCL NALユニットを出力する(S503)。 On the other hand, if the codec type used for encoding is a video-based encoding method (video-based in S501), the encoding device 500 encodes the Gaussian data using a video-based encoding method (video codec) and outputs a VCL NAL unit (S503).

 次に符号化装置500は、符号化に使用したコーデックタイプを示す情報をメタデータに格納する(S504)。 Next, the encoding device 500 stores information indicating the codec type used for encoding in the metadata (S504).

 次に、符号化装置500は、変換情報及びマッピング情報をメタデータに格納する(S505)。次に、符号化装置500は、メタデータ及び符号化ユニット(GCL NALユニット又はVCL NALユニット)をV3Cユニットに多重化する(S506)。 Next, the encoding device 500 stores the conversion information and mapping information in the metadata (S505). Next, the encoding device 500 multiplexes the metadata and the encoding unit (GCL NAL unit or VCL NAL unit) into the V3C unit (S506).

 図70は、復号装置510による復号処理のフローチャートである。まず、復号装置510は、複数のV3Cユニットを取得し、複数のV3Cユニットから、データユニット(GCL NALユニット又はVCL NALユニット)及びメタデータを取得する(S511)。次に、復号装置510は、メタデータを解析し、メタデータに含まれるコーデックタイプを示す情報に基づき、符号化に使用されたコーデックタイプ(復号に使用するコーデックタイプ)を判定する(S512)。 Figure 70 is a flowchart of the decoding process performed by the decoding device 510. First, the decoding device 510 acquires multiple V3C units, and then acquires data units (GCL NAL units or VCL NAL units) and metadata from the multiple V3C units (S511). Next, the decoding device 510 analyzes the metadata and determines the codec type used for encoding (the codec type to be used for decoding) based on the information indicating the codec type included in the metadata (S512).

 符号化に使用されたコーデックタイプがジオメトリベース符号化方式である場合(S513でジオメトリベース)、復号装置510は、GCL NALユニットを取得し、GCL NALユニットを、ジオメトリベース復号方式(G-PCC又はDraco)を用いて復号することでコンポーネントを生成する(S514)。一方、符号化に使用されたコーデックタイプがビデオベース符号化方式である場合(S513でビデオベース)、復号装置510は、VCL NALユニットを取得し、VCL NALユニットを、ビデオベース復号方式(ビデオコーデック)を用いて復号することでコンポーネントを生成する(S515)。 If the codec type used for encoding is a geometry-based encoding method (geometry-based in S513), the decoding device 510 acquires the GCL NAL unit and generates components by decoding the GCL NAL unit using a geometry-based decoding method (G-PCC or Draco) (S514). On the other hand, if the codec type used for encoding is a video-based encoding method (video-based in S513), the decoding device 510 acquires the VCL NAL unit and generates components by decoding the VCL NAL unit using a video-based decoding method (video codec) (S515).

 次に、復号装置510は、復号されたコンポーネントとマッピング情報とを用いて、ガウシアンデータを再構成する(S516)。次に、復号装置510は、変換情報を取得し、変換情報を用いてガウシアンデータを逆変換することで第2のガウシアンデータを生成する(S517)。 Next, the decoding device 510 reconstructs Gaussian data using the decoded components and the mapping information (S516). Next, the decoding device 510 obtains the transformation information and generates second Gaussian data by inversely transforming the Gaussian data using the transformation information (S517).

 図71は、V3C規格にジオメトリベースの3Dコーデックを適用可能とするために拡張されたV3Cユニットの構成例を示す図である。図72は、V3Cユニット(V3C unit)の構成例を示す図である。V3Cユニットはヘッダ(V3C unit header)とペイロード(V3C data unit)とを含む。 Figure 71 shows an example of the configuration of a V3C unit that has been extended to enable the application of geometry-based 3D codecs to the V3C standard. Figure 72 shows an example of the configuration of a V3C unit. The V3C unit includes a header (V3C unit header) and a payload (V3C data unit).

 V3Cユニットのペイロードには、アトラスコーデックレイヤ又はビデオコーデックレイヤに属するACL NALユニットが格納される。さらに、拡張されたV3Cユニットのペイロードには、ジオメトリベースの3Dコーデックのデータを格納するGCL NALユニットが格納される。 The payload of a V3C unit stores ACL NAL units belonging to the atlas codec layer or video codec layer. Furthermore, the payload of an extended V3C unit stores GCL NAL units that store geometry-based 3D codec data.

 V3Cユニットのヘッダは、ペイロードに含まれるデータのタイプを示すV3Cユニットタイプ(V3C unit type)を含む。例えば、V3Cユニットタイプ=10は、ジオメトリベースPCCユニット(GCL NALユニット)を示す。 The V3C unit header contains a V3C unit type that indicates the type of data contained in the payload. For example, V3C unit type = 10 indicates a geometry-based PCC unit (GCL NAL unit).

 図73は、GCL NALユニット(GCL NAL unit)の構成例を示す図である。GCL NALユニットは、ヘッダ(GCL unit header)とペイロード(GCL data unit)とを含む。GCL NALのペイロードには、G-PCC TLVユニット又はDracoユニットが格納される。 Figure 73 shows an example of the structure of a GCL NAL unit. A GCL NAL unit includes a header (GCL unit header) and a payload (GCL data unit). The payload of the GCL NAL stores a G-PCC TLV unit or a Draco unit.

 GCL NALユニットのヘッダは、ペイロードに含まれるデータのタイプであるジオメトリベースの3Dコーデックのタイプを示すGCLユニットタイプ(GCL unit type)が格納される。例えば、GCLユニットタイプ=0は、G-PCC点群圧縮(G-PCC TLVユニット)を示す。GCLユニットタイプ=1は、Draco点群圧縮(Dracoユニット)を示す。 The header of a GCL NAL unit stores a GCL unit type, which indicates the type of geometry-based 3D codec, which is the type of data contained in the payload. For example, GCL unit type = 0 indicates G-PCC point cloud compression (G-PCC TLV unit). GCL unit type = 1 indicates Draco point cloud compression (Draco unit).

 なお、ここでは、GCL NALユニットにG-PCC TLVユニット等を格納する例を述べたが、G-PCC TLVユニット、又は、それぞれの3Dコーデック方式で定められるユニットが直接V3Cユニットに格納されてもよい。 Note that while the example described here shows a G-PCC TLV unit and the like being stored in a GCL NAL unit, a G-PCC TLV unit or a unit defined by each 3D codec method may also be stored directly in a V3C unit.

 図74は、拡張されたV3Cパラメータセット(V3CParameterset)の構成例を示す図である。V3Cパラメータセットは、ガウシアンデータの符号化方式に用いられる符号化規格、符号化方式、及びツールセットの組み合わせを示すプロファイル及びレベルを示す情報(profile_level)を含む。当該情報は、プロファイルを示す情報(profile)と、レベルを示す情報(level)と、符号化に使用されるコーデックを示す情報(is_video_codec及びis_3d_codec及び)とを含む。 Figure 74 is a diagram showing an example of the configuration of an extended V3C parameter set (V3CParameterset). The V3C parameter set includes information indicating the profile and level (profile_level), which indicates the combination of the encoding standard, encoding method, and toolset used in encoding Gaussian data. This information includes information indicating the profile (profile), information indicating the level (level), and information indicating the codec used for encoding (is_video_codec and is_3d_codec).

 profileは、VPCC又はDMCなどのV3Cを拡張して使用するコーデックを示す。例えば、profileは、V3Cの3Dガウシアンコーデックの拡張を示す。例えば、profile=0はVPCCを示し、profile=1はDMCを示し、profile=2は3Dガウシアンコーデックを示す。 Profile indicates the codec that uses an extension of V3C, such as VPCC or DMC. For example, profile indicates an extension of V3C's 3D Gaussian codec. For example, profile=0 indicates VPCC, profile=1 indicates DMC, and profile=2 indicates the 3D Gaussian codec.

 is_video_codecはビデオコーデックを使用するか否かを示すフラグである。ビデオコーデックが使用される場合(is_video_codec=1)、V3Cパラメータセットは、使用されるビデオコーデックを示すビデオコーデックタイプ(video_codec_type)を含む。 is_video_codec is a flag indicating whether a video codec is used. If a video codec is used (is_video_codec = 1), the V3C parameter set includes a video codec type (video_codec_type) that indicates the video codec used.

 is_3d_codecは3Dコーデックを使用するか否かを示すフラグである。3Dコーデックが使用される場合(is_3d_codec=1)、V3Cパラメータセットは、使用される3Dコーデックを示す3Dコーデックタイプ(3d_codec_type)を含む。例えば、3Dコーデックタイプ=0はG-PCCを示し、3Dコーデックタイプ=1はDracoを示す。なお、3Dコーデックタイプに予め定義された「4CC」コードが用いられてもよい。 is_3d_codec is a flag indicating whether a 3D codec is used. If a 3D codec is used (is_3d_codec = 1), the V3C parameter set includes a 3D codec type (3d_codec_type) that indicates the 3D codec used. For example, 3D codec type = 0 indicates G-PCC, and 3D codec type = 1 indicates Draco. Note that the predefined "4CC" code may also be used for the 3D codec type.

 なお、3Dガウシアンコーデックコーデックが用いられ、かつ、is_video_codecの値とis_3d_codecの値とが排他(一方が1で他方が0)である場合、is_video_codecの値とis_3d_codecの値とが排他であることがビットストリームの適合条件であるという制約が規定されてもよい。つまり、復号装置は、is_video_codecの値とis_3d_codecの値とが排他でない場合、ビットストリームが適切でない(エラーを含む)と判定してもよい。 Note that if a 3D Gaussian codec is used and the values of is_video_codec and is_3d_codec are exclusive (one is 1 and the other is 0), a constraint may be specified stating that the bitstream conformance condition is that the values of is_video_codec and is_3d_codec are exclusive. In other words, the decoding device may determine that the bitstream is inappropriate (contains an error) if the values of is_video_codec and is_3d_codec are not exclusive.

 3Dガウシアンコーデックが用いられる場合(profile=3D gaussian codec)、V3Cパラメータセットは、V3Cの3Dガウシアンコーデックの拡張情報として、ガウシアンコンポーネント情報(3d_codec_type)を含む。 When a 3D Gaussian codec is used (profile = 3D Gaussian codec), the V3C parameter set includes Gaussian component information (3d_codec_type) as extended information for the V3C 3D Gaussian codec.

 図75は、ガウシアンデータコンポーネント情報の構成例を示す図である。ガウシアンデータコンポーネント情報は、ガウシアンコンポーネントの数を示すガウシアンデータコンポーネント数を含む。 Figure 75 shows an example of the configuration of Gaussian data component information. The Gaussian data component information includes the number of Gaussian data components, which indicates the number of Gaussian components.

 ガウシアンデータコンポーネント情報は、ガウシアンコンポーネント毎の情報として、ガウシアンコンポーネントIDと、ガウシアンデータタイプと、ガウシアンデータ次元数とを含む。ガウシアンコンポーネントIDは、ガウシアンコンポーネントを一意に識別するための識別情報である。ガウシアンデータタイプは、ガウシアンコンポーネントのタイプ(回転、スケール、SH係数及び透過率等)を示す。ガウシアンデータ次元数は、ガウシアンコンポーネントの次元数(サブコンポーネント数)を示す。 Gaussian data component information includes, for each Gaussian component, a Gaussian component ID, a Gaussian data type, and the number of Gaussian data dimensions. The Gaussian component ID is identification information for uniquely identifying a Gaussian component. The Gaussian data type indicates the type of Gaussian component (rotation, scale, SH coefficient, transmittance, etc.). The number of Gaussian data dimensions indicates the number of dimensions (number of subcomponents) of the Gaussian component.

 また、ガウシアンデータコンポーネント情報は、コーデックに依存したマッピング情報を含む。例えば、ビデオコーデックが使用される場合(is_video_codec=1)、ガウシアンデータコンポーネント情報は、ガウシアンデータのコンポーネントとビデオコーデックのコンポーネントとの対応関係を示すビデオマッピング情報(video_mapping_info)を含む。3Dコーデックが使用される場合(is_3d_codec=1)、ガウシアンデータコンポーネント情報は、ガウシアンデータのコンポーネントと3Dコーデックのコンポーネントとの対応関係を示す3Dマッピング情報(3D_mapping_info)を含む。 The Gaussian data component information also includes mapping information that depends on the codec. For example, if a video codec is used (is_video_codec = 1), the Gaussian data component information includes video mapping information (video_mapping_info) that indicates the correspondence between Gaussian data components and video codec components. If a 3D codec is used (is_3d_codec = 1), the Gaussian data component information includes 3D mapping information (3D_mapping_info) that indicates the correspondence between Gaussian data components and 3D codec components.

 図76は、ビデオマッピング情報の構成例を示す図である。ビデオマッピング情報は、ガウシアンコンポーネントの次元ごとの情報として、ビデオコンポーネントIDと、ビデオ次元IDと、変換情報とを含む。 Figure 76 shows an example of the configuration of video mapping information. The video mapping information includes a video component ID, a video dimension ID, and transformation information as information for each dimension of the Gaussian component.

 ビデオサブコンポーネントIDは、ビデオコンポーネント番号を示す識別子である。ビデオ次元IDは、ビデオコンポーネントのサブコンポーネント番号を示す識別子である。変換情報は、当該次元のデータを変換する際に用いられたパラメータ(変換パラメータ)を示す。 The video subcomponent ID is an identifier that indicates the video component number. The video dimension ID is an identifier that indicates the subcomponent number of the video component. The conversion information indicates the parameters (conversion parameters) used when converting the data of that dimension.

 図77は、3Dマッピング情報の構成例を示す図である。3Dマッピング情報は、G-PCCが使用される場合、ガウシアンコンポーネントの次元ごとの情報として、G-PCCコンポーネントIDと、G-PCC次元IDと、変換情報とを含む。 Figure 77 shows an example of the configuration of 3D mapping information. When G-PCC is used, the 3D mapping information includes the G-PCC component ID, G-PCC dimension ID, and transformation information as information for each dimension of the Gaussian component.

 G-PCCサブコンポーネントIDは、G-PCCコンポーネント番号を示す識別子である。G-PCC次元IDは、G-PCCコンポーネントのサブコンポーネント番号を示す識別子である。変換情報は、当該次元のデータを変換する際に用いられたパラメータ(変換パラメータ)を示す。 The G-PCC subcomponent ID is an identifier that indicates the G-PCC component number. The G-PCC dimension ID is an identifier that indicates the subcomponent number of the G-PCC component. The conversion information indicates the parameters (conversion parameters) used when converting the data of the dimension in question.

 また、3Dマッピング情報は、Dracoが使用される場合、ガウシアンデータのコンポーネントとDracoコーデックのコンポーネントとの対応関係を示す情報を含む。 In addition, when Draco is used, the 3D mapping information includes information indicating the correspondence between the components of the Gaussian data and the components of the Draco codec.

 なお、ガウシアンデータコンポーネント情報は、属性コンポーネントの情報に加え、ジオメトリコンポーネントの情報を含んでもよい。 In addition, Gaussian data component information may include geometry component information in addition to attribute component information.

 また、ここでは、ガウシアンコンポーネントに対応するG-PCCコンポーネントを示すマッピング情報の例を示したが、G-PCCコンポーネントに対応するガウシアンコンポーネントが示されるマッピング情報が用いられてもよい。ここでは、ガウシアンデータのサブコンポーネントとG-PCCのサブコンポーネントとの対応関係を示すマッピング情報の例を示したが、ガウシアンコンポーネントとG-PCCコンポーネントとの対応関係を示すマッピング情報が用いられてもよい。つまり、サブコンポーネント間の対応関係は示されなくてもよい。 Furthermore, while an example of mapping information indicating G-PCC components corresponding to Gaussian components has been shown here, mapping information indicating Gaussian components corresponding to G-PCC components may also be used. While an example of mapping information indicating the correspondence between subcomponents of Gaussian data and subcomponents of G-PCC has been shown here, mapping information indicating the correspondence between Gaussian components and G-PCC components may also be used. In other words, the correspondence between subcomponents does not need to be shown.

 また、ここに示したシンタックスの一部は省略されてもよい。例えば、回転、スケール及びSH係数の情報記載順及び次元数が予め定められている場合、ガウシアンデータコンポーネントID、ガウシアンデータタイプ、及びガウシアンデータ次元数などは省略されてもよい。 Furthermore, some of the syntax shown here may be omitted. For example, if the order in which the information about rotation, scale, and SH coefficients is written and the number of dimensions are predetermined, the Gaussian data component ID, Gaussian data type, and number of Gaussian data dimensions may be omitted.

 なお、上記説明では、符号化対象のデータが3Dガウシアンデータである場合の例を説明したが、符号化対象のデータは3Dガウシアンデータに限らない。例えば、NeRFなど他の方法で生成された3Dモデルの符号化(3D model codec)に、本実施の形態で説明したプロトコルスタック又はデータ構造が用いられてもよい。例えば、符号化対象のデータは、AI(Artificial Intelligence)を用いた3Dモデル(点群、メッシュ又はその他の3Dモデル)であってもよい。 Note that, although the above description has been given of an example in which the data to be encoded is 3D Gaussian data, the data to be encoded is not limited to 3D Gaussian data. For example, the protocol stack or data structure described in this embodiment may be used to encode a 3D model (3D model codec) generated by another method, such as NeRF. For example, the data to be encoded may be a 3D model (point cloud, mesh, or other 3D model) created using AI (Artificial Intelligence).

 また、V3Cの符号化方式として、ビデオベース及びジオメトリベースの規格以外に、機械学習などで学習されたニューラルネットワークコーデックなどが用いられてもよい。 In addition to video-based and geometry-based standards, V3C encoding methods may also use neural network codecs trained through machine learning, etc.

 図78は、拡張されたV3Cのプロトコルスタックを示す図である。例えば、図78に示すように、V3C規格を、ニューラルネットワーク(NN)を伝送できるように拡張してもよい。例えば、ニューラルネットワークに対しては、NNC(Neural Network Coding)等のニューラルネットワークベースの符号化方式が用いられる。 Figure 78 shows an extended V3C protocol stack. For example, as shown in Figure 78, the V3C standard may be extended to enable transmission of neural networks (NNs). For example, a neural network-based coding method such as NNC (Neural Network Coding) is used for neural networks.

 また、V3C規格を拡張したコーデックを定義し、ビデオベース、ジオメトリベース、及びニューラルネットワークベースの符号化方式のうちの一つ又は複数の符号化方式が使用されてもよい。 In addition, a codec that extends the V3C standard may be defined, and one or more of the following encoding methods may be used: video-based, geometry-based, and neural network-based encoding methods.

 また、例えば、AIを用いた点群圧縮方式においてジオメトリ情報(位置情報)と属性情報とが符号化される場合、ジオメトリ情報には学習を用いた符号化が実施されてもよい。例えば、ジオメトリ情報には、ニューラルネットワークベースの符号化方式又はジオメトリベースの符号化方式が用いられ、属性情報にはビデオベースの符号化方式が用いられてもよい。これにより、圧縮性能(符号化効率)を向上できる可能性がある。 Furthermore, for example, when geometry information (position information) and attribute information are encoded in a point cloud compression method using AI, the geometry information may be encoded using learning. For example, a neural network-based encoding method or a geometry-based encoding method may be used for the geometry information, and a video-based encoding method may be used for the attribute information. This may potentially improve compression performance (encoding efficiency).

 図79は、拡張されたV3Cのプロトコルスタックを示す図である。例えば、図79に示すように、V3C規格を拡張する。例えば、V3Cパラメータセット、ASPS又はAFPSが拡張され、AI-PCCを格納するデータユニットが定義される。これにより、コーデック方式としてビデオベース、ジオメトリベース、及びニューラルネットワークベースの符号化方式の少なくとも1つを使用でき、AIを用いた点群圧縮の符号化及び復号を実現できる。 Figure 79 is a diagram showing an extended V3C protocol stack. For example, the V3C standard is extended as shown in Figure 79. For example, the V3C parameter set, ASPS, or AFPS is extended to define a data unit that stores AI-PCC. This makes it possible to use at least one of video-based, geometry-based, and neural network-based encoding methods as the codec method, enabling encoding and decoding of point cloud compression using AI.

 [まとめ]
 以上のように、実施の形態に係る符号化装置(三次元データ符号化装置)は、図80に示す処理を行う。図80は、符号化装置による符号化処理のフローチャートである。符号化装置は、1以上の第1コンポーネントを含む三次元データ(例えばガウシアンデータ、点群又はメッシュ等)を符号化する。符号化装置は、ビデオベースの三次元データ符号化方式である第1符号化方式(例えばV3C、AVC、HEVC又はVVC等)と、第1符号化方式と異なる第2符号化方式とを含む複数の符号化方式のうちいずれか一つを選択し(S601)、第1符号化方式が選択された場合(S602で第1符号化方式)、1以上の第1コンポーネントを、第1符号化方式を用いて符号化することで第1符号化データ(例えばVCL NALユニット)を生成し(S603)、第2符号化方式が選択された場合(S602で第2符号化方式)、1以上の第1コンポーネントを、第2符号化方式を用いて符号化することで第2符号化データ(例えばGCL NALユニット)を生成し(S604)、第1符号化方式のメタデータが拡張された第1メタデータ(例えばV3Cパラメータセット、ASPS又はAFPS)に、選択された符号化方式を示す第1情報(is_video_codec、is_3d_codec、video_codec_type、又は3d_codec_type)を格納し(S605)、第1メタデータと、第1符号化データ又は第2符号化データとを含むビットストリームを生成する(S606)。
[summary]
As described above, the encoding device (three-dimensional data encoding device) according to the embodiment performs the processing shown in FIG. 80 . FIG. 80 is a flowchart of the encoding processing by the encoding device. The encoding device encodes three-dimensional data (e.g., Gaussian data, point clouds, meshes, etc.) including one or more first components. The encoding device selects one of a plurality of encoding methods including a first encoding method (e.g., V3C, AVC, HEVC, VVC, etc.) that is a video-based three-dimensional data encoding method, and a second encoding method different from the first encoding method (S601). If the first encoding method is selected (first encoding method in S602), the encoding device generates first encoded data (e.g., VCL NAL units) by encoding the one or more first components using the first encoding method (S603). If the second encoding method is selected (second encoding method in S602), the encoding device generates second encoded data (e.g., GCL NAL units) by encoding the one or more first components using the second encoding method (S604). NAL unit) is generated (S604), first information (is_video_codec, is_3d_codec, video_codec_type, or 3d_codec_type) indicating the selected encoding method is stored in first metadata (for example, V3C parameter set, ASPS, or AFPS) that is an extension of the metadata of the first encoding method (S605), and a bitstream including the first metadata and the first encoded data or the second encoded data is generated (S606).

 これによれば、符号化装置は、複数の符号化方式から選択的に三次元データの符号化に用いる符号化方式を選択できる。よって、符号化効率を向上できる可能性がある。さらに、ビデオベースの三次元データ符号化方式を拡張することで、容易に上記処理を実現可能なシステムを構築できる。 This allows the encoding device to selectively select from multiple encoding methods the encoding method to use for encoding 3D data. This potentially improves encoding efficiency. Furthermore, by extending the video-based 3D data encoding method, it is possible to easily build a system that can achieve the above processing.

 例えば、符号化装置は、さらに、1以上の第1コンポーネントを、選択された符号化方式に対応する1以上の第2コンポーネントに変換し、第1符号化方式が選択された場合、1以上の第2コンポーネントを、第1符号化方式を用いて符号化することで第1符号化データを生成し、第2符号化方式が選択された場合、1以上の第2コンポーネントを、第2符号化方式を用いて符号化することで第2符号化データを生成し、第1メタデータは、さらに、1以上の第1コンポーネントと1以上の第2コンポーネントとの対応関係を示す第2情報(例えばマッピング情報)を含む。 For example, the encoding device further converts one or more first components into one or more second components corresponding to the selected encoding method, and if the first encoding method is selected, generates first encoded data by encoding the one or more second components using the first encoding method, and if the second encoding method is selected, generates second encoded data by encoding the one or more second components using the second encoding method, and the first metadata further includes second information (e.g., mapping information) indicating the correspondence between the one or more first components and the one or more second components.

 これによれば、符号化装置は、選択された符号化方式に対応した形式にデータを変更することで、選択した符号化方式を用いて三次元データを符号化できる。また、復号装置は、ビットストリームに含まれる第2情報を用いて、複数の第2コンポーネントを複数の第1コンポーネントに変換できる。 This allows the encoding device to encode three-dimensional data using the selected encoding method by converting the data into a format compatible with the selected encoding method. Furthermore, the decoding device can convert multiple second components into multiple first components using second information included in the bitstream.

 例えば、第2符号化方式は、ジオメトリベースの三次元データ符号化方式(例えばG-PCC又はDraco等)である。例えば、第2符号化方式は、ニューラルネットワークベースの三次元データ符号化方式(例えばNNC)である。例えば、第2符号化方式は、AIを用いた三次元データ符号化方式である。 For example, the second encoding method is a geometry-based three-dimensional data encoding method (such as G-PCC or Draco). For example, the second encoding method is a neural network-based three-dimensional data encoding method (such as NNC). For example, the second encoding method is a three-dimensional data encoding method using AI.

 例えば、三次元データはガウシアンデータである。これによれば、符号化装置は、複数の符号化方式から選択的にガウシアンデータの符号化に用いる符号化方式を選択できる。よって、符号化効率を向上できる可能性がある。 For example, the three-dimensional data is Gaussian data. This allows the encoding device to selectively select an encoding method from multiple encoding methods to use for encoding the Gaussian data. This has the potential to improve encoding efficiency.

 図81は、符号化装置10のブロック図である。例えば、符号化装置10は、プロセッサ11と、メモリ12とを備え、プロセッサ11は、メモリ12を用いて、上記処理を行う。 Figure 81 is a block diagram of the encoding device 10. For example, the encoding device 10 includes a processor 11 and a memory 12, and the processor 11 performs the above processing using the memory 12.

 また、実施の形態に係る復号装置(三次元データ復号装置)は、図82に示す処理を行う。図82は、復号装置による復号処理のフローチャートである。復号装置は、1以上の第1コンポーネントを含む三次元データ(例えばガウシアンデータ、点群又はメッシュ等)を復号する。復号装置は、ビデオベースの三次元データ符号化方式である第1符号化方式(例えばV3C、AVC、HEVC又はVVC等)のメタデータが拡張された第1メタデータ(例えばV3Cパラメータセット、ASPS又はAFPS)と、符号化データ(例えばVCL NALユニット又はGCL NALユニット)とを含むビットストリームを取得し(S611)、第1符号化方式と、第1符号化方式と異なる第2符号化方式とを含む複数の符号化方式のうち、1以上の第1コンポーネントの符号化に用いられた符号化方式を示す第1情報(is_video_codec、is_3d_codec、video_codec_type、又は3d_codec_type)を、第1メタデータから取得し(S612)、第1情報により第1符号化方式が示される場合(S613で第1符号化方式)、符号化データを、第1符号化方式に対応する第1復号方式を用いて復号することで1以上の第1コンポーネントを生成し(S614)、第1情報により第2符号化方式が示される場合(S613で第2符号化方式)、符号化データを、第2符号化方式に対応する第2復号方式を用いて復号することで1以上の第1コンポーネントを生成する(S615)。 Furthermore, a decoding device (three-dimensional data decoding device) according to an embodiment performs the processing shown in FIG. 82. FIG. 82 is a flowchart of the decoding process by the decoding device. The decoding device decodes three-dimensional data (e.g., Gaussian data, point clouds, meshes, etc.) including one or more first components. The decoding device acquires a bitstream including first metadata (e.g., a V3C parameter set, ASPS, or AFPS) that is an extension of the metadata of a first encoding method (e.g., V3C, AVC, HEVC, or VVC, etc.) that is a video-based three-dimensional data encoding method, and encoded data (e.g., a VCL NAL unit or a GCL NAL unit) (S611), and obtains first information (is_video_codec, is _3d_codec, video_codec_type, or 3d_codec_type) is obtained from the first metadata (S612). If the first information indicates a first encoding method (first encoding method in S613), one or more first components are generated by decoding the encoded data using a first decoding method corresponding to the first encoding method (S614). If the first information indicates a second encoding method (second encoding method in S613), one or more first components are generated by decoding the encoded data using a second decoding method corresponding to the second encoding method (S615).

 これによれば、符号化装置は、複数の符号化方式から選択的に三次元データの符号化に用いる符号化方式を選択できる。よって、符号化効率を向上できる可能性がある。また、復号装置は、符号化装置で生成された符号化データを適切に復号できる。さらに、ビデオベースの三次元データ符号化方式を拡張することで、容易に上記処理を実現可能なシステムを構築できる。 This allows the encoding device to selectively select from multiple encoding methods the encoding method to use for encoding 3D data. This potentially improves encoding efficiency. Furthermore, the decoding device can properly decode the encoded data generated by the encoding device. Furthermore, by expanding the video-based 3D data encoding method, a system capable of easily implementing the above processing can be constructed.

 例えば、符号化データは、1以上の第1コンポーネントが変換された1以上の第2コンポーネントが符号化されることで生成される。復号装置は、さらに、1以上の第1コンポーネントと1以上の第2コンポーネントとの対応関係を示す第2情報(例えばマッピング情報)を、第1メタデータから取得し、第1情報により第1符号化方式が示される場合、符号化データを、第1復号方式を用いて復号することで1以上の第2コンポーネントを生成し、第1情報により第2符号化方式が示される場合、符号化データを、第2復号方式を用いて復号することで1以上の第2コンポーネントを生成し、第2情報で示される対応関係を用いて、1以上の第2コンポーネントを1以上の第1コンポーネントに変換する。 For example, the encoded data is generated by encoding one or more second components resulting from the conversion of one or more first components. The decoding device further acquires second information (e.g., mapping information) indicating the correspondence between the one or more first components and one or more second components from the first metadata, and if the first information indicates a first encoding method, generates one or more second components by decoding the encoded data using a first decoding method; if the first information indicates a second encoding method, generates one or more second components by decoding the encoded data using a second decoding method, and converts the one or more second components into one or more first components using the correspondence indicated in the second information.

 これによれば、符号化装置は、選択された符号化方式に対応した形式にデータを変更することで、選択した符号化方式を用いて三次元データを符号化できる。また、復号装置は、ビットストリームに含まれる第2情報を用いて、複数の第2コンポーネントを複数の第1コンポーネントに変換できる。 This allows the encoding device to encode three-dimensional data using the selected encoding method by converting the data into a format compatible with the selected encoding method. Furthermore, the decoding device can convert multiple second components into multiple first components using second information included in the bitstream.

 例えば、第2符号化方式は、ジオメトリベースの三次元データ符号化方式(例えばG-PCC又はDraco等)である。例えば、第2符号化方式は、ニューラルネットワークベースの三次元データ符号化方式(例えばNNC)である。例えば、第2符号化方式は、AIを用いた三次元データ符号化方式である。 For example, the second encoding method is a geometry-based three-dimensional data encoding method (such as G-PCC or Draco). For example, the second encoding method is a neural network-based three-dimensional data encoding method (such as NNC). For example, the second encoding method is a three-dimensional data encoding method using AI.

 例えば、三次元データはガウシアンデータである。これによれば、符号化装置は、複数の符号化方式から選択的にガウシアンデータの符号化に用いる符号化方式を選択できる。よって、符号化効率を向上できる可能性がある。 For example, the three-dimensional data is Gaussian data. This allows the encoding device to selectively select an encoding method from multiple encoding methods to use for encoding the Gaussian data. This has the potential to improve encoding efficiency.

 図83は、復号装置20のブロック図である。例えば、復号装置20は、プロセッサ21と、メモリ22とを備え、プロセッサ21は、メモリ22を用いて、上記処理を行う。 Figure 83 is a block diagram of the decoding device 20. For example, the decoding device 20 includes a processor 21 and a memory 22, and the processor 21 performs the above processing using the memory 22.

 以上、本開示の実施の形態及び変形例に係る符号化装置(三次元データ符号化装置)及び復号装置(三次元データ復号装置)等について説明したが、本開示は、この実施の形態に限定されるものではない。 The above describes an encoding device (three-dimensional data encoding device) and a decoding device (three-dimensional data decoding device) according to an embodiment and modifications of the present disclosure, but the present disclosure is not limited to these embodiments.

 また、上記実施の形態に係る符号化装置及び復号装置等に含まれる各処理部は典型的には集積回路であるLSIとして実現される。これらは個別に1チップ化されてもよいし、一部又は全てを含むように1チップ化されてもよい。 Furthermore, each processing unit included in the encoding device, decoding device, etc. according to the above embodiments is typically realized as an LSI, which is an integrated circuit. These may be individually implemented on a single chip, or some or all of them may be included on a single chip.

 また、集積回路化はLSIに限るものではなく、専用回路又は汎用プロセッサで実現してもよい。LSI製造後にプログラムすることが可能なFPGA(Field Programmable Gate Array)、又はLSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。 Furthermore, integrated circuits are not limited to LSIs, but may be realized using dedicated circuits or general-purpose processors. FPGAs (Field Programmable Gate Arrays), which can be programmed after LSI manufacturing, or reconfigurable processors, which allow the connections and settings of circuit cells within the LSI to be reconfigured, may also be used.

 また、上記各実施の形態において、各構成要素は、専用のハードウェアで構成されるか、各構成要素に適したソフトウェアプログラムを実行することによって実現されてもよい。各構成要素は、CPUまたはプロセッサなどのプログラム実行部が、ハードディスクまたは半導体メモリなどの記録媒体に記録されたソフトウェアプログラムを読み出して実行することによって実現されてもよい。 Furthermore, in each of the above embodiments, each component may be configured with dedicated hardware, or may be realized by executing a software program appropriate for that component. Each component may also be realized by a program execution unit such as a CPU or processor reading and executing a software program recorded on a recording medium such as a hard disk or semiconductor memory.

 また、本開示は、符号化装置(三次元データ符号化装置)及び復号装置(三次元データ復号装置)等により実行される符号化方法(三次元データ符号化方法)又は復号方法(三次元データ復号方法)等として実現されてもよい。 The present disclosure may also be realized as an encoding method (three-dimensional data encoding method) or a decoding method (three-dimensional data decoding method) executed by an encoding device (three-dimensional data encoding device) and a decoding device (three-dimensional data decoding device), etc.

 また、本開示は、上記符号化方法又は復号方法をコンピュータ、プロセッサ又は装置に実行させるプログラムとして実現されてもよい。また、本開示は、上記符号化方法により生成されたビットストリームとして実現されてもよい。また、本開示は、当該プログラム又は当該ビットストリームが記録された記録媒体として実現されてもよい。例えば、本開示は、当該プログラム又は当該ビットストリームが記録されている非一時的なコンピュータ読み取り可能な記録媒体として実現されてもよい。 The present disclosure may also be realized as a program that causes a computer, processor, or device to execute the encoding method or decoding method. The present disclosure may also be realized as a bitstream generated by the encoding method. The present disclosure may also be realized as a recording medium on which the program or bitstream is recorded. For example, the present disclosure may also be realized as a non-transitory computer-readable recording medium on which the program or bitstream is recorded.

 また、ブロック図における機能ブロックの分割は一例であり、複数の機能ブロックを一つの機能ブロックとして実現したり、一つの機能ブロックを複数に分割したり、一部の機能を他の機能ブロックに移してもよい。また、類似する機能を有する複数の機能ブロックの機能を単一のハードウェア又はソフトウェアが並列又は時分割に処理してもよい。 Furthermore, the division of functional blocks in the block diagram is one example; multiple functional blocks may be realized as a single functional block, one functional block may be divided into multiple blocks, or some functions may be moved to other functional blocks. Furthermore, the functions of multiple functional blocks with similar functions may be processed in parallel or time-shared by a single piece of hardware or software.

 また、フローチャートにおける各ステップが実行される順序は、本開示を具体的に説明するために例示するためのものであり、上記以外の順序であってもよい。また、上記ステップの一部が、他のステップと同時(並列)に実行されてもよい。 Furthermore, the order in which each step in the flowchart is executed is merely an example to specifically explain the present disclosure, and orders other than those described above may also be used. Furthermore, some of the steps may be executed simultaneously (in parallel) with other steps.

 以上、一つまたは複数の態様に係る符号化装置及び復号装置等について、実施の形態に基づいて説明したが、本開示は、この実施の形態に限定されるものではない。本開示の趣旨を逸脱しない限り、当業者が思いつく各種変形を本実施の形態に施したものや、異なる実施の形態における構成要素を組み合わせて構築される形態も、一つまたは複数の態様の範囲内に含まれてもよい。 The encoding device, decoding device, etc. according to one or more aspects have been described above based on the embodiments, but the present disclosure is not limited to these embodiments. Various modifications conceivable by those skilled in the art to these embodiments, as well as configurations constructed by combining components from different embodiments, may also be included within the scope of one or more aspects, provided they do not deviate from the spirit of the present disclosure.

 本開示は、符号化装置及び復号装置に適用できる。 This disclosure can be applied to encoding devices and decoding devices.

 10 符号化装置
 11、21 プロセッサ
 12、22 メモリ
 20 復号装置
 101 三次元データ符号化システム
 102 三次元データ復号システム
 103 センサ端末
 104 外部接続部
 111 三次元データ生成システム
 112 提示部
 113 符号化部
 114 多重化部
 115 入出力部
 116 制御部
 117 センサ情報取得部
 118 三次元データ生成部
 121 センサ情報取得部
 122 入出力部
 123 逆多重化部
 124 復号部
 125 提示部
 126 ユーザインタフェース
 127 制御部
 130 第1の符号化部
 131 位置情報符号化部
 132 属性情報符号化部
 133 付加情報符号化部
 134 多重化部
 140 第1の復号部
 141 逆多重化部
 142 位置情報復号部
 143 属性情報復号部
 144 付加情報復号部
 150 第2の符号化部
 151 付加情報生成部
 152 位置画像生成部
 153 属性画像生成部
 154 映像符号化部
 155 付加情報符号化部
 156 多重化部
 160 第2の復号部
 161 逆多重化部
 162 映像復号部
 163 付加情報復号部
 164 位置情報生成部
 165 属性情報生成部
 171 8分木符号化部
 172 予測木符号化部
 173 8分木復号部
 174 予測木復号部
 181、191 8分木生成部
 182、192 幾何情報算出部
 183、193 符号化テーブル選択部
 184 エントロピー符号化部
 194 エントロピー復号部
 201 LoD属性情報符号化部
 202 変換属性情報符号化部
 203 LoD属性情報復号部
 204 変換属性情報復号部
 211 ソート部
 212 Haar変換部
 213 量子化部
 214、222 逆量子化部
 215、223 逆Haar変換部
 216、224 メモリ
 217 算術符号化部
 221 算術復号部
 231 データ分割部
 232 符号化部
 233 復号部
 234 データ結合部
 241 符号化部
 242 TLV格納部
 301 センサ情報入力部
 302 三次元データ生成部
 303、305 レンダリング部
 304 球面調和関数
 311 符号化部
 312 多重化部
 321 逆多重化部
 322 復号部
 323 アプリケーション部
 324 入力インターフェース部
 325 レンダリング部
 326 提示部
 330、400 符号化装置
 331 第1の前処理部
 332、371、401 第2の前処理部
 333、372、402 G-PCC符号化部
 341 位置情報符号化部
 342 回転符号化部
 343 スケール符号化部
 344 SH係数符号化部
 345 透過率符号化部
 346 メタデータ符号化部
 347、405 多重化部
 350、410 復号装置
 351、373、412 G-PCC復号部
 352、374、415 第2の後処理部
 353 第1の後処理部
 361、411 逆多重化部
 362 位置情報復号部
 363 回転復号部
 364 スケール復号部
 365 SH係数復号部
 366 透過率復号部
 367 メタデータ復号部
 375 変換部
 376 マッピング部
 403 V3C符号化部
 404 メタデータ符号化部
 413 V3C復号部
 414 メタデータ復号部
 500 符号化装置
 501 第2の前処理部
 502 ジオメトリベース符号化部
 503 ビデオベース符号化部
 504 メタデータ符号化部
 505 多重化部
 510 復号装置
 511 逆多重化部
 512 ジオメトリベース復号部
 513 ビデオベース復号部
 514 メタデータ復号部
 515 第2の後処理部
10 Encoding device 11, 21 Processor 12, 22 Memory 20 Decoding device 101 Three-dimensional data encoding system 102 Three-dimensional data decoding system 103 Sensor terminal 104 External connection unit 111 Three-dimensional data generation system 112 Presentation unit 113 Encoding unit 114 Multiplexing unit 115 Input/output unit 116 Control unit 117 Sensor information acquisition unit 118 Three-dimensional data generation unit 121 Sensor information acquisition unit 122 Input/output unit 123 Demultiplexing unit 124 Decoding unit 125 Presentation unit 126 User interface 127 Control unit 130 First encoding unit 131 Position information encoding unit 132 Attribute information encoding unit 133 Additional information encoding unit 134 Multiplexing unit 140 First decoding unit 141 Demultiplexing unit 142 Position information decoding unit 143 Attribute information decoding unit 144 Additional information decoding unit 150 Second encoding unit 151 Additional information generation unit 152 Position image generation unit 153 Attribute image generation unit 154 Video encoding unit 155 Additional information encoding unit 156 Multiplexing unit 160 Second decoding unit 161 Demultiplexing unit 162 Video decoding unit 163 Additional information decoding unit 164 Position information generation unit 165 Attribute information generation unit 171 Octree encoding unit 172 Prediction tree encoding unit 173 Octree decoding unit 174 Prediction tree decoding unit 181, 191 Octree generation unit 182, 192 Geometric information calculation unit 183, 193 Encoding table selection unit 184 Entropy encoding unit 194 Entropy decoding unit 201 LoD attribute information encoding unit 202 Transformed attribute information encoding unit 203 LoD attribute information decoding unit 204 Transformed attribute information decoding unit 211 Sorting unit 212 Haar transform unit 213 Quantization unit 214, 222 Inverse quantization unit 215, 223 Inverse Haar transform unit 216, 224 Memory 217 Arithmetic coding unit 221 Arithmetic decoding unit 231 Data division unit 232 Encoding unit 233 Decoding unit 234 Data combination unit 241 Encoding unit 242 TLV storage unit 301 Sensor information input unit 302 Three-dimensional data generation unit 303, 305 Rendering unit 304 Spherical harmonic function 311 Encoding unit 312 Multiplexing unit 321 Demultiplexing unit 322 Decoding unit 323 Application unit 324 Input interface unit 325 Rendering unit 326 Presentation unit 330, 400 Encoding device 331 First pre-processing unit 332, 371, 401 Second pre-processing unit 333, 372, 402 G-PCC encoding unit 341 Position information encoding unit 342 Rotation encoding unit 343 Scale encoding unit 344 SH coefficient encoding unit 345 Transmittance encoding unit 346 Metadata encoding unit 347, 405 Multiplexing unit 350, 410 Decoding device 351, 373, 412 G-PCC decoding unit 352, 374, 415 Second post-processing unit 353 First post-processing unit 361, 411 Demultiplexing unit 362 Position information decoding unit 363 Rotation decoding unit 364 Scale decoding unit 365 SH coefficient decoding unit 366 Transmittance decoding unit 367 Metadata decoding unit 375 Conversion unit 376 Mapping unit 403 V3C encoding unit 404 Metadata encoding unit 413 V3C decoding unit 414 Metadata decoding unit 500 Encoding device 501 Second pre-processing unit 502 Geometry-based encoding unit 503 Video-based encoding unit 504 Metadata encoding unit 505 Multiplexing unit 510 Decoding device 511 Demultiplexing unit 512 Geometry-based decoding unit 513 Video-based decoding unit 514 Metadata decoding unit 515 Second post-processing unit

Claims (14)

 1以上の第1コンポーネントを含む三次元データを符号化する三次元データ符号化方法であって、
 ビデオベースの三次元データ符号化方式である第1符号化方式と、前記第1符号化方式と異なる第2符号化方式とを含む複数の符号化方式のうちいずれか一つを選択し、
 前記第1符号化方式が選択された場合、前記1以上の第1コンポーネントを、前記第1符号化方式を用いて符号化することで第1符号化データを生成し、
 前記第2符号化方式が選択された場合、前記1以上の第1コンポーネントを、前記第2符号化方式を用いて符号化することで第2符号化データを生成し、
 前記第1符号化方式のメタデータが拡張された第1メタデータに、前記選択された符号化方式を示す第1情報を格納し、
 前記第1メタデータと、前記第1符号化データ又は前記第2符号化データとを含むビットストリームを生成する
 三次元データ符号化方法。
1. A method for encoding three-dimensional data, comprising: encoding three-dimensional data including one or more first components, the method comprising:
selecting one of a plurality of encoding methods including a first encoding method that is a video-based three-dimensional data encoding method and a second encoding method that is different from the first encoding method;
If the first encoding method is selected, generating first encoded data by encoding the one or more first components using the first encoding method;
If the second encoding method is selected, generating second encoded data by encoding the one or more first components using the second encoding method;
storing first information indicating the selected encoding method in first metadata obtained by extending the metadata of the first encoding method;
A three-dimensional data encoding method for generating a bitstream including the first metadata and the first encoded data or the second encoded data.
 前記三次元データ符号化方法は、さらに、
 前記1以上の第1コンポーネントを、前記選択された符号化方式に対応する1以上の第2コンポーネントに変換し、
 前記第1符号化方式が選択された場合、前記1以上の第2コンポーネントを、前記第1符号化方式を用いて符号化することで前記第1符号化データを生成し、
 前記第2符号化方式が選択された場合、前記1以上の第2コンポーネントを、前記第2符号化方式を用いて符号化することで前記第2符号化データを生成し、
 前記第1メタデータは、さらに、前記1以上の第1コンポーネントと前記1以上の第2コンポーネントとの対応関係を示す第2情報を含む
 請求項1記載の三次元データ符号化方法。
The three-dimensional data encoding method further comprises:
converting the one or more first components into one or more second components corresponding to the selected encoding format;
If the first encoding method is selected, generating the first encoded data by encoding the one or more second components using the first encoding method;
If the second encoding method is selected, generating the second encoded data by encoding the one or more second components using the second encoding method;
The three-dimensional data encoding method according to claim 1 , wherein the first metadata further includes second information indicating a correspondence between the one or more first components and the one or more second components.
 前記第2符号化方式は、ジオメトリベースの三次元データ符号化方式である
 請求項1記載の三次元データ符号化方法。
The three-dimensional data encoding method according to claim 1 , wherein the second encoding method is a geometry-based three-dimensional data encoding method.
 前記第2符号化方式は、ニューラルネットワークベースの三次元データ符号化方式である
 請求項1記載の三次元データ符号化方法。
The three-dimensional data encoding method according to claim 1 , wherein the second encoding method is a neural network-based three-dimensional data encoding method.
 前記第2符号化方式は、AIを用いた三次元データ符号化方式である
 請求項1記載の三次元データ符号化方法。
The three-dimensional data encoding method according to claim 1 , wherein the second encoding method is a three-dimensional data encoding method using AI.
 前記三次元データはガウシアンデータである
 請求項1記載の三次元データ符号化方法。
The three-dimensional data encoding method according to claim 1 , wherein the three-dimensional data is Gaussian data.
 1以上の第1コンポーネントを含む三次元データを復号する三次元データ復号方法であって、
 ビデオベースの三次元データ符号化方式である第1符号化方式のメタデータが拡張された第1メタデータと、符号化データとを含むビットストリームを取得し、
 前記第1符号化方式と、前記第1符号化方式と異なる第2符号化方式とを含む複数の符号化方式のうち、前記1以上の第1コンポーネントの符号化に用いられた符号化方式を示す第1情報を、前記第1メタデータから取得し、
 前記第1情報により前記第1符号化方式が示される場合、前記符号化データを、前記第1符号化方式に対応する第1復号方式を用いて復号することで前記1以上の第1コンポーネントを生成し、
 前記第1情報により前記第2符号化方式が示される場合、前記符号化データを、前記第2符号化方式に対応する第2復号方式を用いて復号することで前記1以上の第1コンポーネントを生成する
 三次元データ復号方法。
1. A method for decoding three-dimensional data, comprising: decoding three-dimensional data including one or more first components, the method comprising:
obtaining a bitstream including first metadata in which metadata of a first encoding method that is a video-based three-dimensional data encoding method is extended, and encoded data;
obtaining, from the first metadata, first information indicating a coding method used to code the one or more first components, from a plurality of coding methods including the first coding method and a second coding method different from the first coding method;
If the first information indicates the first encoding method, generating the one or more first components by decoding the encoded data using a first decoding method corresponding to the first encoding method;
a three-dimensional data decoding method for generating the one or more first components by decoding the encoded data using a second decoding method corresponding to the second encoding method when the first information indicates the second encoding method.
 前記符号化データは、前記1以上の第1コンポーネントが変換された1以上の第2コンポーネントが符号化されることで生成され、
 前記三次元データ復号方法は、さらに、
 前記1以上の第1コンポーネントと前記1以上の第2コンポーネントとの対応関係を示す第2情報を、前記第1メタデータから取得し、
 前記第1情報により前記第1符号化方式が示される場合、前記符号化データを、前記第1復号方式を用いて復号することで前記1以上の第2コンポーネントを生成し、
 前記第1情報により前記第2符号化方式が示される場合、前記符号化データを、前記第2復号方式を用いて復号することで前記1以上の第2コンポーネントを生成し、
 前記第2情報で示される前記対応関係を用いて、前記1以上の第2コンポーネントを前記1以上の第1コンポーネントに変換する
 請求項7記載の三次元データ復号方法。
the encoded data is generated by encoding one or more second components obtained by transforming the one or more first components,
The three-dimensional data decoding method further includes:
acquiring second information indicating a correspondence relationship between the one or more first components and the one or more second components from the first metadata;
If the first information indicates the first encoding method, generating the one or more second components by decoding the encoded data using the first decoding method;
If the first information indicates the second encoding method, generating the one or more second components by decoding the encoded data using the second decoding method;
The three-dimensional data decoding method according to claim 7 , further comprising: converting the one or more second components into the one or more first components using the correspondence indicated by the second information.
 前記第2符号化方式は、ジオメトリベースの三次元データ符号化方式である
 請求項7記載の三次元データ復号方法。
The three-dimensional data decoding method according to claim 7 , wherein the second encoding method is a geometry-based three-dimensional data encoding method.
 前記第2符号化方式は、ニューラルネットワークベースの三次元データ符号化方式である
 請求項7記載の三次元データ復号方法。
The three-dimensional data decoding method according to claim 7 , wherein the second encoding method is a neural network-based three-dimensional data encoding method.
 前記第2符号化方式は、AIを用いた三次元データ符号化方式である
 請求項7記載の三次元データ復号方法。
The three-dimensional data decoding method according to claim 7 , wherein the second encoding method is a three-dimensional data encoding method using AI.
 前記三次元データはガウシアンデータである
 請求項7記載の三次元データ復号方法。
The three-dimensional data decoding method according to claim 7 , wherein the three-dimensional data is Gaussian data.
 1以上の第1コンポーネントを含む三次元データを符号化する三次元データ符号化装置であって、
 プロセッサと、
 メモリと、を備え、
 前記プロセッサは、前記メモリを用いて、
 ビデオベースの三次元データ符号化方式である第1符号化方式と、前記第1符号化方式と異なる第2符号化方式とを含む複数の符号化方式のうちいずれか一つを選択し、
 前記第1符号化方式が選択された場合、前記1以上の第1コンポーネントを、前記第1符号化方式を用いて符号化することで第1符号化データを生成し、
 前記第2符号化方式が選択された場合、前記1以上の第1コンポーネントを、前記第2符号化方式を用いて符号化することで第2符号化データを生成し、
 前記第1符号化方式のメタデータが拡張された第1メタデータに、前記選択された符号化方式を示す第1情報を格納し、
 前記第1メタデータと、前記第1符号化データ又は前記第2符号化データとを含むビットストリームを生成する
 三次元データ符号化装置。
1. A three-dimensional data encoding device for encoding three-dimensional data including one or more first components, comprising:
a processor;
a memory;
The processor uses the memory to:
selecting one of a plurality of encoding methods including a first encoding method that is a video-based three-dimensional data encoding method and a second encoding method that is different from the first encoding method;
If the first encoding method is selected, generating first encoded data by encoding the one or more first components using the first encoding method;
If the second encoding method is selected, generating second encoded data by encoding the one or more first components using the second encoding method;
storing first information indicating the selected encoding method in first metadata obtained by extending the metadata of the first encoding method;
a three-dimensional data encoding device that generates a bitstream including the first metadata and the first encoded data or the second encoded data;
 1以上の第1コンポーネントを含む三次元データを復号する三次元データ復号装置であって、
 プロセッサと、
 メモリと、を備え、
 前記プロセッサは、前記メモリを用いて、
 ビデオベースの三次元データ符号化方式である第1符号化方式のメタデータが拡張された第1メタデータと、符号化データとを含むビットストリームを取得し、
 前記第1符号化方式と第2符号化方式とを含む複数の符号化方式のうち、前記1以上の第1コンポーネントの符号化に用いられた符号化方式を示す第1情報を、前記第1メタデータから取得し、
 前記第1情報により前記第1符号化方式が示される場合、前記符号化データを、前記第1符号化方式に対応する第1復号方式を用いて復号することで前記1以上の第1コンポーネントを生成し、
 前記第1情報により前記第2符号化方式が示される場合、前記符号化データを、前記第2符号化方式に対応する第2復号方式を用いて復号することで前記1以上の第1コンポーネントを生成する
 三次元データ復号装置。
1. A three-dimensional data decoding device for decoding three-dimensional data including one or more first components, comprising:
a processor;
a memory;
The processor uses the memory to:
obtaining a bitstream including first metadata in which metadata of a first encoding method that is a video-based three-dimensional data encoding method is extended, and encoded data;
obtaining, from the first metadata, first information indicating a coding method used to code the one or more first components, from a plurality of coding methods including the first coding method and the second coding method;
If the first information indicates the first encoding method, generating the one or more first components by decoding the encoded data using a first decoding method corresponding to the first encoding method;
a three-dimensional data decoding device that, when the first information indicates the second encoding method, generates the one or more first components by decoding the encoded data using a second decoding method corresponding to the second encoding method.
PCT/JP2025/010521 2024-03-29 2025-03-18 Three-dimensional data encoding method, three-dimensional data decoding method, three-dimensional data encoding device, and three-dimensional data decoding device Pending WO2025205259A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US202463571743P 2024-03-29 2024-03-29
US63/571,743 2024-03-29

Publications (1)

Publication Number Publication Date
WO2025205259A1 true WO2025205259A1 (en) 2025-10-02

Family

ID=97217187

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2025/010521 Pending WO2025205259A1 (en) 2024-03-29 2025-03-18 Three-dimensional data encoding method, three-dimensional data decoding method, three-dimensional data encoding device, and three-dimensional data decoding device

Country Status (1)

Country Link
WO (1) WO2025205259A1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019208677A1 (en) * 2018-04-27 2019-10-31 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ Coding device, decoding device, coding method, and decoding method
JP2023126113A (en) * 2022-02-28 2023-09-07 ライドフラックス インク NDT map data compression method, device and computer program for autonomous driving system
JP2023178464A (en) * 2019-10-07 2023-12-14 エルジー エレクトロニクス インコーポレイティド Point cloud data transmitting device, point cloud data transmitting method, point cloud data receiving device, and point cloud data receiving method
JP2024040321A (en) * 2018-08-03 2024-03-25 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ Three-dimensional data encoding method, three-dimensional data decoding method, three-dimensional data encoding device, and three-dimensional data decoding device

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019208677A1 (en) * 2018-04-27 2019-10-31 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ Coding device, decoding device, coding method, and decoding method
JP2024040321A (en) * 2018-08-03 2024-03-25 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ Three-dimensional data encoding method, three-dimensional data decoding method, three-dimensional data encoding device, and three-dimensional data decoding device
JP2023178464A (en) * 2019-10-07 2023-12-14 エルジー エレクトロニクス インコーポレイティド Point cloud data transmitting device, point cloud data transmitting method, point cloud data receiving device, and point cloud data receiving method
JP2023126113A (en) * 2022-02-28 2023-09-07 ライドフラックス インク NDT map data compression method, device and computer program for autonomous driving system

Similar Documents

Publication Publication Date Title
JP7711155B2 (en) Three-dimensional data encoding method, three-dimensional data decoding method, three-dimensional data encoding device, and three-dimensional data decoding device
JP7717924B2 (en) Data encoding method and data decoding method
JP7725553B2 (en) Three-dimensional data storage method and three-dimensional data storage device
KR102773884B1 (en) Method and device for point cloud compression
JP7612798B2 (en) Three-dimensional data encoding method, three-dimensional data decoding method, three-dimensional data encoding device, and three-dimensional data decoding device
US12244866B2 (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
JP7233561B2 (en) Method for point cloud compression and its apparatus and computer program
JP7775378B2 (en) Three-dimensional data encoding method, three-dimensional data decoding method, three-dimensional data encoding device, and three-dimensional data decoding device
US12143648B2 (en) Device and method for processing point cloud data
JP7758839B2 (en) Three-dimensional data encoding method, three-dimensional data decoding method, three-dimensional data encoding device, and three-dimensional data decoding device
US20250200820A1 (en) Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method
WO2022191132A1 (en) Three-dimensional data encoding method, three-dimensional data decoding method, three-dimensional data encoding device, and three-dimensional data decoding device
TW202218425A (en) Scale factor for quantization parameter values in geometry-based point cloud compression
US20240020885A1 (en) Point cloud data transmission method, point cloud data transmission device, point cloud data reception method, and point cloud data reception device
JP7747852B2 (en) Three-dimensional data storage method, three-dimensional data acquisition method, three-dimensional data storage device, and three-dimensional data acquisition device
CN112334948A (en) Three-dimensional data encoding method, three-dimensional data decoding method, three-dimensional data encoding device, and three-dimensional data decoding device
KR20240056739A (en) Point cloud data transmission device, point cloud data transmission method, point cloud data reception device and point cloud data reception method
CN116438799A (en) Point cloud data sending device, point cloud data sending method, point cloud data receiving device and point cloud data receiving method
EP4429250A1 (en) Point cloud data transmission device and method, and point cloud data reception device and method
US20240179347A1 (en) Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method
US12307726B2 (en) Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method, where the octree includes a direct node having a single position of one point
US20230412837A1 (en) Point cloud data transmission method, point cloud data transmission device, point cloud data reception method, and point cloud data reception device
WO2025205259A1 (en) Three-dimensional data encoding method, three-dimensional data decoding method, three-dimensional data encoding device, and three-dimensional data decoding device
WO2025205261A1 (en) Three-dimensional data encoding method, three-dimensional data decoding method, three-dimensional data encoding device, and three-dimensional data decoding device
WO2025205248A1 (en) Three-dimensional data encoding method, three-dimensional data decoding method, three-dimensional data encoding device, and three-dimensional data decoding device

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: 25775236

Country of ref document: EP

Kind code of ref document: A1