(58)【調査した分野】(Int.Cl.,DB名)
前記検出手段は、前記探索手段によって探知された既定部位画像のサイズおよび前記表示手段によって表示された辞書画像のサイズの相違と前記登録手段によって登録された相対位置情報とに基づいて前記既定部位画像の位置と前記基準位置との差分を算出する算出手段、ならびに前記算出手段によって算出された差分に基づいて前記基準位置を検出する位置検出手段を含む、請求項2記載の電子カメラ。
前記探索手段は、前記特定物体を表す特定物体画像を前記撮像手段から出力された画像から探索する物体探索手段、および前記物体探索手段によって発見された特定物体画像の中から前記既定部位画像を探索する部位探索手段を含む、請求項1ないし3のいずれかに記載の電子カメラ。
【発明を実施するための形態】
【0019】
以下、この発明の実施の形態を図面を参照しながら説明する。
[基本的構成]
【0020】
図1を参照して、この実施例の電子カメラは、基本的に次のように構成される。撮像手段1は、シーンを表す画像を繰り返し出力する。登録手段2は、登録操作に応答して相対位置情報を登録する。探索手段3は、特定物体を形成する既定部位を表す既定部位画像を撮像手段から出力された画像から探索する。検出手段4は、撮像手段から出力された画像に現れた特定物体像上の基準位置を探索手段によって探知された既定部位画像と登録手段によって登録された相対位置情報とに基づいて検出する。調整手段5は、撮像手段から出力された画像のうち検出手段によって検出された基準位置に存在する部分画像に基づいて撮像条件を調整する。
【0021】
登録操作に応答して相対位置情報が登録される。また、撮像手段1から出力された画像から既定部位画像が探索される。探知された既定部位画像と登録された相対位置情報とに基づいて、撮像手段1から出力された画像に現れた特定物体像上の基準位置が検出される。撮像手段1から出力された画像のうち検出された基準位置に存在する部分画像に基づいて、撮像条件が調整される。
【0022】
したがって、直接の探索が困難な部分画像であっても、その部分画像に基づいて撮像条件を調整することができ、撮像条件の調整能力が向上する。
[実施例]
【0023】
図2を参照して、この実施例のディジタルカメラ10が起動されると、CPU26は、キー入力装置28に設けられたモード変更ボタン28mdの状態(つまり現時点の動作モード)をメインタスクの下で判別する。判別の結果、撮像モード,AF領域登録モード,または再生モードに対応して撮像タスク,領域登録タスク,または再生タスクがそれぞれ起動される。
【0024】
領域登録タスクにおいては、ディジタルカメラ10を用いて小鳥を撮影する際に撮像タスクで実行されるAF処理の対象とする領域が、相対的な領域として操作者の操作によってあらかじめ登録される。このような領域登録タスクが起動されるとCPU26は、
図3に示す頭部辞書DChの辞書番号1の辞書画像データを読み出し、領域設定画面の表示をLCDドライバ36に命令する。LCDドライバ36は、読み出された辞書画像データに基づいてLCDモニタ38を駆動する。この結果、
図4に示す領域設定画面がLCDモニタ38に表示される。
【0025】
なお、頭部辞書DChには、それぞれ左右を向いた小鳥の頭部を示す2つの辞書画像が収められる。また、頭部辞書DChは、フラッシュメモリ44に保存され、後述する頭部検出処理においても用いられる。
【0026】
領域設定画面においては、頭部辞書画像HDGおよびマーカMKが表示される。マーカMKは、キー入力装置28を通じた操作者の操作によって表示サイズおよび表示位置の各々が変更され、マーカMKが占める領域はAF処理の対象領域を示す。
【0027】
操作者は、このようなマーカMKを操作して、小鳥を撮影する際にAF処理の対象としたい領域、つまりピントを合わせたい領域を指定する。例えば、被写界深度を浅く設定して小鳥の目にピントを合わせた場合は、小鳥の胴体の画像の鮮鋭度が低下してしまう。そこで、目よりも若干無限側に位置するくちばしをAF処理の対象領域とする場合を例として、領域登録タスクの処理を説明する。
【0028】
キー入力装置28を通じて登録操作が行われると、
図4を参照して、CPU26は頭部辞書画像HDGの表示サイズを算出する。次に
図5を参照して、CPU26は、頭部辞書画像HDGにおいてマーカMKが占める領域と目を示す部分画像EDGとの水平位置の差分および垂直位置の差分の各々を算出する(MKの位置−EDGの位置)。CPU26はまた、マーカMKが占める領域のサイズを算出する。
【0029】
このようにして算出された頭部辞書画像HDGの表示サイズ,水平位置の差分,垂直位置の差分,およびマーカMKが占める領域のサイズは、それぞれ登録頭部サイズrHS,登録水平位置差分rDX,登録垂直位置差分rDY,および登録AF領域サイズrASとして
図6に示すAF領域登録テーブルTBLafに登録される。なお、AF領域登録テーブルTBLafはフラッシュメモリ44に保存される。
【0030】
図2に戻って、この実施例のディジタルビデオカメラ10は、ドライバ18aおよび18bによってそれぞれ駆動されるフォーカスレンズ12および絞りユニット14を含む。これらの部材を経たシーンの光学像は、ドライバ18cによって駆動されるイメージセンサ16の撮像面に照射され、光電変換を施される。
【0031】
撮像タスクが起動されると、CPU26は、動画取り込み処理を実行するべく、撮像タスクの下で露光動作および電荷読み出し動作の繰り返しをドライバ18cに命令する。ドライバ18cは、図示しないSG(Signal Generator)から周期的に発生する垂直同期信号Vsyncに応答して、イメージセンサ16の撮像面を露光し、かつイメージセンサ16の撮像面で生成された電荷をラスタ走査態様でそれぞれ読み出す。イメージセンサ16からは、読み出された電荷に基づく生画像データが周期的に出力される。
【0032】
前処理回路20は、イメージセンサ16から出力された生画像データにディジタルクランプ,画素欠陥補正,ゲイン制御などの処理を施す。これらの処理を施された生画像データは、メモリ制御回路30を通してSDRAM32の生画像エリア32aに書き込まれる。
【0033】
後処理回路34は、生画像エリア32aに格納された生画像データをメモリ制御回路30を通して読み出し、読み出された生画像データに色分離処理,白バランス調整処理およびYUV変換処理を施す。これによって生成されたYUV形式の画像データは、メモリ制御回路30を通してSDRAM32のYUV画像エリア32bに書き込まれる。
【0034】
後処理回路34はさらに、YUV形式に従う画像データに対して表示用のズーム処理と探索用のズーム処理とを並列的に実行する。この結果、YUV形式に従う表示画像データおよび探索画像データが個別に作成される。表示画像データは、メモリ制御回路30によってSDRAM32の表示画像エリア32cに書き込まれる。探索画像データは、メモリ制御回路30によってSDRAM32の探索画像エリア32dに書き込まれる。
【0035】
LCDドライバ36は、表示画像エリア32cに格納された表示画像データをメモリ制御回路30を通して繰り返し読み出し、読み出された画像データに基づいてLCDモニタ38を駆動する。この結果、シーンを表すリアルタイム動画像(スルー画像)がLCDモニタ38に表示される。
【0036】
図7を参照して、イメージセンサ16の撮像面の中央には評価エリアEVAが割り当てられる。評価エリアEVAは水平方向および垂直方向の各々において16分割され、256個の分割エリアが評価エリアEVAを形成する。また、
図2に示す前処理回路20は、上述した処理に加えて、生画像データを簡易的にRGBデータに変換する簡易RGB変換処理を実行する。
【0037】
AE評価回路22は、前処理回路20によって生成されたRGBデータのうち評価エリアEVAに属するRGBデータを、垂直同期信号Vsyncが発生する毎に積分する。これによって、256個の積分値つまり256個のAE評価値が、垂直同期信号Vsyncに応答してAE評価回路22から出力される。AF評価回路24は、前処理回路20によって生成されたRGBデータのうち評価エリアEVAに属するRGBデータの高周波成分を、垂直同期信号Vsyncが発生する毎に積分する。これによって、256個の積分値つまり256個のAF評価値が、垂直同期信号Vsyncに応答してAF評価回路24から出力される。こうして得られたAE評価値およびAF評価値に基づく処理については、後述する。
【0038】
CPU26はまた、撮像タスクが起動されると、絞りユニット14を最大の絞り量に調整すべき旨をドライバ18bに命令する。この結果、被写界深度が最も深いレベルに変更される。CPU26はさらにフォーカスレンズ12の位置調整をドライバ18aに命令し、この結果フォーカスレンズ12はデフォルト位置に配置される。
【0039】
撮像タスクと並列して実行される小鳥検出タスクの下で、CPU26は、フラグFLG_fを“0”に初期設定する。CPU26は次に、探索画像エリア32dに格納された探索画像データから小鳥の全身画像を探索するべく、垂直同期信号Vsyncが発生する毎に全身検出処理を実行する。
【0040】
全身検出処理では、
図8に示す要領でサイズが調整される全身検出枠BDと
図9に示す2つの辞書画像(=それぞれ左右を向いた小鳥の全身を示す2つの画像)を収めた全身辞書DCbとが用いられる。なお、全身辞書DCbはフラッシュメモリ44に保存される。
【0041】
全身検出処理ではまず、評価エリアEVAの全域が探索エリアとして設定される。また、全身検出枠BDのサイズの可変範囲を定義するべく、最大サイズBSZmaxが“200”に設定され、最小サイズBSZminが“20”に設定される。
【0042】
全身検出枠BDは、探索エリアの開始位置(左上位置)から終了位置(右下位置)に向かって、ラスタ走査態様で既定量ずつ移動される(
図10参照)。また、全身検出枠BDのサイズは、全身検出枠BDが終了位置に到達する毎に“BSZmax”から“BSZmin”まで“5”ずつ縮小される。
【0043】
全身検出枠BDに属する一部の探索画像データは、メモリ制御回路30を通して探索画像エリア32dから読み出される。読み出された探索画像データの特徴量は、全身辞書DCbに収められた2つの辞書画像の各々の特徴量と照合される。閾値TH_Bを超える照合度が得られると、小鳥の全身画像が検出されたものとみなされる。現時点の全身検出枠BDの位置およびサイズは、小鳥全身情報として
図11に示す全身ワークレジスタRGSTwに登録される。また、検出に用いられた辞書画像の辞書番号も全身ワークレジスタRGSTwに登録される。
【0044】
探索の完了後、全身ワークレジスタRGSTwに単一の小鳥全身情報が登録されていた場合、CPU26は、登録された小鳥全身情報を全身検出レジスタRGSTbに複製する。全身ワークレジスタRGSTwに複数の小鳥全身情報が登録されていた場合、登録サイズが最も大きい小鳥全身情報を全身検出レジスタRGSTbに複製する。最大サイズを示す複数の小鳥全身情報が登録されている場合、CPU26は、これらの小鳥全身情報のうち登録位置がシーン中央に最も近い小鳥全身情報を全身検出レジスタRGSTbに複製する。
【0045】
例えば、
図13に示す探索画像に対して全身検出処理が実行されると、全身検出枠BD1およびBD2によって小鳥BR1およびBR2がそれぞれ捉えられ、全身検出枠BD1およびBD2各々の位置およびサイズが全身ワークレジスタRGSTwに登録される。また、小鳥BR1およびBR2に対応して辞書番号1および2が全身ワークレジスタRGSTwにそれぞれ登録される。次に、
図13に示すように全身検出枠BD2のサイズより全身検出枠BD1のサイズの方が大きいので、小鳥BR1の小鳥全身情報が全身検出レジスタRGSTbに複製される。
【0046】
全身検出処理の完了後、全身ワークレジスタRGSTwに小鳥全身情報が登録されていた場合、CPU26は、探索画像エリア32dに格納された探索画像データから小鳥の頭部画像を探索するべく、頭部検出処理を実行する。
【0047】
頭部検出処理では、
図14に示す要領でサイズが調整される頭部検出枠HDと
図3に示す頭部辞書DChとが用いられる。
【0048】
頭部検出処理ではまず、全身検出処理において小鳥が発見された領域、つまり全身検出レジスタRGSTbに登録された領域が、探索エリアとして設定される。また、頭部検出枠HDのサイズの可変範囲を定義するべく、全身検出レジスタRGSTbに登録された全身サイズBSに0.75を乗じたサイズに、最大サイズHSZmaxが設定される。また、全身サイズBSに0.4を乗じたサイズに、頭部検出枠HDの最小サイズHSZminが設定される。
【0049】
頭部検出枠HDは、探索エリアの開始位置(左上位置)から終了位置(右下位置)に向かって、ラスタ走査態様で既定量ずつ移動される。また、頭部検出枠HDのサイズは、頭部検出枠HDが終了位置に到達する毎に“HSZmax”から“HSZmin”まで“3”ずつ縮小される。
【0050】
頭部検出枠HDに属する一部の探索画像データは、メモリ制御回路30を通して探索画像エリア32dから読み出される。読み出された探索画像データの特徴量は、頭部辞書DChに収められた2つの辞書画像のうち全身検出レジスタRGSTbに登録された辞書番号と同じ辞書番号の辞書画像、つまり検出された全身と同じ向きの辞書画像の特徴量と、照合される。
【0051】
閾値TH_Hを超える照合度が得られると、小鳥の頭部画像が検出されたものとみなされる。現時点の頭部検出枠HDの位置およびサイズは、小鳥頭部情報として
図15に示す頭部検出レジスタRGSThに登録される。このように頭部画像が発見された場合は、頭部検出レジスタRGSThへの登録が完了すると頭部検出処理は終了する。
【0052】
例えば、
図16に示す探索画像領域に対して頭部検出処理が実行されると、頭部検出枠HD1によって小鳥BR1の頭部が捉えられ、頭部検出枠HD1の位置およびサイズが頭部検出レジスタRGSThに登録される。
【0053】
頭部検出処理の完了後、頭部検出レジスタRGSThに小鳥頭部情報が登録されていた場合、CPU26は、探索画像エリア32dに格納された探索画像データから小鳥の目の画像を探索するべく、目検出処理を実行する。
【0054】
目検出処理では、
図17に示す要領でサイズが調整される目検出枠EDと
図18に示す辞書画像(=小鳥の目を示す画像)を収めた目辞書DCeとが用いられる。なお、目辞書DCeはフラッシュメモリ44に保存される。
【0055】
目検出処理ではまず、頭部検出処理において小鳥の頭部が発見された領域、つまり頭部検出レジスタRGSThに登録された領域が、探索エリアとして設定される。また、目検出枠EDのサイズの可変範囲を定義するべく、頭部検出レジスタRGSThに登録された頭部サイズHSに0.2を乗じたサイズに、最大サイズESZmaxが設定される。また、頭部サイズHSに0.05を乗じたサイズに、目検出枠EDの最小サイズESZminが設定される。
【0056】
目検出枠EDは、探索エリアの開始位置(左上位置)から終了位置(右下位置)に向かって、ラスタ走査態様で既定量ずつ移動される。また、目検出枠EDのサイズは、目検出枠EDが終了位置に到達する毎に“ESZmax”から“ESZmin”まで“3”ずつ縮小される。
【0057】
目検出枠EDに属する一部の探索画像データは、メモリ制御回路30を通して探索画像エリア32dから読み出される。読み出された探索画像データの特徴量は、目辞書DCeに収められた辞書画像の特徴量と照合される。閾値TH_Eを超える照合度が得られると、小鳥の目画像が検出されたものとみなされる。現時点の目検出枠EDの位置およびサイズは、小鳥目情報として
図19に示す目検出レジスタRGSTeに登録される。このように目画像が発見された場合は、目検出レジスタRGSTeへの登録が完了すると頭部検出処理は終了する。
【0058】
例えば、
図20に示す探索画像領域に対して目検出処理が実行されると、目検出枠ED1によって小鳥BR1の目が捉えられ、目検出枠ED1の位置およびサイズが目検出レジスタRGSTeに登録される。
【0059】
目検出処理の完了後、目検出レジスタRGSTeに小鳥目情報が登録されていた場合、CPU26は、AF処理の対象領域を以下の要領で算出する。まず、検出目位置EP(Ex,Ey)および検出頭部サイズHSが、目検出レジスタRGSTeおよび頭部検出レジスタRGSThからそれぞれ読み出される。続いて、登録頭部サイズrHS,登録水平位置差分rDX,登録垂直位置差分rDY,および登録AF領域サイズrASが、AF領域登録テーブルTBLafから読み出される。
【0060】
図21を参照して、読み出された検出頭部サイズHS,登録頭部サイズrHS,登録水平位置差分rDX,および登録垂直位置差分rDYに基づいて、CPU26は、検出目位置EPとAF処理の対象領域との水平位置の差分DXおよび垂直位置の差分DYを算出する。
【0061】
水平位置の差分DXは、以下の数1に示す式で求めることができる。
[数1]
DX=rDX×HS/rHS
【0062】
垂直位置の差分DYは、以下の数2に示す式で求めることができる。
[数2]
DY=rDY×HS/rHS
【0063】
このようにして算出された水平位置の差分DXおよび垂直位置の差分DYと検出目位置EP(Ex,Ey)とに基づいて、CPU26は、AF処理の対象領域の位置AP(Ax,Ay)を算出する。
【0064】
AF処理の対象領域の水平位置Axは、以下の数3に示す式で求めることができる。
[数3]
Ax=Ex+DX
【0065】
AF処理の対象領域の垂直位置Ayは、以下の数4に示す式で求めることができる。
[数4]
Ay=Ey+DY
【0066】
CPU26は次に、読み出された検出頭部サイズHS,登録頭部サイズrHS,および登録AF領域サイズrASに基づいて、AF処理の対象領域のサイズASを算出する。AF処理の対象領域のサイズASは、以下の数5に示す式で求めることができる。
[数5]
AS=rAS×HS/rHS
【0067】
以上のようにして算出されたAF処理の対象領域の位置AP(Ax,Ay)およびサイズASは、
図22に示す小鳥AF領域レジスタRGSTafに登録される。また、CPU26は、小鳥の目を発見したことおよびAF処理の対象領域を設定したことを表明するべくフラグFLG_fを“1”に設定する。
【0068】
シャッタボタン28shが非操作状態のとき、CPU26は、以下の処理を実行する。フラグFLG_fが“0”を示すときCPU26は、AE評価回路22からの出力に基づく簡易AE処理を撮像タスクの下で実行し、適正EV値を算出する。簡易AE処理は動画取り込み処理と並列して実行され、算出された適正EV値を定義する絞り量および露光時間はドライバ18bおよび18cにそれぞれ設定される。この結果、スルー画像の明るさが適度に調整される。
【0069】
フラグFLG_fが“1”に更新されるとCPU26は、全身検出レジスタRGSTbの登録内容を参照して、小鳥全身枠BFの表示をグラフィックジェネレータ46に要求する。グラフィックジェネレータ46は、小鳥全身枠BFを表すグラフィック情報をLCDドライバ36に向けて出力する。この結果、
図23を参照して、スルー画像上の小鳥の全身の位置およびサイズに適合する態様で、小鳥全身枠BFがLCDモニタ38に表示される。
【0070】
フラグFLG_fが“1”に更新されるとまた、CPU26は、AE評価回路22から出力された256個のAE評価値のうち、全身検出レジスタRGSTbに登録された位置およびサイズに対応するAE評価値を抽出する。CPU26は、抽出された一部のAE評価値に基づく厳格AE処理を実行する。厳格AE処理によって算出された最適EV値を定義する絞り量および露光時間は、ドライバ18bおよび18cにそれぞれ設定される。この結果、スルー画像の明るさが、小鳥の全身に注目した明るさに調整される。
【0071】
シャッタボタン28shが半押しされると、CPU26はAF処理を実行する。フラグFLG_fが“0”を示すとき、CPU26は、絞りユニット14の絞り量を中程度に調整すべき旨をドライバ18bに命令する。この結果、被写界深度が中程度に変更される。被写界深度が変更されると、CPU26は、AF評価回路24から出力された256個のAF評価値のうち、シーン中央の既定領域に対応するAF評価値を抽出する。このようにして抽出された一部のAF評価値に基づいて、CPU26はAF処理を実行する。この結果、シーン中央に注目した合焦点にフォーカスレンズ12が配置され、スルー画像の鮮鋭度が向上する。
【0072】
フラグFLG_fが“1”を示すとき、CPU26は、絞りユニット14を最小の絞り量に調整すべき旨をドライバ18bに命令する。この結果、被写界深度が最も浅いレベルに変更される。被写界深度が変更されると、CPU26は、AF評価回路24から出力された256個のAF評価値のうち、小鳥AF領域レジスタRGSTafに登録された位置およびサイズに対応するAF評価値を抽出する。このようにして抽出された一部のAF評価値に基づいて、CPU26はAF処理を実行する。この結果、領域登録タスクで登録された領域に相当する領域に注目した合焦点にフォーカスレンズ12が配置され、スルー画像中の当該領域の鮮鋭度が向上する。
【0073】
AF処理が完了すると、CPU26は、AF処理の対象となった領域へのフォーカス枠AFFの表示を、グラフィックジェネレータ46に要求する。グラフィックジェネレータ46は、フォーカス枠AFFを表すグラフィック情報をLCDドライバ36に向けて出力する。この結果、フラグFLG_fが“1”を示すときは、小鳥AF領域レジスタRGSTafに登録された位置およびサイズに適合する態様で、フォーカス枠AFFがLCDモニタ38に表示される(
図23参照)。
【0074】
シャッタボタン28shが全押しされると、CPU26は、撮像タスクの下で静止画取り込み処理と記録処理とを実行する。シャッタボタン28shが全押しされた時点の1フレームの生画像データは、静止画取り込み処理によってSDRAM32の静止画エリア32eに取り込まれる。また、記録処理によって1つの静止画ファイルが記録媒体42に作成される。取り込まれた生画像データは、新規作成された静止画ファイルに記録処理によって記録される。
【0075】
なお、オートシャッターの設定がONにされていた場合は、上述の厳格AE処理に続いて被写界深度が最も浅いレベルに変更され、小鳥AF領域レジスタRGSTafに登録された領域に注目したAF処理が実行される。また、AF処理が完了すると、上述の静止画取り込み処理および記録処理が実行される。
【0076】
再生タスクが起動されると、CPU26は、再生タスクの下で記録媒体42に記録された最新の静止画ファイルを指定し、指定静止画ファイルに注目した再生処理が実行される。この結果、指定静止画ファイルの画像データに対応する光学像がLCDモニタ38に表示される。
【0077】
操作者によるキー入力装置28の操作によって、CPU26は、後続の静止画ファイルまたは先行する静止画ファイルを指定する。指定静止画ファイルは上述と同様の再生処理を施され、この結果、LCDモニタ38の表示が更新される。
【0078】
CPU26は、
図24に示すメインタスク,
図25に示す領域登録タスク,
図26〜28に示す撮像タスク,および
図29〜
図30に示す小鳥検出タスクを含む複数のタスクを並列的に実行する。なお、これらのタスクに対応する制御プログラムは、フラッシュメモリ44に記憶される。
【0079】
図24を参照して、ステップS1では現時点の動作モードが撮像モードであるか否かを判別し、ステップS3では現時点の動作モードがAF領域登録モードであるか否かを判別し、ステップS5では現時点の動作モードが再生モードであるか否かを判別する。ステップS1でYESであればステップS7で撮像タスクを起動し、ステップS3でYESであればステップS9で領域登録タスクを起動し、ステップS5でYESであればステップS11で再生タスクを起動する。ステップS1〜S5のいずれもNOであればステップS13でその他の処理を実行する。ステップS7〜S13のいずれかの処理が完了すると、モード切り換え操作が行われたか否かをステップS15で繰り返し判別する。判別結果がNOからYESに更新されると、起動中のタスクをステップS17で停止し、その後にステップS1に戻る。
【0080】
図25を参照して、ステップS21では頭部辞書DChの辞書番号1の辞書画像データを読み出し、読み出された辞書画像データに基づいて領域設定画面をステップS23でLCDモニタ38に表示する。
【0081】
ステップS25では、AF処理の対象領域の登録操作が行われたか否かを繰り返し判別し、判別結果がNOからYESに更新されると、頭部辞書画像HDGの表示サイズをステップS27で算出する。
【0082】
ステップS29では頭部辞書画像HDGにおいてマーカMKが占める領域と目を示す部分画像EDGとの水平位置の差分を算出し、垂直位置の差分をステップS31で算出する。ステップS33ではマーカMKが占める設定領域のサイズを算出する。
【0083】
このようにして算出された頭部辞書画像HDGの表示サイズ,水平位置の差分,垂直位置の差分,およびマーカMKが占める領域のサイズは、それぞれ登録頭部サイズrHS,登録水平位置差分rDX,登録垂直位置差分rDY,および登録AF領域サイズrASとして、ステップS35でAF領域登録テーブルTBLafに登録される。ステップS35の処理が完了すると、ステップS23に戻る。
【0084】
図26を参照して、ステップS41では動画取り込み処理を実行する。この結果、シーンを表すスルー画像がLCDモニタ38に表示される。ステップS43では小鳥検出タスクを起動する。
【0085】
ステップS45では、絞りユニット14を最大の絞り量に調整すべき旨をドライバ18bに命令する。この結果、被写界深度が最も深いレベルに変更される。ステップS47では、フォーカスレンズ12の位置調整をドライバ18aに命令し、この結果フォーカスレンズ12はデフォルト位置に配置される。
【0086】
ステップS49ではシャッタボタン28shが半押しされたか否かを判別し、判別結果がYESであればステップS65に進む一方、判別結果がNOであればフラグFLG_fが“1”に設定されているか否かをステップS51で判別する。
【0087】
ステップS51の判別結果がNOであればステップS53で、小鳥全身枠BFの非表示をグラフィックジェネレータ46に要求する。この結果、モニタ38に表示された小鳥全身枠BFは非表示とされる。
【0088】
ステップS53の処理が完了すると、ステップS55で簡易AE処理を実行する。簡易AE処理によって算出された適正EV値を定義する絞り量および露光時間はドライバ18bおよび18cにそれぞれ設定される。この結果、スルー画像の明るさが適度に調整される。ステップS55の処理が完了するとステップS49に戻る。
【0089】
ステップS51の判別結果がYESであればステップS57で、全身検出レジスタRGSTbに登録された位置およびサイズを読み出す。読み出された位置およびサイズに基づいて、ステップS59では小鳥全身枠BFの表示をグラフィックジェネレータ46に要求する。この結果、小鳥検出タスクの下で検出された小鳥の全身像の位置およびサイズに適合する態様で、小鳥全身枠BFがLCDモニタ38に表示される。
【0090】
ステップS59の処理が完了すると、小鳥の全身像の位置に対応した厳格AE処理をステップS61で実行する。厳格AE処理によって算出された最適EV値を定義する絞り量および露光時間は、ドライバ18bおよび18cにそれぞれ設定される。この結果、スルー画像の明るさが、小鳥の全身に相当するシーンの一部に注目した明るさに調整される。
【0091】
ステップS63では、オートシャッターの設定がONにされているか否かを判別し、判別結果がYESであればステップS71に進む一方、判別結果がNOであればステップS49に戻る。
【0092】
ステップS65ではフラグFLG_fが“1”に設定されているか否かを判別し、判別結果がNOであればステップS67およびS69の処理を経てステップS77に進む一方、判別結果がYESであればステップS71〜S75の処理を経てステップS77に進む。
【0093】
ステップS67では、AF処理の対象をシーン中央と設定する。ステップS69では、絞りユニット14の絞り量を中程度に調整すべき旨をドライバ18bに命令する。この結果、被写界深度が中程度に変更される。
【0094】
ステップS71では、AF処理の対象領域を確定するべく、小鳥AF領域レジスタRGSTafに登録された位置およびサイズを読み出す。読み出された小鳥AF領域は、ステップS73でAF処理の対象と設定される。ステップS75では、絞りユニット14を最小の絞り量に調整すべき旨をドライバ18bに命令する。この結果、被写界深度が最も浅いレベルに変更される。
【0095】
ステップS77では、ステップS67またはステップS73で設定された対象領域に注目したAF処理を実行する。この結果、当該領域に注目した合焦点にフォーカスレンズ12が配置され、スルー画像中の当該領域の鮮鋭度が向上する。
【0096】
ステップS79では、AF処理の対象となった領域へのフォーカス枠AFFの表示を、グラフィックジェネレータ46に要求する。この結果、当該領域に適合する態様で、フォーカス枠AFFがLCDモニタ38に表示される。
【0097】
ステップS81では、オートシャッターの設定がONでかつフラグFLG_fが“1”に設定されているか否かを判別する。判別結果がNOであればステップS83に進み、判別結果がYESであればステップS87に進む。
【0098】
ステップS83ではシャッタボタン28shが全押しされたか否かを判別し、判別結果がNOであればシャッタボタン28shが解除されたか否かをステップS85で判別する。ステップS85の判別結果がNOであればステップS83に戻る一方、ステップS85の判別結果がYESであればステップS91に進む。
【0099】
ステップS83の判別結果がYESであれば、ステップS87で静止画取り込み処理を実行し、ステップS89では記録処理を実行する。シャッタボタン28shが全押しされた時点の1フレームの画像データは、静止画取り込み処理によって静止画エリア32eに取り込まれる。取り込まれた1フレームの画像データは、記録処理に関連して起動したI/F40によって静止画エリア32eから読み出され、ファイル形式で記録媒体42に記録される。
【0100】
ステップS91では、フォーカス枠AFFの非表示をグラフィックジェネレータ46に要求する。この結果、モニタ38に表示されたフォーカス枠AFFは非表示とされる。ステップS91の処理が完了するとステップS45に戻る。
【0101】
図29を参照して、ステップS101ではフラグFLG_fを“0”に初期設定し、垂直同期信号Vsyncが発生したか否かをステップS103で繰り返し判別する。判別結果がNOからYESに更新されると、ステップS105で全身検出処理を実行する。
【0102】
全身検出処理の完了後、全身ワークレジスタRGSTwに小鳥全身情報の登録があるか否かをステップS107で判別し、判別結果がNOであればステップS101に戻る一方、判別結果がYESであればステップS109に進む。
【0103】
ステップS109では頭部検出処理を実行する。頭部検出処理の完了後、頭部検出レジスタRGSThに小鳥頭部情報の登録があるか否かをステップS111で判別し、判別結果がNOであればステップS101に戻る一方、判別結果がYESであればステップS113に進む。
【0104】
ステップS113では目検出処理を実行する。目検出処理の完了後、目検出レジスタRGSTeに小鳥目情報の登録があるか否かをステップS115で判別し、判別結果がNOであればステップS101に戻る一方、判別結果がYESであればステップS117に進む。
【0105】
ステップS117では目検出レジスタRGSTeから検出目位置EP(Ex,Ey)を読み出し、ステップS119では頭部検出レジスタRGSThから検出頭部サイズHSを読み出す。ステップS121では、AF領域登録テーブルTBLafから登録頭部サイズrHS,登録水平位置差分rDX,登録垂直位置差分rDY,および登録AF領域サイズrASを読み出す。
【0106】
読み出された検出頭部サイズHS,登録頭部サイズrHS,登録水平位置差分rDX,および登録垂直位置差分rDYに基づいて、検出目位置EPとAF処理の対象領域との水平位置の差分DXをステップS123で算出し、垂直位置の差分DYをステップS125で算出する。
【0107】
このようにして算出された水平位置の差分DXおよび垂直位置の差分DYと検出目位置EP(Ex,Ey)とに基づいて、AF処理の対象領域の位置AP(Ax,Ay)をステップS127で算出する。
【0108】
次に、読み出された検出頭部サイズHS,登録頭部サイズrHS,および登録AF領域サイズrASに基づいて、AF処理の対象領域のサイズASをステップS129で算出する。
【0109】
ステップS131では、ステップS127で算出されたAF処理の対象領域の位置AP(Ax,Ay)およびステップS129で算出されたサイズASを、小鳥AF領域レジスタRGSTafに登録する。ステップS133では、小鳥の目を発見したことおよびAF処理の対象領域を設定したことを表明するべくフラグFLG_fを“1”に設定する。ステップS133の処理が完了すると、ステップS103に戻る。
【0110】
ステップS105の全身検出処理は、
図31〜
図33に示すサブルーチンに従って実行される。ステップS141では、全身ワークレジスタRGSTwを初期化すべく登録内容をクリアする。
【0111】
ステップS143では評価エリアEVAの全域を探索エリアとして設定する。ステップS145では、全身検出枠BDのサイズの可変範囲を定義するべく、最大サイズBSZmaxを“200”に設定し、最小サイズBSZminを“20”に設定する。
【0112】
ステップS147では全身検出枠BDのサイズを“BSZmax”に設定し、ステップS149では全身検出枠BDを探索エリアの左上位置に配置する。ステップS151では、全身検出枠BDに属する一部の探索画像データを探索画像エリア32dから読み出し、読み出された探索画像データの特徴量を算出する。
【0113】
ステップS153では変数Bを“1”に設定し、ステップS151で算出された特徴量と辞書番号がBである全身辞書DCbの辞書画像の特徴量とをステップS155で照合する。照合の結果、閾値TH_Bを超える照合度が得られたか否かをステップS157で判別し、判別結果がNOであればステップS161に進む一方、判別結果がYESであればステップS159の処理を経てステップS161に進む。
【0114】
ステップS159では、現時点の全身検出枠BDの位置およびサイズを小鳥全身情報として全身ワークレジスタRGSTwに登録する。
【0115】
ステップS161では変数Bをインクリメントし、変数Bが“2”を超えたか否かをステップS163で判別する。判別結果がNOであればステップS155に戻る一方、判別結果がYESであれば、全身検出枠BDが探索エリアの右下位置に到達したか否かをステップS165で判別する。
【0116】
ステップS165の判別結果がNOであれば、ステップS167で全身検出枠BDを既定量だけラスタ方向に移動させ、その後にステップS151に戻る。ステップS165の判別結果がYESであれば、全身検出枠BDのサイズが“BSZmin”以下であるか否かをステップS169で判別する。ステップS169の判別結果がNOであれば、ステップS171で全身検出枠BDのサイズを“5”だけ縮小させ、ステップS173で全身検出枠BDを探索エリアの左上位置に配置し、その後にステップS151に戻る。ステップS169の判別結果がYESであれば、ステップS175に進む。
【0117】
ステップS175では、全身ワークレジスタRGSTwに登録された小鳥全身情報が複数であるか否かを判別し、判別結果がNOであればステップS177の処理を経てステップS181に進む一方、判別結果がYESであればステップS179の処理を経てステップS181に進む。
【0118】
ステップS177では、全身ワークレジスタRGSTwに登録された小鳥全身情報のうちサイズが最大の小鳥全身情報を抽出する。ステップS179では、全身ワークレジスタRGSTwに登録された最大サイズの小鳥全身情報のうち位置が最も中央寄りの小鳥全身情報を抽出する。
【0119】
ステップS181では、ステップS177またはS179で抽出された小鳥全身情報を用いて全身検出レジスタRGSTbを更新する。ステップS181の処理が完了すると上階層のルーチンに復帰する。
【0120】
ステップS109の頭部検出処理は、
図34〜
図35に示すサブルーチンに従って実行される。ステップS191では、頭部検出レジスタRGSThを初期化すべく登録内容をクリアする。
【0121】
ステップS193では、全身検出レジスタRGSTbに登録された領域を探索エリアとして設定する。ステップS195では、頭部検出枠HDのサイズの可変範囲を定義するべく、全身検出レジスタRGSTbに登録された全身サイズBSに0.75を乗じたサイズに最大サイズHSZmaxを設定し、全身サイズBSに0.4を乗じたサイズに最小サイズHSZminを設定する。
【0122】
ステップS197では頭部検出枠HDのサイズを“HSZmax”に設定し、ステップS199では頭部検出枠HDを探索エリアの左上位置に配置する。ステップS201では、頭部検出枠HDに属する一部の探索画像データを探索画像エリア32dから読み出し、読み出された探索画像データの特徴量を算出する。
【0123】
ステップS203では全身検出レジスタRGSTbに登録された辞書番号に変数Hを設定し、ステップS201で算出された特徴量と辞書番号がHである頭部辞書DChの辞書画像の特徴量とをステップS205で照合する。照合の結果、閾値TH_Hを超える照合度が得られたか否かをステップS207で判別し、判別結果がNOであればステップS209に進む一方、判別結果がYESであればステップS219に進む。
【0124】
ステップS209では、頭部検出枠HDが探索エリアの右下位置に到達したか否かを判別する。判別結果がNOであれば、ステップS211で頭部検出枠HDを既定量だけラスタ方向に移動させ、その後にステップS201に戻る。判別結果がYESであれば、頭部検出枠HDのサイズが“HSZmin”以下であるか否かをステップS213で判別する。ステップS213の判別結果がNOであれば、ステップS215で頭部検出枠HDのサイズを“3”だけ縮小させ、ステップS217で頭部検出枠HDを探索エリアの左上位置に配置し、その後にステップS201に戻る。ステップS213の判別結果がYESであれば、上階層のルーチンに復帰する。
【0125】
ステップS219では、現時点の頭部検出枠HDの位置およびサイズを小鳥頭部情報として頭部検出レジスタRGSThに登録する。ステップS219の処理が完了すると上階層のルーチンに復帰する。
【0126】
ステップS113の目検出処理は、
図36〜
図37に示すサブルーチンに従って実行される。ステップS221では、目検出レジスタRGSTeを初期化すべく登録内容をクリアする。
【0127】
ステップS223では、頭部検出レジスタRGSThに登録された領域を探索エリアとして設定する。ステップS225では、目検出枠EDのサイズの可変範囲を定義するべく、頭部検出レジスタRGSThに登録された頭部サイズHSに0.2を乗じたサイズに最大サイズESZmaxを設定し、頭部サイズHSに0.05を乗じたサイズに最小サイズESZminを設定する。
【0128】
ステップS227では目検出枠EDのサイズを“ESZmax”に設定し、ステップS229では目検出枠EDを探索エリアの左上位置に配置する。ステップS231では、目検出枠EDに属する一部の探索画像データを探索画像エリア32dから読み出し、読み出された探索画像データの特徴量を算出する。
【0129】
ステップS233では、ステップS231で算出された特徴量と目辞書DCeの辞書画像の特徴量とを照合する。照合の結果、閾値TH_Eを超える照合度が得られたか否かをステップS235で判別し、判別結果がNOであればステップS237に進む一方、判別結果がYESであればステップS247に進む。
【0130】
ステップS237では、目検出枠EDが探索エリアの右下位置に到達したか否かを判別する。判別結果がNOであれば、ステップS239で目検出枠EDを既定量だけラスタ方向に移動させ、その後にステップS231に戻る。判別結果がYESであれば、目検出枠EDのサイズが“ESZmin”以下であるか否かをステップS241で判別する。ステップS241の判別結果がNOであれば、ステップS243で目検出枠EDのサイズを“3”だけ縮小させ、ステップS245で目検出枠EDを探索エリアの左上位置に配置し、その後にステップS231に戻る。ステップS241の判別結果がYESであれば、上階層のルーチンに復帰する。
【0131】
ステップS247では、現時点の目検出枠EDの位置およびサイズを小鳥目情報として目検出レジスタRGSTeに登録する。ステップS247の処理が完了すると上階層のルーチンに復帰する。
【0132】
以上の説明から分かるように、イメージセンサ16は、シーンを表す画像を繰り返し出力する。CPU26は、登録操作に応答して相対位置情報を登録し、特定物体を形成する既定部位を表す既定部位画像をイメージセンサ16から出力された画像から探索する。CPU26はまた、イメージセンサ16から出力された画像に現れた特定物体像上の基準位置を探知された既定部位画像と登録された相対位置情報とに基づいて検出する。CPU26は、イメージセンサ16から出力された画像のうち検出された基準位置に存在する部分画像に基づいて撮像条件を調整する。
【0133】
登録操作に応答して相対位置情報が登録される。また、イメージセンサ16から出力された画像から既定部位画像が探索される。探知された既定部位画像と登録された相対位置情報とに基づいて、イメージセンサ16から出力された画像に現れた特定物体像上の基準位置が検出される。イメージセンサ16から出力された画像のうち検出された基準位置に存在する部分画像に基づいて、撮像条件が調整される。
【0134】
したがって、直接の探索が困難な部分画像であっても、その部分画像に基づいて撮像条件を調整することができ、撮像条件の調整能力が向上する。
【0135】
なお、この実施例では、小鳥のくちばしをAF処理の対象領域としたが、くちばし以外の小鳥の部位、例えば耳羽などをAF処理の対象領域としてもよい。
【0136】
また、この実施例では、ディジタルカメラ10を用いて小鳥を撮影する場合を例に挙げた。しかし、辞書画像を用いて探索できる他のものを撮影する場合であっても本発明を適用することができる。例えば、自動車や飛行機などを撮影する場合であってもよい。
【0137】
また、この実施例では、マルチタスクOSおよびこれによって実行される複数のタスクに相当する制御プログラムは、フラッシュメモリ44に予め記憶される。しかし、外部サーバに接続するための通信I/F50を
図38に示す要領でディジタルカメラ10に設け、一部の制御プログラムを内部制御プログラムとしてフラッシュメモリ44に当初から準備する一方、他の一部の制御プログラムを外部制御プログラムとして外部サーバから取得するようにしてもよい。この場合、上述の動作は、内部制御プログラムおよび外部制御プログラムの協働によって実現される。
【0138】
また、この実施例では、CPU26によって実行される処理を、
図24〜
図37にそれぞれ示すメインタスク,領域登録タスク,撮像タスク,および小鳥検出タスクを含む複数のタスクに区分するようにしている。しかし、これらのタスクをさらに複数の小タスクに区分してもよく、さらには区分された複数の小タスクの一部を他のタスクに統合するようにしてもよい。また、転送タスクを複数の小タスクに区分する場合、その全部または一部を外部サーバから取得するようにしてもよい。
【0139】
また、この実施例では、ディジタルスチルカメラを用いて説明したが、本発明は、ディジタルビデオカメラ,携帯電話端末またはスマートフォンなどにも適用することができる。