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

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

Info

Publication number
WO2020175708A1
WO2020175708A1 PCT/JP2020/008540 JP2020008540W WO2020175708A1 WO 2020175708 A1 WO2020175708 A1 WO 2020175708A1 JP 2020008540 W JP2020008540 W JP 2020008540W WO 2020175708 A1 WO2020175708 A1 WO 2020175708A1
Authority
WO
WIPO (PCT)
Prior art keywords
dimensional
dimensional data
point
points
information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
PCT/JP2020/008540
Other languages
English (en)
French (fr)
Inventor
敏康 杉尾
賀敬 井口
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Intellectual Property Corp of America
Original Assignee
Panasonic Intellectual Property Corp of America
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Panasonic Intellectual Property Corp of America filed Critical Panasonic Intellectual Property Corp of America
Priority to CN202080016358.7A priority Critical patent/CN113474821B/zh
Priority to CN202510372317.6A priority patent/CN120223904A/zh
Priority to JP2021502671A priority patent/JP7448517B2/ja
Priority to CN202510372321.2A priority patent/CN120223905A/zh
Publication of WO2020175708A1 publication Critical patent/WO2020175708A1/ja
Priority to US17/403,113 priority patent/US12073591B2/en
Anticipated expiration legal-status Critical
Priority to JP2024030467A priority patent/JP7651748B2/ja
Priority to US18/776,497 priority patent/US20240371045A1/en
Priority to JP2025040561A priority patent/JP2025085721A/ja
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/001Model-based coding, e.g. wire frame
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • H04N19/33Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability in the spatial domain
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques

Definitions

  • Three-dimensional data encoding method three-dimensional data decoding method, three-dimensional data encoding device, and three-dimensional data decoding device
  • the present disclosure relates to a three-dimensional data encoding method, a three-dimensional data decoding method, a three-dimensional data encoding device, and a three-dimensional data decoding device.
  • a representation method called a point cloud that represents the shape of a three-dimensional structure by a point cloud in a three-dimensional space.
  • the point cloud stores the position and color of the point cloud. It is expected that point clouds will become the main method of representing 3D data, but the amount of data for point clouds is very large. Therefore, in the storage or transmission of 3D data, as in the case of 2D moving images (for example, MPEG standardized by MPEG-480 or 1 to 1M, etc.) A certain amount of compression is essential.
  • Patent Document 1 International Publication No. 2 0 1 4/0 2 0 6 6 3
  • An object of the present disclosure is to provide a three-dimensional data encoding method, a three-dimensional data decoding method, a three-dimensional data encoding device, or a three-dimensional data decoding device that can improve encoding efficiency. ..
  • a three-dimensional data encoding method is a three-dimensional data encoding method for encoding a plurality of three-dimensional points, wherein among the plurality of three-dimensional points, a first cubic From the 2nd 3D points around the original point, 1 ⁇ 1 2nd 3D points are ordered in order of decreasing distance to the 1st 3D point, and the attribute information of the 1st 3D point is predicted.
  • the value is selected as a candidate for calculating the value, a predicted value is calculated using the attribute information of the ! ⁇ 1 second 3D points selected as the candidate, and the attribute information of the first 3D point, A prediction residual that is a difference from the calculated prediction value is calculated, a bit stream including the prediction residual is generated, and in the selection of the candidate, the second residual in the plurality of second three-dimensional points is selected. If the distance between the 1 three-dimensional point there are a plurality of third three-dimensional point equal, the third three-dimensional point of the multiple prioritized based on the first mode _ Tonko _ de of the first three-dimensional point Select the candidate.
  • a three-dimensional data decoding method is a three-dimensional data decoding method for decoding a plurality of three-dimensional points, wherein the plurality of three-dimensional points are obtained by acquiring a bit stream.
  • the prediction residual of the first three-dimensional point is selected as a candidate for calculating the predicted value of the attribute information of the 1st 3D point in the order of decreasing distance to the 3D point, and the 2nd 3D point is selected as the candidate.
  • the attribute information of the first 3D point is calculated. ⁇ 2020/175708 3 ⁇ (: 171-1? 2020 /008540
  • the first third The candidates are selected from the plurality of third three-dimensional points in order of priority based on the first Morton code of the dimension points.
  • the present disclosure can provide a three-dimensional data encoding method, a three-dimensional data decoding method, a three-dimensional data encoding device, or a three-dimensional data decoding device that can improve encoding efficiency.
  • FIG. 1 is a diagram showing a configuration of encoded three-dimensional data according to the first embodiment.
  • FIG. 2 is a diagram illustrating an _ example of a prediction structure between 3 ⁇ belonging to the lowermost layer of the ⁇ 3 according to the first embodiment.
  • FIG. 3 is a diagram showing an example of a prediction structure between layers according to the first embodiment.
  • FIG. 7 is a flowchart of the encoding process according to the first embodiment.
  • FIG. 8 is a block diagram of a three-dimensional data decoding device according to the first embodiment.
  • FIG. 9 is a flowchart of the decoding process according to the first embodiment.
  • FIG. 10 is a diagram showing an example of meta information according to the first embodiment. 20/175708 4 ⁇ (: 171? 2020 /008540
  • FIG. 11 is a diagram showing an example of the configuration of 30 according to the second embodiment.
  • FIG. 12 is a diagram showing an operation example of a server and a client according to the second embodiment.
  • FIG. 13 is a diagram showing an operation example of a server and a client according to the second embodiment.
  • FIG. 14 is a diagram showing an operation example of a server and a client according to the second embodiment.
  • FIG. 15 is a diagram showing an operation example of a server and a client according to the second embodiment.
  • FIG. 16 is a block diagram of a three-dimensional data encoding device according to a second embodiment.
  • FIG. 19 is a flowchart of a decoding process according to the second embodiment.
  • FIG. 20 shows an embodiment. It is a figure which shows the structural example.
  • FIG. 21 is a diagram showing an example of an octree structure of the ⁇ ZV LD according to the second embodiment.
  • FIG. 22 is a diagram showing a configuration example of 30 according to the second embodiment.
  • Fig. 23 shows an embodiment
  • FIG. 25 is a block diagram of a three-dimensional data transmission apparatus according to the third embodiment.
  • FIG. 26 is a block diagram of a three-dimensional information processing apparatus according to the fourth embodiment.
  • FIG. 28 is a diagram showing a configuration of a system according to a sixth embodiment.
  • FIG. 29 is a block diagram of a client apparatus according to the sixth embodiment.
  • FIG. 30 is a block diagram of a server according to the sixth embodiment.
  • FIG. 31 is a flowchart of the three-dimensional data creation processing by the client device according to the sixth embodiment.
  • FIG. 32 is a flowchart of sensor information transmission processing by the client device according to the sixth embodiment.
  • FIG. 33 is a flowchart of the three-dimensional data creation processing by the server according to the sixth embodiment.
  • FIG. 35 is a diagram showing a configuration of a modified example of the system according to the sixth embodiment.
  • FIG. 36 is a diagram showing configurations of a server and a client device according to the sixth embodiment.
  • FIG. 37 is a block diagram of a three-dimensional data encoding device according to a seventh embodiment.
  • FIG. 38 is a diagram showing an example of a prediction residual according to the seventh embodiment.
  • FIG. 39 is a diagram showing an example of a volume according to the seventh embodiment.
  • FIG. 40 is a diagram showing an example of an octree tree representation of a volume according to the seventh embodiment.
  • FIG. 41 is a diagram showing an example of a bit string of a volume according to the seventh embodiment.
  • FIG. 42 is a diagram showing an example of an octree tree representation of a volume according to the seventh embodiment.
  • FIG. 43 is a diagram showing an example of a volume according to the seventh embodiment. ⁇ 2020/175708 6 ⁇ (: 171-1? 2020/008540
  • FIG. 45 is a diagram for explaining the rotation and translation processing according to the seventh embodiment.
  • FIG. 46 is a diagram showing an example of the syntax of the Ding application flag and Ding information according to the seventh embodiment.
  • FIG. 48 is a block diagram of a three-dimensional data decoding device according to a seventh embodiment.
  • FIG. 49 is a flowchart of the three-dimensional data encoding process by the three-dimensional data encoding device according to the seventh embodiment.
  • FIG. 50 is a flow chart of a three-dimensional data decoding process by the three-dimensional data decoding device according to the seventh embodiment.
  • FIG. 51 is a diagram showing an example of a three-dimensional point according to the eighth embodiment.
  • FIG. 52 is a diagram showing an example of setting !_ ⁇ mouth according to the eighth embodiment.
  • FIG. 54 is a diagram showing an example of attribute information used for a prediction value according to the eighth embodiment.
  • FIG. 55 is a diagram showing an example of an exponential Golomb code according to the eighth embodiment.
  • FIG. 56 is a diagram showing a process for an exponential Golomb code according to the eighth embodiment.
  • FIG. 57 is a diagram showing a syntax example of an attribute header according to the eighth embodiment.
  • FIG. 58 is a diagram showing a syntax example of attribute data according to the eighth embodiment. 20/175708 7 ⁇ (: 171? 2020 /008540
  • FIG. 59 is a flowchart of the three-dimensional data encoding process according to the eighth embodiment.
  • FIG. 60 is a flowchart of the attribute information encoding process according to the eighth embodiment.
  • FIG. 61 is a diagram showing a process for an exponential Golomb code according to the eighth embodiment.
  • FIG. 62 is a diagram showing an example of a reverse lookup table showing the relationship between the remaining codes and their values according to the eighth embodiment.
  • FIG. 63 is a flowchart of the three-dimensional data decoding process according to the eighth embodiment.
  • FIG. 64 is a flowchart of the attribute information decoding process according to the eighth embodiment.
  • FIG. 65 is a block diagram of a three-dimensional data encoding device according to an eighth embodiment.
  • FIG. 66 is a block diagram of a three-dimensional data decoding device according to the eighth embodiment.
  • FIG. 67 is a flowchart of the three-dimensional data encoding process according to the eighth embodiment.
  • FIG. 68 is a flowchart of the three-dimensional data decoding process according to the eighth embodiment.
  • FIG. 6-9 is a diagram showing a first example of te _ table showing the predicted value calculated in each prediction mode according to the ninth embodiment.
  • FIG. 70 is a diagram showing an example of attribute information used for a prediction value according to the ninth embodiment.
  • FIG. 71 is a diagram showing a second example of a table showing prediction values calculated in each prediction mode according to the ninth embodiment.
  • FIG. 72 is a diagram showing a third example of a table showing prediction values calculated in each prediction mode according to the ninth embodiment. ⁇ 2020/175 708 8 ⁇ (: 171? 2020 /008540
  • FIG. 73 is a diagram showing a fourth example of a table showing prediction values calculated in each prediction mode according to the ninth embodiment.
  • FIG. 74 is a diagram showing an example of the reference relationship according to the tenth embodiment.
  • FIG. 75 is a diagram showing an example of reference relationships according to the tenth embodiment.
  • FIG. 76 is a diagram showing an example of setting the number of searches for each !_ ⁇ mouth according to the first embodiment.
  • FIG. 77 is a diagram showing an example of a reference relationship according to the tenth embodiment.
  • FIG. 78 is a diagram showing an example of a reference relationship according to the tenth embodiment.
  • FIG. 79 is a diagram showing an example of reference relationships according to the tenth embodiment.
  • FIG. 80 is a diagram showing a syntax example of the attribute information header according to the first embodiment.
  • FIG. 81 is a diagram showing a syntax example of the attribute information header according to the first embodiment.
  • FIG. 82 is a flowchart of the three-dimensional data encoding process according to the tenth embodiment.
  • FIG. 83 is a flowchart of the attribute information encoding process according to the tenth embodiment.
  • FIG. 84 is a flowchart of the three-dimensional data decoding process according to the tenth embodiment.
  • FIG. 85 is a flowchart of the attribute information decoding process according to the tenth embodiment.
  • FIG. 86 is a flowchart of peripheral point search processing according to the tenth embodiment.
  • FIG. 87 is a flowchart of surrounding point search processing according to the tenth embodiment.
  • FIG. 88 is a flowchart of peripheral point search processing according to the tenth embodiment.
  • FIG. 89 shows a flowchart of the three-dimensional data encoding process according to the first embodiment. 20/175708 9 ⁇ (: 171? 2020 /008540
  • FIG. 91 is a diagram for explaining a method of selecting 1 ⁇ 1 three-dimensional point according to the embodiment 11.
  • FIG. 92 is a diagram showing an example of the bounding box of the group ⁇ according to the embodiment 11.
  • FIG. 93 shows that 1 ⁇ 1 3D point candidates are selected when the first 3D point and the plurality of second 3D points according to Embodiment 11 belong to the same group. It is a figure for explaining the processing to do.
  • Fig. 94 1 ⁇ 1 3D point candidates are selected when the first 3D point and the plurality of second 3D points according to the embodiment 11 belong to different groups. It is a figure for demonstrating a process.
  • FIG. 95 is a diagram for explaining a process of selecting a 3D point candidate from a plurality of second tertiary element points belonging to different layers according to the embodiment 11.
  • FIG. 96 is a diagram for explaining a process of selecting or updating a three-dimensional point candidate from groups before and after the initial group according to the embodiment 11.
  • FIG. 97 is a diagram for explaining an example in which a group having a small bounding box according to Embodiment 11 is prioritized.
  • FIG. 98 is a flowchart of the three-dimensional data encoding process by the three-dimensional data encoding device according to the eleventh embodiment.
  • FIG. 99 is a flowchart of the attribute information encoding process according to the embodiment 11.
  • FIG. 100 is a flow chart of the three-dimensional data decoding process by the three-dimensional data decoding device according to the eleventh embodiment.
  • FIG. 101 is a flowchart of attribute information decoding processing according to the embodiment 11.
  • FIG. 102 is a flowchart of peripheral point search processing according to the first embodiment. ⁇ 2020/175708 10 ⁇ (: 171-1? 2020/008540
  • FIG. 103 is a flowchart of peripheral point search processing according to the embodiment 11.
  • FIG. 104 is a block diagram showing a configuration of an attribute information encoding unit included in the three-dimensional data encoding device according to the first embodiment.
  • FIG. 105 is a block diagram showing a configuration of an attribute information decoding unit included in the three-dimensional data decoding device according to the first embodiment.
  • FIG. 106 is a flow chart of the three-dimensional data encoding process according to the embodiment 11.
  • FIG. 107 is a flowchart of the three-dimensional data decoding process according to the embodiment 11.
  • a three-dimensional data encoding method is a three-dimensional data encoding method that encodes a plurality of three-dimensional points, wherein among the plurality of three-dimensional points, a first cubic From the 2nd 3D points around the original point, 1 ⁇ 1 2nd 3D points are ordered in order of decreasing distance to the 1st 3D point, and the attribute information of the 1st 3D point is predicted.
  • the value is selected as a candidate for calculating the value, a predicted value is calculated using the attribute information of the ! ⁇ 1 second 3D points selected as the candidate, and the attribute information of the first 3D point, A prediction residual that is a difference from the calculated prediction value is calculated, a bit stream including the prediction residual is generated, and in the selection of the candidate, the second residual in the plurality of second three-dimensional points is selected. If the distance between the 1 three-dimensional point there are a plurality of third three-dimensional point equal, the third three-dimensional point of the multiple prioritized based on the first mode _ Tonko _ de of the first three-dimensional point Select the candidate.
  • the second three-dimensional point close to the first three-dimensional point to be encoded can be selected as a candidate to be used for calculating the prediction value, and thus the encoding efficiency can be improved. ..
  • the priority order is an order defined by Morton codes of the plurality of third three-dimensional points, and has a Morton code close to the first Morton code. ⁇ 2020/175 708 1 1 ⁇ (: 171? 2020 /008540
  • the priority order includes a plurality of Morton codes smaller than a second Morton code of a fourth three-dimensional point having a Morton code close to the first Morton code among the plurality of third three-dimensional points.
  • one of the candidates is alternately selected from a first group including a third three-dimensional point and a second group including a plurality of third three-dimensional points having a Morton code larger than the second Morton code.
  • the order of the third three-dimensional points close to the second Morton code may be used.
  • the priority order includes a first group including a plurality of third three-dimensional points having a Morton code smaller than the first Morton code, and a plurality of Morton codes having a larger Morton code than the first Morton code.
  • a sequence defined by the Morton code of a plurality of third three-dimensional points belonging to _ towards the second group including a third three-dimensional point in the order of the third three-dimensional point closer to the first Morton code It may be.
  • the first three-dimensional point and the plurality of third three-dimensional points may belong to the same hierarchy.
  • a three-dimensional data decoding method is a three-dimensional data decoding method of decoding a plurality of three-dimensional points, wherein a plurality of three-dimensional points of the plurality of three-dimensional points are acquired by acquiring a bit stream. The prediction residual of the first 3D point among them is obtained, and among the plurality of 3rd order original points, among the plurality of 2nd 3D points around the 1st 3D point, the 1st 3rd order described above is selected.
  • 1 ⁇ 1 second 3D points are selected as candidates for calculating the predicted value of the attribute information of the 1st 3D points in order of decreasing distance to the original point, and the 1 ⁇ A prediction value is calculated using the attribute information of one second 3D point, and the attribute information of the first 3D point is calculated by adding the prediction value and the prediction residual,
  • the first mode of the first 3D point is the climate from the plurality of third three-dimensional point in the order of priority based on the _ Tonko _ de ⁇ 2020/175708 12 boxes (: 171-1? 2020/008540
  • the attribute information of the first three-dimensional point to be processed can be appropriately decoded.
  • the priority order is an order defined by Morton codes of the plurality of third three-dimensional points, and is an order of third three-dimensional points having a Morton code close to the first Morton code. It may be.
  • the priority order includes a plurality of Morton codes smaller than a second Morton code of a fourth three-dimensional point having a Morton code close to the first Morton code among the plurality of third three-dimensional points.
  • one of the candidates is alternately selected from a first group including a third three-dimensional point and a second group including a plurality of third three-dimensional points having a Morton code larger than the second Morton code.
  • the order of the third three-dimensional points close to the second Morton code may be used.
  • the first three-dimensional points and the plurality of third three-dimensional points may belong to different layers.
  • the priority order includes a first group including a plurality of third three-dimensional points having a Morton code smaller than the first Morton code, and a plurality of Morton codes having a larger Morton code than the first Morton code.
  • a sequence defined by the Morton code of a plurality of third three-dimensional points belonging to _ towards the second group including a third three-dimensional point in the order of the third three-dimensional point closer to the first Morton code It may be.
  • the first three-dimensional point and the plurality of third three-dimensional points may belong to the same hierarchy.
  • a three-dimensional data encoding device is a three-dimensional data encoding device that encodes a plurality of three-dimensional points, including a processor and a memory, wherein the processor is Using the memory, among the plurality of three-dimensional points, from the plurality of second three-dimensional points around the first three-dimensional point, 1 ⁇ 1 pieces are arranged in ascending order of distance to the first three-dimensional point.
  • the second 3D point is selected as a candidate for calculating the predicted value of the attribute information of the first 3D point, and the ! ⁇ 1 second 2nd selected as the candidate is selected. ⁇ 2020/175 708 13 ⁇ (:171? 2020 /008540
  • a prediction value is calculated using attribute information of a three-dimensional point, a prediction residual that is a difference between the attribute information of the first three-dimensional point and the calculated prediction value is calculated, and the prediction residual is included.
  • a bit stream is generated, and in the selection of the candidate, if there are a plurality of third three-dimensional points having the same distance from the first three-dimensional point among the plurality of second three-dimensional points, 1 priority in based on the first mode _ Tonko _ de of three-dimensional point from the third three-dimensional point of the multiple selecting the candidate.
  • the second three-dimensional point close to the first three-dimensional point to be encoded can be selected as a candidate to be used for calculating the prediction value, and thus the encoding efficiency can be improved. ..
  • a three-dimensional data decoding device is a three-dimensional data decoding device that decodes a plurality of three-dimensional points, and includes a processor and a memory, and acquires a bit stream. , The predicted residual of the first 3D point of the plurality of 3D points is obtained, and among the plurality of 3D points, the plurality of second 3D points around the first 3D point are obtained. From among, 1 ⁇ 1 second 3D points in the order of decreasing distance to the first 3D point are selected as candidates for calculating the predicted value of the attribute information of the 1st 3D point, and The predicted value is calculated using the attribute information of the ! ⁇ !
  • the second 3D points selected as candidates and the predicted value and the prediction residual are added to obtain the attribute of the first 3D point.
  • the first cubic The candidate is selected from the plurality of third three-dimensional points in the order of priority based on the first Morton code of the original point.
  • the attribute information of the first three-dimensional point to be processed can be appropriately decoded.
  • these comprehensive or specific aspects include a system, a method, an integrated circuit, a computer program, or a computer readable ⁇ 0 -. May be realized by a recording medium such as, and may be realized by any combination of a system, a method, an integrated circuit, a computer program and a recording medium.
  • FIG. 1 is a diagram showing the structure of encoded three-dimensional data according to the present embodiment.
  • the three-dimensional space is divided into spaces (30) corresponding to a picture in coding a moving image, and three-dimensional data is coded in units of spaces.
  • the space is further divided into volumes (!_ 1 ⁇ /1) corresponding to macroblocks in moving picture coding, and prediction and conversion are performed in units of VI-IV!.
  • the volume includes a plurality of voxels ( ⁇ !_), which is the minimum unit with which the position coordinates are associated.
  • the prediction is similar to the prediction performed on a two-dimensional image, and refers to another processing unit to generate predicted three-dimensional data similar to the processing unit of the processing target, and then the predicted three-dimensional data and the processing target. It is to encode the difference from the processing unit of.
  • this prediction includes not only spatial prediction that refers to other prediction units at the same time but also temporal prediction that refers to prediction units at different times.
  • a three-dimensional data encoding device (hereinafter, also referred to as an encoding device) encodes a three-dimensional space represented by point cloud data such as a point cloud
  • point cloud data such as a point cloud
  • each point of the point cloud or a plurality of points included in the voxel is collectively encoded.
  • the three-dimensional shape of the point cloud can be expressed with high accuracy, and by increasing the size of the voxel, the three-dimensional shape of the point cloud can be roughly expressed.
  • the 3D data is not limited to the point cloud, and may be 3D data of any format.
  • voxels having a hierarchical structure may be used.
  • it may be indicated in order whether or not the sample points exist in the layers below the 1st layer (lower layer of the 0th layer). For example, when decoding only the 1st and next layers, If sample points exist in the layers below the first order, decoding can be performed assuming that the sample points exist at the centers of the voxels in the 1st order!
  • the encoding device acquires the point cloud data by using a distance sensor, a stereo camera, a monocular camera, a gyro, an inertial sensor, or the like.
  • the space is the intra-space (I _ 3 ⁇ ) that can be independently decoded, the predictive space (_ 3 ⁇ , And, it is classified into any of at least three prediction structures including bidirectional space (Mi__3? ⁇ ) that can be referred to in both directions. It has two types of time information.
  • a random access unit 0 0 3 (0" ⁇ ⁇ 380 06) as a processing unit containing multiple spaces.
  • ⁇ World ( ⁇ ZV LD) exists as a processing unit including 0 3.
  • the spatial area occupied by the world is associated with the absolute position on the earth by: 3 or latitude and longitude information. This position information is stored as meta information.
  • the meta information may be included in the encoded data or may be transmitted separately from the encoded data.
  • all 30 may be three-dimensionally adjacent to each other.
  • processing such as encoding, decoding, or reference to tertiary data included in a processing unit such as 0 0 3, 30 or V !_ IV! is simply referred to as a processing unit. Also referred to as conversion, decoding or reference.
  • the three-dimensional data included in the processing unit includes at least the spatial position such as three-dimensional coordinates and the characteristic value such as color information. ⁇ 2020/175 708 16 ⁇ (: 171-1? 2020/008540
  • the first 30 in the decoding order in the list is 1.00. Also,
  • ⁇ 3 There are two types of ⁇ 3: closed ⁇ 3 and talented ⁇ 3. Black It is possible to decrypt all 30 in ⁇ 0 3. In the case of ⁇ 0 3, the part of 30 that is displayed earlier than the first I — 3 0 in ⁇ 0 3 is different is referenced ⁇ ⁇ 3, and decryption is performed only with the relevant ⁇ 0 3. I can't.
  • FIG. 2 is a diagram showing an example of the prediction structure of 30 belonging to the lowest layer of ⁇ 3.
  • FIG. 3 is a diagram showing an example of a prediction structure between layers.
  • Objects such as animals, cars, bicycles, traffic lights, or landmark buildings exist, but especially small objects are It is effective to encode as ⁇ .
  • a three-dimensional data decoding device (hereinafter, also referred to as a decoding device) has the following features: Decrypt only _ _ 30 in.
  • the encoding device may switch the encoding interval or appearance frequency of __30 according to the density of the objects in ⁇ ZV L D.
  • the encoding device or the decoding device encodes or decodes a plurality of layers in order from the lower layer (layer 1). This allows you to ⁇ 2020/175708 17 ⁇ (: 171-1? 2020/008540
  • encoded data used in a drone or the like may be encoded or decoded in order from the upper layer 30 in the height direction within 0x3.
  • the encoding device or the decoding device may encode or decode a plurality of layers so that the decoding device can roughly grasp 0-3 and gradually increase the resolution.
  • the encoding device or the decoding device may perform encoding or decoding in the order of layers 3, 8, 1, and 9.
  • static objects or scenes such as buildings or roads (hereinafter collectively referred to as static objects) and dynamic objects such as cars or people (hereinafter referred to as dynamic objects).
  • dynamic objects such as cars or people
  • Object detection is performed separately by extracting feature points from point cloud data or camera images such as stereo cameras.
  • the first method is a method of encoding without distinguishing between static objects and dynamic objects.
  • the second method is to distinguish static objects from dynamic objects by identification information.
  • ⁇ 0 3 including 30 that composes a static object and ⁇ 0 3 that composes 30 that composes a dynamic object are stored in the encoded data or separately from the encoded data. Distinguished by identification information.
  • 30 may be used as an identification unit.
  • the Vs that make up the static object Including 30 and V that constitutes a dynamic object may be used as an identification unit.
  • V !_ IV! or V !_ may be used as the identification unit.
  • ⁇ 2020/175708 18 ⁇ (: 171? 2020 /008540 1_1 / 1 or 1) is distinguished by the above identification information.
  • Encoded as V containing static objects Or, 30 and 30 including dynamic objects may be encoded as different ⁇ 0 3. Also, when the size of ⁇ 0 3 is variable according to the size of the dynamic object, the encoding device separately stores the size of ⁇ 0 3 as meta information.
  • the encoding device may independently encode the static object and the dynamic object, and superimpose the dynamic object on the world composed of the static objects.
  • the dynamic object is composed of 1 or more 30 and each 3 (3 is associated with 1 or more 30 forming a static object on which 3 (3) is superposed.
  • An object may be represented by one or more V I- IV! or VX I- instead of 30.
  • the encoding device may encode the static object and the dynamic object as different streams.
  • the encoding device includes one or more 3 (3 including a 3 that configures a dynamic object, and the encoding device includes a dynamic object.
  • the static object corresponding to the spatial area of _ and ⁇ 0 3 may be set to the same size (occupying the same spatial area). As a result, the superimposition process can be performed in units of 0.
  • the _ 3 ⁇ or the _ 3 _ that make up the dynamic object may refer to the 30 included in different encoded ⁇ 0 3.
  • the position of a dynamic object changes over time, so the same dynamic object
  • the reference that crosses ⁇ ⁇ 3 is effective from the viewpoint of compression ratio.
  • the first method and the second method may be switched depending on the use of the encoded data. For example, when using encoded 3D data as a map, it is desirable to be able to separate dynamic objects, so the encoding device uses the second method. _ One , the encoding device is used for three events such as concerts or sports. When coding dimensional data, if there is no need to separate dynamic objects, use the first method.
  • the decoding time and display time of the GOS or SPC can be stored in the encoded data or as meta information. Also, the time information of all static objects may be the same. At this time, the actual decoding time and display time may be determined by the decoding device. Alternatively, a different value may be given to each GOS or SP C as the decoding time, and the same value may be given to all the display times. Furthermore, like a decoder model in video coding such as H RD (Hypothetical Reference Decoder) of H EVC, the decoder has a buffer of a predetermined size, and the bit stream is at a predetermined bit rate according to the decoding time. You may introduce a model that guarantees that if you read in, you can decrypt without breaking.
  • H RD Hypothetical Reference Decoder
  • the three-dimensional space of the world is in one-to-one correspondence with G PS, or with absolute geographical coordinates such as latitude and longitude.
  • the three-dimensional space may be represented by a relative position from a preset reference position.
  • the X-axis, y-axis, and z-axis directions in the three-dimensional space are expressed as a direction vector determined based on latitude and longitude, and the direction vector is stored as meta information together with encoded data.
  • the size of GOS is fixed, and the encoding device stores the size as meta information.
  • the size of GOS is, for example, whether or not it is in an urban area, or ⁇ 2020/175 708 20 ⁇ (:171? 2020 /008540
  • the encoding device may have a size of ⁇ 3 depending on the density of objects in the same world, or
  • the encoder reduces the size of ⁇ ⁇ 3 as the density of objects increases
  • FIG. 6 is a block diagram of three-dimensional data encoding apparatus 100 according to the present embodiment.
  • FIG. 7 is a flow chart showing an operation example of the three-dimensional data encoding device 100.
  • the three-dimensional data encoding device 100 shown in FIG. 6 encodes the three-dimensional data 1 1 1 to generate encoded three-dimensional data 1 1 2.
  • the three-dimensional data encoding device 100 includes an acquisition unit 101, an encoding region determination unit 10 2, a division unit 10 3, and an encoding unit 10 4.
  • the acquisition unit 1101 acquires the three-dimensional data 1 1 1 1, which is point cloud data (3 1 0 1 ).
  • the coding area determination unit 102 determines a coding target area in the spatial area corresponding to the acquired point cloud data (3 102). For example, the coding area determination unit 102 determines, according to the position of the user or the vehicle, a spatial area around the position as a coding target area.
  • the dividing unit 103 divides the point cloud data included in the area to be encoded into processing units.
  • the processing unit is the above-mentioned 0 0 3 and 3 (3, etc.
  • this encoding target area corresponds to, for example, the above-mentioned world. ⁇ 2020/175708 21 ⁇ (: 171-1? 2020/008540
  • the dividing unit 103 divides the point cloud data into processing units based on a preset size of 0 0 3 or presence or size of a dynamic object (3 10 3). Also, the division unit 103 determines the starting position of the first 30 in the coding order in each ⁇ 03.
  • the encoding unit 104 generates encoded three-dimensional data 1 1 2 by sequentially encoding a plurality of 3 0 in each 3 0 3 (3 10 4).
  • the three-dimensional data encoding device 100 generates the encoded three-dimensional data 1 1 2 by encoding the three-dimensional data 1 1 1. Specifically, the three-dimensional data encoding device 100 divides the three-dimensional data into random access units, the first processing unit (003), each of which is associated with three-dimensional coordinates. The first processing unit ( ⁇ 3) is divided into a plurality of second processing units (30), and the second processing unit (30) is divided into a plurality of third processing units (VI-IV!). The third processing unit (VI-IV! includes voxels ( ⁇ !_) of 1 or more, which is the minimum unit to which position information is associated.
  • the three-dimensional data encoding device 100 produces the encoded three-dimensional data 1 12 by encoding each of the plurality of first processing units (03). Specifically, the three-dimensional data encoding device 100 encodes each of the plurality of second processing units (30) in each first processing unit (03). The three-dimensional data encoding device 100 encodes each of the plurality of third processing units (VI-IV! in each second processing unit (30).
  • the second processing unit (30) to be processed is encoded with reference to another second processing unit (30) included in the first processing unit (03) to be processed. ⁇ 2020/175 708 22 ⁇ (: 171-1? 2020 /008540
  • the three-dimensional data encoding device 100 refers to the second processing unit (30) included in the first processing unit (03) different from the first processing unit (0 03) to be processed. do not do.
  • the first processing unit ( ⁇ 03) to be processed is open
  • the second processing unit (30) of the processing target included in the first processing unit (0 0 3) of the processing target and the other 2nd processing unit of the processing target (03) are included in the first processing unit (03) of the processing target.
  • the second processing unit (30) or the second processing unit (30) included in the first processing unit (03) different from the first processing unit (0 03) to be processed is coded with reference to It
  • the three-dimensional data encoding device 100 uses the first type (1_3 that does not refer to the other second processing unit (30) as the type of the second processing unit (30) to be processed). ⁇ ), a second type (?_3 ⁇ ) that refers to the other second processing unit (3 ⁇ ), and a third type that refers to the other two second processing units (3 ⁇ ). Select one and encode the second processing unit (30) to be processed according to the selected type.
  • FIG. 8 is a block diagram of a block of the three-dimensional data decoding device 200 according to the present embodiment.
  • FIG. 9 is a flow chart showing an operation example of the three-dimensional data decoding device 200.
  • the three-dimensional data decoding device 200 shown in FIG. 8 generates decoded three-dimensional data 2 1 2 by decoding encoded three-dimensional data 2 1 1.
  • the encoded three-dimensional data 2 11 is, for example, the encoded three-dimensional data 1 1 2 generated by the three-dimensional data encoding device 100.
  • This three-dimensional data decoding device 200 includes an acquisition unit 201, a decoding start unit ⁇ 0 3 determination unit 20 2, a decoding 3 (3 determination unit 20 3 and a decoding unit 2 0 4). ..
  • the acquisition unit 201 acquires the encoded three-dimensional data 2 11 (3 2 0 1 ).
  • the decoding start ⁇ 0 3 determination unit 20 2 determines ⁇ 0 3 to be decoded (3 0 2). Specifically, the decoding start ⁇ 0 3 decision unit 20 2 ⁇ 2020/175708 23 ⁇ (: 171-1? 2020 /008540
  • Decode ⁇ ⁇ 3 that includes 3 ⁇ corresponding to the spatial position, object, or time to start decoding by referring to the meta information stored in the evening 2 11 or separately from the encoded 3D data. Decide on target ⁇ 3.
  • the decryption 30 determination unit 203 types to decrypt within (
  • decryption 3 ( decision unit 203 decrypts either (1) only one 30 or (2) one 30 and one 30 (3) decrypts all types. This step may not be performed if the type of 30 to be decrypted has already been determined, such as decrypting all 30.
  • the three-dimensional data decoding device 200 decodes the decoded three-dimensional data 2 1 2.
  • the three-dimensional data decoding device 200 is a random access unit, and the encoded three-dimensional data 2 1 of the first processing unit ( ⁇ ⁇ 3) is a random access unit and each is associated with a three-dimensional coordinate.
  • the decoded 3D data 2 1 2 of the first processing unit ( ⁇ 0 3) is generated.
  • the three-dimensional data decoding device 200 decodes each of the plurality of second processing units (30) in each first processing unit (0 0 3).
  • the device 200 decodes each of the plurality of third processing units (VI-IV! in each second processing unit (30).
  • This meta information is generated by the three-dimensional data encoding device 100 and is included in the encoded three-dimensional data 1 1 2 (2 1 1).
  • decoding is started from the first frame of a random access unit that is near the designated time.
  • Figure 1 0 is a view showing the _ examples of free Murrell table in the meta information. It is not necessary to use all the tables shown in FIG. 10 and at least one table may be used.
  • the address may be an address in a logical format, a physical address of 1 to 10 or a memory. Further, instead of the address, information specifying the file segment may be used. For example, a file segment is a unit in which one or more ⁇ 0 3 etc. are segmented.
  • Object belongs to in 3 tables Multiple may be shown. If the plurality of ⁇ 3 are closed ⁇ 3, the encoding device and the decoding device can perform encoding or decoding in parallel. On the other hand, If is 0 0 3, then multiple 0 0 3 can refer to each other to improve the compression efficiency.
  • Examples of objects include humans, animals, cars, bicycles, traffic lights, or landmark buildings.
  • the three-dimensional data encoding device 100 can specify an object from a three-dimensional point cloud when encoding the world. ⁇ 2020/175 708 25 ⁇ (: 171? 2020 /008540
  • the three-dimensional data encoding device 100 is associated with each of the plurality of first processing units (° 03) and each of the plurality of first processing units (03). Generates the first information indicating the cubic coordinate. Also, the encoded three-dimensional data 1 1 2 (2 1 1) contains this first information. Further, the first information further indicates at least one of the object, the time, and the storage destination associated with each of the plurality of first processing units (03).
  • the three-dimensional data decoding device 2000 obtains the first information from the encoded three-dimensional data 211 and uses the first information to correspond to the designated three-dimensional coordinates, object or time.
  • the coded 3D data 2 1 1 of the first processing unit is specified and the coded 3D data 2 1 1 is decoded.
  • the 3D data encoding device 100 may generate and store the following meta information. Further, the three-dimensional data decoding device 200 may use this meta information at the time of decoding.
  • a profile may be specified according to the application, and information indicating the profile may be included in the meta information. For example, profiles for urban or suburban areas, or for flying objects are specified, and the world, 3 The maximum or minimum size of is defined. For example, the minimum size of V !_ IV! is set smaller for urban areas because more detailed information is required than for suburban areas.
  • the meta information may include a tag value indicating the type of object.
  • This tag value is associated with the V !_ IV!, 30, or ⁇ 0 3 that make up the object. For example, the tag value "0" indicates “people”, the tag value "1” indicates “cars”, the evening value "2" indicates "traffic lights", and so on. May be done.
  • the type of object is difficult or not necessary to determine, it may be the size, or if it is a dynamic object or a static object. ⁇ 2020/175 708 26 ⁇ (: 171? 2020 /008540
  • a tag value indicating any property may be used.
  • the meta information may include information indicating the range of the spatial area occupied by the world.
  • the meta information is the entire stream of encoded data, or the header information common to a plurality of 3 (3, such as 30 in ⁇ 0 3), the size of 3 (3 or VX I- May be stored.
  • the meta information may include identification information such as a distance sensor or a camera used for generating the point cloud, or information indicating the position accuracy of the point cloud in the point cloud.
  • the meta information may include information indicating whether the world is composed of only static objects or includes dynamic objects.
  • the encoding device or the decoding device may encode or decode two or more 3 (3 or ⁇ 0 3 that are different from each other in parallel.
  • ⁇ 0 3 is 0 0 It can be determined based on the meta information indicating the spatial position of 3.
  • the encoding device or the decoding device uses 0, 3, route information, or Included in the space specified based on the zoom factor, etc. May be encoded or decoded.
  • the decoding device may perform decoding in order from the space near the self position or the travel route.
  • the encoding device or the decoding device may encode or decode a space far from its own position or a travel route with lower priority than a space closer to it.
  • lowering the priority means lowering the processing order, lowering the resolution (thinning out the processing), or lowering the image quality (increasing the coding efficiency. For example, increasing the quantization step). is there.
  • the decoding device may only decode the lower layers.
  • the decoding device gives priority to the lower layers according to the zoom ratio of the map or the application. ⁇ 2020/175 708 27 ⁇ (: 171-1? 2020 /008540
  • the encoding device or the decoding device is not included in a region within a specific height from the road surface (a region in which recognition is performed). May be reduced in resolution for encoding or decoding.
  • the encoding device may individually encode the point clouds that represent the spatial shapes of the room and the outdoors. For example, to represent the room (Outside the room 0 03) By separating (outdoor) from 0, the decoding device can select 0 3 to be decoded according to the viewpoint position when using the encoded data.
  • the encoding device may encode the indoor ⁇ 0 3 and the outdoor ⁇ 0 3 whose coordinates are close to each other so that they are adjacent to each other within the encoding stream.
  • the encoding device associates the identifiers of both parties, and stores the information indicating the associated identifier in the encoded stream or in the meta information separately stored.
  • the decoding device can identify the indoor ⁇ 3 and the outdoor ⁇ 3 whose coordinates are close to each other by referring to the information in the media information.
  • the encoding device is And outdoors You may switch the size of 0,03 or 3, with and. For example, the encoding device sets the size of ⁇ 3 to be smaller indoors than outdoors. In addition, the encoding device may change the accuracy when extracting feature points from the point cloud, the accuracy of object detection, or the like, depending on whether the indoor space is 0 3 or the outdoor space is 0 3.
  • the encoding device may add information for the decoding device to display the dynamic object separately from the static object, to the encoded data. This allows the decryption device to display the dynamic object together with the red frame or the descriptive character.
  • the decryption device may display only a red frame or descriptive characters instead of the dynamic object.
  • the decoding device may display a finer object type. For example, a red frame may be used for cars and a yellow frame may be used for humans.
  • the encoding device or the decoding device is configured to detect the appearance frequency of the dynamic object, or ⁇ 2020/175 708 28 ⁇ (: 171? 2020 /008540
  • dynamic objects and static objects it may be decided whether to encode or decode dynamic objects and static objects as different 30 or ⁇ 0 3. For example, if the frequency or rate of occurrence of dynamic objects exceeds the threshold, a mixture of dynamic objects and static objects is allowed, and the frequency or rate of appearance of dynamic objects is defined as dynamic objects and static objects. Mixed with Is not acceptable.
  • the encoding device determines the information (frame or characters) for identifying the detection result and the object position. May be acquired separately and these pieces of information may be encoded as a part of the three-dimensional encoded data. In this case, the decoding device superimposes and displays auxiliary information (frame or character) indicating the dynamic object on the decoding result of the static object.
  • the encoding device may change the coarseness or fineness of !_ or !_ 1 ⁇ /1 in 30 depending on the complexity of the shape of the static object. For example, the encoder sets denser !_ or !_ 1 ⁇ /1 as the shape of the static object becomes more complicated. Furthermore, the encoding device may determine the spatial position or the quantization step when quantizing the color information according to the coarseness of V X !_ or V !_ IV!. For example, the encoder sets a smaller quantization step as V X I- or V I- IV! becomes denser.
  • the encoding apparatus or the decoding apparatus performs space encoding or decoding in space units having coordinate information.
  • the encoding device and the decoding device perform encoding or decoding on a volume-by-volume basis within the space.
  • the volume includes the voxel that is the minimum unit with which the position information is associated.
  • the encoding device and the decoding device include each element of spatial information including coordinates, objects, time, and the like. Encoding or decoding is performed by associating arbitrary elements with a table in which is associated with each other or a table in which each element is associated with each other. Well ⁇ 2020/175 708 29 ⁇ (:171? 2020 /008540
  • the decoding device determines the coordinates by using the value of the selected element, specifies the volume, the voxel, or the space from the coordinates, and decodes the space including the volume or the voxel, or the specified space.
  • the encoding device determines a volume, a voxel, or a space that can be selected by an element by feature point extraction or object recognition, and encodes as a randomly accessible volume, a voxel, or a space. ..
  • a space is one of three (3) that can be coded or decoded by the space alone, and _ 3 0 that is coded or decoded with reference to one processed space. It is classified into three types, ie, __30, which is encoded or decoded with reference to the processed space.
  • One or more volumes correspond to static objects or dynamic objects. Spaces containing static objects and spaces containing dynamic objects are different from each other and are encoded or decoded as ⁇ 3. In other words, 30 including static objects and dynamic objects
  • a dynamic object is encoded or decoded for each object, and is associated with one or more spaces including static objects.
  • multiple dynamic objects are encoded individually, and the obtained encoded data of multiple dynamic objects are associated with 30 including static objects.
  • the encoding device and the decoding device perform encoding or decoding by increasing the priority of 1 3 (3 in 0 0 3.
  • the encoding device uses the deterioration of 1 3 (3 Encoding so that the original three-dimensional data can be reproduced more faithfully after decoding, and the decoding device decodes, for example, only 1x30.
  • the encoder determines the sparseness or number (quantity) of objects in the world.
  • the encoding may be performed by changing the frequency of using I — 3 (3. That is, the encoding device selects 1 (3) depending on the number or the density of the objects included in the three-dimensional data. Change the frequency, for example, the encoder uses the space more frequently as the number of talented objects in the world is higher. ⁇ 2020/175 708 30 ⁇ (: 171? 2020 /008540
  • the encoding device uses a random access point. It is set in units and information indicating the spatial area corresponding to 0 0 3 is stored in the header information.
  • the encoding device uses, for example, a default value as the spatial size of ⁇ 0 3.
  • the encoding device may change the size of 0 0 3 according to the number (amount) or the density of objects or dynamic objects. For example, the encoder reduces the spatial size of ⁇ 3 as the number of objects or dynamic objects increases, or as the number of objects increases.
  • the space or volume includes a feature point group derived using information obtained by a sensor such as a Depth sensor, a gyro, or a camera.
  • the feature point coordinates are set at the center position of the voxel.
  • subdivision of voxels can realize high-accuracy position information.
  • the feature point group is derived using a plurality of pictures.
  • the multiple pictures have at least two types of time information: the actual time information and the same time information (for example, the coding time used for rate control, etc.) in the multiple pictures associated with the space. ..
  • encoding or decoding is performed in units of 0 3 including one or more spaces.
  • the encoding device and the decoding device do not refer to different 0 3 and use the processed space in ⁇ 0 3 of the processing target and use the processed space in ⁇ 0 3 of the processing target or Make a prediction of the space.
  • the encoding device and the decoding device transmit or receive the encoded stream in world units including one or more ⁇ 0 3.
  • random accessible 0 0 3 belongs to the lowest layer.
  • ⁇ 3 belonging to the upper layer refers to ⁇ 3 belonging to the same layer and below. That is, Are spatially divided in a predetermined direction, each containing multiple rays containing 1 or more 3 (3. ⁇ 2020/175 708 31 ⁇ (: 171? 2020 /008540
  • the encoding device and the decoding device encode or decode each 3 (3 by referring to the same 3 (3 and the layer included in the same layer as or lower than the relevant 3 (3).
  • the encoding device and the decoding device encode or decode in parallel two or more spaces or 0 3 different from each other.
  • the encoding device and the decoding device encode or decode the space or space information (coordinates, size, etc.) of 0 0 3.
  • the encoding device and the decoding device are Encode or decode the space or ⁇ 3 included in the specific space specified based on the external information about the position or/and the area size of the user such as the route information or the magnification.
  • the encoding device or the decoding device encodes or decodes the space far from its own position with lower priority than the near space.
  • the encoding device sets one direction of the world according to the magnification or the application, and encodes 0 0 3 having a layer structure in the direction.
  • the decoding device preferentially decodes ⁇ 3, which has a layer structure in one direction of the world set according to the magnification or the application, from the lower layer.
  • the encoding device changes the feature point extraction contained in the space, the accuracy of object recognition, the spatial region size, etc., indoors and outdoors.
  • the encoding device and the decoding device encode or decode the indoor ⁇ 3 and the outdoor ⁇ 3 whose coordinates are close to each other next to each other in the world, and also associate or encode these identifiers.
  • a three-dimensional data encoding method and a three-dimensional data encoding apparatus for providing a function of transmitting and receiving only necessary information according to the purpose in the three-dimensional point cloud encoded data
  • the three-dimensional data decoding method and the three-dimensional data decoding device for decoding the encoded data will be described.
  • a voxel (VXL) having a certain amount of features is defined as a feature voxel (FVXL), and a world (WL D) composed of F VXL is defined as a subverse world (S WL D).
  • FIG 11 is a diagram showing an example of the composition of the Subverse World and the World.
  • SWL D includes FGOS, which is a GOS composed of F VXL, F S PC, which is an S PC composed of F VXL, and F V LM, which is a V LM composed of F VXL.
  • the data structure and prediction structure of FG ⁇ S, F SP C and F V L M may be the same as GO S, S PC and V LM.
  • the feature amount is a feature amount that represents three-dimensional position information of VXL or visible light information of the VXL position, and is particularly a feature amount that is often detected at the corners and edges of a three-dimensional object. Specifically, this feature amount is the following three-dimensional feature amount or visible light feature amount, but in addition to this, if it is a feature amount indicating the position, brightness, or color information of V XL, It doesn't matter.
  • S HOT features S ignatureof Histogr am sof ⁇ rien T ations
  • PFH features Point F eature H istogr am s
  • PPF features Point P air F ). eature
  • the S HOT feature is obtained by dividing the VXL periphery, calculating the inner product of the reference point and the normal vector of the divided region, and creating a histogram.
  • This SH O T feature has a high number of dimensions and a high feature expressing power.
  • the PFH feature is obtained by selecting a large number of 2-point pairs near V XL, calculating the normal vector from these 2 points, and creating a histogram. Since this PFH feature quantity is a histogram feature, it has the characteristics that it is robust against some disturbances and has high characteristic expression power.
  • the PPF feature amount is a feature amount calculated by using a normal vector for each of two VX L points. Since all V XL is used for this PPF feature, it has robustness to occlusion.
  • S I using information such as image brightness gradient information is used as the characteristic amount of visible light.
  • SWLD is generated by calculating the above feature amount from each VXL of WLD and extracting FVXL.
  • SWL D may be updated every time WL D is updated, or may be updated periodically after a certain period of time regardless of the update timing of WL D.
  • SWLD may be generated for each feature amount. For example, different SWL D is generated for each feature, such as SWL D 1 based on SHOT feature and SWL D 2 based on SIFT feature, and SWL D can be used properly according to the application. I do not care. Further, the calculated feature quantity of each FV XL may be held in each FV XL as feature quantity information.
  • L D contains only feature voxels (FVXL)
  • the data size is generally smaller than the WL port that includes all VXL.
  • the read time from the hard disk and the bandwidth and transfer time during network transfer can be suppressed.
  • map information hold WL D and SW L D on the server. ⁇ 2020/175 708 34 ⁇ (: 171-1? 2020 /008540
  • the network band and transfer time can be suppressed.
  • a specific example will be shown.
  • Figs. 12 and 13 show It is a figure which shows the usage example of.
  • Figure 1
  • the client 1 when the client 1, which is an in-vehicle device, needs map information for self-position determination, the client 1 sends a request to acquire map data for self-position estimation to the server (3301).
  • the server sends 3 to client 1 in response to the acquisition request (3302).
  • Client 1 is receiving Self position determination is performed using 0 (3303).
  • the client 1 acquires the V XI-information around the client 1 by various methods such as a range finder or other distance sensor, a stereo camera, or a combination of a plurality of monocular cameras.
  • the self position information is estimated from and.
  • the self-position information includes the three-dimensional position information and orientation of the client 1.
  • the client 2 when the client 2 which is an in-vehicle device needs map information for the purpose of drawing a map such as a three-dimensional map, the client 2 sends the map data for drawing the map to the server. Send the acquisition request (33 1 1). The server sends 0 to client 2 in response to the acquisition request (33 1 2). Client 2 received Draw a map using (33 1 3). At this time, the client 2 creates a rendering image using the image itself captured by the visible light camera, etc. and !_ 0 acquired from the server, and draws the created image on the screen of the navigation system, etc. To do.
  • the server is not used in applications that mainly require the feature amount of each !_ such as self-localization.
  • Send 0 to the client and if detailed V XI-information like map drawing is needed Send 0 to the client. This makes it possible to efficiently send and receive map data.
  • the client himself Determine which of 0 is necessary, and send to the server You may request the transmission of 0.
  • the server can be 3 ⁇ 1_ 0 or ⁇ /1_ 0 depending on the client or network conditions. It may be determined which of the two should be transmitted.
  • FIG. 14 is a diagram showing an operation example in this case.
  • a low speed network with a limited available network bandwidth such as in an LTE (Long Term Evolution) environment
  • the client accesses the server via the low speed network.
  • SWL D is acquired from the server as map information (S322).
  • a high-speed network with sufficient network bandwidth is used in a W i-F i (registered trademark) environment
  • the client accesses the server via the high-speed network (S 323 ), and get WL D from the server (S 324). This allows the client to acquire appropriate map information according to the network bandwidth of the client.
  • the client receives SWLD via the LTE outside, and acquires the WLD via Wi-Fi (registered trademark) when entering the indoor such as a facility. This allows the client to acquire more detailed indoor map information.
  • the client may request the server for WL D or SW L D depending on the bandwidth of the network used by the client.
  • the client may transmit information indicating the bandwidth of the network used by the client to the server, and the server may transmit data (WL D or SWL D) suitable for the client according to the information.
  • the server may determine the network bandwidth of the client and send the data (WL D or SWL D) suitable for the client.
  • FIG. 15 is a diagram showing an operation example in this case. For example, if the client is moving fast (S 331), the client is SWL ⁇ 2020/175 708 36 ⁇ (:171? 2020 /008540
  • the client receives 0 from server (3 3 3 2).
  • the client Receive 0 from the server (3 3 3 4).
  • This allows the client to acquire map information that matches the speed while suppressing the network bandwidth.
  • the client has a small amount of data while driving on the highway. By receiving 0, the rough map information can be updated at an appropriate speed.
  • the client can acquire more detailed map information by receiving 0 when the vehicle is traveling on an open road.
  • the client acts as a server according to its moving speed.
  • the client sends information indicating the moving speed of the client to the server, and the server responds to the data ( ⁇ ZV LD or May be sent.
  • the server determines the speed at which the client is moving and May be sent.
  • the client It is also possible to acquire 0 from the server and then acquire 0 of the important area in that. For example, the client first obtains rough map information when acquiring map data. Acquired from the area, and narrowed down the area where many features such as buildings, signs, and people appear from that area. Get 0 later. This allows the client to obtain detailed information on the required area while suppressing the amount of data received from the server.
  • the server 0 to separate for each object Create 0, and the client may receive each according to the purpose.
  • the network bandwidth can be suppressed.
  • the server recognizes a person or car in advance from 0, 0 and car Create 0. If a client wants to get information about people around them, 0, if you want to get the car information Receive 0. Also like this The type of 0 may be distinguished by the information (flag or type etc.) added to the header or the like. ⁇ 2020/175 708 37 ⁇ (: 171-1? 2020 /008540
  • FIG. 16 is a block diagram of three-dimensional data encoding apparatus 400 according to the present embodiment.
  • FIG. 17 is a flow chart of the three-dimensional data encoding processing by the three-dimensional data encoding device 400.
  • the three-dimensional data encoding apparatus 400 shown in FIG. 16 encodes the input three-dimensional data 4 1 1 to generate encoded three-dimensional data 4 1 3 and 4 1 4 which is an encoded stream. ..
  • the encoded three-dimensional data 4 1 3 is the encoded three-dimensional data corresponding to ⁇ /!_ 0, and the encoded three-dimensional data 4 1 4 Is encoded three-dimensional data corresponding to.
  • the three-dimensional data encoding device 400 includes an acquisition unit 401, an encoding area determination unit 402, An extraction unit 403, An encoding unit 404, And an encoding unit 405.
  • the acquisition unit 401 acquires input three-dimensional data 4 1 1 which is point cloud data in the three-dimensional space (3401).
  • the coding area determination unit 402 determines the spatial area to be coded based on the spatial area in which the point cloud data exists (3402).
  • the 3 ⁇ /!_ 0 extraction unit 403 defines the spatial region to be encoded as !_ 0, and calculates the feature amount from each !_ 0 included in 0. And
  • the ⁇ ZVL D encoding unit 404 outputs the input 3D data 4 1 corresponding to !_ 0.
  • encoded 3D data 4 1 3 corresponding to 0s is generated (3404).
  • the ⁇ /!_ 0 encoding unit 404 confirms that the encoded three-dimensional data 4 13 is a stream including !_ 0 in the header of the encoded three-dimensional data 4 13. Information for distinguishing is added.
  • Encoding section 405 extracts the extracted 3D data corresponding to 3!_ 0. ⁇ 2020/175 708 38 ⁇ (: 171-1? 2020 /008540
  • Encoding 4 1 2 produces encoded three-dimensional data 4 1 4 corresponding to 3 0 (3405). At this time, the encoding unit 405 adds the encoded three-dimensional data to the header of the encoded three-dimensional original data 4 1 4.
  • the encoding method used when the ⁇ IVL D encoding unit 404 encodes !_ 0, 0 encoding unit 405 It may be different from the encoding method used when 0 is encoded.
  • the inter prediction may be prioritized among the intra prediction and the inter prediction over the coding method used for ⁇ ZVL D.
  • the encoding method used for 0 and The three-dimensional position representation method may differ from the encoding method used for 0.
  • 3D position is represented by 3D coordinates
  • ⁇ ZVL D may be represented by an octree described later, or vice versa.
  • the encoding unit 405 performs encoding so that the data size of the encoded 3D data 4 1 4 of 3 !_ 0 becomes smaller than the data size of the encoded 3D data 4 1 3 of 0.
  • 0 may have lower correlation between data than ⁇ ZV LD.
  • the coding efficiency decreases, and the data size of the coded 3D data 4 1 4 may be larger than the data size of the coded 3D data 4 13 of 0. Therefore,
  • the re-encoding unit If the data size of the obtained encoded three-dimensional data 4 1 4 is larger than the data size of the encoded three-dimensional data 4 1 0 of 0, the re-encoding unit! By doing so, the encoded three-dimensional data 4 1 4 with a reduced data size is regenerated.
  • the 3 ⁇ / !_ 0 extraction unit 4 0 3 regenerates the extracted three-dimensional data 4 1 2 with a reduced number of feature points to be extracted
  • the 0-encoding unit 450 encodes the extracted three-dimensional data 4 12.
  • the degree of quantization in the 0 encoding unit 450 may be coarser.
  • the quantization level can be coarsened by rounding the data in the bottom layer.
  • the encoding unit 4 0 5 cannot make the data size of the encoded 3D data 4 1 4 of 3 !_ 0 smaller than the data size of the encoded 3D data 4 1 3 of 0, It is not necessary to generate encoded 3D data 4 1 4 of 0. Or May be copied to the encoded three-dimensional data 4 1 4 of That is, Of encoded three-dimensional data 4 1 4 and The coded 3D data 4 0 of 0 may be used as it is.
  • FIG. 18 is a block diagram of three-dimensional data decoding apparatus 500 according to the present embodiment.
  • FIG. 19 is a flow chart of the three-dimensional data decoding processing by the three-dimensional data decoding device 500.
  • the three-dimensional data decoding device 500 shown in FIG. 18 generates decoded three-dimensional data 5 1 2 or 5 13 by decoding the coded three-dimensional data 5 11. here, ⁇ 2020/175 708 40 ⁇ (:171? 2020 /008540
  • the encoded three-dimensional data 5 11 is, for example, the encoded three-dimensional data 4 1 3 or 4 1 4 generated by the three-dimensional data encoding device 400.
  • the three-dimensional data decoding device 500 includes an acquisition unit 501 and a header analysis unit 50.
  • the acquisition unit 501 acquires the encoded three-dimensional data 5 1 1 (3501).
  • the header analysis unit 502 analyzes the header of the encoded three-dimensional data 5 11 and determines whether the encoded three-dimensional data 5 11 is a stream containing ⁇ /!_ 0. It is determined whether the stream contains 0 (3502). For example, the above-mentioned _ The parameter of the source is referred and the judgment is performed.
  • the ⁇ /!_ 0 decoding unit 503 decodes the encoded three-dimensional data 5 1 1.
  • Decode 3D data of 5 1 2 is generated (3504).
  • encoded 3D data 5 1 1 When the stream includes 0 (N 0 in 350 3), the 3 ⁇ /!_ 0 decoding unit 504 decodes the encoded three-dimensional data 5 1 1.
  • Decoding 3D data 5 1 3 is generated (3505).
  • the decoding method used when the 0 decoding unit 503 decodes ⁇ /!_ 0, ⁇ Decoding section 50 It may be different from the decoding method used when 0 is decoded. For example, In the decoding method used for 0, inter prediction may be prioritized among the intra prediction and the inter prediction over the decoding method used for !_ 0.
  • the decoding method used for 0 and The three-dimensional position representation method may be different from the decoding method used for 0. For example, Then, three-dimensional coordinates are used to represent the three-dimensional position of ⁇ !_, and ⁇ ZVLD may be used to represent the three-dimensional position by an octree described below, and vice versa.
  • VX !_ data included in 3D data is encoded after being converted to an octree structure
  • the octree structure consists of nodes and leaves. Each node has a maximum of 8 nodes or leaves. Each leaf has information! Here, among the leaves shown in Fig. 21, leaves 1, 2, and 3 respectively represent ⁇ !_ 1, ⁇ !_ 2, and ⁇ !_ 3 shown in Fig. 20.
  • each node and leaf corresponds to a three-dimensional position.
  • Node 1 corresponds to the entire block shown in FIG.
  • the block corresponding to node 1 is divided into eight blocks. Of the eight blocks, the block containing valid V X I- is set as the node, and the other blocks are set as leaves.
  • the block corresponding to the node is further divided into eight nodes or leaves, and this process is repeated for each hierarchical level of the tree structure. In addition, all the blocks in the bottom layer are set to leaf.
  • FIG. 22 is shown in FIG. Generated from FIG.
  • the results !_ 1 and !_ 2 shown in Fig. 20 are judged as results !_ 1 and ! 2 as a result of feature extraction. Has been added to.
  • ⁇ !_ 3 is not judged as ⁇ !_, Not included in.
  • Figure 23 shows Figure 22 In the octree structure shown in Fig. 23, the leaf 3 corresponding to ⁇ !_ 3 shown in Fig. 21 is deleted.
  • node 3 shown in Figure 21 has no valid VX !_ and is changed to a leaf.
  • Coded 3D data of 0 is also It is smaller than 0 coded 3D data.
  • a range sensor such as a range finder, a stereo camera, or a combination of multiple monocular cameras, etc. Obstacle detection may be performed based on the three-dimensional information. ⁇ 2020/175 708 42 ⁇ (: 171? 2020 /008540
  • the server creates a mesh from ⁇ ZV LD and May be held in advance. For example, the client receives 0 if it needs a coarse 3D rendering, and if it needs a detailed 3D rendering. Receive 0. This can reduce the network bandwidth.
  • the server sets VXI-for each VX I- whose feature amount is greater than or equal to the threshold value as VXI-, but it may calculate the !!_ by a different method. For example, the server determines that VX I-, !_ 1 ⁇ /1, 3 (3, or) that composes a signal or intersection is necessary for self-position estimation, driving assistance, or automatic driving, May be included in. Further, the above determination may be made manually. In addition, you may add the !! etc. obtained by the above method to the !! etc. set based on the feature amount. That is, the 3 ⁇ / !_ 0 extraction unit 4 0 3 further extracts data corresponding to an object having a predetermined attribute from the input 3D data 4 1 1 as extracted 3D data 4 1 2. May be.
  • the server VX !_ necessary for self-position estimation at signals or intersections, driving assistance, or automatic driving may be separately stored as an upper layer (for example, lane world).
  • the attribute may include the correspondence with the feature (intersection point, road, etc.) in the lane information (GD F: Geographic Data Files, etc.).
  • the following method may be used as a method for updating WL D or SW L D.
  • Update information indicating changes in people, construction, or row of trees (for trucks) is uploaded to the server as point clouds or metadata.
  • the server updates WL D based on the upload, and then updates SW L D using the updated WL D.
  • the client when the client detects a mismatch between the 3D information generated by itself during the self-position estimation and the 3D information received from the server, the client generates the 3D information generated by itself together with the update notification in the server. May be sent to. In this case, the server updates SWL D with WL D. If SWL D is not updated, the server determines that WL D is old.
  • the information for distinguishing between WL D and SWL D is added as the header information of the encoded stream.
  • the header information may be added to the encoded stream.
  • Information that distinguishes them may be added to the header information. If there are many SWLDs with different features, information that distinguishes them may be added to the header information.
  • SWL D is composed of F VX L, it may include V XL that is not determined to be F VXL.
  • SWL D may include the adjacent VXL used when calculating the feature amount of FVXL.
  • the client can calculate the feature amount of FVXL when receiving SWL D.
  • SWL D may include information for distinguishing each VX L from F VX L or VX L.
  • the three-dimensional data encoding device 400 uses the input three-dimensional data 4 1 ⁇ 2020/175 708 44 ⁇ (: 171-1? 2020 /008540
  • the three-dimensional data encoding device 400 generates encoded three-dimensional data 414 in which data having a feature amount equal to or larger than the threshold is encoded. As a result, the amount of data can be reduced compared to the case where the input three-dimensional data 4 1 1 is directly encoded. Therefore, the three-dimensional data encoding device 400 can reduce the amount of data to be transmitted.
  • the three-dimensional data encoding device 400 further uses the input three-dimensional data 41
  • Encoding 1 generates encoded three-dimensional data 4 1 3 (second encoded three-dimensional data ).
  • the three-dimensional data encoding device 400 selectively selects the encoded three-dimensional data 4 1 3 and the encoded three-dimensional data 4 1 4 depending on the intended use. Can be transmitted.
  • the three-dimensional data encoding device 400 can input the three-dimensional data 4 1
  • inter _ prediction is priority among intra prediction and in the evening _ prediction than the second encoding method.
  • the three-dimensional data encoding device 400 can increase the priority of inter prediction with respect to the extracted three-dimensional data 4 1 2 in which the correlation between adjacent data tends to be low. it can.
  • the first encoding method and the second encoding method differ in the method of expressing the three-dimensional position.
  • the three-dimensional position is represented by an octree
  • the three-dimensional position is represented by three-dimensional coordinates. ⁇ 2020/175 708 45 ⁇ (: 171-1? 2020 /008540
  • the three-dimensional data encoding device 400 can represent a more suitable three-dimensional position for three-dimensional data having different numbers of data (number of _! or _!). Any technique can be used.
  • At least one of the coded 3D data 4 1 3 and 4 1 4 is a coded cubic 3D obtained by coding the coded 3D data of the input 3D data 4 1 1. It contains an identifier indicating whether it is the original data or the encoded three-dimensional data obtained by encoding a part of the input three-dimensional data 4 1 1. In other words, whether the identifier is the coded 3D data with coded 3D data of 0 or 4 3 Indicates whether the coded three-dimensional data of 0 is 4 1 4.
  • the decoding device can easily determine whether the acquired encoded three-dimensional data is the encoded three-dimensional data 4 1 3 or the encoded three-dimensional data 4 1 4.
  • the three-dimensional data encoding device 400 extracts the extracted three-dimensional data so that the data amount of the encoded three-dimensional data 414 is smaller than the data amount of the encoded three-dimensional data 413. Encode 4 1 2.
  • the three-dimensional data encoding device 400 can generate the encoded three-dimensional data 4
  • the data amount of 1 4 can be made smaller than the data amount of encoded three-dimensional data 4 1 3.
  • the three-dimensional data encoding device 400 further uses the input three-dimensional data 41
  • Data corresponding to an object having a predetermined attribute from 1 is extracted as extracted three-dimensional data 4 1 2.
  • an object having a predetermined attribute is an object required for self-position estimation, driving assistance, automatic driving, etc., such as a signal or an intersection.
  • the three-dimensional data encoding apparatus 400 can generate encoded three-dimensional data 414 including the data necessary for the decoding apparatus.
  • the three-dimensional data encoding device 400 (server) further transmits one of the encoded three-dimensional data 4 1 3 and 4 1 4 to the client according to the state of the client. ⁇ 2020/175 708 46 ⁇ (: 171-1? 2020 /008540
  • the three-dimensional data encoding device 400 can transmit appropriate data according to the state of the client.
  • the client status includes the communication status of the client (for example, network bandwidth) or the moving speed of the client.
  • the three-dimensional data encoding device 400 further transmits one of the encoded three-dimensional data 4 13 and 4 1 4 to the client in response to the client's request.
  • the three-dimensional data encoding device 400 can transmit appropriate data in response to a request from the client.
  • the three-dimensional data decoding device 500 converts the encoded three-dimensional data 4 1 3 or 4 1 4 generated by the above three-dimensional data encoding device 4 0 0. Decrypt.
  • the three-dimensional data decoding device 500 is obtained by encoding the extracted three-dimensional data 4 1 2 having the feature amount extracted from the input three-dimensional data 4 1 1 equal to or greater than the threshold value.
  • the encoded three-dimensional data 4 1 4 is decoded by the first decoding method.
  • the three-dimensional data decoding device 500 uses the encoded three-dimensional data 413 obtained by encoding the input three-dimensional data 411 as the second decoding method different from the first decoding method. No. method.
  • the three-dimensional data decoding device 500 produces the encoded three-dimensional data 4 1 4 and the encoded three-dimensional data 4 1 3 in which the data having the feature amount equal to or greater than the threshold value are encoded. , For example, it can be selectively received according to the intended use. As a result, the three-dimensional data decoding device 500 can reduce the amount of data to be transmitted. Further, the three-dimensional data decoding device 500 can use a decoding method suitable for the input three-dimensional data 4 1 1 and the extracted three-dimensional data 4 12 respectively.
  • inter prediction is prioritized over intra prediction and inter prediction over the second decoding method.
  • the three-dimensional data decoding device 500 raises the priority of inter prediction for the extracted three-dimensional data in which the correlation between adjacent data tends to be low. ⁇ 2020/175 708 47 ⁇ (: 171? 2020 /008540
  • the first decoding method and the second decoding method differ in the method of expressing the three-dimensional position.
  • a three-dimensional position is represented by an octree
  • a three-dimensional position is represented by a three-dimensional coordinate.
  • the three-dimensional data decoding device 500 uses a more suitable three-dimensional position representation method for three-dimensional data having different numbers of data (VX I ⁇ or VX I ⁇ numbers). Can be used.
  • At least one of the coded 3D data 4 1 3 and 4 1 4 is a coded cubic obtained by coding the coded 3D data of the input 3D data 4 1 1. It contains an identifier indicating whether it is the original data or the encoded three-dimensional data obtained by encoding a part of the input three-dimensional data 4 1 1.
  • the tertiary element data decoding device 500 identifies the encoded three-dimensional data 4 1 3 and 4 1 4 with reference to the identifier.
  • the three-dimensional data decoding device 500 determines whether the acquired encoded three-dimensional data is the encoded three-dimensional data 4 1 3 or the encoded three-dimensional data 4 1 4. Can be easily determined.
  • the three-dimensional data decoding device 500 further notifies the server of the state of the client (three-dimensional data decoding device 500).
  • the 3D data decoding device 500 receives one of the encoded 3D data 4 1 3 and 4 1 4 transmitted from the server according to the state of the client.
  • the three-dimensional data decoding device 500 can receive appropriate data according to the state of the client.
  • the client status includes the communication status of the client (for example, network bandwidth) or the moving speed of the client.
  • the three-dimensional data decoding device 500 further includes the encoded three-dimensional data 41
  • the three-dimensional data decoding device 500 can use the appropriate data according to the application. ⁇ 2020/175 708 48 ⁇ (: 171? 2020 /008540
  • three-dimensional data is transmitted and received between the own vehicle and surrounding vehicles.
  • FIG. 24 is a block diagram of the three-dimensional data creation device 620 according to the present embodiment.
  • This 3D data creating device 6 20 is, for example, included in the own vehicle, and the 1st 3D data 6 3 2 created by the 3D data creating device 6 2 0 and the received 2nd 3D data 6 3 5 By synthesizing, 3D data 3 3 6 with higher density is created.
  • the three-dimensional data creation device 6 20 includes a three-dimensional data creation unit 6 2 1, a request range determination unit 6 2 2, a search unit 6 2 3, a receiving unit 6 2 4, and a decoding unit 6 2. 25 and a synthesizing unit 6 26.
  • the 3D data creation unit 6 2 1 creates the first 3D data 6 3 2 using the sensor information 6 3 1 detected by the sensor of the vehicle.
  • the required range determination unit 6 22 determines the required range which is the three-dimensional spatial range in which the data is lacking in the created first three-dimensional data 6 32.
  • the search unit 623 searches for a peripheral vehicle that possesses the three-dimensional data of the requested range, and transmits the requested range information 633 indicating the requested range to the peripheral vehicles specified by the search.
  • the receiving unit 6 2 4 receives the encoded three-dimensional data 6 3 4 which is the encoding stream of the requested range from the surrounding vehicle (3 6 2 4).
  • the search unit 6 23 may indiscriminately issue a request to all vehicles existing in the specific range and receive the encoded three-dimensional data 6 34 from the responding party. Further, the searching unit 6 23 may issue a request to an object such as a traffic light or a sign, not limited to a vehicle, and receive the encoded three-dimensional data 6 34 from the object.
  • the decoding unit 6 25 obtains the second 3D data 6 3 5 by decoding the received encoded 3D data 6 3 4.
  • the synthesizing unit 626 synthesizes the first cubic data 632 and the second three-dimensional data 635 to obtain a more dense first data. ⁇ 2020/175 708 49 ⁇ (: 171? 2020 /008540
  • FIG. 25 is a block diagram of the three-dimensional data transmission device 640.
  • the three-dimensional data transmission device 640 is, for example, included in the above-mentioned peripheral vehicles, and the sixth three-dimensional data requested by the own vehicle is the fifth three-dimensional data 652 created by the peripheral vehicles.
  • the encoded 3D data 6 3 4 is generated by processing it into 6 5 4 and encoding the 6th 3D data 6 5 4 and transmitting the encoded 3D data 6 3 4 to the vehicle.
  • the three-dimensional data transmission device 640 includes a three-dimensional data generation unit 641 and a reception unit 640.
  • the three-dimensional data creating unit 641 creates the fifth three-dimensional data 652 using the sensor information 651 detected by the sensor provided in the surrounding vehicle.
  • the receiving unit 6 42 receives the request range information 6 33 transmitted from the own vehicle.
  • the extraction unit 6 4 3 extracts the requested range information 6 3 from the 5th three-dimensional data 6 5 2.
  • the fifth fifth three-dimensional data 652 is processed into the sixth third three-dimensional data 654.
  • the encoding unit 644 generates the encoded three-dimensional data 634 that is an encoded stream by encoding the sixth three-dimensional data 6544.
  • the transmitting unit 6445 transmits the encoded three-dimensional data 6345 to the own vehicle.
  • the own vehicle is equipped with the three-dimensional data creation device 620 and the surrounding vehicles are equipped with the three-dimensional data transmission device 640. It may have the functions of 620 and three-dimensional data transmission device 640.
  • 3D data for vehicle detection 3D information around the vehicle (hereinafter referred to as 3D data for vehicle detection) obtained by a sensor such as 1_ 0 08 [3 ⁇ 4] or a stereo camera It can be realized by doing.
  • three-dimensional map such as 1 to 1 0 maps 1 Snake Misha advocated, not only Boyne bets cloud of the three-dimensional road and intersection shape information such as the two-dimensional MAP data, Alternatively, it may include information that changes in real time such as traffic congestion and accidents.
  • a three-dimensional map is composed of multiple layers such as three-dimensional data, two-dimensional data, and metadata that changes in real time, and the device can also acquire or refer to only the necessary data.
  • the point cloud data is as described in 3 above. It may be 0, or may include point cloud data that is not a feature point. In addition, the point cloud data is sent and received on the basis of one or more random access units.
  • the following method can be used as a method of matching the three-dimensional map and the three-dimensional data of the detected vehicle. For example, the device compares the shapes of point clouds in each other's point cloud and determines that the parts with high similarity between feature points are at the same position. In addition, the device has a three-dimensional map If it consists of 0,
  • the three-dimensional information processing device 700 is mounted on an animal body such as a car, for example.
  • the three-dimensional information processing device 700 includes a three-dimensional map acquisition unit 701, an own vehicle detection data acquisition unit 702, an abnormal case determination unit 703, and a coping operation.
  • a determining unit 70 4 and an operation control unit 70 5 are provided.
  • the three-dimensional information processing apparatus 700 detects a structure or a moving object around the vehicle, such as a camera that acquires a two-dimensional image or a sensor for one-dimensional data using ultrasonic waves or lasers.
  • a two-dimensional or one-dimensional sensor (not shown) may be provided for this purpose.
  • the three-dimensional information processing device 700 is a communication unit (not shown) for acquiring the three-dimensional map by a mobile communication network such as 40 or 50, or vehicle-to-vehicle communication or road-to-vehicle communication. ) May be provided.
  • the three-dimensional map acquisition unit 701 acquires the three-dimensional map 711 near the travel route.
  • the three-dimensional map acquisition unit 701 acquires the three-dimensional map 711 via a mobile communication network, vehicle-to-vehicle communication, or road-to-vehicle communication.
  • the vehicle detection data acquisition unit 7 02 acquires the vehicle detection three-dimensional data 7 12 based on the sensor information.
  • the own vehicle detection data acquisition unit 70 2 generates the own vehicle detection three-dimensional data 7 12 based on the sensor information acquired by the sensor included in the own vehicle. ⁇ 2020/175 708 52 ⁇ (: 171-1? 2020 /008540
  • the abnormal case determination unit 70 3 performs abnormal check by performing a predetermined check on at least one of the acquired 3D map 7 11 and the detected vehicle 3D data 7 12. Detect cases. That is, the abnormal case determination unit 70 3 determines whether at least one of the acquired 3D map 7 11 and the acquired vehicle detection 3D data 7 12 is abnormal.
  • the coping action determination unit 704 determines a coping action for the abnormal case.
  • the operation control unit 705 controls the operation of each processing unit such as the three-dimensional map acquisition unit 701 necessary for performing the coping operation.
  • the three-dimensional information processing device 700 ends the process.
  • the three-dimensional information processing apparatus 700 uses the three-dimensional map 711 and the three-dimensional original data 712 for vehicle detection to determine the self-position of the vehicle having the three-dimensional information processing apparatus 700. Make an estimate.
  • the 3D information processing apparatus 700 uses the result of self-position estimation to automatically drive the vehicle.
  • the three-dimensional information processing apparatus 700 obtains the map data including the first three-dimensional position information (three-dimensional map 711) via the communication path.
  • the first three-dimensional position information is encoded in units of subspaces having three-dimensional coordinate information, each is a set of one or more subspaces, and each of them is a plurality of independently decodable Includes random access units.
  • the first three-dimensional position information is data (3 ⁇ ZV L D) in which feature points whose three-dimensional feature amount is equal to or larger than a predetermined threshold value are encoded.
  • the three-dimensional information processing device 700 generates second three-dimensional position information (self-vehicle detected three-dimensional data 7 1 2) from the information detected by the sensor. Next, the three-dimensional information processing device 700 performs the abnormality determination processing on the first three-dimensional position information or the second three-dimensional position information to obtain the first three-dimensional position information or It is determined whether the second three-dimensional position information is abnormal.
  • the 3D information processing apparatus 700 determines an action to deal with the abnormality. ⁇ 2020/175 708 53 ⁇ (:171? 2020 /008540
  • the three-dimensional information processing apparatus 700 carries out the control necessary for carrying out the coping operation.
  • FIG. 27 is a block diagram showing a configuration example of the three-dimensional data creation device 810 according to the present embodiment.
  • This three-dimensional data creating device 810 is installed in, for example, a vehicle.
  • the three-dimensional data creation device 810 sends and receives three-dimensional data to and from an external traffic monitoring cloud, a preceding vehicle or a following vehicle, and creates and stores three-dimensional data.
  • the three-dimensional data creation device 8 1 0 includes a data receiving unit 8 1 1 and a communication unit 8 1 2.
  • An evening storage unit 8 18 is provided, a communication unit 8 19 is provided, a transmission control unit 8 20 is provided, a format conversion unit 8 2 1 is provided, and a data transmission unit 8 2 2 is provided.
  • the three-dimensional data 831 includes, for example, information such as a point cloud, a visible light image, depth information, sensor position information, or speed information including a region that cannot be detected by the sensor 815 of the vehicle.
  • the reception control unit 8 13 exchanges information such as the corresponding format with the communication destination via the communication unit 8 12 and establishes communication with the communication destination.
  • the format conversion unit 8 1 14 generates 3D data 8 3 2 by performing format conversion or the like on the 3D data 8 3 1 received by the data reception unit 8 1 1. Also, the format conversion unit 8 1 4 compresses or encodes the 3D data 8 3 1. ⁇ 2020/175 708 54 ⁇ (: 171-1? 2020 /008540
  • Multiple sensors 8 15 are! A sensor group that acquires information outside the vehicle, such as a visible light camera or an infrared camera, and generates sensor information 8 3 3.
  • the sensor information 8 33 is three-dimensional data such as point cloud (point cloud data) when the sensor 8 15 is a laser sensor such as !_ ⁇ 08 [3 ⁇ 4. Note that the number of sensors 8 15 does not have to be plural.
  • the three-dimensional data creation unit 8 16 generates three-dimensional data 8 3 4 from the sensor information 8 3 3.
  • the three-dimensional data 834 includes, for example, information such as a point cloud, a visible light image, depth information, sensor position information, or velocity information.
  • the 3D data synthesizing unit 8 17 adds the 3D data 8 3 4 created based on the sensor information 8 3 3 of the own vehicle to the 3D data 8 3 4 created by the traffic monitoring cloud or the preceding vehicle. By combining 3 2 3D data, 3D data 8 3 5 including the space in front of the preceding vehicle that cannot be detected by the vehicle's sensor 8 15 is constructed.
  • the 3D data storage unit 8 18 stores the generated 3D data 8 3 5 and the like.
  • the communication unit 8 19 communicates with the traffic monitoring cloud or the following vehicle and transmits a data transmission request or the like to the traffic monitoring cloud or the following vehicle.
  • the transmission control unit 820 exchanges information such as compatible formats with the communication destination via the communication unit 819 and establishes communication with the communication destination.
  • the transmission control unit 820 determines the transmission target based on the three-dimensional data construction information of the three-dimensional data 832 generated by the three-dimensional data composition unit 817 and the data transmission request from the communication destination. Determine the transmission area, which is the space of the three-dimensional data.
  • the area to be transmitted is determined as the transmission area. Then, the transmission control unit 820 notifies the format conversion unit 821 of the format and the transmission area to which the communication destination corresponds.
  • the data transmitting unit 8 2 2 transmits the three-dimensional data 8 3 7 to the traffic monitoring cloud or the following vehicle.
  • This three-dimensional data 837 includes, for example, information such as a point cloud in front of the vehicle, a visible light image, depth information, or sensor position information including a blind spot area of the following vehicle.
  • the three-dimensional data creation device 8 10 is a sensor of the own vehicle.
  • the 3D data 8 3 1 of the area that cannot be detected by 8 1 5 is acquired from the outside, and the 3D data 8 3 1 and the 3D data based on the sensor information 8 3 3 detected by the sensor 8 15 of the vehicle 8 Three-dimensional data 8 3 5 is generated by combining 3 4 and.
  • the three-dimensional data creation device 8 10 can generate three-dimensional data in a range that cannot be detected by the sensor 8 15 of the vehicle.
  • the three-dimensional data generation device 810 responds to a data transmission request from the traffic monitoring cloud or the following vehicle to obtain three-dimensional data including a space in front of the own vehicle that cannot be detected by the sensor of the following vehicle. , It can be sent to the traffic monitoring cloud or the following vehicles.
  • a client device such as a vehicle transmits three-dimensional data to another vehicle or a server such as a traffic monitoring cloud.
  • the client device transmits the sensor information obtained by the sensor to the server or another client device.
  • FIG. 28 is a diagram showing a configuration of a transmission/reception system for transmitting a three-dimensional map and sensor information according to the present embodiment.
  • the system includes a server 901, and client devices 9028 and 902.
  • client devices 90 2 and 9 0 2 are not particularly distinguished, they are also referred to as the client device 9 02.
  • the client device 92 is, for example, a vehicle-mounted device mounted on a moving body such as a vehicle.
  • the server 901 for example, is a traffic monitoring cloud or the like, and can communicate with a plurality of client devices 90 2.
  • the client device 902 transmits the sensor information acquired by the client device 902 to the server 901.
  • the sensor information is, for example,! _ ⁇
  • At least one of acquisition information, visible light image, infrared image, depth image, sensor position information and speed information is included.
  • the data transmitted and received between the server 901 and the client device 902 may be compressed to reduce the data or may be left uncompressed to maintain the accuracy of the data. ..
  • a 3D compression method based on an octree structure for example, can be used for the point cloud.
  • a two-dimensional image compression method can be used for visible light images, infrared images, and depth images.
  • the two-dimensional image compression method is, for example, IV! 80 or 1 to 1 etc. standardized by IV!
  • the server 9 01 may transmit a three-dimensional map suitable for the position of the client device 90 2 to the client device 90 2 that has once received the transmission request, at regular intervals. Further, the server 9001 may send the three-dimensional map to the client device 902 each time the three-dimensional map managed by the server 9001 is updated.
  • the client device 902 issues a three-dimensional map transmission request to the server 901. For example, when the client device 902 wants to perform self-position estimation during traveling, the client device 902 transmits a transmission request for a three-dimensional map to the server 901.
  • the client device 902 may issue a tertiary map transmission request to the server 901:
  • the client device 9 02 may request the server 9 01 to send the 3D map.
  • the client device 902 may issue a three-dimensional map transmission request to the server 901.
  • a transmission request may be issued. For example, if the client device 902 is within a predetermined distance from the boundary of the space indicated by the three-dimensional map held by the client device 92, the client device 902 will be the server device.
  • a request to send a 3D map may be issued to 1.
  • the client device 902 can be determined from the space indicated by the three-dimensional map held by the client device 902 based on these. You can predict when you will be out.
  • the client device 9002 transmits the sensor information to the server 901, in response to the sensor information transmission request transmitted from the server 9101.
  • the client device 9 02 may send the sensor information to the server 9 01 without waiting for the sensor information sending request from the server 9 01.
  • the client device 9 02 may periodically transmit the sensor information to the server 9 01 for a certain period.
  • the client device 90 2 has a certain error in alignment between the 3D data created by the client device 9 02 based on the sensor information and the 3D map obtained from the server 90 1. In the above case, it may be judged that there is a possibility that the three-dimensional map around the client device 902 has changed, and that fact and the sensor information may be transmitted to the server 901.
  • the server 9001 issues a sensor information transmission request to the client device 902.
  • the server 9001 receives the position information of the client device 902 such as 0 3 from the client device 92. If the server 9 01 determines that the client device 9 02 is approaching a space with less information in the three-dimensional map managed by the server 9 01, based on the position information of the client device 9 02, the new A request for transmitting sensor information is issued to the client device 902 in order to generate a simple three-dimensional map.
  • the server 901 requests the transmission of sensor information when it wants to update the three-dimensional map, when it wants to check the road conditions during snowfall or when there is a disaster, when it wants to check the traffic jam condition, the accident situation, etc. May be issued.
  • the client device 9002 sets the data amount of the sensor information to be transmitted to the server 901, according to the communication state or the band at the time of receiving the transmission request of the sensor information received from the server 901. You may. Setting the data amount of the sensor information to be transmitted to the server 90 1 means, for example, increasing or decreasing the data itself, or appropriately selecting the compression method.
  • FIG. 29 is a block diagram showing a configuration example of the client device 90 2.
  • the client device 902 consists of a point cloud etc. from the server 901. ⁇ 2020/175 708 59 ⁇ (: 171-1? 2020 /008540
  • the three-dimensional map is received, and the self-position of the client device 90 2 is estimated from the three-dimensional data created based on the sensor information of the client device 90 2.
  • the client device 900 sends the acquired sensor information to the server 901.
  • the client device 902 includes a data reception unit 1 0 1 1, a communication unit 1 0 1 2, a reception control unit 1 0 1 3, a format conversion unit 1 0 1 4 and a plurality of sensors 1 1. 0 1 5, 3D data creation unit 1 0 1 6, 3D image processing unit 1 0 1 7, 3D data storage unit 1 0 1 8, format conversion unit 1 0 1 9 and communication unit It is provided with 1 0 2 0, a transmission control unit 1 0 2 1 and a data transmission unit 1 0 2 2.
  • the data receiving unit 1 0 1 1 receives the three-dimensional map 1 0 3 1 from the server 9 0 1.
  • Three-dimensional map It is data including point cloud such as.
  • the three-dimensional map 1 0 3 1 may include either compressed data or uncompressed data.
  • the communication unit 1012 communicates with the server 901, and sends a data transmission request (for example, a three-dimensional map transmission request) to the server 9101.
  • a data transmission request for example, a three-dimensional map transmission request
  • the reception control unit 1013 exchanges information such as compatible formats with the communication destination via the communication unit 1012, and establishes communication with the communication destination.
  • the format conversion unit 1 0 1 4 generates a 3D map 1 0 3 2 by performing format conversion or the like on the 3D map 1 0 3 1 received by the data reception unit 1 0 1 1.
  • the format conversion unit 110 4 performs decompression or decoding processing when the three-dimensional map 1 0 3 1 is compressed or encoded. If the three-dimensional map 1 0 3 1 is uncompressed data, the format conversion unit 1 0 1 4 does not perform decompression or decoding processing.
  • Multiple sensors 1 0 1 5! _ ⁇ 08 [3 ⁇ 4, visible light camera, infrared camera, depth sensor, etc., is a sensor group that acquires information outside the vehicle equipped with the client device 92, and generates sensor information 1 0 3 3.
  • the sensor information 103 3 is three-dimensional data such as a point cloud (point cloud data) when the sensor 10 15 is a laser sensor such as !_ ⁇ 08.
  • the three-dimensional data creation unit 1 0 1 6 creates 3D data 1 0 3 4 around the vehicle based on the sensor information 1 0 3 3.
  • the 3D data generator 1 0 1 6! _ Create point cloud data with color information around the vehicle using the information obtained by the mouth and the visible light image obtained by the visible light camera
  • the 3D image processing unit 1 0 1 7 uses the 3D map 1 0 3 2 such as the received point cloud and the 3D data around the host vehicle 1 0 3 3 generated from the sensor information 1 0 3 3. 3 and 4 are used to perform self-position estimation processing of the own vehicle.
  • the 3D image processing unit 10 17 creates 3D data 1 0 3 5 around the vehicle by synthesizing the 3D map 1 0 3 2 and the 3D data 1 0 3 4.
  • the self-position estimation processing may be performed using the created three-dimensional data 1035.
  • the 3D data storage unit 1 0 1 8 has a 3D map 1 0 3 2 and 3D data 1
  • the format conversion unit 1019 generates the sensor information 1037 by converting the sensor information 1033 into a format supported by the receiving side. Note that the format conversion unit 1019 may reduce the data amount by compressing or encoding the sensor information 1037. In addition, the format conversion unit 1019 may omit the processing when it is not necessary to perform the format conversion. Also, the format conversion unit 1019 may control the amount of data to be transmitted according to the designation of the transmission range.
  • the communication unit 1002 communicates with the server 901, and receives a data transmission request (sensor information transmission request) from the server 9101.
  • the transmission control unit 1021 exchanges information such as the corresponding format with the communication destination via the communication unit 1020, and establishes communication.
  • the data transmission unit 1 0 2 2 transmits the sensor information 1 0 3 7 to the server 9 0 1.
  • the sensor information 1 0 3 7 is, for example,! _ Information obtained by Kuchihachi, brightness image obtained by visible light camera, infrared image obtained by infrared camera, by depth sensor ⁇ 2020/175 708 61 ⁇ (:171? 2020/008540
  • It includes information acquired by a plurality of sensors 110, such as acquired depth images, sensor position information, and speed information.
  • the server 9 01 consists of a data receiving section 1 1 1 1, a communication section 1 1 1 1 2, a reception control section 1 1 1 3 1, a format converting section 1 1 1 4 and a 3D data creating section. 1 1 1 6, 3D data composition section 1 1 1 7, 3D data storage section 1 1 1 18, format conversion section 1 1 9 Communication section 1 1 2 0
  • the controller 1 1 2 1 and the data transmitter 1 1 2 2 are provided.
  • the data receiving unit 1 1 1 1 receives the sensor information 1 0 3 from the client device 9 0 2.
  • the communication unit 1 1 1 1 2 communicates with the client device 90 2 and sends a data transmission request (for example, sensor information transmission request) to the client device 9 02.
  • a data transmission request for example, sensor information transmission request
  • the reception control unit 1 1 1 1 3 exchanges information such as the corresponding format with the communication destination via the communication unit 1 1 1 1 2 to establish communication.
  • the format conversion unit 1 1 1 4 When the received sensor information 1 0 3 7 is compressed or encoded, the format conversion unit 1 1 1 4 generates the sensor information 1 1 3 2 by performing decompression or decoding processing. .. The format conversion unit 1 1 1 1 4 does not perform decompression or decoding processing if the sensor information 1 0 3 7 is uncompressed data. ⁇ 2020/175 708 62 ⁇ (: 171-1? 2020 /008540
  • the three-dimensional data creation unit 1 1 1 6 creates 3D data 1 1 3 4 around the client device 9 0 2 based on the sensor information 1 1 3 2. For example, the 3D data creation unit 1 1 1 6! _ ⁇ The point cloud data with color information around the client device 90 2 is created using the information obtained in step 1 and the visible light image obtained by the visible light camera.
  • the 3D data composition unit 1 1 1 7 composes the 3D data 1 1 3 4 created based on the sensor information 1 1 3 2 into the 3D map 1 1 3 5 managed by the server 9 0 1. Update the 3D map 1 1 3 5 by doing.
  • the three-dimensional data storage unit 1 1 1 18 stores the 3D map 1 1 3 5 and the like.
  • the format conversion unit 1 1 1 1 9 generates the 3D map 1 0 3 1 by converting the 3D map 1 1 3 5 into a format that the receiving side supports.
  • the format conversion unit 1 1 1 1 9 may reduce the amount of data by compressing or encoding the 3D map 1 1 1 3 5. Also, the format conversion unit 1 1 1 1 9 may omit the processing if the format conversion is not required. Also, the format conversion unit 1 1 1 1 9 may control the amount of data transmitted according to the designation of the transmission range.
  • the communication unit 1 1 2 0 communicates with the client device 9 02 and receives a data transmission request (three-dimensional map transmission request) and the like from the client device 9 02.
  • the transmission control unit 1 1 1 2 1 exchanges information such as the supported format with the communication destination via the communication unit 1 1 1 2 0 and establishes communication.
  • the data transmission unit 1 1 2 2 uses the three-dimensional map 1 0 3 1 as the client device 9 0.
  • Three-dimensional map It is data including point cloud.
  • the 3D map 1 0 3 1 may contain either compressed or uncompressed data.
  • FIG. 31 is a flowchart showing the operation when the client device 902 acquires a three-dimensional map.
  • the client device 902 sends a 3D map (point ⁇ 2020/175 708 63 ⁇ (: 171-1? 2020 /008540
  • the client device 902 transmits the combined position information of the client device 902 obtained in ⁇ 3 etc. even if it requests the server 901 to transmit a three-dimensional map related to the position information. Good.
  • the client device 902 receives the three-dimensional map from the server 901 (31002). If the received 3D map is compressed data, the client device 902 decodes the received 3D map to generate an uncompressed 3D map (31 003).
  • the client apparatus 902 creates three-dimensional data 1034 around the client apparatus 902 from the sensor information 1033 obtained by the plurality of sensors 1015 (31004).
  • the client device 902 estimates the self-position of the client device 902 using the three-dimensional map 1032 received from the server 901 and the three-dimensional data 1034 created from the sensor information 1033 (31 005). ..
  • FIG. 32 is a flowchart showing the operation when the client device 902 transmits the sensor information.
  • the client device 902 receives a sensor information transmission request from the server 901 (31 01 1).
  • the client device 902 transmits the sensor information 1037 to the server 901 (31 01 2).
  • the sensor information 1033 includes a plurality of pieces of information obtained by a plurality of sensors 105
  • the client device 902 compresses each piece of information by a compression method suitable for each piece of information. May be generated.
  • the server 901 requests the client device 902 to transmit sensor information (31 02 1).
  • the server 901 receives the sensor information 1037 transmitted from the client device 902 in response to the request (31 022).
  • the server 901 creates three-dimensional data 1 1 34 using the received sensor information 1 037 (31 023).
  • the server 901 uses the created 3D data. ⁇ 2020/175 708 64 ⁇ (:171? 2020 /008540
  • FIG. 34 is a flow chart showing the operation when the server 901 transmits a three-dimensional map.
  • the server 901 receives a transmission request for a tertiary element map from the client device 92 (3 1 0 3 1).
  • the server 901 which has received the request for transmitting the three-dimensional map, transmits the three-dimensional map 1 0 3 1 to the client device 9 02 (3 1 0 3 2).
  • the server 9001 may extract a three-dimensional map in the vicinity according to the position information of the client device 900, and transmit the extracted three-dimensional map.
  • the server 9001 may compress the three-dimensional map composed of the point cloud using, for example, a compression method using an octree structure, and send the compressed three-dimensional map.
  • the server 901 receives the sensor information 1 0 3 received from the client device 902.
  • the server 9 0 1 matches the created 3D data 1 1 3 4 with the 3D map 1 1 3 5 of the same area managed by the server 9 0 1, thereby creating the 3D data 1 1 3 4.
  • the server 9 01 determines that some abnormality has occurred around the client device 90 2. For example, when subsidence occurs due to a natural disaster such as an earthquake, the 3D map 1 1 3 5 managed by the server 9 01 and the 3D map created based on the sensor information 1 0 3 7 are stored. It is conceivable that there will be a large difference with 1 1 3 4.
  • the sensor information 1037 may include information indicating at least one of a sensor type, a sensor performance, and a sensor model number. Further, the class information or the like according to the performance of the sensor may be added to the sensor information 103. For example, if the sensor information 1 0 3 7 is information acquired by !_ ⁇ 8, a sensor that can acquire information with accuracy of several units is class 1, and a sensor that can acquire information with accuracy of several units is class. 2. It is conceivable to assign an identifier to the sensor performance, such as class 3, for a sensor that can acquire information with an accuracy of several units. Also ⁇ 2020/175 708 65 ⁇ (:171? 2020 /008540
  • the server 9 01 may estimate the sensor performance information and the like from the model number of the client device 90 2.
  • the server 901 may determine the sensor specification information from the vehicle type of the vehicle.
  • the server 9001 may have acquired the vehicle type information of the vehicle in advance, or the sensor information may include the information.
  • the server 9101 may switch the degree of correction for the three-dimensional data 1 1 3 4 created using the sensor information 1 0 3 7 by using the acquired sensor information 1 0 3 7. For example, if the sensor performance is high accuracy (class 1), the server 901 does not perform correction on the three-dimensional data 1 1 3 4.
  • the server 90 1 applies correction to the 3D data 1 1 3 4 according to the accuracy of the sensor.
  • the server 9001 increases the degree of correction (strength) as the accuracy of the sensor decreases.
  • the server 9001 may simultaneously issue sensor information transmission requests to a plurality of client devices 902 in a certain space.
  • the server 9001 receives a plurality of sensor information from a plurality of client devices 902, it does not have to use all the sensor information to create the three-dimensional data 1 1 3 4.
  • the sensor information to be used may be selected according to the performance. For example, when updating the three-dimensional map 1135, the server 901, selects highly accurate sensor information (class 1) from the received multiple sensor information, and uses the selected sensor information. Three-dimensional data 1 1 3 4 may be created.
  • the server 9001 is not limited to a server such as a traffic monitoring cloud, but may be another client device (vehicle).
  • FIG. 35 is a diagram showing a system configuration in this case.
  • the client device 9 0 2 (3 can generate a three-dimensional map of the space that can be acquired from the client device 9 0 2 8 by utilizing the performance of the client device 9 0 2 (3.
  • the client device 9 0 2 (3 It is conceivable that such a case will occur when the value is high.
  • the client device 902 that has provided the sensor information is given the right to obtain the highly accurate three-dimensional map generated by the client device 9002.
  • the client device 900 receives the highly accurate three-dimensional map from the client device 900 according to its right.
  • the client device 92 is a plurality of client devices 9
  • a request for transmitting sensor information may be issued to the 0 2 (client device 900 and client device 90 2).
  • the client device 90 2 0 uses the sensor information obtained by this high performance sensor to generate the three-dimensional data. Can be created.
  • the client device 900 includes a three-dimensional map decoding processing unit 1 2 1 1 and a sensor information compression processing unit 1 2 1 2.
  • the three-dimensional map decoding processing unit 1 2 1 1 receives the encoded data of the compressed three-dimensional map and decodes the encoded data to obtain the three-dimensional map.
  • the sensor information compression processing unit 1 1 2 1 2 compresses the sensor information itself instead of the three-dimensional data created from the acquired sensor information, and sends the encoded data of the compressed sensor information to the server 9 0 1.
  • the client device 902 only needs to internally hold a processing unit (device or 1-3 I) that performs a process of decoding a three-dimensional map (point cloud or the like), and a three-dimensional map (point cloud or the like). ) It is not necessary to internally store the processing unit that performs the processing for compressing the three-dimensional data. This allows the client device 902 ⁇ 2020/175 708 67 ⁇ (: 171-1? 2020/008540
  • the client device 902 is mounted on a moving body, and the peripheral condition of the moving body obtained by the sensor 1015 mounted on the moving body is measured. Three-dimensional data 1 0 3 4 around the moving body is created from the indicated sensor information 1 0 3 3. The client device 90 2 estimates the self-position of the moving body by using the created three-dimensional data 1 0 3 4. The client device 90 2 transmits the acquired sensor information 1 0 3 3 to the server 9 0 1 or another mobile unit 9 02.
  • the client device 90 2 sends the sensor information 1 0 3 3 to the server.
  • the client device 902 can reduce the amount of data to be transmitted or simplify the device configuration.
  • the sensor information 1033 includes at least one of information obtained by the laser sensor, a luminance image, an infrared image, a depth image, sensor position information, and sensor speed information. ..
  • the sensor information 1033 includes information indicating the performance of the sensor.
  • the client device 90 2 encodes or compresses the sensor information 1 0 3 3, and in transmitting the sensor information, the sensor information 1 0 3 7 after the encoding or compression is sent to the server 9 0 3. 1 or send to another mobile unit 90 2. According to this, the client device 902 can reduce the amount of data to be transmitted.
  • the client device 902 includes a processor and a memory, and the processor uses the memory to perform the above processing. ⁇ 2020/175 708 68 ⁇ (: 171-1? 2020 /008540
  • the server 901 can communicate with the client device 902 mounted on the mobile body, and can be obtained by the sensor 1015 mounted on the mobile body.
  • the received sensor information 1 0 3 7 indicating the surrounding conditions of the mobile body is received from the client device 9 02.
  • Server 9 0 1 creates from the sensor information 1 0 3 7 received, the three-dimensional de _ evening 1 1 3 4 around the moving body.
  • the server 9 01 creates three-dimensional data 1 1 3 4 using the sensor information 1 0 3 7 transmitted from the client device 9 02.
  • the data amount of the transmission data may be reduced as compared with the case where the client device 9002 transmits three-dimensional data.
  • the processing amount of the client device 90 2 can be reduced. Therefore, the server 9001 can reduce the amount of data to be transmitted or can simplify the configuration of the device.
  • the server 9001 further transmits a sensor information transmission request to the client device 902.
  • the server 9 01 further updates the 3D map 1 1 3 5 using the created 3D data 1 1 3 4, and the 3D map 1 from the client device 9 0 2 is updated.
  • the 3D map 1 1 3 5 is transmitted to the client device 92 in response to the transmission request of 1 3 5.
  • the sensor information 1037 includes at least one of information obtained by the laser sensor, a brightness image, an infrared image, a depth image, sensor position information, and sensor speed information. ..
  • the sensor information 1037 includes information indicating the performance of the sensor.
  • the server 9001 further corrects the three-dimensional data according to the performance of the sensor. According to this, the three-dimensional data creation method can improve the quality of the three-dimensional data.
  • the server 9001 receives multiple sensor devices when receiving sensor information.
  • Multiple sensor information 1 0 3 7 is received from 92, and 3D data 1 1 3 4 based on multiple information indicating the sensor performance included in the multiple sensor information 1 0 3 7 ⁇ 2020/175 708 69 ⁇ (:171? 2020/008540
  • the server 901 can improve the quality of the three-dimensional data 1 1 3 4.
  • the server 901 decrypts or decompresses the received sensor information 1 0 37, and creates three-dimensional data 1 1 3 4 from the decrypted or decompressed sensor information 1 1 3 2. According to this, the server 9001 can reduce the amount of data transmitted.
  • the server 9001 includes a processor and a memory, and the processor uses the memory to perform the above processing.
  • FIG. 37 is a block diagram of three-dimensional data encoding apparatus 1300 according to the present embodiment.
  • the three-dimensional data coding device 1300 generates a coded bit stream (hereinafter, also simply referred to as a bit stream) that is a coded signal by coding three-dimensional data.
  • the three-dimensional data encoding device 1300 has a division unit 13001, a subtraction unit 1300, a conversion unit 1330, and a quantization unit 1300. 4, the inverse quantizer 1350, the inverse transformer 1306, the adder 1307, the reference volume memory 1308, the intra predictor 1309, and the reference predictor.
  • a pace memory 1 3 1 0, an inter prediction unit 1 3 1 1, a prediction control unit 1 3 1 2 and an entropy coding unit 1 3 1 3 are provided.
  • the division unit 1300 1 divides each space (30) included in the three-dimensional data into a plurality of volumes (!_ 1 ⁇ /1) that are encoding units. 1 represents the voxel in each volume as an octree representation ( ⁇ ⁇ ⁇ ).
  • the partitioning unit 1 3 0 1 has the same size space and volume.
  • the partitioning unit 1300 1 may add the information (depth information, etc.) necessary for octree partitioning to the bit stream header and the like.
  • the subtraction unit 1300 2 calculates the difference between the volume output from the division unit 1 3 0 1 (encoding target volume) and the prediction volume generated by intra prediction or inter prediction described later. , Change the calculated difference as the prediction residual ⁇ 2020/175 708 70 ⁇ (:171? 2020 /008540
  • FIG. 38 is a diagram showing a calculation example of the prediction residual.
  • the bit string of the encoding target volume and the prediction volume shown here is, for example, position information indicating the position of a three-dimensional point (for example, a point cloud) included in the volume.
  • FIG. 39 is a diagram showing a structural example of a volume including a plurality of voxels.
  • FIG. 40 is a diagram showing an example of converting the volume shown in FIG. 39 into an octree structure.
  • leaves 1, 2 and 3 represent the voxels ⁇ !_ 1, ⁇ !_ 2 and ⁇ !_ 3 shown in Fig. 39, respectively, including the point cloud!_. (Hereinafter, valid!_) is expressed.
  • the octree is represented by a binary sequence of 0 and 1, for example. For example, if a node or valid!_ has a value of 1 and the other values have a value of 0, the binary string shown in Figure 40 is assigned to each node and leaf. Then, this binary string is scanned according to the scan order of width priority or depth priority. For example, in the case of scanning with breadth priority, the binary string shown in 8 in Fig. 41 is obtained. When the depth-first scan is performed, the binary sequence shown in Fig. 41 is obtained. The binary string obtained by this scan is encoded by entropy coding to reduce the amount of information.
  • depth information in the octree representation will be described.
  • the depth in the octree representation is used to control the granularity of the point cloud information contained in the volume. If the depth is set large, the point cloud information can be reproduced to a finer level, but the amount of data for representing nodes and leaves will increase. Conversely, if the depth is set to a small value, the amount of data will decrease. You will lose. ⁇ 2020/175 708 71 ⁇ (: 171? 2020/008540
  • the octree shown in Fig. 42 has a smaller amount of data than the octree shown in Fig. 40. In other words, the octree shown in Fig. 42 has fewer bits after binarization than the octree shown in Fig. 42.
  • leaf 1 and leaf 2 shown in Fig. 40 are represented by leaf 1 shown in Fig. 41. In other words, the information that leaf 1 and leaf 2 shown in Figure 40 were at different positions is lost.
  • Fig. 43 shows a volume corresponding to the octree shown in Fig. 42.
  • the three-dimensional data encoding device 1300 generates the color information of 1_12 shown in FIG. 43 from the color information of 1!_1 and 2!_2 shown in FIG. 39. ..
  • the three-dimensional data encoder 1300 calculates the average value, the intermediate value, or the weighted average value of the color information of 1! and 1!2 as the color information of 1! ..
  • the three-dimensional data encoding device 1300 may control the reduction of the data amount by changing the depth of the octree.
  • the three-dimensional data encoding device 1300 may set the depth information of the octree in any of world unit, space unit, and volume unit. At that time, the three-dimensional data encoding device 1300 may add depth information to the world header information, the space header information, or the volume header information. Also, the same value may be used for depth information in all worlds, spaces, and volumes at different times. In this case, the three-dimensional data encoding device 1300 may add depth information to the header information that manages the world at all times.
  • the transforming unit 1303 applies frequency transform such as orthogonal transform to the prediction residual of the color information of the voxels in the volume.
  • frequency transform such as orthogonal transform
  • the conversion unit 133 creates a one-dimensional array by scanning the prediction residuals in a certain scan order.
  • the transforming unit 1303 transforms the one-dimensional array into the frequency domain by applying a one-dimensional orthogonal transform to the created one-dimensional array.
  • the value of minute increases and the value of high frequency components decreases. Therefore, the quantization unit 1304 can reduce the code amount more efficiently.
  • the transforming unit 1330 may use orthogonal transform of two or more dimensions instead of one dimension. For example, the transform unit 1330 maps the prediction residuals to a two-dimensional array in a certain scan order, and applies a two-dimensional orthogonal transform to the obtained two-dimensional array. Moreover, the transforming unit 1330 may select an orthogonal transform method to be used from a plurality of orthogonal transform methods. In this case, the three-dimensional data encoding device 1300 adds information indicating which orthogonal conversion method is used to the bit stream. Also, the transforming unit 1330 may select an orthogonal transform method to be used from a plurality of orthogonal transform methods having different dimensions. In this case, the three-dimensional data coding apparatus 1300 adds to the bit stream which dimension of the orthogonal transform method was used.
  • the transform unit 133 matches the scan order of the prediction residuals with the scan order in the octree of the volume (width priority or depth priority). As a result, it is not necessary to add information indicating the scan order of prediction residuals to the bit stream, thus reducing the overhead. Also, the conversion unit 1330 may apply a scan order different from the scan order of the octree. In this case, the three-dimensional data encoding device 1300 adds information indicating the scan order of the prediction residual to the bit stream. As a result, the three-dimensional data encoding device 1300 can efficiently encode the prediction residual.
  • the 3D data encoding device 1300 adds information (flags, etc.) indicating whether or not to apply the scan order of the octree to the bit stream, and does not apply the scan order of the octree.
  • information indicating the scan order of the prediction residual may be added to the bit stream.
  • the conversion unit 133 may convert not only the prediction residual of the color information but also other attribute information of the voxel.
  • the conversion unit 1330 may convert and encode information such as the reflectance obtained when the point cloud is acquired at the !_ head or the like.
  • the conversion unit 133 may skip the process when the space does not have attribute information such as color information.
  • flag indicating whether or not to skip the processing of part 133 may be added to the bit stream.
  • the quantizing unit 1304 generates quantization coefficients by quantizing the frequency components of the prediction residual generated by the transforming unit 1330, using the quantization control parameter. To do. This reduces the amount of information.
  • the generated quantized coefficient is output to the entropy coding unit 1 3 1 3.
  • the quantization unit 1304 may control the quantization control parameter in world units, space units, or volume units. In that case, the three-dimensional data encoding device 1300 adds a quantization control parameter to each header information and the like. Further, the quantizing unit 1304 may perform the quantization control by changing the weight for each frequency component of the prediction residual. For example, the quantizer 1304 may finely quantize low frequency components and roughly quantize high frequency components. In this case, the three-dimensional data encoding device 1300 may add a parameter representing the weight of each frequency component to the header.
  • the quantizer 1304 may skip the process. Also, the three-dimensional data encoding device 1300 may add information (flag) indicating whether or not to skip the processing of the quantizer 1300 to the bit stream.
  • the dequantization unit 1305 uses the quantization control parameter to dequantize the quantized coefficient generated by the quantization unit 1304, thereby dequantizing the prediction residual.
  • the coefficient is generated, and the generated inverse quantized coefficient is output to the inverse transform unit 1306.
  • the inverse transform unit 1306 generates an after-inverse-applied prediction residual by applying an inverse transform to the inverse quantized coefficients generated by the inverse quantization unit 1305. Since the prediction residual after application of the inverse transform is the prediction residual generated after the quantization, it does not have to completely match the prediction residual output by the transform unit 1300.
  • the intra prediction unit 1309 uses the attribute information of the contiguous volume stored in the reference volume memory 1308 to generate a prediction volume of the encoding target volume.
  • the attribute information includes color information or reflectance of voxels.
  • the intra prediction unit 1309 generates color information of the encoding target volume or a predicted value of reflectance.
  • FIG. 44 is a diagram for explaining the operation of the intra prediction unit 1309.
  • ⁇ 1 X 0).
  • the volume master is the identifier information added to the volume in the space, and a different value is assigned to each volume.
  • the order of allocation of the volume_X may be the same as the coding order or may be different from the coding order.
  • the prediction residual is generated by subtracting the predicted value of the color information from the color information of each voxel included in the encoding target volume.
  • the processing from the conversion unit 1300 3 onward is performed on this prediction residual.
  • the three-dimensional data encoding device 1300 adds the adjacent volume information and the prediction mode information to the bit stream.
  • the adjacent volume information is information indicating the adjacent volume used for the prediction, for example, the volume index X of the adjacent volume used for the prediction.
  • the prediction mode information indicates the mode used to generate the prediction volume. Mode, for example, the average value mode _ de generating a predicted value from the average value of voxels neighbor Volume _ the beam, or an intermediate value mode or the like for generating the predicted value from the intermediate value Pokuseru in adjacent volume is there.
  • the intra prediction unit 1309 may generate a prediction volume from a plurality of adjacent volumes. For example, in the configuration shown in FIG. ⁇ 2020/175 708 75 ⁇ (: 171-1? 2020/008540
  • the three-dimensional data encoding device 1300 may add a plurality of volume volumes X of a plurality of volumes used to generate the prediction volume to the bit stream.
  • FIG. 45 is a diagram schematically showing the inter prediction process according to the present embodiment.
  • the inter-prediction unit 1 3 1 1 encodes (inter-prediction) a space (30) at a certain time point using the encoded space at a different time point _!_ X.
  • the inter prediction unit 1 3 1 1 1 performs the coding process by applying the rotation and translation process to the coded spaces at different times.
  • the three-dimensional data encoding device 1300 adds to the bit stream the Ding information relating to the rotation and translation processing applied to the space at different times D_!_.
  • the different time point _!_ is, for example, the time point _!_ 0 before the certain time point _!_ 0.
  • the three-dimensional data encoding device 1 300 uses the time point _!_ Ding information D____ 0 related to rotation and translation processing applied to 0 space may be added to the bit stream.
  • the different time point _!_ ⁇ is, for example, the time point __1 after the certain time point _! li.
  • the three-dimensional data encoding device 1 300 Ding information related to rotation and translation processing applied to the space of Ding_!_ 1 Ding may be added to the bit stream.
  • Coding (bi-prediction) is performed by referring to both spaces of 1.
  • the three-dimensional data encoding device 1 300 adds both 8 information _!_ 0 and [3 ⁇ 4 _!_ 1 related to rotation and translation applied to each space to the bit stream. You may.
  • Ding —!_ 0 is set as the time earlier than “Ding__1, and Ding_1_1 is set as the time after Ding_0”, but it is not limited to this.
  • !_ 0 and Ding — Both L 1 may be before T- C ur.
  • both T_LO and T_L1 may be later than T-Cur.
  • the 3D data encoding apparatus 1300 manages a plurality of encoded spaces to be referred to by two reference lists (L 0 list and L 1 list). Let LO RO be the first reference space in the L 0 list, L 0 R 1 be the second reference space in the LO list, and L 1 RO be the first reference space in the L 1 list.
  • L 1 R 1 is the second reference space in the L 1 list
  • the three-dimensional data encoding device 1 300 uses the RT information RT—L 0 R 0 of L 0 R 0 and 1_ ⁇ [ [3 ⁇ 4 information [3 ⁇ 4 TLOR 1 of 3 ⁇ 4 1, RT information RTL 1 R 0 of L 1 R 0, and [3 ⁇ 4 ing information gRT_L 1 R 1 of 1_181 are added to the bit stream.
  • the three-dimensional data encoding device 1 300 adds these RT information to the bit stream header and the like.
  • the three-dimensional data encoding device 1300 determines whether to apply rotation and translation for each reference space. judge. At that time, the 3D data encoding device 1300 adds information (RT application flag etc.) indicating whether or not rotation and translation are applied to each reference space to the header information etc. of the bit stream. Good. For example, the three-dimensional data encoding device 1300 calculates RT information and a CP error value using ICP (Iteractive Loss Point) algorithm for each reference space referenced from the encoding target space.
  • ICP Interleactive Loss Point
  • the three-dimensional data encoding device 1300 determines that it is not necessary to rotate and translate and sets the RT applicable flag to OFF. On the other hand, when the CP error value is larger than the above-mentioned constant value, the three-dimensional data encoding device 1300 sets the RT applicable flag to ON and adds RT information to the bit stream. ⁇ 2020/175 708 77 ⁇ (:171? 2020/008540
  • Figure 46 shows It is a figure which shows the syntax example which adds Ding information and Ding application flag to a header.
  • the number of bits assigned to each syntax may be determined within the range that the syntax can take. For example, if the reference list 1_ 0 contains 8 reference spaces, 3 can be assigned to 0.
  • the number of allocated bits may be variable according to the value that each syntax can take, or may be fixed regardless of the value that the syntax can take. When the number of allocated bits is fixed, the three-dimensional data encoding device 1300 may add the fixed number of bits to another header information.
  • [0] [[]] is the rotation information of the reference space in the reference list !_ 0.
  • the rotation information indicates the content of the rotation processing applied, and is, for example, a rotation matrix or quaternion.
  • _____ 0 [_] is the translation information of the reference space in the reference list !_ 0.
  • the translation information indicates the content of the applied translation process, and is, for example, a translation vector.
  • [0405] 1 indicates the number of reference spaces included in the reference list !_ 1.
  • _ ⁇ 1 [ ⁇ ] is a flag applied to the reference space I in the reference list !_ 1. If the [3 ⁇ 4-dry I 3 9 I 1 [] is 1, rotation and translation will be applied to the reference space. [3 ⁇ 4__ I 3 9 I 1 When [ ⁇ ] is 0, rotation and translation are not applied to the reference space.
  • I 1 [ ⁇ ] is the rotation information of the reference space in the reference list !_ 1.
  • the rotation information indicates the content of the applied rotation processing, for example, For example, rotation matrix or quaternion.
  • TI 1 [i] is the translation information of reference space i in reference list L 1.
  • the translation information indicates the content of the applied translation process, and is, for example, a translation vector.
  • the inter prediction unit 1 3 1 1 1 1 1 generates a prediction volume of the encoding target volume using the information of the encoded reference space stored in the reference space memory 1 3 1 0. As described above, the inter prediction unit 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
  • the inter prediction unit 1 3 1 1 1 1 After that, the inter prediction unit 1 3 1 1 1 1 generates a prediction volume of the target volume to be encoded in the encoding target space using information in the target space B.
  • the three-dimensional data encoding device 1300 adds the R T information used to obtain the reference space B to the header information and the like of the encoding target space.
  • the inter prediction unit 1 3 1 1 1 1 applies the rotation and translation processing to the reference space to bring the overall position relationship between the coding target space and the reference space close to each other. Then, the accuracy of the prediction volume can be improved by generating the prediction volume using the information of the reference space. Also, since the prediction residual can be suppressed, the code amount can be reduced.
  • the C C is performed using the encoding target space and the reference space is shown, but the present invention is not limited to this.
  • the inter prediction unit 1 3 11 1 reduces at least the coding target space in which the number of voxels or point clouds is thinned and the reference space in which the number of voxels or point clouds is thinned in order to reduce the processing amount.
  • RT information may be obtained by performing ⁇ CP using one of them.
  • inter prediction unit 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ⁇ 2020/175 708 79 ⁇ (: 171-1? 2020/008540
  • the three-dimensional data encoding device 1300 may suppress the resource head by not adding the knitter information to the bit stream.
  • intra prediction may be applied to all the volumes of the coding target space.
  • the space to which intra prediction is applied is called intra space.
  • the second threshold is a value larger than the first threshold.
  • the method is not limited to ⁇ , and any method may be applied as long as it is a method of obtaining locating information from two poxel sets or two point cloud sets.
  • the volume with the smallest prediction residual which is the difference between the encoding target volume and the reference volume, is searched for.
  • the inter prediction unit 1 3 1 1 1 1 selects the volume with the smallest prediction residual as the prediction volume.
  • the prediction residual between the coding target volume and the prediction volume is coded by the processing of the conversion unit 133.
  • the prediction residual is the difference between the attribute information of the encoding target volume and the attribute information of the prediction volume.
  • the three-dimensional data encoding device 1300 can adjust the volume of the reference volume in the reference space referred to as the prediction volume. ⁇ 2020/175 708 80 ⁇ (: 171-1? 2020 /008540
  • the prediction control unit 133 1 2 controls which of intra prediction and intra prediction is used to encode the encoding target volume.
  • a mode including the intra prediction and the inter prediction is called a prediction mode.
  • the prediction control unit 133 1 2 calculates the prediction residual when the target volume is predicted by intra prediction and the prediction residual when it is predicted by inter prediction as evaluation values, and the evaluation value is small. Select the prediction mode.
  • the prediction control unit 133 1 2 determines the actual code amount by applying orthogonal transform, quantization, and entropy coding to the prediction residual of intra prediction and the prediction residual of inter prediction, respectively.
  • the prediction mode may be selected by calculating and using the calculated code amount as an evaluation value.
  • the prediction control unit 133 1 2 may always select intra prediction when it is determined in advance that the coding target space is coded in the intra space.
  • the entropy coding unit 1 3 1 3 generates a coded signal (coded bit stream) by variable-length coding the quantized coefficient that is the input from the quantization unit 1 3 0 4. .. Specifically, the entropy coding unit 1 3 13 3 binarizes the quantized coefficient and arithmetically codes the obtained binary signal, for example.
  • FIG. 48 is a block diagram of three-dimensional data decoding apparatus 1400 according to the present embodiment.
  • This three-dimensional data decoding device 1400 has an entropy decoding unit 1440 and an inverse quantization unit 1440. ⁇ 2020/175 708 81 ⁇ (: 171-1? 2020/008540
  • Inverse transform unit 1440 Inverse transform unit 1440, adder 1404, reference volume memory 1450, intra prediction unit 1406, reference space memory 1407, inter prediction unit A prediction control unit 1409 is provided.
  • the entropy decoding unit 1401 performs variable length decoding on the encoded signal (encoded bit stream). For example, the entropy decoding unit 1401 arithmetically decodes the coded signal to generate a binary signal, and generates a quantization coefficient from the generated binary signal.
  • the dequantization unit 1442 dequantizes the quantized coefficient input from the entropy decoding unit 1440 by using the quantization parameter added to the bit stream or the like. Generate inverse quantized coefficients.
  • the inverse transform unit 1443 generates a prediction residual by inversely transforming the inverse quantized coefficient input from the inverse quantization unit 1402.
  • the inverse transform unit 1403 generates a prediction residual by performing an inverse orthogonal transform on the inverse quantization coefficient based on the information added to the bit stream.
  • the addition unit 144 0 adds the prediction residual generated by the inverse transform unit 140 3 and the prediction volume generated by intra prediction or inter prediction to generate a reconstruction volume.
  • This reconstructed volume is output as decoded three-dimensional data and is also stored in the reference volume memory 1450 or the reference space memory 1407.
  • the intra prediction unit 144 06 generates a prediction volume by intra prediction using the reference volume in the reference volume memory 1450 and the information added to the bit stream. Specifically, the intra prediction unit 1406 obtains the adjacent volume information (for example, volume X) added to the bit stream and the prediction mode information, and calculates the adjacent volume indicated by the adjacent volume information. The prediction volume is generated by using the mode indicated by the prediction mode information. The details of these processes are the same as the processes by the intra prediction unit 139 described above, except that the information added to the bit stream is used. ⁇ 2020/175 708 82 ⁇ (:171? 2020 /008540
  • the inter prediction unit 1408 generates a prediction volume by inter prediction using the reference space in the reference space memory 1407 and the information added to the bit stream. Specifically, the inter prediction unit 1408 applies rotation and translation processing to the reference space by using the Ding information for each reference space added to the bit stream, and determines the reference space after application. To generate a predictive volume. If the bit application flag for each reference space exists in the bit stream, the inter prediction unit 1408 [applies rotation and translation processing to the reference space according to the 3 ⁇ 4 application flag. To do. Note that the details of these processes are the same as the processes by the inter prediction unit 1 3 1 1 described above, except that the information added to the bit stream is used.
  • the prediction control unit 1409 controls whether the decoding target volume is decoded by intra prediction or inter prediction. For example, the prediction control unit 1409 selects intra prediction or inter prediction according to the information indicating the prediction mode used, which is added to the bit stream. Note that the prediction control unit 1409 may always select intra prediction when it is determined in advance that the decoding target space is decoded in intra space.
  • the three-dimensional data encoding device 1300 may divide a space into subspaces and apply rotation and translation in subspace units. In this case, the three-dimensional data encoding device 1300 generates the Ding information for each subsystem and adds the created Ding information to the bit stream header or the like. Also, the three-dimensional data encoding device 1300 may apply rotation and translation in units of volume, which is an encoding unit.
  • the three-dimensional data encoding device 1300 generates code information for each coded volume unit and adds the generated eight information to the bit stream header or the like. Further, the above may be combined. In other words, the three-dimensional data encoding device 1300 applies rotation and translation in large units, and then applies rotation and translation in fine units. ⁇ 2020/175 708 83 ⁇ (:171? 2020 /008540
  • the three-dimensional data encoding device 1300 may change the size of the three-dimensional data by applying, for example, scale processing.
  • the three-dimensional data encoding device 1300 may apply any one or two of rotation, translation, and scale.
  • the treatment is applied in different units in multiple stages as described above, the kind of treatment applied to each unit may be different.
  • rotation and translation may be applied in space units, and translation may be applied in volume units.
  • FIG. 48 is a flow chart of the overnight prediction process by the three-dimensional data encoding device 1300.
  • the three-dimensional data encoding device 1300 determines the position of a three-dimensional point included in reference three-dimensional data (for example, reference space) at a different time from target three-dimensional data (for example, encoding target space).
  • the information is used to generate predicted position information (eg, predicted volume) (3 1 3 0 1).
  • the three-dimensional data encoding device 1300 generates the predicted position information by applying the rotation and translation processing to the position information of the three-dimensional points included in the reference three-dimensional data.
  • the three-dimensional data encoding device 1300 performs rotation and translation processing in the first unit (for example, space), and generates predicted position information in the second unit, which is smaller than the first unit. (Eg volume).
  • the three-dimensional data encoding device 1300 has a difference in position information between the encoding target volume included in the encoding target space and the position information among the plurality of volumes included in the reference space after the rotation and translation processing. Search for the volume with the minimum and predict the obtained volume ⁇ 2020/175 708 84 ⁇ (: 171? 2020 /008540
  • the three-dimensional data encoding device 1300 may perform rotation and translation processing and generation of predicted position information in the same unit.
  • the three-dimensional data encoding device 1300 applies the first rotation and translation processing in the first unit (for example, space) to the position information of the three-dimensional points included in the reference three-dimensional data.
  • Predicted position information is generated by applying the second rotation and translation process to the position information of the 3D point obtained by the first rotation and translation process in the second unit (for example, volume) which is smaller than the first unit. You may.
  • the position information of the three-dimensional point and the predicted position information are represented by an octree structure, as shown in Fig. 41, for example.
  • the position information and the predicted position information of the three-dimensional point are expressed in the scan order in which the width has priority among the depth and the width in the octree structure.
  • the position information and the predicted position information of the three-dimensional point are expressed in the scan order in which the depth has priority among the depth and the width in the octree structure.
  • the three-dimensional data encoding device 1300 determines whether or not to apply rotation and translation processing to the position information of the three-dimensional points included in the reference three-dimensional data. Encode the indicated 3 ⁇ 4 application flag. That is, the three-dimensional data encoding device 1300 Generates a coded signal (coded bit stream) that includes the Ding applicable flag. Also, the three-dimensional data encoding device 1300 encodes the Ding information indicating the contents of the rotation and translation processing. That is, the three-dimensional data encoding device 1300 generates [encoded signal including encoded information (encoded bit stream). Note that the three-dimensional data encoding device 1300 is Encode the Ding information when the Ding application flag indicates that rotation and translation processing is applied, The Ding information may not be encoded when the Ding flag indicates that rotation and translation processing is not applied.
  • the three-dimensional data includes, for example, position information of three-dimensional points and attribute information (color information, etc.) of each three-dimensional point.
  • the three-dimensional data encoding device 1300 generates prediction attribute information using the attribute information of the three-dimensional points included in the reference three-dimensional data (3 1 3 0 2) 0
  • the three-dimensional data encoding device 1300 is included in the target three-dimensional data. ⁇ 2020/175 708 85 ⁇ (:171? 2020 /008540
  • the position information of the three-dimensional point is encoded using the predicted position information.
  • the three-dimensional data encoding device 1300 calculates difference position information which is the difference between the position information of the three-dimensional point included in the target three-dimensional data and the predicted position information as shown in FIG. 38 (31 303). ..
  • the three-dimensional data encoding device 1300 encodes the attribute information of the three-dimensional points included in the target three-dimensional data, using the prediction attribute information. For example, the three-dimensional data encoding device 1300 calculates difference attribute information which is a difference between the attribute information of the three-dimensional point included in the target three-dimensional data and the prediction attribute information (31 304).
  • the three-dimensional data encoding device 1300 performs conversion and quantization on the calculated difference attribute information (31 305).
  • the three-dimensional data encoding device 1300 encodes (for example, entropy encoding) the difference position information and the quantized difference attribute information (31 306). That is, the three-dimensional data encoding device 1300 generates an encoded signal (encoded bit stream) including the difference position information and the difference attribute information.
  • the three-dimensional data encoding device 1300 does not have to perform steps 31302, 31304, and 31305. Further, the three-dimensional data encoding device 1300 may perform only one of the encoding of the position information of the three-dimensional point and the encoding of the attribute information of the three-dimensional point.
  • the order of the processing illustrated in FIG. 49 is an example, and the order is not limited to this.
  • the processing for location information (31 301, 31 303) and the processing for attribute information (31 302, 31 304, 31 305) are independent of each other, they may be performed in any order. Good, or some may be processed in parallel.
  • the 3D data encoding apparatus 1 300 generates predicted position information using the 3D point position information included in the reference 3D data at a time different from the target 3D data. Then, the difference position information that is the difference between the position information of the three-dimensional point included in the target three-dimensional data and the predicted position information is encoded. As a result, the data amount of the encoded signal can be reduced, so that the encoding efficiency can be improved. ⁇ 2020/175 708 86 ⁇ (: 171-1? 2020 /008540
  • the three-dimensional data encoding apparatus 1300 generates prediction attribute information using the attribute information of the three-dimensional points included in the reference three-dimensional data, and the target three-dimensional data is generated.
  • the difference attribute information which is the difference between the attribute information of the three-dimensional point included in the data and the predicted attribute information, is encoded. As a result, the data amount of the encoded signal can be reduced, and thus the encoding efficiency can be improved.
  • the three-dimensional data encoding device 1300 includes a processor and a memory, and the processor performs the above processing using the memory.
  • FIG. 4 8 is a flow _ Chiya _ Bok inter prediction processing by the three-dimensional data decoding apparatus 1 4 0 0.
  • the three-dimensional data decoding device 140 0 decodes (eg, entropy_decoding) the differential position information and the differential attribute information from the encoded signal (encoded bit stream) (3 1 4 0 1).
  • the three-dimensional data decoding apparatus 140 0 indicates whether or not to apply rotation and translation processing to the position information of the three-dimensional points included in the reference three-dimensional data from the encoded signal. Decode the Ding applicable flag. In addition, the three-dimensional data decoding device 1400 decodes the Ting information indicating the contents of the rotation and translation processing. The three-dimensional data decoding device 140 Decoding the Ding information if the Ding application flag indicates that rotation and translation processing is applied, It is not necessary to decode the Ding information when the Ding application flag indicates that the rotation and translation processing is not applied.
  • the three-dimensional data decoding apparatus 140 0 performs inverse quantization and inverse transformation on the decoded differential attribute information (3 1 402).
  • the three-dimensional data decoding device 1400 obtains the position information of the three-dimensional points included in the reference three-dimensional data (for example, the reference space) at a different time from the target three-dimensional data (for example, the decoding target space). It is used to generate predicted position information (eg predicted volume) (3 1 4 0 3). Specifically, the three-dimensional data decoding device 1400 generates predicted position information by applying rotation and translation processing to the position information of the three-dimensional points included in the reference three-dimensional data.
  • predicted position information eg predicted volume
  • the three-dimensional data decoding device 1400 generates predicted position information by applying rotation and translation processing to the position information of the three-dimensional points included in the reference three-dimensional data.
  • the three-dimensional data decoding device 140 ⁇ 2020/175 708 87 ⁇ (: 171-1? 2020 /008540
  • Rotation and translation processing is applied to the position information of the 3D points included in the reference 3D data indicated by the Ding information.
  • the three-dimensional data decoding device 1400 determines whether the rotation and translation processing is performed on the position information of the three-dimensional point included in the reference three-dimensional data. Does not apply.
  • the three-dimensional data decoding device 1400 performs rotation and translation processing in a first unit (for example, space), and generates predicted position information in a second unit that is smaller than the first unit (for example, space). Volume). Note that the three-dimensional data decoding device 1400 may perform rotation and translation processing and generation of predicted position information in the same unit.
  • the three-dimensional data decoding apparatus 140 applies the first rotation and translation processing in the first unit (for example, space) to the position information of the three-dimensional points included in the reference three-dimensional data
  • the predicted position information is generated by applying the second rotation and translation process in the second unit (for example, volume) that is smaller than the first unit to the position information of the three-dimensional point obtained by the one rotation and translation process. May be.
  • the position information of the three-dimensional point and the predicted position information are represented by an octree structure, as shown in Fig. 41, for example.
  • the position information and the predicted position information of the three-dimensional point are expressed in the scan order in which the width has priority among the depth and the width in the octree structure.
  • the position information and the predicted position information of the three-dimensional point are expressed in the scan order in which the depth has priority among the depth and the width in the octree structure.
  • the three-dimensional data decoding apparatus 1400 generates prediction attribute information using the attribute information of the three-dimensional points included in the reference three-dimensional data (314044).
  • the three-dimensional data decoding apparatus 140 0 decodes the coding position information included in the coded signal using the predicted position information to detect the three-dimensional points included in the target three-dimensional data. Restore location information.
  • the encoded position information is, for example, difference position information
  • the three-dimensional data decoding device 140 0 includes it in the target three-dimensional data by adding the difference position information and the predicted position information. Restore the position information of 3D points (3 1 4 0 5). ⁇ 2020/175 708 88 ⁇ (: 171-1? 2020 /008540
  • the three-dimensional data decoding device 1400 decodes the coded attribute information included in the coded signal using the prediction attribute information, thereby performing the attribute of the three-dimensional point included in the target three-dimensional data.
  • Restore information
  • the encoded attribute information is, for example, difference attribute information
  • the three-dimensional data decoding device 140 0 includes it in the target three-dimensional data by adding the difference attribute information and the prediction attribute information. Restore the attribute information of 3D points (3 1 4 0 6).
  • the 3D data decoding apparatus 1400 performs steps 3 1 4 0 2, 3 1 4 0 4 and 3 1 4 0 6. It does not have to be. Further, the three-dimensional data decoding device 1400 may perform only one of the decoding of the position information of the three-dimensional point and the decoding of the attribute information of the three-dimensional point.
  • the order of processing illustrated in Fig. 50 is an example, and the present invention is not limited to this.
  • the processing for location information (3 1 4 0 3, 3 1 4 0 5) and the processing for attribute information (3 1 4 0 2, 3 1 4 0 4, 3 1 4 0 6) are mutually Since they are independent, they may be performed in any order, and some may be processed in parallel.
  • the information of the three-dimensional point cloud includes the position information (9 6 0 01 6 1 "so") and the attribute information (8 1: r ⁇ but &).
  • the position information is the coordinates (X coordinate) based on a certain point.
  • V coordinate, horizontal coordinate are included.
  • the position information instead of directly coding the coordinates of each 3D point, the position of each 3D point is expressed by an octree representation and the information of the octree is coded. A method of reducing the quantity is used.
  • the attribute information includes information indicating the color information of each three-dimensional point (eg, ⁇ , ⁇ IIV), reflectance, and a normal vector.
  • the three-dimensional data encoding device can encode the attribute information using an encoding method different from the position information.
  • the three-dimensional data encoding device multiplies the attribute information by a scale value and then rounds it to an integer value so that the attribute information value becomes an integer value. Good.
  • the three-dimensional data encoding device may add the scale value to the bit stream header or the like.
  • a predicted value of the attribute information of the three-dimensional point is calculated, and the difference (prediction residual) between the value of the original attribute information and the predicted value is encoded.
  • the predicted value can be generated with high accuracy, the value of the difference absolute value approach becomes small. Therefore, for example, it is possible to reduce the code amount by entropy-encoding the absolute difference value 0°C using a coding table in which the smaller the value, the smaller the number of generated bits.
  • the 3D data encoding apparatus determines that the position of the 3D point q is close to the position of the target 3D point. Then, it is determined that the value of the attribute information of the 3D point is used to generate the predicted value of the attribute information of the target 3D point.
  • the distance calculation method may be different. For example, Mahalanobis distance or the like may be used.
  • the three-dimensional data encoding device may determine that a three-dimensional point outside the predetermined distance range from the target three-dimensional point is not used in the prediction process.
  • the cubic element data encoding device You may decide not to use it for prediction. Note that the three-dimensional data encoding device may add the information indicating the threshold TH d to the header of the bit stream or the like.
  • FIG. 51 is a diagram showing an example of three-dimensional points.
  • the distance d (p, q) between the target 3D point p and the 3D point q is smaller than the threshold TH d. Therefore, the 3D data encoder determines that the 3D point q is the reference 3D point of the target 3D point P, and the 3D point q is used to generate the predicted value P p of the attribute information A p of the target 3D p. It is determined that the value of the attribute information A q of is used.
  • the 3D data encoder determines that the 3D point r is not the reference 3D point of the target 3D point P, and the 3D point is used to generate the predicted value PP of the attribute information A p of the target 3D point P. It is determined that the value of attribute information A r of r is not used.
  • the 3D data encoding apparatus refers to the 3D point that has already been encoded and decoded as the 3D point. To use.
  • the 3D data decoding apparatus uses the 3D point whose attribute information has already been decoded as the reference 3D point. By this means, the same predicted value can be generated at the time of encoding and at the time of decoding, so that the bit stream of the cubic element generated by encoding can be correctly decoded on the decoding side.
  • each classified layer is called Lo D (L e v e l o f D e t a i l).
  • the method of generating L ⁇ D will be explained using Fig. 52.
  • the 3D data encoder selects the initial point a 0 and assigns it to Lo DO. ⁇ 2020/175 708 91 ⁇ (: 171-1? 2020/008540
  • the three-dimensional data encoding device extracts a point 3 1 whose distance from the point 30 is larger than the threshold value "63_1- ⁇ 0 [0]" of 1_ ⁇ 00 and assigns it to !_ ⁇ 00.
  • the three-dimensional data encoding device extracts a point 32 whose distance from the point 31 is larger than the threshold value “63_1- ⁇ 0 [0]” of !_ ⁇ 00 and assigns it to 1_ ⁇ 00.
  • the three-dimensional data encoding device uses the distance between each point in 1_ Configure 1_00 to be larger than [0].
  • the three-dimensional data encoding device selects a point 0 for which 1_ ⁇ 0 has not been assigned yet, and assigns it to 1_ ⁇ 01.
  • the three-dimensional data encoding device extracts the point clot 1 where the distance from the point 130 is larger than the threshold value "63_1_0 0 [1] at !_ ⁇ 01 and !_ ⁇ 0 is an unallocated point.
  • the three-dimensional data coding device determines that the distance from point 1 is greater than the threshold value “63_1_ ⁇ 0 [1], and !_ ⁇ 0 is greater than the threshold value!
  • the unassigned points 2 are extracted and assigned to !_ ⁇ 01. In this way, the three-dimensional data encoding device determines that the distance between each point in !_ ⁇ 01 is the threshold threshold II "63".
  • the three-dimensional data encoding device selects a point ⁇ 0 where !_ ⁇ 0 is not yet assigned, and! Allocate to _ ⁇ 02.
  • the 3D data encoding device extracts the point ⁇ 1 that is not assigned yet, and the distance from the point ⁇ 0 is larger than the threshold value “63_1_ ⁇ 0 [2] of !_ ⁇ 02.
  • the 3D data encoding device determines that the distance from the point ⁇ 1 is larger than the threshold value 63_1 _ 0 0 [2] of !_ ⁇ 02, and 1_ ⁇ 0 is.
  • the unassigned points ⁇ 2 are extracted and assigned to 1 _ 02.
  • the distance between the points in 1 _ 02 is the threshold value II “63 _!_ ⁇ ”.
  • the threshold of each 1-0 port is 1" 1" 65 !_ ⁇ 0 [0], Ding 1".
  • 1 “65 1_ ⁇ ⁇ [1]” and “63 1 !_ ⁇ 0 [2]” are set.
  • the three-dimensional data encoding device may add information indicating the threshold value of each !_OO to the header of the bit stream or the like. For example, in the case of the example shown in FIG. 53, the three-dimensional data encoding apparatus uses the threshold value 11 “63_1_ ⁇ 0 [0],
  • the three-dimensional data encoding device may assign all the three-dimensional points to which L ⁇ D has not been assigned, to the lowest layer of L ⁇ D. In this case, the three-dimensional data encoding device can reduce the code amount of the header by not adding the threshold of the lowest layer of L 0 D to the header. For example, in the case of the example shown in FIG. 53, the three-dimensional data encoder adds thresholds T hres L o D [0] and T hres L o D [1] to the header, and sets T hres _ L o D [2 ] Is not added to the header.
  • the three-dimensional data decoding device may estimate the value of T hres L o D [2] to be 0. Also, the three-dimensional data encoding device may add the number of layers of L ⁇ D to the header. As a result, the 3D data decoding device can determine the lowest layer L0D using the number of layers of L0D.
  • the method of selecting the initial three-dimensional points when setting each L ⁇ D may depend on the coding order at the time of position information coding. For example, the three-dimensional data encoding device selects the three-dimensional point first encoded at the time of position information encoding as the initial point a0 of L ⁇ D0, and the point a 1 , Point a 2 and configure L ⁇ D 0. Then, the three-dimensional data encoding device selects the three-dimensional point having the earliest position information encoded among the three-dimensional points not belonging to Lo DO as the initial point b 0 of L ⁇ D 1. May be.
  • the three-dimensional data encoding device as the initial point n O of L o D n, among the three-dimensional points that do not belong to the upper layer of L ⁇ D n (L o DO ⁇ L o D n _ 1), The earliest three-dimensional point whose position information is encoded may be selected.
  • the three-dimensional data decoding device can configure the same LoD as at the time of encoding by using the same initial point selection method at the time of decoding, and thus can appropriately decode the bit stream.
  • the three-dimensional data decoding device is
  • a method of generating a predicted value of attribute information of a three-dimensional point using the information of 1_00 will be described.
  • a three-dimensional data encoding device When encoding from the 3D point included in _ ⁇ 0 0 in order, the target 3D point included in 1 _ ⁇ 0 1 is It is generated using the encoded and decoded attribute information (hereinafter also simply referred to as “encoded”) included in _ ⁇ 0 0 and !_ ⁇ 0 1. In this way, the three-dimensional data encoding device calculates the predicted value of the attribute information of the three-dimensional points included in L o D n as!
  • the 3D data encoding apparatus does not use the attribute information of the 3D points included in the lower layer of L 0 0 n to calculate the predicted value of the attribute information of the 3D points included in L 0 0 n.
  • the three-dimensional data encoding device calculates the predicted value of the attribute information of the three-dimensional point by 1 ⁇ 1 of the encoded three-dimensional points around the target three-dimensional point to be encoded. It is generated by calculating the average of the attribute values of the following three-dimensional points. Also, the three-dimensional data encoding device may add the value of 1 ⁇ 1 to the header of the bit stream or the like. Note that the 3D data encoding device may change the value of 1 ⁇ 1 for each 3D point and add the value of 1 ⁇ ! for each 3D point. This makes it possible to select an appropriate 1 ⁇ 1 for each 3D point, improving the accuracy of the predicted value. Therefore, the prediction residual can be reduced.
  • the 3D data encoding device may add the value of 1 ⁇ 1 to the header of the bit stream and fix the value of 1 ⁇ ! in the bit stream. This eliminates the need to encode or decode the 1 ⁇ 1 value for each 3D point, thus reducing the amount of processing.
  • the three-dimensional data encoding device is! The value of 1 ⁇ 1 may be encoded separately for each _____. As a result, encoding efficiency can be improved by selecting an appropriate 1 ⁇ 1 for each !_ ⁇ port.
  • the upper layer of 1_ ⁇ units sets the value of 1 ⁇ 1 larger and Set the value of 1 ⁇ 1 to be smaller for layers.
  • the distance between the three-dimensional points to which they belong is large, so there is a possibility that the prediction accuracy can be improved by setting a large value of and selecting multiple surrounding three-dimensional points and averaging. is there.
  • the distance between the three-dimensional points to which it belongs is close, so it is possible to set a small value of 1 ⁇ 1 and suppress the processing amount of averaging, while performing efficient prediction. Become.
  • FIG. 54 is a diagram showing an example of the attribute information used for the predicted value.
  • the surrounding point' is selected based on the distance to the point.
  • the predicted value of the attribute information for point 2 shown in Fig. 54 is generated using the attribute information for points 3 0, 3 1, 3 2 ,step 0, and step 1.
  • the predicted value is calculated by a distance-dependent weighted average.
  • the predicted value 32 of the point 32 is calculated by the weighted average of the attribute information of the points 30 and 31 as shown in (Equation 8 2) and (Equation 8 3). Is calculated.
  • is the value of the attribute information of 3 points.
  • the predicted value of the point 2 is 2 as shown in (Equation 8 4) to (Equation 8 6). ⁇ 0 2020/175 708 95 ⁇ (: 17 2020 /008540
  • the 3D data encoding apparatus calculates the difference value (prediction residual) between the value of the attribute information of the 3D point and the prediction value generated from the surrounding points, and calculates the calculated prediction residual. It may be quantified. For example, a three-dimensional data encoding device performs quantization by dividing a prediction residual by a quantization scale (also called a quantization step). In this case, the smaller the quantization scale, the smaller the error (quantization error) that can occur due to quantization. The larger the Doji aids _ Lumpur to reverse Doji of error is greater ing.
  • a quantization scale also called a quantization step
  • the three-dimensional data encoding device may change the quantization scale to be used for each 1_OO.
  • three-dimensional data coding apparatus to reduce the quantization scale _ le as upper layer, to increase the quantization scale _ le as the lower layer. Since the value of the attribute information of the three-dimensional points belonging to the upper layer may be used as the predicted value of the attribute information of the three-dimensional points belonging to the lower layer, the quantization scale of the upper layer should be reduced. The coding efficiency can be improved by suppressing the quantization error that can occur in the higher layers and increasing the accuracy of the predicted value.
  • the three-dimensional data encoding device is! A quantification scale to be used for each _____ may be added to the header or the like.
  • the three-dimensional data decoding device can correctly decode the quantization scale, and thus can properly decode the bit stream.
  • the three-dimensional data encoding apparatus can convert a signed integer value (signed quantized value), which is the prediction residual after quantization, into an unsigned integer value (unsigned quantized value). Good. This eliminates the need to consider the occurrence of negative integers when entropy coding the prediction residual. Note that the three-dimensional data encoding device does not necessarily need to convert a signed integer value into an unsigned integer value, and may, for example, separately entropy-encode the code bit.
  • the prediction residual is calculated by subtracting the prediction value from the original value.
  • the prediction residual a 2 ”of the point a 2 is obtained by subtracting the prediction value a 2 p of the point a 2 from the value A 2 of the attribute information of the point a 2 as shown in (Equation A 7).
  • Prediction residual b 2 of point b 2 is the prediction value b 2 p of point b 2 subtracted from the attribute information value B 2 of point b 2 as shown in (Equation A 8) It is calculated by
  • the prediction residual is Q S (quantization step (Q u a n t i z a t i o n
  • Quantized by being divided by S t e p) For example, the quantized value a 2 q of the point a 2 is calculated by (Equation A9).
  • the quantized value b 2 q of the point b 2 is calculated by (Equation A 10 ).
  • QS_L ⁇ DO is QS for Lo DO
  • QS Lo D1 is QS for Lo D1. That is, Q S may change depending on L o D.
  • the three-dimensional data encoding device converts the signed integer value, which is the quantized value, into an unsigned integer value as follows.
  • the signed integer value a 2 q is less than 0, the three-dimensional data coding device sets the unsigned integer value a 2 u to 1 _ (2X a 2 q).
  • the signed integer value a 2 q is 0 or more, the three-dimensional data coding device sets the unsigned integer value a 2 u to 2 X a 2 q.
  • the three-dimensional data coding device sets the unsigned integer value b2u to 1_(2Xb2q).
  • the evening encoder sets the unsigned integer value b 2 u to 2X b 2 q.
  • the three-dimensional data encoding device may encode the quantized prediction residual (unsigned integer value) by entropy encoding.
  • unsigned integer values may be binarized and then binary arithmetic coding may be applied.
  • the three-dimensional data encoding device may switch the binarization method according to the value of the prediction residual. For example, if the prediction residual P u is smaller than the threshold R_T H, the three-dimensional data encoding device binarizes the prediction residual p u with the fixed number of bits required to express the threshold R_T H. Also, if the prediction residual P u is greater than or equal to the threshold R_T H, the three-dimensional data encoding device sets the binarization data of the threshold R_T H and the value of (pu — R— TH) to the exponential Golomb (E xponentia I — Go I ⁇ mb) and so on.
  • three-dimensional data encoding device is a threshold [3 ⁇ 4_ Ding 1 to 1 63, if the prediction residuals pu is 63 less than binarizes with 6 bit prediction residual pu. Also, when the prediction residual pu is 63 or more, the three-dimensional data encoder uses the exponential Golomb for the binary data (1 1 1 1 1 1) and (pu ⁇ 63) of the threshold RTH. Then, binary coding is performed to perform arithmetic coding.
  • the three-dimensional data encoder generates 6-bit binary data (1 00000) when the prediction residual pu is 32, and arithmetically encodes this bit string. To do.
  • the three-dimensional data encoder uses a bit data that expresses the binary data (1 1 1 1 1 1) of the threshold R_T H and the value 3 (66-63) by exponential Golomb. Generates the sequence (001 00) and the sequence of bits (1 1 1 1 1 1 +001 00) is arithmetically encoded.
  • the three-dimensional data encoding device sets the threshold value R_T H small. As a result, it is possible to prevent a sudden increase in bit length of the binarized data.
  • the three-dimensional data encoding device switches the threshold R_TH for each Lo D,
  • the threshold R_T H for each L ⁇ D may be added to the header or the like. That is, the three-dimensional data encoding device may switch the binarization method for each L ⁇ D. For example, in the upper layer, the distance between the three-dimensional points is long, so the prediction accuracy is poor and the prediction residual may become large as a result. Therefore, the three-dimensional data encoding device prevents the sudden increase in the bit length of the binarized data by setting the threshold value R_T H small for the upper layer. Also, in the lower layer, the distance between the 3D points is short, so the prediction accuracy is high and the prediction residual may be small as a result. Therefore, the three-dimensional data coding apparatus improves the coding efficiency by setting a large threshold value R_T H for the hierarchy.
  • Fig. 55 is a diagram showing an example of the exponential Golomb code, and is a diagram showing a relationship between a value (multi-valued) before binarization and a bit (code) after binarization. Note that 0 and 1 shown in FIG. 55 may be reversed.
  • the three-dimensional data encoding device applies arithmetic encoding to the binarized data of the prediction residual.
  • the coding efficiency can be improved.
  • the n-bit code (n-bitcode)
  • n-bitcode which is the binarized part of the n-bit data
  • the part of the binarized data that is binarized using the exponential Golomb The remaining code and the occurrence of 0 and 1 in each bit ⁇ 2020/175 708 99 ⁇ (: 171-1? 2020 /008540
  • the probabilities of probabilities may differ. Therefore, the three-dimensional data encoding device may switch the application method of arithmetic encoding between the n-bit code and the remaining code.
  • the three-dimensional data encoding device performs arithmetic encoding on an n-bit code by using a different encoding table (probability table) for each bit.
  • the three-dimensional data encoding device may change the number of encoding tables used for each bit.
  • the three-dimensional data encoding device performs arithmetic encoding using one encoding table for the first bit 0 of the 0-bit code.
  • the tertiary data encoder uses two encoding tables for the next bit 1.
  • the three-dimensional data encoding device switches the encoding table used for the arithmetic encoding of the bit 131 depending on the value of 0 (0 or 1).
  • the ternary data encoder uses four encoding tables for the next bit 2 further.
  • the three-dimensional data encoding device switches the encoding table used for the arithmetic encoding of bit excavation 2 in accordance with the values (0 to 3) of the excavation 0 and the excavation 1.
  • the three-dimensional data encoding apparatus uses each bit bit n_ of the closed bit code.
  • the three-dimensional data encoding device switches the encoding table to be used according to the value (generation pattern) of the bits before n _1.
  • the three-dimensional data encoding device can use an appropriate encoding table for each bit, so that the encoding efficiency can be improved.
  • the three-dimensional data encoding device may reduce the number of encoding tables used for each bit. For example, the three-dimensional data encoding device uses each bit b n _
  • the three-dimensional data encoding device may update the occurrence probabilities of 0 and 1 in each encoding table according to the value of the actually generated binarized data. Further, the three-dimensional data encoding device may fix the occurrence probabilities of 0 and 1 in the bit encoding table of the _ part. As a result, ⁇ 2020/175708 100 ⁇ (: 171-1? 2020 /008540
  • the closed-bit code is 0 0, 1 1 and 2 n-1
  • There are two coding tables for swallow 1 ( ⁇ swallow 10 and 0 swallow 11).
  • the coding table to be used is switched according to the value of 0 (0 to 1).
  • There are four coding tables for Sengoku 2 ( ⁇ 7b 20 s ⁇ Sengoku 21 1, 07 b 22 s 07 b 23).
  • the encoding table to be used is switched according to the values of 0 and 131 (0 to 3).
  • the encoding table for 13 n-1 is 2 " -1 (CT bn O, CT bn 1, ,07 b ⁇ (2 11-1 — 1) ).
  • 1 ⁇ 013 The coding table to be used can be switched according to ( ⁇ ⁇ 11-1 — 1).
  • FIG. 56 is a diagram for explaining the process when the remaining code is an exponential Golomb code, for example.
  • the remaining code which is the binarized part using the exponential Golomb, includes the “6 dry X part and the 3 dry X part as shown in FIG. , ⁇ Switch the encoding table with X section. That is, the three-dimensional data encoding device
  • Each bit included in the X section is arithmetically encoded using the encoding table for 6 X, and each bit included in the 3 X 1 X section is 3 X 1 X. Arithmetic coding using the coding table for.
  • the three-dimensional data encoding device may update the occurrence probabilities of 0 and 1 in each encoding table according to the value of the actually generated binarized data.
  • the three-dimensional data encoding device may fix the occurrence probabilities of 0 and 1 in either encoding table.
  • the number of updates of the occurrence probability can be suppressed, and the processing amount can be reduced.
  • a three-dimensional data encoding device is The occurrence probability may be updated for the fix part and the occurrence probability may be fixed for the suffix part.
  • the three-dimensional data encoding apparatus decodes the quantized prediction residual by dequantizing and reconstructing it, and the decoded value that is the decoded prediction residual is decoded into the three-dimensional data of the encoding target. It is used for prediction after the point. Specifically, the three-dimensional data encoding device calculates an inverse quantized value by multiplying the quantized prediction residual (quantized value) by a quantization scale, and calculates the inverse quantized value and the predicted value. And are added to obtain the decoded value (reconstruction value).
  • the inverse quantized value a 2 i q of the point a 2 is calculated by (Equation A 1 1) using the quantized value a 2 q of the point a 2.
  • the inverse quantized value b 2 i q of the point b 2 is calculated by (Equation A 1 2) using the quantized value b 2 q of the point b 2.
  • Q S Lo DO is 0 3 for 1_00
  • QS Lo D 1 is Q S for L 0 D 1. That is, Q S may be changed according to L ⁇ D.
  • FIG. 57 is a diagram showing a syntax example of an attribute header (attribute _ header) according to the present embodiment.
  • the attribute header is header information of attribute information. As shown in Fig.
  • the attribute header has hierarchical level information (N u mL ⁇ D), three-dimensional score information (N um ⁇ f P ⁇ int [i]) and hierarchical threshold (T hres L od [i ]), surrounding point information (N u mN eighor Point [i]), prediction threshold (TH d [i]) and quantization scale (QS [ i]) and a binarization threshold (R_TH[i]).
  • the number-of-layers information indicates the number of L ⁇ D layers used.
  • the three-dimensional score information (N u m ⁇ f P ⁇ int [i]) indicates the number of tertiary element points belonging to hierarchy i.
  • the three-dimensional data encoding device may add three-dimensional point total number information (A I N U mO f P o i n t) indicating the total number of three-dimensional points to another header. In this case, the three-dimensional data encoding device does not need to add N u mO f P o i n t [N umL o D — 1] indicating the number of three-dimensional points belonging to the lowest layer to the header.
  • the three-dimensional data decoding device can calculate N u m ⁇ f P o i n t [N u mL o D-1] by (Equation A 15). As a result, the code amount of the header can be reduced.
  • the layer threshold (Thr e s Lo d [i]) is a threshold value used for setting the layer i.
  • the three-dimensional data encoding device and the three-dimensional data decoding device configure L o D i such that the distance between points in L o D i is larger than a threshold T h re s L o D [i].
  • the three-dimensional data encoding device does not need to add the value of Thre s Lo d [N umL o D — 1] (lowermost layer) to the header.
  • the three-dimensional data decoding apparatus estimates the value of Thr e s Lo d [N umL o D — 1] as ⁇ . Thereby, the code amount of the header can be reduced.
  • the surrounding point information (N u mN eighor Point [i]) indicates the upper limit value of the surrounding points used for generating the predicted value of the three-dimensional point belonging to the hierarchy i.
  • the three-dimensional encoder encodes M surrounding points if the surrounding number M is less than N u mN eighor P oint [i] (M ⁇ N u mN eighor P oint [i] ).
  • the predicted value may be calculated using this.
  • the prediction threshold (Cho! [ ⁇ ]) is the upper limit of the distance between the surrounding three-dimensional point used for prediction of the target cubic element point to be encoded or decoded in the hierarchical matrix and the target three-dimensional point. Show.
  • the three-dimensional data encoding device and the three-dimensional data decoding device do not use a three-dimensional point whose distance from the target three-dimensional point is more than 1 to 1 [I] for prediction. If it is not necessary to divide the value of TH d [I] in each Lo D, the 3D data encoding device uses one prediction threshold value (all 1 to 1) used for all !_ ⁇ 0. ) May be added to the header.
  • quantization scale indicates the quantization scale _ le are found using the quantization and inverse quantization of the hierarchical ⁇ .
  • the binarization threshold ([3 ⁇ 4_c 1 to 1 [ ⁇ ]) is a threshold for switching the binarization method of the prediction residual of the three-dimensional point belonging to the hierarchy ⁇ .
  • the three-dimensional data encoding device is Is smaller than binarizes the prediction residual Li in a fixed number of bits, if the prediction residual is the threshold [of 3 ⁇ 4_ Ding 1-1 above, the threshold value [the binary data of 3 ⁇ 4_ Ding 1-1 binarizes using exponential Golomb value of (Li [3 ⁇ 4_ Ding 1 to 1). If it is not necessary to switch the value of R_T H [I] at each Lo D, the 3D data encoder uses one binarization threshold ([[ 3 ⁇ 4_c 1 ⁇ 1) may be added to the header.
  • [ ⁇ ] may be the maximum value that can be represented by nb ⁇ 1:.
  • the three-dimensional data encoding device uses N u mL o D, T hre s_L od [i], N u mN eighbor Point [i], TH d [i], QS [i], and R_TH [ At least one of i] may be entropy-coded and added to the header.
  • the three-dimensional data encoding device may binarize each value and perform arithmetic coding.
  • the three-dimensional data encoding device may encode each value with a fixed length in order to suppress the processing amount.
  • the three-dimensional data encoding device uses N u mL o D, T hre s_L od [i], N u mN eighbor Point [i], TH d [i], QS [i], and R_TH. It is not necessary to add at least one of [i] to the header. For example, at least one of these values may be specified by standards such as p r o f i e or e V e e. This can reduce the amount of header bits.
  • FIG. 58 is a diagram showing a syntax example of the attribute data (a t r i b u t e d a t a) according to the present embodiment.
  • This attribute data includes encoded data of attribute information of a plurality of three-dimensional points.
  • the attribute data includes an n-bit code (n—b i t c o d e) and a remaining code (r e m a i n i n g c o d e ).
  • the remaining code is the coded data of the prediction residual of the value of the attribute information, which is coded by exponential Golomb. This remaining code is encoded or decoded when the n-bit code is the same as R_TH [i]. Also, the three-dimensional data decoding device adds the value of the n-bit code and the value of the remaining code to decode the prediction residual. Note that the n-bit code is the same as R_TH [i]. ⁇ 2020/175708 105 ⁇ (: 171-1? 2020/008540
  • the remaining code may not be encoded or decoded.
  • Fig. 59 is a flow chart of the three-dimensional data encoding processing by the three-dimensional data encoding device.
  • the three-dimensional data coding apparatus uses octree representation.
  • the 3D data encoding apparatus After the position information is encoded, if the position of the 3D point changes due to quantization or the like, the 3D data encoding apparatus outputs the attribute information of the original 3D point to the changed 3D point.
  • Reassign (3300).
  • the three-dimensional data encoding device performs reallocation by interpolating the value of attribute information according to the amount of change in position.
  • the 3D data encoder detects 1 ⁇ 1 3D points before the change that are close to the 3D position after the change, and weights and averages the attribute information values of the 1 ⁇ 1 3D points. ..
  • the three-dimensional data encoding device determines the weight based on the distance from the changed three-dimensional position to each 1 ⁇ 1 three-dimensional in the weighted average. Then, the three-dimensional data encoding device determines the value obtained by the weighted average as the value of the attribute information of the changed three-dimensional point. In addition, when two or more 3D points change to the same 3D position due to quantization, etc., the 3D data encoding device uses the value of the attribute information of the 3D point after the change as the value before the change. The average value of the attribute information of two or more three-dimensional points may be assigned.
  • the three-dimensional data encoding device uses the attribute information (8 1 1 " Are encoded (3 0 0 3). For example, when the three-dimensional data encoding device encodes a plurality of types of attribute information, the three-dimensional data encoding device may sequentially encode a plurality of types of attribute information. For example, when the color and reflectance are encoded as the attribute information, the three-dimensional data encoding device may generate a bit stream in which the reflectance encoding result is added after the color encoding result. Good.
  • the order of the plurality of encoding results of the attribute information added to the bit stream is not limited to this order and may be any order. ⁇ 2020/175708 106 ⁇ (: 171-1?2020/008540
  • the three-dimensional data encoding device may add information indicating the encoded data start position of each attribute information in the bit stream to a header or the like. With this, the three-dimensional data decoding device can selectively decode the attribute information that needs to be decoded, so that the decoding process of the attribute information that does not need to be decoded can be omitted. Therefore, the processing amount of the three-dimensional data decoding device can be reduced. Also, the three-dimensional data encoding device may encode multiple types of attribute information in parallel and combine the encoded results into one bit stream. Thereby, the three-dimensional data encoding device can encode a plurality of types of attribute information at high speed.
  • Fig. 60 is a flowchart of the attribute information encoding process (33003).
  • the three-dimensional data encoding device is! Set _ 0 0 (3301 1). In other words, the 3D data encoding device assigns each 3D point to any of a plurality of !_ ⁇ 0.
  • the three-dimensional data encoding device starts a loop for each three-dimensional point (3
  • the three-dimensional data encoding device repeats the processing of steps 3 301 4 to 33020 for each three-dimensional point.
  • the three-dimensional data encoding device searches for a plurality of surrounding points, which are three-dimensional points existing around the target three-dimensional point, which are used to calculate the predicted value of the target three-dimensional point to be processed. (3301 4).
  • the three-dimensional data encoding device calculates a weighted average of the values of the attribute information of a plurality of surrounding points, and sets the obtained value as the predicted value (33015).
  • the three-dimensional data encoding device calculates a prediction residual which is a difference between the attribute information of the target three-dimensional point and the predicted value (33016).
  • the tertiary data encoding device calculates a quantized value by quantizing the prediction residual (33017).
  • the three-dimensional data encoding device arithmetically encodes the quantized value (33018).
  • the three-dimensional data encoding apparatus dequantizes the quantized value to dequantize it. ⁇ 2020/175 708 107 ⁇ (: 171-1? 2020/008540
  • the three-dimensional data encoding device is! End the loop of _ 0 0 units (3 3 0 2 2).
  • the three-dimensional data decoding device performs arithmetic decoding of the binarized data of the attribute information in the bit stream generated by the three-dimensional data encoding device in the same manner as the three-dimensional data encoding device. Then, the decrypted binarized data is generated. It should be noted that, in the three-dimensional data encoding device, arithmetic coding is performed on the part binarized with 1 ⁇ ! bits (11-bit code) and the part binarized with exponential Golomb (remaining code). When the application method is switched, the three-dimensional data decoding device performs decoding according to the applied arithmetic decoding.
  • the three-dimensional data decoding apparatus performs arithmetic decoding using a different encoding table (decoding table) for each bit.
  • the three-dimensional data decoding device may change the number of coding tables used for each bit. For example, arithmetic decoding is performed by using one coding table for the first bit 0 of the closed bit code.
  • the 3D data decoding device uses two coding tables for the next bit 1.
  • the 3D data decoding device switches the coding table used for arithmetic decoding of bit 1 according to the value of 0 (0 or 1).
  • the three-dimensional data decoding device uses four coding tables for the next bit bit 2.
  • the three-dimensional data decoding device switches the coding table used for arithmetic decoding of the bit 2 in accordance with the values of 0 and 3 (0 to 3).
  • the three-dimensional data decoding device uses 2 "encoding tables when performing arithmetic decoding on each bit bit n _ 1 of the closed bit code. ⁇ 2020/175 708 108 ⁇ (: 171-1? 2020 /008540
  • the evening decoding device switches the coding table to be used according to the value of the bit (occurrence pattern) before n _1.
  • the three-dimensional data decoding device can appropriately decode the bit stream with improved coding efficiency by using an appropriate coding table for each bit.
  • the three-dimensional data decoding device may reduce the number of coding tables used for each bit. For example, the three-dimensional data decoding device, when arithmetically decoding each bit bit n _ 1, outputs 2 bits depending on the value (generation pattern) of the bit (m ⁇ n _ 1) before bn _ 1.
  • the encoding table of may be switched. As a result, the three-dimensional data decoding device can appropriately decode a bit stream with improved coding efficiency while suppressing the number of coding tables used for each bit.
  • the ternary data decoding apparatus may update the occurrence probabilities of ⁇ and 1 in each encoding table according to the value of the actually generated binarized data. Also, the three-dimensional data decoding device may fix the occurrence probabilities of 0 and 1 in the coding table of some bits. As a result, the number of updates of the occurrence probability can be suppressed and the processing amount can be reduced.
  • the closed-bit code is 0 0 1 1 2 n-1
  • There are two coding tables for swallow 1 ( ⁇ swallow 10 and 0 swallow 11).
  • the encoding table is switched according to the value of 0 (0 to 1).
  • There are 4 encoding tables for swallow 2 ( ⁇ swallow 20, 0 swallow 21, 07 b22 s swallow 23).
  • the encoding table is switched according to the values of 0 and 1 (0 to 3).
  • the encoding table for _ 1 is 2 " -1 (0 _ _ _ 0, _ 0_ _ 1, 07 bn (2 "1)).
  • Bull is switched - codes catheter according to (0-2 "- - 1 1).
  • FIG. 61 is a diagram for explaining a process when the remaining code is an exponential Golomb code, for example.
  • three-dimensional data decoding apparatus "6 Ji ⁇ X portion ⁇ 2020/175 708 109 ⁇ (: 171-1? 2020 /008540
  • the three-dimensional data decoding device may update the occurrence probabilities of 0 and 1 in each coding table according to the value of the binarized data generated at the time of decoding.
  • the three-dimensional data decoding device may fix the occurrence probabilities of 0 and 1 in either of the coding tables.
  • the number of updates of the occurrence probability can be suppressed, and the processing amount can be reduced.
  • the three-dimensional data decoding device may update the occurrence probability for “6 bytes X part and fix the occurrence probability for 3 parts X part.
  • the three-dimensional data decoding device quantizes the binarized data of the prediction residual, which has been arithmetically decoded, by performing multi-value quantization according to the encoding method used in the three-dimensional data encoding device. Decode the subsequent prediction residual (unsigned integer value).
  • the three-dimensional data decoding device first calculates the value of the decoded n-bit code by arithmetically decoding the binary data of the n-bit code.
  • the three-dimensional data decoding device compares the value of the 0-bit code with the value of [3 ⁇ 4_c 1 to 1].
  • the three-dimensional data decoding device determines that the bit coded by exponential Golomb exists next, and The remaining code, which is the binarized data encoded by Golomb, is arithmetically decoded. Then, the three-dimensional data decoding device calculates the value of the remaining code from the decoded remaining code using a reverse lookup table showing the relationship between the remaining code and its value.
  • FIG. 62 is a diagram showing an example of a reverse lookup table showing the relationship between the remaining symbols and their values.
  • the ternary data decoding apparatus obtains the multi-valued quantized prediction residual by adding the value of the obtained residual code to [3 ⁇ 4_c 1 to 1].
  • the encoding device can appropriately decode the bit stream generated by switching the binarization method according to the value of the prediction residual in the three-dimensional data encoding device.
  • the three-dimensional data decoding apparatus uses the threshold value [3 ⁇ 4_c1-1 to 1 when added to the header of the bit stream, It is also possible to decode the value of from the header and switch the decoding method using the value of the decoded threshold value [3 ⁇ 4_c 1 to 1]. Also, three-dimensional de - evening decoding apparatus, when 1- ⁇ necked each threshold [3 ⁇ 4_ Ding 1 to 1 are added to the header or the like, the threshold value decoded for each 1_ ⁇ port [3 ⁇ 4_ Ding 1 Use 1 to switch the decoding method.
  • the three-dimensional data decoding device should decode the remaining code by exponential Golomb.
  • the value of the remaining code is obtained with.
  • the remaining code is 0 0 1 0 0, and 3 is obtained as the value of the remaining code.
  • the three-dimensional data decoding device obtains a prediction residual value 6 6 by adding the threshold value [3 ⁇ 4_ 1 to 1 value 6 3 and the residual code value 3 3].
  • the three-dimensional data decoding device sets the n-bit code value 32 to the prediction residual value.
  • the three-dimensional data decoding device converts the decoded and quantized prediction residual from an unsigned integer value to a signed integer value by, for example, a process reverse to the process in the three-dimensional data encoding device. To do. As a result, the three-dimensional data decoding device can appropriately decode the generated bit stream without considering the occurrence of negative integers when entropy coding the prediction residual. Note that the 3D data decoding device does not necessarily have to convert an unsigned integer value into a signed integer value.For example, when decoding a bit stream generated by separately entropy-encoding a code bit, the code Bits may be decrypted.
  • the three-dimensional data decoding device generates a decoded value by decoding the quantized prediction residual converted into a signed integer value by inverse quantization and reconstruction. Also, the three-dimensional data decoding device uses the generated decoded value for prediction after the three-dimensional point to be decoded. Specifically, the three-dimensional data decoding device calculates an inverse quantization value by multiplying the prediction residual after quantization by the decoded quantization scale, and the inverse quantization The decoded value is obtained by adding the value and the predicted value.
  • the decoded unsigned integer value (unsigned quantized value) is converted into a signed integer value by the following processing.
  • the three-dimensional data decoding device sets the signed integer value a 2 q to _ ((a 2 u + 1) >>1 ).
  • the three-dimensional data decoding device sets the signed integer value a 2 q to (a 2 u>>1) when L SB of the unsigned integer value a 2 u is not 1.
  • the three-dimensional data decoding device uses the L-value of the decoded unsigned integer value b 2 u.
  • FIG. 63 is a flowchart of the three-dimensional data decoding processing by the three-dimensional data decoding device.
  • the three-dimensional data decoding device decodes the position information (geometry) from the bit stream (S3031). For example, the three-dimensional data decoding device performs decoding using an octree representation.
  • the three-dimensional data decoding device decodes the attribute information (Attribute) from the bit stream (S3032). For example, when decoding a plurality of types of attribute information, the three-dimensional data decoding device may sequentially decode a plurality of types of attribute information. For example, when decoding color and reflectance as attribute information, the three-dimensional data decoding apparatus decodes the color coding result and the reflectance coding result in the order added to the bit stream. To do. For example, in the bit stream, if the coding result of reflectance is added after the coding result of color, the three-dimensional data decoding device decodes the coding result of color and then Decode the encoding result. The three-dimensional data decoding device may decode the coding result of the attribute information added to the bit stream in any order. ⁇ 2020/175 708 1 12 ⁇ (: 171-1? 2020/008540
  • the three-dimensional data decoding device may acquire information indicating the encoded data start location of each attribute information in the bit stream by decoding a header or the like. Accordingly, the three-dimensional data decoding device can selectively decode the attribute information that needs to be decoded, and thus the decoding process of the attribute information that does not need to be decoded can be omitted. Therefore, the processing amount of the three-dimensional data decoding device can be reduced. Also, the 3D data decoding device may decode a plurality of types of attribute information in parallel and integrate the decoding results into one 3D point cloud. Thereby, the three-dimensional data decoding device can decode a plurality of types of attribute information at high speed.
  • Fig. 64 is a flow chart of the attribute information decoding process (3303 2).
  • the 3D data decoding device is! Set _ ⁇ 0 (3 3 0 4 1). That is, the three-dimensional data decoding device assigns each of the plurality of three-dimensional points having the decoded position information to any of the plurality of 1-OO.
  • this allocation method is the same as the allocation method used in the three-dimensional data encoding device.
  • the three-dimensional data decoding device starts a loop of 1_0000 units (3304). In other words, the three-dimensional data decoding device uses steps 333 0 4 3 every 1 _ 0 0. The process of is repeated.
  • the three-dimensional data decoding device starts a loop for each three-dimensional point (3 3
  • the three-dimensional data decoding device searches for a plurality of surrounding points, which are three-dimensional points existing around the target three-dimensional point, which are used to calculate the predicted value of the target three-dimensional point to be processed ( 3 3 0 4 4).
  • the three-dimensional data decoding device calculates a weighted average of the values of the attribute information of a plurality of surrounding points, and sets the obtained value as the predicted value (3 3 0 4 5). Note that these processes are the same as the processes in the three-dimensional data encoding device.
  • the three-dimensional data decoding apparatus arithmetically decodes the quantized value from the bit stream (3 3 0 4 6). Further, the three-dimensional data decoding device calculates an inverse quantized value by inversely quantizing the decoded quantized value (3 0 4 7). Then three-dimensional The data decoding device generates a decoded value by adding the prediction value to the dequantized value (S3048). Next, the three-dimensional data decoding device ends the loop for each three-dimensional point (S3049). In addition, the three-dimensional data decoding device ends the loop in LoD units (S3050).
  • FIG. 65 is a block diagram showing the configuration of three-dimensional data encoding apparatus 3000 according to the present embodiment.
  • the three-dimensional data encoding device 3000 includes a position information encoding unit 3001, an attribute information reassignment unit 3002, and an attribute information encoding unit 3003.
  • the attribute information encoding unit 3003 encodes position information (geometry) of a plurality of three-dimensional points included in the input point group.
  • the attribute information reassignment unit 3002 reassigns the values of the attribute information of a plurality of three-dimensional points included in the input point group by using the encoding and decoding results of the position information.
  • the attribute information encoding unit 3003 encodes the re-allocated attribute information (a t r i b u t e).
  • the three-dimensional data encoding device 3000 generates a bit stream including encoded position information and encoded attribute information.
  • FIG. 66 is a block diagram showing a configuration of the three-dimensional data decoding device 3010 according to the present embodiment.
  • the three-dimensional data decoding device 301 0 includes a position information decoding unit 301 1 and an attribute information decoding unit 301 2.
  • the position information decoding unit 3011 decodes position information (geometry) of a plurality of three-dimensional points from the bit stream.
  • the attribute information decoding unit 3012 decodes attribute information (a t t r i b u t e) of a plurality of three-dimensional points from the bit stream.
  • the three-dimensional data decoding device 3010 also generates an output point cloud by combining the decoded position information and the decoded attribute information.
  • the three-dimensional data encoding device performs the process shown in Fig. 67.
  • the three-dimensional data encoding device encodes a three-dimensional point having attribute information.
  • the three-dimensional data encoding device calculates the predicted value of the attribute information of the three-dimensional point (S 306 1 ).
  • the 3D data encoding device ⁇ 2020/175 708 1 14 ⁇ (:171? 2020 /008540
  • the prediction residual which is the difference between the attribute information of and the predicted value, is calculated (3306 2).
  • the three-dimensional data coding device generates binary data by binarizing the prediction residual (3 0 6 3).
  • the three-dimensional data encoding device arithmetically encodes the binary data (3 0 0 6 4).
  • the three-dimensional data encoding device calculates the prediction residual of the attribute information, and further binarizes and arithmetically encodes the prediction residual to encode the attribute information.
  • the code amount of data can be reduced.
  • the three-dimensional data coding device uses a different coding table for each bit of binary data. According to this, the tertiary data encoding device can improve the encoding efficiency.
  • the three-dimensional data encoding device calculates the target bit according to the value of the upper bit of the target bit included in the binary data. Select the encoding table to use for encoding. According to this, the three-dimensional data encoding apparatus can select the encoding table according to the value of the upper bit, and thus the encoding efficiency can be improved.
  • the three-dimensional data encoding apparatus predicts the prediction residual with a fixed number of bits. the difference generates binary data in Rukoto be binarized, the prediction residual threshold when it is ([3 ⁇ 4_ Ding 1-1) above, the threshold value ([3 ⁇ 4_ Ding 1-1) fixed bit number indicating the The first code (n-bit code) and the second code (remaining code) binarized by Exponential Golomb for the value obtained by subtracting the threshold value (8_c! ⁇ 1) from the prediction residual. Generate value data.
  • the three-dimensional data coding device uses different arithmetic coding methods for the first code and the second code in the arithmetic coding (33064).
  • the three-dimensional data encoding device can arithmetically encode the first code and the second code by an arithmetic encoding method suitable for each of the first code and the second code, for example.
  • the coding efficiency can be improved. ⁇ 2020/175708 115 ⁇ (: 171-1?2020/008540
  • the three-dimensional data encoding device quantizes the prediction residual and binarizes (33
  • the quantized prediction residual is binarized.
  • the threshold value ([3 ⁇ 4_Ding 1 to 1) is changed according to the doji conversion scale in doji conversion. According to this, the three-dimensional data encoding device can use an appropriate threshold value according to the quantization scale, so that the encoding efficiency can be improved.
  • the second code includes "6 bytes X part and 3 bytes X part.
  • the 3D data encoding device uses " 6 bytes X" in arithmetic coding (33064).
  • the different coding tables are used for the three-dimensional data coding unit and the three-dimensional drying unit X. This allows the three-dimensional data coding device to improve coding efficiency.
  • the three-dimensional data encoding device includes a processor and a memory, and the processor performs the above processing using the memory.
  • the three-dimensional data decoding device performs the process shown in Fig. 68.
  • the three-dimensional data decoding device decodes a three-dimensional point having attribute information.
  • the three-dimensional data decoding device calculates the predicted value of the attribute information of the three-dimensional point (3 307 1 ).
  • the three-dimensional data decoding device generates binary data by arithmetically decoding the encoded data included in the bit stream (33072).
  • the three-dimensional data decoding device generates a prediction residual by converting the binary data into multiple values (33073).
  • the three-dimensional data decoding device calculates the decoded value of the attribute information of the three-dimensional point by adding the prediction value and the prediction residual (33074).
  • the three-dimensional data decoding device calculates the prediction residual of the attribute information, and further, binarizes and binary-codes the prediction residual to generate a bit of the attribute information generated. Stream can be properly decoded.
  • the three-dimensional data decoding device uses a different encoding table for each binary data bit. According to this, the three-dimensional data decoding apparatus can appropriately decode the bit stream with improved coding efficiency.
  • the three-dimensional data decoding device determines the arithmetic recovery of the target bit according to the value of the high-order bit of the target bit included in the binary data. Select the encoding table used for the signal. According to this, the three-dimensional data decoding apparatus can appropriately decode the bit stream with improved coding efficiency.
  • the three-dimensional data decoding device multi-values the first code (the closed-bit code) with a fixed number of bits included in the binary data in the multi-valued (3 0 7 3). To generate the first value.
  • the three-dimensional data decoding device determines the first value as the prediction residual when the first value is smaller than the threshold value ([3 ⁇ 4_Cing 1 to 1 ),
  • the 2nd value is generated by converting the 2nd code (residual code), which is the exponential Golomb code included in the binary data, into the 2nd value, and the 1st value and the 2nd value are generated.
  • a prediction residual is generated by adding the value and.
  • the three-dimensional data decoding device uses different arithmetic decoding methods for the first code and the second code in arithmetic decoding (3302).
  • the three-dimensional data decoding apparatus can appropriately decode a bit stream with improved coding efficiency.
  • the three-dimensional data decoding apparatus dequantizes the prediction residual and adds (3 3 0
  • the predicted value and the dequantized prediction residual are added.
  • Threshold [3 ⁇ 4_ Ding 1-1) is changed in accordance with the child scale in the inverse child of. According to this, the three-dimensional data decoding apparatus can appropriately decode the bit stream with improved coding efficiency.
  • the second code and a "6 NOTE ⁇ X unit, 3 and a re Bi Gan ⁇ X portion.
  • 3D - data decoding apparatus the arithmetic decoding (3 3 0 7 2)," 6 Ji
  • Different encoding tables are used for the X section and the three-dimensional dry X section, which allows the 3D data decoding device to properly decode a bit stream with improved coding efficiency.
  • the three-dimensional data decoding device includes a processor and a memory, and the processor performs the above processing using the memory.
  • the prediction value may be generated by a method different from that of the eighth embodiment.
  • the 3D point to be encoded may be referred to as the 1st 3D point, and the 3D points around it may be referred to as the 2nd 3D point.
  • the attribute of the three-dimensional point having the shortest distance among the encoded and decoded surrounding three-dimensional points of the third-dimensional point to be encoded The value may be directly generated as the predicted value.
  • the prediction mode information (“6 IV! ⁇ 6”) is added to each 3D point, and the predicted value can be generated by selecting one predicted value from multiple predicted values. That is, for example, in the prediction mode of total number IV!, the prediction mode 0 is the average value, the prediction mode 1 is the attribute value of the 3D point 8, and the prediction mode IV!-1 is the attribute of the 3D point.
  • the first prediction mode value indicating the prediction mode may be smaller than the second prediction mode value indicating the second prediction mode in which the attribute information itself of the surrounding three-dimensional points is calculated as the prediction value.
  • the “average value”, which is the predicted value calculated in mode 0, is the average value of the attribute values of the 3D points around the 3D point to be encoded.
  • FIG. 69 is a diagram showing a first example of a table showing prediction values calculated in each prediction mode according to the ninth embodiment.
  • FIG. 70 is a diagram showing an example of attribute information used for predicted values according to the ninth embodiment.
  • FIG. 71 is a diagram showing a second example of a table showing prediction values calculated in each prediction mode according to the ninth embodiment.
  • the prediction mode number 1 ⁇ /1 may be added to the bit stream. Also, the number of prediction modes 1 ⁇ /1 is not added to the bit stream, and
  • the predicted value of the attribute information of the point 2 can be generated using the attribute information of the points 30 , 3 1, 3 2, and point 1.
  • the prediction mode may be selected in which the attribute values of the points 30, 31 and 32 and the cave 1 are generated as the predicted values.
  • the prediction mode is added for each 3D point to be encoded.
  • the predicted value is calculated according to the value according to the added prediction mode.
  • the predicted value of the attribute information at point 32 can be generated using the attribute information at points 30 and 31.
  • the attribute value of each point 30 and 31 is set as the prediction value based on the distance information from each point 30 to each store 30 and 31.
  • the prediction mode _ de to be generated may be selected.
  • Prediction mode _ de is added for each three-dimensional point of the encoding target. The predicted value is calculated according to the value according to the added prediction mode.
  • the prediction mode values may be assigned in the order of distance from the 3D point to be encoded.
  • the prediction mode value indicating a plurality of prediction modes is smaller as the distance from the 3D element to be encoded to the surrounding 3D points having the attribute information used as the prediction value is smaller.
  • the distance to point 3 which is the 3D point to be encoded is close in the order of 30.
  • the attribute information of point 1 is calculated as the prediction value in the prediction mode in which the prediction mode value of the two or more prediction modes is "1", and the prediction mode value is "2".
  • the attribute information at point 32 is calculated as the prediction value.
  • the prediction mode value that indicates the prediction mode in which the attribute information of point 1 is calculated as the predicted value is the predicted value of the attribute information of point 3 2 that is located farther than point 1 from point 2
  • the prediction mode value that indicates the prediction mode in which the attribute information of point 1 is calculated as the predicted value is the predicted value of the attribute information of point 3 2 that is located farther than point 1 from point 2
  • the prediction mode value that indicates the prediction mode in which the attribute information of point 1 is calculated as the predicted value is the predicted value of the attribute information of point 3 2 that is located farther than point 1 from point 2
  • FIG. 72 is a diagram showing a third example of a table showing prediction values calculated in each prediction mode according to the ninth embodiment.
  • the third example is an example in which the attribute information used for the predicted value is a value based on the color information of the surrounding three-dimensional points (11).
  • the attribute information used for the predicted value may be color information indicating the color of the three-dimensional point.
  • the prediction value calculated in the prediction mode in which the prediction mode value is "0" is the average of the respective components of II V that define the II V color space.
  • the predicted values are points 1, 3, 2, 3 1,
  • the weighted average value 36 of each of the corresponding 1, 2, 3, 2, 3 1, and 3 0, and the corresponding 1, 3, 2 3, 3 1, 3 0 Is the value of the II component corresponding to The weighted average II 3 V 6 of 11 3 2, 11 3 1, and II 3 0 and the values of the V components corresponding to the points 1, 3 2, 3 1, and 30 respectively, V well 1 and V 3 2 , 3 1, and a weighted average of V 3 0, V 3 V 6, and.
  • the prediction value calculated in the prediction mode in which the prediction mode value is represented by “1” to “4” includes the color information of the surrounding three-dimensional dots 1, 3, 2, 31 and 30 respectively. ..
  • the color information is indicated by a combination of the values of the primary component, the secondary component, and the V component.
  • two or more averages or attribute information may be calculated as the prediction value of the prediction mode. Also, two or more averages or attribute information may indicate the values of two or more components that define the color space. ⁇ 2020/175708 120 ⁇ (: 171-1? 2020/008540
  • the negative component, the re-component, and the V component of the attribute value of the 3D point to be encoded are selected.
  • the components may be coded using the predicted values 3 2, II a 2 and V 32, respectively. In this case, “2” as the prediction mode value is added to the bit stream.
  • FIG. 73 is a diagram showing a fourth example of a table showing prediction values calculated in each prediction mode according to the ninth embodiment.
  • the fourth example is an example in which the attribute information used for the predicted value is a value based on reflectance information of surrounding three-dimensional points.
  • the reflectance information is, for example, information indicating reflectance.
  • the prediction values calculated in the prediction mode in which the prediction mode value is "0" correspond to points 13 1, 3 2, 3 1, 30 respectively.
  • the prediction values calculated in the prediction mode indicated by the prediction mode values of "1" to "4" are the surrounding three-dimensional points 13 1, 3 2, 3 1, and 3, respectively. Reflectance of 10 1, Is.
  • the reflectance of the attribute value of the 3D point to be encoded is set to the prediction value 8 3 It may be used as 1 and encoded. In this case, “3” as the prediction mode value is added to the bit stream.
  • the attribute information includes the first attribute information and the first attribute information.
  • the first attribute information is, for example, color information.
  • the second attribute information is, for example, reflectance information.
  • the first predicted value may be calculated using the first attribute information, and the second predicted value may be calculated using the second attribute information.
  • _ Describes a method of encoding a plurality of 3D points in order from the 3D points included in the upper layer of the mouth.
  • the three-dimensional data encoding device uses the third-order data included in L 0 0 n. ⁇ 2020/175 708 121 ⁇ (: 171? 2020/008540
  • the 3D data encoding device is information indicating whether or not to permit reference to another 3D point in the same 1_ ⁇ mouth as the target 3D point to be encoded E na 13 I 6? 3 ⁇ 4 6 d 6 ”“ 1 (Same layer reference permission flag) is generated. For example, ⁇ 313 I 6 ?3 ⁇ 4 6 hen 6 "" If 1 93311161_ ⁇ 0 has a value of 1, it is the same!
  • a three-dimensional data encoding device uses E n a b l e R e f e r r i n g S
  • the 30161_ ⁇ Select the 3D points around the target 3D point based on the mouth, and among the 3D points around the selected 3D point, the attribute value of the predetermined 1 ⁇ 1 or less 3D points is flattened. By calculating the average, the predicted value of the attribute information of the target three-dimensional point is generated. Also, the 3D data encoding device adds the value of 1 ⁇ 1 to the bit stream header or the like. Note that the three-dimensional data encoding device may add the value of 1 ⁇ 1 to each three-dimensional point for generating a predicted value. As a result, an appropriate 1 ⁇ 1 can be selected for each 3D point that generates a prediction value, so the accuracy of the prediction value can be improved and the prediction residual can be reduced.
  • the three-dimensional data encoding device may add the value of 1 ⁇ 1 to the header of the bit stream and fix the value of 1 ⁇ 1 in the bit stream. This eliminates the need to encode or decode the value of 1 ⁇ 1 for each 3D point, thus reducing the amount of processing.
  • the three-dimensional data encoding device is! The information indicating the value of 1 ⁇ 1 may be encoded separately for each _____. With this! Encoding efficiency can be improved by selecting an appropriate value of 1 ⁇ 1 for each _____.
  • the three-dimensional data encoding device may calculate the predicted value of the attribute information of the three-dimensional points from the weighted average value of the attribute information of the surrounding 1 ⁇ 1 three-dimensional points. For example, the three-dimensional data encoding device calculates the weight by using the distance information of each of the target three-dimensional point and this three-dimensional point.
  • ⁇ 313 I 6 ?3 ⁇ 4 6 hen 6 "" I 93311161_ ⁇ 0 is information indicating whether or not reference to the 3D point in the same 1_ ⁇ mouth is permitted. , Value 1 ⁇ 2020/175 708 122 ⁇ (: 171-1? 2020 /008540
  • the reconstructed value' is an encoded and decoded attribute value (attribute information). For example, the reconstruction value'of neighboring points based on distance is used.
  • the predicted value of the spoon 2, 3 ⁇ is generated using either a 3 1, 32 of the attribute values. References to 100 and 131 are prohibited even if they are already encoded and decoded.
  • the predicted value of 2 can be generated without waiting for the completion of the encoding or decoding process of 0 and 1. That is, the three-dimensional point data encoding device and the three-dimensional data decoding device can reduce the processing time because they can calculate in parallel a plurality of predicted values for the attribute values of a plurality of three-dimensional points in the same !_OO.
  • the predicted value of the spoon 2, 3 ⁇ , 3 1, 32, b O s b ⁇ is generated using any of the attribute values.
  • the ⁇ and ⁇ 1 have already been encoded and decoded.
  • the three-dimensional data encoding apparatus can generate the prediction value of the cave 2 using the attribute information of many adjacent three-dimensional points. Therefore, the prediction accuracy is improved and the coding efficiency is improved. ⁇ 2020/175708 123 ⁇ (: 171-1? 2020/008540
  • ! - ⁇ Indicates the number of searches when selecting 1 ⁇ 1 3D point used for prediction from the 3D point cloud in the mouth.
  • a three-dimensional data encoding device is! -The total number of three-dimensional points included in the mouth is 363 1 ⁇ [1
  • the three-dimensional data encoding device may switch the method of selecting the value of SearrchNumPoint according to the position of 1_OO referred to. An example is shown below.
  • the 3D data encoding device refers to reference 1_ ⁇ 0.
  • the 3D point closest to the target 3D point is searched for.
  • the three-dimensional data encoding device selects the number of three-dimensional points adjacent to the three-dimensional point 8 before and after the three-dimensional point 8 as indicated by 363 " ⁇ II-line ⁇ ⁇ 1:". The device can efficiently search for upper-layer 3D points that are close to the target 3D point, thus improving the prediction efficiency.
  • reference !_ ⁇ 0 belongs to the target three-dimensional point.
  • !_ ⁇ mouth select the number of 3D points indicated by the Search Number Point that has been encoded and decoded prior to the target 3D point.
  • the three-dimensional data encoding device is encoded and decoded immediately before the target three-dimensional point. Select the number of three-dimensional points indicated by the door.
  • the three-dimensional data encoding device can achieve 363 " ⁇ 1 ⁇ 1 ⁇ You can select the number of 3D points indicated by n 1:.
  • the coding device selects a 3D point having a distance close to the target 3D point from the 3D points coded and decoded prior to the target 3D point, and adjoins the 3D point before and after the 3D point.
  • the number of three-dimensional points indicated by may be selected.
  • the 3D data encoding device selects 1 ⁇ 1 3D point to be used for prediction from the 3D points of the number indicated by 363 " ⁇ ri ⁇ ⁇ nt, for example, The top 1 ⁇ 1 3D points that are close to the target 3D point may be selected, which improves the prediction accuracy and thus the coding efficiency.
  • _ ⁇ 01 is selected from the range 0 and range 1.
  • 1 ⁇ 1 3D points are selected from the selected 30, 31, 32, 0 and 1 and a predicted value is generated using the selected 1 ⁇ 1 3D points. ..
  • the reconstructed value is an encoded and decoded attribute value (attribute information). For example, the reconstruction value of neighboring points based on distance is used.
  • the three-dimensional data encoding device is 363 1 ⁇ 111 ⁇ 1 Li 111 ? ⁇ ⁇ May be added to the header or the like.
  • the three-dimensional data decoding device can generate the same predicted value as the three-dimensional data encoding device by decoding 363 rch Number Pint from the header, and can appropriately decode the bit stream.
  • 363 rch Number P o Int does not necessarily have to be added to the header, for example, The value of may be specified by a profile such as a standard (“ ⁇ 1 1 6”) or a level ( ⁇ 6 6 ⁇ ), etc. This can reduce the amount of header bits.
  • the 3D data encoding device and 3D data decoding device refer to the Enable Refer 6 n ⁇ 6 L ⁇ 0 (reference permission layer information) to determine which 3 rd dimensional data is included in which !_ ⁇ 0. It can be determined whether the attribute value of the point may be referred to.
  • each 3D point may be referable if it has already been encoded or decoded.
  • the prediction value of 02 is generated by using the attribute information of more adjacent three-dimensional points, so that the prediction accuracy can be improved and the coding efficiency can be improved.
  • the three-dimensional data encoding device and the three-dimensional data decoding device can generate the predicted value of 0 2 without waiting for the encoding or decoding process of 0 0, 0 1 to be completed. That is, the three-dimensional data encoding device and the three-dimensional data decoding device can calculate the predicted values for the attribute values of the three-dimensional points in the same !_OO in parallel, and thus the processing time can be reduced.
  • the predicted value of ⁇ 2 is , 30, 3 1, 32 are generated by using the difference between the attribute values.
  • ⁇ 0, ⁇ 1, 1, 0 0, 10 1, and 2 are forbidden to refer even if they have been encoded or decoded.
  • the three-dimensional data encoding device and the three-dimensional data decoding device confirm that the prediction value of 0 is completed for the encoding or decoding process of 0 0, 0 1, craw 0, craw 1, craw 2.
  • the 3D data encoding device and 3D data decoding device can calculate the predicted values for the attribute values of the 3D points of 1_ ⁇ 01 and !_ ⁇ port 2 in parallel. The processing time can be reduced.
  • FIG. 80 shows an attribute information header according to the present embodiment.
  • Fig. 63 is a diagram showing an example syntax of "".
  • the attribute information header is the header information of the attribute information.As shown in Fig. 80, the attribute information header has the same layer reference permission flag (Minba 313 I 6 ?3 ⁇ 4 6 ”6” “1 93311161_ ⁇ 0), number of layers information (1 ⁇ 1 list 011_ ⁇ 0), and search point information [ ⁇ ]) and surrounding point information (1 ⁇ 1 list 111 6 1 911
  • 193311161_ ⁇ 0 is information indicating whether or not to permit reference to the 3D point within 1- ⁇ 0 that is the same as the target 3D point. For example, a value of 1 indicates that reference is possible, and a value of 0 indicates that reference is not possible (reference is prohibited.) If the value is 1, 3D points within the same !_ ⁇ 0 have already been encoded or decoded. It may be possible to refer to the three-dimensional points of. Indicates the number of !_ ⁇ 0 layers used.
  • S ea r c h N u m P o i n t [ ⁇ ] indicates the number of searches when selecting 1 ⁇ 1 3D points for prediction from the 3D point cloud in the _th 0th mouth.
  • a three-dimensional data encoding device is! - ⁇ Select the same number of 3D points as the number indicated by 363 rch Num Point from the 3D points included in the mouth, and use it for prediction from the selected 3D points. You can also select 1 ⁇ 1 3D point. As a result, the three-dimensional data encoding device does not need to search all the three-dimensional points included in 1_00, and thus the processing amount can be reduced.
  • [0643] Indicates the upper limit value of 1 ⁇ 1 for the surrounding points used to generate the predicted value of the three-dimensional points belonging to the hierarchy. If the number of surrounding 3D points is 1 ⁇ /1, the 3D data encoding device is less than 01 6 911
  • the three-dimensional data encoding device is a 3 3 I 6 ?3 ⁇ 4 6 6 6 "" 1 93311161_ port. 1 ⁇ 1: may be entropy-coded and added to the header. For example, a three-dimensional data encoding device binarizes each value and then arithmetically encodes each value. In addition, the three-dimensional data encoding device may perform encoding with a fixed length in order to reduce the processing amount.
  • These values may be defined by a profile such as a case or a level. This can reduce the amount of head bits.
  • the three-dimensional data encoding device is 1 ⁇ 933 01 ⁇ 1_ ⁇ , and 363 “. 1”11 ⁇ 1 Li 111 ? ⁇ 1 Gate 1: It may be added to ⁇ ZVL D, 30 or volume header in order to switch in 39 or volume units. Also, the 3D data encoding device adds information indicating whether or not to permit the reference of the same layer according to the layer, to the bit stream, and determines whether or not to permit the reference of the same layer according to the layer. May be switched.
  • the three-dimensional data decoding device may determine that it is a standard conformance error.
  • the three-dimensional data encoding device is an encoding system! Information indicating whether or not encoding was performed with-is added to the bit stream, and when encoding is not performed with the encoding method!-Minami 313 I 6 ?3 ⁇ 4 6? 6 "" If the value of 93311161_ ⁇ 0 is added to the bit stream and encoding is performed with the encoding method !-, then it is 813 I 6 ?3 ⁇ 4 6 6 6 “1 Need not be added to the bitstream. As a result, the 3D data decoding device uses the encoding method!
  • the three-dimensional data encoding device does not need to add the M 1 1 3 1 0 6 6 [3 ⁇ 4 6 0 6 "" 1 1 3 933 01 ⁇ 1 _ 0 port to the header. If the bit stream to be processed is a bit stream that has been encoded with the encoding method !-, then the original data decoding device will be 313 I 6 ?
  • FIG. 81 shows the attribute information header according to the present embodiment.
  • Fig. 82 is a diagram illustrating another syntax example of ⁇ 3 ⁇ 1 ⁇ "."
  • the attribute information header shown in Fig. 81 corresponds to the attribute information header shown in Fig. 80, and is the same layer reference permission flag (Miwa 313 I 6? 3 ⁇ 4 6 6 “Instead of “I ⁇ 9 3 3 111 6 1_ 0 0)”, including.
  • the meanings of other information are the same as in Figure 80.
  • the three-dimensional data encoding device is E nab ⁇ e Reference L o D, and 1 ⁇ 1: may be entropy coded and added to the header. For example, a three-dimensional data encoding device binarizes each value and then arithmetically encodes each value. Also, the three-dimensional data encoding device may perform encoding with a fixed length in order to reduce the processing amount.
  • ⁇ 1 Li 111 ⁇ ⁇ ⁇ 1: do not necessarily have to be added to the header. Instead, these values may be specified by a profile such as a standard or a level. This can reduce the amount of header bits.
  • Fig. 82 is a flowchart of the three-dimensional data encoding process according to the present embodiment.
  • the three-dimensional data encoder encodes the position information (9600 ⁇ 61 “7) (36901).
  • the three-dimensional data encoder encodes using the octree tree representation.
  • the three-dimensional data encoding device converts the attribute information (36902).
  • the 3D data coding device may change the attribute information of the original 3D point to the changed 3D point.
  • Reallocation The three-dimensional data encoding device may interpolate the value of the attribute information according to the amount of change in position and perform reallocation. For example, three-dimensional ⁇ 2020/175 708 131 ⁇ (: 171-1? 2020 /008540
  • the data encoder detects 1 ⁇ 1 3D points before the change, which are close to the 3D position after the change, and calculates the attribute information values of the 1 ⁇ 1 3D points from the 3D position after the change. Weighted average based on the distance to each 1 ⁇ 1 3D, and set the obtained value to the value of the attribute information of the changed 3D point.
  • the three-dimensional data encoding device uses two or more values before the change as the value of the attribute information after the change. The average value of the attribute information at the three-dimensional points may be assigned.
  • the three-dimensional data encoding device encodes the attribute information (36903)
  • the three-dimensional data encoding device may encode a plurality of attribute information in order.
  • the three-dimensional data encoding device when encoding color and reflectance as attribute information, the three-dimensional data encoding device generates a bit stream in which the reflectance encoding result is added after the color encoding result. It should be noted that the multiple encoding results of the attribute information added to the bit stream may be in any order.
  • the three-dimensional data encoding device may add information indicating the start location of encoded data of each attribute information in the bit stream to a header or the like. With this, the three-dimensional data decoding device can selectively decode the attribute information that needs to be decoded, so that the decoding process of the attribute information that does not need to be decoded can be omitted. Therefore, the processing amount of the three-dimensional data decoding device can be reduced. Further, the three-dimensional data encoding device may encode a plurality of attribute information in parallel and combine the encoded result into one bit stream. With this, the three-dimensional data encoding device can encode a plurality of attribute information at high speed.
  • Fig. 83 is a flow chart of the attribute information encoding process (3693).
  • the three-dimensional data encoding device is! Set _ ⁇ 0 (3 6 9 1 1). In other words, the 3D data encoding device assigns each 3D point to any of a plurality of !_ ⁇ 0.
  • the three-dimensional data encoding device starts a loop for each three-dimensional point (3
  • the three-dimensional data encoding device repeats the processing of steps 369 1 4 to 36920 for each three-dimensional point.
  • the three-dimensional data encoding device searches for a plurality of surrounding points, which are three-dimensional points existing around the target three-dimensional point, which are used to calculate the predicted value of the target three-dimensional point to be processed. (369 1 4).
  • the three-dimensional data encoding device calculates the weighted average of the values of the attribute information of a plurality of surrounding points and sets the obtained value as the predicted value (369 15).
  • the three-dimensional data encoding device calculates a prediction residual which is a difference between the attribute information of the target three-dimensional point and the predicted value (369 16).
  • the ternary data encoding device calculates a quantized value by quantizing the prediction residual (369 17).
  • the three-dimensional data encoding device arithmetically encodes the quantized value (369 18).
  • the three-dimensional data encoding device calculates the inverse quantized value by inversely quantizing the quantized value (369 19). Next, the three-dimensional data encoding device generates a decoded value by adding the predicted value to the inverse quantized value (36920). Next, the three-dimensional data encoding device ends the loop for each three-dimensional point (3692 1)
  • the three-dimensional data encoding device is! End the loop of _ ⁇ 0 units (36 922) 0
  • FIG. 84 is a flowchart of the three-dimensional data decoding process according to the present embodiment.
  • the 3D data decoding device decodes the position information (96 0 6 “ 7 ) from the bit stream (3693 1).
  • the 3D data decoding device uses the octree representation to perform decoding. To do.
  • the three-dimensional data decoding device decodes the attribute information from the bit stream (36932). For example, when decoding a plurality of attribute information, the three-dimensional data decoding device may sequentially decode the plurality of attribute information. For example, when the color and reflectance are decoded as the attribute information, the three-dimensional data decoding apparatus follows the order of adding to the bit stream and encodes the color coding result and the reflectance coding result. ⁇ 2020/175 708 133 ⁇ (: 171-1? 2020 /008540
  • Decrypt the result For example, in a bit stream, if the reflectance coding result is added after the color coding result, the three-dimensional data decoding apparatus decodes the color coding result, and then the reflectance coding result. Decryption result. Note that the three-dimensional data decoding device may decode the coding result of the attribute information added to the bit stream in any order.
  • the three-dimensional data decoding device may acquire information indicating the start location of the encoded data of each attribute information in the bit stream by decoding the header or the like. Accordingly, the three-dimensional data decoding device can selectively decode the attribute information that needs to be decoded, and thus the decoding process of the attribute information that does not need to be decoded can be omitted. Therefore, the processing amount of the three-dimensional data decoding device can be reduced. Also, the 3D data decoding device may decode a plurality of attribute information in parallel and integrate the decoding results into one 3D point cloud. Thereby, the three-dimensional data decoding device can decode a plurality of attribute information at high speed.
  • Fig. 85 is a flow chart of the attribute information decoding process (3 6 9 3 2).
  • the 3D data decoding device is! Set _ ⁇ 0 (3 6 9 4 1). That is, the three-dimensional data decoding device assigns each of the plurality of three-dimensional points having the decoded position information to any of the plurality of 1-OO.
  • this allocation method is the same as the allocation method used in the three-dimensional data encoding device.
  • the three-dimensional data decoding device starts a loop of 1_0000 units (3 6 9 4 2).
  • the 3D data decoding device uses steps 3 6 9 4 3 every 1 _ 0 0. The process of is repeated.
  • the three-dimensional data decoding device starts a loop for each three-dimensional point (3 6
  • the three-dimensional data decoding device repeats the processing of steps 3 6 9 4 4 to 3 6 9 4 8 for each three-dimensional point.
  • the three-dimensional data decoding device searches for a plurality of surrounding points, which are three-dimensional points existing around the target three-dimensional point, which are used to calculate the predicted value of the target three-dimensional point to be processed ( 3 6 9 4 4).
  • the 3D data decoding device calculates a weighted average of the values of the attribute information of a plurality of surrounding points and sets the obtained value as the predicted value (3 ⁇ 2020/175 708 134 ⁇ (: 171-1? 2020 /008540
  • the three-dimensional data decoding device arithmetically decodes the quantized value from the bit stream (36946). Further, the three-dimensional data decoding device calculates the inverse quantized value by inversely quantizing the decoded quantized value (36947). Next, the three-dimensional data decoding device generates a decoded value by adding the prediction value to the dequantized value (36948). Next, the three-dimensional data decoding device ends the loop for each three-dimensional point (36949). In addition, the three-dimensional data decoding device is! End the loop of _ 0 0 units (36950).
  • FIG. 86 is a flowchart of the surrounding point search processing (369 14).
  • the 3D data encoding device uses 363 “ ⁇ 1” 11 ⁇ 1 111 111 ⁇ ⁇ which is included in the !_ ⁇ 0 layer above the layer to which the target 3D point belongs. [Top! - ⁇ 0] 3D points are selected, and 1 ⁇ 1 3D points for predictive value generation are calculated from the selected 3D points (3696 1).
  • the three-dimensional data encoding device determines whether or not E nable Refer "I 93311161_ ⁇ 0 is 1 (36962).
  • the 3D data encoder determines that the 3D data encoding device is included in the same !_ ⁇ 0 layer as the layer to which the target 3D point belongs.
  • Re 111 ?0 1 [Same 1_ ⁇ mouth] 3D points are selected and 1 ⁇ 1 3D points for prediction value generation are updated (36963).
  • the three-dimensional data encoding device uses the 363 “ ⁇ II 1 ⁇ 1 r ⁇ ! ⁇ ⁇ selected in step 3696 1.
  • [Top! - ⁇ 0] three-dimensional points and the 368 " ⁇ 111 ⁇ 1 list 111 ? ⁇ 1 selected in step 6963.
  • [Same 1_ ⁇ mouth] Calculate 3D points from 3D points.
  • step 3696 1 the 3D points selected in step 3696 1 are used as they are.
  • FIG. 87 is a flow chart showing another example of the surrounding point search processing (369 14).
  • the 3D data encoding device is included in the same !_ ⁇ 0 layer as the layer to which the target 3D point belongs. 363 " ⁇ [1
  • the three-dimensional data encoding device uses the 363 “ ⁇ 1” 11 ⁇ 1 111 111 ⁇ 1 selected in step 36972. [Same 1_ ⁇ mouth] 3D points and 368 “ ⁇ 1”11 ⁇ 1 Li 111 111 ⁇ 1 selected in Step 6973 Calculate 1 ⁇ 1 three-dimensional points from the [top 1_ ⁇ mouths] three-dimensional element points.
  • the 3D data encoding device is included in the upper layer !_ ⁇ mouth than the layer to which the target 3D point belongs. [Top 1_ ⁇ ] 3D points are selected, and 1 ⁇ 1 3D points for predictive value generation are calculated from the selected 3D points (36973).
  • FIG. 88 is a flowchart showing another example of the surrounding point search processing (369 14).
  • the three-dimensional data encoding device is! _ ⁇ 0 (n— E nab ⁇ e Re Dry ⁇ “ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ”) 363 ”included in the layers above. ["1
  • the surrounding point search process (36944) in the three-dimensional data decoding device is similar to the surrounding point search process (36914) in the three-dimensional data encoding device.
  • the three-dimensional data encoding device performs the process shown in Fig. 89.
  • the three-dimensional data encoding device uses a plurality of three-dimensional points included in the point cloud data in a plurality of layers (for example, !_ ⁇ 0 0) based on the position information of the plurality of three-dimensional points. ⁇ 2020/175708 136 ⁇ (: 171-1?2020/008540
  • the 3D data encoding device refers to the attribute information of another 3D point belonging to the same hierarchy as the 3D point to be processed for the 3D point to be processed included in the plurality of 3D points.
  • First information indicating whether or not to permit for example, 11 3 13 I 6 ?3 ⁇ 4 6 6 6 "1
  • the 3D data encoding apparatus encodes the attribute information of the 3D point to be processed by encoding the attribute information of the 3D point to be processed with or without reference to the attribute information of another 3D point according to the first information.
  • Generate a stream (3 6 9 9 3). This bit stream contains the first information.
  • the 3D data encoding device may process the 3D point to be processed. It is permitted to encode the attribute information of the 3D point to be processed by referring to the 3D point belonging to the same hierarchy as the above, and to refer to the attribute information of other tertiary element belonging to the same hierarchy by the first information. When it is indicated that there is nothing (that is, it is prohibited), the attribute information of the processing target 3D point is encoded without referring to the 3D point belonging to the same layer as the processing target 3D point.
  • a three-dimensional point means, for example, to use a three-dimensional point for generating a predicted value.
  • the difference value (prediction residual) between the attribute information of the processing target three-dimensional point and the prediction value is calculated, and the calculated difference value is encoded (for example, quantization and entropy coding).
  • the three-dimensional data encoding apparatus can switch whether or not to refer to another three-dimensional point in the same layer, and thus can perform appropriate encoding.
  • the 3D data encoding device is in the same hierarchy as the 3D element to be processed.
  • the attribute information of the three-dimensional points to be processed is encoded by referring to the attribute information of the encoded three-dimensional points.
  • the three-dimensional data encoding device In the encoding of the attribute information of the three-dimensional point to be processed, the three-dimensional data encoding device, regardless of the first information, is higher than the layer to which the three-dimensional point to be processed belongs. Refer to the attribute information of the 3D points that belong to the ⁇ 2020/175 708 137 (:171? 2020/008540
  • the three-dimensional data encoding device includes a processor and a memory, and the processor performs the above processing using the memory.
  • the three-dimensional data decoding apparatus performs the processing shown in Fig. 90.
  • the 3D data decoding device classifies a plurality of 3D points included in the point cloud data into a plurality of layers (for example, !_ ⁇ 0) based on the positional information of the plurality of 3D points (3 6 9 9 5) .
  • the 3D data decoding device for the 3D point of the processing target included in the plurality of 3D points, of the 3D data decoding device, selects another 3D point of the same hierarchical level as the 3D point of the processing target.
  • the first information indicating whether or not it is allowed to refer to the attribute information (for example, 11 3 13 I 6 ?3 ⁇ 4 6 6 6 "1
  • the 3D data decoding apparatus decodes the attribute information of the 3D point to be processed from the bit stream, with or without reference to the attribute information of other 3D points according to the first information ( 3 6 9 9 7).

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Image Processing (AREA)

Abstract

三次元データ符号化装置は、複数の三次元点を符号化する三次元データ符号化方法であって、複数の三次元点のうちで、第1三次元点の周囲の複数の第2三次元点の中から、第1三次元点に距離が近い順にN個の第2三次元点を、第1三次元点の属性情報の予測値を算出するための候補として選択し(S7681)、候補として選択したN個の第2三次元点の属性情報を用いて予測値を算出し(S7682)、第1三次元点の属性情報と、算出された予測値との差分である予測残差を算出し(S7683)、予測残差を含むビットストリームを生成し(S7684)、候補の選択では、複数の第2三次元点の中に第1三次元点との間の距離が等しい複数の第3三次元点がある場合、第1三次元点の第1モートンコードに基づく優先順に複数の第3三次元点から候補を選択する。

Description

明 細 書
発明の名称 :
三次元データ符号化方法、 三次元データ復号方法、 三次元データ符号化装 置、 及び三次元データ復号装置
技術分野
[0001 ] 本開示は、 三次元データ符号化方法、 三次元データ復号方法、 三次元デー 夕符号化装置、 及び三次元データ復号装置に関する。
背景技術
[0002] 自動車或いはロボッ トが自律的に動作するためのコンビュータビジョン、 マップ情報、 監視、 インフラ点検、 又は、 映像配信など、 幅広い分野におい て、 今後、 三次元データを活用した装置又はサービスの普及が見込まれる。 三次元データは、 レンジファインダなどの距離センサ、 ステレオカメラ、 又 は複数の単眼カメラの組み合わせなど様々な方法で取得される。
[0003] 三次元データの表現方法の 1つとして、 三次元空間内の点群によって三次 元構造の形状を表すボイントクラウドと呼ばれる表現方法がある。 ポイント クラウドでは、 点群の位置と色とが格納される。 ポイントクラウドは三次元 データの表現方法として主流になると予想されるが、 点群はデータ量が非常 に大きい。 よって、 三次元データの蓄積又は伝送においては二次元の動画像 (—例として、 M P E Gで規格化された M P E G— 4 八 〇又は1~1巳 〇 などがある) と同様に、 符号化によるデータ量の圧縮が必須となる。
[0004] また、 ポイントクラウドの圧縮については、 ポイントクラウド関連の処理 を行う公開のライブラリ (P o i n t C l o u d L i b r a r y) など によって一部サポートされている。
[0005] また、 三次元の地図データを用いて、 車両周辺に位置する施設を検索し、 表示する技術が知られている (例えば、 特許文献 1参照) 。
先行技術文献
特許文献 〇 2020/175708 2 卩(:171? 2020 /008540
[0006] 特許文献 1 :国際公開第 2 0 1 4 / 0 2 0 6 6 3号
発明の概要
発明が解決しようとする課題
[0007] 三次元データの符号化において符号化効率を向上させることができること が望まれている。
[0008] 本開示は、 符号化効率を向上させることができる三次元データ符号化方法 、 三次元データ復号方法、 三次元データ符号化装置又は三次元データ復号装 置を提供することを目的とする。
課題を解決するための手段
[0009] 本開示の一態様に係る三次元データ符号化方法は、 複数の三次元点を符号 化する三次元データ符号化方法であって、 前記複数の三次元点のうちで、 第 1三次元点の周囲の複数の第 2三次元点の中から、 前記第 1三次元点に距離 が近い順に 1\1個の第 2三次元点を、 前記第 1三次元点の属性情報の予測値を 算出するための候補として選択し、 前記候補として選択した前記 !\1個の第 2 三次元点の属性情報を用いて予測値を算出し、 前記第 1三次元点の属性情報 と、 算出された前記予測値との差分である予測残差を算出し、 前記予測残差 を含むビッ トストリームを生成し、 前記候補の選択では、 前記複数の第 2三 次元点の中に前記第 1三次元点との間の距離が等しい複数の第 3三次元点が ある場合、 前記第 1三次元点の第 1モ_トンコ _ドに基づく優先順に前記複 数の第 3三次元点から前記候補を選択する。
[0010] また、 本開示の一態様に係る三次元データ復号方法は、 複数の三次元点を 復号する三次元データ復号方法であって、 ビッ トストリームを取得すること で前記複数の三次元点のうちの第 1三次元点の予測残差を取得し、 前記複数 の三次元点のうちで、 前記第 1三次元点の周囲の複数の第 2三次元点の中か ら、 前記第 1三次元点に距離が近い順に 1\1個の第 2三次元点を、 前記第 1三 次元点の属性情報の予測値を算出するための候補として選択し、 前記候補と して選択した前記 !\!個の第 2三次元点の属性情報を用いて予測値を算出し、 前記予測値と前記予測残差とを加算することで、 前記第 1三次元点の属性情 〇 2020/175708 3 卩(:171? 2020 /008540
報を算出し、 前記候補の選択では、 前記複数の第 2三次元点の中に前記第 1 三次元点との間の距離が等しい複数の第 3三次元点がある場合、 前記第 1三 次元点の第 1モートンコードに基づく優先順に前記複数の第 3三次元点から 前記候補を選択する。
[001 1] なお、 これらの全般的または具体的な態様は、 システム、 装置、 集積回路 、 コンビユータプログラムまたはコンビユータ読み取り可能な〇 0 -
Figure imgf000005_0001
などの記録媒体で実現されてもよく、 システム、 装置、 集積回路、 コンピユ —タプログラム及び記録媒体の任意な組み合わせで実現されてもよい。
発明の効果
[0012] 本開示は、 符号化効率を向上できる三次元データ符号化方法、 三次元デー 夕復号方法、 三次元データ符号化装置、 又は三次元データ復号装置を提供で きる。
図面の簡単な説明
[0013] [図 1]図 1は、 実施の形態 1 に係る符号化三次元データの構成を示す図である
[図 2]図 2は、 実施の形態 1 に係る◦〇 3の最下層レイヤに属する 3 〇間の 予測構造の _例を示す図である。
[図 3]図 3は、 実施の形態 1 に係るレイヤ間の予測構造の一例を示す図である
[図 4]図 4は、 実施の形態 1 に係る◦ 0 3の符号化順の一例を示す図である。 [図 5]図 5は、 実施の形態 1 に係る◦ 0 3の符号化順の一例を示す図である。 [図 6]図 6は、 実施の形態 1 に係る三次元データ符号化装置のブロック図であ る。
[図 7]図 7は、 実施の形態 1 に係る符号化処理のフローチヤートである。
[図 8]図 8は、 実施の形態 1 に係る三次元データ復号装置のブロック図である
[図 9]図 9は、 実施の形態 1 に係る復号処理のフローチヤートである。
[図 10]図 1 0は、 実施の形態 1 に係るメタ情報の一例を示す図である。 20/175708 4 卩(:171? 2020 /008540
[図 1 1]図 1 1は、 実施の形態 2に係る 3 0の構成例を示す図である。 [図 12]図 1 2は、 実施の形態 2に係るサーバ及びクライアントの動作例を示 す図である。
[図 13]図 1 3は、 実施の形態 2に係るサーバ及びクライアントの動作例を示 す図である。
[図 14]図 1 4は、 実施の形態 2に係るサーバ及びクライアントの動作例を示 す図である。
[図 15]図 1 5は、 実施の形態 2に係るサーバ及びクライアントの動作例を示 す図である。
[図 16]図 1 6は、 実施の形態 2に係る三次元データ符号化装置のブロック図 である。
[図 17]図 1 7は、 実施の形態 2に係る符号化処理のフローチヤートである。 [図 18]図 1 8は、 実施の形態 2に係る三次元データ復号装置のブロック図で ある。
[図 19]図 1 9は、 実施の形態 2に係る復号処理のフローチヤートである。 [図 20]図 2 0は、 実施の形態
Figure imgf000006_0001
の構成例を示す図である。 [図 21]図 2 1は、 実施の形態 2に係る \ZV L Dの 8分木構造の例を示す図であ る。
[図 22]図 2 2は、 実施の形態 2に係る 3 0の構成例を示す図である。 [図 23]図 2 3は、 実施の形態
Figure imgf000006_0002
ある。
[図 24]図 2 4は、 実施の形態 3に係る三次元データ作成装置のブロック図で ある。
[図 25]図 2 5は、 実施の形態 3に係る三次元データ送信装置のブロック図で ある。
[図 26]図 2 6は、 実施の形態 4に係る三次元情報処理装置のブロック図であ る。
[図 27]図 2 7は、 実施の形態 5に係る三次元データ作成装置のブロック図で 20/175708 5 卩(:171? 2020 /008540
ある。
[図 28]図 2 8は、 実施の形態 6に係るシステムの構成を示す図である。 [図 29]図 2 9は、 実施の形態 6に係るクライアント装置のブロック図である
[図 30]図 3 0は、 実施の形態 6に係るサーバのブロック図である。
[図 31]図 3 1は、 実施の形態 6に係るクライアント装置による三次元データ 作成処理のフローチヤートである。
[図 32]図 3 2は、 実施の形態 6に係るクライアント装置によるセンサ情報送 信処理のフローチヤートである。
[図 33]図 3 3は、 実施の形態 6に係るサーバによる三次元データ作成処理の フローチヤートである。
[図 34]図 3 4は、 実施の形態 6に係るサーバによる三次元マップ送信処理の フローチヤートである。
[図 35]図 3 5は、 実施の形態 6に係るシステムの変形例の構成を示す図であ る。
[図 36]図 3 6は、 実施の形態 6に係るサーバ及びクライアント装置の構成を 示す図である。
[図 37]図 3 7は、 実施の形態 7に係る三次元データ符号化装置のブロック図 である。
[図 38]図 3 8は、 実施の形態 7に係る予測残差の例を示す図である。
[図 39]図 3 9は、 実施の形態 7に係るボリユームの例を示す図である。
[図 40]図 4 0は、 実施の形態 7に係るボリュームの 8分木表現の例を示す図 である。
[図 41]図 4 1は、 実施の形態 7に係るボリュームのビッ ト列の例を示す図で ある。
[図 42]図 4 2は、 実施の形態 7に係るボリュームの 8分木表現の例を示す図 である。
[図 43]図 4 3は、 実施の形態 7に係るボリユームの例を示す図である。 〇 2020/175708 6 卩(:171? 2020 /008540
[図 44]図 4 4は、 実施の形態 7に係るイントラ予測処理を説明するための図 である。
[図 45]図 4 5は、 実施の形態 7に係る回転及び並進処理を説明するための図 である。
[図 46]図 4 6は、 実施の形態 7に係る 丁適用フラグ及び 丁情報のシンタ ツクス例を示す図である。
[図 47]図 4 7は、 実施の形態 7に係るインター予測処理を説明するための図 である。
[図 48]図 4 8は、 実施の形態 7に係る三次元データ復号装置のブロック図で ある。
[図 49]図 4 9は、 実施の形態 7に係る三次元データ符号化装置による三次元 データ符号化処理のフローチヤートである。
[図 50]図 5 0は、 実施の形態 7に係る三次元データ復号装置による三次元デ —夕復号処理のフローチヤートである。
[図 51]図 5 1 は、 実施の形態 8に係る三次元点の例を示す図である。
[図 52]図 5 2は、 実施の形態 8に係る !_〇口の設定例を示す図である。
[図 53]図 5 3は、 実施の形態 8に係る !_〇口の設定に用いる閾値の例を示す 図である。
[図 54]図 5 4は、 実施の形態 8に係る予測値に用いる属性情報の例を示す図 である。
[図 55]図 5 5は、 実施の形態 8に係る指数ゴロム符号の一例を示す図である
[図 56]図 5 6は、 実施の形態 8に係る指数ゴロム符号に対する処理を示す図 である。
[図 57]図 5 7は、 実施の形態 8に係る属性ヘッダのシンタックス例を示す図 である。
[図 58]図 5 8は、 実施の形態 8に係る属性データのシンタックス例を示す図 である。 20/175708 7 卩(:171? 2020 /008540
[図 59]図 5 9は、 実施の形態 8に係る三次元データ符号化処理のフローチヤ —卜である。
[図 60]図 6 0は、 実施の形態 8に係る属性情報符号化処理のフローチヤート である。
[図 61]図 6 1は、 実施の形態 8に係る指数ゴロム符号に対する処理を示す図 である。
[図 62]図 6 2は、 実施の形態 8に係る残り符号とその値との関係を示す逆引 きテーブルの例を示す図である。
[図 63]図 6 3は、 実施の形態 8に係る三次元データ復号処理のフローチヤー 卜である。
[図 64]図 6 4は、 実施の形態 8に係る属性情報復号処理のフローチヤートで ある。
[図 65]図 6 5は、 実施の形態 8に係る三次元データ符号化装置のブロック図 である。
[図 66]図 6 6は、 実施の形態 8に係る三次元データ復号装置のブロック図で ある。
[図 67]図 6 7は、 実施の形態 8に係る三次元データ符号化処理のフローチヤ —卜である。
[図 68]図 6 8は、 実施の形態 8に係る三次元データ復号処理のフローチヤー 卜である。
[図 69]図 6 9は、 実施の形態 9に係る各予測モードにおいて算出される予測 値を示すテ _ブルの第 1の例を示す図である。
[図 70]図 7 0は、 実施の形態 9に係る予測値に用いる属性情報の例を示す図 である。
[図 71]図 7 1は、 実施の形態 9に係る各予測モードにおいて算出される予測 値を示すテーブルの第 2の例を示す図である。
[図 72]図 7 2は、 実施の形態 9に係る各予測モードにおいて算出される予測 値を示すテーブルの第 3の例を示す図である。 〇 2020/175708 8 卩(:171? 2020 /008540
[図 73]図 7 3は、 実施の形態 9に係る各予測モードにおいて算出される予測 値を示すテーブルの第 4の例を示す図である。
[図 74]図 7 4は、 実施の形態 1 〇に係る参照関係の例を示す図である。 [図 75]図 7 5は、 実施の形態 1 〇に係る参照関係の例を示す図である。 [図 76]図 7 6は、 実施の形態 1 〇に係る !_〇口毎に探索回数を設定する例を 示す図である。
[図 77]図 7 7は、 実施の形態 1 〇に係る参照関係の例を示す図である。 [図 78]図 7 8は、 実施の形態 1 〇に係る参照関係の例を示す図である。 [図 79]図 7 9は、 実施の形態 1 〇に係る参照関係の例を示す図である。 [図 80]図 8 0は、 実施の形態 1 〇に係る属性情報へッダのシンタックス例を 示す図である。
[図 81]図 8 1は、 実施の形態 1 〇に係る属性情報へッダのシンタックス例を 示す図である。
[図 82]図 8 2は、 実施の形態 1 〇に係る三次元データ符号化処理のフローチ ャートである。
[図 83]図 8 3は、 実施の形態 1 〇に係る属性情報符号化処理のフローチヤー 卜である。
[図 84]図 8 4は、 実施の形態 1 0に係る三次元データ復号処理のフローチヤ —卜である。
[図 85]図 8 5は、 実施の形態 1 〇に係る属性情報復号処理のフローチヤート である。
[図 86]図 8 6は、 実施の形態 1 0に係る周囲点探索処理のフローチヤートで ある。
[図 87]図 8 7は、 実施の形態 1 〇に係る周囲点探索処理のフローチヤートで ある。
[図 88]図 8 8は、 実施の形態 1 0に係る周囲点探索処理のフローチヤートで ある。
[図 89]図 8 9は、 実施の形態 1 〇に係る三次元データ符号化処理のフローチ 20/175708 9 卩(:171? 2020 /008540
ヤートである。
[図 90]図 9 0は、 実施の形態 1 0に係る三次元データ復号処理のフローチヤ —卜である。
[図 91]図 9 1は、 実施の形態 1 1 に係る 1\1個の三次元点を選択する方法につ いて説明するための図である。
[図 92]図 9 2は、 実施の形態 1 1 に係るグループ〇 のバウンディングボッ クスの一例を示す図である。
[図 93]図 9 3は、 実施の形態 1 1 に係る第 1三次元点と複数の第 2三次元点 とが同一のグループに属する場合の 1\1個の三次元点の候補を選択する処理に ついて説明するための図である。
[図 94]図 9 4は、 実施の形態 1 1 に係る第 1三次元点と複数の第 2三次元点 とが異なるグループに属する場合の 1\1個の三次元点の候補を選択する処理に ついて説明するための図である。
[図 95]図 9 5は、 実施の形態 1 1 に係る異なる階層に属する複数の第 2三次 元点から三次元点候補を選択する処理について説明するための図である。
[図 96]図 9 6は、 実施の形態 1 1 に係る初期グループ前後のグループから三 次元点候補を選択もしくは更新する処理について説明するための図である。 [図 97]図 9 7は、 実施の形態 1 1 に係るパウンディングボックスが小さいグ ループを優先する例について説明するための図である。
[図 98]図 9 8は、 実施の形態 1 1 に係る三次元データ符号化装置による三次 元データ符号化処理のフローチヤートである。
[図 99]図 9 9は、 実施の形態 1 1 に係る属性情報符号化処理のフローチヤー 卜である。
[図 100]図 1 0 0は、 実施の形態 1 1 に係る三次元データ復号装置による三次 元データ復号処理のフローチヤートである。
[図 101]図 1 0 1は、 実施の形態 1 1 に係る属性情報復号処理のフローチヤー 卜である。
[図 102]図 1 0 2は、 実施の形態 1 1 に係る周囲点の探索処理のフローチヤー 〇 2020/175708 10 卩(:171? 2020 /008540
卜である。
[図 103]図 1 0 3は、 実施の形態 1 1 に係る周囲点の探索処理のフローチヤー 卜である。
[図 104]図 1 0 4は、 実施の形態 1 1 に係る三次元データ符号化装置が備える 属性情報符号化部の構成を示すブロック図である。
[図 105]図 1 0 5は、 実施の形態 1 1 に係る三次元データ復号装置が備える属 性情報復号部の構成を示すブロック図である。
[図 106]図 1 0 6は、 実施の形態 1 1 に係る三次元データ符号化処理のフロー チヤートである。
[図 107]図 1 0 7は、 実施の形態 1 1 に係る三次元データ復号処理のフローチ ヤートである。
発明を実施するための形態
[0014] 本開示の一態様に係る三次元データ符号化方法は、 複数の三次元点を符号 化する三次元データ符号化方法であって、 前記複数の三次元点のうちで、 第 1三次元点の周囲の複数の第 2三次元点の中から、 前記第 1三次元点に距離 が近い順に 1\1個の第 2三次元点を、 前記第 1三次元点の属性情報の予測値を 算出するための候補として選択し、 前記候補として選択した前記 !\1個の第 2 三次元点の属性情報を用いて予測値を算出し、 前記第 1三次元点の属性情報 と、 算出された前記予測値との差分である予測残差を算出し、 前記予測残差 を含むビッ トストリームを生成し、 前記候補の選択では、 前記複数の第 2三 次元点の中に前記第 1三次元点との間の距離が等しい複数の第 3三次元点が ある場合、 前記第 1三次元点の第 1モ_トンコ _ドに基づく優先順に前記複 数の第 3三次元点から前記候補を選択する。
[0015] これにより、 符号化対象の第 1三次元点に近い第 2三次元点を、 予測値を 算出するために用いる候補として選択することができるため、 符号化効率を 向上させることができる。
[0016] 例えば、 前記優先順は、 前記複数の第 3三次元点のモートンコードで定め られる順序であって、 前記第 1モートンコードに近いモートンコードを有す 〇 2020/175708 1 1 卩(:171? 2020 /008540
る第 3三次元点の順序であってもよい。
[0017] 例えば、 前記優先順は、 前記複数の第 3三次元点のうちで前記第 1モート ンコードに近いモートンコードを有する第 4三次元点の第 2モートンコード より小さいモートンコードを有する複数の第 3三次元点を含む第 1 グループ と、 前記第 2モートンコードよりも大きいモートンコードを有する複数の第 3三次元点を含む第 2グループとから交互に 1つずつ前記候補を選択すると きの、 前記第 2モートンコードに近い第 3三次元点の順序であってもよい。
[0018] 例えば、 前記第 1三次元点と、 前記複数の第 3三次元点とは、 互いに異な る階層に属してもよい。
[0019] 例えば、 前記優先順は、 前記第 1モートンコードより小さいモートンコー ドを有する複数の第 3三次元点を含む第 1 グループと、 前記第 1モートンコ -ドよりも大きいモートンコードを有する複数の第 3三次元点を含む第 2グ ループとの _方に属する複数の第 3三次元点のモートンコードで定められる 順序であって、 前記第 1モートンコードに近い第 3三次元点の順序であって もよい。
[0020] 例えば、 前記第 1三次元点と、 前記複数の第 3三次元点とは、 同一の階層 に属してもよい。
[0021 ] 本開示の一態様に係る三次元データ復号方法は、 複数の三次元点を復号す る三次元データ復号方法であって、 ビッ トストリームを取得することで前記 複数の三次元点のうちの第 1三次元点の予測残差を取得し、 前記複数の三次 元点のうちで、 前記第 1三次元点の周囲の複数の第 2三次元点の中から、 前 記第 1三次元点に距離が近い順に 1\1個の第 2三次元点を、 前記第 1三次元点 の属性情報の予測値を算出するための候補として選択し、 前記候補として選 択した前記 1\1個の第 2三次元点の属性情報を用いて予測値を算出し、 前記予 測値と前記予測残差とを加算することで、 前記第 1三次元点の属性情報を算 出し、 前記候補の選択では、 前記複数の第 2三次元点の中に前記第 1三次元 点との間の距離が等しい複数の第 3三次元点がある場合、 前記第 1三次元点 の第 1モ_トンコ _ドに基づく優先順に前記複数の第 3三次元点から前記候 〇 2020/175708 12 卩(:171? 2020 /008540
補を選択する。
[0022] これによれば、 処理対象の第 1三次元点の属性情報を適切に復号すること ができる。
[0023] 例えば、 前記優先順は、 前記複数の第 3三次元点のモートンコードで定め られる順序であって、 前記第 1モートンコードに近いモートンコードを有す る第 3三次元点の順序であってもよい。
[0024] 例えば、 前記優先順は、 前記複数の第 3三次元点のうちで前記第 1モート ンコードに近いモートンコードを有する第 4三次元点の第 2モートンコード より小さいモートンコードを有する複数の第 3三次元点を含む第 1 グループ と、 前記第 2モートンコードよりも大きいモートンコードを有する複数の第 3三次元点を含む第 2グループとから交互に 1つずつ前記候補を選択すると きの、 前記第 2モートンコードに近い第 3三次元点の順序であってもよい。
[0025] 例えば、 前記第 1三次元点と、 前記複数の第 3三次元点とは、 互いに異な る階層に属してもよい。
[0026] 例えば、 前記優先順は、 前記第 1モートンコードより小さいモートンコー ドを有する複数の第 3三次元点を含む第 1 グループと、 前記第 1モートンコ -ドよりも大きいモートンコードを有する複数の第 3三次元点を含む第 2グ ループとの _方に属する複数の第 3三次元点のモートンコードで定められる 順序であって、 前記第 1モートンコードに近い第 3三次元点の順序であって もよい。
[0027] 例えば、 前記第 1三次元点と、 前記複数の第 3三次元点とは、 同一の階層 に属してもよい。
[0028] 本開示の一態様に係る三次元データ符号化装置は、 複数の三次元点を符号 化する三次元データ符号化装置であって、 プロセッサと、 メモリとを備え、 前記プロセッサは、 前記メモリを用いて、 前記複数の三次元点のうちで、 第 1三次元点の周囲の複数の第 2三次元点の中から、 前記第 1三次元点に距離 が近い順に 1\1個の第 2三次元点を、 前記第 1三次元点の属性情報の予測値を 算出するための候補として選択し、 前記候補として選択した前記 !\1個の第 2 〇 2020/175708 13 卩(:171? 2020 /008540
三次元点の属性情報を用いて予測値を算出し、 前記第 1三次元点の属性情報 と、 算出された前記予測値との差分である予測残差を算出し、 前記予測残差 を含むビッ トストリームを生成し、 前記候補の選択では、 前記複数の第 2三 次元点の中に前記第 1三次元点との間の距離が等しい複数の第 3三次元点が ある場合、 前記第 1三次元点の第 1モ_トンコ _ドに基づく優先順に前記複 数の第 3三次元点から前記候補を選択する。
[0029] これにより、 符号化対象の第 1三次元点に近い第 2三次元点を、 予測値を 算出するために用いる候補として選択することができるため、 符号化効率を 向上させることができる。
[0030] 本開示の一態様に係る三次元データ復号装置は、 複数の三次元点を復号す る三次元データ復号装置であって、 プロセッサと、 メモリとを備え、 ビッ ト ストリームを取得することで前記複数の三次元点のうちの第 1三次元点の予 測残差を取得し、 前記複数の三次元点のうちで、 前記第 1三次元点の周囲の 複数の第 2三次元点の中から、 前記第 1三次元点に距離が近い順に 1\1個の第 2三次元点を、 前記第 1三次元点の属性情報の予測値を算出するための候補 として選択し、 前記候補として選択した前記 !\!個の第 2三次元点の属性情報 を用いて予測値を算出し、 前記予測値と前記予測残差とを加算することで、 前記第 1三次元点の属性情報を算出し、 前記候補の選択では、 前記複数の第 2三次元点の中に前記第 1三次元点との間の距離が等しい複数の第 3三次元 点がある場合、 前記第 1三次元点の第 1モートンコードに基づく優先順に前 記複数の第 3三次元点から前記候補を選択する。
[0031 ] これによれば、 処理対象の第 1三次元点の属性情報を適切に復号すること ができる。
[0032] なお、 これらの包括的または具体的な態様は、 システム、 方法、 集積回路 、 コンビユータプログラムまたはコンビユータ読み取り可能な〇 0 -
Figure imgf000015_0001
などの記録媒体で実現されてもよく、 システム、 方法、 集積回路、 コンピユ —タプログラム及び記録媒体の任意な組み合わせで実現されてもよい。
[0033] 以下、 実施の形態について、 図面を参照しながら具体的に説明する。 なお 〇 2020/175708 14 卩(:171? 2020 /008540
、 以下で説明する実施の形態は、 いずれも本開示の一具体例を示すものであ る。 以下の実施の形態で示される数値、 形状、 材料、 構成要素、 構成要素の 配置位置及び接続形態、 ステップ、 ステップの順序などは、 一例であり、 本 開示を限定する主旨ではない。 また、 以下の実施の形態における構成要素の うち、 最上位概念を示す独立請求項に記載されていない構成要素については 、 任意の構成要素として説明される。
[0034] (実施の形態 1)
まず、 本実施の形態に係る符号化三次元データ (以下、 符号化データとも 記す) のデータ構造について説明する。 図 1は、 本実施の形態に係る符号化 三次元データの構成を示す図である。
[0035] 本実施の形態では、 三次元空間は、 動画像の符号化におけるピクチャに相 当するスペース (3 〇) に分割され、 スペースを単位として三次元データ が符号化される。 スぺースは、 さらに、 動画像符号化におけるマクロブロッ クなどに相当するボリューム ( !_ 1\/1) に分割され、 V I- IV!を単位として予 測及び変換が行われる。 ボリュームは、 位置座標が対応付けられる最小単位 である複数のポクセル (▽乂!_) を含む。 なお、 予測とは、 二次元画像で行 われる予測と同様に、 他の処理単位を参照し、 処理対象の処理単位と類似す る予測三次元データを生成し、 当該予測三次元データと処理対象の処理単位 との差分を符号化することである。 また、 この予測は、 同一時刻の他の予測 単位を参照する空間予測のみならず、 異なる時刻の予測単位を参照する時間 予測を含む。
[0036] 例えば、 三次元データ符号化装置 (以下、 符号化装置とも記す) は、 ボイ ントクラウドなどの点群データにより表現される三次元空間を符号化する際 には、 ボクセルのサイズに応じて、 点群の各点、 又は、 ボクセル内に含まれ る複数点をまとめて符号化する。 ポクセルを細分化すれば点群の三次元形状 を高精度に表現でき、 ポクセルのサイズを大きくすれば点群の三次元形状を おおまかに表現できる。
[0037] なお、 以下では、 三次元データがポイントクラウドである場合を例に説明 〇 2020/175708 15 卩(:171? 2020 /008540
を行うが、 三次元データはポイントクラウドに限定されず、 任意の形式の三 次元データでよい。
[0038] また、 階層構造のボクセルを用いてもよい。 この場合、 1·!次の階層では、 次以下の階層 (〇次の階層の下層) にサンプル点が存在するかどうか を順に示してもよい。 例えば、 1·!次の階層のみを復号する際において、
Figure imgf000017_0001
1次以下の階層にサンプル点が存在する場合は、 1·!次階層のボクセルの中心 にサンプル点が存在するとみなして復号できる。
[0039] また、 符号化装置は、 点群データを、 距離センサ、 ステレオカメラ、 単眼 カメラ、 ジャイロ、 又は慣性センサなどを用いて取得する。
[0040] スペースは、 動画像の符号化と同様に、 単独で復号可能なイントラ ·スぺ —ス ( I _ 3 〇) 、 単方向の参照のみ可能なプレディクティブ ·スぺース ( _ 3 〇 、 及び、 双方向の参照が可能なバイディレクシヨナル ·スぺ —ス (巳_ 3 ?〇) を含む少なくとも 3つの予測構造のいずれかに分類され る。 また、 スペースは復号時刻と表示時刻との 2種類の時刻情報を有する。
[0041 ] また、 図 1 に示すように、 複数のスペースを含む処理単位として、 ランダ ムアクセス単位である 0 0 3 (0 「〇リ 〇干 3 8〇 6) が存在する 。 さらに、 複数の◦ 0 3を含む処理単位としてワールド (\ZV L D) が存在す る。
[0042] ワールドが占める空間領域は、 ◦ 3又は緯度及び経度情報などにより、 地球上の絶対位置と対応付けられる。 この位置情報はメタ情報として格納さ れる。 なお、 メタ情報は、 符号化データに含まれてもよいし、 符号化データ とは別に伝送されてもよい。
[0043] また、 ◦ 0 3内では、 全ての 3 〇が三次元的に隣接してもよいし、 他の
3 〇と三次元的に隣接しない 3 〇が存在してもよい。
[0044] なお、 以下では、 0 0 3 , 3 〇又は V !_ IV!等の処理単位に含まれる三次 元データに対する、 符号化、 復号又は参照等の処理を、 単に、 処理単位を符 号化、 復号又は参照する等とも記す。 また、 処理単位に含まれる三次元デー 夕は、 例えば、 三次元座標等の空間位置と、 色情報等の特性値との少なくと 〇 2020/175708 16 卩(:171? 2020 /008540
_つの組を含む。
[0045] 次に、 ◦〇 3における 3 〇の予測構造について説明する。 同一◦ 0 3内 の複数の 3 〇、 又は、
Figure imgf000018_0001
互いに異なる空間 を占めるが、 同じ時刻情報 (復号時刻及び表示時刻) を持つ。
[0046] また、
Figure imgf000018_0002
内で復号順で先頭となる 3 〇は丨 一 3 〇である。 また、
◦〇 3にはクローズド◦〇 3と才ープン◦〇 3との 2種類が存在する。 クロ
Figure imgf000018_0003
内の全ての 3 〇を復号できる◦ 0 3である。 才ープン◦ 0 3では、 ◦ 0 3内で先頭 I — 3 〇よりも表示時刻が前となる一部の 3 〇は異なる◦〇 3を参照して おり、 当該◦ 0 3のみで復号を行うことができない。
[0047] なお、 地図情報などの符号化データでは、
Figure imgf000018_0004
0を符号化順とは逆方向か ら復号することがあり、 0 0 3間に依存性があると逆方向再生が困難である 。 よって、 このような場合には、 基本的にはクローズド
Figure imgf000018_0005
が用いられる
[0048] また、
Figure imgf000018_0006
は、 高さ方向にレイヤ構造を有し、 下のレイヤの 3 〇から 順に符号化又は復号が行われる。
[0049] 図 2は◦〇 3の最下層レイヤに属する 3 〇間の予測構造の一例を示す図 である。 図 3はレイヤ間の予測構造の一例を示す図である。
[0050]
Figure imgf000018_0007
三次元空間内には、 ヒト
、 動物、 車、 自転車、 信号、 又はランドマークとなる建物などのオブジェク 卜が存在するが、 特にサイズが小さいオブジェクトは丨
Figure imgf000018_0008
〇として符号 化すると有効である。 例えば、 三次元データ復号装置 (以下、 復号装置とも 記す) は、 ◦〇 3を低処理量又は高速に復号する際には、
Figure imgf000018_0009
内の丨 _ 3 〇のみを復号する。
[0051 ] また、 符号化装置は、 \ZV L D内のオブジェクトの粗密さに応じて 丨 _ 3 〇の符号化間隔又は出現頻度を切替えてもよい。
[0052] また、 図 3に示す構成において、 符号化装置又は復号装置は、 複数のレイ ヤを下層 (レイヤ 1) から順に符号化又は復号する。 これにより、 例えば自 〇 2020/175708 17 卩(:171? 2020 /008540
動走行車などにとってより情報量の多い地面付近のデータの優先度を上げる ことができる。
[0053] なお、 ドローンなどで用いられる符号化データでは、 ◦〇 3内において高 さ方向で上のレイヤの 3 0から順に符号化又は復号してもよい。
[0054] また、 符号化装置又は復号装置は、 復号装置が荒く◦〇 3を把握でき、 徐 々に解像度を上げるようにできるように、 複数のレイヤを符号化又は復号し てもよい。 例えば、 符号化装置又は復号装置は、 レイヤ 3、 8、 1、 9 の 順に符号化又は復号してもよい。
[0055] 次に、 静的オブジェクト及び動的オブジェクトの扱い方について説明する
[0056] 三次元空間には、 建物又は道路など静的なオブジェクト又はシーン (以降 、 まとめて静的オブジェクトと呼ぶ) と、 車又はヒトなどの動的なオブジェ クト (以降、 動的オブジェクトと呼ぶ) とが存在する。 オブジェクトの検出 は、 ポイントクラウドのデータ、 又は、 ステレオカメラなどのカメラ映像な どから特徴点を抽出するなどして、 別途行われる。 ここでは、 動的オブジェ クトの符号化方法の例について説明する。
[0057] 第 1方法は、 静的オブジェクトと動的オブジェクトとを区別せずに符号化 する方法である。 第 2方法は、 静的オブジェクトと動的オブジェクトとを識 別情報により区別する方法である。
[0058] 例えば、
Figure imgf000019_0001
が識別単位として用いられる。 この場合、 静的オブジェク 卜を構成する 3 〇を含む◦ 0 3と、 動的オブジェクトを構成する 3 〇を 含む◦ 0 3とが、 符号化データ内、 又は符号化データとは別途格納される識 別情報により区別される。
[0059] または、 3 〇が識別単位として用いられてもよい。 この場合、 静的オブ ジェクトを構成する V
Figure imgf000019_0002
を含む 3 〇と、 動的オブジェクトを構成する V
!_ IV!を含む 3 (3とが、 上記識別情報により区別される。
[0060] または、 V !_ IV!或いは 乂 !_が識別単位として用いられてもよい。 この場 合、 静的オブジェクトを含む 又は 乂!_と、 動的オブジェクトを含む 〇 2020/175708 18 卩(:171? 2020 /008540 1_ 1\/1又は 乂1_とが上記識別情報により区別される。
[0061 ] また、 符号化装置は、 動的オブジェクトを
Figure imgf000020_0001
て符号化し、 静的オブジェクトを含む V
Figure imgf000020_0002
又は 3 〇と、 動的オブジェク 卜を含む 3 〇とを、 互いに異なる◦〇 3として符号化してもよい。 また、 符号化装置は、 動的オブジェクトのサイズに応じて◦ 0 3のサイズが可変と なる場合には、 ◦ 0 3のサイズをメタ情報として別途格納する。
[0062] また、 符号化装置は、 静的オブジェクトと動的オブジェクトとを互いに独 立に符号化し、 静的オブジェクトから構成されるワールドに対して、 動的才 ブジェクトを重畳してもよい。 このとき、 動的オブジェクトは 1以上の 3 〇から構成され、 各 3 (3は、 当該 3 (3が重畳される静的オブジェクトを 構成する 1以上の 3 〇に対応付けられる。 なお、 動的オブジェクトを 3 〇ではなく、 1以上の V I- IV!又は V X I-により表現してもよい。
[0063] また、 符号化装置は、 静的オブジェクトと動的オブジェクトとを互いに異 なるストリームとして符号化してもよい。
[0064] また、 符号化装置は、 動的オブジェクトを構成する 1以上の 3 (3を含む 号化装置は、 動的オブジェクトを含む
Figure imgf000020_0003
_ の空間領域に対応する静的オブジェク 卜の◦ 0 3とを同ーサイズ (同一の空間領域を占める) に設定してもよい。 これにより、 ◦ 0 3単位で重畳処理を行うことができる。
[0065] 動的オブジェクトを構成する _ 3 〇又は巳_ 3 〇は、 符号化済みの 異なる◦ 0 3に含まれる 3 〇を参照してもよい。 動的オブジェクトの位置 が時間的に変化し、 同一の動的オブジェクトが異なる時刻の
Figure imgf000020_0004
として符 号化されるケースでは、 ◦〇 3を跨いだ参照が圧縮率の観点から有効となる
[0066] また、 符号化データの用途に応じて、 上記の第 1方法と第 2方法とを切替 えてもよい。 例えば、 符号化三次元データを地図として用いる場合は、 動的 オブジェクトを分離できることが望ましいため、 符号化装置は、 第 2方法を 用いる。 _方、 符号化装置は、 コンサート又はスポーツなどのイベントの三 次元データを符号化する場合に、 動的オブジェクトを分離する必要がなけれ ば、 第 1方法を用いる。
[0067] また、 GOS又は S PCの復号時刻と表示時刻とは符号化データ内、 又は メタ情報として格納できる。 また、 静的オブジェクトの時刻情報は全て同一 としてもよい。 このとき、 実際の復号時刻と表示時刻は、 復号装置が決定す るものとしてもよい。 あるいは、 復号時刻として、 GOS、 あるいは、 S P C毎に異なる値が付与され、 表示時刻として全て同一の値が付与されてもよ い。 さらに、 H EVCの H RD (H y p o t h e t i c a l R e f e r e n c e D e c o d e r) など動画像符号化におけるデコーダモデルのよう に、 デコーダが所定のサイズのバッファを有し、 復号時刻に従って所定のビ ッ トレートでビッ トストリームを読み込めば破結なく復号できることを保証 するモデルを導入してもよい。
[0068] 次に、 ワールド内における GO Sの配置について説明する。 ワールドにお ける三次元空間の座標は、 互いに直交する 3本の座標軸 (X軸、 y軸、 z軸 ) により表現される。 GOSの符号化順に所定のルールを設けることで、 空 間的に隣接する G〇 Sが符号化データ内で連続するように符号化を行える。 例えば、 図 4に示す例では、 X z平面内の GOSを連続的に符号化する。 あ る X z平面内の全ての GO Sの符号化終了後に y軸の値を更新する。 すなわ ち、 符号化が進むにつれて、 ワールドは y軸方向に伸びていく。 また、 G 0 Sのインデックス番号は符号化順に設定される。
[0069] ここで、 ワールドの三次元空間は、 G PS、 或いは緯度及び経度などの地 理的な絶対座標と 1対 1 に対応付けておく。 或いは、 予め設定した基準位置 からの相対位置により三次元空間が表現されてもよい。 三次元空間の X軸、 y軸、 z軸の方向は、 緯度及び経度などに基づいて決定される方向ベクトル として表現され、 当該方向べクトルはメタ情報として符号化データと共に格 納される。
[0070] また、 GOSのサイズは固定とし、 符号化装置は、 当該サイズをメタ情報 として格納する。 また、 GOSのサイズは、 例えば、 都市部か否か、 又は、 〇 2020/175708 20 卩(:171? 2020 /008540
室内か外かなどに応じて切替えられてもよい。 つまり、
Figure imgf000022_0001
のサイズは、 情報としての価値があるオブジェクトの量又は性質に応じて切替えられても よい。 あるいは、 符号化装置は、 同ーワールド内において、 オブジェクトの 密度などに応じて、 ◦〇 3のサイズ、 又は、
Figure imgf000022_0002
適応的に切替えてもよい。 例えば、 符号化装置は、 オブジェクトの密度が高 いほど、 ◦〇 3のサイズを小さく し、
Figure imgf000022_0003
る。
[0071 ] 図 5の例では、 3番目から
Figure imgf000022_0004
の領域では、 オブジェクトの 密度が高いため、 細かい粒度でのランダムアクセスを実現するために、 0 0 3が細分化されている。 なお、
Figure imgf000022_0005
それぞれ、
3番目から 6番目の◦〇 3の裏側に存在する。
[0072] 次に、 本実施の形態に係る三次元データ符号化装置の構成及び動作の流れ を説明する。 図 6は、 本実施の形態に係る三次元データ符号化装置 1 0 0の ブロック図である。 図 7は、 三次元データ符号化装置 1 0 0の動作例を示す フローチヤートである。
[0073] 図 6に示す三次元データ符号化装置 1 0 0は、 三次元データ 1 1 1 を符号 化することで符号化三次元データ 1 1 2を生成する。 この三次元データ符号 化装置 1 0 0は、 取得部 1 0 1 と、 符号化領域決定部 1 0 2と、 分割部 1 0 3と、 符号化部 1 0 4とを備える。
[0074] 図 7に示すように、 まず、 取得部 1 0 1は、 点群データである三次元デー 夕 1 1 1 を取得する (3 1 0 1) 。
[0075] 次に、 符号化領域決定部 1 0 2は、 取得した点群データに対応する空間領 域のうち、 符号化対象の領域を決定する (3 1 0 2) 。 例えば、 符号化領域 決定部 1 0 2は、 ユーザ又は車両の位置に応じて、 当該位置の周辺の空間領 域を符号化対象の領域に決定する。
[0076] 次に、 分割部 1 0 3は、 符号化対象の領域に含まれる点群データを、 各処 理単位に分割する。 ここで処理単位とは、 上述した 0 0 3及び 3 (3等であ る。 また、 この符号化対象の領域は、 例えば、 上述したワールドに対応する 〇 2020/175708 21 卩(:171? 2020 /008540
。 具体的には、 分割部 1 0 3は、 予め設定した◦ 0 3のサイズ、 又は、 動的 オブジェクトの有無或いはサイズに基づいて、 点群データを処理単位に分割 する (3 1 0 3) 。 また、 分割部 1 0 3は、 各◦ 0 3において符号化順で先 頭となる 3 〇の開始位置を決定する。
[0077] 次に、 符号化部 1 0 4は、 各◦〇 3内の複数の 3 〇を順次符号化するこ とで符号化三次元データ 1 1 2を生成する (3 1 0 4) 。
[0078] なお、 ここでは、 符号化対象の領域を◦ 0 3及び 3 (3に分割した後に、 各◦ 0 3を符号化する例を示したが、 処理の手順は上記に限らない。 例えば 、 一つの◦ 0 3の構成を決定した後にその◦ 0 3を符号化し、 その後、 次の ◦〇 3の構成を決定する等の手順を用いてもよい。
[0079] このように、 三次元データ符号化装置 1 0 0は、 三次元データ 1 1 1 を符 号化することで符号化三次元データ 1 1 2を生成する。 具体的には、 三次元 データ符号化装置 1 〇〇は、 三次元データを、 ランダムアクセス単位であつ て、 各々が三次元座標に対応付けられている第 1処理単位 (〇〇3) に分割 し、 第 1処理単位 (〇〇3) を複数の第 2処理単位 (3 〇 に分割し、 第 2処理単位 (3 〇 を複数の第 3処理単位 (V I- IV!) に分割する。 また、 第 3処理単位 (V I- IV!) は、 位置情報が対応付けられる最小単位である 1以 上のボクセル ( 乂!_) を含む。
[0080] 次に、 三次元データ符号化装置 1 0 0は、 複数の第 1処理単位 (〇〇3) の各々を符号化することで符号化三次元データ 1 1 2を生成する。 具体的に は、 三次元データ符号化装置 1 〇〇は、 各第 1処理単位 (〇〇3) において 、 複数の第 2処理単位 (3 〇) の各々を符号化する。 また、 三次元データ 符号化装置 1 〇〇は、 各第 2処理単位 (3 〇 において、 複数の第 3処理 単位 (V I- IV!) の各々を符号化する。
[0081 ] 例えば、 三次元データ符号化装置 1 0 0は、 処理対象の第 1処理単位 (◦ 0 3) がクローズド◦ 0 3である場合には、 処理対象の第 1処理単位 (〇〇 3) に含まれる処理対象の第 2処理単位 (3 〇 を、 処理対象の第 1処理 単位 (〇〇3) に含まれる他の第 2処理単位 (3 〇 を参照して符号化す 〇 2020/175708 22 卩(:171? 2020 /008540
る。 つまり、 三次元データ符号化装置 1 0 0は、 処理対象の第 1処理単位 ( 0 0 3) とは異なる第 1処理単位 (〇〇3) に含まれる第 2処理単位 (3 〇) を参照しない。
[0082] —方、 処理対象の第 1処理単位 (〇〇3) がオープン
Figure imgf000024_0001
る場合に は、 処理対象の第 1処理単位 (0 0 3) に含まれる処理対象の第 2処理単位 (3 〇) を、 処理対象の第 1処理単位 (〇〇3) に含まれる他の第 2処理 単位 (3 〇 、 又は、 処理対象の第 1処理単位 (0 0 3) とは異なる第 1 処理単位 (〇〇3) に含まれる第 2処理単位 (3 〇 を参照して符号化す る。
[0083] また、 三次元データ符号化装置 1 0 0は、 処理対象の第 2処理単位 (3 〇 のタイプとして、 他の第 2処理単位 (3 〇) を参照しない第 1タイプ ( 1 _ 3 〇) 、 他の一つの第 2処理単位 (3 〇) を参照する第 2タイプ (? _ 3 〇) 、 及び他の二つの第 2処理単位 (3 〇) を参照する第 3夕 イプのうちいずれかを選択し、 選択したタイプに従い処理対象の第 2処理単 位 (3 〇 を符号化する。
[0084] 次に、 本実施の形態に係る三次元データ復号装置の構成及び動作の流れを 説明する。 図 8は、 本実施の形態に係る三次元データ復号装置 2 0 0のブロ ックのブロック図である。 図 9は、 三次元データ復号装置 2 0 0の動作例を 示すフローチヤートである。
[0085] 図 8に示す三次元データ復号装置 2 0 0は、 符号化三次元データ 2 1 1 を 復号することで復号三次元データ 2 1 2を生成する。 ここで、 符号化三次元 データ 2 1 1は、 例えば、 三次元データ符号化装置 1 0 0で生成された符号 化三次元データ 1 1 2である。 この三次元データ復号装置 2 0 0は、 取得部 2 0 1 と、 復号開始◦ 0 3決定部 2 0 2と、 復号 3 (3決定部 2 0 3と、 復 号部 2 0 4とを備える。
[0086] まず、 取得部 2 0 1は、 符号化三次元データ 2 1 1 を取得する (3 2 0 1 ) 。 次に、 復号開始◦ 0 3決定部 2 0 2は、 復号対象の◦ 0 3に決定する ( 3 2 0 2) 。 具体的には、 復号開始◦ 0 3決定部 2 0 2は、 符号化三次元デ 〇 2020/175708 23 卩(:171? 2020 /008540
—夕 2 1 1内、 又は符号化三次元データとは別に格納されたメタ情報を参照 して、 復号を開始する空間位置、 オブジェクト、 又は、 時刻に対応する 3 〇を含む◦〇 3を復号対象の◦〇 3に決定する。
[0087] 次に、 復号 3 〇決定部 2 0 3は、
Figure imgf000025_0001
内で復号する 3 〇のタイプ (
I、 、 巳) を決定する (3 2 0 3) 。 例えば、 復号 3 (3決定部 2 0 3は 、 (1) 丨 一 3 〇のみを復号するか、 (2) 丨 一 3 〇及び 一3 〇を 復号するか、 (3) 全てのタイプを復号するかを決定する。 なお、 全ての 3 〇を復号するなど、 予め復号する 3 〇のタイプが決定している場合は、 本ステツプは行われなくてもよい。
[0088] 次に、 復号部 2 0 4は、
Figure imgf000025_0002
内で復号順 (符号化順と同一) で先頭とな る 3 (3が符号化三次元データ 2 1 1内で開始するアドレス位置を取得し、 当該アドレス位置から先頭 3 (3の符号化データを取得し、 当該先頭 3 〇 から順に各 3 〇を順次復号する (3 2 0 4) 。 なお、 上記アドレス位置は 、 メタ情報等に格納されている。
[0089] このように、 三次元データ復号装置 2 0 0は、 復号三次元データ 2 1 2を 復号する。 具体的には、 三次元データ復号装置 2 0 0は、 ランダムアクセス 単位であって、 各々が三次元座標に対応付けられている第 1処理単位 (◦〇 3) の符号化三次元データ 2 1 1の各々を復号することで第 1処理単位 (◦ 0 3) の復号三次元データ 2 1 2を生成する。 より具体的には、 三次元デー 夕復号装置 2 0 0は、 各第 1処理単位 (0 0 3) において、 複数の第 2処理 単位 (3 〇 の各々を復号する。 また、 三次元データ復号装置 2 0 0は、 各第 2処理単位 (3 〇 において、 複数の第 3処理単位 (V I- IV!) の各々 を復号する。
[0090] 以下、 ランダムアクセス用のメタ情報について説明する。 このメタ情報は 、 三次元データ符号化装置 1 0 0で生成され、 符号化三次元データ 1 1 2 ( 2 1 1) に含まれる。
[0091 ] 従来の二次元の動画像におけるランダムアクセスでは、 指定した時刻の近 傍となるランダムアクセス単位の先頭フレームから復号を開始していた。 一 〇 2020/175708 24 卩(:171? 2020 /008540
方、 ワールドにおいては、 時刻に加えて、 空間 (座標又はオブジェクトなど ) に対するランダムアクセスが想定される。
[0092] そこで、 少なくとも座標、 オブジェクト、 及び時刻の 3つの要素へのラン ダムアクセスを実現するために、 各要素と◦〇 3のインデックス番号とを対 応付けるテーブルを用意する。 さらに、 ◦〇 3のインデックス番号と◦〇 3 の先頭となる 丨 一 3 〇のアドレスを対応付ける。 図 1 0は、 メタ情報に含 まれるテーブルの _例を示す図である。 なお、 図 1 0に示す全てのテーブル が用いられる必要はなく、 少なくとも一つのテーブルが用いられればよい。
[0093] 以下、 一例として、 座標を起点とするランダムアクセスについて説明する 。 座標 (父 2、 V 2 , å 2) にアクセスする際には、 まず、 座標一
Figure imgf000026_0001
—ブルを参照して、 座標が (父 2、 V 2 , å 2) である地点は 2番目の◦〇 3に含まれることが分かる。 次に、
Figure imgf000026_0002
アドレステーブルを参照し、 2番 目の◦〇 3における先頭の丨 一 3 〇のアドレスが 3 ¢1 ¢1 「 (2) であるこ とが分かるため、 復号部 2 0 4は、 このアドレスからデータを取得して復号 を開始する。
[0094] なお、 アドレスは、 論理フォーマッ トにおけるアドレスであっても、 1~1 0 口又はメモリの物理アドレスであってもよい。 また、 アドレスの代わりにフ ァイルセグメントを特定する情報が用いられてもよい。 例えば、 ファイルセ グメントは、 1つ以上の◦ 0 3などをセグメント化した単位である。
[0095] また、 オブジェクトが複数の 0 0 3に跨る場合には、 オブジェクトー◦〇
3テーブルにおいて、 オブジェクトが属する
Figure imgf000026_0003
を複数示してもよい。 当 該複数の◦〇 3がクローズド◦〇 3であれば、 符号化装置及び復号装置は、 並列に符号化又は復号を行うことができる。 一方、 当該複数の
Figure imgf000026_0004
がオー プン 0 0 3であれば、 複数の 0 0 3が互いに参照しあうことでより圧縮効率 を高めることができる。
[0096] オブジェクトの例としては、 ヒト、 動物、 車、 自転車、 信号、 又はランド マークとなる建物などがある。 例えば、 三次元データ符号化装置 1 〇〇は、 ワールドの符号化時に三次元のポイントクラウドなどからオブジェクトに特 〇 2020/175708 25 卩(:171? 2020 /008540
有の特徴点を抽出し、 当該特徴点に基づきオブジェクトを検出し、 検出した オブジェクトをランダムアクセスポイントとして設定できる。
[0097] このように、 三次元データ符号化装置 1 0 0は、 複数の第 1処理単位 (◦ 〇3) と、 複数の第 1処理単位 (〇〇3) の各々に対応付けられている三次 元座標とを示す第 1情報を生成する。 また、 符号化三次元データ 1 1 2 (2 1 1) は、 この第 1情報を含む。 また、 第 1情報は、 さらに、 複数の第 1処 理単位 (〇〇3) の各々に対応付けられている、 オブジェクト、 時刻及びデ —夕格納先のうち少なくとも一つを示す。
[0098] 三次元データ復号装置 2 0 0は、 符号化三次元データ 2 1 1から第 1情報 を取得し、 第 1情報を用いて、 指定された三次元座標、 オブジェクト又は時 刻に対応する第 1処理単位の符号化三次元データ 2 1 1 を特定し、 当該符号 化三次元データ 2 1 1 を復号する。
[0099] 以下、 その他のメタ情報の例について説明する。 ランダムアクセス用のメ 夕情報の他に、 三次元データ符号化装置 1 〇〇は、 以下のようなメタ情報を 生成及び格納してもよい。 また、 三次元データ復号装置 2 0 0は、 このメタ 情報を復号時に利用してもよい。
[0100] 三次元データを地図情報として用いる場合などには、 用途に応じてプロフ ァイルが規定され、 当該プロファイルを示す情報がメタ情報に含まれてもよ い。 例えば、 市街地或いは郊外向け、 又は、 飛行物体向けのプロファイルが 規定され、 それぞれにおいてワールド、 3
Figure imgf000027_0001
の最大又は最小サ イズなどが定義される。 例えば、 市街地向けでは、 郊外向けよりも詳細な情 報が必要なため、 V !_ IV!の最小サイズが小さく設定される。
[0101 ] メタ情報は、 オブジェクトの種類を示すタグ値を含んでもよい。 このタグ 値はオブジェクトを構成する V !_ IV!、 3 〇、 又は◦ 0 3と対応付けられる 。 例えば、 タグ値 「0」 は 「人」 を示し、 タグ値 「1」 は 「車」 を示し、 夕 グ値 「2」 は 「信号機」 を示す、 などオブジェクトの種類ごとにタグ値が設 定されてもよい。 または、 オブジェクトの種類が判定しにくい又は判定する 必要がない場合はサイズ、 又は、 動的オブジェクトか静的オブジェクトかな 〇 2020/175708 26 卩(:171? 2020 /008540
どの性質を示すタグ値が用いられてもよい。
[0102] また、 メタ情報は、 ワールドが占める空間領域の範囲を示す情報を含んで もよい。
[0103] また、 メタ情報は、 符号化データのストリーム全体、 又は、 ◦ 0 3内の 3 〇など、 複数の 3 (3に共通のヘッダ情報として、 3 (3又は V X I-のサ イズを格納してもよい。
[0104] また、 メタ情報は、 ポイントクラウドの生成に用いた距離センサ或いは力 メラなどの識別情報、 又は、 ポイントクラウド内の点群の位置精度を示す情 報を含んでもよい。
[0105] また、 メタ情報は、 ワールドが静的オブジェクトのみから構成されるか、 動的オブジェクトを含むかを示す情報を含んでもよい。
[0106] 以下、 本実施の形態の変形例について説明する。
[0107] 符号化装置又は復号装置は、 互いに異なる 2以上の 3 (3又は◦ 0 3を並 列で符号化又は復号してもよい。 並列で符号化又は復号する◦ 0 3は、 0 0 3の空間位置を示すメタ情報などに基づいて決定できる。
[0108] 三次元データを車又は飛行物体などが移動する際の空間地図として用いる 、 又はこのような空間地図を生成するケースなどでは、 符号化装置又は復号 装置は、 〇 3、 経路情報、 又はズーム倍率などに基づいて特定される空間 に含まれる
Figure imgf000028_0001
を符号化又は復号してもよい。
[0109] また、 復号装置は、 自己位置又は走行経路に近い空間から順に復号を行つ てもよい。 符号化装置又は復号装置は、 自己位置又は走行経路から遠い空間 を、 近い空間に比べて優先度を落として符号化又は復号してもよい。 ここで 、 優先度を落とすとは、 処理順を下げる、 解像度を下げる (間引いて処理す る) 、 又は、 画質を下げる (符号化効率を上げる。 例えば、 量子化ステップ を大きくする。 ) 等である。
[01 10] また、 復号装置は、 空間内で階層的に符号化されている符号化データを復 号する際は、 低階層のみを復号してもよい。
[01 1 1 ] また、 復号装置は、 地図のズーム倍率又は用途に応じて、 低階層から優先 〇 2020/175708 27 卩(:171? 2020 /008540
的に復号してもよい。
[01 12] また、 車又はロボッ トの自律走行時に行う自己位置推定又は物体認識など の用途では、 符号化装置又は復号装置は、 路面から特定高さ以内の領域 (認 識を行う領域) 以外は解像度を落として符号化又は復号を行ってもよい。
[01 13] また、 符号化装置は、 室内と室外との空間形状を表現するポイントクラウ ドをそれぞれ個別に符号化してもよい。 例えば、 室内を表現する
Figure imgf000029_0001
(室 内〇〇3) と室外を表現する
Figure imgf000029_0002
(室外〇〇3) とを分けることで、 復号 装置は、 符号化データを利用する際に、 視点位置に応じて復号する◦〇 3を 選択できる。
[01 14] また、 符号化装置は、 座標が近い室内◦ 0 3と室外◦ 0 3とを、 符号化ス トリーム内で隣接するように符号化してもよい。 例えば、 符号化装置は、 両 者の識別子を対応付け、 符号化ストリーム内、 又は別途格納されるメタ情報 内に対応付けた識別子を示す情報を格納する。 これにより、 復号装置は、 メ 夕情報内の情報を参照して、 座標が近い室内◦〇 3と室外◦〇 3とを識別で きる。
[01 15] また、 符号化装置は、
Figure imgf000029_0004
と室外
Figure imgf000029_0003
とで、 〇〇3又は3 〇の サイズを切替えてもよい。 例えば、 符号化装置は、 室内では室外に比べて◦ 〇 3のサイズを小さく設定する。 また、 符号化装置は、 室内◦ 0 3と室外◦ 〇3とで、 ポイントクラウドから特徴点を抽出する際の精度、 又はオブジェ クト検出の精度などを変更してもよい。
[01 16] また、 符号化装置は、 復号装置が動的オブジェクトを静的オブジェクトと 区別して表示するための情報を符号化データに付加してもよい。 これにより 、 復号装置は、 動的オブジェクトと赤枠又は説明用の文字などとを合わせて 表示できる。 なお、 復号装置は、 動的オブジェクトの代わりに赤枠又は説明 用の文字のみを表示してもよい。 また、 復号装置は、 より細かいオブジェク 卜種別を表示してもよい。 例えば、 車には赤枠が用いられ、 ヒトには黄色枠 が用いられてもよい。
[01 17] また、 符号化装置又は復号装置は、 動的オブジヱクトの出現頻度、 又は、 〇 2020/175708 28 卩(:171? 2020 /008540
静的オブジェクトと動的オブジェクトとの割合などに応じて、 動的オブジェ クトと静的オブジェクトとを異なる 3 〇又は◦〇 3として符号化又は復号 するかどうかを決定してもよい。 例えば、 動的オブジェクトの出現頻度又は 割合が閾値を超える場合には、 動的オブジェクトと静的オブジェクトとが混 が許容され、 動的オブジェクトの出現頻度又は割合 には、 動的オブジェクトと静的オブジェクトとが混在
Figure imgf000030_0001
が許容されない。
[01 18] 動的オブジェクトをポイントクラウドではなく、 カメラの二次元画像情報 から検出する際には、 符号化装置は、 検出結果を識別するための情報 (枠又 は文字など) とオブジェクト位置とを別途取得し、 これらの情報を三次元の 符号化データの一部として符号化してもよい。 この場合、 復号装置は、 静的 オブジェクトの復号結果に対して、 動的オブジェクトを示す補助情報 (枠又 は文字) を重畳して表示する。
[01 19] また、 符号化装置は、 静的オブジェクトの形状の複雑さなどに応じて、 3 〇における 乂 !_又は !_ 1\/1の粗密さを変更してもよい。 例えば、 符号化 装置は、 静的オブジェクトの形状が複雑なほど、 乂!_又は !_ 1\/1を密に設 定する。 さらに、 符号化装置は、 空間位置又は色情報を量子化する際の量子 化ステップなどを V X !_又は V !_ IV!の粗密さに応じて決定してもよい。 例え ば、 符号化装置は、 V X I-又は V I- IV!が密なほど量子化ステップを小さく設 定する。
[0120] 以上のように、 本実施の形態に係る符号化装置又は復号装置は、 座標情報 を有するスぺース単位で空間の符号化又は復号を行う。
[0121 ] また、 符号化装置及び復号装置は、 スペース内において、 ボリューム単位 で符号化又は復号を行う。 ボリュームは、 位置情報が対応付けられる最小単 位であるボクセルを含む。
[0122] また、 符号化装置及び復号装置は、 座標、 オブジェクト、 及び時間等を含 む空間情報の各要素と◦〇?とを対応付けたテーブル、 又は各要素間を対応 付けたテーブルにより任意の要素間を対応付けて符号化又は復号を行う。 ま 〇 2020/175708 29 卩(:171? 2020 /008540
た、 復号装置は、 選択された要素の値を用いて座標を判定し、 座標からボリ ューム、 ポクセル又はスペースを特定し、 当該ボリューム又はポクセルを含 むスペース、 又は特定されたスペースを復号する。
[0123] また、 符号化装置は、 特徴点抽出又はオブジェクト認識により、 要素によ り選択可能なボリューム、 ポクセル又はスペースを判定し、 ランダムアクセ ス可能なボリューム、 ポクセル又はスぺースとして符号化する。
[0124] スペースは、 当該スペース単体で符号化又は復号可能な丨 一 3 (3と、 任 意の 1つの処理済みスペースを参照して符号化又は復号される _ 3 〇と 、 任意の二つの処理済みスペースを参照して符号化又は復号される巳_ 3 〇との 3種類のタイプに分類される。
[0125] 1以上のボリュームが、 静的オブジェクト又は動的なオブジェクトに対応 する。 静的オブジェクトを含むスぺースと動的オブジェクトを含むスぺース とは互いに異なる◦〇 3として符号化又は復号される。 つまり、 静的オブジ ェクトを含む 3 〇と、 動的オブジェクトを含む
Figure imgf000031_0001
割り当てられる。
[0126] 動的オブジェクトはオブジェクトごとに符号化又は復号され、 静的オブジ ェクトを含む 1以上のスペースに対応付けられる。 つまり、 複数の動的オブ ジェクトは個別に符号化され、 得られた複数の動的オブジェクトの符号化デ —夕は、 静的オブジェクトを含む 3 〇に対応付けられる。
[0127] 符号化装置及び復号装置は、 0 0 3内の丨 一 3 (3の優先度を上げて、 符 号化又は復号を行う。 例えば、 符号化装置は、 丨 一 3 (3の劣化が少なくな るように (復号後に元の三次元データがより忠実に再現されるように) 符号 化を行う。 また、 復号装置は、 例えば、 丨 一 3 〇のみを復号する。
[0128] 符号化装置は、 ワールド内のオブジェクトの疎密さ又は数 (量) に応じて
I — 3 (3を用いる頻度を変えて符号化を行ってもよい。 つまり、 符号化装 置は、 三次元データに含まれるオブジェクトの数又は粗密さに応じて、 丨 一 3 (3を選択する頻度を変更する。 例えば、 符号化装置は、 ワールド内の才 ブジェクトが密であるほど丨スぺースを用いる頻度を上げる。 〇 2020/175708 30 卩(:171? 2020 /008540
[0129] また、 符号化装置は、 ランダムアクセスポイントを
Figure imgf000032_0001
単位で設定し、 0 0 3に対応する空間領域を示す情報をへッダ情報に格納する。
[0130] 符号化装置は、 ◦ 0 3の空間サイズとして、 例えば、 デフォルト値を使用 する。 なお、 符号化装置は、 オブジェクト又は動的オブジェクトの数 (量) 又は粗密さに応じて◦ 0 3のサイズを変更してもよい。 例えば、 符号化装置 は、 オブジェクト或いは動的オブジェクトが密なほど、 又は数が多いほど、 ◦〇 3の空間サイズを小さくする。
[0131 ] また、 スペース又はボリュームは、 デブスセンサ、 ジャイロ、 又はカメラ 等のセンサで得られた情報を用いて導出された特徴点群を含む。 特徴点の座 標はボクセルの中心位置に設定される。 また、 ボクセルの細分化により位置 情報の高精度化を実現できる。
[0132] 特徴点群は、 複数のピクチャを用いて導出される。 複数のピクチャは、 実 際の時刻情報と、 スペースに対応付けられた複数のピクチャで同一の時刻情 報 (例えば、 レート制御等に用いられる符号化時刻) との少なくとも 2種類 の時刻情報を有する。
[0133] また、 1以上のスペースを含む◦ 0 3単位で符号化又は復号が行われる。
[0134] 符号化装置及び復号装置は、 処理済みの
Figure imgf000032_0002
内のスペースを参照して、 処理対象の◦〇 3内の スぺース又は巳スぺースの予測を行う。
[0135] または、 符号化装置及び復号装置は、 異なる 0 0 3を参照せず、 処理対象 の◦〇 3内の処理済スぺースを用いて処理対象の◦〇 3内の スぺース又は 巳スペースの予測を行う。
[0136] また、 符号化装置及び復号装置は、 1以上の◦ 0 3を含むワールド単位で 符号化ストリームを送信又は受信する。
[0137] また、
Figure imgf000032_0003
は少なくともワールド内で 1方向にレイヤ構造を持ち、 符号 化装置及び復号装置は、 下位レイヤから符号化又は復号を行う。 例えば、 ラ ンダムアクセス可能な 0 0 3は最下位レイヤに属する。 上位レイヤに属する ◦〇 3は同ーレイヤ以下に属する◦〇 3を参照する。 つまり、
Figure imgf000032_0004
は、 予 め定められた方向に空間分割され、 各々が 1以上の 3 (3を含む複数のレイ 〇 2020/175708 31 卩(:171? 2020 /008540
ヤを含む。 符号化装置及び復号装置は、 各 3 (3を、 当該 3 (3と同ーレイ ヤ又は当該 3 〇より下層のレイヤに含まれる 3 〇を参照して符号化又は 復号する。
[0138] また、 符号化装置及び復号装置は、 複数の◦ 0 3を含むワールド単位内で 、 連続して
Figure imgf000033_0001
を符号化又は復号する。 符号化装置及び復号装置は、 符号 化又は復号の順序 (方向) を示す情報をメタデータとして書き込む又は読み 出す。 つまり、 符号化データは、 複数の◦ 0 3の符号化順を示す情報を含む
[0139] また、 符号化装置及び復号装置は、 互いに異なる 2以上のスペース又は◦ 0 3を並列で符号化又は復号する。
[0140] また、 符号化装置及び復号装置は、 スペース又は◦ 0 3の空間情報 (座標 、 サイズ等) を符号化又は復号する。
[0141 ] また、 符号化装置及び復号装置は、
Figure imgf000033_0002
経路情報、 又は倍率など、 自 己の位置又は/及び領域サイズに関する外部情報に基づいて特定される特定 空間に含まれるスペース又は◦〇 3を符号化又は復号する。
[0142] 符号化装置又は復号装置は、 自己の位置から遠い空間は、 近い空間に比べ て優先度を落として符号化又は復号する。
[0143] 符号化装置は、 倍率又は用途に応じて、 ワールドのある 1方向を設定し、 当該方向にレイヤ構造を持つ 0 0 3を符号化する。 また、 復号装置は、 倍率 又は用途に応じて設定されたワールドのある 1方向にレイヤ構造を持つ◦〇 3を、 下位レイヤから優先的に復号する。
[0144] 符号化装置は、 室内と室外とでスペースに含まれる特徴点抽出、 オブジェ クト認識の精度、 又は空間領域サイズなどを変化させる。 ただし、 符号化装 置及び復号装置は、 座標が近い室内◦〇 3と室外◦〇 3とをワールド内で隣 接して符号化又は復号し、 これらの識別子も対応付けて符号化又は復号する
[0145] (実施の形態 2)
ポイントクラウドの符号化データを実際の装置又はサービスにおいて使用 する際には、 ネツ トワーク帯域を抑制するために用途に応じて必要な情報を 送受信することが望ましい。 しかしながら、 これまで、 三次元データの符号 化構造にはそのような機能が存在せず、 そのための符号化方法も存在しなか った。
[0146] 本実施の形態では、 三次元のポイントクラウドの符号化データにおいて用 途に応じて必要な情報のみを送受信する機能を提供するための三次元データ 符号化方法及び三次元データ符号化装置、 並びに、 当該符号化データを復号 する三次元データ復号方法及び三次元データ復号装置について説明する。
[0147] 特徴量を一定以上持つポクセル (VXL) を特徴ポクセル (FVXL) と 定義し、 F VX Lで構成されるワールド (WL D) をスバースワールド (S WL D) と定義する。 図 1 1は、 スバースワールド及びワールドの構成例を 示す図である。 SWL Dには、 F VXLで構成される GOSである FGOS と、 F VXLで構成される S PCである F S PCと、 FVXLで構成される V LMである F V LMと含まれる。 FG〇S、 F S P C及び F V L Mのデー 夕構造及び予測構造は GO S、 S PC及び V LMと同様であっても構わない
[0148] 特徴量とは、 VXLの三次元位置情報、 又は V XL位置の可視光情報を表 現する特徴量であり、 特に立体物のコーナー及びエツジ等で多く検出される 特徴量である。 具体的には、 この特徴量は、 下記のような三次元特徴量又は 可視光の特徴量であるが、 その他、 V XLの位置、 輝度、 又は色情報などを 表す特徴量であれば、 どのようなものでも構わない。
[0149] 三次元特徴量として、 S HOT特徴量 (S i g n a t u r e o f H i s t o g r am s o f 〇 r i e n T a t i o n s) 、 P F H特徴量 ( P o i n t F e a t u r e H i s t o g r am s) 、 又は P P F特徴量 ( P o i n t P a i r F e a t u r e) が用いられる。
[0150] S HOT特徴量は、 VXL周辺を分割し、 基準点と分割された領域の法線 べクトルとの内積を計算してヒストグラム化することで得られる。 この S H 〇 T特徴量は、 次元数が高く、 特徴表現力が高いという特徴を有する。 [0151] P F H特徴量は、 V XL近傍の多数の 2点組を選択し、 その 2点から法線 べクトル等を算出してヒストグラム化することで得られる。 この P F H特徴 量は、 ヒストグラム特徴なので、 多少の外乱に対してロバスト性を有し、 特 徴表現力も高いという特徴を有する。
[0152] P P F特徴量は、 2点の VX L毎に法線ベクトル等を用いて算出される特 徴量である。 この P P F特徴量には、 全 V XLが使われるため、 オクルージ ヨンに対してロバスト性を有する。
[0153] また、 可視光の特徴量として、 画像の輝度勾配情報等の情報を用いた S I
F T (S c a l e— I n v a r i a n t F e a t u r e i r a n s r o r m) 、 S U R F (S p e e d e d U p R o b u s t F e a t u r e s) 、 又は HOG (H i s t o g r am o f O r i e n t e d G r a d i e n t s ) 等を用いることができる。
[0154] SWL Dは、 WL Dの各 VX Lから上記特徴量を算出し、 FVXLを抽出 することで生成される。 ここで、 SWL Dは WL Dが更新される度に更新し ても構わないし、 WL Dの更新タイミングに関わらず、 一定時間経過後に定 期的に更新するようにしても構わない。
[0155] SWL Dは特徴量毎に生成しても構わない。 例えば、 S HOT特徴量に基 づく SWL D 1 と S I F T特徴量に基づく SWL D 2とのように、 特徴量毎 に別々の SWL Dが生成され、 用途に応じて SWL Dを使い分けるようにし ても構わない。 また、 算出した各 FV XLの特徴量を特徴量情報として各 F V X Lに保持するようにしても構わない。
[0156] 次に、 スパースワールド (SWL D) の利用方法について説明する。 SW
L Dは特徴ボクセル (FVXL) のみを含むため、 全ての VXLを含む WL 口と比べて一般的にデータサイズが小さい。
[0157] 特徴量を利用して何らかの目的を果たすアプリケーシヨンにおいては、 W
L Dの代わりに SWL Dの情報を利用することで、 ハードディスクからの読 み出し時間、 並びにネッ トワーク転送時の帯域及び転送時間を抑制すること ができる。 例えば、 地図情報として、 WL Dと SWL Dとをサーバに保持し 〇 2020/175708 34 卩(:171? 2020 /008540
ておき、 クライアントからの要望に応じて、 送信する地図情報を し 0又は 3 0に切り替えることにより、 ネッ トワーク帯域及び転送時間を抑制す ることができる。 以下、 具体的な例を示す。
[0158] 図 1 2及び図 1 3は、
Figure imgf000036_0001
の利用例を示す図である。 図 1
2に示すように、 車載装置であるクライアント 1が自己位置判定用途として 地図情報を必要な場合は、 クライアント 1はサーバに自己位置推定用の地図 データの取得要望を送る (3301) 。 サーバは、 当該取得要望に応じて 3 をクライアント 1 に送信する (3302) 。 クライアント 1は、 受信
Figure imgf000036_0002
0を用いて自己位置判定を行う (3303) 。 この際、 クライア ント 1はレンジファインダなどの距離センサ、 ステレオカメラ、 又は複数の 単眼カメラの組合せ等の様々な方法でクライアント 1の周辺の V XI-情報を 取得し、
Figure imgf000036_0003
とから自己位置情報を推定する。 こ こで自己位置情報は、 クライアント 1の三次元位置情報及び向き等を含む。
[0159] 図 1 3に示すように、 車載装置であるクライアント 2が三次元地図等の地 図描画の用途として地図情報が必要な場合は、 クライアント 2はサーバに地 図描画用の地図データの取得要望を送る (33 1 1) 。 サーバは、 当該取得 要望に応じて し 0をクライアント 2に送信する (33 1 2) 。 クライアン 卜 2は、 受信した
Figure imgf000036_0004
を用いて地図描画を行う (33 1 3) 。 この際、 ク ライアント 2は、 例えば、 自己が可視光カメラ等で撮影した画像と、 サーバ から取得した !_ 0とを用いてレンダリング画像を作成し、 作成した画像を 力ーナビ等の画面に描画する。
[0160] 上記のように、 サーバは、 自己位置推定のような各 乂 !_の特徴量を主に 必要とする用途では 3
Figure imgf000036_0005
0をクライアントに送信し、 地図描画のように詳 細な V XI-情報が必要な場合は
Figure imgf000036_0006
0をクライアントに送信する。 これによ り、 地図データを効率よく送受信することが可能となる。
[0161] なお、 クライアントは、 自分で
Figure imgf000036_0007
0のどちらが必要かを判断 し、 サーバへ
Figure imgf000036_0008
0の送信を要求しても構わない。 また、 サー バは、 クライアント又はネッ トワークの状況に合わせて、 3\^1_ 0か\^/1_ 0 のどちらを送信すべきかを判断しても構わない。
[0162] 次に、 スパースワールド (SWL D) とワールド (WL D) との送受信を 切り替える方法を説明する。
[0163] ネッ トワーク帯域に応じて WL D又は SWL Dを受信するかを切替えるよ うにしてもよい。 図 1 4は、 この場合の動作例を示す図である。 例えば、 L T E (L o n g T e r m E v o l u t i o n) 環境下等の使用できるネ ッ トワーク帯域が限られている低速ネッ トワークが用いられている場合には 、 クライアントは、 低速ネッ トワーク経由でサーバにアクセスし (S 32 1 ) 、 サーバから地図情報として SWL Dを取得する (S 322) 。 一方、 W i - F i (登録商標) 環境下等のネッ トワーク帯域に余裕がある高速ネッ ト ワークが用いられている場合には、 クライアントは、 高速ネッ トワーク経由 でサーバにアクセスし (S 323) 、 サーバから WL Dを取得する (S 32 4) 。 これにより、 クライアントは、 当該クライアントのネッ トワーク帯域 に応じて適切な地図情報を取得することができる。
[0164] 具体的には、 クライアントは、 屋外では L T E経由で SWL Dを受信し、 施設等の屋内に入った場合は W i - F i (登録商標) 経由で WL Dを取得す る。 これにより、 クライアントは、 屋内のより詳細な地図情報を取得するこ とが可能となる。
[0165] このように、 クライアントは、 自身が用いるネッ トワークの帯域に応じて サーバに WL D又は SWL Dを要求してもよい。 または、 クライアントは、 自身が用いるネッ トワークの帯域を示す情報をサーバに送信し、 サーバは当 該情報に応じて当該クライアントに適したデータ (WL D又は SWL D) を 送信してもよい。 または、 サーバは、 クライアントのネッ トワーク帯域を判 別し、 当該クライアントに適したデータ (WL D又は SWL D) を送信して もよい。
[0166] また、 移動速度に応じて WL D又は SWL Dを受信するかを切替えるよう にしてもよい。 図 1 5は、 この場合の動作例を示す図である。 例えば、 クラ イアントが高速移動をしている場合は (S 33 1) 、 クライアントは SWL 〇 2020/175708 36 卩(:171? 2020 /008540
口をサーバから受信する (3 3 3 2) 。 一方、 クライアントが低速移動をし ている場合は (3 3 3 3) 、 クライアントは
Figure imgf000038_0001
0をサーバから受信する ( 3 3 3 4) 。 これにより、 クライアントは、 ネッ トワーク帯域を抑制しなが ら、 速度に合った地図情報を取得することができる。 具体的には、 クライア ントは、 高速道路を走行中にはデータ量の少ない 3
Figure imgf000038_0002
0を受信することに より、 大まかな地図情報を適切な速度で更新することができる。 一方、 クラ イアントは、 一般道路を走行中には し 0を受信することにより、 より詳細 な地図情報を取得することが可能となる。
[0167] このように、 クライアントは、 自身の移動速度に応じてサーバに し 0又
0を要求してもよい。 または、 クライアントは、 自身の移動速度を 示す情報をサーバに送信し、 サーバは当該情報に応じて当該クライアントに 適したデータ (\ZV L D又は
Figure imgf000038_0003
を送信してもよい。 または、 サーバは 、 クライアントの移動速度を判別し、 当該クライアントに適したデータ (
Figure imgf000038_0004
を送信してもよい。
[0168] また、 クライアントは、 最初に
Figure imgf000038_0005
0をサーバより取得し、 その中で重 要な領域の し 0を取得しても構わない。 例えば、 クライアントは、 地図デ —夕を取得する際に、 最初に大まかな地図情報を
Figure imgf000038_0006
で取得し、 そこか ら建物、 標識、 又は人物等の特徴が多く出現する領域を絞り込み、 絞り込ん だ領域の
Figure imgf000038_0007
0を後から取得する。 これにより、 クライアントは、 サーバか らの受信データ量を抑制しつつ、 必要な領域の詳細な情報を取得することが 可能となる。
[0169] また、 サーバは、
Figure imgf000038_0009
0から物体毎に別々の
Figure imgf000038_0008
0を作成し、 クライア ントは、 用途に合わせて、 それぞれを受信してもよい。 これにより、 ネッ ト ワーク帯域を抑制できる。 例えば、 サーバは、 し 0から予め人又は車を認 識し、
Figure imgf000038_0011
0と車の
Figure imgf000038_0010
0を作成する。 クライアントは、 周囲の人 の情報を取得したい場合には人の 3
Figure imgf000038_0012
0を、 車の情報を取得したい場合に は車の
Figure imgf000038_0014
0を受信する。 また、 このような
Figure imgf000038_0013
0の種類はヘッダ等に 付加された情報 (フラグ又はタイプ等) によって区別するようにしても構わ 〇 2020/175708 37 卩(:171? 2020 /008540
ない。
[0170] 次に、 本実施の形態に係る三次元データ符号化装置 (例えばサーバ) の構 成及び動作の流れを説明する。 図 1 6は、 本実施の形態に係る三次元データ 符号化装置 400のブロック図である。 図 1 7は、 三次元データ符号化装置 400による三次元データ符号化処理のフローチヤートである。
[0171] 図 1 6に示す三次元データ符号化装置 400は、 入力三次元データ 4 1 1 を符号化することで符号化ストリームである符号化三次元データ 4 1 3及び 4 1 4を生成する。 ここで、 符号化三次元データ 4 1 3は\^/!_ 0に対応する 符号化三次元データであり、 符号化三次元データ 4 1 4
Figure imgf000039_0001
に対応す る符号化三次元データである。 この三次元データ符号化装置 400は、 取得 部 401 と、 符号化領域決定部 402と、
Figure imgf000039_0002
抽出部 403と、
Figure imgf000039_0003
符号化部 404と、
Figure imgf000039_0004
符号化部 405とを備える。
[0172] 図 1 7に示すように、 まず、 取得部 401は、 三次元空間内の点群データ である入力三次元データ 4 1 1 を取得する (3401) 。
[0173] 次に、 符号化領域決定部 402は、 点群データが存在する空間領域に基づ いて、 符号化対象の空間領域を決定する (3402) 。
[0174] 次に、 3\^/!_ 0抽出部403は、 符号化対象の空間領域を !_ 0と定義し 、 し 0に含まれる各 乂!_から特徴量を算出する。 そして、
Figure imgf000039_0005
部 403は、 特徴量が予め定められた閾値以上の 乂 !_を抽出し、 抽出した 乂 !_を 乂 !_と定義し、
Figure imgf000039_0006
へ追加することで、 抽 出三次元データ 4 1 2を生成する (3403) 。 つまり、 入力三次元データ 4 1 1から特徴量が閾値以上の抽出三次元データ 4 1 2が抽出される。
[0175] 次に、 \ZVL D符号化部 404は、 !_ 0に対応する入力三次元データ 4 1
1 を符号化することで し 0に対応する符号化三次元データ 4 1 3を生成す る (3404) 。 このとき、 \^/!_ 0符号化部404は、 符号化三次元データ 4 1 3のへッダに、 当該符号化三次元データ 4 1 3が !_ 0を含むストリー ムであることを区別するための情報を付加する。
[0176] また、
Figure imgf000039_0007
符号化部 405は、 3 !_ 0に対応する抽出三次元データ 〇 2020/175708 38 卩(:171? 2020 /008540
4 1 2を符号化することで 3 0に対応する符号化三次元データ 4 1 4を 生成する (3405) 。 このとき、 符号化部 405は、 符号化三次 元データ 4 1 4のヘッダに、 当該符号化三次元データ
Figure imgf000040_0001
むストリームであることを区別するための情報を付加する。
[0177] なお、 符号化三次元データ 4 1 3を生成する処理と、 符号化三次元データ 4 1 4を生成する処理との処理順は上記と逆でもよい。 また、 これらの処理 の一部又は全てが並列に行われてもよい。
[0178] 符号化三次元データ 4 1 3及び 4 1 4のヘッダに付与される情報として、 例えば、 「 〇 「
Figure imgf000040_0002
— ソ ㊀」 というパラメータが定義される。
Figure imgf000040_0003
I 1 V 6 = 0の場合はストリームが\^/1_ 0を含むことを表し、 〇 「
Figure imgf000040_0004
を含むことを表す。 更に その他の多数の種別を定義する場合には、
Figure imgf000040_0005
I 〇1 ソ 6 = 2のよう に割り当てる数値を増やすようにしても構わない。 また、 符号化三次元デー 夕 4 1 3及び 4 1 4の一方に特定のフラグが含まれてもよい。 例えば、 符号 化三次元データ 4 1 4に、 当該ストリームが 3
Figure imgf000040_0006
0を含むことを含むフラ グが付与されてもよい。 この場合、 復号装置は、 フラグの有無により \ZVL D を含むストリームか、
Figure imgf000040_0007
0を含むストリームかを判別できる。
[0179] また、 \IVL D符号化部 404が !_ 0を符号化する際に使用する符号化方 法と、
Figure imgf000040_0008
0符号化部 405が
Figure imgf000040_0009
0を符号化する際に使用する符号化 方法とは異なってもよい。
[0180] 例えば、
Figure imgf000040_0010
0ではデータが間引かされているため、 \ZVL Dに比べ、 周 辺のデータとの相関が低くなる可能性がある。 よって、
Figure imgf000040_0011
に用いられ る符号化方法では、 \ZVL Dに用いられる符号化方法よりもイントラ予測及び インター予測のうちインター予測が優先されてもよい。
[0181] また、
Figure imgf000040_0013
0に用いられる符号化方法と
Figure imgf000040_0012
0に用いられる符号化方法 とでは、 三次元位置の表現手法が異なってもよい。 例えば、
Figure imgf000040_0014
では、 三次元座標により 乂!_の三次元位置を表現し、 \ZVL Dでは、 後述する 8 分木により三次元位置が表現されてもよいし、 その逆でもよい。 〇 2020/175708 39 卩(:171? 2020 /008540
[0182] また、
Figure imgf000041_0001
符号化部 4 0 5は、 3 !_ 0の符号化三次元データ 4 1 4 のデータサイズが し 0の符号化三次元データ 4 1 3のデータサイズより小 さくなるように符号化を行う。 例えば、 上述したように
Figure imgf000041_0002
0は、 \ZV L D に比べ、 データ間の相関が低くなる可能性がある。 これにより、 符号化効率 が下がり、 符号化三次元データ 4 1 4のデータサイズが 〇の符号化三次 元データ 4 1 3のデータサイズより大きくなる可能性がある。 よって、
Figure imgf000041_0003
!-口符号化部 4 0 5は、 得られた符号化三次元データ 4 1 4のデータサイズ が、 0の符号化三次元データ 4 1 3のデータサイズより大きい場合には 、 再符号化を行うことで、 データサイズを低減した符号化三次元データ 4 1 4を再生成する。
[0183] 例えば、 3 \^/ !_ 0抽出部4 0 3は、 抽出する特徴点の数を減らした抽出三 次元データ 4 1 2を再生成し、
Figure imgf000041_0004
0符号化部 4 0 5は、 当該抽出三次元 データ 4 1 2を符号化する。 または、
Figure imgf000041_0005
0符号化部 4 0 5における量子 化の程度をより粗く してもよい。 例えば、 後述する 8分木構造において、 最 下層のデータを丸め込むことで、 量子化の程度を粗くすることができる。
[0184] また、
Figure imgf000041_0006
符号化部 4 0 5は、 3 !_ 0の符号化三次元データ 4 1 4 のデータサイズを し 0の符号化三次元データ 4 1 3のデータサイズより小 さくできない場合は、
Figure imgf000041_0007
0の符号化三次元データ 4 1 4を生成しなくて もよい。 または、
Figure imgf000041_0008
の符号化三 次元データ 4 1 4にコピーされてもよい。 つまり、
Figure imgf000041_0009
の符号化三次元 データ 4 1 4と
Figure imgf000041_0010
0の符号化三次元データ 4 1 3がそのまま用いられ てもよい。
[0185] 次に、 本実施の形態に係る三次元データ復号装置 (例えばクライアント) の構成及び動作の流れを説明する。 図 1 8は、 本実施の形態に係る三次元デ —夕復号装置 5 0 0のブロック図である。 図 1 9は、 三次元データ復号装置 5 0 0による三次元データ復号処理のフローチヤートである。
[0186] 図 1 8に示す三次元データ復号装置 5 0 0は、 符号化三次元データ 5 1 1 を復号することで復号三次元データ 5 1 2又は 5 1 3を生成する。 ここで、 〇 2020/175708 40 卩(:171? 2020 /008540
符号化三次元データ 5 1 1は、 例えば、 三次元データ符号化装置 400で生 成された符号化三次元データ 4 1 3又は 4 1 4である。
[0187] この三次元データ復号装置 500は、 取得部 501 と、 ヘッダ解析部 50
2と、 \ZVLD復号部 503と、 3\^/!_ 0復号部 504とを備える。
[0188] 図 1 9に示すように、 まず、 取得部 501は、 符号化三次元データ 5 1 1 を取得する (3501) 。 次に、 ヘッダ解析部 502は、 符号化三次元デー 夕 5 1 1のヘッダを解析し、 符号化三次元データ 5 1 1が\^/!_ 0を含むスト リームか、
Figure imgf000042_0001
0を含むストリームかを判別する (3502) 。 例えば、 上述した 〇 「 丨
Figure imgf000042_0002
_ ソ ㊀のパラメータが参照され、 判別が行われる。
[0189] 符号化三次元データ 5 1 1が\^/!_ 0を含むストリームである場合 (350
3で丫63) 、 \^/!_ 0復号部503は、 符号化三次元データ 5 1 1 を復号す ることで
Figure imgf000042_0003
の復号三次元データ 5 1 2を生成する (3504) 。 一方、 符号化三次元データ 5 1 1
Figure imgf000042_0004
0を含むストリームである場合 (350 3で N 0) 、 3\^/!_ 0復号部504は、 符号化三次元データ 5 1 1 を復号す ることで
Figure imgf000042_0005
の復号三次元データ 5 1 3を生成する (3505) 。
[0190] また、 符号化装置と同様に、 し 0復号部 503が\^/!_ 0を復号する際に 使用する復号方法と、
Figure imgf000042_0006
〇復号部 50
Figure imgf000042_0007
0を復号する際に使用 する復号方法とは異なってもよい。 例えば、
Figure imgf000042_0008
0に用いられる復号方法 では、 !_ 0に用いられる復号方法よりもイントラ予測及びインター予測の うちインター予測が優先されてもよい。
[0191] また、
Figure imgf000042_0010
0に用いられる復号方法と
Figure imgf000042_0009
0に用いられる復号方法とで は、 三次元位置の表現手法が異なってもよい。 例えば、
Figure imgf000042_0011
では、 三次 元座標により 乂!_の三次元位置を表現し、 \ZVLDでは、 後述する 8分木 により三次元位置が表現されてもよいし、 その逆でもよい。
[0192] 次に、 三次元位置の表現手法である 8分木表現について説明する。 三次元 データに含まれる V X !_データは 8分木構造に変換された後、 符号化される
Figure imgf000042_0012
す\^/!_ 0の 8分木構造を示す図である。 図 20に示す例では、 点群を含む V 〇 2020/175708 41 卩(:171? 2020 /008540
X I - (以下、 有効 乂1_) である 3つ 乂!_ 1〜 3が存在する。 図 2 1 に示 すように、 8分木構造はノードとリーフで構成される。 各ノードは最大で 8 つのノードまたはリーフを持つ。 各リーフは 乂!_情報を持つ。 ここで、 図 2 1 に示すリーフのうち、 リーフ 1、 2、 3はそれぞれ図 2 0に示す 乂 !_ 1、 乂!_ 2、 乂!_ 3を表す。
[0193] 具体的には、 各ノード及びリーフは三次元位置に対応する。 ノード 1は、 図 2 0に示す全体のブロックに対応する。 ノード 1 に対応するブロックは 8 つのブロックに分割され、 8つのブロックのうち、 有効 V X I-を含むブロッ クがノードに設定され、 それ以外のブロックはリーフに設定される。 ノード に対応するブロックは、 さらに 8つのノードまたはリーフに分割され、 この 処理が木構造の階層分繰り返される。 また、 最下層のブロックは、 全てリー フに設定される。
[0194] また、 図 2 2は、 図 2 0に示す
Figure imgf000043_0001
ら生成した
Figure imgf000043_0002
を示す図 である。 図 2 0に示す 乂 !_ 1及び 乂 !_ 2は特徴量抽出の結果、 乂!_ 1及び 乂 !_ 2と判定され、
Figure imgf000043_0003
に加えられている。 一方で、 乂!_ 3は 乂 !_と判定されず、
Figure imgf000043_0004
に含まれていない。 図 2 3は、 図 2 2 に示す
Figure imgf000043_0005
図 2 3に示す 8分木構造では 、 図 2 1 に示す、 乂!_ 3に相当するリーフ 3が削除されている。 これによ り、 図 2 1 に示すノード 3が有効 V X !_を持たなくなり、 リーフに変更され ている。 このように一般的に
Figure imgf000043_0006
0のリーフ数は
Figure imgf000043_0007
0のリーフ数より少 なくなり、
Figure imgf000043_0009
0の符号化三次元データも
Figure imgf000043_0008
0の符号化三次元データよ り小さくなる。
[0195] 以下、 本実施の形態の変形例について説明する。
[0196] 例えば、 車載装置等のクライアントは、 自己位置推定を行う場合に、
Figure imgf000043_0010
!_〇をサーバから受信し、
Figure imgf000043_0011
を用いて自己位置推定を行い、 障害物検 知を行う場合は、 レンジファインダなどの距離センサ、 ステレオカメラ、 又 は複数の単眼カメラの組合せ等の様々な方法を用いて自分で取得した周辺の 三次元情報に基づいて障害物検知を実施してもよい。 〇 2020/175708 42 卩(:171? 2020 /008540
[0197] また、 一般的に
Figure imgf000044_0001
には平坦領域の 乂 !_データが含まれにくい。 そ のため、 サーバは、 静的な障害物の検知用に、 し 0をサブサンプルしたサ プサンプルワールド
Figure imgf000044_0002
を保持し、
Figure imgf000044_0003
クライアントに送信してもよい。 これにより、 ネッ トワーク帯域を抑制しつ つ、 クライアント側で自己位置推定及び障害物検知を行うことができる。
[0198] また、 クライアントが三次元地図データを高速に描画する際には、 地図情 報がメッシュ構造である方が便利な場合がある。 そこで、 サーバは、 \ZV L D からメッシュを生成し、 メッシュワールド
Figure imgf000044_0004
として予め保持して もよい。 例えばクライアントは、 粗い三次元描画を必要としている場合には 0を受信し、 詳細な三次元描画を必要としている場合には
Figure imgf000044_0005
0を受 信する。 これにより、 ネッ トワーク帯域を抑制することができる。
[0199] また、 サーバは、 各 V X I-のうち、 特徴量が閾値以上である 乂!_を V X I -に設定したが、 異なる方法にて 乂!_を算出しても構わない。 例えば 、 サーバは、 信号又は交差点などを構成する V X I-、 !_ 1\/1、 3 (3、 又は を、 自己位置推定、 運転アシスト、 又は自動運転等に必要と判断し、
Figure imgf000044_0006
に含めるようにし ても構わない。 また、 上記判断は手動で行われてもよい。 なお、 特徴量に基 づき設定された 乂!_等に、 上記方法で得られた 乂!_等を加えてもよ い。 つまり、 3 \^/ !_ 0抽出部4 0 3は、 さらに、 入力三次元データ 4 1 1か ら予め定められた属性を有する物体に対応するデータを抽出三次元データ 4 1 2として抽出してもよい。
[0200] また、 それらの用途に必要な旨を特徴量とは別にラベリングするようにし ても構わない。 また、 サーバは、
Figure imgf000044_0007
の上位レイヤ (例えばレーンワー ルド) として、 信号又は交差点などの自己位置推定、 運転アシスト、 又は自 動運転等に必要な V X !_を別途保持してもよい。
[0201 ] また、 サーバは、
Figure imgf000044_0008
単位毎に属性を付加してもよい。 属性は、 例えば、 自己位置推定に必要或い は不要かを示す情報、 又は、 信号或いは交差点などの交通情報として重要か どうかなどを示す情報を含む。 また、 属性は、 レーン情報 (GD F : Ge o g r a p h i c D a t a F i l e sなど) における F e a t u r e (交 差点又は道路など) との対応関係を含んでもよい。
[0202] また、 WL D又は SWL Dの更新方法として下記のような方法を用いても 構わない。
[0203] 人、 工事、 又は並木 (トラック向け) の変化などを示す更新情報が点群又 はメタデータとしてサーバにアップロードされる。 サーバは、 当該アップロ —ドに基づき、 WL Dを更新し、 その後、 更新した WL Dを用いて SWL D を更新する。
[0204] また、 クライアントは、 自己位置推定時に自身で生成した三次元情報とサ —バから受信した三次元情報との不整合を検知した場合、 自身で生成した三 次元情報を更新通知とともにサーバに送信してもよい。 この場合、 サーバは 、 WL Dを用いて SWL Dを更新する。 SWL Dが更新されない場合、 サー パは、 WL D自体が古いと判断する。
[0205] また、 符号化ストリームのヘッダ情報として、 WL Dか SWL Dかを区別 する情報が付加されるとしたが、 例えば、 メッシュワールド又はレーンワー ルド等、 多種類のワールドが存在する場合には、 それらを区別する情報がへ ッダ情報に付加されても構わない。 また、 特徴量が異なる SWL Dが多数存 在する場合には、 それそれを区別する情報がへッダ情報に付加されても構わ ない。
[0206] また、 SWL Dは、 F VX Lで構成されるとしたが、 FVXLと判定され なかった VXLを含んでもよい。 例えば、 SWL Dは、 FVXLの特徴量を 算出する際に使用する隣接 VX Lを含んでもよい。 これにより、 SWL Dの 各 FVXLに特徴量情報が付加されない場合でも、 クライアントは、 SWL Dを受信した際に FVXLの特徴量を算出することができる。 なお、 その際 には、 SWL Dは各 VX Lが F VX Lか VX Lかを区別するための情報を含 んでもよい。
[0207] 以上のように、 三次元データ符号化装置 400は、 入力三次元データ 4 1 〇 2020/175708 44 卩(:171? 2020 /008540
1 (第 1三次元データ) から特徴量が閾値以上の抽出三次元データ 4 1 2 ( 第 2三次元データ) を抽出し、 抽出三次元データ 4 1 2を符号化することで 符号化三次元データ 4 1 4 (第 1符号化三次元データ) を生成する。
[0208] これによれば、 三次元データ符号化装置 4 0 0は、 特徴量が閾値以上のデ —夕を符号化した符号化三次元データ 4 1 4を生成する。 これにより、 入力 三次元データ 4 1 1 をそのまま符号化する場合に比べてデータ量を削減でき る。 よって、 三次元データ符号化装置 4 0 0は、 伝送するデータ量を削減で きる。
[0209] また、 三次元データ符号化装置 4 0 0は、 さらに、 入力三次元データ 4 1
1 を符号化することで符号化三次元データ 4 1 3 (第 2符号化三次元データ ) を生成する。
[0210] これによれば、 三次元データ符号化装置 4 0 0は、 例えば、 使用用途等に 応じて、 符号化三次元データ 4 1 3と符号化三次元データ 4 1 4とを選択的 に伝送できる。
[021 1 ] また、 抽出三次元データ 4 1 2は、 第 1符号化方法により符号化され、 入 力三次元データ 4 1 1は、 第 1符号化方法とは異なる第 2符号化方法により 符号化される。
[0212] これによれば、 三次元データ符号化装置 4 0 0は、 入力三次元データ 4 1
1 と抽出三次元データ 4 1 2とにそれぞれ適した符号化方法を用いることが できる。
[0213] また、 第 1符号化方法では、 第 2符号化方法よりもイントラ予測及びイン 夕 _予測のうちインタ _予測が優先される。
[0214] これによれば、 三次元データ符号化装置 4 0 0は、 隣接するデータ間の相 関が低くなりやすい抽出三次元データ 4 1 2に対して、 インター予測の優先 度を上げることができる。
[0215] また、 第 1符号化方法と第 2符号化方法とでは、 三次元位置の表現手法が 異なる。 例えば、 例えば、 第 2符号化方法では、 8分木により三次元位置が 表現され、 第 1符号化方法では、 三次元座標により三次元位置を表現される 〇 2020/175708 45 卩(:171? 2020 /008540
[0216] これによれば、 三次元データ符号化装置 4 0 0は、 データ数 ( 乂!_又は 乂!_の数) が異なる三次元データに対して、 より適した三次元位置の表 現手法を用いることができる。
[0217] また、 符号化三次元データ 4 1 3及び 4 1 4の少なくとも一方は、 当該符 号化三次元データが入力三次元データ 4 1 1 を符号化することで得られた符 号化三次元データであるか、 入力三次元データ 4 1 1のうちの一部を符号化 することで得られた符号化三次元データであるかを示す識別子を含む。 つま り、 当該識別子は、 符号化三次元データが し 0の符号化三次元データ 4 1 3であるか 3
Figure imgf000047_0001
0の符号化三次元データ 4 1 4であるかを示す。
[0218] これによれば、 復号装置は、 取得した符号化三次元データが符号化三次元 データ 4 1 3であるか符号化三次元データ 4 1 4であるかを容易に判定でき る。
[0219] また、 三次元データ符号化装置 4 0 0は、 符号化三次元データ 4 1 4のデ —夕量が符号化三次元データ 4 1 3のデータ量より小さくなるように抽出三 次元データ 4 1 2を符号化する。
[0220] これによれば、 三次元データ符号化装置 4 0 0は、 符号化三次元データ 4
1 4のデータ量を符号化三次元データ 4 1 3のデータ量より小さくできる。
[0221 ] また、 三次元データ符号化装置 4 0 0は、 さらに、 入力三次元データ 4 1
1から予め定められた属性を有する物体に対応するデータを抽出三次元デー 夕 4 1 2として抽出する。 例えば、 予め定められた属性を有する物体とは、 自己位置推定、 運転アシスト、 又は自動運転等に必要な物体であり、 信号又 は交差点などである。
[0222] これによれば、 三次元データ符号化装置 4 0 0は、 復号装置で必要となる データを含む符号化三次元データ 4 1 4を生成できる。
[0223] また、 三次元データ符号化装置 4 0 0 (サーバ) は、 さらに、 クライアン 卜の状態に応じて、 符号化三次元データ 4 1 3及び 4 1 4の一方をクライア ントに送信する。 〇 2020/175708 46 卩(:171? 2020 /008540
[0224] これによれば、 三次元データ符号化装置 4 0 0は、 クライアントの状態に 応じて適切なデータを送信できる。
[0225] また、 クライアントの状態は、 クライアントの通信状況 (例えばネッ トワ —ク帯域) 、 又はクライアントの移動速度を含む。
[0226] また、 三次元データ符号化装置 4 0 0は、 さらに、 クライアントの要求に 応じて、 符号化三次元データ 4 1 3及び 4 1 4の一方をクライアントに送信 する。
[0227] これによれば、 三次元データ符号化装置 4 0 0は、 クライアントの要求に 応じて適切なデータを送信できる。
[0228] また、 本実施の形態に係る三次元データ復号装置 5 0 0は、 上記三次元デ —夕符号化装置 4 0 0により生成された符号化三次元データ 4 1 3又は 4 1 4を復号する。
[0229] つまり、 三次元データ復号装置 5 0 0は、 入力三次元データ 4 1 1から抽 出された特徴量が閾値以上の抽出三次元データ 4 1 2が符号化されることで 得られた符号化三次元データ 4 1 4を第 1復号方法により復号する。 また、 三次元データ復号装置 5 0 0は、 入力三次元データ 4 1 1が符号化されるこ とで得られた符号化三次元データ 4 1 3を、 第 1復号方法とは異なる第 2復 号方法により復号する。
[0230] これによれば、 三次元データ復号装置 5 0 0は、 特徴量が閾値以上のデー 夕を符号化した符号化三次元データ 4 1 4と、 符号化三次元データ 4 1 3と を、 例えば、 使用用途等に応じて選択的に受信できる。 これにより、 三次元 データ復号装置 5 0 0は、 伝送するデータ量を削減できる。 さらに、 三次元 データ復号装置 5 0 0は、 入力三次元データ 4 1 1 と抽出三次元データ 4 1 2とにそれぞれ適した復号方法を用いることができる。
[0231 ] また、 第 1復号方法では、 第 2復号方法よりもイントラ予測及びインター 予測のうちインター予測が優先される。
[0232] これによれば、 三次元データ復号装置 5 0 0は、 隣接するデータ間の相関 が低くなりやすい抽出三次元データに対して、 インター予測の優先度を上げ 〇 2020/175708 47 卩(:171? 2020 /008540
ることができる。
[0233] また、 第 1復号方法と第 2復号方法とでは、 三次元位置の表現手法が異な る。 例えば、 例えば、 第 2復号方法では、 8分木により三次元位置が表現さ れ、 第 1復号方法では、 三次元座標により三次元位置を表現される。
[0234] これによれば、 三次元データ復号装置 5 0 0は、 データ数 (V X I-又は V X I-の数) が異なる三次元データに対して、 より適した三次元位置の表現 手法を用いることができる。
[0235] また、 符号化三次元データ 4 1 3及び 4 1 4の少なくとも一方は、 当該符 号化三次元データが入力三次元データ 4 1 1 を符号化することで得られた符 号化三次元データであるか、 入力三次元データ 4 1 1のうちの一部を符号化 することで得られた符号化三次元データであるかを示す識別子を含む。 三次 元データ復号装置 5 0 0は、 当該識別子を参照して、 符号化三次元データ 4 1 3及び 4 1 4を識別する。
[0236] これによれば、 三次元データ復号装置 5 0 0は、 取得した符号化三次元デ —夕が符号化三次元データ 4 1 3であるか符号化三次元データ 4 1 4である かを容易に判定できる。
[0237] また、 三次元データ復号装置 5 0 0は、 さらに、 クライアント (三次元デ —夕復号装置 5 0 0) の状態をサーバに通知する。 三次元データ復号装置 5 0 0は、 クライアントの状態に応じて、 サーバから送信された符号化三次元 デ—夕 4 1 3及び 4 1 4の一方を受信する。
[0238] これによれば、 三次元データ復号装置 5 0 0は、 クライアントの状態に応 じて適切なデータを受信できる。
[0239] また、 クライアントの状態は、 クライアントの通信状況 (例えばネッ トワ —ク帯域) 、 又はクライアントの移動速度を含む。
[0240] また、 三次元データ復号装置 5 0 0は、 さらに、 符号化三次元データ 4 1
3及び 4 1 4の一方をサーバに要求し、 当該要求に応じて、 サーバから送信 された符号化三次元データ 4 1 3及び 4 1 4の一方を受信する。
[0241 ] これによれば、 三次元データ復号装置 5 0 0は、 用途に応じた適切なデー 〇 2020/175708 48 卩(:171? 2020 /008540
夕を受信できる。
[0242] (実施の形態 3)
本実施の形態では、 車両間での三次元データを送受信する方法について説 明する。 例えば、 自車両と周辺車両との間での三次元データの送受信が行わ れる。
[0243] 図 2 4は、 本実施の形態に係る三次元データ作成装置 6 2 0のブロック図 である。 この三次元データ作成装置 6 2 0は、 例えば、 自車両に含まれ、 三 次元データ作成装置 6 2 0が作成した第 1三次元データ 6 3 2に、 受信した 第 2三次元データ 6 3 5を合成することで、 より密な第 3三次元データ 6 3 6を作成する。
[0244] この三次元データ作成装置 6 2 0は、 三次元データ作成部 6 2 1 と、 要求 範囲決定部 6 2 2と、 探索部 6 2 3と、 受信部 6 2 4と、 復号部 6 2 5と、 合成部 6 2 6とを備える。
[0245] まず、 三次元データ作成部 6 2 1は、 自車両が備えるセンサで検知したセ ンサ情報 6 3 1 を用いて第 1三次元データ 6 3 2を作成する。 次に、 要求範 囲決定部 6 2 2は、 作成した第 1三次元データ 6 3 2の中でデータが不足し ている三次元空間範囲である要求範囲を決定する。
[0246] 次に、 探索部 6 2 3は、 要求範囲の三次元データを所有する周辺車両を探 索し、 探索により特定した周辺車両に要求範囲を示す要求範囲情報 6 3 3を 送信する。 次に、 受信部 6 2 4は、 周辺車両から、 要求範囲の符号化ストリ —ムである符号化三次元データ 6 3 4を受信する (3 6 2 4) 。 なお、 探索 部 6 2 3は、 特定範囲に存在する全ての車両に対し、 無差別にリクエストを 出し、 応答があった相手から符号化三次元データ 6 3 4を受信してもよい。 また、 探索部 6 2 3は、 車両に限らず、 信号機又は標識などの物体にリクエ ストを出し、 当該物体から符号化三次元データ 6 3 4を受信してもよい。
[0247] 次に、 復号部 6 2 5は、 受信した符号化三次元データ 6 3 4を復号するこ とで第 2三次元データ 6 3 5を取得する。 次に、 合成部 6 2 6は、 第 1三次 元データ 6 3 2と第 2三次元データ 6 3 5とを合成することで、 より密な第 〇 2020/175708 49 卩(:171? 2020 /008540
3三次元データ 6 3 6を作成する。
[0248] 次に、 本実施の形態に係る三次元データ送信装置 6 4 0の構成及び動作を 説明する。 図 2 5は、 三次元データ送信装置 6 4 0のブロック図である。
[0249] 三次元データ送信装置 6 4 0は、 例えば、 上述した周辺車両に含まれ、 周 辺車両が作成した第 5三次元データ 6 5 2を自車両が要求する第 6三次元デ —夕 6 5 4に加工し、 第 6三次元データ 6 5 4を符号化することで符号化三 次元データ 6 3 4を生成し、 符号化三次元データ 6 3 4を自車両に送信する
[0250] 三次元データ送信装置 6 4 0は、 三次元データ作成部 6 4 1 と、 受信部 6
4 2と、 抽出部 6 4 3と、 符号化部 6 4 4と、 送信部 6 4 5とを備える。
[0251 ] まず、 三次元データ作成部 6 4 1は、 周辺車両が備えるセンサで検知した センサ情報 6 5 1 を用いて第 5三次元データ 6 5 2を作成する。 次に、 受信 部 6 4 2は、 自車両から送信された要求範囲情報 6 3 3を受信する。
[0252] 次に、 抽出部 6 4 3は、 第 5三次元データ 6 5 2から、 要求範囲情報 6 3
3で示される要求範囲の三次元データを抽出することで、 第 5三次元データ 6 5 2を第 6三次元データ 6 5 4に加工する。 次に、 符号化部 6 4 4は、 第 6三次元データ 6 5 4を符号化することで、 符号化ストリームである符号化 三次元データ 6 3 4を生成する。 そして、 送信部 6 4 5は、 自車両へ符号化 三次元データ 6 3 4を送信する。
[0253] なお、 ここでは、 自車両が三次元データ作成装置 6 2 0を備え、 周辺車両 が三次元データ送信装置 6 4 0を備える例を説明するが、 各車両が、 三次元 データ作成装置 6 2 0と三次元データ送信装置 6 4 0との機能を有してもよ い。
[0254] (実施の形態 4)
本実施の形態では、 三次元マップに基づく自己位置推定における異常系の 動作について説明する。
[0255] 車の自動運転、 又は、 ロボッ ト、 或いはドローンなどの飛行体などの移動 体を自律的に移動させるなどの用途が今後拡大すると予想される。 このよう 〇 2020/175708 50 卩(:171? 2020 /008540
な自律的な移動を実現する手段の一例として、 移動体が、 三次元マップ内に おける自らの位置を推定 (自己位置推定) しながら、 マップに従って走行す る方法がある。
[0256] 自己位置推定は、 三次元マップと、 自車に搭載したレンジファインダ _ (
1_ 丨 0八[¾など) 又はステレオカメラなどのセンサにより取得した自車周辺 の三次元情報 (以降、 自車検知三次元データ) とをマッチングして、 三次元 マップ内の自車位置を推定することで実現できる。
[0257] 三次元マップは、 1~1巳 巳社が提唱する 1~1 0マップなどのように、 三次元 のボイントクラウドだけでなく、 道路及び交差点の形状情報など二次元の地 図データ、 又は、 渋滞及び事故などの実時間で変化する情報を含んでもよい 。 三次元データ、 二次元データ、 実時間で変化するメタデータなど複数のレ イヤから三次元マップが構成され、 装置は、 必要なデータのみを取得、 又は 、 参照することも可能である。
[0258] ポイントクラウドのデータは、 上述した 3
Figure imgf000052_0001
0であってもよいし、 特徴 点ではない点群データを含んでもよい。 また、 ポイントクラウドのデータの 送受信は、 1つ、 または、 複数のランダムアクセス単位を基本として行われ る。
[0259] 三次元マップと自車検知三次元データとのマッチング方法として以下の方 法を用いることができる。 例えば、 装置は、 互いのポイントクラウドにおけ る点群の形状を比較し、 特徴点間の類似度が高い部位が同一位置であると決 定する。 また、 装置は、 三次元マップが
Figure imgf000052_0002
0から構成される場合、
Figure imgf000052_0003
!-口を構成する特徴点と、 自車検知三次元データから抽出した三次元特徴点 とを比較してマッチングを行う。
[0260] ここで、 高精度に自己位置推定を行うためには、 (八) 三次元マップと自 車検知三次元データが取得できており、 かつ、 (巳) それらの精度が予め定 められた基準を満たすことが必要となる。 しかしながら、 以下のような異常 ケースでは、 (八) 又は (巳) が満たせない。
[0261 ] (1) 三次元マップを通信経由で取得できない。 〇 2020/175708 51 卩(:171? 2020 /008540
[0262] ( 2 ) 三次元マップが存在しない、 又は、 三次元マップを取得したが破損 している。
[0263] ( 3 ) 自車のセンサが故障している、 又は、 悪天候のために、 自車検知三 次元データの生成精度が十分でない。
[0264] これらの異常ケースに対処するための動作を、 以下で説明する。 以下では 、 車を例に動作を説明するが、 以下の手法は、 ロボッ ト又はドローンなど、 自律的に移動する動物体全般に対して適用できる。
[0265] 以下、 三次元マップ又は自車検知三次元データにおける異常ケースに対応 するための、 本実施の形態に係る三次元情報処理装置の構成及び動作を説明 する。 図 2 6は、 本実施の形態に係る三次元情報処理装置 7 0 0の構成例を 示すブロック図である。
[0266] 三次元情報処理装置 7 0 0は、 例えば、 自動車等の動物体に搭載される。
図 2 6に示すように、 三次元情報処理装置 7 0 0は、 三次元マップ取得部 7 0 1 と、 自車検知データ取得部 7 0 2と、 異常ケース判定部 7 0 3と、 対処 動作決定部 7 0 4と、 動作制御部 7 0 5とを備える。
[0267] なお、 三次元情報処理装置 7 0 0は、 二次元画像を取得するカメラ、 又は 、 超音波或いはレーザーを用いた一次元データのセンサなど、 自車周辺の構 造物又は動物体を検知するための図示しない二次元又は一次元のセンサを備 えてもよい。 また、 三次元情報処理装置 7 0 0は、 三次元マップを 4 0或い は 5 0などの移動体通信網、 又は、 車車間通信或いは路車間通信により取得 するための通信部 (図示せず) を備えてもよい。
[0268] 三次元マップ取得部 7 0 1は、 走行経路近傍の三次元マップ 7 1 1 を取得 する。 例えば、 三次元マップ取得部 7 0 1は、 移動体通信網、 又は、 車車間 通信或いは路車間通信により三次元マップ 7 1 1 を取得する。
[0269] 次に、 自車検知データ取得部 7 0 2は、 センサ情報に基づいて自車検知三 次元データ 7 1 2を取得する。 例えば、 自車検知データ取得部 7 0 2は、 自 車が備えるセンサにより取得されたセンサ情報に基づき、 自車検知三次元デ —夕 7 1 2を生成する。 〇 2020/175708 52 卩(:171? 2020 /008540
[0270] 次に、 異常ケース判定部 7 0 3は、 取得した三次元マップ 7 1 1及び自車 検知三次元データ 7 1 2の少なくとも一方に対して予め定められたチェック を実施することで異常ケースを検出する。 つまり、 異常ケース判定部 7 0 3 は、 取得した三次元マップ 7 1 1及び自車検知三次元データ 7 1 2の少なく とも一方が異常であるかを判定する。
[0271 ] 異常ケースが検出された場合、 対処動作決定部 7 0 4は、 異常ケースに対 する対処動作を決定する。 次に、 動作制御部 7 0 5は、 三次元マップ取得部 7 0 1など、 対処動作の実施に必要となる各処理部の動作を制御する。
[0272] 一方、 異常ケースが検出されない場合、 三次元情報処理装置 7 0 0は、 処 理を終了する。
[0273] また、 三次元情報処理装置 7 0 0は、 三次元マップ 7 1 1 と自車検知三次 元データ 7 1 2とを用いて、 三次元情報処理装置 7 0 0を有する車両の自己 位置推定を行う。 次に、 三次元情報処理装置 7 0 0は、 自己位置推定の結果 を用いて、 当該車両を自動運転する。
[0274] このように、 三次元情報処理装置 7 0 0は、 第 1の三次元位置情報を含む マップデータ (三次元マップ 7 1 1) を通信路を介して取得する。 例えば、 第 1の三次元位置情報は、 三次元の座標情報を有する部分空間を単位として 符号化され、 各々が 1以上の部分空間の集合体であり、 各々を独立に復号可 能な複数のランダムアクセス単位を含む。 例えば、 第 1の三次元位置情報は 、 三次元の特徴量が所定の閾値以上となる特徴点が符号化されたデータ (3 \ZV L D) である。
[0275] また、 三次元情報処理装置 7 0 0は、 センサで検知した情報から第 2の三 次元位置情報 (自車検知三次元データ 7 1 2) を生成する。 次に、 三次元情 報処理装置 7 0 0は、 第 1の三次元位置情報又は第 2の三次元位置情報に対 して異常判定処理を実施することで、 第 1の三次元位置情報又は前記第 2の 三次元位置情報が異常であるかどうかを判定する。
[0276] 三次元情報処理装置 7 0 0は、 第 1の三次元位置情報又は第 2の三次元位 置情報が異常であると判定された場合、 当該異常に対する対処動作を決定す 〇 2020/175708 53 卩(:171? 2020 /008540
る。 次に、 三次元情報処理装置 7 0 0は、 対処動作の実施に必要となる制御 を実施する。
[0277] これにより、 三次元情報処理装置 7 0 0は、 第 1の三次元位置情報又は第
2の三次元位置情報の異常を検知し、 対処動作を行うことができる。
[0278] (実施の形態 5)
本実施の形態では、 後続車両への三次元データ送信方法等について説明す る。
[0279] 図 2 7は、 本実施の形態に係る三次元データ作成装置 8 1 0の構成例を示 すブロック図である。 この三次元データ作成装置 8 1 0は、 例えば、 車両に 搭載される。 三次元データ作成装置 8 1 0は、 外部の交通監視クラウド、 前 走車両又は後続車両と三次元データの送受信を行うとともに、 三次元データ を作成及び蓄積する。
[0280] 三次元データ作成装置 8 1 0は、 データ受信部 8 1 1 と、 通信部 8 1 2と
、 受信制御部 8 1 3と、 フォーマッ ト変換部 8 1 4と、 複数のセンサ 8 1 5 と、 三次元データ作成部 8 1 6と、 三次元データ合成部 8 1 7と、 三次元デ —夕蓄積部 8 1 8と、 通信部 8 1 9と、 送信制御部 8 2 0と、 フォーマッ ト 変換部 8 2 1 と、 データ送信部 8 2 2とを備える。
[0281 ] データ受信部 8 1 1は、 交通監視クラウド又は前走車両から三次元データ
8 3 1 を受信する。 三次元データ 8 3 1は、 例えば、 自車両のセンサ 8 1 5 で検知不能な領域を含む、 ポイントクラウド、 可視光映像、 奥行き情報、 セ ンサ位置情報、 又は速度情報などの情報を含む。
[0282] 通信部 8 1 2は、 交通監視クラウド又は前走車両と通信し、 データ送信要 求などを交通監視クラウド又は前走車両に送信する。
[0283] 受信制御部 8 1 3は、 通信部 8 1 2を介して、 対応フォーマッ ト等の情報 を通信先と交換し、 通信先との通信を確立する。
[0284] フォーマッ ト変換部 8 1 4は、 データ受信部 8 1 1が受信した三次元デー 夕 8 3 1 にフォーマッ ト変換等を行うことで三次元データ 8 3 2を生成する 。 また、 フォーマッ ト変換部 8 1 4は、 三次元データ 8 3 1が圧縮又は符号 〇 2020/175708 54 卩(:171? 2020 /008540
化されている場合には、 伸張又は復号処理を行う。
[0285] 複数のセンサ 8 1 5は、 !_ 丨 0八[¾、 可視光カメラ又は赤外線カメラなど の、 車両の外部の情報を取得するセンサ群であり、 センサ情報 8 3 3を生成 する。 例えば、 センサ情報 8 3 3は、 センサ 8 1 5が !_ 丨 0八[¾などのレー ザセンサである場合、 ポイントクラウド (点群データ) 等の三次元データで ある。 なお、 センサ 8 1 5は複数でなくてもよい。
[0286] 三次元データ作成部 8 1 6は、 センサ情報 8 3 3から三次元データ 8 3 4 を生成する。 三次元データ 8 3 4は、 例えば、 ポイントクラウド、 可視光映 像、 奥行き情報、 センサ位置情報、 又は速度情報などの情報を含む。
[0287] 三次元データ合成部 8 1 7は、 自車両のセンサ情報 8 3 3に基づいて作成 された三次元データ 8 3 4に、 交通監視クラウド又は前走車両等が作成した 三次元データ 8 3 2を合成することで、 自車両のセンサ 8 1 5では検知でき ない前走車両の前方の空間も含む三次元データ 8 3 5を構築する。
[0288] 三次元データ蓄積部 8 1 8は、 生成された三次元データ 8 3 5等を蓄積す る。
[0289] 通信部 8 1 9は、 交通監視クラウド又は後続車両と通信し、 データ送信要 求などを交通監視クラウド又は後続車両に送信する。
[0290] 送信制御部 8 2 0は、 通信部 8 1 9を介して、 対応フォーマツ ト等の情報 を通信先と交換し、 通信先と通信を確立する。 また、 送信制御部 8 2 0は、 三次元データ合成部 8 1 7で生成された三次元データ 8 3 2の三次元データ 構築情報と、 通信先からのデータ送信要求とに基づき、 送信対象の三次元デ —夕の空間である送信領域を決定する。
[0291 ] 具体的には、 送信制御部 8 2 0は、 交通監視クラウド又は後続車両からの デ _夕送信要求に応じて、 後続車両のセンサでは検知できない自車両の前方 の空間を含む送信領域を決定する。 また、 送信制御部 8 2 0は、 三次元デー 夕構築情報に基づいて送信可能な空間又は送信済み空間の更新有無等を判断 することで送信領域を決定する。 例えば、 送信制御部 8 2 0は、 データ送信 要求で指定された領域であり、 かつ、 対応する三次元データ 8 3 5が存在す 〇 2020/175708 55 卩(:171? 2020 /008540
る領域を送信領域に決定する。 そして、 送信制御部 8 2 0は、 通信先が対応 するフォーマッ ト、 及び送信領域をフォーマッ ト変換部 8 2 1 に通知する。
[0292] フォーマッ ト変換部 8 2 1は、 三次元データ蓄積部 8 1 8に蓄積されてい る三次元データ 8 3 5のうち、 送信領域の三次元データ 8 3 6を、 受信側が 対応しているフォーマッ トへ変換することで三次元データ 8 3 7を生成する 。 なお、 フォーマッ ト変換部 8 2 1は、 三次元データ 8 3 7を圧縮又は符号 化することでデータ量を削減してもよい。
[0293] データ送信部 8 2 2は、 三次元データ 8 3 7を交通監視クラウド又は後続 車両に送信する。 この三次元データ 8 3 7は、 例えば、 後続車両の死角にな る領域を含む、 自車両の前方のポイントクラウド、 可視光映像、 奥行き情報 、 又はセンサ位置情報などの情報を含む。
[0294] なお、 ここでは、 フォーマツ ト変換部 8 1 4及び 8 2 1 にてフォーマツ ト 変換等が行われる例を述べたが、 フォーマッ ト変換は行われなくてもよい。
[0295] このような構成により、 三次元データ作成装置 8 1 0は、 自車両のセンサ
8 1 5では検知できない領域の三次元データ 8 3 1 を外部から取得し、 三次 元データ 8 3 1 と自車両のセンサ 8 1 5で検知したセンサ情報 8 3 3に基づ く三次元データ 8 3 4とを合成することで三次元データ 8 3 5を生成する。 これにより、 三次元データ作成装置 8 1 0は、 自車両のセンサ 8 1 5で検知 できない範囲の三次元データを生成できる。
[0296] また、 三次元データ作成装置 8 1 0は、 交通監視クラウド又は後続車両か らのデータ送信要求に応じて、 後続車両のセンサでは検知できない自車両の 前方の空間を含む三次元データを、 交通監視クラウド又は後続車両等へ送信 できる。
[0297] (実施の形態 6)
実施の形態 5において、 車両等のクライアント装置が、 他の車両又は交通 監視クラウド等のサーバに三次元データを送信する例を説明した。 本実施の 形態では、 クライアント装置は、 サーバ又は他のクライアント装置にセンサ で得られたセンサ情報を送信する。 〇 2020/175708 56 卩(:171? 2020 /008540
[0298] まず、 本実施の形態に係るシステムの構成を説明する。 図 2 8は、 本実施 の形態に係る三次元マップ及びセンサ情報の送受信システムの構成を示す図 である。 このシステムは、 サーバ 9 0 1 と、 クライアント装置 9 0 2八及び 9 0 2巳を含む。 なお、 クライアント装置 9 0 2八及び 9 0 2巳を特に区別 しない場合には、 クライアント装置 9 0 2とも記す。
[0299] クライアント装置 9 0 2は、 例えば、 車両等の移動体に搭載される車載機 器である。 サーバ 9 0 1は、 例えば、 交通監視クラウド等であり、 複数のク ライアント装置 9 0 2と通信可能である。
[0300] サーバ 9 0 1は、 クライアント装置 9 0 2に、 ポイントクラウドから構成 される三次元マップを送信する。 なお、 三次元マップの構成はボイントクラ ウドに限定されず、 メッシュ構造等、 他の三次元データを表すものであって もよい。
[0301 ] クライアント装置 9 0 2は、 サーバ 9 0 1 に、 クライアント装置 9 0 2が 取得したセンサ情報を送信する。 センサ情報は、 例えば、 !_ 丨
Figure imgf000058_0001
取得情 報、 可視光画像、 赤外画像、 デブス画像、 センサ位置情報及び速度情報のう ち少なくとも一つを含む。
[0302] サーバ 9 0 1 とクライアント装置 9 0 2との間で送受信されるデータは、 データ削減のために圧縮されてもよいし、 データの精度を維持するために非 圧縮のままでも構わない。 データを圧縮する場合、 ポイントクラウドには例 えば 8分木構造に基づく三次元圧縮方式を用いることができる。 また、 可視 光画像、 赤外画像、 及びデプス画像には二次元の画像圧縮方式を用いること できる。 二次元の画像圧縮方式とは、 例えば、 IV! 巳◦で規格化された IV! 八 〇又は 1~1巳 〇等である。
[0303] また、 サーバ 9 0 1は、 クライアント装置 9 0 2からの三次元マップの送 信要求に応じてサーバ 9 0 1で管理する三次元マップをクライアント装置 9 0 2に送信する。 なお、 サーバ 9 0 1はクライアント装置 9 0 2からの三次 元マップの送信要求を待たずに三次元マップを送信してもよい。 例えば、 サ —バ 9 0 1は、 予め定められた空間にいる 1つ以上のクライアント装置 9 0 〇 2020/175708 57 卩(:171? 2020 /008540
2に三次元マップをブロードキャストしても構わない。 また、 サーバ 9 0 1 は、 一度送信要求を受けたクライアント装置 9 0 2に、 一定時間毎にクライ アント装置 9 0 2の位置に適した三次元マップを送信してもよい。 また、 サ —バ 9 0 1は、 サーバ 9 0 1が管理する三次元マップが更新される度にクラ イアント装置 9 0 2に三次元マップを送信してもよい。
[0304] クライアント装置 9 0 2は、 サーバ 9 0 1 に三次元マップの送信要求を出 す。 例えば、 クライアント装置 9 0 2が、 走行時に自己位置推定を行いたい 場合に、 クライアント装置 9 0 2は、 三次元マップの送信要求をサーバ 9 0 1 に送信する。
[0305] なお、 次のような場合に、 クライアント装置 9 0 2はサーバ 9 0 1 に三次 元マップの送信要求を出してもよい。 クライアント装置 9 0 2の保持する三 次元マップが古い場合に、 クライアント装置 9 0 2はサーバ 9 0 1 に三次元 マップの送信要求を出してもよい。 例えば、 クライアント装置 9 0 2が三次 元マップを取得してから一定期間が経過した場合に、 クライアント装置 9 0 2はサーバ 9 0 1 に三次元マップの送信要求を出してもよい。
[0306] クライアント装置 9 0 2が保持する三次元マップで示される空間から、 ク ライアント装置 9 0 2が外に出る一定時刻前に、 クライアント装置 9 0 2は サーバ 9 0 1 に三次元マップの送信要求を出してもよい。 例えば、 クライア ント装置 9 0 2が、 クライアント装置 9 0 2が保持する三次元マップで示さ れる空間の境界から予め定められた距離以内に存在する場合に、 クライアン 卜装置 9 0 2はサーバ 9 0 1 に三次元マップの送信要求を出してもよい。 ま た、 クライアント装置 9 0 2の移動経路及び移動速度が把握できている場合 には、 これらに基づき、 クライアント装置 9 0 2が保持する三次元マップで 示される空間から、 クライアント装置 9 0 2が外に出る時刻を予測してもよ い。
[0307] クライアント装置 9 0 2がセンサ情報から作成した三次元データと三次元 マップとの位置合せ時の誤差が一定以上の場合に、 クライアント装置 9 0 2 はサーバ 9 0 1 に三次元マップの送信要求を出してもよい。 〇 2020/175708 58 卩(:171? 2020 /008540
[0308] クライアント装置 9 0 2は、 サーバ 9 0 1から送信されたセンサ情報の送 信要求に応じて、 サーバ 9 0 1 にセンサ情報を送信する。 なお、 クライアン 卜装置 9 0 2はサーバ 9 0 1からのセンサ情報の送信要求を待たずにセンサ 情報をサーバ 9 0 1 に送ってもよい。 例えば、 クライアント装置 9 0 2は、 一度サーバ 9 0 1からセンサ情報の送信要求を得た場合、 一定期間の間、 定 期的にセンサ情報をサーバ 9 0 1 に送信してもよい。 また、 クライアント装 置 9 0 2は、 クライアント装置 9 0 2がセンサ情報を元に作成した三次元デ —夕と、 サーバ 9 0 1から得た三次元マップとの位置合せ時の誤差が一定以 上の場合、 クライアント装置 9 0 2の周辺の三次元マップに変化が生じた可 能性があると判断し、 その旨とセンサ情報とをサーバ 9 0 1 に送信してもよ い。
[0309] サーバ 9 0 1は、 クライアント装置 9 0 2にセンサ情報の送信要求を出す 。 例えば、 サーバ 9 0 1は、 クライアント装置 9 0 2から、 〇 3等のクラ イアント装置 9 0 2の位置情報を受信する。 サーバ 9 0 1は、 クライアント 装置 9 0 2の位置情報に基づき、 サーバ 9 0 1が管理する三次元マップにお いて情報が少ない空間にクライアント装置 9 0 2が近づいていると判断した 場合、 新たな三次元マップを生成するためにクライアント装置 9 0 2にセン サ情報の送信要求を出す。 また、 サーバ 9 0 1は、 三次元マップを更新した い場合、 積雪時或いは災害時などの道路状況を確認したい場合、 渋滞状況、 或いは事件事故状況等を確認したい場合に、 センサ情報の送信要求を出して もよい。
[0310] また、 クライアント装置 9 0 2は、 サーバ 9 0 1から受け取るセンサ情報 の送信要求の受信時における通信状態又は帯域に応じて、 サーバ 9 0 1 に送 信するセンサ情報のデータ量を設定してもよい。 サーバ 9 0 1 に送信するセ ンサ情報のデータ量を設定するというのは、 例えば、 当該データそのものを 増減させること、 又は圧縮方式を適宜選択することである。
[031 1 ] 図 2 9は、 クライアント装置 9 0 2の構成例を示すブロック図である。 ク ライアント装置 9 0 2は、 サーバ 9 0 1からポイントクラウド等で構成され 〇 2020/175708 59 卩(:171? 2020 /008540
る三次元マップを受信し、 クライアント装置 9 0 2のセンサ情報に基づいて 作成した三次元データからクライアント装置 9 0 2の自己位置を推定する。 また、 クライアント装置 9 0 2は、 取得したセンサ情報をサーバ 9 0 1 に送 信する。
[0312] クライアント装置 9 0 2は、 データ受信部 1 0 1 1 と、 通信部 1 0 1 2と 、 受信制御部 1 〇 1 3と、 フォーマッ ト変換部 1 0 1 4と、 複数のセンサ 1 0 1 5と、 三次元データ作成部 1 0 1 6と、 三次元画像処理部 1 0 1 7と、 三次元データ蓄積部 1 0 1 8と、 フォーマッ ト変換部 1 0 1 9と、 通信部 1 0 2 0と、 送信制御部 1 0 2 1 と、 データ送信部 1 0 2 2とを備える。
[0313] データ受信部 1 0 1 1は、 サーバ 9 0 1から三次元マップ 1 0 3 1 を受信 する。 三次元マップ
Figure imgf000061_0001
等のポイントクラウド を含むデータである。 三次元マップ 1 0 3 1 には、 圧縮データ、 及び非圧縮 データのどちらが含まれていてもよい。
[0314] 通信部 1 0 1 2は、 サーバ 9 0 1 と通信し、 データ送信要求 (例えば、 三 次元マップの送信要求) などをサーバ 9 0 1 に送信する。
[0315] 受信制御部 1 0 1 3は、 通信部 1 0 1 2を介して、 対応フォーマッ ト等の 情報を通信先と交換し、 通信先との通信を確立する。
[0316] フォーマッ ト変換部 1 0 1 4は、 データ受信部 1 0 1 1が受信した三次元 マップ 1 0 3 1 にフォーマッ ト変換等を行うことで三次元マップ 1 0 3 2を 生成する。 また、 フォーマッ ト変換部 1 0 1 4は、 三次元マップ 1 0 3 1が 圧縮又は符号化されている場合には、 伸張又は復号処理を行う。 なお、 フォ —マッ ト変換部 1 0 1 4は、 三次元マップ 1 0 3 1が非圧縮データであれば 、 伸張又は復号処理を行わない。
[0317] 複数のセンサ 1 0 1 5は、 !_ 丨 0八[¾、 可視光カメラ、 赤外線カメラ、 又 はデブスセンサなど、 クライアント装置 9 0 2が搭載されている車両の外部 の情報を取得するセンサ群であり、 センサ情報 1 0 3 3を生成する。 例えば 、 センサ情報 1 0 3 3は、 センサ 1 0 1 5が !_ 丨 0八 などのレーザセンサ である場合、 ポイントクラウド (点群データ) 等の三次元データである。 な 〇 2020/175708 60 卩(:171? 2020 /008540
お、 センサ 1 0 1 5は複数でなくてもよい。
[0318] 三次元データ作成部 1 0 1 6は、 センサ情報 1 0 3 3に基づいて自車両の 周辺の三次元データ 1 0 3 4を作成する。 例えば、 三次元データ作成部 1 0 1 6は、 !_ 丨 口 で取得した情報と、 可視光カメラで得られた可視光映像 とを用いて自車両の周辺の色情報付きのポイントクラウドデータを作成する
[0319] 三次元画像処理部 1 0 1 7は、 受信したボイントクラウド等の三次元マッ プ 1 0 3 2と、 センサ情報 1 0 3 3から生成した自車両の周辺の三次元デー 夕 1 0 3 4とを用いて、 自車両の自己位置推定処理等を行う。 なお、 三次元 画像処理部 1 0 1 7は、 三次元マップ 1 0 3 2と三次元データ 1 0 3 4とを 合成することで自車両の周辺の三次元データ 1 0 3 5を作成し、 作成した三 次元データ 1 0 3 5を用いて自己位置推定処理を行ってもよい。
[0320] 三次元データ蓄積部 1 0 1 8は、 三次元マップ 1 0 3 2、 三次元データ 1
0 3 4及び三次元データ 1 0 3 5等を蓄積する。
[0321 ] フォーマッ ト変換部 1 0 1 9は、 センサ情報 1 0 3 3を、 受信側が対応し ているフォーマッ トへ変換することでセンサ情報 1 0 3 7を生成する。 なお 、 フォーマッ ト変換部 1 0 1 9は、 センサ情報 1 0 3 7を圧縮又は符号化す ることでデータ量を削減してもよい。 また、 フォーマッ ト変換部 1 0 1 9は 、 フォーマッ ト変換をする必要がない場合は処理を省略してもよい。 また、 フォーマッ ト変換部 1 0 1 9は、 送信範囲の指定に応じて送信するデータ量 を制御してもよい。
[0322] 通信部 1 0 2 0は、 サーバ 9 0 1 と通信し、 データ送信要求 (センサ情報 の送信要求) などをサーバ 9 0 1から受信する。
[0323] 送信制御部 1 0 2 1は、 通信部 1 0 2 0を介して、 対応フォーマッ ト等の 情報を通信先と交換し、 通信を確立する。
[0324] データ送信部 1 0 2 2は、 センサ情報 1 0 3 7をサーバ 9 0 1 に送信する 。 センサ情報 1 0 3 7は、 例えば、 !_ 丨 口八 で取得した情報、 可視光カメ ラで取得した輝度画像、 赤外線カメラで取得した赤外画像、 デブスセンサで 〇 2020/175708 61 卩(:171? 2020 /008540
取得したデブス画像、 センサ位置情報、 及び速度情報など、 複数のセンサ 1 0 1 5によって取得した情報を含む。
[0325] 次に、 サーバ 9 0 1の構成を説明する。 図 3 0は、 サーバ 9 0 1の構成例 を示すブロック図である。 サーバ 9 0 1は、 クライアント装置 9 0 2から送 信されたセンサ情報を受信し、 受信したセンサ情報に基づいて三次元データ を作成する。 サーバ 9 0 1は、 作成した三次元データを用いて、 サーバ 9 0 1が管理する三次元マップを更新する。 また、 サーバ 9 0 1は、 クライアン 卜装置 9 0 2からの三次元マップの送信要求に応じて、 更新した三次元マッ プをクライアント装置 9 0 2に送信する。
[0326] サーバ 9 0 1は、 データ受信部 1 1 1 1 と、 通信部 1 1 1 2と、 受信制御 部 1 1 1 3と、 フォーマッ ト変換部 1 1 1 4と、 三次元データ作成部 1 1 1 6と、 三次元データ合成部 1 1 1 7と、 三次元データ蓄積部 1 1 1 8と、 フ ォ—マッ ト変換部】 1 1 9と、 通信部 1 1 2 0と、 送信制御部 1 1 2 1 と、 データ送信部 1 1 2 2とを備える。
[0327] データ受信部 1 1 1 1は、 クライアント装置 9 0 2からセンサ情報 1 0 3
7を受信する。 センサ情報 1 0 3 7は、 例えば、 !_ 丨
Figure imgf000063_0001
で取得した情報 、 可視光カメラで取得した輝度画像、 赤外線カメラで取得した赤外画像、 デ ブスセンサで取得したデブス画像、 センサ位置情報、 及び速度情報などを含 む。
[0328] 通信部 1 1 1 2は、 クライアント装置 9 0 2と通信し、 データ送信要求 ( 例えば、 センサ情報の送信要求) などをクライアント装置 9 0 2に送信する
[0329] 受信制御部 1 1 1 3は、 通信部 1 1 1 2を介して、 対応フォーマッ ト等の 情報を通信先と交換し、 通信を確立する。
[0330] フォーマッ ト変換部 1 1 1 4は、 受信したセンサ情報 1 0 3 7が圧縮又は 符号化されている場合には、 伸張又は復号処理を行うことでセンサ情報 1 1 3 2を生成する。 なお、 フォーマッ ト変換部 1 1 1 4は、 センサ情報 1 0 3 7が非圧縮データであれば、 伸張又は復号処理を行わない。 〇 2020/175708 62 卩(:171? 2020 /008540
[0331 ] 三次元データ作成部 1 1 1 6は、 センサ情報 1 1 3 2に基づいてクライア ント装置 9 0 2の周辺の三次元データ 1 1 3 4を作成する。 例えば、 三次元 データ作成部 1 1 1 6は、 !_ 丨
Figure imgf000064_0001
で取得した情報と、 可視光カメラで得 られた可視光映像とを用いてクライアント装置 9 0 2の周辺の色情報付ボイ ントクラウドデータを作成する。
[0332] 三次元データ合成部 1 1 1 7は、 センサ情報 1 1 3 2を元に作成した三次 元データ 1 1 3 4を、 サーバ 9 0 1が管理する三次元マップ 1 1 3 5に合成 することで三次元マップ 1 1 3 5を更新する。
[0333] 三次元データ蓄積部 1 1 1 8は、 三次元マップ 1 1 3 5等を蓄積する。
[0334] フォーマッ ト変換部 1 1 1 9は、 三次元マップ 1 1 3 5を、 受信側が対応 しているフォーマッ トへ変換することで三次元マップ 1 0 3 1 を生成する。 なお、 フォーマッ ト変換部 1 1 1 9は、 三次元マップ 1 1 3 5を圧縮又は符 号化することでデータ量を削減してもよい。 また、 フォーマッ ト変換部 1 1 1 9は、 フォーマッ ト変換をする必要がない場合は処理を省略してもよい。 また、 フォーマッ ト変換部 1 1 1 9は、 送信範囲の指定に応じて送信するデ —夕量を制御してもよい。
[0335] 通信部 1 1 2 0は、 クライアント装置 9 0 2と通信し、 データ送信要求 ( 三次元マップの送信要求) などをクライアント装置 9 0 2から受信する。
[0336] 送信制御部 1 1 2 1は、 通信部 1 1 2 0を介して、 対応フォーマッ ト等の 情報を通信先と交換し、 通信を確立する。
[0337] データ送信部 1 1 2 2は、 三次元マップ 1 0 3 1 をクライアント装置 9 0
2に送信する。 三次元マップ
Figure imgf000064_0002
等のポイント クラウドを含むデータである。 三次元マップ 1 0 3 1 には、 圧縮データ、 及 び非圧縮データのどちらが含まれていてもよい。
[0338] 次に、 クライアント装置 9 0 2の動作フローについて説明する。 図 3 1は 、 クライアント装置 9 0 2による三次元マップ取得時の動作を示すフローチ ャートである。
[0339] まず、 クライアント装置 9 0 2は、 サーバ 9 0 1へ三次元マップ (ポイン 〇 2020/175708 63 卩(:171? 2020 /008540
トクラウド等) の送信を要求する (31 001) 。 このとき、 クライアント 装置 902は、 ◦ 3等で得られたクライアント装置 902の位置情報を合 わせて送信することで、 その位置情報に関連する三次元マップの送信をサー バ 901 に要求してもよい。
[0340] 次に、 クライアント装置 902は、 サーバ 901から三次元マップを受信 する (31 002) 。 受信した三次元マップが圧縮データであれば、 クライ アント装置 902は、 受信した三次元マップを復号して非圧縮の三次元マッ プを生成する (31 003) 。
[0341] 次に、 クライアント装置 902は、 複数のセンサ 1 01 5で得られたセン サ情報 1 033からクライアント装置 902の周辺の三次元データ 1 034 を作成する (31 004) 。 次に、 クライアント装置 902は、 サーバ 90 1から受信した三次元マップ 1 032と、 センサ情報 1 033から作成した 三次元データ 1 034とを用いてクライアント装置 902の自己位置を推定 する (31 005) 。
[0342] 図 32は、 クライアント装置 902によるセンサ情報の送信時の動作を示 すフローチヤートである。 まず、 クライアント装置 902は、 サーバ 901 からセンサ情報の送信要求を受信する (31 01 1) 。 送信要求を受信した クライアント装置 902は、 センサ情報 1 037をサーバ 901 に送信する (31 01 2) 。 なお、 クライアント装置 902は、 センサ情報 1 033が 複数のセンサ 1 〇 1 5で得られた複数の情報を含む場合、 各情報を、 各情報 に適した圧縮方式で圧縮することでセンサ情報 1 037を生成してもよい。
[0343] 次に、 サーバ 901の動作フローについて説明する。 図 33は、 サーバ 9
01 によるセンサ情報の取得時の動作を示すフローチヤートである。 まず、 サーバ 901は、 クライアント装置 902へセンサ情報の送信を要求する ( 31 02 1) 。 次に、 サーバ 901は、 当該要求に応じてクライアント装置 902から送信されたセンサ情報 1 037を受信する (31 022) 。 次に 、 サーバ 901は、 受信したセンサ情報 1 037を用いて三次元データ 1 1 34を作成する (31 023) 。 次に、 サーバ 901は、 作成した三次元デ 〇 2020/175708 64 卩(:171? 2020 /008540
—夕 1 1 3 4を三次元マップ 1 1 3 5に反映する (3 1 0 2 4) 。
[0344] 図 3 4は、 サーバ 9 0 1 による三次元マップの送信時の動作を示すフロー チヤートである。 まず、 サーバ 9 0 1は、 クライアント装置 9 0 2から三次 元マップの送信要求を受信する (3 1 0 3 1) 。 三次元マップの送信要求を 受信したサーバ 9 0 1は、 クライアント装置 9 0 2へ三次元マップ 1 0 3 1 を送信する (3 1 0 3 2) 。 このとき、 サーバ 9 0 1は、 クライアント装置 9 0 2の位置情報に合わせてその付近の三次元マップを抽出し、 抽出した三 次元マップを送信してもよい。 また、 サーバ 9 0 1は、 ポイントクラウドで 構成される三次元マップを、 例えば 8分木構造による圧縮方式等を用いて圧 縮し、 圧縮後の三次元マップを送信してもよい。
[0345] 以下、 本実施の形態の変形例について説明する。
[0346] サーバ 9 0 1は、 クライアント装置 9 0 2から受信したセンサ情報 1 0 3
7を用いてクライアント装置 9 0 2の位置付近の三次元データ 1 1 3 4を作 成する。 次に、 サーバ 9 0 1は、 作成した三次元データ 1 1 3 4と、 サーバ 9 0 1が管理する同エリアの三次元マップ 1 1 3 5とのマッチングを行うこ とによって、 三次元データ 1 1 3 4と三次元マップ 1 1 3 5との差分を算出 する。 サーバ 9 0 1は、 差分が予め定められた閾値以上の場合は、 クライア ント装置 9 0 2の周辺で何らかの異常が発生したと判断する。 例えば、 地震 等の自然災害によって地盤沈下等が発生した際などに、 サーバ 9 0 1が管理 する三次元マップ 1 1 3 5と、 センサ情報 1 0 3 7を基に作成した三次元デ —夕 1 1 3 4との間に大きな差が発生することが考えられる。
[0347] センサ情報 1 0 3 7は、 センサの種類、 センサの性能、 及びセンサの型番 のうち少なくとも一つを示す情報を含んでもよい。 また、 センサ情報 1 0 3 7に、 センサの性能に応じたクラス 丨 口等が付加されてもよい。 例えば、 セ ンサ情報 1 〇 3 7が!_ 丨 口八 で取得された情報である場合、 数 単位の 精度で情報を取得できるセンサをクラス 1、 数 単位の精度で情報を取得 できるセンサをクラス 2、 数 単位の精度で情報を取得できるセンサをクラ ス 3のように、 センサの性能に識別子を割り当てることが考えられる。 また 〇 2020/175708 65 卩(:171? 2020 /008540
、 サーバ 9 0 1は、 センサの性能情報等を、 クライアント装置 9 0 2の型番 から推定してもよい。 例えば、 クライアント装置 9 0 2が車両に搭載されて いる場合、 サーバ 9 0 1は、 当該車両の車種からセンサのスペック情報を判 断してもよい。 この場合、 サーバ 9 0 1は、 車両の車種の情報を事前に取得 していてもよいし、 センサ情報に、 当該情報が含まれてもよい。 また、 サー バ 9 0 1は取得したセンサ情報 1 0 3 7を用いて、 センサ情報 1 0 3 7を用 いて作成した三次元データ 1 1 3 4に対する補正の度合いを切り替えてもよ い。 例えば、 センサ性能が高精度 (クラス 1) である場合、 サーバ 9 0 1は 、 三次元データ 1 1 3 4に対する補正を行わない。 センサ性能が低精度 (ク ラス 3) である場合、 サーバ 9 0 1は、 三次元データ 1 1 3 4に、 センサの 精度に応じた補正を適用する。 例えば、 サーバ 9 0 1は、 センサの精度が低 いほど補正の度合い (強度) を強くする。
[0348] サーバ 9 0 1は、 ある空間にいる複数のクライアント装置 9 0 2に同時に センサ情報の送信要求を出してもよい。 サーバ 9 0 1は、 複数のクライアン 卜装置 9 0 2から複数のセンサ情報を受信した場合に、 全てのセンサ情報を 三次元データ 1 1 3 4の作成に利用する必要はなく、 例えば、 センサの性能 に応じて、 利用するセンサ情報を選択してもよい。 例えば、 サーバ 9 0 1は 、 三次元マップ 1 1 3 5を更新する場合、 受信した複数のセンサ情報の中か ら高精度なセンサ情報 (クラス 1) を選別し、 選別したセンサ情報を用いて 三次元データ 1 1 3 4を作成してもよい。
[0349] サーバ 9 0 1は、 交通監視クラウド等のサーバのみに限定されず、 他のク ライアント装置 (車載) であってもよい。 図 3 5は、 この場合のシステム構 成を示す図である。
[0350] 例えば、 クライアント装置 9 0 2〇が近くにいるクライアント装置 9 0 2 八にセンサ情報の送信要求を出し、 クライアント装置 9 0 2八からセンサ情 報を取得する。 そして、 クライアント装置 9 0 2(3は、 取得したクライアン 卜装置 9 0 2 のセンサ情報を用いて三次元データを作成し、 クライアント 装置 9 0 2〇の三次元マップを更新する。 これにより、 クライアント装置 9 〇 2020/175708 66 卩(:171? 2020 /008540
0 2(3は、 クライアント装置 9 0 2八から取得可能な空間の三次元マップを 、 クライアント装置 9 0 2(3の性能を活かして生成できる。 例えば、 クライ アント装置 9 0 2(3の性能が高い場合に、 このようなケースが発生すると考 えられる。
[0351 ] また、 この場合、 センサ情報を提供したクライアント装置 9 0 2 は、 ク ライアント装置 9 0 2〇が生成した高精度な三次元マップを取得する権利が 与えられる。 クライアント装置 9 0 2八は、 その権利に従ってクライアント 装置 9 0 2〇から高精度な三次元マップを受信する。
[0352] また、 クライアント装置 9 0 2(3は近くにいる複数のクライアント装置 9
0 2 (クライアント装置 9 0 2八及びクライアント装置 9 0 2巳) にセンサ 情報の送信要求を出してもよい。 クライアント装置 9 0 2八又はクライアン 卜装置 9 0 2巳のセンサが高性能である場合には、 クライアント装置 9 0 2 〇は、 この高性能なセンサで得られたセンサ情報を用いて三次元データを作 成できる。
[0353] 図 3 6は、 サーバ 9 0 1及びクライアント装置 9 0 2の機能構成を示すブ ロック図である。 サーバ 9 0 1は、 例えば、 三次元マップを圧縮及び復号す る三次元マップ圧縮/復号処理部 1 2 0 1 と、 センサ情報を圧縮及び復号す るセンサ情報圧縮/復号処理部 1 2 0 2とを備える。
[0354] クライアント装置 9 0 2は、 三次元マップ復号処理部 1 2 1 1 と、 センサ 情報圧縮処理部 1 2 1 2とを備える。 三次元マップ復号処理部 1 2 1 1は、 圧縮された三次元マップの符号化データを受信し、 符号化データを復号して 三次元マップを取得する。 センサ情報圧縮処理部 1 2 1 2は、 取得したセン サ情報から作成した三次元データの代わりに、 センサ情報そのものを圧縮し 、 圧縮したセンサ情報の符号化データをサーバ 9 0 1へ送信する。 この構成 により、 クライアント装置 9 0 2は、 三次元マップ (ポイントクラウド等) を復号する処理を行う処理部 (装置又は 1- 3 I) を内部に保持すればよく、 三次元マップ (ポイントクラウド等) の三次元データを圧縮する処理を行う 処理部を内部に保持する必要がない。 これにより、 クライアント装置 9 0 2 〇 2020/175708 67 卩(:171? 2020 /008540
のコスト及び消費電力等を抑えることができる。
[0355] 以上のように、 本実施の形態に係るクライアント装置 9 0 2は、 移動体に 搭載され、 移動体に搭載されたセンサ 1 0 1 5により得られた、 移動体の周 辺状況を示すセンサ情報 1 0 3 3から、 移動体の周辺の三次元データ 1 0 3 4を作成する。 クライアント装置 9 0 2は、 作成された三次元データ 1 0 3 4を用いて移動体の自己位置を推定する。 クライアント装置 9 0 2は、 取得 したセンサ情報 1 0 3 3をサーバ 9 0 1又は他の移動体 9 0 2に送信する。
[0356] これによれば、 クライアント装置 9 0 2は、 センサ情報 1 0 3 3をサーバ
9 0 1等に送信する。 これにより、 三次元データを送信する場合に比べて、 送信データのデータ量を削減できる可能性がある。 また、 三次元データの圧 縮又は符号化等の処理をクライアント装置 9 0 2で行う必要がないので、 ク ライアント装置 9 0 2の処理量を削減できる。 よって、 クライアント装置 9 0 2は、 伝送されるデータ量の削減、 又は、 装置の構成の簡略化を実現でき る。
[0357] また、 クライアント装置 9 0 2は、 さらに、 サーバ 9 0 1 に三次元マップ の送信要求を送信し、 サーバ 9 0 1から三次元マップ 1 0 3 1 を受信する。 クライアント装置 9 0 2は、 自己位置の推定では、 三次元データ 1 0 3 4と 三次元マップ 1 0 3 2とを用いて、 自己位置を推定する。
[0358] また、 センサ情報 1 0 3 3は、 レーザセンサで得られた情報、 輝度画像、 赤外画像、 デブス画像、 センサの位置情報、 及びセンサの速度情報のうち少 なくとも一つを含む。
[0359] また、 センサ情報 1 0 3 3は、 センサの性能を示す情報を含む。
[0360] また、 クライアント装置 9 0 2は、 センサ情報 1 0 3 3を符号化又は圧縮 し、 センサ情報の送信では、 符号化又は圧縮後のセンサ情報 1 0 3 7を、 サ —バ 9 0 1又は他の移動体 9 0 2に送信する。 これによれば、 クライアント 装置 9 0 2は、 伝送されるデータ量を削減できる。
[0361 ] 例えば、 クライアント装置 9 0 2は、 プロセッサと、 メモリとを備え、 プ ロセッサは、 メモリを用いて、 上記の処理を行う。 〇 2020/175708 68 卩(:171? 2020 /008540
[0362] また、 本実施の形態に係るサーバ 9 0 1は、 移動体に搭載されるクライア ント装置 9 0 2と通信可能であり、 移動体に搭載されたセンサ 1 0 1 5によ り得られた、 移動体の周辺状況を示すセンサ情報 1 0 3 7をクライアント装 置 9 0 2から受信する。 サーバ 9 0 1は、 受信したセンサ情報 1 0 3 7から 、 移動体の周辺の三次元デ _夕 1 1 3 4を作成する。
[0363] これによれば、 サーバ 9 0 1は、 クライアント装置 9 0 2から送信された センサ情報 1 〇 3 7を用いて三次元データ 1 1 3 4を作成する。 これにより 、 クライアント装置 9 0 2が三次元データを送信する場合に比べて、 送信デ —夕のデータ量を削減できる可能性がある。 また、 三次元データの圧縮又は 符号化等の処理をクライアント装置 9 0 2で行う必要がないので、 クライア ント装置 9 0 2の処理量を削減できる。 よって、 サーバ 9 0 1は、 伝送され るデータ量の削減、 又は、 装置の構成の簡略化を実現できる。
[0364] また、 サーバ 9 0 1は、 さらに、 クライアント装置 9 0 2にセンサ情報の 送信要求を送信する。
[0365] また、 サーバ 9 0 1は、 さらに、 作成された三次元データ 1 1 3 4を用い て三次元マップ 1 1 3 5を更新し、 クライアント装置 9 0 2からの三次元マ ップ 1 1 3 5の送信要求に応じて三次元マップ 1 1 3 5をクライアント装置 9〇 2に送信する。
[0366] また、 センサ情報 1 0 3 7は、 レーザセンサで得られた情報、 輝度画像、 赤外画像、 デブス画像、 センサの位置情報、 及びセンサの速度情報のうち少 なくとも一つを含む。
[0367] また、 センサ情報 1 0 3 7は、 センサの性能を示す情報を含む。
[0368] また、 サーバ 9 0 1は、 さらに、 センサの性能に応じて、 三次元データを 補正する。 これによれば、 当該三次元データ作成方法は、 三次元データの品 質を向上できる。
[0369] また、 サーバ 9 0 1は、 センサ情報の受信では、 複数のクライアント装置
9〇 2から複数のセンサ情報 1 0 3 7を受信し、 複数のセンサ情報 1 0 3 7 に含まれるセンサの性能を示す複数の情報に基づき、 三次元データ 1 1 3 4 〇 2020/175708 69 卩(:171? 2020 /008540
の作成に用いるセンサ情報 1 〇 3 7を選択する。 これによれば、 サーバ 9 0 1は、 三次元データ 1 1 3 4の品質を向上できる。
[0370] また、 サーバ 9 0 1は、 受信したセンサ情報 1 0 3 7を復号又は伸張し、 復号又は伸張後のセンサ情報 1 1 3 2から、 三次元データ 1 1 3 4を作成す る。 これによれば、 サーバ 9 0 1は、 伝送されるデータ量を削減できる。
[0371 ] 例えば、 サーバ 9 0 1は、 プロセッサと、 メモリとを備え、 プロセッサは 、 メモリを用いて、 上記の処理を行う。
[0372] (実施の形態 7)
本実施の形態では、 インター予測処理を用いた三次元データの符号化方法 及び復号方法について説明する。
[0373] 図 3 7は、 本実施の形態に係る三次元データ符号化装置 1 3 0 0のブロッ ク図である。 この三次元データ符号装置 1 3 0 0は、 三次元データを符号化 することで符号化信号である符号化ビッ トストリーム (以下、 単にビッ トス トリームとも記す) を生成する。 図 3 7に示すように、 三次元データ符号化 装置 1 3 0 0は、 分割部 1 3 0 1 と、 減算部 1 3 0 2と、 変換部 1 3 0 3と 、 量子化部 1 3 0 4と、 逆量子化部 1 3 0 5と、 逆変換部 1 3 0 6と、 加算 部 1 3 0 7と、 参照ボリュームメモリ 1 3 0 8と、 イントラ予測部 1 3 0 9 と、 参照スぺースメモリ 1 3 1 0と、 インター予測部 1 3 1 1 と、 予測制御 部 1 3 1 2と、 エントロピー符号化部 1 3 1 3とを備える。
[0374] 分割部 1 3 0 1は、 三次元データに含まれる各スペース (3 〇 を符号 化単位である複数のボリューム ( !_ 1\/1) に分割する。 また、 分割部 1 3 0 1は、 各ボリュ _ム内のボクセルを 8分木表現化 (〇〇 「㊀ ㊀化) する。 なお、 分割部 1 3 0 1は、 スぺースとボリュームを同ーサイズとし、 スぺ一 スを 8分木表現化してもよい。 また、 分割部 1 3 0 1は、 8分木化に必要な 情報 (深度情報など) をビッ トストリームのヘッダ等に付加してもよい。
[0375] 減算部 1 3 0 2は、 分割部 1 3 0 1から出力されたボリューム (符号化対 象ボリューム) と、 後述するイントラ予測又はインター予測によって生成さ れる予測ボリュームとの差分を算出し、 算出された差分を予測残差として変 〇 2020/175708 70 卩(:171? 2020 /008540
換部 1 3 0 3に出力する。 図 3 8は、 予測残差の算出例を示す図である。 な お、 ここで示す符号化対象ボリューム及び予測ボリュームのビッ ト列は、 例 えば、 ボリュームに含まれる三次元点 (例えばポイントクラウド) の位置を 示す位置情報である。
[0376] 以下、 8分木表現とポクセルのスキャン順について説明する。 ボリューム は 8分木構造に変換 (8分木化) された後、 符号化される。 8分木構造はノ —ドとリーフとで構成される。 各ノードは 8つのノード又はリーフを持ち、 各リーフはポクセル ( 乂!_) 情報を持つ。 図 3 9は、 複数のポクセルを含 むボリュームの構造例を示す図である。 図 4 0は、 図 3 9に示すボリューム を 8分木構造に変換した例を示す図である。 ここで、 図 4 0に示すリーフの うち、 リーフ 1、 2、 3はそれぞれ図 3 9に示すボクセル 乂!_ 1、 乂!_ 2、 乂!_ 3を表し、 点群を含む 乂!_ (以下、 有効 乂!_) を表現してい る。
[0377] 8分木は、 例えば 0、 1の二値列で表現される。 例えば、 ノード又は有効 乂!_を値 1、 それ以外を値 0とすると、 各ノード及びリーフには図 4 0に 示す二値列が割当てられる。 そして、 幅優先又は深さ優先のスキャン順に応 じて、 この二値列がスキャンされる。 例えば幅優先でスキャンされた場合、 図 4 1の八に示す二値列が得られる。 深さ優先でスキャンした場合は図 4 1 の巳に示す二値列が得られる。 このスキャンにより得られた二値列はエント ロピー符号化によって符号化され情報量が削減される。
[0378] 次に、 8分木表現における深度情報について説明する。 8分木表現におけ る深度は、 ボリューム内に含まれるポイントクラウド情報を、 どの粒度まで 保持するかをコントロールするために使用される。 深度を大きく設定すると 、 より細かいレベルまでポイントクラウド情報を再現することができるが、 ノード及びリーフを表現するためのデータ量が増える。 逆に深度を小さく設 定すると、 データ量が減少するが、 複数の異なる位置及び色の異なるポイン トクラウド情報が同一位置かつ同一色であるとみなされるため、 本来のボイ ントクラウド情報が持つ情報を失うことになる。 〇 2020/175708 71 卩(:171? 2020 /008540
[0379] 例えば、 図 4 2は、 図 4 0に示す深度 = 2の 8分木を、 深度 = 1の 8分木 で表現した例を示す図である。 図 4 2に示す 8分木は図 4 0に示す 8分木よ りデータ量が少なくなる。 つまり、 図 4 2に示す 8分木は図 4 2に示す 8分 木より二値列化後のビッ ト数が少ない。 ここで、 図 4 0に示すリーフ 1 とリ —フ 2が図 4 1 に示すリーフ 1で表現されることになる。 つまり、 図 4 0に 示すリーフ 1 とリーフ 2とが異なる位置であったという情報が失われる。
[0380] 図 4 3は、 図 4 2に示す 8分木に対応するボリュームを示す図である。 図
3 9に示す 乂!_ 1 と 乂!_ 2が図 4 3に示す 乂!_ 1 2に対応する。 この 場合、 三次元データ符号化装置 1 3 0 0は、 図 4 3に示す 乂1_ 1 2の色情 報を、 図 3 9に示す 乂!_ 1 と 乂!_ 2との色情報から生成する。 例えば、 三次元データ符号化装置 1 3 0 0は、 乂1_ 1 と 乂!_ 2との色情報の平均 値、 中間値、 又は重み平均値などを 乂!_ 1 2の色情報として算出する。 こ のように、 三次元データ符号化装置 1 3 0 0は、 8分木の深度を変えること で、 データ量の削減を制御してもよい。
[0381 ] 三次元データ符号化装置 1 3 0 0は、 8分木の深度情報を、 ワールド単位 、 スペース単位、 及びボリューム単位のいずれの単位で設定しても構わない 。 またその際、 三次元データ符号化装置 1 3 0 0は、 ワールドのヘッダ情報 、 スペースのヘッダ情報、 又はボリュームのヘッダ情報に深度情報を付加し てもよい。 また、 時間の異なる全てのワールド、 スぺース、 及びボリューム で深度情報して同一の値を使用してもよい。 この場合、 三次元データ符号化 装置 1 3 0 0は、 全時間のワールドを管理するへッダ情報に深度情報を付加 してもよい。
[0382] ポクセルに色情報が含まれる場合には、 変換部 1 3 0 3は、 ボリューム内 のポクセルの色情報の予測残差に対し、 直交変換等の周波数変換を適用する 。 例えば、 変換部 1 3 0 3は、 あるスキャン順で予測残差をスキャンするこ とで一次元配列を作成する。 その後、 変換部 1 3 0 3は、 作成した一次元配 列に一次元の直交変換を適用することで一次元配列を周波数領域に変換する 。 これにより、 ボリューム内の予測残差の値が近い場合には低域の周波数成 〇 2020/175708 72 卩(:171? 2020 /008540
分の値が大きくなり、 高域の周波数成分の値が小さくなる。 よって、 量子化 部 1 3 0 4においてより効率的に符号量を削減することができる。
[0383] また、 変換部 1 3 0 3は、 一次元ではなく、 二次元以上の直交変換を用い てもよい。 例えば、 変換部 1 3 0 3は、 あるスキャン順で予測残差を二次元 配列にマッピングし、 得られた二次元配列に二次元直交変換を適用する。 ま た、 変換部 1 3 0 3は、 複数の直交変換方式から使用する直交変換方式を選 択してもよい。 この場合、 三次元データ符号化装置 1 3 0 0は、 どの直交変 換方式を用いたかを示す情報をビッ トストリームに付加する。 また、 変換部 1 3 0 3は、 次元の異なる複数の直交変換方式から使用する直交変換方式を 選択してもよい。 この場合、 三次元データ符号化装置 1 3 0 0は、 どの次元 の直交変換方式を用いたかをビッ トストリームに付加する。
[0384] 例えば、 変換部 1 3 0 3は、 予測残差のスキャン順を、 ボリユーム内の 8 分木におけるスキャン順 (幅優先又は深さ優先など) に合わせる。 これによ り、 予測残差のスキャン順を示す情報をビッ トストリームに付加する必要が ないので、 オーバーヘッ ドを削減できる。 また、 変換部 1 3 0 3は、 8分木 のスキャン順とは異なるスキャン順を適用してもよい。 この場合、 三次元デ —夕符号化装置 1 3 0 0は、 予測残差のスキャン順を示す情報をビッ トスト リームに付加する。 これにより、 三次元データ符号化装置 1 3 0 0は、 予測 残差を効率よく符号化することができる。 また、 三次元データ符号化装置 1 3 0 0は、 8分木のスキャン順を適用するか否かを示す情報 (フラグ等) を ビッ トストリームに付加し、 8分木のスキャン順を適用しない場合に、 予測 残差のスキャン順を示す情報をビッ トストリームに付加してもよい。
[0385] 変換部 1 3 0 3は、 色情報の予測残差だけでなく、 ポクセルが持つその他 の属性情報を変換してもよい。 例えば、 変換部 1 3 0 3は、 ポイントクラウ ドを !_ 丨 口 等で取得した際に得られる反射度等の情報を変換し、 符号化 してもよい。
[0386] 変換部 1 3 0 3は、 スペースが色情報等の属性情報を持たない場合は、 処 理をスキップしてもよい。 また、 三次元データ符号化装置 1 3 0 0は、 変換 〇 2020/175708 73 卩(:171? 2020 /008540
部 1 3 0 3の処理をスキップするか否かを示す情報 (フラグ) をビッ トスト リームに付加してもよい。
[0387] 量子化部 1 3 0 4は、 変換部 1 3 0 3で生成された予測残差の周波数成分 に対し、 量子化制御パラメータを用いて量子化を行うことで量子化係数を生 成する。 これにより情報量が削減される。 生成された量子化係数はエントロ ピー符号化部 1 3 1 3に出力される。 量子化部 1 3 0 4は、 量子化制御パラ メータを、 ワールド単位、 スペース単位、 又はボリューム単位で制御しても よい。 その際には、 三次元データ符号化装置 1 3 0 0は、 量子化制御パラメ —夕をそれぞれのヘッダ情報等に付加する。 また、 量子化部 1 3 0 4は、 予 測残差の周波数成分毎に、 重みを変えて量子化制御を行ってもよい。 例えば 、 量子化部 1 3 0 4は、 低周波数成分は細かく量子化し、 高周波成分は粗く 量子化してもよい。 この場合、 三次元データ符号化装置 1 3 0 0は、 各周波 数成分の重みを表すパラメータをへッダに付加してもよい。
[0388] 量子化部 1 3 0 4は、 スぺースが色情報等の属性情報を持たない場合は、 処理をスキップしてもよい。 また、 三次元データ符号化装置 1 3 0 0は、 量 子化部 1 3 0 4の処理をスキップするか否かを示す情報 (フラグ) をビッ ト ストリームに付加してもよい。
[0389] 逆量子化部 1 3 0 5は、 量子化制御パラメータを用いて、 量子化部 1 3 0 4で生成された量子化係数に逆量子化を行うことで予測残差の逆量子化係数 を生成し、 生成した逆量子化係数を逆変換部 1 3 0 6に出力する。
[0390] 逆変換部 1 3 0 6は、 逆量子化部 1 3 0 5で生成された逆量子化係数に対 し逆変換を適用することで逆変換適用後予測残差を生成する。 この逆変換適 用後予測残差は、 量子化後に生成された予測残差であるため、 変換部 1 3 0 3が出力した予測残差とは完全には一致しなくてもよい。
[0391 ] 加算部 1 3 0 7は、 逆変換部 1 3 0 6で生成された逆変換適用後予測残差 と、 量子化前の予測残差の生成に用いられた、 後述するイントラ予測又はイ ンター予測により生成された予測ボリュームとを加算して再構成ボリューム を生成する。 この再構成ボリュームは、 参照ボリュームメモリ 1 3 0 8、 又 〇 2020/175708 74 卩(:171? 2020 /008540
は、 参照スぺースメモリ 1 3 1 0に格納される。
[0392] イントラ予測部 1 3 0 9は、 参照ボリュームメモリ 1 3 0 8に格納された 隣接ボリュームの属性情報を用いて、 符号化対象ボリュームの予測ボリュー ムを生成する。 属性情報とは、 ポクセルの色情報又は反射度を含む。 イント ラ予測部 1 3 0 9は、 符号化対象ボリュームの色情報又は反射度の予測値を 生成する。
[0393] 図 4 4は、 イントラ予測部 1 3 0 9の動作を説明するための図である。 例 えば、 イントラ予測部 1 3 0 9は、 図 4 4に示す、 符号化対象ボリューム ( ボリューム丨 父= 3) の予測ボリュームを、 隣接ボリューム (ボリューム | ¢1 X = 0) から生成する。 ここで、 ボリューム丨 〇1父とはスぺース内のボ リュームに対し付加される識別子情報であり、 各ボリュームに異なる値が割 当てられる。 ボリュ _ム丨 ¢1 Xの割当ての順番は符号化順と同じ順番であっ てもよいし、 符号化順とは異なる順番であってもよい。 例えば、 イントラ予 測部 1 3 0 9は、 図 4 4に示す符号化対象ボリュームの色情報の予測値とし て、 隣接ボリュームであるボリューム丨 ¢1 X = 0内に含まれるボクセルの色 情報の平均値を用いる。 この場合、 符号化対象ボリューム内に含まれる各ボ クセルの色情報から、 色情報の予測値が差し引かれることで予測残差が生成 される。 この予測残差に対して変換部 1 3 0 3以降の処理が行われる。 また 、 この場合、 三次元データ符号化装置 1 3 0 0は、 隣接ボリューム情報と、 予測モード情報とをビッ トストリームに付加する。 ここで隣接ボリューム情 報とは、 予測に用いた隣接ボリュームを示す情報であり、 例えば、 予測に用 いた隣接ボリュームのボリューム丨 Xを示す。 また、 予測モード情報とは 、 予測ボリュームの生成に使用したモードを示す。 モードとは、 例えば、 隣 接ボリュ _ム内のボクセルの平均値から予測値を生成する平均値モ _ド、 又 は隣接ボリューム内のポクセルの中間値から予測値を生成する中間値モード 等である。
[0394] イントラ予測部 1 3 0 9は、 予測ボリュームを、 複数の隣接ボリュームか ら生成してもよい。 例えば、 図 4 4に示す構成において、 イントラ予測部 1 〇 2020/175708 75 卩(:171? 2020 /008540
309は、 ボリューム丨 X = 0のボリュームから予測ボリューム〇を生成 し、 ボリューム丨 父= 1のボリュームから予測ボリューム 1 を生成する。 そして、 イントラ予測部 1 309は、 予測ボリューム〇と予測ボリューム 1 の平均を最終的な予測ボリュームとして生成する。 この場合、 三次元データ 符号化装置 1 300は、 予測ボリュームの生成に使用した複数のボリューム の複数のボリューム丨 Xをビッ トストリームに付加してもよい。
[0395] 図 45は、 本実施の形態に係るインター予測処理を模式的に示す図である 。 インター予測部 1 3 1 1は、 ある時刻丁—〇リ 「のスぺース (3 〇) を 、 異なる時刻丁 _ !_ Xの符号化済みスペースを用いて符号化 (インター予測 ) する。 この場合、 インター予測部 1 3 1 1は、 異なる時刻丁_!_乂の符号 化済みスペースに回転及び並進処理を適用して符号化処理を行う。
[0396] また、 三次元データ符号化装置 1 300は、 異なる時刻丁_!_乂のスぺ一 スに適用した回転及び並進処理に関わる 丁情報をビッ トストリームに付加 する。 異なる時刻丁 _!_乂とは、 例えば、 前記ある時刻丁_〇リ 「より前の 時刻丁_!_ 0である。 このとき、 三次元データ符号化装置 1 300は、 時刻 丁_!_ 0のスぺースに適用した回転及び並進処理に関わる 丁情報 丁_!_ 0をビッ トストリームに付加してもよい。
[0397] または、 異なる時刻丁_!_乂とは、 例えば、 前記ある時刻丁_〇リ 「より 後の時刻丁_1_ 1である。 このとき、 三次元データ符号化装置 1 300は、 時刻丁_!_ 1のスぺースに適用した回転及び並進処理に関わる 丁情報 丁 をビッ トストリームに付加してもよい。
[0398] または、 インター予測部 1 3 1 1は、 異なる時刻丁_!_ 0及び時刻丁_!_
1の両方のスペースを参照して符号化 (双予測) を行う。 この場合には、 三 次元データ符号化装置 1 300は、 それぞれのスペースに適用した回転及び 並進に関わる 8丁情報 丁_!_ 0及び[¾丁_!_ 1の両方をビッ トストリーム に付加してもよい。
[0399] なお、 上記では丁— !_ 0を丁—〇リ 「より前の時刻、 丁_1_ 1 を丁_〇リ 「より後の時刻としたが、 必ずしもこれに限らない。 例えば、 丁 !_ 0と丁 — L 1は共に T— C u rより前の時刻でもよい。 または、 T_L Oと T_L 1は共に T— C u rより後の時刻でもよい。
[0400] また、 三次元データ符号化装置 1 300は、 複数の異なる時刻のスペース を参照して符号化を行う場合には、 それぞれのスペースに適用した回転及び 並進に関わる RT情報をビッ トストリームに付加してもよい。 例えば、 三次 元データ符号化装置 1 300は、 参照する複数の符号化済みスペースを 2つ の参照リスト (L 0リスト及び L 1 リスト) で管理する。 L 0リスト内の第 1の参照スぺースを L O ROとし、 L Oリスト内の第 2の参照スぺースを L 0 R 1 とし、 L 1 リスト内の第 1の参照スペースを L 1 ROとし、 L 1 リス 卜内の第 2の参照スペースを L 1 R 1 とした場合、 三次元データ符号化装置 1 300は、 L 0 R 0の R T情報 R T— L 0 R 0と、 1_〇[¾ 1の[¾丁情報[¾ T L O R 1 と、 L 1 R 0の R T情報 R T L 1 R 0と、 1_ 1 81の[¾丁情 幸 gRT_L 1 R 1 とをビッ トストリームに付加する。 例えば、 三次元データ 符号化装置 1 300は、 これらの RT情報をビッ トストリームのヘッダ等に 付加する。
[0401] また、 三次元データ符号化装置 1 300は、 複数の異なる時刻の参照スぺ —スを参照して符号化を行う場合、 参照スペース毎に回転及び並進を適用す るか否かを判定する。 その際、 三次元データ符号化装置 1 300は、 参照ス ペース毎に回転及び並進を適用したか否かを示す情報 ( R T適用フラグ等) をビッ トストリームのへッダ情報等に付加してもよい。 例えば、 三次元デー 夕符号化装置 1 300は、 符号化対象スペースから参照する参照スペース毎 に I C P ( I n t e r a c t i v e C l o s e s t P o i n t) アルゴ リズムを用いて RT情報、 及び丨 C Pエラー値を算出する。 三次元データ符 号化装置 1 300は、 丨 C Pエラー値が、 予め定められた一定値以下の場合 は、 回転及び並進を行う必要がないと判定して R T適用フラグをオフに設定 する。 一方、 三次元データ符号化装置 1 300は、 丨 C Pエラー値が上記一 定値より大きい場合は、 RT適用フラグをオンに設定し、 RT情報をビッ ト ストリームに付加する。 〇 2020/175708 77 卩(:171? 2020 /008540
[0402] 図 4 6は、
Figure imgf000079_0001
丁情報及び 丁適用フラグをヘッダに付加するシンタックス 例を示す図である。 なお、 各シンタックスに割当てるビッ ト数は、 そのシン タックスが取りうる範囲で決定してもよい。 例えば、 参照リスト 1_ 0内に含 まれる参照スペース数が 8つの場合、
Figure imgf000079_0002
0には 3匕 1 1が割当てられてもよい。 割当てるビッ ト数を、 各シンタックスが取りうる 値に応じて可変にしてもよいし、 取りうる値に関わらず固定にしてもよい。 割り当てるビッ ト数を固定にする場合は、 三次元データ符号化装置 1 3 0 0 は、 その固定ビッ ト数を別のヘッダ情報に付加してもよい。
[0403] ここで、 図 4 6に示す、
Figure imgf000079_0003
丨 0は、 参照リスト !_ 0内 に含まれる参照スペース数を示す。 [¾丁—干 I 3 9 I 0 [丨] は、 参照リ スト !_ 0内の参照スペース Iの 丁適用フラグである。 [¾丁—干 1 3 9 1
0 [丨] が 1の場合、 参照スペース丨 に回転及び並進が適用される。 [¾丁_ 干 丨 3
Figure imgf000079_0004
丨 0 [丨] が 0の場合、 参照スペース丨 に回転及び並進が適用さ れない。
[0404] 丨 0 [ I] 及び丁—丨 0 [丨] は、 参照リスト !_ 0内の参照スぺース
Iの 丁情報である。
Figure imgf000079_0005
丨 0 [丨] は、 参照リスト !_ 0内の参照スぺース 丨の回転情報である。 回転情報は、 適用された回転処理の内容を示し、 例え ば、 回転行列、 又はクォータニオン等である。 丁_丨 0 [丨] は、 参照リス 卜 !_ 0内の参照スペース丨の並進情報である。 並進情報は、 適用された並進 処理の内容を示し、 例えば、 並進ベクトル等である。
[0405]
Figure imgf000079_0006
1は、 参照リスト !_ 1内に含まれる参照スぺース 数を示す。
Figure imgf000079_0007
_ 丨 1 [丨] は、 参照リスト !_ 1内の参照スぺ一 ス Iの 丁適用フラグである。 [¾丁—干 I 3 9 I 1 [丨] が 1の場合、 参 照スペース丨 に回転及び並進が適用される。 [¾丁_† I 3 9 I 1 [丨] が 0の場合、 参照スペース丨 に回転及び並進が適用されない。
[0406] 丨 1 [ I] 及び丁_丨 1 [丨] は、 参照リスト !_ 1内の参照スぺース
Iの 丁情報である。
Figure imgf000079_0008
I 1 [丨] は、 参照リスト !_ 1内の参照スぺース 丨の回転情報である。 回転情報は、 適用された回転処理の内容を示し、 例え ば、 回転行列、 又はクオータニオン等である。 T I 1 [ i ] は、 参照リス 卜 L 1内の参照スペース iの並進情報である。 並進情報は、 適用された並進 処理の内容を示し、 例えば、 並進ベクトル等である。
[0407] インター予測部 1 3 1 1は、 参照スペースメモリ 1 3 1 0に格納された符 号化済みの参照スペースの情報を用いて符号化対象ボリユームの予測ボリユ —ムを生成する。 上述したように、 インター予測部 1 3 1 1は、 符号化対象 ボリユームの予測ボリユームを生成する前に、 符号化対象スペースと参照ス ペースの全体的な位置関係を近づけるために、 符号化対象スペースと参照ス ぺースで I C P ( I n t e r a c t i v e C l o s e s t P o i n t ) アルゴリズムを用いて RT情報を求める。 そして、 インター予測部 1 3 1 1 は、 求めた R T情報を用いて参照スペースに回転及び並進処理を適用するこ とで参照スペース Bを得る。 その後、 インター予測部 1 3 1 1は、 符号化対 象スぺース内の符号化対象ボリユームの予測ボリユームを參照スぺース B内 の情報を用いて生成する。 ここで、 三次元データ符号化装置 1 300は、 参 照スペース Bを得るために用いられた R T情報を符号化対象スペースのへッ ダ情報等に付加する。
[0408] このように、 インター予測部 1 3 1 1は、 参照スペースに回転及び並進処 理を適用することにより符号化対象スぺースと参照スぺースとの全体的な位 置関係を近づけてから、 参照スペースの情報を用いて予測ボリユームを生成 することで予測ボリユームの精度を向上できる。 また、 予測残差を抑制でき るので符号量を削減できる。 なお、 ここでは、 符号化対象スぺースと参照ス ペースとを用いて 丨 C Pを行う例を示したが、 必ずしもこれに限らない。 例 えば、 インター予測部 1 3 1 1は、 処理量を削減するために、 ポクセル又は ポイントクラウド数を間引いた符号化対象スペース、 及び、 ポクセル又はポ イントクラウド数を間引いた参照スぺースの少なくとも一方を用いて 丨 C P を行うことで、 RT情報を求めてもよい。
[0409] また、 インター予測部 1 3 1 1は、 丨 C Pの結果得られる 丨 C Pエラー値 が、 予め定められた第 1閾値より小さい場合、 つまり、 例えば符号化対象ス 〇 2020/175708 79 卩(:171? 2020 /008540
ペースと参照スペースの位置関係が近い場合には、 回転及び並進処理は必要 ないと判断し、 回転及び並進を行わなくてもよい。 この場合、 三次元データ 符号化装置 1 3 0 0は、 [¾丁情報をビッ トストリームに付加しないことによ り才ーバーへッ ドを抑制してもよい。
[0410] また、 インター予測部 1 3 1 1は、 丨 〇 エラー値が、 予め定められた第
2閾値より大きい場合には、 スペース間の形状変化が大きいと判断し、 符号 化対象スぺースの全てのボリュームにイントラ予測を適用してもよい。 以下 、 イントラ予測を適用するスぺースをイントラスペースと呼ぶ。 また、 第 2 閾値は上記第 1閾値より大きい値である。 また、 丨 〇 に限定せず、 2つの ポクセル集合、 又は、 2つのポイントクラウド集合から [¾丁情報を求める方 法であれば、 どのような手法を適用してもよい。
[041 1 ] また、 三次元データに形状又は色等の属性情報が含まれる場合には、 イン 夕一予測部 1 3 1 1は、 符号化対象スペース内の符号化対象ボリュームの予 測ボリュームとして、 例えば参照スペース内で符号化対象ボリュームと最も 形状又は色等の属性情報が近いボリュームを探索する。 また、 この参照スぺ —スは、 例えば、 上述した回転及び並進処理が行われた後の参照スぺースで ある。 インター予測部 1 3 1 1は、 探索により得られたボリューム (参照ボ リューム) から予測ボリュームを生成する。 図 4 7は、 予測ボリュームの生 成動作を説明するための図である。 インター予測部 1 3 1 1は、 図 4 7に示 す符号化対象ボリューム (ボリューム丨 父= 0) を、 インター予測を用い て符号化する場合、 参照スぺース内の参照ボリュームを順にスキャンしなが ら、 符号化対象ボリュームと参照ボリュームとの差分である予測残差が一番 小さいボリュームを探索する。 インター予測部 1 3 1 1は、 予測残差が一番 小さいボリュームを予測ボリュームとして選択する。 符号化対象ボリューム と予測ボリュームとの予測残差が変換部 1 3 0 3以降の処理により符号化さ れる。 ここで、 予測残差とは、 符号化対象ボリュームの属性情報と予測ボリ ュームの属性情報との差分である。 また、 三次元データ符号化装置 1 3 0 0 は、 予測ボリュームとして参照した参照スぺース内の参照ボリュームのボリ 〇 2020/175708 80 卩(:171? 2020 /008540
ューム丨 〇1 Xをビッ トストリームのへッダ等に付加する。
[0412] 図 4 7に示す例では、 参照スぺース
Figure imgf000082_0001
リューム丨 父= 4の参 照ボリュームが符号化対象ボリュームの予測ボリュームとして選択される。 そして、 符号化対象ボリュームと参照ボリュームとの予測残差と、 参照ボリ ューム丨 〇1父= 4とが符号化されてビッ トストリームに付加される。
[0413] なお、 ここでは属性情報の予測ボリュームを生成する例を説明したが、 位 置情報の予測ボリュームについても同様の処理が行われてもよい。
[0414] 予測制御部 1 3 1 2は、 符号化対象ボリュームをイントラ予測、 及びイン 夕一予測のいずれを用いて符号化するかを制御する。 ここで、 イントラ予測 、 及びインター予測を含むモードを予測モードと呼ぶ。 例えば、 予測制御部 1 3 1 2は、 符号化対象ボリュームをイントラ予測で予測した場合の予測残 差と、 インター予測で予測した場合の予測残差とを評価値として算出し、 評 価値が小さい方の予測モードを選択する。 なお、 予測制御部 1 3 1 2は、 イ ントラ予測の予測残差とインター予測の予測残差とに、 それぞれ直交変換、 量子化、 及び、 エントロピー符号化を適用することで実際の符号量を算出し 、 算出した符号量を評価値として予測モードを選択してもよい。 また、 評価 値に予測残差以外のオーバーへッ ド情報 (参照ボリューム丨 X情報など) を加えるようにしてもよい。 また、 予測制御部 1 3 1 2は、 符号化対象スぺ —スをイントラスペースで符号化すると予め決定されている場合には、 常に イントラ予測を選択してもよい。
[0415] エントロピー符号化部 1 3 1 3は、 量子化部 1 3 0 4からの入力である量 子化係数を可変長符号化することにより符号化信号 (符号化ビッ トストリー ム) を生成する。 具体的には、 エントロピー符号化部 1 3 1 3は、 例えば、 量子化係数を二値化し、 得られた二値信号を算術符号化する。
[0416] 次に、 三次元データ符号化装置 1 3 0 0により生成された符号化信号を復 号する三次元データ復号装置について説明する。 図 4 8は、 本実施の形態に 係る三次元データ復号装置 1 4 0 0のブロック図である。 この三次元データ 復号装置 1 4 0 0は、 エントロピー復号部 1 4 0 1 と、 逆量子化部 1 4 0 2 〇 2020/175708 81 卩(:171? 2020 /008540
と、 逆変換部 1 4 0 3と、 加算部 1 4 0 4と、 参照ボリュームメモリ 1 4 0 5と、 イントラ予測部 1 4 0 6と、 参照スペースメモリ 1 4 0 7と、 インタ —予測部 1 4 0 8と、 予測制御部 1 4 0 9とを備える。
[0417] エントロピー復号部 1 4 0 1は、 符号化信号 (符号化ビッ トストリーム) を可変長復号する。 例えば、 エントロピー復号部 1 4 0 1は、 符号化信号を 算術復号して二値信号を生成し、 生成した二値信号から量子化係数を生成す る。
[0418] 逆量子化部 1 4 0 2は、 エントロピー復号部 1 4 0 1から入力された量子 化係数を、 ビッ トストリーム等に付加された量子化パラメータを用いて逆量 子化することで逆量子化係数を生成する。
[0419] 逆変換部 1 4 0 3は、 逆量子化部 1 4 0 2から入力された逆量子化係数を 逆変換することで予測残差を生成する。 例えば、 逆変換部 1 4 0 3は、 逆量 子化係数を、 ビッ トストリームに付加された情報に基づいて逆直交変換する ことで予測残差を生成する。
[0420] 加算部 1 4 0 4は、 逆変換部 1 4 0 3で生成された予測残差と、 イントラ 予測又はインター予測により生成された予測ボリュームとを加算して再構成 ボリュームを生成する。 この再構成ボリュームは、 復号三次元データとして 出力されるとともに、 参照ボリュームメモリ 1 4 0 5、 又は、 参照スぺース メモリ 1 4 0 7に格納される。
[0421 ] イントラ予測部 1 4 0 6は、 参照ボリュームメモリ 1 4 0 5内の参照ボリ ュームとビッ トストリームに付加された情報とを用いてイントラ予測により 予測ボリュームを生成する。 具体的には、 イントラ予測部 1 4 0 6は、 ビッ トストリームに付加された隣接ボリューム情報 (例えばボリューム丨 X) と、 予測モード情報とを取得し、 隣接ボリューム情報で示さる隣接ボリュー ムを用いて、 予測モード情報で示されるモードにより予測ボリュームを生成 する。 なお、 これらの処理の詳細は、 ビッ トストリームに付与された情報が 用いられる点を除き、 上述したイントラ予測部 1 3 0 9による処理と同様で ある。 〇 2020/175708 82 卩(:171? 2020 /008540
[0422] インター予測部 1 4 0 8は、 参照スぺースメモリ 1 4 0 7内の参照スぺ一 スとビッ トストリームに付加された情報とを用いてインター予測により予測 ボリュームを生成する。 具体的には、 インター予測部 1 4 0 8は、 ビッ トス トリームに付加された参照スペース毎の 丁情報を用いて参照スペースに対 して回転及び並進処理を適用し、 適用後の参照スペースを用いて予測ボリュ —ムを生成する。 なお、 参照スぺース毎の 丁適用フラグがビッ トストリー ム内に存在する場合には、 インター予測部 1 4 0 8は、 [¾丁適用フラグに応 じて参照スペースに回転及び並進処理を適用する。 なお、 これらの処理の詳 細は、 ビッ トストリームに付与された情報が用いられる点を除き、 上述した インター予測部 1 3 1 1 による処理と同様である。
[0423] 予測制御部 1 4 0 9は、 復号対象ボリュームをイントラ予測で復号するか 、 インター予測で復号するかを制御する。 例えば、 予測制御部 1 4 0 9は、 ビッ トストリームに付加された、 使用する予測モードを示す情報に応じてイ ントラ予測又はインター予測を選択する。 なお、 予測制御部 1 4 0 9は、 復 号対象スぺースをイントラスペースで復号すると予め決定されている場合は 、 常にイントラ予測を選択してもよい。
[0424] 以下、 本実施の形態の変形例について説明する。 本実施の形態ではスぺ一 ス単位で回転及び並進が適用される例を説明したが、 より細かい単位で回転 及び並進が適用されてもよい。 例えば、 三次元データ符号化装置 1 3 0 0は 、 スぺースをサブスべースに分割し、 サブスべース単位で回転及び並進を適 用してもよい。 この場合、 三次元データ符号化装置 1 3 0 0は、 サブスべ一 ス毎に 丁情報を生成し、 生成した 丁情報をビッ トストリームのヘッダ等 に付加する。 また、 三次元データ符号化装置 1 3 0 0は、 符号化単位である ボリューム単位で回転及び並進を適用してもよい。 この場合、 三次元データ 符号化装置 1 3 0 0は、 符号化ボリューム単位で 丁情報を生成し、 生成し た 8丁情報をビッ トストリームのへッダ等に付加する。 さらに、 上記を組み 合わせてもよい。 つまり、 三次元データ符号化装置 1 3 0 0は、 大きい単位 で回転及び並進を適用し、 その後、 細かい単位で回転及び並進を適用しても 〇 2020/175708 83 卩(:171? 2020 /008540
よい。 例えば、 三次元データ符号化装置 1 3 0 0は、 スペース単位で回転及 び並進を適用し、 得られたスぺースに含まれる複数のボリュームの各々に対 して、 互いに異なる回転及び並進を適用してもよい。
[0425] また、 本実施の形態では参照スペースに回転及び並進を適用する例を説明 したが、 必ずしもこれに限らない。 例えば、 三次元データ符号化装置 1 3 0 0は、 例えば、 スケール処理を適用して三次元データの大きさを変化させて もよい。 また、 三次元データ符号化装置 1 3 0 0は、 回転、 並進及びスケー ルのうち、 いずれか 1つ又は 2つを適用してもよい。 また、 上記のように多 段階で異なる単位で処理を適用する場合には、 各単位に適用される処理の種 類が異なってもよい。 例えば、 スペース単位では回転及び並進が適用され、 ボリューム単位では並進が適用されてもよい。
[0426] なお、 これらの変形例については、 三次元データ復号装置 1 4 0 0に対し ても同様に適用できる。
[0427] 以上のように、 本実施の形態に係る三次元データ符号化装置 1 3 0 0は、 以下の処理を行う。 図 4 8は、 三次元データ符号化装置 1 3 0 0によるイン 夕一予測処理のフローチヤートである。
[0428] まず、 三次元データ符号化装置 1 3 0 0は、 対象三次元データ (例えば符 号化対象スペース) と異なる時刻の参照三次元データ (例えば参照スペース ) に含まれる三次元点の位置情報を用いて予測位置情報 (例えば予測ボリュ —ム) を生成する (3 1 3 0 1) 。 具体的には、 三次元データ符号化装置 1 3 0 0は、 参照三次元データに含まれる三次元点の位置情報に回転及び並進 処理を適用することで予測位置情報を生成する。
[0429] なお、 三次元データ符号化装置 1 3 0 0は、 回転及び並進処理を第 1の単 位 (例えばスペース) で行い、 予測位置情報の生成を第 1の単位より細かい 第 2の単位 (例えばボリューム) で行ってもよい。 例えば、 三次元データ符 号化装置 1 3 0 0は、 回転及び並進処理後の参照スペースに含まれる複数の ボリュームのうち、 符号化対象スぺースに含まれる符号化対象ボリュームと 位置情報の差が最小となるボリュームを探索し、 得られたボリュームを予測 〇 2020/175708 84 卩(:171? 2020 /008540
ボリユームとして用いる。 なお、 三次元データ符号化装置 1 3 0 0は、 回転 及び並進処理と、 予測位置情報の生成とを同一の単位で行ってもよい。
[0430] また、 三次元データ符号化装置 1 3 0 0は、 参照三次元データに含まれる 三次元点の位置情報に第 1の単位 (例えばスペース) で第 1回転及び並進処 理を適用し、 第 1回転及び並進処理により得られた三次元点の位置情報に、 第 1の単位より細かい第 2の単位 (例えばボリユーム) で第 2回転及び並進 処理を適用することで予測位置情報を生成してもよい。
[0431 ] ここで、 三次元点の位置情報及び予測位置情報は、 例えば図 4 1 に示すよ うに、 8分木構造で表現される。 例えば、 三次元点の位置情報及び予測位置 情報は、 8分木構造における深度と幅とのうち、 幅を優先したスキャン順で 表される。 または、 三次元点の位置情報及び予測位置情報は、 8分木構造に おける深度と幅とのうち、 深度を優先したスキャン順で表される。
[0432] また、 図 4 6に示すように、 三次元データ符号化装置 1 3 0 0は、 参照三 次元データに含まれる三次元点の位置情報に回転及び並進処理を適用するか 否かを示す [¾丁適用フラグを符号化する。 つまり、 三次元データ符号化装置 1 3 0 0は、
Figure imgf000086_0001
丁適用フラグを含む符号化信号 (符号化ビッ トストリーム) を生成する。 また、 三次元データ符号化装置 1 3 0 0は、 回転及び並進処理 の内容を示す 丁情報を符号化する。 つまり、 三次元データ符号化装置 1 3 0 0は、 [¾丁情報を含む符号化信号 (符号化ビッ トストリーム) を生成する 。 なお、 三次元データ符号化装置 1 3 0 0は、
Figure imgf000086_0002
丁適用フラグにより回転及 び並進処理を適用することが示される場合に 丁情報を符号化し、
Figure imgf000086_0003
丁適用 フラグにより回転及び並進処理を適用しないことが示される場合に 丁情報 を符号化しなくてもよい。
[0433] また、 三次元データは、 例えば、 三次元点の位置情報と、 各三次元点の属 性情報 (色情報等) とを含む。 三次元データ符号化装置 1 3 0 0は、 参照三 次元データに含まれる三次元点の属性情報を用いて予測属性情報を生成する (3 1 3 0 2) 0
[0434] 次に、 三次元データ符号化装置 1 3 0 0は、 対象三次元データに含まれる 〇 2020/175708 85 卩(:171? 2020 /008540
三次元点の位置情報を、 予測位置情報を用いて符号化する。 例えば、 三次元 データ符号化装置 1 300は、 図 38に示すように対象三次元データに含ま れる三次元点の位置情報と予測位置情報との差分である差分位置情報を算出 する (31 303) 。
[0435] また、 三次元データ符号化装置 1 300は、 対象三次元データに含まれる 三次元点の属性情報を、 予測属性情報を用いて符号化する。 例えば、 三次元 データ符号化装置 1 300は、 対象三次元データに含まれる三次元点の属性 情報と予測属性情報との差分である差分属性情報を算出する (31 304)
。 次に、 三次元データ符号化装置 1 300は、 算出された差分属性情報に変 換及び量子化を行う (31 305) 。
[0436] 最後に、 三次元データ符号化装置 1 300は、 差分位置情報と、 量子化後 の差分属性情報とを符号化 (例えばエントロピー符号化) する (31 306 ) 。 つまり、 三次元データ符号化装置 1 300は、 差分位置情報と差分属性 情報とを含む符号化信号 (符号化ビッ トストリーム) を生成する。
[0437] なお、 三次元データに属性情報が含まれない場合には、 三次元データ符号 化装置 1 300は、 ステップ 31 302、 31 304及び 31 305を行わ なくてもよい。 また、 三次元データ符号化装置 1 300は、 三次元点の位置 情報の符号化と、 三次元点の属性情報の符号化とのうち、 一方のみを行って もよい。
[0438] また、 図 49に示す処理の順序は一例であり、 これに限定されない。 例え ば、 位置情報に対する処理 (31 301、 31 303) と、 属性情報に対す る処理 (31 302、 31 304、 31 305) とは互いに独立しているた め、 任意の順序で行われてもよいし、 一部が並列処理されてもよい。
[0439] 以上により、 本実施の形態に三次元データ符号化装置 1 300は、 対象三 次元データと異なる時刻の参照三次元データに含まれる三次元点の位置情報 を用いて予測位置情報を生成し、 対象三次元データに含まれる三次元点の位 置情報と予測位置情報との差分である差分位置情報を符号化する。 これによ り、 符号化信号のデータ量を削減できるので符号化効率を向上できる。 〇 2020/175708 86 卩(:171? 2020 /008540
[0440] また、 本実施の形態に三次元データ符号化装置 1 3 0 0は、 参照三次元デ —夕に含まれる三次元点の属性情報を用いて予測属性情報を生成し、 対象三 次元データに含まれる三次元点の属性情報と予測属性情報との差分である差 分属性情報を符号化する。 これにより、 符号化信号のデータ量を削減できる ので符号化効率を向上できる。
[0441 ] 例えば、 三次元データ符号化装置 1 3 0 0は、 プロセッサと、 メモリとを 備え、 プロセッサは、 メモリを用いて、 上記の処理を行う。
[0442] 図 4 8は、 三次元データ復号装置 1 4 0 0によるインター予測処理のフロ _チヤ _卜である。
[0443] まず、 三次元データ復号装置 1 4 0 0は、 符号化信号 (符号化ビッ トスト リーム) から、 差分位置情報と差分属性情報とを復号 (例えばエントロピ_ 復号) する (3 1 4 0 1) 。
[0444] また、 三次元データ復号装置 1 4 0 0は、 符号化信号から、 参照三次元デ —夕に含まれる三次元点の位置情報に回転及び並進処理を適用するか否かを 示す 8丁適用フラグを復号する。 また、 三次元データ復号装置 1 4 0 0は、 回転及び並進処理の内容を示す 丁情報を復号する。 なお、 三次元データ復 号装置 1 4 0 0は、
Figure imgf000088_0001
丁適用フラグにより回転及び並進処理を適用すること が示される場合に 丁情報を復号し、
Figure imgf000088_0002
丁適用フラグにより回転及び並進処 理を適用しないことが示される場合に 丁情報を復号しなくてもよい。
[0445] 次に、 三次元データ復号装置 1 4 0 0は、 復号された差分属性情報に逆量 子化及び逆変換を行う (3 1 4 0 2) 。
[0446] 次に、 三次元データ復号装置 1 4 0 0は、 対象三次元データ (例えば復号 対象スペース) と異なる時刻の参照三次元データ (例えば参照スペース) に 含まれる三次元点の位置情報を用いて予測位置情報 (例えば予測ボリユーム ) を生成する (3 1 4 0 3) 。 具体的には、 三次元データ復号装置 1 4 0 0 は、 参照三次元データに含まれる三次元点の位置情報に回転及び並進処理を 適用することで予測位置情報を生成する。
[0447] より具体的には、 三次元データ復号装置 1 4 0 0は、 [¾丁適用フラグによ 〇 2020/175708 87 卩(:171? 2020 /008540
り回転及び並進処理を適用することが示される場合に、
Figure imgf000089_0001
丁情報で示される 参照三次元データに含まれる三次元点の位置情報に回転及び並進処理を適用 する。 一方、
Figure imgf000089_0002
丁適用フラグにより回転及び並進処理を適用しないことが示 される場合には、 三次元データ復号装置 1 4 0 0は、 参照三次元データに含 まれる三次元点の位置情報に回転及び並進処理を適用しない。
[0448] なお、 三次元データ復号装置 1 4 0 0は、 回転及び並進処理を第 1の単位 (例えばスペース) で行い、 予測位置情報の生成を第 1の単位より細かい第 2の単位 (例えばボリューム) で行ってもよい。 なお、 三次元データ復号装 置 1 4 0 0は、 回転及び並進処理と、 予測位置情報の生成とを同一の単位で 行ってもよい。
[0449] また、 三次元データ復号装置 1 4 0 0は、 参照三次元データに含まれる三 次元点の位置情報に第 1の単位 (例えばスペース) で第 1回転及び並進処理 を適用し、 第 1回転及び並進処理により得られた三次元点の位置情報に、 第 1の単位より細かい第 2の単位 (例えばボリューム) で第 2回転及び並進処 理を適用することで予測位置情報を生成してもよい。
[0450] ここで、 三次元点の位置情報及び予測位置情報は、 例えば図 4 1 に示すよ うに、 8分木構造で表現される。 例えば、 三次元点の位置情報及び予測位置 情報は、 8分木構造における深度と幅とのうち、 幅を優先したスキャン順で 表される。 または、 三次元点の位置情報及び予測位置情報は、 8分木構造に おける深度と幅とのうち、 深度を優先したスキャン順で表される。
[0451 ] 三次元データ復号装置 1 4 0 0は、 参照三次元データに含まれる三次元点 の属性情報を用いて予測属性情報を生成する (3 1 4 0 4) 。
[0452] 次に、 三次元データ復号装置 1 4 0 0は、 符号化信号に含まれる符号化位 置情報を予測位置情報を用いて復号することで対象三次元データに含まれる 三次元点の位置情報を復元する。 ここで、 符号化位置情報とは、 例えば、 差 分位置情報であり、 三次元データ復号装置 1 4 0 0は、 差分位置情報と予測 位置情報とを加算することで対象三次元データに含まれる三次元点の位置情 報を復元する (3 1 4 0 5) 。 〇 2020/175708 88 卩(:171? 2020 /008540
[0453] また、 三次元データ復号装置 1 4 0 0は、 符号化信号に含まれる符号化属 性情報を予測属性情報を用いて復号することで対象三次元データに含まれる 三次元点の属性情報を復元する。 ここで、 符号化属性情報とは、 例えば、 差 分属性情報であり、 三次元データ復号装置 1 4 0 0は、 差分属性情報と予測 属性情報とを加算することで対象三次元データに含まれる三次元点の属性情 報を復元する (3 1 4 0 6) 。
[0454] なお、 三次元データに属性情報が含まれない場合には、 三次元データ復号 装置 1 4 0 0は、 ステップ 3 1 4 0 2、 3 1 4 0 4及び 3 1 4 0 6を行わな くてもよい。 また、 三次元データ復号装置 1 4 0 0は、 三次元点の位置情報 の復号と、 三次元点の属性情報の復号とのうち、 一方のみを行ってもよい。
[0455] また、 図 5 0に示す処理の順序は一例であり、 これに限定されない。 例え ば、 位置情報に対する処理 (3 1 4 0 3、 3 1 4 0 5) と、 属性情報に対す る処理 (3 1 4 0 2、 3 1 4 0 4、 3 1 4 0 6) とは互いに独立しているた め、 任意の順序で行われてもよいし、 一部が並列処理されてもよい。
[0456] (実施の形態 8)
三次元点群の情報は、 位置情報 (9 6 0 01 6 1 「ソ) と属性情報 (8 1: r \ b u t &) とを含む。 位置情報は、 ある点を基準とした座標 (X座標、
V座標、 å座標) を含む。 位置情報を符号化する場合は、 各三次元点の座標 を直接符号化する代わりに、 各三次元点の位置を 8分木表現で表現し、 8分 木の情報を符号化することで符号量を削減する方法が用いられる。
[0457] 一方、 属性情報は、 各三次元点の色情報 〇巳、 丫 II Vなど) 、 反射率 、 及び法線べクトルなどを示す情報を含む。 例えば、 三次元データ符号化装 置は、 属性情報を、 位置情報とは別の符号化方法を用いて符号化することが できる。
[0458] 本実施の形態では属性情報の符号化方法について説明する。 なお、 本実施 の形態では属性情報の値として整数値を用いて説明する。 例えば色情報
Figure imgf000090_0001
巳又は丫 II Vの各色成分が 8匕 丨 I精度である場合、 各色成分は〇〜 2 5 5 の整数値をとる。 反射率の値が 1 0 13 丨 1:精度である場合、 反射率の値は 0 〇 2020/175708 89 卩(:171? 2020 /008540
〜 1 0 2 3の整数値をとる。 なお、 三次元データ符号化装置は、 属性情報の ビッ ト精度が小数精度である場合、 属性情報の値が整数値になるように、 当 該値にスケール値を乗じてから整数値に丸めてもよい。 なお、 三次元データ 符号化装置は、 このスケール値をビッ トストリームのヘッダ等に付加しても よい。
[0459] 三次元点の属性情報の符号化方法として、 三次元点の属性情報の予測値を 算出し、 元の属性情報の値と予測値との差分 (予測残差) を符号化すること が考えられる。 例えば、 三次元点 の属性情報の値が八 であり、 予測値が である場合、 三次元データ符号化装置は、 その差分絶対値口 丨 チ チ =
Figure imgf000091_0001
を符号化する。 この場合、 予測値 を高精度に生成するこ とができれば、 差分絶対値口 丨 チ チ の値が小さくなる。 よって、 例えば、 値が小さい程発生ビッ ト数が小さくなる符号化テーブルを用いて差分絶対値 0 丨 干 干 をエントロピー符号化することで符号量を削減することができる
[0460] 属性情報の予測値を生成する方法として、 符号化対象の対象三次元点の周 囲にある別の三次元点である参照三次元点の属性情報を用いることが考えら れる。 ここで参照三次元点とは、 対象三次元点から予め定められた距離範囲 内にある三次元点である。 例えば、 対象三次元点 = (X I , V 1 , 2 1) と三次元点 9 = (X 2 , 7 2 , 2 2) とが存在する場合、 三次元データ符号 化装置は、 (式八 1) に示す三次元点 と三次元点 9とのユークリッ ド距離 ¢1 ( 、 ) を算出する。
[0461 ] [数 1 ]
Figure imgf000091_0002
[0462] 三次元データ符号化装置は、 ユークリッ ド距離 ( 、 9) が予め定めら れた閾値丁 1~1 より小さい場合、 三次元点 qの位置が対象三次元点 の位置 に近いと判定し、 対象三次元点 の属性情報の予測値の生成に三次元点 の 属性情報の値を利用すると判定する。 なお、 距離算出方法は別の方法でもよ く、 例えばマハラノビス距離等が用いられてもよい。 また、 三次元データ符 号化装置は、 対象三次元点から予め定められた距離範囲外の三次元点を予測 処理に用いないと判定してもよい。 例えば、 三次元点 rが存在し、 対象三次 元 Pと三次元点 rとの距離 d ( p、 r) が閾値 T H d以上である場合、 三次 元データ符号化装置は、 三次元点 rを予測に用いないと判定してもよい。 な お、 三次元データ符号化装置は、 閾値 T H dを示す情報を、 ビッ トストリー ムのへッダ等に付加してもよい。
[0463] 図 5 1は、 三次元点の例を示す図である。 この例では、 対象三次元点 pと 三次元点 qとの距離 d (p、 q) が閾値 T H dより小さい。 よって、 三次元 データ符号化装置は、 三次元点 qを対象三次元点 Pの参照三次元点と判定し 、 対象三次元 pの属性情報 A pの予測値 P pの生成に三次元点 qの属性情報 A qの値を利用すると判定する。
[0464] —方、 対象三次元点 pと三次元点 rとの距離 d (p、 r) は、 閾値 T H d 以上である。 よって、 三次元データ符号化装置は、 三次元点 rを対象三次元 点 Pの参照三次元点でないと判定し、 対象三次元点 Pの属性情報 A pの予測 値 P Pの生成に三次元点 rの属性情報 A rの値を利用しないと判定する。
[0465] また、 三次元データ符号化装置は、 対象三次元点の属性情報を予測値を用 いて符号化する場合、 既に属性情報を符号化及び復号済みの三次元点を参照 三次元点として利用する。 同様に、 三次元データ復号装置は、 復号対象の対 象三次元点の属性情報を予測値を用いて復号する場合、 既に属性情報を復号 済みの三次元点を参照三次元点として利用する。 これにより、 符号化時と復 号時とで同一の予測値を生成することができるので、 符号化で生成した三次 元点のビッ トストリームを復号側で正しく復号することができる。
[0466] また、 三次元点の属性情報を符号化する場合に、 三次元点の位置情報を用 いて各三次元点を複数階層に分類してから符号化することが考えられる。 こ こで、 分類した各階層を L o D (L e v e l o f D e t a i l) と呼ぶ 。 L〇 Dの生成方法について図 5 2を用いて説明する。
[0467] まず、 三次元データ符号化装置は、 初期点 a 0を選択し、 L o D Oに割当 〇 2020/175708 91 卩(:171? 2020 /008540
てる。 次に、 三次元データ符号化装置は、 点 30からの距離が 1_〇 0〇の閾 値丁 「 63_1-〇 0 [0] より大きい点 3 1 を抽出し !_〇 00に割当てる 。 次に、 三次元データ符号化装置は、 点 3 1からの距離が !_〇 00の閾値丁 「 63_1-〇 0 [0] より大きい点 32を抽出し 1_〇 00に割当てる。 こ のように、 三次元データ符号化装置は、 1_〇 00内の各点の間の距離が閾値
Figure imgf000093_0001
[0] より大きくなるように 1_〇 00を構成する。
[0468] 次に、 三次元データ符号化装置は、 まだ 1_〇 0が未割当ての点匕 0を選択 し、 1_〇 01 に割当てる。 次に、 三次元データ符号化装置は、 点13〇からの 距離が !_〇 01の閾値丁 「 63_1_〇 0 [1 ] より大きく、 !_〇 0が未割 当ての点匕 1 を抽出し !_〇 01 に割当てる。 次に、 三次元データ符号化装置 は、 点匕 1からの距離が !_〇 01の閾値丁 「 63_1_〇 0 [ 1 ] より大き く、 !_〇 0が未割当ての点匕 2を抽出し !_〇 01 に割当てる。 このように、 三次元データ符号化装置は、 !_〇 01内の各点の間の距離が閾値丁 II 「 63
[1 ] より大きくなるように !_〇 01 を構成する。
[0469] 次に、 三次元データ符号化装置は、 まだ !_〇 0が未割当ての点〇 0を選択 し、 !_〇 02に割当てる。 次に、 三次元データ符号化装置は、 点〇 0からの 距離が !_〇 02の閾値丁 「 63_1_〇 0 [2] より大きく、 1_〇 0が未割 当ての点〇 1 を抽出し 1_〇 02に割当てる。 次に、 三次元データ符号化装置 は、 点〇 1からの距離が !_〇 02の閾値丁 「 63_1_〇 0 [2] より大き く、 1_〇 0が未割当ての点〇 2を抽出し 1_〇 02に割当てる。 このように、 三次元データ符号化装置は、 1_〇 02内の各点の間の距離が閾値丁 II 「 63 _!_〇 0 [2] より大きくなるように 1_〇 02を構成する。 例えば、 図 53 に示すように、 各 1- 0口の閾値丁 1"1 「 65 !_〇 0 [0] 、 丁 1"1 「 65 1_ 〇〇 [ 1 ] 、 及び丁 「 63一 !_〇 0 [2] が設定される。
[0470] また、 三次元データ符号化装置は、 各 !_〇 0の閾値を示す情報を、 ビッ ト ストリームのヘッダ等に付加してもよい。 例えば、 図 53に示す例の場合、 三次元データ符号化装置は、 閾値丁 11 「 63_1_〇 0 [0] 、
Figure imgf000093_0002
1-〇口 [ 1 ] 、 及び丁 「 63 !_〇 0 [2] をヘッダに付加してもよい。 [0471] また、 三次元データ符号化装置は、 L〇 Dの最下層に L〇 Dが未割当ての 三次元点全てを割当ててもよい。 この場合、 三次元データ符号化装置は、 L 〇 Dの最下層の閾値をへッダに付加しないことでへッダの符号量を削減でき る。 例えば、 図 53に示す例の場合、 三次元データ符号化装置は、 閾値 T h r e s L o D [0] と T h r e s L o D [1 ] をヘッダに付加し、 T h r e s _ L o D [2] をヘッダに付加しない。 この場合、 三次元データ復号 装置は、 T h r e s L o D [ 2 ] の値 0と推定してもよい。 また、 三次元 データ符号化装置は、 L〇 Dの階層数をヘッダに付加してもよい。 これによ り、 三次元データ復号装置は、 L〇 Dの階層数を用いて最下層の L〇 Dを判 定できる。
[0472] また、 L〇 Dの各層の閾値の値を図 53に示すように上位層ほど大きく設 定することで、 上位層 (L o DOに近い層) ほど三次元点間の距離が離れた 疎点群 (s p a r s e) となり、 下位層ほど三次元点間の距離が近い密点群 (d e n s e) となる。 なお、 図 53に示す例では、 L o D 0が最上位層で ある。
[0473] また、 各 L〇 Dを設定する際の初期三次元点の選択方法は、 位置情報符号 化時の符号化順に依存してもよい。 例えば、 三次元データ符号化装置は、 L 〇 D 0の初期点 a 0として、 位置情報符号化時に最初に符号化された三次元 点を選択し、 初期点 a 0を基点に、 点 a 1、 点 a 2を選択して L〇 D 0を構 成する。 そして、 三次元データ符号化装置は、 L〇 D 1の初期点 b 0として 、 L o DOに属していない三次元点の中で、 最も早く位置情報が符号化され た三次元点を選択してもよい。 つまり、 三次元データ符号化装置は、 L o D nの初期点 n Oとして、 L〇 D nの上層 (L o DO〜 L o D n _ 1) に属し ていない三次元点の中で、 最も早く位置情報が符号化された三次元点を選択 してもよい。 これにより、 三次元データ復号装置は、 復号時に同様の初期点 選択方法を用いることで、 符号化時と同一の L o Dを構成できるので、 ビッ トストリームを適切に復号できる。 具体的には、 三次元データ復号装置は、
L〇 D nの初期点 n 0として、 L〇 D nの上層に属していない三次元点の中 〇 2020/175708 93 卩(:171? 2020 /008540
で、 最も早く位置情報が復号された三次元点を選択する。
[0474] 以下、 三次元点の属性情報の予測値を、 1_〇 0の情報を用いて生成する手 法について説明する。 例えば、 三次元データ符号化装置は、 !_〇 0 0に含ま れる三次元点から順に符号化する場合、 1_〇 0 1 に含まれる対象三次元点を 、 !_〇 0 0及び !_〇 0 1 に含まれる符号化かつ復号済み (以下、 単に 「符号 化済み」 とも記す) の属性情報を用いて生成する。 このように、 三次元デー 夕符号化装置は、 L o D nに含まれる三次元点の属性情報の予測値を、 !_〇 ( n , < = n ) に含まれる符号化済みの属性情報を用いて生成する。 つまり、 三次元データ符号化装置は、 L〇 0 nに含まれる三次元点の属性情 報の予測値の算出に、 L〇 0 nの下層に含まれる三次元点の属性情報を用い ない。
[0475] 例えば、 三次元データ符号化装置は、 三次元点の属性情報の予測値を、 符 号化対象の対象三次元点の周辺の符号化済みの三次元点のうち、 1\1個以下の 三次元点の属性値の平均を算出することで生成する。 また、 三次元データ符 号化装置は、 1\1の値を、 ビッ トストリームのヘッダ等に付加してもよい。 な お、 三次元データ符号化装置は、 1\1の値を三次元点毎に変更し、 三次元点毎 に 1\!の値を付加してもよい。 これにより、 三次元点毎に適切な 1\1を選択する ことができるので、 予測値の精度を向上できる。 よって、 予測残差を小さく できる。 また、 三次元データ符号化装置は、 1\1の値をビッ トストリームのへ ッダに付加し、 ビッ トストリーム内で 1\!の値を固定してもよい。 これにより 、 三次元点毎に 1\1の値を符号化、 又は復号する必要がなくなるので、 処理量 を削減できる。 また、 三次元データ符号化装置は、 !_〇 0毎に 1\1の値を別々 に符号化してもよい。 これにより !_〇口毎に適切な 1\1を選択することで符号 化効率を向上できる。
[0476] または、 三次元データ符号化装置は、 三次元点の属性情報の予測値を、 周 囲の符号化済みの !\!個の三次元点の属性情報の重み付け平均値により算出し てもよい。 例えば、 三次元データ符号化装置は、 対象三次元点と周囲の 1\1個 の三次元点とのそれぞれの距離情報を用いて重みを算出する。 〇 2020/175708 94 卩(:171? 2020 /008540
[0477] 三次元データ符号化装置は、 1_〇 0毎に 1\1の値を別々に符号化する場合、 例えば 1_〇口の上位層ほど 1\1の値を大きく設定し、 下位層ほど 1\1の値を小さ く設定する。 !_〇 0の上位層では属する三次元点間の距離が離れるため、 の値を大きく設定して複数の周囲の三次元点を選択して平均化することで予 測精度を向上できる可能性がある。 また、 1-〇 0の下位層では属する三次元 点間の距離が近いため、 1\1の値を小さく設定して平均化の処理量を抑えつつ 、 効率的な予測を行うことが可能となる。
[0478] 図 5 4は、 予測値に用いる属性情報の例を示す図である。 上述したように 、 1_〇 0 1\1に含まれる点 の予測値は、
Figure imgf000096_0001
(1\1’ < = 1\1) に含まれ る符号化済みの周囲点 ’ を用いて生成される。 ここで、 周囲点 ’ は、 点 との距離に基づき選択される。 例えば、 図 5 4に示す点匕 2の属性情報の 予測値は、 点 3〇、 3 1、 3 2 , 匕〇、 匕 1の属性情報を用いて生成される 〇
[0479] 上述した 1\!の値に応じて、 選択される周囲点は変化する。 例えば N = 5の 場合は点匕 2の周囲点として 3 0、 3 1、 3 2、 匕〇、 匕 1が選択される。
N = 4の場合は距離情報を元に点 3 0、 3 1、 3 2、 匕 1 を選択される。
[0480] 予測値は、 距離依存の重み付け平均により算出される。 例えば、 図 5 4に 示す例では、 点 3 2の予測値 3 2 は、 (式八 2) 及び (式八 3) に示すよ うに、 点 3 0及び点 3 1の属性情報の重み付け平均により算出される。 なお 、 八 |は点 3 丨の属性情報の値である。
[0481 ] [数 2]
Figure imgf000096_0002
[0482] また、 点匕 2の予測値匕 2 は、 (式八 4) 〜 (式八 6) に示すように、 \¥0 2020/175708 95 卩(:17 2020 /008540
点 3〇、 3 1、 3 2、 匕〇、 匕 1の属性情報の重み付け平均により算出され る。 なお、
Figure imgf000097_0001
丨の属性情報の値である。
[0483] [数 3] 2 = å 。 ¼/¾ x Ai + å 。 X (式八 4)
Figure imgf000097_0002
[0484] また、 三次元データ符号化装置は、 三次元点の属性情報の値と、 周囲点か ら生成した予測値との差分値 (予測残差) を算出し、 算出した予測残差を量 子化してもよい。 例えば、 三次元データ符号化装置は、 予測残差を量子化ス ケール (量子化ステップとも呼ぶ) で除算することで量子化を行う。 この場 合、 量子化スケールが小さいほど量子化によって発生しうる誤差 (量子化誤 差) が小さくなる。 逆に童子化スケ _ルが大きいほど童子化誤差は大きくな る。
[0485] なお、 三次元データ符号化装置は、 使用する量子化スケールを 1_〇 0毎に 変えてもよい。 例えば、 三次元データ符号化装置は、 上位層ほど量子化スケ _ルを小さく し、 下位層ほど量子化スケ _ルを大きくする。 上位層に属する 三次元点の属性情報の値は、 下位層に属する三次元点の属性情報の予測値と して使用される可能性があるため、 上位層の量子化スケールを小さく して上 位層で発生しうる量子化誤差を抑え、 予測値の精度を高めることで符号化効 率を向上できる。 なお、 三次元データ符号化装置は、 !_〇 0毎に使用する量 子化スケールをヘッダ等に付加してもよい。 これにより、 三次元データ復号 装置は、 正しく量子化スケールを復号できるので、 ビッ トストリームを適切 に復号できる。 [0486] また、 三次元データ符号化装置は、 量子化後の予測残差である符号付整数 値 (符号付量子化値) を符号なし整数値 (符号なし量子化値) に変換しても よい。 これにより予測残差をエントロピー符号化する場合に、 負の整数の発 生を考慮する必要がなくなる。 なお、 三次元データ符号化装置は、 必ずしも 符号付整数値を符号なし整数値に変換する必要はなく、 例えば符号ビッ トを 別途エントロピー符号化してもよい。
[0487] 予測残差は、 元の値から予測値を減算することにより算出される。 例えば 、 点 a 2の予測残差 a 2 「は、 (式 A 7) に示すように、 点 a 2の属性情報 の値 A 2から、 点 a 2の予測値 a 2 pを減算することで算出される。 点 b 2の 予測残差 b 2 「は、 (式 A 8) に示すように、 点 b 2の属性情報の値 B2から 、 点 b 2の予測値 b 2 pを減算することで算出される。
[0488] a 2 r=A2— a 2 p (式 A 7)
[0489] b 2 r = B2- b 2 p (式 A 8)
[0490] また、 予測残差は、 Q S (量子化ステップ (Q u a n t i z a t i o n
S t e p) ) で除算されることで量子化される。 例えば、 点 a 2の量子化値 a 2 qは、 (式 A9) により算出される。 点 b 2の量子化値 b 2 qは、 (式 A 1 0) により算出される。 ここで、 QS_L〇 DOは、 L o DO用の QS であり、 QS L o D 1は、 L o D 1用の QSである。 つまり、 L o Dに応 じて Q Sが変更されてもよい。
[0491 ] a 2 q = a 2 r/QS L o DO (式 A9)
[0492] b 2 q = b 2 r/Q S L o D 1 (式 A 1 0)
[0493] また、 三次元データ符号化装置は、 以下のように、 上記量子化値である符 号付整数値を符号なし整数値に変換する。 三次元データ符号化装置は、 符号 付整数値 a 2 qが 0より小さい場合、 符号なし整数値 a 2 uを一 1 _ (2X a 2 q) に設定する。 三次元データ符号化装置は、 符号付整数値 a 2 qが 0 以上の場合、 符号なし整数値 a 2 uを 2 X a 2 qに設定する。
[0494] 同様に、 三次元データ符号化装置は、 符号付整数値 b 2 qが 0より小さい 場合、 符号なし整数値 b 2 uを一 1 _ (2X b 2 q) に設定する。 三次元デ —夕符号化装置は、 符号付整数値 b 2 qが 0以上の場合、 符号なし整数値 b 2 uを 2X b 2 qに設定する。
[0495] また、 三次元データ符号化装置は、 量子化後の予測残差 (符号なし整数値 ) を、 エントロピー符号化によって符号化してもよい。 例えば符号なし整数 値を二値化したうえで、 二値の算術符号化を適用してもよい。
[0496] なお、 この場合、 三次元データ符号化装置は、 予測残差の値に応じて二値 化方法を切替えてもよい。 例えば、 三次元データ符号化装置は、 予測残差 P uが閾値 R_T Hより小さい場合は、 閾値 R_T Hを表現するために必要な 固定ビッ ト数で予測残差 p uを二値化する。 また、 三次元データ符号化装置 は、 予測残差 P uが閾値 R_T H以上の場合は、 閾値 R_T Hの二値化デー 夕と (p u— R— TH) の値を指数ゴロム (E x p o n e n t i a I — Go I 〇 m b ) 等を用いて二値化する。
[0497] 例えば、 三次元データ符号化装置は、 閾値[¾_丁1~1が63であり、 予測残 差 p uが 63より小さい場合は、 予測残差 p uを 6 b i tで二値化する。 ま た、 三次元データ符号化装置は、 予測残差 p uが 63以上である場合は、 閾 値 R T Hの二値データ (1 1 1 1 1 1 ) と (p u— 63) とを指数ゴロム を用いて二値化することで算術符号化を行う。
[0498] より具体的な例では、 三次元データ符号化装置は、 予測残差 p uが 32で ある場合、 6 b i tの二値データ ( 1 00000) を生成し、 このビッ ト列 を算術符号化する。 また、 三次元データ符号化装置は、 予測残差 p uが 66 の場合、 閾値 R_T Hの二値データ ( 1 1 1 1 1 1 ) と値 3 (66-63) を指数ゴロムで表したビッ ト列 (001 00) とを生成し、 このビッ ト列 ( 1 1 1 1 1 1 +001 00) を算術符号化する。
[0499] このように、 三次元データ符号化装置は、 予測残差の大きさに応じて二値 化の方法を切替えることで、 予測残差が大きくなった場合の二値化ビッ ト数 の急激な増加を抑えながら符号化することが可能となる。 なお、 三次元デー 夕符号化装置は、 閾値 R_THをビッ トストリームのヘッダ等に付加しても よい。 [0500] 例えば、 高ビッ トレートで符号化が行われる場合、 つまり、 量子化スケー ルが小さい場合、 量子化誤差が小さく予測精度が高くなり、 結果として予測 残差が大きくならない可能性がある。 よって、 この場合には、 三次元データ 符号化装置は、 閾値 R_THを大きく設定する。 これにより、 閾値 R_TH の二値化データを符号化する可能性が低くなり、 符号化効率が向上する。 逆 に、 低ビッ トレートで符号化が行われる場合、 つまり、 童子化スケ _ルが大 きい場合、 量子化誤差が大きく予測精度が悪くなり、 結果として予測残差が 大きくなる可能性がある。 よって、 この場合には、 三次元データ符号化装置 は、 閾値 R_T Hを小さく設定する。 これにより、 二値化データの急激なビ ッ ト長増加を防ぐことができる。
[0501] また、 三次元データ符号化装置は、 L o D毎に閾値 R_THを切り替え、
L〇 D毎の閾値 R_T Hをヘッダ等に付加してもよい。 つまり、 三次元デー 夕符号化装置は、 L〇 D毎に二値化の方法を切替えてもよい。 例えば、 上位 層では三次元点間の距離が遠いため、 予測精度が悪く結果として予測残差が 大きくなる可能性がある。 よって、 三次元データ符号化装置は、 上位層に対 しては閾値 R_T Hを小さく設定することで二値化データの急激なビッ ト長 増加を防ぐ。 また、 下位層では三次元点間の距離が近いため、 予測精度が高 く結果として予測残差が小さくなる可能性がある。 よって、 三次元データ符 号化装置は、 階層に対しては閾値 R_T Hを大きく設定することで符号化効 率を向上する。
[0502] 図 55は、 指数ゴロム符号の一例を示す図であって、 二値化前の値 (多値 ) と、 二値化後のビッ ト (符号) との関係を示す図である。 なお、 図 55に 示す 0と 1 とを反転させてもよい。
[0503] また、 三次元データ符号化装置は、 予測残差の二値化データに算術符号化 を適用する。 これにより、 符号化効率を向上できる。 なお、 算術符号化の適 用時に、 二値化データのうち、 nビッ トで二値化した部分である nビッ ト符 号 (n - b i t c o d e) と、 指数ゴロムを用いて二値化した部分である 残り符号 ( r e m a i n i n g c o d e) とで、 各ビッ トの 0と 1の出現 〇 2020/175708 99 卩(:171? 2020 /008540
確率の傾向は異なる可能性がある。 よって、 三次元データ符号化装置は、 n ビッ ト符号と残り符号とで、 算術符号化の適用方法を切替えてもよい。
[0504] 例えば、 三次元データ符号化装置は、 nビッ ト符号に対しては、 ビッ ト毎 に異なる符号化テーブル (確率テーブル) を用いて算術符号化を行う。 この 際、 三次元データ符号化装置は、 ビッ ト毎に使用する符号化テーブルの数を 変えてもよい。 例えば、 三次元データ符号化装置は、 〇ビッ ト符号の先頭ビ ッ ト匕 0には 1個の符号化テーブルを用いて算術符号化を行う。 また、 三次 元データ符号化装置は、 次のビッ ト匕 1 に対しては 2個の符号化テーブルを 用いる。 また、 三次元データ符号化装置は、 匕〇の値 (0又は 1) に応じて ビッ ト 13 1の算術符号化に用いる符号化テーブルを切替える。 同様に、 三次 元データ符号化装置は、 更に次のビッ ト匕 2に対しては 4個の符号化テーブ ルを用いる。 また、 三次元データ符号化装置は、 匕 0及び匕 1の値 (0〜 3 ) に応じて、 ビッ ト匕 2の算術符号化に用いる符号化テーブルを切替える。
[0505] このように、 三次元データ符号化装置は、 门ビッ ト符号の各ビッ ト匕 n _
1 を算術符号化する際に、 2 個の符号化テーブルを用いる。 また、 三次元 データ符号化装置は、 匕 n _ 1 より前のビッ トの値 (発生パターン) に応じ て、 使用する符号化テーブルを切替える。 これにより、 三次元データ符号化 装置は、 ビッ ト毎に適切な符号化テーブルを使用できるので、 符号化効率を 向上できる。
[0506] なお、 三次元データ符号化装置は、 各ビッ トで使用する符号化テーブルの 数を削減してもよい。 例えば、 三次元データ符号化装置は、 各ビッ ト b n _
1 を算術符号化する際に、 匕 n _ 1 より前の ビッ ト (m < n _ 1) の値 ( 発生パターン) に応じて 2 個の符号化テーブルを切替えてもよい。 これによ り各ビッ トで使用する符号化テーブルの数を抑えつつ、 符号化効率を向上で きる。 なお、 三次元データ符号化装置は、 各符号化テーブルにおける 0と 1 の発生確率を、 実際に発生した二値化データの値に応じて更新してもよい。 また、 三次元データ符号化装置は、 _部のビッ トの符号化テーブルにおける 0と 1の発生確率を固定化してもよい。 これにより、 発生確率の更新回数を 〇 2020/175708 100 卩(:171? 2020 /008540
抑制できるので処理量を削減できる。
[0507] 例えば、 门ビッ ト符号が匕 0匕 1 匕 2 匕 n - 1である場合、 匕 0用の符 号化テーブルは 1個 (〇丁匕〇) である。 匕 1用の符号化テーブルは 2個 ( 〇丁匕 1 0、 〇丁匕 1 1) である。 また、 匕 0の値 (0〜 1) に応じて使用 する符号化テーブルが切替えられる。 匕 2用の符号化テーブルは、 4個 (〇 7 b 20s 〇丁匕 2 1、 07 b 22s 07 b 23) である。 また、 匕 0及び 13 1の値 (0〜 3) に応じて使用する符号化テーブルが切替えられる。 13 n - 1用の符号化テーブルは 2 "-1個 (C T b n O、 C T b n 1、 、 07 b〇 (211-1— 1) ) である。 また、 1^ 013
Figure imgf000102_0001
(〇〜 11-1— 1) に応じて使用する符号化テーブルを切替えられる。
[0508] なお、 三次元データ符号化装置は、 nビッ ト符号に対しては、 二値化せず に 0~2 1の値を設定する 3 「ソによる算術符号化 (〇1= 2 を適 用してもよい。 また、 三次元データ符号化装置が、 门ビッ ト符号を
Figure imgf000102_0002
Vで算術符号化する場合は、 三次元データ復号装置も 3
Figure imgf000102_0003
の算術復号 により nビッ ト符号を復元してもよい。
[0509] 図 56は、 例えば、 残り符号が指数ゴロム符号の場合の処理を説明するた めの図である。 指数ゴロムを用いて二値化した部分である残り符号は、 図 5 6に示すように 「 6干 丨 X部と 3リ 干 干 丨 X部とを含む。 例えば、 三次元 データ符号化装置は、
Figure imgf000102_0004
丨 X部とで符号化テーブル を切替える。 つまり、 三次元データ符号化装置は、
Figure imgf000102_0005
丨 X部に含まれ る各ビッ トを、 「 6干 丨 X用の符号化テーブルを用いて算術符号化し、 3 リ 干 干 1 X部に含まれる各ビッ トを、 3リ 干 干 1 X用の符号化テーブルを用 いて算術符号化する。
[0510] なお、 三次元データ符号化装置は、 各符号化テーブルにおける 0と 1の発 生確率を、 実際に発生した二値化データの値に応じて更新してもよい。 また は、 三次元データ符号化装置は、 どちらかの符号化テーブルにおける 0と 1 の発生確率を固定化してもよい。 これにより、 発生確率の更新回数を抑制で きるので処理量を削減できる。 例えば、 三次元データ符号化装置は、 「 6 f i x部に対して発生確率を更新し、 s u f f i x部に対して発生確率を固 定化してもよい。
[0511] また、 三次元データ符号化装置は、 量子化後の予測残差を、 逆量子化及び 再構成することで復号し、 復号した予測残差である復号値を符号化対象の三 次元点以降の予測に利用する。 具体的には、 三次元データ符号化装置は、 量 子化後の予測残差 (量子化値) に量子化スケールを乗算することで逆量子化 値を算出し、 逆量子化値と予測値とを加算して復号値 (再構成値) を得る。
[0512] 例えば、 点 a 2の逆量子化値 a 2 i qは、 点 a 2の量子化値 a 2 qを用い て (式 A 1 1) により算出される。 点 b 2の逆量子化値 b 2 i qは、 点 b 2 の量子化値 b 2 qを用いて (式 A 1 2) により算出される。 ここで、 Q S L o DOは、 1_〇 00用の〇3であり、 QS L o D 1は、 L〇 D 1用の Q Sである。 つまり、 L〇 Dに応じて Q Sが変更されてもよい。
[0513] a 2 i q = a 2 q XQS L o D 0 (式 A 1 1)
[0514] b 2 i q = b 2 q XQS L o D 1 (式 A 1 2)
[0515] 例えば、 点 a 2の復号値 a 2 r e cは、 (式 A 1 3) に示すように、 点 a
2の逆量子化値 a 2 i qに、 点 a 2の予測値 a 2 pを加算することで算出さ れる。 点 b 2の復号値 b 2 r e cは、 (式 A 1 4) に示すように、 点 b 2の 逆量子化値 b 2 i qに、 点 b 2の予測値 b 2 pを加算することで算出される 〇
[0516] a 2 r e c = a 2 i q + a 2 p (式 A 1 3)
[0517] b 2 r e c = b 2 i q + b 2 p (式 A 1 4)
[0518] 以下、 本実施の形態に係るビッ トストリームのシンタックス例を説明する 。 図 57は、 本実施の形態に係る属性ヘッダ (a t t r i b u t e _ h e a d e r) のシンタックス例を示す図である。 属性ヘッダは、 属性情報のへッ ダ情報である。 図 57に示すように、 属性ヘッダは、 階層数情報 (N u mL 〇 D) と、 三次元点数情報 (N u m〇 f P〇 i n t [ i ] ) と、 階層閾値 ( T h r e s L o d [ i ] ) と、 周囲点数情報 (N u mN e i g h o r P o i n t [ i ] ) と、 予測閾値 (TH d [ i ] ) と、 量子化スケール (QS [ i ] ) と、 二値化閾値 (R_TH [ i ] ) とを含む。
[0519] 階層数情報 (N u mL o D) は、 用いられる L〇 Dの階層数を示す。
[0520] 三次元点数情報 (N u m〇 f P〇 i n t [ i ] ) は、 階層 i に属する三次 元点の数を示す。 なお、 三次元データ符号化装置は、 三次元点の総数を示す 三次元点総数情報 (A l I N u mO f P o i n t) を別のヘッダに付加して もよい。 この場合、 三次元データ符号化装置は、 最下層に属する三次元点の 数を示す N u mO f P o i n t [N u mL o D— 1 ] をへッダに付加しなく てもよい。 この場合、 三次元データ復号装置は、 (式 A 1 5) により N u m 〇 f P o i n t [N u mL o D- 1 ] を算出できる。 これにより、 ヘッダの 符号量を削減できる。
[0521] [数 4]
NumLoD— 2
NumOfPoint[NumLoD 1] = AllNumOf Point
;、 NumOf Point \J]
=〇
. · · (式 A 15)
[0522] 階層閾値 (T h r e s L o d [ i ] ) は、 階層 iの設定に用いられる閾 値である。 三次元データ符号化装置及び三次元データ復号装置は、 L o D i 内の各点の間の距離が閾値 T h r e s L o D [ i ] より大きくなるように L o D i を構成する。 また、 三次元データ符号化装置は、 T h r e s L o d [N u mL o D— 1 ] (最下層) の値をヘッダに付加しなくてもよい。 こ の場合、 三次元データ復号装置は、 T h r e s L o d [N u mL o D— 1 ] の値を〇と推定する。 これによりヘッダの符号量を削減できる。
[0523] 周囲点数情報 (N u mN e i g h o r P o i n t [ i ] ) は、 階層 i に属 する三次元点の予測値の生成に用いる周囲の点数の上限値を示す。 三次元デ —夕符号化装置は、 周囲の点数 Mが N u mN e i g h o r P o i n t [ i ] に満たない場合 (M<N u mN e i g h o r P o i n t [ i ] ) は、 M個の 周囲の点数を用いて予測値を算出してもよい。 また、 三次元データ符号化装 置は、 各 L o Dで N u mN e i g h o r P o i n t [ i ] の値を分ける必要 がない場合は、 全ての L〇 Dで使用される 1個の周囲点数情報 (N u m N e 〇 2020/175708 103 卩(:171? 2020 /008540
Figure imgf000105_0001
をへッダに付加してもよい。
[0524] 予測閾値 (丁 ! ! [丨] ) は、 階層丨 にて符号化又は復号対象の対象三次 元点の予測に用いる周囲の三次元点と対象三次元点との距離の上限値を示す 。 三次元データ符号化装置及び三次元データ復号装置は、 対象三次元点から の距離が丁1~1 [ I] より離れている三次元点を予測に用いない。 なお、 三 次元データ符号化装置は、 各 L o DでT H d [ I] の値を分ける必要がない 場合は、 全ての !_〇 0で使用される 1個の予測閾値 (丁 1~1 ) をヘッダに付 加してもよい。
[0525] 量子化スケール (〇3 [丨] ) は、 階層丨の量子化及び逆量子化で用いら れる量子化スケ _ルを示す。
[0526] 二値化閾値 ([¾_丁1~1 [丨] ) は、 階層丨 に属する三次元点の予測残差の 二値化方法を切替えるための閾値である。 例えば、 三次元データ符号化装置 は、 予測残差が閾値
Figure imgf000105_0002
より小さい場合は、 固定ビッ ト数で予測残差 リを二値化し、 予測残差が閾値[¾_丁 1~1以上の場合は、 閾値[¾_丁 1~1の二値 化データと ( リー[¾_丁1~1) の値を指数ゴロムを用いて二値化する。 なお 、 各 L o DでR_T H [ I] の値を切替える必要がない場合は、 三次元デー 夕符号化装置は、 全ての !_〇 0で使用される 1個の二値化閾値 ([¾_丁1~1) をヘッダに付加してもよい。
[0527] なお、
Figure imgf000105_0003
[丨] は n b 丨 1:で表せる最大値であってもよい。 例えば
Figure imgf000105_0004
。 また、 三次元データ符号化装置は、 二値化閾値として 1^ 13 丨 1:で表せる最 大値を符号化する代わりに、 ビッ ト数を符号化してもよい。 例えば、 三次元 データ符号化装置は、
Figure imgf000105_0005
[ I ] = 2 5 5の場合は値 8をヘッダに付加してもよい。 また、 三次元データ符 号化装置は、
Figure imgf000105_0006
[丨] を表すビッ ト数の最小値 (最小ビッ ト数) を定 義し、 最小値からの相対ビッ ト数をヘッダに付加してもよい。 例えば、 三次 元データ符号化装置は、 [ I] = 6 3で最小ビッ ト数が 6の場合は 値 0をへッダに付加し、 丁!~1 [丨] = 2 5 5で最小ビッ ト数が 6の場合 は値 2をヘッダに付加してもよい。
[0528] また、 三次元データ符号化装置は、 N u mL o D、 T h r e s_L o d [ i ] 、 N u mN e i g h b o r P o i n t [ i ] 、 TH d [ i ] 、 Q S [ i ] 及び R_TH [ i ] の少なくとも一つをエントロピー符号化してヘッダに 付加してもよい。 例えば、 三次元データ符号化装置は、 各値を二値化して算 術符号化してもよい。 また、 三次元データ符号化装置は、 処理量を抑えるた めに各値を固定長で符号化してもよい。
[0529] また、 三次元データ符号化装置は、 N u mL o D、 T h r e s_L o d [ i ] 、 N u mN e i g h b o r P o i n t [ i ] 、 TH d [ i ] 、 Q S [ i ] 、 及び R_TH [ i ] の少なくとも一つをヘッダに付加しなくてもよい。 例えば、 これらのうちの少なくとも一つの値が、 規格等の p r o f i 丨 e又 は丨 e V e 丨等で規定されてもよい。 これによりヘッダのビッ ト量を削減す ることができる。
[0530] 図 58は、 本実施の形態に係る属性データ (a t t r i b u t e d a t a) のシンタックス例を示す図である。 この属性データは、 複数の三次元点 の属性情報の符号化データを含む。 図 58に示すように属性データは、 nビ ッ ト符号 (n— b i t c o d e) と、 残り符号 ( r e m a i n i n g c 〇 d e ) とを含む。
[0531] nビッ ト符号は (n _ b i t c o d e) は、 属性情報の値の予測残差の 符号化データ又はその一部である。 nビッ ト符号のビッ ト長は R_TH [ i ] の値に依存する。 例えば R_TH [ i ] の示す値が 63の場合、 nビッ ト 符号は 6 b i tであり、 R T H [ i ] の示す値が 255の場合、 nビッ ト 符号は 8 b i tである。
[0532] 残り符号 ( r e m a i n i n g c o d e) は、 属性情報の値の予測残差 の符号化データのうち、 指数ゴロムで符号化された符号化データである。 こ の残り符号は、 nビッ ト符号が R_TH [ i ] と同じ場合に符号化又は復号 される。 また、 三次元データ復号装置は、 nビッ ト符号の値と残り符号の値 を加算して予測残差を復号する。 なお、 nビッ ト符号が R_TH [ i ] と同 〇 2020/175708 105 卩(:171? 2020 /008540
じ値でない場合は、 残り符号は符号化又は復号されなくてもよい。
[0533] 以下、 三次元データ符号化装置における処理の流れを説明する。 図 5 9は 、 三次元データ符号化装置による三次元データ符号化処理のフローチヤート である。
[0534] まず、 三次元データ符号化装置は、 位置情報 (9 6〇 6 1
Figure imgf000107_0001
を符号 化する (3 3 0 0 1) 。 例えば、 三次元データ符号化は、 8分木表現を用い て符号化を行う。
[0535] 三次元データ符号化装置は、 位置情報の符号化後に、 量子化等によって三 次元点の位置が変化した場合に、 変化後の三次元点に元の三次元点の属性情 報を再割り当てする (3 3 0 0 2) 。 例えば、 三次元データ符号化装置は、 位置の変化量に応じて属性情報の値を補間することで再割り当てを行う。 例 えば、 三次元データ符号化装置は、 変化後の三次元位置に近い変化前の三次 元点を 1\1個検出し、 1\1個の三次元点の属性情報の値を重み付け平均する。 例 えば、 三次元データ符号化装置は、 重み付け平均において、 変化後の三次元 位置から各 1\1個の三次元までの距離に基づいて重みを決定する。 そして、 三 次元データ符号化装置は、 重み付け平均により得られた値を変化後の三次元 点の属性情報の値に決定する。 また、 三次元データ符号化装置は、 量子化等 によって 2個以上の三次元点が同一の三次元位置に変化した場合は、 その変 化後の三次元点の属性情報の値として、 変化前の 2個以上の三次元点の属性 情報の平均値を割当ててもよい。
[0536] 次に、 三次元データ符号化装置は、 再割り当て後の属性情報 (八 1 1 「 丨 匕リ 1
Figure imgf000107_0002
を符号化する (3 3 0 0 3) 。 例えば、 三次元データ符号化装置 は、 複数種類の属性情報を符号化する場合は、 複数種類の属性情報を順に符 号化してもよい。 例えば、 三次元データ符号化装置は、 属性情報として、 色 と反射率とを符号化する場合は、 色の符号化結果の後に反射率の符号化結果 を付加したビッ トストリームを生成してもよい。 なお、 ビッ トストリームに 付加される属性情報の複数の符号化結果の順番は、 この順に限らず、 どのよ うな順番でもよい。 〇 2020/175708 106 卩(:171? 2020 /008540
[0537] また、 三次元データ符号化装置は、 ビッ トストリーム内の各属性情報の符 号化データ開始場所を示す情報をへッダ等に付加してもよい。 これにより、 三次元データ復号装置は、 復号が必要な属性情報を選択的に復号できるので 、 復号が不必要な属性情報の復号処理を省略できる。 よって、 三次元データ 復号装置の処理量を削減できる。 また、 三次元データ符号化装置は、 複数種 類の属性情報を並列に符号化し、 符号化結果を 1つのビッ トストリームに統 合してもよい。 これにより、 三次元データ符号化装置は、 高速に複数種類の 属性情報を符号化できる。
[0538] 図 60は、 属性情報符号化処理 (33003) のフローチヤートである。
まず、 三次元データ符号化装置は、 !_〇 0を設定する (3301 1) 。 つま り、 三次元データ符号化装置は、 各三次元点を複数の !_〇 0のいずれかに割 り当てる。
[0539] 次に、 三次元データ符号化装置は、 !_〇 0単位のループを開始する (33
01 2) 。 つまり、 三次元データ符号化装置は、 !_〇 0毎にステップ330 1 3~3302 1の処理を繰り返し行う。
[0540] 次に、 三次元データ符号化装置は、 三次元点単位のループを開始する (3
301 3) 。 つまり、 三次元データ符号化装置は、 三次元点毎にステップ 3 301 4~33020の処理を繰り返し行う。
[0541] まず、 三次元データ符号化装置は、 処理対象の対象三次元点の予測値の算 出に用いる、 対象三次元点の周囲に存在する三次元点である複数の周囲点を 探索する (3301 4) 。 次に、 三次元データ符号化装置は、 複数の周囲点 の属性情報の値の重み付け平均を算出し、 得られた値を予測値 に設定する (3301 5) 。 次に、 三次元データ符号化装置は、 対象三次元点の属性情 報と予測値との差分である予測残差を算出する (3301 6) 。 次に、 三次 元データ符号化装置は、 予測残差を量子化することで量子化値を算出する ( 3301 7) 。 次に、 三次元データ符号化装置は、 量子化値を算術符号化す る (3301 8) 。
[0542] また、 三次元データ符号化装置は、 量子化値を逆量子化することで逆量子 〇 2020/175708 107 卩(:171? 2020 /008540
化値を算出する (3 3 0 1 9) 。 次に、 三次元データ符号化装置は、 逆量子 化値に予測値を加算することで復号値を生成する (3 3 0 2 0) 。 次に、 三 次元データ符号化装置は、 三次元点単位のループを終了する (3 3 0 2 1)
。 また、 三次元データ符号化装置は、 !_〇 0単位のループを終了する (3 3 〇 2 2) 。
[0543] 以下、 上記の三次元データ符号化装置により生成されたビッ トストリーム を復号する三次元データ復号装置における三次元データ復号処理について説 明する。
[0544] 三次元データ復号装置は、 三次元データ符号化装置によって生成されたビ ッ トストリーム内の属性情報の二値化データを、 三次元データ符号化装置と 同様の方法で算術復号することで、 復号された二値化データを生成する。 な お、 三次元データ符号化装置において、 1·!ビッ トで二値化した部分 (11ビッ 卜符号) と、 指数ゴロムを用いて二値化した部分 (残り符号) とで算術符号 化の適用方法を切替えた場合は、 三次元データ復号装置は、 算術復号適用時 に、 それに合わせて復号を行う。
[0545] 例えば、 三次元データ復号装置は、 nビッ ト符号の算術復号方法において 、 ビッ ト毎に異なる符号化テーブル (復号テーブル) を用いて算術復号を行 う。 この際、 三次元データ復号装置は、 ビッ ト毎に使用する符号化テーブル の数を変えてもよい。 例えば、 门ビッ ト符号の先頭ビッ ト匕 0には 1個の符 号化テーブルを用いて算術復号を行う。 また、 三次元データ復号装置は、 次 のビッ ト匕 1 に対しては 2個の符号化テーブルを用いる。 また、 三次元デー 夕復号装置は、 匕〇の値 (0又は 1) に応じてビッ ト匕 1の算術復号に用い る符号化テーブルを切替える。 同様に、 三次元データ復号装置は、 更に次の ビッ ト匕 2に対しては 4個の符号化テーブルを用いる。 また、 三次元データ 復号装置は、 匕〇及び の値 (0〜 3) に応じて、 ビッ ト匕 2の算術復号 に用いる符号化テーブルを切替える。
[0546] このように、 三次元データ復号装置は、 门ビッ ト符号の各ビッ ト匕 n _ 1 を算術復号する際に、 2 " 個の符号化テーブルを用いる。 また、 三次元デー 〇 2020/175708 108 卩(:171? 2020 /008540
夕復号装置は、 匕 n _ 1 より前のビッ トの値 (発生パターン) に応じて、 使 用する符号化テーブルを切替える。 これにより、 三次元データ復号装置は、 ビッ ト毎に適切な符号化テーブルを使用して符号化効率を向上したビッ トス トリームを適切に復号できる。
[0547] なお、 三次元データ復号装置は、 各ビッ トで使用する符号化テーブルの数 を削減してもよい。 例えば、 三次元データ復号装置は、 各ビッ ト匕 n _ 1 を 算術復号する際に、 b n _ 1 より前の ビッ ト (m < n _ 1) の値 (発生パ ターン) に応じて 2 個の符号化テーブルを切替えてもよい。 これにより、 三 次元データ復号装置は、 各ビッ トで使用する符号化テーブルの数を抑えつつ 、 符号化効率を向上したビッ トストリームを適切に復号できる。 なお、 三次 元データ復号装置は、 各符号化テーブルにおける〇と 1の発生確率を、 実際 に発生した二値化データの値に応じて更新してもよい。 また、 三次元データ 復号装置は、 一部のビッ トの符号化テーブルにおける 0と 1の発生確率を固 定化してもよい。 これにより、 発生確率の更新回数を抑制できるので処理量 を削減できる。
[0548] 例えば、 门ビッ ト符号が匕 0匕 1 匕 2 匕 n - 1である場合、 匕 0用の符 号化テーブルは 1個 (〇丁匕〇) である。 匕 1用の符号化テーブルは 2個 ( 〇丁匕 1 0、 〇丁匕 1 1) である。 また、 匕 0の値 (0〜 1) に応じて符号 化テーブルが切替えられる。 匕 2用の符号化テーブルは 4個 (〇丁匕 2 0、 〇丁匕 2 1、 07 b22s 〇丁匕 2 3) である。 また、 匕 0及び匕 1の値 ( 〇〜 3) に応じて符号化テーブルが切替えられる。
Figure imgf000110_0001
_ 1用の符号化テー ブルは、 2 " - 1個 (〇丁匕门〇、 〇丁匕门 1、 07 b n (2 " 1) ) である。 また、
Figure imgf000110_0002
(0〜 2 " - 1 - 1) に応じて符号化テ —ブルが切替えられる。
[0549] 図 6 1は、 例えば、 残り符号が指数ゴロム符号である場合の処理を説明す るための図である。 三次元データ符号化装置が指数ゴロムを用いて二値化し て符号化した部分 (残り符号) は、 図 6 1 に示すように 「 6干 丨 X部と 3 リ 干 チ 丨 X部とを含む。 例えば、 三次元データ復号装置は、 「 6チ 丨 X部 〇 2020/175708 109 卩(:171? 2020 /008540
と 3リ 干 干 丨 X部とで符号化テーブルを切替える。 つまり、 三次元データ復 号装置は、 「 6干 丨 X部に含まれる各ビッ トを、 「 6干 丨 X用の符号化 テーブルを用いて算術復号し、 3リ 干 干 丨 X部に含まれる各ビッ トを、 3リ 干 干 丨 X用の符号化テーブルを用いて算術復号する。
[0550] なお、 三次元データ復号装置は、 各符号化テーブルにおける 0と 1の発生 確率を、 復号時に発生した二値化データの値に応じて更新してもよい。 また は、 三次元データ復号装置は、 どちらかの符号化テーブルにおける 0と 1の 発生確率を固定化してもよい。 これにより、 発生確率の更新回数を抑制でき るので処理量を削減できる。 例えば、 三次元データ復号装置は、 「 6干 丨 X部に対して発生確率を更新し、 3リ チ チ 丨 X部に対して発生確率を固定化 してもよい。
[0551] また、 三次元データ復号装置は、 算術復号した予測残差の二値化データを 、 三次元データ符号化装置で用いられた符号化方法に合わせて多値化するこ とで量子化後の予測残差 (符号なし整数値) を復号する。 三次元データ復号 装置は、 まず nビッ ト符号の二値化データを算術復号することで復号した n ビッ ト符号の値を算出する。 次に、 三次元データ復号装置は、 〇ビッ ト符号 の値と[¾_丁 1~1の値とを比較する。
[0552] 三次元データ復号装置は、 nビッ ト符号の値と[¾_丁 1~1の値とが一致した 場合、 指数ゴロムで符号化されたビッ トが次に存在すると判定し、 指数ゴロ ムで符号化された二値化データである残り符号を算術復号する。 そして、 三 次元データ復号装置は、 復号した残り符号から、 残り符号とその値との関係 を示す逆引きテーブルを用いて残り符号の値を算出する。 図 6 2は、 残り符 号とその値との関係を示す逆引きテーブルの例を示す図である。 次に、 三次 元データ復号装置は、 得られた残り符号の値を[¾_丁 1~1に加算することで多 値化された量子化後の予測残差を得る。
[0553] —方、 三次元データ復号装置は、 nビッ ト符号の値と[¾_丁 1~1の値とが一 致しない ([¾_丁 1~1より値が小さい) 場合、 nビッ ト符号の値をそのまま、 多値化された量子化後の予測残差に決定する。 これにより、 三次元データ復 〇 2020/175708 1 10 卩(:171? 2020 /008540
号装置は、 三次元データ符号化装置で予測残差の値に応じて二値化方法を切 替えて生成したビッ トストリームを適切に復号できる。
[0554] なお、 三次元データ復号装置は、 閾値[¾_丁 1~1がビッ トストリームのへッ ダ等に付加されている場合は、
Figure imgf000112_0001
の値をヘッダから復号し、 復号 した閾値[¾_丁 1~1の値を用いて復号方法を切替えてもよい。 また、 三次元デ —夕復号装置は、 1-〇口毎に閾値[¾_丁 1~1がヘッダ等に付加されている場合 、 1_〇口毎に復号した閾値[¾_丁 1~1を用いて復号方法を切替える。
[0555] 例えば、 閾値[¾_丁 1~1が 6 3であり、 復号した门ビッ ト符号の値が 6 3で ある場合、 三次元データ復号装置は、 残り符号を指数ゴロムにより復号する ことで残り符号の値を得る。 例えば、 図 6 2に示す例では、 残り符号が 0 0 1 0 0であり、 残り符号の値として 3が得られる。 次に、 三次元データ復号 装置は、 閾値[¾_丁1~1の値6 3と、 残り符号の値 3とを加算することで予測 残差の値 6 6を得る。
[0556] また、 復号した nビッ ト符号の値が 3 2である場合、 三次元データ復号装 置は、 nビッ ト符号の値 3 2を予測残差の値に設定する。
[0557] また、 三次元データ復号装置は、 復号した量子化後の予測残差を、 例えば 、 三次元データ符号化装置における処理と逆の処理により、 符号なし整数値 から符号付整数値に変換する。 これにより、 三次元データ復号装置は、 予測 残差をエントロピー符号化する場合に、 負の整数の発生を考慮せずに生成し たビッ トストリームを適切に復号できる。 なお、 三次元データ復号装置は、 必ずしも符号なし整数値を符号付整数値に変換する必要はなく、 例えば符号 ビッ トを別途エントロピー符号化して生成されたビッ トストリームを復号す る場合は、 符号ビッ トを復号してもよい。
[0558] 三次元データ復号装置は、 符号付整数値に変換した量子化後の予測残差を 、 逆量子化及び再構成によって復号することで復号値を生成する。 また、 三 次元データ復号装置は、 生成した復号値を、 復号対象の三次元点以降の予測 に利用する。 具体的には、 三次元データ復号装置は、 量子化後の予測残差に 、 復号した量子化スケールを乗算することで逆量子化値を算出し、 逆量子化 値と予測値とを加算して復号値を得る。
[0559] 復号された符号なし整数値 (符号なし量子化値) は、 以下の処理により符 号付整数値に変換される。 三次元データ復号装置は、 復号された符号なし整 数値 a 2 uの LS B ( l e a s t s i g n i f i c a n t b i t ) が 1 である場合、 符号付整数値 a 2 qを _ ( (a 2 u + 1 ) >>1 ) に設定する 。 三次元データ復号装置は、 符号なし整数値 a 2 uの L S Bが 1でない場合 、 符号付整数値 a 2 qを (a 2 u>>1 ) に設定する。
[0560] 同様に、 三次元データ復号装置は、 復号された符号なし整数値 b 2 uの L
S Bが 1である場合、 符号付整数値 b 2 qを _ ( (b 2 u + 1 ) >>1 ) に 設定する。 三次元データ復号装置は、 符号なし整数値 n 2 uの LS Bが 1で ない場合、 符号付整数値 b 2 qを (b 2 u>>1 ) に設定する。
[0561] また、 三次元データ復号装置による逆量子化及び再構成処理の詳細は、 三 次元データ符号化装置における逆量子化及び再構成処理と同様である。
[0562] 以下、 三次元データ復号装置における処理の流れを説明する。 図 63は、 三次元データ復号装置による三次元データ復号処理のフローチヤートである 。 まず、 三次元データ復号装置は、 ビッ トストリームから位置情報 (g e o me t r y) を復号する (S 303 1 ) 。 例えば、 三次元データ復号装置は 、 8分木表現を用いて復号を行う。
[0563] 次に、 三次元データ復号装置は、 ビッ トストリームから属性情報 (A t t r i b u t e) を復号する (S 3032) 。 例えば、 三次元データ復号装置 は、 複数種類の属性情報を復号する場合は、 複数種類の属性情報を順に復号 してもよい。 例えば、 三次元データ復号装置は、 属性情報として色と反射率 とを復号する場合は、 ビッ トストリームに付加されている順に従い、 色の符 号化結果と反射率の符号化結果とを復号する。 例えば、 ビッ トストリームに おいて、 色の符号化結果の後に反射率の符号化結果が付加されている場合、 三次元データ復号装置は、 色の符号化結果を復号し、 その後に反射率の符号 化結果を復号する。 なお、 三次元データ復号装置は、 ビッ トストリームに付 加される属性情報の符号化結果をどのような順番で復号してもよい。 〇 2020/175708 1 12 卩(:171? 2020 /008540
[0564] また、 三次元データ復号装置は、 ビッ トストリーム内の各属性情報の符号 化データ開始場所を示す情報を、 へッダ等を復号することで取得してもよい 。 これにより、 三次元データ復号装置は、 復号が必要な属性情報を選択的に 復号できるので、 復号が不必要な属性情報の復号処理を省略できる。 よって 、 三次元データ復号装置の処理量を削減できる。 また、 三次元データ復号装 置は、 複数種類の属性情報を並列に復号し、 復号結果を 1つの三次元点群に 統合してもよい。 これにより、 三次元データ復号装置は、 高速に複数種類の 属性情報を復号できる。
[0565] 図 6 4は、 属性情報復号処理 (3 3 0 3 2) のフローチヤートである。 ま ず、 三次元データ復号装置は、 !_〇 0を設定する (3 3 0 4 1) 。 つまり、 三次元データ復号装置は、 復号された位置情報を有する複数の三次元点の各 々を複数の 1-〇 0のいずれかに割り当てる。 例えば、 この割り当て方法は、 三次元データ符号化装置で用いられた割り当て方法と同じ方法である。
[0566] 次に、 三次元データ復号装置は、 1_〇 0単位のループを開始する (3 3 0 4 2) 。 つまり、 三次元データ復号装置は、 1_〇 0毎にステップ 3 3 0 4 3
Figure imgf000114_0001
の処理を繰り返し行う。
[0567] 次に、 三次元データ復号装置は、 三次元点単位のループを開始する (3 3
0 4 3) 。 つまり、 三次元データ復号装置は、 三次元点毎にステップ 3 3 0 4 4 ~ 3 3 0 4 8の処理を繰り返し行う。
[0568] まず、 三次元データ復号装置は、 処理対象の対象三次元点の予測値の算出 に用いる、 対象三次元点の周囲に存在する三次元点である複数の周囲点を探 索する (3 3 0 4 4) 。 次に、 三次元データ復号装置は、 複数の周囲点の属 性情報の値の重み付け平均を算出し、 得られた値を予測値 に設定する (3 3 0 4 5) 。 なお、 これらの処理は三次元データ符号化装置における処理と 同様である。
[0569] 次に、 三次元データ復号装置は、 ビッ トストリームから量子化値を算術復 号する (3 3 0 4 6) 。 また、 三次元データ復号装置は、 復号した量子化値 を逆量子化することで逆量子化値を算出する (3 3 0 4 7) 。 次に、 三次元 データ復号装置は、 逆量子化値に予測値を加算することで復号値を生成する (S 3048) 。 次に、 三次元データ復号装置は、 三次元点単位のループを 終了する (S 3049) 。 また、 三次元データ復号装置は、 L o D単位のル —プを終了する (S 3050) 。
[0570] 次に、 本実施の形態に係る三次元データ符号化装置及び三次元データ復号 装置の構成を説明する。 図 65は、 本実施の形態に係る三次元データ符号化 装置 3000の構成を示すブロック図である。 この三次元データ符号化装置 3000は、 位置情報符号化部 3001 と、 属性情報再割り当て部 3002 と、 属性情報符号化部 3003とを備える。
[0571] 属性情報符号化部 3003は、 入力点群に含まれる複数の三次元点の位置 情報 (g e ome t r y) を符号化する。 属性情報再割り当て部 3002は 、 入力点群に含まれる複数の三次元点の属性情報の値を、 位置情報の符号化 及び復号結果を用いて再割り当てする。 属性情報符号化部 3003は、 再割 り当てされた属性情報 (a t t r i b u t e) を符号化する。 また、 三次元 データ符号化装置 3000は、 符号化された位置情報及び符号化された属性 情報を含むビッ トストリームを生成する。
[0572] 図 66は、 本実施の形態に係る三次元データ復号装置 301 0の構成を示 すブロック図である。 この三次元データ復号装置 301 0は、 位置情報復号 部 301 1 と、 属性情報復号部 301 2とを含む。
[0573] 位置情報復号部 301 1は、 ビッ トストリームから複数の三次元点の位置 情報 (g e ome t r y) を復号する。 属性情報復号部 301 2は、 ビッ ト ストリームから複数の三次元点の属性情報 (a t t r i b u t e) を復号す る。 また、 三次元データ復号装置 301 0は、 復号した位置情報と復号した 属性情報とを結合することで出力点群を生成する。
[0574] 以上のように、 本実施の形態に係る三次元データ符号化装置は、 図 67に 示す処理を行う。 三次元データ符号化装置は、 属性情報を有する三次元点を 符号化する。 まず、 三次元データ符号化装置は、 三次元点の属性情報の予測 値を算出する (S 306 1 ) 。 次に、 三次元データ符号化装置は、 三次元点 〇 2020/175708 1 14 卩(:171? 2020 /008540
の属性情報と、 予測値との差分である予測残差を算出する (3 3 0 6 2) 。 次に、 三次元データ符号化装置は、 予測残差を二値化することで二値データ を生成する (3 3 0 6 3) 。 次に、 三次元データ符号化装置は、 二値データ を算術符号化する (3 3 0 6 4) 。
[0575] これによれば、 三次元データ符号化装置は、 属性情報の予測残差を算出し 、 さらに、 当該予測残差を二値化及び算術符号化することで、 属性情報の符 号化データの符号量を削減できる。
[0576] 例えば、 算術符号化 (3 3 0 6 4) では、 三次元データ符号化装置は、 二 値データのビッ ト毎に異なる符号化テーブルを用いる。 これによれば、 三次 元データ符号化装置は、 符号化効率を向上できる。
[0577] 例えば、 算術符号化 (3 3 0 6 4) では、 二値データの下位ビッ トほど、 使用する符号化テーブルの数が多い。
[0578] 例えば、 算術符号化 (3 3 0 6 4) では、 三次元データ符号化装置は、 二 値データに含まれる対象ビッ トの上位ビッ トの値に応じて、 対象ビッ トの算 術符号化に使用する符号化テーブルを選択する。 これによれば、 三次元デー 夕符号化装置は、 上位ビッ トの値に応じて符号化テーブルを選択できるので 符号化効率を向上できる。
[0579] 例えば、 三次元データ符号化装置は、 二値化 (3 3 0 6 3) では、 予測残 差が閾値 ([¾_丁1~1) より小さい場合、 固定ビッ ト数で予測残差を二値化す ることで二値データを生成し、 予測残差が閾値 ([¾_丁1~1) 以上である場合 、 閾値 ([¾_丁1~1) を示す固定ビッ ト数の第 1符号 (nビッ ト符号) と、 予 測残差から閾値 (8_丁!~1) を減算した値を指数ゴロムで二値化した第 2符 号 (残り符号) とを含む二値データを生成する。 三次元データ符号化装置は 、 算術符号化 (3 3 0 6 4) では、 第 1符号と第 2符号とに異なる算術符号 化方法を用いる。
[0580] これによれば、 三次元データ符号化装置は、 例えば、 第 1符号と第 2符号 との各々に適した算術符号化方法により第 1符号と第 2符号を算術符号化で きるので符号化効率を向上できる。 〇 2020/175708 115 卩(:171? 2020 /008540
[0581] 例えば、 三次元データ符号化装置は、 予測残差を量子化し、 二値化 (33
063) では、 量子化された予測残差を二値化する。 閾値 ([¾_丁1~1) は、 童子化における童子化スケ _ルに応じて変更される。 これによれば、 三次元 データ符号化装置は、 量子化スケールに応じた適切な閾値を用いることがで きるので符号化効率を向上できる。
[0582] 例えば、 第 2符号は、 「 6干 丨 X部と、 3リ 干 干 丨 X部とを含む。 三次 元データ符号化装置は、 算術符号化 (33064) では、 「 6チ 丨 X部と 3リ 干 干 丨 X部とに異なる符号化テーブルを用いる。 これによれば、 三次元 データ符号化装置は、 符号化効率を向上できる。
[0583] 例えば、 三次元データ符号化装置は、 プロセッサと、 メモリとを備え、 プ ロセッサは、 メモリを用いて、 上記の処理を行う。
[0584] また、 本実施の形態に係る三次元データ復号装置は、 図 68に示す処理を 行う。 三次元データ復号装置は、 属性情報を有する三次元点を復号する。 ま ず、 三次元データ復号装置は、 三次元点の属性情報の予測値を算出する (3 307 1 ) 。 次に、 三次元データ復号装置は、 ビッ トストリームに含まれる 符号化データを算術復号することで二値データを生成する (33072) 。 次に、 三次元データ復号装置は、 二値データを多値化することで予測残差を 生成する (33073) 。 次に、 三次元データ復号装置は、 予測値と予測残 差とを加算することで、 三次元点の属性情報の復号値を算出する (3307 4) 。
[0585] これによれば、 三次元データ復号装置は、 属性情報の予測残差を算出し、 さらに、 当該予測残差を二値化及び算術符号化することで生成された属性情 報のビッ トストリームを適切に復号できる。
[0586] 例えば、 算術復号 (33072) では、 三次元データ復号装置は、 二値デ —夕のビッ ト毎に異なる符号化テーブルを用いる。 これによれば、 三次元デ —夕復号装置は、 符号化効率が向上されたビッ トストリームを適切に復号で きる。
[0587] 例えば、 算術復号 (33072) では、 二値データの下位ビッ トほど、 使 〇 2020/175708 1 16 卩(:171? 2020 /008540
用する符号化テーブルの数が多い。
[0588] 例えば、 算術復号 (3 3 0 7 2) では、 三次元データ復号装置は、 二値デ —夕に含まれる対象ビッ トの上位ビッ トの値に応じて、 対象ビッ トの算術復 号に使用する符号化テーブルを選択する。 これによれば、 三次元データ復号 装置は、 符号化効率が向上されたビッ トストリームを適切に復号できる。
[0589] 例えば、 三次元データ復号装置は、 多値化 (3 3 0 7 3) では、 二値デー 夕に含まれる固定ビッ ト数の第 1符号 (门ビッ ト符号) を多値化することで 第 1の値を生成する。 三次元データ復号装置は、 第 1の値が閾値 ([¾_丁1~1 ) より小さい場合、 第 1の値を予測残差に決定し、
Figure imgf000118_0001
丁 ! !) 以上の場合、 二値データに含まれる指数ゴロム符号である第 2符号 (残 り符号) を多値化することで第 2の値を生成し、 第 1の値と第 2の値とを加 算することで予測残差を生成する。 三次元データ復号装置は、 算術復号 (3 3 0 7 2) では、 第 1符号と第 2符号とに異なる算術復号方法を用いる。
[0590] これによれば、 三次元データ復号装置は、 符号化効率が向上されたビッ ト ストリームを適切に復号できる。
[0591 ] 例えば、 三次元データ復号装置は、 予測残差を逆量子化し、 加算 (3 3 0
7 4) では、 予測値と、 逆量子化された予測残差とを加算する。 閾値 ([¾_ 丁 1~1) は、 逆童子化における童子化スケールに応じて変更される。 これによ れば、 三次元データ復号装置は、 符号化効率が向上されたビッ トストリーム を適切に復号できる。
[0592] 例えば、 第 2符号は、 「 6干 丨 X部と、 3リ 干 干 丨 X部とを含む。 三次 元データ復号装置は、 算術復号 (3 3 0 7 2) では、 「 6チ 丨 X部と 3リ 干 干 丨 X部とに異なる符号化テーブルを用いる。 これによれば、 三次元デー 夕復号装置は、 符号化効率が向上されたビッ トストリームを適切に復号でき る。
[0593] 例えば、 三次元データ復号装置は、 プロセッサと、 メモリとを備え、 プロ セッサは、 メモリを用いて、 上記の処理を行う。
[0594] (実施の形態 9) 〇 2020/175708 1 17 卩(:171? 2020 /008540
実施の形態 8とは別の手法で予測値を生成してもよい。 以下では、 符号化 対象の三次元点を第 1三次元点と称し、 その周囲の三次元点を第 2三次元点 と称する場合がある。
[0595] 例えば、 三次元点の属性情報の予測値の生成において、 符号化対象の三次 元点の符号化済みかつ復号済みの周囲の三次元点のうち、 最も距離が近い三 次元点の属性値をそのまま予測値として生成しても構わない。 また、 予測値 の生成では、 予測モード情報 ( 「 6 IV!〇 6) を三次元点毎に付加し、 複数の予測値から 1つの予測値を選択することで予測値を生成できるように しても構わない。 つまり、 例えば、 総数 IV!の予測モードにおいて、 予測モー ド 0に平均値、 予測モード 1 に三次元点八の属性値、 へ 予測モード IV! - 1 に三次元点 の属性値を割り当て、 予測に使用した予測モードを三次元 点毎にビッ トストリームに付加することが考えられる。 このように、 周囲の 三次元点の属性情報の平均が予測値として算出される第 1予測モードを示す 第 1予測モード値は、 周囲の三次元点の属性情報そのものが予測値として算 出される第 2予測モードを示す第 2予測モード値よりも小さくてもよい。 こ こで、 予測モード 0において算出される予測値である 「平均値」 は、 符号化 対象の三次元点の周囲の三次元点の属性値の平均値である。
[0596] 図 6 9は、 実施の形態 9に係る各予測モードにおいて算出される予測値を 示すテーブルの第 1の例を示す図である。 図 7 0は、 実施の形態 9に係る予 測値に用いる属性情報の例を示す図である。 図 7 1は、 実施の形態 9に係る 各予測モードにおいて算出される予測値を示すテーブルの第 2の例を示す図 である。
[0597] 予測モード数1\/1は、 ビッ トストリームに付加されても構わない。 また、 予 測モード数1\/1は、 ビッ トストリームに付加されずに規格の 「〇干 丨 I 6 ,
I 6 V 6 丨等で値が規定されても構わない。 また、 予測モード数1\/1は、 予測 に用いる三次元点数 1\1から算出された値が用いられても構わない。 例えば予 測モード数!\/1は、 1\/1 = + 1 により算出されても構わない。
[0598] なお、 図 6 9に示されるテーブルは、 予測に用いる三次元点数 N = 4、 か 〇 2020/175708 1 18 卩(:171? 2020 /008540
つ、 予測モード数 1\/1 = 5の場合の例である。 点匕 2の属性情報の予測値は、 点 3 0、 3 1、 3 2、 匕 1の属性情報を用いて生成され得る。 複数の予測モ -ドから 1つの予測モードを選択する場合、 点匕 2からの各点 3 0、 3 1、
3 2、 匕 1 までの距離情報を元に、 各点 3 0、 3 1、 3 2、 匕 1の属性値を 予測値として生成する予測モードを選択してもよい。 予測モードは、 符号化 対象の三次元点毎に付加される。 予測値は、 付加された予測モードに応じた 値に応じて算出される。
[0599] 図 7 1 に示されるテーブルは、 図 6 9と同様に、 予測に用いる三次元点数
N = 4、 かつ、 予測モード数 1\/1 = 5の場合の例である。 点 3 2の属性情報の 予測値は、 点 3〇、 3 1の属性情報を用いて生成され得る。 複数の予測モー ドから 1つの予測モードを選択する場合、 点 3 2のからの各店 3 0、 3 1 ま での距離情報を元に、 各点 3 0、 3 1の属性値を予測値として生成する予測 モ_ドを選択してもよい。 予測モ_ドは、 符号化対象の三次元点毎に付加さ れる。 予測値は、 付加された予測モードに応じた値に応じて算出される。
[0600] なお、 上記の点 3 2のように隣接点数、 つまり、 周囲の三次元点数 !\!が4 個に満たない場合、 テーブルにおいて予測値が未割当てである予測モードを
Figure imgf000120_0001
[0601 ] なお、 予測モードの値の割当ては、 符号化対象の三次元点からの距離順で 決定しても構わない。 例えば、 複数の予測モードを示す予測モード値は、 予 測値として用いる属性情報を有する周囲の三次元点までの符号化対象の三次 元点からの距離が近いほど小さい。 図 6 9の例では、 点匕 1、 3 2、 3 1、
3 0の順に符号化対象の三次元点である点匕 2への距離が近いことが示され る。 例えば、 予測値の算出では、 2以上の予測モードのうちの予測モード値 が 「 1」 で示される予測モードにおいて点匕 1の属性情報を予測値として算 出し、 予測モード値が 「2」 で示される予測モードにおいて点 3 2の属性情 報を予測値として算出する。 このように、 点匕 1の属性情報を予測値として 算出する予測モードを示す予測モード値は、 点匕 2からの距離が点匕 1 より も遠い位置にある点 3 2の属性情報を予測値として算出する予測モードを示 〇 2020/175708 1 19 卩(:171? 2020 /008540
す予測モード値よりも小さい。
[0602] これにより、 距離が近いため予測が当たりやすく選ばれやすい可能性のあ る点に小さい予測モード値を割り振ることができ、 予測モード値を符号化す るためのビッ ト数を削減することができる。 また、 符号化対象の三次元点と 同 _の 1-〇口に属する三次元点に優先的に小さい予測モード値を割当てても よい。
[0603] 図 7 2は、 実施の形態 9に係る各予測モードにおいて算出される予測値を 示すテーブルの第 3の例を示す図である。 具体的には、 第 3の例は、 予測値 に用いられる属性情報が周囲の三次元点の色情報 (丫11 ) による値である 場合の例である。 このように、 予測値に用いられる属性情報は、 三次元点の 色を示す色情報であつてもよい。
[0604] 図 7 2に示されるように、 予測モード値が 「0」 で示される予測モードに おいて算出される予測値は、 丫 II V色空間を定義する丫 II Vそれぞれの成分 の平均である。 具体的には、 当該予測値は、 点匕 1、 3 2、 3 1、
Figure imgf000121_0001
にそ れぞれ対応する丫成分の値である丫匕 1、 丫 3 2、 丫 3 1、 丫 3〇の重み付 き平均丫 3 6と、 点匕 1、 3 2 , 3 1、 3 0にそれぞれ対応する II成分の 値である
Figure imgf000121_0002
11 3 2、 11 3 1、 II 3 0の重み付き平均 II 3 V 6と、 点匕 1、 3 2、 3 1、 3 0にそれぞれ対応する V成分の値である V匕 1、 V 3 2 、 3 1、 V 3 0の重み付き平均 V 3 V 6と、 を含む。 また、 予測モード値 が 「1」 〜 「4」 で示される予測モードにおいて算出される予測値は、 それ それ、 周囲の三次元点匕 1、 3 2、 3 1、 3 0の色情報を含む。 色情報は、 丫成分、 リ成分および V成分の値の組み合わせで示される。
[0605] なお、 図 7 2では、 色情報は、 丫 II V色空間で定義される値で示されてい るが、 丫 II V色空間に限らずに、
Figure imgf000121_0003
巳色空間で定義される値で示されても よいし、 他の色空間で定義される値で示されてもよい。
[0606] このように、 予測値の算出では、 予測モードの予測値として、 2以上の平 均または属性情報を算出してもよい。 また、 2以上の平均または属性情報は 、 それぞれ、 色空間を定義する 2以上の成分の値を示していてもよい。 〇 2020/175708 120 卩(:171? 2020 /008540
[0607] なお、 例えば、 図 7 2のテーブルにおいて予測モード値が 「2」 で示され る予測モードが選択された場合、 符号化対象の三次元点の属性値の丫成分、 リ成分および V成分をそれぞれ予測値丫 3 2 , II a 2 , V 3 2として用いて 符号化してもよい。 この場合、 予測モード値としての 「2」 がビッ トストリ —ムに付加される。
[0608] 図 7 3は、 実施の形態 9に係る各予測モードにおいて算出される予測値を 示すテーブルの第 4の例を示す図である。 具体的には、 第 4の例は、 予測値 に用いられる属性情報が周囲の三次元点の反射率情報による値である場合の 例である。 反射率情報は、 例えば、 反射率 を示す情報である。
[0609] 図 7 3に示されるように、 予測モード値が 「0」 で示される予測モードに おいて算出される予測値は、 点 13 1、 3 2 , 3 1、 3 0にそれぞれ対応する 反射率
Figure imgf000122_0002
の重み付き平均
Figure imgf000122_0001
㊀である。 ま た、 予測モード値が 「1」 〜 「4」 で示される予測モードにおいて算出され る予測値は、 それぞれ、 周囲の三次元点 13 1、 3 2、 3 1、
Figure imgf000122_0003
の反射率 1〇 1、
Figure imgf000122_0004
である。
[0610] なお、 例えば、 図 7 3のテーブルにおいて予測モード値が 「3」 で示され る予測モードが選択された場合、 符号化対象の三次元点の属性値の反射率を 予測値 8 3 1 として用いて符号化してもよい。 この場合、 予測モード値とし ての 「3」 がビッ トストリームに付加される。
[061 1 ] 図 7 2および図 7 3で示されるように、 属性情報は、 第 1属性情報と、 第
1属性情報とは異なる種類の第 2属性情報とを含んでいてもよい。 第 1属性 情報は、 例えば、 色情報である。 第 2属性情報は、 例えば、 反射率情報であ る。 予測値の算出では、 第 1属性情報を用いて第 1予測値を算出し、 かつ、 第 2属性情報を用いて第 2予測値を算出してもよい。
[0612] (実施の形態 1 0)
三次元点の属性情報を !-〇口の情報を用いて符号化する別の例として、 !_ 〇口の上位層に含まれる三次元点から順に複数の三次元点を符号化する方法 を説明する。 例えば、 三次元データ符号化装置は、 L〇 0 nに含まれる三次 〇 2020/175708 121 卩(:171? 2020 /008540
元点の属性値 (属性情報) の予測値を算出する場合に、 どの !_〇 0に含まれ る三次元点の属性値を参照してもよいかを、 フラグ等を用いて切替えてもよ い。 例えば、 三次元データ符号化装置は、 符号化対象の対象三次元点と同一 の 1_〇口内の他の三次元点の参照を許可するか否かを示す情報である E n a 13 I 6 ?¾ 6干 6 「 「 1
Figure imgf000123_0001
(同一層参照許可フラグ) を生成 する。 例えば、 巳门 313 I 6 ?¾ 6干 6 「 「 1 门 93311161_〇 0が値 1の場 合は、 同一!-〇口内の参照が許可され、
Figure imgf000123_0002
30161_〇 0が値 0の場合は、 同一 1_〇口内の参照は禁止される。
[0613] 例えば、 三次元データ符号化装置は、 E n a b l e R e f e r r i n g S
30161_〇口に基づいて対象三次元点の周囲の三次元点を選択し、 選択され た周囲の三次元点のうち、 予め定められた 1\1個以下の三次元点の属性値の平 均を算出することで対象三次元点の属性情報の予測値を生成する。 また、 三 次元データ符号化装置は、 1\1の値をビッ トストリームのヘッダ等に付加する 。 なお、 三次元データ符号化装置は、 1\1の値を、 予測値を生成する三次元点 ごとに付加してもよい。 これにより、 予測値を生成する三次元点ごとに適切 な 1\1を選択できるので、 予測値の精度を向上して予測残差を小さくできる。
[0614] または、 三次元データ符号化装置は、 1\1の値をビッ トストリームのヘッダ に付加し、 ビッ トストリーム内で 1\1の値を固定してもよい。 これにより、 三 次元点ごとに 1\1の値を符号化、 又は復号する必要がなくなり、 処理量を削減 できる。
[0615] または、 三次元データ符号化装置は、 !_〇 0毎に 1\1の値を示す情報を別々 に符号化してもよい。 これにより、 !_〇 0毎に適切な 1\1の値を選択すること で符号化効率を向上できる。 なお、 三次元データ符号化装置は、 三次元点の 属性情報の予測値を、 周囲の 1\1個の三次元点の属性情報の重み付け平均値か ら算出してもよい。 例えば、 三次元データ符号化装置は、 対象三次元点と 個の三次元点とのそれぞれの距離情報を用いて重みを算出する。
[0616] このように、 巳门 313 I 6 ?¾ 6干 6 「 「 I 门 93311161_〇 0は、 同一1_ 〇口内の三次元点の参照を許可するか否かを示す情報である。 例えば、 値 1 〇 2020/175708 122 卩(:171? 2020 /008540
は参照可能を示し、 値〇は参照不可を示す。 なお、 値 1の場合、 同一 !_〇 0 内の三次元点のうち、 既に符号化又は復号済みの三次元点が参照可能であっ てもよい。
[0617] 図 74は、 巳门 313 I 6 ?¾ 6干 6 「 「 I 门 93311161_〇 0 = 0の場合の 参照関係の例を示す図である。 1-〇 0 に含まれる点 の予測値は、 1_〇 0
Figure imgf000124_0001
(1\1’ <1\1) に含まれる再構成値 ’ を用いて生成 される。 ここで、 再構成値 ’ とは、 符号化及び復号済みの属性値 (属性情 報) である。 例えば、 距離に基づく隣接点の再構成値 ’ が用いられる。
[0618] また、 図 74に示す例では、 例えば匕 2の予測値は、 3〇、 3 1、 32の 属性値のいずれかを用いて生成される。 匕〇、 匕 1が符号化及び復号済みの 場合でも、 1〇 0、 13 1の参照は禁止される。
[0619] これにより、 三次元点データ符号化装置及び三次元データ復号装置は、 匕
2の予測値を、 匕〇、 匕 1の符号化又は復号処理が完了することを待たずに 生成できる。 つまり、 三次元点データ符号化装置及び三次元データ復号装置 は、 同一 !_〇 0内の複数の三次元点の属性値に対する複数の予測値を並列に 算出できるので処理時間を削減できる。
[0620] 図 75は、 巳门 313 I 6 ?¾ 6干 6 「 「 I 门 93311161_〇 0= 1の場合の 参照関係の例を示す図である。 !_〇 0 に含まれる点 の予測値は、 !_〇 0 !\!と同層又は上層の !_〇 01\1’ (1\1, £1\!) に含まれる再構成値 ’ を用い て生成される。 ここで、 再構成値 ’ とは、 符号化及び復号済みの属性値 ( 属性情報) である。 例えば、 距離に基づく隣接点の再構成値 ’ が用いられ る。
[0621] また、 図 75に示す例では、 例えば匕 2の予測値は、 3〇、 3 1、 32、 b Os b ^の属性値のいずれかを用いて生成される。 つまり、 匕〇、 匕 1が 既に符号化及び復号済みの場合に参照可能である。
[0622] これにより、 三次元データ符号化装置は、 匕 2の予測値を、 多くの隣接三 次元点の属性情報を用いて生成できる。 よって、 予測精度が向上し、 符号化 効率が改善する。 〇 2020/175708 123 卩(:171? 2020 /008540
[0623] 以下、 三次元点の属性情報の予測値生成に用いる 1\1個の三次元点を選択す る際に、 その探索回数を制限する手法について説明する。 これにより、 処理 量を削減できる。
[0624] 例えば、 363 1^〇 111\1リ 111 ?〇 丨
Figure imgf000125_0001
(探索点数情報) が定義される。
Figure imgf000125_0002
!-〇口内の三次元点群から予測に用いる 1\1個の三次元点を選択する際の探索回数を示す。 例えば、 三次元データ符号 化装置は、 !-〇口に含まれる計丁個の三次元点から 363 1^〇[1 |\1リ 111 ? 0 1 门 1で示される数と同一の個数の三次元点を選択し、 選択した三次元点の 中から予測に用いる 1\]個の三次元点を選択してもよい。 これにより、 三次元 データ符号化装置は、 1-〇 0に含まれる丁個全ての三次元点を探索する必要 がなくなるので、 処理量を削減できる。
[0625] なお、 三次元データ符号化装置は、 S e a r c h N u m P o i n tの値の 選択方法を、 参照する 1_〇 0の位置に応じて切替えてもよい。 例を下記に示 す。
[0626] 例えば、 三次元データ符号化装置は、 参照する 1_〇 0である参照 1_〇 0が 対象三次元点の属する 1_〇 0より上位階層である場合、 参照 1_〇 0に含まれ る三次元点のうち対象三次元点に距離が最も近い三次元点 を探索する。 次 に、 三次元データ符号化装置は、 三次元点八の前後に隣接する 363 「〇 II リ 〇 丨 门 1:で示される数の三次元点を選択する。 これにより、 三次元 データ符号化装置は、 対象三次元点に距離が近い上位層の三次元点を効率よ く探索できるので予測効率を向上できる。
[0627] 例えば、 三次元データ符号化装置は、 参照 !_〇 0が対象三次元点の属する
!_〇口と同一層である場合、 対象三次元点よりも先に符号化及び復号された S e a r c h N u m P o i n tで示される数の三次元点を選択する。 例えば 、 三次元データ符号化装置は、 対象三次元点の直前に符号化及び復号された
Figure imgf000125_0003
门 で示される数の三次元点を選択する。
[0628] これにより、 三次元データ符号化装置は、 低処理量で 363 「〇 1\1リ
Figure imgf000125_0004
〇 丨 n 1:で示される数の三次元点を選択できる。 なお、 三次元データ符号 〇 2020/175708 124 卩(:171? 2020 /008540
化装置は、 対象三次元点より先に符号化及び復号された三次元点の中から対 象三次元点に距離が近い三次元点巳を選択し、 三次元点巳の前後に隣接する 363
Figure imgf000126_0001
で示される数の三次元点を選択してもよい。 これにより、 三次元データ符号化装置は、 対象三次元点に距離が近い同一層 の三次元点を効率よく探索できるので予測効率を向上できる。
[0629] また、 三次元データ符号化装置は、 363 「〇 リ 〇 丨 n tで示さ れる数の三次元点から予測に利用する 1\1個の三次元点を選択する際に、 例え ば、 対象三次元点に距離が近い上位 1\1個の三次元点を選択してもよい。 これ により予測精度を向上できるので符号化効率を改善できる。
[0630] なお、 363 「〇 1"11\1リ 111 ?〇 1 1^ 1:を !_〇口毎に用意し、 !_〇口毎に探 索回数を変えてもよい。 図 76は、 !_〇 0毎に探索回数を設定する例を示す 図である。 例えば、 図 76のように、 !_〇 00用の 368 「〇 1"11\1リ 111 ?〇
[1_〇 00] =3と1_〇 01用の363 「〇 111\1リ 111 ?〇 1 门 1: [1_ 〇 01 ] =2とが定義される。 このように、 !_〇 0毎に探索回数を切替える ことで処理量と符号化効率とのバランスをとることができる。
[0631] 図 76に示す例では、 匕 2の予測に用いる三次元点として、 !_〇 00から
30, 3 1及び 32が選択され、 !_〇 01から匕 0及び匕 1が選択される。 選択された 30、 3 1、 32、 匕 0及び匕 1の中から 1\1個の三次元点が選択 され、 選択された 1\1個の三次元点を用いて予測値が生成される。
[0632] また、 !_〇 01\1に含まれる点 の予測値は、 !_〇 01\1と同層又は上層の !_
(1\1’ £1\!) に含まれる再構成値 ’ を用いて生成される。 ここで 、 再構成値 とは、 符号化及び復号済みの属性値 (属性情報) である。 例 えば、 距離に基づく隣接点の再構成値 が用いられる。
[0633] また、 S e a r c h N u m P o i n tは、 全ての !_〇口の探索回数の総数 を示してもよい。 例えば、 363 「〇 1"11\1リ 111 ?〇 1 1^ =5である場合に おいて、 1_〇 00で 3回探索が行われた場合には、 !_〇 01では残りの 2回 探索可能である。 これにより、 探索回数のワースト回数を保障できるので、 処理時間を安定化できる。 〇 2020/175708 125 卩(:171? 2020 /008540
[0634] 三次元データ符号化装置は、 363 1^〇 111\1リ 111 ?〇 丨
Figure imgf000127_0001
をヘッダ等に 付加してもよい。 これにより、 三次元データ復号装置は、 ヘッダから 363 r c h N u m P o i n tを復号することで、 三次元データ符号化装置と同一 の予測値を生成でき、 ビッ トストリームを適切に復号できる。 また、 363 r c h N u m P o I n tは必ずしもヘッダに付加される必要はなく、 例えば 、
Figure imgf000127_0002
の値が規格等のプロファイル ( 「〇干 1 I 6) 又はレベル (丨 6 6 丨) 等で規定されてもよい。 これにより、 へッ ダのビッ ト量を削減できる。
[0635] L〇 0 nに含まれる三次元点の属性値の予測値を算出する場合に、 下記巳 门 313 I 6 ?¾ 6干 6 「㊀门〇㊀し〇口を定義してもよい。 これにより、 三次 元データ符号化装置及び三次元データ復号装置は、 E n a b l e R e f e r 6 n〇 6 L〇 0 (参照許可層情報) を参照して、 どの !_〇 0に含まれる三次 元点の属性値を参照してよいかを判定できる。
Figure imgf000127_0003
する場合に、 対象三次元点が!-〇 0 (11—巳 1^ 31〇 1 6 [¾ 6干 6 「 61106 1_〇 0) 以上の階層の三次元点を参照することを許可するか否かを示す情報 である。 例えば、 巳门 313 I 6 ?¾ 6干 6 「 6门〇 61_〇 0 = 0であれば、 1_ 〇 0 n及び 1_〇 0 nよりも上位階層に含まれる三次元点の参照が許可される 。 巳门 313 1 6 [¾ 6干 6 「 611〇 61_〇 0= 1であれば、 !_〇口门一 1以上 の上位階層に含まれる三次元点の参照が許可される。 また、 E n a b 丨
Figure imgf000127_0004
㊀干㊀ 「 61^〇 6 !_〇 0 = 2であれば、
Figure imgf000127_0005
に含ま れる三次元点の参照が許可される。 このように
Figure imgf000127_0006
丨 6 ?¾ 6干 6 「 611 〇 e L o Dの設定値に応じて参照可能な 1_〇 0の階層を設定できるので、 並 列処理可能な階層を制御することで符号化効率と処理時間とのバランスをと ることが可能となる。 なお、 各層に含まれる既に符号化又は復号済みの三次 元点が参照可能であつてもよい。
[0637] 図 77は、 巳 11313 1 6 [¾ 6干 6 「 611〇 61_〇 0 = 0の場合の参照関係 を示す図である。 図 77に示すように、 例えば の予測値は、 30, 3 1 〇 2020/175708 126 卩(:171? 2020 /008540
、 32、 匕〇、 匕 1、 匕 2、 〇 0, 〇 1の属性値のぃずれかを用ぃて生成さ れる。 各三次元点は既に符号化又は復号済みの場合に参照可能であってもよ ぃ。 これにより、 〇 2の予測値が、 より多くの隣接三次元点の属性情報を用 ぃて生成されるため、 予測精度を向上し、 符号化効率を改善できる。
[0638] 図 78は、 巳 11313 1 6 [¾ 6干 6 「 611〇 61_〇 0= 1の場合の参照関係 を示す図である。 図 78に示すように、 例えば〇 2の予測値は、 30, 3 1 、 2、 1〇 0、 1〇 1、 匕 2の属性値のぃずれかを用ぃて生成される。 〇 0、
〇 1は符号化又は復号済みでも参照が禁止される。 これにより、 三次元デー 夕符号化装置及び三次元データ復号装置は、 〇 2の予測値を〇 0、 〇 1の符 号化又は復号処理が完了することを待たずに生成できる。 つまり、 三次元デ —夕符号化装置及び三次元データ復号装置は、 同一 !_〇 0内の三次元点の属 性値に対する予測値を並列に算出できるので、 処理時間を削減できる。
[0639] 図 79は、 巳 11313 1 6 [¾ 6干 6 「 611〇 61_〇 0 = 2の場合の参照関係 を示す図である。 図 79に示すように、 例えば〇 2の予測値は、 30, 3 1 、 32の属性値のぃずれかを用ぃて生成される。 〇 0、 〇 1 , 1〇 0、 1〇 1、 匕 2は符号化又は復号済みでも参照が禁止される。 これにより、 三次元デー 夕符号化装置及び三次元データ復号装置は、 〇 2の予測値を〇 0、 〇 1、 匕 0、 匕 1、 匕 2の符号化又は復号処理が完了することを待たずに生成できる 。 つまり、 三次元データ符号化装置及び三次元データ復号装置は、 1_〇 01 と !_〇口 2の三次元点の属性値に対する予測値を並列に算出できるので、 処 理時間を削減できる。
[0640] 図 80は、 本実施の形態に係る属性情報ヘッダ
Figure imgf000128_0001
63 ¢16 「) のシンタックス例を示す図である。 属性情報ヘッダは属性情報 のヘッダ情報である。 図 80に示すように、 属性情報ヘッダは、 同一層参照 許可フラグ (巳门 313 I 6 ?¾ 6干 6 「 「 1 门 93311161_〇 0) と、 階層数 情報 (1\1リ 011_〇 0) と、 探索点数情報
Figure imgf000128_0002
[ 彳 ] ) と、 周囲点数情報 (1\1リ 111 6 1 911 |30 「?〇 1 |1 1 ] ) とを 含む。 〇 2020/175708 127 卩(:171? 2020 /008540
[0641] 巳 11313 1 6[¾ 6干 6 「 「 1 |193311161_〇 0は、 対象三次元点と同一 の 1-〇 0内の三次元点の参照を許可するか否かを示す情報である。 例えば、 値 1は参照可能を示し、 値〇は参照不可 (参照禁止) を示す。 なお、 値 1の 場合、 同一 !_〇 0内の三次元点のうち、 既に符号化又は復号済みの三次元点 が参照可能であってもよぃ。
Figure imgf000129_0001
用ぃられる !_〇 0の階層数を 示す。
[0642] S e a r c h N u m P o i n t [丨] は、 丨番目の !_〇口内の三次元点群 から予測に用ぃる 1\1個の三次元点を選択する際の探索回数を示す。 例えば、 三次元データ符号化装置は、 !-〇口に含まれる計丁個の三次元点から 363 r c h N u m P o i n tで示される数と同一の個数の三次元点を選択し、 選 択した三次元点の中から予測に用ぃる 1\1個の三次元点を選択してもよぃ。 こ れにより、 三次元データ符号化装置は、 1_〇 0に含まれる丁個全ての三次元 点を探索する必要がなくなるので、 処理量を削減できる。
[0643]
Figure imgf000129_0002
] は、 階層彳 に属する三次元点の 予測値の生成に用ぃる周囲の点数の上限値 1\1を示す。 三次元データ符号化装 置は、 周囲の三次元点の数1\/1が リ 01 6 丨 911 |3〇 「?〇 丨 11 1 [丨] に 満たなぃ場合
Figure imgf000129_0003
[彳] ) は、 IV!個の 周囲の三次元点を用ぃて予測値を算出してもよぃ。 また、 三次元データ符号 化装置は、
Figure imgf000129_0004
[ I] の値を分け る必要がなぃ場合は、 全ての! _
Figure imgf000129_0005
911匕 〇 「 〇 1 门 をへッダに付加してもよぃ。
[0644] 三次元データ符号化装置は、 巳门 3 13 I 6 ?¾ 6 干 6 「 「 1 门 93311161_ 〇口、
Figure imgf000129_0006
1^ 1:を、 エントロピー符号化してへッ ダに付加してもよぃ。 例えば、 三次元データ符号化装置は、 各値を二値化し たうえで算術符号化する。 また、 三次元データ符号化装置は、 処理量を抑え るために固定長で符号化を行ってもよぃ。
[0645] また、
Figure imgf000129_0007
及び 33 a r〇
!\1リ
Figure imgf000129_0008
〇 丨 n 1:は、 必ずしもヘッダに付加される必要はなく、 例えば規 〇 2020/175708 128 卩(:171? 2020 /008540
格等のプロファイル又はレベル等でこれらの値が規定されてもよい。 これに よりへッダのビッ ト量を削減できる。
[0646] また、 三次元データ符号化装置は、
Figure imgf000130_0001
1^ 933 01㊀ 1_〇口、 及び 363 「。 1"11\1リ 111 ?〇 1 门 1:を、
Figure imgf000130_0002
39〇又はボ リユーム単位で切替えるために、 \ZVL D、 3 〇又はボリユームのヘッダに 付加してもよい。 また、 三次元データ符号化装置は、 階層に応じて同一階層 の参照を許可するか否かを示す情報をビッ トストリームに付加し、 階層に応 じて同一階層の参照を許可するか否かを切り替えてもよい。
[0647] 属性値の符号化方式によって
Figure imgf000130_0003
〇口の設定値に制約が設けられてもよい。 例えば、 !_〇 0の下位層内に含ま れる三次元点の属性値の予測残差を一旦すべて算出し、 その予測残差を上位 層にフィードバックして符号化するような符号化方式!-が用いられる場合、 同一層に含まれる三次元点は符号化又は復号処理が完了していないため予測 値の生成に参照できない。 このような符号化方式!-を用いる場合は、 º 〇 a 13 I 6 ?¾ 6干 6 「 「 1 门 93311161_〇 0の値を 0に制約してもよい。 また 、 そのような符号化方式!-を用いた場合に
Figure imgf000130_0004
330161_〇 0の値が 1であれば、 三次元データ復号装置は、 規格のコンフ 才ーマンスエラーであると判断してもよい。
[0648] また、 三次元データ符号化装置は、 符号化方式!-で符号化が行われたか否 かを示す情報をビッ トストリームに付加し、 符号化方式!-で符号化が行われ なかった場合に巳门 313 I 6 ?¾ 6干 6 「 「 I 门 93311161_〇 0の値をビッ トストリームに付加し、 符号化方式!-で符号化が行われた場合は巳 813 I 6 ?¾ 6干 6 「 「 1
Figure imgf000130_0005
をビッ トストリームに付加しなくても よい。 これにより三次元データ復号装置は、 符号化方式!-で符号化が行われ たか否かを示す情報をヘッダから復号することで、 E n a b l e R e f e r 「 1 n g S ame L o 0がビッ トストリームに付加されているか否かを判断 でき、 ビッ トストリームを正しく復号できる。 なお、 符号化方式!-で符号化 が行われていない場合は、 三次元データ復号装置はヘッダの巳 n 36 I 6 R 〇 2020/175708 129 卩(:171? 2020 /008540
e f e r r i n g S ame L o口を復号し、 符号化方式!-で符号化が行われ た場合は、 巳门 313 I 6 ?¾ 6干 6 「 「 1 门 93311161_〇 0の値を 0と推定 してもよい。
[0649] なお、 三次元データ符号化装置は、 巳 1^ 31〇 丨 6 [¾ 6干 6 「 「 丨 1^ 933 01㊀ 1_〇口をヘッダに付加しなくてもよい。 この場合、 三次元データ復号装 置は、 処理対象のビッ トストリームが符号化方式!-で符号化が行われたビッ トストリームである場合は巳门 313 I 6 ?¾ 6干 6 「 「 1 门 9 3 3 111 6 1_ 〇 0 の値を 0と推定し、 そうでなければ巳门 313 I 6 ?¾ 6干 6 「 「 1 1^ 933111 61- 00の値を 1 と推定して復号処理を行ってもよい。
[0650] 図 8 1は、 本実施の形態に係る属性情報ヘッダ
Figure imgf000131_0001
㊀ 3 ¢1㊀ 「) の別のシンタックス例を示す図である。 図 81 に示す属性情報 ヘッダは、 図 80に示す属性情報ヘッダに対して、 同一層参照許可フラグ ( 巳门 313 I 6 ?¾ 6干 6 「 「 I 门 9 3 3 111 6 1_ 〇 0) の代わりに、 参照許可層
Figure imgf000131_0002
を含む。 なお、 他の情報の 意味は図 80と同様である。
Figure imgf000131_0003
する場合に、 !_〇 0 (门一巳门 313 1 6 [¾ 6干 6 「 6门〇 61_〇 0) 以上の 階層の三次元点の参照を許可するか否かを示す情報である。 例えば、 E n a 13 I 6 ?¾ 6干 6 「㊀门〇㊀し〇〇二〇であれば、 1_〇口门及び 1_〇口门より も位階層に含まれる三次元点の参照が許可される。
Figure imgf000131_0004
6门〇 61_〇 0= 1であれば、 L〇 0 n - 1以上の上位階層に含まれる三次 元点の参照が許可される。 また、 巳 11313 1 6 [¾ 6干 6 「 611〇 61_〇 0 = 2であれば、 L〇 0 n - 2以上の上位階層に含まれる三次元点の参照が許可 される。 このように巳门 13 I 6 ?¾ 6干 6 「㊀门〇㊀し〇口の設定値に応じ て参照可能な 1-〇口の階層を設定できるので、 並列処理可能な階層を制御す ることで符号化効率と処理時間とのバランスをとることが可能となる。 なお 、 各層に含まれる既に符号化又は復号済みの三次元点が参照可能であっても よい。 〇 2020/175708 130 卩(:171? 2020 /008540
[0652] 三次元データ符号化装置は、 E n a b 丨 e R e f e r e n c e L o D、 及
Figure imgf000132_0001
1^ 1:を、 エントロピー符号化してへッダに付加 してもよい。 例えば、 三次元データ符号化装置は、 各値を二値化したうえで 算術符号化する。 また、 三次元データ符号化装置は、 処理量を抑えるために 固定長で符号化を行ってもよい。
[0653] また、 巳 11313 1 6 [¾ 6干 6 「 611〇 61_〇 0、 及び 363^ 「。 1"1 |\1リ 111 〇 丨 门 1:は、 必ずしもヘッダに付加される必要はなく、 例えば規格等のプ ロファイル又はレベル等でこれらの値が規定されてもよい。 これによりへッ ダのビッ ト量を削減できる。
[0654] また、 三次元データ符号化装置は、
Figure imgf000132_0002
口、
Figure imgf000132_0003
39〇又はボリューム 単位で切替えるために、 \Z\ZL D、 3 (3又はボリュームのヘッダに付加して もよい。
[0655] 属性値の符号化方式によって巳 11313 I 6 ?¾ 6干 6 「 61^ 061- 0口の設 定値に制約が設けられてもよい。 例えば、 上述した符号化方式!-を用いる場 合は、 巳门 313 I 6 ?¾ 6干 6 「㊀门〇㊀し〇口の値は 1以上に制約されても よい。 また、 符号化方式!-を用いた場合に巳 11313 I 6 ?¾ 6干 6 「 61106 !_〇 0の値が 0であれば、 三次元データ復号装置は、 規格のコンフォーマン スエラーであると判断してもよい。
[0656] 図 82は、 本実施の形態に係る三次元データ符号化処理のフローチヤート である。 まず、 三次元データ符号化装置は、 位置情報 (9600^61 「 7) を符号化する (36901) 。 例えば、 三次元データ符号化装置は、 8分木 表現を用いて符号化を行う。
[0657] 次に、 三次元データ符号化装置は、 属性情報を変換する (36902) 。
例えば、 三次元データ符号化装置は、 位置情報の符号化後に、 量子化等によ って三次元点の位置が変化した場合に、 変化後の三次元点に元の三次元点の 属性情報を再割当てする。 なお、 三次元データ符号化装置は、 位置の変化量 に応じて属性情報の値を補間して再割当てを行ってもよい。 例えば、 三次元 〇 2020/175708 131 卩(:171? 2020 /008540
データ符号化装置は、 変化後の三次元位置に近い変化前の三次元点を 1\1個検 出し、 1\1個の三次元点の属性情報の値を、 変化後の三次元位置から各 1\1個の 三次元までの距離に基づいて重み付け平均し、 得られた値を変化後の三次元 点の属性情報の値に設定する。 また、 三次元データ符号化装置は、 量子化等 によって 2個以上の三次元点が同一の三次元位置に変化した場合は、 その変 化後の属性情報の値として、 変化前の 2個以上の三次元点における属性情報 の平均値を割当ててもよい。
[0658] 次に、 三次元データ符号化装置は、 属性情報を符号化する (3 6 9 0 3)
。 例えば、 三次元データ符号化装置は、 複数の属性情報を符号化する場合は 、 複数の属性情報を順に符号化してもよい。 例えば、 三次元データ符号化装 置は、 属性情報として、 色と反射率を符号化する場合は、 色の符号化結果の 後に反射率の符号化結果を付加したビッ トストリームを生成する。 なお、 ビ ッ トストリームに付加される属性情報の複数の符号化結果はどのような順番 でもよい。
[0659] また、 三次元データ符号化装置は、 ビッ トストリーム内の各属性情報の符 号化データの開始場所を示す情報をヘッダ等に付加してもよい。 これにより 、 三次元データ復号装置は、 復号が必要な属性情報を選択的に復号できるの で、 復号が不必要な属性情報の復号処理を省略できる。 よって、 三次元デー 夕復号装置の処理量を削減できる。 また、 三次元データ符号化装置は、 複数 の属性情報を並列に符号化し、 符号化結果を 1つのビッ トストリームに統合 してもよい。 これにより、 三次元データ符号化装置は、 高速に複数の属性情 報を符号化できる。
[0660] 図 8 3は、 属性情報符号化処理 (3 6 9 0 3) のフローチヤートである。
まず、 三次元データ符号化装置は、 !_〇 0を設定する (3 6 9 1 1) 。 つま り、 三次元データ符号化装置は、 各三次元点を複数の !_〇 0のいずれかに割 り当てる。
[0661 ] 次に、 三次元データ符号化装置は、 !_〇 0単位のループを開始する (3 6
9 1 2) 。 つまり、 三次元データ符号化装置は、 !_〇 0毎にステップ 3 6 9 〇 2020/175708 132 卩(:171? 2020 /008540
Figure imgf000134_0001
の処理を繰り返し行う。
[0662] 次に、 三次元データ符号化装置は、 三次元点単位のループを開始する (3
69 1 3) 。 つまり、 三次元データ符号化装置は、 三次元点毎にステップ 3 69 1 4~36920の処理を繰り返し行う。
[0663] まず、 三次元データ符号化装置は、 処理対象の対象三次元点の予測値の算 出に用いる、 対象三次元点の周囲に存在する三次元点である複数の周囲点を 探索する (369 1 4) 。 次に、 三次元データ符号化装置は、 複数の周囲点 の属性情報の値の重み付け平均を算出し、 得られた値を予測値 に設定する (369 1 5) 。 次に、 三次元データ符号化装置は、 対象三次元点の属性情 報と予測値との差分である予測残差を算出する (369 1 6) 。 次に、 三次 元データ符号化装置は、 予測残差を量子化することで量子化値を算出する ( 369 1 7) 。 次に、 三次元データ符号化装置は、 量子化値を算術符号化す る (369 1 8) 。
[0664] また、 三次元データ符号化装置は、 量子化値を逆量子化することで逆量子 化値を算出する (369 1 9) 。 次に、 三次元データ符号化装置は、 逆量子 化値に予測値を加算することで復号値を生成する (36920) 。 次に、 三 次元データ符号化装置は、 三次元点単位のループを終了する (3692 1)
。 また、 三次元データ符号化装置は、 !_〇 0単位のループを終了する (36 922) 0
[0665] 図 84は、 本実施の形態に係る三次元データ復号処理のフローチヤートで ある。 まず、 三次元データ復号装置は、 ビッ トストリームから位置情報 (9 6〇 67) を復号する (3693 1) 。 例えば、 三次元データ復号装 置は、 8分木表現を用いて復号を行う。
[0666] 次に、 三次元データ復号装置は、 ビッ トストリームから属性情報を復号す る (36932) 。 例えば、 三次元データ復号装置は、 複数の属性情報を復 号する場合は、 複数の属性情報を順に復号してもよい。 例えば、 三次元デー 夕復号装置は、 属性情報として、 色と反射率を復号する場合は、 ビッ トスト リームに付加されている順に従い、 色の符号化結果、 及び反射率の符号化結 〇 2020/175708 133 卩(:171? 2020 /008540
果を復号する。 例えば、 ビッ トストリームにおいて、 色の符号化結果の後に 、 反射率の符号化結果が付加されている場合、 三次元データ復号装置は、 色 の符号化結果を復号し、 その後に反射率の符号化結果を復号する。 なお、 三 次元データ復号装置は、 ビッ トストリームに付加される属性情報の符号化結 果をどのような順番で復号してもよい。
[0667] また、 三次元データ復号装置は、 ビッ トストリーム内の各属性情報の符号 化データの開始場所を示す情報をへッダ等を復号することで取得してもよい 。 これにより、 三次元データ復号装置は、 復号が必要な属性情報を選択的に 復号できるので、 復号が不必要な属性情報の復号処理を省略できる。 よって 、 三次元データ復号装置の処理量を削減できる。 また、 三次元データ復号装 置は、 複数の属性情報を並列に復号し、 復号結果を 1つの三次元点群に統合 してもよい。 これにより、 三次元データ復号装置は、 高速に複数の属性情報 を復号できる。
[0668] 図 8 5は、 属性情報復号処理 (3 6 9 3 2) のフローチヤートである。 ま ず、 三次元データ復号装置は、 !_〇 0を設定する (3 6 9 4 1) 。 つまり、 三次元データ復号装置は、 復号された位置情報を有する複数の三次元点の各 々を複数の 1-〇 0のいずれかに割り当てる。 例えば、 この割り当て方法は、 三次元データ符号化装置で用いられた割り当て方法と同じ方法である。
[0669] 次に、 三次元データ復号装置は、 1_〇 0単位のループを開始する (3 6 9 4 2) 。 つまり、 三次元データ復号装置は、 1_〇 0毎にステップ 3 6 9 4 3
Figure imgf000135_0001
の処理を繰り返し行う。
[0670] 次に、 三次元データ復号装置は、 三次元点単位のループを開始する (3 6
9 4 3) 。 つまり、 三次元データ復号装置は、 三次元点毎にステップ 3 6 9 4 4 ~ 3 6 9 4 8の処理を繰り返し行う。
[0671 ] まず、 三次元データ復号装置は、 処理対象の対象三次元点の予測値の算出 に用いる、 対象三次元点の周囲に存在する三次元点である複数の周囲点を探 索する (3 6 9 4 4) 。 次に、 三次元データ復号装置は、 複数の周囲点の属 性情報の値の重み付け平均を算出し、 得られた値を予測値 に設定する (3 〇 2020/175708 134 卩(:171? 2020 /008540
6945) 。 なお、 これらの処理は三次元データ符号化装置における処理と 同様である。
[0672] 次に、 三次元データ復号装置は、 ビッ トストリームから量子化値を算術復 号する (36946) 。 また、 三次元データ復号装置は、 復号した量子化値 を逆量子化することで逆量子化値を算出する (36947) 。 次に、 三次元 データ復号装置は、 逆量子化値に予測値を加算することで復号値を生成する (36948) 。 次に、 三次元データ復号装置は、 三次元点単位のループを 終了する (36949) 。 また、 三次元データ復号装置は、 !_〇 0単位のル —プを終了する (36950) 。
[0673] 図 86は、 周囲点探索処理 (369 1 4) のフローチヤートである。 まず 、 三次元データ符号化装置は、 対象三次元点が属する層よりも上位の !_〇 0 層に含まれる 363 「〇 1"11\1リ 111 ?〇 丨
Figure imgf000136_0001
[上位!-〇 0] 個の三次元点を 選択し、 選択した三次元点から予測値生成用の 1\1個の三次元点を算出する ( 3696 1) 。 次に、 三次元データ符号化装置は、 E n a b l e R e f e r 「 I 门 93311161_〇 0が 1であるかを判定する (36962) 。 巳门 匕 I 6 ?¾ 6干 6 「 「 I 门 93311161_〇 0が 1である場合 (36962で丫㊀ 3) 、 三次元データ符号化装置は、 対象三次元点が属する層と同一の !_〇 0 層に含まれる 363 「〇["1 |\1リ 111 ? 0 1
Figure imgf000136_0002
[同一 1_〇口] 個の三次元点を 選択し、 予測値生成用の 1\1個の三次元点を更新する (36963) 。 例えば 、 三次元データ符号化装置は、 ステップ3696 1で選択した 363 「〇 II 1\1リ〇! 〇 丨
Figure imgf000136_0003
[上位!-〇 0] 個の三次元点と、 ステップ 6963で選 択した 368 「〇 111\1リ 111 ?〇 1
Figure imgf000136_0004
[同一 1_〇口] 個の三次元点とから 個の三次元点を算出する。
[0674] —方、
Figure imgf000136_0005
である場合 (
36962で N 0) 、 ステップ 3696 1で選択された 個の三次元点がそ のまま用いられる。
[0675] 図 87は、 周囲点探索処理 (369 1 4) の別の例を示すフローチヤート である。 まず、 三次元データ符号化装置は、
Figure imgf000136_0006
〇 2020/175708 135 卩(:171? 2020 /008540
933016 !_〇 0が 1であるかを判定する (3697 1) 。
Figure imgf000137_0001
㊀干㊀ 「 「 1 门 93311161_〇 0が 1である場合 (3697 1で丫63) 、 三次元データ符号化装置は、 対象三次元点が属する層と同一の !_〇 0層に含 まれる 363 「〇[1 |\1リ 111 ? 0 1
Figure imgf000137_0002
[同一 1_〇口] 個の三次元点を選択し 、 選択した三次元点から予測値生成用の 1\1個の三次元点を算出する (369 72) 。 次に、 三次元データ符号化装置は、 対象三次元点が属する層よりも 上位の 1_〇口層に含まれる 363 「。 1"11\1リ 111 ?〇 1 门 [上位!-〇口] 個 の三次元点を選択し、 予測値生成用の 1\1個の三次元点を更新する (3697 3) 。 例えば、 三次元データ符号化装置は、 ステップ 36972で選択した 363 「〇 1"11\1リ 111 ?〇 1
Figure imgf000137_0003
[同一 1_〇口] 個の三次元点と、 ステッブ 6973で選択した 368 「〇 1"11\1リ 111 ?〇 1
Figure imgf000137_0004
[上位 1_〇口] 個の三次 元点とから 1\1個の三次元点を算出する。
[0676] —方、
Figure imgf000137_0005
である場合 (
3697 1で 1\1〇) 、 三次元データ符号化装置は、 対象三次元点が属する層 よりも上位の !_〇口層に含まれる 363 「〇 1"11\1リ 111 ?〇 1
Figure imgf000137_0006
[上位 1_〇 〇] 個の三次元点を選択し、 選択した三次元点から予測値生成用の 1\1個の三 次元点を算出する (36973) 。
[0677] 図 88は、 周囲点探索処理 (369 1 4) の別の例を示すフローチヤート である。 まず、 三次元データ符号化装置は、 !_〇 0 (n— E n a b 丨 e Re 干㊀ 「㊀门〇㊀し〇〇) 以上の階層に含まれる 363 「。["1 |\1リ 111 ? 0 1 门 I個の三次元点を選択し、 選択した三次元点から予測値生成用の 1\1個の三次 元点を算出する (36981) 。
[0678] なお、 三次元データ復号装置における周囲点探索処理 (36944) も三 次元データ符号化装置における周囲点探索処理 (369 1 4) と同様である
[0679] 以上のように、 本実施の形態に係る三次元データ符号化装置は、 図 89に 示す処理を行う。 三次元データ符号化装置は、 点群データに含まれる複数の 三次元点を、 複数の三次元点の位置情報に基づき複数の階層 (例えば !_〇 0 〇 2020/175708 136 卩(:171? 2020 /008540
) に分類する (3 6 9 9 1) 。 次に、 三次元データ符号化装置は、 複数の三 次元点に含まれる処理対象の三次元点に対して、 処理対象の三次元点と同じ 階層に属する他の三次元点の属性情報を参照することを許可するか否かを示 す第 1情報 (例えば巳 11 3 13 I 6 ?¾ 6干 6 「 「 1
Figure imgf000138_0001
を生 成する (3 6 9 9 2) 。 次に、 三次元データ符号化装置は、 第 1情報に従い 、 他の三次元点の属性情報を参照し、 又は参照せず、 処理対象の三次元点の 属性情報を符号化することでビッ トストリームを生成する (3 6 9 9 3) 。 このビッ トストリームは、 第 1情報を含む。
[0680] 例えば、 三次元データ符号化装置は、 第 1情報により同じ階層に属する他 の三次元点の属性情報を参照することが許可されていることが示される場合 、 処理対象の三次元点と同じ階層に属する三次元点を参照して、 処理対象の 三次元点の属性情報を符号化し、 第 1情報により同じ階層に属する他の三次 元点の属性情報を参照することが許可されていないこと (禁止されているこ と) が示される場合、 処理対象の三次元点と同じ階層に属する三次元点を参 照せずに、 処理対象の三次元点の属性情報を符号化する。 また、 三次元点を 参照するとは、 例えば、 予測値の生成に三次元点を用いることである。 この 場合、 処理対象の三次元点の属性情報と予測値の差分値 (予測残差) が算出 され、 算出された差分値が符号化 (例えば量子化及びエントロピー符号化) される。
[0681 ] これによれば、 当該三次元データ符号化装置は、 同一階層の他の三次元点 を参照するか否かを切り替えることができるので、 適切に符号化を行える。
[0682] 例えば、 三次元データ符号化装置は、 第 1情報により他の三次元点の属性 情報を参照することが許可されていることが示される場合、 処理対象の三次 元点と同じ階層に属する三次元点のうち、 符号化済みの三次元点の属性情報 を参照して、 処理対象の三次元点の属性情報を符号化する。
[0683] 例えば、 三次元データ符号化装置は、 処理対象の三次元点の属性情報の符 号化では、 第 1情報に関わらず、 処理対象の三次元点が属する階層よりも上 位の階層に属する三次元点の属性情報を参照して、 処理対象の三次元点の属 〇 2020/175708 137 卩(:171? 2020 /008540
性情報を符号化する。
[0684] 例えば、 三次元データ符号化装置は、 プロセッサと、 メモリとを備え、 プ ロセッサは、 メモリを用いて、 上記の処理を行う。
[0685] また、 本実施の形態に係る三次元データ復号装置は、 図 9 0に示す処理を 行う。 三次元データ復号装置は、 点群データに含まれる複数の三次元点を、 複数の三次元点の位置情報に基づき複数の階層 (例えば !_〇 0) に分類する (3 6 9 9 5) 。 次に、 三次元データ復号装置は、 ビッ トストリームから、 複数の三次元点に含まれる処理対象の三次元点に対して、 処理対象の三次元 点と同じ階層に属する他の三次元点の属性情報を参照することを許可するか 否かを示す第 1情報 (例えば巳 11 3 13 I 6 ?¾ 6干 6 「 「 1
Figure imgf000139_0001
〇) を取得する (3 6 9 9 6) 。 次に、 三次元データ復号装置は、 第 1情報 に従い、 他の三次元点の属性情報を参照し、 又は参照せず、 ビッ トストリー ムから、 処理対象の三次元点の属性情報を復号する (3 6 9 9 7) 。
[0686] 例えば、 三次元データ復号装置は、 第 1情報により同じ階層に属する他の 三次元点の属性情報を参照することが許可されていることが示される場合、 処理対象の三次元点と同じ階層に属する三次元点を参照して、 処理対象の三 次元点の属性情報を復号し、 第 1情報により同じ階層に属する他の三次元点 の属性情報を参照することが許可されていないこと (禁止されていること) が示される場合、 処理対象の三次元点と同じ階層に属する三次元点を参照せ ずに、 処理対象の三次元点の属性情報を復号する。 また、 三次元点を参照す るとは、 例えば、 予測値の生成に三次元点を用いることである。 この場合、 三次元データ復号装置は、 処理対象の三次元点の属性情報と予測値の差分値 (予測残差) をビッ トストリームから復号 (例えばエントロピー復号及び逆 量子化) し、 得られた差分値に予測値を加算することで属性情報を復元する
[0687] これによれば、 当該三次元データ復号装置は、 第 1情報に基づき、 同一階 層の他の三次元点を参照するか否かを切り替えることができる。 よって、 当 該三次元データ復号装置は、 適切に符号化が行われることで生成されたビッ 〇 2020/175708 138 卩(:171? 2020 /008540
トストリームを復号できる。
[0688] 例えば、 三次元データ復号装置は、 第 1情報により他の三次元点の属性情 報を参照することが許可されていることが示される場合、 処理対象の三次元 点と同じ階層に属する三次元点のうち、 復号済みの三次元点の属性情報を参 照して、 処理対象の三次元点の属性情報を復号する。
[0689] 例えば、 三次元データ復号装置は、 処理対象の三次元点の属性情報の復号 では、 第 1情報に関わらず、 処理対象の三次元点が属する階層よりも上位の 階層に属する三次元点の属性情報を参照して、 処理対象の三次元点の属性情 報を復号する。
[0690] 例えば、 三次元データ復号装置は、 プロセッサと、 メモリとを備え、 プロ セッサは、 メモリを用いて、 上記の処理を行う。
[0691 ] (実施の形態 1 1)
三次元点の属性情報を予測して符号化する別の例として、 予測に用いる 個の三次元点を効率よく選択する方法について説明する。
[0692] 例えば、 まず、 三次元データ符号化装置は、 L o D nに含まれる符号化対 象の第 1三次元点の属性情報の予測値を算出するために用いる 1\1個の第 2三 次元点であって、 符号化対象の三次元点の周囲の 1\1個の第 2三次元点の候補 を選択する。 この場合、 三次元データ符号化装置は、 参照可能な全ての第 2 三次元点のそれぞれと、 符号化対象の第 1三次元点との間の距離等の評価値 を算出することで、 評価値の順 (評価値が高い順、 または、 評価値が低い順 ) に 1\1個の第 2三次元点を選択することが考えられる。 なお、 属性情報の予 測値を算出するために用いる 1\]個の三次元点の候補のことを予測値生成用の 三次元点候補とも呼ぶことがある。
[0693] また、 三次元データ符号化装置は、 第 1三次元点と全ての第 2三次元点の それぞれとの間の距離を算出する代わりに、 全ての第 2三次元点を複数の集 合に分割し、 分割した集合毎に集合単位の評価値を算出してもよい。 つまり 、 この場合、 三次元データ符号化装置は、 集合毎に、 1つの集合に対する 1 つの評価値を算出する。 そして、 三次元データ符号化装置は、 集合毎に算出 〇 2020/175708 139 卩(:171? 2020 /008540
した評価値がある条件を満たした場合に、 ある条件を満たした集合に含まれ る全ての複数の第 2三次元点のそれぞれと第 1三次元点との間の距離を算出 することが考えられる。 これにより、 三次元データ符号化装置は、 評価値が ある条件を満たさない集合に含まれる複数の第 2三次元点のそれそれと第 1 三次元点との間の距離の算出を省略することができるため、 全ての参照可能 な三次元点との間の距離を符号化対象三次元点毎に算出する必要がなくなり 、 処理量を削減できる。
[0694] 以下、 同一 !_〇口階層の参照可能な複数の第 2三次元点から予測値生成用 の 1\1個の三次元点の候補を選択する例を、 図 9 1 を用いて説明する。 図 9 1 は、 1\1個の三次元点を選択する方法について説明するための図である。
[0695] まず、 三次元データ符号化装置は、 実施の形態 8 (例えば図 5 1〜図 5 3 を用いた説明) のような方法にて、 !_〇 0を生成する。 図 9 1では、 !_〇 0 で生成される複数階層のうち !_〇 0 n階層の三次元点匕 0 ~匕 4 7が示され ている。 なお、 三次元データ符号化装置は、 入力された三次元点を、 例えば モートンコードを用いて昇順に並べ替えてから !_〇口を生成してもよい。 こ れにより、 比較的距離が近い三次元点をまとめて符号化することができ、 属 性情報の予測精度を向上させることができるため、 符号化効率を改善できる
[0696] そして、 三次元データ符号化装置は、 !_〇 0 n階層の複数の三次元点匕 0 〜匕4 7を、 各集合が IV!個 (本実施の形態では 1\/1 = 8) の三次元点を有する ように、 複数の集合 (グループともいう) 〇0〜〇5に分割する。
[0697] 次に、 三次元データ符号化装置は、 図 9 2に示すように、 各グループ〇内 に含まれる三次元点から各グループの (01 8 X _ X , 111 3 X _ソ, 111 3 X _ å) および (01 1
Figure imgf000141_0001
X , 111 I 11 ソ, 01 1
Figure imgf000141_0002
å) を算出し、 各グループ 〇0〜〇5の複数の三次元点を含む空間 (パウンディングボックス) を定義 してもよい。 図 9 2は、 グループ〇 1< (1<は、 0以上の整数) のバウンディ ングボックスの一例を示す図である。
[0698] なお、
Figure imgf000141_0003
X 父は、 グループ〇 に含まれる複数の三次元点の X座標の 最大値を示す。 m a x yは、 グループ G kに含まれる複数の三次元点の y 座標の最大値を示す。 m a x zは、 グループ G kに含まれる複数の三次元 点の z座標の最大値を示す。 m i n xは、 グループ G kに含まれる複数の 三次元点の X座標の最小値を示す。 m i n yは、 グループ G kに含まれる 複数の三次元点の y座標の最小値を示す。 m i n zは、 グループ G kに含 まれる複数の三次元点の z座標の最小値を示す。
[0699] この場合、 三次元データ符号化装置は、 ある三次元点 A (p〇 i n t X , p o i n t _ y , p o i n t _ z ) とグループ G kのバウンディングボッ クスとの距離 d i s tを下記のように算出してもよい。 p o i n t 父は、 三次元点 Aの X座標であり、 P〇 i n t yは、 三次元点 Aの y座標であり 、 p o i n t zは、 三次元点 Aの z座標である。
[0700] d X = m a X (m a x (m i n一 x— p o i n t一 x , 0) , p o i n t x— m a x x )
d y = m a x (m a x (m i n一 y— p o i n t一 y, 0) , p o i n t 一 y— m a x一 y )
d z=m a x (m a x (m i n一 z— p o i n t一 z, 0) , p o i n t z— m a x z )
d i s t G k = d x* d x + d y* d y + d z * d z (氺は乗算を表す)
(式 N 1 )
[0701] 仮に三次元点 Aがグループ G kのバウンディングボックス内に含まれる場 合、 上記式 N 1 を用いて得られた距離 d i s t G kの値は 0となる。 また、 三次元点 Aがグループ G kのバウンディングボックスから三次元空間上で離 れた点であるほど、 d i s t G kの値は大きくなる。
[0702] 三次元データ符号化装置は、 各グループに含まれる三次元点の個数 Mを、 ビッ トストリームに含めてもよい。 例えば、 個数 Mを示す情報は、 ビッ トス トリームのへッダ等に付加されてもよい。 これにより三次元データ復号装置 は、 ビッ トストリームを取得する、 または、 ビッ トストリームに含まれるへ ッダを復号することで、 復号対象の複数の三次元点を M個毎にグループ化し 〇 2020/175708 141 卩(:171? 2020 /008540
て復号処理することを知ることができ、 ビッ トストリームを正しく復号でき る。 また、 個数 IV!は、 規格の 「〇干 丨 I ㊀等で規定されてもよい。
[0703] 三次元データ符号化装置は、 符号化対象の第 1三次元点の予測に用いる 個の三次元点の候補を選択する際、 まずは符号化対象の第 1三次元点と同一 のグループ内に存在する、 第 1三次元点の周囲の複数の第 2三次元点のうち 、 参照可能な複数の第 2三次元点のそれぞれと第 1三次元点との間の三次元 空間における距離を算出する。 三次元データ符号化装置は、 算出した距離が 近い第 2三次元点を予測に用いる 1\1個の三次元点の候補に含めるようにして もよい。 ここで参照可能な三次元点とは、 例えば、 符号化対象の第 1三次元 点より前に符号化もしくは復号される三次元点であってもよい。 また、 算出 する 2点間の距離は、 ユークリッ ド距離等であってもよい。
[0704] 図 9 3は、 第 1三次元点と複数の第 2三次元点とが同一のグループに属す る場合の 1\1個の三次元点の候補を選択する処理について説明するための図で ある。
[0705] 図 9 3では、 三次元データ符号化装置は、 符号化対象の三次元点匕 2 6の 属性情報の予測値を算出するために用いる !\!個の三次元点を選択する際、 ま ずは三次元点 b 2 6が含まれるグループ〇 3内において参照可能な三次元点 b 2 4 s b 2 5のそれぞれに対し、 三次元点匕 2 6との間の三次元空間にお ける距離を算出する。 この場合、 三次元データ符号化装置は、 1\1が 2以上で あれば、 三次元点 b 2 4. b 2 5の両方を予測値生成用の三次元点候補とし て設定する。 三次元データ符号化装置は、 N = 1であれば、 三次元点匕 2 4 、 匕 2 5のうち、 符号化対象の三次元点匕 2 6との間の距離が近い方の三次 元点を予測値生成用の三次元点候補として設定する。 三次元データ符号化装 置は、 例えば、 三次元点匕 2 6と三次元点匕 2 5との間の距離が I 3 I 0 であり、 かつ、 三次元点匕 2 6と三次元点匕 2 4との間の距離が 1 3 1 1 であり、 かつ、 ¢1 丨 3 0<〇1 丨 3 1である場合、 三次元点候補 [0] と して三次元点 b 2 5を設定し、 三次元点候補 [ 1] として三次元点匕 2 4を 設定することが考えられる。 つまり、 三次元データ符号化装置は、 三次元点 〇 2020/175708 142 卩(:171? 2020 /008540
候補 [〇] が三次元点匕 2 5であることを示す情報と、 三次元点候補 [1] が三次元点匕 2 4であることを示す情報とをメモリに記憶する。 なお、 三次 元点候補 [〇] は、 三次元点候補 [1] よりも優先順位が高い候補であるこ とを示していてもよい。 つまり、 三次元データ符号化装置は、 三次元点匕 2 4、 匕 2 5のうちで符号化対象の三次元点匕 2 6により近い三次元点匕 2 5 を優先順位が高い候補として設定してもよい。
[0706] 次に、 三次元データ符号化装置は、 第 1三次元点と同一のグループにある 複数の第 2三次元点と第 1三次元点との間の距離を算出して、 算出した距離 に応じて三次元点候補を設定した後で、 第 1三次元点と異なるグループと第 1三次元点との間の距離を算出する。 異なるグループに属する複数の第 2三 次元点との距離を算出する処理について図 9 4を用いて説明する。 図 9 4は 、 第 1三次元点と複数の第 2三次元点とが異なるグループに属する場合の 個の三次元点の候補を選択する処理について説明するための図である。
[0707] 三次元データ符号化装置は、 式 1\1 1 を用いて、 第 1三次元点匕 2 6とグル —プ〇 2のパウンデイングボックスとの間の距離 丨 3 1 0 2を算出する ( 図 9 4における ( 1) ) 。 例えば、
Figure imgf000144_0001
I 3 I 0 2が三次元点候補 [ 1] の 1 3 1 1 より小さければ、 グループ〇 2内に含まれる第 2三次元点匕 1 6 ,
, 匕 2 3のそれぞれと第 1三次元点匕 2 6と間の距離を算出 し (図 9 4における (2) ) 、 第 1三次元点匕 2 6により近い (つまり算出 した距離が小さい) 順を優先順として、 予測値生成用の三次元点候補に設定 してもよい。 三次元データ符号化装置は、 例えば、 第 2三次元点匕 1 7と第 1三次元点匕 2 6との間の距離 I 3 1 2が 1 3 1 0および I 3 1 1 よ りも小さい場合、 既に三次元点候補 [0] に記憶されている第 2三次元点匕 2 5よりも優先されるため、 第 2三次元点匕 1 7を三次元点候補 [0] に設 定する。 三次元データ符号化装置は、 その結果、 三次元点候補 [〇] に設定 されていた第 2三次元点匕 2 5を三次元点候補 [1] に設定し、 かつ、 第 2 三次元点匕 2 4を三次元点候補から外して (削除して) もよい。
[0708] このように、 三次元データ符号化装置は、 三次元点候補 [〇] に第 1三次 元点 b 26との間の距離が小さい三次元点を割り当て、 そこから距離の昇順 に三次元点候補を設定してもよい。 ここで、 d i s t G2 = 0である場合、 つまり三次元点 b 26がグループ G 2のバウンディングボックス内に存在す る場合、 三次元データ符号化装置は、 グループ G 2内に含まれる第 2三次元 点 b 1 6, b 1 7, , b 23のそれぞれと第 1三次元点 b 26との間 の距離を算出し、 第 1三次元点 b 26により近い (つまり算出した距離が小 さい) 順を優先順として、 予測値生成用の三次元点候補に設定してもよい。
[0709] なお、 第 1三次元点 b 26との間の距離が小さい三次元点とは、 第 1三次 元点 b 26との間の距離が所定の距離よりも小さい 1以上の三次元点のうち の 1つであってもよいし、 第 1三次元点 b 26との間の距離が最も小さい三 次元点であってもよい。 以下、 一の三次元点との間の距離が、 所定の距離よ りも小さい他の三次元点、 または、 最も小さい他の三次元点のことを、 一の 三次元点との間の距離が小さい三次元点という。 なお、 三次元点は、 グルー プに読み替えても同様のことが言える。
[0710] グループ G 2についての処理の後で、 三次元データ符号化装置は、 次のグ ループ G 1 に対して上述したグループ G 2に対する処理と同様の処理を行う (図 94における (3) ) 。
[0711] なお、 d i s t G2が d i s t 1以上の場合、 三次元データ符号化装置は 、 第 1三次元点 b 26とグループ G 2内の複数の第 2三次元点とは距離が離 れていると判断し、 グループ G 2内の複数の第 2三次元点のそれぞれと第 1 三次元点 b 26との間の距離の算出をスキップして、 次のグループ G 1 に対 して上述したグループ G 2に対する処理と同様の処理を行うようにしてもよ い。 これにより、 距離算出処理を削減でき、 処理時間を削減できる。
[0712] なお、 三次元データ符号化装置は、 参照可能な複数の第 2三次元点の最大 イ固数 s e a r c h r a n g eを疋義し、 s e a r c h r a n g eの範囲 内にある複数の第 2三次元点から三次元点の候補を選択してもよい。 また、 三次元データ符号化装置は、 s e a r c h _ r a n g eをビッ トストリーム に含めてもよい。 例えば、 s e a r c h r a n g eは、 ビッ トストリーム のへッダ等に付加されてもよい。 これにより、 s e a r c h _ r a n g eを 調整することで、 符号化対象の三次元点の予測値生成用の三次元点候補の選 択にかかる処理量を制御することができる。
[0713] このように、 三次元データ符号化装置は、 参照可能な複数の第 2三次元点 を複数のグループ GO〜 G 5に分類し、 符号化対象の第 1三次元点が属する グループ G 3内の複数の第 2三次元点との間の距離を算出する。 そして、 三 次元データ符号化装置は、 算出した距離に基づいて、 第 1三次元点 b 26に より近い (つまり算出した距離が小さい) 順を優先順として、 予測値生成用 の三次元点候補に設定する。 次に、 三次元データ符号化装置は、 符号化対象 の第 1三次元点と、 第 1三次元点が属するグループ G 3とは異なる各グルー プ G kのバウンデイングボックスの情報を用いて各グループ G kとの間の d i s t G kを算出し、 算出した d i s t G kがその時点で設定されている三 次元点候補 [N— 1] の d i s t (N - 1 ) よりも小さい場合、 当該グルー プ G k内に含まれる複数の第 2三次元点のそれぞれと第 1三次元点との間の 距離を算出する。 そして、 三次元データ符号化装置は、 算出した距離に基づ いて、 第 1三次元点 b 26により近い (つまり算出した距離が小さい) 順を 優先順として、 予測値生成用の三次元点候補に設定する。 d i s t G kが d i s t (N- 1 ) よりも大きい場合、 三次元データ符号化装置は、 当該グル —プ G k内の複数の第 2三次元点と第 1三次元点との間の距離を算出せずに 、 次のグループ G (k - 1 ) と第 1三次元点との間の d i s t G (k - 1 ) を算出し、 グループ G kに対する処理と同様の処理を行うようにしてもよい 。 これにより、 符号化対象の第 1三次元点が有する属性情報の予測値生成用 の三次元点候補を選択する処理量を削減することができる。
[0714] 次に、 符号化対象の第 1三次元点が属する L〇 D n階層より上位の L〇 D
(n - 1 ) 階層の参照可能な三次元点から予測値生成用の N個の三次元点候 補を選択する例を、 図 95を用いて説明する。 図 95は、 異なる階層に属す る複数の第 2三次元点から三次元点候補を選択する処理について説明するた めの図である。 〇 2020/175708 145 卩(:171? 2020 /008540
[0715] 三次元データ符号化装置は、 L〇 0 n階層に属する符号化対象の第 1三次 元点の予測値生成用の !\!個の三次元点候補を、 L〇 0 n階層よりも上位の!_ 〇〇 (n- 1 ) 階層に属する複数の第 2三次元点から選択する場合、 まず、 符号化対象の第 1三次元点〇 0と距離が近い三次元点を含む可能性がある!_ 〇〇 (n- 1 ) 階層の初期グループ〇 !<を選択する。 三次元データ符号化装 置は、 例えば、 符号化対象の第 1三次元点のモ_トンコードと値が近いモー トンコードを有する三次元点を !_〇 0 (n- 1 ) 階層から選択し、 選択した 三次元点が属するグループ◦ を初期グループとして選択してもよい。
[0716] このように、 モートンコードを用いた選択もしくは探索により、 低処理量 で上位の !_〇 0 (n - 1 ) 階層に属する複数の第 2三次元点が分類された複 数のグループの中から初期グループを選択することができる。 図 95の (1 ) に示すように、 三次元データ符号化装置は、 符号化対象の第 1三次元点〇 0が有するモートンコードに近いモートンコードを有する第 2三次元点匕 2 6を選択し、 第 2三次元点匕 26が属するグループ〇3を初期グループとし て選択する。
[0717] なお、 !_〇 0 (n _ 1 ) 階層の複数のグループの中から初期グループを選 択する方法は、 これに限らない。 三次元データ符号化装置は、 例えば、 符号 化対象の第 1三次元点〇 0にユークリツ ド距離等の三次元空間における距離 が近い三次元点を、 !_〇 0 (n - 1 ) に属する複数の第 2三次元点の中から 選択もしくは探索し、 選択した三次元点が属するグループを初期グループと して選択してもよい。 これにより、 符号化対象の第 1三次元点に距離が近い 三次元点を含む可能性がある初期グループをより正確に求めることができ、 符号化効率を向上させることができる。
[0718] 三次元データ符号化装置は、 図 95の (2) に示すように、 上位の !_〇 0
(门 _ 1 ) 階層に属する初期グループ〇 3を選択した後、 初期グループ〇 3 内に存在する複数の第 2三次元点匕 24, 匕 25, 匕 26, , 匕 3 1 のうちの参照可能な複数の第 2三次元点と符号化対象の三次元点〇 0との間 の三次元空間における距離を算出し、 第 1三次元点〇 0により距離が近い ( 〇 2020/175708 146 卩(:171? 2020 /008540
つまり算出した距離が小さい) 順を優先順として、 予測値生成用の三次元点 候補に設定してもよい。 例えば、 三次元データ符号化装置は、 第 2三次元点 b 2 4, b 2 5, b 2 6, - - , 匕 3 1のうち、 第 1三次元点〇 0と第 2 三次元点匕 2 5と間の距離 丨 3 1 0が最小であり、 その次に第 1三次元点 〇 0と第 2三次元点匕 2 4との間の距離 1 3 1 1が小さい場合、 第 1三次 元点〇 0の予測値生成用の三次元点候補 [ 0] に第 2三次元点匕 2 5を設定 し、 かつ、 三次元点候補 [1] に第 2三次元点匕 2 4を設定することが考え られる。
[0719] ここで参照可能な複数の第 2三次元点とは、 例えば、 符号化対象の第 1三 次元点より前に符号化もしくは復号される三次元点であってもよい。 また、 参照可能な複数の第 2三次元点は、 !_〇 0 ( n - 1 ) 階層に属する複数のグ ループのうち、 上記方法にて選択した初期グループの前後のそれそれに並ぶ !_個のグループに属する複数の第 2三次元点であってもよい。 このように参 照可能な複数の第 2三次元点を、 符号化対象の第 1三次元点によって切替え ることで、 符号化効率と処理量とのバランスを図ることができる。 また、 算 出される 2点間の距離はユークリッ ド距離等を用いてもよい。
[0720] なお、 初期グループの選択方法は、 上記に限らない。 三次元データ符号化 装置は、 例えば、 符号化対象の第 1三次元点〇 0と参照可能な複数の第 2三 次元点の属する各グループ〇 !<のバウンディングボックスの情報を用いて各 グループ〇 1<との間の 丨 3 〇 1<を算出し、 算出した 丨 3 〇 1<が最小 となるグループを初期グループに設定してもよい。 これにより、 符号化対象 の第 1三次元点〇 0と距離が近い第 2三次元点を含む可能性があるグループ を初期グループに設定でき、 符号化効率を改善できる。
[0721] また、 三次元データ符号化装置は、 丨 3 1◦の値が同一となる複数のグ ループが見つかった場合、 符号化対象の第 1三次元点〇 0のモートンコード と、 〇1 I 3 I◦が同一となる複数のグループ内の 1以上の第 2三次元点に割 当てられたモートンコードとを比較する。 そして、 三次元データ符号化装置 は、 第 1三次元点〇〇のモートンコードに近いモートンコード (つまり、 第 〇 2020/175708 147 卩(:171? 2020 /008540
1三次元点〇 0のモートンコードとの差分が小さいモートンコード) を有す る第 2三次元点が属するグループを初期グループに設定してもよい。
[0722] なお、 第 1三次元点〇 0のモートンコードに近いモートンコードを有する 第 2三次元点とは、 第 1三次元点〇 0のモートンコードとの差分が所定値よ りも小さいモートンコードを有する 1以上の第 2三次元点のうちの 1つであ つてもよいし、 当該差分が最も小さいモートンコードを有する第 2三次元点 であつてもよい。
[0723] これにより、 三次元データ符号化装置は、 複数のグループの 丨 3 1 0^ 同 _になる場合に、 ¢1 丨 3 ◦が同 _になる複数のグループの中から符号化 対象の第 1三次元点に距離が近い三次元点を含むグループを初期グループに 設定でき、 符号化効率を改善できる。
[0724] なお、 三次元データ符号化装置は、 モートンコードを比較する代わりに、 符号化対象の第 1三次元点と複数の第 2三次元点との間の三次元空間におけ る距離を算出し、 距離が小さい三次元点を含むグループを初期グループに設 定してもよい。 これにより、 符号化対象の第 1三次元点に距離が近い第 2三 次元点を含む初期グループを適切に選択でき、 符号化効率を改善できる。 ま た、 丨 3 I◦の値が複数のグループで同一の場合、 パウンディングボック スのサイズが小さいものを初期グループに設定してもよい。 これにより、 符 号化対象の第 1三次元点に距離が近い第 2三次元点を含む初期グループを適 切に選択でき、 符号化効率を改善できる。
[0725] 三次元データ符号化装置は、 初期グループ内から三次元点候補を選択した 後、 初期グループ前後のグループから三次元点候補を選択もしくは更新する 例を、 図 9 6を用いて説明する。 図 9 6は、 初期グループ前後のグループか ら三次元点候補を選択もしくは更新する処理について説明するための図であ る。
[0726] 例えば、 三次元データ符号化装置は、 図 9 6の (1) に示すように、 第 1 三次元点〇 0の三次元点座標とグループ〇 2のバウンディングボックスの情 報とを用いて、 式 !\1 1 を用いて、 第 1三次元点〇 0とグループ〇2のバウン ディングボックスとの間の距離 d i s t G 2を算出する。
[0727] 次に、 三次元データ符号化装置は、 図 96の (2) に示すように、 d i s t G 2が三次元点候補 [1] の d i s t 1 より小さければ、 グループ G 2内 に含まれる複数の第 2三次元点 b 1 6, b 1 7, , b 23のそれぞれ と第 1三次元点 c 0との間の距離を算出し、 第 1三次元点 c 0により距離が 近い (つまり算出した距離が小さい) 順を優先順として、 予測値生成用の三 次元点候補に設定してもよい。 また、 例えば、 三次元データ符号化装置は、 第 2三次元点 b 1 7との間の距離 d i s t 2が d i s t 0および d i s t 1 よりも小さい場合、 第 2三次元点 b 1 7を三次元点候補 [0] に設定する。 三次元データ符号化装置は、 その結果、 三次元点候補 [〇] に設定されてい た第 2三次元点 b 25を三次元点候補 [1] に設定し、 かつ、 第 2三次元点 b 24を三次元点候補から外して (削除して) もよい。
[0728] このように、 三次元データ符号化装置は、 三次元点候補 [0] に第 1三次 元点 c 0との間の距離が小さい三次元点を割り当て、 そこから距離の昇順に 三次元点候補を設定してもよい。 ここで、 d i s t G 2 = 0である場合、 つ まり三次元点 c 0がグループ G 2のバウンディングボックス内に存在する場 合、 三次元データ符号化装置は、 グループ G 2内に含まれる第 2三次元点 b 1 6, b 1 7, , b 23のそれぞれと第 1三次元点 c 0との距離を算 出し、 第 1三次元点 c 0により近い (つまり算出した距離が小さい) 順を優 先順として、 予測値生成用の三次元点候補に設定してもよい。
[0729] また、 d i s t G2が d i s t 1以上の場合、 三次元データ符号化装置は 、 第 1三次元点 c 0とグループ G 2内の複数の第 2三次元点とは距離が離れ ていると判断し、 グループ G 2内の複数の第 2三次元点のそれぞれと第 1三 次元点 c 0との間の距離の算出をスキップして、 次のグループ G 1 またはグ ループ G4に対して上述したグループ G2に対する処理と同様の処理を行う ようにしてもよい。 これにより、 距離算出処理を削減できる。
[0730] なお、 三次元データ符号化装置は、 参照可能な複数の第 2三次元点の最大 イ固数 s e a r c h— r a n g eを疋義し、 s e a r c h— r a n g eの範囲 内にある複数の第 2三次元点から三次元点の候補を選択してもよい。 また、 三次元データ符号化装置は、 s e a r c h _ r a n g eをビッ トストリーム に含めてもよい。 例えば、 s e a r c h _ r a n g eは、 ビッ トストリーム のへッダ等に付加されてもよい。 これにより、 s e a r c h _ r a n g eを 調整することで、 符号化対象の三次元点の予測値生成用の三次元点候補の選 択にかかる処理量を制御することができる。
[0731] 三次元データ符号化装置は、 上記のように L〇 D (n - 1 ) 階層の参照可 能な複数の再 2三次元点を複数のグループに分類し、 符号化対象の三次元点 と距離が近い三次元点を含む可能性がある初期グループを選択する。 そして 、 三次元データ符号化装置は、 初期グループ内の複数の第 2三次元点のそれ それと第 1三次元点との間の距離を算出し、 算出した距離に基づいて、 第 1 三次元点 c Oにより近い (つまり算出した距離が小さい) 順を優先順として 、 予測値生成用の三次元点候補に設定する。 次に、 三次元データ符号化装置 は、 符号化対象の第 1三次元点と、 初期グループの前後の複数のグループの パウンデイングボックスの情報を用いて各グループ G kとの間の d i s t G kを算出し、 算出した d i s t G kがその時点で設定されている三次元点候 補 [N- 1] の d i s t (N- 1 ) よりも小さい場合、 当該グループ G k内 に含まれる複数の第 2三次元点のそれぞれと第 1三次元点との間の距離を算 出する。 そして、 三次元データ符号化装置は、 算出した距離に基づいて第 1 三次元点により近い (つまり算出した距離が小さい) 順を優先順として、 予 測値生成用の三次元点候補に設定する。 d i s t G kが d i s t (N- 1 ) よりも大きい場合、 三次元データ符号化装置は、 当該グループ G k内の複数 の第 2三次元点との間の距離を算出せずに、 次のグループ G (k - 1 ) と第 1三次元点との間の d i s t G (k - 1 ) を算出し、 グループ G kに対する 処理と同様の処理を行うようにしてもよい。 これにより、 符号化対象の三次 元点候補を選択する処理量を削減することができる。
[0732] なお、 本実施の形態では、 三次元データ符号化装置は、 符号化対象の第 1 三次元点の初期グループを選択した後、 初期グループ内の複数の第 2三次元 〇 2020/175708 150 卩(:171? 2020 /008540
点のそれぞれと第 1三次元点との間の距離を算出する例を示したが、 必ずし もこれに限らない。 例えば、 三次元データ符号化装置は、 符号化対象の第 1 三次元点と初期グループのパウンディングボックスの情報とを用いて 丨 3 〇を算出し、 丨 3 I◦が所定の閾値丁 1~1より大きいか否かを判定する。 三次元データ符号化装置は、 判定の結果、 丨 3 1◦が所定の閾値丁 1~1より 大きい場合、 初期グループ内の複数の第 2三次元点のそれぞれと第 1三次元 点との間の距離の算出をスキップしてもよい。 これにより、 距離算出処理を 削減でき、 処理時間を削減できる。
[0733] また、 三次元データ符号化装置は、 別のグループから初期グループを選択 してもよい。 例えば、 三次元データ符号化装置は、 最初の初期グループの前 後のグループのバウンディングボックスの情報と第 1三次元点とを用いて各 グループとの間で 丨 3 I◦を算出し、 丨 3 I◦が小さいグループを初期 グループに再設定してもよい。 これにより、 最初の初期グループ内に符号化 対象の第 1三次元点が含まれない可能性がある場合でも、 その前後のグルー プから初期グループを選択することで、 処理量を抑えつつ、 符号量を改善で きる。
[0734] また、 三次元データ符号化装置が三次元点候補を探索する順番は、 どのよ うな順でも構わない。 例えば、 三次元データ符号化装置は、 初期グループの 前後のグループを順に探索してもよい。 三次元データ符号化装置は、 図 9 6 において、 初期グループ〇 3を基準に、 ◦ 3 ®〇 2 ®〇4 ®〇 1 ®◦ 5の順 、 または、 ◦ 3 ®◦ 4 ®◦ 2 ®◦ 5 ®◦ 1の順のように、 初期グループにモ —トンオーダで近い三次元点を含む前後のグループ〇 2もしくはグループ〇 4から探索してもよい。 これにより、 より早く符号化対象三次元点に距離が 近い三次元点候補を見つけることができ、 途中で探索を打ち切る等の高速化 を行うことができる。 また、 三次元データ符号化装置は、 初期グループ〇 3 を基準に、 ◦ 3 ®〇 2 ®〇 1 ®〇4 ®〇 5の順、 または、 0 3 ® 0 4 ® 0 5 ® 0 2 ® 0 1の順のようにどちらか一方の方向を優先して探索してもよい。 これにより、 参照可能な三次元点の情報を格納するメモリへのアクセス効率 \¥0 2020/175708 151 卩(:17 2020 /008540
を改善することができる。
[0735] なお、 三次元データ符号化装置は、 上位の !_〇 0 ( n - 1 ) 階層に属する 複数の第 2三次元点を複数のグループに分割する場合、 1個の三次元点を有 するように複数のグループに分割してもよい。 また、 複数のグループが 1個 の三次元点を有する場合、 つまり、 1\/1 = 1で分割された場合において、 ¢1 I 3 I◦の値が同一となる複数のグループが見つかった場合の処理を行っても よい。 この場合、 複数の第 2三次元点の中に符号化対象の第 1三次元点との 間の距離が等しい複数の第 3三次元点があることになる。
[0736] このような場合において、 三次元データ符号化装置は、 予測値生成用の三 次元点候補の選択において、 第 1三次元点の第 1モートンコードに基づく優 先順に複数の第 3三次元点から三次元点候補を選択してもよい。 例えば、 三 次元データ符号化装置は、 複数の第 3三次元点のモートンコードで定められ る順序であって、 第 1モートンコードに近いモートンコードを有する第 3三 次元点の順序を優先順として三次元点候補を選択してもよい。
[0737] 三次元データ符号化装置は、 上記で説明したように初期グループとして、 複数の第 3三次元点のうちで第 1三次元点の第 1モートンコードに近い第 2 モートンコードを有する第 4三次元点を選択する。 そして、 三次元データ符 号化装置は、 初期グループ〇 3を基準に、 ◦ 3 ®〇 2 ®〇4 ®〇 1 ®◦ 5の 順、 または、 〇3 ®〇4 ®〇2 ®〇5 ®〇 1の順のように、 初期グループに モートンオーダで近い三次元点を含む前後のグループ〇 2もしくはグループ ◦ 4から探索してもよい。 つまり、 三次元データ符号化装置は、 初期グルー プ〇3としての第 4三次元点の第 2モートンコードより小さいモートンコー ドを有する複数の第 3三次元点を含む第 1 グループと、 第 2モートンコード よりも大きいモートンコードを有する複数の第 3三次元点を含む第 2グルー プとから交互に 1つずつ三次元点候補を選択するときの、 第 2モートンコー ドに近い第 3三次元点の順序を優先順として三次元点候補を選択してもよい
[0738] 0 3 ® 0 2 ® 0 4 ® 0 1 ® 0 5の順、 または、 ◦ 3 ® 0 4 ® 0 2 ® 0 5 ® 〇 2020/175708 152 卩(:171? 2020 /008540
01の順の場合、 第 1 グループに属する第 3三次元点は、 グループ〇 1、 ◦ 2にそれぞれ含まれる 1個の三次元点であり、 第 2グループに属する第 3三 次元点は、 グループ〇 4、 ◦ 5にそれぞれ含まれる 1個の三次元点である。 なお、 この場合の第 1三次元点と、 複数の第 3三次元点とは、 互いに異なる 階層に属する。
[0739] また、 三次元データ符号化装置は、 初期グループ〇 3を基準に、 03®0
2 ® 01 ® 04 ® 05の順、 または、 03®04®05®02®01の順の ように、 グル _プ〇 3の前後の一方において初期グループにモ _トンオ _ダ で近い三次元点を含むグループを選択した後で、 他方において初期グループ にモートンオーダで近い三次元点を含むグループを選択してもよい。 つまり 、 三次元データ符号化装置は、 第 1モートンコードより小さいモートンコー ドを有する複数の第 3三次元点を含む第 1 グループと、 第 1モートンコード よりも大きいモートンコードを有する複数の第 3三次元点を含む第 2グルー プとの一方に属する複数の第 3三次元点のモートンコードで定められる順序 であって、 第 1モートンコードに近い第 3三次元点の順序を優先順として三 次元点候補を選択してもよい。
[0740] 03®02®01 ® 04 ® 05の順、 または、 ◦ 3 ® 04 ® 05 ® 02 ®
01の順の場合、 第 1第 1 グループに属する第 3三次元点は、 グループ〇 1 、 ◦ 2にそれぞれ含まれる 1個の三次元点であり、 第 2グループに属する第 3三次元点は、 グループ〇 4、 ◦ 5にそれぞれ含まれる 1個の三次元点であ る。 なお、 この場合の第 1三次元点と、 複数の第 3三次元点とは、 同一の階 層に属する。
[0741] 本実施の形態では、 三次元データ符号化装置は、 363
Figure imgf000154_0001
_「 31^ 9 ㊀の範囲内で各グループ〇 と第 1三次元点との間の距離 丨
Figure imgf000154_0002
出し、 算出した 丨 3 I◦ が三次元点候補 [1\1— 1 ] の 丨 3 (N— 1 ) より小さければ、 グループ〇 1<内の複数の三次元点のそれぞれと第 1三次 元点との間の距離を算出し、 第 1三次元点により近い (つまり算出した距離 が小さい) 順を優先順として、 予測値生成用の三次元点候補に設定する例を 示したが、 必ずしもこれに限らない。 三次元データ符号化装置は、 例えば、 ある条件を満たした場合に、 三次元点候補の探索または追加を止めるように してもよい。
[0742] 例えば、 三次元データ符号化装置は、 三次元点候補 [N - 1] の d i s t
(N- 1 ) が閾値 aより小さくなれば、 符号化対象の第 1三次元点に距離が 比較的近い N個の三次元点候補が見つかったと判定し、 それ以上の探索また は追加を止めてもよい。 これにより処理量を削減できる。 なお、 閾値 aは、
L〇 D階層毎に設定できるようにしてもよい。 これにより、 L o D階層毎に 適切な閾値を設定することで、 処理量および符号化効率のバランスを図るこ とができる。 また、 閾値 aは、 ビッ トストリームに含まれてもよいし、 ビッ トストリームのヘッダ等に付加されてもよい。 また、 閾値 aは、 規格等で規 定されてもよい。
[0743] また、 例えば、 三次元データ符号化装置は、 d i s t Gが d i s t (N- 1 ) より小さくなることで、 各グループ内の複数の第 2三次元点のそれぞれ と第 1三次元点との間の距離の算出を行った回数をカウントし、 カウント数 が閾値/ Sを越えた時点で三次元点候補の探索または追加を止めてもよい。 こ れにより処理量を削減できる。 なお、 閾値 /Sは L〇 D階層毎に設定できるよ うにしてもよい。 これにより、 L〇 D階層毎に適切な閾値を設定することで 、 処理量および符号化効率のバランスを図ることができる。 また、 閾値/ Sは 、 ビッ トストリームに含まれてもよいし、 ビッ トストリームのヘッダ等に付 加されてもよい。 また、 閾値/ Sは、 規格等で規定されてもよい。
[0744] また、 例えば、 三次元データ符号化装置は、 d i s t Gが d i s t (N- 1 ) 以上になることで、 各グループ内の複数の第 2三次元点のそれぞれと第 1三次元点との間の距離の算出をスキップした回数をカウントし、 スキップ 回数に応じて、 s e a r c h _ r a n g eの値を変えてもよい。 具体的には 、 三次元データ符号化装置は、 スキップ回数が増えるほど s e a r c h_r a n g eの値を大きく してもよい。 また、 三次元データ符号化装置は、 スキ ップ回数が少ないほど、 s e a r c h r a n g eの値を小さく してもよい 。 このように、 三次元データ符号化装置は、 スキップ回数に応じて s e a r c h r a n g eの値を変えることで処理量および符号化効率のバランスを 図ることができる。
[0745] また、 例えば、 三次元データ符号化装置は、 s e a r c h _ r a n g eを 大きく した場合でも、 探索回数を抑制するために、 各グループを s個 (sは 1以上) ずつ飛ばしで参照しながら三次元点候補を追加または更新してもよ い。 これにより処理量を削減できる。
[0746] なお、 本実施の形態では、 三次元データ符号化装置は、 符号化対象の第 1 三次元点と各グループのパウンディングボックスの情報とに基づいて d i s t G kを算出し、 d i s t G kとその時点の三次元点候補 [N _ 1] の d i s t (N - 1) とを比較し、 グループ G k内の複数の第 2三次元点のそれぞ れとの間の距離を求めるか否かを判定したが、 d i s t (N - 1) を用いる 代わりに三次元点候補 [0] の d i s t 0を用いて判定してもよい。 これに より、 三次元点候補に含まれる最小の距離よりも更に距離が近い三次元点が グループ Gに含まれる場合に、 そのグループ内の三次元点との距離を算出す ることで処理量を削減することができる。
[0747] なお、 三次元データ符号化装置は、 各グループから三次元点候補を探索す る場合、 各グループのパウンディングボックスの大きさによって、 探索の優 先度を変えても構わない。 例えば、 図 9 7に示すように、 パウンディングボ ックスが小さいグループを優先して初期グループに設定したり、 または、 探 索を行うようにしてもよい。 つまり、 図 9 7の (b) に示すグループ G 2よ りも (a) に示すグループ G 1 を優先して処理するようにしてもよい。
[0748] グループ G 1およびグループ G 2のそれぞれと符号化対象の第 1三次元点 との間の距離 d i s t G 1および d i s t G 2は、 第 1三次元点が両方のグ ループ G 1、 G 2のパウンディングボックスに含まれるため、 両方とも 0で ある。 しかし、 パウンディングボックスが小さい G 1の方が符号化対象の第 1三次元点に距離が近い三次元点を含む可能性が高い。 そこで、 バウンディ ングボックスが小さいグループを優先して初期グループに設定したり、 また 〇 2020/175708 155 卩(:171? 2020 /008540
は、 優先して探索するようにしてもよい。
[0749] 以下、 三次元データ符号化装置における処理の流れを説明する。 図 9 8は 、 三次元データ符号化装置による三次元データ符号化処理のフローチヤート である。
[0750] まず、 三次元データ符号化装置は、 位置情報 ( 9 6 0 0^ 6 1
Figure imgf000157_0001
を符号 化する ( 3 7 6 0 1 ) 。 例えば、 三次元データ符号化は、 8分木表現を用い て符号化を行う。
[0751 ] 三次元データ符号化装置は、 位置情報の符号化後に、 量子化等によって三 次元点の位置が変化した場合に、 変化後の三次元点に元の三次元点の属性情 報を再割り当てする ( 3 7 6 0 2 ) 。 例えば、 三次元データ符号化装置は、 位置の変化量に応じて属性情報の値を補間することで再割り当てを行う。 例 えば、 三次元データ符号化装置は、 変化後の三次元位置に近い変化前の三次 元点を 1\1個検出し、 1\1個の三次元点の属性情報の値を重み付け平均する。 例 えば、 三次元データ符号化装置は、 重み付け平均において、 変化後の三次元 位置から各 1\1個の三次元までの距離に基づいて重みを決定する。 そして、 三 次元データ符号化装置は、 重み付け平均により得られた値を変化後の三次元 点の属性情報の値に決定する。 また、 三次元データ符号化装置は、 量子化等 によって 2個以上の三次元点が同一の三次元位置に変化した場合は、 その変 化後の三次元点の属性情報の値として、 変化前の 2個以上の三次元点の属性 情報の平均値を割当ててもよい。
[0752] 次に、 三次元データ符号化装置は、 再割り当て後の属性情報 (八 I 「 I 匕リ 1
Figure imgf000157_0002
を符号化する ( 3 7 6 0 3 ) 。 例えば、 三次元データ符号化装置 は、 複数種類の属性情報を符号化する場合は、 複数種類の属性情報を順に符 号化してもよい。 例えば、 三次元データ符号化装置は、 属性情報として、 色 と反射率とを符号化する場合は、 色の符号化結果の後に反射率の符号化結果 を付加したビッ トストリームを生成してもよい。 なお、 ビッ トストリームに 付加される属性情報の複数の符号化結果の順番は、 この順に限らず、 どのよ うな順番でもよい。 〇 2020/175708 156 卩(:171? 2020 /008540
[0753] また、 三次元データ符号化装置は、 ビッ トストリーム内の各属性情報の符 号化データ開始場所を示す情報をへッダ等に付加してもよい。 これにより、 三次元データ復号装置は、 復号が必要な属性情報を選択的に復号できるので 、 復号が不必要な属性情報の復号処理を省略できる。 よって、 三次元データ 復号装置の処理量を削減できる。 また、 三次元データ符号化装置は、 複数種 類の属性情報を並列に符号化し、 符号化結果を 1つのビッ トストリームに統 合してもよい。 これにより、 三次元データ符号化装置は、 高速に複数種類の 属性情報を符号化できる。
[0754] 図 99は、 属性情報符号化処理 (37603) のフローチヤートである。
まず、 三次元データ符号化装置は、 !_〇 0を設定する (376 1 1) 。 つま り、 三次元データ符号化装置は、 各三次元点を複数の !_〇 0のいずれかに割 り当てる。
[0755] 次に、 三次元データ符号化装置は、 !_〇 0単位のループを開始する { 1
6 1 2) 。 つまり、 三次元データ符号化装置は、 !_〇 0毎にステップ376 1 3~3762 1の処理を繰り返し行う。
[0756] 次に、 三次元データ符号化装置は、 三次元点単位のループを開始する (3
76 1 3) 。 つまり、 三次元データ符号化装置は、 三次元点毎にステップ 3 76 1 4~37620の処理を繰り返し行う。
[0757] まず、 三次元データ符号化装置は、 処理対象の対象三次元点の予測値の算 出に用いる、 対象三次元点の周囲に存在する三次元点である複数の周囲点を 探索する (376 1 4) 。 具体的には、 三次元データ符号化装置は、 図 9 1 〜図 97を用いて説明した方法で複数の周囲点を探索し、 予測値生成用の三 次元点候補を決定する。 複数の周囲点の探索処理の詳細は、 図 1 02を用い て後述する。
[0758] 次に、 三次元データ符号化装置は、 対象三次元点の予測値 を算出する (
37 6 1 5) 。
[0759] 次に、 三次元データ符号化装置は、 対象三次元点の属性情報と予測値との 差分である予測残差を算出する (376 1 6) 。 〇 2020/175708 157 卩(:171? 2020 /008540
[0760] 次に、 三次元データ符号化装置は、 予測残差を量子化することで量子化値 を算出する (3 7 6 1 7) 。
[0761 ] 次に、 三次元データ符号化装置は、 量子化値を算術符号化する (3 7 6 1
8) 〇
[0762] また、 三次元データ符号化装置は、 量子化値を逆量子化することで逆量子 化値を算出する (3 7 6 1 9) 。
[0763] 次に、 三次元データ符号化装置は、 逆量子化値に予測値を加算することで 復号値を生成する (3 7 6 2 0) 。
[0764] 次に、 三次元データ符号化装置は、 三次元点単位のループを終了する (3
7 6 2 1) 。
[0765] また、 三次元データ符号化装置は、 !_〇 0単位のループを終了する { 1
6 2 2) 〇
[0766] 以下、 三次元データ復号装置における処理の流れを説明する。 図 1 0 0は 、 三次元データ復号装置による三次元データ復号処理のフローチヤートであ る。 まず、 三次元データ復号装置は、 ビッ トストリームから位置情報 (9 6
Figure imgf000159_0001
を復号する (3 7 6 3 1) 。 例えば、 三次元データ復号装置 は、 8分木表現を用いて復号を行う。
[0767] 次に、 三次元データ復号装置は、 ビッ トストリームから属性情報 (八 1 1
r \ b u t &) を復号する (3 7 6 3 2) 。 例えば、 三次元データ復号装置 は、 複数種類の属性情報を復号する場合は、 複数種類の属性情報を順に復号 してもよい。 例えば、 三次元データ復号装置は、 属性情報として色と反射率 とを復号する場合は、 ビッ トストリームに付加されている順に従い、 色の符 号化結果と反射率の符号化結果とを復号する。 例えば、 ビッ トストリームに おいて、 色の符号化結果の後に反射率の符号化結果が付加されている場合、 三次元データ復号装置は、 色の符号化結果を復号し、 その後に反射率の符号 化結果を復号する。 なお、 三次元データ復号装置は、 ビッ トストリームに付 加される属性情報の符号化結果をどのような順番で復号してもよい。
[0768] また、 三次元データ復号装置は、 ビッ トストリーム内の各属性情報の符号 〇 2020/175708 158 卩(:171? 2020 /008540
化データ開始場所を示す情報を、 へッダ等を復号することで取得してもよい 。 これにより、 三次元データ復号装置は、 復号が必要な属性情報を選択的に 復号できるので、 復号が不必要な属性情報の復号処理を省略できる。 よって 、 三次元データ復号装置の処理量を削減できる。 また、 三次元データ復号装 置は、 複数種類の属性情報を並列に復号し、 復号結果を 1つの三次元点群に 統合してもよい。 これにより、 三次元データ復号装置は、 高速に複数種類の 属性情報を復号できる。
[0769] 図 1 01は、 属性情報復号処理 (37632) のフローチヤートである。
まず、 三次元データ復号装置は、 !_〇 0を設定する (3764 1 ) 。 つまり 、 三次元データ復号装置は、 復号された位置情報を有する複数の三次元点の 各々を複数の 1-〇 0のいずれかに割り当てる。 例えば、 この割り当て方法は 、 三次元データ符号化装置で用いられた割り当て方法と同じ方法である。
[0770] 次に、 三次元データ復号装置は、 1_〇 0単位のループを開始する (376 42) 。 つまり、 三次元データ復号装置は、 1_〇 0毎にステップ 37643
Figure imgf000160_0001
の処理を繰り返し行う。
[0771] 次に、 三次元データ復号装置は、 三次元点単位のループを開始する { ~!
643) 。 つまり、 三次元データ復号装置は、 三次元点毎にステップ 376 44~37648の処理を繰り返し行う。
[0772] まず、 三次元データ復号装置は、 処理対象の対象三次元点の予測値の算出 に用いる、 対象三次元点の周囲に存在する三次元点である複数の周囲点を探 索する (37644) 。 なお、 この処理は三次元データ符号化装置における 処理と同様である。
[0773] 次に、 三次元データ復号装置は、 対象三次元点の予測値 を算出する (3
7645) 。
[0774] 次に、 三次元データ復号装置は、 ビッ トストリームから量子化値を算術復 号する (37646) 。
[0775] また、 三次元データ復号装置は、 復号した量子化値を逆量子化することで 逆量子化値を算出する (37647) 。 〇 2020/175708 159 卩(:171? 2020 /008540
[0776] 次に、 三次元データ復号装置は、 逆量子化値に予測値を加算することで復 号値を生成する (37648) 。
[0777] 次に、 三次元データ復号装置は、 三次元点単位のループを終了する { 1
649) 0
[0778] また、 三次元データ復号装置は、 1_〇 0単位のループを終了する (376
50) 。
[0779] 図 1 02および図 1 03は、 周囲点の探索処理 (376 1 4) のフローチ ャートである。 まず、 三次元データ符号化装置は、 符号化対象の第 1三次元 点の上位の !_〇 階層における複数の第 2三次元点を 1\/1個 (IV!は、 1以上の 整数) ずつの複数のグループに分類する (3765 1 ) 。
[0780] 次に、 三次元データ符号化装置は、 複数のグループの中から初期グループ を選択する (37652) 。
[0781] 次に、 三次元データ符号化装置は、 予測値生成用の !\1個の三次元点候補を 選択する (37653) 。
[0782] 次に、 三次元データ符号化装置は、 丁= 1 に設定する (37654) 。
[0783] 次に、 三次元データ符号化装置は、 初期グループ_丁と処理対象の第 1三 次元点との間の距離 1 3 1◦を算出する (37655) 。
[0784] 次に、 三次元データ符号化装置は、 距離 丨 3 I◦が三次元点候補 [1\1_
1] の 丨 3 (N— 1 ) より小さいか否かを判定する (37656) 。
[0785] 次に、 三次元データ符号化装置は、 距離 丨 3 I〇が I 3 I (1\!_ 1 ) より小さい場合 (37656で丫6
Figure imgf000161_0001
、 初期グループー丁内の複数の第 2 三次元点のそれぞれと第 1三次元点との間の距離を算出し、 予測値生成用の 三次元点候補を更新する (37657) 。 一方で、 三次元データ符号化装置 は、 距離が I 3 I (1\!— 1 ) 以上である場合 (37656で N 0) 、 ステ ップ 37658に進む。
[0786] 次に、 三次元データ符号化装置は、 初期グループ+丁と処理対象の第 1三 次元点との間の距離 丨 3 I◦を算出する (37658) 。
[0787] 次に、 三次元データ符号化装置は、 距離 丨 3 1◦が三次元点候補 [1\1_ 〇 2020/175708 160 卩(:171? 2020 /008540
1 ] の 丨 3 (N— 1 ) より小さいか否かを判定する (37659) 。
[0788] 次に、 三次元データ符号化装置は、 距離 丨 3 I〇が I 3 I (1\!_ 1 ) より小さい場合
Figure imgf000162_0001
初期グループ+丁内の複数の第 2 三次元点のそれぞれと第 1三次元点との間の距離を算出し、 予測値生成用の 三次元点候補を更新する (37660) 。 一方で、 三次元データ符号化装置 は、 距離が I 3 I (1\!— 1 ) 以上である場合 (37659で N 0) 、 ステ ップ 3766 1 に進む。
[0789] 次に、 三次元データ符号化装置は、 上位の !_〇 0階層において参照可能な 全グループを処理したか否かを判定する (3766 1 ) 。
[0790] 次に、 三次元データ符号化装置は、 参照可能な全グループを処理していな い場合 (3766 1で 1\1〇) 、 丁を現状の丁に 1インクリメントした値に更 新する (37662) 。 一方で、 三次元データ符号化装置は、 参照可能な全 グループを処理した場合 (3766 1で丫 63) 、 ステップ 37663に進 む。
[0791] 次に、 三次元データ符号化装置は、 E n a b l e R e f e r r i n g S a
6 !_〇 0が 1であるか否かを判定する (37663) 。
[0792] 次に、 三次元データ符号化装置は、 E n a b l e R e f e r r i n g S a
Figure imgf000162_0002
符号化対象の第 1三次 元点と同一の !-〇口階層における複数の第 2三次元点を IV!個ずつ複数のグル —プに分類する (37664) 。
[0793] 次に、 三次元データ符号化装置は、 符号化対象の第 1三次元点と同一のグ ループに属する複数の第 2三次元点を選択する (37665)。
[0794] 次に、 三次元データ符号化装置は、 符号化対象の第 1三次元点と同一のグ ループ内の複数の第 2三次元点のそれぞれと、 第 1三次元点との間の距離を 算出し、 予測値生成用の三次元点候補を選択する (37666) 。
[0795] 次に、 三次元データ符号化装置は、 丁 = 1 に設定する (37667) 。
[0796] 次に、 三次元データ符号化装置は、 同ーグループ_丁と処理対象の第 1三 次元点との間の距離 丨 3 I◦を算出する (37668) 。 〇 2020/175708 161 卩(:171? 2020 /008540
[0797] 次に、 三次元データ符号化装置は、 距離 丨 3 1◦が三次元点候補 [ 1\1 _
1 ] の 丨 3 (N— 1) より小さいか否かを判定する (3 7 6 6 9) 。
[0798] 次に、 三次元データ符号化装置は、 距離 丨 3 I〇が I 3 I (1\! _ 1) より小さい場合 (3 7 6 6 9で丫 6 3) 、 同ーグループー丁内の複数の第 2 三次元点のそれぞれと第 1三次元点との間の距離を算出し、 予測値生成用の 三次元点候補を更新する (3 7 6 7 0) 。 一方で、 三次元データ符号化装置 は、 距離が I 3 I (1\!— 1) 以上である場合 (3 7 6 6 9で N 0) 、 ステ ップ 3 7 6 7 1 に進む。
[0799] 次に、 三次元データ符号化装置は、 同一の !_〇 階層において参照可能な 全グループを処理したか否かを判定する (3 7 6 7 1) 。
[0800] 次に、 三次元データ符号化装置は、 参照可能な全グループを処理していな い場合 (3 7 6 7 1で 1\1〇) 、 丁を現状の丁に 1インクリメントした値に更 新する (3 7 6 7 2) 。 一方で、 三次元データ符号化装置は、 参照可能な全 グループを処理した場合 (3 7 6 7 1で丫 6 3) 、 周囲点の探索処理を終了 する。
[0801 ] なお、 周囲点の探索処理は、 三次元データ復号装置においても、 ステップ
3 7 6 4 4において上記と同様に行われる。 つまり、 図 1 0 2および図 1 0 3を用いた周囲点の探索処理の説明において、 三次元データ符号化装置を三 次元データ復号装置に読み替えることもできる。
[0802] 図 1 0 4は、 三次元データ符号化装置が備える属性情報符号化部 7 6 0 0 の構成を示すブロック図である。 なお、 図 1 0 4には、 三次元データ符号化 装置が備える、 位置情報符号化部と、 属性情報再割り当て部と、 属性情報符 号化部とのうち、 属性情報符号化部の詳細を示している。
[0803] 属性情報符号化部 7 6 0 0は、 !_〇 0生成部 7 6 0 1 と、 周囲探索部 7 6
0 2と、 予測部 7 6 0 3と、 予測残差算出部 7 6 0 4と、 量子化部 7 6 0 5 と、 算術符号化部 7 6 0 6と、 逆量子化部 7 6 0 7と、 復号値生成部 7 6 0 8と、 メモリ 7 6 0 9と、 を含む。
[0804] !_〇口生成部 7 6 0 1は、 三次元点の位置情報
Figure imgf000163_0001
を用 いて L o Dを生成する。
[0805] 周囲探索部 7 6 0 2は、 L〇 D生成部 7 6 0 1 による L〇 Dの生成結果と 各三次元点間の距離を示す距離情報とを用いて、 各三次元点に隣接する近隣 三次元点を探索する。
[0806] 予測部 7 6 0 3は、 符号化対象の対象三次元点の属性情報の予測値を生成 する。 具体的には、 予測部 7 6 0 3は、 予測モード値が 「0」 〜 「M— 1」 で示される予測モードに予測値を割り当て、 予測モードを選択する。 予測部 7 6 0 3は、 選択した予測モード、 具体的には、 予測モードを示す予測モー ド値を算術符号化部に出力する。 予測部 7 6 0 3は、 例えば、 ステップ S 7 6 1 5の処理を行う。 なお、 予測値の算出では、 予測モードを用いずに、 予 測値を算出してもよい。 例えば、 三次元点候補のうちの 1つを選択し、 選択 した三次元点の属性情報を予測値として算出してもよい。
[0807] 予測残差算出部 7 6 0 4は、 予測部 7 6 0 3により生成された属性情報の 予測値の予測残差を算出 (生成) する。 予測残差算出部 7 6 0 4は、 ステッ プ S 7 6 1 6の処理を行う。
[0808] 量子化部 7 6 0 5は、 予測残差算出部 7 6 0 4により算出された属性情報 の予測残差を量子化する。
[0809] 算術符号化部 3 1 0 6は、 量子化部 3 1 0 5により量子化された後の予測 残差を算術符号化する。 算術符号化部 7 6 0 6は、 算術符号化した予測残差 を含むビッ トストリームを、 例えば、 三次元データ復号装置に出力する。
[0810] なお、 予測残差は、 算術符号化部 7 6 0 6によって算術符号化される前に 、 例えば量子化部 7 6 0 5によって二値化されてもよい。 なお、 算術符号化 部 7 6 0 6は、 各種ヘッダ情報を生成、 符号化してもよい。 また、 算術符号 化部 7 6 0 6は、 P r e d i c t i o n b l o c kから符号化に使用した 予測モードを取得し、 算術符号化してビッ トストリームに付加してもよい。
[081 1 ] 逆量子化部 7 6 0 7は、 量子化部 7 6 0 5によって量子化された後の予測 残差を逆量子化する。 逆量子化部 7 6 0 7は、 ステップ S 7 6 1 9の処理を 行う。 〇 2020/175708 163 卩(:171? 2020 /008540
[0812] 復号値生成部 7 6 0 8は、 予測部 7 6 0 3により生成された属性情報の予 測値と、 逆量子化部 7 6 0 7により逆量子化された後の予測残差とを加算す ることで復号値を生成する。
[0813] メモリ 7 6 0 9は、 復号値生成部 7 6 0 8により復号された各三次元点の 属性情報の復号値を記憶するメモリである。 例えば、 予測部 7 6 0 3は、 ま だ符号化していない三次元点の予測値を生成する場合に、 メモリ 7 6 0 9に 記憶されている各三次元点の属性情報の復号値を利用して予測値を生成する
[0814] 図 1 0 5は、 三次元データ復号装置が備える属性情報復号部 7 6 1 0の構 成を示すブロック図である。 なお、 図 1 0 5には、 三次元データ復号装置が 備える、 位置情報復号部と、 属性情報復号部とのうち、 属性情報復号部の詳 細を示している。
[0815] 属性情報復号部 7 6 1 0は、 !_〇口生成部 7 6 1 1 と、 周囲探索部 7 6 1
2と、 予測部 7 6 1 3と、 算術復号部 7 6 1 4と、 逆量子化部 7 6 1 5と、 復号値生成部 7 6 1 6と、 メモリ 7 6 1 7と、 を含む。
[0816] !_〇口生成部 7 6 1 1は、 位置情報復号部 (不図示) により復号された三 次元点の位置情報
Figure imgf000165_0001
「ソ情報) を用いて !_〇口を生成する。
[0817] 周囲探索部 7 6 1 2は、 !_〇 0生成部 7 6 1 1 による !_〇 0の生成結果と 各三次元点間の距離を示す距離情報とを用いて、 各三次元点に隣接する近隣 三次元点を探索する。
[0818] 予測部 7 6 1 3は、 復号対象の対象三次元点の属性情報の予測値を生成す る。 予測部 7 6 1 3は、 例えば、 ステップ 3 7 6 4 5の処理を行う。
[0819] 算術復号部 7 6 1 4は、 属性情報符号化部 7 6 0 0より取得したビッ トス トリーム内の予測残差を算術復号する。 算術復号部 7 6 1 4は、 各種ヘッダ 情報を復号してもよい。 また、 算術復号部 7 6 1 4は、 算術復号した予測モ —ドを予測部 7 6 1 3に出力してもよい。 この場合、 予測部 7 6 1 3は、 算 術復号部 7 6 1 4において算術復号されることで得られた予測モードを用い て予測値を算出してもよい。 〇 2020/175708 164 卩(:171? 2020 /008540
[0820] 逆量子化部 7 6 1 5は、 算術復号部 7 6 1 4が算術復号した予測残差を逆 量子化する。
[0821 ] 復号値生成部 7 6 1 6は、 予測部 7 6 1 3により生成された予測値と逆量 子化部 7 6 1 5により逆量子化された後の予測残差とを加算して復号値を生 成する。 復号値生成部 7 6 1 6は、 復号された属性情報データを他の装置へ 出力する。
[0822] メモリ 7 6 1 7は、 復号値生成部 7 6 1 6により復号された各三次元点の 属性情報の復号値を記憶するメモリである。 例えば、 予測部 7 6 1 3は、 ま だ復号していない三次元点の予測値を生成する場合に、 メモリ 7 6 1 7に記 憶されている各三次元点の属性情報の復号値を利用して予測値を生成する。
[0823] 以上のように、 本実施の形態に係る三次元データ符号化装置は、 図 1 0 6 に示す処理を行う。 三次元データ符号化装置は、 複数の三次元点を符号化す る三次元データ符号化方法であって、 複数の三次元点のうちで、 第 1三次元 点の周囲の複数の第 2三次元点の中から、 前記第 1三次元点に距離が近い順 に 1\1個の第 2三次元点を、 前記第 1三次元点の属性情報の予測値を算出する ための候補として選択する (3 7 6 8 1) 。 三次元データ符号化装置は、 前 記候補として選択した前記 !\1個の第 2三次元点の属性情報を用いて予測値を 算出する (3 7 6 8 2) 。 三次元データ符号化装置は、 前記第 1三次元点の 属性情報と、 算出された前記予測値との差分である予測残差を算出する (3 7 6 8 3) 。 三次元データ符号化装置は、 前記予測残差を含むビッ トストリ —ムを生成する (3 7 6 8 4) 。 三次元データ符号化装置は、 前記候補の選 択 (3 7 6 8 1) では、 前記複数の第 2三次元点の中に前記第 1三次元点と の間の距離が等しい複数の第 3三次元点がある場合、 前記第 1三次元点の第 1モートンコードに基づく優先順に前記複数の第 3三次元点から前記候補を 選択する。
[0824] これにより、 符号化対象の第 1三次元点に近い第 2三次元点を、 予測値を 算出するために用いる候補として選択することができるため、 符号化効率を 向上させることができる。 〇 2020/175708 165 卩(:171? 2020 /008540
[0825] 例えば、 前記優先順は、 前記複数の第 3三次元点のモートンコードで定め られる順序であって、 前記第 1モートンコードに近いモートンコードを有す る第 3三次元点の順序である。
[0826] 例えば、 前記優先順は、 前記複数の第 3三次元点のうちで前記第 1モート ンコードに近いモートンコードを有する第 4三次元点の第 2モートンコード より小さいモートンコードを有する複数の第 3三次元点を含む第 1 グループ と、 前記第 2モートンコードよりも大きいモートンコードを有する複数の第 3三次元点を含む第 2グループとから交互に 1つずつ前記候補を選択すると きの、 前記第 2モートンコードに近い第 3三次元点の順序である。
[0827] 例えば、 前記第 1三次元点と、 前記複数の第 3三次元点とは、 互いに異な る階層に属する。
[0828] 例えば、 前記優先順は、 前記第 1モートンコードより小さいモートンコー ドを有する複数の第 3三次元点を含む第 1 グループと、 前記第 1モートンコ -ドよりも大きいモートンコードを有する複数の第 3三次元点を含む第 2グ ループとの _方に属する複数の第 3三次元点のモートンコードで定められる 順序であって、 前記第 1モートンコードに近い第 3三次元点の順序である。
[0829] 例えば、 前記第 1三次元点と、 前記複数の第 3三次元点とは、 同一の階層 に属する。
[0830] 例えば、 三次元データ符号化装置は、 プロセッサと、 メモリとを備え、 プ ロセッサは、 メモリを用いて、 上記の処理を行う。
[0831 ] また、 本実施の形態に係る三次元データ復号装置は、 図 1 0 7に示す処理 を行う。 三次元データ復号装置は、 複数の三次元点を復号する三次元データ 復号方法であって、 ビッ トストリームを取得することで前記複数の三次元点 のうちの第 1三次元点の予測残差を取得する ( 3 7 6 9 1 ) 。 三次元データ 復号装置は、 前記複数の三次元点のうちで、 前記第 1三次元点の周囲の複数 の第 2三次元点の中から、 前記第 1三次元点に距離が近い順に 1\1個の第 2三 次元点を、 前記第 1三次元点の属性情報の予測値を算出するための候補とし て選択する ( 3 7 6 9 2 ) 。 三次元データ復号装置は、 前記候補として選択 〇 2020/175708 166 卩(:171? 2020 /008540
した前記 1\1個の第 2三次元点の属性情報を用いて予測値を算出する ( 3 7 6 9 3 ) 。 三次元データ復号装置は、 前記予測値と前記予測残差とを加算する ことで、 前記第 1三次元点の属性情報を算出する ( 3 7 6 9 4 ) 。 三次元デ —夕復号装置は、 前記候補の選択 ( 3 7 6 9 2 ) では、 前記複数の第 2三次 元点の中に前記第 1三次元点との間の距離が等しい複数の第 3三次元点があ る場合、 前記第 1三次元点の第 1モ_トンコ _ドに基づく優先順に前記複数 の第 3三次元点から前記候補を選択する。
[0832] これによれば、 処理対象の第 1三次元点の属性情報を適切に復号すること ができる。
[0833] 例えば、 前記優先順は、 前記複数の第 3三次元点のモートンコードで定め られる順序であって、 前記第 1モートンコードに近いモートンコードを有す る第 3三次元点の順序である。
[0834] 例えば、 前記優先順は、 前記複数の第 3三次元点のうちで前記第 1モート ンコードに近いモートンコードを有する第 4三次元点の第 2モートンコード より小さいモートンコードを有する複数の第 3三次元点を含む第 1 グループ と、 前記第 2モートンコードよりも大きいモートンコードを有する複数の第 3三次元点を含む第 2グループとから交互に 1つずつ前記候補を選択すると きの、 前記第 2モートンコードに近い第 3三次元点の順序である。
[0835] 例えば、 前記第 1三次元点と、 前記複数の第 3三次元点とは、 互いに異な る階層に属する。
[0836] 例えば、 前記優先順は、 前記第 1モートンコードより小さいモートンコー ドを有する複数の第 3三次元点を含む第 1 グループと、 前記第 1モートンコ -ドよりも大きいモートンコードを有する複数の第 3三次元点を含む第 2グ ループとの _方に属する複数の第 3三次元点のモートンコードで定められる 順序であって、 前記第 1モートンコードに近い第 3三次元点の順序である。
[0837] 例えば、 前記第 1三次元点と、 前記複数の第 3三次元点とは、 同一の階層 に属する。
[0838] 例えば、 三次元データ復号装置は、 プロセッサと、 メモリとを備え、 プロ セッサは、 メモリを用いて、 上記の処理を行う。
[0839] 上記実施の形態では、 L〇 D n階層より上位の階層を L〇 D ( n _ 1 ) 階 層と定義したが、 L〇 D n階層より上位の階層を L〇 D (n + 1 ) 階層と定 義してもよい。 つまり、 nが示す数値が小さいほどより上位の階層を示して いてもよいし、 nが示す数値が大きいほどより上位の階層を示していてもよ い。
[0840] 以上、 本開示の実施の形態に係る三次元データ符号化装置及び三次元デー 夕復号装置等について説明したが、 本開示は、 この実施の形態に限定される ものではない。
[0841] また、 上記実施の形態に係る三次元データ符号化装置及び三次元データ復 号装置等に含まれる各処理部は典型的には集積回路である LS I として実現 される。 これらは個別に 1チップ化されてもよいし、 一部又は全てを含むよ うに 1チップ化されてもよい。
[0842] また、 集積回路化は LS 丨 に限るものではなく、 専用回路又は汎用プロセ ッサで実現してもよい。 LS 丨製造後にプログラムすることが可能な F P G A (F i e l d P r o g r amm a b l e G a t e A r r a y) 、 又 は LS I 内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル - プロセッサを利用してもよい。
[0843] また、 上記各実施の形態において、 各構成要素は、 専用のハードウェアで 構成されるか、 各構成要素に適したソフトウェアプログラムを実行すること によって実現されてもよい。 各構成要素は、 C P Uまたはプロセッサなどの プログラム実行部が、 ハードディスクまたは半導体メモリなどの記録媒体に 記録されたソフトウェアプログラムを読み出して実行することによって実現 されてもよい。
[0844] また、 本開示は、 三次元データ符号化装置及び三次元データ復号装置等に より実行される三次元データ符号化方法又は三次元データ復号方法等として 実現されてもよい。
[0845] また、 ブロック図における機能ブロックの分割は一例であり、 複数の機能 〇 2020/175708 168 卩(:171? 2020 /008540
ブロックを一つの機能ブロックとして実現したり、 一つの機能ブロックを複 数に分割したり、 一部の機能を他の機能ブロックに移してもよい。 また、 類 似する機能を有する複数の機能ブロックの機能を単一のハードウエア又はソ フトウエアが並列又は時分割に処理してもよい。
[0846] また、 フローチヤートにおける各ステップが実行される順序は、 本開示を 具体的に説明するために例示するためのものであり、 上記以外の順序であつ てもよい。 また、 上記ステップの一部が、 他のステップと同時 (並列) に実 行されてもよい。
[0847] 以上、 一つまたは複数の態様に係る三次元データ符号化装置及び三次元デ —夕復号装置等について、 実施の形態に基づいて説明したが、 本開示は、 こ の実施の形態に限定されるものではない。 本開示の趣旨を逸脱しない限り、 当業者が思いつく各種変形を本実施の形態に施したものや、 異なる実施の形 態における構成要素を組み合わせて構築される形態も、 一つまたは複数の態 様の範囲内に含まれてもよい。
産業上の利用可能性
[0848] 本開示は、 三次元データ符号化装置及び三次元データ復号装置に適用でき る。
符号の説明
[0849] 1 00, 400 三次元データ符号化装置
1 01、 201、 401、 501 取得部
1 02、 402 符号化領域決定部
1 03 分割部
1 04、 644 符号化部
1 1 1 三次元データ
1 1 2、 2 1 1、 4 1 3、 4 1 4、 5 1 1、 634 符号化三次元データ 200、 500 三次元データ復号装置
202 復号開始◦ 03決定部
203 復号 3 (3決定部 〇 2020/175708 169 卩(:17 2020 /008540
204、 625 復号部
2 1 2、 5 1 2、 5 1 3 復号三次元データ
Figure imgf000171_0001
41 1 入力三次元データ
4 1 2 抽出三次元データ
502 ヘッダ解析部
503 \ZVL D復号部
504 3\^/!_ 0復号部
620、 620 三次元データ作成装置
62 1、 64 1 三次元データ作成部
622 要求範囲決定部
623 探索部
624、 642 受信部
626 合成部
63 1、 65 1 センサ情報
632 第 1三次元データ
633 要求範囲情報
635 第 2三次元データ
636 第 3三次元データ
640 三次元データ送信装置
643 抽出部
645 送信部
652 第 5三次元データ
654 第 6三次元データ
700 三次元情報処理装置
701 三次元マツプ取得部 \¥02020/175708 170 ?01/^2020/008540
702 自車検知データ取得部
703 異常ケース判定部
704 対処動作決定部
705 動作制御部
7 1 1 三次元マップ
7 1 2 自車検知三次元データ
81 0 三次元データ作成装置
81 1 データ受信部
81 2、 81 9 通信部
81 3 受信制御部
81 4、 82 1 フォーマッ ト変換部
81 5 センサ
81 6 三次元データ作成部
81 7 三次元データ合成部
81 8 三次元データ蓄積部
820 送信制御部
822 データ送信部
83 1、 832、 834、 835、 836、 837 三次元データ 833 センサ情報
901 サーバ
902、 902八、 902巳、 9020 クライアント装置
1 01 1、 1 1 1 1 データ受信部
1 01 2、 1 020、 1 1 1 2、 1 1 20 通信部
1 01 3、 1 1 1 3 受信制御部
1 01 4、 1 01 9、 1 1 1 4、 1 1 1 9 フォーマット変換部 1 01 5 センサ
1 01 6、 1 1 1 6 三次元データ作成部
1 01 7 三次元画像処理部 1 01 8、 1 1 1 8 三次元データ蓄積部 1 02 1、 1 1 2 1 送信制御部
1 022、 1 1 22 データ送信部
1 03 1、 1 032、 1 1 35 三次元マップ
1 033、 1 037、 1 1 32 センサ情報
1 034、 1 035、 1 1 34 三次元データ 1 1 1 7 三次元データ合成部
1 201 三次元マップ圧縮/復号処理部 1 202 センサ情報圧縮/復号処理部
1 2 1 1 三次元マップ復号処理部
1 2 1 2 センサ情報圧縮処理部
1 300 三次元データ符号化装置
1 301 分割部
1 302 減算部
1 303 変換部
1 304 量子化部
1 305、 1 402 逆量子化部
1 306、 1 403 逆変換部
1 307、 1 404 加算部
1 308、 1 405 参照ボリユームメモリ 1 309、 1 406 イントラ予測部
1 3 1 0、 1 407 参照スぺースメモリ 1 3 1 1 , 1 408 インター予測部
1 3 1 2、 1 409 予測制御部
1 3 1 3 エントロピー符号化部
1 400 三次元データ復号装置
1 401 エントロピー復号部
3000 三次元データ符号化装置 3001 位置情報符号化部
3002 属性情報再割り当て部
3003 属性情報符号化部
301 0 三次元データ復号装置
301 1 位置情報復号部
301 2 属性情報復号部 7600 属性情報符号化部 7601 L〇 D生成部
7602 周囲探索部
7603 予測部
7604 予測残差算出部
7605 量子化部
7606 算術符号化部
7607 逆量子化部
7608 復号値生成部
7609、 761 7 メモリ 761 0 属性情報復号部
761 1 L〇 D生成部
761 2 周囲探索部
761 3 予測部
761 4 算術復号部
761 5 逆量子化部
761 6 復号値生成部

Claims

\¥0 2020/175708 173 卩(:17 2020 /008540
請求の範囲
[請求項 1 ] 複数の三次元点を符号化する三次元データ符号化方法であって、 前記複数の三次元点のうちで、 第 1三次元点の周囲の複数の第 2三 次元点の中から、 前記第 1三次元点に距離が近い順に 1\1個の第 2三次 元点を、 前記第 1三次元点の属性情報の予測値を算出するための候補 として選択し、
前記候補として選択した前記 1\1個の第 2三次元点の属性情報を用い て予測値を算出し、
前記第 1三次元点の属性情報と、 算出された前記予測値との差分で ある予測残差を算出し、
前記予測残差を含むビッ トストリームを生成し、 前記候補の選択では、 前記複数の第 2三次元点の中に前記第 1三次 元点との間の距離が等しい複数の第 3三次元点がある場合、 前記第 1 三次元点の第 1モートンコードに基づく優先順に前記複数の第 3三次 元点から前記候補を選択する
三次元データ符号化方法。
[請求項 2] 前記優先順は、 前記複数の第 3三次元点のモートンコードで定めら れる順序であって、 前記第 1モートンコードに近いモートンコードを 有する第 3三次元点の順序である
請求項 1 に記載の三次元データ符号化方法。
[請求項 3] 前記優先順は、 前記複数の第 3三次元点のうちで前記第 1モートン コードに近いモートンコードを有する第 4三次元点の第 2モートンコ —ドより小さいモートンコードを有する複数の第 3三次元点を含む第 1 グループと、 前記第 2モートンコードよりも大きいモートンコード を有する複数の第 3三次元点を含む第 2グループとから交互に 1つず つ前記候補を選択するときの、 前記第 2モートンコードに近い第 3三 次元点の順序である
請求項 1 に記載の三次元データ符号化方法。 〇 2020/175708 174 卩(:171? 2020 /008540
[請求項 4] 前記第 1三次元点と、 前記複数の第 3三次元点とは、 互いに異なる 階層に属する
請求項 3に記載の三次元データ符号化方法。
[請求項 5] 前記優先順は、 前記第 1モートンコードより小さいモートンコード を有する複数の第 3三次元点を含む第 1 グループと、 前記第 1モート ンコードよりも大きいモートンコードを有する複数の第 3三次元点を 含む第 2グループとの一方に属する複数の第 3三次元点のモートンコ —ドで定められる順序であって、 前記第 1モートンコードに近い第 3 三次元点の順序である
請求項 1 に記載の三次元データ符号化方法。
[請求項 6] 前記第 1三次元点と、 前記複数の第 3三次元点とは、 同一の階層に 属する
請求項 5に記載の三次元データ符号化方法。
[請求項 7] 複数の三次元点を復号する三次元データ復号方法であって、
ビッ トストリームを取得することで前記複数の三次元点のうちの第 1三次元点の予測残差を取得し、
前記複数の三次元点のうちで、 前記第 1三次元点の周囲の複数の第 2三次元点の中から、 前記第 1三次元点に距離が近い順に 1\1個の第 2 三次元点を、 前記第 1三次元点の属性情報の予測値を算出するための 候補として選択し、
前記候補として選択した前記 1\1個の第 2三次元点の属性情報を用い て予測値を算出し、
前記予測値と前記予測残差とを加算することで、 前記第 1三次元点 の属性情報を算出し、
前記候補の選択では、 前記複数の第 2三次元点の中に前記第 1三次 元点との間の距離が等しい複数の第 3三次元点がある場合、 前記第 1 三次元点の第 1モートンコードに基づく優先順に前記複数の第 3三次 元点から前記候補を選択する 〇 2020/175708 175 卩(:171? 2020 /008540
二次兀丁 _夕復号力法。
[請求項 8] 前記優先順は、 前記複数の第 3三次元点のモートンコードで定めら れる順序であって、 前記第 1モートンコードに近いモートンコードを 有する第 3三次元点の順序である
請求項 7に記載の三次元データ復号方法。
[請求項 9] 前記優先順は、 前記複数の第 3三次元点のうちで前記第 1モートン コードに近いモートンコードを有する第 4三次元点の第 2モートンコ —ドより小さいモートンコードを有する複数の第 3三次元点を含む第 1 グループと、 前記第 2モートンコードよりも大きいモートンコード を有する複数の第 3三次元点を含む第 2グループとから交互に 1つず つ前記候補を選択するときの、 前記第 2モートンコードに近い第 3三 次元点の順序である
請求項 7に記載の三次元データ復号方法。
[請求項 10] 前記第 1三次元点と、 前記複数の第 3三次元点とは、 互いに異なる 階層に属する
請求項 9に記載の三次元データ復号方法。
[請求項'! ' I ] 前記優先順は、 前記第 1モートンコードより小さいモートンコード を有する複数の第 3三次元点を含む第 1 グループと、 前記第 1モート ンコードよりも大きいモートンコードを有する複数の第 3三次元点を 含む第 2グループとの一方に属する複数の第 3三次元点のモートンコ —ドで定められる順序であって、 前記第 1モートンコードに近い第 3 三次元点の順序である
請求項 7に記載の三次元データ復号方法。
[請求項 12] 前記第 1三次元点と、 前記複数の第 3三次元点とは、 同一の階層に 属する
請求項 1 1 に記載の三次元データ復号方法。
[請求項 13] 複数の三次元点を符号化する三次元データ符号化装置であって、 プロセッサと、 〇 2020/175708 176 卩(:171? 2020 /008540
メモリとを備え、
前記プロセッサは、 前記メモリを用いて、
前記複数の三次元点のうちで、 第 1三次元点の周囲の複数の第 2三 次元点の中から、 前記第 1三次元点に距離が近い順に 1\1個の第 2三次 元点を、 前記第 1三次元点の属性情報の予測値を算出するための候補 として選択し、
前記候補として選択した前記 1\1個の第 2三次元点の属性情報を用い て予測値を算出し、
前記第 1三次元点の属性情報と、 算出された前記予測値との差分で ある予測残差を算出し、
前記予測残差を含むビッ トストリームを生成し、 前記候補の選択では、 前記複数の第 2三次元点の中に前記第 1三次 元点との間の距離が等しい複数の第 3三次元点がある場合、 前記第 1 三次元点の第 1モートンコードに基づく優先順に前記複数の第 3三次 元点から前記候補を選択する
三次元データ符号化装置。
[請求項 14] 複数の三次元点を復号する三次元データ復号装置であって、
プロセッサと、
メモリとを備え、
ビッ トストリームを取得することで前記複数の三次元点のうちの第 1三次元点の予測残差を取得し、
前記複数の三次元点のうちで、 前記第 1三次元点の周囲の複数の第 2三次元点の中から、 前記第 1三次元点に距離が近い順に 1\1個の第 2 三次元点を、 前記第 1三次元点の属性情報の予測値を算出するための 候補として選択し、
前記候補として選択した前記 1\1個の第 2三次元点の属性情報を用い て予測値を算出し、
前記予測値と前記予測残差とを加算することで、 前記第 1三次元点 177 卩(:171? 2020 /008540
の属性情報を算出し、
前記候補の選択では、 前記複数の第 2三次元点の中に前記第 1三次 元点との間の距離が等しい複数の第 3三次元点がある場合、 前記第 1 三次元点の第 1モートンコードに基づく優先順に前記複数の第 3三次 元点から前記候補を選択する
三次元データ復号装置。
PCT/JP2020/008540 2019-02-28 2020-02-28 三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置、及び三次元データ復号装置 Ceased WO2020175708A1 (ja)

Priority Applications (8)

Application Number Priority Date Filing Date Title
CN202080016358.7A CN113474821B (zh) 2019-02-28 2020-02-28 三维数据编码方法、三维数据解码方法、三维数据编码装置、以及三维数据解码装置
CN202510372317.6A CN120223904A (zh) 2019-02-28 2020-02-28 编码方法、解码方法、编码装置、解码装置及计算机程序产品
JP2021502671A JP7448517B2 (ja) 2019-02-28 2020-02-28 三次元データの符号化方法、三次元データの復号方法、三次元データの符号化装置、及び三次元データの復号装置
CN202510372321.2A CN120223905A (zh) 2019-02-28 2020-02-28 编码方法、解码方法、编码装置及解码装置
US17/403,113 US12073591B2 (en) 2019-02-28 2021-08-16 Three-dimensional data encoding method, three-dimensional data decoding method, three-dimensional data encoding device, and three-dimensional data decoding device
JP2024030467A JP7651748B2 (ja) 2019-02-28 2024-02-29 符号化方法
US18/776,497 US20240371045A1 (en) 2019-02-28 2024-07-18 Three-dimensional data encoding method, three-dimensional data decoding method, three-dimensional data encoding device, and three-dimensional data decoding device
JP2025040561A JP2025085721A (ja) 2019-02-28 2025-03-13 符号化方法、復号方法、符号化装置、復号装置、及び、プログラム

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201962811806P 2019-02-28 2019-02-28
US62/811,806 2019-02-28

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US17/403,113 Continuation US12073591B2 (en) 2019-02-28 2021-08-16 Three-dimensional data encoding method, three-dimensional data decoding method, three-dimensional data encoding device, and three-dimensional data decoding device

Publications (1)

Publication Number Publication Date
WO2020175708A1 true WO2020175708A1 (ja) 2020-09-03

Family

ID=72239423

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2020/008540 Ceased WO2020175708A1 (ja) 2019-02-28 2020-02-28 三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置、及び三次元データ復号装置

Country Status (4)

Country Link
US (2) US12073591B2 (ja)
JP (3) JP7448517B2 (ja)
CN (3) CN120223904A (ja)
WO (1) WO2020175708A1 (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115412713A (zh) * 2021-05-26 2022-11-29 荣耀终端有限公司 一种点云深度信息的预测编解码方法及装置
WO2022257143A1 (zh) * 2021-06-11 2022-12-15 Oppo广东移动通信有限公司 帧内预测、编解码方法及装置、编解码器、设备、介质
JP2024501171A (ja) * 2020-12-29 2024-01-11 クアルコム,インコーポレイテッド ジオメトリ点群圧縮のためのインター予測コーディング
JP2024527337A (ja) * 2021-07-02 2024-07-24 北京小米移動軟件有限公司 点群を符号化及び復号化する方法
JP2024542319A (ja) * 2021-11-26 2024-11-14 北京字節跳動網絡技術有限公司 点群コーディングのための方法、装置及び媒体
WO2025004935A1 (ja) * 2023-06-30 2025-01-02 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 符号化方法、復号方法、符号化装置及び復号装置

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021002443A1 (ja) * 2019-07-02 2021-01-07 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置、及び三次元データ復号装置
US20230111994A1 (en) * 2020-04-03 2023-04-13 Lg Electronics Inc. Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method
CN115914651A (zh) * 2021-08-25 2023-04-04 腾讯科技(深圳)有限公司 点云编解码方法、装置、设备及存储介质
US11710258B1 (en) * 2023-01-25 2023-07-25 Illuscio, Inc. Systems and methods for compressing three-dimensional image data

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018071011A1 (en) * 2016-10-12 2018-04-19 Hewlett-Packard Development Company, Lp Serialising a representation of a three dimensional object

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4999705A (en) * 1990-05-03 1991-03-12 At&T Bell Laboratories Three dimensional motion compensated video coding
US8111750B2 (en) * 2007-03-20 2012-02-07 Himax Technologies Limited System and method for 3-D recursive search motion estimation
CN104246831B (zh) 2012-07-30 2016-12-28 三菱电机株式会社 地图显示装置
US10452989B2 (en) * 2015-05-05 2019-10-22 Kyndi, Inc. Quanton representation for emulating quantum-like computation on classical processors
KR102733195B1 (ko) * 2015-12-14 2024-11-25 파나소닉 인텔렉츄얼 프로퍼티 코포레이션 오브 아메리카 삼차원 데이터 부호화 방법, 삼차원 데이터 복호 방법, 삼차원 데이터 부호화 장치 및 삼차원 데이터 복호 장치
US10694210B2 (en) * 2016-05-28 2020-06-23 Microsoft Technology Licensing, Llc Scalable point cloud compression with transform, and corresponding decompression
US10223810B2 (en) * 2016-05-28 2019-03-05 Microsoft Technology Licensing, Llc Region-adaptive hierarchical transform and entropy coding for point cloud compression, and corresponding decompression
WO2017217191A1 (ja) * 2016-06-14 2017-12-21 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置及び三次元データ復号装置
WO2018016168A1 (ja) * 2016-07-19 2018-01-25 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 三次元データ作成方法、三次元データ送信方法、三次元データ作成装置及び三次元データ送信装置
CN114627664B (zh) * 2016-08-26 2025-09-30 松下电器(美国)知识产权公司 三维信息处理方法以及三维信息处理装置
WO2019012975A1 (ja) * 2017-07-10 2019-01-17 ソニー株式会社 情報処理装置および方法
US10861196B2 (en) * 2017-09-14 2020-12-08 Apple Inc. Point cloud compression
BR112021005904A2 (pt) * 2018-10-02 2021-07-27 Sony Corporation dispositivo e método de processamento de imagem
JP2022047546A (ja) * 2019-01-08 2022-03-25 ソニーグループ株式会社 情報処理装置および方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018071011A1 (en) * 2016-10-12 2018-04-19 Hewlett-Packard Development Company, Lp Serialising a representation of a three dimensional object

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
YITING SHAO , QI ZHANG , GE LI , ZHU LI , LI LI: "Hybrid Point Cloud Attribute Compression Using Slice-based Layered Structure and Block-based Intra Prediction", MULTIMEDIA, 26 October 2018 (2018-10-26), Seoul South Korea, pages 1199 - 1207, XP058420837 *

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2024501171A (ja) * 2020-12-29 2024-01-11 クアルコム,インコーポレイテッド ジオメトリ点群圧縮のためのインター予測コーディング
JP7834755B2 (ja) 2020-12-29 2026-03-24 クアルコム,インコーポレイテッド ジオメトリ点群圧縮のためのインター予測コーディング
CN115412713A (zh) * 2021-05-26 2022-11-29 荣耀终端有限公司 一种点云深度信息的预测编解码方法及装置
US12489920B2 (en) 2021-05-26 2025-12-02 Honor Device Co., Ltd. Method and apparatus for predictively coding and decoding depth information of point cloud
WO2022257143A1 (zh) * 2021-06-11 2022-12-15 Oppo广东移动通信有限公司 帧内预测、编解码方法及装置、编解码器、设备、介质
JP2024527337A (ja) * 2021-07-02 2024-07-24 北京小米移動軟件有限公司 点群を符号化及び復号化する方法
JP7667887B2 (ja) 2021-07-02 2025-04-23 北京小米移動軟件有限公司 点群を符号化及び復号化する方法
JP2024542319A (ja) * 2021-11-26 2024-11-14 北京字節跳動網絡技術有限公司 点群コーディングのための方法、装置及び媒体
JP7708511B2 (ja) 2021-11-26 2025-07-15 北京字節跳動網絡技術有限公司 点群コーディングのための方法、装置及び媒体
WO2025004935A1 (ja) * 2023-06-30 2025-01-02 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 符号化方法、復号方法、符号化装置及び復号装置

Also Published As

Publication number Publication date
CN113474821A (zh) 2021-10-01
JP7651748B2 (ja) 2025-03-26
US20210375004A1 (en) 2021-12-02
JPWO2020175708A1 (ja) 2020-09-03
JP2024052911A (ja) 2024-04-12
CN120223904A (zh) 2025-06-27
JP2025085721A (ja) 2025-06-05
JP7448517B2 (ja) 2024-03-12
CN113474821B (zh) 2025-04-18
US12073591B2 (en) 2024-08-27
US20240371045A1 (en) 2024-11-07
CN120223905A (zh) 2025-06-27

Similar Documents

Publication Publication Date Title
JP7728907B2 (ja) 符号化方法、復号方法、符号化装置、及び復号装置
CN113366536B (zh) 三维数据编码方法、三维数据解码方法、三维数据编码装置、以及三维数据解码装置
JP7167147B2 (ja) 三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置、及び三次元データ復号装置
WO2020175708A1 (ja) 三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置、及び三次元データ復号装置
JP7167144B2 (ja) 三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置、及び三次元データ復号装置
JP7245244B2 (ja) 三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置、及び三次元データ復号装置
JP7330962B2 (ja) 三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置、及び三次元データ復号装置
JP7747798B2 (ja) 三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置、及び三次元データ復号装置
JP7568816B2 (ja) 三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置、及び三次元データ復号装置
JP7656133B2 (ja) 符号化方法、復号方法、符号化装置、及び復号装置
KR102837438B1 (ko) 삼차원 데이터 부호화 방법, 삼차원 데이터 복호 방법, 삼차원 데이터 부호화 장치, 및 삼차원 데이터 복호 장치
WO2020175588A1 (ja) 三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置、及び三次元データ復号装置
JP7444849B2 (ja) 三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置、及び三次元データ復号装置

Legal Events

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

Ref document number: 20763209

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2021502671

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205 DATED 02/12/2021)

122 Ep: pct application non-entry in european phase

Ref document number: 20763209

Country of ref document: EP

Kind code of ref document: A1

WWG Wipo information: grant in national office

Ref document number: 202080016358.7

Country of ref document: CN