(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-02-25
(45)【発行日】2025-03-05
(54)【発明の名称】情報処理装置および方法
(51)【国際特許分類】
G06T 9/40 20060101AFI20250226BHJP
【FI】
G06T9/40
(21)【出願番号】P 2022533829
(86)(22)【出願日】2021-06-16
(86)【国際出願番号】 JP2021022800
(87)【国際公開番号】W WO2022004377
(87)【国際公開日】2022-01-06
【審査請求日】2024-04-24
(31)【優先権主張番号】P 2020112453
(32)【優先日】2020-06-30
(33)【優先権主張国・地域又は機関】JP
(73)【特許権者】
【識別番号】000002185
【氏名又は名称】ソニーグループ株式会社
(74)【代理人】
【識別番号】100121131
【氏名又は名称】西川 孝
(74)【代理人】
【氏名又は名称】稲本 義雄
(74)【代理人】
【識別番号】100168686
【氏名又は名称】三浦 勇介
(72)【発明者】
【氏名】隈 智
(72)【発明者】
【氏名】安田 弘幸
(72)【発明者】
【氏名】中神 央二
【審査官】田中 純一
(56)【参考文献】
【文献】国際公開第2019/240286(WO,A1)
【文献】国際公開第2019/069711(WO,A1)
【文献】特表2000-509150(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 9/00 - 9/40
H04N 7/12
H04N 19/00 - 19/98
(57)【特許請求の範囲】
【請求項1】
3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドの前記ポイントを分類したグループにより階層化された、前記ポイントクラウドの符号化におけるジオメトリデータの参照構造を形成する参照構造形成部と、
前記参照構造形成部により形成された前記参照構造に基づいて、各ポイントについて前記ジオメトリデータの予測値を導出し、前記ジオメトリデータと前記予測値との差分である予測残差を導出する予測残差導出部と、
前記予測残差導出部により導出された各ポイントの前記ジオメトリデータの前記予測残差を符号化する符号化部と
を備える情報処理装置。
【請求項2】
前記参照構造形成部は、
前記ポイントのグループ分けを行うグループ分け処理部と、
前記ポイントを前記グループ毎に並び替える並び替え部と、
前記並び替え部により並び替えられた順に各ポイントの前記ジオメトリデータの参照先を設定することにより、前記グループにより階層化された前記参照構造を形成するグループ階層化参照構造形成部と
を備える請求項1に記載の情報処理装置。
【請求項3】
前記グループ分け処理部は、前記ポイントの位置に応じて前記ポイントのグループ分けを行う
請求項2に記載の情報処理装置。
【請求項4】
前記グループ分け処理部は、前記ポイントクラウドにおける前記ポイントの特徴に応じて前記ポイントのグループ分けを行う
請求項2に記載の情報処理装置。
【請求項5】
前記参照構造形成部は、
各ポイントについて、前記参照構造における前記グループによる階層であるグループ階層を示すレイヤ情報を生成するレイヤ情報生成部をさらに備え、
前記符号化部は、前記レイヤ情報生成部により生成された前記レイヤ情報をさらに符号化する
請求項2に記載の情報処理装置。
【請求項6】
前記レイヤ情報生成部は、前記参照構造における処理対象ノードに属する各子ノードの前記グループ階層を前記処理対象ノードの前記グループ階層との相対値で示す前記レイヤ情報を生成する
請求項5に記載の情報処理装置。
【請求項7】
前記レイヤ情報生成部は、前記参照構造における処理対象ノードの前記グループ階層を、前記処理対象ノードが属する親ノードの前記グループ階層との相対値で示す前記レイヤ情報を生成する
請求項5に記載の情報処理装置。
【請求項8】
前記符号化部は、前記予測残差を、前記参照構造における前記グループによる階層であるグループ階層毎に設定された量子化ステップで量子化して符号化する
請求項1に記載の情報処理装置。
【請求項9】
前記符号化部は、前記量子化ステップを示す情報を符号化する
請求項8に記載の情報処理装置。
【請求項10】
前記符号化部は、前記予測残差を、前記参照構造における前記グループによる階層であるグループ階層毎に分けて算術符号化する
請求項1に記載の情報処理装置。
【請求項11】
前記符号化部は、前記予測残差を、前記参照構造における前記グループによる階層であるグループ階層毎に分けずに算術符号化する
請求項1に記載の情報処理装置。
【請求項12】
前記符号化部は、前記予測残差を符号化するかを、前記参照構造における前記グループによる階層であるグループ階層毎に選択し、符号化することを選択した前記グループ階層の前記予測残差を符号化する
請求項1に記載の情報処理装置。
【請求項13】
前記符号化部は、前記予測残差を符号化するかを前記参照構造の枝毎に選択し、符号化することを選択した前記枝の前記予測残差を符号化する
請求項1に記載の情報処理装置。
【請求項14】
前記予測残差導出部は、前記参照構造形成部により形成された前記参照構造に基づいて、各ポイントについて、アトリビュートデータの予測値をさらに導出し、前記アトリビュートデータと前記予測値との差分である予測残差をさらに導出し、
前記符号化部は、前記予測残差導出部により導出された各ポイントの前記アトリビュートデータの前記予測残差をさらに符号化する
請求項1に記載の情報処理装置。
【請求項15】
前記予測残差導出部は、前記参照構造における処理対象ノードが属する親ノードの前記アトリビュートデータ、前記親ノードの前記アトリビュートデータと前記親ノードの親ノードの前記アトリビュートデータとの平均、前記親ノードの前記アトリビュートデータと前記親ノードの親ノードの前記アトリビュートデータとの重み付き平均、または、前記処理対象ノードの近傍のノードの前記アトリビュートデータの平均を、前記処理対象ノードの前記アトリビュートデータの前記予測値とし、前記アトリビュートデータの前記予測残差を導出する
請求項14に記載の情報処理装置。
【請求項16】
前記予測残差導出部は、前記ジオメトリデータ若しくは前記アトリビュートデータ、またはその両方の前記予測残差が最小となる導出方法を適用し、前記導出方法により前記ジオメトリデータおよび前記アトリビュートデータの前記予測残差を導出する
請求項14に記載の情報処理装置。
【請求項17】
前記参照構造形成部は、さらに、前記ポイントクラウドの符号化におけるアトリビュートデータの参照構造を、前記ジオメトリデータの前記参照構造とは独立に形成し、
前記予測残差導出部は、前記参照構造形成部により形成された前記アトリビュートデータの前記参照構造に基づいて、各ポイントについて、前記アトリビュートデータの予測値をさらに導出し、前記アトリビュートデータと前記予測値との差分である予測残差をさらに導出し、
前記符号化部は、前記予測残差導出部により導出された各ポイントの前記アトリビュートデータの前記予測残差をさらに符号化する
請求項1に記載の情報処理装置。
【請求項18】
3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドの前記ポイントを分類したグループにより階層化された、前記ポイントクラウドの符号化におけるジオメトリデータの参照構造を形成し、
形成された前記参照構造に基づいて、各ポイントについて前記ジオメトリデータの予測値を導出し、前記ジオメトリデータと前記予測値との差分である予測残差を導出し、
導出された各ポイントの前記ジオメトリデータの前記予測残差を符号化する
情報処理方法。
【請求項19】
3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドの前記ポイントを分類したグループにより階層化された前記ポイントクラウドの符号化におけるジオメトリデータの参照構造における前記グループによる階層であるグループ階層を示すレイヤ情報に基づいて、前記参照構造に基づいて導出された各ポイントのジオメトリデータとその予測値との差分である予測残差が符号化された符号化データの内、所望の前記グループ階層に対応する符号化データを復号する復号部
を備える情報処理装置。
【請求項20】
3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドの前記ポイントを分類したグループにより階層化された前記ポイントクラウドの符号化におけるジオメトリデータの参照構造における前記グループによる階層であるグループ階層を示すレイヤ情報に基づいて、前記参照構造に基づいて導出された各ポイントのジオメトリデータとその予測値との差分である予測残差が符号化された符号化データの内、所望の前記グループ階層に対応する符号化データを復号する
情報処理方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、情報処理装置および方法に関し、特に、ポイントクラウドデータの情報量の制御をより容易に行うことができるようにした情報処理装置および方法に関する。
【背景技術】
【0002】
従来、例えばポイントクラウド(Point cloud)のような3次元構造を表す3Dデータの符号化方法が考えられた(例えば非特許文献1参照)。また、このポイントクラウドのジオメトリデータを符号化する際に、予測値との差分値(予測残差)を導出し、その予測残差を符号化する方法が考えられた(例えば非特許文献2参照)。
【先行技術文献】
【非特許文献】
【0003】
【文献】R. Mekuria, Student Member IEEE, K. Blom, P. Cesar., Member, IEEE, "Design, Implementation and Evaluation of a Point Cloud Codec for Tele-Immersive Video",tcsvt_paper_submitted_february.pdf
【文献】Zhenzhen Gao, David Flynn, Alexis Tourapis, and Khaled Mammou, "[G-PCC][New proposal] Predictive Geometry Coding", ISO/IEC JTC1/SC29/WG11 MPEG2019/m51012, October 2019, Geneva, CH
【発明の概要】
【発明が解決しようとする課題】
【0004】
ポイントクラウドデータは、複数のポイントのジオメトリデータとアトリビュートデータにより構成されるため、ポイント数を制御することにより、容易に情報量を制御することができる。
【0005】
しかしながら、非特許文献2に記載の方法の場合、予測値導出の際に他のポイントのジオメトリデータが参照されるため、参照構造が構築されると、その参照構造による制約が大きく、ポイント数を低減させることが困難になるおそれがあった。そのため情報量の制御が困難になるおそれがあった。
【0006】
本開示は、このような状況に鑑みてなされたものであり、ポイントクラウドデータの情報量の制御をより容易に行うことができるようにするものである。
【課題を解決するための手段】
【0007】
本技術の一側面の情報処理装置は、3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドの前記ポイントを分類したグループにより階層化された、前記ポイントクラウドの符号化におけるジオメトリデータの参照構造を形成する参照構造形成部と、前記参照構造形成部により形成された前記参照構造に基づいて、各ポイントについて前記ジオメトリデータの予測値を導出し、前記ジオメトリデータと前記予測値との差分である予測残差を導出する予測残差導出部と、前記予測残差導出部により導出された各ポイントの前記ジオメトリデータの前記予測残差を符号化する符号化部とを備える情報処理装置である。
【0008】
本技術の一側面の情報処理方法は、3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドの前記ポイントを分類したグループにより階層化された、前記ポイントクラウドの符号化におけるジオメトリデータの参照構造を形成し、形成された前記参照構造に基づいて、各ポイントについて前記ジオメトリデータの予測値を導出し、前記ジオメトリデータと前記予測値との差分である予測残差を導出し、導出された各ポイントの前記ジオメトリデータの前記予測残差を符号化する情報処理方法である。
【0009】
本技術の他の側面の情報処理装置は、3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドの前記ポイントを分類したグループにより階層化された前記ポイントクラウドの符号化におけるジオメトリデータの参照構造における前記グループによる階層であるグループ階層を示すレイヤ情報に基づいて、前記参照構造に基づいて導出された各ポイントのジオメトリデータとその予測値との差分である予測残差が符号化された符号化データの内、所望の前記グループ階層に対応する符号化データを復号する復号部を備える情報処理装置である。
【0010】
本技術の他の側面の情報処理方法は、3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドの前記ポイントを分類したグループにより階層化された前記ポイントクラウドの符号化におけるジオメトリデータの参照構造における前記グループによる階層であるグループ階層を示すレイヤ情報に基づいて、前記参照構造に基づいて導出された各ポイントのジオメトリデータとその予測値との差分である予測残差が符号化された符号化データの内、所望の前記グループ階層に対応する符号化データを復号する情報処理方法である。
【0011】
本技術の一側面の情報処理装置および方法においては、3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドのポイントを分類したグループにより階層化された、そのポイントクラウドの符号化におけるジオメトリデータの参照構造が形成され、その形成された参照構造に基づいて、各ポイントについてジオメトリデータの予測値が導出され、そのジオメトリデータとその予測値との差分である予測残差が導出され、その導出された各ポイントのジオメトリデータの予測残差が符号化される。
【0012】
本技術の他の側面の情報処理装置および方法においては、3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドのポイントを分類したグループにより階層化されたそのポイントクラウドの符号化におけるジオメトリデータの参照構造におけるグループによる階層であるグループ階層を示すレイヤ情報に基づいて、その参照構造に基づいて導出された各ポイントのジオメトリデータとその予測値との差分である予測残差が符号化された符号化データの内、所望のグループ階層に対応する符号化データが復号される。
【図面の簡単な説明】
【0013】
【
図1】Predictive Geometry Codingについて説明する図である。
【
図2】Predictive Geometry Codingについて説明する図である。
【
図3】Predictive Geometry Codingについて説明する図である。
【
図4】Predictive Geometry Codingの拡張方法について説明する図である。
【
図5】参照構造形成の方法の例について説明する図である。
【
図7】符号化装置の主な構成例を示すブロック図である。
【
図8】ジオメトリデータ符号化部の主な構成例を示すブロック図である。
【
図9】参照構造形成部の主な構成例を示すブロック図である。
【
図10】符号化処理の流れの例を説明するフローチャートである。
【
図11】ジオメトリデータ符号化処理の流れの例を説明するフローチャートである。
【
図12】参照構造形成処理の流れの例を説明するフローチャートである。
【
図13】復号装置の主な構成例を示すブロック図である。
【
図14】ジオメトリデータ復号部の主な構成例を示すブロック図である。
【
図15】復号処理の流れの例を説明するフローチャートである。
【
図16】ジオメトリデータ復号処理の流れの例を説明するフローチャートである。
【
図17】トランスコーダの主な構成例を示すブロック図である。
【
図18】トランスコード処理の流れの例を説明するフローチャートである。
【
図19】Predictive Geometry Codingの拡張方法について説明する図である。
【
図20】符号化装置の主な構成例を示すブロック図である。
【
図21】符号化処理の流れの例を説明するフローチャートである。
【
図22】復号装置の主な構成例を示すブロック図である。
【
図23】復号処理の流れの例を説明するフローチャートである。
【
図24】トランスコーダの主な構成例を示すブロック図である。
【
図25】トランスコード処理の流れの例を説明するフローチャートである。
【
図26】符号化処理の流れの例を説明するフローチャートである。
【
図27】復号処理の流れの例を説明するフローチャートである。
【
図28】コンピュータの主な構成例を示すブロック図である。
【発明を実施するための形態】
【0014】
以下、本開示を実施するための形態(以下実施の形態とする)について説明する。なお、説明は以下の順序で行う。
1.第1の実施の形態(参照構造の階層化)
2.第2の実施の形態(アトリビュートデータの予測残差符号化)
3.第3の実施の形態(参照構造の階層化とアトリビュートデータの予測残差符号化)
4.付記
【0015】
<1.第1の実施の形態>
<技術内容・技術用語をサポートする文献等>
本技術で開示される範囲は、実施の形態に記載されている内容だけではなく、出願当時において公知となっている以下の非特許文献に記載されている内容も含まれる。
【0016】
非特許文献1:(上述)
非特許文献2:(上述)
【0017】
つまり、上述の非特許文献に記載されている内容や、上述の非特許文献において参照されている他の文献の内容等も、サポート要件を判断する際の根拠となる。
【0018】
<ポイントクラウド>
従来、ポイントの位置情報や属性情報等により3次元構造を表すポイントクラウド(Point cloud)や、頂点、エッジ、面で構成され、多角形表現を使用して3次元形状を定義するメッシュ(Mesh)等の3Dデータが存在した。
【0019】
例えばポイントクラウドの場合、立体構造物(3次元形状のオブジェクト)を多数のポイントの集合として表現する。ポイントクラウドのデータ(ポイントクラウドデータとも称する)は、各点の位置情報(ジオメトリデータとも称する)と属性情報(アトリビュートデータとも称する)とにより構成される。アトリビュートデータは任意の情報を含むことができる。例えば、各ポイントの色情報、反射率情報、法線情報等がアトリビュートデータに含まれるようにしてもよい。このようにポイントクラウドデータは、データ構造が比較的単純であるとともに、十分に多くの点を用いることにより任意の立体構造物を十分な精度で表現することができる。
【0020】
<プレディクティブジオメトリコーディング>
このようなポイントクラウドデータはそのデータ量が比較的大きいので、データの記録や伝送の際等には、一般的に、符号化等によりデータ量の低減が行われる。この符号化の方法として様々な方法が提案されている。例えば非特許文献2には、ジオメトリデータの符号化方法として、プレディクティブジオメトリコーディング(Predictive Geometry Coding)が記載されている。
【0021】
プレディクティブジオメトリコーディングでは、各ポイントのジオメトリデータとその予測値との差分(予測残差とも称する)を導出し、その予測残差を符号化する。その予測値の導出の際に、他のポイントのジオメトリデータが参照される。
【0022】
例えば、
図1に示されるように、各ポイントのジオメトリデータの予測値を導出する際にどのポイントのジオメトリデータを参照するかを示す参照構造(プレディクションツリー(prediction tree)とも称する)を形成する。
図1において、丸がポイントを示し、矢印が参照関係を示している。この参照構造の形成方法は任意である。例えば、近傍のポイントのジオメトリデータが参照されるように形成される。
【0023】
図1の例のプレディクションツリーにおいては、他のポイントのジオメトリデータを参照しないポイント11(Root vertex)、他の1ポイントから参照されるポイント12(Branch vertex with one child)、他の3ポイントから参照されるポイント13(Branch vertex with 3 children)、他の2ポイントから参照されるポイント14(Branch vertex with 2 children)、および他のポイントから参照されないポイント15(Leaf vertex)が形成される。
【0024】
なお、
図1においては、1つのポイント12にのみ符号を付しているが、白丸で示されるポイントは全てポイント12である。同様に、1つのポイント14にのみ符号を付しているが、
図1において斜線模様の丸で示されるポイントは全てポイント14である。同様に、1つのポイント15にのみ符号を付しているが、
図1においてグレーの丸で示されるポイントは全てポイント15である。なお、このプレディクションツリーの構造は、一例であり、
図1の例に限定されない。したがって、ポイント11乃至ポイント15のそれぞれの数は任意である。また、参照されるポイント数のパターンも
図1の例に限定されない。例えば、4ポイント以上から参照されるポイントがあってもよい。
【0025】
各ポイントのジオメトリデータの予測値は、このような参照構造(プレディクションツリー)に従って導出される。例えば、4つの方法(4モード)で予測値が導出され、それらの中から最適な予測値が選択される。
【0026】
例えば、
図2のポイント21乃至ポイント24のような参照構造において、ポイント24を処理対象ポイント(Target point pi)とし、そのジオメトリデータの予測値を導出するとする。第1のモードでは、このような参照構造においてポイント24が参照先(親ノードとも称する)とするポイント23(P
parent)を、ポイント24の予測ポイント31とし、そのジオメトリデータを、ポイント24のジオメトリデータの予測値とする。この予測ポイント31のジオメトリデータ(すなわちポイント24のジオメトリデータの、第1のモードの予測値)をq
(Delta)と称する。
【0027】
第2のモードでは、このような参照構造においてポイント23を始点としポイント23の親ノードであるポイント22(Pgrandparent)を終点とする参照ベクトル(ポイント23とポイント22との間の矢印)の逆ベクトルの始点をポイント23とした場合の、その逆ベクトルの終点を予測ポイント32とし、そのジオメトリデータをポイント24のジオメトリデータの予測値とする。この予測ポイント32のジオメトリデータ(すなわちポイント24のジオメトリデータの、第2のモードの予測値)をq(Linear)と称する。
【0028】
第3のモードでは、このような参照構造においてポイント22を始点としポイント22の親ノードであるポイント21(Pgreat-grandparent)を終点とする参照ベクトル(ポイント22とポイント21との間の矢印)の逆ベクトルの始点をポイント23とした場合の、その逆ベクトルの終点を予測ポイント33とし、そのジオメトリデータをポイント24のジオメトリデータの予測値とする。この予測ポイント33のジオメトリデータ(すなわちポイント24のジオメトリデータの、第3のモードの予測値)をq(Parallelogram)と称する。
【0029】
第4のモードでは、ポイント24をルートポイント(Root vertex)とし、他のポイントのジオメトリデータを参照しないものとする。つまり、このポイント24については、予測残差ではなく、ポイント24のジオメトリデータが符号化される。
図2の例の参照構造の場合、ポイント24はポイント23を参照するので、このモードは除外される。
【0030】
以上のような各モード(
図2の例の場合、3モード)の予測値について予測残差(ポイント24のジオメトリデータとの差分)が導出され、最小となる予測残差が選択される。つまり、ポイント24に対して最近傍の予測ポイントが選択され、その予測ポイントに対応する予測残差が選択される。
【0031】
このような処理が各ポイントについて行われることにより、各ポイントの予測残差が導出される。そして、その予測残差が符号化される。このようにすることにより、符号量の増大を抑制することができる。
【0032】
なお、参照構造(プレディクションツリー)は所定の方法に基づいて形成されるが、この形成方法は、任意である。例えば、
図3のAに示されるような順で各ポイント41がキャプチャされるとする。
図3において丸がポイントを示し、その丸内の数字がキャプチャ順を示している。
図3においては、キャプチャ順が0のポイント41にのみ符号を付しているが、
図3の全ての丸がポイント41である。つまり、
図3においては、キャプチャ順が0から5までの5つのポイント41が示されている。
【0033】
このような場合に、例えば
図3のBのように、各ポイントが最近傍のポイントを参照する(親ノードとする)ように、参照構造を形成してもよい。符号化・復号は、参照構造に従って行われ、スタックを用いて子ノード(処理対象ノードを参照先とするノード)の探索が行われる。したがって、この場合の復号順は、キャプチャ順が「0」のポイント41、キャプチャ順が「1」のポイント41、キャプチャ順が「3」のポイント41、キャプチャ順が「4」のポイント41、キャプチャ順が「5」のポイント41、キャプチャ順が「2」のポイント41の順となる。
【0034】
また、例えば
図3のCのように、各ポイントが1つ前のキャプチャ順のポイントを参照する(親ノードとする)ように、参照構造を形成してもよい。この場合の復号順は、キャプチャ順と同様となる。
【0035】
<ポイントクラウドデータにおける情報量制御>
ポイントクラウドデータは、複数のポイントのジオメトリデータとアトリビュートデータにより構成されるため、ポイント数を制御することにより、容易にその情報量を制御することができる。
【0036】
例えば、ジオメトリデータの符号化の際にポイント数を低減させることにより、その符号化処理の負荷の増大を抑制することができる。また、その符号化により生成されるジオメトリデータの符号化データのビットレートを制御することができる。つまり、その符号化データを記憶する際の記憶容量や、その符号化データを伝送する際の伝送レートを制御することができる。
【0037】
また、ジオメトリデータの復号の際にポイント数を低減させることもできる。例えば、ポイントクラウドのジオメトリデータの符号化データを部分的に復号することができるような構成にしておくことにより、一部のポイントについてのみ符号化データを復号してジオメトリデータを生成することができる。例えば、この復号するポイントを制御することにより、生成するポイントクラウドの解像度(空間解像度とも称する)を制御することができる。このような復号方法をスケーラブルな復号(または復号のスケーラビリティ)とも称する。このようなスケーラブルな復号を実現することにより、不要なデータの復号処理を省略することができるので、復号処理の負荷の増大を抑制することができる。
【0038】
さらに、ジオメトリデータの符号化データを復号し、所望のパラメータを変更して再符号化する処理であるトランスコードの際に、ポイント数を低減させることもできる。このようにすることにより、トランスコードの負荷の増大を抑制することができる。また、トランスコードにより生成されるジオメトリデータの符号化データのビットレートを制御することができる。
【0039】
<プレディクティブジオメトリコーディングを適用する場合の情報量制御>
しかしながら、非特許文献2に記載のプレディクティブジオメトリコーディングの場合、上述のように予測値導出の際に他のポイントのジオメトリデータが参照される。そのため、参照構造が構築されると、その参照構造による制約が大きく、ポイント数を低減させることが困難になるおそれがあった。そのため情報量の制御が困難になるおそれがあった。
【0040】
例えば、プレディクションツリーの途中のノードを削除するとその子ノード以下のノードの予測値を導出することができなくなる。つまり、このプレディクションツリーに関わらず所望のポイントのみを削除することができない(子ノードのポイントも削除されてしまう)。そのため、あるポイントを削除した場合に、プレディクションツリーの構造に従ってその周辺のポイントも多く削除されてしまうといった現象が起こり得る。その場合、例えば、ポイントの分布態様が局所的に大きく変化し、そのポイントクラウドが示すオブジェクトの形状が変形してしまう(つまり、ポイントクラウドがオブジェクトの形状を正しく表現することができない)、といった不具合が生じるおそれがあった。
【0041】
このように、非特許文献2に記載のプレディクティブジオメトリコーディングの場合、現実的には、ジオメトリデータの符号化、復号、またはトランスコードの際に、上述のようなビットレート制御やスケーラビリティを実現することが困難であった。
【0042】
<参照構造の階層化>
そこで、
図4に示される表の一番上の段に示されるように、プレディクティブジオメトリコーディングを拡張し、
図4に示される表の上から2番目の段(「1」の段)に示されるように、ポイントのグループを形成し、そのグループを階層とする参照構造を形成する。なお、この階層をグループ階層と称し、このような参照構造の階層化をグループ階層化と称する。
【0043】
例えば、3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドのポイントを分類したグループにより階層化された、そのポイントクラウドの符号化におけるジオメトリデータの参照構造を形成し、その形成された参照構造に基づいて、各ポイントについてジオメトリデータの予測値を導出し、そのジオメトリデータと予測値との差分である予測残差を導出し、その導出された各ポイントのジオメトリデータの予測残差を符号化する。
【0044】
また、例えば、情報処理装置において、3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドのポイントを分類したグループにより階層化された、そのポイントクラウドの符号化におけるジオメトリデータの参照構造を形成する参照構造形成部と、その参照構造形成部により形成された参照構造に基づいて、各ポイントについてジオメトリデータの予測値を導出し、そのジオメトリデータと予測値との差分である予測残差を導出する予測残差導出部と、その予測残差導出部により導出された各ポイントのジオメトリデータの予測残差を符号化する符号化部とを備えるようにする。
【0045】
このようにプレディクションツリーをグループ階層化することにより、グループ階層毎のポイントの選択は、そのプレディクションツリーに沿ったものとなる。例えば、このグループ階層の最下位層に属するポイントは、プレディクションツリーの最もリーフ側(Leaf側)のノードに対応し、他のグループ階層に属するポイントは、そのノードよりもルート側(Root側)のノードに対応する。したがって、上位側のグループ階層に属するポイントに影響を与えることなく、下位側のグループ階層に属するポイントを削除することができる。例えば、グループ階層の最上位層から途中の階層までに属するポイントのジオメトリデータのみを符号化する(それより下位のグループ階層に属するポイントのジオメトリデータを削除する)ことができる。
【0046】
したがって、符号化処理の負荷の増大を抑制することができる。また、その符号化により生成されるジオメトリデータの符号化データのビットレートを制御することができる。付言するに、その符号化データを記憶する際の記憶容量や、その符号化データを伝送する際の伝送レートを制御することができる。
【0047】
なお、
図4に示される表の上から3番目の段(「1-1」の段)に示されるように、この参照構造を形成する際に、キャプチャした各ポイントをグループ化し、そのグループの順に各ポイントをソートする(並び替える)ようにしてもよい。
【0048】
例えば、ポイントのグループ分けを行い、そのポイントをグループ毎に並び替え、その並び替えられた順に各ポイントのジオメトリデータの参照先を設定することにより、そのグループにより階層化された参照構造を形成してもよい。
【0049】
例えば、情報処理装置において、参照構造形成部が、ポイントのグループ分けを行うグループ分け処理部と、そのポイントをグループ毎に並び替える並び替え部と、その並び替え部により並び替えられた順に各ポイントのジオメトリデータの参照先を設定することにより、そのグループにより階層化された参照構造を形成するグループ階層化参照構造形成部とを備えるようにしてもよい。
【0050】
例えば、
図5のAに示されるように8つのポイント51がキャプチャされるとする。
図5のAにおいて、丸がポイントを示し、丸内の数字がそのキャプチャ順を示す。なお、
図5においては、1つのポイント51にのみ符号を付しているが、
図5において丸で示される全てのポイントがポイント51である。
【0051】
これらのポイント51を所定の方法によりグループ分けする。このグループ分けの方法は任意である。
図5のAの場合、キャプチャ順が奇数(1、3、5、7)のポイント51のグループと、キャプチャ順が偶数(2、4、6、8)のポイント51のグループとに分けられている。
【0052】
そして、例えば
図5のBに示されるように、これらのポイント51がグループ毎にソートされる。
図5のBの例の場合、キャプチャ順が奇数(1、3、5、7)のポイント51のグループ、キャプチャ順が偶数(2、4、6、8)のポイント51のグループの順にポイント51が並び替えられている。
【0053】
そしてこの並び替えられた順に各ポイントの参照先を求め、プレディクションツリーを形成する。例えば
図5のCに示されるプレディクションツリーの場合、まず、キャプチャ順が奇数の各ポイント51について参照先が設定され、その後、キャプチャ順が偶数の各ポイント51について参照先が設定されている。したがって、このプレディクションツリーにおいては、キャプチャ順が偶数のポイント51に対応するノードが、キャプチャ順が奇数のポイント51に対応するノードよりもリーフ側(子ノード側)のノードとして形成される。したがって、キャプチャ順が偶数のポイント51を削除しても、キャプチャ順が奇数のポイント51には影響を与えない。
【0054】
つまり、プレディクションツリーを形成した後でも、符号化するポイントの選択を行うことができるので、符号化処理の負荷の増大を抑制することができる。また、その符号化により生成されるジオメトリデータの符号化データのビットレートを制御することができる。
【0055】
なお、このような手法でプレディクションツリーを形成することにより、ソート後は、非特許文献2に記載の方法と同様の方法でプレディクションツリーを形成することができる。したがって、より容易に、プレディクションツリーをグループ階層化することができる。これにより、プレディクションツリーの形成のためのコストの増大を抑制することができる。
【0056】
なお、
図4に示される表の上から4番目の段(「1-1-1」の段)に示されるように、ポイントの位置に応じてグループ化(ポイントのグループ分け)を行うようにしてもよい。
【0057】
例えば、各ポイントの位置に基づいて、各グループに属するポイントの3次元空間における密度が一様となるように(ポイント間が所定の間隔となるように)グループ分けを行ってもよい。このようにグループ分けを行うことにより、符号化されるポイントの密度が一様となるように、ポイント数を低減させることができる。つまり、ポイントクラウドの分布態様(つまり、ポイントクラウドが示すオブジェクトの形状)の変化を低減させるように、符号化処理の負荷の増大を抑制したり、符号化データのビットレートを制御したりすることができる。付言するに、この場合、ポイントを削除するグループ階層の数を増減させることにより、ポイントクラウドの3次元空間上の解像度(空間解像度)を制御することができる。
【0058】
また、
図4に示される表の上から5番目の段(「1-1-2」の段)に示されるように、ポイントの特徴に応じてグループ化(ポイントのグループ分け)を行うようにしてもよい。
【0059】
このグループ分けに用いるポイントの特徴は任意である。例えば、ポイントクラウドのエッジや角に相当するポイントでグループ化したり、ポイントクラウドの平坦な部分に相当するポイントでグループ化したりしてもよい。もちろん、特徴はこれらの例以外であってもよい。このようにグループ分けを行うことにより、例えば、再生時における主観的な影響が比較的少ない(特徴を有する)ポイントを削除し、再生時における主観的な影響が比較的大きい(特徴を有する)ポイントを符号化するといったことができる。これにより、再生時における主観画質の低減を抑制するように、符号化処理の負荷の増大を抑制したり、符号化データのビットレートを制御したりすることができる。
【0060】
なお、グループ化の方法は任意であり、これらの例に限定されない。例えば、ポイントの位置と特徴の両方に応じてグループ分けを行ってもよい。
【0061】
また、
図4に示される表の上から6番目の段(「1-2」の段)に示されるように、グループ階層に関する情報であるレイヤ情報をシグナリングするようにしてもよい。
【0062】
例えば、各ポイントについて、グループ階層を示すレイヤ情報を生成し、符号化してもよい。例えば、情報処理装置において、参照構造形成部が、各ポイントについて、参照構造におけるグループによる階層であるグループ階層を示すレイヤ情報を生成するレイヤ情報生成部をさらに備え、符号化部が、そのレイヤ情報生成部により生成されたレイヤ情報をさらに符号化するようにしてもよい。
【0063】
なお、このレイヤ情報において、グループ階層が、親ノードのグループ階層との差分(親ノードからの相対値)によって示されるようにしてもよい。
【0064】
例えば、
図6のAのようにポイント60乃至ポイント69がキャプチャされるとする。そして、ポイント60、ポイント63、ポイント66、およびポイント69が第1のグループに分けられ、ポイント61、ポイント64、およびポイント67が第2のグループに分けられ、ポイント62、ポイント65、およびポイント68が第3のグループに分けられるとする。そして、これらのポイントが上述したようにグループ毎にソートされて参照先が設定され、
図6のBに示されるようなプレディクションツリーが形成されるとする。
【0065】
この例の場合、ポイント61は第2グループに属し、プレディクションツリーにおけるそのポイント61に対応するノードの親ノードは、第1グループに属するポイント60に対応するノードであるので、そのポイント61に対応するノードに対しては、レイヤ情報として「+1」が生成される。この「+1」は、処理対象のノードが、その親ノードのグループ階層(第1グループ)からみて1階層下位のグループ階層(第2グループ)に属することを示している。
【0066】
同様に、ポイント62は第3グループに属し、プレディクションツリーにおけるそのポイント62に対応するノードの親ノードは、第2グループに属するポイント61に対応するノードであるので、そのポイント62に対応するノードに対しては、レイヤ情報として「+1」が生成される。
【0067】
これに対して、ポイント63は第1グループに属し、プレディクションツリーにおけるそのポイント63に対応するノードの親ノードは、同じ第1グループに属するポイント60に対応するノードであるので、そのポイント63に対応するノードに対しては、レイヤ情報として「+0」が生成される。同様に、ポイント64は第2グループに属し、プレディクションツリーにおけるそのポイント64に対応するノードの親ノードは、同じ第2グループに属するポイント61に対応するノードであるので、そのポイント64に対応するノードに対しては、レイヤ情報として「+0」が生成される。同様に、ポイント65は第3グループに属し、プレディクションツリーにおけるそのポイント65に対応するノードの親ノードは、同じ第3グループに属するポイント62に対応するノードであるので、そのポイント65に対応するノードに対しては、レイヤ情報として「+0」が生成される。
【0068】
同様に、ポイント66は第1グループに属し、プレディクションツリーにおけるそのポイント66に対応するノードの親ノードは、同じ第1グループに属するポイント63に対応するノードであるので、そのポイント66に対応するノードに対しては、レイヤ情報として「+0」が生成される。ポイント67は第2グループに属し、プレディクションツリーにおけるそのポイント67に対応するノードの親ノードは、第1グループに属するポイント66に対応するノードであるので、そのポイント67に対応するノードに対しては、レイヤ情報として「+1」が生成される。
【0069】
ポイント68は第3グループに属し、プレディクションツリーにおけるそのポイント68に対応するノードの親ノードは、同じ第3グループに属するポイント65に対応するノードであるので、そのポイント68に対応するノードに対しては、レイヤ情報として「+0」が生成される。同様に、ポイント69は第1グループに属し、プレディクションツリーにおけるそのポイント69に対応するノードの親ノードは、同じ第1グループに属するポイント66に対応するノードであるので、そのポイント669に対応するノードに対しては、レイヤ情報として「+0」が生成される。
【0070】
なお、ポイント60に対応するノードの親ノードは存在しないので、そのポイント60に対応するノードに対しては、レイヤ情報として「+0」が生成される。
【0071】
このように、レイヤ情報をシグナリングすることにより、復号側においてそのシグナリングされたレイヤ情報に基づいて、各ポイントのグループ階層を容易に把握することができる。したがって、復号の際に、そのレイヤ情報に基づいて、所望のグループ階層の符号化データのみを復号することができる。つまり、容易にスケーラブルな復号を実現することができる。換言するに、復号側は、そのレイヤ情報に基づいてグループ階層の構造を把握することができるので、符号化側において任意にグループを設定することができる。
【0072】
付言するに、上述のように処理対象ノードが属するグループ階層を、親ノードが属するグループ階層からの相対値として示すことにより、このレイヤ情報による符号量の増大を抑制することができる。
【0073】
なお、このようなレイヤ情報をシグナリングする際に、
図4に示される表の上から7番目の段(「1-2-1」の段)に示されるように、レイヤ情報を親ノードにおいてシグナリングするようにしてもよい。例えば、参照構造における処理対象ノードに属する各子ノードのグループ階層を処理対象ノードのグループ階層との相対値で示すレイヤ情報を生成し、符号化するようにしてもよい。
【0074】
例えば、
図6のBのプレディクションツリーの場合、ポイント60に対応するノード(親ノード)のレイヤ情報として、ポイント61に対応するノード(子ノード)が属するグループ階層を示す情報(+1)とポイント63に対応するノード(子ノード)が属するグループ階層を示す情報(+0)とをシグナリングする。また、ポイント61に対応するノード(親ノード)のレイヤ情報として、ポイント62に対応するノード(子ノード)が属するグループ階層を示す情報(+1)とポイント64に対応するノード(子ノード)が属するグループ階層を示す情報(+0)とをシグナリングする。同様にして各ノードのレイヤ情報として、その子ノードのグループ階層を示す情報をシグナリングする。
【0075】
このようにすることにより、親ノードを復号した時点で、その子ノードのグループ階層を把握することができる。
【0076】
また、
図4に示される表の上から8番目の段(「1-2-2」の段)に示されるように、レイヤ情報を子ノードにおいてシグナリングするようにしてもよい。例えば、参照構造における処理対象ノードのグループ階層を、その処理対象ノードが属する親ノードのグループ階層との相対値で示すレイヤ情報を生成し、符号化するようにしてもよい。
【0077】
例えば、
図6のBのプレディクションツリーの場合、ポイント61に対応するノードのレイヤ情報として、そのポイント61に対応するノードが属するグループ階層を示す情報(+1)をシグナリングする。また、ポイント63に対応するノードのレイヤ情報として、そのポイント63に対応するノードが属するグループ階層を示す情報(+0)をシグナリングする。同様にして各ノードのレイヤ情報として、そのノードのグループ階層を示す情報をシグナリングする。
【0078】
このようにすることにより、処理対象ノードのグループ階層を把握することができる。
【0079】
なお、ジオメトリデータ(予測残差)等の各種情報を符号化する際に、量子化を行ってもよい。その量子化において、
図4に示される表の上から9番目の段(「1-3」の段)に示されるように、量子化ステップをレイヤ毎に制御してもよい。つまり、予測残差等を、参照構造におけるグループによる階層であるグループ階層毎に設定された量子化ステップで量子化して符号化してもよい。例えば、レイヤ毎に量子化ステップを変えてもよい。
【0080】
また、
図4に示される表の上から10番目の段(「1-3-1」の段)に示されるように、レイヤ情報を子ノードにおいてシグナリングするようにしてもよい。その量子化ステップをシグナリングしてもよい。つまり、量子化ステップを示す情報を符号化してもよい。
【0081】
また、
図4に示される表の上から11番目の段(「1-4」の段)に示されるように、ジオメトリデータ(予測残差)等の各種情報を符号化する際に、
図4に示される表の上から12番目の段(「1-4-1」の段)に示されるように、レイヤ(グループ階層)毎に独立に算術符号化を行うようにしてもよい。つまり、予測残差等を、参照構造におけるグループによる階層であるグループ階層毎に分けて算術符号化してもよい。このようにすることにより、符号化データをグループ階層毎に復号することができる。例えば、一部のグループ階層を削除してトランスコードするような場合に、削除しないグループ階層の符号化データを選択するだけで(復号せずに)トランスコードを行うことができる。これによりトランスコードの負荷の増大を抑制することができる。なお、この場合、レイヤ情報は、親ノードにおいてシグナリングすればよい。
【0082】
なお、グループ階層よりも小さい単位で独立に算術符号化を行うようにしてもよい。例えば、プレディクションツリーの枝毎やノード毎に独立に算術符号化を行うようにしてもよい。
【0083】
また、
図4に示される表の一番下の段(「1-4-2」の段)に示されるように、レイヤ(グループ階層)毎に分けずに算術符号化を行うようにしてもよい。つまり、予測残差等を、参照構造におけるグループによる階層であるグループ階層毎に分けずに算術符号化してもよい。例えば、複数のグループ階層の予測残差等を分けずに算術符号化してもよい。また、全グループ階層の予測残差等を分けずに算術符号化してもよい。
【0084】
また、符号化するか否かをグループ階層毎に選択し、符号化することを選択したグループ階層の予測残差等を符号化するようにしてもよい。つまり、符号化するか否かの制御(削除するか否かの制御)をグループ階層毎に行うようにしてもよい。
【0085】
例えば、3次元空間における密度が一様となるようにポイントのグループ分けを行い、このようにグループ階層毎に符号化制御を行うことにより、符号化するポイントクラウドデータの空間解像度を制御することができる。
【0086】
もちろん、グループ階層より小さい単位で符号化制御を行うようにしてもよい。例えば、符号化するか否かを参照構造の枝毎に選択し、符号化することを選択した枝に属するノードの予測残差等を符号化するようにしてもよい。つまり、符号化するか否かの制御(削除するか否かの制御)を枝毎に行うようにしてもよい。このようにすることにより、グループ階層内の一部の枝の情報を削除することができ、より細かい符号化制御を実現することができる。
【0087】
なお、この符号化制御の情報単位は任意であり、上述した例以外の情報単位毎に符号化制御を行うようにしてももちろんよい。例えば、複数の情報単位毎に符号化制御を行うことができるようにしてもよい。例えば、グループ階層毎、枝毎のいずれでも符号化制御を行うことができるようにしてもよい。
【0088】
<符号化装置>
次に、上述した本技術を適用する装置について説明する。
図7は、本技術を適用した情報処理装置の一態様である符号化装置の構成の一例を示すブロック図である。
図7に示される符号化装置100は、ポイントクラウド(3Dデータ)を符号化する装置である。符号化装置100は、例えば
図4等を参照して上述した本技術を適用してポイントクラウドを符号化する。
【0089】
なお、
図7においては、処理部やデータの流れ等の主なものを示しており、
図7に示されるものが全てとは限らない。つまり、符号化装置100において、
図7においてブロックとして示されていない処理部が存在したり、
図7において矢印等として示されていない処理やデータの流れが存在したりしてもよい。
【0090】
図7に示されるように符号化装置100は、ジオメトリデータ符号化部111およびアトリビュートデータ符号化部112を有する。
【0091】
ジオメトリデータ符号化部111は、符号化装置100に入力されたポイントクラウド(3Dデータ)を取得し、そのジオメトリデータ(位置情報)を符号化して、そのジオメトリデータの符号化データを生成し、生成したジオメトリデータの符号化データとアトリビュートデータ(属性情報)とをアトリビュートデータ符号化部112に供給する。
【0092】
アトリビュートデータ符号化部112は、ジオメトリデータ符号化部111から供給されたジオメトリデータの符号化データとアトリビュートデータとを取得し、それらを用いてアトリビュートデータを符号化して、そのアトリビュートデータの符号化データを生成し、ジオメトリデータの符号化データと、生成したアトリビュートデータの符号化データとを、ポイントクラウドデータの符号化データとして符号化装置100の外部(例えば復号側)に出力する。
【0093】
なお、これらの処理部(ジオメトリデータ符号化部111およびアトリビュートデータ符号化部112)は、任意の構成を有する。例えば、各処理部が、上述の処理を実現する論理回路により構成されるようにしてもよい。また、各処理部が、例えばCPU(Central Processing Unit)、ROM(Read Only Memory)、RAM(Random Access Memory)等を有し、それらを用いてプログラムを実行することにより、上述の処理を実現するようにしてもよい。もちろん、各処理部が、その両方の構成を有し、上述の処理の一部を論理回路により実現し、他を、プログラムを実行することにより実現するようにしてもよい。各処理部の構成は互いに独立していてもよく、例えば、一部の処理部が上述の処理の一部を論理回路により実現し、他の一部の処理部がプログラムを実行することにより上述の処理を実現し、さらに他の処理部が論理回路とプログラムの実行の両方により上述の処理を実現するようにしてもよい。
【0094】
<ジオメトリデータ符号化部>
図8は、ジオメトリデータ符号化部111の主な構成例を示すブロック図である。なお、
図8においては、処理部やデータの流れ等の主なものを示しており、
図8に示されるものが全てとは限らない。つまり、ジオメトリデータ符号化部111において、
図8においてブロックとして示されていない処理部が存在したり、
図8において矢印等として示されていない処理やデータの流れが存在したりしてもよい。
【0095】
図8に示されるように、ジオメトリデータ符号化部111は、参照構造形成部131、スタック132、予測モード決定部133、符号化部134、および予測ポイント生成部135を有する。
【0096】
ジオメトリデータ符号化部111に供給されるポイントクラウドデータのジオメトリデータは、参照構造形成部131に供給される。なお、アトリビュートデータは、ジオメトリデータ符号化部111においては処理されず、アトリビュートデータ符号化部112に供給される。
【0097】
参照構造形成部131は、供給されたジオメトリデータについて、ポイントクラウドの符号化における参照構造(プレディクションツリー)を生成する。その際、参照構造形成部131は、
図4の表を参照して上述したような各種方法を適用し、グループ階層化された参照構造を形成し得る。また、参照構造形成部131は、各ポイントについて、その形成した参照構造を示すレイヤ情報を生成する。参照構造形成部131は、形成した参照構造に従って、処理対象ポイントのジオメトリデータやレイヤ情報等をスタック132に供給する。その際、参照構造形成部131は、
図4の表を参照して上述したような各種方法を適用し得る。
【0098】
例えば、参照構造形成部131は、ユーザ等による符号化制御にしたがって、参照構造形成部131により形成された参照構造(プレディクションツリー)における子ノードを符号化するか否かを判定し、符号化すると判定された場合に、処理対象ノードの子ノードのジオメトリデータやレイヤ情報等をスタック132に供給してもよい。例えば、参照構造形成部131は、予測残差等を符号化するか否かをグループ階層毎に選択し、そのグループ階層に属するノードの予測残差等をスタック132に供給してもよい。また、参照構造形成部131は、予測残差等を符号化するか否かを参照構造の枝毎に選択し、その枝に属するノードの予測残差等をスタック132に供給してもよい。このようにすることにより、一部のポイントについてのみ、ジオメトリデータを符号化することができる。
【0099】
スタック132は、情報を後入れ先出し方式で保持する。例えば、スタック132は、参照構造形成部131から供給される各ポイントのジオメトリデータやレイヤ情報等を保持する。また、スタック132は、予測モード決定部133からの要求に応じて、保持している情報の中で最後に保持した情報を予測モード決定部133に供給する。
【0100】
予測モード決定部133は、予測モード(予測ポイント)の決定に関する処理を行う。例えば、予測モード決定部133は、スタック132に最後に保持されたポイントのジオメトリデータやレイヤ情報等を取得する。また、予測モード決定部133は、そのポイントの予測ポイントのジオメトリデータ等を予測ポイント生成部135より取得する。
図2の例のように処理対象ポイントに対応する予測ポイントが複数存在する場合は、その全てを取得する。そして、予測モード決定部133は、適用する予測ポイント(つまり予測モード)を決定する。その際、予測モード決定部133は、
図4の表を参照して上述したような各種方法を適用し得る。
【0101】
例えば、予測モード決定部133は、各予測ポイントについて、そのジオメトリデータ(予測値)と処理対象ポイントのジオメトリデータとの差分である予測残差を導出し、その値を比較する。このような比較により、適用する予測モード(予測方法)が選択される。例えば、処理対象ポイントに最も近い予測ポイントが選択される。予測モード決定部133は、各ポイントに関する情報(例えば、選択した予測モードの予測残差やレイヤ情報等)を符号化部134に供給する。
【0102】
符号化部134は、予測モード決定部133により供給される情報(例えば、選択された予測モードの予測残差やレイヤ情報等)を取得し、符号化し、符号化データを生成する。
【0103】
その際、符号化部134は、
図4の表を参照して上述したような各種方法を適用し得る。例えば、符号化部134は、グループ階層毎に設定された量子化ステップで量子化して符号化することができる。また、符号化部134は、その量子化ステップを示す情報を符号化してシグナリングすることができる。さらに、符号化部134は、予測残差等を、グループ階層毎に分けて算術符号化することもできるし、グループ階層毎に分けずに算術符号化することもできる。
【0104】
符号化部134は、生成した符号化データをジオメトリデータの符号化データとして、アトリビュートデータ符号化部112に供給する。また、符号化部134は、処理対象ポイントのジオメトリデータ等の情報を予測ポイント生成部135に供給する。
【0105】
予測ポイント生成部135は、予測ポイントの生成、すなわち、予測値の導出に関する処理を行う。例えば、予測ポイント生成部135は、符号化部134から供給される、処理対象ポイントのジオメトリデータ等の情報を取得する。また、予測ポイント生成部135は、その処理対象ポイントのジオメトリデータ等を用いて生成可能な予測ポイントのジオメトリデータ(例えば、処理対象ノードの子ノードのジオメトリデータの予測値)を導出する。その際、予測ポイント生成部135は、
図4の表を参照して上述したような各種方法を適用し得る。予測ポイント生成部135は、その導出した予測値を必要に応じて予測モード決定部133に供給する。
【0106】
<参照構造形成部>
図9は、参照構造形成部131の主な構成例を示すブロック図である。なお、
図9においては、処理部やデータの流れ等の主なものを示しており、
図9に示されるものが全てとは限らない。つまり、参照構造形成部131において、
図9においてブロックとして示されていない処理部が存在したり、
図9において矢印等として示されていない処理やデータの流れが存在したりしてもよい。
【0107】
図9に示されるように、参照構造形成部131は、グループ分け処理部151、ソート部152、グループ階層化参照構造形成部153、およびレイヤ情報生成部154を有する。
【0108】
グループ分け処理部151は、グループ分けに関する処理を行う。例えば、グループ分け処理部151は、参照構造形成部131に供給されたジオメトリデータについて、ポイントのグループ分けを行う。その際、グループ分け処理部151は、
図4の表を参照して上述したような各種方法を適用し得る。例えば、グループ分け処理部151は、ポイントの位置に応じてそのグループ分けを行ってもよい。また、グループ分け処理部151は、ポイントの特徴に応じてそのグループ分けを行ってもよい。グループ分け処理部151は、グループ分けした各ポイントのジオメトリデータをソート部152に供給する。
【0109】
ソート部152は、ポイントの並び替えに関する処理を行う。例えば、ソート部152は、グループ分け処理部151より供給される、グループ分けした各ポイントのジオメトリデータを取得する。そして、ソート部152は、その各ポイントのジオメトリデータの並び替えを行う。その際、ソート部152は、
図4の表を参照して上述したような各種方法を適用し得る。例えば、ソート部152は、グループ分け処理部151によりグループ分けされた各ポイントのジオメトリデータを、そのグループ毎にまとめるように並び替える。ソート部152は、ソートした各ポイントのジオメトリデータをグループ階層化参照構造形成部153に供給する。
【0110】
グループ階層化参照構造形成部153は、参照構造の形成に関する処理を行う。例えば、グループ階層化参照構造形成部153は、ソート部152から供給される、ソートされた各ポイントのジオメトリデータを取得する。グループ階層化参照構造形成部153は、参照構造を形成する。その際、グループ階層化参照構造形成部153は、
図4の表を参照して上述したような各種方法を適用し得る。例えば、グループ階層化参照構造形成部153は、ソート部152から供給された、ソートされた並び順に従って各ポイントの参照先を設定することにより、グループ階層化された参照構造を形成する。この参照構造の形成方法は任意である。グループ階層化参照構造形成部153は、このように形成した参照構造をレイヤ情報生成部154に供給する。
【0111】
レイヤ情報生成部154は、グループ階層化参照構造形成部153から供給される参照構造を取得する。レイヤ情報生成部154は、その参照構造を示すレイヤ情報を生成する。その際、レイヤ情報生成部154は、
図4の表を参照して上述したような各種方法を適用し得る。例えば、レイヤ情報生成部154は、参照構造における処理対象ノードに属する各子ノードのグループ階層を示す情報(例えば、処理対象ノードのグループ階層との相対値)を処理対象ノードのレイヤ情報として生成し、シグナリングしてもよい。また、レイヤ情報生成部154は、参照構造における処理対象ノードのグループ階層を示す情報(例えば、処理対象ノードが属する親ノードのグループ階層との相対値)を処理対象ノードのレイヤ情報として生成し、シグナリングしてもよい。レイヤ情報生成部154は、生成したレイヤ情報をスタック132(
図8)に供給する。
【0112】
以上のような構成とすることにより、符号化装置100は、ジオメトリデータの参照構造をグループ階層化することができる。したがって、符号化装置100は、上述したように、符号化処理の負荷の増大を抑制することができる。また、その符号化により生成されるジオメトリデータの符号化データのビットレートを制御することができる。付言するに、その符号化データを記憶する際の記憶容量や、その符号化データを伝送する際の伝送レートを制御することができる。
【0113】
<符号化処理の流れ>
次に、この符号化装置100により実行される処理について説明する。この符号化装置100は、符号化処理を実行することによりポイントクラウドのデータを符号化する。この符号化処理の流れの例を、
図10のフローチャートを参照して説明する。
【0114】
符号化処理が開始されると、符号化装置100のジオメトリデータ符号化部111は、ステップS101において、ジオメトリデータ符号化処理を実行することにより、入力されたポイントクラウドのジオメトリデータを符号化し、ジオメトリデータの符号化データを生成する。
【0115】
ステップS102において、アトリビュートデータ符号化部112は、入力されたポイントクラウドのアトリビュートデータを符号化し、アトリビュートデータの符号化データを生成する。
【0116】
ステップS102の処理が終了すると符号化処理が終了する。
【0117】
<ジオメトリデータ符号化処理の流れ>
次に、
図10のステップS101において実行されるジオメトリデータ符号化処理の流れの例を、
図11のフローチャートを参照して説明する。
【0118】
ジオメトリデータ符号化処理が開始されると、参照構造形成部131は、ステップS131において、参照構造形成処理を実行し、ジオメトリデータの参照構造(プレディクションツリー)を形成する。なお、参照構造形成部131は、その形成した参照構造に対応するレイヤ情報も生成する。
【0119】
ステップS132において、参照構造形成部131は、ステップS131において形成した参照構造の先頭ノードのジオメトリデータ等をスタック132に格納する。
【0120】
ステップS133において、予測モード決定部133は、そのスタック132から最後に格納されたポイント(ノード)のジオメトリデータ等を取得する。
【0121】
ステップS134において、予測モード決定部133は、ステップS133において情報を取得したポイントを処理対象とし、その処理対象ポイントについて、ジオメトリデータの予測残差を導出し、予測モードを決定する。
【0122】
ステップS135において、符号化部134は、ステップS134において決定された予測モードを符号化する。また、ステップS136において、符号化部134は、ジオメトリデータの、ステップS134において決定された予測モードの予測残差を符号化する。さらに、ステップS137において、符号化部134は、処理対象ノードの子ノードが度のノードであるかを示す子ノード情報を符号化する。また、ステップS138において、符号化部134は、ステップS131において生成されたレイヤ情報を符号化する。符号化部134は、これらの情報の符号化データをジオメトリデータの符号化データとしてアトリビュートデータ符号化部112に供給する。
【0123】
ステップS139において、参照構造形成部131は、ユーザ等による符号化制御に基づいて、処理対象ノードの子ノードを符号化するか否かを判定する。符号化すると判定された場合、処理はステップS140に進む。
【0124】
ステップS140において、参照構造形成部131は、その子ノードのジオメトリデータ等をスタック132に格納する。ステップS140の処理が終了すると、処理はステップS141に進む。また、ステップS139において、子ノードを符号化しないと判定された場合、ステップS140の処理がスキップされ、処理はステップS141に進む。
【0125】
ステップS141において、予測ポイント生成部135は、処理対象ポイントのジオメトリデータを用いて生成し得る予測ポイントのジオメトリデータを生成する。
【0126】
ステップS142において、予測モード決定部133は、スタック132が空であるか否かを判定する。スタック132が空でない(つまり、少なくとも1つ以上のポイントの情報が格納されている)と判定された場合、処理はステップS133に戻る。つまり、スタック132に最後に格納されたポイントを処理対象として、ステップS133乃至ステップS142の処理が実行される。
【0127】
このような処理を繰り返し、ステップS142において、スタックが空であると判定された場合、ジオメトリデータ符号化処理が終了し、処理は
図10に戻る。
【0128】
<参照構造形成処理の流れ>
次に、
図11のステップS131において実行される参照構造形成処理の流れの例を、
図12のフローチャートを参照して説明する。
【0129】
参照構造形成処理が開始されると、グループ分け処理部151は、ステップS161において、ポイントクラウドの各ポイントをグループ分けする。
【0130】
ステップS162において、ソート部152は、ポイントクラウドの各ポイントの処理順を、ステップS161において設定したグループ毎に並ぶように並べ替える。
【0131】
ステップS163において、グループ階層化参照構造形成部153は、ステップS163においてソートされた順に各ポイントの参照先を形成することによりグループ階層化された参照構造を形成する。
【0132】
ステップS164において、レイヤ情報生成部154は、各ポイントのレイヤ情報を形成する。
【0133】
ステップS164の処理が終了すると参照構造形成処理が終了し、処理は
図11に戻る。
【0134】
以上のように各種処理を実行することにより、符号化装置100は、ジオメトリデータの参照構造をグループ階層化することができる。したがって、符号化装置100は、上述したように、符号化処理の負荷の増大を抑制することができる。また、その符号化により生成されるジオメトリデータの符号化データのビットレートを制御することができる。付言するに、その符号化データを記憶する際の記憶容量や、その符号化データを伝送する際の伝送レートを制御することができる。
【0135】
<復号装置>
図13は、本技術を適用した情報処理装置の一態様である復号装置の構成の一例を示すブロック図である。
図13に示される復号装置200は、ポイントクラウド(3Dデータ)の符号化データを復号する装置である。復号装置200は、例えば、符号化装置100において生成されたポイントクラウドの符号化データを復号する。
【0136】
なお、
図13においては、処理部やデータの流れ等の主なものを示しており、
図13に示されるものが全てとは限らない。つまり、復号装置200において、
図13においてブロックとして示されていない処理部が存在したり、
図13において矢印等として示されていない処理やデータの流れが存在したりしてもよい。
【0137】
図13に示されるように復号装置200は、ジオメトリデータ復号部211およびアトリビュートデータ復号部212を有する。
【0138】
ジオメトリデータ復号部211は、符号化装置100に入力されたポイントクラウド(3Dデータ)の符号化データを取得し、そのジオメトリデータの符号化データを復号して、ジオメトリデータを生成し、生成したジオメトリデータとアトリビュートデータの符号化データとをアトリビュートデータ復号部212に供給する。
【0139】
アトリビュートデータ復号部212は、ジオメトリデータ復号部211から供給されたジオメトリデータとアトリビュートデータの符号化データとを取得する。また、アトリビュートデータ復号部212は、そのジオメトリデータを用いてアトリビュートデータの符号化データを復号してアトリビュートデータを生成し、ジオメトリデータと、生成したアトリビュートデータとを、ポイントクラウドデータとして復号装置200の外部に出力する。
【0140】
なお、これらの処理部(ジオメトリデータ復号部211およびアトリビュートデータ復号部212)は、任意の構成を有する。例えば、各処理部が、上述の処理を実現する論理回路により構成されるようにしてもよい。また、各処理部が、例えばCPU、ROM、RAM等を有し、それらを用いてプログラムを実行することにより、上述の処理を実現するようにしてもよい。もちろん、各処理部が、その両方の構成を有し、上述の処理の一部を論理回路により実現し、他を、プログラムを実行することにより実現するようにしてもよい。各処理部の構成は互いに独立していてもよく、例えば、一部の処理部が上述の処理の一部を論理回路により実現し、他の一部の処理部がプログラムを実行することにより上述の処理を実現し、さらに他の処理部が論理回路とプログラムの実行の両方により上述の処理を実現するようにしてもよい。
【0141】
<ジオメトリデータ復号部>
図14は、ジオメトリデータ復号部211の主な構成例を示すブロック図である。なお、
図14においては、処理部やデータの流れ等の主なものを示しており、
図14に示されるものが全てとは限らない。つまり、ジオメトリデータ復号部211において、
図14においてブロックとして示されていない処理部が存在したり、
図14において矢印等として示されていない処理やデータの流れが存在したりしてもよい。
【0142】
図14に示されるように、ジオメトリデータ復号部211は、記憶部231、スタック232、復号部233、ジオメトリデータ生成部234、および予測ポイント生成部235を有する。
【0143】
ジオメトリデータ復号部211に供給されるジオメトリデータの符号化データは、記憶部231に供給される。なお、アトリビュートデータの符号化データは、ジオメトリデータ復号部211においては処理されず、アトリビュートデータ復号部212に供給される。
【0144】
記憶部231は、ジオメトリデータ復号部211に供給されるジオメトリデータの符号化データを記憶する。また、記憶部231は、復号部233の制御に従って、復号するポイントのジオメトリデータの符号化データをスタック232に供給する。その際、記憶部231は、
図4の表を参照して上述したような各種方法を適用し得る。
【0145】
スタック232は、情報を後入れ先出し方式で保持する。例えば、スタック232は、記憶部231から供給される各ポイントの符号化データを保持する。また、スタック232は、復号部233からの要求に応じて、保持している情報の中で最後に保持した情報を復号部233に供給する。
【0146】
復号部233は、ジオメトリデータの符号化データの復号に関する処理を行う。例えば、復号部233は、スタック232に最後に保持されたポイントの符号化データを取得する。また、復号部233は、取得した符号化データを復号し、ジオメトリデータ(予測残差等)を生成する。その際、復号部233は、
図4の表を参照して上述したような各種方法を適用し得る。復号部233は、生成したジオメトリデータ(予測残差等)をジオメトリデータ生成部234に供給する。
【0147】
また、復号部233は、例えば、ユーザ等により要求された一部の符号化データのみを復号するように復号制御ことができる。例えば、復号部233は、グループ階層毎に復号するか否かを制御することができる。また、復号部233は、参照構造の枝毎に復号するか否かを制御することができる。そして、復号部233は、記憶部231を制御し、復号するポイントの符号化データのみをスタック232に格納させることができる。このような復号制御により、復号部233は、ジオメトリデータのスケーラブルな復号を実現することができる。
【0148】
つまり、復号部233は、3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドのポイントを分類したグループにより階層化されたそのポイントクラウドの符号化におけるジオメトリデータの参照構造におけるそのグループによる階層であるグループ階層を示すレイヤ情報に基づいて、参照構造に基づいて導出された各ポイントのジオメトリデータとその予測値との差分である予測残差が符号化された符号化データの内、所望のグループ階層に対応する符号化データを復号してもよい。
【0149】
ジオメトリデータ生成部234は、ジオメトリデータの生成に関する処理を行う。例えば、ジオメトリデータ生成部234は、復号部233から供給される予測残差等の情報を取得する。また、ジオメトリデータ生成部234は、予測ポイント生成部235から処理対象ポイントに対応する予測ポイント(つまり、処理対象ポイントのジオメトリデータの予測値)を取得する。そして、ジオメトリデータ生成部234は、取得した予測残差と予測値とを用いて(例えば両者を加算して)、処理対象ポイントのジオメトリデータを生成する。ジオメトリデータ生成部234は、生成したジオメトリデータをアトリビュートデータ復号部212に供給する。
【0150】
予測ポイント生成部235は、予測ポイントの生成、すなわち、予測値の導出に関する処理を行う。例えば、予測ポイント生成部235は、ジオメトリデータ生成部234において生成された処理対象ポイントのジオメトリデータ等の情報を取得する。また、予測ポイント生成部235は、その処理対象ポイントのジオメトリデータ等を用いて生成可能な予測ポイントのジオメトリデータ(例えば、処理対象ノードの子ノードのジオメトリデータの予測値)を導出する。その際、予測ポイント生成部235は、
図4の表を参照して上述したような各種方法を適用し得る。例えば、予測ポイント生成部235は、符号化装置100の予測ポイント生成部135の場合と同様に予測ポイントを生成し得る。予測ポイント生成部235は、その導出した予測値を必要に応じてジオメトリデータ生成部234に供給する。
【0151】
以上のような構成とすることにより、復号装置200は、ジオメトリデータのグループ化された参照構造を用いて符号化データを復号することができる。したがって、復号装置200は、上述したように、スケーラブルな復号を実現し、復号処理の負荷の増大を抑制することができる。
【0152】
<復号処理の流れ>
次に、この復号装置200により実行される処理について説明する。この復号装置200は、復号処理を実行することによりポイントクラウドの符号化データを復号する。この復号処理の流れの例を、
図15のフローチャートを参照して説明する。
【0153】
復号処理が開始されると、復号装置200のジオメトリデータ復号部211は、ステップS201において、ジオメトリデータ復号処理を実行することにより、入力されたポイントクラウドのジオメトリデータの符号化データを復号し、ジオメトリデータを生成する。
【0154】
ステップS202において、アトリビュートデータ復号部212は、入力されたポイントクラウドのアトリビュートデータの符号化データを符号化し、アトリビュートデータを生成する。
【0155】
ステップS202の処理が終了すると復号処理が終了する。
【0156】
<ジオメトリデータ復号処理の流れ>
次に、
図15のステップS201において実行されるジオメトリデータ復号処理の流れの例を、
図16のフローチャートを参照して説明する。
【0157】
ジオメトリデータ復号処理が開始されると、記憶部231は、供給されたジオメトリデータの符号化データを記憶し、ステップS231において、そのジオメトリデータの参照構造(プレディクションツリー)の先頭ノードの符号化データをスタック232に格納する。
【0158】
ステップS232において、復号部233は、そのスタック232から最後に格納されたポイント(ノード)の符号化データを取得する。
【0159】
ステップS233において、復号部233は、ステップS232において取得した符号化データを復号し、レイヤ情報を生成する。また、ステップS234において、復号部233は、ステップS232において取得した符号化データを復号し、予測モードとジオメトリデータの予測残差を生成する。
【0160】
ステップS235において、ジオメトリデータ生成部234は、ステップS234において生成された予測残差と、処理対象ノードの予測値とを用いて(例えば両者を加算して)、処理対象ノードのジオメトリデータを生成する。
【0161】
ステップS236において、予測ポイント生成部235は、処理対象ノードのジオメトリデータを用いて生成可能な予測ポイントのジオメトリデータ(つまり予測値)を生成する。
【0162】
ステップS237において、復号部233は、ステップS232において取得した符号化データを復号し、子ノード情報を生成する。
【0163】
ステップS238において、復号部233は、ユーザ等の復号制御に従って、その子ノード情報やレイヤ情報等に基づいて、子ノードも復号するか否かを判定する。子ノードも復号すると判定された場合、処理はステップS239に進む。
【0164】
ステップS239において、復号部233は、記憶部231を制御し、その子ノードの符号化データをスタック232に格納させる。ステップS239の処理が終了すると処理はステップS240に進む。また、ステップS238において、子ノードを復号しないと判定された場合、ステップS239の処理はスキップされ、処理はステップS240に進む。
【0165】
ステップS240において、復号部233は、スタック232が空であるか否かを判定する。スタック232が空でない(つまり、少なくとも1つ以上のポイントの情報が格納されている)と判定された場合、処理はステップS232に戻る。つまり、スタック232に最後に格納されたポイントを処理対象として、ステップS232乃x至ステップS240の処理が実行される。
【0166】
このような処理を繰り返し、ステップS240において、スタックが空であると判定された場合、ジオメトリデータ復号処理が終了し、処理は
図15に戻る。
【0167】
以上のように各種処理を実行することにより、復号装置200は、ジオメトリデータのグループ化された参照構造を用いて符号化データを復号することができる。したがって、復号装置200は、上述したように、スケーラブルな復号を実現し、復号処理の負荷の増大を抑制することができる。
【0168】
<トランスコーダ>
図17は、本技術を適用した情報処理装置の一態様であるトランスコーダの構成の一例を示すブロック図である。
図17に示されるトランスコーダ300は、ポイントクラウド(3Dデータ)の符号化データを復号し、例えばパラメータ変換などを行って再符号化する装置である。トランスコーダ300は、例えば、符号化装置100において生成されたポイントクラウドの符号化データをトランスコード(復号・符号化)する。
【0169】
なお、
図17においては、処理部やデータの流れ等の主なものを示しており、
図17に示されるものが全てとは限らない。つまり、トランスコーダ300において、
図17においてブロックとして示されていない処理部が存在したり、
図17において矢印等として示されていない処理やデータの流れが存在したりしてもよい。
【0170】
図17に示されるようにトランスコーダ300は、ジオメトリデータ復号部311、ジオメトリデータ符号化部312、およびアトリビュートデータトランスコード処理部313を有する。
【0171】
ジオメトリデータ復号部311は、トランスコーダ300に入力されたポイントクラウドデータの符号化データを取得する。ジオメトリデータ復号部311は、その符号化データを復号し、ジオメトリデータを生成する。その際、ジオメトリデータ復号部311は、
図4の表を参照して上述したような各種方法を適用し得る。例えば、ジオメトリデータ復号部311は、復号装置200のジオメトリデータ復号部211と同様の構成を有し、同様の処理を行うようにしてもよい。つまりジオメトリデータ復号部311がスケーラブルな復号を実現してもよい。ジオメトリデータ復号部311は、アトリビュートデータの符号化データと、生成したジオメトリデータとをジオメトリデータ符号化部312に供給する。
【0172】
ジオメトリデータ符号化部312は、ジオメトリデータ復号部311から供給された、アトリビュートデータの符号化データとジオメトリデータとを取得する。ジオメトリデータ符号化部312は、ジオメトリデータを再符号化し、ジオメトリデータの符号化データを生成する。その際、ジオメトリデータ符号化部312は、
図4の表を参照して上述したような各種方法を適用し得る。例えば、ジオメトリデータ符号化部312は、符号化装置100のジオメトリデータ符号化部111と同様の構成を有し、同様の処理を行うようにしてもよい。つまり、ジオメトリデータ符号化部312は、ジオメトリデータの参照構造をグループ階層化してもよい。また、その参照構造決定後に、ジオメトリデータ符号化部312が、ポイント数を低減させて符号化することもできる。つまり、ジオメトリデータ符号化部312が、生成する符号化データのビットレートを制御することができるようにしてもよい。ジオメトリデータ符号化部312は、アトリビュートデータの符号化データと、生成したジオメトリデータの符号化データとをアトリビュートデータトランスコード処理部313に供給する。
【0173】
なお、例えばポイント数の削減等といった、ジオメトリデータのパラメータの変更は、ジオメトリデータ復号部311において行う(スケーラブルな復号により行う)ようにしてもよし、ジオメトリデータ符号化部312において行うようにしてもよいし、その両方において行うようにしてもよい。
【0174】
アトリビュートデータトランスコード処理部313は、アトリビュートデータのトランスコードに関する処理を行う。例えば、アトリビュートデータトランスコード処理部313は、ジオメトリデータ符号化部312から供給されるジオメトリデータの符号化データとアトリビュートデータの符号化データとを取得する。また、アトリビュートデータトランスコード処理部313は、所定の方法で、取得したアトリビュートデータの符号化データを復号し、再符号化する(トランスコードする)。アトリビュートデータトランスコード処理部313は、ジオメトリデータの符号化データと、生成したアトリビュートデータの符号化データとをトランスコード結果として、トランスコーダ300の外部に出力する。
【0175】
以上のような構成とすることにより、トランスコーダ300は、トランスコードの際に、ポイント数を低減させることができる。つまり、トランスコーダ300は、トランスコードの負荷の増大を抑制することができる。また、トランスコーダ300は、トランスコードにより生成されるジオメトリデータの符号化データのビットレートを制御することができる。
【0176】
なお、これらの処理部(ジオメトリデータ復号部311乃至アトリビュートデータトランスコード処理部313)は、任意の構成を有する。例えば、各処理部が、上述の処理を実現する論理回路により構成されるようにしてもよい。また、各処理部が、例えばCPU、ROM、RAM等を有し、それらを用いてプログラムを実行することにより、上述の処理を実現するようにしてもよい。もちろん、各処理部が、その両方の構成を有し、上述の処理の一部を論理回路により実現し、他を、プログラムを実行することにより実現するようにしてもよい。各処理部の構成は互いに独立していてもよく、例えば、一部の処理部が上述の処理の一部を論理回路により実現し、他の一部の処理部がプログラムを実行することにより上述の処理を実現し、さらに他の処理部が論理回路とプログラムの実行の両方により上述の処理を実現するようにしてもよい。
【0177】
<トランスコード処理の流れ>
次に、このトランスコーダ300により実行される処理について説明する。このトランスコーダ300は、トランスコード処理を実行することによりポイントクラウドの符号化データをトランスコードする。このトランスコード処理の流れの例を、
図18のフローチャートを参照して説明する。
【0178】
トランスコード処理が開始されると、トランスコーダ300のジオメトリデータ復号部311は、ステップS301において、ジオメトリデータ復号処理を実行することにより、符号化データを復号し、ジオメトリデータを生成する。例えば、ジオメトリデータ復号部311は、
図16のフローチャートを参照して説明したジオメトリデータ復号処理と同様の流れで、このジオメトリデータ復号処理を行うことができる。
【0179】
ステップS302において、ジオメトリデータ符号化部312は、ジオメトリデータ符号化処理を実行することにより、ジオメトリデータを符号化し、その符号化データを生成する。例えば、ジオメトリデータ符号化部312は、
図11のフローチャートを参照して説明したジオメトリデータ符号化処理と同様の流れで、このジオメトリデータ符号化処理を行うことができる。
【0180】
ステップS303において、アトリビュートデータトランスコード処理部313は、アトリビュートデータをトランスコードする。ステップS303の処理が終了するとトランスコード処理が終了する。
【0181】
以上のように各処理を実行することにより、トランスコーダ300は、トランスコードの際に、ポイント数を低減させることができる。つまり、トランスコーダ300は、トランスコードの負荷の増大を抑制することができる。また、トランスコーダ300は、トランスコードにより生成されるジオメトリデータの符号化データのビットレートを制御することができる。
【0182】
<2.第2の実施の形態>
<アトリビュートデータの予測残差符号化>
ところで非特許文献2に記載のプレディクティブジオメトリコーディングの場合、処理対象はジオメトリデータであり、アトリビュートデータは他の方法により符号化されていた。そのため、ジオメトリデータとアトリビュートデータのそれぞれに対して互いに異なる符号化・復号方法を適用する必要があり、コストが増大するおそれがあった。
【0183】
そこで、
図19に示される表の一番上の段に示されるように、プレディクティブジオメトリコーディングを拡張し、
図19に示される表の上から2番目の段(「2」の段)に示されるように、アトリビュートデータの符号化に、プレディクティブジオメトリコーディングを適用する。
【0184】
例えば、3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドの符号化におけるアトリビュートデータの参照構造を形成し、その形成された参照構造に基づいて、各ポイントについてアトリビュートデータの予測値を導出し、そのアトリビュートデータと予測値との差分である予測残差を導出し、その導出された各ポイントのアトリビュートデータの予測残差を符号化する。
【0185】
例えば、情報処理装置において、3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドの符号化におけるアトリビュートデータの参照構造を形成する参照構造形成部と、その参照構造形成部により形成された参照構造に基づいて、各ポイントについてアトリビュートデータの予測値を導出し、そのアトリビュートデータと予測値との差分である予測残差を導出する予測残差導出部と、その予測残差導出部により導出された各ポイントのアトリビュートデータの予測残差を符号化する符号化部とを備えるようにする。
【0186】
このように、アトリビュートデータの符号化にプレディクティブジオメトリコーディングと同様の手法を適用することにより、アトリビュートデータの符号化において、ジオメトリデータの場合と同様の効果を得ることができる。例えば、予測残差を符号化するので、アトリビュートデータの符号化データの符号量の増大を抑制することができる。付言するに、その符号化データを記憶する際の記憶容量や、その符号化データを伝送する際の伝送レートを制御することができる。つまり、アトリビュートデータの符号化データビットレートを制御することができる。
【0187】
なお、
図19に示される表の上から3番目の段(「2-1」の段)に示されるように、その場合のアトリビュートデータの参照構造について、
図19に示される表の上から4番目の段(「2-1-1」の段)に示されるように、ジオメトリデータとアトリビュートデータとで参照構造を共通化してもよい。
【0188】
例えば、プレディクティブジオメトリコーディング(つまりジオメトリデータの符号化)において適用された参照構造を、アトリビュートデータの符号化にも適用してもよい。このようにすることにより、アトリビュートデータの参照構造の形成が不要になるので、符号化処理の負荷の増大を抑制することができる。また、ジオメトリデータとアトリビュートデータとで参照構造が共通化されることにより、ポイントクラウドデータ(ジオメトリデータおよびアトリビュートデータ)のスケーラブルな復号が可能となる。したがって、復号処理の負荷の増大を抑制することができる。また、より低遅延な復号が可能になる。
【0189】
このようにジオメトリデータとアトリビュートデータとで参照構造を共通化する場合、ジオメトリデータに基づいて参照構造を形成してもよいし、アトリビュートデータに基づいて参照構造を形成してもよいし、ジオメトリデータとアトリビュートデータの両方に基づいて参照構造を形成してもよい。
【0190】
また、
図19に示される表の上から5番目の段(「2-1-2」の段)に示されるように、アトリビュートデータの全部または一部の参照構造を、ジオメトリデータの参照構造と独立に形成してもよい。例えば、アトリビュートデータの色(RGB)に関するパラメータは、ジオメトリデータと共通の参照構造とし、アトリビュートデータの反射率等のパラメータは、ジオメトリデータの参照構造と独立に形成してもよい。
【0191】
また、
図19に示される表の上から6番目の段(「2-2」の段)に示されるように、処理対象ノードの予測ポイントのアトリビュートデータを、
図19に示される表の上から7番目の段(「2-2-1」の段)に示されるように、処理対象ノードの親ノードのアトリビュートデータと同一としてもよい。
【0192】
また、
図19に示される表の上から8番目の段(「2-2-2」の段)に示されるように、処理対象ノードの予測ポイントのアトリビュートデータを、処理対象ノードの親ノードとのアトリビュートデータと、その親ノードのアトリビュートデータとの平均としてもよい。さらに、
図19に示される表の上から9番目の段(「2-2-3」の段)に示されるように、処理対象ノードの予測ポイントのアトリビュートデータを、処理対象ノードの親ノードとのアトリビュートデータと、その親ノードのアトリビュートデータとの、それらのノードに対応するポイント間の距離の逆数を重みにした重み付き平均としてもよい。また、
図19に示される表の上から10番目の段(「2-2-4」の段)に示されるように、処理対象ノードの予測ポイントのアトリビュートデータを、復号済みノードの近傍kノードのアトリビュートデータの平均としてもよい。
【0193】
また、
図19に示される表の上から11番目の段(「2-3」の段)に示されるように、予測ポイントの選び方について、
図19に示される表の上から12番目の段(「2-3-1」の段)に示されるように、ジオメトリデータの予測残差が最小となる予測ポイントを選択するようにしてもよい。また、
図19に示される表の上から13番目の段(「2-3-2」の段)に示されるように、アトリビュートデータの予測残差が最小となる予測ポイントを選択するようにしてもよい。
【0194】
さらに、
図19に示される表の一番下の段(「2-3-3」の段)に示されるように、ジオメトリデータおよびアトリビュートデータの予測残差が最小となる予測ポイントを選択するようにしてもよい。
【0195】
例えば、以下の式(1)のように、ジオメトリデータの各変数(x座標、y座標、z座標)とアトリビュートデータの各変数(色や反射率等)のそれぞれの予測残差を評価関数f()の変数とし、それらの変数の予測残差の合計に基づいて予測ポイントを選択するようにしてもよい。
【0196】
f(diffX,diffY,diffZ,diffAttr1,・・・) = sum(diffX + diffY+ diffZ + diffAttr1 + ・・・)
・・・(1)
【0197】
なお、式(1)においてdiff[変数名]は、各変数の予測残差を示す。このようにすることにより、位置だけでなく、アトリビュートデータの各変数も考慮して、予測モードを選択することができるので、ジオメトリデータだけでなくアトリビュートデータの特性にも適応させて符号化・復号を行うことができる。例えばアトリビュートデータの変数が多い場合(次元数が多い場合)や、アトリビュートデータの変数のレンジがジオメトリデータの変数に比べて大きい場合、ジオメトリデータの変数に対する依存度を低減させる(換言するに、アトリビュートデータの変数に対する依存度を向上させる)ように、予測モードを選択することができる。
【0198】
<符号化装置>
次に、上述した本技術を適用する装置について説明する。
図20は、本技術を適用した情報処理装置の一態様である符号化装置の構成の一例を示すブロック図である。
図20に示される符号化装置400は、符号化装置100と同様に、ポイントクラウド(3Dデータ)を符号化する装置である。ただし、符号化装置400は、例えば
図19等を参照して上述した本技術を適用してポイントクラウドを符号化する。
【0199】
なお、
図20においては、処理部やデータの流れ等の主なものを示しており、
図20に示されるものが全てとは限らない。つまり、符号化装置400において、
図20においてブロックとして示されていない処理部が存在したり、
図20において矢印等として示されていない処理やデータの流れが存在したりしてもよい。
【0200】
図20に示されるように符号化装置400は、参照構造形成部411、スタック412、予測モード決定部413、符号化部414、および予測ポイント生成部415を有する。
【0201】
符号化装置400に供給されるポイントクラウドデータ(ジオメトリデータおよびアトリビュートデータ)は、参照構造形成部411に供給される。
【0202】
参照構造形成部411は、供給されたジオメトリデータおよびアトリビュートデータの両方について、ポイントクラウドの符号化における参照構造(プレディクションツリー)を生成する。その際、参照構造形成部411は、
図19の表を参照して上述したような各種方法を適用し、参照構造を形成し得る。例えば、参照構造形成部411は、ジオメトリデータとアトリビュートデータとで共通の参照構造を形成することができる。また、参照構造形成部411は、ジオメトリデータの参照構造とアトリビュートデータの参照構造とを互いに独立に形成することができる。参照構造形成部411は、形成した参照構造に従って、処理対象ポイントのジオメトリデータやアトリビュートデータをスタック412に供給する。
【0203】
スタック412は、情報を後入れ先出し方式で保持する。例えば、スタック412は、参照構造形成部131から供給される各ポイントの情報を保持する。また、スタック412は、予測モード決定部413からの要求に応じて、保持している情報の中で最後に保持した情報を予測モード決定部413に供給する。スタック412は、ジオメトリデータおよびアトリビュートデータの両方について、これらの処理を行うことができる。
【0204】
予測モード決定部413は、予測モード(予測ポイント)の決定に関する処理を行う。例えば、予測モード決定部413は、スタック412に最後に保持されたポイントの情報を取得する。また、予測モード決定部413は、そのポイントの予測ポイントの情報(つまり処理対象ポイントの予測値)等を予測ポイント生成部415より取得する。
図2の例のように処理対象ポイントに対応する予測ポイントが複数存在する場合は、その全てを取得する。そして、予測モード決定部413は、適用する予測ポイント(つまり予測モード)を決定する。
【0205】
予測モード決定部413は、このような処理を、ジオメトリデータおよびアトリビュートデータの両方について、行うことができる。また、予測モード決定部413は、その処理の際、
図19の表を参照して上述したような各種方法を適用し得る。
【0206】
例えば、予測モード決定部413は、ジオメトリデータの予測残差が最小となる予測ポイント(予測モード)を選択することができる。また、予測モード決定部413は、アトリビュートデータの予測残差が最小となる予測ポイント(予測モード)を選択することができる。さらに、予測モード決定部413は、ジオメトリデータおよびアトリビュートデータの予測残差が最小となる予測ポイント(予測モード)を選択することができる。
【0207】
予測モード決定部413は、各ポイントに関する情報(例えば、選択した予測モードのジオメトリデータおよびアトリビュートデータの予測残差等)を符号化部414に供給する。
【0208】
符号化部414は、予測モード決定部413により供給される情報(例えば、選択された予測モードの予測残差等)を取得し、符号化し、符号化データを生成する。符号化部414は、このような処理を、ジオメトリデータおよびアトリビュートデータの両方について、行うことができる。
【0209】
符号化部414は、生成した符号化データをジオメトリデータやアトリビュートデータの符号化データとして、符号化装置400の外部(例えば復号側)に供給する。また、符号化部414は、処理対象ポイントのジオメトリデータやアトリビュートデータを予測ポイント生成部415に供給する。
【0210】
予測ポイント生成部415は、予測ポイントの生成、すなわち、予測値の導出に関する処理を行う。例えば、予測ポイント生成部415は、符号化部414から供給される、処理対象ポイントのジオメトリデータやアトリビュートデータ等の情報を取得する。また、予測ポイント生成部415は、その処理対象ポイントのジオメトリデータやアトリビュートデータ等を用いて生成可能な予測ポイントのジオメトリデータやアトリビュートデータ(例えば、処理対象ノードの子ノードのジオメトリデータやアトリビュートデータの予測値)を導出する。その際、予測ポイント生成部415は、
図19の表を参照して上述したような各種方法を適用し得る。予測ポイント生成部415は、その導出した予測値を必要に応じて予測モード決定部413に供給する。
【0211】
以上のような構成とすることにより、符号化装置400は、プレディクティブジオメトリコーディングと同様の方法によりアトリビュートデータを符号化することができる。したがって、符号化装置400は、アトリビュートデータの符号化において、ジオメトリデータの場合と同様の効果を得ることができる。例えば、予測残差を符号化するので、符号化装置400は、アトリビュートデータの符号化データの符号量の増大を抑制することができる。付言するに、符号化装置400は、その符号化データを記憶する際の記憶容量や、その符号化データを伝送する際の伝送レートを制御することができる。つまり、符号化装置400は、アトリビュートデータの符号化データビットレートを制御することができる。
【0212】
なお、これらの処理部(参照構造形成部411乃至予測ポイント生成部415)は、任意の構成を有する。例えば、各処理部が、上述の処理を実現する論理回路により構成されるようにしてもよい。また、各処理部が、例えばCPU、ROM、RAM等を有し、それらを用いてプログラムを実行することにより、上述の処理を実現するようにしてもよい。もちろん、各処理部が、その両方の構成を有し、上述の処理の一部を論理回路により実現し、他を、プログラムを実行することにより実現するようにしてもよい。各処理部の構成は互いに独立していてもよく、例えば、一部の処理部が上述の処理の一部を論理回路により実現し、他の一部の処理部がプログラムを実行することにより上述の処理を実現し、さらに他の処理部が論理回路とプログラムの実行の両方により上述の処理を実現するようにしてもよい。
【0213】
<符号化処理の流れ>
次に、この符号化装置400により実行される処理について説明する。この符号化装置400は、符号化処理を実行することによりポイントクラウドのデータを符号化する。この符号化処理の流れの例を、
図21のフローチャートを参照して説明する。
【0214】
符号化処理が開始されると、参照構造形成部411は、ステップS401において、参照構造形成処理を実行し、ジオメトリデータとアトリビュートデータの参照構造(プレディクションツリー)を形成する。参照構造形成部411は、例えば、非特許文献2に記載の方法と同様の方法で参照構造を形成し得る。
【0215】
ステップS402において、参照構造形成部411は、ステップS401において形成した参照構造の先頭ノードのジオメトリデータやアトリビュートデータ等をスタック412に格納する。
【0216】
ステップS403において、予測モード決定部413は、そのスタック412から最後に格納されたポイント(ノード)のジオメトリデータやアトリビュートデータ等を取得する。
【0217】
ステップS404において、予測モード決定部413は、ステップS403において情報を取得したポイントを処理対象とし、その処理対象ポイントについて、ジオメトリデータの予測残差を導出し、予測モードを決定する。
【0218】
ステップS405において、符号化部414は、ステップS404において決定された予測モードを符号化する。また、ステップS406において、符号化部414は、ジオメトリデータの、ステップS404において決定された予測モードの予測残差を符号化する。
【0219】
ステップS407において、予測モード決定部413は、リカラー処理を行い、アトリビュートデータの予測残差を導出する。ステップS408において、符号化部414は、アトリビュートデータの予測残差を符号化する。
【0220】
ステップS409において、符号化部414は、処理対象ノードの子ノードがどのノードであるかを示す子ノード情報を符号化する。
【0221】
ステップS410において、参照構造形成部411は、ユーザ等による符号化制御に基づいて、処理対象ノードの子ノードを符号化するか否かを判定する。符号化すると判定された場合、処理はステップS411に進む。
【0222】
ステップS411において、参照構造形成部411は、その子ノードのジオメトリデータ等をスタック412に格納する。ステップS411の処理が終了すると、処理はステップS412に進む。また、ステップS410において、子ノードを符号化しないと判定された場合、ステップS411の処理がスキップされ、処理はステップS412に進む。
【0223】
ステップS412において、予測ポイント生成部415は、処理対象ポイントの情報(ジオメトリデータやアトリビュートデータ等)を用いて生成し得る予測ポイントのジオメトリデータおよびアトリビュートデータを生成する。
【0224】
ステップS413において、予測モード決定部413は、スタック412が空であるか否かを判定する。スタック412が空でない(つまり、少なくとも1つ以上のポイントの情報が格納されている)と判定された場合、処理はステップS403に戻る。つまり、スタック412に最後に格納されたポイントを処理対象として、ステップS403乃至ステップS413の各処理が実行される。
【0225】
このような処理を繰り返し、ステップS413において、スタックが空であると判定された場合、ジオメトリデータ符号化処理が終了する。
【0226】
以上のように各種処理を実行することにより、符号化装置400は、プレディクティブジオメトリコーディングと同様の方法によりアトリビュートデータを符号化することができる。したがって、符号化装置400は、アトリビュートデータの符号化において、ジオメトリデータの場合と同様の効果を得ることができる。例えば、予測残差を符号化するので、符号化装置400は、アトリビュートデータの符号化データの符号量の増大を抑制することができる。付言するに、符号化装置400は、その符号化データを記憶する際の記憶容量や、その符号化データを伝送する際の伝送レートを制御することができる。つまり、符号化装置400は、アトリビュートデータの符号化データビットレートを制御することができる。
【0227】
<復号装置>
図22は、本技術を適用した情報処理装置の一態様である復号装置の構成の一例を示すブロック図である。
図22に示される復号装置500は、ポイントクラウド(3Dデータ)の符号化データを復号する装置である。復号装置500は、例えば、符号化装置400において生成されたポイントクラウドの符号化データを復号する。
【0228】
なお、
図22においては、処理部やデータの流れ等の主なものを示しており、
図22に示されるものが全てとは限らない。つまり、復号装置500において、
図22においてブロックとして示されていない処理部が存在したり、
図22において矢印等として示されていない処理やデータの流れが存在したりしてもよい。
【0229】
図22に示されるように、復号装置50は、記憶部511、スタック512、復号部513、ポイントデータ生成部514、および予測ポイント生成部515を有する。
【0230】
復号装置500に供給されるジオメトリデータおよびアトリビュートデータの符号化データは、記憶部511に供給される。
【0231】
記憶部511は、復号装置500に供給されるジオメトリデータおよびアトリビュートデータの符号化データを記憶する。また、記憶部511は、復号部513の制御に従って、復号するポイントのジオメトリデータおよびアトリビュートデータの符号化データをスタック512に供給する。
【0232】
スタック512は、情報を後入れ先出し方式で保持する。例えば、スタック512は、記憶部511から供給される各ポイントのジオメトリデータやアトリビュートデータの符号化データ等を保持する。また、スタック512は、復号部513からの要求に応じて、保持している情報の中で最後に保持した情報(例えばジオメトリデータやアトリビュートデータの符号化データ等)を復号部513に供給する。
【0233】
復号部513は、ジオメトリデータおよびアトリビュートデータの両方について、符号化データの復号に関する処理を行う。例えば、復号部513は、スタック512に最後に保持されたポイントの符号化データを取得する。また、復号部513は、取得した符号化データを復号し、ジオメトリデータ(予測残差等)とアトリビュートデータ(予測残差等)を生成する。その際、復号部513は、
図19の表を参照して上述したような各種方法を適用し得る。復号部513は、生成したジオメトリデータ(予測残差等)やアトリビュートデータ(予測残差等)をポイントデータ生成部514に供給する。
【0234】
ポイントデータ生成部514は、ポイントデータ(ジオメトリデータおよびアトリビュートデータ)の生成に関する処理を行う。例えば、ポイントデータ生成部514は、復号部513から供給される予測残差等の情報を取得する。また、ポイントデータ生成部514は、予測ポイント生成部515から処理対象ポイントに対応する予測ポイント(つまり、処理対象ポイントのジオメトリデータの予測値とアトリビュートデータの予測値)を取得する。そして、ポイントデータ生成部514は、取得した予測残差と予測値とを用いて(例えば両者を加算して)、処理対象ポイントのジオメトリデータおよびアトリビュートデータをそれぞれ生成する。ポイントデータ生成部514は、生成したジオメトリデータおよびアトリビュートデータを復号装置500の外部に供給する。
【0235】
予測ポイント生成部515は、予測ポイントの生成、すなわち、予測値の導出に関する処理を行う。例えば、予測ポイント生成部515は、ポイントデータ生成部514において生成された処理対象ポイントのジオメトリデータやアトリビュートデータ等の情報を取得する。また、予測ポイント生成部515は、その処理対象ポイントのジオメトリデータやアトリビュートデータ等を用いて生成可能な予測ポイントのジオメトリデータ(例えば、処理対象ノードの子ノードのジオメトリデータの予測値)や、その予測ポイントのアトリビュートデータを導出する。その際、予測ポイント生成部515は、
図19の表を参照して上述したような各種方法を適用し得る。例えば、予測ポイント生成部515は、符号化装置400の予測ポイント生成部415の場合と同様に予測ポイントを生成し得る。予測ポイント生成部515は、その導出した予測値を必要に応じてポイントデータ生成部514に供給する。
【0236】
以上のような構成とすることにより、復号装置500は、ジオメトリデータの符号化データだけでなく、アトリビュートデータの符号化データも復号することができる。したがって、復号装置500は、復号処理の負荷の増大を抑制することができる。
【0237】
<復号処理の流れ>
次に、この復号装置500により実行される処理について説明する。この復号装置500は、復号処理を実行することによりポイントクラウドの符号化データを復号する。この復号処理の流れの例を、
図23のフローチャートを参照して説明する。
【0238】
復号処理が開始されると、記憶部511は、供給されたジオメトリデータおよびアトリビュートデータの符号化データを記憶し、ステップS501において、そのジオメトリデータおよびアトリビュートデータの参照構造(プレディクションツリー)の先頭ノードの符号化データをスタック232に格納する。
【0239】
ステップS502において、復号部513は、そのスタック512から最後に格納されたポイント(ノード)の符号化データを取得する。
【0240】
ステップS503において、復号部513は、ステップS502において取得した符号化データを復号し、予測モードとジオメトリデータの予測残差を生成する。
【0241】
ステップS504において、ポイントデータ生成部514は、ステップS503において生成された予測残差と、処理対象ノードの予測値とを用いて(例えば両者を加算して)、処理対象ノードのジオメトリデータを生成する。
【0242】
ステップS505において、復号部513は、ステップS502において取得した符号化データを復号し、アトリビュートデータの予測残差を生成する。ステップS506において、ポイントデータ生成部514は、ステップS503において生成された予測残差と、処理対象ノードの予測値とを用いて(例えば両者を加算して)、処理対象ノードのアトリビュートデータを生成する。
【0243】
ステップS507において、予測ポイント生成部515は、処理対象ノードのジオメトリデータを用いて生成可能な予測ポイントのジオメトリデータおよびアトリビュートデータ(つまり予測値)を生成する。ステップS503において生成された予測残差と、処理対象ノードの予測値とを用いて(例えば両者を加算して)、予測ポイントのジオメトリデータとアトリビュートデータを生成する。
【0244】
ステップS508において、復号部513は、ステップS502において取得した符号化データを復号し、子ノード情報を生成する。
【0245】
ステップS509において、復号部513は、ユーザ等の復号制御に従って、その子ノード情報やレイヤ情報等に基づいて、子ノードも復号するか否かを判定する。子ノードも復号すると判定された場合、処理はステップS510に進む。
【0246】
ステップS510において、復号部513は、記憶部511を制御し、その子ノードの符号化データをスタック512に格納させる。ステップS510の処理が終了すると処理はステップS511に進む。また、ステップS509において、子ノードを復号しないと判定された場合、ステップS510の処理はスキップされ、処理はステップS511に進む。
【0247】
ステップS511において、復号部513は、スタック512が空であるか否かを判定する。スタック512が空でない(つまり、少なくとも1つ以上のポイントの情報が格納されている)と判定された場合、処理はステップS502に戻る。つまり、スタック502に最後に格納されたポイントを処理対象として、ステップS502乃至ステップS511の処理が実行される。
【0248】
このような処理を繰り返し、ステップS511において、スタックが空であると判定された場合、ジオメトリデータ復号処理が終了し、処理は
図15に戻る。
【0249】
以上のように各種処理を実行することにより、復号装置500は、ジオメトリデータだけでなくアトリビュートデータの符号化データを復号することができる。したがって、復号装置500は、上述したように、復号処理の負荷の増大を抑制することができる。
【0250】
<トランスコーダ>
図24は、本技術を適用した情報処理装置の一態様であるトランスコーダの構成の一例を示すブロック図である。
図24に示されるトランスコーダ600は、ポイントクラウド(3Dデータ)の符号化データを復号し、例えばパラメータ変換などを行って再符号化する装置である。トランスコーダ600は、例えば、符号化装置400において生成されたポイントクラウドの符号化データをトランスコード(復号・符号化)する。
【0251】
なお、
図24においては、処理部やデータの流れ等の主なものを示しており、
図24に示されるものが全てとは限らない。つまり、トランスコーダ600において、
図24においてブロックとして示されていない処理部が存在したり、
図24において矢印等として示されていない処理やデータの流れが存在したりしてもよい。
【0252】
図24に示されるようにトランスコーダ600は、復号部611および符号化部612を有する。
【0253】
復号部611は、トランスコーダ600に入力されたポイントクラウドデータの符号化データを取得する。復号部611は、その符号化データを復号し、ジオメトリデータおよびアトリビュートデータを生成する。その際、復号部611は、
図19の表を参照して上述したような各種方法を適用し得る。例えば、復号部611は、復号装置500と同様の構成を有し、同様の処理を行うようにしてもよい。復号部611は、生成したジオメトリデータとアトリビュートデータを符号化部612に供給する。
【0254】
符号化部612は、復号部611から供給された、ジオメトリデータとアトリビュートデータを取得する。符号化部612は、ジオメトリデータを再符号化し、ジオメトリデータの符号化データを生成する。また、符号化部612は、アトリビュートデータを再符号化し、アトリビュートデータの符号化データを生成する。その際、符号化部612は、
図19の表を参照して上述したような各種方法を適用し得る。例えば、符号化部612は、符号化装置400と同様の構成を有し、同様の処理を行うようにしてもよい。
【0255】
なお、例えばポイント数の削減等といった、トランスコードにおけるジオメトリデータやアトリビュートデータのパラメータの変更は、復号部611において行う(スケーラブルな復号により行う)ようにしてもよし、符号化部612において行うようにしてもよいし、その両方において行うようにしてもよい。
【0256】
符号化部612は、生成したジオメトリデータの符号化データとアトリビュートデータの符号化データとをトランスコード結果として、トランスコーダ600の外部に出力する。
【0257】
以上のような構成とすることにより、トランスコーダ600は、トランスコードの際に、ポイント数を低減させることができる。つまり、トランスコーダ600は、トランスコードの負荷の増大を抑制することができる。また、トランスコーダ600は、トランスコードにより生成されるジオメトリデータやアトリビュートデータの符号化データのビットレートを制御することができる。
【0258】
なお、これらの処理部(復号部611および符号化部612)は、任意の構成を有する。例えば、各処理部が、上述の処理を実現する論理回路により構成されるようにしてもよい。また、各処理部が、例えばCPU、ROM、RAM等を有し、それらを用いてプログラムを実行することにより、上述の処理を実現するようにしてもよい。もちろん、各処理部が、その両方の構成を有し、上述の処理の一部を論理回路により実現し、他を、プログラムを実行することにより実現するようにしてもよい。各処理部の構成は互いに独立していてもよく、例えば、一部の処理部が上述の処理の一部を論理回路により実現し、他の一部の処理部がプログラムを実行することにより上述の処理を実現し、さらに他の処理部が論理回路とプログラムの実行の両方により上述の処理を実現するようにしてもよい。
【0259】
<トランスコード処理の流れ>
次に、このトランスコーダ600により実行される処理について説明する。このトランスコーダ600は、トランスコード処理を実行することによりポイントクラウドの符号化データをトランスコードする。このトランスコード処理の流れの例を、
図25のフローチャートを参照して説明する。
【0260】
トランスコード処理が開始されると、トランスコーダ600の復号部611は、ステップS601において、復号処理を実行することにより、符号化データを復号し、ジオメトリデータおよびアトリビュートデータを生成する。例えば、復号部611は、
図23のフローチャートを参照して説明した復号処理と同様の流れで、この復号処理を行うことができる。
【0261】
ステップS602において、符号化部612は、符号化処理を実行することにより、ジオメトリデータやアトリビュートデータを符号化し、その符号化データを生成する。例えば、符号化部612は、
図21のフローチャートを参照して説明した符号化処理と同様の流れで、この符号化処理を行うことができる。ステップS602の処理が終了するとトランスコード処理が終了する。
【0262】
以上のように各処理を実行することにより、トランスコーダ600は、トランスコードの際に、ポイント数を低減させることができる。つまり、トランスコーダ600は、トランスコードの負荷の増大を抑制することができる。また、トランスコーダ600は、トランスコードにより生成されるジオメトリデータの符号化データのビットレートを制御することができる。
【0263】
<3.第3の実施の形態>
<参照構造の階層化とアトリビュートデータの予測残差符号化>
なお、第1の実施の形態において説明した本技術と、第2の実施の形態において説明した本技術とを組み合わせてもよい。
【0264】
例えば、
図4に示される表の上から2番目の段(「1」の段)に示されるように、ポイントのグループを形成し、そのグループを階層とする参照構造を形成する場合に、
図19に示される表の上から2番目の段(「2」の段)に示されるように、アトリビュートデータの符号化に、プレディクティブジオメトリコーディングを適用してもよい。例えば、
図19に示される表の上から4番目の段(「2-1-1」の段)に示されるように、ジオメトリデータとアトリビュートデータとで参照構造を共通化してもよい。
【0265】
例えば、3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドのポイントを分類したグループにより階層化された、そのポイントクラウドの符号化におけるジオメトリデータの参照構造を形成し、その形成された参照構造に基づいて、各ポイントについてジオメトリデータの予測値を導出し、そのジオメトリデータと予測値との差分である予測残差を導出し、その導出された各ポイントのジオメトリデータの予測残差を符号化する場合において、形成された参照構造に基づいて、各ポイントについて、アトリビュートデータの予測値をさらに導出し、アトリビュートデータと予測値との差分である予測残差をさらに導出し、その導出された各ポイントのアトリビュートデータの予測残差をさらに符号化してもよい。
【0266】
また、
図19に示される表の上から7番目乃至10番目の段に示されるように、処理対象ノードの予測ポイントのアトリビュートデータを、処理対象ノードの親ノードのアトリビュートデータと同一、処理対象ノードの親ノードとのアトリビュートデータと、その親ノードのアトリビュートデータとの平均、処理対象ノードの予測ポイントのアトリビュートデータを、処理対象ノードの親ノードとのアトリビュートデータと、その親ノードのアトリビュートデータとの、それらのノードに対応するポイント間の距離の逆数を重みにした重み付き平均、または、復号済みノードの近傍kノードのアトリビュートデータの平均としてもよい。
【0267】
例えば、参照構造における処理対象ノードが属する親ノードのアトリビュートデータ、親ノードのアトリビュートデータとその親ノードの親ノードのアトリビュートデータとの平均、親ノードのアトリビュートデータとその親ノードの親ノードのアトリビュートデータとの重み付き平均、または、処理対象ノードの近傍のノードのアトリビュートデータの平均を、処理対象ノードのアトリビュートデータの予測値とし、アトリビュートデータの予測残差を導出してもよい。
【0268】
また、
図19に示される表の上から12乃至15番目の段に示されるように、ジオメトリデータの予測残差が最小となる予測ポイント、アトリビュートデータの予測残差が最小となる予測ポイント、または、ジオメトリデータおよびアトリビュートデータの予測残差が最小となる予測ポイントを選択してもよい。
【0269】
また、
図19に示される表の上から5番目の段に示されるように、アトリビュートデータの全部または一部の参照構造を、ジオメトリデータの参照構造と独立に形成してもよい。例えば、アトリビュートデータの色(RGB)に関するパラメータは、ジオメトリデータと共通の参照構造とし、アトリビュートデータの反射率等のパラメータは、ジオメトリデータの参照構造と独立に形成してもよい。
【0270】
逆に、
図19に示される表の上から2番目の段(「1」の段)に示されるように、アトリビュートデータの符号化に、プレディクティブジオメトリコーディングを適用する場合において、
図4に示される表の上から2番目の段(「1」の段)に示されるように、ポイントのグループを形成し、そのグループを階層とする参照構造を形成してもよい。
【0271】
例えば、3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドのポイントを分類したグループにより階層化された、そのポイントクラウドの符号化におけるジオメトリデータの参照構造を形成し、その形成された参照構造に基づいて、各ポイントについてジオメトリデータの予測値を導出し、そのジオメトリデータと予測値との差分である予測残差を導出し、その導出された各ポイントのジオメトリデータの予測残差を符号化する場合に、ポイントクラウドのポイントを分類したグループにより階層化するように、アトリビュートデータの参照構造を形成してもよい。
【0272】
また、ポイントのグループ分けを行い、ポイントをグループ毎に並び替え、その並び替えられた順に各ポイントのアトリビュートデータの参照先を設定することにより、グループにより階層化された参照構造を形成してもよい。
【0273】
また、ポイントの位置、若しくは、ポイントクラウドにおけるポイントの特徴、またはその両方に応じて前記ポイントのグループ分けを行ってもよい。
【0274】
また、各ポイントについて、参照構造におけるグループによる階層であるグループ階層を示すレイヤ情報を生成し、その生成されたレイヤ情報をさらに符号化してもよい。
【0275】
さらに、参照構造における処理対象ノードに属する各子ノードのグループ階層を処理対象ノードのグループ階層との相対値で示すレイヤ情報を生成してもよい。
【0276】
また、参照構造における処理対象ノードのグループ階層を、処理対象ノードが属する親ノードのグループ階層との相対値で示す前記レイヤ情報を生成してもよい。
【0277】
さらに、予測残差を符号化するかを、参照構造におけるグループによる階層であるグループ階層毎、若しくは、参照構造の枝毎、またはその両方毎に選択し、符号化することを選択したグループ階層または枝の予測残差を符号化してもよい。
【0278】
<符号化装置>
この場合の符号化装置は、例えば、
図20に示される符号化装置400の構成を有し、その参照構造形成部411が、
図9に示されるような構成を有する。このような構成とすることにより、この符号化装置は、第1の実施の形態と第2の実施の形態において説明した効果を得ることができる。つまり、参照構造をグループ階層化するとともに、アトリビュートデータの予測残差を符号化することができる。したがって、符号化処理の負荷の増大を抑制することができる。また、その符号化により生成されるジオメトリデータの符号化データのビットレートを制御することができる。
【0279】
<符号化処理の流れ>
また、この場合の符号化処理の流れの例を、
図26のフローチャートを参照して説明する。この場合、符号化処理は、
図26のフローチャートに示されるように、ステップS701において、参照構造形成部411が、
図11のステップS131の場合と同様に、参照構造形成処理を、
図12のフローチャートのような流れで実行する。
【0280】
ステップS702乃至ステップS709の各処理は、
図21のステップS402乃至ステップS409の各処理と同様に実行される。
【0281】
ステップS710において、符号化部414は、
図11のステップS138の場合と同様に、ステップS701において生成されたレイヤ情報を符号化する。
【0282】
ステップS711乃至ステップS714の各処理は、
図21のステップS410乃至ステップS413の各処理と同様に実行される。
【0283】
以上のように各種処理を実行することにより、第1の実施の形態と第2の実施の形態において説明した効果を得ることができる。つまり、参照構造をグループ階層化するとともに、アトリビュートデータの予測残差を符号化することができる。したがって、符号化処理の負荷の増大を抑制することができる。また、その符号化により生成されるジオメトリデータの符号化データのビットレートを制御することができる。
【0284】
<復号装置>
この場合の復号装置は、例えば、
図22に示される復号装置500と同様の構成を有する。
<復号処理の流れ>
この場合の復号処理の流れの例を、
図27のフローチャートを参照して説明する。この場合、復号処理が開始されると、ステップS801およびステップS802の各処理が、
図23のステップS501およびステップS502の各処理と同様に実行される。
【0285】
ステップS803において、復号部は、
図16のステップS233の場合と同様に、符号化データを復号し、レイヤ情報を生成する。その後、ステップS804乃至ステップS812の各処理が、
図23のステップS503乃至ステップS511の各処理と同様に実行される。
【0286】
以上のように各種処理を実行することにより、第1の実施の形態と第2の実施の形態において説明した効果を得ることができる。つまり、参照構造をグループ階層化するとともに、アトリビュートデータの予測残差を符号化することができる。したがって、復号処理の負荷の増大を抑制することができる。また、復号のスケーラビリティを実現することができ、その符号化により生成されるジオメトリデータの符号化データのビットレートを制御することができる。
【0287】
<トランスコーダ>
この場合のトランスコーダは、
図24に示されるようにトランスコーダ600と同様に構成を有する。
【0288】
<トランスコード処理の流れ>
この場合のトランスコード処理は、
図25に示されるフローチャートと同様の流れで実行される。ただし、ステップS601においては、
図26に示されるフローチャートと同様の流れで、符号化処理が実行される。また、ステップS602においては、
図27に示されるフローチャートと同様の流れで、符号化処理が実行される。
【0289】
このような処理を行うことにより、この場合のトランスコーダは、トランスコードの際に、ポイント数を低減させることができる。つまり、トランスコードの負荷の増大を抑制することができる。また、復号のスケーラビリティを実現することができ、トランスコードにより生成されるジオメトリデータやアトリビュートデータの符号化データのビットレートを制御することができる。
【0290】
<4.付記>
<制御情報>
以上の各実施の形態において説明した本技術に関する制御情報を符号化側から復号側に伝送するようにしてもよい。例えば、上述した本技術を適用することを許可(または禁止)するか否かを制御する制御情報(例えばenabled_flag)を伝送するようにしてもよい。また、例えば、上述した本技術を適用することを許可(または禁止)する範囲(例えばブロックサイズの上限若しくは下限、またはその両方、スライス、ピクチャ、シーケンス、コンポーネント、ビュー、レイヤ等)を指定する制御情報を伝送するようにしてもよい。
【0291】
<周辺・近傍>
なお、本明細書において、「近傍」や「周辺」等の位置関係は、空間的な位置関係だけでなく、時間的な位置関係も含みうる。
【0292】
<コンピュータ>
上述した一連の処理は、ハードウエアにより実行させることもできるし、ソフトウエアにより実行させることもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、コンピュータにインストールされる。ここでコンピュータには、専用のハードウエアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータ等が含まれる。
【0293】
図28は、上述した一連の処理をプログラムにより実行するコンピュータのハードウエアの構成例を示すブロック図である。
【0294】
図28に示されるコンピュータ900において、CPU(Central Processing Unit)901、ROM(Read Only Memory)902、RAM(Random Access Memory)903は、バス904を介して相互に接続されている。
【0295】
バス904にはまた、入出力インタフェース910も接続されている。入出力インタフェース910には、入力部911、出力部912、記憶部913、通信部914、およびドライブ915が接続されている。
【0296】
入力部911は、例えば、キーボード、マウス、マイクロホン、タッチパネル、入力端子などよりなる。出力部912は、例えば、ディスプレイ、スピーカ、出力端子などよりなる。記憶部913は、例えば、ハードディスク、RAMディスク、不揮発性のメモリなどよりなる。通信部914は、例えば、ネットワークインタフェースよりなる。ドライブ915は、磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリなどのリムーバブルメディア921を駆動する。
【0297】
以上のように構成されるコンピュータでは、CPU901が、例えば、記憶部913に記憶されているプログラムを、入出力インタフェース910およびバス904を介して、RAM903にロードして実行することにより、上述した一連の処理が行われる。RAM903にはまた、CPU901が各種の処理を実行する上において必要なデータなども適宜記憶される。
【0298】
コンピュータが実行するプログラムは、例えば、パッケージメディア等としてのリムーバブルメディア921に記録して適用することができる。その場合、プログラムは、リムーバブルメディア921をドライブ915に装着することにより、入出力インタフェース910を介して、記憶部913にインストールすることができる。
【0299】
また、このプログラムは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供することもできる。その場合、プログラムは、通信部914で受信し、記憶部913にインストールすることができる。
【0300】
その他、このプログラムは、ROM902や記憶部913に、あらかじめインストールしておくこともできる。
【0301】
<本技術の適用対象>
以上においては、ポイントクラウドデータの符号化・復号に本技術を適用する場合について説明したが、本技術は、これらの例に限らず、任意の規格の3Dデータの符号化・復号に対して適用することができる。例えば、メッシュ(Mesh)データの符号化・復号において、メッシュデータをポイントクラウドデータに変換し、本技術を適用して符号化・復号を行うようにしてもよい。つまり、上述した本技術と矛盾しない限り、符号化・復号方式等の各種処理、並びに、3Dデータやメタデータ等の各種データの仕様は任意である。また、本技術と矛盾しない限り、上述した一部の処理や仕様を省略してもよい。
【0302】
本技術は、任意の構成に適用することができる。例えば、本技術は、衛星放送、ケーブルTVなどの有線放送、インターネット上での配信、およびセルラー通信による端末への配信などにおける送信機や受信機(例えばテレビジョン受像機や携帯電話機)、または、光ディスク、磁気ディスクおよびフラッシュメモリなどの媒体に画像を記録したり、これら記憶媒体から画像を再生したりする装置(例えばハードディスクレコーダやカメラ)などの、様々な電子機器に適用され得る。
【0303】
また、例えば、本技術は、システムLSI(Large Scale Integration)等としてのプロセッサ(例えばビデオプロセッサ)、複数のプロセッサ等を用いるモジュール(例えばビデオモジュール)、複数のモジュール等を用いるユニット(例えばビデオユニット)、または、ユニットにさらにその他の機能を付加したセット(例えばビデオセット)等、装置の一部の構成として実施することもできる。
【0304】
また、例えば、本技術は、複数の装置により構成されるネットワークシステムにも適用することもできる。例えば、本技術を、ネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングとして実施するようにしてもよい。例えば、コンピュータ、AV(Audio Visual)機器、携帯型情報処理端末、IoT(Internet of Things)デバイス等の任意の端末に対して、画像(動画像)に関するサービスを提供するクラウドサービスにおいて本技術を実施するようにしてもよい。
【0305】
なお、本明細書において、システムとは、複数の構成要素(装置、モジュール(部品)等)の集合を意味し、全ての構成要素が同一筐体中にあるか否かは問わない。したがって、別個の筐体に収納され、ネットワークを介して接続されている複数の装置、および、1つの筐体の中に複数のモジュールが収納されている1つの装置は、いずれも、システムである。
【0306】
<本技術を適用可能な分野・用途>
本技術を適用したシステム、装置、処理部等は、例えば、交通、医療、防犯、農業、畜産業、鉱業、美容、工場、家電、気象、自然監視等、任意の分野に利用することができる。また、その用途も任意である。
【0307】
<その他>
なお、本明細書において「フラグ」とは、複数の状態を識別するための情報であり、真(1)または偽(0)の2状態を識別する際に用いる情報だけでなく、3以上の状態を識別することが可能な情報も含まれる。したがって、この「フラグ」が取り得る値は、例えば1/0の2値であってもよいし、3値以上であってもよい。すなわち、この「フラグ」を構成するbit数は任意であり、1bitでも複数bitでもよい。また、識別情報(フラグも含む)は、その識別情報をビットストリームに含める形だけでなく、ある基準となる情報に対する識別情報の差分情報をビットストリームに含める形も想定されるため、本明細書においては、「フラグ」や「識別情報」は、その情報だけではなく、基準となる情報に対する差分情報も包含する。
【0308】
また、符号化データ(ビットストリーム)に関する各種情報(メタデータ等)は、符号化データに関連づけられていれば、どのような形態で伝送または記録されるようにしてもよい。ここで、「関連付ける」という用語は、例えば、一方のデータを処理する際に他方のデータを利用し得る(リンクさせ得る)ようにすることを意味する。つまり、互いに関連付けられたデータは、1つのデータとしてまとめられてもよいし、それぞれ個別のデータとしてもよい。例えば、符号化データ(画像)に関連付けられた情報は、その符号化データ(画像)とは別の伝送路上で伝送されるようにしてもよい。また、例えば、符号化データ(画像)に関連付けられた情報は、その符号化データ(画像)とは別の記録媒体(または同一の記録媒体の別の記録エリア)に記録されるようにしてもよい。なお、この「関連付け」は、データ全体でなく、データの一部であってもよい。例えば、画像とその画像に対応する情報とが、複数フレーム、1フレーム、またはフレーム内の一部分などの任意の単位で互いに関連付けられるようにしてもよい。
【0309】
なお、本明細書において、「合成する」、「多重化する」、「付加する」、「一体化する」、「含める」、「格納する」、「入れ込む」、「差し込む」、「挿入する」等の用語は、例えば符号化データとメタデータとを1つのデータにまとめるといった、複数の物を1つにまとめることを意味し、上述の「関連付ける」の1つの方法を意味する。
【0310】
また、本技術の実施の形態は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
【0311】
例えば、1つの装置(または処理部)として説明した構成を分割し、複数の装置(または処理部)として構成するようにしてもよい。逆に、以上において複数の装置(または処理部)として説明した構成をまとめて1つの装置(または処理部)として構成されるようにしてもよい。また、各装置(または各処理部)の構成に上述した以外の構成を付加するようにしてももちろんよい。さらに、システム全体としての構成や動作が実質的に同じであれば、ある装置(または処理部)の構成の一部を他の装置(または他の処理部)の構成に含めるようにしてもよい。
【0312】
また、例えば、上述したプログラムは、任意の装置において実行されるようにしてもよい。その場合、その装置が、必要な機能(機能ブロック等)を有し、必要な情報を得ることができるようにすればよい。
【0313】
また、例えば、1つのフローチャートの各ステップを、1つの装置が実行するようにしてもよいし、複数の装置が分担して実行するようにしてもよい。さらに、1つのステップに複数の処理が含まれる場合、その複数の処理を、1つの装置が実行するようにしてもよいし、複数の装置が分担して実行するようにしてもよい。換言するに、1つのステップに含まれる複数の処理を、複数のステップの処理として実行することもできる。逆に、複数のステップとして説明した処理を1つのステップとしてまとめて実行することもできる。
【0314】
また、例えば、コンピュータが実行するプログラムは、プログラムを記述するステップの処理が、本明細書で説明する順序に沿って時系列に実行されるようにしても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで個別に実行されるようにしても良い。つまり、矛盾が生じない限り、各ステップの処理が上述した順序と異なる順序で実行されるようにしてもよい。さらに、このプログラムを記述するステップの処理が、他のプログラムの処理と並列に実行されるようにしても良いし、他のプログラムの処理と組み合わせて実行されるようにしても良い。
【0315】
また、例えば、本技術に関する複数の技術は、矛盾が生じない限り、それぞれ独立に単体で実施することができる。もちろん、任意の複数の本技術を併用して実施することもできる。例えば、いずれかの実施の形態において説明した本技術の一部または全部を、他の実施の形態において説明した本技術の一部または全部と組み合わせて実施することもできる。また、上述した任意の本技術の一部または全部を、上述していない他の技術と併用して実施することもできる。
【0316】
なお、本技術は以下のような構成も取ることができる。
(1) 3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドの前記ポイントを分類したグループにより階層化された、前記ポイントクラウドの符号化におけるジオメトリデータの参照構造を形成する参照構造形成部と、
前記参照構造形成部により形成された前記参照構造に基づいて、各ポイントについて前記ジオメトリデータの予測値を導出し、前記ジオメトリデータと前記予測値との差分である予測残差を導出する予測残差導出部と、
前記予測残差導出部により導出された各ポイントの前記ジオメトリデータの前記予測残差を符号化する符号化部と
を備える情報処理装置。
(2) 前記参照構造形成部は、
前記ポイントのグループ分けを行うグループ分け処理部と、
前記ポイントを前記グループ毎に並び替える並び替え部と、
前記並び替え部により並び替えられた順に各ポイントの前記ジオメトリデータの参照先を設定することにより、前記グループにより階層化された前記参照構造を形成するグループ階層化参照構造形成部と
を備える(1)に記載の情報処理装置。
(3) 前記グループ分け処理部は、前記ポイントの位置に応じて前記ポイントのグループ分けを行う
(2)に記載の情報処理装置。
(4) 前記グループ分け処理部は、前記ポイントクラウドにおける前記ポイントの特徴に応じて前記ポイントのグループ分けを行う
(2)または(3)に記載の情報処理装置。
(5) 前記参照構造形成部は、
各ポイントについて、前記参照構造における前記グループによる階層であるグループ階層を示すレイヤ情報を生成するレイヤ情報生成部をさらに備え、
前記符号化部は、前記レイヤ情報生成部により生成された前記レイヤ情報をさらに符号化する
(2)乃至(4)のいずれかに記載の情報処理装置。
(6) 前記レイヤ情報生成部は、前記参照構造における処理対象ノードに属する各子ノードの前記グループ階層を前記処理対象ノードの前記グループ階層との相対値で示す前記レイヤ情報を生成する
(5)に記載の情報処理装置。
(7) 前記レイヤ情報生成部は、前記参照構造における処理対象ノードの前記グループ階層を、前記処理対象ノードが属する親ノードの前記グループ階層との相対値で示す前記レイヤ情報を生成する
(5)に記載の情報処理装置。
(8) 前記符号化部は、前記予測残差を、前記参照構造における前記グループによる階層であるグループ階層毎に設定された量子化ステップで量子化して符号化する
(1)乃至(7)のいずれかに記載の情報処理装置。
(9) 前記符号化部は、前記量子化ステップを示す情報を符号化する
(8)に記載の情報処理装置。
(10) 前記符号化部は、前記予測残差を、前記参照構造における前記グループによる階層であるグループ階層毎に分けて算術符号化する
(1)乃至(9)のいずれかに記載の情報処理装置。
(11) 前記符号化部は、前記予測残差を、前記参照構造における前記グループによる階層であるグループ階層毎に分けずに算術符号化する
(1)乃至(9)のいずれかに記載の情報処理装置。
(12) 前記符号化部は、前記予測残差を符号化するかを、前記参照構造における前記グループによる階層であるグループ階層毎に選択し、符号化することを選択した前記グループ階層の前記予測残差を符号化する
(1)乃至(11)のいずれかに記載の情報処理装置。
(13) 前記符号化部は、前記予測残差を符号化するかを前記参照構造の枝毎に選択し、符号化することを選択した前記枝の前記予測残差を符号化する
(1)乃至(12)のいずれかに記載の情報処理装置。
(14) 前記予測残差導出部は、前記参照構造形成部により形成された前記参照構造に基づいて、各ポイントについて、アトリビュートデータの予測値をさらに導出し、前記アトリビュートデータと前記予測値との差分である予測残差をさらに導出し、
前記符号化部は、前記予測残差導出部により導出された各ポイントの前記アトリビュートデータの前記予測残差をさらに符号化する
(1)乃至(13)のいずれかに記載の情報処理装置。
(15) 前記予測残差導出部は、前記参照構造における処理対象ノードが属する親ノードの前記アトリビュートデータ、前記親ノードの前記アトリビュートデータと前記親ノードの親ノードの前記アトリビュートデータとの平均、前記親ノードの前記アトリビュートデータと前記親ノードの親ノードの前記アトリビュートデータとの重み付き平均、または、前記処理対象ノードの近傍のノードの前記アトリビュートデータの平均を、前記処理対象ノードの前記アトリビュートデータの前記予測値とし、前記アトリビュートデータの前記予測残差を導出する
(14)に記載の情報処理装置。
(16) 前記予測残差導出部は、前記ジオメトリデータ若しくは前記アトリビュートデータ、またはその両方の前記予測残差が最小となる導出方法を適用し、前記導出方法により前記ジオメトリデータおよび前記アトリビュートデータの前記予測残差を導出する
(14)または(15)に記載の情報処理装置。
(17) 前記参照構造形成部は、さらに、前記ポイントクラウドの符号化におけるアトリビュートデータの参照構造を、前記ジオメトリデータの前記参照構造とは独立に形成し、
前記予測残差導出部は、前記参照構造形成部により形成された前記アトリビュートデータの前記参照構造に基づいて、各ポイントについて、前記アトリビュートデータの予測値をさらに導出し、前記アトリビュートデータと前記予測値との差分である予測残差をさらに導出し、
前記符号化部は、前記予測残差導出部により導出された各ポイントの前記アトリビュートデータの前記予測残差をさらに符号化する
(1)乃至(16)のいずれかに記載の情報処理装置。
(18) 3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドの前記ポイントを分類したグループにより階層化された、前記ポイントクラウドの符号化におけるジオメトリデータの参照構造を形成し、
形成された前記参照構造に基づいて、各ポイントについて前記ジオメトリデータの予測値を導出し、前記ジオメトリデータと前記予測値との差分である予測残差を導出し、
導出された各ポイントの前記ジオメトリデータの前記予測残差を符号化する
情報処理方法。
【0317】
(19) 3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドの前記ポイントを分類したグループにより階層化された前記ポイントクラウドの符号化におけるジオメトリデータの参照構造における前記グループによる階層であるグループ階層を示すレイヤ情報に基づいて、前記参照構造に基づいて導出された各ポイントのジオメトリデータとその予測値との差分である予測残差が符号化された符号化データの内、所望の前記グループ階層に対応する符号化データを復号する復号部
を備える情報処理装置。
(20) 3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドの前記ポイントを分類したグループにより階層化された前記ポイントクラウドの符号化におけるジオメトリデータの参照構造における前記グループによる階層であるグループ階層を示すレイヤ情報に基づいて、前記参照構造に基づいて導出された各ポイントのジオメトリデータとその予測値との差分である予測残差が符号化された符号化データの内、所望の前記グループ階層に対応する符号化データを復号する
情報処理方法。
【0318】
(21) 3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドの符号化におけるアトリビュートデータの参照構造を形成する参照構造形成部と、
前記参照構造形成部により形成された前記参照構造に基づいて、各ポイントについて前記アトリビュートデータの予測値を導出し、前記アトリビュートデータと前記予測値との差分である予測残差を導出する予測残差導出部と、
前記予測残差導出部により導出された各ポイントの前記アトリビュートデータの前記予測残差を符号化する符号化部と
を備える情報処理装置。
(22) 前記予測残差導出部は、前記参照構造における処理対象ノードが属する親ノードの前記アトリビュートデータを、前記処理対象ノードの前記アトリビュートデータの前記予測値とし、前記アトリビュートデータの前記予測残差を導出する
(21)に記載の情報処理装置。
(23) 前記予測残差導出部は、前記参照構造における処理対象ノードが属する親ノードの前記アトリビュートデータと前記親ノードの親ノードの前記アトリビュートデータとの平均を、前記処理対象ノードの前記アトリビュートデータの前記予測値とし、前記アトリビュートデータの前記予測残差を導出する
(21)または(22)に記載の情報処理装置。
(24) 前記予測残差導出部は、前記参照構造における処理対象ノードが属する親ノードの前記アトリビュートデータと前記親ノードの親ノードの前記アトリビュートデータとの重み付き平均を、前記処理対象ノードの前記アトリビュートデータの前記予測値とし、前記アトリビュートデータの前記予測残差を導出する
(21)乃至(23)のいずれかに記載の情報処理装置。
(25) 前記予測残差導出部は、前記参照構造における処理対象ノードの近傍のノードの前記アトリビュートデータの平均を、前記処理対象ノードの前記アトリビュートデータの前記予測値とし、前記アトリビュートデータの前記予測残差を導出する
(21)乃至(24)のいずれかに記載の情報処理装置。
(26) 前記予測残差導出部は、前記参照構造形成部により形成された前記参照構造に基づいて、各ポイントについて、ジオメトリデータの予測値をさらに導出し、前記ジオメトリデータと前記予測値との差分である予測残差をさらに導出し、
前記符号化部は、前記予測残差導出部により導出された各ポイントの前記ジオメトリデータの前記予測残差をさらに符号化する
(21)乃至(25)のいずれかに記載の情報処理装置。
(27) 前記予測残差導出部は、前記ジオメトリデータの前記予測残差が最小となる導出方法を適用し、前記導出方法により前記ジオメトリデータおよび前記アトリビュートデータの前記予測残差を導出する
(26)に記載の情報処理装置。
(28) 前記予測残差導出部は、前記アトリビュートデータの前記予測残差が最小となる導出方法を適用し、前記導出方法により前記ジオメトリデータおよび前記アトリビュートデータの前記予測残差を導出する
(26)に記載の情報処理装置。
(29) 前記予測残差導出部は、前記ジオメトリデータおよび前記アトリビュートデータの前記予測残差が最小となる導出方法を適用し、前記導出方法により前記ジオメトリデータおよび前記アトリビュートデータの前記予測残差を導出する
(26)に記載の情報処理装置。
(30) 前記参照構造形成部は、さらに、前記ポイントクラウドの符号化におけるジオメトリデータの参照構造を、前記アトリビュートデータの前記参照構造とは独立に形成し、
前記予測残差導出部は、前記参照構造形成部により形成された前記ジオメトリデータの前記参照構造に基づいて、各ポイントについて、前記ジオメトリデータの予測値をさらに導出し、前記ジオメトリデータと前記予測値との差分である予測残差をさらに導出し、
前記符号化部は、前記予測残差導出部により導出された各ポイントの前記ジオメトリデータの前記予測残差をさらに符号化する
(21)乃至(29)のいずれかに記載の情報処理装置。
(31) 前記参照構造形成部は、前記ポイントクラウドの前記ポイントを分類したグループにより階層化するように、前記アトリビュートデータの前記参照構造を形成する
(21)乃至(30)のいずれかに記載の情報処理装置。
(32) 前記参照構造形成部は、
前記ポイントのグループ分けを行うグループ分け処理部と、
前記ポイントを前記グループ毎に並び替える並び替え部と、
前記並び替え部により並び替えられた順に各ポイントの前記アトリビュートデータの参照先を設定することにより、前記グループにより階層化された前記参照構造を形成するグループ階層化参照構造形成部と
を備える(31)に記載の情報処理装置。
(33) 前記グループ分け処理部は、前記ポイントの位置、若しくは、前記ポイントクラウドにおける前記ポイントの特徴、またはその両方に応じて前記ポイントのグループ分けを行う
(32)に記載の情報処理装置。
(34) 前記参照構造形成部は、
各ポイントについて、前記参照構造における前記グループによる階層であるグループ階層を示すレイヤ情報を生成するレイヤ情報生成部をさらに備え、
前記符号化部は、前記レイヤ情報生成部により生成された前記レイヤ情報をさらに符号化する
(32)または(33)に記載の情報処理装置。
(35) 前記レイヤ情報生成部は、前記参照構造における処理対象ノードに属する各子ノードの前記グループ階層を前記処理対象ノードの前記グループ階層との相対値で示す前記レイヤ情報を生成する
(34)に記載の情報処理装置。
(36) 前記レイヤ情報生成部は、前記参照構造における処理対象ノードの前記グループ階層を、前記処理対象ノードが属する親ノードの前記グループ階層との相対値で示す前記レイヤ情報を生成する
(34)に記載の情報処理装置。
(37) 前記符号化部は、前記予測残差を符号化するかを、前記参照構造における前記グループによる階層であるグループ階層毎、若しくは、前記参照構造の枝毎、またはその両方毎に選択し、符号化することを選択した前記グループ階層または前記枝の前記予測残差を符号化する
(31)乃至(36)のいずれかに記載の情報処理装置。
(38) 3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドの符号化におけるアトリビュートデータの参照構造を形成し、
形成された前記参照構造に基づいて、各ポイントについて前記アトリビュートデータの予測値を導出し、前記アトリビュートデータと前記予測値との差分である予測残差を導出し、
導出された各ポイントの前記アトリビュートデータの前記予測残差を符号化する
情報処理方法。
【0319】
(39) 3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドの符号化におけるアトリビュートデータの参照構造に基づいて導出された各ポイントの前記アトリビュートデータとその予測値との差分である予測残差が符号化された符号化データを復号し、前記アトリビュートデータの前記予測残差を生成する復号部と、
前記復号部により前記符号化データが復号されて生成された前記アトリビュートデータの前記予測残差と前記アトリビュートデータの予測値とを用いて、前記アトリビュートデータを生成する生成部と
を備える情報処理装置。
(40) 3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドの符号化におけるアトリビュートデータの参照構造に基づいて導出された各ポイントの前記アトリビュートデータとその予測値との差分である予測残差が符号化された符号化データを復号し、前記アトリビュートデータの前記予測残差を生成し、
前記符号化データが復号されて生成された前記アトリビュートデータの前記予測残差と前記アトリビュートデータの予測値とを用いて、前記アトリビュートデータを生成する
情報処理方法。
【符号の説明】
【0320】
100 符号化装置, 111 ジオメトリデータ符号化部, 112 アトリビュートデータ符号化部, 131 参照構造形成部, 132 スタック, 133 予測モード決定部, 134 符号化部, 135 予測ポイント生成部, 151 グループ分け処理部, 152 ソート部, 153 グループ階層化参照構造形成部, 154 レイヤ情報生成部, 200 復号装置, 211 ジオメトリデータ復号部, 212 アトリビュートデータ復号部, 231 記憶部, 232 スタック, 233 復号部, 234 ジオメトリデータ生成部, 235 予測ポイント生成部, 300 トランスコーダ, 311 ジオメトリデータ復号部, 312 ジオメトリデータ符号化部, 313 アトリビュートデータトランスコード処理部, 400 符号化装置, 411 参照構造形成部, 412 スタック, 413 予測モード決定部, 414 符号化部, 415 予測ポイント生成部, 500 復号装置, 511 記憶部, 512 スタック, 513 復号部, 514 ポイントデータ生成部, 515 予測ポイント生成部, 600 トランスコーダ, 611 復号部, 612 符号化部, 900 コンピュータ