従来、被写体追尾機能を有する撮像装置の構成は、図16に示すようになっている。詳しくは、撮影者自身による不図示のカメラ操作スイッチ(カメラのメインスイッチ及びレリーズスイッチで構成)の状態変化を全体制御CPU216が検出し、その他の各回路への電源供給並びに初期設定を行う。
撮影画面範囲内の被写体像は主撮像光学系218を通して撮像素子(CCD若しくはCMOSセンサ)200上に結像され、撮像素子200からの出力信号がCDS/AGC/AD回路203を介して画素毎に順々に所定のデジタル信号に変換される。ここで、撮像素子200は、全体の駆動タイミングを決定しているタイミングジェネレータ(TG/SSG)202からの信号に基づき、画素毎の水平駆動並びに垂直駆動の為のドライバ回路(DRIVER)201の出力で所定駆動する。そして、画像信号出力を発生する。
上記CDS/AGC/AD回路203の出力信号は補正回路204に入力され、ここで撮像素子200と主撮像光学系218との組み合わせ等で生ずるシェーディング補正が実行されたり、センサ固有のパターンノイズを除去する為の補正が実行されたりする。
補正回路204の出力は、フロントメモリコントローラ205を介してバッファメモリ206へ順々にフレームデータとして記憶され、カメラの連写撮影時の画像が一時的に記憶されていくことになる。尚、図示したようにフロントメモリコントローラ205は、タイミングジェネレータ202と同期して動作するタイミング制御回路207からの信号に基づいて動作することで撮像素子200との同期をとっている。
最低でも1駒以上の撮影が完了した時点で、フロントメモリコントローラ205の制御により、撮影データを記憶しているバッファメモリ206のデータがリアメモリコントローラ208を介してワークメモリ211へ一時的に転送される。尚、このリアメモリコントローラ208は、同様にタイミングジェネレータ202と同期して動作するタイミング制御回路209の信号に基づいて動作する。
上記ワークメモリ211のデータは、同じバスAに繋がっているカラー処理回路212により色補間処理やマトリックス補正等のいわゆる絵作りが実施され、RGB更にはYCrCbの変換処理が行われてその結果が再度ワークメモリ211に記憶される。ワークメモリ211に記憶されたデータは、JPEG処理回路213を介して所定の圧縮フォーマットに基づきデータ圧縮され、その結果がカードコントローラ214を介してカードメモリ215(通常フラッシュメモリ等の不揮発性メモリを使用)に記憶される。
また、逆に撮影済みの画像データを観察する場合には、上記カードメモリ215に圧縮記憶されたデータがJPEG処理回路213を通して通常の撮影画素毎のデータに伸張される。そして、その結果がワークメモリ211へ転送されることで、不図示のモニタ表示部を通して外部表示する事が出来る。
一方、カメラ全体の制御に関しては、全体制御CPU216により、同じバスBに繋がっているインストラクションメモリ217に記憶されているインストラクションコードに従って命令が実行される。そして、レンズ制御回路219を介して主撮像光学系218が駆動制御されると共に、通信I/F210を介して画像に添付する様々な情報がカードメモリ215にデータとして記録される。
この中でレンズ制御回路219の動作としては、一般的に撮影レンズのフォーカスを制御する部分と手振れ等の振れによる像振れを補正する部分で構成されており、それぞれ主撮像光学系218の内部光学系の一部を駆動することで実際の制御が行われている。
又、一般的なレンズ交換可能な一眼レフタイプのデジタルカメラの場合、主撮像光学系218とレンズ制御回路219は交換レンズの内部に搭載される。そして、カメラ本体の全体制御CPU216とレンズ制御回路219との間を専用のI/F部を介して通信が為され、所定のタイミングにて各撮像光学系が駆動制御されることになる。
一方、従来から撮影者が自分の思う通りのフレーミング(構図)やタイミングで被写体を捉えたいという作画意識の要求に対する解として、一般的には被写体追尾機能というものがある。
被写体追尾は、撮影画面内に撮影者が狙っている主被写体がある際に、被写体が画面の中で移動したとしても自動的にその被写体に対してフォーカスを制御する事でピント合わせを継続的に実行することで行われる。さらに、画面内を被写体が移動して画面から外れそうになった場合には、ズーム光学系を駆動する事で常に画面内に被写体を捉え続けるという方法が考えられる。
ここで、図2(a)〜(c)は、動いている被写体を、低速シャッタを切りながらカメラをその動きに合わせて撮影するという流し撮りというテクニックを図示したものである。
図2(a)は、主被写体が画面の右から左へ動いている場合の撮影を示したもので、通常このような被写体を撮影する場合は、高速シャッタで撮影を行う事で主被写体も背景も振れずに被写体像を取り込む事になる。しかしながら、このような高速シャッタで撮影を行った場合には、主被写体の動きが完全に止まったような状態として撮影されるため、せっかく動きのある被写体であってもその動きを静止画の中で表現できなくなってしまう。
一方、図2(b)は、図2(a)に対して相対的に遅い低速シャッタで撮影を行った場合の様子を示したものである。この場合、仮にカメラに像振れ補正機能が具備されている場合は、撮影者の手振れ等の振れの影響を受けずに静止している背景は振れずに撮影される事になる。しかし、主被写体自体は低速シャッタで撮影するので完全に被写体振れが発生した状態となってしまう。
主被写体の動いている様子を静止画撮影の中で表現する為には、図2(c)で示したように、主被写体の動きに合わせてカメラを大きく動かし、その動きの中で低速シャッタで撮影を行うという流し撮り撮影を行う事が考えられる。この場合は主被写体の動きとカメラの動きが完全に同期して働くので、主被写体自体は止まったままの撮影、背景そのものは像が流れたような撮影像となり、被写体の動きをリアルに静止画に反映することが可能となる。
この流し撮りを実際に実現する技術としては、特許文献1がある。この提案は、予め被写体の移動速度に合わせた速度入力をカメラの外部から入力しておき、所定の撮影タイミングでその入力信号に合わせて補正系を駆動する事で流し撮り撮影を行うというものである。この場合は被写体の移動速度を予め撮影者が手動で入力してあげる必要があるが、図2(c)で示したようなカメラを被写体の動きに合わせて動かさなくても、主被写体は静止状態として撮影し、背景のみを振らして撮影することが可能となる。
また、実際に撮影する被写体の動きを検出して自動的に流し撮り撮影を行う技術としては、特許文献2がある。この提案は、撮影直前の多点AFセンサから得られる撮像信号より主被写体の移動速度を検出し、その移動速度から撮影中の動きを予想して補正系を駆動するというものである。この場合は予め撮影者が被写体の移動速度を入力しなくても、AFセンサに結像する像を一定間隔で読み取り、その像の時間的なずれに伴う相関関係から被写体移動速度を検出しているので、正確な主被写体の移動速度が検出できるという効果がある。
いずれにしろ、これらの技術を自動的にカメラの中で実現する為には、被写体の動きを高速で認識し、高速で物体を追従させる技術が必要であった。
特開平1−193721号公報
特開平10−148858号公報
図1は、本発明の実施例1に係るカメラ本体A並びに該カメラ本体Aに装着される交換レンズBを含めた一眼レフタイプのデジタルカメラを示す全体構成図である。
図1において、撮影者自身によるカメラ操作スイッチ3(カメラのメインスイッチ、レリーズスイッチ及び各種モード設定スイッチで構成)の状態変化をカメラCPU1が検出する。そして、カメラCPU1の制御によってその他の各回路への電源供給並びに初期設定が開始される。
被写体からの撮影光は、カメラ本体Aに装着された交換レンズB内の撮像光学系を構成するフォーカスレンズ33、主撮像光学系32、並びに像振れ補正用の補正系として用いられる補正レンズ31を介してカメラ本体A内のミラーボックス系に導かれる。この入射光はメインミラー19へ入射し、一部の光束はメインミラー19で反射されてカメラ上部のペンタブリズム21へ入射した後、接眼レンズ光学系22を介してファインダ像として結像する。
本実施例1の場合、メインミラー19はいわゆるぺリクルミラーで構成されており、一部の光束はこのミラーを通過した上で撮像素子4の撮像面へ導かれる。一方、別の一部の光束はメインミラー19の後方に配置されているサブミラー20で反射された後、AF(オートフォーカス)用の光束としてメガネレンズ等で構成されるAF光学系18を介してAFセンサ17に入射する。
ここで、AFセンサ17に入射した光束は2つの像の相関として検出され、位相差状態を表す像信号として出力され、その結果がカメラCPU1へ情報として伝達される。カメラCPU1はこの位相差状態を表す信号を受信すると、この信号成分に基づいてフォーカスレンズ33の駆動量を算出し、その結果をカメラ・レンズ間通信部23を介してレンズCPU24に伝達する。
レンズCPU24は、このフォーカスレンズ駆動量を受信すると、それに基づいてフォーカスレンズ33を駆動する事になる。この場合、レンズドライバ29へ必要な駆動信号を供給し、レンズドライバ29はこの駆動信号に基づいてレンズモータ30を駆動する。これにより、フォーカスレンズ33を適切なフォーカスポジションとなるように制御することができる。
上記メインミラー19(本実施例1ではぺリクルミラーで構成)を通過した主光束はシャッタ部材16を介して撮像素子4に入射する。この際、シャッタ部材16は遮光用の部材(後幕)だけで構成されており、通常の撮影前の状態ではメインミラー19を通過した光束が撮像素子4上に結像していて、撮影前からいわゆるプレビュー撮影動作を行う事が可能である。
次に、撮像素子4に入射した被写体光を所定の画像信号に変換する処理について説明する。
まず、被写体からの入射光は撮像素子4の撮像面上に結像され、この撮像素子4からの出力信号はCDS/AGC/AD回路5にて、画素毎に相関二重サンプリング→ゲイン設定→AD変換の処理が実施され、順々に所定のデジタル信号に変換される。ここで、撮像素子4及びCDS/AGC/AD回路5は、カメラDSP2からの基準信号に基づいて各種パルス信号を発生するTG(タイミングジェネレータ)7からの信号に同期して動作する。また、このTG7の信号の一部は撮像素子4を駆動する為のドライバ6へ入力し、実際の撮像素子4の駆動制御信号を形成する。
上記CDS/AGC/AD回路5からの出力信号はカメラDSP(デジタル信号処理部)2に入力される。すると、カメラDSP2は、撮像素子4と交換レンズB内の各撮像光学系との組み合わせ等で生じるシェーディング補正を実行したり、センサ固有のパターンノイズを除去する為の補正を実行したりする。その為に、2次元画像データの水平方向及び垂直方向に対して、内部に組み込まれている乗算回路や加算回路及びデータ記憶用のメモリを使って画素毎の補正を行う。ここで、カメラDSP2の動作は外部バスに接続されているプログラムメモリ8の内容に基づいて動作することになる。
以上のような処理を行った後、カメラDSP2に内蔵されているメモリコントローラを介してバッファメモリ9(通常SDRAM等のメモリで構成)に順々にフレームデータとして記憶され、カメラの連写撮影時の画像が一時的に記憶されていく。
所定サイズの画像書き込みが完了した時点で、カメラDSP2内部のメモリコントローラにて撮影データを記憶しているバッファメモリ9のデータが読み出され、カメラDSP2内部のカラー処理部へ転送され、いわゆる絵作り動作が行われる。この動作に関しては、図3に示したカラー処理部の内部構成を使って以下に説明する。
図3において、カメラDSP2とバッファメモリ9を結ぶメモリバスを介してバッファメモリ9から入力された画像データは、データ入出力I/F50を通して入力され、ここで所定のデータ幅に変換された後に色補間部52へと入力される。ここでは、まず通常センサの画素配列がベイヤー配列で構成されているものに対して、色補間処理が行われてRGBの3プレーンのデータに変換される。この色補間処理に続いてマトリックス補正部53へ入力され、センサ固有のカラーフィルタの持つ分光特性から所望の色を出力する為のマトリックス補正が実行され、RGB→RGB変換が行われる。
次に、ガンマ変換部54へ入力されて、通常CDS/AGC/ADでデジタルデータに変換されたデータ幅12ビットを8ビットに変換する処理が行われ、所定のダイナミックレンジに入るようにデータの変換、いわゆるγ変換が行われる。
続いて、RGB→YCrCb変換部55へ入力され、ここでRGB→YCrCbの色変換処理が行われ、その後、偽色除去部56へ入力されてCrCb成分に対する偽色除去処理が行われる。ここで、偽色除去処理としては、いわゆるサンプリング周波数と画像周波数との関係から生ずる色モアレ等の発生に対してメディアンフィルタ(中間値フィルタ)を使用する等が挙げられる。
更にエッジ強調部57へ入力され、いわゆる画像の中間周波数付近のゲインを持ち上げるエッジ強調処理が行われて画像の輪郭強調等の加工が行われる。そして、その後に解像度変換部58へ入力されて所定の画像サイズにリサイズされる。ここで、所定の画像サイズにリサイズする場合は、実際にフィルタ処理を行ってから間引き処理が行われことになるが、水平及び垂直方向に対して同等の処理が行われる。
以上の動作が1フレーム分順々に行われていき、その結果がデータ入出力I/F50を介して再度バッファメモリ9上の別領域上に展開されていくことになる。なお、パラメータ設定部51は、上記色補間部52から解像度変換部58までの各部のパラメータを設定するものである。
以上の動作がカラー処理系での実際の動作であるが、各部の動作は基本的にカメラCPU1からの設定データによって変更可能であり、撮影駒毎に絵作り条件を変更することも可能である。
図1に戻り、更にカメラDSP2では、バッファメモリ9に展開されたカラー処理後のデータの読み出しが行われ、内部のJPEG処理部に順次転送してここで実際の画像の圧縮処理が実行される。このJPEG処理部の動作に関しては、図4及び図5に示した内部構成を使って以下に説明する。
図4は、いわゆる非可逆タイプのJPEG処理に関するものであり、DCT変換をベースにした周波数変換を基本としている。
まず、上述した方法でカラー処理が行われた結果を記憶しているバッファメモリ9の画像処理後のデータは、データ入出力I/F60を介して読み込まれる。そして、ラスターブロック変換部63へ入力されて、画像データが水平8画素、垂直8画素単位での2次元単位でのブロックに変換される。
次に、DCT変換部64にデータが入力され、ここでは8×8ブロック単位でいわゆる周波数成分毎の8×8のデータに変換するDCT変換が行われ、2次元単位での低周波成分から高周波成分への係数が算出される。
次に、量子化部65へ入力されて上記DCT変換で算出された係数値に対する量子化が行われる。この量子化に関しては、事前に値が設定されている量子化テーブル61の値に基づいて係数毎の除算にて実現される。
更に、この量子化された結果が所定のスキャン方向に沿って読み出しされながら、ハフマン符号化部66へ入力されて、ここではやはり事前に値が設定されているハフマンテーブル62の値に沿ったエントロピー符号化が実施される。
上記の方法で圧縮したデータが再度データ入出力I/F60を介してバッファメモリ9の所定領域内に書き戻され、一連の圧縮処理が終了する。
一方、別のタイプのJPEG処理としては可逆タイプの圧縮方法があるが、この方法に関しては図5に示す構成を持つJPEG処理部を用いて説明する。
図5は、いわゆるDPCMをベースにした可逆タイプのJPEG処理に関するものである。
まず、上述した方法でカラー処理が行われた結果を記憶しているバッファメモリ9の画像処理後のデータが、データ入出力I/F70を介して読み込まれ、DPCM変換部72に入力されて、予測値との差分データとして画像データが変換される。次に、このDPCM変換されたデータが読み出しされながらハフマン符号化部73へ入力されて、ここでは事前に値が設定されているハフマンテーブル71の値に沿ったエントロピー符号化が実施される。
上記の方法で圧縮したデータを再度データ入出力I/F70を介してバッファメモリ9の別の所定領域内に書き戻され、一連の圧縮処理が終了する。
図1に戻り、以上の方法でJPEG処理部を介して所定の圧縮フォーマットに基づきデータ圧縮され、その圧縮データがカードコントローラ12を介してカードメモリ13(通常フラッシュメモリ等の不揮発性メモリを使用)に記憶される。又、逆に撮影済みの画像データを観察する場合には、上記カードメモリ13に圧縮記憶されたデータがJPEG処理部を通して通常の撮影画素毎のデータに伸張される。なお、前述した図4及び図5のJPEG処理部の構成中には圧縮したデータを伸張するデータ伸張部は記載していない。そして、その結果がバッファメモリ9へ転送され、今度はこのデータをベースにLCDコントローラ10が駆動され、外部表示パネルを形成するLCDモニタ11上での表示動作が行われる。
一方、カメラ全体の制御及び上記コントローラに対するシーケンス制御に関しては、カメラCPU1が内部メモリに記憶してあるインストラクションコードに従って命令を実行する事で動作が行われる。前述したシャッタ部材16並びにメインミラー19とサブミラー20の動作に関しては、カメラCPU1からの制御信号に基づいてモータ駆動部14を介してモータ15の駆動制御を行うことで実現される。
また、交換レンズB内の各レンズ制御に関しては、上述したフォーカス駆動制御の他に像振れ補正制御等が実行される。この場合、カメラCPU1からの制御開始タイミング通信に基づいてレンズCPU24が動作を開始する。そして、交換レンズB内の振れ検出センサ25及び26(各々ピッチ方向とヨー方向を検出)の信号をレンズCPU24が検出して撮影者の手振れ等の振れ信号を算出する。そして、その振れを補正するための振れ補正制御信号を計算し、その結果を補正レンズ31を駆動する為の駆動制御回路27及び28(各々ピッチ方向とヨー方向)に供給し、実際の像振れ補正動作が行われる。
この像振れ補正動作に関しては、図6及び図7を使って後述する。
図6は、振れ検出センサ25及び26として使用される振動ジャイロの構成を示したもので、振動子140は同期検波回路141及び駆動回路142を通して、その共振周波数付近で共振している。その共振周波数で変調されたコリオリ力に比例する振れ角速度信号を同期検波回路141で検波する事で、通常の角速度信号のみを取り出せる事になる。
通常、この同期検波後の出力には入力角速度が0の状態でも一定の電圧(ヌル電圧)が存在し、この不要DC成分を除去する必要がある。その為に、OPアンプ143、コンデンサ144、抵抗145,146,147で構成されるアナログハイパスフィルタ回路でもって所定周波数以下の成分を除去する。そして、残った信号成分のみを図1に示したレンズCPU24に内蔵されている不図示のA/Dコンバータを介して取り込み、レンズCPU24内部にてデジタル演算処理を行う事で所定の振れ変位出力を算出する。
一方、図7は、図1の像振れ補正用の補正レンズ31及びそれを駆動する為の駆動制御回路27及び28の具体的構成図を示したもので、後述するような方法で光軸に対して垂直な平面上を自在に移動可能な補正光学系を示している。
補正レンズ31に相当する補正光学系150は、x軸方向への移動に関しては、マグネット及びヨーク部からなる磁気部材151と巻線コイル152で構成される磁気回路ユニット中の、巻線コイル152へ流す電流量及び方向によって自在に動作可能である。同様に、y軸方向への移動に関しては、マグネット及びヨーク部からなる磁気部材153と巻線コイル154で構成される磁気回路ユニット中の、巻線コイル154へ流す電流量及び方向によって自在に動作可能である。
こうした補正光学系150の鏡筒支持枠に対する相対的な動き量は、補正光学系150と一体となって動くIRED156及び157と、鏡筒支持枠に固定的に取り付けられているPSD158及び159との組合せにより非接触で検出する構成となっている。又、上記補正光学系150の動きをメカニカルに係止する為のメカロック機構160が具備されている。このメカロック機構160は、付随するマグネットへの電流通電方向によってメカロック部材の突起部161が補正光学系150と一体となって動くくぼみ部162に飛び込み、あるいは飛び出す事でロック並びにアンロック動作を行う。尚、163は補正光学系150の倒れ方向の動きを規制する為のあおり止めとしての支持球である。
次に、カメラCPU1にて行われる主要部分の動作について、図8ないし図10のフローチャートを用いて説明を行う。
図8において、まずステップ#100では、カメラCPU1は、カメラのMAINSW(図1のカメラ操作スイッチ3の一つ)がONしているか否かの判定を行い、ONしていなければこのステップで待機する。その後、MAINSWがONするとステップ#101へ進み、図1に示した各回路部への電源供給を行う。そして、次のステップ#102にて、カメラのスイッチSW1(図1のカメラ操作スイッチ3の一つ)の状態を検出して、撮影者により撮影準備動作の開始操作が行われたか否かの判定を行い、スイッチSW1がONしていなければこのステップで待機する。その後、ONするとステップ#103へ進み、ここで撮像素子4でのプレビュー動作を開始する。このプレビュー動作について、図11を用いて簡単に説明を行う。
図11(a)〜(c)は、一定間隔毎に被写体を撮像素子4で撮像している各撮影フレームの様子を示したものである。
図11(a)は、あるNフレーム目の撮像素子での撮像状態を示したものであり、87はあるNフレーム目の撮影被写体の様子で、これをカメラ79で撮影した場合の撮像素子4での撮影像84を図11(c)の左側に示している。
ここで、撮像素子4はプレビュー動作を行っている場合には通常の全画素を読み出すのではなく、いわゆる間引き読み出しを行う事で読み出し時間を短縮するように動作している。これは、全画素を読み出したのでは例えば画素数が1,000万画素のセンサでフレームレートを例えば60フレーム/秒程度で読み出す事が現状の技術ではかなり厳しいからである。また、実際にプレビュー動作ではその撮影画像をLCDモニタ11に表示するような場合ではそれ程の画素数を必要としないからである。
図11(b)は、被写体88をカメラ80で撮影した場合のN+1フレームを示している。その撮影像85を図11(c)の右側に示しており、この場合も撮影像84と同様に撮像素子4からは間引き動作を行って読み出ししている。
このように一定間隔毎に撮像素子4から間引き読み出しを行い、これを前述したCDS/AGC/AD5及びカメラDSP2、バッファメモリ9を通して一連の画像処理を行う。そして、その処理画像をLCDモニタ11に出力するような画像サイズに変換して、LCDモニタ11上で被写体を表示する事が一般的なプレビュー動作となる。
ここで、フレーム毎のデータである、Nフレームデータ81並びにN+1フレームデータ82が図1のバッファメモリ9の中に記憶される事になるが、当然のことながら随時フレーム毎に各データは更新されていく。尚、本実施例1では、プレビュー動作としてLCDモニタ(一般的にはTFT)11上に被写体像を出力表示していたが、いわゆる光学ファインダに代わるビューファインダに表示する事も考えられる。
図8に戻り、次のステップ#104では、カメラCPU1は、像振れ補正制御を開始する為にレンズCPU24に対してレンズ通信を行い、像振れ補正制御動作を開始させる。この動作に関しては図10を用いて後述する。次のステップ#105では、AF(オートフォーカス)を開始する為にAFセンサ17を通してセンサ信号を取り込む。続くステップ#106では、この結果を基にフォーカスレンズ33のデフォーカス量の演算を行う。そして、次のステップ#107にて、フォーカスレンズ33の駆動を開始する為のレンズデータ通信を行って交換レンズB側での制御を開始する。
次のステップ#108では、カメラCPU1は、合焦状態かどうかをAFセンサ17の出力を用いて判定し、未だ合焦ではない場合は再度ステップ#105へ戻ってAFセンサ17のセンサ信号の取得を行う。一方、合焦と判定した場合はステップ#109へ進み、フォーカスレンズ33の駆動を停止するようにレンズ通信によりレンズを制御する。そして、次のステップ#110にて、測光動作を行うが、この測光動作にてカメラのシャッタ秒時及び絞りの値を決定する。
測光動作が完了すると次のステップ#111にて、カメラのスイッチSW2(カメラ操作スイッチ3の一部に相当)がONしているかどうかの判定を行う。ここで、未だONしていない場合は再度ステップ#110へ戻り、測光動作を継続して行う。その後、スイッチSW2がONするとステップ#112へ進み、被写体移動速度の判定を行う。
ここで、被写体移動速度の判定に関して、図11(c)及び図12(a),(b)を用いて説明する。
図11(c)に示すように、相関演算部83にてNフレームデータ81とN+1フレームデータ82の相関演算を行うが、その際の動作説明を86で示している移動範囲にて行う。例えば、以下の式(1)
相関値=Σ(x=1〜n、y=1〜m)|DN(x、y)−DN+1(x、y)|
………(1)
で相関演算を行い、相関値を得る。
なお、DN(x、y)はNフレームの基準領域内にある画素1つ1つの値(ex.輝度値)である。例えば図11(c)に示した黒色に塗りつぶされている基準領域の中で、一番左上の画素をDN(1、1)とした場合、一番右下の画素がDN(n、m)という事になる。そして、xが同図でいうところの横方向(左→右で数字が大きくなる)、yが同図でいうところの縦方向(上→下で数字が大きくなる)を表している事になる。また、DN+1(x、y)はN+1フレーム(つまり、Nフレームの1つ後のフレームデータ)の参照領域にある画素1つ1つの値になる。この参照領域というのは基準領域とは同じサイズの領域であるが、同図に示した移動範囲内をx、y方向にそれぞれ1pixずつ移動させながら、各移動した範囲での各画素データを表している事になる。従って、ここでいう相関値は、所定のサイズ(各画素データの配列)の基準領域と参照領域を上記式でもって算出する。そして、続いてx、y方向に随時1pixずつ参照領域をシフとさせながら全ての移動範囲内を網羅するようにしてそれぞれ毎に算出するものとなる。この各相関値の中で一番小さい値になったところが一番相関が高いという結果となる。
移動範囲86では各フレーム毎の相関を取る為に、あるNフレームデータ中の基準領域に対してN+1フレームの参照領域との相関演算(一般的には各対応画素毎の相関演算)を実施する。そして、参照領域を縦、横1pix毎ずらした状態である所定範囲を移動させ、各所定量移動させた毎の相関演算を行う。
このように図11(c)で示したような移動範囲全体に対して、参照領域を縦、横共に1pixずつ動かした上で、各相関値が最も高い相関(相関値としては一番小さい値)を示した場合が、基準領域のデータと参照領域のデータが一致した事になる。よって、この際の移動量を縦、横共に算出すれば被写体の移動量を検出する事が可能となり、又所定フレームと次のフレームの時間間隔は予め決定(例えば1/60秒)されているので、結果的に被写体の移動速度も簡単に算出する事が可能となる。
以上が簡単な被写体移動速度の検出方法に関しての説明であるが、実際の被写体を撮影する場合には、撮影画面上には実際の撮影者が狙っている主被写体と背景が混在している。したがって、主被写体のみの動きを検出するには撮影画面を複数の領域に分割した上で、各領域毎で検出される動きベクトル量を算出した方が主被写体の移動速度の検出精度は高くなる事が予想される。この方法について、図12を用いて以下に説明する。
図12(a)において、94は被写体の撮影画面を示したもので、ここでは被写体検出領域を大きく9つの領域に分割している。この被写体をカメラ95で撮像した場合、図12(b)に示す撮影像96が得られるが、それぞれの領域に対して、図11(c)の相関演算部83に相当する相関演算部90a〜90iが具備されている。次段の選択部91では、上記相関演算部90a〜90iの結果をそれぞれ適宜選択する。そして、この実施例1では複数の領域で検出される動きベクトル量が一致しているものを主被写体検出部92で検出する事で、最終的な主被写体の移動速度を撮影パラメータ算出部93にて検出する事になる。
以上が実際に被写体の移動速度を検出する方法に関しての説明である。なお、本実施例では、初めから連写撮影(この場合2駒撮影)で、1駒目は通常の高速シャッタ撮影による通常撮影(これは流し撮りではない)、2駒目は被写体の移動速度を算出した結果による低速シャッタ撮影による流し撮り撮影の場合を説明したものである。特にフローチャートの中で流し撮りをするか否かを判定するという訳ではなく、初めから連写2駒での流し撮り(1駒目は通常撮影、2駒目は流し撮り撮影)という撮影モードを説明している。
図8に再び戻り、次のステップ#113では、上記被写体移動速度に対して各連写撮影時の撮影秒時を算出する。例えば被写体の移動速度が撮像素子像面換算で50mm/s位とした場合、像面上での振れ量を50μm以下に抑える為にはシャッタ速度を1/1000秒以下にする必要がある。したがって、連写撮影中に同じ撮影秒時で撮影する場合は、このシャッタ秒時で全ての駒を撮影する事になる。しかし、撮影駒毎に撮影秒時を変更するような撮影で、例えば連写撮影の1駒目をこのシャッタ秒時、2駒目を前述したような流し撮り撮影(被写体の動きに合わせて撮影系を移動させ、且つ低速シャッタ秒時で撮影を行う)を実施するとする。このような場合は、2駒目を例えば1/125秒とか1/60秒とかのシャッタ秒時で撮影を行うように秒時を決定する。
次のステップ#114では、補正系の移動速度を算出する。これは上記で検出された主被写体の移動速度と等価になって被写体を追従させる為の補正光学系(この実施例1の場合は補正レンズ31)の移動速度に相当するものであり、補正光学系のレンズ敏感度に基づいて算出する事になる。例えば主被写体が像面上で50mm/sで移動しているような条件では、レンズ敏感度を3とした場合、50mm/s÷3≒17mm/sで補正レンズ31を駆動制御してやればよい事になる。
次のステップ#115では、実際に交換レンズB内にある絞り(図1には不図示)を駆動開始する為にレンズ通信にて実際の絞り駆動量をレンズに対して通信を行う。続くステップ#116では、図1のAFサブミラー20を退避させる為の駆動を開始する。そして、ステップ#117にて、所定時間Taだけ待機する為にタイマがTaに達したかどうかの判定を行い、所定時間Taが経過した時点で図9のステップ#118へ進み、AFサブミラー20の駆動を停止する。
このようにして撮像素子4には撮影光を遮る物がなくなった状態で、次のステップ#119にて、1駒目の本撮影動作を開始する。この場合、撮像素子4内部のフォトダイオード部分をリセットする事でそれまで溜まっていた不要電荷を排除する。この時点で撮像素子4自体の蓄積動作が開始する事になる。次のステップ#120では、タイマの値が所定値Tsh1(前述した方法で被写体の移動速度にて決定された1駒目の時間)に達したかどうかを判定する。ここで所定値Tsh1に達した事を検出するとステップ#121へ進み、シャッタ部材16による撮像素子4に対する遮光動作を開始して、撮像素子4への露光動作を完了する。
次のステップ#122では、前述した方法で算出された補正系の移動速度を交換レンズBに伝える為のレンズ通信を行うが、これを受信した交換レンズB側ではこれ以降所定の駆動速度でもって一定方向に補正レンズ31を駆動する事になる。
この補正レンズ31の駆動(像振れ補正制御)について、図10のフローチャート並びに図13のタイミングチャートを使って説明する。
図10は交換レンズB内のレンズCPU24での動作を示したものである。まずステップ#150では、カメラ本体Aから振れ補正制御開始命令が来ているか否かを判定する。その結果、振れ補正制御開始の命令が来ている場合はステップ#151,#152にて、ヨー方向振れセンサ26及びピッチ方向振れセンサ25それぞれの出力をレンズCPU24内のA/Dコンバータを介して取り込む。尚、ヨー方向センサ26及びピッチ方向センサ25は前述した角速度検出タイプのセンサであり、ここでの説明は省略するが、この時点でレンズCPU24は振れセンサ出力を基に所定の演算を行い、それぞれヨー方向、ピッチ方向の振れ補正制御信号を算出する。
次のステップ#153では、上記ステップ#122にて補正系移動制御開始通信が来ているかどうかを判定し、補正系移動制御開始通信が受信している場合はステップ#154へ進み、ここで補正系移動量の受信を行う。補正系移動量の受信を行った後はステップ#155にて、ヨー方向への補正駆動を行う為の出力演算を実施してその値に基づいて補正系の駆動を行う。続くステップ#156にて、ピッチ方向への補正駆動を行う為の出力演算を実施してその値に基づく補正系の駆動を行う。移動量受信データとしては、前述したように主被写体の移動速度に合わせた補正系の補正駆動データに関するものであり、この動作の様子を、図13を用いて説明する。
図13のタイミングチャートにおいて、上側のタイミングが撮像素子4からの読み出しを示し、下側のタイミングが補正系の実際の動き(ヨー方向若しくはピッチ方向のいずれか)を示している。
カメラのスイッチSW2がONとなる前の撮影前動作では、このタイミングチャートに示すように、撮像素子4でのプレビュー動作としての読み出しを所定のサンプリング時間間隔毎に行う。そして、前述したような方法で主被写体がどれであるかの判別と主被写体の実際の移動速度を定期的に検出を行うようにしている。
1回目のレリーズタイミング(スイッチSW2のON)を検出すると、図9のステップ#119で説明したように1回目の撮影露光動作を行い、この露光動作完了後に上記レンズ駆動通信制御を経て補正系の所定速度での駆動を開始する。この場合、図13に示したように補正系は被写体の移動に追従するように略一定速度で一方向に動いていく事になる。
図10に戻り、その後はステップ#157にて、サンプリングタイマの値がTsに達したかどうかを行い、達していればステップ#158へ進み、サンプリングタイマの値を0にクリアする。そして、次のステップ#159にて、補正系移動停止の通信がカメラBから送られて来ているかどうかの判定を行い、未だ補正系移動停止の通信が来ていない場合にはステップ#161へ進み、ここで振れ補正制御停止の通信が来ているかどうかの判定を行う。もしここで振れ補正制御停止通信が来ていないような場合は、再度ステップ#151へ進み、再び前述した動作を所定時間間隔(=Ts)毎に実行する。
以上が、補正系を1駒目の撮影直後に駆動制御させる場合の動作を説明したものである。
図9に戻り、次のステップ#123では、シャッタ部材16とAFサブミラー20のチャージを行う為に、モータ駆動部14を介してモータ15の駆動を行う。そして、次のステップ#124にて、このチャージ動作が充分完了する迄の待機時間としてタイマがTbに達したかどうかの判定を行い、この時間が経過したことを検出するとステップ#125へ進み、上記のチャージ動作を停止する。
続けて2駒目の撮影動作を開始するために、次のステップ#126にて、AFサブミラー20の駆動を開始して撮像素子4に入射する被写体光への遮蔽を解除する。そして、ステップ#127にて、このAFサブミラー20の退避動作が完了する迄の時間を待機する為にタイマがTaに達したかどうかの判定を行い、Taに達した時点でステップ#128へ進み、AFサブミラー20の駆動を停止する。
次のステップ#129では、2駒目の本撮影露光動作を行い、続くステップ#130にて、所定時間の露光時間が経過したかどうかを、タイマがTsh2に達したかどうかの判定で実施する。尚、このTsh2の値に関しては、前述したように被写体の移動速度によって一義的に決定されるものとし、1駒目の撮影露光時間と同じ場合や、若しくは2駒目に関しては流し撮り撮影を行うような場合は1駒目より露光時間が長い設定となる。次のステップ#131では、1駒目と同様に、シャッタ部材16による撮像素子4への遮光動作を行って撮像素子4への露光動作を完了する。
次のステップ#132では、補正系移動制御停止の為のレンズ通信を行うが、この点については再度図10のフローチャート並びに図13を用いて説明を行う。
図10のステップ#159では、補正系制御停止通信を受信するとステップ#160へ進み、補正系の移動を停止させる。この場合、図13に示したように、2駒目の撮影露光動作を完了したと同時に補正系を元の位置に戻すように制御を行うことになるが、元の位置に戻った状態で再度通常の振れ補正制御動作を再開することになる。
再度図9に戻り、次のステップ#133では、シャッタ部材16並びにAFサブミラー20をチャージする為のモータ駆動を開始し、続くステップ#134にて、タイマがTbに達したかどうかの判定を行い、Tbに達した時点でステップ#135へ進む。そして、これらの通電動作を停止して一連の動作を完了する。
一方、交換レンズB側では、図10のステップ#161にて、カメラ本体Aからの像振れ補正制御停止通信を受信すると、この時点でステップ#162へ進み、補正系駆動を停止する。
以上のように本実施例1では、1駒目の撮影開始直前にて主被写体の判別を行った上で、その主被写体の移動速度を撮像素子4上の像面移動速度として検出し、その移動被写体に追従させるように補正系をリアルタイムで連写撮影期間中も駆動し続ける。
この事で、撮影者自身がカメラで移動している被写体を追い続ける必要がなく、又撮影動作の中で適宜移動被写体の動き速度に応じてカメラのシャッタ速度を変化させているので、シャッタ速度を高速にすれば被写体も背景もきちんと静止した撮影画像を取得できる。詳しくは、図2(a)で示しているように高速シャッタ撮影を行えば、たとえ被写体が動いていても被写体の露光期間中の動き量は非常に小さいものとなる。例えば、被写体の移動速度6.5m/sに対し、f=300mmの焦点距離を持つレンズで撮影した場合の像面上での移動速度は50mm/sである。しかし、1/1000秒のシャッタ速度では50μmしか移動しない事になり、被写体の動きそのものは止まって写し込まれることになる。
更には、シャッタ速度を低速にすれば、その間も補正系での補正動作を継続する事で被写体のみは静止させ、背景だけはぶらした所謂流し撮り撮影も可能となる。