Encoding method, decoding method, and information processing system

By separating and selectively encoding/decoding attribute data in three-dimensional point group data, the method addresses the increased processing load and data size issues in existing technologies, achieving faster and more efficient encoding and decoding.

WO2025177813A1PCT designated stage Publication Date: 2025-08-28SONY SEMICON SOLUTIONS CORP
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
PCT/JP2025/003404
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-02-19
Filing Date
2025-02-03
Publication Date
2025-08-28

AI Technical Summary

Technical Problem

Existing technologies for encoding and decoding three-dimensional point group data, such as G-PCC, face increased processing load and data size due to the rising number of attribute data associated with point cloud data.

Method used

The method involves separating point cloud data into geometry and multiple attribute data, selecting a subset of attribute data for encoding, and decoding the encoded data to obtain the selected attribute data, using a system comprising an encoding device and a decoding device.

Benefits of technology

This approach reduces processing load and data size by selectively encoding and decoding only necessary attribute data, thereby speeding up the encoding and decoding processes.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure JP2025003404_28082025_PF_FP_ABST
    Figure JP2025003404_28082025_PF_FP_ABST
Patent Text Reader

Abstract

This encoding method comprises: acquiring point cloud data that can be separated into a plurality of items of attribute data each having a different attribute; selecting some attribute data from among the plurality of items of attribute data; and encoding the selected attribute data among the plurality of items of attribute data.
Need to check novelty before this filing date? Find Prior Art

Description

Encoding method, decoding method, and information processing system

[0001] The present disclosure relates to an encoding method, a decoding method, and an information processing system.

[0002] Various techniques have been proposed for encoding and decoding three-dimensional point group data, also called point clouds (see, for example, Patent Document 1).

[0003] International Publication No. 2022 / 191132

[0004] For example, there is a technology such as G-PCC (Geometry-based point cloud compression) that separates attribute data from point cloud data and encodes it. It is not uncommon for multiple pieces of attribute data to exist for one piece of point cloud data, and the number of such pieces of attribute data is on the rise. As the number of attribute data increases, the processing load for encoding increases, and the size of the encoded data also increases. The processing load for decoding also increases.

[0005] One aspect of the present disclosure reduces the processing burden.

[0006] An encoding method according to one aspect of the present disclosure includes obtaining point cloud data that can be separated into a plurality of attribute data, each of which has a different attribute, selecting a portion of the attribute data from the plurality of attribute data, and encoding the selected attribute data from the plurality of attribute data.

[0007] A decoding method according to one aspect of the present disclosure includes obtaining encoded point cloud data, which is data obtained by encoding point cloud data that can be separated into multiple attribute data, each of which has different attributes; selecting some of the multiple attribute data; and decoding the encoded point cloud data to obtain point cloud data that includes the selected attribute data from the multiple attribute data.

[0008] An information processing system according to one aspect of the present disclosure includes a client device, a server device that communicates with the client device via a network, an encoding device that is disposed on one of the client device and the server device and that encodes point cloud data that can be separated into multiple attribute data, each of which has different attributes, and a decoding device that is disposed on one of the client device and the server device and that decodes encoded point cloud data, which is point cloud data encoded using the encoding device, wherein the encoding device selects some of the attribute data and encodes the selected attribute data from the multiple attribute data.

[0009] 1 is a diagram showing an example of a schematic configuration of an encoding device 1. FIG. 1 is a diagram showing an example of separation of point cloud data d11. FIG. 2 is a diagram showing an example of selection information d12. FIG. 2 is a diagram showing an example of selection of attribute data d112 by a selection unit 10. FIG. 3 is a diagram showing an example of encoded point cloud data d18. FIG. 3 is a diagram showing encoded point cloud data of a comparative example. FIG. 4 is a flowchart showing an example of processing (encoding method) executed in the encoding device 1. FIG. 5 is a flowchart showing an example of processing (encoding method) executed in the encoding device 1. FIG. 6 is a diagram showing an example of processing (encoding method) executed in the encoding device 1. FIG. 7 is a diagram showing an example of processing (encoding method) executed in the encoding device 1. FIG. 8 is a diagram showing an example of a schematic configuration of a decoding device 2. FIG. 9 is a diagram showing an example of separation of point cloud data d21. FIG. 10 is a diagram showing an example of separation of arithmetically coded data d27. FIG. 11 is a diagram showing an example of selection information d22. FIG. 12 is a diagram showing an example of selection of arithmetically coded attribute data d272 by a selection unit 20. FIG. 13 is a flowchart showing an example of processing (decoding method) executed in the decoding device 2. FIG. 14 is a flowchart showing an example of processing (decoding method) executed in the decoding device 2. 1 is a diagram showing an example of a schematic configuration of a decoding device 2. FIG. 2 is a diagram showing an example of selection of attribute data d212 by a selection unit 20. FIG. 3 is a flowchart showing an example of processing (decoding method) executed in the decoding device 2. FIG. 4 is a flowchart showing an example of processing (decoding method) executed in the decoding device 2. FIG. 5 is a diagram showing an example of processing (decoding method) executed in the decoding device 2. FIG. 6 is a diagram showing an example of processing (decoding method) executed in the decoding device 2. FIG. 7 is a diagram showing an example of processing (decoding method) executed in the decoding device 2. FIG. 8 is a diagram showing an example of processing (decoding method) executed in the decoding device 2. FIG. 9 is a diagram showing an example of processing (information processing method) executed in the decoding device 2. FIG. 10 is a diagram showing an example of a schematic configuration of an information processing system 3. FIG. 11 is a diagram showing an example of processing (information processing method) executed in the information processing system 3. FIG. 11 is a diagram showing an example of processing (information processing method) executed in the information processing system 3.Fig. 1 is a diagram showing an example of a schematic configuration of an information processing system 3. Fig. 2 is a diagram showing an example of a process (information processing method) executed in the information processing system 3. Fig. 3 is a diagram showing an example of a schematic configuration of the information processing system 3. Fig. 4 is a diagram showing an example of a process (information processing method) executed in the information processing system 3. Fig. 5 is a diagram showing an example of a hardware configuration of an apparatus.

[0010] Hereinafter, embodiments of the present disclosure will be described in detail with reference to the drawings. In the following embodiments, the same elements are designated by the same reference numerals, and redundant description will be omitted.

[0011] The present disclosure will be described in the following order: 1. Embodiments of an Encoding Device 2. Embodiments of a Decoding Device 2.1 First Embodiment of a Decoding Device 2.2 Second Embodiment of a Decoding Device 2.3 Example of Acquisition of Selection Information 3. Embodiments of an Information Processing System 3.1 First Embodiment of an Information Processing System 3.2 Second Embodiment of an Information Processing System 3.3 Third Embodiment of an Information Processing System 3.4 Fourth Embodiment of an Information Processing System 3.5 Fifth Embodiment of an Information Processing System 4. Example of a Hardware Configuration of an Apparatus 5. Summary

[0012] 1. Embodiment of Encoding Device FIG. 1 is a diagram showing an example of the schematic configuration of an encoding device 1. The encoding device 1 is used to encode data. "Data" may be interpreted as "information," and these terms may be interpreted appropriately within the scope of no contradiction. "Encoding" may be interpreted as "compression," and these terms may be interpreted appropriately within the scope of no contradiction. Encoded data is also referred to as encoded data.

[0013] Data to be encoded by the encoding device 1 is referred to as point cloud data d11. The point cloud data d11 is three-dimensional point cloud data, and is also referred to as a point cloud. When encoding the point cloud data d11, the point cloud data d11 is separated. The following description will also refer to FIG. 2 .

[0014] FIG. 2 is a diagram showing an example of separation of point cloud data d11. The point cloud data d11 can be separated into geometry data d111 and multiple pieces of attribute data d112. The geometry data d111 is position data indicating the position of each point in the point cloud data d11, and specifies each point in an xyz coordinate system, for example. Each of the multiple pieces of attribute data d112 has a different attribute and indicates data of that attribute. The attribute data d112 is associated (linked) with the geometry data d111, and can thereby indicate data of the attribute of each position in the point cloud data d11. The attribute is referred to as attribute A.

[0015] The number of multiple attribute data d112 (which can also be called the number of attributes A) is set to N+1, where N is an integer equal to or greater than 1. In Fig. 2, attribute data d112-0, attribute data d112-1, attribute data d112-2, and attribute data d112-N are illustrated with reference numerals. When no particular distinction is made between these, they are simply referred to as attribute data d112.

[0016] Examples of the attribute A are color, reflectance, normal, class, etc. For example, attribute data d112 having a color attribute A indicates the ratio of red (R), green (G), blue (B), etc. Attribute data d112 having a reflectance attribute A indicates reflectance. Attribute data d112 having a normal attribute A indicates the orientation of the surface corresponding to each point. A class is a class (also called a label, etc.) obtained by class classification. Attribute data d112 having a class attribute A indicates the probability (likelihood) of being in that class. An example of class classification is, but is not limited to, object classification.

[0017] Any other attribute A other than those described above may be defined and used. One example of the other attribute A is the degree of unnecessaryness. The attribute data d112 having the attribute A of the degree of unnecessaryness indicates the degree of unnecessaryness of an object located at each point or each portion. For example, this can be used to prevent an object with a low degree of unnecessaryness from being presented as an image or video. In addition, a wide variety of attributes such as those used in 3D Gaussian splatting can be the attribute A.

[0018] 1 , for example, the point cloud data d11 as described above is encoded by an encoding device 1. The encoding device 1 includes a selection unit 10, a storage unit 11, an acquisition unit 12, a preprocessing unit 13, and an encoding unit 14. In this example, the selection unit 10 is included in the preprocessing unit 13.

[0019] The storage unit 11 stores data used by the encoding device 1. Examples of data stored in the storage unit 11 include a program 110 and selection information d12. The program 110 is a program (software) for causing a computer to function as the encoding device 1, and more specifically, is an application program (application software) for causing the selection unit 10, the acquisition unit 12, the preprocessing unit 13, and the encoding unit 14 to execute various processes. The selection information d12 will be described later.

[0020] The acquisition unit 12 acquires the point cloud data d11. The acquisition may be performed by reading, inputting, receiving, or the like of the point cloud data d11, and does not exclude other acquisition modes.

[0021] The preprocessing unit 13 performs preprocessing on the point cloud data d11. The preprocessing is processing that is performed prior to encoding by the encoding unit 14. An example of the preprocessing is the selection of attribute data d112 by the selection unit 10.

[0022] The selection unit 10 selects some of the attribute data d112 from among the multiple pieces of attribute data d112 that can be separated from the point cloud data d11. This selection is also simply referred to as selection of the attribute data d112 (or selection of attribute A). In this example, the selection unit 10 selects the attribute data d112 by referring to the selection information d12. This will be described with reference to FIGS. 3 and 4 as well.

[0023] 3 is a diagram showing an example of the selection information d12. The selection information d12 describes the attribute A and whether or not it is selected in association with each other.

[0024] The N+1 attributes A are shown schematically as attributes A-0 to A-N. For example, the attribute data d112-0 in FIG. 2 described above has the attribute A-0, the attribute data d112-1 has the attribute A-1, the attribute data d112-2 has the attribute A-2, and the attribute data d112-N has the attributes A-N.

[0025] The necessity of selection indicates whether or not to select the attribute A (selection or non-selection). In this example, the selection information d12 selects the attributes A-0 and A-1, while not selecting the other attributes A-2 to A-N. The selected attribute A is also referred to as the attribute A to be selected. In this example, the attributes A to be selected are the attributes A-0 and A-1.

[0026] 4 is a diagram showing an example of selection of attribute data d112 by the selection unit 10. The selection unit 10 selects attribute data d112 having the attribute A to be selected from among the plurality of attribute data d112. For example, when referring to the selection information d12 in FIG. 3 described above, the selection unit 10 selects attribute data d112-0 having the attribute A-0 and attribute data d112-1 having the attribute A-1. The attribute data d112-2 to d112-N are not selected.

[0027] Returning to Fig. 1, for example, in the manner described above, the selection unit 10 selects some of the attribute data d112 from among the plurality of attribute data d112. Note that the manner in which the selection information d12 is acquired is not particularly limited. As an example, the selection information d12 may be generated in advance and stored in the storage unit 11, and the selection information d12 may be acquired from there. Other acquisition manners will be described later with reference to Fig. 27 and subsequent figures.

[0028] The preprocessing unit 13 may also perform preprocessing other than the selection performed by the selection unit 10. An example of the other preprocessing is division of the point cloud data d11 (slicing / tiling).

[0029] Data including the geometry data d111 and the attribute data d112 selected by the selection unit 10 is referred to as selected point cloud data d13. The attribute data d112 not selected by the selection unit 10 is not included in the selected point cloud data d13.

[0030] The encoding unit 14 encodes the selected point cloud data d13. One example of the encoding performed by the encoding unit 14 is G-PCC (Geometry-based point cloud compression). The following description will be given assuming that the encoding is G-PCC. The encoding unit 14 includes a spatial quantization unit 141, an octree encoding unit 142, an attribute data conversion unit 143, an arithmetic encoding unit 144, and a syntax encoding unit 145.

[0031] The spatial quantization unit 141 spatially quantizes the selected point cloud data d13. The spatial quantization unit 141 divides the point cloud data d11 (the target space) into voxels of uniform size and converts coordinates into integers. The selected point cloud data d13 after spatial quantization is referred to as spatial quantized data d14.

[0032] The octree encoding unit 142 octree-encodes the spatial quantized data d14. Each voxel of the spatial quantized data d14 is divided into eight. The spatial quantized data d14 after octree encoding is referred to as octree data d15. Note that the number of voxel divisions by the octree encoding unit 142 may be a number other than eight, and in this sense, "octree" may simply be read as "tree."

[0033] The attribute data conversion unit 143 performs data conversion to obtain attribute data d112 associated with the geometry data d111. This conversion is performed based on the octree data d15, etc. The attribute data d112 obtained in this manner is referred to as selected attribute data d16. Attribute data d112 that was not selected by the selection unit 10 is not included in the selected attribute data d16.

[0034] The arithmetic coding unit 144 arithmetically codes the octree data d15 and the selected attribute data d16. An example of arithmetic coding is entropy coding. The data after arithmetic coding is referred to as arithmetically coded data d17.

[0035] The syntax coding unit 145 syntax-codes the arithmetically coded data d17. For example, the syntax coding unit 145 encodes the arithmetically coded data d17 so that the arithmetically coded data d17 conforms to the syntax of G-PCC. The arithmetically coded data d17 after syntax coding is referred to as coded point group data d18. The coded point group data d18 will be described with reference to FIG. 5 as well.

[0036] 5 is a diagram showing an example of the encoded point group data d18. In this example, the encoded point group data d18 has a G-PCC syntax structure. Examples of parts of the data structure include an AU (Access unit) header, a user data header, a user data payload, an SPS (Sequence parameter set data unit), a GPS (Geometry parameter set data unit), a GDU (Geometry data unit), an APS (Attribute parameter set data unit), and an ADU (Attribute data unit).

[0037] GPS and GDU mainly relate to the geometry data d111. For example, GPS includes data related to parameters of the geometry data d111. GDU includes the geometry data d111 after arithmetic coding.

[0038] The APS and ADU mainly relate to the attribute data d112. For example, the APS includes data related to the parameters of the attribute data d112. The ADU includes the attribute data d112 after arithmetic coding.

[0039] The same number of APSs and ADUs as the number of selected attribute data d112 are included in the encoded point group data d18. In this example, as previously described with reference to FIG. 2, only attribute data d112-0 and attribute data d112-1 are selected, and therefore only the APSs and ADUs corresponding to these are included in the encoded point group data d18. The APS and ADU corresponding to attribute data d112-0 are illustrated and referred to as APS#0 and ADU#0. The APS and ADU corresponding to attribute data d112-1 are illustrated and referred to as APS#1 and ADU#1.

[0040] 1, for example, the encoded point cloud data d18 as described above is obtained. The encoded point cloud data d18 may be output at an appropriate time. The output may be data readout, transmission, or the like, and other output modes are not excluded.

[0041] According to the encoding device 1 described above, only some of the attribute data d112 are selected and encoded from among the multiple attribute data d112. Compared to when such selection is not performed, this reduces the processing load required for encoding and shortens the processing time (speeds up encoding). It is also possible to reduce the data size after encoding, i.e., the encoded point group data d18. A comparative example will also be used for explanation.

[0042] FIG. 6 is a diagram showing encoded point cloud data of a comparative example. When encoding is performed without selecting attribute data d112, the encoded point cloud data includes the same number of APSs and ADUs as the multiple attribute data d112. The APSs and ADUs corresponding to attribute data d112-0 to d112-N are shown in the figure as APS#0 to APS#N and ADU#0 to ADU#N. Compared to the encoded point cloud data d18 of FIG. 5 described above, the encoded point cloud data of the comparative example has a larger data size due to the inclusion of APS#2 to APS#N and ADU#2 to ADU#N. This data size can be reduced by the encoding technique according to the above-described embodiment.

[0043] 7 to 9 are flowcharts showing examples of processing (encoding methods) executed in the encoding device 1. Descriptions of content that overlap with those described above will be omitted where appropriate.

[0044] 7 shows the overall flow. In step S11, the acquisition unit 12 acquires point cloud data d11. In step S12, the selection unit 10 selects attribute data d112. In step S3, the encoding unit 14 encodes the selected point cloud data d13.

[0045] FIG. 8 shows details of step S12 in FIG.

[0046] In step S121, the selection unit 10 refers to the selection information d12. For example, the selection information d12 stored in the storage unit 11 is read out and referred to.

[0047] In steps S122 to S126, the selection unit 10 selects the attribute data d112 having the attribute A to be selected and includes it in the selected point cloud data d13. In other words, only the selected attribute data d112 from among the multiple attribute data d112 is added to the selected point cloud data d13.

[0048] In step S122, the selection unit 10 sets i to 0, where i is an integer variable.

[0049] In step S123, the selection unit 10 determines whether or not attribute Ai is a selection target. Attribute Ai is the i-th attribute. If the selection information d12 selects attribute Ai, attribute Ai is a selection target. If attribute Ai is a selection target (step S123: Yes), the process proceeds to step S124. If not (step S123: No), the process skips step S124 and proceeds to step S126.

[0050] In step S124, the selection unit 10 includes the attribute data d112-i in the selected point cloud data d13. The attribute data d112-i is the attribute data d112 having the attribute Ai.

[0051] In step S125, the selection unit 10 increments i.

[0052] In step S126, the selection unit 10 determines whether i = N. If i = N (step S126: Yes), the process of step S12 is completed. If not, that is, if i < N (step S126: No), the process returns to step S123.

[0053] By repeating the processing of the above-mentioned steps S123 to S126, only the attribute data d112 having the attribute A to be selected is selected from the attribute data d112-0 to d112-N having the attributes A-0 to AN, and is included in the selected point cloud data d13.

[0054] FIG. 9 shows the details of step S13 in FIG.

[0055] In step S131, the spatial quantization unit 141 spatially quantizes the selected point cloud data d13, thereby obtaining spatially quantized data d14.

[0056] In step S132, the octree encoding unit 142 octree-encodes the spatial quantized data d14, resulting in octree data d15.

[0057] In step S133, the attribute data conversion unit 143 performs conversion based on the octree data d15, etc. Selected attribute data d16 is obtained.

[0058] In step S134, the arithmetic coding unit 144 arithmetically codes the octree data d15 and the selected attribute data d16, thereby obtaining arithmetically coded data d17.

[0059] In step S135, the syntax encoding unit 145 syntax-encodes the arithmetically encoded data d17, resulting in encoded point group data d18. The process of step S13 is then completed.

[0060] 2. Decoding Device Embodiments A decoding device decodes encoded point cloud data. For example, the encoding device selects some attribute data from a plurality of attribute data, and decodes the encoded point cloud data so as to obtain point cloud data that includes the selected attribute data (and does not include the unselected attribute data). Two embodiments of such an encoding device will be described below, taking a first embodiment and a second embodiment as examples.

[0061] 2.1 First Embodiment of Decoding Device Fig. 10 is a diagram showing an example of the schematic configuration of a decoding device 2. The decoding device 2 is used to decode data. "Decoding" may be interpreted as meaning "decompression," and these terms may be interpreted appropriately as long as there is no contradiction.

[0062] The data to be decoded by the decoding device 2 is referred to as encoded point cloud data d28. The encoded point cloud data d28 is point cloud data that has been encoded (for example, G-PCC), and the original point cloud data is referred to as point cloud data d21. The point cloud data d21 is three-dimensional point cloud data. When encoding the point cloud data d21, the point cloud data d21 is separated. This description will also refer to FIG. 11.

[0063] FIG. 11 is a diagram showing an example of separation of point cloud data d21. The point cloud data d21 can be separated into geometry data d211 and multiple pieces of attribute data d212. The geometry data d211 is position data indicating the position of each point in the point cloud data d21, and identifies each point in an xyz coordinate system, for example. Each of the multiple pieces of attribute data d212 has a different attribute A and indicates data for that attribute A. The attribute data d212 is associated with the geometry data d211, and can thereby indicate the attribute A for each position in the point cloud data d21. In FIG. 11, N+1 pieces of attribute data d212 are illustrated, labeled as attribute data d212-0 to attribute data d212-N. When no particular distinction is needed, these are simply referred to as attribute data d212.

[0064] 10 , for example, data obtained by encoding the point cloud data d21 described above (data derived from the point cloud data d21) is encoded point cloud data d28, and this encoded point cloud data d28 is decoded by a decoding device 2. The decoding device 2 includes a selection unit 20, a storage unit 21, an acquisition unit 22, and a decoding unit 24. In this example, the selection unit 20 is included in the decoding unit 24.

[0065] The storage unit 21 stores data used by the decoding device 2. Examples of data stored in the storage unit 21 include a program 210 and selection information d22. The program 210 is a program (software) for causing a computer to function as the decoding device 2, and more specifically, is an application program (application software) for causing the acquisition unit 22 and the decoding unit 24 to execute various processes. The selection information d22 will be described later.

[0066] The acquisition unit 22 acquires the encoded point group data d28. The acquisition may be performed by reading or inputting the encoded point group data d28, and does not exclude other acquisition modes.

[0067] The decoding unit 24 decodes the encoded point cloud data d28. In the example shown in FIG. 10 , the decoding unit 24 decodes the attribute data d212 selected by the selection unit 20 from among the multiple pieces of attribute data d212. The attribute data d212 not selected by the selection unit 20 is not decoded. The decoding unit 24 includes the selection unit 20, a spatial inverse quantization unit 241, an octree decoding unit 242, an attribute data inverse conversion unit 243, an arithmetic decoding unit 244, and a syntax decoding unit 245. Unless otherwise specified, the processing by the spatial inverse quantization unit 241 to the syntax decoding unit 245 may be considered to be the reverse of the processing by the spatial quantization unit 141 to the syntax encoding unit 145 of the encoding unit 14 ( FIG. 1 ) of the encoding device 1 described above.

[0068] The syntax decoding unit 245 syntax-decodes the encoded point group data d28. The encoded point group data d28 after syntax decoding is data that has been arithmetically coded, and is referred to as arithmetically coded data d27. The arithmetically coded data d27 can be separated into arithmetically coded geometry data d211 and multiple pieces of attribute data d212. This description will also refer to FIG. 12 .

[0069] FIG. 12 is a diagram showing an example of separation of arithmetically coded data d27. The arithmetically coded data d27 can be separated into arithmetically coded geometry data d271 and multiple arithmetically coded attribute data d272. The arithmetically coded geometry data d271 is the geometry data d211 (FIG. 11) after arithmetically coding. The arithmetically coded attribute data d272 is the attribute data d212 (FIG. 11) after arithmetically coding. FIG. 12 illustrates N+1 pieces of arithmetically coded attribute data d272, with codes assigned as arithmetically coded attribute data d272-0 to arithmetically coded attribute data d272-N. When no particular distinction is made between these, they will simply be referred to as arithmetically coded attribute data d272.

[0070] The arithmetically coded attribute data d272 and the attribute data d212 can be considered to be the same data, except that they are data after arithmetic coding and data before arithmetic coding. The arithmetically coded attribute data d272 and the attribute data d212 may be interpreted as appropriate, as long as there is no contradiction.

[0071] Returning to Fig. 10, the selection unit 20 and the arithmetic decoding unit 244 decode the arithmetic coded data d27 while selecting some of the arithmetic coded attribute data d272 from among the plurality of arithmetic coded attribute data d272. This selection of the arithmetic coded attribute data d272 by the selection unit 20 is also simply referred to as selection of the arithmetic coded attribute data d272 (or selection of attribute A or selection of attribute data d212). In this example, the selection unit 20 selects the arithmetic coded attribute data d272 with reference to the selection information d22. This description will also be made with reference to Figs. 13 to 15.

[0072] FIG. 13 is a diagram showing an example of the selection information d22. The selection information d22 describes an attribute A in association with whether or not selection is required. N+1 attributes A are schematically shown as attributes A-0 to A-N. For example, the arithmetic coding attribute data d272-0 in FIG. 12 described above has attribute A-0, the arithmetic coding attribute data d272-1 has attribute A-1, the arithmetic coding attribute data d272-2 has attribute A-2, and the arithmetic coding attribute data d272-N has attributes A-N. Whether or not selection is required is the same as for the selection information d12 in FIG. 3 described above.

[0073] 14 and 15 are diagrams showing examples of selection of arithmetically coded attribute data d272 by the selection unit 20. FIG.

[0074] 14, the selection unit 20 selects, from among the plurality of arithmetic coding attribute data d272, arithmetic coding attribute data d272 having the attribute A to be selected. For example, when referring to the selection information d22 in FIG. 13 described above, the selection unit 20 selects the arithmetic coding attribute data d272-0 having the attribute A-0 and the arithmetic coding attribute data d272-1 having the attribute A-1. The arithmetic coding attribute data d272-2 to d272-N are not selected.

[0075] The above selections are viewed in terms of the data structure (syntax structure) of the encoded point cloud data d28, as shown in FIG. 15. The basic data structure of the encoded point cloud data d28 is similar to the data structure of the encoded point cloud data d18 previously described with reference to FIG. 5. In the encoded point cloud data d28, for example, GPS includes data related to parameters of the geometry data d211. GDU includes geometry data d211 after arithmetic coding, i.e., arithmetically coded geometry data d271. APS includes data related to parameters of the attribute data d212. ADU includes attribute data d212 after arithmetic coding, i.e., arithmetically coded attribute data d272.

[0076] The APSs and ADUs corresponding to the arithmetic coding attribute data d272-0 to d272-N are referred to as APS#0 to APS#N and ADU#0 to ADU#N and are illustrated. In this example, only APS#0 and APS#1 are selected from among APS#0 to APS#N, and only ADU#0 and ADU#1 are selected from among ADU#0 to ADU#N.

[0077] Returning to Fig. 10 , for example, in the manner described above, the selection unit 20 selects some of the arithmetic coding attribute data d272 from the plurality of arithmetic coding attribute data d272. Note that the manner in which the selection information d22 is acquired is not particularly limited. As an example, the selection information d22 may be generated in advance and stored in the storage unit 21, and the selection information d22 may be acquired from there. Other acquisition manners will be described later with reference to Fig. 24 and subsequent figures.

[0078] 10 , the arithmetic decoding unit 244 arithmetically decodes the arithmetically coded geometry data d271 and the arithmetically coded attribute data d272 selected by the selection unit 20 from the plurality of arithmetically coded attribute data d272. The arithmetically coded attribute data d272 not selected by the selection unit 20 is not arithmetically decoded. The data after arithmetic decoding is referred to as octree data d25 and selected attribute data d26. The selected attribute data d26 includes data obtained by arithmetically decoding the arithmetically coded attribute data d272 selected by the selection unit 20. The arithmetically coded attribute data d272 not selected by the selection unit 20 is not arithmetically decoded and is therefore not included in the selected attribute data d26.

[0079] The attribute data inverse conversion unit 243 performs inverse conversion of data to obtain attribute data d212 associated with the geometry data d211. This inverse conversion is performed based on the octree data d25, the selected attribute data d26, and the like.

[0080] The octree decoding unit 242 performs octree decoding based on the octree data d25 and the result of the inverse conversion by the attribute data inverse conversion unit 243. The data after octree decoding is data that has been subjected to spatial quantization, and is referred to as spatial quantized data d24.

[0081] The spatial dequantization unit 241 spatially dequantizes the spatial quantization data d24. The spatial quantization data d24 after spatial dequantization is the geometry data d211 and the attribute data d212 selected by the selection unit 20, and is referred to as selected point cloud data d23. The selected point cloud data d23 differs from the point cloud data d21 in that it does not include the attribute data d212 that was not selected by the selection unit 20. The selected point cloud data d23 may be output as appropriate. The output may be data reading, transmission, or the like, and does not exclude other output modes.

[0082] According to the decoding device 2 described above, only some of the arithmetically coded attribute data d272, in other words, only some of the attribute data d212, are selected and decoded. Compared to when such selection is not performed, this reduces the processing load required for decoding and shortens the processing time (speeds up decoding).

[0083] 16 to 18 are flowcharts showing examples of the processing (decoding method) executed in the decoding device 2. Description of content that overlaps with the above will be omitted where appropriate.

[0084] The overall flow is shown in Fig. 16. In step S21, the acquisition unit 22 acquires encoded point group data d28. The encoded point group data d28 is syntax-decoded by the syntax decoding unit 245. In step S22, the selection unit 20 and the arithmetic decoding unit 244 select arithmetically-encoded attribute data d272 and arithmetically decode the arithmetically-encoded data d27. Octree data d25 and selected attribute data d26 are obtained. In step S23, the decoding unit 24 decodes the octree data d25 and selected attribute data d26.

[0085] FIG. 17 shows the details of step S22.

[0086] In step S221, the arithmetic decoding unit 244 arithmetically decodes data other than the APS and ADU, such as the AU header, user data header, user data payload, SPS, GSP, and GDU (see FIG. 15).

[0087] In step S221, the selection unit 20 refers to the selection information d22. For example, the selection information d22 stored in the storage unit 21 is read out and referred to.

[0088] In steps S222 to S227, the selection unit 20 selects the arithmetically coded attribute data d272 having the selection target attribute A. The arithmetic decoding unit 244 arithmetically decodes the arithmetically coded attribute data d272 (and the corresponding APS and ADU) selected by the selection unit 20.

[0089] In step S223, the selection unit 20 sets i to 0, where i is an integer variable.

[0090] In step S224, the selection unit 20 determines whether or not attribute Ai is a selection target. Attribute Ai is the i-th attribute. If the selection information d22 selects attribute Ai, attribute Ai is a selection target. If attribute Ai is a selection target (step S224: Yes), the process proceeds to step S225. If not (step S224: No), the process of step S225 is skipped and the process proceeds to step S226.

[0091] In step S225, the arithmetic decoding unit 244 arithmetically decodes the APS and ADU corresponding to the arithmetically coded attribute data d272-i.

[0092] In step S226, the selection unit 20 increments i.

[0093] In step S227, the selection unit 20 determines whether i = N. If i = N (step S227: Yes), the process of step S22 is completed. If not (step S227: No), the process returns to step S224.

[0094] By repeating the processing of steps S224 to S227 described above, only the arithmetic coding attribute data d2722 having the attribute A to be selected is selected and decoded from the arithmetic coding attribute data d272-0 to d272-N corresponding to attributes A-0 to AN.

[0095] FIG. 18 shows the details of step S23.

[0096] In step S231, the attribute data inverse conversion unit 243 performs inverse conversion based on the octree data d25, the selected attribute data d26, and the like.

[0097] In step S232, the octree decoding unit 242 performs octree decoding based on the octree data d25 and the result of the inverse transform, thereby obtaining spatial quantized data d24.

[0098] In step S233, the spatial inverse quantization unit 241 spatially inverse quantizes the spatial quantized data d24, thereby obtaining selected point group data d23. The processing of step S23 is then completed.

[0099] 2.2 Second Embodiment of Decoding Device In the above-described first embodiment, an example was described in which attribute A is selected before decoding. In the second embodiment described next, attribute A is selected after decoding.

[0100] Fig. 19 is a diagram showing an example of the schematic configuration of a decoding device 2. The decoding device 2 differs from the configuration shown in Fig. 10 described above in that the selection unit 20 is located after the decoding unit 24. The following mainly describes the differences. Portions not specifically described may be the same as those of the decoding device 2 shown in Fig. 10 described above.

[0101] The decoding unit 24 decodes all of the geometry data d211 and the multiple attribute data d212. Specifically, the arithmetic decoding unit 244 arithmetically decodes the arithmetically coded data d27. All of the multiple arithmetically coded attribute data d272 are arithmetically decoded. The data after arithmetic decoding is referred to as octree data d25 and attribute data d26a. The attribute data inverse conversion unit 243 performs inverse conversion based on the octree data d25, the attribute data d26a, etc. The octree decoding unit 242 performs octree decoding based on the octree data d25 and the result of the inverse conversion by the attribute data inverse conversion unit 243. The octree-decoded data is referred to as spatial quantized data d24a. The spatial inverse quantization unit 241 spatially inverse quantizes the spatial quantized data d24a. The spatially quantized data d24a after spatial dequantization includes the point cloud data d11 and all of the attribute data d212, and therefore becomes the point cloud data d21.

[0102] The selection unit 20 selects some of the attribute data d212 from the plurality of attribute data d212 decoded by the decoding unit 24. This selection is also simply referred to as selection of the attribute data d212 (or selection of attribute A). In this example, the selection unit 20 selects the attribute data d212 by referring to the selection information d22. This will be described with reference to FIG. 20 as well.

[0103] 20 is a diagram showing an example of selection of attribute data d212 by the selection unit 20. The selection unit 20 selects attribute data d212 having attribute A to be selected from among a plurality of attribute data d212.

[0104] 19 , the selection unit 20 includes the attribute data d212 selected from the plurality of attribute data d212 in the selected point cloud data d23. The attribute data d212 not selected by the selection unit 20 is not included in the selected point cloud data d23. The selected point cloud data d23 differs from the point cloud data d21 in that it does not include the attribute data d212 not selected by the selection unit 20.

[0105] According to the above-described decoding device 2, only some of the attribute data d212 are selected from the plurality of attribute data d212 and included in the selected point cloud data d23. Compared to when such selection is not performed, the processing load required from decoding to generating the selected point cloud data d23 can be reduced, and the processing time can be shortened (the processing can be accelerated).

[0106] 21 to 23 are flowcharts showing examples of the processing (decoding method) executed in the decoding device 2. Description of content that overlaps with the above will be omitted where appropriate.

[0107] 21 shows the overall flow. In step S31, the acquisition unit 22 acquires the encoded point cloud data d28. In step S32, the decoding unit 24 decodes the encoded point cloud data d28. In step S33, the selection unit 20 selects the attribute data d212.

[0108] FIG. 22 shows the details of step S32.

[0109] In step S321, the syntax decoding unit 245 syntax-decodes the encoded point group data d28, thereby obtaining arithmetically coded data d27.

[0110] In step S322, the arithmetic decoding unit 244 arithmetically decodes the arithmetically coded data d27, thereby obtaining octree data d25 and attribute data d26a.

[0111] In step S323, the attribute data inverse conversion unit 243 performs inverse conversion based on the octree data d25 and the attribute data d26a.

[0112] In step S324, the octree decoding unit 242 performs octree decoding based on the octree data d25 and the result of the inverse conversion by the attribute data inverse conversion unit 243. Spatial quantized data d24a is obtained.

[0113] In step S325, the spatial inverse quantization unit 241 spatially inverse quantizes the spatial quantized data d24a, thereby obtaining point cloud data d21. The processing of step S32 is then completed.

[0114] FIG. 23 shows the details of step S33.

[0115] In step S331, the selection unit 20 refers to the selection information d22. For example, the selection information d22 stored in the storage unit 21 is read out and referred to.

[0116] In steps S332 to S336, the selection unit 20 selects the attribute data d212 having the attribute A to be selected and includes it in the selected point cloud data d23. In other words, only the selected attribute data d212 from among the multiple attribute data d212 is added to the selected point cloud data d23.

[0117] In step S332, the selection unit 20 sets i to 0, where i is an integer variable.

[0118] In step S333, the selection unit 20 determines whether or not the attribute Ai is a selection target. If the attribute Ai is a selection target (step S333: Yes), the process proceeds to step S334. If not (step S333: No), the process skips step S334 and proceeds to step S335.

[0119] In step S334, the selection unit 20 includes the attribute data d212 in the selected point cloud data d23.

[0120] In step S335, the selection unit 20 increments i.

[0121] In step S336, the selection unit 20 determines whether i = N. If i = N (step S336: Yes), the process of step S3 is completed. If not (step S336: No), the process returns to step S333.

[0122] By repeating the processing of the above-mentioned steps S333 to S336, only the attribute data d212 having the attribute A to be selected is selected from the attribute data d212-0 to d212-N corresponding to the attributes A-0 to AN, and is included in the selected point cloud data d23.

[0123] 2.3 Examples of Acquisition of Selection Information The decoding device 2 described above can acquire the selection information d22 in various ways. Several examples of processes related to the acquisition of the selection information d22 will be described with reference to Figures 24 to 26. Note that the entity that acquires the selection information d22 is not particularly limited, and may be, for example, the acquisition unit 22, the selection unit 20, or the like. In the following, it is assumed that the acquisition unit is the selection unit 20.

[0124] 24 to 26 are diagrams showing examples of processing (decoding methods) executed by the decoding device 2. The selection unit 20 acquires selection information d22 from the encoded point cloud data d28. The acquisition unit 22 can dynamically generate and acquire the selection information d22 according to the encoded point cloud data d28.

[0125] In the example shown in FIG. 24, the selection unit 20 generates and acquires the selection information d22 from the header portion of the encoded point group data d28.

[0126] In step S41, the selection unit 20 preparses the header portion of the encoded point cloud data d28. For example, prior to complete decoding of the encoded point cloud data d28, data (such as character strings) related to attribute A that may be included in the SPS, APS, etc. in the encoded point cloud data d28 is extracted and analyzed.

[0127] In step S42, the selection unit 20 identifies a selectable attribute A. The selectable attribute A is identified from the preparse result in the previous step S41 (from the header portion of the encoded point group data d28).

[0128] In step S43, the selection unit 20 generates and acquires selection information d22. For example, the selection information d22 is generated and acquired to select some of the selectable attributes A identified in the previous step S42.

[0129] 25, it is assumed that data similar to the selection information d22 is included in the user data payload of the encoded point cloud data d28. The selection unit 20 acquires the selection information d22 from the user data payload of the encoded point cloud data d28 (step S51).

[0130] 26, the selection information d22 is generated in advance and stored locally. Here, "local" may refer to, for example, the storage unit 21 of the decoding device 2 or a storage device outside the decoding device 2. The selection unit 20 acquires the locally stored selection information d22 (step S61).

[0131] 3. Embodiment of Information Processing System An embodiment of an information processing system is provided that uses the encoding device 1 and decoding device 2 described above. In the information processing system, it is sufficient that attribute data is selected in at least one of the encoding device 1 and decoding device 2. In other words, attribute data does not need to be selected in one of the devices. In this case, the device will also be referred to as the encoding device 1 or the decoding device 2 as before and will be described.

[0132] The names of the data will also be the same as before. The encoding device 1 acquires and encodes the point cloud data d11. The encoded point cloud data d11 is encoded point cloud data d18. The decoding device 2 acquires and decodes the point cloud data d11 encoded using the encoding device 1, i.e., the encoded point cloud data d18, as encoded point cloud data d28. The encoded point cloud data d28 after decoding is selected point cloud data d23.

[0133] When the encoding device 1 selects the attribute data d112, the encoding device 1 selects some of the attribute data d112 from the plurality of attribute data d112 and encodes the selected attribute data d112. When the decoding device 2 selects the attribute data d212, the decoding device 2 selects some of the attribute data d212 from the plurality of attribute data d212 and decodes the encoded point cloud data d28 so as to obtain point cloud data including the selected attribute data d212, i.e., selected point cloud data d23.

[0134] Various arrangements of the encoding device 1 and the decoding device 2, as well as the selection information d12 and the selection information d22 are possible. The following description will be given taking the first to fifth embodiments as examples.

[0135] 3.1 First Embodiment of Information Processing System Fig. 27 is a diagram showing an example of a schematic configuration of an information processing system 3. The information processing system 3 includes a client device 4 and a server device 6. The client device 4 and the server device 6 communicate with each other via a network 5. The client device 4 can also be called a first information processing device used by a user of the information processing system 3. The server device 6 can also be called a second information processing device (distribution server device, cloud server device, etc.) that transmits (distributes) data in response to a request from the client device 4 and executes the processing required for that purpose.

[0136] The encoding device 1 is located in either the client device 4 or the server device 6. The decoding device 2 is also located in either the client device 4 or the server device 6. The same applies to the selection information d12 and the selection information d22. Note that when data or information is located in a device, it means that the data or information is stored in a storage device within the device, for example.

[0137] 27, the encoding device 1, point cloud data d11, and selection information d12 are arranged in a server device 6. The decoding device 2 is arranged in a client device 4.

[0138] The client device 4 requests encoded point cloud data d28 from the server device 6. The server device 6 encodes the point cloud data d11 using the encoding device 1 and transmits the obtained encoded point cloud data d18 to the client device 4 as the requested encoded point cloud data d28. The client device 4 decodes the encoded point cloud data d28 using the decoding device 2. Note that in this decoding, the attribute data d212 does not need to be selected.

[0139] 28 is a diagram showing an example of processing (information processing method) executed in the information processing system 3. As shown in the figure, data is transmitted and received between the client device 4 and the server device 6 via the network 5. Note that explanations of content that overlaps with those described above will be omitted where appropriate.

[0140] In step S71, the client device 4 transmits a request for encoded point cloud data to the server device 6. The server device 6 receives the request for encoded point cloud data from the client device 4.

[0141] In step S72, the encoding device 1 of the server device 6 encodes the point cloud data d11 with reference to the selection information d12, thereby obtaining encoded point cloud data d18.

[0142] In step S73, the server device 6 transmits the encoded point cloud data d18 to the client device 4. The client device 4 receives the encoded point cloud data d18 from the server device 6 as encoded point cloud data d28.

[0143] In step S74, the decoding device 2 of the client device 4 decodes the encoded point cloud data d28, thereby obtaining selected point cloud data d23.

[0144] According to the information processing system 3 of the first embodiment described above, it is possible to reduce the processing burden of encoding on the server device 6 and the client device 4. Furthermore, because the encoded point cloud data d28 obtained by selecting and encoding attribute data is transmitted, it is possible to reduce the processing burden (load) on the network 5 compared to when such selection is not performed.

[0145] 3.2 Second Embodiment of Information Processing System Fig. 29 is a diagram showing an example of a schematic configuration of an information processing system 3. Compared to the configuration of Fig. 27 described above, this differs in that selection information d22 is arranged in the client device 4. In response to a request from the client device 4, the server device 6 transmits encoded point cloud data to the client device 4.

[0146] Fig. 30 is a diagram showing an example of processing (information processing method) executed in the information processing system 3. Compared to Fig. 28 described above, processing in step S74a is executed instead of processing in step S74.

[0147] In step S74a, the decoding device 2 of the client device 4 decodes the encoded point cloud data d28 with reference to the selection information d22, thereby obtaining selected point cloud data d23.

[0148] The information processing system 3 according to the second embodiment described above also reduces the processing burden of encoding on the server device 6 and the client device 4, and also reduces the processing burden (load) on the network 5. In one embodiment, the attribute A selected by the selection information d22 may be a part of the attribute A selected by the selection information d12. This makes it possible to further narrow down the attributes A to be selected. This increases the possibility of further reducing the processing burden of decoding.

[0149] 3.3 Third Embodiment of Information Processing System Fig. 31 is a diagram showing an example of a schematic configuration of an information processing system 3. The encoding device 1, the decoding device 2, the point cloud data d11, the selection information d12, and the selection information d22 are all arranged in a server device 6.

[0150] The server device 6 encodes the point cloud data d11 using the encoding device 1. As a result, encoded point cloud data d18 is obtained. The client device 4 requests the point cloud data d21 from the server device 6. The server device 6 decodes the encoded point cloud data d18, i.e., the encoded point cloud data d28, using the decoding device 2. As a result, the point cloud data d21 is obtained. The server device 6 transmits the point cloud data d21 to the client device 4 as the requested point cloud data d21.

[0151] FIG. 32 is a diagram showing an example of a process (information processing method) executed in the information processing system 3.

[0152] In step S81, the encoding device 1 of the server device 6 encodes the point cloud data d11 with reference to the selection information d12. As a result, encoded point cloud data d18 is obtained. The obtained encoded point cloud data d18 is stored (held) in the server device 6.

[0153] In step S82, the client device 4 transmits a request for point cloud data to the server device 6. The server device 6 receives the request for point cloud data from the client device 4.

[0154] In step S83, the decoding device 2 of the server device 6 refers to the selection information d22 and decodes the encoded point cloud data d18, i.e., the encoded point cloud data d28, thereby obtaining selected point cloud data d23.

[0155] In step S84, the server device 6 transmits the selected point cloud data d23 to the client device 4. The client device 4 receives the selected point cloud data d23 from the server device 6.

[0156] The information processing system 3 according to the third embodiment described above can reduce the processing load of encoding and decoding on the server device 6. Furthermore, since the server device 6 only needs to store (hold) the decoded point cloud data d11, it is possible to reduce the storage capacity and reduce the processing related to storage accordingly.

[0157] 3.4 Fourth Embodiment of Information Processing System FIG. 33 is a diagram showing an example of a schematic configuration of an information processing system 3. The encoding device 1 and point cloud data d11 are arranged in a server device 6. The decoding device 2, selection information d12, and selection information d22 are arranged in a client device 4.

[0158] The client device 4 requests the server device 6 for encoded point cloud data d28 and transmits the selection information d12 to the server device 6. The server device 6 encodes the point cloud data d11 using the encoding device 1 while referring to the selection information d12. This results in the encoded point cloud data d28. The server device 6 transmits the encoded point cloud data d18 to the client device 4 as the requested encoded point cloud data d28. The client device 4 decodes the encoded point cloud data d28 using the decoding device 2.

[0159] FIG. 34 is a diagram showing an example of a process (information processing method) executed in the information processing system 3.

[0160] In step S91, the client device 4 transmits a request for encoded point cloud data and selection information d12 to the server device 6. The server device 6 receives the request for encoded point cloud data and selection information d12 from the client device 4.

[0161] In step S92, the encoding device 1 of the server device 6 encodes the point cloud data d11 with reference to the selection information d12, thereby obtaining encoded point cloud data d18.

[0162] In step S93, the server device 6 transmits the encoded point cloud data d18 to the client device 4. The client device 4 receives the encoded point cloud data d18 from the server device 6 as encoded point cloud data d28.

[0163] In step S94, the decoding device 2 of the client device 4 decodes the encoded point cloud data d28 with reference to the selection information d22, thereby obtaining selected point cloud data d23.

[0164] According to the information processing system 3 of the fourth embodiment, it is possible to reduce the processing load of encoding on the server device 6 and decoding on the client device 4, and also reduce the load on the network 5. In addition, it is possible to cause the server device 6 to execute the encoding process using the selection information d12 prepared on the client device 4 side, thereby increasing the flexibility of attribute selection.

[0165] 3.5 Fifth Embodiment of Information Processing System Fig. 35 is a diagram showing an example of a schematic configuration of an information processing system 3. The decoding device 2 is arranged in a client device 4. The encoding device 1, the point cloud data d11, the selection information d12, and the selection information d22 are arranged in a server device 6.

[0166] The client device 4 requests encoded point cloud data d28 from the server device 6. The server device 6 encodes the point cloud data d11 using the encoding device 1. As a result, encoded point cloud data d18 is obtained. The server device 6 transmits the encoded point cloud data d18 to the client device 4 as the requested encoded point cloud data d28, and also transmits selection information d22 to the client device 4. The client device 4 decodes the encoded point cloud data d28 using the decoding device 2 while referring to the selection information d22.

[0167] FIG. 36 is a diagram showing an example of a process (information processing method) executed in the information processing system 3.

[0168] In step S101, the client device 4 transmits a request for decoded point cloud data to the server device 6. The server device 6 receives the request for decoded point cloud data from the client device 4.

[0169] In step S102, the encoding device 1 of the server device 6 encodes the point cloud data d11 with reference to the selection information d12, thereby obtaining encoded point cloud data d18.

[0170] In step S103, the server device 6 transmits the selection information d22 and the encoded point cloud data d18 to the client device 4. The client device 4 receives the selection information d22 and the encoded point cloud data d18 from the server device 6 as the selection information d22 and the encoded point cloud data d28.

[0171] In step S104, the decoding device 2 of the client device 4 decodes the encoded point cloud data d28 with reference to the selection information d22, thereby obtaining selected point cloud data d23.

[0172] According to the information processing system 3 of the fifth embodiment, it is possible to reduce the processing load of encoding on the server device 6 and decoding on the client device 4, and also reduce the processing load on the network 5. In addition, it is possible to cause the client device 4 to execute the decoding process using the selection information d22 prepared on the server device 6 side, thereby increasing the flexibility of attribute selection.

[0173] 37 is a diagram showing an example of a hardware configuration of an apparatus. The encoding apparatus 1, decoding apparatus 2, client apparatus 4, or server apparatus 6 described above can be realized by, for example, a computer 1000 shown in FIG.

[0174] The computer 1000 includes a CPU 1100, a RAM 1200, a ROM (Read Only Memory) 1300, a HDD (Hard Disk Drive) 1400, a communication interface 1500, and an input / output interface 1600. The components of the computer 1000 are connected to each other via a bus 1050.

[0175] The CPU 1100 operates based on programs stored in the ROM 1300 or the HDD 1400 and controls each component. For example, the CPU 1100 loads the programs stored in the ROM 1300 or the HDD 1400 into the RAM 1200 and executes processing corresponding to the various programs. Examples of the programs include the previously described program 110 (FIG. 1) and program 210 (FIGS. 10 and 19).

[0176] The ROM 1300 stores boot programs such as a Basic Input Output System (BIOS) executed by the CPU 1100 when the computer 1000 is started, and programs that depend on the hardware of the computer 1000 .

[0177] HDD 1400 is a computer-readable recording medium that non-temporarily records programs executed by CPU 1100 and data used by such programs. Specifically, HDD 1400 is a recording medium that records programs for the encoding method, decoding method, and information processing method according to the present disclosure, which are examples of program data 1450.

[0178] The communication interface 1500 is an interface for connecting the computer 1000 to an external network 1550 (e.g., the Internet). For example, the CPU 1100 receives data from other devices and transmits data generated by the CPU 1100 to other devices via the communication interface 1500.

[0179] The input / output interface 1600 is an interface for connecting the input / output device 1650 and the computer 1000. For example, the CPU receives data from input devices such as a keyboard or a mouse via the input / output interface 1600. The CPU 1100 also transmits data to output devices such as a display, a speaker, or a printer via the input / output interface 1600. The input / output interface 1600 may also function as a media interface for reading programs and the like recorded on a predetermined computer-readable recording medium. Examples of the medium include optical recording media such as a DVD (Digital Versatile Disc) or a PD (Phase Change Rewritable Disc), magneto-optical recording media such as an MO (Magneto-Optical Disc), tape media, magnetic recording media, or semiconductor memory.

[0180] When computer 1000 functions as the various devices described above, CPU 1100 of computer 1000 realizes those functions by executing programs loaded onto RAM 1200. The programs may be stored in HDD 1400. CPU 1100 reads and executes program data 1450 from HDD 1400, but as another example, CPU 1100 may obtain the program from another device via external network 1550.

[0181] Each of the above components may be configured using general-purpose materials or may be configured using hardware specialized for the function of each component. Such configurations may be changed as appropriate depending on the technical level at the time of implementation.

[0182] 5. Summary The techniques described above can be specified, for example, as follows. One of the techniques disclosed is an encoding method. As described with reference to FIGS. 1 to 9 , etc., the encoding method includes acquiring point cloud data d11 that can be separated into a plurality of attribute data d112, each having a different attribute A (step S11), selecting some of the attribute data d112 from the plurality of attribute data d112 (step S12), and encoding the selected attribute data d112 from the plurality of attribute data d112 (step S13).

[0183] According to the encoding method described above, only a portion of the attribute data d112 is selected and encoded from among the plurality of attribute data d112, which reduces the processing load compared to when such selection is not performed.

[0184] As described with reference to Figures 1, 2, 7, and 9, the point cloud data d11 can be separated into geometry data d111 and multiple pieces of attribute data d112, and the encoding (step S13) may include encoding the geometry data d111 and selected attribute data d112. The encoding may include G-PCC. For example, a technique for encoding point cloud data d11 that can be separated into position and attribute data in this manner can reduce the processing load.

[0185] 1, 3 to 5, 7, and 8, selecting attribute data d112 (step S12) may include referencing selection information d22 that describes the attribute A to be selected (step S121) and selecting attribute data d112 that has the attribute A to be selected from the plurality of attribute data d112 (step S123: Yes, step S124). For example, desired attribute data d112 can be selected in this manner.

[0186] The decoding method described with reference to Figures 10 to 26 etc. is also one of the disclosed techniques. The decoding method includes acquiring encoded point cloud data d28, which is data obtained by encoding point cloud data d21 that can be separated into multiple attribute data d212, each having a different attribute A (steps S21 and S31), selecting some attribute data d212 from the multiple attribute data d212 (steps S22 and S33), and decoding the encoded point cloud data d28 so as to obtain point cloud data (selected point cloud data d23) including the selected attribute data d212 from the multiple attribute data d212 (steps S22, S23, S32, and S33).

[0187] According to the above-described decoding method, only a portion of the attribute data d212 is selected and decoded from among the plurality of attribute data d212, which reduces the processing load compared to when such selection is not performed.

[0188] 1 to 12, 16 to 22, etc., the point cloud data d21 can be separated into geometry data d211 and multiple pieces of attribute data d212, and the decoding (steps S22, S23, S32, and S33) may include decoding the encoded point cloud data d28 so as to obtain point cloud data (selected point cloud data d23) including the geometry data d211 and the selected attribute data d212. For example, a technique for decoding encoded point cloud data d28 derived from point cloud data d21 that can be separated into position and attribute data in this manner can reduce the processing load.

[0189] 10 to 18, etc., the decoding (steps S22 and S23) may include decoding selected attribute data d212 from the plurality of attribute data d212. This reduces the processing load compared to when all of the plurality of attribute data d212 is decoded.

[0190] 19 to 23, etc., the decoding (steps S32 and S33) may include decoding the plurality of attribute data d212 and including in the point cloud data (selected point cloud data d23) the attribute data d212 selected from the decoded plurality of attribute data d212. This makes it possible to reduce the data size of the point cloud data compared to when all of the plurality of attribute data d212 are included in the point cloud data.

[0191] 10, 12 to 17, 19 to 21, 23, etc., the selection (steps S22, S33) may include referencing selection information d22 describing the attribute A of the selection target (steps S222, S331) and selecting attribute data d212 having the attribute A of the selection target from among the plurality of attribute data d212 (step S224: Yes, step S225, step S333: Yes, step S334). For example, desired attribute data d212 can be selected in this manner.

[0192] As described with reference to Figures 24 and 25, the decoding method may include acquiring selection information d22 from the encoded point cloud data d28 (steps S41 to S43, step S51). For example, acquiring the selection information d22 (steps S41 to S43) may include identifying a selectable attribute A based on a header portion of the encoded point cloud data (steps S41 and S42) and generating selection information d22 based on the identification result (step S43). Alternatively, acquiring the selection information d22 (step S51) may include acquiring the selection information d22 from a user data payload of the encoded point cloud data d28. In this way, the selection information d22 can be dynamically acquired in accordance with the encoded point cloud data d28.

[0193] The information processing system 3 described with reference to Figures 27 to 36 is also one of the disclosed technologies. The information processing system 3 includes a client device 4 and a server device 6 that communicate with each other via a network 5; an encoding device 1 located in one of the client device 4 and the server device 6, which encodes point cloud data d11 that can be separated into multiple attribute data d112, each of which has a different attribute A; and a decoding device 2 located in one of the client device 4 and the server device 6, which decodes encoded point cloud data d18, i.e., encoded point cloud data d28, which is point cloud data encoded using the encoding device 1. The encoding device 1 selects some attribute data d112 from the multiple attribute data d112 and encodes the selected attribute data d112. This information processing system 3 can also reduce the processing load, as described above.

[0194] The decoding device 2 may select some of the attribute data d212 from the plurality of attribute data d212, and decode the encoded point cloud data d28 so as to obtain point cloud data (selected point cloud data d23) including the selected attribute data d212 from the plurality of attribute data d212. This can further enhance the effect of reducing the processing load.

[0195] 27 to 30 , the encoding device 1 is arranged in the server device 6, and the decoding device 2 is arranged in the client device 4. The client device 4 may request the encoded point cloud data d28 from the server device 6, the server device 6 may encode the point cloud data d11 using the encoding device 1, and transmit (the obtained encoded point cloud data d18) to the client device 4 as the requested encoded point cloud data d28. The client device 4 may then decode the encoded point cloud data d28 using the decoding device 2. In this case, the processing load of the encoding on the server device 6 and the encoding on the client device 4 can be reduced. Furthermore, because the encoded point cloud data d28 that has been encoded with attribute selection is transmitted, the processing load on the network 5 can also be reduced compared to when such selection is not performed.

[0196] As described with reference to Figures 31 and 32, the encoding device 1 and the decoding device 2 may be arranged on a server device 6, the server device 6 may encode the point cloud data d11 using the encoding device 1, the client device 4 may request the point cloud data d21 from the server device 6, the server device 6 may decode the encoded point cloud data d11 (i.e., the encoded point cloud data d18 and therefore the encoded point cloud data d28) using the decoding device 2, and may transmit (the obtained point cloud data d21) to the client device 4 as the requested point cloud data d21. In this case, the processing load of encoding and decoding on the server device 6 can be reduced. Furthermore, since the server device 6 only needs to store the decoded point cloud data d11, it is possible to reduce the storage capacity and the processing related to storage.

[0197] As described with reference to Figures 33 and 34, the encoding device 1 is arranged on the server device 6, and the decoding device 2 is arranged on the client device 4. The client device 4 requests the server device 6 for encoded point cloud data d28 and transmits selection information d12 describing the attribute A to be selected to the server device 6. The server device 6 encodes the point cloud data d11 using the encoding device 1 while referring to the selection information d12, and transmits (the obtained encoded point cloud data d18) to the client device 4 as the requested encoded point cloud data d28. The client device 4 may then decode the encoded point cloud data d28 using the decoding device 2. This also reduces the processing load of the encoding on the server device 6 and the decoding on the client device 4, and also reduces the processing load on the network 5. In addition, the server device 6 can be caused to perform the encoding process using the selection information d12 prepared on the client device 4 side. This increases the flexibility of attribute selection.

[0198] As described with reference to Figures 35 and 36, the encoding device 1 is arranged on the server device 6, and the decoding device 2 is arranged on the client device 4. The client device 4 requests the encoded point cloud data d28 from the server device 6. The server device 6 encodes the point cloud data d11 using the encoding device 1 and transmits the (obtained encoded point cloud data d18) as the requested encoded point cloud data d28 to the client device 4, while also transmitting selection information d22 describing the attribute A to be selected to the client device 4. The client device 4 may then decode the encoded point cloud data d28 using the decoding device 2 while referring to the selection information d22. This also reduces the processing load of the encoding on the server device 6 and the decoding on the client device 4, and also reduces the processing load on the network 5. In addition, the selection information d22 prepared on the server device 6 can be used to cause the client device 4 to perform the decoding process. This increases the flexibility of attribute selection.

[0199] The effects described in this disclosure are merely examples and are not limited to the disclosed contents. Other effects may also be obtained.

[0200] Although the embodiments of the present disclosure have been described above, the technical scope of the present disclosure is not limited to the above-described embodiments, and various modifications are possible within the scope of the gist of the present disclosure. Furthermore, components of different embodiments and modifications may be combined as appropriate.

[0201] Note that the present technology can also be configured as follows. (1) An encoding method including: acquiring point cloud data separable into multiple attribute data each having a different attribute; selecting some attribute data from the multiple attribute data; and encoding the selected attribute data from the multiple attribute data. (2) The encoding method according to (1), in which the point cloud data is separable into geometry data and the multiple attribute data, and the encoding includes encoding the geometry data and the selected attribute data. (3) The encoding method according to (1) or (2), in which selecting the attribute data includes referencing selection information describing an attribute to be selected, and selecting attribute data having the attribute to be selected from the multiple attribute data. (4) The encoding method according to any of (1) to (3), in which the encoding includes G-PCC. (5) A decoding method comprising: acquiring encoded point cloud data, the encoded point cloud data being data obtained by encoding point cloud data separable into multiple attribute data each having a different attribute; selecting some attribute data from the multiple attribute data; and decoding the encoded point cloud data to obtain point cloud data including the selected attribute data from the multiple attribute data. (6) The decoding method according to (5), wherein the point cloud data is separable into geometry data and the multiple attribute data, and the decoding comprises decoding the encoded point cloud data to obtain point cloud data including the geometry data and the selected attribute data. (7) The decoding method according to (5) or (6), wherein the decoding comprises decoding the selected attribute data from the multiple attribute data. (8) The decoding method according to (5) or (6), wherein the decoding comprises decoding the multiple attribute data and including the selected attribute data from the decoded multiple attribute data in the point cloud data.(9) The decoding method according to any one of (5) to (8), wherein the selecting includes: referencing selection information describing an attribute to be selected; and selecting attribute data having the attribute to be selected from the plurality of attribute data. (10) The decoding method according to (9), wherein the selecting includes obtaining the selection information from the encoded point cloud data. (11) The decoding method according to (10), wherein the obtaining the selection information includes: identifying selectable attributes based on a header portion of the encoded point cloud data; and generating the selection information based on the identification result. (12) The decoding method according to (10), wherein the obtaining the selection information includes obtaining the selection information from a user data payload of the encoded point cloud data. (13) An information processing system comprising: a client device and a server device communicating with each other via a network, an encoding device disposed in one of the client device or the server device and encoding point cloud data separable into a plurality of attribute data each having a different attribute, and a decoding device disposed in one of the client device or the server device and decoding encoded point cloud data that is the point cloud data encoded using the encoding device, wherein the encoding device selects some attribute data from the plurality of attribute data and encodes the selected attribute data. (14) The information processing system according to (13), wherein the decoding device selects some attribute data from the plurality of attribute data and decodes the encoded point cloud data to obtain point cloud data including the selected attribute data from the plurality of attribute data. (15) The information processing system according to (13) or (14), wherein the encoding device is disposed in the server device, the decoding device is disposed in the client device, the client device requests the encoded point cloud data from the server device, the server device encodes the point cloud data using the encoding device and transmits it to the client device as the requested encoded point cloud data, and the client device decodes the encoded point cloud data using the decoding device.(16) The information processing system according to (13) or (14), wherein the encoding device and the decoding device are arranged on the server device, the server device encodes the point cloud data using the encoding device, the client device requests the point cloud data from the server device, the server device decodes the encoded point cloud data using the decoding device and transmits the decoded point cloud data to the client device as the requested point cloud data. (17) The information processing system according to (13) or (14), wherein the encoding device is arranged on the server device, the decoding device is arranged on the client device, the client device requests the encoded point cloud data from the server device and transmits selection information describing attributes of a selection target to the server device, the server device encodes the point cloud data using the encoding device while referring to the selection information and transmits it to the client device as the requested encoded point cloud data, and the client device decodes the encoded point cloud data using the decoding device. (18) The information processing system according to (13) or (14), wherein the encoding device is disposed in the server device, the decoding device is disposed in the client device, the client device requests the encoded point cloud data from the server device, the server device encodes the point cloud data using the encoding device and transmits it to the client device as the requested encoded point cloud data, and also transmits selection information describing attributes of the selection target to the client device, and the client device decodes the encoded point cloud data using the decoding device while referring to the selection information.

[0202] REFERENCE SIGNS LIST 1 Encoding device 10 Selection unit 11 Storage unit 110 Program 12 Acquisition unit 13 Preprocessing unit 14 Encoding unit 141 Spatial quantization unit 142 Octree encoding unit 143 Attribute data conversion unit 144 Arithmetic encoding unit 145 Syntax encoding unit 2 Decoding device 20 Selection unit 21 Storage unit 210 Program 22 Acquisition unit 24 Decoding unit 241 Spatial inverse quantization unit 242 Octree decoding unit 243 Attribute data inverse conversion unit 244 Arithmetic decoding unit 245 Syntax decoding unit 3 Information processing system 4 Client device 5 Network 6 Server device A Attribute d11 Point cloud data d111 Geometry data d112 Attribute data d12 Selection information d13 Selected point cloud data d14 Spatial quantization data d15 Octree data d16 Selected attribute data d17 Arithmetically coded data d18 Encoded point cloud data d21 Point cloud data d211 Geometry data d212 Attribute data d22 Selection information d23 Selected point cloud data d24 Spatial quantization data d25 Octree data d26 Selected attribute data d27 Arithmetically coded data d271 Arithmetically coded geometry data d272 Arithmetically coded attribute data d28 Encoded point cloud data

Claims

1. An encoding method comprising: acquiring point cloud data that can be separated into a plurality of attribute data, each of which has a different attribute; selecting a portion of the attribute data from the plurality of attribute data; and encoding the selected attribute data from the plurality of attribute data.

2. The encoding method according to claim 1, wherein the point cloud data is separable into geometry data and the plurality of attribute data, and the encoding step includes encoding the geometry data and the selected attribute data.

3. The encoding method of claim 1, wherein selecting the attribute data includes: referencing selection information describing the attribute to be selected; and selecting attribute data having the attribute to be selected from the plurality of attribute data.

4. The encoding method of claim 1, wherein the encoding includes G-PCC.

5. A decoding method comprising: acquiring encoded point cloud data, which is data obtained by encoding point cloud data that can be separated into multiple attribute data, each of which has a different attribute; selecting some attribute data from the multiple attribute data; and decoding the encoded point cloud data so as to obtain point cloud data that includes the selected attribute data from the multiple attribute data.

6. The decoding method according to claim 5, wherein the point cloud data is separable into geometry data and the plurality of attribute data, and the decoding step includes decoding the encoded point cloud data so as to obtain point cloud data including the geometry data and the selected attribute data.

7. The decoding method according to claim 5, wherein said decoding includes decoding said selected attribute data from said plurality of attribute data.

8. The decoding method according to claim 5, wherein the decoding comprises: decoding the plurality of attribute data; and including the selected attribute data from the decoded plurality of attribute data in the point cloud data.

9. The decoding method according to claim 5, wherein the selecting step includes: referencing selection information describing an attribute of the selection target; and selecting attribute data having the attribute of the selection target from the plurality of attribute data.

10. The decoding method according to claim 9, further comprising obtaining the selection information from the encoded point cloud data.

11. The decoding method of claim 10, wherein obtaining the selection information includes: identifying selectable attributes based on a header portion of the encoded point cloud data; and generating the selection information based on the identification result.

12. The decoding method of claim 10, wherein obtaining the selection information includes obtaining the selection information from a user data payload of the encoded point cloud data.

13. An information processing system comprising: a client device and a server device which communicate with each other via a network; an encoding device located in one of the client device or the server device and which encodes point cloud data which can be separated into multiple attribute data each having different attributes; and a decoding device located in one of the client device or the server device and which decodes encoded point cloud data which is the point cloud data encoded using the encoding device, wherein the encoding device selects some attribute data from the multiple attribute data and encodes the selected attribute data.

14. The information processing system according to claim 13, wherein the decoding device selects some attribute data from the plurality of attribute data, and decodes the encoded point cloud data so as to obtain point cloud data including the selected attribute data from the plurality of attribute data.

15. The information processing system of claim 13, wherein the encoding device is disposed in the server device, the decoding device is disposed in the client device, the client device requests the encoded point cloud data from the server device, the server device encodes the point cloud data using the encoding device and transmits it to the client device as the requested encoded point cloud data, and the client device decodes the encoded point cloud data using the decoding device.

16. The information processing system according to claim 13, wherein the encoding device and the decoding device are arranged on the server device, the server device encodes the point cloud data using the encoding device, the client device requests the point cloud data from the server device, and the server device decodes the encoded point cloud data using the decoding device and transmits it to the client device as the requested point cloud data.

17. The information processing system described in claim 13, wherein the encoding device is arranged on the server device, the decoding device is arranged on the client device, the client device requests the encoded point cloud data from the server device and transmits selection information describing attributes of the selection target to the server device, the server device encodes the point cloud data using the encoding device while referring to the selection information and transmits it to the client device as the requested encoded point cloud data, and the client device decodes the encoded point cloud data using the decoding device.

18. The information processing system of claim 13, wherein the encoding device is disposed on the server device, the decoding device is disposed on the client device, the client device requests the encoded point cloud data from the server device, the server device encodes the point cloud data using the encoding device and transmits it to the client device as the requested encoded point cloud data, and also transmits selection information describing attributes of the selection target to the client device, and the client device decodes the encoded point cloud data using the decoding device while referring to the selection information.

Citation Information

Patent Citations

  • Device for transmitting point cloud data, method for transmitting point cloud data, device for receiving point cloud data, and method for receiving point cloud data

    US20230171431A1

  • Information processing device, information processing method, and program

    WO2020071111A1

  • Image processing device and method

    WO2022075078A1