(57)【特許請求の範囲】
【請求項１】
画像の位置毎の奥行き情報を取得する取得部と、
前記画像が所定の領域を含むか否かに応じて、前記画像内に前記奥行き情報に基づき非一様に第１の鮮鋭化処理を施すか、前記画像内に前記奥行き情報に関わらず一様に第２の鮮鋭化処理を施すかを切り替える画像処理部と
を有する
ことを特徴とする画像処理装置。
【請求項２】
前記画像が空を含むか否かを判定する空判定部をさらに有し、
前記画像処理部は、
前記空判定部が前記空を含むと判定した場合に、前記画像に対して前記第１の鮮鋭化処理を施す
ことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
画像の位置毎の奥行き情報を取得する取得部と、
前記画像内に前記奥行き情報に基づき非一様に第１の鮮鋭化処理を施すか、前記画像内に一様に第２の鮮鋭化処理を施すかを、前記画像が所定の領域を含むか否かに応じて切り替える画像処理部と、
前記画像が空を含むか否かを判定する空判定部と、
前記画像が奥行きが連続して変化する領域と、奥行きが固定している領域との境界線を含むか否かを判定する境界判定部と
を有し、
前記画像処理部は、
前記空判定部が前記空を含むと判定し、且つ、前記境界判定部が前記境界線を含むと判定した場合に、前記画像に対して前記第１の鮮鋭化処理を施す
ことを特徴とする画像処理装置。
【請求項４】
前記空判定部は、
前記画像中の位置毎に空である信頼度を算出する信頼度算出部を備え、
前記取得部は、
前記信頼度算出部で算出した前記信頼度に基づき前記奥行き情報を生成する
ことを特徴とする請求項２または請求項３に記載の画像処理装置。
【請求項５】
前記境界判定部は、
前記境界線の位置を算出する位置算出部を備え、
前記取得部は、
前記信頼度算出部で算出した前記信頼度と、前記位置算出部で算出した前記境界線の位置とに基づき前記奥行き情報を生成する
ことを特徴とする請求項４に記載の画像処理装置。
【請求項６】
前記取得部は、
前記境界線より上部を示す位置の前記奥行き情報を示す値を、基準値を基準として、前記信頼度が高いほど奥行きが遠いことを示す値へ近付けた値とする
ことを特徴とする請求項５に記載の画像処理装置。
【請求項７】
前記取得部は、
前記画像中の位置毎の前記奥行き情報を示す値を、前記信頼度が低いほど奥行きが近いことを示す値へ近付けた値とする
ことを特徴とする請求項５または請求項６に記載の画像処理装置。
【請求項８】
前記取得部は、
前記基準値を、前記境界線の位置と前記信頼度とから求める
ことを特徴とする請求項６に記載の画像処理装置。
【請求項９】
前記空判定部は、
前記画像中の位置毎の前記信頼度に対してクロージング処理を施すことにより、該信頼度を補正する
ことを特徴とする請求項４乃至請求項８の何れか１項に記載の画像処理装置。
【請求項１０】
前記空判定部は、
前記画像中の、明るさの変化の方向と、色の青さの変化の方向とが一致しない位置に対して前記補正を行う
ことを特徴とする請求項９に記載の画像処理装置。
【請求項１１】
前記画像処理部は、
前記第１の鮮鋭化処理の度合を、前記奥行き情報が示す奥行きが近いほど高くする
ことを特徴とする請求項１乃至請求項１０の何れか１項に記載の画像処理装置。
【請求項１２】
前記画像処理部は、
前記画像に対して拡大処理をさらに行う
ことを特徴とする請求項１乃至請求項１１の何れか１項に記載の画像処理装置。
【請求項１３】
画像の位置毎の奥行き情報を取得する取得ステップと、
前記画像が所定の領域を含むか否かに応じて、前記画像内に前記奥行き情報に基づき非一様に第１の鮮鋭化処理を施すか、前記画像内に前記奥行き情報に関わらず一様に第２の鮮鋭化処理を施すかを切り替える画像処理ステップと
を有する
ことを特徴とする画像処理方法。
【請求項１４】
画像の位置毎の奥行き情報を取得する取得ステップと、
前記画像が所定の領域を含むか否かに応じて、前記画像内に前記奥行き情報に基づき非一様に第１の鮮鋭化処理を施すか、前記画像内に前記奥行き情報に関わらず一様に第２の鮮鋭化処理を施すかを切り替える画像処理ステップと
をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、画像処理装置、画像処理方法およびプログラムに関する。
【背景技術】
【０００２】
従来、画像の各位置の奥行きを算出し、位置毎に、算出された奥行きに応じた画像処理を施して画像の奥行き感を向上させる技術が知られている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００９−２５１８３９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来の技術では、画像内の全ての位置に対して奥行き感を向上させる処理を行うため、奥行き感の向上が望まれない部分についても処理が行われてしまうという問題があった。この場合、例えば、奥行きの範囲が狭いという問題がある。また例えば、屋内で撮影した画像において、背景を平滑化処理した場合に、画像の鮮鋭感が失われ、画質が劣化したように知覚されるという問題もある。
【０００５】
本発明が解決しようとする課題は、画像の奥行き感を向上させる処理をより適切に行うことができる画像処理装置、画像処理方法およびプログラムを提供することである。
【課題を解決するための手段】
【０００６】
実施形態の画像処理装置は、取得部により画像の位置毎の奥行き情報を取得する。画像処理部は、画像が所定の領域を含むか否かに応じて、画像内に奥行き情報に基づき非一様に第１の鮮鋭化処理を施すか、画像内に奥行き情報に関わらず一様に第２の鮮鋭化処理を施すかを切り替える。
【図面の簡単な説明】
【０００７】
【図１】図１は、実施形態に係る画像処理装置の一例の構成を示すブロック図である。
【図２】図２は、実施形態に係る画像処理を示す一例のフローチャートである。
【図３】図３は、実施形態に係る境界判定部の一例の構成を示すブロック図である。
【図４】図４は、実施形態に係る境界判定部の動作を示す一例のフローチャートである。
【図５】図５は、実施形態に係る空判定部の一例の構成を示すブロック図である。
【図６】図６は、実施形態に係る空判定部の動作を示す一例のフローチャートである。
【図７】図７は、実施形態に係る、信頼度ｆの計算に用いる特徴値の算出方法の一例を説明するための図である。
【図８】図８は、実施形態に係る、信頼度ｆの計算に用いる特徴値の算出方法の別の例を説明するための図である。
【図９】図９は、実施形態に係る、画像から青空と雲との境界を抽出する処理を説明するための図である。
【図１０】図１０は、実施形態に係る、奥行き値Ｄの算出方法の例を説明するための図である。
【図１１】図１１は、実施形態に係る、値ｚの決定処理を説明するための図である。
【図１２】図１２は、実施形態に係る鮮鋭化処理を示す一例のフローチャートである。
【図１３】図１３は、実施形態を適用可能なコンピュータ装置の一例の構成を示すブロック図である。
【発明を実施するための形態】
【０００８】
以下、実施形態に係る画像処理装置について説明する。図１は、実施形態に係る画像処理装置の一例の構成を示す。画像処理装置は、境界判定部１０１、空判定部１０２、取得部１０３および画像処理部１０４を備える。
【０００９】
これら境界判定部１０１、空判定部１０２、取得部１０３および画像処理部１０４は、それぞれ独立したハードウェアが互いに協働して動作するように構成することができる。これに限らず、境界判定部１０１、空判定部１０２、取得部１０３および画像処理部１０４は、一部または全部がＣＰＵ(Central  Processing  Unit)上で動作するソフトウェアで構成されていてもよい。
【００１０】
境界判定部１０１は、入力画像の構図を判定し、判定結果（境界判定結果）と、構図に係る座標情報を出力する。空判定部１０２は、画像が空を含むか否かを判定し、判定結果（空判定結果）と、空を示す情報である信頼度とを出力する。取得部１０３は、境界判定部１０１から出力される座標情報と、空判定部１０２から出力される信頼度とに基づき入力画像の奥行き情報（奥行き値）を取得する。
【００１１】
なお、信頼度および奥行き値は、画像の所定単位毎に計算する。実施形態では、画像の画素毎に信頼度および奥行き値を計算する。
【００１２】
画像処理部１０４は、入力画像に対して鮮鋭化処理を施す。このとき、画像処理部１０４は、境界判定部１０１から出力される境界判定結果と、空判定部１０２から出力される空判定結果とに基づき、入力画像が所定の領域を含むか否かを判定する。画像処理部１０４は、入力画像が所定の領域を含むと判定した場合に、取得部１０３から出力される奥行き値に基づき、入力画像に対して非一様に鮮鋭化処理を施す。
【００１３】
（全体の処理の流れ）
図２は、実施形態に係る画像処理装置における画像処理を示す一例のフローチャートである。先ず、ステップＳ２１で、境界判定部１０１が入力画像から構図を判定する。実施形態では、画像の構図として、画像が、奥行きが連続して変化する領域と、奥行きが固定的となっている領域との境界線を含むか否かを判定している。
【００１４】
この境界線の具体的な例としては、水平線や地平線が挙げられる。すなわち、画像がカメラにより撮影されたものである場合、カメラ手前側（画像下側）から水平線や地平線に向けて、奥行きが連続的に変化する。一方、地平線や水平線は、カメラからの距離が実質的に無限大となる境界を表すと考えられ、画像において地平線や水平線より上側は、奥行きが固定的とされる。また、境界線は、上述の水平線や地平線に限られず、例えば地面を構成する平面と立体物との境界も、境界線に含まれる。
【００１５】
次に、ステップＳ２２で、空判定部１０２が入力画像が空を含む画像であるか否かを判定する。この場合、空を含む画像は、雲を含んでいてもよい。次のステップＳ２３で、取得部１０３が、境界判定部１０１から出力される境界線の座標情報と、空判定部１０２から出力される空を示す信頼度とに基づき、奥行き情報を取得する。ここで、取得部１０３は、奥行き情報を、画像内の所定単位毎の奥行き値として取得する。
【００１６】
次のステップＳ２４で、画像処理部１０４が、境界判定部１０１から出力される境界判定結果と、空判定部１０２から出力される空判定結果とに基づき、入力画像に対して施す鮮鋭化処理を、画面内で一様の強度で行う（画面一様処理）か、画面内で非一様の強度で行う（画面非一様処理）かを選択する。画像処理部１０４は、例えば画面非一様処理を選択した場合、取得部１０３から出力された奥行き情報に基づき、入力画像に対して画面内で非一様の強度で鮮鋭化処理を施す。
【００１７】
（境界線の判定）
次に、図２のフローチャートにおけるステップＳ２１の構図の判定処理について、より詳細に説明する。図３は、実施形態に係る境界判定部１０１の一例の構成を示す。また、図４は、境界判定部１０１の動作を示す一例のフローチャートである。図３に示されるように、境界判定部１０１は、構図判定部１０１１と、境界線座標算出部１０１２とを有する。
【００１８】
図４のフローチャートにおいて、境界判定部１０１は、ステップＳ３１で、構図判定部１０１１により処理対象の画像（入力画像）が境界線を含む画像であるか否かを判定する。判定結果は、境界判定結果として出力される。
【００１９】
画像が境界線を含む画像であるか否かの判定は、例えば、特開２０１２−１５７４４号公報に開示されている、ＳＶＭ識別器を用いた方法により行うことができる。すなわち、特開２０１２−１５７４４号公報では、画像から特徴量を抽出し、境界線を含む画像の集合と境界線を含まない画像の集合とを用いて予め学習しておいたＳＶＭ(Suport  Vector  Machine)識別器を用いることで、境界線を含む画像であるか否かを判定している。
【００２０】
より具体的には、予め以下の処理を行いＳＶＭ識別器による学習を行う。例えば、画像に水平線または地平線を含む構図を想定する。この構図によれば、画像において水平線や地平線の下部が水面や地面に対応し、上部が空に対応する。このように想定された構図に対して、画像の左上、右上、右下および左下にそれぞれ算出領域を設定し、算出領域毎に画素値の統計値、例えば色のヒストグラムを算出する。そして、左上および右上の算出領域の類似度ｓ12、右上および右下の算出領域の類似度ｓ24、右下および左下の算出領域の類似度ｓ34、ならびに、左下および左上の算出領域の類似度ｓ13をそれぞれ求める。この４の類似度を含む特徴ベクトルｖ＝(ｓ12，ｓ13，ｓ24，ｓ34)を作成する。多数のサンプル画像についてこの特徴ベクトルｖを作成し、２クラス識別器であるＳＶＭ識別器に学習させる。
【００２１】
構図判定部１０１１は、入力画像における左上、右上、右下および左下にそれぞれ算出領域の類似度ｓ12、ｓ13、ｓ24およびｓ34による特徴ベクトルｖを、上述の学習を行ったＳＶＭ識別器を用いて評価することで、入力画像が境界線を含む画像であるか否かを判定する。
【００２２】
なお、入力画像が境界線を含む画像であるか否かを判定する方法は、このＳＶＭ識別器を用いた方法に限定されない。例えば、後述する境界線座標算出部１０１２の動作と同様にして境界線座標を求め、その計算過程において算出されるライン毎のエッジ強度の最大値が閾値を超えた場合に、当該画像が境界線を含む画像であるとして判定することもできる。
【００２３】
境界判定部１０１は、ステップＳ３１で、入力画像が境界線を含む画像であると判定した場合、処理をステップＳ３２に移行させる。ステップＳ３２で、境界判定部１０１は、境界線座標算出部１０１２により入力画像から境界線の座標を計算する。境界線座標算出部１０１２は、先ず、水平なエッジに反応するエッジ検出オペレータを用いて、処理対象の画像（入力画像）の全ての画素についてエッジ強度を求める。次に、境界線座標算出部１０１２は、画像の各水平ライン上の画素のエッジ強度を加算し、ライン毎のエッジ強度を求める。このエッジ強度が最大となるラインを、境界線の座標として算出する。
【００２４】
なお、実施形態では、境界線が水平な直線であるものとして扱うが、これはこの例に限定されない。例えば、エッジ強度が最大となる斜めのラインを計算し、境界線とすることも可能である。この場合、エッジ検出オペレータにおけるエッジ検出方向を斜めに変えて、斜め方向にエッジ強度を求め、求められたエッジ強度を、斜め方向毎に加算して、斜め方向の境界線を判定する。
【００２５】
なお、境界判定部１０１は、ステップＳ３１で入力画像が境界線を含まない画像であると判定した場合、処理を図４のフローチャートから抜け、境界線座標の算出処理を行わない。
【００２６】
（空の判定）
次に、図２のフローチャートにおけるステップＳ２２の空を含む画像であるか否かの判定処理について、より詳細に説明する。図５は、実施形態に係る空判定部１０２の一例の構成を示す。また、図６は、空判定部１０２の動作を示す一例のフローチャートである。図５に示されるように、空判定部１０２は、信頼度算出部１０２１と、空領域判定部１０２２とを有する。
【００２７】
図６のフローチャートにおいて、空判定部１０２は、ステップＳ４１で、信頼度算出部１０２１により、処理対象の画像（入力画像）の画素毎に、当該画素が空の画像を表現している度合を示す値を計算する。この、画素が空の画像を表現している度合の値を、以下、信頼度ｆと呼ぶ。信頼度ｆの計算は、画素値と、周辺領域から抽出した画像特徴量とを用いて、事前に学習したＳＶＭ識別器を用いて行う。
【００２８】
実施形態において、信頼度ｆを計算するために用いる特徴値の算出方法について、図７を用いてより具体的に説明する。信頼度算出部１０２１は、入力画像２００に対し、注目画素２２０を中心にして所定の大きさ（例えば７画素×７画素）の領域２１０を設定する。信頼度算出部１０２１は、領域２１０に含まれる各画素２３０1、２３０2、…について、水平方向および垂直方向に隣接する画素との画素値（例えば輝度値Ｙ）の差分をそれぞれ計算し、差分の絶対値を求める。信頼度算出部１０２１は、領域２１０内の各画素２３０1、２３０2、…について算出した各差分絶対値のうち最大の差分絶対値を、領域２１０における注目画素２２０の第１特徴値とする。
【００２９】
さらに、信頼度算出部１０２１は、注目画素２２０について、輝度値Ｙ、色差値ＵおよびＶを取得し、それぞれ第２特徴量、第３特徴量および第４特徴量として用いる。信頼度算出部１０２１において、ＳＶＭ識別器により、これら第１〜第４特徴量について、空を被写体とした画像の集合と、空以外を被写体とした画像の集合とを用いて予め学習しておく。
【００３０】
信頼度算出部１０２１は、上述のように予め学習されたＳＶＭ識別器を用いて、入力画像２００の各画素を順次注目画素２２０として、第１〜第４特徴量を注目画素２２０毎に算出する。そして、第１〜第４特徴量を並べたベクトルｘを用いて、次式（１）および式（２）から信頼度ｆを計算する。
【数１】
0005703255.tif 000002
【数２】
0005703255.tif 000003
【００３１】
なお、式（２）において、値ｗおよび値ｂは、ＳＶＭ識別器の学習により予め得られているパラメータであり、それぞれ４次元のベクトルである。また、記号ｔは、ベクトル（行列）の転置を示す。値ｗおよび値ｂは、空を表現する画素において値ｐ≧０となるように学習されている。すなわち、式（１）によれば、空を表現する画素においては、信頼度ｆ≧０．５となる。
【００３２】
なお、信頼度ｆの算出方法は、上述の式（１）を用いた算出方法に限られない。すなわち、信頼度ｆは、値ｐの増加に対して０から１の範囲で単調増加する関係にあればよい。
【００３３】
また、上述では、入力画像の画素毎に第１〜第４特徴量を算出するように説明したが、これはこの例に限定されない。例えば、入力画像を所定サイズのブロックに分割し、ブロック毎に第１〜第４特徴量を求める。各ブロックは、複数の画素を含む。このブロック毎の第１〜第４特徴量を用いて上述した式（１）および式（２）に基づき信頼度ｆを算出し、算出した信頼度ｆを、当該ブロックに含まれる画素それぞれの信頼度ｆとしてもよい。
【００３４】
図８を用いて、より具体的に説明する。図８に例示されるように、入力画像２００を、それぞれ複数の画素を含む所定サイズのブロック２４０1,1、２４０1,2、…、２４０x,y、…、２４０m,nに分割する。信頼度算出部１０２１は、各ブロック２４０1,1、２４０1,2、…、２４０x,y、…、２４０m,nにおいて、各画素について上述と同様にして第１〜第４特徴量を算出する。そして、信頼度算出部１０２１は、各ブロック２４０1,1、２４０1,2、…、２４０x,y、…、２４０m,nにおいて、ブロック内の各画素について算出した各第１〜第４特徴量を代表する値を求め、各代表値をブロックの第１〜第４特徴量とする。このブロックの第１〜第４特徴量に基づき信頼度ｆを算出する。なお、代表値は、例えばブロック内の各画素ついて算出した各第１〜第４特徴量それぞれの平均値を用いることができる。
【００３５】
ところで、昼間の空の画像は、青空の部分と雲の部分とが混在するのが一般的である。上述したようにして計算した信頼度ｆは、青空部分と雲部分との境界で低い値となる場合がある。これは、青空部分と雲部分との境界では、第１特徴量が大きくなることが要因である。また、画像のノイズの影響により、空の領域内において信頼度ｆが低い値となる場合もある。
【００３６】
そこで、信頼度ｆを各座標（各画素位置）における値として持つマップを作成し、このマップに基づき信頼度ｆに対して補正処理を施し、画像における空の領域内に存在する孤立点や、青空と雲との境界における信頼度ｆの精度を高める。例えば、画像に対して膨張および収縮をそれぞれ同回数行うクロージング処理を、マップ内の各信頼度ｆに対して適用することで、この場合の補正処理を行うことができる。
【００３７】
一方、上述の補正処理を画像の全画素において行うと、空ではない領域の信頼度ｆを誤ってより高い値に補正してしまう場合がある。そのため、画像に対し、被写体が青空と雲との境界であるか否かを画素毎に判定し、該当する画素に対して選択的に上述の補正処理を施すことが好ましい。
【００３８】
この、画像から青空と雲との境界を抽出する処理について説明する。信頼度算出部１０２１は、画像３００の各画素において、水平方向および垂直方向それぞれについて、明度の変化と色（青味）の変化とを算出する。明度および色の青味は、それぞれ、画像のＹＵＶ値のうち輝度値Ｙおよび色差値Ｕを用いることができる。信頼度算出部１０２１は、明るさの変化の方向と、色の青味の変化の方向とが一致していない画素を、青空と雲との境界部分の画素であると判定する。すなわち、この判定は、例えば青空（青）から雲（白）に向けて値が変化する場合、明度が高くなり、色に関しては無彩色に近付くため青味が低下することを利用する。
【００３９】
図９を用いて、画像から青空と雲との境界を抽出する処理について、より具体的に説明する。図９は、画像３００において、青空３０１の中に白色の雲３０２と、黒色の被写体３０３とが存在する例について示している。先ず、青空３０１と雲３０２との境界について考える。例えば、垂直方向の座標ｙ1において水平方向に青空３０１の部分から雲３０２の部分に向けて画素値の変化を調べる。この場合、曲線３１０に例示されるように、青空３０１と雲３０２との境界部分である座標（ｘ1，ｙ1）近傍において、輝度値Ｙが増加する。一方、色差値Ｕは、曲線３１１に例示されるように、当該座標（ｘ1，ｙ1）近傍において減少する。
【００４０】
次に、青空３０１と黒色の被写体３０３との境界について考える。例えば、垂直方向の座標ｙ2において青空３０１の部分から被写体３０３の部分に向けて画素値の変化を調べる。この場合、曲線３２０に例示されるように、青空３０１と被写体３０３との境界部分である座標（ｘ2，ｙ2）近傍において、輝度値Ｙが減少する。色差値Ｕについても同様に、曲線３２１に例示されるように、当該座標（ｘ2，ｙ2）近傍において減少する。なお、曲線３２０および３２１、ならびに、上述した曲線３１０および３１１は、ｘ方向を拡大して示している。
【００４１】
したがって、例えば水平方向に輝度値Ｙおよび色差値Ｕの変化を見ていく場合、互いに対応する位置における輝度値Ｙおよび色差値Ｕの変化の方向を比較することで、青空３０１と雲３０２との境界部分に対応する画素位置を取得することができる。
【００４２】
より具体的には、各画素位置が青空３０１と雲３０２との境界部分であるかの判定は、水平方向および垂直方向それぞれについて輝度値Ｙおよび色差値Ｕの変化を見ることにより行い、水平方向の判定結果と垂直方向の判定結果とが共に青空３０１と雲３０２との境界部分であることを示していた場合に、その画素位置が青空３０１と雲３０２との境界部分であるとする。
【００４３】
また、輝度値Ｙおよび色差値Ｕのうち少なくとも一方の変化の絶対値が閾値以下である場合に、その画素位置を上述の補正処理の対象とするようにしてもよい。
【００４４】
なお、信頼度ｆの計算方法は上述した方法に限られない。例えば、画像内において、上述した境界線座標算出部１０１２で算出された境界線よりも上部で各画素値が平坦である領域を検出し、その領域の平均の色を取得する。そして、画像の画素毎に、平均の色に画素値が近いほど信頼度ｆを大きく算出することもできる。
【００４５】
図６のフローチャートの説明に戻り、ステップＳ４１で上述のようにして信頼度ｆが計算されたら、処理がステップＳ４２に移行される。ステップＳ４２では、空領域判定部１０２２が、処理対象の画像が空を含む画像であるか否かを、信頼度ｆの値を用いて判定する。実施形態では、この判定を、画像内における空の領域が予め定められた面積（面積比率）以上であるか否かに基づき行う。
【００４６】
より具体的には、空領域判定部１０２２は、画像内で信頼度ｆが所定値以上（この例ではｆ≧０．５）の値を取る画素数を求める。空領域判定部１０２２は、この画素数が画像内の全画素数に対して予め定められた比率以上である画像を、空を含む画像であると判定する。
【００４７】
（奥行き値取得）
次に、図２のフローチャートにおけるステップＳ２３の、奥行き値の取得処理について、より詳細に説明する。取得部１０３は、処理対象の画像の各位置における奥行き情報を取得する。より具体的には、取得部１０３は、境界判定部１０１で求められた境界線の座標ｙborderと、空判定部１０２で求められた画素毎の信頼度ｆ（ｘ，ｙ）とを用いて、下記の式（３）により、画素毎の奥行き値Ｄ（ｘ，ｙ）を求める。
【数３】
0005703255.tif 000004
【００４８】
なお、式（３）において、（ｘ，ｙ）は、データの水平方向および垂直方向の座標を指定するインデックスであり、例えば処理対象の画像における各画素位置に対応する。このとき、垂直方向の座標ｙは、画像の上端側から下端側に向けて値が増加するものとし、水平方向の座標ｘは、画像の左端側から右端側に向けて値が増加するものとする。また、値ｚおよび値αは、予め定める正の定数である。
【００４９】
式（３）の上側の式は、画像における境界線よりも上の領域に対応する。式（３）の下側の式は、境界線よりも下の領域に対応する。ここで、奥行き値Ｄは、値が大きいほどカメラ（視点）から被写体までの距離が近い（奥行きが浅い）ことを示す。
【００５０】
奥行き値Ｄの算出方法の例を、図１０を参照しながら説明する。図１０（ａ）は、処理対象である入力画像５００の例を示す。この例では、入力画像５００は、青空５０２、雲５０３および５０４、遠方の山５０５、ならびに、地面５０６の各画像を含んでいる。図１０（ｂ）は、図１０（ａ）の画像に対応する奥行き値Ｄを模式的に示す。図１０（ｂ）では、奥行き値Ｄが色の濃さで表現され、小さい奥行き値Ｄがより濃い色で表現されている。
【００５１】
入力画像５００が画像処理装置に入力されると、境界判定部１０１は、境界線５０１を算出する。また、空判定部１０２は、入力画像５００の各位置について信頼度ｆを算出する。ここでは、青空５０２、雲５０３および５０４の信頼度ｆが高く、それ以外（山５０５および地面５０６）では信頼度ｆが低く算出されたものとする。一例として、青空５０２、雲５０３および５０４が信頼度ｆ＝１、山５０５および地面５０６が信頼度ｆ＝０であったものとする。
【００５２】
取得部１０３は、これらの信頼度ｆの値を上述の式（３）に当て嵌めて、入力画像５００の位置毎の奥行き値Ｄを算出する。青空５０２、雲５０３および５０４の各領域は、信頼度ｆ＝１、且つ、境界線５０１よりも上部の領域なので、式（３）の上の式が該当し、奥行き値Ｄ＝０となる。同様に境界線５０１よりも上部の領域である山５０５は、信頼度ｆ＝０であるので、奥行き値Ｄ＝ｚとなる。さらに、境界線５０１よりも下部の領域である地面５０６は、式（３）の下の式が該当し、奥行き値Ｄは、信頼度ｆに関わらず、垂直方向の座標ｙに応じて画像の上側から下側に向けて値ｚから単調増加する。
【００５３】
図１０（ｂ）は、このようにして求めた奥行き値Ｄに色の濃さを対応付けて、画像における奥行き値Ｄの分布を模式的に示す。すなわち、図１０（ｂ）において、より色の濃い部分がより奥行きの深い部分であり、例えば奥行き値Ｄ＝０である青空５０２、雲５０３および５０４の各領域は、最も濃い色で塗り潰して示してある。また、奥行き値Ｄ＝ｚである山５０５の部分は、中間の色で塗り潰して示してある。さらに、地面５０６は、境界線５０１の高さから入力画像５００の最下端に向けて、中間の色から白色へ連続的に変換するグラデーションとなり、奥行きが連続的に変化していることが示される。
【００５４】
なお、奥行き値Ｄの算出式は、上述の式（３）に限定されない。例えば、奥行き値Ｄは、信頼度ｆ＝１のときに、０以上の所定の値になるようにしてもよい。この場合、信頼度ｆが全ての座標で０の時、奥行き値Ｄは、座標ｙの増加に従って単調増加することが好ましい。
【００５５】
また、奥行き値Ｄ（ｘ，ｙ）は、信頼度ｆが小さいほど値が大きくなるように補正してもよい。例えば、補正値ｇ、補正値ｇを制御する正の定数βを用いて、奥行き値Ｄを次式（４）で計算する。
【数４】
0005703255.tif 000005
【００５６】
式（４）において、補正値ｇは、次式（５）から計算できる。
ｇ(ｘ，ｙ)＝１−ｆ(ｘ，ｙ)    …（５）
【００５７】
これに限らず、補正値ｇは、上述した式（２）の値ｐを用いて、次式（６）により計算してもよい。なお、式（６）において、値σは、正の定数である。値σを大きくするほど、より空らしくない画素についてのみ、補正値ｇが大きい値を持つようになる。
【数５】
0005703255.tif 000006
【００５８】
補正値ｇは、上述した式（５）または式（６）を用いて求めるのに限定されない。すなわち、補正値ｇは、信頼度ｆが小さいほど大きい値を取るようにすればよい。例えば、遠景の被写体は、霞がかかるなどにより色が空に近付き信頼度ｆが大きくなることがある。一方、信頼度ｆが小さいということは、被写体が近くにあることを示している。したがって、上述した補正により、奥行き値Ｄを補正することができる。
【００５９】
上述した式（３）または式（４）の値ｚを、処理対象の画像に応じて適応的に変化させることもできる。この値ｚの決定処理を、図１１を参照しながら説明する。図１１は、図１０（ａ）の入力画像５００を処理する場合の模式図である。図１１において、図１０（ａ）と共通する部分には同一の符号を付して、詳細な説明を省略する。
【００６０】
先ず、取得部１０３は、その高さよりも上部において信頼度ｆが閾値以上の値のみとなる画像の高さＨを計算する。この高さＨは、空ではない被写体の高さを意味する。次に、境界線５０１から下の高さＡと、境界線５０１から上の高さＣと、境界線５０１の高さＡと高さＨとの間の高さＢを計算する。次に、値ｚを制御するための数値Ｒを、次式（７）により計算する。
Ｒ＝Ｒ1＋Ｒ2    …（７）
【００６１】
式（７）において、値Ｒ1および値Ｒ2は、それぞれ次式（８）および式（９）にて求める。なお、式（８）において、関数clip()は、引数が０以下であれば０を返し、引数が１以上であれば１を返し、引数が０を超え１未満であれば引数と同じ値を返す。また、値ｈは、入力画像５００の高さである。
Ｒ1＝clip｛(０．７５−Ａ/ｈ)/０．５｝    …（８）
Ｒ2＝Ｂ/Ｃ    …（９）
【００６２】
値Ｒ1は、境界線５０１の高さＡに関する値であって、０≦Ｒ1≦１である。境界線５０１が画像の低い位置にあるほど、当該画像において境界線５０１のより上部に注目する被写体があり、且つ、その被写体は、より近くにある場合が多いと考えられる。そのため、式（８）に従い、境界線５０１の高さＡが低くなるに連れ、値Ｒ1を大きな値とする。なお、式（８）において、０．７５および０．５は、実験的に定められた定数であって、これらの値に限定されるものではない。
【００６３】
値Ｒ2は、境界線５０１より上部、且つ、空以外の被写体の占める高さの割合を示し、０≦Ｒ2≦１である。すなわち、境界線５０１より上部の領域において、空以外の被写体の占める高さＢの割合が大きいほど、当該被写体が近くにあると考えられる。そのため、式（９）に従い、高さＢが高くなるに連れ、値Ｒ2を大きな値とする。
【００６４】
このようにして式（７）〜式（９）により計算された値Ｒは、境界線５０１より上にある、空ではない被写体（図１１の例では山５０５）が、距離が近くにある場合により大きくなる値である。値ｚを、このように計算された値Ｒが大きいほど大きくなるように、計算する。このように、値ｚを画像に応じて適応的に決定することで、境界線５０１より上にある被写体の奥行き値Ｄを、より実際の奥行きに合うように設定することが可能となる。上述した方法のように、画像の構図に基づいて奥行き値Ｄを計算することで、構図に対して奥行きの前後関係の逆転の少ない安定した奥行き値Ｄを取得することができる。
【００６５】
なお、取得部１０３が奥行き情報を取得する方法は、上述に限られない。例えば、入力画像がステレオ画像である場合には、取得部１０３は、その視差量から奥行き情報を取得できる。
【００６６】
また、取得部１０３は、処理対象の画像からではなく、別途距離計測センサを用いて計測した奥行き情報を取得してもよい。例えば、入力画像の撮影時などに、距離計測センサを用いて撮影範囲の各位置の距離を計測し、計測された距離を示す情報を、撮影範囲の座標（入力画像の座標）と対応付けて、入力画像と共に取得部１０３に入力する。この距離の実測値から奥行き情報を取得する方法を用いる場合、境界判定部１０１の境界線の座標の出力と、空判定部１０２からの信頼度ｆの出力が不要となる。
【００６７】
なお、取得部１０３は、各種の方法で取得した奥行き情報を基に、信頼度ｆが大きい位置の奥行き値を、奥行きが遠いことを示す値に補正したものを奥行き情報とすることもできる。
【００６８】
（鮮鋭化処理）
次に、図２のフローチャートにおけるステップＳ２４の、入力画像の鮮鋭化処理について、より詳細に説明する。画像処理部１０４は、取得部１０３から出力される奥行き値Ｄと、境界判定部１０１および空判定部１０２からそれぞれ出力される境界判定結果および空判定結果とに基づき、入力画像に対して画面内で一様または非一様の鮮鋭化処理を施す。
【００６９】
図１２は、実施形態に係る画像処理部１０４による鮮鋭化処理を示す一例のフローチャートである。画像処理部１０４は、先ず、ステップＳ６１で、境界判定部１０１から出力される境界判定結果に基づき、入力画像が境界線を含むか否かを判定する。若し、入力画像が境界線を含まないと判定した場合、画像処理部１０４は、処理をステップＳ６４に移行させ、入力画像に対する鮮鋭化処理を、画面内で一様の強度で行う。
【００７０】
一方、画像処理部１０４は、ステップＳ６１で、入力画像が境界線を含むと判定した場合、処理をステップＳ６２に移行させる。ステップＳ６２で、空判定部１０２から出力される空判定結果に基づき、入力画像が空を含むか否かを判定する。若し、入力画像が空を含まないと判定した場合、画像処理部１０４は、処理をステップＳ６４に移行させる。
【００７１】
一方、画像処理部１０４は、ステップＳ６２で、入力画像が空を含むと判定した場合、処理をステップＳ６３に移行させる。画像処理部１０４は、ステップＳ６３で、入力画像に対する鮮鋭化処理を、画像内で非一様の強度で行う。
【００７２】
なお、図１２のフローチャートにおいて、ステップＳ６１による境界線を含むか否かの判定処理を行わず、ステップＳ６２から処理を開始し、処理をステップＳ６３の処理に移行させるか、ステップＳ６４の処理に移行させるかを判定することもできる。この場合、画像処理部１０４は、図２のフローチャートにおいて処理がステップＳ２４に移行されると、先ず、図１２のフローチャートにおけるステップＳ６２で入力画像が空を含むか否かを判定する。画像処理部１０４は、入力画像が空を含む画像であれば、画面内で非一様の鮮鋭化処理を行い（ステップＳ６３）、入力画像が空を含まない画像であれば、画面内で一様の鮮鋭化処理を行う（ステップＳ６４）。
【００７３】
図１２のフローチャートにおけるステップＳ６３の、非一様の鮮鋭化処理について、より詳細に説明する。ステップＳ６３では、上述のようにして取得部１０３で算出した座標毎（画素毎）の奥行き値Ｄを用いて、入力画像に対して、画像の画面内について非一様の強度で鮮鋭化処理を施す。先ず、画像処理部１０４は、奥行き値Ｄを、画像処理の強度を示す強度λに変換する。画像処理部１０４は、例えば次式（１０）を用いて、奥行き値Ｄの強度λへの変換を行う。なお、式（１０）中、値γは、正の定数である。
λ(ｘ，ｙ)＝γＤ（ｘ，ｙ）    …（１０）
【００７４】
式（１０）によれば、奥行き値Ｄが大きいほど、強度λの値も大きくなる。これはこの例に限定されず、例えば奥行き値Ｄが所定の値に近いほど強度λが大きくなるようにしてもよい。また、奥行き値Ｄと強度λとの対応関係を記憶するテーブルを予め準備し、画像処理部１０４は、このテーブルを参照して、取得した奥行き値Ｄに対応する強度λを取得してもよい。
【００７５】
次に、画像処理部１０４は、式（１０）で求めた強度λに基づき、入力画像の鮮鋭化処理を行う。鮮鋭化処理は、例えば、元画像と、元画像をぼかした画像との差分に基づき元画像の輪郭部の色や明暗差を強調する、アンシャープマスク処理を用いることができる。例えば、画像処理部１０４は、次式（１１）に従い入力画像Ｉに対してアンシャープマスク処理を施し、鮮鋭化された出力画像Ｉ’を得る。なお、式（１１）において、値Ｆは、入力画像Ｉに対してローパスフィルタ処理を施した画像を示す。
Ｉ’(ｘ，ｙ)＝Ｉ(ｘ，ｙ)＋λ(ｘ，ｙ)｛Ｉ(ｘ，ｙ)−Ｆ(ｘ，ｙ)｝    …（１１）
【００７６】
式（１０）に示したように、強度λは、入力画像Ｉの各画素について求めた奥行き値Ｄに比例する値である。したがって、出力画像Ｉ’は、入力画像Ｉの各画素の奥行き値Ｄに応じて、画面内で非一様の強度でアンシャープマスク処理が施されることになる。
【００７７】
なお、入力画像に対する非一様な鮮鋭化処理は、上述の方法に限定されない。例えば、画像処理部１０４は、他の鮮鋭化方式により入力画像に対して画面内で一様の強度で鮮鋭化処理を施した画像を生成し、当該画像と入力画像とを、強度λの値に応じてαブレンドして、鮮鋭化された出力画像を得るようにしてもよい。
【００７８】
画像処理部１０４は、鮮鋭化処理に加えて、画像拡大処理を行ってもよい。画像拡大に超解像方式を用いる場合は、画像処理部１０４は、例えば以下の手順で処理する。画像処理装置が動画像を処理するものとする。この場合、画像処理部１０４は、フレームバッファを備え、処理で使用するための、前時刻の入力画像を当該フレームバッファに保持しておく。次に、各種の超解像方式を用い、現時刻の入力画像と前時刻の入力画像とから、超解像度処理結果の画像Ｓを計算する。超解像方式には、例えば、バックプロジェクション法を適用することができる。次に、画像処理部１０４は、強度λを、画像Ｓと同じ解像度となるように拡大処理し、強度λ’を取得する。強度λの拡大処理は、例えば双線形補間を用いて行うことができる。
【００７９】
画像処理部１０４は、拡大された強度λ’を用いて、次式（１２）により出力画像Ｊ’を得る。なお、式（１２）において、値Ｊは、入力画像を例えば双線形補間を用いて画像Ｓと同じ解像度になるように拡大した画像を示す。
Ｊ’(ｘ，ｙ)＝Ｊ(ｘ，ｙ)＋λ’(ｘ，ｙ)｛Ｓ(ｘ，ｙ)−Ｊ(ｘ，ｙ)｝    …（１２）
【００８０】
図１２のフローチャートにおけるステップＳ６４の、一様の鮮鋭化処理について、より詳細に説明する。ステップＳ６４では、画像処理部１０４は、入力画像Ｉに対して、例えば次式（１３）に従いアンシャープマスク処理を施して、入力画像Ｉの画面内に一様の強度で鮮鋭化処理を施して出力画像Ｉ’を得る。
Ｉ’(ｘ，ｙ)＝Ｉ(ｘ，ｙ)＋μ｛Ｉ(ｘ，ｙ)−Ｆ(ｘ，ｙ)｝    …（１３）
【００８１】
式（１３）において、値μは、正の定数である。ここで、値μは、任意の正の値に設定することができる。このとき、強度λの取り得る値の範囲に応じて値μを定め、上述したステップＳ６４における処理強度との差を一定以下にすると好ましい。例えば、強度λの取り得る値の最大値や中間値を、値μとすることができる。
【００８２】
画像処理部１０４が鮮鋭化処理に加えて画像拡大処理を行う場合には、上述のステップＳ６３で説明した方法と同様にして、超解像度処理結果の画像Ｓを計算し、下記の式（１４）に従い出力画像Ｊ’を得る。
Ｊ’(ｘ，ｙ)＝Ｊ(ｘ，ｙ)＋μ｛Ｓ(ｘ，ｙ)−Ｊ(ｘ，ｙ)｝    …（１４）
【００８３】
このように、実施形態に係る画像処理装置によれば、入力画像が所定の画像を含む場合に、入力画像に対する鮮鋭化処理を、画面内に非一様の強度で行うか一様の強度で行うかを切り替えるようにしている。所定の画像を境界線を含み、且つ、空を含む画像とした場合に、境界線および空を含む画像は、風景画像などの屋外で遠景を含む深い奥行きの範囲を撮影した画像であると考えられる。このような所定の画像に対して、遠景と近景との奥行きの差の知覚の向上、すなわち、奥行き感を向上させることで、高画質化の効果が得られる。
【００８４】
一般に、画像の局所的な情報から被写体の絶対的な奥行きを推定することは困難である。これに対して、実施形態では、画像の構図から奥行きを推定することで、深い奥行きの範囲を撮影した画像か否かを推定できるという利点がある。
【００８５】
上述したように、実施形態に係る画像処理装置によれば、奥行き感の向上が望まれる画像に対して選択的に奥行き感を向上させる処理を行うことが可能となる。一方、屋内で撮影された画像のように、奥行き感の向上が望まれない画像に対しては、画面全体が鮮鋭化されることにより、高画質な画像を得ることが可能となる。このように、実施形態に係る画像処理装置では、画像の奥行き感を向上させる処理をより適切に行うことができる。
【００８６】
実施形態に係る画像処理装置は、静止画像および動画像の何れを入力画像として入力しても、同様に、奥行き感の向上による高画質を得ることができる。また、上述では、空判定部１０２において青空を判定するように説明したが、これはこの例に限定されず、夕焼けなどの赤味を帯びた空を判定することも可能である。この場合、例えば画像全体または所定領域の色味を求め、求められた色味に基づき青味が強ければ青空、赤味が強ければ夕焼け空などと判定することが可能である。また、夕焼け空と判定された場合、信頼度ｆや雲との境界を判定する際に、色差値Ｕの代わりに色差値Ｖを用いることが考えられる。
【００８７】
（他の実施形態）
上述の実施形態に係る画像処理装置は、汎用のコンピュータ装置を基本ハードウェアとして用いて実現することも可能である。図１３は、上述の実施形態を適用可能なコンピュータ装置４００の一例の構成を示す。
【００８８】
図１３に例示されるコンピュータ装置４００において、バス４０１に対してＣＰＵ４０２、ＲＯＭ(Read  Only  Memory)４０３、ＲＡＭ(Random  Access  Memory)４０４および表示制御部４０５が接続される。また、バス４０１に対して、ハードディスク４０７、ドライブ装置４０８、入力部４０９および通信Ｉ／Ｆ４１０が接続される。
【００８９】
ＣＰＵ４０２は、ＲＯＭ４０３およびハードディスク４０７に記憶されるプログラムに従い、ＲＡＭ４０４をワークメモリとして用いて、このコンピュータ４００の全体を制御する。表示制御部４０５は、ＣＰＵ４０２により生成された表示制御信号を、表示装置４０６が表示可能な信号に変換して出力する。
【００９０】
ハードディスク４０７は、上述のＣＰＵ４０２が実行するためのプログラムが格納されると共に、入力画像となる画像データや他のデータが格納される。ドライブ装置４０８は、脱着可能な記録媒体４２０が装填可能とされ、当該記録媒体４２０に対するデータの読み書きを行うことができる。ドライブ装置４０８が対応可能な記録媒体４２０としては、ＣＤ(Compact  Disk)、ＤＶＤ(Digital  Versatile  Disk)といったディスク記録媒体や、不揮発性の半導体メモリが考えられる。
【００９１】
入力部４０９は、外部からのデータの入力を行う。例えば、入力部４０９は、ＵＳＢ(Universal  Serial  Bus)やＩＥＥＥ１３９４(Institute  of  Electrical  and  Electronics  Engineers  1394)といった所定のインターフェイスを有し、このインターフェイスにより外部の機器からのデータ入力を行う。入力画像の画像データは、この入力部４０９から入力することができる。
【００９２】
また、入力部４０９に対して、キーボードやマウスといった入力デバイスが接続される。ユーザは、例えば表示装置４０６に対する表示に応じてこれら入力デバイスを操作することで、コンピュータ装置４００に対して指示を出すことができる。
【００９３】
通信Ｉ／Ｆ４１０は、所定のプロトコルを用いて外部の通信ネットワークと通信を行う。入力画像の画像データを、この通信Ｉ／Ｆ４１０を介して外部の通信ネットワークから供給してもよい。
【００９４】
上述した境界判定部１０１、空判定部１０２、取得部１０３および画像処理部１０４は、ＣＰＵ４０２上で動作する画像処理プログラムによって実現される。実施形態に係る画像処理を実行するための画像処理プログラムは、インストール可能な形式または実行可能な形式のファイルでＣＤ、ＤＶＤなどのコンピュータで読み取り可能な記録媒体４２０に記録して提供される。これに限らず、画像処理プログラムを、ＲＯＭ４０３に予め記憶させて提供してもよい。
【００９５】
さらに、実施形態に係る画像処理を実行するための画像処理プログラムを、インターネットなどの通信ネットワークに接続されたコンピュータ上に格納し、通信ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、実施形態に係る画像処理を実行するための画像処理プログラムを、インターネットなどの通信ネットワーク経由で提供または配布するように構成してもよい。
【００９６】
実施形態に係る画像処理を実行するための画像処理プログラムは、例えば、上述した各部（境界判定部１０１、空判定部１０２、取得部１０３および画像処理部１０４）を含むモジュール構成となっており、実際のハードウェアとしてはＣＰＵ４０２が例えばハードディスク４０７から当該画像処理プログラムを読み出して実行することにより上記各部が主記憶装置（例えばＲＡＭ４０４）上にロードされ、各部が主記憶装置上に生成されるようになっている。
【００９７】
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【符号の説明】
【００９８】
１０１  境界判定部
１０２  空判定部
１０３  取得部
１０４  画像処理部
１０１１  構図判定部
１０１２  境界線座標算出部
１０２１  信頼度算出部
１０２２  空領域判定部
【図１】
0005703255.tif 000007
【図２】
0005703255.tif 000008
【図３】
0005703255.tif 000009
【図４】
0005703255.tif 000010
【図５】
0005703255.tif 000011
【図６】
0005703255.tif 000012
【図７】
0005703255.tif 000013
【図８】
0005703255.tif 000014
【図９】
0005703255.tif 000015
【図１０】
0005703255.tif 000016
【図１１】
0005703255.tif 000017
【図１２】
0005703255.tif 000018
【図１３】
0005703255.tif 000019