(57)【要約】【課題】  撮影者に対して被写体の追尾状態を適切に認識させる。【解決手段】本発明の被写体追尾装置は、連続して取得される画像に含まれる被写体を検出する被写体検出部と、第１画像の前記被写体の位置に対して、前記第１画像よりも後に取得される第２画像の前記被写体の位置が所定の範囲内で移動し且つ所定条件を満たさない場合に、前記第２画像に対して設定する、前記被写体を追尾していることを示す指標の位置を、前記第１画像に対して設定した前指標の位置に制御する制御部と、を備える。【選択図】    図３
2018142981.tif 000002
【特許請求の範囲】
【請求項１】
連続して取得される画像に含まれる被写体を検出する被写体検出部と、
第１画像の前記被写体の位置に対して、前記第１画像よりも後に取得される第２画像の前記被写体の位置が所定の範囲内で移動し且つ所定条件を満たさない場合に、前記第２画像に対して設定する、前記被写体を追尾していることを示す指標の位置を、前記第１画像に対して設定した前指標の位置に制御する制御部と、
を備える被写体追尾装置。
【請求項２】
連続して取得される画像に含まれる被写体を検出する被写体検出部と、
第１画像の前記被写体の位置に対して、前記第１画像よりも後に取得される第２画像の前記被写体の位置が所定の範囲内で移動し且つ所定条件を満足した場合に、前記第２画像に対して設定する、前記被写体を追尾していることを示す指標の位置を、前記第２画像の前記被写体の位置に移動させる制御部と、
を備える被写体追尾装置。
【請求項３】
請求項１または２に記載の被写体追尾装置において、
前記制御部は、前記第１画像から検出される前記被写体の位置と、前記第２画像から検出される前記被写体の位置とが一致する回数が予め設定された閾値を超過したときに前記所定条件を満足すると判定する被写体追尾装置。
【請求項４】
請求項２に記載の被写体追尾装置において、
前記制御部は、前記第１画像から検出される前記被写体の位置と、前記第２画像から検出される前記被写体の位置とが一致する回数が予め設定された閾値を超過したときに、前記指標の位置の固定を解除することを特徴とする被写体追尾装置。
【請求項５】
請求項３に記載の被写体追尾装置において、
前記第１画像から検出される前記被写体の位置と、前記第２画像から検出される前記被写体の位置とが一致するか否かを判定する第１の判定部と、
前記第１画像における前記被写体の位置と、前記第２画像における前記被写体の位置とが一致する回数を計数する計数部と、
前記計数部によって計数された回数が前記閾値を超過したか否かを判定する第２の判定部と、
を備える被写体追尾装置。
【請求項６】
請求項２に記載の被写体追尾装置において、
前記制御部は、前記第１画像に対する前記指標の位置と前記第２画像から検出される前記被写体の位置との間の距離が予め設定される値を超過したときに、前記第２画像に対する前記指標の位置の固定を解除する被写体追尾装置。
【請求項７】
請求項６に記載の被写体追尾装置において、
前記予め設定される値は、連続して取得される画像のフレームレートに応じて変化する被写体追尾装置。
【請求項８】
請求項１から請求項７のいずれか１項に記載の被写体追尾装置において、
前記第２画像に対する前記指標の位置の固定を解除したときに、少なくとも前記第２画像から検出される前記被写体の位置に基づいて、前記第２画像に対する前記指標の位置を設定する設定部を備える被写体追尾装置。
【請求項９】
請求項１から請求項８のいずれか１項に記載の被写体追尾装置と、
被写体光を取り込むことで、画像を連続して取得することが可能な撮像素子と、
前記画像を表示する表示部と、
前記表示部に前記画像を表示させるとともに、表示させる画像に前記指標を重畳させる表示制御部と、
を備える撮像装置。
【請求項１０】
連続して取得される画像に含まれる被写体を検出する工程と、
第１画像の前記被写体の位置に対して、前記第１画像よりも後に取得される第２画像の前記被写体の位置が所定の範囲内で移動し且つ所定条件を満たさない場合に、前記第２画像に対して設定する、前記被写体を追尾していることを示す指標の位置を、前記第１画像に対して設定した前指標の位置に制御する工程と、
をコンピュータに実行させることが可能な被写体追尾プログラム。
【請求項１１】
連続して取得される画像に含まれる被写体を検出する工程と、
第１画像の前記被写体の位置に対して、前記第１画像よりも後に取得される第２画像の前記被写体の位置が所定の範囲内で移動し且つ所定条件を満足した場合に、前記第２画像に対して設定する、前記被写体を追尾していることを示す指標の位置を、前記第２画像の前記被写体の位置に移動させる工程と、
をコンピュータに実行させることが可能な被写体追尾プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、被写体追尾装置、撮像装置及び被写体追尾プログラムに関する。
【背景技術】
【０００２】
画像に含まれる被写体を追尾する、いわゆる被写体追尾機能を備えた撮像装置が提供されている。この被写体追尾機能を備えた撮像装置では、例えばライブビュー表示を行う際に、追尾対象となる被写体に対して追尾枠を表示し、撮影者に認識しやすくしている（特許文献１参照）。この被写体追尾機能を用いた場合、被写体が微小移動を繰り返すと追尾枠も被写体に追従して微小移動を繰り返すことから、撮影者にとってはライブビュー表示を集中して観察することができなくなる。したがって、ライブビュー表示上での被写体の移動距離が閾値以下となる場合に、追尾枠を移動させないようにすることも考えられている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１０−８１５８７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、例えば表示画面の周縁部に位置した被写体がさらに表示画面の周縁部に向けて移動するようなライブビュー表示においては表示画面の端部からの距離が上述した閾値以下となる位置で被写体が検出されると、仮に被写体が移動したとしても、追尾枠は移動する直前に設定される位置に固定されてしまう。また、被写体が微小移動した後に停止するような場合も同様にして、追尾枠は現在の被写体の位置ではなく、微小移動する直前の被写体の位置に基づいた位置に固定されてしまう。したがって、ライブビュー表示における被写体の追尾状態を適切に認識させることができないという問題がある。
【０００５】
本発明は、撮影者に対して被写体の追尾状態を適切に認識させることができるようにした被写体追尾装置、撮像装置及び被写体追尾プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
上述した課題を解決するために、本発明の被写体追尾装置は、連続して取得される画像に含まれる被写体を検出する被写体検出部と、第１画像の前記被写体の位置に対して、前記第１画像よりも後に取得される第２画像の前記被写体の位置が所定の範囲内で移動し且つ所定条件を満たさない場合に、前記第２画像に対して設定する、前記被写体を追尾していることを示す指標の位置を、前記第１画像に対して設定した前指標の位置に制御する制御部と、を備える。
【０００７】
また、本発明の被写体追尾装置は、連続して取得される画像に含まれる被写体を検出する被写体検出部と、第１画像の前記被写体の位置に対して、前記第１画像よりも後に取得される第２画像の前記被写体の位置が所定の範囲内で移動し且つ所定条件を満足した場合に、前記第２画像に対して設定する、前記被写体を追尾していることを示す指標の位置を、前記第２画像の前記被写体の位置に移動させる制御部と、を備える。
【０００８】
また、本発明の撮像装置は、上述した被写体追尾装置と、被写体光を取り込むことで、画像を連続して取得することが可能な撮像素子と、前記画像を表示する表示部と、前記表示部に前記画像を表示させるとともに、表示させる画像に前記指標を重畳させる表示制御部と、を備える。
【０００９】
また、本発明の被写体追尾プログラムは、連続して取得される画像に含まれる被写体を検出する工程と、第１画像の前記被写体の位置に対して、前記第１画像よりも後に取得される第２画像の前記被写体の位置が所定の範囲内で移動し且つ所定条件を満たさない場合に、前記第２画像に対して設定する、前記被写体を追尾していることを示す指標の位置を、前記第１画像に対して設定した前指標の位置に制御する工程と、をコンピュータに実行させることが可能なものである。
【００１０】
また、本発明の被写体追尾プログラムは、連続して取得される画像に含まれる被写体を検出する工程と、第１画像の前記被写体の位置に対して、前記第１画像よりも後に取得される第２画像の前記被写体の位置が所定の範囲内で移動し且つ所定条件を満足した場合に、前記第２画像に対して設定する、前記被写体を追尾していることを示す指標の位置を、前記第２画像の前記被写体の位置に移動させる工程と、をコンピュータに実行させることが可能なものである。
【発明の効果】
【００１１】
本発明によれば、撮影者に対して被写体の追尾状態を適切に認識させることができる。
【図面の簡単な説明】
【００１２】
【図１】撮像装置の一例を示す機能ブロック図である。
【図２】撮影時の処理の流れを示すフローチャートである。
【図３】追尾処理の流れを示すフローチャートである。
【図４】取得されるスルー画像と、該スルー画像から検出される被写体に基づいて設定される追尾枠の位置の変化とを示す図である。
【発明を実施するための形態】
【００１３】
以下、本発明の実施の形態について説明する。図１は、本実施形態の撮像装置の一例を示す機能ブロック図である。この撮像装置１０は、静止画像や動画像を取得する撮影モードの他に、撮影により取得した画像データや、記録媒体２８に記録される画像データに基づく画像をモニタ２２に再生する再生モードを備えている。上述した撮影モードと再生モードとの切り替えは、操作部材２４の操作によって実行される。本実施形態においては、レリーズボタンの操作が行われていない撮影待機状態で得られる画像及びレリーズボタンの半押し操作後に得られる画像をスルー画像と称し、レリーズボタンの全押し操作が実行された時に取得される画像を撮影画像と称して説明する。
【００１４】
撮像装置１０は、撮像光学系１５、撮像素子１６、レンズ駆動回路１７、撮像素子駆動回路１８、信号処理回路１９、データ処理回路２０、表示制御回路２１、モニタ２２、圧縮伸長回路２３、操作部材２４、測光回路２５、振れ検出センサ２６、ＣＰＵ２７及び記録媒体２８を備えている。ここで、記録媒体２８は、メモリカードなどの不揮発性メモリの他、ハードディスク、ＤＶＤ等の光学ディスクなどから構成される。この記録媒体２８は、撮像装置１０に内蔵されるものであってもよいし、撮像装置１０に着脱自在に装着されるものであってもよい。
【００１５】
撮像光学系１５は、複数枚のレンズ群で構成され、撮像素子１６の撮像面に被写体像を結像させる。この撮像光学系１５は、不図示のフォーカスレンズを含み、レンズ駆動回路１７がフォーカスレンズを光軸方向に進退駆動させることにより、撮像光学系１５におけるフォーカス調節が行われる。また、撮像光学系１５は、不図示のズームレンズを含み、レンズ駆動回路１７がズームレンズを光軸方向に進退駆動させることにより、撮像光学系１５のズーム調節が行われる。レンズ駆動回路１７は、ＣＰＵ２７から出力されるレンズ駆動指令に応じてレンズ駆動信号を発生し、発生したレンズ駆動信号で、不図示のレンズ駆動機構を駆動することにより、各レンズを移動させる。
【００１６】
また、撮像光学系１５は、振れ検出センサ２６の出力に基づいて、複数枚のレンズのうちの所定のレンズを、撮像光学系１５の光軸に対して垂直方向に移動させることにより、撮像素子１６上に結像される被写体の位置をシフトする。これにより、振れ補正が行われる。上述した所定のレンズの移動は、不図示の駆動機構を介して実行される。ここで、撮像光学系１５を構成する複数枚のレンズのいずれかのレンズを、撮像光学系１５の光軸に垂直な方向に移動させる構成ではなく、撮像素子１６を撮像光学系１５の光軸に垂直な方向に移動させる構成であってもよい。
【００１７】
撮像素子１６は、静止画像の単写撮像とともに、静止画像の連続撮像、および動画像の撮像が可能である。この撮像素子１６は、例えばＣＣＤイメージセンサやＣＭＯＳイメージセンサなどから構成される。
【００１８】
撮像素子駆動回路１８は、ＣＰＵ２７から出力される指令に応じて駆動信号を発生し、発生した駆動信号を撮像素子１６に供給する。撮像素子１６は、供給された駆動信号によって信号電荷の蓄積や蓄積された信号電荷の読み出しを行う。ＣＰＵ２７は、測光回路２５による被写界の測光データを用いて被写界の明るさの情報を求め、求めた明るさの情報に基づいて、撮像素子１６の電荷蓄積時間、撮像光学系１５における絞り、撮像素子１６により出力される画像信号の増幅度などを決定する。
【００１９】
信号処理回路１９は、ＣＰＵ２７からの指令を受けて入力信号に対して、増幅処理、直流再生処理、Ａ／Ｄ変換処理、ホワイトバランス処理及びガンマ処理を施し、信号処理後のデータを画像データとしてデータ処理回路２０へ出力する。
【００２０】
データ処理回路２０は、ＣＰＵ２７からの指令に応じて、信号処理回路１９より出力された画像データを圧縮伸長回路２３に出力するとともに、モニタ２２に画像を表示するために必要な解像度変換処理（画素数変換）処理を画像データに施し、解像度変換処理後の画像データを表示制御回路２１へ出力する。なお、データ処理回路２０は、データズーム処理を行う場合には、入力される画像データに対して解像度変換処理を施して、圧縮伸長回路２３および表示制御回路２１にそれぞれ出力する。
【００２１】
また、この他に、データ処理回路２０は、撮影が実行されていない撮影待機状態においてスルー画像を撮像している場合や動画像を撮像している場合に、後述する追尾処理を実行する。
【００２２】
表示制御回路２１は、ＣＰＵ２７からの指令に応じて、データ処理回路２０から入力される画像データに所定の信号処理を施してモニタ２２に出力する。表示制御回路２１は、画像データに撮影メニュー、カーソルの他、被写体の位置を示す追尾枠などのオーバーレイ画像データを重畳する処理を行う。これにより、オーバーレイ画像が重畳された画像がモニタ２２に表示される。
【００２３】
圧縮伸長回路２３は、ＣＰＵ２７からの指令に応じて、データ処理回路２０から出力される画像データに、例えばＪＰＥＧ形式などの所定の形式で圧縮処理を施し、圧縮処理後のデータを記録媒体２８に書き込む。撮影時に記録媒体２８へ画像データを記録する場合、記録する画像データに対応する画像がモニタ２２に表示される。なお、操作部材２４による操作により画像データの非圧縮での記録が指示された場合、圧縮伸長回路２３は圧縮処理を行わずに、記録媒体２８へ画像データを記録する。
【００２４】
また、記録媒体２８に記録された画像データを再生する場合、圧縮伸長回路２３は、ＣＰＵ２７からの指令に応じて記録媒体２８に記録された画像データを読み出し、読み出した画像データに対して復号化処理を行う。この復号化処理が施された画像データはデータ処理回路２０に出力される。データ処理回路２０は、復号化処理された画像データに対して解像度変換処理を施し、表示制御回路２１に出力する。これにより、モニタ２２に記録媒体２８から読み出された画像データに基づく画像が表示される。
【００２５】
操作部材２４は、レリーズボタンを含み、操作内容に応じた操作信号をＣＰＵ２７に出力する。ＣＰＵ２７は、レリーズボタンの押圧操作に基づくレリーズ操作信号が操作部材２４から入力されると、撮像素子１６から読み出される画像信号の中で、撮像画面内に予め設定されているフォーカス検出領域に対応する信号を用いて公知のコントラスト方式のＡＦ（オートフォーカス）動作を行う。
【００２６】
具体的には、ＣＰＵ２０は、信号処理回路１９によって信号処理された画像データのうち、フォーカス検出領域に対応するデータについての高周波成分の積算値（いわゆる焦点評価値）を最大にするように、レンズ駆動指令（フォーカス調節信号）をレンズ駆動回路１７に出力する。焦点評価値を最大にするフォーカスレンズの位置は、撮像素子１６によって撮像される被写体像のエッジのぼけをなくし、画像のコントラストを最大にする（尖鋭度を高める）合焦位置である。
【００２７】
なお、上記コントラスト方式のＡＦ動作に加えて、公知の瞳分割方式による位相差ＡＦ動作を行うように構成してもよい。また、上記コントラスト方式のＡＦ動作に変えて、撮像面に焦点検出用の画素が埋め込まれた撮像素子１６を用いることで位相差ＡＦを行うことも可能である。
【００２８】
また、操作部材２４は、ズーム操作部材を含む。ズーム操作に基づくズーム操作信号が操作部材２４から入力されると、ＣＰＵ２７は、データ処理回路２０へ指令を出力し、画像データに対する解像度変換処理の変換比率を操作信号に基づいて変化させる。これにより、モニタ２２に表示される画像が拡大もしくは縮小、つまり電気的なズーム調節が実行される。解像度変換比率は電子ズーム倍率に対応する。データ処理回路２０が電子ズーム倍率を高める方向に変換比率を変える場合、再生する画像の一部が拡大されてモニタ２２に表示される。この場合、拡大率が上がる反面、再生する画像の表示範囲は狭くなる。一方、データ処理回路２０が電子ズーム倍率を低くする方向に変換比率を変える場合、モニタ２２に表示される再生画像の拡大率が下がる反面、再生画像の表示範囲は広くなる。
【００２９】
振れ検出センサ２６は、例えば角速度センサ、ジャイロセンサなどから構成される。この振れ検出センサ２６は、撮像装置１０の筐体内に設けられ、撮像装置１０の振れを例えば撮像光学系１５の光軸に直交する平面内の二方向について検出する。
【００３０】
筐体に振れが生じたときに、振れ検出センサ２６は、これを検知し、上述した二方向の振れ量データをＣＰＵ２７に出力する。ＣＰＵ２７は、筐体の振れに伴う撮像素子１６の撮像面上に結像される被写体像の移動が打ち消されるように、撮像光学系１５を構成する補正光学系を、レンズ駆動回路１７を介して移動させる。これにより、振れ補正が実行される。
【００３１】
次に、データ処理回路２０の構成について説明する。データ処理回路２０は、被写体検出部３１、被写体追尾部３２、コアリング処理部３３及びフィルタリング処理部３４を有している。
【００３２】
被写体検出部３１は、解像度変換処理が施された画像データを用いて、被写体追尾動作を開始する初期フレームにおいて、当該画像データに基づく画像に含まれる被写体を検出する。被写体を検出する方法としては、例えば主要な被写体（主要被写体）としての人物の特徴を示す特徴情報（例えば、顔の特徴情報）、又は、乗り物（自動車、電車、航空機等）の特徴を示す特徴情報等に基づいて、画像に含まれる被写体の領域を検出する。そして、検出した主要被写体の領域の画像（以下、被写体画像）データを生成する。また、被写体検出部３１は、検出した被写体の画面内の位置（座標）と、主要被写体の大きさとを示す被写体情報を生成する。
【００３３】
ここで、被写体検出部３１の被写体画像データの生成は、自動的な生成に限定されるものではなく、たとえば、操作部材２４の操作により、撮影者がモニタ２２に表示された被写体像を指示することにより、被写体検出部３１が、指示された被写体の領域の検出、被写体画像データの生成、及び検出した被写体の画面内の位置（座標）と主要被写体の大きさとを示す被写体情報の生成を行う構成としてもよい。
【００３４】
被写体追尾部３２は、初期フレームにおいて被写体検出部３１により生成された被写体画像データと、解像度変換処理が施された画像データとを用いて、例えばテンプレートマッチング処理を実行する。このテンプレートマッチング処理については周知であることから、ここでは、その詳細を省略する。テンプレートマッチング処理を行うことで、初期フレームに続くフレームで被写体が検出されると、被写体追尾部３２は、検出した被写体に基づいた被写体情報を生成する。なお、上記説明では、被写体追尾部３２が、初期フレームに続くフレームでテンプレートマッチング処理により被写体を検出する例について説明したがこれに限定する必要はなく、パーティクルフィルタなどその他の手法を用いて初期フレームに続くフレームの被写体を検出する構成としてもよい。
【００３５】
コアリング処理部３３は、時間的に前後するスルー画像のそれぞれから検出される被写体の位置情報と、モニタ２２に表示された追尾枠の位置情報とを用いて、コアリング処理を行う。ここで、モニタ２２に表示された追尾枠とは、時間的に前後するスルー画像のうち、時間的に前となるスルー画像に対して設定される追尾枠である。
【００３６】
コアリング処理は、以下の手順で実行される。まず、コアリング処理部３３は、時間的に前となるスルー画像に対する追尾枠の位置と、時間的に後となるスルー画像から検出された被写体の位置との距離Ｄが予め定めた閾値Ｄ０を超過するか否かの判定（第１判定）を行う。なお、追尾枠の位置や被写体の位置とは、各々、追尾枠の中心の位置や被写体の中心の位置である。第１判定の結果、上述した距離Ｄが予め定めた閾値Ｄ０以下となる場合、コアリング処理部３３は、時間的に前後するスルー画像のそれぞれから検出された被写体の位置が一致しているか否かの判定（第２判定）を行う。第２判定の結果、時間的に前後するスルー画像のそれぞれから検出された被写体の位置が一致しない場合、コアリング処理部３３は、時間的に前に得られたスルー画像に対する追尾枠の位置（言い換えれば、モニタ２２に表示されている追尾枠の位置）を、時間的に後に得られるスルー画像に対する追尾枠の位置として設定する。したがって、追尾枠の位置が固定される。
【００３７】
上述した第２判定において、時間的に前後するスルー画像のそれぞれから検出される被写体の位置が一致すると判定された場合、コアリング処理部３３は、時間的に前後するスルー画像のそれぞれから検出される被写体の位置が一致すると判定された回数Ｓが予め設定された閾値Ｓ０以上であるか否かの判定（第３判定）を行う。この第３判定において、時間的に前後するスルー画像のそれぞれから検出される被写体の位置が一致すると判定された回数Ｓが予め設定された閾値Ｓ０未満となる場合に、コアリング処理部３３は、時間的に前に得られたスルー画像に対する追尾枠の位置を、時間的に後に得られたスルー画像に対する追尾枠の位置として設定する。したがって、この場合も、追尾枠の位置が固定される。
【００３８】
上述した第１判定において、時間的に前に得られたスルー画像に対する追尾枠の位置と、時間的に後に得られたスルー画像から検出された被写体の位置との距離Ｄが予め定めた閾値Ｄ０を超過する場合、コアリング処理部３３は、コアリング処理を終了させ、フィルタリング処理部３４における処理を実行する。
【００３９】
また、第３判定において、時間的に前後するスルー画像のそれぞれから検出される被写体の位置が一致すると判定された回数Ｓが予め設定された閾値Ｓ０以上となる場合、コアリング処理部３３は、コアリング処理を終了させる。この場合、時間的に後に得られたスルー画像から検出された被写体の位置が、このフレームにおける追尾枠の位置として設定される。つまり、追尾枠の位置の固定が解除される。
【００４０】
フィルタリング処理部３４は、時間的に前に得られたスルー画像に重畳された追尾枠の位置情報と、時間的に後に得られたスルー画像から検出された被写体に基づく被写体情報とを用いて、追尾枠の表示位置（座標）演算に際して、時間軸方向のフィルタリング処理を行う。なお、フィルタリング処理は、例えば時間的に前に得られたスルー画像に重畳された追尾枠の位置と、時間的に後に得られたスルー画像から検出された被写体の位置との平均値を求める処理である。本実施形態では、追尾枠の位置の固定が解除されると、フィルタリング処理が実行される。
【００４１】
以下、撮影モードに設定された時の撮像装置１０の処理の流れについて、図２のフローチャートに基づいて説明する。
【００４２】
ステップＳ１０１は、スルー画像を撮像する処理である。ＣＰＵ２７は、測光回路２５から得られた測光データを用いて被写界の明るさを算出する。算出した被写界の明るさの情報に基づいて、ＣＰＵ２７は、撮像素子１６の電荷蓄積時間、撮像光学系１５における絞り、撮像素子１６により出力される画像信号の増幅度などを決定する。そして、ＣＰＵ２７は、撮像素子１６を駆動させるための駆動信号を撮像素子駆動回路１８に出力する。この駆動信号を受けて、撮像素子駆動回路１８は、撮像素子１６を駆動する。したがって、撮像素子１６から例えば３０ｆｐｓのフレームレートで画像信号が出力される。
【００４３】
ステップＳ１０２は、画像処理である。信号処理回路１９は、入力される画像信号に対して増幅処理、直流再生処理、Ａ／Ｄ変換処理、ホワイトバランス処理及びガンマ処理を施し、信号処理後のデータをスルー画像データとしてデータ処理回路２０へ出力する。データ処理回路２０は、入力されたスルー画像データに対して、モニタ２２に画像を表示するために必要な解像度変換処理（画素数変換）処理を施し、解像度変換処理後のスルー画像データを表示制御回路２１へ出力する。
【００４４】
ステップＳ１０３は、スルー画像を表示する処理である。表示制御回路２１は、データ処理回路２０から入力されるスルー画像データに所定の信号処理を施してモニタ２２に出力する。これにより、スルー画像がモニタ２２に表示される。
【００４５】
ステップＳ１０４は、撮像処理の回数ｎがｎ≧２であるか否かを判定する処理である。ＣＰＵ２７は、撮像処理の回数ｎをカウントしている。このカウント値ｎがｎ≧２である場合には、ＣＰＵ２７は、ステップＳ１０４の判定処理の結果をＹｅｓとする。この場合、ステップＳ１０５に進む。一方、カウント値ｎがｎ≧２でない場合、言い換えれば、カウント値ｎがｎ＝１である場合には、ＣＰＵ２７は、ステップＳ１０４の判定処理の結果をＮｏとする。この場合、ステップＳ１０６に進む。
【００４６】
ステップＳ１０５は、被写体の追尾処理である。このステップＳ１０５の処理については、後述する。
【００４７】
ステップＳ１０６は、被写体検出処理である。データ処理回路２０は、解像度変換処理を施したスルー画像データを用いて被写体を検出する。そして、データ処理回路２０は、検出された被写体の領域に基づく被写体画像データを生成する。また、データ処理回路２０は、検出した被写体の位置および大きさからなる被写体情報を生成する。
【００４８】
ステップＳ１０７は、追尾枠を表示する処理である。データ処理回路２０は、生成した被写体情報を表示制御回路２１に出力する。表示制御回路２１は、入力された被写体情報に基づく追尾枠をオーバーレイ画像データとして生成し、このオーバーレイ画像データを取得されたスルー画像データに重畳する。そして、表示制御回路２１は、オーバーレイ画像データが重畳されたスルー画像データをモニタ２２に表示する。したがって、追尾枠が重畳されたスルー画像がモニタ２２に表示される。
【００４９】
ステップＳ１０８は、ＡＦ処理である。ＣＰＵ２７は、データ処理回路２０において検出した被写体の領域をフォーカス検出領域としたコントラスト方式のＡＦ（オートフォーカス）動作を行う。なお、フォーカス検出領域として検出した被写体の領域を用いるようにしているが、追尾枠の領域をフォーカス検出領域としてもよい。
【００５０】
ステップＳ１０９は、操作部材２４の１つであるレリーズボタンの半押し操作があるか否かを判定する処理である。図示は省略するが、レリーズボタンには、その半押し操作を検知するスイッチ（第１スイッチ）と、全押し操作を検知するスイッチ（第２スイッチ）が設けられている。レリーズボタンの第１スイッチからの出力信号がＣＰＵ２７に入力された場合、ＣＰＵ２７は、ステップＳ１０９の判定処理の結果をＹｅｓとする。この場合、ステップＳ１１０に進む。一方、レリーズボタンの第１スイッチからの出力信号がＣＰＵ２７に入力されていない場合、ＣＰＵ２７は、ステップＳ１０９の判定処理の結果をＮｏとする。この場合、ステップＳ１０１に戻る。そして、ステップＳ１０９の判定処理の結果がＹｅｓとなるまで、ステップＳ１０１からステップＳ１０８の処理が繰り返し実行される。
【００５１】
以下、ステップＳ１１０からステップＳ１１５の処理は、ステップＳ１０１、ステップＳ１０２，ステップＳ１０３、ステップＳ１０５、ステップＳ１０７及びステップＳ１０８の処理と同様である。以下、これら処理については、その説明を省略する。なお、これら処理は、ＡＥ（Ａｕｔｏ  Ｅｘｐｏｓｕｒｅ）を固定して実行される。ステップＳ１１０からステップＳ１１５の処理が実行されると、ステップＳ１１６に進む。
【００５２】
ステップＳ１１６は、レリーズボタンの全押し操作があるか否かを判定する処理である。上述した第２スイッチからの出力信号がＣＰＵ２７に入力されると、ＣＰＵ２７は、ステップＳ１１６の判定処理の結果をＹｅｓとする。この場合、ステップＳ１１７に進む。一方、第２スイッチからの出力信号がＣＰＵ２７に入力されない場合、ＣＰＵ２７は、ステップＳ１１６の判定処理の結果をＮｏとする。この場合、ステップＳ１１０に戻る。この場合、ステップＳ１１６の判定処理の結果がＹｅｓとなるまで、ステップＳ１１０からステップＳ１１５の処理が繰り返し実行される。
【００５３】
ステップＳ１１７は、撮影画像の撮像処理である。ＣＰＵ２７は、追尾枠に含まれる被写体の領域に焦点が合うように、撮像光学系１５を構成するフォーカスレンズの位置を微調整する。そして、決定された撮像条件を用いて、撮像処理を実行する。この撮像処理を行うことで、撮像素子１６から画像信号が信号処理回路１９に入力される。
【００５４】
ステップＳ１１８は、画像処理である。信号処理回路１９は、入力される画像信号に対して増幅処理、直流再生処理、Ａ／Ｄ変換処理、ホワイトバランス処理及びガンマ処理を施し、信号処理後のデータを撮影画像データとしてデータ処理回路２０へ出力する。
【００５５】
ステップＳ１１９は、撮影画像を表示する処理である。表示制御回路２１は、データ処理回路２０から入力される撮影画像データに所定の信号処理を施してモニタ２２に出力する。これにより、撮像画像がモニタ２２に表示される。
【００５６】
ステップＳ１２０は、撮影画像を記録する処理である。信号処理回路１９は、画像処理した撮影画像データを圧縮伸長回路２３に出力する。圧縮伸長回路２３は、入力される画像データに所定の形式で圧縮処理を施し、圧縮処理後のデータを記録媒体２８に記録する。なお、非圧縮で画像データを記録する場合には、圧縮伸長回路２３は、上述した圧縮処理を行わずに、そのまま記録媒体２８に記録する。
【００５７】
次に、上述したステップＳ１０５及びステップＳ１１３における追尾処理について、図３のフローチャートを用いて説明する。ここで、ステップＳ２０３、ステップＳ２０７からステップＳ２０９及びステップＳ２１１の処理がコアリング処理となる。
【００５８】
ステップＳ２０１は、テンプレートマッチングを行う処理である。データ処理回路２０は、ステップＳ１０６の処理を行うことで得られた被写体画像データと解像度変換処理が施された画像データとを用いて、テンプレートマッチング処理を実行する。そして、テンプレートマッチング処理を行うことで被写体が検出された場合に、データ処理回路２０は、検出された被写体に基づく被写体情報を生成する。
【００５９】
ステップＳ２０２は、時間的に前後するフレームのうち前のフレームで表示された追尾枠の位置と、時間的に前後するフレームのうち後のフレームで検出した被写体の位置の差分ΔＸ、ΔＹを算出する処理である。データ処理回路２０は、モニタ２２に表示される追尾枠の位置情報と、ステップＳ２０１にて生成された被写体情報とを用いて、位置の差分ΔＸ、ΔＹを算出する。例えば時間的に前後するフレームのうちの前のフレーム１で表示される追尾枠の位置を（ｘ１，ｙ１）、時間的に前後するフレームのうちの後のフレーム２においてステップＳ２０１の処理を行うことで検出された被写体の位置を（Ｘ２，Ｙ２）とすると、モニタ２２に表示される追尾枠の位置と、ステップＳ２０１の処理により検出された被写体の位置の差分ΔＸ、ΔＹは、以下の（１）式、（２）式で算出される。
【００６０】
ΔＸ＝｜ｘ１−Ｘ２｜      ・・・（１）
ΔＹ＝｜ｙ１−Ｙ２｜      ・・・（２）
ステップＳ２０３は、追尾枠から被写体までの距離Ｄが閾値Ｄ０を超過するか否かを判定する（第１判定）処理である。データ処理回路２０は、上述した（１）式及び（２）式にて求めたΔＸ及びΔＹを用いて、追尾枠から被写体までの距離Ｄを求める。距離Ｄは例えば（３）式で求められる。
【００６１】
Ｄ＝［（ΔＸ）２＋（ΔＹ）２］１／２  ・・・（３）
データ処理回路２０は、上述した（３）式で求まる距離Ｄを予め定めた閾値Ｄ０と比較し、距離Ｄが閾値Ｄ０を超過するか否かを判定する。距離Ｄが閾値Ｄ０を超過する場合、データ処理回路２０は、ステップＳ２０３の判定処理の結果をＹｅｓとし、ステップＳ２０４に進む。つまり、これ以前にコアリング処理が継続して行われていた場合にはコアリング処理が終了する。一方、距離Ｄが閾値Ｄ０以下となる場合、データ処理回路２０は、ステップＳ２０３の判定処理の結果をＮｏとし、ステップＳ２０７に進む。
【００６２】
なお、上述した閾値Ｄ０は、用いるスルー画像における解像度や、スルー画像を取得するときのフレームレートに応じて設定される値である。つまり、フレームレートが小さいときには、時間的に前後するフレーム画像のうち、時間的に前となるスルー画像が取得されてから、時間的に後になるスルー画像が取得されるまでの経過時間が長くなる。つまり、時間的に前後するフレーム画像から検出される被写体の移動距離が長くなるので、閾値Ｄ０を大きく設定する。一方、フレームレートが大きいときには、時間的に前となるスルー画像が取得されてから、時間的に後になるスルー画像が取得されるまでの経過時間が短くなる。つまり、時間的に前後するフレーム画像から検出される被写体の移動距離が短くなるので、閾値Ｄ０を小さく設定する。
【００６３】
ここで、ステップＳ２０３の処理として、求めた距離Ｄが閾値Ｄ０を超過するか否かを判定しているが、これに限定されるものではなく、ΔＸ＋ΔＹのような距離に関連する値が閾値を超過するか否かを判定する処理とすることも可能である。
【００６４】
ステップＳ２０４は、フィルタリング処理である。データ処理回路２０は、表示される追尾枠の位置（ｘ１，ｙ１）と、ステップＳ２０１により検出した被写体の位置（Ｘ２，Ｙ２）とから、スルー画像に対する追尾枠の位置を求める。詳細には、以下の（４）式及び（５）式を用いて、時間的に前後するフレームのうち後のフレームにおける追尾枠の位置（ｘ２，ｙ２）を求める。つまり、ステップＳ２０４の処理を行うことで、追尾枠の位置の固定が解除される。
【００６５】
ｘ２＝（ｘ１＋Ｘ２）／２      ・・・（４）
ｙ２＝（ｙ１＋Ｙ２）／２      ・・・（５）
ステップＳ２０５は、追尾枠の位置を設定する処理である。データ処理回路２０は、ステップＳ２０４におけるフィルタリング処理を行うことで得られた値（位置）を、追尾枠の位置情報として設定する。そして、データ処理回路２０は、設定した追尾枠の位置情報を表示制御回路２１に出力する。
【００６６】
ステップＳ２０６は、フレームカウンタの値Ｓを０に設定する処理である。データ処理回路２０は、不図示のフレームカウンタの値Ｓをリセットする（Ｓ＝０）。ここで、フレームカウンタは、後述するコアリング処理において、時間的に前後する２つの画像間において、時間的に後に得られる画像の被写体の位置が、時間的に前に得られる画像の被写体の位置に一致する回数をカウントするものである。
【００６７】
ステップＳ２０３において、距離Ｄが閾値Ｄ０以下となる場合、ステップＳ２０７に進む。
【００６８】
ステップＳ２０７は、今回検出した被写体の位置が、前回検出した被写体の位置と一致するか否かを判定する（第２判定）処理である。ここで、今回検出した被写体の位置とは、時間的に前後する画像（フレーム）のうち、時間的に後に得られたスルー画像から検出した被写体の位置を示している。また、前回検出した被写体の位置とは、時間的に前後する画像（フレーム）のうち、時間的に前に得られたスルー画像から検出した被写体の位置を示している。今回検出した被写体の位置が、前回検出した被写体の位置と一致する場合、データ処理回路２０は、ステップＳ２０７の判定処理の結果をＹｅｓとする。この場合、ステップＳ２０８に進む。一方、今回検出した被写体の位置が、前回検出した被写体の位置と一致しない場合、データ処理回路２０は、ステップＳ２０７の判定処理の結果をＮｏとする。この場合、ステップＳ２１１に進む。このステップＳ２０７における処理は、Ｘ座標のみ、又はＹ座標のみで行ってもよいし、Ｘ座標およびＹ座標の双方を用いて行ってもよい。
【００６９】
ステップＳ２０８は、フレームカウンタの値Ｓに１を加算するインクリメント処理である。データ処理回路２０は、不図示のフレームカウンタを有している。データ処理回路２０は、フレームカウンタの値Ｓに＋１を加算する。
【００７０】
ステップＳ２０９は、フレームカウンタの値Ｓが閾値Ｓ０以上であるか否かを判定する（第３判定）処理である。データ処理回路２０は、フレームカウンタの値Ｓを参照して、フレームカウンタの値Ｓが閾値Ｓ０以上であるか否かを判定する。フレームカウンタの値Ｓが閾値Ｓ０以上である場合、データ処理回路２０は、ステップＳ２０８の判定処理の結果をＹｅｓとする。この場合、ステップＳ２１０に進む。つまり、この場合、コアリング処理が終了する。一方、フレームカウンタの値Ｓが閾値Ｓ０未満となる場合には、データ処理回路２０は、ステップＳ２０９の判定処理の結果をＮｏとする。この場合、ステップＳ２１１に進む。
【００７１】
ステップＳ２１０は、今回検出した被写体の位置を追尾枠の位置として設定する処理である。データ処理回路２０は、検出された被写体の位置を表示させる追尾枠の位置として設定する。つまり、ステップＳ２１０の処理が実行されることで、追尾枠の位置の固定が解除される。このステップＳ２１０の処理が実行されると、ステップＳ２０６に進む。
【００７２】
ステップＳ２０７の判定処理の結果がＮｏとなる場合、ステップＳ２１１に進む。
【００７３】
ステップＳ２１１は、追尾枠の位置を固定する処理である。データ処理回路２０は、前回表示した追尾枠の位置情報を、今回表示する追尾枠の位置情報として設定する。つまり、このステップＳ２１１の処理が実行されることで、追尾枠の位置が固定される。
【００７４】
以下、被写体が時間ｔ２まで位置Ａにいる被写体が、時間ｔ２から時間ｔ３の間でＸ方向に移動する場合のスルー画像、及びスルー画像に重畳される追尾枠の位置について、図４を用いて説明する。
【００７５】
時間ｔ１において被写体が位置Ａにあることから、追尾枠４０はスルー画像Ｐ１から検出される被写体の位置に合わせて表示される。また、時間ｔ２においても被写体は位置Ａにある。つまり、時間ｔ１における追尾枠４０の位置と、スルー画像Ｐ２から検出される被写体の位置との距離Ｄは、Ｄ＝０となる。したがって、時間ｔ２における追尾枠４０の位置は、時間ｔ１のときと同一の位置となる。
【００７６】
上述したように、被写体は時間ｔ２から時間ｔ３まで経過する間に位置Ａから位置Ｂに（Ｘ方向に）移動する。例えば、時間ｔ２にて検出される被写体のＸ座標がＸｔ２＝９０、時間ｔ３にて検出される被写体のＸ座標がＸｔ３＝１５０である場合、時間ｔ２における追尾枠４０の位置から時間ｔ３における被写体の位置までの距離Ｄは、Ｄ＝６０となる。ここで、閾値Ｄ０が２０に設定されている場合には、距離Ｄ＞閾値Ｄ０が満足される。このような場合には、コアリング処理が終了し、フィルタリング処理が実行される。ここで、時間ｔ２における追尾枠４０の位置ｘｔ２は、ｘｔ２＝９０であり、時間ｔ３における被写体の位置Ｘｔ３は、Ｘｔ３＝１５０である。よって、時間ｔ３における追尾枠４０の位置ｘｔ３は、ｘｔ３＝（ｘｔ２＋Ｘｔ３）／２＝（９０＋１５０）／２＝１２０となる。
【００７７】
時間ｔ３以降は、被写体はＸ方向及びＹ方向に移動しない。例えば時間ｔ４において被写体は位置Ｂにある。時間ｔ３における追尾枠４０の位置ｘｔ３は、ｘｔ３＝１２０、時間ｔ４にて検出される被写体のＸ座標がＸｔ４＝１５０であることから、時間ｔ３における追尾枠４０の位置から時間ｔ４における被写体の位置までの距離Ｄは、Ｄ＝３０となる。この場合も、距離Ｄ＞閾値Ｄ０を満足するのでコアリング処理が行われず、フィルタリング処理が実行される。ここで、時間ｔ３における追尾枠４０の位置ｘｔ３は、ｘｔ３＝１２０であり、時間ｔ４における被写体の位置Ｘｔ４は、Ｘｔ４＝１５０である。よって、時間ｔ４における追尾枠４０の位置ｘｔ４は、ｘｔ４＝（ｘｔ３＋Ｘｔ４）／２＝（１２０＋１５０）／２＝１３５となる。
【００７８】
時間ｔ５における被写体は、時間ｔ４と同様に位置Ｂにある。時間ｔ４における追尾枠４０の位置ｘｔ４＝１３５、時間ｔ５における被写体の位置Ｘｔ５は、Ｘｔ５＝１５０である。よって、時間ｔ４における追尾枠４０の位置から時間ｔ５における被写体の位置までの距離Ｄは、Ｄ＝１５となる。この場合、距離Ｄ＞閾値Ｄ０を満足していない。また、時間ｔ５における被写体の位置は、時間ｔ４における被写体の位置から変化していない。したがって、フレームカウンタの値Ｓが、Ｓ＝１となる。ここで、第３判定における閾値Ｓ０をＳ０＝２とすると、Ｓ≧Ｓ０を満足していないので、この場合、時間ｔ５における追尾枠４０の位置は、時間ｔ４における追尾枠４０の位置と同一の位置に設定される。
【００７９】
時間ｔ６における被写体は、時間ｔ５と同様に位置Ｂにある。時間ｔ５における追尾枠４０の位置ｘｔ５＝１３５、時間ｔ６における被写体の位置Ｘｔ６は、Ｘｔ６＝１５０である。したがって、時間ｔ５における追尾枠４０の位置から時間ｔ６における被写体の位置までの距離Ｄは、Ｄ＝１５となる。時間ｔ５と同様に、時間ｔ６においても、距離Ｄ＞閾値Ｄ０を満足していない。また、時間ｔ６における被写体の位置は、時間ｔ５における被写体の位置から変化していない。したがって、フレームカウンタの値Ｓが、Ｓ＝２となる。上述したように、第３判定における閾値Ｓ０＝２であることから、Ｓ≧Ｓ０を満足する。したがって、この場合には、時間ｔ６における追尾枠４０の位置は、時間ｔ６における被写体の位置となる。
【００８０】
このように、スルー画像から検出される被写体の移動において、スルー画像間の移動距離が大きく、予め設定した閾値を超過する（第１判定がＹｅｓとなる）場合には、コアリング処理が行われていれば当該コアリング処理を終了し、フィルタリング処理を行う。このフィルタリング処理により、追尾枠の位置の固定が解除され、追尾枠の位置が新たに設定される。また、被写体の移動距離が小さく、予め設定した閾値以下となり（第１判定がＮｏとなり）、また、時間的に前後する画像から得られる被写体の位置が一致していない（第２判定がＮｏとなる）ときには、コアリング処理によって追尾枠の位置が固定される。
【００８１】
さらに、第１判定がＮｏとなり、時間的に前後する画像から得られる被写体の位置が一致する（第２判定がＹｅｓとなる）ときには、時間的に前後する画像から得られる被写体の位置が一致する回数が閾値以上となるか否かを判定する。時間的に前後する画像から得られる被写体の位置が一致する回数が閾値以上となる（第３判定がＹｅｓとなる）場合にはコアリング処理を終了する。したがって、追尾枠の位置の固定が解除され、検出した被写体の位置を追尾枠の位置に新たに設定する。一方、時間的に前後する画像から得られる被写体の位置が一致する回数が閾値未満となる（第３判定がＮｏとなる）場合はコアリング処理により追尾枠の位置が固定される。
【００８２】
つまり、被写体が微小移動している場合には、追尾枠の位置を基準としたときの被写体までの距離は小さい。したがって、被写体が微小移動している際に得られる画像に対して設定される追尾枠の位置は固定となる。また、被写体が移動した後、被写体が停止した場合には、追尾枠の位置は、徐々に被写体の位置に近づくように移動していくが、距離Ｄ＞閾値Ｄ０を満足していないと判定される前に設定された位置に固定される。しかしながら、実際の被写体の位置が停止しているのであれば、停止する被写体の位置に追尾枠を設定することが望ましい。したがって、本発明においては、時間的に前後するスルー画像における被写体の位置が一致している回数をカウントし、そのカウントが閾値以上となる場合には被写体が一時的に移動したのではないと判断し、追尾枠の位置を、検出された被写体の位置に設定する。したがって、追尾枠の微小移動を防止しつつ、追尾枠を適切に表示させることが可能となる。
【００８３】
また、従来の被写体追尾処理では、被写体がスルー画像の端部から閾値Ｄ０以下の範囲にあり、また、その被写体が端部に向けて移動した場合、追尾枠は移動する前の位置に固定される。しかしながら、本発明の被写体追尾では、被写体がスルー画像の端部から閾値Ｄ０以下の範囲にあり、また、その被写体が端部に向けて移動した場合には、被写体の位置が一致している回数が所定回数であれば、被写体がその位置にあると判断し、追尾枠をその位置に移動させる。したがって、追尾枠を適切に表示させることが可能となる。
【００８４】
本実施形態では、撮影待機状態において得られるスルー画像に対して追尾枠を表示させる場合の実施形態としているが、これに限定される必要はなく、動画像を撮像している過程で追尾処理を行う場合にも適用することが可能となる。
（変形例）
本実施形態では、追尾枠から被写体までの距離Ｄが閾値Ｄ０以下となる場合で、かつ被写体の位置が変化しない回数が所定数連続した場合に、検出した被写体の位置を追尾枠の位置として設定している。しかしながら、これに限定する必要はなく、例えば、所定期間において得られるスルー画像において、被写体の位置が変化しない回数が所定回数以上となる場合に、検出した被写体の位置を追尾枠の位置として設定してもよい。
【００８５】
また、上記実施形態においては、ステップＳ２０７において、今回検出した被写体の位置と前回検出した被写体の位置が一致するか否かに基づいて、コアリング処理を継続するか否かを判定する構成について説明したが、これに代えて、ステップＳ２０７を、今回検出した被写体の位置と前回検出した被写体の位置の距離が所定値Ｐ未満か否かを判断し、当該判断が肯定されたらステップＳ２０８へ、当該判断が否定されたらステップＳ２１１へ進む構成としてもよい。ここで、所定値Ｐの値は、閾値Ｄ０の値より小さい。このように追尾枠表示の固定を、第１画像から検出される前記被写体の位置と、第２画像から検出される被写体の位置との間の距離に関連する値の所定値との比較結果の大小関係が一致する回数が予め設定された閾値を超過したときに解除する構成とすれば、画像データに含まれるノイズの影響などにより、今回検出した被写体の位置と前回検出した被写体の位置が正確に一致せず、その位置が若干ずれた場合であっても、コアリング処理を行うことができる。なお、今回検出した被写体の位置と前回検出した被写体の位置の距離が所定値Ｐ未満か否かを判断する処理は、ステップＳ２０７に代えて行うのではなく、ステップＳ２０７の判定と合わせて行うことも可能である。
【００８６】
本実施形態では、撮像装置を例に取り上げて説明しているが、図１に示すデータ処理回路の構成や、図３のフローチャートの処理を実行することが可能な被写体追尾装置であってもよい。また、この他に、図１に示すデータ処理回路の構成や、図３のフローチャートの処理をコンピュータに実行させることが可能な被写体追尾プログラムであってもよい。この被写体追尾プログラムは、例えばメモリカード、ハードディスクなどの光学ディスクや磁気ディスクなどの、コンピュータ読み取り可能な記録媒体に記録されていることが好ましい。
【符号の説明】
【００８７】
１０…撮像装置、１６…撮像素子、２０…データ処理回路、２１…表示制御回路、２２…モニタ、３１…被写体検出部、３２…被写体追尾部、３３…コアリング処理部、３４…フィルタリング処理部
【図１】
2018142981.tif 000003
【図２】
2018142981.tif 000004
【図３】
2018142981.tif 000005
【図４】
2018142981.tif 000006