(57)【要約】【課題】電池の残量レベルを判定する処理の実行タイミングによらずに、電池の残量レベルを正確に判定することができる撮像装置、及びレンズ鏡筒を提供する。【解決手段】撮像装置（１）は、電池（５）の電圧を検出する検出部（６）と、検出部（６）によって検出された電圧に基づいて、電池（５）の残量レベルを判定する判定部（８３）と、電池（５）から供給される駆動電力によって駆動される駆動部が、検出部（６）による電圧の検出期間中に駆動したか否かを示す検出中駆動フラグ（６２）を取得し、検出中駆動フラグ（６２）に基づいて、判定部（８３）に判定を実行させる制御部（８２）とを備える。【選択図】図１
2012120050.tif 000002
【特許請求の範囲】
【請求項１】
電池の電圧を検出する検出部と、
前記検出部によって検出された前記電圧に基づいて、前記電池の残量レベルの判定を実行する判定部と、
前記電池から供給される駆動電力によって駆動される駆動部が、前記検出部による前記電圧の検出期間中に駆動したか否かを示す検出中駆動フラグを取得し、前記検出中駆動フラグに基づいて、前記判定部に前記判定を実行させる制御部と
を備えることを特徴とする撮像装置。
【請求項２】
前記制御部は、
前記検出中駆動フラグに基づいて、前記駆動部のうち、予め定められた所定の駆動部が、前記検出期間に駆動したか否かを判定し、前記検出期間に前記所定の駆動部が駆動しなかった場合には前記判定部に前記判定を実行させ、前記検出期間に前記所定の駆動部が駆動した場合には前記判定部に前記判定を実行させない
ことを特徴とする請求項１に記載の撮像装置。
【請求項３】
前記制御部は、
前記検出部に前記電圧を検出させる前に、前記駆動部が駆動しているか否かの駆動状態を示す検出前駆動フラグを取得し、前記検出前駆動フラグに基づいて、前記所定の駆動部が駆動しているか否かを判定し、前記所定の駆動部が駆動している場合には前記判定部に前記判定を実行させない
ことを特徴とする請求項２に記載の撮像装置。
【請求項４】
被写体の光学像を結像させる光学系と、前記光学系を駆動させる光学系駆動部と、制御指令に応じて前記光学系駆動部の駆動状態を出力するレンズ制御部とを備えるレンズ鏡筒を備え、
前記駆動部には、前記光学系駆動部が含まれ、
前記制御部は、
前記光学系駆動部に対応する前記検出中駆動フラグを前記レンズ鏡筒に出力させる第１の制御指令を、前記検出部に前記電圧を検出させた後に前記レンズ鏡筒に対して出力する
ことを特徴とする請求項１から請求項３のいずれか１項に記載の撮像装置。
【請求項５】
前記制御部は、
前記レンズ鏡筒に対して、前記光学系駆動部の駆動状態の検出を開始させ、且つ前記駆動状態に対応する前記検出前駆動フラグを出力させる第２の制御指令を、前記検出部に前記電圧を検出させる前に出力し、
出力する前記第１の制御指令によって、前記光学系駆動部の前記駆動状態の検出を前記レンズ鏡筒に停止させ、且つ前記第２の制御指令から前記第１の制御指令までの期間に取得された前記駆動状態に対応する前記検出中駆動フラグを、前記レンズ鏡筒に出力させる
ことを特徴とする請求項４に記載の撮像装置。
【請求項６】
前記所定の駆動部は、駆動のために必要な消費電流が予め定められた所定値以上であることを特徴とする請求項２から請求項５のいずれか１項に記載の撮像装置。
【請求項７】
前記所定の駆動部であるか否かを判定する駆動部判定フラグを前記駆動部のそれぞれに対応づけた駆動部判定テーブルを記憶する記憶部を備え、
前記制御部は、
前記駆動部判定テーブルに基づいて、前記所定の駆動部であるか否かを判定することを特徴とする請求項２から請求項６のいずれか１項に記載の撮像装置。
【請求項８】
前記判定部は、前記電池の残量レベルに応じて複数レベルに分類し、
前記記憶部は、前記複数レベルの各レベルに対応した複数の前記駆動部判定テーブルを記憶し、
前記制御部は、前記複数の前記駆動部判定テーブルの中から、前記判定部に判定された前記電池の残量レベルに応じて選択された駆動部判定テーブルに基づいて、前記所定の駆動部を判定する
ことを特徴とする請求項２から請求項７のいずれか１項に記載の撮像装置。
【請求項９】
電池の電圧を検出する検出部と、前記検出部によって検出された前記電圧に基づいて前記電池の残量レベルの判定を実行する残量レベル判定部と、前記判定を前記残量レベル判定部に実行させる制御部と、を備える撮像装置に対して着脱可能に設けられるレンズ鏡筒であって、
被写体の光学像を結像させる光学系と、
前記光学系を駆動させる光学系駆動部と、
前記検出部による電圧の検出期間中に前記光学系駆動部の駆動状態を示す検出中駆動フラグを取得し、前記制御部から出力された第１の制御指令に応じて、前記検出中駆動フラグを前記制御部に対して出力するレンズ制御部と
を備えることを特徴とするレンズ鏡筒。
【請求項１０】
前記レンズ制御部は、
前記制御部から出力された第２の制御指令に応じて、前記光学系駆動部の駆動状態の検出を開始し、且つ前記駆動状態を示す検出前駆動フラグを出力し、
前記第１の制御指令に応じて、前記光学系駆動部の駆動状態の検出を停止し、且つ前記第２の制御指令から前記第１の制御指令までの期間に取得された前記検出中駆動フラグを出力する
ことを特徴とする請求項９に記載のレンズ鏡筒。
【請求項１１】
前記レンズ制御部は、
予め定められた所定の検出周期によって、前記光学系駆動部の駆動状態を検出し、前記第１の制御指令に応じて、前記第１の制御指令より前の予め定められた所定の期間に取得された前記検出中駆動フラグを出力する
ことを特徴とする請求項９に記載のレンズ鏡筒。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、撮像装置、及びレンズ鏡筒に関する。
【背景技術】
【０００２】
被写体を撮像するための駆動部を備え、電池から供給される駆動電力によって駆動部を駆動させて撮像する撮像装置が知られている。このような撮像装置は、使用者に電池の残量を知らせるために、電池の残量レベルを判定する処理（バッテリチェック処理という）を行っている。このような撮像装置では、負荷の大きい駆動部が駆動している場合、一時的に電池の電圧が低下して、このバッテリチェック処理が正確に行えないことがある。そのため、このような撮像装置は、このバッテリチェック処理を行う際に、検出した電池の電圧を駆動部の駆動状態に応じて補正する処理（例えば、特許文献１を参照）や、負荷の大きい駆動部が駆動状態にある場合に電池の残量レベルの判定を禁止する処理を行っている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００３−８４０５０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上述のような撮像装置は、各駆動部の駆動状態を示すフラグが変化するタイミングと、実際の駆動状態とにわずかなズレが存在する。例えば、駆動部が駆動状態になった直後に、電池の残量レベルを判定する処理（バッテリチェック処理）を開始した場合、駆動部が駆動されてから上述のフラグが変化するまでの処理遅延によって、実際には駆動部が駆動状態であるにもかかわらず、非駆動状態であると判定される場合がある。このような場合に、上述のような撮像装置は、電池の残量レベルを正確に判定できないことがある。
つまり、上述のような撮像装置では、電池の残量レベルを判定する処理（バッテリチェック処理）の実行タイミングによっては、電池の残量レベルを正確に判定することができないという問題がある。
【０００５】
本発明は、上記問題を解決すべくなされたもので、その目的は、電池の残量レベルを判定する処理（バッテリチェック処理）の実行タイミングによらずに、電池の残量レベルを正確に判定することができる撮像装置、及びレンズ鏡筒を提供することにある。
【課題を解決するための手段】
【０００６】
上記問題を解決するために、本発明は、電池の電圧を検出する検出部と、前記検出部によって検出された前記電圧に基づいて、前記電池の残量レベルの判定を実行する判定部と、前記電池から供給される駆動電力によって駆動される駆動部が、前記検出部による前記電圧の検出期間中に駆動したか否かを示す検出中駆動フラグを取得し、前記検出中駆動フラグに基づいて、前記判定部に前記判定を実行させる制御部とを備えることを特徴とする撮像装置である。
【０００７】
また、本発明は、電池の電圧を検出する検出部と、前記検出部によって検出された前記電圧に基づいて前記電池の残量レベルの判定を実行する残量レベル判定部と、前記判定を前記残量レベル判定部に実行させる制御部と、を備える撮像装置に対して着脱可能に設けられるレンズ鏡筒であって、被写体の光学像を結像させる光学系と、前記光学系を駆動させる光学系駆動部と、前記検出部による電圧の検出期間中に前記光学系駆動部の駆動状態を示す検出中駆動フラグを取得し、前記制御部から出力された第１の制御指令に応じて、前記検出中駆動フラグを前記制御部に対して出力するレンズ制御部とを備えることを特徴とするレンズ鏡筒である。
【発明の効果】
【０００８】
本発明によれば、電池の残量レベルを判定する判定処理の実行タイミングによらずに、電池の残量レベルを正確に判定することができる。
【図面の簡単な説明】
【０００９】
【図１】本実施形態による撮像装置を示す概略ブロック図である。
【図２】同実施形態におけるバッテリチェック処理の一例を示す第１の概念図である。
【図３】同実施形態におけるバッテリチェック処理を示すフローチャートである。
【図４】同実施形態におけるバッテリチェック処理の別の一例を示す第２の概念図である。
【図５】同実施形態におけるレンズ制御部のコマンド処理の一例を示す第１のフローチャートである。
【図６】同実施形態におけるレンズ制御部のコマンド処理の別の一例を示す第２のフローチャートである。
【発明を実施するための形態】
【００１０】
以下、本発明の一実施形態による撮像装置及びレンズ鏡筒について、図面を参照して説明する。
図１は、本実施形態による撮像装置１を示す概略ブロック図である。
この図において、撮像装置１（カメラ）は、ボディ部２、レンズ鏡筒３、外部アクセサリ部４、及び記憶媒体３００を備えている。
【００１１】
ボディ部２は、撮像装置１の本体部分である。ボディ部２は、電池電圧検出部６、バッファメモリ部７、操作部８、記憶部６０、表示部７０、バッテリ収納部９０、ボディ駆動部１００、及び制御部８０を備えている。また、ボディ駆動部１００は、通信部９、撮像部１０、画像処理部２０、シャッタ駆動部３０、ミラー駆動部４０、及びその他駆動部５０を備えている。なお、バッテリ５は、バッテリ収納部９０に収納されている。バッテリ５は、撮像装置１に着脱可能に取り付けられてもよい。
【００１２】
また、レンズ鏡筒３は、撮像装置１のレンズ部分である。レンズ鏡筒３は、撮像装置１に取り付けられて一体とされていてもよいし、撮像装置１に着脱可能に取り付けられてもよい。ここでは、レンズ鏡筒３は、撮像装置１に対して着脱可能に使用されるものとして説明する。したがって、ここでは、レンズ鏡筒３は、撮像装置１に対して着脱可能に設けられている。
また、レンズ鏡筒３は、光学系３１、記憶部３２、レンズ制御部３３、及び光学系駆動部２００を備えている。また、光学系駆動部２００は、ＡＦ駆動部３４、ズーム駆動部３５、絞り駆動部３６、及び手振れ防止駆動部３７を備えている。
【００１３】
バッテリ５（電池）は、撮像装置１が備える各構成に電力を供給する。バッテリ５は、撮像装置１に対して着脱可能に接続される。バッテリ５は、例えば、充電して繰り返し使用可能な二次電池である。
電池電圧検出部６（検出部）は、例えば、Ａ／Ｄ（アナログ／デジタル）コンバータなどにより構成される。電池電圧検出部６は、バッテリ５の電圧を検出し、制御部８０に出力する。
【００１４】
バッファメモリ部７は、撮像部１０によって撮像された画像データを、一時的に記憶する。
操作部８は、例えば、電源スイッチ、シャッタボタン、十字キー、確定ボタン、削除ボタン、及び、その他の操作キーを含み、ユーザーによって操作されることで、ユーザーの操作入力を受け付けて、制御部８０に供給する。
【００１５】
通信部９は、カードメモリ等の取り外しが可能な記憶媒体３００と接続され、この記憶媒体３００への撮像画像データの書込み、読み出し、又は消去を行う。
記憶媒体３００は、撮像装置１に対して着脱可能に接続される記憶部であり、例えば、撮像部１０によって生成された撮像画像データを記憶する。
【００１６】
撮像部１０は、設定された撮像条件（例えば、絞り値、露出値など）に基づいて制御部８０によって制御される。また、撮像部１０は、撮像素子及びＡ／Ｄ変換部を備えている。撮像部１０は、光学系３１を介した光学像を撮像素子に結像させ、Ａ／Ｄ変換部によって変換された光学像に基づく画像データを生成する。撮像部１０は、生成した画像データをバッファメモリ部７に出力する。
【００１７】
画像処理部２０は、記憶部６０に記憶されている画像処理条件に基づいて、バッファメモリ部７に記憶されている画像データに対して画像処理を実行する。ここでいうバッファメモリ部７に記憶されている画像データとは、画像処理部２０に入力される画像データ（入力画像）のことであり、例えば、撮像画像データ、スルー画像データ、又は、記憶媒体３００から読み出された撮像画像データのことである。
【００１８】
シャッタ駆動部３０は、撮像の際に、シャッタを駆動する駆動部である。シャッタ駆動部３０は、操作部８のシャッタボタンの操作に基づいて、制御部８０から出力される信号に応じて、シャッタを駆動する。
ミラー駆動部４０は、撮像の際に、ミラーを駆動する駆動部である。ミラー駆動部４０は、操作部８のシャッタボタンの操作に基づいて、制御部８０から出力される信号に応じて、ミラーを駆動する。
その他駆動部５０は、例えば、ＩＳＣ（イメージセンサクリーニング）駆動部などの駆動部である。
【００１９】
なお、通信部９、撮像部１０、画像処理部２０、シャッタ駆動部３０、ミラー駆動部４０、及びその他駆動部５０は、ボディ駆動部１００に含まれる。ボディ駆動部１００は、バッテリ５から供給される駆動電力によって駆動される。
また、駆動部には、ボディ駆動部１００、光学系駆動部２００、及び外部アクセサリ駆動部４１が含まれる。また、本実施形態における駆動部とは、バッテリ５から供給される駆動電力によって駆動されるブロックのことである。
【００２０】
記憶部６０は、制御部８０によって撮像の際に参照される撮像条件などを記憶する。また、記憶部６０に記憶される情報には、検出前駆動フラグ６１、検出中駆動フラグ６２、及び駆動部判定テーブルなどが含まれる。
【００２１】
検出前駆動フラグ６１（駆動フラグＡ）は、電池電圧検出部６にバッテリ５の電圧を検出させる前に、駆動部が駆動しているか否かを示す情報である。検出前駆動フラグ６１（駆動フラグＡ）は、各駆動部と駆動状態（駆動しているか否か）が関連付けられており、記憶部６０に記憶される。
なお、検出前駆動フラグ６１（駆動フラグＡ）のうち、ボディ駆動部１００に対応する駆動フラグを駆動フラグＡ１とし、光学系駆動部２００に対応する駆動フラグを駆動フラグＡ２とする。つまり、検出前駆動フラグ６１（駆動フラグＡ）には、駆動フラグＡ１及び駆動フラグＡ２が含まれる。
【００２２】
検出中駆動フラグ６２（駆動フラグＢ）は、電池電圧検出部６によるバッテリ５の電圧の検出期間中に、駆動部が駆動したか否かを示す情報である。検出中駆動フラグ６２（駆動フラグＢ）は、各駆動部と駆動状態（駆動したか否か）が関連付けられており、記憶部６０に記憶される。
なお、検出中駆動フラグ６２（駆動フラグＢ）のうち、ボディ駆動部１００に対応する駆動フラグを駆動フラグＢ１とし、光学系駆動部２００に対応する駆動フラグを駆動フラグＢ２とする。つまり、検出中駆動フラグ６２（駆動フラグＢ）には、駆動フラグＢ１及び駆動フラグＢ２が含まれる。
【００２３】
表示部７０は、例えば、液晶ディスプレイであり、撮像部１０によって得られた画像データや、操作画面等を表示する。また、表示部７０は、バッテリ表示部７１を備えている。
バッテリ表示部７１は、バッテリチェック結果に基づいて、バッテリ残量レベルを表示する。なお、ここでバッテリ残量レベルは、ＢＣ（ビーシー）１からＢＣ５の５段階のレベルである。ＢＣ５が、最も残量レベルが高いレベルであり、ＢＣ１が、最も残量レベルが低いレベルである。バッテリ表示部７１は、例えば、バッテリ残量レベルをアイコンによって表示する。
また、表示部７０は、残量レベルが予め定められた残量レベル（例えば、ＢＣ２）以下である場合に、警告（警告メッセージ）を表示（出力）する。
【００２４】
制御部８０は、例えば、ＣＰＵ（Central processing unit）などを含み、撮像装置１が備える各構成を制御する。制御部８０は、例えば、操作部８を介して撮像指示を受け付けた際に、撮像部１０を介して得られる画像データを、撮像された静止画の撮像画像データとして、記憶媒体３００に記憶させる。また、制御部８０は、例えば、操作部８を介して撮像指示を受け付けていない状態において、撮像部１０を介して連続的に得られる画像データをスルー画（スルー画データ）として表示部７０に連続的に表示させる。また、制御部８０は、詳細に後述するバッテリチェック処理を制御する処理を行う。
また、制御部８０は、ボディ駆動部１００の各駆動部を制御する。制御部８０は、ボディ駆動部１００の各駆動部を駆動させる際に、各駆動部に対応する駆動中フラグを“１”にする。また、制御部８０は、ボディ駆動部１００の各駆動部の駆動を終了させる際に、各駆動部に対応する駆動中フラグを“０”にする。なお、駆動中フラグの初期状態は、“０”である。ここで、駆動中フラグは、記憶部６０にボディ駆動部１００の各駆動部に対応付けて記憶される情報である。
【００２５】
また、制御部８０は、主制御部４００及びサブ制御部５００を備える。主制御部４００は、バッテリチェック制御部８２、残量レベル判定部８３、及び表示処理部８４を備えている。また、サブ制御部５００は、電圧検出処理部８１を備えている。
【００２６】
電圧検出処理部８１は、主制御部４００からの指示に応じて、電池電圧検出部６にバッテリ５の電圧を検出させて、検出されたＡＤ値（アナログ・デジタル変換値）を取得する。電圧検出処理部８１は、取得したバッテリ５の電圧におけるＡＤ値を主制御部４００に出力する。なお、電圧検出処理部８１における電池電圧検出部６にバッテリ５の電圧を検出させる上述の処理は、主制御部４００からの指示に応じて、予め定められた一定の周期によって繰り返し実行される。
【００２７】
残量レベル判定部８３（判定部）は、電池電圧検出部６によって検出されたバッテリ５の電圧に基づいて、バッテリ５の残量レベルの判定を実行する。つまり、残量レベル判定部８３は、バッテリチェック制御部８２の指示に応じて、電池電圧検出部６によって検出されたバッテリ５の電圧に基づいて、バッテリ５の残量レベルを判定する判定処理（残量レベル判定処理）を実行する。残量レベル判定部８３は、複数の判定閾値に基づいて、バッテリ５の残量レベルを複数段階（例えば、ＢＣ１からＢＣ５の５段階）に判定する。つまり、残量レベル判定部８３は、バッテリ５の残量レベルに応じて複数レベルに分類する。なお、残量レベル判定部８３は、判定処理を行う際に、例えば、電池電圧検出部６によって直前に検出された４回分の電圧の移動平均値に基づいて、バッテリ５の残量レベルを判定する。
【００２８】
表示処理部８４は、残量レベル判定部８３によって判定されたバッテリ５の残量レベルに対応する情報（ＢＣ１からＢＣ５のうちのいずれか１つ）をバッテリ表示部７１に表示させる。また、表示処理部８４は、バッテリ５の残量レベルが予め定められた残量レベル（例えば、ＢＣ２）以下である場合に、警告を表示部７０（警告出力部）に表示させる。なお、「警告を表示部７０に表示させる」とは、例えば、撮像装置１を使用するユーザーに対して、バッテリ残量が低下したことを示すメッセージを表示させることである。
【００２９】
バッテリチェック制御部８２（制御部）は、予め定められた一定の周期ごとに、電圧検出処理部８１にバッテリ５の電圧を検出させ、残量レベル判定部８３に残量レベル判定処理を実行させる。また、バッテリチェック制御部８２は、電池電圧検出部６によるバッテリ５の検出期間中に、駆動部が駆動したか否かを示す検出中駆動フラグ６２を取得し、検出中駆動フラグ６２に基づいて、残量レベル判定部８３に残量レベル判定処理を実行させる。ここで、駆動部とは、バッテリ５から供給される駆動電力によって駆動される構成要素のことであり、上述したように、ボディ駆動部１００、光学系駆動部２００、及び外部アクセサリ駆動部４１の各駆動部が含まれる。
【００３０】
また、バッテリチェック制御部８２は、検出中駆動フラグ６２に基づいて、駆動部のうち、予め定められた所定の駆動部が、電池電圧検出部６によるバッテリ５の検出期間に駆動したか否かを判定する。バッテリチェック制御部８２は、この検出期間に所定の駆動部が駆動しなかった場合には、残量レベル判定部８３に残量レベル判定処理（バッテリ５の残量レベルを判定する判定処理）を実行させる。また、バッテリチェック制御部８２は、この検出期間に所定の駆動部が駆動した場合には、残量レベル判定部８３に残量レベル判定処理を実行させない。
【００３１】
ここで、予め定められた所定の駆動部とは、例えば、駆動のために必要な消費電流が予め定められた所定値以上である駆動部である。つまり、所定の駆動部とは、負荷が大きい駆動部のことであり、駆動するために必要な消費電流が大きいため、駆動中にバッテリ５の電圧が低下する可能性のある駆動部である。
【００３２】
また、バッテリチェック制御部８２は、電池電圧検出部６にバッテリ５の電圧を検出させる前に、駆動部が駆動しているか否かの駆動状態を示す検出前駆動フラグ６１を取得する。バッテリチェック制御部８２は、検出前駆動フラグ６１に基づいて、上述の所定の駆動部が駆動しているか否かを判定し、所定の駆動部が駆動している場合には、残量レベル判定部８３に残量レベル判定処理を実行させない。
【００３３】
また、バッテリチェック制御部８２は、レンズ鏡筒３のレンズ制御部３３に対して、各種コマンド（制御指令）を出力して、光学系駆動部２００の各駆動部に対応する検出前駆動フラグ６１及び検出中駆動フラグ６２を取得する。
【００３４】
次に、図１に示されるレンズ鏡筒３の構成について説明する。
光学系３１は、複数のレンズを備え、被写体の光学像を撮像部１０の撮像素子に結像させる。
ＡＦ（Auto Focus）駆動部３４は、光学系３１のレンズを駆動して自動で焦点合わせを行うＡＦ機構を駆動する駆動部である。ズーム駆動部３５は、光学系３１のレンズのズーム機構を駆動する駆動部である。絞り駆動部３６は、レンズ鏡筒３の絞り機構を駆動する駆動部である。手振れ防止駆動部３７は、レンズ鏡筒３の手振れ防止機構を駆動する駆動部である。
なお、ＡＦ駆動部３４、ズーム駆動部３５、絞り駆動部３６、及び手振れ防止駆動部３７は、光学系駆動部２００に含まれる。光学系駆動部２００は、光学系３１を駆動させる駆動部であり、ボディ部２のバッテリ５から供給される駆動電力によって駆動する。
【００３５】
記憶部３２は、レンズ制御部３３がレンズ鏡筒３の制御を行う際に参照される情報、等を記憶する。また、記憶部３２に記憶される情報には、光学系駆動部２００に対応する検出前駆動フラグ（駆動フラグＡ２）、及び光学系駆動部２００に対応する検出中駆動フラグ（駆動フラグＢ２）が含まれる。
【００３６】
レンズ制御部３３は、例えば、ＣＰＵなどを含み、レンズ鏡筒３が備える各構成を制御する。レンズ制御部３３は、ボディ部２の制御部８０から出力される指示（例えば、コマンド処理や制御信号など）に応じて、光学系駆動部２００の各駆動部を制御する。
また、レンズ制御部３３は、コマンド（制御指令）に応じて光学系駆動部２００の駆動状態を出力する。つまり、レンズ制御部３３は、電池電圧検出部６による電圧の検出期間中に光学系駆動部２００の駆動状態を示す駆動フラグＢ２を取得する。レンズ制御部３３は、バッテリチェック制御部８２から出力されたコマンドＣ２（第１の制御指令）に応じて、駆動フラグＢ２をバッテリチェック制御部８２に対して出力する。
【００３７】
また、レンズ制御部３３は、バッテリチェック制御部８２から出力されたコマンドＣ１（第２の制御指令）に応じて、光学系駆動部２００の駆動状態の検出を開始し、且つ駆動状態を示す駆動フラグＡ２を出力する。また、レンズ制御部３３は、コマンドＣ２（第１の制御指令）に応じて、光学系駆動部２００の駆動状態の検出を停止し、且つコマンドＣ１からコマンドＣ２までの期間に取得された駆動フラグＢ２を出力する。
【００３８】
外部アクセサリ部４は、撮像装置１が備えるアクセサリーシューに着脱可能に設けられるアクセサリであり、例えば、閃光装置などである。また、外部アクセサリ部４は、外部アクセサリ駆動部４１を備えている。
外部アクセサリ駆動部４１は、外部アクセサリ部４の機能を実行する駆動部であり、例えば、閃光装置の充電駆動部などである。ここで、外部アクセサリ駆動部４１は、ボディ部２のバッテリ５から供給される駆動電力によって駆動されるものとする。
【００３９】
次に、本実施形態における撮像装置１の動作について説明する。
図２は、本実施形態における撮像装置１のバッテリチェック処理の一例を示す第１の概念図である。
この図において、図２（ａ）は、駆動部Ａの実際の駆動状態を示しており、図２（ｂ）は、駆動部Ａの駆動中フラグの状態を示している。また、図２（ｃ）は、撮像装置１におけるバッテリチェック処理を示している。この例では、撮像装置１が、バッテリチェック処理を（１）から（４）までの４回実行する例である。
ここで、駆動部Ａは、駆動部（ボディ駆動部１００の各駆動部、光学系駆動部２００の各駆動部、及び外部アクセサリ駆動部４１）のいずれか１つに対応し、駆動するために必要な消費電流が大きい所定の駆動部である。
【００４０】
また、撮像装置１では、駆動部Ａを駆動する際に、制御部８０は、駆動部Ａを駆動させた後、駆動部Ａに対応する駆動中フラグを“１”にする。また、制御部８０は、駆動部Ａを停止させた後、駆動部Ａに対応する駆動中フラグを“０”にする。このため、撮像装置１では、駆動中フラグが変化するタイミングと、駆動部Ａにおける実際の駆動状態との間に、わずかなズレ（Ｄ１）が生じる。
【００４１】
図２が示すように、撮像装置１では、バッテリチェック処理を行う際に、バッテリチェック制御部８２が、まず、駆動部Ａが駆動しているか否かの駆動状態を示す駆動フラグＡ（検出前駆動フラグ６１）を取得する。また、バッテリチェック制御部８２は、駆動部Ａに対応する駆動状態の検出を開始する。
【００４２】
次に、バッテリチェック制御部８２は、サブ制御部５００の電圧検出処理部８１に、バッテリ５の電圧を検出させる指示を出す。電圧検出処理部８１は、バッテリチェック制御部８２からの指示に応じて、電池電圧検出部６にバッテリ５の電圧を検出させて、検出されたＡＤ値（アナログ・デジタル変換値）を取得する。電圧検出処理部８１は、取得したバッテリ５の電圧におけるＡＤ値を、バッテリチェック制御部８２に出力する。
【００４３】
一方で、電池電圧検出部６がバッテリ５の電圧を検出している間に、例えば、駆動部Ａに対応する駆動中フラグが“１”になった場合に、バッテリチェック制御部８２は、駆動部Ａに対応する駆動フラグＢ（検出中駆動フラグ６２）を“１”にする処理を行う。
【００４４】
バッテリチェック制御部８２は、電圧検出処理部８１から上述のＡＤ値が出力された後、駆動部Ａに対応する駆動フラグＢ（検出中駆動フラグ６２）を取得して、駆動部Ａに対応する駆動状態の検出を停止する。
次に、バッテリチェック制御部８２は、取得した駆動フラグＡ（検出前駆動フラグ６１）において、駆動部Ａが駆動しているか否かを判定する。バッテリチェック制御部８２は、駆動部Ａが駆動していると判定した場合（駆動フラグＡが“１”である場合）に、検出したＡＤ値を残量レベル判定処理に使用しない。つまり、バッテリチェック制御部８２は、駆動部Ａが駆動していると判定した場合に、バッテリチェック処理を終了する。
なお、この駆動フラグＡ（検出前駆動フラグ６１）に基づく判定処理を、駆動フラグＡ判定処理という。
【００４５】
また、バッテリチェック制御部８２は、駆動部Ａが駆動していないと判定した場合（駆動フラグＡが“０”である場合）に、取得した駆動フラグＢ（検出中駆動フラグ６２）に基づいて、バッテリ５の電圧の検出期間中に駆動部Ａが駆動したか否かを判定する。バッテリチェック制御部８２は、バッテリ５の電圧の検出期間中に駆動部Ａが駆動したと判定した場合（駆動フラグＢが“１”である場合）に、検出したＡＤ値を残量レベル判定処理に使用しない。つまり、バッテリチェック制御部８２は、駆動部Ａが駆動していると判定した場合に、バッテリチェック処理を終了する。
なお、この駆動フラグＢ（検出中駆動フラグ６２）に基づく判定処理を、駆動フラグＢ判定処理という。
【００４６】
バッテリチェック制御部８２は、バッテリ５の電圧の検出期間中に駆動部Ａが駆動しなかったと判定した場合（駆動フラグＢが“０”である場合）に、検出したＡＤ値による残量レベル判定処理を残量レベル判定部８３に実行させる。
【００４７】
ここで、バッテリチェック処理とは、バッテリ５の残量レベルを判定する残量レベル判定処理を残量レベル判定部８３に実行させる処理のことである。バッテリチェック処理は、予め定められた一定の周期によって繰り返し実行される。
図２において、バッテリチェック処理は、（１）から（４）までの４回実行される。図２（１）において、バッテリチェック制御部８２は、駆動フラグＡ判定処理、及び駆動フラグＢ判定処理において、駆動部Ａが駆動していると判定する。そのため、残量レベル判定部８３は、検出したＡＤ値による残量レベル判定処理を実行しない。
【００４８】
図２（２）において、バッテリチェック制御部８２は、駆動フラグＡ判定処理において駆動部Ａが駆動していないと判定する。しかし、バッテリチェック制御部８２は、駆動フラグＢ判定処理において、駆動部Ａが駆動している（又は駆動していた）と判定する。そのため、残量レベル判定部８３は、検出したＡＤ値による残量レベル判定処理を実行しない。
図２（３）において、バッテリチェック制御部８２は、駆動フラグＡ判定処理において駆動部Ａが駆動していると判定する。そのため、残量レベル判定部８３は、検出したＡＤ値による残量レベル判定処理を実行しない。
【００４９】
図２（４）において、バッテリチェック制御部８２は、駆動フラグＡ判定処理、及び駆動フラグＢ判定処理のいずれにおいても、駆動部Ａが駆動していない（又は駆動しなかった）と判定する。そのため、残量レベル判定部８３は、検出したＡＤ値による残量レベル判定処理を実行する。
【００５０】
次に、図３のフローチャートを参照して、撮像装置１におけるバッテリチェック処理の動作を詳細に説明する。
図３は、本実施形態におけるバッテリチェック処理を示すフローチャートである。
なお、ここでは、ボディ駆動部１００及び光学系駆動部２００に複数の所定の駆動部がある場合の例として説明する。
【００５１】
この図において、まず、撮像装置１は、駆動フラグＡを取得する（ステップＳ１０１）。つまり、ステップＳ１０１の処理において、バッテリチェック制御部８２は、記憶部６０に記憶されているボディ駆動部１００における駆動部それぞれに対応する駆動中フラグを読み出す。
また、バッテリチェック制御部８２は、レンズ鏡筒３に対して、駆動フラグＡ２（光学系駆動部２００に対応する検出前駆動フラグ）をレンズ鏡筒３に出力させるコマンドＣ１（第２の制御指令）を出力する。すなわち、バッテリチェック制御部８２は、レンズ制御部３３にコマンドＣ１（第２の制御指令）を出力し、レンズ制御部３３は、コマンドＣ１に応じて駆動フラグＡ２をバッテリチェック制御部８２に出力する。
【００５２】
これにより、バッテリチェック制御部８２は、駆動フラグＡ２を取得する。さらに、バッテリチェック制御部８２は、ボディ駆動部１００における駆動部それぞれに対応する駆動中フラグ及び駆動フラグＡ２を駆動フラグＡ（検出前駆動フラグ６１）として記憶部６０に記憶させる。また、バッテリチェック制御部８２は、ボディ駆動部１００における駆動部に対応する駆動状態の検出を開始する。また、バッテリチェック制御部８２は、駆動フラグＢ１（ボディ駆動部１００に対応する検出中駆動フラグ）を初期化（“０”に）する。
【００５３】
次に、撮像装置１は、バッテリ５の電圧を検出したＡＤ値を取得する（ステップＳ１０２）。つまり、バッテリチェック制御部８２は、サブ制御部５００の電圧検出処理部８１に、バッテリ５の電圧を検出させる指示を出す。電圧検出処理部８１は、バッテリチェック制御部８２からの指示に応じて、電池電圧検出部６にバッテリ５の電圧を検出させて、検出されたＡＤ値を取得する。電圧検出処理部８１は、取得したバッテリ５の電圧におけるＡＤ値を、バッテリチェック制御部８２に出力する。
【００５４】
なお、バッテリチェック制御部８２は、電池電圧検出部６がバッテリ５の電圧を検出する検出期間において、ボディ駆動部１００における駆動部に対応する駆動状態を検出して、各駆動部に対応する駆動中フラグが“１”になった場合に、各駆動部に対応する駆動フラグＢ１を“１”にする処理を行う。
【００５５】
次に、撮像装置１は、駆動フラグＢを取得する（ステップＳ１０３）。つまり、バッテリチェック制御部８２は、レンズ鏡筒３に対して、駆動フラグＢ２（光学系駆動部２００に対応する検出中駆動フラグ）をレンズ鏡筒３に出力させるコマンドＣ２（第１の制御指令）を出力する。すなわち、バッテリチェック制御部８２は、レンズ制御部３３にコマンドＣ２（第１の制御指令）を出力し、レンズ制御部３３は、コマンドＣ２に応じて駆動フラグＢ２をバッテリチェック制御部８２に出力する。
これにより、バッテリチェック制御部８２は、駆動フラグＢ２を取得する。さらに、バッテリチェック制御部８２は、駆動フラグＢ１及び駆動フラグＢ２を駆動フラグＢ（検出中駆動フラグ６２）として記憶部６０に記憶させる。また、バッテリチェック制御部８２は、ボディ駆動部１００における駆動部に対応する駆動状態の検出を停止する。
【００５６】
次に、撮像装置１は、駆動フラグＡ判定処理を実行する（ステップＳ１０４）。つまり、バッテリチェック制御部８２は、記憶部６０に記憶されている駆動フラグＡを読み出して、電池電圧検出部６によってバッテリ５の電圧が検出される前に、所定の駆動部（重負荷駆動部）が駆動していたか否かを判定する。そして、バッテリチェック制御部８２は、所定の駆動部が駆動していたと判定した場合に、処理をステップＳ１０６に進める。また、バッテリチェック制御部８２は、所定の駆動部が駆動していなかったと判定した場合に、処理をステップＳ１０５に進める。
【００５７】
次に、ステップＳ１０５の処理において、撮像装置１は、駆動フラグＢ判定処理を実行する。つまり、バッテリチェック制御部８２は、記憶部６０に記憶されている駆動フラグＢを参照して、電池電圧検出部６によってバッテリ５の電圧が検出されている間に、所定の駆動部（重負荷駆動部）が駆動していたか否かを判定する。そして、バッテリチェック制御部８２は、所定の駆動部が駆動していたと判定した場合に、処理をステップＳ１０６に進める。また、バッテリチェック制御部８２は、所定の駆動部が駆動していなかったと判定した場合に、処理をステップＳ１０７に進める。
【００５８】
次に、ステップＳ１０７の処理において、撮像装置１は、電池電圧検出部６によって取得したＡＤ値を適用する。つまり、バッテリチェック制御部８２は、電池電圧検出部６によって検出されたバッテリ５の電圧が正しく検出されたと判定し、取得したＡＤ値を残量レベル判定処理に適用する。
【００５９】
次に、撮像装置１は、電池電圧検出部６によって取得したＡＤ値を平均化する（ステップＳ１０８）。つまり、バッテリチェック制御部８２は、電池電圧検出部６によって今回所得したＡＤ値と、以前に適用されたＡＤ値（例えば、過去４回のＡＤ値）とに基づいて平均化する処理を行う。
【００６０】
次に、撮像装置１は、残量レベル判定処理を実行する（ステップＳ１０９）。つまり、バッテリチェック制御部８２は、バッテリ５の残量レベルを判定する判定処理である残量レベル判定処理を残量レベル判定部８３に実行させる。これにより、残量レベル判定部８３は、複数の判定閾値に基づいて、バッテリ５の残量レベルを複数段階（例えば、ＢＣ１からＢＣ５の５段階）に判定する。さらに、表示処理部８４は、残量レベル判定部８３によって判定されたバッテリ５の残量レベルに基づいた情報（ＢＣ１からＢＣ５のうちのいずれか１つ）をバッテリ表示部７１に表示させる。
これにより、撮像装置１は、バッテリチェック処理を終了させる。
【００６１】
一方、ステップＳ１０６の処理において、撮像装置１は、電池電圧検出部６によって取得したＡＤ値を非適用にする。つまり、バッテリチェック制御部８２は、電池電圧検出部６によって検出されたバッテリ５の電圧が正しく検出されなかったと判定し、取得したＡＤ値を残量レベル判定処理に適用しない。バッテリチェック制御部８２は、取得したＡＤ値を破棄して、バッテリチェック処理を終了させる。
【００６２】
図４は、本実施形態におけるバッテリチェック処理の別の一例を示す第２の概念図である。
この図において、撮像装置１が４回のバッテリチェック処理を実行した場合の例を示している。主制御部４００（バッテリチェック制御部８２）は、時刻Ｔ１、Ｔ３、Ｔ５、及びＴ７において、コマンドＣ１をレンズ制御部３３に出力する。主制御部４００は、コマンドＣ１によって、駆動フラグＡ２を取得した後、サブ制御部５００（電圧検出処理部８１）にバッテリ５の電圧を取得させる。次に、主制御部４００（バッテリチェック制御部８２）は、時刻Ｔ２、Ｔ４、Ｔ６、及びＴ８において、コマンドＣ２をレンズ制御部３３に出力する。
【００６３】
なお、この図において、撮像装置１は、駆動部無視フラグ（（ｅ）及び（ｋ）参照）、常時通電フラグ（（ｆ）参照）、及びオフセットフラグ（（ｈ）参照）を備えている。駆動部無視フラグ、常時通電フラグ、及びオフセットフラグは、記憶部６０に予め記憶されている情報である。
【００６４】
駆動部無視フラグ（駆動部判定フラグ）は、駆動部が所定の駆動部であるか否かを示すフラグである。駆動部無視フラグは、“０”である場合に、駆動部が所定の駆動部であることを示し、“１”である場合に、駆動部が所定の駆動部でないことを示す。つまり、主制御部４００のバッテリチェック制御部８２は、駆動部無視フラグが“０”である場合に、所定の駆動部であると判定する。また、駆動部無視フラグ（駆動部判定フラグ）は、駆動部のそれぞれに対応づけた駆動部判定テーブルとして記憶部６０に記憶されている。つまり、バッテリチェック制御部８２は、この駆動部判定テーブルに基づいて、所定の駆動部であるか否かを判定する。
【００６５】
さらに、記憶部６０は、残量レベルにおいて、複数レベルの各レベルに対応して設けられる複数の駆動部判定テーブルを記憶する。そして、バッテリチェック制御部８２は、複数の駆動部判定テーブルの中から、残量レベル判定部８３に判定されたバッテリ５の残量レベルに応じて選択された駆動部判定テーブルに基づいて、所定の駆動部を判定する。
【００６６】
なお、主制御部４００は、光学系駆動部２００における各駆動部に対応する駆動部無視フラグ（駆動部判定フラグ）を、レンズ鏡筒３からの初期状態通信によって取得し、記憶部３０に記憶させる。これにより、撮像装置１は、使用するレンズ鏡筒３の種類によって、異なる駆動部判定テーブルを使用することができる。そのため、撮像装置１は、レンズ鏡筒３の種類に合わせた制御を行うことができる。なお、初期状態通信とは、レンズ鏡筒３をボディ部２に接続した際又は、ボディ部２に電源を投入した際に、レンズ鏡筒３を制御する上で必要な情報をレンズ鏡筒３がボディ部２に出力する通信のことである。
【００６７】
常時通電フラグは、光学系駆動部２００における駆動部が駆動している状態（通電状態）に常時保たれるか否かを示すフラグである。常時通電フラグは、“０”である場合に、常に駆動している状態（通電状態）にないことを示し、“１”である場合に、常に駆動している状態（通電状態）にあることを示す。つまり、主制御部４００のバッテリチェック制御部８２は、常時通電フラグが“１”である場合に、常に駆動している状態（通電状態）にある駆動部であると判定する。バッテリチェック制御部８２は、所定の駆動部が、常に駆動している状態にある駆動部であると判定した場合に、その駆動部を所定の駆動部から除外する。つまり、常に駆動している状態にある駆動部は、その駆動によりバッテリ５の電圧における低下による影響を与えないため、所定の駆動部から除外する。
なお、常時通電フラグは、駆動部のそれぞれに対応づけて記憶部６０に予め記憶されている。
【００６８】
オフセットフラグは、ボディ駆動部１００における駆動部が駆動中に、残量レベル判定部８３が判定閾値にオフセットを付加するか否かを判定するフラグである。オフセットフラグは、“０”である場合に、残量レベル判定部８３が判定閾値にオフセットを付加しないことを示し、“１”である場合に、残量レベル判定部８３が判定閾値にオフセットを付加することを示す。つまり、主制御部４００の残量レベル判定部８３は、オフセットフラグが“１”である場合に、判定閾値にオフセットを付加して残量レベルを判定する。
なお、オフセットフラグは、駆動部のそれぞれに対応づけて記憶部６０に予め記憶されている。
【００６９】
図４（Ａ）は、バッテリチェック処理の各回におけるレンズ鏡筒３の駆動フラグ（駆動フラグＡ２及び駆動フラグＢ２）の状態を示している。駆動フラグＡ２は、コマンドＣ１（第２の制御指令）によってレンズ鏡筒３より取得され、駆動フラグＢ２は、コマンドＣ２（第１の制御指令）によってレンズ鏡筒３より取得される。
【００７０】
つまり、バッテリチェック制御部８２は、レンズ鏡筒３に対して、光学系駆動部２００の駆動状態の検出を開始させ、且つ駆動状態に対応する駆動フラグＡ２（検出前駆動フラグ）を出力させるコマンドＣ１（第２の制御指令）を、電池電圧検出部６にバッテリ５の電圧を検出させる前に出力する。そして、バッテリチェック制御部８２は、光学系駆動部２００に対応する駆動フラグＢ２（検出中駆動フラグ）をレンズ鏡筒３に出力させるコマンドＣ２（第１の制御指令）を、電池電圧検出部６にバッテリ５の電圧を検出させた後にレンズ鏡筒３に対して出力する。なお、コマンドＣ２（第１の制御指令）は、光学系駆動部２００の駆動状態の検出をレンズ鏡筒３に停止させ、且つコマンドＣ１からコマンドＣ２までの期間に取得された駆動状態に対応する駆動フラグＢ２（検出中駆動フラグ）を、レンズ鏡筒３に出力させる。
【００７１】
また、図４（Ｂ）は、バッテリチェック処理の各回におけるボディ部２の駆動フラグ（駆動フラグＡ１及び駆動フラグＢ１）の状態を示している。
【００７２】
バッテリチェック制御部８２は、上述した駆動フラグＡ判定及び駆動フラグＢ判定の結果に基づいて、残量レベル判定部８３に残量レベル判定処理を実行させる。ここでは、１回目のバッテリチェック処理（（ａ）及び（ｇ）参照）において、残量レベル判定部８３は、残量レベル判定処理を実行する。また、２回目〜４回目のバッテリチェック処理（（ｂ）〜（ｄ）及び（ｈ）〜（ｊ）参照）において、残量レベル判定部８３は、残量レベル判定処理を実行しない。
【００７３】
以上のように、本実施形態において、撮像装置１は、バッテリチェック制御部８２（制御部）が、バッテリ５から供給される駆動電力によって駆動される駆動部（ボディ駆動部１００及び光学系駆動部２００における各駆動部）が電池電圧検出部６（検出部）によるバッテリ５の電圧の検出期間中に駆動したか否かを示す駆動フラグＢ（検出中駆動フラグ６２）を取得する。そして、バッテリチェック制御部８２が、駆動フラグＢに基づいて、残量レベル判定部８３（判定部）に残量レベル判定処理を実行させる。
【００７４】
これにより、撮像装置１は、駆動フラグＢ（検出中駆動フラグ６２）によって、バッテリ５の電圧の検出期間中における駆動部の駆動状態を検知することができる。そのため、撮像装置１は、電池電圧検出部６によって検出したバッテリ５の電圧が、駆動部の駆動による電圧の低下が検出中にあった場合の検出結果を残量レベル判定処理から除外できる。つまり、撮像装置１は、駆動中フラグが変化するタイミングと、駆動部における実際の駆動状態との間に発生するわずかなズレＤ１（図２参照）に影響されずに、駆動部の駆動状態を正確に検出することができる。そのため、撮像装置１は、駆動部の駆動による電圧の低下が検出中にあった場合の検出結果を残量レベル判定処理から除外できる。その結果、撮像装置１（ボディ部２及びレンズ鏡筒３）は、バッテリ５（電池）の残量レベルを判定する処理（バッテリチェック処理）の実行タイミングによらずに、バッテリ５の残量レベルを正確に判定することができる。
また、撮像装置１は、バッテリチェック処理のタイミングによって、駆動部の駆動を制限する必要がないため、撮像装置１の機能を低下させることなく、バッテリ５の残量レベルを判定することができる。
【００７５】
また、バッテリチェック制御部８２は、駆動フラグＢ（検出中駆動フラグ６２）に基づいて、駆動部のうち、予め定められた所定の駆動部が、バッテリ５の電圧の検出期間に駆動したか否かを判定する。そして、バッテリチェック制御部８２は、この検出期間に所定の駆動部が駆動しなかった場合には残量レベル判定部８３に判定を実行させ、この検出期間に所定の駆動部が駆動した場合には残量レベル判定部８３に判定を実行させない。
これにより、バッテリ５の電圧に影響を与える所定の駆動部が駆動している場合にのみ、検出結果を残量レベル判定処理から効率よく除外できる。
【００７６】
また、バッテリチェック制御部８２は、電池電圧検出部６にバッテリ５の電圧を検出させる前に、駆動部が駆動しているか否かの駆動状態を示す駆動フラグＡ（検出前駆動フラグ６１）を取得する。そして、バッテリチェック制御部８２は、駆動フラグＡに基づいて、所定の駆動部が駆動しているか否かを判定し、所定の駆動部が駆動している場合には残量レベル判定部８３に判定を実行させない。
これにより、電池電圧検出部６にバッテリ５の電圧を検出させる前に、バッテリ５の電圧に影響を与える所定の駆動部が駆動している場合にも、検出結果を残量レベル判定処理から効率よく除外する。そのため、撮像装置１（ボディ部２及びレンズ鏡筒３）は、バッテリ５（電池）の残量レベルを判定する処理（バッテリチェック処理）の実行タイミングによらずに、バッテリ５の残量レベルを正確に、且つ効率よく判定することができる。
【００７７】
さらに、撮像装置１は、レンズ鏡筒３を備え、駆動部には、光学系駆動部２００が含まれる。そして、バッテリチェック制御部８２は、光学系駆動部２００に対応する駆動フラグＢ２（検出中駆動フラグ）をレンズ鏡筒３に出力させるコマンドＣ２（第１の制御指令）を、電池電圧検出部６にバッテリ５の電圧を検出させた後にレンズ鏡筒３に対して出力する。
これにより、撮像装置１は、制御部８０が駆動状態を直接検出することができないレンズ鏡筒３の光学系駆動部２００における駆動状態をコマンドＣ２の出力によって検出することができる。そのため、撮像装置１は、レンズ鏡筒３を備えているにもかかわらず、バッテリ５（電池）の残量レベルを判定する処理（バッテリチェック処理）の実行タイミングによらずに、バッテリ５の残量レベルを正確に判定することができる。
【００７８】
また、バッテリチェック制御部８２は、レンズ鏡筒３に対して光学系駆動部２００の駆動状態の検出を開始させ、且つ駆動状態に対応する駆動フラグＡ２（検出前駆動フラグ）を出力させるコマンドＣ１（第２の制御指令）を、電池電圧検出部６にバッテリ５の電圧を検出させる前に出力する。そして、バッテリチェック制御部８２は、出力するコマンドＣ２（第１の制御指令）によって、光学系駆動部２００の駆動状態の検出をレンズ鏡筒３に停止させ、且つコマンドＣ１からコマンドＣ２までの期間に取得された駆動状態に対応する駆動フラグＢ２（検出中駆動フラグ）を、レンズ鏡筒３に出力させる。
【００７９】
これにより、バッテリチェック制御部８２は、電池電圧検出部６にバッテリ５の電圧を検出させる前に、バッテリ５の電圧に影響を与える所定の駆動部がレンズ鏡筒３において駆動している場合にも、検出結果を残量レベル判定処理から効率よく除外することができる。そのため、撮像装置１は、レンズ鏡筒３の光学系駆動部２００が駆動する場合であっても、バッテリ５（電池）の残量レベルを判定する処理（バッテリチェック処理）の実行タイミングによらずに、バッテリ５の残量レベルを正確に、且つ効率よく判定することができる。
【００８０】
また、記憶部６０が、所定の駆動部であるか否かを判定する駆動部無視フラグ（駆動部判定フラグ）を駆動部のそれぞれに対応づけた駆動部判定テーブルを記憶する。バッテリチェック制御部８２は、駆動部判定テーブルに基づいて、所定の駆動部であるか否かを判定する。
これにより、撮像装置１は、所定の駆動部を効率よく判定することができる。また、撮像装置１は、駆動部判定テーブルを書き換えることによって、所定の駆動部を変更することができる。
【００８１】
さらに、残量レベル判定部８３は、バッテリ５の残量レベルに応じて複数レベルに分類する。記憶部６０は、複数レベルの各レベルに対応した複数の駆動部判定テーブルを記憶する。そして、バッテリチェック制御部８２は、複数の駆動部判定テーブルの中から、残量レベル判定部８３に判定されたバッテリ５の残量レベルに応じて選択された駆動部判定テーブルに基づいて、所定の駆動部を判定する。
これにより、バッテリ５の残量レベルに応じて、所定の駆動部を変更することができる。そのため、撮像装置１は、バッテリチェック処理において、所定の駆動部を残量レベルに応じて所定の駆動部を変更する制御を行うことができる。つまり、撮像装置１は、残量レベルに応じて、残量レベルの判定をより正確に実行することができる。
【００８２】
次に、レンズ鏡筒３におけるコマンド処理について、詳細に説明する。
図５は、本実施形態におけるレンズ制御部３３のコマンド処理の一例を示す第１のフローチャートである。
この図において、ます、レンズ制御部３３は、駆動フラグの検出イベントで有るか否かを判定する（ステップＳ２０１）。なお、駆動フラグの検出イベントは、予め定められた所定の検出周期によって実行される。ステップＳ２０１の処理において、レンズ制御部３３は、駆動フラグの検出イベントが有った場合に、処理をステップＳ２０２に進める。また、レンズ制御部３３は、駆動フラグの検出イベントがない場合に、処理をステップＳ２０４に進める。
【００８３】
次に、ステップＳ２０２の処理において、レンズ制御部３３は、駆動フラグを検出する許可状態であるか否かを判定する。そして、レンズ制御部３３は、駆動フラグを検出する許可状態である場合に、処理をステップＳ２０３に進める。また、レンズ制御部３３は、駆動フラグを検出する許可状態にない場合に、処理をステップＳ２０４に進める。
【００８４】
次に、レンズ制御部３３は、光学系駆動部２００の各駆動部に対応する駆動中フラグを取得して、駆動フラグＢ２を更新する（ステップＳ２０３）。つまり、ステップＳ２０３の処理において、まず、レンズ制御部３３は、記憶部３２の各駆動部に対応する駆動状態（駆動中フラグ）を参照する。そして、レンズ制御部３３は、参照した駆動中フラグが“１”である場合（駆動中で場合）に、駆動フラグＢ２における対応する駆動部のフラグを“１”に更新する。次に、レンズ制御部３３は、処理をステップＳ２０４に進める。
【００８５】
次に、レンズ制御部３３は、コマンドの入力が有ったか否かを判定する（ステップＳ２０４）。そして、レンズ制御部３３は、コマンドの入力が有った場合に、処理をステップＳ２０５に進め、コマンドの入力が無かった場合に、処理をステップＳ２０１に戻す。
【００８６】
次に、ステップＳ２０５の処理において、レンズ制御部３３は、入力されたコマンドがコマンドＣ１であるか否かを判定する。つまり、レンズ制御部３３は、入力されたコマンドがコマンドＣ１であるか、コマンドＣ２であるかを判定する。そして、レンズ制御部３３は、入力されたコマンドがコマンドＣ１である場合に、処理をステップＳ２０６に進めて、コマンドＣ１のコマンド処理を実行する。また、レンズ制御部３３は、入力されたコマンドがコマンドＣ１でない場合（コマンドＣ２である場合）に、処理をステップＳ２０８に進めて、コマンドＣ２のコマンド処理を実行する。
【００８７】
次に、ステップＳ２０６の処理において、レンズ制御部３３は、駆動フラグの検出を開始する。つまり、レンズ制御部３３は、駆動フラグの検出を許可状態にする。
次に、レンズ制御部３３は、駆動フラグＡ２を取得して、主駆動部４００に出力する（ステップＳ２０７）。つまり、レンズ制御部３３は、記憶部３２に記憶されている各駆動部に対応する駆動状態を示す駆動中フラグを駆動フラグＡ２として、主駆動部４００に出力する。レンズ制御部３３は、次に、処理をステップＳ２０１に戻し、コマンド処理をステップＳ２０１から繰り返す。
【００８８】
次に、ステップＳ２０８の処理において、レンズ制御部３３は、駆動フラグの検出を停止する。つまり、レンズ制御部３３は、駆動フラグの検出を禁止状態にする。
次に、レンズ制御部３３は、駆動フラグＢ２を取得して、主駆動部４００に出力する（ステップＳ２０９）。つまり、レンズ制御部３３は、記憶部３２に記憶されている駆動フラグＢ２を、主駆動部４００に出力する。レンズ制御部３３は、次に、処理をステップＳ２０１に戻し、コマンド処理をステップＳ２０１から繰り返す。
【００８９】
以上のように、本実施形態において、レンズ鏡筒３は、レンズ制御部３３が、電池電圧検出部６によるバッテリ５の電圧の検出期間中に光学系駆動部２００の駆動状態を示す駆動フラグＢ２（検出中駆動フラグ）を取得する。そして、レンズ制御部３３が、バッテリチェック制御部８２（制御部）から出力されたコマンドＣ２（第１の制御指令）に応じて、駆動フラグＢ２をバッテリチェック制御部８２に対して出力する。
これにより、レンズ鏡筒３は、ボディ部２に光学系駆動部２００における駆動状態を知らせることができる。そのため、撮像装置１は、レンズ鏡筒３を備えているにもかかわらず、バッテリ５（電池）の残量レベルを判定する処理（バッテリチェック処理）の実行タイミングによらずに、バッテリ５の残量レベルを正確に判定することができる。
【００９０】
さらに、レンズ制御部３３は、バッテリチェック制御部８２から出力されたコマンドＣ１（第２の制御指令）に応じて、光学系駆動部２００の駆動状態の検出を開始し、且つ駆動状態を示す駆動フラグＡ２（検出前駆動フラグ）を出力する。レンズ制御部３３は、コマンドＣ２（第１の制御指令）に応じて、光学系駆動部２００の駆動状態の検出を停止し、且つ前記コマンドＣ１からコマンドｃ２までの期間に取得された駆動フラグＢ２を出力する。
これにより、レンズ制御部３３は、電池電圧検出部６がバッテリ５の電圧を検出する前、及び検出している期間における光学系駆動部２００の駆動状態を検出することができ、光学系駆動部２００の駆動状態をバッテリチェック制御部８２に知らせることができる。そのため、バッテリチェック制御部８２は、電池電圧検出部６にバッテリ５の電圧を検出させる前に、バッテリ５の電圧に影響を与える所定の駆動部がレンズ鏡筒３において駆動している場合にも、検出結果を残量レベル判定処理から効率よく除外することができる。
【００９１】
次に、レンズ鏡筒３におけるコマンド処理の別の一例について、詳細に説明する。
図６は、本実施形態におけるレンズ制御部３３のコマンド処理の別の一例を示す第２のフローチャートである。
【００９２】
この図において、ます、レンズ制御部３３は、駆動フラグの検出イベントで有るか否かを判定する（ステップＳ３０１）。なお、駆動フラグの検出イベントは、予め定められた所定の検出周期によって実行される。ステップＳ３０１の処理において、レンズ制御部３３は、駆動フラグの検出イベントが有った場合に、処理をステップＳ３０２に進める。また、レンズ制御部３３は、駆動フラグの検出イベントがない場合に、処理をステップＳ３０３に進める。
【００９３】
次に、ステップＳ３０２の処理において、レンズ制御部３３は、光学系駆動部２００の各駆動部に対応する駆動中フラグを取得して、記憶部３２に記憶させる。つまり、まず、レンズ制御部３３は、記憶部３２の各駆動部に対応する駆動状態（駆動中フラグ）を読み出す。そして、レンズ制御部３３は、読み出した駆動状態を、駆動状態の履歴として記憶部３２に記憶させる。次に、レンズ制御部３３は、処理をステップＳ３０３に進める。
なお、本実施形態では、レンズ制御部３３は、予め定められた所定の検出周期によって、光学系駆動部２００の駆動状態を常に検出し、駆動状態の履歴を記憶部３２に記憶させる場合の例である。ここでは、駆動状態の履歴が記憶される記憶部３２の領域は、複数回分の履歴が記憶でき、履歴を書き込む領域が不足した場合には、一番古い履歴を記憶した領域に上書きして記憶するサイクリック領域である。
【００９４】
次に、レンズ制御部３３は、コマンドの入力が有ったか否かを判定する（ステップＳ３０３）。そして、レンズ制御部３３は、コマンドの入力が有った場合に、処理をステップＳ３０４に進め、コマンドの入力が無かった場合に、処理をステップＳ３０１に戻す。
【００９５】
次に、ステップＳ３０４の処理において、レンズ制御部３３は、入力されたコマンドがコマンドＣ２であるか否かを判定する。そして、レンズ制御部３３は、入力されたコマンドがコマンドＣ２である場合に、処理をステップＳ３０５に進めて、コマンドＣ２のコマンド処理を実行する。また、レンズ制御部３３は、入力されたコマンドがコマンドＣ２でない場合に、処理をステップＳ３０１に戻す。
【００９６】
次に、ステップＳ３０５の処理において、レンズ制御部３３は、所定の期間の駆動フラグＢ２（検出中駆動フラグ）を生成する。つまり、レンズ制御部３３は、コマンドＣ２より前の予め定められた所定の期間に取得された駆動状態の履歴を記憶部３２から読み出して、駆動フラグＢ２を生成する。ここで、予め定められた所定の期間は、例えば、電池電圧検出部６がバッテリ５の電圧を検出する期間より期間である。レンズ制御部３３は、予め定められた所定の期間に、一度でも駆動した駆動部を“１”として駆動フラグＢ２を生成する。
【００９７】
次に、レンズ制御部３３は、生成した駆動フラグＢ２を主駆動部４００（バッテリチェック制御部８２）に出力する（ステップＳ３０６）。レンズ制御部３３は、次に、処理をステップＳ３０１に戻し、コマンド処理をステップＳ３０１から繰り返す。
【００９８】
以上のように、本実施形態において、レンズ制御部３３は、予め定められた所定の検出周期によって、光学系駆動部２００の駆動状態を検出する。そして、レンズ制御部３３は、コマンドＣ２（第１の制御指令）に応じて、コマンドＣ２より前の予め定められた所定の期間に取得された駆動フラグＢ２（検出中駆動フラグ）をバッテリチェック制御部８２に出力する。
【００９９】
これにより、レンズ制御部３３は、電池電圧検出部６がバッテリ５の電圧を検出している期間における光学系駆動部２００の駆動状態を検出することができ、光学系駆動部２００の駆動状態をバッテリチェック制御部８２に知らせることができる。そのため、バッテリチェック制御部８２は、電池電圧検出部６にバッテリ５の電圧を検出中に、バッテリ５の電圧に影響を与える所定の駆動部がレンズ鏡筒３において駆動している場合にも、検出結果を残量レベル判定処理から効率よく除外することができる。また、本実施形態では、一回のコマンド処理（コマンドＣ２）によって、図５に示されるコマンド処理と同様の効果が期待できる。
【０１００】
なお、本発明は、上記の実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で変更可能である。撮像装置１における駆動部（ボディ駆動部１００、光学系駆動部２００、及び外部アクセサリ駆動部４１）の各駆動部は、上記の実施形態に限定されるものではない。
また、上記の実施形態において、バッテリチェック制御部８２は、ボディ駆動部１００における各駆動部に対応する駆動中フラグの変化に基づいて、駆動フラグＢ１を更新する形態を説明したが、これに限定されるものではない。例えば、バッテリチェック制御部８２は、図６に示されるレンズ制御部３３の処理にように、所定の検出周期によって駆動状態の履歴を記憶部６０に記憶させた後に駆動フラグＢ１を生成する形態でもよい。なお、撮像装置１は、この駆動状態の履歴が、バッテリ５の電圧の検出前もカバーする形態であれば、駆動フラグＡ１の取得及び駆動フラグＡ判定処理を実行しない形態でもよい。
【０１０１】
また、図３に示されるバッテリチェック処理において、バッテリチェック制御部８２は、ステップＳ１０１の後にステップＳ１０４の処理を実行してもよい。この場合、バッテリ５の電圧の検出前に、所定の駆動部が動作している際にバッテリチェック処理を終了することができる。そのため、バッテリチェック制御部８２は、無駄に実行される処理を低減することができる。
【０１０２】
また、図６に示されるコマンド処理において、予め定められた所定の期間は、記憶部３２において駆動状態を記憶するサイクリック領域に全ての履歴が記憶される期間としてもよい。また、図６に示されるコマンド処理に、図５に示されるようなコマンドＣ１の処理を追加してもよい。
【０１０３】
また、図５及び図６に示されるレンズ鏡筒３におけるコマンド処理は、他の外部アクセサリに適用されてもよい。
また、上記の実施形態において、レンズ鏡筒３は、撮像装置１に対して着脱可能に使用されるものとして説明したが、ボディ部２にレンズ鏡筒３が取り付けられて一体とされていている撮像装置に適用してもよい。
【０１０４】
なお、上記の実施形態において、制御部８０の各部は、専用のハードウェアによって実現されてもよく、また、制御部８０の各部は、メモリ及びＣＰＵにより構成され、制御部８０の各機能は、プログラムによって実現されてもよい。
また、レンズ制御部３３は、専用のハードウェアによって実現されてもよく、また、レンズ制御部３３は、メモリ及びＣＰＵにより構成され、レンズ制御部３３の各機能は、プログラムによって実現されてもよい。
【０１０５】
上述の撮像装置１（ボディ部２及びレンズ鏡筒３）は内部に、コンピュータシステムを有している。そして、上述した制御部８０及びレンズ制御部３３の処理過程は、プログラムの形式でコンピュータ読み取り可能な記録媒体に記憶されており、このプログラムをコンピュータが読み出して実行することによって、上記処理が行われる。ここでコンピュータ読み取り可能な記録媒体とは、磁気ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、半導体メモリ等をいう。また、このコンピュータプログラムを通信回線によってコンピュータに配信し、この配信を受けたコンピュータが当該プログラムを実行するようにしてもよい。
【符号の説明】
【０１０６】
１…撮像装置、３…レンズ鏡筒、５…バッテリ、６…電池電圧検出部、３１光学系、３３…レンズ制御部、６１…検出前駆動フラグ、６２…検出中駆動フラグ、８２…バッテリチェック制御部、８３…残量レベル判定部、１００…ボディ駆動部、２００…光学系駆動部
【図１】
2012120050.tif 000003
【図２】
2012120050.tif 000004
【図３】
2012120050.tif 000005
【図４】
2012120050.tif 000006
【図５】
2012120050.tif 000007
【図６】
2012120050.tif 000008