IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ソニー株式会社の特許一覧

<>
  • 特許-画像処理装置および方法 図1
  • 特許-画像処理装置および方法 図2
  • 特許-画像処理装置および方法 図3
  • 特許-画像処理装置および方法 図4
  • 特許-画像処理装置および方法 図5
  • 特許-画像処理装置および方法 図6
  • 特許-画像処理装置および方法 図7
  • 特許-画像処理装置および方法 図8
  • 特許-画像処理装置および方法 図9
  • 特許-画像処理装置および方法 図10
  • 特許-画像処理装置および方法 図11
  • 特許-画像処理装置および方法 図12
  • 特許-画像処理装置および方法 図13
  • 特許-画像処理装置および方法 図14
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-12-04
(45)【発行日】2023-12-12
(54)【発明の名称】画像処理装置および方法
(51)【国際特許分類】
   H04N 19/597 20140101AFI20231205BHJP
   H04N 19/70 20140101ALI20231205BHJP
   H04N 19/85 20140101ALI20231205BHJP
【FI】
H04N19/597
H04N19/70
H04N19/85
【請求項の数】 18
(21)【出願番号】P 2020565683
(86)(22)【出願日】2019-12-24
(86)【国際出願番号】 JP2019050453
(87)【国際公開番号】W WO2020145117
(87)【国際公開日】2020-07-16
【審査請求日】2022-10-27
(31)【優先権主張番号】P 2019000627
(32)【優先日】2019-01-07
(33)【優先権主張国・地域又は機関】JP
(73)【特許権者】
【識別番号】000002185
【氏名又は名称】ソニーグループ株式会社
(74)【代理人】
【識別番号】100121131
【弁理士】
【氏名又は名称】西川 孝
(74)【代理人】
【識別番号】100082131
【弁理士】
【氏名又は名称】稲本 義雄
(74)【代理人】
【識別番号】100168686
【弁理士】
【氏名又は名称】三浦 勇介
(72)【発明者】
【氏名】隈 智
(72)【発明者】
【氏名】中神 央二
(72)【発明者】
【氏名】矢野 幸司
(72)【発明者】
【氏名】加藤 毅
【審査官】岩井 健二
(56)【参考文献】
【文献】国際公開第2019/055772(WO,A1)
【文献】国際公開第2018/130491(WO,A1)
【文献】米国特許出願公開第2018/0268570(US,A1)
【文献】Vida Fakour Sevom, et al.,Geometry-Guided 3D Data Interpolation for Projection-Based Dynamic Point Cloud Coding,2018 7th European Workshop on Visual Information Processing (EUVIP),IEEE,2018年11月26日,pp.1-6
【文献】Keming Cao, Yi Xu and Pamela C. Cosman,PATCH-AWARE AVERAGING FILTER FOR SCALING IN POINT CLOUD COMPRESSION,2018 IEEE Global Conference on Signal and Information Processing (GlobalSIP),IEEE,2018年11月,pp.390-394
(58)【調査した分野】(Int.Cl.,DB名)
H04N 19/00 - 19/98
(57)【特許請求の範囲】
【請求項1】
2次元画像を表す2Dデータを用いて構築する3次元構造を表す3Dデータの、オキュパンシーマップによって拡大された部分である余白の補正に関する情報である補正情報を生成する補正情報生成部と、
前記補正情報生成部により生成された前記補正情報を符号化する補正情報符号化部と
を備える画像処理装置。
【請求項2】
前記補正情報生成部は、1x1精度のオキュパンシーマップと、NxN精度のオキュパンシーマップとに基づいて、前記補正情報を生成する
請求項1に記載の画像処理装置。
【請求項3】
前記補正情報生成部は、さらに、前記余白の大きさの設定値である余り量に基づいて、前記補正情報を生成する
請求項2に記載の画像処理装置。
【請求項4】
前記補正情報は、前記余白の削り方を示す情報を含む
請求項1に記載の画像処理装置。
【請求項5】
前記補正情報は、候補の中から選択された前記余白の削り方のパタンを示す情報を含む
請求項4に記載の画像処理装置。
【請求項6】
前記補正情報は、前記余白の補正量を示す情報を含む
請求項1に記載の画像処理装置。
【請求項7】
前記補正情報は、前記余白の削り量を示す情報を含む
請求項6に記載の画像処理装置。
【請求項8】
前記補正情報は、前記余白の増加量を示す情報を含む
請求項6に記載の画像処理装置。
【請求項9】
2次元画像を表す2Dデータを用いて構築する3次元構造を表す3Dデータの、オキュパンシーマップによって拡大された部分である余白の補正に関する情報である補正情報を生成し、
生成された前記補正情報を符号化する
画像処理方法。
【請求項10】
2次元画像を表す2Dデータを用いて構築する3次元構造を表す3Dデータの、オキュパンシーマップによって拡大された部分である余白の補正に関する情報である補正情報の符号化データを復号する補正情報復号部と
前記2Dデータと、前記補正情報復号部により前記補正情報の符号化データが復号されて生成された前記補正情報とを用いて、前記3Dデータを構築する構築部と
を備える画像処理装置。
【請求項11】
前記補正情報は、前記余白の削り方を示す情報を含む
請求項10に記載の画像処理装置。
【請求項12】
前記補正情報は、候補の中から選択された前記余白の削り方のパタンを示す情報を含む
請求項11に記載の画像処理装置。
【請求項13】
前記補正情報は、前記余白の補正量を示す情報を含む
請求項10に記載の画像処理装置。
【請求項14】
前記補正情報は、前記余白の削りを示す情報を含む
請求項13に記載の画像処理装置。
【請求項15】
前記補正情報は、前記余白の増加量を示す情報を含む
請求項13に記載の画像処理装置。
【請求項16】
前記2Dデータの符号化データを復号するビデオ復号部をさらに備え、
前記構築部は、前記ビデオ復号部により復号されて生成された前記2Dデータと、前記補正情報復号部により復号されて生成された前記補正情報とを用いて、前記3Dデータを構築する
請求項10に記載の画像処理装置。
【請求項17】
オキュパンシーマップの符号化データを復号するOMap復号部をさらに備え、
前記構築部は、前記2Dデータから前記3Dデータを構築する際に前記OMap復号部により復号されて生成されたオキュパンシーマップにより拡大された部分である余白を、前記補正情報復号部により前記補正情報の符号化データが復号されて生成された前記補正情報を用いて補正する
請求項10に記載の画像処理装置。
【請求項18】
2次元画像を表す2Dデータを用いて構築する3次元構造を表す3Dデータの、オキュパンシーマップによって拡大された部分である余白の補正に関する情報である補正情報の符号化データを復号し、
前記2Dデータと、前記補正情報の符号化データが復号されて生成された前記補正情報とを用いて、前記3Dデータを構築する
画像処理方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、画像処理装置および方法に関し、特に、画質の低減を抑制することができるようにした画像処理装置および方法に関する。
【背景技術】
【0002】
従来、例えばポイントクラウド(Point cloud)のような3次元構造を表す3Dデータの符号化方法として、例えばOctree等のような、ボクセル(Voxel)を用いた符号化があった(例えば非特許文献1参照)。
【0003】
近年、その他の符号化方法として、例えば、ポイントクラウドの位置情報と属性情報とを小領域毎に2次元平面に投影し、その2次元平面に投影された画像(パッチ)をフレーム画像内に配置し、そのフレーム画像を2次元画像用の符号化方法で符号化する方法(以下、ビデオベースドアプローチ(Video-based approach)とも称する)が提案された(例えば、非特許文献2乃至非特許文献4参照)。
【0004】
このビデオベースドアプローチにおいて、フレーム画像の各位置におけるパッチの有無を示すオキュパンシーマップを用いる場合、その解像度を落としてその情報量を低減させることにより、符号化効率を向上させることができる。
【0005】
しかしながら、オキュパンシーマップの解像度を低減させると、オキュパンシーマップが示すパッチの範囲と実際のパッチの範囲とが一致しなくなり、3Dデータを再構築する際に本来ない点が生成されてしまうおそれがあった。そこで、そのような点の位置をスムーシングにより補正する方法が考えられた。しかしながら、そのようにスムーシングを行っても、PSNR(Peak Signal-to-Noise Ratio)は劣化するおそれがあった。そこで、オキュパンシーマップを低解像度化(NxN精度)することにより生じる余白部分を削る方法が考えられた(例えば、非特許文献5参照)。
【0006】
また、高解像度のオキュパンシーマップ(1x1精度)の場合、パッチの重なりがないため、パッチ境界の点の位置が歪むと隣接するパッチとの間に隙間が生じ、3Dデータから生成した表示用の2次元画像においてその隙間が穴(欠損部分)となるおそれがあった。そこで、高解像度のオキュパンシーマップ(1x1精度)の境界を広げる方法も考えられた(例えば、非特許文献6参照)。
【先行技術文献】
【非特許文献】
【0007】
【文献】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
【文献】Tim Golla and Reinhard Klein, "Real-time Point Cloud Compression ," IEEE, 2015
【文献】K. Mammou, “Video-based and Hierarchical Approaches Point Cloud Compression” , MPEG m41649, Oct. 2017
【文献】K. Mammou,“PCC Test Model Category 2 v0,” N17248 MPEG output document, October 2017
【文献】Dejun Zhang, Zheng Liu, Vladyslav Zakharchenko, Jianle Chen, Kangying Cai, "[VPCC] New proposal of an adaptive outlier removing method", ISO/IEC JTC1/SC29/WG11 MPEG2018/m44766, October 2018, Macau, China
【文献】Dejun Zhang, Zheng Liu, Vladyslav Zakharchenko, Jianle Chen, Kangying Cai, "[VPCC] New proposal of an adaptive hole filling method for reconstructed point cloud", ISO/IEC JTC1/SC29/WG11 MPEG2018/m44767, October 2018, Macau, China
【発明の概要】
【発明が解決しようとする課題】
【0008】
しかしながら、非特許文献5や非特許文献6に記載の方法では、オキュパンシーマップを補正するため、あるパッチの存在を示す領域に他のパッチが含まれてしまい、構築した3Dデータが劣化するおそれがあった。そのため、その3Dデータを2次元平面に投影した表示用画像の主観画質が低減するおそれがあった。
【0009】
本開示は、このような状況に鑑みてなされたものであり、3Dデータの表示用2次元画像の画質の低減を抑制することができるようにするものである。
【課題を解決するための手段】
【0010】
本技術の一側面の画像処理装置は、2次元画像を表す2Dデータを用いて構築する3次元構造を表す3Dデータの、オキュパンシーマップによって拡大された部分である余白の補正に関する情報である補正情報を生成する補正情報生成部と、前記補正情報生成部により生成された前記補正情報を符号化する補正情報符号化部とを備える画像処理装置である。
【0011】
本技術の一側面の画像処理方法は、2次元画像を表す2Dデータを用いて構築する3次元構造を表す3Dデータの、オキュパンシーマップによって拡大された部分である余白の補正に関する情報である補正情報を生成し、生成された前記補正情報を符号化する画像処理方法である。
【0012】
本技術の他の側面の画像処理装置は、2次元画像を表す2Dデータを用いて構築する3次元構造を表す3Dデータの、オキュパンシーマップによって拡大された部分である余白の補正に関する情報である補正情報の符号化データを復号する補正情報復号部と、前記2Dデータと、前記補正情報復号部により前記補正情報の符号化データが復号されて生成された前記補正情報とを用いて、前記3Dデータを構築する構築部とを備える画像処理装置である。
【0013】
本技術の他の側面の画像処理方法は、2次元画像を表す2Dデータを用いて構築する3次元構造を表す3Dデータの、オキュパンシーマップによって拡大された部分である余白の補正に関する情報である補正情報の符号化データを復号し、前記2Dデータと、前記補正情報の符号化データが復号されて生成された前記補正情報とを用いて、前記3Dデータを構築する画像処理方法である。
【0014】
本技術の一側面の画像処理装置および方法においては、2次元画像を表す2Dデータを用いて構築する3次元構造を表す3Dデータの、オキュパンシーマップによって拡大された部分である余白の補正に関する情報である補正情報が生成され、その生成された補正情報が符号化される。
【0015】
本技術の他の側面の画像処理装置および方法においては、2次元画像を表す2Dデータを用いて構築する3次元構造を表す3Dデータの、オキュパンシーマップによって拡大された部分である余白の補正に関する情報である補正情報の符号化データが復号され、その2Dデータと、補正情報の符号化データが復号されて生成された補正情報とが用いられて、その3Dデータが構築される。
【図面の簡単な説明】
【0016】
図1】オキュパンシーマップが示すパッチの範囲と実際のパッチの範囲との関係の例を説明する図である。
図2】補正方法の例を説明する図である。
図3】削り方の候補例を示す図である。
図4】削り量の例を示す図である。
図5】シンタックスの例を示す図である。
図6】符号化装置の主な構成例を示すブロック図である。
図7】補正情報生成部の主な構成例を示すブロック図である。
図8】符号化処理の流れの例を説明するフローチャートである。
図9】補正情報生成処理の流れの例を説明するフローチャートである。
図10】復号装置の主な構成例を示すブロック図である。
図11】3D再構築部の主な構成例を示すブロック図である。
図12】復号処理の流れの例を説明するフローチャートである。
図13】3Dデータ再構築処理の流れの例を説明するフローチャートである。
図14】コンピュータの主な構成例を示すブロック図である。
【発明を実施するための形態】
【0017】
以下、本開示を実施するための形態(以下実施の形態とする)について説明する。なお、説明は以下の順序で行う。
1.3Dデータ再構築の補正
2.第1の実施の形態(符号化装置)
3.第2の実施の形態(復号装置)
4.付記
【0018】
<1.3Dデータ再構築の補正>
<技術内容・技術用語をサポートする文献等>
本技術で開示される範囲は、実施の形態に記載されている内容だけではなく、出願当時において公知となっている以下の非特許文献に記載されている内容も含まれる。
【0019】
非特許文献1:(上述)
非特許文献2:TELECOMMUNICATION STANDARDIZATION SECTOR OF ITU(International Telecommunication Union), "Advanced video coding for generic audiovisual services", H.264, 04/2017
非特許文献3:TELECOMMUNICATION STANDARDIZATION SECTOR OF ITU(International Telecommunication Union), "High efficiency video coding", H.265, 12/2016
非特許文献4: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
【0020】
つまり、上述の非特許文献に記載されている内容もサポート要件を判断する際の根拠となる。例えば、非特許文献3に記載されているQuad-Tree Block Structure、非特許文献4に記載されているQTBT(Quad Tree Plus Binary Tree) Block Structureが実施の形態において直接的な記載がない場合でも、本技術の開示範囲内であり、請求の範囲のサポート要件を満たすものとする。また、例えば、パース(Parsing)、シンタックス(Syntax)、セマンティクス(Semantics)等の技術用語についても同様に、実施の形態において直接的な記載がない場合でも、本技術の開示範囲内であり、請求の範囲のサポート要件を満たすものとする。
【0021】
<ポイントクラウド>
従来、点群の位置情報や属性情報等により3次元構造を表すポイントクラウド(Point cloud)等のデータが存在した。ポイントクラウドはデータ構造が比較的単純であるとともに、十分に多くの点を用いることにより任意の立体構造を十分な精度で表現することができる。
【0022】
<ビデオベースドアプローチの概要>
このようなポイントクラウドの位置情報や属性情報を、小領域毎に2次元平面に投影し、その2次元平面に投影された画像(パッチ)をフレーム画像内に配置し、そのフレーム画像を2次元画像用の符号化方法で符号化するビデオベースドアプローチ(Video-based approach)が提案された。
【0023】
このビデオベースドアプローチでは、入力されたポイントクラウド(Point cloud)が複数の小領域に分割され、その小領域毎に各ポイントが2次元平面に投影される(パッチが生成される)。ポイントクラウドは各ポイントの位置情報(Geometry)と属性情報(Texture)とにより構成されるので、この2次元平面への投影は、その位置情報と属性情報のそれぞれについて行われる。
【0024】
そして、このパッチは、フレーム画像(2次元画像)に配置される。つまり、位置情報のパッチが配置されたフレーム画像(ジオメトリビデオフレーム(Geometry video frame)とも称する)と、属性情報のパッチが配置されたフレーム画像(カラービデオフレーム(Color video frame)とも称する)とが生成される。
【0025】
なお、ジオメトリビデオフレームでは、ポイントの位置情報は、奥行方向の位置情報(デプス値(Depth))として表現される。つまり、そのフレーム画像の各画素値は、このデプス値を示す。
【0026】
これらのフレーム画像は、それぞれ、例えばAVC(Advanced Video Coding)やHEVC(High Efficiency Video Coding)等といった、2次元平面画像用の符号化方式により符号化される。
【0027】
このように生成された符号化データは、復号側に伝送され、その復号側において復号されてフレーム画像が生成される。そして、そのフレーム画像から各パッチが抽出され、各パッチ(位置情報および属性情報)から3Dデータ(ポイントクラウド等)が再構築される。
【0028】
<オキュパンシーマップ>
このようなビデオベースドアプローチの場合、さらに、オキュパンシーマップを用いることもできる。オキュパンシーマップは、所定の画素精度で、ジオメトリビデオフレームの投影画像(パッチ)の有無を示すマップ情報である。例えば、オキュパンシーマップは、NxN画素精度で、すなわち、NxN画素の領域毎に、パッチの有無を示す。例えば、オキュパンシーマップは、パッチが存在するNxN画素の領域を値「1」で示し、パッチが存在しないNxN画素の領域を値「0」で示す。
【0029】
このようなオキュパンシーマップが、ジオメトリビデオフレームやカラービデオフレームとは別のデータとして符号化され、復号側に伝送される。デコーダは、このオキュパンシーマップを参照することにより、パッチが存在する領域であるか否かを把握することができるので、符号化・復号により生じるノイズ等の影響を抑制することができ、より正確に3Dデータを復元することができる。例えば、符号化・復号によりデプス値が変化しても、デコーダは、オキュパンシーマップを参照することにより、パッチが存在しない領域のデプス値を無視する(3Dデータの位置情報として処理しないようにする)ことができる。
【0030】
このようなオキュパンシーマップを用いる場合、その解像度を落としてその情報量を低減させることにより、符号化効率を向上させることができる。
【0031】
しかしながら、オキュパンシーマップの解像度を低減させると、オキュパンシーマップが示すパッチの範囲と実際のパッチの範囲とが一致しなくなり、3Dデータを再構築する際に本来ない点が生成されてしまうおそれがあった。例えば、図1のAに示されるように、小さい四角で示される位置情報のパッチ境界近傍の画素11に対して、より低解像度のオキュパンシーマップ12が生成されると、パッチが拡がり、本来パッチが存在しない領域である余白(図1のAにおいてグレーで示される部分)が生じるおそれがあった。そこで、スムーシングを行うことによりそのような点の位置を移動させ、余白を低減させる方法が考えられた。しかしながら、スムーシングを行っても、PSNR(Peak Signal-to-Noise Ratio)は劣化するおそれがあった。
【0032】
そこで、非特許文献5に記載のように、オキュパンシーマップを低解像度化(NxN精度)することにより生じる余白部分を削る方法が考えられた。しかしながら、非特許文献5に記載の方法では、余白部分を削ることはできても、余白部分を増大させる(拡張する)ことはできず、パッチ間等の隙間により表示用画像に生じる穴(欠損部分)を低減させることは困難であった。むしろ、余白部分の低減により、パッチ同士の重なりが抑制されるため、パッチ間等の隙間の発生が生じやすくなるおそれがあった。
【0033】
そこで、非特許文献6に記載のように、高解像度のオキュパンシーマップ(1x1精度)の境界を広げる方法も考えられた。しかしながら、1x1精度のオキュパンシーマップは、上述のように、情報量が増大するおそれがあった。
【0034】
そこで、パッチの境界部分において、非特許文献5に記載の方法のように余白部分を低減させ、さらに、非特許文献6に記載の方法のように境界を広げることが考えられる。しかしながら、非特許文献5や非特許文献6に記載の方法では、オキュパンシーマップを補正するため、あるパッチの存在を示す領域に他のパッチが含まれてしまい、再構築した3Dデータが劣化するおそれがあった。例えば、図1のBに示されるようにパッチ21とパッチ22の位置が近い場合に、オキュパンシーマップのパッチ21が存在する領域を拡大させると、点線円23のように、その領域がパッチ22と重畳してしまう。このような場合、パッチ21が存在する領域として点線円23が切り出されてしまうため、パッチ21から再構築した3Dデータにパッチ22の情報が含まれてしまうおそれがあった。そのため、その再構築した3Dデータを2次元平面に投影した画像(表示用画像とも称する)の主観画質が低減するおそれがあった。
【0035】
付言するに、非特許文献6に記載の方法は、スムーシングに対応していないため、スムーシングにより点の位置が移動することによるパッチ間の隙間の発生を抑制することが困難であった。そのため、その隙間により、表示用画像の主観画質が低減するおそれがあった。
【0036】
<方法1>
そこで、図2の表に示される方法1のように、2Dデータから3Dデータへの変換(3Dデータの再構築)において補正を行い、パッチ間の隙間等による穴の発生等を抑制するようにする。例えば、2次元画像を表す2Dデータを用いて構築する3次元構造を表す3Dデータの補正に関する情報である補正情報を生成し、その生成された補正情報を符号化するようにする。例えば、画像処理装置において、2次元画像を表す2Dデータを用いて構築する3次元構造を表す3Dデータの補正に関する情報である補正情報を生成する補正情報生成部と、補正情報生成部により生成された補正情報を符号化する補正情報符号化部とを備えるようにする。
【0037】
また、例えば、2次元画像を表す2Dデータを用いて構築する3次元構造を表す3Dデータの補正に関する情報である補正情報の符号化データを復号し、その2Dデータと、その補正情報の符号化データが復号されて生成された補正情報とを用いて、3Dデータを構築するようにする。例えば、画像処理装置において、2次元画像を表す2Dデータを用いて構築する3次元構造を表す3Dデータの補正に関する情報である補正情報の符号化データを復号する補正情報復号部と、その2Dデータと、補正情報復号部により補正情報の符号化データが復号されて生成された補正情報とを用いて、3Dデータを構築する構築部とを備えるようにする。
【0038】
このようにすることにより、パッチの境界の補正を、3Dデータの補正により実現することができる。したがって、オキュパンシーマップを補正する場合のように、処理対象のパッチから3Dデータを再構築する際に他のパッチの情報が追加される等の、3Dデータの劣化を抑制することができる。つまり、表示用画像の主観画質の低減を抑制することができる。
【0039】
この補正情報は、1x1精度のオキュパンシーマップと、NxN精度のオキュパンシーマップとに基づいて生成するようにしてもよい。例えば、オキュパンシーマップは、1x1精度からNxN精度に低精度化されて符号化されるようにし、補正情報が、符号化前の1x1精度のオキュパンシーマップと、オキュパンシーマップの符号化データを復号して生成したNxN精度のオキュパンシーマップとに基づいて生成されるようにする。このようにオキュパンシーマップを低精度化して符号化することにより、符号化効率の低減を抑制することができる。また、符号化前後のオキュパンシーマップを用いて補正情報を生成することにより、符号化の際に行われるスムーシングを補正情報に反映させることができる。したがって、スムーシングによる表示用画像の主観画質の低減を抑制することができる。
【0040】
また補正情報は、さらに、3Dデータの、オキュパンシーマップによって拡大された部分である余白の大きさの設定値である余り量に基づいて生成するようにしてもよい。このようにすることにより、余白の補正量を設定値「余り量」によっても制御することができる。例えば、3Dデータによっては、単純な符号化前後のオキュパンシーマップの比較では対応が困難な欠損部分が表示用画像に生じることもあり得る。そこで、オキュパンシーマップの比較結果とは独立に余り量を設定することにより、このような欠損部分の発生を抑制することができる。つまり、表示用画像の主観画質の低減をより抑制することができる。なお、この余り量の設定方法は任意である。例えば、この余り量は、ユーザ等の外部からの指示に基づいて設定されるようにしてもよいし、符号化対象の3Dデータの解析結果に基づいて設定されるようにしてもよいし、その他の情報に基づいて設定されるようにしてもよい。
【0041】
さらに補正情報は、3Dデータの、オキュパンシーマップによって拡大された部分である余白の補正に関する情報を含むようにしてもよい。このようにすることにより、この補正情報に基づいて、余白の補正を3Dデータの補正に反映させることができる。つまり、パッチの境界の補正を、3Dデータの補正により実現することができる。したがって、表示用画像の主観画質の低減を抑制することができる。
【0042】
<方法1-1>
例えば、この余白の補正に関する情報は、その余白の削り方を示す情報(どのように余白を削るかを示す情報)を含むようにしてもよい。つまり、図2の表に示される方法1-1のように、補正方法を伝送するようにしてもよい。このような情報を補正情報に含めることにより、余白をどのように削るかを制御することができる。
【0043】
また、この余白の削り方を示す情報は、どのような内容であってもよく、例えば、候補の中から選択された余白の削り方のパタンを示す情報を含むようにしてもよい。例えば、複数の「余白の削り方のパタン」を候補として予め用意し、局所毎に「余白の削り方のパタン」をその候補の中から選択するようにし、補正情報(余白の削り方を示す情報)には、局所毎の、選択された候補を示す情報(例えば選択した候補の識別情報等)が含まれるようにしてもよい。このような情報を補正情報に含めることにより、より簡易な情報により、余白をどのように削るかを制御することができる。例えば全局所の削り方を1画素単位で具体的に指定する場合に比べて、符号量の増大を抑制することができる。
【0044】
<方法1-2>
また、例えば、この余白の補正に関する情報は、その余白の補正量を示す情報(どの程度余白を補正するかを示す情報)を含むようにしてもよい。つまり、図2の表に示される方法1-2のように、補正量を伝送するようにしてもよい。このような情報を補正情報に含めることにより、余白をどの程度補正するかを制御することができる。
【0045】
なお、この余白の補正量を示す情報は、余白の削り量を示す情報を含むようにしてもよい。このような情報により、余白をどの程度削るかを制御することができる。また、この余白の補正量を示す情報は、余白の増加量を示す情報を含むようにしてもよい。このような情報により、余白をどの程度増大させるか(太らせるか)を制御することができる。
【0046】
<方法1-3・方法1-4>
また、復号側において補正情報に基づいて補正する3Dデータの再構築に用いるオキュパンシーマップの精度は任意である。例えば、NxN精度であってもよい。つまり、図2の表に示される方法1-3のように、NxN精度のオキュパンシーマップを用いた変換(3Dデータの再構築)を補正するようにしてもよい。また、1x1精度であってもよい。つまり、図2の表に示される方法1-4のように、1x1精度のオキュパンシーマップを用いた変換(3Dデータの再構築)を補正するようにしてもよい。
【0047】
<余白の削り方のパタン>
次に、<方法1-1>において説明した「余白の削り方のパタン」の候補について説明する。この候補とするパタン(削り方)は、どのようなパタンであってもよい。その数も任意である。例えば、図3のA乃至図3のHに示されるような8パタンを候補としてもよい。
【0048】
図3のA乃至図3のHは、それぞれ、余白の削り方のパタンの例を示す。図3のA乃至図3のHのそれぞれにおいて、各四角は、オキュパンシーマップのデータ単位となるブロック(例えば画素)を示しており、黒色のブロックは、余白から削られるブロックである。つまり、この黒色のブロックは、空のブロック、すなわち、パッチが存在しないことを示す値が設定されるブロックである。
【0049】
例えば、図3のAには、処理対象の局所部分の右下が削られるパタンが示されている。同様に、図3のBには右上が削られるパタンが示され、図3のCには左上が削られるパタンが示され、図3のDには左下が削られるパタンが示されている。
【0050】
また、例えば、図3のEには処理対象の局所部分の右が削られるパタンが示され、図3のFには上が削られるパタンが示され、図3のGには左が削られるパタンが示され、図3のHには下が削られるパタンが示されている。なお、図中、グレーのブロックは、完全に占有されているブロックであるか、または、空のブロックである。
【0051】
つまり、この例の場合、どの候補を選択するかによって、どちらの方向から削るかが選択される。
【0052】
<余白の補正量>
次に、<方法1-2>において説明した「余白の削り量」について説明する。この余白の削り量は、どのような値であってもよい。例えば図4のAに示される、右から削るパタン(図3のEのパタン)の場合、4x4画素からなる処理対象領域(カレント領域)は、余白の補正量が「0」(すなわち初期値(Default))の場合、図4のBに示されるように、右半分の画素(右側の2x4画素領域)が削られる。同様に、余白の補正量が「-1」の場合、図4のCに示されるように、カレント領域の右端の画素列(右端の1x4画素領域)が削られる。同様に、余白の補正量が「-2」の場合、図4のDに示されるように、カレント領域は補正されない(右端の0x4画素領域が削られる)。また、余白の補正量が「-3」の場合、図4のEに示されるように、カレント領域の右端に1x4画素領域が追加される。つまり、余白が拡張される。
【0053】
このように、余白の補正量は、余白の削り量を示すこともできるし、余白の増加量を示すこともできる。
【0054】
<シンタックス>
以上のような補正情報についてのシンタクスの例を図5のAに示す。グレーの部分が補正情報に関するシンタックスである。omapFilterTypeFrameLevel / omapFilterTypePatchLevelにより、フレームレベルとパッチレベルの余白の削り方(タイプ)とタイプ毎の処理をシグナリングする。また、omapFilterValueFrameLevel / patchList[i].omapFilterValueにより、フレームレベルとパッチ毎の補正量(削る量・増やす量)をシグナリングする。この値は、図5のBに示される変換表のように、初期値(Default)との差分を表すインデックスとしてもよい。
【0055】
<2.第1の実施の形態>
<符号化装置>
図6は、本技術を適用した画像処理装置の一態様である符号化装置の構成の一例を示すブロック図である。図6に示される符号化装置100は、ポイントクラウドのような3Dデータを2次元平面に投影して2次元画像用の符号化方法により符号化を行う装置(ビデオベースドアプローチを適用した符号化装置)である。
【0056】
なお、図6においては、処理部やデータの流れ等の主なものを示しており、図6に示されるものが全てとは限らない。つまり、符号化装置100において、図6においてブロックとして示されていない処理部が存在したり、図6において矢印等として示されていない処理やデータの流れが存在したりしてもよい。これは、符号化装置100内の処理部等を説明する他の図においても同様である。
【0057】
図6に示されるように符号化装置100は、パッチ分解部111、パッキング部112、補助パッチ情報圧縮部113、ビデオ符号化部114、ビデオ符号化部115、OMap符号化部116、マルチプレクサ117、復号部118、および補正情報生成部119を有する。
【0058】
パッチ分解部111は、3Dデータの分解に関する処理を行う。例えば、パッチ分解部111は、符号化装置100に入力される、3次元構造を表す3Dデータ(例えばポイントクラウド)を取得する(矢印121)。また、パッチ分解部111は、取得したその3Dデータを複数の小領域(コネクションコンポーネント)に分解し、その小領域毎に3Dデータを2次元平面に投影し、位置情報のパッチや属性情報のパッチを生成する。
【0059】
パッチ分解部111は、生成した各パッチに関する情報をパッキング部112に供給する(矢印122)。また、パッチ分解部111は、その分解に関する情報である補助パッチ情報を、補助パッチ情報圧縮部113に供給する(矢印123)。
【0060】
パッキング部112は、データのパッキングに関する処理を行う。例えば、パッキング部112は、パッチ分解部111から供給されるパッチに関する情報を取得する(矢印122)。また、パッキング部112は、取得した各パッチを2次元画像に配置してビデオフレームとしてパッキングする。例えば、パッキング部112は、ポイントの位置を示す位置情報(Geometry)のパッチをビデオフレームとしてパッキングし、ジオメトリビデオフレーム(Geometry video frame(s))を生成する。また、パッキング部112は、その位置情報に付加される色情報等の属性情報(Texture)のパッチを、ビデオフレームとしてパッキングし、カラービデオフレーム(Color video frame(s))を生成する。さらに、パッキング部112は、パッチの有無を示す1x1精度のオキュパンシーマップを生成する。
【0061】
パッキング部112は、それらを後段の処理部に供給する(矢印124)。例えば、パッキング部112は、ジオメトリビデオフレームをビデオ符号化部114に供給し、カラービデオフレームをビデオ符号化部115に供給し、1x1精度のオキュパンシーマップ(1x1 Omap)をOMap符号化部116に供給する。また、パッキング部112は、そのパッキングに関する制御情報をマルチプレクサ117に供給する(矢印125)。さらに、パッキング部112は、1x1精度のオキュパンシーマップを補正情報生成部119に供給する。
【0062】
補助パッチ情報圧縮部113は、補助パッチ情報の圧縮に関する処理を行う。例えば、補助パッチ情報圧縮部113は、パッチ分解部111から供給される補助パッチ情報を取得する(矢印123)。また、補助パッチ情報圧縮部113は、補正情報生成部119から供給される補正情報を取得する(矢印133)。補助パッチ情報圧縮部113は、取得した補助パッチ情報を符号化(圧縮)し、補助パッチ情報の符号化データを生成する。また、補助パッチ情報圧縮部113は、取得した補正情報を符号化(圧縮)して補正情報の符号化データを生成し、その補正情報の符号化データを、補助パッチ情報の符号化データに含める。補助パッチ情報圧縮部113は、このように生成した補助パッチ情報の符号化データをマルチプレクサ117に供給する(矢印126)。
【0063】
ビデオ符号化部114は、ジオメトリビデオフレームの符号化に関する処理を行う。例えば、ビデオ符号化部114は、パッキング部112から供給されるジオメトリビデオフレームを取得する(矢印124)。また、ビデオ符号化部114は、その取得したジオメトリビデオフレームを、例えばAVCやHEVC等の任意の2次元画像用の符号化方法により符号化し、ジオメトリビデオフレームの符号化データを生成する。ビデオ符号化部114は、生成したジオメトリビデオフレームの符号化データをマルチプレクサ117に供給する(矢印127)。また、ビデオ符号化部114は、そのジオメトリビデオフレームの符号化データを復号部118に供給する(矢印134)。
【0064】
ビデオ符号化部115は、カラービデオフレームの符号化に関する処理を行う。例えば、ビデオ符号化部115は、パッキング部112から供給されるカラービデオフレームを取得する(矢印124)。また、ビデオ符号化部115は、復号部118から供給される、復号されたジオメトリビデオフレームを取得する(矢印135)。そして、ビデオ符号化部115は、その取得したカラービデオフレームを、取得したジオメトリビデオフレームを用いてリカラーし、属性情報を復号後の位置情報に対応させる。つまり、ビデオ符号化部115は、符号化におけるスムーシングにより更新された位置情報に属性情報を対応させる。また、ビデオ符号化部115は、このようにリカラーしたカラービデオフレームを、例えばAVCやHEVC等の任意の2次元画像用の符号化方法により符号化し、カラービデオフレームの符号化データを生成する。ビデオ符号化部115は、生成したカラービデオフレームの符号化データをマルチプレクサ117に供給する(矢印128)。
【0065】
OMap符号化部116は、オキュパンシーマップのビデオフレームの符号化に関する処理を行う。例えば、OMap符号化部116は、パッキング部112から供給される1x1精度のオキュパンシーマップを取得する(矢印124)。OMap符号化部116は、その取得した1x1精度のオキュパンシーマップを低精度化し、NxN精度のオキュパンシーマップを生成する。そして、OMap符号化部116は、生成したNxN精度のオキュパンシーマップを、例えば算術符号化等の任意の符号化方法により符号化し、NxN精度のオキュパンシーマップの符号化データを生成する。また、OMap符号化部116は、生成したNxN精度のオキュパンシーマップの符号化データを、マルチプレクサ117に供給する(矢印129)。さらに、また、OMap符号化部116は、その符号化データを、復号部118にも供給する(矢印131)。
【0066】
マルチプレクサ117は、多重化に関する処理を行う。例えば、マルチプレクサ117は、補助パッチ情報圧縮部113から供給される補助パッチ情報の符号化データを取得する(矢印126)。また、例えば、マルチプレクサ117は、パッキング部112から供給されるパッキングに関する制御情報を取得する(矢印125)。また、例えば、マルチプレクサ117は、ビデオ符号化部114から供給されるジオメトリビデオフレームの符号化データを取得する(矢印127)。また、例えば、マルチプレクサ117は、ビデオ符号化部115から供給されるカラービデオフレームの符号化データを取得する(矢印128)。また、例えば、マルチプレクサ117は、OMap符号化部116から供給されるオキュパンシーマップの符号化データを取得する(矢印129)。
【0067】
マルチプレクサ117は、取得したそれらの情報を多重化して、ビットストリームを生成する。マルチプレクサ117は、その生成したビットストリームを符号化装置100の外部に出力する。
【0068】
復号部118は、以上のように生成される符号化データの復号に関する処理を行う。例えば、復号部118は、OMap符号化部116から供給されるNxN精度のオキュパンシーマップの符号化データを取得する(矢印131)。また、復号部118は、ビデオ符号化部114から供給されるジオメトリビデオフレームの符号化データを取得する(矢印134)。そして、復号部118は、後述する復号装置200と同様の構成を有し、同様の処理を行う。例えば、復号部118は、NxN精度のオキュパンシーマップの符号化データを復号し、NxN精度のオキュパンシーマップを生成する。復号部118は、そのNxN精度のオキュパンシーマップを、補正情報生成部119に供給する(矢印132)。また、復号部118は、ジオメトリビデオフレームの符号化データを復号し、ジオメトリビデオフレームを生成する。復号部118は、そのジオメトリビデオフレームをビデオ符号化部115に供給する(矢印135)。
【0069】
補正情報生成部119は、2次元画像を表す2Dデータを用いて再構築する3次元構造を表す3Dデータの補正に関する情報である補正情報の生成に関する処理を行う。例えば、補正情報生成部119は、パッキング部112から供給される1x1精度のオキュパンシーマップを取得する(矢印124)。また、補正情報生成部119は、復号部118から供給されるNxN精度のオキュパンシーマップを取得する(矢印132)。さらに、補正情報生成部119は、外部(例えばユーザ等)から入力される余り量の設定を取得する(図示せず)。補正情報生成部119は、それらの情報に基づいて、補正情報を生成する。例えば、補正情報生成部119は、3Dデータの、オキュパンシーマップによって拡大された部分である余白の補正に関する情報を含む補正情報を生成する。補正情報生成部119は、生成した補正情報を補助パッチ情報圧縮部113に供給する(矢印133)。
【0070】
このようにすることにより、符号化装置100は、復号側において、この補正情報に基づいて3Dデータを補正させるようにことができる。これにより、3Dデータの劣化を抑制することができ、表示用画像の主観画質の低減を抑制することができる。
【0071】
なお、これらの処理部(パッチ分解部111乃至補正情報生成部119)は、任意の構成を有する。例えば、各処理部が、上述の処理を実現する論理回路により構成されるようにしてもよい。また、各処理部が、例えばCPU(Central Processing Unit)、ROM(Read Only Memory)、RAM(Random Access Memory)等を有し、それらを用いてプログラムを実行することにより、上述の処理を実現するようにしてもよい。もちろん、各処理部が、その両方の構成を有し、上述の処理の一部を論理回路により実現し、他を、プログラムを実行することにより実現するようにしてもよい。各処理部の構成は互いに独立していてもよく、例えば、一部の処理部が上述の処理の一部を論理回路により実現し、他の一部の処理部がプログラムを実行することにより上述の処理を実現し、さらに他の処理部が論理回路とプログラムの実行の両方により上述の処理を実現するようにしてもよい。
【0072】
<補正情報生成部>
図7は、補正情報生成部119の主な構成例を示すブロック図である。図7に示されるように、補正情報生成部119は、タイプ設定部151および削り量設定部152を有する。
【0073】
タイプ設定部151は、余白の削り方(余白の補正のタイプ)を設定する。例えば、タイプ設定部151は、予め用意された「余白の削り方のパタン」の候補の中から最適なパタンを選択する。例えば、タイプ設定部151は、上述したようなオキュパンシーマップの比較結果や余り量の設定に基づいて、このようなパタンの選択(タイプの選択)を行う。
【0074】
削り量設定部152は、余白の補正量(余白をどの程度補正するか)を設定する。例えば、削り量設定部152は、余白の削り量(余白をどの程度削るか)を設定する。また、例えば、削り量設定部152は、余白の増加量(余白をどの程度増やすか)を設定する。削り量設定部152は、上述したようなオキュパンシーマップの比較結果や余り量の設定に基づいて、このような補正量の設定を行う。
【0075】
補正情報生成部119は、以上のように設定された余白の補正のタイプや補正量を示す情報を、補正情報として補助パッチ情報圧縮部113に供給する。
【0076】
<符号化処理の流れ>
このような符号化装置100により実行される処理について説明する。最初に、符号化処理の流れの例を、図8のフローチャートを参照して説明する。
【0077】
符号化処理が開始されると、符号化装置100のパッチ分解部111は、ステップS101において、パッチ分解処理を実行し、3Dデータをパッチに分解し、各パッチのデータを2次元平面に投影する。
【0078】
ステップS102において、パッキング部112は、パッチ分解部111によりパッチ毎に2次元平面に投影された3Dデータをパッキングし、ジオメトリビデオフレームやカラービデオフレームを生成する。また、パッキング部112は、1x1精度のオキュパンシーマップを生成する。
【0079】
ステップS103において、OMap符号化部116は、ステップS102において生成された1x1精度のオキュパンシーマップを低精度化してNxN精度のオキュパンシーマップを生成し、そのNxN精度のオキュパンシーマップを符号化してNxN精度のオキュパンシーマップの符号化データを生成する。
【0080】
ステップS104において、復号部118は、ステップS103において生成されたNxN精度のオキュパンシーマップの符号化データを復号し、NxN精度のオキュパンシーマップを生成する。
【0081】
ステップS105において、補正情報生成部119は、補正情報生成処理を実行し、ステップS102において生成された1x1精度のオキュパンシーマップ、ステップS104において生成された復号後のNxN精度のオキュパンシーマップ、および余り量に基づいて、補正情報を生成する。この補正情報生成処理については後述する。
【0082】
ステップS106において、パッキング部112は、ステップS102において生成されたジオメトリビデオフレームのディレーションを行う。
【0083】
ステップS107において、ビデオ符号化部114は、ステップS106においてディレーションが行われたジオメトリビデオフレームを符号化し、ジオメトリビデオフレームの符号化データを生成する。
【0084】
ステップS108において、ビデオ符号化部114は、ステップS107において生成されたジオメトリビデオフレームの符号化データを復号し、復号後のジオメトリビデオフレームを生成する。
【0085】
ステップS109において、パッキング部112は、ステップS102において生成されたカラービデオフレームのディレーションを行う。
【0086】
ステップS110において、ビデオ符号化部115は、ステップS109においてディレーションが行われたカラービデオフレームについて、ステップS108において生成された復号後のジオメトリビデオフレームを用いてリカラー処理を行い、属性情報を、復号後の位置情報に対応させる。
【0087】
ステップS111において、ビデオ符号化部115は、ステップS110においてリカラー処理が行われたカラービデオフレームを符号化し、カラービデオフレームの符号化データを生成する。
【0088】
ステップS112において、補助パッチ情報圧縮部113は、ステップS105の処理により生成された補正情報を含む補助パッチ情報を符号化(圧縮)し、符号化データを生成する。
【0089】
ステップS113において、マルチプレクサ117は、以上のように生成された各種情報を多重化し、これらの情報を含むビットストリームを生成する。ステップS114において、マルチプレクサ117は、ステップS113の処理により生成したビットストリームを符号化装置100の外部に出力する。ステップS113の処理が終了すると、符号化処理が終了する。
【0090】
<補正情報生成処理の流れ>
図9のフローチャートを参照して、図8のステップS105において実行される補正情報生成処理の流れの例を説明する。補正情報生成処理が開始されると、補正情報生成部119のタイプ設定部151は、ステップS131において、余白の補正のタイプを設定する。ステップS132において、削り量設定部152は、その余白の補正量(例えば削り量)を設定する。ステップS133において、補正情報生成部119は、それらの情報を補正情報として設定し、補助パッチ情報圧縮部113に供給する。
【0091】
ステップS133の処理が終了すると補正情報生成処理が終了し、処理は図8に戻る。
【0092】
以上のように各処理を実行することにより、符号化装置100は、3Dデータの補正情報を生成し、復号側において、その補正情報に基づいて3Dデータを補正させるようにことができる。これにより、3Dデータの劣化を抑制することができ、表示用画像の主観画質の低減を抑制することができる。
【0093】
<3.第2の実施の形態>
<復号装置>
図10は、本技術を適用した画像処理装置の一態様である復号装置の構成の一例を示すブロック図である。図10に示される復号装置200は、ポイントクラウドのような3Dデータが2次元平面に投影されて符号化された符号化データを、2次元画像用の復号方法により復号し、3Dデータを再構築する装置(ビデオベースドアプローチを適用した復号装置)である。この復号装置200は、図6の符号化装置100に対応する復号装置であり、符号化装置100により生成されたビットストリームを復号して3Dデータを再構築することができる。
【0094】
なお、図10においては、処理部やデータの流れ等の主なものを示しており、図10に示されるものが全てとは限らない。つまり、復号装置200において、図10においてブロックとして示されていない処理部が存在したり、図10において矢印等として示されていない処理やデータの流れが存在したりしてもよい。これは、復号装置200内の処理部等を説明する他の図においても同様である。
【0095】
図10に示されるように復号装置200は、デマルチプレクサ211、補助パッチ情報復号部212、ビデオ復号部213、ビデオ復号部214、OMap復号部215、アンパッキング部216、および3D再構築部217を有する。
【0096】
デマルチプレクサ211は、データの逆多重化に関する処理を行う。例えば、デマルチプレクサ211は、復号装置200に入力されるビットストリームを取得する。このビットストリームは、例えば、符号化装置100より供給される。デマルチプレクサ211は、このビットストリームを逆多重化し、補助パッチ情報の符号化データを抽出し、それを補助パッチ情報復号部212に供給する。また、デマルチプレクサ211は、逆多重化により、ビットストリームから、ジオメトリビデオフレームの符号化データを抽出し、それをビデオ復号部213に供給する。さらに、デマルチプレクサ211は、逆多重化により、ビットストリームから、カラービデオフレームの符号化データを抽出し、それをビデオ復号部214に供給する。また、デマルチプレクサ211は、逆多重化により、ビットストリームから、オキュパンシーマップの符号化データを抽出し、それをOMap復号部215に供給する。また、デマルチプレクサ211は、逆多重化により、ビットストリームからパッキングに関する制御情報を抽出し、それをアンパッキング部216に供給する。
【0097】
補助パッチ情報復号部212は、補助パッチ情報の符号化データ(補正情報の符号化データを含む)の復号に関する処理を行う。例えば、補助パッチ情報復号部212は、デマルチプレクサ211から供給される補助パッチ情報の符号化データを取得する。また、補助パッチ情報復号部212は、その符号化データを復号し、補助パッチ情報や補正情報を生成する。この補正情報は、符号化側において生成され、符号化側から伝送された情報であり、例えば、3Dデータの、オキュパンシーマップによって拡大された部分である余白の補正に関する情報を含む。補助パッチ情報復号部212は、その補助パッチ情報を3D再構築部217に供給する。
【0098】
ビデオ復号部213は、ジオメトリビデオフレームの符号化データの復号に関する処理を行う。例えば、ビデオ復号部213は、デマルチプレクサ211から供給されるジオメトリビデオフレームの符号化データを取得する。また、例えば、ビデオ復号部213は、その符号化データを復号し、ジオメトリビデオフレームを生成する。ビデオ復号部213は、そのジオメトリビデオフレームを、アンパッキング部216に供給する。
【0099】
ビデオ復号部214は、カラービデオフレームの符号化データの復号に関する処理を行う。例えば、ビデオ復号部214は、デマルチプレクサ211から供給されるカラービデオフレームの符号化データを取得する。また、例えば、ビデオ復号部214は、その符号化データを復号し、カラービデオフレームを生成する。ビデオ復号部214は、そのカラービデオフレームを、アンパッキング部216に供給する。
【0100】
OMap復号部215は、オキュパンシーマップの符号化データの復号に関する処理を行う。例えば、OMap復号部215は、デマルチプレクサ211から供給されるオキュパンシーマップの符号化データを取得する。また、例えば、OMap復号部215は、その符号化データを復号し、オキュパンシーマップを生成する。OMap復号部215は、そのオキュパンシーマップを、アンパッキング部216に供給する。
【0101】
アンパッキング部216は、アンパッキングに関する処理を行う。例えば、アンパッキング部216は、デマルチプレクサ211から供給されるパッキングに関する制御情報を取得する。また、アンパッキング部216は、ビデオ復号部213から供給されるジオメトリビデオフレームを取得する。さらに、アンパッキング部216は、ビデオ復号部214から供給されるカラービデオフレームを取得する。また、アンパッキング部216は、OMap復号部215から供給されるオキュパンシーマップを取得する。アンパッキング部216は、取得した制御情報やオキュパンシーマップに基づいてジオメトリビデオフレームやカラービデオフレームをアンパッキングし、位置情報や属性情報のパッチ等を抽出する。アンパッキング部216は、その位置情報や属性情報のパッチ等を3D再構築部217に供給する。
【0102】
3D再構築部217は、3Dデータの再構築に関する処理を行う。例えば、3D再構築部217は、補助パッチ情報復号部212から供給される補助パッチ情報および補正情報を取得する。また、3D再構築部217は、アンパッキング部216から供給される位置情報や属性情報のパッチ等を取得する。さらに、3D再構築部217は、それらの情報に基づいて、3Dデータ(例えばポイントクラウド(Point Cloud))を再構築する。例えば、3D再構築部217は、補助パッチ情報や位置情報や属性情報のパッチ等に基づいて3Dデータを再構築し、さらに、補正情報に基づいてその3Dデータを補正する。3D再構築部217は、このような処理により得られた3Dデータを復号装置200の外部に出力する。
【0103】
この3Dデータは、例えば、表示部に供給されてその画像が表示されたり、記録媒体に記録されたり、通信を介して他の装置に供給されたりする。
【0104】
このようにすることにより、復号装置200は、符号化側から供給された補正情報に基づいて3Dデータを補正するようにことができる。これにより、3Dデータの劣化を抑制することができ、表示用画像の主観画質の低減を抑制することができる。
【0105】
なお、これらの処理部(デマルチプレクサ211乃至3D再構築部217)は、任意の構成を有する。例えば、各処理部が、上述の処理を実現する論理回路により構成されるようにしてもよい。また、各処理部が、例えばCPU、ROM、RAM等を有し、それらを用いてプログラムを実行することにより、上述の処理を実現するようにしてもよい。もちろん、各処理部が、その両方の構成を有し、上述の処理の一部を論理回路により実現し、他を、プログラムを実行することにより実現するようにしてもよい。各処理部の構成は互いに独立していてもよく、例えば、一部の処理部が上述の処理の一部を論理回路により実現し、他の一部の処理部がプログラムを実行することにより上述の処理を実現し、さらに他の処理部が論理回路とプログラムの実行の両方により上述の処理を実現するようにしてもよい。
【0106】
<3D再構築部>
図11は、図10の3D再構築部217の主な構成例を示すブロック図である。図11に示されるように、3D再構築部217は、補正設定部251および再構築部252を有する。
【0107】
補正設定部251は、3Dデータの補正の制御に関する処理を行う。例えば、補正設定部251は、OMap復号部215から供給される復号後のNxN精度のオキュパンシーマップを取得する。また、補正設定部251は、補助パッチ情報復号部212から供給される補正情報を取得する。
【0108】
この補正情報が、例えば、設定された余白の削り方(余白の補正のタイプ)を示す情報を含むようにしてもよい。例えば、この補正情報が、予め用意された「余白の削り方のパタン」の候補の中から選択された最適なパタンを示す情報を含むようにしてもよい。
【0109】
また、この補正情報が、例えば、設定された余白の補正量(例えば、削り量若しくは増加量、またはその両方)を示す情報を含むようにしてもよい。
【0110】
補正設定部251は、これらの情報に基づいて、どのように補正を行うかを設定する。補正設定部251は、その設定通りの補正を実現するため制御情報を生成し、その制御情報を再構築部252に供給する。
【0111】
再構築部252は、3Dデータの再構築に関する処理を行う。例えば、再構築部252は、アンパッキング部216から供給されるジオメトリビデオフレームから抽出された位置情報や、アンパッキング部216から供給されるカラービデオフレームから抽出した属性情報に基づいて、3Dデータを再構築する。また、再構築部252は、補正設定部251の制御に従って(補正設定部251から供給された制御情報に従って)3Dデータを補正する。再構築部252は、生成(補正)した3Dデータを復号装置200の外部に出力する。
【0112】
<復号処理の流れ>
このような復号装置200により実行される処理について説明する。最初に、復号処理の流れの例を、図12のフローチャートを参照して説明する。
【0113】
復号処理が開始されると、復号装置200のデマルチプレクサ211は、ステップS201において、ビットストリームを逆多重化する。
【0114】
ステップS202において、補助パッチ情報復号部212は、ステップS201の処理によりビットストリームから抽出された補助パッチ情報の符号化データを復号し、補助パッチ情報や補正情報を生成する。
【0115】
ステップS203において、OMap復号部215は、ステップS201の処理によりビットストリームから抽出されたオキュパンシーマップの符号化データを復号する。
【0116】
ステップS204において、ビデオ復号部213は、ステップS201の処理によりビットストリームから抽出されたジオメトリビデオフレームの符号化データを復号し、ジオメトリビデオフレームを生成する。
【0117】
ステップS205において、ビデオ復号部214は、ステップS201の処理によりビットストリームから抽出されたカラービデオフレームの符号化データを復号し、カラービデオフレームを生成する。
【0118】
ステップS206において、アンパッキング部216は、パッキングに関する制御情報やオキュパンシーマップに基づいて、ジオメトリビデオフレームやカラービデオフレームをそれぞれアンパッキングする。
【0119】
ステップS207において、3D再構築部217は、3Dデータ再構築処理を実行し、ステップS202において生成された補助パッチ情報と、ステップS203乃至ステップS205において生成された各種情報とに基づいて、例えばポイントクラウド等の3Dデータを再構築する。また、3D再構築部217は、ステップS202において生成された補正情報に基づいて、再構築した3Dデータを補正する。ステップS207の処理が終了すると復号処理が終了する。
【0120】
<3Dデータ再構築処理の流れ>
次に、図12のステップS207において実行される3Dデータ再構築処理の流れの例を、図13のフローチャートを参照して説明する。
【0121】
3Dデータ再構築処理が開始されると、補正設定部251は、ステップS221において、復号後のNxN精度のオキュパンシーマップと補正情報とに基づいて、3Dデータ再構築に関する補正方法を設定し、制御情報を生成する。
【0122】
ステップS222において、再構築部252は、位置情報(ジオメトリデータ)および属性情報(ピクチャデータ)、並びに、ステップS221において設定した補正方法を用いてポイントクラウド等の3Dデータを再構築する。より具体的には、再構築部252は、位置情報(ジオメトリデータ)および属性情報(ピクチャデータ)、並びに、補助パッチ情報等に基づいて、3Dデータを再構築する。そして、再構築部252は、補正設定部251から供給される制御情報に従って、再構築した3Dデータを補正する。
【0123】
以上のように各処理を実行することにより、復号装置200は、符号化側から供給された補正情報に基づいて3Dデータを補正するようにことができる。これにより、3Dデータの劣化を抑制することができ、表示用画像の主観画質の低減を抑制することができる。
【0124】
<4.付記>
<制御情報>
以上の各実施の形態において説明した本技術に関する制御情報を符号化側から復号側に伝送するようにしてもよい。例えば、上述した本技術を適用することを許可(または禁止)するか否かを制御する制御情報(例えばenabled_flag)を伝送するようにしてもよい。また、例えば、上述した本技術を適用することを許可(または禁止)する範囲(例えばブロックサイズの上限若しくは下限、またはその両方、スライス、ピクチャ、シーケンス、コンポーネント、ビュー、レイヤ等)を指定する制御情報を伝送するようにしてもよい。
【0125】
<コンピュータ>
上述した一連の処理は、ハードウエアにより実行させることもできるし、ソフトウエアにより実行させることもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、コンピュータにインストールされる。ここでコンピュータには、専用のハードウエアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータ等が含まれる。
【0126】
図14は、上述した一連の処理をプログラムにより実行するコンピュータのハードウエアの構成例を示すブロック図である。
【0127】
図14に示されるコンピュータ900において、CPU(Central Processing Unit)901、ROM(Read Only Memory)902、RAM(Random Access Memory)903は、バス904を介して相互に接続されている。
【0128】
バス904にはまた、入出力インタフェース910も接続されている。入出力インタフェース910には、入力部911、出力部912、記憶部913、通信部914、およびドライブ915が接続されている。
【0129】
入力部911は、例えば、キーボード、マウス、マイクロホン、タッチパネル、入力端子などよりなる。出力部912は、例えば、ディスプレイ、スピーカ、出力端子などよりなる。記憶部913は、例えば、ハードディスク、RAMディスク、不揮発性のメモリなどよりなる。通信部914は、例えば、ネットワークインタフェースよりなる。ドライブ915は、磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリなどのリムーバブルメディア921を駆動する。
【0130】
以上のように構成されるコンピュータでは、CPU901が、例えば、記憶部913に記憶されているプログラムを、入出力インタフェース910およびバス904を介して、RAM903にロードして実行することにより、上述した一連の処理が行われる。RAM903にはまた、CPU901が各種の処理を実行する上において必要なデータなども適宜記憶される。
【0131】
コンピュータが実行するプログラムは、例えば、パッケージメディア等としてのリムーバブルメディア921に記録して適用することができる。その場合、プログラムは、リムーバブルメディア921をドライブ915に装着することにより、入出力インタフェース910を介して、記憶部913にインストールすることができる。
【0132】
また、このプログラムは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供することもできる。その場合、プログラムは、通信部914で受信し、記憶部913にインストールすることができる。
【0133】
その他、このプログラムは、ROM902や記憶部913に、あらかじめインストールしておくこともできる。
【0134】
<本技術の適用対象>
以上においては、ポイントクラウドデータの符号化・復号に本技術を適用する場合について説明したが、本技術は、これらの例に限らず、任意の規格の3Dデータの符号化・復号に対して適用することができる。つまり、上述した本技術と矛盾しない限り、符号化・復号方式等の各種処理、並びに、3Dデータやメタデータ等の各種データの仕様は任意である。また、本技術と矛盾しない限り、上述した一部の処理や仕様を省略してもよい。
【0135】
また、以上においては、本技術の適用例として符号化装置100および復号装置200について説明したが、本技術は、任意の構成に適用することができる。
【0136】
例えば、本技術は、衛星放送、ケーブルTVなどの有線放送、インターネット上での配信、およびセルラー通信による端末への配信などにおける送信機や受信機(例えばテレビジョン受像機や携帯電話機)、または、光ディスク、磁気ディスクおよびフラッシュメモリなどの媒体に画像を記録したり、これら記憶媒体から画像を再生したりする装置(例えばハードディスクレコーダやカメラ)などの、様々な電子機器に適用され得る。
【0137】
また、例えば、本技術は、システムLSI(Large Scale Integration)等としてのプロセッサ(例えばビデオプロセッサ)、複数のプロセッサ等を用いるモジュール(例えばビデオモジュール)、複数のモジュール等を用いるユニット(例えばビデオユニット)、または、ユニットにさらにその他の機能を付加したセット(例えばビデオセット)等、装置の一部の構成として実施することもできる。
【0138】
また、例えば、本技術は、複数の装置により構成されるネットワークシステムにも適用することもできる。例えば、本技術を、ネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングとして実施するようにしてもよい。例えば、コンピュータ、AV(Audio Visual)機器、携帯型情報処理端末、IoT(Internet of Things)デバイス等の任意の端末に対して、画像(動画像)に関するサービスを提供するクラウドサービスにおいて本技術を実施するようにしてもよい。
【0139】
なお、本明細書において、システムとは、複数の構成要素(装置、モジュール(部品)等)の集合を意味し、全ての構成要素が同一筐体中にあるか否かは問わない。したがって、別個の筐体に収納され、ネットワークを介して接続されている複数の装置、および、1つの筐体の中に複数のモジュールが収納されている1つの装置は、いずれも、システムである。
【0140】
<本技術を適用可能な分野・用途>
本技術を適用したシステム、装置、処理部等は、例えば、交通、医療、防犯、農業、畜産業、鉱業、美容、工場、家電、気象、自然監視等、任意の分野に利用することができる。また、その用途も任意である。
【0141】
<その他>
なお、本明細書において「フラグ」とは、複数の状態を識別するための情報であり、真(1)または偽(0)の2状態を識別する際に用いる情報だけでなく、3以上の状態を識別することが可能な情報も含まれる。したがって、この「フラグ」が取り得る値は、例えば1/0の2値であってもよいし、3値以上であってもよい。すなわち、この「フラグ」を構成するbit数は任意であり、1bitでも複数bitでもよい。また、識別情報(フラグも含む)は、その識別情報をビットストリームに含める形だけでなく、ある基準となる情報に対する識別情報の差分情報をビットストリームに含める形も想定されるため、本明細書においては、「フラグ」や「識別情報」は、その情報だけではなく、基準となる情報に対する差分情報も包含する。
【0142】
また、符号化データ(ビットストリーム)に関する各種情報(メタデータ等)は、符号化データに関連づけられていれば、どのような形態で伝送または記録されるようにしてもよい。ここで、「関連付ける」という用語は、例えば、一方のデータを処理する際に他方のデータを利用し得る(リンクさせ得る)ようにすることを意味する。つまり、互いに関連付けられたデータは、1つのデータとしてまとめられてもよいし、それぞれ個別のデータとしてもよい。例えば、符号化データ(画像)に関連付けられた情報は、その符号化データ(画像)とは別の伝送路上で伝送されるようにしてもよい。また、例えば、符号化データ(画像)に関連付けられた情報は、その符号化データ(画像)とは別の記録媒体(または同一の記録媒体の別の記録エリア)に記録されるようにしてもよい。なお、この「関連付け」は、データ全体でなく、データの一部であってもよい。例えば、画像とその画像に対応する情報とが、複数フレーム、1フレーム、またはフレーム内の一部分などの任意の単位で互いに関連付けられるようにしてもよい。
【0143】
なお、本明細書において、「合成する」、「多重化する」、「付加する」、「一体化する」、「含める」、「格納する」、「入れ込む」、「差し込む」、「挿入する」等の用語は、例えば符号化データとメタデータとを1つのデータにまとめるといった、複数の物を1つにまとめることを意味し、上述の「関連付ける」の1つの方法を意味する。
【0144】
また、本技術の実施の形態は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
【0145】
例えば、1つの装置(または処理部)として説明した構成を分割し、複数の装置(または処理部)として構成するようにしてもよい。逆に、以上において複数の装置(または処理部)として説明した構成をまとめて1つの装置(または処理部)として構成されるようにしてもよい。また、各装置(または各処理部)の構成に上述した以外の構成を付加するようにしてももちろんよい。さらに、システム全体としての構成や動作が実質的に同じであれば、ある装置(または処理部)の構成の一部を他の装置(または他の処理部)の構成に含めるようにしてもよい。
【0146】
また、例えば、上述したプログラムは、任意の装置において実行されるようにしてもよい。その場合、その装置が、必要な機能(機能ブロック等)を有し、必要な情報を得ることができるようにすればよい。
【0147】
また、例えば、1つのフローチャートの各ステップを、1つの装置が実行するようにしてもよいし、複数の装置が分担して実行するようにしてもよい。さらに、1つのステップに複数の処理が含まれる場合、その複数の処理を、1つの装置が実行するようにしてもよいし、複数の装置が分担して実行するようにしてもよい。換言するに、1つのステップに含まれる複数の処理を、複数のステップの処理として実行することもできる。逆に、複数のステップとして説明した処理を1つのステップとしてまとめて実行することもできる。
【0148】
また、例えば、コンピュータが実行するプログラムは、プログラムを記述するステップの処理が、本明細書で説明する順序に沿って時系列に実行されるようにしても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで個別に実行されるようにしても良い。つまり、矛盾が生じない限り、各ステップの処理が上述した順序と異なる順序で実行されるようにしてもよい。さらに、このプログラムを記述するステップの処理が、他のプログラムの処理と並列に実行されるようにしても良いし、他のプログラムの処理と組み合わせて実行されるようにしても良い。
【0149】
また、例えば、本技術に関する複数の技術は、矛盾が生じない限り、それぞれ独立に単体で実施することができる。もちろん、任意の複数の本技術を併用して実施することもできる。例えば、いずれかの実施の形態において説明した本技術の一部または全部を、他の実施の形態において説明した本技術の一部または全部と組み合わせて実施することもできる。また、上述した任意の本技術の一部または全部を、上述していない他の技術と併用して実施することもできる。
【0150】
なお、本技術は以下のような構成も取ることができる。
(1) 2次元画像を表す2Dデータを用いて構築する3次元構造を表す3Dデータの補正に関する情報である補正情報を生成する補正情報生成部と、
前記補正情報生成部により生成された前記補正情報を符号化する補正情報符号化部と
を備える画像処理装置。
(2) 前記補正情報生成部は、1x1精度のオキュパンシーマップと、NxN精度のオキュパンシーマップとに基づいて、前記補正情報を生成する
(1)に記載の画像処理装置。
(3) 前記補正情報生成部は、さらに、前記3Dデータの、オキュパンシーマップによって拡大された部分である余白の大きさの設定値である余り量に基づいて、前記補正情報を生成する
(2)に記載の画像処理装置。
(4) 前記補正情報は、前記3Dデータの、オキュパンシーマップによって拡大された部分である余白の補正に関する情報を含む
(1)に記載の画像処理装置。
(5) 前記余白の補正に関する情報は、前記余白の削り方を示す情報を含む
(4)に記載の画像処理装置。
(6) 前記余白の補正に関する情報は、候補の中から選択された前記余白の削り方のパタンを示す情報を含む
(5)に記載の画像処理装置。
(7) 前記余白の補正に関する情報は、前記余白の補正量を示す情報を含む
(4)に記載の画像処理装置。
(8) 前記余白の補正量を示す情報は、前記余白の削り量を示す情報を含む
(7)に記載の画像処理装置。
(9) 前記余白の補正量を示す情報は、前記余白の増加量を示す情報を含む
(7)に記載の画像処理装置。
(10) 2次元画像を表す2Dデータを用いて構築する3次元構造を表す3Dデータの補正に関する情報である補正情報を生成し、
生成された前記補正情報を符号化する
画像処理方法。
【0151】
(11) 2次元画像を表す2Dデータを用いて構築する3次元構造を表す3Dデータの補正に関する情報である補正情報の符号化データを復号する補正情報復号部と、
前記2Dデータと、前記補正情報復号部により前記補正情報の符号化データが復号されて生成された前記補正情報とを用いて、前記3Dデータを構築する構築部と
を備える画像処理装置。
(12) 前記補正情報は、前記3Dデータの、オキュパンシーマップによって拡大された部分である余白の補正に関する情報を含む
(11)に記載の画像処理装置。
(13) 前記余白の補正に関する情報は、前記余白の削り方を示す情報を含む
(12)に記載の画像処理装置。
(14) 前記余白の補正に関する情報は、候補の中から選択された前記余白の削り方のパタンを示す情報を含む
(13)に記載の画像処理装置。
(15) 前記余白の補正に関する情報は、前記余白の補正量を示す情報を含む
(12)に記載の画像処理装置。
(16) 前記余白の補正量を示す情報は、前記余白の削り量を示す情報を含む
(15)に記載の画像処理装置。
(17) 前記余白の補正量を示す情報は、前記余白の増加量を示す情報を含む
(15)に記載の画像処理装置。
(18) 前記2Dデータの符号化データを復号するビデオ復号部をさらに備え、
前記構築部は、前記ビデオ復号部により復号されて生成された前記2Dデータと、前記補正情報復号部により前記符号化データが復号されて生成された前記補正情報とを用いて、前記3Dデータを構築する
(11)に記載の画像処理装置。
(19) オキュパンシーマップの符号化データを復号するOMap復号部をさらに備え、
前記構築部は、前記2Dデータから前記3Dデータを構築する際に前記OMap復号部により復号されて生成されたオキュパンシーマップにより拡大された部分である余白を、前記補正情報復号部により前記補正情報の符号化データが復号されて生成された前記補正情報を用いて補正する
(11)に記載の画像処理装置。
(20) 2次元画像を表す2Dデータを用いて構築する3次元構造を表す3Dデータの補正に関する情報である補正情報の符号化データを復号し、
前記2Dデータと、前記補正情報の符号化データが復号されて生成された前記補正情報とを用いて、前記3Dデータを構築する
画像処理方法。
【符号の説明】
【0152】
100 符号化装置, 111 パッチ分解部, 112 パッキング部, 113 補助パッチ情報圧縮部, 114 ビデオ符号化部, 115 ビデオ符号化部, 116 OMap符号化部, 117 マルチプレクサ, 118 復号部, 119 補正情報生成部, 151 タイプ設定部, 152 削り量設定部, 200 復号装置, 211 デマルチプレクサ, 212 補助パッチ情報復号部, 213 ビデオ復号部, 214 ビデオ復号部, 215 OMap復号部, 216 アンパッキング部, 217 3D再構築部, 251 補正設定部, 252 再構築部
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14