本発明を実施するための形態は、以下の実施例1ないし8に記載される通りである。
図1は、本発明の撮像装置の実施例としてのカメラ100とインターネット1(ネットワーク)との接続状態を説明する撮像システムの図である。カメラ100は直接インターネット1にアクセス出来るか、もしくは、パソコン201、無線機器202、携帯電話203等の接続機器200を介して、インターネット1にアクセス出来るようになっている。カメラ100は、インターネット1を介してサーバーコンピュータに接続すると、撮影条件の設定を補助するための情報を受信することが出来る。
これにより、カメラ100で撮影した撮影画像を、インターネット1を介して撮影者が指定した相手先(パソコン201等)に送信したり、また、後述するように、撮影条件等をインターネット1から受け取ったりする事が出来る。
図2は、本発明の実施例1に係る、振れ補正機構を用いたカメラの構成を示すブロック図である。
本実施例1における振れ補正機構は、カメラ100に対して着脱可能な鏡筒102内に設けられており、振れ補正をピッチング(Z2軸周りの回転)と、ヨーイング(Y2軸周りの回転)の2自由度方向について行う。
ただし、図2及び以下の説明においては、ピッチング回転の像振れ補正システムに関して示し、ヨーイング回転の像振れ補正システムに関しては、ピッチング回転の像振れ補正システムと同様であるので、その説明を省略する。
角速度センサ130は、鏡筒102に対してフローティング支持され、カメラ(レンズ)に生ずる振れの角速度を検出する角速度検出部である。本実施例1における角速度センサ130は、回転により生ずるコリオリ力を検出する圧電振動式角速度センサである。この角速度センサ130は、内部にピッチング、ヨーイングの2軸回転に対し感度軸を持つ角速度センサである。
なお、角速度センサ130は、カメラ100に生ずる振れの角速度だけでなく、撮影者のパンニング操作やチルト操作の角速度も検出可能である。
角速度センサ130をフローティング支持するのは、カメラ100の機構動作に伴う機械的な振動の影響を極力排除するためである。角速度センサ130は、検出した角速度に応じた角速度信号をフィルタ160cに出力する。
振れ補正レンズ駆動部120は、光軸Iに対して垂直な平面内(Y2−Z2平面内)で振れ補正レンズ101を駆動するための駆動力を発生する駆動部(アクチュエータ)である。振れ補正レンズ駆動部120は、電圧ドライバ161が出力する駆動電流によって、不図示のコイルが通電状態になると、Y2軸方向の駆動力を発生して、振れ補正レンズ101を駆動する。
レンズ位置検出部110は、光軸Iに対して垂直な平面内における振れ補正レンズ101の位置を検出する光学的な位置検出部である。レンズ位置検出部110は、振れ補正レンズ101の現在位置をモニタし、A/D変換器(不図示)を介して、振れ補正レンズ101の現在位置に関する情報を防振制御部108にフィードバックする。
レンズCPU106は、鏡筒102側の種々の制御を行う中央処理部である。レンズCPU106は、焦点距離検出部163が出力するパルス信号に基づいて焦点距離を演算したり、被写体距離検出部164が出力するパルス信号に基づいて被写体距離を演算したりする。また、レンズCPU106内には、振れ補正量演算部107と、防振制御部108と、AFレンズ制御部145が設けられている。
レンズCPU106は、鏡筒102とカメラ100との間に設けられたレンズ接点190を介して、カメラCPU109との間で通信が可能である。
レリーズスイッチ191の半押しONに同期してカメラCPU109から振れ補正開始コマンドが、また、半押しOFFに同期して振れ補正停止コマンドがレンズCPU106へ送られる。
また、レンズCPU106は、鏡筒102に設けられている振れ補正スイッチ(SW)103の状態をモニタする。振れ補正スイッチ103がONであれば、振れ補正制御を行い、振れ補正スイッチ103がOFFであれば、カメラ100からの振れ補正開始コマンドは無視して振れ補正を行わない。
振れ補正量演算部107は、フィルタ160cの出力信号を、鏡筒102を目標位置に駆動するための目標速度情報に変換する部分である。
振れ補正量演算部107には、防振制御部108と、フィルタ160cと、EEPROM162と、焦点距離検出部163と、被写体距離検出部164とが接続されている。AFレンズ制御部145は、被写体距離検出部164の出力値を用いて、AFレンズ140のX2軸(光軸I)方向への駆動量を演算し、その演算結果をAFレンズ電圧ドライバ172へ出力する。
AFレンズ140は、超音波モータやステッピングモータを駆動源とするAFレンズ駆動部141によって光軸方向に駆動可能である。AFレンズ電圧ドライバ172は、AFレンズ駆動部141を駆動制御する電圧を発生する。
振れ補正量演算部107は、角速度センサ130からフィルタ160cを介して出力された出力信号(アナログ信号)をA/D変換により量子化して取り込む。そして、焦点距離検出部163から得た焦点距離情報、被写体距離検出部164から得た被写体距離情報及びEEPROM162に書き込まれたレンズ固有の情報を基に、振れ補正レンズ101の目標駆動速度に変換する。振れ補正量演算部107が行う目標駆動位置への変換方法(演算方法)については、後に詳細に説明する。振れ補正量演算部107により演算された目標駆動速度の情報である目標速度信号は、防振制御部108に出力される。
防振制御部108は、振れ補正レンズ駆動部120を制御し、振れ補正レンズ101が目標速度の情報通りに駆動されるように追従制御を行う部分である。防振制御部108は、レンズ位置検出装置110が出力する位置検出信号(アナログ信号)をデジタル信号に変換して取り込む。防振制御部108への入力部は、振れ補正量演算部107の出力である振れ補正レンズ101の目標速度に変換した目標速度情報であり、また、もう一つの入力部は、レンズ位置検出部110によって得られた振れ補正レンズ101の位置情報である。
防振制御部108は、振れ補正レンズ101の目標駆動速度と実際の速度情報の偏差を用いて速度制御を行う。防振制御部108は、これら目標速度、振れ補正レンズ101の速度情報などに基づいて駆動信号を演算し、このデジタル駆動信号を電圧ドライバ161に出力する。
または、防振制御部108における制御としては、公知であるPID制御を用いても良い。振れ補正レンズ101の目標位置情報とレンズ位置情報の偏差を用いてPID制御を行う。そして、防振制御部108は、これら目標位置情報、振れ補正レンズ101の位置情報などに基づいて駆動信号を演算し、このデジタル駆動信号を電圧ドライバ161に出力する。
フィルタ160cは、角速度センサ130の出力信号から所定の周波数成分を除去するフィルタである。フィルタ160cは、高域周波数帯域に含まれるノイズ成分及びDC成分をカットする。フィルタ160cは、所定の周波数成分を除去した後の角速度信号をA/D変換した後に振れ補正量演算部107に出力する。
電圧ドライバ161は、入力された駆動信号(駆動電圧)に応じて、振れ補正レンズ駆動部120に電力を供給するドライバである。電圧ドライバ161は、駆動信号に対し、スイッチングを行い、振れ補正レンズ駆動部120に電圧を印加し、振れ補正レンズ駆動部120の駆動を行う。
EEPROM162は、鏡筒102に関する種々の固有情報であるレンズデータや、被写体距離検出部164が出力するパルス信号を物理量に変換するための係数、被写体移動速度の初期値などを格納する不揮発性の記憶部である。
焦点距離検出部163は、焦点距離を検出するズームエンコーダである。焦点距離検出部163は、焦点距離値に応じたパルス信号を振れ補正量演算部107に出力する。
被写体距離検出部164は、被写体までの距離を検出するためのフォーカシングエンコーダである。被写体距離検出部164は、AFレンズ140の位置を検出し、その位置に応じたパルス信号を振れ補正量演算部107に出力する。
カメラCPU109は、カメラ全体の種々の制御を行う中央処理部である。カメラCPU109は、レリーズスイッチ191のON動作に基づいて、振れ補正開始コマンドをレンズCPU106に送信する。また、レリーズスイッチ191のOFF動作に基づいて、振れ補正停止コマンドをレンズCPU106に送信したり、その他各種の処理を行う。カメラCPU109には、レリーズスイッチ191の情報が入力され、レリーズスイッチ191が半押し、又は、全押しされたことを検出することができる。
レリーズスイッチ191は、図示しないレリーズボタンの半押し動作を検出して、一連の撮影準備動作を開始させ、レリーズボタンの全押し動作を検出して、撮影動作を開始させるスイッチである。
表示部257はカメラ100の背面に取り付けられており、使用者は表示部257での表示を直接観察できるようになっている。
表示部257を、有機EL空間変調素子や液晶空間変調素子、微粒子の電気泳動を利用した空間変調素子などで構成すれば、消費電力を小さくでき、かつ表示部257の薄型化を図ることができる。これにより、カメラ100の省電力化および小型化を図ることができる。
また表示部257は、図3のカメラ100の背面図に示したように、撮影画像以外にも、後述するように、インターネット1と接続して撮影対象に応じたパンニング判定閾値を計算するために、撮影対象を選択するための情報が表示される。
図2に戻って、撮像素子252は、具体的には、増幅型固体撮像素子の1つであるCMOSプロセスコンパチブルのセンサ(以降CMOSセンサと略す)である。CMOSセンサの特長の1つに、エリアセンサ部のMOSトランジスタと撮像装置駆動回路、AD変換回路、画像処理回路といった周辺回路を同一工程で形成できるため、マスク枚数、プロセス工程がCCDセンサと比較して大幅に削減できる。また、任意の画素へのランダムアクセスが可能といった特長も有し、ディスプレイ用に間引いた読み出しが容易であって、表示部257において高い表示レートでリアルタイム表示が行える。
撮像素子252は、上述した特長を利用し、ディスプレイ画像出力動作(撮像素子252の受光領域のうち一部を間引いた領域での読み出し)および高精彩画像出力動作(全受光領域での読み出し)を行う。
250は可動型のメインミラーであり、撮影光学系からの光束のうち一部を反射させるとともに、残りを透過させる。メインミラー250の屈折率はおよそ1.5であり、厚さが0.5mmである。
メインミラー250の背後(像面側)には可動型のサブミラー251が設けられ、メインミラー250を透過した光束のうち光軸Iに近い光束を反射させて焦点検出部253に導いている。サブミラー251は不図示のメインミラー250の保持部材に設けられた回転軸を中心に回転し、メインミラー250の動きに連動して移動する。
なお焦点検出部253は、サブミラー251からの光束を受光して位相差検出方式による焦点検出を行う。
191は2段階で押圧操作されるレリーズボタンであり、半押し操作(SW1のON)で撮影準備動作(測光動作や焦点調節動作等)が開始され、全押し操作(SW2のON)で撮影動作(撮像素子252から読み出された画像データの記録媒体への記録)が開始される。
また図3にも示したように、192は選択スイッチで、不図示の公知の撮影メニューの項目を選択したり、後述するように、撮影対象を選択したりする時に用いるスイッチである。
193は決定スイッチで、不図示の公知の撮影メニューの決定をしたり、後述するように、撮影対象を選択したりする時に用いるスイッチである。195はカメラ100を起動させるためのメインスイッチである。
260は通信部で、公知の無線や有線の通信を行うものであり、図1に示したように、カメラ100から直接、もしくは接続機器200を介してインターネット1と接続する。そして、インターネット1にある各種情報を取り込んだり、カメラ100から撮影画像等の情報を送信したりする時に用いる。通信部260は、本発明の情報受信手段に相当するものである。
270はメモリで、撮影画像の一時的な保存だけでなく、インターネット1より入手した撮影対象毎の被写体移動速度等を記録しておくものである。
280はGPSで、GPS280により公知の技術によってカメラ100の現在位置(緯度及び経度)が分かるようになっている。
図4は、カメラの振れ補正機構の概要を示す図である。
カメラに生ずる振れは、ピッチング、ヨーイング及びローリング運動からなる3自由度の回転運動、X軸、Y軸及びZ軸方向の運動からなる3自由度の並進運動の合計6自由度を有する。現在製品化されている振れ補正機構は、通常、ピッチング及びヨーイング運動からなる2自由度の運動による振れを補正する。
カメラの振れは、角速度センサ130によりモニタされる。角速度センサ130は、通常、回転により生じるコリオリ力を検出する圧電振動式角速度センサを用いる。角速度センサ130には、図中Z軸周りの回転であるピッチング振れの検出と、図中Y軸周りの回転であるヨーイング振れの検出を行う2つの検出部が内蔵されている。
振れ補正を行う際には、この角速度センサ130の出力をレンズCPU106に送り、振れ補正レンズ101の目標駆動位置を算出する。目標駆動位置に振れ補正レンズ101を駆動するために電圧ドライバ161x,161yに指示信号を送り、電圧ドライバ161x,161yは、この指示信号に従い、振れ補正レンズ駆動部120x,120yの駆動を行う。
振れ補正レンズ101の位置は、レンズ位置検出部110x,110yでモニタし、レンズCPU106にフィードバックする。レンズCPU106では、目標駆動位置と振れ補正レンズ101の位置から振れ補正レンズ101の制御を行う。
このように振れに応じて振れ補正レンズ101を駆動することにより手振れに起因する像振れ補正を行うことが可能となる。
以下、フローチャートを用いて、本実施例1に関する撮影前及び撮影時の動作について説明する。
《撮影前準備のフローチャートの説明》
図5は、本実施例1における撮影前準備に関する動作の流れを示すフローチャートである。以下、図5に沿って撮影前準備の動作の説明を行う。
ステップ(以下、Sとする)1010では、カメラ100は通信部260を用いて直接、もしくは接続機器200を介してインターネット1に接続する。
S1020では、カメラ100がインターネット1に接続したかどうか、確認する。カメラ100がインターネット1に接続したら、S1030に進む。
S1030では、後述する、撮影対象に応じたパンニング閾値を決定するための被写体移動速度情報等を入手するために、インターネット1にて撮影者が必要な撮影情報を選択出来るよう、情報要求の送信をカメラ100が行う。
具体的な例としては、様々な撮影情報(撮影者が指定した日に行われている競技名や競技に応じた被写体移動速度等の情報で、詳細は後述する)をデータベース化しているサイト(サーバーコンピュータ)にアクセスするように、カメラ100からインターネット1にある該サイトにアクセスする。
S1040では、該サイトにアクセス出来たかどうかの確認とともに、そのサイトにアクセスした日時以降に行われる各種競技の実施日及び競技名等のデータがカメラ100に送信される。
S1050では、インターネット1から送信された撮影情報をメモリ270に保存する。
S1060では、メモリ270に保存された撮影情報のうち、各競技が行われる日付一覧が図6(a)に示したように表示部257に表示される。
S1070では、撮影者が表示部257に表示された日付一覧から撮影しようとしている日時を選択スイッチ192と決定スイッチ193にて指定されたかどうかの確認が行われる。
具体的には、撮影者は表示部257に表示された日付一覧から選択スイッチ192を操作して撮影を予定している日時を選ぶ。図6(a)に示した日付の内、先頭にある20XX年09月18日がハイライト表示されていたのが、選択スイッチ192を図3中下方向に操作すると、その下にある20XX年09月19日がハイライト表示されるようになる。これにより、撮影者は候補日としてどの日付が選択されているのかが、視覚的にも分かる。
S1080では、S1070で選択/決定された日付に従い、メモリ270にアクセスして、その日付に行われるイベントや競技を検索する。
S1090では、S1080での検索結果をリスト化して、図6(b)に示したように表示する。
S1100では、撮影者が表示部257に表示されたイベント/競技一覧から撮影しようとしているイベント/競技を選択スイッチ192と決定スイッチ193にて指定されたかどうかの確認が行われる。
具体的には、撮影者は表示部257に表示されたイベント/競技一覧から選択スイッチ192を操作して撮影を予定しているイベント/競技を選ぶ。図6(b)に示したイベント/競技の内、先頭にある「日本○○水泳競技会」がハイライト表示されていたのが、選択スイッチ192を図3中下方向に操作すると、その下にある「サッカー■■リーグ」がハイライト表示されるようになる。これにより、撮影者は候補イベント/競技としてどのイベント/競技が選択されているのかが、視覚的にも分かる。
S1110では、S1100で選択/決定されたイベント/競技に従い、メモリ270にアクセスして、そのイベント/競技に行われる種目と、その種目に出場する選手を検索し、その検索結果をリスト化して、図6(c)に示したように表示部257に表示される。
またS1100で選択/決定したイベント/競技が例えば「サッカー■■リーグ」だった場合は、その日に行われる試合の一覧やその試合に出場予定の選手の一覧が図6(d)に示したように表示部257に表示される。
S1120では、撮影者が表示部257に表示された種目/選手一覧から撮影しようとしている種目/選手を選択スイッチ192と決定スイッチ193にて指定されたかどうかの確認が行われる。
なお、S1120では、種目のみの選択/決定が行われただけでも次のS1130に進む事が出来る(その理由については後述する)。
S1130では、インターネット1に接続し、S1100及びS1120にて選択/決定されたイベント/競技及び種目/選手に応じた、撮影情報である被写体移動速度を入手し、メモリ270に保存する。
具体的には、インターネット1上には、例えば選択したイベント/競技及び種目では「100mを10.0秒で走る」という記録があるので、被写体移動速度は10m/secとなるから、選択/決定されたイベント/競技及び種目/選手のデータと共に、被写体移動速度情報として、10m/secというデータが、カメラ100のメモリ270に保存される。
以上で、S1100及びS1120にて選択/決定されたイベント/競技及び種目/選手に応じた撮影前準備は完了したので、S1140では表示部257に撮影準備が完了した旨の表示を行う。
S1150では、他に撮影情報を追加する必要があるのか、表示部257にその旨を表示するなどして撮影者に確認する。撮影情報の追加がある場合はS1010に戻って一連の操作を行う。追加がない場合はS1160に進む。
S1160では、S1050でメモリ270に保存した様々な撮影情報のうち、S1130にて保存した以外の撮影情報をメモリ270から削除する。それにより、一連の撮影前準備が終了する。
続いて、前述の撮影前準備にて入手した撮影情報を用いた撮影時の動作について説明する。
《撮影時のフローチャートの説明》
図7は、実施例1における撮影時の動作の流れを示すフローチャートである。以下、図7に沿って撮影時の動作の説明を行う。
S1210では、メインスイッチ195がONになっているかどうかの判定がカメラCPU109によって行われる。メインスイッチ195がOFFのままであれば、カメラ100はスリープ状態のままであり、メインスイッチ195がONになればS1220に進む。
S1220では、メモリ270に保存された撮影情報である被写体移動速度情報データをカメラCPU109内にある不図示のRAM等に呼び出す。
S1230では、S1220で呼び出した被写体移動速度情報データが複数あるのかどうかの確認を行う。複数有る場合はS1240に進んで表示部257にメモリ270に記憶されていた被写体移動速度データの一覧を表示して、撮影者がどの被写体移動速度情報データを用いるのかが選択出来るようにする。
S1230で、S1220で呼び出した被写体移動速度情報データが一つしかない場合は、S1300に進む。
S1250では、S1240で表示された複数の被写体移動速度情報データのどれが選ばれたのかを確認する。どれか一つの被写体移動速度情報データが選択されたらS1300に進む。
S1300では、S1230もしくはS1250で選択された一つの被写体移動速度情報データの詳細(日付、イベント/競技名、種目、選手名等)が表示257に表示される。
S1310では、レリーズスイッチ191が半押し動作が行われたかどうかの判断を行う。YESならばS1320に進む。
S1320では、S1300で表示した被写体移動速度情報データの表示をOFFし、その代わりに、シャッタ秒時や絞り値等の撮影条件を表示する。
S1330では、被写体の明るさを測定する(測光)と共に、焦点検出部253に焦点検出動作を行わせる。
S1340では、焦点距離検出部163から得られる焦点距離の数値の読込と、被写体距離検出部164から得られる被写体距離の数値の読込を行う。
S1350では、S1220もしくはS1250でカメラCPU109の不図示のRAM等に保存された被写体移動速度情報(例えば10m/sec)と、S1340で読み込まれた鏡筒102の焦点距離及び被写体距離から被写体を追従して撮影する、パンニング撮影時の鏡筒102及びカメラ100のパンニング操作速度(以下、パンニング速度とする)を計算する。そして、その結果をその競技でのパンニング判定閾値、言い換えれば被写体追従判定閾値とし、レンズ接点190を介してレンズCPU106内の不図示のRAM等に記憶させる。
S1360では、S1350で記憶したパンニング判定閾値に基づいて、SW2オンまでの振れ補正制御を行う。具体的には、S1350で記憶したパンニング判定閾値よりも小さな値でカメラが振れたことが角速度センサ130で検出された場合には、撮影者自身の手振れによる像振れが見えないように振れ補正を行う。
しかしながら、S1350で記憶したパンニング判定閾値よりも大きな値で撮影者がパンニング動作を行った場合には、パンニング動作を撮影者自身の手振れと勘違いして振れ補正を行って被写体追従遅れが発生しないように、パンニング方向の振れ補正は行わずに、パンニング動作方向と直交する方向は振れ補正を行い、撮影者の手振れによる像振れが見えないようにしている。
また、パンニング動作の検出も選択したイベント/競技及び種目/選手に応じてパンニング判定閾値を決定しているので、従来の固定されたパンニング判定閾値で検出するよりも正確に素早く検出する事が可能になるので、従来不具合であった揺り戻し量も小さくする事が可能になる。
S1370ではレリーズスイッチ191が全部押し込まれたかの判断を行う。YESならばS1380に進む。
S1380では、公知の撮影動作を行うと共に、撮像素子252に結像した被写体像を、公知の画像処理技術を経て処理した記録画像としてメモリ270に記録する。
なお撮影時には必要に応じて、振れ補正レンズ101を駆動して撮影者の手振れによる像振れを補正して撮影を行う。
S1390では、S1380で記録した被写体の記録画像を表示部257に表示する。
S1400では、メインスイッチ195がOFFになったかどうかの判断を行う。Noの場合はS1310に戻って一連の撮影動作を行う。
S1400でYESの場合は、撮影動作を終了する。
以上説明したように、本実施例1では、撮影前にインターネット1から撮影被写体に関する情報(被写体移動速度情報)を入手し、それに応じてパンニング判定閾値(被写体追従判定閾値)を設定する事が出来るので、撮影対象毎にパンニング判定閾値を変更する事が可能になった。
これにより、どのような撮影対象であっても、揺り戻し現象や追従遅れという不具合を抑制もしくは発生しないようにする事が出来た。
なお、本実施例1では、パンニング判定閾値としてパンニング速度を取り上げているが、これとともに、パンニング速度の継続時間も加味してパンニング判定閾値とすることができる。そして、その継続時間も変更する事によって、さらに揺り戻し現象や追従遅れという不具合を抑制もしくは発生しないようにする事が出来る。
これは、通常は撮影者自身の手振れと区別するために、パンニング速度の大きさと共に、その大きさの継続時間もパンニング判定の閾値としているからである。そのパンニング判定閾値として、EEPROM162には被写体移動速度の初期値に相当するパンニング速度と共に、その継続時間も初期値として記憶されている。
例えば、撮影者がパンニング動作を行った時に、EEPROM162に記憶されているパンニング速度(初期値)以上の速さでのパンニング動作を所定時間(例えば100msec)経過していたら、パンニング動作をしていると判定している。これに対して、S1350でパンニング判定閾値を決定する際に、合わせてその継続時間を初期値の100msecから例えば20msec等に短くする事によって、初期設定よりも撮影者のパンニング動作検出を早くする事が出来る。したがって、どのような撮影対象であっても、揺り戻し現象や追従遅れという不具合を抑制もしくは発生しないようにする事が出来るようになるのである。
実施例1で紹介した内容に加えて、公知の被写体認識技術を加える事で、さらに被写体毎に対応したパンニング判定閾値を設定する事が出来るので、その説明を以下に行う。
図8は、実施例2における、撮影時の動作の流れを示すフローチャートである。実施例2の構成は、図1−図4に示される構成と同様のものである。以下、図8に沿って撮影前準備の動作の説明を行う。なお、実施例1と同様な動作に関しては、その説明を省略する。実施例1で説明した、撮影前準備としてインターネット1から入手する撮影情報として、撮影者が選択/決定した選手のデータに以下に説明する被写体認識に必要なデータも付加されている。
また、カメラCPU109には公知の被写体認識が可能な回路(不図示)が接続されているので、撮像素子252に結像した被写体像から生成した撮影画像から被写体を認識する事が可能になっている。
S1510からS1640まではS1210からS1340と同様なので、その説明を省略する。
S1650では、合焦している被写体の認識を行う。これは公知の技術で撮像素子252に結像した被写体を含む画像から合焦している被写体を主被写体として認識するものである。
S1660では、S1650で認識した被写体がインターネット1から入手した撮影情報のデータと一致しているかどうかの判定を行う。一致していればS1670に進み、一致していなければ、S1690に進む。
具体的には、インターネット1から入手してメモリ270に保存した撮影情報(被写体情報)とS1650にて認識した被写体が同じかどうかの判定が行われる。
S1670では、S1660で一致したメモリ270に保存されていた撮影情報とS1520もしくはS1550で選択された一つの被写体移動速度情報データと比較して、以下に説明するS1700でのパンニング判定閾値計算に用いる被写体移動速度の値を変更する必要があるかどうかの判定が行われる。
具体的には、S1660で照合して一致した被写体(選手)とS1520もしくはS1550で選択した被写体(選手)が同じかどうかの判定が行われる。
S1660で照合して一致した被写体(選手)とS1520もしくはS1550で選択した被写体(選手)が同じであれば、被写体移動速度を変更する必要がないので、S1700に進む。
S1660で照合して一致した被写体(選手)とS1520もしくはS1550で選択した被写体(選手)が同じでない場合は、被写体移動速度を変更する必要がある。そこで、S1680に進み、カメラCPU109の不図示のRAM等に保存された被写体移動速度情報を消去し、S1660で一致した被写体の被写体移動速度情報を新たにカメラCPU109の不図示のRAMに保存してS1700に進む。
S1690では、S1660でメモリ270には該当する被写体がない事が分かったので、被写体移動速度として、例えばEEPROM162に記憶されている初期値を呼び出して、カメラCPU109の不図示のRAMに保存する。
S1700からS1750は、S1350からS1400と同じ動作になるので、説明を省略する。
以上説明したように、実施例2では、実施例1で説明した効果に加えて、合焦している被写体の認識結果に応じてパンニング判定閾値を変更する事が可能になる。これにより、事前にメモリ270に被写体移動速度情報を保存してあれば、被写体を変更するたびにインターネット1に接続して被写体移動速度情報を入手する必要がないので、撮影時の利便性が向上する。
実施例1で紹介した内容に加えて、インターネット1にあるデータベース上に保存されたイベント/競技のタイムスケジュールを利用する事で、被写体毎に対応したパンニング判定閾値を設定する事が出来るとともに、撮影時の利便性が向上する事が出来るので、その説明を以下に行う。
図9は、実施例3における、撮影時の動作の流れを示すフローチャートである。実施例3の構成は、図1−図4に示される構成と同様のものである。以下、図9に沿って撮影前準備の動作の説明を行う。なお、実施例1と同様な動作に関しては、その説明を省略する。実施例1で説明した、撮影前準備としてインターネット1から入手する撮影情報として、撮影者が選択/決定したイベント/競技及び種目のデータに以下に説明する動作に必要なデータとしてイベント/競技及び種目のタイムスケジュールも付加されている。よって、メモリ270に保存されているデータにはイベント/競技及び種目のタイムスケジュールも含まれる事となる。
S1810及びS1820はS1210及びS1220と同様なので、その説明を省略する。
S1830では、カメラCPU109の不図示の時計を用いてS1830の動作時点の時刻を確認する。
S1840では、S1830で確認した現在時刻と、カメラCPU109の不図示のRAMやメモリ270に保存されたタイムスケジュールとを照合する。
S1850では、S1840にて照合した現在時刻とタイムスケジュールとが一致しているかどうかの判定が行われる。一致したデータがない場合は、実施例1で説明した撮影前準備のフローチャート、図5のS1010に戻る。そして、撮影者が選択したイベント/競技において、インターネット1から現在時刻に一致した種目及び出場予定選手等の撮影情報を入手する(もしくは、S1020以下に説明したように、日付の指定から動作を行っても良い)。
具体的には、例えば、陸上競技会の撮影を行う場合、4×100mリレーを撮影する場合と競歩を撮影する場合では被写体移動速度が異なるので被写体移動速度情報データを更新する必要がある。しかし、競技が行われる時刻が異なっていれば、そのタイムテーブルに沿って被写体移動速度情報データを設定する事が可能になる。
S1850で一致したデータがある場合は、S1860に進む。
S1860では、S1850にて一致したデータに基づいて、被写体移動速度データを設定する。
S1910からS2000はS1310からS1400と同様なので、その説明を省略する。
以上説明したように、実施例3では、実施例1で説明した効果に加えて、撮影時の現在時刻に合わせてパンニング判定閾値を変更する事が可能になる。これにより、事前にメモリ270に被写体移動速度情報を保存してあれば、被写体を変更するたびにインターネット1に接続して被写体移動速度情報を入手する必要がないので、撮影時の利便性が向上する。
実施例1で紹介した内容に加えて、公知の音声認識技術を加える事で、さらに被写体毎に対応したパンニング判定閾値を設定する事が出来るので、その説明を以下に行う。
図10は、実施例4における、撮影時の動作の流れを示すフローチャートである。実施例4の構成は、図1−図4に示される構成と同様のものである。以下、図10に沿って撮影前準備の動作の説明を行う。実施例1と同様な動作に関しては、その説明を省略する。
なお、カメラ100はマイク(不図示)を有すると共に、カメラCPU109には公知の音声認識が可能な回路(不図示)が接続されているので、撮影しているイベント/競技が行われている会場内に流れた音声を認識する事が可能になっている。
S2110及びS2120はS1210及びS1220と同様なので、その説明を省略する。
S2130では、イベント/競技が行われている会場内に種目紹介等のアナウンス(音声)が流れていないかどうかの判定が行われる。音声が流れていない場合はS2200に進み、音声が流れている場合は、S2140に進む。
S2140では、会場内に流れているアナウンスから、どの種目が行われるのか、またどのような選手が出場するのかを判断する。
S2150では、S2140にて照合して一致した種目や選手のデータとカメラCPU109の不図示のRAMやメモリ270に保存された撮影情報との照合を行う。一致していればS2160に進み、一致していなければ、S2180に進む。
具体的には、インターネット1から入手してメモリ270に保存した撮影情報(被写体情報)とS2140にて認識した被写体が同じかどうかの判定が行われる。
S2160では、S2150で一致したメモリ270に保存されていた撮影情報とS2120で選択された一つの被写体移動速度情報データと比較して、パンニング判定閾値計算に用いる被写体移動速度の値を変更する必要があるかどうかの判定が行われる。
具体的には、S2150で照合して一致した種目や選手とS2120で選択した種目と選手が同じかどうかの判定が行われる。
S2160で照合して一致した種目や選手とS2120で選択した種目や選手が同じであれば、被写体移動速度を変更する必要がないので、S2200に進む。
S2160で照合して一致した種目や選手とS2120で選択した種目や選手が同じでない場合は、被写体移動速度を変更する必要があるので、S2170に進む。カメラCPU109の不図示のRAM等に保存された被写体移動速度情報を消去し、S2160で一致した種目や選手の被写体移動速度情報を新たにカメラCPU109の不図示のRAMに保存してS2200に進む。
S2180では、S2150でメモリ270には該当する被写体がない事が分かったので、被写体移動速度として、例えばEEPROM162に記憶されている初期値を呼び出して、カメラCPU109の不図示のRAMに保存する。
S2200では、S2120もしくはS2170あるいはS2180にて決定した被写体移動速度情報データを、表示部257に表示する。
S2210からS2300は、S1310からS1400と同じ動作になるので、説明を省略する。
以上説明したように、実施例4では、実施例1で説明した効果に加えて、撮影している会場等に流れた種目や選手紹介のアナウンスに合わせて、パンニング判定閾値を変更する事が可能になる。つまり、CPU109(音声認識手段)の認識結果に応じてパンニング判定閾値を変更する事が可能になる。これにより、事前にメモリ270に被写体移動速度情報を保存してあれば、被写体を変更するたびにインターネット1に接続して被写体移動速度情報を入手する必要がないので、撮影時の利便性が向上する。
実施例1で紹介した内容に加えて、GPS280を用いた公知の現在位置認識技術を加える事で、さらに被写体毎に対応したパンニング判定閾値を設定する事が出来るので、その説明を以下に行う。
図11は、実施例5における、撮影時の動作の流れを示すフローチャートである。実施例5の構成は、図1−図4に示される構成と同様のものである。以下、図11に沿って撮影前準備の動作の説明を行う。なお、実施例1と同様な動作に関しては、その説明を省略する。実施例1で説明した、撮影前準備としてインターネット1から入手する撮影情報として、撮影者が選択/決定したイベント/競技及び種目のデータに以下に説明する動作に必要なデータとしてイベント/競技及び種目が行われる場所(緯度経度)のデータも付加されている。よって、メモリ270に保存されているデータにはイベント/競技及び種目が行われる場所(緯度経度)も含まれる事となる。
S2410及びS2420はS1210及びS1220と同様なので、その説明を省略する。
S2430では、GPS280を用いてS2430の動作時点の撮影者の現在位置(緯度経度)を検出する。これにより、撮影者が現在どこにいるか(イベントや競技が行われている会場の場所)が分かる。
S2440では、S2430で確認した現在位置と、カメラCPU109の不図示のRAMやメモリ270に保存されたイベント/競技及び種目が行われる場所とを照合する。
S2450では、S2440にて照合したイベント/競技及び種目が行われる場所が一致しているかどうかの判定が行われる。一致したデータがない場合は、実施例1で説明した撮影前準備のフローチャート、図5のS1010に戻る。そして、撮影者が選択したイベント/競技において、インターネット1から現在位置に一致した種目及び出場予定選手等の撮影情報を入手する(もしくは、S1020以下に説明したように、日付の指定から動作を行っても良い)。
S2450で一致したデータがある場合は、S2460に進む。
具体的には、例えばF1等のカーレースで撮影を行う場合、Rが大きいコーナーとヘアピンのようにRが小さいコーナーではレーシングカーの速度が異なる。よって、撮影者が撮影しようとしている場所がRの大きいコーナーなのかヘアピンのようなRの小さなコーナーなのかがGPS280を用いれば分かるので、GPS280による検出結果の現在位置情報に基づいて、被写体移動速度情報データを設定する事が可能になる。GPS280は、本発明の現在位置検出手段に相当する。
S2460では、S2450にて一致したデータに基づいて、被写体移動速度データを設定する。
S2510からS2600はS1310からS1400と同様なので、その説明を省略する。
以上説明したように、実施例5では、実施例1で説明した効果に加えて、撮影時の現在位置に合わせてパンニング判定閾値を変更する事が可能になる。これにより、事前にメモリ270に被写体移動速度情報を保存してあれば、同じイベント/競技を撮影する場合でも種目や撮影位置を変更するたびにインターネット1に接続して被写体移動速度情報を入手する必要がないので、撮影時の利便性が向上する。
実施例1ないし5で紹介した被写体移動速度情報データは、その日の撮影が終了したら、初期値に戻す方が望ましい。それは、異なる被写体移動速度情報データを用いると、撮影時の揺り戻しや追従遅れの不具合が発生する虞があるからである。そこで、被写体移動速度情報データを初期値に戻すリセット動作に関する説明を以下に行う。
図12は、実施例6における、撮影時及び撮影終了後の動作の流れを示すフローチャートである。実施例6の構成は、図1−図4に示される構成と同様のものである。以下、図12に沿って撮影前準備の動作の説明を行う。なお、実施例1ないし5と同様な動作に関しては、その説明を省略する。また、カメラCPU109には不図示のタイマーを有している。
S2710からS2740はS1370からS1400(図7)と同様なので、その説明を省略する。
S2750では、レリーズスイッチ191が半押し動作が行われたかどうかの判断を行う。YESならば実施例1で説明した図7のS1310に進む。Noならば、S2760に進む。
S2760では、S2750のレリーズスイッチ191が半押し動作が行われたかどうかの判断とほぼ同じタイミングで、カメラCPU109内の不図示のタイマーがカウントを始める。
S2770では、タイマーのカウントTが所定値T1を超えたかどうかの判断が行われる。カウントTが所定値T1を超えたら、S2780に進む。
S2780では、カメラ100はスリープ状態となる。これにより、表示部257に表示されていた撮影情報等は、その表示がOFFとなる。
S2790では、カメラ100がスリープ中にレリーズスイッチ191の半押し動作が行われたかどうかの判断を行う。YESならば、S2800に進む。なお、ここではレリーズスイッチ191が操作された場合にS2800に進むとしているが、これに限定せず、例えばカメラ100が有する再生ボタン等の各種操作部材が操作された場合にS2800に進んでも良い。
S2800では、GPS280を用いてS2800の動作時点の撮影者の位置(緯度経度)を確認する。これにより、撮影者が現在どこにいるか(イベントや競技が行われている会場なのか、それとも違う場所にいるか)が分かる。
S2810では、カメラCPU109の不図示の時計を用いてS2810の動作時点の時刻を確認する。
S2820では、S2800で確認した現在位置とS2810で確認した現在時刻とが、カメラCPU109の不図示のRAMやメモリ270に保存されたイベント/競技及び種目が行われる場所及びタイムスケジュールとを照合する。
S2830では、S2820にて照合したイベント/競技及び種目が行われる場所と撮影者の現在位置が一致しているかどうかの判定が行われる。つまり、撮影者がイベント/競技及び種目が行われる場所から移動したのかどうかの判断が行われる。
S2830で一致したデータがない(Noの)場合は、S2840に進み、一致したデータがある(Yesの)場合は、S2850に進む。
S2840では、S2820にて照合したイベント/競技及び種目が行われるタイムテーブルと現在時刻から、競技終了時刻を過ぎたのかどうかの判定が行われる。
S2840で競技終了時刻が過ぎていない(Noの)場合は、撮影者はまだイベント/競技及び種目が行われる場所におり、また、まだ撮影対象(競技や種目、選手)があるという事なので、撮影を続行するということであるから、S2880に進む。
S2840で競技終了時刻が過ぎた(Yesの)場合は、S2850に進む。
S2850に進むのは、S2830によって撮影者が撮影していたイベント/競技及び種目が行われた場所から移動したか、あるいはS2840によって、移動していなくても、撮影対象(競技や種目、選手)はない、という事である。それなので、カメラCPU109の不図示のRAMやメモリ270に保存された撮影情報やパンニング判定閾値をリセットする(初期値に戻す)必要がある。よって、S2850では、その旨の表示を表示部257にする。この時、表示部257には、選択スイッチ192と決定スイッチ193にて撮影者の意思を確認出来るような表示がされているのが望ましい。
S2860では、撮影者が撮影情報やパンニング判定閾値をリセットしても良いのかどうかの判定を行う。撮影情報やパンニング判定閾値をリセットしても良い場合はS2870に進む。撮影情報やパンニング判定閾値をリセットしない場合は、S2880に進む。
S2870では、カメラCPU109の不図示のRAMやメモリ270に保存された被写体移動速度情報を消去し、被写体移動速度として、例えばEEPROM162に記憶されている初期値を呼び出して、カメラCPU109の不図示のRAMに保存する。
S2880からS2920はS1330からS1370までと同じなので、その説明を省略する。
以上説明したように、実施例6では、実施例1で説明した効果に加えて、カメラ100のスリープ状態が解除された時の撮影者の現在位置や現在時刻に合わせてパンニング判定閾値を初期化する事が可能になる。したがって、撮影時の利便性が向上する。
なお、上記説明で撮影した場所から移動したり、競技が終了したりしていた場合は、パンニング判定閾値を初期値に戻していたが、これに限定せず、例えば、場所も移動し、かつ、競技が終了している場合は、インターネット1に接続して、その場所と時刻に一致した撮影情報を入手する、という事を行っても良い。
実施例1ないし5で紹介した被写体移動速度情報データが、実際の撮影時の被写体移動速度と異なる場合は、情報データを更新したり初期値に戻したりする方が望ましい。そこで、実際の被写体の移動速度に応じて、被写体移動速度情報データを更新したり、初期値に戻したりする動作に関する説明を以下に行う。
図13は、実施例7における撮影時の動作の流れを示すフローチャートである。実施例7の構成は、図1−図4に示される構成と同様のものである。以下、図13に沿って撮影前準備の動作の説明を行う。なお、実施例1ないし5と同様な動作に関しては、その説明を省略する。
S3010からS3030はS1210、S1220及びS1300と同様なので、その説明を省略する。
S3040では、撮影者が被写体追従のためにパンニング動作をしているのかどうかの判断が行われる。これは、鏡筒102内に設けた角速度センサ130の出力(例えば、大きさとその継続時間)から、レンズCPU106がパンニング動作をしているかどうかの判定を行う。
パンニング動作を行っている場合はS3050に進み、パンニング動作を行っていない場合は、S3210に進む。
S3050では、角速度センサ130の出力から、実際に撮影者がパンニング操作を行っている時のパンニング速度(被写体追従速度)を計算する。このステップを実行するCPU109は、本発明の追従速度算出手段に相当する。
S3060では、S3050で算出したパンニング速度とS3020で呼び出した被写体移動速度との比較を行う。
S3070では、S3060で比較した結果、S3050で算出したパンニング速度とS3020で呼び出した被写体移動速度との差が設定許容値(例えばS3020で呼び出した被写体移動速度の±20%の範囲内)に入っているかどうかの判定を行う。設定許容値内に入っていればS3210に進み、設定許容値を超えている場合はS3080に進む。
S3080では、表示部257に撮影者が撮影前に入手した被写体移動速度情報と、これから撮影を行う、実際の被写体の移動速度情報とが異なる旨の表示を行う。この時、表示部257には、選択スイッチ192と決定スイッチ193にて撮影者の意思を確認出来るような表示がされているのが望ましい。
S3090では、撮影者が撮影情報やパンニング判定閾値をリセットしても良いのかどうかの判定を行う。撮影情報やパンニング判定閾値をリセットしても良い場合(Yesの場合)はS3100に進む。撮影情報やパンニング判定閾値をリセットしない場合(Noの場合)は、S3210に進む。
S3100では、カメラCPU109の不図示のRAMやメモリ270に保存された被写体移動速度情報を消去し、被写体移動速度として、例えばEEPROM162に記憶されている初期値を呼び出して良いかどうかの判定を行う。初期値に戻しても良い場合(Yesの場合)は、EEPROM162に記憶されている初期値を呼び出してカメラCPU109の不図示のRAMに保存してS3210に進む。初期値以外の被写体移動速度情報入手を撮影者が望んでいる場合(Noの場合)は、S3110に進む。
S3110では、カメラ100は直接通信部260から、あるいは接続機器200を介してインターネット1に接続する。
S3210では、インターネット1から撮影者が希望する被写体移動速度情報あるいはインターネット1上で更新された被写体移動速度情報を再取得する。なお、被写体移動速度情報の取得に関して、実施例1の説明に用いた図5のS1020からS1130と同じなので、その説明は省略する。
S3130では、S3120にて取得した被写体移動速度情報等の撮影情報を表示部257に表示する。
S3210からS3400はS1310からS1400までと同じなので、その説明を省略する。
以上説明したように、実施例7では、実施例1で説明した効果に加えて、実際の被写体の移動速度に応じて、撮影前準備で入手していた被写体移動速度情報データを更新したり、初期値に戻したりする事が可能になる。したがって、撮影時の利便性が向上する。
実施例1ないし7で紹介した被写体移動速度情報データについて、インターネット1上のデータが更新された場合は、それに合わせてカメラ100のカメラCPU109内にある不図示のRAMやメモリ270に保存されている被写体移動速度情報が自動的に更新される方が望ましい。そこで、インターネット1上のデータ更新に合わせてカメラ100内の被写体移動速度情報データを更新する動作に関する説明を以下に行う。
図14は、実施例8における被写体移動速度情報データ更新の動作の流れを示すフローチャートである。実施例8の構成は、図1−図4に示される構成と同様のものである。以下、図14に沿って撮影前準備の動作の説明を行う。なお、実施例1ないし7と同様な動作に関しては、その説明を省略する。
S3510では、インターネット1は様々な撮影情報がデータベース化されているサイトの撮影情報が更新されていないか、確認をする。
S3520では、S3510での確認結果を更新データリスト(更新案内)としてカメラ100等に送信する。
S3530では、インターネット1に接続可能な状態のカメラ100がS3520でインターネット1からの更新データリストを、通信部260を介して受信すると共に、その結果(更新データリスト)を表示部257に表示する。その表示例を図15(a)に示す。この時、表示部257には、選択スイッチ192と決定スイッチ193にて撮影者の意思(更新データを使うかどうかの表示等)を確認出来るような表示がされているのが望ましい。その表示例を図15(b)に示す。
S3540では、表示部257に表示されている更新データリストを使うかどうかの判断が行われる。撮影者が更新を希望した場合(Yesの場合)は、S3550に進み、更新を希望しない場合(Noの場合)は、表示部257の表示を消去して、このフローを終了する。
S3550では、撮影者が更新を希望した撮影情報(例えば図15(a)で「太字」表示の競技)をインターネット1から再取得する。
S3560では、S3550で取得した撮影情報によってメモリ270(とカメラCPU109内にある不図示のRAM)の撮影情報(被写体移動速度情報等)の更新を行って、このフローを終了する。なお、更新が終了した時に、表示部257に更新が終了した旨の表示を行っても良い。
以上説明したように、実施例8では、実施例1で説明した効果に加えて、インターネット1上のデータ更新に合わせてカメラ100内の被写体移動速度情報データを自動的に更新するする事が可能になる。したがって、撮影時の利便性が向上する。
なお、上記ではインターネット1から撮影情報をメモリ270に保存してから、撮影者は撮影対象の日付やイベント/競技等の選択を行っていたが、これに限定されるものではない。カメラ100がインターネット1に接続した状態で撮影対象の日付やイベント/競技等の選択を行ってから、その撮影情報(被写体移動速度情報等)をメモリ270やボディCPU109内にある不図示のRAMに保存しても同様な効果が得られる事は言うまでもない。
また、カメラ100と鏡筒102が着脱可能であるとしたが、これに限定されず、カメラ100と鏡筒102が一体化しているカメラでも実施例1ないし8までに説明したのと同様な効果が得られる事は言うまでもない。
さらには、撮影者のカメラ100の操作として、パンニング動作(カメラ100を水平方向に振る動作)について説明したが、これに限られず、例えばチルト動作(カメラ100を垂直方向に振る動作)についても同様な効果が得られる事は言うまでもない。したがって、被写体追従判定閾値としてはパンニング判定閾値に限らず、チルティング判定閾値であっても、被写体移動方向の被写体追従判定閾値であっても、良い。