(57)【要約】【課題】  ユーザが面倒な操作をすることなく、また、特に意識することもなく自動的にオフセットデータのキャリブレーションが行われれる携帯情報処理装置を提供する。【解決手段】  ユーザが表示部に表示されたメニューからキャリブレーション実行を選択すると（ステップＳ１）、ゲームアプリケーションがロードされ、ゲーム開始の準備が行われる（Ｓ２）。次に、ユーザがゲームスタートを指示すると（Ｓ３）、ゲームがスタートする（Ｓ４）。以後、ゲームが行われ、同時に、キャリブレーション用のデータが収集される（Ｓ５）。そして、ゲームが終了すると（Ｓ６）、ゲームの間に収集されたデータに基づいてキャリブレーション処理が実行され、これにより、オフセットデータが求められる（Ｓ７）。次いで、求められたオフセットデータによってメモリ内のオフセットデータが書き換えられる（Ｓ８）。【選択図】    図６
2006174855.tif 000002
【特許請求の範囲】
【請求項１】
アプリケーションゲームソフトを実行可能な携帯情報処理装置において、
磁界の強さを測定する磁気センサが出力する磁界データに基づいて携帯情報処理装置本体の方位情報を出力する方位出力手段と、
前記アプリケーションソフトを読み込んで実行する制御手段と、
前記アプリケーションゲームソフトによって実行されるゲームの内容を表示する表示手段と、
を具備し、前記アプリケーションゲームソフトは、プレイヤが携帯情報処理装置本体を傾けた時、前記方位出力手段が出力する方位情報に従ってボールが移動するように前記表示手段に表示させるゲームであることを特徴とする携帯情報処理装置。
【請求項２】
データを一時記憶する記憶手段と、
前記ゲームが進行している時に前記磁気センサが出力する磁界データを前記記憶手段へ記憶させるデータ格納手段と、
前記記憶手段に記憶されている前記磁界データを基にしてオフセット値を演算して前記記憶手段に記憶させるオフセット値演算手段と、
をさらに具備し、前記方位出力手段は、前記記憶手段に記憶されている前記オフセット値に基づいて方位を演算して出力することを特徴とする請求項１に記載の携帯情報処理装置。
【請求項３】
アプリケーションゲームソフトを実行可能な携帯情報処理装置において、
携帯情報処理装置本体の傾き測定し出力する傾き出力手段と、
前記アプリケーションソフトを読み込んで実行する制御手段と、
前記アプリケーションゲームソフトによって実行されるゲームの内容を表示する表示手段と、
データを一時記憶する記憶手段と、
磁界の強さを測定する磁気センサと、
前記ゲームが進行している時に前記磁気センサが出力する磁界データを前記記憶手段へ記憶させるデータ格納手段と、
前記記憶手段に記憶されている磁界データを基にしてオフセット値を演算して前記記憶手段に記憶させるオフセット値演算手段と、
を具備し、前記アプリケーションゲームソフトは、プレイヤが携帯情報処理装置本体を傾けた時、前記傾き出力手段が出力する傾き情報に従ってボールが移動するように前記表示手段に表示させるバランスゲームであることを特徴とする携帯情報処理装置。
【請求項４】
前記制御手段は、前記アプリケーションソフトと、前記携帯情報処理装置本体の方位情報または傾き情報を求める関数を含むＡＰＩと、前記ＡＰＩからの指示に基づいて実行される演算プログラムと、前記アプリケーションソフトを実行するプログラム実行手段とからなることを特徴とする請求項１〜請求項３のいずれかの項に記載の携帯情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、携帯電話機、ＰＤＡ、携帯ゲーム機等の携帯情報処理装置に関する。
【背景技術】
【０００２】
近年、地図情報を有すると共に、その地図情報を用いたナビゲーション機能を有する携帯電話機が開発されている。このような携帯電話機においては、ユーザの進行方向の方位を検出する必要があり、このため、地磁気を検出する地磁気センサが設けられる。
しかし、携帯電話機の地磁気センサは、携帯電話機に搭載されるスピーカ、マイクロフォン、着磁した電子部品の金属パッケージ等から漏れる磁界と地球の磁界の合成磁界を検出しているため、地球の磁界以外の磁界を求め、それをオフセットとして、計測されたデータから差し引いて実際の方位を求めることを行う。このオフセットはいろいろの条件で変化し、このため、地磁気センサを具備する携帯電話機やその他の携帯情報端末においては、オフセットデータのキャリブレーションが必要となる。
【０００３】
従来、オフセットデータのキャリブレーションの方法として、例えば、携帯電話機が表示器によってユーザに操作を指示し、ユーザがその指示通り携帯電話機を動かすと、自動的にキャリブレーションが行われるという方法が知られている。しかしながら、このようなキャリブレーション方法は、携帯電話機の操作が複雑で、ユーザにとって面倒であるという欠点があった。
【０００４】
なお、特許文献１には、傾きセンサを有し、装置を傾けることによってバランスゲームを進行させる装置が開示されている。しかし、この文献記載のものは、携帯情報端末ではなく、単体のゲーム機であり、ソフトウエアを変更して地磁気センサからの情報を利用した様々なゲームをすることはできない。
【０００５】
また、特許文献２には、磁気センサを９０度または１８０度ずつ回転させ、その時のセンサ出力値に基づいて磁気センサのキャリブレーションを行う装置が記載されている。しかしながら、この装置はユーザが意識することなく、いつの間にかキャリブレーションが行われるというものではない。
【特許文献１】特開2000-153059号公報
【特許文献２】特開2004-012416号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
本発明は上記事情を考慮してなされたもので、その目的は、ユーザが面倒な操作をすることなく、また、特に意識することもなく自動的にオフセットデータのキャリブレーションが行われれる携帯情報処理装置を提供することにある。
また、この発明の他の目的は、ソフトウエアを変更することによって、磁気センサからの情報を利用した様々なゲームを可能とする携帯情報処理装置を提供することにある。
【課題を解決するための手段】
【０００７】
この発明は上述した課題を解決するためになされたもので、請求項１に記載の発明は、アプリケーションゲームソフトを実行可能な携帯情報処理装置において、磁界の強さを測定する磁気センサが出力する磁界データに基づいて携帯情報処理装置本体の方位情報を出力する方位出力手段と、前記アプリケーションソフトを読み込んで実行する制御手段と、前記アプリケーションゲームソフトによって実行されるゲームの内容を表示する表示手段とを具備し、前記アプリケーションゲームソフトは、プレイヤが携帯情報処理装置本体を傾けた時、前記方位出力手段が出力する方位情報に従ってボールが移動するように前記表示手段に表示させるゲームであることを特徴とする携帯情報処理装置である。
【０００８】
請求項２に記載の発明は、請求項１に記載の携帯情報処理装置において、データを一時記憶する記憶手段と、前記ゲームが進行している時に前記磁気センサが出力する磁界データを前記記憶手段へ記憶させるデータ格納手段と、前記記憶手段に記憶されている前記磁界データを基にしてオフセット値を演算して前記記憶手段に記憶させるオフセット値演算手段とをさらに具備し、前記方位出力手段は、前記記憶手段に記憶されている前記オフセット値に基づいて方位を演算して出力することを特徴とする。
【０００９】
請求項３に記載の発明は、アプリケーションゲームソフトを実行可能な携帯情報処理装置において、携帯情報処理装置本体の傾き測定し出力する傾き出力手段と、前記アプリケーションソフトを読み込んで実行する制御手段と、前記アプリケーションゲームソフトによって実行されるゲームの内容を表示する表示手段と、データを一時記憶する記憶手段と、磁界の強さを測定する磁気センサと、前記ゲームが進行している時に前記磁気センサが出力する磁界データを前記記憶手段へ記憶させるデータ格納手段と、前記記憶手段に記憶されている磁界データを基にしてオフセット値を演算して前記記憶手段に記憶させるオフセット値演算手段とを具備し、前記アプリケーションゲームソフトは、プレイヤが携帯情報処理装置本体を傾けた時、前記傾き出力手段が出力する傾き情報に従ってボールが移動するように前記表示手段に表示させるバランスゲームであることを特徴とする携帯情報処理装置である。
【００１０】
請求項４に記載の発明は、請求項１〜請求項３のいずれかの項に記載の携帯情報処理装置において、前記制御手段は、前記アプリケーションソフトと、前記携帯情報処理装置本体の方位情報または傾き情報を求める関数を含むＡＰＩと、前記ＡＰＩからの指示に基づいて実行される演算プログラムと、前記アプリケーションソフトを実行するプログラム実行手段とからなることを特徴とする。
【発明の効果】
【００１１】
請求項１の発明によれば、ソフトウエアを変更することによって、磁気センサからの情報を利用した様々なゲームを実行することができる。今後、ほとんどの携帯電話機において地図表示の目的のために地磁気センサが備わる可能性があり、本願はその時に携帯電話機に設けられた地磁気センサを有効に活用することができる。
また、請求項２の発明によれば、ユーザは面倒な操作をすることなく、また、特にキャリブレーション操作を意識することもなく自動的にオフセット値のキャリブレーションが行われる効果がある。
【発明を実施するための最良の形態】
【００１２】
以下、図面を参照し、この発明の実施の形態について説明する。図１はこの発明の一実施の形態による携帯電話機（携帯情報処理装置）の構成を示すブロック図である。この図において、符号１は各部を制御するＣＰＵ（中央処理装置）、２はＣＰＵ１の処理においてデータが一時記憶される不揮発性ＲＡＭ（ランダムアクセスメモリ）、３はＣＰＵ１のプログラムが記憶されたＲＯＭ（リードオンリメモリ）である。４は液晶表示器による表示部、５はテンキーおよびファンクションキーからなる操作キー部である。６は通信部であり、アンテナ７を介して受信した高周波信号を復調し、復調によって得られた音声データについては音声処理部８へ出力し、文字データ、記号データ等についてはバスラインＢを介してＣＰＵ１へ出力する。また、この通信部６は、ＣＰＵ１から供給される文字データ等および音声処理部８から出力される音声データによって高周波の搬送波を変調しアンテナ７から発信する。
【００１３】
音声処理部８は、マイクロフォン９から出力される音声信号をディジタル音声データに変換し、さらに圧縮して通信部６へ出力する。また、通信部６から出力される圧縮されたディジタル音声データを伸長し、アナログ信号に変換してイヤスピーカ１０へ出力する。１１は音源であり、ＣＰＵ１からバスラインＢを介して供給される着信音発生指示を受け、着信音信号を生成してスピーカ１２へ出力する。
【００１４】
２０は地磁気センサ部である。図２はこの地磁気センサ部２０の構成を示すブロック図である。この図において、２１〜２３はそれぞれＸ軸方向、Ｙ軸方向、Ｚ軸方向の各地磁気の強さを検出するＸ軸センサ、Ｙ軸センサ、Ｚ軸センサであり、例えばＧＭＲ素子（巨大磁気抵抗効果素子）から構成されている。ここで、Ｘ軸、Ｙ軸はそれぞれ図３に示すように、折りたたみ式の携帯電話機を開いた状態における２筐体の結合軸の方向およびアンテナ７の方向である。また、Ｚ軸はテンキーの垂直方向である。２４は切換手段であり、Ｘ〜Ｚ軸センサ２１〜２３の各出力を順次切り換えて増幅器２５へ供給する。増幅器２５は切換手段２４の出力を増幅し、Ａ／Ｄ変換器２６へ出力する。Ａ／Ｄ変換器２６は増幅器２５の出力をディジタルデータに変換し、インターフェイス２７は出力する。インターフェイス２７は、Ａ／Ｄ変換器２６の出力を一時記憶し、記憶したデータをＣＰＵ１からの指示を受けてバスラインＢへ出力する。
【００１５】
上記の構成において、Ｘ軸およびＹ軸については、図４に示すように、Ｘ軸方向の磁界の強さＳｘおよびＹ軸方向の磁界の強さＳｙを横軸および縦軸をしたグラフにプロットすると、円（方位円）を描くことができる。携帯電話機のアンテナ７の先端方向の方位は、Ｓｙ＝ｍａｘ、Ｓｘ＝０の時、北方向（０度）であり、Ｓｙ＝０、Ｓｘ＝ｍｉｎの時、東方向（９０度）であり、Ｓｙ＝ｍｉｎ、Ｓｘ＝０の時、南方向（１８０度）であり、Ｓｙ＝０、Ｓｘ＝ｍａｘの時、西方向（２７０度）である。中間の方位もそれぞれデータＳｘ、Ｓｙから求められる。また、３軸の場合は、３つの軸が検出する地磁気の強度が球面（方位球）にプロットされる。これにより、携帯電話機の姿勢（地表面に対する傾き）も求めることができる。
【００１６】
携帯電話機の方位（すなわち、Ｙ軸の方向）を求める場合、Ｘ〜Ｚ軸センサ２１〜２３の各出力を増幅し、Ａ／Ｄ変換したＸ軸データ、Ｙ軸データ、Ｚ軸データを、ＣＰＵ１がＲＯＭ３内のプログラムに基づいて演算して計算上の方位を求める。さらに、ＣＰＵ１が求めた方位についてＲＡＭ２内のオフセットデータによってオフセット補正を行って正しい方位を求める。
【００１７】
次に、図５はＣＰＵ１において実行されるソフトウエアの一部を示す図である。図において、ミドルウエア３１は地磁気センサ部２０、音源１１等の各デバイスをコントルールするためのソフトウエアである。ＡＰＩ（Application Program Interface）３２はミドルウエア３１より下層のシステムを用いてゲーム等のアプリケーションを作成するための統一された命令や関数の集合である。ゲームアプリケーション３３は、ＡＰＩ３２の命令や関数を呼び出すことで必要な機能を実装することができる。ユーザインターフェイス３４はユーザがアプリケーションをコントロールするためのインターフェイスを意味し、携帯電話機の表示部４から見える表示やキー操作部５のキー操作を指す。ユーザは表示部４の表示を見ながら、キーを押すことで、ゲームアプリケーションを実行することができる。キャリブレーション処理ブロック３５は、前述したオフセットデータのキャリブレーションを行うソフトウエアである。
【００１８】
次に、上述した携帯電話機の動作を説明する。なお、この携帯電話機の通信、通話時の動作は従来の携帯電話機と同様であるので説明を省略し、それ以外の動作について説明する。
図６はＣＰＵ１による地磁気測定時のオフセットデータのキャリブレーション動作を示すフローチャートである。ユーザが表示部４に表示されたメニューからキャリブレーション実行を選択するか、あるいは、キャリブレーション機能を内蔵するゲームを選択すると（ステップＳ１）、ゲームアプリケーションデータがロードされ、ゲーム開始の準備が行われる（ステップＳ２）。次に、ユーザがゲームスタートを指示すると（ステップＳ３）、ゲームアプリケーションが実行され、ゲームがスタートする（ステップＳ４）。
【００１９】
以後、ＣＰＵ１が求めた方位に基づいてゲームが行われ、同時に、キャリブレーション用のデータが収集される（ステップＳ５）。このゲームとキャリブレーション用データ収集の関係については後に説明する。そして、ゲームが終了すると（ステップＳ６の判断が「ＹＥＳ」）、ゲームの間に収集されたキャリブレーション用のデータに基づいてキャリブレーション処理が実行され、これにより、オフセットデータが求められる（ステップＳ７）。次いで、求められたオフセットデータによってキャリブレーションが実行され、ＲＡＭ２内のオフセットデータが書き換えられる（ステップＳ８）。なお、ステップＳ６において、ゲーム終了によってステップＳ７に進むのではなく、必要なオフセットデータが収集できたところで進んでもよい。
【００２０】
次に、ゲームとキャリブレーション用データ収集の関係について説明する。
図７はゲームの一例を示す図である。このゲームは、図７（ａ）に示すように、表示部４に表示されたボール４１に矢印Ｙ１の方向の重力がかかっているとの想定において、このボール４１をＧＯＡＬまで移動させるゲームである。ボール４１をＧＯＡＬまで移動させるためには、まず、携帯電話機を図７（ａ）の状態から、図７（ｂ）に示すように、左に傾けてボール４１が壁４２を越えるようにする。ＣＰＵ１は、携帯電話機が左に傾けられた時、地磁気センサ部２０からＸ軸、Ｙ軸、Ｚ軸データを逐次取得し、取得したデータから携帯電話機の傾きを検出する。そして、検出した傾きに応じてボール４１を移動させる。次に、図７（ｃ）に示すように、携帯電話機を徐々に戻してボール４１をＧＯＡＬの位置まで移動させる。
【００２１】
ユーザがこのゲームを行う場合、ユーザは特に意識することなく携帯電話機を一旦左回りに回転させ、次いで右回りに回転させる。この間、ＣＰＵ１は一定時間（例えば、０．１ｓｅｃ）が経過する毎に地磁気センサ部２０へデータ送信指示を出力する。地磁気センサ部２０のインターフェイス２７はこの指示を受け、Ｘ軸〜Ｚ軸センサ２１〜２３の各出力に対応するＸ軸データ、Ｙ軸データ、Ｚ軸データをＣＰＵ１へ出力する。ＣＰＵ１はこれらのデータをＲＡＭ２の予め定められたキャリブレーションデータ領域へ書き込む。これにより、ゲーム終了時において、キャリブレーションデータ領域に様々な方位のＸ、Ｙ、Ｚ軸データが収録される。
【００２２】
なお、ユーザの動かし方によっては、早く動かしてしまった場合などにおいて、必要な部分のデータが得られない可能性がある。そのため、道順を全て最初から決めておかず、少し進んだところで計測されていないデータを補うように道を新たに表示させるようにしてもよい。
【００２３】
上述したようなゲームにおいて、ボールの順路を様々に作れば、携帯電話機を各方向に動かすこととなり、必然的に広範囲なキャリブレーション用のデータが得られる。
例えば、図８（ａ）はバランスゲームであり、ボード上には、長さが異なる複数のボール受けのバーがある。このバーは全てを一括でコントロールでき、センターを中心に、右側に傾くか左側に傾くかを調整することができる。ボールを上部の回転軸により落とし、バーを制御しながらボールをバーからバーへ落としていく。できるだけたくさんのバーを伝い、中心部にボールを落とした方が得点は高くなる。ボードの縦方向の傾きにより、ゲームの難易度が変わってくる。すなわち、傾き角度が高いほどボールは速く転がるため難しくなるし、傾き角度が低いほどボールは遅く転がるため容易となる。ボードの横方向の傾きにより、左右の移動速度が変わってくる。
【００２４】
図８（ｂ）、（ｃ）は別のバランスゲームであり、立体的に仕切られている迷路のボードを手に持ち、傾けることでボールをスタート時点からゴールまで移動させる。迷路の途中にはボールより大きい穴がいくつかあいている。穴に落ちないように傾け方を調整したり、穴の少ない道順を考えながらゲームを進める。キャリブレーション用のデータを収集するゲームとしては、（ａ）より（ｂ）、（ｃ）の方が適切であると考えられる。（ｂ）、（ｃ）の場合、迷路の道順を通ることができるように携帯電話機を動かせば、一通りのキャリブレーション用データを得ることができるように迷路の設計を行う必要がある。
【００２５】
次に、キャリブレーション用データの収集および収集したデータによるオフセット推定処理について図９のフローチャートを参照して説明する。なお、フローチャートは図６のステップＳ５からステップＳ８でＣＰＵ１が実行するものである。
キャリブレーション用データの収集が開始されると（ステップＳａ１）、ＣＰＵ１は一定時間（０．１ｓｅｃ）が経過する毎に地磁気センサ部２０へ指示を行い（ステップＳａ２）、地磁気センサ部２０からＸ軸データ、Ｙ軸データ、Ｚ軸データを取得し、ＲＡＭ２の一時記憶領域に書き込む（ステップＳａ３）。次に、ＣＰＵ１は、一時記憶領域に書き込んだデータについてキャリブレーション用データとして適切か否かの判定を行う（ステップＳａ４）。この判定は次の手順による。
【００２６】
いま、判定の対象となるデータを（Ｘ，Ｙ，Ｚ）とし、１回前にＲＡＭ２に格納されたデータを（Ｘｐ，Ｙｐ，Ｚｐ）とする。ＣＰＵ１はＲＯＭ３から実数ｄｉｆｆを読み出し、
ｄｉｆｆ＜ｓｑｒｔ（(Ｘ−Ｘｐ)２＋（Ｙ−Ｙｐ）２＋（Ｚ−Ｚｐ）２）
の条件式が満たされた場合にのみ、データ（Ｘ，Ｙ，Ｚ）をＲＡＭ２のキャリブレーションデータ領域に格納する。なお、最初に収録されたデータは無条件でキャリブレーションデータ領域に格納される。
【００２７】
ここで、実数ｄｉｆｆは携帯電話機が製造される際に予め設定される実数であり、携帯電話機の製造時に地磁気センサ部２０から得られる磁界の計測値（Ｘ０，Ｙ０，Ｚ０）に対して、オフセット値を（Ｘｆ０，Ｙｆ０，Ｚｆ０）とすると、
(Ｘ０−Ｘｆ０)２＋（Ｙ０−Ｙｆ０）２＋（Ｚ０−Ｚｆ０）２＝Ｒ２
が成り立つ実数Ｒに１／１０を掛けた程度の数値が好ましい。上式は地球の磁界の大きさに近い数値を半径Ｒとする球を表す式であり、以降、この球を方位球と呼ぶ。このような判定を行うことにより、ユーザが携帯電話機を回転させる動作がごくわずかである場合に同一点近傍のデータが集中して取得されることを避けることができる。
【００２８】
ＣＰＵ１は地磁気センサ部２０から得られたデータをキャリブレーションデータ領域に格納するべきでないと判断した時（ステップＳａ４の判断が「ＮＯ」）、０．１秒間待機し（ステップＳａ５）、この時間経過後に再びデータの取得を試みる。また、ＣＰＵ１は地磁気センサ部２０から得られたデータがオフセットの計算に使用可能であると判断した
時は、当該データをＲＡＭ２のキャリブレーションデータ領域に書き込む（ステップＳａ６）。そして、ＣＰＵ１はキャリブレーションデータ領域に書き込んだデータが予め定められた個数に達したか否かを判断する（ステップＳａ７）。ＣＰＵ１はステップＳａ７の判断結果が「ＮＯ」の場合、０．１秒間待機し（ステップＳａ５）、再びデータの取得を試みる。一方、ステップＳａ７の判断結果が「ＹＥＳ」の場合は、キャリブレーションに必要なデータ取得が完了したものとして次の処理に移る。
【００２９】
次に、上述したキャリブレーションデータ領域に書き込まれたデータに基づくオフセット推定処理（ステップＳａ８）について説明する。
ます、キャリブレーションデータ領域に格納したデータを（ｘｉ，ｙｉ，ｚｉ）（ｉ＝１，・・・，Ｎ：Ｎは格納したデータの数を表す自然数）と表し、求める対象である新しいオフセットを（Ｘ０，Ｙ０，Ｚ０）とし、方位球の半径を実数Ｒと表す。この時、
(ｘｉ−Ｘ０)２＋（ｙｉ−Ｙ０）２＋（ｚｉ−Ｚ０）２＝Ｒ２
の関係式が成り立つ。
次に、最小二乗誤差εを次式のように定義する。
【００３０】
【数１】
2006174855.tif 000003
ここで、ａ＝ｘｉ２＋ｙｉ２＋ｚｉ２  とし、ｂ＝−２ｘｉとし、ｃ＝−２ｙｉとし、ｄ＝−２ｚｉとし、  Ｄ＝（Ｘ０２＋Ｙ０２＋Ｚ０２）−Ｒ２とすると、εは以下の式にようになる。
【００３１】
【数２】
2006174855.tif 000004
最小二乗誤差εを最小とする条件は、以下の［数３］となる。
【００３２】
【数３】
2006174855.tif 000005
従って、［数４］のように表現する時、［数５］が成り立つ。
【００３３】
【数４】
2006174855.tif 000006
【００３４】
【数５】
2006174855.tif 000007
この連立方程式を解くことにより、最小二乗誤差εを最小とするＸ０，Ｙ０，Ｚ０，Ｄを求めることができる。また、Ｘ０，Ｙ０，Ｚ０，Ｄが求まることから、Ｄ＝（Ｘ０２＋Ｙ０２＋Ｚ０２）−Ｒ２であるので、Ｒも求めることができる。
【００３５】
次に、ＣＰＵ１は求めた新しいオフセットが有効であるか否かの確認を試みる（ステップＳａ９）。ＣＰＵ１はキャリブレーションデータ領域に格納した測定データのばらつき具合と、方位球の半径との比率を［数６］によって求める。
【００３６】
【数６】
2006174855.tif 000008
次にＣＰＵ１は、［数６］で求めた比率を表す実数σが所定の正の実数Ｆに対してσ＜Ｆを満たす時のみ、さらに有効性の確認を続行する。Ｆは０．１程度が好ましい。Ｆによって地磁気センサ部２０の精度が左右されるが、キャリブレーションデータ領域に格納した測定データのばらつき具合が地球の磁界の大きさの１／１０以下であれば、地磁気センサ部２０が１６方位を見分ける程度の性能となり、実用に耐えるものとなるためである。
【００３７】
更に、ＣＰＵ１は、［数７］〜［数９］のように各座標軸上での磁界の最大値と最小値との差分の方位球の半径に対する割合を求める。
【００３８】
【数７】
2006174855.tif 000009
【００３９】
【数８】
2006174855.tif 000010
【００４０】
【数９】
2006174855.tif 000011
ＣＰＵ１は、［数７］〜［数９］の割合がそれぞれ所定の正の実数Ｇより大きい場合に、新しいオフセット値を有効なものであるとみなす。Ｇは１程度が好ましい。次に、ＣＰＵ１は求めた新しいオフセットが有効である場合には（ステップＳａ９が「Ｙｅｓ」）、ＲＡＭ２内のオフセットデータを更新し（ステップＳａ１０）、キャリブレーション処理を終了する（ステップＳａ１１）。
【００４１】
また、ＣＰＵ１は、求めた新しいオフセット値が無効である場合には（ステップＳａ９が「ＮＯ」）、その旨を表示部４に表示し、再実行を行うか否かをユーザに問い合わせる。そして、ユーザが再実行を指示した場合は（ステップＳａ１２が「ＹＥＳ」）、再びステップＳａ２の処理へ戻り、キャリブレーション用データの収集を行う。また、ユーザが再実行を行わないことを指示した場合は（ステップＳａ１２が「ＮＯ」）、キャリブレーション処理を終了する（ステップＳａ１１）。
【００４２】
なお、上記実施形態において、ゲームの制御をするセンサは、地磁気測定用の磁気センサでなく、別に設けた傾きを検知するセンサ（例えば、重力を検出するもの）を使用してもよい。
【産業上の利用可能性】
【００４３】
この発明は携帯電話機、携帯ゲーム機等に用いられる。
【図面の簡単な説明】
【００４４】
【図１】この発明の一実施形態による携帯電話機の構成を示すブロック図である。
【図２】同実施形態における地磁気センサ２０の構成を示すブロック図である。
【図３】同実施形態において定義されるＸ軸およびＹ軸を説明するための図である。
【図４】図２におけるＸ軸センサ２１の出力ＳｘおよびＹ軸センサ２２の出力Ｓｙを説明するための図である。
【図５】同実施形態におけるソフトウエア構成を示すブロック図である。
【図６】同実施形態の動作を説明するためのフローチャートである。
【図７】同実施形態において実行されるゲームを説明するための図である。
【図８】同実施形態において実行される他のゲームを説明するための図である。
【図９】同実施形態において実行されるキャリブレーション用のデータ収集およびオフセット推定処理の過程を説明するためのフローチャートである。
【符号の説明】
【００４５】
１…ＣＰＵ、２…ＲＡＭ、３…ＲＯＭ、４…表示部、５…操作キー部、２０…地磁気センサ部、２１…Ｘ軸センサ、２２…Ｙ軸センサ、２３…Ｚ軸センサ、２４…切換手段、２５…増幅器、２６…Ａ／Ｄ変換器、２７…インターフェイス、３１…ミドルウエア、３２…ＡＰＩ、３３…ゲームアプリケーション、３４…ユーザインターフェイス。
【図１】
2006174855.tif 000012
【図２】
2006174855.tif 000013
【図３】
2006174855.tif 000014
【図４】
2006174855.tif 000015
【図５】
2006174855.tif 000016
【図６】
2006174855.tif 000017
【図７】
2006174855.tif 000018
【図８】
2006174855.tif 000019
【図９】
2006174855.tif 000020