(第1の実施形態)
以下、本発明の例示的な実施形態について図面を参照して説明する。
図1は、本発明の第1の実施形態に係る撮像装置の一例としてのレンズ交換式デジタルカメラシステムの機能構成例を示すブロック図である。カメラシステムはカメラ10と、カメラ10に着脱可能なレンズユニットである交換レンズ100とから構成される。マウント1は、カメラ10に対して交換レンズ100を着脱可能に装着するための機構であり、カメラ10から交換レンズ100に電源を供給したり、カメラ10と交換レンズ100との間で相互に通信したりするための電気的接点を備える。マウント1は、カメラ10が有する部分と交換レンズ100が有する部分とに分かれるが、図1では便宜上まとめて記載している。
イメージセンサ(撮像素子)11は複数の画素を有する光電変換デバイスである。イメージセンサ11は、交換レンズ100内の撮像レンズ101により形成された被写体像を各画素で光電変換して被写体像に対応したアナログ電気信号を出力する。イメージセンサ(撮像素子)11は被写体像を撮像可能なように構成されている。また、A/D変換部12は、イメージセンサ11から出力されたアナログ電気信号をデジタル信号に変換する。画像処理部13は、A/D変換部12の出力するデジタル信号に対して各種の画像処理を適用し、画像データを生成する。画像処理部13は、撮像レンズ101の光学特性による画像劣化を画像処理によって補正する光学補正機能を提供する光学補正部130と、画素補間処理や輝度信号処理、色信号処理など、いわゆる現像処理を行う。画像処理部13にて生成された画像データは表示部14に表示されたり、メモリカードなどの記録媒体15に記録されたりする。
メモリ16は、画像処理部13の処理バッファや、後述するカメラ制御部18が実行するプログラムの記憶装置として利用される。メモリ16は、光学補正部130が使用する光学補正値が定義された後述の光学補正データの記憶装置や、カメラ10が表示部14に表示するメニュー画面などのGUIデータの記憶装置としても用いられる。
操作入力部17は、電源のオン/オフを行うための電源スイッチ、画像の記録を開始させる撮影スイッチおよび、各種メニューの設定を行うための選択/設定スイッチ等、ユーザがカメラ10に指示を入力するための入力デバイス群である。カメラ制御部18は、マイクロコンピュータを有し、メモリ16に記憶されたプログラムを実行し、画像処理部13の制御や交換レンズ100との通信制御など、カメラシステム全体の動作制御を行う。
交換レンズ100が有するレンズ駆動部102は、レンズ制御部103の制御に従い、撮像レンズ101のアクチュエータやモータを駆動する。撮像レンズ101のアクチュエータやモータは、撮像レンズ101が有するフォーカスレンズ、ズームレンズ、絞りおよび防振レンズなどを移動または動作させる。レンズ制御部103はマイクロコンピュータを有し、カメラ制御部18からマウント1を通じて受信した制御信号に応じてレンズ駆動部102を制御するレンズ制御部103を有する。メモリ104は、レンズ制御部103が用いる各種データの記憶装置として用いられる。
図4は、図1における、カメラ制御部18とレンズ制御部103との通信に係る構成の例を示すブロック図である。
まず、マウント1が有する端子について説明する。
LCLK端子 1−1は、カメラ10から交換レンズ100に出力される通信クロック信号用の端子である。DCL端子 1−2は、カメラ10から交換レンズ100に出力される通信データ用の端子である。DLC端子 1−3は、交換レンズ100からカメラ10に出力される通信データ用の端子である。
MIF端子 1−4は、カメラ10に交換レンズ100が装着されたことを検出するための端子である。カメラ制御部18内のマイクロコンピュータ(以下、カメラマイコンという)20は、MIF端子 1−4の電圧に基づいて、交換レンズ100がカメラ10に装着されたことを検出する。
DTEF端子 1−5は、カメラ10に装着された交換レンズ100の種類を検出するための端子である。カメラマイコン20は、DTEF端子 1−5の電圧に基づいて、カメラ10に装着された交換レンズ100の種類を検出する。
VBAT端子 1−6は、カメラ10から交換レンズ100に、通信制御を除く各種動作に用いられる駆動用電源(VM)を供給するための端子である。VDD端子 1−7は、カメラ10から交換レンズ100に、通信制御に用いられる通信制御用電源(VDD)を供給する端子である。DGND端子 1−8は、カメラ10と交換レンズ100の通信制御系をグランドに接続する端子である。PGND端子 1−9は、カメラ10と交換レンズ100に設けられたアクチュエータやモータ等を含むメカニカル駆動系をグランドに接続するための端子である。
本実施形態のカメラ10には、カメラ10との通信電圧が異なる複数種類の交換レンズ100が装着されうる。以下の説明では、説明及び理解を容易にするため、カメラ10がDTEF端子 1−5の電圧に基づいて識別する交換レンズ100の種類が、第1の交換レンズ(第1のレンズユニット)と、第1のレンズユニットと通信電圧が異なる第2の交換レンズ(第2のレンズユニット)の2種類であるものとする。
なお、DTEF端子 1−5の電圧で検出される「種類」は、光学補正値を特定するために必要な光学パラメータの種類によって分類される「種類」であり、いわゆる「機種」とは必ずしも対応しない。また、交換レンズの「種類」と、光学補正値を特定するために必要な光学パラメータの種類とは、予め対応付けて例えばメモリ16に記憶しておくことができる。
本実施形態において第1の交換レンズは、光学補正値を特定するために必要な光学パラメータが、焦点距離(単位はmm)、撮影距離(単位はcm)、および絞り値のそれぞれを特定可能な情報である交換レンズである。焦点距離を特定可能な情報は、例えば焦点距離の値や、ズームレンズの位置である。撮影距離を特定可能な情報は、例えば撮影距離の値や、フォーカスレンズの位置である。絞り値を特定可能な情報は、例えば絞り値や絞り値に対応する数値である。
一方、第2の交換レンズは、光学補正値を特定するために必要なパラメータが、絞り値と撮影倍率のそれぞれを特定可能な情報である交換レンズである。撮影倍率を特定可能な情報は、例えば撮影倍率の値や、撮影倍率を制御する光学部材の位置情報である。マクロレンズは第2の交換レンズに該当する交換レンズの一例である。マクロレンズの撮影倍率は、倍率変更用リングの回転によって位置が変化する光学部材によって変化する。そのため、撮影倍率を特定可能な情報として、倍率変更用リングのような撮影倍率変更機構の位置情報を、撮影倍率を制御する光学部材の位置情報として用いてもよい。
カメラ制御部18内に設けられたカメラ電源部21は、カメラ10に搭載されたバッテリから供給されたバッテリ電圧を各部の動作に必要な電圧に変換する。本実施形態においてカメラ電源部21は、電圧V1、V2、V3、VMを生成するものとする。
第1の電圧V1は、第1および第2の交換レンズの通信制御用電源(VDD)としての電源電圧であるとともに、第1の交換レンズの通信電圧である。第2の電圧V2は、第2の交換レンズの通信電圧である。第3の電圧V3は、カメラマイコン20の動作用電源としての電源電圧である。第4の電圧VMは第1および第2の交換レンズの駆動用電源としての電源電圧である。
操作入力部17の電源スイッチの操作により電源オンが指示されると、カメラマイコン20は、CNT_VDD_OUT端子からスイッチ22をオンする信号を出力し、カメラ10から交換レンズ100へのVDDとVMの供給を開始する。電源オフが指示されるとカメラマイコン20は、CNT_VDD_OUT端子からの信号出力を停止してスイッチ22をオフとし、カメラ10から交換レンズ100へのVDDとVMの供給を停止する。
カメラマイコン20は、電圧変換部23を介して交換レンズ100との通信を行う。カメラマイコン20は、通信用クロック信号を出力するLCLK_OUT端子と、交換レンズへの通信データを出力するDCL_OUT端子と、交換レンズからの通信データの入力を受けるDLC_IN端子とを有する。通信用クロック信号および通信データは、通信用信号である。
また、カメラマイコン20は、交換レンズ100の装着を検出するためのMIF_IN端子と、交換レンズ100の種類を識別するためのDTEF_IN端子と、電圧変換部23への通信電圧切り替え信号を出力するCNT_V_OUT端子とを有する。
さらに、カメラマイコン20は、スイッチ22をオン・オフさせる信号を出力するCNT_VDD_OUT端子と、画像処理部13との接続端子と、操作入力部17との接続端子とを有する。
レンズ制御部103内のマイクロコンピュータ(以下、レンズマイコンという)211は、カメラ制御部18の電圧変換部23を介してカメラマイコン20と通信を行う。レンズマイコン211は、通信用クロック信号の入力を受けるLCLK_IN端子と、カメラ10への通信データを出力するDLC_OUT端子と、カメラ10からの通信データの入力を受けるDCL_IN端子と、レンズ駆動部102との接続端子とを有する。また、レンズ制御部103はVDDからレンズマイコン211の動作電圧を生成するレンズ電源部214を有する。
交換レンズ100のカメラ10への装着検出について説明する。カメラマイコン20のMIF_IN端子は、抵抗R2(100KΩ)によって電源にプルアップされているので、レンズ未装着時にはその電圧値はH(High)となる。しかし、MIF_IN端子は、交換レンズ(第1および第2の交換レンズ)100が装着されると交換レンズ100においてGNDに接続されるため、交換レンズ100の種類にかかわらず交換レンズ100が装着された時点でその電圧値はL(Low)となる。
図5は、レンズ制御部103が有するレンズ種類被判定部213の構成例を示す図である。レンズ種類被判定部213は、マウント1に設けられたDTEF端子とGNDとの間に設けられたアクセサリ側抵抗RLにより構成される。抵抗RLの抵抗値は、交換レンズの種類に応じた値を予め設定しておく。例えば、図5(A)に示す第1の交換レンズに設けられた抵抗RLでは0Ωとし、図5(B)に示す第2の交換レンズに設けられた抵抗RLでは300KΩとする。
カメラ10では、マウント1のDTEF端子とカメラマイコン20の動作用電源の電圧(V3)との間にカメラ側抵抗R1(例えば100KΩとする)が接続され、さらにDTEF端子がカメラマイコン20のDTEF_IN端子に接続される。カメラマイコン20のDTEF_IN端子は、AD変換機能(ここでは、0〜1.0Vを入力レンジとする10BitのAD変換機能とする)を備えている。
カメラマイコン20による交換レンズの種類判定の動作について説明する。カメラマイコン20は、DTEF_IN端子に入力される電圧値に応じて、装着された交換レンズの種類判定を行う。具体的には、カメラマイコン20は、入力された電圧値をAD変換し、そのAD変換値とカメラマイコン20が予め有するレンズ種類判定基準とを比較することでレンズ種類判定を行う。
例えば、第1の交換レンズが装着された場合は、DTEF_IN端子に入力される電圧のAD変換値は、R1の100KΩとRLの0Ωとの抵抗比RL/(R1+RL)で、およそ「0x0000」と決まる。このため、カメラマイコン20は、DTEF_IN端子のAD変換値が第1のレンズ種類判定基準である「0x0000〜0x007F」の範囲内にあることを検出して、装着された交換レンズが第1の交換レンズであると判定する。
一方、第2の交換レンズが装着された場合は、DTEF_IN端子に入力される電圧のAD変換値はR1の100KΩとRLの300KΩとの抵抗比RL/(R1+RL)で、およそ「0x02FF」と決まる。このため、カメラマイコン20は、DTEF_IN端子のAD変換値が第2のレンズ種類判定基準である「0x0280〜0x037F」の範囲内にあることを検出して、装着された交換レンズが第2の交換レンズであると判定する。
前述したように、カメラマイコン20は、装着された交換レンズ100の種類を、DTEF_IN端子に入力される電圧値に基づいて判定する。そして、交換レンズ100の種類の判定結果に応じて、CNT_V_OUT端子から出力する信号の論理レベルを制御する。具体的には、DTEF_IN端子の電圧値から、装着された交換レンズ100が第1の交換レンズであると判定した場合、カメラマイコン20は、CNT_V_OUT端子からHレベルの信号を出力して通信電圧をV1に制御する。また、装着された交換レンズ100が第2の交換レンズであると判定した場合、カメラマイコン20は、CNT_V_OUT端子からLレベルの信号を出力して通信電圧をV2に制御する。
また、カメラマイコン20は、装着された交換レンズ100の種類の判定結果に応じて、LCLK端子から出力するクロックの周波数を決定する。例えば比較的古いレンズは低い周波数での通信にのみ対応することがあるため、このような古いレンズは第1の交換レンズとして判定するよう構成し、初期通信を低い周波数で開始する。一方で第2の交換レンズであると判定した場合には、初期通信を高速なボーレートで開始する。これによりいったん通信を行い互いに通信可能なボーレートのやり取りを行うことなく、比較的新しいレンズに対しては初期通信から高速なボーレートで初期通信を実施することが可能となり起動時間の短縮などが可能となる。
初期通信の通信例として同期クロック方式を図13に図示する。
通信端子Cout、Cin、Cclkはそれぞれ図2におけるDCL端子、DLC端子、LCLK端子に対応する。Cclk波形をカメラがレンズへ供給し、カメラ、レンズ双方はCclk波形に同期させるようにCin、Coutにデータ信号を映させる。通信端子Cclkからの信号が所定の時間にわたってLoレベルの出力となっている期間がある。この期間は、レンズ制御部103がフォーカスユニットの駆動制御を行うなどのレンズ側処理を行っている期間であり、この期間中カメラはクロックの送信を停止する。このクロック供給のボーレートを、装着されたレンズが第1の交換レンズであれば低速なボーレートで行い、第2の交換レンズであれば高速なボーレートで行う。
DTEF_IN端子の電圧値(AD変換値)として上述した第1および第2のレンズ種類判定基準外の範囲の電圧値を検出した場合、カメラマイコン20は、カメラ10が対応していない交換レンズである「非対応レンズ」が装着されたものと判定する。または、レンズ種類判定が正常に行えないとして判定を留保(Reserved)する。これらの場合は、カメラマイコン20は、交換レンズ100との通信を行わない。
<光学補正の必要性について>
ここで、光学補正の必要性について説明する。レンズ固定式の撮像装置であれば、予め全ての光学パラメータ値の組み合わせに関して光学補正値を求めておくこともできる。実際には必要な記憶容量などに応じて離散的な組み合わせのみを記憶し、記憶されていない組み合わせについては補間によって求める構成となるかもしれないが、補正精度の確保は比較的容易である。
一方、レンズ交換式の撮像装置の場合、装着可能なレンズユニットの種類は膨大であり、マクロレンズやシフトレンズといった特殊なレンズも存在する。
また、新しい通信プロトコルに対応してないレンズユニットに対する互換性の確保も必要であり、装着されたレンズユニットの種別やレンズユニットが備えている機能に対応した適切なカメラ制御が必要となる。
前述の通り、1つの交換レンズでも光学特性は複数の光学パラメータの組み合わせごとに異なる。一般的なレンズでは焦点距離、撮影距離、絞り値の組み合わせによって光学補正値を一意に求めることができるが、レンズユニットの多様化により、光学補正値を特定するために他の光学パラメータが必要な場合がある。この点について以下説明する。
図2は等倍からn倍までの拡大撮影が可能な単焦点マクロレンズにおける倍率と撮影距離の関係例を示す図である。この例では撮影倍率がmの場合とnの場合とで撮影距離が同じ値をとるが、撮影倍率が変わると光学特性は変化するため、光学補正値は撮影倍率がmの場合とnの場合とで異なる。
図3は図2の特性を有するマクロレンズにおける周辺減光特性と、図2で示した撮影距離からもとめた光学補正値を用いて周辺減光を補正した結果の例を示す図である。具体的には、均一輝度の被写体を撮影して得られた画像の明るさ(光量)が、画像中心からの距離である像高に応じてどのように変化しているかを、画像中心の明るさを100として示している。
図3(a)、(b)はそれぞれ、撮影倍率がmの場合とnの場合とにおけるマクロレンズの周辺減光特性を示している。像高が高くなるにつれ(画面の中心から周辺に向かうにつれ)光量が減少する点では共通しているが、特性は異なっている。従って、焦点距離、撮影距離、絞り値の組み合わせからでは、撮影倍率がmの場合とnの場合との少なくとも一方について、用いるべき周辺減光の光学補正値を特定することができない。
図3(c)、(d)に、撮影倍率を考慮せずに特定した光学補正値を用いた補正結果の例を示す。この例では、撮影倍率がmの場合は周辺減光が適切に補正されているが、撮影倍率がnの場合は補正が不足し、適切な補正が行なわれていない。このように、レンズユニットによっては、焦点距離、撮影距離、絞り値の情報だけでは適切な光学補正値を決定することができない場合がある。
例えば図2の特性を有するマクロレンズを用いて撮影された画像に対して適切な光学補正を行うには、撮影倍率を特定するための情報が必要である。例えば撮影倍率はレンズユニットに設けられた倍率変更用リングの手動操作によって機械的に設定されるが、設定された撮影倍率が分かれば適切な光学補正値を特定することができる。
このように、レンズ交換式の撮像装置において、様々な種類(機種)のレンズユニットで撮影されうる画像に対して適切な光学補正を適用するためには、光学補正値を特定するために必要な光学パラメータ値を、レンズユニットの機種ごとに取得する必要がある。
<交換レンズ種別の判定処理>
図6は、本実施形態においてカメラマイコン20が行う交換レンズ種別の判定処理および光学パラメータ受信処理を説明するためのフローチャートである。図6に示す処理は、カメラマイコン20が、メモリ16内に格納されたプログラムを実行することにより実施される。
カメラマイコン20は、MIF_IN端子から電圧値H又はLを、DTEF_IN端子から電圧値を読み込む(S601、S602)。なお、MIF_IN端子からの信号の取得と、DTEF_IN端子からの信号の取得とを並行に実行してもよい。
MIF_IN端子の電圧値がLであり、交換レンズ100の装着が検出された場合、カメラマイコン20は、DTEF_IN端子の電圧値(のAD変換結果)に基づいて、装着された交換レンズ100の種類を判定する(S603)。カメラマイコン20は、装着された交換レンズ100が第1の交換レンズ(図にはレンズタイプ1と記す)であると判定した場合は、初期通信の通信ボーレートをレンズタイプ1に対応した設定とする(S610)。本実施例ではレンズタイプ2には低速ボーレート通信にのみ対応するレンズが含まれるものとし、通信処理を低速に行う(後述するS612)。CNT_V_OUT端子からHを出力して通信電圧をV1に設定し(S611)、処理を進める(S612)。
また、装着された交換レンズ100が第2の交換レンズ(図にはレンズタイプ2と記す)であると判定した場合、カメラマイコン20は、初期通信の通信ボーレートをレンズタイプ2に対応した設定とする(S621)。本実施例ではレンズタイプ2には高速ボーレート通信に対応するレンズが含まれるものとし、通信処理を高速で行う(後述するS612)。CNT_V_OUT端子からLを出力して通信電圧をV2に設定し(S622)、処理を進める(S612)。さらに、装着された交換レンズ100が第1および第2の交換レンズのいずれでもなく、「非対応レンズ」又は留保(Reserved)と判定した場合(S630)、カメラマイコン20は装着された交換レンズ100との通信を開始せず処理を停止する。この時、ユーザーに対する警告などの処理を行っても良い。
カメラマイコン20は、設定した通信電圧および通信ボーレートでの交換レンズ100との通信を開始する(S612)。
レンズとの間で初期データ交換処理を行う(S612)。これによりカメラマイコン20は、交換レンズ100の個体情報としてのレンズIDを取得して、装着されている交換レンズ100がどのような機能に対応しているか、レンズ種別に関わる情報を得る。これによりカメラマイコン20は、レンズ情報取得手段として機能する。個体情報としてのレンズIDは、レンズ情報記憶手段としてのメモリ104に記憶されている。
レンズ種別情報としてはたとえば、リセット動作が必要であるか否か(後述するS631)、光学補正データを通信で得ることが可能であるか(後述するS633)、撮像タイミング信号に同期した通信方式に対応可能であるか、などを含む。リセット動作は駆動可能な光学部材において位置制御を行うため、当該制御の基準位置をレンズ制御部103が検出する処理動作である。以降の記述では、撮像タイミング信号に同期した通信方式を動画通信方式、撮像タイミング信号に同期しない通信方式を静止画通信方式と記載することもある。すなわち、第2の通信方式としての動画通信方式は、センサからの撮像信号の読み出しタイミングに対応する垂直同期信号に同期した信号をカメラマイコン20から交換レンズ100へ送信する通信方式である。これにより、撮像タイミングに合わせたレンズや絞りの駆動制御を実現するものである。
S612で得たレンズ種別情報で、レンズがリセット動作に対応するか否かを判定する(S631)。リセット動作に対応するレンズであれば、ステップ632へ移行する。
<リセット通信処理1>
S632の処理を図7に示す。カメラマイコン20はリセット通信処理を開始すると、図19にあるように、通信方式が動画通信方式であるか否かをチェックする(S640)。ここで否であれば、静止画通信方式から動画通信方式への通信状態の切り替え処理を行う(S641)。
これはレンズの処理としてリセット動作を行うときに撮像タイミング信号に同期した制御を行うことが好ましいためである。より詳しくは動画通信方式に対応した交換レンズは、カメラの撮像タイミングに同期した通信方式が行われることが多いからである。このような動画通信方式に対応した交換レンズは、ライブビューなどの際に動画通信方式で通信することが好ましい。撮像タイミングに対応させることができるからである。このように動画通信方式で通信しているとき、レンズユニットが脱調するなどの原因により再リセットを実行する必要がある。そうすると、撮像のタイミングを回避するようにレンズのリセット動作を実現する事が好ましいため、リセット動作では動画通信方式において実行するのである。
<静止画通信方式例>
第1の通信方式としての静止画通信方式例は図13に図示するように、カメラマイコン20がマスターとして機能し、所定のタイミングで交換レンズ100へクロック信号とともに制御信号を送信する方式である。
<動画通信方式例>
一方、動画通信方式のメリットの1つはカメラ制御部18が、センサ11の露光時間に合わせた制御処理を行うことが容易になる点である。すなわち、カメラ制御部18は、レンズ制御部108と、撮像タイミングを共有することができる。これにより、たとえば、センサ11の露光時間中の画像のコントラスト値(AF評価値)を使わずにフォーカス制御を行うことができる。線さ1の露光時間を考慮したウォブリングなどの制御を行えることにある。
図14の(A)は、横軸に時間軸をとり、フレーム間隔および露光時間を示す。同(B)は、カメラ制御部18とレンズ制御部103との間での通信処理を示し、横軸は時間軸である。同(C)は、レンズ駆動制御では横軸に時間軸をとり、縦軸にフォーカスレンズの位置を示しており、停止期間、ウォブリングの駆動期間を示す。ここで(B)に記載した第1通信、第2通信からなる通信処理について図15に記載する。
撮像信号に係るフレームに対応する露光周期毎に固定長の第1通信、第2通信の2つの通信処理が行われる。この時第1通信の開始タイミングをカメラ側で撮像タイミング信号と同期させることで撮像タイミングをレンズに通信する。この構成により撮像タイミングに近いタイミングでやり取りすることが好ましいデータを第1通信にて実施し、第1通信でやり取りした情報を基に制御情報を生成し、第2通信にて当該制御情報をレンズへ通信することで1V(1回の撮像タイミング期間)中にてレンズ制御を完結することができる。
<リセット通信処理2>
静止画通信方式から動画通信方式への通信方式の切り替えを行い(図19のS641)、上記の動画通信方式にてレンズへリセット動作を開始するための要求を送信する(S642)。これによりカメラマイコン20は、リセット指示手段として機能する。たとえば、Coutの第1通信でカメラからレンズへリセット動作を要求し、Cinの第1通信でレンズからカメラへリセット完了状態を通信するよう構成する。まず、ある第1通信でデータ交換を行い、交換レンズ100の撮像レンズ101の位置制御のリセット動作が未完了の状態であるかどうかをカメラ制御部18が判断する。もしもリセット動作が未完了の状態であれば、その後の第1通信でリセット動作の開始要求をCoutにて送信し、レンズのリセットの完了状態はinでカメラが取得するように構成する。レンズからの応答でリセット動作が完了するまで待つこととなる(S642)。
レンズへのリセット要求はレンズを構成するユニットである、フォーカス、IS、ズーム、絞りなど個別にリセット要求を送信できるようにしても良い。また、このように個別にリセット要求を送信できるようにした場合、リセット動作が完了したユニットから順次駆動要求を送信しても良い。この場合、シーケンシャルにカメラ制御部18が処理を行う必要がある。一方、上記処理のように、ある第1通信でリセット動作の開始要求を行って、それに呼応して、レンズ制御部103が、フォーカス、光学防振、ズーム、絞りをリセット動作させると次のメリットがある。すなわち、レンズ制御部103は、自身の交換レンズ100の特性を予め記憶しておけるので、それに合わせて、リセット動作を並行して行うことができる。たとえば、フォーカスのリセット動作に時間がかかるときには、まずフォーカスのリセット動作を開始させ、その後に絞り、光学防振のリセット動作を開始させるといった具合である。また、消費電力の関係から並行してリセット動作を行う組み合わせを記憶しておいてもよい。
リセット動作の要求、リセット動作の完了状態の通信をいずれも第1通信で行うものとして説明したが、第2通信にて行っても良い。
そして、上記の動画通信方式から静止画通信方式への復帰処理を行う(S643)。ただし、通信方式のデフォルト設定方式を動画通信方式とするならば本処理は不要となる。たとえばマニュアルフォーカス設定などでウォブリング制御が不要である場合などは静止画通信方式に復帰することが好ましい。この点、被写体追従設定などウォブリング動作を実行させたい場合には、動画通信方式のままとしても良い。
<切り替え処理>
次に、S641での静止画通信から動画通信への切り替え処理およびS643での動画通信から静止画通信への切り替え処理について説明する。
まず静止画通信から動画通信への切り替え処理を図17にて説明する。
カメラ側処理としては、処理を開始し(S1700)、カメラ制御部18は動画通信方式において通信規定(通信プロトコル)としてあらかじめ定められた所定のビットに1をセットして通信を行うことでレンズに対して動画通信方式を終了する要求を送信する(S1701)。
そして、通信方式を静止画通信方式に切り替える(S1702)。S1701でレンズに対して静止画通信方式への切り替え要求を送信後、所定の時間内にカメラシステムとしてレンズへの通信要求が発生したとしても所定時間、本要求を保留させる。そして、所定時間後に本要求処理を静止画通信方式にて実施する(S1703)。これはレンズ側の通信受け入れ状態が所定時間後に静止画通信方式に切り替わる事が保証されるためである。
レンズ側処理としては、動画通信方式で動作中に(S1702)、次のカメラからの受信割り込み処理が発生する(S1721)。レンズ制御部103は、動画通信方式の受信データのうちで、動画通信方式を終了する要求に対応するビットを参照する(S1723)。そして、0(終了要求なし)であれば、次にカメラから送信されるべき第2通信の受信待ちを行う(S1726)。一方、1(終了要求あり)であれば、所定時間内に通信設定を静止画通信方式に切り替えるとともに通常行われる第2通信は通信されないものとして動作する(S1724)。
本処理にてカメラ側とレンズ側は所定の待ち時間が経過することをもって互いに通信設定の切り替えが完了する事を期待した動作となる。これは動画通信方式で通信切り替え処理の開始タイミングが同期をとれているため、互いに改めて通信方式が切り替わったか否かをチェックする必要が無いからである。
<静止画通信方式への切り替え>
次に動画通信方式から静止画通信方式への切り替え処理を図18にて説明する。
カメラ制御部18は、処理を開始し(S1730)、静止画通信方式において通信規定としてあらかじめ定められたコマンドを交換レンズ100に送信することで動画通信の開始を要求する(S1731)。
カメラ制御部18は、当該要求を送信したのち、通信方式を動画通信方式に切り替える(S1732)。S1731でレンズに対して動画通信方式への切り替え要求を送信後、所定の時間内にカメラシステムとしてレンズへの通信要求が発生したとしても所定時間、本要求を保留させる(S1733)。そして、所定時間経過後に行う動画通信方式にて本要求処理を実施する。
レンズ側処理としては、静止画通信方式で動作中に(S1740)、次のカメラからの受信割り込み処理が発生する(S1741)。レンズ制御部103は、受信データが動画通信開始要求コマンドであるか否かを判定する(S1742)。
もしも動画通信切り替え要求コマンドであれば、所定の時間内に通信設定を動画通信方式に切り替える(S1743)。
S660では、カメラマイコン20は、操作入力部17の撮影スイッチにより画像の記録を開始させる撮影割り込みが生じたか否かを判定する。撮影割り込みが生じていない場合、カメラマイコン20は処理をS664に進める。撮影割り込みが生じている場合、カメラマイコン20は、S661で第1の光学パラメータを交換レンズ100との通信により取得する。
上述の通り、第1の光学パラメータはレンズタイプ1の交換レンズの光学補正値の特定に必要な情報であり、少なくとも焦点距離、撮影距離、絞り値のそれぞれを特定可能な情報を含む、交換レンズの基本的な光学パラメータである。これらの情報は光学補正以外の処理にも利用可能であるため、本実施形態では判定されたレンズの種類に関わらず第1の光学パラメータは取得する。すなわち、本実施形態では、第2の交換レンズが装着されていると判定されている場合も、S661で第1の光学パラメータを取得する。
次にS662およびS663でカメラマイコン20は、S603で交換レンズ100が第2の交換レンズと判定されていれば、第2の光学パラメータを交換レンズ100から取得する。第2の光学パラメータは第2の交換レンズの光学補正値の特定に必要な光学パラメータである。通常、第2の光学パラメータは、第1の光学パラメータとして取得するパラメータの少なくとも一部を含むため、ここでは第2の光学パラメータのうち、少なくとも第1の光学パラメータとは異なるものを取得する。本実施形態において、第2の光学パラメータは少なくとも撮影倍率を特定可能な情報を含む。また、第2のレンズがマクロレンズの場合、光学補正値は撮影倍率と絞り値から特定可能であるが、絞り値は第1の光学パラメータとして取得済みのため、S663で取得しなくてもよい。このように、第2の光学パラメータのうち、第1の光学パラメータと重複するものは、再度取得してもしなくてもよい。
S664でカメラマイコン20は、操作入力部17の電源スイッチのOFF操作による電源OFFの割り込みが生じたか否かを判定し、電源OFFの割り込みが生じた場合は電源OFFの処理を行う。一方、電源OFFの割り込みが生じていない場合、カメラマイコン20はS665で、MIF_IN端子の電圧がHレベルか否か、すなわち交換レンズ100がカメラ10から取り外されたか否かを判定する。MIF_IN端子からHレベルの電圧が入力された場合、カメラマイコン20はS73で交換レンズ100との通信を停止し、処理をS600に戻す。一方、MIF_IN端子からHレベルの電圧が入力されていない場合、カメラマイコン20は処理をS660に戻す。
このような通信処理を行なうことで、カメラ制御部18は装着された交換レンズ100が有する機能に適した通信処理を行い、装着レンズの種別の判定と、装着された交換レンズ100の光学補正値の特定に必要な光学パラメータを取得することが可能である。
なお、図6の例では装着された交換レンズ100の種類をDTEF_IN端子に入力される電圧値に応じて判定する方法を説明したが、他の判定方法を用いてもよい。例えば、S601およびS602のレンズ種別判定と、S610、S611、S621、S622におけるレンズタイプに応じた出力電圧の設定および通信ボーレートの設定とを行わずに、S600の直後にレンズ種別に関する情報を交換レンズ100から受信してレンズ種別を判定してもよい。
次に光学補正部130で行なう光学補正処理について説明する。図7は光学補正部130における光学補正処理を説明するためのフローチャートである。
まず、S100で光学補正部130は、メモリ16で保持する光学補正データのテーブルから、撮影時に使用された交換レンズ100に対応した光学補正値が含まれている光学補正データを取得する。これは交換レンズ100からみると、記憶されている光学補正データを送信することになる。また、メモリ16は光学補正データ記憶手段として機能している。
メモリ16は、複数の交換レンズの機種について光学補正データを保持する、図8に示すような構造の光学補正データテーブルを保持している。テーブルの先頭に設けられたアドレス情報領域には、交換レンズ100の機種識別情報であるレンズIDと、対応する光学補正データが格納された先頭アドレスを特定するための情報が記録されている。補正データ領域には、各レンズIDに対応した光学補正データが順次格納されている。後述するように、補正データ領域は、第1の交換レンズに分類される交換レンズについては第1の光学パラメータから、第2の交換レンズに分類される交換レンズについては第2の光学パラメータから、光学補正値を得ることができるように構成されている。まず、光学補正部130は、撮影時に使用された交換レンズのIDをアドレス情報領域で検索し、アドレス情報領域で得られたアドレスから格納された光学補正データを取得する。
次のS101で光学補正部130は、上述の通り電源オン時や交換レンズ100が交換された際にカメラ制御部18がS62で行ったレンズ種別の判定結果に基づいて、処理を分岐させる。装着されている交換レンズ100が第1の交換レンズの場合、S102において光学補正部130は、第1の光学パラメータを用いて補正データから光学補正値を取得する。また、装着されている交換レンズ100が第2の交換レンズの場合、S103において光学補正部130は、第2の光学パラメータを用いて補正データから光学補正値を取得する。
図9Aは、第1の交換レンズに対応する補正データの構造を示している。補正データは、アドレス情報領域と、補正値領域とから構成されている。
図9においてOptInfo1[n]、OptInfo2[m]、OptInfo3[p](n、m、pはそれぞれ0以上の整数)はそれぞれ、交換レンズが取りうる以下の光学パラメータの配列を示している。
OptInfo1[n]:焦点距離情報
OptInfo2[m]:撮影距離情報
OptInfo3[p]:絞り値情報
なお、焦点距離や撮影距離のように、実質的に連続値を取りうる値の情報については、所定の離散値を配列値として記憶しておくことができる。
第1の交換レンズについては、アドレス情報領域に、これら3つの光学パラメータの各組み合わせと、その組み合わせに対応する光学補正値の格納アドレスを特定するための情報が設定されている。格納アドレスは、補正値領域内のアドレスである。補正値領域には、光学パラメータの各組み合わせに対応した光学補正値が順次格納されている。
従って、撮影時に用いられた第1の光学パラメータを用いてアドレス情報領域を参照し、補正値領域から光学補正値を取得することができる。
図9Bは、第2の交換レンズに対応する補正データの構造を示している。補正データは、アドレス情報領域と、補正値領域とから構成されている。
図9においてOptInfo3[p]、OptInfo4[q](p、qはそれぞれ0以上の整数)はそれぞれ、交換レンズが取りうる以下の光学パラメータの配列を示している。
OptInfo3[p]:絞り値情報
OptInfo4[q]:撮影倍率情報
第2の交換レンズについては、アドレス情報領域に、これら2つの光学パラメータの各組み合わせと、その組み合わせに対応する光学補正値の格納アドレスを特定するための情報が設定されている。格納アドレスは、補正値領域内のアドレスである。補正値領域には、光学パラメータの各組み合わせに対応した光学補正値が順次格納されている。
従って、撮影時に用いられた第2の光学パラメータを用いてアドレス情報領域を参照し、補正値領域から光学補正値を取得することができる。
図10は図9Aおよび図9Bにおいて、光学パラメータの組み合わせごとに保持する光学補正値の例を示す図である。ここでは、周辺減光の補正値の例を示す。記憶容量を節減するため、離散的な像高h0〜h4に対する光量の値を光学補正値として保持し、離散的な光学補正値を多項式で近似して補正曲線を生成することにより、任意の像高に対する補正値を得ることができる。
このように、レンズ種別およびレンズの機種(ID)に応じて、光学補正量を特定するために必要な光学パラメータの組み合わせごとに光学補正値を記憶しておく。なお、アドレス情報領域に記憶する光学パラメータの組み合わせについても離散的な組み合わせとしておき、記憶されていない組み合わせについては、近い値の組み合わせに対応する複数の補正値を補間して光学補正値を生成してもよい。
周辺減光を例に画像処理による補正方法を説明する。補正対象の画像データの各画素について、まず画像中心からの距離である像高を求め、補正曲線から像高に対応する光量を得る。次に光量の逆数に応じたゲインを画素値に適用する。これらの処理を画像データの全画素に対して実行することで周辺減光の補正ができる。
図11は、マクロレンズの周辺減光特性と本実施形態の方法を適用した補正結果の例を図3と同様にして示した図である。図11(a)、(b)はそれぞれ、撮影倍率がmの場合とnの場合とにおけるマクロレンズの周辺減光特性を示し、図3(a)、(b)と同一である。
図3(c)、(d)に示した、撮影倍率を考慮せずに特定した光学補正値を用いた補正結果の例と異なり、本実施形態では撮影倍率を考慮した光学補正値を用いて補正している。そのため、図11(c)、(d)に示すように、撮影倍率によらず、全像高において明るさがほぼ100となり、高精度な補正画像を得ることができる。
ここでは、画像劣化の原因となる光学特性の例として、周辺減光の補正を行う場合について説明した。しかし、歪曲収差や倍率色収差などの他の光学特性についても、周辺減光と同様、光学パラメータの組み合わせに対応した、像高と補正量との離散的な組み合わせから補正曲線を生成し、像高に応じた補正値を求めて補正するという基本的な方法は共通である。
このように、本実施形態によれば、光学補正値の特定に必要な光学パラメータの組み合わせが異なるレンズユニットの種類を判別し、レンズユニットの種類に応じた適切な光学パラメータを取得し、光学補正値を特定する。そのため、レンズユニットの種類によらず共通した種類の光学パラメータの組み合わせから光学補正値を求めていた従来技術と比較して、精度の良い光学補正を実現することができる。
なお、本実施形態では説明及び理解を容易にするため、判別するレンズユニット(または光学補正値を特定するために必要な光学パラメータの組み合わせ)が2種類である場合について説明した。しかし、レンズユニットの種類や光学パラメータの組み合わせは2種類の場合に限定されず、より多くの種類に対しても同様に適用可能である。
例えば、本実施形態では第2の光学パラメータを有するレンズユニットとしてマクロレンズを、第2の光学パラメータとして撮影倍率を変化させるための機構の位置情報を有する場合を説明した。しかし、第2の光学パラメータを有するレンズユニットがマクロレンズでなくてもよく、また第2の光学パラメータが焦点距離や撮影距離を制御する光学部材の位置に関する情報であってもよい。この場合の光学部材の位置に関する情報とは、焦点距離や撮影距離を変化させるためにレンズを駆動させる機構の位置情報である。第1の光学パラメータとして取得した焦点距離(単位はmm)、撮影距離(単位はcm)ではなく、第2の光学パラメータとして取得した、焦点距離や撮影距離を制御する光学部材の位置に関する情報を、光学補正値の特定に利用することが可能である。焦点距離(単位はmm)、撮影距離(単位はcm)よりも光学部材の位置情報の方が分解能が高いシステムでは、光学部材の位置情報を使うことで高精度な光学補正が実現できる。
(第2の実施形態)
次に、本発明の第2の実施形態について説明する。
本実施形態に係る撮像装置の基本構成およびマウント1に設けられた端子は第1の実施形態で示したものと同一であるが、本実施形態において第2の交換レンズはレンズからカメラに対し光学補正データを送信する構成を有するものとする。そのために、第2の交換レンズが有するメモリ104には光学補正データが格納されている。ここで保持する光学補正データは図9Bに示した構造を有する。
図12は、本実施形態のカメラシステムにおいてカメラマイコン20が行う、レンズ種別判定処理、光学補正データ受信処理、および光学補正値の特定に必要な撮影時の光学パラメータ受信処理を説明するためのフローチャートである。これらの処理は、カメラマイコン20が、メモリ16内に格納されたプログラムを実行することにより実施される。図12において、第1の実施形態で説明した図6と同じ処理を行うステップについては同じ参照数字を付し、説明を省略する。
図12に示した処理は基本的に第1の実施形態と同じであるが、S603でレンズタイプ2と判定されS621、S622で適切な通信設定に切り替えた後にS612で通信を実施した後に、カメラマイコン20がS633で交換レンズ100から光学補正データ取得のための通信を行なう点が異なる。この処理により交換レンズ100のメモリ104に記憶された光学補正データはカメラ10に送信され、カメラ10のメモリ16に保存される。送信される光学補正データは図9Bに示したデータ構造を有し、S67で取得する第1の光学パラメータとS663で取得する第2の光学パラメータとから光学補正値を特定することができるように設定されている。
<光学補正データ取得通信>
装着レンズがレンズタイプ1であるか否かを判定する。
レンズタイプ2であれば、S634で光学補正データ取得通信の処理を行う。
光学補正データ取得通信を開始すると(S634)、装着されている交換レンズ100の光学補正データをカメラ10が取得する必要があるかどうかをチェックする(S650)。このとき、メモリ16に装着されている交換レンズ100に対応する光学補正データが既にある場合には本処理をスキップしても良い。こうすることでカメラが既に光学データを持っている場合には、光学補正データの通信に要する処理時間を節約することが可能である。
本ステップの判定方法としてはたとえば、S612で取得した情報と、メモリ16に記憶された情報と、装着されているレンズの当該情報との一致を確認する。これらの情報は、S612で取得したレンズ種別情報やレンズ名称、レンズのシリアル番号、エクステンダーなどのアクセサリの有無、光学補正データのフォーマットを識別するバージョン情報などである。
図20にて、光学補正データ通信の説明を行う。
S650で光学補正データの取得が必要であると判定したら、現在の通信方式が動画通信方式であるか否かをチェックする(S651)。動画通信方式であれば、通信状態を静止画通信方式へと切り替える(S652)。ここで動画通信方式から静止画通信方式へ切り替えるのは、動画通信方式では図14に示すように固定長の通信と通信の間にブランク期間が発生するからである。すなわち、このブランク期間があるため、比較的データ量の大きい光学補正データ通信を実行しようとすると比較的に時間を要することになるために動画通信方式は静止画通信方式に比べて不適である。
レンズから通信にて光学補正データを順次取得し、カメラの記憶領域のメモリ16に保存する(S653)。
光学補正データの取得とデータの保存方法の例を図16に例示する。前述の通り光学補正データのようにデータサイズが大きく、かつ全データを一括して取得するためには静止画通信でデータ取得を行う事が好ましい。また本ステップで行う通信処理はデータ転送のみであり、たとえばレンズ駆動制御を行うようなものではないので、カメラ、レンズ双方ともマイコンの処理機能を通信制御に割り当てる、あるいはCPUを介さない、いわゆるDMA機能によりデータ転送を行うことにより、図16に示すように通信と通信との間にBUSY時間を経由する必要がなくなり、より通信の高速化が図れる。カメラ側制御としてはデータ取得が目的の通信であるためCoutには固定の値を出力すればよい。Cinで取得された光学補正データ情報を取得する度に所定のメモリ16へ転送すればよい。図16では便宜上レンズ通信でXバイト取得する毎にメモリ16へのデータ転送処理が発生する事を示しているが、通信データサイズはXバイトに限定しなくともよい。
S653ではS643と同様に通信方式をカメラ動作に適する状態へ復帰する。なお、S633で判定条件としてS602のDTEF_IN端子の電圧値を参照するのは、S612でレンズとの間で初期データ交換処理を行う前の起動時間中に余裕があれば前倒しして光学補正データを取得可能とするためであり、S612のレンズ種別情報に光学補正データ通信可能かどうかを得られる構成として、これをS633の判定対象としてもよい。
このように、光学補正データの取得は、レンズリセット動作の実行の後に行うようにしている。これは、レンズリセット動作を先に行うことにより被写体像を表示するライブビューを実行可能な状態に早くするため等である。
メモリ16で保持する光学補正データのテーブルは図8に示した構造を有し、交換レンズ100から受信した光学補正データを後から参照できるようにテーブルに追加する必要がある。先述のとおり交換レンズが取り外され再度装着された場合はS660を通りS600に戻り、繰り返し処理が行なわれる。
このような処理により、第2の交換レンズに対する光学補正データの取得と、取得した光学補正データから補正値を特定するための光学パラメータの取得が行なわれる。
光学補正部130で行なう光学補正処理は第1の実施形態と同じでよい。第2の交換レンズから取得した光学補正データは既にメモリ16に格納されているため、図7で示した処理を行なうことで補正値の特定と補正処理を行なうことが可能である。
本実施形態のように、レンズユニットから光学補正データをカメラに送信し、カメラに登録して光学補正値の特定に用いることで、装着されたレンズユニットに対応した光学補正データがメモリ16に登録されていなくても適切な光学補正が可能になる。
本実施形態では第2の交換レンズが光学補正データをカメラに送信するものとしたが、本発明はそのような形態に限定されず、複数の種類の交換レンズが光学補正データをカメラに送信してもよい。また、光学補正データをカメラに送信するレンズの種類と、その種類のレンズで必要な光学パラメータの組み合わせについても、本実施形態で示した限りではなく複数のものに対応可能である。
以上、本発明を特定の構成を有する撮像装置に適用した実施形態を示したが、本発明は特許請求の範囲の記載範囲内で種々の変形及び変更が可能である。