以下、本発明の実施の形態による撮像装置について図面を参照して説明する。
図1は本発明による実施の形態による撮像装置が備える、被写体領域決定に係わる部分の一例を説明するためのブロック図である。なお、以下の説明では、撮像装置の一つであるデジタルカメラ(以下単にカメラと呼ぶ)を例に挙げて説明する。
図示の撮像装置は画像信号入力部101を備えており、画像信号入力部101にデジタル画像信号(以下単に画像信号とも呼ぶ)が入力される。
本実施の形態の撮像装置には、複数のレンズなどで構成される撮影光学系(図示せず)が備えられ、この撮影光学系を介して光学像が撮像素子(例えば、CCDやCMOS:図示せず)に結像する。そして、撮像素子は結像した光学像に応じた電気信号(アナログ信号)を出力する。このアナログ信号に対して、A/D変換部(図示せず)においてサンプリング、ゲイン調整、およびA/D変換などの処理が施されて、デジタル信号とされる。そして、このデジタル信号が画像信号入力部101に与えられる。
画像処理部102は、画像信号入力部101からデジタル信号を受けて、デジタル信号に対して各種の画像処理を行う。そして、画像処理部102は処理済みのデジタル信号(画像データともいう)を出力する。例えば、画像処理部102はデジタル信号をYUV画像信号に変換して出力する。なお、Yは輝度信号を表し、Uは輝度信号と青色成分との差を表す。また、Vは輝度信号と赤色成分との差を表す。
画像処理部102の出力である画像データはシーン判別部103(シーン判別手段)および第2の領域抽出部105(第2の領域抽出手段)に与えられる。シーン判別部103は画像データに基づいて撮影シーンが「逆光」および「スポットライト」など複数の撮影シーンのうちいずれのシーンであるかを判別する。このとき、シーン毎に異なる判別条件が予め設定されていて、満たしている判別条件に応じてシーン判別を行う。
さらに、図示はしないが、シーン判別部103によって撮影シーンの判別が行われると、画像処理部102はその判別結果に応じて当該撮影シーンで撮影が行われた際に最適な画像処理を行う。そして、撮像制御部(図示せず)が当該撮影シーンで撮影する際に最適な撮像制御を行う。
シーン判別部103によるシーン判別を行う際には、例えば、画像データが示す画像を複数の画像領域に分割して、後述するグループ毎に特徴量に応じて被写体評価値(第1の被写体評価値ともいう)および背景評価値を決定する。そして、第1の被写体評価値および背景評価値の最大値がそれぞれ予め設定された被写体評価閾値以上および背景評価閾値以上であると、撮影シーンが逆光シーンであると判別する。なお、シーン判別部103によるシーン判別については後で詳細に説明する。
第1の領域抽出部104(第1の領域抽出手段)は、シーン判別部103によるシーン判別結果を受けて、シーン判別結果に応じて領域の抽出を行う。第1の領域抽出部104は、領域の抽出を行う際、例えば、シーン判別結果が逆光シーンであれば、当該シーンの判別に用いた項目に基づいて決定された第1の被写体評価値が最大となる領域を抽出領域(第1の抽出領域)とする。
第2の領域抽出部105は、画像データに基づいて領域の抽出を行う。この際、第2の領域抽出部105はシーン判別部103でシーン判別の際に用いた項目とは異なる項目に基づいて領域の抽出を行う。領域の抽出の際には、第2の領域抽出部105は、例えば、画像データが示す画像を複数の画像領域に分割する。
そして、第2の領域抽出部105は各画像領域における位置、大きさ、および色などの特徴量に応じて、画像(画面)の中心付近に位置する被写体らしさを示す被写体評価値(第2の被写体評価値ともいう)を決定する。続いて、後述するように、第2の領域抽出部105は第2の被写体評価値が最も高い領域を抽出領域(第2の抽出領域)として抽出を行う。なお、第2の領域抽出部105における抽出処理については、後ほど詳細に説明する。
被写体領域決定部106(被写体領域決定手段)は、シーン判別部103によるシーン判別結果と第1、第2の領域抽出部104、105の領域抽出結果(第1、第2の抽出領域)とに応じて、被写体領域を決定する。
被写体領域決定部106において被写体領域を決定する際、シーン判別部103によるシーン判別結果が所定の撮影シーンである場合、被写体領域決定部106は第1の領域抽出部104によって抽出された領域を被写体領域として決定する。一方、シーン判別部103によるシーン判別結果が所定の撮影シーンでないと、被写体領域決定部106は第2の領域抽出部105によって抽出された領域を被写体領域として決定する。ここで、所定の撮影シーンとは、例えば、逆光シーン又はスポットライトシーンをいう。
被写体領域決定結果出力部107は、被写体領域決定部106により決定された被写体領域を示す情報を出力する。
このように、図1に示す撮像装置では、撮影シーンが所定の撮影シーンと判定すると、シーン判別に用いた項目に基づいて抽出した領域を被写体領域とする。一方、撮影シーンが所定の撮影シーンでないと、シーン判別に用いた項目とは異なる項目に基づいて抽出した領域を被写体領域とする。これによって、撮影シーンに合わせて精度よく被写体領域を決定することができる。
続いて、図1に示す撮像装置におけるシーン判別処理について詳細に説明する。ここでは、一例として撮影シーンが逆光シーンであるか否かを判別する場合について説明する。
図2は、図1に示す撮影装置において撮影シーンが逆光シーンであるか否かの判別処理を説明するためのフローチャートである。
図1および図2を参照して、シーン判別処理が開始されると、シーン判別部103は、画像処理部102の出力である画像データが示す画像を複数の領域(ブロック領域ともいう)に分割する(ステップS201)。ここでは、シーン判別部103は、画像をM×N(M行N列)のブロック領域に分割するとする(MおよびNの各々は2以上の整数である)。例えば、M=32、N=24であり、シーン判別部103は分割の際、各ブロック領域が互いに重ならないように分割を行う。
次に、シーン判別部103は各ブロック領域の特徴量を決定する(ステップS202)。特徴量の決定の際には、シーン判別部103は、例えば、各ブロック領域をさらに複数の小領域に分割して、小領域毎の輝度値を求める。そして、シーン判別部103は複数の小領域において最小の輝度値を当該ブロック領域における特徴量とする。
この際、シーン判別部103は、各ブロック領域において小領域の輝度値のうちに所定の輝度閾値(Th_High Level)以上の輝度値を有する小領域があれば、これら小領域において最も高い輝度値を特徴量とする。
ところで、ブロック領域において極端に輝度の低い小領域および極端に輝度の高い小輝度領域のみが存在すると、これら輝度値の平均値を特徴量とした場合には、低輝度値および高輝度値のどちらでもない輝度値が特徴量となってしまう可能性がある。
一方、前述のように、最低輝度値又は最高輝度値をブロック領域の特徴量として用いるようにすれば、ブロック領域における特徴量の精度を良好とすることができる。
続いて、シーン判別部103は、m×nに位置するブロック領域について隣接するブロック領域の特徴量と比較する(ステップS203)。ここで、m=1〜Mまでのいずれかの整数であり、n=1〜Nまでのいずれかの整数である。
つまり、シーン判別部103は、まず、m=n=1として撮影画像の左上隅に位置するブロック領域について隣接するブロック領域の特徴量と比較する。続いて、シーン判別部103は、m=1、n=2〜Nとして、右側に対象のブロック領域を順次に移動させて、対象のブロック領域に隣接するブロック領域の特徴量と比較する。そして、1行目が終わると、シーン判別部103は、m=2、n=1〜Nとして、2行目について同様にして特徴量の比較を行う。
このようにして、シーン判別部103は、最終的に、m=M、n=1〜NとしてM行目までのブロック領域について特徴量の比較を行う。
なお、ここでは、シーン判別部103は対象のブロック領域の上側に位置するブロック領域および左側に位置するブロック領域を隣接するブロック領域としてその特徴量の比較を行うものとする。
上述のようにして、シーン判別部103は全てのブロック領域についてその上側および左側に位置するブロック領域とその特徴量を比較して差分を求める。この際、シーン判別部103は上側に位置するブロック領域(上ブロック領域)との差分を上側差分とし、左側に位置するブロック領域(左ブロック領域)との差分を左側差分とする。
続いて、シーン判別部103は、上側差分の絶対値が予め設定された差分閾値(Th_Same)以下であるか否かを判定する(ステップS204)。上側差分の絶対値が差分閾値以下であると(ステップS204において、YES)、シーン判別部103は対象のブロック領域と上ブロック領域とが類似するとして、同一のグループに設定する(ステップS205)。
次に、シーン判別部103は、左側差分の絶対値が予め設定された差分閾値(Th_Same)以下であるか否かを判定する(ステップS206)。なお、上側差分の絶対値が差分閾値を超えていると(ステップS204において、NO)、シーン判別部103はステップS206の処理に移行する。
左側差分の絶対値が差分閾値以下であると(ステップS206において、YES)、シーン判別部103は対象のブロック領域と左ブロック領域とが類似するとして同一のグループに設定する(ステップS207)。
そして、シーン判別部103は全てのブロック領域について、上述のグループ設定を行ったか否かを判定する(ステップS208)。全てのブロック領域についてグループ設定を行っていないと(ステップS208において、NO)、シーン判別部103はステップS204の処理に戻る。
なお、ステップS206において、左側差分の絶対値が差分閾値を超えていると(ステップS206において、NO)、シーン判別部103はステップS208の処理に移行する。
全てのブロック領域についてグループ設定を行っていると(ステップS208において、YES)、シーン判別部103は評価値決定処理を開始する。シーン判別部103はグループ毎にブロック領域の特徴情報を取得する(ステップS209)。ここで、特徴情報として、例えば、グループを構成するブロック領域における平均輝度値、グループにおけるブロック領域の数、その重心位置、およびグループを規定する上、下、左、および右端の座標などが用いられる。
そして、シーン判別部103はグループ毎の特徴情報に基づいて被写体評価値(第1の被写体評価値ともいう)を決定する(ステップS210)。例えば、シーン判別部103は、後述の7種類の項目に応じてそれぞれ重み(項目別評価値)を決定して、これら重みを互いに乗算して第1の被写体評価値を決定する。
図3は、第1の被写体評価値の決定の際に用いられる項目(第1の項目群:以下単に第1の項目ともいう)の一例を示す図である。図3(a)はグループの平均輝度値に応じた重みを示す図であり、図3(b)はグループのブロック領域の数に応じた重みを示す図である。また、図3(c)はグループを構成するブロック領域の重心の水平方向の位置に応じた重みを示す図であり、図3(d)はグループを構成するブロック領域の重心の垂直方向の位置に応じた重みを示す図である。さらに、図3(e)はグループの画面端(画像端)に接するブロック領域の数に応じた重みを示す図であり、図3(f)はグループの形状に応じた重みを示す図である。加えて、図3(g)は測光値に応じた重みを示す図である。
図3(a)〜図3(g)の各々において、縦軸は重みを表し、重みは0〜10の値をとるものとする。図3(a)において、横軸は平均輝度値を表し、図3(b)において、横軸はブロック領域の数(ブロック数)を表す。図3(c)において、横軸は画面(画像)中心から重心までの水平方向の距離を表し、図3(d)において、横軸は画面(画像)の上部(上端)から重心までの垂直方向の距離を表す。図3(e)において、横軸は画像の上、左、および右端に接するブロック数とグループを構成するブロック数との比を表し、図3(f)において、横軸は縦サイズと横サイズとの比(縦横サイズ比)を表す。そして、図3(g)において、横軸は測光値を表す。
図3(a)に示すように、グループの平均輝度値が低い方が低輝度の被写体である可能性が高いとしてその重みを大きくする。なお、平均輝度値が所定の輝度値以上では重みを一定とする(ここでは、重み=0)。
図3(b)に示すように、ブロック数が所定範囲より少ない場合には、物体の影など被写体でない可能性が高いとしてその重みを小さくする。同様に、ブロック数が所定範囲より大きい場合においてもその重みを小さくする。
自動露出制御機能を有するカメラにおいては、逆光シーンで被写体が画面内の大部分を占めていると、当該領域が適正になるように露出制御が行われる。このため、低輝度の被写体の輝度が高くなる方向に露出値が設定されることがある。そして、輝度値が高くなると低輝度の被写体であるか否かを判別することが困難となるため、ブロック数が所定範囲より大きい場合にはその重みを小さくする。
このように、図3(b)では、ブロック数の増加につれてその重みが0から増加し、第1のブロック数になると重みが最大となる(重み=10)。そして、第1のブロック数から第2のブロック数までの所定範囲では重みは最大であり(重み=10)、第2のブロック数を過ぎると重みが低減する。ブロック数が第3のブロック数となると重みが最低となり(重み=10)、以降重みは最低となる(重み=0)。
図3(c)に示すように、重心位置が画面(画像)の水平方向において中心に近い方が周辺の背景ではなく被写体である可能性が高いとして重みを大きくする(重み=10)。そして、重心位置が中心から離れるにつれて重みが低減して、重心位置が中心から所定の距離だけ離れると、重みは最低とする(重み=0)。
図3(d)に示すように、重心位置が画面(画像)の垂直方向において下端に近くなると直立する人物などを撮影する画角である可能性が高いとみなして重みを最大とする(重み=10)。
つまり、図3(d)においては、画面の上端から重心位置までの距離が所定の第1の距離以下では重みを最低とし(重み=0)、所定の距離を過ぎると重みを逓増させる。そして、一旦重みを最大とした後(重み=10)、重みを距離に応じて低減させて、所定の第2の距離を過ぎると重みを最低とする(重み=0)。
図3(e)に示すように、画面(画像)の上端、画面の左端、および画面の右端に接するブロック数が多いと周辺の背景の可能性が高いとして重みを小さくする。
図示の例では、比率が低い場合には重みを最大として(重み=10)、続いて比率が増加するにつれて重みを低減させる。そして、比率が所定の比率となると重みを最低とする(重み=0)。
図3(f)において、グループの形状を決定する際には、まずグループの上端および下端の座標の差分から高さを求め、左端および右端の座標の差分から幅を求める。そして、高さと幅との比率からグループの縦横サイズ比率を決定する。
図3(f)において、縦横サイズ比が小さいと、つまり、横サイズが大きく横長であると、直立している人物などとはその形状が大きく異なる。このため、低輝度の被写体である可能性が低いとして重みを小さくする。
図示の例では、縦横サイズ比が小さい場合には、重みを最低とし(重み=0)、縦横サイズ比が増加すると、重みを逓増させる。そして、縦横サイズ比が所定の比となると、重みを最大とする(重み=10)。
なお、図3(f)に示す例では、直立した人物の形状に近いと重みを大きくしたが、動物など人物以外における逆光シーンを対象とする場合には、図3(f)とは異なる重み曲線を準備するようにしてもよい。この場合においても、縦横サイズ比が大きくなると重みを大きくする。
図3(g)に示すように、撮影する際の測光値が低いと、夜景などのように画面全体に亘って低輝度領域が多く、逆光とは異なるシーンであるとして、重みを小さくする。
図示の例では、測光値が小さい場合には、重みを最低とし(重み=0)、測光値が増加すると、重みを増加させる。そして、測光値が所定の測光値となると、重みを最大とする(重み=10)。
例えば、図3(a)で示したグループの平均輝度値に応じた重みと組み合わせて考えると、平均輝度値が低いグループが存在してかつ測光値が高ければ、日中シーンなどのように画面全体が明るい一方で低輝度の領域が存在することを表す。つまり、背景が明るいシーンに低輝度の被写体が存在する逆光シーンである可能性があるとみなすことが可能となる。
上述のようにして、グループ毎に図3(a)〜図3(g)に示す重みを得て、これら重みを相互に乗算した結果が各グループにおける第1の被写体評価値となる。
続いて、シーン判別部103はグループ毎の特徴情報に基づいて背景評価値を決定する(ステップS211)。例えば、シーン判別部103は後述の3種類の項目に応じてそれぞれ重みを決定して、これら重みを相互に乗算して背景評価値を決定する。
図4は、背景評価値の決定の際に用いられる項目の一例を示す図である。そして、図4(a)はグループの平均輝度値に応じた重みを示す図であり、図4(b)はグループのブロック領域の数に応じた重みを示す図である。また、図4(c)はグループを構成するブロック領域の重心の垂直方向の位置に応じた重みを示す図である。
図4(a)〜図4(c)の各々において、縦軸は重みを表し、重みは0〜10の値をとるものとする。図4(a)において、横軸は平均輝度値を表し、図4(b)において、横軸はブロック領域の数(ブロック数)を表す。図4(c)において、横軸は画面(画像)の上部(上端)から重心までの垂直方向の距離を表す。
図4(a)に示すように、平均輝度値が高くなると、高輝度の背景である可能性が高いとして重みを大きくする。図示のように、平均輝度値が低い場合には、重みは最低であり(重み=0)、所定の第1の輝度よりも輝度が大きくなると、重みが徐々に増加する。そして、輝度が所定の第2の輝度以上となると重みは最大となる(重み=10)。
図4(b)に示すように、ここではブロック数が多いと画面(画像)に広がっている空などの背景である可能性が高いとして重みを大きくする。図示の例では、ブロック数が増加するにつれて重みが大きくなり、所定のブロック数以上となると重みが最大となる(重み=10)。
図4(c)に示すように、重心位置が画面(画像)の上端に近くなると、画像中の上部に位置する空などの背景である可能性が高いとして重みを大きくする。ここでは、重心位置が画面の上端から所定の第1の距離までは重みを最大とし(重み=10)、重心位置が所定の第1の距離よりも遠くなると重みを徐々に低減する。そして、重心位置が第2の距離以上となると重みを最低する(重み=0)。
上述のようにして、グループ毎に図4(a)〜図4(c)に示す重みを得て、これら重みを相互に乗算した結果が各グループにおける背景評価値となる。
続いて、シーン判別部103は各グループの第1の被写体評価値および背景評価値から最も大きい第1の被写体評価値および最も大きい背景評価値を選択して、それぞれ全体被写体評価値および全体背景評価値とする(ステップS212)。
そして、シーン判別部103は、全体被写体評価値および全体背景評価値がそれぞれ予め設定された被写体評価閾値以上および背景評価閾値以上である場合に、撮影シーンが逆光シーンであると判別して(ステップS213)、シーン判別結果を出力する。そして、シーン判別部103はシーン判別処理を終了する。
なお、ここでは、全体被写体評価値および全体背景評価値がそれぞれ予め設定された被写体評価閾値以上および背景評価閾値以上である場合に、撮影シーンが逆光シーンであると判別するようにしているが、別の判別方法と組み合わせて逆光シーンを判別してもよい。例えば、全体被写体評価値が被写体評価閾値未満であっても、人物などの顔領域が検出されかつ顔領域の輝度値が予め設定した輝度閾値以下であると、シーン判別部103は撮影シーンが逆光シーンであると判別するようにしてもよい。
また、全体背景評価値が背景評価閾値未満であっても、画像中の上部の輝度値が画像全体の輝度値と比較して所定の輝度値以上に明るい場合には、シーン判別部103は撮影シーンが逆光シーンであると判別するようにしてもよい。
また、全体背景評価値が背景評価閾値未満であっても、輝度値が輝度閾値以上であるブロック領域の数が所定の数以上存在する場合には、シーン判別部103は撮影シーンが逆光シーンであると判別するようにしてもよい。
また、上述のように、全体被写体評価値および全体背景評価値に基づいて逆光シーンか否かの判別を行うとより精度よく判別を行うことができるが、全体被写体評価値のみに基づいて判別を行っても精度よく判別を行うことができる。
また、第1の被写体評価値を決定する際に図3に示したすべての項目の重みを用いなくてもよいし、全体背景評価値を決定する際に図4に示したすべての項目の重みを用いなくてもよい。
また、上述の図3および図4においては、項目毎の重みを0〜10としたが、項目毎に重みの範囲を変えるようにしてもよい。
前述したように、第1の領域抽出部104は、シーン判別部103によるシーン判別結果に応じて領域の抽出を行う。領域の抽出を行う際、第1の領域抽出部104は被写体評価値の最大値を有する領域を抽出領域(グループ領域)とする。
次に、図1に示す第2の領域抽出部105における抽出処理について説明する。
図5は、図1に示す第2の領域抽出部105における抽出処理を説明するためのフローチャートである。
抽出処理を開始すると、第2の領域抽出部105は、画像処理部102の出力である画像データが示す画像を複数の領域(以下ブロックエリアと呼ぶ)に分割する(ステップS501)。ここでは、例えば、画像を横方向に20分割、縦方向に15分割して合計300のブロックエリアを得る(ステップS502)。なお、分割数はシーン判別部103と同じであっても構わない。
次に、第2の領域抽出部105は各ブロックエリアにおいて画素が示す色相の平均値を算出して、この色相平均値を当該ブロックエリアの代表値とする(ステップS502)。そして、第2の領域抽出部105は各ブロックの代表値を要素とする色相ヒストグラムを作成する(ステップS503)。
色相ヒストグラムの作成に当たって、第2の領域抽出部105は、その彩度が所定の彩度閾値以上であるブロックエリアのみを用いて、色相ヒストグラムを作成する。つまり、彩度が所定の彩度閾値未満であるブロックエリアについては色相値の信頼性が低いので、当該ブロックエリアは色相ヒストグラムの作成に当たっては除外する。
続いて、第2の領域抽出部105は色相ヒストグラムに基づいて同一色のブロックエリアをグループ化して画像を分割する(ステップS504:色相による領域分割)。
図6は、図1に示す第2の領域抽出部105で行われるグループ化処理を説明するための図である。図6(a)は色相ヒストグラムにおいて同一色領域を調べる処理を示す図であり、図6(b)はグループ化(グルーピング)処理済の領域を色相ヒストグラム上で示す図である。
色相による領域分割を行う際には、第2の領域抽出部105は色相ヒストグラムの全区間を走査して、その頻度(山)が最も高い山(Highest Peak1)を見つける。(図6(a)参照)。続いて、第2の領域抽出部105は、最も高い山(Highest Peak1)から左右両側の谷方向に向かって走査する。
第2の領域抽出部105は、色相ヒストグラムの頻度(山)が所定の頻度閾値(TH_Freq)以下となるか又は最も高い山からの距離(区間距離)が所定の距離閾値(TH_HueRange)に達するまでの区間を同一の色領域の範囲とする。そして、第2の領域抽出部105はブロックエリアの代表値が当該範囲に含まれるブロックエリアを同一の領域であるとしてグループ化する。さらに、第2の領域抽出部105は当該区間をグルーピング処理済みとしてメモリ(図示せず)に記録する(図6(b)参照)。
その後、第2の領域抽出部105はグルーピング処理済みの区間を除いて、色相ヒストグラムを再び走査する。第2の領域抽出部105は残りの色相ヒストグラム中で最も高い山を見つける(この山をHighest Peak2とする)。このようにして、Highest Peak2を見つけると、第2の領域抽出部105は、前述のようにしてグループ化処理を行う。
この際、山(Highest Peak2)から谷方向に向かって走査した場合に、色相ヒストグラムの頻度が頻度閾値(TH_Freq)以下となる区間に辿り着く前に、グルーピング処理済みの区間に達することも考えられる。その場合には、第2の領域抽出部105はそこまでの区間を同一の色領域の範囲とする。
このようにして、第2の領域抽出部105は色相ヒストグラムの全区間がグルーピング処理済みとされるまで上述の処理を繰り返す。この処理によって、第2の領域抽出部105は同一の色領域毎にブロックエリアをグループ化する。すなわち、シーン判別部103とは異なる特徴量に基づいてグループ化を行う。
図7は図1に示す第2の領域抽出部105で行われるラベリング処理を説明するための図である。
上述のようにして、グループ化処理を行った後、第2の領域抽出部105は、全てのブロックエリアを走査して、互いに隣接していない同一の色領域を別のグループとするラベリング処理を行う。
図7に示す例では、同一の色領域701および702は同一のグループにグループ化されているが、これらの色領域701および702は互いに隣接していないので、ラベリング処理を行うと、グループ”A”とグループ”B”とに分けられる。
上記のラベリング処理によって、同一の色領域であるが、互いに離れている人物又は物体を、別のグループとして認識することが可能となる。
続いて、第2の領域抽出部105はステップS504の領域分割で得られたグループ領域の中から画面(画像)の上端、左端、又は右端に接触しているグループ領域を調べて、このグループ領域を背景領域と判定する(ステップS505)。そして、第2の領域抽出部105は背景領域を除外したグループ領域について、その位置、面積、および形状に応じてそれぞれ評価値を決定する(ステップS506)。
図8は、図1に示す第2の領域抽出部105で行われる評価値の決定を説明するための図であり、評価値を決定に用いる複数の項目(第2の項目群:以下単に第2の項目ともいう)の一例を示している。図8(a)は位置による評価値の決定を示す図であり、図8(b)は面積による評価値の決定を示す図である。また、図8(c)は形状による評価値の決定を示す図である。
図8(a)において、グループ領域の位置が画面(画像)の中心に近い方が評価値は大きくなる。図示の例では、画面の中心では評価値は”100”であり、画面の中心から離れるにつれて評価値は低減する。そして、画面の中心からの距離が所定の距離(Th1)となった後には、評価値は”20”と一定になる。
図8(b)において、グループ領域の面積の大きい方がほうが評価値が高くなる。図示の例では、面積が大きくなるにつれて評価値が逓増し、所定の面積(Th2)となると、評価値は”100”となる。そして、それ以降においては面積が増加しても評価値は一定となる。
このように、第2の領域抽出部105はグループ領域の位置および面積に応じてそれぞれ評価値を求める(ステップS506)。以下これらの評価値をそれぞれ位置評価値および面積評価値と呼ぶ。
次に、第2の領域抽出部105はグループ領域の形状に応じて評価値を決定する(ステップS507)。以下この評価値を形状評価値と呼ぶ。形状評価値を求める際には、まず、第2の領域抽出部105はグループ領域においてその重心を求めて、当該重心から最も遠いグループ領域の点と重心との距離を算出する。以下この距離を最遠点距離と呼ぶ。
最遠点距離を算出する際には、グループ領域の外縁に位置するいずれかのブロックエリアを始点として、所定のブロックエリア(注目ブロックエリアという)と重心との距離を算出する。そして、例えば、時計回りにグループ領域の外縁に位置するブロックエリアを辿ってグループ領域を一周しつつ、重心との距離を求める。このようにして求めた複数の距離のうち最も長い距離を最遠距離とする。
続いて、第2の領域抽出部105は偏平度を算出する。この偏平度は、グループ領域の重心を中心として最遠点距離を半径とする円の面積とグループ領域の面積との比によって求められる。具体的には、偏平度は次の式(1)によって求められる。
偏平度=((最遠点距離)2)×π)/(グループ領域の面積) (1)
式(1)から、偏平度は、グループ領域の形状が細長く偏平であるほどその値が大きくなり、グループ領域の形状が円に近づくほど偏平度の値は小さくなる。
図8(c)に示すように、形状による評価値(形状評価値と呼ぶ)は偏平度が高いグループ領域ほど小さくなる。図示の例では、偏平度が所定の第1の偏平度(Th3)までは形状評価値は最も大きく(形状評価値=100)、第1の偏平度よりも偏平度が大きくなると、形状評価値は低減する。そして、偏平度が所定の第2の偏平度(Th4)以上となると、形状評価値は最低となる(形状評価値=20)。
第2の領域抽出部105は上記の偏平度に基づいて、図8(c)を参照して形状による評価値を決定する(ステップS507)。
次に、第2の領域抽出部105は、上述の位置評価値、面積評価値、および形状評価値を加算して、第2の被写体評価値とする(ステップS508)。そして、第2の領域抽出部105は第2の被写体評価値が最も高い領域を抽出して(ステップS509)、抽出処理を終了する。
図1に関連して説明したように、被写体領域決定部106は、シーン判別部103によるシーン判別結果が所定の撮影シーン(例えば、逆光シーン)である場合、第1の領域抽出部104によって抽出された領域を被写体領域として決定する。一方、シーン判別部103によるシーン判別結果が逆光シーンでないと、被写体領域決定部106は第2の領域抽出部105によって抽出された領域を被写体領域として決定することになる。
ここで、図1に示す撮像装置(カメラ)における被写体領域決定処理について具体的に説明する。
図9は、図1に示す撮像装置における領域分割結果を説明するための図である。図9(a)は逆光環境における撮影画像を示す図であり、図9(b)は図1に示すシーン判別部103による領域分割結果を示す図である。また、図9(c)は図1に示す第2の領域抽出部105における領域分割結果を示す図である。
図9(a)に示す撮影画像は人物901を被写体として逆光環境下で撮影されたものである。図9(a)に示す例では、壁903に設けられた窓902の前に人物が位置する。つまり、ここでは、窓902および壁903が背景である。
図2で説明したようにして、シーン判別部103は、図9(a)に示す撮影画像を複数のブロック領域に分割した後、これらブロック領域のグループ化を行って、図9(b)に示す領域分割結果を得る。
図9(b)において、グループ領域A1は図9(a)に示す壁903に対応する領域である。また、グループ領域B1は図9(a)に示す窓902に対応する領域である。そしてむ、グループ領域C1は図9(a)に示す人物901に対応する領域である。シーン判別部103は、図2で説明したように、グループ領域の特徴情報に応じてグループ領域毎の第1の被写体評価値および背景評価値を求める。
図10は領域抽出結果の一例を説明するための図である。図10(a)は第1の被写体評価値の一例を示す図であり、図10(b)は背景評価値の一例を示す図である。また、図10(c)は第2の被写体評価値の一例を示す図である。
第1の被写体評価値は図10(a)に示す各項目の重みを乗算して得られる。図示の例では、グループ領域A1(壁)については画面端接触の重みが0であるから、第1の被写体評価値は0となる。また、グループ領域B1(窓)については、第1の被写体評価値は48000となり、グループ領域C1(人物)については第1の被写体評価値は8000000となる。
背景評価値は図10(b)に示す各項目の重みを乗算して得られる。図示の例では、グループ領域A1(壁)については、背景評価値は128となる。また、グループ領域B1(窓)については、背景評価値は512となり、グループ領域C1(人物)については、背景評価値は8となる。
シーン判別部103は、図2で説明したように、各グループ領域の第1の被写体評価値および背景評価値のうち最大の第1の被写体評価値および背景評価値を選択して、それぞれ全体被写体評価値および全体背景評価値とする。そして、シーン判別部103は全体被写体評価値および全体背景評価値がそれぞれ被写体評価閾値および背景評価閾値以上であると、撮影画像を得た撮影シーンが逆光シーンであると判別する。
図10(a)および図10(b)に示す例では、グループ領域C1(人物)において第1の被写体評価値が最大となり、グループ領域B(窓)において背景評価値が最大となる。そして、これら第1の被写体評価値および背景評価値がそれぞれ被写体評価閾値および背景評価閾値以上であれば逆光シーンであると判別される。
続いて、前述したように、逆光シーンであると判別されると、第1の領域抽出部104は第1の被写体評価値が最も高いグループ領域C1(人物)を抽出領域とする。つまり、逆光シーンと判別されると、第1の領域抽出部104は適切に被写体が存在する可能性の高い領域を抽出することができる。
図5に関連して説明したように、第2の領域抽出部105では領域分割と背景領域の除外を行う。図9(c)示す領域分割結果では、グループ領域Dは、図9(a)に示す壁903に対応する領域であり、グループ領域Eは、図9(a)に示す窓902に対応する領域である。そして、グループ領域Fは、図10(a)に示す人物901に対応する領域である。図5で説明した背景領域の除外処理によって、ここではグループ領域E(窓)とグループ領域F(人物)とが残る。続いて、第2の領域抽出部105は前述のようにして第2の被写体評価値を求める。
図10(c)に示す第2の被写体評価値を求める際には、位置評価値、面積評価値、および形状評価が加算される。図示の例では、グループ領域E(窓)の第2の被写体評価値は280であり、グループ領域F(人物)の第2の被写体評価値は140である。
第2の領域抽出部105は第2の被写体評価値が最も高いグループ領域を抽出するので、図10(c)に示す例では、グループ領域B(窓)を抽出領域とする。つまり、図9に示したような撮影シーンにおいては、第2の領域抽出部105は被写体領域(人物領域)ではない領域を抽出してしまう。
続いて、被写体領域決定部106は、シーン判別部103によるシーン判別結果と第1および第2の領域抽出部104および105の領域抽出結果とに応じて、被写体領域を決定する。
シーン判別部103によって撮影シーンが逆光シーンであると判別されているので、ここでは、被写体領域決定部106は、第1領域抽出部104の抽出領域、つまり、図9(b)に示すグループ領域C1(人物)を被写体領域として決定することになる。
以上のように、本発明の実施の形態によれば、撮影シーンが所定のシーン(例えば、逆光シーン)であると判別されると、シーン判別に用いた項目に基づいて被写体領域を決定するようにしたので、撮影シーンに応じて精度よく被写体領域を決定することができる。
以上、本発明について実施の形態に基づいて説明したが、本発明は、これらの実施の形態に限定されるものではなく、この発明の要旨を逸脱しない範囲の様々な形態も本発明に含まれる。
例えば、シーン判別部103でスポットライトシーンなどを判別した場合にも適用できる。この際は、画像の中心近傍の輝度値が所定値より高く、そして、中心から周辺に向かう輝度値の傾きがなだらかに単調減少するという条件を用いて、グループ領域がスポットシーンであるか否かを判別する。
シーン判別部103によって撮影シーンがスポットライトシーンであると判別されると、第1の領域抽出部104は、輝度値が所定値より高く、周辺に向かう輝度値の傾きがなだらかに単調減少するという判定条件を用いて、スポットライト領域を抽出する。スポットライトシーンにおいては、被写体に対してスポットライトが当てられている可能性が高く、前述のように抽出したスポットライト領域に被写体が存在する可能性が高い。
そのため、このようにすれば、撮影シーンがスポットライトシーンである場合でも、当該シーンに応じて精度よく被写体領域を決定することができる。
また、上記の実施の形態の機能を制御方法として、この制御方法を撮像装置に実行させるようにすればよい。また、上述の実施の形態の機能を有するプログラムを制御プログラムとして、この制御プログラムを撮像装置が備えるコンピュータに実行させるようにしてもよい。なお、制御プログラムは、例えば、コンピュータに読み取り可能な記録媒体に記録される。
この際、制御方法および制御プログラムの各々は、少なくともシーン判別ステップ、第1の領域抽出ステップ、第2の領域抽出ステップ、および被写体領域決定ステップを有することになる。
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記録媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。