以下に、本発明の実施の形態によるレンズ装置の一例について図面を参照して説明する。
[第1の実施形態]
図1は、本発明の第1の実施形態に係るレンズ装置が装着された撮像装置の一例であるデジタル一眼レフカメラの構成を示すブロック図である。
図1において、デジタル一眼レフカメラ(以下、単に「カメラ」と称す)は、カメラ本体200に対してレンズ装置(交換レンズともいう)100が電気接点ユニット107を有するマウント部(不図示)を介して着脱可能に(交換可能に)取り付けられている。カメラ本体200は、それ自体が撮像装置であるが、レンズ装置100が取り付けられたカメラ本体200も全体として撮像装置として機能する。即ち、レンズ装置100は撮像装置の一部を構成する。カメラ本体200は、レンズ装置100と電気接点ユニット107を介して通信を行い、レンズ装置100内のフォーカスレンズ101及び絞り102の駆動を制御する。
レンズ装置100は、フォーカスレンズ101を含むレンズユニットと、光量を調節する絞り102と、これらの駆動系および制御系とを有する。駆動系には、フォーカスレンズ101を駆動するレンズ駆動機構103、絞り102を駆動する絞り駆動機構105が含まれる。制御系には、レンズコントローラ108、メモリ109、レンズ駆動制御回路104、絞り駆動制御回路106、レンズ位置情報検出回路110が含まれる。なお、図1では、レンズ装置100のフォーカスレンズ101以外の変倍レンズや固定レンズなどのその他のレンズが省略されている。
カメラ本体200は、クイックリターンミラー203、ファインダー光学系、撮像素子212、システムコントローラ230を含む制御系、カメラDSP(デジタル信号プロセッサ)227を含む信号処理系、その他の部材を有する。
被写体からの光束は、レンズ装置100を介して、カメラ本体200のクイックリターンミラー203に導かれる。クイックリターンミラー203は、撮影光路内に光軸に対して斜めに配置され、被写体からの光束をファインダー光学系に導く第1位置(図示の位置)と、撮影光路外に退避する第2位置(不図示)との間で移動が可能である。
クイックリターンミラー203で反射された光束は、ピント面に存在するファインダースクリーン202、ペンタプリズム201、接眼レンズ207により構成されるファインダー光学系を介して撮影者の目に至る。クイックリターンミラー203が第2位置にアップした際には、レンズ装置100からの光束は、機械式シャッタであるフォーカルプレーンシャッター210及び光学フィルター211を介して、撮像素子212に至る。
システムコントローラ230は、CPUやMPU等のプロセッサからなり、カメラ本体200の各部の動作を制御する。システムコントローラ230は、電気接点ユニット107を介して、レンズ装置100のレンズコントローラ108と通信する。レンズコントローラ108も同様にCPUやMPU等のプロセッサからなり、レンズ装置100の各部の動作を制御する。
また、システムコントローラ230は、レンズコントローラ108に、フォーカスレンズ101の駆動命令、停止命令、駆動量、要求駆動速度、及び絞り102の駆動量、及びレンズ側の各種データの送信要求を送信する。レンズコントローラ108は、システムコントローラ230に、フォーカスレンズ101や絞り102などが駆動中であるかを示すステータス情報、開放F値や焦点距離などのレンズ側の各種パラメータを送信する。
また、システムコントローラ230は、レンズコントローラ108に、レンズ駆動方向や駆動量及び駆動速度を指示する。レンズコントローラ108は、システムコントローラ230からレンズ駆動命令を受信すると、レンズ駆動制御回路104を介して、フォーカスレンズ101を光軸方向に駆動してフォーカス制御を行うレンズ駆動機構103を制御する。これにより、被写体像を撮像素子212上に結像させる。レンズ駆動機構103は、ステッピングモータやDCモータを駆動源として有する。
レンズコントローラ108は、システムコントローラ230から絞り駆動命令を受信すると、絞り駆動制御回路106を介して、絞り102を駆動する絞り駆動機構105を制御し、指令された値まで絞り102を駆動する。
システムコントローラ230は、シャッタ制御回路215と測光回路209にも接続されている。シャッタ制御回路215は、システムコントローラ230からの信号に応じてフォーカルプレーンシャッター210の先幕及び後幕の走行駆動を制御する。
カメラDSP(デジタル信号プロセッサ)227の内部には、画像データを元にコントラストAFのためのAF評価値(焦点評価値)を算出する回路ブロックを有する。さらに、被写体の明るさに応じた測光値を算出する回路ブロック、ホワイトバランスやガンマ補正などの画像処理を実施する回路ブロックを有する。
また、カメラDSP227は、タイミングジェネレータ219とセレクタ222を介してA/Dコンバータ217が接続されている。さらに、カメラDSP227は、ワークメモリ226にも接続されている。
撮像素子212は、全体の駆動タイミングを決定するタイミングジェネレータ219からの信号に基づき、画素毎の水平駆動及び垂直駆動を制御するドライバー回路218からの出力で駆動される。これにより、被写体像を光電変換して画像を生成して出力する。また、撮像素子212の撮像周期(フレームレート)が設定されると、タイミングジェネレータ219から出力される信号が撮像周期に応じて変更される。
A/Dコンバータ217からの出力は、システムコントローラ230からの信号に基づいて信号を選択するセレクタ222を介してメモリコントローラ228に入力し、フレームメモリであるDRAM229に転送される。なお、ビデオやコンパクトデジタルカメラでは、撮影前に、この転送結果をビデオメモリ221に定期的(フレーム毎)に転送することで、モニタ表示部220によりファインダー表示(ライブビュー表示)を行う。
一方、図示のようなカメラでは、撮影前ではクイックリターンミラー203やフォーカルプレーンシャッター210により撮像素子212が遮光されているためにライブビュー表示が行えない。クイックリターンミラー203をアップして撮影光路より退避させてからフォーカルプレーンシャッター210を開くとライブビューが可能となる。また、ライブビュー時に撮像素子212からの画像データをカメラDSP227およびシステムコントローラ230が処理することで画像の鮮鋭度に対応するAF評価値を得てコントラストAFを行うことができる。
撮影時には、システムコントローラ230からの制御信号によって、1フレーム分の各画素データをDRAM229から読み出し、カメラDSP227で画像処理を行ってから、一旦、ワークメモリ226に記憶する。そして、ワークメモリ226のデータを圧縮・伸張回路225で所定の圧縮フォーマットに基づいて圧縮し、その結果を不揮発メモリ224に記憶する。
システムコントローラ230と接続されている表示回路231は、以下の各スイッチ類により設定又は選択された状態を表示する。操作SW232は、カメラ本体200の各種設定項目に対する操作入力を行う操作部である。レリーズスイッチSW1_233は、測光や焦点検出などの撮影準備動作を開始させるスイッチである。レリーズスイッチSW2_234は、撮影動作(静止画像を取得するための電荷蓄積及び電荷読み出し動作)を開始させるスイッチである。ライブビューモードSWは、ライブビューの入切を制御するためのスイッチである。
レンズコントローラ108はメモリ109に接続されている。メモリ109は、レンズ装置100の焦点距離や開放絞り値および対応する通信速度などの性能情報、レンズ装置100の識別情報(ID情報)、システムコントローラ230から受け取った情報などを記憶する。なお、性能情報及び識別情報は、レンズ装置100がカメラ本体200に装着される際の初期通信により、システムコントローラ230に送信され、システムコントローラ230はこれらをEEPROM223に格納する。
レンズ位置情報検出回路110は、フォーカスレンズ101の(光軸方向における)位置情報(レンズ位置情報)を検出する。このレンズ位置情報は、レンズコントローラ108に読み取られてフォーカスレンズ101の駆動制御に用いられると共に、電気接点ユニット107を介してシステムコントローラ230に送信される。
レンズ位置情報検出回路110は、例えば、レンズ駆動機構を構成するモータの回転パルス数を検出するパルスエンコーダにより構成される。その出力はレンズコントローラ108の不図示のハードウェアカウンタに接続され、フォーカスレンズ101が駆動されるとその位置情報がハード的にカウントされる。レンズコントローラ108がレンズ位置情報を読み取る際には、内部のハードウェアカウンタのレジスタにアクセスし、記憶されているカウンタ値を読み込む。
図2は、図1におけるカメラDSP227の概略構成を示すブロック図である。
カメラDSP227は、AF処理ブロック241、AE処理ブロック242、および画像処理ブロック243を有する。
撮像素子212で生成された画像データは、CDS/AGC回路216で増幅され、A/Dコンバータ217でデジタル信号に変換される。デジタル化された画像データは、セレクタ222を介してカメラDSP227に入力される。
AF処理ブロック241は、入力された画像データに基づいて、AF領域として指定された、画面の一部分の領域に相当する画像データの高周波成分を、バンドパスフィルタ(BPF)等を介して抽出する。更に、累積加算等の演算処理を行い、高域側の輪郭成分量等に対応するAF評価値を算出する。AF領域は、画面の中央部分あるいは画面上の任意の部分の一箇所である場合や、中央部分あるいは画面上の任意の部分とそれに隣接する複数箇所である場合、離散的に分布する複数箇所である場合などがある。システムコントローラ230は、AF処理ブロック241より得られるAF評価値に基づいて、レンズ装置100のフォーカスレンズ101を制御してAF動作を実施する。
AE処理ブロック242は、入力された画像データに基づいて、被写体の明るさに応じた測光値を算出する。システムコントローラ230は、AE処理ブロック242で算出された測光値に基づき、フォーカルプレーンシャッター210、絞り102およびCDS/AGC回路216を制御し、ライブビュー表示、静止画撮影の露光量を自動的に調節するAE処理を実視する。
画像処理ブロック243は、入力された画像データに基づいて、ガンマ補正や輪郭補正、ホワイトバランス等の処理を実施する。処理された画像データは、ワークメモリ226に置かれる。システムコントローラ230は、ワークメモリ226上の画像データを用いて、記録用の画像データへの変換や表示データへの形式変換を実施する。
次に、図1のカメラ本体200およびレンズ装置100におけるライブビュー表示状態での基本動作について図3Aおよび図3Bを用いて説明する。なお、以下に説明する処理は、コンピュータプログラム(ソフトウェア)として、システムコントローラ230のROMに保持される。そして、カメラ本体200に電源が投入され、カメラ本体200が起動した後に、主にシステムコントローラ230により実行されるものとする。
図3Aにおいて、システムコントローラ230は、カメラ本体200の起動直後もしくはカメラ本体200へのレンズ装置100の接続後に初期通信を実施する(ステップS301)。初期通信では、先に説明したとおり、レンズ装置100とカメラ本体200間で性能情報及び識別情報のやり取りが行われる。
次に、ステップS302では、システムコントローラ230は、ミラー駆動機構213を駆動制御して、クイックリターンミラー203を撮影用の位置へ跳ね上げる。
次に、ステップS303では、システムコントローラ230は、シャッタ制御回路215を介して、シャッタチャージ機構214によりチャージされたフォーカルプレーンシャッター210の開放を行う。
ステップS304では、システムコントローラ230は、撮影待機処理におけるフレームレートを決定する。なお、本実施形態では、カメラ本体200が要求する撮影待機処理におけるフレームレートは30fpsとする。
ステップS305では、システムコントローラ230はライブビュー表示を開始する。具体的には、システムコントローラ230は、カメラDSP227、セレクタ222、タイミングジェネレータ219、ドライバー回路218、CDS/AGC回路216、およびA/Dコンバータ217を使って、撮像動作を開始する。これは、所定の蓄積時間に従った撮像素子212の電荷蓄積および撮像素子212からの画像情報の読みだしによる撮像動作であり、ステップS304で決定されたフレームレートに従って当該撮像動作が繰り返される。読み出された画像情報は、メモリコントローラ228を介してDRAM229上に格納される。そして、システムコントローラ230は、カメラDSP227とともに、DRAM229上の画像情報に対して、ホワイトバランス、ガンマ処理、色変換等を行い、ビデオメモリ221を通じてモニタ表示部220への撮影画像表示を行う。以降、ライブビューモード中は、連続的に撮像と表示の動作が繰り返されることになる。ライブビュー用に読み出された画像データは、後述するコントラストAF(ContinuousAFおよびOneshotAF)処理、ライブビュー用のAE処理、本露光用のAE処理にも使用される。
ステップS306では、システムコントローラ230は、撮影待機処理の一部である第1のコントラストAF(ContinuousAF)処理を実施する。ここでは、ライブビュー用に生成された画像データを入力として、カメラDSP227のAF処理ブロック241より得られるAF評価値に基づいて、システムコントローラ230が焦点調節を行う。その際、システムコントローラ230は、電気接点ユニット107を介した通信によって、レンズコントローラ108より第1のコントラストAF(ContinuousAF)処理で必要とするレンズ情報を取得する。それと共に、第1のコントラストAF(ContinuousAF)処理で決定されたフォーカスレンズ位置へのフォーカスレンズ駆動命令を送信してフォーカスレンズ101を制御する。詳細については後述する第1のコントラストAF(ContinuousAF)処理にて説明する。
ステップS307では、システムコントローラ230は、撮影待機処理の一部であるライブビュー用のAE処理を実施する。ここでは、ライブビュー用に生成された画像データを入力として、カメラDSP227のAE処理ブロック242より得られる測光値に基づいてシステムコントローラ230が露出を制御する。その際、システムコントローラ230は、電気接点ユニット107を介した通信によって、レンズコントローラ108よりライブビュー用AE処理で必要とするレンズ情報を取得する。それと共に、ライブビュー用のAE処理で決定された絞り値への絞り駆動命令を送信して絞り102を制御する。
次に、ステップS308では、システムコントローラ230は、レリーズスイッチSW1_233がオンされたか否かを判断する。ステップS308にてレリーズスイッチSW1_233がオンされたと判断した場合にはステップS309に進む一方、オンされていないと判断した場合にはステップS306に戻る。ステップS306〜S308の処理により、ステップS306の第1のコントラストAF(ContinuousAF)処理およびステップS307のライブビュー用のAE処理は、ライブビュー用の画像データが読み出されるごとに実施される。
ステップS309では、システムコントローラ230は、フレームレート設定処理を実施して、撮影準備処理におけるフレームレートが決定する。フレームレート設定処理とは、以降の処理で使用する撮像素子212の撮像周期(フレームレート)を選択、設定する処理である。フレームレート設定処理の詳細については後述する。撮影準備処理は、撮影待機処理とは異なり、より短い時間で完了することが望ましい。そこで、ステップS309のフレームレート設定処理では、カメラ本体200が要求するフレームレートはステップS304の撮影待機処理向けに要求されるフレームレートよりも速く設定されており、本実施形態では120fpsとする。
次に、ステップS310では、撮影に先だって第2のコントラストAF(OneshotAF)処理が実施される。上述した第1のコントラストAF(ContinuousAF)処理と同様に、システムコントローラ230が焦点調節をおこなう処理であるが、より高速な焦点調節を考慮した動作となっている。詳細については後述する。
ステップS311では、本露光用のAE処理が実施される。ライブビュー用に生成された画像データを入力として、カメラDSP227のAE処理ブロック242より得られる測光値に基づいてシステムコントローラ230が露出条件を決定する。その際、システムコントローラ230は、電気接点ユニット107を介した通信によって、レンズコントローラ108より本露光用AE処理で必要とするレンズ情報を取得する。
図3Bにおいて、ステップS312では、システムコントローラ230は、レリーズスイッチSW2_234がオンされたか否かを判断する。ステップS312にてレリーズスイッチSW2_234がオンされたと判断した場合にはステップS313に進む一方、オンされていないと判断した場合にはステップS312に戻り、レリーズスイッチSW2_234がオンされるのを待つ。
ステップS313では、システムコントローラ230は、本露光用の撮影処理にむけて稼働中のライブビュー表示の停止処理を行う。具体的には、システムコントローラ230は、撮像素子212の電荷蓄積および画像情報の読み出し動作を終了し、撮像動作を終了させる。その後、システムコントローラ230は、モニタ表示部220への表示更新を停止し、モニタ表示部220の照明を消灯するなど、ライブビューの表示動作を終了させる。
ステップS314では、システムコントローラ230は、シャッタ制御回路215を介して、開放状態になっているフォーカルプレーンシャッター210を閉じる。
次に、ステップS315では、システムコントローラ230は、電気接点ユニット107を介した通信によって、レンズコントローラ108に本露光用AEで決定された絞り値への絞り駆動命令を送信して絞り102を制御する。
ステップS316では、システムコントローラ230は、シャッタチャージ機構214によりチャージされたフォーカルプレーンシャッター210の開放を、シャッタ制御回路215を介して行う。その後、撮像素子212の電荷蓄積動作が行われる。
ステップS317では、撮像素子212の電荷蓄積が完了すると、システムコントローラ230は、フォーカルプレーンシャッター210の閉じ動作を、シャッタ制御回路215を介して行う。
ステップS318では、システムコントローラ230は、DRAM229上に撮像素子212から読み出された画像情報を展開する。これは、カメラDSP227に対する指令により、タイミングジェネレータ219を駆動して、ドライバー回路218、CDS/AGC回路216、A/Dコンバータ217、セレクタ222、およびメモリコントローラ228などを使う。
次に、ステップS319では、システムコントローラ230は、カメラDSP227と共に撮影後処理を実行してワークメモリ226上に画像データを形成する。撮影後処理には、DRAM229上の画像情報に対して行われるホワイトバランス処理、ガンマ処理、色変換、JPEGなどへの変換、サムネイル作成、ビデオメモリ221を通じてのモニタ表示部220への撮影画像表示などの一連の処理が含まれる。
次に、ステップS320では、システムコントローラ230は、ステップS319の撮影後処理によって形成されたワークメモリ226上の画像データを、圧縮・伸張回路225での圧縮処理を行い、不揮発メモリ224へと記録する。
ステップS321では、ライブビューを再開するために、システムコントローラ230は、シャッタチャージ機構214によりチャージされたフォーカルプレーンシャッター210の開放動作を、シャッタ制御回路215を介して行う。
ステップS322では、システムコントローラ230は、レリーズスイッチSW2_234がオフされたか否かを判断する。ステップS322にてレリーズスイッチSW2_234がオフされたと判断した場合にはステップS323に進む一方、オフされていないと判断した場合にはステップS314に戻り、ステップS314からステップS321までの一連の撮影動作を継続する。
ステップS323では、システムコントローラ230は、レリーズスイッチSW1_233がオフされたか否かを判断する。ステップS323にてレリーズスイッチSW1_233がオフされたと判断した場合にはステップS304に進む一方、オフされていないと判断した場合にはステップS323に戻り、レリーズスイッチSW1_233がオフされるのを待つ。
以上がカメラ本体200およびレンズ装置100におけるライブビュー基本動作となる。
次に、図3AのステップS306にて実行される、カメラ本体200のレリーズスイッチSW1_233がオンされる前の第1のコントラストAF(ContinuousAF)の動作について図4を用いて説明する。
先に示した通り、ライブビュー用の画像データが読み出されるごとにカメラDSP227のAF処理ブロック241にてAF評価値が生成される。
図4において、ステップS401では、AF処理ブロック241にてAF評価値が生成されたのを受けて、システムコントローラ230はAF処理ブロック241よりAF評価値を取得する。
次に、ステップS402では、システムコントローラ230は、電気接点ユニット107を介した通信によってレンズコントローラ108から、レンズ位置情報検出回路110が検出したフォーカスレンズ101の(光軸方向における)位置情報を取得する。
ステップS403では、システムコントローラ230は、ステップS401で取得したAF評価値とステップS402で取得したフォーカスレンズ位置を対応付けてDRAM229に保存する。
ステップS404では、システムコントローラ230は、前回取得したAF評価値と今回取得したAF評価値の大小関係を比較する。AF評価値は、合焦位置に近いほど大きくなる(=コントラストが高くなる)傾向にあるため、前回のAF評価値と今回のAF評価値との比較を繰り返し実施することで合焦位置を特定することができる。ステップS404にて前回のAF評価値よりも今回のAF評価値の方が大きい場合はステップS405に進む。一方、前回のAF評価値の方が今回のAF評価値よりも大きい場合はステップS406に進む。
ステップS405では、システムコントローラ230は、次のAF評価値を取得するフォーカスレンズ位置として、前回の移動方向と同じ方向に所定量進んだ位置を設定する。本実施形態では、所定量を1〜3深度程度とする。システムコントローラ230は、電気接点ユニット107を介した通信によって、レンズコントローラ108に対して今回設定した位置にフォーカスレンズ101を移動させるべくレンズ駆動命令を送信する。レンズコントローラ108は、システムコントローラ230からレンズ駆動命令を受信すると、レンズ駆動制御回路104によりレンズ駆動機構103を駆動制御し、フォーカスレンズ101を光軸方向に駆動する。
ステップS406では、システムコントローラ230は、次のAF評価値を取得するフォーカスレンズ位置として、前回の移動方向と反対の方向に所定量進んだ位置を設定する。フォーカスレンズ101の焦点調節方法については上記ステップS405と同様である。
以上がカメラ本体200およびレンズ装置100における第1のコントラストAF(ContinuousAF)の動作となる。なお、図4に示す処理は、ライブビュー用に読み出された画像データが読み出されるごとに実施されるため、フレームごとに細かく焦点調節動作が実施されることになる。
次に、図3AのステップS310にて実行される、カメラ本体200のレリーズスイッチSW1_233がオンされた後の第2のコントラストAF(OneshotAF)の動作について図5を用いて説明する。
第2のコントラストAF(OneshotAF)処理は、レリーズスイッチSW1_233がオンされてから実際の撮影動作が可能となるまでのタイムラグを減らすべく、先に説明した第1のコントラストAF(ContinuousAF)とは異なる。大きな違いは、本実施形態においてスキャン動作と呼んでいる所定のフォーカスレンズ101の可動範囲(=スキャン範囲)に対してフォーカスレンズ101を駆動させながら連続したAF評価値のサンプリング動作を行い合焦位置を特定する点である。
まず、ステップS501では、システムコントローラ230は、所定のフォーカスレンズ101の可動範囲をスキャン範囲として設定する。本実施形態では、フォーカスレンズ101の可動範囲の無限端を開始位置、至近端を終了位置として設定する。
次に、ステップS502では、システムコントローラ230は、フォーカスレンズ101をスキャン開始位置である無限端位置に移動させる。なお、不図示であるが、システムコントローラ230は、レンズコントローラ108との通信によりフォーカスレンズ101が無限端に到達したことを確認した後に次の処理に進む。
ステップS503では、システムコントローラ230は、レンズコントローラ108との通信によりフォーカスレンズ101が所定の速度で至近端まで駆動するようにレンズ駆動命令を送信する。ここで、所定の速度とは、AF評価値のサンプリング間隔(1つのAF評価値を取得するまでに移動するフォーカスレンズ101の移動量)が3深度から5深度程度となるように設定されるものとする。
ステップS504では、システムコントローラ230は、ライブビュー用に画像データが読み出されるごとにカメラDSP227のAF処理ブロック241にて生成されるAF評価値を取得する。
ステップS505では、システムコントローラ230は、電気接点ユニット107を介した通信によって、レンズ位置情報検出回路110が検出したフォーカスレンズ101の(光軸方向における)位置情報をレンズコントローラ108から取得する。
ステップS506では、システムコントローラ230は、ステップS504で取得したAF評価値とステップS505で取得したフォーカスレンズ位置を対応付けてDRAM229に保存する。なお、AF評価値が取得できるタイミングとAF評価値の元となった画像データが露光されたタイミングにはずれがある。AF評価値とフォーカスレンズ位置を対応付ける際には、このずれ分を補正したフォーカスレンズ位置を対応付ける。
次に、ステップS507では、システムコントローラ230は、現在のフォーカスレンズ位置がスキャン終了位置すなわち至近端に到達したか否かを判断する。ステップS507にてスキャン終了位置に到達したと判断した場合は次のステップS508に進む一方、到達していないと判断した場合はステップS504に戻る。この場合、ステップS504からステップS506までの処理はスキャン終了位置までフォーカスレンズ101が移動するまで継続されるため、スキャン開始位置から終了位置まで、フォーカスレンズ101の位置が一定間隔離れた連続したAF評価値が取得できる。
ステップS508では、システムコントローラ230は、先に説明した一連の連続したAF評価値に基づいて合焦位置を特定する。AF評価値は合焦位置ほど大きくなる(=コントラストが高くなる)傾向にあるため、一連のAF評価値の形状から最大値を求めることで合焦位置が特定できる。
ステップ507では、ステップS508で特定した合焦位置に対してシステムコントローラ230は、レンズコントローラ108との通信によりフォーカスレンズ101が合焦位置まで駆動するようにレンズ駆動命令を送信する。なお、不図示であるが、システムコントローラ230は、レンズコントローラ108との通信によりフォーカスレンズ101が合焦位置に到達したことを確認した後で次の処理に進む。
以上がカメラ本体200およびレンズ装置100の第2のコントラストAF(OneshotAF)の動作となる。
次に、本実施形態におけるフレームレート設定処理について図6、図7、図8を用いて説明する。
フレームレート設定処理とは、それ以降に続く処理で使用する撮像素子212の撮像周期(フレームレート)を設定する処理である。
図6は、レリーズスイッチSW1_233のオフ/オン前後において動作する機能と毎フレーム実施されるカメラ本体200とレンズ装置100との間の通信内容を示す状態図である。
図6において、カメラ本体200では、レリーズスイッチSW1_233のオン前後でフレームレートが30fpsから120fpsに切り替わる。レリーズスイッチSW1_233がオンする前の撮影待機処理では、図3Aおよび図3Bで説明したように、30fpsの周期でライブビューを更新すべく撮像素子212の撮像周期が制御される。一方で、レリーズスイッチSW1_233がオンした後の撮影準備処理をより短時間に完了させるために、120fpsの周期でライブビューを更新すべく撮像素子212のフレームレートが制御される。そして、レリーズスイッチSW1_233がオンする前であれば、フォーカスレンズ101や絞り102などが駆動中であるかなどレンズ装置100の内部の状態を示すステータス情報(状態情報)を取得する通信(図中のステータス通信)が行われる。さらに、第1のコントラストAF(ContinuousAF)に必要な情報(フォーカス情報)および制御要求を行う通信(図中のAF用通信又はAF通信)、ライブビュー用のAE処理に必要な情報(露出情報)および制御要求を行う通信(図中のAE用通信又はAE通信)が行われる。
一方、レリーズスイッチSW1_233がオンした後であれば、図3AのステップS310およびステップS311に示すようにAF(オートフォーカス)動作とAE(自動露出制御)動作が順次実行される。そのため、ステータス通信とAF用通信またはステータス通信とAE用通信のいずれかが選択的に実施されることになる。
このように、カメラ本体200の動作状態(レリーズスイッチSW1_233のオン/オフ状態)によって動作する機能は決まっているため、1フレーム当たりに発生しうるカメラ本体200とレンズ装置100間の通信量の最大値は一意に決まる。
上述した第1のコントラストAF(ContinuousAF)は、前回取得したAF評価値と今回取得したAF評価値を比較し、少しずつ合焦位置を特定していく方式である。この場合、フレームレートに対してレンズ装置100の通信速度が遅く、1フレーム間にフォーカスレンズ位置情報の取得が間に合わない場合があったとしても、次の制御タイミングでAF評価値の比較ができればよい。そのため、AF動作時間が長くなることを除けば合焦位置への追従精度に対しては影響が無い。
一方、第2のコントラストAF(OneshotAF)は、連続的にフォーカスレンズ101を駆動させながらAF評価値を取得し、フォーカスレンズ位置を対応付ける。そして、連続したAF評価値とフォーカスレンズ位置の対を持って合焦位置を特定することを前提としている。そのため、上記のようにフレームレートに対してレンズ装置100の通信速度が遅く、1フレーム間にフォーカスレンズ位置情報の取得が間に合わない場合には、期待する間隔でAF評価値のサンプリングができず、歯抜けた連続データとなる。この場合、合焦位置が歯抜けた位置に存在すると合焦精度の低下を招く恐れがある。そのため、図7に示すフレームレート設定処理により上記現象の発生を回避する。
図7において、ステップS701では、システムコントローラ230は、レンズ装置100が対応する最大通信速度を参照する。ここでは、図3AのステップS301の初期通信において取得したレンズ装置100の性能情報が用いられる。
次に、ステップS702では、システムコントローラ230が現在の動作状態で要求するフレームレートを参照する。本実施形態では、図3AのステップS309で述べた通り、要求するフレームレートは120fpsとする。
次に、ステップS703では、システムコントローラ230は、レンズ装置100が対応する最大通信速度と基準通信速度αとを比較する。基準通信速度αとは、第2のコントラストAF(OneshotAF)実行時、1フレーム当たりに発生しうるカメラ本体200とレンズ装置100間の通信量の最大値に基づき、120fpsの1フレームで通信が完了可能な通信速度とする。
ステップS703における比較結果から、レンズ装置100が対応する最大通信速度が基準通信速度αよりも速い場合にはステップS704に進む。一方、最大通信速度が基準通信速度αより遅い(最大通信速度が第1の通信速度以下)場合にはステップS705に進む。
ステップS704では、システムコントローラ230は、実際に設定するフレームレートを、要求されたフレームレートに設定する。これはステップS703の条件を満たすことで第2のコントラストAF(OneshotAF)実行時のフレームレートに対してカメラ本体200とレンズ装置100間の通信が1フレームで完了することが保証される。そのため、条件を満たすレンズ装置100が接続された場合には、システムコントローラ230が現在の動作状態で要求するフレームレートをそのまま採用する。
ステップS705では、システムコントローラ230は、レンズ装置100が対応する最大通信速度と基準通信速度βとを比較する。基準通信速度βとは、第2のコントラストAF(OneshotAF)実行時、1フレーム当たりに発生しうるカメラ本体200とレンズ装置100間の通信量の最大値に基づき、60fpsの1フレームで通信が完了可能な通信速度とする。ステップS705における比較結果から、レンズ装置100が対応する最大通信速度が基準通信速度βよりも速い場合にはステップS706に進む。一方、最大通信速度が基準通信速度βよりも遅い(最大通信速度が第2の通信速度以下)場合にはステップS707に進む。
ステップS706では、システムコントローラ230は、実際に設定するフレームレートを、基準フレームレートAに設定する。基準フレームレートAとは、ステップS705の比較処理にて使用した60fpsとする。したがって、ステップS706の条件を満たすことにより、第2のコントラストAF(OneshotAF)実行時のフレームレートに対してカメラ本体200とレンズ装置100間の通信が1フレームで完了することが保証される。
ステップS707では、システムコントローラ230は、実際に設定するフレームレートを、基準フレームレートBに設定する。基準フレームレートBとは、カメラ本体200に接続されうるレンズ装置100のうち、想定される最も遅い通信速度で1フレーム当たりに発生しうるカメラ本体200とレンズ装置100間の通信量の最大値を処理可能なフレームレートとする。
次に、ステップS708では、ステップS704またはステップS706またはステップS707で設定されたフレームレートを、撮像素子212の撮像周期(フレームレート)として設定する。これにより、タイミングジェネレータ219から出力される信号が撮像周期に応じて変更される。
図8(a)および図8(b)は、レンズ装置100が対応する通信速度が速い高速レンズと遅い低速レンズがカメラ本体200に接続された場合に、本発明が適用されることでどのように内部動作が変化するかを示した説明図である。
図8(a)は、対応する通信速度が速い高速レンズが接続された場合を示している。この場合、レリーズスイッチSW1_233がオンされることでフレームレートが120fpsに切り替わるとともに、第2のコントラストAF(OneshotAF)処理も処理時間が短くなるように120fpsのまま実行される。
図8(b)は、対応する通信速度が遅い低速レンズが接続された場合を示している。この場合、レリーズスイッチSW1_233がオンされることでフレームレートが60fpsに切り替わる。それと共に、レンズ装置100の対応する通信速度を考慮し、第2のコントラストAF(OneshotAF)は動作に不整合が生じない60fpsで実行され、カメラ本体200がレンズ装置100の処理能力に合わせる動きとなる。
上記実施形態によれば、カメラ本体側でのAF評価値とフォーカスレンズ位置情報の対応付けが不整合なく実施されることにより、接続される交換レンズによらず安定した焦点検出を実現することが可能となる。そして、カメラ本体側における合焦位置の検出精度が低下することなく、しかもカメラ動作の応答性が低下することがない。
[第2の実施形態]
次に、本発明の第2の実施の形態に係るレンズ装置を備える撮像装置について説明する。
本発明の第2の実施形態に係るレンズ装置を備える撮像装置は、図1、図2に示すカメラ本体200およびレンズ装置100の構成及びライブビュー基本動作、第1のコントラストAF処理、第2のコントラストAF処理が上記第1の実施形態と同様であり、それらの説明は省略する。
上記第1の実施形態との相違点はフレームレート設定処理であり、第2の実施形態におけるフレームレート設定処理について図9を用いて説明する。
図9において、ステップS901では、システムコントローラ230は、レンズ装置100が対応する最大通信速度を参照する。ここでは、図3AのステップS301の初期通信において取得したレンズ装置100の情報が用いられる。
次に、ステップS902では、システムコントローラ230が現在の動作状態で要求するフレームレートを参照する。本実施形態では、図3AのステップS309で述べた通り、要求するフレームレートは120fpsとする。
次に、ステップS903では、システムコントローラ230は、レンズ装置100が対応する最大通信速度と基準通信速度αとを比較する。基準通信速度αとは、第2のコントラストAF(OneshotAF)実行時、1フレーム当たりに発生しうるカメラ本体200とレンズ装置100間の通信量の最大値に基づき、120fpsの1フレームで通信が完了可能な通信速度とする。ステップS903の比較結果から、レンズ装置100が対応する最大通信速度が基準通信速度αよりも速い場合にはステップS904に進む一方、遅い場合にはステップS905に進む。
ステップS904では、システムコントローラ230は、実際に設定するフレームレートを、要求されたフレームレートに設定する。これはステップS903の条件を満たすことで第2のコントラストAF(OneshotAF)実行時のフレームレートに対してカメラ本体200とレンズ装置100間の通信が1フレームで完了することが保証される。そのため、条件を満たすレンズ装置100が接続された場合には、システムコントローラ230が現在の動作状態で要求するフレームレートをそのまま採用する。
ステップS905では、システムコントローラ230は、レンズ装置100が対応する最大通信速度に基づいて、実際に第2のコントラストAF(OneshotAF)実行時に使用するフレームレートを算出する。レンズ装置100が対応する最高通信速度をMaxComSpeed、1フレーム当たりに発生しうるカメラ本体200とレンズ装置100間の通信量の最大値をMaxComDataとする。この場合、カメラ本体200とレンズ装置100間の通信が破たんなく動作するフレームレート(算出フレームレート)は下式のようになる。
算出フレームレート=MaxComData/MaxComSpeed+MarginTime
MerginTimeとは、レンズコントローラ108とシステムコントローラ230との通信において、システムコントローラ230からの通信要求に対してレンズコントローラ108が応答するまでの時間等を考慮した余裕量である。例えば、カメラ本体200に接続されることが想定されるレンズ装置100のレンズコントローラ108のうち、処理能力が低いものに基づいてMerginTimeを決める方法が考えられる。また、事前に初期通信にてレンズコントローラ108が所定の通信内容に対する応答時間に関する情報を保持し、システムコントローラ230に対して供給する方法も考えられる。このように、ステップS905では、システムコントローラ230は、カメラ本体200に接続されたレンズ装置100の処理能力を考慮して、第2のコントラストAF(OneshotAF)実行時のフレームレートを算出する。
ステップS906では、システムコントローラ230は、実際に設定するフレームレートを、ステップS905で求めた算出フレームレートに設定する。
ステップS907では、システムコントローラ230は、実際に設定するフレームレートを、基準フレームレートBに設定する。基準フレームレートBとは、カメラ本体200に接続されうるレンズ装置100のうち、想定される最も遅い通信速度で1フレーム当たりに発生しうるカメラ本体200とレンズ装置100間の通信量の最大値を処理可能なフレームレートである。
次に、ステップS907では、ステップS904またはステップS906で設定されたフレームレートを、撮像素子212の撮像周期(フレームレート)として設定する。これにより、タイミングジェネレータ219から出力される信号が撮像周期に応じて変更される。
上記実施形態によれば、上記第1の実施形態と同様に、カメラ本体側でのAF評価値とフォーカスレンズ位置情報の対応付けが不整合なく実施されることにより、接続される交換レンズによらず安定した焦点検出を実現することが可能となる。そして、カメラ本体側における合焦位置の検出精度が低下することなく、しかもカメラ動作の応答性が低下することがない。
[第3の実施形態]
次に、本発明の第3の実施の形態に係るレンズ装置を備える撮像装置について説明する。
本発明の第3の実施の形態に係るレンズ装置を備える撮像装置は、図1および図2に示すカメラ本体200およびレンズ装置100の構成及び各処理が上記第1及び第2の実施形態と同じであり、それらの説明を省略する。
上記第1および第2の実施形態との相違点は図7及び図9で示したフレームレート設定処理におけるフレームレート設定処理(ステップS708およびステップS907)である。具体的には、上記第1および第2の実施形態では、撮像素子212の撮像周期(フレームレート)を、タイミングジェネレータ219から出力される信号を制御することで切り替えている。
しかしながら、フレームレートを切り替えるには上記方法だけではなく、撮像素子212を動作させる際の駆動モード自体を切り替える方法も考えられる。すなわち、撮像素子212の駆動モードを切り替えることにより、本来の駆動モードに対して水平垂直方向の画像サイズや水平方向の画素の加算数、垂直方向のライン加算数等が変化し、結果として本来の駆動モードとは異なるフレームレートとなる。そこで、ステップS708,S907に到達する過程で必要なフレームレートの条件を満たす駆動モードが存在する場合には、当該駆動モードに切り替えることでフレームレートの切り替えを行ってもよい。
さらには、タイミングジェネレータ219によるフレームレートの切り替え制御と駆動モードの切り替えによるフレームレートの切り替え制御を適宜切り替える方法も考えられる。
上記第3の実施形態によれば、上記第1および第2の実施形態と同様に、カメラ本体側でのAF評価値とフォーカスレンズ位置情報の対応付けが不整合なく実施されることにより、カメラ本体に装着される交換レンズによらず、安定した焦点検出を実現できる。そして、カメラ本体側における合焦位置の検出精度が低下することなく、しかもカメラ動作の応答性が低下することがない。
以上、本発明を実施形態に基づいて詳述してきたが、本発明はこれら特定の実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の様々な形態も本発明に含まれる。上述の実施形態の一部を適宜組み合わせてもよい。また、上述の実施形態の機能を実現するソフトウェアのプログラム(制御プログラム)を、記録媒体から直接、或いは有線/無線通信を用いてプログラムを実行可能なコンピュータを有するシステム又は装置に供給し、そのプログラムを実行する場合も本発明に含む。従って、本発明の機能処理をコンピュータで実現するために、該コンピュータに供給、インストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明の機能処理を実現するためのコンピュータプログラム自体も本発明に含まれる。その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等、プログラムの形態を問わない。プログラムを供給するための記録媒体としては、例えば、ハードディスク、磁気テープ等の磁気記録媒体、光/光磁気記憶媒体、不揮発性の半導体メモリでもよい。また、プログラムの供給方法としては、コンピュータネットワーク上のサーバに本発明を形成するコンピュータプログラムを記憶し、接続のあったクライアントコンピュータはがコンピュータプログラムをダウンロードしてプログラムするような方法も考えられる。