(57)【特許請求の範囲】
【請求項１】
立体視を実現するための視差画像の生成処理に利用する奥行き画像を製作する奥行き製作支援装置であって、
元の映像の各フレームに対して、それぞれが異なる被写体を識別するために２値化された複数のマスク画像を読み込む読込手段と、
設定奥行き値、丸み付け範囲、及び丸み付け厚みを入力する入力手段と、
前記マスク画像におけるマスク領域の骨格を検出し、各画素における前記骨格への接近度、前記設定奥行き値、前記丸み付け範囲、前記丸み付け厚みに基づいて、前記マスク画像に対して丸み付け処理を行う丸み付け手段と、
前記丸み付け手段によって丸み付け処理が行われた前記マスク画像を用いて、前記奥行き画像を作成する奥行き画像作成手段と、
を備えることを特徴とする奥行き製作支援装置。
【請求項２】
前記丸み付け手段は、前記設定奥行き値を最小値、前記設定奥行き値及び前記丸み付け厚みの加算値を最大値とし、前記マスク領域の輪郭から前記丸み付け範囲内の画素値については、前記骨格への接近度を含む所定の数式に基づいて補間を行う
ことを特徴とする請求項１に記載の奥行き製作支援装置。
【請求項３】
前記丸み付け手段は、
前記マスク領域内部の各画素値に輪郭までの最小距離を代入した距離マップを算出し、
前記距離マップから前記骨格を検出し、
前記骨格以外の画素について、前記骨格までの最小距離を代入した骨格距離マップを作成し、
前記距離マップおよび前記骨格距離マップを用いて、各画素における前記骨格への接近度を算出する
ことを特徴とする請求項２に記載の奥行き製作支援装置。
【請求項４】
前記丸み付け手段は、前記マスク領域が複数の小領域に分離している横断面位置では、前記小領域ごとに横幅を算出し、前記横幅に応じて前記小領域ごとに前記丸み付け厚みを変更する
ことを特徴とする請求項３に記載の奥行き製作支援装置。
【請求項５】
前記丸み付け手段によって丸み付け処理が行われた前記マスク画像を立体表示した際の断面図を算出し、前記断面図を表示する表示手段、
を更に備えることを特徴とする請求項１から請求項４のいずれかに記載の奥行き製作支援装置。
【請求項６】
立体視を実現するための視差画像の生成処理に利用する奥行き画像を製作する奥行き製作支援方法であって、
元の映像の各フレームに対して、それぞれが異なる被写体を識別するために２値化された複数のマスク画像を読み込む読込ステップと、
設定奥行き値、丸み付け範囲、及び丸み付け厚みを入力する入力ステップと、
前記マスク画像におけるマスク領域の骨格を検出し、各画素における前記骨格への接近度、前記設定奥行き値、前記丸み付け範囲、前記丸み付け厚みに基づいて、前記マスク画像に対して丸み付け処理を行う丸み付けステップと、
前記丸み付けステップによって丸み付け処理が行われた前記マスク画像を用いて、前記奥行き画像を作成する奥行き画像作成ステップと、
を含むことを特徴とする奥行き製作支援方法。
【請求項７】
コンピュータに、
元の映像の各フレームに対して、それぞれが異なる被写体を識別するために２値化された複数のマスク画像を読み込む読込ステップと、
設定奥行き値、丸み付け範囲、及び丸み付け厚みを入力する入力ステップと、
前記マスク画像におけるマスク領域の骨格を検出し、各画素における前記骨格への接近度、前記設定奥行き値、前記丸み付け範囲、前記丸み付け厚みに基づいて、前記マスク画像に対して丸み付け処理を行う丸み付けステップと、
前記丸み付けステップによって丸み付け処理が行われた前記マスク画像を用いて、立体視を実現するための視差画像の生成処理に利用する奥行き画像を作成する奥行き画像作成ステップと、
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、立体視を実現するための視差画像を生成する視差画像生成装置が利用する奥行き画像を製作する奥行き製作支援装置等に関する。
【背景技術】
【０００２】
従来、３次元映像表示システムでは、大別して、２視差方式のものと、３以上の視差を持つ多視差方式のものがある。いずれの方式も、必要な視点数からシーンを見た映像を準備する必要がある。
【０００３】
最も直接的な映像の制作方法としては、必要な視差数分のカメラを用意し、同一シーンを所定の間隔に配置された複数のカメラで撮影する方法が考えられる。最近では２視差を直接撮影できるカメラが市販されているが、多視差を直接撮影できるカメラは一般的でない。
【０００４】
また、３次元ＣＧ（Ｃｏｍｐｕｔｅｒ  Ｇｒａｐｈｉｃｓ）画像を作成し、複数のカメラ位置を設定してレンダリングする方法も考えられる。３次元ＣＧ画像には奥行き情報が含まれており、３次元画像から多視差方式に対応した視差画像を作成することは可能である。しかし、カメラ位置の数が多い場合、レンダリング回数が多くなり、時間とコストがかかるという問題がある。さらに、ほとんどの映像はＣＧ画像ではなく実写であり、実写から３次元映像を作成することが求められている。
【０００５】
実写映像による多視差映像を制作する為に、平面（２Ｄ）映像を基にして多視差映像に変換する手法（いわゆる２次元／３次元変換の手法）は、いくつか存在する。しかし、多視差映像に変換する手法では、奥行き情報がない。そのため全てのシーン（フレーム）において手作業で１枚ずつ奥行き情報を作成する必要が生じ、非常に作業負荷が高かった。
【０００６】
そこで、奥行き値を設定するための手法として、例えば、特許文献１には、ユーザ指示に応じてメッシュ形状を変形させ、奥行き値を設定する技術が提案されている。また例えば、非特許文献１には、３次元空間内において、映像の選択部分をユーザが移動・回転させ、奥行き値を設定する技術が提案されている。また例えば、特許文献２には、飛び出させたい部分をユーザがマウスによって選択し、選択部分の２値画像に平均化フィルタを作用させて、奥行き画像として利用する技術が提案されている。
【０００７】
しかしながら、特許文献１に記載の技術は、操作すべき項目が多く、１フレーム分の奥行き情報を設定するための長時間を要し、設定した奥行き値が確認し難いという課題があった。また、非特許文献１に記載の技術は、設定方法は簡略化されているものの、異なるフレームにおける奥行き値の比較ができないため、位置関係の矛盾が生じやすいという課題があった。
【０００８】
そこで、本発明者らは、特許文献３において、（１）グラフとスライドバーを使用して奥行き値を設定する技術、（２）グラフとプレビュー画面を使用して奥行き値を確認する技術、（３）キーフレーム間の奥行き値を補間する技術、（４）前述の技術に基づいて奥行き画像及びラベル画像を生成する技術、を提案している。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特表２０１０−５１６１５５号公報
【特許文献２】特許第４７０８６１９号公報
【特許文献３】特願２０１１−１６８９２０号公報
【非特許文献】
【００１０】
【非特許文献１】Depth Director: A System for Adding Depth to Movies
【発明の概要】
【発明が解決しようとする課題】
【００１１】
しかしながら、特許文献３に開示されている技術では、奥行き画像のマスク領域内部が一色（単一の画素値）で塗られており、マスク領域内部に立体感（丸み）がない画像になってしまうという課題が残されている。ここで、マスク領域は、例えば、人物や物体などの立体物ごとに設定される領域である。
【００１２】
特許文献１に開示されている技術では、操作すべき項目が多く、１フレーム分の奥行き情報を設定するための長時間を要し、設定した奥行き値が確認し難いという従来からの課題がある。また、設定結果の確認方法が、メッシュ形状のワイヤーフレームを元画像に合成し、表示するというものであり、立体物の形状が確認し難いという課題がある。
【００１３】
非特許文献１に開示されている技術では、異なるフレームにおける奥行き値の比較ができないため、位置関係の矛盾が生じやすいという従来からの課題がある。また、立体物の丸み表現の自由度が低いという課題がある。更に、設定結果の確認方法が、３次元空間上で立体化された映像を、カメラアングルを変更しながら確認するというものであり、立体物の形状の細部が確認し難いという課題もある。
【００１４】
特許文献２に開示されている技術では、立体物の適切な形状が得られないという課題がある。また、設定結果の確認方法が、奥行き値（０〜１）と対応する画素値の積を明度情報として表示するものであり、明度情報のみでは形状が確認し難いという課題もある。
【００１５】
本発明は、前述した問題点に鑑みてなされたもので、その目的とすることは、立体物の内部にも立体感（丸み）がある奥行き画像を精度良く、かつ、効率的に製作することを支援する奥行き製作支援装置等を提供することである。
【課題を解決するための手段】
【００１６】
前述した目的を達成するために、第１の発明は、立体視を実現するための視差画像の生成処理に利用する奥行き画像を製作する奥行き製作支援装置であって、元の映像の各フレームに対して、それぞれが異なる被写体を識別するために２値化された複数のマスク画像を読み込む読込手段と、設定奥行き値、丸み付け範囲、及び丸み付け厚みを入力する入力手段と、前記マスク画像におけるマスク領域の骨格を検出し、各画素における前記骨格への接近度、前記設定奥行き値、前記丸み付け範囲、前記丸み付け厚みに基づいて、前記マスク画像に対して丸み付け処理を行う丸み付け手段と、前記丸み付け手段によって丸み付け処理が行われた前記マスク画像を用いて、前記奥行き画像を作成する奥行き画像作成手段と、を備えることを特徴とする奥行き製作支援装置である。第１の発明によって、立体物の内部にも立体感（丸み）がある奥行き画像を精度良く、かつ、効率的に製作することが可能となる。特に、人物の腕、足、首など、人物の胴体よりも細い部位についても、適度な立体感（丸み）がある奥行き画像を作成することができる。
【００１７】
第１の発明における前記丸み付け手段は、例えば、前記設定奥行き値を最小値、前記設定奥行き値及び前記丸み付け厚みの加算値を最大値とし、前記マスク領域の輪郭から前記丸み付け範囲内の画素値については、前記骨格への接近度を含む所定の数式に基づいて補間を行う。これによって、丸み付け範囲の画素には、骨格への接近度に応じた適切な画素値が設定される。
【００１８】
また、第１の発明における前記丸み付け手段は、例えば、前記マスク領域内部の各画素値に輪郭までの最小距離を代入した距離マップを算出し、前記距離マップから前記骨格を検出し、前記骨格以外の画素について、前記骨格までの最小距離を代入した骨格距離マップを作成し、前記距離マップおよび前記骨格距離マップを用いて、各画素における前記骨格への接近度を算出する。これによって、簡易な処理により各画素における骨格への接近度を算出することができる。
【００１９】
また、第１の発明における前記丸み付け手段は、前記マスク領域が複数の小領域に分離している横断面位置では、前記小領域ごとに横幅を算出し、前記横幅に応じて前記小領域ごとに前記丸み付け厚みを変更することが望ましい。これによって、横幅が狭い部分（人物であれば、腕、足、首など）の飛び出しが抑えられ、自然な丸み付けが可能となる。
【００２０】
また、第１の発明は、前記丸み付け手段によって丸み付け処理が行われた前記マスク画像を立体表示した際の断面図を算出し、前記断面図を表示する表示手段、を更に備えることが望ましい。これによって、ユーザは、設定した立体形状の細部を確認することができる。
【００２１】
第２の発明は、立体視を実現するための視差画像の生成処理に利用する奥行き画像を製作する奥行き製作支援方法であって、元の映像の各フレームに対して、それぞれが異なる被写体を識別するために２値化された複数のマスク画像を読み込む読込ステップと、設定奥行き値、丸み付け範囲、及び丸み付け厚みを入力する入力ステップと、前記マスク画像におけるマスク領域の骨格を検出し、各画素における前記骨格への接近度、前記設定奥行き値、前記丸み付け範囲、前記丸み付け厚みに基づいて、前記マスク画像に対して丸み付け処理を行う丸み付けステップと、前記丸み付けステップによって丸み付け処理が行われた前記マスク画像を用いて、前記奥行き画像を作成する奥行き画像作成ステップと、を含むことを特徴とする奥行き製作支援方法である。第２の発明によって、立体物の内部にも立体感（丸み）がある奥行き画像を精度良く、かつ、効率的に製作することが可能となる。特に、人物の腕、足、首など、人物の胴体よりも細い部位についても、適度な立体感（丸み）がある奥行き画像を作成することができる。
【００２２】
第３の発明は、コンピュータに、元の映像の各フレームに対して、それぞれが異なる被写体を識別するために２値化された複数のマスク画像を読み込む読込ステップと、設定奥行き値、丸み付け範囲、及び丸み付け厚みを入力する入力ステップと、前記マスク画像におけるマスク領域の骨格を検出し、各画素における前記骨格への接近度、前記設定奥行き値、前記丸み付け範囲、前記丸み付け厚みに基づいて、前記マスク画像に対して丸み付け処理を行う丸み付けステップと、前記丸み付けステップによって丸み付け処理が行われた前記マスク画像を用いて、立体視を実現するための視差画像の生成処理に利用する奥行き画像を作成する奥行き画像作成ステップと、を実行させるためのプログラムである。第３の発明に係るプログラムをコンピュータにインストールすることで、第１の発明に係る奥行き製作支援装置を得ることができる。
【発明の効果】
【００２３】
本発明により、立体物の内部にも立体感（丸み）がある奥行き画像を精度良く、かつ、効率的に製作することを支援する奥行き製作支援装置等を提供することができる。
【図面の簡単な説明】
【００２４】
【図１】本発明の実施の形態に係る奥行き製作支援装置のハードウエア構成図である。
【図２】奥行き製作支援装置および視差画像生成装置の入出力データを示す図である。
【図３】２次元画像の一例を示す図である。
【図４】図３に示した２次元画像に基づいて生成された背景画像の一例を示す図である。
【図５】マスク画像の一例を示す図である。
【図６】他のマスク画像の一例を示す図である。
【図７】他のマスク画像の一例を示す図である。
【図８】奥行き画像の一例を示す図である。
【図９】入出力画像の対応付けを説明するための図である。
【図１０】奥行き製作支援処理を説明するフローチャートである。
【図１１】奥行き製作支援画面の表示例である。
【図１２】奥行き設定画面を拡大した表示例である。
【図１３】奥行き設定画面の他の表示例である。
【図１４】奥行き設定画面の他の表示例である。
【図１５】奥行き設定画面の他の表示例である。
【図１６】奥行き設定画面の他の表示例である。
【図１７】距離マップおよび骨格距離マップの一例を示す図である。
【図１８】第１の丸み付け処理を説明するための図である。
【図１９】第１の丸み付け処理の例外処理を説明するための図である。
【図２０】第１の丸み付け処理の例外処理を説明するための図である。
【図２１】第２の丸み付け処理を説明するための図である。
【図２２】第２の丸み付け処理の例外処理を説明するための図である。
【図２３】第２の丸み付け処理の例外処理を説明するための図である。
【図２４】第１の丸み付け処理による丸み付け範囲を示す図である。
【図２５】第２の丸み付け処理による丸み付け範囲を示す図である。
【図２６】丸み付け処理の確認画面の表示例である。
【図２７】第１の丸み付け処理の処理結果を示す図である。
【図２８】第２の丸み付け処理の処理結果を示す図である。
【図２９】第２の丸み付け処理の変形例の処理結果を示す図である。
【図３０】ラベル画像の作成を説明する図である。
【発明を実施するための形態】
【００２５】
以下、図面に基づいて、本発明の実施形態を詳細に説明する。
【００２６】
［本発明の実施の形態］
図１は、本発明の実施の形態に係る奥行き製作支援装置１のハードウエア構成図である。尚、図１のハードウエア構成は一例であり、用途、目的に応じて様々な構成を採ることが可能である。
【００２７】
奥行き製作支援装置１は、制御部１１、記憶部１２、メディア入出力部１３、通信制御部１４、入力部１５、表示部１６、周辺機器Ｉ／Ｆ部１７等が、バス１８を介して接続される。
【００２８】
制御部１１は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、ＲＯＭ（Ｒｅａｄ  ＯｎｌＹ  ＭｅｍｏｒＹ）、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  ＭｅｍｏｒＹ）等で構成される。
【００２９】
ＣＰＵは、記憶部１２、ＲＯＭ、記録媒体等に格納されるプログラムをＲＡＭ上のワークメモリ領域に呼び出して実行し、バス１８を介して接続された各装置を駆動制御し、奥行き製作支援装置１が行う後述する処理を実現する。ＲＯＭは、不揮発性メモリであり、奥行き製作支援装置１のブートプログラムやＢＩＯＳ等のプログラム、データ等を恒久的に保持している。ＲＡＭは、揮発性メモリであり、記憶部１２、ＲＯＭ、記録媒体等からロードしたプログラム、データ等を一時的に保持するとともに、制御部１１が各種処理を行う為に使用するワークエリアを備える。
【００３０】
記憶部１２は、ＨＤＤ（ハードディスクドライブ）等であり、制御部１１が実行するプログラム、プログラム実行に必要なデータ、ＯＳ（オペレーティングシステム）等が格納される。プログラムに関しては、ＯＳ（オペレーティングシステム）に相当する制御プログラムや、後述する処理を奥行き製作支援装置１に実行させるためのアプリケーションプログラムが格納されている。これらの各プログラムコードは、制御部１１により必要に応じて読み出されてＲＡＭに移され、ＣＰＵに読み出されて各種の手段として実行される。
【００３１】
メディア入出力部１３（ドライブ装置）は、データの入出力を行い、例えば、ＣＤドライブ（−ＲＯＭ、−Ｒ、−ＲＷ等）、ＤＶＤドライブ（−ＲＯＭ、−Ｒ、−ＲＷ等）等のメディア入出力装置を有する。
【００３２】
通信制御部１４は、通信制御装置、通信ポート等を有し、奥行き製作支援装置１とネットワーク間の通信を媒介する通信インタフェースであり、ネットワークを介して、他の装置間との通信制御を行う。ネットワークは、有線、無線を問わない。
【００３３】
入力部１５は、データの入力を行い、例えば、キーボード、マウス等のポインティングデバイス、テンキー等の入力装置を有する。入力部１５を介して、奥行き製作支援装置１に対して、操作指示、動作指示、データ入力等を行うことができる。
【００３４】
表示部１６は、ＣＲＴモニタ、液晶パネル等のディスプレイ装置、ディスプレイ装置と連携して奥行き製作支援装置１のビデオ機能を実現するための論理回路等（ビデオアダプタ等）を有する。
【００３５】
周辺機器Ｉ／Ｆ（インタフェース）部１７は、奥行き製作支援装置１に周辺機器を接続させるためのポートであり、周辺機器Ｉ／Ｆ部１７を介して奥行き製作支援装置１は周辺機器とのデータの送受信を行う。周辺機器Ｉ／Ｆ部１７は、ＵＳＢやＩＥＥＥ１３９４やＲＳ−２３５Ｃ等で構成されており、通常複数の周辺機器Ｉ／Ｆを有する。周辺機器との接続形態は有線、無線を問わない。
【００３６】
バス１８は、各装置間の制御信号、データ信号等の授受を媒介する経路である。
【００３７】
図２は、奥行き製作支援装置１および視差画像生成装置２の入出力データを示す図である。図２に示すように、奥行き製作支援装置１は、２次元画像３、背景画像４、マスク画像５、及び奥行き値６を入力データとし、奥行き画像７、およびラベル画像８を出力データとする。視差画像生成装置２は、２次元画像３、奥行き画像７、およびラベル画像８を入力データとし、視差画像９を出力データとする。
【００３８】
２次元画像３、背景画像４、及びマスク画像５は、奥行き製作支援装置１の制御部１１（以下、「制御部１１」と略記する。）が生成しても良いし、メディア入出力部１３、通信制御部１４等を介して外部から取得しても良い。また、奥行き値６は、奥行き製作支援装置１の入力部１５を介して入力しても良いし、予め奥行き値６が定義されたファイルを外部から取得しても良い。
【００３９】
２次元画像３は、動画像（平面映像）の１枚分のフレーム画像または静止画像である。動画像（平面映像）には、例えば、単位時間当たり所定のフレーム数（通常、１秒間に３０フレーム）のカラー静止画像が含まれており、各画素がＲＧＢ各２５６段階の階調を持つ。
【００４０】
背景画像４は、背景の奥行き感を示す画像である。背景画像４は、２次元画像３に基づいてフォトレタッチソフトなどを用いて手作業で生成してもよいし、別途ソフトウエアを用いて自動的に生成してもよい。
【００４１】
マスク画像５は、特定の被写体を識別するための２値化画像である。マスク画像５は、２次元画像３に基づいてフォトレタッチソフトなどを用いて手作業で生成してもよいし、別途ソフトウエアを用いて自動的に生成してもよい。
【００４２】
奥行き値６は、被写体の奥行き方向の位置を定義する値である。本発明では、奥行き値６の画素値の範囲を０〜２５５の２５６階調として表現する。０が黒、２５５が白、１〜２５４がグレー（中間調）に対応する。
【００４３】
奥行き製作支援装置１は、２次元画像３、背景画像４、マスク画像５、および奥行き値６に基づいて、奥行き画像７の製作を支援するものである。特に、本発明の実施の形態における奥行き製作支援装置１は、立体物の内部にも立体感（丸み）がある奥行き画像を作成するために、マスク画像５に対する丸み付け処理（図１０のＳ１６、図１１、図１７〜図２９参照）に特徴がある。
【００４４】
奥行き画像７は、２次元画像３に係るカメラから被写体までの奥行き値を画素値に置き換えた画像である。ここで、カメラとは、視差画像生成装置２の内部処理において定義される仮想的なカメラを意味する。
【００４５】
奥行き画像７は、例えば、画素値の範囲が０〜２５５（８ビット）のグレースケールであり、０（黒）が最も奥、２５５（白）が最も手前を意味する場合が多いが、逆であっても良い。以下では、説明を分かり易くするために、奥行き画像７は、画素値の範囲が０〜２５５であり、０（黒）が最も奥、２５５（白）が最も手前を意味するものとする。
【００４６】
ラベル画像８は、それぞれの２次元画像３に対応付けて、２次元画像３に記録されたシーンを構成する被写体を識別する固有の数値（ラベル値）によって領域分けし、このラベル値を画素値に置き換えた（ラベリングされた）画像である。例えば、背景、建物、及び人物から構成されるシーンにおいて、背景、建物、及び人物に相当するラベル値として、それぞれＬ０、Ｌ１、Ｌ２を割り当て、対応する２次元画像３の各画素がどの被写体に属しているかを、Ｌ０、Ｌ１、Ｌ２の画素値に置き換えることによって表現する。
【００４７】
ラベル画像８は、２次元画像３に基づいてフォトレタッチソフトなどを用いて手作業で生成してもよいし、本発明のように、奥行き製作支援装置１が自動的に生成してもよい。
【００４８】
視差画像９は、立体視を実現するための画像である。本発明の実施の形態では、視差画像９は、特に、両目視差（約６０ｍｍ〜７０ｍｍ程度）を利用し、裸眼観察によって立体視を実現するための画像である。
【００４９】
尚、本発明の実施の形態では詳細に述べないが、複数の視差画像９をディスプレイの仕様に合わせて合成し、ディスプレイに表示することによって、裸眼観察による立体視を実現することが可能となる。複数の視差画像９の合成処理については、公知の技術を利用すれば良い。
【００５０】
視差画像生成装置２は、２次元画像３、奥行き画像７、およびラベル画像８に基づいて視差画像９を生成するものである。視差画像生成装置２の詳細は、本出願人が先に出願した、特願２０１０−１７６８６４号、および特願２０１１−５５８７８号に記載されている。
【００５１】
次に、図３〜図８を参照して、奥行き製作支援装置１の入出力データの表示例について説明する。
【００５２】
図３は、２次元画像３の一例を示している。図３の例では、複数人でスポールブールというボール競技をしている動画像の１フレーム分を示している。図４は、図３に示した２次元画像３に基づいて生成された背景画像４の一例を示している。図３および図４は、同一フレームである。なお、背景画像４の奥行き感は、厳密でなくてよい。また背景画像４はなくてもよい。
【００５３】
図５は、図３に示した２次元画像３と同一フレームのマスク画像５の一例を示している。図５の例では、球技参加者であるプレー中の人物（特定の被写体）を識別するための２値化画像であり、そのプレー中の人物の画素が白、それ以外の画素が黒にされている。以下、図５のマスク画像５を、適宜、マスクＡのマスク画像と称する。
【００５４】
図６は、他のマスク画像５の一例を示している。図６の例では、対戦している様子を少し離れて見物している２人の人物（特定の被写体）を識別するための２値化画像であり、その２人の人物の画素が白、それ以外の画素が黒にされている。図６は、図３〜図５、図７とは別フレーム（異なる時刻）である。以下、図６のマスク画像５を、適宜、マスクＢのマスク画像と称する。
【００５５】
図７は、他のマスク画像５の一例を示している。図７の例では、対戦相手の人物（特定の被写体）を識別するための２値化画像であり、その対戦相手の人物の画素が白、それ以外の画素が黒にされている。図７は、図３〜図６とは別フレームである。以下、図７のマスク画像５を、適宜、マスクＣのマスク画像と称する。
【００５６】
なお、図３に示す２次元画像３において、マスクＢの被写体（見物している２人の人物）の中の１人は、マスクＡの被写体（プレー中の人物）に隠れており映っていない。また、マスクＣの被写体は、マスクＢの被写体よりも右側に位置しており、図３に示す２次元画像３に映っていない。
【００５７】
以上のように、奥行き製作支援装置１は、フレームごとに、マスクＡのマスク画像（図５）、マスクＢのマスク画像（図６）、およびマスクＣのマスク画像（図７）を予め用意しておき、それらのマスク画像５と奥行き値６に基づいて、フレームごとに奥行き画像７を製作する。
【００５８】
図８は、奥行き画像７の一例を示している。但し、図８に示す奥行き画像７は、丸み付け処理（図１０のＳ１６）を行っていない例である。奥行き画像７は、複数の被写体同士の奥行き方向の相対的な位置関係が、模擬的に定義された画像である。図８は、図３〜図７とは別フレームであり、プレー中の人物がボールを投げる直前のフレームである。図８の例では、一番手前（白の領域）にマスクＡの被写体（プレー中の人物）、奥（グレーの領域）にマスクＢの被写体（見物している２人の人物）が存在するという奥行き方向の位置関係が定義されている。また、背景画像４の奥行き情報も付加されている。
【００５９】
図８に示す奥行き画像７では、マスクＡの被写体やマスクＢの被写体の内部（＝マスク領域内部）が一色（単一の画素値）で塗られており、マスク領域内部に立体感（丸み）がない画像になってしまう。そこで、本発明の実施の形態では、奥行き製作支援装置１が丸み付け処理（図１０のＳ１６）を行い、立体物の内部にも立体感（丸み）がある奥行き画像７を製作する。
【００６０】
図９は、奥行き製作支援装置１が扱う入出力画像の対応付けを説明するための図である。
【００６１】
図９に示すように、入力画像群は、フレームごとに、２次元画像、マスクＡのマスク画像、マスクＢのマスク画像、マスクＣのマスク画像、および背景画像の５枚の画像が１組となっている。また出力画像群は、フレームごとに、奥行き画像、およびラベル画像の２枚の画像が１組となっている。例えば、フレーム数が１０００枚の場合、２次元画像は１０００枚、マスク画像は３０００枚、背景画像は１０００枚準備され、奥行き画像は１０００枚、ラベル画像は１０００枚出力されることになる。
【００６２】
図１０は、奥行き製作支援装置１が実行する奥行き製作支援処理を説明するフローチャートである。図１０の説明に当たり、図１１〜図３０を参照し、具体的な操作内容も説明する。
【００６３】
まず、ユーザは、奥行き製作支援処理を開始するにあたり、図１１に示すような奥行き製作支援画面５０を表示部１６に表示させる。図１１の例の場合、奥行き製作支援画面５０には、「マスク読み込み」、「ムービー読み込み」、「背景読み込み」のボタン群５１、マスク範囲検出チェックボタン５２、マスク選択プルダウン５３、奥行き設定画面５４、プレビュー位置情報表示エリア５５、丸み付けチェックボックス５６、骨格使用チェックボックス５７、丸み付け範囲スライダーバー５８、丸み付け厚みスライダーバー５９、奥行き画像表示エリア６０、断面図表示位置スライダーバー６１、断面図表示位置６２、２次元画像表示エリア６３、断面図表示エリア６４、断面図プレビューチェックボタン６５、書き出しボタン６６が表示されている。
【００６４】
ボタン群５１は、マスク読み込み、ムービー読み込み、背景読み込みを行う場合に操作（押下）される。マスク範囲検出チェックボタン５２は、選択されているマスクの被写体が存在するフレームの範囲を検出する場合に操作される。マスク選択プルダウン５３は、奥行き設定するマスクを選択する場合に操作される。奥行き設定画面５４は、マスク選択プルダウン５３で選択されたマスクの奥行き値を変更するための設定画面である。
【００６５】
プレビュー位置情報表示エリア５５には、奥行き画像表示エリア６０及び２次元画像表示エリア６３に表示されているフレームのフレーム番号と、奥行き設定画面５４において設定されている奥行き値が表示される。
【００６６】
丸み付けチェックボックス５６は、丸み付け処理を行う場合（図１０のＳ１０のＹｅｓ）に選択される。骨格使用チェックボックス５７は、骨格を使用して丸み付け処理を行う場合（図１０のＳ１１のＹｅｓ）に選択される。
【００６７】
丸み付け範囲スライダーバー５８は、丸み付け範囲を指定する場合に横方向にスライド（移動）される。丸み付け厚みスライダーバー５９は、丸み付け厚みを指定する場合に横方向にスライド（移動）される。丸み付け範囲および丸み付け厚みについては、図１８を参照しながら後述する。
【００６８】
奥行き画像表示エリア６０には、プレビュー位置情報表示エリア５５に表示されているフレーム番号の奥行き画像のプレビューが表示される。断面図表示位置スライダーバー６１は、断面図の表示位置を指定する場合に縦方向にスライド（移動）される。断面図表示位置６２は、断面図表示位置スライダーバー６１によって指定される断面図の表示位置を示す直線である。
【００６９】
２次元画像表示エリア６３には、読み込まれた２次元画像のプレビューが表示されたり、２次元画像にマスク画像が重畳されたプレビューが表示されたりする。断面図表示エリア６４には、断面図表示位置スライダーバー６１によって指定される表示位置の断面図が表示される。断面図プレビューチェックボタン６５は、断面図プレビューの表示を指示する場合に選択される。書き出しボタン６６は、奥行き画像を保存する場合に操作される。
【００７０】
図１２は、奥行き設定画面５４を拡大した表示例である。尚、図１２〜図１６の画面要素の一部は、図１１の画面要素の一部と一致しないが、同様の機能（入力機能及び表示機能）を提供するものである。
【００７１】
図１２に示すように、奥行き設定画面５４の縦軸は、デプス値（奥行き値）を表し、横軸は、Ｔｉｍｅ（フレーム）を表している。奥行き設定画面５４内において、奥行き値曲線３１ａ、３１ｂ、３１ｃは、それぞれ、マスクＡ、マスクＢ、マスクＣの奥行き値を示す曲線であって、初期画面では、３つが重なって表示される。開始位置３２は、開始フレームの位置を示し、終了位置３３は、終了フレームの位置を示している。
【００７２】
フレームスライダーバー３４は、奥行き値を設定するフレームを指定する場合に横方向にスライド（移動）される。番号３５は、フレームスライダーバー３４によって指定されているフレームの番号を示す。フレーム位置３６は、フレームスライダーバー３４によって指定されているフレーム方向の位置を示し、初期画面では、開始位置３２とフレーム位置３６は重なって表示される。奥行き値スライダーバー３７は、奥行き値を指定する場合に縦方向にスライドされる。キーフレーム削除ボタン３８は、現在選択されているマスクのキーフレーム（変化が定義されているフレーム）を削除する場合に選択される。
【００７３】
以上のような奥行き製作支援画面５０において、ユーザは、ボタン群５１を押下し、奥行き画像を製作するための入力画像群の読み込みを指示する。
【００７４】
ステップＳ１において、制御部１１は、ユーザからの指示に基づいて、入力画像群を読み込む。例えば、図９に示したように、フレームごとに、２次元画像、マスクＡのマスク画像、マスクＢのマスク画像、マスクＣのマスク画像、および背景画像の５枚の画像が１組となった入力画像群が読み込まれる。また、ユーザによって、マスク範囲検出チェックボタン５２が押下されることで、奥行き値の設定が必要なフレーム範囲が検出される。また、ユーザによって、マスク選択プルダウン５３が選択されることで、奥行き設定画面５４において奥行き設定するマスクや、奥行き画像表示エリア６０に表示されるマスクが特定される。
【００７５】
これにより、奥行き製作支援画面５０において、奥行き設定画面５４には、読み込まれた複数のマスクの奥行き値曲線が表示される。また、奥行き画像表示エリア６０には、マスク選択プルダウン５３で選択されているマスクの奥行き画像が表示される。また、２次元画像表示エリア６３には、２次元画像のプレビューが表示される。
【００７６】
ステップＳ２において、制御部１１は、ユーザによってマスク選択プルダウンの入力指示があったか否か、つまり、図１１のマスク選択プルダウン５３で新たにマスクが選択されたか否かを判定し、マスク選択プルダウンの入力指示があったと判定した場合、ステップＳ３に進む。ステップＳ３において、制御部１１は、ユーザからの入力指示に基づいて奥行き設定するマスクを変更する。
【００７７】
制御部１１は、ステップＳ２において、マスク選択プルダウンの入力指示がないと判定した場合、または、ステップＳ３において、奥行き設定するマスクを変更した後、ステップＳ４に進む。
【００７８】
ステップＳ４において、制御部１１は、ユーザによってフレームスライダーバーの変更指示があったか否か、つまり、図１２のフレームスライダーバー３４がスライドされたか否かを判定し、フレームスライダーバーの変更指示があったと判定した場合、ステップＳ５に進む。
【００７９】
例えば、ユーザは、図１２に示す奥行き設定画面５４の初期画面において、フレームスライダーバー３４を右方向にスライドすることで奥行き設定フレームの変更を行うことができる。
【００８０】
図１３は、図１２に示す奥行き設定画面５４の状態から、マスク選択プルダウン５３によって単一のマスク（例えば、マスクＡ）が選択され、フレームスライダーバー３４がスライドされた状態を示している。マスク選択プルダウン５３によってマスクＡが選択されたことにより、開始フレームと終了フレームが、自動的にキーフレーム４１ａ、４２ａとして設定される。また、フレームスライダーバー３４のスライドに連動して、フレーム位置３６もスライドされる。このとき、奥行き設定フレームの変更操作に連動して、奥行き画像表示エリア６０に複数フレームの奥行き画像のプレビューが連続的に表示されるとともに、２次元画像表示エリア６３に複数フレームの２次元画像のプレビューが連続的に表示される。
【００８１】
以上のようにして、ユーザは、簡単な操作で、奥行き設定フレームの変更を行うことができる。また、複数フレームの奥行き画像を連続的に表示させることができるため、ユーザは、フレーム間で違和感がないかどうかを容易に確認することができる。さらに、奥行き画像と元映像とを連動させて、複数フレームを連続的に表示させることができるため、奥行き画像の仕上がりを容易に確認することができる。
【００８２】
図１０の説明に戻る。ステップＳ５において、制御部１１は、ユーザによる変更指示に基づいて奥行き設定フレームの変更を行う。
【００８３】
制御部１１は、ステップＳ４において、フレームスライダーバーの変更指示がないと判定した場合、または、ステップＳ５において、奥行き設定フレームを変更した後、ステップＳ６に進む。
【００８４】
ステップＳ６において、制御部１１は、ユーザによって奥行き値スライダーバーの変更指示があったか否か、つまり、図１２の奥行き値スライダーバー３７がスライドされたか否かを判定し、奥行き値スライダーバーの変更指示があったと判定した場合、ステップＳ７に進む。
【００８５】
例えば、ユーザは、図１３に示す奥行き設定画面５４において、奥行き値スライダーバー３７を上方向にスライドすることで奥行き値の変更を行うことができる。
【００８６】
図１４は、図１３に示す奥行き設定画面５４の状態から、奥行き値スライダーバー３７がスライドされた状態を示している。奥行き値スライダーバー３７のスライドに連動して、奥行き値曲線３１ａが変形される。具体的には、フレームスライダーバー３４によって指定されているフレーム位置３６と、奥行き値スライダーバー３７によって指定されるデプス値方向の位置の交点（移動点）が上下にスライドされ、その交点の位置を確定すると（例えば、奥行き値スライダーバー３７の選択を解除する操作であるマウスの左クリックを離すと）、交点にキーフレーム４３ａが設定される。このとき、奥行き値の変更操作に連動して、奥行き値を示す画素値を変えながら、奥行き画像表示エリア６０に表示される奥行き画像のプレビューも連続的に変化される。
【００８７】
以上のようにして、ユーザは、簡単な操作で、奥行き値の変更を行うことができる。また、奥行き値を変化させたときに、奥行き画像がどのように変化するのかを連続的に表示させることができるため、ユーザは、同一フレームにおける被写体間で違和感がないかどうかを容易に確認することができる。
【００８８】
図１０の説明に戻る。ステップＳ７において、制御部１１は、ユーザによる変更指示に基づいて奥行き値の設定を行う。ステップＳ８において、制御部１１は、ステップＳ７で設定した奥行き値に基づいて、奥行き値の補間を行う。具体的には、図１４に示すキーフレーム４３ａと、そのキーフレーム４３ａに隣接するキーフレーム４１ａ、キーフレーム４２ａとの間が補間される。図１４の例では、線形補間を適用しているが、これに限らず、例えば、多項式補間、スプライン補間、ベジェ曲線補間などでもよい。
【００８９】
このように、一部のフレームについて奥行き値を設定すれば、他のフレームについては、違和感のない範囲で自動的に補間されるため、全フレームの奥行き値を手作業する手間が省け、作業効率が大幅に良くなる。
【００９０】
ステップＳ９において、制御部１１は、ステップＳ８の処理で補間された奥行き値に応じて奥行き方向の位置関係が模擬的に定義された奥行き画像を作成し、奥行き画像表示エリア６０に表示させる。
【００９１】
制御部１１は、ステップＳ６において、奥行き値スライダーバーの変更指示がないと判定した場合、または、ステップＳ９において、奥行き画像の作成、表示が行われた後、ステップＳ１０に進む。
【００９２】
例えば、ユーザは、図１４に示す奥行き設定画面５４において、さらに、フレームスライダーバー３４を右方向にスライドすることで奥行き設定フレームの変更を再度行うことができる。
【００９３】
図１５は、図１４に示す奥行き設定画面５４の状態から、フレームスライダーバー３４をスライドさせ、奥行き値スライダーバー３７をスライドさせることにより新たにキーフレームを作成した状態を示している。フレームスライダーバー３４のスライドに連動して、フレーム位置３６もスライドされる。また、奥行き値スライダーバー３７のスライドに連動して、新たなキーフレームが作成されたり、キーフレームが移動したりする。
【００９４】
具体的には、奥行き値スライダーバー３７を動かした際、そのフレームにキーフレームが存在しなければ新たなキーフレームが作成され、キーフレームが存在すればそのキーフレームが移動する。このとき、奥行き設定フレームの変更操作に連動して、奥行き画像表示エリア６０に複数フレームの奥行き画像のプレビューが連続的に表示されるとともに、２次元画像表示エリア６３に複数フレームの２次元画像のプレビューが連続的に表示される。
【００９５】
以上のようにして、ユーザは、簡単な操作で、奥行き設定フレームと奥行き値の変更を何度も行うことができるため、１つのマスクに対して複数個のキーフレームを設定することが可能である。また、複数フレームの奥行き画像を連続的に表示させたり、奥行き画像と元映像とを連動させて、複数フレームを連続的に表示させたりすることができるため、ユーザは、フレーム間で違和感がないかどうか、奥行き画像の仕上がりを容易に確認することができる。
【００９６】
また例えば、図１５に示す奥行き設定画面５４の状態において、ユーザは、マスク選択プルダウン５３から別のマスク（例えば、マスクＢ）を選択し、上述したような奥行き設定フレームと奥行き値の変更を行うこともできる。
【００９７】
図１６は、図１５に示す奥行き設定画面５４の状態において、マスク選択プルダウン５３からマスクＢが選択され、奥行き値スライダーバー３７がスライドされた状態を示している。マスク選択プルダウン５３によってマスクＢが選択されたことにより、開始フレームと終了フレームが、自動的にキーフレーム４１ｂ、４２ｂとして設定される。そして、奥行き値スライダーバー３７のスライドに連動して、キーフレーム４１ｂが上下にスライドされ、位置確定により、キーフレーム４１ｂの位置が変更される。このとき、奥行き値の変更操作に連動して、奥行き値を示す画素値を変えながら、奥行き画像表示エリア６０に表示される奥行き画像のプレビューも連続的に変化される。
【００９８】
以上のようにして、ユーザは、簡単な操作で、別のマスクについても奥行き設定フレームや奥行き値の変更を行うことができる。また、別のマスクについても、奥行き画像がどのように変化するのかを連続的に表示させたり、複数フレームの奥行き画像を連続的に表示させたり、奥行き画像と元映像とを連動させて、複数フレームを連続的に表示させたりすることができるため、ユーザは、同一フレームにおける被写体間で違和感がないかどうか、フレーム間で違和感がないかどうか、奥行き画像の仕上がりを容易に確認することができる。
【００９９】
図１０の説明に戻る。ステップＳ１０において、制御部１１は、丸み付けチェックボックスがＯＮになっているか否か、つまり、図１１の丸み付けチェックボックス５６が選択されているか否かを判定し、丸み付けチェックボックスがＯＮになっていると判定した場合、ステップＳ１１に進む。一方、丸み付けチェックボックスがＯＮになっていないと判定した場合、ステップＳ１７に進む。
【０１００】
ステップＳ１１において、制御部１１は、骨格使用チェックボックスがＯＮになっているか否か、つまり、図１１の骨格使用チェックボックス５７が選択されているか否かを判定する。
【０１０１】
骨格使用チェックボックスがＯＮになっていないと判定した場合、制御部１１は、距離マップを作成し（ステップＳ１５）、丸み付け処理を行う（ステップＳ１６）。この処理の流れが、骨格を使用しない第１の丸み付け処理の流れである。
【０１０２】
一方、骨格使用チェックボックスがＯＮになっていると判定した場合、制御部１１は、距離マップを作成し（ステップＳ１２）、骨格を検出し（ステップＳ１３）、骨格距離マップを作成し（ステップＳ１４）、丸み付け処理を行う（ステップＳ１６）。この処理の流れが、骨格を使用する第２の丸み付け処理の流れである。
【０１０３】
図１７（ａ）には、マスク領域内部７１の一例が示されている。丸み付け処理を行う前の状態では、マスク領域内部７１は、単一の画素値となっている。図１７（ａ）では、単一の画素値が「白」、マスク領域外が「黒」として図示されている。
【０１０４】
図１７（ｂ）には、図１７（ａ）に対応する距離マップ７２が示されている。距離マップは、マスク領域内部の各画素値に輪郭までの最小距離を代入したものである。図１７（ｂ）の例では、０〜４の値が各画素値に代入されている。制御部１１は、距離マップを用いて、第１の丸み付け処理を行い、マスク領域内部に丸みを持った効果を付ける。
【０１０５】
図１７（ｃ）には、図１７（ａ）および図１７（ｂ）に対応する骨格距離マップ７３が図示されている。骨格距離マップは、各画素値にマスク領域の形状から検出した骨格までの最小距離を代入したものである。図１７（ｃ）では、斜線部が骨格を示している。図１７（ｃ）の例では、０〜３の値が各画素値に代入されている。制御部１１は、距離マップ及び骨格距離マップを用いて、第２の丸み付け処理を行い、マスク領域内部に丸みを持った効果を付ける。
【０１０６】
第１の丸み付け処理および第２の丸み付け処理のいずれの場合であっても、制御部１１は、設定した奥行き値からマスクの断面図を計算し、図１１の断面図表示エリア６４にプレビュー表示する。これによって、ユーザは、設定した形状の細部を確認することができる。
【０１０７】
最初に、図１７〜図２０を参照しながら、骨格を使用しない第１の丸み付け処理を説明する。図１８（ａ）には、第１の丸み付け処理におけるユーザ入力値７５の一例が図示されている。ユーザ入力値７５は、設定奥行き値、丸み付け範囲（Ｒ）および丸み付け厚み（Ｔ）を含む。設定奥行き値とは奥行き設定画面５４で各フレームごとに設定される奥行き値である。図１８の例では、設定奥行き値が「１９０」、丸み付け範囲（Ｒ）が「３pixel」、丸み付け厚み（Ｔ）が「１０」である。
【０１０８】
図１８（ｂ）には、第１の丸み付け処理によって設定される奥行き値を説明するための模式図７６が図示されている。模式図７６に示されるように、制御部１１は、設定奥行き値＝「１９０」を最小値とし、設定奥行き値＋丸み付け厚み（Ｔ）＝「２００」を最大値とし、マスク領域の各画素値を設定する。また、輪郭から丸み付け範囲（Ｒ）内の画素値については、所定の数式に基づいて補間を行う。補間のための所定の数式は、例えば、楕円の公式に従った次式が挙げられる。
【０１０９】
【数１】
0005857606.tif 000002
【０１１０】
ここで、Ｄａ：加算奥行き量、Ｔ：丸み付け厚み、Ｒ：丸み付け範囲、ｄ：各画素から輪郭までの距離（０＜ｄ＜Ｒ）、である。輪郭から丸み付け範囲（Ｒ）内の画素値については、式（１）に従った補間によって、設定奥行き値＋加算奥行き量Ｄａが設定される。
【０１１１】
尚、奥行き値６の画素値の範囲を０〜２５５の２５６階調として表現する場合、設定奥行き値＋丸み付け厚み（Ｔ）の値が２５５を超えない値とする。更に、丸み付け範囲（Ｒ）の値については、マスク領域内部が極端に尖った立体感にならないように、入力制限を行う必要があるが、図１１に示すように、丸み付け範囲スライダーバー５８及び丸み付け厚みスライダーバー５９の両端の値を所定の入力制限値に設定することによって実現可能である。
【０１１２】
図１８（ｃ）には、図１７（ｂ）の距離マップ７２を用いて、ユーザ入力値７５及び式（１）に従った丸み付け結果が図示されている。点線の矩形の外側は、最小値の「１９０」（設定奥行き値）が設定されている。また、一点鎖線の矩形の内側は、最大値の「２００」（設定奥行き値＋丸み付け厚み（Ｔ））が設定されている。点線の矩形と一点鎖線の矩形とに挟まれる領域には、式（１）に従った補間を行った値の「１９７」、「１９９」が設定されている。「１９７」が設定されている画素は、各画素から輪郭までの距離ｄが「１」である。また、「１９９」が設定されている画素は、各画素から輪郭までの距離ｄが「２」である。
【０１１３】
尚、図１９に示すように、マスク領域の輪郭が画像全体の領域から見切れている場合には例外処理が必要となる。例えば、図１９（ａ）におけるプレー中の人物（最も手前に位置する人物）に対応するマスクでは、マスク領域の輪郭が画像全体の領域から見切れた状態となっている。そこで、制御部１１は、距離マップを作成する際に画像の枠に当たる（最も外側に位置する）画素に対して例外処理を行い、不適切な丸み付けの発生を防ぐ。図１９（ｂ）であれば、両矢印線７８、７９、８０、８１によって示される範囲が、例外処理の対象となる。
【０１１４】
第１の丸み付け処理における例外処理では、制御部１１は、画像の枠に当たる（最も外側に位置する）画素を輪郭として検知せずに、各画素から輪郭までの距離ｄを算出し、距離マップを作成する。例えば、図２０に示す例であれば、制御部１１は、太線の領域８２の画素をマスク領域の輪郭と検知せずに、各画素から輪郭までの距離ｄを算出する。図２０に示すように、マスク領域の各画素には、太線の領域８２からの距離ではなく、黒く塗りつぶされた領域からの距離「０〜７」が設定されている。また、太線の領域８２内の画素についても、黒く塗りつぶされた領域からの距離「０〜８」が設定されている。このように作成された距離マップを用いることによって、不適切な丸み付けの発生を防ぐことができる。
【０１１５】
次に、図１７、図２１〜図２３を参照しながら、骨格を使用する第２の丸み付け処理を説明する。図２１（ａ）には、第２の丸み付け処理におけるユーザ入力値８３の一例が図示されている。ユーザ入力値は、設定奥行き値、丸み付け範囲（Ｒ）および丸み付け厚み（Ｔ）を含む。設定奥行き値とは奥行き設定画面５４で各フレームごとに設定される奥行き値である。図２１の例では、設定奥行き値が「１９０」、丸み付け範囲（Ｒ）が「６７％」、丸み付け厚み（Ｔ）が「１０」である。
【０１１６】
制御部１１は、距離マップから、骨格を検出する（図１０のステップ１３）。骨格検出処理は、例えば、注目画素の隣接画素群（例えば上、下、左、右、右上、右下、左上、左下の８個）の画素値と注目画素の画素値とを比較して、注目画素の画素値が最大（同じ値でも良い。）であれば、注目画素を骨格として検出する。
【０１１７】
次に、制御部１１は、骨格以外の画素について、骨格までの最小距離を代入した骨格距離マップを作成する（図１０のステップ１４）。図１７（ｂ）の距離マップ７２であれば、画素値が「４」の画素が骨格として検出され、図１７（ｃ）の骨格距離マップ７３が作成される。
【０１１８】
次に、制御部１１は、距離マップおよび骨格距離マップを用いて、各画素における骨格への接近度ｐを算出する。ここで、骨格への接近度ｐは、ｐ＝各画素から輪郭までの最小距離ｄ／（各画素からの輪郭までの最小距離ｄ＋各画素から骨格までの最小距離）×１００、によって定義される。
【０１１９】
制御部１１は、設定奥行き値＝「１９０」を最小値とし、設定奥行き値＋丸み付け厚み（Ｔ）＝「２００」を最大値とし、マスク領域の各画素値を設定する。また、輪郭から丸み付け範囲（Ｒ）内の画素値については、所定の数式に基づいて補間を行う。補間のための所定の数式は、例えば、楕円の公式に従った次式が挙げられる。
【０１２０】
【数２】
0005857606.tif 000003
【０１２１】
ここで、Ｄａ：加算奥行き量、Ｔ：丸み付け厚み、Ｒ：丸み付け範囲、ｐ：骨格への接近度（０＜ｐ＜Ｒ）、である。輪郭から丸み付け範囲（Ｒ）内の画素値については、式（２）に従った補間によって、設定奥行き値＋加算奥行き量Ｄａが設定される。
【０１２２】
図２１（ｂ）には、図１７（ｂ）の距離マップ７２および図１７（ｃ）の骨格距離マップ７３を用いて算出された各画素における骨格への接近度ｐを示すマップ８４が図示されている。図２１（ｂ）では、斜線部が骨格を示している。点線の矩形の外側は、最小値の「０％」が設定されている。また、一点鎖線の矩形の内側は、最大値の「１００％」が設定されている。点線の矩形と一点鎖線の矩形とに挟まれる領域には、「３３％」、「６６％」が設定されている。「３３％」が設定されている画素は、各画素から輪郭までの距離ｄが「１」、各画素から骨格までの最小距離が「２」である。また、「６６％」が設定されている画素は、各画素から輪郭までの距離ｄが「２」、各画素から骨格までの最小距離が「１」である。
【０１２３】
図２１（ｃ）には、図１７（ｂ）の距離マップ７２および図１７（ｃ）の骨格距離マップ７３を用いて、ユーザ入力値８３及び式（２）に従った丸み付け結果が図示されている。点線の矩形の外側は、最小値の「１９０」（設定奥行き値）が設定されている。また、一点鎖線の矩形の内側は、最大値の「２００」（設定奥行き値＋丸み付け厚み（Ｔ））が設定されている。点線の矩形と一点鎖線の矩形とに挟まれる領域には、式（２）に従った補間を行った値の「１９８」、「２００」が設定されている。「１９８」が設定されている画素は、骨格への接近度ｐが「３３％」である。また、「２００」が設定されている画素は、骨格への接近度ｐが「６６％」である。
【０１２４】
尚、図２２に示すように、マスク領域の輪郭が画像全体の領域から見切れている場合には例外処理が必要となる。例えば、図２２（ａ）におけるプレー中の人物（最も手前に位置する人物）に対応するマスクでは、マスク領域の輪郭が画像全体の領域から見切れた状態となっている。そこで、制御部１１は、骨格距離マップを作成する際に画像の縦方向の枠に当たる（最も左側及び最も右側に位置する）画素に対して例外処理を行い、不適切な丸み付けの発生を防ぐ。図２２（ｂ）であれば、両矢印線８６によって示される範囲が、例外処理の対象となる。
【０１２５】
第２の丸み付け処理における例外処理では、制御部１１は、画像の縦方向の枠に当たる（最も左側及び最も右側に位置する）画素を骨格とし、骨格距離マップを作成する。例えば、図２３に示す例であれば、制御部１１は、斜線部８７の画素を骨格とし、骨格距離マップを作成する。このように作成された骨格距離マップを用いることによって、不適切な丸み付けの発生を防ぐことができる。
【０１２６】
尚、画像の縦方向の枠に当たる（最も左側及び最も右側に位置する）画素だけを骨格とし、画像の横方向の枠に当たる（最も上側及び最も下側に位置する）画素を骨格としない理由は、処理対象のマスクが直立した人物だからである。例えば、処理対象のマスクが横向きに寝ている人物の場合には、画像の横方向の枠に当たる（最も上側及び最も下側に位置する）画素だけを骨格とするようにしても良い。
【０１２７】
図２４は、第１の丸み付け処理による丸み付け範囲を示す図であり、図２５は、第２の丸み付け処理による丸み付け範囲を示す図である。尚、図２４及び図２５の元画像は、丸み付け範囲を緑色によって示しているが、特許図面の制約の為、グレースケールに変換している。これによって、グレー部分（白や黒を除いた中間色の部分）が丸み付け範囲を表している。また、黒部分は背景、白部分はマスク内部を表している。更に、図２５のマスク内部の黒部分（元画像では赤色）は、検出された骨格を表している。
【０１２８】
両者を比較すると、腕の部分に顕著な違いが見られる。つまり、第１の丸み付け処理では、腕の部分がほとんど丸み付け範囲となっているのに対して、第２の丸み付け処理では、腕の部分の丸み付け範囲は輪郭部分のみとなっている。
【０１２９】
図２４の場合、腕の部分が尖っているように感じられる奥行き画像が作成されてしまう。これは、腕の部分について、最大値（＝設定奥行き値＋丸み付け厚み（Ｔ））が設定される範囲（＝白部分）が細すぎるからである。
【０１３０】
一方、図２５の場合、腕の部分についても適度な丸みが感じられる奥行き画像が作成される。これは、骨格を利用して丸み付け処理がなされているので、腕の部分について、最大値（＝設定奥行き値＋丸み付け厚み（Ｔ））が設定される範囲（＝白部分）が適度な太さとなっているからである。
【０１３１】
このように、第２の丸み付け処理によれば、腕、足、首など、胴体よりも細い部位についても、立体感（丸み）がある奥行き画像を作成することができる。ひいては、自然な奥行き感のある３次元映像を製作することができる。
【０１３２】
図２６は、丸み付け処理の確認画面の表示例である。奥行き画像表示エリア６０において、白に近い色の画素が手前、黒に近い色の画素が奥となる。断面図プレビューチェックボタン６５が選択されている場合、断面図表示エリア６４において、断面図プレビューが表示される。断面図表示エリア６４の横軸は、奥行き画像表示エリア６０の横軸と同様、画像の横方向の位置を示している。断面図表示エリア６４の縦軸は、断面図表示位置６２上の各画素の奥行き値を示している。
【０１３３】
図２６に示すように、制御部１１が、丸み付け処理が行われたマスク画像を立体表示した際の断面図を算出し、算出結果の断面図を表示することによって、ユーザは、設定した立体形状の細部を確認することができる。
【０１３４】
図２７は、第１の丸み付け処理の処理結果を示す図である。図２７の断面図６４ａでは、マスク領域が２つの小領域９１ａ、９２ａに分かれている。直線９３ａは、ユーザ入力による設定奥行き値を示している。人物の胴体に対応する小領域９１ａについては、適度な丸み付けがなされていることが確認できる。一方、人物の腕に対応する小領域９２ａについては、かなり尖った丸み付けがなされていることが確認できる。これは、図２４の説明にて前述したように、第１の丸み付け処理では、腕の部分について、最大値（断面図において、丸みの一番飛び出た箇所の高さ）が設定される範囲が細すぎるからである。
【０１３５】
図２８は、第２の丸み付け処理の処理結果を示す図である。図２８の断面図６４ｂでは、マスク領域が２つの小領域９１ｂ、９２ｂに分かれている。直線９３ｂは、ユーザ入力による設定奥行き値を示している。人物の胴体に対応する小領域９１ｂについては、適度な丸み付けがなされていることが確認できる。また、人物の腕に対応する小領域９２ｂについても、適度な丸み付けがなされていることが確認できる。
【０１３６】
しかし、図２８の例では、補助線９４ｂまでの距離を比較すれば分かるように、人物の腕に対応する小領域９２ｂの最大値（断面図において、丸みの一番飛び出た箇所の高さ）が、人物の胴体に対応する小領域９１ｂの最大値と同じ値になっている。これでは、全体的には少し不自然な奥行き画像となってしまう。
【０１３７】
そこで、制御部１１は、変形例として、マスク領域が複数の小領域に分離している横断面位置では、各小領域の横幅に合わせて奥行き値の最大値を調整するようにしても良い。具体的には、制御部１１は、小領域ごとに横幅を算出し、横幅に応じて各小領域の丸み付け厚み（Ｔ）を変更する。例えば、ユーザ入力による丸み付け厚み（Ｔ）が「１０」であった場合、小領域９１ｂの丸み付け厚み（Ｔ）は「１０」のままとし、小領域９２ｂの丸み付け厚み（Ｔ）は「７」とする。これによって、横幅が狭い部分（人物であれば、腕、足、首など）の飛び出しが抑えられ、自然な丸み付けが可能となる。
【０１３８】
図２９は、第２の丸み付け処理の変形例の処理結果を示す図である。図２９の断面図６４ｃでは、マスク領域が２つの小領域９１ｃ、９２ｃに分かれている。直線９３ｃは、ユーザ入力による設定奥行き値を示している。人物の胴体に対応する小領域９１ｃについては、適度な丸み付けがなされていることが確認できる。また、人物の腕に対応する小領域９２ｃについても、適度な丸み付けがなされていることが確認できる。更に、補助線９４ｃまでの距離を比較すれば分かるように、人物の腕に対応する小領域９２ｃの最大値が、人物の胴体に対応する小領域９１ｃの最大値よりも小さくなっており、腕の部分の飛び出しが抑えられ、自然な丸み付けになっていることが確認できる。
【０１３９】
制御部１１は、丸み付け処理が行われたマスク画像をＲＡＭや記憶部１２等に記憶し、後述する処理に利用する。丸み付け処理が行われたマスク画像は、図８に示すようなマスク領域のように、一色（単一の画素値）で塗られているものではなく、複数色（複数の画素値）で塗られたものとなっている。より具体的には、マスク領域の輪郭に近い部分が滑らかな階調を有するものとなっている。
【０１４０】
図１０の説明に戻る。ステップＳ１７において、制御部１１は、書き出しボタンの押下指示があったか否か、つまり、図１１の書き出しボタン６６が押下されたか否かを判定し、まだ書き出しボタン押下指示がないと判定した場合、ステップＳ２に戻り、上述した処理を繰り返し実行する。
【０１４１】
また、ステップＳ１７において、制御部１１は、書き出しボタンの押下指示があったと判定した場合、ステップＳ１８に進み、丸み付け処理が行われたマスク画像を用いて奥行き画像７を作成し、作成された奥行き画像７を記憶部１２に保存する。ステップＳ１８では、制御部１１は、丸み付け処理が行われた複数のマスク画像や背景画像を用いて、適切な合成処理（複数のマスク画像について、同一の画素における画素値を比較し、手前の画素値の方を選択して画像を作成する処理）を行う。ステップＳ１９において、制御部１１は、２次元画像３に対応付けてラベル画像８を作成し、記憶部１２に保存する。
【０１４２】
図３０は、ラベル画像８の作成を説明する図である。
【０１４３】
例えば、図３０（ａ）に示すように、マスク画像５ｄは、四角の物体の被写体のマスクＤであり、マスク画像５ｅは、円の物体の被写体のマスクＥであるとする。上述したような奥行き値の設定により、図３０（ｂ）に示すように、マスクＤの被写体７ｄが最も手前（白）、マスクＥの被写体７ｅの被写体が最も奥（黒）となるように奥行き値が設定され、奥行き画像７が生成されたとする。
【０１４４】
図３０（ｃ）に示すように、手前の被写体７ｄに対応するラベルＤについては、マスク画像５Ｄと同様の領域が、ラベルＤのラベリング領域８ｄとしてラベリングされる。
【０１４５】
図３０（ｃ）に示すように、奥の被写体７ｅに対応するラベルＥについては、マスク画像５ｅの領域からラベルＤとの重複部分を除いた領域（斜線部の領域）が、ラベルＥのラベリング領域８ｅとしてラベリングされる。
【０１４６】
以上のように、ラベル画像８には、他のマスク画像５と重複していない、又は他のマスク画像５よりも手前の被写体については、マスク画像５と同じ領域がラベリングされる（図３０のラベルＤ）。また、ラベル画像８には、他のマスク画像５と重複しており、他のマスク画像５よりも奥の被写体については、マスク画像５の領域から重複部分を除外した領域がラベリングされる（図３０のラベルＥ）。
【０１４７】
［発明の実施の形態における効果］
１．同一被写体の複数フレームに対する奥行き値を互いに比較表示させながら、奥行き値の設定ができるので、フレーム間で違和感のない奥行き値を設定することが可能となる。これにより、ユーザは、フレーム間で違和感がないかどうかを容易に確認することができる。
【０１４８】
２．同一フレームの複数被写体に対する奥行き値を互いに比較表示させながら、奥行き値の設定ができるので、同一フレームにおける被写体間で違和感のない奥行き値を設定することが可能となる。これにより、ユーザは、同一フレームにおける被写体間で違和感がないかどうかを容易に確認することができる。
【０１４９】
３．一部のフレームについて奥行き値を設定すれば、他のフレームについては、装置が違和感のない範囲で自動的に補間するので、全フレームの奥行き値を手作業で設定していた従来と比較して、作業効率が大幅に良くなる。
【０１５０】
４．奥行き画像と元映像を連動させて、複数フレームを連続的に表示させることができるので、奥行き画像の仕上りを容易に確認することができる。
【０１５１】
５．奥行き値の設定が必要なフレームだけを表示させることができ、利便性が高まる。
【０１５２】
６．丸み付け処理を行うことによって、立体物の内部にも立体感（丸み）がある奥行き画像を精度良く、かつ、効率的に製作することができる。
【０１５３】
７．骨格を利用した第２の丸み付け処理によれば、腕、足、首など、胴体よりも細い部位についても、立体感（丸み）がある奥行き画像を作成することができる。ひいては、自然な奥行き感のある３次元映像を製作することができる。
【０１５４】
８．丸み付け処理が行われたマスク画像を立体表示した際の断面図を算出し、算出結果の断面図を表示することによって、ユーザは、設定した立体形状の細部を確認することができる。
【０１５５】
９．丸み付け処理において、マスク領域が複数の小領域に分離している横断面位置では、小領域ごとに横幅を算出し、横幅に応じて各小領域の丸み付け厚みを変更することによって、横幅が狭い部分（人物であれば、腕、足、首など）の飛び出しが抑えられ、自然な丸み付けが可能となる。
【０１５６】
以上、添付図面を参照しながら、本発明に係る奥行き製作支援装置等の好適な実施形態について説明したが、本発明はかかる例に限定されない。当業者であれば、本願で開示した技術的思想の範疇内において、各種の変更例又は修正例に想到し得ることは明らかであり、それらについても当然に本発明の技術的範囲に属するものと了解される。
【符号の説明】
【０１５７】
１………奥行き製作支援装置
３………２次元画像
４………背景画像
５………マスク画像
６………奥行き値
７………奥行き画像
８………ラベル画像
【図１】
0005857606.tif 000004
【図２】
0005857606.tif 000005
【図９】
0005857606.tif 000006
【図１０】
0005857606.tif 000007
【図１２】
0005857606.tif 000008
【図１３】
0005857606.tif 000009
【図１４】
0005857606.tif 000010
【図１５】
0005857606.tif 000011
【図１６】
0005857606.tif 000012
【図１７】
0005857606.tif 000013
【図１８】
0005857606.tif 000014
【図２０】
0005857606.tif 000015
【図２１】
0005857606.tif 000016
【図２３】
0005857606.tif 000017
【図３０】
0005857606.tif 000018
【図３】
0005857606.tif 000019
【図４】
0005857606.tif 000020
【図５】
0005857606.tif 000021
【図６】
0005857606.tif 000022
【図７】
0005857606.tif 000023
【図８】
0005857606.tif 000024
【図１１】
0005857606.tif 000025
【図１９】
0005857606.tif 000026
【図２２】
0005857606.tif 000027
【図２４】
0005857606.tif 000028
【図２５】
0005857606.tif 000029
【図２６】
0005857606.tif 000030
【図２７】
0005857606.tif 000031
【図２８】
0005857606.tif 000032
【図２９】
0005857606.tif 000033