(57)【要約】【課題】消費電力を抑えることができるようにする。【解決手段】FET２がOnになったとき、センサ３に対する電源Vccの供給が開始され、センサ３からMCU１のGPI端子１２に対して検出結果を表す信号が入力される。センサ３に対する電源Vccの供給が開始された後、MCU１の状態はSleep状態となり、その状態は、センサ３が正常な検出結果を出力するようになるまで保持される。センサ３が正常な検出結果を出力するようになったとき、タイマ割り込みによりMCU１が復帰し、センサ３の出力のサンプリングが行われる。サンプリングが行われたとき、センサ３に対する電源Vccの供給が停止されるとともに、MCU１の状態もSleep状態となる。本発明は、携帯電話機、PDAなどの携帯型の情報処理装置に適用することができる。【選択図】図１
2008117424.tif 000002
【特許請求の範囲】
【請求項１】
対象となる物理量を検出する複数の検出手段と、
前記複数の検出手段のうちの１以上の第１の検出手段による検出結果に基づいて前記物理量の計測を行うとともに、前記物理量の計測結果に応じて第２の検出手段に対する電源の供給を制御する制御手段と
を備えることを特徴とする情報処理装置。
【請求項２】
前記制御手段は、前記第２の検出手段に対する電源の供給を開始させたとき、さらに、前記第２の検出手段による検出結果に基づいて前記物理量の計測を行う
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記第１の検出手段は、前記第２の検出手段より消費電力が少ない
ことを特徴とする請求項１に記載の情報処理装置。
【請求項４】
前記制御手段は、前記物理量の計測結果に応じて設定される前記第２の検出手段の優先度に基づいて、前記第２の検出手段に対する電源の供給を制御する
ことを特徴とする請求項１に記載の情報処理装置。
【請求項５】
前記制御手段は、前記第１の検出結果による検出結果から、自分自身がおかれている状況を判断し、判断した状況下で動作させる必要性が高い前記第２の検出手段に高い優先度が設定されるように、前記第２の検出手段の優先度を設定する
ことを特徴とする請求項４に記載の情報処理装置。
【請求項６】
前記第２の検出手段は、屋外での測位を行う第１の測位手段と、屋内での測位を行う第２の測位手段とを含み、
前記制御手段は、前記第１の検出手段による検出結果に基づいて計測される紫外線の量から、自分自身が屋外にあると判断したとき、前記第１の測位手段に対して、前記第２の測位手段より高い優先度を設定し、前記第１の測位手段による測位のみが行われるように前記第１と第２の測位手段に対する電源の供給を制御する
ことを特徴とする請求項４に記載の情報処理装置。
【請求項７】
前記制御手段は、前記第１の検出手段による検出結果に基づいて計測される速度と、前記第１または第２の測位手段による測位の周期それぞれとを乗算して得られる距離が、前記第１または第２の測位手段によるそれぞれの測位の精度を越える場合に測位が行われるように、前記第１と前記第２の測位手段に対する電源の供給を制御する
ことを特徴とする請求項６に記載の情報処理装置。
【請求項８】
前記制御手段は、前記第１の検出手段による検出結果に基づいて計測される湿度の変化が所定の閾値より大きいとき、前記第１の測位手段による測位が行われるように、前記第１の測位手段に対する電源の供給を制御する
ことを特徴とする請求項６に記載の情報処理装置。
【請求項９】
前記第１の検出手段は、照度を測定する第１の測定手段と、紫外線の量を測定する第２の測定手段とを含み、
前記制御手段は、前記第１の測定手段により所定の閾値以上の照度が測定されたとき、前記第２の測定手段による紫外線の量の測定が行われるように、前記第２の測定手段に対する電源の供給を制御する
ことを特徴とする請求項１に記載の情報処理装置。
【請求項１０】
前記制御手段による、前記複数の検出手段のうちの１つの第３の検出手段の検出結果に基づく物理量の計測が終了してから、前記物理量の次の計測が行われるまでの時間を、前記制御手段を待機状態に遷移させる待機時間として記憶する記憶手段をさらに備え、
前記制御手段は、さらに、前記第３の検出手段に対する電源の供給を開始させた後、前記第３の検出手段による検出結果に基づいて前記物理量の計測を行う処理と、前記第３の検出手段に対する電源の供給を停止させた後、自分自身の状態を前記待機状態に遷移させ、前記待機時間の経過後に前記待機状態から復帰する処理とを繰り返す
ことを特徴とする請求項１に記載の情報処理装置。
【請求項１１】
前記制御手段により、前記複数の検出手段のうちの１つの第３の検出手段に対する電源の供給が開始されてから、前記第３の検出手段により正常な検出結果が得られるまでの時間を、前記制御手段を待機状態に遷移させる待機時間として記憶する記憶手段をさらに備え、
前記制御手段は、さらに、前記第３の検出手段に対する電源の供給を開始させた後、自分自身の状態を前記待機状態に遷移させ、前記待機時間の経過後に前記待機状態から復帰して、前記第３の検出手段による検出結果に基づいて前記物理量の計測を行う
ことを特徴とする請求項１に記載の情報処理装置。
【請求項１２】
前記制御手段により計測された前記物理量を表すデータを記憶する記憶手段をさらに備え、
前記制御手段は、さらに、前記記憶手段により前記物理量を表すデータが所定の量だけ記憶されたとき、前記所定の量の前記物理量を表すデータを、所定の処理を行う他の制御手段に供給する
ことを特徴とする請求項１に記載の情報処理装置。
【請求項１３】
対象となる物理量を検出する複数の検出手段を備える情報処理装置の情報処理方法において、
前記複数の検出手段のうちの１以上の第１の検出手段による検出結果に基づいて前記物理量の計測を行うとともに、前記物理量の計測結果に応じて第２の検出手段に対する電源の供給を制御する制御ステップを含む
ことを特徴とする情報処理方法。
【請求項１４】
対象となる物理量を検出する複数の検出手段を備える情報処理装置を制御するコンピュータに実行させるプログラムにおいて、
前記複数の検出手段のうちの１以上の第１の検出手段による検出結果に基づいて前記物理量の計測を行うとともに、前記物理量の計測結果に応じて第２の検出手段に対する電源の供給を制御する制御ステップを含む
ことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置および方法、並びにプログラムに関し、特に、消費電力を抑えることができるようにする情報処理装置および方法、並びにプログラムに関する。
【背景技術】
【０００２】
近年、PDA(Personal Digital Assistants)や携帯電話機などの携帯機器の高機能化が進み、中には、CCD(Charge Coupled Device)、GPS(Global Positioning System)センサ、指紋検出センサなどの複数のセンサが搭載されているものもある。
【０００３】
このように、各種のセンサを搭載する携帯機器では、限られた容量のバッテリによって、センサ自体の電力の他、センサが出力する信号のサンプリングを行うマイクロコンピュータの電力も賄う必要がある。従って、各センサ、マイクロコンピュータの省電力化が特に求められる。
【０００４】
そこで、センサが消費する電力を抑えるために、センサに対する電源の供給を、先のサンプリングから次のサンプリングまでの間停止させるようにする技術が提案されている。
【０００５】
また、マイクロコンピュータが消費する電力を抑えるために、センサから出力される信号のそれぞれのサンプリングの間、クロックを停止させるなどしてマイクロコンピュータの状態を低消費電力状態であるsleep状態にすることも提案されている。
【０００６】
特許文献１には、CPU(Central Processing Unit)とは別に、センサの電源のオン／オフを制御するスタンバイ制御回路を設け、そのスタンバイ制御回路によりセンサを間欠動作させることでセンサの消費電力を抑える技術が開示されている。また、CPUで消費される電力を抑えることができるように、入力信号の検出を行う回路以外のCPUの回路を状況に応じてスタンバイ状態にする技術が開示されている。
【特許文献１】特開２０００−８８６０５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、センサを間欠動作させた場合、センサの種類によっては、電源の供給が開始されてからしばらくの間は正常な検出結果を出力することができないものもあり、誤った値がサンプリング結果として得られてしまうことがあるという課題があった。
【０００８】
また、マイクロコンピュータの状態をsleep状態から通常の状態に復帰させる場合、マイクロコンピュータが用いるメモリのPLL(Phase Lock Loop)が安定するまでに時間がかかるなどの理由から、その状態の切り替えを高速に行うことができないことがあるという課題があった。
【０００９】
さらに、短い周期でサンプリングを行う必要があるセンサを用いた場合、マイクロコンピュータの負荷が増え、当然、マイクロコンピュータの消費電力が多くなる。
【００１０】
本発明はこのような状況に鑑みてなされたものであり、消費電力を抑えることができるようにするものである。
【課題を解決するための手段】
【００１１】
本発明の情報処理装置は、対象となる物理量を検出する複数の検出手段と、複数の検出手段のうちの１以上の第１の検出手段による検出結果に基づいて物理量の計測を行うとともに、物理量の計測結果に応じて第２の検出手段に対する電源の供給を制御する制御手段とを備えることを特徴とする。
【００１２】
制御手段は、第２の検出手段に対する電源の供給を開始させたとき、さらに、第２の検出手段による検出結果に基づいて物理量の計測を行うようにすることができる。
【００１３】
第１の検出手段は、第２の検出手段より消費電力が少ないものであるようにすることができる。
【００１４】
制御手段は、物理量の計測結果に応じて設定される第２の検出手段の優先度に基づいて、第２の検出手段に対する電源の供給を制御するようにすることができる。
【００１５】
制御手段は、第１の検出結果による検出結果から、自分自身がおかれている状況を判断し、判断した状況下で動作させる必要性が高い第２の検出手段に高い優先度が設定されるように、第２の検出手段の優先度を設定するようにすることができる。
【００１６】
第２の検出手段は、屋外での測位を行う第１の測位手段と、屋内での測位を行う第２の測位手段とを含むようにすることができる。この場合、制御手段は、第１の検出手段による検出結果に基づいて計測される紫外線の量から、自分自身が屋外にあると判断したとき、第１の測位手段に対して、第２の測位手段より高い優先度を設定し、第１の測位手段による測位のみが行われるように第１と第２の測位手段に対する電源の供給を制御する。
【００１７】
制御手段は、第１の検出手段による検出結果に基づいて計測される速度と、第１または第２の測位手段による測位の周期それぞれとを乗算して得られる距離が、第１または第２の測位手段によるそれぞれの測位の精度を越える場合に測位が行われるように、第１と第２の測位手段に対する電源の供給を制御するようにすることができる。
【００１８】
制御手段は、第１の検出手段による検出結果に基づいて計測される湿度の変化が所定の閾値より大きいとき、第１の測位手段による測位が行われるように、第１の測位手段に対する電源の供給を制御するようにすることができる。
【００１９】
第１の検出手段は、照度を測定する第１の測定手段と、紫外線の量を測定する第２の測定手段とを含むようにすることができる。この場合、制御手段は、第１の測定手段により所定の閾値以上の照度が測定されたとき、第２の測定手段による紫外線の量の測定が行われるように、第２の測定手段に対する電源の供給を制御する。
【００２０】
制御手段による、複数の検出手段のうちの１つの第３の検出手段の検出結果に基づく物理量の計測が終了してから、物理量の次の計測が行われるまでの時間を、制御手段を待機状態に遷移させる待機時間として記憶する記憶手段をさらに備え、制御手段は、さらに、第３の検出手段に対する電源の供給を開始させた後、第３の検出手段による検出結果に基づいて物理量の計測を行う処理と、第３の検出手段に対する電源の供給を停止させた後、自分自身の状態を待機状態に遷移させ、待機時間の経過後に待機状態から復帰する処理とを繰り返すようにすることができる。
【００２１】
制御手段により、複数の検出手段のうちの１つの第３の検出手段に対する電源の供給が開始されてから、第３の検出手段により正常な検出結果が得られるまでの時間を、制御手段を待機状態に遷移させる待機時間として記憶する記憶手段をさらに備え、制御手段は、さらに、第３の検出手段に対する電源の供給を開始させた後、自分自身の状態を待機状態に遷移させ、待機時間の経過後に待機状態から復帰して、第３の検出手段による検出結果に基づいて物理量の計測を行うようにすることができる。
【００２２】
制御手段により計測された物理量を表すデータを記憶する記憶手段をさらに備え、制御手段は、さらに、記憶手段により物理量を表すデータが所定の量だけ記憶されたとき、所定の量の物理量を表すデータを、所定の処理を行う他の制御手段に供給するようにすることができる。
【００２３】
本発明の情報処理方法は、対象となる物理量を検出する複数の検出手段を備える情報処理装置の情報処理方法であって、複数の検出手段のうちの１以上の第１の検出手段による検出結果に基づいて物理量の計測を行うとともに、物理量の計測結果に応じて第２の検出手段に対する電源の供給を制御する制御ステップを含むことを特徴とする。
【００２４】
本発明のプログラムは、対象となる物理量を検出する複数の検出手段を備える情報処理装置を制御するコンピュータに実行させるプログラムであって、複数の検出手段のうちの１以上の第１の検出手段による検出結果に基づいて物理量の計測を行うとともに、物理量の計測結果に応じて第２の検出手段に対する電源の供給を制御する制御ステップを含むことを特徴とする。
【００２５】
本発明の情報処理装置および方法、並びにプログラムにおいては、複数の検出手段のうちの１以上の第１の検出手段による検出結果に基づいて物理量の計測が行われ、物理量の計測結果に応じて第２の検出手段に対する電源の供給が制御される。
【発明の効果】
【００２６】
本発明によれば、消費電力を抑えることができる。
【発明を実施するための最良の形態】
【００２７】
図１は、本発明を適用した情報処理装置の構成例を示すブロック図である。
【００２８】
図１に示される情報処理装置は、例えば、携帯電話機やPDA(Personal Digital Assistants)、或いは小型のパーソナルコンピュータなどの携帯型の装置（またはその一部）である。
【００２９】
MCU(Micro Controller Unit)１は、例えば、予め用意されるアプリケーションを内部のRAM(Random Access Memory)に展開し、情報処理装置の全体の動作を制御する１チップのマイクロコンピュータである。
【００３０】
MCU１は、GPO(General Purpose Output)端子１１から出力する信号（Sensor Enable信号）によりFET(Field Effect Transistor)２のOn／Off（導通／非導通）を切り替え、センサ３に対する電源Vccの供給を制御する。また、MCU１は、電源Vccが供給され、動作しているセンサ３からGPI(General Purpose Input)端子１２に入力される信号（Sensor Output信号）のサンプリング（物理量の計測）を行う。
【００３１】
FET２は、MCU１から入力される信号に応じて電源Vccをセンサ３に供給する。
【００３２】
センサ３は、FET２を介して電源Vccが供給されている間だけ動作し、検出結果を表す信号をMCU１のGPI端子１２に出力する。センサ３は、例えば、温度センサ、湿度センサ、気圧センサ、照度センサ、紫外線センサ、ジャイロセンサ、および加速度センサなどである。
【００３３】
また、センサ３には、GPS(Global Positioning System)モジュールやPHS(Personal Handy Phone)モジュール、IEEE(Institute of Electrical and Electronics Engineers)802.11a,b,gなどの規格に準拠した無線LAN(Local Area Network)モジュールやBluetooth（登録商標）モジュールなどの通信モジュール、LCD(Liquid Crystal Display)などの表示モジュール、CCD(Charge Coupled Device)などの撮像モジュールも含まれる。すなわち、ある周期で動作するモジュールであればどのようなものであってもよい。
【００３４】
このような構成を有する情報処理装置においては、消費電力を抑えるために、センサ３に対する電源Vccの供給、およびMCU１自体の状態が制御される。
【００３５】
図２は、MCU１とセンサ３の状態遷移の例を示す図である。
【００３６】
図２に示されるように、MCU１の状態には、Run状態とSleep状態とがあり、MCU１は、その２つの状態を繰り返すようになっている。すなわち、間欠的な動作が行われる。
【００３７】
ここで、Run状態とは、用意されるタスクを実行し、センサ３に対する電源Vccの供給の制御などを行う状態をいう。
【００３８】
また、Sleep状態とは、Run状態のときより消費電力が少ない状態をいう。Sleep状態のときには、Run状態のときに設定したタイマによる割り込みによって、Run状態に復帰する。
【００３９】
なお、Sleep状態は、MCU１が実行するOS(Operating System)の種類によってその意味が異なり、次の２つが含まれる。
【００４０】
例えば、MCU１が実行するOSが非リアルタイムOSの場合、Sleep状態は、クロックの速度を落とすなどして、必要最小限の入出力管理のみを除いてプログラムの実行を停止させる状態を意味する。
【００４１】
また、MCU１が実行するOSが、あるイベントが発生したとき、決められた時間内にイベントハンドラが起動されることを保証するリアルタイムOSの場合、Sleep状態は、実行中の１つのタスクの中断を意味する。従って、この場合、Sleep状態からの復帰はタスクのWake処理を意味する。
【００４２】
リアルタイムOSが用いられる場合、１つのタスクが中断された結果、他のタスクが実行可能な状態となり、最も優先度の低いタスクに、非リアルタイムOSの場合と同様のSleep状態に遷移することを指示するコードが記述されていることによって、実行すべきタスクがないときに、そのSleep状態への遷移が行われることになる。
【００４３】
図２の説明に戻り、時刻ｔ1でRun＃１の状態を開始させたMCU１は、FET２をOnとし、センサ３に対する電源Vccの供給を開始させる。
【００４４】
このとき、センサ３はPre Power On状態になり、検出結果を表す信号の出力を開始する。図２においては、センサ３がPre Power On状態になる時刻は時刻ｔ1となっているが、厳密には時刻ｔ1より若干後の時刻である。
【００４５】
この「Pre Power On状態」は、正常な検出結果を出力可能な状態であるPower On状態の前の状態である。この状態のセンサ３は、電源Vccが供給されていることから動作自体は可能であるものの、正常な検出結果を出力することができない。
【００４６】
従って、MCU１は、センサ３が正常な検出結果を出力するようになる時刻ｔ3まで、タイマをセットした後、自分自身の状態をSleep＃１の状態に遷移させる。図２においては、時刻ｔ2からSleep＃２の状態が開始されている。なお、Sleep＃１の状態のときにはGPO端子１１の値は保持されており、電源Vccがセンサ３に供給され続ける。
【００４７】
時刻ｔ3において発生するタイマ割り込みによって、MCU１はRun＃２の状態に復帰し、ここで初めてセンサ３の出力のサンプリングを行う。すなわち、Pre Power On状態にあるセンサ３の出力のサンプリングは行われない。時刻ｔ3以降は、センサ３がPower Onの状態にあるため、MCU１は、サンプリングにより正常な値を得ることが可能になる。
【００４８】
センサ３の出力のサンプリングを行った後、MCU１は、時刻ｔ4においてFET２をOffとし、センサ３に対する電源Vccの供給を停止させる。これにより、センサ３はPower Off状態になり、その動作を停止させる。
【００４９】
センサ３の動作を停止させた後、MCU１は、タイマをセットし、再度、自分自身の状態をSleep状態に遷移させる。
【００５０】
これにより、MCU１は、時刻ｔ5からSleep＃２の状態となり、Run＃２の状態のときにセットしておいたタイマによる割り込みが発生する時刻ｔ6まで、その状態を維持する。時刻ｔ6になったとき、以上のような、時刻ｔ1からの状態遷移が繰り返される。
【００５１】
センサの中には、電源Vccの供給が開始されてから所定の時間が経過するまでは正常な検出結果を出力することができないものもあり、このようなセンサを用いる場合には、以上のように、正常な検出結果が出力されるようになるまでMCU１をSleep状態に遷移させておくことにより、Sleep状態の時間の分だけ、MCU１の消費電力を抑えることができる。また、誤った値がサンプリングにより取得されることを防止することができる。
【００５２】
また、サンプリングにより正常な値が取得された直後（図２の場合時刻ｔ4）にセンサ３の動作も停止させるようにしたため、次のサンプリングまでの間も動作させ続ける場合に較べて、センサ３の消費電力を抑えることができる。
【００５３】
さらに、装置全体の消費電力を抑えることができるため、同じ時間動作させようとする場合でも、より少ない容量のバッテリを情報処理装置の電源として用いることができる。このことは、コストダウンの他に、装置本体の小型化にも繋がる。
【００５４】
消費電力を抑えるためのMCU１の動作についてはフローチャートを参照して後に詳述する。
【００５５】
図３は、MCU１の機能構成例を示すブロック図である。図３の機能部の少なくとも一部は、MCU１により所定のプログラムが実行されることで実現される。
【００５６】
電源制御部２１は、状態管理部２３による制御に従ってGPO端子１１から出力する信号によりFET２のOn/Offを切り替え、センサ３に対する電源Vccの供給を制御する。
【００５７】
タイマ部２２は、タイマの管理を行い、状態管理部２３によりセットされた時刻になったとき、状態管理部２３に対して割り込みを発生させる。この割り込みに応じて状態管理部２３はMCU１の状態をSleep状態から復帰させ、その後の処理を行う。
【００５８】
状態管理部２３は、MCU１の状態の遷移を管理する。また、状態管理部２３は、MCU１の状態がRun状態のとき、例えば、次にRun状態に復帰する時刻をセットする処理などを行う。
【００５９】
サンプリング部２４は、センサ３から出力され、GPI端子１２に入力される信号（センサ３の検出結果）のサンプリングを行う。サンプリングにより得られたデータは、例えば、図示せぬ他の機能部に出力され、所定の処理に用いられる。
【００６０】
次に、図４のシーケンス図を参照して、図１のMCU１、FET２、およびセンサ３の一連の動作について説明する。
【００６１】
ステップＳ１において、MCU１は、GPO端子１１から出力する信号によりFET２をOnとし、センサ３に対する電源Vccの供給を開始させる。
【００６２】
センサ３に対する電源Vccの供給を開始させた後、MCU１は、ステップＳ２において、次にRun状態に復帰する時刻をセットし、ステップＳ３に進み、セットしたタイマがActiveになるまで（割り込みが発生するまで）Sleep状態に入る。このとき、例えば、図２のSleep＃１の状態が開始される。
【００６３】
一方、ステップＳ１で出力されたMCU１からの信号を受信したFET２は、ステップＳ２１において、ソース−ドレイン間を導通させ、電源Vccをセンサ３に供給する。ソース−ドレイン間を導通させた状態は、MCU１から供給されてくる信号により保持される。
【００６４】
センサ３は、電源Vccが供給されたステップＳ３１において動作を開始し（電源をOnとし）、ステップＳ３２において、MCU１に対して、検出結果の出力を開始する。ここで出力される検出結果は、動作を開始した直後の図２のPre Power On状態のときに出力されるものであるため、正常な検出結果ではない。MCU１においては、その検出結果のサンプリングは行われない。
【００６５】
センサ３による出力（正常ではない検出結果の出力）は所定の周期で繰り返され、ステップＳ３３で正常な検出結果を出力することが可能になったとき（図２の時刻ｔ3でPower On状態になったとき）、MCU１により初めてサンプリングが行われる。
【００６６】
すなわち、ステップＳ４において、MCU１は、セットしておいたタイマがActiveになることに応じてSleep状態から復帰し（例えば、図２のRun＃２の状態となり）、ステップＳ５に進み、センサ３から出力された検出結果のサンプリングを行う。
【００６７】
センサ３から供給されてきた正常な検出結果のサンプリングを終えた後、MCU１は、ステップＳ６において、FET２をOffとし、センサ３に対する電源Vccの供給を停止させる。
【００６８】
また、MCU１は、ステップＳ７においてタイマをセットし、ステップＳ８に進み、再度、Sleep状態に入る。これにより、MCU１は、タイマがActiveになるまで、例えば、図２のSleep＃２の状態となる。
【００６９】
一方、MCU１からの信号を受信したFET２は、ステップＳ２２において、ソース−ドレイン間を非導通の状態とし、センサ３に対する電源Vccの供給を停止させる。
【００７０】
電源Vccの供給が停止されたステップＳ３４において、センサ３は、その動作を停止させる。これにより、次に電源Vccが供給されるまで、センサ３は、例えば、図２のPower Offの状態となる。
【００７１】
MCU１、FET２、およびセンサ３による以上の処理が繰り返されることで、MCU１とセンサ３の間欠的な動作が実現され、MCU１とセンサ３の消費電力が抑えられる。
【００７２】
次に、図５および図６のフローチャートを参照して、MCU１の動作について説明する。
【００７３】
図５は、Run状態のときにMCU１により実行される処理を示すフローチャートである。
【００７４】
MCU１の状態管理部２３は、ステップＳ４１において、管理しているフラグがクリアであるか否かを判定する。このフラグは、その設定がセットのとき、センサ３の電源がOnであることを表し、クリアのとき、センサ３の電源がOffであることを表す。
【００７５】
ステップＳ４１において、フラグがクリアである（センサ３の電源がOffである）と判定した場合、状態管理部２３は、ステップＳ４２に進み、センサ３の電源をOnにさせる。すなわち、状態管理部２３は、電源制御部２１を制御し、FET２をOnにさせることを表す信号をGPO端子１１から出力させる。
【００７６】
ステップＳ４３において、状態管理部２３はフラグをセットとし、ステップＳ４４に進み、割り込みを発生させる時刻をセットする。タイマをセットした後、ステップＳ４５において、状態管理部２３はMCU１の状態をSleep状態とする。割り込みが発生したときに行われる図６の処理が終了し、Sleep状態に入る前の状態に復帰したとき、ステップＳ４１以降の処理が繰り返される。
【００７７】
一方、ステップＳ４１において、フラグがクリアではない（センサ３の電源がOnであり、フラグがセットである）と判定した場合、ステップＳ４６に進み、状態管理部２３はフラグをクリアにする。例えば、後述する図６の処理でサンプリング（ステップＳ６３の処理）が行われてから図５の処理に復帰したとき、ステップＳ４１においては、フラグがクリアではないと判定される。
【００７８】
ステップＳ４７において、状態管理部２３はタイマをセットし、ステップＳ４５に進み、Sleep状態に入る。
【００７９】
次に、図６のフローチャートを参照して、割り込みハンドラを実行することで実現されるMCU１の処理について説明する。
【００８０】
ステップＳ６１において、タイマ部２２からの割り込みが発生したとき、状態管理部２３は、MCU１の状態をSleep状態から起動させ、ステップＳ６２において、フラグがセットであるか否かを判定する。
【００８１】
状態管理部２３は、ステップＳ６２において、フラグがセットではないと判定した場合、後述するステップＳ６３，Ｓ６４の処理をスキップし、ステップＳ６５において復帰する。これにより、その後、図５の処理が開始される。
【００８２】
一方、ステップＳ６２において、フラグがセットであると判定した場合、ステップＳ６３に進み、状態管理部２３は、サンプリング部２４に、センサ３による検出結果のサンプリングを行わせる。ステップＳ６１の割り込みは、センサ３が正常な検出結果を出力するようになる時刻に発生するようにセットされているため、ここでのサンプリングによっては正常な値が取得されることになる。
【００８３】
ステップＳ６４において、状態管理部２３は、電源制御部２１を制御し、FET２をOffにさせることを表す信号を出力させ、センサ３に対する電源Vccの供給を停止させる。その後、状態管理部２３は、ステップＳ６５に進み、MCU１の状態を、割り込みハンドラの実行中の状態から復帰させる。
【００８４】
以上においては、正常な検出結果を出力するようになるまでセンサ３に電源Vccが供給されるとしたが、センサ３として用意されるセンサの種類によっては、例えば、正常な検出結果を出力するまでに出力される、正常ではない検出結果から、正常な検出結果の値を推測することのできるものもある。
【００８５】
従って、この場合、正常な検出結果ではないセンサ３の出力を所定の回数だけサンプリングし、そのサンプリングの結果に基づいて正常な検出結果の値を推測できたとき、実際には正常な検出結果が出力される前であっても、センサ３に対する電源Vccの供給を停止させるようにしてもよい。
【００８６】
これにより、正常な検出結果が実際に出力されるようになるまで電源Vccを供給させ続ける場合に較べて、センサ３に電源Vccを供給する時間を短縮することができる。すなわち、センサ３の消費電力を抑えることができる。
【００８７】
図７は、湿度センサにより出力される湿度の遷移の例を示す図である。
【００８８】
図７の横軸は時刻（秒）を表し、縦軸は湿度（％）を表す。なお、図７の例においては１秒ごとに値が出力（計測）されている。
【００８９】
計測開始（電源の供給の開始）後、１秒から４秒までの時間は、５０％近傍の湿度の値が出力され続け、そこから８秒までの間は、出力を結ぶ線が一定の曲線をとるような値が出力されている。また、計測開始から８秒後以降は、ほぼ一定の値が出力されている。
【００９０】
ここで、計測開始から８秒後の湿度９５％近傍の値を正常な値とすると、電源の供給開始から５秒後、６秒後、７秒後にそれぞれ行われるサンプリング結果と、この湿度センサの特性から、８秒後に出力される正常な値が推測され、例えば、７秒後のサンプリングが終わったとき、湿度センサに対する電源Vccの供給が停止される。
【００９１】
これにより、８秒後まで電源を供給し続ける場合に較べて、１秒間の分だけ湿度センサの消費電力を抑えることができる。
【００９２】
当然、湿度センサ以外にも、温度センサなど、正常な検出結果を出力するまでの間に行われるサンプリングの結果から、その正常な検出結果の値を推測することができるような出力特性を有するセンサであれば、どのようなセンサに対してでも、このような電源の制御を適用することが可能である。
【００９３】
図８は、MCU１とセンサ３（正常な検出結果を出力するまでの間に行われるサンプリングの結果から、正常な検出結果の値を推測することができるような出力の特性を有するセンサ）の状態遷移の例を示す図である。
【００９４】
図８に示されるように、MCU１は間欠的な動作を行い、Run＃１，Sleep＃１，Run＃２，Sleep＃２，Run＃３，Sleep＃３，・・・と、その状態の遷移を行っている。
【００９５】
MCU１は、時刻ｔ11から開始されるRun＃１の状態のとき、センサ３の電源をOnとし、タイマをセットした後、時刻ｔ12において、MCU１の状態をSleep＃１の状態に遷移させる。MCU１の制御に応じて、センサ３も時刻ｔ11よりPower On状態になる。
【００９６】
時刻ｔ13で発生する割り込みによって開始されるRun＃２の状態のとき、MCU１は、センサ３の出力のサンプリングと、タイマのセットを行った後、時刻ｔ14において、Sleep＃２の状態に遷移させる。Run＃２の状態で行われたサンプリングにより取得された値は、まだ正常な値を表すものではない。正常な値ではないサンプリング結果はバッファに一時的に保存される。
【００９７】
時刻ｔ15で発生する割り込みによって開始されるRun＃３の状態のとき、MCU１は、センサ３の出力のサンプリングを行い、得られたサンプリング結果と、バッファに保存しておいたサンプリング結果、および、センサ３の特性に基づいて正常な検出結果の値を推測する。すなわち、図８の例においては、Run＃２の状態のときと、Run＃３の状態のときに行われた２回のサンプリング結果から、正常な検出結果の値が推測されている。
【００９８】
正常な検出結果の推測が終了したとき、MCU１は、センサ３の電源をOffとし、タイマのセットを行った後、時刻ｔ17において、MCU１の状態をSleep＃３の状態に遷移させる。一方、MCU１の制御に応じて、センサ３の動作も時刻ｔ16から停止される（Power Off状態になる）。
【００９９】
図９は、図８のようにしてMCU１とセンサ３の状態を遷移させた場合の効果について図である。
【０１００】
図９において、上段は、図２のセンサ３の状態の遷移を表し、下段は、図８のセンサ３の状態の遷移を表す。図９の横軸の時刻は、図２の時刻を基準としている。
【０１０１】
図９の上段に示されるように、図２の状態遷移によっては、時刻ｔ1から時刻ｔ4までセンサ３に電源Vccが供給されるのに対して、その下段に示されるように、図８の状態遷移によっては、時刻ｔ1から、時刻ｔ4より前の時刻ｔ16（図８）まで、センサ３に電源が供給される。
【０１０２】
すなわち、時刻ｔ16から時刻ｔ4までの時間の分だけ、センサ３に電源Vccが供給される時間が短縮される。なお、図９において、時刻ｔ1から時刻ｔ6までの時間は、図８の時刻ｔ11から時刻ｔ18までの時間に相当し、時刻ｔ1から時刻ｔ16までの時間は、図８の時刻ｔ11から時刻ｔ16までの時間に相当する。
【０１０３】
ところで、図８のように、それまでのサンプリング結果から正常な検出結果の値を推測し、センサ３に対する電源Vccの供給を停止する場合、センサ３の消費電力は抑えることができるものの、図２に示されるようにセンサ３が正常な値を出力するようになるまでSleep状態になる場合に較べて、MCU１の起動回数が多くなる（Run状態の時間が長くなる）。
【０１０４】
従って、図８の状態遷移は、センサ３に電源Vccが供給される時間が短くなることにより抑えることができる消費電力が、MCU１のRun状態の時間が長くなることにより増える消費電力より大きいものとなる、次の関係を満たす場合にのみ行われるようにしてもよい。
【０１０５】
（ａ−ｂ）＊ｃ≧ｄ＊ｅ
【０１０６】
ここで、「ａ」は、図２の状態遷移が行われる場合の、MCU１のRun状態のときの総消費電力である。すなわち、「ａ」は、図２のRun＃１の状態の時間（ｔ2−ｔ1）とRun＃２の状態の時間（ｔ5−ｔ3）を加算した時間に、MCU１のRun状態のときの消費電力を乗算した値である。
【０１０７】
「ｂ」は、図２の状態遷移が行われる場合の、MCU１のSleep状態のときの総消費電力である。すなわち、「ｂ」は、図２のSleep＃１の状態の時間（ｔ3−ｔ2）とSleep＃２の状態の時間（ｔ6−ｔ5）を加算した時間に、MCU１のSleep状態のときの消費電力を乗算した値である。
【０１０８】
「ｃ」は、図８の状態遷移が行われる場合に、図２の状態遷移が行われる場合と較べて長くなるMCU１のRun状態の時間である。すなわち、「ｃ」は、図８のRun＃１の状態の時間（ｔ12−ｔ11）、Run＃２の状態の時間（ｔ14−ｔ13）、Run＃３の状態の時間（ｔ17−ｔ15）を加算した時間から、図２のRun＃１の状態の時間（ｔ2−ｔ1）とRun＃２の状態の時間（ｔ5−ｔ3）を減算した値である。
【０１０９】
「ｄ」は、センサ３の消費電力である。
【０１１０】
「ｅ」は、図８の状態遷移が行われる場合に、図２の状態遷移が行われる場合と較べて短くなるセンサ３に対する電源Vccの供給時間である。すなわち、「ｅ」は、図９の時刻ｔ16から時刻ｔ4までの時間である。
【０１１１】
このような関係を満たす場合にのみ図８の状態遷移をMCU１とセンサ３に行わせることにより、確実に、装置全体の消費電力を抑えることができる。また、正常な検出結果の値を推測により取得させることができる。
【０１１２】
図１０は、MCU１の機能構成例を示す他のブロック図である。図３と同じ構成には同じ符号を付してある。重複する説明については適宜省略する。
【０１１３】
推測部３１は、サンプリング部２４から供給されてくるセンサ３の出力のサンプリング結果を取得し、それを図示せぬバッファに保存する。例えば、複数のサンプリング結果が取得されたとき、推測部３１は、取得したサンプリング結果と、センサ３の特性に基づいて正常な検出結果の値を推測する。正常な検出結果の値を推測できたとき、推測部３１は、そのことを表す信号を電源制御部２１に出力する。
【０１１４】
例えば、２回のサンプリング結果から正常な検出結果の値を推測する場合、第１回目、第２回目のサンプリングの時刻をそれぞれ時刻ｔ1、時刻ｔ2（ｔ2＞ｔ1）、第１回目、第２回目のサンプリングにより取得された値をそれぞれ値ｙ1、値ｙ2（ｙ2＞ｙ1）、正常な検出結果の値（推測値）を値ｙ、正常な検出結果が出力されるまでの時間を時間ｔ3、および、オフセットをｄとすると、推測値ｙは下式より求まる。
【０１１５】
ｙ＝（ｙ2−ｙ1）／（ｔ2−ｔ1）＊ｔ3＋ｄ
【０１１６】
同様に、センサ３の特性に応じて推測のアルゴリズムが定められ、推測部３１に用意される。
【０１１７】
なお、推測部３１が、１回のサンプリング結果とセンサ３の特性に基づいて正常な検出結果の値を推測することができる場合、当然、複数回のサンプリングをサンプリング部２４に行わせる必要はない。この場合、１回のサンプリングが行われた時点で、センサ３に対する電源Vccの供給が停止されるとともに、MCU１の状態がSleep状態に遷移する。
【０１１８】
次に、図１１のフローチャートを参照して、図８の状態遷移によりセンサ３に対する電源Vccの供給を制御するMCU１の処理について説明する。
【０１１９】
ステップＳ８１において、MCU１の状態管理部２３（図１０）は、電源制御部２１を制御し、センサ３に対する電源Vccの供給を開始させる。
【０１２０】
ステップＳ８２において、状態管理部２３は割り込みの時刻をセットし、ステップＳ８３に進み、MCU１の状態をSleep状態に遷移させる。これにより、MCU１の状態は、例えば、図８のRun＃１の状態を経て、Sleep＃１の状態になる。
【０１２１】
割り込みが発生し、Sleep状態に入る前の状態に復帰したとき、ステップＳ８４において、サンプリング部２４は、状態管理部２３からの制御に従ってセンサ３の出力のサンプリングを行う。サンプリング部２４によるサンプリングの結果は推測部３１に出力される。
【０１２２】
推測部３１は、ステップＳ８５において、サンプリング部２４から供給されてくるサンプリング結果を取得し、図示せぬバッファに保存させる。
【０１２３】
ステップＳ８６において、状態管理部２３は、割り込みの時刻をセットし、ステップＳ８７に進み、MCU１の状態をSleep状態に遷移させる。これにより、MCU１の状態は、例えば、図８のRun＃２の状態を経て、Sleep＃２の状態になる。
【０１２４】
ステップＳ８８乃至Ｓ９１の処理は、ステップＳ８４乃至Ｓ８７の処理と同様である。すなわち、ステップＳ８８においてサンプリング部２４によりセンサ３の出力のサンプリングが行われ、ステップＳ８９に進み、そのサンプリングの結果が推測部３１によりバッファに格納される。また、ステップＳ９０において、タイマがセットされ、ステップＳ９１に進み、MCU１の状態がSleep状態に遷移する。
【０１２５】
ステップＳ９２において行われるサンプリングの結果を含めて、正常な検出結果の値を推測することができるだけのサンプリング結果が得られるまで、ステップＳ８８乃至Ｓ９１の処理が繰り返される。
【０１２６】
ステップＳ９２において、サンプリング部２４は、状態管理部２３からの制御に従ってセンサ３の出力のサンプリングを行い、そのサンプリングの結果を推測部３１に供給する。
【０１２７】
推測部３１は、ステップＳ９３において、サンプリング部２４により行われたサンプリングの結果をバッファに格納させる。
【０１２８】
ステップＳ９４において、推測部３１は、バッファに格納しておいたサンプリング結果とセンサ３の特性から、正常な検出結果の値を推測し、推測ができたとき、そのことを表す信号を電源制御部２１に出力する。
【０１２９】
電源制御部２１は、ステップＳ９５において、FET２をOffにさせる信号をGPO端子１１から出力し、センサ３に対する電源Vccの供給を停止させる。
【０１３０】
ステップＳ９６において、状態管理部２３はタイマをセットし、ステップＳ９７に進み、MCU１の状態をSleep状態に遷移させる。これにより、MCU１の状態は、例えば、図８のRun＃３の状態を経て、Sleep＃３の状態になる。その後、割り込みが発生し、図６に示されるような割り込みハンドラを実行する処理が終了したとき、図１１のステップＳ８１以降の処理が繰り返される。
【０１３１】
以上のような処理により、センサ３に電源Vccが供給される時間を、より短縮させることが可能になる。
【０１３２】
図１２は、本発明を適用した情報処理装置の他の構成例を示すブロック図である。
【０１３３】
図１２のMCU１には、情報処理装置の位置を検出するセンサであるGPSモジュール５１とPHSモジュール５２、方向を検出するジャイロ（ジャイロコンパス）５３、加速度を検出する加速度センサ５４、湿度を検出する湿度センサ５５、照度を検出する照度センサ５６、紫外線の量を検出する紫外線センサ５７が接続されている。GPSモジュール５１乃至紫外線センサ５７のそれぞれを個々に区別する必要がない場合、適宜、まとめてセンサという。
【０１３４】
GPSモジュール５１乃至紫外線センサ５７のそれぞれには、それぞれのセンサに対する電源Vccの供給を制御する、図示せぬFETが接続されている。このFETのOn/OffがMCU１により切り替えられることによって、それぞれのセンサに対する電源Vccの供給が制御される。
【０１３５】
なお、図１２のMCU１は、基本的に、図１のMCU１と同様のものである。すなわち、GPO端子から出力する信号により、それぞれのセンサに接続されているFETのOn/Offを切り替えるとともに、それぞれのセンサから出力され、GPI端子に入力される信号から検出結果を取得する。
【０１３６】
このような構成を有する情報処理装置においては、情報処理装置のおかれている状況がGPSモジュール５１乃至紫外線センサ５７のうちの１つ以上のセンサからの出力に基づいてMCU１により検出され、検出された状況下では動作させる必要性が少ない他のセンサ（優先度が低いセンサ）に対する電源Vccの供給が停止される。
【０１３７】
例えば、消費電力が多いセンサが、優先度のより低いセンサとされ、それぞれのセンサに対する電源Vccの供給が制御される。
【０１３８】
これにより、消費電力が少ないセンサに対しては状況を検出するために比較的長い時間電源Vccが供給されるものの、消費電力が多いセンサに対しては、それを動作させることが必要である場合にのみ電源Vccが供給されることになり、結果として、装置全体としての消費電力を抑えることが可能になる。
【０１３９】
図１３は、ジャイロ５３、加速度センサ５４の出力に基づいて状況が検出され、ジャイロ５３と加速度センサ５４よりも消費電力の多いGPSモジュール５１に対する電源Vccの供給が制御される場合の状態遷移の例を示す図である。
【０１４０】
図１３の例においては、状況を検出するために用いられるジャイロ５３と加速度センサ５４に対しては、MCU１のRun/Sleepに併せて電源Vccが供給されている。従って、ジャイロ５３と加速度センサ５４からは、その状態がPower On状態のとき、それぞれ、向きと加速度を表す信号がMCU１に供給される。
【０１４１】
MCU１は、Run状態のときのサンプリングにより取得した向きと加速度に基づいて、情報処理装置を持っているユーザがある程度の速度で移動していると判断した場合にのみ、GPSモジュール５１に電源Vccを供給させる。
【０１４２】
すなわち、ここでは、検出される状況は、情報処理装置がある程度の速度で移動しているか否か、である。
【０１４３】
情報処理装置を持っているユーザが移動していない場合、GPSモジュール５１により検出される位置も変わらないことから、動作させる必要性は少ない。このようにしてGPSモジュール５１に対する電源Vccの供給を制御することにより、動作させる必要性が少ないときにもGPSモジュール５１に電源Vccを供給する場合に較べて、GPSモジュール５１の消費電力を抑えることができる。
【０１４４】
時刻ｔ21から開始されるRun＃１の状態において、MCU１は、ジャイロ５３と加速度センサ５４の出力のサンプリングを行い、情報処理装置を持っているユーザの移動速度を計算する。また、その計算結果に基づいて、例えば、ある閾値未満の速度でしか移動していないと判定した場合、MCU１は、GPSモジュール５１に対する電源Vccの供給を停止させる。
【０１４５】
これに応じて、それまで動作していたGPSモジュール５１は、例えば、時刻ｔ22でその動作を停止させる。
【０１４６】
MCU１は、GPSモジュール５１に対する電源Vccの供給を停止させた後、タイマをセットし、MCU１自身の状態を、時刻ｔ23からSleep＃１の状態に遷移させる。
【０１４７】
時刻ｔ24で発生する割り込みによって復帰したMCU１は、Run＃２の状態において、Run＃１の状態のときと同様に、ジャイロ５３と加速度センサ５４の出力のサンプリング結果に基づいて、情報処理装置を持っているユーザの移動速度を計算する。
【０１４８】
例えば、その計算結果に基づいて、ある閾値以上の速度で移動していると判定した場合、MCU１は、GPSモジュール５１に対する電源Vccの供給を開始させる。
【０１４９】
これに応じて、それまでPower Off状態にあったGPSモジュール５１は、例えば、時刻ｔ25で、その動作を再開させる。
【０１５０】
MCU１は、GPSモジュール５１に対する電源Vccの供給を開始させた後、GPSモジュール５１から出力される信号に基づく測位などを行い、適宜、タイマをセットし、MCU１自身の状態をSleep状態に遷移させる。
【０１５１】
ジャイロ５３と加速度センサ５４の消費電力はともに約１．２mW（合計約２．４mW）であるのに対して、GPSモジュール５１の消費電力は約４１３mWである。従って、図１３の状態遷移を行わせることにより、そのような１５０倍以上も電力を必要とするセンサの動作時間を短縮させ、情報処理装置の全体の消費電力を抑えることができる。
【０１５２】
図１４は、図１２のMCU１の機能構成例を示すブロック図である。図３、図１０と同じ構成には同じ符号を付してある。重複する説明については適宜省略する。
【０１５３】
電源制御部２１は、GPSモジュール５１乃至紫外線センサ５７のそれぞれに接続されているFETのOn/Offを切り替え、それぞれのセンサに対する電源Vccの供給を制御する。
【０１５４】
サンプリング部２４は、GPSモジュール５１乃至紫外線センサ５７のうちの動作しているセンサの出力のサンプリングを行い、サンプリング結果を必要に応じて状況検出部７１に出力する。
【０１５５】
状況検出部７１は、サンプリング部２４から供給される、例えばジャイロ５３と加速度センサ５４の出力のサンプリング結果に基づいて、情報処理装置がおかれている状況（移動の速度）を検出する。また、状況検出部７１は、検出した状況に応じて、それぞれのセンサに対する電源Vccの供給を電源制御部２１により制御させる。
【０１５６】
次に、図１５のフローチャートを参照して、ジャイロ５３と加速度センサ５４からの出力に基づいて状況を検出し、検出した状況下では優先度の低いセンサとなるGPSモジュール５１に対する電源Vccの供給を制御するMCU１の処理について説明する。
【０１５７】
ステップＳ１１１において、MCU１のサンプリング部２４（図１４）は、ジャイロ５３と加速度センサ５４の出力のサンプリングを行い、サンプリング結果を状況検出部７１に出力する。
【０１５８】
状況検出部７１は、ステップＳ１１２において、サンプリング部２４から供給されてきたサンプリング結果に基づいて情報処理装置の移動速度（速さ、向き）を計算し、ステップＳ１１３に進み、ほとんど動いていないか否か、すなわち、計算した速度が予め定められた閾値未満であるか否かを判定する。
【０１５９】
ステップＳ１１３において、情報処理装置がほとんど移動していないと判定した場合、状況検出部７１は、そのことを表す信号を電源制御部２１に出力し、ステップＳ１１４に進む。
【０１６０】
電源制御部２１は、ステップＳ１１４において、制御対象のセンサであるGPSモジュール５１に対する電源Vccの供給を停止させる。その後、ステップＳ１１６以降の処理が行われる。これにより、ほとんど動いていない状況下では優先度が低いセンサとなるGPSモジュール５１の動作が停止される。
【０１６１】
一方、ステップＳ１１３において、情報処理装置が閾値以上の速度で移動していると判定した場合、状況検出部７１は、そのことを表す信号を状態管理部２３に出力し、ステップＳ１１５に進む。
【０１６２】
ステップＳ１１５において、状態管理部２３は、フラグがクリアであるか否かを判定し、フラグがクリアではない（GPSモジュール５１の電源がOnであり、フラグがセットである）と判定した場合、ステップＳ１１６に進む。
【０１６３】
ステップＳ１１６において、状態管理部２３はフラグをクリアとし、ステップＳ１１７に進み、タイマをセットする。
【０１６４】
タイマをセットした後、状態管理部２３は、ステップＳ１１８に進み、MCU１自身の状態をSleep状態に遷移させる。割り込みが発生し、割り込みハンドラを実行する図６の処理が行われた後、ステップＳ１１１以降の処理が繰り返される。
【０１６５】
ステップＳ１１５において、状態管理部２３は、フラグがクリアである（GPSモジュール５１の電源がOffである）と判定した場合、ステップＳ１１９に進み、電源制御部２１を制御して、GPSモジュール５１に対する電源Vccの供給を開始させる。
【０１６６】
すなわち、閾値以上の速度で情報処理装置が動いており、かつ、GPSモジュール５１に電源Vccが供給されていない場合、ここで、電源Vccの供給が開始される。ある程度の速度で動いている状況下においては、GPSモジュール５１は優先度が高いセンサとなる。
【０１６７】
ステップＳ１２０において、状態管理部２３はフラグをセットとし、ステップＳ１２１に進み、タイマをセットする。タイマをセットした後、ステップＳ１１８に進み、状態管理部２３は、MCU１自身の状態をSleep状態に遷移させる。
【０１６８】
以上のような処理により、ある程度の速度で情報処理装置が移動している場合にのみ、GPSモジュール５１に対して電源Vccが供給されることになる。
【０１６９】
例えば、GPSモジュール５１の測位の精度が２０ｍであるとすると、測位の周期の間の情報処理装置の移動距離（ジャイロ５３と加速度センサ５４の出力より求まる速度とGPSモジュール５１の測位の周期を乗算した値）が、その２０ｍを越えない場合には、GPSモジュール５１に対して電源Vccが供給されず、２０ｍを越える場合に初めてGPSモジュール５１に対して電源Vccが供給される。
【０１７０】
すなわち、情報処理装置のおかれている状況によって、動作させるセンサが変わるだけでなく、サンプリング周期も変わることになる。例えば、情報処理装置を持っているユーザが車で移動している場合、徒歩で移動しているときよりも、GPSモジュール５１の出力のサンプリング（測位）は短い周期で行われることになる。
【０１７１】
このように、センサの出力のサンプリング周期を状況に応じて変えることによって、MCU１の消費電力を抑えることが可能になる。
【０１７２】
以上においては、ジャイロ５３と加速度センサ５４からの出力に基づいて状況が検出され、GPSモジュール５１に対する電源Vccの供給が制御されるとしたが、それ以外にも、他のセンサからの出力に基づいて状況が検出され、その、他のセンサ以外のセンサに対する電源Vccの供給が制御されるようにすることも可能である。
【０１７３】
例えば、照度センサ５６と紫外線センサ５７からの出力に基づいて、情報処理装置が屋内にあるのか屋外にあるのかが検出され、屋外にあることが検出された場合にのみ、GPSモジュール５１に対して電源Vccが供給されるようにしてもよい。
【０１７４】
情報処理装置が屋内にある場合には、GPSモジュール５１によって正確な測位ができないことが多いことから、GPSモジュール５１に対する電源Vccの供給を停止させることで、情報処理装置全体の消費電力を抑えることができる。この場合、照度センサ５６と紫外線センサ５７が動作することになるが、そのいずれの消費電力も、GPSモジュール５１の消費電力より大幅に少ない。
【０１７５】
次に、図１６のフローチャートを参照して、照度センサ５６と紫外線センサ５７からの出力に基づいて状況を検出し、その検出結果によってGPSモジュール５１に対する電源Vccの供給を制御するMCU１の処理について説明する。
【０１７６】
ステップＳ１３１において、MCU１のサンプリング部２４は、照度センサ５６からの出力のサンプリングを行い、サンプリング結果を状況検出部７１に出力する。
【０１７７】
状況検出部７１は、ステップＳ１３２において、サンプリング部２４から供給されてきたサンプリング結果に基づいて照度を計算し、ステップＳ１３３に進み、明るいか否か、すなわち、計算した照度が予め定められた閾値以上であるか否かを判定する。
【０１７８】
ステップＳ１３３において、状況検出部７１は、閾値の明るさより暗いところに情報処理装置がおかれていると判定した場合、そのことを表す信号を電源制御部２１に出力し、ステップＳ１３４に進む。
【０１７９】
ステップＳ１３４において、電源制御部２１は、紫外線センサ５７に電源Vccが供給されている場合には、それを停止させる。
【０１８０】
照度が比較的少ないときには、情報処理装置が屋内にある可能性が高く、紫外線の量を検出する必要性が少ないことが多い。従って、このような状況下では、紫外線センサ５７の優先度は低いものとなり、その動作を停止させることで消費電力が抑えられる。
【０１８１】
その後、処理はステップＳ１３１に戻り、それ以降の処理が繰り返される。
【０１８２】
一方、状況検出部７１は、ステップＳ１３３において、閾値より明るいところに情報処理装置がおかれていると判定した場合、そのことを表す信号を電源制御部２１に出力し、ステップＳ１３５に進む。
【０１８３】
ステップＳ１３５において、電源制御部２１は、紫外線センサ５７に電源Vccが供給されていない場合には、それを開始させる。紫外線センサ５７からは、検出された紫外線の量を表す信号が供給されてくる。
【０１８４】
サンプリング部２４は、ステップＳ１３６において、紫外線センサ５７の出力のサンプリングを行い、サンプリング結果を状況検出部７１に出力する。
【０１８５】
状況検出部７１は、ステップＳ１３７において、サンプリング部２４から供給されてきたサンプリング結果に基づいて紫外線の量を計算し、ステップＳ１３８に進み、紫外線の量が閾値以上であるか否かを判定する。
【０１８６】
ステップＳ１３８において、状況検出部７１は、紫外線の量が閾値以上であると判定した場合、情報処理装置が屋外に持ち出されている可能性が高いと認識し、そのことを表す信号を電源制御部２１に出力する。
【０１８７】
電源制御部２１は、ステップＳ１３９において、状況検出部７１から信号が供給されてくることに応じて、GPSモジュール５１の間欠動作を開始させ、測位を行う。屋外に持ち出されている可能性が高い場合、GPSモジュール５１は、優先度の高いセンサとなり、その動作が開始される。
【０１８８】
後述するように、ここでのGPSモジュール５１による測位も、消費電力を抑えつつ行われるものであるようにすることができる。GPSモジュール５１の間欠動作については図１７を参照して後述する。
【０１８９】
GPSモジュール５１の間欠動作が開始された後、処理はステップＳ１３１に戻り、それ以降の処理が繰り返される。
【０１９０】
一方、ステップＳ１３８において、状況検出部７１は、紫外線の量が閾値未満であると判定した場合、情報処理装置が屋内にある可能性が高いと認識し、そのことを表す信号を電源制御部２１に出力する。
【０１９１】
電源制御部２１は、ステップＳ１４０において、GPSモジュール５１に電源Vccが供給されている場合には、それを停止させ、ステップＳ１３１以降の処理を繰り返す。
【０１９２】
なお、屋内にあることが検出された場合、GPSモジュール５１と排他的に測位デバイスとして用いられるPHSモジュール５２が動作され、PHSモジュール５２による測位が行われるようにしてもよい。PHSモジュール５２は、それが屋内にある場合でも測位が可能なセンサであり、屋外にある場合にはGPSモジュール５１により測位が行われ、屋内にある場合にはPHSモジュール５２により測位が行われるようにすることで、どの状況下でも測位を行わせることが可能になる。
【０１９３】
図１７は、図１６のステップＳ１３９において行われるGPSモジュール５１の間欠動作の例を示す図である。
【０１９４】
MCU１は、時刻ｔ31において、前回の測位の結果を用いずに今回の測位を開始するコールドスタートを行い、GPSモジュール５１からの出力に測位bitが含まれていることを検出した時刻ｔ32にSleep状態に遷移する。この測位bitは、GPSモジュール５１が衛星を捕捉したときに出力されるものである。
【０１９５】
図１７においては、衛星を捕捉できない時間が１５分間程度続いた場合にはタイムアウト（衛星の探索の終了）するものとされている。
【０１９６】
また、Sleep状態に遷移する前には、タイマのセットの他に、GPSモジュール５１に対する電源Vccの供給を停止させること、および、GPSモジュール５１により捕捉された衛星の情報を保存しておくこともMCU１により行われる。GPSモジュール５１は、MCU１による制御に応じてPower Off状態に入る。
【０１９７】
衛星を１度捕捉し、その情報を保存している場合、MCU１は、次の測位の開始時には、保存している衛星の情報などにも基づいて測位を開始するウォームスタート、ホットスタートが可能である。従って、MCU１は、ウォームスタート、ホットスタートを行うことが可能な時間が経過する前に捕捉を開始させるような周期でGPSモジュール５１を間欠動作させる。
【０１９８】
図１７の例においては、GPSモジュール５１が５分間の周期で間欠動作するようになされている。この５分間は、ウォームスタート、ホットスタートを行うことが可能な時間である。
【０１９９】
ウォームスタート、ホットスタートの場合、コールドスタートの場合と較べて早いタイミングで測位を行うことが可能であり、MCU１は、Sleep状態に入ってから５分経過後の時刻ｔ33に発生する割り込みにより復帰し、GPSモジュール５１に電源Vccを供給させる。また、MCU１は、GPSモジュール５１からの出力に基づいて例えば１秒から２秒の間で測位を行う。
【０２００】
測位が終了した後、タイマのセット、GPSモジュール５１に対する電源Vccの供給の停止などを行った後、MCU１は、ウォームスタート、ホットスタートが可能な時間だけSleep状態に入る。GPSモジュール５１も、MCU１による制御に応じてPower Off状態に入る。
【０２０１】
このような動作が繰り返され、時刻ｔ35から時刻ｔ36の間、時刻ｔ37から時刻ｔ38の間、MCU１とGPSモジュール５１により間欠的な動作が行われる。時刻ｔ39になったとき、時刻ｔ33からの動作と同様の動作が繰り返される。
【０２０２】
このような状態遷移により、MCU１とGPSモジュール５１の動作時間を短縮させることができ、かつ、Sleep状態からのMCU１の復帰は、ウォームスタート、ホットスタートが可能な時間が経過する前に行われるため、復帰してからの迅速な測位も可能になる。
【０２０３】
次に、図１８のフローチャートを参照して、情報処理装置のおかれている状況を検出し、検出結果に基づいて他のセンサに対する電源Vccの供給を制御するMCU１の他の処理について説明する。
【０２０４】
図１８の処理においては、図１６の処理と同様に、照度センサ５６、紫外線センサ５７の出力に基づいて状況が検出されるだけでなく、湿度センサ５５の出力にも基づいて状況が検出されるようになされている。
【０２０５】
湿度が大きく変化した場合、ある部屋の中から部屋の外へ、部屋の外から部屋の中へ、または、ある部屋から違う部屋へ、などのように、情報処理装置を持っているユーザが移動している可能性が高い。
【０２０６】
従って、そのような大きな湿度の変化が検出された場合、GPSモジュール５１による測位が可能であるか否かの確認が１度行われるようにすることで、測位が可能であるにも関わらず、それが行われないといったことを防止することができる。
【０２０７】
タイマにより周期的に起動し、ステップＳ１５１において、図１４のサンプリング部２４は、湿度センサ５５の出力のサンプリングを行い、サンプリング結果を状況検出部７１に出力する。
【０２０８】
状況検出部７１は、ステップＳ１５２において、サンプリング部２４から供給されてきたサンプリング結果に基づいて湿度を計算し、ステップＳ１５３に進み、例えば、前回の湿度のサンプリング時と較べて、閾値の幅よりも湿度が大きく変化したか否かを判定する。
【０２０９】
ステップＳ１５３において、状況検出部７１は、湿度が大きく変化したと判定した場合、そのことを表す信号を電源制御部２１に出力し、ステップＳ１５４に進む。
【０２１０】
ステップＳ１５４において、電源制御部２１は、GPSモジュール５１に電源Vccが供給されていない場合には、それを開始させる。すなわち、湿度が大きく変化したことが検出された場合、GPSモジュール５１は、優先度の高いセンサとなる。
【０２１１】
サンプリング部２４は、GPSモジュール５１の出力に基づいて測位を行う。その後、後述するステップＳ１６３の処理に進む。
【０２１２】
一方、ステップＳ１５３において、湿度が大きく変化していないと判定した場合、状況検出部７１は、そのことを表す信号を電源制御部２１に出力し、ステップＳ１５５に進む。
【０２１３】
ステップＳ１５５において、サンプリング部２４は、照度センサ５６の出力のサンプリングを行い、サンプリング結果を状況検出部７１に出力する。
【０２１４】
状況検出部７１は、ステップＳ１５６において、サンプリング部２４から供給されてきたサンプリング結果に基づいて照度を計算し、ステップＳ１５７に進み、明るいか否か、すなわち、計算した照度が予め定められた閾値以上であるか否かを判定する。ステップＳ１５７において、計算した照度が予め定められた閾値以上ではないと判定された場合、処理はステップＳ１６３に進む。
【０２１５】
状況検出部７１は、ステップＳ１５７において、閾値より明るいところに情報処理装置がおかれていると判定した場合、そのことを表す信号を電源制御部２１に出力し、ステップＳ１５８に進む。
【０２１６】
ステップＳ１５８において、電源制御部２１は、紫外線センサ５７に電源Vccが供給されていない場合には、それを開始させる。これにより、紫外線センサ５７により検出された紫外線の量を表す信号がMCU１に対して供給されてくる。
【０２１７】
サンプリング部２４は、ステップＳ１５９において、紫外線センサ５７の出力のサンプリングを行い、サンプリング結果を状況検出部７１に出力する。
【０２１８】
状況検出部７１は、ステップＳ１６０において、サンプリング部２４から供給されてきたサンプリング結果に基づいて紫外線の量を計算し、計算が終了したとき、ステップＳ１６１に進み、電源制御部２１により、紫外線センサ５７に対する電源Vccの供給を停止させる。
【０２１９】
ステップＳ１６２において、状況検出部７１は、紫外線の量が閾値より多いか否かを判定し、閾値より多いと判定した場合、情報処理装置が屋外にある可能性が高いと認識し、そのことを表す信号を電源制御部２１に出力する。
【０２２０】
ステップＳ１６２において紫外線の量が閾値より多いと判定された場合の他に、ステップＳ１５４において測位が行われた場合、および、ステップＳ１５９において閾値より明るいところに情報処理装置がおかれていないと判定された場合、電源制御部２１は、ステップＳ１６３において、GPSモジュール５１の間欠動作（例えば図１７の動作）を開始させる。
【０２２１】
その後、状態管理部２３は、タイマの設定などを行い、ステップＳ１６４においてSleep状態に入り、ステップＳ１５１以降の処理を繰り返す。
【０２２２】
一方、ステップＳ１６２において紫外線の量が閾値より少ないと判定した場合、状況検出部７１は、情報処理装置が屋内にある可能性が高いと認識し、そのことを表す信号を電源制御部２１に出力する。
【０２２３】
電源制御部２１は、ステップＳ１６５において、GPSモジュール５１に電源Vccが供給されている場合には、それを停止させ、ステップＳ１６４に進み、Sleep状態に入る。
【０２２４】
以上の処理により、比較的大きな湿度の変化が検出された場合、GPSモジュール５１による測位が１度行われ、測位が行われた後には、図１７を参照して説明したような間欠動作による測位が行われる。これにより、消費電力を抑えつつ、状況が変化した場合（移動が生じた場合）には、GPSモジュール５１による測位を確実に行うことが可能になる。
【０２２５】
図１７に示されるような間欠動作においては、１度Sleep状態に入った場合には、例えば、その５分後まで、次の測位が行われないことになるが、このように、移動が生じた場合には、測位を１度行わせるようにすることで、情報処理装置を持っているユーザが移動したにも関わらず、測位が行われないといったことを防止することができる。
【０２２６】
なお、情報処理装置を持っているユーザの移動は、上述したように、ジャイロ５３や加速度センサ５４の出力にも基づいて検出することが可能であるが、一般的に、湿度センサ５５の方が、ジャイロ５３や加速度センサ５４よりも消費電力が少ない（ジャイロ５３と加速度センサ５４の消費電力はともに約１．２mWであるのに対し、湿度センサ５５の消費電力は約０．７mWである）。
【０２２７】
このように、同じ物理量の検出を行う場合であっても、消費電力のなるべく少ないセンサが用いられるように、MCU１により優先度が設定され、動作させるセンサが選択されるようにしてもよい。
【０２２８】
以上においては、例えば、センサとともにMCU１を間欠動作させるとしたが、MCU１が、外部のRAMにプログラムを展開し、RAMなどが内蔵された１チップのユニットに較べて、そのプログラムを高速に実行することができるような高性能なユニットである場合、MCU１のクロックの速度と、RAMのクロックの速度が異なり、双方のクロックを安定させるまでに時間が掛かることなどから、Run状態とSleep状態の切り替えを高速に行わせることができない。
【０２２９】
また、そのような高性能なMCU１は、RAMなどが内蔵された１チップのユニットに較べて消費電力が多いため、高性能なMCU１をセンサとともに間欠動作させ、サンプリングを行うためだけにSleep状態から起動させることは、省電力化という観点からは好ましくない。
【０２３０】
従って、センサの出力のサンプリングを行う例えば１チップのユニットを、高性能なMCUとは別に情報処理装置に用意するようにしてもよい。
【０２３１】
図１９は、本発明を適用した情報処理装置のさらに他の構成例を示すブロック図である。
【０２３２】
図１９の情報処理装置には、Main MCU８１とSub MCU８２が設けられている。
【０２３３】
Main MCU８１は、外部に設けられているROMに記憶されているプログラムを外部のRAMに展開し、それを実行する。また、Main MCU８１は、センサ３の出力のサンプリング結果を所定のタイミングでSub MCU８２から取得し、サンプリング結果を用いて所定の処理を行う。
【０２３４】
Sub MCU８２は、例えば、RAMなどが内蔵された１チップのユニットである。Sub MCU８２は、Main MCU８１に較べてRun状態とSleep状態の切り替えを高速に行うことができるとともに、その消費電力も少ない。Sub MCU８２は、基本的に、図１のMCU１と同様の機能を有している。
【０２３５】
すなわち、Sub MCU８２は、センサ３とともに間欠動作を行い、GPO端子９１から出力する信号によりFET２のOn／Offを切り替えることでセンサ３に対する電源Vccの供給を制御するとともに、センサ３からGPI端子１２に供給される信号のサンプリングを行う。
【０２３６】
Sub MCU８２によるサンプリングの結果はバッファ９３に保存され、繰り返し行われるサンプリングにより、所定の量のサンプリング結果が格納されたとき、格納されているサンプリング結果が、バスを介してSub MCU８２からMain MCU８１にまとめて供給される。
【０２３７】
これにより、Main MCU８１は、センサ３の出力のサンプリングを行う毎にSleep状態から復帰する必要はなく、Sub MCU８２から供給される、ある程度の量のまとまったサンプリング結果を取得する場合にのみ復帰すればよいことになる。Main MCU８１は、消費電力がSub MCU８２より多く、そのような消費電力の多いユニットの動作時間を短縮させることで、装置全体としての消費電力を抑えることができる。
【０２３８】
なお、Sub MCU８２に接続されるセンサは、１つのセンサ３に限られるものではなく、図１２に示されるように複数のセンサが接続されるようにしてもよい。複数のセンサが接続される場合、Sub MCU８２は、あるセンサの出力に基づいて情報処理装置のおかれている状況を検出し、その検出結果に基づいて他のセンサの動作を制御する、上述したような処理を行う。
【０２３９】
ここで、図２０乃至図２２のフローチャートを参照して、図１９のSub MCU８２の処理について説明する。この例においては、図１２に示されるような複数のセンサがSub MCU８２に接続されているものとする。また、Sub MCU８２は、図１４の各構成を有しているものとする。
【０２４０】
ステップＳ２０１において、Sub MCU８２の状況検出部７１（図１４）は、サンプリング部２４から供給される、湿度センサ５５の出力のサンプリング結果を監視する。
【０２４１】
状況検出部７１は、ステップＳ２０２において、閾値の幅よりも湿度が大きく変化したか否かを判定し、大きく変化したと判定した場合、ステップＳ２０３に進み、空間の移動を検知したことを、バスを介してMain MCU８１に通知する。Main MCU８１は、Sub MCU８２からの通知を受け取ることのできる最小限の動作だけは常に行っている。
【０２４２】
湿度が大きく変化した場合、その変化の前後で、部屋の移動などの、情報処理装置がおかれている空間の移動が生じた可能性が高い。従って、移動が検出されることに応じて所定の処理を行う必要がある場合、Main MCU８１は、Sleep状態から復帰し、その処理を行う。
【０２４３】
湿度が大きく変化したと判定した場合、状況検出部７１は、そのことを表す信号を電源制御部２１に出力し、電源Vccが供給されていない場合には、照度センサ５６に対する電源Vccの供給を開始させる。
【０２４４】
ステップＳ２０４において、状況検出部７１は、サンプリング部２４から供給されてくる、照度センサ５６の出力のサンプリング結果を監視し、ステップＳ２０５に進み、予め定められた閾値ａ以上の照度であるか否かを判定する。
【０２４５】
状況検出部７１は、ステップＳ２０５において、閾値ａ以上の照度であると判定した場合、そのことを表す信号を電源制御部２１に出力し、電源Vccが供給されていない場合には、紫外線センサ５７に対する電源Vccの供給を開始させる。
【０２４６】
ステップＳ２０６において、状況検出部７１は、サンプリング部２４から供給されてくる、紫外線センサ５７の出力のサンプリング結果を監視し、ステップＳ２０７に進み、紫外線の量が、予め定められた閾値以上であるか否かを判定する。
【０２４７】
状況検出部７１は、ステップＳ２０７において、紫外線の量が閾値以上であると判定した場合、ステップＳ２０８に進み、情報処理装置が屋外に持ち出されている可能性が高いことをMain MCU８１に通知する。
【０２４８】
屋外に持ち出されていることに応じて所定の処理を行う必要がある場合、Main MCU８１はSleep状態から復帰し、その処理を行う。
【０２４９】
ステップＳ２０９において、状況検出部７１は、情報処理装置の位置を測定するデバイスとしてGPSモジュール５１を選択し、そのことを表す信号を電源制御部２１に出力することで、電源Vccが供給されていない場合にはGPSモジュール５１に対する電源Vccの供給を開始させる。
【０２５０】
サンプリング部２４は、ステップＳ２１０において、GPSモジュール５１の出力のサンプリング（測位）を行い、ステップＳ２１１に進み、測位結果を表すデータをバッファ９３（図１９）に格納する。情報処理装置が屋外に持ち出されている場合、図２０の処理が繰り返されることで、測位結果の履歴を表すデータがバッファ９３に格納されることになる。
【０２５１】
ステップＳ２１２において、サンプリング部２４は、バッファ９３にある程度のデータ（サンプリング結果）が貯まったか否かを判定し、ある程度のデータが貯まっていないと判定した場合、処理を終了させる。その後、所定の周期で図２０の処理が繰り返される。
【０２５２】
サンプリング部２４は、ステップＳ２１２において、バッファ９３にある程度のデータが貯まったと判定した場合、ステップＳ２１３に進み、Main MCU８１に対して、バッファ９３に格納されているデータの取得を要求して処理を終了させる。この要求に応じて、Main MCU８１はSleep状態から復帰し、バッファ９３に格納されているデータをバスを介して取得する（図２４のステップＳ２３４）。
【０２５３】
一方、ステップＳ２０２において、状況検出部７１は、閾値の幅よりも湿度が大きく変化していないと判定した場合、ステップＳ２１４（図２１）に進む。状況検出部７１は、電源Vccが供給されていない場合、電源制御部２１を制御し、ジャイロ５３と加速度センサ５４に対する電源Vccの供給を開始させる。
【０２５４】
ステップＳ２１４において、状況検出部７１は、サンプリング部２４から供給されてくる、ジャイロ５３と加速度センサ５４の出力のサンプリング結果から求められる速度を監視し、ステップＳ２１５に進み、速度が、予め定められた閾値以上であるか否かを判定する。
【０２５５】
ステップＳ２１５において、予め定められた閾値以上の速度ではないと判定した場合、状況検出部７１は、ステップＳ２１６，Ｓ２１７の処理をスキップし、処理を終了させる。
【０２５６】
また、ステップＳ２１５において、予め定められた閾値以上の速度であると判定した場合、状況検出部７１は、ステップＳ２１６に進み、Main MCU８１がアクティブであるか否か（Sleep状態にないか否か）を判定する。
【０２５７】
状況検出部７１は、ステップＳ２１６において、Main MCU８１がアクティブであると判定した場合、ステップＳ２１７に進み、ジャイロ５３と加速度センサ５４の出力から得られた速度をMain MCU８１に通知する。その後、処理は終了される。
【０２５８】
また、状況検出部７１は、ステップＳ２１６において、Main MCU８１がアクティブではないと判定した場合、ステップＳ２１１に進み、速度を表すデータをバッファ９３に格納し、それ以降の処理を行う。
【０２５９】
このように、サンプリング結果が得られたときに、Main MCU８１がアクティブであるか否かが判定され、アクティブであると判定された場合には、そのサンプリング結果がすぐに通知されるようにすることで、サンプリング結果に対して応答性の高い処理をMain MCU８１に行わせることができる。
【０２６０】
一方、ステップＳ２０５（図２０）において、状況検出部７１は、照度の監視の結果、検出された照度が閾値ａ以上ではないと判定した場合、ステップＳ２１８（図２２）に進む。
【０２６１】
ステップＳ２１８において、検出された照度が閾値ａ未満かつ閾値ｂ以上（閾値ａとｂの関係はａ＞ｂ）であるか否かを判定し、閾値ａ未満かつ閾値ｂ以上であると判定した場合、ステップＳ２１９に進み、サンプリング部２４に、照度の高速なサンプリングを行わせる。
【０２６２】
高速なサンプリングにより得られた照度（時間軸上）を周波数軸上に変換し、感度の最も高い周波数がどの帯域にあるのかを検出することによって、状況検出部７１は、情報処理装置がおかれている状況が、太陽光下であるのか蛍光灯下であるのかを判断することができる。
【０２６３】
ステップＳ２２０において、状況検出部７１は、感度の最も高い周波数が１００Hzであるか、または１２０Hzであるか否かを判定する。
【０２６４】
蛍光灯などの照明器具は、家庭用の交流電源周波数（５０／６０Hz）の２倍の周波数で点滅することから、感度の最も高い周波数が１００Hzまたは１２０Hzであることは、光源が蛍光灯であること、すなわち、情報処理装置が屋内におかれていることを表す。また、感度の最も高い周波数がそれ以外の周波数である場合、それは、光源が太陽であること、すなわち、情報処理装置が屋外に持ち出されていることを表す。
【０２６５】
従って、ステップＳ２２０において、状況検出部７１は、感度の最も高い周波数が１００Hzおよび１２０Hzではないと判定した場合、ステップＳ２０８に進み、情報処理装置が屋外に持ち出されていることをMain MCU８１に通知した後、それ以降の処理を行う。
【０２６６】
一方、ステップＳ２２０において、状況検出部７１は、感度の最も高い周波数が１００Hzまたは１２０Hzであると判定した場合、ステップＳ２２１に進み、情報処理装置が屋内にあることをMain MCU８１に通知する。図２０のステップＳ２０７において紫外線の量が閾値未満であると判定された場合も、ステップＳ２２１において、Main MCU８１に対する通知が行われる。
【０２６７】
なお、ステップＳ２１９において行われる照度の高速なサンプリングは、それが比較的長時間に渡って行われる場合、図２３に示されるように間欠的に行われるようにしてもよい。
【０２６８】
図２３の例において、時刻ｔ51から時刻ｔ53までの時間は１０秒間である。この場合、Sub MCU８２は、例えば、そのうちの時刻ｔ51から時刻ｔ52までの１秒間だけ２４０Hzでの高速なサンプリングを行い、情報処理装置が屋内にあるのか、屋外にあるのかを判定する。
【０２６９】
また、Sub MCU８２は、Sub MCU８２自身のRun状態、Sleep状態の切り替えに併せて照度センサ５６の電源VccのOn/Offを切り替え、時刻ｔ52以降、Sleep状態に入る。
【０２７０】
光源はそれほど急に変化するものではないため、このような間欠的なサンプリングによっても状況の変化を検出することは可能である。また、高速なサンプリングを行っている間は、Sub MCU８２の処理負担が増加し、消費する電力も多くなることから、その時間はできるだけ短いことが好ましい。
【０２７１】
図２２の説明に戻り、情報処理装置が屋内にあることをMain MCU８１に通知した後、ステップＳ２２２において、状況検出部７１は、情報処理装置の位置を測定するデバイスとしてPHSモジュール５２を選択し、電源制御部２１を制御して、電源Vccが供給されていない場合にはPHSモジュール５２に対する電源Vccの供給を開始させる。また、状況検出部７１は、GPSモジュール５１に電源Vccが供給されている場合、それを停止させる。
【０２７２】
サンプリング部２４は、ステップＳ２２３において、PHSモジュール５２の出力のサンプリング（測位）を行い、ステップＳ２１１に進み、測位結果をバッファ９３に格納し、それ以降の処理を行う。
【０２７３】
このように、情報処理装置が屋内にある場合には測位デバイスとしてPHSモジュール５２を使用し、屋外にある場合にはGPSモジュール５１を使用するように、そのときの状況に応じてセンサを使い分けることで、正確な測位が可能になる。
【０２７４】
一方、ステップＳ２１８において、検出された照度が閾値ｂ未満であると判定した場合、ステップＳ２２４に進み、状況検出部７１は、サンプリング部２４から供給されてくる、湿度センサ５５の出力のサンプリング結果を監視する。
【０２７５】
状況検出部７１は、ステップＳ２２５において、閾値の幅よりも湿度が大きく変化したか否かを判定する。状況検出部７１は、ステップＳ２２５において、湿度が大きく変化したと判定した場合、ステップＳ２２６に進み、電源制御部２１を制御してGPSモジュール５１に電源Vccを供給させ、GPSモジュール５１を用いた測位を行わせる。
【０２７６】
ステップＳ２２７において、状況検出部７１は、サンプリング部２４の出力に基づいて、タイムアウトしたか否か、すなわち、GPSモジュール５１に衛星を捕捉させることができなかったか否かを判定する。
【０２７７】
状況検出部７１は、ステップＳ２２７において、タイムアウトしたと判定した場合、ステップＳ２２１に進み、情報処理装置が屋内にあることをMain MCU８１に通知し、反対に、タイムアウトしなかった、すなわち、衛星を捕捉させることができたと判定した場合、ステップＳ２０８（図２０）に進み、情報処理装置が屋外に持ち出されていることをMain MCU８１に通知する。その後、ステップＳ２２１以降の処理、またはステップＳ２０９以降の処理がそれぞれ行われる。
【０２７８】
次に、図２４のフローチャートを参照して、図２０乃至図２２の処理に対応してMain MCU８１により行われる処理について説明する。
【０２７９】
ステップＳ２３１において、Sleep状態にあるMain MCU８１は、Sub MCU８２からの通知（例えば、図２０のステップＳ２０３，Ｓ２０８の通知、ステップＳ２１３の要求）があったとき、それを受信する。
【０２８０】
Main MCU８１は、ステップＳ２３２において、受信した通知がサンプリング結果を取得することの要求（図２０のステップＳ２１３の要求）であるか否かを判定し、その通知ではないと判定した場合、処理を終了させる。
【０２８１】
一方、Main MCU８１は、ステップＳ２３２において、受信した通知がサンプリング結果を取得することの要求であると判定した場合、ステップＳ２３３に進み、Sleep状態から復帰する。
【０２８２】
Sleep状態から復帰した後、ステップＳ２３４において、Main MCU８１は、Sub MCU８２のバッファ９３に格納されているサンプリング結果を表すデータをバスを介して取得し、サンプリング結果に基づく所定の処理を行う。
【０２８３】
以上のように、センサの出力のサンプリングを消費電力の少ないSub MCU８２に行わせ、情報処理装置がおかれている状況に基づいてセンサに対する電源Vccの供給を制御させるとともに、ある程度の量のサンプリング結果をまとめてMain MCU８１に提供させることで、状況に応じたセンサの動作と、消費電力の多いMain MCU８１の動作時間を短縮させることが可能となり、装置全体の消費電力を抑えることができる。
【０２８４】
なお、Main MCU８１とSub MCU８２が１つの情報処理装置に用意される図１９の構成は、例えば、サンプリング周期が短いセンサがセンサ３として用意される場合にのみ用いるようにしてもよい。サンプリング周期が長いセンサがセンサ３として用意されている場合、Main MCU８１によっても、サンプリング周期に併せた状態遷移が可能である。
【０２８５】
以上においては、情報処理装置が屋内にある場合にはPHSモジュール５２を測位デバイスとして使用するとしたが、PHSモジュール５２による測位は、例えば、PHSモジュール５２が受信している電波を送信する基地局の情報に基づいて行われるものであり、その精度はGPSモジュール５１による測位の精度より悪く、４００ｍ程になる。
【０２８６】
従って、この場合、上述したGPSモジュール５１（精度２０ｍ）の場合と同様に、ジャイロ５３や加速度センサ５４の出力から求められる速度に基づいて、測位の周期の間の情報処理装置の移動距離がその４００ｍを越えない場合には、PHSモジュール５２に対して電源Vccが供給されず、４００ｍを越える場合に初めてPHSモジュール５２に対して電源Vccが供給されるようにしてもよい。
【０２８７】
また、当然、屋外でもPHSモジュール５２を使用させるようにしてもよい。この場合、正確な測位が可能であるときにのみ動作させるために、ジャイロ５３や加速度センサ５４の出力から例えば時速８０ｋｍ以上などの速度で移動していることが検出されたとき、PHSモジュール５２に対する電源Vccの供給が停止されるようにしてもよい。
【０２８８】
以上のように、状況に応じて他のセンサの動作を制御することは、図１２に示されるもの以外にも、様々なセンサの動作を制御する場合に適用することが可能である。
【０２８９】
例えば、加速度センサ５４の出力から閾値以上の加速度が検出された場合、CCD(Charge Coupled Device)のシャッタスピードを速くするようにCCDの動作を制御することで、手ぶれの少ない画像を撮影することが可能になる。
【０２９０】
反対に、加速度センサ５４の出力からほとんど動いていないことが検出された場合、シャッタスピードを遅くするようにCCDの動作を制御することで、十分な光量を確保することが可能になる。
【０２９１】
また、図２や図８の状態遷移を、図１２のMCU１、図１９のSub MCU８２に行わせることも可能である。
【０２９２】
上述した一連の処理は、ハードウェアにより実行させることもできるが、ソフトウェアにより実行させることもできる。この場合、そのソフトウェアを実行させる装置は、例えば、図２５に示されるようなパーソナルコンピュータにより構成される。
【０２９３】
図２５において、CPU(Central Processing Unit)１０１は、ROM１０２に記憶されているプログラム、または、記憶部１０８からRAM１０３にロードされたプログラムに従って各種の処理を実行する。RAM１０３にはまた、CPU１０１が各種の処理を実行する上において必要なデータなどが適宜記憶される。
【０２９４】
CPU１０１、ROM１０２、およびRAM１０３は、バス１０４を介して相互に接続されている。このバス１０４にはまた、入出力インタフェース１０５も接続されている。
【０２９５】
入出力インタフェース１０５には、キーボード、マウスなどよりなる入力部１０６、LCDなどよりなるディスプレイ、並びにスピーカなどよりなる出力部１０７、ハードディスクなどより構成される記憶部１０８、ネットワークを介しての通信処理を行う通信部１０９が接続されている。
【０２９６】
入出力インタフェース１０５にはまた、必要に応じてドライブ１１０が接続され、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどが適宜装着され、それから読み出されたコンピュータプログラムが、必要に応じて記憶部１０８にインストールされる。
【０２９７】
一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば、汎用のパーソナルコンピュータなどに、ネットワークや記録媒体からインストールされる。
【０２９８】
この記録媒体は、図２５に示されるように、装置本体とは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されている磁気ディスク（フレキシブルディスクを含む）、光ディスク（CD-ROM(Compact Disk-Read Only Memory)，DVD(Digital Versatile Disk)を含む）、光磁気ディスク（MD（登録商標）(Mini-Disk)を含む）、もしくは半導体メモリなどよりなるリムーバブルメディア１１１により構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに提供される、プログラムが記録されているROM１０２や、記憶部１０８に含まれるハードディスクなどで構成される。
【０２９９】
なお、本明細書において、各ステップは、記載された順序に従って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【０３００】
また、本明細書において、システムとは、複数の装置により構成される装置全体を表わすものである。
【図面の簡単な説明】
【０３０１】
【図１】本発明を適用した情報処理装置の構成例を示すブロック図である。
【図２】MCUとセンサの状態遷移の例を示す図である。
【図３】MCUの機能構成例を示すブロック図である。
【図４】MCU、FET、センサの一連の動作について説明するシーケンス図である。
【図５】Run状態のときに実行されるMCUの処理について説明するフローチャートである。
【図６】割り込みハンドラを実行することで実現されるMCUの処理について説明するフローチャートである。
【図７】湿度センサが出力する湿度の時間的変化の例を示す図である。
【図８】MCUとセンサの状態遷移の他の例を示す図である。
【図９】図８の状態遷移を用いた場合の効果を示す図である。
【図１０】MCUの機能構成例を示す他のブロック図である。
【図１１】センサの正常値を推測するMCUの処理について説明するフローチャートである。
【図１２】本発明を適用した情報処理装置の他の構成例を示すブロック図である。
【図１３】MCU、ジャイロ、加速度センサ、およびGPSモジュールの状態遷移の例を示す図である。
【図１４】図１２のMCUの機能構成例を示すブロック図である。
【図１５】状況を検出し、センサに対する電源Vccの供給を制御するMCUの処理について説明するフローチャートである。
【図１６】状況を検出し、センサに対する電源Vccの供給を制御するMCUの他の処理について説明するフローチャートである。
【図１７】GPSモジュールの間欠動作の例を示す図である。
【図１８】状況を検出し、センサに対する電源Vccの供給を制御するMCUのさらに他の処理について説明するフローチャートである。
【図１９】本発明を適用した情報処理装置のさらに他の構成例を示すブロック図である。
【図２０】図１９のSub MCUの処理について説明するフローチャートである。
【図２１】図１９のSub MCUの処理について説明する、図２０に続くフローチャートである。
【図２２】図１９のSub MCUの処理について説明する、図２０に続く他のフローチャートである。
【図２３】照度センサの間欠動作の例を示す図である。
【図２４】図１９のMain MCUの処理について説明するフローチャートである。
【図２５】パーソナルコンピュータの構成例を示すブロック図である。
【符号の説明】
【０３０２】
１  MCU，  ２  FET，  ３  センサ，  ２１  電源制御部，  ２２  タイマ部，  ２３  状態管理部，  ２４  サンプリング部，  ３１  推測部，  ５１  GPSモジュール，  ５２  PHSモジュール，  ５３  ジャイロ，  ５４  加速度センサ，  ５５  湿度センサ，  ５６  照度センサ，  ５７  紫外線センサ，  ７１  状況検出部，  ８１  Sub MCU，  ８２  Main MCU
【図１】
2008117424.tif 000003
【図２】
2008117424.tif 000004
【図３】
2008117424.tif 000005
【図４】
2008117424.tif 000006
【図５】
2008117424.tif 000007
【図６】
2008117424.tif 000008
【図７】
2008117424.tif 000009
【図８】
2008117424.tif 000010
【図９】
2008117424.tif 000011
【図１０】
2008117424.tif 000012
【図１１】
2008117424.tif 000013
【図１２】
2008117424.tif 000014
【図１３】
2008117424.tif 000015
【図１４】
2008117424.tif 000016
【図１５】
2008117424.tif 000017
【図１６】
2008117424.tif 000018
【図１７】
2008117424.tif 000019
【図１８】
2008117424.tif 000020
【図１９】
2008117424.tif 000021
【図２０】
2008117424.tif 000022
【図２１】
2008117424.tif 000023
【図２２】
2008117424.tif 000024
【図２３】
2008117424.tif 000025
【図２４】
2008117424.tif 000026
【図２５】
2008117424.tif 000027