(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-11-11
(45)【発行日】2024-11-19
(54)【発明の名称】情報処理装置および方法
(51)【国際特許分類】
G06T 17/00 20060101AFI20241112BHJP
G06T 9/40 20060101ALI20241112BHJP
【FI】
G06T17/00 500
G06T9/40
(21)【出願番号】P 2021532790
(86)(22)【出願日】2020-07-06
(86)【国際出願番号】 JP2020026322
(87)【国際公開番号】W WO2021010200
(87)【国際公開日】2021-01-21
【審査請求日】2023-05-11
(31)【優先権主張番号】P 2019131952
(32)【優先日】2019-07-17
(33)【優先権主張国・地域又は機関】JP
(73)【特許権者】
【識別番号】000002185
【氏名又は名称】ソニーグループ株式会社
(74)【代理人】
【識別番号】100121131
【氏名又は名称】西川 孝
(74)【代理人】
【氏名又は名称】稲本 義雄
(74)【代理人】
【識別番号】100168686
【氏名又は名称】三浦 勇介
(72)【発明者】
【氏名】中神 央二
(72)【発明者】
【氏名】矢野 幸司
(72)【発明者】
【氏名】隈 智
(72)【発明者】
【氏名】安田 弘幸
(72)【発明者】
【氏名】加藤 毅
【審査官】鈴木 肇
(56)【参考文献】
【文献】国際公開第2019/082837(WO,A1)
【文献】米国特許出願公開第2019/0080483(US,A1)
【文献】国際公開第2018/016168(WO,A1)
【文献】国際公開第2019/069711(WO,A1)
【文献】特開2017-126890(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 1/00- 1/40
G06T 3/00- 5/50
G06T 9/00- 9/40
G06T 11/00-11/40
G06T 15/00-17/00
G06T 17/10-17/30
H04N 7/12
H04N 19/00-19/98
(57)【特許請求の範囲】
【請求項1】
3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドの位置情報を、
Octree化し、復号結果が前記ポイントクラウドの属性情報の処理順で出力されるような順に符号化し、
第1の符号化データを生成する
Octree符号化部と、
前記ポイントクラウドの前記ポイントが疎な部分の位置情報をDCM(Direct Coding Mode)符号化し、第2の符号化データを生成するDCM符号化部と、
生成された前記第2の符号化データの復号結果の出力順位に関する制御情報を生成する生成部と
を備える情報処理装置。
【請求項2】
前記
Octree符号化部は、前記位置情報を、前記復号結果がモートン順序で出力されるような順に符号化し、前記
第1の符号化データを生成する
請求項1に記載の情報処理装置。
【請求項3】
前記制御情報は、前記復号結果の出力順位を、先頭からの順番で示す情報を含む
請求項1に記載の情報処理装置。
【請求項4】
前記制御情報は、前記復号結果の出力順位を、1つ前に出力される前記第2の符号化データの復号結果の出力順位からの差分値で示す情報を含む
請求項1に記載の情報処理装置。
【請求項5】
前記制御情報は、前記復号結果の出力順位を、所定の基準順位からの差分値で示す情報を含む
請求項1に記載の情報処理装置。
【請求項6】
前記制御情報は、
前記Octreeの中間階層における前記復号結果の出力順位に関する情報も含む
請求項1に記載の情報処理装置。
【請求項7】
3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドの位置情報を、Octree化し、復号結果が前記ポイントクラウドの属性情報の処理順で出力されるような順に符号化し、第1の符号化データを生成することと、
前記ポイントクラウドの前記ポイントが疎な部分の位置情報をDCM(Direct Coding Mode)符号化し、第2の符号化データを生成することと、
生成された前記第2の符号化データの復号結果の出力順位に関する制御情報を生成することと
を含む情報処理方法。
【請求項8】
3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドの位置情報がOctree化されて符号化された第1の符号化データを復号し、前記第1の符号化データの復号結果を前記ポイントクラウドの属性情報の処理順で出力し、さらに、前記ポイントクラウドの前記ポイントが疎な部分の位置情報がDCM(Direct Coding Mode)符号化された第2の符号化データを復号する復号部と、
前記第2の符号化データの復号結果を、前記第2の符号化データの復号結果の出力順位に関する制御情報により示される出力順位で出力させる出力制御部と
を備える情報処理装置。
【請求項9】
前記復号部は、前記復号結果をモートン順序で出力する
請求項8に記載の情報処理装置。
【請求項10】
前記制御情報は、前記復号結果の出力順位を、先頭からの順番で示す情報を含む
請求項8に記載の情報処理装置。
【請求項11】
前記制御情報は、前記復号結果の出力順位を、1つ前に出力される前記第2の符号化データの復号結果の出力順位からの差分値で示す情報を含む
請求項8に記載の情報処理装置。
【請求項12】
前記制御情報は、前記復号結果の出力順位を、所定の基準順位からの差分値で示す情報を含む
請求項8に記載の情報処理装置。
【請求項13】
前記制御情報は、前記Octreeの中間階層における前記復号結果の出力順位に関する情報も含む
請求項8に記載の情報処理装置。
【請求項14】
3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドの位置情報がOctree化されて符号化された第1の符号化データを復号し、前記第1の符号化データの復号結果を前記ポイントクラウドの属性情報の処理順で出力し、さらに、前記ポイントクラウドの前記ポイントが疎な部分の位置情報がDCM(Direct Coding Mode)符号化された第2の符号化データを復号することと、
前記第2の符号化データの復号結果を、前記第2の符号化データの復号結果の出力順位に関する制御情報により示される出力順位で出力させることと
を含む情報処理方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、情報処理装置および方法に関し、特に、ポイントクラウドの符号化データの復号処理の負荷の増大を抑制することができるようにした情報処理装置および方法に関する。
【背景技術】
【0002】
従来、例えばポイントクラウド(Point cloud)のような3次元構造を表す3Dデータの符号化方法が考えられた(例えば非特許文献1参照)。ポイントクラウドのデータは、各ポイントのジオメトリデータ(位置情報とも称する)およびアトリビュートデータ(属性情報とも称する)により構成される。したがってポイントクラウドの符号化は、そのジオメトリデータとアトリビュートデータとのそれぞれについて行われる。
【0003】
アトリビュートデータの符号化方法として様々な方法が提案されている。例えば、Liftingという技術を用いて行うことが提案された(例えば非特許文献2参照)。また、アトリビュートデータをスケーラブルに復号することができるようにする方法も提案された(例えば、非特許文献3参照)。また、Liftingではないが、LoD内において復号済みのアトリビュートデータを参照することができる方法も考えられた(例えば、非特許文献4参照)。
【0004】
いずれの場合も、アトリビュートデータの符号化は、圧縮による劣化を含めジオメトリデータを既知であるものとして、ポイント間の位置関係を利用して行われる。より具体的には、アトリビュートデータの符号化は、空間的に近い距離にあるポイントの相関を利用して行われる。このようなポイント間の相関を利用するために、モートンコード(Morton code)を利用して3次元空間上のポイントが1次元にマッピングされ、そのモートンコードの値によってソートがかけられる。つまり、各ポイントがモートン順序に整列される。これにより、マッピングした1次元上で隣り合う点が空間的に近傍であることが保証される。
【先行技術文献】
【非特許文献】
【0005】
【文献】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
【文献】Khaled Mammou, Alexis Tourapis, Jungsun Kim, Fabrice Robinet, Valery Valentin, Yeping Su, "Lifting Scheme for Lossy Attribute Encoding in TMC1", ISO/IEC JTC1/SC29/WG11 MPEG2018/m42640, April 2018, San Diego, US
【文献】Ohji Nakagami, Satoru Kuma, "[G-PCC] Spatial scalability support for G-PCC", ISO/IEC JTC1/SC29/WG11 MPEG2019/m47352, March 2019, Geneva, CH
【文献】Toshiyasu Sugio, "[G-PCC] Reference structure modification on attribute predicting transform in TMC13", ISO/IEC JTC1/SC29/WG11 MPEG2018/ m46107, January 2019, Marrakech, MA
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、この並べ替え処理により、ポイントクラウドの符号化データの復号処理の負荷が増大するおそれがあった。
【0007】
本開示は、このような状況に鑑みてなされたものであり、ポイントクラウドの符号化データの復号処理の負荷の増大を抑制することができるようにするものである。
【課題を解決するための手段】
【0008】
本技術の一側面の情報処理装置は、3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドの位置情報を、Octree化し、復号結果が前記ポイントクラウドの属性情報の処理順で出力されるような順に符号化し、第1の符号化データを生成するOctree符号化部と、前記ポイントクラウドの前記ポイントが疎な部分の位置情報をDCM(Direct Coding Mode)符号化し、第2の符号化データを生成するDCM符号化部と、生成された前記第2の符号化データの復号結果の出力順位に関する制御情報を生成する生成部とを備える情報処理装置である。
【0009】
本技術の一側面の情報処理方法は、3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドの位置情報を、Octree化し、復号結果が前記ポイントクラウドの属性情報の処理順で出力されるような順に符号化し、第1の符号化データを生成することと、前記ポイントクラウドの前記ポイントが疎な部分の位置情報をDCM(Direct Coding Mode)符号化し、第2の符号化データを生成することと、生成された前記第2の符号化データの復号結果の出力順位に関する制御情報を生成することとを含む情報処理方法である。
【0010】
本技術の他の側面の情報処理装置は、3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドの位置情報がOctree化されて符号化された第1の符号化データを復号し、前記第1の符号化データの復号結果を前記ポイントクラウドの属性情報の処理順で出力し、さらに、前記ポイントクラウドの前記ポイントが疎な部分の位置情報がDCM(Direct Coding Mode)符号化された第2の符号化データを復号する復号部と、前記第2の符号化データの復号結果を、前記第2の符号化データの復号結果の出力順位に関する制御情報により示される出力順位で出力させる出力制御部とを備える情報処理装置である。
【0011】
本技術の他の側面の情報処理方法は、3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドの位置情報がOctree化されて符号化された第1の符号化データを復号し、前記第1の符号化データの復号結果を前記ポイントクラウドの属性情報の処理順で出力し、さらに、前記ポイントクラウドの位置情報がDCM(Direct Coding Mode)符号化された第2の符号化データを復号することと、前記第2の符号化データの復号結果を、前記第2の符号化データの復号結果の出力順位に関する制御情報により示される出力順位で出力させることとを含む情報処理方法である。
【0012】
本技術の一側面の情報処理装置および方法においては、3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドの位置情報を、Octree化し、復号結果がポイントクラウドの属性情報の処理順で出力されるような順に符号化し、第1の符号化データを生成することと、そのポイントクラウドのポイントが疎な部分の位置情報をDCM(Direct Coding Mode)符号化し、第2の符号化データを生成することと、その生成された第2の符号化データの復号結果の出力順位に関する制御情報を生成することとが実行される。
【0013】
本技術の他の側面の情報処理装置および方法においては、3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドの位置情報がOctree化されて符号化された第1の符号化データを復号し、その第1の符号化データの復号結果をポイントクラウドの属性情報の処理順で出力し、さらに、そのポイントクラウドのポイントが疎な部分の位置情報がDCM(Direct Coding Mode)符号化された第2の符号化データを復号することと、その第2の符号化データの復号結果を、その第2の符号化データの復号結果の出力順位に関する制御情報により示される出力順位で出力させることとが実行される。
【図面の簡単な説明】
【0014】
【
図1】ジオメトリデータの処理順の例を説明する図である。
【
図2】ジオメトリデータの符号化手法・復号手法について説明する図である。
【
図3】DCMを適用する場合の手法について説明する図である。
【
図4】DCMを適用する場合の手法について説明する図である。
【
図5】DCMを適用する場合の手法について説明する図である。
【
図6】符号化装置の主な構成例を示すブロック図である。
【
図7】位置情報符号化部の主な構成例を示すブロック図である。
【
図8】ポイントクラウド生成部の主な構成例を示すブロック図である。
【
図9】符号化処理の流れの例を説明するフローチャートである。
【
図10】位置情報符号化処理の流れの例を説明するフローチャートである。
【
図11】ポイントクラウド生成処理の流れの例を説明するフローチャートである。
【
図12】復号装置の主な構成例を示すブロック図である。
【
図13】位置情報復号部の主な構成例を示すブロック図である。
【
図14】復号処理の流れの例を説明するフローチャートである。
【
図15】位置情報復号処理の流れの例を説明するフローチャートである。
【
図16】局所領域の復号の様子の例を説明する図である。
【
図17】コンピュータの主な構成例を示すブロック図である。
【発明を実施するための形態】
【0015】
以下、本開示を実施するための形態(以下実施の形態とする)について説明する。なお、説明は以下の順序で行う。
1.復号結果の出力順の保証
2.第1の実施の形態(符号化装置)
3.第2の実施の形態(復号装置)
4.付記
【0016】
<1.復号結果の出力順の保証>
<技術内容・技術用語をサポートする文献等>
本技術で開示される範囲は、実施の形態に記載されている内容だけではなく、出願当時において公知となっている以下の非特許文献に記載されている内容も含まれる。
【0017】
非特許文献1:(上述)
非特許文献2:(上述)
非特許文献3:(上述)
非特許文献4:(上述)
非特許文献5:Sebastien Lasserre, David Flynn, "[PCC] Inference of a mode using point location direct coding in TMC3", ISO/IEC JTC1/SC29/WG11 MPEG2018/m42239, January 2018, Gwangju, Korea
【0018】
つまり、これらの非特許文献に記載されている内容もサポート要件を判断する際の根拠となる。
【0019】
<ポイントクラウド>
従来、点群の位置情報や属性情報等により3次元構造を表すポイントクラウド(Point cloud)や、頂点、エッジ、面で構成され、多角形表現を使用して3次元形状を定義するメッシュ(Mesh)等の3Dデータが存在した。
【0020】
例えばポイントクラウドの場合、立体構造物(3次元形状のオブジェクト)を多数の点の集合(点群)として表現する。つまり、ポイントクラウドのデータ(ポイントクラウドデータとも称する)は、この点群の各点のジオメトリデータ(位置情報とも称する)やアトリビュートデータ(属性情報とも称する)により構成される。アトリビュートデータは任意の情報を含むことができる。例えば、色情報、反射率情報、法線情報等がアトリビュートデータに含まれるようにしてもよい。したがってデータ構造が比較的単純であるとともに、十分に多くの点を用いることにより任意の立体構造物を十分な精度で表現することができる。
【0021】
<ボクセルを用いた位置情報の量子化>
このようなポイントクラウドデータはそのデータ量が比較的大きいので、符号化等によるデータ量を圧縮するために、ボクセル(Voxel)を用いた符号化方法が考えられた。ボクセルは、ジオメトリデータ(位置情報)を量子化するための3次元領域である。
【0022】
つまり、ポイントクラウドを内包する3次元領域をボクセルと称する小さな3次元領域に分割し、そのボクセル毎に、ポイントを内包するか否かを示すようにする。このようにすることにより、各ポイントの位置はボクセル単位に量子化される。したがって、ポイントクラウド(Point cloud)データをこのようなボクセルのデータ(ボクセル(Voxel)データとも称する)に変換することにより、情報量の増大を抑制する(典型的には情報量を削減する)ことができる。
【0023】
<Octree>
さらに、ジオメトリデータについて、このようなボクセル(Voxel)データを用いてOctreeを構築することが考えられた。Octreeは、ボクセルデータを木構造化したものである。このOctreeの最下位のノードの各ビットの値が、各ボクセルのポイントの有無を示す。例えば、値「1」がポイントを内包するボクセルを示し、値「0」がポイントを内包しないボクセルを示す。Octreeでは、1ノードが8つのボクセルに対応する。つまり、Octreeの各ノードは、8ビットのデータにより構成され、その8ビットが8つのボクセルのポイントの有無を示す。
【0024】
そして、Octreeの上位のノードは、そのノードに属する下位ノードに対応する8つのボクセルを1つにまとめた領域のポイントの有無を示す。つまり、下位ノードのボクセルの情報をまとめることにより上位ノードが生成される。なお、値が「0」のノード、すなわち、対応する8つのボクセルが全てポイントを内包しない場合、そのノードは削除される。
【0025】
このようにすることにより、値が「0」でないノードからなる木構造(Octree)が構築される。つまり、Octreeは、各解像度のボクセルのポイントの有無を示すことができる。Octree化して符号化することにより、位置情報は、最高解像度(最上位層)から所望の階層(解像度)まで復号することにより、その解像度のポイントクラウドデータを復元することができる。つまり、不要な階層(解像度)の情報を復号せずに、容易に任意の解像度で復号することができる。換言するに、ボクセル(解像度)のスケーラビリティを実現することができる。
【0026】
また、上述のように値が「0」のノードを省略することにより、ポイントが存在しない領域のボクセルを低解像度化することができるので、さらなる情報量の増大の抑制(典型的には情報量の削減)を行うことができる。
【0027】
<Lifting>
これに対してアトリビュートデータ(属性情報)を符号化する際は、符号化による劣化を含めジオメトリデータ(位置情報)を既知であるものとして、ポイント間の位置関係を利用して符号化が行われる。このようなアトリビュートデータの符号化方法として、RAHT(Region Adaptive Hierarchical Transform)や、非特許文献2に記載のようなLiftingと称する変換を用いる方法が考えられた。これらの技術を適用することにより、ジオメトリデータのOctreeのように、アトリビュートデータを階層化することもできる。
【0028】
例えば非特許文献2に記載のLiftingの場合、各ポイントのアトリビュートデータは、他のポイントのアトリビュートデータを用いて導出される予測値との差分値として符号化される。その際、各ポイントが階層化され、差分値はその階層構造に従って導出される。
【0029】
つまり、ポイント毎のアトリビュートデータについて、各ポイントが予測ポイントと参照ポイントとに分類され、その参照ポイントのアトリビュートデータを用いて予測ポイントのアトリビュートデータの予測値が導出され、その予測ポイントのアトリビュートデータと予測値との差分値が導出される。このような処理を、参照ポイントに対して再帰的に繰り返すことにより、各ポイントのアトリビュートデータが階層化される。
【0030】
ただし、この階層構造は、ジオメトリデータの階層構造(例えばOctree)とは独立に生成されたものであり、基本的に、ジオメトリデータの階層構造とは対応しない。ポイントクラウドデータを復元するためには、ジオメトリデータとアトリビュートデータとを対応させる必要があり、そのためには、ジオメトリデータおよびアトリビュートデータを最高解像度(すなわち最下位層)まで復号する必要があった。つまり、非特許文献2に記載のLiftingを適用した手法は、解像度のスケーラブルな復号に対応していない。
【0031】
<スケーラブルな復号に対応した階層化>
これに対して非特許文献3に記載の階層化は、解像度のスケーラブルな復号に対応している。非特許文献3に記載の手法の場合、ジオメトリデータのOctreeの階層構造に一致するようにアトリビュートデータの階層化を行う。つまり、ジオメトリデータのボクセルに相当する領域内にポイントが存在する場合(そのポイントに対応するアトリビュートデータが存在する場合)、そのボクセルの1階層上位のボクセルにおいてもポイントが存在する(そのポイントに対応するアトリビュートデータが存在する)ように、参照ポイントと予測ポイントの選択を行う。つまり、ジオメトリデータのOctreeの階層構造に従って属性情報が階層化される。
【0032】
アトリビュートデータの階層構造をジオメトリデータの階層構造と対応付けることにより、最下層まで復号しなくても、容易に所望の解像度のポイントクラウドデータを復元することができる。このように、非特許文献3に記載の技術を適用した手法は、解像度のスケーラブルな復号に対応する。
【0033】
<並べ替え処理>
いずれの場合も、アトリビュートデータの符号化・復号は、空間的に近い距離にあるポイントの相関を利用して行われる。このポイント間の相関を利用するために、モートンコード(Morton code)を利用して3次元空間上のポイントが1次元にマッピングされ、そのモートンコードの値によってソートがかけられる。つまり、ジオメトリデータに対して並べ替え処理が行われ、各ポイントがモートン順序に整列される。これにより、マッピングした1次元上で隣り合う点が空間的に近傍であることが保証される。
【0034】
例えば、
図1に示されるジオメトリデータのOctreeにおいて、ノードb乃至ノードdがノードaに属しており、ポイントF乃至ポイントHがノードbに属しており、ポイントJがノードcに属しており、ポイントKおよびポイントLがノードdに属している。ノードa、ノードb、およびノードdは、Octree符号化されており、ノードcは、DCM(Direct Coding Mode)を適用して符号化されている。
【0035】
このような構成のOctreeの符号化データの、点線円11で囲まれたノードa乃至ノードdを復号することにより、実線四角12で囲まれたポイントF乃至ポイントLが出力される。
【0036】
その際、ノードaから処理が開始され、次に、ノードb、ノードc、およびノードdが処理される。ただし、ノードb、ノードc、およびノードdの処理は、その処理順が規定されておらず、並列に行うこともできる。またノードcは、DCMを適用して符号化されているので、一般的に、ポイントJは、その他のポイントよりも早期に出力される。
【0037】
また、ノードbを処理することによりポイントF乃至ポイントHが復号結果として出力されるが、これらの出力順は規定されていない。同様に、ノードdを処理することによりポイントKおよびポイントLが復号結果として出力されるが、これらの出力順は規定されていない。
【0038】
したがって、各ポイントの出力順は、以下のようになる。なお、以下において、()内のポイントの出力順は、順不同である。
J,((F,G,H),(K,L))
【0039】
つまり、ポイントF乃至ポイントHの出力順は順不同であり、ポイントKおよびポイントLの出力順は順不同であり、ポイントF乃至ポイントHと、ポイントKおよびポイントLの出力順は順不同である。
【0040】
このように、各ポイントのジオメトリデータの出力順は、ある程度の自由度を有しているため、アトリビュートデータの処理順と一致しないおそれがあった。つまり、各ポイントのジオメトリデータがアトリビュートデータの処理順で出力されることが保証されていなかった。そのため、アトリビュートデータを上述のような処理順で処理するために、上述のようなジオメトリデータを用いたポイントの並べ替え処理が必要であった。
【0041】
しかしながら、この並べ替え処理は、計算コストが高く、すなわち処理の負荷が大きい。つまり、この並べ替え処理の処理量や処理時間は少なくない。そのため、この並べ替え処理を行うことにより、ポイントクラウドの符号化データの復号処理の負荷が増大するおそれがあった。例えば、この並べ替え処理により計算コストが増大することにより、ポイントクラウドの符号化データの復号を実時間で処理することが困難になるおそれもあった。そのため、ポイントクラウドの符号化データの復号の実時間処理を確実に実現するためには、実装コストが増大するおそれがあった。
【0042】
<復号結果の出力順の保証>
そこで、
図2に示される表の一番上の段に記載の「方法1」のように、ジオメトリデータの復号結果の出力順を、所定の順序とする。例えば、ジオメトリデータの復号結果の出力順が所定の順序となることが保証されるように、ジオメトリデータを符号化する。このようにすることにより、ポイントの並べ替え処理が不要になるので、ポイントクラウドの符号化データの復号処理の負荷の増大を抑制することができる。したがって、ポイントクラウドの符号化データの復号の実時間処理を確実に実現するための実装コストの増大を抑制することができる。
【0043】
また、例えば、復号結果を所定の順序で出力するように、ジオメトリデータの符号化データを復号する。このようにすることにより、ポイントの並べ替え処理が不要になるので、ポイントクラウドの符号化データの復号処理の負荷の増大を抑制することができる。したがって、ポイントクラウドの符号化データの復号の実時間処理を確実に実現するための実装コストの増大を抑制することができる。
【0044】
例えば、
図1に示されるジオメトリデータのOctreeの場合、ノードbにおいて、ポイントF乃至ポイントHの復号結果が、ポイントF→ポイントG→ポイントHの順に出力されることを保証するようにする。また、ノードdにおいて、ポイントKおよびポイントLの復号結果が、ポイントK→ポイントLの順に出力されることを保証する。さらに、ノードb→ノードdの順に、それぞれに属するポイント(ポイントF乃至ポイントH)の復号結果が出力されることを保証する。
【0045】
このようにすることにより、各ポイントの出力順は、以下のようになる。
J,F,G,H,K,L
【0046】
つまり、出力順が固定し、既知となる。したがって、ポイントの並べ替え処理が不要になるので、ポイントクラウドの符号化データの復号処理の負荷の増大を抑制することができる。
【0047】
この所定の順序は、ジオメトリデータの符号化データを復号する際に既知であればどのような順序であってもよい。例えば、
図2に示される表の上から2番目の段に記載の「方法1-1」のように、この所定の順序をモートン順序(Morton Order)としてもよい。モートン順序で出力することにより、その出力順において隣り合うポイント同士が空間的に近傍であることが保証される。
【0048】
また、例えば、
図2に示される表の上から3番目の段に記載の「方法1-2」のように、この所定の順序をアトリビュートデータの処理順としてもよい。つまり、ジオメトリデータの復号結果の出力順を、アトリビュートデータの処理順と同一としてもよい。
【0049】
例えば、3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドのジオメトリデータ(位置情報)を、そのジオメトリデータの符号化データの復号結果がそのポイントクラウドのアトリビュートデータ(属性情報)の処理順で出力されるような順に符号化し、その符号化データを生成してもよい。
【0050】
また例えば、情報処理装置において、3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドのジオメトリデータ(位置情報)を、そのジオメトリデータの符号化データの復号結果がそのポイントクラウドのアトリビュートデータ(属性情報)の処理順で出力されるような順に符号化し、その符号化データを生成する符号化部を備えてもよい。
【0051】
このように符号化することにより、復号の際に、復号結果のジオメトリデータがアトリビュートデータの処理順と同順で出力されることが保証される。したがって、ポイントの並べ替え処理が不要になるので、ポイントクラウドの符号化データの復号処理の負荷の増大を抑制することができる。したがって、ポイントクラウドの符号化データの復号の実時間処理を確実に実現するための実装コストの増大を抑制することができる。
【0052】
なお、ジオメトリデータの符号化の方法は任意である。例えば、CABAC(Context-based Adaptive Binary Arithmetic Code)を適用してジオメトリデータを符号化する場合、コンテキストが用いられるので、符号化データは、符号化順と同順に復号される。したがって、この場合、ジオメトリデータをアトリビュートデータの処理順で符号化することにより、復号の際に、復号結果のジオメトリデータが、そのアトリビュートデータの処理順と同順で出力されることが保証される。
【0053】
また、例えば、3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドの位置情報の符号化データを復号し、その復号結果をポイントクラウドの属性情報の処理順で出力してもよい。
【0054】
例えば、情報処理装置において、3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドの位置情報の符号化データを復号し、その復号結果をポイントクラウドの属性情報の処理順で出力する復号部を備えてもよい。
【0055】
このように復号することにより、復号結果のジオメトリデータがアトリビュートデータの処理順と同順で出力されるので、ポイントの並べ替え処理が不要になる。したがって、ポイントクラウドの符号化データの復号処理の負荷の増大を抑制することができる。したがって、ポイントクラウドの符号化データの復号の実時間処理を確実に実現するための実装コストの増大を抑制することができる。
【0056】
なお、ジオメトリデータの復号の方法は、その符号化の方法に対応するものであれば、任意である。例えば、CABACが適用してジオメトリデータが符号化された場合、その符号化データの復号においてコンテキストが用いられるので、そのジオメトリデータの符号化データを、その並び順(つまり、ジオメトリデータの符号化順)に従って復号すればよい。このように復号することにより、復号結果のジオメトリデータがそのアトリビュートデータの処理順と同順で出力されることが保証される。
【0057】
なお、復号結果の出力順(すなわち、アトリビュートデータの処理順)はどのような順序であってもよい。例えば、復号結果がモートン順序で出力される(つまり、アトリビュートデータがモートン順序で処理される)ようにしてもよい。モートン順序で出力することにより、その出力順において隣り合うポイント同士が空間的に近傍であることが保証される。
【0058】
また、ジオメトリデータは木構造化されていてもよい。さらに、
図2に示される表の上から4番目の段に記載の「方法1-3」のように、その木構造の各ノードにおいて復号結果の出力順を所定の順序(例えば、アトリビュートデータの処理順、モートン順序等)とすることを保証するようにしてもよい。例えば、木構造化されたジオメトリデータが、その木構造の各ノードにおいて復号結果がポイントクラウドのアトリビュートデータの処理順で出力されるような順に符号化されるようにしてもよい。また、例えば、木構造化されたジオメトリデータの符号化データが復号され、その木構造の各ノードにおいて復号結果がポイントクラウドのアトリビュートデータの処理順で出力されるようにしてもよい。
【0059】
このようにすることにより、木構造のジオメトリデータを符号化・復号する場合においても、同様に、ポイントの並べ替え処理を不要にすることができ、ポイントクラウドの符号化データの復号処理の負荷の増大を抑制することができる。
【0060】
なお、この木構造はどのようなものであってもよい。例えば、Octreeであってもよい。また、例えば、KD-treeであってもよい。
【0061】
<DCM>
また、木構造化されたジオメトリデータの符号化方法は、その木構造を用いた方法(例えばOctreeを用いたOctree符号化)だけでなく、DCM(Direct Coding Mode)を適用した方法も用いるようにしてもよい。
【0062】
例えば、ボクセルデータのOctree化において、処理対象のノードが所定の条件を満たし、疎であると判定されると、このDCMが適用され、処理対象ノードからその処理対象ノードに直接的または間接的に属する各リーフ(ポイント)までの相対距離(xyzの各方向について)が求められ、符号化される。
【0063】
なお、「直接的に属するノード」とは、木構造において相手のノードにぶら下がるノードのことを示す。例えば、処理対象ノードに直接的に属するノードは、処理対象ノードに属し、かつ、処理対象ノードよりも1階層下位のノード(所謂子ノード)のことを示す。また、「間接的に属するノード」とは、木構造において他のノードを介して相手のノードにぶら下がるノードのことを示す。例えば、処理対象ノードに間接的に属するノードは、処理対象ノードに他のノードを介して属し、かつ、処理対象ノードよりも2階層以上下位のノード(例えば孫ノード)のことを示す。
【0064】
つまり、DCMを適用することにより、処理対象ノードからその処理対象ノードに直接的または間接的に属する各リーフまでの間の中間階層のノードの符号化・復号を省略することができる。換言するに、処理対象ノードを符号化・復号する際に、その処理対象ノードに直接的または間接的に属する各リーフを符号化・復号することができる。したがって、符号化・復号の負荷の増大を抑制することができる。
【0065】
<DCMに対応した出力順の保証>
このようなDCMが適用される場合においても、ジオメトリデータの復号結果の出力順を、所定の順序とすることを保証するようにしてもよい。ただし、DCMが適用されたリーフ(ポイント)の処理順位は、処理対象のノードの処理順位に依存するため、制御が困難であり、Octree符号化の場合と異なる場合がある。つまり、DCMが適用されるポイントの復号結果の出力順位は、制御が困難である。
【0066】
そこで、
図2に示される表の上から5番目の段に記載の「方法1-4」のように、DCMが適用されるポイントの復号結果の出力順位に関する制御情報をシグナリングする(符号化側から復号側に伝送する)ようにしてもよい。
【0067】
例えば、符号化側において、疎なポイントのジオメトリデータを、DCMを適用して符号化し、そのジオメトリデータの符号化データを生成し、さらに、その符号化データの復号結果の出力順位に関する制御情報(DCM順番情報とも称する)を生成してもよい。
【0068】
また、例えば、復号側において、DCMが適用されて符号化されたジオメトリデータの符号化データの復号結果を、そのDCM順番情報により示される出力順位で出力させてもよい。
【0069】
これらのようにすることにより、DCMが適用されるポイントを適切な出力順位で出力することが保証されるので、DCMが適用される場合においても同様に、ポイントの並べ替え処理を不要にすることができ、ポイントクラウドの符号化データの復号処理の負荷の増大を抑制することができる。
【0070】
なお、このDCM順番情報は、DCMが適用されたポイントの復号結果の出力順位を示すことができればどのような情報であってもよい。例えば、DCM順番情報が、そのDCMが適用されたポイントの復号結果の出力順位を、先頭からの順番で示す情報を含むようにしてもよい。また、DCM順番情報が、そのDCMが適用されたポイントの復号結果の出力順位を、その1つ前に出力されるDCMが適用されたポイントの復号結果の出力順位からの差分値で示す情報を含むようにしてもよい。さらに、DCM順番情報が、そのDCMが適用されたポイントの復号結果の出力順位を、所定の基準順位からの差分値で示す情報を含むようにしてもよい。
【0071】
例えば、
図3に示されるOctreeにおいて、ノードa乃至ノードd、並びに、ポイントF乃至ポイントLは、
図1の場合と同様に構成されている。ノードaは、ノードeに属する。このノードeに属するポイントMおよびポイントLは、DCMを適用して符号化・復号される。
【0072】
このような場合において、実線四角21により囲まれるポイントF乃至ポイントNが、上述のように矢印22のような出力順で出力されることを保証するとする。
図1を参照して説明したようにOctree符号化されるノードに属するポイントの復号結果は、上述のようにその出力順が保証される。つまり、ポイントF、ポイントG、ポイントH、ポイントK、およびポイントLの復号結果は、ポイントF→ポイントG→ポイントH→ポイントK→ポイントLのような順で出力される。
【0073】
これに対して、ポイントM、ポイントJ、およびポイントNは、DCMが適用されるので、
図3に示されるような順で処理されるとは限らない。そこで、DCM順番情報を用いて、これらのポイントを正しい順位で出力するようにする。
【0074】
図3において各ポイントの復号結果が左から右に向かう順に出力されるようにするので、ポイントMの復号結果の正しい出力順位は2、ポイントJの復号結果の正しい出力順位は5、ポイントNの復号結果の正しい出力順位は6であるとする。
【0075】
例えば、DCM順番情報が、その復号結果の出力順位を、先頭からの順番(例えば復号順)で示すようにしてもよい。その場合、DCM順番情報は、ポイントMの復号結果の出力順位を「2」と示し、ポイントJの復号結果の出力順位を「5」と示し、ポイントNの復号結果の出力順位を「6」と示す。
【0076】
また、例えば、DCM順番情報が、その復号結果の出力順位を、その1つ前に出力されるDCMが適用されたポイントの復号結果の出力順位からの差分値で示すようにしてもよい。その場合、DCM順番情報は、ポイントMの復号結果の出力順位を「2」(ポイントMの復号結果の出力順位「2」から先頭「0」を減算した値)と示す。また、DCM順番情報は、ポイントJの復号結果の出力順位を「3」(ポイントJの復号結果の出力順位「5」からポイントMの復号結果の出力順位「2」を減算した値)と示す。さらに、DCM順番情報は、ポイントNの復号結果の出力順位を「1」(ポイントNの復号結果の出力順位「6」からポイントJの復号結果の出力順位「5」を減算した値)と示す。
【0077】
このようにすることにより、復号結果の出力順位を先頭からの順番(例えば復号順)で示す場合よりもDCM順番情報の符号量を低減させることができる。つまり、符号化効率の低減を抑制することができる。
【0078】
また、例えば、DCM順番情報が、その復号結果の出力順位を、所定の基準順位からの差分値で示すようにしてもよい。例えば、所定のポイント数毎に区切るグリッド単位を設け、そのグリッド単位において差分値を初期化する(例えば「0」にする)ようにしてもよい。
図3の例の場合、一点鎖線23がグリッド単位の1つを示す。つまり、この例の場合、ポイント5つ毎にグリッド単位が設けられている。1つ前のDCMが適用されたポイントからの差分値を導出する際に、このようなグリッド単位を超えるとその差分値がリセットされる。
【0079】
その場合、DCM順番情報は、ポイントMの復号結果の出力順位を「2」(ポイントMの復号結果の出力順位「2」から先頭「0」を減算した値)と示す。また、DCM順番情報は、ポイントJの復号結果の出力順位を「3」(ポイントJの復号結果の出力順位「5」からポイントMの復号結果の出力順位「2」を減算した値)と示す。さらに、DCM順番情報は、ポイントNの復号結果の出力順位を「1」(ポイントNの復号結果の出力順位「6」から一点鎖線23で示されるグリッド単位「5」を減算した値)と示す。
図3においては、差分値が初期化されたことを示すために「1’」と表している。
【0080】
このようにすることにより、復号結果の出力順位を1つ前のDCMが適用されたポイントからの差分値で示す場合よりもDCM順番情報の符号量を低減させることができる。つまり、符号化効率の低減を抑制することができる。
【0081】
符号化側においては、以上のようなDCM順番情報を生成し、復号側に伝送させる。復号側においては、伝送されたDCM順番情報を取得し、そのDCM順番情報に基づいて、DCMが適用されたポイントの復号結果の出力順位を制御する。つまり、DCMが適用されたポイントの復号結果を正しい出力順位で出力させる。換言するに、DCM順番情報に基づいて、出力順に並ぶOctree符号化データの復号結果の列の、正しい出力順位となる位置に、DCMが適用されたポイントの復号結果を挿入する。
【0082】
このようにすることにより、DCMが適用される場合においても同様に、ポイントの並べ替え処理を不要にすることができ、ポイントクラウドの符号化データの復号処理の負荷の増大を抑制することができる。
【0083】
<中間階層の制御情報>
なお、上述のような木構造のジオメトリデータの符号化データは、スケーラブルに復号することができる。つまり、最下位層以外の階層(最下位層よりも上位層)の解像度でジオメトリデータを復号することもできる。
【0084】
ただし、上述のようなDCMが適用されたポイントは、階層によって位置(出力順位)が変化する可能性がある。例えば、
図4に示されるように、実線四角31で囲まれた階層の各ノード(ポイント)の復号結果を矢印32のような順に出力させるとする。
【0085】
この場合、DCMが適用されるポイントM、ポイントJ(ノードc)、およびポイントNの出力順位が、
図3の場合と異なる。
【0086】
そこで、
図2に示される表の上から6番目の段に記載の「方法1-5」のように、符号化側において、このような木構造の中間階層においても制御情報(DCM順番情報)を生成するようにしてもよい。例えば、DCMが適用されるポイントについては、DCMが適用された符号化が行われる処理対象のノードからそのポイントまでの全階層(または一部の階層)について制御情報(DCM順番情報)を生成するようにしてもよい。
【0087】
そして、そのような制御情報(DCM順番情報)をシグナリングする(符号化側から復号側に伝送する)ようにしてもよい。さらに、復号側において、そのような制御情報(DCM順番情報)に基づいて、DCMが適用されるポイントの復号結果の出力順を制御するようにしてもよい。
【0088】
換言するに、制御情報(DCM順番情報)が木構造の中間階層における復号結果の出力順位に関する情報も含むようにしてもよい。
【0089】
この中間階層の場合も、制御情報は、上述した最下位層の場合と同様に、復号結果の出力順位を表現するようにしてもよい。例えば、制御情報が、DCMが適用されたポイントの復号結果の出力順位を、先頭からの順番(例えば復号順)で示すようにしてもよい。
図4の例において、その場合の制御情報は、ポイントMの復号結果の出力順位を「1」と示し、ポイントJの復号結果の出力順位を「3」と示し、ポイントNの復号結果の出力順位を「4」と示す。
【0090】
また、例えば、制御情報が、DCMが適用されたポイントの復号結果の出力順位を、その1つ前に出力されるDCMが適用されたポイントの復号結果の出力順位からの差分値で示すようにしてもよい。
図4の例において、その場合の制御情報は、ポイントMの復号結果の出力順位を「1」(ポイントMの復号結果の出力順位「1」から先頭「0」を減算した値)と示し、ポイントJの復号結果の出力順位を「2」(ポイントJの復号結果の出力順位「3」からポイントMの復号結果の出力順位「1」を減算した値)と示し、ポイントNの復号結果の出力順位を「1」(ポイントNの復号結果の出力順位「4」からポイントJの復号結果の出力順位「3」を減算した値)と示す。
【0091】
このようにすることにより、復号結果の出力順位を先頭からの順番(例えば復号順)で示す場合よりも制御情報の符号量を低減させることができる。つまり、符号化効率の低減を抑制することができる。
【0092】
また、例えば、DCMが適用されたポイントの制御情報が、その復号結果の出力順位を、所定の基準順位からの差分値で示すようにしてもよい。例えば、所定のポイント数毎に区切るグリッド単位を設け、そのグリッド単位において差分値を初期化する(例えば「0」にする)ようにしてもよい。
図4の例の場合、一点鎖線33がグリッド単位の1つを示す。つまり、この例の場合、ポイント3つ毎にグリッド単位が設けられている。1つ前のDCMが適用されたポイントからの差分値を導出する際に、このようなグリッド単位を超えるとその差分値がリセットされる。
【0093】
図4の例において、その場合の制御情報は、ポイントMの復号結果の出力順位を「1」(ポイントMの復号結果の出力順位「1」から先頭「0」を減算した値)と示し、ポイントJの復号結果の出力順位を「2」(ポイントJの復号結果の出力順位「3」からポイントMの復号結果の出力順位「1」を減算した値)と示し、ポイントNの復号結果の出力順位を「1」(ポイントNの復号結果の出力順位「4」から一点鎖線23で示されるグリッド単位「3」を減算した値)と示す。
図4においては、差分値が初期化されたことを示すために「1’」と表している。
【0094】
このようにすることにより、復号結果の出力順位を1つ前のDCMが適用されたポイントからの差分値で示す場合よりも制御情報の符号量を低減させることができる。つまり、符号化効率の低減を抑制することができる。
【0095】
図5のAに示されるように、従来のジオメトリデータのビットストリーム40の場合、DCMが適用されて符号化されたポイントの符号化データ41と、Octree符号化されたポイントの符号化データ42とが互いに異なるデータとして構成され、処理順に並んでいない。また、各ポイントの処理順を示す情報もない。さらに、Octree符号化されたポイントも処理順に並んでいない。したがって、各ポイントの符号化データの復号結果を、アトリビュートデータの処理順(例えばモートン順序)にソートする必要がある。
【0096】
これに対して、上述した本技術を適用することにより、
図5のBに示されるように、そのビットストリーム50は、DCMが適用されて符号化されたポイントの符号化データ51と、Octree符号化されたポイントの符号化データ52と、DCM順番情報53とを有する。このDCM順番情報53は、DCMが適用された各ポイントの復号結果の出力順位を示す。したがって、復号側において、このDCM順番情報53に基づいて、DCMが適用された各ポイントの復号結果を、Octree符号化されたポイント群の正しい位置に挿入する。
【0097】
このようにすることにより、ジオメトリデータの復号結果のソートが不要になり、ポイントクラウドの符号化データの復号処理の負荷の増大を抑制することができる。
【0098】
<制御情報の伝送方式>
なお、以上のような制御情報の伝送方式は任意である。つまり、
図2に示される表の上から7番目の段に記載の「方法1-6」のように、制御情報が所定の伝送方式で伝送されるようにしてもよい。例えば、制御情報をジオメトリデータの符号化データに含めるようにしてもよい。また、例えば、制御情報をジオメトリデータの符号化データとは異なるデータとして伝送するようにしてもよい。その場合、識別情報等を用いて、制御情報をジオメトリデータの符号化データに関連付けるようにしてもよい。例えば、制御情報に、対応するデータ単位(例えばスライス等)のジオメトリデータの識別情報を含めるようにしてもよい。
【0099】
<2.第1の実施の形態>
<符号化装置>
次に、<1.復号結果の出力順の保証>において上述した本技術を適用する装置について説明する。
図6は、本技術を適用した情報処理装置の一態様である符号化装置の構成の一例を示すブロック図である。
図6に示される符号化装置100は、ポイントクラウド(3Dデータ)を符号化する装置である。符号化装置100は、<1.復号結果の出力順の保証>において上述した本技術を適用してポイントクラウドを符号化する。
【0100】
なお、
図6においては、処理部やデータの流れ等の主なものを示しており、
図6に示されるものが全てとは限らない。つまり、符号化装置100において、
図6においてブロックとして示されていない処理部が存在したり、
図6において矢印等として示されていない処理やデータの流れが存在したりしてもよい。
【0101】
図6に示されるように符号化装置100は、位置情報符号化部101、位置情報復号部102、ポイントクラウド生成部103、属性情報符号化部104、およびビットストリーム生成部105を有する。
【0102】
位置情報符号化部101は、符号化装置100に入力されたポイントクラウド(3Dデータ)のジオメトリデータ(位置情報)を符号化する。例えば位置情報符号化部101は、ジオメトリデータを階層化してOctreeを生成し、そのOctreeを符号化する。また、例えば位置情報符号化部101は、疎なポイントのジオメトリデータを、DCMを適用して符号化する。
【0103】
その際、位置情報符号化部101は、<1.復号結果の出力順の保証>において上述した本技術を適用し、ジオメトリデータを符号化する。例えば、位置情報符号化部101は、ジオメトリデータの復号結果がアトリビュートデータの処理順で出力されるように、ジオメトリデータをOctree化し、符号化する。位置情報符号化部101は、生成したジオメトリデータの符号化データを位置情報復号部102およびビットストリーム生成部105に供給する。
【0104】
位置情報復号部102は、位置情報符号化部101から供給されるジオメトリデータの符号化データを取得し、その符号化データを復号する。この復号方法は、位置情報符号化部101による符号化に対応する方法であれば任意である。例えば、デノイズのためのフィルタリングや逆量子化等の処理が行われるようにしてもよい。位置情報復号部102は、生成したジオメトリデータ(復号結果)をポイントクラウド生成部103に供給する。
【0105】
ポイントクラウド生成部103は、符号化装置100に入力されるポイントクラウドのアトリビュートデータ(属性情報)と、位置情報復号部102から供給されるジオメトリデータ(復号結果)を取得する。ポイントクラウド生成部103は、アトリビュートデータをジオメトリデータ(復号結果)に合わせる処理(リカラー処理)を行う。ポイントクラウド生成部103は、ジオメトリデータ(復号結果)に対応させたアトリビュートデータを属性情報符号化部104に供給する。
【0106】
また、ポイントクラウド生成部103は、<1.復号結果の出力順の保証>において上述した本技術を適用し、DCMが適用されるポイントの復号結果の出力順位を示すDCM順番情報を生成し、符号化する処理を行う。ポイントクラウド生成部103は、生成したDCM順番情報の符号化データをビットストリーム生成部105に供給する。
【0107】
属性情報符号化部104は、ポイントクラウド生成部103から供給されるジオメトリデータ(復号結果)およびアトリビュートデータを取得する。属性情報符号化部104は、そのジオメトリデータ(復号結果)を用いて、アトリビュートデータを符号化し、アトリビュートデータの符号化データを生成する。属性情報符号化部104は、生成したアトリビュートデータの符号化データをビットストリーム生成部105に供給する。
【0108】
ビットストリーム生成部105は、位置情報符号化部101から供給されるジオメトリデータの符号化データを取得する。また、ビットストリーム生成部105は、属性情報符号化部104から供給されるアトリビュートデータの符号化データを取得する。さらに、ビットストリーム生成部105は、ポイントクラウド生成部103から供給されるDCM順番情報の符号化データを取得する。ビットストリーム生成部105は、これらの符号化データを含むビットストリームを生成する。ビットストリーム生成部105は、生成したビットストリームを符号化装置100の外部に出力する。
【0109】
このような構成とすることにより、符号化装置100は、ポイントの並べ替え処理が不要になるので、ポイントクラウドの符号化データの復号処理の負荷の増大を抑制することができる。したがって、符号化装置100は、ポイントクラウドの符号化データの復号の実時間処理を確実に実現するための実装コストの増大を抑制することができる。
【0110】
なお、符号化装置100のこれらの処理部(位置情報符号化部101乃至ビットストリーム生成部105)は、それぞれ、任意の構成を有する。例えば、各処理部が、上述の処理を実現する論理回路により構成されるようにしてもよい。また、各処理部が、例えばCPU(Central Processing Unit)、ROM(Read Only Memory)、RAM(Random Access Memory)等を有し、それらを用いてプログラムを実行することにより、上述の処理を実現するようにしてもよい。もちろん、各処理部が、その両方の構成を有し、上述の処理の一部を論理回路により実現し、他を、プログラムを実行することにより実現するようにしてもよい。各処理部の構成は互いに独立していてもよく、例えば、一部の処理部が上述の処理の一部を論理回路により実現し、他の一部の処理部がプログラムを実行することにより上述の処理を実現し、さらに他の処理部が論理回路とプログラムの実行の両方により上述の処理を実現するようにしてもよい。
【0111】
<位置情報符号化部>
図7は、位置情報符号化部101(
図6)の主な構成例を示すブロック図である。なお、
図7においては、処理部やデータの流れ等の主なものを示しており、
図7に示されるものが全てとは限らない。つまり、位置情報符号化部101において、
図7においてブロックとして示されていない処理部が存在したり、
図7において矢印等として示されていない処理やデータの流れが存在したりしてもよい。
【0112】
図7に示されるよう位置情報符号化部101は、バウンディングボックス設定部111、ボクセル設定部112、モード選択部113、Octree符号化部114、およびDCM符号化部115を有する。
【0113】
バウンディングボックス設定部111は、バウンディングボックスの設定に関する処理を行う。例えば、バウンディングボックス設定部111は、符号化装置100に入力されるポイントクラウドデータのジオメトリデータを取得する。バウンディングボックス設定部111は、そのジオメトリデータに対してバウンディングボックスを設定する。バウンディングボックスは、符号化対象のジオメトリデータを正規化するための情報である。このバウンディングボックスを基準としてボクセル化が行われる。バウンディングボックス設定部111は、そのバウンディングボックスに関する情報を、ジオメトリデータとともにボクセル設定部112に供給する。
【0114】
ボクセル設定部112は、ボクセルの設定に関する処理を行う。例えば、ボクセル設定部112は、バウンディングボックス設定部111から供給されるジオメトリデータおよびバウンディングボックスに関する情報を取得する。また、ボクセル設定部112は、それらの情報に基づいて、ジオメトリデータに対して設定されたバウンディングボックスを分割してボクセルを設定する。つまり、ボクセル設定部112は、そのジオメトリデータのボクセル化(各ポイントの位置の量子化)を行う。ボクセル設定部112は、このようにボクセル化されたジオメトリデータであるボクセルデータをモード選択部113に供給する。
【0115】
モード選択部113は、符号化方法(モード)の選択に関する処理を行う。例えば、モード選択部113は、ボクセル設定部112から供給されるボクセルデータを取得する。また、モード選択部113は、ボクセル(Octreeにおけるノード)毎に符号化方法(モード)の選択を行う。つまり、モード選択部113は、処理対象のボクセルをOctree符号化するか、DCMを適用した符号化(DCM符号化とも称する)を行うかを選択する。
【0116】
例えば、モード選択部113は、処理対象のボクセルについて疎であるか否かを判定する。所定の条件に基づいて疎でないと判定された場合、モード選択部113は、符号化方法としてOctree符号化を選択し、その処理対象のボクセルデータをOctree符号化部114に供給する。また、所定の条件に基づいて疎であると判定された場合、モード選択部113は、符号化方法としてDCM符号化を選択し、その処理対象のボクセルデータをDCM符号化部115に供給する。
【0117】
Octree符号化部114は、Octreeを用いた符号化に関する処理を行う。例えば、Octree符号化部114は、モード選択部113から供給される処理対象のボクセルデータを取得する。Octree符号化部114は、そのボクセルデータを用いて、処理対象ノードのOctreeデータ(ChildMask)を生成する。Octree符号化部114は、その処理対象ノードのOctreeデータを所定の方法で符号化し、符号化データを生成する。
【0118】
その際、Octree符号化部114は、<1.復号結果の出力順の保証>において上述した本技術(例えば、
図2の「方法1」(方法1-1乃至方法1-3を含みうる))を適用して符号化を行う。つまり、Octree符号化部114は、ジオメトリデータの復号結果がアトリビュートデータの処理順で出力されるように、処理対象ノードのOctreeデータを符号化する。例えば、Octree符号化部114は、ジオメトリデータの復号結果がモートン順序で出力されるような順に、処理対象ノードのOctreeデータを符号化する。例えば、Octree符号化部114は、Octreeの各ノードにおいて復号結果がポイントクラウドのアトリビュートデータの処理順で出力されるような順に符号化する。
【0119】
Octree符号化部114は、このように符号化を行って生成した符号化データ(処理対象ノードのボクセルデータの符号化データ)を位置情報復号部102およびビットストリーム生成部105(ともに
図6)に供給する。
【0120】
DCM符号化部115は、DCMを用いた符号化に関する処理を行う。例えば、DCM符号化部115は、モード選択部113から供給される処理対象のボクセルデータを取得する。DCM符号化部115は、そのボクセルデータを、DCMを適用して符号化し、符号化データを生成する。例えば、DCM符号化部115は、そのボクセルデータを用いて、処理対象ノードからリーフまでの相対距離を符号化し、符号化データを生成する。DCM符号化部115は、生成した符号化データを位置情報復号部102およびビットストリーム生成部105(ともに
図6)に供給する。
【0121】
このような構成とすることにより、位置情報符号化部101は、ジオメトリデータの復号結果の出力順が所定の順序となることが保証されるように、Octree符号化を行うことができる。したがって、符号化装置100は、ポイントの並べ替え処理が不要になるので、ポイントクラウドの符号化データの復号処理の負荷の増大を抑制することができる。
【0122】
なお、位置情報符号化部101のこれらの処理部(バウンディングボックス設定部111乃至DCM符号化部115)は、それぞれ、任意の構成を有する。例えば、各処理部が、上述の処理を実現する論理回路により構成されるようにしてもよい。また、各処理部が、例えばCPU、ROM、RAM等を有し、それらを用いてプログラムを実行することにより、上述の処理を実現するようにしてもよい。もちろん、各処理部が、その両方の構成を有し、上述の処理の一部を論理回路により実現し、他を、プログラムを実行することにより実現するようにしてもよい。各処理部の構成は互いに独立していてもよく、例えば、一部の処理部が上述の処理の一部を論理回路により実現し、他の一部の処理部がプログラムを実行することにより上述の処理を実現し、さらに他の処理部が論理回路とプログラムの実行の両方により上述の処理を実現するようにしてもよい。
【0123】
<ポイントクラウド生成部>
図8は、ポイントクラウド生成部103(
図6)の主な構成例を示すブロック図である。なお、
図8においては、処理部やデータの流れ等の主なものを示しており、
図8に示されるものが全てとは限らない。つまり、ポイントクラウド生成部103において、
図8においてブロックとして示されていない処理部が存在したり、
図8において矢印等として示されていない処理やデータの流れが存在したりしてもよい。
【0124】
図8に示されるようにポイントクラウド生成部103は、モートンコード変換部121、並べ替え部122、DCM順番情報生成部123、DCM順番情報符号化部124、およびリカラー処理部125を有する。
【0125】
モートンコード変換部121は、位置情報復号部102(
図6)から供給されたジオメトリデータ(復号結果)を、モートンコード(Morton Code)に変換する。つまり、モートンコード変換部121は、モートンコードを利用して3次元空間上のポイントを1次元にマッピングする。モートンコード変換部121は、そのモートンコードを付した各ポイントのジオメトリデータを並べ替え部122に供給する。
【0126】
並べ替え部122は、モートンコード変換部121から供給されたジオメトリデータを取得し、そのモートンコードの値に基づいて、ソートをかける。つまり、並べ替え部122は、各ポイントのジオメトリデータをモートン順序に並べ替える。並べ替え部122は、そのモートン順序に並べ替えられた各ポイントのジオメトリデータをDCM順番情報生成部123およびリカラー処理部125に供給する。
【0127】
DCM順番情報生成部123は、モートン順序に並べ替えられた各ポイントのジオメトリデータの内、符号化の際にDCMが適用されるポイントを特定し、そのポイントの復号結果の出力順を示す制御情報であるDCM順番情報を生成する。
【0128】
例えば、DCM順番情報が、そのDCMが適用されたポイントの復号結果の出力順位を、先頭からの順番で示す情報を含むようにしてもよい。また、DCM順番情報が、そのDCMが適用されたポイントの復号結果の出力順位を、その1つ前に出力されるDCMが適用されたポイントの復号結果の出力順位からの差分値で示す情報を含むようにしてもよい。さらに、DCM順番情報が、そのDCMが適用されたポイントの復号結果の出力順位を、所定の基準順位からの差分値で示す情報を含むようにしてもよい。
【0129】
なお、DCM順番情報生成部123は、Octreeの中間階層においても、DCMが適用されるポイントの、その階層における出力順位を示すDCM順番情報を生成するようにしてもよい。つまり、DCM順番情報がOctreeの中間階層における復号結果の出力順位に関する情報も含むようにしてもよい。DCM順番情報生成部123は、生成したDCM順番情報をDCM順番情報符号化部124に供給する。
【0130】
DCM順番情報符号化部124は、DCM順番情報の符号化に関する処理を行う。例えば、DCM順番情報符号化部124は、DCM順番情報生成部123から供給されるDCM順番情報を取得する。DCM順番情報符号化部124は、取得したDCM順番情報を符号化し、符号化データを生成する。この符号化の方法は任意である。DCM順番情報符号化部124は、生成したDCM順番情報の符号化データをビットストリーム生成部105(
図6)に供給する。
【0131】
リカラー処理部125は、アトリビュートデータをジオメトリデータに合わせる処理(リカラー処理)に関する処理を行う。例えば、リカラー処理部125は、符号化装置100に入力されるポイントクラウドのアトリビュートデータを取得する。また、リカラー処理部125は、並べ替え部122から供給されるモートン順序に並べ替えられた各ポイントのジオメトリデータを取得する。
【0132】
リカラー処理部125は、取得したアトリビュートデータを取得したジオメトリデータに合わせる処理(リカラー処理)を行い、ポイントクラウドデータを生成する。リカラー処理部125は、生成したポイントクラウドデータを属性情報符号化部104(
図6)に供給する。
【0133】
このような構成とすることにより、ポイントクラウド生成部103は、DCM順番情報を生成し、復号側に伝送させることができる。このDCM順番情報により、DCMが適用されて符号化されたポイントの復号結果も、適切な出力順位で出力することができる。したがって、復号の際にポイントの並べ替えが不要になるので、符号化装置100は、ポイントクラウドの符号化データの復号の実時間処理を確実に実現するための実装コストの増大を抑制することができる。
【0134】
なお、ポイントクラウド生成部103のこれらの処理部(モートンコード変換部121乃至リカラー処理部125)は、それぞれ、任意の構成を有する。例えば、各処理部が、上述の処理を実現する論理回路により構成されるようにしてもよい。また、各処理部が、例えばCPU、ROM、RAM等を有し、それらを用いてプログラムを実行することにより、上述の処理を実現するようにしてもよい。もちろん、各処理部が、その両方の構成を有し、上述の処理の一部を論理回路により実現し、他を、プログラムを実行することにより実現するようにしてもよい。各処理部の構成は互いに独立していてもよく、例えば、一部の処理部が上述の処理の一部を論理回路により実現し、他の一部の処理部がプログラムを実行することにより上述の処理を実現し、さらに他の処理部が論理回路とプログラムの実行の両方により上述の処理を実現するようにしてもよい。
【0135】
<符号化処理の流れ>
次に、この符号化装置100により実行される処理について説明する。符号化装置100は、符号化処理を実行することによりポイントクラウドのデータを符号化する。この符号化処理の流れの例を、
図9のフローチャートを参照して説明する。
【0136】
符号化処理が開始されると、符号化装置100の位置情報符号化部101は、ステップS101において、入力されたポイントクラウドのジオメトリデータ(位置情報)を符号化し、ジオメトリデータの符号化データを生成する。その際、位置情報符号化部101は、<1.復号結果の出力順の保証>において上述した本技術を適用して処理を行う。位置情報符号化処理の詳細については後述する。
【0137】
ステップS102において、位置情報復号部102は、ステップS101において生成されたジオメトリデータの符号化データを復号し、位置情報を生成する。
【0138】
ステップS103において、ポイントクラウド生成部103は、入力されたポイントクラウドのアトリビュートデータ(属性情報)と、ステップS102において生成されたジオメトリデータ(復号結果)とを用いて、リカラー処理を行い、アトリビュートデータをジオメトリデータに対応させてポイントクラウドデータを生成する。また、その際、ポイントクラウド生成部103は、<1.復号結果の出力順の保証>において上述した本技術を適用して、DCMが適用されるポイントの復号結果の出力順位を示すDCM順番情報を生成し、符号化する処理を行う。ポイントクラウド生成処理の詳細については後述する。
【0139】
ステップS104において、属性情報符号化部104は、属性情報符号化処理を実行することにより、ステップS103においてリカラー処理されたアトリビュートデータを符号化し、アトリビュートデータの符号化データを生成する。
【0140】
ステップS105において、ビットストリーム生成部105は、ステップS101において生成されたジオメトリデータの符号化データと、ステップS103において生成されたDCM順番情報の符号化データと、ステップS104において生成されたアトリビュートデータの符号化データとを含むビットストリームを生成し、出力する。
【0141】
ステップS105の処理が終了すると符号化処理が終了する。
【0142】
このように各ステップの処理を行うことにより、符号化装置100は、復号の際のポイントの並べ替え処理を不要にすることができるので、ポイントクラウドの符号化データの復号処理の負荷の増大を抑制することができる。したがって、符号化装置100は、ポイントクラウドの符号化データの復号の実時間処理を確実に実現するための実装コストの増大を抑制することができる。
【0143】
<位置情報符号化処理の流れ>
次に、
図10のフローチャートを参照して、
図9のステップS101において実行される位置情報符号化処理の流れの例を説明する。
【0144】
位置情報符号化処理が開始されると、バウンディングボックス設定部111は、ステップS121において、処理対象のジオメトリデータに対して、バウンディングボックスを設定する。
【0145】
ステップS122において、ボクセル設定部112は、ステップS121において設定されたバウンディングボックスに基づいてボクセルを設定し、各ポイントのジオメトリデータを量子化する。
【0146】
ステップS123において、モード選択部113は、ステップS122において設定されたボクセルの中から、処理対象とするボクセルデータをモートン順序に従って選択する。
【0147】
ステップS124において、モード選択部113は、処理対象ボクセルデータに対してDCMを適用するか否かを判定する。所定の条件に基づいて疎であると判定された場合、処理はステップS125に進む。
【0148】
ステップS125において、DCM符号化部115は、処理対象ボクセルデータをDCM符号化する。ステップS125の処理が終了すると、処理はステップS127に進む。
【0149】
また、ステップS124において、処理対象ボクセルデータに対してDCMを適用しないと判定された場合、処理はステップS126に進む。
【0150】
ステップS126において、Octree符号化部114は、<1.復号結果の出力順の保証>において上述した本技術を適用し、復号結果の出力順がモートン順序となるように、処理対象ボクセルデータに対してOctree符号化を行う。ステップS126の処理が終了すると処理はステップS127に進む。
【0151】
ステップS127において、モード選択部113は、全てのボクセルデータを処理したか否かを判定する。未処理のボクセルデータが存在する場合、処理はステップS123に戻り、それ以降の処理を繰り返す。つまり、各ボクセルデータに対して、ステップS123乃至ステップS127の各処理が実行される。
【0152】
そしてステップS127において、全てのボクセルデータが処理されたと判定された場合、位置情報符号化処理が終了し、処理は
図9に戻る。
【0153】
このように各ステップの処理を行うことにより、符号化装置100は、復号の際のポイントの並べ替え処理を不要にすることができるので、ポイントクラウドの符号化データの復号処理の負荷の増大を抑制することができる。したがって、符号化装置100は、ポイントクラウドの符号化データの復号の実時間処理を確実に実現するための実装コストの増大を抑制することができる。
【0154】
<ポイントクラウド生成処理の流れ>
次に、
図11のフローチャートを参照して、
図9のステップS103において実行されるポイントクラウド生成処理の流れの例を説明する。
【0155】
ポイントクラウド生成処理が開始されると、ポイントクラウド生成部103のモートンコード変換部121(
図8)は、ステップS141において、ジオメトリデータをモートンコードに変換する。
【0156】
ステップS142において、並べ替え部122は、ステップS121において付されたモートンコードに基づいて、ジオメトリデータをモートン順序に並べ替える。
【0157】
ステップS143において、DCM順番情報生成部123は、モートン順序に並べ替えられたポイント毎のジオメトリデータの内、符号化の際にDCMが適用されるポイントを特定し、そのポイントの復号結果の出力順を示すDCM順番情報を生成する。その際、DCM順番情報生成部123は、<1.復号結果の出力順の保証>において上述した本技術を適用して、DCM順番情報を生成する。
【0158】
ステップS144において、DCM順番情報符号化部124は、ステップS143において生成されたDCM順番情報を符号化し、符号化データを生成する。
【0159】
ステップS145において、リカラー処理部125は、取得したアトリビュートデータを取得したジオメトリデータに合わせる処理(リカラー処理)を行い、ポイントクラウドデータを生成する。
【0160】
ステップS145の処理が終了すると、ポイントクラウド生成処理が終了し、処理は
図9に戻る。
【0161】
このように各ステップの処理を行うことにより、符号化装置100は、復号の際のポイントの並べ替え処理を不要にすることができるので、ポイントクラウドの符号化データの復号処理の負荷の増大を抑制することができる。したがって、符号化装置100は、ポイントクラウドの符号化データの復号の実時間処理を確実に実現するための実装コストの増大を抑制することができる。
【0162】
<3.第2の実施の形態>
<復号装置>
次に、<1.復号結果の出力順の保証>において上述した本技術を適用する装置の他の例について説明する。
図12は、本技術を適用した情報処理装置の一態様である復号装置の構成の一例を示すブロック図である。
図12に示される復号装置200は、ポイントクラウド(3Dデータ)の符号化データを復号する装置である。復号装置200は、<1.復号結果の出力順の保証>において上述した本技術を適用してポイントクラウドの符号化データを復号する。
【0163】
なお、
図12においては、処理部やデータの流れ等の主なものを示しており、
図12に示されるものが全てとは限らない。つまり、復号装置200において、
図12においてブロックとして示されていない処理部が存在したり、
図12において矢印等として示されていない処理やデータの流れが存在したりしてもよい。
【0164】
図12に示されるように復号装置200は、符号化データ抽出部201、位置情報復号部202、属性情報復号部203、およびポイントクラウド生成部204を有する。
【0165】
符号化データ抽出部201は、復号装置200に入力されるビットストリームを取得し、保持する。符号化データ抽出部201は、そのビットストリームから、ジオメトリデータ(位置情報)およびアトリビュートデータ(属性情報)の符号化データを抽出する。その際、符号化データ抽出部201は、全ての階層の符号化データをビットストリームから抽出することができる。また、例えば、最上位層から、ユーザやアプリケーション等により指定された階層までの符号化データ(つまり、一部の階層の符号化データ)をビットストリームから抽出することもできる。
【0166】
符号化データ抽出部201は、抽出したジオメトリデータの符号化データを位置情報復号部202に供給する。符号化データ抽出部201は、抽出したアトリビュートデータの符号化データを属性情報復号部203に供給する。
【0167】
位置情報復号部202は、符号化データ抽出部201から供給されるジオメトリデータの符号化データを取得する。位置情報復号部202は、そのジオメトリデータの符号化データを復号し、ジオメトリデータ(復号結果)を生成する。その際、位置情報復号部202は、<1.復号結果の出力順の保証>において上述した本技術を適用してジオメトリデータを復号する。つまり、位置情報復号部202は、ジオメトリデータの符号化データを復号し、その復号結果をポイントクラウドのアトリビュートデータの処理順で出力する。
【0168】
位置情報復号部202は、生成したジオメトリデータ(復号結果)を、属性情報復号部203およびポイントクラウド生成部204に供給する。
【0169】
属性情報復号部203は、符号化データ抽出部201から供給されるアトリビュートデータの符号化データを取得する。属性情報復号部203は、位置情報復号部202から供給されるジオメトリデータ(復号結果)を取得する。属性情報復号部203は、そのジオメトリデータを用いて、アトリビュートデータの符号化データを復号し、アトリビュートデータ(復号結果)を生成する。属性情報復号部203は、生成したアトリビュートデータ(復号結果)をポイントクラウド生成部204に供給する。
【0170】
ポイントクラウド生成部204は、位置情報復号部202から供給されるジオメトリデータ(復号結果)を取得する。ポイントクラウド生成部204は、属性情報復号部203から供給されるアトリビュートデータ(復号結果)を取得する。ポイントクラウド生成部204は、そのジオメトリデータ(復号結果)およびアトリビュートデータ(復号結果)を用いて、ポイントクラウド(復号結果)を生成する。ポイントクラウド生成部204は、生成したポイントクラウド(復号結果)のデータを復号装置200の外部に出力する。
【0171】
このような構成とすることにより、復号結果のジオメトリデータがアトリビュートデータの処理順と同順で出力されるので、ポイントの並べ替え処理が不要になる。したがって、復号装置200は、ポイントクラウドの符号化データの復号処理の負荷の増大を抑制することができる。したがって、ポイントクラウドの符号化データの復号の実時間処理を確実に実現するための実装コストの増大を抑制することができる。
【0172】
なお、これらの処理部(符号化データ抽出部201乃至ポイントクラウド生成部204)は、任意の構成を有する。例えば、各処理部が、上述の処理を実現する論理回路により構成されるようにしてもよい。また、各処理部が、例えばCPU、ROM、RAM等を有し、それらを用いてプログラムを実行することにより、上述の処理を実現するようにしてもよい。もちろん、各処理部が、その両方の構成を有し、上述の処理の一部を論理回路により実現し、他を、プログラムを実行することにより実現するようにしてもよい。各処理部の構成は互いに独立していてもよく、例えば、一部の処理部が上述の処理の一部を論理回路により実現し、他の一部の処理部がプログラムを実行することにより上述の処理を実現し、さらに他の処理部が論理回路とプログラムの実行の両方により上述の処理を実現するようにしてもよい。
【0173】
<位置情報復号部>
図13は、位置情報復号部202(
図12)の主な構成例を示すブロック図である。なお、
図13においては、処理部やデータの流れ等の主なものを示しており、
図13に示されるものが全てとは限らない。つまり、位置情報復号部202において、
図13においてブロックとして示されていない処理部が存在したり、
図13において矢印等として示されていない処理やデータの流れが存在したりしてもよい。
【0174】
図13に示されるよう位置情報復号部202は、復号部211およびDCM挿入部212を有する。
【0175】
復号部211は、ジオメトリデータの復号に関する処理を行う。例えば、位置情報復号部202は、符号化データ抽出部201から供給されるジオメトリデータの符号化データを取得する。復号部211は、取得した符号化データを復号し、ジオメトリデータを生成(復元)する。
【0176】
例えば、復号部211は、ジオメトリデータの符号化データに含まれる、DCM順番情報の符号化データを復号する。また、例えば、復号部211は、Octreeデータの符号化データをモートン順序に復号する。さらに、例えば、復号部211は、DCM符号化された符号化データを復号する。復号部211は、復号して生成したジオメトリデータ(DCM順番情報、Octreeデータ、DCMが適用されたポイントのジオメトリデータ(DCMデータとも称する)等を含み得る)をDCM挿入部212に供給する。
【0177】
DCM挿入部212は、DCMが適用されたポイントのジオメトリデータの出力順の制御に関する処理を行う。例えば、DCM挿入部212は、復号部211から供給されるジオメトリデータ(DCM順番情報、Octreeデータ、DCMデータ等を含み得る)を取得する。
【0178】
DCM挿入部212は、取得したDCMデータを、モートン順序に並び替えられたOctreeデータの列の、DCM順番情報により示される出力順位の位置に挿入する。つまり、DCM挿入部212は、DCMデータが、そのDCMデータに対応するDCM順番情報により示される出力順位で出力されるように制御する。
【0179】
DCM挿入部212は、DCMデータを挿入したOctreeデータ(モートン順序に並び替えられたジオメトリデータ)をポイントクラウド生成部204(
図12)に供給する。
【0180】
このような構成とすることにより、復号結果のジオメトリデータがアトリビュートデータの処理順と同順で出力されるので、ポイントの並べ替え処理が不要になる。したがって、復号装置200は、ポイントクラウドの符号化データの復号処理の負荷の増大を抑制することができる。したがって、ポイントクラウドの符号化データの復号の実時間処理を確実に実現するための実装コストの増大を抑制することができる。
【0181】
なお、これらの処理部(復号部211およびDCM挿入部212)は、任意の構成を有する。例えば、各処理部が、上述の処理を実現する論理回路により構成されるようにしてもよい。また、各処理部が、例えばCPU、ROM、RAM等を有し、それらを用いてプログラムを実行することにより、上述の処理を実現するようにしてもよい。もちろん、各処理部が、その両方の構成を有し、上述の処理の一部を論理回路により実現し、他を、プログラムを実行することにより実現するようにしてもよい。各処理部の構成は互いに独立していてもよく、例えば、一部の処理部が上述の処理の一部を論理回路により実現し、他の一部の処理部がプログラムを実行することにより上述の処理を実現し、さらに他の処理部が論理回路とプログラムの実行の両方により上述の処理を実現するようにしてもよい。
【0182】
<復号処理の流れ>
次に、この復号装置200により実行される処理について説明する。復号装置200は、復号処理を実行することによりポイントクラウドの符号化データを復号する。この復号処理の流れの例を、
図14のフローチャートを参照して説明する。
【0183】
復号処理が開始されると、復号装置200の符号化データ抽出部201は、ステップS201において、ビットストリームを取得して保持し、その中から復号する階層のジオメトリデータ(位置情報)とアトリビュートデータ(属性情報)の符号化データを抽出する。
【0184】
ステップS202において、位置情報復号部202は、ステップS201において抽出されたジオメトリデータの符号化データを復号し、ジオメトリデータ(復号結果)を生成する。その際、位置情報復号部202は、<1.復号結果の出力順の保証>において上述した本技術を適用して処理を行う。位置情報復号処理の詳細については後述する。
【0185】
ステップS203において、属性情報復号部203は、ステップS201において抽出されたアトリビュートデータの符号化データを復号し、アトリビュートデータ(復号結果)を生成する。
【0186】
ステップS204において、ポイントクラウド生成部204は、ステップS202において生成されたジオメトリデータ(復号結果)と、ステップS203において生成されたアトリビュートデータ(復号結果)とを用いてポイントクラウドデータ(復号結果)を生成し、出力する。
【0187】
ステップS204の処理が終了すると、復号処理が終了する。
【0188】
このように各ステップの処理を行うことにより、復号結果のジオメトリデータがアトリビュートデータの処理順と同順で出力されるので、ポイントの並べ替え処理が不要になる。したがって、復号装置200は、ポイントクラウドの符号化データの復号処理の負荷の増大を抑制することができる。したがって、ポイントクラウドの符号化データの復号の実時間処理を確実に実現するための実装コストの増大を抑制することができる。
【0189】
<位置情報復号処理の流れ>
次に、
図14のステップS202において実行される位置情報復号処理の流れの例を、
図15のフローチャートを参照して説明する。
【0190】
位置情報復号処理が開始されると、位置情報復号部202の復号部211は、ステップS221において、DCM順番情報を復号する。
【0191】
ステップS222において、復号部211は、Octreeデータの符号化データを、モートン順序に復号する。
【0192】
ステップS223において、復号部211は、DCMデータの符号化データを復号する。
【0193】
ステップS224において、DCM挿入部212は、ステップS223において復号されたDCMデータを、ステップS222において復号された、モートン順序に並ぶOctreeデータの、ステップS221において復号されたDCM順番情報により示される出力順位に対応する位置に挿入する。つまり、DCM挿入部212は、DCMデータがDCM順番情報により示される出力順位で出力されるように、ジオメトリデータ(復号結果)の出力順を制御する。その際、DCM挿入部212は、<1.復号結果の出力順の保証>において上述した本技術を適用して処理を行う。
【0194】
ステップS224の処理が終了すると、位置情報復号処理が終了し、処理は
図14に戻る。
【0195】
このように各ステップの処理を行うことにより、復号結果のジオメトリデータがアトリビュートデータの処理順と同順で出力されるので、ポイントの並べ替え処理が不要になる。したがって、復号装置200は、ポイントクラウドの符号化データの復号処理の負荷の増大を抑制することができる。したがって、ポイントクラウドの符号化データの復号の実時間処理を確実に実現するための実装コストの増大を抑制することができる。
【0196】
<4.付記>
<その他の出力順>
以上においては、ジオメトリデータの復号結果をアトリビュートデータの処理順で出力するように説明したが、ジオメトリデータの復号結果の出力順は、既知の順序であればよく、上述の例に限定されない。出力順が既知であれば、後段において、その出力順に適した処理を行うようにすることができ、ポイントの並べ替えが不要になり得る。
【0197】
例えば、アトリビュートデータが復号されない場合、ジオメトリデータの復号結果の出力順は、アトリビュートデータの処理順以外の順序であってもよい。
【0198】
図16の例のように、オブジェクトを内包するバウンディングボックス301内の一部の3次元領域である部分領域302のジオメトリデータを復号する場合、ジオメトリデータの復号結果がモートン順序に出力されれば、部分領域302に含まれるジオメトリデータを一群のデータとして指定することができる。つまり、復号対象として、最初のポイント(Start番号)と、最後のポイント(End番号)を指定するだけで、容易に、部分領域302内のジオメトリデータのみを復号することができる。
【0199】
このように、<1.復号結果の出力順の保証>において上述した本技術を適用して符号化や復号を行い、ジオメトリデータの復号結果が所定の順序で出力されるようにすることにより、ポイントの並べ替え処理が不要になり得る。したがって、そのような場合、ポイントクラウドの符号化データの復号処理の負荷の増大を抑制することができる。したがって、ポイントクラウドの符号化データの復号の実時間処理を確実に実現するための実装コストの増大を抑制することができる。
【0200】
<制御情報>
以上において制御情報のシグナリングについて説明したが、上述した例以外の制御情報をシグナリングするようにしてもよい。例えば、上述した本技術を適用することを許可(または禁止)するか否かを制御する制御情報(例えばenabled_flag)を伝送するようにしてもよい。また、例えば、上述した本技術を適用することを許可(または禁止)する範囲(例えばブロックサイズの上限若しくは下限、またはその両方、スライス、ピクチャ、シーケンス、コンポーネント、ビュー、レイヤ等)を指定する制御情報を伝送するようにしてもよい。
【0201】
<コンピュータ>
上述した一連の処理は、ハードウエアにより実行させることもできるし、ソフトウエアにより実行させることもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、コンピュータにインストールされる。ここでコンピュータには、専用のハードウエアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータ等が含まれる。
【0202】
図17は、上述した一連の処理をプログラムにより実行するコンピュータのハードウエアの構成例を示すブロック図である。
【0203】
図17に示されるコンピュータ900において、CPU(Central Processing Unit)901、ROM(Read Only Memory)902、RAM(Random Access Memory)903は、バス904を介して相互に接続されている。
【0204】
バス904にはまた、入出力インタフェース910も接続されている。入出力インタフェース910には、入力部911、出力部912、記憶部913、通信部914、およびドライブ915が接続されている。
【0205】
入力部911は、例えば、キーボード、マウス、マイクロホン、タッチパネル、入力端子などよりなる。出力部912は、例えば、ディスプレイ、スピーカ、出力端子などよりなる。記憶部913は、例えば、ハードディスク、RAMディスク、不揮発性のメモリなどよりなる。通信部914は、例えば、ネットワークインタフェースよりなる。ドライブ915は、磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリなどのリムーバブルメディア921を駆動する。
【0206】
以上のように構成されるコンピュータでは、CPU901が、例えば、記憶部913に記憶されているプログラムを、入出力インタフェース910およびバス904を介して、RAM903にロードして実行することにより、上述した一連の処理が行われる。RAM903にはまた、CPU901が各種の処理を実行する上において必要なデータなども適宜記憶される。
【0207】
コンピュータが実行するプログラムは、例えば、パッケージメディア等としてのリムーバブルメディア921に記録して適用することができる。その場合、プログラムは、リムーバブルメディア921をドライブ915に装着することにより、入出力インタフェース910を介して、記憶部913にインストールすることができる。
【0208】
また、このプログラムは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供することもできる。その場合、プログラムは、通信部914で受信し、記憶部913にインストールすることができる。
【0209】
その他、このプログラムは、ROM902や記憶部913に、あらかじめインストールしておくこともできる。
【0210】
<本技術の適用対象>
以上においては、ポイントクラウドデータの符号化・復号に本技術を適用する場合について説明したが、本技術は、これらの例に限らず、任意の規格の3Dデータの符号化・復号に対して適用することができる。つまり、上述した本技術と矛盾しない限り、符号化・復号方式等の各種処理、並びに、3Dデータやメタデータ等の各種データの仕様は任意である。また、本技術と矛盾しない限り、上述した一部の処理や仕様を省略してもよい。
【0211】
また、以上においては、本技術の適用例として符号化装置100および復号装置200について説明したが、本技術は、任意の構成に適用することができる。
【0212】
例えば、本技術は、衛星放送、ケーブルTVなどの有線放送、インターネット上での配信、およびセルラー通信による端末への配信などにおける送信機や受信機(例えばテレビジョン受像機や携帯電話機)、または、光ディスク、磁気ディスクおよびフラッシュメモリなどの媒体に画像を記録したり、これら記憶媒体から画像を再生したりする装置(例えばハードディスクレコーダやカメラ)などの、様々な電子機器に適用され得る。
【0213】
また、例えば、本技術は、システムLSI(Large Scale Integration)等としてのプロセッサ(例えばビデオプロセッサ)、複数のプロセッサ等を用いるモジュール(例えばビデオモジュール)、複数のモジュール等を用いるユニット(例えばビデオユニット)、または、ユニットにさらにその他の機能を付加したセット(例えばビデオセット)等、装置の一部の構成として実施することもできる。
【0214】
また、例えば、本技術は、複数の装置により構成されるネットワークシステムにも適用することもできる。例えば、本技術を、ネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングとして実施するようにしてもよい。例えば、コンピュータ、AV(Audio Visual)機器、携帯型情報処理端末、IoT(Internet of Things)デバイス等の任意の端末に対して、画像(動画像)に関するサービスを提供するクラウドサービスにおいて本技術を実施するようにしてもよい。
【0215】
なお、本明細書において、システムとは、複数の構成要素(装置、モジュール(部品)等)の集合を意味し、全ての構成要素が同一筐体中にあるか否かは問わない。したがって、別個の筐体に収納され、ネットワークを介して接続されている複数の装置、および、1つの筐体の中に複数のモジュールが収納されている1つの装置は、いずれも、システムである。
【0216】
<本技術を適用可能な分野・用途>
本技術を適用したシステム、装置、処理部等は、例えば、交通、医療、防犯、農業、畜産業、鉱業、美容、工場、家電、気象、自然監視等、任意の分野に利用することができる。また、その用途も任意である。
【0217】
<その他>
なお、本明細書において「フラグ」とは、複数の状態を識別するための情報であり、真(1)または偽(0)の2状態を識別する際に用いる情報だけでなく、3以上の状態を識別することが可能な情報も含まれる。したがって、この「フラグ」が取り得る値は、例えば1/0の2値であってもよいし、3値以上であってもよい。すなわち、この「フラグ」を構成するbit数は任意であり、1bitでも複数bitでもよい。また、識別情報(フラグも含む)は、その識別情報をビットストリームに含める形だけでなく、ある基準となる情報に対する識別情報の差分情報をビットストリームに含める形も想定されるため、本明細書においては、「フラグ」や「識別情報」は、その情報だけではなく、基準となる情報に対する差分情報も包含する。
【0218】
また、符号化データ(ビットストリーム)に関する各種情報(メタデータ等)は、符号化データに関連付けられていれば、どのような形態で伝送または記録されるようにしてもよい。ここで、「関連付ける」という用語は、例えば、一方のデータを処理する際に他方のデータを利用し得る(リンクさせ得る)ようにすることを意味する。つまり、互いに関連付けられたデータは、1つのデータとしてまとめられてもよいし、それぞれ個別のデータとしてもよい。例えば、符号化データ(画像)に関連付けられた情報は、その符号化データ(画像)とは別の伝送路上で伝送されるようにしてもよい。また、例えば、符号化データ(画像)に関連付けられた情報は、その符号化データ(画像)とは別の記録媒体(または同一の記録媒体の別の記録エリア)に記録されるようにしてもよい。なお、この「関連付け」は、データ全体でなく、データの一部であってもよい。例えば、画像とその画像に対応する情報とが、複数フレーム、1フレーム、またはフレーム内の一部分などの任意の単位で互いに関連付けられるようにしてもよい。
【0219】
なお、本明細書において、「合成する」、「多重化する」、「付加する」、「一体化する」、「含める」、「格納する」、「入れ込む」、「差し込む」、「挿入する」等の用語は、例えば符号化データとメタデータとを1つのデータにまとめるといった、複数の物を1つにまとめることを意味し、上述の「関連付ける」の1つの方法を意味する。
【0220】
また、本技術の実施の形態は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
【0221】
例えば、1つの装置(または処理部)として説明した構成を分割し、複数の装置(または処理部)として構成するようにしてもよい。逆に、以上において複数の装置(または処理部)として説明した構成をまとめて1つの装置(または処理部)として構成されるようにしてもよい。また、各装置(または各処理部)の構成に上述した以外の構成を付加するようにしてももちろんよい。さらに、システム全体としての構成や動作が実質的に同じであれば、ある装置(または処理部)の構成の一部を他の装置(または他の処理部)の構成に含めるようにしてもよい。
【0222】
また、例えば、上述したプログラムは、任意の装置において実行されるようにしてもよい。その場合、その装置が、必要な機能(機能ブロック等)を有し、必要な情報を得ることができるようにすればよい。
【0223】
また、例えば、1つのフローチャートの各ステップを、1つの装置が実行するようにしてもよいし、複数の装置が分担して実行するようにしてもよい。さらに、1つのステップに複数の処理が含まれる場合、その複数の処理を、1つの装置が実行するようにしてもよいし、複数の装置が分担して実行するようにしてもよい。換言するに、1つのステップに含まれる複数の処理を、複数のステップの処理として実行することもできる。逆に、複数のステップとして説明した処理を1つのステップとしてまとめて実行することもできる。
【0224】
また、例えば、コンピュータが実行するプログラムは、プログラムを記述するステップの処理が、本明細書で説明する順序に沿って時系列に実行されるようにしても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで個別に実行されるようにしても良い。つまり、矛盾が生じない限り、各ステップの処理が上述した順序と異なる順序で実行されるようにしてもよい。さらに、このプログラムを記述するステップの処理が、他のプログラムの処理と並列に実行されるようにしても良いし、他のプログラムの処理と組み合わせて実行されるようにしても良い。
【0225】
また、例えば、本技術に関する複数の技術は、矛盾が生じない限り、それぞれ独立に単体で実施することができる。もちろん、任意の複数の本技術を併用して実施することもできる。例えば、いずれかの実施の形態において説明した本技術の一部または全部を、他の実施の形態において説明した本技術の一部または全部と組み合わせて実施することもできる。また、上述した任意の本技術の一部または全部を、上述していない他の技術と併用して実施することもできる。
【0226】
なお、本技術は以下のような構成も取ることができる。
(1) 3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドの位置情報を、前記位置情報の符号化データの復号結果が前記ポイントクラウドの属性情報の処理順で出力されるような順に符号化し、前記符号化データを生成する符号化部
を備える情報処理装置。
(2) 前記符号化部は、前記位置情報を、前記復号結果がモートン順序で出力されるような順に符号化し、前記符号化データを生成する
(1)に記載の情報処理装置。
(3) 前記符号化部は、木構造化された前記位置情報を、前記木構造の各ノードにおいて前記復号結果が前記ポイントクラウドの属性情報の処理順で出力されるような順に符号化し、前記符号化データを生成する
(1)または(2)に記載の情報処理装置。
(4) 前記木構造は、Octreeである
(3)に記載の情報処理装置。
(5) 前記Octreeの疎なポイントの前記位置情報を、DCM(Direct Coding Mode)を適用して符号化し、前記位置情報の符号化データを生成するDCM符号化部と、
前記DCM符号化部により生成された前記符号化データの復号結果の出力順位に関する制御情報を生成する生成部と
をさらに備える(4)に記載の情報処理装置。
(6) 前記制御情報は、前記復号結果の出力順位を、先頭からの順番で示す情報を含む
(5)に記載の情報処理装置。
(7) 前記制御情報は、前記復号結果の出力順位を、1つ前に出力される前記DCMが適用されて符号化された前記位置情報の符号化データの復号結果の出力順位からの差分値で示す情報を含む
(5)に記載の情報処理装置。
(8) 前記制御情報は、前記復号結果の出力順位を、所定の基準順位からの差分値で示す情報を含む
(5)に記載の情報処理装置。
(9) 前記制御情報は、前記木構造の中間階層における前記復号結果の出力順位に関する情報も含む
(5)乃至(8)のいずれかに記載の情報処理装置。
(10) 3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドの位置情報を、前記位置情報の符号化データの復号結果が前記ポイントクラウドの属性情報の処理順で出力されるような順に符号化し、前記符号化データを生成する
情報処理方法。
【0227】
(11) 3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドの位置情報の符号化データを復号し、復号結果を前記ポイントクラウドの属性情報の処理順で出力する復号部
を備える情報処理装置。
(12) 前記復号部は、前記復号結果をモートン順序で出力する
(11)に記載の情報処理装置。
(13) 前記復号部は、木構造化された前記位置情報の符号化データを復号し、前記木構造の各ノードにおいて前記復号結果を前記ポイントクラウドの属性情報の処理順で出力する
(11)または(12)に記載の情報処理装置。
(14) 前記木構造は、Octreeである
(13)に記載の情報処理装置。
(15) DCM(Direct Coding Mode)が適用されて符号化された前記位置情報の符号化データの復号結果を、前記符号化データの復号結果の出力順位に関する制御情報により示される出力順位で出力させる出力制御部をさらに備える
をさらに備える(14)に記載の情報処理装置。
(16) 前記制御情報は、前記復号結果の出力順位を、先頭からの順番で示す情報を含む
(15)に記載の情報処理装置。
(17) 前記制御情報は、前記復号結果の出力順位を、1つ前に出力される前記DCMが適用されて符号化された前記位置情報の符号化データの復号結果の出力順位からの差分値で示す情報を含む
(15)に記載の情報処理装置。
(18) 前記制御情報は、前記復号結果の出力順位を、所定の基準順位からの差分値で示す情報を含む
(15)に記載の情報処理装置。
(19) 前記制御情報は、前記木構造の中間階層における前記復号結果の出力順位に関する情報も含む
(15)乃至(18)のいずれかに記載の情報処理装置。
(20) 3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドの位置情報の符号化データを復号し、復号結果を前記ポイントクラウドの属性情報の処理順で出力する
情報処理方法。
【符号の説明】
【0228】
100 符号化装置, 101 位置情報符号化部, 102 位置情報復号部, 103 ポイントクラウド生成部, 104 属性情報符号化部, 105 ビットストリーム生成部, 111 バウンディングボックス設定部, 112 ボクセル設定部, 113 モード選択部, 114 Octree符号化部, 115 DCM符号化部, 121 モートンコード変換部, 122 並べ替え部, 123 DCM順番情報生成部, 124 DCM順番情報符号化部, 125 リカラー処理部, 200 復号装置, 201 符号化データ抽出部, 202 位置情報復号部, 203 属性情報復号部, 204 ポイントクラウド生成部, 211 復号部, 212 DCM挿入部