WO2023105953A1 - 三次元データ復号方法、三次元データ符号化方法、三次元データ復号装置、及び三次元データ符号化装置 - Google Patents

三次元データ復号方法、三次元データ符号化方法、三次元データ復号装置、及び三次元データ符号化装置 Download PDF

Info

Publication number
WO2023105953A1
WO2023105953A1 PCT/JP2022/039442 JP2022039442W WO2023105953A1 WO 2023105953 A1 WO2023105953 A1 WO 2023105953A1 JP 2022039442 W JP2022039442 W JP 2022039442W WO 2023105953 A1 WO2023105953 A1 WO 2023105953A1
Authority
WO
WIPO (PCT)
Prior art keywords
attribute information
information
attribute
dimensional data
conversion
Prior art date
Application number
PCT/JP2022/039442
Other languages
English (en)
French (fr)
Inventor
真人 大川
賀敬 井口
敏康 杉尾
孝啓 西
Original Assignee
パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ filed Critical パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ
Publication of WO2023105953A1 publication Critical patent/WO2023105953A1/ja

Links

Images

Classifications

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

Definitions

  • the present disclosure relates to a three-dimensional data decoding method, a three-dimensional data encoding method, a three-dimensional data decoding device, and a three-dimensional data encoding device.
  • 3D data will spread in a wide range of fields, such as computer vision, map information, monitoring, infrastructure inspection, or video distribution for autonomous operation of automobiles or robots.
  • Three-dimensional data is acquired in various ways, such as range sensors such as range finders, stereo cameras, or a combination of multiple monocular cameras.
  • a representation method As one of the three-dimensional data representation methods, there is a representation method called a point cloud that expresses the shape of a three-dimensional structure using a point group in a three-dimensional space.
  • a point cloud stores the position and color of the point cloud.
  • Point clouds are expected to become mainstream as a method of expressing three-dimensional data, but point clouds have a very large amount of data. Therefore, in the storage or transmission of 3D data, it is essential to compress the amount of data by encoding, as with 2D moving images (one example is MPEG-4 AVC or HEVC standardized by MPEG). Become.
  • point cloud compression is partially supported by a public library (Point Cloud Library) that performs point cloud-related processing.
  • Point Cloud Library a public library that performs point cloud-related processing.
  • Patent Document 1 Japanese Patent Document 1
  • the present disclosure provides a three-dimensional data decoding method, a three-dimensional data encoding method, a three-dimensional data decoding device, or a three-dimensional data encoding device that can process attribute information exceeding the length that conforms to the point cloud compression standard. With the goal.
  • a three-dimensional data decoding method acquires control information indicating that first attribute information of a three-dimensional point and second attribute information of the three-dimensional point are combined, and according to the control information, The first attribute information and the second attribute information are decoded, and the first attribute information and the second attribute information each have a predetermined length conforming to the point cloud compression standard.
  • a three-dimensional data decoding method provides attribute information of three-dimensional points over a plurality of sub-blocks each having a predetermined length conforming to a point cloud compression standard. is acquired, and the attribute information is decoded according to the control information.
  • a three-dimensional data encoding method generates control information indicating that first attribute information of a three-dimensional point and second attribute information of the three-dimensional point are combined, and encoding attribute information and the second attribute information; generating a bitstream including the encoded first attribute information and the second attribute information; and the control information;
  • Each piece of attribute information has a predetermined length conforming to the point cloud compression standard.
  • a three-dimensional data encoding method provides attribute information of three-dimensional points over a plurality of sub-blocks each having a predetermined length that conforms to a point cloud compression standard.
  • control information indicating that the attribute information is encoded, and a bitstream including the encoded attribute information and the control information is generated.
  • the present disclosure can provide a 3D data decoding method, a 3D data encoding method, a 3D data decoding device, or a 3D data encoding device that can process attribute information exceeding the length conforming to the point cloud compression standard.
  • FIG. 1 is a diagram showing an example of position information and attribute information of a point cloud according to the embodiment.
  • FIG. 2 is a block diagram of a three-dimensional data encoding device according to an embodiment.
  • FIG. 3 is a block diagram of a three-dimensional data decoding device according to an embodiment.
  • FIG. 4 is a diagram showing an example of dividing input attribute information into a plurality of post-conversion attribute information according to the embodiment.
  • FIG. 5 is a diagram illustrating an example of correspondence relationships between a plurality of pieces of post-conversion attribute information, components, and subcomponents according to the embodiment.
  • FIG. 6 is a diagram illustrating an example of correspondence relationships between a plurality of post-conversion attribute information, components, and subcomponents according to the embodiment.
  • FIG. 1 is a diagram showing an example of position information and attribute information of a point cloud according to the embodiment.
  • FIG. 2 is a block diagram of a three-dimensional data encoding device according to an embodiment.
  • FIG. 7 is a diagram illustrating an example of correspondence relationships between a plurality of post-conversion attribute information, components, and subcomponents according to the embodiment.
  • FIG. 8 is a diagram illustrating an example of conversion processing according to the embodiment.
  • FIG. 9 is a flowchart of conversion processing according to the embodiment.
  • FIG. 10 is a diagram illustrating an example of inverse transform processing according to the embodiment.
  • FIG. 11 is a flowchart of inverse conversion processing according to the embodiment.
  • FIG. 12 is a diagram showing a first specific example of conversion processing according to the embodiment.
  • FIG. 13 is a diagram showing a first specific example of inverse transform processing according to the embodiment.
  • FIG. 14 is a diagram showing a second specific example of conversion processing according to the embodiment.
  • FIG. 15 is a diagram showing a second specific example of inverse conversion processing according to the embodiment.
  • FIG. 16 is a block diagram of a modification of the 3D data encoding device according to the embodiment.
  • FIG. 17 is a block diagram of a modification of the 3D data decoding device according to the embodiment.
  • FIG. 18 is a diagram illustrating a syntax example of common information according to the embodiment.
  • FIG. 19 is a diagram showing a syntax example of individual information according to the embodiment.
  • FIG. 20 is a diagram showing a configuration example of a bitstream according to the embodiment.
  • FIG. 21 is a diagram showing a configuration example of a bitstream according to the embodiment.
  • FIG. 22 is a diagram showing a configuration example of a bitstream according to the embodiment.
  • FIG. 23 is a diagram illustrating an example of SPS syntax according to the embodiment.
  • FIG. 24 is a diagram illustrating an example of SEI syntax according to the embodiment.
  • FIG. 25 is a diagram illustrating a syntax example of attribute_partition_common_info2 according to the embodiment.
  • FIG. 26 is a flowchart of 3D data encoding processing according to the embodiment.
  • FIG. 27 is a flowchart of 3D data decoding processing according to the embodiment.
  • FIG. 28 is a block diagram of a modification of the 3D data encoding device according to the embodiment.
  • FIG. 29 is a block diagram of a modification of the 3D data decoding device according to the embodiment.
  • 30A and 30B are diagrams illustrating an example of combining and dividing processing according to the embodiment.
  • FIG. 31 is a diagram illustrating an example of SEI syntax according to the embodiment.
  • FIG. 32 is a diagram illustrating a syntax example of attribute_partition_common_info3 according to the embodiment.
  • FIG. 33 is a flowchart of 3D data decoding processing according to the embodiment.
  • FIG. 34 is a flowchart of 3D data decoding processing according to the embodiment.
  • FIG. 35 is a flowchart of 3D data encoding processing according to the embodiment.
  • FIG. 36 is a flowchart of 3D data encoding processing according to the embodiment.
  • a three-dimensional data decoding method acquires control information indicating that first attribute information of a three-dimensional point and second attribute information of the three-dimensional point are combined, and according to the control information, The first attribute information and the second attribute information are decoded, and the first attribute information and the second attribute information each have a predetermined length conforming to the point cloud compression standard.
  • the three-dimensional data decoding method combines the first attribute information and the second attribute information decoded by a process conforming to the point group compression standard, so that the length conforming to the point group compression standard Attribute information exceeding (size) can be generated. Therefore, it is possible to process attribute information exceeding the length conforming to the point cloud compression standard.
  • a three-dimensional data decoding method provides attribute information of three-dimensional points over a plurality of sub-blocks each having a predetermined length conforming to a point cloud compression standard. is acquired, and the attribute information is decoded according to the control information.
  • the three-dimensional data decoding method can generate attribute information provided over a plurality of sub-blocks decoded by processing conforming to the point cloud compression standard.
  • one piece of information may be indicated by attribute information provided to the plurality of sub-blocks. Therefore, according to this aspect, the three-dimensional data decoding method can generate one piece of attribute information having a length equal to or longer than the length conforming to the point cloud compression standard.
  • the plurality of sub-blocks may have the same length.
  • the plurality of sub-blocks may be a plurality of components of the attribute information or a plurality of dimensions included in one component of the attribute information conforming to the point cloud compression standard.
  • the three-dimensional data decoding method can decode a plurality of sub-blocks having a length conforming to the point cloud compression standard by using components or multiple dimensions provided in advance in the point cloud compression standard. . Therefore, it is not necessary to use a special container separately, so compatibility with the point cloud compression standard can be maintained.
  • control information may include information indicating correspondence relationships between the plurality of sub-blocks and the plurality of components or the plurality of dimensions.
  • the three-dimensional data decoding method can grasp the relationship between a plurality of components or a plurality of dimensions and sub-blocks using the control information.
  • This correspondence relationship is used, for example, for combining a plurality of pieces of attribute information.
  • control information may include conversion information regarding conversion of the attribute information provided over the plurality of sub-blocks.
  • the attribute information provided over a plurality of sub-blocks is converted, there is a possibility that the coding efficiency will be improved (the code amount will be reduced). Accordingly, the amount of data processed by the three-dimensional data decoding method can be reduced.
  • the transform information includes a first coefficient applied to a first sub-block among the plurality of sub-blocks and a second coefficient applied to a second sub-block among the plurality of sub-blocks.
  • the first coefficient and the second coefficient may be different.
  • the value of the first sub-block tends to be close to 0 and the value of the second sub-block tends to be close to a value other than 0, the value of each sub-block
  • the amount of code can be further suppressed by performing different transforms on the . More specifically, when 64-bit attribute information is provided over four 16-bit length sub-blocks, depending on the attribute information, the size may not reach the size that can be expressed in 64 bits. In this case, since the predetermined number of high-order bits are 0, the code amount can be reduced by making the coefficients for the high-order 16-bit subblocks different from the coefficients for the low-order subblocks. When the tendency of values differs for each subblock in this way, the code amount can be suppressed by applying different coefficients for each subblock.
  • control information may include additional conversion information regarding conversion of the attribute information before division.
  • the three-dimensional data encoding device can convert the attribute information before division, so that the encoding efficiency can be improved.
  • the three-dimensional data decoding method can restore the original attribute information by inversely transforming the transform using the additional transform information.
  • a three-dimensional data encoding method generates control information indicating that first attribute information of a three-dimensional point and second attribute information of the three-dimensional point are combined, and encoding attribute information and the second attribute information; generating a bitstream including the encoded first attribute information and the second attribute information; and the control information;
  • Each piece of attribute information has a predetermined length conforming to the point cloud compression standard.
  • a three-dimensional data decoding device that decodes a bitstream generated by the three-dimensional data encoding method converts the first attribute information and the second attribute information decoded by processing conforming to the point group compression standard to , it is possible to generate attribute information that exceeds the length (size) conforming to the point cloud compression standard. Therefore, it is possible to process attribute information exceeding the length conforming to the point cloud compression standard.
  • a three-dimensional data encoding method provides attribute information of three-dimensional points over a plurality of sub-blocks each having a predetermined length that conforms to a point cloud compression standard.
  • control information indicating that the attribute information is encoded, and a bitstream including the encoded attribute information and the control information is generated.
  • the three-dimensional data decoding device can generate attribute information provided over a plurality of sub-blocks decoded by processing conforming to the point cloud compression standard.
  • one piece of information may be indicated by attribute information provided to the plurality of sub-blocks. Therefore, according to this aspect, the three-dimensional data decoding device can generate one piece of attribute information having a length equal to or longer than the point cloud compression standard.
  • the plurality of sub-blocks may have the same length.
  • the plurality of sub-blocks may be a plurality of components of the attribute information or a plurality of dimensions included in one component of the attribute information conforming to the point cloud compression standard.
  • the three-dimensional data encoding method encodes a plurality of sub-blocks having a length conforming to the point cloud compression standard by using components or multiple dimensions provided in advance in the point cloud compression standard. can be Therefore, it is not necessary to use a special container separately, so compatibility with the point cloud compression standard can be maintained.
  • control information may include information indicating correspondence relationships between the plurality of sub-blocks and the plurality of components or the plurality of dimensions.
  • the three-dimensional data decoding device can grasp the relationship between multiple components or multiple dimensions and sub-blocks using the control information.
  • This correspondence relationship is used, for example, for combining a plurality of pieces of attribute information.
  • control information may include conversion information regarding conversion of the attribute information provided over the plurality of sub-blocks.
  • the attribute information provided over a plurality of sub-blocks is converted, there is a possibility that the coding efficiency will be improved (the code amount will be reduced). Accordingly, the amount of data processed by the 3D data decoding device can be reduced.
  • the transform information includes a first coefficient applied to a first sub-block among the plurality of sub-blocks and a second coefficient applied to a second sub-block among the plurality of sub-blocks.
  • the first coefficient and the second coefficient may be different.
  • control information may include additional conversion information regarding conversion of the attribute information before division.
  • the three-dimensional data encoding method can convert the attribute information before division, so that the encoding efficiency can be improved. Also, the three-dimensional data decoding device can restore the original attribute information by inversely transforming the transform using the additional transform information.
  • a three-dimensional data decoding device includes a processor and a memory, and the processor uses the memory to store first attribute information of a three-dimensional point and first attribute information of the three-dimensional point. acquiring control information indicating that two pieces of attribute information are combined, decoding the first attribute information and the second attribute information according to the control information, and decoding the first attribute information and the second attribute information, respectively It has a predetermined length conforming to the point cloud compression standard.
  • the three-dimensional data decoding device combines the first attribute information and the second attribute information decoded by processing conforming to the point cloud compression standard, thereby obtaining a length conforming to the point cloud compression standard. Attribute information exceeding (size) can be generated. Therefore, it is possible to process attribute information exceeding the length conforming to the point cloud compression standard.
  • a three-dimensional data decoding device includes a processor and a memory, and the processor uses the memory to determine a predetermined length conforming to a point cloud compression standard. acquires control information indicating that attribute information of a three-dimensional point is provided over a plurality of sub-blocks possessed by , and decodes the attribute information according to the control information.
  • the three-dimensional data decoding device can generate attribute information provided over a plurality of sub-blocks decoded by processing conforming to the point cloud compression standard.
  • a three-dimensional data encoding device includes a processor and a memory, and the processor uses the memory to convert first attribute information of a three-dimensional point and generating control information indicating that the second attribute information is combined, encoding the first attribute information and the second attribute information, and encoding the first attribute information and the encoded second attribute information; and the control information, wherein the first attribute information and the second attribute information each have a predetermined length conforming to a point cloud compression standard.
  • the three-dimensional data decoding device that decodes the bitstream generated by the three-dimensional data encoding device generates the first attribute information and the second attribute information decoded by the process conforming to the point group compression standard. , it is possible to generate attribute information that exceeds the length (size) conforming to the point cloud compression standard. Therefore, it is possible to process attribute information exceeding the length conforming to the point cloud compression standard.
  • a three-dimensional data encoding device includes a processor and a memory, and the processor uses the memory to encode a predetermined length conforming to a point cloud compression standard. generating control information indicating that attribute information of three-dimensional points is provided over a plurality of sub-blocks each of which has, encoding the attribute information, and combining the encoded attribute information and the control information; Generate a bitstream containing
  • the three-dimensional data decoding device can generate attribute information provided over a plurality of sub-blocks decoded by processing conforming to the point cloud compression standard.
  • a three-dimensional data encoding device and a three-dimensional data decoding device will be described below.
  • a 3D data encoding device generates a bitstream by encoding 3D data.
  • a three-dimensional data decoding device generates three-dimensional data by decoding the bitstream.
  • Three-dimensional data is, for example, point cloud data.
  • a point cloud is a collection of a plurality of three-dimensional points and indicates the three-dimensional shape of an object.
  • the point cloud data includes position information and attribute information of a plurality of 3D points.
  • the position information indicates the three-dimensional position of each three-dimensional point.
  • position information may also be called geometry information.
  • positional information is represented by a rectangular coordinate system or a polar coordinate system.
  • Attribute information indicates, for example, color, reflectance, or normal vector.
  • One three-dimensional point may have one piece of attribute information or may have a plurality of pieces of attribute information.
  • the three-dimensional data is not limited to point cloud data, and may be other three-dimensional data such as mesh data.
  • Mesh data also referred to as three-dimensional mesh data
  • CG Computer Graphics
  • mesh data includes point cloud information (eg, vertex information). Therefore, the same method as the method corresponding to the point cloud data can be applied to this point cloud information.
  • FIG. 1 is an example of position information and attribute information of a point group, and is a diagram showing an example in which the attribute information is a time stamp.
  • a timestamp is time information.
  • the timestamp is time information with the property defined as "timestamp" in the ply file format, time information defined as GPS time in the LAS file format, or NTP (Network Time Protocol) or PTP (Precision Time Protocol) and other time information.
  • the Lifting method or the RAHT (Region Adaptive Hierarchical Transform) method may be used, or the attribute information may be stored in the bitstream as RAW data without being encoded.
  • RAHT is a method of transforming attribute information using positional information of three-dimensional points.
  • By applying Haar transform or the like to attribute information high frequency components and low frequency components of each layer are generated, These values are quantized, entropy coded, and so on.
  • Lifting is one of conversion methods using LoD (Level of Detail), and is a method for calculating prediction residuals.
  • LoD is a method of layering three-dimensional points according to position information, and is a method of layering three-dimensional points according to the distance between points (sparse and dense).
  • the three-dimensional data encoding device may calculate a difference value between the absolute value of the time stamp and a predetermined value, and encode the difference value. may be calculated and encoded. This makes it possible to reduce the amount of information. Note that the encoding order or decoding order of a plurality of points may be changed.
  • bit depth of data that can generally be handled by an encoding/decoding system is limited, and a method or algorithm for encoding or decoding with a limited bit depth is defined. This makes it possible to keep the processing amount and processing time within a realistic range.
  • Encoding/decoding systems for 3D data are restricted in the bit depth of position information and attribute information to be encoded, and handle data with a bit depth exceeding that. I can't.
  • bit depth that can be handled differs depending on whether encoding is performed or not, or depending on the encoding method.
  • the maximum bit depth of coded attribute information is 16 bits
  • information with a large bit depth such as 64-bit time information can be encoded and decoded as attribute information.
  • the maximum bit depth of position information that can be encoded is 21 bits
  • position information with a large bit depth such as 32-bit position information cannot be encoded and decoded.
  • 3D data includes data generated by sensing the real physical world.
  • the bit depth of position information is a value determined by the point resolution and spatial range.
  • the point resolution varies depending on the performance of the sensor that acquires the point cloud or the distance to the object.
  • the extent of space varies depending on the use case or application. In other words, the range of possible bit depths is wide, and there are many data that exceed the bit depths restricted by encoding/decoding systems.
  • attribute information other than color such as reflectance, transmittance, infrared information, and time information, and there are many data exceeding the bit depth restricted by the encoding/decoding system. That is, in a three-dimensional data encoding/decoding system, it is necessary to encode/decode information of various bit depths using a restricted bit depth system.
  • 3D data generated by sensing the real physical world has position information limited to a certain range of resolution and attribute information has a certain bit depth, like 3D moving images.
  • the requirements are different from encoding/decoding systems that target color-limited data.
  • the 3D data encoding / decoding system will use a system with a limited bit depth, A function to encode/decode information of various bit depths is required.
  • the input attribute information is divided into units (a plurality of post-conversion attribute information) that can be handled as attribute information in encoding.
  • This enables encoding and decoding of attribute information exceeding the bit depth that the system can handle for encoding and decoding. Transformation information and attribute splitting information are stored in the encoded bitstream as metadata (SPS, APS, or SEI). This enables the 3D data decoding device to restore the input attribute information from the encoded bitstream.
  • SPS static polyviny
  • APS APS
  • SEI SEI
  • FIG. 2 is a block diagram showing the configuration of the three-dimensional data encoding device 100 according to this embodiment. Although FIG. 2 shows only the configuration related to encoding of attribute information, the three-dimensional data encoding device 100 includes other processing units such as a position information encoding unit that encodes position information. may
  • the three-dimensional data encoding device 100 includes an attribute information conversion section 101 and an attribute information encoding section 102.
  • the attribute information conversion unit 101 divides the input attribute information into a plurality of post-conversion attribute information. Also, the attribute information conversion unit 101 generates conversion information regarding conversion processing.
  • the input attribute information is attribute information included in the three-dimensional data to be encoded.
  • the attribute information encoding unit 102 generates encoded attribute information by encoding a plurality of post-conversion attribute information. Also, the attribute information encoding unit 102 generates attribute division information regarding division of attribute information, including transformation information. The 3D data encoding device 100 generates a bitstream including encoded attribute information and attribute division information. Note that the encoding method by the attribute information encoding unit 102 is not particularly limited. good too.
  • FIG. 3 is a block diagram showing the configuration of the three-dimensional data decoding device 200 according to this embodiment. Although FIG. 3 shows only the configuration related to decoding of attribute information, the 3D data decoding device 200 may include other processing units such as a position information decoding unit that decodes position information.
  • the 3D data decoding device 200 decodes the bitstream generated by the 3D data encoding device 100 .
  • the three-dimensional data decoding device 200 includes an attribute information decoding section 201 and an attribute information reverse conversion section 202 .
  • the attribute information decoding unit 201 acquires encoded attribute information and attribute division information from the bitstream, and decodes the encoded attribute information to generate a plurality of post-conversion attribute information. Also, the attribute information decoding unit 201 acquires conversion information included in the attribute division information.
  • the decoding method by the attribute information decoding unit 201 is not particularly limited, for example, one or more of intra prediction processing, inter prediction processing, inverse quantization processing, and entropy decoding processing (arithmetic decoding processing) may be performed.
  • the attribute information inverse conversion unit 202 generates output attribute information by combining a plurality of post-conversion attribute information using the attribute division information and the conversion information.
  • the output attribute information corresponds to the input attribute information in FIG. 2, and is obtained by restoring the input attribute information.
  • FIG. 4 is a diagram showing an example of dividing input attribute information into a plurality of post-conversion attribute information.
  • the input attribute information is divided into four post-conversion attribute information.
  • FIGS. 5, 6, and 7 are diagrams showing examples of encoding multiple pieces of post-conversion attribute information as multiple components in an encoding system.
  • FIG. 5 is a diagram illustrating an example of encoding and decoding a plurality of post-transform attribute information as multi-dimensional sub-components of one component (also called an attribute component). That is, in the example shown in FIG. 5, the attribute information (time stamp) is encoded as one component, and one post-conversion attribute information is encoded as one subcomponent. That is, the attribute information (timestamp) component includes a plurality of subcomponents, and one subcomponent corresponds to one post-conversion attribute information.
  • the component corresponds to the type of attribute information, such as color, reflectance, and time information.
  • a subcomponent corresponds to a plurality of dimensions (components) included in the component. For example, if the component is color and is represented in RGB, the multiple subcomponents correspond to R, G, and B, respectively.
  • FIG. 6 is a diagram showing an example of encoding and decoding multiple post-conversion attribute information as multiple components. That is, in the example shown in FIG. 6, the attribute information (time stamp) is encoded as multiple components, and one post-conversion attribute information is encoded as one component. That is, one component includes one subcomponent, and one subcomponent corresponds to one post-conversion attribute information.
  • FIG. 7 is a diagram showing an example of encoding and decoding a plurality of pieces of post-conversion attribute information as a plurality of components and a plurality of dimensional subcomponents. That is, in the example shown in FIG. 7, the attribute information (timestamp) is encoded as multiple components, and the multiple post-conversion attribute information is encoded as multiple components.
  • One component includes a plurality of subcomponents, and one subcomponent corresponds to one post-conversion attribute information.
  • the three-dimensional data encoding apparatus 100 may use any one of the methods of associating a plurality of post-conversion attribute information with one or more components as shown in FIGS. may be used selectively.
  • the three-dimensional data encoding device 100 converts a plurality of post-conversion attribute information obtained by dividing the input attribute information into one or more components using any of the plurality of methods shown in FIGS. Encode in correspondence.
  • the 3D data encoding apparatus 100 stores information indicating the correspondence relationship between a plurality of post-conversion attribute information (divided components) and one or more components in a bitstream.
  • the three-dimensional data decoding device 200 can decode a plurality of post-conversion attribute information encoded by various methods, and combine the decoded plurality of post-conversion attribute information to reproduce the input attribute information.
  • the attribute information conversion unit 101 performs division processing of input attribute information, scale and offset processing, and processing of changing the order of data of a plurality of points.
  • the attribute information reverse conversion unit 202 performs combining processing, scaling processing, offset processing, and data order switching processing for a plurality of pieces of post-conversion attribute information. This enables encoding and decoding of various attribute information with different bit depths, attribute information value ranges, or resolutions.
  • the scale value and offset value are examples of transform information or coefficients (first coefficient and second coefficient).
  • FIG. 8 is a diagram showing an example of conversion processing in the attribute information conversion unit 101.
  • FIG. 9 is a flowchart of conversion processing in the attribute information conversion unit 101. As shown in FIG.
  • the attribute information conversion unit 101 generates post-conversion input attribute information by performing conversion processing on the entire input attribute information (S101). Specifically, the attribute information conversion unit 101 performs scale processing and offset processing on all values of input attribute information using the following (Equation 1).
  • val_output (val_input+global_offset) ⁇ global_scale (Formula 2)
  • val_input indicates the value of input attribute information
  • val_output indicates the value of post-conversion input attribute information
  • global_scale is a scale value used in the conversion process
  • global_offset is an offset value used in the conversion process.
  • global_scale and global_offset are examples of additional conversion information.
  • attribute information conversion unit 101 may perform only one of scale processing and offset processing, or may not perform the conversion processing.
  • the attribute information conversion unit 101 divides the post-conversion input attribute information into a plurality of pieces of divided attribute information (S102).
  • a timestamp with a bit depth of 64 bits is divided into four pieces of 16-bit division attribute information.
  • the attribute information conversion unit 101 gives an identifier (partition_id) to each partition attribute information. Identifiers may be assigned in ascending order, descending order, or any other method.
  • the attribute information conversion unit 101 performs conversion processing (scale processing and offset processing) using a scale value (local_scale) and an offset value (local_offset) for each of the plurality of pieces of divided attribute information, thereby obtaining a plurality of conversions.
  • Post-attribute information is generated (S103).
  • a formula similar to (Formula 1) or (Formula 2) is used. Specifically, an expression is used in which global_scale and global_offset in (Equation 1) or (Equation 2) are replaced with local_scale and local_offset, respectively.
  • val_input indicates the value of split attribute information
  • val_output indicates the value of post-conversion attribute information.
  • attribute information conversion unit 101 may perform only one of scale processing and offset processing, or may not perform the conversion processing. Also, the attribute information conversion unit 101 may perform quantization (rounding) processing after scale processing. Also, the scale value and offset value used for the plurality of division attribute information may be different or may be the same.
  • the attribute information conversion unit 101 also outputs a plurality of post-conversion attribute information and conversion information indicating parameters used for division and conversion to the attribute information encoding unit 102 (S104).
  • the conversion information includes global_scale, global_offset, local_scale, local_offset, partition_id, bit depth of input attribute information (or input attribute information after conversion), bit depth of split attribute information (or attribute information after conversion), split order , and division methods.
  • the attribute information encoding unit 102 encodes conversion information as metadata.
  • the attribute information encoding unit 102 stores transform information in a bitstream.
  • the attribute information conversion unit 101 may perform the above conversion processing on all the points forming the 3D point group, or on some of the points.
  • FIG. 10 is a diagram showing an example of reverse conversion processing in the attribute information reverse conversion unit 202.
  • FIG. 11 is a flowchart of reverse conversion processing in the attribute information reverse conversion unit 202 .
  • the attribute information decoding unit 201 decodes a plurality of post-conversion attribute information, converts the metadata from the conversion information (global_scale, global_offset, local_scale, local_offset, partition_id, input attribute information (or post-conversion input attribute information, combined attribute information, bit depth of output attribute information), bit depth of split attribute information (or post-conversion attribute information), split order and split method, etc.).
  • the attribute information inverse conversion unit 202 generates a plurality of divided attribute information by inversely converting each of the plurality of post-conversion attribute information using the conversion information (S201). Specifically, the attribute information inverse transforming unit 202 performs scale processing and offset processing on all values of each divided attribute information using the following (Equation 3).
  • val_output (val_decode + inv_local_offset) x inv_local_scale (formula 3)
  • val_decode indicates the value of attribute information after conversion
  • val_output indicates the value of split attribute information.
  • inv_local_offset is an offset value used in the inverse transform process and corresponds to -(local_offset).
  • inv_local_scale is a scale value used in the inverse transform process and corresponds to 1/local_scale.
  • val_output (val_decode) ⁇ inv_local_scale+inv_local_offset (formula 4)
  • attribute information reverse conversion unit 202 may perform only one of the scaling process and the offset process, or may not perform the reverse conversion process. Also, the scale value and offset value used for a plurality of post-conversion attribute information may be different or may be the same.
  • the attribute information reverse conversion unit 202 generates combined attribute information by combining the obtained multiple pieces of divided attribute information (S202). Note that a specific joining method will be described later.
  • the attribute information inverse transformation unit 202 generates output attribute information by inversely transforming the combined attribute information using the overall scale value (inv_global_scale) and the offset value (inv_global_offset) (S203).
  • the attribute information reverse conversion unit 202 performs reverse conversion processing using a formula similar to (Formula 3) or (Formula 4). Specifically, an expression is used in which inv_local_offset and inv_local_scale in (Equation 3) or (Equation 4) are replaced with inv_global_offset and inv_global_scale, respectively. Also, in this case, val_decode indicates the value of the joint attribute information, and val_output indicates the value of the output attribute information. Also, inv_global_offset is an offset value used in the inverse transform process and corresponds to -(global_offset). inv_global_scale is a scale value used in the inverse transform process and corresponds to 1/global_scale.
  • attribute information inverse conversion unit 202 may perform only one of the scaling process and the offset process, or may not perform the conversion process. Also, the attribute information inverse transform unit 202 may perform quantization (rounding) processing after scale processing.
  • the attribute information reverse conversion unit 202 outputs the obtained output attribute information (S204).
  • attribute information inverse transforming unit 202 may perform the above-described inverse transforming process on all the points forming the three-dimensional point group, or may perform it on some of the points.
  • the three-dimensional data encoding device 100 stores conversion information regarding conversion processing in the attribute information conversion unit 101 as metadata, and transmits the metadata to the attribute information inverse conversion unit 202 .
  • the attribute information reverse conversion unit 202 can restore the output attribute information corresponding to the input attribute information.
  • FIG. 12 is a diagram showing a first specific example of processing by the attribute information conversion unit 101. As shown in FIG. 12
  • the timestamp is divided into four subcomponents and encoded and decoded.
  • the division method shown here is an example, and the division method is not limited to this.
  • FIG. 12 omits descriptions of encoding and decoding processes for a plurality of post-conversion attribute information and conversion information.
  • the 3D data encoding device 100 may determine the scale value and the offset value based on the attribute information values of a plurality of points in the point cloud. Specifically, the three-dimensional data encoding device 100 may search for the overall tendency of attribute information values of a plurality of points in the point group, and determine the scale value and the offset value based on the tendency. For example, the 3D data encoding device 100 may determine the offset value based on the average value or median value of attribute information of a plurality of points.
  • the point cloud data may be point cloud data of a plurality of frames or may be point cloud data of one frame.
  • the scale value and the offset value may be common values for the sequence (multiple frames), or common values for each other processing unit.
  • a common value may be used for one or a plurality of frames, or a common value may be used for each of one or a plurality of processing units (for example, slices) obtained by dividing a frame.
  • the attribute information conversion unit 101 divides the post-conversion input attribute information x' to generate four pieces of divided attribute information x1, x2, x3, and x4 (S102).
  • the attribute information conversion unit 101 divides the post-conversion input attribute information x' by a specified number of bits (16 bits in this example) from the MSB (Most Significant Bit).
  • the attribute information conversion unit 101 outputs four post-conversion attribute information x1', x2', x3', x4' and conversion information (S104).
  • the conversion information includes global_scale and global_offset, and four sets of local_scale and local_offset.
  • both the local_scale and local_offset of a block may differ from the local_scale and local_offset of other blocks.
  • the local_scale of each of the four blocks may be different, and the local_offset of each of the four blocks may be different.
  • FIG. 13 is a diagram showing a first specific example of processing by the attribute information reverse conversion unit 202.
  • the attribute information inverse transformation unit 202 inversely transforms the four post-transformation attribute information x1′, x2′, x3′, and x4′ generated by the processing shown in FIG. , x4 (S201).
  • the attribute information reverse conversion unit 202 calculates four sets of inv_local_scale and inv_local_offset from the four sets of local_scale and local_offset included in the conversion information, and uses the calculated four sets of inv_local_scale and inv_local_offset to generate four post-conversion attribute information.
  • the attribute information reverse conversion unit 202 generates combined attribute information x' by combining the four pieces of divided attribute information x1', x2', x3', and x4' (S202).
  • the division method used in the attribute information conversion unit 101 is a method of dividing the input attribute information by the number of bits specified from the MSB and assigning partition_ids in ascending order from the MSB
  • the attribute information is reverse-converted.
  • the unit 202 combines the four pieces of partition attribute information x1′, x2′, x3′, x4′ using the partition_id included in the conversion information and the number of bits of the partition attribute information (post-conversion attribute information).
  • local_length[1] to local_length[4] indicate the number of bits of post-conversion attribute information x1 to x4, respectively, which is 16 in this example.
  • the attribute information inverse transformation unit 202 generates output attribute information x by inversely transforming the combined attribute information x' (S203).
  • the attribute information inverse transformation unit 202 calculates inv_global_scale and inv_global_offset from the global_scale and global_offset included in the transformation information, and inversely transforms the combined attribute information x′ using the calculated inv_global_scale and inv_global_offset.
  • the attribute information reverse conversion unit 202 outputs the obtained output attribute information x (S204).
  • FIG. 14 is a diagram showing a second specific example, which is another example of processing by the attribute information conversion unit 101.
  • the conversion of input attribute information (S101) and the output of a plurality of post-conversion attribute information (S104) are the same as in FIG. 12, and descriptions thereof are omitted.
  • the attribute information conversion unit 101 performs division (S102) and conversion (S103) of post-conversion input attribute information collectively using scale processing and offset processing.
  • the attribute information conversion unit 101 performs rounding processing or clip processing in order to fit the scaled and offset-processed values within the bit depth of the post-conversion attribute information (16 bits in this example). Thereby, the processing of S102 and S103 can be integrated. In this example, the attribute information conversion unit 101 performs a process of clipping values exceeding 16 bits for values that have undergone scale processing and offset processing.
  • FIG. 15 is a diagram showing a second specific example, which is another example of processing by the attribute information reverse conversion unit 202.
  • the attribute information reverse conversion unit 202 calculates four sets of inv_local_scale and inv_local_offset from the four sets of local_scale and local_offset used in FIG. , x2′, x3′, and x4′ to generate four pieces of split attribute information x1, x2, x3, and x4 (S201).
  • the attribute information reverse conversion unit 202 combines the four pieces of divided attribute information x1, x2, x3, and x4 by adding the four pieces of divided attribute information x1, x2, x3, and x4 (S202).
  • decoding is possible without using the division method, order, and bit depth of attribute information after conversion, and it is possible to reduce the amount of metadata (conversion information).
  • bit depth of the attribute information after conversion is 16 bits, that is, the case of dividing the input attribute information exceeding 16 bits, but the bit depth of the attribute information after conversion is arbitrary. bit depth of . Also, this bit depth may be set in the 3D data encoding device 100 . For example, this bit depth may be set based on user input. Also, information indicating this bit depth may be stored in the bitstream.
  • this bit depth (eg, 16 bits) is a bit depth (bit length) conforming to the point cloud compression standard (eg, PCC (Point Cloud Coding) standard).
  • the bit depth of the attribute information before division is a bit depth that exceeds the bit depth described above, and is a bit depth that does not comply with the point cloud compression standard.
  • a 3D point cloud has multiple pieces of input attribute information to be divided.
  • the encoding and decoding systems support encoding and decoding of data up to 16 bits.
  • an example of encoding and decoding two or more pieces of attribute information exceeding 16 bits (such as a 64-bit time stamp) will be described.
  • FIG. 16 is a block diagram showing the configuration of the three-dimensional data encoding device 100A in this case.
  • the three-dimensional data encoding device 100A includes an attribute information conversion section 101A and an attribute information encoding section 102A.
  • the attribute information conversion unit 101A divides the input attribute information A into a plurality of pieces of attribute information A after conversion, and divides the input attribute information B into a plurality of pieces of attribute information B after conversion. Further, the attribute information conversion unit 101A generates conversion information A regarding conversion processing of input attribute information A, and generates conversion information B regarding conversion processing of input attribute information B.
  • the input attribute information A and the input attribute information B are attribute information included in the three-dimensional data to be encoded. Note that the input attribute information A and the input attribute information B may be the same type of attribute information (for example, time stamp), or may be different types of attribute information.
  • the attribute information encoding unit 102A generates encoded attribute information by encoding a plurality of pieces of post-conversion attribute information A and a plurality of pieces of post-conversion attribute information B. Also, the attribute information encoding unit 102A generates attribute division information including conversion information A and conversion information B. FIG. The 3D data encoding device 100A generates a bitstream containing encoded attribute information and attribute division information.
  • FIG. 17 is a block diagram showing the configuration of the three-dimensional data decoding device 200A in this case.
  • the 3D data decoding device 200A decodes the bitstream generated by the 3D data encoding device 100A.
  • the three-dimensional data decoding device 200A includes an attribute information decoding section 201A and an attribute information reverse conversion section 202A.
  • the attribute information decoding unit 201A acquires encoded attribute information and attribute division information from the bitstream, and decodes the encoded attribute information to generate a plurality of post-conversion attribute information A and a plurality of post-conversion attribute information B. Also, the attribute information decoding unit 201A acquires conversion information A and conversion information B included in the attribute division information.
  • the attribute information reverse conversion unit 202A combines a plurality of pieces of post-conversion attribute information A using the conversion information A to generate output attribute information A, and uses the conversion information B to combine a plurality of pieces of post-conversion attribute information B.
  • Output attribute information B is generated in this way.
  • the output attribute information A corresponds to the input attribute information A in FIG. 16
  • the output attribute information B corresponds to the input attribute information B in FIG.
  • the syntax of conversion information is explained below. Note that the conversion information output from the attribute information conversion unit 101 to the attribute information encoding unit 102 and the conversion information output from the attribute information decoding unit 201 to the attribute information inverse conversion unit 202 do not necessarily follow the syntax configuration below. , syntax values can be notified to the subsequent processing unit.
  • the conversion information includes individual information corresponding to each of the plurality of post-conversion attribute information and common information common to the plurality of post-conversion attribute information. Also, the conversion information may have a plurality of common information. For example, when multiple pieces of input attribute information are encoded and decoded as shown in FIGS. 16 and 17, transform information for each of the multiple pieces of input attribute information may be stored in bits and streams.
  • a group including a plurality of post-conversion attribute information to which the same common information is applied is called an attribute partition group (partition_group).
  • partition_group a group including a plurality of post-conversion attribute information to which the same common information is applied.
  • two attribute division groups may be set when there is a plurality of pieces of input attribute information.
  • FIG. 18 is a diagram showing a syntax example of common information (attribute_partition_common_info).
  • Common information includes partition_group_num, partition_group_id, partition_num, global_length, global_scale, global_offset, and partition_order.
  • partition_group_num indicates the number of attribute division groups.
  • Common information includes division group common information (partition_group_id, partition_num, global_length, global_scale, global_offset, partition_order) that is common information for each attribute division group when the number of attribute groups is one or more.
  • partition_group_id is an index indicating an attribute division group. Note that the order of information description in the syntax and the value of the index may be matched, and the storage of partition_group_id may be omitted.
  • partition_num indicates the number of divisions of attribute information in the attribute division group.
  • global_length indicates the total bit length of pre-division attribute information (input attribute information) of attribute information belonging to the attribute division group.
  • global_scale indicates a scale value used for converting attribute information (input attribute information) before division in the attribute division group.
  • global_offset indicates an offset value used for conversion of attribute information (input attribute information) before division in the attribute division group.
  • partition_order indicates the definition order of the identifiers (partition_id) of the plurality of post-conversion attribute information (plurality of split attribute information) belonging to the attribute split group.
  • FIG. 19 is a diagram showing a syntax example of individual information (attribute_partition_info).
  • the individual information includes partition_group_id, partition_id, local_length, local_scale, and local_offset.
  • partition_group_id indicates an attribute division group to which post-conversion attribute information to which individual information is applied belongs. Also, common information having the same partition_group_id as the partition_group_id is referenced when encoding and decoding the post-conversion attribute information.
  • partition_id indicates the identifier of post-conversion attribute information. Note that the order of description of the individual information in the bitstream and the value of the identifier may be matched, and the storage of the partition_id may be omitted. Further, when the value of partition_order included in the common information is 0, the values of partition_id assigned to the plurality of post-conversion attribute information are set in ascending order from the upper bit side of the plurality of post-conversion attribute information. In this case, the values of partition_id assigned to the plurality of post-conversion attribute information may be set in ascending order from the lower bit side of the plurality of post-conversion attribute information. Also, in the three-dimensional data decoding device, if the identifier of the post-conversion attribute information can be determined based on partition_order, storage of partition_id may be omitted.
  • local_length indicates the bit length of the post-conversion attribute information.
  • local_scale indicates a scale value used for conversion of the post-conversion attribute information.
  • local_offset indicates an offset value used for conversion of the post-conversion attribute information.
  • FIG. 20 is a diagram showing a configuration example of a bitstream in this case.
  • the three-dimensional point has position information and attribute information.
  • the attribute information includes reflectance and time information (time stamp). Reflectance has a bit depth that can be encoded as a single subcomponent, and time information has a bit depth that cannot be encoded as a single subcomponent. Also, the reflectance is encoded as first attribute information, and the time information is encoded as second attribute information. Also, the three-dimensional data encoding device divides the time information into four parts and encodes them as four-dimensional subcomponents so that the time information can be encoded as a single subcomponent.
  • the encoded data of attribute information is a data unit containing a header and a payload, and the header of the data unit is given an attribute component identifier (attr_id).
  • attribute information is time information
  • the attribute information may be information of another type.
  • the second attribute information is divided into four to generate four post-conversion attribute information.
  • the four pieces of post-conversion attribute information are encoded as one attribute component.
  • the four pieces of post-transformation attribute information are encoded as four-dimensional subcomponents.
  • APS Data unit header or parameter set
  • a three-dimensional data decoding device refers to this metadata to decode the encoded data.
  • APS Attribute Parameter Set
  • APS(0) is metadata related to the first attribute information
  • APS(1) is the second
  • Metadata related to attribute information For example, APS is metadata common to multiple frames.
  • Geom(0) is encoded data of position information.
  • GPS Global System for Mobile Communications
  • GPS Global System for Mobile Communications
  • metadata Parameter set
  • GPS is metadata common to multiple frames.
  • SPS Sequence Parameter Set
  • SEI Supplemental Enhancement Information
  • the SPS contains information for each attribute component.
  • the SPS or SEI includes attribute division information that indicates the corresponding relationship between divided input attribute information and attribute components or subcomponents.
  • the attribute division information may further include conversion information as described above.
  • the three-dimensional data encoding device does not need to use prediction between components to encode the second attribute information.
  • prediction between components may be prohibited in the encoding of the second attribute information.
  • FIG. 21 is a diagram showing a configuration example of a bitstream in this case.
  • the reflectance is encoded as the first attribute information
  • the time information is divided into multiple (four) pieces so that it can be encoded as a single subcomponent, and encoded as the second to fifth attribute information. be done.
  • the four post-change attribute information are encoded as four attribute components with one-dimensional subcomponents.
  • the encoded data of each attribute component constitutes one data unit.
  • An attribute component identifier (attr_id) is added to the header of the data unit.
  • APS data unit header or parameter set
  • FIG. 21 is an example in which an APS is provided for each attribute component, and five APSs corresponding to five attribute components are provided. Note that one parameter set may be shared by multiple attribute components.
  • the SPS or SEI includes attribute division information that indicates the corresponding relationship between divided input attribute information and attribute components or subcomponents.
  • the attribute division information may further include conversion information as described above.
  • the three-dimensional data encoding device may assign a plurality of post-conversion attribute information to different attribute components and encode them using different encoding methods. For example, a three-dimensional data encoding device assigns time information divided into 16 bits x 4 components to four attribute components, and encodes some attribute components by an encoding method such as the Lifting method or the Raht method. and encode the remaining attribute components as RAW data.
  • a three-dimensional data encoding device assigns time information divided into 16 bits x 4 components to four attribute components, and encodes some attribute components by an encoding method such as the Lifting method or the Raht method. and encode the remaining attribute components as RAW data.
  • the data in the lower 16 bits is not encoded and is converted into RAW data. It may be possible to suppress the increase in
  • the three-dimensional data encoding device may change parameters related to encoding, such as quantization parameters or various functions, depending on attribute components. For example, if the lower 8 bits of the 64-bit time information do not have valid precision, the upper 48-bit component may not be quantized, and the lower 16-bit component may be quantized.
  • each attribute component has a different parameter set (APS), and each parameter set contains parameters relating to the encoding of the corresponding attribute component.
  • APS parameter set
  • each parameter set contains parameters relating to the encoding of the corresponding attribute component.
  • FIG. 7 is a diagram showing a configuration example of a bitstream in this case.
  • the reflectance is encoded as the first attribute information
  • the time information is divided into a plurality (four) so that it can be encoded as a single subcomponent, and two subcomponents are used as the second and third attribute information, respectively. It is encoded using the dimensional subcomponents.
  • the second and third attribute information are each encoded as two-dimensional subcomponents of the transformed attribute information.
  • Metadata related to encoding may be stored in an APS provided for each piece of attribute information, or may be stored in a common APS for a plurality of pieces of attribute information.
  • the three-dimensional data encoding device should not use prediction between components to encode the second or third attribute information. good too.
  • the SPS or SEI includes attribute division information that indicates the corresponding relationship between divided input attribute information and attribute components or subcomponents.
  • the attribute division information may further include conversion information as described above.
  • the attribute division information indicates correspondence relationships between divided attribute information (a plurality of post-conversion attribute information), attribute components, and dimensions (subcomponents). Also, the attribute division information may include the conversion information described above.
  • FIG. 23 is a diagram showing an example of SPS syntax including attribute division information and conversion information. Note that the attribute splitting information and conversion information may be included in metadata or headers such as APS or SEI.
  • the attribute partition information includes attribute_type, instance_id, num_dimension, attribute_info, and attribute_partition.
  • numAttribute indicates the number of attribute components included in the sequence.
  • the attribute partition information includes information (attribute_type, instance_id, num_dimension, attribute_info, attribute_partition) on attribute components for the number of numAttributes.
  • attribute_type indicates the type of attribute. instance_id is an identifier in the same attribute type. num_dimension indicates the number of dimensions (number of subcomponents) of the attribute. attribute_info() contains detailed attribute information.
  • attribute_partition indicates whether the bitstream contains attribute partition information and transformation information.
  • the SPS contains attribute_partition_info( ) for each dimension.
  • attribute_partition_info( ) is transformation information for each dimension and has the syntax shown in FIG.
  • attribute_partition_info( ) includes partition_id indicating post-conversion attribute information, as shown in FIG.
  • the partition_id is indicated in the loop for each dimension within the loop for each attribute component. This indicates the correspondence relationship between post-conversion attribute information, attribute components, and dimensions (subcomponents), that is, attribute division information.
  • attribute_partition_info( ) may include conversion information such as partition_length, partition_scale, and partition_offset.
  • the SPS may also include common information (attribute_partition_common_info()).
  • attribute_partition_common_info( ) may have the syntax shown in FIG. Note that the three-dimensional data encoding device may store information having functions equivalent to global_length, global_scale, or global_offset in SPS, APS, or SEI, and may not store global_length, global_scale, or global_offset in SPS. .
  • FIG. 24 and 25 are diagrams showing syntax examples of attribute division information.
  • FIG. 24 is a diagram showing an example of SEI syntax. Note that the syntax of attribute division information may be included in other headers or the like.
  • the SEI contains identifiers that indicate encoding structures such as attribute components or dimensions in the SPS.
  • the SEI includes sps_id, frame_id, and attribute_partition_common_info2().
  • sps_id indicates the identifier of the SPS to which the SEI corresponds.
  • frame_id indicates the identifier of the frame corresponding to the attribute split information when the attribute split information changes for each frame. frame_id may be omitted if the attribute splitting information does not change for each frame.
  • attribute_partition_common_info2( ) is common conversion information.
  • FIG. 25 is a diagram showing a syntax example of attribute_partition_common_info2.
  • attribute_partition_common_info2 includes, in addition to attribute_partition_common_info( ) shown in FIG. 18, individual information (attribute_partition_info()), an attribute component identifier (attr_id) shown in the SPS, and a dimension index (dimension_id). attr_id and dimension_id are defined in the order of description (order of definition) of attribute_partition_info( ) in SPS, and may be omitted. Note that attribute_partition_info( ) has the syntax shown in FIG. 19, for example.
  • FIG. 26 is a flowchart of 3D data encoding processing by the 3D data encoding device.
  • the 3D data encoding device divides and transforms the input attribute information (S111). Specifically, the processes of steps S101 to S104 shown in FIG. 9 described above are performed.
  • the three-dimensional data encoding device generates encoded attribute information by assigning a plurality of post-conversion attribute information to a plurality of dimensions of one or a plurality of attribute components and encoding them (S112).
  • the 3D data encoding device generates metadata including transformation information and attribute division information (S113).
  • the 3D data encoding device outputs a bitstream including encoded attribute information and metadata (S114).
  • FIG. 27 is a flowchart of 3D data decoding processing by the 3D data decoding device.
  • the 3D data decoding device acquires a bitstream (S211).
  • the 3D data decoding device decodes a plurality of attribute components from the bitstream in the designated dimension (S212).
  • the three-dimensional data decoding device decodes (obtains) conversion information and attribute division information from the bitstream (S213).
  • the three-dimensional data decoding device acquires the correspondence relationship between each dimension data of the decoded attribute component and partition_id from the attribute partition information.
  • the three-dimensional data decoding device combines and transforms the multiple pieces of decoded converted attribute information (S214). Specifically, steps S201 to S204 shown in FIG. 11 described above are performed. Also, the three-dimensional data decoding device refers to the correspondence indicated by the attribute partition information, and inversely transforms the post-transformation attribute information using the transformation information for the partition_id of the post-transformation attribute information.
  • the three-dimensional data encoding device divides and encodes the input attribute information.
  • the integrated attribute information may be encoded as one component. Specifically, when a plurality of pieces of input attribute information with a small bit depth are input, the 3D data encoding device may integrate the pieces of input attribute information and encode them as one piece of attribute information.
  • the three-dimensional data encoding device may integrate 4-bit input attribute information A and 4-bit input attribute information B and encode them as 8-bit attribute information C. This may reduce coding overhead and improve coding efficiency. Further, when the input attribute information after integration is large, the three-dimensional data encoding device may divide the attribute information after integration.
  • FIG. 28 is a block diagram showing the configuration of the three-dimensional data encoding device 100B in this case.
  • the three-dimensional data encoding device 100B includes an attribute information integration section 103, an attribute information conversion section 101, and an attribute information encoding section .
  • the attribute information integration unit 103 generates integrated attribute information by integrating a plurality of pieces of input attribute information. Note that the attribute information integration unit 103 may integrate only a part of a plurality of pieces of input attribute information.
  • the attribute information conversion unit 101 converts and divides the integrated attribute information to generate a plurality of post-conversion attribute information.
  • the attribute information encoding unit 102 generates encoded attribute information by encoding a plurality of post-conversion attribute information. Note that the processing in the attribute information conversion unit 101 and the attribute information encoding unit 102 are, for example, similar to those described above.
  • attribute_type 'general_data'.
  • attribute_type is stored in SPS or the like, for example.
  • the attribute division information described above indicates the correspondence relationship between a plurality of pieces of post-conversion attribute information integrated and divided and attribute components or subcomponents.
  • FIG. 29 is a block diagram showing the configuration of the three-dimensional data decoding device 200B in this case.
  • the 3D data decoding device 200B decodes the bitstream generated by the 3D data encoding device 100B.
  • the three-dimensional data decoding device 200B includes an attribute information decoding section 201, an attribute information reverse conversion section 202, and an attribute information division section 203.
  • the attribute information decoding unit 201 acquires encoded attribute information and attribute division information from the bitstream, and decodes the encoded attribute information to generate a plurality of post-conversion attribute information.
  • the attribute information inverse conversion unit 202 generates integrated attribute information by combining and inversely converting a plurality of post-conversion attribute information. Note that the processing in the attribute information decoding unit 201 and the attribute information reverse conversion unit 202 are, for example, similar to those described above.
  • the attribute information dividing unit 203 generates a plurality of pieces of output attribute information by dividing the integrated attribute information.
  • the plurality of pieces of output attribute information correspond to the plurality of pieces of input attribute information in FIG.
  • FIG. 30 is a diagram showing an example of integrating and dividing multiple pieces of input attribute information into multiple pieces of post-conversion attribute information.
  • the number of bits of the input attribute information A, B, D, and E is equal to or less than a predetermined first bit number (e.g., 8 bits), and the attribute information integration unit 103 combines the input attribute information A and the input attribute Integrated attribute information F (post-conversion attribute information F) is generated by integrating information B, and integrated attribute information G (post-conversion attribute information G) is generated by integrating input attribute information D and input attribute information E. Generate.
  • a predetermined first bit number e.g. 8 bits
  • the number of bits of the input attribute information C is larger than a predetermined second number of bits (for example, 16 bits), and the attribute information conversion unit 101 divides the input attribute information C to convert the converted attribute information H and the converted Post-attribute information I is generated.
  • FIGS. 31 and 32 are diagrams showing syntax examples of attribute division information.
  • FIG. 31 is a diagram showing an example of SEI syntax. Note that the syntax of attribute division information may be included in other headers or the like.
  • the SEI includes sps_id, frame_id, and attribute_partition_common_info3().
  • sps_id indicates the identifier of the SPS to which the SEI corresponds.
  • frame_id indicates the identifier of the frame corresponding to the attribute split information when the attribute split information changes for each frame.
  • attribute_partition_common_info3( ) is common conversion information.
  • FIG. 32 is a diagram showing a syntax example of attribute_partition_common_info3.
  • the syntax shown in FIG. 32 has partition_num2 added to the attribute_partition_common_info2 syntax shown in FIG.
  • partition_num2 indicates the number of integrated multiple pieces of input attribute information when the attribute information of one component is data that integrates multiple pieces of input attribute information.
  • individual information (attribute_partition_info( )) is provided for each piece of input attribute information before integration.
  • the integrated input attribute information, attribute component and dimension (subcomponent) that is, attribute division information.
  • the three-dimensional data decoding device performs the processing shown in FIG.
  • the 3D data decoding device acquires control information (for example, SEI or SPS) indicating that the first attribute information of the 3D point and the second attribute information of the 3D point are merged (S301).
  • the first attribute information and the second attribute information each have a predetermined length (eg, bit length or bit depth) conforming to the point cloud compression standard (eg, PCC standard).
  • the 3D data decoding device decodes the first attribute information and the second attribute information according to the control information (S302).
  • control information is, for example, SEI or SPS.
  • attribute_partition shown in FIG. 23 indicates whether or not the first attribute information of the three-dimensional point and the second attribute information of the three-dimensional point are combined.
  • the SEI or SPS includes the conversion information or the attribute division information described above, or at least a part thereof
  • the three-dimensional data decoding device uses the first attribute information of the three-dimensional point and the first attribute information of the three-dimensional point. 2 attribute information may be determined to be combined.
  • the three-dimensional data decoding device combines the first attribute information and the second attribute information decoded by processing conforming to the point cloud compression standard, thereby obtaining a length conforming to the point cloud compression standard ( size) can be generated. Therefore, it is possible to process attribute information exceeding the length conforming to the point cloud compression standard.
  • the three-dimensional data decoding device may generate third attribute information by combining the decoded first attribute information and second attribute information.
  • the third attribute information may exceed a predetermined length conforming to point cloud compression rules.
  • the three-dimensional data decoding device performs the processing shown in FIG.
  • a three-dimensional data decoding device obtains control information indicating that three-dimensional point attribute information is provided over a plurality of sub-blocks each having a predetermined length conforming to a point cloud compression standard. (S311), the attribute information is decoded according to the control information (S312).
  • control information is, for example, SEI or SPS.
  • attribute_partition shown in FIG. 23 indicates whether or not attribute information of three-dimensional points is provided over a plurality of sub-blocks.
  • the SEI or SPS includes the transformation information or the attribute division information described above, or at least a part thereof
  • the three-dimensional data decoding device is configured so that the attribute information of the three-dimensional points is distributed over a plurality of subblocks. may be determined to be provided.
  • the three-dimensional data decoding device can generate attribute information provided over a plurality of sub-blocks decoded by processing conforming to the point cloud compression standard.
  • a three-dimensional data decoding device generates attribute information by decoding each of a plurality of sub-blocks. For example, a three-dimensional data decoding device generates a plurality of first attribute information by decoding each of a plurality of sub-blocks, and generates second attribute information by combining the plurality of first attribute information. For example, the second attribute information may exceed a predetermined length conforming to point cloud compression rules.
  • one piece of information is indicated by attribute information provided in multiple sub-blocks.
  • one piece of information is a time stamp or the like, and is information indicating one value.
  • the information of each of the plurality of sub-blocks does not correspond to, for example, one component of RGB or YUV (for example, R component).
  • One piece of information is information that can be counted as one unit that makes sense. That is, the information of each of the plurality of sub-blocks is meaningless information individually, and meaningful information can be obtained by combining the information of the plurality of sub-blocks. Therefore, according to this aspect, the three-dimensional data decoding device can generate one piece of attribute information having a length equal to or longer than the point cloud compression standard.
  • multiple sub-blocks have the same length. At least some of the sub-blocks may have different lengths.
  • a plurality of sub-blocks are a plurality of components of attribute information or a plurality of dimensions (sub-components) included in one component of attribute information conforming to the point cloud compression standard.
  • the three-dimensional data decoding device can decode a plurality of sub-blocks having a length conforming to the point cloud compression standard by using components or multiple dimensions provided in advance according to the point cloud compression standard. Therefore, it is not necessary to use a special container separately, so compatibility with the point cloud compression standard can be maintained.
  • control information includes information (for example, attribute division information) indicating correspondence relationships between multiple sub-blocks and multiple components or multiple dimensions.
  • the three-dimensional data decoding device generates a plurality of first attribute information by decoding each of a plurality of sub-blocks, and uses the information (for example, attribute division information) to combine the plurality of first attribute information. By doing so, the second attribute information is generated.
  • the three-dimensional data decoding device can grasp the relationship between multiple components or multiple dimensions and sub-blocks using the control information.
  • control information includes conversion information regarding conversion of the attribute information provided over a plurality of sub-blocks.
  • the three-dimensional data decoding device inversely transforms the decoded attribute information using transform information.
  • the transform information here is at least one of a scale value and an offset value, for example.
  • the attribute information provided over a plurality of sub-blocks is converted, there is a possibility that the coding efficiency will be improved (the code amount will be reduced). Accordingly, the amount of data processed by the 3D data decoding device can be reduced.
  • the transform information includes a first coefficient applied to a first sub-block of the plurality of sub-blocks and a second coefficient applied to a second sub-block of the plurality of sub-blocks.
  • the first coefficient and the second coefficient are different.
  • a three-dimensional data decoding device generates a plurality of first attribute information by decoding each of a plurality of sub-blocks, and converts each of the plurality of first attribute information into the first attribute information (sub-block). Inverse transform using the corresponding coefficients (transform coefficients).
  • the coefficient (each of the first coefficient and the second coefficient) is, for example, at least one of a scale value and an offset value.
  • the value of the first sub-block tends to be close to 0 and the value of the second sub-block tends to be close to a value other than 0, the value of each sub-block
  • the amount of code can be further suppressed by performing different transforms on the . More specifically, when 64-bit attribute information is provided over four 16-bit length sub-blocks, depending on the attribute information, the size may not reach the size that can be expressed in 64 bits. In this case, since the predetermined number of high-order bits are 0, the code amount can be reduced by making the coefficients for the high-order 16-bit subblocks different from the coefficients for the low-order subblocks. When the tendency of values differs for each subblock in this way, the code amount can be suppressed by applying different coefficients for each subblock.
  • control information includes additional conversion information (for example, at least one of global_scale and global_offset) regarding conversion of attribute information before division.
  • additional conversion information for example, at least one of global_scale and global_offset
  • the three-dimensional data decoding device generates a plurality of first attribute information by decoding each of a plurality of sub-blocks, generates second attribute information by combining the plurality of first attribute information, Inverse transform the second attribute information using the additional transformation information.
  • the three-dimensional data encoding device can convert the attribute information before division, so that the encoding efficiency can be improved. Also, the three-dimensional data decoding device can restore the original attribute information by inversely transforming the transform using the additional transform information.
  • a three-dimensional data decoding device includes a processor and memory, and the processor uses the memory to perform the above processing.
  • the three-dimensional data encoding device performs the processing shown in FIG.
  • the 3D data encoding device generates control information (eg, SEI or SPS) indicating that the first attribute information of the 3D point and the second attribute information of the 3D point are combined (S401).
  • the first attribute information and the second attribute information each have a predetermined length (eg, bit length or bit depth) conforming to the point cloud compression standard (eg, PCC standard).
  • the 3D data encoding device encodes the first attribute information and the second attribute information (S402), and generates a bitstream including the encoded first attribute information and second attribute information and control information ( S403).
  • control information is, for example, SEI or SPS.
  • attribute_partition shown in FIG. 23 indicates whether or not the first attribute information of the three-dimensional point and the second attribute information of the three-dimensional point are combined.
  • the SEI or SPS includes the conversion information or the attribute division information described above, or at least a part thereof
  • the three-dimensional data decoding device uses the first attribute information of the three-dimensional point and the first attribute information of the three-dimensional point. 2 attribute information may be determined to be combined.
  • the 3D data decoding device that decodes the bitstream generated by the 3D data encoding device can decode the first attribute information and the second attribute information by processing conforming to the point group compression standard. Also, by combining the decoded first attribute information and second attribute information, it is possible to generate attribute information exceeding the length conforming to the point cloud compression standard. Therefore, it is possible to process attribute information exceeding the length conforming to the point cloud compression standard.
  • the three-dimensional data encoding device may generate first attribute information and second attribute information by dividing the third attribute information.
  • the third attribute information may exceed a predetermined length conforming to point cloud compression rules.
  • the three-dimensional data encoding device performs the processing shown in FIG.
  • a three-dimensional data encoding device generates control information indicating that three-dimensional point attribute information is provided over a plurality of sub-blocks each having a predetermined length conforming to a point cloud compression standard. (S411), the attribute information is encoded (S412), and a bitstream including the encoded attribute information and control information is generated (S413).
  • control information is, for example, SEI or SPS.
  • attribute_partition shown in FIG. 23 indicates whether or not attribute information of three-dimensional points is provided over a plurality of sub-blocks.
  • the SEI or SPS includes the transformation information or the attribute division information described above, or at least a part thereof
  • the three-dimensional data decoding device is configured so that the attribute information of the three-dimensional points is distributed over a plurality of subblocks. may be determined to be provided.
  • the 3D data decoding device can decode a plurality of sub-blocks through processing conforming to the point cloud compression standard. Moreover, even when the attribute information exceeds the length complying with the point cloud compression standard, the attribute information can be processed.
  • the three-dimensional data encoding device divides the first attribute information to generate a plurality of second attribute information, and provides the plurality of second attribute information to the plurality of sub-blocks.
  • the first attribute information may exceed a predetermined length conforming to point cloud compression rules.
  • Providing here means storing each of the plurality of second attribute information in the plurality of sub-blocks. In other words, providing means encoding a plurality of pieces of second attribute information in association with a plurality of sub-blocks.
  • one piece of information is indicated by attribute information provided in multiple sub-blocks.
  • one piece of information is information indicating one value, such as a time stamp.
  • the information of each of the plurality of sub-blocks does not correspond to, for example, one component of RGB or YUV (for example, R component).
  • One piece of information is information that can be counted as one unit that makes sense. That is, the information of each of the plurality of sub-blocks is meaningless information individually, and meaningful information can be obtained by combining the information of the plurality of sub-blocks.
  • multiple sub-blocks have the same length. At least some of the sub-blocks may have different lengths.
  • the multiple sub-blocks are multiple components of the attribute information or multiple dimensions (multiple sub-components) included in one component of the attribute information conforming to the point cloud compression standard.
  • the three-dimensional data encoding device encodes a plurality of sub-blocks having a length conforming to the point cloud compression standard by using components or multiple dimensions provided in advance in the point cloud compression standard. can. Therefore, it is not necessary to use a special container separately, so compatibility with the point cloud compression standard can be maintained.
  • control information includes information (for example, attribute division information) indicating correspondence relationships between multiple sub-blocks and multiple components or multiple dimensions.
  • information for example, attribute division information
  • a 3D data encoding device stores this information in control information.
  • the three-dimensional data decoding device can grasp the relationship between multiple components or multiple dimensions and sub-blocks using the control information.
  • control information includes conversion information regarding conversion of the attribute information provided over a plurality of sub-blocks.
  • a three-dimensional data encoding device transforms a plurality of sub-blocks and encodes attribute information after transformation. Conversion information relates to the conversion.
  • the transform information here is at least one of a scale value and an offset value, for example.
  • the attribute information provided over a plurality of sub-blocks is converted, there is a possibility that the coding efficiency will be improved (the code amount will be reduced). Accordingly, the amount of data processed by the 3D data decoding device can be reduced. .
  • the transform information includes a first coefficient applied to a first sub-block of the plurality of sub-blocks and a second coefficient applied to a second sub-block of the plurality of sub-blocks.
  • the first coefficient and the second coefficient are different.
  • a three-dimensional data encoding device transforms each of a plurality of subblocks using coefficients (transform coefficients) corresponding to the subblock.
  • the coefficient is, for example, at least one of a scale value and an offset value.
  • control information includes additional conversion information (for example, at least one of global_scale and global_offset) regarding conversion of attribute information before division.
  • additional conversion information for example, at least one of global_scale and global_offset
  • a three-dimensional data encoding device converts first attribute information (attribute information before division) to generate second attribute information, and divides the second attribute information into a plurality of sub-blocks (a plurality of sub-blocks). third attribute information).
  • Additional conversion information relates to conversion of the first attribute information.
  • the three-dimensional data encoding device can convert the attribute information before division, so that the encoding efficiency can be improved. Also, the three-dimensional data decoding device can restore the original attribute information by inversely transforming the transform using the additional transform information.
  • a three-dimensional data encoding device includes a processor and memory, and the processor uses the memory to perform the above processing.
  • each processing unit included in the three-dimensional data encoding device, the three-dimensional data decoding device, etc. according to the above embodiments is typically realized as an LSI, which is an integrated circuit. These may be made into one chip individually, or may be made into one chip so as to include part or all of them.
  • circuit integration is not limited to LSIs, and may be realized with dedicated circuits or general-purpose processors.
  • An FPGA Field Programmable Gate Array
  • a reconfigurable processor that can reconfigure the connections and settings of the circuit cells inside the LSI may be used.
  • each component may be configured with dedicated hardware or realized by executing a software program suitable for each component.
  • Each component may be realized by reading and executing a software program recorded in a recording medium such as a hard disk or a semiconductor memory by a program execution unit such as a CPU or processor.
  • the present disclosure may be implemented as a three-dimensional data encoding method, a three-dimensional data decoding method, or the like executed by a three-dimensional data encoding device, a three-dimensional data decoding device, or the like.
  • the division of functional blocks in the block diagram is an example, and a plurality of functional blocks can be realized as one functional block, one functional block can be divided into a plurality of functional blocks, and some functions can be moved to other functional blocks.
  • single hardware or software may process the functions of a plurality of functional blocks having similar functions in parallel or in a time-sharing manner.
  • each step in the flowchart is executed is for illustrative purposes in order to specifically describe the present disclosure, and orders other than the above may be used. Also, some of the above steps may be executed concurrently (in parallel) with other steps.
  • the present disclosure can be applied to a 3D data encoding device and a 3D data decoding device.

Landscapes

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

Abstract

三次元データ復号方法は、三次元点の第1属性情報と三次元点の第2属性情報とが結合されることを示す制御情報を取得し(S301)、制御情報に従って第1属性情報及び第2属性情報を復号し(S302)、第1属性情報及び第2属性情報は、それぞれ点群圧縮規格に準拠した予め定められた長さを有する。または、三次元データ復号方法は、点群圧縮規格に準拠する予め定められた長さを各々が有する複数のサブブロックに亘って三次元点の属性情報が提供されていることを示す制御情報を取得し(S311)、制御情報に従って属性情報を復号する(S312)。

Description

三次元データ復号方法、三次元データ符号化方法、三次元データ復号装置、及び三次元データ符号化装置
 本開示は、三次元データ復号方法、三次元データ符号化方法、三次元データ復号装置、及び三次元データ符号化装置に関する。
 自動車或いはロボットが自律的に動作するためのコンピュータビジョン、マップ情報、監視、インフラ点検、又は、映像配信など、幅広い分野において、今後、三次元データを活用した装置又はサービスの普及が見込まれる。三次元データは、レンジファインダなどの距離センサ、ステレオカメラ、又は複数の単眼カメラの組み合わせなど様々な方法で取得される。
 三次元データの表現方法の1つとして、三次元空間内の点群によって三次元構造の形状を表すポイントクラウドと呼ばれる表現方法がある。ポイントクラウドでは、点群の位置と色とが格納される。ポイントクラウドは三次元データの表現方法として主流になると予想されるが、点群はデータ量が非常に大きい。よって、三次元データの蓄積又は伝送においては二次元の動画像(一例として、MPEGで規格化されたMPEG-4 AVC又はHEVCなどがある)と同様に、符号化によるデータ量の圧縮が必須となる。
 また、ポイントクラウドの圧縮については、ポイントクラウド関連の処理を行う公開のライブラリ(Point Cloud Library)などによって一部サポートされている。
 また、三次元の地図データを用いて、車両周辺に位置する施設を検索し、表示する技術が知られている(例えば、特許文献1参照)。
国際公開第2014/020663号
 三次元データの符号化処理及び復号処理では、点群圧縮規格に準拠する長さを超える属性情報を処理できないという課題がある。
 本開示は、点群圧縮規格に準拠する長さを超える属性情報を処理できる三次元データ復号方法、三次元データ符号化方法、三次元データ復号装置、又は三次元データ符号化装置を提供することを目的とする。
 本開示の一態様に係る三次元データ復号方法は、三次元点の第1属性情報と前記三次元点の第2属性情報とが結合されることを示す制御情報を取得し、前記制御情報に従って前記第1属性情報及び前記第2属性情報を復号し、前記第1属性情報及び前記第2属性情報は、それぞれ点群圧縮規格に準拠した予め定められた長さを有する。
 本開示の一態様に係る三次元データ復号方法は、点群圧縮規格に準拠する予め定められた長さを各々が有する複数のサブブロックに亘って三次元点の属性情報が提供されていることを示す制御情報を取得し、前記制御情報に従って前記属性情報を復号する。
 本開示の一態様に係る三次元データ符号化方法は、三次元点の第1属性情報と前記三次元点の第2属性情報とが結合されることを示す制御情報を生成し、前記第1属性情報及び前記第2属性情報を符号化し、符号化された前記第1属性情報及び前記第2属性情報と、前記制御情報とを含むビットストリームを生成し、前記第1属性情報及び前記第2属性情報は、それぞれ点群圧縮規格に準拠した予め定められた長さを有する。
 本開示の一態様に係る三次元データ符号化方法は、点群圧縮規格に準拠する予め定められた長さを各々が有する複数のサブブロックに亘って三次元点の属性情報が提供されていることを示す制御情報を生成し、前記属性情報を符号化し、符号化された前記属性情報と、前記制御情報とを含むビットストリームを生成する。
 本開示は、点群圧縮規格に準拠する長さを超える属性情報を処理できる三次元データ復号方法、三次元データ符号化方法、三次元データ復号装置、又は三次元データ符号化装置を提供できる。
図1は、実施の形態に係る点群の位置情報及び属性情報の例を示す図である。 図2は、実施の形態に係る三次元データ符号化装置のブロック図である。 図3は、実施の形態に係る三次元データ復号装置のブロック図である。 図4は、実施の形態に係る入力属性情報を複数の変換後属性情報に分割する例を示す図である。 図5は、実施の形態に係る複数の変換後属性情報とコンポーネント及びサブコンポーネントとの対応関係の例を示す図である。 図6は、実施の形態に係る複数の変換後属性情報とコンポーネント及びサブコンポーネントとの対応関係の例を示す図である。 図7は、実施の形態に係る複数の変換後属性情報とコンポーネント及びサブコンポーネントとの対応関係の例を示す図である。 図8は、実施の形態に係る変換処理の例を示す図である。 図9は、実施の形態に係る変換処理のフローチャートである。 図10は、実施の形態に係る逆変換処理の例を示す図である。 図11は、実施の形態に係る逆変換処理のフローチャートである。 図12は、実施の形態に係る変換処理の第1の具体例を示す図である。 図13は、実施の形態に係る逆変換処理の第1の具体例を示す図である。 図14は、実施の形態に係る変換処理の第2の具体例を示す図である。 図15は、実施の形態に係る逆変換処理の第2の具体例を示す図である。 図16は、実施の形態に係る三次元データ符号化装置の変形例のブロック図である。 図17は、実施の形態に係る三次元データ復号装置の変形例のブロック図である。 図18は、実施の形態に係る共通情報のシンタックス例を示す図である。 図19は、実施の形態に係る個別情報のシンタックス例を示す図である。 図20は、実施の形態に係るビットストリームの構成例を示す図である。 図21は、実施の形態に係るビットストリームの構成例を示す図である。 図22は、実施の形態に係るビットストリームの構成例を示す図である。 図23は、実施の形態に係るSPSのシンタックス例を示す図である。 図24は、実施の形態に係るSEIのシンタックス例を示す図である。 図25は、実施の形態に係るattribute_partition_common_info2のシンタックス例を示す図である。 図26は、実施の形態に係る三次元データ符号化処理のフローチャートである。 図27は、実施の形態に係る三次元データ復号処理のフローチャートである。 図28は、実施の形態に係る三次元データ符号化装置の変形例のブロック図である。 図29は、実施の形態に係る三次元データ復号装置の変形例のブロック図である。 図30は、実施の形態に係る結合及び分割処理の例を示す図である。 図31は、実施の形態に係るSEIのシンタックス例を示す図である。 図32は、実施の形態に係るattribute_partition_common_info3のシンタックス例を示す図である。 図33は、実施の形態に係る三次元データ復号処理のフローチャートである。 図34は、実施の形態に係る三次元データ復号処理のフローチャートである。 図35は、実施の形態に係る三次元データ符号化処理のフローチャートである。 図36は、実施の形態に係る三次元データ符号化処理のフローチャートである。
 本開示の一態様に係る三次元データ復号方法は、三次元点の第1属性情報と前記三次元点の第2属性情報とが結合されることを示す制御情報を取得し、前記制御情報に従って前記第1属性情報及び前記第2属性情報を復号し、前記第1属性情報及び前記第2属性情報は、それぞれ点群圧縮規格に準拠した予め定められた長さを有する。
 これによれば、当該三次元データ復号方法は、点群圧縮規格に準拠した処理により復号された第1属性情報と第2属性情報とを結合することで、点群圧縮規格に準拠する長さ(サイズ)を超える属性情報を生成できる。よって、点群圧縮規格に準拠する長さを超える属性情報の処理を実現できる。
 本開示の一態様に係る三次元データ復号方法は、点群圧縮規格に準拠する予め定められた長さを各々が有する複数のサブブロックに亘って三次元点の属性情報が提供されていることを示す制御情報を取得し、前記制御情報に従って前記属性情報を復号する。
 これによれば、当該三次元データ復号方法は、点群圧縮規格に準拠した処理により復号された複数のサブブロックに亘って設けられた属性情報を生成できる。
 例えば、前記複数のサブブロックに提供されている属性情報により1つの情報が示されてもよい。したがって、この態様によれば、当該三次元データ復号方法は、点群圧縮規格に準拠する長さ以上の長さを有する1つの属性情報を生成できる。
 例えば、前記複数のサブブロックは、同一の長さを有してもよい。例えば、前記複数のサブブロックは、前記点群圧縮規格に準拠した、前記属性情報の複数のコンポーネント、又は前記属性情報の1つのコンポーネントに含まれる複数の次元であってもよい。
 これによれば、当該三次元データ復号方法は、点群圧縮規格で予め設けられているコンポーネント又は複数次元を利用することで、点群圧縮規格に準拠する長さの複数のサブブロックを復号できる。よって、別途特別なコンテナを用いなくてもよいので、点群圧縮規格との互換性を維持できる。
 例えば、前記制御情報は、前記複数のサブブロックと、前記複数のコンポーネント又は前記複数の次元との対応関係を示す情報を含んでもよい。
 これによれば、当該三次元データ復号方法は、制御情報を用いて、複数のコンポーネント又は複数次元とサブブロックとの関係を把握できる。この対応関係は、例えば、複数の属性情報の結合に用いられる。
 例えば、前記制御情報は、前記複数のサブブロックに亘って設けられた前記属性情報の変換に関する変換情報を含んでもよい。
 この態様では、複数のサブブロックに亘って設けられた属性情報が変換されているため、符号化効率が向上する(符号量が減少する)可能性がある。それに伴って、当該三次元データ復号方法が処理するデータ量を減らすことができる。
 例えば、前記変換情報は、前記複数のサブブロックのうちの第1のサブブロックに適用される第1係数と、前記複数のサブブロックのうちの第2のサブブロックに適用される第2係数と、を含み、前記第1係数と、前記第2係数とは異なってもよい。
 この態様では、サブブロックごとに異なる係数(変換係数)が用いられるため、符号化効率が向上する(符号量が減少する)可能性がある。それに伴って、当該三次元データ復号方法が処理するデータ量を減らすことができる。
 例えば、複数の三次元点の属性情報について、第1のサブブロックの値が0に近く且つ第2のサブブロックの値が0以外の値に近い傾向にある場合、それぞれのサブブロックの値に対して異なる変換を行うことにより、符号量をより抑制できる可能性がある。より具体的には、64ビットの属性情報を4つの16ビット長のサブブロックに亘って設ける場合、属性情報によっては、64ビットで表現できる大きさにまでならないことがある。この場合、上位の所定数ビットは0になるため、上位の16ビットのサブブロックに対する係数と、下位のサブブロックの係数とを異ならせることで、符号量を削減できる。このようにサブブロックごとに値の傾向が異なる場合、サブブロックごとに異なる係数を適用することで符号量を抑制できる。
 例えば、前記制御情報は、分割前の前記属性情報の変換に関する追加の変換情報を含んでもよい。
 これによれば、三次元データ符号化装置は、分割前の属性情報を変換することができるので符号化効率を向上できる。また、当該三次元データ復号方法は、追加の変換情報を用いて当該変換の逆変換を行うことで、元の属性情報を復元できる。
 本開示の一態様に係る三次元データ符号化方法は、三次元点の第1属性情報と前記三次元点の第2属性情報とが結合されることを示す制御情報を生成し、前記第1属性情報及び前記第2属性情報を符号化し、符号化された前記第1属性情報及び前記第2属性情報と、前記制御情報とを含むビットストリームを生成し、前記第1属性情報及び前記第2属性情報は、それぞれ点群圧縮規格に準拠した予め定められた長さを有する。
 これによれば、当該三次元データ符号化方法により生成されたビットストリームを復号する三次元データ復号装置は、点群圧縮規格に準拠した処理により復号された第1属性情報と第2属性情報とを結合することで、点群圧縮規格に準拠する長さ(サイズ)を超える属性情報を生成できる。よって、点群圧縮規格に準拠する長さを超える属性情報の処理を実現できる。
 本開示の一態様に係る三次元データ符号化方法は、点群圧縮規格に準拠する予め定められた長さを各々が有する複数のサブブロックに亘って三次元点の属性情報が提供されていることを示す制御情報を生成し、前記属性情報を符号化し、符号化された前記属性情報と、前記制御情報とを含むビットストリームを生成する。
 これによれば、三次元データ復号装置は、点群圧縮規格に準拠した処理により復号された複数のサブブロックに亘って設けられた属性情報を生成できる。
 例えば、前記複数のサブブロックに提供されている属性情報により1つの情報が示されてもよい。したがって、この態様によれば、三次元データ復号装置は、点群圧縮規格に準拠する長さ以上の長さを有する1つの属性情報を生成できる。
 例えば、前記複数のサブブロックは、同一の長さを有してもよい。例えば、前記複数のサブブロックは、前記点群圧縮規格に準拠した、前記属性情報の複数のコンポーネント、又は前記属性情報の1つのコンポーネントに含まれる複数の次元であってもよい。
 これによれば、当該三次元データ符号化方法は、点群圧縮規格で予め設けられているコンポーネント又は複数次元を利用することで、点群圧縮規格に準拠する長さの複数のサブブロックを符号化できる。よって、別途特別なコンテナを用いなくてもよいので、点群圧縮規格との互換性を維持できる。
 例えば、前記制御情報は、前記複数のサブブロックと、前記複数のコンポーネント又は前記複数の次元との対応関係を示す情報を含んでもよい。
 これによれば、三次元データ復号装置は、制御情報を用いて、複数のコンポーネント又は複数次元とサブブロックとの関係を把握できる。この対応関係は、例えば、複数の属性情報の結合に用いられる。
 例えば、前記制御情報は、前記複数のサブブロックに亘って設けられた前記属性情報の変換に関する変換情報を含んでもよい。
 この態様では、複数のサブブロックに亘って設けられた属性情報が変換されているため、符号化効率が向上する(符号量が減少する)可能性がある。それに伴って、三次元データ復号装置が処理するデータ量を減らすことができる。
 例えば、前記変換情報は、前記複数のサブブロックのうちの第1のサブブロックに適用される第1係数と、前記複数のサブブロックのうちの第2のサブブロックに適用される第2係数と、を含み、前記第1係数と、前記第2係数とは異なってもよい。
 この態様では、サブブロックごとに異なる係数が用いられるため、符号化効率が向上する(符号量が減少する)可能性がある。それに伴って、三次元データ復号装置が処理するデータ量を減らすことができる。
 例えば、前記制御情報は、分割前の前記属性情報の変換に関する追加の変換情報を含んでもよい。
 これによれば、当該三次元データ符号化方法は、分割前の属性情報を変換することができるので符号化効率を向上できる。また、三次元データ復号装置は、追加の変換情報を用いて当該変換の逆変換を行うことで、元の属性情報を復元できる。
 また、本開示の一態様に係る三次元データ復号装置は、プロセッサと、メモリと、を備え、前記プロセッサは、前記メモリを用いて、三次元点の第1属性情報と前記三次元点の第2属性情報とが結合されることを示す制御情報を取得し、前記制御情報に従って前記第1属性情報及び前記第2属性情報を復号し、前記第1属性情報及び前記第2属性情報は、それぞれ点群圧縮規格に準拠した予め定められた長さを有する。
 これによれば、当該三次元データ復号装置は、点群圧縮規格に準拠した処理により復号された第1属性情報と第2属性情報とを結合することで、点群圧縮規格に準拠する長さ(サイズ)を超える属性情報を生成できる。よって、点群圧縮規格に準拠する長さを超える属性情報の処理を実現できる。
 また、本開示の一態様に係る三次元データ復号装置は、プロセッサと、メモリと、を備え、前記プロセッサは、前記メモリを用いて、点群圧縮規格に準拠する予め定められた長さを各々が有する複数のサブブロックに亘って三次元点の属性情報が提供されていることを示す制御情報を取得し、前記制御情報に従って前記属性情報を復号する。
 これによれば、当該三次元データ復号装置は、点群圧縮規格に準拠した処理により復号された複数のサブブロックに亘って設けられた属性情報を生成できる。
 また、本開示の一態様に係る三次元データ符号化装置は、プロセッサと、メモリと、を備え、前記プロセッサは、前記メモリを用いて、三次元点の第1属性情報と前記三次元点の第2属性情報とが結合されることを示す制御情報を生成し、前記第1属性情報及び前記第2属性情報を符号化し、符号化された前記第1属性情報及び前記第2属性情報と、前記制御情報とを含むビットストリームを生成し、前記第1属性情報及び前記第2属性情報は、それぞれ点群圧縮規格に準拠した予め定められた長さを有する。
 これによれば、当該三次元データ符号化装置により生成されたビットストリームを復号する三次元データ復号装置は、点群圧縮規格に準拠した処理により復号された第1属性情報と第2属性情報とを結合することで、点群圧縮規格に準拠する長さ(サイズ)を超える属性情報を生成できる。よって、点群圧縮規格に準拠する長さを超える属性情報の処理を実現できる。
 また、本開示の一態様に係る三次元データ符号化装置は、プロセッサと、メモリと、を備え、前記プロセッサは、前記メモリを用いて、点群圧縮規格に準拠する予め定められた長さを各々が有する複数のサブブロックに亘って三次元点の属性情報が提供されていることを示す制御情報を生成し、前記属性情報を符号化し、符号化された前記属性情報と、前記制御情報とを含むビットストリームを生成する。
 これによれば、三次元データ復号装置は、点群圧縮規格に準拠した処理により復号された複数のサブブロックに亘って設けられた属性情報を生成できる。
 なお、これらの包括的又は具体的な態様は、システム、方法、集積回路、コンピュータプログラム又はコンピュータ読み取り可能なCD-ROM等の記録媒体で実現されてもよく、システム、方法、集積回路、コンピュータプログラム及び記録媒体の任意な組み合わせで実現されてもよい。
 以下、実施の形態について、図面を参照しながら具体的に説明する。なお、以下で説明する実施の形態は、いずれも本開示の一具体例を示すものである。以下の実施の形態で示される数値、形状、材料、構成要素、構成要素の配置位置及び接続形態、ステップ、ステップの順序などは、一例であり、本開示を限定する主旨ではない。また、以下の実施の形態における構成要素のうち、独立請求項に記載されていない構成要素については、任意の構成要素として説明される。
 (実施の形態)
 以下、本実施の形態に係る三次元データ符号化装置及び三次元データ復号装置について説明する。三次元データ符号化装置は、三次元データを符号化することでビットストリームを生成する。三次元データ復号装置は、当該ビットストリームを復号することで三次元データを生成する。
 三次元データは、例えば、点群データである。点群は、複数の三次元点が集まったものであり、対象物(オブジェクト)の三次元形状を示す。点群データは、複数の三次元点の位置情報及び属性情報を含む。当該位置情報は、各三次元点の三次元位置を示す。なお、位置情報は、ジオメトリ(geometry)情報とも呼ばれる場合がある。例えば、位置情報は、直交座標系又は極座標系で表される。
 属性情報は、例えば、色、反射率又は法線ベクトルなどを示す。1つの三次元点は、1つの属性情報を持つ場合もあれば、複数の属性情報を持つ場合もある。
 なお、三次元データは、点群データに限らず、メッシュデータ等の他の三次元データであってもよい。メッシュデータ(三次元メッシュデータとも呼ぶ)は、CG(Computer Graphics)に用いられるデータ形式であり、面情報の集まりで対象物の三次元形状を示す。例えば、メッシュデータは、点群情報(例えば頂点(vertex)情報)を含む。よって、この点群情報に対して、点群データに対応する手法と同様の手法を適用できる。
 次に、本実施の形態の概要を説明する。図1は、点群の位置情報及び属性情報の例であり、属性情報がタイムスタンプである場合の例を示す図である。
 タイムスタンプ(timestamp)は、時刻情報である。例えば、タイムスタンプは、plyファイルフォーマットにおいてpropertyが「timestamp」と定義された時刻情報、LASファイルフォーマットにおいてGPS timeとして定義された時刻情報、又は、NTP(Network Time Protocol)或いはPTP(Precision Time Protocol)などの時刻情報である。
 この場合、SPS(シーケンスパラメータセット)にattribute_type=「timestamp」を示す情報が格納され、点毎のタイムスタンプが属性情報の一つのコンポーネントとして符号化される。符号化方法としては、Lifting方式又はRAHT(Region Adaptive Hierarchical Transform)方式が用いられてもよいし、属性情報が符号化されずにRAWデータとしてビットストリームに格納されてもよい。
 なお、RAHTとは、三次元点の位置情報を用いて属性情報を変換する手法であり、Haar変換等を属性情報に適用することで、各階層の高周波数成分及び低周波数成分が生成され、それらの値が量子化及びエントロピー符号化等される。また、Liftingは、LoD(Level of Detail)を用いた変換方法の一つであり、予測残差を算出する方法である。また、LoDは位置情報に応じて三次元点を階層化する手法であり、点間の距離(疎密)に応じて三次元点を階層化する手法である。
 また、三次元データ符号化装置は、タイムスタンプの絶対値と、予め定められた値との差分値を算出し、当該差分値を符号化してもよいし、処理対象のタイムスタンプと他の点のタイムスタンプとの差分値を算出し、当該差分値を符号化してもよい。これにより情報量を削減することが可能である。なお、複数の点の符号化順又は復号順は入れ替えられてもよい。
 ここで、一般的に符号化・復号システムで取り扱うことの可能なデータのビット深度は限られており、限られたビット深度で符号化又は復号する方法又はアルゴリズムが規定される。これにより処理量及び処理時間を現実的な範囲に収めることが可能である。
 三次元データ(三次元点群データ又は三次元メッシュデータ)の符号化・復号システムでは、符号化対象の位置情報及び属性情報のビット深度が制約されており、それを超えるビット深度のデータは取り扱うことができない。
 また、符号化・復号システムにおいて、符号化を行う/行わない、又は符号化の方法によって取り扱うことが可能なビット深度が異なることも考えられる。例えば、符号化が可能な属性情報のビット深度が最大16ビットである符号化・復号システムでは、64ビットの時刻情報のようにビット深度の大きい情報を、属性情報として符号化及び復号することができない。また、符号化が可能な位置情報のビット深度が最大21ビットである符号化・復号システムでは、32ビットの位置情報のようにビット深度の大きい位置情報を符号化及び復号することができない。
 また、三次元データは、リアルな物理世界をセンシングして生成されたデータを含む。位置情報のビット深度は、点の解像度及び空間の範囲で決定される値である。また、点の解像度は点群を取得するセンサの性能又は対象物までの距離に応じて異なる。空間の範囲はユースケース又はアプリケーションに応じて異なる。つまり、ビット深度の取りうる範囲は広く、符号化・復号システムで制約されているビット深度を超えるデータは多く存在する。同様に、属性情報は色以外に反射率、透過率、赤外情報、及び時刻情報など様々な種類があり、符号化・復号システムで制約されるビット深度を超えるデータは多く存在する。つまり、三次元データの符号化・復号システムでは、制約されたビット深度のシステムを用いて、様々なビット深度の情報を符号化・復号する必要がある。
 このように、リアルな物理世界をセンシングして生成された三次元データは、三次元動画像などのように、位置情報が解像度として一定範囲に限定され、属性情報が一定範囲のビット深度を持つ色に限定されたデータを対象とする符号化・復号システムとは要求条件が異なる。また、将来、デバイスの進化により処理能力が増え、符号化・復号システムで取り扱えるビット深度が増えた場合でも、三次元データの符号化・復号システムでは、制約されたビット深度のシステムを用いて、様々なビット深度の情報を符号化・復号する機能が求められる。
 本実施の形態では、入力属性情報を、符号化において属性情報として扱うことのできる単位(複数の変換後属性情報)に分割する。これにより、システムが符号化及び復号として対応できるビット深度を超える属性情報を符号化及び復号できる。変換情報及び属性分割情報をメタデータ(SPS、APS、又はSEI)として符号化ビットストリームに格納する。これにより、三次元データ復号装置は、符号化ビットストリームから入力属性情報を復元することが可能となる。このように、本実施の形態により、制約されたシステムで取り扱えないビット深度の属性情報の符号化及び復号が可能となる。なお、ビット深度は、ビット幅又はビット精度と表現されることもある。
 図2は、本実施の形態に係る三次元データ符号化装置100の構成を示すブロック図である。なお、図2には、属性情報の符号化に関する構成のみを記載しているが、三次元データ符号化装置100は、位置情報を符号化する位置情報符号化部等、他の処理部を備えてもよい。
 三次元データ符号化装置100は、属性情報変換部101と、属性情報符号化部102とを備える。属性情報変換部101は、入力属性情報を複数の変換後属性情報に分割する。また、属性情報変換部101は、変換処理に関する変換情報を生成する。ここで、入力属性情報は、符号化対象の三次元データに含まれる属性情報である。
 属性情報符号化部102は、複数の変換後属性情報を符号化することで符号化属性情報を生成する。また、属性情報符号化部102は、変換情報を含み、属性情報の分割に関する属性分割情報を生成する。三次元データ符号化装置100は、符号化属性情報及び属性分割情報を含むビットストリームを生成する。なお、属性情報符号化部102による符号化方式は特に限定されないが、例えば、イントラ予測処理、インター予測処理、量子化処理、及びエントロピー符号化処理(算術符号化処理)の1以上が行われてもよい。
 図3は、本実施の形態に係る三次元データ復号装置200の構成を示すブロック図である。なお、図3には、属性情報の復号に関する構成のみを記載しているが、三次元データ復号装置200は、位置情報を復号する位置情報復号部等、他の処理部を備えてもよい。
 例えば、三次元データ復号装置200は、三次元データ符号化装置100により生成されたビットストリームを復号する。三次元データ復号装置200は、属性情報復号部201と、属性情報逆変換部202とを備える。
 属性情報復号部201は、ビットストリームから符号化属性情報及び属性分割情報を取得し、符号化属性情報を復号することで複数の変換後属性情報を生成する。また、属性情報復号部201は、属性分割情報に含まれる変換情報を取得する。なお、属性情報復号部201による復号方式は特に限定されないが、例えば、イントラ予測処理、インター予測処理、逆量子化処理、及びエントロピー復号処理(算術復号処理)の1以上が行われてもよい。
 属性情報逆変換部202は、属性分割情報及び変換情報を用いて複数の変換後属性情報を結合することで出力属性情報を生成する。ここで出力属性情報は、図2における入力属性情報に対応し、入力属性情報が復元されたものである。
 図4は、入力属性情報を複数の変換後属性情報に分割する例を示す図である。図4では、入力属性情報は4つの変換後属性情報に分割される。
 図5、図6及び図7は、複数の変換後属性情報を、符号化システムにおける複数のコンポーネントとして符号化する例を示す図である。図5は、複数の変換後属性情報を、1つのコンポーネント(属性コンポーネントとも呼ぶ)の複数次元のサブコンポーネントとして符号化及び復号する例を示す図である。つまり、図5に示す例では、属性情報(タイムスタンプ)は一つのコンポーネントとして符号化され、1つの変換後属性情報は1つのサブコンポーネントとして符号化される。つまり、属性情報(タイムスタンプ)のコンポーネントは、複数のサブコンポーネントを含み、1つのサブコンポーネントは1つの変換後属性情報に対応する。
 ここで、コンポーネントとは、属性情報の種別に対応し、例えば、色、反射率、時刻情報等に対応する。また、サブコンポーネントは、コンポーネントに含まれる複数の次元(成分)に対応する。例えば、コンポーネントが色であり、RGBで表される場合、複数のサブコンポーネントはそれぞれ、R、G、Bに対応する。
 つまり、本実施の形態では、従来から使用されている次元(サブコンポーネント)を分割された属性情報(変換後属性情報)の符号化及び復号に利用する。これにより、分割された属性情報をビットストリームに格納するための新たな仕組みを追加することなく、分割された属性情報の符号化及び復号を実現できる。
 図6は、複数の変換後属性情報を、複数のコンポーネントとして符号化及び復号する例を示す図である。つまり、図6に示す例では、属性情報(タイムスタンプ)は複数のコンポーネントとして符号化され、1つの変換後属性情報は1つのコンポーネントとして符号化される。つまり、1つのコンポーネントは1つのサブコンポーネントを含み、1つのサブコンポーネントは1つの変換後属性情報に対応する。
 図7は、複数の変換後属性情報を、複数のコンポーネント及び複数次元のサブコンポーネントとして符号化及び復号する例を示す図である。つまり、図7に示す例では、属性情報(タイムスタンプ)は複数のコンポーネントとして符号化され、複数の変換後属性情報は、複数のコンポーネントとして符号化される。1つのコンポーネントは複数のサブコンポーネントを含み、1つのサブコンポーネントは1つの変換後属性情報に対応する。
 なお、三次元データ符号化装置100は、図5~図7に示す、複数の変換後属性情報を1以上のコンポーネントと対応付ける方法のうち、いずれかを固定的に用いてもよいし、いずれかを選択的に用いてもよい。
 このように、三次元データ符号化装置100は、入力属性情報が分割された複数の変換後属性情報を、図5~図7に示す複数の方法のいずれかを用いて、1以上のコンポーネントに対応づけて符号化する。また、三次元データ符号化装置100は、複数の変換後属性情報(分割コンポーネント)と1以上のコンポーネントとの対応関係を示す情報をビットストリームに格納する。これにより、三次元データ復号装置200は、様々な方法で符号化された複数の変換後属性情報を復号し、復号された複数の変換後属性情報を結合することで入力属性情報を再生できる。
 また、属性情報変換部101は、入力属性情報の分割処理、スケール並びにオフセット処理、及び、複数の点のデータの順番の入れ替え処理等を行う。また、属性情報逆変換部202は、複数の変換後属性情報の結合処理、スケール処理並びにオフセット処理、及び、データの順番の入れ替え処理を行う。これにより、ビット深度、属性情報の値の範囲、又は解像度の異なる様々な属性情報の符号化及び復号が可能となる。ここでスケール値及びオフセット値は、変換情報又は係数(第1係数及び第2係数)の一例である。
 次に、属性情報変換部101による処理の例を説明する。図8は、属性情報変換部101における変換処理の例を示す図である。図9は、属性情報変換部101における変換処理のフローチャートである。
 まず、属性情報変換部101は、入力属性情報全体に対して変換処理を実施することで変換後入力属性情報を生成する(S101)。具体的には、属性情報変換部101は、入力属性情報の全ての値に対して、以下の(式1)を用いてスケール処理及びオフセット処理を行う。
 val_output=val_input×global_scale+global_offset  ・・・(式1)
 また、下記の(式2)のようにスケール処理とオフセット処理との順序が入れ替わってもよい。
 val_output=(val_input+global_offset)×global_scale  ・・・(式2)
 なお、val_inputは入力属性情報の値を示し、val_outputは変換後入力属性情報の値を示す。また、global_scaleは、当該変換処理で用いられるスケール値であり、global_offsetは、当該変換処理で用いられるオフセット値である。また、global_scale及びglobal_offsetは、追加の変換情報の一例である。
 なお、属性情報変換部101は、スケール処理とオフセット処理との一方の処理のみを行ってもよいし、当該変換処理を行わなくてもよい。
 次に、属性情報変換部101は、変換後入力属性情報を複数の分割属性情報に分割する(S102)。図8に示す例では、64ビットのビット深度を持つタイムスタンプが4つの16ビットの分割属性情報に分割される。
 このとき、属性情報変換部101は、それぞれの分割属性情報に対して、識別子(partition_id)を付与する。識別子の付与方法は昇順でもよいし、降順でもよいし、任意の方法でもよい。
 次に、属性情報変換部101は、複数の分割属性情報のそれぞれに対してスケール値(local_scale)及びオフセット値(local_offset)を用いて変換処理(スケール処理及びオフセット処理)を行うことで複数の変換後属性情報を生成する(S103)。
 例えば、(式1)又は(式2)と同様の式が用いられる。具体的には、(式1)又は(式2)におけるglobal_scale及びglobal_offsetをそれぞれlocal_scale及びlocal_offsetに置き換えた式が用いられる。また、この場合、val_inputは分割属性情報の値を示し、val_outputは変換後属性情報の値を示す。
 なお、属性情報変換部101は、スケール処理とオフセット処理との一方の処理のみを行ってもよいし、当該変換処理を行わなくてもよい。また、属性情報変換部101は、スケール処理後に量子化(丸め)処理を行ってもよい。また、複数の分割属性情報に対して用いられるスケール値及びオフセット値は異なってもよいし、同一であってもよい。
 以上の処理により、複数の変換後属性情報が生成される。また、属性情報変換部101は、複数の変換後属性情報、及び、分割並びに変換に用いたパラメータを示す変換情報を属性情報符号化部102へ出力する(S104)。具体的には、変換情報は、global_scale、global_offset、local_scale、local_offset、partition_id、入力属性情報(又は変換後入力属性情報)のビット深度、分割属性情報(又は変換後属性情報)のビット深度、分割順、及び分割方法などを含む。属性情報符号化部102は、変換情報をメタデータとして符号化する。属性情報符号化部102は、変換情報をビットストリームに格納する。
 なお、属性情報変換部101は、上記の変換処理を、三次元点群を構成する全部の点に対して行ってもよいし、一部の点に対して行ってもよい。
 次に、属性情報逆変換部202による処理の例を説明する。図10は、属性情報逆変換部202における逆変換処理の例を示す図である。図11は、属性情報逆変換部202における逆変換処理のフローチャートである。
 まず、属性情報復号部201は、複数の変換後属性情報を復号し、メタデータから変換情報(global_scale、global_offset、local_scale、local_offset、partition_id、入力属性情報(又は変換後入力属性情報、結合属性情報、出力属性情報)のビット深度、分割属性情報(又は変換後属性情報)のビット深度、分割順及び分割方法等)を取得する。
 属性情報逆変換部202は、複数の変換後属性情報のそれぞれを、変換情報を用いて逆変換することで複数の分割属性情報を生成する(S201)。具体的には、属性情報逆変換部202は、各分割属性情報の全ての値に対して、以下の(式3)を用いてスケール処理及びオフセット処理を行う。
 val_output=(val_decode+inv_local_offset)×inv_local_scale  ・・・(式3)
 ここで、val_decodeは、変換後属性情報の値を示し、val_outputは、分割属性情報の値を示す。また、inv_local_offsetは、当該逆変換処理で用いられるオフセット値であり、-(local_offset)に相当する。inv_local_scaleは、当該逆変換処理で用いられるスケール値であり、1/local_scaleに相当する。
 また、下記の(式4)のようにスケール処理とオフセット処理との順序が入れ替わってもよい。
 val_output=(val_decode)×inv_local_scale+inv_local_offset  ・・・(式4)
 なお、属性情報逆変換部202は、スケール処理とオフセット処理との一方の処理のみを行ってもよいし、当該逆変換処理を行わなくてもよい。また、複数の変換後属性情報に対して用いられるスケール値及びオフセット値は異なってもよいし、同一であってもよい。
 次に、属性情報逆変換部202は、得られた複数の分割属性情報を結合することで結合属性情報を生成する(S202)。なお、具体的な結合方法は後述する。
 次に、属性情報逆変換部202は、結合属性情報を、全体のスケール値(inv_global_scale)、及びオフセット値(inv_global_offset)を用いて逆変換することで出力属性情報を生成する(S203)。
 例えば、属性情報逆変換部202は、(式3)又は(式4)と同様の式を用いて逆変換処理を行う。具体的には、(式3)又は(式4)におけるinv_local_offset及びinv_local_scaleをそれぞれinv_global_offset及びinv_global_scaleに置き換えた式が用いられる。また、この場合、val_decodeは、結合属性情報の値を示し、val_outputは、出力属性情報の値を示す。また、inv_global_offsetは、当該逆変換処理で用いられるオフセット値であり、-(global_offset)に相当する。inv_global_scaleは、当該逆変換処理で用いられるスケール値であり、1/global_scaleに相当する。
 なお、属性情報逆変換部202は、スケール処理とオフセット処理との一方の処理のみを行ってもよいし、当該変換処理を行わなくてもよい。また、属性情報逆変換部202は、スケール処理後に量子化(丸め)処理を行なってもよい。
 最後に属性情報逆変換部202は、得られた出力属性情報を出力する(S204)。
 なお、属性情報逆変換部202は、上記の逆変換処理を、三次元点群を構成する全部の点に対して行ってもよいし、一部の点に対して行ってもよい。
 以上のように、三次元データ符号化装置100は、属性情報変換部101における変換処理に関する変換情報をメタデータとして格納し、属性情報逆変換部202へ送信する。これにより、属性情報逆変換部202は、入力属性情報に対応する出力属性情報を復元することが可能となる。
 以下、属性情報変換部101及び属性情報逆変換部202の処理の第1の具体例を説明する。図12は、属性情報変換部101の処理の第1の具体例を示す図である。
 図12に示す例では、タイムスタンプが4つのサブコンポーネントに分割されて符号化及び復号される。なお、ここで示す分割方法は一例であり、分割方法はこれに限らない。なお、図12では、複数の変換後属性情報及び変換情報の符号化及び復号処理の記載は省略している。
 また、属性情報変換部101で用いられるスケール値及びオフセット値(global_scale、global_offset、local_scale、local_offset)として、ユーザにより決定され、三次元データ符号化装置100に入力された値が用いられてもよいし、三次元データ符号化装置100が点群内の複数の点の属性情報の値に基づきスケール値及びオフセット値を決定してもよい。具体的には、三次元データ符号化装置100は、点群内の複数の点の属性情報の値の全体の傾向をサーチし、当該傾向に基づきスケール値及びオフセット値を決定してもよい。例えば、三次元データ符号化装置100は、複数の点の属性情報の平均値又は中央値等に基づきオフセット値を決定してもよい。
 なお、点群データは、複数フレームの点群データであってもよいし、1フレームの点群データであってもよい。また、スケール値及びオフセット値は、シーケンス(複数フレーム)で共通の値が用いられてもよいし、その他の処理単位毎に共通の値が用いられてもよい。例えば1又は複数フレームで共通の値が用いられてもよいし、フレームを分割した1又は複数の処理単位(例えばスライス)毎に共通の値が用いられてもよい。
 図12に示す例では、まず、属性情報変換部101は、global_scale=1012、及びglobal_offset=-183631×1012を用いて入力属性情報x(タイムスタンプ)を変換することで変換後入力属性情報x’を生成する(S101)。
 次に、属性情報変換部101は、変換後入力属性情報x’を分割することで4つの分割属性情報x1、x2、x3、x4を生成する(S102)。ここでは、属性情報変換部101は、MSB(Most Significant Bit)から指定したビット数(この例では16ビット)ごとに変換後入力属性情報x’を分割する。
 次に、属性情報変換部101は、local_scale=1及びlocal_offset=0を用いて分割属性情報x1、x2、x3を変換することで変換後属性情報x1’、x2’、x3’を生成する。なお、local_scale=1及びlocal_offset=0を用いた変換とは変換を行わないことと同義であり、当該変換は行われなくてもよい。また、属性情報変換部101は、local_scale=1/2及びlocal_offset=0を用いて分割属性情報x4を変換することで変換後属性情報x4’を生成する(S103)。
 最後に、属性情報変換部101は、4つの変換後属性情報x1’、x2’、x3’、x4’と、変換情報を出力する(S104)。ここで、変換情報は、global_scale及びglobal_offsetと、4組のlocal_scale及びlocal_offsetとを含む。
 なお、ここでは、1つの16ビットのブロックに対するlocal_scaleのみが他のブロックのlocal_scaleと異なる例を示すが、少なくとも1つのブロックのlocal_offsetが他のブロックのlocal_offsetと異なってもよいし、少なくとも1つのブロックのlocal_scale及びlocal_offsetの両方が他のブロックのlocal_scale及びlocal_offsetと異なってもよい。また、4つのブロックの各々のlocal_scaleが異なってもよいし、4つのブロックの各々のlocal_offsetが異なってもよい。
 図13は、属性情報逆変換部202の処理の第1の具体例を示す図である。属性情報逆変換部202は、図12に示す処理により生成された4つの変換後属性情報x1’、x2’、x3’、x4’を逆変換することで4つの分割属性情報x1、x2、x3、x4を生成する(S201)。このとき、属性情報逆変換部202は、変換情報に含まれる4組のlocal_scale及びlocal_offsetから4組のinv_local_scale及びinv_local_offsetを算出し、算出した4組のinv_local_scale及びinv_local_offsetを用いて4つの変換後属性情報x1’、x2’、x3’、x4’を逆変換する。
 次に、属性情報逆変換部202は、4つの分割属性情報x1’、x2’、x3’、x4’を結合することで結合属性情報x’を生成する(S202)。
 図12に示すように属性情報変換部101で用いられた分割方法が、MSBから指定したビット数毎に入力属性情報を分割し、MSBから昇順にpartition_idを割り当てる方法である場合、属性情報逆変換部202は、変換情報に含まれるpartition_idと分割属性情報(変換後属性情報)のビット数とを用いて、4つの分割属性情報x1’、x2’、x3’、x4’を結合する。
 具体的には、下記の(式5)を用いてMSBから4分割された分割情報が結合される。ただし、local_length[1]~local_length[4]は、それぞれ変換後属性情報x1~x4のビット数を示し、この例では16である。
 x’=(x1<<(local_length[1]+local_length[2]+local_length[3]))+(x2<<(local_length[2]+local_length[3]))+(x3<<local_length[3])+x4   ・・・(式5)
 次に、属性情報逆変換部202は、結合属性情報x’を逆変換することで出力属性情報xを生成する(S203)。このとき、属性情報逆変換部202は、変換情報に含まれるglobal_scale及びglobal_offsetからinv_global_scale及びinv_global_offsetを算出し、算出したinv_global_scale及びinv_global_offsetを用いて結合属性情報x’を逆変換する。
 最後に属性情報逆変換部202は、得られた出力属性情報xを出力する(S204)。
 次に、属性情報変換部101及び属性情報逆変換部202の処理の第2の具体例を説明する。図14は、属性情報変換部101の処理の別の例である第2の具体例を示す図である。なお、入力属性情報の変換(S101)及び複数の変換後属性情報の出力(S104)については図12と同様であり、記載を省略している。
 この例では、属性情報変換部101は、スケール処理及びオフセット処理を用いて変換後入力属性情報の分割(S102)と変換(S103)とをまとめて行う。
 つまり、属性情報変換部101は、スケール処理及びオフセット処理された値を、変換後属性情報のビット深度(この例では16ビット)に収めるため、丸め処理又はクリップ処理を行う。これにより、S102とS103との処理を統合できる。この例では、属性情報変換部101は、スケール処理及びオフセット処理された値に対して、16ビットを超える値をクリップする処理を行う。
 図15は、属性情報逆変換部202の処理の別の例である第2の具体例を示す図である。属性情報逆変換部202は、図14で用いられた4組のlocal_scale及びlocal_offsetから4組のinv_local_scale及びinv_local_offsetを算出し、算出した4組のinv_local_scale及びinv_local_offsetを用いて4つの変換後属性情報x1’、x2’、x3’、x4’を逆変換することで4つの分割属性情報x1、x2、x3、x4を生成する(S201)。
 次に、属性情報逆変換部202は、4つの分割属性情報x1、x2、x3、x4を加算することで、4つの分割属性情報x1、x2、x3、x4を結合する(S202)。
 この方法では、分割の方法、順序、変換後属性情報のビット深度を用いずに復号が可能であり、メタデータ(変換情報)の情報量を削減することが可能である。
 なお、上記では、変換後属性情報のビット深度が16ビットである場合、つまり、16ビットを超える入力属性情報を分割する場合を例に説明を行ったが、変換後属性情報のビット深度は任意のビット深度でよい。また、このビット深度は、三次元データ符号化装置100において設定されてもよい。例えば、ユーザの入力に基づき、このビット深度が設定されてもよい。また、このビット深度を示す情報がビットストリームに格納されてもよい。
 なお、このビット深度(例えば16ビット)は、点群圧縮規格(例えばPCC(Point Cloud Coding)規格)に準拠したビット深度(ビット長)である。また、分割前の属性情報のビット深度は、上記ビット深度を超えるビット深度であり、点群圧縮規格に準拠していないビット深度である。
 次に、複数の入力属性情報を符号化及び復号する場合の例を説明する。上記説明では、1つの入力属性情報を分割する例を述べたが、複数の入力属性情報の各々に対して、同様の手法が用いられてもよい。
 例えば、三次元点群は、分割対象となる入力属性情報を複数持つ。符号化システム及び復号システムは、16ビットまでのデータの符号化及び復号に対応している。この場合において、2以上の16ビットを超える属性情報(64ビットのタイムスタンプなど)を符号化及び復号する場合の例を説明する。
 図16は、この場合の三次元データ符号化装置100Aの構成を示すブロック図である。三次元データ符号化装置100Aは、属性情報変換部101Aと、属性情報符号化部102Aとを備える。属性情報変換部101Aは、入力属性情報Aを複数の変換後属性情報Aに分割し、入力属性情報Bを複数の変換後属性情報Bに分割する。また、属性情報変換部101Aは、入力属性情報Aの変換処理に関する変換情報Aを生成し、入力属性情報Bの変換処理に関する変換情報Bを生成する。ここで、入力属性情報A及び入力属性情報Bは、符号化対象の三次元データに含まれる属性情報である。なお、入力属性情報A及び入力属性情報Bは、同じ種別の属性情報(例えばタイムスタンプ)であってもよいし、異なる種別の属性情報であってもよい。
 属性情報符号化部102Aは、複数の変換後属性情報A及び複数の変換後属性情報Bを符号化することで符号化属性情報を生成する。また、属性情報符号化部102Aは、変換情報A及び変換情報Bを含む属性分割情報を生成する。三次元データ符号化装置100Aは、符号化属性情報、属性分割情報を含むビットストリームを生成する。
 図17は、この場合の三次元データ復号装置200Aの構成を示すブロック図である。例えば、三次元データ復号装置200Aは、三次元データ符号化装置100Aにより生成されたビットストリームを復号する。三次元データ復号装置200Aは、属性情報復号部201Aと、属性情報逆変換部202Aとを備える。
 属性情報復号部201Aは、ビットストリームから符号化属性情報及び属性分割情報を取得し、符号化属性情報を復号することで複数の変換後属性情報A及び複数の変換後属性情報Bを生成する。また、属性情報復号部201Aは、属性分割情報に含まれる変換情報A及び変換情報Bを取得する。
 属性情報逆変換部202Aは、変換情報Aを用いて複数の変換後属性情報Aを結合することで出力属性情報Aを生成し、変換情報Bを用いて複数の変換後属性情報Bを結合することで出力属性情報Bを生成する。ここで出力属性情報Aは、図16における入力属性情報Aに対応し、出力属性情報Bは、図16における入力属性情報Bに対応する。
 以下、変換情報のシンタックスを説明する。なお、属性情報変換部101から属性情報符号化部102へ出力する変換情報、及び属性情報復号部201から属性情報逆変換部202へ出力する変換情報は、必ずしも以下のシンタックス構成に従う必要はなく、シンタックスの値のそれぞれを後段の処理部に通知できればよい。
 変換情報は、複数の変換後属性情報のそれぞれに対応する個別情報と、複数の変換後属性情報に共通する共通情報とを含む。また、変換情報は、複数の共通情報を有してもよい。例えば、図16及び図17に示すように複数の入力属性情報が符号化及び復号される場合は、複数の入力属性情報それぞれに対する変換情報がビットとリームに格納されてもよい。
 ここで同一の共通情報が適用される複数の変換後属性情報を含むグループを属性分割グループ(partition_group)と称する。つまり、複数の入力属性情報を持つ場合は2つの属性分割グループが設定されてもよい。
 図18は、共通情報(attribute_partition_common_info)のシンタックス例を示す図である。共通情報は、partition_group_numと、partition_group_idと、partition_numと、global_lengthと、global_scaleと、global_offsetと、partition_orderとを含む。
 partition_group_numは、属性分割グループの数を示す。共通情報は、属性グループ数が1以上の場合は、属性分割グループ毎に、当該属性分割グループで共通の情報である分割グループ共通情報(partition_group_id、partition_num、global_length、global_scale、global_offset、partition_order)を含む。
 partition_group_idは、属性分割グループを示すインデックスである。なお、シンタックスにおける情報の記載順と当該インデックスの値とを一致させ、partition_group_idの格納が省略されてもよい。
 partition_numは、当該属性分割グループにおける属性情報の分割個数を示す。global_lengthは、当該属性分割グループに属する属性情報の分割前属性情報(入力属性情報)の総ビット長を示す。
 global_scaleは、当該属性分割グループにおける分割前の属性情報(入力属性情報)の変換に用いられるスケール値を示す。global_offsetは、当該属性分割グループにおける分割前の属性情報(入力属性情報)の変換に用いられるオフセット値を示す。
 partition_orderは、当該属性分割グループに属する複数の変換後属性情報(複数の分割属性情報)の識別子(partition_id)の定義順を示す。例えば、partition_orderは、入力属性情報の上位ビットと下位ビットとのどちら側からpartition_idを付与するかを示してもよい。具体的には、partition_order=0の場合は、複数の変換後属性情報に付与されるpartition_idの値が、複数の変換後属性情報の上位ビット側から昇順で設定される。partition_order=1の場合は、複数の変換後属性情報に付与されるpartition_idの値が、複数の変換後属性情報の下位ビット側から昇順で設定される。なお、このpartition_orderの値と、partition_orderの設定順序との関係は逆であってもよい。
 図19は、個別情報(attribute_partition_info)のシンタックス例を示す図である。個別情報は、partition_group_idと、partition_idと、local_lengthと、local_scaleと、local_offsetとを含む。
 partition_group_idは、個別情報が適用される変換後属性情報が属する属性分割グループを示す。また、当該変換後属性情報の符号化時及び復号時には、当該partition_group_idと、同一のpartition_group_idを持つ共通情報が参照される。
 partition_idは、変換後属性情報の識別子を示す。なお、ビットストリーム内における個別情報の記載順と当該識別子の値とを一致させ、partition_idの格納が省略されてもよい。また、共通情報に含まれるpartition_orderの値が0の場合、複数の変換後属性情報に付与されるpartition_idの値が、複数の変換後属性情報の上位ビット側から昇順で設定され、partition_order=1の場合、複数の変換後属性情報に付与されるpartition_idの値が、複数の変換後属性情報の下位ビット側から昇順で設定されてもよい。また、三次元データ復号装置において、partition_orderに基づき変換後属性情報の識別子を判別可能である場合には、partition_idの格納が省略されてもよい。
 local_lengthは、当該変換後属性情報のビット長を示す。local_scaleは、当該変換後属性情報の変換に用いられたスケール値を示す。local_offsetは当該変換後属性情報の変換に用いられたオフセット値を示す。
 次に、複数の変換後属性情報の符号化の第1の例を説明する。第1の例では、図5に示すように、複数の変換後属性情報は、1つの属性コンポーネントの複数次元のサブコンポーネントとして符号化される。図20は、この場合のビットストリームの構成例を示す図である。
 ここでは、三次元点は、位置情報と、属性情報とを有する。属性情報は、反射率及び時刻情報(タイムスタンプ)を含む。反射率は、単一のサブコンポーネントとして符号化できるビット深度を持ち、時刻情報は、単一のサブコンポーネントとして符号化できないビット深度を持つ。また、反射率は第1の属性情報として符号化され、時刻情報は第2の属性情報として符号化される。また、三次元データ符号化装置は、時刻情報を単一のサブコンポーネントとして符号化できるように、当該時刻情報を4つに分割し、四次元のサブコンポーネントとして符号化する。
 属性情報の符号化データは、ヘッダとペイロードとを含むデータユニットであり、データユニットのヘッダには、属性コンポーネントの識別子(attr_id)が付与される。なお、ここでは属性情報が時刻情報である場合を例に説明するが、属性情報は他の種別の情報であってもよい。
 Attr(0)は第1の属性情報の符号化データであり、ヘッダにはattr_id=0が格納される。Attr(1)は第2の属性情報の符号化データであり、ヘッダにはattr_id=1が格納される。第2の属性情報は、4つに分割されることで4つの変換後属性情報が生成される。4つの変換後属性情報は、一つの属性コンポーネントとして符号化される。また、4つの変換後属性情報は、四次元のサブコンポーネントとして符号化される。
 また、符号化に関するメタデータは、データユニットのヘッダ、又はパラメータセット(APS)に格納される。三次元データ復号装置は、このメタデータを参照して符号化データを復号する。APS(Attribute Parameter Set)は属性情報の符号化に関わるメタデータ(パラメータセット)であり、APS(0)は、第1の属性情報に関わるメタデータであり、APS(1)は、第2の属性情報に関わるメタデータある。例えば、APSは、複数フレームに共通のメタデータである。
 また、Geom(0)は、位置情報の符号化データである。GPS(Geometry Parameter Set)は、位置情報の符号化に関わるメタデータ(パラメータセット)である。例えば、GPSは、複数フレームに共通のメタデータである。
 SPS(Sequence Parameter Set)は、複数フレーム共通のメタデータ(パラメータセット)である。SEI(Supplemental Enhancement Information)は拡張情報であり、復号時に必ずしも用いない可能性のあるパラメータ(オプションのパラメータ)が格納される。
 SPSは、属性コンポーネント毎の情報を含む。第1の属性コンポーネントの情報は、第1の属性情報が反射率であることを示す識別情報(attribute_type=reflectance)及び第1の属性情報の次元数を示す情報(num_dimension=1)を含む。第2の属性コンポーネントの情報は、第2の属性情報が時刻情報であることを示す識別情報(attribute_type=timestamp)及び第2の属性情報が四次元のサブコンポーネントを持つことを示す情報(num_dimension=4)を含む。
 また、SPS又はSEIは、分割された入力属性情報と属性コンポーネント又はサブコンポーネントとの対応関係を示す属性分割情報を含む。属性分割情報は、さらに、上述した変換情報を含んでもよい。
 なお、第2の属性情報のサブコンポーネント間に相関がない場合、三次元データ符号化装置は、第2の属性情報の符号化にはコンポーネント間の予測を使わなくてもよい。または、第2の属性情報の符号化にはコンポーネント間の予測が禁止されてもよい。
 次に、複数の変換後属性情報の符号化の第2の例を説明する。第2の例では、図6に示すように、複数の変換後属性情報は、複数の属性コンポーネントとして符号化される。図21は、この場合のビットストリームの構成例を示す図である。
 ここでは、反射率は第1の属性情報として符号化され、時刻情報は単一のサブコンポーネントとして符号化できるように複数(4つ)に分割され、第2から第5の属性情報として符号化される。
 4つの変化後属性情報は一次元のサブコンポーネントを持つ4つの属性コンポーネントとして符号化される。それぞれの属性コンポーネントの符号化データは1つのデータユニットを構成する。データユニットのヘッダには、属性コンポーネントの識別子(attr_id)が付与される。
 第1の属性情報は反射率であり、第1の属性情報の符号化データ(Attr(0))には属性コンポーネント識別子としてattr_id=0が付与される。第2の属性情報から第5の属性情報は、分割された時刻情報であり、第2~第5の属性情報の符号化データ(Attr(1)~(4))にはattr_id=1からattr_id=4が付与される。
 また、符号化に関するメタデータは、データユニットのヘッダ、又はパラメータセット(APS)に格納される。図21に示す例は、属性コンポーネント毎にAPSが設けられる例であり、5つの属性コンポーネントにそれぞれが対応する5つのAPSが設けられる。なお、一つのパラメータセットを複数の属性コンポーネントで共有してもよい。
 SPSは、第2から第5の属性情報が時刻情報であることを示す識別情報(attribute_type=timestamp)、及び第2から第5の属性情報が一次元のサブコンポーネントを持つことを示す情報(num_dimension=1)を含む。
 また、SPS又はSEIは、分割された入力属性情報と属性コンポーネント又はサブコンポーネントとの対応関係を示す属性分割情報を含む。属性分割情報は、さらに、上述した変換情報を含んでもよい。
 なお、三次元データ符号化装置は、複数の変換後属性情報を、異なる属性コンポーネントに割り当て、それぞれ異なる符号化方式で符号化してもよい。例えば、三次元データ符号化装置は、16ビット×4コンポーネントに分割された時刻情報を、それぞれを4つ属性コンポーネントに割り当て、一部の属性コンポーネントをLifting方式又はRaht方式などの符号化方式で符号化し、残りの属性コンポーネントをRAWデータとして符号化してもよい。
 例えば、64ビットの時刻情報のうち、下位16ビットは有効な精度を持たない、すなわちランダムな信号である場合、下位16ビットのデータは符号化せずにRAWデータとすることで符号化ビット量の増加を抑えられる可能性がある。
 また、三次元データ符号化装置は、属性コンポーネントによって符号化に関わるパラメータ、例えば量子化パラメータ又は各種機能を変えてもよい。例えば、64ビットの時刻情報のうち、下位8ビットは有効な精度を持たない場合は、上位48ビットのコンポーネントは量子化せず、下位16ビットのコンポーネントを量子化してもよい。
 この場合、それぞれの属性コンポーネントは、それぞれ異なるパラメータセット(APS)を有し、各パラメータセットは、対応する属性コンポーネントの符号化に関するパラメータを含む。なお、複数の属性コンポーネントに対して同一の符号化方式が用いられる場合、属性コンポーネント間で共通に参照されるAPSが用いられてもよい。
 次に、複数の変換後属性情報の符号化の第3の例を説明する。第3の例では、図7に示すように、複数の変換後属性情報は、複数の属性コンポーネント及び複数次元のサブコンポーネントとして符号化される。図22は、この場合のビットストリームの構成例を示す図である。
 ここでは、反射率は第1の属性情報として符号化され、時刻情報は単一のサブコンポーネントとして符号化できるように複数(4つ)に分割され、第2及び第3の属性情報としてそれぞれ二次元のサブコンポーネントを用いて符号化される。
 第2及び第3の属性情報の符号化データはそれぞれAttr(1)、Attr(2)であり、attr_id=1及びattr_id=2が付与される。第2及び第3の属性情報は、それぞれ2つの変換後属性情報が二次元のサブコンポーネントとして符号化される。
 また、符号化に関するメタデータは、属性情報毎に設けられたAPSに格納されてもよいし、複数の属性情報で共通のAPSに格納されてもよい。
 なお、SPSは、第2及び第3の属性情報が時刻情報であることを示す識別情報(attribute_type=timestamp)及び第2及び第3の属性情報が二次元のサブコンポーネントを持つことを示す情報(num_dimension=2)を含む。
 また、第2又は第3の属性情報のサブコンポーネント間に相関がない場合には、三次元データ符号化装置は、第2又は第3の属性情報の符号化にコンポーネント間の予測を使わなくてもよい。
 また、SPS又はSEIは、分割された入力属性情報と属性コンポーネント又はサブコンポーネントとの対応関係を示す属性分割情報を含む。属性分割情報は、さらに、上述した変換情報を含んでもよい。
 次に、属性分割情報のシンタックスの第1の例を説明する。属性分割情報は、分割された属性情報(複数の変換後属性情報)と属性コンポーネント及び次元(サブコンポーネント)との対応関係を示す。また、属性分割情報は、上述した変換情報を含んでもよい。
 図23は、属性分割情報及び変換情報を含むSPSのシンタックス例を示す図である。なお、属性分割情報及び変換情報は、APS又はSEIなどのメタデータ又はヘッダに含まれてもよい。
 属性分割情報は、attribute_typeと、instance_idと、num_dimensionと、attribute_infoと、attribute_partitionとを含む。
 numAttributeはシーケンスに含まれる属性コンポーネントの個数を示す。属性分割情報は、numAttributeの個数分の属性コンポーネントに関する情報(attribute_type、instance_id、num_dimension、attribute_info、attribute_partition)を含む。
 attribute_typeは属性の種別を示す。instance_idは同一属性種別における識別子である。num_dimensionは属性の次元数(サブコンポーネント数)を示す。attribute_info()は詳細な属性の情報を含む。
 attribute_partitionは、ビットストリームが属性分割情報及び変換情報を含むか否かを示す。
 ビットストリームに属性分割情報が含まれる場合、SPSは、次元毎のattribute_partition_info()を含む。
 attribute_partition_info()は、次元毎の変換情報であり、図19に示すシンタックスを有する。
 attribute_partition_info()は、図19に示すように、変換後属性情報を示すpartition_idを含む。よって、属性コンポーネント毎のループ内にある次元毎のループにpartition_idが示される。これにより、変換後属性情報と属性コンポーネント及び次元(サブコンポーネント)との対応関係、すなわち属性分割情報が示される。
 また、attribute_partition_info()は、partition_length、partition_scale、partition_offsetなどの変換情報を含んでもよい。また、SPSは、共通情報(attribute_partition_common_info())を含んでもよい。例えば、attribute_partition_common_info()は、図18に示すシンタックスを有してもよい。なお、三次元データ符号化装置は、global_length、global_scale、又はglobal_offsetと同等の機能をもつ情報をSPS、APS、又はSEIに格納し、SPSにはglobal_length、global_scale、又はglobal_offsetを格納しなくてもよい。
 次に、属性分割情報のシンタックスの第2の例を説明する。図24及び図25は、属性分割情報のシンタックス例を示す図である。図24は、SEIのシンタックス例を示す図である。なお、属性分割情報のシンタックスをその他のヘッダ等に含めてもよい。
 SEIは、SPSにおける属性コンポーネント又は次元などの符号化構造を示す識別子を含む。具体的には、SEIは、sps_idと、frame_idと、attribute_partition_common_info2()とを含む。sps_idは、当該SEIが対応するSPSの識別子を示す。frame_idは、属性分割情報がフレーム毎に変化する場合、当該属性分割情報に対応するフレームの識別子を示す。属性分割情報がフレーム毎に変化しない場合はframe_idは省略されてもよい。
 attribute_partition_common_info2()は、共通の変換情報である。図25は、attribute_partition_common_info2のシンタックス例を示す図である。
 attribute_partition_common_info2は、図18に示すattribute_partition_common_info()に加え、個別情報(attribute_partition_info())、及び、SPSに示される属性コンポーネントの識別子(attr_id)、及び次元のインデックス(dimension_id)を含む。attr_id及びdimension_idは、SPSにおけるattribute_partition_info()の記載順(定義順)で定義され、省略されてもよい。なお、attribute_partition_info()は、例えば、図19に示すシンタックスを有する。
 このように、個別情報のループに、partition_id及び、対応する属性コンポーネント及び次元(サブコンポーネント)の識別子を示すことにより、複数の変換後属性情報と属性コンポーネント及び次元(サブコンポーネント)との対応関係、すなわち属性分割情報が示される。
 次に、三次元データ符号化装置及び三次元データ復号装置による処理の流れを説明する。図26は、三次元データ符号化装置による三次元データ符号化処理のフローチャートである。まず、三次元データ符号化装置は、入力属性情報を分割及び変換する(S111)。具体的には、上述した図9に示すステップS101~S104の処理が行われる。
 次に、三次元データ符号化装置は、複数の変換後属性情報を1又は複数の属性コンポーネントの複数の次元に割り当てて符号化することで符号化属性情報を生成する(S112)。次に、三次元データ符号化装置は、変換情報及び属性分割情報を含むメタデータを生成する(S113)。最後に三次元データ符号化装置は、符号化属性情報及びメタデータを含むビットストリームを出力する(S114)。
 図27は、三次元データ復号装置による三次元データ復号処理のフローチャートである。まず、三次元データ復号装置は、ビットストリームを取得する(S211)。次に、三次元データ復号装置は、ビットストリームから、複数の属性コンポーネントを指定された次元で復号する(S212)。次に、三次元データ復号装置は、ビットストリームから、変換情報及び属性分割情報を復号(取得)する(S213)。三次元データ復号装置は、属性分割情報から、復号された属性コンポーネントの各次元データとpartition_idとの対応関係を取得する。
 次に、三次元データ復号装置は、復号した複数の変換後属性情報を結合及び変換する(S214)。具体的には、上述した図11に示すステップS201~S204が行われる。また、三次元データ復号装置は、属性分割情報で示される対応関係を参照し、変換後属性情報のpartition_idに対する変換情報を用いて当該変換後属性情報を逆変換する。
 なお、上記の説明では、三次元データ符号化装置は、入力属性情報を分割して符号化する例を示したが、分割に加え、又は分割の代わりに、複数の入力属性情報を統合し、統合した属性情報を1つのコンポーネントとして符号化してもよい。具体的には、三次元データ符号化装置は、ビット深度の小さい複数の入力属性情報が入力される場合、複数の入力属性情報を統合して一つの属性情報として符号化してもよい。
 例えば、三次元データ符号化装置は、4ビットの入力属性情報Aと4ビットの入力属性情報Bとを統合して8ビットの属性情報Cとして符号化してもよい。これにより、符号化におけるオーバーヘッドを削減し、符号化効率を向上できる可能性がある。また、三次元データ符号化装置は、統合後の入力属性情報が大きい場合、統合後の属性情報を分割してもよい。
 図28は、この場合の三次元データ符号化装置100Bの構成を示すブロック図である。三次元データ符号化装置100Bは、属性情報統合部103と、属性情報変換部101と、属性情報符号化部102とを備える。
 属性情報統合部103は、複数の入力属性情報を統合することで統合属性情報を生成する。なお、属性情報統合部103は、複数の入力属性情報の一部のみを統合してもよい。
 属性情報変換部101は、統合属性情報を変換及び分割することで複数の変換後属性情報を生成する。属性情報符号化部102は、複数の変換後属性情報を符号化することで符号化属性情報を生成する。なお、属性情報変換部101及び属性情報符号化部102における処理は、例えば、上記と同様である。
 なお、統合された属性情報は、例えば、attribute_type=‘general_data’など任意の属性タイプを用いて符号化される。また、attribute_typeは、例えば、SPS等に格納される。また、この場合、上述した属性分割情報は、統合及び分割された複数の変換後属性情報と属性コンポーネント又はサブコンポーネントとの対応関係を示す。
 図29は、この場合の三次元データ復号装置200Bの構成を示すブロック図である。例えば、三次元データ復号装置200Bは、三次元データ符号化装置100Bにより生成されたビットストリームを復号する。三次元データ復号装置200Bは、属性情報復号部201と、属性情報逆変換部202、属性情報分割部203とを備える。
 属性情報復号部201は、ビットストリームから符号化属性情報及び属性分割情報を取得し、符号化属性情報を復号することで複数の変換後属性情報を生成する。属性情報逆変換部202は、複数の変換後属性情報を結合及び逆変換することで統合属性情報を生成する。なお、属性情報復号部201及び属性情報逆変換部202における処理は、例えば、上記と同様である。
 属性情報分割部203は、統合属性情報を分割することで複数の出力属性情報を生成する。ここで複数の出力属性情報は、図28における複数の入力属性情報に対応する。
 図30は、複数の入力属性情報を複数の変換後属性情報に統合及び分割する例を示す図である。図30では、入力属性情報A、B、D、Eのビット数は、予め定められた第1ビット数(例えば8ビット)以下であり、属性情報統合部103は、入力属性情報Aと入力属性情報Bとを統合することで統合属性情報F(変換後属性情報F)を生成し、入力属性情報Dと入力属性情報Eとを統合することで統合属性情報G(変換後属性情報G)を生成する。また、入力属性情報Cのビット数は、予め定められた第2ビット数(例えば16ビット)より大きく、属性情報変換部101は、入力属性情報Cを分割することで変換後属性情報H及び変換後属性情報Iを生成する。
 図31及び図32は、属性分割情報のシンタックス例を示す図である。図31は、SEIのシンタックス例を示す図である。なお、属性分割情報のシンタックスをその他のヘッダ等に含めてもよい。
 SEIは、sps_idと、frame_idと、attribute_partition_common_info3()とを含む。sps_idは、当該SEIが対応するSPSの識別子を示す。frame_idは、属性分割情報がフレーム毎に変化する場合、当該属性分割情報に対応するフレームの識別子を示す。
 attribute_partition_common_info3()は、共通の変換情報である。図32は、attribute_partition_common_info3のシンタックス例を示す図である。
 図32に示すシンタックスは、図25に示すattribute_partition_common_info2のシンタックスに対して、partition_num2が追加されている。
 partition_num2は、一つのコンポーネントの属性情報が、複数の入力属性情報を統合したデータである場合、その統合した複数の入力属性情報の数を示す。また、統合前の入力属性情報毎に個別情報(attribute_partition_info())が設けられる。
 このように、統合された入力属性情報毎に、入力属性情報に対応する属性コンポーネント及び次元(サブコンポーネント)の識別子が示されることにより、統合された入力属性情報と属性コンポーネント及び次元(サブコンポーネント)との対応関係、すなわち属性分割情報が示される。
 以上のように、本実施の形態に係る三次元データ復号装置は、図33に示す処理を行う。三次元データ復号装置は、三次元点の第1属性情報と三次元点の第2属性情報とが結合(マージ)されることを示す制御情報(例えばSEI又はSPS)を取得する(S301)。第1属性情報及び第2属性情報は、それぞれ点群圧縮規格(例えばPCC規格)に準拠した予め定められた長さ(例えばビット長又はビット深度)を有する。三次元データ復号装置は、制御情報に従って第1属性情報及び第2属性情報を復号する(S302)。
 ここで、制御情報とは、例えばSEI又はSPS等である。例えば、図23に示すattribute_partitionにより、三次元点の第1属性情報と三次元点の第2属性情報とが結合されるか否かが示される。なお、SEI又はSPSに、上述した変換情報又は属性分割情報、或いはその少なくとも一部が含まれている場合に、三次元データ復号装置は、三次元点の第1属性情報と三次元点の第2属性情報とが結合されると判断してもよい。
 これによれば、三次元データ復号装置は、点群圧縮規格に準拠した処理により復号された第1属性情報と第2属性情報とを結合することで、点群圧縮規格に準拠する長さ(サイズ)を超える属性情報を生成できる。よって、点群圧縮規格に準拠する長さを超える属性情報の処理を実現できる。
 例えば、三次元データ復号装置は、復号した第1属性情報と第2属性情報とを結合することで第3属性情報を生成してもよい。例えば、第3属性情報は、点群圧縮規に準拠した予め定められた長さを超えてもよい。
 また、本実施の形態に係る三次元データ復号装置は、図34に示す処理を行う。三次元データ復号装置は、点群圧縮規格に準拠する予め定められた長さを各々が有する複数のサブブロックに亘って三次元点の属性情報が提供されていることを示す制御情報を取得し(S311)、制御情報に従って属性情報を復号する(S312)。
 ここで、制御情報とは、例えばSEI又はSPS等である。例えば、図23に示すattribute_partitionにより、複数のサブブロックに亘って三次元点の属性情報が提供されているか否かが示される。なお、SEI又はSPSに、上述した変換情報又は属性分割情報、或いはその少なくとも一部が含まれている場合に、三次元データ復号装置は、複数のサブブロックに亘って三次元点の属性情報が提供されていると判断してもよい。
 これによれば、三次元データ復号装置は、点群圧縮規格に準拠した処理により復号された複数のサブブロックに亘って設けられた属性情報を生成できる。
 例えば、三次元データ復号装置は、複数のサブブロックの各々を復号することで属性情報を生成する。例えば、三次元データ復号装置は、複数のサブブロックの各々を復号することで複数の第1属性情報を生成し、複数の第1属性情報を結合することにより第2属性情報を生成する。例えば、第2属性情報は、点群圧縮規に準拠した予め定められた長さを超えてもよい。
 例えば、複数のサブブロックに提供されている属性情報により1つの情報が示される。例えば、1つの情報とは、タイムスタンプ等であり、1つの値を示す情報である。つまり、複数のサブブロックの各々の情報は、例えば、RGB又はYUVの一つの成分(例えばR成分)に対応するものではない。1つの情報とは、情報が意味を成す単位として1つと数えられる情報である。つまり、複数のサブブロックの各々の情報は個別には意味を成さない情報であり、複数のサブブロックの情報を結合することで意味を成す情報が得られる。したがって、この態様によれば、三次元データ復号装置は、点群圧縮規格に準拠する長さ以上の長さを有する1つの属性情報を生成できる。
 例えば、複数のサブブロックは、同一の長さを有する。なお、複数のサブブロックの少なくとも一部は異なる長さを有してもよい。
 例えば、複数のサブブロックは、点群圧縮規格に準拠した、属性情報の複数のコンポーネント、又は属性情報の1つのコンポーネントに含まれる複数の次元(サブコンポーネント)である。
 これによれば、三次元データ復号装置は、点群圧縮規格で予め設けられているコンポーネント又は複数次元を利用することで、点群圧縮規格に準拠する長さの複数のサブブロックを復号できる。よって、別途特別なコンテナを用いなくてもよいので、点群圧縮規格との互換性を維持できる。
 例えば、制御情報は、複数のサブブロックと、複数のコンポーネント又は複数の次元との対応関係を示す情報(例えば属性分割情報)を含む。例えば、三次元データ復号装置は、複数のサブブロックの各々を復号することで複数の第1属性情報を生成し、当該情報(例えば属性分割情報)を用いて、複数の第1属性情報を結合することにより第2属性情報を生成する。
 これによれば、三次元データ復号装置は、制御情報を用いて、複数のコンポーネント又は複数次元とサブブロックとの関係を把握できる。
 例えば、制御情報は、複数のサブブロックに亘って設けられた前記属性情報の変換に関する変換情報を含む。例えば、三次元データ復号装置は、復号した属性情報を変換情報を用いて逆変換する。ここで変換情報とは、例えば、スケール値及びオフセット値の少なくとも一方である。
 これによれば、複数のサブブロックに亘って設けられた属性情報が変換されているため、符号化効率が向上する(符号量が減少する)可能性がある。それに伴って、三次元データ復号装置が処理するデータ量を減らすことができる。
 例えば、変換情報は、複数のサブブロックのうちの第1のサブブロックに適用される第1係数と、複数のサブブロックのうちの第2のサブブロックに適用される第2係数と、を含み、第1係数と、第2係数とは異なる。例えば、三次元データ復号装置は、複数のサブブロックの各々を復号することで複数の第1属性情報を生成し、複数の第1属性情報の各々を、当該第1属性情報(サブブロック)に対応する係数(変換係数)を用いて逆変換する。ここで係数(第1係数及び第2係数の各々)は、例えば、スケール値及びオフセット値の少なくとも一方である。
 これによれば、サブブロックごとに異なる係数(変換係数)が用いられるため、符号化効率が向上する(符号量が減少する)可能性がある。それに伴って、三次元データ復号装置が処理するデータ量を減らすことができる。
 例えば、複数の三次元点の属性情報について、第1のサブブロックの値が0に近く且つ第2のサブブロックの値が0以外の値に近い傾向にある場合、それぞれのサブブロックの値に対して異なる変換を行うことにより、符号量をより抑制できる可能性がある。より具体的には、64ビットの属性情報を4つの16ビット長のサブブロックに亘って設ける場合、属性情報によっては、64ビットで表現できる大きさにまでならないことがある。この場合、上位の所定数ビットは0になるため、上位の16ビットのサブブロックに対する係数と、下位のサブブロックの係数とを異ならせることで、符号量を削減できる。このようにサブブロックごとに値の傾向が異なる場合、サブブロックごとに異なる係数を適用することで符号量を抑制できる。
 例えば、制御情報は、分割前の属性情報の変換に関する追加の変換情報(例えばglobal_scale及びglobal_offsetの少なくとも一方)を含む。例えば、三次元データ復号装置は、複数のサブブロックの各々を復号することで複数の第1属性情報を生成し、複数の第1属性情報を結合することにより第2属性情報を生成し、当該追加の変換情報を用いて第2属性情報を逆変換する。
 これによれば、三次元データ符号化装置は、分割前の属性情報を変換することができるので符号化効率を向上できる。また、三次元データ復号装置は、追加の変換情報を用いて当該変換の逆変換を行うことで、元の属性情報を復元できる。
 例えば、三次元データ復号装置は、プロセッサと、メモリとを備え、プロセッサは、メモリを用いて、上記の処理を行う。
 また、本実施の形態に係る三次元データ符号化装置は、図35に示す処理を行う。三次元データ符号化装置は、三次元点の第1属性情報と三次元点の第2属性情報とが結合されることを示す制御情報(例えばSEI又はSPS)を生成する(S401)。第1属性情報及び第2属性情報は、それぞれ点群圧縮規格(例えばPCC規格)に準拠した予め定められた長さ(例えばビット長又はビット深度)を有する。三次元データ符号化装置は、第1属性情報及び第2属性情報を符号化し(S402)、符号化された第1属性情報及び第2属性情報と、制御情報とを含むビットストリームを生成する(S403)。
 ここで、制御情報とは、例えばSEI又はSPS等である。例えば、図23に示すattribute_partitionにより、三次元点の第1属性情報と三次元点の第2属性情報とが結合されるか否かが示される。なお、SEI又はSPSに、上述した変換情報又は属性分割情報、或いはその少なくとも一部が含まれている場合に、三次元データ復号装置は、三次元点の第1属性情報と三次元点の第2属性情報とが結合されると判断してもよい。
 これによれば、三次元データ符号化装置により生成されたビットストリームを復号する三次元データ復号装置は、点群圧縮規格に準拠した処理により第1属性情報及び第2属性情報を復号できる。また、復号された第1属性情報と第2属性情報とを結合することで、点群圧縮規格に準拠する長さを超える属性情報を生成できる。よって、点群圧縮規格に準拠する長さを超える属性情報の処理を実現できる。
 例えば、三次元データ符号化装置は、第3属性情報を分割することで第1属性情報と第2属性情報とを生成してもよい。例えば、第3属性情報は、点群圧縮規に準拠した予め定められた長さを超えてもよい。
 また、本実施の形態に係る三次元データ符号化装置は、図36に示す処理を行う。三次元データ符号化装置は、点群圧縮規格に準拠する予め定められた長さを各々が有する複数のサブブロックに亘って三次元点の属性情報が提供されていることを示す制御情報を生成し(S411)、属性情報を符号化し(S412)、符号化された属性情報と、制御情報とを含むビットストリームを生成する(S413)。
 ここで、制御情報とは、例えばSEI又はSPS等である。例えば、図23に示すattribute_partitionにより、複数のサブブロックに亘って三次元点の属性情報が提供されているか否かが示される。なお、SEI又はSPSに、上述した変換情報又は属性分割情報、或いはその少なくとも一部が含まれている場合に、三次元データ復号装置は、複数のサブブロックに亘って三次元点の属性情報が提供されていると判断してもよい。
 これによれば、三次元データ復号装置は、点群圧縮規格に準拠した処理により複数のサブブロックを復号できる。また、属性情報が点群圧縮規格に準拠する長さを超える場合にも当該属性情報を処理できる。
 例えば、三次元データ符号化装置は、第1属性情報を分割することで複数の第2属性情報を生成し、複数の第2属性情報をそれぞれ複数のサブブロックに提供する。例えば、第1属性情報は、点群圧縮規に準拠した予め定められた長さを超えてもよい。ここで提供するとは、複数のサブブロックに複数の第2属性情報のそれぞれを格納することである。言い換えると、提供するとは、複数のサブブロックに対応付けて複数の第2属性情報を符号化することである。
 例えば、複数のサブブロックに提供されている属性情報により1つの情報が示される。例えば、1つの情報とは、例えば、タイムスタンプ等であり、1つの値を示す情報である。つまり、複数のサブブロックの各々の情報は、例えば、RGB又はYUVの一つの成分(例えばR成分)に対応するものではない。1つの情報とは、情報が意味を成す単位として1つと数えられる情報である。つまり、複数のサブブロックの各々の情報は個別には意味を成さない情報であり、複数のサブブロックの情報を結合することで意味を成す情報が得られる。
 例えば、複数のサブブロックは、同一の長さを有する。なお、複数のサブブロックの少なくとも一部は異なる長さを有してもよい。
 例えば、複数のサブブロックは、点群圧縮規格に準拠した、属性情報の複数のコンポーネント、又は属性情報の1つのコンポーネントに含まれる複数の次元(複数のサブコンポーネント)である。
 これによれば、三次元データ符号化装置は、点群圧縮規格で予め設けられているコンポーネント又は複数次元を利用することで、点群圧縮規格に準拠する長さの複数のサブブロックを符号化できる。よって、別途特別なコンテナを用いなくてもよいので、点群圧縮規格との互換性を維持できる。
 例えば、制御情報は、複数のサブブロックと、複数のコンポーネント又は複数の次元との対応関係を示す情報(例えば属性分割情報)を含む。例えば、三次元データ符号化装置は、当該情報を制御情報に格納する。
 これによれば、三次元データ復号装置は、制御情報を用いて、複数のコンポーネント又は複数次元とサブブロックとの関係を把握できる。
 例えば、制御情報は、複数のサブブロックに亘って設けられた前記属性情報の変換に関する変換情報を含む。例えば、三次元データ符号化装置は、複数のサブブロックを変換し、変換後の属性情報を符号化する。変換情報は当該変換に関する。ここで変換情報とは、例えば、スケール値及びオフセット値の少なくとも一方である。
 これによれば、複数のサブブロックに亘って設けられた属性情報が変換されているため、符号化効率が向上する(符号量が減少する)可能性がある。それに伴って、三次元データ復号装置が処理するデータ量を減らすことができる。。
 例えば、変換情報は、複数のサブブロックのうちの第1のサブブロックに適用される第1係数と、複数のサブブロックのうちの第2のサブブロックに適用される第2係数と、を含み、第1係数と、第2係数とは異なる。例えば、三次元データ符号化装置は、複数のサブブロックの各々を、当該サブブロックに対応する係数(変換係数)を用いて変換する。ここで係数(第1係数及び第2係数の各々)は、例えば、スケール値及びオフセット値の少なくとも一方である。
 これによれば、サブブロックごとに異なる係数が用いられるため、符号化効率が向上する(符号量が減少する)可能性がある。それに伴って、三次元データ復号装置が処理するデータ量を減らすことができる。
 例えば、制御情報は、分割前の属性情報の変換に関する追加の変換情報(例えばglobal_scale及びglobal_offsetの少なくとも一方)を含む。例えば、三次元データ符号化装置は、第1属性情報(分割前の属性情報)を変換することで第2属性情報を生成し、第2属性情報を分割することで複数のサブブロック(複数の第3属性情報)を生成する。追加の変換情報は、第1属性情報の変換に関する。
 これによれば、三次元データ符号化装置は、分割前の属性情報を変換することができるので符号化効率を向上できる。また、三次元データ復号装置は、追加の変換情報を用いて当該変換の逆変換を行うことで、元の属性情報を復元できる。
 例えば、三次元データ符号化装置は、プロセッサと、メモリとを備え、プロセッサは、メモリを用いて、上記の処理を行う。
 以上、本開示の実施の形態及び変形例に係る三次元データ符号化装置及び三次元データ復号装置等について説明したが、本開示は、この実施の形態に限定されるものではない。
 また、上記実施の形態に係る三次元データ符号化装置及び三次元データ復号装置等に含まれる各処理部は典型的には集積回路であるLSIとして実現される。これらは個別に1チップ化されてもよいし、一部又は全てを含むように1チップ化されてもよい。
 また、集積回路化はLSIに限るものではなく、専用回路又は汎用プロセッサで実現してもよい。LSI製造後にプログラムすることが可能なFPGA(Field Programmable Gate Array)、又はLSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。
 また、上記各実施の形態において、各構成要素は、専用のハードウェアで構成されるか、各構成要素に適したソフトウェアプログラムを実行することによって実現されてもよい。各構成要素は、CPUまたはプロセッサなどのプログラム実行部が、ハードディスクまたは半導体メモリなどの記録媒体に記録されたソフトウェアプログラムを読み出して実行することによって実現されてもよい。
 また、本開示は、三次元データ符号化装置及び三次元データ復号装置等により実行される三次元データ符号化方法又は三次元データ復号方法等として実現されてもよい。
 また、ブロック図における機能ブロックの分割は一例であり、複数の機能ブロックを一つの機能ブロックとして実現したり、一つの機能ブロックを複数に分割したり、一部の機能を他の機能ブロックに移してもよい。また、類似する機能を有する複数の機能ブロックの機能を単一のハードウェア又はソフトウェアが並列又は時分割に処理してもよい。
 また、フローチャートにおける各ステップが実行される順序は、本開示を具体的に説明するために例示するためのものであり、上記以外の順序であってもよい。また、上記ステップの一部が、他のステップと同時(並列)に実行されてもよい。
 以上、一つまたは複数の態様に係る三次元データ符号化装置及び三次元データ復号装置等について、実施の形態に基づいて説明したが、本開示は、この実施の形態に限定されるものではない。本開示の趣旨を逸脱しない限り、当業者が思いつく各種変形を本実施の形態に施したものや、異なる実施の形態における構成要素を組み合わせて構築される形態も、一つまたは複数の態様の範囲内に含まれてもよい。
 本開示は、三次元データ符号化装置及び三次元データ復号装置に適用できる。
 100、100A、100B 三次元データ符号化装置
 101、101A 属性情報変換部
 102、102A 属性情報符号化部
 103 属性情報統合部
 200、200A、200B 三次元データ復号装置
 201、201A 属性情報復号部
 202、202A 属性情報逆変換部
 203 属性情報分割部

Claims (22)

  1.  三次元点の第1属性情報と前記三次元点の第2属性情報とが結合されることを示す制御情報を取得し、
     前記制御情報に従って前記第1属性情報及び前記第2属性情報を復号し、
     前記第1属性情報及び前記第2属性情報は、それぞれ点群圧縮規格に準拠した予め定められた長さを有する、
     三次元データ復号方法。
  2.  点群圧縮規格に準拠する予め定められた長さを各々が有する複数のサブブロックに亘って三次元点の属性情報が提供されていることを示す制御情報を取得し、
     前記制御情報に従って前記属性情報を復号する、
     三次元データ復号方法。
  3.  前記複数のサブブロックに提供されている属性情報により1つの情報が示される
     請求項2記載の三次元データ復号方法。
  4.  前記複数のサブブロックは、同一の長さを有する
     請求項2記載の三次元データ復号方法。
  5.  前記複数のサブブロックは、前記点群圧縮規格に準拠した、前記属性情報の複数のコンポーネント、又は前記属性情報の1つのコンポーネントに含まれる複数の次元である
     請求項2記載の三次元データ復号方法。
  6.  前記制御情報は、前記複数のサブブロックと、前記複数のコンポーネント又は前記複数の次元との対応関係を示す情報を含む
     請求項5記載の三次元データ復号方法。
  7.  前記制御情報は、前記複数のサブブロックに亘って設けられた前記属性情報の変換に関する変換情報を含む
     請求項2記載の三次元データ復号方法。
  8.  前記変換情報は、前記複数のサブブロックのうちの第1のサブブロックに適用される第1係数と、前記複数のサブブロックのうちの第2のサブブロックに適用される第2係数と、を含み、
     前記第1係数と、前記第2係数とは異なる
     請求項7記載の三次元データ復号方法。
  9.  前記制御情報は、分割前の前記属性情報の変換に関する追加の変換情報を含む
     請求項7記載の三次元データ復号方法。
  10.  三次元点の第1属性情報と前記三次元点の第2属性情報とが結合されることを示す制御情報を生成し、
     前記第1属性情報及び前記第2属性情報を符号化し、
     符号化された前記第1属性情報及び前記第2属性情報と、前記制御情報とを含むビットストリームを生成し、
     前記第1属性情報及び前記第2属性情報は、それぞれ点群圧縮規格に準拠した予め定められた長さを有する、
     三次元データ符号化方法。
  11.  点群圧縮規格に準拠する予め定められた長さを各々が有する複数のサブブロックに亘って三次元点の属性情報が提供されていることを示す制御情報を生成し、
     前記属性情報を符号化し、
     符号化された前記属性情報と、前記制御情報とを含むビットストリームを生成する
     三次元データ符号化方法。
  12.  前記複数のサブブロックに提供されている属性情報により1つの情報が示される
     請求項11記載の三次元データ符号化方法。
  13.  前記複数のサブブロックは、同一の長さを有する
     請求項11記載の三次元データ符号化方法。
  14.  前記複数のサブブロックは、前記点群圧縮規格に準拠した、前記属性情報の複数のコンポーネント、又は前記属性情報の1つのコンポーネントに含まれる複数の次元である
     請求項11記載の三次元データ符号化方法。
  15.  前記制御情報は、前記複数のサブブロックと、前記複数のコンポーネント又は前記複数の次元との対応関係を示す情報を含む
     請求項14記載の三次元データ符号化方法。
  16.  前記制御情報は、前記複数のサブブロックに亘って設けられた前記属性情報の変換に関する変換情報を含む
     請求項11記載の三次元データ符号化方法。
  17.  前記変換情報は、前記複数のサブブロックのうちの第1のサブブロックに適用される第1係数と、前記複数のサブブロックのうちの第2のサブブロックに適用される第2係数と、を含み、
     前記第1係数と、前記第2係数とは異なる
     請求項16記載の三次元データ符号化方法。
  18.  前記制御情報は、分割前の前記属性情報の変換に関する追加の変換情報を含む
     請求項16記載の三次元データ符号化方法。
  19.  プロセッサと、
     メモリと、を備え、
     前記プロセッサは、前記メモリを用いて、
     三次元点の第1属性情報と前記三次元点の第2属性情報とが結合されることを示す制御情報を取得し、
     前記制御情報に従って前記第1属性情報及び前記第2属性情報を復号し、
     前記第1属性情報及び前記第2属性情報は、それぞれ点群圧縮規格に準拠した予め定められた長さを有する、
     三次元データ復号装置。
  20.  プロセッサと、
     メモリと、を備え、
     前記プロセッサは、前記メモリを用いて、
     点群圧縮規格に準拠する予め定められた長さを各々が有する複数のサブブロックに亘って三次元点の属性情報が提供されていることを示す制御情報を取得し、
     前記制御情報に従って前記属性情報を復号する、
     三次元データ復号装置。
  21.  プロセッサと、
     メモリと、を備え、
     前記プロセッサは、前記メモリを用いて、
     三次元点の第1属性情報と前記三次元点の第2属性情報とが結合されることを示す制御情報を生成し、
     前記第1属性情報及び前記第2属性情報を符号化し、
     符号化された前記第1属性情報及び前記第2属性情報と、前記制御情報とを含むビットストリームを生成し、
     前記第1属性情報及び前記第2属性情報は、それぞれ点群圧縮規格に準拠した予め定められた長さを有する、
     三次元データ符号化装置。
  22.  プロセッサと、
     メモリと、を備え、
     前記プロセッサは、前記メモリを用いて、
     点群圧縮規格に準拠する予め定められた長さを各々が有する複数のサブブロックに亘って三次元点の属性情報が提供されていることを示す制御情報を生成し、
     前記属性情報を符号化し、
     符号化された前記属性情報と、前記制御情報とを含むビットストリームを生成する
     三次元データ符号化装置。
PCT/JP2022/039442 2021-12-09 2022-10-24 三次元データ復号方法、三次元データ符号化方法、三次元データ復号装置、及び三次元データ符号化装置 WO2023105953A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US202163287619P 2021-12-09 2021-12-09
US63/287,619 2021-12-09

Publications (1)

Publication Number Publication Date
WO2023105953A1 true WO2023105953A1 (ja) 2023-06-15

Family

ID=86730120

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2022/039442 WO2023105953A1 (ja) 2021-12-09 2022-10-24 三次元データ復号方法、三次元データ符号化方法、三次元データ復号装置、及び三次元データ符号化装置

Country Status (1)

Country Link
WO (1) WO2023105953A1 (ja)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018078503A (ja) * 2016-11-11 2018-05-17 日本電信電話株式会社 データ符号化方法、データ符号化装置及びデータ符号化プログラム

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018078503A (ja) * 2016-11-11 2018-05-17 日本電信電話株式会社 データ符号化方法、データ符号化装置及びデータ符号化プログラム

Similar Documents

Publication Publication Date Title
JP7323545B2 (ja) 三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置、及び三次元データ復号装置
CN110708560A (zh) 点云数据处理方法和装置
KR102634079B1 (ko) 포인트 클라우드 데이터 처리 장치 및 방법
WO2012043294A1 (ja) 画像符号化方法および装置、画像復号方法及び装置、およびそれらのプログラム
KR102662068B1 (ko) 삼차원 데이터 부호화 방법, 삼차원 데이터 복호 방법, 삼차원 데이터 부호화 장치, 및 삼차원 데이터 복호 장치
TWI508529B (zh) 圖像編碼方法及裝置、圖像解碼方法及裝置以及其程式
CN114424247A (zh) 用于点云编码的方法及装置
JP2024053014A (ja) ポイントクラウドデータ処理方法及び装置
US20220321912A1 (en) Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method
JP7486883B2 (ja) Haarベースの点群符号化のための方法および装置
JP7325534B2 (ja) 点群符号化のための方法および装置
CN113632142A (zh) 点云压缩的方法和装置
WO2022070469A1 (ja) 点群復号装置、点群復号方法及びプログラム
WO2022071284A1 (ja) 点群復号装置、点群復号方法及びプログラム
WO2021256486A1 (ja) 点群復号装置、点群復号方法及びプログラム
WO2023105953A1 (ja) 三次元データ復号方法、三次元データ符号化方法、三次元データ復号装置、及び三次元データ符号化装置
CN116250008A (zh) 点云的编码、解码方法、编码器、解码器以及编解码系统
US20230328270A1 (en) Point cloud data transmission device, point cloud data transmission method, point coud data reception device, and point cloud data reception method
WO2022071282A1 (ja) 点群復号装置、点群復号方法及びプログラム
WO2021141094A1 (ja) 三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置、及び三次元データ復号装置
CN116250016A (zh) 点云解码装置、点云解码方法和程序
CN117097898A (zh) 基于点云属性预测的解码、编码方法、解码器及编码器
WO2023204040A1 (ja) 復号方法、符号化方法、復号装置及び符号化装置
WO2022191132A1 (ja) 三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置、及び三次元データ復号装置
WO2024014205A1 (ja) 復号方法、符号化方法、復号装置及び符号化装置

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

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2023566139

Country of ref document: JP

Kind code of ref document: A