以下に、本発明の実施の形態による撮像装置の一例について図面を参照して説明する。
[第1の実施形態]
図1は、本発明の第1の実施形態による撮像装置の一例についてその構成を示すブロック図である。
図示の撮像装置は、例えば、デジタルカメラ(以下単にカメラと呼ぶ)であり、カメラ本体(撮像装置本体)100およびレンズユニット200を有している。そして、レンズユニット200はカメラ本体100に着脱可能である。つまり、レンズユニット200は交換可能なレンズユニットである。
レンズユニット200はレンズマウント102および202によってカメラ本体100に装着される。カメラ本体100には、CMOSイメージセンサなどの撮像素子121が備えられており、レンズユニット200および144を介して撮像素子121に光学像(被写体像)が結像する。なお、レンズユニット200には、撮影レンズ210および絞り211が備えられている。
撮像素子121は光学像に応じた電気信号(アナログ信号)を出力する。A/D変換部122は撮像素子121の出力であるアナログ信号をA/D変換によってデジタル信号に変換する。そして、当該デジタル信号は、システム制御部120の制御下でメモリ制御部124によって画像データとしてメモリ127に格納される。
画像処理部123は、A/D変換部122の出力であるデジタル信号或いはメモリ制御部124によってメモリ127から読み出された画像データに対して所定の画素補間処理又は色変換処理などの画像処理を施す。なお、画像処理部123には、適応離散コサイン変換(ADCT)などによって画像データを圧縮伸長する圧縮・伸長回路が備えられている。
画像処理部123はメモリ127に格納された画像データを読み込んで圧縮処理又は伸長処理を行って、処理後の画像データをメモリ127に書き込む。さらに、画像処理部123は、システム制御部120の制御下で振れ検出部151によって検出されたカメラの振れ量に応じて像振れを電子的に補正する。
画像演算部129は、画像データにおけるコントラスト値を求めて、コントラスト値に応じて画像データの合焦状態を判定する。さらに、画像演算部129はメモリ127に格納された画像データと撮像素子121で得られた画像データとの相関値を求めて、これら画像データにおける最も相関の高い領域を探索する。
メモリ制御部124は、A/D変換部122、画像処理部123、表示装置110、および外部着脱メモリ部130とメモリ127と間における画像データの送受を制御する。なお、A/D変換部122の出力であるデジタル信号は画像処理部123およびメモリ制御部124を介して、或いは直接メモリ制御部124を介してメモリ127に書き込まれる。
表示部110は液晶パネル表示部およびバックライト照明部を有しており、撮像素子121の出力に応じた画像データによる画像を逐次リアルタイムにスルー画像として表示する。これによって、ユーザは所謂ライブビュー撮影を行うことができる。ライブビュー撮影の際には、AF対象である被写体の位置をユーザが認識できるように、表示部110には、AF領域を示すAF枠が画像に重畳して表示される。この際、表示部110にタッチパネルが備えられていると、ユーザはAF対象の被写体の位置を指定するタッチAFを行うことができる。
システム制御部120はカメラ全体の制御を司る。なお、システム制御部120はレンズユニット200の制御も行う。
メモリ127には、撮影の結果得られた静止画像および動画像が格納されるとともに、再生用表示のための画像データが格納される。メモリ127は所定枚数の静止画像および動画像を格納するための十分な記憶量を備えている。なお、メモリ127にはシステム制御部120のプログラムスタック領域、ステータス記憶領域、演算用領域、ワーク用領域、および画像表示データ用領域が確保されている。各種演算は、メモリ127の演算用領域を用いてシステム制御部120によって行われる。
不揮発性メモリ128は電気的に消去・記録可能なメモリであり、例えば、フラッシュメモリ又はEEPROMが用いられる。不揮発性メモリ128には、撮影状態が保存されるとともに、カメラを制御するプログラムが格納される。
外部着脱メモリ部130はコンパクトフラッシュ(登録商標)又はSDカードなどの記録媒体を備えており、カメラ本体100に着脱可能である。そして、外部着脱メモリ部130には画像ファイルが記録される。
電源部131は、電池、電池検出回路、DC−DCコンバータ、および通電するブロックを切り替えるスイッチ回路などを備えている。そして、電源部131は電池の装着の有無、電池の種類、および電池残量の検出を行う。また、電源部131は当該検出結果およびシステム制御部120の指示に基づいてDC−DCコンバータを制御して、必要な電圧を必要な期間、各ブロック部に供給する。
シャッター制御部141は、システム制御部120の制御下で、測光部142で得られた測光結果に基づいて、絞り211を制御するレンズ制御部203と連携しつつシャッター144を制御する。
測光部142はAE(自動露出)処理を行うためのブロックである。測光部141には、レンズ210に入射した光学像が絞り211、レンズマウント202および102、および測光用レンズ(図示せず)を介して入射する。そして、測光部142は光学像に基づいてその露出状態を測定して測光結果を得る。
測距部143はAF処理を行うためのブロックである。測距部143には、レンズ210に入射した光学像が絞り211、レンズマウント202および102、測距用ミラー(図示せず)を介して入射する。そして、測距部143は光学像に応じてその合焦状態を測定して測距結果を得る。
なお、ライブビュー撮影の際には、システム制御部120は画像演算部129で求められたコントラスト値に応じて画像データの合焦状態を測定する。
シャッター144は撮像素子121の前段に配置され、非撮影の際には撮像素子121を遮光する。撮影の際には、システム制御部120の制御下で、シャッター制御部141はシャッター144を開いて光学像を撮像素子121に結像する。
操作部132はユーザによって操作され、システム制御部120に対して各種の動作指示を与える。操作部132には、例えば、スイッチおよびダイヤル、視線検知によるポインティング、および音声認識装置などが備えられている。なお、操作部132にはこれらスイッチおよびダイヤル、視線検知によるポインティング、および音声認識装置のうち少なくとも1つが備えられていればよい。振れ検出部151は、例えば、ジャイロセンサであり、カメラの振動量を検出する。
図2は、図1に示す振れ検出部による振動量の検出の一例を説明するための図である。
振れ検出部151は、カメラ本体100におけるピッチ(Pitch)方向、ヨー(Yaw方向)、およびロール(Roll)方向の3軸方向においてその振動および振動量を検出する。
再び図1を参照して、カメラ本体100にはレンズマウント102が備えられ、レンズユニット200にはレンズマウント202が備えられている。レンズマウント102および202によって、レンズユニット200がカメラ本体100に接続される。この際、コネクタ101および201によってカメラ本体100がレンズユニット200に電気的に接続される。システム制御部120は、コネクタ101および201を介して、レンズユニット200の装着を検出し、レンズ制御部203と通信を行う。
前述のように、レンズユニット200には撮影レンズ210および絞り211が備えられている。レンズ制御部203はレンズユニット200全体を制御する。レンズ制御部203には、動作用の定数、変数、およびプログラムなどを記憶するメモリが備えられている。さらに、レンズ制御部203には、レンズユニット200固有の番号などの識別情報、管理情報、開放絞り値および最小絞り値、焦点距離などの機能情報、現在および過去の各設定値などを保持する不揮発メモリが備えられている。
レンズ制御部203は、測距部143又は画像処理部123よって測定された測距結果に基づいて撮影レンズ210のフォーカシングを制御する。これによって、撮像素子121に入射する光学像の結像位置が変更されてAF動作が行われる。なお、レンズ制御部203は絞り211の制御、埼栄レンズ210のズーミングを制御する。
レンズ駆動部204は、レンズ制御部203の制御下で撮影レンズ210および絞り211を駆動制御する。例えば、レンズ駆動部204は、レンズ制御部203から送られるフォーカシング制御信号、ズーミング制御信号、および像振れ補正制御信号に基づいて撮影レンズ210を駆動する。さらに、レンズ駆動部204は、レンズ制御部203から送られる絞り制御信号に応じて絞り211を駆動する。
なお、レンズ駆動部204にはフォーカシング制御機構、ズーミング制御機構、像振れ補正制御機構、および絞り制御機構が備えられている。
振れ検出部205は、例えば、ジャイロセンサであり、レンズユニット200の振動量を検出する。振れ検出部205は、図2に示すPitch方向、Yaw方向、およびRoll方向のうち、Pitch方向およびYaw方向の2軸方向の振動および振動量を検出する。
図1に示すカメラにおいて、レンズ制御部203は振れ検出部205で検出された振れ量に応じて撮影レンズ210を制御して光学的な振れ補正を行う。また、画像処理部123は、システム制御部120の制御下で、振れ検出部151で検出された振れ量に応じて画像を補正する電子的に振れ補正を行う。
図3は、図1に示すカメラ本体で行われる処理を説明するためのフローチャートである。なお、図示のフローチャートに係る処理は、システム制御部120の制御下で行われる。
操作部132の操作に応じてカメラ本体処理が開始されると、システム制御部120はレンズユニット200がカメラ本体100に装着されているか否かを判定する(ステップS300)。レンズユニット200が装着されていないと(ステップS300において、NO)、システム制御部120は待機する。
レンズユニット200が装着されると(ステップS300において、YES)、システム制御部120はレンズ制御部203と通信を開始する(ステップS301:レンズ通信)。そして、システム制御部120はレンズ制御部203からレンズユニット200の種別を判定するためのレンズ情報(ID)を取得する(ステップS302)。ここでは、レンズ情報として、例えば、レンズIDおよびレンズ固有の光学的補正値情報を取得する。
続いて、システム制御部120はレンズ情報に基づいてレンズユニット200が三脚検知の結果を通信可能なレンズユニットであるか否かを判定する(ステップS303)。なお、三脚検知とは、カメラ本体100およびレンズユニット200における振れ量が振れ補正が不要である程度に小さいか否かを検知することをいう。例えば、カメラが三脚に固定されている場合には、振れ補正が不要な程度まで振れ量が小さくなる。
三脚検知判定結果の通信が可能であると(ステップS303において、YES)、システム制御部120は後述する第1の三脚検知タイマ割込処理(三脚検知タイマ割込処理1)を開始する(ステップS304)。以後、三脚検知タイマ割込処理1は所定の時間毎に繰り返される。
三脚検知判定結果の通信が可能でないと(ステップS303において、NO)、システム制御部120は後述する第2の三脚検知タイマ割込処理(三脚検知タイマ割込処理2)を開始する(ステップS305)。以後、三脚検知タイマ割込処理2は所定の時間毎に繰り返される。
ステップS304又はS305の処理の後、システム制御部120は後述するジャイロ読み出しタイマ割込処理を開始する(ステップS306)。以後、ジャイロ読み出しタイマ割込処理は所定の時間毎に繰り返される。そして、システム制御部102はカメラ本体処理を終了する。
図4は、図1に示すレンズユニットで行われる処理を説明するためのフローチャートである。なお、図示のフローチャートに係る処理は、レンズ制御部203の制御下で行われる。
レンズユニット200がカメラ本体100に装着されてレンズ通信が開始すると、レンズ制御部203はシステム制御部120にレンズ情報を送信する(ステップS401)。続いて、レンズ制御部203は後述する第3の三脚検知タイマ割込処理(三脚検知タイマ割込処理3)を開始する(ステップS402)。以後、三脚検知タイマ割込処理3は所定の時間毎に繰り返される。
次に、レンズ制御部203は後述するジャイロ読み出しタイマ割込処理を開始する(ステップS403)。以後、ジャイロ読み出しタイマ割込処理は所定の時間毎に繰り返される。そして、レンズ制御部203はレンズユニット処理を終了する。
図5は、図3に示す三脚検知タイマ割込処理1を説明するためのフローチャートである。
三脚検知タイマ割込処理1を開始すると、システム制御部120はレンズ制御部203に対して、レンズユニット200における三脚検知判定結果を送るように要求する(ステップS501)。これによって、システム制御部120はレンズ制御部203からレンズユニット200における三脚検知判定結果を受信する(ステップS502)。
システム制御部120は、当該三脚検知判定結果が「三脚なし」であるか否かを判定する(ステップS503)。ここで、「三脚なし」とは、振れ量が大きく手振れ補正が必要な状態をいい、「三脚あり」とは、振れ量が十分に小さく手振れ補正が不要な状態をいう。つまり、「三脚なし」とは、振れ量が所定の閾値よりも大きく手振れ補正が必要な状態をいい、「三脚あり」とは、振れ量が所定の閾値未満であり手振れ補正が不要な状態をいう。
「三脚なし」であると(ステップS503において、YES)、システム制御部120はカメラ本体100における振れ補正機能をオンとする(ステップS504)。一方、「三脚あり」であると(ステップS503において、NO)、システム制御部120はカメラ本体100における振れ補正機能をオフとする(ステップS505)。
ステップS504又はS505の処理の後、システム制御部120は三脚検知タイマ割込処理1を終了する。
図6は、図3に示す三脚検知タイマ割込処理2を説明するためのフローチャートである。
三脚検知タイマ割込処理2を開始すると、システム制御部120は振れ検出部151において検出された振れ量データ(ジャイロデータ)の数が所定のサンプル数(例えば、500サンプル)以上であるか否かを判定する(ステップS601)。
所定のサンプル数以上取得済でないと(ステップS601において、NO)、システム制御部120は三脚検知タイマ割込処理2を終了する。一方、所定のサンプル数以上取得済であると(ステップS601において、YES)、システム制御部120は振れ検出部151によって検出した振れ量データにおいて直近の所定数のサンプル(例えば、500サンプル)を調べる。そして、システム制御部120は当該サンプルにおいて振れ量が予め設定された閾値を超えるサンプルが存在するか否かを判定する(ステップS602)。
予め設定された閾値を超えるサンプルが存在すると(ステップS602において、YES)、システム制御部120は「三脚なし」と判定してカメラ本体100における振れ補正機能をオンとする(ステップS603)。そして、システム制御部120は三脚検知タイマ割込処理2を終了する。
予め設定された閾値を超えるサンプルが存在しないと(ステップS602において、NO)、システム制御部120は「三脚あり」と判定してカメラ本体100における振れ補正機能をオフとする(ステップS604)。そして、システム制御部120は三脚検知タイマ割込処理2を終了する。
図7は、図3に示すジャイロ読み出しタイマ割込処理を説明するためのフローチャートである。なお、図4に示すジャイロ読み出しタイマ割込処理も図7に示すフローチャートに応じてレンズ制御部203が行う。
ジャイロ読み出しタイマ割込処理を開始すると、システム制御部120は振れ検出部151で検出されたジャイロデータを取得する(ステップS701)。そして、システム制御部120はジャイロ読み出しタイマ割込処理を終了する。なお、レンズユニット200においては、レンズ制御部203が振れ検出部205で検出されたジャイロデータを取得することになる。
図8は、図4に示す三脚検知タイマ割込処理3を説明するためのフローチャートである。
三脚検知タイマ割込処理3を開始すると、レンズ制御部203は振れ検出部205において検出された振れ量データ(ジャイロデータ)の数が所定のサンプル数(例えば、500サンプル)以上であるか否かを判定する(ステップS801)。
所定のサンプル数以上取得済でないと(ステップS801において、NO)、レンズ制御部203は三脚検知タイマ割込処理3を終了する。一方、所定のサンプル数以上取得済であると(ステップS801において、YES)、レンズ制御部203は振れ検出部205によって検出した振れ量データにおいて直近の所定数のサンプル(例えば、500サンプル)を調べる。そして、レンズ制御部203は当該サンプルにおいて振れ量が予め設定された閾値を超えるサンプルが存在するか否かを判定する(ステップS802)。
予め設定された閾値を超えるサンプルが存在すると(ステップS802において、YES)、レンズ制御部203は「三脚なし」と判定してレンズユニット200における振れ補正機能をオンとする(ステップS803)。予め設定された閾値を超えるサンプルが存在しないと(ステップS802において、NO)、レンズ制御部203は「三脚あり」と判定してレンズユニット200における振れ補正機能をオフとする(ステップS804)。
ステップS803又はS804の処理の後、レンズ制御部203はシステム制御部120から三脚検知判定結果を送信する旨の要求があったか否かを判定する(ステップS805)。送信要求があった場合には(ステップS805において、YES)、レンズ制御部203はシステム制御部120に三脚検知判定結果を送る(ステップS806)。そして、レンズ制御部203は三脚検知タイマ割込処理3を終了する。
一方、三脚検知判定結果を送信する旨の要求がないと(ステップS805において、NO)、レンズ制御部203は三脚検知タイマ割込処理3を終了する。
このように、本発明の第1の実施形態では、レンズユニット200における三脚検知判定結果を優先し、かめら本体100において振れ補正を行うか否かの判定結果をレンズユニット200における判定結果と一致させる。これによって、カメラ本体100およびレンズユニット200とのいずれか一方のみで振れ補正機能がオンとなって、不自然な画像が撮影されることを防止することができる。
なお、上述の第1の実施形態では、レンズユニット200における三脚検知判定結果を優先するようにしたが、カメラ本体100における三脚検知判定結果を優先するようにしてもよい。
[第2の実施形態]
続いて、本発明の第2の実施形態によるカメラの一例について説明する。なお、第2の実施形態によるカメラの構成は図1に示すカメラと同様である。また、第2の実施形態におけるカメラ本体処理、レンズユニット処理、三脚検知タイマ割込処理2、およびジャイロセンサ読み出しタイマ割込処理は図3、図4、図6、および図7に示す処理と同様である。
図9は、本発明の第2の実施形態によるカメラにおいてカメラ本体で行われる三脚検知タイマ割込処理1を説明するためのフローチャートである。
三脚検知タイマ割込処理1を開始すると、システム制御部120は振れ検出部151において検出された振れ量データ(ジャイロデータ)の数が所定のサンプル数(例えば、500サンプル)以上であるか否かを判定する(ステップS901)。
所定のサンプル数以上取得済でないと(ステップS901において、NO)、システム制御部120は三脚検知タイマ割込処理1を終了する。一方、所定のサンプル数以上取得済であると(ステップS901において、YES)、システム制御部120は振れ検出部151によって検出した振れ量データにおいて直近の所定数のサンプル(例えば、500サンプル)を調べる。そして、システム制御部120は当該サンプルにおいて振れ量が予め設定された閾値を超えるサンプルが存在するか否かを判定する(ステップS902)。
振れ量が予め設定された閾値を超えるサンプルが存在すると(ステップS902において、YES)、システム制御部120は「三脚なし」と判定する(ステップS903)。一方、振れ量が予め設定された閾値を超えるサンプルが存在しないと(ステップS902において、NO)、システム制御部120は「三脚あり」と判定する(ステップS904)。
ステップS903又はS904の処理の後、システム制御部120は、カメラ本体100における三脚検知判定結果が前回レンズユニット200に送信した判定結果と同一であるか否かを判定する(ステップS905)。三脚検知判定結果が同一でないと(ステップS905において、NO)、システム制御部120はレンズ制御部203に、カメラ本体100における三脚検知判定結果を送信する(ステップS906)。なお、カメラ本体100における三脚検知判定結果が未だレンズユニット200に送信されていない場合にも、システム制御部120はステップS906の処理を行う。
続いて、システム制御部120はレンズユニット200から最後に受信した三脚検知の判定結果を調べる。そして、システム制御部120はカメラ本体100における三脚検知の判定結果が「三脚なし」で、かつレンズユニット200における三脚検知判定結果が「三脚なし」であるか否かを判定する(ステップS907)。なお、三脚検知判定結果が同一であると(ステップS905において、YES)、システム制御部120はステップS907の処理に進む。
カメラ本体100およびレンズユニット200における三脚検知判定結果がともに「三脚なし」であると(ステップS907において、YES)、システム制御部120はカメラ本体100における振れ補正機能をオンとする(ステップS908)。そして、システム制御部120は三脚検知タイマ割込処理1を終了する。
カメラ本体100およびレンズユニット200の少なくとも一方における三脚検知判定結果がともに「三脚あり」であると(ステップS907において、NO)、システム制御部120はカメラ本体100における振れ補正機能をオフとする(ステップS909)。そして、システム制御部120は三脚検知タイマ割込処理1を終了する。
図10は、本発明の第2の実施形態によるカメラにおいてレンズユニット行われる三脚検知タイマ割込処理3を説明するためのフローチャートである。
三脚検知タイマ割込処理3を開始すると、レンズ制御部203は振れ検出部205において検出された振れ量データ(ジャイロデータ)の数が所定のサンプル数(例えば、500サンプル)以上であるか否かを判定する(ステップS1001)。
所定のサンプル数以上取得済でないと(ステップS1001において、NO)、レンズ制御部203は三脚検知タイマ割込処理3を終了する。一方、所定のサンプル数以上取得済であると(ステップS1001において、YES)、レンズ制御部203は振れ検出部205によって検出した振れ量データにおいて直近の所定数のサンプル(例えば、500サンプル)を調べる。そして、レンズ制御部203は当該サンプルにおいて振れ量が予め設定された閾値を超えるサンプルが存在するか否かを判定する(ステップS1002)。
振れ量が予め設定された閾値を超えるサンプルが存在すると(ステップS1002において、YES)、レンズ制御部203は「三脚なし」と判定する(ステップS1003)。一方、振れ量が予め設定された閾値を超えるサンプルが存在しないと(ステップS1002において、NO)、レンズ制御部203は「三脚あり」と判定する(ステップS1004)。
ステップS1003又はS1004の処理の後、レンズ制御部203は、レンズユニット200における三脚検知判定結果が前回カメラ本体100に送信した判定結果と同一であるか否かを判定する(ステップS1005)。三脚検知判定結果が同一でないと(ステップS1005において、NO)、レンズ制御部203はシステム制御部120に、レンズユニット200における三脚検知判定結果を送信する(ステップS1006)。なお、レンズユニット200における三脚検知判定結果が未だカメラ本体100に送信されていない場合にも、レンズ制御部203はステップS1006の処理を行う。
続いて、レンズ制御部203はカメラ本体100から最後に受信した三脚検知の判定結果を調べる。そして、レンズ制御部203はレンズユニット200における三脚検知判定結果が「三脚なし」で、かつカメラ本体100における三脚検知判定結果が「三脚なし」であるか否かを判定する(ステップS1007)。なお、三脚検知判定結果が同一であると(ステップS1005において、YES)、レンズ制御部203はステップS1007の処理に進む。
レンズユニット200およびカメラ本体100における三脚検知判定結果がともに「三脚なし」であると(ステップS1007において、YES)、レンズ制御部203はレンズユニット200における振れ補正機能をオンとする(ステップS1008)。そして、レンズ制御部203は三脚検知タイマ割込処理3を終了する。
レンズユニット200およびカメラ本体100の少なくとも一方における三脚検知判定結果がともに「三脚あり」であると(ステップS1007において、NO)、レンズ制御部203はレンズユニット200における振れ補正機能をオフとする(ステップS1009)。そして、システム制御部120は三脚検知タイマ割込処理3を終了する。
このように、本発明の第2の実施形態では、かめら本体100およびレンズユニット200の少なくとも一方における振れ量が閾値以下である場合には、カメラ本体100およびレンズユニット200ともに振れ補正を行わないようにする。これによって、振れ量が十分に小さい場合に、いずれか一方の検出振れ量が誤ったとしても、当該いずれか一方の振れ補正機能がオンとなって不自然な画像が撮影される事態を防止することができる。
さらに、第2の実施形態では、システム制御部120およびレンズ制御部203は三脚検知判定結果が前回の判定結果と異なる場合にのみその判定結果を送受する。これによって、カメラ本体100とレンズユニット20との間の通信頻度を低減することができる。
[第3の実施形態]
次に、本発明の第3の実施形態によるカメラの一例について説明する。なお、第3の実施形態によるカメラの構成は図1に示すカメラと同様である。
図11は、本発明の第3の実施形態によるカメラにおいてカメラ本体で行われる処理を説明するためのフローチャートである。なお、図11において、図3に示すフローチャートと同一のステップについては同一の参照符号を付して説明を省略する。
ステップS303において、三脚検知判定結果の通信が可能であると(ステップS303において、YES)、システム制御部120はレンズ制御部203から振れ検出部(ジャイロ)205による検知結果の信頼性に関する情報(信頼性情報)を受信する(ステップS1104)。ここでは、信頼性情報として、例えば、振れ検出部205による検知結果のS/N比に関する情報を受信する。
続いて、システム制御部120は、レンズ制御部203に振れ検出部151による検知結果の信頼性に関する情報(信頼性情報)を送る(ステップS1105)。ここでは、信頼性情報として、例えば、振れ検出部151による検知結果のS/N比に関する情報を送る。そして、システム制御部120は後述する三脚検知タイマ割込処理1を開始する。以後、この三脚検知タイマ割込処理1は所定の時間毎に繰り返される。その後、システム制御部120はステップS306の処理に進む。
図12は、本発明の第3の実施形態によるカメラにおいてレンズユニットで行われる処理を説明するためのフローチャートである。なお、図12において、図4に示すフローチャートと同一のステップについては同一の参照符号を付して説明を省略する。
ステップS401の処理に続いて、レンズ制御部203は、システム制御部120に振れ検出部205による検知結果に係る信頼性情報を送る(ステップS1202)。そして、レンズ制御部203は、システム制御部120から振れ検出部151による検知結果に係る信頼性情報を受信する(ステップS1203)。
続いて、レンズ制御部302は、後述する三脚検知タイマ割込処理3を有効にする(ステップS1204)。以後、この三脚検知タイマ割込処理3は所定の時間毎に繰り返される。その後、レンズ制御部203はステップS403の処理に進む。
図13は、図11に示す三脚検知タイマ割込処理1を説明するためのフローチャートである。なお、図13において、図9に示すフローチャートと同一のステップについては同一の参照符号を付して説明を省略する。
三脚検知タイマ割込処理1を開始すると、システム制御部120は、信頼性情報に基づいて振れ検出部151の信頼性が振れ検出部205の信頼性よりも高いか否かを判定する(ステップS1301)。振れ検出部151の信頼性が振れ検出部205の信頼性より高いと(ステップS1301において、YES)、システム制御部120はステップS901の処理に進む。
図13においては、ステップS903の処理の後ステップS908の処理が行われる。また、ステップS904の処理の後ステップS909の処理が行われる。そして、ステップS908又はS909の処理の後、システム制御部120はステップS905の処理を行う。三脚検知判定結果が同一でないと(ステップS905において、NO)、システム制御部120はステップS906の処理を行って、三脚検知タイマ割込処理1を終了する。三脚検知判定結果が同一であると(ステップS905において、YES)、システム制御部120は三脚検知タイマ割込処理1を終了する。
振れ検出部151の信頼性が振れ検出部205の信頼性以下であると(ステップS1301において、NO)、システム制御部120はレンズユニット200から最後に受信した三脚検知判定結果を調べる。そして、システム制御部120は当該三脚検知判定結果が「三脚なし」であるか否かを判定する(ステップS1302)。
三脚検知判定結果が「三脚なし」であると(ステップS1302において、YES)、システム制御部120はカメラ本体100の振れ補正機能をオンとする(ステップS1303)。そして、システム制御部120は三脚検知タイマ割込処理1を終了する。
一方、三脚検知判定結果が「三脚あり」であると(ステップS1302において、NO)、システム制御部120はカメラ本体100の振れ補正機能をオフとする(ステップS1304)。そして、システム制御部120は三脚検知タイマ割込処理1を終了する。
図14は、図12に示す三脚検知タイマ割込処理3を説明するためのフローチャートである。なお、図14において、図10に示すフローチャートと同一のステップについては同一の参照符号を付して説明を省略する。
三脚検知タイマ割込処理3を開始すると、レンズ制御部203は、信頼性情報に基づいて振れ検出部151の信頼性が振れ検出部205の信頼性よりも高いか否かを判定する(ステップS1401)。振れ検出部151の信頼性が振れ検出部205の信頼性より高くないと(ステップS1401において、NO)、レンズ制御部203はステップS1001の処理に進む。
図14においては、ステップS1003の処理の後ステップS1008の処理が行われる。また、ステップS1004の処理の後ステップS1009の処理が行われる。そして、ステップS1008又はS1009の処理の後、レンズ制御部203はステップS1005の処理を行う。三脚検知判定結果が同一でないと(ステップS1005において、NO)、レンズム制御部203はステップS1006の処理を行って、三脚検知タイマ割込処理3を終了する。三脚検知判定結果が同一であると(ステップS1005において、YES)、レンズ制御部203は三脚検知タイマ割込処理3を終了する。
振れ検出部151の信頼性が振れ検出部205の信頼性より高いと(ステップS1401において、YES)、レンズ制御部203はカメラ本体100から最後に受信した三脚検知判定結果を調べる。そして、レンズ制御部203は当該三脚検知判定結果が「三脚なし」であるか否かを判定する(ステップS1402)。
三脚検知判定結果が「三脚なし」であると(ステップS1402において、YES)、レンズ制御部203はレンズユニット200の振れ補正機能をオンとする(ステップS1403)。そして、レンズ制御部203は三脚検知タイマ割込処理3を終了する。
一方、三脚検知判定結果が「三脚あり」であると(ステップS1402において、NO)、レンズ制御部203はレンズユニット200の振れ補正機能をオフとする(ステップS1404)。そして、レンズ制御部203は三脚検知タイマ割込処理3を終了する。
このように、本発明の第3の実施形態では、振れ検出部151および振れ検出部205に係る信頼性情報に基づいて、いずれか一方の検知結果を用いて振れ補正を行うか否かを決定する。これによって、カメラ本体100およびレンズユニット200とのいずれか一方のみで振れ補正機能がオンとなって、不自然な画像が撮影されることを防止することができる。
なお、上述の第1乃至第3の実施形態では、三脚を用いているか否かを検知する三脚検知を例に挙げて説明したが、カメラ本体100およびレンズユニット200の振れ量が十分に小さい状態であるか否かを判定するようにすればよい。
上述の第1乃至3の実施形態においては、三脚検知判定に伴う処理について説明したが、撮像装置本体と交換レンズとにおいて判定結果が異なる場合に不具合が生じるのは三脚検知判定の判定結果には限らない。以下では、三脚検知判定に伴う処理に代わって振れ補正モード判定に伴う処理について説明する。
[第4の実施形態]
次に、本発明の第4の実施形態によるカメラの一例について説明する。
図15は、本発明の第4の実施形態によるカメラの一例についてその構成を示すブロック図である。なお、図15において、図1に示すカメラと同一のブロックについては同一の参照番号を付して説明を省略する。
図示のカメラにおいては、レンズユニット200に振れ補正モード操作部206が備えられている。カメラ本体100に備えられた画像処理部123は、後述する複数の振れ補正モードのうち設定された振れ補正モードに応じた振れ補正処理を行う。さらに、レンズユニット200に備えられたレンズ駆動部204は、レンズ制御部203の制御下で複数の振れ補正モードのうち設定された振れ補正モードに応じて振れ補正制御機構を駆動する。
振れ補正モード操作部206は、例えば、メカスイッチであり、ユーザは、振れ補正モード操作部206を操作することによって、レンズ駆動部204における振れ補正モードをユーザ選択の振れ補正モードに固定するか又は振れ補正モードの選択を自動判定によって行うかを設定することができる。なお、振れ補正モード操作部206によって振れ補正モードが固定されない場合には、レンズ制御部203はレンズ駆動部204の振れ補正モードを判定して当該判定結果に応じて振れ補正モードを設定する。
ここで、複数の振れ補正モードとして、例えば、通常モード、流し撮りモード、三脚モード、露光中のみ補正モード、および振れ補正オフモードがある。
通常モードは、カメラを手持ちして撮影する場合に適した振れ補正モードであり、当該通常モードにおいては、ユーザがカメラを手持ちしている場合(つまり、把持している場合)に生じる手振れに特化して振れ補正が行われる。
流し撮りモードは、所謂流し撮りに適した振れ補正モードであり、ユーザが被写体を追うようにしてカメラを振っている場合には、カメラを振っている方向における振れ補正のみがオフとされる。
三脚モードは、カメラを三脚などに固定して撮影を行う際に適した振れ補正モードであり、このモードでは振れ量が十分小さい場合に不要な振れ補正が行われることを防止するため、振れ補正が禁止される。代わりに、三脚モードでは、カメラを三脚に固定した際に影響を受けやすいレリーズの振動による振れに特化して振れ補正が行われる。
露光中のみ補正モードは、素早く動く被写体をファインダーで追う場合などに適した振れ補正モードであり、このモードでは露光中のみ振れ補正が行われ、それ以外の時には振れ補正がオフとされる。これによって、振れ補正に起因してファインダー像の追従性が損なわれることを防止する。
なお、振れ補正オフモードは、振れ量に拘わらず振れ補正を禁止するモードである。また、レンズ駆動部204および画像処理部123は、上述の振れ補正モード以外の振れ補正モードによる駆動および処理を行うようにしてもよい。
図16は、図15に示すカメラ本体で行われる処理を説明するためのフローチャートである。なお、図示のフローチャートに係る処理は、システム制御部120の制御下で行われる。また、図16に示すステップS1600〜1602の処理はそれぞれ図3に示すステップS300〜302の処理と同様であるので、説明を省略する。
ステップS1602の処理の後、システム制御部120はレンズ情報に基づいてレンズユニット200が振れ補正モードの判定結果を通信可能なレンズユニットであるか否かを判定する(ステップS1603)。振れ補正モードの判定結果の通信が可能であると(ステップS1603において、YES)、システム制御部120は後述する第1の振れ補正モード判定タイマ割込処理(振れ補正モード判定タイマ割込処理1)を開始する(ステップS1604)。以後、振れ補正モード判定タイマ割込処理1は所定の時間毎に繰り返される。
振れ補正モード判定結果の通信が可能でないと(ステップS1603において、NO)、システム制御部120は後述する第2の振れ補正モード判定タイマ割込処理(振れ補正モード反愛知タイマ割込処理2)を開始する(ステップS1605)。以後、振れ補正モード判定タイマ割込処理2は所定の時間毎に繰り返される。
ステップS1604又はS1605の処理の後、システム制御部120は、ステップS1606においてジャイロ読み出しタイマ割込処理を開始する。なお、ステップS1606の処理は図3に示すステップS306の処理と同様であるので、説明を省略する。
ステップS1606の後、システム制御部120は、ステップS1604又はS1605において設定された振れ補正モードに応じて画像処理部123による振れ補正を行う。そして、システム制御部102はカメラ本体処理を終了する。
図17は、図15に示すレンズユニットで行われる処理を説明するためのフローチャートである。なお、図示のフローチャートに係る処理は、レンズ制御部203の制御下で行われる。また、図17に示すS1701の処理は、図4に示すS401の処理と同様であるので説明を省略する。
ステップS1701の処理の後、レンズ制御部203は後述する第3の振れ補正モード判定タイマ割込処理(振れ補正モード判定タイマ割込処理3)を開始する(ステップS1702)。以後、振れ補正モード判定タイマ割込処理3は所定の時間毎に繰り返される。
次に、レンズ制御部203は、ステップS1703において図4で説明したステップS403と同様にジャイロ読み出しタイマ割込処理を開始する。そして、レンズ制御部203は、ステップS1702で設定した振れ補正モードに応じて、レンズ駆動部204による振れ補正を実行する。その後、レンズ制御部203はレンズユニット処理を終了する。
図18は、図16に示す振れ補正モード判定タイマ割込処理1を説明するためのフローチャートである。
振れ補正モード判定タイマ割込処理1を開始すると、システム制御部120はレンズ制御部203に、レンズユニット200における振れ補正モードの判定結果を送るように要求する(ステップS1801)。これによって、システム制御部120はレンズ制御部203からレンズユニット200における振れ補正モード判定結果を受信する(ステップS1802)。
続いて、システム制御部120は、画像処理部123の振れ補正モードを、レンズユニット200から受信した振れ補正モードの判定結果と同一のモードに設定する(ステップS1803)。そして、システム制御部120は振れ補正モード判定タイマ割込処理1を終了する。
図19は、図15に示す振れ補正モード判定タイマ割込処理2を説明するためのフローチャートである。
振れ補正モード判定タイマ割込処理2を開始すると、システム制御部120は、ステップS1901およびS1902の処理を行う。ステップS1901およびS1902の処理は、図6に示すステップS601およびS602と同様の処理である。
所定のサンプル数以上取得済でないと(ステップS1901において、NO)、システム制御部120は振れ補正モード判定タイマ割込処理2を終了する。
ステップS1902において、予め設定された閾値を超えるサンプルが存在すると(ステップS1902において、YES)、システム制御部120は、直近の所定時間分における振れ量データを調べて、一方向への振れ量が全て所定値以上(所定量以上)であるか否かを判定する(ステップS1903)。全て所定値以上でないと(ステップS1903において、NO)、システム制御部120はカメラ本体100における振れ補正モードを「通常モード」に設定する(ステップS1904)。つまり、システム制御部120は画像処理部123による振れ補正を「通常モード」とする。そして、システム制御部120は振れ補正モード判定タイマ割込処理2を終了する。
全て所定値以上であると(ステップS1903において、YES)、システム制御部120はカメラ本体100における振れ補正モードを「流し撮りモード」に設定する(ステップS1905)。つまり、システム制御部120は画像処理部123による振れ補正を「流し撮りモード」とする。そして、システム制御部120は振れ補正モード判定タイマ割込処理2を終了する。
ステップS1902において、予め設定された閾値を超えるサンプルが存在しないと(ステップS1902において、NO)、システム制御部120は、カメラ本体100における振れ補正モードを「三脚モード」に設定する。つまり、システム制御部120は画像処理部123による振れ補正を「三脚モード」とする。そして、システム制御部120は振れ補正モード判定タイマ割込処理2を終了する。
図20は、図17に示す振れ補正モード判定処理3を説明するためのフローチャートである。
振れ補正モード判定タイマ割込処理3を開始すると、レンズ制御部203はステップS2001およびS2002の処理を行う。ステップS2001およびS2002の処理は、図8に示すS801およびS802と同様の処理である。
ステップS2001において、所定のサンプル数以上取得済でないと(ステップS2001において、NO)、レンズ制御部203は振れ補正モード判定タイマ割込処理3を終了する。ステップS2002において、予め設定された閾値を超えるサンプルが存在すると(ステップS2002において、YES)、レンズ制御部203は、直近の所定時間分の振れ量データを調べて、一方向への振れ量が全て所定値以上となっている否かを判定する(ステップS2003)。全て所定値以上でないと(ステップS2003において、NO)、レンズ制御部203はレンズユニット200における振れ補正モードを「通常モード」とする(ステップS2004)。つまり、レンズ制御部203は、レンズ駆動部204による振れ補正を「通常モード」とする。
一方、全て所定値以上であると(ステップS2003において、YES)、レンズ制御部203はレンズユニット200における振れ補正モードを「流し撮りモード」とする(ステップS2005)。つまり、レンズ制御部203は、レンズ駆動部204による振れ補正を「流し撮りモード」とする。
ステップS2002において、予め設定された閾値を超えるサンプルが存在しないと(ステップS2002において、NO)、レンズ制御部203は、レンズユニット200における振れ補正モードを「三脚モード」とする(ステップS2006)。つまり、レンズ制御部203はレンズ駆動部204による振れ補正を「三脚モード」とする。
ステップS2004、2005、又は2006の処理の後、レンズ制御部203はシステム制御部120から振れ補正モードの判定結果について送信要求があるか否かを判定する(ステップS2007)。送信要求がある場合には(ステップS2007において、YES)、レンズ制御部203はシステム制御部120に振れ補正モードの判定結果をする(ステップS2008)。そして、レンズ制御部203は振れ補正モード判定タイマ割込処理3を終了する。送信要求がない場合には(ステップS2007において、NO)、レンズ制御部203は振れ補正モード判定タイマ割込処理3を終了する。
このように、本発明の第4の実施形態では、レンズユニット200における振れ補正モードを優先して、カメラ本体100における振れ補正モードをレンズユニット200における振れ補正モードと一致させる。これによって、振れ補正モードの判定結果を通信可能なレンズユニット200がカメラ本体100に装着された場合には、カメラ本体100とレンズユニット200との振れ補正モードが同一となって、不自然な画像又は映像が生成されることを防ぐことができる。
なお、第4の実施形態では、レンズユニット200における振れ補正モードを優先してカメラ本体100とレンズユニット200との振れ補正モードを一致させるようにしたが、カメラ本体100における振れ補正モードの判定結果を優先するようにしてもよい。
[第5の実施形態]
続いて、本発明の第5の実施形態によるカメラの一例について説明する。なお、第5の実施形態によるカメラの構成は図15に示すカメラと同様である。また、第5の実施形態におけるカメラ本体処理、レンズユニット処理、振れ補正モード判定タイマ割込処理2、およびジャイロセンサ読み出しタイマ割込処理は、図16、図17、図19、および図7に示す処理と同様である。
図21は、本発明の第5の実施形態によるカメラにおいてカメラ本体で行われる振れ補正モード判定タイマ割込処理1を説明するためのフローチャートである。
振れ補正モード判定タイマ割込処理1を開始すると、システム制御部120はステップS2101〜S2106の処理を行う。ステップS2101〜S2106の処理は、図9に示すS901〜S906と同様の処理である。
ステップS2015において、判定結果が前回と同一である場合(ステップS2105において、YES)又はステップS2106の処理の後、システム制御部120はステップS2107の処理に進む。
ステップS2107においては、システム制御部120は、カメラ本体100における三脚検知の判定結果とレンズユニット200から最後に受信した振れ補正モードの判定結果を参照する。そして、システム制御部120はカメラ本体100における三脚検知の判定結果が「三脚あり」又はレンズユニット200における振れ補正モード判定結果が「三脚モード」であるか否かを判定する。
三脚検知の判定結果が「三脚あり」又は最後に受信した振れ補正モードの判定結果が「三脚モード」でない場合には(ステップS2107において、NO)、システム制御部120はステップS2108の処理に進む。ステップS2108において、システム制御部120は、画像処理部123における振れ補正モードを、レンズユニット200から最後に受信した振れ補正モードの判定結果と同一のモードに設定する。そして、システム制御部120は、振れ補正モード判定タイマ割込処理1を終了する。
一方、三脚検知の判定結果が「三脚あり」又は振れ補正モードの判定結果が「三脚モード」であると(ステップS2107において、YES)、システム制御部120は画像処理部123における振れ補正モードを「三脚モード」に設定する(ステップS2109)。そして、システム制御部120は、振れ補正モード判定タイマ割込処理1を終了する。
図22は、本発明の第5の実施形態によるカメラにおいてレンズユニット行われる振れ補正モード判定タイマ割込処理3を説明するためのフローチャートである。なお、図22に示すステップS2201〜2206の処理は、図20に示すステップS2001〜2006と同様の処理である。
ステップS2204、S2205、又はS2206の処理の後、レンズ制御部203は、レンズユニット200における振れ補正モードの判定結果が前回カメラ本体100に送信した判定結果と同一であるか否かを判定する(ステップS2207)。判定結果が異なる場合には(ステップS2207において、NO)、レンズ制御部203はレンズユニット200における振れ補正モードの判定結果をシステム制御部120に送信する(ステップS2208)。
判定結果が同一の場合(ステップS2207において、YES)、レンズ制御部203はカメラ本体100から最後に受信した三脚検知の判定結果が「三脚あり」であるか否かを調べる(ステップS2209)。なお、ステップS2208の処理の後、レンズ制御部203はステップS2209の処理に進む。
「三脚あり」の場合(ステップS2209において、YES)、レンズ制御部203は、レンズ駆動部204における振れ補正モードを「三脚モード」に設定する(ステップS2210)。そして、レンズ制御部203は振れ補正モード判定タイマ割込処理3を終了する。「三脚なし」の場合(ステップS2209において、NO)、レンズ制御部203は振れ補正モード判定タイマ割込処理3を終了する。
このように、本発明の第5の実施形態では、振れ検出部151および振れ検出部205の少なくとも一方において振れ検出量が閾値以下である場合には、カメラ本体100およびレンズユニット200の振れ補正モードを「三脚モード」に設定する。これによって、振れ量が十分に小さいにも拘わらず、振れ検出部151と振れ検出部204のいずれか一方がレンズ駆動による振動の干渉などによって誤って大きな振れ量を検出したとしても「三脚モード」が解除される事態を防ぐことができる。
また、第5の実施形態では、システム制御部120およびレンズ制御部203は振れ補正モードの判定結果が前回の判定と異なる場合にのみ、振れ補正モードおよび三脚検知の判定結果を通信する。これによって、システム制御部120およびレンズ制御部203の間における通信の頻度を削減することができる。
なお、第5の実施形態において、「三脚検知」とは、カメラ本体100およびレンズユニット200の振れ量が十分小さい状態であるか否かの判定であって、カメラが三脚に固定されているか否かの判定には限定されない。
[第6の実施形態]
次に、本発明の第6の実施形態によるカメラの一例について説明する。なお、第6の実施形態によるカメラの構成は図15に示すカメラと同様である。
図23は、本発明の第6の実施形態によるカメラにおいてカメラ本体で行われる処理を説明するためのフローチャートである。
なお、図23では、図16に示すステップS1603およびステップS1604に対応するステップS2303およびステップS2306との間でステップS2304およびステップS2305の処理が行われる。そして、図示のステップS2300〜S2303およびS2307〜S2309の処理は図16に示すステップS1600〜S1603およびS1605〜S1607と同様の処理である。
振れ補正モードの判定結果の通信が可能であると(ステップS2303において、YES)、システム制御部120はレンズ制御部203から振れ検出部(ジャイロ)205による検知結果の信頼性に関する情報(信頼性情報)を受信する(ステップS2304)。ここでは、信頼性情報として、例えば、振れ検出部205による検知結果のS/N比に関する情報が用いられる。
続いて、システム制御部120は、レンズ制御部203に振れ検出部151による検知結果の信頼性に関する情報(信頼性情報)を送る(ステップS2305)。ここでは、信頼性情報として、例えば、振れ検出部151による検知結果のS/N比に関する情報を送る。そして、システム制御部120は後述する振れ補正モード判定タイマ割込処理1を開始する(ステップS2306)。振れ補正モードの判定結果の通信が可能でないと(ステップS2303において、NO)、システム制御部120は後述する振れ補正モード判定タイマ割込処理2を開始する(ステップS2307)。
図24は、本発明の第6の実施形態によるカメラにおいてレンズユニットで行われる処理を説明するためのフローチャートである。なお、図24では、図17に示すステップS7701およびステップS1702に対応するステップS2401およびステップS2404の間においてステップS2402およびS2403の処理が行われる。そして、図示のステップS2401、S2405、およびS2406の処理は、図17に示すステップS1701、S1703、およびS1704と同様の処理である。
ステップS2401の処理の後、レンズ制御部203は、レンズユニット200に備えられた振れ検出部205の出力データの信頼性に関する情報を、システム制御部120に送信する(ステップS2402)。例えば、振れ検出部205のS/N比に関する情報を送信する。
続いて、レンズ制御部203は、カメラ本体100に備えられた振れ検出部151の出力データの信頼性に関する情報を、システム制御部120から受信する(ステップS2403)。例えば、振れ検出部151のS/N比に関する情報を受信する。そして、レンズ制御部203は、後述する振れ補正モード判定タイマ割込3をスタートする(ステップS2404)。
図25は、図23に示す振れ補正モード判定タイマ割込処理1を説明するためのフローチャートである。なお、図示のフローチャートにおいて、ステップS2501の処理は図13に示すステップS1301と同様の処理である。また、ステップS2503およびS2504の処理は図9に示すステップS901およびS902と同様の処理である。
ステップS2501において、振れ検出部151の信頼性が振れ検出部205の信頼性より高くないと(ステップS2501において、NO)、システム制御部120はステップS2502の処理に進む。ステップS2502において、システム制御部120は画像処理部123における振れ補正モードを、レンズユニット200から最後に受信した振れ補正モードの判定結果と同一のモードに設定する。そして、システム制御部120は振れ補正モード判定タイマ割込処理1を終了する。
ステップS2503において、所定のサンプル数以上取得済でないと(ステップS2503において、NO)、システム制御部120は、振れ補正モード判定タイマ割込処理1を終了する。予め設定された閾値を超えるサンプルが存在すると(ステップS2504において、YES)、システム制御部120は、直近の所定時間分の振れ量データを調べて、一方向への振れ量が全て所定値以上となっているか否かを判定する(ステップS2505)。
全て所定値以上でないと(ステップS2505において、NO)、システム制御部120はカメラ本体100における振れ補正モードの判定結果を「通常モード」とする。そして、システム制御部120は画像処理部123における振れ補正モードを「通常モード」に設定する(ステップS2506)。
全て所定値以上であると(ステップS2505において、YES)、システム制御部120はカメラ本体100における振れ補正モードの判定結果を「流し撮りモード」とする。そして、システム制御部120は画像処理部123における振れ補正モードを「流し撮りモード」に設定する(ステップS2507)。
ステップS2504において、予め設定された閾値を超えるサンプルが存在しないと(ステップS2504において、NO)、システム制御部120は、カメラ本体100における振れ補正モードの判定結果を「三脚モード」とする。そして、システム制御部120は画像処理部123における振れ補正モードを「三脚モード」に設定する(ステップS2508)。
ステップS2506、S2507、又はS2508の処理の後、システム制御部120は、カメラ本体100における振れ補正モードの判定結果が前回レンズユニット200に送信した判定結果と同一であるか否かを判定する(ステップS2509)。
判定結果が異なる場合(ステップS2509において、NO)、システム制御部120は、カメラ本体100における振れ補正モードの判定結果をレンズ制御部203に送信する(ステップS2510)。そして、システム制御部120は振れ補正モード判定タイマ割込処理1を終了する。判定結果が同一であると(ステップS2509において、YES)、システム制御部120は振れ補正モード判定タイマ割込処理1を終了する。
図26は、図24に示す振れ補正モード判定タイマ割込処理3を説明するためのフローチャートである。なお、図示のフローチャートにおいて、ステップS2601の処理は図14に示すステップS1401と同様の処理である。また、ステップS2603〜S2610の処理は図22に示すステップステップS2201〜2208と同様の処理である。
S1001およびS1002と同様の処理である。
ステップS2601において、振れ検出部151の信頼性が振れ検出部205の信頼性より高いと(ステップS2501において、YES)、レンズ制御部203はステップS2602の処理に進む。ステップS2602において、レンズ制御部203はレンズ駆動部204における振れ補正モードを、カメラ本体200から最後に受信した振れ補正モードの判定結果と同一のモードに設定する。そして、レンズ制御部203は振れ補正モード判定タイマ割込処理3を終了する。
なお、ステップS2610の処理の後、レンズ制御部203は振れ補正モード判定タイマ割込処理3を終了する。また、判定結果が同一であると(ステップS2609において、YES)、レンズ制御部203は振れ補正モード判定タイマ割込処理3を終了する。
このように、本発明の第6の実施形態では、システム制御部120およびレンズ制御部203は、振れ検出部151および振れ検出部205の信頼性に関する情報を送受する。これによって、信頼性が高い振れ検出部の出力を用いて、カメラ本体100およびレンズユニット200の振れ補正モードを判定することができる。
なお、第6の実施形態では、振れ検出部の信頼性に関する情報として、S/N比に関する情報を用いたが、その他の情報を用いるようにしてもよい。例えば、振れ検出部151および振れ検出部205の温度に関する情報を用いるようにしてもよい。
[第7の実施形態]
次に、本発明の第7の実施形態によるカメラの一例について説明する。なお、第7の実施形態によるカメラの構成は図15に示すカメラと同様である。なお、第7の実施形態によるカメラにおいてカメラ本体で行われる処理およびレンズユニットで行われる処理は、図23および図24で説明した処理と同様である。また、その他の処理は第4の実施形態で説明した処理と同様である。
図27は、本発明の第7の実施形態によるカメラにおいてカメラ本体で行われる振れ補正モード判定タイマ割込処理1を説明するためのフローチャートである。
振れ補正モード判定タイマ割込処理1を開始すると、システム制御部120は、レンズユニット200における振れ補正モードが、振れ補正モード操作部206によって指定されているか否かを判定する(ステップ2701)。振れ補正モードが指定されている場合には(ステップS2701において、YES)、システム制御部120は、画像処理部123における振れ補正モードを、レンズユニット200から最後に受信した振れ補正モードの判定結果と同一のモードに設定する(ステップS2702)。そして、システム制御部120は振れ補正モード判定タイマ割込処理1を終了する。
振れ補正モードが指定されていない場合には(ステップS2701において、NO)、レンズ制御部203はステップS2703の処理に進む。なお、図27に示すステップS2703〜S2712の処理は、図25に示すステップS2501〜2510と同様の処理であるので、ここでは説明を省略する。
図28は、本発明の第7の実施形態によるカメラにおいてレンズユニットで行われる振れ補正モード判定タイマ割込処理3を説明するためのフローチャートである。
振れ補正モード判定タイマ割込処理3を開始すると、レンズ制御部203は、後述する振れ補正部モード操作部入力反映処理を行う(ステップS2801)。その後、レンズ制御部203は、レンズユニット200における振れ補正モードが振れ補正モード操作部206によって指定されているか否かを判定する(ステップS2802)。指定されている場合には(ステップS2802において、YES)、レンズ制御部203は振れ補正モード判定タイマ割込処理3を終了する。
一方、指定されていない場合には(ステップS2802において、NO)、レンズ制御部203はステップS2803の処理に進む。なお、図28に示すステップS2803〜S2812の処理は、図26に示すステップS2601〜2610と同様の処理であるので、ここでは説明を省略する。
図29は、図28に示す振れ補正部モード操作部入力反映処理を説明するためのフローチャートである。
振れ補正モード操作部入力反映処理を開始すると、レンズ制御部203は、振れ補正モード操作部206によって振れ補正オフが指定されているか否かを判定する(ステップS2901)。振れ補正オフが指定されていないと(ステップS2901において、NO)、レンズ制御部203は、振れ補正モード操作部206によって「流し撮りモード」が指定補正モードとして指定されているか否かを判定する(ステップS2902)。
「流し撮りモード」が指定されていないと(ステップS2902において、NO)、レンズ制御部203は、振れ補正モード操作部206によって「露光中のみ補正モード」が指定されているか否かを判定する(ステップS2903)。「露光中のみ補正モード」が指定されていないと(ステップS2903において、NO)、レンズ制御部203は振れ補正モード操作部206による振れ補正モードの指定はないとして振れ補正モード操作部入力反映処理を終了する。
振れ補正オフが指定されている場合には(ステップS2901において、YES)、レンズ制御部203は、レンズユニット200における振れ補正モードの判定結果を「振れ補正オフモード」とする。そして、レンズ制御部203はレンズ駆動部204における振れ補正モードを「振れ補正オフモード」に設定する(ステップS2904)。
「流し撮りモード」が指定されている場合には(ステップS2902において、YES)、レンズ制御部203は、レンズユニット200における振れ補正モードの判定結果を「流し撮りモード」とする。そして、レンズ制御部203はレンズ駆動部204における振れ補正モードを「流し撮りモード」に設定する(ステップS2905)。
「露光中のみ補正モード」が指定されている場合には(ステップS2903において、YES)、レンズ制御部203は、レンズユニット200における振れ補正モードの判定結果を「露光中のみ補正モード」とする。そして、レンズ制御部203はレンズ駆動部204における振れ補正モードを「露光中のみ補正モード」に設定する(ステップS2906)。
ステップS2904、S2905、又はS2906の処理の後、レンズ制御部203は、レンズユニット200における振れ補正モードの判定結果をシステム制御部120に送信する(ステップS2907)。そして、レンズ制御部203は、振れ補正モード操作部206によって、レンズユニット200における振れ補正モードが指定された旨をシステム制御部120に通知する(ステップS2908)。その後、レンズ制御部203は振れ補正モード操作部入力反映処理を終了する。
このように、本発明の第7の実施形態では、レンズユニット200において振れ補正モードが指定されると、当該指定された振れ補正モードを優先して、カメラ本体100とレンズユニット200の振れ補正モード一致させる。これによって、カメラ本体100およびレンズユニット200ともに、ユーザによって指定された振れ補正モードで振れ補正を行うことができる。
また、第7の実施形態では、レンズユニット200が振れ補正モード操作部206を備えるようにしたが、カメラ本体100が振れ補正モード操作部を備えるようにしてもよい。この場合、カメラ本体100で振れ補正モードが指定されると、レンズ制御部203は、カメラ本体100で指定された振れ補正モードを優先して、カメラ本体100とレンズユニット200の振れ補正モードを一致させる。
上記の7つの実施形態では、カメラ本体の振れ補正として、画像を補正する電子的な振れ補正を行う例について説明したが、例えば、撮像素子を光軸に交差する方向に移動させる光学的な振れ補正を行うようにしてもよい。
以上、本発明について実施の形態に基づいて説明したが、本発明は、これらの実施の形態に限定されるものではなく、この発明の要旨を逸脱しない範囲の様々な形態も本発明に含まれる。
例えば、上記の実施の形態の機能を制御方法として、この制御方法をカメラ本体(撮像装置本体)又はレンズユニットに実行させるようにすればよい。また、上述の実施の形態の機能を有するプログラムを制御プログラムとして、当該制御プログラムをカメラ本体又はレンズユニットが備えるコンピュータに実行させるようにしてもよい。なお、制御プログラムは、例えば、コンピュータに読み取り可能な記録媒体に記録される。
[その他の実施形態]
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。