以下、添付図面を参照し、本発明の実施形態について説明する。なお、以下に説明する実施の形態は、本発明の実現手段としての一例であり、本発明が適用される装置の構成や各種条件によって適宜修正又は変更されるべきものであり、本発明は以下の実施の形態に限定されるものではない。
図1は、本発明の実施の形態における画像処理機能を有する撮像装置及び、該撮像装置を遠隔(外部)から操作する機能を有する遠隔操作端末の構成を示すブロック図である。
図1に示すように、本実施形態のカメラシステムはカメラ10及び遠隔操作端末20から構成されており、それぞれ情報を通信するための撮像側通信部169、遠隔側通信部241を持つことで、情報をやり取りすることが可能である。
まず、カメラ(撮像装置)10の構成について説明する。カメラ10は、撮影レンズ11から画像信号を取得できるように構成されており、撮像素子(CMOS)121、CDS/AGC122、タイミングジェネレータ(TG)123、画像入力コントローラ124を備えている。また、追従信号処理部125、被写体領域検出部126を備えている。また、変倍レンズ駆動部131、絞り駆動部132、フォーカシング駆動部133、操作部134、システム制御部14を備えている。また、バス15、記録媒体制御部161、記録媒体162、表示制御部163、表示部164、AF検出部165、SDRAM166、ROM167、フラッシュROM168、撮像側通信部169、振れ検出部17を備えている。
システム制御部14は、カメラ全体の動作を統括制御する制御手段として機能し、操作部134からの入力に基づき所定の制御プログラムに従って各部を制御する。
バス15を介して接続されたROM167には、このシステム制御部14が実行する制御プログラム及び制御に必要な各種データ等が格納されている。また、バス15を介して接続されたフラッシュROM168には、ユーザ設定情報等のカメラ10の動作に関する各種設定情報等が格納されている。また、バス15を介して接続されたSDRAM166は、システム制御部14の演算作業用領域として利用されるとともに、画像データの一時記憶領域として利用される。このように、本発明においてSDRAM166は、撮像素子121により撮像された画像信号を所定期間保持するための保持手段として機能する。
撮影レンズ(撮像光学系)11は、被写体側から順に、固定の第1群レンズ111、変倍レンズ112、絞り113、固定の第2群レンズ114、フォーカスコンペレンズ115を有する。
変倍レンズ112は、変倍レンズ駆動部131に駆動されて撮像光学系の光軸に沿って前後移動する。ここで、本実施例において前側とは被写体側を指し、後側とは像側を指す。フォーカスコンペレンズ115は、フォーカシング駆動部133に駆動されて撮像光学系の光軸に沿って前後移動する。
システム制御部14は、変倍レンズ駆動部131とフォーカシング駆動部133を制御することにより、変倍レンズ112の位置とフォーカスコンペレンズ115の位置を制御し、撮影レンズ11のズーミングとフォーカシングを行う。
絞り113は、たとえば、アイリス絞りで構成されており、絞り駆動部132に駆動されて動作する。システム制御部14は、絞り駆動部132を制御することにより、絞り113の開口量(絞り値)を制御し、撮像素子121への入射光量を制御する。
撮像素子(撮像手段)121は、CMOSセンサやCCDセンサにより構成される光電変換素子(フォトダイオード)である。撮影レンズ11によって撮像素子121の受光面上に結像された被写体像は、このフォトダイオードによって入射光量に応じた信号電荷に変換される。各フォトダイオードに蓄積された信号電荷は、システム制御部14の指令に従ってTG123から与えられる駆動パルスに基づいて信号電荷に応じた電圧信号(画像信号)として撮像素子121から順次読み出される。なお、本実施例では、撮像素子としてCMOSセンサを用いているが、CCDセンサ等の他の構成の撮像素子を用いることもできる。
CDS/AGC122は、撮像素子121から出力された画像信号に含まれるリセットノイズ(低周波)を除去するための相関二重サンプリング回路(CDS)と、画像信号を増幅し、一定レベルの大きさにコントロールするためのAGC回路である。CDS/AGC122は、撮像素子121から出力される画像信号を相関二重サンプリング処理するとともに増幅する。
画像入力コントローラ124は、CDS/AGC122から出力された画像信号を取り込んで、SDRAM166に格納する。SDRAM166に格納した画像信号は、表示制御部163によって表示部164に表示される。また、画像信号の記録を行うモードの時には、記録媒体制御部161によって記録媒体162に記録される。さらに、遠隔操作端末20による遠隔操作実行時には、撮像側通信部169によって、遠隔操作端末20内の遠隔側通信部241に送信される。また、後述する通信遅延時間の長さだけ、SDRAM166に画像信号を保持する。SDRAM166に、通信遅延時間分の画像信号を保持するのは本発明の特徴的な部分であり、詳細については後述する。
システム制御部14内の追従画像生成部141は、操作部134によって追従の指示があった場合に、SDRAM166に格納された画像信号を取り込み、追従用画像(追従用画像信号)の生成を行う。本実施形態では操作部134の一つとしてタッチパネルがあり、表示画像上のタッチした座標を中心とした所定の領域を追従用画像とする。タッチパネルでなく、操作キーによって追尾する領域の中心座標や、領域そのものを設定できるシステムでも良い。生成した追従用画像信号はSDRAM166に格納する。また追従画像生成部141は、遠隔操作端末側から追従の指示があった場合に、後述する遠隔操作端末20内の遠隔側追従画像生成部211によって生成される座標情報を基に過去の画像信号から追従用画像信号の生成を行うことができる。これは本発明の特徴的な部分であり、詳細は後述する。
追従信号処理部125は、システム制御部14からの指令に従いSDRAM166から追従用画像信号を取り込み、この追従用画像信号から色情報のヒストグラム及び輝度情報ヒストグラムからなる特徴量を生成する。
被写体領域検出部126は、現在撮像している画像信号に対して、上述の特徴量を基に追従被写体の探索処理を施し、撮影画面内の所定領域から追従被写体に該当する被写体が存在するかを特定する。追従被写体が存在する場合は、被写体が存在する位置座標を基に追従領域を決定し、その結果をシステム制御部14に送信し、AF制御等を行う。また、被写体が存在する位置座標は、SDRAM166に保持され、次回以降の追従被写体領域の検出を行う際に本情報を用いることで、追従被写体の探索処理を施すエリアを限定することができる。追従被写体領域の特定時に、被写体が存在する位置座標が更新される度に、SDRAM166に保持する位置座標も更新する。
このように、本発明において、上述の追従信号処理部125及び被写体領域検出部126は、追従被写体の追従領域を特定する特定手段として機能する。
システム制御部14が上述の追従領域を受信したら、AF検出部165に追従領域情報を送信し、AF検出部165は、当該追従領域情報を基に、撮影画面内の追従被写体を含む位置を焦点検出に用いられる領域(焦点検出エリア)として設定する。次に、AF検出部165は、設定した焦点検出エリアの合焦度合いを計算しシステム制御部14に送信する。結果を受信したシステム制御部14は、受信した合焦度合いに応じてフォーカシング駆動部133を制御し、フォーカシング駆動部133はフォーカスコンペレンズ115を制御する。また、システム制御部14は、上記追従領域を基に領域内のヒストグラムを生成し、このヒストグラムに基づいて、フラッシュROM168に設定された適露出になるように絞り駆動部132を制御することで、追従領域に対してAE制御を行う。
撮像側通信部(第1の通信手段)169は、後述する遠隔操作端末20内の遠隔側通信部241と通信を行い、各種情報をやり取りする。通信する情報の内容は本発明の特徴とする部分であり、後述する。
次に、遠隔操作端末20の構成について説明する。遠隔操作端末20は遠隔側システム制御部21、遠隔側操作部22を備えている。また、バス23、遠隔側通信部241、遠隔側表示制御部242、遠隔側表示部243、遠隔側SDRAM244、遠隔側ROM245、遠隔側フラッシュROM246を備えている。遠隔操作端末20は、遠隔側通信部241によって、カメラ10内の撮像側通信部169から、撮像した画像信号やカメラ制御情報等の情報をやり取りできるように構成されている。
遠隔側システム制御部21は、遠隔操作端末全体の動作を統括制御する制御手段として機能し、遠隔側操作部22からの入力に基づき所定の制御プログラムに従って各部を制御すると共に、カメラ10を制御するための各種制御情報を生成する。
バス23を介して接続された遠隔側ROM245には、遠隔側システム制御部21が実行する制御プログラム及び制御に必要な各種データ等が格納されている。また、遠隔側フラッシュROM246には、ユーザ設定情報等の遠隔操作端末20の動作に関する各種設定情報等が格納されている。
遠隔側SDRAM244は、遠隔側システム制御部21の演算作業用領域として利用されるとともに、受信した画像信号等の一時記憶領域として利用される。
遠隔側表示制御部242は、遠隔側SDRAM244が格納した、遠隔側通信部241によって撮像側通信部169から受信した受信画像信号に対応する画像を遠隔側表示部243へ表示する。
次に、遠隔側通信部241と、撮像側通信部169間の通信について詳しく説明する。撮像側通信部169は遠隔側通信部241の受信確認なしに、撮像素子121が画像を撮像する度に画像信号を送信し続ける。遠隔側通信部(第2の通信手段)241は、画像信号を受信する度に遠隔側SDRAM244に該画像信号を格納し、遠隔側表示制御部242によって遠隔側表示部243への表示を行う。遠隔側表示部243への表示が完了する前に撮像側通信部169から新たな画像信号を受信した場合は、新たに受信した画像信号は無視して、遠隔側表示制御部242が実施中の現在の表示処理を継続する。このようにして遠隔操作端末20でストリーミング再生を行う。
また、遠隔側システム制御部21は、カメラ10に対する制御情報や設定変更情報を、遠隔側通信部241によって送信する。システム制御部14は、撮像側通信部169によって受信した制御情報に応じてカメラ10の制御を行い、また設定変更情報に応じて、フラッシュROM168の各種設定情報等を変更することで、カメラ設定の変更を行う。例えば、遠隔側システム制御部21によってズーミング操作を行った場合、通信によってシステム制御部14がズーミングに関する制御情報(ズーム方向、ズームレンズ駆動量に関する情報)を受信する。そして、システム制御部14は、この制御情報を基に変倍レンズ駆動部131を制御してズーミングを行う。また、例えば遠隔側システム制御部21によって記録画質の変更を行った場合、通信によってシステム制御部14が記録画質に関する設定変更情報(記録画質変更情報)を受信し、フラッシュROM168の情報を書き換えることで記録画質設定の変更を行う。
このようにして、カメラ10と遠隔操作端末20は情報の通信を行い、遠隔操作端末20での画像信号の確認や、カメラ10の制御等を行うことができる。
さらに、カメラ10が撮像側通信部169によって周期的に撮像素子121で撮像した撮像信号(画像信号)を送信する際に、システム制御部14が持つ時刻情報も、該画像信号に付与する形で送信する。遠隔操作端末20は、カメラ10に対して送信する上記制御情報等とは別に、遠隔側表示制御部242によって遠隔側表示部243に画像表示を完了した際に表示した画像信号に付与された時刻情報(付与情報)を、遠隔側通信部241によってカメラ10に送り返す。このように、カメラ10は撮像した画像信号を送信すると同時に該画像信号を送信する際の時刻情報も送信し、遠隔操作端末20は受信した画像信号の表示を遠隔側表示制御部242が行う度にこの時刻情報をカメラ10に対して送り返す。そして、カメラ10が遠隔側通信部241から上記時刻情報を受信したとき、システム制御部14(算出手段)は、カメラ10の現在の時刻情報と受信した時刻情報との差分から、カメラ10と遠隔操作端末20の通信遅延時間を算出する。算出した通信遅延時間はSDRAM166に保持する。
次に、本発明の特徴的な部分で、遠隔操作端末20で被写体追従指示を行い、撮像装置が追従を行うまでの流れを説明する。遠隔側システム制御部21内の遠隔側追従画像生成部211(生成手段)は、遠隔側操作部22によって追従の指示があった場合に、指示が行われた座標情報(位置情報)の生成を行う。本実施形態では遠隔側操作部22をタッチパネルとし、遠隔側表示部243に表示中の画像においてタッチした座標を座標情報として生成する。遠隔側操作部22はタッチパネルでなく、操作キーによって追尾する被写体領域の座標を設定できるシステムでも良い。生成した座標情報は、遠隔側システム制御部21の指示で、遠隔側通信部241によって撮像側通信部169に送信される。システム制御部14は、撮像側通信部169から受信した座標情報をSDRAM166に保持すると共に、遠隔操作端末20によって追従指示がされたとして追従開始処理を始める。
まずシステム制御部14(選択手段)は、SDRAM166に保持している過去の画像信号の内、座標情報受信時から通信遅延時間分だけ過去の画像信号を選択する。ここで選択した、通信遅延時間分だけ過去の画像信号とは、遠隔操作端末側で被写体を選択したときと同じ画像信号である。システム制御部14は、選択した過去の画像信号を追従画像生成部141に取り込み、受信した座標情報を中心とした所定の領域から追従用画像を生成する。次に、追従信号処理部125は、この生成された追従用画像を取り込み、先述したように、追従用画像信号から色情報のヒストグラム及び輝度情報ヒストグラムからなる特徴量を生成する。被写体領域検出部126は、選択した過去の画像信号より一つ未来に保持した画像信号に対して、生成された特徴量を基に追従被写体の探索処理を施し、撮影画面内の所定領域から追従被写体に該当する被写体が存在するかを特定する。追従被写体が存在する場合は、追従被写体が存在する位置座標を基に追従領域を決定する。カメラ10によって追従指示を行う場合は、現在撮像している画像信号に対して追従領域を決定するので、リアルタイムで追従被写体を特定できたとすることができる。
しかしながら、遠隔操作端末20から追従指示を行う場合は、通信のタイムラグが存在するため、カメラ側では過去の画像信号に対して追従被写体が特定された段階となる。そのため、カメラ側では過去の画像信号から一つ未来の画像信号に対して追従被写体の特定処理を行い、この処理を現在の画像信号に至るまで継続する必要がある。システム制御部14は、上述した一つ未来に保持した画像信号に対して追従領域を特定できたら、該一つ未来に保持した画像信号よりさらに未来に保持した画像信号に対して、追従信号処理部125及び被写体領域検出部126で追従被写体の特定を行う。このように追従被写体の特定を繰り返して、通信遅延時間を基に選択した過去の画像信号から、時系列順に順次追従被写体の特定を行っていき、最終的に現在の画像信号に対して追従被写体の特定を行う。ただし、通信遅延時間が極端に短い場合などは、時系列順に順次追従被写体の特定を行わずに、選択した過去の画像信号を基に現在の画像信号に対して追従被写体の特定を行ってもよい。現在の撮像信号に対して追従被写体が特定したら、その結果をシステム制御部14に送信し、AFやAE制御(焦点や露光の調節)を行う。
また、現在の画像信号中で特定した追従被写体が存在する位置座標は、SDRAM166に保持し、次回以降の追従被写体領域の検出を行う際に本情報を用いることで、追従被写体の探索処理を施すエリアを限定することができる。追従被写体領域の特定時に、被写体が存在する位置座標が更新される度に、SDRAM166に保持する位置座標も更新する。
上述した手順によって、遠隔操作端末20から追従の指示を行いカメラ側で追従を開始する(図8)。追従を行うにあたって、追従指示を行った画像と、追従位置から特徴量を抽出する画像は同じでなければならない。これは、同じ画像でなければ追従したい被写体が追従指示を行った位置にいない可能性があるからである。遠隔操作端末20で追従指示を行った画像と同様の画像から特徴量を抽出できるようにするために、カメラ10は、カメラ10と遠隔操作端末20の通信遅延時間を計測し、事前に通信遅延時間分の画像信号を保持しておく。
このとき、通信遅延時間分だけ画像信号を保持しておくのは、通信の遅延によって、遠隔操作端末20で追従の指示を行ったとき、カメラ10が座標情報を受信した時点ではこの通信遅延時間分だけ進んだ時点の画像が表示されているからである。この通信遅延時間は、通信の状態に応じて時々刻々と変化するため、それに合わせて過去の画像を保持しておく。通信遅延時間より多少多めの時間分、過去の画像を保持しておいてもよい。遠隔操作端末20で追従指示が行われたとき、カメラ10は、座標情報受信時点の通信遅延時間分だけ過去の画像を選択し、この画像の受信した座標情報を中心とした領域から特徴量を抽出する。この特徴量をもとに、過去の画像信号を時系列順に順次パターンマッチングを行い、最終的に現在撮像している画像信号から追従被写体を特定する。追従被写体を過去のある画像の時点で発見しても、現在撮像している画像信号ではその位置から大きく離れている可能性がある。
例えば、特徴量を抽出できた段階で、現在の画像信号にパターンマッチングを行ったとき、追従したい被写体が大きく離れていた場合、パターンマッチングの領域が狭ければ被写体を発見できない可能性がある。また、パターンマッチングの領域が広ければ追従被写体の誤認識をしてしまう可能性がある。時系列順に順次被写体を特定していくことで、より正確に追従被写体を特定することができる。このようなシステムであれば、遠隔操作端末20からの追従指示時にも、通信タイムラグの課題を改善して追従したい被写体を正確に指定することができる。
なお、本実施形態では、カメラ10が保持する過去画像のリフレッシュ間隔は撮像した画像全てであるが、SDRAM166の保存容量を削減するために、間引いて保持してもよい。このリフレッシュ間隔は、時系列順に被写体を特定していく際に、少なくとも追従被写体の判定が可能な間隔に設定する必要がある。これは、被写体特定を行う際のパターンマッチングの範囲や、被写体を追従する最大の移動量を基に決定される。また、本実施形態では通信遅延時間を基に、保持した過去の画像信号から、遠隔操作端末20でタッチされた画像を特定したが、遠隔操作端末20でタッチした画像とフレーム情報が同じ画像を選択する処理にしてもよい。また、リフレッシュ間隔を大きくした場合は、通信遅延時間や、フレーム情報が一致する過去画像が存在しない場合があるが、その場合は最も近い画像を選択する。
次に、被写体追従機能について詳細に説明する。ここでは、カメラ10によって追従指示が行われた場合を例に説明する。操作部134によって被写体の追従指示があったとき、追従画像生成部141は、追従指示がされたときの位置情報、本実施形態ではタッチパネルのタッチ座標を中心とした所定の範囲を追従用画像として生成する。所定の範囲は、少なくとも、追従制御を行う上で誤追従が頻発しない程度に特徴量が生成できる大きさにする必要がある。所定の範囲は固定でもよいし、ユーザ設定等で可変できるようなシステムでもよい。生成された追従用画像は、追従信号処理部125によって、色情報のヒストグラム及び輝度情報のヒストグラムを生成し、これを追従用画像の特徴量とする。本実施形態では、色及び輝度のヒストグラムを生成しているが、色及び輝度のうち少なくとも一方のヒストグラムを生成するようにしても構わない。
さらに、被写体領域検出部126で、現在撮像している画像信号から、上述した追従用画像と同様のサイズの画像を生成し、これを追従候補画像とする。追従用画像と同様に、追従信号処理部125によって、追従候補画像から色及び輝度のヒストグラムを生成し、これを追従候補画像の特徴量とする。被写体領域検出部126は、追従用画像の特徴量と、追従候補画像の特徴量とから、各色情報毎の差分と、輝度情報の差分を算出し、さらにこれら算出した値の和を計算して、これを保持する。同時に、追従候補画像の位置情報も保持する。
さらに、現在撮像している画像信号から、順次追従候補画像を生成することでマッチングを行っていき、この追従候補画像の特徴量と、追従用画像の特徴量の要素の差分及びその和を計算していく。この特徴量の要素の差分の和が最も小さいときの値と、その時の追従候補画像の位置情報を、以前保存した情報に上書きして保持する。最終的に求めた特徴量の要素の差分の和が所定より小さければ、その追従候補画像が追従被写体だと特定して、保持していた位置情報から所定の範囲を追従領域として設定する。なお、特徴量の差分の和に関する所定値は、追従動作を実施したときに、追従したい被写体に対して追従可能な割合及び、追従してはならない被写体に対して誤追従しない割合を基に決定する。このようにして、追従領域を決定し、追従の開始をする。なお、遠隔操作端末20から追従指示を行う場合は、過去画像から順次パターンマッチングを行う必要がある。
また、追従の継続方法について説明する。追従を継続するための情報として、追従候補画像と追従領域を設定した位置情報を、SDRAM166に保持しておく。追従継続時には、撮像が行われる度に、SDRAM166に保持した追従用画像を基に、被写体領域検出部126及び追従信号処理部125によって、前述したように、撮像した画像信号と追従用画像とのマッチングを行う。
このとき、保持してある追従領域を設定した位置情報を基に、マッチングを行う画像信号の範囲を限定する。追従領域を設定した位置を中心に、所定の範囲だけマッチングを行うようにすれば、余計な範囲をマッチングすることによる誤追尾や、演算時間の短縮を図ることができる。マッチングを行う所定の範囲は、追従継続処理を行ってから次の追従継続処理を行うまでの時間に、追従したい被写体が撮像画面内で動作してよい最大距離を設計し、その最大距離移動したときにカバーできる範囲に設定する。この範囲が大きければ、被写体が大きく動作しても追従できるが誤追従が多くなり、範囲小さければ被写体が大きく動作すると追従できなくなるが誤追従が少なくなる。このように追従を継続するために再度マッチングを行った際に、先述したように、最終的に求めた特徴量の要素の差分の和が所定より小さければ、その追従候補画像が追従被写体だと特定して、追従候補画像の位置情報から所定の範囲を追従領域として更新する。
またこの時の追従候補画像の位置情報を、SDRAM166に保持している位置情報に上書き更新する。次回の追従継続処理時には、更新した位置情報を使用することで、適切なマッチング範囲を設定できる。このようにして追従の継続を行う。この時、撮像する度に追従継続処理を行わなくてもよく、例えば撮像を所定回数行う毎に追従継続処理を行うといった制御にしてもよい。追従継続処理を行う撮像間隔が長いほど、被写体が大きく動作したときに追従できなくなるが、処理時間を削減することができる。
また、追従の停止を行うときについて説明する。追従継続時に操作部134若しくは遠隔側操作部22によって追従停止指示が出された場合には、システム制御部14は追従の停止を行い、非追従時の動作に戻す。例えば、追従領域に対して設定していたAF領域を、追従停止時には通常時に設定するAF領域に戻す。同様に、追従継続時に追従する被写体が特定できず、所定時間経過した場合は、追従の停止を行う。追従被写体が特定できない間に待機する所定時間が長ければ、再度追従被写体を特定して復帰できる可能性が高くなるが、通常時の状態に戻す処理が遅れる。追従被写体が特定できない間に待機する所定時間が短い場合は、その逆である。
このようにして被写体の追従開始、継続、停止の処理を行う。
次に、上記構成を有するカメラ10及び遠隔操作端末20の、本実施形態における動作について図2から図6用いて説明する。
図2は、本実施形態における、カメラ10内のシステム制御部14及び、遠隔操作端末20内の遠隔側システム制御部21で行う、カメラの遠隔操作処理を表すフローチャートである。図2の左側のフローチャートが、カメラ遠隔操作モード時のカメラ10の動作を表すものであり、各処理を「SC」で表示している。図2の右側のフローチャートが、カメラ遠隔操作モード時の遠隔操作端末20の動作を表すものであり、各処理を「SR」で表示している。
まずカメラ側の処理について説明する。ステップSC001は、カメラ遠隔操作を行っていないときのカメラの制御(以下、カメラの通常制御という)を表しており、制御実施後にステップSC002へ進む。カメラの通常制御時は遠隔操作を行わないので詳細については省略するが、カメラのみで各種カメラ制御、撮像信号表示、追従の指示を行う。ステップSC002は、カメラ遠隔操作モードを実行するかどうかの判断を行う。
ステップSC001においてカメラ遠隔操作モードを実行する指示があればステップSC003へ進み、指示がなければステップSC001へ進む。ステップSC003はカメラ遠隔操作モードのキャンセルがないかどうかを判断し、キャンセルがない場合はステップSC004へ進み、キャンセルがある場合はステップSC001へ進む。カメラ遠隔操作モード実行指示により、遠隔操作端末20との通信確立を行っている際に、遠隔操作モードのキャンセルがあれば、SC001でカメラの通常制御を行う。
SC004では、遠隔操作端末20との通信を確立する。遠隔操作端末20に対して通信確立指示を送信し、それに対して遠隔操作端末20から通信確立可能情報を受信できれば、通信が確立できたとして、遠隔操作端末20に対して通信確立完了情報を送信すると共に、ステップSC005に進む。また、遠隔操作端末20に送信した通信確立指示に対して、タイムアウトにより通信が確立できなかった場合は、ステップSC003に戻り、カメラ遠隔操作モードのキャンセルがあるかどうかを再度判断する。
ステップSC005では、通信確立時のカメラの設定を遠隔操作端末と共有するために、遠隔操作端末20に対してカメラの設定情報を送信する。ステップSC005の処理を実行した後は、ステップSC006へ進む。また、詳細は後述するが、遠隔操作端末20からカメラ10に対して設定の変更指示があった場合も、この設定を共有するために、遠隔操作端末20に対してカメラの設定情報を送信する。ステップSC006では、現在のカメラモードが撮影モードか、再生モードかを判断し、撮影モードである場合はステップSC007へ進み、再生モードである場合はステップSC008へ進む。ステップSC007は、本実施形態の特徴とする部分であり図3で後述する。
ステップSC008では、再生モード時の処理を行う。カメラ側で撮影した動画像の再生を行うと同時に、遠隔操作端末20に対して再生している動画像の表示を行う。また、遠隔操作端末20から再生したい動画像の選択や、動画再生中の各種コマンド(再生、停止、早送り等)の実行を、カメラ10に対して行う。詳細については省略する。ステップSC007若しくはステップSC008の処理を実行したら、ステップSC009へ進む。ステップSC009では、電源がオフされたかどうかを判断し、オフされていなければステップSC010へ進み、オフされていれば処理を終了する。ステップSC010では、遠隔操作端末20からカメラ遠隔操作モードのキャンセル指示があったかどうかを判断し、カメラ遠隔操作モードのキャンセル指示がなければステップSC011へ進む。キャンセル指示があればステップSC001へ戻り遠隔操作を行わない通常のカメラ制御を行う。
ステップSC011では、遠隔操作端末20によって撮影モードと再生モードの切り替え指示があったかどうかを判断し、モード切替指示があった場合はステップSC012へ進み、モード切替指示がなかった場合はステップSC005へ戻る。ステップSC012では、現在撮影モードであれば再生モードに、現在再生モードであれば撮影モードにカメラ設定を変更して、ステップSC005へ戻る。ステップSC005において、撮影モードと再生モードの切り替えや、ステップSC007内で行われたカメラ設定情報の変更を、遠隔操作端末に共有し、設定されたモードで動作を行う。
次に遠隔操作端末側の処理について説明する。ステップSR001は、カメラ遠隔操作を行っていないときの遠隔操作端末の制御(以下、遠隔操作端末の通常制御という)を表している。遠隔操作端末の通常制御時は遠隔操作を行わないので詳細については省略するが、遠隔操作端末に備わっている他の各種機能(インターネットや音楽再生や動画像再生等)を実行している。ステップSR002では、カメラ遠隔操作モードの実行が行われるかどうかの判断を行う。ステップSR001において、カメラ遠隔操作モードの実行が行われればステップSR003へ進み、遠隔操作モードの実行が行われなければステップSR001で行っている各種処理を継続する。ステップSR003はカメラ遠隔操作モードのキャンセルがないかどうかを判断し、キャンセルがない場合はステップSR004へ進み、キャンセルがある場合はステップSR001へ戻る。
SR004では、カメラとの通信を確立する。カメラ10からの通信確立指示を受信できた場合、カメラ10に対して通信確立可能情報を送信し、それに対して再度カメラ10からの通信完了情報が受信できれば、通信が確立できたとしてステップSR005に進む。また、カメラ10から通信確立指示を受信できず、タイムアウトにより通信が確立できなかった場合は、ステップSR003に戻り、カメラ遠隔操作モードのキャンセルがあるかどうかを再度判断する。カメラ遠隔操作モードのキャンセル指示があれば、SR001に戻り遠隔操作端末20の各種制御を再開する。ステップSR005では、通信確立時のカメラの設定を遠隔操作端末にも反映するために、カメラ10から設定情報を受信することで遠隔操作端末側で受信した設定情報と同様の設定を行う。
例えば、現在のカメラのフォーカスモードはAFかMFかどうかを受信し、それを設定することで、AF時にはフォーカスをマニュアル制御するアイコンをグレーアウトするという様な制御を行う。ステップSR005の処理を実行した後は、ステップSR006へ進む。
また、詳細は後述するが、遠隔操作端末20からカメラ10に対して設定の変更指示を行った場合も、この設定を共有するために、カメラ10の設定情報を再度受信し、遠隔操作端末20に設定を反映する。ステップSR006では、現在のカメラモードが撮影モードか、再生モードかを判断し、撮影モードである場合はステップSR007へ進み、再生モードである場合はステップSR008へ進む。
ステップSR007は、本実施形態の特徴とする部分であり図3で後述する。ステップSR008では、再生モード時の処理を行う。遠隔操作端末20から再生したい動画像の選択や、動画再生中の各種コマンド(再生、停止、早送り等)の実行を、カメラ10に対して行うと共に、カメラ10が再生している動画像の表示を行う。詳細については省略する。ステップSR007若しくはステップSR008の処理を実行したら、ステップSR009へ進む。
ステップSR009では、電源がオフされたかどうかを判断し、オフされていなければステップSR010へ進み、オフされていれば処理を終了する。ステップSR010では、遠隔操作端末20でカメラ遠隔操作モードのキャンセル指示を実行したかどうかを判断し、カメラ遠隔操作モードのキャンセル指示を実行していればステップSR011へ進み、実行していなければステップSR012へ進む。
ステップSR011では、カメラ10に対してカメラ遠隔操作モードのキャンセル指示を送信すると共に、ステップSR001へ戻り、遠隔操作端末の通常制御を行う。ステップSR012では、遠隔操作端末20において撮影モードと再生モードの切り替え指示を実行したかどうかを判断する。モード切替指示を実行した場合はステップSR013へ進み、モード切替指示を実行しなかった場合はステップSR005へ戻り、カメラ遠隔操作モードにおける遠隔操作端末の処理を継続する。ステップSR013では、カメラモードの切り替え指示をカメラ10に送信し、ステップSR005へ戻る。ステップSR005において、撮影モードと再生モードの切り替えを遠隔操作端末に共有し、設定されたモードで動作を行う。
次に、本発明の特徴とする部分である図2のステップSC007の遠隔操作時カメラ制御及び、ステップSR007の遠隔操作時遠隔操作端末制御について、図3のフローチャートを用いて説明する。
図3の左側のフローチャートが、遠隔操作時のカメラ制御であり、右側のフローチャートが、遠隔操作時の遠隔操作端末の制御を表している。
まずカメラ側の処理について説明する。SC101では、遠隔操作端末20に対して映像信号(画像信号)及び、カメラ10が遠隔操作端末20に対して映像信号を送信した時刻(以下、カメラ映像送信時間とする)を送信しステップSC102へ進む。カメラ側は、遠隔操作端末20の受信確認することなく映像信号の送信を行う。ステップSC102では、遠隔操作端末20によってカメラ設定の変更があったかどうかを判断し、カメラ設定の変更があった場合はステップSC103へ進み、変更がなかった場合はステップSC104へ進む。ステップSC103では、遠隔操作端末20によって変更されたカメラ設定を反映し、ステップSC104へ進む。
例えば、遠隔操作端末側で記録画質の変更が行われた場合、ステップSC103ではカメラ側で記録画質の変更設定を反映する。ステップSC104では、遠隔操作端末20によって追従開始指示があったかどうかを判断し、追従開始指示があった場合はステップSC105へ進み、そうでない場合はステップSC108へ進む。本実施形態では遠隔操作端末20から追従被写体位置情報(追従被写体座標情報)を受信した場合に、追従開始指示があったと見なす。
ステップSC105では、受信した追従被写体位置情報を基に追従開始処理を行い、ステップSC106へ進む。ステップSC105の処理は本発明の特徴とする部分であり、詳細な説明は図4で後述する。ステップSC106では、ステップSC105で追従が行えなかったかどうかを判断し、追従が行えなかった場合はステップSC107へ進み、追従が行えた場合はステップSC112へ進み、追従処理以外の他の処理に移る。
ステップSC107では、追従が行えなかったとして遠隔操作端末20に追従不可情報を送信する。追従が行えたかどうかは、追従の可否を1ビットで表す追従不可情報がステップSC105で発行されたかどうかで判断する。次に、ステップSC104で追従開始指示がなかった場合に進むステップSC108では、現在追従を行っているかどうかを判断し、追従を行っている場合はステップSC109へ進む。そうでない場合はステップSC112へ進み、追従処理以外の他の処理に移る。現在追従中である場合に進むステップSC109では、追従継続処理を行い、ステップSC110へ進む。この追従継続処理についての詳細な説明は、図6で後述する。ステップSC110では、ステップSC109で追従不可情報があったか、若しくは遠隔操作端末20から追従の停止が指定されたかどうかを判断し、該当する場合はステップSC111へ進む。そうでない場合はステップSC112へ進み、追従処理以外の他の処理に移る。
ステップSC111では、追従停止処理を行い、ステップSC112へ進み、追従処理以外の他の処理に移る。追従が継続できない場合、すなわち追従被写体が特定できない場合、若しくは使用者が追従を停止したい場合は、追従を停止して通常の撮影状態に戻す。本実施の形態における通常の撮影状態とは、AFやAEの調整を行う枠を、追従領域ではなく画面中央に設定した状態である。通常の撮影状態は、もちろん本実施の形態の構成に限らず、追従を行っていないときの状態であれば他の構成でもよい。
次に、追従に関わる処理等を行った後に進むステップSC112では、遠隔操作端末20によるカメラ制御指示があったかどうかを判断し、カメラ制御指示があった場合はステップSC113へ進み、そうでない場合はステップSC114へ進む。ステップSC113では、遠隔操作端末20からのカメラ制御指示に従ってカメラの制御を行い、ステップSC114へ進む。ステップSC112及びステップSC113で行われる処理の一例として、遠隔操作端末20でズーミングの指示が行われた場合は、それにしたがってズーミングを行う。ステップSC114では、カメラ本体によるカメラ設定や制御を行い、ステップSC115へ進む。ステップSC114では、カメラ本体の操作によるカメラ設定の変更や、カメラの制御指示を受け付け、それにしたがってカメラの制御を行う。
また、AF等の使用者の指示に従わないで行われるカメラ制御についてもここで行う。詳細については省略する。ステップSC115では、遠隔操作端末20からカメラ映像送信時間を受信したかどうかを判断し、受信した場合はステップSC116へ進み、受信していない場合は処理を終了する。ステップSC116では通信遅延時間の算出を行い処理を終了する。
次に、遠隔操作端末側の処理について説明する。ステップSR101では、カメラ10からの映像信号の受信を開始すると共に、カメラ映像送信時間を受信してステップSR102へ進む。なお、受信した映像信号の表示は後述するステップSR114で行うが、後述するステップSR102からステップSR113までの処理は、前回の遠隔操作時遠隔操作端末制御の際にステップSR114ですでに映像信号の表示を行っているとして説明する。ステップSR102は、遠隔操作端末20で使用者によるカメラ設定の変更指示があったかどうかを判断し、設定変更指示があった場合はステップSR103へ進み、そうでない場合はステップSR104へ進む。
ステップSR103では、カメラ設定の変更情報をカメラ10に対して送信する。次にステップSR104では、遠隔操作端末20で追従開始の指示が行われたかどうかを判断し、追従開始の指示が行われた場合はステップSR105へ進み、そうでない場合はステップSR109へ進む。本実施形態では、遠隔操作端末20で映像信号の表示を行うと共に、タッチによる操作を行えるタッチパネルに対して、被写体のタッチが行われた場合に追従開始の指示を行う。
ステップSR105では、使用者によるタッチが行われた座標を追従被写体位置情報として生成し、ステップSR106へ進む。ステップSR106では、追従被写体位置情報をカメラ10に対して送信しステップSR107へ進む。次に、ステップSR107では、カメラ側のステップSC105で行った追従開始処理の結果、パターンマッチングに失敗して追従が行えなかった場合にカメラ10から送信される追従不可情報を受信したかどうかを判断する。追従不可情報がある場合はステップSR108へ進み、そうでない場合はステップSR109へ進む。
ステップSR108では、カメラ側で追従が行えなかったことを使用者に伝えるために、追従が行えなかった旨を表示し、ステップSR109へ進む。このように追従が行えなかった旨を表示することで、使用者が再度追従指示を行えるように促す。ステップSR109では、遠隔操作端末20による追従停止の指示があったかどうかを判断し、追従停止指示があった場合はステップSR110へ進み、そうでない場合はステップSR111へ進む。この追従停止指示とは、現在追従を行っている場合に、使用者が追従をやめたい場合に行う操作である。遠隔操作端末20に表示された追従停止アイコンを使用者がタッチすることで、追従停止指示を行う。
ステップSR110では、追従停止指示をカメラ10に対して送信して、ステップSR111へ進む。ステップSR111では、遠隔操作端末20によるカメラ制御の指示があったかどうかを判断し、カメラ制御指示があった場合はステップSR112へ進み、そうでない場合はステップSR113へ進む。ステップSR112では、遠隔操作端末20で行われたカメラ制御情報をカメラ側に送信し、ステップSR113へ進む。例えば、遠隔操作端末20によってズーミングを行った場合、カメラ10に対してズーミングを行うように制御情報を送信する。ステップSR113では、ステップSR101で受信を開始した映像信号の受信が完了したかどうかを判断し、完了した場合はステップSR114へ進み、完了していない場合はステップSR115へ進む。
ステップSR114では、受信完了した映像信号の表示処理を行い、ステップSC116へ進む。ステップSR116では、ステップSR101で受信したカメラ映像送信時間をそのままカメラ側に送り返し、処理を終了する。ステップSR115では、ステップSR102からSR112までに行われた、カメラ10に対する各種指示情報を、初期化(指示がない状態)し、ステップSR102に戻り、再度ステップSR102から処理を行う。カメラ側は撮像を行う度に、遠隔操作端末20に対して映像信号を送信するが、遠隔操作端末20はそれをすべて表示できるとは限らず、遠隔操作端末20の処理能力や、回線状況に依存する。遠隔操作端末20の処理能力が低いほど、カメラ側が表示する周期に対してより遅い周期で映像信号を表示することになる。ステップSR101で受信開始した映像信号を受信し続けている間も、遠隔操作端末20でカメラ設定の変更やカメラ制御の実施、現在表示している画像に対しての追従の開始指示等が行えるようにする。
つまり、ステップSR113で受信完了するまでの間は、ステップSR115の処理を経由して、ステップSR102からステップSR112の処理を行えるようにする。映像信号の受信が完了した場合は、ステップSR114でその映像信号を遠隔操作端末20に表示し、次に遠隔操作時遠隔操作端末制御が行われた後のステップSR101で、再度映像信号の受信を開始する。再度映像信号の受信をしている間は、現在表示されている映像信号に対して各種処理の指示を受け付ける。なお、遠隔制御開始後すぐのような、ステップSR101で映像信号の受信を開始した段階でまだ何も映像信号を表示していない場合は、ステップSR102、SR104、ステップSR107、ステップSR109、ステップSR111の処理はすべてNとする。そうすることで各種制御指示を受け付けずに各種ステップをスキップする。そして、ステップSR114で初めて映像信号の表示が行われた後に、ステップSR102からステップSR112の各種制御指示を受け付けるものとする。
本実施の形態において、カメラ側はSC101で周期的に映像信号の送信を行う際に、この送信時刻を表すカメラ映像送信時間も付与して送信する。それに対して、遠隔操作端末20は、映像信号の受信を完了し、ステップSR114で映像信号の表示を行う度に、ステップSR116によって、このカメラ映像送信時間をカメラ側に送り反す。カメラ側はステップSC116で、カメラ映像送信時間を受信した時刻と、このカメラ映像送信時間の差分から通信遅延時間を算出する。この通信遅延時間は、カメラ10が画像を送信し遠隔操作端末20が映像信号を表示してカメラに通信完了するまでの、カメラと遠隔操作端末間の往復の通信時間を表している。通信回線の状況によって、この通信遅延時間は逐次変動する。
図8の説明で先述したように、被写体の追従指示を行うには、使用者が被写体追従指示を行った画像と同じ画像で、かつ追従指示を行った座標と同じ座標から被写体を特定する必要がある。遠隔操作端末20からの追従指示を行った時点でカメラ側ではすでに遠隔操作端末20に表示されている画像よりも未来の画像を撮像している。そのため、遠隔操作端末20で追従指示を行った画像と同様の画像に対して追従指示を行うためにカメラ側で過去の画像を保持しておく。遠隔操作端末20で追従指示を行った画像を保持しておくには、少なくとも先述した通信遅延時間(カメラと遠隔操作端末間の往復の通信時間)の長さだけ保持する必要がある。カメラ10はこのように常に過去画像を保持しておく。そして、ステップSR104で追従開始指示が行われた際には、先述のステップSR106で通信された被写体位置情報と、追従開始指示があった時点でステップSC116で算出された通信遅延時間を基に、ステップSC105で追従開始処理を行う。
次に、本発明の特徴的な部分である図3のステップSC105の追従開始処理について、図4のフローチャートを用いて説明する。
ステップSC201では、保持している過去画像の内、現在の通信遅延時間分だけ過去の画像を、特徴量を抽出する画像として選択してステップSC202へ進む。抽出する特徴量とは、先述したように色情報のヒストグラム及び輝度情報のヒストグラムである。本実施形態では通信遅延時間を基に過去の画像を選択しているが、過去の画像と共に画像のフレーム情報を保持しておき、フレーム情報が一致する画像を選択するシステムでも良い。ステップSC202では、ステップSC201で選択した画像に対して、遠隔操作端末20から受信した被写体位置情報を中心とした所定の領域から特徴量を抽出し、ステップSC203へ進む。
ステップSC203では、保持している過去画像の内、現在選択している画像より一つ未来の画像を選択し直してステップSC204へ進む。ステップSC202の処理の直後では、ステップSC201で選択した画像よりも一つ未来の画像を選択することになる。ステップSC204では、ステップSC202で抽出した特徴量と、ステップSC203で選択した画像を基にパターンマッチングを行いステップSC205へ進む。ステップSC204の詳細は、図5で後述する。
ステップSC205では、ステップSC204の処理で追従不可情報が発行されたかどうかを判断し、発行されていない場合はステップSC206へ進み、発行された場合は追従不可と判断し処理を終了する。ステップSC206では、現在時刻に撮像している画像に対してパターンマッチングが実行できたかを判断し、実行できた場合はステップSC207へ進み、実行できていない場合はステップSC203へ戻る。図8の説明で先述したように、ステップSC203からステップSC206の処理を繰り返し、保持している過去画像に対して順次追従被写体が存在する領域(第2の追従領域)を発見していく。そして、最終的に現在時刻に撮像している画像に対してパターンマッチングを行い追従被写体が存在する領域(第1の追従領域)を特定する。このように時系列順に順次追従被写体を追いかけて発見していくことで、追従被写体の移動が大きくても現在撮像している画像から追従被写体を特定することができる。
次に、ステップSC206で現在時刻に撮像している画像に対してパターンマッチングが実行できている場合に進むステップSC207では、最後に保持した位置情報を中心とした領域に追従領域を設定してステップSC208へ進む。この最後に保持した位置情報とは、現在時刻に撮像している画像中で、追従したい被写体が発見できた位置に相当する。カメラ10はこの追従領域に対して、図3のステップSC114でAFやAEの処理を行う。ステップSC208では、追従を継続していくための情報として、ステップSC202で特徴量を抽出した追従用画像と、ステップSC207で追従領域を設定した位置情報を保持して処理を終了する。これらの情報を基に、図3におけるステップSC109で追従継続処理を行う。
以上のようにして、通信遅延時間によって遠隔操作端末20で追従指示が行われた画像を過去画像から特定し、遠隔操作端末20から受信した追従被写体の位置情報を基に追従被写体の特徴量を抽出する。さらに、この特徴量を基に、特定した過去画像から時系列順に、各画像に対してパターンマッチングを行っていくことで、現在撮像している画像から追従被写体を特定する。カメラ側で通信遅延時間分の過去画像を保持しておき、遠隔操作端末20で追従指示を行った画像と同様の画像を見つけ出し、位置情報を基に特徴量を抽出することで、通信タイムラグによる被写体の誤追尾を防ぎ、より正確に追従被写体の特定を行うことができる。カメラは、この追従領域に対してAFやAEといった制御を行うことで、使用者が追従したい被写体に対して好適なフォーカス及び露出を簡単に設定することができる。
次に、図4のステップSC204のパターンマッチング処理について、図5のフローチャートを用いて説明する。ステップSC301では、ステップSC203で選択した画像に対して、パターンマッチング範囲を設定してステップSC302へ進む。ここで設定する範囲は、前回のパターンマッチング処理において、後述するステップSC306で最後に保持した位置情報を中心とした領域を設定する。この位置情報とは、すなわち追従したい被写体が存在するとされる位置である。なお、パターンマッチング処理が初回である場合は、図4のステップSC202で特徴量を算出する際に使用した、遠隔操作端末20から受信した位置情報を基にする。ステップSC302では、パターンマッチング範囲の一部の領域から特徴量を抽出し、ステップSC303へ進む。
ステップSC302で特徴量を抽出する領域の大きさは、図4のステップSC202で特徴量を抽出する領域と同様のものである。さらに、後述するSC308によってステップSC302に処理が戻るたびに、画像信号中の所定の範囲内から順次画像信号を切り出す位置を変更していくことで、画像信号とのマッチングを行っていく。なお、マッチングを行う範囲が広いほど、追従被写体を発見できる可能性は高くなるが、誤追従も増える。切り出す位置の変更方法は、1行ごとに切り出し位置変更を行い、1行が終われば次の列の行について切り出しを行う。当然、列を優先して切り出しを行ってもよい。また、切り出しの範囲は、切り出し画像が重複しても重複しなくてもよく、必要な追従精度によって決める。切り出し画像が重複する場合、例えば、1画素ずらす毎に切り出し画像を生成する場合では、マッチングをより精密にとるため追従精度が上がるが、マッチングの計算量が多くなる。
対して、例えば追従画像が重複しないように、追従画像に隣接する範囲を追従画像とした場合は、マッチングの計算量が少なくなるが追従精度が下がる。次に、ステップSC303では、図4のステップSC202で抽出した特徴量と、ステップSC302で抽出した特徴量の差分を計算し、ステップSC304へ進む。ステップSC304では、ステップSC303で計算した特徴量の差分が、現在保持している特徴量の差分値より小さいかどうかを判断し、小さい場合はステップSC305へ進み、そうでない場合はステップSC307へ進む。このように、追従したい被写体の特徴量と、パターンマッチング対象画像の特徴量の差分をとり、その差が小さいほどマッチングが取れていることを表す。
よって、ステップSC304で特徴量の差分がここまでで最小であるかどうかを判断し、後述する処理によって最小値を保持していく。なお、ステップSC305でまだ一度も特徴量の差分を保持していない場合は、必ずステップSC305へ進むようにする。ステップSC305では、計算した特徴量の差分の最小値を保持し、ステップSC306へ進む。
ステップSC306では、ステップSC302で特徴量を抽出した領域の中心位置座標を保持してステップSC307へ進む。この中心位置情報は、現在パターンマッチングを行っている画像信号に対して、最もマッチングが取れている位置情報で、最終的には追従被写体がいるだろうとされる位置情報を保持する。この位置情報は、次回のパターンマッチング処理におけるSC301の処理でパターンマッチングの範囲を設定するために用いる。もしくは、パターンマッチングを行った選択画像が、現在カメラが撮像している画像であれば、追従領域を設定するために用いる。なお、本実施形態では中心位置座標としているが、もちろん中心位置でなく、例えば領域の左上の座標としても構わない。
次に、ステップSC307では、ステップSC305で保持している特徴量の差分の最小値が所定値より大きくて、かつパターンマッチングのタイムオーバーが起きているかどうか判断する。保持している特徴量の差分の最小値が所定値より小さいか、若しくはタイムオーバーしていない場合はステップSC308へ進み、該最小値が所定値より大きくてタイムオーバーしている場合はステップSC310へ進む。パターンマッチングに時間がかかっても、特徴量の差分が小さいパターンが発生しない場合、追従したい被写体がすでにマッチングを行う範囲にいない可能性が高いといえる。よって、パターンマッチングに制限時間を設けて、特徴量の差分の最小値が所定値より大きくてかつ制限時間をオーバーする場合はマッチングを打ち切るという処理を行う。この制限時間は、保持している特徴量の差分の最小値に応じて可変して、大きいほど早く打ち切るようにしてもよい。
次にステップSC308では、ステップSC302で行う特徴量の抽出を、マッチング範囲全てに対して行ったかどうかを判断し、行った場合はステップSC309へ進む。行っていない場合はステップSC302へ戻り、ステップSC302からステップSC307で、現在選択している画像信号に対してパターンマッチング処理を継続する。ステップSC309では、パターンマッチングを終了して、最終的に保持した特徴量の差分の最小値が所定値より小さいかどうかを判断し、所定値より小さい場合は処理を終了し、そうでない場合はステップSC310へ進む。特徴量の差分の最小値が所定より小さければ、追従被写体が発見できたとして、図4における追従開始処理を継続する。
また、特徴量の差分の最小値が所定値より大きく、またはマッチングタイムオーバーが発生したときに進むステップSC310では追従被写体を特定できなかったとして、追従不可情報を発行し、処理を終了する。追従不可情報を発行した場合、図4のステップSC205で追従開始処理を中断すると共に、図3のステップSC107で遠隔操作端末20に対して、追従被写体を特定できなかった旨を送信する。
以上のようにして、選択した過去画像に対してパターンマッチングを行い、追従被写体が存在するとされる位置情報を取得する。パターンマッチングを過去画像に対して時系列順に順次行うことで、現在撮像している画像において追従被写体が存在する位置情報を取得する
次に、図3のステップSC109の追従継続処理について、図6のフローチャートを用いて説明する。
ステップSC401では、図4の追従開始処理におけるステップSC208で保持した追従用画像から特徴量を抽出して、ステップSC402へ進む。ステップSC402では、同様に図4の追従開始処理におけるステップSC208か、若しくは後述するステップSC412で保持した位置情報から、マッチングを行う範囲の中心位置を限定して、ステップSC403へ進む。前回マッチングが取れた位置情報を中心としてマッチングの範囲を設定することで、より追従被写体の特定を行いやすくする。
ステップSC403では、ステップSC402で設定したマッチング範囲の画像信号から、ステップSC401で使用した追従用画像と同様のサイズの画像を切り出すと共に、特徴量を抽出してステップSC404へ進む。ステップSC404では、ステップSC401とステップSC403で抽出した特徴量の差分を計算して、ステップSC405へ進む。ステップSC405では、ここまで計算した特徴量の差分が、現在保持している特徴量の差分の値より小さいかどうかを判断し、小さい場合はステップSC406へ進み、そうでない場合はステップSC408へ進む。ステップSC406では、計算した特徴量の差分が最も小さいとして、この値を保持してステップSC407へ進む。ステップSC407では、ステップSC403で切り出した画像信号の位置情報を保持して、ステップSC408へ進む。
なお、ステップSC405の判断時に、ステップSC406で未だ一度も特徴量の差分の最小値を保持していない場合は、必ずステップSC406へ進むようにする。ステップSC408では、ステップSC406で保持している特徴量の差分の最小値が所定値より大きくて、かつパターンマッチングのタイムオーバーが起きているかどうか判断する。保持している特徴量の差分の最小値が所定値より小さいか、若しくはタイムオーバーしていない場合はステップSC409へ進み、該最小値が所定値より大きくてタイムオーバーしている場合はステップSC414へ進む。ステップSC408の処理の詳細は、図5のステップSC307で説明したものと同様なので省略する。
ステップSC409では、ステップSC402で設定したマッチング範囲全てに対して、マッチングを行ったかどうかを判断し、行った場合はステップSC410へ進み、行っていない場合はステップSC403へ戻り、パターンマッチングの処理を継続する。ステップSC410では、パターンマッチングの結果、ステップSC406で保持した特徴量の差分の最小値が所定値より小さいかどうかを判断し、所定値より小さい場合は、ステップSC411に進み、そうでない場合はステップSC414へ進む。ステップSC411では、追従被写体が特定できたとして、ステップSC407で保持した画像信号の位置情報を中心とした範囲に追従領域を設定してステップSC412へ進む。
ステップSC412では、ステップSC411で設定した追従領域の位置情報を保持しステップSC413へ進む。ステップSC412で保持した座標情報は、次回の追従継続処理時のステップSC402で使用する。ステップSC413では追従不可カウンタをクリアして処理を終了する。追従不可カウンタについては、後述するステップSC414からステップSC417で説明する。
このように、順次撮像する画像信号に対してパターンマッチングを繰り返し行うことで、順次追従領域を特定し、追従を継続する。次に、特徴量の差分の最小値が所定値より大きい場合、若しくはマッチングタイムオーバーした場合に進むステップSC414では、追従不可カウンタを加算してステップSC415へ進む。この追従不可カウンタとは、追従継続処理を行った際に追従被写体を連続で特定できなかった回数をカウントするものである。ステップSC415では、追従不可カウンタが所定回数以上かどうかを判断し、所定回数以上である場合はステップSC416へ進み、そうでない場合はステップSC417へ進む。
ステップSC416では、追従被写体を特定できなかったとして、追従不可情報を発行して処理を終了する。追従不可情報が発行されたら、図3のステップSC111によって追従の停止処理を行う。ステップSC417では、追従制御一時停止という状態に変更し、処理を終了する。追従制御一時停止状態とは、追従制御領域に対してカメラ制御を行わない状態であり、AFやAEの制御を一時的に停止する。
ここで、ステップSC414からステップSC417について詳細に説明する。追従継続処理時は、追従被写体が一時的に特定できなくなったとしても再度特定できるようになる可能性がある。例えば、追従していた被写体が一度フレームアウトした後に再度フレームインしてきた場合や、追従していた被写体の前に他の被写体が横切った場合などが挙げられる。このような場合を想定して、一時的に被写体追従が出来なくなったとしても、再度被写体が特定できる待ち時間を持つようにする。この待ち時間が追従不可カウンタであり、この追従不可カウンタが所定回数以上になるまでは、ステップSC416で追従不可情報を発行しないようにする。
ただし、追従被写体が特定できていない場合は、現在設定されている追従領域に対してAFやAE制御を行うわけにはいかないので、ステップSC417でこれら制御を一時的に停止する。このようにして、一時的に追従被写体を特定できなくなったとしても、再度追従被写体が現れた時に追従を継続できるようにする。
以上説明したように、カメラ10は遠隔操作端末20に対して撮像した画像信号だけでなく画像信号の送信時刻情報を送信し、遠隔操作端末20は、該画像信号を表示する度に該送信時刻情報をカメラ10にそのまま送り返す。カメラ10は、遠隔操作端末20から送信時刻情報を受信した時点の時刻情報と、受信した送信時刻情報の差分から通信遅延時間を常に計測しておき、少なくともこの通信遅延時間の分だけ、SDRAM166に撮像した画像信号を保持しておく。システム制御部14は、遠隔操作端末20からの追従指示によって追従制御を行う場合、遠隔側システム制御部21によって生成された追従指示が行われた座標情報を受信する。システム制御部14は、座標情報を受信した時点の通信遅延時間を基に、SDRAM166に保持していた過去画像から遠隔操作端末20で追従指示が行われた時点に、遠隔側表示部243に表示されていた画像を選択する。
さらに、追従画像生成部141によって、選択した画像から受信した座標情報を中心とした所定領域を追従被写体の画像(追従用画像)として生成する。システム制御部14は、この追従被写体の画像を基に追従信号処理部125及び被写体領域検出部126によって現時点で撮像している画像信号から追従被写体を特定することで追従制御を行う。また、現時点で撮像している画像信号から追従被写体を特定するために、追従被写体の画像を生成した過去の画像信号から、時系列順に順次、保持した過去画像と追従被写体の画像とのパターンマッチングを行う。
このように、追従被写体の位置情報のみで遠隔操作端末20から追従指示をするのではなく、通信遅延時間を考慮して追従被写体の特定を行う。これによって、通信遅延の影響で使用者が追従を行いたい被写体以外を誤追尾してしまうことや、使用者が通信タイムラグを考慮した位置に対して追従指示を行わななけらばならない問題が改善する。この結果、通信遅延に依らず、使用者が追従したい被写体をより正確に追従することが可能となり、また使用者が通信遅延を気にすることなく追従指示を行うことができる。
以上、本発明をその好適な実施形態に基づいて詳述してきたが、本発明はこれら特定の実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の様々な形態も本発明に含まれる。
(他の実施形態)
本発明の目的は以下のようにしても達成できる。すなわち、前述した実施形態の機能を実現するための手順が記述されたソフトウェアのプログラムコードを記録した記憶媒体を、撮像装置および遠隔操作端末に供給する。そしてその撮像装置および遠隔操作端末のコンピュータ(またはCPU、MPU等)が記憶媒体に格納されたプログラムコードを読み出して実行するのである。
この場合、記憶媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記憶媒体およびプログラムは本発明を構成することになる。
また、プログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスクなどが挙げられる。また、CD−ROM、CD−R、CD−RW、DVD−ROM、DVD−RAM、DVD−RW、DVD−R、磁気テープ、不揮発性のメモリカード、ROM等も用いることができる。
また、コンピュータが読み出したプログラムコードを実行可能とすることにより、前述した実施形態の機能が実現される。さらに、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
更に、以下の場合も含まれる。まず記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行う。