(57)【特許請求の範囲】
【請求項１】
外部設定されるマスクパターンを補正するマスク補正部と、
入力画像のデプスマップを、前記マスク補正部により補正された複数のマスクパターンにより指定される複数の領域ごとに加工するデプスマップ加工部と、
前記入力画像、及び前記デプスマップ加工部により加工されたデプスマップをもとに、別視点の画像を生成する画像生成部と、を備え、
前記マスク補正部は、
マスク信号にフィルタをかける第１ローパスフィルタと、
前記第１ローパスフィルタから出力されるマスク信号を前記マスク信号のエッジの位置を移動させるための第１閾値を用いて二値化する二値化部と、
前記二値化部による二値化によりエッジの位置が移動された前記マスク信号のエッジに傾斜をつけるための第２ローパスフィルタと、を含み、
前記マスクパターンのオブジェクト境界部分に、ぼかし処理を施すことを特徴とする画像処理装置。
【請求項２】
前記マスク補正部は、
前記第２ローパスフィルタにより出力されるマスク信号を第２閾値を用いて、前記第２閾値以下の信号をゼロにクリッピングするクリッピング部を、さらに含むことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記デプスマップ加工部は、前記マスク補正部により補正されたマスクパターンをもとに生成される、前記複数の領域の各デプスマップをアルファブレンドすることを特徴とする請求項１または２に記載の画像処理装置。
【請求項４】
前記マスク補正部は、
前記マスク信号のレベルを判定するレベル判定部を、さらに含み、
前記レベル判定部は、レベル判定結果に応じて、前記第１ローパスフィルタおよび前記第２ローパスフィルタの少なくとも一方の、前記マスク信号にフィルタ処理を行う対象エリアを制限することを特徴とする請求項１に記載の画像処理装置
【請求項５】
前記レベル判定部は、
前記マスク信号の有効エリアを広げる場合、前記マスク信号の有効エリアに対する前記第１ローパスフィルタによるフィルタ処理をスキップさせ、前記マスク信号の有効エリアを狭める場合、前記マスク信号の無効エリアに対する前記第１ローパスフィルタによるフィルタ処理をスキップさせることを特徴とする請求項４に記載の画像処理装置。
【請求項６】
前記レベル判定部は、
前記二値化部による二値化によりエッジの位置が移動された前記マスク信号の無効エリアに対する前記第２ローパスフィルタによるフィルタ処理をスキップさせることを特徴とする請求項４または５に記載の画像処理装置。
【請求項７】
外部設定されるマスクパターンのオブジェクト境界部分にぼかし処理を施すステップと、
入力画像のデプスマップを、オブジェクト境界部分にぼかし処理が施された複数のマスクパターンにより指定される複数の領域ごとに加工するステップと、
前記入力画像、及び加工されたデプスマップをもとに、別視点の画像を生成するステップと、を備え、
前記ぼかし処理を施すステップは、
マスク信号にローパスフィルタをかけるステップと、
ローパスフィルタをかけられたマスク信号を前記マスク信号のエッジの位置を移動させるための第１閾値を用いて二値化するステップと、
二値化によりエッジの位置が移動された前記マスク信号のエッジに傾斜をつけるためにローパスフィルタをかけるステップと、を含むことを特徴とする画像処理方法。
【請求項８】
外部設定されるマスクパターンのオブジェクト境界部分にぼかし処理を施す処理と、
入力画像のデプスマップを、オブジェクト境界部分にぼかし処理が施された複数のマスクパターンにより指定される複数の領域ごとに加工する処理と、
前記入力画像、及び加工されたデプスマップをもとに、別視点の画像を生成する処理と、コンピュータに実行させ、
前記ぼかし処理を施す処理は、
マスク信号にローパスフィルタをかける処理と、
ローパスフィルタをかけられたマスク信号を前記マスク信号のエッジの位置を移動させるための第１閾値を用いて二値化する処理と、
二値化によりエッジの位置が移動された前記マスク信号のエッジに傾斜をつけるためにローパスフィルタをかける処理と、を含むことを特徴とする画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、２Ｄ画像を立体視のための３Ｄ画像に変換する処理を実行する画像処理装置、画像処理方法及び画像処理プログラムに関する。
【背景技術】
【０００２】
近年、３Ｄ映画、３Ｄ放送などの３Ｄ映像コンテンツが普及してきている。観察者に立体視させるためには、視差を持つ右眼画像と左眼画像が必要である。３Ｄ映像を表示する際、右眼画像と左眼画像を時分割に表示し、シャッタメガネや偏光メガネなどの映像分離用メガネにより右眼画像と左眼画像を分離する。これにより観察者は右眼画像を右眼のみで、左眼画像を左眼のみで観察でき立体視できる。なお右眼画像と左眼画像を時分割ではなく空間分割すればメガネは必要なくなるが解像度が低下する。メガネ方式にしてもメガネレス方式にしても右眼画像と左眼画像が必要な点では共通する。
【０００３】
３Ｄ映像を製作するには大きく２つの方法があり、２台のカメラを用いて右眼画像と左眼画像を同時に撮影する方法と、１台のカメラで撮影された２Ｄ画像を後に編集して視差画像を生成する方法がある。本発明は後者の方法に関するものであり、２Ｄ３Ｄ変換技術に関するものである。
【０００４】
図１は、２Ｄ３Ｄ変換の基本処理プロセスを説明するための図である。まず２Ｄ入力画像からデプスマップ（奥行き情報ともいう）を生成する（ステップＳ１０）。そして２Ｄ入力画像とデプスマップを用いて３Ｄ画像を生成する（ステップＳ３０）。図１では２Ｄ入力画像を３Ｄ出力画像の右眼画像とし、２Ｄ入力画像をデプスマップを用いて画素シフトした画像を３Ｄ出力画像の左眼画像としている。以下、所定の視差を持つ右眼画像と左眼画像の組みを３Ｄ画像または視差画像という。
【０００５】
３Ｄ画像を生成する際にはデプスマップを用いて２Ｄ画像を画素シフトして、当該２Ｄ画像に対して視差を持つ別視点の２Ｄ画像を生成する。この画素シフトにより、生成される別視点の２Ｄ画像内に欠落画素が発生する。一般的に、この欠落画素は周辺画素から補間される。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１１−４８５８６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
画面内においてオブジェクト境界でのデプスの段差が大きい場合、その境界部分の画素シフト量も大きくなる。したがって欠落画素の数、即ち欠落領域の面積も大きくなる。上述したようにその欠落画素には周辺画素が補間されるが、その欠落領域の面積が大きくなると、補間される画素が補間位置にマッチしない箇所が発生しやすくなる。
【０００８】
本発明はこうした状況に鑑みてなされたものであり、その目的は、２Ｄ画像から３Ｄ画像を生成する際に、オブジェクト境界部分の画像品質を向上させる技術を提供することにある。
【課題を解決するための手段】
【０００９】
上記課題を解決するために、本発明のある態様の画像処理装置（１００）は、外部設定されるマスクパターンを補正するマスク補正部（８０）と、入力画像のデプスマップを、前記マスク補正部（８０）により補正された複数のマスクパターンにより指定される複数の領域ごとに加工するデプスマップ加工部（２０）と、前記入力画像、及び前記デプスマップ加工部（２０）により加工されたデプスマップをもとに、別視点の画像を生成する画像生成部（３０）と、を備える。前記マスク補正部（８０）は、マスク信号にフィルタをかける第１ローパスフィルタ（８１）と、前記第１ローパスフィルタ（８１）から出力されるマスク信号を前記マスク信号のエッジの位置を移動させるための第１閾値を用いて二値化する二値化部（８２）と、前記二値化部（８２）による二値化によりエッジの位置が移動された前記マスク信号のエッジに傾斜をつけるための第２ローパスフィルタ（８３）を備えることにより、前記マスクパターンのオブジェクト境界部分に、ぼかし処理を施す。
【００１０】
本発明の別の態様は、画像処理方法である。この方法は、外部設定されるマスクパターンのオブジェクト境界部分にぼかし処理を施すステップと、入力画像のデプスマップを、オブジェクト境界部分にぼかし処理が施された複数のマスクパターンにより指定される複数の領域ごとに加工するステップと、前記入力画像、及び加工されたデプスマップをもとに、別視点の画像を生成するステップと、を備える。前記ぼかし処理を施すステップは、マスク信号にローパスフィルタをかけるステップと、ローパスフィルタをかけられたマスク信号を前記マスク信号のエッジの位置を移動させるための第１閾値を用いて二値化するステップと、二値化によりエッジの位置が移動された前記マスク信号のエッジに傾斜をつけるためにローパスフィルタをかけるステップと、を含む。
【００１１】
なお、以上の構成要素の任意の組み合わせ、本発明の表現を方法、装置、システム、記録媒体、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【００１２】
本発明によれば、２Ｄ画像から３Ｄ画像を生成する際に、製作者の手間を軽減しつつ高品質な３Ｄ画像を生成できる。
【図面の簡単な説明】
【００１３】
【図１】２Ｄ３Ｄ変換の基本処理プロセスを説明するための図である。
【図２】本発明の基本となる実施例に係る画像編集システムの構成を示す図である。
【図３】本発明の実施例に係るデプスマップ生成部の構成例を示す図である。
【図４】本発明の基本となる実施例に係る画像編集システムの全体処理プロセスを説明するための図である。
【図５】入力デプスマップのゲイン調整プロセスを説明するための図である。
【図６】入力デプスマップのオフセット調整プロセスを説明するための図である。
【図７】レイヤデプスマップの合成処理プロセスを説明するための図である。
【図８】マスクを使用しない入力デプスマップのゲイン調整プロセスを説明するための図である。
【図９】マスクを使用しない入力デプスマップのオフセット調整プロセスを説明するための図である。
【図１０】画素シフトと画素補間を説明するための図である。
【図１１】オブジェクト境界のデプスの段差が大きい場合における、画素シフトと画素補間を説明するための図である。
【図１２】オブジェクト境界のデプスの段差が大きい場合でも不自然さが発生しない、画素シフトと画素補間を説明するための図である。
【図１３】本発明の実施例１に係る画像編集システムの構成を示す図である。
【図１４】本発明の実施例１に係る画像編集システムの全体処理プロセスを説明するための図である。
【図１５】レイヤデプスマップのアルファブレンドを説明するための図である。
【図１６】マスク補正部の構成例を示す図である。
【図１７】図１６のマスク補正部によるマスクぼかし処理を説明するための図である。
【図１８】第１ローパスフィルタによりマスク信号に形成される傾斜と、二値化部に設定される第１閾値の関係を説明するための図である。
【図１９】第１ローパスフィルタにより付加される傾斜と、第２ローパスフィルタにより付加される傾斜を比較するための図である。
【図２０】本発明の実施例１の変形例に係る画像編集システムの全体処理プロセスを説明するための図である。
【図２１】本発明の実施例２に係る画像編集システムによるフィルオフ機能を説明するための図である。
【図２２】本発明の実施例２に係る３Ｄ画像生成部の構成を示す図である。
【図２３】図２３（ａ）−（ｅ）は、監視領域の複数の例を示す図である。
【図２４】５つの設定パラメータにより生成される監視領域の具体例を説明するための図である（その１）。
【図２５】５つの設定パラメータにより生成される監視領域の具体例を説明するための図である（その２）。
【図２６】デプス信号の微分値の監視およびフィルオフを説明するための図である（右眼画像）。
【図２７】デプス信号の微分値の監視およびフィルオフを説明するための図である（左眼画像）。
【図２８】実施例３に係るマスク補正部の構成例を示す図である。
【図２９】実施例３に係る第１レベル判定部による第１ローパスフィルタのフィルタ対象エリアの制限処理を説明するためのフローチャートである。
【図３０】実施例３に係る第２レベル判定部による第２ローパスフィルタのフィルタ対象エリアの制限処理を説明するためのフローチャートである。
【図３１】図３１（ａ）−（ｃ）は全画素に対してフィルタ演算してマスクエッジ幅を広げる処理を説明するための図である。
【図３２】図３２（ａ）−（ｃ）はマスクの無効画素に対してのみフィルタ演算してマスクエッジ幅を広げる処理を説明するための図である。
【図３３】図３３（ａ）−（ｃ）は全画素に対してフィルタ演算してマスクエッジ幅を狭める処理を説明するための図である。
【図３４】図３４（ａ）−（ｃ）はマスクの有効画素に対してのみフィルタ演算してマスクエッジ幅を狭める処理を説明するための図である。
【図３５】図３５（ａ）−（ｃ）は全画素に対してフィルタ演算してマスクエッジに傾斜を付ける処理を説明するための図である。
【図３６】図３６（ａ）−（ｃ）はマスクの有効画素に対してのみフィルタ演算してマスクエッジに傾斜を付ける処理を説明するための図である。
【発明を実施するための形態】
【００１４】
図２は、本発明の基本となる実施例に係る画像編集システム５００の構成を示す図である。本実施例に係る画像編集システム５００は、画像処理装置１００及びコンソール端末装置２００を備える。
【００１５】
コンソール端末装置２００は画像製作者（以下、ユーザという）が画像を製作、編集するために使用する端末装置である。コンソール端末装置２００は操作部６０および表示部７０を備える。操作部６０はキーボード、マウス等の入力デバイスであり、表示部７０はディスプレイ等の出力デバイスである。なお入出力が一体となったデバイスであるタッチパネルディスプレイが用いられてもよい。またコンソール端末装置２００はプリンタ、スキャナ等の印刷物を媒体として用いるユーザインタフェースを含んでもよい。操作部６０はユーザ操作を受け付け、そのユーザ操作に起因した信号を生成し、画像処理装置１００に出力する。表示部７０は画像処理装置１００により生成された画像を表示する。
【００１６】
画像処理装置１００はデプスマップ生成部１０、デプスマップ加工部２０、３Ｄ画像生成部３０、操作受付部４０、表示制御部５０を含む。これらの構成はハードウエア的には、任意のプロセッサ、メモリ、その他のＬＳＩで実現でき、ソフトウエア的にはメモリにロードされたプログラムなどによって実現されるが、ここではそれらの連携によって実現される機能ブロックを描いている。したがって、これらの機能ブロックがハードウエアのみ、ソフトウエアのみ、またはそれらの組合せによっていろいろな形で実現できることは、当業者には理解されるところである。例えばデプスマップ生成部１０、デプスマップ加工部２０、３Ｄ画像生成部３０について、その機能を全てソフトウェアで実現してもよいし、デプスマップ生成部１０および３Ｄ画像生成部３０の機能を専用のロジック回路で構成し、デプスマップ加工部２０の機能をソフトウェアで実現してもよい。
【００１７】
デプスマップ生成部１０は、入力される２Ｄ画像とデプスモデルをもとに当該２Ｄ画像のデプスマップを生成する。デプスマップは、デプス値（奥行き値ともいう）を輝度値で表したグレースケール画像である。デプスマップ生成部１０はシーン構造を推定して、そのシーン構造に適合的なデプスモデルを使用してデプスマップを生成する。本実施例ではデプスマップ生成部１０は複数の基本デプスモデルを合成してデプスマップ生成に使用する。その際、当該２Ｄ画像のシーン構造に応じて複数の基本デプスモデルの合成比率を変化させる。
【００１８】
図３は、本発明の実施例に係るデプスマップ生成部１０の構成例を示す図である。デプスマップ生成部１０は、画面上部高域成分評価部１１、画面下部高域成分評価部１２、合成比率決定部１３、第１基本デプスモデル用フレームメモリ１４、第２基本デプスモデル用フレームメモリ１５、第３基本デプスモデル用フレームメモリ１６、合成部１７、加算部１８を含む。
【００１９】
画面上部高域成分評価部１１は、処理すべき２Ｄ画像の画面上部において高域成分を有する画素の割合を算出する。その割合を画面上部の高域成分評価値とする。なお画面全体に対する画面上部の割合は略２０％に設定するとよい。画面下部高域成分評価部１２は当該２Ｄ画像の画面下部において高域成分を有する画素の割合を算出する。その割合を画面下部の高域成分評価値とする。なお画面全体に対する画面下部の割合は略２０％に設定するとよい。
【００２０】
第１基本デプスモデル用フレームメモリ１４は第１基本デプスモデルを保持し、第２基本デプスモデル用フレームメモリ１５は第２基本デプスモデルを保持し、第３基本デプスモデル用フレームメモリ１６は第３デプスモデルを保持する。第１基本デプスモデルは画面上部及び画面下部をそれぞれ凹状の球面とするモデルである。第２基本デプスモデルは画面上部を縦方向に軸線を有する円筒面、画面下部を凹状の球面とするモデルである。第３基本デプスモデルは画面上部を平面、画面下部を横方向に軸線を有する円筒面とするモデルである。
【００２１】
合成比率決定部１３は、画面上部高域成分評価部１１および画面下部高域成分評価部１２によりそれぞれ算出された、画面上部および画面下部の高域成分評価値をもとに第１基本デプスモデル、第２基本デプスモデル、第３基本デプスモデルの合成比率ｋ１，ｋ２，ｋ３（ただし、ｋ１＋ｋ２＋ｋ３＝１）を決定する。合成部１７はこれらの合成比率ｋ１，ｋ２，ｋ３と、第１基本デプスモデル、第２基本デプスモデル、第３基本デプスモデルをそれぞれ乗算し、それぞれの乗算結果を加算する。この演算結果が合成基本デプスモデルとなる。
【００２２】
例えば合成比率決定部１３は、画面上部の高域成分評価値が小さい場合は画面上部に空もしくは平坦な壁が存在するシーンと認識して、画面上部の奥行きを深くした第２基本デプスモデルの比率を増加させる。また画面下部の高域成分評価値が小さい場合は画面下部に平坦な地面もしくは水面が手前に連続的に広がるシーンと認識して、第３基本デプスモデルの比率を増加させる。第３基本デプスモデルでは、画面上部は遠景として平面近似し、画面下部は下に行くほど奥行きを小さくしている。
【００２３】
加算部１８は、合成部１７により生成された合成基本デプスモデルに上記２Ｄ画像の赤成分（Ｒ）信号を重畳してデプスマップを生成する。Ｒ信号を使用する理由は、Ｒ信号の大きさが順光に近い環境で、かつテクスチャの明度が大きく異ならないような条件において、被写体の凹凸と一致する確率が高いという経験則によるものである。また赤色および暖色は色彩学における前進色であり、寒色系よりも奥行きが手前に認識され、立体感が強調されるためである。
【００２４】
図２に戻る。デプスマップ加工部２０は、デプスマップ生成部１０により生成されたデプスマップを加工する。本実施例ではデプスマップ加工部２０は、外部設定される複数のマスクパターン（以下、単にマスクという）により指定される画面内の複数の領域ごとに、デプスマップ生成部１０により生成されたデプスマップを個別または独立に加工する。例えばゲイン調整、オフセット調整、グラデーション処理などの加工を行う。デプスマップ加工部２０による処理の詳細は後述する。
【００２５】
３Ｄ画像生成部３０は、上述の２Ｄ画像およびデプスマップ加工部２０により加工されたデプスマップをもとに別視点の２Ｄ画像を生成する。３Ｄ画像生成部３０は、オリジナル視点の２Ｄ画像と別視点の２Ｄ画像を右眼画像と左眼画像として出力する。
【００２６】
以下、オリジナル視点の２Ｄ画像とデプスマップを用いて当該２Ｄ画像と視差を持つ別視点の２Ｄ画像を生成する具体例を説明する。この具体例ではオリジナル視点の２Ｄ画像を画面表示させた場合の視点を基準にして、左に視点移動した別視点の２Ｄ画像を生成する。その場合、観察者に対してテクスチャを近景として表示させるときは画面に向かって左側へオリジナル視点の２Ｄ画像のテクスチャを所定量移動させ、テクスチャを観察者に遠景として表示させるときは画面に向かって右側へテクスチャを所定量移動させる。
【００２７】
デプスマップの各画素の輝度値をＹｄ、飛び出し感を表す輻輳値をｍ、立体感を表す奥行き値をｎとする。３Ｄ画像生成部３０は輝度値Ｙｄの小さい値から順に、その輝度値Ｙｄに対応するオリジナル視点の２Ｄ画像のテクスチャを画素ごとに（Ｙｄ−ｍ）／ｎ画素分左にシフトする。（Ｙｄ−ｍ）／ｎの値が負の場合、（ｍ−Ｙｄ）／ｎ画素分右にシフトする。なお観察者には、デプスマップの輝度値Ｙｄの小さいテクスチャは画面奥側に見え、輝度値Ｙｄの大きいテクスチャは画面手前に見える。輝度値Ｙｄ、輻輳値ｍ、奥行き値ｎは０〜２５５の範囲の値であり、例えば、輻輳値ｍ＝２００、奥行き値ｎ＝２０に設定される。
【００２８】
なお、デプスマップ生成部１０によるデプスマップ生成、および３Ｄ画像生成部３０による３Ｄ画像生成のより詳細な説明は、本出願人が先に出願した特開２００５−１５１５３４号公報、特開２００９−４４７２２号公報に開示されている。
【００２９】
操作受付部４０は、コンソール端末装置２００の操作部６０から入力される信号を受け付ける。操作受付部４０は、入力される信号をその内容に応じてデプスマップ加工部２０または３Ｄ画像生成部３０に出力する。表示制御部５０はコンソール端末装置２００の表示部７０を制御する。具体的には表示制御部５０は、２Ｄ入力画像、デプスマップ生成部１０により生成されたデプスマップ、デプスマップ加工部２０により加工されたデプスマップ、３Ｄ画像生成部３０により生成された３Ｄ画像を表示できる。
【００３０】
図４は、本発明の基本となる実施例に係る画像編集システム５００の全体処理プロセスを説明するための図である。一般的に２Ｄ画像には複数のオブジェクトが含まれる。図４の２Ｄ入力画像は３つのオブジェクトを含む。具体的には人物、木、背景のオブジェクトを含む。まずデプスマップ生成部１０は、２Ｄ入力画像からデプスマップを生成する（ステップＳ１０）。デプスマップは白に近いほど輝度が高く観察者との距離が近いことを示し、黒に近いほど輝度が低く観察者との距離が遠いことを示す。３Ｄ画像を生成する場合、デプスマップの白に近い領域ほど飛び出し量が大きくなり、黒に近い領域ほど引っ込み量が大きくなる。
【００３１】
本実施例では画像内の複数のオブジェクトに対して個別に奥行き感を調整するために、デプスマップ内の個々のオブジェクト領域に対して独立にエフェクト調整する。具体的には、画像中の個々のオブジェクト領域を表す複数のマスクを用いて、デプスマップ内に、個々のオブジェクト領域を特定する。そして特定されたオブジェクト領域ごとに個別にエフェクト調整し、エフェクト調整された複数のデプスマップを得る。そして、この複数のデプスマップを合成して一つのデプスマップを生成する。このデプスマップは、オリジナル視点の２Ｄ画像から別視点の２Ｄ画像を生成する際に使用される。
【００３２】
デプスマップ生成部１０は２Ｄ入力画像のデプスマップを自動的に生成する（Ｓ１０）。生成されたデプスマップは、デプスマップ加工部２０に入力される。デプスマップ加工部２０には、２Ｄ入力画像内の複数のオブジェクト領域をそれぞれ表す複数のマスクも入力される。これらのマスクはユーザによりトレースされたオブジェクト領域の輪郭をもとに生成される。例えば、表示制御部５０は表示部７０に２Ｄ入力画像を表示させ、ユーザはその２Ｄ入力画像内においてオブジェクト領域とすべき領域の輪郭を、操作部６０を使用してトレースする。操作受付部４０は操作部６０からの信号により、個々のオブジェクト領域の輪郭情報を生成し、マスクとしてデプスマップ加工部２０に出力する。なおユーザが印刷物上に描いた輪郭をスキャナにより読み取ることによりマスクを画像処理装置１００に読み込ませてもよい。
【００３３】
図４では各マスクの有効領域を白で無効領域を黒で描いている。人物のマスクは人物の領域のみを有効とし、他の領域を無効とするパターンである。木のマスクは木の領域のみを有効とし、他の領域を無効とするパターンである。背景のマスクは背景のみを有効とし、他の領域を無効とするパターンである。
【００３４】
１画面あたりのマスクの数に制約はなく、ユーザが任意に設定できる。またオブジェクト領域はユーザが１つのオブジェクト領域にすべきと決定した領域に設定できる。例えば、図４に示すように１人の人物に１つのオブジェクト領域を設定してもよいし、人物の部位ごと、さらに各部位の部分ごとにオブジェクト領域を設定してもよい。特に高品質な３Ｄ画像を生成する際には、１人の人物に対しても多数のオブジェクト領域を設定し、部位ごと、さらに各部位の部分ごとに厚みや奥行き方向の位置を調整することもある。
【００３５】
デプスマップ加工部２０は、デプスマップ生成部１０から入力されるデプスマップ（以下、入力デプスマップという）を、ユーザインタフェースを介して入力される複数のマスクを用いて加工する（Ｓ２０）。デプスマップ加工部２０は各マスクで特定される領域ごとに、個別にデプスマップを加工する。以下、この領域別のデプスマップの加工をデプスマップのレイヤ処理と呼ぶ。またレイヤ処理されたデプスマップをレイヤデプスマップと呼ぶ。本明細書ではレイヤを、マスクの有効領域に対する処理の単位を示す概念として使用している。
【００３６】
図４では、一例としてデプスマップ加工部２０は入力デプスマップから、人物のマスク（レイヤ１のマスク）を用いて人物の領域を特定してレイヤ処理している（Ｓ２１ａ）。同様に入力デプスマップから、木のマスク（レイヤ２のマスク）を用いて木の領域を特定してレイヤ処理している（Ｓ２１ｂ）。同様に入力デプスマップから、背景のマスク（レイヤ３のマスク）を用いて背景の領域を特定してレイヤ処理している（Ｓ２１ｃ）。
【００３７】
デプスマップ加工部２０は、レイヤ１〜３のレイヤデプスマップの各オブジェクト領域のデプスマップを合成する（Ｓ２２）。この合成されたデプスマップを合成デプスマップと呼ぶ。３Ｄ画像生成部３０は、この合成デプスマップを用いて２Ｄ入力画像の画素をシフトし、２Ｄ入力画像に対して視差を持つ画像を生成する（Ｓ３０）。３Ｄ画像生成部３０は２Ｄ入力画像を３Ｄ出力画像の右眼画像（Ｒ）とし、生成した画像を左眼画像（Ｌ）として出力する。
【００３８】
まず、デプスマップ加工部２０によるレイヤ処理としてゲイン調整する例を説明する。ゲイン調整はオブジェクトの奥行き方向の厚みを調整する処理である。ゲインを上げるとオブジェクトが厚くなり、ゲインを下げるとオブジェクトが薄くなる。
【００３９】
図５は、入力デプスマップのゲイン調整プロセスを説明するための図である。デプスマップ加工部２０は、加工前のデプスマップである入力デプスマップに対して、人物のマスクの有効領域だけにゲインを乗算して、入力デプスマップ内の人物の部分のみデプス値の振幅を大きくする（Ｓ２１ａ）。図５において加工後のデプスマップであるレイヤデプスマップは人物の部分の振幅が大きくなっている（符号ａ参照）。
【００４０】
次に、デプスマップ加工部２０によるレイヤ処理としてオフセット調整する例を説明する。オフセット調整はオブジェクトの奥行き方向の位置を調整する処理である。正のオフセット値を加算するとオブジェクトが飛び出し方向に移動し、負のオフセット値を加算すると引っ込み方向に移動する。
【００４１】
図６は、入力デプスマップのオフセット調整プロセスを説明するための図である。デプスマップ加工部２０は、加工前のデプスマップである入力デプスマップに対して、木のマスクの有効領域だけにオフセットを加算して、入力デプスマップ内の木の部分のみデプス値のレベルを高くする（Ｓ２１ｂ）。図６において加工後のデプスマップであるレイヤデプスマップは木の部分のレベルが高くなっている（符号ｂ参照）。
【００４２】
図７は、レイヤデプスマップの合成処理プロセスを説明するための図である。デプスマップ加工部２０は、レイヤ１のレイヤデプスマップ（人物のデプスマップ）のうち、レイヤ１のマスク（人物のマスク）の有効領域のみを切り出す。同様にレイヤ２のレイヤデプスマップ（木のデプスマップ）のうち、レイヤ２のマスク（木のマスク）の有効領域のみを切り出す。同様にレイヤ３のレイヤデプスマップ（背景のデプスマップ）のうち、レイヤ３のマスク（背景のマスク）の有効領域のみを切り出す。デプスマップ加工部２０は、切り出した３つのデプスマップを組み合わせて合成デプスマップを生成する。
【００４３】
図８は、マスクを使用しない入力デプスマップのゲイン調整プロセスを説明するための図である。レイヤデプスマップの合成の際、各レイヤデプスマップのマスクの有効領域のみを用いて合成するのであれば、各レイヤデプスマップのマスクの無効領域は合成デプスマップに反映されないことになる。よって、デプスマップ加工部２０は入力デプスマップ全体にゲインを乗算して、入力デプスマップ全体のデプス値の振幅を大きくする（Ｓ２１ａ）。図８においてレイヤデプスマップは全体の振幅が大きくなっている（符号ｃ参照）。
【００４４】
図９は、マスクを使用しない入力デプスマップのオフセット調整プロセスを説明するための図である。レイヤデプスマップの合成の際、各レイヤデプスマップのマスクの有効領域のみを用いて合成するのであれば、各レイヤデプスマップのマスクの無効領域は合成デプスマップに反映されないことになる。よって、デプスマップ加工部２０は入力デプスマップ全体にオフセットを加算して、入力デプスマップ全体のデプス値のレベルを高くする（Ｓ２１ｂ）。図９においてレイヤデプスマップは全体のレベルが高くなっている（符号ｄ参照）。
【００４５】
図１０は、画素シフトと画素補間を説明するための図である。３Ｄ画像生成部３０は合成デプスマップをもとに２Ｄ入力画像の画素をシフトし、２Ｄ入力画像に対して視差を持つ画像を生成する（Ｓ３０）。図１０では２Ｄ入力画像内の人物領域の画素を左にシフトする例を示している。図１０のデプスマップは人物領域のデプス値にオフセット値が加算されて人物領域のデプス値が大きくなっている。人物領域のデプス値が大きくなると、３Ｄ画像の人物領域の飛び出し量が大きくなる。
【００４６】
人物領域の周囲の背景領域を画素シフトせずに人物領域のみを画素シフトすると、画素が存在しない欠落画素領域が発生する（補正前の画素シフト画像の符号ｅ参照）。３Ｄ画像生成部３０は、この欠落画素領域をその周辺画素から生成した画素で補間して欠落画素領域を補正する。画素補間には様々な方法があるが、例えば人物領域の境界の画素で補間する（補正後の画素シフト画像の符号ｆ参照）。
【００４７】
図１１は、オブジェクト境界のデプスの段差が大きい場合における、画素シフトと画素補間を説明するための図である。オブジェクト境界でのデプスの段差が大きい場合、画素シフト量も大きくなるため、欠落画素領域の面積も大きくなる。この欠落画素領域を周辺画素から生成した画素で補間する場合、その補間する領域の面積も大きくなるため、オブジェクト境界での画像の不自然、不整合、不適合が目立つようになる。
【００４８】
図１１では図１０と比較して人物領域の画素シフト量が大きくなっている。図１１の補正前の画素シフト画像の欠落画素領域の面積は、図１０のその面積より大きくなっている（符号ｇ参照）。図１１の補正後の画素シフト画像でも図１０の補正後の画素シフト画像と同様に、欠落画素領域に人物領域の境界の画素を補間している。その欠落画素領域は本来は背景とすべき領域であり、その領域が大きくなると人物の形状が崩れてしまう（符号ｈ参照）。
【００４９】
また画像内のオブジェクトには、その境界が鮮明なものばかりではなく不鮮明なものも存在する。オブジェクト境界の不鮮明は、例えば撮影時のピンぼけ、手ぶれ、モーションブラーなどにより発生する。オブジェクト境界が不鮮明であいまいな場合、オブジェクト境界に合わせた適切なマスクを作成するのが困難である。不正確な輪郭で作成されたマスクを用いて、デプスマップの加工、画素シフト、画素補間を行った場合、生成される３Ｄ画像のオブジェクトの輪郭が不自然になりやすくなる。
【００５０】
図１２は、オブジェクト境界のデプスの段差が大きい場合でも不自然さが発生しない、画素シフトと画素補間を説明するための図である。オブジェクト境界における欠落画素領域の面積が大きい場合でも、人物と背景がなだらかに切り替わるように補間することで、オブジェクト境界の不自然を目立ちにくくできる。
【００５１】
図１２の補正前の画素シフト画像の欠落画素領域の面積も、図１１と同様に図１０のその面積より大きくなっている（符号ｉ参照）。図１２の補正後の画素シフト画像では図１１の補正後の画素シフト画像と異なり、人物と背景の境界における不自然が目立ちにくくなっている（符号ｊ参照）。
【００５２】
図１３は、本発明の実施例１に係る画像編集システム５００の構成を示す図である。実施例１に係る画像編集システム５００では、図２の基本となる実施例に係る画像編集システム５００の画像処理装置１００にマスク補正部８０が追加される。以下、図１３の実施例１に係る画像編集システム５００と、図２の基本となる実施例に係る画像編集システム５００との相違点を説明する。
【００５３】
マスク補正部８０は、操作受付部４０を介してコンソール端末装置２００から設定されるマスクを補正してデプスマップ加工部２０に出力する。具体的にはマスク補正部８０はマスクのオブジェクト境界に、ぼかし処理を施す。デプスマップ加工部２０は、マスク補正部８０により補正されたマスクをもとに生成される、複数のオブジェクト領域の各デプスマップをアルファブレンドする。即ちデプスマップ加工部２０は、複数のレイヤデプスマップを、各マスクで規定された係数（α値）にしたがい合成する。
【００５４】
図１４は、本発明の実施例１に係る画像編集システム５００の全体処理プロセスを説明するための図である。図１４の処理プロセスは図４の処理プロセスに、マスクぼかし処理が追加された構成である。以下、相違点について説明する。なお以下の説明では、マスクの有効領域（図では白で描いている）内の画素値を１、無効領域（図面では黒で描いている）内の画素値を０とする。
【００５５】
実施例１では操作受付部４０から出力されるレイヤ１のマスク（人物のマスク）、レイヤ２のマスク（木のマスク）及びレイヤ３のマスク（背景のマスク）は、デプスマップ加工部２０に入力される前にマスク補正部８０に入力される。マスク補正部８０は各マスクのオブジェクト境界部分にぼかし処理を施す（Ｓ１５ａ〜Ｓ１５ｂ）。具体的にはマスク補正部８０は、マスク信号のエッジ（即ち、０と１の境界）及びその近傍領域（以下、両者を総称してエッジ領域という）の値を、０と１の間の値（０と１を除く）に補正する（符号ｋ参照）。
【００５６】
デプスマップ加工部２０は、補正されたマスクのレベルに応じて、レイヤデプスマップを合成する（Ｓ２２）。これによりマスクのエッジ領域では、なだらかにデプス値が変化する合成デプスマップを生成できる。３Ｄ画像生成部３０は、この合成デプスマップを用いて画素シフト、画素補間を行う。これによりオブジェクト境界がなだらかに変化し、オブジェクト境界の不自然が目立たなくなる。
【００５７】
図１５は、レイヤデプスマップのアルファブレンドを説明するための図である。デプスマップ加工部２０は、マスク補正部８０により補正された各マスク信号の値をもとに、各レイヤデプスマップ内のデプス値のブレンド比率を決定する。各レイヤデプスマップは指定された順番に重ね合わされる。重ね合わせの順番はユーザが操作部６０から入力し、操作受付部４０を介してデプスマップ加工部２０に設定される。本明細書の例では背景のレイヤデプスマップ、木のレイヤデプスマップ、人物のデプスマップの順番で重ね合わされる。
【００５８】
図１５においてレイヤｎ（ｎは自然数）のマスク信号のエッジ領域は、０％から５０％への垂直な立ち上がりと、５０％から１００％へのなだらかな傾斜から構成される。各パーセンテージの数値は合成比率を示している。このレイヤｎのマスク信号を用いて、レイヤｎのデプス信号（以下、レイヤｎデプスという）と、レイヤΣ（ｎ−１）の合成デプス信号（以下、レイヤΣ（ｎ−１）デプスという）をブレンドする。レイヤΣ（ｎ−１）デプスは、レイヤ１からレイヤ（ｎ−１）までの各デプス信号をブレンドした合成デプス信号である。即ち、レイヤｎデプスがブレンドされる時点までに生成された合成デプス信号である。
【００５９】
レイヤｎのマスク信号の合成比率が０％の期間（符号ｌ参照）では、レイヤｎデプスが０％、レイヤΣ（ｎ−１）デプスが１００％でブレンドされる。即ち、レイヤΣ（ｎ−１）デプスはレイヤｎデプスにより全く上書きされず、レイヤΣ（ｎ−１）デプスがそのまま出力される（符号ｏ参照）。レイヤｎのマスク信号の合成比率が５０％の時点（符号ｐ参照）では、レイヤｎデプスが５０％、レイヤΣ（ｎ−１）デプスが５０％の比率でブレンドされる。
【００６０】
レイヤｎのマスク信号の合成比率が５０％〜１００％の期間（符号ｍ参照）では、合成比率が変化しながらレイヤｎデプスとレイヤΣ（ｎ−１）デプスがブレンドされる。例えばレイヤｎのマスク信号の合成比率が７５％の時点（符号ｑ参照）では、レイヤｎデプスが７５％、レイヤΣ（ｎ−１）デプスが２５％の比率でブレンドされる。レイヤｎのマスク信号の合成比率が１００％に到達した時点（符号ｒ参照）から、レイヤｎデプスが１００％、レイヤΣ（ｎ−１）デプスが０％の比率でブレンドされる。レイヤｎのマスク信号の合成比率が１００％の期間（符号ｎ参照）では、レイヤΣ（ｎ−１）デプスはレイヤｎデプスにより完全上書きされ、結果としてレイヤｎデプスがそのまま出力される（符号ｓ参照）。これによりレイヤΣｎデプスが生成される。レイヤΣｎデプスは、レイヤ１からレイヤｎまでの各デプス信号をブレンドした合成デプス信号である。
【００６１】
なおレイヤデプスのブレンドの際に、レイヤΣ（ｎ−１）デプスのマスク信号は使用されない。レイヤΣｎデプスのマスク信号のみにより、レイヤΣｎデプスとレイヤΣ（ｎ−１）デプスとの合成比率が決定される。したがってレイヤデプスの重なりが多い領域では、下のレイヤデプスのデプス値はレイヤデプスが重ねられるにつれ薄まっていく。
【００６２】
以下、マスク信号のエッジをぼかす処理について具体的に説明する。このぼかし処理は以下の３つの基本ステップからなる。まずオリジナルのマスク信号のエッジを、対象となるオブジェクトの輪郭に対して適切な位置になるように移動させる。これによりマスクのオブジェクト領域の面積が拡大または縮小する。次に当該マスクのエッジに傾斜をつける。最後に傾斜をつけたマスクのエッジ領域を制限する。
【００６３】
以下、上述のぼかし処理をローパスフィルタを用いて行う方法を説明する。まず黒い部分のレベルが０、白い部分のレベルが１であるマスクにローパスフィルタをかける。これにより、平坦部分のレベルは変化させずに、エッジ領域に０と１の中間のレベルの傾斜が付加されたマスクを生成できる。
【００６４】
さらにマスクのエッジ領域のうち、マスクの有効領域に対して外側にのみ傾斜を付け、内側は加工前のレベルを保持したい場合がある。またその逆に、マスクのエッジ領域のうち、マスクの有効領域に対して内側にのみ傾斜を付け、外側は加工前のレベルを保持したい場合もある。これらの場合を考慮して、マスクの有効領域を拡大または縮小して、マスク信号のエッジの位置を任意に移動させる処理を、ぼかしマスク生成用のローパスフィルタの前段に挿入する。
【００６５】
さらに、ぼかし処理によりマスクのエッジが意図した量より大きく拡大することを防ぐために、ぼかされたエッジ領域を制限する処理を、ぼかしマスク生成用のローパスフィルタの後段に挿入する。以下、このローパスフィルタを用いたぼかし処理について、より具体的に説明する。
【００６６】
図１６は、マスク補正部８０の構成例を示す図である。マスク補正部８０は第１ローパスフィルタ８１、二値化部８２、第２ローパスフィルタ８３、クリッピング部８４を含む。これらの構成もハードウエアのみ、ソフトウエアのみ、またはそれらの組合せによっていろいろな形で実現できる。
【００６７】
１段目の第１ローパスフィルタ８１は、オリジナルのマスク信号にローパスフィルタをかける。二値化部８２は第１ローパスフィルタ８１から出力される、エッジに傾斜がついたマスク信号を第１閾値を用いて二値化する。第１ローパスフィルタ８１および二値化部８２の作用により、オリジナルのマスク信号のエッジの位置が移動される。
【００６８】
２段目の第２ローパスフィルタ８３は、二値化部８２から出力されるエッジの位置が移動されたマスク信号にローパスフィルタをかける。これによりマスク信号のエッジに傾斜がつけられる。クリッピング部８４は第２ローパスフィルタ８３から出力される、エッジに傾斜がついたマスク信号を第２閾値を用いて、第２閾値以下の信号を０にクリッピングする。
【００６９】
図１７は、図１６のマスク補正部８０によるマスクぼかし処理を説明するための図である。図１７の左に処理フローを、中央にマスクの信号波形を、右にマスクの画像を示す。図１７の説明ではマスクの各画素値が８ビットで規定され、マスクの画像において黒が０(0b00000000)、白が２５５(0b11111111)であるとする。通常、オリジナルのマスク信号は０または２５５のみを持つ二値信号である。
【００７０】
オリジナルのマスク信号は、第１ローパスフィルタ８１に入力される。第１ローパスフィルタ８１はマスク信号のエッジの位置をかえる前処理として、オリジナルのマスク信号にローパスフィルタをかける（Ｓ８１）。具体的には第１ローパスフィルタ８１はオリジナルのマスク信号を、エッジ領域が傾斜を持つマスク信号に加工する。傾斜部分の値は０と２５５の間の値（０と２５５を除く）に加工される。
【００７１】
次に二値化部８２はマスク信号のエッジの位置をかえる前処理として、加工されたマスク信号の値と第１閾値を比較してマスク信号を二値化する（Ｓ８２）。具体的にはマスク信号の値が第１閾値よりも大きい場合はマスク信号の値を２５５に設定し、小さい場合は０に設定する。これにより再び、マスク信号は０または２５５のみを持つ二値信号となる。
【００７２】
第１閾値が０と２５５の中間値である１２７より小さく設定される場合、二値化されたマスク信号のエッジは、オリジナルのマスク信号のエッジよりも外側に移動される。この場合、マスクの画像内において白の面積が拡大する。一方、第１閾値が中間値である１２７より大きく設定される場合、二値化されたマスク信号のエッジは、オリジナルのマスク信号のエッジよりも内側に移動される。この場合、マスクの画像内において白の面積が縮小する。なお第１閾値が中間値である１２７に設定される場合、二値化されたマスク信号のエッジは、オリジナルのマスク信号におけるエッジの位置と同じになる。
【００７３】
図１７ではマスク信号のエッジの位置を外側に移動させる例を示している。第１ローパスフィルタ８１のタップ数や係数などのフィルタ特性および二値化部８２の第１閾値を可変することにより、マスク信号のエッジの位置を任意に調整できる。
【００７４】
図１８は、第１ローパスフィルタ８１によりマスク信号に形成される傾斜と、二値化部８２に設定される第１閾値の関係を説明するための図である。同じエッジの位置のマスク信号を生成する場合において、傾斜が緩くて長い場合は第１閾値が高くなり、傾斜が短く急な場合は第１閾値が低くなる関係にある。ユーザが操作部６０から第１ローパスフィルタ８１のフィルタ特性および二値化部８２の第１閾値を入力することにより、操作受付部４０を介して第１ローパスフィルタ８１および二値化部８２に設定される。ユーザは操作部６０から、第１ローパスフィルタ８１のフィルタ特性および二値化部８２の第１閾値の少なくとも一方を調整することにより、マスク信号のエッジの位置を任意に調整できる。なお第１閾値を低く設定したほうが傾斜を短くできるため、第１ローパスフィルタ８１のタップ数を減らすことができ、第１ローパスフィルタ８１を簡素化できる。
【００７５】
図１７に戻る。エッジの位置が移動されたマスク信号は第２ローパスフィルタ８３に入力される。第２ローパスフィルタ８３は、エッジの位置が移動されたマスク信号にローパスフィルタをかける（Ｓ８３）。これにより、再びエッジ領域に傾斜が付加されたぼかしマスクが生成される。
【００７６】
次にクリッピング部８４は、第２ローパスフィルタ８３により生成されたエッジ領域に傾斜を持つマスク信号の値と第２閾値を比較して、当該マスク信号の値が第２閾値以下のときマスク信号の値を０に設定する（Ｓ８４）。即ちエッジ領域において白側の傾斜は残し、黒側の傾斜は急峻に落とす。これにより第２閾値より大きい領域では白からグレーに変化する傾斜がつき、第２閾値以下の領域では黒のマスクを生成できる。このクリッピング処理により、マスク内のぼかしをかけた領域を制限し、マスクのエッジ領域が意図した大きさより、大きくなることを抑制できる。
【００７７】
図１７では、ぼかし処理を水平方向にかける例を示しているが、二次元ローパスフィルタを用いることにより、ぼかし処理を水平方向と垂直方向の両方にかけることもできる。その際、水平方向と垂直方向で係数が異なるフィルタを用いてもよい。その場合、水平方向と垂直方向とで個別にマスク信号のエッジの位置、傾斜の度合い、ぼかし幅を調整できる。
【００７８】
また水平方向と垂直方向で係数が異なり、かつ斜め方向は縦横の係数の中間値を持つ楕円状の二次元ローパスフィルタを用いてもよい。楕円状の二次元ローパスフィルタを用いれば、水平方向と垂直方向とで個別にマスク信号のエッジの位置および傾斜の度合い、ぼかし幅を調整でき、その調整を斜め方向に作用させることもできる。例えば、正方形のオリジナルマスクを、縦横が任意の長さで、かつ角が丸くなった長方形に加工することができる。また正方形のオリジナルマスクを、縦横の傾斜の度合いが個別かつ任意で、角においては縦横の傾斜の度合いと連続性を持ちつつなだらかに変化する傾斜を持つ全方位に任意のなだらかな傾斜がついた長方形に加工することもできる。
【００７９】
図１９は、第１ローパスフィルタ８１により付加される傾斜と、第２ローパスフィルタ８３により付加される傾斜を比較するための図である。第１ローパスフィルタ８１により付加される傾斜（符号ｔ参照）は、二値化境界位置を調整するために使用される仮の傾斜であり、二値化後には消える。したがって傾斜は一定の角度で線形に変化する傾斜でよい。第２ローパスフィルタ８３により付加される傾斜（符号ｔ参照）は、残る傾斜であるため、ユーザがその傾斜の形状も調整するとよい。例えば傾斜の上部では上が凸の、下部では下が凸の形状に調整してもよい。この形状に調整すると、クリッピングされる幅を大きくできる。
【００８０】
このように、第１ローパスフィルタ８１、第２ローパスフィルタ８３のタップ数や係数などのフィルタ特性、二値化部８２の第１閾値、クリッピング部８４の第２閾値を調整することにより、マスク信号のエッジの位置、マスクの有効領域の面積、ぼかし幅をそれぞれ自由に調整できる。また全てのレイヤのマスク信号に同一のぼかし処理をかける必要はなく、各レイヤのマスク信号ごとに個別にぼかし処理をかけてもよい。
【００８１】
以上のぼかし処理により、マスク信号のエッジを任意の位置に移動させ、マスクの有効領域の面積を変化させることができる。またエッジ領域に任意の傾きの傾斜をつけることができる。さらにマスクのぼかし領域を任意に制限することができる。
【００８２】
ぼかしマスクは、後段のデプスマップの合成で使用される。デプスマップ加工部２０は、ぼかしマスクのレベルに応じて、複数のレイヤデプスマップをアルファブレンドする。その際、ぼかしマスクのレベルに応じて、各レイヤデプスマップの合成比率が決定される。
【００８３】
以上説明したように実施例１によれば、レイヤデプスマップを合成する際、ぼかしマスクを使用することにより、合成デプスマップのオブジェクト境界部分に連続性を持たせることができる。即ちオブジェクト境界部分に大きな段差がある場合、その段差をなだらかにすることができる。したがって、この合成デプスマップをもとに生成される別視点の画像のオブジェクト境界部分を自然な境界に仕上げることができる。
【００８４】
また境界があいまいなオブジェクトに対して、不正確な輪郭で作成されたマスクを用いた場合でも、その輪郭の位置を調整することにより、生成される３Ｄ画像のオブジェクトの輪郭が不自然な輪郭となることを回避できる。
【００８５】
以下、ぼかしマスクを用いずにオブジェクト境界の不自然を目立ちにくくする方法について説明する。
【００８６】
図２０は、本発明の実施例１の変形例に係る画像編集システム５００の全体処理プロセスを説明するための図である。図２０の処理プロセスは図４の処理プロセスに、ローパスフィルタ処理が追加された構成である。以下、相違点について説明する。なお図１４の処理プロセスと異なりマスクぼかし処理が追加されない。
【００８７】
デプスマップ加工部２０は、合成デプスマップにローパスフィルタをかける（Ｓ８５）。これにより、デプスマップ内のオブジェクト境界におけるデプス値の変化がなだらかになる。ただし、ぼかしマスクを使用する方法と比較し、そのデプス値の変化をオブジェクト毎に任意に調整することはできない。また、ぼかしマスクを使用する方法では、オブジェクト境界におけるデプス値の変化だけをなだらかに加工できる。これに対して、合成デプスマップにローパスフィルタをかける方法では、オブジェクト境界だけでなくオブジェクト内部の平坦部分についても、細かなディテール（凹凸）が失われる。
【００８８】
ぼかしマスクを使用する方法と、合成デプスマップにローパスフィルタをかける処理は、各々独立で使用することもできるし、両方の処理を同時に使用することもできる。また、各々の処理の順番を入れ替えることもできる。レイヤ合成する前のデプスマップにローパスフィルタをかけて、ぼかし処理されたレイヤデプスマップを生成し、それらレイヤデプスマップをぼかしマスクを用いて合成し、さらに合成デプスマップにローパスフィルタをかけてもよい。
【００８９】
次に実施例２について説明する。実施例１ではオブジェクト境界をぼかすことにより、オブジェクト境界の不自然を目立ちにくくする方法を説明した。実施例２ではオブジェクト境界における不自然な箇所の画素をユーザの手作業によるペイント処理で修正する方法を説明する。このペイント処理は、以下の３つのプロセスからなる。まず不自然な箇所の画素を特定する。次に不自然な箇所の画素を消去する。最後に消去した箇所の画素をペイントにより再構成する。
【００９０】
上記プロセスにおいて、画素シフトと同時に画素補間する場合、不自然な箇所の特定が困難である。また画素補間しない場合でも、シフトされた画素が欠落画素の周辺にまばらに存在する状態が発生し得る。その場合、まばらに存在するシフトされた画素を消去してから、あらためてペイントによる画素の再描画を行う必要がある。これらは、ペイント作業の工数を増やす要因となっている。
【００９１】
図２１は、本発明の実施例２に係る画像編集システム５００によるフィルオフ機能を説明するための図である。フィルオフ機能は、以下の３つの機能を含む。広い欠落画素領域が生じるのは画素シフト量が大きいときである。第１機能は、画素シフト量が大きいときには画素補間を停止することにより意図的に欠落画素を残す機能である。第２機能は欠落画素がまばらでなくカタマリで生じる状態を作り出す機能である。具体的には、注目画素だけでなくその周辺画素についても画素シフト量を監視し、周辺画素を含めたいずれかの画素で、画素シフト量が大きいときに画素補間を停止する。第３機能は、発生した欠落画素を補間する代わりに特定色の画素を埋めることにより、欠落画素領域をユーザに認識しやすくする。
【００９２】
図２１において図１１及び図１２と同様に、画素シフトにより発生する欠落画素領域の面積は、図１０のその面積より大きくなっている（符号ｖ参照）。図２１では欠落画素をカタマリで発生させ、欠落画素領域を特定色の画素で埋めている（符号ｗ参照）。ユーザはペイント作業により、その特定色の欠落画素領域を描画して修正する（符号ｘ参照）。
【００９３】
図２２は、本発明の実施例２に係る３Ｄ画像生成部３０の構成を示す図である。実施例２に係る３Ｄ画像生成部３０は、画素シフト部３１、監視領域設定部３２、画素補間部３３を含む。これらの構成もハードウエアのみ、ソフトウエアのみ、またはそれらの組合せによっていろいろな形で実現できる。
【００９４】
画素シフト部３１は、デプスマップ加工部２０により加工されたデプスマップをもとに２Ｄ入力画像を画素シフトする。画素補間部３３は、画素シフト部３１による画素シフトにより発生する欠落画素を補間する。基本的に欠落画素をその周辺画素で補間する。画素補間部３３は、欠落画素を補間する際、隣接画素とのデプス値の変化量（以下、デプスの微分値という）が設定値より大きい画素の補間をスキップする。当該設定値はユーザが操作部６０から調整可能であり、当該設定値を調整することにより補間スキップ処理の感度を調整できる。
【００９５】
画素補間部３３は、対象画素およびその周辺画素のうち、デプスの微分値が当該設定値より大きい画素が少なくとも一つ存在する場合、対象画素を欠落させる。この欠落された画素も補間をスキップさせる。監視領域設定部３２は対象画素およびその周辺画素で規定される監視領域を設定する。当該監視領域の面積および／または形状は、固定であってもよいし可変であってもよい。
【００９６】
監視領域設定部３２は、外部設定されるパラメータにしたがい当該監視領域を設定できる。当該パラメータはユーザが操作部６０から調整可能である。例えば、対象画素を基準として上方向画素数、下方向画素数、左方向画素数、右方向画素数、膨張率の５つのパラメータにより規定される監視領域を設定できる。したがって対象画素を中心として左右非対称な監視領域を設定することもできる。例えば、監視領域設定部３２は、画素シフト部３１により２Ｄ入力画像が左にシフトされる場合は対象画素の左側より右側の面積が広い監視領域を設定し、２Ｄ入力画像が右にシフトされる場合は対象画素の右側より左側の面積が広い監視領域を設定することもできる。
【００９７】
画素補間部３３は、欠落画素に周辺画素を補間する代わりに、特定色の画素を埋め込んでもよい。例えば赤などの目立ちやすい色の画素を埋め込んでもよい。
【００９８】
以下、具体例を挙げながら上述の３つの機能についてより詳細に説明する。まず第１機能について説明する。上述したように画素シフト量が大きいときは、画素シフト量の基準となるデプス値の変化量も大きくなる。デプスの微分値が設定値より大きい場合には、画素補間によるオブジェクト境界の不自然が顕著になると判断して画素補間を停止する。デプスの微分値は、対象画素のデプス値から、水平方向に１画素ずれた画素のデプス値を減算することにより求められる。
【００９９】
入力画像を左に画素シフトして別の画像を生成する場合、オブジェクト境界の不自然はシフトされた画素の右側で発生する。よってこの場合、対象画素のデプスの変化を右側だけで監視して対象画素の左側に影響を与えないようにするとよい。同様に入力画像を右に画素シフトして別の画像を生成する場合、対象画素のデプスの変化を左側だけで監視して対象画素の右側に影響を与えないようにするとよい。
【０１００】
次に第２機能について説明する。欠落画素をカタマリで発生させるために、注目画素だけでなくその周辺画素についても、画素シフト量に対応するデプスの微分値を監視する。周辺の監視領域が広いほど、発生する欠落画素のカタマリの面積が大きくなるが、あまり広すぎると、正常にシフトされ修正の必要のない画素まで欠落させてしまうことになる。よって適切な監視領域の設定が必要となる。
【０１０１】
図２３（ａ）−（ｅ）は、監視領域の複数の例を示す。図２３（ａ）は十字型、図２３（ｂ）は手裏剣型、図２３（ｃ）はダイヤ型、図２３（ｄ）は八角形型、図２３（ｅ）は長方形型の監視領域である。これらの形状は膨張率により設定可能である。十字型は膨張率を０％、手裏剣型は膨張率を２５％、ダイヤ型は膨張率を５０％、八角形型は膨張率を７５％、長方形型は膨張率を１００％に設定することにより生成される。
【０１０２】
この例では膨張率は、十字線とその十字線を内接する長方形との関係により定義される。具体的には当該長方形の中心と頂点とを結ぶ線分の長さを１００％とした場合における、その線分の伸縮率で膨張率は定義される。即ち監視領域は、十字線の４つの端点と、それぞれ伸縮された線分の４つの端点とを結んで形成される。膨張率が０％のときは当該線分は存在しなくなるため十字線の４つの端点を結んで形成される。これら十字型から長方形型まで形状の異なる監視領域を自由に設定できることにより、ユーザの意図に沿った形状の、欠落画素のカタマリを生成できる。
【０１０３】
以下、５つの設定パラメータを用いて監視領域を設定する方法を具体例を挙げながら説明する。使用する５つの設定パラメータは、上方向の画素数、下方向の画素数、左方向の画素数、右方向の画素数、膨張率である。膨張率は図２３（ａ）−（ｅ）で説明した膨張率である。
【０１０４】
図２４は、５つの設定パラメータにより生成される監視領域の具体例を説明するための図である（その１）。この具体例では上方向の画素数Ｔが２、下方向の画素数Ｂが６、左方向の画素数Ｌが４、右方向の画素数Ｒが６に設定される。
【０１０５】
図２５は、５つの設定パラメータにより生成される監視領域の具体例を説明するための図である（その２）。図２５のグラフには図２４の設定値を前提に、膨張率Ｐが２５％、膨張率Ｐが５０％、膨張率Ｐが７５％、膨張率Ｐが１００％の場合の監視領域が描かれている。このように上記５つの設定パラメータをそれぞれ独立に自由に設定することにより、上下左右非対称な形状の監視領域を任意に設定できる。
【０１０６】
図２６は、デプス信号の微分値の監視およびフィルオフを説明するための図である（右眼画像）。右眼画像は、入力画像を左に画素シフトして生成される。画素シフト部３１は、デプス信号をもとに入力画像を画素シフトする。図２６では画素ｆ−ｋが左に３画素分、シフトされる。そのシフトの結果、画素ｆ−ｋの右側に３画素の欠落画素領域が発生する。
【０１０７】
画素補間部３３は、フィルオフするか否かを判定するためにデプス信号の微分値を生成する。左に画素シフトする場合、注目画素のデプス値と左隣画素のデプス値の差分を、デプス信号の微分値(X(n)-X(n-1))とする。欠落画素はシフトされた画素の右側に発生するため、デプス信号の微分値の負側を抽出することにより、欠落画素の位置を特定できる。負側が抽出されたデプス信号の微分値が設定値を超える場合、画素補間部３３はその画素をフィルオフする。フィルオフされる画素は欠落画素領域の右端の画素だけであるため、その左側の２画素は原則として、フィルオフされない。
【０１０８】
図２６では、デプス信号の微分値の監視領域を左に３画素、右に０画素、拡張している。したがって画素補間部３３は対象画素とその左隣の２画素の合計３画素の、デプス信号の微分値を監視することになる。その３画素のいずれかのデプス信号の微分値が設定値を超えた場合、画素補間部３３は対象画素をフィルオフする。これにより図２６の一番下に示すような適切なフィルオフ領域を得ることができる。よって欠落画素領域について適切にフィルオフすることができる。また、監視領域の右側の拡張は０画素であるため、フィルオフする必要がない領域はフィルオフされない設定となっている。
【０１０９】
図２７は、デプス信号の微分値の監視およびフィルオフを説明するための図である（左眼画像）。左眼画像は、入力画像を右に画素シフトして生成される。画素シフト部３１は、デプス信号をもとに入力画像を画素シフトする。図２７では画素ｆ−ｈが右に３画素分、シフトされる。そのシフトの結果、画素ｆ−ｈの左側に３画素の欠落画素領域が発生する。
【０１１０】
画素補間部３３は、フィルオフするか否かを判定するためにデプス信号の微分値を生成する。右に画素シフトする場合、注目画素のデプス値と右隣画素のデプス値の差分を、デプス信号の微分値(X(n+1)-X(n))とする。欠落画素はシフトされた画素の左側に発生するため、デプス信号の微分値の正側を抽出することにより、欠落画素の位置を特定できる。正側が抽出されたデプス信号の微分値が設定値を超える場合、画素補間部３３はその画素をフィルオフする。フィルオフされる画素は欠落画素領域の左端の画素だけであるため、その右側の２画素分は原則として、フィルオフされない。
【０１１１】
図２７では、デプス信号の微分値の監視領域を右に３画素、左に０画素、拡張している。したがって画素補間部３３は対象画素とその右隣の２画素の合計３画素の、デプス信号の微分値を監視することになる。その３画素のいずれかのデプス信号の微分値が設定値を超えた場合、画素補間部３３は対象画素をフィルオフする。これにより、図２７の一番下に示すような適切なフィルオフ領域を得ることができる。よって欠落画素領域について適切にフィルオフすることができる。また、監視領域の左側の拡張は０画素であるため、フィルオフする必要がない領域はフィルオフされない設定となっている。
【０１１２】
このように、監視領域を左右で非対称に設定する機能を有することにより、画素シフトによって生じる欠落画素領域を、画素シフトの特性と方向に従って適切に特定することができる。そして特定した欠落画素領域のフィルオフを適切に行うことができる。
【０１１３】
次に第３機能について説明する。画素補間部３３は、フィルオフにより補間されない欠落画素に対して周辺画素と異なる、赤色等の画素を書き込む。これにより、欠落画素の位置を特定しやすくなる。書き込む画素は赤色に限らず他の色でもよい。例えば原画に存在する色と異なる任意の色の画素を書き込むことにより、欠落画素の位置を認識しやすくさせることができる。また、書き込む画素の色を黒や白にすれば、ペイント作業時に画素を消す作業を省略させることができる。書き込む画素の画素値を任意に変更可能に設計することにより、目的に応じて書き込む画素の色を任意に選択できる。
【０１１４】
以上説明したように実施例２によれば、画素シフトにより発生する欠落画素に対する画素補間をスキップする機能を備えたことにより、画素補間によりオブジェクト境界が不自然になることを回避できる。また対象画素のデプスの微分値だけでなく、対象画素の周辺画素のデプスの微分値も監視することにより、欠落画素がまばらに発生することを回避できる。ユーザがペイント作業する際、欠落画素周辺の欠落していない画素を消去する作業が必要となるが、欠落画素をブロックで発生させることにより、ペイント作業を簡略化させることができる。また画素補間しない欠落画素に特定色の画素を埋め込むことにより、ペイント作業により編集されるべき欠落画素領域をユーザに認識しやすくできる。
【０１１５】
以上説明した実施例１もしくは実施例２に係る画像編集システム５００を単独で使用することにより、または実施例１と実施例２の組み合わせに係る画像編集システム５００を使用することにより、２Ｄ画像から３Ｄ画像を生成する際に、オブジェクト境界部分の画像品質を向上させることができる。
【０１１６】
次に実施例３について説明する。実施例１では、デプスマップを加工する際の基準となるマスクに対して以下の処理を施した。マスクの有効エリアの面積を可変する。マスクのエッジ部分に傾斜をつける（具体的には、０または１ではなく、０．５などの中間値を作る）。マスクにつけた傾斜（中間値）の値に応じて、デプスマップをαブレンド合成する。合成されたデプスマップにローパスフィルタをかけて、急峻な変化を抑圧する。
【０１１７】
実施例１では、これらの処理により、合成デプスマップのオブジェクトの境界部分に連続性を持たせ、この合成デプスマップを基に生成された画像（３Ｄ画像）のオブジェクトの境界部分の不自然を目立たなくすることを示した。
【０１１８】
この実施例１に係る方法では、マスクの有効エリアの面積を可変する、マスクのエッジ部分に傾斜をつける、の各々の処理のためにマスクにフィルタ演算を施す必要がある。つまり上述したように、マスクエッジの加工には以下の２つのフィルタを用いる。マスクのエッジポジションを移動させ、マスクの有効エリアの面積を可変するために用いるフィルタと、マスクに応じたデプスマップのブレンド比率を制御するために、マスクエッジに傾斜を付けるためのフィルタを用いる。
【０１１９】
しかしながら、フィルタ演算は１つの画素に対して、フィルタのタップ数に相当する回数だけ積和演算する必要がある。フィルタのタップ数が多い場合、処理にかかる演算量も増加する。
【０１２０】
さらに、二次元フィルタを用いて水平と垂直の両方にフィルタ処理する場合、演算量はフィルタの面積に比例して増加する。例えば、フィルタのタップ数がｎであったとすると、水平または垂直のどちらか一方にだけ一次元フィルタ処理する場合の積和演算回数はｎ回である。これに対して、水平と垂直の両方に二次元フィルタ処理する場合、フィルタの形状が円形であると仮定すると積和演算回数はπ／４＊ｎ２回となる。即ち二次元フィルタ処理の積和演算回数は、フィルタのタップ数ｎの二乗に比例して増加する。この演算量の多さは処理時間の増大を招く。
【０１２１】
実施例３では実施例１と同等の目的を達するためのフィルタ演算を、実施例１の方法よりも少ない演算量で行うことを目的とする。演算量の増加を抑圧し、処理時間を短縮する。
【０１２２】
実施例３でも合成デプスマップのオブジェクトの境界部分に連続性を持たせ、この合成デプスマップを基に生成された画像（３Ｄ画像）のオブジェクトの境界部分の不自然を目立たなくする。そのためにデプスマップを加工する際の基準となるマスクに対して、エッジを移動させたりエッジに傾斜をつけたりする処理を行う。その際、この処理の一部をなすフィルタ演算を実施例１の方法よりも少ない演算量で行うことにより演算量の増加を抑圧し処理時間を短縮する。
【０１２３】
具体的には当該フィルタ演算の過程において、フィルタ処理する前のマスクの有効エリアまたは無効エリアの一方に対するフィルタ演算処理をスキップする。詳細は後述するが、マスクの有効エリアまたは無効エリアの一方に対するフィルタ演算処理をスキップしても、実施例１の処理と等価の効果を得ることができる。またマスクの全画素に対してフィルタ演算する必要がなくなるため、演算量の増加を抑圧し処理時間を短縮できる。
【０１２４】
図２８は、実施例３に係るマスク補正部８０の構成例を示す図である。実施例３に係るマスク補正部８０は図１６のマスク補正部８０に第１レベル判定部８６及び第２レベル判定部８７が追加された構成である。以下、図１６のマスク補正部８０との相違点について説明する。
【０１２５】
第１レベル判定部８６は、第１ローパスフィルタ８１に入力されるマスク信号のレベルを判定し、その判定結果に応じて、第１ローパスフィルタ８１による、マスク信号におけるフィルタ処理の対象エリアを制限する。第２レベル判定部８７は、第２ローパスフィルタ８３に入力されるマスク信号のレベルを判定し、その判定結果に応じて、第２ローパスフィルタ８３による、マスク信号におけるフィルタ処理の対象エリアを制限する。以下、具体的に説明する。
【０１２６】
図２９は、実施例３に係る第１レベル判定部８６による第１ローパスフィルタ８１のフィルタ対象エリアの制限処理を説明するためのフローチャートである。第１レベル判定部８６は、マスクエッジの移動方向が外側であるか内側であるか特定する（Ｓ８６１）。マスクエッジの位置を外側に移動させるとマスク信号の有効エリアが広がり、内側に移動させるとマスク信号の有効エリアが狭まる。
【０１２７】
外側に移動させる場合にて（Ｓ８６１の外）、第１レベル判定部８６は、第１ローパスフィルタ８１に入力されるマスク信号の画素レベルを判定する（Ｓ８６２）。当該画素レベルがローレベル（本実施例では無効画素に相当する）の場合（Ｓ８６２のＬ）、第１ローパスフィルタ８１は当該画素をフィルタ処理する（Ｓ８６３）。当該画素レベルがハイレベル（本実施例では有効画素に相当する）の場合（Ｓ８６２のＨ）、当該画素のフィルタ処理をスキップする。当該マスク信号の全画素の処理が終了するまで（Ｓ８６４のＹ）、ステップＳ８６２、Ｓ８６３の処理を繰り返す（Ｓ８６４のＮ）。このようにマスク信号の有効エリアを広げる場合、第１レベル判定部８６は、マスク信号の有効エリアに対する第１ローパスフィルタ８１によるフィルタ処理をスキップさせる。
【０１２８】
マスクエッジの位置を内側に移動させる場合にて（Ｓ８６１の内）、第１レベル判定部８６は、第１ローパスフィルタ８１に入力されるマスク信号の画素レベルを判定する（Ｓ８６５）。当該画素レベルがハイレベルの場合（Ｓ８６５のＨ）、第１ローパスフィルタ８１は当該画素をフィルタ処理する（Ｓ８６６）。当該画素レベルがローレベルの場合（Ｓ８６５のＬ）、当該画素のフィルタ処理をスキップする。当該マスク信号の全画素の処理が終了するまで（Ｓ８６７のＹ）、ステップＳ８６５、Ｓ８６６の処理を繰り返す（Ｓ８６７のＮ）。このようにマスク信号の有効エリアを狭める場合、第１レベル判定部８６は、マスク信号の無効エリアに対する第１ローパスフィルタ８１によるフィルタ処理をスキップさせる。
【０１２９】
図３０は、実施例３に係る第２レベル判定部８７による第２ローパスフィルタ８３のフィルタ対象エリアの制限処理を説明するためのフローチャートである。第２レベル判定部８７は、二値化部８２による二値化によりエッジの位置が移動された第２ローパスフィルタ８３に入力されるマスク信号の画素レベルを判定する（Ｓ８６８）。当該画素レベルがハイレベルの場合（Ｓ８６８のＨ）、第２ローパスフィルタ８３は当該画素をフィルタ処理する（Ｓ８６９）。当該画素レベルがローレベルの場合（Ｓ８６８のＬ）、当該画素のフィルタ処理をスキップする。当該マスク信号の全画素の処理が終了するまで（Ｓ８７０のＹ）、ステップＳ８６８、Ｓ８６９の処理を繰り返す（Ｓ８７０のＮ）。このようにマスク信号のエッジに傾斜を付ける場合、第２レベル判定部８７は、マスク信号の無効エリアに対する第２ローパスフィルタ８３によるフィルタ処理をスキップさせる。以下、具体例を挙げながらより詳細に説明する。
【０１３０】
まず、マスクのエッジポジションを移動させ、マスクの有効エリアの面積を可変するために用いる第１ローパスフィルタ８１の処理について説明する。最初に第１ローパスフィルタ８１を用いてマスクエッジ幅を広げる場合について説明する。
【０１３１】
図３１（ａ）−（ｃ）は全画素に対してフィルタ演算してマスクエッジ幅を広げる処理を説明するための図である。図３２（ａ）−（ｃ）はマスクの無効画素に対してのみフィルタ演算してマスクエッジ幅を広げる処理を説明するための図である。図３１（ａ）に示す第１ローパスフィルタ８１も図３２（ａ）に示す第１ローパスフィルタ８１も同じ形状である。
【０１３２】
図３１（ｂ）は、フィルタリング対象となるマスクＭ３１（点線）の全画素に対して図３１（ａ）に示す第１ローパスフィルタ８１を用いてフィルタ演算した結果を示す。図３２（ｂ）は、フィルタリング対象となるマスクＭ３４（点線）の無効画素に対して図３２（ａ）に示す第１ローパスフィルタ８１を用いてフィルタ演算した結果を示す。フィルタ演算の結果、マスクＭ３２（実線）、マスクＭ３５（実線）ともフィルタ演算した部分だけに傾斜が付き、フィルタ演算しなかった部分はフィルタ演算前のマスク波形のままである。図３１（ｂ）ではフィルタリング後のマスクＭ３２（実線）はマスクエッジの内外に傾斜が付されるが、図３２（ｂ）ではフィルタリング後のマスクＭ３５（実線）はマスクエッジの外に傾斜が付されるが内には傾斜が付されない。
【０１３３】
図３１（ｃ）は、図３１（ｂ）に示すフィルタリング後のマスクＭ３２（実線）を第１閾値で二値化した結果を示す。図３２（ｃ）は、図３２（ｂ）に示すフィルタリング後のマスクＭ３５（実線）を第１閾値で二値化した結果を示す。マスクエッジ幅を広げる場合、第１閾値をゼロ付近に設定する。マスクエッジ幅を広げる場合、二値化前のマスクのエッジの傾斜は第１閾値付近（即ち、マスクのレベルが低い部分）にのみ付されていればよい。マスクのレベルが高い部分の傾斜は、その有無が二値化の結果に影響を与えない。エッジ幅が広がった、図３１（ｃ）の二値化後のマスクＭ３３（太実線）と図３２（ｃ）の二値化後のマスクＭ３６（太実線）の形状は同じである。
【０１３４】
しかしながら、図３１（ａ）−（ｃ）のようにマスクの全画素に対してフィルタ演算する場合と比較して、図３２（ａ）−（ｃ）のようにマスクの無効画素に対してのみフィルタ演算する場合の演算量は少ない。その差は、マスクの有効画素エリアが広ければ広いほど顕著になる。マスクの無効画素に対してのみフィルタ演算することにより、マスクエッジ幅を好適に広げつつ、演算量の増加を抑圧し処理時間を短縮できる。
【０１３５】
次に第１ローパスフィルタ８１を用いてマスクエッジ幅を狭める場合について説明する。図３３（ａ）−（ｃ）は全画素に対してフィルタ演算してマスクエッジ幅を狭める処理を説明するための図である。図３４（ａ）−（ｃ）はマスクの有効画素に対してのみフィルタ演算してマスクエッジ幅を狭める処理を説明するための図である。図３３（ａ）に示す第１ローパスフィルタ８１も図３４（ａ）に示す第１ローパスフィルタ８１も同じ形状である。
【０１３６】
図３３（ｂ）は、フィルタリング対象となるマスクＭ３７（点線）の全画素に対して図３３（ａ）に示す第１ローパスフィルタ８１を用いてフィルタ演算した結果を示す。図３４（ｂ）は、フィルタリング対象となるマスクＭ４０（点線）の有効画素に対して図３４（ａ）に示す第１ローパスフィルタ８１を用いてフィルタ演算した結果を示す。フィルタ演算の結果、マスクＭ３８（実線）、マスクＭ４１（実線）ともフィルタ演算した部分だけに傾斜が付き、フィルタ演算しなかった部分はフィルタ演算前のマスク波形のままである。図３３（ｂ）ではフィルタリング後のマスクＭ３８（実線）はマスクエッジの内外に傾斜が付されるが、図３４（ｂ）ではフィルタリング後のマスクＭ４１（実線）はマスクエッジの内に傾斜が付されるが外には傾斜が付されない。
【０１３７】
図３３（ｃ）は、図３３（ｂ）に示すフィルタリング後のマスクＭ３８（実線）を第１閾値で二値化した結果を示す。図３４（ｃ）は、図３４（ｂ）に示すフィルタリング後のマスクＭ４１（実線）を第１閾値で二値化した結果を示す。マスクエッジ幅を狭める場合、第１閾値を最大値付近に設定する。マスクエッジ幅を狭める場合、二値化前のマスクのエッジの傾斜は第１閾値付近（即ち、マスクのレベルが高い部分）にのみ付されていればよい。マスクのレベルが低い部分の傾斜は、その有無が二値化の結果に影響を与えない。エッジ幅が狭まった、図３３（ｃ）の二値化後のマスクＭ３９（太実線）と図３４（ｃ）の二値化後のマスクＭ４２（太実線）の形状は同じである。
【０１３８】
しかしながら、図３３（ａ）−（ｃ）のようにマスクの全画素に対してフィルタ演算する場合と比較して、図３４（ａ）−（ｃ）のようにマスクの有効画素に対してのみフィルタ演算する場合の演算量は少ない。その差は、マスクの無効エリアが広ければ広いほど顕著になる。マスクの有効画素に対してのみフィルタ演算することにより、マスクエッジ幅を好適に狭めつつ、演算量の増加を抑圧し処理時間を短縮できる。
【０１３９】
次にマスクに応じたデプスマップのブレンド比率を制御するために、マスクエッジに傾斜を付けるための第２ローパスフィルタ８３の処理について説明する。
【０１４０】
図３５（ａ）−（ｃ）は全画素に対してフィルタ演算してマスクエッジに傾斜を付ける処理を説明するための図である。図３６（ａ）−（ｃ）はマスクの有効画素に対してのみフィルタ演算してマスクエッジに傾斜を付ける処理を説明するための図である。図３５（ａ）に示す第２ローパスフィルタ８３も図３６（ａ）に示す第２ローパスフィルタ８３も同じ形状である。
【０１４１】
図３５（ｂ）は、フィルタリング対象となるマスクＭ４３（点線）の全画素に対して図３５（ａ）に示す第２ローパスフィルタ８３を用いてフィルタ演算した結果を示す。図３６（ｂ）は、フィルタリング対象となるマスクＭ４６（点線）の有効画素に対して図３６（ａ）に示す第２ローパスフィルタ８３を用いてフィルタ演算した結果を示す。フィルタ演算の結果、マスクＭ４４（実線）、マスクＭ４７（実線）ともフィルタ演算した部分だけに傾斜が付き、フィルタ演算しなかった部分はフィルタ演算前のマスク波形のままである。図３５（ｂ）ではフィルタリング後のマスクＭ４４（実線）はマスクエッジの内外に傾斜が付されるが、図３６（ｂ）ではフィルタリング後のマスクＭ４７（実線）はマスクエッジの内に傾斜が付されるが外には傾斜が付されない。
【０１４２】
図３５（ｃ）は、図３５（ｂ）に示すフィルタリング後のマスクＭ４４（実線）において、第２閾値より下のレベルの値をゼロにクリッピング処理した結果を示す。図３６（ｃ）は、図３６（ｂ）に示すフィルタリング後のマスクＭ４７（実線）において、第２閾値より下のレベルの値をゼロにクリッピング処理した結果を示す。第２閾値はマスクレベルの中間付近のレベルに設定する。第２ローパスフィルタ８３及びクリッピング部８４による処理の目的は、マスクエッジの高レベル側に傾斜を付け、低レベル側の値をゼロにすることである。従って加工前のマスクエッジの傾斜は第２閾値より上（即ち、マスクのレベルが高い部分）にのみあればよい。第２閾値より下（即ち、マスクのレベルが低い部分）の傾斜は、その有無が加工の結果に影響を与えない。エッジに傾斜を付け第２閾値以下をゼロにクリッピングした、図３５（ｃ）の加工後のマスクＭ４５（太実線）と図３６（ｃ）の加工後のマスクＭ４８（太実線）の形状は同じである。
【０１４３】
しかしながら、図３５（ａ）−（ｃ）のようにマスクの全画素に対してフィルタ演算する場合と比較して、図３６（ａ）−（ｃ）のようにマスクの有効画素に対してのみフィルタ演算する場合の演算量は少ない。その差は、マスクの無効エリアが広ければ広いほど顕著になる。マスクの無効画素に対してのみフィルタ演算することにより、マスクエッジに傾斜を付けつつ、演算量の増加を抑圧し処理時間を短縮できる。
【０１４４】
上述のようにマスクエッジ幅を変更する処理と、マスクエッジに傾斜を付ける処理は組み合わせて使用できる。以下、組み合わせて使用する場合における、実施例１の手法と実施例３の手法の演算量の差について説明する。
【０１４５】
まずマスクエッジ幅を広げる処理とマスクエッジに傾斜を付ける処理を組み合わせた場合を考える。実施例１の手法ではマスクの全画素に対してフィルタ処理する。これに対して実施例３の手法では、マスクエッジ幅を広げる処理についてはマスクの無効画素に対してのみフィルタ処理し、マスクエッジに傾斜を付ける処理についてはマスクの有効画素に対してのみフィルタ処理する。仮にマスクエッジ幅を広げる処理とマスクエッジに傾斜を付ける処理の演算量が等しい場合、マスクの有効画素の面積によらず、実施例３の手法は実施例１の手法に対して処理量を半分に削減できる。
【０１４６】
次にマスクエッジ幅を狭める処理とマスクエッジに傾斜を付ける処理を組み合わせた場合を考える。実施例１の手法ではマスクの全画素に対してフィルタ処理する。これに対して実施例３の手法では、マスクエッジ幅を狭める処理とマスクエッジに傾斜を付ける処理の両方において、マスクの有効画素に対してのみフィルタ処理する。よって、マスクの有効画素が狭ければ狭いほど、実施例３の手法は実施例１の手法に対して処理量を大幅に削減できる。
【０１４７】
以上説明したように実施例３によれば、合成デプスマップのオブジェクトの境界部分に連続性を持たせ、この合成デプスマップを基に生成された画像（３Ｄ画像）のオブジェクトの境界部分の不自然を目立たなくするために以下の処理を行う。デプスマップを加工する際の基準となるマスクに対して、エッジの位置を移動させたりエッジに傾斜を付けたりするためにフィルタ処理する。その際、フィルタ処理する前のマスクの有効エリアまたは無効エリアのフィルタ処理をスキップすることにより、実施例１の処理と等価の効果を得つつ、演算量を削減し処理時間を短縮できる。
【０１４８】
以上、本発明を実施の形態をもとに説明した。実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【０１４９】
実施例２に係る画像編集システム５００では、デプスマップ加工部２０による加工をスキップして、デプスマップ生成部１０により生成されたデプスマップをそのまま使用してもよい。またオブジェクト領域ごとに分割せずに、一括で加工されたデプスマップを使用してもよい。またユーザの作業により一から生成されたデプスマップが使用されてもよい。
【０１５０】
実施例３では第２レベル判定部８７は、エッジの位置が調整された後のマスク信号の無効エリアに対する第２ローパスフィルタ８３によるフィルタ処理をスキップさせる例を説明した。この処理はマスクエッジの内側部分に傾斜を付けるための処理である。マスクエッジの外側部分に傾斜を付ける場合、第２レベル判定部８７はマスク信号の有効エリアに対する第２ローパスフィルタ８３によるフィルタ処理をスキップさせる。
【符号の説明】
【０１５１】
５００  画像編集システム、  １００  画像処理装置、  １０  デプスマップ生成部、  １１  画面上部高域成分評価部、  １２  画面下部高域成分評価部、  １３  合成比率決定部、  １４  第１基本デプスモデル用フレームメモリ、  １５  第２基本デプスモデル用フレームメモリ、  １６  第３基本デプスモデル用フレームメモリ、  １７  合成部、  １８  加算部、  ２０  デプスマップ加工部、  ３０  ３Ｄ画像生成部、  ３１  画素シフト部、  ３２  監視領域設定部、  ３３  画素補間部、  ４０  操作受付部、  ５０  表示制御部、  ２００  コンソール端末装置、  ６０  操作部、  ７０  表示部、  ８０  マスク補正部、  ８１  第１ローパスフィルタ、  ８２  二値化部、  ８３  第２ローパスフィルタ、  ８４  クリッピング部、  ８６  第１レベル判定部、  ８７  第２レベル判定部。
【図２】
0005900321.tif 000002
【図３】
0005900321.tif 000003
【図１３】
0005900321.tif 000004
【図１５】
0005900321.tif 000005
【図１６】
0005900321.tif 000006
【図１８】
0005900321.tif 000007
【図１９】
0005900321.tif 000008
【図２２】
0005900321.tif 000009
【図２３】
0005900321.tif 000010
【図２４】
0005900321.tif 000011
【図２５】
0005900321.tif 000012
【図２６】
0005900321.tif 000013
【図２７】
0005900321.tif 000014
【図２８】
0005900321.tif 000015
【図２９】
0005900321.tif 000016
【図３０】
0005900321.tif 000017
【図３１】
0005900321.tif 000018
【図３２】
0005900321.tif 000019
【図３３】
0005900321.tif 000020
【図３４】
0005900321.tif 000021
【図３５】
0005900321.tif 000022
【図３６】
0005900321.tif 000023
【図１】
0005900321.tif 000024
【図４】
0005900321.tif 000025
【図５】
0005900321.tif 000026
【図６】
0005900321.tif 000027
【図７】
0005900321.tif 000028
【図８】
0005900321.tif 000029
【図９】
0005900321.tif 000030
【図１０】
0005900321.tif 000031
【図１１】
0005900321.tif 000032
【図１２】
0005900321.tif 000033
【図１４】
0005900321.tif 000034
【図１７】
0005900321.tif 000035
【図２０】
0005900321.tif 000036
【図２１】
0005900321.tif 000037