WO2023132331A1 - Point cloud decoding device, point cloud decoding method, and program - Google Patents

Point cloud decoding device, point cloud decoding method, and program Download PDF

Info

Publication number
WO2023132331A1
WO2023132331A1 PCT/JP2023/000015 JP2023000015W WO2023132331A1 WO 2023132331 A1 WO2023132331 A1 WO 2023132331A1 JP 2023000015 W JP2023000015 W JP 2023000015W WO 2023132331 A1 WO2023132331 A1 WO 2023132331A1
Authority
WO
WIPO (PCT)
Prior art keywords
node
size
target
synthesizing unit
tree
Prior art date
Application number
PCT/JP2023/000015
Other languages
French (fr)
Japanese (ja)
Inventor
恭平 海野
圭 河村
Original Assignee
Kddi株式会社
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 Kddi株式会社 filed Critical Kddi株式会社
Publication of WO2023132331A1 publication Critical patent/WO2023132331A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • 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/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Landscapes

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

Abstract

In a point cloud decoding device 200 according to the present invention, a tree synthesis unit 2020 layeredly decodes occupation information in geometric information, uses, while switching between, a plurality of contexts during decoding of the occupation information, refers to, as reference frames, decoded frames temporally different from a target frame during the switching between the contexts, and performs switching of a reference region to be set in each of the reference frames, for each layer, between a region having a size equal to the node size of a target layer and a region having a size different from the node size of the target layer.

Description

点群復号装置、点群復号方法及びプログラムPoint group decoding device, point group decoding method and program
 本発明は、点群復号装置、点群復号方法及びプログラムに関する。 The present invention relates to a point cloud decoding device, a point cloud decoding method, and a program.
 非特許文献2では、点群の幾何情報のインター予測に関する技術が開示されている。 Non-Patent Document 2 discloses a technique related to inter-prediction of geometric information of point clouds.
 しかしながら、非特許文献2の方法では、動き補償した参照点群の点の分布を基に、符号化対象点群の部分空間(ノード)毎の点の存在有無を推定する。この時、特に、参照点群及び符号化対象点群の両方が疎な場合、動き補償の結果に少しでもずれがあると、十分に時間方向の相関を活用できないという問題点があった。 However, in the method of Non-Patent Document 2, the presence or absence of points in each subspace (node) of the point cloud to be encoded is estimated based on the distribution of points in the motion-compensated reference point cloud. At this time, especially when both the reference point group and the encoding target point group are sparse, there is a problem that if there is even a slight deviation in the result of motion compensation, the correlation in the time direction cannot be fully utilized.
 そこで、本発明は、上述の課題に鑑みてなされたものであり、幾何情報のインター予測における符号化効率を高めることができる点群復号装置、点群復号方法及びプログラムを提供することを目的とする。 Therefore, the present invention has been made in view of the above problems, and an object thereof is to provide a point cloud decoding device, a point cloud decoding method, and a program that can increase the encoding efficiency in inter prediction of geometric information. do.
 本発明の第1の特徴は、点群復号装置であって、ツリー合成部を備え、前記ツリー合成部は、階層的に幾何情報の占有情報を復号し、前記占有情報を復号する際に複数のコンテクストを切り替えて使用し、前記コンテクストの切り替えに、対象フレームと時間的に異なる復号済みのフレームを参照フレームとして参照し、前記参照フレーム内で参照する領域を、前記階層ごとに、対象階層のノードサイズと同一の大きさの領域とするか、前記対象階層のノードサイズと異なる大きさの領域とするかを切り替えるように構成されていることを要旨とする。 A first feature of the present invention is a point group decoding device, comprising a tree synthesis unit, the tree synthesis unit hierarchically decodes occupation information of geometric information, and decodes a plurality of context switching, referencing a decoded frame temporally different from the target frame as a reference frame for switching the context, The gist of the present invention is that it is configured to switch between an area having the same size as the node size and an area having a size different from the node size of the target hierarchy.
 本発明の第2の特徴は、点群復号方法であって、階層的に幾何情報の占有情報を復号する工程と、前記占有情報を復号する際に複数のコンテクストを切り替えて使用する工程と、前記コンテクストの切り替えに、対象フレームと時間的に異なる復号済みのフレームを参照フレームとして参照する工程と、前記参照フレーム内で参照する領域を、前記階層ごとに、対象階層のノードサイズと同一の大きさの領域とするか、前記対象階層のノードサイズと異なる大きさの領域とするかを切り替える工程とを備えることを要旨とする。 A second feature of the present invention is a point group decoding method, comprising the step of hierarchically decoding occupation information of geometric information; the step of switching and using a plurality of contexts when decoding the occupation information; a step of referring to a decoded frame temporally different from a target frame as a reference frame for the switching of the context; a step of switching between an area with a smaller size and an area with a size different from the node size of the target hierarchy.
 本発明の第3の特徴は、コンピュータを、点群復号装置として機能させるプログラムであって、前記点群復号装置は、ツリー合成部を備え、前記ツリー合成部は、階層的に幾何情報の占有情報を復号し、前記占有情報を復号する際に複数のコンテクストを切り替えて使用し、前記コンテクストの切り替えに、対象フレームと時間的に異なる復号済みのフレームを参照フレームとして参照し、前記参照フレーム内で参照する領域を、前記階層ごとに、対象階層のノードサイズと同一の大きさの領域とするか、前記対象階層のノードサイズと異なる大きさの領域とするかを切り替えるように構成されていることを要旨とする。 A third feature of the present invention is a program for causing a computer to function as a point cloud decoding device, wherein the point cloud decoding device comprises a tree synthesizing unit, and the tree synthesizing unit hierarchically occupies geometric information. decoding information, switching between a plurality of contexts when decoding the occupancy information, referring to a decoded frame temporally different from a target frame as a reference frame for switching the context, and The area referenced by is switched between an area having the same size as the node size of the target hierarchy and an area having a size different from the node size of the target hierarchy for each layer. This is the gist of it.
 本発明によれば、幾何情報のインター予測における符号化効率を高めることができる点群復号装置、点群復号方法及びプログラムを提供することができる。 According to the present invention, it is possible to provide a point cloud decoding device, a point cloud decoding method, and a program that can improve the encoding efficiency in inter-prediction of geometric information.
図1は、一実施形態に係る点群処理システム10の構成の一例を示す図である。FIG. 1 is a diagram showing an example of the configuration of a point cloud processing system 10 according to one embodiment. 図2は、一実施形態に係る点群復号装置200の機能ブロックの一例を示す図である。FIG. 2 is a diagram showing an example of functional blocks of the point cloud decoding device 200 according to one embodiment. 図3は、一実施形態に係る点群復号装置200の幾何情報復号部2010で受信する符号化データ(ビットストリーム)の構成の一例を示す図である。FIG. 3 is a diagram showing an example of the configuration of encoded data (bitstream) received by the geometric information decoding unit 2010 of the point group decoding device 200 according to one embodiment. 図4は、GPS2011のシンタックス構成の一例を示す図である。FIG. 4 is a diagram showing an example of the syntax configuration of GPS2011. 図5は、GSH2012のシンタックス構成の一例を示す図である。FIG. 5 is a diagram showing an example of the syntax configuration of GSH2012. 図6は、一実施形態に係る点群復号装置200のツリー合成部2020における処理の一例を示すフローチャートであるFIG. 6 is a flowchart showing an example of processing in the tree synthesizing unit 2020 of the point cloud decoding device 200 according to one embodiment. 図7は、一実施形態に係る点群復号装置200のツリー合成部2020によるノード毎のoccpancy codeの復号処理の一例を示すフローチャートである。FIG. 7 is a flowchart showing an example of the decoding process of the occpancy code for each node by the tree synthesizing unit 2020 of the point group decoding device 200 according to one embodiment. 図8は、一実施形態に係る点群復号装置200のツリー合成部2020によるインター予測を用いて4種類のコンテクスト(no pred/pred0/pred1/predL)からいずれか1つを選択する処理の一例を示すフローチャートである。FIG. 8 is an example of processing for selecting any one from four types of contexts (no pred/pred0/pred1/predL) using inter prediction by the tree synthesis unit 2020 of the point group decoding device 200 according to one embodiment. It is a flow chart showing. 図9は、一実施形態に係る点群復号装置200の近似表面合成部2030の処理の一例を示すフローチャートである。FIG. 9 is a flowchart showing an example of processing of the approximate surface synthesizing unit 2030 of the point cloud decoding device 200 according to one embodiment. 図10は、一実施形態に係る点群復号装置200の近似表面合成部2030によるTrisoupの頂点位置の復号処理の一例を示すフローチャートである。FIG. 10 is a flowchart illustrating an example of decoding processing of Trisoup vertex positions by the approximate surface synthesizing unit 2030 of the point cloud decoding device 200 according to an embodiment. 図11は、図10におけるステップS1006の処理の一例を説明するための図である。FIG. 11 is a diagram for explaining an example of the processing of step S1006 in FIG. 図12は、図10におけるステップS1006の処理の一例を説明するための図である。FIG. 12 is a diagram for explaining an example of the processing of step S1006 in FIG. 図13は、図10におけるステップS1006の処理の別の一例を説明するための図である。FIG. 13 is a diagram for explaining another example of the processing of step S1006 in FIG. 図14は、図10におけるステップS1006の処理の別の一例を説明するための図である。FIG. 14 is a diagram for explaining another example of the processing of step S1006 in FIG. 図15は、図9におけるステップS902の処理の一例を説明するための図である。FIG. 15 is a diagram for explaining an example of the processing of step S902 in FIG. 図16は、図9におけるステップS902の処理の一例を説明するための図である。FIG. 16 is a diagram for explaining an example of the processing of step S902 in FIG. 図17は、図9におけるステップS902の処理の別の一例を説明するための図である。FIG. 17 is a diagram for explaining another example of the processing of step S902 in FIG. 図18は、図9におけるステップS902の処理の別の一例を説明するための図である。FIG. 18 is a diagram for explaining another example of the processing of step S902 in FIG. 図19は、図9におけるステップS902の処理の別の一例を説明するための図である。FIG. 19 is a diagram for explaining another example of the processing of step S902 in FIG. 図20は、図9におけるステップS902の処理の別の一例を説明するための図である。FIG. 20 is a diagram for explaining another example of the processing of step S902 in FIG. 図21は、一実施形態に係る点群符号化装置100の機能ブロックの一例を示す図である。FIG. 21 is a diagram showing an example of functional blocks of the point cloud encoding device 100 according to one embodiment. 図22は、図7におけるステップS701の処理の一例を示すフローチャートである。FIG. 22 is a flow chart showing an example of the process of step S701 in FIG. 図23は、図22におけるステップS2202の処理の一例を示すフローチャートである。FIG. 23 is a flow chart showing an example of the process of step S2202 in FIG. 図24は、図9におけるステップS902の処理の一例を説明するための図である。FIG. 24 is a diagram for explaining an example of the processing of step S902 in FIG.
 以下、本発明の実施の形態について、図面を参照しながら説明する。なお、以下の実施形態における構成要素は、適宜、既存の構成要素等との置き換えが可能であり、また、他の既存の構成要素との組み合わせを含む様々なバリエーションが可能である。したがって、以下の実施形態の記載をもって、特許請求の範囲に記載された発明の内容を限定するものではない。 Hereinafter, embodiments of the present invention will be described with reference to the drawings. It should be noted that constituent elements in the following embodiments can be appropriately replaced with existing constituent elements and the like, and various variations including combinations with other existing constituent elements are possible. Therefore, the following description of the embodiments is not intended to limit the scope of the invention described in the claims.
(第1実施形態)
 以下、図1~図24を参照して、本発明の第1実施形態に係る点群処理システム10について説明する。図1は、本実施形態に係る実施形態に係る点群処理システム10を示す図である。
(First embodiment)
A point group processing system 10 according to a first embodiment of the present invention will be described below with reference to FIGS. 1 to 24. FIG. FIG. 1 is a diagram showing a point cloud processing system 10 according to an embodiment according to this embodiment.
 図1に示すように、点群処理システム10は、点群符号化装置100及び点群復号装置200を有する。 As shown in FIG. 1, the point cloud processing system 10 has a point cloud encoding device 100 and a point cloud decoding device 200.
 点群符号化装置100は、入力点群信号を符号化することによって符号化データ(ビットストリーム)を生成するように構成されている。点群復号装置200は、ビットストリームを復号することによって出力点群信号を生成するように構成されている4
 なお、入力点群信号及び出力点群信号は、点群内の各点の位置情報と属性情報とから構成される。属性情報は、例えば、各点の色情報や反射率である。
The point cloud encoding device 100 is configured to generate encoded data (bitstream) by encoding an input point cloud signal. The point cloud decoding device 200 is configured to generate an output point cloud signal by decoding the bitstream 4
Note that the input point cloud signal and the output point cloud signal are composed of position information and attribute information of each point in the point cloud. The attribute information is, for example, color information and reflectance of each point.
 ここで、かかるビットストリームは、点群符号化装置100から点群復号装置200に対して伝送路を介して送信されてもよい。また、ビットストリームは、記憶媒体に格納された上で、点群符号化装置100から点群復号装置200に提供されてもよい。 Here, such a bitstream may be transmitted from the point cloud encoding device 100 to the point cloud decoding device 200 via a transmission channel. Also, the bitstream may be stored in a storage medium and then provided from the point cloud encoding device 100 to the point cloud decoding device 200 .
(点群復号装置200)
 以下、図2を参照して、本実施形態に係る点群復号装置200について説明する。図2は、本実施形態に係る点群復号装置200の機能ブロックの一例について示す図である。
(Point group decoding device 200)
The point group decoding device 200 according to this embodiment will be described below with reference to FIG. FIG. 2 is a diagram showing an example of functional blocks of the point group decoding device 200 according to this embodiment.
 図2に示すように、点群復号装置200は、幾何情報復号部2010と、ツリー合成部2020と、近似表面合成部2030と、幾何情報再構成部2040と、逆座標変換部2050と、属性情報復号部2060と、逆量子化部2070と、RAHT部2080と、LoD算出部2090と、逆リフティング部2100と、逆色変換部2110と、フレームバッファ2120とを有する。 As shown in FIG. 2, the point cloud decoding device 200 includes a geometric information decoding unit 2010, a tree synthesis unit 2020, an approximate surface synthesis unit 2030, a geometric information reconstruction unit 2040, an inverse coordinate transformation unit 2050, an attribute It has information decoding section 2060 , inverse quantization section 2070 , RAHT section 2080 , LoD calculation section 2090 , inverse lifting section 2100 , inverse color conversion section 2110 and frame buffer 2120 .
 幾何情報復号部2010は、点群符号化装置100から出力されるビットストリームのうち、幾何情報に関するビットストリーム(幾何情報ビットストリーム)を入力とし、シンタックスを復号するように構成されている。 The geometric information decoding unit 2010 is configured to receive as input a bitstream related to geometric information (geometric information bitstream) among the bitstreams output from the point cloud encoding device 100 and decode the syntax.
 復号処理は、例えば、コンテクスト適応二値算術復号処理である。ここで、例えば、シンタックスは、位置情報の復号処理を制御するための制御データ(フラグやパラメータ)を含む。 The decoding process is, for example, context adaptive binary arithmetic decoding process. Here, for example, the syntax includes control data (flags and parameters) for controlling decoding processing of position information.
 ツリー合成部2020は、幾何情報復号部2010によって復号された制御データ及び後述するツリー内のどのノードに点群が存在するかを示すoccupancy codeを入力として、復号対象空間内のどの領域に点が存在するかというツリー情報を生成するように構成されている。 The tree synthesizing unit 2020 receives the control data decoded by the geometric information decoding unit 2010 and an occupancy code indicating in which node in the tree described later the point group exists, and determines in which region in the decoding target space the point is located. It is configured to generate tree information that exists.
 なお、occupancy codeの復号処理をツリー合成部2020内部で行うよう構成されていてもよい。 It should be noted that the decoding process of the occupancy code may be configured to be performed inside the tree synthesizing unit 2020 .
 本処理は、復号対象空間を直方体で区切り、occupancy codeを参照して各直方体内に点が存在するかを判断し、点が存在する直方体を複数の直方体に分割し、occupancy codeを参照するという処理を再帰的に繰り返すことで、ツリー情報を生成することができる。 This process divides the decoding target space into rectangular parallelepipeds, refers to the occupancy code to determine whether points exist in each rectangular parallelepiped, divides the rectangular parallelepiped where the points exist into multiple rectangular parallelepipeds, and refers to the occupancy code. Tree information can be generated by recursively repeating the process.
 ここで、かかるoccupancy codeの復号に際して、後述するインター予測を用いてもよい。 Here, inter prediction, which will be described later, may be used when decoding such an occupancy code.
 本実施形態では、上述の直方体を常に立方体として8分木分割を再帰的に行う「Octree」と呼ばれる手法、及び、8分木分割に加え、4分木分割及び2分木分割を行う「QtBt」と呼ばれる手法を使用することができる。QtBt」を使用するか否かは、制御データとして点群符号化装置100側から伝送される。 In this embodiment, a method called "Octree" that recursively divides the octree with the above-mentioned rectangular parallelepiped always as a cube, and "QtBt" that performs quadtree division and binary tree division in addition to octree division can be used. QtBt” is transmitted from the point group encoding device 100 side as control data.
 或いは、制御データによってPredicitive codingを使用するように指定された場合、ツリー合成部2020は、点群符号化装置100において決定した任意のツリー構成に基づいて各点の座標を復号するように構成されている。 Alternatively, if the control data specifies to use Predictive coding, the tree synthesis unit 2020 is configured to decode the coordinates of each point based on any tree configuration determined in the point cloud encoding device 100. ing.
 近似表面合成部2030は、ツリー合成部2020によって生成されたツリー情報を用いて近似表面情報を生成し、かかる近似表面情報に基づいて点群を復号するように構成されている。 The approximate surface synthesizing unit 2030 is configured to generate approximate surface information using the tree information generated by the tree synthesizing unit 2020, and decode the point group based on the approximate surface information.
 近似表面情報は、例えば、物体の3次元点群データを復号する際等において、点群が物体表面に密に分布しているような場合に、個々の点群を復号するのではなく、点群の存在領域を小さな平面で近似して表現したものである。 For example, when decoding 3D point cloud data of an object, when the point clouds are densely distributed on the surface of the object, the approximate surface information is obtained by decoding the points instead of decoding individual point clouds. It is an approximation of the existence area of the group with a small plane.
 具体的には、近似表面合成部2030は、例えば、「Trisoup」と呼ばれる手法で、近似表面情報を生成し、点群を復号することができる。「Trisoup」の具体的な処理例については後述する。また、Lidar等で取得した疎な点群を復号する場合は、本処理を省略することができる。 Specifically, the approximate surface synthesizing unit 2030 can generate approximate surface information and decode the point group by, for example, a technique called "Trisoup". A specific processing example of "Trisoup" will be described later. Also, when decoding a sparse point group acquired by Lidar or the like, this process can be omitted.
 幾何情報再構成部2040は、ツリー合成部2020によって生成されたツリー情報及び近似表面合成部2030によって生成された近似表面情報を元に、復号対象の点群データの各点の幾何情報(復号処理が仮定している座標系における位置情報)を再構成するように構成されている。 The geometric information reconstruction unit 2040 reconstructs geometric information (decoding process position information in the coordinate system assumed by ).
 逆座標変換部2050は、幾何情報再構成部2040によって再構成された幾何情報を入力として、復号処理が仮定している座標系から、出力点群信号の座標系に変換を行い、位置情報を出力するように構成されている。 The inverse coordinate transformation unit 2050 receives as input the geometric information reconstructed by the geometric information reconstruction unit 2040, transforms the coordinate system assumed by the decoding process into the coordinate system of the output point group signal, and converts the position information. configured to output.
 フレームバッファ2120は、幾何情報再構成部2040によって再構成された幾何情報を入力として、参照フレームとして保存するように構成されている。保存した参照フレームは、ツリー合成部2020において時間的に異なるフレームのインター予測を行う場合に、フレームバッファ2120から読み出されて参照フレームとして使用される。 The frame buffer 2120 is configured to input the geometric information reconstructed by the geometric information reconstruction unit 2040 and store it as a reference frame. The stored reference frames are read from the frame buffer 2120 and used as reference frames when the tree synthesis unit 2020 inter-predicts temporally different frames.
 ここで、各フレームに対してどの時刻の参照フレームを用いるかどうかは、例えば、点群符号化装置100からビットストリームとして伝送されてくる制御データに基づいて決定されてもよい。 Here, whether or not to use a reference frame at which time for each frame may be determined, for example, based on control data transmitted as a bitstream from the point group encoding device 100.
 属性情報復号部2060は、点群符号化装置100から出力されるビットストリームのうち、属性情報に関するビットストリーム(属性情報ビットストリーム)を入力とし、シンタックスを復号するように構成されている。 The attribute information decoding unit 2060 is configured to receive a bitstream related to attribute information (attribute information bitstream) among the bitstreams output from the point cloud encoding device 100 and decode the syntax.
 復号処理は、例えば、コンテクスト適応二値算術復号処理である。ここで、例えば、シンタックスは、属性情報の復号処理を制御するための制御データ(フラグ及びパラメータ)を含む。 The decoding process is, for example, context adaptive binary arithmetic decoding process. Here, for example, the syntax includes control data (flags and parameters) for controlling attribute information decoding processing.
 また、属性情報復号部2060は、復号したシンタックスから、量子化済み残差情報を復号するように構成されている。 Also, the attribute information decoding unit 2060 is configured to decode the quantized residual information from the decoded syntax.
 逆量子化部2070は、属性情報復号部2060によって復号された量子化済み残差情報と、属性情報復号部2060によって復号された制御データの一つである量子化パラメータとを元に、逆量子化処理を行い、逆量子化済み残差情報を生成するように構成されている。 The inverse quantization unit 2070 performs inverse quantization based on the quantized residual information decoded by the attribute information decoding unit 2060 and the quantization parameter, which is one of the control data decoded by the attribute information decoding unit 2060. and configured to generate dequantized residual information.
 逆量子化済み残差情報は、復号対象の点群の特徴に応じて、RAHT部2080及びLoD算出部2090のいずれかに出力される。いずれに出力されるかは、属性情報復号部2060によって復号される制御データによって指定される。 The inverse quantized residual information is output to either the RAHT section 2080 or the LoD calculation section 2090 according to the features of the point cloud to be decoded. Which one is output is specified by control data decoded by attribute information decoding section 2060 .
 RAHT部2080は、逆量子化部2070によって生成された逆量子化済み残差情報及び幾何情報再構成部2040によって生成された幾何情報を入力とし、RAHT(Region Adaptive Hierarchical Transform)と呼ばれるHaar変換(復号処理においては、逆Haar変換)の一種を用いて、各点の属性情報を復号するように構成されている。RAHTの具体的な処理としては、例えば、文献1([PCC]An exploratory model for inter geometry-based PCC、ISO/IEC JTC1/SC29/WG11 m44754)に記載の方法を用いることができる。 The RAHT unit 2080 receives the inverse quantized residual information generated by the inverse quantization unit 2070 and the geometric information generated by the geometric information reconstruction unit 2040, and performs a Haar transform called RAHT (Region Adaptive Hierarchical Transform) ( In the decoding process, a kind of inverse Haar transform is used to decode the attribute information of each point. As a specific RAHT process, for example, the method described in Document 1 ([PCC] An exploratory model for inter-geometry-based PCC, ISO/IEC JTC1/SC29/WG11 m44754) can be used.
 LoD算出部2090は、幾何情報再構成部2040によって生成された幾何情報を入力とし、LoD(Level of Detail)を生成するように構成されている。 The LoD calculation unit 2090 is configured to receive the geometric information generated by the geometric information reconstruction unit 2040 and generate LoD (Level of Detail).
 LoDは、ある点の属性情報から、他のある点の属性情報を予測し、予測残差を符号化或いは復号するといった予測符号化を実現するための参照関係(参照する点及び参照される点)を定義するための情報である。 LoD is a reference relationship (referred point and referenced point ) is information for defining
 言い換えると、LoDは、幾何情報に含まれる各点を複数のレベルに分類し、下位のレベルに属する点については上位のレベルに属する点の属性情報を用いて属性を符号化或いは復号するといった階層構造を定義した情報である。 In other words, LoD classifies each point included in geometric information into a plurality of levels, and encodes or decodes the attributes of points belonging to lower levels using attribute information of points belonging to higher levels. This is information that defines the structure.
 LoDの具体的な決定方法としては、例えば、上述の文献1に記載の方法を用いてもよい。 As a specific method for determining LoD, for example, the method described in Document 1 above may be used.
 逆リフティング部2100は、LoD算出部2090によって生成されたLoD及び逆量子化部2070によって生成された逆量子化済み残差情報を用いて、LoDで規定した階層構造に基づいて各点の属性情報を復号するように構成されている。逆リフティングの具体的な処理としては、例えば、上述の文献1に記載の方法を用いることができる。 The inverse lifting unit 2100 uses the LoD generated by the LoD calculation unit 2090 and the inverse quantized residual information generated by the inverse quantization unit 2070 to determine the attribute information of each point based on the hierarchical structure defined by the LoD. is configured to decode the As a specific reverse lifting process, for example, the method described in Document 1 can be used.
 逆色変換部2110は、復号対象の属性情報が色情報であり且つ点群符号化装置100側で色変換が行われていた場合に、RAHT部2080又は逆リフティング部2100から出力される属性情報に逆色変換処理を行うように構成されている。かかる逆色変換処理の実行の有無については、属性情報復号部2060によって復号された制御データによって決定される。 The inverse color conversion unit 2110 uses the attribute information output from the RAHT unit 2080 or the inverse lifting unit 2100 when the attribute information to be decoded is color information and color conversion has been performed on the side of the point cloud encoding device 100. is configured to perform inverse color conversion processing. Whether or not to execute the inverse color conversion process is determined by the control data decoded by the attribute information decoding unit 2060 .
 点群復号装置200は、以上の処理により、点群内の各点の属性情報を復号して出力するように構成されている。 The point cloud decoding device 200 is configured to decode and output the attribute information of each point in the point cloud through the above processing.
(幾何情報復号部2010)
 以下、図3~図5を用いて幾何情報復号部2010で復号される制御データについて説明する。
(Geometric information decoding unit 2010)
The control data decoded by the geometric information decoding unit 2010 will be described below with reference to FIGS. 3 to 5. FIG.
 図3は、幾何情報復号部2010で受信する符号化データ(ビットストリーム)の構成の一例である。 FIG. 3 is an example of the structure of encoded data (bitstream) received by the geometric information decoding unit 2010. FIG.
 第1に、ビットストリームは、GPS2011を含んでいてもよい。GPS2011は、ジオメトリパラメータセットとも呼ばれ、幾何情報の復号に関する制御データの集合である。具体例については後述する。各GPS2011は、複数のGPS2011が存在する場合に個々を識別するためのGPS id情報を少なくとも含む。 First, the bitstream may contain GPS2011. GPS2011 is also called a geometry parameter set, and is a set of control data related to decoding of geometric information. A specific example will be described later. Each GPS 2011 includes at least GPS id information for individual identification when multiple GPS 2011 exist.
 第2に、ビットストリームは、GSH2012A/2012Bを含んでいてもよい。GSH2012A/2012Bは、ジオメトリスライスヘッダ或いはジオメトリデータユニットヘッダとも呼ばれ、後述するスライスに対応する制御データの集合である。以降では、スライスという呼称を用いて説明するが、スライスをデータユニットと読み替えることもできる。具体例については後述する。GSH2012A/2012Bは、各GSH2012A/2012Bに対応するGPS2011を指定するためのGPS id情報を少なくとも含む。 Second, the bitstream may contain GSH2012A/2012B. GSH2012A/2012B is also called geometry slice header or geometry data unit header, and is a set of control data corresponding to slices described later. In the following description, the term "slice" will be used, but the term "slice" can also be read as a data unit. A specific example will be described later. GSH 2012A/2012B includes at least GPS id information for designating GPS 2011 corresponding to each GSH 2012A/2012B.
 第3に、ビットストリームは、GSH2012A/2012Bの次に、スライスデータ2013A/2013Bを含んでいてもよい。スライスデータ2013A/2013Bには、幾何情報を符号化したデータが含まれている。スライスデータ2013A/2013Bの一例としては、後述するoccupancy codeが挙げられる。 Third, the bitstream may contain slice data 2013A/2013B next to GSH 2012A/2012B. The slice data 2013A/2013B includes data obtained by encoding geometric information. An example of the slice data 2013A/2013B is an occupancy code, which will be described later.
 以上のように、ビットストリームは、各スライスデータ2013A/2013Bに、1つずつGSH2012A/2012B及びGPS2011が対応する構成となる。 As described above, the bitstream has a configuration in which one GSH 2012A/2012B and one GPS 2011 correspond to each slice data 2013A/2013B.
 上述のように、GSH2012A/2012Bにて、どのGPS2011を参照するかをGPS id情報で指定するため、複数のスライスデータ2013A/2013Bに対して共通のGPS2011を用いることができる。 As described above, in GSH2012A/2012B, which GPS 2011 to refer to is designated by GPS id information, so a common GPS 2011 can be used for multiple slice data 2013A/2013B.
 言い換えると、GPS2011は、スライスごとに必ずしも伝送する必要がない。例えば、図3のように、GSH2012B及びスライスデータ2013Bの直前では、GPS2011を符号化しないようなビットストリームの構成とすることもできる。 In other words, GPS2011 does not necessarily need to transmit for each slice. For example, as shown in FIG. 3, it is possible to configure a bitstream such that GPS 2011 is not encoded immediately before GSH 2012B and slice data 2013B.
 なお、図3の構成は、あくまで一例である。各スライスデータ2013A/2013Bに、GSH2012A/2012B及びGPS2011が対応する構成となっていれば、ビットストリームの構成要素として、上述以外の要素が追加されてもよい。 It should be noted that the configuration in FIG. 3 is only an example. As long as GSH 2012A/2012B and GPS 2011 correspond to each slice data 2013A/2013B, elements other than those described above may be added as components of the bitstream.
 例えば、図3に示すように、ビットストリームは、シーケンスパラメータセット(SPS)2001を含んでいてもよい。また、同様に、伝送に際して、図3と異なる構成に整形されてもよい。更に、後述する属性情報復号部2060で復号されるビットストリームと合成して単一のビットストリームとして伝送されてもよい。 For example, the bitstream may include a sequence parameter set (SPS) 2001, as shown in FIG. Also, in the same way, it may be shaped into a configuration different from that in FIG. 3 at the time of transmission. Furthermore, it may be combined with a bitstream decoded by the attribute information decoding unit 2060, which will be described later, and transmitted as a single bitstream.
 図4は、GPS2011のシンタックス構成の一例である。 FIG. 4 is an example of the syntax configuration of GPS2011.
 なお、以下で説明するシンタックス名は、あくまで一例である。以下で説明したシンタックスの機能が同様であれば、シンタックス名は異なっていても差し支えない。  The syntax name explained below is just an example. As long as the functionality of the syntaxes described below is similar, the syntax names can be different.
 GPS2011は、各GPS2011を識別するためのGPS id情報(gps_geom_parameter_set_id)を含んでもよい。 The GPS 2011 may include GPS id information (gps_geom_parameter_set_id) for identifying each GPS 2011.
 なお、図4のDescriptor欄は、各シンタックスが、どのように符号化されているかを意味している。ue(v)は、符号無し0次指数ゴロム符号であることを意味し、u(1)は、1ビットのフラグであることを意味する。 The Descriptor column in FIG. 4 means how each syntax is encoded. ue(v) means an unsigned zero-order exponential Golomb code, and u(1) means a 1-bit flag.
 GPS2011は、ツリー合成部2020でインター予測を行うか否かを制御するフラグ(interprediction_enabled_flag)を含んでもよい。 The GPS 2011 may include a flag (interprediction_enabled_flag) that controls whether or not the tree synthesis unit 2020 performs inter prediction.
 例えば、interprediction_enabled_flagの値が「0」の時はインター予測を行わないと定義し、interprediction_enabled_flagの値が「1」の時はインター予測を行うと定義してもよい。 For example, it may be defined that inter prediction is not performed when the value of interpretation_enabled_flag is "0", and that inter prediction is performed when the value of interpretation_enabled_flag is "1".
 なお、interprediction_enabled_flagは、GPS2011ではなくSPS2001に含んでいてもよい。 Note that the interpretation_enabled_flag may be included in the SPS2001 instead of the GPS2011.
 GPS2011は、近似表面合成部2030でTrisoupを使用するか否かを制御するフラグ(trisoup_enabled_flag)を含んでもよい。 The GPS 2011 may include a flag (trisoup_enabled_flag) that controls whether Trisoup is used in the approximate surface synthesis unit 2030.
 例えば、trisoup_enabled_flagの値が「0」の時はTrisoupを使用しないと定義し、trisoup_enabled_flagの値が「1」の時はTrisoupを使用すると定義してもよい。 For example, it may be defined that Trisoup is not used when the value of trisoup_enabled_flag is "0", and that Trisoup is used when the value of trisoup_enabled_flag is "1".
 幾何情報復号部2020は、Trisoupを使用するとき、すなわち、trisoup_enabled_flagの値が「1」の時、追加で以下のシンタックスを復号するように構成されていてもよい。 The geometric information decoding unit 2020 may be configured to additionally decode the following syntax when using Trisoup, that is, when the value of trisoup_enabled_flag is "1".
 なお、trisoup_enabled_flagは、GPS2011ではなくSPS2001に含まれていてもよい。 Note that trisoup_enabled_flag may be included in SPS2001 instead of GPS2011.
 GPS2011は、複数レベルでのTrisoupを許可するか否かを制御するフラグ(trisoup_multilevel_enabled_flag、第1フラグ)を含んでもよい。 The GPS 2011 may include a flag (trisoup_multilevel_enabled_flag, first flag) that controls whether to allow Trisoup at multiple levels.
 例えば、trisoup_multilevel_enabled_flagの値が「0」の時は複数レベルでのTrisoupを許可しない、すなわち、単一のレベルでのTrisoupを行うと定義し、trisoup_multilevel_enabled_flagの値が「1」の時は複数レベルでのTrisoupを許可すると定義してもよい。 For example, when the value of trisoup_multilevel_enabled_flag is '0', Trisoup at multiple levels is not permitted. It may be defined that Trisoup is allowed.
 なお、当該シンタックスがGPS2011に含まれない場合、当該シンタックスの値を単一のレベルでのTrisoupを行う場合の値、すなわち、「0」とみなしてよい。 If the syntax is not included in GPS2011, the value of the syntax may be regarded as the value for Trisoup at a single level, that is, "0".
 なお、trisoup_multilevel_enabled_flagは、GPS2011ではなくSPS2001に含まれるよう定義してもよい。この場合、SPS2001にtrisoup_multilevel_enabled_flagが含まれていない場合、当該シンタックスの値を単一のレベルでのTrisoupを行う場合の値、すなわち、「0」とみなしてよい。 Note that trisoup_multilevel_enabled_flag may be defined to be included in SPS2001 instead of GPS2011. In this case, if the SPS 2001 does not include the trisoup_multilevel_enabled_flag, the value of the syntax may be regarded as the value for Trisoup at a single level, ie, "0".
 図5は、GSH2012のシンタックス構成の一例である。なお、前述の通り、GSHは、GDUH(Geometry Data Unit Header)とも呼ばれる。 FIG. 5 is an example of the syntax configuration of GSH2012. As mentioned above, GSH is also called GDUH (Geometry Data Unit Header).
 幾何情報復号部2020は、複数レベルでのTrisoupを許可するとき、すなわち、trisoup_multilevel_enabled_flagの値が「1」の時、追加で以下のシンタックスを復号するように構成されていてもよい。 The geometric information decoding unit 2020 may be configured to additionally decode the following syntax when trisoup at multiple levels is permitted, that is, when the value of trisoup_multilevel_enabled_flag is "1".
 GSH2012は、複数レベルでのTrisoupを許可するとき、Trisoupノードサイズの最大値を規定するシンタックス(log2_trisoup_max_node_size_minus2)を含んでもよい。 GSH 2012 may include syntax (log2_trisoup_max_node_size_minus2) that specifies the maximum value of Trisoup node size when allowing Trisoup at multiple levels.
 当該シンタックスは、実際のTrisoupノードサイズの最大値について、2を底とする対数に変換した値として表現されていてもよい。更に、当該シンタックスは、実際のTrisoupノードサイズの最大値について、2を底とする対数に変換した後に2を引いた後の値として表現されていてもよい。 The syntax may be expressed as a logarithmic value with base 2 for the maximum value of the actual Trisoup node size. Further, the syntax may express the maximum value of the actual Trisoup node size as a value obtained by subtracting 2 after converting to base 2 logarithm.
 GSH2012は、複数レベルでのTrisoupを許可するとき、Trisoupノードサイズの最小値を規定するシンタックス(log2_trisoup_min_node_size_minus2)を含んでもよい。 GSH 2012 may include syntax (log2_trisoup_min_node_size_minus2) that specifies the minimum value of the Trisoup node size when allowing Trisoup at multiple levels.
 当該シンタックスは、実際のTrisoupノードサイズの最小値について、2を底とする対数に変換した値として表現されていてもよい。更に、当該シンタックスは、実際のTrisoupノードサイズの最小値について、2を底とする対数に変換した後に2を引いた後の値として表現されていてもよい。 The syntax may be expressed as a logarithmic value with base 2 for the minimum value of the actual Trisoup node size. Furthermore, the syntax may express the minimum value of the actual Trisoup node size as a value obtained by subtracting 2 after converting to base 2 logarithm.
 また、当該シンタックスの値は、必ず0以上且つlog2_trisoup_max_node_size_minus2以下となるように制約されていてもよい。 Also, the value of the syntax may be constrained to always be 0 or more and log2_trisoup_max_node_size_minus2 or less.
 また、この時、図5に示すようにtrisoup_depthをtrisoup_depth=log2_trisoup_max_node_size_minus2-log2_trisoup_min_node_size_minus2+1と定義してもよい。 At this time, as shown in FIG. 5, trisoup_depth may be defined as trisoup_depth=log2_trisoup_max_node_size_minus2−log2_trisoup_min_node_size_minus2+1.
 幾何情報復号部2020は、複数レベルでのTrisoupを許可しないとき、すなわち、trisoup_multilevel_enabled_flagの値が「0」の時、追加で以下のシンタックスを復号するように構成されていてもよい。 The geometric information decoding unit 2020 may be configured to additionally decode the following syntax when Trisoup at multiple levels is not permitted, that is, when the value of trisoup_multilevel_enabled_flag is "0".
 GSH2012は、複数レベルでのTrisoupを許可しないとき、かつ、Trisoupを使用するとき、Trisoupノードサイズを規定するシンタックス(log2_trisoup_node_size_minus2)を含んでもよい。 GSH 2012 may include syntax (log2_trisoup_node_size_minus2) to specify the Trisoup node size when not allowing Trisoup at multiple levels and when using Trisoup.
 当該シンタックスは、実際のTrisoupノードサイズについて、2を底とする対数に変換した値として表現されていてもよい。更に、当該シンタックスは、実際のTrisoupノードサイズについて、2を底とする対数に変換した後に2を引いた後の値として表現されていてもよい。 The syntax may be expressed as a value converted to a logarithm with base 2 for the actual Trisoup node size. Further, the syntax may express the actual Trisoup node size as a value after converting to base 2 logarithm and then subtracting 2.
 また、この時、図5に示すようにtrisoup_depthをtrisoup_depth=1と定義してもよい。 Also, at this time, as shown in FIG. 5, trisoup_depth may be defined as trisoup_depth=1.
 GSH2012は、Trisoupを使用するとき、復号点のサンプリング間隔を制御するシンタックス(trisoup_sampling_value_minus1)を含んでもよい。当該シンタックスの具体的な定義は、例えば、上述の文献1に記載の定義と同様とすることができる。 The GSH 2012 may include syntax (trisoup_sampling_value_minus1) that controls the sampling interval of decoding points when using Trisoup. A specific definition of the syntax can be, for example, the same as the definition described in Document 1 above.
 GSH2012は、Trisoupを使用するとき、かつ、複数レベルでのTrisoupを許可するとき、階層i(i=0,...,trisoup_depth-1)ごとにユニークセグメントが対象階層に存在するか否かを示すフラグ(unique_segments_exist_flag[i])を含んでもよい。例えば、unique_segments_exist_flag[i]の値が「1」の場合は、階層iに少なくとも1つ以上のユニークセグメントが存在することを意味する。また、unique_segments_exist_flag[i]の値が「0」の場合は、階層iにユニークセグメントが1つも存在しないことを意味する。 When using Trisoup and allowing Trisoup at multiple levels, GSH2012 checks whether a unique segment exists in the target hierarchy for each hierarchy i (i = 0, ..., trisoup_depth-1). It may also include a flag (unique_segments_exist_flag[i]) to indicate. For example, if the value of unique_segments_exist_flag[i] is "1", it means that at least one unique segment exists in layer i. Moreover, when the value of unique_segments_exist_flag[i] is "0", it means that there is no unique segment in the hierarchy i.
 GSH2012は、階層i(i=0,...,trisoup_depth-1)ごとにユニークセグメントが対象階層に存在する場合、すなわち、unique_segments_exist_flag[i]の値が「1」の場合、追加で対象階層のユニークセグメント数を示すシンタックスのビット数を示すシンタックス(num_unique_segments_bits_minus1[i])及び対象階層のユニークセグメント数を示すシンタックス(num_unique_segments_minus1[i])を含んでもよい。 GSH2012, if a unique segment exists in the target layer for each layer i (i = 0, ..., trisoup_depth-1), that is, if the value of unique_segments_exist_flag[i] is "1", additionally the target layer A syntax indicating the number of bits of syntax indicating the number of unique segments (num_unique_segments_bits_minus1[i]) and a syntax indicating the number of unique segments in the target layer (num_unique_segments_minus1[i]) may be included.
 ここで、num_unique_segments_bits_minus1[i]及びnum_unique_segments_minus1[i]の両方について、それぞれ本来の値から「1」を引いた値をシンタックスの値として符号化してもよい。 Here, for both num_unique_segments_bits_minus1[i] and num_unique_segments_minus1[i], values obtained by subtracting "1" from their original values may be encoded as syntax values.
 GSH2012は、インター予測を行う場合、例えば、interprediction_enabled_flagの値が「1」の場合、参照ノードの最小サイズを示すシンタックス(log2_min_ref_node_size)を含んでもよい。当該シンタックスの値は、参照ノードの最小サイズの値について、2を底とする対数をとった後の値と定義されていてもよい。 The GSH 2012 may include syntax (log2_min_ref_node_size) indicating the minimum size of the reference node when inter prediction is performed, for example, when the value of the interpolation_enabled_flag is "1". The value of the syntax may be defined as the base-2 logarithm of the minimum size value of the reference node.
 なお、本実施形態では、当該シンタックスをGSH2012に備える場合の例について説明するが、当該シンタックスは、GSH2012ではなくGPS2011に含まれていてもよい。 In this embodiment, an example in which the syntax is provided in GSH2012 will be described, but the syntax may be included in GPS2011 instead of GSH2012.
(ツリー合成部2020)
 以下、図6~図8を用いてツリー合成部2020の処理について説明する。図6は、ツリー合成部2020における処理の一例を示すフローチャートである。なお、以下では「Octree」を使用してツリーを合成する場合の例について説明する。
(Tree synthesis unit 2020)
The processing of the tree synthesizing unit 2020 will be described below with reference to FIGS. 6 to 8. FIG. FIG. 6 is a flowchart showing an example of processing in the tree synthesizing unit 2020. As shown in FIG. An example of synthesizing a tree using "Octree" will be described below.
 ステップS601において、ツリー合成部2020は、全てのDepthの処理が完了したかどうかを確認する。なお、Depth数は、点群符号化装置100から点群復号装置200に伝送するビットストリーム内に制御データとして含まれていてもよい。 In step S601, the tree synthesizing unit 2020 confirms whether or not all depth processes have been completed. Note that the depth number may be included as control data in a bitstream transmitted from the point cloud encoding device 100 to the point cloud decoding device 200 .
 ツリー合成部2020は、対象Depthのノードサイズを算出する。「Octree」の場合、最初のDepthのノードサイズは、「2のDepth数乗」と定義されてもよい。すなわち、Depth数をNとする場合、最初のDepthのノードサイズは、2のN乗と定義されてもよい。 The tree synthesizing unit 2020 calculates the node size of the target depth. For 'Octree', the initial Depth node size may be defined as '2 raised to the power of Depth'. That is, when the depth number is N, the node size of the first depth may be defined as 2 to the Nth power.
 また、2番目以降のDepthでのノードサイズは、Nの数を1つずつ減じていくことで定義されてもよい。すなわち、2番目のDepthのノードサイズは、「2の(N-1)乗」として定義され、3番目のDepthのノードサイズは、「2の(N-2)乗」として定義され、・・・と定義されてもよい。 Also, the node size at the second and subsequent Depths may be defined by decreasing the number of N by one. That is, the node size of the second depth is defined as "2 to the (N-1) power", the node size of the third depth is defined as "2 to the (N-2) power", . may be defined as
 或いは、ノードサイズは、常に2のべき乗で定義されるため、単純に指数部分(N、N-1、N-2、等)の値をノードサイズと考えてもよい。以降の説明では、ノードサイズとは、指数部分の値を指すこととする。 Alternatively, since the node size is always defined as a power of 2, the value of the exponent part (N, N−1, N−2, etc.) may be simply considered as the node size. In the following description, node size refers to the value of the exponent part.
 全てのDepthの処理が完了した場合は、ツリー合成部2020は、ステップS609へ進み、全てのDepthの処理が完了していない場合は、ツリー合成部2020は、ステップS602へ進む。 If all depth processing has been completed, the tree synthesis unit 2020 proceeds to step S609, and if all depth processing has not been completed, the tree synthesis unit 2020 proceeds to step S602.
 言い換えると、対象Depthがn番目のDepthの時、(N-n)=0の場合は、ツリー合成部2020は、ステップS609へ進み、(N-n)>0の場合は、ツリー合成部2020は、ステップS602へ進む。 In other words, when the target depth is the n-th depth, if (N−n)=0, the tree combining unit 2020 proceeds to step S609; goes to step S602.
 ここで、Trisoupを使用するか否かを制御するフラグ(trisoup_enabled_flag)がTrisoupを使用することを示している場合、すなわち、trisoup_enabled_flagの値が「1」の時は、ツリー合成部2020は、処理するDepth数を、Trisoupノードサイズの最小値を規定するシンタックス(log2_trisoup_min_node_size_minus2)又はTrisoupノードサイズを規定するシンタックス(log2_trisoup_node_size_minus2)の値に基づいて変化させてもよい。かかる場合、例えば、以下のように定義してもよい。 Here, when the flag (trisoup_enabled_flag) for controlling whether or not to use Trisoup indicates that Trisoup is used, that is, when the value of trisoup_enabled_flag is "1", the tree synthesizing unit 2020 processes The depth number may be varied based on the value of the syntax that defines the minimum value of the Trisoup node size (log2_trisoup_min_node_size_minus2) or the syntax that defines the Trisoup node size (log2_trisoup_node_size_minus2). In such a case, for example, it may be defined as follows.
 処理Depth数=全Depth数-(最小の)Trisoupノードサイズ
 ここで、最小のTrisoupノードサイズについては、例えば、(log2_trisoup_min_node_size_minus2+2)で定義できる。同様に、Trisoupノードサイズについては、(log2_trisoup_node_size_minus2+2)で定義できる。
Processing Depth Number=Total Depth Number−(Minimum) Trisoup Node Size Here, the minimum Trisoup node size can be defined by, for example, (log2_trisoup_min_node_size_minus2+2). Similarly, the Trisoup node size can be defined as (log2_trisoup_node_size_minus2+2).
 この場合、全ての処理Depth数の処理が完了した場合は、ツリー合成部2020は、ステップS609へ進み、そうでない場合は、ツリー合成部2020は、ステップS602へ進む。 In this case, if the processing for all the processing depth numbers has been completed, the tree synthesizing unit 2020 proceeds to step S609; otherwise, the tree synthesizing unit 2020 proceeds to step S602.
 言い換えると、(処理Depth数-n)=0の場合は、ツリー合成部2020は、ステップS609へ進み、(処理Depth数-n)>0の場合は、ツリー合成部2020は、ステップS602へ進む。 In other words, if (the number of processing depths−n)=0, the tree synthesizing unit 2020 proceeds to step S609, and if (the number of processing depths−n)>0, the tree synthesizing unit 2020 proceeds to step S602. .
 また、ツリー合成部2020は、ステップS609へ進む際のノードサイズ(N-処理Depth数)を持つ全てのノードには、Trisoupが適用されると判定してもよい。 Also, the tree synthesizing unit 2020 may determine that Trisoup is applied to all nodes having the node size (N-number of processing depths) when proceeding to step S609.
 ステップS602において、ツリー合成部2020は、対象Depthにて後述するTrisoup_applied_flagを復号する必要があるか否かを判定する。 In step S602, the tree synthesizing unit 2020 determines whether it is necessary to decode Trisoup_applied_flag, which will be described later, at the target depth.
 例えば、「複数レベルでのTrisoupが許可(trisoup_multilevel_enabled_flagの値が「1」)」で、且つ、「対象Depthのノードサイズ(N-n)が最大のTrisoupノードサイズ以下」の場合に、ツリー合成部2020は、「Trisoup_applied_flagの復号が必要である」と判定してもよい。 For example, when "Trisoup at multiple levels is enabled (the value of trisoup_multilevel_enabled_flag is "1")" and "the node size (Nn) of the target depth is equal to or smaller than the maximum Trisoup node size", the tree synthesizing unit 2020 may determine that "decoding of Trisoup_applied_flag is required".
 また、ツリー合成部2020は、上述の条件が満たされない場合、「Trisoup_applied_flagの復号が必要ない」と判定してもよい。 Also, the tree synthesis unit 2020 may determine that "decoding of Trisoup_applied_flag is unnecessary" when the above condition is not satisfied.
 ここで、最大のTrisoupノードサイズについては、例えば、(log2_trisoup_max_node_size_minus3+2)で定義できる。 Here, the maximum Trisoup node size can be defined, for example, by (log2_trisoup_max_node_size_minus3+2).
 上述の判定が完了したら、ツリー合成部2020は、ステップS703へ移る。 After the above determination is completed, the tree synthesizing unit 2020 moves to step S703.
 ステップS603において、ツリー合成部2020は、対象Depthに含まれる全てのノードの処理が完了したかどうかを判定する。 In step S603, the tree synthesizing unit 2020 determines whether the processing of all nodes included in the target depth has been completed.
 対象Depthの全てのノードの処理が完了したと判定した場合、ツリー合成部2020は、ステップS601へ移り、次のDepthの処理を行う。 When it is determined that the processing of all nodes of the target depth has been completed, the tree synthesizing unit 2020 moves to step S601 and performs the processing of the next depth.
 一方、対象Depthの全てのノードの処理が完了していない場合、ツリー合成部2020は、ステップS604へ移る。 On the other hand, if the processing of all nodes of the target depth has not been completed, the tree synthesizing unit 2020 moves to step S604.
 ステップS604において、ツリー合成部2020は、ステップS602で判定したTrisoup_applied_flagの復号の要否について確認する。 In step S604, the tree synthesizing unit 2020 confirms whether decoding of the Trisoup_applied_flag determined in step S602 is necessary.
 Trisoup_applied_flagの復号が必要であると判定されている場合は、ツリー合成部2020は、ステップS605へ進み、Trisoup_applied_flagの復号が必要でないと判定されている場合は、ツリー合成部2020は、ステップS608へ移る。 If it is determined that decoding of Trisoup_applied_flag is necessary, the tree synthesizing unit 2020 proceeds to step S605, and if it is determined that decoding of Trisoup_applied_flag is not necessary, the tree synthesizing unit 2020 proceeds to step S608. .
 ステップS605において、ツリー合成部2020は、Trisoup_applied_flagを復号する。 In step S605, the tree synthesizing unit 2020 decodes Trisoup_applied_flag.
 Trisoup_applied_flagは、対象ノードにTrisoupを適用するか否かを示す1ビットのフラグ(第2フラグ)である。例えば、かかるフラグの値が「1」の時に対象ノードにTrisoupを適用すると定義し、かかるフラグの値が「0」の時に対象ノードにTrisoupを適用しないと定義してもよい。 Trisoup_applied_flag is a 1-bit flag (second flag) that indicates whether or not Trisoup is applied to the target node. For example, it may be defined that Trisoup is applied to the target node when the flag value is "1", and that Trisoup is not applied to the target node when the flag value is "0".
 ツリー合成部2020は、Trisoup_applied_flagを復号した後、ステップS606へ移る。 After decoding Trisoup_applied_flag, the tree synthesizing unit 2020 moves to step S606.
 ステップS606において、ツリー合成部2020は、ステップS605で復号したTrisoup_applied_flagの値を確認する。 In step S606, the tree synthesizing unit 2020 checks the value of Trisoup_applied_flag decoded in step S605.
 対象ノードにTrisoupを適用する場合、すなわち、Trisoup_applied_flagの値が「1」の場合は、ツリー合成部2020は、ステップS607へ移る。 When Trisoup is applied to the target node, that is, when the value of Trisoup_applied_flag is "1", the tree synthesizing unit 2020 moves to step S607.
 対象ノードにTrisoupを適用しない場合、すなわち、Trisoup_applied_flagの値が「0」の場合は、ツリー合成部2020は、ステップS608へ移る。 When Trisoup is not applied to the target node, that is, when the value of Trisoup_applied_flag is "0", the tree synthesizing unit 2020 moves to step S608.
 ステップS607において、ツリー合成部2020は、対象ノードを、Trisoupを適用するノード、すなわち、Trisoupノードとして記憶する。かかる対象ノードに対しては、これ以上、「Octree」によるノードの分割を適用しないこととする。その後、ツリー合成部2020は、ステップS603に進み、次のノードの処理へ移る。 In step S607, the tree synthesizing unit 2020 stores the target node as a node to which Trisoup is applied, that is, as a Trisoup node. It is assumed that the node division by "Octree" is no longer applied to such a target node. After that, the tree synthesizing unit 2020 advances to step S603 to process the next node.
 ステップS608において、ツリー合成部2020は、occpancy codeと呼ばれる情報を復号する。 In step S608, the tree synthesizing unit 2020 decodes the information called "occpancy code".
 occpancy codeは、「Octree」の場合は、対象ノードをx、y、z軸方向にそれぞれ半分に分割して、8つのノード(子ノードと呼ぶ)に分割した際に、それぞれの子ノード内に復号対象の点が含まれているか否かを示す情報である。 In the case of "Octree", the occpancy code is divided into 8 nodes (called child nodes) by dividing the target node in half along the x, y, and z axes. This is information indicating whether or not a point to be decoded is included.
 例えば、occpancy codeは、各子ノードに対して1ビットの情報を割り当て、かかる1ビットの情報が「1」の場合は、かかる子ノード内に復号対象の点が含まれると定義され、かかる1ビットの情報が「0」の場合は、かかる子ノード内に復号対象の点が含まれないと定義されてもよい。 For example, the occupation code assigns 1-bit information to each child node, and if the 1-bit information is "1", it is defined that the point to be decoded is included in the child node. If the bit information is '0', it may be defined that the point to be decoded is not included in the child node.
 ツリー合成部2020は、かかるoccpancy codeを復号する際に、各子ノードに復号対象の点が存在する確率を予め推定し、その確率に基づいて各子ノードに対応するビットをエントロピー復号してもよい。 When decoding such an occurrence code, the tree synthesizing unit 2020 pre-estimates the probability that each child node has a point to be decoded, and entropy-decodes the bits corresponding to each child node based on the probability. good.
 同様に、点群符号化装置100においては、エントロピー符号化してもよい。更に、かかる確率の推定に、インター予測を用いてもよい。インター予測の具体的な方法としては、例えば、上述の文献1に記載の方法を適用できる。更に、インター予測を行う際の参照点群に、アップサンプルした点群を用いてもよい。 Similarly, the point group encoding device 100 may perform entropy encoding. Furthermore, inter-prediction may be used to estimate such probabilities. As a specific inter-prediction method, for example, the method described in Document 1 above can be applied. Furthermore, an up-sampled point cloud may be used as a reference point cloud for inter prediction.
 図7~8及び図22~23を用いて、インター予測を用いる場合のoccpancy codeの復号処理の具体例について説明する。 A specific example of the decoding process of the occpancy code when inter prediction is used will be described with reference to FIGS. 7-8 and FIGS.
 図7は、ノード毎のoccpancy codeの復号処理の具体例を示すフローチャートである。言い換えると、図7は、図6のステップS608の処理の具体例を示すフローチャートである。 FIG. 7 is a flow chart showing a specific example of the decoding process of the opportunity code for each node. In other words, FIG. 7 is a flow chart showing a specific example of the processing in step S608 of FIG.
 図7に示すように、ステップS701において、ツリー合成部2020は、コンテクストの選択を行う。コンテクストは、後段の占有情報復号の際のエントロピー復号において使用する確率分布に対応している。 As shown in FIG. 7, in step S701, the tree synthesizing unit 2020 selects a context. A context corresponds to a probability distribution used in entropy decoding when decoding occupation information in the subsequent stage.
 図8は、インター予測を用いて4種類のコンテクスト(no pred/pred0/pred1/predL)からいずれか1つを選択する場合のフローチャートの一例である。 FIG. 8 is an example of a flowchart for selecting any one of four contexts (no pred/pred0/pred1/predL) using inter prediction.
 以下、図8を用いてコンテクスト選択の一例を説明する。なお、図8では、コンテクストが4種類の例について説明するが、コンテクストの数は、4種類でなくともよい。 An example of context selection will be described below using FIG. Note that FIG. 8 illustrates an example in which there are four types of contexts, but the number of contexts does not have to be four.
 図8に示すように、ステップS801において、ツリー合成部2020は、インター予測の精度を判定する。 As shown in FIG. 8, in step S801, the tree synthesizing unit 2020 determines the accuracy of inter prediction.
 インター予測の精度については、例えば、対象ノードの親ノードにおける子ノード(Octreeの場合、8つの子ノード)について、選択したコンテクスト及び実際の点の有無によって判断できる。 The accuracy of inter-prediction can be determined, for example, based on the selected context and the presence or absence of actual points for child nodes (eight child nodes in the case of Octree) of the parent node of the target node.
 例えば、pred0のコンテクストを選択した子ノードについて、実際に点が存在しなかった場合を正解とし、実際に点が存在した場合を不正解とする。一方、pred1又はpredLを選択した子ノードについては、実際に点が存在した場合を正解とし、実際に点が存在しなかった場合を不正解とする。 For example, for a child node that selects the context of pred0, if the point does not actually exist, the answer is correct, and if the point actually exists, the answer is incorrect. On the other hand, as for the child node for which pred1 or predL is selected, if the point actually exists, the answer is correct, and if the point does not actually exist, the answer is incorrect.
 ここで、親ノードに属する子ノードについて、正解となった子ノードの数が予め定めた閾値より大きい場合、インター予測の精度は「良い」と判断できる。一方、親ノードに属する子ノードについて、正解となった子ノードの数が予め定めた閾値以下の場合、インター予測の精度は「悪い」と判断できる。 Here, for child nodes belonging to a parent node, if the number of correct child nodes is greater than a predetermined threshold, it can be determined that the accuracy of inter prediction is "good." On the other hand, if the number of correct child nodes among the child nodes belonging to the parent node is equal to or less than the predetermined threshold value, it can be determined that the accuracy of inter prediction is "bad."
 インター予測の精度が「良い」と判断された場合、ツリー合成部2020は、ステップS802へ進む。インター予測の精度が「悪い」と判断された場合、ツリー合成部2020は、ステップS805へ進み、対象ノードに属する全ての子ノードについてコンテクストを「no pred」とし、処理を終了する。 If the accuracy of inter prediction is determined to be "good", the tree synthesizing unit 2020 proceeds to step S802. If it is determined that the inter-prediction accuracy is "poor", the tree synthesizing unit 2020 proceeds to step S805, sets the context to "no pred" for all child nodes belonging to the target node, and ends the process.
 ステップS802において、ツリー合成部2020は、動き補償した参照フレームにおいて、対象ノードと同じ位置の領域に少なくとも1点の参照点が存在するか否かを確認する。 In step S802, the tree synthesizing unit 2020 checks whether or not there is at least one reference point in the region at the same position as the target node in the motion-compensated reference frame.
 対象ノードと同じ位置の領域に少なくとも1点の参照点が存在する場合、ツリー合成部2020は、ステップS803へ進む。一方、対象ノードと同じ位置の領域に参照点が1点もない場合、ツリー合成部2020は、ステップS805へ進み、対象ノードに属する全ての子ノードについてコンテクストを「no pred」とし、処理を終了する。 If there is at least one reference point in the area at the same position as the target node, the tree synthesizing unit 2020 proceeds to step S803. On the other hand, if there is no reference point in the area at the same position as the target node, the tree synthesizing unit 2020 proceeds to step S805, sets the context to "no pred" for all child nodes belonging to the target node, and terminates the process. do.
 ステップS803以降では、ツリー合成部2020は、対象ノードに属する子ノード毎に判定を行う。 From step S803 onward, the tree synthesizing unit 2020 makes a determination for each child node belonging to the target node.
 ステップS803において、ツリー合成部2020は、動き補償した参照フレームにおいて、対象子ノードと同じ位置の領域に少なくとも1点の参照点が存在するか否かを確認する。 In step S803, the tree synthesizing unit 2020 checks whether or not there is at least one reference point in the region at the same position as the target child node in the motion-compensated reference frame.
 対象子ノードと同じ位置の領域に少なくとも1点の参照点が存在する場合、ツリー合成部2020は、ステップS804へ進む。一方、対象子ノードと同じ位置の領域に参照点が1点もない場合、ツリー合成部2020は、ステップS806へ進み、対象子ノードのコンテクストを「pred0」とする。 If there is at least one reference point in the area at the same position as the target child node, the tree synthesizing unit 2020 proceeds to step S804. On the other hand, if there is no reference point in the area at the same position as the target child node, the tree synthesizing unit 2020 proceeds to step S806 and sets the context of the target child node to "pred0".
 対象ノードの全ての子ノードについてコンテクスト選択が完了していない場合、ツリー合成部2020は、ステップS803へ戻り、次の子ノードについて同様の処理を行う。 If context selection has not been completed for all child nodes of the target node, the tree synthesizing unit 2020 returns to step S803 and performs similar processing for the next child node.
 対象ノードの全ての子ノードについてコンテクスト選択が完了した場合、ツリー合成部2020は、処理を終了する。 When context selection has been completed for all child nodes of the target node, the tree synthesizing unit 2020 ends the process.
 ステップS804において、ツリー合成部2020は、動き補償した参照フレームにおいて、対象子ノードと同じ位置の領域に予め定めた閾値以上の数の参照点が存在するか否かを確認する。 In step S804, the tree synthesizing unit 2020 checks whether or not the number of reference points equal to or greater than a predetermined threshold exists in the region at the same position as the target child node in the motion-compensated reference frame.
 対象子ノードと同じ位置の領域に予め定めた閾値以上の数の参照点が存在する場合、ツリー合成部2020は、ステップS808へ進み、対象子ノードのコンテクストを「predL」とする。 If the number of reference points equal to or greater than the predetermined threshold exists in the region at the same position as the target child node, the tree synthesizing unit 2020 proceeds to step S808 and sets the context of the target child node to "predL".
 一方、対象子ノードと同じ位置の領域に予め定めた閾値未満の数の参照点しか存在しない場合、ツリー合成部2020は、ステップS807へ進み、対象子ノードのコンテクストを「pred1」とする。 On the other hand, if there are only reference points less than the predetermined threshold in the area at the same position as the target child node, the tree synthesizing unit 2020 proceeds to step S807 and sets the context of the target child node to "pred1".
 ステップS807又はS808の処理の後、対象ノードの全ての子ノードについてコンテクスト選択が完了していない場合、ツリー合成部2020は、ステップS804へ戻り、次の子ノードについて同様の処理を行う。 After the process of step S807 or S808, if context selection has not been completed for all child nodes of the target node, the tree synthesizing unit 2020 returns to step S804 and performs the same process for the next child node.
 対象ノードの全ての子ノードについてコンテクスト選択が完了した場合、ツリー合成部2020は、処理を終了する。 When context selection has been completed for all child nodes of the target node, the tree synthesizing unit 2020 ends the process.
 以上のようにコンテクストを選択した後、ツリー合成部2020は、ステップS702へ進む。 After selecting the context as described above, the tree synthesizing unit 2020 proceeds to step S702.
 ステップS702において、ツリー合成部2020は、ステップS701で選択したコンテクストに基づいて、対象ノードの各子ノードの占有情報、すなわち、occpancy codeを復号する。 In step S702, the tree synthesizing unit 2020 decodes the occupation information, that is, the occupation code of each child node of the target node based on the context selected in step S701.
 ここで、コンテクストは、それぞれ独立した確率分布に対応している。後述するステップS703のコンテクスト更新によって、コンテクストごとに復号対象の点が存在する確率が学習される。 Here, each context corresponds to an independent probability distribution. By updating the context in step S703, which will be described later, the probability that a point to be decoded exists for each context is learned.
 なお、各コンテクストにおける確率分布の初期値は、例えば、点が存在する確率50%(=存在しない確率も50%)と定義することができる。 The initial value of the probability distribution in each context can be defined as, for example, a 50% probability that a point exists (= 50% probability that it does not exist).
 ステップS702において、ツリー合成部2020は、コンテクストに対応する確率分布を基にエントロピー復号を行い、各子ノードに点が存在するか(「1」であるか)否か(「0」であるか)を復号する。occpancy codeの復号完了後、ツリー合成部2020は、ステップS703へ進む。 In step S702, the tree synthesizing unit 2020 performs entropy decoding based on the probability distribution corresponding to the context, and determines whether each child node has a point (“1”) or not (“0”). ). After completing the decoding of the occpancy code, the tree synthesizing unit 2020 proceeds to step S703.
 ステップS703において、ツリー合成部2020は、コンテクストを更新する。 In step S703, the tree synthesizing unit 2020 updates the context.
 例えば、ツリー合成部2020は、ステップS703において、各コンテクストにおいて、占有情報を復号した結果点が存在した場合、各コンテクストに紐づく確率分布を、点が存在する確率が高くなるように更新する。 For example, in step S703, if there is a point as a result of decoding the occupation information in each context, the tree synthesizing unit 2020 updates the probability distribution associated with each context so that the probability of the existence of the point increases.
 一方、ツリー合成部2020は、ステップS703において、各コンテクストにおいて、占有情報を復号した結果点が存在しなかった場合、各コンテクストに紐づく確率分布を、点が存在する確率が低くなるように更新する。 On the other hand, in step S703, if there is no point as a result of decoding the occupation information in each context, the tree synthesizing unit 2020 updates the probability distribution associated with each context so that the probability that the point exists is low. do.
 コンテクストの更新が完了したら、ツリー合成部2020は、ステップS704へ進み、処理を終了する。 Upon completion of updating the context, the tree synthesizing unit 2020 advances to step S704 and terminates the process.
 上述のステップS701の処理は、例えば、図22に示すような処理でもよい。 The process of step S701 described above may be, for example, the process shown in FIG.
 図22は、図7におけるステップS701の処理の一例を示すフローチャートである。図22と図8との差分は、ステップS2202のみである。したがって、図8と同様の符号を付している処理については、図8と同様の処理とすることができるため、再度の説明は省略する。 FIG. 22 is a flow chart showing an example of the process of step S701 in FIG. The only difference between FIG. 22 and FIG. 8 is step S2202. Therefore, the processes denoted by the same reference numerals as those in FIG. 8 can be the same processes as those in FIG.
 以下、図22におけるステップS2202について説明する。 Step S2202 in FIG. 22 will be described below.
 図22に示すように、ステップS2202において、ツリー合成部2020は、参照ノード内に少なくとも1点の参照点が存在するか否かを判定し、参照ノード内に少なくとも1点の参照点が存在する場合には、ステップS803へ進み、参照ノード内に参照点が1点も存在しない場合には、ステップS805へ進む。 As shown in FIG. 22, in step S2202, the tree combining unit 2020 determines whether or not there is at least one reference point within the reference node, and if there is at least one reference point within the reference node If there is no reference point in the reference node, the process proceeds to step S805.
 ここで、図23を用いて、参照ノード内に少なくとも1点の参照点が存在するか否かを判定する方法の具体例について説明する。 Here, using FIG. 23, a specific example of a method for determining whether or not at least one reference point exists within a reference node will be described.
 図23は、ステップS2202の処理の一例を示すフローチャートである。 FIG. 23 is a flowchart showing an example of the process of step S2202.
 図23に示すように、ステップS2301において、ツリー合成部2020は、対象ノードの参照先が所定階層にセットされているか否かを確認する。 As shown in FIG. 23, in step S2301, the tree synthesizing unit 2020 confirms whether or not the reference destination of the target node is set to a predetermined hierarchy.
 ここで、Octree処理の最初の階層におけるノード、いわゆるルートノードにおいては、初期値として対象ノードの参照先は対象階層にセットしておくものとする。 Here, for the node in the first layer of Octree processing, the so-called root node, the reference destination of the target node shall be set to the target layer as an initial value.
 対象ノードの参照先が所定階層にセットされている場合は、ツリー合成部2020は、ステップS2302へ進み、対象ノードの参照先が所定階層にセットされていない場合、例えば、対象階層にセットされている場合は、ツリー合成部2020は、ステップS2304へ進む。 If the reference destination of the target node is set to the predetermined hierarchy, the tree synthesizing unit 2020 advances to step S2302, and if the reference destination of the target node is not set to the predetermined hierarchy, If so, tree synthesizing section 2020 proceeds to step S2304.
 ステップS2302において、ツリー合成部2020は、対象ノードに保存されている所定階層の参照点の有無に関する情報を、対象ノードの参照点の有無として出力する。 In step S2302, the tree synthesizing unit 2020 outputs information regarding the presence/absence of the reference point of the predetermined hierarchy stored in the target node as the presence/absence of the reference point of the target node.
 すなわち、所定階層の参照点の有無に関する情報が「有」の場合は、ステップS2202において、ツリー合成部2020は、参照ノード内に少なくとも1点の参照点が存在すると判定し、所定階層の参照点の有無に関する情報が「無」の場合は、ステップS2202において、ツリー合成部2020は、参照ノード内に参照点が1点も存在しないと判定する。 That is, if the information about the presence or absence of the reference point in the predetermined hierarchy is "yes", tree synthesis section 2020 determines in step S2202 that there is at least one reference point in the reference node, and the reference point in the predetermined hierarchy. If the information regarding the presence or absence of is "absent", tree synthesis section 2020 determines in step S2202 that there is no reference point in the reference node.
 上述の処理が終了後、ツリー合成部2020は、ステップS2303へ進む。 After completing the above process, the tree synthesizing unit 2020 proceeds to step S2303.
 ステップS2303において、ツリー合成部2020は、対象ノードを分割することによって生成される各子ノードに対して、参照先を所定階層にセットする。 In step S2303, the tree synthesizing unit 2020 sets the reference destination to a predetermined hierarchy for each child node generated by splitting the target node.
 更に、ツリー合成部2020は、対象ノードに保存されている所定階層の参照点の有無に関する情報を、各子ノードの所定階層の参照点の有無に関する情報としてコピーする。言い換えると、ツリー合成部2020は、対象ノードに保存されている所定階層の参照点の有無に関する情報を、各子ノードに継承する。 Furthermore, the tree synthesizing unit 2020 copies the information on the presence/absence of the reference point in the predetermined hierarchy stored in the target node as the information on the presence/absence of the reference point in the predetermined hierarchy of each child node. In other words, the tree synthesizing unit 2020 inherits to each child node the information about the presence or absence of the reference point in the predetermined hierarchy saved in the target node.
 上述の処理が終了後、ツリー合成部2020は、ステップS2308へ移り、処理を終了する。 After the above processing is completed, the tree synthesizing unit 2020 moves to step S2308 and ends the processing.
 ステップS2304において、ツリー合成部2020は、対象階層における参照点の有無を出力する。この処理は、ステップS802と同一である。 In step S2304, the tree synthesizing unit 2020 outputs whether or not there is a reference point in the target hierarchy. This process is the same as step S802.
 ステップS2305において、ツリー合成部2020は、対象ノードを分割することによって生成される各子ノードのサイズが、所定サイズであるかどうかを判定する。 In step S2305, the tree synthesizing unit 2020 determines whether the size of each child node generated by splitting the target node is a predetermined size.
 所定サイズとは、例えば、GSH2012に含まれる参照ノードの最小サイズを示すシンタックス(log2_min_ref_node_size)によって設定してもよい。 The predetermined size may be set by, for example, syntax (log2_min_ref_node_size) indicating the minimum size of reference nodes included in GSH2012.
 ここで、子ノードのx方向、y方向、z方向のサイズのうち、最も大きなサイズを対象ノードのサイズとしてもよい。 Here, among the sizes of the child nodes in the x, y, and z directions, the largest size may be used as the size of the target node.
 例えば、子ノードのサイズが(x、y、z)=(8、16、4)である場合、「16」を対象ノードのサイズとしてもよい。 For example, if the size of the child node is (x, y, z) = (8, 16, 4), "16" may be the size of the target node.
 また、子ノードのx方向、y方向、z方向のサイズのうち、最も小さなサイズを対象ノードのサイズとしてもよい。 Also, among the sizes of the child nodes in the x, y, and z directions, the smallest size may be used as the size of the target node.
 例えば、子ノードのサイズが(x、y、z)=(8、16、4)である場合、「4」を対象ノードのサイズとしてもよい。 For example, if the size of the child node is (x, y, z)=(8, 16, 4), "4" may be the size of the target node.
 上述のように求めた対象ノードのサイズと所定サイズとが等しい場合、ツリー合成部2020は、ステップS2306へ進み、かかる対象ノードのサイズと所定サイズとが等しくない場合は、ツリー合成部2020は、ステップS2307へ進む。 If the size of the target node obtained as described above is equal to the predetermined size, the tree synthesizing unit 2020 proceeds to step S2306. The process advances to step S2307.
 なお、ここで、対象ノード及び所定サイズとしては、それぞれ2の対数をとった値を処理に用いてもよい。 Here, as the target node and the predetermined size, values obtained by taking the logarithm of 2 may be used for processing.
 ステップS2306において、ツリー合成部2020は、対象ノードを分割して得られる各子ノードの参照先を所定階層にセットする。 In step S2306, the tree synthesizing unit 2020 sets the reference destination of each child node obtained by dividing the target node to a predetermined hierarchy.
 ツリー合成部2020は、ステップS2304で出力した対象ノードの参照点の有無に関する情報を、各子ノードの所定階層の参照点の有無に関する情報としてセットする。 The tree synthesizing unit 2020 sets the information regarding the presence/absence of the reference point of the target node output in step S2304 as the information regarding the presence/absence of the reference point in the predetermined hierarchy of each child node.
 上述の処理が終わった後、ツリー合成部2020は、ステップS2308へ進み、処理を終了する。 After completing the above-described processing, the tree synthesizing unit 2020 advances to step S2308 and terminates the processing.
 ツリー合成部2020は、ステップS2307において、対象ノードを分割して得られる各子ノードの参照先を対象階層にセットし、ステップS2308へ進み、処理を終了する。 In step S2307, the tree synthesizing unit 2020 sets the reference destination of each child node obtained by dividing the target node to the target hierarchy, proceeds to step S2308, and ends the process.
 なお、ここまでは、便宜上、参照先と所定階層の参照点の有無に関する情報とを分けて説明したが、これらを統合して、数値データとして各ノードに記憶させておいてもよい。 Up to this point, for the sake of convenience, the reference destination and the information regarding the presence or absence of the reference point in the predetermined hierarchy were described separately, but these may be integrated and stored as numerical data in each node.
 例えば、対象データの値が「-1」の場合は、対象階層を参照先と定義し、対象データの値が「0」の場合は、所定階層を参照先と定義し且つ所定階層の参照点を「無」と定義し、対象データの値が「1」の場合は、所定階層を参照先と定義し且つ所定階層の参照点を「有」と定義していてもよい。 For example, when the target data value is "-1", the target hierarchy is defined as the reference destination, and when the target data value is "0", the predetermined hierarchy is defined as the reference destination and the reference point of the predetermined hierarchy. may be defined as "absent", and when the value of the target data is "1", a predetermined hierarchy may be defined as the reference destination and the reference point of the predetermined hierarchy may be defined as "present".
 ツリー合成部2020は、occpancy codeを復号した後、ステップS603へ進み、次のノードの処理へ移る。 After decoding the opportunity code, the tree synthesizing unit 2020 proceeds to step S603 to process the next node.
 以上のように、ツリー合成部2020は、階層的に幾何情報の占有情報を復号し、かかる占有情報を復号する際に複数のコンテクストを切り替えて使用し、かかるコンテクストの切り替えに、対象フレームと時間的に異なる復号済みのフレームを参照フレームとして参照し、かかる参照フレーム内で参照する領域を、階層ごとに対象階層のノードサイズと同一の大きさの領域とするか或いは対象階層のノードサイズと異なる大きさの領域とするかを切り替えるように構成されていてもよい。 As described above, the tree synthesizing unit 2020 hierarchically decodes the occupation information of the geometric information, switches between a plurality of contexts when decoding the occupation information, and switches the context between the target frame and the time. A decoded frame that is physically different is referred to as a reference frame, and an area to be referred to in the reference frame is an area having the same size as the node size of the target layer for each layer, or is different from the node size of the target layer. It may be configured to switch between the size of the area.
 また、以上のように、ツリー合成部2020は、上述の参照ノード内の参照点の有無に基づいて、コンテクストの切り替えを行うように構成されていてもよい。 Also, as described above, the tree synthesizing unit 2020 may be configured to switch contexts based on the presence or absence of reference points in the reference nodes described above.
 また、以上のように、ツリー合成部2020は、対象階層のノードサイズが所定の最小参照ノードサイズ以上の場合には、参照ノードの大きさを対象階層のノードサイズと同一とし、対象階層のノードサイズが所定の最小参照ノードサイズより小さい場合には、参照ノードの大きさを所定の最小参照ノードサイズとするように構成されていてもよい。 In addition, as described above, when the node size of the target layer is equal to or larger than the predetermined minimum reference node size, the tree combining unit 2020 makes the size of the reference node the same as the node size of the target layer. The size of the reference node may be configured to be the predetermined minimum reference node size if the size is less than the predetermined minimum reference node size.
 以上のように、対象階層のノードサイズが最小参照ノードサイズより小さい場合に、対象階層のノードサイズよりも大きな領域を参照してコンテクストの切り替えを行うことで、参照点群が疎な場合にも空間的な相関を活用して符号化効率を向上させることができる。 As described above, when the node size of the target layer is smaller than the minimum reference node size, by switching the context by referring to an area larger than the node size of the target layer, even if the reference point cloud is sparse Coding efficiency can be improved by exploiting spatial correlation.
 また、以上のように、ツリー合成部2020は、制御データから復号した所定の最小参照ノードサイズを用いて、コンテクストの切り替えを行うように構成されていてもよい。 Also, as described above, the tree synthesizing unit 2020 may be configured to switch contexts using a predetermined minimum reference node size decoded from control data.
 このように、点群符号化装置100側で決定したパラメータに基づいて参照ノードサイズを定義することで、点群復号装置200側では参照ノードサイズを決定するための探索処理が不要となり、点群復号装置200の演算量の増加を防ぐことができる。 In this way, by defining the reference node size based on the parameters determined by the point cloud encoding device 100 side, the point cloud decoding device 200 side does not need search processing for determining the reference node size, and the point cloud An increase in the amount of computation of the decoding device 200 can be prevented.
 また、点群符号化装置100側では、符号化前の原点群データも参照できるため、点群符号化装置100側で参照ノードサイズを決定することで、点群復号装置200側で参照ノードサイズを決定する場合と比較して符号化効率の観点でより適切なノードサイズが決定できる。 In addition, since the point cloud encoding device 100 side can also refer to the origin group data before encoding, by determining the reference node size on the point cloud encoding device 100 side, the reference node size on the point cloud decoding device 200 side A more appropriate node size can be determined from the viewpoint of coding efficiency compared to the case of determining .
 また、以上のように、ツリー合成部2020は、ノードごとに、参照先及び所定階層の参照点の有無に関する情報を保持するように構成されていても良い。 Also, as described above, the tree synthesizing unit 2020 may be configured to hold information regarding the reference destination and the presence or absence of a reference point in a predetermined hierarchy for each node.
 また、以上のように、ツリー合成部2020は、対象ノードを分割して得られる子ノードについて、それぞれ参照先及び所定階層の参照点の有無に関する情報を設定するように構成されていてもよい。 Also, as described above, the tree synthesizing unit 2020 may be configured to set information regarding the reference destination and the presence or absence of a reference point in a predetermined hierarchy for each child node obtained by dividing the target node.
 また、以上のように、ツリー合成部2020は、対象ノードにおける参照先が所定階層である場合、保持している所定階層の参照点の有無に関する情報を、参照ノード内の参照点の有無に関する情報としてコンテクストの切り替えを行うように構成されていてもよい。 Further, as described above, when the reference destination of the target node is the predetermined hierarchy, the tree synthesis unit 2020 stores the information regarding the presence or absence of the reference point in the predetermined hierarchy, and the information regarding the presence or absence of the reference point in the reference node. may be configured to perform context switching as .
 また、以上のように、ツリー合成部2020は、対象ノードにおける参照先が対象階層である場合、参照フレーム内において対象ノードと同一サイズで且つ同一位置の領域を参照ノードとして参照し、参照ノード内での参照点の有無に基づいてコンテクストの切り替えを行うように構成されていてもよい。 Further, as described above, when the reference destination of the target node is the target layer, the tree synthesis unit 2020 refers to an area having the same size and the same position as the target node in the reference frame as the reference node, and may be configured to perform context switching based on the presence or absence of a reference point in .
 以上のように、対象ノードから各子ノードに対して情報を設定することで、子ノード以下の階層では上位階層から継承した値を参照するだけでコンテクスト切り替えが実現可能となり、参照フレーム内での探索処理やメモリアクセスが不要になるといった利点がある。 As described above, by setting information from the target node to each child node, it becomes possible to switch contexts simply by referring to the values inherited from the upper hierarchy in the hierarchy below the child node, and within the reference frame It has the advantage of eliminating search processing and memory access.
(近似表面合成部2030)
 近似表面合成部2030は、図6で説明したようにツリー合成部2020にてTrisoupノードと判定された各ノードについて、復号処理を行うように構成されている。
(Approximate surface synthesizing unit 2030)
The approximate surface synthesizing unit 2030 is configured to perform decoding processing on each node determined to be a Trisoup node by the tree synthesizing unit 2020 as described with reference to FIG.
 以下、図9~図20を用いて近似表面合成部2030の処理の例について説明する。 An example of the processing of the approximate surface synthesizing unit 2030 will be described below with reference to FIGS. 9 to 20. FIG.
 図9は、近似表面合成部2030の処理の一例を示すフローチャートである。 FIG. 9 is a flowchart showing an example of processing of the approximate surface synthesizing unit 2030. FIG.
 図9に示すように、ステップS901において、近似表面合成部2030は、ノード毎の頂点位置を復号する。 As shown in FIG. 9, in step S901, the approximate surface synthesis unit 2030 decodes vertex positions for each node.
 ここで、近似表面合成部2030は、複数レベルでのTrisoupを許可するとき、すなわち、trisoup_multilevel_enabled_flagの値が「1」の時は、最小Trisoupノードサイズにおけるノード毎に頂点位置を復号する。 Here, when the approximate surface synthesis unit 2030 permits Trisoup at multiple levels, that is, when the value of trisoup_multilevel_enabled_flag is "1", the approximate surface synthesis unit 2030 decodes the vertex position for each node in the minimum Trisoup node size.
 一方、近似表面合成部2030は、複数レベルでのTrisoupを許可しないとき、すなわち、trisoup_multilevel_enabled_flagの値が「0」の時は、Trisoupノードサイズにおけるノード毎に頂点位置を復号する。具体的な処理については後述する。 On the other hand, the approximate surface synthesis unit 2030 decodes the vertex position for each node in the Trisoup node size when Trisoup at multiple levels is not permitted, that is, when the value of trisoup_multilevel_enabled_flag is "0". Specific processing will be described later.
 頂点位置の復号が完了した後、近似表面合成部2030は、ステップS902へ進む。 After completing the decoding of the vertex positions, the approximate surface synthesizing unit 2030 proceeds to step S902.
 ステップS902において、近似表面合成部2030は、頂点位置を復号したノード毎(最小Trisoupノードサイズ、又は、Trisoupノードサイズにおけるノード毎)に、投影面を決定する。 In step S902, the approximate surface synthesis unit 2030 determines a projection plane for each node (minimum Trisoup node size or each node in the Trisoup node size) whose vertex positions are decoded.
 例えば、x軸、y軸、z軸の3つの軸があるとき、どれか一つの軸を縮退した平面を投影面と呼ぶ。 For example, when there are three axes, the x-axis, the y-axis, and the z-axis, a plane obtained by degenerating any one axis is called a projection plane.
 ステップS902では、近似表面合成部2030は、上述の軸のうちどの軸を縮退するか、すなわち、x-y平面、x-z平面、y-z平面のうちどの平面を投影面とするかを決定する。具体的な処理については後述する。 In step S902, the approximate surface synthesizing unit 2030 selects which of the above axes is to be degenerated, that is, which of the xy plane, xz plane, and yz plane is to be the projection plane. decide. Specific processing will be described later.
 投影面を決定した後、近似表面合成部2030は、ステップS903へ進む。 After determining the projection plane, the approximate surface synthesizing unit 2030 proceeds to step S903.
 ステップS903において、近似表面合成部2030は、投影面に投影した頂点を、例えば反時計回りの順になるようにソートし、前記の順序に従ってindexを付与する。 In step S903, the approximate surface synthesizing unit 2030 sorts the vertices projected onto the projection plane, for example, in counterclockwise order, and assigns indices according to the order.
 indexを付与した後、近似表面合成部2030は、ステップS904へ進む。 After assigning the index, the approximate surface synthesizing unit 2030 proceeds to step S904.
 ステップS904において、近似表面合成部2030は、上述のindex及び対象ノードに存在する頂点数に基づいて、三角形を生成する。 In step S904, the approximate surface synthesizing unit 2030 generates triangles based on the above index and the number of vertices present in the target node.
 例えば、近似表面合成部2030は、予め頂点数毎にどのindexから三角形を生成するかを定義した表を作成しておき、それを参照することで三角形を生成できる。具体的な表の例については、例えば、上述の文献1に記載の表を用いることができる。 For example, the approximate surface synthesizing unit 2030 can create a table in advance that defines from which index to generate a triangle for each number of vertices, and generate a triangle by referring to this table. As for a specific example of the table, for example, the table described in Document 1 can be used.
 三角形を生成した後、近似表面合成部2030は、ステップS905へ進む。 After generating the triangles, the approximate surface synthesizing unit 2030 proceeds to step S905.
 ステップS905において、近似表面合成部2030は、ステップS904で生成した三角形を基に、点を生成する。具体的な方法は、例えば、上述の文献1に記載の方法を用いることができる。 In step S905, the approximate surface synthesizing unit 2030 generates points based on the triangles generated in step S904. As a specific method, for example, the method described in Document 1 can be used.
 全てのノードについて点の生成が完了した後、近似表面合成部2030は、ステップS906へ進み、処理を終了する。 After point generation is completed for all nodes, the approximate surface synthesizing unit 2030 proceeds to step S906 and ends the processing.
 次に、ステップS901の頂点位置の復号について、処理の具体例を説明する。図10は、Trisoupの頂点位置の復号処理の一例を示すフローチャートである。 Next, a specific example of processing for decoding the vertex position in step S901 will be described. FIG. 10 is a flowchart illustrating an example of decoding processing for trisoup vertex positions.
 図10に示すように、ステップS1001において、近似表面合成部2030は、全Trisoup階層の処理が完了したかどうかを判定する。ここで、全Trisoup階層の数は、以下の通り定義できる。 As shown in FIG. 10, in step S1001, the approximate surface synthesizing unit 2030 determines whether the processing of all Trisoup hierarchies has been completed. Here, the total number of Trisoup hierarchies can be defined as follows.
 複数レベルでのTrisoupを許可するとき、すなわち、trisoup_multilevel_enabled_flagの値が「1」の時は、全Trisoup階層数は、(最大Trisoupノードサイズ-最小Trisoupノードサイズ+1)で定義できる。 When allowing Trisoup at multiple levels, that is, when the value of trisoup_multilevel_enabled_flag is "1", the total number of Trisoup layers can be defined as (maximum Trisoup node size - minimum Trisoup node size + 1).
 すなわち、かかる場合、全Trisoup階層数は、(log2_trisoup_max_node_size_minus2-log2_trisoup_min_node_size_minus2+1)で定義できる。 That is, in this case, the total number of Trisoup hierarchies can be defined by (log2_trisoup_max_node_size_minus2−log2_trisoup_min_node_size_minus2+1).
 複数レベルでのTrisoupを許可しないとき、すなわち、trisoup_multilevel_enabled_flagの値が「0」の時は、全Trisoup階層数は、1である。 When Trisoup at multiple levels is not permitted, that is, when the value of trisoup_multilevel_enabled_flag is "0", the total number of Trisoup layers is 1.
 全てのTrisoup階層の処理が完了した場合は、近似表面合成部2030は、ステップS1007へ進む。全てのTrisoup階層の処理が完了していない場合は、近似表面合成部2030は、ステップS1002へ移る。 When the processing of all Trisoup hierarchies has been completed, the approximate surface synthesizing unit 2030 proceeds to step S1007. If the processing of all Trisoup hierarchies has not been completed, the approximate surface synthesizing unit 2030 moves to step S1002.
 ステップS1002において、近似表面合成部2030は、対象Trisoup階層に属するユニークセグメント数を確認する。 In step S1002, the approximate surface synthesizing unit 2030 confirms the number of unique segments belonging to the target Trisoup hierarchy.
 ユニークセグメント数が「0」の場合、すなわち、対象Trisoup階層にはTrisoupノードが1つも含まれない場合は、近似表面合成部2030は、ステップS1001へ進み、次のTrisoup階層の処理へ移る。 If the number of unique segments is "0", that is, if the target Trisoup layer does not include even one Trisoup node, the approximate surface synthesizing unit 2030 proceeds to step S1001 to process the next Trisoup layer.
 ユニークセグメント数が「0」より大きい場合は、近似表面合成部2030は、ステップS1003へ移る。 If the number of unique segments is greater than "0", the approximate surface synthesizing unit 2030 moves to step S1003.
 ステップS1003において、近似表面合成部2030は、各ユニークセグメントに対してTrisoup処理に用いる頂点が含まれるか否かを復号する。 In step S1003, the approximate surface synthesizing unit 2030 decodes whether each unique segment includes vertices used for Trisoup processing.
 なお、各ユニークセグメントに対して存在できる頂点は、1点のみに制限してもよい。この場合、頂点が存在するユニークセグメント数が頂点数と等しいと解釈できる。 It should be noted that the number of vertices that can exist for each unique segment may be limited to only one point. In this case, it can be interpreted that the number of unique segments in which vertices exist is equal to the number of vertices.
 近似表面合成部2030は、対象Trisoup階層の全てのユニークセグメントについて頂点の有無を復号した後、ステップS1004へ移る。 After decoding the presence/absence of vertices for all unique segments in the target Trisoup layer, the approximate surface synthesis unit 2030 moves to step S1004.
 ステップS1004において、近似表面合成部2030は、ステップS1003において頂点が存在すると判定された各ユニークセグメントに対して、各ユニークセグメント上のどこに頂点が存在するのかという位置情報を復号する。 In step S1004, the approximate surface synthesizing unit 2030 decodes position information indicating where the vertex exists on each unique segment for each unique segment determined to have a vertex in step S1003.
 位置情報は、例えば、対象Trisoup階層におけるTrisoupノードサイズがL(2のL乗)の場合、Lビットの等長符号で符号化されていてもよい。 For example, if the Trisoup node size in the target Trisoup layer is L (2 to the L power), the position information may be encoded with an L-bit equal-length code.
 近似表面合成部2030は、対象Trisoup階層において、頂点が存在する全てのユニークセグメントに対して頂点位置を復号した後、ステップS1006へ進む。 The approximate surface synthesizing unit 2030 proceeds to step S1006 after decoding vertex positions for all unique segments having vertices in the target Trisoup hierarchy.
 ステップS1006において、近似表面合成部2030は、対象Trisoup階層におけるノードサイズが最小Trisoupノードサイズの場合、何も処理をせずS1001へ進む。 In step S1006, if the node size in the target Trisoup hierarchy is the minimum Trisoup node size, the approximate surface synthesis unit 2030 proceeds to S1001 without performing any processing.
 同様に、近似表面合成部2030は、複数レベルでのTrisoupが許可されていない場合、何も処理をせず、ステップS1001へ進む。 Similarly, if Trisoup at multiple levels is not permitted, the approximate surface synthesizing unit 2030 does not perform any processing and proceeds to step S1001.
 そうでない場合、すなわち、複数レベルでのTrisoupが許可されており、かつ、対象Trisoup階層におけるノードサイズが最小Trisoupノードサイズより大きい場合は、近似表面合成部2030は、ステップS1004で復号した対象Trisoup階層に対応するノードサイズにおける頂点位置に基づいて、最小Trisoupノードサイズにおける頂点位置を生成する。具体的な処理例については後述する。 Otherwise, i.e., if Trisoup at multiple levels is allowed and the node size in the target Trisoup layer is greater than the minimum Trisoup node size, the approximate surface synthesis unit 2030 uses the target Trisoup layer decoded in step S1004. Generate the vertex positions at the minimum Trisoup node size based on the vertex positions at the node size corresponding to . A specific processing example will be described later.
 最小ノードサイズにおける頂点位置生成が完了した後、近似表面合成部2030は、ステップS1001へ進む。 After completing vertex position generation for the minimum node size, the approximate surface synthesis unit 2030 proceeds to step S1001.
 ステップS1007において、近似表面合成部2030は、頂点位置の統合を行う。 In step S1007, the approximate surface synthesizing unit 2030 integrates vertex positions.
 例えば、近似表面合成部2030は、ステップS1006において、大きなノードサイズでの頂点位置から、最小Trisoupノードサイズにおける頂点位置を生成した場合、ノードの各辺に頂点が2点以上生成される可能性がある。 For example, when the approximate surface synthesizing unit 2030 generates the vertex positions for the minimum Trisoup node size from the vertex positions for the large node size in step S1006, there is a possibility that two or more vertices are generated for each side of the node. be.
 もし、頂点が2点以上生成されている辺があった場合、近似表面合成部2030は、これを1点に統合して、辺ごとに頂点が1点ずつになるようにする。 If there is a side with two or more vertices generated, the approximate surface synthesizing unit 2030 integrates it into one point so that each side has one vertex.
 例えば、近似表面合成部2030は、辺上に存在する頂点の座標の平均値をとることで、複数の点を1点に統合することができる。 For example, the approximate surface synthesizing unit 2030 can integrate a plurality of points into one point by averaging the coordinates of the vertices on the side.
 別の例としては、頂点の数が奇数の場合、近似表面合成部2030は、座標の中央値を持つ点を選択することで頂点を1つに絞ることができる。 As another example, if the number of vertices is an odd number, the approximate surface synthesis unit 2030 can narrow down the number of vertices to one by selecting a point having the median coordinate value.
 また、頂点の数が偶数の場合は、近似表面合成部2030は、座標の中央値を持つ2点を抽出した後、かかる2点の座標値の平均をとることで頂点を1つに絞ることができる。 If the number of vertices is even, the approximate surface synthesizing unit 2030 extracts two points having the median coordinate value, and then averages the coordinate values of these two points to narrow down the vertex to one. can be done.
 全ての辺についてそれぞれ頂点を1つずつに統合した後、近似表面合成部2030は、ステップS1008へ進み、処理を終了する。 After integrating vertices one by one for all sides, the approximate surface synthesizing unit 2030 proceeds to step S1008 and ends the process.
 次に、前記ステップS1006の処理の具体例について説明する。 Next, a specific example of the processing of step S1006 will be described.
 以下、図11及び図12を用いて、上述のステップS1006の処理の一例を説明する。 An example of the processing of step S1006 will be described below with reference to FIGS. 11 and 12. FIG.
 図12に、ステップS1004で復号した対象Trisoup階層に対応するノードサイズをN(ノードの一辺の長さが2のN乗)として、最小のTrisoupノードサイズをN-1とした場合の例を示す。 FIG. 12 shows an example where the node size corresponding to the target Trisoup layer decoded in step S1004 is N (the length of one side of the node is the Nth power of 2) and the minimum Trisoup node size is N-1. .
 ステップS1006の処理の目的は、図12-1に示す対象Trisoup階層に対応するノードサイズ(図12では、N)における頂点(図12では、4点)から、図12-3に示す最小のTrisoupノードサイズ(図12では、N-1)における頂点(図12では、9点)を生成することである。 The purpose of the processing in step S1006 is to extract the minimum Trisoup shown in FIG. It is to generate vertices (9 points in FIG. 12) in the node size (N-1 in FIG. 12).
 図11は、上述のステップS1006の処理の一例を示すフローチャートである。 FIG. 11 is a flowchart showing an example of the process of step S1006 described above.
 図11に示すように、近似表面合成部2030は、ステップS1004で復号した対象Trisoup階層に対応するノードサイズにおける頂点位置を入力として、ステップS1101~S1104の処理を行う。 As shown in FIG. 11, the approximate surface synthesis unit 2030 receives as input the vertex position in the node size corresponding to the target Trisoup hierarchy decoded in step S1004, and performs the processing of steps S1101 to S1104.
 ステップS1101~S1104の処理については、図9におけるステップS902~S905と同様な方法で実現できる。 The processing of steps S1101 to S1104 can be realized by the same method as steps S902 to S905 in FIG.
 ここで、図12-1は、ステップS1103の処理結果の例(すなわち、ステップS1104の入力データの例)を示し、図12-2は、ステップS1104の処理結果の例を示す。 Here, FIG. 12-1 shows an example of the processing result of step S1103 (that is, an example of input data of step S1104), and FIG. 12-2 shows an example of the processing result of step S1104.
 図12-1に示すように、近似表面合成部2030は、ステップS1104では、図12-1に示す三角形の面と整数座標位置との交点の全てに点を生成する。 As shown in FIG. 12-1, in step S1104, the approximate surface synthesizing unit 2030 generates points at all intersections between the triangular surfaces shown in FIG. 12-1 and integer coordinate positions.
 近似表面合成部2030は、図12-1に示す三角形を基に、図12-2に示すように点への変換を行った後、ステップS1105へ進む。 The approximate surface synthesizing unit 2030 converts the triangles shown in FIG. 12-1 into points as shown in FIG. 12-2, and then proceeds to step S1105.
 ステップS1105において、近似表面合成部2030は、ステップS1104で生成した点から、最小のTrisoupノードサイズにおける頂点位置を決定する。 In step S1105, the approximate surface synthesizing unit 2030 determines vertex positions in the minimum Trisoup node size from the points generated in step S1104.
 具体的には、近似表面合成部2030は、例えば、ステップS1104で生成した点の中から、最小のTrisoupノードサイズに対応する各ノードの辺に隣接する点をそれぞれ抽出し、抽出した点の座標の平均値を求めることで、各辺に対する頂点位置を決定できる。 Specifically, the approximate surface synthesizing unit 2030 extracts, for example, points adjacent to the side of each node corresponding to the smallest Trisoup node size from among the points generated in step S1104, and coordinates of the extracted points By calculating the average value of , the vertex position for each edge can be determined.
 例えば、近似表面合成部2030は、辺の位置がx軸方向に沿っている場合、例えば(x,y,z)=(a~a+2(N-1),b,c)を満たす位置に辺があった場合、例えば(a~a+2(N-1),b-~b,c-1~c)の領域に存在する点を抽出し、それらの点のx軸座標の平均値eを算出することで、(e,b,c)を頂点位置として決定できる。 For example, if the position of the side is along the x-axis direction, the approximate surface synthesizing unit 2030 may set the side to a position that satisfies, for example, (x, y, z)=(a to a+2(N−1), b, c). If there is, for example, extract points existing in the area of (a to a+2 (N-1), b- to b, c-1 to c), and calculate the average value e of the x-axis coordinates of those points By doing so, (e, b, c) can be determined as the vertex position.
 近似表面合成部2030は、辺がy軸方向及びz軸方向に沿っている場合も、上記と同様に計算できる。 The approximate surface synthesizing unit 2030 can perform calculations in the same manner as above even when the sides are along the y-axis direction and the z-axis direction.
 なお、近似表面合成部2030は、辺に隣接する領域に点が存在しない場合は、かかる辺上には頂点を生成しない。 It should be noted that the approximate surface synthesizing unit 2030 does not generate vertices on a side when there are no points in the area adjacent to the side.
 以上のようにして、近似表面合成部2030は、例えば、図12-3に示すように、最小Trisoupノードサイズにおける頂点位置を生成することができる。 As described above, the approximate surface synthesizing unit 2030 can generate vertex positions in the minimum Trisoup node size, for example, as shown in FIG. 12-3.
 次に、図13及び図14を用いて、ステップS1106の処理の別の具体例について説明する。 Next, another specific example of the processing in step S1106 will be described using FIGS. 13 and 14. FIG.
 図13は、前記ステップS1006の処理の一例を示すフローチャートである。 FIG. 13 is a flowchart showing an example of the process of step S1006.
 図13に示すように、近似表面合成部2030は、ステップS1004で復号した対象Trisoup階層に対応するノードサイズにおける頂点位置を入力として、ステップS1301~S1303の処理を行う。 As shown in FIG. 13, the approximate surface synthesis unit 2030 receives as input the vertex position in the node size corresponding to the target Trisoup hierarchy decoded in step S1004, and performs the processing of steps S1301 to S1303.
 ステップS1301~S1303の処理については、図9におけるステップS902~S904と同様な方法で実現できる。 The processing of steps S1301 to S1303 can be realized by the same method as steps S902 to S904 in FIG.
 図14-1は、ステップS1303の処理結果の例を示している。図14-1から分かる通り、ステップS1303の処理結果及び、ステップS1103の処理結果は同様である。 FIG. 14-1 shows an example of the processing result of step S1303. As can be seen from FIG. 14-1, the processing result of step S1303 and the processing result of step S1103 are the same.
 近似表面合成部2030は、図14-1に示すように、三角形を生成した後、ステップS1304へ進む。 After generating the triangles as shown in FIG. 14-1, the approximate surface synthesizing unit 2030 proceeds to step S1304.
 ステップS1304において、近似表面合成部2030は、ステップS1303で生成した各三角形の面と最小Trisoupノードサイズに対応するノードの各辺との交点に点を生成する。 In step S1304, the approximate surface synthesizing unit 2030 generates points at intersections between each triangular face generated in step S1303 and each side of the node corresponding to the minimum Trisoup node size.
 図14-2は、ステップS1304の処理結果の一例を示している。近似表面合成部2030は、各辺上に点を生成した後、ステップS1305へ進む。 FIG. 14-2 shows an example of the processing result of step S1304. After generating points on each side, the approximate surface synthesizing unit 2030 proceeds to step S1305.
 ステップS1305において、近似表面合成部2030は、ステップS1304において最小Trisoupノードサイズに対応する各辺上に生成された点を統合する。 In step S1305, the approximate surface synthesizing unit 2030 integrates the points generated on each side corresponding to the minimum Trisoup node size in step S1304.
 ステップS1304の処理は、各三角形面と辺との交点に点を生成するため、例えば、ある1つの辺に対して2つ以上の三角面が交差していた場合、同一辺上に2つ以上の頂点が生成される可能性がある。 The processing in step S1304 generates points at the intersections of each triangular face and the side. vertices may be generated.
 その場合、近似表面合成部2030は、同一の辺上に存在する点を統合して、辺ごとに頂点を一点とする様に処理してもよい。 In that case, the approximate surface synthesizing unit 2030 may integrate the points existing on the same side, and process such that each side has one vertex.
 具体的には、例えば、辺上に存在する頂点の座標の平均値をとることで、複数の点を1点に統合することができる。 Specifically, for example, by averaging the coordinates of the vertices on the side, multiple points can be integrated into one point.
 別の例としては、頂点の数が奇数の場合、近似表面合成部2030は、座標の中央値を持つ点を選択することで頂点を1つに絞ることができる。 As another example, if the number of vertices is an odd number, the approximate surface synthesis unit 2030 can narrow down the number of vertices to one by selecting a point having the median coordinate value.
 また、頂点の数が偶数の場合は、近似表面合成部2030は、座標の中央値を持つ2点を抽出した後、かかる2点の座標値の平均をとることで頂点を1つに絞ることができる。 If the number of vertices is even, the approximate surface synthesizing unit 2030 extracts two points having the median coordinate value, and then averages the coordinate values of these two points to narrow down the vertex to one. can be done.
 近似表面合成部2030は、上述のように各辺上の点を統合した後、ステップS1306へ進み、処理を終了する。 After integrating the points on each side as described above, the approximate surface synthesizing unit 2030 advances to step S1306 and ends the process.
 以上のように、本発明における近似表面合成部2030は、複数レベルでのTrisoupを許容する場合、図10のステップS1004に示すように、頂点位置についてはTrisoupノードサイズ毎に復号し、ステップS1005に示すように、前記頂点位置から最小Trisoupノードサイズにおける頂点位置を生成し、ステップS905に示すように、最小Trisoupノードサイズにおいて点を生成するように構成されていてもよい。 As described above, the approximate surface synthesis unit 2030 according to the present invention decodes the vertex positions for each Trisoup node size as shown in step S1004 in FIG. From the vertex locations, it may be configured to generate vertex locations at the minimum Trisoup node size, as shown, and to generate points at the minimum Trisoup node size, as shown in step S905.
 言い換えると、近似表面合成部2030は、複数のノードサイズ毎に頂点の復号処理を実行し、単一のノードサイズで頂点に基づく点の再構成処理を実行するように構成されていてもよい。 In other words, the approximate surface synthesis unit 2030 may be configured to perform vertex decoding processing for each of a plurality of node sizes, and perform vertex-based point reconstruction processing for a single node size.
 また、以上のように、近似表面合成部2030は、制御データから復号した最大ノードサイズ及び最小ノードサイズに基づいて、最大と最小との間の各ノードサイズにおいて頂点の復号処理を実行するように構成されており、かかるノードサイズが最小ノードサイズではない場合、復号した頂点に基づいて、最小ノードサイズにおける頂点位置を生成するように構成されており、単一のノードサイズを最小ノードサイズとするように構成されており、最小ノードサイズにおける頂点位置に基づいて、点の再構成処理を行うように構成されていてもよい。 Further, as described above, the approximate surface synthesis unit 2030 performs decoding processing of vertices at each node size between the maximum and minimum based on the maximum node size and the minimum node size decoded from the control data. is configured to, if such node size is not the minimum node size, be configured to generate vertex positions at the minimum node size based on the decoded vertices, the single node size being the minimum node size and may be configured to perform point reconstruction processing based on the vertex positions in the minimum node size.
 このような構成とすることで、頂点位置の復号単位を可変とすることで点群の幾何的な特性に応じて頂点に係る情報の符号量を削減しつつ、点の再構成については単一且つ小さなノードサイズで実行することで、復号点群の主観品質を高めることができる。 With such a configuration, by making the decoding unit of the vertex position variable, the code amount of the information related to the vertex can be reduced according to the geometric characteristics of the point group, while the point reconstruction can be performed in a single unit. Moreover, by executing with a small node size, the subjective quality of the decoded point group can be improved.
 また、以上のように、近似表面合成部2030は、ノードサイズが最小ノードサイズではない場合、復号した頂点に基づいて点を生成し、生成した点のうち、かかるノードサイズのノードを最小ノードサイズで分割した際の各辺の近傍に存在する点の座標値に基づいて、最小ノードサイズにおける頂点位置を生成するように構成されていてもよい。 Further, as described above, if the node size is not the minimum node size, the approximate surface synthesis unit 2030 generates points based on the decoded vertices, and among the generated points, the node of the node size is the minimum node size It may be configured to generate a vertex position in the minimum node size based on the coordinate values of points existing near each side when divided by .
 このように、近似表面合成部2030における点の再構成処理の一部を流用して最小ノードサイズにおける頂点位置を生成することで、処理回路及び処理関数が流用できるため設計コストを下げることができる。 In this way, by diverting part of the point reconstruction processing in the approximate surface synthesizing unit 2030 to generate the vertex positions at the minimum node size, it is possible to divert processing circuits and processing functions, thereby reducing design costs. .
 また、以上のように、近似表面合成部2030は、ノードサイズが最小ノードサイズではない場合、復号した頂点に基づいて点を生成する際、かかるノードサイズのノードを最小ノードサイズで分割した際の各辺上にのみ点を生成するように構成されていてもよい。このように、生成する点数を最小限とすることで、当該処理に必要なメモリ量や、処理量を削減することができる。 In addition, as described above, when the node size is not the minimum node size, the approximate surface synthesis unit 2030 generates points based on the decoded vertices, and splits the node with the minimum node size. It may be configured to generate points only on each edge. By minimizing the number of generated points in this way, it is possible to reduce the amount of memory required for the processing and the amount of processing.
 また、以上のように、近似表面合成部2030は、ノードサイズが最小ノードサイズではない場合、復号した頂点に基づいて点を生成する際、かかるノードサイズのノードを最小ノードサイズで分割した際の各辺上に複数の点が存在した場合、それらの点を統合し各辺上に頂点が1点ずつとなるように最小ノードサイズにおける頂点位置を生成するように構成されていてもよい。このように、各辺上に頂点数を1点ずつとなるように制限することで、点の再構成処理を簡素化することができる。 In addition, as described above, when the node size is not the minimum node size, the approximate surface synthesis unit 2030 generates points based on the decoded vertices, and splits the node with the minimum node size. If there are multiple points on each side, the points may be integrated to generate vertex positions in the minimum node size so that each side has one vertex. In this way, by limiting the number of vertices to one on each side, the point reconstruction processing can be simplified.
 また、以上のように、近似表面合成部2030は、ある辺上に、かかる辺に隣接する異なるノードサイズのノードから生成された複数の頂点が存在する場合、それらの点を統合し、各辺上に頂点が1点ずつとなるように頂点位置を生成するように構成されていてもよい。このような構成とすることで、点の再構成処理を簡素化することができる。 Further, as described above, when there are a plurality of vertices generated from nodes of different node sizes adjacent to a certain edge, the approximate surface synthesizing unit 2030 integrates those vertices, It may be configured to generate the vertex positions so that there is one vertex at a time. With such a configuration, it is possible to simplify the point reconstruction processing.
 また、以上のように、近似表面合成部2030は、ある辺上に、かかる辺に隣接する異なるノードサイズのノードから生成された複数の頂点が存在する場合、かかる隣接するノードのうち、最も小さなノードサイズを持つノードによって生成された頂点を、かかる辺の頂点位置とするように構成されていてもよい。このように、小さなノードサイズにおける頂点位置を使用するようにすることで、より局所的な特徴を再現した点群の再構成が可能となり、主観品質が向上する。 Further, as described above, when there are a plurality of vertices generated from nodes of different node sizes adjacent to a certain side, the approximate surface synthesizing unit 2030 selects the smallest A vertex generated by a node having a node size may be configured to be the vertex position of such an edge. In this way, by using vertex positions in a small node size, it becomes possible to reconstruct a point group that reproduces more local features, and subjective quality is improved.
 次に、図9におけるステップS902の処理の具体例について説明する。 Next, a specific example of the processing of step S902 in FIG. 9 will be described.
 以下、図15及び図16を用いて、図9におけるステップS902の処理の一例を説明する。
図15は、ステップS902の処理の一例を示すフローチャートである。
An example of the processing of step S902 in FIG. 9 will be described below with reference to FIGS. 15 and 16. FIG.
FIG. 15 is a flow chart showing an example of the processing in step S902.
 図15に示すように、ステップS1501において、近似表面合成部2030は、頂点を各投影面に投影した際の頂点で形成される多角形の面積をそれぞれ算出する。 As shown in FIG. 15, in step S1501, the approximate surface synthesizing unit 2030 calculates the area of each polygon formed by the vertices when the vertices are projected onto each projection plane.
 図16に、ステップS1501の処理の具体例を示す。 FIG. 16 shows a specific example of the processing of step S1501.
 例えば、図16-1に示すように、対象ノードについてA~Eの五つの頂点がある場合を考える。 For example, as shown in Fig. 16-1, consider the case where the target node has five vertices A to E.
 図16-2~図16-4は、図16-1に示す頂点を、それぞれの投影面に投影した際の図である。 Figures 16-2 to 16-4 are diagrams when the vertices shown in Figure 16-1 are projected onto respective projection planes.
 ここで、近似表面合成部2030は、各投影面における多角形の面積(図16-2~図16-4において、それぞれ網掛けになっている部分の面積)を算出する。 Here, the approximate surface synthesizing unit 2030 calculates the area of the polygon on each projection plane (the area of each hatched portion in FIGS. 16-2 to 16-4).
 具体的には、近似表面合成部2030は、各投影面における正方形の中心を原点Oとし、原点O、原点Oと隣り合う2つの頂点(例えば、図16-2における点E及び点D)の計3点で構成される三角形の面積Sは、以下の式で算出できる。 Specifically, the approximate surface synthesizing unit 2030 sets the center of the square on each projection plane as the origin O, and sets the origin O and two vertices adjacent to the origin O (for example, points E and D in FIG. 16B). The area S of a triangle formed by a total of three points can be calculated by the following formula.
 S=|E×D|/2
 ここで、E及びDは、原点Oに対する点E及び点Dの三次元座標を示すベクトルを意味し、×記号は、ベクトルの外積を計算する演算子を意味し、|・|は、ベクトルのL2ノルムを意味している。
S=|E×D|/2
Here, E and D mean vectors indicating the three-dimensional coordinates of points E and D with respect to the origin O, the × symbol means an operator for calculating the cross product of the vectors, |·| We mean the L2 norm.
 近似表面合成部2030は、上述の事項を応用して、ステップS903と同様な方法で、各投影面における頂点を、例えば、反時計回りの順になるようにソートし、上述と同様な手法で、全ての隣り合う頂点同士と原点とで作られる三角形の面積を求めたうえで合計することで、図16-2~図16-4の網掛け部分の面積をそれぞれ算出することができる。 The approximate surface synthesizing unit 2030 applies the above-described matter and sorts the vertices in each projection plane in the same manner as in step S903, for example, in counterclockwise order. The areas of the shaded portions in FIGS. 16-2 to 16-4 can be calculated by calculating the areas of the triangles formed by all adjacent vertices and the origin and summing them up.
 以上では、原点Oを各投影面における正方形の中心と定義した場合について説明したが、原点Oは、各投影面の平面上であれば、他の位置に定義しても、上述と同様な方法で多角形の面積を算出することができる。 In the above description, the origin O is defined as the center of the square on each projection plane. can be used to calculate the area of a polygon.
 例えば、近似表面合成部2030は、原点Oについて、投影面における正方形の辺上に位置してもよい。また、例えば、近似表面合成部2030は、各投影面に投影した頂点のうちの一点を、原点Oと定義してもよい。例えば、近似表面合成部2030は、各投影面に投影した頂点を反時計回りの順になるようにソートした後、先頭の頂点を原点Oとして用いてもよい。 For example, the approximate surface synthesizing unit 2030 may be positioned on the side of the square on the projection plane with respect to the origin O. Also, for example, the approximate surface synthesizing unit 2030 may define one of the vertices projected onto each projection plane as the origin O. FIG. For example, the approximate surface synthesizing unit 2030 may use the top vertex as the origin O after sorting the vertices projected onto each projection plane in counterclockwise order.
 近似表面合成部2030は、以上のように各投影面における多角形の面積をそれぞれ算出した後、ステップS1502へ進む。 After the approximate surface synthesizing unit 2030 calculates the area of each polygon on each projection plane as described above, the process proceeds to step S1502.
 ステップS1502において、近似表面合成部2030は、ステップS1501で求めた多角形の面積が最も大きい投影面を、投影面として決定する。 In step S1502, the approximate surface synthesizing unit 2030 determines the projection plane having the largest area of the polygon obtained in step S1501 as the projection plane.
 近似表面合成部2030は、投影面を決定した後、ステップS1503へ進み、処理を終了する。 After determining the projection plane, the approximate surface synthesizing unit 2030 advances to step S1503 and ends the process.
 なお、近似表面合成部2030は、図15に示す手法で投影面を決定する場合、既にステップS1501において頂点をソートしているため、ステップS903の処理について省略することができる。 Note that when the approximate surface synthesis unit 2030 determines the projection plane by the method shown in FIG. 15, the vertices have already been sorted in step S1501, so the processing in step S903 can be omitted.
 以上のように、近似表面合成部2030は、ノードの各辺上に存在する複数の頂点を複数の投影面候補の各々に投影した際に、かかる頂点で定義される多角形の面積が最大となる投影面を、上述の投影面として選択するように構成されてもよい。 As described above, the approximate surface synthesizing unit 2030 projects a plurality of vertices existing on each side of a node onto each of a plurality of projection plane candidates so that the polygon defined by the vertices has the maximum area. may be configured to select a different projection plane as the projection plane described above.
 このような構成とすることで、投影面上での2次元的な広がりが最も大きな投影面を選択できる。これにより、適切でない投影面を選択することで復号点群の主観画質が劣化することを防止することができる。 With such a configuration, it is possible to select a projection plane with the largest two-dimensional spread on the projection plane. This makes it possible to prevent the subjective image quality of the decoded point group from deteriorating due to the selection of an inappropriate projection plane.
 以上のように、近似表面合成部2030は、所定の原点と、上述の投影面候補に投影した頂点のうち1つ(第1頂点)と、かかる第一頂点と隣り合う第2頂点と、の三点で構成される三角形の面積を、隣り合う全ての頂点のペアに対して算出することで、上述の多角形(三角形)の面積を算出するように構成されてもよい。 As described above, the approximate surface synthesizing unit 2030 combines a predetermined origin, one of the vertices (first vertex) projected onto the projection plane candidate, and a second vertex adjacent to the first vertex. The area of the above-described polygon (triangle) may be calculated by calculating the area of a triangle formed by three points for all pairs of adjacent vertices.
 このように、多角形を小領域に分割して面積を求めることで、それぞれの小領域の面積算出処理を並列に実行できるため、処理速度を向上させることができる。 In this way, by dividing a polygon into small regions and obtaining the area, the area calculation processing of each small region can be executed in parallel, so that the processing speed can be improved.
 また、以上のように、近似表面合成部2030は、上述の原点から第1頂点を指す第1ベクトルと、上述の原点から第2頂点を指す第2ベクトルを定義し、かかる第1ベクトルと第2ベクトルとの外積を用いて、上述の三角形の面積を算出するように構成されていてもよい。このように、ベクトルの外積を用いて演算することで、他の処理で外積処理を行う場合は、処理回路又は処理関数を共通化することで設計を簡素化できる。 Further, as described above, the approximate surface synthesizing unit 2030 defines the first vector pointing from the origin to the first vertex and the second vector pointing from the origin to the second vertex. It may be configured to calculate the area of the above triangle using the outer product of two vectors. In this way, by calculating using the outer product of vectors, design can be simplified by sharing a processing circuit or processing function when outer product processing is performed in other processing.
 また、以上のように、近似表面合成部2030は、上述の投影面候補に投影した頂点を反時計回り或いは時計回りに並べ替え、並べ替えた順に連続する2つの頂点を第1頂点及び第2頂点としてもよい。このように、後段のステップS903と同様な方法でソートを行うことで、処理を共通化して処理量の増加を防ぐことができる。 Further, as described above, the approximate surface synthesizing unit 2030 rearranges the vertices projected onto the projection plane candidate described above counterclockwise or clockwise, and merges two consecutive vertices in the rearranged order into the first vertex and the second vertex. It may be the vertex. In this way, by performing sorting in the same manner as in step S903 described later, it is possible to standardize the processing and prevent an increase in the amount of processing.
 また、以上のように、近似表面合成部2030は、上述の投影面候補に投影した頂点のうち1つ(第3頂点)を、所定の原点とするように構成されていてもよい。このような構成とすることで、所定の原点を頂点以外の位置に設定した場合と比較して、多角形の面積を算出するために計算が必要な三角形の個数が1つ少なくなるため、演算量の増加を防ぐことができる。 Also, as described above, the approximate surface synthesizing unit 2030 may be configured so that one of the vertices (third vertex) projected onto the above projection plane candidates is set as a predetermined origin. With such a configuration, the number of triangles that need to be calculated in order to calculate the area of the polygon is reduced by one compared to the case where the predetermined origin is set at a position other than the vertex. It can prevent an increase in volume.
 次に、図17~図20を用いて、ステップS902の処理の別の例について説明する。 Next, another example of the processing of step S902 will be described using FIGS. 17 to 20. FIG.
 図17は、ステップS902の処理の一例を示すフローチャートである。 FIG. 17 is a flowchart showing an example of the process of step S902.
 図17に示すように、ステップS1701において、近似表面合成部2030は、頂点座標のx軸、y軸、z軸方向それぞれの最大値と最小値の差分を算出する。 As shown in FIG. 17, in step S1701, the approximate surface synthesizing unit 2030 calculates the difference between the maximum and minimum values of the vertex coordinates in the x-axis, y-axis, and z-axis directions.
 例えば、図19-1に示すように、対象ノードにA~Eの計5点の頂点があった場合、近似表面合成部2030は、図19-2に示すxmax-xmin(x軸方向の座標値の最大値と最小値の差分)、ymax-ymin(y軸方向の座標値の最大値と最小値の差分)及び図19-3に示すzmax-zmin(z軸方向の座標値の最大値と最小値の差分)をそれぞれ算出し、ステップS1702へ進む。 For example, as shown in FIG. 19-1, if the target node has a total of five vertices A to E, the approximate surface synthesizing unit 2030 calculates xmax-xmin (x-axis coordinate value), ymax-ymin (difference between the maximum and minimum coordinate values in the y-axis direction), and zmax-zmin (maximum coordinate value in the z-axis direction) shown in FIG. and the minimum value) are calculated, and the process advances to step S1702.
 ステップS1702において、近似表面合成部2030は、ステップS1701で算出した「最大値と最小値の差分」のうちの差分が最小となる軸方向がいくつあるかを確認する。 In step S1702, the approximate surface synthesizing unit 2030 checks how many axial directions have the smallest difference among the "differences between the maximum and minimum values" calculated in step S1701.
 例えば、zmax-zmin<xmax-xmin<ymax-yminという関係となっていた場合(或いは、zmax-zmin<xmax-xmin=ymax-yminという関係となっていた場合)、「最大値と最小値の差分」の最小値を持つ軸方向は1つのみとなる。この場合は、近似表面合成部2030は、ステップS1703へ進む。 For example, if the relationship is zmax-zmin<xmax-xmin<ymax-ymin (or if the relationship is zmax-zmin<xmax-xmin=ymax-ymin), the "maximum value and minimum value Only one axial direction has the minimum value of "difference". In this case, the approximate surface synthesizing unit 2030 proceeds to step S1703.
 一方、例えば、zmax-zmin=xmax-xmin<ymax-yminという関係となっていた場合、「最大値と最小値の差分」の最小値を持つ軸方向は2つとなる。この場合は、近似表面合成部2030は、ステップS1704へ進む。 On the other hand, for example, if the relationship is zmax-zmin=xmax-xmin<ymax-ymin, there are two axial directions that have the minimum value of the "difference between the maximum value and the minimum value". In this case, approximate surface synthesis section 2030 proceeds to step S1704.
 ステップS1703は、差分の最小値を持つ軸方向が一つのみのケースに対応する処理であり、この場合は、近似表面合成部2030は、差分が最小となる軸を縮退することで投影面を決定する。 Step S1703 is processing for the case where there is only one axial direction with the minimum difference value. decide.
 例えば、上述の例のように、zmax-zmin<xmax-xmin<ymax-yminとなっていた場合、z軸を縮退して、x-y平面を投影面として決定する。 For example, as in the above example, if zmax-zmin<xmax-xmin<ymax-ymin, the z-axis is degenerated and the x-y plane is determined as the projection plane.
 近似表面合成部2030は、投影面を決定した後、ステップS1706へ進んで処理を終了する。 After determining the projection plane, the approximate surface synthesizing unit 2030 advances to step S1706 to end the process.
 ステップS1704において、近似表面合成部2030は、各軸方向の辺上の頂点数をカウントする。 In step S1704, the approximate surface synthesizing unit 2030 counts the number of vertices on each axial side.
 例えば、図20-1に示すように、対象ノードにA~Eの計5点の頂点があった場合、x軸方向の辺上に存在する頂点は、図20-2に示す点Aのみであり、y軸方向の辺上に存在する頂点は、図20-3に示す通り0点であり、z軸方向の辺上に存在する頂点は、図20-4に示す通りB~Eの計4点である。 For example, as shown in FIG. 20-1, if the target node has a total of five vertices A to E, the only vertex that exists on the x-axis direction is point A shown in FIG. 20-2. , the vertices on the sides in the y-axis direction are 0 points as shown in FIG. 4 points.
 なお、この処理は、x、y、z軸のうち全ての軸を対象にしてもよいし、ステップS1701で求めた「最大値と最小値の差分」の最小値を持つ軸方向のみを対象としてもよい。 Note that this process may target all of the x, y, and z axes, or target only the axial direction having the minimum value of the "difference between the maximum value and the minimum value" obtained in step S1701. good too.
 例えば、zmax-zmin=xmax-xmin<ymax-yminという関係となっていた場合、本ステップの処理対象をz軸及びx軸のみとしてもよい。 For example, if the relationship is zmax-zmin=xmax-xmin<ymax-ymin, only the z-axis and x-axis may be processed in this step.
 近似表面合成部2030は、上述のように頂点数をカウントした後、ステップS1705へ進む。 After counting the number of vertices as described above, the approximate surface synthesis unit 2030 proceeds to step S1705.
 ステップS1705において、近似表面合成部2030は、ステップS1704で算出した各軸方向の頂点数が最も大きい軸を縮退することで、投影面を決定する。 In step S1705, the approximate surface synthesizing unit 2030 determines the projection plane by degenerating the axis with the largest number of vertices in each axial direction calculated in step S1704.
 例えば、図20の例では、z軸方向の辺上に存在する頂点が最も多いため、近似表面合成部2030は、z軸を縮退して、x-y平面を投影面として決定する。 For example, in the example of FIG. 20, since the largest number of vertices exist on the sides in the z-axis direction, the approximate surface synthesizing unit 2030 degenerates the z-axis and determines the xy plane as the projection plane.
 近似表面合成部2030は、投影面決定後、ステップS1706へ進んで、処理を終了する。 After determining the projection plane, the approximate surface synthesizing unit 2030 proceeds to step S1706 and ends the process.
 以上のように、近似表面合成部2030は、ノードの各辺を三次元座標のどの座標軸と平行かどうかで分類し、各座標軸に分類された辺上の頂点数をカウントし、カウントした値(頂点数)を用いて、複数の投影面候補の中から、上述の投影面を決定するように構成されていてもよい。 As described above, the approximate surface synthesis unit 2030 classifies each side of a node according to which coordinate axis of the three-dimensional coordinates it is parallel to, counts the number of vertices on the side classified according to each coordinate axis, and counts the counted value ( number of vertices) may be used to determine the projection plane from among a plurality of projection plane candidates.
 また、以上のように、近似表面合成部2030は、上述の頂点の数が最も大きい軸を縮退することで定義される面を、上述の投影面と決定するように構成されていてもよい。 Also, as described above, the approximate surface synthesizing unit 2030 may be configured to determine the plane defined by degenerating the axis having the largest number of vertices as the projection plane.
 このような構成とすることで、図15及び図16を用いて説明した手法よりも少ない演算量で、頂点位置の二次元的な広がりを考慮した投影面の決定が可能となる。 By adopting such a configuration, it is possible to determine the projection plane in consideration of the two-dimensional spread of vertex positions with a smaller amount of calculation than the method described using FIGS.
 また、以上のように、近似表面合成部2030は、上述の三次元座標の座標軸ごとに、各頂点の座標値の最大値と最小値との差分値を算出し、かかる座標軸のうち差分値の最小値を持つ軸が2つ以上ある場合、各座標軸に分類された辺上の頂点数が最も大きい軸を縮退することで定義される面を、上述の投影面とするように構成されていてもよい。 In addition, as described above, the approximate surface synthesizing unit 2030 calculates the difference value between the maximum value and the minimum value of the coordinate values of each vertex for each coordinate axis of the above three-dimensional coordinates, and calculates the difference value among the coordinate axes. If there are two or more axes with the minimum value, the plane defined by degenerating the axis with the largest number of vertices on the side classified into each coordinate axis is configured to be the projection plane described above. good too.
 また、以上のように、近似表面合成部2030は、各座標軸に分類された辺上の頂点数が最も大きい軸が2つ以上ある場合、三次元座標の座標軸ごとに、各頂点の座標値の最大値と最小値との差分値を算出し、座標軸のうち差分値が最小となる軸を縮退することで定義される面を、上述の投影面とするように構成されていてもよい。 Further, as described above, when there are two or more axes having the largest number of vertices on the side classified into each coordinate axis, the approximate surface synthesizing unit 2030 calculates the coordinate value of each vertex for each coordinate axis of three-dimensional coordinates. A plane defined by calculating a difference value between the maximum value and the minimum value and degenerating the axis having the smallest difference value among the coordinate axes may be used as the above projection plane.
 なお、図17では、近似表面合成部2030は、先にステップS1701及びS1702において「最大値と最小値の差分」を評価した後、必要に応じてステップS1704及びS1705において各軸方向の辺上の頂点数を評価した。この順番は、例えば、図18に示すように、逆にすることもできる。 In FIG. 17, the approximate surface synthesizing unit 2030 first evaluates the “difference between the maximum value and the minimum value” in steps S1701 and S1702, and then, if necessary, in steps S1704 and S1705, The number of vertices was evaluated. This order can also be reversed, for example, as shown in FIG.
 例えば、図18の例に示す通り、近似表面合成部2030は、ステップS1801及びステップS1802において各軸方向の辺上の頂点数を評価した後、必要に応じてステップS1804及びステップS1805において「最大値と最小値の差分」を評価してもよい。 For example, as shown in the example of FIG. 18, the approximate surface synthesizing unit 2030 evaluates the number of vertices on each side in each axial direction in steps S1801 and S1802, and then, if necessary, in steps S1804 and S1805, "maximum value and the minimum value" may be evaluated.
 図18の例では、ステップS1801については、ステップS1704と同様な処理で実現できる。 In the example of FIG. 18, step S1801 can be realized by the same processing as step S1704.
 ステップS1802において、近似表面合成部2030は、x軸、y軸、z軸方向の中で最大の頂点数を持つ軸が1つのみである場合は、ステップS1803へ進み、頂点数が最大となる軸を縮退することで投影面を決定する。 In step S1802, if there is only one axis with the maximum number of vertices among the x-axis, y-axis, and z-axis directions, the approximate surface synthesis unit 2030 advances to step S1803, where the number of vertices becomes the maximum. Decrease the axis to determine the projection plane.
 そうでない場合(頂点数の最大値を持つ軸が2つ以上ある場合)は、近似表面合成部2030は、ステップS1804へ進む。 Otherwise (if there are two or more axes with the maximum number of vertices), the approximate surface synthesizing unit 2030 proceeds to step S1804.
 ステップS1804については、ステップS1701と同様な処理で実現できる。 Step S1804 can be realized by the same processing as step S1701.
 ここで、ステップS1804の処理対象は、x軸、y軸、z軸の全てとしてもよいし、ステップS1802で頂点数が最大となった軸方向のみを処理対象としてもよい。
ステップS1805において、近似表面合成部2030は、ステップS1804の処理対象となった軸の中で、差分値が最も小さい軸を縮退することで、投影面を決定する。
Here, all of the x-axis, y-axis, and z-axis may be processed in step S1804, or only the axis direction with the maximum number of vertices in step S1802 may be processed.
In step S1805, the approximate surface synthesizing unit 2030 determines the projection plane by degenerating the axis with the smallest difference value among the axes processed in step S1804.
 次に、図24を用いて、ステップS902の処理の別の例について説明する。図24は、ステップS902の処理の一例を示すフローチャートである。 Next, another example of the processing of step S902 will be described using FIG. FIG. 24 is a flow chart showing an example of processing in step S902.
 図24に示すように、ステップS2401において、近似表面合成部2030は、各投影面に投影した際の各頂点の座標に対して、2×2の直交変換を行う。 As shown in FIG. 24, in step S2401, the approximate surface synthesizing unit 2030 performs 2×2 orthogonal transformation on the coordinates of each vertex when projected onto each projection plane.
 以下では、直交変換としてアダマール変換を用いる場合を例に説明する。例えば、座標値として(Px、Py、Pz)を持つ頂点Pをx-y平面に投影した際の座標は、(Px、Py)となる。これに対して2×2のアダマール変換を行って得られる直交変換後の座標(Ha、Hb)は、以下の式によって算出できる。 In the following, the case of using the Hadamard transform as the orthogonal transform will be described as an example. For example, when a vertex P having coordinate values (Px, Py, Pz) is projected onto the xy plane, the coordinates are (Px, Py). On the other hand, the coordinates (Ha, Hb) after orthogonal transformation obtained by performing 2×2 Hadamard transformation can be calculated by the following equations.
Figure JPOXMLDOC01-appb-M000001
 ここで、1/√2は、ノルムを正規化するための係数であるが、後述のように、本処理では、各頂点の直交変換後の座標値をその大小関係を比較するために用いるため、正規化係数1/√2は省略してもよい。すなわち、近似表面合成部2030は、以下の式によって、(Ha、Hb)を算出してもよい。
Figure JPOXMLDOC01-appb-M000001
Here, 1/√2 is a coefficient for normalizing the norm. , the normalization factor 1/√2 may be omitted. That is, the approximate surface synthesizing unit 2030 may calculate (Ha, Hb) by the following formula.
Figure JPOXMLDOC01-appb-M000002
 上述のように、近似表面合成部2030は、直交変換としてアダマール変換を使用し、正規化係数を省略した場合、座標値PxとPyの加減算のみで直交変換後の座標(Ha、Hb)を算出できる。
Figure JPOXMLDOC01-appb-M000002
As described above, if the Hadamard transform is used as the orthogonal transform and the normalization coefficient is omitted, the approximate surface synthesizing unit 2030 calculates the coordinates (Ha, Hb) after the orthogonal transform only by addition and subtraction of the coordinate values Px and Py. can.
 このように、まず、近似表面合成部2030は、x-y平面に投影した際の各頂点(1~n)座標に直交変換を適用してn組の座標(Ha1、Hb1)、・・・、(Han、Hbn)、を得た後、直交変換後の各座標軸(ここではa軸とb軸)における座標値の最大値Hamax、Hbmaxと最小値Hamin、Hbminをそれぞれ検出する。 In this way, the approximate surface synthesizing unit 2030 first applies an orthogonal transformation to the coordinates of each vertex (1 to n) when projected onto the xy plane to generate n sets of coordinates (Ha1, Hb1), . , (Han, Hbn) are obtained, the maximum values Hamax, Hbmax and the minimum values Hamin, Hbmin of the coordinate values on each coordinate axis (here, the a-axis and the b-axis) after orthogonal transformation are detected.
 次に、各軸における最大値と最小値との差分値Had=Hamax―Hamin、Hbd=Hbmax―Hbminを算出する。 Next, the difference values Had=Hamax-Hamin and Hbd=Hbmax-Hbmin between the maximum and minimum values on each axis are calculated.
 最後に、近似表面合成部2030は、上述のHad及びHbdを用いて、x-y平面に投影した場合の頂点座標の広がりの大きさを表す変数Axyを算出する。 Finally, the approximate surface synthesizing unit 2030 uses Had and Hbd to calculate a variable Axy representing the spread of the vertex coordinates when projected onto the xy plane.
 近似表面合成部2030は、Axyについて、例えば、Axy=Had+Hbdのように、直交変換後の座標値の各軸における最大値と最小値の差分を足し合わせることで算出してもよい。 The approximate surface synthesizing unit 2030 may calculate Axy by summing the difference between the maximum value and the minimum value in each axis of the coordinate values after orthogonal transformation, such as Axy=Had+Hbd.
 また、近似表面合成部2030は、Axyについて、例えば、Axy=Had×Hbdのように、直交変換後の座標値の各軸における最大値と最小値の差分を掛け合わせることで算出してもよい。 Also, the approximate surface synthesis unit 2030 may calculate Axy by multiplying the difference between the maximum value and the minimum value in each axis of the coordinate values after the orthogonal transformation, such as Axy=Had×Hbd. .
 上述と同様に、近似表面合成部2030は、他の投影面候補であるy-z平面に対応するAyz及びx-z平面に対応するAxzを算出した後、ステップS2402へ進む。 Similar to the above, the approximate surface synthesizing unit 2030 calculates Ayz corresponding to the yz plane and Axz corresponding to the xz plane, which are other projection plane candidates, and then proceeds to step S2402.
 ステップS2402において、近似表面合成部2030は、ステップS2401で算出したAxy、Ayz、Axzを基に投影面を決定する。 In step S2402, the approximate surface synthesizing unit 2030 determines a projection plane based on Axy, Ayz, and Axz calculated in step S2401.
 例えば、近似表面合成部2030は、Axy、Ayz、Axzのうち、値が最も大きいものに対応する投影面に決定することができる。具体的には、近似表面合成部2030は、例えば、Ayz>Axz>Axzの場合、投影面をy-z平面と決定することができる。 For example, the approximate surface synthesizing unit 2030 can determine the projection plane corresponding to the largest value among Axy, Ayz, and Axz. Specifically, the approximate surface synthesizing unit 2030 can determine the projection plane to be the yz plane if, for example, Ayz>Axz>Axz.
 上述のように、近似表面合成部2030は、投影面を決定した後、ステップS2403へ移り、処理を終了する。 As described above, after determining the projection plane, the approximate surface synthesizing unit 2030 proceeds to step S2403 and ends the process.
 以上のように、近似表面合成部2030は、各投影面に投影した際の頂点座標値に直交変換を適用して得られる直交変換後の座標値を用いて、投影面を決定するように構成されていてもよい。 As described above, the approximate surface synthesizing unit 2030 is configured to determine the projection plane using the coordinate values after orthogonal transformation obtained by applying the orthogonal transformation to the vertex coordinate values when projected onto each projection plane. may have been
 また、以上のように、近似表面合成部2030は、直交変換後の各座標軸において座標値の最大値と最小値との差分値を計算し、かかる差分値に基づいて投影面を決定するように構成されていてもよい。 Further, as described above, the approximate surface synthesizing unit 2030 calculates the difference between the maximum and minimum coordinate values on each coordinate axis after the orthogonal transformation, and determines the projection plane based on the difference. may be configured.
 また、以上のように、近似表面合成部2030は、各投影面候補において、上述の差分値を直交変換後の全ての座標軸について算出し、それらの和或いはそれらの積によって投影面を決定するように構成されていてもよい。 Further, as described above, the approximate surface synthesizing unit 2030 calculates the above-described difference values for all coordinate axes after orthogonal transformation for each projection plane candidate, and determines the projection plane by the sum or product thereof. may be configured to
 このように直交変換によって座標軸を回転した後の座標値を用いることで、頂点の二次元的な広がりを評価しやすくなる。 Using the coordinate values after the coordinate axes have been rotated by orthogonal transformation in this way makes it easier to evaluate the two-dimensional spread of vertices.
 また、以上のように、近似表面合成部2030は、直交変換としてアダマール変換を使用するように構成されていてもよい。 Also, as described above, the approximate surface synthesis unit 2030 may be configured to use the Hadamard transform as the orthogonal transform.
 また、以上のように、近似表面合成部2030は、直交変換時の正規化係数を省略するように構成されていてもよい。 Also, as described above, the approximate surface synthesizing unit 2030 may be configured to omit the normalization coefficients during orthogonal transformation.
 このような構成とすることで、直交変換前の座標値の加減算のみで直交変換後の座標値を得ることができ、計算量の増加を防ぐことができる。 By adopting such a configuration, the coordinate values after orthogonal transformation can be obtained only by addition and subtraction of the coordinate values before orthogonal transformation, and an increase in the amount of calculation can be prevented.
(点群符号化装置100)
 以下、図21を参照して、本実施形態に係る点群符号化装置100について説明する。図21は、本実施形態に係る点群符号化装置100の機能ブロックの一例について示す図である。
(Point group encoding device 100)
The point group encoding device 100 according to this embodiment will be described below with reference to FIG. FIG. 21 is a diagram showing an example of functional blocks of the point cloud encoding device 100 according to this embodiment.
 図21に示すように、点群符号化装置100は、座標変換部1010と、幾何情報量子化部1020と、ツリー解析部1030と、近似表面解析部1040と、幾何情報符号化部1050と、幾何情報再構成部1060と、色変換部1070と、属性転移部1080と、RAHT部1090と、LoD算出部1100と、リフティング部1110と、属性情報量子化部1120と、属性情報符号化部1130と、フレームバッファ1140とを有する。 As shown in FIG. 21, the point group encoding device 100 includes a coordinate transformation unit 1010, a geometric information quantization unit 1020, a tree analysis unit 1030, an approximate surface analysis unit 1040, a geometric information encoding unit 1050, Geometric information reconstruction unit 1060, color conversion unit 1070, attribute transfer unit 1080, RAHT unit 1090, LoD calculation unit 1100, lifting unit 1110, attribute information quantization unit 1120, attribute information encoding unit 1130 , and a frame buffer 1140 .
 座標変換部1010は、入力点群の3次元座標系から、任意の異なる座標系への変換処理を行うよう構成されている。座標変換は、例えば、入力点群を回転することにより、入力点群のx、y、z座標を任意のs、t、u座標に変換してもよい。また、変換のバリエーションの1つとして、入力点群の座標系をそのまま使用してもよい。 The coordinate transformation unit 1010 is configured to perform transformation processing from the three-dimensional coordinate system of the input point group to any different coordinate system. Coordinate transformation may transform the x, y, z coordinates of the input point cloud to arbitrary s, t, u coordinates, for example, by rotating the input point cloud. Also, as one variation of transformation, the coordinate system of the input point cloud may be used as it is.
 幾何情報量子化部1020は、座標変換後の入力点群の位置情報の量子化及び座標が重複する点の除去を行うように構成されている。なお、量子化ステップサイズが1の場合は、入力点群の位置情報と量子化後の位置情報とが一致する。すなわち、量子化ステップサイズが1の場合は、量子化を行わない場合と等価になる。 The geometric information quantization unit 1020 is configured to quantize the position information of the input point group after coordinate transformation and remove points with overlapping coordinates. Note that when the quantization step size is 1, the position information of the input point group matches the position information after quantization. That is, when the quantization step size is 1, it is equivalent to not performing quantization.
 ツリー解析部1030は、量子化後の点群の位置情報を入力として、後述のツリー構造に基づいて、符号化対象空間のどのノードに点が存在するかについて示すoccupancy codeを生成するように構成されている。 The tree analysis unit 1030 is configured to receive the position information of the quantized point group as input and generate an occupancy code indicating at which node in the encoding target space the point exists based on the tree structure described later. It is
 ツリー解析部1030は、本処理において、符号化対象空間を再帰的に直方体で区切ることにより、ツリー構造を生成するように構成されている。 The tree analysis unit 1030 is configured to generate a tree structure in this process by recursively partitioning the encoding target space into rectangular parallelepipeds.
 ここで、ある直方体内に点が存在する場合、かかる直方体を複数の直方体に分割する処理を、直方体が所定のサイズになるまで再帰的に実行することでツリー構造を生成することができる。なお、かかる各直方体をノードと呼ぶ。また、ノードを分割して生成される各直方体を子ノードと呼び、子ノード内に点が含まれるか否かについて0又は1で表現したものがoccupancy codeである。 Here, if a point exists within a certain rectangular parallelepiped, a tree structure can be generated by recursively executing the process of dividing the rectangular parallelepiped into multiple rectangular parallelepipeds until the rectangular parallelepipeds reach a predetermined size. Each rectangular parallelepiped is called a node. In addition, each rectangular parallelepiped generated by dividing a node is called a child node, and an occupancy code is expressed by 0 or 1 as to whether or not a point is included in the child node.
 以上のように、ツリー解析部1030は、所定のサイズになるまでノードを再帰的に分割しながら、occupancy codeを生成するように構成されている。 As described above, the tree analysis unit 1030 is configured to generate an occupancy code while recursively dividing a node until it reaches a predetermined size.
 本実施形態では、上述の直方体を常に立方体として8分木分割を再帰的に行う「Octree」と呼ばれる手法、及び、8分木分割に加え、4分木分割及び2分木分割を行う「QtBt」と呼ばれる手法を使用することができる。 In this embodiment, a method called "Octree" that recursively divides the octree with the above-mentioned rectangular parallelepiped always as a cube, and "QtBt" that performs quadtree division and binary tree division in addition to octree division can be used.
 ここで、「QtBt」を使用するか否かについては、制御データとして点群復号装置200に伝送される。 Here, whether or not to use "QtBt" is transmitted to the point cloud decoding device 200 as control data.
 或いは、任意のツリー構成を用いるPredicitive codingを使用するように指定されてもよい。かかる場合、ツリー解析部1030が、ツリー構造を決定し、決定されたツリー構造は、制御データとして点群復号装置200へ伝送される。 Alternatively, it may be specified to use Predictive coding with an arbitrary tree structure. In this case, the tree analysis unit 1030 determines the tree structure, and the determined tree structure is transmitted to the point cloud decoding device 200 as control data.
 例えば、ツリー構造の制御データは、図6で説明した手順で復号できるよう構成されていてもよい。 For example, the tree-structured control data may be configured so that it can be decoded according to the procedure described in FIG.
 近似表面解析部1040は、ツリー解析部1030によって生成されたツリー情報を用いて、近似表面情報を生成するように構成されている。 The approximate surface analysis unit 1040 is configured to use the tree information generated by the tree analysis unit 1030 to generate approximate surface information.
 近似表面情報は、例えば、物体の3次元点群データを復号する際等において、点群が物体表面に密に分布しているような場合に、個々の点群を復号するのではなく、点群の存在領域を小さな平面で近似して表現したものである。 For example, when decoding 3D point cloud data of an object, when the point clouds are densely distributed on the surface of the object, the approximate surface information is obtained by decoding the points instead of decoding individual point clouds. It is an approximation of the existence area of the group with a small plane.
 具体的には、近似表面解析部1040は、例えば、「Trisoup」と呼ばれる手法で、近似表面情報を生成するように構成されていてもよい。また、Lidar等で取得した疎な点群を復号する場合は、本処理を省略することができる。 Specifically, the approximate surface analysis unit 1040 may be configured to generate approximate surface information by, for example, a technique called "Trisoup". Also, when decoding a sparse point group acquired by Lidar or the like, this process can be omitted.
 幾何情報符号化部1050は、ツリー解析部1030によって生成されたoccupancy code及び近似表面解析部1040によって生成された近似表面情報等のシンタックスを符号化してビットストリーム(幾何情報ビットストリーム)を生成するように構成されている。ここで、ビットストリームには、例えば、図4及び図5で説明したシンタックスを含まれていてもよい。 The geometric information encoding unit 1050 encodes syntax such as the occupancy code generated by the tree analysis unit 1030 and the approximate surface information generated by the approximate surface analysis unit 1040 to generate a bitstream (geometric information bitstream). is configured as Here, the bitstream may include, for example, the syntax described with reference to FIGS. 4 and 5. FIG.
 符号化処理は、例えば、コンテクスト適応二値算術符号化処理である。ここで、例えば、シンタックスは、位置情報の復号処理を制御するための制御データ(フラグやパラメータ)を含む。 The encoding process is, for example, context adaptive binary arithmetic encoding process. Here, for example, the syntax includes control data (flags and parameters) for controlling decoding processing of position information.
 幾何情報再構成部1060は、ツリー解析部1030によって生成されたツリー情報及び近似表面解析部1040によって生成された近似表面情報に基づいて、符号化対象の点群データの各点の幾何情報(符号化処理が仮定している座標系、すなわち、座標変換部1010における座標変換後の位置情報)を再構成するように構成されている。 Based on the tree information generated by the tree analysis unit 1030 and the approximate surface information generated by the approximate surface analysis unit 1040, the geometric information reconstruction unit 1060 generates geometric information (code It is configured to reconstruct the coordinate system assumed by the transformation processing, that is, the position information after the coordinate transformation in the coordinate transformation unit 1010).
 フレームバッファ1140は、幾何情報再構成部1060によって再構成された幾何情報を入力とし、参照フレームとして保存するように構成されている。 The frame buffer 1140 is configured to receive the geometric information reconstructed by the geometric information reconstruction unit 1060 and store it as a reference frame.
 保存された参照フレームは、ツリー解析部1030において時間的に異なるフレームのインター予測を行う場合に、フレームバッファ1140から読み出されて参照フレームとして使用される。 The stored reference frames are read from the frame buffer 1140 and used as reference frames when the tree analysis unit 1030 inter-predicts temporally different frames.
 ここで、各フレームに対してどの時刻の参照フレームを用いるかどうかが、例えば、符号化効率を表すコスト関数の値に基づいて決定され、使用する参照フレームの情報が制御データとして点群復号装置200へ伝送されてもよい。 Here, whether or not the reference frame at which time is to be used for each frame is determined, for example, based on the value of the cost function representing the coding efficiency, and the information of the reference frame to be used is used as control data for the point group decoding device. 200.
 色変換部1070は、入力の属性情報が色情報であった場合に、色変換を行うように構成されている。色変換は、必ずしも実行する必要は無く、色変換処理の実行の有無については、制御データの一部として符号化され、点群復号装置200へ伝送される。 The color conversion unit 1070 is configured to perform color conversion when the input attribute information is color information. Color conversion does not necessarily need to be executed, and whether or not to execute color conversion processing is encoded as part of control data and transmitted to the point cloud decoding device 200 .
 属性転移部1080は、入力点群の位置情報、幾何情報再構成部1060における再構成後の点群の位置情報及び色変換部1070での色変化後の属性情報に基づいて、属性情報の歪みが最小となるように属性値を補正するように構成されている。具体的な補正方法は、例えば、文献2(Text of ISO/IEC 23090-9 DIS Geometry-based PCC、ISO/IEC JTC1/SC29/WG11 N19088)に記載の方法を適用できる。 The attribute transfer unit 1080 performs distortion of attribute information based on the position information of the input point group, the position information of the point group after reconstruction by the geometric information reconstruction unit 1060, and the attribute information after color change by the color conversion unit 1070. is configured to correct the attribute value so that is minimized. As a specific correction method, for example, the method described in Document 2 (Text of ISO/IEC 23090-9 DIS Geometry-based PCC, ISO/IEC JTC1/SC29/WG11 N19088) can be applied.
 RAHT部1090は、属性転移部1080による転移後の属性情報及び幾何情報再構成部1060によって生成された幾何情報を入力とし、RAHT(Region Adaptive Hierarchical Transform)と呼ばれるHaar変換の一種を用いて、各点の残差情報を生成するように構成されている。RAHTの具体的な処理としては、例えば、上述の文献2に記載の方法を用いることができる。 The RAHT unit 1090 receives as input the attribute information transferred by the attribute transfer unit 1080 and the geometric information generated by the geometric information reconstruction unit 1060, and uses a type of Haar transformation called RAHT (Region Adaptive Hierarchical Transform) to transform each configured to generate point residual information; As a specific processing of RAHT, for example, the method described in Document 2 can be used.
 LoD算出部1100は、幾何情報再構成部1060によって生成された幾何情報を入力とし、LoD(Level of Detail)を生成するように構成されている。 The LoD calculation unit 1100 is configured to receive the geometric information generated by the geometric information reconstruction unit 1060 and generate LoD (Level of Detail).
 LoDは、ある点の属性情報から、他のある点の属性情報を予測し、予測残差を符号化或いは復号するといった予測符号化を実現するための参照関係(参照する点及び参照される点)を定義するための情報である。 LoD is a reference relationship (referred point and referenced point ) is information for defining
 言い換えると、LoDは、幾何情報に含まれる各点を複数のレベルに分類し、下位のレベルに属する点については上位のレベルに属する点の属性情報を用いて属性を符号化或いは復号するといった階層構造を定義した情報である。 In other words, LoD classifies each point included in geometric information into a plurality of levels, and encodes or decodes the attributes of points belonging to lower levels using attribute information of points belonging to higher levels. This is information that defines the structure.
 LoDの具体的な決定方法としては、例えば、上述の文献2に記載の方法を用いてもよい。 As a specific method for determining LoD, for example, the method described in Document 2 above may be used.
 リフティング部1110は、LoD算出部1100によって生成されたLoD及び属性転移部1080での属性転移後の属性情報を用いて、リフティング処理により残差情報を生成するように構成されている。 The lifting unit 1110 is configured to generate residual information through a lifting process using the LoD generated by the LoD calculation unit 1100 and the attribute information after the attribute transfer by the attribute transfer unit 1080.
 リフティングの具体的な処理としては、例えば、上述の文献2に記載の方法を用いてもよい。 As a specific lifting process, for example, the method described in Document 2 above may be used.
 属性情報量子化部1120は、RAHT部1090又はリフティング部1110から出力される残差情報を量子化するように構成されている。ここで、量子化ステップサイズが1の場合は、量子化を行わない場合と等価である。 The attribute information quantization section 1120 is configured to quantize the residual information output from the RAHT section 1090 or the lifting section 1110 . Here, the case where the quantization step size is 1 is equivalent to the case where no quantization is performed.
 属性情報符号化部1130は、属性情報量子化部1120から出力される量子化後の残差情報等をシンタックスとして符号化処理を行い、属性情報に関するビットストリーム(属性情報ビットストリーム)を生成するように構成されている。 The attribute information encoding unit 1130 performs encoding processing using the quantized residual information output from the attribute information quantization unit 1120 as a syntax, and generates a bitstream related to attribute information (attribute information bitstream). is configured as
 符号化処理は、例えば、コンテクスト適応二値算術符号化処理である。ここで、例えば、シンタックスは、属性情報の復号処理を制御するための制御データ(フラグ及びパラメータ)を含む。 The encoding process is, for example, context adaptive binary arithmetic encoding process. Here, for example, the syntax includes control data (flags and parameters) for controlling attribute information decoding processing.
 点群符号化装置100は、以上の処理により、点群内の各点の位置情報及び属性情報を入力として符号化処理を行い、幾何情報ビットストリーム及び属性情報ビットストリームを出力するように構成されている。 Through the above processing, the point cloud encoding device 100 is configured to input position information and attribute information of each point in the point cloud, perform encoding processing, and output a geometric information bitstream and an attribute information bitstream. ing.
 また、上述の点群符号化装置100及び点群復号装置200は、コンピュータに各機能(各工程)を実行させるプログラムであって実現されていてもよい。 Also, the point cloud encoding device 100 and the point cloud decoding device 200 described above may be implemented as a program that causes a computer to execute each function (each process).
 なお、上記の各実施形態では、本発明を点群符号化装置100及び点群復号装置200への適用を例にして説明したが、本発明は、かかる例のみに限定されるものではなく、点群符号化装置100及び点群復号装置200の各機能を備えた点群符号化/復号システムにも同様に適用できる。 In the above-described embodiments, the present invention is applied to the point group encoding device 100 and the point group decoding device 200 as examples, but the present invention is not limited to such examples. A point cloud encoding/decoding system having the functions of the point cloud encoding device 100 and the point cloud decoding device 200 can be similarly applied.
 なお、本実施形態によれば、例えば、動画像通信において総合的なサービス品質の向上を実現できることから、国連が主導する持続可能な開発目標(SDGs)の目標9「レジリエントなインフラを整備し、持続可能な産業化を推進するとともに、イノベーションの拡大を図る」に貢献することが可能となる。 In addition, according to this embodiment, for example, since it is possible to improve the overall service quality in video communication, the United Nations-led Sustainable Development Goals (SDGs) Goal 9 "Develop resilient infrastructure, It will be possible to contribute to the promotion of sustainable industrialization and the expansion of innovation.
10…点群処理システム
100…点群符号化装置
1010…座標変換部
1020…幾何情報量子化部
1030…ツリー解析部
1040…近似表面解析部
1050…幾何情報符号化部
1060…幾何情報再構成部
1070…色変換部
1080…属性転移部
1090…RAHT部
1100…LoD算出部
1110…リフティング部
1120…属性情報量子化部
1130…属性情報符号化部
1140…フレームバッファ
200…点群復号装置
2010…幾何情報復号部
2020…ツリー合成部
2030…近似表面合成部
2040…幾何情報再構成部
2050…逆座標変換部
2060…属性情報復号部
2070…逆量子化部
2080…RAHT部
2090…LoD算出部
2100…逆リフティング部
2110…逆色変換部
2120…フレームバッファ
 
 
10... Point group processing system 100... Point group encoding device 1010... Coordinate transformation unit 1020... Geometric information quantization unit 1030... Tree analysis unit 1040... Approximate surface analysis unit 1050... Geometric information encoding unit 1060... Geometric information reconstruction unit 1070... Color conversion unit 1080... Attribute transfer unit 1090... RAHT unit 1100... LoD calculation unit 1110... Lifting unit 1120... Attribute information quantization unit 1130... Attribute information encoding unit 1140... Frame buffer 200... Point cloud decoding device 2010... Geometry Information decoding unit 2020 Tree synthesis unit 2030 Approximate surface synthesis unit 2040 Geometric information reconstruction unit 2050 Inverse coordinate transformation unit 2060 Attribute information decoding unit 2070 Inverse quantization unit 2080 RAHT unit 2090 LoD calculation unit 2100 Inverse lifting unit 2110 --- Inverse color conversion unit 2120 --- Frame buffer

Claims (10)

  1.  点群復号装置であって、
     ツリー合成部を備え、
     前記ツリー合成部は、
      階層的に幾何情報の占有情報を復号し、
      前記占有情報を復号する際に複数のコンテクストを切り替えて使用し、
      前記コンテクストの切り替えに、対象フレームと時間的に異なる復号済みのフレームを参照フレームとして参照し、
      前記参照フレーム内で参照する領域を、前記階層ごとに、対象階層のノードサイズと同一の大きさの領域とするか、前記対象階層のノードサイズと異なる大きさの領域とするかを切り替えるように構成されていることを特徴とする点群復号装置。
    A point cloud decoding device,
    Equipped with a tree compositing part,
    The tree synthesizing unit
    Hierarchically decode the occupation information of the geometric information,
    switching and using a plurality of contexts when decoding the occupancy information;
    Referencing a decoded frame temporally different from the target frame as a reference frame for switching the context;
    The area to be referenced in the reference frame is switched between an area having the same size as the node size of the target layer and an area having a size different from the node size of the target layer for each layer. A point group decoding device characterized by:
  2.  前記ツリー合成部は、前記参照ノード内の参照点の有無に基づいて前記コンテクストの切り替えを行うように構成されていることを特徴とする請求項1に記載の点群復号装置。 The point group decoding device according to claim 1, wherein the tree synthesizing unit is configured to switch the context based on the presence or absence of a reference point in the reference node.
  3.  前記ツリー合成部は、
      前記対象階層のノードサイズが所定の最小参照ノードサイズ以上の場合には、前記参照ノードの大きさを前記対象階層のノードサイズと同一とし、
      前記対象階層のノードサイズが前記所定の最小参照ノードサイズより小さい場合には、前記参照ノードの大きさを前記所定の最小参照ノードサイズとするように構成されていることを特徴とする請求項2に記載の点群復号装置。
    The tree synthesizing unit
    if the node size of the target hierarchy is equal to or larger than a predetermined minimum reference node size, the size of the reference node is made the same as the node size of the target hierarchy;
    2. When the node size of the target hierarchy is smaller than the predetermined minimum reference node size, the size of the reference node is set to the predetermined minimum reference node size. The point group decoding device according to .
  4. 前記ツリー合成部は、制御データから復号した前記所定の最小参照ノードサイズを用いて、前記コンテクストの切り替えを行うように構成されていることを特徴とする請求項3に記載の点群復号装置。 4. The point group decoding device according to claim 3, wherein the tree synthesis unit is configured to switch the context using the predetermined minimum reference node size decoded from control data.
  5.  前記ツリー合成部は、ノードごとに、参照先及び所定階層の参照点の有無に関する情報を保持するように構成されていることを特徴とする請求項2~4のいずれか一項に記載の点群復号装置。 5. The point according to any one of claims 2 to 4, wherein the tree synthesizing unit is configured to hold, for each node, information regarding the reference destination and the presence or absence of a reference point in a predetermined hierarchy. Group decoder.
  6.  前記ツリー合成部は、前記対象ノードを分割して得られる子ノードについて、それぞれ前記参照先及び前記所定階層の参照点の有無に関する情報を設定するように構成されていることを特徴とする請求項5に記載の点群復号装置。 3. The tree synthesizing unit is configured to set information regarding the existence or non-existence of the reference destination and the reference point of the predetermined hierarchy for each child node obtained by dividing the target node. 5. The point group decoding device according to 5.
  7.  前記ツリー合成部は、前記対象ノードにおける前記参照先が前記所定階層である場合、保持している前記所定階層の参照点の有無に関する情報を、前記参照ノード内の参照点の有無に関する情報として前記コンテクストの切り替えを行うように構成されていることを特徴とする請求項5又は6に記載の点群復号装置。 When the reference destination in the target node is the predetermined hierarchy, the tree synthesizing unit converts the retained information regarding the presence or absence of the reference point in the predetermined hierarchy as the information regarding the presence or absence of the reference point in the reference node. 7. The point cloud decoding apparatus according to claim 5, wherein the point cloud decoding apparatus is configured to perform context switching.
  8.  前記ツリー合成部は、前記対象ノードにおける前記参照先が前記対象階層である場合、前記参照フレーム内において前記対象ノードと同一サイズで且つ同一位置の領域を前記参照ノードとして参照し、前記参照ノード内での参照点の有無に基づいて前記コンテクストの切り替えを行うように構成されていることを特徴とする請求項6又は7に記載の点群復号装置。 When the reference destination of the target node is the target hierarchy, the tree synthesizing unit refers to an area having the same size and the same position as the target node in the reference frame as the reference node, and 8. The point group decoding device according to claim 6, wherein the context switching is performed based on the presence or absence of a reference point at .
  9.  点群復号方法であって、
     階層的に幾何情報の占有情報を復号する工程と、
     前記占有情報を復号する際に複数のコンテクストを切り替えて使用する工程と、
     前記コンテクストの切り替えに、対象フレームと時間的に異なる復号済みのフレームを参照フレームとして参照する工程と、
     前記参照フレーム内で参照する領域を、前記階層ごとに、対象階層のノードサイズと同一の大きさの領域とするか、前記対象階層のノードサイズと異なる大きさの領域とするかを切り替える工程とを備えることを特徴とする点群復号方法。
    A point cloud decoding method comprising:
    hierarchically decoding the occupation information of the geometric information;
    switching and using a plurality of contexts when decoding the occupation information;
    A step of referring to a decoded frame temporally different from the target frame as a reference frame for switching the context;
    a step of switching between an area having the same size as the node size of the target layer and an area having a size different from the node size of the target layer for each layer, to be referred to in the reference frame; A point cloud decoding method comprising:
  10.  コンピュータを、点群復号装置として機能させるプログラムであって、
     前記点群復号装置は、ツリー合成部を備え、
     前記ツリー合成部は、
      階層的に幾何情報の占有情報を復号し、
      前記占有情報を復号する際に複数のコンテクストを切り替えて使用し、
      前記コンテクストの切り替えに、対象フレームと時間的に異なる復号済みのフレームを参照フレームとして参照し、
      前記参照フレーム内で参照する領域を、前記階層ごとに、対象階層のノードサイズと同一の大きさの領域とするか、前記対象階層のノードサイズと異なる大きさの領域とするかを切り替えるように構成されていることを特徴とするプログラム。
    A program that causes a computer to function as a point cloud decoding device,
    The point group decoding device includes a tree synthesis unit,
    The tree synthesizing unit
    Hierarchically decode the occupation information of the geometric information,
    switching and using a plurality of contexts when decoding the occupancy information;
    Referencing a decoded frame temporally different from the target frame as a reference frame for switching the context;
    The area to be referenced in the reference frame is switched between an area having the same size as the node size of the target layer and an area having a size different from the node size of the target layer for each layer. A program characterized by comprising:
PCT/JP2023/000015 2022-01-07 2023-01-04 Point cloud decoding device, point cloud decoding method, and program WO2023132331A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2022001469A JP2023101095A (en) 2022-01-07 2022-01-07 Point cloud decoding device, point cloud decoding method, and program
JP2022-001469 2022-01-07

Publications (1)

Publication Number Publication Date
WO2023132331A1 true WO2023132331A1 (en) 2023-07-13

Family

ID=87073700

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2023/000015 WO2023132331A1 (en) 2022-01-07 2023-01-04 Point cloud decoding device, point cloud decoding method, and program

Country Status (2)

Country Link
JP (1) JP2023101095A (en)
WO (1) WO2023132331A1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112565764A (en) * 2020-12-03 2021-03-26 西安电子科技大学 Point cloud geometric information interframe coding and decoding method
US20210192798A1 (en) * 2018-10-02 2021-06-24 Blackberry Limited Predictive coding of point clouds using multiple frames of references

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210192798A1 (en) * 2018-10-02 2021-06-24 Blackberry Limited Predictive coding of point clouds using multiple frames of references
CN112565764A (en) * 2020-12-03 2021-03-26 西安电子科技大学 Point cloud geometric information interframe coding and decoding method

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
KHALED MAMMON, PHILIP A. CHOU, DAVID FLYNN, MAJ A KRIVOKUCA, OHJI NAKAGAMI, TOSHIYASU SUGIO: "G-PCC codec description", 125. MPEG MEETING; 20190114 - 20190118; MARRAKECH; (MOTION PICTURE EXPERT GROUP OR ISO/IEC JTC1/SC29/WG11), no. N18189, 22 February 2019 (2019-02-22), pages 1 - 39, XP030212734 *
KHALED MAMMOU, PHILIP A. CHOU, DAVID FLYNN, MAJA KRIVOKUćA, OHJI NAKAGAMI , TOSHIYASU SUGIO: "G-PCC codec description v2", ISO/IEC JTC1/SC29/WG11 N18189, no. N18189, 1 January 2019 (2019-01-01), pages 1 - 39, XP055686871 *
LI LI, LI ZHU, LIU SHAN, LI HOUQIANG: "Motion Estimation and Coding Structure for Inter-Prediction of LiDAR Point Cloud Geometry", IEEE TRANSACTIONS ON MULTIMEDIA, IEEE, USA, vol. 24, 1 January 2022 (2022-01-01), USA, pages 4504 - 4513, XP093076978, ISSN: 1520-9210, DOI: 10.1109/TMM.2021.3119872 *

Also Published As

Publication number Publication date
JP2023101095A (en) 2023-07-20

Similar Documents

Publication Publication Date Title
CN113615181B (en) Method and device for point cloud encoding and decoding
US11375208B2 (en) Trisoup node size per slice
US11570481B2 (en) Methods and devices using direct coding in point cloud compression
US10904564B2 (en) Method and apparatus for video coding
EP3991437B1 (en) Context determination for planar mode in octree-based point cloud coding
EP3991438B1 (en) Planar mode in octree-based point cloud coding
US11469771B2 (en) Method and apparatus for point cloud compression
WO2020123469A1 (en) Hierarchical tree attribute coding by median points in point cloud coding
US20220376702A1 (en) Methods and devices for tree switching in point cloud compression
WO2021252593A1 (en) Attribute residual coding in g-pcc
WO2021140930A1 (en) Information processing device and method
WO2023132331A1 (en) Point cloud decoding device, point cloud decoding method, and program
WO2023172703A1 (en) Geometry point cloud coding
WO2023272730A1 (en) Method for encoding and decoding a point cloud
WO2023132330A1 (en) Point cloud decoding device, point cloud decoding method, and program
WO2023132329A1 (en) Point cloud decoding device, point cloud decoding method, and program
WO2021256486A1 (en) Point group decoding device, point group decoding method, and program
WO2023028177A1 (en) Attribute coding in geometry point cloud coding
CN113179411A (en) Point cloud attribute coding and decoding method and device, computer equipment and storage medium
JP2024058011A (en) Point group decoding device, point group decoding method and program
WO2023277128A1 (en) Point cloud decoding device, point cloud decoding method, and program
JP2024058012A (en) Point group decoding device, point group decoding method and program
JP2023053827A (en) Point group decoding device, point group decoding method and program
WO2024009562A1 (en) Point cloud decoding device, point cloud decoding method, and program
WO2024009676A1 (en) Point cloud decoding device, point cloud decoding method, and program

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

Country of ref document: EP

Kind code of ref document: A1