以下、図面に従って本発明を適用したカメラを用いて好ましい実施形態について説明する。本発明の好ましい一実施形態に係るカメラは、デジタルカメラであり、レンズ鏡筒100とカメラ本体200からなる。本実施形態においては、レンズ鏡筒100とカメラ本体200は別体に構成されているが、これに限らず一体に構成されていてもよい。
図1は、本発明の一実施形態に係るカメラの構成を示すブロック図である。レンズ鏡筒100内には、ズームレンズ群を含む光学系が配置されており、また、光学系を通過する絞り部が配置されている。
すなわち、レンズ鏡筒100内には、被写体像を形成用の撮影レンズ101〜105と絞り106が鏡枠107によって保持されている。このうち、フォーカスレンズ群102はピント調節用であり、光軸O方向に移動可能である。また、ズームレンズ群103は、焦点距離調節用であり、光軸O方向に移動可能である。他のレンズ群101、104、105は鏡枠107に固定され、または光軸O方向に移動可能である。またフォーカスレンズ群102とズームレンズ群103の間には、開口径(開口量)が可変で、光学系を通過する光束を制限する絞り106が配置されている。
フォーカスレンズ群102は、FCS群用ステッピングモータ111によって、光軸O方向に沿って移動可能である。また、絞り106は絞り用ステッピングモータ112によって、開口径が開放状態から最小絞り状態の間で制御される。ステッピングモータを使用していることから、絞り値は、基準値を検出してからのステッピングモータのステップ数をカウントすることにより検出することができる。
ドライバ113は、FCS群用ステッピングモータ111および絞り用ステッピングモータ112に接続され、それぞれのステッピングモータの駆動制御を行う。なお、本実施形態においては、ステッピングモータを採用しているが、これに限らずボイスコイルモータ等、他のアクチュエータを採用しても勿論かまわない。ボイスコイルモータ等を試用する場合には、フォーカスレンズ群102の位置や絞り106の絞り値を検知するための検知部を別途設けて検出する。
また、ズームレンズ群103は、レンズ鏡筒100の外周に回動自在に設けられたズーム環(不図示)の回動操作に従って光軸O方向に移動する。なお、ズームレンズ群103を光軸O方向に駆動する駆動部(例えば、ステッピングモータやボイスコイルモータ等)を設け、レンズ鏡筒100やカメラ本体200におけるズーム操作に従ってズーミングを行うようにしてもよい。
ズーム(ZM)位置検出部114は、ズームレンズ103の位置を検出する。この位置検出は、例えば、ズームレンズ群103の位置を検出するエンコーダによって絶対距離を検出しても良く、またズームレンズ103の移動に応じて出力するフォトインタラプタPI(相対位置検出用)と基準位置を検出するフォトインタラプタPI(絶対位置検出用)を組み合わせて絶対距離を検出してもよい。
レンズCPU120は、記憶部(不図示)に記憶されているプログラムに従って、カメラ本体200からのコマンド(レンズ鏡筒100に対する指令)等に応じて、レンズ鏡筒100の制御を行う。
レンズCPU120内には、位置検出部121、コマンド処理部122、絞り制御部124、フォーカス制御部125を有する。これらの各部は、レンズCPU120内のハードウエアによって処理してもよいが、本実施形態においては、プログラムに従ってソフトウエアによって処理する。
位置検出部121は、ズーム位置検出部114の検出結果を入力し、ズームレンズ群103の位置を検出する。コマンド処理部122は、カメラ本体200から送信されてくるコマンドを受信し、コマンドに応じた処理を実行する。フォーカス制御部125は、カメラ本体200からフォーカスレンズ群102を駆動するコマンドをコマンド処理部122によって受信した際に、このコマンドに応じて、ドライバ113を介して、FCS群用ステッピングモータ111を駆動してフォーカスレンズ群102の駆動制御を行う。
また、レンズCPU120内には、絞り制御データを記憶する絞り制御データ記憶部123を有する。この絞り制御データ記憶部123は、ズームレンズ群103の位置と絞り106の開口量との関係を記憶する。
絞り制御部124は、カメラ本体200から絞り106を駆動するコマンドをコマンド処理部122によって受信した際に、このコマンドに応じて、ドライバ113を介して、絞り用ステッピングモータ112を駆動して絞り106の駆動制御を行う。この駆動制御にあたって、絞り制御データ記憶部123に記憶されているズームレンズ群103の位置と絞り106の開口量の関係と、位置検出部121によって検出されたズームレンズ群103の位置に応じて、絞り106の開口量を設定する。この絞り駆動制御については、図3を用いて後述する。
次に、図2を用いて、本実施形態におけるズーム操作と、ズーム位置の検出について説明する。図2の最上段は、ズーム(ZM)位置の検出間隔を示しており、時間t_ZMdet間隔でズーム位置が検出される。また次段には、ズーム(ZM)環によって設定される焦点距離を示しており、本実施形態においては、短焦点(WIDE)側が10mm、長焦点(TELE)側が100mmである。図2の例では、短焦点側から滑らかに長焦点側に焦点距離が変化している。
また、ズーム環の位置の次段には、ズーム検出値を示す、図2に示すように、ズーム位置検出間隔t_ZMdet間隔でズーム値を検出していることから、ズーム検出値は階段状となっている。ズーム検出値の次段には、絞りモータ(絞り用ステッピングモータ112)の駆動を示す。絞りモータは、絞りモータの駆動の前のタイミングで検出したズーム値を用いて、絞り駆動を行う。
次に、図3を用いて、本実施形態における絞りトラッキングの駆動について説明する。図3(a)は、焦点距離が変化した際に、絞り値を維持するために、絞り開口径を変化させる様子を示す。図3(a)において、横軸は絞り106の絞り制御パルス位置(単位は、ステッピングモータ112の駆動用のステップ数pls)であり、縦軸は絞り値(AV値またはFno)である。
図3(a)において、ラインL1は焦点距離がWIDE(10mm)の場合の絞り値AVと絞り制御パルス位置の関係を示し、またラインL2は焦点距離が30mmの場合の絞り値AVと絞り制御パルス位置の関係を示し、ラインL1、L2の絞り値と絞り制御パルス位置の関係は、絞り制御データ記憶部123に記憶されている。
図3(a)において、P1は現在の絞り値を示している(焦点距離がL1(10mm)、絞り値F=8.0、絞り制御パル位置が100pls)。この状態で、ズーム操作を行うことにより、焦点距離がL1(10mm)からL2(30mm)に変化すると、焦点距離の変化に係らず絞り値F=8.0を維持するために、絞り制御パルス位置を変化させればよい。この絞り制御パルス位置を変化させた目標位置P2は、図3(a)から分かるように、焦点距離L2(30mm)において絞り値F=8.0とするために、絞り制御パルス位置は100plsから80plsに変化させればよい。そこで、絞りトラッキング駆動として、目標位置P2として80plsを設定し、100−80=20、すなわち20pls分、絞り用ステッピングモータ112を駆動すれば良いことが分かる。
この図3(a)における、焦点距離が変化した際に、絞り値を維持するために、絞り制御パルス位置を変化させる処理は、後述する図7のフローチャートのS228およびS229において実行される。
図3(b)は、カメラ本体200から絞り制御指示のコマンドを送信し、このコマンドを処理している際に、ズーム操作がなされた場合、ズーム操作により焦点距離が変化しても絞り値を維持するために、絞り制御パルス位置を変化させる様子を示す。図3(b)においても、図3(a)と同様に、横軸は絞り106の絞り制御パルス位置であり、縦軸は絞り値である。また、ラインL1、L2も同様である。
図3(b)において、現在位置はP11にあり(焦点距離L1(10mm)、絞り値F=4.0、絞り制御パルス位置50pls)、カメラ本体200からの絞り制御指示コマンドによって、絞り値F=8.0に駆動するように指示されたとする。このときの目標位置P12は、焦点距離12mm、絞り値F8.0であるから絞り制御パルス位置は100plsである。従って、目標位置P12に到達するために、目標位置として100plsを設定し、100−50=50pls分、絞り用ステッピングモータ112を駆動すればよい。
しかし、現在位置P11から目標位置P12に向けて駆動中に、ズーム操作がなされ、焦点距離がL1(10mm)からL2(30mm)に変化したとすると、指示された絞り値とするためには、目標位置の更新を行い、目標位置P13に変更する。すなわち、目標位置として、80plsを設定して、絞り用ステッピングモータ112を駆動すれば良い。
この図3(b)における、カメラ本体からの絞り制御指示の実行中に、焦点距離が変化した際に、絞り値を維持するために、絞り制御パルス位置を変化させる処理は、後述する図7のフローチャートのS221〜S227において実行される。
次に、本実施形態に係るカメラ本体200の動作について、図4および図5に示すフローチャートを用いて説明する。このフローは、カメラ本体200内に設けられた本体CPU(不図示)が本体内の記憶部(不図示)に記憶されたプログラムに従って実行する。
カメラ本体200の電源がオンになると、図4および図5に示すフローがスタートする。まず、レンズが装着されているか否かを判定する(S101)。ここでは、カメラ本体200に設けられた装着検知スイッチ等に基づいて、レンズ鏡筒100の装着を判定する。なお、スイッチ以外にも、カメラ本体200内の通信部がレンズ鏡筒100のレンズCPU120と通信可能かによって判定してもよい。
ステップS101における判定の結果、レンズが装着されていた場合には、次に、レンズ通信を開始する(S102)。ここでは、公知の方法により、通信部を介して、カメラ本体200とレンズ鏡筒100内のレンズCPU120の間で通信を開始する。
次に、スルー画の表示を開始する(S103)。ここでは、カメラ本体200内に設けられた撮像素子からの画像データに基づいて、表示部にスルー画(ライブビュー画像ともいう)の表示を開始する。
スルー画の表示を開始すると、次に、レンズが取り外されたか否かを判定する(S104)。ここでは、レンズ装着スイッチの状態等に基づいて、レンズ鏡筒100がカメラ本体200から取り外されたか否かを判定する。この判定の結果、レンズが取り外された場合には、ステップS101に戻る。
一方、ステップS104における判定の結果、レンズが取り外されていない場合(すなわち、装着されたままの場合)には、次に、電源がオフか否かを判定する(S105)。ここでは、カメラ本体200に設けられた電源スイッチ等の操作部材の操作状態に基づいて判定する。この判定の結果、電源がオフの場合には、終了処理を行い(S106)、このフローを終了する。
一方、ステップS105における判定の結果、電源がオフでない場合(すなわち、電源がオンのままの場合)には、次に、動画モード中か否かを判定する(S107)。例えば、撮影モードダイヤルを動画モードに切り換える等によって、撮影者が動画モードに設定したか否かを判定する。
ステップS107における判定の結果、動画モード中でなければ、次に、絞りプレビューがオンか否かを判定する(S108)。通常、スルー画表示中は、絞り106は開放状態であるが、この状態では実際に絞りこんだ状態での被写界深度を確認することができない。そこで、本実施形態においては、絞りプレビュー釦等、絞りプレビューを操作するための操作部材を設け、この操作部材が操作された場合には、絞り106を手動または自動設定されている絞り値に設定する絞りプレビューを実行する。
ステップS108における判定の結果、絞りプレビューがオンの場合には、絞り駆動指示を行う(S109)。ここでは、カメラ本体200内の本体CPUは、レンズ鏡筒100内のレンズCPU120に対して、絞り駆動指示のコマンドを出力する。レンズCPU120が、このコマンドを受信すると、ステップS206〜S210(図7参照)において、プレビューを実行する。絞り駆動指示を実行すると、ステップS104に戻る。
ステップS108における判定の結果、絞りプレビューがオンでなかった場合には、次に、1stレリーズがオフか否かを判定する(S110)。撮影者がスルー画を観察しながら、構図をある程度決めると、撮影準備状態として、レリーズ釦の半押しを行う。レリーズ釦の半押し操作に応じて、1stレリーズスイッチがオンとなる。このステップでは、1stレリーズスイッチがオンか否かを判定する。この判定の結果、1stレリーズがオンでない場合、すなわち、レリーズ釦の半押しがなされていない場合には、ステップS104に戻る。
ステップS110における判定の結果、1stレリーズがオンの場合、すなわち、レリーズ釦の半押しがなされている場合には、AF処理を行う(S111)。ここでは、カメラ本体200内の撮像素子からの画像データに基づくコントラストAF等によって、焦点調節を行う。このとき、カメラ本体200内の本体CPUは、レンズ鏡筒100内のレンズCPU120に対して、フォーカスレンズ群102の駆動のためのコマンドを出力し、焦点調節を行う。
AF処理を行うと、次に、1stレリーズがオフか否かを判定する(S112)。ここでは、ステップS110において撮影者がレリーズ釦を半押しした後、レリーズ釦から指を離したか否かを判定する。この判定の結果1stレリーズがオフであれば、ステップS104に戻る。
一方、ステップS112における判定の結果、1stレリーズがオフでなければ、すなわち、レリーズ釦の半押しが継続していれば、次に、2ndレリーズがオンか否かを判定する(S113)。撮影者がスルー画を観察しながら、レリーズ釦の半押しによりピントを合わせ、構図を決定し、撮影を行う場合には、レリーズ釦の全押し(半押しよりもさらに押し込んだ状態)を行う。レリーズ釦の全押し操作に応じて、2ndレリーズスイッチがオンとなる。このステップでは、2ndレリーズスイッチがオンか否かを判定する。この判定の結果、2ndレリーズがオンでない場合、すなわち、レリーズ釦の半押しのままで、全押しされていない場合には、ステップS112に戻る。
ステップS113における判定の結果、2ndレリーズがオンとなると、撮影処理を行う(S114)。ここでは、カメラ本体CPUは、絞り106やシャッタを適正露光となるように制御し、撮像素子から静止画の画像データを取得し、これを画像処理する。
撮影処理を行うと、画像データを記憶する(S115)。ここでは、ステップS114における撮影処理において記録用に画像処理された画像データをカメラ本体内の記録媒体に記録する。画像データの記憶を行うと、ステップS104に戻る。
ステップS107における判定の結果、動画モード中であった場合には、次に、動画録画釦がオンか否かを判定する(S116)。撮影者がスルー画を観察し、動画撮影を開始させるには、動画録画釦を操作するので、このステップでは、動画録画釦の操作状態に基づいて判定する。この判定の結果、動画録画釦が操作されていない場合には、ステップS104に戻る。
一方、ステップS116における判定の結果、動画録画釦がオンの場合には、AF処理を行い(S117)、またAE処理を行う(S118)。AF処理は、カメラ本体200内の撮像素子からの画像データに基づくコントラストAF等によって、焦点調節を行う。このとき、カメラ本体200内の本体CPUは、レンズ鏡筒100内のレンズCPU120に対して、フォーカスレンズ群102の駆動のためのコマンドを出力し、焦点調節を行う。ステップS111におけるAF処理では、いわゆるシングルAF(1回、合焦すると、焦点調節動作を終了する)でもよいが、ステップS117においては、いわゆるコンティニュアスAF(合焦後、ピントがずれると再度自動焦点調節を行い、常に合焦状態を維持するような自動焦点調節)によるAF処理を行う。
また、ステップS118におけるAE処理は、カメラ本体200内の撮像素子からの画像データに基づいて取得した輝度情報に基づいて、適正露光となるように、絞り106、撮像素子の電子シャッタ、ISO感度等を制御する。絞り106の制御にあたって、本体CPUは、レンズCPU120に対して絞り制御用のコマンドを出力する。
AF処理およびAE処理を行うと、動画録画を行い(S119)、録画データの記憶を行う(S120)。ここでは、撮像素子から動画の画像データを取得し、これを動画記録用に画像処理し、この処理された画像データをカメラ本体内の記録媒体に記録する。
録画データ記憶を行うと、次に、動画録画釦がオフか否かを判定する(S121)。ここでは、ステップS116においてオンとした動画録画釦をオフとしたか、すなわち、動画録画釦の押し込みを解除したか否かを判定する。なお、本実施形態においては、動画録画釦を押し込んでいる間、動画の録画を行うようにしているが、これに限らず、例えば、動画録画釦を押し込むと動画の録画を開始し、以後、動画録画釦から指を離しても動画の録画を続行し、再度、動画録画釦を押し込むと動画の録画を終了するようにしてもよい。
ステップS121における判定の結果、動画録画釦がオフでなかった場合、すなわち、動画録画釦が操作されたままであった場合には、ステップS117に戻り、動画の録画を続行する。一方、ステップS121における判定の結果、動画録画釦がオフであった場合、すなわち、動画録画釦の操作が解除された場合には、動画の録画を終了し、ステップS104に戻る。
次に、本実施形態に係るレンズ鏡筒100の動作について、図6および図7に示すフローチャートを用いて説明する。このフローは、レンズ鏡筒100内に設けられたレンズCPU120が本体内の記憶部に記憶されたプログラムに従って実行する。
レンズ鏡筒100の電源がオンになると、図6および図7に示すフローがスタートする。まず、レンズの初期化を行う(S201)。ここでは、撮影レンズ101〜105、絞り106等の機械的位置が初期位置となるように機械的初期化を行い、また各種フラグ等、電気的初期化を行う。
レンズ初期化を行うと、次に、待機状態となる(S202)。レンズ鏡筒100は、カメラ本体200からの動作を指示するコマンドを受信しないと、またはズーム環や距離環等のレンズ鏡筒100に設けられた操作部材の操作がないと、動作を開始しない。このステップでは、カメラ本体からのコマンドの受信等を待機し、コマンドを受信または操作部材が操作されると、ステップS203に進む。
待機状態を脱すると、AF指示があるか否かを判定する(S203)。カメラ本体100において、ステップS111やS117等において、AF処理を行うと、本体側の焦点検出に応じて、レンズCPU120に対して、フォーカスレンズ群102を駆動するためのコマンドを送信する。このステップでは、このAF指示のためのコマンドを受信したかに基づいて判定する。
ステップS203における判定の結果、AF指示があった場合には、AF状態に遷移し(S204)、フォーカス駆動を実行する(S205)。ここでは、コマンド処理部122がAF状態に遷移し、カメラ本体200からの指示に従ってフォーカス制御部125が目標位置に向け、目標速度でFCS群用ステッピングモータ111の駆動制御を行う。ステップS205におけるフォーカス駆動処理の詳しい動作について、図8を用いて後述する。
ステップS203における判定の結果、AF指示がない場合には、次に、MF開始指示が有るか否かを判定する(S206)。レンズ鏡筒100のピント合わせは、AF(自動焦点調節)とMF(手動焦点調節)の2種類があり、カメラ本体200側でAFとMFの設定が可能である、このステップでは、カメラ本体200側でMFモードが設定されたか否かをカメラ本体側からのコマンドに基づいて判定する。
ステップS206における判定の結果、MF開始時指示が有る場合には、MF状態に遷移し(S207)、距離環が回転されたか否かを判定する(S208)。ここでは、コマンド処理部122がMF状態に遷移し、レンズ鏡筒100の外周に設けられた回転自在の距離環の回転方向と回転量に応じて、MF(手動焦点調節)を実行する。ステップS208における判定の結果、距離環が回転している場合には、ステップS205に進み、検出した回転方向と回転量に応じて手動焦点調節を行う。
ステップS208における判定の結果、距離環が回転していない場合には、次に、MF終了指示が有るか否かを判定する(S209)。ここでは、カメラ本体側において、MFモードの設定が解除されたか否かをカメラ本体側からのコマンドに基づいて判定する。この判定の結果、MF終了指示が有る場合には、ステップS208に戻り、MFモードを続行する。
ステップS209における判定の結果、MF終了指示が有った場合には、次に、フォーカスレンズ駆動中か否かを判定する(S210)。ステップS208において距離環が操作されると、FCS群用ステッピングモータ111がフォーカスレンズ群102を駆動するが、距離環の動きに対してフォーカスレンズ群102の駆動には遅延がある。このため、MF終了指示が有った場合でもフォーカスレンズ群102の駆動が終了していないことがある。
ステップS210における判定の結果、フォーカスレンズが駆動中であった場合には、FCS群用ステッピングモータ111の停止処理を行う(S211)。
ステップS205においてフォーカス駆動処理を行うと、またはS206における判定の結果、MF開始指示が無い場合には、またはステップS210における判定の結果、フォーカスレンズが駆動中でない場合、またはステップS211においてFCSモータの停止処理を行うと、次に、絞り制御指示が有るか否かを判定する(S221)。カメラ本体200は、ステップS109の絞りプレビュー時の絞り駆動指示時、ステップS114の撮影処理時、ステップS118の動画録画時のAE処理時等において、絞り制御指示のためのコマンドを、レンズCPU120に対して出力する。このステップS221においては、この絞り制御指示のためのコマンドが送信されてきたか否かを判定する。
ステップS221における判定の結果、絞り制御指示が有る場合には、次に、絞り目標位置を設定し(S222)、絞り目標速度を設定し(S223)し、絞りモータ駆動を開始する(S224)。カメラ本体200は、絞り制御指示のためのコマンドをレンズCPU120に出力する場合には、設定する絞り値を送信してくるので、この絞り値と、現在の焦点距離と、絞り制御データ記憶部123に記憶されているズームレンズ群103の位置と絞り106の開口量との関係を記憶した絞り制御データ記憶部123の記憶値に基づいて、現在の絞り値から受信した絞り値に到達するための駆動ステップ数を演算することにより、絞り目標位置を設定する。そして、この設定された目標位置に向けて駆動する際の絞り目標速度を設定する。絞り目標位置と絞り目標速度を設定すると、絞りモータ(絞り用ステッピングモータ112)によって、絞り106の絞り駆動制御を開始する(図3(b)参照)。
絞りモータの駆動を開始すると、次に、絞り指示値を記憶する(S225)。ここでは、カメラ本体200から送信されてきた絞り制御指示用のコマンド中にある絞り指示値を絞り制御データ記憶部123に記憶する。これは、絞り制御が終了しないうちに、撮影者がズーム操作を行う場合があり、この場合でも、カメラ本体200から指示された絞り値となるように、絞り106の開口径を制御するためである(ステップS226、S227参照)。
絞り指示値を記憶すると、次に、ズーム(ZM)位置変更が発生したか否かを判定する(S226)。ここでは、撮影者がズーム環を回動操作し(またはカメラ本体側のズーム操作部材)、焦点距離が変更したか否かを判定する。焦点距離の変更の発生は、たとえば、ズーム位置検出部114によって検出された焦点距離の時間的変化に基づいて、判定してもよい。
ステップS226における判定の結果、ズーム位置変更が発生した場合には、目標位置の更新を行う(S227)。焦点距離が変わると、カメラ本体200から指示された絞り値とするためには、絞り106の開口径を変えなければならない。このステップでは、カメラ本体200から指示された絞り値となるように、ステップS222において設定された絞り目標位置を変更する(図3(b)参照)。
ステップS221における判定の結果、絞り制御指示がない場合には、次に、ズーム(ZM)位置変更が発生したか否かを判定する(S228)。前述したように、レンズ鏡筒100に設けられたズーム環等を操作すると、光学系の焦点距離が変化する。このステップでは、例えば、ズーム位置検出部114によって検出された焦点距離の時間的変化に基づいて、ズーム位置に変更が生じたか否かを判定する。この判定の結果、ズーム位置の変更が発生していない場合には、ステップS202に戻る。
ステップS228における判定の結果、ズーム位置の変更が発生している場合には、次に、絞りトラッキング処理を実行する(S229)。ここでは、ズーム操作により焦点距離が変化しても、カメラ本体200側から指示されている絞り値が維持されるように、絞り106の開口量(開口径)の制御を行う(図3(a)参照)。この絞りトラッキング処理の詳しい動作については、図9を用いて後述する。
ステップS229において絞りトラッキング処理をおこなうと、またはステップS226における判定の結果、ズーム位置変更が発生していない場合、またはステップSステップS227において目標位置更新を行うと、次に、通信終了指示があるか否かを判定する(S230)。カメラ本体200側において、電源がオフする等によって、カメラ本体200とレンズ鏡筒100の間で通信を終了する場合には、レンズ鏡筒100側に電源オフの前に通信終了のコマンドが送信されてくる。そこで、このステップでは、通信終了の指示が有るか否かについて判定する。
ステップS230における判定の結果、通信終了の指示がない場合には、ステップS202に戻る。一方、判定の結果、通信終了の指示が有る場合には、通信終了処理を行い(S231)、レンズ通信のフローを終了する。
このように、レンズ通信のフローにおいては、カメラ本体200から絞り制御のコマンドを受信すると、現在の絞り位置と現在のズーム位置を読み出し、また絞り制御データ記憶部123からズーム位置と絞りの開口量の関係を用いて、現在の絞り値から受信した絞り値に到達するための駆動ステップ数を演算し、絞り用ステッピングモータ112の駆動を行っている(S221〜S224)。このため、ズーム位置に係らず、正確な絞り値に制御することができる。
また、カメラ本体200から受信した絞り制御のコマンドに基づいて、絞り制御を行っている最中に、ズーム操作がなされた場合には、このズーム操作に基づく焦点距離に変化に応じて、絞りの目標位置を更新している(S226、S227)。このため、カメラ本体200の指示した絞り値に正確に制御することができる。
次に、図8を用いて、ステップS205(図6)のフォーカス駆動処理の動作について説明する。フォーカス駆動処理のフローに入ると、まず、目標位置を設定し(S301)、目標速度を設定する(S302)。カメラ本体200側からAF処理のためのコマンドが送信されてくる場合には、目標位置が併せて送られてくる。そこで、レンズCPU120内のフォーカス制御部125は、目標位置に到達するためのFCS群用ステッピングモータ111の駆動パルス数(目標位置)を設定し、また目標位置に到達するまでのパルスレート(目標速度)を設定する。
ステップS301およびS302において目標位置と目標速度を設定すると、FCSモータの駆動を開始する(S303)。ここでは、ドライバ113を介してFCS群用ステッピングモータ111を駆動し、フォーカスレンズ群102を目標位置に向けて駆動開始する。
FCSモータの駆動を開始すると、次に、フォーカスモータ駆動中か否かを判定する(S304)。FCS群用ステッピングモータ111は、ステップS301において設定したステップ数分、駆動を行う。
ステップS304における判定の結果、フォーカスモータの駆動が終わると、フォーカス制御終了処理を行う(S305)。そして、この終了処理が終わると元のフローに戻る。
次に、図9を用いて、ステップS229(図7)の絞りトラッキング処理の動作について説明する。絞りトラッキング処理のフローに入ると、まず、カメラ本体の最新指示値の読み出しを行う(S401)。カメラ本体200から絞り制御のためのコマンドを受信すると、ステップS225において、絞り指示値を絞り制御データ記憶部123に記憶している。ここでは、絞り制御データ記憶部123に記憶した最新の絞り指示値を読み出す。
最新の指示値を読み出すと、次に、現在絞り値(現在の絞り制御パルス位置)plsの読み出しを行う(S402)。本実施形態においては、絞り106の駆動用としてステッピングモータを使用していることから、現在の絞り値は、ステッピングモータの駆動ステップ数のカウント値(絞り制御パルス位置)plsによって求めることができる。
現在絞り値を読み出すと、次に、現在ズーム(ZM)位置読み出しを行う(S403)。ここでは、ズーム位置検出部114の検出出力に基づいて、現在のズーム位置を読み出す。
続いて、最新の指示値は現在ズーム(ZM)位置の開放Fno.未満か否かを判定する(S404)。絞り106の開放Fnoは、焦点距離によって変化し、一般に、焦点距離が長くなると、開放Fno.も大きくなる。ステップS401によって読み出したカメラ本体200からの絞り値は、ステップS403において読み出した現在設定されている焦点距離では、設定不可能な場合がある。そこで、このステップでは、カメラ本体200側で設定された絞り値に絞り106が設定可能か否かを判定する。
ステップS404における判定の結果、最新の指示値は現在ZM位置の開放Fno.未満の場合には、最新の指示値を現在ZM位置の開放Fno.で丸め込む(S405)。ここでは、カメラ本体200側で設定された絞り値に設定することができないことから、現在設定されている焦点距離における開放Fnoとする。
ステップS405における処理を行うと、またはステップS404における判定の結果、最新の指示値は現在ZM位置の開放Fno.未満でなかった場合には、次に、最新の指示値は現在ZM位置の最大Fno.より大きいか否かを判定する(S406)。絞り106は、一番絞り込んだ状態(最大Fno.)よりも更に絞り込むことができず、また、この最大Fno.は、焦点距離によって変化する。そこで、このステップでは、カメラ本体200側で設定された絞り値に絞り106が設定可能か否かを判定する。
ステップS406における判定の結果、最新の指示値は現在ZM位置の最大Fno.より大きい場合には、最新の指示値を現在ZM位置の最大Fno.で丸め込む(S407)。ここでは、カメラ本体200側で設定された絞り値に設定することができないことから、現在設定されている焦点距離における最大Fnoとする。
ステップS407における処理を行うと、またはステップS406における判定の結果、最新の指示値は現在ZM位置の最大Fno.より大きくなかった場合には、次に、目標絞り位置(絞り制御パルス位置)plsを演算する(S408)。ここでは、ステップS401〜S403において読み出した、カメラ本体から指示された絞り値、現在の絞り値、および現在の焦点距離を用いて、絞り制御データ記憶部123に記憶されているズームレンズ群の位置と絞り制御パルス位置から、目標絞り値に到達するための駆動pls数(ステッピングモータの駆動ステップ数、目標絞り制御パルス位置と現在の絞り制御パルス位置との差)を演算する。
目標絞り位置(絞り制御パルス位置)plsを演算すると、次に絞りモータの駆動を行う(S409)。ここでは、絞り制御部124は、ドライバ113を介して絞り用ステッピングモータ112の駆動制御を行い、絞り106の制御を行う。
このように、絞りトラッキング処理においては、ズーム操作により焦点距離が変更されても、この変更前の絞り値が維持されるように、焦点距離の変更に応じて絞り値の開口量(絞り制御パルス位置)を制御している。なお、焦点距離の検出は、図2を用いて説明したように、所定時間間隔で行われており、この時間間隔で絞り106の開口径の制御がなされる。なお、動画録画ボタンが押されて動画録画中である場合には、絞りの開口径の制御は静音動作をする。
以上説明したように、本発明の一実施形態においては、ズームレンズ群103の位置を検出するズームレンズ位置検出部114と、ズームレンズ群103の位置と絞り106の絞り制御パルス位置との関係を記憶する絞り制御データ記憶部123を有しており、絞り制御データ記憶部123の出力とズームレンズ群103の位置に応じて絞り106の開口量(絞り制御パルス位置)を設定している。このため、ズーム操作による絞り開口の変化や外部からの絞り開口の指示に対応して、高精度な絞り開口量の制御を可能とし、しかも小型化を図っている。
また、本発明の一実施形態においては、絞り制御データ記憶部123は、ズームレンズ群103の複数の所定位置に対応する絞り106の複数の開口量に相当する絞り制御パルス位置を記憶し、絞り制御部124は、絞り制御データ記憶部123の出力に基づいて、所定時間間隔でのズームレンズ群103の位置に応じた絞り106の絞り制御パルス位置を演算して絞り106の開口量を制御している(図2、図9参照)。このため、ズーム操作がなされた場合でも、所定時間間隔で絞り106の開口径が制御されるので、一定の絞り値を維持することができ、被写体像の明るさの変動を抑えることができる。
また、本発明の一実施形態においては、外部からの絞り106の開口量に関する指示を入力することが可能であって(例えば、S108の絞りプレビューの指示)、絞り制御データ記憶部123の出力とズームレンズ群103の位置に応じて絞り106の開口量を設定する動作を行っている状態で、外部からの指示が入力された場合に、外部からの指示が入力された時のズームレンズ群103の位置に応じて、絞り制御データ記憶部123の出力に基づき絞り106の開口量を設定し、絞り106の開口量の設定が完了した時のズームレンズ群103の位置に応じて絞り106の開口量を設定し直すようにしている。このため、絞りプレビュー等、外部から絞りの開口量に関する指示を行っても、焦点距離に応じて絞り値に対応する開口量とすることができる。
なお、本発明の一実施形態の変形例として、絞り制御データ記憶部123は、絞り106の開口量(絞り制御パルス位置)の変化の最小量(最小制御パルス数、たとえば1パルス)に対応してズームレンズ群103の位置を記憶し、絞り制御部124は、絞り制御データ記憶部123の出力に基づいて、最小量に対応するズームレンズ群103の位置に応じて絞り106の開口量を設定するようにしてもよい。このような構成とすることにより、絞り106の開口量の位置を補間演算等によって行うことなく、高精度で制御することができる。
また、本発明の一実施形態の変形例として、絞り制御部124は、絞り駆動部(絞り用ステッピングモータ112)により絞り106の開口量を変化させる速度を、ズームレンズ群103の移動速度に比例する速度に設定するようにしてもよい。このような構成にすることにより、ズーミングに連動した絞り径の変化とすることができ、ズーム操作によって明るさが変化することを防止することができる。
なお、本発明の一実施形態においては、撮影のための機器として、デジタルカメラを用いて説明したが、カメラとしては、デジタル一眼レフカメラでもコンパクトデジタルカメラでもよく、ビデオカメラ、ムービーカメラのような動画用のカメラでもよく、さらに、携帯電話、スマートフォーンや携帯情報端末(PDA:Personal Digital Assist)、ゲーム機器等に内蔵されるカメラでも構わない。いずれにしても、焦点距離を可変な光学系と、絞りを有する光学機器であれば、本発明を適用することができる。
また、本明細書において説明した技術のうち、主にフローチャートで説明した制御に関しては、プログラムで設定可能であることが多く、記録媒体や記録部に収められる場合もある。この記録媒体、記録部への記録の仕方は、製品出荷時に記録してもよく、配布された記録媒体を利用してもよく、インターネットを介してダウンロードしたものでもよい。
また、特許請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず」、「次に」等の順番を表現する言葉を用いて説明したとしても、特に説明していない箇所では、この順で実施することが必須であることを意味するものではない。
本発明は、上記実施形態にそのまま限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素の幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。