(57)【要約】【課題】地磁気センサのオフセットを較正するためのキャリブレーションにかかる消費電力の増大を抑制すること。【解決手段】電子機器１において、キャリブレーション実行部５２は、ジャイロセンサ１７ｂが出力する角速度データに基づいて、地磁気センサ１７ａがより正確な地磁気データを出力できるように、地磁気センサ１７ａの出力誤差の較正を行う。ジャイロセンサ制御部５３は、ジャイロセンサ１７ｂのオン／オフ制御を行う。キャリブレーション実行判定部５１は、地磁気センサ１７ａの較正が必要であるか否かを判定する。ジャイロセンサ制御部５３は、キャリブレーション実行判定部５１が地磁気センサ１７ａの較正が必要ではないと判定した場合に、ジャイロセンサ１７ｂをオフするように制御する。【選択図】図３
2020118699.tif 000002
【特許請求の範囲】
【請求項１】
地磁気センサと、
角速度センサと、
前記角速度センサが出力する角速度データに基づいて、前記地磁気センサがより正確な地磁気データを出力できるように、前記地磁気センサの出力誤差の較正を行う較正手段と、を備える電子機器であって、
前記角速度センサのオン／オフ制御を行う制御手段と、
前記地磁気センサの較正が必要であるか否かを判定する判定手段と、
を有し、
前記制御手段は、前記判定手段が前記地磁気センサの較正が必要ではないと判定した場合に、前記角速度センサをオフするように制御することを特徴とする電子機器。
【請求項２】
前記制御手段は、前記判定手段が前記地磁気センサの較正が必要ではないと判定した場合であって、前記角速度センサが他の処理において利用されていない場合に、前記角速度センサをオフするように制御することを特徴とする請求項１に記載の電子機器。
【請求項３】
前記角速度センサを利用することで所定の情報を取得する角速度情報取得手段を有し、
前記制御手段は、前記角速度情報取得手段により前記所定の情報を取得している間は前記角速度センサをオンし、
前記較正手段は、前記角速度情報取得手段により前記所定の情報を取得している間に、前記角速度センサが出力する角速度データを利用して前記地磁気センサの出力誤差の較正を行うことを特徴とする請求項１または２に記載の電子機器。
【請求項４】
前記制御手段は、前記判定手段が前記地磁気センサの較正が必要であると判定した場合に、前記角速度センサをオンするように制御することを特徴とする請求項１から３のいずれか１項に記載の電子機器。
【請求項５】
前記判定手段は、前記地磁気センサの磁気精度が良好であるか否かを判定すること及び／又は前記電子機器のユーザが前記地磁気センサの出力誤差の較正に利用可能な動作を行っているか否かを判定することによって、前記地磁気センサの較正が必要であるか否かを判定することを特徴とする請求項１から４のいずれか１項に記載の電子機器。
【請求項６】
前記電子機器のユーザが前記地磁気センサの出力誤差の較正に利用可能な動作を行っているか否かを判定する動作判定手段を有し、
前記較正手段は、前記動作判定手段によって前記電子機器のユーザが前記地磁気センサの出力誤差の較正に利用可能な動作を行っていると判定された場合に、前記地磁気センサの出力誤差の較正を行うことを特徴とする請求項１から４のいずれか１項に記載の電子機器。
【請求項７】
前記較正手段は、前記判定手段によって前記地磁気センサの較正が必要であると判定され、かつ、前記動作判定手段によって前記電子機器のユーザが前記地磁気センサの出力誤差の較正に利用可能な動作を行っていると判定された場合に、前記地磁気センサの出力誤差の較正を行うことを特徴とする請求項６に記載の電子機器。
【請求項８】
前記較正手段は、
前記角速度センサが出力する角速度データに基づいて、前記地磁気センサがより正確な地磁気データを出力できるように、前記地磁気センサの出力誤差を較正する第１較正処理と、
前記角速度センサが出力する角速度データを用いることなく、前記地磁気センサがより正確な地磁気データを出力できるように、前記地磁気センサの出力誤差を較正する第２較正処理と、を実行可能であり、
前記判定手段によって前記地磁気センサの較正が必要であると判定された場合、前記制御手段が前記角速度センサをオンすると共に前記較正手段が前記第１較正処理を実行し、前記判定手段によって前記地磁気センサの較正が必要であると判定された場合以外において、前記較正手段が前記第２較正処理を実行することを特徴とする請求項１から７のいずれか１項に記載の電子機器。
【請求項９】
通常時には前記較正手段が前記第２較正処理を実行し、前記判定手段によって前記地磁気センサの較正が必要であると判定された場合、前記制御手段が前記角速度センサをオンすると共に前記較正手段が前記第１較正処理を実行することを特徴とする請求項８に記載の電子機器。
【請求項１０】
前記較正手段が行う前記地磁気センサの較正の較正タイミングを調整する調整手段を有し、
前記制御手段は、前記調整手段が調整した較正タイミングに基づいて、前記角速度センサをオンオフするように制御することを特徴とする請求項１から９のいずれか１項に記載の電子機器。
【請求項１１】
前記判定手段は、直前のキャリブレーションからの経過時間、直前のキャリブレーション地点からの移動距離、直前のキャリブレーション時からの姿勢変化量及び直前のキャリブレーションからの累積的な磁場変化量の少なくともいずれか１つを測定し、当該測定結果が予め定められた閾値を超えた場合に、前記地磁気センサの較正が必要であると判定することを特徴とする請求項１から１０のいずれか１項に記載の電子機器。
【請求項１２】
地磁気センサと、
角速度センサと、
前記角速度センサが出力する角速度データに基づいて、前記地磁気センサがより正確な地磁気データを出力できるように、前記地磁気センサの出力誤差の較正を行う較正手段と、を備える電子機器であって、
前記角速度センサのオン／オフ制御を行う制御手段と、
前記角速度センサを利用することで所定の情報を取得する角速度情報取得手段と、
を有し、
前記制御手段は、前記角速度情報取得手段により前記所定の情報を取得している間は前記角速度センサをオンし、
前記較正手段は、前記角速度情報取得手段により前記所定の情報を取得している間に、前記角速度センサが出力する角速度データを利用して前記地磁気センサの出力誤差の較正を行うことを特徴とする電子機器。
【請求項１３】
地磁気センサと、
角速度センサと、
前記角速度センサが出力する角速度データに基づいて、前記地磁気センサがより正確な地磁気データを出力できるように、前記地磁気センサの出力誤差の較正を行う較正手段と、を備える電子機器が実行する較正制御方法であって、
前記角速度センサのオン／オフ制御を行う制御ステップと、
前記地磁気センサの較正が必要であるか否かを判定する判定ステップと、
を含み、
前記制御ステップでは、前記判定ステップにおいて前記地磁気センサの較正が必要ではないと判定された場合に、前記角速度センサをオフするように制御することを特徴とする較正制御方法。
【請求項１４】
地磁気センサと、
角速度センサと、
を備える電子機器が実行する較正制御方法であって、
前記角速度センサが出力する角速度データに基づいて、前記地磁気センサがより正確な地磁気データを出力できるように、前記地磁気センサの出力誤差の較正を行う較正ステップと、
前記角速度センサのオン／オフ制御を行う制御ステップと、
前記角速度センサを利用することで所定の情報を取得する角速度情報取得ステップと、
を含み、
前記制御ステップでは、前記角速度情報取得ステップにより前記所定の情報を取得している間は前記角速度センサをオンし、
前記較正ステップでは、前記角速度情報取得ステップにより前記所定の情報を取得している間に、前記角速度センサが出力する角速度データを利用して前記地磁気センサの出力誤差の較正を行うことを特徴とする較正制御方法。
【請求項１５】
地磁気センサと、
角速度センサと、
前記角速度センサが出力する角速度データに基づいて、前記地磁気センサがより正確な地磁気データを出力できるように、前記地磁気センサの出力誤差の較正を行う較正手段と、を備える電子機器を制御するコンピュータに、
前記角速度センサのオン／オフ制御を行う制御機能と、
前記地磁気センサの較正が必要であるか否かを判定する判定機能と、
を実現させ、
前記制御機能は、前記判定機能が前記地磁気センサの較正が必要ではないと判定した場合に、前記角速度センサをオフするように制御することを特徴とするプログラム。
【請求項１６】
地磁気センサと、
角速度センサと、
を備える電子機器を制御するコンピュータに、
前記角速度センサが出力する角速度データに基づいて、前記地磁気センサがより正確な地磁気データを出力できるように、前記地磁気センサの出力誤差の較正を行う較正機能と、
前記角速度センサのオン／オフ制御を行う制御機能と、
前記角速度センサを利用することで所定の情報を取得する角速度情報取得機能と、
を実現させ、
前記制御機能は、前記角速度情報取得機能により前記所定の情報を取得している間は前記角速度センサをオンし、
前記較正機能は、前記角速度情報取得機能により前記所定の情報を取得している間に、前記角速度センサが出力する角速度データを利用して前記地磁気センサの出力誤差の較正を行うことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子機器、較正制御方法及びプログラムに関する。
【背景技術】
【０００２】
従来、地磁気センサが出力する磁気データのオフセットを迅速に推定するために、角速度センサで自身の回転量に応じた角速度データを取得して、その角速度データに基づいて、地磁気センサが正確な磁気データを出力できるように地磁気センサをキャリブレーション（較正）する技術が知られている（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】国際公開第２０１３／１２５２４２号
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記の構成では角速度センサを常に動かしてオフセットを行っており、消費電力が多くなってしまうという課題がある。
【０００５】
本発明は、このような状況に鑑みてなされたものであり、地磁気センサのオフセットを較正するためのキャリブレーションにかかる消費電力の増大を抑制することを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するため、本発明の一態様の電子機器は、
地磁気センサと、
角速度センサと、
前記角速度センサが出力する角速度データに基づいて、前記地磁気センサがより正確な地磁気データを出力できるように、前記地磁気センサの出力誤差の較正を行う較正手段と、を備える電子機器であって、
前記角速度センサのオン／オフ制御を行う制御手段と、
前記地磁気センサの較正が必要であるか否かを判定する判定手段と、
を有し、
前記制御手段は、前記判定手段が前記地磁気センサの較正が必要ではないと判定した場合に、前記角速度センサをオフするように制御することを特徴とする。
【発明の効果】
【０００７】
本発明によれば、地磁気センサのオフセットを較正するためのキャリブレーションにかかる消費電力の増大を抑制することが可能となる。
【図面の簡単な説明】
【０００８】
【図１】本発明の一実施形態である電子機器の概略図である。
【図２】電子機器のハードウェア構成を示すブロック図である。
【図３】図１の電子機器の機能的構成のうち、キャリブレーション制御処理を実行するための機能的構成を示す機能ブロック図である。
【図４】電子機器が実行するキャリブレーション制御処理の流れを説明するフローチャートである。
【図５】電子機器が実行する第１判定処理の流れを説明するフローチャートである。
【図６】電子機器が実行する第２判定処理の流れを説明するフローチャートである。
【図７】第２実施形態において電子機器が実行するキャリブレーション制御処理の流れを説明するフローチャートである。
【図８】第３実施形態において電子機器が実行するキャリブレーション制御処理の流れを説明するフローチャートである。
【図９】第４実施形態におけるキャリブレーション制御処理を実行するための機能的構成を示す機能ブロック図である。
【図１０】第４実施形態において電子機器が実行するキャリブレーション制御処理の流れを説明するフローチャートである。
【発明を実施するための形態】
【０００９】
以下、本発明の実施形態について、図面を用いて説明する。
［第１実施形態］
［構成］
図１は、本発明の一実施形態である電子機器１の概略図である。
図１に示すように、本実施形態の電子機器１は、腕時計型の装置（スマートウォッチ等）として構成されている。また、電子機器１は、後述するように、地磁気センサを備えており、周辺の磁場の影響によるオフセットを較正するためのキャリブレーションを実行する。このとき、電子機器１は、ジャイロセンサを用いた高速なキャリブレーションを実行可能であると共に、ジャイロセンサを効率的に使用したキャリブレーションを実行する。
【００１０】
図２は、電子機器１のハードウェア構成を示すブロック図である。
電子機器１は、図２に示すように、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１１と、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１２と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１３と、バス１４と、入出力インターフェース１５と、ＧＰＳ部１６と、センサ部１７と、撮像部１８と、入力部１９と、出力部２０と、記憶部２１と、通信部２２と、ドライブ２３と、を備えている。
【００１１】
ＣＰＵ１１は、ＲＯＭ１２に記録されているプログラム、または、記憶部２１からＲＡＭ１３にロードされたプログラムに従って各種の処理を実行する。
【００１２】
ＲＡＭ１３には、ＣＰＵ１１が各種の処理を実行する上において必要なデータ等も適宜記憶される。
【００１３】
ＣＰＵ１１、ＲＯＭ１２及びＲＡＭ１３は、バス１４を介して相互に接続されている。このバス１４にはまた、入出力インターフェース１５も接続されている。入出力インターフェース１５には、ＧＰＳ部１６、センサ部１７、撮像部１８、入力部１９、出力部２０、記憶部２１、通信部２２及びドライブ２３が接続されている。
【００１４】
ＧＰＳ部１６は、図示しないＧＰＳ受信アンテナを介して、複数のＧＰＳ衛星からのＧＰＳ信号を受信する。ＣＰＵ１１は、ＧＰＳ部１６が受信したＧＰＳ信号に基づいて、機器の現在位置を示す緯度及び経度、高度の情報等の位置情報を取得する。
【００１５】
センサ部１７は、地磁気センサ１７ａと、ジャイロセンサ（角速度センサ）１７ｂと、加速度センサ１７ｃと、脈拍センサ１７ｄと、を備え、これらセンサによる検出結果のデータをＣＰＵ１１に出力する。なお、センサ部１７には、これらのセンサの他、電子機器１で実行される処理に必要な各種センサ（気圧センサや照度センサ等）を適宜備えることができる。
【００１６】
撮像部１８は、図示はしないが、光学レンズ部と、イメージセンサと、を備えている。
【００１７】
光学レンズ部は、被写体を撮影するために、光を集光するレンズ、例えばフォーカスレンズやズームレンズ等で構成される。
フォーカスレンズは、イメージセンサの受光面に被写体像を結像させるレンズである。ズームレンズは、焦点距離を一定の範囲で自在に変化させるレンズである。
撮像部１８にはまた、必要に応じて、焦点、露出、ホワイトバランス等の設定パラメータを調整する周辺回路が設けられる。
【００１８】
イメージセンサは、光電変換素子や、ＡＦＥ（Ａｎａｌｏｇ  Ｆｒｏｎｔ  Ｅｎｄ）等から構成される。
光電変換素子は、例えばＣＭＯＳ（Ｃｏｍｐｌｅｍｅｎｔａｒｙ  Ｍｅｔａｌ  Ｏｘｉｄｅ  Ｓｅｍｉｃｏｎｄｕｃｔｏｒ）型の光電変換素子等から構成される。光電変換素子には、光学レンズ部から被写体像が入射される。そこで、光電変換素子は、被写体像を光電変換（撮像）して画像信号を一定時間蓄積し、蓄積した画像信号をアナログ信号としてＡＦＥに順次供給する。
ＡＦＥは、このアナログの画像信号に対して、Ａ／Ｄ（Ａｎａｌｏｇ／Ｄｉｇｉｔａｌ）変換処理等の各種信号処理を実行する。各種信号処理によって、デジタル信号が生成され、撮像部１８の出力信号として出力される。
このような撮像部１８の出力信号を撮像画像のデータとして、ＣＰＵ１１や図示しない画像処理部等に適宜供給される。
【００１９】
入力部１９は、各種ボタン等で構成され、ユーザの指示操作に応じて各種情報を入力する。
出力部２０は、ディスプレイやスピーカ等で構成され、画像や音声を出力する。
本実施形態においては、画像やアイコン等を表示するディスプレイとなる出力部２０にタッチやスワイプ等の入力操作可能な入力部１９が重畳的に配置されて、インターフェースとなるタッチパネルを構成する。
【００２０】
記憶部２１は、ＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等の半導体メモリで構成され、各種画像のデータを記憶する。
【００２１】
通信部２２は、インターネットを含むネットワークを介して他の装置（図示せず）との間で行う通信を制御する。
【００２２】
ドライブ２３には、磁気ディスク、光ディスク、光磁気ディスク、あるいは半導体メモリ等よりなる、リムーバブルメディア３１が適宜装着される。ドライブ２３によってリムーバブルメディア３１から読み出されたプログラムは、必要に応じて記憶部２１にインストールされる。また、リムーバブルメディア３１は、記憶部２１に記憶されている画像のデータ等の各種データも、記憶部２１と同様に記憶することができる。
【００２３】
図３は、図１の電子機器１の機能的構成のうち、キャリブレーション制御処理を実行するための機能的構成を示す機能ブロック図である。
キャリブレーション制御処理とは、電子機器１において、ジャイロセンサを用いた高速なキャリブレーションを、ジャイロセンサをより効率的に使用して実行する一連の処理をいう。
【００２４】
キャリブレーション制御処理が実行される場合には、図３に示すように、ＣＰＵ１１において、キャリブレーション実行判定部５１と、キャリブレーション実行部５２と、ジャイロセンサ制御部５３と、表示制御部５４と、角速度情報利用部５５と、が機能する。
【００２５】
キャリブレーション実行判定部５１は、電子機器１において、地磁気センサ１７ａのキャリブレーションが必要であるか否かを判定する。
例えば、キャリブレーション実行判定部５１は、電子機器１で実行される動作に基づいてキャリブレーションが必要であるか否かを判定するための第１判定条件を判定する。第１判定条件として、例えば、ユーザが電子コンパスのアプリケーションを起動したか否か、ユーザが地磁気センサ１７ａのキャリブレーションを指示する入力を行ったか否か（またはキャリブレーションのための操作（８の字を描く操作等）を行ったか否か）、電子機器１において特定の行動が検出されたか否か等を判定する。なお、特定の行動とは、例えば、歩行、充電の終了、ユーザによる電子機器１の視認動作（腕の持ち上げ動作）、電子機器１を腕から取り外す動作等である。ユーザによる電子機器１の視認動作については、キャリブレーションが必要な場合に、電子機器１がバイブレーションを発生させることにより、ユーザの視認動作を促すこと等が可能である。
第１判定条件によれば、ユーザの活動（アプリケーションの利用、キャリブレーションの指示、特定の行動を行う等）からキャリブレーションを実行することが適切であると推定されるタイミングで、地磁気センサ１７ａのキャリブレーションを実行することができる。
【００２６】
また、キャリブレーション実行判定部５１は、電子機器１における磁気の誤差の累積状況に基づいてキャリブレーションが必要であるか否かを判定するための第２判定条件を判定する。第２判定条件として、例えば、直前のキャリブレーションからの経過時間をカウントし、その経過時間が予め定められた時間を超えたか否かを判定し、予め定められた時間を超えた場合に（所定の閾値を超えた場合に）第２の判定条件が充足されたと判定する、直前のキャリブレーション時のキャリブレーション地点をＧＰＳ部１６等で特定し、そのキャリブレーション地点から現在位置までの移動距離を測定して、当該移動距離が予め定められた距離を超えた場合に（所定の閾値を超えた場合に）第２の判定条件が充足されたと判定する、ジャイロセンサ１７ｂ等を利用して直前のキャリブレーション時の姿勢から現時点までの累積的な姿勢変化量を特定し、当該姿勢変化量が予め定められた変化量を超えた場合に（所定の閾値を超えた場合に）第２の判定条件が充足されたと判定する、または、直前のキャリブレーション時点から現時点までに検出した累積的な磁場変化量が予め定められた変化量を超えた場合に（所定の閾値を超えた場合に）第２の判定条件が充足されたと判定する。なお、上記条件のうち１つが充足された場合に第２の判定条件が充足されたと判定してもよいし、上記条件の複数が満たされた場合に第２の判定条件が充足されたと判定してもよい。
第２判定条件によれば、電子機器１における地磁気の検出精度からキャリブレーションを実行することが適切であると推定されるタイミングで、地磁気センサ１７ａのキャリブレーションを実行することが可能となる。
【００２７】
キャリブレーション実行部５２は、キャリブレーション実行判定部５１によって地磁気センサ１７ａのキャリブレーションが必要であると判定された場合に、キャリブレーションを実行する。
例えば、キャリブレーション実行部５２は、キャリブレーション実行判定部５１によって、地磁気センサ１７ａを用いるアプリケーション以外の機能（角速度データに基づく所定情報を取得する角速度情報利用部５５）によってジャイロセンサ１７ｂがオンされていない、かつ、第１判定条件が充足されていると判定された場合に、ジャイロセンサ制御部５３に対してジャイロセンサ１７ｂをオンさせる指示を出力し、ジャイロセンサ１７ｂを用いた高速キャリブレーションを実行する。また、キャリブレーション実行部５２は、高速キャリブレーションの実行中に、高速キャリブレーションの完了時間に設定されたタイムアウトが発生した場合、ジャイロセンサ制御部５３に対してジャイロセンサ１７ｂをオフさせる指示を出力し、高速キャリブレーションを中止して、ジャイロセンサ１７ｂを用いない通常キャリブレーションを実行する。
【００２８】
また、例えば、キャリブレーション実行部５２は、キャリブレーション実行判定部５１によって、地磁気センサ１７ａを用いるアプリケーション以外の機能（角速度データに基づく所定情報を取得する角速度情報利用部５５）によりジャイロセンサ１７ｂがオンされている、かつ、第１判定条件または第２判定条件が充足されていると判定された場合に、既にオンされているジャイロセンサ１７ｂを用いた高速キャリブレーションを実行する。また、キャリブレーション実行部５２は、高速キャリブレーションの実行中に、高速キャリブレーションの完了時間に設定されたタイムアウトが発生した場合、ジャイロセンサ１７ｂをオンとしたまま、高速キャリブレーションを中止して、ジャイロセンサ１７ｂを用いない通常キャリブレーションを実行する。
【００２９】
ジャイロセンサ制御部５３は、キャリブレーション実行部５２の指示に応じて、ジャイロセンサ１７ｂをオンまたはオフする。
表示制御部５４は、キャリブレーション制御処理においてユーザに提示される各種情報を表示する。例えば、表示制御部５４は、キャリブレーション実行判定部５１によって第１判定条件が充足されていると判定された場合に、地磁気センサ１７ａのキャリブレーションをユーザに促す旨のメッセージ（「地磁気センサのキャリブレーションを実行してください」等）を表示する。また、表示制御部５４は、地磁気センサ１７ａのキャリブレーションが完了した場合に、キャリブレーションが完了した旨のメッセージ（「地磁気センサのキャリブレーションが完了しました」等）や、高速キャリブレーションのタイムアウトが発生した場合に、通常のキャリブレーションが実行される旨（「高速キャリブレーションが実行できないため、通常のキャリブレーションを実行します」等）を表示する。
【００３０】
角速度情報利用部５５は、地磁気センサ１７ａを用いるアプリケーション以外の処理を実行する機能部であり、角速度データに基づく所定情報を取得する。
【００３１】
［動作］
次に、動作を説明する。
［キャリブレーション制御処理］
図４は、電子機器１が実行するキャリブレーション制御処理の流れを説明するフローチャートである。
キャリブレーション制御処理は、電子機器１の電源投入と共に開始され、電子機器１の電源をオフする操作が行われた場合に終了する。
【００３２】
ステップＳ１において、キャリブレーション実行判定部５１は、地磁気センサ１７ａを用いるアプリケーション以外の機能（角速度データに基づく所定情報を取得する角速度情報利用部５５）によってジャイロセンサ１７ｂがオンされているか否かを判定する。
地磁気センサ１７ａを用いるアプリケーション以外の機能によってジャイロセンサ１７ｂがオンされていない場合、ステップＳ１においてＮＯと判定されて、処理はステップＳ８に移行する。
一方、地磁気センサ１７ａを用いるアプリケーション以外の機能によってジャイロセンサ１７ｂがオンされている場合、ステップＳ１においてＹＥＳと判定されて、処理はステップＳ２に移行する。
【００３３】
ステップＳ２において、キャリブレーション実行判定部５１は、第１判定処理（図５参照）及び第２判定処理（図６参照）を実行することにより、電子機器１で実行される動作に基づいてキャリブレーションが必要であるか否かを判定するための第１判定条件または電子機器１における磁気の誤差の累積状況に基づいてキャリブレーションが必要であるか否かを判定するための第２判定条件が充足されているか否かを判定する。ステップＳ２においては、地磁気センサ１７ａを用いるアプリケーション以外の機能によってジャイロセンサ１７ｂがオンされていることから、オンされているジャイロセンサ１７ｂを活用すべく、キャリブレーションが必要であるか否かを第１判定条件及び第２判定条件の両方の観点から判定する。これにより、ジャイロセンサ１７ｂがオンされている状況においては、広範な条件からキャリブレーションが必要であるか否かを判定することができ、キャリブレーションが行われ易くすることができる。
第１判定条件または第２判定条件が充足されている場合、ステップＳ２においてＹＥＳと判定されて、処理はステップＳ３に移行する。
一方、第１判定条件及び第２判定条件が充足されていない場合、ステップＳ２においてＮＯと判定されて、キャリブレーション制御処理が繰り返される。
【００３４】
ステップＳ３において、キャリブレーション実行部５２は、既にオンされているジャイロセンサ１７ｂを用いた高速キャリブレーションを開始する。
ステップＳ４において、キャリブレーション実行部５２は、高速キャリブレーションが完了したか否かを判定する。
高速キャリブレーションが完了していない場合、ステップＳ４においてＮＯと判定されて、処理はステップＳ５に移行する。
一方、高速キャリブレーションが完了している場合、ステップＳ４においてＹＥＳと判定されて、処理はステップＳ７に移行する。
【００３５】
ステップＳ５において、キャリブレーション実行部５２は、高速キャリブレーションの完了時間に設定されたタイムアウトが発生しているか否かを判定する。
高速キャリブレーションの完了時間に設定されたタイムアウトが発生していない場合、ステップＳ５においてＮＯと判定されて、処理はステップＳ４に移行する。
一方、高速キャリブレーションの完了時間に設定されたタイムアウトが発生している場合、ステップＳ５においてＹＥＳと判定されて、処理はステップＳ６に移行する。
【００３６】
ステップＳ６において、キャリブレーション実行部５２は、ジャイロセンサ１７ｂをオンとしたまま、高速キャリブレーションを中止して、ジャイロセンサ１７ｂを用いない通常キャリブレーションを実行する。
ステップＳ６の後、キャリブレーション制御処理が繰り返される。
ステップＳ７において、キャリブレーション実行部５２は、ジャイロセンサ１７ｂをオンとしたまま、高速キャリブレーションを完了する。
ステップＳ７の後、キャリブレーション制御処理が繰り返される。
【００３７】
ステップＳ８において、キャリブレーション実行判定部５１は、第１判定処理を実行することにより、電子機器１で実行される動作に基づいてキャリブレーションが必要であるか否かを判定するための第１判定条件が充足されているか否かを判定する。ステップＳ８においては、地磁気センサ１７ａを用いるアプリケーション以外の機能によってジャイロセンサ１７ｂがオンされていないことから、ジャイロセンサ１７ｂを限定的な条件の下でオンするため、キャリブレーションが必要であるか否かを第１判定条件の観点からのみ判定する。これにより、ジャイロセンサ１７ｂがオンされていない状況においては、キャリブレーションが必要であるか否かをより限定的に判定することができ、ジャイロセンサ１７ｂがオンされている状況に比べ、キャリブレーションが行われ難くすることができる。
第１判定条件が充足されている場合、ステップＳ８においてＹＥＳと判定されて、処理はステップＳ９に移行する。
一方、第１判定条件が充足されていない場合、ステップＳ８においてＮＯと判定されて、キャリブレーション制御処理が繰り返される。
【００３８】
ステップＳ９において、キャリブレーション実行部５２は、ジャイロセンサ制御部５３に対してジャイロセンサ１７ｂをオンさせる指示を出力する。これにより、ジャイロセンサ制御部５３によって、ジャイロセンサ１７ｂがオンされる。
ステップＳ１０において、キャリブレーション実行部５２は、ステップＳ９においてオンされたジャイロセンサ１７ｂを用いた高速キャリブレーションを開始する。
【００３９】
ステップＳ１１において、キャリブレーション実行部５２は、高速キャリブレーションが完了したか否かを判定する。
高速キャリブレーションが完了していない場合、ステップＳ１１においてＮＯと判定されて、処理はステップＳ１２に移行する。
一方、高速キャリブレーションが完了している場合、ステップＳ１１においてＹＥＳと判定されて、処理はステップＳ１５に移行する。
【００４０】
ステップＳ１２において、キャリブレーション実行部５２は、高速キャリブレーションの完了時間に設定されたタイムアウトが発生しているか否かを判定する。
高速キャリブレーションの完了時間に設定されたタイムアウトが発生していない場合、ステップＳ１２においてＮＯと判定されて、処理はステップＳ１１に移行する。
一方、高速キャリブレーションの完了時間に設定されたタイムアウトが発生している場合、ステップＳ１２においてＹＥＳと判定されて、処理はステップＳ１３に移行する。
【００４１】
ステップＳ１３において、キャリブレーション実行部５２は、ジャイロセンサ制御部５３に対してジャイロセンサ１７ｂをオフさせる指示を出力する。これにより、ジャイロセンサ制御部５３によって、ジャイロセンサ１７ｂがオフされる。
ステップＳ１４において、キャリブレーション実行部５２は、高速キャリブレーションを中止して、ジャイロセンサ１７ｂを用いない通常キャリブレーションを実行する。
ステップＳ１４の後、キャリブレーション制御処理が繰り返される。
【００４２】
ステップＳ１５において、キャリブレーション実行部５２は、ジャイロセンサ制御部５３に対してジャイロセンサ１７ｂをオフさせる指示を出力する。これにより、ジャイロセンサ制御部５３によって、ジャイロセンサ１７ｂがオフされる。
ステップＳ１６において、キャリブレーション実行部５２は、高速キャリブレーションを完了する。
ステップＳ１６の後、キャリブレーション制御処理が繰り返される。
なお、ステップＳ６，Ｓ７，Ｓ１４，Ｓ１６においてキャリブレーションが実行された後、電子機器１は、バックグラウンド処理等により、直前のキャリブレーションからの経過時間、直前のキャリブレーション地点からの移動距離、直前のキャリブレーション時からの累積的な姿勢変化量、または直前のキャリブレーション時点からの累積的な磁場変化量を計測する。
【００４３】
［第１判定処理］
次に、キャリブレーション制御処理のステップＳ２及びステップＳ８で実行される第１判定処理について説明する。
図５は、電子機器１が実行する第１判定処理の流れを説明するフローチャートである。
ステップＳ２１において、キャリブレーション実行判定部５１は、ユーザが電子コンパスのアプリケーションを起動したか否かを判定する。
ユーザが電子コンパスのアプリケーションを起動した場合、ステップＳ２１においてＹＥＳと判定されて、処理はステップＳ２２に移行する。
一方、ユーザが電子コンパスのアプリケーションを起動していない場合、ステップＳ２１においてＮＯと判定されて、処理はステップＳ２３に移行する。
【００４４】
ステップＳ２２において、キャリブレーション実行判定部５１は、第１判定条件が充足されたと判定する。
ステップＳ２２の後、処理はキャリブレーション制御処理に戻る。
ステップＳ２３において、キャリブレーション実行判定部５１は、ユーザが地磁気センサ１７ａのキャリブレーションを指示する入力を行ったか否かを判定する。
ユーザが地磁気センサ１７ａのキャリブレーションを指示する入力を行った場合、ステップＳ２３においてＹＥＳと判定されて、処理はステップＳ２２に移行する。
一方、ユーザが地磁気センサ１７ａのキャリブレーションを指示する入力を行っていない場合、ステップＳ２３においてＮＯと判定されて、処理はステップＳ２４に移行する。
【００４５】
ステップＳ２４において、キャリブレーション実行判定部５１は、ユーザがキャリブレーションのための操作（８の字を描く操作等）を行ったか否かを判定する。
ユーザがキャリブレーションのための操作を行った場合、ステップＳ２４においてＹＥＳと判定されて、処理はステップＳ２２に移行する。
一方、ユーザがキャリブレーションのための操作を行っていない場合、ステップＳ２４においてＮＯと判定されて、処理はステップＳ２５に移行する。
【００４６】
ステップＳ２５において、キャリブレーション実行判定部５１は、第１判定条件が充足されていないと判定する。
ステップＳ２５の後、処理はキャリブレーション制御処理に戻る。
【００４７】
［第２判定処理］
次に、キャリブレーション制御処理のステップＳ２で実行される第２判定処理について説明する。
図６は、電子機器１が実行する第２判定処理の流れを説明するフローチャートである。
ステップＳ３１において、キャリブレーション実行判定部５１は、直前のキャリブレーションからの経過時間が予め定められた時間を超えたか否かを判定する。
直前のキャリブレーションからの経過時間が予め定められた時間（所定の閾値）を超えている場合、ステップＳ３１においてＹＥＳと判定されて、処理はステップＳ３２に移行する。
一方、直前のキャリブレーションからの経過時間が予め定められた時間を超えていない場合、ステップＳ３１においてＮＯと判定されて、処理はステップＳ３３に移行する。
【００４８】
ステップＳ３２において、キャリブレーション実行判定部５１は、第２判定条件が充足されたと判定する。
ステップＳ３２の後、処理はキャリブレーション制御処理に戻る。
ステップＳ３３において、キャリブレーション実行判定部５１は、直前のキャリブレーション時のキャリブレーション地点から現在位置までの移動距離が予め定められた距離（所定の閾値）を超えているか否かを判定する。
直前のキャリブレーション時のキャリブレーション地点から現在位置までの移動距離が予め定められた距離を超えている場合、ステップＳ３３においてＹＥＳと判定されて、処理はステップＳ３２に移行する。
一方、直前のキャリブレーション時のキャリブレーション地点から現在位置までの移動距離が予め定められた距離を超えていない場合、ステップＳ３３においてＮＯと判定されて、処理はステップＳ３４に移行する。
【００４９】
ステップＳ３４において、キャリブレーション実行判定部５１は、直前のキャリブレーション時の姿勢から現時点までの累積的な姿勢変化量が予め定められた変化量（所定の閾値）を超えているか否かを判定する。
直前のキャリブレーション時の姿勢から現時点までの累積的な姿勢変化量が予め定められた変化量を超えている場合、ステップＳ３４においてＹＥＳと判定されて、処理はステップＳ３２に移行する。
一方、直前のキャリブレーション時の姿勢から現時点までの累積的な姿勢変化量が予め定められた変化量を超えていない場合、ステップＳ３４においてＮＯと判定されて、処理はステップＳ３５に移行する。
【００５０】
ステップＳ３５において、キャリブレーション実行判定部５１は、直前のキャリブレーション時点から現時点までの累積的な磁場変化量が予め定められた変化量（所定の閾値）を超えているか否かを判定する。
直前のキャリブレーション時点から現時点までの累積的な磁場変化量が予め定められた変化量を超えている場合、ステップＳ３５においてＹＥＳと判定されて、処理はステップＳ３２に移行する。
一方、直前のキャリブレーション時点から現時点までの累積的な磁場変化量が予め定められた変化量を超えていない場合、ステップＳ３５においてＮＯと判定されて、処理はステップＳ３６に移行する。
ステップＳ３６において、キャリブレーション実行判定部５１は、第２判定条件が充足されていないと判定する。
ステップＳ３６の後、処理はキャリブレーション制御処理に戻る。
【００５１】
このように、ステップＳ１でジャイロセンサ１７ｂがオンされているか否かを判定し、ステップＳ８で第１判定条件が充足されているか否かを判定することにより、電子機器１においては、ジャイロセンサ１７ｂがオンされていない状態で、第１判定条件が充足された場合、ジャイロセンサ１７ｂをオンして高速キャリブレーションが実行される。そして、高速キャリブレーションが完了した場合、ジャイロセンサ１７ｂがオフされる。
そのため、ジャイロセンサ１７ｂをオンする期間をより減少させることができ、より低消費電力に地磁気センサ１７ａの高速キャリブレーションを行うことができる。
【００５２】
また、ステップＳ１でジャイロセンサ１７ｂがオンされているか否かを判定し、ステップＳ２で第１判定条件及び第２判定条件が充足されているか否かを判定することにより、電子機器１においては、ジャイロセンサ１７ｂがオンされている状態で、第１判定条件または第２判定条件が充足された場合、既にオンされているジャイロセンサ１７ｂを用いて高速キャリブレーションが実行される。そして、高速キャリブレーションが完了した場合、ジャイロセンサ１７ｂをオンとした状態が維持される。
そのため、地磁気センサ１７ａを用いるアプリケーション以外の機能（角速度データに基づく所定情報を取得する角速度情報利用部５５）によってジャイロセンサ１７ｂがオンされているタイミングを利用して、より低消費電力に地磁気センサ１７ａの高速キャリブレーションを行うことができる。
即ち、電子機器１によれば、地磁気センサ１７ａのオフセットを較正するためのキャリブレーションにかかる消費電力の増大を抑制することが可能となる。
【００５３】
また、電子機器１においては、高速キャリブレーションの実行中に、高速キャリブレーションの完了時間に設定されたタイムアウトが発生した場合、高速キャリブレーションを中止して、ジャイロセンサ１７ｂを用いない通常キャリブレーションを実行する。
これにより、電子機器１においては、磁場環境の影響等により、高速キャリブレーションの完了が困難である場合に、無用に高速キャリブレーションが実行され、消費電力が増大することを抑制できる。
【００５４】
［第２実施形態］
第１実施形態において、図４に示すキャリブレーション制御処理では、通常はキャリブレーションを実行することなく、高速キャリブレーションを実行する条件が充足された場合に高速キャリブレーションを実行し、高速キャリブレーションが完了しない場合に、通常キャリブレーションを実行するものとした。
これに対し、通常キャリブレーションを常時実行し、高速キャリブレーションを実行する条件が充足された場合に高速キャリブレーションを実行することが可能である。
本実施形態における電子機器１のハードウェア構成は、第１実施形態の図２に示すハードウェア構成と同様である。また、本実施形態における電子機器１の機能的構成は、キャリブレーション実行部５２が通常キャリブレーションを常時実行する点で第１実施形態と異なっている。
以下、第１実施形態と異なる部分であるキャリブレーション制御処理について説明する。
【００５５】
［キャリブレーション制御処理］
図７は、第２実施形態において電子機器１が実行するキャリブレーション制御処理の流れを説明するフローチャートである。
キャリブレーション制御処理は、電子機器１の電源投入と共に開始され、電子機器１の電源をオフする操作が行われた場合に終了する。
【００５６】
ステップＳ４１において、キャリブレーション実行部５２は、ジャイロセンサ１７ｂを用いない通常キャリブレーションを実行する。
ステップＳ４２において、キャリブレーション実行判定部５１は、第２判定処理を実行することにより、電子機器１における磁気の誤差の累積状況に基づいてキャリブレーションが必要であるか否かを判定するための第２判定条件が充足されているか否かを判定する。
第２判定条件が充足されていない場合、ステップＳ４２においてＮＯと判定されて、処理はステップＳ４１に移行する。
一方、第２判定条件が充足されている場合、ステップＳ４２においてＹＥＳと判定されて、処理はステップＳ４３に移行する。
【００５７】
ステップＳ４３において、キャリブレーション実行判定部５１は、地磁気センサ１７ａを用いるアプリケーション以外の機能（角速度データに基づく所定情報を取得する角速度情報利用部５５）によってジャイロセンサ１７ｂがオンされているか否かを判定する。
地磁気センサ１７ａを用いるアプリケーション以外の機能によってジャイロセンサ１７ｂがオンされていない場合、ステップＳ４３においてＮＯと判定されて、処理はステップＳ４８に移行する。
一方、地磁気センサ１７ａを用いるアプリケーション以外の機能によってジャイロセンサ１７ｂがオンされている場合、ステップＳ４３においてＹＥＳと判定されて、処理はステップＳ４４に移行する。
【００５８】
ステップＳ４４において、キャリブレーション実行部５２は、既にオンされているジャイロセンサ１７ｂを用いた高速キャリブレーションを開始する。
ステップＳ４５において、キャリブレーション実行部５２は、高速キャリブレーションが完了したか否かを判定する。
高速キャリブレーションが完了していない場合、ステップＳ４５においてＮＯと判定されて、処理はステップＳ４６に移行する。
一方、高速キャリブレーションが完了している場合、ステップＳ４５においてＹＥＳと判定されて、処理はステップＳ４７に移行する。
【００５９】
ステップＳ４６において、キャリブレーション実行部５２は、高速キャリブレーションの完了時間に設定されたタイムアウトが発生しているか否かを判定する。
高速キャリブレーションの完了時間に設定されたタイムアウトが発生していない場合、ステップＳ４６においてＮＯと判定されて、処理はステップＳ４５に移行する。
一方、高速キャリブレーションの完了時間に設定されたタイムアウトが発生している場合、ステップＳ４６においてＹＥＳと判定されて、キャリブレーション制御処理が繰り返される。
ステップＳ４７において、キャリブレーション実行部５２は、ジャイロセンサ１７ｂをオンとしたまま、高速キャリブレーションを完了する。
ステップＳ４７の後、キャリブレーション制御処理が繰り返される。
【００６０】
ステップＳ４８において、キャリブレーション実行判定部５１は、第１判定処理を実行することにより、電子機器１で実行される動作に基づいてキャリブレーションが必要であるか否かを判定するための第１判定条件が充足されているか否かを判定する。
第１判定条件が充足されている場合、ステップＳ４８においてＹＥＳと判定されて、処理はステップＳ４９に移行する。
一方、第１判定条件が充足されていない場合、ステップＳ４８においてＮＯと判定されて、キャリブレーション制御処理が繰り返される。
【００６１】
ステップＳ４９において、キャリブレーション実行部５２は、ジャイロセンサ制御部５３に対してジャイロセンサ１７ｂをオンさせる指示を出力する。これにより、ジャイロセンサ制御部５３によって、ジャイロセンサ１７ｂがオンされる。
ステップＳ５０において、キャリブレーション実行部５２は、ステップＳ４９においてオンされたジャイロセンサ１７ｂを用いた高速キャリブレーションを開始する。
【００６２】
ステップＳ５１において、キャリブレーション実行部５２は、高速キャリブレーションが完了したか否かを判定する。
高速キャリブレーションが完了していない場合、ステップＳ５１においてＮＯと判定されて、処理はステップＳ５２に移行する。
一方、高速キャリブレーションが完了している場合、ステップＳ５１においてＹＥＳと判定されて、処理はステップＳ５４に移行する。
【００６３】
ステップＳ５２において、キャリブレーション実行部５２は、高速キャリブレーションの完了時間に設定されたタイムアウトが発生しているか否かを判定する。
高速キャリブレーションの完了時間に設定されたタイムアウトが発生していない場合、ステップＳ５２においてＮＯと判定されて、処理はステップＳ５１に移行する。
一方、高速キャリブレーションの完了時間に設定されたタイムアウトが発生している場合、ステップＳ５２においてＹＥＳと判定されて、処理はステップＳ５３に移行する。
【００６４】
ステップＳ５３において、キャリブレーション実行部５２は、ジャイロセンサ制御部５３に対してジャイロセンサ１７ｂをオフさせる指示を出力する。これにより、ジャイロセンサ制御部５３によって、ジャイロセンサ１７ｂがオフされる。
ステップＳ５３の後、キャリブレーション制御処理が繰り返される。
ステップＳ５４において、キャリブレーション実行部５２は、ジャイロセンサ制御部５３に対してジャイロセンサ１７ｂをオフさせる指示を出力する。これにより、ジャイロセンサ制御部５３によって、ジャイロセンサ１７ｂがオフされる。
ステップＳ５５において、キャリブレーション実行部５２は、高速キャリブレーションを完了する。
ステップＳ５５の後、キャリブレーション制御処理が繰り返される。
【００６５】
なお、ステップＳ４１，Ｓ４７，Ｓ５５においてキャリブレーションが実行された後、電子機器１は、バックグラウンド処理等により、直前のキャリブレーションからの経過時間、直前のキャリブレーション地点からの移動距離、直前のキャリブレーション時からの累積的な姿勢変化量、または直前のキャリブレーション時点からの累積的な磁場変化量を計測する。
【００６６】
このような処理により、電子機器１においては、通常キャリブレーションを常に実行しながら、高速キャリブレーションを実行するための条件が充足された場合に、ジャイロセンサ１７ｂを利用して高速キャリブレーションを実行することができる。
したがって、通常時における地磁気センサ１７ａの精度の維持を図りつつ、必要な場合には高速キャリブレーションを実行して、迅速に地磁気センサ１７ａの精度を確保することが可能となる。
【００６７】
［第３実施形態］
第１実施形態及び第２実施形態においては、地磁気センサ１７ａを用いるアプリケーション以外によってもジャイロセンサ１７ｂが使用される場合に、高速キャリブレーションを実行する例について説明した。
本実施形態における電子機器１のハードウェア構成は、第１実施形態の図２に示すハードウェア構成と同様である。また、本実施形態における電子機器１の機能的構成は、キャリブレーション実行判定部５１によってユーザの歩行または走行が検出され、第２判定条件が充足された場合に、一時的にジャイロセンサ１７ｂをオンして高速キャリブレーションを実行する点で第１実施形態及び第２実施形態と異なっている。
以下、第１実施形態及び第２実施形態と異なる部分であるキャリブレーション制御処理について説明する。
【００６８】
［キャリブレーション制御処理］
図８は、第３実施形態において電子機器１が実行するキャリブレーション制御処理の流れを説明するフローチャートである。
キャリブレーション制御処理は、電子機器１の電源投入と共に開始され、電子機器１の電源をオフする操作が行われた場合に終了する。
【００６９】
ステップＳ６１において、キャリブレーション実行部５２は、ジャイロセンサ１７ｂを用いない通常キャリブレーションを実行する。
ステップＳ６２において、キャリブレーション実行判定部５１は、ユーザの行動解析を行うことにより、ユーザが歩行または走行しているか否かを判定する。ユーザが歩行または走行しているか否かを判定する理由は、その動作を利用して効率的にキャリブレーションを実行することができるためである。なお、ここでは歩行または走行しているか否かを判定するものとするが、キャリブレーションの実行に利用できる動作であれば、歩行または走行以外の動作を判定することとしてもよい。
ユーザが歩行及び走行していない場合、ステップＳ６２においてＮＯと判定されて、処理はステップＳ６１に移行する。
一方、ユーザが歩行または走行している場合、ステップＳ６２においてＹＥＳと判定されて、処理はステップＳ６３に移行する。
【００７０】
ステップＳ６３において、キャリブレーション実行判定部５１は、第２判定処理を実行することにより、電子機器１における磁気の誤差の累積状況に基づいてキャリブレーションが必要であるか否かを判定するための第２判定条件が充足されているか否かを判定する。
第２判定条件が充足されていない場合、ステップＳ６３においてＮＯと判定されて、処理はステップＳ６１に移行する。
一方、第２判定条件が充足されている場合、ステップＳ６３においてＹＥＳと判定されて、処理はステップＳ６４に移行する。
なお、ステップＳ６１におけるユーザが歩行または走行しているかの判定と、ステップＳ６３における第２判定条件が充足されているか否かの判定とは、処理順序を逆にすることも可能である。
【００７１】
ステップＳ６４において、キャリブレーション実行部５２は、ジャイロセンサ制御部５３に対してジャイロセンサ１７ｂをオンさせる指示を出力する。これにより、ジャイロセンサ制御部５３によって、ジャイロセンサ１７ｂがオンされる。
ステップＳ６５において、キャリブレーション実行部５２は、ステップＳ６４においてオンされたジャイロセンサ１７ｂを用いた高速キャリブレーションを開始する。
【００７２】
ステップＳ６６において、キャリブレーション実行部５２は、高速キャリブレーションが完了したか否かを判定する。
高速キャリブレーションが完了していない場合、ステップＳ６６においてＮＯと判定されて、処理はステップＳ６７に移行する。
一方、高速キャリブレーションが完了している場合、ステップＳ６６においてＹＥＳと判定されて、処理はステップＳ６９に移行する。
【００７３】
ステップＳ６７において、キャリブレーション実行部５２は、高速キャリブレーションの完了時間に設定されたタイムアウトが発生しているか否かを判定する。
高速キャリブレーションの完了時間に設定されたタイムアウトが発生していない場合、ステップＳ６７においてＮＯと判定されて、処理はステップＳ６６に移行する。
一方、高速キャリブレーションの完了時間に設定されたタイムアウトが発生している場合、ステップＳ６７においてＹＥＳと判定されて、処理はステップＳ６８に移行する。
【００７４】
ステップＳ６８において、キャリブレーション実行部５２は、ジャイロセンサ制御部５３に対してジャイロセンサ１７ｂをオフさせる指示を出力する。これにより、ジャイロセンサ制御部５３によって、ジャイロセンサ１７ｂがオフされる。
ステップＳ６８の後、処理はステップＳ６１に移行する。
ステップＳ６９において、キャリブレーション実行部５２は、高速キャリブレーションを完了する。
ステップＳ６９の後、処理はステップＳ６８に移行する。
なお、ステップＳ６１，Ｓ６８においてキャリブレーションが実行された後、電子機器１は、バックグラウンド処理等により、直前のキャリブレーションからの経過時間、直前のキャリブレーション地点からの移動距離、直前のキャリブレーション時からの累積的な姿勢変化量、または直前のキャリブレーション時点からの累積的な磁場変化量を計測する。
【００７５】
このような処理により、電子機器１においては、通常キャリブレーションを常に実行しながら、ジャイロセンサを可能な限りオフとし、ユーザの歩行または走行（即ち、キャリブレーションに利用可能なユーザの動作）が検出された場合に、ジャイロセンサ１７ｂをオンして高速キャリブレーションを実行することができる。
したがって、ジャイロセンサ１７ｂをオンする期間をさらに減少させることができ、通常時における地磁気センサ１７ａの精度の維持を図りつつ、より低消費電力に地磁気センサ１７ａの高速キャリブレーションを行うことができる。
【００７６】
［第４実施形態］
第３実施形態においては、通常キャリブレーションを常時実行し、ユーザが歩行または走行していると判定され、第２判定条件が充足された場合に、一時的にジャイロセンサ１７ｂをオンして高速キャリブレーションを実行するものとした。
これに対し、通常は地磁気センサ１７ａをオフとし、通常キャリブレーションを行わない状態としながら、ユーザが歩行または走行していると判定された場合に地磁気センサ１７ａをオンとして通常キャリブレーションを実行し、さらに、第２判定条件が充足された場合に、ジャイロセンサ１７ｂをオンして高速キャリブレーションを行うことが可能である。
本実施形態における電子機器１のハードウェア構成は、第１実施形態の図２に示すハードウェア構成と同様である。また、本実施形態における電子機器１の機能的構成は、地磁気センサ制御部５６を備えている点、及び、キャリブレーション実行判定部５１によってユーザが歩行または走行していると判定された場合に地磁気センサ１７ａをオンとして通常キャリブレーションを実行し、さらに、第２判定条件が充足された場合に、ジャイロセンサ１７ｂをオンして高速キャリブレーションを行う点で第３実施形態と異なっている。
以下、第３実施形態と異なる部分である地磁気センサ制御部５６の機能的構成及びキャリブレーション制御処理について説明する。
【００７７】
図９は、第４実施形態におけるキャリブレーション制御処理を実行するための機能的構成を示す機能ブロック図である。
図９において、地磁気センサ制御部５６以外の機能的構成は、第１実施形態における図３の機能的構成とほぼ同様である。
地磁気センサ制御部５６は、キャリブレーション実行部５２の指示に応じて、地磁気センサ１７ａをオンまたはオフする。
【００７８】
［キャリブレーション制御処理］
図１０は、第４実施形態において電子機器１が実行するキャリブレーション制御処理の流れを説明するフローチャートである。
キャリブレーション制御処理は、電子機器１の電源投入と共に開始され、電子機器１の電源をオフする操作が行われた場合に終了する。
【００７９】
ステップＳ７１において、キャリブレーション実行判定部５１は、ユーザの行動解析を行うことにより、ユーザが歩行または走行しているか否かを判定する。ユーザが歩行または走行しているか否かを判定する理由は、その動作を利用して効率的にキャリブレーションを実行することができるためである。なお、ここでは歩行または走行しているか否かを判定するものとするが、キャリブレーションの実行に利用できる動作であれば、歩行または走行以外の動作を判定することとしてもよい。
ユーザが歩行及び走行していない場合、ステップＳ７１においてＮＯと判定されて、ステップＳ７１の処理が繰り返される。
一方、ユーザが歩行または走行している場合、ステップＳ７１においてＹＥＳと判定されて、処理はステップＳ７２に移行する。
【００８０】
ステップＳ７２において、キャリブレーション実行部５２は、地磁気センサ制御部５６に対して地磁気センサ１７ａをオンさせる指示を出力し、通常キャリブレーションを実行する。これにより、地磁気センサ制御部５６によって地磁気センサ１７ａがオンされ、地磁気センサ１７ａの通常キャリブレーションが開始される。
ステップＳ７３において、キャリブレーション実行判定部５１は、第２判定処理を実行することにより、電子機器１における磁気の誤差の累積状況に基づいてキャリブレーションが必要であるか否かを判定するための第２判定条件が充足されているか否かを判定する。
第２判定条件が充足されていない場合、ステップＳ７３においてＮＯと判定されて、処理はステップＳ８４に移行する。
一方、第２判定条件が充足されている場合、ステップＳ７３においてＹＥＳと判定されて、処理はステップＳ７４に移行する。
【００８１】
ステップＳ７４において、キャリブレーション実行部５２は、ジャイロセンサ制御部５３に対してジャイロセンサ１７ｂをオンさせる指示を出力する。これにより、ジャイロセンサ制御部５３によって、ジャイロセンサ１７ｂがオンされる。
ステップＳ７５において、キャリブレーション実行部５２は、ステップＳ７４においてオンされたジャイロセンサ１７ｂを用いた高速キャリブレーションを開始する。
【００８２】
ステップＳ７６において、キャリブレーション実行部５２は、高速キャリブレーションが完了したか否かを判定する。
高速キャリブレーションが完了していない場合、ステップＳ７６においてＮＯと判定されて、処理はステップＳ７７に移行する。
一方、高速キャリブレーションが完了している場合、ステップＳ７６においてＹＥＳと判定されて、処理はステップＳ７８に移行する。
【００８３】
ステップＳ７７において、キャリブレーション実行部５２は、高速キャリブレーションの完了時間に設定されたタイムアウトが発生しているか否かを判定する。
高速キャリブレーションの完了時間に設定されたタイムアウトが発生していない場合、ステップＳ７７においてＮＯと判定されて、処理はステップＳ７６に移行する。
一方、高速キャリブレーションの完了時間に設定されたタイムアウトが発生している場合、ステップＳ７７においてＹＥＳと判定されて、処理はステップＳ７９に移行する。
【００８４】
ステップＳ７８において、キャリブレーション実行部５２は、高速キャリブレーションを完了する。
ステップＳ７８の後、処理はステップＳ７９に移行する。
ステップＳ７９において、キャリブレーション実行部５２は、ジャイロセンサ制御部５３に対してジャイロセンサ１７ｂをオフさせる指示を出力する。これにより、ジャイロセンサ制御部５３によって、ジャイロセンサ１７ｂがオフされる。
ステップＳ８０において、キャリブレーション実行部５２は、ジャイロセンサ１７ｂを用いない通常キャリブレーションを実行する。これにより、高速キャリブレーションを試み、高速キャリブレーションが完了した場合及び高速キャリブレーションがタイムアウトとなった場合に、通常キャリブレーションが行われる状態に移行することができる。
【００８５】
ステップＳ８１において、キャリブレーション実行部５２は、通常キャリブレーションの完了時間に設定されたタイムアウトが発生しているか否かを判定する。
通常キャリブレーションの完了時間に設定されたタイムアウトが発生していない場合、ステップＳ８１においてＮＯと判定されて、処理はステップＳ８２に移行する。
一方、通常キャリブレーションの完了時間に設定されたタイムアウトが発生している場合、ステップＳ８１においてＹＥＳと判定されて、処理はステップＳ８４に移行する。
【００８６】
ステップＳ８２において、キャリブレーション実行判定部５１は、ユーザの行動解析を行うことにより、ユーザが歩行または走行しているか否かを判定する。ユーザが歩行または走行しているか否かを判定する理由は、その動作を利用してキャリブレーションを実行することができるためである。なお、ここでは歩行または走行しているか否かを判定するものとするが、キャリブレーションの実行に利用できる動作であれば、歩行または走行以外の動作を判定することとしてもよい。
ユーザが歩行及び走行していない場合、ステップＳ８２においてＮＯと判定されて、処理はステップＳ８１に移行する。
一方、ユーザが歩行または走行している場合、ステップＳ８２においてＹＥＳと判定されて、処理はステップＳ８３に移行する。
【００８７】
ステップＳ８３において、キャリブレーション実行判定部５１は、第２判定処理を実行することにより、電子機器１における磁気の誤差の累積状況に基づいてキャリブレーションが必要であるか否かを判定するための第２判定条件が充足されているか否かを判定する。
第２判定条件が充足されていない場合、ステップＳ８３においてＮＯと判定されて、処理はステップＳ８４に移行する。
一方、第２判定条件が充足されている場合、ステップＳ８３においてＹＥＳと判定されて、処理はステップＳ７４に移行する。
なお、ステップＳ８２におけるユーザが歩行または走行しているか否かの判定と、ステップＳ８３における第２判定条件が充足されているか否かの判定とは、処理順序を逆にすることも可能である。
【００８８】
ステップＳ８４において、キャリブレーション実行部５２は、通常キャリブレーションを終了する。
ステップＳ８５において、キャリブレーション実行部５２は、地磁気センサ制御部５６に対して地磁気センサ１７ａをオフさせる指示を出力する。これにより、地磁気センサ制御部５６によって地磁気センサ１７ａがオフされる。
ステップＳ８５の後、処理はステップＳ７１に移行する。
【００８９】
なお、ステップＳ７２，Ｓ７９，Ｓ８０においてキャリブレーションが実行された後、電子機器１は、バックグラウンド処理等により、直前のキャリブレーションからの経過時間、直前のキャリブレーション地点からの移動距離、直前のキャリブレーション時からの累積的な姿勢変化量、または直前のキャリブレーション時点からの累積的な磁場変化量を計測する。
【００９０】
このような処理により、電子機器１においては、通常は地磁気センサ１７ａをオフとし、通常キャリブレーションを行わない状態としながら、ユーザが歩行または走行していると判定された場合に地磁気センサ１７ａをオンとして通常キャリブレーションを実行し、さらに、第２判定条件が充足された場合に、ジャイロセンサ１７ｂをオンして高速キャリブレーションを行うことができる。
したがって、地磁気センサ１７ａ及びジャイロセンサ１７ｂをオンする期間を減少させることができ、より低消費電力に地磁気センサ１７ａの高速キャリブレーションを行うことができる。
【００９１】
［変形例１］
上述の各実施形態において、高速キャリブレーションの完了時間に設定されたタイムアウトが発生した場合に、通常キャリブレーションを実行するものとして説明したが、これに限られない。
例えば、高速キャリブレーションの完了時間に設定されたタイムアウトが発生した場合、通常キャリブレーションを行うことなく、この時点では、キャリブレーション実行部５２がキャリブレーションを中止することとしてもよい。そして、キャリブレーション実行部５２が、高速キャリブレーションの実行タイミングを調整し、予め設定された時間の後に高速キャリブレーションを再実行することとしてもよい。
これにより、磁場環境が不良であり、現在はキャリブレーションに適するタイミングではないと考えられる状況等において、高速キャリブレーションを実行可能な後のタイミングで、高速キャリブレーションを再実行することができる。
【００９２】
以上のように構成される電子機器１は、地磁気センサ１７ａと、ジャイロセンサ１７ｂと、キャリブレーション実行部５２と、ジャイロセンサ制御部５３と、キャリブレーション実行判定部５１と、を備える。
キャリブレーション実行部５２は、ジャイロセンサ１７ｂが出力する角速度データに基づいて、地磁気センサ１７ａがより正確な地磁気データを出力できるように、地磁気センサ１７ａの出力誤差の較正を行う。
ジャイロセンサ制御部５３は、ジャイロセンサ１７ｂのオン／オフ制御を行う。
キャリブレーション実行判定部５１は、地磁気センサ１７ａの較正が必要であるか否かを判定する。
ジャイロセンサ制御部５３は、キャリブレーション実行判定部５１が地磁気センサ１７ａの較正が必要ではないと判定した場合に、ジャイロセンサ１７ｂをオフするように制御する。
このような処理により、電子機器１においては、ジャイロセンサ１７ｂを用いた地磁気センサ１７ａのキャリブレーションが完了した場合、ジャイロセンサ１７ｂがオフされる。
そのため、ジャイロセンサ１７ｂをオンする期間をより減少させることができ、より低消費電力にジャイロセンサ１７ｂを用いた地磁気センサ１７ａのキャリブレーションを行うことができる。
即ち、電子機器１によれば、地磁気センサ１７ａのオフセットを較正するためのキャリブレーションにかかる消費電力の増大を抑制することが可能となる。
【００９３】
ジャイロセンサ制御部５３は、キャリブレーション実行判定部５１が地磁気センサ１７ａの較正が必要ではないと判定した場合であって、ジャイロセンサ１７ｂが他の処理において利用されていない場合に、ジャイロセンサ１７ｂをオフするように制御する。
これにより、ジャイロセンサ１７ｂが使用されていない場合にジャイロセンサ１７ｂをオフとすることができ、消費電力の増大を抑制することができる。
【００９４】
また、電子機器１は、角速度情報利用部５５を備える。
角速度情報利用部５５は、ジャイロセンサ１７ｂを利用することで所定の情報を取得する。
ジャイロセンサ制御部５３は、角速度情報利用部５５により所定の情報を取得している間はジャイロセンサ１７ｂをオンする。
キャリブレーション実行部５２は、角速度情報利用部５５により所定の情報を取得している間に、ジャイロセンサ１７ｂが出力する角速度データを利用して地磁気センサ１７ａの出力誤差の較正を行う。
これにより、地磁気センサ１７ａを用いるアプリケーション以外の機能（角速度データに基づく所定情報を取得する角速度情報利用部５５）によってジャイロセンサ１７ｂがオンされているタイミングを利用して、より低消費電力にジャイロセンサ１７ｂを用いた地磁気センサ１７ａのキャリブレーションを行うことができる。
【００９５】
ジャイロセンサ制御部５３は、キャリブレーション実行判定部５１が地磁気センサ１７ａの較正が必要であると判定した場合に、ジャイロセンサ１７ｂをオンするように制御する。
これにより、ジャイロセンサ１７ｂをオンする期間をより減少させることができ、より低消費電力に地磁気センサ１７ａの高速キャリブレーションを行うことができる。
【００９６】
キャリブレーション実行判定部５１は、地磁気センサ１７ａの磁気精度が良好であるか否かを判定すること及び／又は電子機器１のユーザが地磁気センサ１７ａの出力誤差の較正に利用可能な動作を行っているか否かを判定することによって、地磁気センサ１７ａの較正が必要であるか否かを判定する。
これにより、地磁気センサ１７ａの精度が低下している場合あるいは電子機器１のユーザが地磁気センサ１７ａの出力誤差の較正に利用可能な動作を行っている場合に、ジャイロセンサ１７ｂを用いて地磁気センサ１７ａの較正を行うことができる。
【００９７】
キャリブレーション実行判定部５１は、電子機器１のユーザが地磁気センサ１７ａの出力誤差の較正に利用可能な動作を行っているか否かを判定する。
キャリブレーション実行部５２は、キャリブレーション実行判定部５１によって電子機器１のユーザが地磁気センサ１７ａの出力誤差の較正に利用可能な動作を行っていると判定された場合に、地磁気センサ１７ａの出力誤差の較正を行う。
これにより、ユーザの動作を利用して、効率的に地磁気センサ１７ａのキャリブレーションを実行することができる。
【００９８】
キャリブレーション実行部５２は、キャリブレーション実行判定部５１によって地磁気センサ１７ａの較正が必要であると判定され、かつ、電子機器１のユーザが地磁気センサ１７ａの出力誤差の較正に利用可能な動作を行っていると判定された場合に、地磁気センサ１７ａの出力誤差の較正を行う。
これにより、ユーザの行動を地磁気センサ１７ａのキャリブレーションに利用できる状況において、地磁気センサ１７ａの精度が低下している場合に、効率的に地磁気センサ１７ａのキャリブレーションを実行することができる。
【００９９】
キャリブレーション実行部５２は、ジャイロセンサ１７ｂが出力する角速度データに基づいて、地磁気センサ１７ａがより正確な地磁気データを出力できるように、地磁気センサ１７ａの出力誤差を較正する第１較正処理（高速キャリブレーション）と、ジャイロセンサ１７ｂが出力する角速度データを用いることなく、地磁気センサ１７ａがより正確な地磁気データを出力できるように、地磁気センサ１７ａの出力誤差を較正する第２較正処理（通常キャリブレーション）と、を実行可能である。
キャリブレーション実行判定部５１によって地磁気センサ１７ａの較正が必要であると判定された場合、ジャイロセンサ制御部５３がジャイロセンサ１７ｂをオンすると共にキャリブレーション実行部５２が第１較正処理を実行し、キャリブレーション実行判定部５１によって地磁気センサ１７ａの較正が必要であると判定された場合以外において、キャリブレーション実行部５２が第２較正処理を実行する。
これにより、地磁気センサ１７ａの精度を維持しつつ、地磁気センサ１７ａのキャリブレーションが必要となっている場合に、より高速にキャリブレーションを実行することができる。
【０１００】
通常時にはキャリブレーション実行部５２が第２較正処理を実行し、キャリブレーション実行判定部５１によって地磁気センサ１７ａの較正が必要であると判定された場合、ジャイロセンサ制御部５３がジャイロセンサ１７ｂをオンすると共にキャリブレーション実行部５２が第１較正処理を実行する。
これにより、ジャイロセンサ１７ｂをオンする期間を減少させることができ、通常時における地磁気センサ１７ａの精度の維持を図りつつ、より低消費電力に地磁気センサ１７ａの高速キャリブレーションを行うことができる。
【０１０１】
キャリブレーション実行部５２は、地磁気センサ１７ａの較正の較正タイミングを調整する。
ジャイロセンサ制御部５３は、キャリブレーション実行部５２が調整した較正タイミングに基づいて、ジャイロセンサ１７ｂをオンオフするように制御する。
これにより、磁場環境が不良であり、現在はキャリブレーションに適するタイミングではないと考えられる状況等において、ジャイロセンサ１７ｂを用いたキャリブレーションを実行可能な後のタイミングで、ジャイロセンサ１７ｂを用いたキャリブレーションを再実行することができる。
【０１０２】
キャリブレーション実行判定部５１は、直前のキャリブレーションからの経過時間、直前のキャリブレーション地点からの移動距離、直前のキャリブレーション時からの姿勢変化量及び直前のキャリブレーションからの累積的な磁場変化量の少なくともいずれか１つを測定し、当該測定結果が予め定められた閾値を超えた場合に、地磁気センサ１７ａの較正が必要であると判定する。
これにより、電子機器１における磁気の誤差の累積状況に基づいてキャリブレーションが必要であるか否かを判定することができる。
【０１０３】
また、電子機器１は、地磁気センサ１７ａと、ジャイロセンサ１７ｂと、キャリブレーション実行部５２と、ジャイロセンサ制御部５３と、角速度情報利用部５５と、を備える。
キャリブレーション実行部５２は、ジャイロセンサ１７ｂが出力する角速度データに基づいて、地磁気センサ１７ａがより正確な地磁気データを出力できるように、地磁気センサ１７ａの出力誤差の較正を行う。
ジャイロセンサ制御部５３は、ジャイロセンサ１７ｂのオン／オフ制御を行う。
角速度情報利用部５５は、ジャイロセンサ１７ｂを利用することで所定の情報を取得する。
ジャイロセンサ制御部５３は、角速度情報利用部５５により所定の情報を取得している間はジャイロセンサ１７ｂをオンする。
キャリブレーション実行部５２は、角速度情報利用部５５により所定の情報を取得している間に、ジャイロセンサ１７ｂが出力する角速度データを利用して地磁気センサ１７ａの出力誤差の較正を行う。
これにより、地磁気センサ１７ａを用いるアプリケーション以外の機能（角速度データに基づく所定情報を取得する角速度情報利用部５５）によってジャイロセンサ１７ｂがオンされているタイミングを利用して、より低消費電力にジャイロセンサ１７ｂを用いた地磁気センサ１７ａのキャリブレーションを行うことができる。
【０１０４】
なお、本発明は、上述の実施形態に限定されるものではなく、本発明の目的を達成できる範囲での変形、改良等は本発明に含まれるものである。
【０１０５】
上述の実施形態において、ジャイロセンサ１７ｂを用いる処理の予定が定められている場合（例えば、間欠的にユーザの運動データを取得する場合等）には、この予定に合わせて、地磁気センサ１７ａの高速キャリブレーションを実行することとしてもよい。また、地磁気センサ１７ａの高速キャリブレーションを行う必要が生じた場合に、ジャイロセンサ１７ｂを用いる処理の予定が所定時間内に近付いている場合には、予定を早めてジャイロセンサ１７ｂをオンし、地磁気センサ１７ａの高速キャリブレーションを行うこととしてもよい。
【０１０６】
また、上述の実施形態において、キャリブレーション制御処理のステップＳ８では、電子機器１で実行される動作に基づいてキャリブレーションが必要であるか否かを判定するための第１判定条件のみを判定するものとしたが、これに限られない。例えば、キャリブレーション制御処理のステップＳ８において、第１判定条件に加え、電子機器１における磁気の誤差の累積状況に基づいてキャリブレーションが必要であるか否かを判定するための第２判定条件を判定し、これら第１判定条件または第２判定条件が充足された場合に、ジャイロセンサ１７ｂをオンして高速キャリブレーションを開始することとしてもよい。
これにより、電子機器１における地磁気センサ１７ａのキャリブレーションが必要な状況において、より迅速に高速キャリブレーションを行うことができる。
さらに、キャリブレーション制御処理のステップＳ２において、第１判定条件及び第２判定条件の一方のみを判定することも可能であり、キャリブレーション制御処理のステップＳ８において、第２判定条件のみを判定することも可能である。このように第１判定条件及び第２判定条件の一方または両方を必要に応じて判定対象とすることにより、目的とする装置構成を柔軟に実現することが可能となる。
【０１０７】
また、上述の実施形態において、第２判定条件を判定する場合、電子機器１における磁気の誤差の累積状況を表すレベルを多段階に設定し、電子機器１において、このレベルがどの程度であるかを判定することとしてもよい。例えば、電子機器１における磁気の誤差の累積が小さいほど高いレベル（例えば「レベル３」）を設定し、キャリブレーションが必要となる磁気の誤差の累積状況を最低のレベル（例えば「レベル０」）に設定すること等が可能である。
このようにレベルを設定することにより、電子機器１における磁気の誤差の累積状況をより簡単に判定することが可能となる。
【０１０８】
また、上述の実施形態では、本発明が適用される電子機器１は、腕時計型の装置（スマートウォッチ等）を例として説明したが、特にこれに限定されない。
例えば、本発明は、地磁気センサのキャリブレーション機能を有する電子機器一般に適用することができる。具体的には、例えば、本発明は、ノート型のパーソナルコンピュータ、テレビジョン受像機、ビデオカメラ、携帯型ナビゲーション装置、携帯電話機、スマートフォン、ポータブルゲーム機等に適用可能である。
【０１０９】
上述した一連の処理は、ハードウェアにより実行させることもできるし、ソフトウェアにより実行させることもできる。
換言すると、図３の機能的構成は例示に過ぎず、特に限定されない。即ち、上述した一連の処理を全体として実行できる機能が電子機器１に備えられていれば足り、この機能を実現するためにどのような機能ブロックを用いるのかは特に図３の例に限定されない。
また、１つの機能ブロックは、ハードウェア単体で構成してもよいし、ソフトウェア単体で構成してもよいし、それらの組み合わせで構成してもよい。
本実施形態における機能的構成は、演算処理を実行するプロセッサによって実現され、本実施形態に用いることが可能なプロセッサには、シングルプロセッサ、マルチプロセッサ及びマルチコアプロセッサ等の各種処理装置単体によって構成されるものの他、これら各種処理装置と、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）やＦＰＧＡ（Ｆｉｅｌｄ‐Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）等の処理回路とが組み合わせられたものを含む。
また、マルチプロセッサ、マルチコアプロセッサあるいは各種処理装置と処理回路とが組み合わせられたもの等、演算処理を行う主体が複数備えられた装置に本発明を適用する場合、１つの演算処理主体がキャリブレーション制御処理を実行することにより、他の演算処理主体の稼働状態（休止状態、スリープ状態、他の処理を実行中の状態等）によらず、キャリブレーション制御処理の結果を各演算処理主体で利用することができる。
【０１１０】
一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、コンピュータ等にネットワークや記録媒体からインストールされる。
コンピュータは、専用のハードウェアに組み込まれているコンピュータであってもよい。また、コンピュータは、各種のプログラムをインストールすることで、各種の機能を実行することが可能なコンピュータ、例えば汎用のパーソナルコンピュータであってもよい。
【０１１１】
このようなプログラムを含む記録媒体は、ユーザにプログラムを提供するために装置本体とは別に配布される図２のリムーバブルメディア３１により構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに提供される記録媒体等で構成される。リムーバブルメディア３１は、例えば、磁気ディスク（フロッピディスクを含む）、光ディスク、または光磁気ディスク等により構成される。光ディスクは、例えば、ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｋ−Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ），ＤＶＤ（Ｄｉｇｉｔａｌ
Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ），Ｂｌｕ−ｒａｙ（登録商標）  Ｄｉｓｃ（ブルーレイディスク）等により構成される。光磁気ディスクは、ＭＤ（Ｍｉｎｉ−Ｄｉｓｋ）等により構成される。また、装置本体に予め組み込まれた状態でユーザに提供される記録媒体は、例えば、プログラムが記録されている図２のＲＯＭ１２や、図２の記憶部２１に含まれる半導体メモリ等で構成される。
【０１１２】
なお、本明細書において、記録媒体に記録されるプログラムを記述するステップは、その順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【０１１３】
以上、本発明のいくつかの実施形態について説明したが、これらの実施形態は、例示に過ぎず、本発明の技術的範囲を限定するものではない。本発明はその他の様々な実施形態を取ることが可能であり、さらに、本発明の要旨を逸脱しない範囲で、省略や置換等種々の変更を行うことができる。これら実施形態やその変形は、本明細書等に記載された発明の範囲や要旨に含まれると共に、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【０１１４】
以下に、本願の出願当初の特許請求の範囲に記載された発明を付記する。
［付記１］
地磁気センサと、
角速度センサと、
前記角速度センサが出力する角速度データに基づいて、前記地磁気センサがより正確な地磁気データを出力できるように、前記地磁気センサの出力誤差の較正を行う較正手段と、を備える電子機器であって、
前記角速度センサのオン／オフ制御を行う制御手段と、
前記地磁気センサの較正が必要であるか否かを判定する判定手段と、
を有し、
前記制御手段は、前記判定手段が前記地磁気センサの較正が必要ではないと判定した場合に、前記角速度センサをオフするように制御することを特徴とする電子機器。
［付記２］
前記制御手段は、前記判定手段が前記地磁気センサの較正が必要ではないと判定した場合であって、前記角速度センサが他の処理において利用されていない場合に、前記角速度センサをオフするように制御することを特徴とする付記１に記載の電子機器。
［付記３］
前記角速度センサを利用することで所定の情報を取得する角速度情報取得手段を有し、
前記制御手段は、前記角速度情報取得手段により前記所定の情報を取得している間は前記角速度センサをオンし、
前記較正手段は、前記角速度情報取得手段により前記所定の情報を取得している間に、前記角速度センサが出力する角速度データを利用して前記地磁気センサの出力誤差の較正を行うことを特徴とする付記１または２に記載の電子機器。
［付記４］
前記制御手段は、前記判定手段が前記地磁気センサの較正が必要であると判定した場合に、前記角速度センサをオンするように制御することを特徴とする付記１から３のいずれか１つに記載の電子機器。
［付記５］
前記判定手段は、前記地磁気センサの磁気精度が良好であるか否かを判定すること及び／又は前記電子機器のユーザが前記地磁気センサの出力誤差の較正に利用可能な動作を行っているか否かを判定することによって、前記地磁気センサの較正が必要であるか否かを判定することを特徴とする付記１から４のいずれか１つに記載の電子機器。
［付記６］
前記電子機器のユーザが前記地磁気センサの出力誤差の較正に利用可能な動作を行っているか否かを判定する動作判定手段を有し、
前記較正手段は、前記動作判定手段によって前記電子機器のユーザが前記地磁気センサの出力誤差の較正に利用可能な動作を行っていると判定された場合に、前記地磁気センサの出力誤差の較正を行うことを特徴とする付記１から４のいずれか１つに記載の電子機器。
［付記７］
前記較正手段は、前記判定手段によって前記地磁気センサの較正が必要であると判定され、かつ、前記動作判定手段によって前記電子機器のユーザが前記地磁気センサの出力誤差の較正に利用可能な動作を行っていると判定された場合に、前記地磁気センサの出力誤差の較正を行うことを特徴とする付記６に記載の電子機器。
［付記８］
前記較正手段は、
前記角速度センサが出力する角速度データに基づいて、前記地磁気センサがより正確な地磁気データを出力できるように、前記地磁気センサの出力誤差を較正する第１較正処理と、
前記角速度センサが出力する角速度データを用いることなく、前記地磁気センサがより正確な地磁気データを出力できるように、前記地磁気センサの出力誤差を較正する第２較正処理と、を実行可能であり、
前記判定手段によって前記地磁気センサの較正が必要であると判定された場合、前記制御手段が前記角速度センサをオンすると共に前記較正手段が前記第１較正処理を実行し、前記判定手段によって前記地磁気センサの較正が必要であると判定された場合以外において、前記較正手段が前記第２較正処理を実行することを特徴とする付記１から７のいずれか１つに記載の電子機器。
［付記９］
通常時には前記較正手段が前記第２較正処理を実行し、前記判定手段によって前記地磁気センサの較正が必要であると判定された場合、前記制御手段が前記角速度センサをオンすると共に前記較正手段が前記第１較正処理を実行することを特徴とする付記８に記載の電子機器。
［付記１０］
前記較正手段が行う前記地磁気センサの較正の較正タイミングを調整する調整手段を有し、
前記制御手段は、前記調整手段が調整した較正タイミングに基づいて、前記角速度センサをオンオフするように制御することを特徴とする付記１から９のいずれか１つに記載の電子機器。
［付記１１］
前記判定手段は、直前のキャリブレーションからの経過時間、直前のキャリブレーション地点からの移動距離、直前のキャリブレーション時からの姿勢変化量及び直前のキャリブレーションからの累積的な磁場変化量の少なくともいずれか１つを測定し、当該測定結果が予め定められた閾値を超えた場合に、前記地磁気センサの較正が必要であると判定することを特徴とする付記１から１０のいずれか１つに記載の電子機器。
［付記１２］
地磁気センサと、
角速度センサと、
前記角速度センサが出力する角速度データに基づいて、前記地磁気センサがより正確な地磁気データを出力できるように、前記地磁気センサの出力誤差の較正を行う較正手段と、を備える電子機器であって、
前記角速度センサのオン／オフ制御を行う制御手段と、
前記角速度センサを利用することで所定の情報を取得する角速度情報取得手段と、
を有し、
前記制御手段は、前記角速度情報取得手段により前記所定の情報を取得している間は前記角速度センサをオンし、
前記較正手段は、前記角速度情報取得手段により前記所定の情報を取得している間に、前記角速度センサが出力する角速度データを利用して前記地磁気センサの出力誤差の較正を行うことを特徴とする電子機器。
［付記１３］
地磁気センサと、
角速度センサと、
前記角速度センサが出力する角速度データに基づいて、前記地磁気センサがより正確な地磁気データを出力できるように、前記地磁気センサの出力誤差の較正を行う較正手段と、を備える電子機器が実行する較正制御方法であって、
前記角速度センサのオン／オフ制御を行う制御ステップと、
前記地磁気センサの較正が必要であるか否かを判定する判定ステップと、
を含み、
前記制御ステップでは、前記判定ステップにおいて前記地磁気センサの較正が必要ではないと判定された場合に、前記角速度センサをオフするように制御することを特徴とする較正制御方法。
［付記１４］
地磁気センサと、
角速度センサと、
を備える電子機器が実行する較正制御方法であって、
前記角速度センサが出力する角速度データに基づいて、前記地磁気センサがより正確な地磁気データを出力できるように、前記地磁気センサの出力誤差の較正を行う較正ステップと、
前記角速度センサのオン／オフ制御を行う制御ステップと、
前記角速度センサを利用することで所定の情報を取得する角速度情報取得ステップと、
を含み、
前記制御ステップでは、前記角速度情報取得ステップにより前記所定の情報を取得している間は前記角速度センサをオンし、
前記較正ステップでは、前記角速度情報取得ステップにより前記所定の情報を取得している間に、前記角速度センサが出力する角速度データを利用して前記地磁気センサの出力誤差の較正を行うことを特徴とする較正制御方法。
［付記１５］
地磁気センサと、
角速度センサと、
前記角速度センサが出力する角速度データに基づいて、前記地磁気センサがより正確な地磁気データを出力できるように、前記地磁気センサの出力誤差の較正を行う較正手段と、を備える電子機器を制御するコンピュータに、
前記角速度センサのオン／オフ制御を行う制御機能と、
前記地磁気センサの較正が必要であるか否かを判定する判定機能と、
を実現させ、
前記制御機能は、前記判定機能が前記地磁気センサの較正が必要ではないと判定した場合に、前記角速度センサをオフするように制御することを特徴とするプログラム。
［付記１６］
地磁気センサと、
角速度センサと、
を備える電子機器を制御するコンピュータに、
前記角速度センサが出力する角速度データに基づいて、前記地磁気センサがより正確な地磁気データを出力できるように、前記地磁気センサの出力誤差の較正を行う較正機能と、
前記角速度センサのオン／オフ制御を行う制御機能と、
前記角速度センサを利用することで所定の情報を取得する角速度情報取得機能と、
を実現させ、
前記制御機能は、前記角速度情報取得機能により前記所定の情報を取得している間は前記角速度センサをオンし、
前記較正機能は、前記角速度情報取得機能により前記所定の情報を取得している間に、前記角速度センサが出力する角速度データを利用して前記地磁気センサの出力誤差の較正を行うことを特徴とするプログラム。
【符号の説明】
【０１１５】
１・・・電子機器，１１・・・ＣＰＵ，１２・・・ＲＯＭ，１３・・・ＲＡＭ，１４・・・バス，１５・・・入出力インターフェース，１６・・・ＧＰＳ部，１７・・・センサ部，１７ａ・・・地磁気センサ，１７ｂ・・・ジャイロセンサ，１７ｃ・・・加速度センサ，１７ｄ・・・脈拍センサ，１８・・・撮像部，１９・・・入力部，２０・・・出力部，２１・・・記憶部，２２・・・通信部，２３・・・ドライブ，３１・・・リムーバブルメディア，５１・・・キャリブレーション実行判定部，５２・・・キャリブレーション実行部，５３・・・ジャイロセンサ制御部，５４・・・表示制御部，５５・・・角速度情報利用部，５６・・・地磁気センサ制御部
【図１】
2020118699.tif 000003
【図２】
2020118699.tif 000004
【図３】
2020118699.tif 000005
【図４】
2020118699.tif 000006
【図５】
2020118699.tif 000007
【図６】
2020118699.tif 000008
【図７】
2020118699.tif 000009
【図８】
2020118699.tif 000010
【図９】
2020118699.tif 000011
【図１０】
2020118699.tif 000012