(57)【要約】    【課題】電子機器におけるソフトウェアの更新内容によって消費電力量が異なる場合に、その消費電力量とその時の電池の電力残量に応じて更新作業を実行することができる電子機器およびソフトウェアを提供する。    【解決手段】未更新の更新用ファイルの中からいずれか１つを選択し（ステップＳ２０）、電池の電力残量を検出する（ステップＳ４０）とともに、その更新用ファイルを取得してソフトウェアを更新するのに必要な消費電力量を求める（ステップＳ５０）。そして、電力残量と消費電力量に基づいてソフトウェアの更新が可能であるか否かを判定し（ステップＳ６０）、可能であると判定した場合に、その更新用ファイルによるソフトウェアの更新を許可する（ステップＳ７０）。【選択図】図２
2005182265.tif 000002
【特許請求の範囲】
【請求項１】
外部より取得する更新用ファイルによって更新可能なソフトウェアを有し、そのソフトウェアを使用して各種機能を実現する、電池によって駆動する電子機器において、
前記電池の電力残量を検出し、
前記更新用ファイルを取得して前記ソフトウェアを更新するのに必要な前記電池の消費電力量を求め、
前記電力残量と消費電力量に基づいて前記ソフトウェアの更新が可能であるか否かを判定し、可能であると判定した場合に前記ソフトウェアの更新を許可することを特徴とする電子機器。
【請求項２】
請求項１の電子機器において、
前記更新用ファイルが複数存在するとき、その複数の更新用ファイルのそれぞれに対して優先度を設定し、設定された優先度の高いものから順に取得してその取得した更新用ファイルにより前記ソフトウェアの更新を行うことを特徴とする電子機器。
【請求項３】
請求項２の電子機器において、
前記複数の更新用ファイルのそれぞれのデータ量に基づいて、前記優先度を設定することを特徴とする電子機器。
【請求項４】
請求項２の電子機器において、
前記複数の更新用ファイルにそれぞれ設定された重要度に基づいて、前記優先度を設定することを特徴とする電子機器。
【請求項５】
請求項２の電子機器において、
前記複数の更新用ファイルにそれぞれ設定された日付情報に基づいて、前記優先度を設定することを特徴とする電子機器。
【請求項６】
請求項３〜５のいずれかの電子機器において、
最も高い優先度が設定された更新用ファイルを取得するのに先立って、その更新用ファイルを対象とした前記消費電力量を求め、
求められた消費電力量と前記電力残量に基づいて、その更新用ファイルにより前記ソフトウェアを更新することが可能であるか否かを判定することを特徴とする電子機器。
【請求項７】
請求項１の電子機器において、
前記更新用ファイルが複数存在するとき、その複数の更新用ファイルの全てを対象とした前記消費電力量を求め、
求められた消費電力量と前記電力残量に基づいて、全ての更新用ファイルにより前記ソフトウェアを更新することが可能であるか否かを判定し、可能でないと判定した場合、全ての更新用ファイルの中から更新が可能となるように優先的に取得する更新用ファイルの組み合わせを設定することを特徴とする電子機器。
【請求項８】
請求項７の電子機器において、
ユーザからの確認操作が入力された後に、前記設定された組み合わせの更新用ファイルを取得して、その取得した更新用ファイルにより前記ソフトウェアの更新を行うことを特徴とする電子機器。
【請求項９】
請求項７または８の電子機器において、
前記設定された組み合わせの更新用ファイルのそれぞれに対してさらに優先度を設定し、設定された優先度の高いものから順に取得してその取得した更新用ファイルにより前記ソフトウェアの更新を行うことを特徴とする電子機器。
【請求項１０】
請求項１〜９のいずれかの電子機器において、
前記更新用ファイルを取得するときの通信方式の違いにより、前記求める消費電力量の値を変化することを特徴とする電子機器。
【請求項１１】
請求項１〜１０のいずれかの電子機器において、
前記電力残量は、複数段階に区分された残量レベルによって表され、
前記電池の種類の違いにより、前記残量レベルの区分段階数を変化することを特徴とする電子機器。
【請求項１２】
請求項１〜１１のいずれかの電子機器において、
前記ソフトウェアの更新が可能でないと判定した場合に、前記電力残量が不足していることをユーザに報知することを特徴とする電子機器。
【請求項１３】
外部より取得する更新用ファイルによって更新可能なソフトウェアを有し、そのソフトウェアを使用して各種機能を実現する、電池によって駆動する電子機器のソフトウェアを更新するための電子機器のソフトウェア更新用プログラムにおいて、
前記電池の電力残量を検出する電力残量検出ステップと、
前記更新用ファイルを取得し前記ソフトウェアを更新するのに必要な前記電池の消費電力量を求める消費電力量導出ステップと、
前記電力残量と消費電力量に基づいて前記ソフトウェアの更新が可能であるか否かを判定する判定ステップと、
前記判定ステップにおいて可能であると判定した場合に前記ソフトウェアの更新を許可する更新許可ステップとをコンピュータに実行させるための電子機器のソフトウェア更新用プログラム。
【請求項１４】
請求項１３の電子機器のソフトウェア更新用プログラムにおいて、
前記更新用ファイルが複数存在するとき、その複数の更新用ファイルのそれぞれに対して優先度を設定する優先度設定ステップをさらにコンピュータに実行させ、
前記更新許可ステップは、前記優先度設定ステップにおいて設定された優先度の高いものから順に取得してその取得した更新用ファイルにより前記ソフトウェアの更新を行うことを特徴とする電子機器のソフトウェア更新用プログラム。
【請求項１５】
請求項１４の電子機器のソフトウェア更新用プログラムにおいて、
前記消費電力量導出ステップは、前記更新用ファイルが複数存在するとき、その複数の更新用ファイルの全てを対象とした前記消費電力量を求め、
前記判定ステップは、前記消費電力量導出ステップにおいて求められた消費電力量と前記電力残量に基づいて、全ての更新用ファイルにより前記ソフトウェアを更新することが可能であるか否かを判定し、
前記判定ステップにおいて可能でないと判定した場合、全ての更新用ファイルの中から更新が可能となるように優先的に取得する更新用ファイルの組み合わせを設定する組み合わせ設定ステップをさらにコンピュータに実行させることを特徴とする電子機器のソフトウェア更新用プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、内部に記憶されたソフトウェアを部分的に更新可能な電子機器、およびその電子機器のソフトウェアを更新するための更新用プログラムに関する。
【背景技術】
【０００２】
デジタルカメラなどの電子機器において、内部に記憶されたソフトウェアを部分的に更新する方法が知られている（たとえば、特許文献１）。この方法によれば、その電子機器で用いられるソフトウェアの一部を更新するためのデータファイルをパソコン等によってダウンロードすることにより、ソフトウェアの部分的な更新を行うことができる。
【０００３】
【特許文献１】特開２００３−２０２９８９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
上記のようなソフトウェアの部分的な更新では、その更新内容によって消費される電力量は一定でない。しかし、特許文献１に開示される方法はこの消費電力量の変化について特に考慮していないため、電池で駆動する携帯用電子機器などを対象とした場合に、更新に要する消費電力量と電池残量との関係によっては、更新作業中に電池残量が尽きてしまって正常にソフトウェアを更新できないことがある。
【０００５】
そこで、このような電池残量不足時にはソフトウェアの更新作業を行わないようにするため、一定の電池残量以下の場合には更新作業が実行されないように制御することで、更新内容に関わらず一律に更新の可否を判断することが一般に行われている。しかしこの方法では、消費電力が少ないような更新内容であるときに、必要な電池残量が十分あるにも関わらず更新できない場合がある。
【課題を解決するための手段】
【０００６】
請求項１の発明は、外部より取得する更新用ファイルによって更新可能なソフトウェアを有し、そのソフトウェアを使用して各種機能を実現する、電池によって駆動する電子機器において、電池の電力残量を検出し、更新用ファイルを取得してソフトウェアを更新するのに必要な電池の消費電力量を求め、電力残量と消費電力量に基づいてソフトウェアの更新が可能であるか否かを判定し、可能であると判定した場合にソフトウェアの更新を許可するものである。
請求項２の発明は、請求項１の電子機器において、更新用ファイルが複数存在するとき、その複数の更新用ファイルのそれぞれに対して優先度を設定し、設定された優先度の高いものから順に取得してその取得した更新用ファイルによりソフトウェアの更新を行うものである。
請求項３の発明は、請求項２の電子機器において、複数の更新用ファイルのそれぞれのデータ量に基づいて、優先度を設定するものである。
請求項４の発明は、請求項２の電子機器において、複数の更新用ファイルにそれぞれ設定された重要度に基づいて、優先度を設定するものである。
請求項５の発明は、請求項２の電子機器において、複数の更新用ファイルにそれぞれ設定された日付情報に基づいて、優先度を設定するものである。
請求項６の発明は、請求項３〜５のいずれかの電子機器において、最も高い優先度が設定された更新用ファイルを取得するのに先立って、その更新用ファイルを対象とした消費電力量を求め、求められた消費電力量と電力残量に基づいて、その更新用ファイルによりソフトウェアを更新することが可能であるか否かを判定するものである。
請求項７の発明は、請求項１の電子機器において、更新用ファイルが複数存在するとき、その複数の更新用ファイルの全てを対象とした消費電力量を求め、求められた消費電力量と電力残量に基づいて、全ての更新用ファイルによりソフトウェアを更新することが可能であるか否かを判定し、可能でないと判定した場合、全ての更新用ファイルの中から更新が可能となるように優先的に取得する更新用ファイルの組み合わせを設定するものである。
請求項８の発明は、請求項７の電子機器において、ユーザからの確認操作が入力された後に、設定された組み合わせの更新用ファイルを取得して、その取得した更新用ファイルによりソフトウェアの更新を行うものである。
請求項９の発明は、請求項７または８の電子機器において、設定された組み合わせの更新用ファイルのそれぞれに対してさらに優先度を設定し、設定された優先度の高いものから順に取得してその取得した更新用ファイルによりソフトウェアの更新を行うものである。
請求項１０の発明は、請求項１〜９のいずれかの電子機器において、更新用ファイルを取得するときの通信方式の違いにより、求める消費電力量の値を変化するものである。
請求項１１の発明は、請求項１〜１０のいずれかの電子機器において、電力残量は、複数段階に区分された残量レベルによって表され、電池の種類の違いにより、残量レベルの区分段階数を変化するものである。
請求項１２の発明は、請求項１〜１１のいずれかの電子機器において、ソフトウェアの更新が可能でないと判定した場合に、電力残量が不足していることをユーザに報知するものである。
請求項１３の発明は、外部より取得する更新用ファイルによって更新可能なソフトウェアを有し、そのソフトウェアを使用して各種機能を実現する、電池によって駆動する電子機器のソフトウェアを更新するための電子機器のソフトウェア更新用プログラムにおいて、電池の電力残量を検出する電力残量検出ステップと、更新用ファイルを取得しソフトウェアを更新するのに必要な電池の消費電力量を求める消費電力量導出ステップと、電力残量と消費電力量に基づいてソフトウェアの更新が可能であるか否かを判定する判定ステップと、判定ステップにおいて可能であると判定した場合にソフトウェアの更新を許可する更新許可ステップとをコンピュータに実行させるものである。
請求項１４の発明は、請求項１３の電子機器のソフトウェア更新用プログラムにおいて、更新用ファイルが複数存在するとき、その複数の更新用ファイルのそれぞれに対して優先度を設定する優先度設定ステップをさらにコンピュータに実行させ、更新許可ステップは、優先度設定ステップにおいて設定された優先度の高いものから順に取得してその取得した更新用ファイルによりソフトウェアの更新を行うものである。
請求項１５の発明は、請求項１４の電子機器のソフトウェア更新用プログラムにおいて、消費電力量導出ステップは、更新用ファイルが複数存在するとき、その複数の更新用ファイルの全てを対象とした消費電力量を求め、判定ステップは、消費電力量導出ステップにおいて求められた消費電力量と電力残量に基づいて、全ての更新用ファイルによりソフトウェアを更新することが可能であるか否かを判定し、判定ステップにおいて可能でないと判定した場合、全ての更新用ファイルの中から更新が可能となるように優先的に取得する更新用ファイルの組み合わせを設定する組み合わせ設定ステップをさらにコンピュータに実行させるものである。
【発明の効果】
【０００７】
本発明によれば、電池の電力残量を検出するとともに、更新用ファイルを取得してソフトウェアを更新するのに必要な消費電力量を求め、その電力残量と消費電力量に基づいてソフトウェアの更新が可能であるか否かを判定し、可能であると判定した場合に、その更新用ファイルによるソフトウェアの更新を許可することとした。このようにしたので、ソフトウェアの更新内容によって消費電力量が異なる場合に、その消費電力量とその時の電池の電力残量に応じて更新作業を実行することができる。
【発明を実施するための最良の形態】
【０００８】
―第１の実施の形態―
本発明の一実施形態によるデジタルカメラの機能ブロックを図１に示す。このデジタルカメラ１は、制御部２、撮影部３、操作部４、表示部５、カードスロット部６、外部インタフェース部７および電源入力部８を有しており、内蔵している電池９または外部より供給されるＡＣ電源によって駆動する。電池９は二次電池であり、充電して繰り返し使用することができる。カードスロット部６にはメモリカード１０がセットされ、外部インタフェース部７にはＰＣ（パソコン）１１が接続される。
【０００９】
制御部２は、他の各機能ブロックを制御するための部分であり、マイクロコンピュータやＲＯＭ、ＲＡＭ等によって実現される。この制御部２にはデジタルカメラ１の各種機能を実現するためのソフトウェアが記録されており、そのソフトウェアを用いて他の各機能ブロックを制御することによって、撮影や画像データの記録などが実行される。このソフトウェアは、外部より取得する更新用ファイルによって部分的に更新することが可能であるが、その詳細については後で説明する。
【００１０】
撮影部３は、不図示のレリーズボタンが押されることなどにより制御部２から出力されるレリーズ信号に応じて、不図示の撮影レンズを通して入射された被写体像を撮影してその像信号を制御部２へ出力する。この撮影部３は、シャッタ機構部、絞り部、ＣＣＤ等を用いた撮像素子部などを有しており、これらの動作を制御することで上記のような撮影動作を行うことができる。撮影部３から制御部２へ出力された被写体像信号に対して、制御部２により各種の画像処理が施され、その処理後の画像データがカードスロット部６を介してメモリカード１０へ出力され記録される。
【００１１】
操作部４は、ユーザからの操作入力を受け付けるための部分であり、各種のスイッチを備えている。表示部５は、液晶ディスプレイなどを用いた画面表示を行う部分であり、撮影部３によって捉えられている被写体像や、メモリカード１０に記録されている画像データなどを表示する。操作部４によって行われた操作入力の状態は、表示部５に表示することができる。ユーザは、この操作部４と表示部５を用いて、それまでに撮像した画像データの確認やデジタルカメラ１の各種設定状態の変更などを行うことができる。また、後で説明する更新用ファイルの選択や組み合わせ設定時の処理内容を予めユーザが設定するときにも、操作部４と表示部５が用いられる。
【００１２】
カードスロット部６は、メモリカード１０をデジタルカメラ１にセットするための部分である。このカードスロット部６を介してメモリカード１０と制御部２の間でデータの入出力を行うことで、撮像した画像データをメモリカード１０に記録したり、メモリカード１０に記録されたデータをデジタルカメラ１へ取り込んだりすることができる。前述した制御部２のソフトウェアの更新用ファイルをメモリカード１０にあらかじめ記録しておけば、その更新用ファイルをメモリカード１０からデジタルカメラ１に取り込むこともできる。なお、メモリカード１０は着脱可能なリムーバブルメモリであり、各種パソコンや電子機器などにセットすることもできる。
【００１３】
外部インタフェース部７は、ＰＣ１１とデジタルカメラ１を接続するためのインタフェースであり、たとえばＵＳＢなどの汎用の規格を用いることができる。このときの外部インタフェース部７とＰＣ１１の接続は、ケーブル接続でもよく、あるいは赤外線通信などの無線接続でもよい。外部インタフェース部７を介して、撮像した画像データをＰＣ１１へ出力したり、ＰＣ１１から出力されたデータをデジタルカメラ１へ取り込んだりすることができる。前述した制御部２のソフトウェアの更新用ファイルをＰＣ１１からデジタルカメラ１に取り込むこともできる。
【００１４】
電源入力部８は、電池９とＡＣ電源のいずれかより供給される電源を入力するための部分である。デジタルカメラ１は、この供給された電源を電源入力部８より各部分へ出力することで、駆動電力を得ることができる。ここで、電源入力部８が電池９とＡＣ電源のいずれかに接続されると、電源入力部８はその出力電圧値を検出して制御部２へ出力する。この電圧値に基づいて、制御部２において電池９とＡＣ電源のどちらから電源が供給されているかを判断することができる。なお、電池９から電源が供給されている場合には、その電力残量すなわち電池残量を検出し、表示部５に電池残量を表すインジケータ等を表示する。このとき、次に説明するフューエルゲージ（ＦＧ）と呼ばれる方法を用いることで、電池９の電力残量を正確に検出することができる。
【００１５】
フューエルゲージでは、充放電の時間や電圧の情報など、電池の使用履歴に関する情報を検出して記憶する回路を電池と共にパッケージングしている。そして、記憶された使用履歴情報を装置側で読み出すことにより、電池の放電状態を判断して電力残量を求める。こうして電力残量の検出を行うことで、従来の放電電圧に基づいて行うよりも正確に電池残量を求めることができ、たとえば、使用可能時間を分単位でユーザに知らせることも可能となる。
【００１６】
制御部２のソフトウェアを更新する方法について説明する。制御部２のソフトウェアは、前述したようにメモリカード１０またはＰＣ１１から取得した更新用ファイルによって部分的に更新することができ、これにより新たな機能をデジタルカメラ１に追加したりすることが可能なように構成されている。ユーザは、メーカのサーバ等からインターネット経由でＰＣ１１にダウンロードしたり、サービスセンター等でメモリカード１０に記録したりすることで、この更新用ファイルを入手することができる。ユーザは、こうして入手した更新用ファイルをメモリカード１０またはＰＣ１１からデジタルカメラ１に取り込むことで、制御部２のソフトウェアを更新することができる。なお、ソフトウェアの更新内容によっては、同時に複数の更新用ファイルが用いられることもある。
【００１７】
上記のソフトウェアの更新を行う際に制御部２において実行される処理のフローチャートを図２に示す。このフローチャートの処理は、ユーザが操作部４や外部インタフェース部７に接続されたＰＣ１１を操作することによってソフトウェアの更新の実行を選択することで実行される。以下、図２の各処理ステップについて順に説明する。
【００１８】
ステップＳ１０では、メモリカード１０またはＰＣ１１に未更新の更新用ファイルが記録されているか否かを判定する。このとき、記録されている更新用ファイルを用いて既にソフトウェアの更新が実行済みである場合には、その更新用ファイルは以降の処理対象から除かれる。未更新の更新用ファイルが１つまたは複数ある場合は、次のステップＳ２０へ進む。一方、未更新の更新用ファイルが１つも記録されていない場合は図２の処理フローを終了する。この場合、ソフトウェアの更新は続行されない。
【００１９】
ステップＳ２０では、メモリカード１０またはＰＣ１１に記録されている未更新の更新用ファイルの中からいずれか１つを選択する。このときの処理内容を図３のサブルーチン処理のフローチャートに示す。図３（ａ）、（ｂ）および（ｃ）に示す処理は、それぞれデータ量、重要度または日付のいずれかを優先して更新用ファイルを選択するものであり、ステップＳ２０でその処理のいずれかを実行することによって１つの更新用ファイルが選択される。なお、どの処理を実行するかについては、上述したとおり予めユーザが設定する。以下に図３（ａ）〜（ｃ）の処理内容について順に説明する。
【００２０】
図３（ａ）に示すデータ量優先の選択方法では、はじめにステップＳ２１において、各更新用ファイルのヘッダ情報をそれぞれ読み込む。ここでいうヘッダ情報とは、そのファイルの名称や属性などの情報を表すために付加される情報であって、このようなヘッダ情報の付加は、コンピュータ上のファイルを扱う際に広く一般的に行われている。ここでは、更新用ファイルのヘッダ情報にはそのデータ量の情報が含まれており、制御部２は更新用ファイル本体を読み込まずにヘッダ情報のみを読み込むことができるものとする。次にステップＳ２２において、ステップＳ２１で読み込んだヘッダ情報に基づいて、記録されている未更新の更新用ファイルの中からデータ量が最も大きいものを選択する。ステップＳ２２の実行後は、図３（ａ）の処理フローを終了して図２のステップＳ３０へ進む。このようにすることで、データ量が最も大きい更新用ファイルを優先的に選択することができる。
【００２１】
図３（ｂ）に示す重要度優先の選択方法では、はじめに前述のステップＳ２１を実行して各更新用ファイルのヘッダ情報を読み込む。ここでは、更新用ファイルのヘッダ情報の中に重要度を表す情報が含まれているものとする。なお、この重要度は更新用ファイルの作成時にその内容に応じてあらかじめ設定される。次にステップＳ２３において、ステップＳ２１で読み込んだヘッダ情報に基づいて、重要度が最も高い更新用ファイルを選択する。ステップＳ２３の実行後は、図３（ｂ）の処理フローを終了して図２のステップＳ３０へ進む。このようにすることで、重要度が最も高い更新用ファイルを優先的に選択することができる。
【００２２】
図３（ｃ）に示す日付優先の選択方法では、はじめに前述のステップＳ２１を実行して各更新用ファイルのヘッダ情報を読み込む。ここでは、更新用ファイルのヘッダ情報の中に、そのファイルの作成日付を表す情報が含まれているものとする。次にステップＳ２４において、ステップＳ２１で読み込んだヘッダ情報に基づいて、日付が最も古い更新用ファイルを選択する。ステップＳ２４の実行後は、図３（ｃ）の処理フローを終了して図２のステップＳ３０へ進む。このようにすることで、日付が最も古い更新用ファイルを優先的に選択することができる。
【００２３】
以上説明した図３（ａ）〜（ｃ）のいずれかの処理を図２のステップＳ２０において行うことにより、未更新の複数の更新用ファイルの中からいずれか１つを選択する。このステップＳ２０の処理は、後で説明するように、対象とする未更新の更新用ファイルがなくなるまで繰り返し行われる。これにより、更新用ファイルのそれぞれに対してデータ量、重要度あるいは日付情報のいずれかに基づいた優先度が設定される。なお、更新用ファイルが１つしかない場合は、ステップＳ２０で図３（ａ）〜（ｃ）のどの処理を行うかに関わらず、その１つの更新用ファイルがステップＳ２０において選択される。
【００２４】
ステップＳ３０では、ＡＣ接続により電源が供給されているか否かを判定する。この判定は、前述のように電源入力部８において供給電源の電圧値を検出することにより行うことができる。ＡＣ接続により電源が供給されている場合はステップＳ７０へ進み、そうでない場合、すなわち電池９から電源が供給されている場合は次のステップＳ４０へ進む。ステップＳ４０では電池９の電力残量の検出を行い、その次のステップＳ５０では、ステップＳ２０で選択した更新用ファイルを用いてソフトウェアの更新を行うときの消費電力量の算出を行う。
【００２５】
なお、ステップＳ４０では、前述したように電池９から出力される使用履歴情報を用いたフューエルゲージによって電力残量を検出する。このときの電力残量の検出結果は、満タンから空の状態までの複数の段階に区分された残量レベルを用いて表される。たとえば、満タンを１００％として１％刻みで残量レベルを表すことができる。また、ステップＳ５０では、更新用ファイルのヘッダ情報に表されたデータ量の情報に基づいて消費電力量の算出を行う。たとえば、データ量のバイト数に所定倍率を乗じた値を、消費電力量として算出する。
【００２６】
ステップＳ６０では、ステップＳ４０で検出した電池残量と、ステップＳ５０で算出した消費電力量とを比較することにより、ステップＳ２０で選択した更新用ファイルによるソフトウェアの更新が可能であるか否かを判定する。その結果、電池残量が消費電力量よりも大きい場合には、選択した更新用ファイルによるソフトウェアの更新が可能であると判定してステップＳ７０へ進む。ステップＳ７０では、ステップＳ２０で選択した更新用ファイルを取り込むことにより、その更新用ファイルを用いてソフトウェアの更新を行うことを許可する。ステップＳ７０が終了した後はステップＳ１０へ戻り、前述の処理を繰り返す。このとき、一度ステップＳ７０で取り込まれた更新用ファイルは、それ以降の処理の対象から除外される。
【００２７】
一方、ステップＳ６０の比較結果において電池残量が消費電力量以下であった場合は、選択した更新用ファイルによるソフトウェアの更新は不可能であると判定してステップＳ８０へ進む。ステップＳ８０では、未更新の更新用ファイルの中にまだステップＳ２０で選択されていないものがあるか否かを判定し、ある場合はステップＳ２０へ戻って、再び更新用ファイルの選択を行う。このとき、既に選択したことのある更新用ファイルは選択しないようにする。このような処理を選択できる更新用ファイルが無くなるまで繰り返し行うことで、電池残量が少なく優先度の高い更新が実行できない場合であっても、その電池残量で可能な更新を実行することができる。
【００２８】
ステップＳ８０の判定において、未更新である全ての更新用ファイルが既にステップＳ２０で選択されていた場合は、ステップＳ９０へ進む。ステップＳ９０では、電池残量が不足しているためにソフトウェアの更新が続行できないことを表示部５に表示することにより、電池９の電力残量が不足していることをユーザに報知した後、図２の処理フローを終了する。このとき、ステップＳ１０が否定判定された場合と同様に、ソフトウェアの更新は続行されない。
【００２９】
以上説明したような処理を実行することにより、メモリカード１０またはＰＣ１１に記録された未更新の更新用ファイルの全てによってソフトウェアの更新が行われるか、または電池残量が不足するまでの間、各更新用ファイルに設定する優先度の順に制御部２のソフトウェアの更新が行われる。
【００３０】
以上説明した第１の実施の形態によれば、以下の作用効果を奏する。
（１）未更新の更新用ファイルの中からいずれか１つを選択し（ステップＳ２０）、電池９の電力残量を検出する（ステップＳ４０）とともに、その更新用ファイルを取得して制御部２のソフトウェアを更新するのに必要な消費電力量を求める（ステップＳ５０）。そして、電力残量と消費電力量に基づいてソフトウェアの更新が可能であるか否かを判定し（ステップＳ６０）、可能であると判定した場合に、その更新用ファイルによるソフトウェアの更新を許可することとした（ステップＳ７０）。このようにしたので、ソフトウェアの更新内容によって消費電力量が異なる場合に、その消費電力量とその時の電池の電力残量に応じて更新作業を実行することができる。
【００３１】
（２）各更新用ファイルのそれぞれのデータ量、重要度または日付情報のうち、いずれかユーザが指定したものに基づいて優先度を設定し（ステップＳ２２，２３，２４）、その優先度の高いものから順に取得して制御部２のソフトウェアの更新を行うこととした。このようにしたので、ユーザが指定した条件に合致するソフトウェアの更新を優先的に実行することができる。
【００３２】
―第２の実施の形態―
本発明の第２の実施の形態について以下に説明する。本実施形態では、図４に示す処理フローを用いてソフトウェアの更新を行うデジタルカメラについて述べる。なお、本実施形態における機能ブロックは図１に示す第１の実施の形態と同じであるため、説明を省略する。
【００３３】
図４の処理フローについて以下に説明する。ここで図２と同一のステップ番号が付されている処理ステップは、同じ処理内容が実行されることを表している。ステップＳ１０では、メモリカード１０またはＰＣ１１に未更新の更新用ファイルが記録されているか否かを判定し、ある場合はステップＳ３０へ進み、１つもない場合は図４の処理フローを終了する。次のステップＳ３０では、ＡＣ接続により電源が供給されているか否かを判定し、ＡＣ接続である場合はステップＳ３１へ進んで後で説明するような処理を実行し、電池９からの電源供給である場合はステップＳ４０へ進む。ステップＳ４０では、電池９の電力残量を検出する。なお、以上説明した各ステップでは、いずれも図２に示す第１の実施の形態と同じ処理内容を実行する。
【００３４】
ステップＳ４１では、メモリカード１０またはＰＣ１１に記録されている未更新の更新用ファイルの全てについて、消費電力量の合計値を算出する。このとき、対象とする各更新用ファイルのヘッダ情報を読み込み、そのヘッダ情報に表されたデータ量に基づいて消費電力量の合計値を算出する。たとえば、データ量のバイト数の合計値に所定倍率を乗じた値を、消費電力量の合計値として算出する。
【００３５】
ステップＳ４２では、ステップＳ４０で検出した電池残量と、ステップＳ４１で算出した消費電力量の合計値とを比較することにより、未更新である全ての更新用ファイルによるソフトウェアの更新が可能であるか否かを判定する。電池残量が消費電力量の合計値よりも大きい場合には、対象とする全ての更新用ファイルによるソフトウェアの更新が可能であると判定してステップＳ３１へ進む。そうでない場合、すなわち電池残量が消費電力量の合計値以下であった場合は、全ての更新用ファイルによるソフトウェアの更新は不可能であると判定してステップＳ５１へ進む。
【００３６】
ステップＳ５１では、メモリカード１０またはＰＣ１１に記録されている更新用ファイルの中から、優先的に更新を行う組み合わせを設定する。このときの処理内容を図５のサブルーチン処理のフローチャートに示す。図５（ａ）、（ｂ）および（ｃ）に示す処理は、それぞれデータ量、重要度あるいは日付のいずれかを優先して更新用ファイルを組み合わせるものであり、ステップＳ５１でその処理のいずれかを実行することによって１つの組み合わせが設定される。ここでも、どの処理を実行するかについては、上述したとおり予めユーザが設定する。以下に図５（ａ）〜（ｃ）の処理内容について順に説明する。
【００３７】
図５（ａ）に示すデータ量優先の組み合わせ設定方法では、はじめにステップＳ５２において、図４のステップＳ４１を実行したときに読み込んだ各更新用ファイルのヘッダ情報に基づいて、データ量が最も大きい更新用ファイルを選択する。このとき、既に選択されている更新用ファイルは対象としない。ステップＳ５３では、図４のステップＳ４０で検出した電池残量と、ステップＳ５２でそれまでに選択した更新用ファイルの消費電力量の合計値とを比較する。電池残量が消費電力量の合計値より大きい場合はステップＳ５４へ進み、そうでない場合は図５（ａ）の処理フローを終了して図４のステップＳ７１へ進む。
【００３８】
ステップＳ５４では、ステップＳ５２で選択した更新用ファイルを組み合わせに含め、次のステップＳ５５では、未選択の更新用ファイルが残っているか否かを判定する。残っている場合はステップＳ５２へ戻り、残っていない場合は図５（ａ）の処理フローを終了して図４のステップＳ７１へ進む。以上説明したような処理を行うことにより、データ量が大きい更新用ファイルを優先して組み合わせを設定することができる。
【００３９】
図５（ｂ）に示す重要度優先の組み合わせ設定方法では、はじめにステップＳ５６において、各更新用ファイルのヘッダ情報に基づいて、重要度が最も高い更新用ファイルを選択する。なお、ここでもステップＳ５２と同様に、既に選択されている更新用ファイルは対象としない。その後は、ステップＳ５６で選択した更新用ファイルに対して、（ａ）で説明したのと同様にしてステップＳ５３〜Ｓ５５の処理を実行する。このようにすることで、重要度が高い更新用ファイルを優先して組み合わせを設定することができる。
【００４０】
図５（ｃ）に示す日付優先の組み合わせ設定方法では、はじめにステップＳ５７において、各更新用ファイルのヘッダ情報に基づいて、日付が最も古い更新用ファイルを選択する。なお、ここでもステップＳ５２やＳ５６と同様に、既に選択されている更新用ファイルは対象としない。その後は、ステップＳ５７で選択した更新用ファイルに対して上記と同様にステップＳ５３〜Ｓ５５の処理を実行する。このようにすることで、日付が最も古い更新用ファイルを優先して組み合わせを設定することができる。
【００４１】
以上説明した図５（ａ）〜（ｃ）のいずれかの処理を図４のステップＳ５１において行うことにより、未更新の複数の更新用ファイルに組み合わせを設定する。なお、更新用ファイルが１つしかない場合は、ステップＳ５１で図５（ａ）〜（ｃ）のどの処理を行うかに関らず、その１つの更新用ファイルがステップＳ５１において選択される。
【００４２】
ステップＳ７１では、更新可能な更新用ファイルの組み合わせの有無を判定する。いずれか少なくとも１つの更新用ファイルによる組み合わせがステップＳ５１において設定された場合は、更新可能な組み合わせがあると判定してステップＳ７２へ進む。しかし、ステップＳ５１において１つの更新用ファイルも選択されなかった場合は、更新可能な組み合わせがないと判定してステップＳ８０へ進む。ステップＳ７２へ進んだ場合は、ステップＳ５１で設定された更新用ファイルの組み合わせを表示部５またはＰＣ１１のディスプレイ画面に表示する。
【００４３】
ステップＳ７３では、設定された更新用ファイルの組み合わせに対してユーザの確認がＯＫまたはＮＧのいずれであるかを判定する。この判定は、ステップＳ７２で行う表示に対して、ユーザが操作部４またはＰＣ１１に入力する確認操作の内容によって行われる。ユーザが入力した確認結果がＯＫであればステップＳ７４へ進み、ステップＳ５１で設定された組み合わせの更新用ファイルを取り込んで、その更新用ファイルを用いてソフトウェアの更新を行うことを許可する。このとき、ユーザが更新用ファイルの組み合わせを任意に変更することができるようにしてもよい。
【００４４】
なお、ステップＳ７４において更新用ファイルを複数取り込む場合には、優先度の高いものから順に取り込むようにすることが好ましい。この優先度は、ステップＳ５１において更新用ファイルを組み合わせる順序によって設定することができる。すなわち、図５のステップＳ５２、Ｓ５６またはＳ５７のいずれかを実行したときに先に選択されたものから順に、より高い優先度が設定される。さらに、更新用ファイルを１つ取り込む毎に、その時点の電池残量が残りの更新用ファイルの消費電力量の合計値よりも上回っているか否かを確認し、上回っていない場合にはステップＳ５１に戻って組み合わせを設定し直すようにしてもよい。
【００４５】
ステップＳ７４を実行した後はステップＳ１０へ戻り、前述の処理を繰り返す。このとき、一度ステップＳ７４で取り込まれた更新用ファイルは、前述したようにそれ以降の処理の対象から除外される。一方、ステップＳ７３でユーザが入力した確認結果がＮＧであった場合は、図４の処理フローを終了する。この場合、ソフトウェアの更新は続行されない。
【００４６】
また、ステップＳ７１からステップＳ８０へ進んだ場合は、ステップＳ８０において、未更新の更新用ファイルの中にまだステップＳ５１の組み合わせ設定で選択されていないもの、すなわち、図５のステップＳ５２、Ｓ５６またはＳ５７のいずれかにおいて選択されていないものがあるか否かを判定する。ある場合はステップＳ５１へ戻って、再び更新用ファイルの組み合わせを設定する。このとき、第１の実施の形態で説明したのと同様に、既に選択したことのある更新用ファイルは選択しないようにする。
【００４７】
ステップＳ８０の判定において、未更新である全ての更新用ファイルが既にステップＳ５１で選択されていた場合は、ステップＳ９０へ進む。ステップＳ９０では、電池残量が不足しているためにソフトウェアの更新が続行できないことを表示部５に表示して、電池９の電力残量が不足していることをユーザに報知する。その後、図４の処理フローを終了する。この場合、ステップＳ１０やＳ７３が否定判定された場合と同様に、ソフトウェアの更新は続行されない。
【００４８】
また、ステップＳ３０またはＳ４２からステップＳ３１へ進んだ場合は、ステップＳ３１において、図２のステップＳ２０と同様にして更新用ファイルの選択を行い、その後、ステップＳ３２において、その更新用ファイルを取り込んで制御部２のソフトウェアの更新を実行する。ステップＳ３２の実行後はステップＳ１０へ戻る。こうして、電源がＡＣ接続であった場合は、第１の実施の形態で説明したのと同様に、優先度の高いものから順にソフトウェアの更新を実行していく。
【００４９】
以上説明したような処理を実行することにより、メモリカード１０またはＰＣ１１に記録された未更新の更新用ファイルの全てによってソフトウェアの更新が行われるか、または電池残量が不足するまでの間、設定された更新用ファイルの組み合わせによって制御部２のソフトウェアの更新が行われる。
【００５０】
以上説明した第２の実施の形態によれば、以下の作用効果を奏する。
（１）未更新の更新用ファイルが複数あるときに、その全てを対象とした消費電力量の合計値を算出し（ステップＳ４１）、電池９の電力残量と消費電力量の合計値に基づいて、全ての更新用ファイルにより制御部２のソフトウェアの更新が可能であるか否かを判定する（ステップＳ４２）。そして、可能でないと判定した場合に、その全ての更新用ファイルの中から優先的に取得する組み合わせを設定することとした（ステップＳ５１）。このようにしたので、複数の更新用ファイルの中から優先度の高いものを組み合わせて更新作業を実行することができる。
【００５１】
(２)優先的に取得する更新用ファイルの組み合わせを設定した後、ユーザからの確認操作入力がＯＫであるか否かを判定し（ステップＳ７３）、ＯＫであった後にその組み合わせの更新用ファイルを取得して、制御部２のソフトウェアの更新を行うこととした（ステップＳ７４）。このようにしたので、更新作業が行われるソフトウェアの内容をユーザが事前に確認することができる。
【００５２】
なお、上記の各実施の形態では、更新用ファイルを用いて制御部２のソフトウェアの更新を行うときの消費電力量を、各更新用ファイルのヘッダ情報に記録されたデータ量の情報に基づいて算出する例について説明した。しかし、これ以外の情報に基づいて消費電力量を求めるようにしてもよい。たとえば、各更新用ファイルのヘッダ情報に消費電力量の値を記録しておけば、第１の実施の形態では、その消費電力量の値をヘッダ情報から読み取ることで、図２のステップＳ５０において消費電力量を求めることができる。また、第２の実施の形態では、読み取った消費電力量の合計値を算出することで、図４のステップＳ４１において消費電力量の合計値を求めることができる。
【００５３】
また、上記の各実施の形態では、メモリカード１０とＰＣ１１のいずれから更新用ファイルを取得する場合でも同じように消費電力量を求める例について説明した。しかし、このように更新用ファイルを取得するときの通信方式に違いがある場合には、その通信速度の差によって取得時間に差違が生じ、その結果、実際の消費電力量が異なることがある。そのため、この点を考慮して、更新用ファイルを取得するときの通信方式の違いにより、求められる消費電力量の値を変化することが好ましい。さらに、ＰＣ１１から更新用ファイルを取得する場合には、その通信回線速度の違いによって求められる消費電力量の値を変化することがより一層好ましい。
【００５４】
さらに、上記の各実施の形態では、フューエルゲージを用いて電池９の電池残量を検出する例について説明したが、放電電圧に基づいて電池残量を検出する場合にも本発明を適用することができる。さらに、これらの方法を併用することにより、様々な種類の電池を共通に使用可能としてもよい。ただし、これらの方法の間では電池残量の検出結果の正確さが異なるため、電池の種類の違いによって電池残量を表すときの残量レベルの区分段階数を変化するようにすることが好ましい。すなわち、フューエルゲージによって正確な電池残量検出結果が得られる場合には残量レベルの区分段階数を多くし、放電電圧に基づいて電池残量を検出する場合にはその区分段階数を少なくする。
【００５５】
上記の各実施の形態では、図２〜５のフローチャートによって表されるソフトウェアの更新処理をデジタルカメラ１内の制御部２で実行する例について説明したが、これをデジタルカメラ１に接続されたＰＣ１１や、さらにそのＰＣ１１に接続される不図示のサーバ装置において実行するようにしてもよい。たとえば、サーバ装置に更新用ファイルを記憶しておき、ＰＣ１１を介してデジタルカメラ１がサーバ装置に接続されると、サーバ装置１１において上記に説明したソフトウェアの更新処理を行うようにする。このようにすれば、制御部２のソフトウェアの更新状態と電源の状態とをサーバ装置が判別して、それらの状態に応じて更新用ファイルをデジタルカメラ１に送信し、自動的に更新作業を行うようにすることができる。
【００５６】
上記の各実施の形態ではデジタルカメラを例に説明したが、本発明はこの内容に限定されず、様々な電子機器に適用することができる。さらに、本発明は上記実施の形態に限定されるものではなく、本発明の技術的思想の範囲内で考えられるその他の態様も本発明の範囲内に含まれる。
【図面の簡単な説明】
【００５７】
【図１】本発明によるデジタルカメラの機能ブロックを示す図である。
【図２】第１の実施の形態において実行されるソフトウェアの更新処理のフローチャートを示す図である。
【図３】更新用ファイルを選択するサブルーチン処理を示す図であり、（ａ）はデータ量、（ｂ）は重要度、（ｃ）は日付をそれぞれ優先して選択する処理を示している。
【図４】第２の実施の形態において実行されるソフトウェアの更新処理のフローチャートを示す図である。
【図５】更新用ファイルの組み合わせを設定するサブルーチン処理を示す図であり、（ａ）はデータ量、（ｂ）は重要度、（ｃ）は日付をそれぞれ優先して組み合わせを設定する処理を示している。
【符号の説明】
【００５８】
１：デジタルカメラ
２：制御部
３：撮影部
４：操作部
５：表示部
６：カードスロット部
７：外部インタフェース部
８：電源入力部
９：電池
１０：メモリカード
１１：ＰＣ
【図１】
2005182265.tif 000003
【図２】
2005182265.tif 000004
【図３】
2005182265.tif 000005
【図４】
2005182265.tif 000006
【図５】
2005182265.tif 000007