説明

撮像装置、及びレンズ鏡筒

【課題】電池の残量レベルを判定する処理の実行タイミングによらずに、電池の残量レベルを正確に判定することができる撮像装置、及びレンズ鏡筒を提供する。
【解決手段】撮像装置(1)は、電池(5)の電圧を検出する検出部(6)と、検出部(6)によって検出された電圧に基づいて、電池(5)の残量レベルを判定する判定部(83)と、電池(5)から供給される駆動電力によって駆動される駆動部が、検出部(6)による電圧の検出期間中に駆動したか否かを示す検出中駆動フラグ(62)を取得し、検出中駆動フラグ(62)に基づいて、判定部(83)に判定を実行させる制御部(82)とを備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、撮像装置、及びレンズ鏡筒に関する。
【背景技術】
【0002】
被写体を撮像するための駆動部を備え、電池から供給される駆動電力によって駆動部を駆動させて撮像する撮像装置が知られている。このような撮像装置は、使用者に電池の残量を知らせるために、電池の残量レベルを判定する処理(バッテリチェック処理という)を行っている。このような撮像装置では、負荷の大きい駆動部が駆動している場合、一時的に電池の電圧が低下して、このバッテリチェック処理が正確に行えないことがある。そのため、このような撮像装置は、このバッテリチェック処理を行う際に、検出した電池の電圧を駆動部の駆動状態に応じて補正する処理(例えば、特許文献1を参照)や、負荷の大きい駆動部が駆動状態にある場合に電池の残量レベルの判定を禁止する処理を行っている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2003−84050号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、上述のような撮像装置は、各駆動部の駆動状態を示すフラグが変化するタイミングと、実際の駆動状態とにわずかなズレが存在する。例えば、駆動部が駆動状態になった直後に、電池の残量レベルを判定する処理(バッテリチェック処理)を開始した場合、駆動部が駆動されてから上述のフラグが変化するまでの処理遅延によって、実際には駆動部が駆動状態であるにもかかわらず、非駆動状態であると判定される場合がある。このような場合に、上述のような撮像装置は、電池の残量レベルを正確に判定できないことがある。
つまり、上述のような撮像装置では、電池の残量レベルを判定する処理(バッテリチェック処理)の実行タイミングによっては、電池の残量レベルを正確に判定することができないという問題がある。
【0005】
本発明は、上記問題を解決すべくなされたもので、その目的は、電池の残量レベルを判定する処理(バッテリチェック処理)の実行タイミングによらずに、電池の残量レベルを正確に判定することができる撮像装置、及びレンズ鏡筒を提供することにある。
【課題を解決するための手段】
【0006】
上記問題を解決するために、本発明は、電池の電圧を検出する検出部と、前記検出部によって検出された前記電圧に基づいて、前記電池の残量レベルの判定を実行する判定部と、前記電池から供給される駆動電力によって駆動される駆動部が、前記検出部による前記電圧の検出期間中に駆動したか否かを示す検出中駆動フラグを取得し、前記検出中駆動フラグに基づいて、前記判定部に前記判定を実行させる制御部とを備えることを特徴とする撮像装置である。
【0007】
また、本発明は、電池の電圧を検出する検出部と、前記検出部によって検出された前記電圧に基づいて前記電池の残量レベルの判定を実行する残量レベル判定部と、前記判定を前記残量レベル判定部に実行させる制御部と、を備える撮像装置に対して着脱可能に設けられるレンズ鏡筒であって、被写体の光学像を結像させる光学系と、前記光学系を駆動させる光学系駆動部と、前記検出部による電圧の検出期間中に前記光学系駆動部の駆動状態を示す検出中駆動フラグを取得し、前記制御部から出力された第1の制御指令に応じて、前記検出中駆動フラグを前記制御部に対して出力するレンズ制御部とを備えることを特徴とするレンズ鏡筒である。
【発明の効果】
【0008】
本発明によれば、電池の残量レベルを判定する判定処理の実行タイミングによらずに、電池の残量レベルを正確に判定することができる。
【図面の簡単な説明】
【0009】
【図1】本実施形態による撮像装置を示す概略ブロック図である。
【図2】同実施形態におけるバッテリチェック処理の一例を示す第1の概念図である。
【図3】同実施形態におけるバッテリチェック処理を示すフローチャートである。
【図4】同実施形態におけるバッテリチェック処理の別の一例を示す第2の概念図である。
【図5】同実施形態におけるレンズ制御部のコマンド処理の一例を示す第1のフローチャートである。
【図6】同実施形態におけるレンズ制御部のコマンド処理の別の一例を示す第2のフローチャートである。
【発明を実施するための形態】
【0010】
以下、本発明の一実施形態による撮像装置及びレンズ鏡筒について、図面を参照して説明する。
図1は、本実施形態による撮像装置1を示す概略ブロック図である。
この図において、撮像装置1(カメラ)は、ボディ部2、レンズ鏡筒3、外部アクセサリ部4、及び記憶媒体300を備えている。
【0011】
ボディ部2は、撮像装置1の本体部分である。ボディ部2は、電池電圧検出部6、バッファメモリ部7、操作部8、記憶部60、表示部70、バッテリ収納部90、ボディ駆動部100、及び制御部80を備えている。また、ボディ駆動部100は、通信部9、撮像部10、画像処理部20、シャッタ駆動部30、ミラー駆動部40、及びその他駆動部50を備えている。なお、バッテリ5は、バッテリ収納部90に収納されている。バッテリ5は、撮像装置1に着脱可能に取り付けられてもよい。
【0012】
また、レンズ鏡筒3は、撮像装置1のレンズ部分である。レンズ鏡筒3は、撮像装置1に取り付けられて一体とされていてもよいし、撮像装置1に着脱可能に取り付けられてもよい。ここでは、レンズ鏡筒3は、撮像装置1に対して着脱可能に使用されるものとして説明する。したがって、ここでは、レンズ鏡筒3は、撮像装置1に対して着脱可能に設けられている。
また、レンズ鏡筒3は、光学系31、記憶部32、レンズ制御部33、及び光学系駆動部200を備えている。また、光学系駆動部200は、AF駆動部34、ズーム駆動部35、絞り駆動部36、及び手振れ防止駆動部37を備えている。
【0013】
バッテリ5(電池)は、撮像装置1が備える各構成に電力を供給する。バッテリ5は、撮像装置1に対して着脱可能に接続される。バッテリ5は、例えば、充電して繰り返し使用可能な二次電池である。
電池電圧検出部6(検出部)は、例えば、A/D(アナログ/デジタル)コンバータなどにより構成される。電池電圧検出部6は、バッテリ5の電圧を検出し、制御部80に出力する。
【0014】
バッファメモリ部7は、撮像部10によって撮像された画像データを、一時的に記憶する。
操作部8は、例えば、電源スイッチ、シャッタボタン、十字キー、確定ボタン、削除ボタン、及び、その他の操作キーを含み、ユーザーによって操作されることで、ユーザーの操作入力を受け付けて、制御部80に供給する。
【0015】
通信部9は、カードメモリ等の取り外しが可能な記憶媒体300と接続され、この記憶媒体300への撮像画像データの書込み、読み出し、又は消去を行う。
記憶媒体300は、撮像装置1に対して着脱可能に接続される記憶部であり、例えば、撮像部10によって生成された撮像画像データを記憶する。
【0016】
撮像部10は、設定された撮像条件(例えば、絞り値、露出値など)に基づいて制御部80によって制御される。また、撮像部10は、撮像素子及びA/D変換部を備えている。撮像部10は、光学系31を介した光学像を撮像素子に結像させ、A/D変換部によって変換された光学像に基づく画像データを生成する。撮像部10は、生成した画像データをバッファメモリ部7に出力する。
【0017】
画像処理部20は、記憶部60に記憶されている画像処理条件に基づいて、バッファメモリ部7に記憶されている画像データに対して画像処理を実行する。ここでいうバッファメモリ部7に記憶されている画像データとは、画像処理部20に入力される画像データ(入力画像)のことであり、例えば、撮像画像データ、スルー画像データ、又は、記憶媒体300から読み出された撮像画像データのことである。
【0018】
シャッタ駆動部30は、撮像の際に、シャッタを駆動する駆動部である。シャッタ駆動部30は、操作部8のシャッタボタンの操作に基づいて、制御部80から出力される信号に応じて、シャッタを駆動する。
ミラー駆動部40は、撮像の際に、ミラーを駆動する駆動部である。ミラー駆動部40は、操作部8のシャッタボタンの操作に基づいて、制御部80から出力される信号に応じて、ミラーを駆動する。
その他駆動部50は、例えば、ISC(イメージセンサクリーニング)駆動部などの駆動部である。
【0019】
なお、通信部9、撮像部10、画像処理部20、シャッタ駆動部30、ミラー駆動部40、及びその他駆動部50は、ボディ駆動部100に含まれる。ボディ駆動部100は、バッテリ5から供給される駆動電力によって駆動される。
また、駆動部には、ボディ駆動部100、光学系駆動部200、及び外部アクセサリ駆動部41が含まれる。また、本実施形態における駆動部とは、バッテリ5から供給される駆動電力によって駆動されるブロックのことである。
【0020】
記憶部60は、制御部80によって撮像の際に参照される撮像条件などを記憶する。また、記憶部60に記憶される情報には、検出前駆動フラグ61、検出中駆動フラグ62、及び駆動部判定テーブルなどが含まれる。
【0021】
検出前駆動フラグ61(駆動フラグA)は、電池電圧検出部6にバッテリ5の電圧を検出させる前に、駆動部が駆動しているか否かを示す情報である。検出前駆動フラグ61(駆動フラグA)は、各駆動部と駆動状態(駆動しているか否か)が関連付けられており、記憶部60に記憶される。
なお、検出前駆動フラグ61(駆動フラグA)のうち、ボディ駆動部100に対応する駆動フラグを駆動フラグA1とし、光学系駆動部200に対応する駆動フラグを駆動フラグA2とする。つまり、検出前駆動フラグ61(駆動フラグA)には、駆動フラグA1及び駆動フラグA2が含まれる。
【0022】
検出中駆動フラグ62(駆動フラグB)は、電池電圧検出部6によるバッテリ5の電圧の検出期間中に、駆動部が駆動したか否かを示す情報である。検出中駆動フラグ62(駆動フラグB)は、各駆動部と駆動状態(駆動したか否か)が関連付けられており、記憶部60に記憶される。
なお、検出中駆動フラグ62(駆動フラグB)のうち、ボディ駆動部100に対応する駆動フラグを駆動フラグB1とし、光学系駆動部200に対応する駆動フラグを駆動フラグB2とする。つまり、検出中駆動フラグ62(駆動フラグB)には、駆動フラグB1及び駆動フラグB2が含まれる。
【0023】
表示部70は、例えば、液晶ディスプレイであり、撮像部10によって得られた画像データや、操作画面等を表示する。また、表示部70は、バッテリ表示部71を備えている。
バッテリ表示部71は、バッテリチェック結果に基づいて、バッテリ残量レベルを表示する。なお、ここでバッテリ残量レベルは、BC(ビーシー)1からBC5の5段階のレベルである。BC5が、最も残量レベルが高いレベルであり、BC1が、最も残量レベルが低いレベルである。バッテリ表示部71は、例えば、バッテリ残量レベルをアイコンによって表示する。
また、表示部70は、残量レベルが予め定められた残量レベル(例えば、BC2)以下である場合に、警告(警告メッセージ)を表示(出力)する。
【0024】
制御部80は、例えば、CPU(Central processing unit)などを含み、撮像装置1が備える各構成を制御する。制御部80は、例えば、操作部8を介して撮像指示を受け付けた際に、撮像部10を介して得られる画像データを、撮像された静止画の撮像画像データとして、記憶媒体300に記憶させる。また、制御部80は、例えば、操作部8を介して撮像指示を受け付けていない状態において、撮像部10を介して連続的に得られる画像データをスルー画(スルー画データ)として表示部70に連続的に表示させる。また、制御部80は、詳細に後述するバッテリチェック処理を制御する処理を行う。
また、制御部80は、ボディ駆動部100の各駆動部を制御する。制御部80は、ボディ駆動部100の各駆動部を駆動させる際に、各駆動部に対応する駆動中フラグを“1”にする。また、制御部80は、ボディ駆動部100の各駆動部の駆動を終了させる際に、各駆動部に対応する駆動中フラグを“0”にする。なお、駆動中フラグの初期状態は、“0”である。ここで、駆動中フラグは、記憶部60にボディ駆動部100の各駆動部に対応付けて記憶される情報である。
【0025】
また、制御部80は、主制御部400及びサブ制御部500を備える。主制御部400は、バッテリチェック制御部82、残量レベル判定部83、及び表示処理部84を備えている。また、サブ制御部500は、電圧検出処理部81を備えている。
【0026】
電圧検出処理部81は、主制御部400からの指示に応じて、電池電圧検出部6にバッテリ5の電圧を検出させて、検出されたAD値(アナログ・デジタル変換値)を取得する。電圧検出処理部81は、取得したバッテリ5の電圧におけるAD値を主制御部400に出力する。なお、電圧検出処理部81における電池電圧検出部6にバッテリ5の電圧を検出させる上述の処理は、主制御部400からの指示に応じて、予め定められた一定の周期によって繰り返し実行される。
【0027】
残量レベル判定部83(判定部)は、電池電圧検出部6によって検出されたバッテリ5の電圧に基づいて、バッテリ5の残量レベルの判定を実行する。つまり、残量レベル判定部83は、バッテリチェック制御部82の指示に応じて、電池電圧検出部6によって検出されたバッテリ5の電圧に基づいて、バッテリ5の残量レベルを判定する判定処理(残量レベル判定処理)を実行する。残量レベル判定部83は、複数の判定閾値に基づいて、バッテリ5の残量レベルを複数段階(例えば、BC1からBC5の5段階)に判定する。つまり、残量レベル判定部83は、バッテリ5の残量レベルに応じて複数レベルに分類する。なお、残量レベル判定部83は、判定処理を行う際に、例えば、電池電圧検出部6によって直前に検出された4回分の電圧の移動平均値に基づいて、バッテリ5の残量レベルを判定する。
【0028】
表示処理部84は、残量レベル判定部83によって判定されたバッテリ5の残量レベルに対応する情報(BC1からBC5のうちのいずれか1つ)をバッテリ表示部71に表示させる。また、表示処理部84は、バッテリ5の残量レベルが予め定められた残量レベル(例えば、BC2)以下である場合に、警告を表示部70(警告出力部)に表示させる。なお、「警告を表示部70に表示させる」とは、例えば、撮像装置1を使用するユーザーに対して、バッテリ残量が低下したことを示すメッセージを表示させることである。
【0029】
バッテリチェック制御部82(制御部)は、予め定められた一定の周期ごとに、電圧検出処理部81にバッテリ5の電圧を検出させ、残量レベル判定部83に残量レベル判定処理を実行させる。また、バッテリチェック制御部82は、電池電圧検出部6によるバッテリ5の検出期間中に、駆動部が駆動したか否かを示す検出中駆動フラグ62を取得し、検出中駆動フラグ62に基づいて、残量レベル判定部83に残量レベル判定処理を実行させる。ここで、駆動部とは、バッテリ5から供給される駆動電力によって駆動される構成要素のことであり、上述したように、ボディ駆動部100、光学系駆動部200、及び外部アクセサリ駆動部41の各駆動部が含まれる。
【0030】
また、バッテリチェック制御部82は、検出中駆動フラグ62に基づいて、駆動部のうち、予め定められた所定の駆動部が、電池電圧検出部6によるバッテリ5の検出期間に駆動したか否かを判定する。バッテリチェック制御部82は、この検出期間に所定の駆動部が駆動しなかった場合には、残量レベル判定部83に残量レベル判定処理(バッテリ5の残量レベルを判定する判定処理)を実行させる。また、バッテリチェック制御部82は、この検出期間に所定の駆動部が駆動した場合には、残量レベル判定部83に残量レベル判定処理を実行させない。
【0031】
ここで、予め定められた所定の駆動部とは、例えば、駆動のために必要な消費電流が予め定められた所定値以上である駆動部である。つまり、所定の駆動部とは、負荷が大きい駆動部のことであり、駆動するために必要な消費電流が大きいため、駆動中にバッテリ5の電圧が低下する可能性のある駆動部である。
【0032】
また、バッテリチェック制御部82は、電池電圧検出部6にバッテリ5の電圧を検出させる前に、駆動部が駆動しているか否かの駆動状態を示す検出前駆動フラグ61を取得する。バッテリチェック制御部82は、検出前駆動フラグ61に基づいて、上述の所定の駆動部が駆動しているか否かを判定し、所定の駆動部が駆動している場合には、残量レベル判定部83に残量レベル判定処理を実行させない。
【0033】
また、バッテリチェック制御部82は、レンズ鏡筒3のレンズ制御部33に対して、各種コマンド(制御指令)を出力して、光学系駆動部200の各駆動部に対応する検出前駆動フラグ61及び検出中駆動フラグ62を取得する。
【0034】
次に、図1に示されるレンズ鏡筒3の構成について説明する。
光学系31は、複数のレンズを備え、被写体の光学像を撮像部10の撮像素子に結像させる。
AF(Auto Focus)駆動部34は、光学系31のレンズを駆動して自動で焦点合わせを行うAF機構を駆動する駆動部である。ズーム駆動部35は、光学系31のレンズのズーム機構を駆動する駆動部である。絞り駆動部36は、レンズ鏡筒3の絞り機構を駆動する駆動部である。手振れ防止駆動部37は、レンズ鏡筒3の手振れ防止機構を駆動する駆動部である。
なお、AF駆動部34、ズーム駆動部35、絞り駆動部36、及び手振れ防止駆動部37は、光学系駆動部200に含まれる。光学系駆動部200は、光学系31を駆動させる駆動部であり、ボディ部2のバッテリ5から供給される駆動電力によって駆動する。
【0035】
記憶部32は、レンズ制御部33がレンズ鏡筒3の制御を行う際に参照される情報、等を記憶する。また、記憶部32に記憶される情報には、光学系駆動部200に対応する検出前駆動フラグ(駆動フラグA2)、及び光学系駆動部200に対応する検出中駆動フラグ(駆動フラグB2)が含まれる。
【0036】
レンズ制御部33は、例えば、CPUなどを含み、レンズ鏡筒3が備える各構成を制御する。レンズ制御部33は、ボディ部2の制御部80から出力される指示(例えば、コマンド処理や制御信号など)に応じて、光学系駆動部200の各駆動部を制御する。
また、レンズ制御部33は、コマンド(制御指令)に応じて光学系駆動部200の駆動状態を出力する。つまり、レンズ制御部33は、電池電圧検出部6による電圧の検出期間中に光学系駆動部200の駆動状態を示す駆動フラグB2を取得する。レンズ制御部33は、バッテリチェック制御部82から出力されたコマンドC2(第1の制御指令)に応じて、駆動フラグB2をバッテリチェック制御部82に対して出力する。
【0037】
また、レンズ制御部33は、バッテリチェック制御部82から出力されたコマンドC1(第2の制御指令)に応じて、光学系駆動部200の駆動状態の検出を開始し、且つ駆動状態を示す駆動フラグA2を出力する。また、レンズ制御部33は、コマンドC2(第1の制御指令)に応じて、光学系駆動部200の駆動状態の検出を停止し、且つコマンドC1からコマンドC2までの期間に取得された駆動フラグB2を出力する。
【0038】
外部アクセサリ部4は、撮像装置1が備えるアクセサリーシューに着脱可能に設けられるアクセサリであり、例えば、閃光装置などである。また、外部アクセサリ部4は、外部アクセサリ駆動部41を備えている。
外部アクセサリ駆動部41は、外部アクセサリ部4の機能を実行する駆動部であり、例えば、閃光装置の充電駆動部などである。ここで、外部アクセサリ駆動部41は、ボディ部2のバッテリ5から供給される駆動電力によって駆動されるものとする。
【0039】
次に、本実施形態における撮像装置1の動作について説明する。
図2は、本実施形態における撮像装置1のバッテリチェック処理の一例を示す第1の概念図である。
この図において、図2(a)は、駆動部Aの実際の駆動状態を示しており、図2(b)は、駆動部Aの駆動中フラグの状態を示している。また、図2(c)は、撮像装置1におけるバッテリチェック処理を示している。この例では、撮像装置1が、バッテリチェック処理を(1)から(4)までの4回実行する例である。
ここで、駆動部Aは、駆動部(ボディ駆動部100の各駆動部、光学系駆動部200の各駆動部、及び外部アクセサリ駆動部41)のいずれか1つに対応し、駆動するために必要な消費電流が大きい所定の駆動部である。
【0040】
また、撮像装置1では、駆動部Aを駆動する際に、制御部80は、駆動部Aを駆動させた後、駆動部Aに対応する駆動中フラグを“1”にする。また、制御部80は、駆動部Aを停止させた後、駆動部Aに対応する駆動中フラグを“0”にする。このため、撮像装置1では、駆動中フラグが変化するタイミングと、駆動部Aにおける実際の駆動状態との間に、わずかなズレ(D1)が生じる。
【0041】
図2が示すように、撮像装置1では、バッテリチェック処理を行う際に、バッテリチェック制御部82が、まず、駆動部Aが駆動しているか否かの駆動状態を示す駆動フラグA(検出前駆動フラグ61)を取得する。また、バッテリチェック制御部82は、駆動部Aに対応する駆動状態の検出を開始する。
【0042】
次に、バッテリチェック制御部82は、サブ制御部500の電圧検出処理部81に、バッテリ5の電圧を検出させる指示を出す。電圧検出処理部81は、バッテリチェック制御部82からの指示に応じて、電池電圧検出部6にバッテリ5の電圧を検出させて、検出されたAD値(アナログ・デジタル変換値)を取得する。電圧検出処理部81は、取得したバッテリ5の電圧におけるAD値を、バッテリチェック制御部82に出力する。
【0043】
一方で、電池電圧検出部6がバッテリ5の電圧を検出している間に、例えば、駆動部Aに対応する駆動中フラグが“1”になった場合に、バッテリチェック制御部82は、駆動部Aに対応する駆動フラグB(検出中駆動フラグ62)を“1”にする処理を行う。
【0044】
バッテリチェック制御部82は、電圧検出処理部81から上述のAD値が出力された後、駆動部Aに対応する駆動フラグB(検出中駆動フラグ62)を取得して、駆動部Aに対応する駆動状態の検出を停止する。
次に、バッテリチェック制御部82は、取得した駆動フラグA(検出前駆動フラグ61)において、駆動部Aが駆動しているか否かを判定する。バッテリチェック制御部82は、駆動部Aが駆動していると判定した場合(駆動フラグAが“1”である場合)に、検出したAD値を残量レベル判定処理に使用しない。つまり、バッテリチェック制御部82は、駆動部Aが駆動していると判定した場合に、バッテリチェック処理を終了する。
なお、この駆動フラグA(検出前駆動フラグ61)に基づく判定処理を、駆動フラグA判定処理という。
【0045】
また、バッテリチェック制御部82は、駆動部Aが駆動していないと判定した場合(駆動フラグAが“0”である場合)に、取得した駆動フラグB(検出中駆動フラグ62)に基づいて、バッテリ5の電圧の検出期間中に駆動部Aが駆動したか否かを判定する。バッテリチェック制御部82は、バッテリ5の電圧の検出期間中に駆動部Aが駆動したと判定した場合(駆動フラグBが“1”である場合)に、検出したAD値を残量レベル判定処理に使用しない。つまり、バッテリチェック制御部82は、駆動部Aが駆動していると判定した場合に、バッテリチェック処理を終了する。
なお、この駆動フラグB(検出中駆動フラグ62)に基づく判定処理を、駆動フラグB判定処理という。
【0046】
バッテリチェック制御部82は、バッテリ5の電圧の検出期間中に駆動部Aが駆動しなかったと判定した場合(駆動フラグBが“0”である場合)に、検出したAD値による残量レベル判定処理を残量レベル判定部83に実行させる。
【0047】
ここで、バッテリチェック処理とは、バッテリ5の残量レベルを判定する残量レベル判定処理を残量レベル判定部83に実行させる処理のことである。バッテリチェック処理は、予め定められた一定の周期によって繰り返し実行される。
図2において、バッテリチェック処理は、(1)から(4)までの4回実行される。図2(1)において、バッテリチェック制御部82は、駆動フラグA判定処理、及び駆動フラグB判定処理において、駆動部Aが駆動していると判定する。そのため、残量レベル判定部83は、検出したAD値による残量レベル判定処理を実行しない。
【0048】
図2(2)において、バッテリチェック制御部82は、駆動フラグA判定処理において駆動部Aが駆動していないと判定する。しかし、バッテリチェック制御部82は、駆動フラグB判定処理において、駆動部Aが駆動している(又は駆動していた)と判定する。そのため、残量レベル判定部83は、検出したAD値による残量レベル判定処理を実行しない。
図2(3)において、バッテリチェック制御部82は、駆動フラグA判定処理において駆動部Aが駆動していると判定する。そのため、残量レベル判定部83は、検出したAD値による残量レベル判定処理を実行しない。
【0049】
図2(4)において、バッテリチェック制御部82は、駆動フラグA判定処理、及び駆動フラグB判定処理のいずれにおいても、駆動部Aが駆動していない(又は駆動しなかった)と判定する。そのため、残量レベル判定部83は、検出したAD値による残量レベル判定処理を実行する。
【0050】
次に、図3のフローチャートを参照して、撮像装置1におけるバッテリチェック処理の動作を詳細に説明する。
図3は、本実施形態におけるバッテリチェック処理を示すフローチャートである。
なお、ここでは、ボディ駆動部100及び光学系駆動部200に複数の所定の駆動部がある場合の例として説明する。
【0051】
この図において、まず、撮像装置1は、駆動フラグAを取得する(ステップS101)。つまり、ステップS101の処理において、バッテリチェック制御部82は、記憶部60に記憶されているボディ駆動部100における駆動部それぞれに対応する駆動中フラグを読み出す。
また、バッテリチェック制御部82は、レンズ鏡筒3に対して、駆動フラグA2(光学系駆動部200に対応する検出前駆動フラグ)をレンズ鏡筒3に出力させるコマンドC1(第2の制御指令)を出力する。すなわち、バッテリチェック制御部82は、レンズ制御部33にコマンドC1(第2の制御指令)を出力し、レンズ制御部33は、コマンドC1に応じて駆動フラグA2をバッテリチェック制御部82に出力する。
【0052】
これにより、バッテリチェック制御部82は、駆動フラグA2を取得する。さらに、バッテリチェック制御部82は、ボディ駆動部100における駆動部それぞれに対応する駆動中フラグ及び駆動フラグA2を駆動フラグA(検出前駆動フラグ61)として記憶部60に記憶させる。また、バッテリチェック制御部82は、ボディ駆動部100における駆動部に対応する駆動状態の検出を開始する。また、バッテリチェック制御部82は、駆動フラグB1(ボディ駆動部100に対応する検出中駆動フラグ)を初期化(“0”に)する。
【0053】
次に、撮像装置1は、バッテリ5の電圧を検出したAD値を取得する(ステップS102)。つまり、バッテリチェック制御部82は、サブ制御部500の電圧検出処理部81に、バッテリ5の電圧を検出させる指示を出す。電圧検出処理部81は、バッテリチェック制御部82からの指示に応じて、電池電圧検出部6にバッテリ5の電圧を検出させて、検出されたAD値を取得する。電圧検出処理部81は、取得したバッテリ5の電圧におけるAD値を、バッテリチェック制御部82に出力する。
【0054】
なお、バッテリチェック制御部82は、電池電圧検出部6がバッテリ5の電圧を検出する検出期間において、ボディ駆動部100における駆動部に対応する駆動状態を検出して、各駆動部に対応する駆動中フラグが“1”になった場合に、各駆動部に対応する駆動フラグB1を“1”にする処理を行う。
【0055】
次に、撮像装置1は、駆動フラグBを取得する(ステップS103)。つまり、バッテリチェック制御部82は、レンズ鏡筒3に対して、駆動フラグB2(光学系駆動部200に対応する検出中駆動フラグ)をレンズ鏡筒3に出力させるコマンドC2(第1の制御指令)を出力する。すなわち、バッテリチェック制御部82は、レンズ制御部33にコマンドC2(第1の制御指令)を出力し、レンズ制御部33は、コマンドC2に応じて駆動フラグB2をバッテリチェック制御部82に出力する。
これにより、バッテリチェック制御部82は、駆動フラグB2を取得する。さらに、バッテリチェック制御部82は、駆動フラグB1及び駆動フラグB2を駆動フラグB(検出中駆動フラグ62)として記憶部60に記憶させる。また、バッテリチェック制御部82は、ボディ駆動部100における駆動部に対応する駆動状態の検出を停止する。
【0056】
次に、撮像装置1は、駆動フラグA判定処理を実行する(ステップS104)。つまり、バッテリチェック制御部82は、記憶部60に記憶されている駆動フラグAを読み出して、電池電圧検出部6によってバッテリ5の電圧が検出される前に、所定の駆動部(重負荷駆動部)が駆動していたか否かを判定する。そして、バッテリチェック制御部82は、所定の駆動部が駆動していたと判定した場合に、処理をステップS106に進める。また、バッテリチェック制御部82は、所定の駆動部が駆動していなかったと判定した場合に、処理をステップS105に進める。
【0057】
次に、ステップS105の処理において、撮像装置1は、駆動フラグB判定処理を実行する。つまり、バッテリチェック制御部82は、記憶部60に記憶されている駆動フラグBを参照して、電池電圧検出部6によってバッテリ5の電圧が検出されている間に、所定の駆動部(重負荷駆動部)が駆動していたか否かを判定する。そして、バッテリチェック制御部82は、所定の駆動部が駆動していたと判定した場合に、処理をステップS106に進める。また、バッテリチェック制御部82は、所定の駆動部が駆動していなかったと判定した場合に、処理をステップS107に進める。
【0058】
次に、ステップS107の処理において、撮像装置1は、電池電圧検出部6によって取得したAD値を適用する。つまり、バッテリチェック制御部82は、電池電圧検出部6によって検出されたバッテリ5の電圧が正しく検出されたと判定し、取得したAD値を残量レベル判定処理に適用する。
【0059】
次に、撮像装置1は、電池電圧検出部6によって取得したAD値を平均化する(ステップS108)。つまり、バッテリチェック制御部82は、電池電圧検出部6によって今回所得したAD値と、以前に適用されたAD値(例えば、過去4回のAD値)とに基づいて平均化する処理を行う。
【0060】
次に、撮像装置1は、残量レベル判定処理を実行する(ステップS109)。つまり、バッテリチェック制御部82は、バッテリ5の残量レベルを判定する判定処理である残量レベル判定処理を残量レベル判定部83に実行させる。これにより、残量レベル判定部83は、複数の判定閾値に基づいて、バッテリ5の残量レベルを複数段階(例えば、BC1からBC5の5段階)に判定する。さらに、表示処理部84は、残量レベル判定部83によって判定されたバッテリ5の残量レベルに基づいた情報(BC1からBC5のうちのいずれか1つ)をバッテリ表示部71に表示させる。
これにより、撮像装置1は、バッテリチェック処理を終了させる。
【0061】
一方、ステップS106の処理において、撮像装置1は、電池電圧検出部6によって取得したAD値を非適用にする。つまり、バッテリチェック制御部82は、電池電圧検出部6によって検出されたバッテリ5の電圧が正しく検出されなかったと判定し、取得したAD値を残量レベル判定処理に適用しない。バッテリチェック制御部82は、取得したAD値を破棄して、バッテリチェック処理を終了させる。
【0062】
図4は、本実施形態におけるバッテリチェック処理の別の一例を示す第2の概念図である。
この図において、撮像装置1が4回のバッテリチェック処理を実行した場合の例を示している。主制御部400(バッテリチェック制御部82)は、時刻T1、T3、T5、及びT7において、コマンドC1をレンズ制御部33に出力する。主制御部400は、コマンドC1によって、駆動フラグA2を取得した後、サブ制御部500(電圧検出処理部81)にバッテリ5の電圧を取得させる。次に、主制御部400(バッテリチェック制御部82)は、時刻T2、T4、T6、及びT8において、コマンドC2をレンズ制御部33に出力する。
【0063】
なお、この図において、撮像装置1は、駆動部無視フラグ((e)及び(k)参照)、常時通電フラグ((f)参照)、及びオフセットフラグ((h)参照)を備えている。駆動部無視フラグ、常時通電フラグ、及びオフセットフラグは、記憶部60に予め記憶されている情報である。
【0064】
駆動部無視フラグ(駆動部判定フラグ)は、駆動部が所定の駆動部であるか否かを示すフラグである。駆動部無視フラグは、“0”である場合に、駆動部が所定の駆動部であることを示し、“1”である場合に、駆動部が所定の駆動部でないことを示す。つまり、主制御部400のバッテリチェック制御部82は、駆動部無視フラグが“0”である場合に、所定の駆動部であると判定する。また、駆動部無視フラグ(駆動部判定フラグ)は、駆動部のそれぞれに対応づけた駆動部判定テーブルとして記憶部60に記憶されている。つまり、バッテリチェック制御部82は、この駆動部判定テーブルに基づいて、所定の駆動部であるか否かを判定する。
【0065】
さらに、記憶部60は、残量レベルにおいて、複数レベルの各レベルに対応して設けられる複数の駆動部判定テーブルを記憶する。そして、バッテリチェック制御部82は、複数の駆動部判定テーブルの中から、残量レベル判定部83に判定されたバッテリ5の残量レベルに応じて選択された駆動部判定テーブルに基づいて、所定の駆動部を判定する。
【0066】
なお、主制御部400は、光学系駆動部200における各駆動部に対応する駆動部無視フラグ(駆動部判定フラグ)を、レンズ鏡筒3からの初期状態通信によって取得し、記憶部30に記憶させる。これにより、撮像装置1は、使用するレンズ鏡筒3の種類によって、異なる駆動部判定テーブルを使用することができる。そのため、撮像装置1は、レンズ鏡筒3の種類に合わせた制御を行うことができる。なお、初期状態通信とは、レンズ鏡筒3をボディ部2に接続した際又は、ボディ部2に電源を投入した際に、レンズ鏡筒3を制御する上で必要な情報をレンズ鏡筒3がボディ部2に出力する通信のことである。
【0067】
常時通電フラグは、光学系駆動部200における駆動部が駆動している状態(通電状態)に常時保たれるか否かを示すフラグである。常時通電フラグは、“0”である場合に、常に駆動している状態(通電状態)にないことを示し、“1”である場合に、常に駆動している状態(通電状態)にあることを示す。つまり、主制御部400のバッテリチェック制御部82は、常時通電フラグが“1”である場合に、常に駆動している状態(通電状態)にある駆動部であると判定する。バッテリチェック制御部82は、所定の駆動部が、常に駆動している状態にある駆動部であると判定した場合に、その駆動部を所定の駆動部から除外する。つまり、常に駆動している状態にある駆動部は、その駆動によりバッテリ5の電圧における低下による影響を与えないため、所定の駆動部から除外する。
なお、常時通電フラグは、駆動部のそれぞれに対応づけて記憶部60に予め記憶されている。
【0068】
オフセットフラグは、ボディ駆動部100における駆動部が駆動中に、残量レベル判定部83が判定閾値にオフセットを付加するか否かを判定するフラグである。オフセットフラグは、“0”である場合に、残量レベル判定部83が判定閾値にオフセットを付加しないことを示し、“1”である場合に、残量レベル判定部83が判定閾値にオフセットを付加することを示す。つまり、主制御部400の残量レベル判定部83は、オフセットフラグが“1”である場合に、判定閾値にオフセットを付加して残量レベルを判定する。
なお、オフセットフラグは、駆動部のそれぞれに対応づけて記憶部60に予め記憶されている。
【0069】
図4(A)は、バッテリチェック処理の各回におけるレンズ鏡筒3の駆動フラグ(駆動フラグA2及び駆動フラグB2)の状態を示している。駆動フラグA2は、コマンドC1(第2の制御指令)によってレンズ鏡筒3より取得され、駆動フラグB2は、コマンドC2(第1の制御指令)によってレンズ鏡筒3より取得される。
【0070】
つまり、バッテリチェック制御部82は、レンズ鏡筒3に対して、光学系駆動部200の駆動状態の検出を開始させ、且つ駆動状態に対応する駆動フラグA2(検出前駆動フラグ)を出力させるコマンドC1(第2の制御指令)を、電池電圧検出部6にバッテリ5の電圧を検出させる前に出力する。そして、バッテリチェック制御部82は、光学系駆動部200に対応する駆動フラグB2(検出中駆動フラグ)をレンズ鏡筒3に出力させるコマンドC2(第1の制御指令)を、電池電圧検出部6にバッテリ5の電圧を検出させた後にレンズ鏡筒3に対して出力する。なお、コマンドC2(第1の制御指令)は、光学系駆動部200の駆動状態の検出をレンズ鏡筒3に停止させ、且つコマンドC1からコマンドC2までの期間に取得された駆動状態に対応する駆動フラグB2(検出中駆動フラグ)を、レンズ鏡筒3に出力させる。
【0071】
また、図4(B)は、バッテリチェック処理の各回におけるボディ部2の駆動フラグ(駆動フラグA1及び駆動フラグB1)の状態を示している。
【0072】
バッテリチェック制御部82は、上述した駆動フラグA判定及び駆動フラグB判定の結果に基づいて、残量レベル判定部83に残量レベル判定処理を実行させる。ここでは、1回目のバッテリチェック処理((a)及び(g)参照)において、残量レベル判定部83は、残量レベル判定処理を実行する。また、2回目〜4回目のバッテリチェック処理((b)〜(d)及び(h)〜(j)参照)において、残量レベル判定部83は、残量レベル判定処理を実行しない。
【0073】
以上のように、本実施形態において、撮像装置1は、バッテリチェック制御部82(制御部)が、バッテリ5から供給される駆動電力によって駆動される駆動部(ボディ駆動部100及び光学系駆動部200における各駆動部)が電池電圧検出部6(検出部)によるバッテリ5の電圧の検出期間中に駆動したか否かを示す駆動フラグB(検出中駆動フラグ62)を取得する。そして、バッテリチェック制御部82が、駆動フラグBに基づいて、残量レベル判定部83(判定部)に残量レベル判定処理を実行させる。
【0074】
これにより、撮像装置1は、駆動フラグB(検出中駆動フラグ62)によって、バッテリ5の電圧の検出期間中における駆動部の駆動状態を検知することができる。そのため、撮像装置1は、電池電圧検出部6によって検出したバッテリ5の電圧が、駆動部の駆動による電圧の低下が検出中にあった場合の検出結果を残量レベル判定処理から除外できる。つまり、撮像装置1は、駆動中フラグが変化するタイミングと、駆動部における実際の駆動状態との間に発生するわずかなズレD1(図2参照)に影響されずに、駆動部の駆動状態を正確に検出することができる。そのため、撮像装置1は、駆動部の駆動による電圧の低下が検出中にあった場合の検出結果を残量レベル判定処理から除外できる。その結果、撮像装置1(ボディ部2及びレンズ鏡筒3)は、バッテリ5(電池)の残量レベルを判定する処理(バッテリチェック処理)の実行タイミングによらずに、バッテリ5の残量レベルを正確に判定することができる。
また、撮像装置1は、バッテリチェック処理のタイミングによって、駆動部の駆動を制限する必要がないため、撮像装置1の機能を低下させることなく、バッテリ5の残量レベルを判定することができる。
【0075】
また、バッテリチェック制御部82は、駆動フラグB(検出中駆動フラグ62)に基づいて、駆動部のうち、予め定められた所定の駆動部が、バッテリ5の電圧の検出期間に駆動したか否かを判定する。そして、バッテリチェック制御部82は、この検出期間に所定の駆動部が駆動しなかった場合には残量レベル判定部83に判定を実行させ、この検出期間に所定の駆動部が駆動した場合には残量レベル判定部83に判定を実行させない。
これにより、バッテリ5の電圧に影響を与える所定の駆動部が駆動している場合にのみ、検出結果を残量レベル判定処理から効率よく除外できる。
【0076】
また、バッテリチェック制御部82は、電池電圧検出部6にバッテリ5の電圧を検出させる前に、駆動部が駆動しているか否かの駆動状態を示す駆動フラグA(検出前駆動フラグ61)を取得する。そして、バッテリチェック制御部82は、駆動フラグAに基づいて、所定の駆動部が駆動しているか否かを判定し、所定の駆動部が駆動している場合には残量レベル判定部83に判定を実行させない。
これにより、電池電圧検出部6にバッテリ5の電圧を検出させる前に、バッテリ5の電圧に影響を与える所定の駆動部が駆動している場合にも、検出結果を残量レベル判定処理から効率よく除外する。そのため、撮像装置1(ボディ部2及びレンズ鏡筒3)は、バッテリ5(電池)の残量レベルを判定する処理(バッテリチェック処理)の実行タイミングによらずに、バッテリ5の残量レベルを正確に、且つ効率よく判定することができる。
【0077】
さらに、撮像装置1は、レンズ鏡筒3を備え、駆動部には、光学系駆動部200が含まれる。そして、バッテリチェック制御部82は、光学系駆動部200に対応する駆動フラグB2(検出中駆動フラグ)をレンズ鏡筒3に出力させるコマンドC2(第1の制御指令)を、電池電圧検出部6にバッテリ5の電圧を検出させた後にレンズ鏡筒3に対して出力する。
これにより、撮像装置1は、制御部80が駆動状態を直接検出することができないレンズ鏡筒3の光学系駆動部200における駆動状態をコマンドC2の出力によって検出することができる。そのため、撮像装置1は、レンズ鏡筒3を備えているにもかかわらず、バッテリ5(電池)の残量レベルを判定する処理(バッテリチェック処理)の実行タイミングによらずに、バッテリ5の残量レベルを正確に判定することができる。
【0078】
また、バッテリチェック制御部82は、レンズ鏡筒3に対して光学系駆動部200の駆動状態の検出を開始させ、且つ駆動状態に対応する駆動フラグA2(検出前駆動フラグ)を出力させるコマンドC1(第2の制御指令)を、電池電圧検出部6にバッテリ5の電圧を検出させる前に出力する。そして、バッテリチェック制御部82は、出力するコマンドC2(第1の制御指令)によって、光学系駆動部200の駆動状態の検出をレンズ鏡筒3に停止させ、且つコマンドC1からコマンドC2までの期間に取得された駆動状態に対応する駆動フラグB2(検出中駆動フラグ)を、レンズ鏡筒3に出力させる。
【0079】
これにより、バッテリチェック制御部82は、電池電圧検出部6にバッテリ5の電圧を検出させる前に、バッテリ5の電圧に影響を与える所定の駆動部がレンズ鏡筒3において駆動している場合にも、検出結果を残量レベル判定処理から効率よく除外することができる。そのため、撮像装置1は、レンズ鏡筒3の光学系駆動部200が駆動する場合であっても、バッテリ5(電池)の残量レベルを判定する処理(バッテリチェック処理)の実行タイミングによらずに、バッテリ5の残量レベルを正確に、且つ効率よく判定することができる。
【0080】
また、記憶部60が、所定の駆動部であるか否かを判定する駆動部無視フラグ(駆動部判定フラグ)を駆動部のそれぞれに対応づけた駆動部判定テーブルを記憶する。バッテリチェック制御部82は、駆動部判定テーブルに基づいて、所定の駆動部であるか否かを判定する。
これにより、撮像装置1は、所定の駆動部を効率よく判定することができる。また、撮像装置1は、駆動部判定テーブルを書き換えることによって、所定の駆動部を変更することができる。
【0081】
さらに、残量レベル判定部83は、バッテリ5の残量レベルに応じて複数レベルに分類する。記憶部60は、複数レベルの各レベルに対応した複数の駆動部判定テーブルを記憶する。そして、バッテリチェック制御部82は、複数の駆動部判定テーブルの中から、残量レベル判定部83に判定されたバッテリ5の残量レベルに応じて選択された駆動部判定テーブルに基づいて、所定の駆動部を判定する。
これにより、バッテリ5の残量レベルに応じて、所定の駆動部を変更することができる。そのため、撮像装置1は、バッテリチェック処理において、所定の駆動部を残量レベルに応じて所定の駆動部を変更する制御を行うことができる。つまり、撮像装置1は、残量レベルに応じて、残量レベルの判定をより正確に実行することができる。
【0082】
次に、レンズ鏡筒3におけるコマンド処理について、詳細に説明する。
図5は、本実施形態におけるレンズ制御部33のコマンド処理の一例を示す第1のフローチャートである。
この図において、ます、レンズ制御部33は、駆動フラグの検出イベントで有るか否かを判定する(ステップS201)。なお、駆動フラグの検出イベントは、予め定められた所定の検出周期によって実行される。ステップS201の処理において、レンズ制御部33は、駆動フラグの検出イベントが有った場合に、処理をステップS202に進める。また、レンズ制御部33は、駆動フラグの検出イベントがない場合に、処理をステップS204に進める。
【0083】
次に、ステップS202の処理において、レンズ制御部33は、駆動フラグを検出する許可状態であるか否かを判定する。そして、レンズ制御部33は、駆動フラグを検出する許可状態である場合に、処理をステップS203に進める。また、レンズ制御部33は、駆動フラグを検出する許可状態にない場合に、処理をステップS204に進める。
【0084】
次に、レンズ制御部33は、光学系駆動部200の各駆動部に対応する駆動中フラグを取得して、駆動フラグB2を更新する(ステップS203)。つまり、ステップS203の処理において、まず、レンズ制御部33は、記憶部32の各駆動部に対応する駆動状態(駆動中フラグ)を参照する。そして、レンズ制御部33は、参照した駆動中フラグが“1”である場合(駆動中で場合)に、駆動フラグB2における対応する駆動部のフラグを“1”に更新する。次に、レンズ制御部33は、処理をステップS204に進める。
【0085】
次に、レンズ制御部33は、コマンドの入力が有ったか否かを判定する(ステップS204)。そして、レンズ制御部33は、コマンドの入力が有った場合に、処理をステップS205に進め、コマンドの入力が無かった場合に、処理をステップS201に戻す。
【0086】
次に、ステップS205の処理において、レンズ制御部33は、入力されたコマンドがコマンドC1であるか否かを判定する。つまり、レンズ制御部33は、入力されたコマンドがコマンドC1であるか、コマンドC2であるかを判定する。そして、レンズ制御部33は、入力されたコマンドがコマンドC1である場合に、処理をステップS206に進めて、コマンドC1のコマンド処理を実行する。また、レンズ制御部33は、入力されたコマンドがコマンドC1でない場合(コマンドC2である場合)に、処理をステップS208に進めて、コマンドC2のコマンド処理を実行する。
【0087】
次に、ステップS206の処理において、レンズ制御部33は、駆動フラグの検出を開始する。つまり、レンズ制御部33は、駆動フラグの検出を許可状態にする。
次に、レンズ制御部33は、駆動フラグA2を取得して、主駆動部400に出力する(ステップS207)。つまり、レンズ制御部33は、記憶部32に記憶されている各駆動部に対応する駆動状態を示す駆動中フラグを駆動フラグA2として、主駆動部400に出力する。レンズ制御部33は、次に、処理をステップS201に戻し、コマンド処理をステップS201から繰り返す。
【0088】
次に、ステップS208の処理において、レンズ制御部33は、駆動フラグの検出を停止する。つまり、レンズ制御部33は、駆動フラグの検出を禁止状態にする。
次に、レンズ制御部33は、駆動フラグB2を取得して、主駆動部400に出力する(ステップS209)。つまり、レンズ制御部33は、記憶部32に記憶されている駆動フラグB2を、主駆動部400に出力する。レンズ制御部33は、次に、処理をステップS201に戻し、コマンド処理をステップS201から繰り返す。
【0089】
以上のように、本実施形態において、レンズ鏡筒3は、レンズ制御部33が、電池電圧検出部6によるバッテリ5の電圧の検出期間中に光学系駆動部200の駆動状態を示す駆動フラグB2(検出中駆動フラグ)を取得する。そして、レンズ制御部33が、バッテリチェック制御部82(制御部)から出力されたコマンドC2(第1の制御指令)に応じて、駆動フラグB2をバッテリチェック制御部82に対して出力する。
これにより、レンズ鏡筒3は、ボディ部2に光学系駆動部200における駆動状態を知らせることができる。そのため、撮像装置1は、レンズ鏡筒3を備えているにもかかわらず、バッテリ5(電池)の残量レベルを判定する処理(バッテリチェック処理)の実行タイミングによらずに、バッテリ5の残量レベルを正確に判定することができる。
【0090】
さらに、レンズ制御部33は、バッテリチェック制御部82から出力されたコマンドC1(第2の制御指令)に応じて、光学系駆動部200の駆動状態の検出を開始し、且つ駆動状態を示す駆動フラグA2(検出前駆動フラグ)を出力する。レンズ制御部33は、コマンドC2(第1の制御指令)に応じて、光学系駆動部200の駆動状態の検出を停止し、且つ前記コマンドC1からコマンドc2までの期間に取得された駆動フラグB2を出力する。
これにより、レンズ制御部33は、電池電圧検出部6がバッテリ5の電圧を検出する前、及び検出している期間における光学系駆動部200の駆動状態を検出することができ、光学系駆動部200の駆動状態をバッテリチェック制御部82に知らせることができる。そのため、バッテリチェック制御部82は、電池電圧検出部6にバッテリ5の電圧を検出させる前に、バッテリ5の電圧に影響を与える所定の駆動部がレンズ鏡筒3において駆動している場合にも、検出結果を残量レベル判定処理から効率よく除外することができる。
【0091】
次に、レンズ鏡筒3におけるコマンド処理の別の一例について、詳細に説明する。
図6は、本実施形態におけるレンズ制御部33のコマンド処理の別の一例を示す第2のフローチャートである。
【0092】
この図において、ます、レンズ制御部33は、駆動フラグの検出イベントで有るか否かを判定する(ステップS301)。なお、駆動フラグの検出イベントは、予め定められた所定の検出周期によって実行される。ステップS301の処理において、レンズ制御部33は、駆動フラグの検出イベントが有った場合に、処理をステップS302に進める。また、レンズ制御部33は、駆動フラグの検出イベントがない場合に、処理をステップS303に進める。
【0093】
次に、ステップS302の処理において、レンズ制御部33は、光学系駆動部200の各駆動部に対応する駆動中フラグを取得して、記憶部32に記憶させる。つまり、まず、レンズ制御部33は、記憶部32の各駆動部に対応する駆動状態(駆動中フラグ)を読み出す。そして、レンズ制御部33は、読み出した駆動状態を、駆動状態の履歴として記憶部32に記憶させる。次に、レンズ制御部33は、処理をステップS303に進める。
なお、本実施形態では、レンズ制御部33は、予め定められた所定の検出周期によって、光学系駆動部200の駆動状態を常に検出し、駆動状態の履歴を記憶部32に記憶させる場合の例である。ここでは、駆動状態の履歴が記憶される記憶部32の領域は、複数回分の履歴が記憶でき、履歴を書き込む領域が不足した場合には、一番古い履歴を記憶した領域に上書きして記憶するサイクリック領域である。
【0094】
次に、レンズ制御部33は、コマンドの入力が有ったか否かを判定する(ステップS303)。そして、レンズ制御部33は、コマンドの入力が有った場合に、処理をステップS304に進め、コマンドの入力が無かった場合に、処理をステップS301に戻す。
【0095】
次に、ステップS304の処理において、レンズ制御部33は、入力されたコマンドがコマンドC2であるか否かを判定する。そして、レンズ制御部33は、入力されたコマンドがコマンドC2である場合に、処理をステップS305に進めて、コマンドC2のコマンド処理を実行する。また、レンズ制御部33は、入力されたコマンドがコマンドC2でない場合に、処理をステップS301に戻す。
【0096】
次に、ステップS305の処理において、レンズ制御部33は、所定の期間の駆動フラグB2(検出中駆動フラグ)を生成する。つまり、レンズ制御部33は、コマンドC2より前の予め定められた所定の期間に取得された駆動状態の履歴を記憶部32から読み出して、駆動フラグB2を生成する。ここで、予め定められた所定の期間は、例えば、電池電圧検出部6がバッテリ5の電圧を検出する期間より期間である。レンズ制御部33は、予め定められた所定の期間に、一度でも駆動した駆動部を“1”として駆動フラグB2を生成する。
【0097】
次に、レンズ制御部33は、生成した駆動フラグB2を主駆動部400(バッテリチェック制御部82)に出力する(ステップS306)。レンズ制御部33は、次に、処理をステップS301に戻し、コマンド処理をステップS301から繰り返す。
【0098】
以上のように、本実施形態において、レンズ制御部33は、予め定められた所定の検出周期によって、光学系駆動部200の駆動状態を検出する。そして、レンズ制御部33は、コマンドC2(第1の制御指令)に応じて、コマンドC2より前の予め定められた所定の期間に取得された駆動フラグB2(検出中駆動フラグ)をバッテリチェック制御部82に出力する。
【0099】
これにより、レンズ制御部33は、電池電圧検出部6がバッテリ5の電圧を検出している期間における光学系駆動部200の駆動状態を検出することができ、光学系駆動部200の駆動状態をバッテリチェック制御部82に知らせることができる。そのため、バッテリチェック制御部82は、電池電圧検出部6にバッテリ5の電圧を検出中に、バッテリ5の電圧に影響を与える所定の駆動部がレンズ鏡筒3において駆動している場合にも、検出結果を残量レベル判定処理から効率よく除外することができる。また、本実施形態では、一回のコマンド処理(コマンドC2)によって、図5に示されるコマンド処理と同様の効果が期待できる。
【0100】
なお、本発明は、上記の実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で変更可能である。撮像装置1における駆動部(ボディ駆動部100、光学系駆動部200、及び外部アクセサリ駆動部41)の各駆動部は、上記の実施形態に限定されるものではない。
また、上記の実施形態において、バッテリチェック制御部82は、ボディ駆動部100における各駆動部に対応する駆動中フラグの変化に基づいて、駆動フラグB1を更新する形態を説明したが、これに限定されるものではない。例えば、バッテリチェック制御部82は、図6に示されるレンズ制御部33の処理にように、所定の検出周期によって駆動状態の履歴を記憶部60に記憶させた後に駆動フラグB1を生成する形態でもよい。なお、撮像装置1は、この駆動状態の履歴が、バッテリ5の電圧の検出前もカバーする形態であれば、駆動フラグA1の取得及び駆動フラグA判定処理を実行しない形態でもよい。
【0101】
また、図3に示されるバッテリチェック処理において、バッテリチェック制御部82は、ステップS101の後にステップS104の処理を実行してもよい。この場合、バッテリ5の電圧の検出前に、所定の駆動部が動作している際にバッテリチェック処理を終了することができる。そのため、バッテリチェック制御部82は、無駄に実行される処理を低減することができる。
【0102】
また、図6に示されるコマンド処理において、予め定められた所定の期間は、記憶部32において駆動状態を記憶するサイクリック領域に全ての履歴が記憶される期間としてもよい。また、図6に示されるコマンド処理に、図5に示されるようなコマンドC1の処理を追加してもよい。
【0103】
また、図5及び図6に示されるレンズ鏡筒3におけるコマンド処理は、他の外部アクセサリに適用されてもよい。
また、上記の実施形態において、レンズ鏡筒3は、撮像装置1に対して着脱可能に使用されるものとして説明したが、ボディ部2にレンズ鏡筒3が取り付けられて一体とされていている撮像装置に適用してもよい。
【0104】
なお、上記の実施形態において、制御部80の各部は、専用のハードウェアによって実現されてもよく、また、制御部80の各部は、メモリ及びCPUにより構成され、制御部80の各機能は、プログラムによって実現されてもよい。
また、レンズ制御部33は、専用のハードウェアによって実現されてもよく、また、レンズ制御部33は、メモリ及びCPUにより構成され、レンズ制御部33の各機能は、プログラムによって実現されてもよい。
【0105】
上述の撮像装置1(ボディ部2及びレンズ鏡筒3)は内部に、コンピュータシステムを有している。そして、上述した制御部80及びレンズ制御部33の処理過程は、プログラムの形式でコンピュータ読み取り可能な記録媒体に記憶されており、このプログラムをコンピュータが読み出して実行することによって、上記処理が行われる。ここでコンピュータ読み取り可能な記録媒体とは、磁気ディスク、光磁気ディスク、CD−ROM、DVD−ROM、半導体メモリ等をいう。また、このコンピュータプログラムを通信回線によってコンピュータに配信し、この配信を受けたコンピュータが当該プログラムを実行するようにしてもよい。
【符号の説明】
【0106】
1…撮像装置、3…レンズ鏡筒、5…バッテリ、6…電池電圧検出部、31光学系、33…レンズ制御部、61…検出前駆動フラグ、62…検出中駆動フラグ、82…バッテリチェック制御部、83…残量レベル判定部、100…ボディ駆動部、200…光学系駆動部

【特許請求の範囲】
【請求項1】
電池の電圧を検出する検出部と、
前記検出部によって検出された前記電圧に基づいて、前記電池の残量レベルの判定を実行する判定部と、
前記電池から供給される駆動電力によって駆動される駆動部が、前記検出部による前記電圧の検出期間中に駆動したか否かを示す検出中駆動フラグを取得し、前記検出中駆動フラグに基づいて、前記判定部に前記判定を実行させる制御部と
を備えることを特徴とする撮像装置。
【請求項2】
前記制御部は、
前記検出中駆動フラグに基づいて、前記駆動部のうち、予め定められた所定の駆動部が、前記検出期間に駆動したか否かを判定し、前記検出期間に前記所定の駆動部が駆動しなかった場合には前記判定部に前記判定を実行させ、前記検出期間に前記所定の駆動部が駆動した場合には前記判定部に前記判定を実行させない
ことを特徴とする請求項1に記載の撮像装置。
【請求項3】
前記制御部は、
前記検出部に前記電圧を検出させる前に、前記駆動部が駆動しているか否かの駆動状態を示す検出前駆動フラグを取得し、前記検出前駆動フラグに基づいて、前記所定の駆動部が駆動しているか否かを判定し、前記所定の駆動部が駆動している場合には前記判定部に前記判定を実行させない
ことを特徴とする請求項2に記載の撮像装置。
【請求項4】
被写体の光学像を結像させる光学系と、前記光学系を駆動させる光学系駆動部と、制御指令に応じて前記光学系駆動部の駆動状態を出力するレンズ制御部とを備えるレンズ鏡筒を備え、
前記駆動部には、前記光学系駆動部が含まれ、
前記制御部は、
前記光学系駆動部に対応する前記検出中駆動フラグを前記レンズ鏡筒に出力させる第1の制御指令を、前記検出部に前記電圧を検出させた後に前記レンズ鏡筒に対して出力する
ことを特徴とする請求項1から請求項3のいずれか1項に記載の撮像装置。
【請求項5】
前記制御部は、
前記レンズ鏡筒に対して、前記光学系駆動部の駆動状態の検出を開始させ、且つ前記駆動状態に対応する前記検出前駆動フラグを出力させる第2の制御指令を、前記検出部に前記電圧を検出させる前に出力し、
出力する前記第1の制御指令によって、前記光学系駆動部の前記駆動状態の検出を前記レンズ鏡筒に停止させ、且つ前記第2の制御指令から前記第1の制御指令までの期間に取得された前記駆動状態に対応する前記検出中駆動フラグを、前記レンズ鏡筒に出力させる
ことを特徴とする請求項4に記載の撮像装置。
【請求項6】
前記所定の駆動部は、駆動のために必要な消費電流が予め定められた所定値以上であることを特徴とする請求項2から請求項5のいずれか1項に記載の撮像装置。
【請求項7】
前記所定の駆動部であるか否かを判定する駆動部判定フラグを前記駆動部のそれぞれに対応づけた駆動部判定テーブルを記憶する記憶部を備え、
前記制御部は、
前記駆動部判定テーブルに基づいて、前記所定の駆動部であるか否かを判定することを特徴とする請求項2から請求項6のいずれか1項に記載の撮像装置。
【請求項8】
前記判定部は、前記電池の残量レベルに応じて複数レベルに分類し、
前記記憶部は、前記複数レベルの各レベルに対応した複数の前記駆動部判定テーブルを記憶し、
前記制御部は、前記複数の前記駆動部判定テーブルの中から、前記判定部に判定された前記電池の残量レベルに応じて選択された駆動部判定テーブルに基づいて、前記所定の駆動部を判定する
ことを特徴とする請求項2から請求項7のいずれか1項に記載の撮像装置。
【請求項9】
電池の電圧を検出する検出部と、前記検出部によって検出された前記電圧に基づいて前記電池の残量レベルの判定を実行する残量レベル判定部と、前記判定を前記残量レベル判定部に実行させる制御部と、を備える撮像装置に対して着脱可能に設けられるレンズ鏡筒であって、
被写体の光学像を結像させる光学系と、
前記光学系を駆動させる光学系駆動部と、
前記検出部による電圧の検出期間中に前記光学系駆動部の駆動状態を示す検出中駆動フラグを取得し、前記制御部から出力された第1の制御指令に応じて、前記検出中駆動フラグを前記制御部に対して出力するレンズ制御部と
を備えることを特徴とするレンズ鏡筒。
【請求項10】
前記レンズ制御部は、
前記制御部から出力された第2の制御指令に応じて、前記光学系駆動部の駆動状態の検出を開始し、且つ前記駆動状態を示す検出前駆動フラグを出力し、
前記第1の制御指令に応じて、前記光学系駆動部の駆動状態の検出を停止し、且つ前記第2の制御指令から前記第1の制御指令までの期間に取得された前記検出中駆動フラグを出力する
ことを特徴とする請求項9に記載のレンズ鏡筒。
【請求項11】
前記レンズ制御部は、
予め定められた所定の検出周期によって、前記光学系駆動部の駆動状態を検出し、前記第1の制御指令に応じて、前記第1の制御指令より前の予め定められた所定の期間に取得された前記検出中駆動フラグを出力する
ことを特徴とする請求項9に記載のレンズ鏡筒。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate


【公開番号】特開2012−120050(P2012−120050A)
【公開日】平成24年6月21日(2012.6.21)
【国際特許分類】
【出願番号】特願2010−269689(P2010−269689)
【出願日】平成22年12月2日(2010.12.2)
【出願人】(000004112)株式会社ニコン (12,601)
【Fターム(参考)】