(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-08-26
(45)【発行日】2024-09-03
(54)【発明の名称】情報処理装置および方法
(51)【国際特許分類】
G06T 9/00 20060101AFI20240827BHJP
【FI】
G06T9/00
(21)【出願番号】P 2021529954
(86)(22)【出願日】2020-06-18
(86)【国際出願番号】 JP2020023989
(87)【国際公開番号】W WO2021002214
(87)【国際公開日】2021-01-07
【審査請求日】2023-04-27
(31)【優先権主張番号】P 2019124027
(32)【優先日】2019-07-02
(33)【優先権主張国・地域又は機関】JP
(73)【特許権者】
【識別番号】000002185
【氏名又は名称】ソニーグループ株式会社
(74)【代理人】
【識別番号】100121131
【氏名又は名称】西川 孝
(74)【代理人】
【氏名又は名称】稲本 義雄
(74)【代理人】
【識別番号】100168686
【氏名又は名称】三浦 勇介
(72)【発明者】
【氏名】隈 智
(72)【発明者】
【氏名】中神 央二
(72)【発明者】
【氏名】矢野 幸司
(72)【発明者】
【氏名】安田 弘幸
(72)【発明者】
【氏名】加藤 毅
【審査官】佐田 宏史
(56)【参考文献】
【文献】国際公開第2020/013249(WO,A1)
【文献】国際公開第2019/103009(WO,A1)
【文献】西尾 孝治, 外4名,“点群データを対象とする情報変換の一手法”,第69回(平成19年)全国大会講演論文集(4) インタフェース コンピュータと人間社会,日本,社団法人情報処理学会,2007年03月06日,pp.41-42
(58)【調査した分野】(Int.Cl.,DB名)
G06T 9/00-9/40,19/00
H04N 13/161,13/194,19/96,21/854
H03M 7/30
(57)【特許請求の範囲】
【請求項1】
3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドの前記ポイント毎の属性情報を処理する情報処理装置であって、予測ポイントと参照ポイントに分類されたポイントのうち前記参照ポイントの前記属性情報を用いて導出された前記予測ポイントの前記属性情報の予測値と前記予測ポイントの前記属性情報との差分値を導出する処理を、前記参照ポイントに対して再帰的に繰り返すことにより、前記属性情報の階層化を行う階層化部を備え、
前記階層化部は、第1の階層を第1の階層化手法を用いて階層化を行い、前記第1の階層と異なる第2の階層を前記第1の階層化手法と異なる第2の階層化手法を用いて階層化を行う
情報処理装置。
【請求項2】
前記階層化部は、スケーラブルな復号に非対応の前記第1の階層化手法により、前記第1の階層を含む所定の階層よりも上位の階層を生成し、スケーラブルな復号に対応した前記第2の階層化手法により、前記第2の階層を含む前記所定の階層よりも下位の階層を生成する
請求項1に記載の情報処理装置。
【請求項3】
前記階層化部は、最下位層から最上位層に向かう順に各階層を生成する
請求項2に記載の情報処理装置。
【請求項4】
前記階層化部による前記属性情報の階層化に関する制御情報を生成する生成部と、
前記階層化部により階層化された前記属性情報を符号化し、前記生成部により生成された前記制御情報を含む、前記属性情報の符号化データを生成する符号化部と
をさらに備える請求項1に記載の情報処理装置。
【請求項5】
情報処理装置が、
3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドの前記ポイント毎の属性情報について、予測ポイントと参照ポイントとに分類し、前記参照ポイントの前記属性情報を用いて前記予測ポイントの前記属性情報の予測値を導出し、前記予測ポイントの前記属性情報と前記予測値との差分値を導出する処理を、前記参照ポイントに対して再帰的に繰り返すことによる前記属性情報の階層化の際に、複数の階層化手法を用いて、それぞれの階層化手法により互いに異なる階層を生成する
情報処理方法。
【請求項6】
3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドの前記ポイント毎の属性情報を処理する情報処理装置であって、予測ポイントと参照ポイントに分類されたポイントのうち前記参照ポイントの前記属性情報を用いて導出された前記予測ポイントの前記属性情報の予測値と前記予測ポイントの前記属性情報との差分値を導出する処理を、前記参照ポイントに対して再帰的に繰り返すことにより階層化された前記属性情報に対して逆階層化を行う逆階層化部を備え、
前記逆階層化部は、第1の階層を第1の階層化手法を用いて逆階層化を行い、前記第1の階層と異なる第2の階層を前記第1の階層化手法と異なる第2の階層化手法を用いて前記逆階層化を行う
情報処理装置。
【請求項7】
前記逆階層化部は、スケーラブルな復号に非対応の前記第1の階層化手法により、前記第1の階層を含む所定の階層よりも上位の階層に対して前記逆階層化を行い、スケーラブルな復号に対応した前記第2の階層化手法により、前記第2の階層を含む前記所定の階層よりも下位の階層に対して前記逆階層化を行う
請求項6に記載の情報処理装置。
【請求項8】
前記逆階層化部は、前記スケーラブルな復号に対応した階層化手法を適用する階層の範囲を示す第1の制御情報に基づいて前記所定の階層を特定する
請求項7に記載の情報処理装置。
【請求項9】
前記逆階層化部は、前記スケーラブルな復号に対応した階層化手法が適用可能であるかを示す第2の制御情報により適用可能であることが示される属性情報について、前記第1の制御情報に基づいて前記所定の階層を特定する
請求項8に記載の情報処理装置。
【請求項10】
前記属性情報の符号化データを復号し、前記属性情報を生成する復号部をさらに備え、
前記逆階層化部は、前記復号部により前記符号化データが復号されて得られた前記属性情報に対して前記逆階層化を行う
請求項6に記載の情報処理装置。
【請求項11】
情報処理装置が、
3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドの前記ポイント毎の属性情報について、予測ポイントと参照ポイントとに分類し、前記参照ポイントの前記属性情報を用いて前記予測ポイントの前記属性情報の予測値を導出し、前記予測ポイントの前記属性情報と前記予測値との差分値を導出する処理を、前記参照ポイントに対して再帰的に繰り返すことにより階層化された前記属性情報に対する逆階層化の際に、複数の階層化手法を用いて、それぞれの階層化手法により互いに異なる階層に対して前記逆階層化を行う
情報処理方法。
【請求項12】
3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドの前記ポイント毎の属性情報を処理する情報処理装置であって、予測ポイントと参照ポイントに分類されたポイントのうち前記参照ポイントの前記属性情報を用いて導出された前記予測ポイントの前記属性情報の予測値と前記予測ポイントの前記属性情報との差分値を導出する処理を、前記参照ポイントに対して再帰的に繰り返すことにより、前記属性情報の階層化を行う階層化部を備え、
前記階層化部は、
1つ上位の階層と比較して前記ポイントが十分に多くない階層の前記予測ポイントの前記予測値の導出を、
2つ上位の階層の前記参照ポイントを参照して行う
情報処理装置。
【請求項13】
他の階層とマージして参照関係が構築されたかを示す制御情報を生成する生成部と、
前記階層化部により階層化された前記属性情報を符号化し、前記生成部により生成された前記制御情報を含む、前記属性情報の符号化データを生成する符号化部と
をさらに備える請求項12に記載の情報処理装置。
【請求項14】
情報処理装置が、
3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドの前記ポイント毎の属性情報について、予測ポイントと参照ポイントとに分類し、前記参照ポイントの前記属性情報を用いて前記予測ポイントの前記属性情報の予測値を導出し、前記予測ポイントの前記属性情報と前記予測値との差分値を導出する処理を、前記参照ポイントに対して再帰的に繰り返すことによる前記属性情報の階層化の際に、1つ上位の階層と比較して前記ポイントが十分に多くない階層の前記予測ポイントの前記予測値の導出を、2つ上位の階層の前記参照ポイントを参照して行う
情報処理方法。
【請求項15】
3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドの前記ポイント毎の属性情報
を処理する情報処理装置であって、予測ポイントと参照ポイント
に分類
されたポイントのうち前記参照ポイントの前記属性情報を用いて
導出された前記予測ポイントの前記属性情報の予測値
と前記予測ポイントの前記属性情報との差分値を導出する処理を、前記参照ポイントに対して再帰的に繰り返すことによ
り階層化された前記属性情報に対して逆階層化を行う逆階層化部を備え、
前記逆階層化部は、前記逆階層化の際に、1つ上位の階層と比較してポイントが十分に多くない階層の前記予測ポイントの前記属性情報の前記予測値を、2つ上位の階層の前記参照ポイントの前記属性情報を参照して導出し、導出した前記予測値を前記差分値に加算することにより、前記予測ポイントの前記属性情報を生成する
情報処理装置。
【請求項16】
前記逆階層化部は、前記逆階層化の際に、他の階層と同一の階層を参照するかを示す制御情報に基づいて、処理対象の階層の参照先となる階層を特定し、特定した階層の前記参照ポイントの前記属性情報を参照して、前記処理対象の階層の前記予測ポイントの前記属性情報の前記予測値を導出する
請求項15に記載の情報処理装置。
【請求項17】
前記属性情報の符号化データを復号し、前記属性情報を生成する復号部をさらに備え、
前記逆階層化部は、
前記復号部により前記符号化データが復号されて復元された前記属性情報に対して前記逆階層化を行う
請求項15に記載の情報処理装置。
【請求項18】
情報処理装置が、
3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドの前記ポイント毎の属性情報について、予測ポイントと参照ポイントとに分類し、前記参照ポイントの前記属性情報を用いて前記予測ポイントの前記属性情報の予測値を導出し、前記予測ポイントの前記属性情報と前記予測値との差分値を導出する処理を、前記参照ポイントに対して再帰的に繰り返すことにより階層化された前記属性情報に対して逆階層化を行う際に、1つ上位の階層と比較してポイントが十分に多くない階層の前記予測ポイントの前記属性情報の前記予測値を、2つ上位の階層の前記参照ポイントの前記属性情報を参照して導出し、導出した前記予測値を前記差分値に加算することにより、前記予測ポイントの前記属性情報を生成する
情報処理方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、情報処理装置および方法に関し、特に、符号化効率の低減を抑制することができるようにした情報処理装置および方法に関する。
【背景技術】
【0002】
従来、例えばポイントクラウド(Point cloud)のような3次元構造を表す3Dデータの符号化方法が考えられた(例えば非特許文献1参照)。ポイントクラウドのデータは、各ポイントのジオメトリデータ(位置情報とも称する)およびアトリビュートデータ(属性情報とも称する)により構成される。したがってポイントクラウドの符号化は、そのジオメトリデータとアトリビュートデータとのそれぞれについて行われる。アトリビュートデータの符号化方法として様々な方法が提案されている。例えば、Liftingという技術を用いて行うことが提案された(例えば非特許文献2参照)。また、アトリビュートデータをスケーラブルに復号することができるようにする方法も提案された(例えば、非特許文献3参照)。
【先行技術文献】
【非特許文献】
【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
【文献】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
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、各手法にはそれぞれ特徴があり、いずれの手法も、どのような場合にも最適であるとは限らない。例えば、非特許文献3に記載の技術を適用した手法の場合、非特許文献2に記載のLiftingを適用した手法では困難であった属性情報のスケーラブルな復号を行うことができる。しかしながら、一般的に、非特許文献3に記載の技術を適用した手法の場合の方が、非特許文献2に記載のLiftingを適用した手法の場合よりも符号化効率が低減するおそれがあった。
【0005】
本開示は、このような状況に鑑みてなされたものであり、符号化効率の低減を抑制することができるようにするものである。
【課題を解決するための手段】
【0006】
本技術の一側面の情報処理装置は、3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドの前記ポイント毎の属性情報を処理する情報処理装置であって、予測ポイントと参照ポイントに分類されたポイントのうち前記参照ポイントの前記属性情報を用いて導出された前記予測ポイントの前記属性情報の予測値と前記予測ポイントの前記属性情報との差分値を導出する処理を、前記参照ポイントに対して再帰的に繰り返すことにより、前記属性情報の階層化を行う階層化部を備え、前記階層化部は、第1の階層を第1の階層化手法を用いて階層化を行い、前記第1の階層と異なる第2の階層を前記第1の階層化手法と異なる第2の階層化手法を用いて階層化を行う情報処理装置である。
【0007】
本技術の一側面の情報処理方法は、情報処理装置が、3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドの前記ポイント毎の属性情報について、予測ポイントと参照ポイントとに分類し、前記参照ポイントの前記属性情報を用いて前記予測ポイントの前記属性情報の予測値を導出し、前記予測ポイントの前記属性情報と前記予測値との差分値を導出する処理を、前記参照ポイントに対して再帰的に繰り返すことによる前記属性情報の階層化の際に、複数の階層化手法を用いて、それぞれの階層化手法により互いに異なる階層を生成する情報処理方法である。
【0008】
本技術の他の側面の情報処理装置は、3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドの前記ポイント毎の属性情報を処理する情報処理装置であって、予測ポイントと参照ポイントに分類されたポイントのうち前記参照ポイントの前記属性情報を用いて導出された前記予測ポイントの前記属性情報の予測値と前記予測ポイントの前記属性情報との差分値を導出する処理を、前記参照ポイントに対して再帰的に繰り返すことにより階層化された前記属性情報に対して逆階層化を行う逆階層化部を備え、前記逆階層化部は、第1の階層を第1の階層化手法を用いて逆階層化を行い、前記第1の階層と異なる第2の階層を前記第1の階層化手法と異なる第2の階層化手法を用いて前記逆階層化を行う情報処理装置である。
【0009】
本技術の他の側面の情報処理方法は、情報処理装置が、3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドの前記ポイント毎の属性情報について、予測ポイントと参照ポイントとに分類し、前記参照ポイントの前記属性情報を用いて前記予測ポイントの前記属性情報の予測値を導出し、前記予測ポイントの前記属性情報と前記予測値との差分値を導出する処理を、前記参照ポイントに対して再帰的に繰り返すことにより階層化された前記属性情報に対する逆階層化の際に、複数の階層化手法を用いて、それぞれの階層化手法により互いに異なる階層に対して前記逆階層化を行う情報処理方法である。
【0010】
本技術のさらに他の側面の情報処理装置は、3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドの前記ポイント毎の属性情報を処理する情報処理装置であって、予測ポイントと参照ポイントに分類されたポイントのうち前記参照ポイントの前記属性情報を用いて導出された前記予測ポイントの前記属性情報の予測値と前記予測ポイントの前記属性情報との差分値を導出する処理を、前記参照ポイントに対して再帰的に繰り返すことにより、前記属性情報の階層化を行う階層化部を備え、前記階層化部は、1つ上位の階層と比較して前記ポイントが十分に多くない階層の前記予測ポイントの前記予測値の導出を、2つ上位の階層の前記参照ポイントを参照して行う情報処理装置である。
【0011】
本技術のさらに、側面の情報処理方法は、情報処理装置が、3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドの前記ポイント毎の属性情報について、予測ポイントと参照ポイントとに分類し、前記参照ポイントの前記属性情報を用いて前記予測ポイントの前記属性情報の予測値を導出し、前記予測ポイントの前記属性情報と前記予測値との差分値を導出する処理を、前記参照ポイントに対して再帰的に繰り返すことによる前記属性情報の階層化の際に、1つ上位の階層と比較して前記ポイントが十分に多くない階層の前記予測ポイントの前記予測値の導出を、2つ上位の階層の前記参照ポイントを参照して行う情報処理方法である。
【0012】
本技術のさらに他の側面の情報処理装置は、3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドの前記ポイント毎の属性情報を処理する情報処理装置であって、予測ポイントと参照ポイントに分類されたポイントのうち前記参照ポイントの前記属性情報を用いて導出された前記予測ポイントの前記属性情報の予測値と前記予測ポイントの前記属性情報との差分値を導出する処理を、前記参照ポイントに対して再帰的に繰り返すことにより階層化された前記属性情報に対して逆階層化を行う逆階層化部を備え、前記逆階層化部は、前記逆階層化の際に、1つ上位の階層と比較してポイントが十分に多くない階層の前記予測ポイントの前記属性情報の前記予測値を、2つ上位の階層の前記参照ポイントの前記属性情報を参照して導出し、導出した前記予測値を前記差分値に加算することにより、前記予測ポイントの前記属性情報を生成する情報処理装置である。
【0013】
本技術のさらに他の側面の情報処理方法は、情報処理装置が、3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドの前記ポイント毎の属性情報について、予測ポイントと参照ポイントとに分類し、前記参照ポイントの前記属性情報を用いて前記予測ポイントの前記属性情報の予測値を導出し、前記予測ポイントの前記属性情報と前記予測値との差分値を導出する処理を、前記参照ポイントに対して再帰的に繰り返すことにより階層化された前記属性情報に対して逆階層化を行う際に、1つ上位の階層と比較してポイントが十分に多くない階層の前記予測ポイントの前記属性情報の前記予測値を、2つ上位の階層の前記参照ポイントの前記属性情報を参照して導出し、導出した前記予測値を前記差分値に加算することにより、前記予測ポイントの前記属性情報を生成する情報処理方法である。
【0014】
本技術の一側面の情報処理装置および方法においては、3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドのそのポイント毎の属性情報について、予測ポイントと参照ポイントとに分類し、その参照ポイントの属性情報を用いて予測ポイントの属性情報の予測値を導出し、その予測ポイントの属性情報と予測値との差分値を導出する処理を、参照ポイントに対して再帰的に繰り返すことによる属性情報の階層化の際に、複数の階層化手法が用いられて、それぞれの階層化手法により互いに異なる階層が生成される。
【0015】
本技術の他の側面の情報処理装置および方法においては、3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドのそのポイント毎の属性情報について、予測ポイントと参照ポイントとに分類し、その参照ポイントの属性情報を用いて予測ポイントの属性情報の予測値を導出し、その予測ポイントの属性情報と予測値との差分値を導出する処理を、その参照ポイントに対して再帰的に繰り返すことにより階層化された属性情報に対する逆階層化の際に、複数の階層化手法が用いられて、それぞれの階層化手法により互いに異なる階層に対して逆階層化が行われる。
【0016】
本技術のさらに他の側面の情報処理装置および方法においては、3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドのそのポイント毎の属性情報について、予測ポイントと参照ポイントとに分類し、その参照ポイントの属性情報を用いて予測ポイントの属性情報の予測値を導出し、その予測ポイントの属性情報と予測値との差分値を導出する処理を、その参照ポイントに対して再帰的に繰り返すことによる属性情報の階層化の際に、1つ上位の階層と比較してポイントが十分に多くない階層の予測ポイントの予測値の導出が、2つ上位の階層の参照ポイントを参照して行われる。
【0017】
本技術のさらに他の側面の情報処理装置および方法においては、3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドのそのポイント毎の属性情報について、予測ポイントと参照ポイントとに分類し、その参照ポイントの属性情報を用いて予測ポイントの属性情報の予測値を導出し、その予測ポイントの属性情報と予測値との差分値を導出する処理を、その参照ポイントに対して再帰的に繰り返すことにより階層化された属性情報に対して逆階層化を行う際に、その1つ上位の階層と比較してポイントが十分に多くない階層の予測ポイントの属性情報の予測値が、2つ上位の階層の参照ポイントの属性情報を参照して導出され、導出された予測値が差分値に加算されることにより、その予測ポイントの属性情報が生成される。
【図面の簡単な説明】
【0018】
【
図1】スケーラブルな復号に非対応のLiftingの様子の例を説明する図である。
【
図2】スケーラブルな復号に非対応のLiftingの様子の例を説明する図である。
【
図3】スケーラブルな復号に対応するLiftingの様子の例を説明する図である。
【
図4】スケーラブルな復号に対応するLiftingの様子の例を説明する図である。
【
図5】アトリビュートデータの階層化手法について説明する図である。
【
図6】スケーラブルな復号に対応する手法とスケーラブルな復号に非対応の手法との両方のLiftingを適用する場合の様子の例を説明する図である。
【
図7】スケーラブルな復号に対応するLiftingについて説明する図である。
【
図9】アトリビュートデータの階層化手法について説明する図である。
【
図11】符号化装置の主な構成例を示すブロック図である。
【
図12】属性情報符号化部の主な構成例を示すブロック図である。
【
図13】階層化処理部の主な構成例を示すブロック図である。
【
図14】符号化処理の流れの例を説明するフローチャートである。
【
図15】属性情報符号化処理の流れの例を説明するフローチャートである。
【
図16】階層化処理の流れの例を説明するフローチャートである。
【
図17】復号装置の主な構成例を示すブロック図である。
【
図18】属性情報復号部の主な構成例を示すブロック図である。
【
図19】逆階層化処理部の主な構成例を示すブロック図である。
【
図20】復号処理の流れの例を説明するフローチャートである。
【
図21】属性情報復号処理の流れの例を説明するフローチャートである。
【
図22】逆階層化処理の流れの例を説明するフローチャートである。
【
図23】スケーラブル逆階層化処理の流れの例を説明するフローチャートである。
【
図24】階層化処理の流れの例を説明するフローチャートである。
【
図25】逆階層化処理の流れの例を説明するフローチャートである。
【
図26】コンピュータの主な構成例を示すブロック図である。
【発明を実施するための形態】
【0019】
以下、本開示を実施するための形態(以下実施の形態とする)について説明する。なお、説明は以下の順序で行う。
1.階層化・逆階層化手法の切り替え
2.参照関係の制御
3.第1の実施の形態(符号化装置)
4.第2の実施の形態(復号装置)
5.第3の実施の形態(符号化装置)
6.第4の実施の形態(復号装置)
7.付記
【0020】
<1.階層化・逆階層化手法の切り替え>
<技術内容・技術用語をサポートする文献等>
本技術で開示される範囲は、実施の形態に記載されている内容だけではなく、出願当時において公知となっている以下の非特許文献に記載されている内容も含まれる。
【0021】
非特許文献1:(上述)
非特許文献2:(上述)
非特許文献3:(上述)
非特許文献4:TELECOMMUNICATION STANDARDIZATION SECTOR OF ITU(International Telecommunication Union), "Advanced video coding for generic audiovisual services", H.264, 04/2017
非特許文献5:TELECOMMUNICATION STANDARDIZATION SECTOR OF ITU(International Telecommunication Union), "High efficiency video coding", H.265, 12/2016
非特許文献6:Jianle Chen, Elena Alshina, Gary J. Sullivan, Jens-Rainer, Jill Boyce, "Algorithm Description of Joint Exploration Test Model 4", JVET-G1001_v1, Joint Video Exploration Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 7th Meeting: Torino, IT, 13-21 July 2017
【0022】
つまり、上述の非特許文献に記載されている内容もサポート要件を判断する際の根拠となる。例えば、非特許文献5に記載されているQuad-Tree Block Structure、非特許文献6に記載されているQTBT(Quad Tree Plus Binary Tree) Block Structureが実施の形態において直接的な記載がない場合でも、本技術の開示範囲内であり、請求の範囲のサポート要件を満たすものとする。また、例えば、パース(Parsing)、シンタクス(Syntax)、セマンティクス(Semantics)等の技術用語についても同様に、実施の形態において直接的な記載がない場合でも、本技術の開示範囲内であり、請求の範囲のサポート要件を満たすものとする。
【0023】
<ポイントクラウド>
従来、点群の位置情報や属性情報等により3次元構造を表すポイントクラウド(Point cloud)や、頂点、エッジ、面で構成され、多角形表現を使用して3次元形状を定義するメッシュ(Mesh)等の3Dデータが存在した。
【0024】
例えばポイントクラウドの場合、立体構造物(3次元形状のオブジェクト)を多数の点の集合(点群)として表現する。つまり、ポイントクラウドのデータ(ポイントクラウドデータとも称する)は、この点群の各点のジオメトリデータ(位置情報とも称する)やアトリビュートデータ(属性情報とも称する)により構成される。アトリビュートデータは任意の情報を含むことができる。例えば、色情報、反射率情報、法線情報等がアトリビュートデータに含まれるようにしてもよい。したがってデータ構造が比較的単純であるとともに、十分に多くの点を用いることにより任意の立体構造物を十分な精度で表現することができる。
【0025】
<ボクセルを用いた位置情報の量子化>
このようなポイントクラウドデータはそのデータ量が比較的大きいので、符号化等によるデータ量を圧縮するために、ボクセル(Voxel)を用いた符号化方法が考えられた。ボクセルは、ジオメトリデータ(位置情報)を量子化するための3次元領域である。
【0026】
つまり、ポイントクラウドを内包する3次元領域をボクセルと称する小さな3次元領域に分割し、そのボクセル毎に、ポイントを内包するか否かを示すようにする。このようにすることにより、各ポイントの位置はボクセル単位に量子化される。したがって、ポイントクラウド(Point cloud)データをこのようなボクセルのデータ(ボクセル(Voxel)データとも称する)に変換することにより、情報量の増大を抑制する(典型的には情報量を削減する)ことができる。
【0027】
<Octree>
さらに、ジオメトリデータについて、このようなボクセル(Voxel)データを用いてOctreeを構築することが考えられた。Octreeは、ボクセルデータを木構造化したものである。このOctreeの最下位のノードの各ビットの値が、各ボクセルのポイントの有無を示す。例えば、値「1」がポイントを内包するボクセルを示し、値「0」がポイントを内包しないボクセルを示す。Octreeでは、1ノードが8つのボクセルに対応する。つまり、Octreeの各ノードは、8ビットのデータにより構成され、その8ビットが8つのボクセルのポイントの有無を示す。
【0028】
そして、Octreeの上位のノードは、そのノードに属する下位ノードに対応する8つのボクセルを1つにまとめた領域のポイントの有無を示す。つまり、下位ノードのボクセルの情報をまとめることにより上位ノードが生成される。なお、値が「0」のノード、すなわち、対応する8つのボクセルが全てポイントを内包しない場合、そのノードは削除される。
【0029】
このようにすることにより、値が「0」でないノードからなる木構造(Octree)が構築される。つまり、Octreeは、各解像度のボクセルのポイントの有無を示すことができる。Octree化して符号化することにより、位置情報は、最高解像度(最上位層)から所望の階層(解像度)まで復号することにより、その解像度のポイントクラウドデータを復元することができる。つまり、不要な階層(解像度)の情報を復号せずに、容易に任意の解像度で復号することができる。換言するに、ボクセル(解像度)のスケーラビリティを実現することができる。
【0030】
また、上述のように値が「0」のノードを省略することにより、ポイントが存在しない領域のボクセルを低解像度化することができるので、さらなる情報量の増大の抑制(典型的には情報量の削減)を行うことができる。
【0031】
<Lifting>
これに対してアトリビュートデータ(属性情報)を符号化する際は、符号化による劣化を含めジオメトリデータ(位置情報)を既知であるものとして、ポイント間の位置関係を利用して符号化が行われる。このようなアトリビュートデータの符号化方法として、RAHT(Region Adaptive Hierarchical Transform)や、非特許文献2に記載のようなLiftingと称する変換を用いる方法が考えられた。これらの技術を適用することにより、ジオメトリデータのOctreeのように、アトリビュートデータを階層化することもできる。
【0032】
例えば非特許文献2に記載のLiftingの場合、各ポイントのアトリビュートデータは、他のポイントのアトリビュートデータを用いて導出される予測値との差分値として符号化される。その際、各ポイントが階層化され、差分値はその階層構造にしたがって導出される。
【0033】
つまり、ポイント毎のアトリビュートデータについて、各ポイントが予測ポイントと参照ポイントとに分類され、その参照ポイントのアトリビュートデータを用いて予測ポイントのアトリビュートデータの予測値が導出され、その予測ポイントのアトリビュートデータと予測値との差分値が導出される。このような処理を、参照ポイントに対して再帰的に繰り返すことにより、各ポイントのアトリビュートデータが階層化される。
【0034】
非特許文献2に記載のLiftingの場合、ジオメトリデータを用いてポイント間の距離に基づいてこの階層化が行われる。つまり、参照ポイントから所定の距離の範囲内に位置するポイントが、その参照ポイントを参照して予測値が導出される予測ポイントとして設定される。例えば、
図1においてポイントP5を参照ポイントとして選択するとする。その場合、予測ポイントは、そのポイントP5を中心とする半径Rの円形領域内において探索される。この場合、ポイントP9が、その領域内に位置するので、ポイントP5を参照して予測値が導出される予測ポイント(ポイントP5を参照ポイントとする予測ポイント)として設定される。
【0035】
このような処理により、例えば、白丸で示されるポイントP7乃至ポイントP9の各差分値と、斜線模様で示されるポイントP1、ポイントP3、およびポイントP6の各差分値と、グレーの丸で示されるポイントP0、ポイントP2、ポイントP4、およびポイントP5の各差分値とが、互いに異なる階層の差分値として導出される。
【0036】
ただし、この階層構造は、ジオメトリデータの階層構造(例えばOctree)とは独立に生成されたものであり、基本的に、ジオメトリデータの階層構造とは対応しない。ポイントクラウドデータを復元するためには、ジオメトリデータとアトリビュートデータとを対応させる必要があり、そのためには、ジオメトリデータおよびアトリビュートデータを最高解像度(すなわち最下位層)まで復号する必要があった。
【0037】
例えば、
図2に示されるように、ジオメトリデータ1をある解像度で復号する場合、ジオメトリデータ1Aの部分のみを復号すればよいものとする。しかしながら、同解像度のアトリビュートデータを得るためには、ジオメトリデータ1もアトリビュートデータ2も最高解像度(つまり最下位層)まで復号する必要があった。つまり、非特許文献2に記載のLiftingを適用した手法は、解像度のスケーラブルな復号に対応していない。
【0038】
<スケーラブルな復号に対応した階層化>
これに対して非特許文献3に記載の階層化は、解像度のスケーラブルな復号に対応している。非特許文献3に記載の手法の場合、ジオメトリデータのOctreeの階層構造に一致するようにアトリビュートデータの階層化を行う。つまり、ジオメトリデータのボクセルに相当する領域内にポイントが存在する場合(そのポイントに対応するアトリビュートデータが存在する場合)、そのボクセルの1階層上位のボクセルにおいてもポイントが存在する(そのポイントに対応するアトリビュートデータが存在する)ように、参照ポイントと予測ポイントの選択を行う。つまり、ジオメトリデータのOctreeの階層構造に従って属性情報が階層化される。
【0039】
例えば説明の簡略化のため2次元で説明すると、
図3においてあるボクセル10の1階層下には、ボクセル10-1乃至ボクセル10-4が形成され、ボクセル10-4の1階層下には、ボクセル10-4-1乃至ボクセル10-4-4が形成されている。ボクセル10-1には、アトリビュートデータのポイント11-1(ポイント11-1に対応するアトリビュートデータのことを示す。以下同様。)が存在する。ボクセルデータ10-2には、アトリビュートデータのポイント11-2が存在し、ボクセルデータ10-3には、アトリビュートデータのポイント11-3が存在する。ボクセル10-4-1乃至ボクセル10-4-4には、アトリビュートデータのポイント11-4-1乃至ポイント11-4-4が存在する。
【0040】
このような場合、ボクセル10-4-1乃至ボクセル10-4-4について、1階層上位のボクセル10-4にポイント(アトリビュートデータ)が1つ残るように、例えばポイント11-4-1が参照ポイントに設定され、ポイント11-4-2乃至ポイント11-4-4は予測ポイントに設定される。
【0041】
同様に、ボクセル10-1乃至ボクセル10-4について、1階層上位のボクセル10にポイントが1つ残るように、例えばポイント11-1が参照ポイントに設定され、ポイント11-2、ポイント11-3、およびポイント11-4-1が予測ポイントに設定される。
【0042】
このようにすることにより、アトリビュートデータについても、ジオメトリデータと同様の階層化を実現することができる。そして、アトリビュートデータの階層構造をジオメトリデータの階層構造と対応付けることにより、スケーラブルな復号に対応させることができる。
【0043】
例えば、
図4に示されるように、ジオメトリデータ21をある解像度で復号する場合、ジオメトリデータ21Aの部分のみを復号すればよいものとする。この場合、ジオメトリデータ21とアトリビュートデータ22とで階層構造が互いに対応しているので、アトリビュートデータ22においても、そのジオメトリデータ21Aに対応するアトリビュートデータ22Aの部分のみを復号することができる。
【0044】
つまり、最下層まで復号しなくても、容易に所望の解像度のポイントクラウドデータを復元することができる。このように、非特許文献3に記載の技術を適用した手法は、解像度のスケーラブルな復号に対応する。
【0045】
しかしながら、この手法の場合、非特許文献2に記載の手法よりも、符号化効率が低減するおそれがあった。特に、ポイントが疎な状態の場合、その符号化効率の低減がより大きくなるおそれがあった。
【0046】
<階層化における階層化手法の切り替え>
そこで、
図5に示される表の一番上の段の「方法1」に記載のように、アトリビュートデータの階層化において、そのアトリビュートデータの階層化手法を中間階層において切り替えるようにしてもよい。
【0047】
例えば、3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドのポイント毎の属性情報について、予測ポイントと参照ポイントとに分類し、その参照ポイントの属性情報を用いて予測ポイントの属性情報の予測値を導出し、その予測ポイントの属性情報と予測値との差分値を導出する処理を、その参照ポイントに対して再帰的に繰り返すことによる属性情報の階層化の際に、複数の階層化手法を用いて、それぞれの階層化手法により互いに異なる階層を生成するようにする。
【0048】
例えば、情報処理装置において、3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドの前記ポイント毎の属性情報について、予測ポイントと参照ポイントとに分類し、その参照ポイントの属性情報を用いて予測ポイントの属性情報の予測値を導出し、その予測ポイントの属性情報と予測値との差分値を導出する処理を、その参照ポイントに対して再帰的に繰り返すことにより、その属性情報の階層化を行う階層化部を備え、その階層化部は、複数の階層化手法を用いて階層化を行い、それぞれの階層化手法により互いに異なる階層を生成するようにしてもよい。換言するに、3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドのそのポイント毎の属性情報を処理する情報処理装置において、予測ポイントと参照ポイントに分類されたポイントのうち参照ポイントの属性情報を用いて導出された予測ポイントの属性情報の予測値とその予測ポイントの属性情報との差分値を導出する処理を、その参照ポイントに対して再帰的に繰り返すことにより、その属性情報の階層化を行う階層化部を備え、その階層化部は、第1の階層を第1の階層化手法を用いて階層化を行い、その第1の階層と異なる第2の階層を第1の階層化手法と異なる第2の階層化手法を用いて階層化を行うようにしてもよい。
【0049】
このようにすることにより、複数の階層化手法を適用して階層化構造を形成することができるので、階層毎の特徴により適した手法を選択することができる。これにより、より多様なアトリビュートデータに対してより好適な手法で階層化を行うことができ、符号化効率の低減を抑制することができる。
【0050】
なお、階層化手法を切り替える回数は任意であり、1回でもよいし、複数回であってもよい。また、適用される階層化手法の数も複数であればいくつであってもよく、例えば、3以上であってもよい。また、同一の階層化手法が複数回適用されてもよい。例えば、中間階層において階層化手法A→階層化手法B→階層化手法Aのように切り替えてもよい。
【0051】
また、このように階層化手法を切り替える場合、例えば、
図5に示される表の上から2段目の「方法1-1」に記載のように、スケーラブルな復号に対応した手法と、スケーラブルな復号に非対応な手法とを切り替えるようにしてもよい。換言するに、アトリビュートデータの階層構造の一部の階層をスケーラブルな復号に対応した手法により階層化するようにしてもよい。
【0052】
例えば、非特許文献3に記載の階層化手法(スケーラブルな復号に対応した手法)と、非特許文献2に記載のLifting(スケーラブルな復号に非対応な手法)とを、階層構造の中間階層において切り替えるようにしてもよい。つまり、アトリビュートデータの階層構造の一部の階層にのみ、非特許文献3に記載の階層化手法を適用するようにしてもよい。
【0053】
このようにすることにより、スケーラブルな復号を行う可能性の高い階層のみを、非特許文献3に記載の階層化手法を適用して生成し、その他の階層を非特許文献2に記載のLiftingを適用して生成することができる。これにより、全階層を非特許文献3に記載の階層化手法を適用して生成する場合よりも符号化効率の低減を抑制することができる。換言するに、符号化効率の低減を抑制しながらスケーラブルな復号に対応することができる。
【0054】
その際、例えば、
図5に示される表の上から3段目の「方法1-1-1」に記載のように、所定の階層よりも上位層をスケーラブルな復号に非対応な手法により階層化し、その所定の階層以下をスケーラブルな復号に対応した手法により階層化するようにしてもよい。例えば、スケーラブルな復号に非対応の第1の階層化手法により、その第1の階層を含む所定の階層よりも上位の階層を生成し、スケーラブルな復号に対応した第2の階層化手法により、その第2の階層を含む所定の階層よりも下位の階層を生成するようにしてもよい。
【0055】
その際、例えば、
図5に示される表の上から4段目の「方法1-1-1-1」に記載のように、スケーラブルな復号に非対応なLifting(非特許文献2に記載の手法)と、スケーラブルな復号に対応したLifting(非特許文献3に記載の手法)とを切り替えるようにしてもよい。
【0056】
例えば、所定の階層よりも上位層について、非特許文献2に記載のLiftingにより階層化を行い、その所定の階層以下については、非特許文献3に記載の階層化手法(スケーラブルな復号に対応したLifting)により階層化を行うようにしてもよい。
【0057】
ポイントが疎な状態になりやすい上位層においては、スケーラブルな復号に対応した手法を適用すると符号化効率が低減しやすい。また、最上位層付近の階層では、解像度が大幅に低減するため、そのような階層で復号が行われる可能性は低い。つまり、より上位層ほど、スケーラブルな復号が行われる可能性が低減する。
【0058】
そこで、上述のように、アトリビュートデータの階層構造の内、所定の階層よりも上位層においてはスケーラブルに非対応な手法を適用することにより、スケーラブルな復号に対する実質的な制限が生じるのを抑制しながら、符号化効率の低減を抑制することができる。換言するに、符号化効率の低減を抑制しながら、スケーラブルな復号に対応させることができる。
【0059】
この場合、例えば、
図6に示されるように、ジオメトリデータ31をある解像度で復号する場合、ジオメトリデータ31Aの部分のみを復号すればよいものとする。この場合、ジオメトリデータ31とアトリビュートデータ32とで階層構造が互いに対応しているので、アトリビュートデータ32においても、そのジオメトリデータ31Aに対応するアトリビュートデータ32Aおよびアトリビュートデータ32Bの部分のみを復号することができる。
【0060】
つまり、最下層まで復号しなくても、容易に所望の解像度のポイントクラウドデータを復元することができる。ただし、この場合、アトリビュートデータ32Aは、スケーラブルに非対応なLiftingにより階層化されたデータである。つまりこの場合、アトリビュートデータ32は、上位層(L1段)がスケーラブルな復号に非対応なLiftingにより階層化され、それより下位の階層(L2段)がスケーラブルな復号に対応したLiftingにより階層化されている。したがって、上から0段目乃至(L1-1)段目については、スケーラブルな復号を行うことはできない(ジオメトリデータ31もアトリビュートデータ32もL1段目まで復号する必要がある)。ただし、そのような上位層は解像度が低いので、スケーラブルな復号が行われる可能性が低く、上述のように、スケーラブルな復号に対する実質的な制限が生じるのを抑制しながら、符号化効率の低減を抑制することができる。
【0061】
<切り替える手法の他の例>
なお、階層化手法を切り替える階層は任意である。また、切り替える階層化手法はどのような手法であってもよく、上述の例(スケーラブルな復号に対応する手法とスケーラブルな復号に非対応な手法との切り替え)に限定されない。例えば、
図5に示される表の上から5段目の「方法1-2」に記載のように、非特許文献2に記載のLiftingのような距離によるサンプリングを用いた階層化手法と、各ポイント(各ポイントに対応するアトリビュートデータ)をモートン順序に整列し、ポイントを等間隔にサンプリングすることによりポイントを階層化する手法とを切り替えるようにしてもよい。
【0062】
例えば、所定の階層よりも上位層に対して距離によるサンプリングを用いた階層化手法を適用し、その所定の階層以下の階層に対してモートン順序での等間隔サンプリングを用いた階層化手法を適用するようにしてもよい。このようにすることにより、上述の例の場合と同様に、符号化効率の低減を抑制することができる。
【0063】
<処理順>
階層化において、各階層の処理順(生成順)は任意である。例えば、
図5に示される表の上から6段目の「方法1-3」に記載のように、最下位層から順に階層化するようにしてもよい。例えば、1階層ずつ生成し、全階層生成後、階層を反転させる(reverseする)。例えば、生成順と逆順に階層番号を付す。このようにすることにより、最下位層から最上位層に向かう方向に各階層を生成することができる。
【0064】
階層化により、各階層において、各ポイントは参照ポイントまたは予測ポイントに分類され、さらに、その参照ポイントは、より上位層のポイントとして再び処理される。つまり、階層化により階層間の参照関係が構築される。上述のように最下位層から順に生成することにより、このような再帰的な処理が可能になるので、階層間の参照関係をより容易に構築することができる。
【0065】
<制御情報>
例えば、
図5に示される表の上から7段目の「方法1-4」に記載のように、属性情報の階層化に関する制御情報をシグナリングする(符号化側から復号側に伝送する)ようにしてもよい。
【0066】
制御情報の伝送方法は任意である。例えば、シンタクス等として規定し、ポイントクラウドデータの符号化データ(ビットストリーム)に含めて(例えばヘッダ等に記述して)伝送するようにしてもよい。また、ポイントクラウドデータの符号化データとは異なる、ポイントクラウドデータの符号化データに関連付けられたデータとして伝送するようにしてもよい。
【0067】
<scalable_enable_flag>
制御情報の内容は任意である。例えば、中間階層においてスケーラブルな復号に対応した手法とスケーラブルな復号に非対応な手法とを切り替えることができる場合、スケーラブルな復号に対応した階層化手法が適用可能であるかを示す制御情報を復号側に伝送するようにしてもよい。その場合、この制御情報が、スケーラブルな復号に対応した階層化手法が適用可能であるかをどのように表現してもよい。
【0068】
例えば、フラグ情報としてscalable_enable_flagを伝送するようにしてもよい。scalable_enable_flagは、スケーラブルな復号に対応した階層化手法が適用可能であるかを示すフラグ情報である。この値が真(例えば「1」)の場合、スケーラブルな復号に対応した階層化手法が適用可能であることを示し、この値が偽(例えば「0」)の場合、スケーラブルな復号に対応した階層化手法が適用不可能であることを示す。例えば、このscalable_enable_flagが省略される場合、このフラグ情報の値が偽(例えば「0」)である場合と等価であるようにしてもよい。
【0069】
また、この制御情報(scalable_enable_flag)を伝送するデータ単位は任意である。例えば、ポイントクラウドデータのシーケンス毎にscalable_enable_flagを伝送するようにしてもよい。また、例えば、アトリビュートデータ毎にscalable_enable_flagを伝送するようにしてもよい。例えば、ジオメトリデータに対して複数のアトリビュートデータが存在する場合、そのアトリビュートデータ毎にscalable_enable_flagを伝送することにより、アトリビュートデータ毎にスケーラブルな復号に対応した階層化手法が適用可能であるか否かを示すことができる。つまり、例えば、一部のアトリビュートデータのみスケーラブルな復号に対応させることもできる。もちろん、これらの例以外のデータ単位毎にscalable_enable_flagを伝送するようにしてもよい。
【0070】
このような制御情報を伝送することにより、復号側において、この制御情報に基づいて、スケーラブルな復号に対応した階層化手法に対応する逆階層化を行うか否かを識別することができる。したがって、この識別をより容易に行うことができる。これにより、復号処理の負荷の増大を抑制することができる。
【0071】
例えば、scalable_enable_flagが偽のアトリビュートデータには、スケーラブルな復号に対応した階層化手法が適用されないので、スケーラブルな復号に関する処理は不要である。したがって、復号装置は、scalable_enable_flagが偽であることに基づいて、スケーラブルな復号に関する処理を全て省略することができる。例えば、後述するスケーラブルな復号に対応した階層化手法を適用する階層の範囲を示す制御情報の参照も省略することができる。また、逆階層化の際にスケーラブルな復号に対応する階層化手法を用いるか否か等判定も省略することができる。このように、復号処理の負荷の増大を抑制することができる。
【0072】
<scalable_enable_num_of_lod>
また例えば、スケーラブルな復号に対応した階層化手法を適用する階層の範囲を示す制御情報を復号側に伝送するようにしてもよい。その場合、この制御情報が、スケーラブルな復号に対応した階層化手法を適用する階層の範囲をどのように表現してもよい。例えば、その範囲を示すようにしてもよいし、階層化手法が切り替えられる階層(範囲の境界となる階層)を示すようにしてもよいし、スケーラブルな復号に対応した階層化手法を適用しない階層の範囲を示すようにしてもよい。
【0073】
例えば、スケーラブルな復号に対応した階層化手法を適用する階層の範囲を示す場合、その範囲の上限および下限を示すようにしてもよいし、その範囲の大きさ(階層数)と基準位置(例えば開始位置、中間位置、終了位置等)の階層番号(最上位階層を0とし、1階層下に降りるごとに1ずつ増加する識別番号)とにより示すようにしてもよい。また、下限が最下位層に等しい場合や上限が最上位層に等しい場合、その範囲を下限(最下位層)または上限(最上位層)からの階層数により示すようにしてもよい。
【0074】
例えば、シンタクス要素scalable_enable_num_of_lodを伝送するようにしてもよい。scalable_enable_num_of_lodは、スケーラブルな復号に対応した階層化手法を適用する階層の範囲を示す制御情報である。その値は、スケーラブルな復号に対応した階層化手法を適用する範囲を、最下位層からの階層数で示す。つまり、scalable_enable_num_of_lod=Nとすると、そのアトリビュートデータの符号化データは、最下位層からN段目の階層までがスケーラブルな復号に対応し、(N+1)段目以上の階層は、スケーラブルな復号に非対応である。
【0075】
このような制御情報を伝送することにより、復号側は、スケーラブルな復号に対応した階層化手法がどの階層に適用されているかを、この制御情報に基づいて容易かつ正確に把握することができる。したがって、複数の階層化手法が適用された符号化データを正しく復号することができる。したがって、符号化効率の低減を抑制することができる。
【0076】
<その他>
なお、制御情報は上述の例に限定されず、どのような情報が伝送されるようにしてもよい。また、伝送される制御情報の数は任意であり、複数の制御情報が伝送されるようにしてもよい。例えば、上述のscalable_enable_flagおよびscalable_enable_num_of_lodが伝送されるようにしてもよい。scalable_enable_flagが真の場合のみ、scalable_enable_num_of_lodが伝送されるようにしてもよい。
【0077】
いずれにしても、復号側においては、scalable_enable_flagが真の場合のみ、scalable_enable_num_of_lodが参照され、スケーラブルな復号に対応した階層化手法が適用される階層が特定される。
【0078】
<逆階層化における階層化手法の切り替え>
以上においては符号化における処理について説明したが、復号側においても本技術を適用することができる。例えば、
図5に示される表の上から8段目の「方法2」に記載のように、逆階層化において属性情報の階層化手法を中間階層において切り替える(つまり逆階層化手法を切り替える)ようにしてもよい。
【0079】
例えば、3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドのポイント毎の属性情報について、予測ポイントと参照ポイントとに分類し、その参照ポイントの属性情報を用いて予測ポイントの属性情報の予測値を導出し、その予測ポイントの属性情報と予測値との差分値を導出する処理を、その参照ポイントに対して再帰的に繰り返すことにより階層化された属性情報に対する逆階層化の際に、複数の階層化手法を用いて、それぞれの階層化手法により互いに異なる階層に対して逆階層化を行うようにする。
【0080】
例えば、情報処理装置において、3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドのポイント毎の属性情報について、予測ポイントと参照ポイントとに分類し、その参照ポイントの属性情報を用いて予測ポイントの属性情報の予測値を導出し、その予測ポイントの属性情報と予測値との差分値を導出する処理を、その参照ポイントに対して再帰的に繰り返すことにより階層化された属性情報に対して逆階層化を行う逆階層化部を備え、その逆階層化部は、複数の階層化手法を用いて、それぞれの階層化手法により互いに異なる階層に対して逆階層化を行うようにしてもよい。換言するに、3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドのそのポイント毎の属性情報を処理する情報処理装置において、予測ポイントと参照ポイントに分類されたポイントのうち参照ポイントの属性情報を用いて導出された予測ポイントの属性情報の予測値とその予測ポイントの属性情報との差分値を導出する処理を、その参照ポイントに対して再帰的に繰り返すことにより階層化された属性情報に対して逆階層化を行う逆階層化部を備え、その逆階層化部は、第1の階層を第1の階層化手法を用いて逆階層化を行い、その第1の階層と異なる第2の階層をその第1の階層化手法と異なる第2の階層化手法を用いて逆階層化を行うようにしてもよい。
【0081】
このようにすることにより、複数の階層化手法を適用して逆階層化を行うことができるので、複数の階層化手法を適用して階層化されたアトリビュートデータを適切に逆階層化することができる。つまり、そのような複数の階層化手法が適用されて符号化された符号化データを正しく復号することができる。これにより、符号化効率の低減を抑制することができる。
【0082】
なお、階層化手法を切り替える回数は任意であり、1回でもよいし、複数回であってもよい。また、適用される階層化手法の数も複数であればいくつであってもよく、例えば、3以上であってもよい。また、同一の階層化手法が複数回適用されてもよい。例えば、中間階層において階層化手法A→階層化手法B→階層化手法Aのように切り替えてもよい。
【0083】
また、階層化の場合と同様に、例えば、
図5に示される表の上から9段目の「方法2-1」に記載のように、スケーラブルな復号に対応した手法と、スケーラブルな復号に非対応な手法とを切り替えるようにしてもよい。換言するに、アトリビュートデータの階層構造の一部の階層をスケーラブルな復号に対応した手法により逆階層化するようにしてもよい。
【0084】
例えば、非特許文献3に記載の階層化手法(スケーラブルな復号に対応した手法)と、非特許文献2に記載のLifting(スケーラブルな復号に非対応な手法)とを、階層構造の中間階層において切り替えるようにしてもよい。つまり、アトリビュートデータの階層構造の一部の階層に対する逆階層化にのみ、非特許文献3に記載の階層化手法を適用するようにしてもよい。
【0085】
このようにすることにより、符号化効率の低減を抑制しながらスケーラブルな復号に対応することができる。
【0086】
その際、例えば、
図5に示される表の上から10段目の「方法2-1-1」に記載のように、所定の階層よりも上位層をスケーラブルな復号に非対応な手法により逆階層化し、その所定の階層以下をスケーラブルな復号に対応した手法により逆階層化するようにしてもよい。例えば、スケーラブルな復号に非対応の第1の階層化手法により、その第1の階層を含む所定の階層よりも上位の階層に対して逆階層化を行い、スケーラブルな復号に対応した第2の階層化手法により、その第2の階層を含む所定の階層よりも下位の階層に対して逆階層化を行うようにしてもよい。
【0087】
その際、例えば、
図5に示される表の上から11段目の「方法2-1-1-1」に記載のように、スケーラブルな復号に非対応なLifting(非特許文献2に記載の手法)と、スケーラブルな復号に対応したLifting(非特許文献3に記載の手法)とを切り替えるようにしてもよい。
【0088】
例えば、所定の階層よりも上位層について、非特許文献2に記載のLiftingにより逆階層化を行い、その所定の階層以下については、非特許文献3に記載の階層化手法(スケーラブルな復号に対応したLifting)により逆階層化を行うようにしてもよい。
【0089】
このようにすることにより、スケーラブルな復号に対する実質的な制限が生じるのを抑制しながら、符号化効率の低減を抑制することができる。換言するに、符号化効率の低減を抑制しながら、スケーラブルな復号に対応させることができる。
【0090】
<切り替える手法の他の例>
なお、階層化手法を切り替える階層は任意である。また、切り替える階層化手法はどのような手法であってもよく、上述の例(スケーラブルな復号に対応する手法とスケーラブルな復号に非対応な手法との切り替え)に限定されない。例えば、
図5に示される表の上から12段目の「方法2-2」に記載のように、非特許文献2に記載のLiftingのような距離によるサンプリングを用いた階層化手法と、各ポイント(各ポイントに対応するアトリビュートデータ)をモートン順序に整列し、ポイントを等間隔にサンプリングすることによりポイントを階層化する手法とを切り替えるようにしてもよい。
【0091】
例えば、所定の階層よりも上位層の逆階層化に対して距離によるサンプリングを用いた階層化手法を適用し、その所定の階層以下の階層の逆階層化に対してモートン順序での等間隔サンプリングを用いた階層化手法を適用するようにしてもよい。このようにすることにより、上述の例の場合と同様に、符号化効率の低減を抑制することができる。
【0092】
<制御情報>
例えば、
図5に示される表の上から13段目の「方法2-3」に記載のように、シグナリングされた(符号化側から復号側に伝送された)アトリビュートデータに基づいて逆階層化を行う(逆階層化手法を切り替える)ようにしてもよい。
【0093】
この制御情報の内容は任意である。例えば、上述のscalable_enable_flagであってもよい。また、例えば、上述のscalable_enable_num_of_lodであってもよい。また、それらの両方であってもよい。例えば、scalable_enable_flagがスケーラブルな復号に対応した階層化手法が適用可能であることを示す場合、そのアトリビュートデータについて、scalable_enable_num_of_lodに基づいて、逆階層化手法を切り替える階層を特定するようにしてもよい。
【0094】
もちろんこれらの例以外であってもよい。このような制御情報を用いることにより、符号化の際と同様に階層化手法を切り替えることができる。したがって、複数の階層化手法が適用された符号化データを正しく復号することができる。したがって、符号化効率の低減を抑制することができる。
【0095】
<2.参照関係の制御>
<アトリビュートデータの階層構造>
ところで、アトリビュートデータの場合、各ポイントを参照ポイントと予測ポイントとに分類することにより階層化が行われるので、ポイントが疎な場合、最下位層までノードが形成されない場合があり得る。
【0096】
例えば、
図7のAに示されるボクセル50の領域には、1つ下位の階層において、
図7のBに示されるように、ボクセル50-1乃至ボクセル50-4が形成される。
【0097】
ジオメトリデータの階層化の場合、
図7のAに示されるような、ボクセル50に存在する唯一のポイント51に対応して、それよりも下位層においてもノードが生成される。例えば、
図7のBにおいてボクセル50-4にポイント51のノードが形成される。しかしながら、アトリビュートデータの場合、唯一のポイント51がボクセル50の階層に割り当てられると、それより下位のボクセルにノードを割り当てることができない。
【0098】
したがって、アトリビュートデータの場合、ある階層のポイントがその階層よりも上位の階層のポイントよりも少なくなる場合があり得る。例えば
図8のAにアトリビュートデータの階層構造の例を示す。
図8のAにおいては、LoD(Level of Detail)=0乃至LoD=3の4階層の例が示されている。各階層において丸はポイントを示す。この例の場合、LoD=2のポイント数が6なのに対して、それより下位のLoD=3のポイント数は2である。この場合、参照関係は、この階層構造に従って形成されるので、
図8のBにおいて矢印で示されるような構成になる。
【0099】
階層数や階層の幅(各階層のポイント数)は、データによって最適な値が異なる。しかしながら、一般的には、上位層から下位層に向かってポイント数が単調増加する構成が、最も符号化効率がよい。
図8の例のように、ポイント数が上位層よりも下位層の方が少なくなるような構成は、符号化効率が低減するおそれがあった。
【0100】
<複数階層のノードのマージ>
そこで、複数階層のポイント(ノード)をマージして参照関係を構築するようにしてもよい。
【0101】
例えば、3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドのポイント毎の属性情報について、予測ポイントと参照ポイントとに分類し、その参照ポイントの属性情報を用いて予測ポイントの属性情報の予測値を導出し、その予測ポイントの属性情報と予測値との差分値を導出する処理を、その参照ポイントに対して再帰的に繰り返すことによる属性情報の階層化の際に、複数の階層の予測ポイントの予測値の導出を、互いに同一の階層の参照ポイントを参照して行うようにする。
【0102】
例えば、情報処理装置において、3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドのポイント毎の属性情報について、予測ポイントと参照ポイントとに分類し、その参照ポイントの属性情報を用いて予測ポイントの属性情報の予測値を導出し、その予測ポイントの属性情報と予測値との差分値を導出する処理を、参照ポイントに対して再帰的に繰り返すことにより、その属性情報の階層化を行う階層化部を備え、その階層化部は、複数の階層の予測ポイントの予測値の導出を、互いに同一の階層の参照ポイントを参照して行うようにしてもよい。換言するに、3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドのそのポイント毎の属性情報を処理する情報処理装置において、予測ポイントと参照ポイントに分類されたポイントのうち参照ポイントの属性情報を用いて導出された予測ポイントの属性情報の予測値とその予測ポイントの属性情報との差分値を導出する処理を、その参照ポイントに対して再帰的に繰り返すことにより、その属性情報の階層化を行う階層化部を備え、その階層化部が、その複数の階層の予測ポイントの予測値の導出を、互いに同一の階層の参照ポイントを参照して行うようにしてもよい。
【0103】
このようにすることにより、上位層から下位層に向かってポイント数が単調増加するような構成の参照関係を構築することができるので、符号化効率の低減を抑制することができる。
【0104】
例えば、
図9に示される表の一番上の段の「方法3」に記載のように、属性情報の階層構造において、処理対象階層のノード(ポイント)を1つ上の階層のノード(ポイント)にマージして参照関係を構築するようにしてもよい。例えば、
図8のAに示されるような階層構造を有するアトリビュートデータにおいて、LoD=3の階層のポイントを、1つ上のLoD=2の階層のポイントとマージして参照関係を構築する。このようにすることにより、
図10に示されるような、上位層から下位層に向かってポイント数が単調増加するような構成の参照関係を構築することができる。
【0105】
また、例えば、
図9に示される表の上から2段目の「方法3-1」に記載のように、処理対象階層のノード数がその1つ上の階層のノード数よりも多い場合に、そのような処理が行われるようにしてもよい。つまり、1つ上の階層よりもノード数が多い場合は、その処理対象階層のノードがその1つ上の階層のノードを参照するように、参照関係が構築される。このようにすることにより、より容易に、上位層から下位層に向かってポイント数が単調増加するような構成の参照関係を構築することができる。
【0106】
<制御情報>
例えば、
図9に示される表の上から3段目の「方法3-2」に記載のように、参照関係の構築に関する制御情報をシグナリングする(符号化側から復号側に伝送する)ようにしてもよい。
【0107】
制御情報の伝送方法は任意である。例えば、シンタクス等として規定し、ポイントクラウドデータの符号化データ(ビットストリーム)に含めて(例えばヘッダ等に記述して)伝送するようにしてもよい。また、ポイントクラウドデータの符号化データとは異なる、ポイントクラウドデータの符号化データに関連付けられたデータとして伝送するようにしてもよい。
【0108】
<merge_lower_lod_flag>
制御情報の内容は任意である。例えば、他の階層とマージして参照関係が構築されたかを示す制御情報を復号側に伝送するようにしてもよい。その場合、この制御情報が、他の階層とマージして参照関係が構築されたかをどのように表現してもよい。
【0109】
例えば、フラグ情報としてmerge_lower_lod_flagを伝送するようにしてもよい。merge_lower_lod_flagは、1つ上の階層とマージして参照関係を構築するか否かを示すフラグ情報である。この値が真(例えば「1」)の場合、その階層のポイント(ノード)は、1つ上の階層とマージして参照関係を構築することを示し、この値が偽(例えば「0」)の場合、1つ上の階層とマージせずに参照関係を構築する(通常通り、1つ上の階層のポイントを参照する)ことを示す。例えば、このmerge_lower_lod_flagが省略される場合、このフラグ情報の値が偽(例えば「0」)である場合と等価であるようにしてもよい。
【0110】
なお、この制御情報(merge_lower_lod_flag)は、階層(LoD(Level of Detail))毎に設定される。
【0111】
<逆階層化>
以上においては符号化における処理について説明したが、復号側においても本技術を適用することができる。例えば、逆階層化において、複数階層のポイント(ノード)がマージされて参照関係が構築されていることを踏まえて、複数階層の予測ポイントを、互いに同一の階層の参照ポイントを参照して復元するようにしてもよい。
【0112】
例えば、3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドのポイント毎の属性情報について、予測ポイントと参照ポイントとに分類し、その参照ポイントの属性情報を用いて予測ポイントの属性情報の予測値を導出し、その予測ポイントの属性情報と予測値との差分値を導出する処理を、その参照ポイントに対して再帰的に繰り返すことにより階層化された属性情報に対して逆階層化を行う際に、複数の階層の予測ポイントの属性情報の予測値を、互いに同一の階層の参照ポイントの属性情報を参照して導出し、導出した予測値を差分値に加算することにより、その予測ポイントの属性情報を生成するようにする。
【0113】
例えば、情報処理装置において、3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドのポイント毎の属性情報について、予測ポイントと参照ポイントとに分類し、その参照ポイントの属性情報を用いて予測ポイントの属性情報の予測値を導出し、その予測ポイントの属性情報と予測値との差分値を導出する処理を、その参照ポイントに対して再帰的に繰り返すことにより階層化された属性情報に対して逆階層化を行う逆階層化部を備え、その逆階層化部は、逆階層化の際に、複数の階層の予測ポイントの属性情報の予測値を、互いに同一の階層の参照ポイントの属性情報を参照して導出し、導出した予測値を差分値に加算することにより、その予測ポイントの属性情報を生成するようにしてもよい。換言するに、3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドのそのポイント毎の属性情報を処理する情報処理装置において、予測ポイントと参照ポイントに分類されたポイントのうち参照ポイントの属性情報を用いて導出された予測ポイントの属性情報の予測値とその予測ポイントの属性情報との差分値を導出する処理を、その参照ポイントに対して再帰的に繰り返すことにより階層化された属性情報に対して逆階層化を行う逆階層化部を備え、その逆階層化部は、その逆階層化の際に、複数の階層の予測ポイントの属性情報の予測値を、互いに同一の階層の参照ポイントの属性情報を参照して導出し、その導出した予測値を差分値に加算することにより、その予測ポイント属性情報を生成するようにしてもよい。
【0114】
このようにすることにより、上位層から下位層に向かってポイント数が単調増加するような構成の参照関係が構築されたアトリビュートデータを正しく逆階層化することができるので、符号化効率の低減を抑制することができる。
【0115】
例えば、
図9に示される表の上から4段目の「方法4」に記載のように、逆階層化において処理対象階層のノード(ポイント)の参照先を2つ上の階層において探索してもよい。このようにすることにより、
図10に示されるような、上位層から下位層に向かってポイント数が単調増加するような構成の参照関係が構築されたアトリビュートデータを正しく逆階層化することができる。したがって符号化効率の低減を抑制することができる。
【0116】
<制御情報>
例えば、
図9に示される表の上から5段目の「方法4-1」に記載のように、シグナリングされた(符号化側から復号側に伝送された)アトリビュートデータに基づいて逆階層化を行う(逆階層化手法を切り替える)ようにしてもよい。
【0117】
この制御情報の内容は任意である。例えば、上述のmerge_lower_lod_flagであってもよい。merge_lower_lod_flagは、逆階層化の際に、他の階層と同一の階層を参照するかを示す制御情報であるとも言える。つまり、逆階層の際に、このmerge_lower_lod_flagに基づいて参照先の階層を特定することができる。例えば、このmerge_lower_lod_flagに基づいて、処理対象の階層の参照先となる階層を特定し、特定した階層の参照ポイントのアトリビュートデータを参照して、処理対象の階層の予測ポイントのアトリビュートデータの予測値を導出するようにしてもよい。
【0118】
このような制御情報を用いることにより、符号化の際と同様の手法で逆階層化を行うことができる。したがって、符号化効率の低減を抑制することができる。
【0119】
<制御情報を用いない場合>
なお、以上のような制御情報を用いずに逆階層化の手法を設定するようにしてもよい。例えば、復号側においても、処理対象の階層とその1つ上位の階層においてポイント数を比較し、1つ上位の階層と比較してポイントが十分に多くない階層について、2つ上位の階層の参照ポイントの属性情報を参照して、予測ポイントの属性情報の予測値を導出するようにしてもよい。つまり、復号側においても符号化側と同様の判定処理を行い、その判定結果に基づいて参照関係を構築し、予測値を導出するようにしてもよい。
【0120】
このようにすることにより、符号化の際と同様の手法で逆階層化を行うことができる。したがって、符号化効率の低減を抑制することができる。なお、制御情報の伝送を省略することができるので、符号化効率の低減をさらに抑制することができる。
【0121】
<3.第1の実施の形態>
<符号化装置>
次に、<1.階層化・逆階層化手法の切り替え>において上述した本技術を適用する装置について説明する。
図11は、本技術を適用した情報処理装置の一態様である符号化装置の構成の一例を示すブロック図である。
図11に示される符号化装置100は、ポイントクラウド(3Dデータ)を符号化する装置である。符号化装置100は、<1.階層化・逆階層化手法の切り替え>において上述した本技術を適用してポイントクラウドを符号化する。
【0122】
なお、
図11においては、処理部やデータの流れ等の主なものを示しており、
図11に示されるものが全てとは限らない。つまり、符号化装置100において、
図11においてブロックとして示されていない処理部が存在したり、
図11において矢印等として示されていない処理やデータの流れが存在したりしてもよい。
【0123】
図11に示されるように符号化装置100は、位置情報符号化部101、位置情報復号部102、ポイントクラウド生成部103、属性情報符号化部104、およびビットストリーム生成部105を有する。
【0124】
位置情報符号化部101は、符号化装置100に入力されたポイントクラウド(3Dデータ)のジオメトリデータ(位置情報)を符号化する。この符号化方法は、スケーラブルな復号に対応した方法であれば任意である。例えば位置情報符号化部101は、ジオメトリデータを階層化してOctreeを生成し、そのOctreeを符号化する。また、例えば、ノイズ抑制(デノイズ)のためのフィルタリングや量子化等の処理が行われるようにしてもよい。位置情報符号化部101は、生成したジオメトリデータの符号化データを位置情報復号部102およびビットストリーム生成部105に供給する。
【0125】
位置情報復号部102は、位置情報符号化部101から供給されるジオメトリデータの符号化データを取得し、その符号化データを復号する。この復号方法は、位置情報符号化部101による符号化に対応する方法であれば任意である。例えば、デノイズのためのフィルタリングや逆量子化等の処理が行われるようにしてもよい。位置情報復号部102は、生成したジオメトリデータ(復号結果)をポイントクラウド生成部103に供給する。
【0126】
ポイントクラウド生成部103は、符号化装置100に入力されるポイントクラウドのアトリビュートデータ(属性情報)と、位置情報復号部102から供給されるジオメトリデータ(復号結果)を取得する。ポイントクラウド生成部103は、アトリビュートデータをジオメトリデータ(復号結果)に合わせる処理(リカラー処理)を行う。ポイントクラウド生成部103は、ジオメトリデータ(復号結果)に対応させたアトリビュートデータを属性情報符号化部104に供給する。
【0127】
属性情報符号化部104は、ポイントクラウド生成部103から供給されるジオメトリデータ(復号結果)およびアトリビュートデータを取得する。属性情報符号化部104は、そのジオメトリデータ(復号結果)を用いて、アトリビュートデータを符号化し、アトリビュートデータの符号化データを生成する。
【0128】
その際、属性情報符号化部104は、<1.階層化・逆階層化手法の切り替え>において上述した本技術を適用し、アトリビュートデータを符号化する。例えば、属性情報符号化部104は、アトリビュートデータの階層化において、そのアトリビュートデータの階層化手法を中間階層において切り替える。属性情報符号化部104は、生成したアトリビュートデータの符号化データをビットストリーム生成部105に供給する。
【0129】
ビットストリーム生成部105は、位置情報符号化部101から供給される位置情報の符号化データを取得する。また、ビットストリーム生成部105は、属性情報符号化部104から供給される属性情報の符号化データを取得する。ビットストリーム生成部105は、これらの符号化データを含むビットストリームを生成する。ビットストリーム生成部105は、生成したビットストリームを符号化装置100の外部に出力する。
【0130】
このような構成とすることにより、符号化装置100は、複数の階層化手法を適用してアトリビュートデータの階層化構造を形成することができる。これにより、より多様なアトリビュートデータに対してより好適な手法で階層化を行うことができ、符号化効率の低減を抑制することができる。
【0131】
なお、符号化装置100のこれらの処理部(位置情報符号化部101乃至ビットストリーム生成部105)は、それぞれ、任意の構成を有する。例えば、各処理部が、上述の処理を実現する論理回路により構成されるようにしてもよい。また、各処理部が、例えばCPU(Central Processing Unit)、ROM(Read Only Memory)、RAM(Random Access Memory)等を有し、それらを用いてプログラムを実行することにより、上述の処理を実現するようにしてもよい。もちろん、各処理部が、その両方の構成を有し、上述の処理の一部を論理回路により実現し、他を、プログラムを実行することにより実現するようにしてもよい。各処理部の構成は互いに独立していてもよく、例えば、一部の処理部が上述の処理の一部を論理回路により実現し、他の一部の処理部がプログラムを実行することにより上述の処理を実現し、さらに他の処理部が論理回路とプログラムの実行の両方により上述の処理を実現するようにしてもよい。
【0132】
<属性情報符号化部>
図12は、属性情報符号化部104(
図11)の主な構成例を示すブロック図である。なお、
図12においては、処理部やデータの流れ等の主なものを示しており、
図12に示されるものが全てとは限らない。つまり、属性情報符号化部104において、
図12においてブロックとして示されていない処理部が存在したり、
図12において矢印等として示されていない処理やデータの流れが存在したりしてもよい。
【0133】
図12に示されるよう属性情報符号化部104は、階層化処理部111、量子化部112、および符号化部113を有する。
【0134】
階層化処理部111は、アトリビュートデータの階層化に関する処理を行う。例えば、階層化処理部111は、ポイントクラウド生成部103から供給されるアトリビュートデータやジオメトリデータ(復号結果)を取得する。階層化処理部111は、そのジオメトリデータを用いてアトリビュートデータを階層化する。その際、階層化処理部111は、<1.階層化・逆階層化手法の切り替え>において上述した本技術を適用して階層化を行う。例えば、階層化処理部111は、アトリビュートデータの階層化において、そのアトリビュートデータの階層化手法を中間階層において切り替える。換言するに、階層化処理部111は、複数の階層化手法を用いてアトリビュートデータの階層化を行い、それぞれの階層化手法により互いに異なる階層を生成する。階層化処理部111は、階層化したアトリビュートデータ(差分値)を量子化部112に供給する。
【0135】
その際、階層化処理部111は、階層化に関する制御情報も生成する。階層化処理部111は、生成した制御情報も、アトリビュートデータ(差分値)とともに量子化部112に供給する。
【0136】
量子化部112は、階層化処理部111から供給されるアトリビュートデータ(差分値)や制御情報を取得する。量子化部112は、そのアトリビュートデータ(差分値)を量子化する。この量子化の方法は任意である。量子化部112は、その量子化されたアトリビュートデータ(差分値)や制御情報を、符号化部113に供給する。
【0137】
符号化部113は、量子化部112から供給される、量子化されたアトリビュートデータ(差分値)や制御情報を取得する。符号化部113は、その量子化されたアトリビュートデータ(差分値)を符号化し、アトリビュートデータの符号化データを生成する。この符号化方法は任意である。また、符号化部113は、生成した符号化データに、制御情報を含める。換言するに、制御情報を含むアトリビュートデータの符号化データを生成する。符号化部113は、生成した符号化データをビットストリーム生成部105に供給する。
【0138】
以上のように階層化を行うことにより、属性情報符号化部104は、複数の階層化手法を適用してアトリビュートデータの階層化構造を形成することができる。これにより、より多様なアトリビュートデータに対してより好適な手法で階層化を行うことができ、符号化効率の低減を抑制することができる。
【0139】
なお、これらの処理部(階層化処理部111乃至符号化部113)は、任意の構成を有する。例えば、各処理部が、上述の処理を実現する論理回路により構成されるようにしてもよい。また、各処理部が、例えばCPU、ROM、RAM等を有し、それらを用いてプログラムを実行することにより、上述の処理を実現するようにしてもよい。もちろん、各処理部が、その両方の構成を有し、上述の処理の一部を論理回路により実現し、他を、プログラムを実行することにより実現するようにしてもよい。各処理部の構成は互いに独立していてもよく、例えば、一部の処理部が上述の処理の一部を論理回路により実現し、他の一部の処理部がプログラムを実行することにより上述の処理を実現し、さらに他の処理部が論理回路とプログラムの実行の両方により上述の処理を実現するようにしてもよい。
【0140】
<階層化処理部>
図13は、階層化処理部111(
図12)の主な構成例を示すブロック図である。なお、
図13においては、処理部やデータの流れ等の主なものを示しており、
図13に示されるものが全てとは限らない。つまり、階層化処理部111において、
図13においてブロックとして示されていない処理部が存在したり、
図13において矢印等として示されていない処理やデータの流れが存在したりしてもよい。
【0141】
なお、ここでは、階層化処理部111が、スケーラブルな復号に対応した階層化手法と、スケーラブルな復号に非対応な階層化手法とを中間階層において切り替えるものとして説明する。
図13に示されるよう階層化処理部111は、制御部121、スケーラブル対応階層化処理部122、スケーラブル非対応階層化処理部123、反転部124、および重み付け部125を有する。
【0142】
制御部121は、階層化の制御に関する処理を行う。例えば、制御部121は、ポイントクラウド生成部103から供給されるアトリビュートデータやジオメトリデータ(復号結果)を取得する。制御部121は、取得したアトリビュートデータやジオメトリデータ(復号結果)をスケーラブル対応階層化処理部122に供給する。
【0143】
また、制御部121は、スケーラブル対応階層化処理部122やスケーラブル非対応階層化処理部123を制御し、階層化を実行させる。例えば、制御部121は、<1.階層化・逆階層化手法の切り替え>において上述した本技術を適用して階層化を行わせる。つまり、例えば、制御部121は、スケーラブル対応階層化処理部122若しくはスケーラブル非対応階層化処理部123、またはその両方を駆動させ、それぞれの階層化手法による階層化を行わせる。
【0144】
また、制御部121は、そのアトリビュートデータの階層化に関する制御情報を生成し、その制御情報を量子化部112に供給する。
【0145】
スケーラブル対応階層化処理部122は、スケーラブルな復号に対応する手法(例えば、非特許文献3に記載の階層化手法)によるアトリビュートデータの階層化に関する処理を行う。例えば、スケーラブル対応階層化処理部122は、制御部121から供給されるアトリビュートデータやジオメトリデータ(復号結果)を取得する。
【0146】
スケーラブル対応階層化処理部122は、制御部121の制御にしたがって、取得したアトリビュートデータを、取得したジオメトリデータを用いて、スケーラブルな復号に対応する手法で階層化する。例えば、スケーラブル対応階層化処理部122は、スケーラブルな復号に対応する手法を用い、制御部121により指定された階層(例えば、処理の実行を許可された階層、処理を禁止されていない階層でもよい)を生成する。
【0147】
スケーラブル対応階層化処理部122は、生成した階層のアトリビュートデータ、階層化されていないアトリビュートデータ、およびジオメトリデータ等をスケーラブル非対応階層化処理部123に供給する。
【0148】
なお、制御部121により階層化が許可されない場合、スケーラブル対応階層化処理部122は、階層化を省略することができる。その場合、スケーラブル対応階層化処理部122は、取得したアトリビュートデータおよびジオメトリデータを全てスケーラブル非対応階層化処理部123に供給する。
【0149】
スケーラブル非対応階層化処理部123は、スケーラブルな復号に非対応な手法(例えば、非特許文献2に記載のLifting)によるアトリビュートデータの階層化に関する処理を行う。例えば、スケーラブル非対応階層化処理部123は、スケーラブル対応階層化処理部122から供給されるアトリビュートデータやジオメトリデータ(復号結果)等を取得する。
【0150】
スケーラブル非対応階層化処理部123は、制御部121の制御にしたがって、階層化されていないアトリビュートデータを、取得したジオメトリデータを用いて、スケーラブルな復号に非対応な手法で階層化する。例えば、スケーラブル非対応階層化処理部123は、スケーラブルな復号に非対応な手法を用い、制御部121により指定された階層(例えば、処理の実行を許可された階層、処理を禁止されていない階層でもよい)を生成する。
【0151】
このようなスケーラブル対応階層化処理部122およびスケーラブル非対応階層化処理部123による階層化により、アトリビュートデータの全階層が生成される(全て階層化される)。
【0152】
スケーラブル非対応階層化処理部123は、階層化されたアトリビュートデータを反転部124に供給する。
【0153】
なお、制御部121により階層化が許可されない場合、スケーラブル非対応階層化処理部123は、階層化を省略することができる。その場合、取得したアトリビュートデータは全て階層化されており、スケーラブル対応階層化処理部122は、そのアトリビュートデータを反転部124に供給する。
【0154】
反転部124は、階層の反転に関する処理を行う。例えば、反転部124は、スケーラブル非対応階層化処理部123から供給される、階層化されたアトリビュートデータを取得する。このアトリビュートデータは、各階層の情報が、その生成順に階層化されている。
【0155】
反転部124は、そのアトリビュートデータの階層を反転させる。例えば、反転部124は、アトリビュートデータの各階層に対して、その生成順と逆順に階層番号(最上位層が0、1階層下がる毎に値が1ずつインクリメントされ、最下位層が最大値となる階層を識別するための番号)を付し、生成順が最下位層から最上位層に向かう順となるようにする。
【0156】
反転部124は、階層を反転させたアトリビュートデータを重み付け部125に供給する。
【0157】
重み付け部125は、重み付けに関する処理を行う。例えば、重み付け部125は、反転部124から供給されるアトリビュートデータを取得する。重み付け部125は、取得したアトリビュートデータの重み値を導出する。この重み値の導出方法は任意である。スケーラブル対応階層化処理部122により生成された階層と、スケーラブル非対応階層化処理部123により生成された階層とで重み値の導出方法を変えてもよい。
【0158】
重み付け部125は、アトリビュートデータ(差分値)と導出した重み値とを量子化部112(
図12)に供給する。また、重み付け部125は、導出した重み値を制御情報として量子化部112に供給し、復号側に伝送させるようにしてもよい。
【0159】
制御部121が、スケーラブル対応階層化処理部122およびスケーラブル非対応階層化処理部123を制御し、<1.階層化・逆階層化手法の切り替え>において上述したように、アトリビュートデータの階層化手法を中間階層において切り替える。このようにすることにより、階層化処理部111は、複数の階層化手法を適用してアトリビュートデータの階層化構造を形成することができる。これにより、より多様なアトリビュートデータに対してより好適な手法で階層化を行うことができ、符号化効率の低減を抑制することができる。
【0160】
なお、これらの処理部(制御部121乃至重み付け部125)は、任意の構成を有する。例えば、各処理部が、上述の処理を実現する論理回路により構成されるようにしてもよい。また、各処理部が、例えばCPU、ROM、RAM等を有し、それらを用いてプログラムを実行することにより、上述の処理を実現するようにしてもよい。もちろん、各処理部が、その両方の構成を有し、上述の処理の一部を論理回路により実現し、他を、プログラムを実行することにより実現するようにしてもよい。各処理部の構成は互いに独立していてもよく、例えば、一部の処理部が上述の処理の一部を論理回路により実現し、他の一部の処理部がプログラムを実行することにより上述の処理を実現し、さらに他の処理部が論理回路とプログラムの実行の両方により上述の処理を実現するようにしてもよい。
【0161】
<符号化処理の流れ>
次に、この符号化装置100により実行される処理について説明する。符号化装置100は、符号化処理を実行することによりポイントクラウドのデータを符号化する。この符号化処理の流れの例を、
図14のフローチャートを参照して説明する。
【0162】
符号化処理が開始されると、符号化装置100の位置情報符号化部101は、ステップS101において、入力されたポイントクラウドのジオメトリデータ(位置情報)を符号化し、ジオメトリデータの符号化データを生成する。
【0163】
ステップS102において、位置情報復号部102は、ステップS101において生成されたジオメトリデータの符号化データを復号し、位置情報を生成する。
【0164】
ステップS103において、ポイントクラウド生成部103は、入力されたポイントクラウドのアトリビュートデータ(属性情報)と、ステップS102において生成されたジオメトリデータ(復号結果)とを用いて、リカラー処理を行い、アトリビュートデータをジオメトリデータに対応させる。
【0165】
ステップS104において、属性情報符号化部104は、属性情報符号化処理を実行することにより、ステップS103においてリカラー処理されたアトリビュートデータを符号化し、アトリビュートデータの符号化データを生成する。その際、属性情報符号化部104は、<1.階層化・逆階層化手法の切り替え>において上述した本技術を適用して処理を行う。例えば、属性情報符号化部104は、アトリビュートデータの階層化において、そのアトリビュートデータの階層化手法を中間階層において切り替える。属性情報符号化処理の詳細については後述する。
【0166】
ステップS105において、ビットストリーム生成部105は、ステップS101において生成されたジオメトリデータの符号化データと、ステップS104において生成されたアトリビュートデータの符号化データとを含むビットストリームを生成し、出力する。
【0167】
ステップS105の処理が終了すると符号化処理が終了する。
【0168】
このように各ステップの処理を行うことにより、符号化装置100は、複数の階層化手法を適用してアトリビュートデータの階層化構造を形成することができる。これにより、より多様なアトリビュートデータに対してより好適な手法で階層化を行うことができ、符号化効率の低減を抑制することができる。
【0169】
<属性情報符号化処理の流れ>
次に、
図14のステップS104において実行される属性情報符号化処理の流れの例を、
図15のフローチャートを参照して説明する。
【0170】
属性情報符号化処理が開始されると、属性情報符号化部104の階層化処理部111は、ステップS111において、階層化処理を実行することによりアトリビュートデータを階層化し、各ポイントのアトリビュートデータの差分値を導出する。その際、階層化処理部111は、<1.階層化・逆階層化手法の切り替え>において上述した本技術を適用して階層化を行う。例えば、階層化処理部111は、アトリビュートデータの階層化手法を中間階層において切り替える。階層化処理の詳細については後述する。
【0171】
ステップS112において、量子化部112は、ステップS111において導出された各差分値を量子化する。
【0172】
ステップS113において、符号化部113は、ステップS112において量子化された差分値を符号化し、アトリビュートデータの符号化データを生成する。
【0173】
ステップS113の処理が終了すると属性情報符号化処理が終了し、処理は
図14に戻る。
【0174】
このように各ステップの処理を行うことにより、属性情報符号化部104は、複数の階層化手法を適用してアトリビュートデータの階層化構造を形成することができる。これにより、より多様なアトリビュートデータに対してより好適な手法で階層化を行うことができ、符号化効率の低減を抑制することができる。
【0175】
<階層化処理の流れ>
次に、
図16のフローチャートを参照して、
図15のステップS111において実行される階層化処理の流れの例を説明する。
【0176】
階層化処理が開始されると、階層化処理部111の制御部121は、ステップS121において、スケーラブルな復号に対応する手法の適用範囲を設定する。制御部121は、その設定に基づいて、階層化を制御する。
【0177】
ステップS122において、スケーラブル対応階層化処理部122は、ステップS121において設定されたスケーラブルな復号に対応する手法の適用範囲内の階層を、スケーラブルな復号に対応する手法により生成する。つまり、スケーラブル対応階層化処理部122は、スケーラブルな復号を行うことができるように符号化する各階層について、スケーラブルな復号に対応する手法を用いて参照ポイントと予測ポイントを設定し、参照ポイントのアトリビュートデータを用いて予測ポイントのアトリビュートデータの予測値を導出し、その予測ポイントのアトリビュートデータと予測値との差分値を導出する。
【0178】
ステップS123において、スケーラブル非対応階層化処理部123は、ステップS122において生成されなかった階層、すなわち、ステップS121において設定されたスケーラブルな復号に対応する手法の適用範囲外の階層を、スケーラブルな復号に非対応な手法により生成する。つまり、スケーラブル非対応階層化処理部123は、スケーラブルな復号を行うことができないように符号化する各階層について、スケーラブルな復号に非対応な手法を用いて参照ポイントと予測ポイントを設定し、参照ポイントのアトリビュートデータを用いて予測ポイントのアトリビュートデータの予測値を導出し、その予測ポイントのアトリビュートデータと予測値との差分値を導出する。
【0179】
ステップS122およびステップS123の処理により、アトリビュートデータの全階層が生成されると、反転部124は、ステップS124において、生成されたアトリビュートデータの階層を反転し、各階層に、生成順と逆向きに階層番号を付す。
【0180】
ステップS125において、重み付け部125は、各階層のアトリビュートデータについて重み値を導出する。
【0181】
ステップS126において、制御部121は、アトリビュートデータの階層化に関する制御情報を生成し、それを量子化部112に供給し、復号側に伝送させる。
【0182】
ステップS126の処理が終了すると処理は
図15に戻る。
【0183】
このように各ステップの処理を行うことにより、階層化処理部111は、複数の階層化手法を適用してアトリビュートデータの階層化構造を形成することができる。これにより、より多様なアトリビュートデータに対してより好適な手法で階層化を行うことができ、符号化効率の低減を抑制することができる。
【0184】
<4.第2の実施の形態>
<復号装置>
次に、<1.階層化・逆階層化手法の切り替え>において上述した本技術を適用する装置の他の例について説明する。
図17は、本技術を適用した情報処理装置の一態様である復号装置の構成の一例を示すブロック図である。
図17に示される復号装置200は、ポイントクラウド(3Dデータ)の符号化データを復号する装置である。復号装置200は、<1.階層化・逆階層化手法の切り替え>において上述した本技術を適用してポイントクラウドの符号化データを復号する。
【0185】
なお、
図17においては、処理部やデータの流れ等の主なものを示しており、
図17に示されるものが全てとは限らない。つまり、復号装置200において、
図17においてブロックとして示されていない処理部が存在したり、
図17において矢印等として示されていない処理やデータの流れが存在したりしてもよい。
【0186】
図17に示されるように復号装置200は、復号対象LoD深度設定部201、符号化データ抽出部202、位置情報復号部203、属性情報復号部204、およびポイントクラウド生成部205を有する。
【0187】
復号対象LoD深度設定部201は、復号対象とする階層(LoD)の深度の設定に関する処理を行う。例えば、復号対象LoD深度設定部201は、符号化データ抽出部202に保持されているポイントクラウドの符号化データについて、どの階層まで復号するかを設定する。この復号対象とする階層深度設定の方法は任意である。
【0188】
例えば、復号対象LoD深度設定部201が、ユーザやアプリケーション等の外部からの階層深度に関する指示に基づいて設定するようにしてもよい。また、復号対象LoD深度設定部201が、出力画像等、任意の情報に基づいて復号対象とする階層深度を求め、設定するようにしてもよい。
【0189】
例えば、復号対象LoD深度設定部201が、ポイントクラウドから生成する2次元画像の視点位置、方向、画角、視点の動き(移動、パン、チルト、ズーム)等に基づいて、復号対象とする階層深度を設定するようにしてもよい。
【0190】
なお、この復号対象とする階層深度設定のデータ単位は任意である。例えば、復号対象LoD深度設定部201は、ポイントクラウド全体について階層深度を設定することもできるし、オブジェクト毎に階層深度を設定することもできるし、オブジェクト内の部分領域毎に階層深度を設定することもできる。もちろん、これらの例以外のデータ単位で階層深度を設定することもできる。
【0191】
符号化データ抽出部202は、復号装置200に入力されるビットストリームを取得し、保持する。符号化データ抽出部202は、最上位から復号対象LoD深度設定部201により指定された階層までのジオメトリデータ(位置情報)およびアトリビュートデータ(属性情報)の符号化データを、その保持しているビットストリームから抽出する。符号化データ抽出部202は、抽出したジオメトリデータの符号化データを位置情報復号部203に供給する。符号化データ抽出部202は、抽出したアトリビュートデータの符号化データを属性情報復号部204に供給する。
【0192】
位置情報復号部203は、符号化データ抽出部202から供給されるジオメトリデータの符号化データを取得する。位置情報復号部203は、そのジオメトリデータの符号化データを復号し、ジオメトリデータ(復号結果)を生成する。この復号方法は、符号化装置100の位置情報復号部102の場合と同様の方法であれば任意である。位置情報復号部203は、生成したジオメトリデータ(復号結果)を、属性情報復号部204およびポイントクラウド生成部205に供給する。
【0193】
属性情報復号部204は、符号化データ抽出部202から供給されるアトリビュートデータの符号化データを取得する。属性情報復号部204は、位置情報復号部203から供給されるジオメトリデータ(復号結果)を取得する。属性情報復号部404は、その位置情報(復号結果)を用いて、<1.階層化・逆階層化手法の切り替え>において上述した本技術を適用した方法によりアトリビュートデータの符号化データを復号し、アトリビュートデータ(復号結果)を生成する。例えば、属性情報復号部204は、アトリビュートデータの逆階層化手法を中間階層において切り替える。属性情報復号部204は、生成したアトリビュートデータ(復号結果)をポイントクラウド生成部405に供給する。
【0194】
ポイントクラウド生成部205は、位置情報復号部203から供給されるジオメトリデータ(復号結果)を取得する。ポイントクラウド生成部205は、属性情報復号部204から供給されるアトリビュートデータ(復号結果)を取得する。ポイントクラウド生成部205は、そのジオメトリデータ(復号結果)およびアトリビュートデータ(復号結果)を用いて、ポイントクラウド(復号結果)を生成する。ポイントクラウド生成部205は、生成したポイントクラウド(復号結果)のデータを復号装置200の外部に出力する。
【0195】
このような構成とすることにより、復号装置200は、複数の階層化手法を適用して逆階層化を行うことができるので、複数の階層化手法を適用して階層化されたアトリビュートデータを正しく逆階層化することができる。つまり、そのような複数の階層化手法が適用されて符号化された符号化データを正しく復号することができる。これにより、符号化効率の低減を抑制することができる。
【0196】
なお、これらの処理部(復号対象LoD深度設定部201乃至ポイントクラウド生成部205)は、任意の構成を有する。例えば、各処理部が、上述の処理を実現する論理回路により構成されるようにしてもよい。また、各処理部が、例えばCPU、ROM、RAM等を有し、それらを用いてプログラムを実行することにより、上述の処理を実現するようにしてもよい。もちろん、各処理部が、その両方の構成を有し、上述の処理の一部を論理回路により実現し、他を、プログラムを実行することにより実現するようにしてもよい。各処理部の構成は互いに独立していてもよく、例えば、一部の処理部が上述の処理の一部を論理回路により実現し、他の一部の処理部がプログラムを実行することにより上述の処理を実現し、さらに他の処理部が論理回路とプログラムの実行の両方により上述の処理を実現するようにしてもよい。
【0197】
<属性情報復号部>
図18は、属性情報復号部204(
図17)の主な構成例を示すブロック図である。なお、
図18においては、処理部やデータの流れ等の主なものを示しており、
図18に示されるものが全てとは限らない。つまり、属性情報復号部204において、
図18においてブロックとして示されていない処理部が存在したり、
図18において矢印等として示されていない処理やデータの流れが存在したりしてもよい。
【0198】
図18に示されるよう属性情報復号部204は、復号部211、逆量子化部212、および逆階層化処理部213を有する。
【0199】
復号部211は、アトリビュートデータの符号化データの復号に関する処理を行う。例えば、復号部211は、属性情報復号部204に供給されるアトリビュートデータの符号化データを取得する。
【0200】
復号部211は、そのアトリビュートデータの符号化データを復号し、アトリビュートデータ(復号結果)を生成する。この復号方法は、符号化装置100の符号化部113(
図12)による符号化方法に対応する方法であれば任意である。また、生成したアトリビュートデータ(復号結果)は、符号化前のアトリビュートデータに対応し、第1の実施の形態において説明したように、アトリビュートデータとその予測値との差分値であり、量子化されている。復号部211は、生成したアトリビュートデータ(復号結果)を逆量子化部212に供給する。
【0201】
なお、アトリビュートデータの符号化データに重み値に関する制御情報やアトリビュートデータの階層化に関する制御情報が含まれている場合、復号部211は、その制御情報も逆量子化部212に供給する。
【0202】
逆量子化部212は、アトリビュートデータの逆量子化に関する処理を行う。例えば、逆量子化部212は、復号部211から供給されるアトリビュートデータ(復号結果)や制御情報を取得する。
【0203】
逆量子化部212は、そのアトリビュートデータ(復号結果)を逆量子化する。その際、復号部211から重み値に関する制御情報が供給される場合、逆量子化部212は、その制御情報も取得し、その制御情報に基づいて(その制御情報に基づいて導出される重み値を用いて)アトリビュートデータ(復号結果)の逆量子化を行う。
【0204】
また、逆量子化部212は、復号部211からアトリビュートデータの階層化に関する制御情報が供給される場合、その制御情報も取得する。
【0205】
逆量子化部212は、逆量子化したアトリビュートデータ(復号結果)を逆階層化処理部213に供給する。また、復号部211からアトリビュートデータの階層化に関する制御情報を取得した場合、逆量子化部212は、その制御情報も逆階層化処理部213に供給する。
【0206】
逆階層化処理部213は、逆量子化部212から供給される、逆量子化されたアトリビュートデータ(復号結果)を取得する。上述したようにこのアトリビュートデータは差分値である。また、逆階層化処理部213は、位置情報復号部203から供給されるジオメトリデータ(復号結果)を取得する。逆階層化処理部213は、そのジオメトリデータを用いて、取得したアトリビュートデータ(差分値)に対して、符号化装置100の階層化処理部111(
図12)による階層化の逆処理である逆階層化を行う。
【0207】
その際、逆階層化処理部213は、<1.階層化・逆階層化手法の切り替え>において上述した本技術を適用して逆階層化を行う。つまり、逆階層化処理部213は、逆階層化において属性情報の階層化手法を中間階層において切り替える(つまり逆階層化手法を切り替える)。逆階層化処理部213は、逆階層化したアトリビュートデータを復号結果としてポイントクラウド生成部205(
図17)に供給する。
【0208】
以上のように逆階層化を行うことにより、属性情報復号部204は、複数の階層化手法を適用して階層化されたアトリビュートデータを正しく逆階層化することができる。つまり、そのような複数の階層化手法が適用されて符号化された符号化データを正しく復号することができる。これにより、符号化効率の低減を抑制することができる。
【0209】
なお、これらの処理部(復号部211乃至逆階層化処理部213)は、任意の構成を有する。例えば、各処理部が、上述の処理を実現する論理回路により構成されるようにしてもよい。また、各処理部が、例えばCPU、ROM、RAM等を有し、それらを用いてプログラムを実行することにより、上述の処理を実現するようにしてもよい。もちろん、各処理部が、その両方の構成を有し、上述の処理の一部を論理回路により実現し、他を、プログラムを実行することにより実現するようにしてもよい。各処理部の構成は互いに独立していてもよく、例えば、一部の処理部が上述の処理の一部を論理回路により実現し、他の一部の処理部がプログラムを実行することにより上述の処理を実現し、さらに他の処理部が論理回路とプログラムの実行の両方により上述の処理を実現するようにしてもよい。
【0210】
<階層化処理部>
図19は、逆階層化処理部213(
図18)の主な構成例を示すブロック図である。なお、
図19においては、処理部やデータの流れ等の主なものを示しており、
図19に示されるものが全てとは限らない。つまり、逆階層化処理部213において、
図19においてブロックとして示されていない処理部が存在したり、
図19において矢印等として示されていない処理やデータの流れが存在したりしてもよい。
【0211】
なお、ここでは、逆階層化処理部213が、スケーラブルな復号に対応した逆階層化手法と、スケーラブルな復号に非対応な逆階層化手法とを中間階層において切り替えるものとして説明する。
図19に示されるよう逆階層化処理部213は、制御部221、スケーラブル非対応逆階層化処理部222、およびスケーラブル対応逆階層化処理部223を有する。
【0212】
制御部221は、逆階層化の制御に関する処理を行う。例えば、制御部221は、逆量子化部212(
図18)から供給される、逆量子化されたアトリビュートデータや、アトリビュートデータの逆階層化に関する制御情報を取得する。また、制御部221は、位置情報復号部203から供給されるジオメトリデータ(復号結果)も取得する。
【0213】
制御部221は、<1.階層化・逆階層化手法の切り替え>において上述した本技術を適用して、スケーラブル非対応逆階層化処理部222およびスケーラブル対応逆階層化処理部223を制御し、それらに階層化を行わせる。
【0214】
例えば、制御部221は、スケーラブルな復号に対応した階層化手法が適用可能であるかを示す制御情報(例えばscalable_enable_flag)に基づいて、取得したアトリビュートデータに対してスケーラブルな復号に対応する手法を適用するか否かを判定する。
【0215】
例えば、この制御情報によりスケーラブルな復号に対応した階層化手法が適用不可能であることが示される場合、制御部221は、アトリビュートデータやジオメトリデータをスケーラブル非対応逆階層化処理部222に供給し、そのアトリビュートデータの全ての階層をスケーラブルな復号に非対応な手法を用いて逆階層化させる。
【0216】
また例えば、この制御情報によりスケーラブルな復号に対応した階層化手法が適用可能であることが示される場合、制御部221は、スケーラブルな復号に対応した階層化手法を適用する階層の範囲を示す制御情報(例えばscalable_enable_num_of_lod)を参照する。
【0217】
また、制御部221は、その制御情報に基づいて、処理対象のアトリビュートデータを、スケーラブルな復号に非対応な手法を用いて逆階層化するか、スケーラブルな復号に非対応な手法とスケーラブルな復号に対応する手法との両方を用いて逆階層化するかを選択する。
【0218】
例えば、処理対象のアトリビュートデータの階層に、その制御情報が示すスケーラブルな復号に対応した階層化手法を適用する階層の範囲の少なくとも一部が含まれない場合、制御部221は、処理対象のアトリビュートデータやジオメトリデータ等を全てスケーラブル非対応逆階層化処理部222に供給し、そのアトリビュートデータの全階層を、スケーラブルな復号に非対応な手法により、逆階層化させる。
【0219】
また、例えば、処理対象のアトリビュートデータの階層に、その制御情報が示すスケーラブルな復号に対応した階層化手法を適用する階層の範囲の少なくとも一部が含まれる場合、制御部221は、その範囲に含まれる階層のアトリビュートデータやジオメトリデータを、スケーラブル非対応逆階層化処理部222に供給する。また、制御部221は、その範囲に含まれない階層のアトリビュートデータやジオメトリデータを、スケーラブル対応逆階層化処理部223に供給する。つまり、それぞれの逆階層化処理部にそれぞれの手法で逆階層化させる。
【0220】
スケーラブル非対応逆階層化処理部222は、制御部221から供給されたアトリビュートデータを、制御部221から供給されたジオメトリデータを用いて、スケーラブルな復号に非対応な手法で逆階層化する。スケーラブル非対応逆階層化処理部222は、逆階層化したアトリビュートデータ(非スケーラブル階層)をポイントクラウド生成部205(
図17)に供給する。
【0221】
スケーラブル対応逆階層化処理部223は、制御部221から供給されたアトリビュートデータを、制御部221から供給されたジオメトリデータを用いて、スケーラブルな復号に対応する手法で逆階層化する。スケーラブル対応逆階層化処理部223は、逆階層化したアトリビュートデータ(非スケーラブル階層)をポイントクラウド生成部205(
図17)に供給する。
【0222】
このように、制御部221が、スケーラブル非対応逆階層化処理部222およびスケーラブル対応逆階層化処理部223を制御し、<1.階層化・逆階層化手法の切り替え>において上述したように、アトリビュートデータの逆階層化手法を中間階層において切り替える。したがって、逆階層化処理部213は、複数の階層化手法を適用して階層化されたアトリビュートデータを正しく逆階層化することができる。つまり、そのような複数の階層化手法が適用されて符号化された符号化データを正しく復号することができる。これにより、符号化効率の低減を抑制することができる。
【0223】
なお、これらの処理部(制御部221乃至スケーラブル対応逆階層化処理部223)は、任意の構成を有する。例えば、各処理部が、上述の処理を実現する論理回路により構成されるようにしてもよい。また、各処理部が、例えばCPU、ROM、RAM等を有し、それらを用いてプログラムを実行することにより、上述の処理を実現するようにしてもよい。もちろん、各処理部が、その両方の構成を有し、上述の処理の一部を論理回路により実現し、他を、プログラムを実行することにより実現するようにしてもよい。各処理部の構成は互いに独立していてもよく、例えば、一部の処理部が上述の処理の一部を論理回路により実現し、他の一部の処理部がプログラムを実行することにより上述の処理を実現し、さらに他の処理部が論理回路とプログラムの実行の両方により上述の処理を実現するようにしてもよい。
【0224】
<復号処理の流れ>
次に、この復号装置200により実行される処理について説明する。復号装置200は、復号処理を実行することによりポイントクラウドの符号化データを復号する。この復号処理の流れの例を、
図20のフローチャートを参照して説明する。
【0225】
復号処理が開始されると、復号装置200の復号対象LoD深度設定部201は、ステップS201において、復号するLoD深度(つまり復号対象とする階層の範囲)を設定する。
【0226】
ステップS202において、符号化データ抽出部202は、ビットストリームを取得して保持し、ステップS201において設定された復号対象階層範囲と、スケーラブルな復号に対応した階層化手法を適用する階層の範囲を示す制御情報(例えばscalable_enable_num_of_lod)とに基づいて、スケーラブルな復号が可能な階層まで復号するか否かを判定する。
【0227】
復号対象階層範囲が、スケーラブルな復号に対応した階層化手法を適用する階層の範囲に重畳しており、スケーラブルの復号が可能な階層(スケーラブルの階層とも称する)まで復号すると判定された場合、処理はステップS203に進む。
【0228】
ステップS203において、符号化データ抽出部202は、復号対象階層範囲の全階層の符号化データを抽出する。ステップS203の処理が終了すると処理はステップS205に進む。
【0229】
また、ステップS202において、復号対象階層範囲が、スケーラブルな復号に対応した階層化手法を適用する階層の範囲と重畳しておらず、スケーラブルの階層まで復号しないと判定された場合、処理はステップS204に進む。
【0230】
ステップS204において、符号化データ抽出部202は、スケーラブルな復号が不可能な階層(非スケーラブルの階層とも称する)全体の符号化データを抽出する。ステップS204の処理が終了すると処理はステップS205に進む。
【0231】
ステップS205において、位置情報復号部203は、ステップS203またはステップS204において抽出されたジオメトリデータの符号化データを復号し、位置情報(復号結果)を生成する。
【0232】
ステップS206において、属性情報復号部204は、ステップS203またはステップS204において抽出されたアトリビュートデータの符号化データを復号し、属性情報(復号結果)を生成する。その際、属性情報復号部204は、<1.階層化・逆階層化手法の切り替え>において上述した本技術を適用して処理を行う。例えば、属性情報復号部204は、逆階層化において属性情報の階層化手法を中間階層において切り替える(つまり逆階層化手法を切り替える)。属性情報復号処理の詳細については後述する。
【0233】
ステップS207において、ポイントクラウド生成部205は、ステップS205において生成されたジオメトリデータ(復号結果)と、ステップS206において生成されたアトリビュートデータ(復号結果)とを用いてポイントクラウド(復号結果)を生成し、出力する。
【0234】
ステップS205の処理が終了すると、復号処理が終了する。
【0235】
このように各ステップの処理を行うことにより、復号装置200は、複数の階層化手法を適用して逆階層化を行うことができるので、複数の階層化手法を適用して階層化されたアトリビュートデータを正しく逆階層化することができる。つまり、そのような複数の階層化手法が適用されて符号化された符号化データを正しく復号することができる。これにより、符号化効率の低減を抑制することができる。
【0236】
<属性情報復号処理の流れ>
次に、
図20のステップS206において実行される属性情報復号処理の流れの例を、
図21のフローチャートを参照して説明する。
【0237】
属性情報復号処理が開始されると、属性情報復号部204の復号部211は、ステップS211において、アトリビュートデータ(属性情報)の符号化データを復号し、アトリビュートデータ(復号結果)を生成する。このアトリビュートデータ(復号結果)は上述のように量子化されている。
【0238】
ステップS212において、逆量子化部212は、逆量子化処理を実行することにより、ステップS211において生成されたアトリビュートデータ(復号結果)を逆量子化する。
【0239】
ステップS213において、逆階層化処理部213は、逆階層化処理を実行することにより、ステップS212において逆量子化されたアトリビュートデータ(差分値)を逆階層化し、各ポイントのアトリビュートデータを導出する。その際、逆階層化処理部213は、<1.階層化・逆階層化手法の切り替え>において上述した本技術を適用して逆階層化を行う。例えば、逆階層化処理部213は、逆階層化において属性情報の階層化手法を中間階層において切り替える(つまり逆階層化手法を切り替える)。逆階層化処理の詳細については後述する。
【0240】
ステップS213の処理が終了すると属性情報復号処理が終了し、処理は
図20に戻る。
【0241】
このように各ステップの処理を行うことにより、属性情報復号部204は、複数の階層化手法を適用して逆階層化を行うことができるので、複数の階層化手法を適用して階層化されたアトリビュートデータを正しく逆階層化することができる。つまり、そのような複数の階層化手法が適用されて符号化された符号化データを正しく復号することができる。これにより、符号化効率の低減を抑制することができる。
【0242】
<逆階層化処理の流れ>
次に、
図21のステップS213において実行される逆階層化処理の流れの例を、
図22のフローチャートを参照して説明する。
【0243】
逆階層化処理が開始されると、逆階層化処理部213の制御部221は、ステップS221において、ジオメトリデータ(復号結果)を用いてアトリビュートデータ(復号結果)を階層化する。つまり、制御部221は、第1の実施の形態において説明した階層化処理と同様の処理を行い、復号対象の階層について、アトリビュートデータの階層構造とジオメトリデータの階層構造とを対応付ける。これにより、各ポイントのアトリビュートデータ(復号結果)とジオメトリデータ(復号結果)とが対応付けられる。この対応関係に基づいて以下の処理が行われる。
【0244】
ステップS222において、スケーラブル非対応逆階層化処理部222は、非スケーラブルの階層のアトリビュートデータを逆階層化する。
【0245】
ステップS223において、制御部221は、スケーラブルの階層まで復号するか否かを判定する。復号すると判定された場合、処理はステップS224に進む。
【0246】
ステップS224において、スケーラブル対応逆階層化処理部223は、スケーラブル逆階層化処理を実行し、スケーラブルの階層のアトリビュートデータを逆階層化する。このスケーラブル逆階層化処理の詳細については後述する。
【0247】
ステップS224の処理が終了すると逆階層化処理が終了し、処理は
図21に戻る。
【0248】
また、ステップS223において、スケーラブルの階層まで復号しないと判定された場合、ステップS224の処理が省略され、逆階層化処理が終了し、処理は
図21に戻る。
【0249】
このように各ステップの処理を行うことにより、逆階層化処理部213は、複数の階層化手法を適用して逆階層化を行うことができるので、複数の階層化手法を適用して階層化されたアトリビュートデータを正しく逆階層化することができる。つまり、そのような複数の階層化手法が適用されて符号化された符号化データを正しく復号することができる。これにより、符号化効率の低減を抑制することができる。
【0250】
<スケーラブル逆階層化処理の流れ>
次に、
図23のフローチャートを参照して、
図22のステップS224において実行されるスケーラブル逆階層化処理の流れの例を説明する。
【0251】
スケーラブル逆階層化処理が開始されると、スケーラブル対応逆階層化処理部223は、ステップS231において、処理対象LoDをスケーラブルの階層の最上位LoDに設定する。
【0252】
ステップS232において、スケーラブル対応逆階層化処理部223は、処理対象LoDの解像度のジオメトリデータに基づいて、参照ポイントから予測ポイントの予測値を導出する。
【0253】
ステップS233において、スケーラブル対応逆階層化処理部223は、ステップS232において導出された予測値を、差分値に加算して、予測ポイントの属性情報を復元する。
【0254】
ステップS234において、スケーラブル対応逆階層化処理部223は、予測ポイントと参照ポイントのアトリビュートデータをマージする。
【0255】
ステップS235において、スケーラブル対応逆階層化処理部223は、処理対象LoDが復号対象階層範囲の最下位LoDであるか否かを判定する。処理対象LoDが復号対象階層範囲の最下位LoDであると判定された場合、処理はステップS236に進む。
【0256】
ステップS236において、スケーラブル対応逆階層化処理部223は、処理対象LoDを1階層下に移動する(更新する)。ステップS236の処理が終了すると、処理はステップS232に戻り、それ以降の処理を繰り返す。
【0257】
つまり、処理対象の全階層についてステップS232乃至ステップS236の各処理が実行される。
【0258】
そして、ステップS235において、処理対象LoDが復号対象階層範囲の最下位LoDに達したと判定された場合、つまり、復号対象の全ての階層が処理されたと判定された場合、スケーラブル逆階層化処理が終了し、処理は
図22に戻る。
【0259】
このように各ステップの処理を行うことにより、スケーラブル対応逆階層化処理部223は、復号対象となっているスケーラブルの階層を正しく逆階層することができる。つまり、そのような複数の階層化手法が適用されて符号化された符号化データを正しく復号することができる。これにより、符号化効率の低減を抑制することができる。
【0260】
<5.第3の実施の形態>
<符号化装置>
次に、<2.参照関係の制御>において上述した本技術を適用する装置について説明する。この場合も、符号化装置100は、
図11を参照して説明した第1の実施の形態の場合と同様の構成を有し、基本的に同様の処理を行う。ただし、属性情報符号化部104は、<2.参照関係の制御>において上述した本技術を適用し、アトリビュートデータを符号化する。例えば、属性情報符号化部104は、複数階層のポイント(ノード)をマージして参照関係を構築する。
【0261】
<属性情報符号化部>
また、この場合も、属性情報符号化部104は、
図12を参照して説明した第1の実施の形態の場合と同様の構成を有し、基本的に同様の処理を行う。ただし、階層化処理部111は、<2.参照関係の制御>において上述した本技術を適用して階層化を行う。例えば、階層化処理部111は、複数階層のポイント(ノード)をマージして参照関係を構築する。
【0262】
<階層化処理部>
また、この場合も、階層化処理部111は、
図13を参照して説明した第1の実施の形態の場合と同様の構成を有し、基本的に同様の処理を行う。ただし、この場合、階層化処理部111は、スケーラブル対応階層化処理部122とスケーラブル非対応階層化処理部123との内、少なくともいずれか一方を備えていればよい。つまり、階層化は、スケーラブルな復号に対応する手法により行われるようにしてもよいし、スケーラブルな復号に非対応な手法により行われるようにしてもよい。
【0263】
そして、制御部121は、<2.参照関係の制御>において上述した本技術を適用した手法で階層化を制御する。例えば、制御部121は、複数階層のポイント(ノード)をマージして参照関係を構築する。例えば、制御部121は、複数の階層の予測ポイントの予測値の導出を、互いに同一の階層の参照ポイントを参照して行う。例えば、制御部121は、アトリビュートデータの処理対象の階層のポイント数(ノード数)をその1つ上の階層と比較する。そして、制御部121は、処理対象の階層のポイント数が1つ上の階層よりも十分に多くない場合(予め定めた数のポイントが増えていない場合(例えば、ポイント数が低減する場合))、処理対象の階層のポイントを1つ上の階層にマージして参照関係を構築させる。
【0264】
なお、制御部121は、他の階層とマージして参照関係が構築されたかを示す制御情報(例えばmerge_lower_lod_flag)を階層毎に生成し、それを量子化部112に供給することにより、復号側に伝送させる。符号化部113は、量子化部112を介してその制御情報を取得すると、その制御情報をアトリビュートデータの符号化データに含める。
【0265】
以上のように階層化を行うことにより、階層化処理部111は、上位層から下位層に向かってポイント数が単調増加するような構成の参照関係を構築することができる。したがって、符号化装置100は、符号化効率の低減を抑制することができる。
【0266】
<符号化処理の流れ>
次に、この場合の符号化装置100により実行される処理について説明する。この場合も符号化装置100は、
図14を参照して説明した第1の実施の形態の場合と基本的に同様の流れで符号化処理を実行する。ただし、ステップS104において、属性情報符号化部104は、<2.参照関係の制御>において上述した本技術を適用して処理を行う。例えば、属性情報符号化部104は、複数階層のポイント(ノード)をマージして参照関係を構築する。
<属性情報符号化処理の流れ>
また、この場合も、属性情報符号化部104は、
図14のステップS104において実行される属性情報符号化処理を、
図15を参照して説明した第1の実施の形態の場合と基本的に同様の流れで実行する。ただし、ステップS111において、階層化処理部111は、<2.参照関係の制御>において上述した本技術を適用して処理を行う。
【0267】
<階層化処理の流れ>
この場合の階層化処理の流れの例を、
図24のフローチャートを参照して説明する。
【0268】
階層化処理が開始されると、制御部121は、ステップS301において、各階層について、1つ上の階層とノード数を比較する。
【0269】
ステップS302において、制御部121は、1つ上の階層に比べてノード数が十分に多くない(例えば、ノード数が低減する)階層のノードを、その1つ上の階層のノードに含める(マージする)。
【0270】
ステップS303において、スケーラブル対応階層化処理部122またはスケーラブル非対応階層化処理部123は、制御部121により制御されて、各階層について1つの上野階層から参照ポイントを設定する。つまり、階層間の参照関係を構築する。
【0271】
ステップS304乃至ステップS306の各処理は、ステップS124乃至ステップS126の各処理(
図16)と同様に実行される。
【0272】
ステップS306の処理が終了すると階層化処理が終了し、処理は
図15に戻る。
【0273】
以上のように各処理を実行することにより、階層化処理部111は、上位層から下位層に向かってポイント数が単調増加するような構成の参照関係を構築することができる。したがって、符号化装置100は、符号化効率の低減を抑制することができる。
【0274】
<6.第4の実施の形態>
<復号装置>
次に、<2.参照関係の制御>において上述した本技術を適用する装置の他の例について説明する。この場合も、復号装置200は、
図17を参照して説明した第1の実施の形態の場合と同様の構成を有し、基本的に同様の処理を行う。ただし、属性情報復号部204は、<2.参照関係の制御>において上述した本技術を適用し、アトリビュートデータを復号する。例えば、属性情報復号部204は、逆階層化において、複数階層のポイント(ノード)がマージされて参照関係が構築されていることを踏まえて、複数階層の予測ポイントを、互いに同一の階層の参照ポイントを参照して復元する。
【0275】
<属性情報復号部>
また、この場合も、属性情報復号部204は、
図18を参照して説明した第1の実施の形態の場合と同様の構成を有し、基本的に同様の処理を行う。ただし、逆階層化処理部213は、<2.参照関係の制御>において上述した本技術を適用して階層化を行う。例えば、逆階層化処理部213は、逆階層化において、複数階層のポイント(ノード)がマージされて参照関係が構築されていることを踏まえて、複数階層の予測ポイントを、互いに同一の階層の参照ポイントを参照して復元する。
【0276】
<逆階層化処理部>
また、この場合も、逆階層化処理部213は、
図19を参照して説明した第1の実施の形態の場合と同様の構成を有し、基本的に同様の処理を行う。ただし、この場合、逆階層化処理部213は、スケーラブル非対応逆階層化処理部222とスケーラブル対応逆階層化処理部223との内、少なくともいずれか一方を備えていればよい。つまり、逆階層化は、スケーラブルな復号に対応する手法により行われるようにしてもよいし、スケーラブルな復号に非対応な手法により行われるようにしてもよい。
【0277】
そして、制御部221は、<2.参照関係の制御>において上述した本技術を適用した手法で逆階層化を制御する。例えば、制御部221は、複数階層のポイント(ノード)をマージして参照関係が構築されていることを踏まえて、複数階層の予測ポイントを、互いに同一の階層の参照ポイントを参照して復元させる。例えば、制御部221は、他の階層とマージして参照関係が構築されたかを示す制御情報(例えばmerge_lower_lod_flag)に基づいて、適宜、処理対象の階層のポイントを1つ上の階層にマージして参照関係を構築させる。
【0278】
以上のように逆階層化を行うことにより、逆階層化処理部213は、上位層から下位層に向かってポイント数が単調増加するような構成の参照関係が構築されたアトリビュートデータを正しく逆階層化することができる。したがって、復号装置200は、符号化効率の低減を抑制することができる。
【0279】
<復号処理の流れ>
次に、この場合の復号装置200により実行される処理について説明する。この場合も復号装置200は、
図20を参照して説明した第1の実施の形態の場合と基本的に同様の流れで符号化処理を実行する。ただし、ステップS206において、属性情報復号部204は、<2.参照関係の制御>において上述した本技術を適用して処理を行う。例えば、属性情報符号化部104は、複数階層のポイント(ノード)をマージして参照関係が構築されていることを踏まえて、複数階層の予測ポイントを、互いに同一の階層の参照ポイントを参照して復元させる。
【0280】
<属性情報復号処理の流れ>
また、この場合も、属性情報復号部204は、
図20のステップS206において実行される属性情報復号処理を、
図21を参照して説明した第1の実施の形態の場合と基本的に同様の流れで実行する。ただし、ステップS2123において、逆階層化処理部213は、<2.参照関係の制御>において上述した本技術を適用して処理を行う。
【0281】
<階層化処理の流れ>
この場合の階層化処理の流れの例を、
図24のフローチャートを参照して説明する。
【0282】
階層化処理が開始されると、制御部221は、ステップS401において、ジオメトリデータを用いてアトリビュートデータを階層化する。
【0283】
ステップS402において、制御部221は、他の階層とマージして参照関係が構築されたかを示す制御情報(例えばmerge_lower_lod_flag)に基づいて、1つ上の階層に比べてノード数が十分に多くない階層のノードを1つ上の階層のノードに含める。
【0284】
ステップS403において、スケーラブル非対応逆階層化処理部222(またはスケーラブル対応逆階層化処理部223)は、各階層について、1つ上の階層の参照ポイントを用いて予測ポイントの予測値を導出する。
【0285】
ステップS404において、スケーラブル非対応逆階層化処理部222(またはスケーラブル対応逆階層化処理部223)は、各階層について、予測値を差分値に加算して予測ポイントの属性情報を復元する。
【0286】
ステップS405において、スケーラブル非対応逆階層化処理部222(またはスケーラブル対応逆階層化処理部223)は、各階層について、予測ポイントと参照ポイントのアトリビュートデータをマージする。
【0287】
ステップS405の処理が終了すると、逆階層化処理が終了し、処理は
図21に戻る。
【0288】
以上のように各処理を実行することにより、逆階層化処理部213は、上位層から下位層に向かってポイント数が単調増加するような構成の参照関係が構築されたアトリビュートデータを正しく逆階層化することができる。したがって、復号装置200は、符号化効率の低減を抑制することができる。
【0289】
<7.付記>
<階層化・逆階層化方法>
以上においては、属性情報の階層化・逆階層化方法としてLiftingを例に説明したが、本技術は、属性情報を階層化する任意の技術に適用することができる。つまり、属性情報の階層化・逆階層化の方法は、Lifting以外であってもよい。
【0290】
<制御情報>
以上の各実施の形態において説明した本技術に関する制御情報を符号化側から復号側に伝送するようにしてもよい。例えば、上述した本技術を適用することを許可(または禁止)するか否かを制御する制御情報(例えばenabled_flag)を伝送するようにしてもよい。また、例えば、上述した本技術を適用することを許可(または禁止)する範囲(例えばブロックサイズの上限若しくは下限、またはその両方、スライス、ピクチャ、シーケンス、コンポーネント、ビュー、レイヤ等)を指定する制御情報を伝送するようにしてもよい。
【0291】
<周辺・近傍>
なお、本明細書において、「近傍」や「周辺」等の位置関係は、空間的な位置関係だけでなく、時間的な位置関係も含みうる。
【0292】
<コンピュータ>
上述した一連の処理は、ハードウエアにより実行させることもできるし、ソフトウエアにより実行させることもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、コンピュータにインストールされる。ここでコンピュータには、専用のハードウエアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータ等が含まれる。
【0293】
図26は、上述した一連の処理をプログラムにより実行するコンピュータのハードウエアの構成例を示すブロック図である。
【0294】
図26に示されるコンピュータ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データの符号化・復号に対して適用することができる。つまり、上述した本技術と矛盾しない限り、符号化・復号方式等の各種処理、並びに、3Dデータやメタデータ等の各種データの仕様は任意である。また、本技術と矛盾しない限り、上述した一部の処理や仕様を省略してもよい。
【0302】
また、以上においては、本技術の適用例として符号化装置100および復号装置200について説明したが、本技術は、任意の構成に適用することができる。
【0303】
例えば、本技術は、衛星放送、ケーブルTVなどの有線放送、インターネット上での配信、およびセルラー通信による端末への配信などにおける送信機や受信機(例えばテレビジョン受像機や携帯電話機)、または、光ディスク、磁気ディスクおよびフラッシュメモリなどの媒体に画像を記録したり、これら記憶媒体から画像を再生したりする装置(例えばハードディスクレコーダやカメラ)などの、様々な電子機器に適用され得る。
【0304】
また、例えば、本技術は、システムLSI(Large Scale Integration)等としてのプロセッサ(例えばビデオプロセッサ)、複数のプロセッサ等を用いるモジュール(例えばビデオモジュール)、複数のモジュール等を用いるユニット(例えばビデオユニット)、または、ユニットにさらにその他の機能を付加したセット(例えばビデオセット)等、装置の一部の構成として実施することもできる。
【0305】
また、例えば、本技術は、複数の装置により構成されるネットワークシステムにも適用することもできる。例えば、本技術を、ネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングとして実施するようにしてもよい。例えば、コンピュータ、AV(Audio Visual)機器、携帯型情報処理端末、IoT(Internet of Things)デバイス等の任意の端末に対して、画像(動画像)に関するサービスを提供するクラウドサービスにおいて本技術を実施するようにしてもよい。
【0306】
なお、本明細書において、システムとは、複数の構成要素(装置、モジュール(部品)等)の集合を意味し、全ての構成要素が同一筐体中にあるか否かは問わない。したがって、別個の筐体に収納され、ネットワークを介して接続されている複数の装置、および、1つの筐体の中に複数のモジュールが収納されている1つの装置は、いずれも、システムである。
【0307】
<本技術を適用可能な分野・用途>
本技術を適用したシステム、装置、処理部等は、例えば、交通、医療、防犯、農業、畜産業、鉱業、美容、工場、家電、気象、自然監視等、任意の分野に利用することができる。また、その用途も任意である。
【0308】
<その他>
なお、本明細書において「フラグ」とは、複数の状態を識別するための情報であり、真(1)または偽(0)の2状態を識別する際に用いる情報だけでなく、3以上の状態を識別することが可能な情報も含まれる。したがって、この「フラグ」が取り得る値は、例えば1/0の2値であってもよいし、3値以上であってもよい。すなわち、この「フラグ」を構成するbit数は任意であり、1bitでも複数bitでもよい。また、識別情報(フラグも含む)は、その識別情報をビットストリームに含める形だけでなく、ある基準となる情報に対する識別情報の差分情報をビットストリームに含める形も想定されるため、本明細書においては、「フラグ」や「識別情報」は、その情報だけではなく、基準となる情報に対する差分情報も包含する。
【0309】
また、符号化データ(ビットストリーム)に関する各種情報(メタデータ等)は、符号化データに関連づけられていれば、どのような形態で伝送または記録されるようにしてもよい。ここで、「関連付ける」という用語は、例えば、一方のデータを処理する際に他方のデータを利用し得る(リンクさせ得る)ようにすることを意味する。つまり、互いに関連付けられたデータは、1つのデータとしてまとめられてもよいし、それぞれ個別のデータとしてもよい。例えば、符号化データ(画像)に関連付けられた情報は、その符号化データ(画像)とは別の伝送路上で伝送されるようにしてもよい。また、例えば、符号化データ(画像)に関連付けられた情報は、その符号化データ(画像)とは別の記録媒体(または同一の記録媒体の別の記録エリア)に記録されるようにしてもよい。なお、この「関連付け」は、データ全体でなく、データの一部であってもよい。例えば、画像とその画像に対応する情報とが、複数フレーム、1フレーム、またはフレーム内の一部分などの任意の単位で互いに関連付けられるようにしてもよい。
【0310】
なお、本明細書において、「合成する」、「多重化する」、「付加する」、「一体化する」、「含める」、「格納する」、「入れ込む」、「差し込む」、「挿入する」等の用語は、例えば符号化データとメタデータとを1つのデータにまとめるといった、複数の物を1つにまとめることを意味し、上述の「関連付ける」の1つの方法を意味する。
【0311】
また、本技術の実施の形態は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
【0312】
例えば、1つの装置(または処理部)として説明した構成を分割し、複数の装置(または処理部)として構成するようにしてもよい。逆に、以上において複数の装置(または処理部)として説明した構成をまとめて1つの装置(または処理部)として構成されるようにしてもよい。また、各装置(または各処理部)の構成に上述した以外の構成を付加するようにしてももちろんよい。さらに、システム全体としての構成や動作が実質的に同じであれば、ある装置(または処理部)の構成の一部を他の装置(または他の処理部)の構成に含めるようにしてもよい。
【0313】
また、例えば、上述したプログラムは、任意の装置において実行されるようにしてもよい。その場合、その装置が、必要な機能(機能ブロック等)を有し、必要な情報を得ることができるようにすればよい。
【0314】
また、例えば、1つのフローチャートの各ステップを、1つの装置が実行するようにしてもよいし、複数の装置が分担して実行するようにしてもよい。さらに、1つのステップに複数の処理が含まれる場合、その複数の処理を、1つの装置が実行するようにしてもよいし、複数の装置が分担して実行するようにしてもよい。換言するに、1つのステップに含まれる複数の処理を、複数のステップの処理として実行することもできる。逆に、複数のステップとして説明した処理を1つのステップとしてまとめて実行することもできる。
【0315】
また、例えば、コンピュータが実行するプログラムは、プログラムを記述するステップの処理が、本明細書で説明する順序に沿って時系列に実行されるようにしても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで個別に実行されるようにしても良い。つまり、矛盾が生じない限り、各ステップの処理が上述した順序と異なる順序で実行されるようにしてもよい。さらに、このプログラムを記述するステップの処理が、他のプログラムの処理と並列に実行されるようにしても良いし、他のプログラムの処理と組み合わせて実行されるようにしても良い。
【0316】
また、例えば、本技術に関する複数の技術は、矛盾が生じない限り、それぞれ独立に単体で実施することができる。もちろん、任意の複数の本技術を併用して実施することもできる。例えば、いずれかの実施の形態において説明した本技術の一部または全部を、他の実施の形態において説明した本技術の一部または全部と組み合わせて実施することもできる。また、上述した任意の本技術の一部または全部を、上述していない他の技術と併用して実施することもできる。
【0317】
なお、本技術は以下のような構成も取ることができる。
(1) 3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドの前記ポイント毎の属性情報について、予測ポイントと参照ポイントとに分類し、前記参照ポイントの前記属性情報を用いて前記予測ポイントの前記属性情報の予測値を導出し、前記予測ポイントの前記属性情報と前記予測値との差分値を導出する処理を、前記参照ポイントに対して再帰的に繰り返すことにより、前記属性情報の階層化を行う階層化部を備え、
前記階層化部は、複数の階層化手法を用いて前記階層化を行い、それぞれの階層化手法により互いに異なる階層を生成する
情報処理装置。
(2) 前記階層化部は、スケーラブルな復号に非対応の階層化手法により、所定の階層よりも上位の階層を生成し、スケーラブルな復号に対応した階層化手法により、前記所定の階層よりも下位の階層を生成する
(1)に記載の情報処理装置。
(3) 前記階層化部は、最下位層から最上位層に向かう順に各階層を生成する
(2)に記載の情報処理装置。
(4) 前記階層化部による前記属性情報の階層化に関する制御情報を生成する生成部と、
前記階層化部により階層化された前記属性情報を符号化し、前記生成部により生成された前記制御情報を含む、前記属性情報の符号化データを生成する符号化部と
をさらに備える(1)乃至(3)のいずれかに記載の情報処理装置。
(5) 3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドの前記ポイント毎の属性情報について、予測ポイントと参照ポイントとに分類し、前記参照ポイントの前記属性情報を用いて前記予測ポイントの前記属性情報の予測値を導出し、前記予測ポイントの前記属性情報と前記予測値との差分値を導出する処理を、前記参照ポイントに対して再帰的に繰り返すことによる前記属性情報の階層化の際に、複数の階層化手法を用いて、それぞれの階層化手法により互いに異なる階層を生成する
情報処理方法。
【0318】
(6) 3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドの前記ポイント毎の属性情報について、予測ポイントと参照ポイントとに分類し、前記参照ポイントの前記属性情報を用いて前記予測ポイントの前記属性情報の予測値を導出し、前記予測ポイントの前記属性情報と前記予測値との差分値を導出する処理を、前記参照ポイントに対して再帰的に繰り返すことにより階層化された前記属性情報に対して逆階層化を行う逆階層化部を備え、
前記逆階層化部は、複数の階層化手法を用いて、それぞれの階層化手法により互いに異なる階層に対して前記逆階層化を行う
情報処理装置。
(7) 前記逆階層化部は、スケーラブルな復号に非対応の階層化手法により、所定の階層よりも上位の階層に対して前記逆階層化を行い、スケーラブルな復号に対応した階層化手法により、前記所定の階層よりも下位の階層に対して前記逆階層化を行う
(6)に記載の情報処理装置。
(8) 前記逆階層化部は、前記スケーラブルな復号に対応した階層化手法を適用する階層の範囲を示す第1の制御情報に基づいて前記所定の階層を特定する
(7)に記載の情報処理装置。
(9) 前記逆階層化部は、前記スケーラブルな復号に対応した階層化手法が適用可能であるかを示す第2の制御情報により適用可能であることが示される属性情報について、前記第1の制御情報に基づいて前記所定の階層を特定する
(8)に記載の情報処理装置。
(10) 前記属性情報の符号化データを復号し、前記属性情報を生成する復号部をさらに備え、
前記逆階層化部は、前記復号部により前記符号化データが復号されて得られた前記属性情報に対して前記逆階層化を行う
(6)乃至(9)のいずれかに記載の情報処理装置。
(11) 3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドの前記ポイント毎の属性情報について、予測ポイントと参照ポイントとに分類し、前記参照ポイントの前記属性情報を用いて前記予測ポイントの前記属性情報の予測値を導出し、前記予測ポイントの前記属性情報と前記予測値との差分値を導出する処理を、前記参照ポイントに対して再帰的に繰り返すことにより階層化された前記属性情報に対する逆階層化の際に、複数の階層化手法を用いて、それぞれの階層化手法により互いに異なる階層に対して前記逆階層化を行う
情報処理方法。
【0319】
(12) 3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドの前記ポイント毎の属性情報について、予測ポイントと参照ポイントとに分類し、前記参照ポイントの前記属性情報を用いて前記予測ポイントの前記属性情報の予測値を導出し、前記予測ポイントの前記属性情報と前記予測値との差分値を導出する処理を、前記参照ポイントに対して再帰的に繰り返すことにより、前記属性情報の階層化を行う階層化部を備え、
前記階層化部は、複数の階層の前記予測ポイントの前記予測値の導出を、互いに同一の階層の前記参照ポイントを参照して行う
情報処理装置。
(13) 前記階層化部は、1つ上位の階層と比較して前記ポイントが十分に多くない階層の前記予測ポイントの前記予測値の算出を、2つ上位の階層の前記参照ポイントを参照して行う
(12)に記載の情報処理装置。
(14) 他の階層とマージして参照関係が構築されたかを示す制御情報を生成する生成部と、
前記階層化部により階層化された前記属性情報を符号化し、前記生成部により生成された前記制御情報を含む、前記属性情報の符号化データを生成する符号化部と
(12)または(13)に記載の情報処理装置。
(15) 3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドの前記ポイント毎の属性情報について、予測ポイントと参照ポイントとに分類し、前記参照ポイントの前記属性情報を用いて前記予測ポイントの前記属性情報の予測値を導出し、前記予測ポイントの前記属性情報と前記予測値との差分値を導出する処理を、前記参照ポイントに対して再帰的に繰り返すことによる前記属性情報の階層化の際に、複数の階層の前記予測ポイントの前記予測値の導出を、互いに同一の階層の前記参照ポイントを参照して行う
情報処理方法。
【0320】
(16) 3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドの前記ポイント毎の属性情報について、予測ポイントと参照ポイントとに分類し、前記参照ポイントの前記属性情報を用いて前記予測ポイントの前記属性情報の予測値を導出し、前記予測ポイントの前記属性情報と前記予測値との差分値を導出する処理を、前記参照ポイントに対して再帰的に繰り返すことにより階層化された前記属性情報に対して逆階層化を行う逆階層化部を備え、
前記逆階層化部は、前記逆階層化の際に、複数の階層の前記予測ポイントの前記属性情報の前記予測値を、互いに同一の階層の前記参照ポイントの前記属性情報を参照して導出し、導出した前記予測値を前記差分値に加算することにより、前記予測ポイントの前記属性情報を生成する
情報処理装置。
(17) 前記逆階層化部は、前記逆階層化の際に、他の階層と同一の階層を参照するかを示す制御情報に基づいて、処理対象の階層の参照先となる階層を特定し、特定した階層の前記参照ポイントの前記属性情報を参照して、前記処理対象の階層の前記予測ポイントの前記属性情報の前記予測値を導出する
(16)に記載の情報処理装置。
(18) 前記逆階層化部は、1つ上位の階層と比較してポイントが十分に多くない階層について、2つ上位の階層の前記参照ポイントの前記属性情報を参照して、前記予測ポイントの前記属性情報の前記予測値を導出する
(16)または(17)に記載の情報処理装置。
(19) 前記属性情報の符号化データを復号し、前記属性情報を生成する復号部をさらに備え、
前記逆階層化部は、前記復号部により前記符号化データが復号されて復元された前記属性情報に対して前記逆階層化を行う
(16)乃至(18)のいずれかに記載の情報処理装置。
(20) 3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドの前記ポイント毎の属性情報について、予測ポイントと参照ポイントとに分類し、前記参照ポイントの前記属性情報を用いて前記予測ポイントの前記属性情報の予測値を導出し、前記予測ポイントの前記属性情報と前記予測値との差分値を導出する処理を、前記参照ポイントに対して再帰的に繰り返すことにより階層化された前記属性情報に対して逆階層化を行う際に、複数の階層の前記予測ポイントの前記属性情報の前記予測値を、互いに同一の階層の前記参照ポイントの前記属性情報を参照して導出し、導出した前記予測値を前記差分値に加算することにより、前記予測ポイントの前記属性情報を生成する
情報処理方法。
【符号の説明】
【0321】
100 符号化装置, 101 位置情報符号化部, 102 位置情報復号部, 103 ポイントクラウド生成部, 104 属性情報符号化部, 105 ビットストリーム生成部, 111 階層化処理部, 112 量子化部, 113 符号化部, 121 制御部, 122 スケーラブル対応階層化処理部, 123 スケーラブル非対応階層化処理部, 124 反転部, 125 重み付け部, 200 復号装置, 201 復号対象LOD深度設定部, 202 符号化データ抽出部, 203 位置情報復号部, 204 属性情報復号部, 205 ポイントクラウド生成部, 211 復号部, 212 逆量子化部, 213 逆階層化処理部, 221 制御部, 222 スケーラブル非対応逆階層化処理部, 223 スケーラブル対応逆階層化処理部