奥行き製作支援装置、奥行き製作支援方法、およびプログラム
【課題】立体物の内部にも立体感(丸み)がある奥行き画像を精度良く、かつ、効率的に製作することを支援する奥行き製作支援装置等を提供する。
【解決手段】奥行き製作支援装置1は、設定奥行き値を最小値とし、設定奥行き値+丸み付け厚みを最大値とし、マスク領域の各画素値を設定する。また、輪郭から丸み付け範囲内の画素値については、所定の数式に基づいて補間を行う。例えば、奥行き製作支援装置1は、距離マップから骨格を検出し、骨格以外の画素について、骨格までの最小距離を代入した骨格距離マップを作成する。次に、距離マップおよび骨格距離マップを用いて、各画素における骨格への接近度を算出し、骨格への接近度を含む所定の数式に従った補間を行い、マスク領域の輪郭から丸み付け範囲内の画素値を算出する。
【解決手段】奥行き製作支援装置1は、設定奥行き値を最小値とし、設定奥行き値+丸み付け厚みを最大値とし、マスク領域の各画素値を設定する。また、輪郭から丸み付け範囲内の画素値については、所定の数式に基づいて補間を行う。例えば、奥行き製作支援装置1は、距離マップから骨格を検出し、骨格以外の画素について、骨格までの最小距離を代入した骨格距離マップを作成する。次に、距離マップおよび骨格距離マップを用いて、各画素における骨格への接近度を算出し、骨格への接近度を含む所定の数式に従った補間を行い、マスク領域の輪郭から丸み付け範囲内の画素値を算出する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、立体視を実現するための視差画像を生成する視差画像生成装置が利用する奥行き画像を製作する奥行き製作支援装置等に関する。
【背景技術】
【0002】
従来、3次元映像表示システムでは、大別して、2視差方式のものと、3以上の視差を持つ多視差方式のものがある。いずれの方式も、必要な視点数からシーンを見た映像を準備する必要がある。
【0003】
最も直接的な映像の制作方法としては、必要な視差数分のカメラを用意し、同一シーンを所定の間隔に配置された複数のカメラで撮影する方法が考えられる。最近では2視差を直接撮影できるカメラが市販されているが、多視差を直接撮影できるカメラは一般的でない。
【0004】
また、3次元CG(Computer Graphics)画像を作成し、複数のカメラ位置を設定してレンダリングする方法も考えられる。3次元CG画像には奥行き情報が含まれており、3次元画像から多視差方式に対応した視差画像を作成することは可能である。しかし、カメラ位置の数が多い場合、レンダリング回数が多くなり、時間とコストがかかるという問題がある。さらに、ほとんどの映像はCG画像ではなく実写であり、実写から3次元映像を作成することが求められている。
【0005】
実写映像による多視差映像を制作する為に、平面(2D)映像を基にして多視差映像に変換する手法(いわゆる2次元/3次元変換の手法)は、いくつか存在する。しかし、多視差映像に変換する手法では、奥行き情報がない。そのため全てのシーン(フレーム)において手作業で1枚ずつ奥行き情報を作成する必要が生じ、非常に作業負荷が高かった。
【0006】
そこで、奥行き値を設定するための手法として、例えば、特許文献1には、ユーザ指示に応じてメッシュ形状を変形させ、奥行き値を設定する技術が提案されている。また例えば、非特許文献1には、3次元空間内において、映像の選択部分をユーザが移動・回転させ、奥行き値を設定する技術が提案されている。また例えば、特許文献2には、飛び出させたい部分をユーザがマウスによって選択し、選択部分の2値画像に平均化フィルタを作用させて、奥行き画像として利用する技術が提案されている。
【0007】
しかしながら、特許文献1に記載の技術は、操作すべき項目が多く、1フレーム分の奥行き情報を設定するための長時間を要し、設定した奥行き値が確認し難いという課題があった。また、非特許文献1に記載の技術は、設定方法は簡略化されているものの、異なるフレームにおける奥行き値の比較ができないため、位置関係の矛盾が生じやすいという課題があった。
【0008】
そこで、本発明者らは、特許文献3において、(1)グラフとスライドバーを使用して奥行き値を設定する技術、(2)グラフとプレビュー画面を使用して奥行き値を確認する技術、(3)キーフレーム間の奥行き値を補間する技術、(4)前述の技術に基づいて奥行き画像及びラベル画像を生成する技術、を提案している。
【先行技術文献】
【特許文献】
【0009】
【特許文献1】特表2010−516155号公報
【特許文献2】特許第4708619号公報
【特許文献3】特願2011−168920号公報
【非特許文献】
【0010】
【非特許文献1】Depth Director: A System for Adding Depth to Movies
【発明の概要】
【発明が解決しようとする課題】
【0011】
しかしながら、特許文献3に開示されている技術では、奥行き画像のマスク領域内部が一色(単一の画素値)で塗られており、マスク領域内部に立体感(丸み)がない画像になってしまうという課題が残されている。ここで、マスク領域は、例えば、人物や物体などの立体物ごとに設定される領域である。
【0012】
特許文献1に開示されている技術では、操作すべき項目が多く、1フレーム分の奥行き情報を設定するための長時間を要し、設定した奥行き値が確認し難いという従来からの課題がある。また、設定結果の確認方法が、メッシュ形状のワイヤーフレームを元画像に合成し、表示するというものであり、立体物の形状が確認し難いという課題がある。
【0013】
非特許文献1に開示されている技術では、異なるフレームにおける奥行き値の比較ができないため、位置関係の矛盾が生じやすいという従来からの課題がある。また、立体物の丸み表現の自由度が低いという課題がある。更に、設定結果の確認方法が、3次元空間上で立体化された映像を、カメラアングルを変更しながら確認するというものであり、立体物の形状の細部が確認し難いという課題もある。
【0014】
特許文献2に開示されている技術では、立体物の適切な形状が得られないという課題がある。また、設定結果の確認方法が、奥行き値(0〜1)と対応する画素値の積を明度情報として表示するものであり、明度情報のみでは形状が確認し難いという課題もある。
【0015】
本発明は、前述した問題点に鑑みてなされたもので、その目的とすることは、立体物の内部にも立体感(丸み)がある奥行き画像を精度良く、かつ、効率的に製作することを支援する奥行き製作支援装置等を提供することである。
【課題を解決するための手段】
【0016】
前述した目的を達成するために、第1の発明は、立体視を実現するための視差画像の生成処理に利用する奥行き画像を製作する奥行き製作支援装置であって、元の映像の各フレームに対して、特定の被写体を識別するために2値化された複数のマスク画像を読み込む読込手段と、設定奥行き値、丸み付け範囲、及び丸み付け厚みを入力する入力手段と、前記マスク画像におけるマスク領域の骨格を検出し、各画素における前記骨格への接近度、前記設定奥行き値、前記丸み付け範囲、前記丸み付け厚みに基づいて、前記マスク画像に対して丸み付け処理を行う丸み付け手段と、前記丸み付け手段によって丸み付け処理が行われた前記マスク画像を用いて、前記奥行き画像を作成する奥行き画像作成手段と、を備えることを特徴とする奥行き製作支援装置である。第1の発明によって、立体物の内部にも立体感(丸み)がある奥行き画像を精度良く、かつ、効率的に製作することが可能となる。特に、人物の腕、足、首など、人物の胴体よりも細い部位についても、適度な立体感(丸み)がある奥行き画像を作成することができる。
【0017】
第1の発明における前記丸み付け手段は、例えば、前記設定奥行き値を最小値、前記設定奥行き値及び前記丸み付け厚みの加算値を最大値とし、前記マスク領域の輪郭から前記丸み付け範囲内の画素値については、前記骨格への接近度を含む所定の数式に基づいて補間を行う。これによって、丸み付け範囲の画素には、骨格への接近度に応じた適切な画素値が設定される。
【0018】
また、第1の発明における前記丸み付け手段は、例えば、前記マスク領域内部の各画素値に輪郭までの最小距離を代入した距離マップを算出し、前記距離マップから前記骨格を検出し、前記骨格以外の画素について、前記骨格までの最小距離を代入した骨格距離マップを作成し、前記距離マップおよび前記骨格距離マップを用いて、各画素における前記骨格への接近度を算出する。これによって、簡易な処理により各画素における骨格への接近度を算出することができる。
【0019】
また、第1の発明における前記丸み付け手段は、前記マスク領域が複数の小領域に分離している横断面位置では、前記小領域ごとに横幅を算出し、前記横幅に応じて前記小領域ごとに前記丸み付け厚みを変更することが望ましい。これによって、横幅が狭い部分(人物であれば、腕、足、首など)の飛び出しが抑えられ、自然な丸み付けが可能となる。
【0020】
また、第1の発明は、前記丸み付け手段によって丸み付け処理が行われた前記マスク画像を立体表示した際の断面図を算出し、前記断面図を表示する表示手段、を更に備えることが望ましい。これによって、ユーザは、設定した立体形状の細部を確認することができる。
【0021】
第2の発明は、立体視を実現するための視差画像の生成処理に利用する奥行き画像を製作する奥行き製作支援方法であって、元の映像の各フレームに対して、特定の被写体を識別するために2値化された複数のマスク画像を読み込む読込ステップと、設定奥行き値、丸み付け範囲、及び丸み付け厚みを入力する入力ステップと、前記マスク画像におけるマスク領域の骨格を検出し、各画素における前記骨格への接近度、前記設定奥行き値、前記丸み付け範囲、前記丸み付け厚みに基づいて、前記マスク画像に対して丸み付け処理を行う丸み付けステップと、前記丸み付けステップによって丸み付け処理が行われた前記マスク画像を用いて、前記奥行き画像を作成する奥行き画像作成ステップと、を含むことを特徴とする奥行き製作支援方法である。第2の発明によって、立体物の内部にも立体感(丸み)がある奥行き画像を精度良く、かつ、効率的に製作することが可能となる。特に、人物の腕、足、首など、人物の胴体よりも細い部位についても、適度な立体感(丸み)がある奥行き画像を作成することができる。
【0022】
第3の発明は、コンピュータに、元の映像の各フレームに対して、特定の被写体を識別するために2値化された複数のマスク画像を読み込む読込ステップと、設定奥行き値、丸み付け範囲、及び丸み付け厚みを入力する入力ステップと、前記マスク画像におけるマスク領域の骨格を検出し、各画素における前記骨格への接近度、前記設定奥行き値、前記丸み付け範囲、前記丸み付け厚みに基づいて、前記マスク画像に対して丸み付け処理を行う丸み付けステップと、前記丸み付けステップによって丸み付け処理が行われた前記マスク画像を用いて、立体視を実現するための視差画像の生成処理に利用する奥行き画像を作成する奥行き画像作成ステップと、を実行させるためのプログラムである。第3の発明に係るプログラムをコンピュータにインストールすることで、第1の発明に係る奥行き製作支援装置を得ることができる。
【発明の効果】
【0023】
本発明により、立体物の内部にも立体感(丸み)がある奥行き画像を精度良く、かつ、効率的に製作することを支援する奥行き製作支援装置等を提供することができる。
【図面の簡単な説明】
【0024】
【図1】本発明の実施の形態に係る奥行き製作支援装置のハードウエア構成図である。
【図2】奥行き製作支援装置および視差画像生成装置の入出力データを示す図である。
【図3】2次元画像の一例を示す図である。
【図4】図3に示した2次元画像に基づいて生成された背景画像の一例を示す図である。
【図5】マスク画像の一例を示す図である。
【図6】他のマスク画像の一例を示す図である。
【図7】他のマスク画像の一例を示す図である。
【図8】奥行き画像の一例を示す図である。
【図9】入出力画像の対応付けを説明するための図である。
【図10】奥行き製作支援処理を説明するフローチャートである。
【図11】奥行き製作支援画面の表示例である。
【図12】奥行き設定画面を拡大した表示例である。
【図13】奥行き設定画面の他の表示例である。
【図14】奥行き設定画面の他の表示例である。
【図15】奥行き設定画面の他の表示例である。
【図16】奥行き設定画面の他の表示例である。
【図17】距離マップおよび骨格距離マップの一例を示す図である。
【図18】第1の丸み付け処理を説明するための図である。
【図19】第1の丸み付け処理の例外処理を説明するための図である。
【図20】第1の丸み付け処理の例外処理を説明するための図である。
【図21】第2の丸み付け処理を説明するための図である。
【図22】第2の丸み付け処理の例外処理を説明するための図である。
【図23】第2の丸み付け処理の例外処理を説明するための図である。
【図24】第1の丸み付け処理による丸み付け範囲を示す図である。
【図25】第2の丸み付け処理による丸み付け範囲を示す図である。
【図26】丸み付け処理の確認画面の表示例である。
【図27】第1の丸み付け処理の処理結果を示す図である。
【図28】第2の丸み付け処理の処理結果を示す図である。
【図29】第2の丸み付け処理の変形例の処理結果を示す図である。
【図30】ラベル画像の作成を説明する図である。
【発明を実施するための形態】
【0025】
以下、図面に基づいて、本発明の実施形態を詳細に説明する。
【0026】
[本発明の実施の形態]
図1は、本発明の実施の形態に係る奥行き製作支援装置1のハードウエア構成図である。尚、図1のハードウエア構成は一例であり、用途、目的に応じて様々な構成を採ることが可能である。
【0027】
奥行き製作支援装置1は、制御部11、記憶部12、メディア入出力部13、通信制御部14、入力部15、表示部16、周辺機器I/F部17等が、バス18を介して接続される。
【0028】
制御部11は、CPU(Central Processing Unit)、ROM(Read OnlY MemorY)、RAM(Random Access MemorY)等で構成される。
【0029】
CPUは、記憶部12、ROM、記録媒体等に格納されるプログラムをRAM上のワークメモリ領域に呼び出して実行し、バス18を介して接続された各装置を駆動制御し、奥行き製作支援装置1が行う後述する処理を実現する。ROMは、不揮発性メモリであり、奥行き製作支援装置1のブートプログラムやBIOS等のプログラム、データ等を恒久的に保持している。RAMは、揮発性メモリであり、記憶部12、ROM、記録媒体等からロードしたプログラム、データ等を一時的に保持するとともに、制御部11が各種処理を行う為に使用するワークエリアを備える。
【0030】
記憶部12は、HDD(ハードディスクドライブ)等であり、制御部11が実行するプログラム、プログラム実行に必要なデータ、OS(オペレーティングシステム)等が格納される。プログラムに関しては、OS(オペレーティングシステム)に相当する制御プログラムや、後述する処理を奥行き製作支援装置1に実行させるためのアプリケーションプログラムが格納されている。これらの各プログラムコードは、制御部11により必要に応じて読み出されてRAMに移され、CPUに読み出されて各種の手段として実行される。
【0031】
メディア入出力部13(ドライブ装置)は、データの入出力を行い、例えば、CDドライブ(−ROM、−R、−RW等)、DVDドライブ(−ROM、−R、−RW等)等のメディア入出力装置を有する。
【0032】
通信制御部14は、通信制御装置、通信ポート等を有し、奥行き製作支援装置1とネットワーク間の通信を媒介する通信インタフェースであり、ネットワークを介して、他の装置間との通信制御を行う。ネットワークは、有線、無線を問わない。
【0033】
入力部15は、データの入力を行い、例えば、キーボード、マウス等のポインティングデバイス、テンキー等の入力装置を有する。入力部15を介して、奥行き製作支援装置1に対して、操作指示、動作指示、データ入力等を行うことができる。
【0034】
表示部16は、CRTモニタ、液晶パネル等のディスプレイ装置、ディスプレイ装置と連携して奥行き製作支援装置1のビデオ機能を実現するための論理回路等(ビデオアダプタ等)を有する。
【0035】
周辺機器I/F(インタフェース)部17は、奥行き製作支援装置1に周辺機器を接続させるためのポートであり、周辺機器I/F部17を介して奥行き製作支援装置1は周辺機器とのデータの送受信を行う。周辺機器I/F部17は、USBやIEEE1394やRS−235C等で構成されており、通常複数の周辺機器I/Fを有する。周辺機器との接続形態は有線、無線を問わない。
【0036】
バス18は、各装置間の制御信号、データ信号等の授受を媒介する経路である。
【0037】
図2は、奥行き製作支援装置1および視差画像生成装置2の入出力データを示す図である。図2に示すように、奥行き製作支援装置1は、2次元画像3、背景画像4、マスク画像5、及び奥行き値6を入力データとし、奥行き画像7、およびラベル画像8を出力データとする。視差画像生成装置2は、2次元画像3、奥行き画像7、およびラベル画像8を入力データとし、視差画像9を出力データとする。
【0038】
2次元画像3、背景画像4、及びマスク画像5は、奥行き製作支援装置1の制御部11(以下、「制御部11」と略記する。)が生成しても良いし、メディア入出力部13、通信制御部14等を介して外部から取得しても良い。また、奥行き値6は、奥行き製作支援装置1の入力部15を介して入力しても良いし、予め奥行き値6が定義されたファイルを外部から取得しても良い。
【0039】
2次元画像3は、動画像(平面映像)の1枚分のフレーム画像または静止画像である。動画像(平面映像)には、例えば、単位時間当たり所定のフレーム数(通常、1秒間に30フレーム)のカラー静止画像が含まれており、各画素がRGB各256段階の階調を持つ。
【0040】
背景画像4は、背景の奥行き感を示す画像である。背景画像4は、2次元画像3に基づいてフォトレタッチソフトなどを用いて手作業で生成してもよいし、別途ソフトウエアを用いて自動的に生成してもよい。
【0041】
マスク画像5は、特定の被写体を識別するための2値化画像である。マスク画像5は、2次元画像3に基づいてフォトレタッチソフトなどを用いて手作業で生成してもよいし、別途ソフトウエアを用いて自動的に生成してもよい。
【0042】
奥行き値6は、被写体の奥行き方向の位置を定義する値である。本発明では、奥行き値6の画素値の範囲を0〜255の256階調として表現する。0が黒、255が白、1〜254がグレー(中間調)に対応する。
【0043】
奥行き製作支援装置1は、2次元画像3、背景画像4、マスク画像5、および奥行き値6に基づいて、奥行き画像7の製作を支援するものである。特に、本発明の実施の形態における奥行き製作支援装置1は、立体物の内部にも立体感(丸み)がある奥行き画像を作成するために、マスク画像5に対する丸み付け処理(図10のS16、図11、図17〜図29参照)に特徴がある。
【0044】
奥行き画像7は、2次元画像3に係るカメラから被写体までの奥行き値を画素値に置き換えた画像である。ここで、カメラとは、視差画像生成装置2の内部処理において定義される仮想的なカメラを意味する。
【0045】
奥行き画像7は、例えば、画素値の範囲が0〜255(8ビット)のグレースケールであり、0(黒)が最も奥、255(白)が最も手前を意味する場合が多いが、逆であっても良い。以下では、説明を分かり易くするために、奥行き画像7は、画素値の範囲が0〜255であり、0(黒)が最も奥、255(白)が最も手前を意味するものとする。
【0046】
ラベル画像8は、それぞれの2次元画像3に対応付けて、2次元画像3に記録されたシーンを構成する被写体を識別する固有の数値(ラベル値)によって領域分けし、このラベル値を画素値に置き換えた(ラベリングされた)画像である。例えば、背景、建物、及び人物から構成されるシーンにおいて、背景、建物、及び人物に相当するラベル値として、それぞれL0、L1、L2を割り当て、対応する2次元画像3の各画素がどの被写体に属しているかを、L0、L1、L2の画素値に置き換えることによって表現する。
【0047】
ラベル画像8は、2次元画像3に基づいてフォトレタッチソフトなどを用いて手作業で生成してもよいし、本発明のように、奥行き製作支援装置1が自動的に生成してもよい。
【0048】
視差画像9は、立体視を実現するための画像である。本発明の実施の形態では、視差画像9は、特に、両目視差(約60mm〜70mm程度)を利用し、裸眼観察によって立体視を実現するための画像である。
【0049】
尚、本発明の実施の形態では詳細に述べないが、複数の視差画像9をディスプレイの仕様に合わせて合成し、ディスプレイに表示することによって、裸眼観察による立体視を実現することが可能となる。複数の視差画像9の合成処理については、公知の技術を利用すれば良い。
【0050】
視差画像生成装置2は、2次元画像3、奥行き画像7、およびラベル画像8に基づいて視差画像9を生成するものである。視差画像生成装置2の詳細は、本出願人が先に出願した、特願2010−176864号、および特願2011−55878号に記載されている。
【0051】
次に、図3〜図8を参照して、奥行き製作支援装置1の入出力データの表示例について説明する。
【0052】
図3は、2次元画像3の一例を示している。図3の例では、複数人でスポールブールというボール競技をしている動画像の1フレーム分を示している。図4は、図3に示した2次元画像3に基づいて生成された背景画像4の一例を示している。図3および図4は、同一フレームである。なお、背景画像4の奥行き感は、厳密でなくてよい。また背景画像4はなくてもよい。
【0053】
図5は、図3に示した2次元画像3と同一フレームのマスク画像5の一例を示している。図5の例では、球技参加者であるプレー中の人物(特定の被写体)を識別するための2値化画像であり、そのプレー中の人物の画素が白、それ以外の画素が黒にされている。以下、図5のマスク画像5を、適宜、マスクAのマスク画像と称する。
【0054】
図6は、他のマスク画像5の一例を示している。図6の例では、対戦している様子を少し離れて見物している2人の人物(特定の被写体)を識別するための2値化画像であり、その2人の人物の画素が白、それ以外の画素が黒にされている。図6は、図3〜図5、図7とは別フレーム(異なる時刻)である。以下、図6のマスク画像5を、適宜、マスクBのマスク画像と称する。
【0055】
図7は、他のマスク画像5の一例を示している。図7の例では、対戦相手の人物(特定の被写体)を識別するための2値化画像であり、その対戦相手の人物の画素が白、それ以外の画素が黒にされている。図7は、図3〜図6とは別フレームである。以下、図7のマスク画像5を、適宜、マスクCのマスク画像と称する。
【0056】
なお、図3に示す2次元画像3において、マスクBの被写体(見物している2人の人物)の中の1人は、マスクAの被写体(プレー中の人物)に隠れており映っていない。また、マスクCの被写体は、マスクBの被写体よりも右側に位置しており、図3に示す2次元画像3に映っていない。
【0057】
以上のように、奥行き製作支援装置1は、フレームごとに、マスクAのマスク画像(図5)、マスクBのマスク画像(図6)、およびマスクCのマスク画像(図7)を予め用意しておき、それらのマスク画像5と奥行き値6に基づいて、フレームごとに奥行き画像7を製作する。
【0058】
図8は、奥行き画像7の一例を示している。但し、図8に示す奥行き画像7は、丸み付け処理(図10のS16)を行っていない例である。奥行き画像7は、複数の被写体同士の奥行き方向の相対的な位置関係が、模擬的に定義された画像である。図8は、図3〜図7とは別フレームであり、プレー中の人物がボールを投げる直前のフレームである。図8の例では、一番手前(白の領域)にマスクAの被写体(プレー中の人物)、奥(グレーの領域)にマスクBの被写体(見物している2人の人物)が存在するという奥行き方向の位置関係が定義されている。また、背景画像4の奥行き情報も付加されている。
【0059】
図8に示す奥行き画像7では、マスクAの被写体やマスクBの被写体の内部(=マスク領域内部)が一色(単一の画素値)で塗られており、マスク領域内部に立体感(丸み)がない画像になってしまう。そこで、本発明の実施の形態では、奥行き製作支援装置1が丸み付け処理(図10のS16)を行い、立体物の内部にも立体感(丸み)がある奥行き画像7を製作する。
【0060】
図9は、奥行き製作支援装置1が扱う入出力画像の対応付けを説明するための図である。
【0061】
図9に示すように、入力画像群は、フレームごとに、2次元画像、マスクAのマスク画像、マスクBのマスク画像、マスクCのマスク画像、および背景画像の5枚の画像が1組となっている。また出力画像群は、フレームごとに、奥行き画像、およびラベル画像の2枚の画像が1組となっている。例えば、フレーム数が1000枚の場合、2次元画像は1000枚、マスク画像は3000枚、背景画像は1000枚準備され、奥行き画像は1000枚、ラベル画像は1000枚出力されることになる。
【0062】
図10は、奥行き製作支援装置1が実行する奥行き製作支援処理を説明するフローチャートである。図10の説明に当たり、図11〜図30を参照し、具体的な操作内容も説明する。
【0063】
まず、ユーザは、奥行き製作支援処理を開始するにあたり、図11に示すような奥行き製作支援画面50を表示部16に表示させる。図11の例の場合、奥行き製作支援画面50には、「マスク読み込み」、「ムービー読み込み」、「背景読み込み」のボタン群51、マスク範囲検出チェックボタン52、マスク選択プルダウン53、奥行き設定画面54、プレビュー位置情報表示エリア55、丸み付けチェックボックス56、骨格使用チェックボックス57、丸み付け範囲スライダーバー58、丸み付け厚みスライダーバー59、奥行き画像表示エリア60、断面図表示位置スライダーバー61、断面図表示位置62、2次元画像表示エリア63、断面図表示エリア64、断面図プレビューチェックボタン65、書き出しボタン66が表示されている。
【0064】
ボタン群51は、マスク読み込み、ムービー読み込み、背景読み込みを行う場合に操作(押下)される。マスク範囲検出チェックボタン52は、選択されているマスクの被写体が存在するフレームの範囲を検出する場合に操作される。マスク選択プルダウン53は、奥行き設定するマスクを選択する場合に操作される。奥行き設定画面54は、マスク選択プルダウン53で選択されたマスクの奥行き値を変更するための設定画面である。
【0065】
プレビュー位置情報表示エリア55には、奥行き画像表示エリア60及び2次元画像表示エリア63に表示されているフレームのフレーム番号と、奥行き設定画面54において設定されている奥行き値が表示される。
【0066】
丸み付けチェックボックス56は、丸み付け処理を行う場合(図10のS10のYes)に選択される。骨格使用チェックボックス57は、骨格を使用して丸み付け処理を行う場合(図10のS11のYes)に選択される。
【0067】
丸み付け範囲スライダーバー58は、丸み付け範囲を指定する場合に横方向にスライド(移動)される。丸み付け厚みスライダーバー59は、丸み付け厚みを指定する場合に横方向にスライド(移動)される。丸み付け範囲および丸み付け厚みについては、図18を参照しながら後述する。
【0068】
奥行き画像表示エリア60には、プレビュー位置情報表示エリア55に表示されているフレーム番号の奥行き画像のプレビューが表示される。断面図表示位置スライダーバー61は、断面図の表示位置を指定する場合に縦方向にスライド(移動)される。断面図表示位置62は、断面図表示位置スライダーバー61によって指定される断面図の表示位置を示す直線である。
【0069】
2次元画像表示エリア63には、読み込まれた2次元画像のプレビューが表示されたり、2次元画像にマスク画像が重畳されたプレビューが表示されたりする。断面図表示エリア64には、断面図表示位置スライダーバー61によって指定される表示位置の断面図が表示される。断面図プレビューチェックボタン65は、断面図プレビューの表示を指示する場合に選択される。書き出しボタン66は、奥行き画像を保存する場合に操作される。
【0070】
図12は、奥行き設定画面54を拡大した表示例である。尚、図12〜図16の画面要素の一部は、図11の画面要素の一部と一致しないが、同様の機能(入力機能及び表示機能)を提供するものである。
【0071】
図12に示すように、奥行き設定画面54の縦軸は、デプス値(奥行き値)を表し、横軸は、Time(フレーム)を表している。奥行き設定画面54内において、奥行き値曲線31a、31b、31cは、それぞれ、マスクA、マスクB、マスクCの奥行き値を示す曲線であって、初期画面では、3つが重なって表示される。開始位置32は、開始フレームの位置を示し、終了位置33は、終了フレームの位置を示している。
【0072】
フレームスライダーバー34は、奥行き値を設定するフレームを指定する場合に横方向にスライド(移動)される。番号35は、フレームスライダーバー34によって指定されているフレームの番号を示す。フレーム位置36は、フレームスライダーバー34によって指定されているフレーム方向の位置を示し、初期画面では、開始位置32とフレーム位置36は重なって表示される。奥行き値スライダーバー37は、奥行き値を指定する場合に縦方向にスライドされる。キーフレーム削除ボタン38は、現在選択されているマスクのキーフレーム(変化が定義されているフレーム)を削除する場合に選択される。
【0073】
以上のような奥行き製作支援画面50において、ユーザは、ボタン群51を押下し、奥行き画像を製作するための入力画像群の読み込みを指示する。
【0074】
ステップS1において、制御部11は、ユーザからの指示に基づいて、入力画像群を読み込む。例えば、図9に示したように、フレームごとに、2次元画像、マスクAのマスク画像、マスクBのマスク画像、マスクCのマスク画像、および背景画像の5枚の画像が1組となった入力画像群が読み込まれる。また、ユーザによって、マスク範囲検出チェックボタン52が押下されることで、奥行き値の設定が必要なフレーム範囲が検出される。また、ユーザによって、マスク選択プルダウン53が選択されることで、奥行き設定画面54において奥行き設定するマスクや、奥行き画像表示エリア60に表示されるマスクが特定される。
【0075】
これにより、奥行き製作支援画面50において、奥行き設定画面54には、読み込まれた複数のマスクの奥行き値曲線が表示される。また、奥行き画像表示エリア60には、マスク選択プルダウン53で選択されているマスクの奥行き画像が表示される。また、2次元画像表示エリア63には、2次元画像のプレビューが表示される。
【0076】
ステップS2において、制御部11は、ユーザによってマスク選択プルダウンの入力指示があったか否か、つまり、図11のマスク選択プルダウン53で新たにマスクが選択されたか否かを判定し、マスク選択プルダウンの入力指示があったと判定した場合、ステップS3に進む。ステップS3において、制御部11は、ユーザからの入力指示に基づいて奥行き設定するマスクを変更する。
【0077】
制御部11は、ステップS2において、マスク選択プルダウンの入力指示がないと判定した場合、または、ステップS3において、奥行き設定するマスクを変更した後、ステップS4に進む。
【0078】
ステップS4において、制御部11は、ユーザによってフレームスライダーバーの変更指示があったか否か、つまり、図12のフレームスライダーバー34がスライドされたか否かを判定し、フレームスライダーバーの変更指示があったと判定した場合、ステップS5に進む。
【0079】
例えば、ユーザは、図12に示す奥行き設定画面54の初期画面において、フレームスライダーバー34を右方向にスライドすることで奥行き設定フレームの変更を行うことができる。
【0080】
図13は、図12に示す奥行き設定画面54の状態から、マスク選択プルダウン53によって単一のマスク(例えば、マスクA)が選択され、フレームスライダーバー34がスライドされた状態を示している。マスク選択プルダウン53によってマスクAが選択されたことにより、開始フレームと終了フレームが、自動的にキーフレーム41a、42aとして設定される。また、フレームスライダーバー34のスライドに連動して、フレーム位置36もスライドされる。このとき、奥行き設定フレームの変更操作に連動して、奥行き画像表示エリア60に複数フレームの奥行き画像のプレビューが連続的に表示されるとともに、2次元画像表示エリア63に複数フレームの2次元画像のプレビューが連続的に表示される。
【0081】
以上のようにして、ユーザは、簡単な操作で、奥行き設定フレームの変更を行うことができる。また、複数フレームの奥行き画像を連続的に表示させることができるため、ユーザは、フレーム間で違和感がないかどうかを容易に確認することができる。さらに、奥行き画像と元映像とを連動させて、複数フレームを連続的に表示させることができるため、奥行き画像の仕上がりを容易に確認することができる。
【0082】
図10の説明に戻る。ステップS5において、制御部11は、ユーザによる変更指示に基づいて奥行き設定フレームの変更を行う。
【0083】
制御部11は、ステップS4において、フレームスライダーバーの変更指示がないと判定した場合、または、ステップS5において、奥行き設定フレームを変更した後、ステップS6に進む。
【0084】
ステップS6において、制御部11は、ユーザによって奥行き値スライダーバーの変更指示があったか否か、つまり、図12の奥行き値スライダーバー37がスライドされたか否かを判定し、奥行き値スライダーバーの変更指示があったと判定した場合、ステップS7に進む。
【0085】
例えば、ユーザは、図13に示す奥行き設定画面54において、奥行き値スライダーバー37を上方向にスライドすることで奥行き値の変更を行うことができる。
【0086】
図14は、図13に示す奥行き設定画面54の状態から、奥行き値スライダーバー37がスライドされた状態を示している。奥行き値スライダーバー37のスライドに連動して、奥行き値曲線31aが変形される。具体的には、フレームスライダーバー34によって指定されているフレーム位置36と、奥行き値スライダーバー37によって指定されるデプス値方向の位置の交点(移動点)が上下にスライドされ、その交点の位置を確定すると(例えば、奥行き値スライダーバー37の選択を解除する操作であるマウスの左クリックを離すと)、交点にキーフレーム43aが設定される。このとき、奥行き値の変更操作に連動して、奥行き値を示す画素値を変えながら、奥行き画像表示エリア60に表示される奥行き画像のプレビューも連続的に変化される。
【0087】
以上のようにして、ユーザは、簡単な操作で、奥行き値の変更を行うことができる。また、奥行き値を変化させたときに、奥行き画像がどのように変化するのかを連続的に表示させることができるため、ユーザは、同一フレームにおける被写体間で違和感がないかどうかを容易に確認することができる。
【0088】
図10の説明に戻る。ステップS7において、制御部11は、ユーザによる変更指示に基づいて奥行き値の設定を行う。ステップS8において、制御部11は、ステップS7で設定した奥行き値に基づいて、奥行き値の補間を行う。具体的には、図14に示すキーフレーム43aと、そのキーフレーム43aに隣接するキーフレーム41a、キーフレーム42aとの間が補間される。図14の例では、線形補間を適用しているが、これに限らず、例えば、多項式補間、スプライン補間、ベジェ曲線補間などでもよい。
【0089】
このように、一部のフレームについて奥行き値を設定すれば、他のフレームについては、違和感のない範囲で自動的に補間されるため、全フレームの奥行き値を手作業する手間が省け、作業効率が大幅に良くなる。
【0090】
ステップS9において、制御部11は、ステップS8の処理で補間された奥行き値に応じて奥行き方向の位置関係が模擬的に定義された奥行き画像を作成し、奥行き画像表示エリア60に表示させる。
【0091】
制御部11は、ステップS6において、奥行き値スライダーバーの変更指示がないと判定した場合、または、ステップS9において、奥行き画像の作成、表示が行われた後、ステップS10に進む。
【0092】
例えば、ユーザは、図14に示す奥行き設定画面54において、さらに、フレームスライダーバー34を右方向にスライドすることで奥行き設定フレームの変更を再度行うことができる。
【0093】
図15は、図14に示す奥行き設定画面54の状態から、フレームスライダーバー34をスライドさせ、奥行き値スライダーバー37をスライドさせることにより新たにキーフレームを作成した状態を示している。フレームスライダーバー34のスライドに連動して、フレーム位置36もスライドされる。また、奥行き値スライダーバー37のスライドに連動して、新たなキーフレームが作成されたり、キーフレームが移動したりする。
【0094】
具体的には、奥行き値スライダーバー37を動かした際、そのフレームにキーフレームが存在しなければ新たなキーフレームが作成され、キーフレームが存在すればそのキーフレームが移動する。このとき、奥行き設定フレームの変更操作に連動して、奥行き画像表示エリア60に複数フレームの奥行き画像のプレビューが連続的に表示されるとともに、2次元画像表示エリア63に複数フレームの2次元画像のプレビューが連続的に表示される。
【0095】
以上のようにして、ユーザは、簡単な操作で、奥行き設定フレームと奥行き値の変更を何度も行うことができるため、1つのマスクに対して複数個のキーフレームを設定することが可能である。また、複数フレームの奥行き画像を連続的に表示させたり、奥行き画像と元映像とを連動させて、複数フレームを連続的に表示させたりすることができるため、ユーザは、フレーム間で違和感がないかどうか、奥行き画像の仕上がりを容易に確認することができる。
【0096】
また例えば、図15に示す奥行き設定画面54の状態において、ユーザは、マスク選択プルダウン53から別のマスク(例えば、マスクB)を選択し、上述したような奥行き設定フレームと奥行き値の変更を行うこともできる。
【0097】
図16は、図15に示す奥行き設定画面54の状態において、マスク選択プルダウン53からマスクBが選択され、奥行き値スライダーバー37がスライドされた状態を示している。マスク選択プルダウン53によってマスクBが選択されたことにより、開始フレームと終了フレームが、自動的にキーフレーム41b、42bとして設定される。そして、奥行き値スライダーバー37のスライドに連動して、キーフレーム41bが上下にスライドされ、位置確定により、キーフレーム41bの位置が変更される。このとき、奥行き値の変更操作に連動して、奥行き値を示す画素値を変えながら、奥行き画像表示エリア60に表示される奥行き画像のプレビューも連続的に変化される。
【0098】
以上のようにして、ユーザは、簡単な操作で、別のマスクについても奥行き設定フレームや奥行き値の変更を行うことができる。また、別のマスクについても、奥行き画像がどのように変化するのかを連続的に表示させたり、複数フレームの奥行き画像を連続的に表示させたり、奥行き画像と元映像とを連動させて、複数フレームを連続的に表示させたりすることができるため、ユーザは、同一フレームにおける被写体間で違和感がないかどうか、フレーム間で違和感がないかどうか、奥行き画像の仕上がりを容易に確認することができる。
【0099】
図10の説明に戻る。ステップS10において、制御部11は、丸み付けチェックボックスがONになっているか否か、つまり、図11の丸み付けチェックボックス56が選択されているか否かを判定し、丸み付けチェックボックスがONになっていると判定した場合、ステップS11に進む。一方、丸み付けチェックボックスがONになっていないと判定した場合、ステップS17に進む。
【0100】
ステップS11において、制御部11は、骨格使用チェックボックスがONになっているか否か、つまり、図11の骨格使用チェックボックス57が選択されているか否かを判定する。
【0101】
骨格使用チェックボックスがONになっていないと判定した場合、制御部11は、距離マップを作成し(ステップS15)、丸み付け処理を行う(ステップS16)。この処理の流れが、骨格を使用しない第1の丸み付け処理の流れである。
【0102】
一方、骨格使用チェックボックスがONになっていると判定した場合、制御部11は、距離マップを作成し(ステップS12)、骨格を検出し(ステップS13)、骨格距離マップを作成し(ステップS14)、丸み付け処理を行う(ステップS16)。この処理の流れが、骨格を使用する第2の丸み付け処理の流れである。
【0103】
図17(a)には、マスク領域内部71の一例が示されている。丸み付け処理を行う前の状態では、マスク領域内部71は、単一の画素値となっている。図17(a)では、単一の画素値が「白」、マスク領域外が「黒」として図示されている。
【0104】
図17(b)には、図17(a)に対応する距離マップ72が示されている。距離マップは、マスク領域内部の各画素値に輪郭までの最小距離を代入したものである。図17(b)の例では、0〜4の値が各画素値に代入されている。制御部11は、距離マップを用いて、第1の丸み付け処理を行い、マスク領域内部に丸みを持った効果を付ける。
【0105】
図17(c)には、図17(a)および図17(b)に対応する骨格距離マップ73が図示されている。骨格距離マップは、各画素値にマスク領域の形状から検出した骨格までの最小距離を代入したものである。図17(c)では、斜線部が骨格を示している。図17(c)の例では、0〜3の値が各画素値に代入されている。制御部11は、距離マップ及び骨格距離マップを用いて、第2の丸み付け処理を行い、マスク領域内部に丸みを持った効果を付ける。
【0106】
第1の丸み付け処理および第2の丸み付け処理のいずれの場合であっても、制御部11は、設定した奥行き値からマスクの断面図を計算し、図11の断面図表示エリア64にプレビュー表示する。これによって、ユーザは、設定した形状の細部を確認することができる。
【0107】
最初に、図17〜図20を参照しながら、骨格を使用しない第1の丸み付け処理を説明する。図18(a)には、第1の丸み付け処理におけるユーザ入力値75の一例が図示されている。ユーザ入力値75は、設定奥行き値、丸み付け範囲(R)および丸み付け厚み(T)を含む。設定奥行き値とは奥行き設定画面54で各フレームごとに設定される奥行き値である。図18の例では、設定奥行き値が「190」、丸み付け範囲(R)が「3pixel」、丸み付け厚み(T)が「10」である。
【0108】
図18(b)には、第1の丸み付け処理によって設定される奥行き値を説明するための模式図76が図示されている。模式図76に示されるように、制御部11は、設定奥行き値=「190」を最小値とし、設定奥行き値+丸み付け厚み(T)=「200」を最大値とし、マスク領域の各画素値を設定する。また、輪郭から丸み付け範囲(R)内の画素値については、所定の数式に基づいて補間を行う。補間のための所定の数式は、例えば、楕円の公式に従った次式が挙げられる。
【0109】
【数1】
【0110】
ここで、Da:加算奥行き量、T:丸み付け厚み、R:丸み付け範囲、d:各画素から輪郭までの距離(0<d<R)、である。輪郭から丸み付け範囲(R)内の画素値については、式(1)に従った補間によって、設定奥行き値+加算奥行き量Daが設定される。
【0111】
尚、奥行き値6の画素値の範囲を0〜255の256階調として表現する場合、設定奥行き値+丸み付け厚み(T)の値が255を超えない値とする。更に、丸み付け範囲(R)の値については、マスク領域内部が極端に尖った立体感にならないように、入力制限を行う必要があるが、図11に示すように、丸み付け範囲スライダーバー58及び丸み付け厚みスライダーバー59の両端の値を所定の入力制限値に設定することによって実現可能である。
【0112】
図18(c)には、図17(b)の距離マップ72を用いて、ユーザ入力値75及び式(1)に従った丸み付け結果が図示されている。点線の矩形の外側は、最小値の「190」(設定奥行き値)が設定されている。また、一点鎖線の矩形の内側は、最大値の「200」(設定奥行き値+丸み付け厚み(T))が設定されている。点線の矩形と一点鎖線の矩形とに挟まれる領域には、式(1)に従った補間を行った値の「197」、「199」が設定されている。「197」が設定されている画素は、各画素から輪郭までの距離dが「1」である。また、「199」が設定されている画素は、各画素から輪郭までの距離dが「2」である。
【0113】
尚、図19に示すように、マスク領域の輪郭が画像全体の領域から見切れている場合には例外処理が必要となる。例えば、図19(a)におけるプレー中の人物(最も手前に位置する人物)に対応するマスクでは、マスク領域の輪郭が画像全体の領域から見切れた状態となっている。そこで、制御部11は、距離マップを作成する際に画像の枠に当たる(最も外側に位置する)画素に対して例外処理を行い、不適切な丸み付けの発生を防ぐ。図19(b)であれば、両矢印線78、79、80、81によって示される範囲が、例外処理の対象となる。
【0114】
第1の丸み付け処理における例外処理では、制御部11は、画像の枠に当たる(最も外側に位置する)画素を輪郭として検知せずに、各画素から輪郭までの距離dを算出し、距離マップを作成する。例えば、図20に示す例であれば、制御部11は、太線の領域82の画素をマスク領域の輪郭と検知せずに、各画素から輪郭までの距離dを算出する。図20に示すように、マスク領域の各画素には、太線の領域82からの距離ではなく、黒く塗りつぶされた領域からの距離「0〜7」が設定されている。また、太線の領域82内の画素についても、黒く塗りつぶされた領域からの距離「0〜8」が設定されている。このように作成された距離マップを用いることによって、不適切な丸み付けの発生を防ぐことができる。
【0115】
次に、図17、図21〜図23を参照しながら、骨格を使用する第2の丸み付け処理を説明する。図21(a)には、第2の丸み付け処理におけるユーザ入力値83の一例が図示されている。ユーザ入力値は、設定奥行き値、丸み付け範囲(R)および丸み付け厚み(T)を含む。設定奥行き値とは奥行き設定画面54で各フレームごとに設定される奥行き値である。図21の例では、設定奥行き値が「190」、丸み付け範囲(R)が「67%」、丸み付け厚み(T)が「10」である。
【0116】
制御部11は、距離マップから、骨格を検出する(図10のステップ13)。骨格検出処理は、例えば、注目画素の隣接画素群(例えば上、下、左、右、右上、右下、左上、左下の8個)の画素値と注目画素の画素値とを比較して、注目画素の画素値が最大(同じ値でも良い。)であれば、注目画素を骨格として検出する。
【0117】
次に、制御部11は、骨格以外の画素について、骨格までの最小距離を代入した骨格距離マップを作成する(図10のステップ14)。図17(b)の距離マップ72であれば、画素値が「4」の画素が骨格として検出され、図17(c)の骨格距離マップ73が作成される。
【0118】
次に、制御部11は、距離マップおよび骨格距離マップを用いて、各画素における骨格への接近度pを算出する。ここで、骨格への接近度pは、p=各画素から輪郭までの最小距離d/(各画素からの輪郭までの最小距離d+各画素から骨格までの最小距離)×100、によって定義される。
【0119】
制御部11は、設定奥行き値=「190」を最小値とし、設定奥行き値+丸み付け厚み(T)=「200」を最大値とし、マスク領域の各画素値を設定する。また、輪郭から丸み付け範囲(R)内の画素値については、所定の数式に基づいて補間を行う。補間のための所定の数式は、例えば、楕円の公式に従った次式が挙げられる。
【0120】
【数2】
【0121】
ここで、Da:加算奥行き量、T:丸み付け厚み、R:丸み付け範囲、p:骨格への接近度(0<p<R)、である。輪郭から丸み付け範囲(R)内の画素値については、式(2)に従った補間によって、設定奥行き値+加算奥行き量Daが設定される。
【0122】
図21(b)には、図17(b)の距離マップ72および図17(c)の骨格距離マップ73を用いて算出された各画素における骨格への接近度pを示すマップ84が図示されている。図21(b)では、斜線部が骨格を示している。点線の矩形の外側は、最小値の「0%」が設定されている。また、一点鎖線の矩形の内側は、最大値の「100%」が設定されている。点線の矩形と一点鎖線の矩形とに挟まれる領域には、「33%」、「66%」が設定されている。「33%」が設定されている画素は、各画素から輪郭までの距離dが「1」、各画素から骨格までの最小距離が「2」である。また、「66%」が設定されている画素は、各画素から輪郭までの距離dが「2」、各画素から骨格までの最小距離が「1」である。
【0123】
図21(c)には、図17(b)の距離マップ72および図17(c)の骨格距離マップ73を用いて、ユーザ入力値83及び式(2)に従った丸み付け結果が図示されている。点線の矩形の外側は、最小値の「190」(設定奥行き値)が設定されている。また、一点鎖線の矩形の内側は、最大値の「200」(設定奥行き値+丸み付け厚み(T))が設定されている。点線の矩形と一点鎖線の矩形とに挟まれる領域には、式(2)に従った補間を行った値の「198」、「200」が設定されている。「198」が設定されている画素は、骨格への接近度pが「33%」である。また、「200」が設定されている画素は、骨格への接近度pが「66%」である。
【0124】
尚、図22に示すように、マスク領域の輪郭が画像全体の領域から見切れている場合には例外処理が必要となる。例えば、図22(a)におけるプレー中の人物(最も手前に位置する人物)に対応するマスクでは、マスク領域の輪郭が画像全体の領域から見切れた状態となっている。そこで、制御部11は、骨格距離マップを作成する際に画像の縦方向の枠に当たる(最も左側及び最も右側に位置する)画素に対して例外処理を行い、不適切な丸み付けの発生を防ぐ。図22(b)であれば、両矢印線86によって示される範囲が、例外処理の対象となる。
【0125】
第2の丸み付け処理における例外処理では、制御部11は、画像の縦方向の枠に当たる(最も左側及び最も右側に位置する)画素を骨格とし、骨格距離マップを作成する。例えば、図23に示す例であれば、制御部11は、斜線部87の画素を骨格とし、骨格距離マップを作成する。このように作成された骨格距離マップを用いることによって、不適切な丸み付けの発生を防ぐことができる。
【0126】
尚、画像の縦方向の枠に当たる(最も左側及び最も右側に位置する)画素だけを骨格とし、画像の横方向の枠に当たる(最も上側及び最も下側に位置する)画素を骨格としない理由は、処理対象のマスクが直立した人物だからである。例えば、処理対象のマスクが横向きに寝ている人物の場合には、画像の横方向の枠に当たる(最も上側及び最も下側に位置する)画素だけを骨格とするようにしても良い。
【0127】
図24は、第1の丸み付け処理による丸み付け範囲を示す図であり、図25は、第2の丸み付け処理による丸み付け範囲を示す図である。尚、図24及び図25の元画像は、丸み付け範囲を緑色によって示しているが、特許図面の制約の為、グレースケールに変換している。これによって、グレー部分(白や黒を除いた中間色の部分)が丸み付け範囲を表している。また、黒部分は背景、白部分はマスク内部を表している。更に、図25のマスク内部の黒部分(元画像では赤色)は、検出された骨格を表している。
【0128】
両者を比較すると、腕の部分に顕著な違いが見られる。つまり、第1の丸み付け処理では、腕の部分がほとんど丸み付け範囲となっているのに対して、第2の丸み付け処理では、腕の部分の丸み付け範囲は輪郭部分のみとなっている。
【0129】
図24の場合、腕の部分が尖っているように感じられる奥行き画像が作成されてしまう。これは、腕の部分について、最大値(=設定奥行き値+丸み付け厚み(T))が設定される範囲(=白部分)が細すぎるからである。
【0130】
一方、図25の場合、腕の部分についても適度な丸みが感じられる奥行き画像が作成される。これは、骨格を利用して丸み付け処理がなされているので、腕の部分について、最大値(=設定奥行き値+丸み付け厚み(T))が設定される範囲(=白部分)が適度な太さとなっているからである。
【0131】
このように、第2の丸み付け処理によれば、腕、足、首など、胴体よりも細い部位についても、立体感(丸み)がある奥行き画像を作成することができる。ひいては、自然な奥行き感のある3次元映像を製作することができる。
【0132】
図26は、丸み付け処理の確認画面の表示例である。奥行き画像表示エリア60において、白に近い色の画素が手前、黒に近い色の画素が奥となる。断面図プレビューチェックボタン65が選択されている場合、断面図表示エリア64において、断面図プレビューが表示される。断面図表示エリア64の横軸は、奥行き画像表示エリア60の横軸と同様、画像の横方向の位置を示している。断面図表示エリア64の縦軸は、断面図表示位置62上の各画素の奥行き値を示している。
【0133】
図26に示すように、制御部11が、丸み付け処理が行われたマスク画像を立体表示した際の断面図を算出し、算出結果の断面図を表示することによって、ユーザは、設定した立体形状の細部を確認することができる。
【0134】
図27は、第1の丸み付け処理の処理結果を示す図である。図27の断面図64aでは、マスク領域が2つの小領域91a、92aに分かれている。直線93aは、ユーザ入力による設定奥行き値を示している。人物の胴体に対応する小領域91aについては、適度な丸み付けがなされていることが確認できる。一方、人物の腕に対応する小領域92aについては、かなり尖った丸み付けがなされていることが確認できる。これは、図24の説明にて前述したように、第1の丸み付け処理では、腕の部分について、最大値(断面図において、丸みの一番飛び出た箇所の高さ)が設定される範囲が細すぎるからである。
【0135】
図28は、第2の丸み付け処理の処理結果を示す図である。図28の断面図64bでは、マスク領域が2つの小領域91b、92bに分かれている。直線93bは、ユーザ入力による設定奥行き値を示している。人物の胴体に対応する小領域91bについては、適度な丸み付けがなされていることが確認できる。また、人物の腕に対応する小領域92bについても、適度な丸み付けがなされていることが確認できる。
【0136】
しかし、図28の例では、補助線94bまでの距離を比較すれば分かるように、人物の腕に対応する小領域92bの最大値(断面図において、丸みの一番飛び出た箇所の高さ)が、人物の胴体に対応する小領域91bの最大値と同じ値になっている。これでは、全体的には少し不自然な奥行き画像となってしまう。
【0137】
そこで、制御部11は、変形例として、マスク領域が複数の小領域に分離している横断面位置では、各小領域の横幅に合わせて奥行き値の最大値を調整するようにしても良い。具体的には、制御部11は、小領域ごとに横幅を算出し、横幅に応じて各小領域の丸み付け厚み(T)を変更する。例えば、ユーザ入力による丸み付け厚み(T)が「10」であった場合、小領域91bの丸み付け厚み(T)は「10」のままとし、小領域92bの丸み付け厚み(T)は「7」とする。これによって、横幅が狭い部分(人物であれば、腕、足、首など)の飛び出しが抑えられ、自然な丸み付けが可能となる。
【0138】
図29は、第2の丸み付け処理の変形例の処理結果を示す図である。図29の断面図64cでは、マスク領域が2つの小領域91c、92cに分かれている。直線93cは、ユーザ入力による設定奥行き値を示している。人物の胴体に対応する小領域91cについては、適度な丸み付けがなされていることが確認できる。また、人物の腕に対応する小領域92cについても、適度な丸み付けがなされていることが確認できる。更に、補助線94cまでの距離を比較すれば分かるように、人物の腕に対応する小領域92cの最大値が、人物の胴体に対応する小領域91cの最大値よりも小さくなっており、腕の部分の飛び出しが抑えられ、自然な丸み付けになっていることが確認できる。
【0139】
制御部11は、丸み付け処理が行われたマスク画像をRAMや記憶部12等に記憶し、後述する処理に利用する。丸み付け処理が行われたマスク画像は、図8に示すようなマスク領域のように、一色(単一の画素値)で塗られているものではなく、複数色(複数の画素値)で塗られたものとなっている。より具体的には、マスク領域の輪郭に近い部分が滑らかな階調を有するものとなっている。
【0140】
図10の説明に戻る。ステップS17において、制御部11は、書き出しボタンの押下指示があったか否か、つまり、図11の書き出しボタン66が押下されたか否かを判定し、まだ書き出しボタン押下指示がないと判定した場合、ステップS2に戻り、上述した処理を繰り返し実行する。
【0141】
また、ステップS17において、制御部11は、書き出しボタンの押下指示があったと判定した場合、ステップS18に進み、丸み付け処理が行われたマスク画像を用いて奥行き画像7を作成し、作成された奥行き画像7を記憶部12に保存する。ステップS18では、制御部11は、丸み付け処理が行われた複数のマスク画像や背景画像を用いて、適切な合成処理(複数のマスク画像について、同一の画素における画素値を比較し、手前の画素値の方を選択して画像を作成する処理)を行う。ステップS19において、制御部11は、2次元画像3に対応付けてラベル画像8を作成し、記憶部12に保存する。
【0142】
図30は、ラベル画像8の作成を説明する図である。
【0143】
例えば、図30(a)に示すように、マスク画像5dは、四角の物体の被写体のマスクDであり、マスク画像5eは、円の物体の被写体のマスクEであるとする。上述したような奥行き値の設定により、図30(b)に示すように、マスクDの被写体7dが最も手前(白)、マスクEの被写体7eの被写体が最も奥(黒)となるように奥行き値が設定され、奥行き画像7が生成されたとする。
【0144】
図30(c)に示すように、手前の被写体7dに対応するラベルDについては、マスク画像5Dと同様の領域が、ラベルDのラベリング領域8dとしてラベリングされる。
【0145】
図30(c)に示すように、奥の被写体7eに対応するラベルEについては、マスク画像5eの領域からラベルDとの重複部分を除いた領域(斜線部の領域)が、ラベルEのラベリング領域8eとしてラベリングされる。
【0146】
以上のように、ラベル画像8には、他のマスク画像5と重複していない、又は他のマスク画像5よりも手前の被写体については、マスク画像5と同じ領域がラベリングされる(図30のラベルD)。また、ラベル画像8には、他のマスク画像5と重複しており、他のマスク画像5よりも奥の被写体については、マスク画像5の領域から重複部分を除外した領域がラベリングされる(図30のラベルE)。
【0147】
[発明の実施の形態における効果]
1.同一被写体の複数フレームに対する奥行き値を互いに比較表示させながら、奥行き値の設定ができるので、フレーム間で違和感のない奥行き値を設定することが可能となる。これにより、ユーザは、フレーム間で違和感がないかどうかを容易に確認することができる。
【0148】
2.同一フレームの複数被写体に対する奥行き値を互いに比較表示させながら、奥行き値の設定ができるので、同一フレームにおける被写体間で違和感のない奥行き値を設定することが可能となる。これにより、ユーザは、同一フレームにおける被写体間で違和感がないかどうかを容易に確認することができる。
【0149】
3.一部のフレームについて奥行き値を設定すれば、他のフレームについては、装置が違和感のない範囲で自動的に補間するので、全フレームの奥行き値を手作業で設定していた従来と比較して、作業効率が大幅に良くなる。
【0150】
4.奥行き画像と元映像を連動させて、複数フレームを連続的に表示させることができるので、奥行き画像の仕上りを容易に確認することができる。
【0151】
5.奥行き値の設定が必要なフレームだけを表示させることができ、利便性が高まる。
【0152】
6.丸み付け処理を行うことによって、立体物の内部にも立体感(丸み)がある奥行き画像を精度良く、かつ、効率的に製作することができる。
【0153】
7.骨格を利用した第2の丸み付け処理によれば、腕、足、首など、胴体よりも細い部位についても、立体感(丸み)がある奥行き画像を作成することができる。ひいては、自然な奥行き感のある3次元映像を製作することができる。
【0154】
8.丸み付け処理が行われたマスク画像を立体表示した際の断面図を算出し、算出結果の断面図を表示することによって、ユーザは、設定した立体形状の細部を確認することができる。
【0155】
9.丸み付け処理において、マスク領域が複数の小領域に分離している横断面位置では、小領域ごとに横幅を算出し、横幅に応じて各小領域の丸み付け厚みを変更することによって、横幅が狭い部分(人物であれば、腕、足、首など)の飛び出しが抑えられ、自然な丸み付けが可能となる。
【0156】
以上、添付図面を参照しながら、本発明に係る奥行き製作支援装置等の好適な実施形態について説明したが、本発明はかかる例に限定されない。当業者であれば、本願で開示した技術的思想の範疇内において、各種の変更例又は修正例に想到し得ることは明らかであり、それらについても当然に本発明の技術的範囲に属するものと了解される。
【符号の説明】
【0157】
1………奥行き製作支援装置
3………2次元画像
4………背景画像
5………マスク画像
6………奥行き値
7………奥行き画像
8………ラベル画像
【技術分野】
【0001】
本発明は、立体視を実現するための視差画像を生成する視差画像生成装置が利用する奥行き画像を製作する奥行き製作支援装置等に関する。
【背景技術】
【0002】
従来、3次元映像表示システムでは、大別して、2視差方式のものと、3以上の視差を持つ多視差方式のものがある。いずれの方式も、必要な視点数からシーンを見た映像を準備する必要がある。
【0003】
最も直接的な映像の制作方法としては、必要な視差数分のカメラを用意し、同一シーンを所定の間隔に配置された複数のカメラで撮影する方法が考えられる。最近では2視差を直接撮影できるカメラが市販されているが、多視差を直接撮影できるカメラは一般的でない。
【0004】
また、3次元CG(Computer Graphics)画像を作成し、複数のカメラ位置を設定してレンダリングする方法も考えられる。3次元CG画像には奥行き情報が含まれており、3次元画像から多視差方式に対応した視差画像を作成することは可能である。しかし、カメラ位置の数が多い場合、レンダリング回数が多くなり、時間とコストがかかるという問題がある。さらに、ほとんどの映像はCG画像ではなく実写であり、実写から3次元映像を作成することが求められている。
【0005】
実写映像による多視差映像を制作する為に、平面(2D)映像を基にして多視差映像に変換する手法(いわゆる2次元/3次元変換の手法)は、いくつか存在する。しかし、多視差映像に変換する手法では、奥行き情報がない。そのため全てのシーン(フレーム)において手作業で1枚ずつ奥行き情報を作成する必要が生じ、非常に作業負荷が高かった。
【0006】
そこで、奥行き値を設定するための手法として、例えば、特許文献1には、ユーザ指示に応じてメッシュ形状を変形させ、奥行き値を設定する技術が提案されている。また例えば、非特許文献1には、3次元空間内において、映像の選択部分をユーザが移動・回転させ、奥行き値を設定する技術が提案されている。また例えば、特許文献2には、飛び出させたい部分をユーザがマウスによって選択し、選択部分の2値画像に平均化フィルタを作用させて、奥行き画像として利用する技術が提案されている。
【0007】
しかしながら、特許文献1に記載の技術は、操作すべき項目が多く、1フレーム分の奥行き情報を設定するための長時間を要し、設定した奥行き値が確認し難いという課題があった。また、非特許文献1に記載の技術は、設定方法は簡略化されているものの、異なるフレームにおける奥行き値の比較ができないため、位置関係の矛盾が生じやすいという課題があった。
【0008】
そこで、本発明者らは、特許文献3において、(1)グラフとスライドバーを使用して奥行き値を設定する技術、(2)グラフとプレビュー画面を使用して奥行き値を確認する技術、(3)キーフレーム間の奥行き値を補間する技術、(4)前述の技術に基づいて奥行き画像及びラベル画像を生成する技術、を提案している。
【先行技術文献】
【特許文献】
【0009】
【特許文献1】特表2010−516155号公報
【特許文献2】特許第4708619号公報
【特許文献3】特願2011−168920号公報
【非特許文献】
【0010】
【非特許文献1】Depth Director: A System for Adding Depth to Movies
【発明の概要】
【発明が解決しようとする課題】
【0011】
しかしながら、特許文献3に開示されている技術では、奥行き画像のマスク領域内部が一色(単一の画素値)で塗られており、マスク領域内部に立体感(丸み)がない画像になってしまうという課題が残されている。ここで、マスク領域は、例えば、人物や物体などの立体物ごとに設定される領域である。
【0012】
特許文献1に開示されている技術では、操作すべき項目が多く、1フレーム分の奥行き情報を設定するための長時間を要し、設定した奥行き値が確認し難いという従来からの課題がある。また、設定結果の確認方法が、メッシュ形状のワイヤーフレームを元画像に合成し、表示するというものであり、立体物の形状が確認し難いという課題がある。
【0013】
非特許文献1に開示されている技術では、異なるフレームにおける奥行き値の比較ができないため、位置関係の矛盾が生じやすいという従来からの課題がある。また、立体物の丸み表現の自由度が低いという課題がある。更に、設定結果の確認方法が、3次元空間上で立体化された映像を、カメラアングルを変更しながら確認するというものであり、立体物の形状の細部が確認し難いという課題もある。
【0014】
特許文献2に開示されている技術では、立体物の適切な形状が得られないという課題がある。また、設定結果の確認方法が、奥行き値(0〜1)と対応する画素値の積を明度情報として表示するものであり、明度情報のみでは形状が確認し難いという課題もある。
【0015】
本発明は、前述した問題点に鑑みてなされたもので、その目的とすることは、立体物の内部にも立体感(丸み)がある奥行き画像を精度良く、かつ、効率的に製作することを支援する奥行き製作支援装置等を提供することである。
【課題を解決するための手段】
【0016】
前述した目的を達成するために、第1の発明は、立体視を実現するための視差画像の生成処理に利用する奥行き画像を製作する奥行き製作支援装置であって、元の映像の各フレームに対して、特定の被写体を識別するために2値化された複数のマスク画像を読み込む読込手段と、設定奥行き値、丸み付け範囲、及び丸み付け厚みを入力する入力手段と、前記マスク画像におけるマスク領域の骨格を検出し、各画素における前記骨格への接近度、前記設定奥行き値、前記丸み付け範囲、前記丸み付け厚みに基づいて、前記マスク画像に対して丸み付け処理を行う丸み付け手段と、前記丸み付け手段によって丸み付け処理が行われた前記マスク画像を用いて、前記奥行き画像を作成する奥行き画像作成手段と、を備えることを特徴とする奥行き製作支援装置である。第1の発明によって、立体物の内部にも立体感(丸み)がある奥行き画像を精度良く、かつ、効率的に製作することが可能となる。特に、人物の腕、足、首など、人物の胴体よりも細い部位についても、適度な立体感(丸み)がある奥行き画像を作成することができる。
【0017】
第1の発明における前記丸み付け手段は、例えば、前記設定奥行き値を最小値、前記設定奥行き値及び前記丸み付け厚みの加算値を最大値とし、前記マスク領域の輪郭から前記丸み付け範囲内の画素値については、前記骨格への接近度を含む所定の数式に基づいて補間を行う。これによって、丸み付け範囲の画素には、骨格への接近度に応じた適切な画素値が設定される。
【0018】
また、第1の発明における前記丸み付け手段は、例えば、前記マスク領域内部の各画素値に輪郭までの最小距離を代入した距離マップを算出し、前記距離マップから前記骨格を検出し、前記骨格以外の画素について、前記骨格までの最小距離を代入した骨格距離マップを作成し、前記距離マップおよび前記骨格距離マップを用いて、各画素における前記骨格への接近度を算出する。これによって、簡易な処理により各画素における骨格への接近度を算出することができる。
【0019】
また、第1の発明における前記丸み付け手段は、前記マスク領域が複数の小領域に分離している横断面位置では、前記小領域ごとに横幅を算出し、前記横幅に応じて前記小領域ごとに前記丸み付け厚みを変更することが望ましい。これによって、横幅が狭い部分(人物であれば、腕、足、首など)の飛び出しが抑えられ、自然な丸み付けが可能となる。
【0020】
また、第1の発明は、前記丸み付け手段によって丸み付け処理が行われた前記マスク画像を立体表示した際の断面図を算出し、前記断面図を表示する表示手段、を更に備えることが望ましい。これによって、ユーザは、設定した立体形状の細部を確認することができる。
【0021】
第2の発明は、立体視を実現するための視差画像の生成処理に利用する奥行き画像を製作する奥行き製作支援方法であって、元の映像の各フレームに対して、特定の被写体を識別するために2値化された複数のマスク画像を読み込む読込ステップと、設定奥行き値、丸み付け範囲、及び丸み付け厚みを入力する入力ステップと、前記マスク画像におけるマスク領域の骨格を検出し、各画素における前記骨格への接近度、前記設定奥行き値、前記丸み付け範囲、前記丸み付け厚みに基づいて、前記マスク画像に対して丸み付け処理を行う丸み付けステップと、前記丸み付けステップによって丸み付け処理が行われた前記マスク画像を用いて、前記奥行き画像を作成する奥行き画像作成ステップと、を含むことを特徴とする奥行き製作支援方法である。第2の発明によって、立体物の内部にも立体感(丸み)がある奥行き画像を精度良く、かつ、効率的に製作することが可能となる。特に、人物の腕、足、首など、人物の胴体よりも細い部位についても、適度な立体感(丸み)がある奥行き画像を作成することができる。
【0022】
第3の発明は、コンピュータに、元の映像の各フレームに対して、特定の被写体を識別するために2値化された複数のマスク画像を読み込む読込ステップと、設定奥行き値、丸み付け範囲、及び丸み付け厚みを入力する入力ステップと、前記マスク画像におけるマスク領域の骨格を検出し、各画素における前記骨格への接近度、前記設定奥行き値、前記丸み付け範囲、前記丸み付け厚みに基づいて、前記マスク画像に対して丸み付け処理を行う丸み付けステップと、前記丸み付けステップによって丸み付け処理が行われた前記マスク画像を用いて、立体視を実現するための視差画像の生成処理に利用する奥行き画像を作成する奥行き画像作成ステップと、を実行させるためのプログラムである。第3の発明に係るプログラムをコンピュータにインストールすることで、第1の発明に係る奥行き製作支援装置を得ることができる。
【発明の効果】
【0023】
本発明により、立体物の内部にも立体感(丸み)がある奥行き画像を精度良く、かつ、効率的に製作することを支援する奥行き製作支援装置等を提供することができる。
【図面の簡単な説明】
【0024】
【図1】本発明の実施の形態に係る奥行き製作支援装置のハードウエア構成図である。
【図2】奥行き製作支援装置および視差画像生成装置の入出力データを示す図である。
【図3】2次元画像の一例を示す図である。
【図4】図3に示した2次元画像に基づいて生成された背景画像の一例を示す図である。
【図5】マスク画像の一例を示す図である。
【図6】他のマスク画像の一例を示す図である。
【図7】他のマスク画像の一例を示す図である。
【図8】奥行き画像の一例を示す図である。
【図9】入出力画像の対応付けを説明するための図である。
【図10】奥行き製作支援処理を説明するフローチャートである。
【図11】奥行き製作支援画面の表示例である。
【図12】奥行き設定画面を拡大した表示例である。
【図13】奥行き設定画面の他の表示例である。
【図14】奥行き設定画面の他の表示例である。
【図15】奥行き設定画面の他の表示例である。
【図16】奥行き設定画面の他の表示例である。
【図17】距離マップおよび骨格距離マップの一例を示す図である。
【図18】第1の丸み付け処理を説明するための図である。
【図19】第1の丸み付け処理の例外処理を説明するための図である。
【図20】第1の丸み付け処理の例外処理を説明するための図である。
【図21】第2の丸み付け処理を説明するための図である。
【図22】第2の丸み付け処理の例外処理を説明するための図である。
【図23】第2の丸み付け処理の例外処理を説明するための図である。
【図24】第1の丸み付け処理による丸み付け範囲を示す図である。
【図25】第2の丸み付け処理による丸み付け範囲を示す図である。
【図26】丸み付け処理の確認画面の表示例である。
【図27】第1の丸み付け処理の処理結果を示す図である。
【図28】第2の丸み付け処理の処理結果を示す図である。
【図29】第2の丸み付け処理の変形例の処理結果を示す図である。
【図30】ラベル画像の作成を説明する図である。
【発明を実施するための形態】
【0025】
以下、図面に基づいて、本発明の実施形態を詳細に説明する。
【0026】
[本発明の実施の形態]
図1は、本発明の実施の形態に係る奥行き製作支援装置1のハードウエア構成図である。尚、図1のハードウエア構成は一例であり、用途、目的に応じて様々な構成を採ることが可能である。
【0027】
奥行き製作支援装置1は、制御部11、記憶部12、メディア入出力部13、通信制御部14、入力部15、表示部16、周辺機器I/F部17等が、バス18を介して接続される。
【0028】
制御部11は、CPU(Central Processing Unit)、ROM(Read OnlY MemorY)、RAM(Random Access MemorY)等で構成される。
【0029】
CPUは、記憶部12、ROM、記録媒体等に格納されるプログラムをRAM上のワークメモリ領域に呼び出して実行し、バス18を介して接続された各装置を駆動制御し、奥行き製作支援装置1が行う後述する処理を実現する。ROMは、不揮発性メモリであり、奥行き製作支援装置1のブートプログラムやBIOS等のプログラム、データ等を恒久的に保持している。RAMは、揮発性メモリであり、記憶部12、ROM、記録媒体等からロードしたプログラム、データ等を一時的に保持するとともに、制御部11が各種処理を行う為に使用するワークエリアを備える。
【0030】
記憶部12は、HDD(ハードディスクドライブ)等であり、制御部11が実行するプログラム、プログラム実行に必要なデータ、OS(オペレーティングシステム)等が格納される。プログラムに関しては、OS(オペレーティングシステム)に相当する制御プログラムや、後述する処理を奥行き製作支援装置1に実行させるためのアプリケーションプログラムが格納されている。これらの各プログラムコードは、制御部11により必要に応じて読み出されてRAMに移され、CPUに読み出されて各種の手段として実行される。
【0031】
メディア入出力部13(ドライブ装置)は、データの入出力を行い、例えば、CDドライブ(−ROM、−R、−RW等)、DVDドライブ(−ROM、−R、−RW等)等のメディア入出力装置を有する。
【0032】
通信制御部14は、通信制御装置、通信ポート等を有し、奥行き製作支援装置1とネットワーク間の通信を媒介する通信インタフェースであり、ネットワークを介して、他の装置間との通信制御を行う。ネットワークは、有線、無線を問わない。
【0033】
入力部15は、データの入力を行い、例えば、キーボード、マウス等のポインティングデバイス、テンキー等の入力装置を有する。入力部15を介して、奥行き製作支援装置1に対して、操作指示、動作指示、データ入力等を行うことができる。
【0034】
表示部16は、CRTモニタ、液晶パネル等のディスプレイ装置、ディスプレイ装置と連携して奥行き製作支援装置1のビデオ機能を実現するための論理回路等(ビデオアダプタ等)を有する。
【0035】
周辺機器I/F(インタフェース)部17は、奥行き製作支援装置1に周辺機器を接続させるためのポートであり、周辺機器I/F部17を介して奥行き製作支援装置1は周辺機器とのデータの送受信を行う。周辺機器I/F部17は、USBやIEEE1394やRS−235C等で構成されており、通常複数の周辺機器I/Fを有する。周辺機器との接続形態は有線、無線を問わない。
【0036】
バス18は、各装置間の制御信号、データ信号等の授受を媒介する経路である。
【0037】
図2は、奥行き製作支援装置1および視差画像生成装置2の入出力データを示す図である。図2に示すように、奥行き製作支援装置1は、2次元画像3、背景画像4、マスク画像5、及び奥行き値6を入力データとし、奥行き画像7、およびラベル画像8を出力データとする。視差画像生成装置2は、2次元画像3、奥行き画像7、およびラベル画像8を入力データとし、視差画像9を出力データとする。
【0038】
2次元画像3、背景画像4、及びマスク画像5は、奥行き製作支援装置1の制御部11(以下、「制御部11」と略記する。)が生成しても良いし、メディア入出力部13、通信制御部14等を介して外部から取得しても良い。また、奥行き値6は、奥行き製作支援装置1の入力部15を介して入力しても良いし、予め奥行き値6が定義されたファイルを外部から取得しても良い。
【0039】
2次元画像3は、動画像(平面映像)の1枚分のフレーム画像または静止画像である。動画像(平面映像)には、例えば、単位時間当たり所定のフレーム数(通常、1秒間に30フレーム)のカラー静止画像が含まれており、各画素がRGB各256段階の階調を持つ。
【0040】
背景画像4は、背景の奥行き感を示す画像である。背景画像4は、2次元画像3に基づいてフォトレタッチソフトなどを用いて手作業で生成してもよいし、別途ソフトウエアを用いて自動的に生成してもよい。
【0041】
マスク画像5は、特定の被写体を識別するための2値化画像である。マスク画像5は、2次元画像3に基づいてフォトレタッチソフトなどを用いて手作業で生成してもよいし、別途ソフトウエアを用いて自動的に生成してもよい。
【0042】
奥行き値6は、被写体の奥行き方向の位置を定義する値である。本発明では、奥行き値6の画素値の範囲を0〜255の256階調として表現する。0が黒、255が白、1〜254がグレー(中間調)に対応する。
【0043】
奥行き製作支援装置1は、2次元画像3、背景画像4、マスク画像5、および奥行き値6に基づいて、奥行き画像7の製作を支援するものである。特に、本発明の実施の形態における奥行き製作支援装置1は、立体物の内部にも立体感(丸み)がある奥行き画像を作成するために、マスク画像5に対する丸み付け処理(図10のS16、図11、図17〜図29参照)に特徴がある。
【0044】
奥行き画像7は、2次元画像3に係るカメラから被写体までの奥行き値を画素値に置き換えた画像である。ここで、カメラとは、視差画像生成装置2の内部処理において定義される仮想的なカメラを意味する。
【0045】
奥行き画像7は、例えば、画素値の範囲が0〜255(8ビット)のグレースケールであり、0(黒)が最も奥、255(白)が最も手前を意味する場合が多いが、逆であっても良い。以下では、説明を分かり易くするために、奥行き画像7は、画素値の範囲が0〜255であり、0(黒)が最も奥、255(白)が最も手前を意味するものとする。
【0046】
ラベル画像8は、それぞれの2次元画像3に対応付けて、2次元画像3に記録されたシーンを構成する被写体を識別する固有の数値(ラベル値)によって領域分けし、このラベル値を画素値に置き換えた(ラベリングされた)画像である。例えば、背景、建物、及び人物から構成されるシーンにおいて、背景、建物、及び人物に相当するラベル値として、それぞれL0、L1、L2を割り当て、対応する2次元画像3の各画素がどの被写体に属しているかを、L0、L1、L2の画素値に置き換えることによって表現する。
【0047】
ラベル画像8は、2次元画像3に基づいてフォトレタッチソフトなどを用いて手作業で生成してもよいし、本発明のように、奥行き製作支援装置1が自動的に生成してもよい。
【0048】
視差画像9は、立体視を実現するための画像である。本発明の実施の形態では、視差画像9は、特に、両目視差(約60mm〜70mm程度)を利用し、裸眼観察によって立体視を実現するための画像である。
【0049】
尚、本発明の実施の形態では詳細に述べないが、複数の視差画像9をディスプレイの仕様に合わせて合成し、ディスプレイに表示することによって、裸眼観察による立体視を実現することが可能となる。複数の視差画像9の合成処理については、公知の技術を利用すれば良い。
【0050】
視差画像生成装置2は、2次元画像3、奥行き画像7、およびラベル画像8に基づいて視差画像9を生成するものである。視差画像生成装置2の詳細は、本出願人が先に出願した、特願2010−176864号、および特願2011−55878号に記載されている。
【0051】
次に、図3〜図8を参照して、奥行き製作支援装置1の入出力データの表示例について説明する。
【0052】
図3は、2次元画像3の一例を示している。図3の例では、複数人でスポールブールというボール競技をしている動画像の1フレーム分を示している。図4は、図3に示した2次元画像3に基づいて生成された背景画像4の一例を示している。図3および図4は、同一フレームである。なお、背景画像4の奥行き感は、厳密でなくてよい。また背景画像4はなくてもよい。
【0053】
図5は、図3に示した2次元画像3と同一フレームのマスク画像5の一例を示している。図5の例では、球技参加者であるプレー中の人物(特定の被写体)を識別するための2値化画像であり、そのプレー中の人物の画素が白、それ以外の画素が黒にされている。以下、図5のマスク画像5を、適宜、マスクAのマスク画像と称する。
【0054】
図6は、他のマスク画像5の一例を示している。図6の例では、対戦している様子を少し離れて見物している2人の人物(特定の被写体)を識別するための2値化画像であり、その2人の人物の画素が白、それ以外の画素が黒にされている。図6は、図3〜図5、図7とは別フレーム(異なる時刻)である。以下、図6のマスク画像5を、適宜、マスクBのマスク画像と称する。
【0055】
図7は、他のマスク画像5の一例を示している。図7の例では、対戦相手の人物(特定の被写体)を識別するための2値化画像であり、その対戦相手の人物の画素が白、それ以外の画素が黒にされている。図7は、図3〜図6とは別フレームである。以下、図7のマスク画像5を、適宜、マスクCのマスク画像と称する。
【0056】
なお、図3に示す2次元画像3において、マスクBの被写体(見物している2人の人物)の中の1人は、マスクAの被写体(プレー中の人物)に隠れており映っていない。また、マスクCの被写体は、マスクBの被写体よりも右側に位置しており、図3に示す2次元画像3に映っていない。
【0057】
以上のように、奥行き製作支援装置1は、フレームごとに、マスクAのマスク画像(図5)、マスクBのマスク画像(図6)、およびマスクCのマスク画像(図7)を予め用意しておき、それらのマスク画像5と奥行き値6に基づいて、フレームごとに奥行き画像7を製作する。
【0058】
図8は、奥行き画像7の一例を示している。但し、図8に示す奥行き画像7は、丸み付け処理(図10のS16)を行っていない例である。奥行き画像7は、複数の被写体同士の奥行き方向の相対的な位置関係が、模擬的に定義された画像である。図8は、図3〜図7とは別フレームであり、プレー中の人物がボールを投げる直前のフレームである。図8の例では、一番手前(白の領域)にマスクAの被写体(プレー中の人物)、奥(グレーの領域)にマスクBの被写体(見物している2人の人物)が存在するという奥行き方向の位置関係が定義されている。また、背景画像4の奥行き情報も付加されている。
【0059】
図8に示す奥行き画像7では、マスクAの被写体やマスクBの被写体の内部(=マスク領域内部)が一色(単一の画素値)で塗られており、マスク領域内部に立体感(丸み)がない画像になってしまう。そこで、本発明の実施の形態では、奥行き製作支援装置1が丸み付け処理(図10のS16)を行い、立体物の内部にも立体感(丸み)がある奥行き画像7を製作する。
【0060】
図9は、奥行き製作支援装置1が扱う入出力画像の対応付けを説明するための図である。
【0061】
図9に示すように、入力画像群は、フレームごとに、2次元画像、マスクAのマスク画像、マスクBのマスク画像、マスクCのマスク画像、および背景画像の5枚の画像が1組となっている。また出力画像群は、フレームごとに、奥行き画像、およびラベル画像の2枚の画像が1組となっている。例えば、フレーム数が1000枚の場合、2次元画像は1000枚、マスク画像は3000枚、背景画像は1000枚準備され、奥行き画像は1000枚、ラベル画像は1000枚出力されることになる。
【0062】
図10は、奥行き製作支援装置1が実行する奥行き製作支援処理を説明するフローチャートである。図10の説明に当たり、図11〜図30を参照し、具体的な操作内容も説明する。
【0063】
まず、ユーザは、奥行き製作支援処理を開始するにあたり、図11に示すような奥行き製作支援画面50を表示部16に表示させる。図11の例の場合、奥行き製作支援画面50には、「マスク読み込み」、「ムービー読み込み」、「背景読み込み」のボタン群51、マスク範囲検出チェックボタン52、マスク選択プルダウン53、奥行き設定画面54、プレビュー位置情報表示エリア55、丸み付けチェックボックス56、骨格使用チェックボックス57、丸み付け範囲スライダーバー58、丸み付け厚みスライダーバー59、奥行き画像表示エリア60、断面図表示位置スライダーバー61、断面図表示位置62、2次元画像表示エリア63、断面図表示エリア64、断面図プレビューチェックボタン65、書き出しボタン66が表示されている。
【0064】
ボタン群51は、マスク読み込み、ムービー読み込み、背景読み込みを行う場合に操作(押下)される。マスク範囲検出チェックボタン52は、選択されているマスクの被写体が存在するフレームの範囲を検出する場合に操作される。マスク選択プルダウン53は、奥行き設定するマスクを選択する場合に操作される。奥行き設定画面54は、マスク選択プルダウン53で選択されたマスクの奥行き値を変更するための設定画面である。
【0065】
プレビュー位置情報表示エリア55には、奥行き画像表示エリア60及び2次元画像表示エリア63に表示されているフレームのフレーム番号と、奥行き設定画面54において設定されている奥行き値が表示される。
【0066】
丸み付けチェックボックス56は、丸み付け処理を行う場合(図10のS10のYes)に選択される。骨格使用チェックボックス57は、骨格を使用して丸み付け処理を行う場合(図10のS11のYes)に選択される。
【0067】
丸み付け範囲スライダーバー58は、丸み付け範囲を指定する場合に横方向にスライド(移動)される。丸み付け厚みスライダーバー59は、丸み付け厚みを指定する場合に横方向にスライド(移動)される。丸み付け範囲および丸み付け厚みについては、図18を参照しながら後述する。
【0068】
奥行き画像表示エリア60には、プレビュー位置情報表示エリア55に表示されているフレーム番号の奥行き画像のプレビューが表示される。断面図表示位置スライダーバー61は、断面図の表示位置を指定する場合に縦方向にスライド(移動)される。断面図表示位置62は、断面図表示位置スライダーバー61によって指定される断面図の表示位置を示す直線である。
【0069】
2次元画像表示エリア63には、読み込まれた2次元画像のプレビューが表示されたり、2次元画像にマスク画像が重畳されたプレビューが表示されたりする。断面図表示エリア64には、断面図表示位置スライダーバー61によって指定される表示位置の断面図が表示される。断面図プレビューチェックボタン65は、断面図プレビューの表示を指示する場合に選択される。書き出しボタン66は、奥行き画像を保存する場合に操作される。
【0070】
図12は、奥行き設定画面54を拡大した表示例である。尚、図12〜図16の画面要素の一部は、図11の画面要素の一部と一致しないが、同様の機能(入力機能及び表示機能)を提供するものである。
【0071】
図12に示すように、奥行き設定画面54の縦軸は、デプス値(奥行き値)を表し、横軸は、Time(フレーム)を表している。奥行き設定画面54内において、奥行き値曲線31a、31b、31cは、それぞれ、マスクA、マスクB、マスクCの奥行き値を示す曲線であって、初期画面では、3つが重なって表示される。開始位置32は、開始フレームの位置を示し、終了位置33は、終了フレームの位置を示している。
【0072】
フレームスライダーバー34は、奥行き値を設定するフレームを指定する場合に横方向にスライド(移動)される。番号35は、フレームスライダーバー34によって指定されているフレームの番号を示す。フレーム位置36は、フレームスライダーバー34によって指定されているフレーム方向の位置を示し、初期画面では、開始位置32とフレーム位置36は重なって表示される。奥行き値スライダーバー37は、奥行き値を指定する場合に縦方向にスライドされる。キーフレーム削除ボタン38は、現在選択されているマスクのキーフレーム(変化が定義されているフレーム)を削除する場合に選択される。
【0073】
以上のような奥行き製作支援画面50において、ユーザは、ボタン群51を押下し、奥行き画像を製作するための入力画像群の読み込みを指示する。
【0074】
ステップS1において、制御部11は、ユーザからの指示に基づいて、入力画像群を読み込む。例えば、図9に示したように、フレームごとに、2次元画像、マスクAのマスク画像、マスクBのマスク画像、マスクCのマスク画像、および背景画像の5枚の画像が1組となった入力画像群が読み込まれる。また、ユーザによって、マスク範囲検出チェックボタン52が押下されることで、奥行き値の設定が必要なフレーム範囲が検出される。また、ユーザによって、マスク選択プルダウン53が選択されることで、奥行き設定画面54において奥行き設定するマスクや、奥行き画像表示エリア60に表示されるマスクが特定される。
【0075】
これにより、奥行き製作支援画面50において、奥行き設定画面54には、読み込まれた複数のマスクの奥行き値曲線が表示される。また、奥行き画像表示エリア60には、マスク選択プルダウン53で選択されているマスクの奥行き画像が表示される。また、2次元画像表示エリア63には、2次元画像のプレビューが表示される。
【0076】
ステップS2において、制御部11は、ユーザによってマスク選択プルダウンの入力指示があったか否か、つまり、図11のマスク選択プルダウン53で新たにマスクが選択されたか否かを判定し、マスク選択プルダウンの入力指示があったと判定した場合、ステップS3に進む。ステップS3において、制御部11は、ユーザからの入力指示に基づいて奥行き設定するマスクを変更する。
【0077】
制御部11は、ステップS2において、マスク選択プルダウンの入力指示がないと判定した場合、または、ステップS3において、奥行き設定するマスクを変更した後、ステップS4に進む。
【0078】
ステップS4において、制御部11は、ユーザによってフレームスライダーバーの変更指示があったか否か、つまり、図12のフレームスライダーバー34がスライドされたか否かを判定し、フレームスライダーバーの変更指示があったと判定した場合、ステップS5に進む。
【0079】
例えば、ユーザは、図12に示す奥行き設定画面54の初期画面において、フレームスライダーバー34を右方向にスライドすることで奥行き設定フレームの変更を行うことができる。
【0080】
図13は、図12に示す奥行き設定画面54の状態から、マスク選択プルダウン53によって単一のマスク(例えば、マスクA)が選択され、フレームスライダーバー34がスライドされた状態を示している。マスク選択プルダウン53によってマスクAが選択されたことにより、開始フレームと終了フレームが、自動的にキーフレーム41a、42aとして設定される。また、フレームスライダーバー34のスライドに連動して、フレーム位置36もスライドされる。このとき、奥行き設定フレームの変更操作に連動して、奥行き画像表示エリア60に複数フレームの奥行き画像のプレビューが連続的に表示されるとともに、2次元画像表示エリア63に複数フレームの2次元画像のプレビューが連続的に表示される。
【0081】
以上のようにして、ユーザは、簡単な操作で、奥行き設定フレームの変更を行うことができる。また、複数フレームの奥行き画像を連続的に表示させることができるため、ユーザは、フレーム間で違和感がないかどうかを容易に確認することができる。さらに、奥行き画像と元映像とを連動させて、複数フレームを連続的に表示させることができるため、奥行き画像の仕上がりを容易に確認することができる。
【0082】
図10の説明に戻る。ステップS5において、制御部11は、ユーザによる変更指示に基づいて奥行き設定フレームの変更を行う。
【0083】
制御部11は、ステップS4において、フレームスライダーバーの変更指示がないと判定した場合、または、ステップS5において、奥行き設定フレームを変更した後、ステップS6に進む。
【0084】
ステップS6において、制御部11は、ユーザによって奥行き値スライダーバーの変更指示があったか否か、つまり、図12の奥行き値スライダーバー37がスライドされたか否かを判定し、奥行き値スライダーバーの変更指示があったと判定した場合、ステップS7に進む。
【0085】
例えば、ユーザは、図13に示す奥行き設定画面54において、奥行き値スライダーバー37を上方向にスライドすることで奥行き値の変更を行うことができる。
【0086】
図14は、図13に示す奥行き設定画面54の状態から、奥行き値スライダーバー37がスライドされた状態を示している。奥行き値スライダーバー37のスライドに連動して、奥行き値曲線31aが変形される。具体的には、フレームスライダーバー34によって指定されているフレーム位置36と、奥行き値スライダーバー37によって指定されるデプス値方向の位置の交点(移動点)が上下にスライドされ、その交点の位置を確定すると(例えば、奥行き値スライダーバー37の選択を解除する操作であるマウスの左クリックを離すと)、交点にキーフレーム43aが設定される。このとき、奥行き値の変更操作に連動して、奥行き値を示す画素値を変えながら、奥行き画像表示エリア60に表示される奥行き画像のプレビューも連続的に変化される。
【0087】
以上のようにして、ユーザは、簡単な操作で、奥行き値の変更を行うことができる。また、奥行き値を変化させたときに、奥行き画像がどのように変化するのかを連続的に表示させることができるため、ユーザは、同一フレームにおける被写体間で違和感がないかどうかを容易に確認することができる。
【0088】
図10の説明に戻る。ステップS7において、制御部11は、ユーザによる変更指示に基づいて奥行き値の設定を行う。ステップS8において、制御部11は、ステップS7で設定した奥行き値に基づいて、奥行き値の補間を行う。具体的には、図14に示すキーフレーム43aと、そのキーフレーム43aに隣接するキーフレーム41a、キーフレーム42aとの間が補間される。図14の例では、線形補間を適用しているが、これに限らず、例えば、多項式補間、スプライン補間、ベジェ曲線補間などでもよい。
【0089】
このように、一部のフレームについて奥行き値を設定すれば、他のフレームについては、違和感のない範囲で自動的に補間されるため、全フレームの奥行き値を手作業する手間が省け、作業効率が大幅に良くなる。
【0090】
ステップS9において、制御部11は、ステップS8の処理で補間された奥行き値に応じて奥行き方向の位置関係が模擬的に定義された奥行き画像を作成し、奥行き画像表示エリア60に表示させる。
【0091】
制御部11は、ステップS6において、奥行き値スライダーバーの変更指示がないと判定した場合、または、ステップS9において、奥行き画像の作成、表示が行われた後、ステップS10に進む。
【0092】
例えば、ユーザは、図14に示す奥行き設定画面54において、さらに、フレームスライダーバー34を右方向にスライドすることで奥行き設定フレームの変更を再度行うことができる。
【0093】
図15は、図14に示す奥行き設定画面54の状態から、フレームスライダーバー34をスライドさせ、奥行き値スライダーバー37をスライドさせることにより新たにキーフレームを作成した状態を示している。フレームスライダーバー34のスライドに連動して、フレーム位置36もスライドされる。また、奥行き値スライダーバー37のスライドに連動して、新たなキーフレームが作成されたり、キーフレームが移動したりする。
【0094】
具体的には、奥行き値スライダーバー37を動かした際、そのフレームにキーフレームが存在しなければ新たなキーフレームが作成され、キーフレームが存在すればそのキーフレームが移動する。このとき、奥行き設定フレームの変更操作に連動して、奥行き画像表示エリア60に複数フレームの奥行き画像のプレビューが連続的に表示されるとともに、2次元画像表示エリア63に複数フレームの2次元画像のプレビューが連続的に表示される。
【0095】
以上のようにして、ユーザは、簡単な操作で、奥行き設定フレームと奥行き値の変更を何度も行うことができるため、1つのマスクに対して複数個のキーフレームを設定することが可能である。また、複数フレームの奥行き画像を連続的に表示させたり、奥行き画像と元映像とを連動させて、複数フレームを連続的に表示させたりすることができるため、ユーザは、フレーム間で違和感がないかどうか、奥行き画像の仕上がりを容易に確認することができる。
【0096】
また例えば、図15に示す奥行き設定画面54の状態において、ユーザは、マスク選択プルダウン53から別のマスク(例えば、マスクB)を選択し、上述したような奥行き設定フレームと奥行き値の変更を行うこともできる。
【0097】
図16は、図15に示す奥行き設定画面54の状態において、マスク選択プルダウン53からマスクBが選択され、奥行き値スライダーバー37がスライドされた状態を示している。マスク選択プルダウン53によってマスクBが選択されたことにより、開始フレームと終了フレームが、自動的にキーフレーム41b、42bとして設定される。そして、奥行き値スライダーバー37のスライドに連動して、キーフレーム41bが上下にスライドされ、位置確定により、キーフレーム41bの位置が変更される。このとき、奥行き値の変更操作に連動して、奥行き値を示す画素値を変えながら、奥行き画像表示エリア60に表示される奥行き画像のプレビューも連続的に変化される。
【0098】
以上のようにして、ユーザは、簡単な操作で、別のマスクについても奥行き設定フレームや奥行き値の変更を行うことができる。また、別のマスクについても、奥行き画像がどのように変化するのかを連続的に表示させたり、複数フレームの奥行き画像を連続的に表示させたり、奥行き画像と元映像とを連動させて、複数フレームを連続的に表示させたりすることができるため、ユーザは、同一フレームにおける被写体間で違和感がないかどうか、フレーム間で違和感がないかどうか、奥行き画像の仕上がりを容易に確認することができる。
【0099】
図10の説明に戻る。ステップS10において、制御部11は、丸み付けチェックボックスがONになっているか否か、つまり、図11の丸み付けチェックボックス56が選択されているか否かを判定し、丸み付けチェックボックスがONになっていると判定した場合、ステップS11に進む。一方、丸み付けチェックボックスがONになっていないと判定した場合、ステップS17に進む。
【0100】
ステップS11において、制御部11は、骨格使用チェックボックスがONになっているか否か、つまり、図11の骨格使用チェックボックス57が選択されているか否かを判定する。
【0101】
骨格使用チェックボックスがONになっていないと判定した場合、制御部11は、距離マップを作成し(ステップS15)、丸み付け処理を行う(ステップS16)。この処理の流れが、骨格を使用しない第1の丸み付け処理の流れである。
【0102】
一方、骨格使用チェックボックスがONになっていると判定した場合、制御部11は、距離マップを作成し(ステップS12)、骨格を検出し(ステップS13)、骨格距離マップを作成し(ステップS14)、丸み付け処理を行う(ステップS16)。この処理の流れが、骨格を使用する第2の丸み付け処理の流れである。
【0103】
図17(a)には、マスク領域内部71の一例が示されている。丸み付け処理を行う前の状態では、マスク領域内部71は、単一の画素値となっている。図17(a)では、単一の画素値が「白」、マスク領域外が「黒」として図示されている。
【0104】
図17(b)には、図17(a)に対応する距離マップ72が示されている。距離マップは、マスク領域内部の各画素値に輪郭までの最小距離を代入したものである。図17(b)の例では、0〜4の値が各画素値に代入されている。制御部11は、距離マップを用いて、第1の丸み付け処理を行い、マスク領域内部に丸みを持った効果を付ける。
【0105】
図17(c)には、図17(a)および図17(b)に対応する骨格距離マップ73が図示されている。骨格距離マップは、各画素値にマスク領域の形状から検出した骨格までの最小距離を代入したものである。図17(c)では、斜線部が骨格を示している。図17(c)の例では、0〜3の値が各画素値に代入されている。制御部11は、距離マップ及び骨格距離マップを用いて、第2の丸み付け処理を行い、マスク領域内部に丸みを持った効果を付ける。
【0106】
第1の丸み付け処理および第2の丸み付け処理のいずれの場合であっても、制御部11は、設定した奥行き値からマスクの断面図を計算し、図11の断面図表示エリア64にプレビュー表示する。これによって、ユーザは、設定した形状の細部を確認することができる。
【0107】
最初に、図17〜図20を参照しながら、骨格を使用しない第1の丸み付け処理を説明する。図18(a)には、第1の丸み付け処理におけるユーザ入力値75の一例が図示されている。ユーザ入力値75は、設定奥行き値、丸み付け範囲(R)および丸み付け厚み(T)を含む。設定奥行き値とは奥行き設定画面54で各フレームごとに設定される奥行き値である。図18の例では、設定奥行き値が「190」、丸み付け範囲(R)が「3pixel」、丸み付け厚み(T)が「10」である。
【0108】
図18(b)には、第1の丸み付け処理によって設定される奥行き値を説明するための模式図76が図示されている。模式図76に示されるように、制御部11は、設定奥行き値=「190」を最小値とし、設定奥行き値+丸み付け厚み(T)=「200」を最大値とし、マスク領域の各画素値を設定する。また、輪郭から丸み付け範囲(R)内の画素値については、所定の数式に基づいて補間を行う。補間のための所定の数式は、例えば、楕円の公式に従った次式が挙げられる。
【0109】
【数1】
【0110】
ここで、Da:加算奥行き量、T:丸み付け厚み、R:丸み付け範囲、d:各画素から輪郭までの距離(0<d<R)、である。輪郭から丸み付け範囲(R)内の画素値については、式(1)に従った補間によって、設定奥行き値+加算奥行き量Daが設定される。
【0111】
尚、奥行き値6の画素値の範囲を0〜255の256階調として表現する場合、設定奥行き値+丸み付け厚み(T)の値が255を超えない値とする。更に、丸み付け範囲(R)の値については、マスク領域内部が極端に尖った立体感にならないように、入力制限を行う必要があるが、図11に示すように、丸み付け範囲スライダーバー58及び丸み付け厚みスライダーバー59の両端の値を所定の入力制限値に設定することによって実現可能である。
【0112】
図18(c)には、図17(b)の距離マップ72を用いて、ユーザ入力値75及び式(1)に従った丸み付け結果が図示されている。点線の矩形の外側は、最小値の「190」(設定奥行き値)が設定されている。また、一点鎖線の矩形の内側は、最大値の「200」(設定奥行き値+丸み付け厚み(T))が設定されている。点線の矩形と一点鎖線の矩形とに挟まれる領域には、式(1)に従った補間を行った値の「197」、「199」が設定されている。「197」が設定されている画素は、各画素から輪郭までの距離dが「1」である。また、「199」が設定されている画素は、各画素から輪郭までの距離dが「2」である。
【0113】
尚、図19に示すように、マスク領域の輪郭が画像全体の領域から見切れている場合には例外処理が必要となる。例えば、図19(a)におけるプレー中の人物(最も手前に位置する人物)に対応するマスクでは、マスク領域の輪郭が画像全体の領域から見切れた状態となっている。そこで、制御部11は、距離マップを作成する際に画像の枠に当たる(最も外側に位置する)画素に対して例外処理を行い、不適切な丸み付けの発生を防ぐ。図19(b)であれば、両矢印線78、79、80、81によって示される範囲が、例外処理の対象となる。
【0114】
第1の丸み付け処理における例外処理では、制御部11は、画像の枠に当たる(最も外側に位置する)画素を輪郭として検知せずに、各画素から輪郭までの距離dを算出し、距離マップを作成する。例えば、図20に示す例であれば、制御部11は、太線の領域82の画素をマスク領域の輪郭と検知せずに、各画素から輪郭までの距離dを算出する。図20に示すように、マスク領域の各画素には、太線の領域82からの距離ではなく、黒く塗りつぶされた領域からの距離「0〜7」が設定されている。また、太線の領域82内の画素についても、黒く塗りつぶされた領域からの距離「0〜8」が設定されている。このように作成された距離マップを用いることによって、不適切な丸み付けの発生を防ぐことができる。
【0115】
次に、図17、図21〜図23を参照しながら、骨格を使用する第2の丸み付け処理を説明する。図21(a)には、第2の丸み付け処理におけるユーザ入力値83の一例が図示されている。ユーザ入力値は、設定奥行き値、丸み付け範囲(R)および丸み付け厚み(T)を含む。設定奥行き値とは奥行き設定画面54で各フレームごとに設定される奥行き値である。図21の例では、設定奥行き値が「190」、丸み付け範囲(R)が「67%」、丸み付け厚み(T)が「10」である。
【0116】
制御部11は、距離マップから、骨格を検出する(図10のステップ13)。骨格検出処理は、例えば、注目画素の隣接画素群(例えば上、下、左、右、右上、右下、左上、左下の8個)の画素値と注目画素の画素値とを比較して、注目画素の画素値が最大(同じ値でも良い。)であれば、注目画素を骨格として検出する。
【0117】
次に、制御部11は、骨格以外の画素について、骨格までの最小距離を代入した骨格距離マップを作成する(図10のステップ14)。図17(b)の距離マップ72であれば、画素値が「4」の画素が骨格として検出され、図17(c)の骨格距離マップ73が作成される。
【0118】
次に、制御部11は、距離マップおよび骨格距離マップを用いて、各画素における骨格への接近度pを算出する。ここで、骨格への接近度pは、p=各画素から輪郭までの最小距離d/(各画素からの輪郭までの最小距離d+各画素から骨格までの最小距離)×100、によって定義される。
【0119】
制御部11は、設定奥行き値=「190」を最小値とし、設定奥行き値+丸み付け厚み(T)=「200」を最大値とし、マスク領域の各画素値を設定する。また、輪郭から丸み付け範囲(R)内の画素値については、所定の数式に基づいて補間を行う。補間のための所定の数式は、例えば、楕円の公式に従った次式が挙げられる。
【0120】
【数2】
【0121】
ここで、Da:加算奥行き量、T:丸み付け厚み、R:丸み付け範囲、p:骨格への接近度(0<p<R)、である。輪郭から丸み付け範囲(R)内の画素値については、式(2)に従った補間によって、設定奥行き値+加算奥行き量Daが設定される。
【0122】
図21(b)には、図17(b)の距離マップ72および図17(c)の骨格距離マップ73を用いて算出された各画素における骨格への接近度pを示すマップ84が図示されている。図21(b)では、斜線部が骨格を示している。点線の矩形の外側は、最小値の「0%」が設定されている。また、一点鎖線の矩形の内側は、最大値の「100%」が設定されている。点線の矩形と一点鎖線の矩形とに挟まれる領域には、「33%」、「66%」が設定されている。「33%」が設定されている画素は、各画素から輪郭までの距離dが「1」、各画素から骨格までの最小距離が「2」である。また、「66%」が設定されている画素は、各画素から輪郭までの距離dが「2」、各画素から骨格までの最小距離が「1」である。
【0123】
図21(c)には、図17(b)の距離マップ72および図17(c)の骨格距離マップ73を用いて、ユーザ入力値83及び式(2)に従った丸み付け結果が図示されている。点線の矩形の外側は、最小値の「190」(設定奥行き値)が設定されている。また、一点鎖線の矩形の内側は、最大値の「200」(設定奥行き値+丸み付け厚み(T))が設定されている。点線の矩形と一点鎖線の矩形とに挟まれる領域には、式(2)に従った補間を行った値の「198」、「200」が設定されている。「198」が設定されている画素は、骨格への接近度pが「33%」である。また、「200」が設定されている画素は、骨格への接近度pが「66%」である。
【0124】
尚、図22に示すように、マスク領域の輪郭が画像全体の領域から見切れている場合には例外処理が必要となる。例えば、図22(a)におけるプレー中の人物(最も手前に位置する人物)に対応するマスクでは、マスク領域の輪郭が画像全体の領域から見切れた状態となっている。そこで、制御部11は、骨格距離マップを作成する際に画像の縦方向の枠に当たる(最も左側及び最も右側に位置する)画素に対して例外処理を行い、不適切な丸み付けの発生を防ぐ。図22(b)であれば、両矢印線86によって示される範囲が、例外処理の対象となる。
【0125】
第2の丸み付け処理における例外処理では、制御部11は、画像の縦方向の枠に当たる(最も左側及び最も右側に位置する)画素を骨格とし、骨格距離マップを作成する。例えば、図23に示す例であれば、制御部11は、斜線部87の画素を骨格とし、骨格距離マップを作成する。このように作成された骨格距離マップを用いることによって、不適切な丸み付けの発生を防ぐことができる。
【0126】
尚、画像の縦方向の枠に当たる(最も左側及び最も右側に位置する)画素だけを骨格とし、画像の横方向の枠に当たる(最も上側及び最も下側に位置する)画素を骨格としない理由は、処理対象のマスクが直立した人物だからである。例えば、処理対象のマスクが横向きに寝ている人物の場合には、画像の横方向の枠に当たる(最も上側及び最も下側に位置する)画素だけを骨格とするようにしても良い。
【0127】
図24は、第1の丸み付け処理による丸み付け範囲を示す図であり、図25は、第2の丸み付け処理による丸み付け範囲を示す図である。尚、図24及び図25の元画像は、丸み付け範囲を緑色によって示しているが、特許図面の制約の為、グレースケールに変換している。これによって、グレー部分(白や黒を除いた中間色の部分)が丸み付け範囲を表している。また、黒部分は背景、白部分はマスク内部を表している。更に、図25のマスク内部の黒部分(元画像では赤色)は、検出された骨格を表している。
【0128】
両者を比較すると、腕の部分に顕著な違いが見られる。つまり、第1の丸み付け処理では、腕の部分がほとんど丸み付け範囲となっているのに対して、第2の丸み付け処理では、腕の部分の丸み付け範囲は輪郭部分のみとなっている。
【0129】
図24の場合、腕の部分が尖っているように感じられる奥行き画像が作成されてしまう。これは、腕の部分について、最大値(=設定奥行き値+丸み付け厚み(T))が設定される範囲(=白部分)が細すぎるからである。
【0130】
一方、図25の場合、腕の部分についても適度な丸みが感じられる奥行き画像が作成される。これは、骨格を利用して丸み付け処理がなされているので、腕の部分について、最大値(=設定奥行き値+丸み付け厚み(T))が設定される範囲(=白部分)が適度な太さとなっているからである。
【0131】
このように、第2の丸み付け処理によれば、腕、足、首など、胴体よりも細い部位についても、立体感(丸み)がある奥行き画像を作成することができる。ひいては、自然な奥行き感のある3次元映像を製作することができる。
【0132】
図26は、丸み付け処理の確認画面の表示例である。奥行き画像表示エリア60において、白に近い色の画素が手前、黒に近い色の画素が奥となる。断面図プレビューチェックボタン65が選択されている場合、断面図表示エリア64において、断面図プレビューが表示される。断面図表示エリア64の横軸は、奥行き画像表示エリア60の横軸と同様、画像の横方向の位置を示している。断面図表示エリア64の縦軸は、断面図表示位置62上の各画素の奥行き値を示している。
【0133】
図26に示すように、制御部11が、丸み付け処理が行われたマスク画像を立体表示した際の断面図を算出し、算出結果の断面図を表示することによって、ユーザは、設定した立体形状の細部を確認することができる。
【0134】
図27は、第1の丸み付け処理の処理結果を示す図である。図27の断面図64aでは、マスク領域が2つの小領域91a、92aに分かれている。直線93aは、ユーザ入力による設定奥行き値を示している。人物の胴体に対応する小領域91aについては、適度な丸み付けがなされていることが確認できる。一方、人物の腕に対応する小領域92aについては、かなり尖った丸み付けがなされていることが確認できる。これは、図24の説明にて前述したように、第1の丸み付け処理では、腕の部分について、最大値(断面図において、丸みの一番飛び出た箇所の高さ)が設定される範囲が細すぎるからである。
【0135】
図28は、第2の丸み付け処理の処理結果を示す図である。図28の断面図64bでは、マスク領域が2つの小領域91b、92bに分かれている。直線93bは、ユーザ入力による設定奥行き値を示している。人物の胴体に対応する小領域91bについては、適度な丸み付けがなされていることが確認できる。また、人物の腕に対応する小領域92bについても、適度な丸み付けがなされていることが確認できる。
【0136】
しかし、図28の例では、補助線94bまでの距離を比較すれば分かるように、人物の腕に対応する小領域92bの最大値(断面図において、丸みの一番飛び出た箇所の高さ)が、人物の胴体に対応する小領域91bの最大値と同じ値になっている。これでは、全体的には少し不自然な奥行き画像となってしまう。
【0137】
そこで、制御部11は、変形例として、マスク領域が複数の小領域に分離している横断面位置では、各小領域の横幅に合わせて奥行き値の最大値を調整するようにしても良い。具体的には、制御部11は、小領域ごとに横幅を算出し、横幅に応じて各小領域の丸み付け厚み(T)を変更する。例えば、ユーザ入力による丸み付け厚み(T)が「10」であった場合、小領域91bの丸み付け厚み(T)は「10」のままとし、小領域92bの丸み付け厚み(T)は「7」とする。これによって、横幅が狭い部分(人物であれば、腕、足、首など)の飛び出しが抑えられ、自然な丸み付けが可能となる。
【0138】
図29は、第2の丸み付け処理の変形例の処理結果を示す図である。図29の断面図64cでは、マスク領域が2つの小領域91c、92cに分かれている。直線93cは、ユーザ入力による設定奥行き値を示している。人物の胴体に対応する小領域91cについては、適度な丸み付けがなされていることが確認できる。また、人物の腕に対応する小領域92cについても、適度な丸み付けがなされていることが確認できる。更に、補助線94cまでの距離を比較すれば分かるように、人物の腕に対応する小領域92cの最大値が、人物の胴体に対応する小領域91cの最大値よりも小さくなっており、腕の部分の飛び出しが抑えられ、自然な丸み付けになっていることが確認できる。
【0139】
制御部11は、丸み付け処理が行われたマスク画像をRAMや記憶部12等に記憶し、後述する処理に利用する。丸み付け処理が行われたマスク画像は、図8に示すようなマスク領域のように、一色(単一の画素値)で塗られているものではなく、複数色(複数の画素値)で塗られたものとなっている。より具体的には、マスク領域の輪郭に近い部分が滑らかな階調を有するものとなっている。
【0140】
図10の説明に戻る。ステップS17において、制御部11は、書き出しボタンの押下指示があったか否か、つまり、図11の書き出しボタン66が押下されたか否かを判定し、まだ書き出しボタン押下指示がないと判定した場合、ステップS2に戻り、上述した処理を繰り返し実行する。
【0141】
また、ステップS17において、制御部11は、書き出しボタンの押下指示があったと判定した場合、ステップS18に進み、丸み付け処理が行われたマスク画像を用いて奥行き画像7を作成し、作成された奥行き画像7を記憶部12に保存する。ステップS18では、制御部11は、丸み付け処理が行われた複数のマスク画像や背景画像を用いて、適切な合成処理(複数のマスク画像について、同一の画素における画素値を比較し、手前の画素値の方を選択して画像を作成する処理)を行う。ステップS19において、制御部11は、2次元画像3に対応付けてラベル画像8を作成し、記憶部12に保存する。
【0142】
図30は、ラベル画像8の作成を説明する図である。
【0143】
例えば、図30(a)に示すように、マスク画像5dは、四角の物体の被写体のマスクDであり、マスク画像5eは、円の物体の被写体のマスクEであるとする。上述したような奥行き値の設定により、図30(b)に示すように、マスクDの被写体7dが最も手前(白)、マスクEの被写体7eの被写体が最も奥(黒)となるように奥行き値が設定され、奥行き画像7が生成されたとする。
【0144】
図30(c)に示すように、手前の被写体7dに対応するラベルDについては、マスク画像5Dと同様の領域が、ラベルDのラベリング領域8dとしてラベリングされる。
【0145】
図30(c)に示すように、奥の被写体7eに対応するラベルEについては、マスク画像5eの領域からラベルDとの重複部分を除いた領域(斜線部の領域)が、ラベルEのラベリング領域8eとしてラベリングされる。
【0146】
以上のように、ラベル画像8には、他のマスク画像5と重複していない、又は他のマスク画像5よりも手前の被写体については、マスク画像5と同じ領域がラベリングされる(図30のラベルD)。また、ラベル画像8には、他のマスク画像5と重複しており、他のマスク画像5よりも奥の被写体については、マスク画像5の領域から重複部分を除外した領域がラベリングされる(図30のラベルE)。
【0147】
[発明の実施の形態における効果]
1.同一被写体の複数フレームに対する奥行き値を互いに比較表示させながら、奥行き値の設定ができるので、フレーム間で違和感のない奥行き値を設定することが可能となる。これにより、ユーザは、フレーム間で違和感がないかどうかを容易に確認することができる。
【0148】
2.同一フレームの複数被写体に対する奥行き値を互いに比較表示させながら、奥行き値の設定ができるので、同一フレームにおける被写体間で違和感のない奥行き値を設定することが可能となる。これにより、ユーザは、同一フレームにおける被写体間で違和感がないかどうかを容易に確認することができる。
【0149】
3.一部のフレームについて奥行き値を設定すれば、他のフレームについては、装置が違和感のない範囲で自動的に補間するので、全フレームの奥行き値を手作業で設定していた従来と比較して、作業効率が大幅に良くなる。
【0150】
4.奥行き画像と元映像を連動させて、複数フレームを連続的に表示させることができるので、奥行き画像の仕上りを容易に確認することができる。
【0151】
5.奥行き値の設定が必要なフレームだけを表示させることができ、利便性が高まる。
【0152】
6.丸み付け処理を行うことによって、立体物の内部にも立体感(丸み)がある奥行き画像を精度良く、かつ、効率的に製作することができる。
【0153】
7.骨格を利用した第2の丸み付け処理によれば、腕、足、首など、胴体よりも細い部位についても、立体感(丸み)がある奥行き画像を作成することができる。ひいては、自然な奥行き感のある3次元映像を製作することができる。
【0154】
8.丸み付け処理が行われたマスク画像を立体表示した際の断面図を算出し、算出結果の断面図を表示することによって、ユーザは、設定した立体形状の細部を確認することができる。
【0155】
9.丸み付け処理において、マスク領域が複数の小領域に分離している横断面位置では、小領域ごとに横幅を算出し、横幅に応じて各小領域の丸み付け厚みを変更することによって、横幅が狭い部分(人物であれば、腕、足、首など)の飛び出しが抑えられ、自然な丸み付けが可能となる。
【0156】
以上、添付図面を参照しながら、本発明に係る奥行き製作支援装置等の好適な実施形態について説明したが、本発明はかかる例に限定されない。当業者であれば、本願で開示した技術的思想の範疇内において、各種の変更例又は修正例に想到し得ることは明らかであり、それらについても当然に本発明の技術的範囲に属するものと了解される。
【符号の説明】
【0157】
1………奥行き製作支援装置
3………2次元画像
4………背景画像
5………マスク画像
6………奥行き値
7………奥行き画像
8………ラベル画像
【特許請求の範囲】
【請求項1】
立体視を実現するための視差画像の生成処理に利用する奥行き画像を製作する奥行き製作支援装置であって、
元の映像の各フレームに対して、特定の被写体を識別するために2値化された複数のマスク画像を読み込む読込手段と、
設定奥行き値、丸み付け範囲、及び丸み付け厚みを入力する入力手段と、
前記マスク画像におけるマスク領域の骨格を検出し、各画素における前記骨格への接近度、前記設定奥行き値、前記丸み付け範囲、前記丸み付け厚みに基づいて、前記マスク画像に対して丸み付け処理を行う丸み付け手段と、
前記丸み付け手段によって丸み付け処理が行われた前記マスク画像を用いて、前記奥行き画像を作成する奥行き画像作成手段と、
を備えることを特徴とする奥行き製作支援装置。
【請求項2】
前記丸み付け手段は、前記設定奥行き値を最小値、前記設定奥行き値及び前記丸み付け厚みの加算値を最大値とし、前記マスク領域の輪郭から前記丸み付け範囲内の画素値については、前記骨格への接近度を含む所定の数式に基づいて補間を行う
ことを特徴とする請求項1に記載の奥行き製作支援装置。
【請求項3】
前記丸み付け手段は、
前記マスク領域内部の各画素値に輪郭までの最小距離を代入した距離マップを算出し、
前記距離マップから前記骨格を検出し、
前記骨格以外の画素について、前記骨格までの最小距離を代入した骨格距離マップを作成し、
前記距離マップおよび前記骨格距離マップを用いて、各画素における前記骨格への接近度を算出する
ことを特徴とする請求項2に記載の奥行き製作支援装置。
【請求項4】
前記丸み付け手段は、前記マスク領域が複数の小領域に分離している横断面位置では、前記小領域ごとに横幅を算出し、前記横幅に応じて前記小領域ごとに前記丸み付け厚みを変更する
ことを特徴とする請求項3に記載の奥行き製作支援装置。
【請求項5】
前記丸み付け手段によって丸み付け処理が行われた前記マスク画像を立体表示した際の断面図を算出し、前記断面図を表示する表示手段、
を更に備えることを特徴とする請求項1から請求項4のいずれかに記載の奥行き製作支援装置。
【請求項6】
立体視を実現するための視差画像の生成処理に利用する奥行き画像を製作する奥行き製作支援方法であって、
元の映像の各フレームに対して、特定の被写体を識別するために2値化された複数のマスク画像を読み込む読込ステップと、
設定奥行き値、丸み付け範囲、及び丸み付け厚みを入力する入力ステップと、
前記マスク画像におけるマスク領域の骨格を検出し、各画素における前記骨格への接近度、前記設定奥行き値、前記丸み付け範囲、前記丸み付け厚みに基づいて、前記マスク画像に対して丸み付け処理を行う丸み付けステップと、
前記丸み付けステップによって丸み付け処理が行われた前記マスク画像を用いて、前記奥行き画像を作成する奥行き画像作成ステップと、
を含むことを特徴とする奥行き製作支援方法。
【請求項7】
コンピュータに、
元の映像の各フレームに対して、特定の被写体を識別するために2値化された複数のマスク画像を読み込む読込ステップと、
設定奥行き値、丸み付け範囲、及び丸み付け厚みを入力する入力ステップと、
前記マスク画像におけるマスク領域の骨格を検出し、各画素における前記骨格への接近度、前記設定奥行き値、前記丸み付け範囲、前記丸み付け厚みに基づいて、前記マスク画像に対して丸み付け処理を行う丸み付けステップと、
前記丸み付けステップによって丸み付け処理が行われた前記マスク画像を用いて、立体視を実現するための視差画像の生成処理に利用する奥行き画像を作成する奥行き画像作成ステップと、
を実行させるためのプログラム。
【請求項1】
立体視を実現するための視差画像の生成処理に利用する奥行き画像を製作する奥行き製作支援装置であって、
元の映像の各フレームに対して、特定の被写体を識別するために2値化された複数のマスク画像を読み込む読込手段と、
設定奥行き値、丸み付け範囲、及び丸み付け厚みを入力する入力手段と、
前記マスク画像におけるマスク領域の骨格を検出し、各画素における前記骨格への接近度、前記設定奥行き値、前記丸み付け範囲、前記丸み付け厚みに基づいて、前記マスク画像に対して丸み付け処理を行う丸み付け手段と、
前記丸み付け手段によって丸み付け処理が行われた前記マスク画像を用いて、前記奥行き画像を作成する奥行き画像作成手段と、
を備えることを特徴とする奥行き製作支援装置。
【請求項2】
前記丸み付け手段は、前記設定奥行き値を最小値、前記設定奥行き値及び前記丸み付け厚みの加算値を最大値とし、前記マスク領域の輪郭から前記丸み付け範囲内の画素値については、前記骨格への接近度を含む所定の数式に基づいて補間を行う
ことを特徴とする請求項1に記載の奥行き製作支援装置。
【請求項3】
前記丸み付け手段は、
前記マスク領域内部の各画素値に輪郭までの最小距離を代入した距離マップを算出し、
前記距離マップから前記骨格を検出し、
前記骨格以外の画素について、前記骨格までの最小距離を代入した骨格距離マップを作成し、
前記距離マップおよび前記骨格距離マップを用いて、各画素における前記骨格への接近度を算出する
ことを特徴とする請求項2に記載の奥行き製作支援装置。
【請求項4】
前記丸み付け手段は、前記マスク領域が複数の小領域に分離している横断面位置では、前記小領域ごとに横幅を算出し、前記横幅に応じて前記小領域ごとに前記丸み付け厚みを変更する
ことを特徴とする請求項3に記載の奥行き製作支援装置。
【請求項5】
前記丸み付け手段によって丸み付け処理が行われた前記マスク画像を立体表示した際の断面図を算出し、前記断面図を表示する表示手段、
を更に備えることを特徴とする請求項1から請求項4のいずれかに記載の奥行き製作支援装置。
【請求項6】
立体視を実現するための視差画像の生成処理に利用する奥行き画像を製作する奥行き製作支援方法であって、
元の映像の各フレームに対して、特定の被写体を識別するために2値化された複数のマスク画像を読み込む読込ステップと、
設定奥行き値、丸み付け範囲、及び丸み付け厚みを入力する入力ステップと、
前記マスク画像におけるマスク領域の骨格を検出し、各画素における前記骨格への接近度、前記設定奥行き値、前記丸み付け範囲、前記丸み付け厚みに基づいて、前記マスク画像に対して丸み付け処理を行う丸み付けステップと、
前記丸み付けステップによって丸み付け処理が行われた前記マスク画像を用いて、前記奥行き画像を作成する奥行き画像作成ステップと、
を含むことを特徴とする奥行き製作支援方法。
【請求項7】
コンピュータに、
元の映像の各フレームに対して、特定の被写体を識別するために2値化された複数のマスク画像を読み込む読込ステップと、
設定奥行き値、丸み付け範囲、及び丸み付け厚みを入力する入力ステップと、
前記マスク画像におけるマスク領域の骨格を検出し、各画素における前記骨格への接近度、前記設定奥行き値、前記丸み付け範囲、前記丸み付け厚みに基づいて、前記マスク画像に対して丸み付け処理を行う丸み付けステップと、
前記丸み付けステップによって丸み付け処理が行われた前記マスク画像を用いて、立体視を実現するための視差画像の生成処理に利用する奥行き画像を作成する奥行き画像作成ステップと、
を実行させるためのプログラム。
【図1】
【図2】
【図9】
【図10】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図20】
【図21】
【図23】
【図30】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図11】
【図19】
【図22】
【図24】
【図25】
【図26】
【図27】
【図28】
【図29】
【図2】
【図9】
【図10】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図20】
【図21】
【図23】
【図30】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図11】
【図19】
【図22】
【図24】
【図25】
【図26】
【図27】
【図28】
【図29】
【公開番号】特開2013−85133(P2013−85133A)
【公開日】平成25年5月9日(2013.5.9)
【国際特許分類】
【出願番号】特願2011−223906(P2011−223906)
【出願日】平成23年10月11日(2011.10.11)
【出願人】(000002897)大日本印刷株式会社 (14,506)
【Fターム(参考)】
【公開日】平成25年5月9日(2013.5.9)
【国際特許分類】
【出願日】平成23年10月11日(2011.10.11)
【出願人】(000002897)大日本印刷株式会社 (14,506)
【Fターム(参考)】
[ Back to top ]