特許第6040838号(P6040838)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

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

▶ 株式会社JVCケンウッドの特許一覧

特許6040838デプス推定装置、デプス推定方法、デプス推定プログラム、画像処理装置、画像処理方法及び画像処理プログラム
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6040838
(24)【登録日】2016年11月18日
(45)【発行日】2016年12月7日
(54)【発明の名称】デプス推定装置、デプス推定方法、デプス推定プログラム、画像処理装置、画像処理方法及び画像処理プログラム
(51)【国際特許分類】
   G06T 19/00 20110101AFI20161128BHJP
   H04N 13/02 20060101ALI20161128BHJP
【FI】
   G06T19/00 A
   H04N13/02
【請求項の数】10
【全頁数】40
(21)【出願番号】特願2013-71993(P2013-71993)
(22)【出願日】2013年3月29日
(65)【公開番号】特開2014-63470(P2014-63470A)
(43)【公開日】2014年4月10日
【審査請求日】2015年10月29日
(31)【優先権主張番号】特願2012-189178(P2012-189178)
(32)【優先日】2012年8月29日
(33)【優先権主張国】JP
(73)【特許権者】
【識別番号】308036402
【氏名又は名称】株式会社JVCケンウッド
(74)【代理人】
【識別番号】100105924
【弁理士】
【氏名又は名称】森下 賢樹
(72)【発明者】
【氏名】竹下 浩
【審査官】 真木 健彦
(56)【参考文献】
【文献】 特開2002−245480(JP,A)
【文献】 特表2013−545184(JP,A)
【文献】 米国特許出願公開第2013/0207971(US,A1)
【文献】 特開2002−042148(JP,A)
【文献】 能登 肇,レリーフ調奥行きマップ生成方式,映像情報メディア学会誌 第59巻 第10号,日本,(社)映像情報メディア学会,2005年10月 1日,Vol.59 No.10,P.1520-1526,ISSN 1342-6907
(58)【調査した分野】(Int.Cl.,DB名)
G06T 19/00
G06T 17/00
G06T 17/10 − 17/30
G06T 1/00
(57)【特許請求の範囲】
【請求項1】
対象画像内のオブジェクトの輪郭を特定する輪郭特定部と、
前記オブジェクトの領域内の対象画素と、前記輪郭との距離を求める距離特定部と、
前記距離に応じて前記対象画素のデプス値を決定するデプス値決定部と、を備え、
前記距離特定部は、前記対象画素の位置を中心にして、当該中心から同心円状に広がる探索円を用いて、前記オブジェクトの領域内の画素に対してのみ、前記輪郭との距離が最短となる接点を探索する、
ことを特徴とするデプス推定装置。
【請求項2】
前記距離特定部は、前記探索円を、外部設定されるパラメータに応じて変形可能なことを特徴とする請求項に記載のデプス推定装置。
【請求項3】
前記パラメータは、偏心率、楕円化率、楕円化した場合の楕円の傾斜角の内、少なくとも一つを含むことを特徴とする請求項に記載のデプス推定装置。
【請求項4】
前記距離特定部は、前記オブジェクトを、外部設定されるパラメータに応じて変形可能なことを特徴とする請求項に記載のデプス推定装置。
【請求項5】
前記デプス値決定部により決定された前記オブジェクトのデプスマップに基づくエンボスパターンを、写像関数または数値変換テーブルを用いて、レベル変換するレベル変換部を、さらに備える、
ことを特徴とする請求項1からのいずれかに記載のデプス推定装置。
【請求項6】
入力画像とデプスモデルをもとに、前記入力画像のデプスマップを生成するデプスマップ生成部と、
前記入力画像内のオブジェクトのエンボスパターンを生成するボリュームエンボス生成部と、
前記デプスマップ生成部により生成されたデプスマップにおける、前記オブジェクトに対応する領域を加工するデプスマップ加工部と、
前記入力画像、及び前記デプスマップ加工部により加工されたデプスマップをもとに、別視点の画像を生成する画像生成部と、を備え、
前記ボリュームエンボス生成部は、
前記オブジェクトの輪郭を特定する輪郭特定部と、
前記オブジェクト内の対象画素と、前記輪郭との距離を求める距離特定部と、
前記距離に応じて前記対象画素のデプス値を決定するデプス値決定部と、を有し、
前記距離特定部は、前記対象画素の位置を中心にして、当該中心から同心円状に広がる探索円を用いて、前記オブジェクトの領域内の画素に対してのみ、前記輪郭との距離が最短となる接点を探索し、
前記ボリュームエンボス生成部は、前記デプス値決定部によって決定したデプス値に基づいて前記エンボスパターンを生成し、
前記デプスマップ加工部は、前記エンボスパターンを使用して前記デプスマップの前記オブジェクトに対応する領域にエンボスを付加することを特徴とする画像処理装置。
【請求項7】
対象画像内のオブジェクトの輪郭を特定するステップと、
前記オブジェクトの領域内の対象画素と、前記輪郭との距離を求めるステップと、
前記距離に応じて前記対象画素のデプス値を決定するステップと、を有し、
前記輪郭との距離を求めるステップは、前記対象画素の位置を中心にして、当該中心から同心円状に広がる探索円を用いて、前記オブジェクトの領域内の画素に対してのみ、前記輪郭との距離が最短となる接点を探索する、
ことを特徴とするデプス推定方法。
【請求項8】
入力画像とデプスモデルをもとに、前記入力画像のデプスマップを生成するステップと、
前記入力画像内のオブジェクトのエンボスパターンを生成するステップと、
生成されたデプスマップにおける、前記オブジェクトに対応する領域を加工するステップと、
前記入力画像、及び加工されたデプスマップをもとに、別視点の画像を生成するステップと、を有し、
前記エンボスパターンを生成するステップは、
前記オブジェクトの輪郭を特定するステップと、
前記オブジェクト内の対象画素と、前記輪郭との距離を求めるステップと、
前記距離に応じて前記対象画素のデプス値を決定するステップと、を含み、
前記輪郭との距離を求めるステップは、前記対象画素の位置を中心にして、当該中心から同心円状に広がる探索円を用いて、前記オブジェクトの領域内の画素に対してのみ、前記輪郭との距離が最短となる接点を探索し、
前記エンボスパターンを生成するステップは、前記デプス値を決定するステップによって決定したデプス値に基づいて前記エンボスパターンを生成し、
前記デプスマップを加工するステップは、前記エンボスパターンを使用して前記デプスマップの前記オブジェクトに対応する領域にエンボスを付加する、
ことを特徴とする画像処理方法。
【請求項9】
対象画像内のオブジェクトの輪郭を特定する処理と、
前記オブジェクトの領域内の対象画素と、前記輪郭との距離を求める処理と、
前記距離に応じて前記対象画素のデプス値を決定する処理と、をコンピュータに実行させ、
前記輪郭との距離を求める処理は、前記対象画素の位置を中心にして、当該中心から同心円状に広がる探索円を用いて、前記オブジェクトの領域内の画素に対してのみ、前記輪郭との距離が最短となる接点を探索する、
ことを特徴とするデプス推定プログラム。
【請求項10】
入力画像とデプスモデルをもとに、前記入力画像のデプスマップを生成する処理と、
前記入力画像内のオブジェクトのエンボスパターンを生成する処理と、
生成されたデプスマップにおける、前記オブジェクトに対応する領域を加工する処理と、
前記入力画像、及び加工されたデプスマップをもとに、別視点の画像を生成する処理と、をコンピュータに実行させ、
前記エンボスパターンを生成する処理は、
前記オブジェクトの輪郭を特定する処理と、
前記オブジェクト内の対象画素と、前記輪郭との距離を求める処理と、
前記距離に応じて前記対象画素のデプス値を決定する処理と、を含み、
前記輪郭との距離を求める処理は、前記対象画素の位置を中心にして、当該中心から同心円状に広がる探索円を用いて、前記オブジェクトの領域内の画素に対してのみ、前記輪郭との距離が最短となる接点を探索する、
前記エンボスパターンを生成する処理は、前記デプス値を決定する処理によって決定したデプス値に基づいて前記エンボスパターンを生成し、
前記デプスマップを加工する処理は、前記エンボスパターンを使用して前記デプスマップの前記オブジェクトに対応する領域にエンボスを付加する、
ことを特徴とする画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像内のオブジェクトのデプスを推定するデプス推定装置、デプス推定方法、デプス推定プログラム、画像処理装置、画像処理方法及び画像処理プログラムに関する。
【背景技術】
【0002】
近年、3D映画、3D放送などの3D映像コンテンツが普及してきている。観察者に立体視させるためには、視差を持つ右眼画像と左眼画像が必要である。3D映像を表示する際、右眼画像と左眼画像を時分割に表示し、シャッタメガネや偏光メガネなどの映像分離用メガネにより右眼画像と左眼画像を分離する。これにより観察者は右眼画像を右眼のみで、左眼画像を左眼のみで観察でき立体視できる。なお右眼画像と左眼画像を時分割ではなく空間分割すればメガネは必要なくなるが解像度が低下する。メガネ方式にしてもメガネレス方式にしても右眼画像と左眼画像が必要な点では共通する。
【0003】
3D映像を製作するには大きく2つの方法があり、2台のカメラを用いて右眼画像と左眼画像を同時に撮影する方法と、1台のカメラで撮影された2D画像を後に編集して視差画像を生成する方法がある。本発明は後者の方法に関するものであり、2D3D変換技術に関するものである。
【0004】
図1は、2D3D変換の基本処理プロセスを説明するための図である。まず2D入力画像からデプスマップ(奥行き情報ともいう)を生成する(ステップS10)。そして2D入力画像とデプスマップを用いて3D画像を生成する(ステップS30)。図1では2D入力画像を3D出力画像の右眼画像とし、2D入力画像をデプスマップを用いて画素シフトした画像を3D出力画像の左眼画像としている。以下、所定の視差を持つ右眼画像と左眼画像の組みを3D画像または視差画像という。
【0005】
従来から、2D画像で表現されたシーン構造を推定してデプスマップを生成する様々な手法が提案されている。本出願人は画面内の所定領域における画素値の統計量を算定してシーン構造を推定し、それに応じて複数の基本奥行きモデルの合成比率を決定し、その合成比率に応じてデプスマップを生成する手法を提案している。この手法を用いれば、2D画像から比較的違和感が小さい3D画像を簡易かつ高速に生成できる。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2009−44722号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
高品質な3D画像を生成するには、高品質なデプスマップを生成する必要がある。高品質なデプスマップを生成するには画像内のオブジェクトごとにデプスの形状が最適化されることが望ましい。また2D画像においても高品質なグラデーションを付加するには、画像内におけるオブジェクトのデプスの形状が考慮され、その形状に合ったグラデーションが付加されることが望ましい。
【0008】
しかしながらユーザが、オブジェクトごとにデプスの形状を推定したり、調整するのは煩雑な作業である。
【0009】
本発明はこうした状況に鑑みてなされたものであり、その目的は、画像内におけるオブジェクトのデプスの形状を簡単かつ高精度に推定する技術を提供することにある。
【課題を解決するための手段】
【0010】
上記課題を解決するために、本発明のある態様のデプス推定装置は、対象画像内のオブジェクトの輪郭を抽出する輪郭特定部と、前記オブジェクトの領域内の対象画素と、前記輪郭との距離を求める距離特定部と、前記距離に応じて前記対象画素のデプス値を決定するデプス値決定部と、を備える。前記距離特定部は、前記対象画素の位置を中心にして、当該中心から同心円状に広がる探索円を用いて、前記オブジェクトの領域内の画素に対してのみ、前記輪郭との距離が最短となる接点を探索する。
【0011】
本発明の別の態様は、デプス推定方法である。この方法は、対象画像内のオブジェクトの輪郭を特定するステップと、前記オブジェクトの領域内の対象画素と、前記輪郭との距離を求めるステップと、前記距離に応じて前記対象画素のデプス値を決定するステップと、を有する前記輪郭との距離を求めるステップは、前記対象画素の位置を中心にして、当該中心から同心円状に広がる探索円を用いて、前記オブジェクトの領域内の画素に対してのみ、前記輪郭との距離が最短となる接点を探索する。
【0012】
本発明のさらに別の態様は、画像処理装置である。この装置は、入力画像とデプスモデルをもとに、前記入力画像のデプスマップを生成するデプスマップ生成部と、前記入力画像内のオブジェクトのエンボスパターンを生成するボリュームエンボス生成部と、前記デプスマップ生成部により生成されたデプスマップにおける、前記オブジェクトに対応する領域を加工するデプスマップ加工部と、前記入力画像、及び前記デプスマップ加工部により加工されたデプスマップをもとに、別視点の画像を生成する画像生成部と、を備える。前記距離特定部は、前記対象画素の位置を中心にして、当該中心から同心円状に広がる探索円を用いて、前記オブジェクトの領域内の画素に対してのみ、前記輪郭との距離が最短となる接点を探索する。前記ボリュームエンボス生成部は、前記オブジェクトの輪郭を特定する輪郭特定部と、前記オブジェクト内の対象画素と、前記輪郭との距離を求める距離特定部と、前記距離に応じて前記対象画素のデプス値を決定するデプス値決定部と、を有する。前記ボリュームエンボス生成部は、前記デプス値決定部によって決定したデプス値に基づいて前記エンボスパターンを生成し、前記デプスマップ加工部は、前記エンボスパターンを使用して前記デプスマップの前記オブジェクトに対応する領域にエンボスを付加する。
【0013】
本発明のさらに別の態様は、画像処理方法である。この方法は、入力画像とデプスモデルをもとに、前記入力画像のデプスマップを生成するステップと、前記入力画像内のオブジェクトのエンボスパターンを生成するステップと、生成されたデプスマップにおける、前記オブジェクトに対応する領域を加工するステップと、前記入力画像、及び加工されたデプスマップをもとに、別視点の画像を生成するステップと、を備える。前記エンボスパターンを生成するステップは、前記オブジェクトの輪郭を特定するステップと、前記オブジェクト内の対象画素と、前記輪郭との距離を求めるステップと、前記距離に応じて前記対象画素のデプス値を決定するステップと、を含む。前記輪郭との距離を求めるステップは、前記対象画素の位置を中心にして、当該中心から同心円状に広がる探索円を用いて、前記オブジェクトの領域内の画素に対してのみ、前記輪郭との距離が最短となる接点を探索する。前記エンボスパターンを生成するステップは、前記デプス値を決定するステップによって決定したデプス値に基づいて前記エンボスパターンを生成し、前記デプスマップを加工するステップは、前記エンボスパターンを使用して前記デプスマップの前記オブジェクトに対応する領域にエンボスを付加する。
【0014】
なお、以上の構成要素の任意の組み合わせ、本発明の表現を方法、装置、システム、記録媒体、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【0015】
本発明によれば、画像内におけるオブジェクトのデプスの形状を簡単かつ高精度に推定できる。
【図面の簡単な説明】
【0016】
図1】2D3D変換の基本処理プロセスを説明するための図である。
図2】本発明の実施の形態1に係る画像編集システムの構成を示す図である。
図3】本発明の実施の形態1に係るデプスマップ生成部の構成例を示す図である。
図4】本発明の実施の形態1に係る画像編集システムの全体処理プロセスを説明するための図である。
図5】入力デプスマップのゲイン調整プロセスを説明するための図である。
図6】レイヤデプスマップの合成処理プロセスを説明するための図である。
図7】マスクを使用しない入力デプスマップのゲイン調整プロセスを説明するための図である。
図8】3D画像生成部による3D画像生成プロセスを説明するための図である。
図9】入力デプスマップのオフセット調整プロセスを説明するための図である。
図10】マスクを使用しない入力デプスマップのオフセット調整プロセスを説明するための図である。
図11図11(a)−(c)は、デプスマップ全体のダイナミックレンジ調整を説明するための図である。
図12】入力デプスマップのグラデーション付加プロセスを説明するための図である。
図13】マスクを使用しない入力デプスマップのグラデーション付加プロセスを説明するための図である。
図14】本発明の実施の形態2に係る画像編集システムの構成を示す図である。
図15】本発明の実施の形態2に係るボリュームエンボス生成部の構成を示す図である。
図16図16(a)−(c)は、実施の形態2に係る、オブジェクトのデプスマップの生成方法を説明するための図である。
図17図17(a)−(b)は、オブジェクト領域内の対象画素からマスクエッジまでの最短距離を探索する処理を説明するための図である。
図18】ボリュームエンボスの輝度変化を示す図である。
図19図19(a)−(c)は、ボリュームエンボスのレベル変換を説明するための図である。
図20図20(a)−(b)は、複雑なオブジェクト形状のボリュームエンボスの一例を示す図である。
図21図21(a)−(b)は、正面を向いている人物のエンボスパターンを示す図である。
図22図22(a)−(b)は、斜め方向を向いている人物のエンボスパターンを示す図である。
図23図23(a)−(c)は、ボトルのエンボスパターンを示す図である。
図24】実施の形態3に係るボリュームエンボス生成部の構成を示す図である。
図25】偏心していない探索円(真円)を用いてオブジェクトのエッジ画素を探索する様子を示す図である。
図26図25のエンボスパターンを示す図である。
図27図27(a)−(b)は、偏心している探索円(真円)を用いてオブジェクトのエッジ画素を探索する様子を示す図である。
図28】偏心している探索円(真円)を用いてオブジェクトのエッジ画素を探索する様子を示す図である。
図29図28のエンボスパターンを示す図である。
図30図28の探索円の偏心率をさらに大きくした探索円(真円)を用いてオブジェクトのエッジ画素を探索する様子を示す図である。
図31図30のエンボスパターンを示す図である。
図32】左下方向に偏心している探索円(真円)を用いてオブジェクトのエッジ画素を探索する様子を示す図である。
図33図32のエンボスパターンを示す図である。
図34】探索円の作成方法を説明するための図である。
図35】偏心している探索円の作成方法を説明するための図である。
図36】真円の探索円を用いてオブジェクトのエッジ画素を探索する様子を示す図である。
図37図36のエンボスパターンを示す図である。
図38】楕円の探索円を用いてオブジェクトのエッジ画素を探索する様子を示す図である。
図39図38のエンボスパターンを示す図である。
図40図38の探索円の楕円化率をさらに大きくした探索円を用いてオブジェクトのエッジ画素を探索する様子を示す図である。
図41図40のエンボスパターンを示す図である。
図42】楕円の探索円の作成方法を説明するための図である。
図43】傾いたボトル形状のオブジェクトのエッジ画素を探索する様子を示す図である。
図44図43のエンボスパターンを示す図である。
図45】傾いた軸を持つ楕円の探索円の作成方法を説明するための図である。
図46図46(a)−(b)は、真円の探索円を用いてオブジェクトのエッジ画素を探索する様子を示す図である。
図47図47(a)−(b)は、図46(a)−(b)のエンボスパターンを示す図である。
図48図48(a)−(d)は、傾いたボトル形状のオブジェクトのエッジ画素を探索する様子を示す図である。
【発明を実施するための形態】
【0017】
図2は、本発明の実施の形態1に係る画像編集システム500の構成を示す図である。実施の形態1に係る画像編集システム500は、画像処理装置100及びコンソール端末装置200を備える。
【0018】
コンソール端末装置200は画像製作者(以下、ユーザという)が画像を製作、編集するために使用する端末装置である。コンソール端末装置200は操作部60および表示部70を備える。操作部60はキーボード、マウス等の入力デバイスであり、表示部70はディスプレイ等の出力デバイスである。なお入出力が一体となったデバイスであるタッチパネルディスプレイが用いられてもよい。またコンソール端末装置200はプリンタ、スキャナ等の印刷物を媒体として用いるユーザインタフェースを含んでよい。操作部60はユーザ操作を受け付け、そのユーザ操作に起因した信号を生成し、画像処理装置100に出力する。表示部70は画像処理装置100により生成された画像を表示する。
【0019】
画像処理装置100はデプスマップ生成部10、デプスマップ加工部20、3D画像生成部30、操作受付部40、表示制御部50を含む。これらの構成はハードウエア的には、任意のプロセッサ、メモリ、その他のLSIで実現でき、ソフトウエア的にはメモリにロードされたプログラムなどによって実現されるが、ここではそれらの連携によって実現される機能ブロックを描いている。したがって、これらの機能ブロックがハードウエアのみ、ソフトウエアのみ、またはそれらの組合せによっていろいろな形で実現できることは、当業者には理解されるところである。例えばデプスマップ生成部10、デプスマップ加工部20、3D画像生成部30について、その機能を全てソフトウェアで実現してもよいし、デプスマップ生成部10および3D画像生成部30の機能を専用のロジック回路で構成しデプスマップ加工部20をソフトウェアで実現してもよい。
【0020】
デプスマップ生成部10は、入力される2D画像とデプスモデルをもとに当該2D画像のデプスマップを生成する。デプスマップは、デプス値(奥行き値ともいう)を輝度値で表したグレースケール画像である。デプスマップ生成部10はシーン構造を推定して、そのシーン構造に適合的なデプスモデルを使用してデプスマップを生成する。本実施の形態ではデプスマップ生成部10は複数の基本デプスモデルを合成してデプスマップ生成に使用する。その際、当該2D画像のシーン構造に応じて複数の基本デプスモデルの合成比率を変化させる。
【0021】
図3は、本発明の実施の形態1に係るデプスマップ生成部10の構成例を示す図である。デプスマップ生成部10は、画面上部高域成分評価部11、画面下部高域成分評価部12、合成比率決定部13、第1基本デプスモデル用フレームメモリ14、第2基本デプスモデル用フレームメモリ15、第3基本デプスモデル用フレームメモリ16、合成部17、加算部18を含む。
【0022】
画面上部高域成分評価部11は、処理すべき2D画像の画面上部において高域成分を有する画素の割合を算出する。その割合を画面上部の高域成分評価値とする。なお画面全体に対する画面上部の割合は略20%に設定するとよい。画面下部高域成分評価部12は当該2D画像の画面下部において高域成分を有する画素の割合を算出する。その割合を画面下部の高域成分評価値とする。なお画面全体に対する画面下部の割合は略20%に設定するとよい。
【0023】
第1基本デプスモデル用フレームメモリ14は第1基本デプスモデルを保持し、第2基本デプスモデル用フレームメモリ15は第2基本デプスモデルを保持し、第3基本デプスモデル用フレームメモリ16は第3デプスモデルを保持する。第1基本デプスモデルは画面上部及び画面下部をそれぞれ凹状の球面とするモデルである。第2基本デプスモデルは画面上部を縦方向に軸線を有する円筒面、画面下部を凹状の球面とするモデルである。第3基本デプスモデルは画面上部を平面、画面下部を横方向に軸線を有する円筒面とするモデルである。
【0024】
合成比率決定部13は、画面上部高域成分評価部11および画面下部高域成分評価部12によりそれぞれ算出された、画面上部および画面下部の高域成分評価値をもとに第1基本デプスモデル、第2基本デプスモデル、第3基本デプスモデルの合成比率k1,k2,k3(ただし、k1+k2+k3=1)を決定する。合成部17はこれらの合成比率k1,k2,k3と、第1基本デプスモデル、第2基本デプスモデル、第3基本デプスモデルをそれぞれ乗算し、それぞれの乗算結果を加算する。この演算結果が合成基本デプスモデルとなる。
【0025】
例えば合成比率決定部13は、画面上部の高域成分評価値が小さい場合は画面上部に空もしくは平坦な壁が存在するシーンと認識して、画面上部の奥行きを深くした第2基本デプスモデルの比率を増加させる。また画面下部の高域成分評価値が小さい場合は画面下部に平坦な地面もしくは水面が手前に連続的に広がるシーンと認識して、第3基本デプスモデルの比率を増加させる。第3基本デプスモデルでは、画面上部は遠景として平面近似し、画面下部は下に行くほど奥行きを小さくしている。
【0026】
加算部18は、合成部17により生成された合成基本デプスモデルに上記2D画像の赤成分(R)信号を重畳してデプスマップを生成する。R信号を使用する理由は、R信号の大きさが順光に近い環境で、かつテクスチャの明度が大きく異ならないような条件において、被写体の凹凸と一致する確率が高いという経験則によるものである。また赤色および暖色は色彩学における前進色であり、寒色系よりも奥行きが手前に認識され、立体感が強調されるためである。
【0027】
図2に戻る。デプスマップ加工部20は、デプスマップ生成部10により生成されたデプスマップを加工する。本実施の形態ではデプスマップ加工部20は、外部設定される複数のマスクパターン(以下、単にマスクという)により指定される画面内の複数の領域ごとに、デプスマップ生成部10により生成されたデプスマップを個別または独立に加工する。例えばゲイン調整、オフセット調整、グラデーション処理などの加工を行う。デプスマップ加工部20による処理の詳細は後述する。
【0028】
3D画像生成部30は、上述の2D画像およびデプスマップ加工部20により加工されたデプスマップをもとに別視点の2D画像を生成する。3D画像生成部30は、オリジナル視点の2D画像と別視点の2D画像を右眼画像と左眼画像として出力する。
【0029】
以下、オリジナル視点の2D画像とデプスマップを用いて当該2D画像と視差を持つ別視点の2D画像を生成する具体例を説明する。この具体例ではオリジナル視点の2D画像を画面表示させた場合の視点を基準にして、左に視点移動した別視点の2D画像を生成する。その場合、観察者に対してテクスチャを近景として表示させるときは画面に向かって左側へオリジナル視点の2D画像のテクスチャを所定量移動させ、テクスチャを観察者に遠景として表示させるときは画面に向かって右側へテクスチャを所定量移動させる。
【0030】
デプスマップの各画素の輝度値をYd、飛び出し感を表す輻輳値をm、立体感を表す奥行き値をnとする。3D画像生成部30は輝度値Ydの小さい値から順に、その輝度値Ydに対応するオリジナル視点の2D画像のテクスチャを画素ごとに(Yd−m)/n画素分左にシフトする。(Yd−m)/nの値が負の場合、(m−Yd)/n画素分右にシフトする。なお観察者には、デプスマップの輝度値Ydの小さいテクスチャは画面奥側に見え、輝度値Ydの大きいテクスチャは画面手前に見える。輝度値Yd、輻輳値m、奥行き値nは0〜255の範囲の値であり、例えば、輻輳値m=200、奥行き値n=20に設定される。
【0031】
なお、デプスマップ生成部10によるデプスマップ生成、および3D画像生成部30による3D画像生成のより詳細な説明は、本出願人が先に出願した特開2005−151534号公報、特開2009−44722号公報に開示されている。
【0032】
操作受付部40は、コンソール端末装置200の操作部60から入力される信号を受け付ける。操作受付部40は、受け付けた信号に応じてデプスマップ生成部10、デプスマップ加工部20、3D画像生成部30または表示制御部50に制御信号を供給する。表示制御部50はコンソール端末装置200の表示部70を制御する。表示制御部50は表示部70に、2D入力画像、デプスマップ生成部10により生成されたデプスマップ、デプスマップ加工部20により加工されたデプスマップ、3D画像生成部30により生成された3D出力画像のいずれを表示させることもできる。
【0033】
図4は、本発明の実施の形態1に係る画像編集システム500の全体処理プロセスを説明するための図である。一般的に2D画像には複数のオブジェクトが含まれる。図4の2D入力画像は3つのオブジェクトを含む。具体的には人物、木、背景のオブジェクトを含む。まずデプスマップ生成部10は、2D入力画像からデプスマップを生成する(ステップS10)。デプスマップは白に近いほど輝度が高く観察者との距離が近いことを示し、黒に近いほど輝度が低く観察者との距離が遠いことを示す。3D画像を生成する場合、デプスマップの白に近い領域ほど飛び出し量が大きくなり、黒に近い領域ほど引っ込み量が大きくなる。
【0034】
本実施の形態では画像内の複数のオブジェクトに対して個別に奥行き感を調整するために、デプスマップ内の個々のオブジェクト領域に対して独立にエフェクト調整する。具体的には、画像中の個々のオブジェクト領域を表す複数のマスクを用いて、デプスマップ内に、個々のオブジェクト領域を特定する。そして特定されたオブジェクト領域ごとに個別にエフェクト調整し、エフェクト調整された複数のデプスマップを得る。そして、この複数のデプスマップを合成して一つのデプスマップを生成する。このデプスマップは、オリジナル視点の2D画像から別視点の2D画像を生成する際に使用される。
【0035】
デプスマップ生成部10は2D入力画像のデプスマップを自動的に生成する(S10)。生成されたデプスマップは、デプスマップ加工部20に入力される。デプスマップ加工部20には、2D入力画像内の複数のオブジェクト領域をそれぞれ表す複数のマスクも入力される。これらのマスクはユーザによりトレースされたオブジェクト領域の輪郭をもとに生成される。例えば、表示制御部50は表示部70に2D入力画像を表示させ、ユーザはその2D入力画像内においてオブジェクト領域とすべき領域の輪郭を、操作部60を使用してトレースする。操作受付部40は操作部60からの信号により、個々のオブジェクト領域の輪郭情報を生成し、マスクとしてデプスマップ加工部20に出力する。なおユーザが印刷物上に描いた輪郭をスキャナにより読み取ることによりマスクを画像処理装置100に読み込ませてもよい。
【0036】
図4では各マスクの有効領域を白で無効領域を黒で描いている。人物のマスクは人物の領域のみを有効とし、他の領域を無効とするパターンである。木のマスクは木の領域のみを有効とし、他の領域を無効とするパターンである。背景のマスクは背景のみを有効とし、他の領域を無効とするパターンである。
【0037】
1画面あたりのマスクの数に制約はなく、ユーザが任意に設定できる。またオブジェクト領域はユーザが1つのオブジェクト領域にすべきと決定した領域に設定できる。例えば、図4に示すように1人の人物に1つのオブジェクト領域を設定しもよいし、人物の部位ごと、さらに各部位の部分ごとにオブジェクト領域を設定してもよい。特に高品質な3D画像を生成する際には、1人の人物に対しても多数のオブジェクト領域を設定し、部位ごと、さらに各部位の部分ごとに厚みや奥行き方向の位置を調整することもある。
【0038】
デプスマップ加工部20は、デプスマップ生成部10から入力されるデプスマップ(以下、入力デプスマップという)を、ユーザインタフェースを介して入力される複数のマスクを用いて加工する(S20)。デプスマップ加工部20は各マスクで特定される領域ごとに、個別にデプスマップを加工する。以下、この領域別のデプスマップの加工をデプスマップのレイヤ処理と呼ぶ。またレイヤ処理されたデプスマップをレイヤデプスマップと呼ぶ。本明細書ではレイヤを、マスクの有効領域に対する処理の単位を示す概念として使用している。
【0039】
図4では、一例としてデプスマップ加工部20は入力デプスマップから、人物のマスク(レイヤ1のマスク)を用いて人物の領域を特定してレイヤ処理している(S21a)。同様に入力デプスマップから、木のマスク(レイヤ2のマスク)を用いて木の領域を特定してレイヤ処理している(S21b)。同様に入力デプスマップから、背景のマスク(レイヤ3のマスク)を用いて背景の領域を特定してレイヤ処理している(S21c)。
【0040】
デプスマップ加工部20は、レイヤ1〜3のレイヤデプスマップの各オブジェクト領域のデプスマップを合成する(S22)。この合成されたデプスマップを合成デプスマップと呼ぶ。3D画像生成部30は、この合成デプスマップを用いて2D入力画像の画素をシフトし、2D入力画像に対して視差を持つ画像を生成する(S30)。3D画像生成部30は2D入力画像を3D出力画像の右眼画像(R)とし、生成した画像を左眼画像(L)として出力する。
【0041】
(ゲイン調整)
まず、デプスマップ加工部20によるレイヤ処理としてゲイン調整する例を説明する。ゲイン調整はオブジェクトの奥行き方向の厚みを調整する処理である。ゲインを上げるとオブジェクトが厚くなり、ゲインを下げるとオブジェクトが薄くなる。
【0042】
図5は、入力デプスマップのゲイン調整プロセスを説明するための図である。デプスマップ加工部20は、加工前のデプスマップである入力デプスマップに対して、人物のマスクの有効領域だけにゲインを乗算して、入力デプスマップ内の人物の部分のみデプス値の振幅を大きくする(S21a)。図5において加工後のデプスマップであるレイヤデプスマップは人物の部分の振幅が大きくなっている(符号a参照)。
【0043】
図6は、レイヤデプスマップの合成処理プロセスを説明するための図である。デプスマップ加工部20は、レイヤ1のレイヤデプスマップ(人物のデプスマップ)のうち、レイヤ1のマスク(人物のマスク)の有効領域のみを切り出す。同様にレイヤ2のレイヤデプスマップ(木のデプスマップ)のうち、レイヤ2のマスク(木のマスク)の有効領域のみを切り出す。同様にレイヤ3のレイヤデプスマップ(背景のデプスマップ)のうち、レイヤ3のマスク(背景のマスク)の有効領域のみを切り出す。デプスマップ加工部20は、切り出した3つのデプスマップを組み合わせて合成デプスマップを生成する。
【0044】
図7は、マスクを使用しない入力デプスマップのゲイン調整プロセスを説明するための図である。レイヤデプスマップの合成の際、各レイヤデプスマップのマスクの有効領域のみを用いて合成するのであれば、各レイヤデプスマップのマスクの無効領域は合成デプスマップに反映されないことになる。よって、デプスマップ加工部20は入力デプスマップ全体にゲインを乗算して、入力デプスマップ全体のデプス値の振幅を大きくする(S21a)。図7においてレイヤデプスマップは全体の振幅が大きくなっている(符号b参照)。
【0045】
図8は、3D画像生成部30による3D画像生成プロセスを説明するための図である。3D画像生成部30は合成デプスマップをもとに2D入力画像の画素をシフトし、2D入力画像に対して視差を持つ画像を生成する(S30)。図8では2D入力画像内の人物部分の画素を左にシフトする例を示している。3D画像生成部30は合成デプスマップの人物部分のデプス値にオフセット値を加算してデプス値を大きくする。なおオフセット調整の詳細は後述する。人物部分のデプス値が大きくなると、3D画像の人物部分の飛び出し量が大きくなる。
【0046】
人物部分の周囲の背景部分を画素シフトせずに人物部分のみを画素シフトすると、画素が存在しない欠落画素部分が発生する(補正前の画素シフト画像の符号c参照)。3D画像生成部30は、この欠落画素部分をその周辺画素から生成した画素で補間して欠落画素部分を補正する。画素補間には様々な方法があるが、例えば人物部分の境界の画素で補間する(補正後の画素シフト画像の符号d参照)。
【0047】
(オフセット調整)
次に、デプスマップ加工部20によるレイヤ処理としてオフセット調整する例を説明する。オフセット調整はオブジェクトの奥行き方向の位置を調整する処理である。正のオフセット値を加算するとオブジェクトが飛び出し方向に移動し、負のオフセット値を加算すると引っ込み方向に移動する。
【0048】
図9は、入力デプスマップのオフセット調整プロセスを説明するための図である。デプスマップ加工部20は、加工前のデプスマップである入力デプスマップに対して、木のマスクの有効領域だけにオフセットを加算して、入力デプスマップ内の木の部分のみデプス値のレベルを高くする(S21b)。図9において加工後のデプスマップであるレイヤデプスマップは木の部分のレベルが高くなっている(符号g参照)。
【0049】
図10は、マスクを使用しない入力デプスマップのオフセット調整プロセスを説明するための図である。レイヤデプスマップの合成の際、各レイヤデプスマップのマスクの有効領域のみを用いて合成するのであれば、各レイヤデプスマップのマスクの無効領域は合成デプスマップに反映されないことになる。よって、デプスマップ加工部20は入力デプスマップ全体にオフセットを加算して、入力デプスマップ全体のデプス値のレベルを高くする(S21b)。図10においてレイヤデプスマップは全体のレベルが高くなっている(符号h参照)。
【0050】
オフセット調整する際に使用するオフセット値は外部から設定される。ユーザは操作部60を使用して所望のオフセット値を入力し、操作受付部40は操作部60から入力されるオフセット値を受け付けてデプスマップ加工部20に設定する。以上の説明ではデプスマップのオブジェクト領域にオフセット値を加算する例を示したが、合成デプスマップにオフセット値を加算してもよい。
【0051】
デプスマップのオフセット領域ではなく合成デプスマップをゲイン調整すると、意図どおりのゲイン調整ができない場合がある。以下、デプスマップのデプス値のダイナミックレンジを拡大または縮小し、画面全体の奥行き感を強めたり弱めたりする場合を想定する。以下の説明では、奥行き感を強める場合について説明するが、逆に奥行き感を弱める場合についても同様である。
【0052】
画面全体の奥行き感を強めるための方法として、合成デプスマップに対して均一にゲインを掛ける方法が考えられる。しかしながら、この方法ではデプス値のダイナミックレンジが拡大されると同時に、個々のオブジェクトの凹凸感の振幅も拡大される。後者の拡大も調整の意図に適っていればよいが、そうでない場合もある。
【0053】
以下、デプス値のダイナミックレンジは拡大するが、個々のオブジェクトの凹凸感の振幅は変化しない調整方法について説明する。デプスマップ加工部20は、デプスマップ全体のデプス値の平均値と、デプスマップ内の各オブジェクト領域内におけるデプス値の平均値との各差分に、デプスマップ全体のダイナミックレンジを調整するための共通の係数を掛ける。各演算結果は各オブジェクト領域内におけるデプス値のオフセット値となる。デプスマップ加工部20は、各オブジェクト領域内におけるデプス値に、対応する各オフセット値を加算する。
【0054】
以下、具体例を挙げて説明する。合成デプスマップのデプス値が−X〜+Xに分布しているとし、このデプス値の分布−X〜+Xをデプス値のダイナミックレンジとする。以下デプス値のダイナミックレンジを拡大する例を考える。例えばデプス値のダイナミックレンジを1.5倍にして、デプス値の分布を−X〜+Xから−1.5X〜+1.5Xに変更する。個々のオブジェクトの凹凸感の振幅を変化させずに、デプス値のダイナミックレンジを拡大させるために以下の処理を実行する。
【0055】
まずデプスマップ加工部20はデプスマップ全体におけるデプス値の最小値、最大値、平均値をそれぞれ算出する。当該最小値と当該最大値の差が、デプス値のダイナミックレンジである。次にデプスマップ加工部20はデプスマップの各オブジェクト領域内におけるデプス値の平均値を算出する。次にデプスマップ加工部20は各オブジェクト領域内におけるデプス値の平均値から、デプスマップ全体におけるデプス値の平均値を減算する。この減算結果をレイヤデプスの平均差分と呼ぶ。
【0056】
以下、デプス値のダイナミックレンジをa倍に拡大したい場合を考える。デプスマップ加工部20は、各レイヤデプスの平均差分をa倍する。次にa倍した各レイヤデプスの平均差分から、各レイヤデプスの平均差分を減算する。この減算結果を、各レイヤデプスの平均差分のオフセット値と呼ぶ。最後にデプスマップ加工部20は、各レイヤデプスの平均差分のオフセット値を、デプスマップの各オブジェクト領域内におけるデプス値に加算する。
【0057】
これにより、各レイヤデプスマップではデプス値のオフセット値だけが変化し、デプス値の振幅値は変化しない。従って個々のオブジェクトの凹凸感の振幅を変化させずに、デプス値のダイナミックレンジを拡大できる。
【0058】
図11(a)−(c)は、デプスマップ全体のダイナミックレンジ調整を説明するための図である。ここまで2D入力画像内のレイヤ数が3の例を説明してきたが、図11(a)−(c)ではレイヤ数が5(レイヤ0〜レイヤ4)の例を示している。観察者から見てレイヤ0のオブジェクトが最も引っ込んで見え、レイヤ4のオブジェクトが最も飛び出して見える。
【0059】
図11(a)は、ダイナミックレンジ調整前の各レイヤのデプスの一例を示す。各レイヤにおいて矢印(符号l参照)は、各レイヤのオブジェクト領域におけるデプス値の最小値(符号j参照)と、最大値(符号k参照)により規定される。即ち矢印(符号l参照)は各レイヤのダイナミックレンジを示している。各矢印を結ぶ線は、各レイヤのオブジェクト領域におけるデプス値の平均値(符号i参照)を結んだ線である。
【0060】
図11(b)は、図11(a)の各レイヤのデプスに、均一に2倍のゲイン調整を適用した後の各レイヤのデプスを示す。デプスマップ全体のダイナミックレンジが2倍に拡大されると同時に、各レイヤのオブジェクト領域のダイナミックレンジ、即ち各レイヤの凹凸感の振幅も2倍に拡大されている。
【0061】
図11(c)は、図11(a)の各レイヤのデプスに、上述したオフセット調整を適用した後の各レイヤのデプスを示す。デプスマップ全体のダイナミックレンジは2倍に拡大されるが、各レイヤのオブジェクト領域のダイナミックレンジ、即ち各レイヤの凹凸感の振幅は変化しない。例えばオブジェクトとして複数の人物が画面に存在する場合において、各人物の厚みは変化させずに各人物間の距離を調整することにより、奥行き感を強めることができる。
【0062】
(グラデーション付加)
次に、デプスマップ加工部20によるレイヤ処理としてグラデーションを付加する例を説明する。グラデーションの付加は、個々のオブジェクトの奥行きに傾斜を付ける処理である。
【0063】
図12は、入力デプスマップのグラデーション付加プロセスを説明するための図である。デプスマップ加工部20は、加工前のデプスマップである入力デプスマップに対して、背景のマスクの有効領域だけ(図12では地面だけ)に、グラデーションを付加して背景の部分のみデプス値に傾斜を付けている(S21c)。図12において加工後のデプスマップであるレイヤデプスマップは地面の奥行きに傾斜がついている(符号m参照)。
【0064】
以下より具体的に説明する。図示しないグラデーションパターン保持部はあらかじめ生成された少なくとも一つのグラデーションパターンを保持している。グラデーションパターン保持部は、図12に示すように平面のグラデーションパターンだけでなく、球面、円筒など様々な形状のグラデーションパターンを保持してもよい。また同じ形状のグラデーションパターンであっても、傾斜角度および/または傾斜方向が異なる複数のグラデーションパターンを保持してもよい。
【0065】
ユーザは操作部60を使用して、当該グラデーションパターン保持部に保持される複数のグラデーションパターンを表示部70に表示させ、その中から1つを選択できる。操作受付部40は操作部60からの入力を受け付けて、その入力に対応するグラデーションパターンを取得してデプスマップ加工部20に出力する。
【0066】
デプスマップ加工部20には、デプスマップ生成部10から入力デプスマップ、外部からマスク、グラデーションパターン保持部からグラデーションパラメータがそれぞれ入力される。デプスマップ加工部20は入力デプスマップ内のマスクの有効領域に、グラデーションパターンを加算する。
【0067】
図13は、マスクを使用しない入力デプスマップのグラデーション付加プロセスを説明するための図である。レイヤデプスマップの合成の際、各レイヤデプスマップのマスクの有効領域のみを用いて合成するのであれば、各レイヤデプスマップのマスクの無効領域は合成デプスマップに反映されないことになる。よって、デプスマップ加工部20は入力デプスマップ全体にグラデーションを付加して、入力デプスマップ全体のデプス値に傾斜をつける(S21c)。図13においてレイヤデプスマップは全体に傾斜がついている(符号n参照)。
【0068】
上記の説明では、デプスマップに付加すべきグラデーションパターンを、あらかじめ生成された典型的なグラデーションパターンから選択する例を説明した。以下、デプスマップに付加すべきグラデーションパターンを、制御パラメータにより指定する例を説明する。デプスマップ加工部20は、外部設定される、それぞれ独立に調整可能なグラデーションの傾斜パラメータ及び方向パラメータをもとに、デプスマップのオブジェクト領域にグラデーションを付加する。さらに外部設定されるオフセットパラメータをもとに、デプスマップの指定領域をオフセット調整しつつグラデーションを付加することもできる。
【0069】
ユーザは操作部60を使用して、当該グラデーションの傾斜パラメータ、方向パラメータ、オフセットパラメータを入力できる。操作受付部40は操作部60からの入力を受け付けてデプスマップ加工部20に出力する。
【0070】
デプスマップにグラデーションを付加する処理は、デプスマップの各画素に対してグラデーションの角度と傾斜に応じた、グラデーションデプス値を加算することで実現できる。この処理を行うための制御パラメータとして、Slope、Angleを使用する。Slopeは1画素あたりのデプス値の変化値で規定される。以下、説明を単純化するためデプス値が比例関数的に変化する傾斜モデルを考える。なおデプス値が指数関数的に変化する等、傾斜モデルには他にも様々な種類がある。
Slope:グラデーションの傾斜 [デプス値/画素]
Angle:グラデーションの画像に対する角度 [degree]
【0071】
グラデーションは、画面の中心を基準に付加するとし、画面の中心の座標を(x,y)=(0,0)とする。これを基準とした、画像上の任意の画素の座標を(x,y)=(x_base,y_base)とする。X軸方向、Y軸方向それぞれのグラデーションの傾斜値をslope_x、slope_yとすると、slope_x、slope_yは下記式(1)、式(2)で表される。
slope_x=slope*cosθ=slope*cos(2π*(Angle/360)) …式(1)
slope_y=slope*sinθ=slope*sin(2π*(Angle/360)) …式(2)
【0072】
ある座標における、X軸方向、Y軸方向それぞれのグラデーションデプス値をgrad_depth_x、grad_depth_yとすると、grad_depth_x、grad_depth_yは下記式(3)、式(4)で表される。
grad_depth_x=Slope_x*x_base …式(3)
grad_depth_y=Slope_y*y_base …式(4)
【0073】
デプスマップにグラデーションを付加するために、各画素のデプス値に加算するグラデーションデプス値をgrad_depthとすると、grad_depthは下記式(5)で表される。
grad_depth=grad_depth_x+grad_depth_y …式(5)
【0074】
上記式(5)により求めたグラデーションデプス値を、デプスマップの各画素に加算することにより、デプスマップにグラデーションを付加することができる。グラデーションの傾斜は上記Slopeの値を、グラデーションの画像に対する角度は上記Angleの値を変化させることにより自在に設定できる。
【0075】
以上、式(1)〜式(5)を用いてデプスマップにグラデーションを付加する方法について説明した。この方法ではグラデーションデプス値は画面の中心を基準に付加されるため、画面中心ではデプスマップのデプス値は変化しない。以下、デプスマップにグラデーションを付加すると同時にオフセットも加算し、任意ポジションにおいて任意レベルのグラデーションを付加する方法について説明する。
【0076】
加算するオフセット値を制御するパラメータとしてOffsetを使用する。
Offset:グラデーションのオフセット
【0077】
デプスマップにグラデーションを付加する際に各画素に加算する、オフセット値も含むグラデーションデプス値をgrad_offset_depthとすると、grad_offset_depthは下記式(6)で表される。
grad_offset_depth=grad_depth_x+grad_depth_y+Offset …式(6)
【0078】
これにより、画面の任意ポジションにおいて任意レベルのグラデーションを付加することができる。以上の説明では、デプスマップのオブジェクト領域にグラデーションを付加する例を場合を示したが、合成デプスマップにグラデーションを付加してもよい。
【0079】
以上説明したように実施の形態1によれば、2D画像から3D画像を生成する際に、ユーザの手間を軽減しつつ高品質な3D画像を生成できる。即ちデプスマップ生成部10によりシーン構造を推定して複数の基本デプスモデルの合成比率を変化させることにより、自動処理によりシーン構造を反映させたデプスマップを生成できる。さらに、ユーザの指示を反映させたデプスマップ加工部20により、当該デプスマップ内のオブジェクト毎に個別にデプスマップを加工する。これにより高品質な3D画像を生成できるとともに、同様の品質の3D画像を2D画像からユーザが一から生成する場合と比較し、大幅に作業量を削減できる。
【0080】
図1に示す2D3D変換で使用されるデプスマップは、画面全体に対するデプス値を保持する。このデプスマップに対してゲイン調整またはオフセット調整することにより、画面全体の奥行き感を自在に調整できる。またこのデプスマップに対してグラデーションを付加することにより、画面全体の奥行き度合いの傾斜を自在に調整できる。
【0081】
しかしながら、一般に画像中には複数のオブジェクトが存在する。本明細書の例では人物、木、背景が存在する。仮に人物部分の奥行き感を調整するために、デプスマップをゲイン調整して人物部分の奥行き感を強調したとすると、これに伴い人物以外の木や背景の奥行き感も同時に変化してしまう。従って人物部分の奥行き感だけを独立して調整することは困難である。また仮に、木の部分の奥行き感を調整するために、デプスマップをオフセット調整して木の部分の奥行き感を強調したとすると、これに伴い木以外の人物や背景の奥行き感も同時に変化してしまう。従って木の部分の奥行き感だけを独立して調整することは困難である。また仮に、背景部分の奥行きに傾斜をつけるために、デプスマップにグラデーションを付加すると、これに伴い背景以外の人物や木の部分の奥行きにも同時に傾斜がついてしまう。従って背景部分の奥行きだけに傾斜をつけることは困難である。
【0082】
これに対して実施の形態に係る画像編集システム500によれば、画像中の個々のオブジェクトの凹凸度合い及びその傾斜を自由に独立に可変できる。従ってユーザは、実施の形態に係る2D3D変換で使用されるデプスマップをもとに生成される3D画像の遠近感を、画像中の個々のオブジェクト毎に自由に独立して制御できる。よって高品質な3D画像を生成できる。
【0083】
次に実施の形態2について説明する。実施の形態1では、マスクを用いてオブジェクト単位でデプスマップを加工し、オブジェクトに立体感を与える手法を示した。この手法はオブジェクト単位での立体感を強調するのに有効である。ただし、オブジェクト内部のボリューム感を強調することは難しいため、オブジェクトそのものはボリューム感の乏しい平面的な画像となる。
【0084】
実施の形態2では、平面的であったり局所的に凹凸だけが付いた3D画像ではなく、オブジェクト全体にボリュームが付いた、より立体感のある3D画像を生成する手法を示す。その手法は3D画像を生成する基となるデプスマップに対して、以下の処理を施すことにより実現される。まずオブジェクトの形状を特定する。次にオブジェクトの形状に合わせた立体感を推定する。次に推定した立体感に沿ったグラデーション状のエンボスパターンを生成する。最後に生成したエンボスをデプスマップに加算する。
【0085】
これらの処理により、オブジェクトの形状に合ったエンボスが付加されたデプスマップを生成できる。このデプスマップを用いて3D変換することにより、オブジェクト全体にボリュームが付いた、より立体感のある3D画像を生成できる。
【0086】
実施の形態2に係るデプスマップ加工部20は、外部設定される複数のマスクにより指定される複数のオブジェクト領域ごとに、デプスマップ生成部10により生成されるデプスマップの形状を個別に調整する。その際、後述するボリュームエンボスパターンを使用することにより、オブジェクト領域内の中央部が、周辺部と異なるデプス値を持つよう加工する。具体的にはオブジェクト領域内の中央部が、周辺部に比べて、より飛び出し量の大きいデプス値を持つように加工する。より好ましくはオブジェクト領域内において周辺部から中央部にいくに従って、周辺部に比べて中央部の飛び出し量がなだらかに変化するように加工する。さらに好ましくはオブジェクト領域内において、丸みを帯びたデプス形状になるように加工する。以下、具体的に説明する。
【0087】
図14は、実施の形態2に係る画像編集システム500の構成を示す図である。実施の形態2に係る画像編集システム500における画像処理装置100は、図2の実施の形態1に係る画像処理装置100にボリュームエンボス生成部80が追加された構成である。ボリュームエンボス生成部80は、入力されるマスク内のオブジェクトの輪郭の形状をもとに、そのオブジェクトのエンボスを生成する。このエンボスはオブジェクトのデプスの形状を推定したものであるため、ボリュームエンボス生成部80はデプス推定装置ともいえる。
【0088】
図15は、実施の形態2に係るボリュームエンボス生成部80の構成を示す図である。ボリュームエンボス生成部80は、輪郭特定部81、距離特定部82、デプス値決定部83及びレベル変換部84を含む。
【0089】
輪郭特定部81は、入力されるマスクをもとに、オブジェクトの輪郭部分の位置を特定する。このマスクはデプスマップ加工部20に入力されるマスクと同じものである。
【0090】
距離特定部82は、オブジェクト領域内の対象画素と、輪郭特定部81により特定された当該オブジェクトの輪郭との最短距離を求める。例えば対象画素の位置を中心とする同心円状に広がる探索円を用いて、輪郭との接点を探索することにより、当該最短距離を求める。この探索方法の詳細は後述する。ここで同心円状に広がるとは、一周するごとに一画素ずつ広がる例に限らず、螺旋状に広がっていってもよい。また簡易モードとして数画素(例えば、4画素)単位で探索円を広げていってもよい。この場合、精度は低下するが、輪郭に到達するまでの時間は短縮される。距離特定部82は、オブジェクト領域内の全画素について当該輪郭との最短距離を求める。
【0091】
デプス値決定部83は、距離特定部82により求められた最短距離に応じて対象画素のデプス値を決定する。デプス値決定部83は、この最短距離が長いほど飛び出し量を大きくする。本明細書では、より飛び出し量の大きいデプス値を持つように加工する。これはオブジェクト領域内においてその輪郭から内側に侵入するほど膨らみを大きくするモデルにもとづく。距離特定部82によりオブジェクト領域内の全画素について輪郭との最短距離が求められるため、オブジェクト領域内の全画素についてデプス値が決定される。したがってオブジェクトのデプスマップに基づくエンボスパターンが生成される。
【0092】
レベル変換部84は、デプス値決定部83により生成されたエンボスパターンを、写像関数または数値変換テーブルを用いてレベル変換する。このレベル変換により、デプス値決定部83により決定されたデプスの形状を任意の形状に加工できる。レベル変換の具体例は後述する。
【0093】
デプスマップ加工部20は上述のレイヤデプスマップを生成するとともに、そのレイヤデプスマップを、ボリュームエンボス生成部80により生成されたオブジェクトのエンボスパターンをもとに加工する。具体的にはデプスマップ加工部20は、デプスマップ生成部10により生成されたデプスマップをレイヤ処理して複数のレイヤデプスマップを生成する。レイヤ処理には実施の形態1で説明したようにゲイン調整、オフセット調整およびグラデーション付加が含まれる。デプスマップ加工部20は、各オブジェクト領域のデプスマップに対して指定されたレイヤ処理を施す。デプスマップ加工部20は生成したレイヤデプスマップに対して、ボリュームエンボス生成部80により生成された対応するオブジェクトのエンボスパターンを加算する。
【0094】
なおデプスマップ加工部20は、デプスマップ生成部10により生成されたデプスマップにレイヤ処理せずに、そのデプスマップの各オブジェクト領域に対して、ボリュームエンボス生成部80により生成されたそれぞれ対応するオブジェクトのエンボスパターンを加算してもよい。
【0095】
デプスマップ加工部20は、加工した複数のレイヤデプスマップを合成する。これにより2D3D変換により使用されるデプスマップが生成される。
【0096】
以下、具体例を挙げながら実施の形態2に係るデプスマップ加工部20による加工処理についてより詳細に説明する。上述したように実施の形態2ではオブジェクト全体に立体感のあるボリュームを付与するために以下の処理を実行する。まずオブジェクトの形状を特定する。次にオブジェクトの形状に合わせた立体感を推定する。次に推定した立体感に沿ったグラデーション状のエンボスパターンを生成する。最後に生成したエンボスをデプスマップに加算する。
【0097】
図16(a)−(c)は、実施の形態2に係る、オブジェクトのデプスマップの生成方法を説明するための図である。輪郭特定部81に入力されるマスクは、オブジェクトの輪郭に沿って描かれ、オブジェクトの外側と内側とを白黒のパターンで塗り分けたものである。マスクの形状から、オブジェクトの凡その外形が推定できる。
【0098】
図16(a)は原画の一例を示し、図16(b)はその原画のマスクの一例を示す。図16(b)に示すマスクは原画内の人物のマスクである。その人物のマスクは頭部と胴体の両方を含むマスクである。
【0099】
オブジェクトの形状に合わせた立体感を推定するために、以下の3つの経験則から推定されるモデルを定義する。第1にオブジェクトは全体に丸みを持っている。第2にオブジェクトはその端に比べて中央がより盛り上がった構造をしている。第3にオブジェクトは幅が狭い部分より広い部分のほうがより盛り上がった構造をしている。
【0100】
例えば、オブジェクトとして人物を想定する場合、頭部は球形に近く、胴体は円柱に近い長楕球に近い構造をしている。また、腕や首などの細い部分に比べて、胴体などの太い部分は、より厚みのある構造をしている。このような経験則に基づいて、上記のモデルを定義できる。
【0101】
推定した立体感に沿ったグラデーション状のエンボスパターンを生成するために、以下の処理を実行する。まずオブジェクトの内部のエリア、つまりマスクが有効なエリアを特定する。本明細書ではマスク内の当該エリアは白になる。
【0102】
次に距離特定部82は、そのエリア内の特定のマスク画素に対して、その画素から最も近いマスクエッジまでの距離を測定する。求めた距離は、その画素がオブジェクト領域内でどの程度中央寄りにあるかを示す指標となる。距離が大きいほど、その画素がオブジェクト領域内で中央寄りに位置することになる。距離特定部82は、オブジェクトの外部のエリア、つまりマスクが無効のエリアの画素について距離をゼロに設定する。本明細書ではマスク内の当該エリアは黒になる。
【0103】
デプス値決定部83は、このようにして求めた距離情報を輝度情報に変換して、画像テーブルを作成する。これにより、オブジェクトの外側のエリアはゼロであり、内側のエリアは中央にいくに従って輝度が高くなる、グラデーション状のエンボスパターンを生成できる。以下、これをボリュームエンボスと呼ぶ。
【0104】
図16(c)は、図16(b)のマスクを用いて生成された人物のボリュームエンボスの一例を示す。色の明るい部分が飛び出し部分を示す。また、マスク無効エリアに相当する領域のグレーは、デプス値がゼロであることを示す。
【0105】
最後に、デプスマップ加工部20は、生成されたボリュームエンボスをレイヤデプスマップに加算する。これにより、オブジェクトの形状に合わせたボリュームエンボスがオブジェクトに付加され、さらにオブジェクト内部の個々の部分に細かい凹凸が付加されたデプスマップを生成できる。このデプスマップを用いて3D変換することにより、オブジェクト全体にボリューム感と細かい凹凸感が付加された、より立体感のある3D画像を生成できる。
【0106】
以下、オブジェクト領域内の特定の画素について、その画素からマスクエッジまでの最短距離を測定する具体的手法について説明する。距離特定部82は、オブジェクト領域内にある、測定対象のマスク画素ポジションを中心に、近隣のマスク画素を探索する。探索は、測定対象画素に近い画素から遠い画素の順に行う。例えば、測定対象画素を中心に、所定の角度と半径で決まる探索ポジションを規定し、角度が360°変化する毎に半径を徐々に小さいほうから大きいほうに変化させて探索ポジションを移動させる。この探索の過程で、黒いマスク画素が最初に見つかったときが、測定対象画素から最も近いマスクエッジを見つけたことに相当する。距離特定部82は、測定対象画素と、発見した黒いマスク画素との距離を求める。これにより測定対象画素からマスクエッジまでの最短距離を求めることができる。この距離は、測定対象画素がオブジェクト領域内でどの程度中央寄りにあるかを示す指標となる。
【0107】
図17(a)−(b)は、オブジェクト領域内の対象画素からマスクエッジまでの最短距離を探索する処理を説明するための図である。図17(a)は図16(b)に示したマスクにおいて、オブジェクト領域内の画素からマスクエッジまでの最短距離を渦巻状に探索する様子を示している。図17(a)では人物の頭部を構成する画素の、マスクエッジまでの最短距離を探索する様子を示している。図17(b)は図17(a)に示すマスク内の人物の頭部およびその周辺を切り出して拡大した図である。
【0108】
以下、図17(b)に示すマスクにおいてオブジェクト領域の任意の画素からマスクエッジまでの最短距離を求める手法を具体的に説明する。図17(b)においてオブジェクト領域は白い領域であり、マスクエッジは白い領域と黒い領域の境界である。オブジェクト領域の任意の画素の座標を(x0,y0)と定義する。
【0109】
距離特定部82は、(x0,y0)を基点に渦巻状にマスク画素を探索する。即ち、(x0,y0)を中心とした円の円周上の座標の画素を順に探索し、一周分の探索が終了すると円の半径を一単位増加させる。この探索を黒いマスク画素が見つかるまで繰り返す。円の半径を一単位増加させつつ探索するため、最初に見つかった黒いマスク画素の座標が、基点(x0,y0)から最短距離にあるマスクエッジの座標となる。
【0110】
探索円の半径をr、角度をθとすると、探索画素の座標(x,y)は下記式(7)、式(8)で表される。
x=r*cosθ+x0 …式(7)
y=r*sinθ+y0 …式(8)
【0111】
最初に黒いマスク画素が見つかったときの探索画素の座標を(x1,y1)とすると、基点(x0,y0)と探索点(x1,y1)の距離Lは、下記式(9)で表される。この距離Lが、基点(x0,y0)からマスクエッジまでの最短距離に相当する。
L=√((x1-x0)2+(y1-y0)2) …式(9)
【0112】
以上説明した、対象画素からマスクエッジまでの最短距離を求める手法は一例であり、最短距離を求めることができれば、他の手法を用いてもよい。
【0113】
図18は、ボリュームエンボスの輝度変化を示す図である。図19(a)−(c)は、ボリュームエンボスのレベル変換を説明するための図である。デプス値決定部28により生成されるボリュームエンボスは、距離特定部82により求められた距離情報をそのまま輝度情報に変換したものである。図18に示すボリュームエンボス内のA点からB点を結ぶ直線上の距離情報、即ちその直線上の輝度情報は、図19(a)に示すように折れ線形状となる。
【0114】
オブジェクトの形状は丸みを持っている場合が多い。図19(a)に示すような折れ線形状のエンボスパターンでは、実際の立体感と一致しない場合が多くなる。この対策として、曲線関数による写像を用いて、直線形状の輝度変化を曲線形状の輝度変化にレベル変換する。これにより、より実際のオブジェクト形状に近いボリュームエンボスパターンに変換できる。図19(b)は図19(a)の折れ線形状の輝度変化を、曲線形状の輝度変化に変換する様子を示す。図19(b)に示す例では、レベル変換を行うための曲線関数の一例として逆正接関数(アークタンジェント関数)を用いている。
【0115】
図19(c)は、逆正接関数の特性を示す図である。図19(c)内に記載されている式のa、bは係数を示す。このように逆正接関数による写像を用いて、直線形状の輝度変化を曲線形状の輝度変化にレベル変換する。これにより、より実際のオブジェクト形状に近い、丸みを帯びたボリュームエンボスパターンを生成できる。
【0116】
なお図19(c)の逆正接関数は一例である。その係数を変化させることにより、任意形状に変形した曲線を用いてもよい。また、逆正接関数に限らず他の種別の曲線関数を使用してもよい。またオブジェクトの形状に応じて複数の種類の曲線関数を使い分けてもよい。逆正接関数は丸みを持ったエンボスパターンを生成するための曲線関数の一例であるが、オブジェクトの形状によっては、丸くない形状のエンボスパターンを生成する関数を使用してもよい。また関数ではなく変換係数テーブルを用いてレベル変換処理してもよい。また、写像をあえて行わず、元の折れ線形状のままのエンボスパターンを用いてもよい。
【0117】
以上説明したように実施の形態2によれば、デプスマップに対して、オブジェクトの形状に合わせたボリュームエンボスを付加できる。このデプスマップを用いて3D変換することにより、オブジェクト全体にボリューム感が付いた、よりリアルで立体感のある3D画像を生成できる。またこのボリュームエンボスを自動で生成できるため、ユーザの負担が増大することもない。
【0118】
実施の形態2に係るボリュームエンボス生成部80(デプス推定装置)は、マスクに限らず写真、CGを含む画像全般に適用可能である。また輪郭特定部81は、画像内のオブジェクト領域を既存の手法を用いて自動的に検出することもできる。例えば、画像にハイパスフィルタをかけることにより画像内のエッジを検出できる。
【0119】
一般的な画像加工アプリケーションには、オブジェクトにグラデーションを付加する機能を搭載しているものが多い。実施の形態2に係るデプス推定装置は、3D画像の生成を目的とせず、2D画像内のオブジェクトへのグラデーション付加を目的とする処理にも適用可能である。
【0120】
汎用的な画像加工アプリケーションにおけるグラデーション付加機能は、オブジェクトのデプスの形状を考慮しないものが多い。この場合、自然なグラデーションとするにはユーザによる調整作業が必要となる。CG作成用など高性能な画像処理アプリケーションでは、オブジェクトのデプスの形状を考慮してグラデーションを付加するものがある。例えば、オブジェクト図形の重心を求めて、重心が最も膨らむようにグラデーションを付加するものがある。
【0121】
このような重心を求める手法と比較して、実施の形態2に係るデプス推定装置を用いるほうが、デプスの形状を精度よく推定できる。円などの単純な形状の場合、両者の間で精度の違いがほとんど発生しないが、複雑な形状の場合、両者の間で大きな精度の違いが発生する。
【0122】
図20(a)−(b)は、複雑なオブジェクト形状のボリュームエンボスの一例を示す図である。図20(a)は図16(b)と同様に人物のマスクであるが、頭部と胴体に加えて両腕と隣の人の左腕もオブジェクトに含まれる。図20(b)は、図20(a)のマスクを用いて生成されたオブジェクトのボリュームエンボスの一例を示す。生成されたボリュームエンボスは、それぞれの部位において中央の部分のボリュームが大きくなっている。これは自然でリアルなボリュームエンボスといえる。
【0123】
これに対して重心を求める手法では、図20(a)のような複雑な形状の場合、そもそも重心を求めること自体が非常に難しい。また仮に重心が求められたとしても、その重心の位置のボリュームを最も大きくして徐々に小さくするという手法では不自然なボリュームエンボスとなる。図20(a)のような人物のオブジェクトの場合、本来、部位ごとに重心が求められる必要がある。したがって重心を求める手法を使用する場合、単純な形状の部品ごとにグラデーションを付加して複数の部品を組み合わせる必要がある。その場合、部品間のグラデーションに不整合が生じやすい。また部品を組み合わせるユーザの作業が必要となる。また重心を求める手法では、ドーナツなど重心を特定しづらい形状への適用が困難である。
【0124】
これに対して実施の形態2に係るデプス推定装置を用いる場合、どのような形状のオブジェクトであっても一つのオブジェクトとして処理でき、生成されるボリュームエンボスの精度も高い。対象画素からエッジまでの距離を算出するというシンプルなアルゴリズムであるため汎用性が高く、ドーナツなどの特殊な形状でも高精度なボリュームエンボスを生成できる。
【0125】
次に実施の形態3について説明する。オブジェクトに立体感を与えるために、デプスマップに加算するエンボスを生成する手法の一つに、画像中の画素の情報を用いてエンボスを生成する手法がある。この手法は、オブジェクトの個別の部分に凹凸を与えることはできても、オブジェクト全体にボリューム感を与えることは困難な場合がある。
【0126】
また、マスクを用いてオブジェクト単位でデプスマップを加工し、オブジェクトに立体感を与える手法がある。この手法は、オブジェクト単位での立体感の強調はできても、オブジェクト内部のボリューム感を強調することはできず、オブジェクトそのものはボリューム感の乏しい平面的な画像となる。
【0127】
そこで実施の形態2では、オブジェクトに対して立体感を与えるために、その形状から推定される適切なエンボスパターンを生成する手法を示した。これにより、平面的な画像でなく、また局所的に凹凸だけが付いた3D画像でなく、オブジェクト全体にボリュームが付いた、より立体感のある3D画像を生成できる。
【0128】
実施の形態2の方法で生成されるエンボスパターンは、オブジェクト内の任意の点からオブジェクトのエッジまでの距離に応じて一義に決定される。従って、生成されるエンボスパターンの頂点や尾根の位置、形状などは一義的に決定される。このエンボスパターンの頂点および尾根の位置は、これを用いて変換された3D画像では、最も飛び出している位置に相当する。
【0129】
実施の形態2の方法であっても、画像内におけるオブジェクトのデプスの形状を簡単かつ高精度に推定できるが、実際の画像では、実施の形態2の方法で決定されるエンボスパターンの頂点や尾根の位置、形状などは、オブジェクトの最も飛び出している位置に一致するとは限らないことがある。以下、説明する実施の形態3によれば、画像内におけるオブジェクトのデプスの形状をさらに高精度に推定できる。以下、実施の形態3を用いるとより有効な場合について、具体的な例を挙げながら説明する。
【0130】
図21(a)−(b)は、正面を向いている人物のエンボスパターンを示す図である。図21(a)は原画を、図21(b)はエンボスパターンを示す。図21(b)内の点線は原画のオブジェクトパーツの位置を示す補助線である。白が飛び出し方向を示している。図21(a)に示すように、人物が正面を向いている画像の場合には、最も飛び出している位置は顔の中心(鼻)であると推定される。図21(b)に示すエンボスパターンでは、エンボスの頂点の位置と、オブジェクトの飛び出し位置が一致している。このエンボスパターンで3D画像に与えられる奥行き感は、実際の画像と一致した適切なものとなる。
【0131】
図22(a)−(b)は、斜め方向を向いている人物のエンボスパターンを示す図である。図22(a)は原画を、図22(b)はエンボスパターンを示す。図22(a)に示すように、人物が右斜め方向を向いている画像の場合には、最も飛び出している鼻の位置は、オブジェクトの中心から右によっている。しかしながら実施の形態2の方法で生成されるエンボスパターンでは、オブジェクト形状の中心が、最も飛び出している位置であると推定される。図22(b)に示すエンボスパターンでは、エンボスの頂点の位置と、オブジェクトの飛び出し位置が一致していない。このエンボスパターンで3D画像に与えられる奥行き感は、実際の画像とは一致しないものとなる。
【0132】
またオブジェクトの立体感と、これを作るためのデプスエンボスパターンの頂点を一致させる手法として、例えば、ユーザ自身にオブジェクトの頂点のポジションを指定させ、この位置からオブジェクトのエッジに対して放射線を描く手法が提案されている。この手法では、正しい頂点の立体感を持つエンボスパターンを生成できる。しかしながらこの手法では、ユーザに頂点を指定させるための特別なグラフィカルユーザインタフェースと、ユーザ自身に頂点指定作業を行わせるための煩雑なプロセスの追加が必要になる。
【0133】
また、エンボスパターンをオブジェクト内の任意の点からオブジェクトのエッジまでの距離に応じて一義に決定した場合は、オブジェクトの形状によっては、そのオブジェクト本来の立体感を正しく再現できない場合がある。以下、具体例を挙げながら説明する。
【0134】
図23(a)−(c)は、ボトルのエンボスパターンを示す図である。図23(a)に示すように、オブジェクトがボトル等の回転体形状の場合には、本来は図23(b)に示すようなエンボスパターンが生成されるべきである。しかしながら実施の形態2の方法で生成されるエンボスパターンは、図23(c)に示すようなエンボス形状となり、オブジェクト本来の立体感とは異なる形状のエンボスが生成される。ボディが円柱状のボトルの場合、上下方向には丸みを帯びるべきではないが、図23(b)では上下方向にも丸みを帯びている。
【0135】
実施の形態3の方法は、ユーザ自身に頂点指定作業を行わせるための煩雑なプロセスの追加を必要とせず、所望の部分を頂点とした理想的なエンボス生成を可能にする。ユーザの簡単な操作で、ユーザの指定する割合だけずれた位置を中心としたエンボスパターンを生成でき、実際の画像と一致した奥行き感を持った3D画像を容易に生成できる。また図23(a)−(c)に示したような、オブジェクトが回転体形状の場合でも、オブジェクト本来の立体感と一致するエンボスを生成できる。
【0136】
実施の形態3は、オブジェクトの中心ではなく、ユーザの指定する割合だけずれた位置を中心としたエンボスパターンを自動生成するアルゴリズムを与える。実施の形態2では、任意の点のエンボスパターンの高さを求める際に、オブジェクト内の任意の基点からオブジェクトのエッジまでの距離を測定する方法を使用した。即ち、オブジェクト内のある点から渦巻き状にエッジ画素を探索していき、最も近いエッジが見つかった時の基点から探索点までの距離を算出した。実施の形態3では、その方法をベースに、エッジ画素の探索を真円ではなく特殊形状の円を用いて行う。
【0137】
図24は、実施の形態3に係るボリュームエンボス生成部80の構成を示す図である。実施の形態3に係るボリュームエンボス生成部80も、図15に示す実施の形態3に係るボリュームエンボス生成部80と同様に、輪郭特定部81、距離特定部82、デプス値決定部83及びレベル変換部84を含む。
【0138】
実施の形態2に係る距離特定部82は、真円の探索円を用いて、オブジェクトの輪郭との接点を探索した。実施の形態3に係る距離特定部82は、特殊形状の探索円を用いて接点を探索する。特殊形状の探索円は、例えば中心が偏心している円、楕円などが該当する。距離特定部82は、外部設定される円変形用のパラメータに応じて探索円の形状を変形する。当該パラメータには、水平/垂直方向の偏心率、水平/垂直方向の楕円化率、楕円化した場合の楕円の傾斜角などが該当する。
【0139】
ユーザは操作部60を操作して、上記複数のパラメータの少なくとも一つのパラメータ値を入力する。操作受付部40は、入力されたパラメータ値をボリュームエンボス生成部80の距離特定部82に渡す(上記図14参照)。
【0140】
まず偏心した探索円を使用する例を説明する。図25は、偏心していない探索円(真円)を用いてオブジェクトのエッジ画素を探索する様子を示す図である。図26は、図25のエンボスパターンを示す図である。図25にてオブジェクトは白丸である。偏心していない探索円を用いると図26に示すように、オブジェクトの中心を頂点としたエンボスパターンが生成される。
【0141】
図27(a)−(b)は、偏心している探索円(真円)を用いてオブジェクトのエッジ画素を探索する様子を示す図である。図27(a)に示す探索円は、偏心していない探索円を基に、円周上の点と中心とを結ぶ線(図27の矢印線)と、所定の軸(例えば水平軸)との角度に応じた係数を、そのときの半径に乗じて生成したものである。偏心してない探索円と偏心している探索円は、中心位置を固定して考えた場合、半径の大きさが、前述の角度に応じて異なるだけで、相互に対応関係にある。図27に示す例では、矢印が右向きのときの半径に対して最も小さい係数を乗算し、矢印が上向き(又は下向き)となり、そして左向きになるに従って、徐々に大きい係数としている。そして、矢印が左向きのときに最も大きい係数を乗算している。
また、このような偏心している探索円は、半径が大きくなるほど中心位置が所定方向にずれていく円とも言える。例えば、図27に示す例では、半径が大きくなるほど中心位置が左方向にずれていく複数の探索円となっている。
【0142】
このような偏心している探索円を用いてエッジ画素を探索する。また基点から探索した画素までの距離を算出する際には、偏心している探索円に対応する偏心してない探索円の半径をその距離とする。図27(b)は、距離を求めるための偏心してない探索円を示している。
【0143】
探索円の右側よりも左側のほうが半径が大きいため、たとえ基点がオブジェクトの中央にあったとしても、基点の右側に近いエッジよりも、基点の左側に近いエッジのほうが早く探索される。また、探索した画素までの距離は偏心してない探索円の半径で計算される。従って、見つかったエッジまでの距離は、実際よりも近い距離にあると判断される。
【0144】
図28は、偏心している探索円(真円)を用いてオブジェクトのエッジ画素を探索する様子を示す図である。図29は、図28のエンボスパターンを示す図である。図28は、図26と同じオブジェクトのエッジ画素の探索を、偏心している探索円を用いて行う様子を示している。この場合、オブジェクトの左エッジに近い画素の方が、右エッジに近い画素よりも、エッジまでの距離が近いと判断される傾向にある。
【0145】
その結果、オブジェクトの左エッジに近い部分には、エッジまでの距離が近いと判断された画素が、オブジェクトの右エッジに近い部分には、エッジまでの距離が遠いと判断された画素が並ぶことになる。図29に示すように、生成されたエンボスパターンの高さは、画素毎のエッジまでの距離に応じて生成されるため、頂点が中央よりも右に移動したエンボスパターンが生成される。
【0146】
図30は、図28の探索円の偏心率をさらに大きくした探索円(真円)を用いてオブジェクトのエッジ画素を探索する様子を示す図である。図31は、図30のエンボスパターンを示す図である。図30の探索円は図28の探索円の偏心を極端にしたものである。図30の探索円は、左側方向には半径を持つが、右側方向には半径を持たず、常にゼロである。この場合にて、基点がオブジェクトのエッジより内側に位置する場合は、基点の左側のエッジは探索されるが、基点の右側のエッジは探索されない。基点の右側のエッジが探索されるのは、基点がオブジェクトの右側のエッジに位置する場合のみである。
【0147】
その結果、オブジェクト内部の殆ど全ての部分は、遠くになる左エッジ付近までの距離に基づいた距離情報を持つ画素となる。図31に示すように、生成されるエンボスパターンの頂点は、オブジェクトの右エッジ部分に位置することとなる。
【0148】
図32は、左下方向に偏心している探索円(真円)を用いてオブジェクトのエッジ画素を探索する様子を示す図である。図33は、図32のエンボスパターンを示す図である。この場合も同様に、頂点が中央よりも左下に移動したエンボスパターンが生成されることになる。
【0149】
このように、偏心させた探索円を用いて探索することにより、任意の部分に頂点を持つエンボスパターンを容易に生成できる。この場合、上述したような、ユーザに頂点を指定させるための、特別なグラフィカルユーザインタフェースと、ユーザ自身に頂点指定作業を行わせるための煩雑なプロセスの追加は必要ない。オブジェクト形状の中で、どの方向にどの程度頂点を移動させるかだけを指定する簡易なユーザインタフェースを用いて、簡単な操作で足りる。従ってユーザの負担を軽減できる。
【0150】
次に偏心している探索円の作成方法の一例を、図34及び図35を用いて説明する。エッジ探索を行う画素の座標を(x0,y0)とすると、その座標を中心として描いた、図34に示す、偏心させる前の探索円のポジション(x,y)は、下記式(10)のように表すことができる。
x = r*cos(θ*π/180)+x0
y = r*sin(θ*π/180)+y0 …式(10)
r:半径、θ:角度(degree)
【0151】
これに対して、図35に示す、実施の形態3に係る偏心している探索円のポジション(x,y)は、下記式(11)のように表すことができる。
x =r*cos(θ*π/180)+x0+Sx
y =r*sin(θ*π/180)+y0+Sy
Sx =r*Px
Sy =r*Py
Px=Dx*cos(DyθDx)
Py=Dy*sin(DyθDy)
DxθDy =tan-1(Dx/Dy) …式(11)
r:半径、θ:角度(degree)
Dx:水平方向の偏心比率(-1<Dx<+1)
Dy:垂直方向の偏心比率(-1<Dy<+1)
【0152】
ユーザは、操作部60から水平方向および/または垂直方向の偏心率を入力することにより、探索円をユーザの意図通りに偏心させることができる。
【0153】
次に探索円を楕円にする例を説明する。図36は、真円の探索円を用いてオブジェクトのエッジ画素を探索する様子を示す図である。図37は、図36のエンボスパターンを示す図である。図36にてオブジェクトはボトルである。図37に示すようにボトルの全方向について均等にスロープの付いたエンボスパターンが生成される。
【0154】
図38は、楕円の探索円を用いてオブジェクトのエッジ画素を探索する様子を示す図である。図39は、図38のエンボスパターンを示す図である。図38の探索円は、偏心していない真円を基に、その半径に対して、中心からの角度に応じた係数を乗じて生成したものである。真円と楕円は、半径が角度に応じて異なるだけで、相互に対応関係にある。このような楕円の探索円を用いてエッジ画素を探索する。また基点から探索した画素までの距離を算出する際には、上述の偏心の場合と同様に、楕円に対応する真円の半径をその距離とする。
【0155】
図38では探索円の上下方向よりも左右方向のほうが半径が大きいため、基点の上下方向のエッジよりも、基点の左右方向のエッジのほうが早く探索される。また探索した画素までの距離は真円の半径で計算されるため、見つかったエッジまでの距離は、実際よりも近い距離にあると判断される。その結果、オブジェクト内部の各々の画素のエッジまでの距離は、左右方向については実際より近く、上下方向については実際より遠いと判断される傾向になる。
【0156】
図39に示すように、生成されたエンボスパターンの高さは、画素毎のエッジまでの距離に応じて生成される。その結果、左右方向のスロープは緩やかであり、上下方向のスロープは急峻なエンボスパターンが生成される。
【0157】
このことは、探索円を水平方向に圧縮した楕円にする代わりに、もともとのオブジェクトを垂直方向に引き伸ばした形状に変化させておいて、真円を用いた探索手法でエンボスパターンを生成した後に、エンボスオブジェクトを垂直方向に圧縮し元通りにしても、同じパターンを得られることが容易に想像できるので、上記の手法が正しいことが裏付けられる。
【0158】
図40は、図38の探索円の楕円化率をさらに大きくした探索円を用いてオブジェクトのエッジ画素を探索する様子を示す図である。図41は、図40のエンボスパターンを示す図である。図40の探索円は図38の探索円の楕円化を極端にしたものである。この場合、生成されたエンボスの左右方向にスロープが付くが、上下方向にはスロープが殆ど付かないエンボスパターンが生成される。ボトルは回転体であるので、このほうがより理想的なエンボスパターンが生成できる。
【0159】
次に探索円を楕円化する方法の一例を、図34及び図42を用いて説明する。エッジ探索を行う画素の座標を(x0,y0)とすると、その座標を中心として描いた、図34に示す、楕円状にする前の真円の探索円のポジション(x,y)は、下記式(12)のように表すことができる。
x=r*cos(θ*π/180)+x0
y=r*sin(θ*π/180)+y0 …式(12)
r::半径、θ:角度(degree)
【0160】
これに対して、図42に示す、実施の形態3に係る楕円の探索円のポジション(x,y)は、下記式(13)のように表すことができる。
x=Rx*r*cos(θ*π/180)+x0
y=Ry*r*sin(θ*π/180)+y0 …式(13)
r:半径、θ:角度(degree)
Rx:水平方向の楕円化比率(0<Rx<+1)
Ry:垂直方向の楕円化比率(0<Ry<+1)
【0161】
ユーザは、操作部60から水平方向および/または垂直方向の楕円化比率を入力することにより、探索円をユーザの意図通りの楕円に変形できる。なお、楕円化比率を極限まで0に近づけると、楕円状の探索円はほぼ直線になる。
【0162】
次に探索円としての楕円を傾ける例を説明する。図43は、傾いたボトル形状のオブジェクトのエッジ画素を探索する様子を示す図である。図44は、図43のエンボスパターンを示す図である。図43では、回転体であるボトルの回転軸が垂直ではなく傾いている。このボトルのオブジェクトに対して、垂直方向に圧縮された楕円を用いて探索すると、正しいエンボスパターンが生成されない。よって、オブジェクトの回転軸と同様に、楕円の回転軸も傾ける。図44に示すように、オブジェクトと同様に回転軸が傾いた楕円を用いてエンボスを生成すると、正しいエンボスパターンを生成できる。
【0163】
次に傾いた軸を持つ楕円の探索円を生成する方法の一例を、図45を用いて説明する。エッジ探索を行う画素の座標(x0,y0)を中心として描いた、通常の傾いていない軸を持つ楕円の探索円のポジションを(x,y)とすると、図45に示す、傾いた軸を持つ楕円の探索円のポジション(x_rot,y_rot)は、下記式(14)のように表すことができる。
x1=x-x0
y1=y- y0
x2=cos(rotθ)*x1-sin(rotθ)*y1
y2=sin(rotθ)*x1+cos(rotθ)*y1
x_rot = x2 + x0
y_rot = y2 + y0 …式(14)
rotθ:探索円の傾斜角
(x1,y1):座標軸を傾斜させる前の探索円の(x0,y0)を基準としたオフセット座標
(x2,y2):座標軸を傾斜させた後の探索円の(x0,y0)を基準としたオフセット座標
【0164】
ユーザは、操作部60から探索円の傾斜角およびオフセット座標を入力することにより、探索円をユーザの意図通りに傾けることができる。
【0165】
以上説明したように実施の形態3によれば、デプスマップに対して、オブジェクトの形状に合わせたボリュームエンボスを生成する際に、ユーザの簡単な操作で、ユーザの指定する割合だけずれた位置を中心としたエンボスパターンを自動生成できる。従って、実際の画像と一致した奥行き感を持った3D画像を容易に生成できる。なお、特別なグラフィカルユーザインタフェースと、ユーザ自身に頂点指定作業を行わせるための煩雑なプロセスの追加は必要ない。また、オブジェクトが回転体形状の場合でも、オブジェクト本来の立体感と一致するエンボスを生成できる。このようなエンボスが付加されたデプスマップを用いて3D変換することで、オブジェクト全体にボリューム感が付いた、より立体感のある3D画像を生成できる。
【0166】
以上、本発明を実施の形態をもとに説明した。実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【0167】
実施の形態3では探索円を変形することにより、実際の画像の奥行き感に一致したエンボスを生成した。実施の形態3の変形例では、オブジェクトを変形することにより同様の効果を得る方法を説明する。実施の形態3の変形例では、図24の距離特定部82は、オブジェクトを、外部設定されるパラメータに応じて変形する。パラメータとして例えば、オブジェクトの水平/垂直方向の伸張率、オブジェクトの回転角度などが該当する。以下、具体例を挙げながら説明する。
【0168】
図46(a)−(b)は、真円の探索円を用いてオブジェクトのエッジ画素を探索する様子を示す図である。図47(a)−(b)は、図46(a)−(b)のエンボスパターンを示す図である。図46(a)のオブジェクトは、図36図38図40と同様にボトルである。図46(a)は原画を示す。ここではマスクとする。図38図40では垂直方向に圧縮された楕円の探索円を用いたが、本変形例では探索円を圧縮する代わりにオブジェクトを引き伸ばす。図46(b)は、図46(a)のオリジナルマスクを垂直方向に引き伸ばしたマスクを示す。探索円は楕円ではなく真円を使用する。
【0169】
図47(a)は、図46(b)のエンボスパターンを示す。最後に、生成されたエンボスパターンを、元のオブジェクトサイズになるよう圧縮する。図47(b)は、図46(a)のマスクサイズに戻されたエンボスパターンを示す。このエンボスパターンは、楕円の探索円を用いて生成した図39のエンボスパターンと同様である。
【0170】
ユーザは、操作部60からオブジェクトの水平方向および/または垂直方向の伸張率を入力することにより、ユーザの意図通りのオブジェクトを伸張できる。
【0171】
図48(a)−(d)は、傾いたボトル形状のオブジェクトのエッジ画素を探索する様子を示す図である。図48(a)のオブジェクトは、図43と同様に傾いたボトルである。図48(a)は原画を示す。ここではマスクとする。図43では、ボトルの傾きに合わせて回転させた楕円の探索円を用いたが、本変形例では楕円を回転させる代わりにオブジェクトを回転させる。図48(b)は、図48(a)のオリジナルマスクを左に所定角度、回転させて、ボトルが垂直なマスクに変形している。探索円は傾いていない楕円を使用する。
【0172】
図48(c)は、図48(b)のエンボスパターンを示す。最後に、生成されたエンボスパターンを、元のオブジェクトの傾きになるよう逆回転する。図48(d)は、図48(a)のマスクの傾きに戻されたエンボスパターンを示す。このエンボスパターンは、傾いた楕円の探索円を用いて生成した図44のエンボスパターンと同様である。
【0173】
ユーザは、操作部60から水平方向および/または垂直方向の楕円化率、およびオブジェクトの回転角度を入力することにより、ユーザの意図通りの楕円に変形でき、かつオブジェクトを回転できる。
【0174】
このように探索円を変形する代わりにオブジェクトを変形、または探索円とオブジェクトの両方を変形することによっても、上述した探索円のみを変形する場合と同様の効果を得ることができる。
【0175】
なお、本発明は以上説明した実施形態に限定されることはなく、本発明の要旨を逸脱しない範囲において種々変更が可能である。例えば、各実施形態を組み合わせてもよい。また、デプス推定装置や画像処理装置の一部の構成を別体にし、ネットワーク等を介してその別体とした構成と通信するようにして、デプス推定装置や画像処理装置の機能を実現してもよい。
【0176】
また、本発明は各部の機能をコンピュータに実現させるためのプログラムを含むものである。これらのプログラムは、記録媒体から読み取られてコンピュータに取り込まれてもよいし、通信ネットワークを介して伝送されてコンピュータに取り込まれてもよい。
【符号の説明】
【0177】
500 画像編集システム、 100 画像処理装置、 10 デプスマップ生成部、 11 画面上部高域成分評価部、 12 画面下部高域成分評価部、 13 合成比率決定部、 14 第1基本デプスモデル用フレームメモリ、 15 第2基本デプスモデル用フレームメモリ、 16 第3基本デプスモデル用フレームメモリ、 17 合成部、 18 加算部、 20 デプスマップ加工部、 30 3D画像生成部、 40 操作受付部、 50 表示制御部、 200 コンソール端末装置、 60 操作部、 70 表示部、 80 ボリュームエンボス生成部、 81 輪郭特定部、 82 距離特定部、 83 デプス値決定部、 84 レベル変換部。
図2
図3
図11
図14
図15
図17
図19
図24
図1
図4
図5
図6
図7
図8
図9
図10
図12
図13
図16
図18
図20
図21
図22
図23
図25
図26
図27
図28
図29
図30
図31
図32
図33
図34
図35
図36
図37
図38
図39
図40
図41
図42
図43
図44
図45
図46
図47
図48