〔第1実施形態〕
以下、本発明の第1実施形態を図面に基づいて説明する。
図1は、本発明の第1実施形態に係る画像処理装置100のハードウェアの構成を示す図である。画像処理装置100は、例えばデジタルカメラにより構成することができる。
画像処理装置100は、光学レンズ装置1と、シャッタ装置2と、アクチュエータ3と、CMOSセンサ4と、AFE5と、TG6と、DRAM7と、DSP8と、CPU9と、RAM10と、ROM11と、液晶表示コントローラ12と、液晶ディスプレイ13と、操作部14と、メモリカード15と、測距センサ16と、測光センサ17と、を備える。
光学レンズ装置1は、例えばフォーカスレンズやズームレンズなどで構成される。フォーカスレンズは、CMOSセンサ4の受光面に被写体像を結像させるためレンズである。
シャッタ装置2は、例えばシャッタ羽根などから構成される。シャッタ装置2は、CMOSセンサ4へ入射する光束を遮断する機械式のシャッタとして機能する。シャッタ装置2はまた、CMOSセンサ4へ入射する光束の光量を調節する絞りとしても機能する。アクチュエータ3は、CPU9による制御にしたがって、シャッタ装置2のシャッタ羽根を開閉させる。
CMOS(Complementary Metal Oxide Semiconductor)センサ4は、例えばCMOS型のイメージセンサなどから構成される。CMOSセンサ4には、光学レンズ装置1からシャッタ装置2を介して被写体像が入射される。そこで、CMOSセンサ4は、TG6から供給されるクロックパルスにしたがって、一定時間毎に被写体像を光電変換(撮影)して画像信号を蓄積し、蓄積した画像信号をアナログ信号として順次出力する。
AFE(Analog Front End)5には、CMOSセンサ4からアナログの画像信号が供給される。そこで、AFE5は、TG6から供給されるクロックパルスにしたがって、アナログの画像信号に対し、A/D(Analog/Digital)変換処理などの各種信号処理を施す。各種信号処理の結果、ディジタル信号が生成され、AFE5から出力される。
TG(Timing Generator)6は、CPU9による制御にしたがって、一定時間毎にクロックパルスをCMOSセンサ4とAFE5とにそれぞれ供給する。
DRAM(Dynamic Random Access Memory)7は、AFE5により生成されるディジタル信号や、DSP8により生成される画像データを一時的に記憶する。
DSP(Digital Signal Processor)8は、CPU9による制御にしたがって、DRAM7に記憶されたディジタル信号に対して、ホワイトバランス補正処理、γ補正処理、YC変換処理などの各種画像処理を施す。各種画像処理の結果、輝度信号と色差信号とでなる画像データが生成される。なお、以下、かかる画像データをフレーム画像データと称し、このフレーム画像データにより表現される画像をフレーム画像と称する。
CPU(Central Processing Unit)9は、画像処理装置100全体の動作を制御する。RAM(Random Access Memory)10は、CPU9が各処理を実行する際にワーキングエリアとして機能する。ROM(Read Only Memory)11は、画像処理装置100が各処理を実行するのに必要なプログラムやデータを記憶する。CPU9は、RAM10をワーキングエリアとして、ROM11に記憶されているプログラムとの協働により各種処理を実行する。
液晶表示コントローラ12は、CPU9による制御にしたがって、DRAM7やメモリカード15に記憶されているフレーム画像データをアナログ信号に変換して、液晶ディスプレイ13に供給する。液晶ディスプレイ13は、液晶表示コントローラ12から供給されてくるアナログ信号に対応する画像として、フレーム画像を表示する。
また、液晶表示コントローラ12は、CPU9による制御にしたがって、ROM11などに予め記憶されている各種画像データをアナログ信号に変換して、液晶ディスプレイ13に供給する。液晶ディスプレイ13は、液晶表示コントローラ12から供給されてくるアナログ信号に対応する画像を表示する。例えば本実施の形態では、各種シーンを特定可能な情報(以下、シーン情報と称する)の画像データがROM11に記憶されている。このため、図4を参照して後述するように、各種シーン情報が液晶ディスプレイ13に適宜表示される。
操作部14は、ユーザから各種ボタンの操作を受け付ける。操作部14は、電源釦、十字釦、決定釦、メニュー釦、レリーズ釦などを備える。操作部14は、ユーザから受け付けた各種ボタンの操作に対応する信号を、CPU9に供給する。CPU9は、操作部14からの信号に基づいてユーザの操作内容を解析し、その操作内容に応じた処理を実行する。
メモリカード15は、DSP8により生成されたフレーム画像データを記録する。測距センサ16は、CPU9による制御にしたがって、被写体までの距離を検出する。測光センサ17は、CPU9による制御にしたがって、被写体の輝度(明るさ)を検出する。
このような構成を有する画像処理装置100の動作モードとしては、撮影モードや再生モードを含む各種モードが存在する。ただし、以下、説明の簡略上、撮影モード時における処理(以下、撮影モード処理と称する)についてのみ説明する。なお、以下、撮影モード処理の主体は主にCPU9であるとする。
次に、図1の画像処理装置100の撮影モード処理のうち、撮影条件の設定要素の1つであるシーンを自動的に識別する処理の概略について説明する。なお、以下、かかる処理を、シーン自動識別処理と称する。
図2は、シーン自動識別処理の概略を説明する図である。
図1の画像処理装置100のCPU9は、撮影モードを開始させると、CMOSセンサ4による撮影を継続させ、その間にDSP8により逐次生成されるフレーム画像データを、DRAM7に一時的に記憶させる。なお、以下、かかるCPU9の一連の処理を、スルー撮像と称する。
また、CPU9は、液晶表示コントローラ12などを制御して、スルー撮像時にDRAM7に記録された各フレーム画像データを順次読み出して、それぞれに対応するフレーム画像を液晶ディスプレイ13に表示させる。なお、以下、かかるCPU9の一連の処理を、スルー表示と称する。
以下の説明では、スルー撮像及びスルー表示により、例えば図2に示されるフレーム画像51が液晶ディスプレイ13に表示されているとする。
この場合、ステップSaにおいて、CPU9は、注目点領域推定処理として、例えば次のような処理を実行する。
すなわち、CPU9は、フレーム画像51に対応するフレーム画像データから複数種類の特徴量を抽出して、複数種類毎に特徴量マップをそれぞれ作成する。次に、CPU9は、複数種類毎の特徴量マップを統合することで、顕著性マップを生成する。そして、CPU9は、顕著性マップを用いて、フレーム画像51の中から、人間の視覚的注意を引く可能性の高い画像領域(以下、注目点領域と称する)を推定する。例えば図2の例では、人物の被写体に対応する注目点領域61と、風景(建築物)の被写体に対応する注目点領域62とが推定されている。
ステップSaの注目点領域推定処理は、後述する図6のステップS27の処理に対応する。注目点領域推定処理の詳細については、図7乃至図10を参照して後述する。
また、ステップSbにおいて、CPU9は、測距処理として、例えば測距センサ16などを制御して次のような処理を実行する。
すなわち、図2に示されるように、測距センサ16は、n個(nは2以上の整数値)の測距枠D1乃至Dn毎に、枠内に含まれる被写体までの距離を検出する。CPU9は、測距センサ16による測距枠D1乃至Dn毎の各検出結果を示す情報(以下、測距情報と称する)を、距離情報として取得する。例えば図2の例では、測距枠D1乃至Dn毎に距離情報71がそれぞれ取得されている。
このように、距離情報としては、本実施の形態では測距情報が採用されている。しかしながら、距離情報は、特にこれに限定されず、その他、焦点レンズ駆動位置を示す情報(以下、焦点レンズ位置情報と称する)や、オートフォーカス枠の合焦コントラスト情報(以下、合焦情報と称する)であっても構わない。
ステップSbの処理は、後述する図6のステップS22の処理に対応する。
次に、ステップScにおいて、CPU9は、3次元配置情報生成処理として、例えば次のような処理を実行する。
すなわち、CPU9は、注目点領域に含まれる被写体を、主要被写体として認定する。例えば図2の例では、注目点領域61に含まれる人物と、注目点領域62に含まれる風景(建築物)とが、主要被写体として認定される。次に、CPU9は、距離情報を用いて、各主要被写体までの3次元的な配置位置をそれぞれ認識し、それらの認識結果を示す情報を生成する。なお、以下、かかる認識結果を示す情報を、主要被写体の3次元配置情報と称する。例えば図2の例では、主要被写体の3次元配置情報91が生成されている。ここでいう3次元とは、フレーム画像51における水平方向及び垂直方向に対応する2次元と、距離情報71に基づく奥行き方向に対応する1次元とをあわせた3次元をいう。
ステップScの処理は、後述する図6のステップS28の処理に対応する。
次に、ステップSdにおいて、CPU9は、シーン比較照合処理として、例えば次のような処理を実行する。
すなわち、1のシーンにおける物体(主要被写体となり得るオブジェクト)の3次元的な配置位置に関する各種条件を示す情報(以下、3次元配置条件情報と称する)が、複数のシーン毎にROM11などに予め記憶されているとする。例えば図2の例では、シーン別の3次元配置条件情報92がROM11などに予め記憶されているとする。
この場合、CPU9は、主要被写体の3次元配置情報91と、複数シーンの各3次元配置条件情報92のそれぞれとを、1つずつ比較照合していく。そして、CPU9は、比較照合の結果に基づいて、複数シーンの中から、撮影条件を設定するために用いるシーンの候補(以下、シーン候補と称する)をP個選択する。なお、Pは、1以上の整数値であって、設計者などが任意に設定し得る整数値である。
具体的には例えば、所定の1シーンの3次元配置条件情報92には、複数の条件が含まれているとする。この場合、CPU9は、主要被写体の3次元配置情報91が複数の条件をそれぞれ満たすか否かを判定する。CPU9は、複数の条件の全てを満たすと判断した場合、主要被写体の3次元配置情報91に対応するフレーム画像51に対して、その所定の1シーンは一致シーンであると認定する。また、CPU9は、複数の条件のうちの一部(一定数以上の条件)を満たすと判断した場合、フレーム画像51に対して、その所定の1シーンは類似シーンであると認定する。その際、CPU9は、満たすと判定した条件の個数などに基づいて、その所定の1シーンについてのフレーム画像51に対する一致度を求める。
このようにして、CPU9は、複数シーンの中から、一致シーン又は類似シーンを検索することができる。そこで、CPU9は、検索したシーンの中から、例えば一致度が上位P番目までのシーンを、シーン候補として選択する。
なお、シーンの比較照合の手法自体は、ここで説明した内容の手法に特に限定されず、任意の手法を採用することができる。
ステップSdのシーン比較照合処理は、後述する図6のステップS29の処理に対応する。シーン比較照合処理の詳細については、図11を参照して後述する。
このようなステップSdのシーン比較照合処理が実行された後、必要に応じて、ステップSeの細分類識別処理が実行される。
なお、細分類識別処理の前には、ステップSdのシーン比較照合処理に加えて、次のようなステップSfの測光処理も実行されているとする。
すなわち、図2に示されるように、測光センサ17は、m個(mは2以上の整数値)の測光枠BV1乃至BVm毎に、枠内に含まれる被写体の輝度分布を検出する。CPU9は、測光センサ17による測光枠BV1乃至BVm毎の各検出結果を示す情報(以下、測光情報と称する)を、輝度情報として取得する。例えば図2の例では、測光枠BV1乃至BVm毎に輝度情報81が取得されている。
このように、輝度情報としては、本実施の形態では測光情報が採用されている。しかしながら、輝度情報は、特にこれに限定されず、その他、フレーム画像データの輝度データに基づく情報などであっても構わない。
ここで、図2に示されるように、ステップSfの測光距離が実行された結果として、測光枠BV1乃至BVm毎に輝度情報81が取得されているとする。また、ステップSdのシーン比較照合処理が実行された結果として、P=3個のシーン候補101乃至103が選択されたとする。ただし、「風景と人物」のシーン候補101が一致シーンであり、「逆光」のシーン候補102と「夜景と人物」のシーン候補103とがそれぞれ類似シーンであるとする。
この場合、一致シーンであるシーン候補101が、フレーム画像51に対して最高の一致度を有するので、ステップSdのシーン比較照合処理の直後の段階では第1候補となる。しかしながら、一致度は、上述のごとく、主要被写体の3次元配置に基づいて求められたものであり、輝度情報の考慮がなされていない。そこで、ステップSeの細分類識別処理として、例えば次のような輝度情報を考慮した処理が実行される。
すなわち、CPU9は、測光枠BV1乃至BVm毎の輝度情報81に基づいて、例えばフレーム画像51全体の平均輝度を算出する。そして、CPU9は、例えば平均輝度が所定の閾値よりも高い(明るい)場合、「風景と人物」のシーン候補101を第1候補として選択する。これに対して、CPU9は、例えば平均輝度が所定の閾値よりも低い(暗い)場合、「夜景と人物」のシーン候補103を第1候補として選択する。
さらにまた、CPU9は、測光枠BV1乃至BVm毎の輝度情報81に基づいて、例えば人物などの主要被写体の輝度、並びに、それ以外の背景領域の平均輝度及び最大輝度をそれぞれ算出する。そして、CPU9は、例えば、主要被写体の輝度が背景領域の平均輝度より低い(暗い)場合、又は、主要被写体の輝度が背景領域の最大輝度よりも著しく低い(暗い)場合、「逆光シーン」のシーン候補102を第1候補として選択する。これに対して、CPU9は、それ以外の場合、例えば上述した平均輝度に基づいて、「風景と人物」のシーン候補101又は「夜景と人物」のシーン候補103を第1候補として選択する。
このように、ステップSeの細分類識別処理が実行されると、主要被写体の3次元配置のみならず、輝度情報も考慮されて、シーン候補がさらに細かく分類されて選択される。その結果、第1候補としてより適切なシーン候補が選択される。
なお、ステップSeの細分類識別処理に適用する手法(以下、細分類識別手法と称する)自体は、上述した輝度情報を用いた手法に特に限定されず、多数のシーンを細かく分類識別することが可能な任意の手法を採用することができる。例えば、撮影距離D、又は、撮影距離Dと最短撮影距離Dminとの比であるΔD=D/Dminを用いる手法は、細分類識別手法として採用可能である。また例えば、レンズ焦点距離f、又は、レンズ焦点距離fと撮影距離Dとの比で決まる撮影倍率M=f/Dを用いる手法は、細分類識別手法として採用可能である。
なお、ステップSeの細分類識別処理と、その前処理のステップSfの測光処理とは、説明の便宜上、図6のシーン自動識別処理からは省略されている。しかしながら、CPU9は、例えば、ステップSfの測光処理を事前に実行した上で、ステップS29の処理後の適当なタイミングに、ステップSeの細分類識別処理を実行することができる。
以上、図2を参照して、画像処理装置100が実行するシーン自動識別処理の概略について説明した。次に、図3乃至図12を参照して、シーン自動識別処理を含む撮影モード処理全体について説明する。
図3は、撮影モード処理の流れの一例を示すフローチャートである。
撮影モード処理は、ユーザが撮影モードを選択する所定の操作を操作部14に対して行った場合、その操作を契機として開始される。すなわち、次のような処理が実行される。
ステップS1において、CPU9は、スルー撮像とスルー表示を行う。
ステップS2において、CPU9は、シーン自動識別処理を実行することで、P個のシーン候補を選択する。シーン自動識別処理については、その概略は図2を参照して上述した通りであり、その詳細は図6を参照して後述する。
なお、図3には図示されていないが、例えば、画像処理装置100には、シーンの自動識別モード、シーンの手動識別モード、及び、マニュアル露出モードが画像処理装置100に搭載されている場合がある。このような場合、CPU9は、シーンの自動識別モードが選択されたときにのみ、シーン自動識別処理を実行するようにしても良い。すなわち、CPU9は、シーンの手動識別モード又はマニュアル露出モードが選択された場合、シーン自動識別処理の実行を禁止して、選択されたモードに対応する処理を実行するようにしても良い。
ステップS3において、CPU9は、液晶表示コントローラ12などを制御することで、選択されたP個のシーン候補を液晶ディスプレイ13に表示させる。正確には、P個のシーン候補毎に、各々を特定可能なシーン特定情報が、例えば一致度が高い順に液晶ディスプレイ13に表示される。
図4は、ステップS3の処理後の液晶ディスプレイ13の表示例を示している。
図4に示されるように、液晶ディスプレイ13には、主表示領域111と、サブ表示領域112とが設けられている。図4の例では、フレーム画像51が主表示領域111に表示されている。また、シーン情報121乃至123が、上からその順番でサブ表示領域112に表示されている。
すなわち、シーン情報121乃至123が、フレーム画像51に対して選択されたP=3個のシーン候補をそれぞれ特定する情報である。具体的には、シーン情報121は、一致度が第1位のシーン候補(第1候補)を特定すべく、第1候補のシーン名称及び見本画像から構成されている。同様に、シーン情報122は、一致度が第2位のシーン候補(第2候補)を特定すべく、第2候補のシーン名称及び見本画像から構成されている。シーン情報123は、一致度が第3位のシーン候補(第3候補)を特定すべく、第3候補のシーン名称及び見本画像から構成されている。
なお、シーン情報の構成は、対応するシーン候補を特定可能な構成であれば足り、図4の例に限定されない。その他例えば、シーン候補の説明文をシーン情報として採用することもできる。
図3に戻り、ステップS4において、CPU9は、P個のシーン候補の中から選択シーンを決定する。
具体的には例えば、図4の例では、サブ表示領域112に、シーンモードの選択マーク131が表示されている。したがって、ユーザは、操作部14を操作することで、選択マーク131を、シーン情報121乃至123のうち所望の1つを指し示す位置に移動させることができる。そして、ユーザは、操作部14に対して決定操作をすることで、シーン情報121乃至123のうち、選択マーク131が指し示すシーン情報を選択することができる。この場合、CPU9は、ユーザにより選択されたシーン情報に対応するシーン候補を、選択シーンとして決定する。例えば図4の例では、選択マーク131が指し示すシーン情報121に対応するシーン候補(第1候補)が、選択シーンとして決定される。
図3に戻り、ステップS5において、CPU9は、選択シーンに基づいて、撮影条件を設定する。
図5は、シーン毎の各種情報が格納されたテーブル情報の一例を示している。
例えば本実施の形態では、図5に示されるテーブル情報がROM11に予め記憶されているとする。
図5のテーブル情報には、「ID」、「シーン情報」、「3次元配置条件情報」、「撮影条件設定情報」、及び「画像補正条件設定情報」という各項目が設けられている。また、図5のテーブル情報において、所定の1行は所定の1シーンに対応している。
したがって、同一行の各項目には、所定の1シーンについての同名称の情報、すなわち、ID(Identity)、シーン情報、3次元配置条件情報、撮影条件設定情報、及び、画像補正条件設定情報のそれぞれが格納されている。
この場合、例えば上述した図4の例と同様にシーン情報121がユーザにより選択されたとすると、CPU9は、図3のステップS4の処理として、3行目の「風景と人物」のシーンを選択シーンとして決定する。次に、CPU9は、ステップS5の処理として、3行目の「風景と人物」のシーンの「撮影条件設定情報」の項目に格納された情報をROM11から読み出して、その情報に基づいて撮影条件を設定する。
ステップS6において、CPU9は、レリーズ釦が半押しの状態であるか否かを判定する。
ユーザがレリーズ釦を半押ししていない場合、ステップS6においてNOであると判定され、処理はステップS1に戻され、それ以降の処理が繰り返される。すなわち、ユーザがレリーズ釦を半押しするまでの間、ステップS1乃至S6のループ処理が繰り返し実行される。
その後、ユーザがレリーズ釦を半押しすると、ステップS6においてYESであると判定されて、処理はステップS7に進む。ステップS7において、CPU9は、撮影条件などに基づいてAF(Automatic Focus)処理(オートフォーカス処理)を実行する。
ステップS8において、CPU9は、レリーズ釦が全押しの状態であるか否かを判定する。
ユーザがレリーズ釦を全押ししていない場合、ステップS8においてNOであると判定され、処理はステップS16に進む。ステップS16において、CPU9は、レリーズ釦が解除されたか否かを判定する。ユーザの指などがレリーズ釦から離された場合、ステップS16においてYESであると判定されて、撮影モード処理は終了となる。これに対して、ユーザの指などがレリーズ釦から離されていない場合、ステップS16においてNOであると判定されて、処理はステップS8に戻され、それ以降の処理が繰り返される。すなわち、レリーズ釦の半押し状態が継続している限り、ステップS8NO,S16NOのループ処理が繰り返し実行される。
その後、ユーザがレリーズ釦を全押しすると、ステップS8においてYESであると判定されて、処理はステップS9に進む。ステップS9において、CPU9は、AWB(Automatic White Balance)処理(オートホワイトバランス処理)を実行する。ステップS10において、CPU9は、AE(Automatic Exposure)処理(自動露出処理)を実行する。すなわち、測光センサ17による測光情報や撮影条件などに基づいて、絞り、露出時間、ストロボ条件などが設定される。
ステップS11において、CPU9は、TG6やDSP8などを制御して、撮影条件などに基づいて露出及び撮影処理を実行する。この露出及び撮影処理により、撮影条件などにしたがってCMOSセンサ4により撮影された被写体像は、フレーム画像データとしてDRAM7に記憶される。なお、以下、かかるフレーム画像データを撮影画像データと称し、また、撮影画像データにより表現される画像を撮影画像と称する。
ステップS12において、CPU9は、DSP8などを制御して、撮影画像データに対して補正及び変更処理を施す。すなわち、CPU9は、撮影条件などに基づいて、撮影画像データに対して、補正又は変更に必要な各種画像処理を適宜施す。例えば、CPU9は、図5のテーブル情報において、選択シーンに対応する行の「画像補正条件設定情報」の項目に格納された情報をROM11から読み出す。そして、CPU9は、その読み出した情報に基づいて、撮影画像データに対して補正処理を施す。
ステップS13において、CPU9は、液晶表示コントローラ12などを制御して、撮影画像のレビュー表示処理を実行する。また、ステップS14において、CPU9は、DSP8などを制御して撮影画像データの圧縮符号化処理を実行する。その結果、符号化画像データが得られることになる。そこで、ステップS15において、CPU9は、符号化画像データの保存記録処理を実行する。これにより、符号化画像データがメモリカード15などに記録され、撮影モード処理が終了となる。
次に、撮影モード処理のうち、ステップS2のシーン自動識別処理の詳細例について説明する。
図6は、シーン自動識別処理の流れの詳細例を示すフローチャートである。
ステップS21において、CPU9は、スルー撮像により得られたフレーム画像データを、処理対象画像データとして入力する。
ステップS22において、CPU9は、測距処理を実行する。すなわち、上述した図2のステップSbに対応する処理が実行される。これにより、上述したように、処理対象画像データにおける各測距枠毎の距離情報が得られることになる。
ステップS23において、CPU9は、識別済FLAGが1であるか否かを判定する。識別済FLAGとは、前回のフレーム画像データについてシーン候補が選択済(識別済)であるか否かを示すフラグをいう。したがって、識別済FLAG=0の場合、前回のフレーム画像データについてシーン候補が未選択である。このため、識別済FLAG=0の場合、ステップS23においてNOであると判定されて、ステップS27乃至S29の処理が実行され、その結果、処理対象画像データに対するシーン候補が選択される。ステップS27乃至S29の処理の詳細については後述する。
これに対して、識別済FLAG=1の場合、前回のフレーム画像データについてシーン候補が選択済であるため、処理対象画像データに対するシーン候補の選択が不要になる場合もある。すなわち、CPU9は、ステップS27乃至S29の処理を実行するか否かを判断する必要がある。このため、識別済FLAG=1の場合、ステップS23においてYESであると判定されて、処理はステップS24に進み、次のような処理が実行される。
すなわち、ステップS24において、CPU9は、処理対象画像データと前回のフレーム画像データとを比較する。ステップS25において、CPU9は、撮影条件又は被写体状態に、所定以上の変化があるか否かを判定する。撮影条件及び被写体状態に所定以上の変化がない場合、ステップS25においてNOであると判定されて、ステップS27乃至S29の処理は実行されずに、シーン自動識別処理は終了となる。
これに対して、撮影条件と被写体状態のうち少なくとも一方に所定以上の変化がある場合、ステップS25においてYESであると判定されて、処理はステップS26に進む。ステップS26において、CPU9は、識別済FLAGを0に変更する。これにより、次のようなステップS27乃至S29の処理が実行される。
ステップS27において、CPU9は、注目点領域推定処理を実行する。すなわち、上述した図2のステップSaに対応する処理が実行される。これにより、上述したように、処理対象画像データについての注目点領域が得られることになる。なお、注目点領域推定処理の詳細例については、図7乃至図10を参照して後述する。
ステップS28において、CPU9は、注目点領域と、ステップS22の処理の結果得られた各距離情報とに基づいて、処理対象画像データについての主要被写体の3次元配置情報を生成する。すなわち、上述した図2のステップScに対応する処理が実行される。
ステップS29において、CPU9は、処理対象画像データについての主要被写体の3次元配置情報を用いて、シーン比較照合処理を施す。すなわち、上述した図2のステップSdに対応する処理が実行される。これにより、上述したように、処理対象画像データに対してP個のシーン候補が選択される。その後、シーン自動識別処理は終了し、すなわち、図3のステップS2の処理は終了し、上述したステップS3以降の処理が実行される。なお、シーン比較照合処理の詳細例については、図11を参照して後述する。
次に、図6のシーン自動識別処理のうち、ステップS27(図2のステップSa)の注目点領域処理の詳細例について説明する。
上述したように、注目点領域推定処理では、注目点領域の推定のために、顕著性マップが作成される。したがって、注目点領域推定処理に対して、例えば、Treismanの特徴統合理論や、Itti及びKochらによる顕著性マップを適用することができる。
なお、Treismanの特徴統合理論については、「A.M.Treisman and G.Gelade,“A feature―integration theory of attention”,Cognitive Psychology,Vol.12,No.1,pp.97−136,1980.」を参照すると良い。
また、Itti及びKochらによる顕著性マップについては、「L.Itti,C.Koch, and E.Niebur,“A Model of Saliency−Based Visual Attention for Rapid Scene Analysis”,IEEE Transactions on Pattern Analysis and Machine Intelligence,VOl.20,No11,November 1998.」を参照すると良い。
図7は、Treismanの特徴統合理論やNitti及びKochらによる顕著性マップを適用した場合における、注目点領域推定処理の流れの詳細例を示すフローチャートである。
ステップS41において、CPU9は、処理対象画像データを取得する。なお、ここで取得される処理対象画像データとは、図6のステップS21の処理で入力された処理対象画像データを意味する。
ステップS42において、CPU9は、ガウシアン解像度ピラミット(Gaussian Resolution Pyramid)を作成する。具体的には例えば、CPU9は、処理対象画像データ{(x,y)の位置の画素データ}をI(0)=I(x,y)として、ガウシアンフィルタ処理とダウンサンプリング処理とを順次繰り返し実行する。その結果として、階層型のスケール画像データI(L)(例えばL∈{0・・・8})の組が生成される。この階層型のスケール画像データI(L)の組が、ガウシアン解像度ピラミッドと称されている。ここで、スケールL=k(ここではkは1乃至8のうちの何れかの整数値)の場合、スケール画像データI(k)は、1/2kの縮小画像(k=0の場合は原画像)を示す。
ステップS42において、CPU9は、各特徴量マップ作成処理を開始する。すなわち、CPU9は、処理対象画像データについて、例えば色、方位、輝度などの複数種類の特徴量のコントラストから、複数種類の特徴量マップを作成することができる。このような複数種類のうち所定の1種類の特徴量マップを作成するまでの一連の処理が、ここでは、特徴量マップ作成処理と称されている。各特徴量マップ作成処理の詳細例については、図8や図9を参照して後述する。
ステップS44において、CPU9は、全ての特徴量マップ作成処理が終了したか否かを判定する。各特徴量マップ作成処理のうち1つでも処理が終了していない場合、ステップS44において、NOであると判定されて、処理はステップS44に再び戻される。すなわち、各特徴量マップ作成処理の全処理が終了するまでの間、ステップS44の判定処理が繰り返し実行される。そして、各特徴量マップ作成処理の全処理が終了して、全ての特徴量マップが作成されると、ステップS44においてYESであると判定されて、処理はステップS45に進む。
ステップS45において、CPU9は、各特徴量マップを線形和で結合して、顕著性マップS(Saliency Map)を求める。
ステップS46において、CPU9は、顕著性マップSを用いて、処理対象画像データから注目領域を推定する。すなわち、一般に、主要被写体となる人物や撮影対象(objects)となる物体の多くは、背景(background)領域に比べ、顕著性(saliency)が高いと考えられる。そこで、CPU9は、顕著性マップSを用いて、処理対象画像データから顕著性(saliency)が高い領域を認識する。そして、CPU9は、その認識結果に基づいて、人間の視覚的注意を引く可能性の高い領域、すなわち、注目点領域を推定する。このようにして、注目点領域が推定されると、注目点領域推定処理は終了する。すなわち、図6のステップS27の処理は終了し、処理はステップS28に進む。図2の例でいえば、ステップSaの処理は終了し、処理はステップScに進む。
次に、各特徴量マップ作成処理の具体例について説明する。
図8は、輝度、色、及び、方向性の特徴量マップ作成処理の流れの一例を示すフローチャートである。
図8Aは、輝度の特徴量マップ作成処理の一例を示している。
ステップS61において、CPU9は、処理対象画像データに対応する各スケール画像から、各注目画素を設定する。例えば各注目画素c∈{2,3,4}が設定されたとして、以下の説明を行う。各注目画素c∈{2,3,4}とは、スケールc∈{2,3,4}のスケール画像データI(c)上の演算対象として設定された画素をいう。
ステップS62において、CPU9は、各注目画素c∈{2,3,4}の各スケール画像の輝度成分を求める。
ステップS63において、CPU9は、各注目画素の周辺画素s=c+δの各スケール画像の輝度成分を求める。各注目画素の周辺画素s=c+δとは、例えばδ∈{3,4}とすると、スケールs=c+δのスケール画像I(s)上の、注目画素(対応点)の周辺に存在する画素をいう。
ステップS64において、CPU9は、各スケール画像について、各注目画素c∈{2,3,4}における輝度コントラストを求める。例えば、CPU9は、各注目画素c∈{2,3,4}と、各注目画素の周辺画素s=c+δ(例えばδ∈{3,4})のスケール間差分を求める。ここで、注目画素cをCenterと呼称し、注目画素の周辺画素sをSurroundと呼称すると、求められたスケール間差分は、輝度のCenter−Surroundスケール間差分と呼称することができる。この輝度のCenter−Surroundスケール間差分は、注目画素cが白で周辺画素sが黒の場合又はその逆の場合には大きな値をとるという性質がある。したがって、輝度のCenter−Surroundスケール間差分は、輝度コントラストを表わすことになる。なお、以下、かかる輝度コントラストをI(c,s)と記述する。
ステップS65において、CPU9は、処理対象画像データに対応する各スケール画像において、注目画素に設定されていない画素が存在するか否かを判定する。そのような画素が存在する場合、ステップS65においてYESであると判定されて、処理はステップS61に戻され、それ以降の処理が繰り返される。
すなわち、処理対象画像データに対応する各スケール画像の各画素に対して、ステップS61乃至S65の処理がそれぞれ施されて、各画素の輝度コントラストI(c,s)が求められる。ここで、各注目画素c∈{2,3,4}、及び、周辺画素s=c+δ(例えばδ∈{3,4})が設定される場合、ステップS61乃至S65の1回の処理で、(注目画素cの3通り)×(周辺画素sの2通り)=6通りの輝度コントラストI(c,s)が求められる。ここで、所定のcと所定のsについて求められた輝度コントラストI(c,s)の画像全体の集合体を、以下、輝度コントラストIの特徴量マップと称する。輝度コントラストIの特徴量マップは、ステップS61乃至S65のループ処理の繰り返しの結果、6通り求められることになる。このようにして、6通りの輝度コントラストIの特徴量マップが求められると、ステップS65においてNOであると判定されて、処理はステップS66に進む。
ステップS66において、CPU9は、輝度コントラストIの各特徴量マップを正規化した上で結合することで、輝度の特徴量マップを作成する。これにより、輝度の特徴量マップ作成処理は終了する。なお、以下、輝度の特徴量マップを、他の特徴量マップと区別すべく、FIと記述する。
図8Bは、色の特徴量マップ作成処理の一例を示している。
図8Bの色の特徴量マップ作成処理は、図8Aの輝度の特徴量マップ作成処理と比較すると、処理の流れは基本的に同様であり、処理対象が異なるだけである。すなわち、図8BのステップS81乃至S86のそれぞれの処理は、図8AのステップS61乃至S66のそれぞれに対応する処理であり、各ステップの処理対象が図8Aとは異なるだけである。したがって、図8Bの色の特徴量マップ作成処理については、処理の流れの説明は省略し、以下、処理対象についてのみ簡単に説明する。
すなわち、図8AのステップS62とS63の処理対象は、輝度成分であったのに対して、図8BのステップS82とS83の処理対象は、色成分である。
また、図8AのステップS64の処理では、輝度のCenter−Surroundスケール間差分が、輝度コントラストI(c,s)として求められた。これに対して、図8BのステップS84の処理では、色相(R/G,B/Y)のCenter−Surroundスケール間差分が、色相コントラストとして求められる。なお、色成分のうち、赤の成分がRで示され、緑の成分がGで示され、青の成分がBで示され、黄の成分がYで示されている。また、以下、色相R/Gについての色相コントラストを、RG(c,s)と記述し、色相B/Yについての色相コントラストを、BY(c,s)と記述する。
ここで、上述の例にあわせて、注目画素cが3通り存在して、周辺画素sが2通り存在するとする。この場合、図8AのステップS61乃至S65のループ処理の結果、6通りの輝度コントラストIの特徴量マップが求められた。これに対して、図8BのステップS81乃至S85のループ処理の結果、6通りの色相コントラストRGの特徴量マップと、6通りの色相コントラストBYの特徴量マップとが求められる。
最終的に、図8AのステップS66の処理で、輝度の特徴量マップFIが求められた。これに対して、図8BのステップS86の処理で、色の特徴量マップが求められる。なお、以下、色の特徴量マップを、他の特徴量マップと区別すべく、FCと記述する。
図8Cは、方向性の特徴量マップ作成処理の一例を示している。
図8Cの方向性の特徴量マップ作成処理は、図8Aの輝度の特徴量マップ作成処理と比較すると、処理の流れは基本的に同様であり、処理対象が異なるだけである。すなわち、図8CのステップS101乃至S106のそれぞれの処理は、図8AのステップS61乃至S66のそれぞれに対応する処理であり、各ステップの処理対象が図8Aとは異なるだけである。したがって、図8Cの方向性の特徴量マップ作成処理については、処理の流れの説明は省略し、以下、処理対象についてのみ簡単に説明する。
すなわち、ステップS102とS1023の処理対象は、方向成分である。ここで、方向成分とは、輝度成分に対してガウスフィルタφを畳み込んだ結果得られる各方向の振幅成分をいう。ここでいう方向とは、ガウスフィルタφのパラメターとして存在する回転角θにより示される方向をいう。例えば回転角θとしては、0°,45°,90°,135°の4方向を採用することができる。
また、ステップS104の処理では、方向性のCenter−Surroundスケール間差分が、方向性コントラストとして求められる。なお、以下、方向性コントラストを、O(c,s,θ)と記述する。
ここで、上述の例にあわせて、注目画素cが3通り存在して、周辺画素sが2通り存在するとする。この場合、ステップS101乃至S105のループ処理の結果、回転角θ毎に、6通りの方向性コントラストOの特徴量マップが求められる。例えば回転角θとして、0°,45°,90°,135°の4方向が採用されている場合には、24通り(=6×4通り)の方向性コントラストOの特徴量マップが求められる。
最終的に、ステップS106の処理で、方向性の特徴量マップが求められる。なお、以下、方向性の特徴量マップを、他の特徴量マップと区別すべく、FOと記述する。
以上説明した図8の特徴量マップ作成処理のより詳細な処理内容については、例えば、「L.Itti,C.Koch, and E.Niebur,“A Model of Saliency−Based Visual Attention for Rapid Scene Analysis”,IEEE Transactions on Pattern Analysis and Machine Intelligence,VOl.20,No11,November 1998.」を参照すると良い。
なお、特徴量マップ作成処理は、図8の例に特に限定されない。例えば、特徴量マップ作成処理として、明度、彩度、色相、及びモーションの各特徴量を用いて、それぞれの特徴量マップを作成する処理を採用することもできる。
また例えば、特徴量マップ作成処理として、マルチスケールのコントラスト、Center−Surroundの色ヒストグラム、及び、色空間分布の各特徴量を用いて、それぞれの特徴量マップを作成する処理を採用することもできる。
図9は、マルチスケールのコントラスト、Center−Surroundの色ヒストグラム、及び、色空間分布の特徴量マップ作成処理の一例を示すフローチャートである。
図9Aは、マルチスケールのコントラストの特徴量マップ作成処理の一例を示している。
ステップS121において、CPU9は、マルチスケールのコントラストの特徴量マップを求める。これにより、マルチスケールのコントラストの特徴量マップ作成処理は終了となる。
なお、以下、マルチスケールのコントラストの特徴量マップを、他の特徴量マップと区別すべく、Fcと記述する。
図9Bは、Center−Surroundの色ヒストグラムの特徴量マップ作成処理の一例を示している。
ステップS141において、CPU9は、異なるアスペクト比毎に、矩形領域の色ヒストグラムと、周辺輪郭の色ヒストグラムとを求める。アスペクト比自体は、特に限定されず、例えば{0.5,0.75,1.0,1.5,2.0}などを採用することができる。
ステップS142において、CPU9は、異なるアスペクト比毎に、矩形領域の色ヒストグラムと、周辺輪郭の色ヒストグラムとのカイ2乗距離を求める。ステップS143において、CPU9は、カイ2乗距離が最大となる矩形領域の色ヒストグラムを求める。
ステップS144において、CPU9は、カイ2乗距離が最大となる矩形領域の色ヒストグラムを用いて、Center−Surroundの色ヒストグラムの特徴量マップを作成する。これにより、Center−Surroundの色ヒストグラムの特徴量マップ作成処理は終了となる。
なお、以下、Center−Surroundの色ヒストグラムの特徴量マップを、他の特徴量マップと区別すべく、Fhと記述する。
図9Cは、色空間分布の特徴量マップ作成処理の一例を示している。
ステップS161において、CPU9は、色空間分布について、水平方向の分散を計算する。また、ステップS162において、CPU9は、色空間分布について、垂直方向の分散を計算する。そして、ステップS163において、CPU9は、水平方向の分散と垂直方向の分散とを用いて、色の空間的な分散を求める。
ステップS164において、CPU9は、色の空間的な分散を用いて、色空間分布の特徴量マップを作成する。これにより、色空間分布の特徴量マップ作成処理は終了となる。
なお、以下、色空間分布の特徴量マップを、他の特徴量マップと区別すべく、Fsと記述する。
以上説明した図9の特徴量マップ作成処理のより詳細な処理内容については、例えば、「T.Liu,J.Sun,N.Zheng,X.Tang,H.Sum,“Learning to Detect A Salient Object”,CVPR07,pp.1−8,2007.」を参照すると良い。
図10は、図9の特徴量マップ作成処理が適用された場合における、図7の注目点領域推定処理の結果の具体例を示している。
図7のステップS41の処理の結果として、図10に示されるようなフレーム画像151に対応するフレーム画像データが、処理対象画像データとして取得されたとする。この場合、図9Aのマルチスケールのコントラストの特徴量マップ作成処理の結果、図10に示されるような特徴量マップFcが作成される。また、図9BのCenter−Surroundの色ヒストグラムの特徴量マップ作成処理の結果、図10に示されるような特徴量マップFhが作成される。また、図9Cの色空間分布の特徴量マップ作成処理の結果、図10に示されるような特徴量マップFsが作成される。
次に、ステップS45の処理で、これらの特徴量マップFc,Fh,Fsが線形和で結合され、その結果、図10に示されるような顕著性マップSが求められる。そして、ステップS46の処理で、この顕著性マップSを用いて、図10に示されるような注目点領域152が推定される。
この場合、CPU9は、例えば、フレーム画像151と注目点領域152とに基づいて、オートフォーカス用の枠(以下、AF枠と称する)として、図10に示されるような枠153を推定することができる。AF枠153は、例えば図3のステップS7のAF処理において用いられる。
図10に示されるように、顕著性マップSにより推定された注目点領域152だけを用いても、AF枠153の推定精度は良好であるといえる。しかしながら、シーン候補を識別する場合には、注目点領域152だけを用いると、図示はしないが、十分な識別精度を得ることができない。注目点領域152だけでは、不足点や難点があり、異なるシーンであっても、注目点領域152の2次元的な形状としては、同じような絵柄の領域であると誤認識される可能性があるからである。
すなわち、顕著性マップSを用いた場合、視覚的注意を引きそうな対象は大略推定することが可能である。しかしながら、例えば、乱雑で複雑な背景や、コントラストが低い情景に対して顕著性マップSを用いた場合、誤推定する可能性がある。したがって、このような誤推定を抑制するためには、顕著性マップSの精度や解像度を向上させる必要がある。ところが、小型のデジタルカメラなどで構成される画像処理装置100に対して顕著性マップSを適用する場合、逆に、計算処理能力や要求処理時間といった制限が課される。したがって、このような場合、顕著性マップSを生成するためには、撮像画像サイズや画像更新の周期を間引きしたり、特徴数や階層数などを削減したりする必要が生じる。その結果、顕著性マップSの精度や解像度は、向上するどころかむしろ低下してしまうことになる。
以上まとめると、小型のデジタルカメラなどで構成される画像処理装置100に対して顕著性マップSを適用する場合、顕著性マップSのみを用いて実現可能となるレベルは、AF枠の候補を推定する(合焦枠を自動選択する)レベル程度である。すなわち、顕著性マップSのみを用いてシーンの自動識別をした場合、十分な性能、精度、信頼性などを得ることができない。
このため、シーンの自動識別の性能、精度、信頼性などを向上させるべく、本実施の形態では、注目点領域が推定された後さらに、図6のステップ28の処理が実行される。すなわち、注目点領域のみならず、各分割領域毎(上述の例では各測距枠毎)の距離情報も考慮されて、主要被写体の3次元配置情報が生成される。そして、ステップS29のシーン比較照合処理で、このような主要被写体の3次元配置情報が、各シーンの立体的な被写体配置パターン(3次元配置条件情報)と比較照合される。これにより、比較照合処理の結果選択されたP個のシーン候補は、スルー撮像のフレーム画像にとって適したシーンとなる。
図11は、このようなシーン比較照合処理の流れの詳細例を示すフローチャートである。
ステップS181において、CPU9は、シーン照合用の一次メモリをリセットする。なお、一次メモリの構築場所は、特に限定されないが、例えば本実施の形態では、図1のRAM10であるとする。
ステップS182において、CPU9は、複数シーンの中から所定の1シーンを、処理対象シーンとして設定する。
ステップS183において、CPU9は、予め記録されている処理対象シーンの3次元配置条件情報を読み出す。例えば本実施の形態では、上述したように、図5のテーブル情報がROM11に予め記憶されている。そこで、CPU9は、そのテーブル情報の「3次元配置条件情報」の項目に格納されている情報のうち、処理対象シーンに対応する行に格納されている情報を読み出す。
ステップS183において、CPU9は、処理対象画像データについての主要被写体の3次元配置情報と、処理対象シーンの3次元配置条件情報とを比較照合する。
図12は、ステップS183の処理で比較照合される主要被写体の3次元配置情報の構成例を示している。
図12に示される主要被写体の3次元配置情報は、「画素座標」、「特徴量マップ」、「注目点領域(顕著性マップ)」、「距離/合焦情報(奥行き情報)」、「輝度情報など被写体情報」、及び「顔検出領域か否か」という各項目から構成されている。
図12に示される主要被写体の3次元配置情報において、所定の1行は、処理対象画像データを構成する各画素値のうち所定の1つに対応している。したがって、同一行の各項目には、例えば、所定の1画素についての、画素位置(画素座標)、各特徴量マップのデータ、何れの注目点領域に属するのかについての情報、距離情報(測距情報)、測光情報、及び、顔検出領域か否かを示す情報がそれぞれ格納されている。なお、顔検出については、第2実施形態の説明として後述する。
図11に戻り、ステップS185において、CPU9は、ステップS184の比較照合の処理結果に基づいて、処理対象シーンは処理対象画像データと一致シーンであるか否かを判定する。
一致シーンであると判定された場合、すなわち、ステップS185においてYESであると判定された場合、処理はステップS186に進む。ステップS186において、CPU9は、処理対象シーンのIDと一致度を一次メモリに記憶する。なお、処理対象シーンのIDは、図5のテーブル情報のうち、処理対象シーンに対応する行の「ID」の項目に格納されている。また、処理対象シーンの一致度は、ステップS184の比較照合の処理において、上述したように算出されている。その後、処理はステップS191に進む。ただし、ステップS191以降の処理については後述する。
これに対して、一致シーンでないと判定された場合、すなわち、ステップS185においてNOであると判定された場合、処理はステップS187に進む。ステップS187において、CPU9は、ステップS184の比較照合の処理結果に基づいて、処理対象シーンは処理対象画像データと類似シーンであるか否かを判定する。
類似シーンでないと判定された場合、すなわち、ステップS187においてNOであると判定された場合、処理はステップS191に進む。ただし、ステップS191以降の処理については後述する。
これに対して、類似シーンであると判定された場合、すなわち、ステップS187においてYESであると判定された場合、処理はステップS188に進む。ステップS188において、CPU9は、処理対象シーンと、前回までの最類似シーンとの一致度を比較する。前回までの最類似シーンとは、ステップS188の処理前の段階で、一致度が最も高かった類似シーンをいう。なお、本実施の形態では、前回までの最類似シーンのIDと一致度は例えば一次メモリ内に記憶されているとする。
ステップS189において、CPU9は、ステップS188の比較の処理結果に基づいて、処理対象シーンが最類似シーンであるか否かを判定する。
処理対象シーンの一致度が、前回までの最類似シーンの一致度未満であった場合、ステップS189においてNOであると判定されて、処理はステップS191に進む。ただし、ステップS191以降の処理については後述する。
これに対して、処理対象シーンの一致度が、前回までの最類似シーンの一致度以上であった場合、ステップS189においてYESであると判定されて、処理はステップS190に進む。ステップS190において、CPU9は、一次メモリ内の最類似シーンのIDと一致度とを、処理対象シーンのIDと一致度とに更新する。なお、一次メモリ内に最類似シーンのIDと一致度とが記憶されていない場合には、処理対象シーンのIDと一致度が、最類似シーンのIDと一致度として一次メモリに新たに記憶される。これにより、処理はステップS191に進む。
ステップS191において、CPU9は、全シーンが処理対象シーンに設定されたか否かを判定する。処理対象シーンに設定されていないシーンが1つでも存在する場合、ステップS191においてNOであると判定されて、処理はステップ182に戻され、それ以降の処理が繰り返し実行される。すなわち、複数のシーンのそれぞれに対して、ステップS181乃至S191の処理が繰り返し実行される。そして、最終シーンに対する処理がステップS191まで進むと、ステップS191においてYESであると判定されて、処理はステップS192に進む。
ステップS192において、CPU9は、一致シーン又は類似シーンが1つ以上あるか否かを判定する。
1以上のシーンのIDが一次メモリに記憶されている場合、ステップS192においてYESであると判定されて、処理はステップS193に進む。ステップS193において、CPU9は、一致シーン又は類似シーンのうち、一致度が高い上位P個のシーンを、シーン候補として選択して出力する。例えば、P=3の場合には、図4を参照して上述したように、3つのシーン候補の各シーン情報121乃至123が液晶ディスプレイ13に表示される。次に、ステップS194において、CPU9は、識別済FLAGを1に設定する。
これに対して、シーンのIDが一次メモリに1つも記憶されていない場合、ステップS192においてNOであると判定されて、処理はステップS195に進む。ステップS195において、CPU9は、識別失敗メッセージ、又は、デフォルト指定のシーン候補を出力する。次に、ステップS196において、CPU9は、識別済FLAGを0に設定する。
識別済FLAGが、ステップS194の処理により1に設定されるか、又は、ステップS196の処理により0に設定されると、シーン比較照合処理は終了となる。すなわち、図6のステップS29(図2のステップSd)の処理が終了し、結果として、シーン自動識別処理全体も終了となる。したがって、図3の撮影モード処理においては、処理はステップS2からステップS3に進むことになる。
以上説明したように、第1実施形態に係る画像処理装置100のCPU9は、主要被写体を含む入力画像に対して、入力画像から抽出された複数の特徴量に基づく顕著性マップを用いて、注目点領域を推定する機能を有している。CPU9は、主要被写体に関する距離情報を取得する機能を有している。CPU9は、注目点領域及び距離情報に基づいて、主要被写体の3次元配置情報を生成する機能を有している。CPU9は、主要被写体の3次元配置情報と、複数シーン毎に予め生成されている3次元配置条件情報とを用いて、複数シーンの中から、画像データと一致するシーン候補を選択する機能を有している。
その結果、ユーザにとっては、従来のように撮影モードやピクチャモードを逐一選択するといった煩雑な操作をせずとも、情景中の条件に一致するようなシーン候補が自動的に識別されて提示される。したがって、ユーザにとっては、提示されたシーン候補の中から所望の1枚を選択シーンとして決定するといった簡便な操作をするだけで、選択シーンにとって最適な撮影条件などが自動的に設定される。このように、ユーザにとっては、従来に比較して使い勝手が向上する。すなわち、ユーザの操作負担が従来より軽減しつつ、撮影状況(情景中の条件)にとって適切なシーンを識別(選択)することが可能になる。
また、シーン候補の選択で用いられる注目点領域は、顕著性マップに基づいて生成される。顕著性マップは、人間の視覚野や視覚特性をモデルに模擬(シミュレーション)する手法にしたがって推定される。したがって、視野内に多数の物体があったり、高彩度で複雑な背景やごちゃごちゃと乱雑な背景があったりするような場合でも、人間が視覚的注意を向ける確率が高い注目点領域が抽出されるので、主要被写体の推定が可能になる。ただし、上述のごとく、注目点領域だけを用いた場合、主要被写体の推定が誤っている可能性もある。すなわち、注目点領域だけを用いた場合、AF枠の推定程度に対しては十分な精度を得ることができるものの、シーンの識別に対しては十分な精度を得ることができない。このため、第1実施形態においては、さらに、注目点領域のみならず距離情報も考慮したシーン候補が選択される。これにより、シーンの識別精度を、注目点領域だけを用いた場合と比較して向上させることができる。
また、主要被写体の3次元配置情報とは、主要被写体の2次元的な配置(注目点領域に基づく位置情報)と奥行き(距離情報)とから生成された情報である。したがって、主要被写体の3次元配置情報を用いることで、シーンを細かく分類して識別することが可能になる。さらに、複数の主要被写体毎の3次元配置情報を用いることで、シーンをより一段と細かく分類して識別することが可能になる。さらにまた、撮影画像に対してシーン候補が選択される場合、その撮影画像は如何なる撮影シーンなのか、その撮影画像には如何なる被写体が含まれているのか、3次元的な被写体分布の形状やパターンは如何なるものなのかなどを認識することが可能になる。そして、このような認識結果を用いることで、より具体的に、すなわち意味論的にシーン候補を類推して選択できるようになる。
さらに、第1実施形態の画像処理装置100のCPU9は、主要被写体の輝度分布など、主要被写体の状態に関する状態情報を取得する機能を有している。したがって、CPU9は、シーン候補を選択する場合、主要被写体の3次元配置情報と3次元配置条件情報とに加えてさらに、被写体の状態情報を用いることができる。
これにより、より多種多様なシーンを細かく分類識別することが可能になる。したがって、多数の具体的なシーン毎に、それぞれ最適な撮影条件や画像補正条件などを自動的に設定して、シーンに最適な撮影を行うことが容易に実現可能になる。また、主要被写体の状態情報をシーンの識別に加えることは、シーンの識別に必要な判断要素が増えることを意味するので、識別精度をより一段と向上させることが可能になる。
〔第2実施形態〕
次に、本発明の第2実施形態を説明する。
なお、本発明の第2実施形態に係る画像処理装置のハードウェアの構成は、第1実施形態に係る画像処理装置100の図1のハードウェアの構成と基本的に同様である。また、CPU9の機能も、第1実施形態のCPU9が有する上述した各種機能をそのまま有している。
第2実施形態に係る画像処理装置100は、さらに、画像に含まれる人物の顔(領域)を検出する顔検出機能を有している。なお、顔の検出手法自体は、特に限定されず、任意の手法を採用できる。また、顔検出機能の搭載場所は、特に限定されず任意の場所で良い。ただし、以下の説明では、顔検出機能はCPU9に搭載されているとする。
この場合、第2実施形態に係るCPU9は、シーン候補を選択する場合、被写体の3次元配置情報と3次元配置条件情報とに加えてさらに、人物の顔の検出結果を用いることができる。
具体的には例えば、CPU9は、所定の注目点領域内で人物の顔を検出した場合、その所定の注目点領域を人物の被写体の領域と判定する。そして、CPU9は、このような判定をした場合には、「人物」などの人物が含まれるシーンを、シーン候補として選択する。
これに対して例えば、CPU9は、各注目点領域の何れにおいても人物の顔を検出できなかった場合、各注目点領域を人物以外の被写体や物体の領域と判定する。そして、CPU9は、このような判定をした場合には、「風景」や「オート撮影モード」などの人物が含まれないシーンを、シーン候補として選択する。
なお、CPU9は、注目点領域として推定されなかった領域において人物の顔を検出した場合、その人物の顔の検出領域又はその周辺領域から輪郭を抽出する。そして、CPU9は、輪郭を抽出した領域を、人物の顔を含む注目点領域として推定することもできる。すなわち、CPU9は、このように追加推定された注目点領域も、シーンの候補の選択に利用することができる。
また、CPU9は、人物の顔の検出領域(以下、顔検出領域と称する)を含まない注目点領域(以下、顔無注目点領域と称する)についても、他の領域の中に、顔検出領域を含む注目点領域(以下、顔有注目点領域と称する)が1以上あった場合、例えば次のような処理を実行する。すなわち、CPU9は、顔有注目点領域と顔検出領域との重複領域において、所定の特徴量を抽出する。この場合の抽出手法は特に限定されず、例えば、マルチコントラスト特徴、色特徴、色空間分布特徴、輪郭形状などを採用することができる。次に、CPU9は、その特徴量を、顔検出領域以外の領域において、同一種類の特徴量と比較する。CPU9は、一定以上に類似する領域が見つかった場合、その領域を顔検出領域とみなす。そして、CPU9は、顔検出領域とみなされた領域を含む顔無注目点領域を、顔有注目点領域とみなす。その後は、CPU9は、顔有注目点領域(みなされた領域含む)を人物の被写体の領域と判定して、その判定結果に基づいて、シーン候補を選択する。
このように、第2実施形態では、シーン候補を選択するために、人物の顔の検出結果を利用することができる。これにより、一部の注目点領域の主要被写体の種別を具体的に判定した上で、撮影シーンの分類や識別ができる。その結果、シーンの識別がより一段と効率的かつ的確に行える。
また、注目点領域を推定する技術には、多数の物体があっても注目点領域が大略分かるという長所が存在する半面、何の物体であるのかまでは確定できないという短所や、人物の周囲などでは注目点領域が拡散してしまうという短所などが存在する。一方、顔検出の技術には、人物の顔の多くを的確に識別できるという長所が存在する半面、顔以外は識別できないという短所や、顔の向きや状態によっては認識できないという短所などが存在する。第2実施形態では、シーン識別のために、注目点領域を推定する技術と顔検出の技術とを組み合わせて用いているので、互いの短所を補い合うことができ、その結果、シーン識別の精度や信頼性をより一段と向上させることができる。
なお、本発明は前記実施形態に限定されるものではなく、本発明の目的を達成できる範囲での変形、改良などは本発明に含まれるものである。
例えば、上述した第1実施形態と第2実施形態では、本発明が適用される画像処理装置は、デジタルカメラとして構成される例として説明した。しかしながら、本発明は、デジタルカメラに特に限定されず、オブジェクトを含む画像と一致するシーンを識別する機能を有する電子機器一般に適用することができる。具体的には例えば、本発明は、ビデオカメラ、携帯型ナビゲーション装置、ポータブルゲーム機などに適用可能である。
また、第1実施形態と第2実施形態とを組み合わせても良い。例えば、シーンの識別は、被写体の3次元配置情報と3次元配置条件情報との比較結果、被写体の状態情報、及び、人物の顔の検出結果を組み合わせて行うこともできる。
上述した一連の処理は、ハードウェアにより実行させることもできるし、ソフトウェアにより実行させることもできる。
一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、コンピュータなどにネットワークや記録媒体からインストールされる。コンピュータは、専用のハードウェアに組み込まれているコンピュータであっても良い。また、コンピュータは、各種のプログラムをインストールすることで、各種の機能を実行することが可能なコンピュータ、例えば汎用のパーソナルコンピュータであっても良い。
このようなプログラムを含む記録媒体は、図示はしないが、ユーザにプログラムを提供するために装置本体とは別に配布されるリムーバブルメディアにより構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに提供される記録媒体などで構成される。リムーバブルメディアは、例えば、磁気ディスク(フロッピディスクを含む)、光ディスク、又は光磁気ディスクなどにより構成される。光ディスクは、例えば、CD−ROM(Compact Disk−Read Only Memory),DVD(Digital Versatile Disk)などにより構成される。光磁気ディスクは、MD(Mini−Disk)などにより構成される。また、装置本体に予め組み込まれた状態でユーザに提供される記録媒体は、例えば、プログラムが記録されている図1のROM11や、図示せぬハードディスクなどで構成される。
なお、本明細書において、記録媒体に記録されるプログラムを記述するステップは、その順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的或いは個別に実行される処理をも含むものである。