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

JP7914134B2Active Publication Date: 2026-09-01PANASONIC INTELLECTUAL PROPERTY CORP OF AMERICA
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
JP2023566139
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2021-12-09
Filing Date
2022-10-24
Publication Date
2026-09-01
Estimated Expiration
2042-10-24

AI Technical Summary

Benefits of technology

【0013】 本開示は、点群圧縮規格に準拠する長さを超える属性情報を処理できる三次元データ復号方法、三次元データ符号化方法、三次元データ復号装置、又は三次元データ符号化装置を提供できる。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007914134000001
    Figure 0007914134000001
  • Figure 0007914134000002
    Figure 0007914134000002
  • Figure 0007914134000003
    Figure 0007914134000003
Patent Text Reader

Abstract

In this three-dimensional data decoding method, control information is acquired, the control information indicating that first attribute information of a three-dimensional point and second attribute information of the three-dimensional point are combined (S301); and the first attribute information and the second attribute information are decoded in accordance with the control information (S302). The first attribute information and the second attribute information each have a predetermined length based on a point group compression standard. In addition, in the three-dimensional data decoding method, control information is acquired, the control information indicating that three-dimensional point attribute information is provided spanning a plurality of sub-blocks, each having a predetermined length based on a point group compression standard (S311); and the attribute information is decoded in accordance with the control information (S312).
Need to check novelty before this filing date? Find Prior Art

Description

[[Technical Field]]

[0001] The present disclosure relates to a three-dimensional data decoding method, a three-dimensional data encoding method, a three-dimensional data decoding apparatus, and a three-dimensional data encoding apparatus. [[Background Art]]

[0002] Devices or services utilizing three-dimensional data are expected to spread in the future in a wide range of fields such as computer vision for autonomous operation of automobiles or robots, map information, monitoring, infrastructure inspection, and video distribution. Three-dimensional data is acquired by various methods such as distance sensors such as range finders, stereo cameras, or combinations of multiple monocular cameras.

[0003] As one method for representing three-dimensional data, there is a representation method called point cloud, which represents the shape of a three-dimensional structure by a point group in a three-dimensional space. In a point cloud, the positions and colors of the point group are stored. Although point cloud is expected to become mainstream as a representation method for three-dimensional data, the data amount of a point cloud is extremely large. Therefore, in the storage or transmission of three-dimensional data, compression of the data amount by encoding is essential, similarly to two-dimensional moving images (for example, MPEG-4 AVC or HEVC standardized by MPEG).

[0004] In addition, point cloud compression is partially supported by public libraries (Point Cloud Library) that perform point cloud-related processing.

[0005] Further, a technique of searching for and displaying facilities located around a vehicle using three-dimensional map data is known (see, for example, Patent Document 1). [[Prior Art Documents]] [[Patent Documents]]

[0006] [[Patent Document 1]] International Publication No. 2014 / 020663 [Overview of the project] [Problems that the invention aims to solve]

[0007] In the encoding and decoding of three-dimensional data, there is a challenge in that attribute information exceeding the length compliant with point cloud compression standards cannot be processed.

[0008] The purpose of this disclosure is to provide 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 required to comply with point cloud compression standards. [Means for solving the problem]

[0009] A three-dimensional data decoding method according to one aspect of the present disclosure acquires control information indicating that first attribute information of a three-dimensional point and second attribute information of the three-dimensional point are combined, decodes the first attribute information and the second attribute information according to the control information, and each of the first attribute information and the second attribute information has a predetermined length in accordance with a point cloud compression standard.

[0010] A three-dimensional data decoding method according to one aspect of the present disclosure acquires control information indicating that attribute information of three-dimensional points is provided across a plurality of subblocks, each having a predetermined length conforming to a point cloud compression standard, and decodes the attribute information according to the control information.

[0011] A three-dimensional data encoding method according to one aspect of the present disclosure generates control information indicating that first attribute information of a three-dimensional point and second attribute information of the three-dimensional point are combined; encodes the first attribute information and the second attribute information; generates a bitstream including the encoded first attribute information and second attribute information and the control information, wherein the first attribute information and the second attribute information each have a predetermined length in accordance with a point cloud compression standard.

[0012] A three-dimensional data encoding method according to one aspect of the present disclosure generates control information indicating that attribute information of three-dimensional points is provided across a plurality of subblocks, each having a predetermined length conforming to a point cloud compression standard; encodes the attribute information; and generates a bitstream including the encoded attribute information and the control information. [Effects of the Invention]

[0013] This 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 required to comply with point cloud compression standards. [Brief explanation of the drawing]

[0014] [Figure 1] Figure 1 shows an example of point cloud position information and attribute information according to an embodiment. [Figure 2] Figure 2 is a block diagram of a three-dimensional data encoding device according to an embodiment. [Figure 3] Figure 3 is a block diagram of a three-dimensional data decoding device according to an embodiment. [Figure 4] Figure 4 shows an example of dividing input attribute information into multiple converted attribute information according to the embodiment. [Figure 5] Figure 5 shows an example of the correspondence between multiple converted attribute information and components and subcomponents according to the embodiment. [Figure 6] Figure 6 shows an example of the correspondence between multiple converted attribute information and components and subcomponents according to the embodiment. [Figure 7] Figure 7 shows an example of the correspondence between multiple converted attribute information and components and subcomponents according to the embodiment. [Figure 8] Figure 8 shows an example of the conversion process according to the embodiment. [Figure 9] Figure 9 is a flowchart of the conversion process according to the embodiment. [Figure 10]FIG. 10 is a diagram illustrating an example of inverse transformation processing according to an embodiment. [Figure 11] FIG. 11 is a flowchart of inverse transformation processing according to an embodiment. [Figure 12] FIG. 12 is a diagram illustrating a first specific example of transformation processing according to an embodiment. [Figure 13] FIG. 13 is a diagram illustrating a first specific example of inverse transformation processing according to an embodiment. [Figure 14] FIG. 14 is a diagram illustrating a second specific example of transformation processing according to an embodiment. [Figure 15] FIG. 15 is a diagram illustrating a second specific example of inverse transformation processing according to an embodiment. [Figure 16] FIG. 16 is a block diagram of a modification of the three-dimensional data encoding apparatus according to an embodiment. [Figure 17] FIG. 17 is a block diagram of a modification of the three-dimensional data decoding apparatus according to an embodiment. [Figure 18] FIG. 18 is a diagram illustrating an example of a syntax for common information according to an embodiment. [Figure 19] FIG. 19 is a diagram illustrating an example of a syntax for individual information according to an embodiment. [Figure 20] FIG. 20 is a diagram illustrating a configuration example of a bitstream according to an embodiment. [Figure 21] FIG. 21 is a diagram illustrating a configuration example of a bitstream according to an embodiment. [Figure 22] FIG. 22 is a diagram illustrating a configuration example of a bitstream according to an embodiment. [Figure 23] FIG. 23 is a diagram illustrating an example of an SPS syntax according to an embodiment. [Figure 24] FIG. 24 is a diagram illustrating an example of an SEI syntax according to an embodiment. [Figure 25] FIG. 25 is a diagram illustrating an example of a syntax for attribute_partition_common_info2 according to an embodiment. [Figure 26]Figure 26 is a flowchart of the three-dimensional data encoding process according to the embodiment. [Figure 27] Figure 27 is a flowchart of the three-dimensional data decoding process according to the embodiment. [Figure 28] Figure 28 is a block diagram of a modified example of the three-dimensional data encoding device according to the embodiment. [Figure 29] Figure 29 is a block diagram of a modified example of a three-dimensional data decoding device according to an embodiment. [Figure 30] Figure 30 shows an example of the joining and splitting process according to the embodiment. [Figure 31] Figure 31 shows an example of SEI syntax according to an embodiment. [Figure 32] Figure 32 shows an example of the syntax for attribute_partition_common_info3 according to the embodiment. [Figure 33] Figure 33 is a flowchart of the three-dimensional data decoding process according to the embodiment. [Figure 34] Figure 34 is a flowchart of the three-dimensional data decoding process according to the embodiment. [Figure 35] Figure 35 is a flowchart of the three-dimensional data encoding process according to the embodiment. [Figure 36] Figure 36 is a flowchart of the three-dimensional data encoding process according to the embodiment. [Modes for carrying out the invention]

[0015] A three-dimensional data decoding method according to one aspect of the present disclosure acquires control information indicating that first attribute information of a three-dimensional point and second attribute information of the three-dimensional point are combined, decodes the first attribute information and the second attribute information according to the control information, and each of the first attribute information and the second attribute information has a predetermined length in accordance with a point cloud compression standard.

[0016] According to this, the three-dimensional data decoding method can generate attribute information exceeding the length (size) compliant with the point cloud compression standard by combining the first attribute information and the second attribute information decoded by processing compliant with the point cloud compression standard. Therefore, it is possible to process attribute information exceeding the length compliant with the point cloud compression standard.

[0017] A three-dimensional data decoding method according to one aspect of the present disclosure acquires control information indicating that attribute information of three-dimensional points is provided across a plurality of subblocks, each having a predetermined length conforming to a point cloud compression standard, and decodes the attribute information according to the control information.

[0018] According to this, the three-dimensional data decoding method can generate attribute information provided across multiple subblocks that have been decoded by processing compliant with the point cloud compression standard.

[0019] For example, one piece of information may be represented by attribute information provided to the multiple subblocks. Therefore, according to this embodiment, the three-dimensional data decoding method can generate one piece of attribute information having a length greater than or equal to the length conforming to the point cloud compression standard.

[0020] For example, the multiple subblocks may have the same length. For example, the multiple subblocks may be multiple components of the attribute information, or multiple dimensions included in one component of the attribute information, in accordance with the point cloud compression standard.

[0021] According to this, the three-dimensional data decoding method can decode multiple subblocks of a length compliant with the point cloud compression standard by utilizing components or multiple dimensions pre-defined in the point cloud compression standard. Therefore, since there is no need to use a separate special container, compatibility with the point cloud compression standard can be maintained.

[0022] For example, the control information may include information indicating the correspondence between the plurality of subblocks and the plurality of components or the plurality of dimensions.

[0023] According to this, the three-dimensional data decoding method can use control information to understand the relationship between multiple components or multiple dimensions and subblocks. This correspondence can be used, for example, to combine multiple attribute information.

[0024] For example, the control information may include conversion information relating to the conversion of the attribute information provided across the plurality of subblocks.

[0025] In this embodiment, since attribute information provided across multiple subblocks is transformed, encoding efficiency may be improved (the amount of code reduced). Consequently, the amount of data processed by the three-dimensional data decoding method can be reduced.

[0026] For example, the conversion information includes a first coefficient applied to a first subblock among the plurality of subblocks, and a second coefficient applied to a second subblock among the plurality of subblocks, and the first coefficient and the second coefficient may be different.

[0027] In this embodiment, since different coefficients (conversion coefficients) are used for each subblock, the encoding efficiency may be improved (the amount of code may decrease). Consequently, the amount of data processed by the three-dimensional data decoding method can be reduced.

[0028] For example, if the attribute information of multiple three-dimensional points tends to have values ​​close to 0 in the first subblock and values ​​close to non-zero in the second subblock, it may be possible to further reduce the amount of code by performing different transformations on the values ​​of each subblock. More specifically, if 64 bits of attribute information are provided across four 16-bit subblocks, some attribute information may not be large enough to be represented by 64 bits. In this case, a predetermined number of upper bits will be 0, so the amount of code can be reduced by making the coefficient for the upper 16 bits of the subblock different from the coefficient for the lower subblock. In this way, when the value trends differ for each subblock, the amount of code can be reduced by applying different coefficients to each subblock.

[0029] For example, the control information may include additional conversion information relating to the conversion of the attribute information before division.

[0030] According to this, the three-dimensional data encoding device can improve encoding efficiency because it can transform the attribute information before division. Furthermore, the three-dimensional data decoding method can restore the original attribute information by performing an inverse transformation of the transformation using the additional transformation information.

[0031] A three-dimensional data encoding method according to one aspect of the present disclosure generates control information indicating that first attribute information of a three-dimensional point and second attribute information of the three-dimensional point are combined; encodes the first attribute information and the second attribute information; generates a bitstream including the encoded first attribute information and second attribute information and the control information, wherein the first attribute information and the second attribute information each have a predetermined length in accordance with a point cloud compression standard.

[0032] According to this, a three-dimensional data decoding device that decodes the bitstream generated by the three-dimensional data encoding method can generate attribute information exceeding the length (size) compliant with the point cloud compression standard by combining the first attribute information and the second attribute information decoded by processing compliant with the point cloud compression standard. Therefore, it is possible to process attribute information exceeding the length compliant with the point cloud compression standard.

[0033] A three-dimensional data encoding method according to one aspect of the present disclosure generates control information indicating that attribute information of three-dimensional points is provided across a plurality of subblocks, each having a predetermined length conforming to a point cloud compression standard; encodes the attribute information; and generates a bitstream including the encoded attribute information and the control information.

[0034] According to this, the three-dimensional data decoding device can generate attribute information provided across multiple subblocks that have been decoded by processing compliant with the point cloud compression standard.

[0035] For example, one piece of information may be represented by attribute information provided to the multiple subblocks. Therefore, according to this embodiment, the three-dimensional data decoding device can generate one piece of attribute information having a length greater than or equal to the length conforming to the point cloud compression standard.

[0036] For example, the multiple subblocks may have the same length. For example, the multiple subblocks may be multiple components of the attribute information, or multiple dimensions included in one component of the attribute information, in accordance with the point cloud compression standard.

[0037] According to this, the three-dimensional data encoding method can encode multiple subblocks of a length compliant with the point cloud compression standard by utilizing components or multiple dimensions pre-defined in the point cloud compression standard. Therefore, since there is no need to use a separate special container, compatibility with the point cloud compression standard can be maintained.

[0038] For example, the control information may include information indicating the correspondence between the plurality of subblocks and the plurality of components or the plurality of dimensions.

[0039] According to this, a three-dimensional data decoding device can use control information to understand the relationship between multiple components or multiple dimensions and subblocks. This correspondence can be used, for example, to combine multiple attribute information.

[0040] For example, the control information may include conversion information relating to the conversion of the attribute information provided across the plurality of subblocks.

[0041] In this embodiment, since attribute information provided across multiple subblocks is transformed, encoding efficiency may be improved (the amount of code reduced). Consequently, the amount of data processed by the three-dimensional data decoding device can be reduced.

[0042] For example, the conversion information includes a first coefficient applied to a first subblock among the plurality of subblocks, and a second coefficient applied to a second subblock among the plurality of subblocks, and the first coefficient and the second coefficient may be different.

[0043] In this embodiment, since different coefficients are used for each subblock, encoding efficiency may be improved (the amount of code may decrease). Consequently, the amount of data that the three-dimensional data decoder has to process can be reduced.

[0044] For example, the control information may include additional conversion information relating to the conversion of the attribute information before division.

[0045] According to this, the three-dimensional data encoding method can improve encoding efficiency because it can transform the attribute information before partitioning. Furthermore, the three-dimensional data decoding device can restore the original attribute information by performing an inverse transformation of the transformation using the additional transformation information.

[0046] Furthermore, a three-dimensional data decoding device according to one aspect of the present disclosure comprises a processor and a memory, wherein the processor uses the memory to acquire control information indicating that first attribute information of a three-dimensional point and second attribute information of the three-dimensional point are combined, decodes the first attribute information and the second attribute information according to the control information, and the first attribute information and the second attribute information each have a predetermined length in accordance with a point cloud compression standard.

[0047] According to this, the three-dimensional data decoding device can generate attribute information exceeding the length (size) compliant with the point cloud compression standard by combining the first attribute information and the second attribute information decoded by processing compliant with the point cloud compression standard. Therefore, it can process attribute information exceeding the length compliant with the point cloud compression standard.

[0048] Furthermore, a three-dimensional data decoding device according to one aspect of the present disclosure comprises a processor and a memory, wherein the processor uses the memory to acquire control information indicating that attribute information of three-dimensional points is provided across a plurality of subblocks, each having a predetermined length compliant with a point cloud compression standard, and decodes the attribute information according to the control information.

[0049] According to this, the three-dimensional data decoding device can generate attribute information provided across multiple subblocks that have been decoded by processing in accordance with the point cloud compression standard.

[0050] Furthermore, a three-dimensional data encoding device according to one aspect of the present disclosure comprises a processor and a memory, wherein the processor uses the memory to generate control information indicating that first attribute information of a three-dimensional point and second attribute information of the three-dimensional point are combined, encodes the first attribute information and the second attribute information, generates a bitstream including the encoded first attribute information and second attribute information and the control information, and the first attribute information and second attribute information each have a predetermined length in accordance with a point cloud compression standard.

[0051] According to this, a three-dimensional data decoder that decodes the bitstream generated by the three-dimensional data encoding device can generate attribute information exceeding the length (size) compliant with the point cloud compression standard by combining the first attribute information and the second attribute information decoded by processing compliant with the point cloud compression standard. Therefore, it is possible to process attribute information exceeding the length compliant with the point cloud compression standard.

[0052] Furthermore, a three-dimensional data encoding device according to one aspect of the present disclosure comprises a processor and a memory, wherein the processor uses the memory to generate control information indicating that attribute information of three-dimensional points is provided across a plurality of subblocks, each having a predetermined length compliant with a point cloud compression standard, encodes the attribute information, and generates a bitstream including the encoded attribute information and the control information.

[0053] According to this, the three-dimensional data decoding device can generate attribute information provided across multiple subblocks that have been decoded by processing compliant with the point cloud compression standard.

[0054] These comprehensive or specific embodiments may be implemented as a system, method, integrated circuit, computer program, or recording medium such as a computer-readable CD-ROM, or as any combination of a system, method, integrated circuit, computer program, and recording medium.

[0055] The embodiments will be described in detail below with reference to the drawings. Note that the embodiments described below are all specific examples of this disclosure. The numerical values, shapes, materials, components, arrangement and connection configurations of components, steps, and the order of steps shown in the following embodiments are examples only and are not intended to limit this disclosure. Furthermore, components in the following embodiments that are not described in an independent claim will be described as optional components.

[0056] (Embodiment) The following describes the three-dimensional data encoding device and the three-dimensional data decoding device according to this embodiment. The three-dimensional data encoding device generates a bitstream by encoding three-dimensional data. The three-dimensional data decoding device generates three-dimensional data by decoding the bitstream.

[0057] Three-dimensional data is, for example, point cloud data. A point cloud is a collection of multiple three-dimensional points that represent the three-dimensional shape of an object. Point cloud data includes positional and attribute information of multiple three-dimensional points. This positional information indicates the three-dimensional position of each point. Positional information is sometimes also called geometry information. For example, positional information can be expressed in a Cartesian coordinate system or a polar coordinate system.

[0058] Attribute information can include, for example, color, reflectance, or normal vector. A single three-dimensional point may have one attribute or multiple attribute pieces of information.

[0059] Note that the three-dimensional data is not limited to point cloud data; it may also be other types of three-dimensional data such as mesh data. Mesh data (also called three-dimensional mesh data) is a data format used in computer graphics (CG), and it represents the three-dimensional shape of an object as a collection of surface information. For example, mesh data includes point cloud information (e.g., vertex information). Therefore, the same methods as those used for point cloud data can be applied to this point cloud information.

[0060] Next, an overview of this embodiment will be described. Figure 1 shows an example of point cloud location information and attribute information, and is a diagram showing an example where the attribute information is a timestamp.

[0061] A timestamp is time information. For example, a timestamp is time information defined as "timestamp" in the ply file format, time information defined as GPS time in the LAS file format, or time information such as NTP (Network Time Protocol) or PTP (Precision Time Protocol).

[0062] In this case, the SPS (Sequence Parameter Set) stores information indicating attribute_type="timestamp", and the timestamp for each point is encoded as one component of the attribute information. The encoding method may be the Lifting method or the RAHT (Region Adaptive Hierarchical Transform) method, or the attribute information may be stored in the bitstream as raw data without encoding.

[0063] RAHT is a method that transforms attribute information using the positional information of three-dimensional points. By applying the Haar transform and other methods to the attribute information, high-frequency and low-frequency components of each layer are generated, and their values ​​are quantized and entropy-coded. Lifting is one of the transformation methods using LoD (Level of Detail) and is a method for calculating predicted residuals. LoD is a method for layering three-dimensional points according to their positional information, and it is a method for layering three-dimensional points according to the distance (density) between points.

[0064] Furthermore, the three-dimensional data encoding device may calculate the difference between the absolute value of the timestamp and a predetermined value and encode that difference, or it may calculate the difference between the timestamp of the target point and the timestamp of another point and encode that difference. This makes it possible to reduce the amount of information. Note that the encoding order or decoding order of multiple points may be changed.

[0065] In general, the bit depth of data that can be handled by encoding and decoding systems is limited, and methods or algorithms for encoding or decoding within that limited bit depth are defined. This makes it possible to keep the processing volume and processing time within a realistic range.

[0066] In encoding and decoding systems for three-dimensional data (three-dimensional point cloud data or three-dimensional mesh data), the bit depth of the location and attribute information to be encoded is constrained, and data with a bit depth exceeding this limit cannot be handled.

[0067] Furthermore, in encoding and decoding systems, the bit depth that can be handled may differ depending on whether encoding is performed or not, or the encoding method. For example, in an encoding and decoding system where the maximum bit depth for encodingable attribute information is 16 bits, it is not possible to encode and decode information with a large bit depth, such as 64-bit time information, as attribute information. Similarly, in an encoding and decoding system where the maximum bit depth for encodingable location information is 21 bits, it is not possible to encode and decode location information with a large bit depth, such as 32-bit location information.

[0068] Furthermore, three-dimensional data includes data generated by sensing the real physical world. The bit depth of positional information is a value determined by the point resolution and spatial range. The point resolution varies depending on the performance of the sensor acquiring the point cloud or the distance to the object. The spatial range varies depending on the use case or application. In other words, the range of possible bit depths is wide, and there is a lot of data that exceeds the bit depth constraints of the encoding / decoding system. Similarly, attribute information includes various types other than color, such as reflectance, transmittance, infrared information, and time information, and there is a lot of data that exceeds the bit depth constraints of the encoding / decoding system. In short, a three-dimensional data encoding / decoding system needs to encode and decode information of various bit depths using a system with a constrained bit depth.

[0069] Thus, three-dimensional data generated by sensing the real physical world has different requirements than encoding and decoding systems that handle data such as three-dimensional video, where positional information is limited to a certain range of resolution and attribute information is limited to color with a certain bit depth. Furthermore, even if processing power increases with future device advancements and the bit depth that encoding and decoding systems can handle increases, three-dimensional data encoding and decoding systems will still need the ability to encode and decode information at various bit depths using a system with a constrained bit depth.

[0070] In this embodiment, input attribute information is divided into units that can be treated as attribute information in encoding (multiple converted attribute information units). This allows the system to encode and decode attribute information that exceeds the bit depth it can handle for encoding and decoding. The converted information and attribute division information are stored as metadata (SPS, APS, or SEI) in the encoded bitstream. This allows the three-dimensional data decoding device to recover the input attribute information from the encoded bitstream. Thus, this embodiment makes it possible to encode and decode attribute information with bit depths that cannot be handled by limited systems. Note that bit depth may also be expressed as bit width or bit precision.

[0071] Figure 2 is a block diagram showing the configuration of the three-dimensional data encoding device 100 according to this embodiment. Although Figure 2 only shows the configuration related to the encoding of attribute information, the three-dimensional data encoding device 100 may also include other processing units, such as a location information encoding unit for encoding location information.

[0072] The three-dimensional data encoding device 100 comprises an attribute information conversion unit 101 and an attribute information encoding unit 102. The attribute information conversion unit 101 divides the input attribute information into a plurality of converted attribute information. The attribute information conversion unit 101 also generates conversion information related to the conversion process. Here, the input attribute information is the attribute information contained in the three-dimensional data to be encoded.

[0073] The attribute information encoding unit 102 generates encoded attribute information by encoding multiple converted attribute information. The attribute information encoding unit 102 also generates attribute partitioning information, which includes conversion information and relates to the partitioning of attribute information. The three-dimensional data encoding device 100 generates a bitstream containing the encoded attribute information and attribute partitioning information. The encoding method used by the attribute information encoding unit 102 is not particularly limited, but for example, one or more of the following may be performed: intra prediction processing, inter prediction processing, quantization processing, and entropy encoding processing (arithmetic encoding processing).

[0074] Figure 3 is a block diagram showing the configuration of the three-dimensional data decoding device 200 according to this embodiment. Although Figure 3 only shows the configuration related to the decoding of attribute information, the three-dimensional data decoding device 200 may also include other processing units, such as a location information decoding unit for decoding location information.

[0075] For example, the three-dimensional data decoding device 200 decodes the bitstream generated by the three-dimensional data encoding device 100. The three-dimensional data decoding device 200 comprises an attribute information decoding unit 201 and an attribute information inverse conversion unit 202.

[0076] The attribute information decoding unit 201 obtains encoded attribute information and attribute partitioning information from the bitstream, and generates multiple transformed attribute information by decoding the encoded attribute information. The attribute information decoding unit 201 also obtains the transformed information contained in the attribute partitioning information. The decoding method used by the attribute information decoding unit 201 is not particularly limited, but for example, one or more of the following may be performed: intra prediction processing, inter prediction processing, inverse quantization processing, and entropy decoding processing (arithmetic decoding processing).

[0077] The attribute information inverse conversion unit 202 generates output attribute information by combining multiple converted attribute information using attribute division information and conversion information. Here, the output attribute information corresponds to the input attribute information in Figure 2, and is the restored input attribute information.

[0078] Figure 4 shows an example of splitting input attribute information into multiple converted attribute information. In Figure 4, the input attribute information is split into four converted attribute information.

[0079] Figures 5, 6, and 7 illustrate examples of encoding multiple post-attribute information as multiple components in an encoding system. Figure 5 illustrates an example of encoding and decoding multiple post-attribute information as multi-dimensional subcomponents of a single component (also called an attribute component). In other words, in the example shown in Figure 5, attribute information (timestamp) is encoded as a single component, and one post-attribute information is encoded as a single subcomponent. That is, the component of attribute information (timestamp) includes multiple subcomponents, and one subcomponent corresponds to one post-attribute information.

[0080] Here, a component corresponds to a type of attribute information, such as color, reflectance, or time information. A subcomponent corresponds to one of the multiple dimensions (components) contained within a component. For example, if the component is color and is represented by RGB, then the multiple subcomponents correspond to R, G, and B, respectively.

[0081] In other words, in this embodiment, the conventionally used dimensions (subcomponents) are used for encoding and decoding the divided attribute information (transformed attribute information). This makes it possible to encode and decode the divided attribute information without adding a new mechanism for storing the divided attribute information in a bitstream.

[0082] Figure 6 shows an example of encoding and decoding multiple post-transformation attribute information as multiple components. In other words, in the example shown in Figure 6, attribute information (timestamp) is encoded as multiple components, and one post-transformation attribute information is encoded as one component. That is, one component contains one subcomponent, and one subcomponent corresponds to one post-transformation attribute information.

[0083] Figure 7 shows an example of encoding and decoding multiple post-transformation attribute information as multiple components and multi-dimensional subcomponents. In other words, in the example shown in Figure 7, attribute information (timestamp) is encoded as multiple components, and multiple post-transformation attribute information is encoded as multiple components. One component contains multiple subcomponents, and one subcomponent corresponds to one post-transformation attribute information.

[0084] The three-dimensional data encoding device 100 may either permanently use one of the methods shown in Figures 5 to 7 for associating multiple converted attribute information with one or more components, or it may selectively use one of them.

[0085] In this way, the three-dimensional data encoding device 100 encodes the multiple converted attribute information, which is obtained by dividing the input attribute information, by associating it with one or more components using one of the multiple methods shown in Figures 5 to 7. The three-dimensional data encoding device 100 also stores information indicating the correspondence between the multiple converted attribute information (divided components) and one or more components in a bitstream. As a result, the three-dimensional data decoding device 200 can decode the multiple converted attribute information encoded in various ways and reconstruct the input attribute information by combining the decoded multiple converted attribute information.

[0086] Furthermore, the attribute information conversion unit 101 performs processing such as splitting the input attribute information, scaling and offsetting, and rearranging the order of data for multiple points. The attribute information inverse conversion unit 202 performs processing such as combining, scaling and offsetting, and rearranging the order of data for multiple converted attribute information. This makes it possible to encode and decode various attribute information with different bit depths, ranges of attribute information values, or resolutions. Here, the scale value and offset value are examples of conversion information or coefficients (first coefficient and second coefficient).

[0087] Next, an example of processing by the attribute information conversion unit 101 will be explained. Figure 8 is a diagram showing an example of the conversion process in the attribute information conversion unit 101. Figure 9 is a flowchart of the conversion process in the attribute information conversion unit 101.

[0088] First, the attribute information conversion unit 101 generates converted input attribute information by performing a conversion process on the entire input attribute information (S101). Specifically, the attribute information conversion unit 101 performs scaling and offset processing on all values ​​of the input attribute information using the following (Equation 1).

[0089] val_output=val_input×global_scale+global_offset (Formula 1)

[0090] Furthermore, the order of the scaling process and the offset process may be reversed, as shown in (Equation 2) below.

[0091] val_output=(val_input+global_offset)×global_scale ···(Formula 2)

[0092] Note that `val_input` indicates the value of the input attribute information, and `val_output` indicates the value of the input attribute information after conversion. Furthermore, `global_scale` is the scale value used in the conversion process, and `global_offset` is the offset value used in the conversion process. Additionally, `global_scale` and `global_offset` are examples of additional conversion information.

[0093] The attribute information conversion unit 101 may perform only one of the scaling or offset processing, or it may not perform the conversion processing at all.

[0094] Next, the attribute information conversion unit 101 divides the converted input attribute information into multiple divided attribute information (S102). In the example shown in Figure 8, a timestamp with a 64-bit bit depth is divided into four 16-bit divided attribute information.

[0095] At this time, the attribute information conversion unit 101 assigns an identifier (partition_id) to each partitioned attribute information. The method of assigning identifiers may be in ascending order, descending order, or any other method.

[0096] Next, the attribute information conversion unit 101 generates multiple converted attribute information by performing conversion processing (scaling and offsetting) on ​​each of the multiple divided attribute information using a scale value (local_scale) and an offset value (local_offset) (S103).

[0097] For example, an expression similar to (Equation 1) or (Equation 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. In this case, val_input represents the value of the partitioned attribute information, and val_output represents the value of the converted attribute information.

[0098] The attribute information conversion unit 101 may perform only one of the scaling or offset processing, or it may not perform the conversion processing at all. Furthermore, the attribute information conversion unit 101 may perform quantization (rounding) processing after scaling. Also, the scale value and offset value used for multiple divided attribute information may be different or the same.

[0099] Through the above processing, multiple post-converted attribute information is generated. The attribute information conversion unit 101 also outputs the multiple post-converted attribute information and conversion information indicating the parameters used for partitioning and conversion to the attribute information encoding unit 102 (S104). Specifically, the conversion information includes global_scale, global_offset, local_scale, local_offset, partition_id, bit depth of input attribute information (or post-converted input attribute information), bit depth of partitioned attribute information (or post-converted attribute information), partitioning order, and partitioning method. The attribute information encoding unit 102 encodes the conversion information as metadata. The attribute information encoding unit 102 stores the conversion information in a bitstream.

[0100] The attribute information conversion unit 101 may perform the above conversion process on all points constituting the three-dimensional point cloud, or on some of the points.

[0101] Next, an example of processing by the attribute information inverse conversion unit 202 will be explained. Figure 10 is a diagram showing an example of the inverse conversion process in the attribute information inverse conversion unit 202. Figure 11 is a flowchart of the inverse conversion process in the attribute information inverse conversion unit 202.

[0102] First, the attribute information decoding unit 201 decodes multiple post-converted attribute information and obtains conversion information (global_scale, global_offset, local_scale, local_offset, partition_id, bit depth of input attribute information (or post-converted input attribute information, combined attribute information, output attribute information), bit depth of partitioned attribute information (or post-converted attribute information), partition order, and partition method, etc.) from the metadata.

[0103] The attribute information inverse conversion unit 202 generates multiple partitioned attribute information by inversely converting each of the multiple converted attribute information using the converted information (S201). Specifically, the attribute information inverse conversion unit 202 performs scaling and offset processing on all values ​​of each partitioned attribute information using the following (Equation 3).

[0104] val_output=(val_decode+inv_local_offset)×inv_local_scale ···(Formula 3)

[0105] Here, val_decode indicates the value of the attribute information after conversion, and val_output indicates the value of the split attribute information. Also, inv_local_offset is the offset value used in the inverse conversion process and corresponds to -(local_offset). inv_local_scale is the scale value used in the inverse conversion process and corresponds to 1 / local_scale.

[0106] Furthermore, the order of the scaling process and the offset process may be reversed, as shown in (Equation 4) below.

[0107] val_output=(val_decode)×inv_local_scale+inv_local_offset ···(Formula 4)

[0108] The attribute information inverse conversion unit 202 may perform only one of the processes, either scaling or offsetting, or it may not perform the inverse conversion process at all. Furthermore, the scale value and offset value used for multiple converted attribute information may be different or the same.

[0109] Next, the attribute information inverse conversion unit 202 generates combined attribute information by combining the obtained multiple divided attribute information (S202). The specific method of combining will be described later.

[0110] Next, 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).

[0111] For example, the attribute information inverse conversion unit 202 performs the inverse conversion process using an equation similar to (Equation 3) or (Equation 4). Specifically, the equations used are those 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. In this case, val_decode indicates the value of the combined attribute information, and val_output indicates the value of the output attribute information. Furthermore, inv_global_offset is the offset value used in the inverse conversion process and corresponds to -(global_offset). inv_global_scale is the scale value used in the inverse conversion process and corresponds to 1 / global_scale.

[0112] The attribute information inverse conversion unit 202 may perform only one of the scaling or offset processing, or it may not perform the conversion processing at all. Furthermore, the attribute information inverse conversion unit 202 may perform quantization (rounding) processing after scaling.

[0113] Finally, the attribute information inverse conversion unit 202 outputs the obtained output attribute information (S204).

[0114] The attribute information inverse conversion unit 202 may perform the above inverse conversion process on all points constituting the three-dimensional point cloud, or on some of the points.

[0115] As described above, the three-dimensional data encoding device 100 stores the conversion information related to the conversion process in the attribute information conversion unit 101 as metadata and transmits it to the attribute information inverse conversion unit 202. This enables the attribute information inverse conversion unit 202 to reconstruct the output attribute information corresponding to the input attribute information.

[0116] The following describes a first specific example of the processing of the attribute information conversion unit 101 and the attribute information inverse conversion unit 202. Figure 12 shows a first specific example of the processing of the attribute information conversion unit 101.

[0117] In the example shown in Figure 12, the timestamp is divided into four subcomponents for encoding and decoding. Note that the division method shown here is just one example, and is not limited to this method. Also, Figure 12 omits the description of the encoding and decoding processes for multiple converted attribute information and converted information.

[0118] Furthermore, the scale and offset values ​​(global_scale, global_offset, local_scale, local_offset) used in the attribute information conversion unit 101 may be values ​​determined by the user and input to the three-dimensional data encoding device 100, or the three-dimensional data encoding device 100 may determine the scale and offset values ​​based on the attribute information values ​​of multiple points in the point cloud. Specifically, the three-dimensional data encoding device 100 may search for the overall trend of the attribute information values ​​of multiple points in the point cloud and determine the scale and offset values ​​based on that trend. For example, the three-dimensional data encoding device 100 may determine the offset value based on the average or median value of the attribute information of multiple points.

[0119] The point cloud data may consist of data from multiple frames or from a single frame. Furthermore, the scale and offset values ​​may be common across sequences (multiple frames) or common across other processing units. For example, common values ​​may be used across one or more frames, or common values ​​may be used across one or more processing units (e.g., slices) obtained by dividing a frame.

[0120] In the example shown in Figure 12, first, the attribute information conversion unit 101 sets global_scale=10 12 , and global_offset=-183631×10 12 The input attribute information x (timestamp) is converted using this method to generate the converted input attribute information x' (S101).

[0121] Next, the attribute information conversion unit 101 generates four divided attribute information pieces x1, x2, x3, and x4 by dividing the converted input attribute information x' (S102). Here, the attribute information conversion unit 101 divides the converted input attribute information x' into pieces based on the MSB (Most Significant Bit) for a specified number of bits (16 bits in this example).

[0122] Next, the attribute information conversion unit 101 converts the divided attribute information x1, x2, and x3 using local_scale=1 and local_offset=0 to generate converted attribute information x1', x2', and x3'. Note that conversion using local_scale=1 and local_offset=0 is equivalent to not performing any conversion, and this conversion does not need to be performed. Furthermore, the attribute information conversion unit 101 converts the divided attribute information x4 using local_scale=1 / 2 and local_offset=0 to generate converted attribute information x4' (S103).

[0123] Finally, the attribute information conversion unit 101 outputs four converted attribute information values ​​x1', x2', x3', and x4', along with conversion information (S104). Here, the conversion information includes global_scale and global_offset, and four sets of local_scale and local_offset.

[0124] Note that here we show an example where only the local_scale of one 16-bit block differs from the local_scale of the other blocks, but the local_offset of at least one block may differ from the local_offset of the other blocks, and both the local_scale and local_offset of at least one block may differ from the local_scale and local_offset of the other blocks. Furthermore, the local_scale of each of the four blocks may differ, and the local_offset of each of the four blocks may differ.

[0125] FIG. 13 is a diagram showing a first specific example of processing by an attribute information inverse transformation unit 202. The attribute information inverse transformation unit 202 generates four pieces of divided attribute information x1, x2, x3, x4 by inversely transforming the four pieces of transformed attribute information x1', x2', x3', x4' generated by the processing shown in FIG. 12 (S201). At this time, the attribute information inverse transformation 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 transformation information, and inversely transforms the four pieces of transformed attribute information x1', x2', x3', x4' using the calculated four sets of inv_local_scale and inv_local_offset.

[0126] Next, the attribute information inverse transformation unit 202 generates combined attribute information x' by combining the four pieces of divided attribute information x1', x2', x3', x4' (S202).

[0127] When the division method used in the attribute information transformation unit 101 as shown in FIG. 12 is a method of dividing input attribute information for each number of bits specified from the MSB and assigning partition_id in ascending order from the MSB, the attribute information inverse transformation unit 202 combines the four pieces of divided attribute information x1', x2', x3', x4' using the partition_id included in the transformation information and the number of bits of the divided attribute information (transformed attribute information).

[0128] Specifically, division information divided into four parts from the MSB is combined using the following (Equation 5). However, local_length[1] to local_length[4] each indicate the number of bits of the transformed attribute information x1 to x4, and are 16 in this example.

[0129] x'=(x1<<(local_length[1]+local_length[2]+local_length[3]))+(x2<<(local_length[2]+local_length[3]))+(x3<<local_length[3])+x4 ···(Equation 5)

[0130] Next, the attribute information inverse conversion unit 202 generates output attribute information x by inversely converting the combined attribute information x' (S203). At this time, the attribute information inverse conversion unit 202 calculates inv_global_scale and inv_global_offset from global_scale and global_offset included in the conversion information, and uses the calculated inv_global_scale and inv_global_offset to inversely convert the combined attribute information x'.

[0131] Finally, the attribute information inverse conversion unit 202 outputs the obtained output attribute information x (S204).

[0132] Next, a second specific example of the processing of the attribute information conversion unit 101 and the attribute information inverse conversion unit 202 will be described. Figure 14 shows a second specific example, which is another example of the processing of the attribute information conversion unit 101. Note that the conversion of input attribute information (S101) and the output of multiple converted attribute information (S104) are the same as in Figure 12 and are therefore omitted from the description.

[0133] In this example, the attribute information conversion unit 101 performs both the division (S102) and conversion (S103) of the converted input attribute information using scaling and offset processing.

[0134] In other words, the attribute information conversion unit 101 rounds or clips the scaled and offsetted values ​​to fit within the bit depth of the converted attribute information (16 bits in this example). This allows the processing of S102 and S103 to be integrated. In this example, the attribute information conversion unit 101 clips any values ​​exceeding 16 bits from the scaled and offsetted values.

[0135] Figure 15 shows a second specific example, which is another example of the processing of the attribute information inverse conversion unit 202. The attribute information inverse 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 Figure 14, and uses the calculated four sets of inv_local_scale and inv_local_offset to inversely convert the four converted attribute information x1', x2', x3', and x4' to generate four divided attribute information x1, x2, x3, and x4 (S201).

[0136] Next, the attribute information inverse conversion unit 202 combines the four divided attribute information x1, x2, x3, and x4 by adding them together (S202).

[0137] This method allows decoding without using the division method, order, or bit depth of the converted attribute information, and it is possible to reduce the amount of metadata (converted information).

[0138] In the above explanation, we used the example of a case where the bit depth of the converted attribute information is 16 bits, that is, when input attribute information exceeding 16 bits is divided. However, the bit depth of the converted attribute information can be any bit depth. Furthermore, this bit depth may be set in the three-dimensional 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.

[0139] Note that this bit depth (e.g., 16 bits) is a bit depth (bit length) that conforms to the point cloud compression standard (e.g., the PCC (Point Cloud Coding) standard). Also, the bit depth of the attribute information before division is a bit depth that exceeds the above bit depth and does not conform to the point cloud compression standard.

[0140] Next, we will explain an example of encoding and decoding multiple input attribute information. In the explanation above, we described an example of splitting a single input attribute information, but the same method may be used for each of multiple input attribute information.

[0141] For example, a three-dimensional point cloud has multiple input attribute information items to be divided. The encoding and decoding systems support encoding and decoding of data up to 16 bits. In this case, an example of encoding and decoding two or more attribute information items exceeding 16 bits (such as a 64-bit timestamp) will be explained.

[0142] Figure 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 comprises an attribute information conversion unit 101A and an attribute information encoding unit 102A. The attribute information conversion unit 101A divides input attribute information A into a plurality of converted attribute information A and input attribute information B into a plurality of converted attribute information B. The attribute information conversion unit 101A also generates conversion information A related to the conversion process of input attribute information A and generates conversion information B related to the conversion process of input attribute information B. Here, input attribute information A and input attribute information B are attribute information contained in the three-dimensional data to be encoded. Note that input attribute information A and input attribute information B may be attribute information of the same type (e.g., timestamp) or attribute information of different types.

[0143] The attribute information encoding unit 102A generates encoded attribute information by encoding multiple converted attribute information A and multiple converted attribute information B. The attribute information encoding unit 102A also generates attribute partitioning information including converted information A and converted information B. The three-dimensional data encoding device 100A generates a bitstream including the encoded attribute information and attribute partitioning information.

[0144] Figure 17 is a block diagram showing the configuration of the three-dimensional data decoding device 200A in this case. For example, the three-dimensional data decoding device 200A decodes the bitstream generated by the three-dimensional data encoding device 100A. The three-dimensional data decoding device 200A includes an attribute information decoding unit 201A and an attribute information inverse conversion unit 202A.

[0145] The attribute information decoding unit 201A obtains encoded attribute information and attribute partitioning information from the bitstream, and generates multiple converted attribute information A and multiple converted attribute information B by decoding the encoded attribute information. The attribute information decoding unit 201A also obtains the converted information A and converted information B contained in the attribute partitioning information.

[0146] The attribute information inverse conversion unit 202A generates output attribute information A by combining multiple converted attribute information A using converted information A, and generates output attribute information B by combining multiple converted attribute information B using converted information B. Here, output attribute information A corresponds to input attribute information A in Figure 16, and output attribute information B corresponds to input attribute information B in Figure 16.

[0147] The syntax of the conversion information is described 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 have to follow the syntax configuration below; it is sufficient if the respective syntax values ​​can be notified to the subsequent processing unit.

[0148] The conversion information includes individual information corresponding to each of the multiple converted attribute pieces of information, and common information common to all of the multiple converted attribute pieces of information. Furthermore, the conversion information may also contain multiple pieces of common information. For example, as shown in Figures 16 and 17, when multiple input attribute pieces of information are encoded and decoded, the conversion information for each of the multiple input attribute pieces of information may be stored in bits and threads.

[0149] Here, a group containing multiple converted attribute information to which the same common information applies is called an attribute partition group (partition_group). In other words, if there is multiple input attribute information, two attribute partition groups may be set up.

[0150] Figure 18 shows an example of the syntax for 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.

[0151] `partition_group_num` indicates the number of attribute partition groups. If the number of attribute groups is one or more, the common information includes partition group common information (partition_group_id, partition_num, global_length, global_scale, global_offset, partition_order) which is common to each attribute partition group.

[0152] `partition_group_id` is an index that indicates the attribute partition group. Note that the storage of `partition_group_id` may be omitted if the order of information in the syntax matches the value of this index.

[0153] `partition_num` indicates the number of attribute information partitions in the attribute partition group. `global_length` indicates the total bit length of the pre-partition attribute information (input attribute information) belonging to the attribute partition group.

[0154] global_scale indicates the scale value used to convert the attribute information (input attribute information) before splitting within the attribute splitting group. global_offset indicates the offset value used to convert the attribute information (input attribute information) before splitting within the attribute splitting group.

[0155] The `partition_order` parameter indicates the definition order of the identifiers (partition_id) of multiple converted attribute information (multiple partitioned attribute information) belonging to the attribute partition group. For example, `partition_order` may indicate whether to assign the `partition_id` from the upper bits or the lower bits of the input attribute information. Specifically, if `partition_order=0`, the `partition_id` values ​​assigned to the multiple converted attribute information are set in ascending order from the upper bits of the multiple converted attribute information. If `partition_order=1`, the `partition_id` values ​​assigned to the multiple converted attribute information are set in ascending order from the lower bits of the multiple converted attribute information. Note that the relationship between the value of `partition_order` and the setting order of `partition_order` may be reversed.

[0156] Figure 19 shows an example of the syntax for individual information (attribute_partition_info). Individual information includes partition_group_id, partition_id, local_length, local_scale, and local_offset.

[0157] The `partition_group_id` indicates the attribute partition group to which the converted attribute information to which individual information is applied belongs. Furthermore, during the encoding and decoding of the converted attribute information, the `partition_group_id` and common information with the same `partition_group_id` are referenced.

[0158] The partition_id indicates the identifier of the converted attribute information. Note that the storage of partition_id may be omitted if the order in which the individual information is listed in the bitstream matches the value of the identifier. Also, if the value of partition_order included in the common information is 0, the partition_id values ​​assigned to multiple converted attribute information may be set in ascending order from the most significant bit of the multiple converted attribute information, and if partition_order=1, the partition_id values ​​assigned to multiple converted attribute information may be set in ascending order from the least significant bit of the multiple converted attribute information. Furthermore, if the identifier of the converted attribute information can be determined based on partition_order in the three-dimensional data decoding device, the storage of partition_id may be omitted.

[0159] `local_length` indicates the bit length of the converted attribute information. `local_scale` indicates the scale value used to convert the converted attribute information. `local_offset` indicates the offset value used to convert the converted attribute information.

[0160] Next, we will describe a first example of encoding multiple post-attribute information. In this first example, as shown in Figure 5, the multiple post-attribute information is encoded as multi-dimensional subcomponents of a single attribute component. Figure 20 shows an example of the bitstream configuration in this case.

[0161] Here, a three-dimensional point has positional information and attribute information. The attribute information includes reflectance and time information (timestamp). The reflectance has a bit depth that allows it to be encoded as a single subcomponent, while the time information has a bit depth that does not allow it to be encoded as a single subcomponent. Furthermore, the reflectance is encoded as the first attribute information, and the time information is encoded as the second attribute information. In addition, 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.

[0162] The encoded attribute information data is a data unit that includes a header and a payload, and the header of the data unit is assigned an identifier (attr_id) for the attribute component. While this explanation uses the example of attribute information being time information, attribute information may be of other types.

[0163] Attr(0) is the encoded data for the first attribute information, and the header contains attr_id=0. Attr(1) is the encoded data for the second attribute information, and the header contains attr_id=1. The second attribute information is divided into four parts to generate four transformed attribute information. The four transformed attribute information are encoded as a single attribute component. Furthermore, the four transformed attribute information are encoded as four-dimensional subcomponents.

[0164] Furthermore, metadata related to encoding is stored in the data unit header or parameter set (APS). The 3D data decoding device decodes the encoded data by referring to this metadata. The APS (Attribute Parameter Set) is metadata (parameter set) related to the encoding of attribute information; APS(0) is metadata related to the first attribute information, and APS(1) is metadata related to the second attribute information. For example, the APS is metadata common to multiple frames.

[0165] Furthermore, Geom(0) is encoded location data. GPS (Geometry Parameter Set) is metadata (parameter set) related to the encoding of location information. For example, GPS is metadata common to multiple frames.

[0166] SPS (Sequence Parameter Set) is metadata (parameter set) common to multiple frames. SEI (Supplemental Enhancement Information) is augmentation information that stores parameters (optional parameters) that may not necessarily be used during decoding.

[0167] SPS contains information for each attribute component. The information for the first attribute component includes identification information (attribute_type=reflectance) indicating that the first attribute information is reflectance and information indicating the number of dimensions of the first attribute information (num_dimension=1). The information for the second attribute component includes identification information (attribute_type=timestamp) indicating that the second attribute information is time information and information indicating that the second attribute information has a four-dimensional subcomponent (num_dimension=4).

[0168] Furthermore, SPS or SEI includes attribute segmentation information that shows the correspondence between the segmented input attribute information and attribute components or subcomponents. The attribute segmentation information may further include the conversion information described above.

[0169] Furthermore, if there is no correlation between the subcomponents of the second attribute information, the three-dimensional data encoding device does not need to use intercomponent prediction for encoding the second attribute information. Alternatively, intercomponent prediction may be prohibited for encoding the second attribute information.

[0170] Next, we will describe a second example of encoding multiple post-attribute information. In this second example, as shown in Figure 6, the multiple post-attribute information is encoded as multiple attribute components. Figure 21 shows an example of the bitstream configuration in this case.

[0171] Here, reflectance is encoded as the first attribute information, and time information is divided into multiple (four) parts so that it can be encoded as a single subcomponent, and then encoded as the second to fifth attribute information.

[0172] The four modified attribute information pieces are encoded as four attribute components, each having one-dimensional subcomponents. The encoded data for each attribute component constitutes a single data unit. The header of the data unit is appended with the attribute component identifier (attr_id).

[0173] The first attribute information is reflectance, and the encoded data of the first attribute information (Attr(0)) is assigned attr_id=0 as the attribute component identifier. The second to fifth attribute information are divided time information, and the encoded data of the second to fifth attribute information (Attr(1) to (4)) are assigned attr_id=1 to attr_id=4.

[0174] Furthermore, metadata related to encoding is stored in the data unit header or parameter set (APS). The example shown in Figure 21 is one in which an APS is provided for each attribute component, with five APS provided for each of the five attribute components. Note that a single parameter set may be shared by multiple attribute components.

[0175] SPS includes identification information (attribute_type=timestamp) indicating that the second to fifth attribute information is time information, and information (num_dimension=1) indicating that the second to fifth attribute information has a one-dimensional subcomponent.

[0176] Furthermore, SPS or SEI includes attribute segmentation information that shows the correspondence between the segmented input attribute information and attribute components or subcomponents. The attribute segmentation information may further include the conversion information described above.

[0177] Furthermore, the three-dimensional data encoding device may assign multiple converted attribute information to different attribute components and encode each component using a different encoding method. For example, the three-dimensional data encoding device may take time information divided into 16-bit x 4 components, assign each component to four attribute components, encode some of the attribute components using an encoding method such as Lifting or Raht, and encode the remaining attribute components as RAW data.

[0178] For example, if the lower 16 bits of 64-bit time information do not have effective precision, i.e., they are random signals, then it may be possible to reduce the increase in the number of encoded bits by leaving the lower 16 bits unencoded as RAW data.

[0179] Furthermore, the three-dimensional data encoding device may change the encoding parameters, such as quantization parameters or various functions, depending on the attribute component. For example, if the lower 8 bits of 64 bits of time information do not have sufficient precision, the upper 48 bits may not be quantized, while the lower 16 bits may be quantized.

[0180] In this case, each attribute component has a different parameter set (APS), and each parameter set contains parameters related to the encoding of the corresponding attribute component. If the same encoding scheme is used for multiple attribute components, a common APS referenced among the attribute components may be used.

[0181] Next, a third example of encoding multiple post-transformation attribute information is described. In this third example, as shown in Figure 7, the multiple post-transformation attribute information is encoded as multiple attribute components and multiple-dimensional subcomponents. Figure 22 shows an example of the bitstream configuration in this case.

[0182] Here, reflectance is encoded as the first attribute information, and time information is divided into multiple (four) parts so that it can be encoded as a single subcomponent, and then encoded as the second and third attribute information using two-dimensional subcomponents, respectively.

[0183] The encoded data for the second and third attribute information are Attr(1) and Attr(2), respectively, and are assigned attr_id=1 and attr_id=2. The second and third attribute information are encoded as two two-dimensional subcomponents of converted attribute information.

[0184] Furthermore, metadata related to encoding may be stored in an APS (Access Point System) provided for each attribute piece of information, or it may be stored in a common APS for multiple attribute pieces of information.

[0185] Furthermore, SPS includes identification information (attribute_type=timestamp) indicating that the second and third attribute information is time information, and information (num_dimension=2) indicating that the second and third attribute information has two-dimensional subcomponents.

[0186] Furthermore, if there is no correlation between the subcomponents of the second or third attribute information, the three-dimensional data encoding device does not need to use predictions between components to encode the second or third attribute information.

[0187] Furthermore, SPS or SEI includes attribute segmentation information that shows the correspondence between the segmented input attribute information and attribute components or subcomponents. The attribute segmentation information may further include the conversion information described above.

[0188] Next, we will describe the first example of the syntax for attribute partitioning information. Attribute partitioning information shows the correspondence between partitioned attribute information (multiple transformed attribute pieces) and attribute components and dimensions (subcomponents). Furthermore, attribute partitioning information may also include the transformation information mentioned above.

[0189] Figure 23 shows an example of SPS syntax including attribute segmentation information and transformation information. Note that attribute segmentation information and transformation information may also be included in metadata or headers such as APS or SEI.

[0190] Attribute partitioning information includes attribute_type, instance_id, num_dimension, attribute_info, and attribute_partition.

[0191] `numAttribute` indicates the number of attribute components included in the sequence. The attribute partitioning information includes information about the attribute components corresponding to the number of `numAttribute` values ​​(attribute_type, instance_id, num_dimension, attribute_info, attribute_partition).

[0192] `attribute_type` indicates the attribute type. `instance_id` is the identifier for the same attribute type. `num_dimension` indicates the number of dimensions (number of subcomponents) of the attribute. `attribute_info()` contains detailed attribute information.

[0193] `attribute_partition` indicates whether the bitstream contains attribute partitioning information and transformation information.

[0194] If the bitstream contains attribute partitioning information, the SPS will include attribute_partition_info() for each dimension.

[0195] `attribute_partition_info()` contains transformation information for each dimension and has the syntax shown in Figure 19.

[0196] As shown in Figure 19, attribute_partition_info() contains a partition_id that indicates the converted attribute information. Therefore, the partition_id is shown in the loop for each dimension within the loop for each attribute component. This shows the correspondence between the converted attribute information and the attribute components and dimensions (subcomponents), i.e., the attribute partition information.

[0197] Furthermore, attribute_partition_info() may include conversion information such as partition_length, partition_scale, and partition_offset. Also, SPS may include common information (attribute_partition_common_info()). For example, attribute_partition_common_info() may have the syntax shown in Figure 18. Note that the three-dimensional data encoding device may store information with equivalent functionality to global_length, global_scale, or global_offset in SPS, APS, or SEI, and does not need to store global_length, global_scale, or global_offset in SPS.

[0198] Next, we will explain a second example of the attribute segmentation information syntax. Figures 24 and 25 show examples of attribute segmentation information syntax. Figure 24 shows an example of SEI syntax. Note that the attribute segmentation information syntax may also be included in other headers, etc.

[0199] The SEI contains identifiers that indicate the coded structure, such as attribute components or dimensions, in the SPS. Specifically, 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 to which the attribute partitioning information corresponds, if the attribute partitioning information changes from frame to frame. If the attribute partitioning information does not change from frame to frame, frame_id may be omitted.

[0200] `attribute_partition_common_info2()` is common conversion information. Figure 25 shows an example of the syntax for `attribute_partition_common_info2`.

[0201] `attribute_partition_common_info2` includes, in addition to `attribute_partition_common_info()` shown in Figure 18, individual information (`attribute_partition_info()`), the identifier of the attribute component shown in the SPS (`attr_id`), and the dimension index (`dimension_id`). `attr_id` and `dimension_id` are defined in the same order as they appear in `attribute_partition_info()` in the SPS (definition order), and may be omitted. Note that `attribute_partition_info()` has the syntax shown in Figure 19, for example.

[0202] In this way, by indicating the partition_id and the corresponding attribute component and dimension (subcomponent) identifiers in the loop of individual information, the correspondence between multiple converted attribute information and attribute components and dimensions (subcomponents), i.e., attribute partition information, is shown.

[0203] Next, the processing flow by the three-dimensional data encoding device and the three-dimensional data decoding device will be explained. Figure 26 is a flowchart of the three-dimensional data encoding process by the three-dimensional data encoding device. First, the three-dimensional data encoding device divides and transforms the input attribute information (S111). Specifically, the processes shown in steps S101 to S104 in Figure 9 above are performed.

[0204] Next, the three-dimensional data encoding device generates encoded attribute information by assigning multiple converted attribute information to multiple dimensions of one or more attribute components and encoding them (S112). Next, the three-dimensional data encoding device generates metadata including conversion information and attribute partitioning information (S113). Finally, the three-dimensional data encoding device outputs a bitstream including encoded attribute information and metadata (S114).

[0205] Figure 27 is a flowchart of the three-dimensional data decoding process by the three-dimensional data decoding device. First, the three-dimensional data decoding device acquires a bitstream (S211). Next, the three-dimensional data decoding device decodes multiple attribute components from the bitstream in the specified dimensions (S212). Next, the three-dimensional data decoding device decodes (acquires) transformation information and attribute partitioning information from the bitstream (S213). From the attribute partitioning information, the three-dimensional data decoding device obtains the correspondence between the dimensional data of the decoded attribute components and the partition_id.

[0206] Next, the three-dimensional data decoding device combines and transforms the multiple decoded post-transformation attribute information (S214). Specifically, steps S201 to S204 shown in Figure 11 above are performed. The three-dimensional data decoding device also refers to the correspondence relationship shown in the attribute partitioning information and uses the transformation information for the partition_id of the post-transformation attribute information to perform the reverse transformation of the said post-transformation attribute information.

[0207] In the above explanation, the three-dimensional data encoding device showed an example where it divides and encodes the input attribute information. However, in addition to or instead of division, it may also integrate multiple input attribute information and encode the integrated attribute information as a single component. Specifically, when the three-dimensional data encoding device receives multiple input attribute information with small bit depths, it may integrate the multiple input attribute information and encode it as a single attribute information.

[0208] For example, a 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 encoding overhead and improve encoding efficiency. Furthermore, if the integrated input attribute information is large, the three-dimensional data encoding device may split the integrated attribute information.

[0209] Figure 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 comprises an attribute information integration unit 103, an attribute information conversion unit 101, and an attribute information encoding unit 102.

[0210] The attribute information integration unit 103 generates integrated attribute information by integrating multiple input attribute information. The attribute information integration unit 103 may also integrate only a portion of the multiple input attribute information.

[0211] The attribute information conversion unit 101 generates multiple converted attribute information by converting and splitting the integrated attribute information. The attribute information encoding unit 102 generates encoded attribute information by encoding the multiple converted attribute information. The processing in the attribute information conversion unit 101 and the attribute information encoding unit 102 is, for example, the same as described above.

[0212] The integrated attribute information is encoded using an arbitrary attribute type, such as attribute_type='general_data'. The attribute_type is stored, for example, in an SPS (Special Statistical System). In this case, the attribute segmentation information described above indicates the correspondence between the multiple integrated and segmented post-transformation attribute information and the attribute components or subcomponents.

[0213] Figure 29 is a block diagram showing the configuration of the three-dimensional data decoding device 200B in this case. For example, the three-dimensional data decoding device 200B decodes the bitstream generated by the three-dimensional data encoding device 100B. The three-dimensional data decoding device 200B includes an attribute information decoding unit 201, an attribute information inverse conversion unit 202, and an attribute information division unit 203.

[0214] The attribute information decoding unit 201 obtains encoded attribute information and attribute partitioning information from the bitstream, and generates multiple converted attribute information by decoding the encoded attribute information. The attribute information inverse conversion unit 202 generates integrated attribute information by combining and inversely converting the multiple converted attribute information. The processing in the attribute information decoding unit 201 and the attribute information inverse conversion unit 202 is, for example, the same as described above.

[0215] The attribute information splitting unit 203 generates multiple output attribute information by splitting the integrated attribute information. Here, the multiple output attribute information corresponds to the multiple input attribute information in Figure 28.

[0216] Figure 30 shows an example of integrating and splitting multiple input attribute information into multiple converted attribute information. In Figure 30, the number of bits of input attribute information A, B, D, and E is less than or equal to a predetermined first number of bits (e.g., 8 bits). The attribute information integration unit 103 generates integrated attribute information F (converted attribute information F) by integrating input attribute information A and input attribute information B, and generates integrated attribute information G (converted attribute information G) by integrating input attribute information D and input attribute information E. Also, the number of bits of input attribute information C is greater than a predetermined second number of bits (e.g., 16 bits). The attribute information conversion unit 101 generates converted attribute information H and converted attribute information I by splitting input attribute information C.

[0217] Figures 31 and 32 show examples of attribute segmentation information syntax. Figure 31 shows an example of SEI syntax. Note that the attribute segmentation information syntax may also be included in other headers, etc.

[0218] 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. If attribute partitioning information changes from frame to frame, frame_id indicates the identifier of the frame to which the attribute partitioning information corresponds.

[0219] `attribute_partition_common_info3()` is common conversion information. Figure 32 shows an example of the syntax for `attribute_partition_common_info3`.

[0220] The syntax shown in Figure 32 is the same as the syntax for attribute_partition_common_info2 shown in Figure 25, but with the addition of partition_num2.

[0221] `partition_num2` indicates the number of input attribute pieces that were integrated when the attribute information of a single component is data that integrates multiple input attribute pieces. In addition, individual information (attribute_partition_info()) is provided for each input attribute piece before integration.

[0222] In this way, for each piece of integrated input attribute information, the identifiers of the attribute component and dimension (subcomponent) corresponding to the input attribute information are shown, thereby indicating the correspondence between the integrated input attribute information and the attribute component and dimension (subcomponent), i.e., attribute partitioning information.

[0223] As described above, the three-dimensional data decoding device according to this embodiment performs the processing shown in Figure 33. The three-dimensional data decoding device acquires control information (e.g., SEI or SPS) indicating that the first attribute information and the second attribute information of the three-dimensional point are to be combined (merged) (S301). The first attribute information and the second attribute information each have a predetermined length (e.g., bit length or bit depth) in accordance with a point cloud compression standard (e.g., PCC standard). The three-dimensional data decoding device decodes the first attribute information and the second attribute information according to the control information (S302).

[0224] Here, control information refers to, for example, SEI or SPS. For example, the attribute_partition shown in Figure 23 indicates whether or not the first attribute information and the second attribute information of the three-dimensional point are combined. Note that if the SEI or SPS contains the above-mentioned conversion information or attribute partitioning information, or at least a part thereof, the three-dimensional data decoding device may determine that the first attribute information and the second attribute information of the three-dimensional point are combined.

[0225] According to this, the three-dimensional data decoding device can generate attribute information exceeding the length (size) compliant with the point cloud compression standard by combining the first attribute information and the second attribute information decoded by processing compliant with the point cloud compression standard. Therefore, it is possible to process attribute information exceeding the length compliant with the point cloud compression standard.

[0226] For example, a three-dimensional data decoding device may generate third attribute information by combining the decoded first attribute information and second attribute information. For example, the third attribute information may exceed a predetermined length in accordance with point cloud compression standards.

[0227] Furthermore, the three-dimensional data decoding device according to this embodiment performs the processing shown in Figure 34. The three-dimensional data decoding device acquires control information indicating that attribute information of three-dimensional points is provided across a plurality of subblocks, each having a predetermined length conforming to the point cloud compression standard (S311), and decodes the attribute information according to the control information (S312).

[0228] Here, control information refers to, for example, SEI or SPS. For example, the attribute_partition shown in Figure 23 indicates whether or not attribute information for three-dimensional points is provided across multiple subblocks. Note that if the SEI or SPS contains the above-mentioned conversion information or attribute partitioning information, or at least a part thereof, the three-dimensional data decoding device may determine that attribute information for three-dimensional points is provided across multiple subblocks.

[0229] According to this, the three-dimensional data decoding device can generate attribute information provided across multiple subblocks that have been decoded by processing compliant with the point cloud compression standard.

[0230] For example, a three-dimensional data decoding device generates attribute information by decoding each of several subblocks. For example, a three-dimensional data decoding device generates multiple first attribute information by decoding each of several subblocks, and generates second attribute information by combining the multiple first attribute information. For example, the second attribute information may exceed a predetermined length in accordance with point cloud compression standards.

[0231] For example, one piece of information is represented by attribute information provided in multiple subblocks. For example, one piece of information is a timestamp, which represents a single value. In other words, the information in each of the multiple subblocks does not correspond to a single component of RGB or YUV (for example, the R component). One piece of information is information that is counted as one unit in which information makes sense. In other words, the information in each of the multiple subblocks does not make sense individually, and meaningful information is obtained by combining the information in the multiple subblocks. Therefore, according to this embodiment, the three-dimensional data decoding device can generate one piece of attribute information having a length greater than or equal to the length conforming to the point cloud compression standard.

[0232] For example, multiple subblocks may have the same length. However, at least some of the multiple subblocks may have different lengths.

[0233] For example, multiple subblocks are multiple components of attribute information, or multiple dimensions (subcomponents) contained within a single component of attribute information, in accordance with the point cloud compression standard.

[0234] According to this, a three-dimensional data decoding device can decode multiple subblocks of a length compliant with the point cloud compression standard by utilizing components or multiple dimensions predefined in the point cloud compression standard. Therefore, since there is no need to use a separate special container, compatibility with the point cloud compression standard can be maintained.

[0235] For example, control information includes information (e.g., attribute partitioning information) that shows the correspondence between multiple subblocks and multiple components or multiple dimensions. For example, a three-dimensional data decoding device generates multiple first attribute information by decoding each of the multiple subblocks, and generates second attribute information by combining the multiple first attribute information using this information (e.g., attribute partitioning information).

[0236] According to this, the three-dimensional data decoding device can use control information to understand the relationship between multiple components or multiple dimensions and subblocks.

[0237] For example, the control information includes transformation information relating to the transformation of the attribute information provided across multiple subblocks. For example, a three-dimensional data decoding device performs an inverse transformation on the decoded attribute information using the transformation information. Here, the transformation information is, for example, at least one of a scale value and an offset value.

[0238] According to this method, attribute information provided across multiple subblocks is transformed, which may improve encoding efficiency (reduce the amount of code). Consequently, the amount of data processed by the three-dimensional data decoding device can be reduced.

[0239] For example, the transformation information includes a first coefficient applied to a first subblock among multiple subblocks, and a second coefficient applied to a second subblock among multiple subblocks, and the first coefficient and the second coefficient are different. For example, a three-dimensional data decoding device generates multiple first attribute information by decoding each of the multiple subblocks, and then performs an inverse transformation on each of the multiple first attribute information using a coefficient (transformation coefficient) corresponding to the first attribute information (subblock). Here, the coefficients (each of the first and second coefficients) are, for example, at least one of a scale value and an offset value.

[0240] According to this method, different coefficients (conversion coefficients) are used for each subblock, which may improve encoding efficiency (reduce the amount of code). Consequently, the amount of data processed by the three-dimensional data decoder can be reduced.

[0241] For example, if the attribute information of multiple three-dimensional points tends to have values ​​close to 0 in the first subblock and values ​​close to non-zero in the second subblock, it may be possible to further reduce the amount of code by performing different transformations on the values ​​of each subblock. More specifically, if 64 bits of attribute information are provided across four 16-bit subblocks, some attribute information may not be large enough to be represented by 64 bits. In this case, a predetermined number of upper bits will be 0, so the amount of code can be reduced by making the coefficient for the upper 16 bits of the subblock different from the coefficient for the lower subblock. In this way, when the value trends differ for each subblock, the amount of code can be reduced by applying different coefficients to each subblock.

[0242] For example, the control information includes additional transformation information (e.g., at least one of global_scale and global_offset) related to the transformation of the attribute information before division. For example, a three-dimensional data decoding device generates multiple first attribute information by decoding each of multiple subblocks, generates second attribute information by combining the multiple first attribute information, and then uses the additional transformation information to inversely transform the second attribute information.

[0243] According to this, the three-dimensional data encoding device can improve encoding efficiency by transforming the attribute information before division. Furthermore, the three-dimensional data decoding device can restore the original attribute information by performing the reverse transformation of the transformation using the additional transformation information.

[0244] For example, a three-dimensional data decoding device comprises a processor and memory, and the processor uses the memory to perform the above processing.

[0245] Furthermore, the three-dimensional data encoding device according to this embodiment performs the processing shown in Figure 35. The three-dimensional data encoding device generates control information (e.g., SEI or SPS) indicating that the first attribute information and the second attribute information of the three-dimensional point are combined (S401). The first attribute information and the second attribute information each have a predetermined length (e.g., bit length or bit depth) in accordance with a point cloud compression standard (e.g., PCC standard). The three-dimensional 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 the control information (S403).

[0246] Here, control information refers to, for example, SEI or SPS. For example, the attribute_partition shown in Figure 23 indicates whether or not the first attribute information and the second attribute information of the three-dimensional point are combined. Note that if the SEI or SPS contains the above-mentioned conversion information or attribute partitioning information, or at least a part thereof, the three-dimensional data decoding device may determine that the first attribute information and the second attribute information of the three-dimensional point are combined.

[0247] According to this, a three-dimensional data decoder that decodes a bitstream generated by a three-dimensional data encoding device can decode the first and second attribute information by processing in accordance with the point cloud compression standard. Furthermore, by combining the decoded first and second attribute information, it is possible to generate attribute information exceeding the length compliant with the point cloud compression standard. Therefore, it is possible to process attribute information exceeding the length compliant with the point cloud compression standard.

[0248] For example, a three-dimensional data encoding device may generate first attribute information and second attribute information by dividing third attribute information. For example, the third attribute information may exceed a predetermined length in accordance with point cloud compression standards.

[0249] Furthermore, the three-dimensional data encoding device according to this embodiment performs the processing shown in Figure 36. The three-dimensional data encoding device generates control information indicating that attribute information of three-dimensional points is provided across a plurality of subblocks, each having a predetermined length conforming to the point cloud compression standard (S411), encodes the attribute information (S412), and generates a bitstream containing the encoded attribute information and the control information (S413).

[0250] Here, control information refers to, for example, SEI or SPS. For example, the attribute_partition shown in Figure 23 indicates whether or not attribute information for three-dimensional points is provided across multiple subblocks. Note that if the SEI or SPS contains the above-mentioned conversion information or attribute partitioning information, or at least a part thereof, the three-dimensional data decoding device may determine that attribute information for three-dimensional points is provided across multiple subblocks.

[0251] According to this, the three-dimensional data decoding device can decode multiple subblocks by processing in accordance with the point cloud compression standard. Furthermore, it can process attribute information even when the attribute information exceeds the length compliant with the point cloud compression standard.

[0252] For example, a three-dimensional data encoding device generates multiple pieces of second attribute information by dividing first attribute information, and provides each of these pieces of second attribute information to multiple subblocks. For example, the first attribute information may exceed a predetermined length compliant with point cloud compression standards. Here, "providing" means storing each of the multiple pieces of second attribute information in multiple subblocks. In other words, "providing" means encoding multiple pieces of second attribute information in association with multiple subblocks.

[0253] For example, attribute information provided in multiple subblocks represents a single piece of information. For example, a single piece of information is a timestamp, which represents a single value. In other words, the information in each of the multiple subblocks does not correspond to a single component of RGB or YUV (for example, the R component). A single piece of information is information that is counted as one unit in which information makes sense. That is, the information in each of the multiple subblocks does not make sense individually, and meaningful information is obtained by combining the information in multiple subblocks.

[0254] For example, multiple subblocks may have the same length. However, at least some of the multiple subblocks may have different lengths.

[0255] For example, multiple subblocks are multiple components of attribute information, or multiple dimensions (multiple subcomponents) contained within a single component of attribute information, in accordance with the point cloud compression standard.

[0256] According to this, a three-dimensional data encoding device can encode multiple subblocks of a length compliant with the point cloud compression standard by utilizing components or multiple dimensions predefined in the point cloud compression standard. Therefore, since there is no need to use a separate special container, compatibility with the point cloud compression standard can be maintained.

[0257] For example, control information includes information (e.g., attribute partitioning information) that shows the correspondence between multiple subblocks and multiple components or multiple dimensions. For example, a three-dimensional data encoding device stores this information in the control information.

[0258] According to this, the three-dimensional data decoding device can use control information to understand the relationship between multiple components or multiple dimensions and subblocks.

[0259] For example, the control information includes conversion information relating to the conversion of the attribute information provided across multiple subblocks. For example, a three-dimensional data encoding device converts multiple subblocks and encodes the converted attribute information. The conversion information relates to the conversion. Here, the conversion information is, for example, at least one of a scale value and an offset value.

[0260] According to this method, attribute information spread across multiple subblocks is transformed, potentially improving encoding efficiency (reducing the amount of code). Consequently, the amount of data processed by the three-dimensional data decoder can be reduced.

[0261] For example, the transformation information includes a first coefficient applied to a first subblock among multiple subblocks, and a second coefficient applied to a second subblock among multiple subblocks, and the first coefficient and the second coefficient are different. For example, a three-dimensional data encoding device transforms each of the multiple subblocks using a coefficient (transformation coefficient) corresponding to that subblock. Here, the coefficients (each of the first and second coefficients) are, for example, at least one of a scale value and an offset value.

[0262] According to this method, different coefficients are used for each subblock, which may improve encoding efficiency (reduce the amount of code). Consequently, the amount of data that the three-dimensional data decoder has to process can be reduced.

[0263] For example, the control information includes additional transformation information (e.g., at least one of global_scale and global_offset) related to the transformation of the attribute information before division. For example, a three-dimensional data encoding device generates second attribute information by transforming first attribute information (attribute information before division), and generates multiple subblocks (multiple third attribute information) by dividing the second attribute information. The additional transformation information relates to the transformation of the first attribute information.

[0264] According to this, the three-dimensional data encoding apparatus can convert attribute information before division, thereby improving encoding efficiency. Further, the three-dimensional data decoding apparatus can restore the original attribute information by performing inverse transformation of said transformation using additional transformation information.

[0265] For example, the three-dimensional data encoding apparatus includes a processor and a memory, and the processor performs the above processing using the memory.

[0266] Heretofore, the three-dimensional data encoding apparatus, the three-dimensional data decoding apparatus and the like according to the embodiments and modifications of the present disclosure have been described, but the present disclosure is not limited to these embodiments.

[0267] Further, each processing unit included in the three-dimensional data encoding apparatus, the three-dimensional data decoding apparatus and the like according to the above embodiments is typically implemented as an LSI, which is an integrated circuit. These may be formed as a single chip individually, or may be formed as a single chip to include part or all of them.

[0268] Further, integrated circuit implementation is not limited to LSIs, and may be implemented with a dedicated circuit or a general-purpose processor. An FPGA (Field Programmable Gate Array) that can be programmed after LSI manufacturing, or a reconfigurable processor that can reconfigure connections and settings of circuit cells inside an LSI may also be used.

[0269] Further, in each of the above embodiments, each component may be configured by dedicated hardware, or may be implemented by executing a software program suitable for each component. Each component may be implemented by a program execution unit such as a CPU or a processor reading and executing a software program recorded on a recording medium such as a hard disk or a semiconductor memory.

[0270] Further, the present disclosure may also 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 apparatus, a three-dimensional data decoding apparatus or the like.

[0271] Furthermore, the division of functional blocks in the block diagram is an example; a plurality of functional blocks may be implemented as one functional block, one functional block may be divided into a plurality of functional blocks, or some functions may be transferred to other functional blocks. Furthermore, a single piece of hardware or software may process the functions of a plurality of functional blocks having similar functions in parallel or time-division.

[0272] Furthermore, the order in which the respective steps in the flowchart are executed is for illustrative purposes to specifically describe the present disclosure, and orders other than the above order may be used. Furthermore, a part of the above steps may be executed simultaneously (in parallel) with other steps.

[0273] The 3D data encoding device, 3D data decoding device and the like according to one or more aspects have been described above based on the embodiment; however, the present disclosure is not limited to this embodiment. As long as it does not depart from the gist of the present disclosure, various modifications conceived by those skilled in the art that are applied to this embodiment, and forms constructed by combining components from different embodiments may also be included within the scope of one or more aspects. [Industrial Applicability]

[0274] The present disclosure can be applied to a three-dimensional data encoding device and a three-dimensional data decoding device. [Description of Symbols]

[0275] 100, 100A, 100B Three-dimensional data encoding device 101, 101A Attribute information conversion unit 102, 102A Attribute information encoding unit 103 Attribute information integration unit 200, 200A, 200B Three-dimensional data decoding device 201, 201A Attribute information decoding unit 202, 202A Attribute information inverse conversion unit 203 Attribute information dividing unit

Claims

1. Control information is obtained indicating that the first attribute information of the three-dimensional point and the second attribute information of the three-dimensional point are combined. The first attribute information and the second attribute information are decoded according to the control information, The first attribute information and the second attribute information each have a predetermined length in accordance with the point cloud compression standard. Three-dimensional data decoding method.

2. Control information is obtained indicating that attribute information of three-dimensional points is provided across multiple subblocks, each having a predetermined length that conforms to the point cloud compression standard. The attribute information is decoded according to the control information. Three-dimensional data decoding method.

3. The attribute information provided to the aforementioned multiple subblocks represents a single piece of information. The method for decoding three-dimensional data according to claim 2.

4. The aforementioned subblocks have the same length The method for decoding three-dimensional data according to claim 2.

5. The plurality of subblocks are multiple components of the attribute information, or multiple dimensions included in one component of the attribute information, in accordance with the point cloud compression standard. The method for decoding three-dimensional data according to claim 2.

6. The control information includes information indicating the correspondence between the plurality of subblocks and the plurality of components or the plurality of dimensions. The method for decoding three-dimensional data according to claim 5.

7. The control information includes conversion information relating to the conversion of the attribute information provided across the plurality of subblocks. The method for decoding three-dimensional data according to claim 2.

8. The conversion information includes a first coefficient applied to a first subblock among the plurality of subblocks, and a second coefficient applied to a second subblock among the plurality of subblocks, The first coefficient and the second coefficient are different The method for decoding three-dimensional data according to claim 7.

9. The control information includes additional conversion information relating to the conversion of the attribute information before division. The method for decoding three-dimensional data according to claim 7.

10. Control information is generated indicating that the first attribute information of the three-dimensional point and the second attribute information of the three-dimensional point are combined. The first attribute information and the second attribute information are encoded, A bitstream is generated that includes the encoded first attribute information and the second attribute information, and the control information. The first attribute information and the second attribute information each have a predetermined length in accordance with the point cloud compression standard. Three-dimensional data encoding method.

11. Control information is generated to indicate that attribute information of three-dimensional points is provided across multiple subblocks, each having a predetermined length that conforms to the point cloud compression standard. The aforementioned attribute information is encoded, A bitstream is generated that includes the encoded attribute information and the control information. Three-dimensional data encoding method.

12. The attribute information provided to the aforementioned multiple subblocks represents a single piece of information. The three-dimensional data encoding method according to claim 11.

13. The aforementioned subblocks have the same length The three-dimensional data encoding method according to claim 11.

14. The plurality of subblocks are multiple components of the attribute information, or multiple dimensions included in one component of the attribute information, in accordance with the point cloud compression standard. The three-dimensional data encoding method according to claim 11.

15. The control information includes information indicating the correspondence between the plurality of subblocks and the plurality of components or the plurality of dimensions. The three-dimensional data encoding method according to claim 14.

16. The control information includes conversion information relating to the conversion of the attribute information provided across the plurality of subblocks. The three-dimensional data encoding method according to claim 11.

17. The conversion information includes a first coefficient applied to a first subblock among the plurality of subblocks, and a second coefficient applied to a second subblock among the plurality of subblocks, The first coefficient and the second coefficient are different The three-dimensional data encoding method according to claim 16.

18. The control information includes additional conversion information relating to the conversion of the attribute information before division. The three-dimensional data encoding method according to claim 16.

19. Processor and Equipped with memory, The processor uses the memory to: Control information is obtained indicating that the first attribute information of the three-dimensional point and the second attribute information of the three-dimensional point are combined. The first attribute information and the second attribute information are decoded according to the control information, The first attribute information and the second attribute information each have a predetermined length in accordance with the point cloud compression standard. Three-dimensional data decoding device.

20. Processor and Equipped with memory, The processor uses the memory to: Control information is obtained indicating that attribute information of three-dimensional points is provided across multiple subblocks, each having a predetermined length that conforms to the point cloud compression standard. The attribute information is decoded according to the control information. Three-dimensional data decoding device.

21. Processor and Equipped with memory, The processor uses the memory to: Control information is generated indicating that the first attribute information of the three-dimensional point and the second attribute information of the three-dimensional point are combined. The first attribute information and the second attribute information are encoded, A bitstream is generated that includes the encoded first attribute information and the second attribute information, and the control information. The first attribute information and the second attribute information each have a predetermined length in accordance with the point cloud compression standard. Three-dimensional data encoding device.

22. Processor and Equipped with memory, The processor uses the memory to: Control information is generated to indicate that attribute information of three-dimensional points is provided across multiple subblocks, each having a predetermined length that conforms to the point cloud compression standard. The aforementioned attribute information is encoded, A bitstream is generated that includes the encoded attribute information and the control information. Three-dimensional data encoding device.

Citation Information

Patent Citations

  • Method and device for improving HDR image quality

    CN113409219A

  • US2020/43199A1

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

    US20210295569A1

  • Map display device

    WO2014020663A1

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

    WO2020100866A1