説明

追尾装置および追尾方法

【課題】回路規模を大きくすることなく、動きベクトル検出の分解能以下の速度で被写体が移動している場合であっても被写体を追尾することが可能な追尾装置および追尾方法を提供する。
【解決手段】被写体を撮像し、フレーム画像を得る撮像素子13と、フレーム画像の内、追尾対象として設定された領域の画像を参照画像とし、この参照画像を記憶する第1の動き検出用メモリ41及び第2の動き検出用メモリ45と、現フレーム画像を評価画像として記憶するバッファメモリ41と、評価画像と隣接フレームの関係にある参照画像とに基づいて被写体の第1の動きを検出し、評価画像と離散フレームの関係にある参照画像とに基づいて被写体の第2の動きを検出する動きベクトル検出部47を有し、第1の動きが動きなしと検出し、第2の動きが動きありを検出した場合は、第2の動きの検出結果を動き量として判定する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、被写体画像中で指定した追尾対象を追跡可能な追尾装置および追尾方法に関する。
【背景技術】
【0002】
移動する被写体にピントや露出を合わせるために追尾装置を搭載した撮影装置が知られている(特許文献1、2参照)。追尾装置としては、被写体の色情報や輝度パターン等の特徴を追尾する技術が知られている。輝度パターンを用いて追尾する追尾装置では、1つの画像内に設定された領域を参照画像とし、この参照画像の画像データと、前述の1つの画像と時系列的に続く評価画像の画像データと相関演算をブロックマッチングにより行い、参照画像と最も整合する画像の位置を検出し、この位置から被写体の動きベクトルを求めている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特許2605004号公報
【特許文献2】特開平9−65193号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
被写体を追尾するために、従来のブロックマッチングでは、隣接するフレーム画像の間で、1画素ずつ画素をずらしながら、参照画像と評価画像の差分の累積値を算出し、動きベクトルを求めている。このため、分解能(ここでは1画素)以下の速度で被写体が移動している場合には、得られる動きベクトルは0と判定され、追尾被写体を表示する表示枠は移動せず、また被写体を追尾することができない。
【0005】
分解能以下の速度の被写体を追尾する方法として、ブロックマッチングに入力する画像を補間により拡大し、動きベクトルの分解能を高くする方法がある。しかし、この場合には、処理する画像のサイズが大きくなり、回路規模が増大する問題がある。
【0006】
本発明は、このような事情を鑑みてなされたものであり、回路規模を大きくすることなく、動きベクトル検出の分解能以下の速度で被写体が移動している場合であっても被写体を追尾することが可能な追尾装置および追尾方法を提供することを目的とする。
【課題を解決するための手段】
【0007】
上記目的を達成するため第1の発明に係わる追尾装置は、被写体を撮像し、フレーム画像を得る撮像部と、上記フレーム画像の内、追尾対象とする領域を設定する追尾領域設定部と、上記撮像された複数フレームの少なくとも追尾対象領域画像とその周辺画像を記憶する画像記憶部と、上記設定された領域のフレーム間の動きを評価する評価画像を取得する評価画像取得部と、上記評価画像と、上記画像記憶部に記憶された複数フレームの画像のうちの1フレームから被写体の動きを検出する第1の動き検出部と、上記評価画像と、上記画像記憶部に記憶された画像のうち上記第1の動き検出部で検出するフレームより相対的に時間間隔の広いフレームから被写体の動きを検出する第2の動き検出部と、上記第1の動き検出部で所定値よりも小さい動きを検出した場合は、上記第2の動き検出結果を動き量として判定する動き判定部と、を有する。
【0008】
第2の発明に係わる追尾装置は、上記第1の発明において、上記動き判定部は、上記第1の動き検出部で動きなしと検出し、上記第2の動き検出部で所定値よりも大きい動きを検出した場合は、動き量ゼロと判定する。
第3の発明に係わる追尾装置は、上記第1の発明において、上記画像記憶部は、撮像部で撮像したフレーム画像から間引かれた少なくとも追尾対象領域画像とその周辺画像を記憶する。
【0009】
第4の発明に係わる追尾装置は、上記第1の発明において、上記動き判定部は、上記第1の動き検出部で動き量を検出した場合は、上記第1の動き検出結果を動き量として判定する。
第5の発明に係わる追尾装置は、上記第1の発明において、上記第2の動き検出部は、上記第1の動き検出部による第1の動き検出時のフレーム間隔よりも少なくとも3フレーム離れたフレーム間の動きを検出する。
【0010】
第6の発明に係わる追尾装置は、上記第1の発明において、上記第2の動き検出部は、少なくとも上記第1の動き検出部の出力結果、または上記第2の動き検出部による第2の動き検出結果に基づいて、フレーム間隔を決定する。
第7の発明に係わる追尾装置は、上記第1の発明において、上記第2の動き検出部は、上記撮像部のフレームレートに基づいてフレーム間隔を決定する。
第8の発明に係わる追尾装置は、上記第1ないし第7の発明において、上記動き判定結果に基づいた位置を追尾検出領域として表示する表示部を有する。
【0011】
第9の発明に係わる追尾装置は、被写体を撮像し、フレーム画像を得る撮像部と、上記フレーム画像の内、追尾対象として設定された領域の画像を参照画像として、複数フレームのフレームごとに更新しながら、上記参照画像を記憶する参照画像記憶部と、現フレーム画像を評価画像として記憶する評価画像記憶部と、上記評価画像と隣接フレームの関係にある参照画像とに基づいて上記被写体の第1の動きを検出し、上記評価画像と離散フレームの関係にある参照画像とに基づいて上記被写体の第2の動きを検出する動き検出部と、上記第1の動きが動きなしと検出し、上記第2の動きが動きありを検出した場合は、上記第2の動きの検出結果を動き量として判定する動き判定部と、上記動き判定結果に基づいて追尾対象とする領域、および追尾指標を移動させて表示する表示制御部と、を有する。
【0012】
第10の発明に係わる追尾方法は、被写体を撮像し、フレーム画像を取得するたびに、追尾対象として設定された領域の画像を参照画像として記憶し、現フレーム画像を評価画像として記憶し、上記評価画像と、隣接フレームの参照画像に基づいて第1の動きを算出し、上記評価画像と、離散フレームの参照画像に基づいて第2の動きを算出し、上記第1の動きが動きなしと検出し、上記第2の動きが動きありを検出した場合は、上記第2の動きの検出結果を動き量として判定し、上記判定結果に基づいて、上記追尾対象の追尾を行う。
【発明の効果】
【0013】
本発明によれば、回路規模を大きくすることなく、動きベクトル検出の分解能以下の速度で被写体が移動している場合であっても被写体を追尾することが可能な追尾装置および追尾方法を提供することができる。
【図面の簡単な説明】
【0014】
【図1】本発明の一実施形態に係わるカメラの主として電気回路の構成を示すブロック図である。
【図2】本発明の一実施形態に係わるカメラの動き検出部の内部構成を示すブロック図である。
【図3】本発明の一実施形態に係わるカメラにおける動作を示すフローチャートである。
【図4】本発明の一実施形態に係わるカメラにおける動作を示すタイミングチャートである。
【図5】本発明の一実施形態に係わるカメラにおいて、ブロックマッチングの概念を説明する図である。
【図6】本発明の一実施形態に係わるカメラにおいて、動きベクトルの分解能以下で移動する被写体の場合の追尾ターゲットの移動の様子を示す図である。
【図7】本発明の一実施形態に係わるカメラにおいて、動きベクトルの変化の様子を示す図であり、(a)は移動速度が速い場合を示し、(b)は移動速度が遅い場合を示す図である。
【発明を実施するための形態】
【0015】
以下、図面に従って本発明を適用したカメラを用いて好ましい実施形態について説明する。本発明の好ましい一実施形態に係わるカメラは、デジタルカメラであり、概略、撮像部を有し、この撮像部によって被写体像を画像データに変換し、この変換された画像データに基づいて、被写体像を表示部にライブビュー表示する。撮影時には、撮影者はライブビュー表示を観察し、構図やシャッタチャンスを決定する。ライブビュー表示の際に、撮影者が被写体を指定すると、指定された被写体を追跡し、この被写体に対してピント合わせを行うと共に適正露出となるように露出制御を行う。レリーズがなされると、撮影を行う。再生モードを選択すると、記録媒体に記録した撮影画像を表示部に再生表示することができる。
【0016】
図1は、本実施形態に係わるカメラ1の主として電気的構成を示すブロック図である。撮像光学系11の光軸上に、撮像素子13が配置されている。撮像素子13の出力はAFE(Analogue Front End)15に接続され、AFE15の出力は動き検出部17およびバス33に接続されている。バス33には、前述の動き検出部17の他に、画像処理部19、RAM(Random Access Memory)21、ROM(Read Only Memory)23、システムコントローラ25、記録部27、表示部29、操作部31が接続されている。
【0017】
撮像光学系11は、被写体光束を撮像素子13に集光させ、被写体像を結像させるための光学系である。撮像部としての機能を有する撮像素子13は、CCD(Charge Coupled Device)やCMOS(Complementary Metal Oxide Semiconductor)等のイメージセンサであり、撮像光学系11により結像された被写体像を各画素で光電変換し、フレーム画像(画像信号)を取得し、AFE15に出力する。
【0018】
AFE15は、撮像素子13から出力されるフレーム画像をデジタル化したフレーム画像(画像データ)に変換する等の処理を行う。このAFE15によって処理された画像データは、動き検出部17およびバス33に出力され、バス33に出力された画像データはRAM21に一時記憶される。
【0019】
動き検出部17は、参照画像とは異なる時点で取得した評価画像と相関演算を行い、相関値を検出し、また、動きベクトルを検出する。この動き検出部17の詳細な構成については、図2を用いて後述する。
【0020】
画像処理部19は、RAM21に一時記憶された画像データを読み出し、この画像データに対して、ホワイトバランス補正処理、同時化処理、色変換処理等の画像処理を行う。また、画像処理部19は、後述する記録部27に画像データを記録する際に画像圧縮を行い、また記録部27から読み出した画像データの伸張を行う。
【0021】
RAM21は、DRAMやSDRAM等の揮発性メモリで構成され、一時記憶用に用いられ、バス33を介して、AFE15から出力された画像データの一時記憶や、各種情報の一時記憶の際に用いられる。前述の動き検出部17によって演算された相関値もRAM21に一時記憶される。ROM23は、フラッシュROM等の不揮発性メモリで構成され、カメラ1の全体を制御するためのプログラムや、各種調整値が記憶される。
【0022】
記録部27は、レリーズ時に取得された画像データを記録する記録媒体や、この記録媒体への記録制御部等を有する。記録媒体は、コンパクトフラッシュ(登録商標)、SDカード等、外部からカメラ1に装填可能である。
【0023】
表示部29は、カメラ1の背面等に配置され、LCDモニタや有機ELモニタ等を含み、撮像素子13からの画像データに基づくライブビュー表示や、記録部27から読み出した画像データに基づく再生表示等を行う。また、表示部29には、動き検出部17等によって検出された追尾被写体の動き量に基づいて追尾指標(ターゲットマーク)の表示を行う。
【0024】
操作部31は、電源釦、レリーズ釦、メニュー釦等、各種入力キー等の操作部材である。ユーザが操作部31のいずれかの操作部材を操作すると、システムコントローラ25は、ユーザの操作に応じた各種シーケンスを実行する。
【0025】
システムコントローラ25は、CPU(Central Processing Unit)等の中央処理装置を含み、ROM23に記憶されたプログラムに従って、カメラ1の全体制御を行う。すなわち、撮像光学系11、撮像素子13、AFE15、動き検出部17、画像処理部19、記録部27、表示部29等の各部を制御し、またRAM21やROM23のメモリ制御等を行う。
【0026】
システムコントローラ25は、追尾領域設定部としての機能を果たす。この追尾領域設定部は、レリーズ釦の半押し等により、撮像フレーム画像内に追尾対象とする領域を設定する。また、システムコントローラ25は、動き判定部として機能し、動き検出部17において、隣接フレーム間で動きがないことを検出し、また数フレーム離れた離散フレーム間で動きを検出した場合には、この離散フレーム間での動き量を、追尾被写体の動きとする。
【0027】
次に、動き検出部17の詳細な構成について図2を用いて説明する。AFE15の出力は、動き検出部17内のバッファメモリ41、第1の動き検出用メモリ43、および第2の動き検出用メモリ45にそれぞれ接続されている。評価画像取得部(または評価画像記憶部)として機能するバッファメモリ41は、現フレームの画像(評価画像とも称する)の画像データを一時記憶するためのメモリである。厳密は、バッファメモリ41に一時記憶される画像データは現フレームの直前のフレームであるが、本明細書においては、便宜上、現フレームと称する。
【0028】
画像記憶部(または参照画像記憶部)として機能する第1の動き検出用メモリ43は、現フレームの1フレーム前の画像(参照画像とも称する)の画像データを一時記憶するためのメモリであり、また、画像記憶部として機能する第2の動き検出用メモリ45は、現フレームのnフレーム前の画像(参照画像とも称する)の画像データを一時記憶するためのメモリである。
【0029】
なお、図2には、1フレーム前とnフレーム前の画像データを一時記憶するためのメモリのみを記載してあるが、実際には、1フレーム前とnフレーム前の間の画像データを一時記憶するためのメモリも用意されており、画像データの更新の際には、画像データのシフトを行う。また、第1の動き検出用メモリ43および第2の動き検出用メモリ45は、撮像素子13によって撮像したフレーム画像から少なくとも追尾被写体の領域の画像とその周辺画像を記憶するが、記憶にあたって画像データを間引いてから記憶するようにしてもよい。
【0030】
バッファメモリ41の出力、第1の動き検出用メモリ43の出力、および第2の動き検出用メモリ45の出力は動きベクトル検出部47に接続されている。動きベクトル検出部47は、2つの画像データを用い、これらの画像の間で相関演算を行い、第1の相関値および第2の相関値を算出する。動きベクトル検出部47の出力は、バス31を介してRAM21に接続されている。
【0031】
すなわち、動きベクトル検出部47は、バッファメモリ41に記憶された評価画像の画像データと第1の動き検出用メモリ43に記憶された参照画像の画像データを用いて、動きベクトル検出部47は第1の相関値を演算し、この第1の相関演算値はRAM21に一時記憶する。また、バッファメモリ41に記憶された評価画像の画像データと第2の動き検出用メモリ45に記憶された参照画像の画像データを用いて、動きベクトル検出部47は第2の相関値を演算し、この第2の相関演算値はRAM21に一時記憶する。
【0032】
また、動きベクトル検出部47は、第1の動き検出部および第2の動き検出部として機能し、動き量(第1のベクトルAおよび第2のベクトルB)を算出する。第1のベクトルAは、動きベクトル検出部47によって第1の相関値が一番高くなった際における評価画像と参照画像の相対的な位置の差を、x座標およびy座標の差分、すなわち、(x1、y1)で表わす。したがって、第1の動き検出部として機能する動きベクトル検出部47は、評価画像と第1の動き検出用メモリ43に記憶された画像、すなわち隣接フレーム間における追尾被写体の動きを検出する。
【0033】
同様に第2のベクトルBは、動きベクトル検出部47によって第2の相関値が一番高くなった際における評価画像と参照画像の相対的な位置の差を、x座標およびy座標の差分、すなわち、(x2、y2)で表わす。したがって、第2の動き検出部として機能する動きベクトル検出部47は、評価画像と第2の動き検出用メモリ45に記憶された画像、すなわち離散フレーム間における追尾被写体の動きを検出する。第1及び第2のベクトルは、RAM21に出力され、ログデータとして一時記憶される。
【0034】
次に、本実施形態における追尾動作の概要について、図5を用いて説明する。本実施形態における追尾動作は、追尾対象決定時の追尾対象を示す参照画像と相関値の高い部分を、次のフレームの画像の中から検出することによって行う。この相関値の高い部分の検出は、いわゆるブロックマッチングによって行う。
【0035】
図5(a)は、現フレームより1フレーム前の画像(N−1フレーム)であり、撮影者が追尾の対象として「A」の文字の部分を指定したときの様子を示す。撮影者が「A」を指定することにより、「A」を含む領域が参照画像400として選択される。参照画像400は、横6画素、縦6画素分のサイズであり、画素(a1,b1)〜画素(a6,b6)の36画素から構成される。
【0036】
図5(b)は現フレームの画像(Nフレーム)であり、撮影者が「A」の文字を指定したときより、1フレーム後の画像である。この画像の中から、「A」を含むと予測される範囲を評価画像402とする。評価画像402は、横18画素、縦12画素分のサイズであり、画素(x1,y1)〜画素(x18,y12)の216画素から構成される。
【0037】
ブロックマッチングによる相関値の演算では、画素(a1,b1)〜画素(a6,b6)の参照画像400を、評価画像402の内の画素(x1,y1)〜画素(x6,y6)に重ね、対応する画素同士の差分の累積値を求める。次に、評価画像402の内でx方向に1画素分ずらして同様に対応する画素同士の差分の累積値を求める。評価画像402内で参照画像400の位置をずらしながら、累積値を求め、この中で累積値が最も低い値となるところが最もマッチングが高い。このときの累積値が最も高くなるように変換した値が相関値である。最も相関値が高くなる位置を追尾位置とする。そして、この相関値の最も高かった位置に対応する6×6の画像を参照画像400として更新する。
【0038】
このようにブロックマッチングによる相関値の演算では、参照画像400を評価画像402上で移動させながら相関値を求め、相関値が最も高くなる評価画像402上の位置を追尾位置とする。また相関値が最も高くなる参照画像を新たな参照画像400として更新を行う。また、相関値が最も高くなるときの参照画像400に対応する評価画像402上の位置までの移動量が動きベクトル(第1のベクトルまたは第2のベクトル)となる。
【0039】
図6は、分解能以下の低速で移動する被写体を追尾する場合を示し、(a)は従来の分解能以下の低速の場合には追尾できない様子を、(b)は本実施形態における分解能以下の低速であっても追尾できる様子を示す。また、図7は本実施形態の場合であって、図7(a)は移動速度が高い場合、図7(b)は移動速度が低い場合において、それぞれの場合の総動きベクトルと実際の移動量の関係を示す図である。
【0040】
従来の追尾装置においては、現フレーム(Nフレームにおいて)追尾被写体(図6の例では亀)302を指定すると、指定領域の参照画像が設定され、またターゲットマーク300が表示される(図6(a)参照)。現フレームの次のフレーム(N+1フレーム)では、追尾被写体302は低速で移動するが、その移動量は分解能以下(すなわち、1画素以下)であることから、動きベクトルは0であり、ターゲットマーク300は移動しない(図6(b)参照)。
【0041】
同様に、N+2フレーム、N+3フレームにおいて、追尾被写体302は低速で移動するが、その移動量は分解能以下(すなわち、1画素以下)であることから、動きベクトルは0であり、ターゲットマーク300は移動しない(図6(c)(d)参照)。
【0042】
これに対して、本実施形態においては、追尾被写体が低速の場合には、3フレーム前の参照画像と評価画像から第2の相関値を求め、このとき最大となる相関値から第2のベクトルを算出し、この第2のベクトルから移動量を求め、ターゲットマーク300の表示を行う。
【0043】
現フレーム(Nフレームにおいて)追尾被写体302を指定すると、指定領域の参照画像が設定され、またターゲットマーク300が表示される(図6(e)参照)。現フレームの次のフレーム(N+1フレーム)では、追尾被写体302は低速で移動する。このときの移動量に基づく動きベクトルは、第1のベクトルでは分解能以下であるが、第2のベクトルが分解能以上あれば、算出することができ、その位置は仮想ターゲットマーク301の位置である。ただし、この仮想ターゲットマーク301は表示されない。このときの累積の移動量は分解能以下(すなわち、1画素以下)であることから、ターゲットマーク300は移動しない(図6(f)参照)。
【0044】
同様に、現フレームより2フレーム後のフレーム(N+2フレーム)では、追尾被写体302の位置は仮想ターゲットマーク301であるが、累積の移動量は分解能以下であることから、ターゲットマーク300は移動しない(図6(g)参照)。しかし、現フレームより3フレーム後のフレーム(N+3フレーム)となると、追尾被写体302の累積の移動量は分解能以上となることから、ターゲットマーク300は移動する(図6(h)参照)。
【0045】
次に、本実施形態における追尾被写体の実際の動きと動きベクトルの変化について、図7を用いて説明する。図7(a)は追尾被写体の移動速度が速い場合(分解能以上)を、また図7(b)は追尾被写体の移動速度が遅い場合(分解能以下)を示す。
【0046】
図7(a)に示す例では、追尾被写体は時刻A2〜A7の間、等速(速度=1)で移動している。この場合、第1のベクトルAは、現フレームと1フレーム前の画像を比較していることから移動距離は1となり、第2のベクトルBは、現フレームと3フレーム前の画像を比較していることから移動距離は3となる。また、移動開始からの総動きベクトル(総移動量)は、各時刻にたいして1を加算した値となり、実際の移動量と一致する。
【0047】
図7(b)に示す例では、追尾被写体は時刻A2〜A7の間、等速(速度=1/3)で移動している。この場合、第1のベクトルAは、現フレームと1フレーム前の画像を比較していることから実際の移動距離は1/3となるが、分解能以下であることから第1のベクトルAとしての移動距離は0となる。また、第2のベクトルBは、現フレームと3フレーム前の画像を比較していることから移動距離は1となり、この値は分解能以上である。
【0048】
図7(b)の例においては、時刻A2からA7の間の実際の移動量は1/3ずつ増加するが、総動きベクトル(総移動量)は、分解能を超えるたびに1ずつ増加し、時刻A4(B4)において1となり、時刻A7(B7)において2となる。
【0049】
このように、本実施形態においては、追尾被写体の移動速度が、分解能以下の低速である場合には、第2のベクトルを用いて、移動量を求め、その移動量が分解能を超えると、ターゲット位置を移動させるようにしている。
【0050】
次に、本実施形態における動作を図3に示すフローチャートを用いて説明する。このフローチャートは、ROM23に記憶されているプログラムに従って、システムコントローラ25によって実行される。カメラ1の電源釦が操作されると、スタートする。まず、ライブビュー動作を開始する(S11)。このステップでは、撮像素子13からの画像データに基づいて、表示部29にライブビュー表示を開始する。
【0051】
ライブビュー動作を開始すると、次に、ターゲットロックオンを行う(S13)。撮影者が被写体追尾を行う場合には、メニュー画面等において被写体追尾モード等を予め設定しておき、その上で、追尾したい被写体を画面の中央におき、レリーズ釦を半押しすることにより、ターゲットロックオンする。ターゲットロックオンすると指定された領域の画像データを参照画像の画像データとする。なお、表示部29にタッチパネルを配置した場合には、追尾した被写体をタッチすることによりターゲットロックオンするようにしてもよい。ターゲットロックオンすると、動き検出部17は動作を開始し、追尾したい被写体の動きを追跡する。
【0052】
続いて、被写体が検出されたか否かを判定する(S15)。ここでは、動き検出部17によって追尾対象となる被写体を検出できたか否かを判定する。この判定の結果、追尾対象となる被写体を検出できなかった場合には、ステップS13に戻り、検出されるのを待つ。
【0053】
ステップS15における判定の結果、被写体が検出されると、次に、第1及び第2の参照画像の領域を設定する(S17)。ここでは、ターゲットロックオンされた追尾被写体の領域を第1及び第2の参照画像として設定する。ここで設定した参照画像は、第1の動き検出用メモリ43および第2の動き検出メモリ45の両方に一時記憶する。
【0054】
第1及び第2の参照画像を設定すると、次に、追尾被写体位置を示すターゲットマークの表示を行う(S19)。ここでは、ステップS13においてターゲットロックオンされた被写体の位置を示すターゲットマークを表示部29上にライブビュー表示に重畳表示し、撮影者が追尾対象を視認できるようにする。
【0055】
ターゲットマークを表示すると、次に、評価画像が取得されたか否かを判定する(S21)。ここでは、ターゲットロックオンされた際のフレームの次のフレームの画像データを取得したか否かを判定する。なお、本実施形態においては、撮像素子13は、1/15秒、1/30秒、1/60秒、または1/120秒程度のフレームレートで画像を取得する。後述するステップS57からステップS21に進んだ際には、次フレームの画像データを取得したか否かを判定する。評価画像としては、1フレームの全画像または参照画像を含むと推定される範囲内の画像とする。
【0056】
ステップS21における判定の結果、評価画像を取得した場合には、次に、評価画像の領域を記憶する(S23)。ここでは、取得した評価画像の画像データをバッファメモリ41に一時記憶する。
【0057】
評価画像の記憶を行うと、次に、第1の参照画像と評価画像に基づき第1のベクトルA(x1、y1)を算出する(S25)。ここでは、第1の動き検出用メモリ43に記憶された第1の参照画像の画像データと、バッファメモリ41に記憶された評価画像の画像データを用いて、動きベクトル検出部が第1のベクトルA(x1、y1)を算出する。
【0058】
第1のベクトルAを算出すると、次に、第1のベクトルAを記憶する(S27)。前述したように、第1のベクトルAは、RAM21に一時記憶される。
【0059】
第1のベクトルAを記憶すると、次に、追尾開始後Nフレームが経過したか否かを判定する(S29)。追尾開始後、撮像素子13からフレーム画像が出力されるたびにカウントしておき、このステップでは、カウントしたフレーム数がNフレームを超えたか否かによって判定する。なお、図6および図7で説明した例では、Nは3である。
【0060】
ステップS29における判定の結果、追尾開始後Nフレーム経過していなかった場合には、フレーム移動量に第1のベクトルA(x1、y1)を採用する(S31)。ここでは、ステップS25において、算出した第1のベクトルAを採用する。
【0061】
ステップS29における判定の結果、追尾開始後Nフレームが経過すると、次に、第2の参照画像と評価画像に基づき第2のベクトルB(x2、y2)を算出する(S33)。第2の動き検出用メモリ45に一時記憶した第2の参照画像の画像データと、ステップS23において取得し、バッファメモリ41に一時記憶した評価画像の画像データを用いて、動きベクトル検出部47が第2のベクトルBを算出する。第2の参照画像の画像データを用いて動きベクトルを算出することにより、評価画像の動きを検出し易くすることができる。
【0062】
第2のベクトルBを算出すると、次に、過去Nフレームの間、全て第1のベクトルAがx=0であるか否かを判定する(S35)。ここでは、RAM21に記憶されている第1のベクトルAのログデータに基づいて判定する。なお、図6および図7を用いて説明したように、第1のベクトルAの動き量が分解能以下である場合には、x=0となる。
【0063】
ステップS35における判定の結果、過去Nフレームの間、第1のベクトルAの全てのx1が0でなかった場合には、フレームの移動量に第1のベクトルAのx1を採用する(S37)。第1のベクトルAの移動量が分解能よりも大きかったことから、この値をフレームの移動量とする。
【0064】
一方、ステップS35における判定の結果、過去Nフレームの間、全て第1のベクトルAがx=0であった場合には、次に、第2のベクトルx<基準値か否かを判定する(S39)。ここでは、ステップS33において算出した第2のベクトルBのx2が基準値よりも小さいか否かを判定する。ここで基準値としては、追尾被写体が大きく移動したと判定できる程度の値であればよい。
【0065】
ステップS39における判定の結果、第2のベクトルBのx2が基準値よりも大きい場合には、フレームの移動量x=0とする。つまり、第1のベクトルAのx1を採用する(S37)。ここでは、過去Nフレーム前の参照画像を用いて求めた第2のベクトルBのxの値が基準値よりも大きいことから、x=0とする。一方、ステップS39における判定の結果、第2のベクトルBのx2が基準値よりも小さかった場合には、フレームの移動量に第2のベクトルBのx2を採用する(S43)。
【0066】
ステップS37またはS43において、x方向のフレームの移動を採用すると、次に、過去Nフレームの間、第1のベクトルAの全てのy1が0であったか否かを判定する(S45)。ここでは、RAM21に記憶されている第1のベクトルAのログデータに基づいて判定する。
【0067】
ステップS45における判定の結果、過去Nフレームの間、第1のベクトルAの全てのy1が0でなかった場合には、フレームの移動量に第1のベクトルBのyを採用する(S47)。第1のベクトルAの移動量が分解能よりも大きかったことから、この値をフレームの移動量とする。
【0068】
一方、ステップS45における判定の結果、過去Nフレームの間、第1のベクトルAの全てのy1が0であった場合には、次に、第2のベクトルBのy2が基準値よりも小さいか否かを判定する(S49)。ここでは、ステップS33において算出した第2のベクトルBのy2が基準値よりも小さいか否かを判定する。ここで基準値としては、追尾被写体が大きく移動したと判定できる程度の値であればよい。
【0069】
ステップS49における判定の結果、第2のベクトルBのy2が基準値よりも大きかった場合には、フレームの移動量y2を0とする。つまり、第1のベクトルAのy1を採用する(S47)。ここでは、過去Nフレーム前の参照画像を用いて求めた第2のベクトルBのy2の値が大きいことから、y=0とする。一方、ステップS49における判定の結果、第2のベクトルBのy2が基準値よりも小さかった場合には、フレームの移動量に第2のベクトルBのy2を採用する(S53)。
【0070】
ステップS47またはS53において、y方向のフレームの移動を採用すると、次に、被写体位置の情報の更新と、ターゲットマーク表示位置の変更を行う(S55)。追尾被写体の位置は、ステップS31、S37、S41、およびS43において算出されたx方向の動き量と、ステップS31、S47、S51、およびS53において算出されたy方向の動き量に基づいて、決定される。追尾被写体位置が決まると、表示部29に表示されているライブビュー表示に、追尾被写体位置(ターゲットマーク)を示す枠表示を重畳して表示する。
【0071】
ターゲットマークを表示すると、次に、撮影開始の操作が行われたか否かを判定する(S57)。ここでは、操作部31の内のレリーズ釦の全押し操作が行われたか否かを判定する。この判定の結果、撮影開始の操作が行われていなかった場合には、ステップS21に戻り、追尾動作を続行する。
【0072】
一方、ステップS45における判定の結果、撮影開始の操作が行われた場合には、撮影準備動作を行う(S59)。撮影準備動作として、追尾被写体位置にピントが合うようにAF動作を行い、適正露出となるようにAE動作を行う。
【0073】
続いて、静止画像データを取得し、画像ファイルの生成を行う(S61)。ここでは、撮像素子13から画像信号を取得し、この画像信号に基づく画像データの画像処理を行い、画像ファイルを生成してから、記録部27に記録する。画像ファイルを記録すると、一連動作を終了し、電源釦がオンであれば、ステップS11に戻る。
【0074】
本実施形態における追尾動作を、図4に示すタイミングチャートを用いて説明する。図4に示すように、順次、垂直同期信号(VD)に同期して、フレーム1〜9において、露光動作が行われると、画像データが出力される。画像データ1と画像データ2の2つの画像データを用いて、動きベクトル検出部47によって相関演算1が行われ、第1のベクトルA2が算出される(S25のタイミング)。以後、画像データが出力されるたびに、相関演算1が行われる。なお、図4中のA2〜A7が出力されるタイミングは、図7の時刻A2〜A7のタイミングと同じである。
【0075】
また、画像データ4が出力されると、この画像データ4と画像データ1を用いて、動きベクトル検出部47によって相関演算2が行われ、第2のベクトルBが算出される(S33のタイミング)。以後、画像データが出力されるたびに、相関演算2が行われる。なお、図4中のB4〜B7が出力されるタイミングは、図7の時刻B4〜B7のタイミングと同じである。
【0076】
このように、露光を開始し、3フレーム目の露光が終わると、第1のベクトルA2が算出され、4フレーム目の露光が終わると、第1のベクトルA3が算出され、5フレーム目の露光が終わると、第1のベクトルA4および第2のベクトルB4が算出され、以後、各フレームの露光が終わると第1及び第2のベクトルが算出される。第1および第2のベクトルが算出されると、図3のステップS33以下のフローに従って、フレームの移動量を決め、追尾被写体の位置情報を更新すると共に、ターゲットマークの表示位置の変更を行う。
【0077】
なお、本実施形態においては、動き量を求めるためのベクトルを検出するフレームレート間隔は一定であったが、評価画像と隣接フレームの参照画像との第1の動き量と、評価画像と離散フレームの参照画像との第2の動き量に基づいて、ベクトルを検出するフレーム間隔を変更するようにしてもよい。
【0078】
ベクトルを検出するフレーム間隔を変更にあたって、設定されている撮像フレームを判定するフレームレート判定部を設ける。このフレームレート判定部によって判定されたフレームレートに応じて、動き検出のフレーム間隔を変更する。例えば、設定されている撮像フレームが30fpsの場合、動きベクトル検出部47における第1の動き検出のフレーム間隔を1とし、第2の動き検出のフレーム間隔が2と設定されているとする。設定されている撮像フレームが60fpsとなると、第1の動き検出のフレーム間隔を2とし、第2の動き検出のフレーム間隔を4とする。また、設定されている撮像フレームが120fpsとなると、第1の動き検出のフレーム間隔を4とし、第2の動き検出のフレーム間隔を8とすればよい。
【0079】
以上説明したように、本発明の一実施形態においては、評価画像と、画像記憶部に記憶された複数フレームの画像のうちの1フレームから被写体の第1の動きを検出し、評価画像と、画像記憶部に記憶された画像のうち第1の動きの検出する際のフレームより相対的に時間間隔の広いフレームから被写体の第2の動きを検出し、第1の動き検出では動きなしと検出し、第2の動き検出では動きを検出した場合は、第2の動き検出の結果を動き量として判定するようにしている。このため、回路規模を大きくすることなく、動きベクトル検出の分解能以下の速度で被写体が移動している場合であっても被写体を追尾することが可能となる。
【0080】
本発明の一実施形態においては、隣接フレームの参照画像と評価画像から第1の動き量を、また離散フレームの参照画像と評価画像とから第2の動き量を求めている。従来の動き量の算出にあたっては、隣接フレームの第1の動き量に基づいて、被写体を追尾するために、追尾被写体の動きが小さい場合には、動き量が小さく検出することができなかった。これに対して、本実施形態においては、隣接フレームの第1の動き量が小さい場合には、離散フレームの第2の動き量から追尾被写体の動き量を検出することができる。また、本実施形態によれば、第1の動き量と第2の動き量を算出することから、それぞれの参照画像や評価画像のデータ量を小さくしても十分精度を確保することができる。そのため、回路規模が小さくすることができる。
【0081】
なお、本発明の一実施形態においては、離散フレーム間として3フレーム離れた画像を使用したが、3フレームに限らず、これよりも多くても構わない。また、隣接フレームとして現フレームと1フレーム離れた画像を使用したが、1フレームに限らず2フレーム以上で構わない。この場合、離散フレームとしては、隣接フレームよりも離れたフレームを使用すればよい。
【0082】
また、本発明の一実施形態においては、撮影のための機器として、デジタルカメラを用いて説明したが、カメラとしては、デジタル一眼レフカメラでもコンパクトデジタルカメラでもよく、ビデオカメラ、ムービーカメラのような動画用のカメラでもよく、さらに、携帯電話や携帯情報端末(PDA:Personal Digital Assist)、ゲーム機器等に内蔵されるカメラでも構わない。
【0083】
本発明は、上記実施形態にそのまま限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素の幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【符号の説明】
【0084】
1・・・カメラ、11・・・撮像光学系、13・・・撮像素子、15・・・AFE、17・・・動き検出部、19・・・画像処理部、21・・・RAM、23・・・ROM、25・・・システムコントローラ、27・・・記録部、29・・・表示部、31・・・操作部、33・・・バス、41・・・バッファメモリ、43・・・第1の動き検出用メモリ、45・・・第2の動き検出用メモリ、47・・・動きベクトル検出部、300・・・ターゲットマーク、301・・・仮想ターゲットマーク、302・・・追尾被写体

【特許請求の範囲】
【請求項1】
被写体を撮像し、フレーム画像を得る撮像部と、
上記フレーム画像の内、追尾対象とする領域を設定する追尾領域設定部と、
上記撮像された複数フレームの少なくとも追尾対象領域画像とその周辺画像を記憶する画像記憶部と、
上記設定された領域のフレーム間の動きを評価する評価画像を取得する評価画像取得部と、
上記評価画像と、上記画像記憶部に記憶された複数フレームの画像のうちの1フレームから被写体の動きを検出する第1の動き検出部と、
上記評価画像と、上記画像記憶部に記憶された画像のうち上記第1の動き検出部で検出するフレームより相対的に時間間隔の広いフレームから被写体の動きを検出する第2の動き検出部と、
上記第1の動き検出部で所定値よりも小さい動きを検出した場合は、上記第2の動き検出結果を動き量として判定する動き判定部と、
を有することを特徴とする追尾装置。
【請求項2】
上記動き判定部は、上記第1の動き検出部で動きなしと検出し、上記第2の動き検出部で所定値よりも大きい動きを検出した場合は、動き量ゼロと判定することを請求項1に記載の追尾装置。
【請求項3】
上記画像記憶部は、撮像部で撮像したフレーム画像から間引かれた少なくとも追尾対象領域画像とその周辺画像を記憶することを特徴とする請求項1に記載の追尾装置。
【請求項4】
上記動き判定部は、上記第1の動き検出部で動き量を検出した場合は、上記第1の動き検出結果を動き量として判定することを特徴とする請求項1に記載の追尾装置。
【請求項5】
上記第2の動き検出部は、上記第1の動き検出部による第1の動き検出時のフレーム間隔よりも少なくとも3フレーム離れたフレーム間の動きを検出することを特徴とする請求項1に記載の追尾装置。
【請求項6】
上記第2の動き検出部は、少なくとも上記第1の動き検出部の出力結果、または上記第2の動き検出部による第2の動き検出結果に基づいて、フレーム間隔を決定することを特徴とする請求項1に記載の追尾装置。
【請求項7】
上記第2の動き検出部は、上記撮像部のフレームレートに基づいてフレーム間隔を決定することを特徴とする請求項1に記載の追尾装置。
【請求項8】
上記動き判定結果に基づいた位置を追尾検出領域として表示する表示部を有することを特徴とする請求項1〜7に記載の追尾装置。
【請求項9】
被写体を撮像し、フレーム画像を得る撮像部と、
上記フレーム画像の内、追尾対象として設定された領域の画像を参照画像とし、この参照画像を記憶する参照画像記憶部と、
現フレーム画像を評価画像として記憶する評価画像記憶部と、
上記評価画像と隣接フレームの関係にある参照画像とに基づいて上記被写体の第1の動きを検出し、上記評価画像と離散フレームの関係にある参照画像とに基づいて上記被写体の第2の動きを検出する動き検出部と、
上記第1の動きが動きなしと検出し、上記第2の動きが動きありを検出した場合は、上記第2の動きの検出結果を動き量として判定する動き判定部と、
上記動き判定結果に基づいて追尾対象とする領域、および追尾指標を移動させて表示する表示制御部と、
を有することを特徴とする追尾装置。
【請求項10】
被写体を撮像し、フレーム画像を取得するたびに、追尾対象として設定された領域の画像を参照画像として記憶し、
現フレーム画像を評価画像として記憶し、
上記評価画像と、隣接フレームの参照画像に基づいて第1の動きを算出し、
上記評価画像と、離散フレームの参照画像に基づいて第2の動きを算出し、
上記第1の動きが動きなしと検出し、上記第2の動きが動きありと検出した場合は、上記第2の動きの検出結果を動き量として判定し、
上記判定結果に基づいて、上記追尾対象の追尾を行う、
ことを特徴とする追尾方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate


【公開番号】特開2012−89069(P2012−89069A)
【公開日】平成24年5月10日(2012.5.10)
【国際特許分類】
【出願番号】特願2010−237480(P2010−237480)
【出願日】平成22年10月22日(2010.10.22)
【出願人】(504371974)オリンパスイメージング株式会社 (2,647)
【Fターム(参考)】