Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP7680398B2 - Point group decoding device, point group decoding method and program - Google Patents
[go: Go Back, main page]

JP7680398B2 - Point group decoding device, point group decoding method and program - Google Patents

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

Info

Publication number
JP7680398B2
JP7680398B2 JP2022110163A JP2022110163A JP7680398B2 JP 7680398 B2 JP7680398 B2 JP 7680398B2 JP 2022110163 A JP2022110163 A JP 2022110163A JP 2022110163 A JP2022110163 A JP 2022110163A JP 7680398 B2 JP7680398 B2 JP 7680398B2
Authority
JP
Japan
Prior art keywords
node
trisoup
node size
minimum
size
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2022110163A
Other languages
Japanese (ja)
Other versions
JP2024008354A (en
Inventor
恭平 海野
圭 河村
賢史 小森田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
KDDI Corp
Original Assignee
KDDI Corp
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 Corp filed Critical KDDI Corp
Priority to JP2022110163A priority Critical patent/JP7680398B2/en
Priority to PCT/JP2023/008642 priority patent/WO2024009562A1/en
Publication of JP2024008354A publication Critical patent/JP2024008354A/en
Application granted granted Critical
Publication of JP7680398B2 publication Critical patent/JP7680398B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/40Tree coding, e.g. quadtree, octree
    • 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)
  • Image Processing (AREA)

Description

本発明は、点群復号装置、点群復号方法及びプログラムに関する。 The present invention relates to a point cloud decoding device, a point cloud decoding method, and a program.

非特許文献1では、予め定めた1種類のノードサイズにおいてTrisoupと呼ばれる方法で復号点群を再構成する技術が開示されている。 Non-Patent Document 1 discloses a technique for reconstructing a decoded point cloud using a method called Trisoup for one predetermined type of node size.

G-PCC Future Enhancement、ISO/IEC JTC1/SC29/WG11 N19328G-PCC Future Enhancement, ISO/IEC JTC1/SC29/WG11 N19328

しかしながら、非特許文献1の方法では、ノードサイズが1種類のみ(固定ノードサイズ)であり、符号化効率の観点で改善の余地があるという問題点があった。 However, the method in Non-Patent Document 1 has only one type of node size (fixed node size), and there is room for improvement in terms of coding efficiency.

そこで、本発明は、上述の課題に鑑みてなされたものであり、復号点群の主観画質を損なうことなく、符号化効率を高めることができる点群復号装置、点群復号方法及びプログラムを提供することを目的とする。 The present invention has been made in consideration of the above-mentioned problems, and aims to provide a point cloud decoding device, a point cloud decoding method, and a program that can improve the encoding efficiency without compromising the subjective image quality of the decoded point cloud.

本発明の第1の特徴は、点群復号装置であって、近似表面合成部を備え、前記近似表面合成部は、制御データから復号した最大ノードサイズ及び最小ノードサイズに基づいて、最大と最小との間の各ノードサイズにおいて頂点の復号処理を実行し、前記ノードサイズが前記最小ノードサイズではない場合、復号した前記頂点に基づいて、前記最小ノードサイズにおける頂点位置を生成し、ある辺上に、前記ある辺に隣接する異なるノードサイズのノードから生成された複数の頂点が存在する場合、前記隣接する異なるノードのうち、最も大きなノードサイズを持つノードによって生成された頂点を、前記ある辺の前記頂点位置とするように構成されていることを要旨とする。 The first feature of the present invention is a point cloud decoding device comprising an approximate surface synthesis unit, which is configured to execute a vertex decoding process 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, generate a vertex position at the minimum node size based on the decoded vertex if the node size is not the minimum node size, and set the vertex position of the edge to the vertex generated by the node of the largest node size among the adjacent different nodes if there are multiple vertices on the edge generated by nodes of different node sizes.

本発明の第2の特徴は、点群復号方法であって、制御データから復号した最大ノードサイズ及び最小ノードサイズに基づいて、最大と最小との間の各ノードサイズにおいて頂点の復号処理を実行する工程と、前記ノードサイズが前記最小ノードサイズではない場合、復号した前記頂点に基づいて、前記最小ノードサイズにおける頂点位置を生成する工程と、ある辺上に、前記ある辺に隣接する異なるノードサイズのノードから生成された複数の頂点が存在する場合、前記隣接する異なるノードのうち、最も大きなノードサイズを持つノードによって生成された頂点を、前記ある辺の前記頂点位置とする工程とを有することを要旨とする。 The second feature of the present invention is a point cloud decoding method comprising the steps of: executing a vertex decoding process at each node size between the maximum and minimum based on the maximum and minimum node sizes decoded from control data; generating a vertex position at the minimum node size based on the decoded vertex if the node size is not the minimum node size; and setting the vertex generated by the node with the largest node size among the adjacent different nodes as the vertex position of the side if there are multiple vertices on a side generated from nodes of different node sizes adjacent to the side.

本発明の第3の特徴は、コンピュータを、点群復号装置として機能させるプログラムであって、前記点群復号装置は、近似表面合成部を備え、前記近似表面合成部は、制御データから復号した最大ノードサイズ及び最小ノードサイズに基づいて、最大と最小との間の各ノードサイズにおいて頂点の復号処理を実行し、前記ノードサイズが前記最小ノードサイズではない場合、復号した前記頂点に基づいて、前記最小ノードサイズにおける頂点位置を生成し、ある辺上に、前記ある辺に隣接する異なるノードサイズのノードから生成された複数の頂点が存在する場合、前記隣接する異なるノードのうち、最も大きなノードサイズを持つノードによって生成された頂点を、前記ある辺の前記頂点位置とするように構成されていることを要旨とする。 The third feature of the present invention is a program for causing a computer to function as a point cloud decoding device, the point cloud decoding device including an approximate surface synthesis unit, which executes a vertex decoding process at each node size between the maximum and minimum based on the maximum node size and the minimum node size decoded from control data, generates a vertex position at the minimum node size based on the decoded vertex if the node size is not the minimum node size, and configures the vertex position of the edge to be the vertex generated by the node of the largest node size among the adjacent different nodes if there are multiple vertices on an edge that are generated from nodes of different node sizes.

本発明によれば、復号点群の主観画質を損なうことなく、符号化効率を高めることができる点群復号装置、点群復号方法及びプログラムを提供することができる。 The present invention provides a point cloud decoding device, a point cloud decoding method, and a program that can improve the encoding efficiency without compromising the subjective image quality of the decoded point cloud.

図1は、一実施形態に係る点群処理システム10の構成の一例を示す図である。FIG. 1 is a diagram illustrating an example of the configuration of a point cloud processing system 10 according to an embodiment. 図2は、一実施形態に係る点群復号装置200の機能ブロックの一例を示す図である。FIG. 2 is a diagram illustrating an example of functional blocks of a point group decoding device 200 according to an embodiment. 図3は、一実施形態に係る点群復号装置200の幾何情報復号部2010で受信する符号化データ(ビットストリーム)の構成の一例を示す図である。FIG. 3 is a diagram showing an example of the configuration of encoded data (bit stream) received by the geometric information decoding unit 2010 of the point cloud decoding device 200 according to an 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は、GSH2012のシンタックス構成の一例を示す図である。FIG. 6 is a diagram showing an example of the syntax configuration of GSH2012. 図7は、GSH2012のシンタックス構成の一例を示す図である。FIG. 7 is a diagram showing an example of the syntax configuration of GSH2012. 図8は、一実施形態に係る点群復号装置200のツリー合成部2020における処理の一例を示すフローチャートであるFIG. 8 is a flowchart illustrating an example of a process in the tree synthesis unit 2020 of the point group decoding device 200 according to an embodiment. 図9は、一実施形態に係る点群復号装置200のツリー合成部2020における処理の一例を示すフローチャートである。FIG. 9 is a flowchart showing an example of processing in the tree synthesis unit 2020 of the point group decoding device 200 according to an embodiment. 図10は、一実施形態に係る点群復号装置200の近似表面合成部2030の処理の一例を示すフローチャートである。FIG. 10 is a flowchart showing an example of processing by the approximate surface synthesis unit 2030 of the point cloud decoding device 200 according to an embodiment. 図11Aは、図10におけるステップS1006の処理の一例を説明するための図である。FIG. 11A is a diagram for explaining an example of the process of step S1006 in FIG. 図11Bは、図10におけるステップS1006の処理の一例を説明するための図である。FIG. 11B is a diagram for explaining an example of the process of step S1006 in FIG. 図12Aは、図10におけるステップS1006の処理の一例を説明するための図である。FIG. 12A is a diagram for explaining an example of the process of step S1006 in FIG. 図12Bは、図10におけるステップS1006の処理の一例を説明するための図である。FIG. 12B is a diagram for explaining an example of the process of step S1006 in FIG. 図13は、図10におけるステップS1002で使用する頂点の復号処理の一例を示すフローチャートである。FIG. 13 is a flowchart showing an example of the vertex decoding process used in step S1002 in FIG. 図14は、図13におけるステップS1304の処理の一例を示すフローチャートである。FIG. 14 is a flowchart showing an example of the process of step S1304 in FIG. 図15は、本実施形態に係る点群符号化装置100の機能ブロックの一例について示す図である。FIG. 15 is a diagram showing an example of functional blocks of the point group encoding device 100 according to this embodiment.

以下、本発明の実施の形態について、図面を参照しながら説明する。なお、以下の実施形態における構成要素は、適宜、既存の構成要素等との置き換えが可能であり、また、他の既存の構成要素との組み合わせを含む様々なバリエーションが可能である。したがって、以下の実施形態の記載をもって、特許請求の範囲に記載された発明の内容を限定するものではない。 The following describes embodiments of the present invention with reference to the drawings. Note that the components in the following embodiments can be replaced with existing components as appropriate, and various variations, including combinations with other existing components, are possible. Therefore, the description of the following embodiments does not limit the content of the invention described in the claims.

(第1実施形態)
以下、図1~図15を参照して、本発明の第1実施形態に係る点群処理システム10について説明する。図1は、本実施形態に係る実施形態に係る点群処理システム10を示す図である。
First Embodiment
A point cloud processing system 10 according to a first embodiment of the present invention will be described below with reference to Figures 1 to 15. Figure 1 is a diagram showing a point cloud processing system 10 according to the present 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は、ビットストリームを復号することによって出力点群信号を生成するように構成されている。 The point cloud encoding device 100 is configured to generate encoded data (bit stream) 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 bit stream.

なお、入力点群信号及び出力点群信号は、点群内の各点の位置情報と属性情報とから構成される。属性情報は、例えば、各点の色情報や反射率である。 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 bit stream may be transmitted from the point cloud encoding device 100 to the point cloud decoding device 200 via a transmission path. Also, the bit stream 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 Cloud Decoding Device 200)
Hereinafter, the point group decoding device 200 according to this embodiment will be described with reference to Fig. 2. 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とを有する。 As shown in FIG. 2, the point cloud decoding device 200 has 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 information decoding unit 2060, an inverse quantization unit 2070, a RAHT unit 2080, an LoD calculation unit 2090, an inverse lifting unit 2100, and an inverse color transformation unit 2110.

幾何情報復号部2010は、点群符号化装置100から出力されるビットストリームのうち、幾何情報に関するビットストリーム(幾何情報ビットストリーム)を入力とし、シンタックスを復号するように構成されている。 The geometric information decoding unit 2010 is configured to receive as input a bit stream related to geometric information (geometric information bit stream) from the bit streams output from the point cloud encoding device 100, and to decode the syntax.

復号処理は、例えば、コンテクスト適応二値算術復号処理である。ここで、例えば、シンタックスは、位置情報の復号処理を制御するための制御データ(フラグやパラメータ)を含む。 The decoding process is, for example, a context-adaptive binary arithmetic decoding process. Here, for example, the syntax includes control data (flags and parameters) for controlling the decoding process of the position information.

ツリー合成部2020は、幾何情報復号部2010によって復号された制御データ及び後述するツリー内のどのノードに点群が存在するかを示すoccupancy codeを入力として、復号対象空間内のどの領域に点が存在するかというツリー情報を生成するように構成されている。 The tree synthesis unit 2020 is configured to receive as input the control data decoded by the geometric information decoding unit 2010 and an occurrence code indicating at which node in the tree (described later) the point group exists, and generate tree information indicating in which area in the decoding target space the point exists.

なお、occupancy codeの復号処理をツリー合成部2020内部で行うよう構成されていてもよい。 The decoding process of the occasion code may be configured to be performed within the tree synthesis unit 2020.

本処理は、復号対象空間を直方体で区切り、occupancy codeを参照して各直方体内に点が存在するかを判断し、点が存在する直方体を複数の直方体に分割し、occupancy codeを参照するという処理を再帰的に繰り返すことで、ツリー情報を生成することができる。 This process divides the space to be decoded into rectangular parallelepipeds, refers to the occupancy code to determine whether a point exists in each rectangular parallelepiped, divides the rectangular parallelepiped in which the point exists into multiple rectangular parallelepipeds, and then refers to the occupancy code. This process is repeated recursively to generate tree information.

ここで、かかるoccupancy codeの復号に際して、後述するインター予測を用いてもよい。 Here, when decoding such an occasion code, inter prediction, which will be described later, may be used.

本実施形態では、上述の直方体を常に立方体として8分木分割を再帰的に行う「Octree」と呼ばれる手法、及び、8分木分割に加え、4分木分割及び2分木分割を行う「QtBt」と呼ばれる手法を使用することができる。QtBt」を使用するか否かは、制御データとして点群符号化装置100側から伝送される。 In this embodiment, a method called "Octree" can be used, which recursively performs octree division on the above-mentioned rectangular parallelepiped, always treating it as a cube, and a method called "QtBt" can be used, which performs quadtree division and binary tree division in addition to octree division. Whether or not to use "QtBt" is transmitted as control data from the point cloud encoding device 100.

なお、本実施形態では、「Octree」によって上述の立方体が1×1×1のサイズになるまで分割を行うことで幾何情報を復号する方法を、特に「Octreeのみ」と呼ぶ。 In this embodiment, the method of decoding geometric information by dividing the above-mentioned cube using "Octree" until it becomes 1x1x1 in size is specifically referred to as "Octree only."

また、「Octree」に「QtBt」を組み合わせて使用した場合でも、上記同様に「Octree」及び「QtBt」のみで上述の直方体が1×1×1のサイズになるまで分割を行うことで幾何情報を復号する方法についても、「Octreeのみ」と呼んでもよい。 In addition, even if "Octree" is used in combination with "QtBt", the method of decrypting geometric information by dividing the above-mentioned rectangular parallelepiped until it becomes 1x1x1 size using only "Octree" and "QtBt" in the same manner as above may also be called "Octree only".

或いは、制御データによってPredictive codingを使用するように指定された場合、ツリー合成部2020は、点群符号化装置100において決定した任意のツリー構成に基づいて各点の座標を復号するように構成されている。 Alternatively, when the control data specifies that predictive coding is to be used, the tree synthesis unit 2020 is configured to decode the coordinates of each point based on an arbitrary tree configuration determined by the point cloud encoding device 100.

近似表面合成部2030は、ツリー合成部2020によって生成されたツリー情報を用いて近似表面情報を生成し、かかる近似表面情報に基づいて点群を復号するように構成されている。 The approximate surface synthesis unit 2030 is configured to generate approximate surface information using the tree information generated by the tree synthesis unit 2020, and to decode the point cloud based on the approximate surface information.

近似表面情報は、例えば、物体の3次元点群データを復号する際等において、点群が物体表面に密に分布しているような場合に、個々の点群を復号するのではなく、点群の存在領域を小さな平面で近似して表現したものである。 When decoding three-dimensional point cloud data of an object, for example, if the points are densely distributed on the object's surface, approximate surface information is used to represent the area in which the points exist by approximating the area using a small plane, rather than decoding each point individually.

具体的には、近似表面合成部2030は、例えば、「Trisoup」と呼ばれる手法で、近似表面情報を生成し、点群を復号することができる。「Trisoup」の具体的な処理例については後述する。また、Lidar等で取得した疎な点群を復号する場合は、本処理を省略することができる。 Specifically, the approximate surface synthesis unit 2030 can generate approximate surface information and decode the point cloud using, for example, a method called "Trisoup." A specific processing example of "Trisoup" will be described later. Also, when decoding a sparse point cloud acquired by Lidar or the like, this processing can be omitted.

幾何情報再構成部2040は、ツリー合成部2020によって生成されたツリー情報及び近似表面合成部2030によって生成された近似表面情報を元に、復号対象の点群データの各点の幾何情報(復号処理が仮定している座標系における位置情報)を再構成するように構成されている。 The geometric information reconstruction unit 2040 is configured to reconstruct the geometric information (position information in the coordinate system assumed by the decoding process) of each point of the point cloud data to be decoded based on the tree information generated by the tree synthesis unit 2020 and the approximate surface information generated by the approximate surface synthesis unit 2030.

逆座標変換部2050は、幾何情報再構成部2040によって再構成された幾何情報を入力として、復号処理が仮定している座標系から、出力点群信号の座標系に変換を行い、位置情報を出力するように構成されている。 The inverse coordinate transformation unit 2050 is configured to receive the geometric information reconstructed by the geometric information reconstruction unit 2040 as input, transform it from the coordinate system assumed by the decoding process to the coordinate system of the output point cloud signal, and output position information.

属性情報復号部2060は、点群符号化装置100から出力されるビットストリームのうち、属性情報に関するビットストリーム(属性情報ビットストリーム)を入力とし、シンタックスを復号するように構成されている。 The attribute information decoding unit 2060 is configured to receive as input a bit stream relating to attribute information (attribute information bit stream) from the bit streams output from the point cloud encoding device 100, and to decode the syntax.

復号処理は、例えば、コンテクスト適応二値算術復号処理である。ここで、例えば、シンタックスは、属性情報の復号処理を制御するための制御データ(フラグ及びパラメータ)を含む。 The decoding process is, for example, a context-adaptive binary arithmetic decoding process. Here, for example, the syntax includes control data (flags and parameters) for controlling the decoding process of the attribute information.

また、属性情報復号部2060は、復号したシンタックスから、量子化済み残差情報を復号するように構成されている。 The attribute information decoding unit 2060 is also configured to decode the quantized residual information from the decoded syntax.

逆量子化部2070は、属性情報復号部2060によって復号された量子化済み残差情報と、属性情報復号部2060によって復号された制御データの一つである量子化パラメータとを元に、逆量子化処理を行い、逆量子化済み残差情報を生成するように構成されている。 The inverse quantization unit 2070 is configured to perform an inverse quantization process 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, to generate inverse quantized residual information.

逆量子化済み残差情報は、復号対象の点群の特徴に応じて、RAHT部2080及びLoD算出部2090のいずれかに出力される。いずれに出力されるかは、属性情報復号部2060によって復号される制御データによって指定される。 The dequantized residual information is output to either the RAHT unit 2080 or the LoD calculation unit 2090 depending on the characteristics of the point group to be decoded. The control data decoded by the attribute information decoding unit 2060 specifies which unit the information is output to.

RAHT部2080は、逆量子化部2070によって生成された逆量子化済み残差情報及び幾何情報再構成部2040によって生成された幾何情報を入力とし、RAHT(Region Adaptive Hierarchical Transform)と呼ばれるHaar変換(復号処理においては、逆Haar変換)の一種を用いて、各点の属性情報を復号するように構成されている。RAHTの具体的な処理としては、例えば、非特許文献1に記載の方法を用いることができる。 The RAHT unit 2080 is configured to receive the inverse quantized residual information generated by the inverse quantization unit 2070 and the geometric information generated by the geometric information reconstruction unit 2040 as input, and to decode the attribute information of each point using a type of Haar transform (inverse Haar transform in the decoding process) called RAHT (Region Adaptive Hierarchical Transform). As a specific example of the RAHT process, the method described in Non-Patent Document 1 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 as input and generate the LoD (Level of Detail).

LoDは、ある点の属性情報から、他のある点の属性情報を予測し、予測残差を符号化或いは復号するといった予測符号化を実現するための参照関係(参照する点及び参照される点)を定義するための情報である。 LoD is information for defining a reference relationship (a referencing point and a referenced point) to realize predictive coding, such as predicting attribute information of a certain point from attribute information of another point and encoding or decoding the prediction residual.

言い換えると、LoDは、幾何情報に含まれる各点を複数のレベルに分類し、下位のレベルに属する点については上位のレベルに属する点の属性情報を用いて属性を符号化或いは復号するといった階層構造を定義した情報である。 In other words, LoD is information that defines a hierarchical structure in which each point contained in the geometric information is classified into multiple levels, and the attributes of points belonging to lower levels are encoded or decoded using attribute information of points belonging to higher levels.

LoDの具体的な決定方法としては、例えば、上述の非特許文献1に記載の方法を用いてもよい。 As a specific method for determining LoD, for example, the method described in the above-mentioned non-patent document 1 may be used.

逆リフティング部2100は、LoD算出部2090によって生成されたLoD及び逆量子化部2070によって生成された逆量子化済み残差情報を用いて、LoDで規定した階層構造に基づいて各点の属性情報を復号するように構成されている。逆リフティングの具体的な処理としては、例えば、上述の非特許文献1に記載の方法を用いることができる。 The inverse lifting unit 2100 is configured to decode attribute information of each point based on the hierarchical structure defined by the LoD, using the LoD generated by the LoD calculation unit 2090 and the inverse quantized residual information generated by the inverse quantization unit 2070. As a specific example of the inverse lifting process, the method described in the above-mentioned non-patent document 1 can be used.

逆色変換部2110は、復号対象の属性情報が色情報であり且つ点群符号化装置100側で色変換が行われていた場合に、RAHT部2080又は逆リフティング部2100から出力される属性情報に逆色変換処理を行うように構成されている。かかる逆色変換処理の実行の有無については、属性情報復号部2060によって復号された制御データによって決定される。 The inverse color conversion unit 2110 is configured to perform inverse color conversion processing on 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 point cloud encoding device 100 side. Whether or not such inverse color conversion processing is performed 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 attribute information for each point in the point cloud through the above processing.

(幾何情報復号部2010)
以下、図3~図7を用いて幾何情報復号部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は、幾何情報復号部2010で受信する符号化データ(ビットストリーム)の構成の一例である。 Figure 3 shows an example of the structure of the encoded data (bit stream) received by the geometric information decoding unit 2010.

第1に、ビットストリームは、GPS2011を含んでいてもよい。GPS2011は、ジオメトリパラメータセットとも呼ばれ、幾何情報の復号に関する制御データの集合である。具体例については後述する。各GPS2011は、複数のGPS2011が存在する場合に個々を識別するためのGPS id情報を少なくとも含む。 First, the bit stream may include a GPS2011. A GPS2011 is also called a geometry parameter set, and is a collection of control data related to decoding of geometric information. A specific example will be described later. Each GPS2011 includes at least GPS id information for identifying each GPS2011 when multiple GPS2011 exist.

第2に、ビットストリームは、GSH2012A/2012Bを含んでいてもよい。GSH2012A/2012Bは、ジオメトリスライスヘッダ或いはジオメトリデータユニットヘッダとも呼ばれ、後述するスライスに対応する制御データの集合である。以降では、スライスという呼称を用いて説明するが、スライスをデータユニットと読み替えることもできる。具体例については後述する。GSH2012A/2012Bは、各GSH2012A/2012Bに対応するGPS2011を指定するためのGPS id情報を少なくとも含む。 Secondly, the bit stream may include GSH2012A/2012B. GSH2012A/2012B is also called a geometry slice header or geometry data unit header, and is a collection of control data corresponding to a slice, which will be described later. In the following description, the term "slice" will be used, but slice can also be read as data unit. Specific examples will be described later. GSH2012A/2012B includes at least GPS id information for specifying the GPS2011 corresponding to each GSH2012A/2012B.

第3に、ビットストリームは、GSH2012A/2012Bの次に、スライスデータ2013A/2013Bを含んでいてもよい。スライスデータ2013A/2013Bには、幾何情報を符号化したデータが含まれている。スライスデータ2013A/2013Bの一例としては、後述するoccupancy codeが挙げられる。 Thirdly, the bit stream may include slice data 2013A/2013B following GSH 2012A/2012B. Slice data 2013A/2013B includes data that encodes geometric information. An example of slice data 2013A/2013B is an occasion code, which will be described later.

以上のように、ビットストリームは、各スライスデータ2013A/2013Bに、1つずつGSH2012A/2012B及びGPS2011が対応する構成となる。 As described above, the bit stream is structured so that each slice data 2013A/2013B corresponds to one GSH 2012A/2012B and one GPS 2011.

上述のように、GSH2012A/2012Bにて、どのGPS2011を参照するかをGPS id情報で指定するため、複数のスライスデータ2013A/2013Bに対して共通のGPS2011を用いることができる。 As described above, the GPS ID information is used to specify which GPS 2011 to refer to in GSH 2012A/2012B, 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 be transmitted for each slice. For example, as shown in FIG. 3, the bit stream can be configured so that GPS2011 is not encoded immediately before GSH2012B and slice data 2013B.

なお、図3の構成は、あくまで一例である。各スライスデータ2013A/2013Bに、GSH2012A/2012B及びGPS2011が対応する構成となっていれば、ビットストリームの構成要素として、上述以外の要素が追加されてもよい。 Note that the configuration in FIG. 3 is merely 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 bit stream.

例えば、図3に示すように、ビットストリームは、シーケンスパラメータセット(SPS)2001を含んでいてもよい。また、同様に、伝送に際して、図3と異なる構成に整形されてもよい。更に、後述する属性情報復号部2060で復号されるビットストリームと合成して単一のビットストリームとして伝送されてもよい。 For example, as shown in FIG. 3, the bitstream may include a sequence parameter set (SPS) 2001. Similarly, when transmitted, the bitstream may be shaped into a configuration different from that shown in FIG. 3. Furthermore, the bitstream may be combined with a bitstream decoded by an attribute information decoding unit 2060 (described later) and transmitted as a single bitstream.

図4は、GPS2011のシンタックス構成の一例である。 Figure 4 is an example of the syntax configuration of GPS2011.

なお、以下で説明するシンタックス名は、あくまで一例である。以下で説明したシンタックスの機能が同様であれば、シンタックス名は異なっていても差し支えない。 Note that the syntax names explained below are merely examples. If the syntax functions explained below are similar, the syntax names may be different.

GPS2011は、各GPS2011を識別するためのGPS id情報(gps_geom_parameter_set_id)を含んでもよい。 GPS2011 may include GPS ID information (gsps_geom_parameter_set_id) for identifying each GPS2011.

なお、図4のDescriptor欄は、各シンタックスが、どのように符号化されているかを意味している。ue(v)は、符号無し0次指数ゴロム符号であることを意味し、u(1)は、1ビットのフラグであることを意味する。 The Descriptor column in Figure 4 indicates how each syntax is coded. ue(v) indicates an unsigned zeroth-order exponential Golomb code, and u(1) indicates a 1-bit flag.

GPS2011は、近似表面合成部2030でTrisoupを使用するか否かを制御するフラグ(trisoup_enabled_flag)を含んでもよい。 GPS2011 may include a flag (trisoup_enabled_flag) that controls whether or not 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 Trisoup is used, i.e., 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フラグ)を含んでもよい。 GPS2011 may include a flag (trisoup_multilevel_enabled_flag, first flag) that controls whether or not trisoup is allowed 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", multi-level trisoup is not allowed, i.e., trisoup is performed at a single level, and when the value of trisoup_multilevel_enabled_flag is "1", multi-level trisoup is allowed.

なお、当該シンタックスがGPS2011に含まれない場合、当該シンタックスの値を単一のレベルでのTrisoupを行う場合の値、すなわち、「0」とみなしてよい。 If this syntax is not included in GPS2011, the value of this syntax may be considered to be the value when performing a trisoup at a single level, i.e., "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 trisoup_multilevel_enabled_flag is not included in SPS2001, the value of the syntax may be considered to be the value for performing trisoup at a single level, i.e., "0".

図5は、GSH2012のシンタックス構成の一例である。なお、前述の通り、GSHは、GDUH(Geometry Data Unit Header)とも呼ばれる。 Figure 5 shows 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, i.e., when the value of trisoup_multilevel_enabled_flag is "1".

GSH2012は、複数レベルでのTrisoupを許可するとき、スライス内でOctreeのみとTrisoupとを適応的に選択するモードを有効にするフラグ(adaptive_octree_enabled_flag)を含んでもよい。 GSH2012 may include a flag (adaptive_octree_enabled_flag) that enables a mode of adaptively selecting between Octree-only and Trisoup within a slice when Trisoup is allowed at multiple levels.

例えば、当該フラグの値が「1」の場合はOctreeとTrisoupとを適応的に選択するモード(以降、「適応Octreeモード」と呼ぶ)が有効であり、当該フラグの値が「0」の場合は適応Octreeモードが無効であると定義してもよい。 For example, it may be defined that when the value of the flag is "1", a mode that adaptively selects between Octree and Trisoup (hereinafter referred to as "adaptive Octree mode") is enabled, and when the value of the flag is "0", the adaptive Octree mode is disabled.

また、GSH2012に当該フラグが含まれない場合、当該フラグの値を「0」、すなわち、適応Octreeモードが無効であると暗黙的にみなしてもyい。 Also, if the GSH2012 does not include this flag, the value of the flag may be implicitly considered to be "0", i.e., adaptive Octree mode is disabled.

GSH2012は、複数レベルでのTrisoupを許可するとき、Trisoupノードサイズの最大値を規定するシンタックス(log2_trisoup_max_node_size_minus2)を含んでもよい。 GSH2012 may include syntax (log2_trisoup_max_node_size_minus2) to specify the maximum Trisoup node size when multi-level Trisoup is allowed.

当該シンタックスは、実際のTrisoupノードサイズの最大値について、2を底とする対数に変換した値として表現されていてもよい。更に、当該シンタックスは、実際のTrisoupノードサイズの最大値について、2を底とする対数に変換した後に2を引いた後の値として表現されていてもよい。 The syntax may be expressed as a value obtained by converting the actual maximum Trisoup node size to a logarithm with base 2. Furthermore, the syntax may be expressed as a value obtained by subtracting 2 from the logarithm with base 2, for the actual maximum Trisoup node size.

GSH2012は、複数レベルでのTrisoupを許可するとき、Trisoupノードサイズの最小値を規定するシンタックス(log2_trisoup_min_node_size_minus2)を含んでもよい。 GSH2012 may include syntax (log2_trisoup_min_node_size_minus2) to specify a minimum Trisoup node size when multi-level Trisoup is allowed.

当該シンタックスは、実際のTrisoupノードサイズの最小値について、2を底とする対数に変換した値として表現されていてもよい。更に、当該シンタックスは、実際のTrisoupノードサイズの最小値を4(=2^2)とし、2を底とする対数に変換した後に2を引いた後の値として表現されていてもよい。 The syntax may be expressed as a value obtained by converting the actual minimum Trisoup node size to a logarithm with base 2. Furthermore, the syntax may be expressed as a value obtained by subtracting 2 from the logarithm obtained by converting the actual minimum Trisoup node size to 4 (=2^2).

また、当該シンタックスの値は、必ず0以上且つlog2_trisoup_max_node_size_minus2以下となるように制約されていてもよい。 The value of this syntax may also be constrained to be greater than or equal to 0 and less than or equal to log2_trisoup_max_node_size_minus2.

また、この時、図5に示すようにtrisoup_depthをtrisoup_depth=log2_trisoup_max_node_size_minus2-log2_trisoup_min_node_size_minus2+1と定義してもよい。 In this case, trisoup_depth may be defined as trisoup_depth = log2_trisoup_max_node_size_minus2 - log2_trisoup_min_node_size_minus2 + 1, as shown in Figure 5.

また、最小Trisoupノードサイズ及び最大Trisoupノードサイズを直接復号する代わりに、後述のOctree処理における最大Trisoupノードサイズ及び最小Trisoupノードサイズに対応するDepth値を復号してもよい。 In addition, instead of directly decoding the minimum and maximum Trisoup node sizes, the Depth values corresponding to the maximum and minimum Trisoup node sizes in the Octree processing described below may be decoded.

例えば、最大Depth(全ノードが1×1×1のサイズになるDepth)が10の場合、最小Trisoupノードサイズを4(=2)、最大Trisoupノードサイズを16(=2)としたい場合は、最小Trisoupノードサイズに対応するDepth値として8、最大Trisoupノードサイズに対応するDepth値として6をそれぞれ復号してもよい。 For example, if the maximum Depth (the Depth at which all nodes are 1x1x1 in size) is 10, and you want the minimum Trisoup node size to be 4 (= 22 ) and the maximum Trisoup node size to be 16 (= 24 ), you may decode the Depth value corresponding to the minimum Trisoup node size as 8 and the Depth value corresponding to the maximum Trisoup node size as 6.

幾何情報復号部2020は、複数レベルでのTrisoupを許可しないとき、すなわち、trisoup_multilevel_enabled_flagの値が「0」の時、追加で以下のシンタックスを復号するように構成されていてもよい。 The geometric information decoding unit 2020 may be configured to additionally decode the following syntax when multi-level Trisoup is not permitted, i.e., when the value of trisoup_multilevel_enabled_flag is "0".

GSH2012は、複数レベルでのTrisoupを許可しないとき、かつ、Trisoupを使用するとき、Trisoupノードサイズを規定するシンタックス(log2_trisoup_node_size_minus2)を含んでもよい。 GSH2012 may include syntax (log2_trisoup_node_size_minus2) to specify the Trisoup node size when multi-level Trisoup is not allowed and when Trisoup is used.

当該シンタックスは、実際のTrisoupノードサイズについて、2を底とする対数に変換した値として表現されていてもよい。更に、当該シンタックスは、実際のTrisoupノードサイズについて、2を底とする対数に変換した後に2を引いた後の値として表現されていてもよい。 The syntax may be expressed as a value obtained by converting the actual Trisoup node size to a logarithm with base 2. Furthermore, the syntax may be expressed as a value obtained by subtracting 2 from the logarithm with base 2 for the actual Trisoup node size.

また、この時、図5に示すようにtrisoup_depthをtrisoup_depth=1と定義してもよい。 In this case, trisoup_depth may be defined as trisoup_depth = 1, as shown in Figure 5.

GSH2012は、Trisoupを使用するとき、復号点のサンプリング間隔を制御するシンタックス(trisoup_sampling_value_minus1)を含んでもよい。当該シンタックスの具体的な定義は、例えば、上述の非特許文献1に記載の定義と同様とすることができる。 When using Trisoup, GSH2012 may include a syntax (trisoup_sampling_value_minus1) that controls the sampling interval of the decoding point. The specific definition of the syntax may be the same as that described in the above-mentioned non-patent document 1, for example.

GSH2012は、Trisoupを使用するとき、かつ、複数レベルでのTrisoupを許可するとき、階層i(i=0,...,trisoup_depth-1)ごとにユニークセグメントが対象階層に存在するか否かを示すフラグ(unique_segments_exist_flag[i])を含んでもよい。 When GSH2012 uses Trisoup and allows Trisoup at multiple levels, it may include a flag (unique_segments_exist_flag[i]) for each hierarchical level i (i=0,...,trisoup_depth-1) indicating whether a unique segment exists in the target hierarchical level.

例えば、unique_segments_exist_flag[i]の値が「1」の場合は、階層iに少なくとも1つ以上のユニークセグメントが存在することを意味する。また、unique_segments_exist_flag[i]の値が「0」の場合は、階層iにユニークセグメントが1つも存在しないことを意味する。 For example, if the value of unique_segments_exist_flag[i] is "1", it means that at least one unique segment exists in hierarchical layer i. Also, if the value of unique_segments_exist_flag[i] is "0", it means that no unique segments exist in hierarchical layer 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])を含んでもよい。 For each hierarchical layer i (i = 0, ..., trisoup_depth-1), if a unique segment exists in the target hierarchical layer, i.e., if the value of unique_segments_exist_flag[i] is "1", GSH2012 may additionally include syntax (num_unique_segments_bits_minus1[i]) indicating the number of bits of the syntax indicating the number of unique segments in the target hierarchical layer and syntax (num_unique_segments_minus1[i]) indicating the number of unique segments in the target hierarchical layer.

ここで、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], the original value minus "1" may be encoded as the syntax value.

図6は、GSH2012のシンタックス構成の一例である。以降では、図5との差分のみ説明する。 Figure 6 shows an example of the syntax configuration of GSH2012. In what follows, we will only explain the differences from Figure 5.

図6に示す通り、適応Octreeモードが有効な場合、すなわち、adaptive_octree_enabled_flagの値が「1」の場合、Trisoupノードサイズの最小値を規定するシンタックス(log2_trisoup_min_node_size_minus2)の復号を省略してもよい。その際、Trisoupノードサイズの最小値は予め定めた所定の値とみなしてよい。例えば、所定の値は「0」(すなわち、2=1)と見なしてもよい。 As shown in Fig. 6, when the adaptive Octree mode is enabled, that is, when the value of adaptive_octree_enabled_flag is "1", the decoding of the syntax (log2_trisoup_min_node_size_minus2) that specifies the minimum value of the Trisoup node size may be omitted. In this case, the minimum value of the Trisoup node size may be regarded as a predetermined value. For example, the predetermined value may be regarded as "0" (i.e., 2 0 =1).

以上のように、幾何情報復号部2010は、同一スライス内或いははデータユニット内においてOctreeのみ及びTrisoupの両方を使用可能とするか否かを制御するフラグを復号し、当該フラグの値が「使用可能」を示している場合、暗黙的に最小Trisoupノードサイズの値を1×1×1とみなすように構成されていてもよい。 As described above, the geometric information decoding unit 2010 may be configured to decode a flag that controls whether or not only Octree and both Trisoup are available within the same slice or data unit, and if the value of the flag indicates "available," to implicitly consider the value of the minimum Trisoup node size to be 1x1x1.

以上のような構成とすることで、不要なシンタックスの伝送を排除し、符号量を削減できる。 By configuring as described above, it is possible to eliminate the transmission of unnecessary syntax and reduce the amount of coding.

図7は、GSH2012のシンタックス構成の一例である。以降では、図5との差分のみ説明する。 Figure 7 shows an example of the syntax configuration of GSH2012. In what follows, we will only explain the differences from Figure 5.

図7に示すように、Trisoupノードサイズの最大値を規定するシンタックス及びTrisoupノードサイズの最小値を規定するシンタックスのそれぞれについて、それぞれ2を底とする対数に変換した後の値を伝送することとしてもよい。この時、それぞれのシンタックスの最小値を「0」(すなわち、2=1)と規定してもよい。 7, for each of the syntax that specifies the maximum value of the Trisoup node size and the syntax that specifies the minimum value of the Trisoup node size, values may be transmitted after being converted to logarithms with the base 2. In this case, the minimum value of each syntax may be specified as "0" (i.e., 2 0 =1).

以上のように、幾何情報復号部2010は、最小Trisoupノードサイズを復号し、前記最小Trisoupノードサイズの取り得る最小値は1×1×1に相当する値にとなるよう構成されていてもよい。 As described above, the geometric information decoding unit 2010 may be configured to decode the minimum Trisoup node size, and the minimum possible value of the minimum Trisoup node size may be a value equivalent to 1 x 1 x 1.

このような構成とすることで、Trisoupのみを使用する場合の処理を共通化できる。 By configuring in this way, processing can be standardized when only Trisoup is used.

(ツリー合成部2020)
以下、図8~図9を用いてツリー合成部2020の処理について説明する。図6は、ツリー合成部2020における処理の一例を示すフローチャートである。なお、以下では「Octree」を使用してツリーを合成する場合の例について説明する。
(Tree synthesis unit 2020)
The processing of the tree merging unit 2020 will be described below with reference to Figures 8 and 9. Figure 6 is a flowchart showing an example of the processing in the tree merging unit 2020. Note that the following describes an example in which trees are merged using "Octree".

ステップS801において、ツリー合成部2020は、全てのDepthの処理が完了したかどうかを確認する。なお、Depth数は、点群符号化装置100から点群復号装置200に伝送するビットストリーム内に制御データとして含まれていてもよい。 In step S801, the tree synthesis unit 2020 checks whether processing for all depths has been completed. Note that the depth number may be included as control data in the bit stream 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 synthesis unit 2020 calculates the node size of the target depth. In the case of "Octree", the node size of the first depth may be defined as "2 to the power of the depth number". In other words, if the depth number is N, the node size of the first depth may be defined as 2 to the power of N.

また、2番目以降のDepthでのノードサイズは、Nの数を1つずつ減じていくことで定義されてもよい。すなわち、2番目のDepthのノードサイズは、「2の(N-1)乗」として定義され、3番目のDepthのノードサイズは、「2の(N-2)乗」として定義され、・・・と定義されてもよい。 In addition, the node size at the second and subsequent depths may be defined by decrementing the number N by one. That is, the node size at the second depth may be defined as "2 to the power of (N-1)", the node size at the third depth may be defined as "2 to the power of (N-2)", and so on.

或いは、ノードサイズは、常に2のべき乗で定義されるため、単純に指数部分(N、N-1、N-2、等)の値をノードサイズと考えてもよい。以降の説明では、ノードサイズとは、ノードの1辺の長さの指数部分の値を指すこととする。 Alternatively, because node sizes are always defined as powers of 2, you can simply think of the exponent part (N, N-1, N-2, etc.) as the node size. In the following explanation, node size refers to the exponent part of the length of one side of the node.

なお、以降では簡単のため、ノード形状が立方体の場合、すなわち、ノードの全ての辺の長さが等しい場合を例に説明する。 For simplicity's sake, we'll use the example below where the node shape is a cube, i.e., all edges of the node are the same length.

QtBtを用いる場合、すなわち、ノード形状が直方体になり、ノードの各辺の長さが軸方向(x、y、z)毎に異なる場合、3方向のうち最も短い辺の長さをノードサイズと考えてもよい。同様に、3方向のうち最も長い辺の長さをノードサイズと考えてもよい。 When using QtBt, that is, when the node shape is a rectangular prism and the length of each side of the node differs in each axial direction (x, y, z), the length of the shortest side of the three directions may be considered to be the node size. Similarly, the length of the longest side of the three directions may be considered to be the node size.

ここで、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) that controls whether or not to use Trisoup indicates that Trisoup is to be used, that is, when the value of trisoup_enabled_flag is "1", the tree synthesis unit 2020 may change the number of Depths to be processed based on the value of the syntax (log2_trisoup_min_node_size_minus2) that specifies the minimum value of the Trisoup node size or the syntax (log2_trisoup_node_size_minus2) that specifies the Trisoup node size. 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 as, 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は、ステップS809へ進み、そうでない場合は、ツリー合成部2020は、ステップS802へ進む。 In this case, if processing for all processing depths has been completed, the tree synthesis unit 2020 proceeds to step S809; otherwise, the tree synthesis unit 2020 proceeds to step S802.

言い換えると、(処理Depth数-n)=0の場合は、ツリー合成部2020は、ステップS809へ進み、(処理Depth数-n)>0の場合は、ツリー合成部2020は、ステップS802へ進む。 In other words, if (processing depth number - n) = 0, the tree synthesis unit 2020 proceeds to step S809, and if (processing depth number - n) > 0, the tree synthesis unit 2020 proceeds to step S802.

また、ツリー合成部2020は、ステップS809へ進む際のノードサイズ(N-処理Depth数)を持つ全てのノードには、Trisoupが適用されると判定してもよい。 The tree synthesis unit 2020 may also determine that Trisoup is applied to all nodes having the node size (N-processing depth number) when proceeding to step S809.

ここで、複数レベルでのTrisoupを許可されている場合、すなわち、trisoup_multilevel_enabled_flagの値が「1」の時、且つ、適応Octreeモードが有効な場合、すなわち、adaptive_octree_enabled_flagの値が「1」の時は、ステップS801では、以下の様に構成されていてもよい。 Here, when Trisoup at multiple levels is permitted, i.e., when the value of trisoup_multilevel_enabled_flag is "1", and when adaptive Octree mode is enabled, i.e., when the value of adaptive_octree_enabled_flag is "1", step S801 may be configured as follows:

具体的には、全てのDepthの処理が完了した場合は、ツリー合成部2020は、ステップS809へ進み、全てのDepthの処理が完了していない場合は、ツリー合成部2020は、ステップS802へ進む。 Specifically, if processing of all depths has been completed, the tree synthesis unit 2020 proceeds to step S809, and if processing of all depths has not been completed, the tree synthesis unit 2020 proceeds to step S802.

言い換えると、対象Depthがn番目のDepthの時、(N-n)=0の場合は、ツリー合成部2020は、ステップS809へ進み、(N-n)>0の場合は、ツリー合成部2020は、ステップS802へ進む。 In other words, when the target depth is the nth depth, if (N-n)=0, the tree synthesis unit 2020 proceeds to step S809, and if (N-n)>0, the tree synthesis unit 2020 proceeds to step S802.

ステップS802において、ツリー合成部2020は、対象Depthにて後述するTrisoup_applied_flagを復号する必要があるか否かを判定する。 In step S802, the tree synthesis unit 2020 determines whether or not it is necessary to decode the Trisoup_applied_flag described below at the target depth.

例えば、「複数レベルでのTrisoupが許可(trisoup_multilevel_enabled_flagの値が「1」)」で、且つ、「対象Depthのノードサイズ(N-n)が最大のTrisoupノードサイズ以下」の場合に、ツリー合成部2020は、「Trisoup_applied_flagの復号が必要である」と判定してもよい。 For example, if "Trisoups at multiple levels are permitted (the value of trisoup_multilevel_enabled_flag is "1")" and "the node size (N-n) of the target depth is equal to or smaller than the maximum trisoup node size," the tree synthesis unit 2020 may determine that "decoding of trisoup_applied_flag is necessary."

例えば、「複数レベルでのTrisoupが許可(trisoup_multilevel_enabled_flagの値が「1」)」で、且つ、「対象Depthのノードサイズ(N-n)が最大のTrisoupノードサイズ以下」で、且つ、「対象Depthのノードサイズ(N-n)が最小のTrisoupノードサイズ以上」の場合に、ツリー合成部2020は、「Trisoup_applied_flagの復号が必要である」と判定してもよい。 For example, if "Trisoups at multiple levels are allowed (the value of trisoup_multilevel_enabled_flag is "1")," and "the node size (N-n) of the target depth is equal to or smaller than the maximum trisoup node size," and "the node size (N-n) of the target depth is equal to or larger than the minimum trisoup node size," the tree synthesis unit 2020 may determine that "decoding of trisoup_applied_flag is necessary."

また、ツリー合成部2020は、上述の条件が満たされない場合、「Trisoup_applied_flagの復号が必要ない」と判定してもよい。 In addition, if the above conditions are not met, the tree synthesis unit 2020 may determine that "decoding of Trisoup_applied_flag is not necessary."

ここで、最大のTrisoupノードサイズについては、例えば、(log2_trisoup_max_node_size_minus3+2)で定義できる。同様に、最小のTrisoupノードサイズについては、例えば、(log2_trisoup_min_node_size_minus2+2)で定義できる。 Here, the maximum Trisoup node size can be defined, for example, as (log2_trisoup_max_node_size_minus3 + 2). Similarly, the minimum Trisoup node size can be defined, for example, as (log2_trisoup_min_node_size_minus2 + 2).

上述の判定が完了したら、ツリー合成部2020は、ステップS803へ移る。 Once the above-mentioned determination is completed, the tree synthesis unit 2020 proceeds to step S803.

ステップS803において、ツリー合成部2020は、対象Depthに含まれる全てのノードの処理が完了したかどうかを判定する。 In step S803, the tree synthesis unit 2020 determines whether processing of all nodes included in the target Depth has been completed.

対象Depthの全てのノードの処理が完了したと判定した場合、ツリー合成部2020は、ステップS801へ移り、次のDepthの処理を行う。 If it is determined that processing of all nodes at the target Depth has been completed, the tree synthesis unit 2020 proceeds to step S801 and processes the next Depth.

一方、対象Depthの全てのノードの処理が完了していない場合、ツリー合成部2020は、ステップS804へ移る。 On the other hand, if processing of all nodes at the target Depth has not been completed, the tree synthesis unit 2020 proceeds to step S804.

ステップS804において、ツリー合成部2020は、ステップS802で判定したTrisoup_applied_flagの復号の要否について確認する。 In step S804, the tree synthesis unit 2020 checks whether or not it is necessary to decode the Trisoup_applied_flag determined in step S802.

Trisoup_applied_flagの復号が必要であると判定されている場合は、ツリー合成部2020は、ステップS805へ進み、Trisoup_applied_flagの復号が必要でないと判定されている場合は、ツリー合成部2020は、ステップS808へ移る。 If it is determined that decoding of Trisoup_applied_flag is necessary, the tree synthesis unit 2020 proceeds to step S805, and if it is determined that decoding of Trisoup_applied_flag is not necessary, the tree synthesis unit 2020 proceeds to step S808.

ステップS805において、ツリー合成部2020は、Trisoup_applied_flagを復号する。 In step S805, the tree synthesis 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 Trisoup is applied to the target node. For example, it may be defined that Trisoup is applied to the target node when the value of this flag is "1", and that Trisoup is not applied to the target node when the value of this flag is "0".

ツリー合成部2020は、Trisoup_applied_flagを復号した後、ステップS806へ移る。 After the tree synthesis unit 2020 decodes Trisoup_applied_flag, it proceeds to step S806.

ステップS806において、ツリー合成部2020は、ステップS805で復号したTrisoup_applied_flagの値を確認する。 In step S806, the tree synthesis unit 2020 checks the value of Trisoup_applied_flag decoded in step S805.

対象ノードにTrisoupを適用する場合、すなわち、Trisoup_applied_flagの値が「1」の場合は、ツリー合成部2020は、ステップS807へ移る。 If Trisoup is to be applied to the target node, i.e., if the value of Trisoup_applied_flag is "1", the tree synthesis unit 2020 proceeds to step S807.

対象ノードにTrisoupを適用しない場合、すなわち、Trisoup_applied_flagの値が「0」の場合は、ツリー合成部2020は、ステップS808へ移る。 If Trisoup is not applied to the target node, i.e., if the value of Trisoup_applied_flag is "0", the tree synthesis unit 2020 proceeds to step S808.

ステップS807において、ツリー合成部2020は、対象ノードを、Trisoupを適用するノード、すなわち、Trisoupノードとして記憶する。かかる対象ノードに対しては、これ以上、「Octree」によるノードの分割を適用しないこととする。その後、ツリー合成部2020は、ステップS803に進み、次のノードの処理へ移る。 In step S807, the tree synthesis unit 2020 stores the target node as a node to which Trisoup is applied, i.e., as a Trisoup node. No further node splitting by "Octree" is applied to this target node. The tree synthesis unit 2020 then proceeds to step S803 and moves on to processing the next node.

ステップS808において、ツリー合成部2020は、occpancy codeと呼ばれる情報を復号する。 In step S808, the tree synthesis unit 2020 decodes information called the occupancy code.

occpancy codeは、「Octree」の場合は、対象ノードをx、y、z軸方向にそれぞれ半分に分割して、8つのノード(子ノードと呼ぶ)に分割した際に、それぞれの子ノード内に復号対象の点が含まれているか否かを示す情報である。 In the case of "Octree", the occupancy code is information that indicates whether the point to be decoded is included in each of the child nodes when the target node is divided in half in each of the x, y, and z axis directions and divided into eight nodes (called child nodes).

例えば、occpancy codeは、各子ノードに対して1ビットの情報を割り当て、かかる1ビットの情報が「1」の場合は、かかる子ノード内に復号対象の点が含まれると定義され、かかる1ビットの情報が「0」の場合は、かかる子ノード内に復号対象の点が含まれないと定義されてもよい。 For example, the occupancy code may assign one bit of information to each child node, and if the one bit of information is "1", it may be defined that the point to be decoded is included in the child node, and if the one bit of 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 synthesis unit 2020 may estimate in advance the probability that the point to be decoded exists in each child node, and entropy decode the bits corresponding to each child node based on that probability.

同様に、点群符号化装置100においては、エントロピー符号化してもよい。 Similarly, entropy coding may be performed in the point cloud coding device 100.

以上のように、点群復号装置200は、同一スライス内或いはデータユニット内において、Octreeのみ及びTrisoupの両方を使用可能とし、ノード毎にOctreeのみ及びTrisoupのいずれかの方法で、点の幾何情報を復号するように構成されていてもよい。 As described above, the point cloud decoding device 200 may be configured to use both Octree only and Trisoup within the same slice or data unit, and to decode the geometric information of points for each node using either the Octree only or Trisoup method.

以上のような構成とすることで、局所的に幾何構造が細かい部分はOctreeのみ、平面で近似可能な箇所はTrisoupといったように切り替えが可能となり、効率の良い符号化が可能となる。 By configuring as described above, it is possible to switch between using only Octree for areas with locally detailed geometric structures and Trisoup for areas that can be approximated by a plane, enabling efficient encoding.

また、以上のように、ツリー合成部2020は、空間を再帰的に分割するOctree分割を行い、所定の最小Trisoupノードサイズより小さくなった全てのノードについて、幾何情報をOctreeのみによって復号するように構成されていてもよい。 As described above, the tree synthesis unit 2020 may be configured to perform Octree partitioning to recursively partition the space, and to decode the geometric information for all nodes that are smaller than a predetermined minimum Trisoup node size using only Octree.

また、以上のように、ツリー合成部2020は、適応Octreeモードが有効な場合、所定の最小Trisoupノードサイズの各ノードについて、当該ノードにTrisoupを適用するか否かを示すフラグ(Trisoup_applied_flag)を復号するように構成されていてもよい。 As described above, when the adaptive Octree mode is enabled, the tree synthesis unit 2020 may be configured to decode, for each node of a predetermined minimum Trisoup node size, a flag (Trisoup_applied_flag) indicating whether or not Trisoup is applied to the node.

また、以上のように、幾何情報復号部2010は、同一スライス内或いはデータユニット内において、OctreeのみとTrisoupの両方を使用可能とするか否かを制御するフラグを復号し、ツリー合成部2020は、当該フラグの値が「使用可能」を示している場合、所定の最小Trisoupノードサイズより小さくなった全てのノードについて、幾何情報をOctreeのみによって復号するように構成されていてもよい。 As described above, the geometric information decoding unit 2010 may be configured to decode a flag that controls whether or not both Octree and Trisoup are available within the same slice or data unit, and the tree synthesis unit 2020 may be configured to decode the geometric information using Octree only for all nodes that are smaller than a predetermined minimum Trisoup node size when the value of the flag indicates "available."

以上のような構成とすることで、Trisoupノードサイズの最小時は非特許文献1から変更しなくてもOctreeのみとの併用が可能となるため、Trisoup自体の処理の変更量が少なくなり、設計が容易になるという利点がある。 By configuring as described above, when the Trisoup node size is at its minimum, it is possible to use only Octree without making any changes from Non-Patent Document 1, which has the advantage of reducing the amount of changes to the processing of Trisoup itself and making design easier.

図9は、ツリー合成部2020における処理の一例を示すフローチャートである。図8と同様の処理を行う箇所については、同一の符号を付しており、説明は省略する。 Figure 9 is a flowchart showing an example of processing in the tree synthesis unit 2020. The same reference numerals are used for parts that perform the same processing as in Figure 8, and the description will be omitted.

ステップS901では、全ての処理Depth数の処理が完了した場合は、ツリー合成部2020は、ステップS809へ進み、そうでない場合は、ツリー合成部2020は、ステップS802へ進む。 In step S901, if processing for all processing depths has been completed, the tree synthesis unit 2020 proceeds to step S809; otherwise, the tree synthesis unit 2020 proceeds to step S802.

ここで、複数レベルでのTrisoupが許可(trisoup_multilevel_enabled_flagの値が「1」)されている時は、ツリー合成部2020は、処理するDepth数を、Trisoupノードサイズの最小値を規定するシンタックス(図7に示すlog2_trisoup_node_size)の値に基づいて変化させてもよい。この時、ツリー合成部2020は、Trisoupノードサイズの最小値は0としてもよい。 Here, when Trisoup at multiple levels is permitted (the value of trisoup_multilevel_enabled_flag is "1"), the tree synthesis unit 2020 may change the number of Depths to be processed based on the value of the syntax (log2_trisoup_node_size shown in FIG. 7) that specifies the minimum value of the Trisoup node size. At this time, the tree synthesis unit 2020 may set the minimum value of the Trisoup node size to 0.

または、図6に示すように、ツリー合成部2020は、適応Octreeモードが有効の場合は、Trisoupノードサイズの最小値は、0と暗黙的に設定してもよい。かかる場合、例えば、以下のように定義してもよい。 Alternatively, as shown in FIG. 6, the tree synthesis unit 2020 may implicitly set the minimum Trisoup node size to 0 when adaptive Octree mode is enabled. In such a case, it may be defined, for example, as follows:

処理Depth数=全Depth数-最小のTrisoupノードサイズ
この場合、全ての処理Depth数の処理が完了した場合は、ツリー合成部2020は、ステップS809へ進み、そうでない場合は、ツリー合成部2020は、ステップS902へ進む。
Processing Depth Number=Total Depth Number−Minimum Trisoup Node Size In this case, if processing for all processing Depth numbers has been completed, the tree merging unit 2020 proceeds to step S809, and if not, the tree merging unit 2020 proceeds to step S902.

言い換えると、(処理Depth数-n)=0の場合は、ツリー合成部2020は、ステップS809へ進み、(処理Depth数-n)>0の場合は、ツリー合成部2020は、ステップS902へ進む。 In other words, if (processing depth number - n) = 0, the tree synthesis unit 2020 proceeds to step S809, and if (processing depth number - n) > 0, the tree synthesis unit 2020 proceeds to step S902.

ステップS902において、ツリー合成部2020は、対象Depthにて後述するTrisoup_applied_flagを復号する必要があるか否かを判定する。 In step S902, the tree synthesis unit 2020 determines whether or not it is necessary to decode the Trisoup_applied_flag described below at the target depth.

例えば、「複数レベルでのTrisoupが許可(trisoup_multilevel_enabled_flagの値が「1」)」で、且つ、「対象Depthのノードサイズ(N-n)が最大のTrisoupノードサイズ以下」の場合に、ツリー合成部2020は、「Trisoup_applied_flagの復号が必要である」と判定してもよい。 For example, if "Trisoups at multiple levels are permitted (the value of trisoup_multilevel_enabled_flag is "1")" and "the node size (N-n) of the target depth is equal to or smaller than the maximum trisoup node size," the tree synthesis unit 2020 may determine that "decoding of trisoup_applied_flag is necessary."

また、ツリー合成部2020は、ステップS809へ進む際のノードサイズ(N-処理Depth数)が1以上(2以上)の場合、当該のノードサイズを持つ全てのノードには、Trisoupが適用されると判定してもよい。 Furthermore, if the node size (N-processing depth number) when proceeding to step S809 is 1 or more ( 2.1 or more), the tree merging unit 2020 may determine that Trisoup is applied to all nodes having that node size.

また、ツリー合成部2020は、ステップS809へ進む際のノードサイズ(N-処理Depth数)が0(2=1)の場合、すなわち、1×1×1のサイズのノードの場合、後述する近似表面合成部2030では、Trisoupの処理は行わず、Octreeのみを実行した際と同様に、1×1×1のサイズのノード自体を復号した点とみなしてもよい。 Furthermore, when the node size (N-processing depth number) when proceeding to step S809 is 0 (2 0 =1), i.e., in the case of a node of size 1×1×1, the tree synthesis unit 2020 may regard the 1×1×1 node itself as having been decoded, as in the case of performing only Octree, without performing Trisoup processing, in the approximate surface synthesis unit 2030 described later.

以上のように、ツリー合成部2020は、所定の最小Trisoupノードサイズを1に設定し、ノードサイズが1×1×1となったノードについては、Octreeのみで、ノードサイズが1×1×1より大きなノードについては、Trisoupで、それぞれ幾何情報を復号することを決定するように構成されていてもよい。 As described above, the tree synthesis unit 2020 may be configured to set a predetermined minimum Trisoup node size to 1, and determine that for nodes with a node size of 1x1x1, the geometric information is decoded using only Octree, and for nodes with a node size larger than 1x1x1, the geometric information is decoded using Trisoup.

以上のような構成とすることで、Trisoupのみを用いる場合との処理が共通化されるという利点がある。 The above configuration has the advantage that the processing is the same as when only Trisoup is used.

(近似表面合成部2030)
近似表面合成部2030は、図10及び図14で説明するように、ツリー合成部2020にて、Trisoupノードと判定された各ノードについて、復号処理を行うように構成されている。
(Approximate surface synthesis unit 2030)
The approximate surface synthesis unit 2030 is configured to perform a decoding process for each node determined to be a Trisoup node by the tree synthesis unit 2020, as will be described with reference to Figs.

以下、図10~図14を用いて近似表面合成部2030の処理の例について説明する。 Below, an example of the processing performed by the approximate surface synthesis unit 2030 is explained using Figures 10 to 14.

図10は、近似表面合成部2030の処理の一例を示すフローチャートである。 Figure 10 is a flowchart showing an example of processing by the approximate surface synthesis unit 2030.

図10に示すように、ステップS1001において、近似表面合成部2030は、全てのtrisoup_depthでの処理が完了したかどうかを判定する。 As shown in FIG. 10, in step S1001, the approximate surface synthesis unit 2030 determines whether processing has been completed for all trisoup_depths.

全てのtrisoup_depthについて処理が完了した場合、ステップS1009へ進み、処理を終了する。全てのtrisoup_depthの処理が完了していない場合、ステップS1002へ進む。 If processing has been completed for all trisoup_depths, proceed to step S1009 and end processing. If processing has not been completed for all trisoup_depths, proceed to step S1002.

ステップS1002において、近似表面合成部2030は、ノード毎の頂点位置の取得及び統合を行う。 In step S1002, the approximate surface synthesis unit 2030 obtains and integrates the vertex positions for each node.

ここで、第1に、近似表面合成部2030は、当該trisoup_depthに対応するTrisoupノードサイズ(以降、当該Trisoupノードサイズと呼ぶ)におけるノード毎に頂点位置を復号する。具体的な処理については、図13で説明する。 First, the approximate surface synthesis unit 2030 decodes the vertex positions for each node in the Trisoup node size corresponding to the trisoup_depth (hereinafter, referred to as the Trisoup node size). The specific process is described in FIG. 13.

第2に、当該Trisoupノードサイズが、最大Trisoupノードサイズより小さい場合、近似表面合成部2030は、後述するステップS1008において、当該Trisoupノードサイズより大きなTrisoupノードサイズにおいて生成した頂点との統合処理を行う。 Secondly, if the Trisoup node size is smaller than the maximum Trisoup node size, the approximate surface synthesis unit 2030 performs integration processing with vertices generated at a Trisoup node size larger than the Trisoup node size in step S1008 described below.

具体的には、近似表面合成部2030は、当該Trisoupノードサイズにおけるノードのエッジ上に、図13に説明する手法で復号した頂点(当該Trisoupノードサイズにおける頂点)と、ステップS1008で説明する方法で生成した頂点(当該Trisoupノードサイズより大きなTrisoupノードサイズにおいて生成した頂点)の両方が存在する場合、一番大きなノードサイズにおいて生成された頂点のみを保持し、その他の頂点については削除する処理を行う。このようにすることで、ノード毎に頂点を最大でも1点ずつにすることができる。 Specifically, when both a vertex decoded using the method described in FIG. 13 (a vertex at the Trisoup node size) and a vertex generated using the method described in step S1008 (a vertex generated at a Trisoup node size larger than the Trisoup node size) exist on an edge of a node at the Trisoup node size, the approximate surface synthesis unit 2030 performs processing to retain only the vertex generated at the largest node size and delete the other vertices. In this way, it is possible to reduce the number of vertices per node to a maximum of one.

頂点位置の取得及び統合が完了した後、近似表面合成部2030は、ステップS1003へ進む。 After the vertex positions have been obtained and integrated, the approximate surface synthesis unit 2030 proceeds to step S1003.

ステップS1003において、近似表面合成部2030は、当該Trisoupノードサイズにおけるノード毎に、投影面を決定する。 In step S1003, the approximate surface synthesis unit 2030 determines a projection surface for each node in the Trisoup node size.

例えば、x軸、y軸、z軸の3つの軸があるとき、どれか1つの軸を縮退した平面を投影面と呼ぶ。 For example, when there are three axes, x-axis, y-axis, and z-axis, a plane with one of the axes degenerated is called a projection plane.

ステップS1003では、近似表面合成部2030は、上述の軸のうちどの軸を縮退するか、すなわち、x-y平面、x-z平面、y-z平面のうちどの平面を投影面とするかを決定する。具体的な投影面の決定方法は、公知の方法を適用できるため省略する。 In step S1003, the approximate surface synthesis unit 2030 determines which of the above-mentioned axes to degenerate, i.e., which of the x-y plane, x-z plane, and y-z plane to use as the projection plane. The specific method of determining the projection plane is omitted because a publicly known method can be applied.

投影面を決定した後、近似表面合成部2030は、ステップS1004へ進む。 After determining the projection surface, the approximate surface synthesis unit 2030 proceeds to step S1004.

ステップS1004において、近似表面合成部2030は、投影面に投影した頂点を、例えば、反時計回りの順になるようにソートし、かかる順序に従ってindexを付与する。なお、ステップS1003の処理の過程でソート処理を行う場合は、当該のソート処理結果を保存しておくことで、ステップS1004の処理を省略することができる。 In step S1004, the approximate surface synthesis unit 2030 sorts the vertices projected onto the projection surface, for example, in counterclockwise order, and assigns an index to the vertices according to that order. Note that if sorting is performed during the processing of step S1003, the processing of step S1004 can be omitted by saving the results of the sorting processing.

indexを付与した後、近似表面合成部2030は、ステップS1005へ進む。 After assigning the index, the approximate surface synthesis unit 2030 proceeds to step S1005.

ステップS1005において、近似表面合成部2030は、上述のindex及び対象ノードに存在する頂点数に基づいて、三角形を生成する。 In step S1005, the approximate surface synthesis unit 2030 generates triangles based on the above-mentioned index and the number of vertices present in the target node.

例えば、近似表面合成部2030は、予め頂点数毎にどのindexから三角形を生成するかを定義した表を作成しておき、それを参照することで三角形を生成できる。具体的な表の例については、例えば、上述の非特許文献1に記載の表を用いることができる。 For example, the approximate surface synthesis unit 2030 can generate triangles by creating a table that defines which index to generate triangles from for each number of vertices, and referencing the table. A specific example of the table can be the one described in the above-mentioned non-patent document 1.

或いは、近似表面合成部2030は、まず各頂点の座標を平均したセントロイドを生成し、上述のインデックス順に隣り合う2点とセントロイドの3点で、三角形を生成してもよい。 Alternatively, the approximate surface synthesis unit 2030 may first generate a centroid by averaging the coordinates of each vertex, and then generate a triangle using the two adjacent points in the index order described above and the centroid.

三角形を生成した後、近似表面合成部2030は、ステップS1006へ進む。 After generating the triangles, the approximate surface synthesis unit 2030 proceeds to step S1006.

ステップS1006において、近似表面合成部2030は、ステップS1005で生成した三角形を基に、点を生成する。具体的な方法は、例えば、上述の非特許文献1に記載の方法を用いることができる。 In step S1006, the approximate surface synthesis unit 2030 generates points based on the triangles generated in step S1005. A specific method for this can be, for example, the method described in the above-mentioned non-patent document 1.

全てのノードについて点の生成が完了した後、近似表面合成部2030は、ステップS1007へ進む。 After point generation has been completed for all nodes, the approximate surface synthesis unit 2030 proceeds to step S1007.

ステップS1007では、近似表面合成部2030は、当該Trisoupノードサイズが、最小ノードサイズと等しいかどうかを判定する。 In step S1007, the approximate surface synthesis unit 2030 determines whether the Trisoup node size is equal to the minimum node size.

近似表面合成部2030は、当該Trisoupノードサイズが、最小ノードサイズと等しい場合は、ステップS1001へ進み、次のtrisoup_depthの処理を行い、そうでない場合は、ステップS1008へ進む。 If the Trisoup node size is equal to the minimum node size, the approximate surface synthesis unit 2030 proceeds to step S1001 and performs the next trisoup_depth process; otherwise, it proceeds to step S1008.

ステップS1008では、近似表面合成部2030は、ステップS1006で生成した当該Trisoupノードサイズにおける点群、又は、ステップS1005で生成した三角形に基づいて、最小Trisoupノードサイズにおける頂点を生成する。 In step S1008, the approximate surface synthesis unit 2030 generates vertices at the minimum Trisoup node size based on the point cloud at the Trisoup node size generated in step S1006 or the triangle generated in step S1005.

図11は、ステップS1006で生成した当該Trisoupノードサイズにおける点群から、最小Trisoupノードサイズにおける頂点を生成する場合の例を示している。 Figure 11 shows an example of generating vertices at the minimum Trisoup node size from the point cloud at the Trisoup node size generated in step S1006.

図11Aは、ステップS1006で生成した復号点群の例を示している。 Figure 11A shows an example of the decoded point group generated in step S1006.

第1に、近似表面合成部2030は、当該ノードを、図11Aの点線で示すように、最小Trisoupノードサイズ毎に分割する。 First, the approximate surface synthesis unit 2030 divides the node into parts with the minimum Trisoup node size, as shown by the dotted lines in Figure 11A.

なお、図11では、当該TrisoupノードサイズがN(=2)であり、最小TrisoupノードサイズがN-1(=2(N-1))の場合を示している。 FIG. 11 shows a case where the Trisoup node size is N (=2 N ) and the minimum Trisoup node size is N-1 (=2 (N-1) ).

第2に、近似表面合成部2030は、最小Trisoupノードサイズ毎に分割した際の各エッジ(図11Aの実線及び点線)上に、復号点群内の各点が存在するかどうかを確認する。 Second, the approximate surface synthesis unit 2030 checks whether each point in the decoded point cloud exists on each edge (solid and dotted lines in FIG. 11A) when divided for each minimum Trisoup node size.

例えば、各エッジが、任意の原点から2(N-1)間隔で存在するとみなした場合、z軸方向のエッジの座標は、(A×2(N-1),B×2(N-1),z)で表せる。ここで、A及びBは、定数である。 For example, if it is assumed that each edge exists at 2 (N-1) intervals from an arbitrary origin, the coordinate of the edge in the z-axis direction can be expressed as (A x 2 (N-1) , B x 2 (N-1) , z), where A and B are constants.

よって、例えば、復号点群内の点の座標がx=A×2(N-1)及びy=B×2(N-1)となる点があれば、その点をエッジ上に存在する点をみなせる。上述の処理は、x軸方向のエッジ及びy軸方向のエッジについても同様に適用可能である。 Therefore, for example, if there is a point in the decoded point group whose coordinates are x = A x 2 (N-1) and y = B x 2 (N-1) , then that point can be considered to be on an edge. The above process can be similarly applied to edges in the x-axis direction and edges in the y-axis direction.

近似表面合成部2030は、このような処理を、最小Trisoupノードサイズ毎に分割した際の全てのエッジについて実施することで、復号点群からエッジ上に存在する点を抽出できる。 The approximate surface synthesis unit 2030 performs this process for all edges when divided into the minimum Trisoup node size, and can extract points that exist on the edges from the decoded point cloud.

なお、上述の処理は、一例であり、他の処理でも、最小Trisoupノードサイズにおけるエッジ上の点が抽出できればよい。 Note that the above process is just one example, and other processes can be used as long as they can extract points on edges at the minimum Trisoup node size.

例えば、各エッジが、任意の原点から2(N-1)間隔で存在するとみなした場合、近似表面合成部2030は、z軸方向のエッジ上に存在する点を抽出するには、復号点群内の各点のx座標及びy座標をそれぞれ2(N-1)で除算し、x座標、y座標ともに余りがゼロになった点を、エッジ上に存在する点として抽出することもできる。 For example, if each edge is considered to exist at intervals of 2 (N-1) from an arbitrary origin, the approximate surface synthesis unit 2030 can extract points that exist on an edge in the z-axis direction by dividing the x-coordinate and y-coordinate of each point in the decoded point group by 2 (N-1) , and extracting points that have zero remainders in both the x-coordinate and y-coordinate as points that exist on an edge.

図11Bは、エッジ上に存在する点の抽出結果の例を示している。図11Bに示すように、近似表面合成部2030は、当該Trisoupノードサイズの表面に存在するエッジ上の点のみを抽出し、当該Trisoupノードサイズの内部に存在するエッジ上の点は抽出対象外としてもよい。 Figure 11B shows an example of the extraction result of points on edges. As shown in Figure 11B, the approximate surface synthesis unit 2030 may extract only points on edges that exist on the surface of the Trisoup node size, and may exclude points on edges that exist inside the Trisoup node size from the extraction target.

近似表面合成部2030は、以上のようにして抽出したエッジ上の点を、最小Trisoupノードサイズにおける頂点として保存する。 The approximate surface synthesis unit 2030 stores the points on the edges extracted in the above manner as vertices in the minimum Trisoup node size.

以上のように、近似表面合成部2030は、制御データから復号した最大ノードサイズ及び最小ノードサイズに基づいて、最大と最小との間の各ノードサイズにおいて頂点の復号処理を実行し、ノードサイズが最小ノードサイズではない場合、復号した頂点に基づいて、最小ノードサイズにおける頂点位置を生成し、ある辺上に、かかる辺に隣接する異なるノードサイズのノードから生成された複数の頂点が存在する場合、かかる隣接するノードのうち、最も大きなノードサイズを持つノードによって生成された頂点を、かかる辺の頂点位置とするように構成されていてもよい。 As described above, the approximate surface synthesis unit 2030 may be configured to perform a vertex decoding process at each node size between the maximum and minimum based on the maximum node size and minimum node size decoded from the control data, generate a vertex position at the minimum node size based on the decoded vertex if the node size is not the minimum node size, and, if there are multiple vertices on a certain edge that are generated from nodes of different node sizes adjacent to the edge, set the vertex generated by the node with the largest node size among the adjacent nodes as the vertex position of the edge.

このような構成とすることで、異なるノードサイズ境界においてもメッシュに隙間ができなくなるため、復号点群の主観品質の向上が見込める。 This configuration eliminates gaps in the mesh even at boundaries of different node sizes, which is expected to improve the subjective quality of the decoded point cloud.

また、以上のように、最小ノードサイズにおける頂点位置を生成する際、ノードの表面のみに頂点を生成するように構成されていてもよい。 As described above, when generating vertex positions for the minimum node size, the system may be configured to generate vertices only on the surface of the node.

上述のように、生成する頂点位置を異なるノードサイズと隣接する可能性があるノード表面のみに限定することで、不要な頂点の生成を避け、処理量の増加を防ぐことができる。 As mentioned above, by limiting the vertex positions to be generated only to node surfaces that may be adjacent to different node sizes, it is possible to avoid generating unnecessary vertices and prevent an increase in the amount of processing.

以上のように、近似表面合成部2030は、ノードサイズが最小ノードサイズではない場合、対象のノードの復号点群内の点のうち、対象のノードを最小ノードサイズで分割した際の辺上の点を、最小ノードサイズにおける頂点位置とするように構成されていてもよい。 As described above, when the node size is not the minimum node size, the approximate surface synthesis unit 2030 may be configured to set, among the points in the decoded point group of the target node, the points on the edges when the target node is divided by the minimum node size as the vertex positions at the minimum node size.

かかる構成によれば、既に別の目的で生成された復号点群を処理に用いることで、処理量の増加を防ぐことができる。 With this configuration, it is possible to prevent an increase in the amount of processing by using a decoded point group that has already been generated for another purpose.

以上では、当該Trisoupノードサイズにおける復号点群を基に頂点を生成する方法の例を説明したが、頂点は、図12に示すように、当該Trisoupノードサイズにおける頂点から内挿する方法で生成してもよい。 The above describes an example of a method for generating vertices based on a decoded point group at the Trisoup node size, but the vertices may also be generated by an interpolation method from vertices at the Trisoup node size, as shown in Figure 12.

具体的には、例えば、第1に、近似表面合成部2030は、ステップS1003又はステップS1004における頂点のソート結果に基づいて、隣り合う頂点同士を結ぶ直線の式を算出する。 Specifically, for example, first, the approximate surface synthesis unit 2030 calculates the equation of a straight line connecting adjacent vertices based on the result of sorting the vertices in step S1003 or step S1004.

図12Aは、図11Aと同様に、当該Trisoupノードを最小Trisoupノードサイズに分割した場合の例、及び、当該Trisoupノードサイズにおける頂点の例を示している。 Similar to FIG. 11A, FIG. 12A shows an example of dividing the Trisoup node into the minimum Trisoup node size, and an example of vertices at that Trisoup node size.

図12Aは、ソート後のIndexにおいて、0番目と1番目、1番目と2番目、2番目と0番目の頂点を結ぶ直線をそれぞれ生成した場合の例を示している。 Figure 12A shows an example of generating straight lines connecting the 0th and 1st vertices, the 1st and 2nd vertices, and the 2nd and 0th vertices in the sorted index.

2点a=(ax, ay, az)、b=(bx, by, bz)を結ぶ直線lは、例えば、l=(1-t)a+tbで表せる。 The line l connecting two points a = (ax, ay, az) and b = (bx, by, bz) can be expressed as l = (1-t)a + tb, for example.

この直線と、最小Trisoupノードサイズにおける各エッジの直線との交点を求めることで、エッジ上の点を算出することができる。 The points on the edge can be calculated by finding the intersections between this line and the lines of each edge at the minimum Trisoup node size.

ここで、図11Bと同様に、算出対象を当該Trisoupノードサイズにおける表面上に存在するエッジに限定する場合、以下のように計算を簡素化できる。 Here, as in Figure 11B, if the calculation target is limited to edges that exist on the surface at the Trisoup node size, the calculation can be simplified as follows.

第1に、2つの頂点を結んで直線を求める際に、2つの頂点の両方が、当該Trisoupノードの同一表面上に無い場合、計算から除外できる。 First, when finding a line connecting two vertices, if both vertices are not on the same surface of the Trisoup node, they can be excluded from the calculation.

図12Aの例では、0番目及び1番目の頂点は、同一表面上に存在している。同様に、2番目及び0番目の頂点も、同一表面上に存在している。一方、1番目及び2番目の頂点は、同一表面上に無いため、この2点を結ぶ直線については計算の対象外とできる。 In the example of Figure 12A, the 0th and 1st vertices are on the same surface. Similarly, the 2nd and 0th vertices are on the same surface. On the other hand, the 1st and 2nd vertices are not on the same surface, so the line connecting these two points can be excluded from the calculation.

2頂点を同一表面上に限定した場合、2頂点を結ぶ直線の式は、2次元平面状の直線の式として表現できる。 When two vertices are limited to being on the same surface, the equation of the line connecting the two vertices can be expressed as the equation of a line on a two-dimensional plane.

例えば、0番目の頂点及び1番目の頂点は、それぞれz座標が同一であるため、2頂点を結ぶ直線はx-y平面上の直線としてy=ax+b(aとbは定数)の形で表せる。 For example, the 0th vertex and the 1st vertex have the same z coordinate, so the line connecting the two vertices can be expressed as a line on the x-y plane in the form y = ax + b (a and b are constants).

このx-y平面上において、最小Trisoupノードサイズに分割した場合のエッジはx=C×2(N-1)又はy=D×2(N-1)(C及びDは、それぞれ定数)の直線と見なせるので、上述の直線の式にx=C×2(N-1)又はy=D×2(N-1)を代入することで、交点を算出できる。 On this x-y plane, when divided into the minimum Trisoup node size, the edge can be regarded as a straight line of x = C x 2 (N-1) or y = D x 2 (N-1) (C and D are constants), so the intersection point can be calculated by substituting x = C x 2 (N-1) or y = D x 2 (N-1) into the equation for the straight line above.

以上のようにして算出した交点、及び、当該Trisoupノードサイズにおける頂点の両方を、内挿後の頂点とする。 The intersection calculated in the above manner and the vertex at the Trisoup node size are both considered to be the vertices after interpolation.

図12Bは、以上で説明した方法で生成した頂点の例を示している。 Figure 12B shows an example of a vertex generated using the method described above.

以上のように、近似表面合成部2030は、ノードサイズが最小ノードサイズではない場合、当該ノード頂点のうち2点を結ぶ直線と、当該ノードを前記最小ノードサイズで分割した際の辺との交点を、最小ノードサイズにおける頂点位置とするように構成されていてもよい。 As described above, when the node size is not the minimum node size, the approximate surface synthesis unit 2030 may be configured to determine the intersection of a straight line connecting two of the node vertices with a side when the node is divided by the minimum node size as the vertex position at the minimum node size.

このような構成とすることで、2本の直線の交点は、数学的に一意に算出可能であるため、頂点位置を正確に算出することが可能となる。 By configuring it in this way, the intersection point of the two lines can be mathematically calculated uniquely, making it possible to accurately calculate the vertex position.

以上のように頂点の生成が完了した後、ステップS1001へ進む。 After vertex generation is complete, proceed to step S1001.

図13は、ステップS1002で使用する頂点の復号処理の一例を示すフローチャートである。 Figure 13 is a flowchart showing an example of the vertex decoding process used in step S1002.

図13に示すように、ステップS1301において、近似表面合成部2030は、全てのtrisoup_depthでの処理が完了したかどうかを判定する。 As shown in FIG. 13, in step S1301, the approximate surface synthesis unit 2030 determines whether processing has been completed for all trisoup_depths.

全てのtrisoup_depthについて処理が完了した場合、ステップS1305へ進み、処理を終了する。全てのtrisoup_depthの処理が完了していない場合、ステップS1302へ進む。 If processing has been completed for all trisoup_depths, proceed to step S1305 and end processing. If processing has not been completed for all trisoup_depths, proceed to step S1302.

ステップS1302において、近似表面合成部2030は、対象Trisoup階層に属するユニークセグメント数を確認する。 In step S1302, the approximate surface synthesis unit 2030 checks the number of unique segments belonging to the target Trisoup hierarchy.

ユニークセグメント数が「0」の場合、すなわち、対象Trisoup階層にはTrisoupノードが1つも含まれない場合は、近似表面合成部2030は、ステップS1301へ進み、次のTrisoup階層の処理へ移る。 If the number of unique segments is "0", i.e., if the target Trisoup hierarchy does not contain any Trisoup nodes, the approximate surface synthesis unit 2030 proceeds to step S1301 and moves on to processing the next Trisoup hierarchy.

ユニークセグメント数が「0」より大きい場合は、近似表面合成部2030は、ステップS1303へ移る。 If the number of unique segments is greater than "0", the approximate surface synthesis unit 2030 proceeds to step S1303.

ステップS1303において、近似表面合成部2030は、各ユニークセグメントに対してTrisoup処理に用いる頂点が含まれるか否かを復号する。 In step S1303, the approximate surface synthesis unit 2030 decodes whether each unique segment contains a vertex to be used in the Trisoup process.

なお、各ユニークセグメントに対して存在できる頂点は、1点のみに制限してもよい。この場合、頂点が存在するユニークセグメント数が頂点数と等しいと解釈できる。 The number of vertices that can exist for each unique segment may be limited to one. In this case, the number of unique segments in which a vertex exists can be interpreted as being equal to the number of vertices.

近似表面合成部2030は、対象Trisoup階層の全てのユニークセグメントについて頂点の有無を復号した後、ステップS1304へ移る。 After the approximate surface synthesis unit 2030 decodes the presence or absence of vertices for all unique segments in the target Trisoup hierarchy, it proceeds to step S1304.

ステップS1304において、近似表面合成部2030は、ステップS1303において頂点が存在すると判定された各ユニークセグメントに対して、各ユニークセグメント上のどこに頂点が存在するのかという位置情報を復号する。 In step S1304, the approximate surface synthesis unit 2030 decodes position information indicating where on each unique segment the vertex is located for each unique segment in which it was determined in step S1303 that a vertex exists.

図14は、ステップS1304の処理の一例を示すフローチャートである。 Figure 14 is a flowchart showing an example of the processing of step S1304.

図14に示すように、ステップS1401において、近似表面合成部2030は、全てのセグメントについて処理が終了したかどうかを判定する。 As shown in FIG. 14, in step S1401, the approximate surface synthesis unit 2030 determines whether processing has been completed for all segments.

全てのセグメントについて処理が終了した場合、ステップS1406へ進み処理を終了する。全てのセグメントについて処理が終了していない場合、ステップS1402へ進む。 If processing has been completed for all segments, proceed to step S1406 and end processing. If processing has not been completed for all segments, proceed to step S1402.

ステップS1402では、近似表面合成部2030は、当該セグメントの方向を取得する。具体的には、近似表面合成部2030は、当該セグメントがx軸、y軸、z軸方向のいずれの方向なのかを取得する。 In step S1402, the approximate surface synthesis unit 2030 acquires the direction of the segment. Specifically, the approximate surface synthesis unit 2030 acquires whether the segment is oriented in the x-axis, y-axis, or z-axis direction.

かかる情報は、例えば、予め復号対象のノードに属するエッジ(=セグメント)に所定の順序でIndexを与えるとともに当該セグメントの方向を記録しておき、本処理では、Index順に各セグメントを処理することで、前記の記録から当該セグメントの方向を判定することができる。 For example, such information is obtained by assigning indices to edges (= segments) belonging to the node to be decoded in a predetermined order and recording the direction of the segments. In this process, each segment is processed in index order, and the direction of the segment can be determined from the record.

また、別の方法としては、近似表面合成部2030は、セグメントごとに始点の座標と終点の座標の情報を保持しておくことで、どの軸方向に沿った頂点であるかを判別できる。以上のように当該セグメントの方向を取得した後、ステップS1403へ進む。 As another method, the approximate surface synthesis unit 2030 can determine which axis direction a vertex lies along by storing information on the coordinates of the start point and the coordinates of the end point for each segment. After obtaining the direction of the segment in this manner, the process proceeds to step S1403.

ステップS1403では、近似表面合成部2030は、当該セグメントのサイズを取得する。 In step S1403, the approximate surface synthesis unit 2030 obtains the size of the segment.

当該セグメントのサイズは、対象のOctreeのDepthにおけるノードサイズに対応する。 The size of the segment corresponds to the node size at the depth of the target Octree.

Octreeのみを用いる場合はx軸、y軸、z軸方向すべてについて同一のサイズとなる。一方、QtBtを用いる場合はx軸、y軸、z軸方向それぞれについて値が異なる可能性がある。 When using only Octree, the size will be the same in the x, y, and z directions. On the other hand, when using QtBt, the values may be different in the x, y, and z directions.

近似表面合成部2030は、当該Depthにおけるx軸、y軸、z軸方向それぞれのノードサイズと、ステップS1402で取得した当該セグメントの方向とに基づいて、当該セグメントのサイズを取得する。 The approximate surface synthesis unit 2030 obtains the size of the segment based on the node sizes in the x-axis, y-axis, and z-axis directions at the depth and the direction of the segment obtained in step S1402.

また、近似表面合成部2030は、別の方法としては、セグメントごとに始点の座標と終点の座標の情報を保持している場合、終点の座標値から始点の座標値を減算することで、当該セグメントのサイズを取得できる。 As an alternative method, if the approximate surface synthesis unit 2030 holds information on the coordinates of the start point and the end point for each segment, it can obtain the size of the segment by subtracting the coordinate value of the start point from the coordinate value of the end point.

当該セグメントのサイズ取得後、近似表面合成部2030は、ステップS1404へ進む。 After obtaining the size of the segment, the approximate surface synthesis unit 2030 proceeds to step S1404.

ステップS1404では、近似表面合成部2030は、ステップS1403で取得した当該セグメントのサイズを、これから復号する頂点のPositionの取り得る最大値としてセットする。その後、ステップS1405へ進む。 In step S1404, the approximate surface synthesis unit 2030 sets the size of the segment acquired in step S1403 as the maximum possible value for the Position of the vertex to be decoded. Then, the process proceeds to step S1405.

ステップS1405では、近似表面合成部2030は、Positionの取り得る値の範囲を0~“S1404でセットした最大値”―1と設定したうえで、Positionを復号する。 In step S1405, the approximate surface synthesis unit 2030 sets the range of possible values for Position to 0 to "the maximum value set in S1404" - 1, and then decodes Position.

例えば、近似表面合成部2030は、最大値が2の場合、最大値=2L-1と設定できる。この時、例えば、Positionは、Lビットの等長符号で符号化されていてもよい(点群復号装置200としては、このように符号化されている前提で復号してもよい)。 For example, when the maximum value is 2 L , the approximate surface synthesis unit 2030 can set the maximum value to 2 L−1 . At this time, for example, Position may be encoded with an L-bit equal-length code (the point cloud decoding device 200 may decode on the premise that it is encoded in this way).

また、近似表面合成部2030は、Positionの取り得る値の範囲を0~2L-1とした上で、ハフマン符号化や算術符号化等を用いて、エントロピー符号化/復号してもよい。近似表面合成部2030は、Positionの復号後、ステップS1401へ進む。 Furthermore, the approximate surface synthesis unit 2030 may set the range of possible values of Position to 0 to 2 L−1 , and then perform entropy coding/decoding using Huffman coding, arithmetic coding, etc. After decoding Position, the approximate surface synthesis unit 2030 proceeds to step S1401.

以上のように、近似表面合成部2030は、Trisoupの頂点位置の復号に際し、ノード形状に応じてセグメントごとに頂点位置の取り得る値の範囲を設定し、かかる頂点位置の取り得る値の範囲に基づいて頂点位置を復号するように構成されていてもよい。 As described above, when decoding the vertex positions of Trisoup, the approximate surface synthesis unit 2030 may be configured to set a range of possible values for the vertex positions for each segment according to the node shape, and to decode the vertex positions based on the range of possible values for the vertex positions.

また、近似表面合成部2030は、以上のように、ノードからセグメントを生成する際の各セグメントの軸方向と、ノード形状とに基づいて、頂点位置の取り得る値の範囲を設定するように構成されていてもよい。 The approximate surface synthesis unit 2030 may also be configured to set the range of possible values for the vertex positions based on the axis direction of each segment when generating segments from nodes and the node shape, as described above.

また、近似表面合成部2030は、以上のように、各セグメントの始点座標と終点座標とに基づいて、頂点位置の取り得る値の範囲を設定するように構成されていてもよい。 The approximate surface synthesis unit 2030 may also be configured to set the range of possible values for the vertex positions based on the start and end coordinates of each segment, as described above.

このような構成とすることで、ノードサイズが立方体ではなく直方体の場合にもTrisoupが適用できるようになり、符号化効率の改善が見込める。 This configuration makes it possible to apply Trisoup even when the node size is a rectangular prism rather than a cube, which is expected to improve coding efficiency.

(点群符号化装置100)
以下、図15を参照して、本実施形態に係る点群符号化装置100について説明する。図15は、本実施形態に係る点群符号化装置100の機能ブロックの一例について示す図である。
(Point cloud encoding device 100)
Hereinafter, the point cloud encoding device 100 according to this embodiment will be described with reference to Fig. 15. Fig. 15 is a diagram showing an example of functional blocks of the point cloud encoding device 100 according to this embodiment.

図15に示すように、点群符号化装置100は、座標変換部1010と、幾何情報量子化部1020と、ツリー解析部1030と、近似表面解析部1040と、幾何情報符号化部1050と、幾何情報再構成部1060と、色変換部1070と、属性転移部1080と、RAHT部1090と、LoD算出部1100と、リフティング部1110と、属性情報量子化部1120と、属性情報符号化部1130とを有する。 As shown in FIG. 15, the point cloud encoding device 100 has 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, a geometric information reconstruction unit 1060, a color conversion unit 1070, an attribute transfer unit 1080, a RAHT unit 1090, an LoD calculation unit 1100, a lifting unit 1110, an attribute information quantization unit 1120, and an attribute information encoding unit 1130.

座標変換部1010は、入力点群の3次元座標系から、任意の異なる座標系への変換処理を行うよう構成されている。座標変換は、例えば、入力点群を回転することにより、入力点群のx、y、z座標を任意のs、t、u座標に変換してもよい。また、変換のバリエーションの1つとして、入力点群の座標系をそのまま使用してもよい。 The coordinate conversion unit 1010 is configured to perform a conversion process from the three-dimensional coordinate system of the input point cloud to any different coordinate system. The coordinate conversion may, for example, convert the x, y, and z coordinates of the input point cloud into any s, t, and u coordinates by rotating the input point cloud. In addition, as one variation of the conversion, the coordinate system of the input point cloud may be used as 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 and the position information after quantization match. In other words, 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 position information of the quantized point group as input, and generate an occurrence code that indicates at which node in the encoding target space the point exists, based on the tree structure described below.

ツリー解析部1030は、本処理において、符号化対象空間を再帰的に直方体で区切ることにより、ツリー構造を生成するように構成されている。 In this process, the tree analysis unit 1030 is configured to generate a tree structure by recursively dividing the encoding target space into rectangular parallelepipeds.

ここで、ある直方体内に点が存在する場合、かかる直方体を複数の直方体に分割する処理を、直方体が所定のサイズになるまで再帰的に実行することでツリー構造を生成することができる。なお、かかる各直方体をノードと呼ぶ。また、ノードを分割して生成される各直方体を子ノードと呼び、子ノード内に点が含まれるか否かについて0又は1で表現したものがoccupancy codeである。 If a point exists within a certain rectangular parallelepiped, a tree structure can be generated by recursively dividing the rectangular parallelepiped into multiple rectangular parallelepipeds until the rectangular parallelepiped reaches a specified size. Each such rectangular parallelepiped is called a node. Each rectangular parallelepiped generated by dividing a node is called a child node, and the occurrence code is expressed as 0 or 1 to indicate whether or not a point is contained within a child node.

以上のように、ツリー解析部1030は、所定のサイズになるまでノードを再帰的に分割しながら、occupancy codeを生成するように構成されている。 As described above, the tree analysis unit 1030 is configured to generate an occupancy code while recursively splitting the node until it reaches a predetermined size.

本実施形態では、上述の直方体を常に立方体として8分木分割を再帰的に行う「Octree」と呼ばれる手法、及び、8分木分割に加え、4分木分割及び2分木分割を行う「QtBt」と呼ばれる手法を使用することができる。 In this embodiment, a method called "Octree" can be used, which recursively performs octree division on the above-mentioned rectangular parallelepiped, always treating it as a cube, and a method called "QtBt" can be used, which performs quadtree division and binary tree division in addition to octree division.

ここで、「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, predictive coding using an arbitrary tree structure may be specified. In such a 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 using the procedure described in FIG. 6.

近似表面解析部1040は、ツリー解析部1030によって生成されたツリー情報を用いて、近似表面情報を生成するように構成されている。 The approximate surface analysis unit 1040 is configured to generate approximate surface information using the tree information generated by the tree analysis unit 1030.

近似表面情報は、例えば、物体の3次元点群データを復号する際等において、点群が物体表面に密に分布しているような場合に、個々の点群を復号するのではなく、点群の存在領域を小さな平面で近似して表現したものである。 When decoding three-dimensional point cloud data of an object, for example, if the points are densely distributed on the object's surface, approximate surface information is used to represent the area in which the points exist by approximating the area using a small plane, rather than decoding each point individually.

具体的には、近似表面解析部1040は、例えば、「Trisoup」と呼ばれる手法で、近似表面情報を生成するように構成されていてもよい。また、Lidar等で取得した疎な点群を復号する場合は、本処理を省略することができる。 Specifically, the approximate surface analysis unit 1040 may be configured to generate approximate surface information using, for example, a method called "Trisoup." In addition, when decoding a sparse point cloud acquired by Lidar or the like, this process can be omitted.

幾何情報符号化部1050は、ツリー解析部1030によって生成されたoccupancy code及び近似表面解析部1040によって生成された近似表面情報等のシンタックスを符号化してビットストリーム(幾何情報ビットストリーム)を生成するように構成されている。ここで、ビットストリームには、例えば、図4及び図5で説明したシンタックスを含まれていてもよい。 The geometric information encoding unit 1050 is configured to generate a bit stream (geometric information bit stream) by encoding 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. Here, the bit stream may include, for example, the syntax described in Figures 4 and 5.

符号化処理は、例えば、コンテクスト適応二値算術符号化処理である。ここで、例えば、シンタックスは、位置情報の復号処理を制御するための制御データ(フラグやパラメータ)を含む。 The encoding process is, for example, a context-adaptive binary arithmetic encoding process. Here, for example, the syntax includes control data (flags and parameters) for controlling the decoding process of the position information.

幾何情報再構成部1060は、ツリー解析部1030によって生成されたツリー情報及び近似表面解析部1040によって生成された近似表面情報に基づいて、符号化対象の点群データの各点の幾何情報(符号化処理が仮定している座標系、すなわち、座標変換部1010における座標変換後の位置情報)を再構成するように構成されている。 The geometric information reconstruction unit 1060 is configured to reconstruct the geometric information of each point of the point cloud data to be encoded (the coordinate system assumed by the encoding process, i.e., the position information after the coordinate transformation in the coordinate transformation unit 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.

色変換部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 have to be performed, and whether or not the color conversion process is performed is coded as part of the control data and transmitted to the point cloud decoding device 200.

属性転移部1080は、入力点群の位置情報、幾何情報再構成部1060における再構成後の点群の位置情報及び色変換部1070での色変化後の属性情報に基づいて、属性情報の歪みが最小となるように属性値を補正するように構成されている。 The attribute transfer unit 1080 is configured to correct the attribute values based on the position information of the input point cloud, the position information of the point cloud after reconstruction in the geometric information reconstruction unit 1060, and the attribute information after color change in the color conversion unit 1070, so as to minimize distortion of the attribute information.

RAHT部1090は、属性転移部1080による転移後の属性情報及び幾何情報再構成部1060によって生成された幾何情報を入力とし、RAHT(Region Adaptive Hierarchical Transform)と呼ばれるHaar変換の一種を用いて、各点の残差情報を生成するように構成されている。RAHTの具体的な処理としては、例えば、上述の文献2に記載の方法を用いることができる。 The RAHT unit 1090 is configured to receive the attribute information transferred by the attribute transfer unit 1080 and the geometric information generated by the geometric information reconstruction unit 1060 as input, and to generate residual information for each point using a type of Haar transform called RAHT (Region Adaptive Hierarchical Transform). As a specific example of the RAHT process, the method described in the above-mentioned literature 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 as input and generate the LoD (Level of Detail).

LoDは、ある点の属性情報から、他のある点の属性情報を予測し、予測残差を符号化或いは復号するといった予測符号化を実現するための参照関係(参照する点及び参照される点)を定義するための情報である。 LoD is information for defining a reference relationship (a referencing point and a referenced point) to realize predictive coding, such as predicting attribute information of a certain point from attribute information of another point and encoding or decoding the prediction residual.

言い換えると、LoDは、幾何情報に含まれる各点を複数のレベルに分類し、下位のレベルに属する点については上位のレベルに属する点の属性情報を用いて属性を符号化或いは復号するといった階層構造を定義した情報である。 In other words, LoD is information that defines a hierarchical structure in which each point contained in the geometric information is classified into multiple levels, and the attributes of points belonging to lower levels are encoded or decoded using attribute information of points belonging to higher levels.

LoDの具体的な決定方法としては、例えば、上述の文献2に記載の方法を用いてもよい。 As a specific method for determining LoD, for example, the method described in the above-mentioned literature 2 may be used.

リフティング部1110は、LoD算出部1100によって生成されたLoD及び属性転移部1080での属性転移後の属性情報を用いて、リフティング処理により残差情報を生成するように構成されている。 The lifting unit 1110 is configured to generate residual information by a lifting process using the LoD generated by the LoD calculation unit 1100 and the attribute information after attribute transfer in the attribute transfer unit 1080.

リフティングの具体的な処理としては、例えば、文献(Text of ISO/IEC 23090-9 DIS Geometry-based PCC、ISO/IEC JTC1/SC29/WG11 N19088)に記載の方法を用いてもよい。 Specific lifting processing may be, for example, the method described in the literature (Text of ISO/IEC 23090-9 DIS Geometry-based PCC, ISO/IEC JTC1/SC29/WG11 N19088).

属性情報量子化部1120は、RAHT部1090又はリフティング部1110から出力される残差情報を量子化するように構成されている。ここで、量子化ステップサイズが1の場合は、量子化を行わない場合と等価である。 The attribute information quantization unit 1120 is configured to quantize the residual information output from the RAHT unit 1090 or the lifting unit 1110. Here, a quantization step size of 1 is equivalent to no quantization being performed.

属性情報符号化部1130は、属性情報量子化部1120から出力される量子化後の残差情報等をシンタックスとして符号化処理を行い、属性情報に関するビットストリーム(属性情報ビットストリーム)を生成するように構成されている。 The attribute information encoding unit 1130 is configured to perform encoding processing using the quantized residual information, etc. output from the attribute information quantization unit 1120 as syntax, and generate a bit stream related to the attribute information (attribute information bit stream).

符号化処理は、例えば、コンテクスト適応二値算術符号化処理である。ここで、例えば、シンタックスは、属性情報の復号処理を制御するための制御データ(フラグ及びパラメータ)を含む。 The encoding process is, for example, a context-adaptive binary arithmetic encoding process. Here, for example, the syntax includes control data (flags and parameters) for controlling the decoding process of the attribute information.

点群符号化装置100は、以上の処理により、点群内の各点の位置情報及び属性情報を入力として符号化処理を行い、幾何情報ビットストリーム及び属性情報ビットストリームを出力するように構成されている。 The point cloud encoding device 100 is configured to perform encoding processing using the position information and attribute information of each point in the point cloud as input, and to output a geometric information bit stream and an attribute information bit stream through the above processing.

また、上述の点群符号化装置100及び点群復号装置200は、コンピュータに各機能(各工程)を実行させるプログラムであって実現されていてもよい。 Furthermore, the above-mentioned point cloud encoding device 100 and point cloud decoding device 200 may be realized as a program that causes a computer to execute each function (each process).

なお、上記の各実施形態では、本発明を点群符号化装置100及び点群復号装置200への適用を例にして説明したが、本発明は、かかる例のみに限定されるものではなく、点群符号化装置100及び点群復号装置200の各機能を備えた点群符号化/復号システムにも同様に適用できる。 In each of the above embodiments, the present invention has been described using the point cloud encoding device 100 and the point cloud decoding device 200 as examples, but the present invention is not limited to such examples and can be similarly applied to a point cloud encoding/decoding system having the functions of the point cloud encoding device 100 and the point cloud decoding device 200.

なお、本実施形態によれば、例えば、動画像通信において総合的なサービス品質の向上を実現できることから、国連が主導する持続可能な開発目標(SDGs)の目標9「レジリエントなインフラを整備し、持続可能な産業化を推進するとともに、イノベーションの拡大を図る」に貢献することが可能となる。 In addition, according to this embodiment, for example, it is possible to realize an improvement in the overall service quality in video communication, which makes it possible to contribute to Goal 9 of the Sustainable Development Goals (SDGs) led by the United Nations, which is to "build resilient infrastructure, promote sustainable industrialization and foster innovation."

10…点群処理システム
100…点群符号化装置
1010…座標変換部
1020…幾何情報量子化部
1030…ツリー解析部
1040…近似表面解析部
1050…幾何情報符号化部
1060…幾何情報再構成部
1070…色変換部
1080…属性転移部
1090…RAHT部
1100…LoD算出部
1110…リフティング部
1120…属性情報量子化部
1130…属性情報符号化部
200…点群復号装置
2010…幾何情報復号部
2020…ツリー合成部
2030…近似表面合成部
2040…幾何情報再構成部
2050…逆座標変換部
2060…属性情報復号部
2070…逆量子化部
2080…RAHT部
2090…LoD算出部
2100…逆リフティング部
2110…逆色変換部
10... Point cloud processing system 100... Point cloud 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 200...point cloud decoding device 2010...geometric 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 transformation unit

Claims (6)

点群復号装置であって、
近似表面合成部を備え、
前記近似表面合成部は、
制御データから復号した最大ノードサイズ及び最小ノードサイズに基づいて、最大と最小との間の各ノードサイズにおいて頂点の復号処理を実行し、
前記ノードサイズが前記最小ノードサイズではない場合、復号した前記頂点に基づいて、前記最小ノードサイズにおける頂点位置を生成し、
ある辺上に、前記ある辺に隣接する異なるノードサイズのノードから生成された複数の頂点が存在する場合、前記隣接する異なるノードのうち、最も大きなノードサイズを持つノードによって生成された頂点を、前記ある辺の前記頂点位置とするように構成されていることを特徴とする点群復号装置。
A point cloud decoding device, comprising:
An approximate surface synthesis unit is provided,
The approximate surface synthesis unit includes:
Based on the maximum node size and the minimum node size decoded from the control data, a decode process is performed for the vertices at each node size between the maximum and minimum;
if the node size is not the minimum node size, generating vertex positions at the minimum node size based on the decoded vertices;
A point cloud decoding device characterized in that, when there are multiple vertices on a certain edge generated from nodes of different node sizes adjacent to the certain edge, the vertex generated by the node with the largest node size among the different adjacent nodes is configured to be the vertex position of the certain edge.
前記近似表面合成部は、前記最小ノードサイズにおける前記頂点位置を生成する際、前記ノードの表面のみに頂点を生成するように構成されていることを特徴とする請求項1に記載の点群復号装置。 The point cloud decoding device according to claim 1, characterized in that the approximate surface synthesis unit is configured to generate vertices only on the surface of the node when generating the vertex positions for the minimum node size. 前記近似表面合成部は、前記ノードサイズが前記最小ノードサイズではない場合、復号対象のノードの復号点群内の点のうち、前記復号対象のノードを前記最小ノードサイズで分割した際の辺上の点を、前記最小ノードサイズにおける前記頂点位置とするように構成されていることを特徴とする請求項1又は2に記載の点群復号装置。 The point cloud decoding device according to claim 1 or 2, characterized in that, when the node size is not the minimum node size, the approximate surface synthesis unit is configured to set, among the points in the decoded point cloud of the node to be decoded, the points on the edges when the node to be decoded is divided by the minimum node size, as the vertex positions at the minimum node size. 前記近似表面合成部は、前記ノードサイズが前記最小ノードサイズではない場合、復号対象のノードの頂点のうち2点を結ぶ直線と前記復号対象のノードを前記最小ノードサイズで分割した際の辺との交点を、前記最小ノードサイズにおける前記頂点位置とするように構成されていることを特徴とする請求項1又は2に記載の点群復号装置。 The point cloud decoding device according to claim 1 or 2, characterized in that, when the node size is not the minimum node size, the approximate surface synthesis unit is configured to determine the intersection of a straight line connecting two of the vertices of the node to be decoded and an edge obtained by dividing the node to be decoded by the minimum node size as the vertex position at the minimum node size. 点群復号方法であって、
制御データから復号した最大ノードサイズ及び最小ノードサイズに基づいて、最大と最小との間の各ノードサイズにおいて頂点の復号処理を実行する工程と、
前記ノードサイズが前記最小ノードサイズではない場合、復号した前記頂点に基づいて、前記最小ノードサイズにおける頂点位置を生成する工程と、
ある辺上に、前記ある辺に隣接する異なるノードサイズのノードから生成された複数の頂点が存在する場合、前記隣接する異なるノードのうち、最も大きなノードサイズを持つノードによって生成された頂点を、前記ある辺の前記頂点位置とする工程とを有することを特徴とする点群復号方法。
1. A point cloud decoding method, comprising:
performing a decoding process for vertices at each node size between the maximum and minimum based on the maximum and minimum node sizes decoded from the control data;
if the node size is not the minimum node size, generating a vertex position at the minimum node size based on the decoded vertex;
A point cloud decoding method characterized by comprising a step of, when there are multiple vertices on a certain edge generated from nodes of different node sizes adjacent to the certain edge, setting the vertex generated by the node with the largest node size among the different adjacent nodes as the vertex position of the certain edge.
コンピュータを、点群復号装置として機能させるプログラムであって、
前記点群復号装置は、
近似表面合成部を備え、
前記近似表面合成部は、
制御データから復号した最大ノードサイズ及び最小ノードサイズに基づいて、最大と最小との間の各ノードサイズにおいて頂点の復号処理を実行し、
前記ノードサイズが前記最小ノードサイズではない場合、復号した前記頂点に基づいて、前記最小ノードサイズにおける頂点位置を生成し、
ある辺上に、前記ある辺に隣接する異なるノードサイズのノードから生成された複数の頂点が存在する場合、前記隣接する異なるノードのうち、最も大きなノードサイズを持つノードによって生成された頂点を、前記ある辺の前記頂点位置とするように構成されていることを特徴とするプログラム。
A program for causing a computer to function as a point group decoding device,
The point group decoding device comprises:
An approximate surface synthesis unit is provided,
The approximate surface synthesis unit includes:
Based on the maximum node size and the minimum node size decoded from the control data, a decode process is performed for the vertices at each node size between the maximum and minimum;
if the node size is not the minimum node size, generating vertex positions at the minimum node size based on the decoded vertices;
A program characterized by being configured such that, when there are multiple vertices on a certain edge generated from nodes of different node sizes adjacent to the certain edge, the vertex generated by the node with the largest node size among the different adjacent nodes is set as the vertex position of the certain edge.
JP2022110163A 2022-07-08 2022-07-08 Point group decoding device, point group decoding method and program Active JP7680398B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2022110163A JP7680398B2 (en) 2022-07-08 2022-07-08 Point group decoding device, point group decoding method and program
PCT/JP2023/008642 WO2024009562A1 (en) 2022-07-08 2023-03-07 Point cloud decoding device, point cloud decoding method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2022110163A JP7680398B2 (en) 2022-07-08 2022-07-08 Point group decoding device, point group decoding method and program

Publications (2)

Publication Number Publication Date
JP2024008354A JP2024008354A (en) 2024-01-19
JP7680398B2 true JP7680398B2 (en) 2025-05-20

Family

ID=89452974

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022110163A Active JP7680398B2 (en) 2022-07-08 2022-07-08 Point group decoding device, point group decoding method and program

Country Status (2)

Country Link
JP (1) JP7680398B2 (en)
WO (1) WO2024009562A1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP4345752B1 (en) * 2022-09-28 2026-04-08 Beijing Xiaomi Mobile Software Co., Ltd. Encoding/decoding positions of points of a point cloud comprised in cuboid volumes

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021065536A1 (en) 2019-10-01 2021-04-08 ソニー株式会社 Information processing device and method
WO2021261142A1 (en) 2020-06-22 2021-12-30 Kddi株式会社 Point group decoding device, point group decoding method, and program
WO2022138046A1 (en) 2020-12-25 2022-06-30 Kddi株式会社 Point cloud decoding device, point cloud decoding method, and program

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021065536A1 (en) 2019-10-01 2021-04-08 ソニー株式会社 Information processing device and method
WO2021261142A1 (en) 2020-06-22 2021-12-30 Kddi株式会社 Point group decoding device, point group decoding method, and program
WO2022138046A1 (en) 2020-12-25 2022-06-30 Kddi株式会社 Point cloud decoding device, point cloud decoding method, and program

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
Antoine Dricot, and Joao Ascenso,Adaptive Multi-level Triangle Soup for Geometrybased Point Cloud Coding,2019 IEEE 21st International Workshop on Multimedia Signal Processing (MMSP),IEEE,2019年09月,pp.1-6
Chaofei Wang, et al.,Point-Voting based Point Cloud Geometry Compression,2021 IEEE 23rd International Workshop on Multimedia Signal Processing (MMSP),IEEE,2021年10月,pp.1-5
Khaled Mammou, Philip A. Chou, David Flynn, Maja Krivokuca, Ohji Nakagami and Toshiyasu Sugio,G-PCC codec description v2,CODING OF MOVING PICTURES AND AUDIO,INTERNATIONAL ORGANISATION FOR STANDARDISATION,2019年01月,pp.2-3,17-19
Part 9: Geometry-based Point Cloud Compression,Information technolo gy - MPEG-I (Coded Representation of Immersive Media) -,ISO/IEC DIS 23090-9,ISO,2020年,pp.54-63

Also Published As

Publication number Publication date
WO2024009562A1 (en) 2024-01-11
JP2024008354A (en) 2024-01-19

Similar Documents

Publication Publication Date Title
CN113615181B (en) Methods and devices for point cloud encoding and decoding
JP2022535487A (en) Method and apparatus for point cloud compression, and computer program
CN113826029B (en) Point cloud information encoding method, device, computer equipment and storage medium
JP7651760B2 (en) Point group decoding device, point group decoding method and program
CN113632142A (en) Method and device for point cloud compression
CN113315977B (en) Method and device for decoding point cloud information
CN113179411A (en) Point cloud attribute coding and decoding method and device, computer equipment and storage medium
JP7680398B2 (en) Point group decoding device, point group decoding method and program
JP7573554B2 (en) Point group decoding device, point group decoding method and program
WO2024214442A1 (en) Point cloud decoding device, point cloud decoding method, and program
JP7573555B2 (en) Point group decoding device, point group decoding method and program
JP7557436B2 (en) Point group decoding device, point group decoding method and program
JP7773959B2 (en) Point group decoding device, point group decoding method and program
JP7773960B2 (en) Point group decoding device, point group decoding method and program
WO2024009561A1 (en) Point cloud decoding device, point cloud decoding method, and program
WO2024009675A1 (en) Point cloud decoding device, point cloud decoding method, and program
JP2024008355A (en) Point cloud decoding device, point cloud decoding method and program
JP7842682B2 (en) Point cloud decoding device, point cloud decoding method, and program
JP7812781B2 (en) Point group decoding device, point group decoding method and program
JP2023053827A (en) Point group decoding device, point group decoding method and program
JP7829505B2 (en) Point cloud decoding device, point cloud decoding method, and program
JP7573553B2 (en) Point group decoding device, point group decoding method and program
JP2024152411A (en) Point group decoding device, point group decoding method and program
HK40047927A (en) Point cloud attribute encoding an decoding method, device, computer equipment and storage medium
HK40064136A (en) Method and device for point cloud encoding and decoding

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220729

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20240716

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20250422

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20250508

R150 Certificate of patent or registration of utility model

Ref document number: 7680398

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150