(57)【要約】【課題】オフセットの推定精度を維持しつつオフセットの推定を早期に開始することができるように磁気データを収集することができる磁気データ処理装置、磁気データ処理方法、プログラム、及び情報処理装置を提供する。【解決手段】磁気データ処理装置は、磁気センサにより検出された磁気データと、オフセット算出に用いる所定数の上記磁気データを格納する格納部に格納された上記磁気データとを取得する取得部と、上記取得部により取得された上記磁気データ間の距離に基づいて、上記磁気データそれぞれを評価する評価部と、評価結果に基づいて、上記磁気データの中から上記オフセット算出に用いる上記所定数の上記磁気データを選択する選択部と、を有する。【選択図】図４
2013195195.tif 000002
【特許請求の範囲】
【請求項１】
磁気センサにより検出された磁気データと、オフセット算出に用いる所定数の前記磁気データを格納する格納部に格納された前記磁気データとを取得する取得部と、
前記取得部により取得された前記磁気データ間の距離に基づいて、前記磁気データそれぞれを評価する評価部と、
評価結果に基づいて、前記磁気データの中から前記オフセット算出に用いる前記所定数の前記磁気データを選択する選択部と、
を備える、磁気データ処理装置。
【請求項２】
前記評価部は、前記磁気データ間の距離が近づくにつれて単調増加する評価関数を用いて前記磁気データを評価する、
請求項１に記載の磁気データ処理装置。
【請求項３】
前記評価部は、前記磁気データ間の距離の逆数の和、又は、前記磁気データ間の距離の二乗の逆数の和で表される評価関数を用いて前記磁気データを評価する、
請求項１に記載の磁気データ処理装置。
【請求項４】
前記選択部により選択された前記磁気データを用いて、前記磁気センサのオフセットを算出するオフセット算出部、
をさらに備える、
請求項１に記載の磁気データ処理装置。
【請求項５】
算出された前記オフセットにより補正された前記磁気データを用いて、方位を算出する方位算出部、
をさらに備える、
請求項４に記載の磁気データ処理装置。
【請求項６】
前記オフセット算出部は、複数の前記磁気データからの距離が等しくなる中心点を推定し、
前記方位算出部は、前記中心点からの距離に基づいて前記磁気データを前記方位の算出に用いるか否かを判断する、
請求項５に記載の磁気データ処理装置。
【請求項７】
前記所定数は、４以上の値である、
請求項１に記載の磁気データ処理装置。
【請求項８】
磁気センサにより検出された磁気データと、オフセット算出に用いる所定数の前記磁気データを格納する格納部に格納された前記磁気データとを取得することと、
取得された前記磁気データ間の距離に基づいて、前記磁気データそれぞれを評価することと、
評価結果に基づいて、前記磁気データの中から前記オフセット算出に用いる前記所定数の前記磁気データを選択することと、
を含む、磁気データ処理方法。
【請求項９】
コンピュータを、
磁気センサにより検出された磁気データと、オフセット算出に用いる所定数の前記磁気データを格納する格納部に格納された前記磁気データとを取得する取得部と、
前記取得部により取得された前記磁気データ間の距離に基づいて、前記磁気データそれぞれを評価する評価部と、
評価結果に基づいて、前記磁気データの中から前記オフセット算出に用いる前記所定数の前記磁気データを選択する選択部と、
を備える、磁気データ処理装置として機能させるためのプログラム。
【請求項１０】
コンピュータを、磁気センサにより検出された磁気データと、オフセット算出に用いる所定数の前記磁気データを格納する格納部に格納された前記磁気データとを取得する取得部と、前記取得部により取得された前記磁気データ間の距離に基づいて、前記磁気データそれぞれを評価する評価部と、評価結果に基づいて、前記磁気データの中から前記オフセット算出に用いる前記所定数の前記磁気データを選択する選択部と、を有する磁気データ処理装置として機能させるためのプログラムを記憶する記憶部と、
前記プログラムを実行するプロセッサと、
ユーザからの操作を受け付ける操作部と、
を備える、情報処理装置。
【請求項１１】
前記磁気データ処理装置は、
前記選択部により選択された前記磁気データを用いて、前記磁気センサのオフセットを算出するオフセット算出部、
をさらに備える、
請求項１０に記載の情報処理装置。
【請求項１２】
前記磁気データ処理装置は、
算出された前記オフセットにより補正された前記磁気データを用いて、方位を算出する方位算出部、
をさらに備える、
請求項１１に記載の情報処理装置。
【請求項１３】
前記オフセット算出部は、複数の前記磁気データからの距離が等しくなる中心点を推定し、
前記方位算出部は、前記中心点からの距離に基づいて前記磁気データを前記方位の算出に用いるか否かを判断する、
請求項１２に記載の情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、磁気データ処理装置、磁気データ処理方法、プログラム、及び情報処理装置に関する。
【背景技術】
【０００２】
近年磁気センサを搭載した携帯型の情報処理装置が普及している。例えば情報処理装置の向いている方位を算出するために磁気センサが用いられる。ここで算出された情報処理装置の方位は、例えば地図を表示するアプリケーションにおいて、情報処理装置の方位に合わせて地図を表示させるために用いられる。また情報処理装置がカメラである場合には、算出されたカメラの方位は、写真が撮影されたときの位置とともに写真のメタデータとして記録され、いわゆるジオタグとして用いられる。
【０００３】
磁気センサは、地球の磁場の向きを計測することによって機器の方位を算出している。ところが磁気センサは磁界の強度を計測しているため、地磁気以外にも磁気センサ外部の様々な磁界が加わった状態の磁界を計測する。センサ外部からの磁界には、情報処理装置の外部からの環境要因により変動する磁界と、磁気センサ内部又は情報処理装置内部の要因により発生し、短期的には概ね一定の固定磁界とが含まれる。このうち磁気センサ内部又は情報処理装置内部の要因により発生する固定磁界は、例えば特許文献１〜３に示される方法により地磁気と分離することができることが知られている。
【０００４】
端末の姿勢を様々に変化させたときに計測される磁気データのベクトルを３次元で見ると、球面上にデータが配置される。地磁気だけを計測する理想的な磁気データの配置される球の中心を原点Ｏとすると、上記の固定磁界がかかった場合に計測される磁気データの配置される球の中心Ｃは、原点Ｏから上記固定磁界分シフトしている。特許文献１〜３には、端末の姿勢を様々に変化させたときに計測される磁気データを用いて原点Ｏからの中心Ｃのシフト量を推定することにより、上記固定磁界の影響を取り除いている。
【０００５】
ここで、原点Ｏから中心Ｃのシフト量を推定するために、まず磁気データから中心Ｃを推定する。このとき最低４つの磁気データを用いると中心Ｃの位置が一意に決まる。ここで用いる磁気データは、球面上に分散したデータであることが望ましい。このため、特許文献１〜３には、磁気データ間の距離を閾値と比較し、閾値以上の距離を有する磁気データを抽出することによって球面上に分散された磁気データを取得する方法が記載されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００７−２７１４１４号公報
【特許文献２】国際公開第０６／０１１６０２号
【特許文献３】特開２００６−０４７２９９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ところが、閾値以上の距離を有する磁気データを抽出する場合には、閾値を小さくすると分散されたデータを取得することが困難となり、閾値を大きくすると磁気データの収集に時間がかかる可能性が高い。分散されたデータを取得することができない場合には、オフセット推定の精度が低下し、磁気データの収集に時間がかかると、シフト量の推定を開始することができず、この間はオフセットが推定されないため磁気センサを使用できる状態となるまでに時間がかかってしまう。
【０００８】
上記事情に鑑みれば、シフト量の推定精度を維持しつつシフト量の推定を早期に開始することができるように磁気データを収集することが望ましい。
【課題を解決するための手段】
【０００９】
本開示によれば、磁気センサにより検出された磁気データと、オフセット算出に用いる所定数の上記磁気データを格納する格納部に格納された上記磁気データとを取得する取得部と、上記取得部により取得された上記磁気データ間の距離に基づいて、上記磁気データそれぞれを評価する評価部と、評価結果に基づいて、上記磁気データの中から上記オフセット算出に用いる上記所定数の上記磁気データを選択する選択部と、を有する磁気データ処理装置が提供される。
【００１０】
また、本開示によれば、磁気センサにより検出された磁気データと、オフセット算出に用いる所定数の上記磁気データを格納する格納部に格納された上記磁気データとを取得することと、取得された上記磁気データ間の距離に基づいて、上記磁気データそれぞれを評価することと、評価結果に基づいて、上記磁気データの中から上記オフセット算出に用いる上記所定数の上記磁気データを選択することと、を含む、磁気データ処理方法が提供される。
【００１１】
また、本開示によれば、コンピュータを、磁気センサにより検出された磁気データと、オフセット算出に用いる所定数の上記磁気データを格納する格納部に格納された上記磁気データとを取得する取得部と、上記取得部により取得された上記磁気データ間の距離に基づいて、上記磁気データそれぞれを評価する評価部と、評価結果に基づいて、上記磁気データの中から上記オフセット算出に用いる上記所定数の上記磁気データを選択する選択部と、を有する、磁気データ処理装置として機能させるためのプログラムが提供される。
【００１２】
また、本開示によれば、コンピュータを、磁気センサにより検出された磁気データと、オフセット算出に用いる所定数の上記磁気データを格納する格納部に格納された上記磁気データとを取得する取得部と、上記取得部により取得された上記磁気データ間の距離に基づいて、上記磁気データそれぞれを評価する評価部と、評価結果に基づいて、上記磁気データの中から上記オフセット算出に用いる上記所定数の上記磁気データを選択する選択部と、を有する磁気データ処理装置として機能させるためのプログラムを記憶する記憶部と、上記プログラムを実行するプロセッサと、ユーザからの操作を受け付ける操作部と、を有する情報処理装置。
【発明の効果】
【００１３】
以上説明したように本開示によれば、シフト量の推定精度を維持しつつシフト量の推定を早期に開始することができるように磁気データを収集することができる。
【図面の簡単な説明】
【００１４】
【図１】本開示の一実施形態にかかる携帯端末が理想的な状態で収集する磁気データの配置の一例を示す説明図である。
【図２】同実施形態にかかる携帯端末が地磁気以外のノイズの影響を受ける状態で収集する磁気データの配置の一例を示す説明図である。
【図３】同実施形態にかかる携帯端末の方位算出動作の概要を示すフローチャートである。
【図４】同実施形態にかかる携帯端末の機能構成例を示すブロック図である。
【図５】同実施形態にかかる携帯端末の磁気データの収集処理の動作例を示すフローチャートである。
【図６】同実施形態にかかる携帯端末の磁気データの評価について説明するための説明図である。
【図７】同実施形態にかかる携帯端末が磁気データの評価に用いる評価関数に入力するサンプルデータの例を示す説明図である。
【図８】同実施形態にかかる携帯端末が磁気データの評価に用いる評価関数の特性を示すグラフである。
【図９】同実施形態に係る携帯端末のハードウェア構成を示すブロック図である。
【発明を実施するための形態】
【００１５】
以下に添付図面を参照しながら、本開示の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【００１６】
なお、説明は以下の順序で行うものとする。
１．概要
２．機能構成例
３．磁気データの収集
４．ハードウェア構成例
【００１７】
＜１．概要＞
まず、図１〜図３を参照しながら、本開示の一実施形態にかかる携帯端末１０の概要について説明する。図１は、本開示の一実施形態にかかる携帯端末が理想的な状態で収集する磁気データの配置の一例を示す説明図である。図２は、同実施形態にかかる携帯端末が地磁気以外のノイズの影響を受ける状態で収集する磁気データの配置の一例を示す説明図である。図３は、同実施形態にかかる携帯端末の方位算出動作の概要を示すフローチャートである。
【００１８】
なお以下本明細書及び図面において、実質的に同一の機能構成を有する複数の構成要素を、同一の符号の後に異なる番号を付して区別する場合もある。例えば、実質的に同一の機能構成を有する複数の構成を、必要に応じて磁気データＳ１、磁気データＳ２のように区別する。ただし、実質的に同一の機能構成を有する複数の構成要素の各々を特に区別する必要がない場合、同一符号のみを付する。例えば磁気データＳ１、磁気データＳ２などを特に区別する必要が無い場合には、単に磁気データＳと称する。
【００１９】
図１を参照すると、地磁気以外のノイズの影響を受けない理想的な環境で収集される磁気データＳの一例が示される。ここで取得される磁気データＳは、球面上に配置される。図１には、８つの磁気データＳが示される。
【００２０】
しかし、通常磁気センサが取得する磁気データＳには、地磁気により生じる磁界だけでなく、携帯端末１０の内部で発生する磁界の影響も含まれている。例えば携帯端末１０の内部で発生する磁界の発生要因としては、スピーカに用いられる磁石、及び金属製のシールドケースなどが挙げられる。また磁気センサが取得する磁気データＳには、センサ自身が持つオフセットや携帯端末１０内部の温度変化によるオフセットのずれの影響も含まれる。このように地磁気以外の要因により生じる磁界のうち短期的には概ね一定の固定磁界は、磁気データＳが配置される球の中心のずれとして観測される。
【００２１】
ここで図２に示されるように、理想的な環境における磁気データＳが配置される球の中心を原点Ｏとし、上記固定磁界の影響を受ける環境における磁気データＳが配置される球の中心Ｃとのずれを示すシフト量Ｖを推定することによって、磁気データＳを補正して用いることができる。
【００２２】
ここでシフト量Ｖを推定するために、磁気データＳが配置される球の中心Ｃが推定される。このとき少なくとも４つの磁気データＳが用いられることによって、球の中心Ｃは一意に特定される。なお高い精度でこのシフト量Ｖを推定するためには、ここで用いられる磁気データＳは、球面上に分散されたデータであることが望ましい。
【００２３】
ここで図３を参照しながら、本実施形態にかかる携帯端末１０の方位算出動作の概要について説明する。まず携帯端末１０は、まず磁気センサにより検出された磁気データＳを収集する（Ｓ１００）。そして携帯端末１０は、収集した磁気データＳを用いて球の中心Ｃを推定し、中心Ｃと原点Ｏからのシフト量Ｖを推定する（Ｓ１１０）。
【００２４】
そして推定されたシフト量Ｖによりオフセット補正した磁気データＳを用いて、機器方位が算出される（Ｓ１１５）。なおここでは特にシフト量Ｖを推定するための母集団となる磁気データＳを収集する新たな方法を提案する。なお、ステップＳ１００に示される磁気データＳを収集するステップの詳細については後述される。
【００２５】
＜２．機能構成例＞
次に図４を参照しながら、本開示の一実施形態にかかる携帯端末１０の機能構成の一例について説明する。図４は、同実施形態にかかる携帯端末の機能構成例を示すブロック図である。
【００２６】
（携帯端末１０）
携帯端末１０は、磁気センサ１０１と、磁気データ取得部１０３と、評価部１０５と、選択部１０７と、格納部１０９と、オフセット算出部１１１と、方位算出部１１３とを主に有する。
【００２７】
この携帯端末１０は、磁気センサ１０１の取得する磁気データを処理する機能を有する情報処理装置である。携帯端末１０は、例えば携帯電話、ノートＰＣ、映像処理装置、ゲーム機器、ナビゲーション装置、音楽再生装置などの情報処理装置であってよい。
【００２８】
（磁気センサ１０１）
磁気センサ１０１は、磁界の大きさ・方向を計測するセンサである。磁気センサ１０１は、磁気を電圧値として検出することができる。例えば磁気センサ１０１は、Ｘ軸方向、Ｙ軸方向、及びＺ軸方向の磁気をそれぞれ検出する３軸センサであってよい。また磁気センサ１０１は、２軸センサであってもよい。磁気センサ１０１は、検出した磁気データを磁気データ取得部１０３及び方位算出部１１３にそれぞれ供給することができる。
【００２９】
（磁気データ取得部１０３）
磁気データ取得部１０３は、評価対象となる磁気データを取得する機能を有する。磁気データ取得部１０３は、磁気センサ１０１により検出された磁気データを取得することができる。また磁気データ取得部１０３は、格納部１０９に格納された所定数の磁気データも取得することができる。磁気データ取得部１０３は、取得した磁気データを評価部１０５に供給することができる。なお磁気データ取得部１０３は、格納部１０９に格納された磁気データと磁気センサ１０１により検出された磁気データとを比較して、同値であるか否かを判断することができる。磁気センサ１０１により検出された磁気データが格納部１０９に格納された磁気データと同値である場合には、磁気データ取得部１０３は、磁気センサ１０１により検出された磁気データを破棄し、評価部１０５に磁気データを供給しない。また磁気データ取得部１０３は、磁気センサ１０１により検出された磁気データが格納部１０９に格納された磁気データと同値でない場合には、磁気センサ１０１により新たに計測された磁気データを格納部１０９に格納する。なお磁気データ取得部１０３は、取得した磁気データが所定数より多いか否か、すなわち、格納部１０９にすでに所定数の磁気データが格納されているか否かを判断することができる。ここで格納部１０９にまだ所定数の磁気データが格納されていない場合には、評価関数による磁気データの評価を行わずに、供給された磁気データを選択部１０７に供給する。
【００３０】
（評価部１０５）
評価部１０５は、磁気データ取得部１０３から供給された、評価対象となる磁気データを評価する機能を有する。評価部１０５は、磁気データ間の距離に基づいて、それぞれの磁気データを評価することができる。なお評価部１０５は、評価関数を用いて磁気データ間の距離を評価することにより磁気データを評価することができる。評価部１０５は、距離が近づくにつれて単調増加する関数の和を評価関数として用いることができる。このような評価関数は、距離が近い磁気データが存在するときに値が大きくなる。
【００３１】
（選択部１０７）
選択部１０７は、評価部１０５の評価結果に基づいて、磁気データ取得部１０３の取得する磁気データの中から格納部１０９から破棄する磁気データを選択することにより、格納部１０９に格納する所定数の磁気データを選択する機能を有する。選択部１０７は、例えば評価関数の値が最も大きい磁気データを破棄する磁気データとすることができる。評価関数として、距離が近づくにつれて単調増加する関数の和を用いたときには、評価関数の値が大きいほど距離の近い磁気データが存在する磁気データであることを示す。このため選択部１０７は、評価関数の値が大きい磁気データを破棄する磁気データとして選択することにより、距離の近い磁気データが存在する磁気データを破棄することができる。なお選択部１０７は、評価部１０５により評価が行われていない場合には、供給された磁気データが所定数以下であるため、供給された磁気データから破棄を行わない。
【００３２】
（格納部１０９）
格納部１０９は、磁気データを格納する機能を有する。格納部１０９は、オフセット算出部１１１がオフセット算出に用いる磁気データを格納するバッファ部である。格納部１０９は、選択部１０７により格納する磁気データとして選択された磁気データを格納することができる。また格納部１０９は、要求に応じて磁気データ取得部１０３に、格納されている磁気データを供給することができる。格納部１０９は、データ格納用の装置であり、記憶媒体、記憶媒体にデータを記録する記録装置、記憶媒体からデータを読み出す読出し装置、および記憶媒体に記録されたデータを削除する削除装置などを含むことができる。ここで記憶媒体としては、例えばフラッシュメモリ、ＭＲＡＭ（Magnetoresistive  Random  Access  Memory）、ＦｅＲＡＭ（Ferroelectric  Random  Access  Memory）、ＰＲＡＭ（Phase  change  Random  Access  Memory）、及びＥＥＰＲＯＭ（Electronically  Erasable  and  Programmable  Read  Only  Memory）などの不揮発性メモリや、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）などの磁気記録媒体などが用いられてよい。
【００３３】
（オフセット算出部１１１）
オフセット算出部１１１は、格納部１０９に格納された磁気データを用いてオフセットを算出することができる。オフセット算出部１１１は、格納された磁気データから、磁気データが配置される球の中心Ｃを推定し、原点Ｏから中心Ｃへのシフト量Ｖを推定することができる。
【００３４】
（方位算出部１１３）
方位算出部１１３は、オフセット算出部１１１により算出されるオフセットを用いて、磁気センサ１０１により取得される磁気データに基づいて機器方位を算出する機能を有する。方位算出部１１３は、例えば加速度センサなどから機器の姿勢を求め、地球水平面上に投影されるベクトルを求めて機器方位とすることができる。ここで方位算出部１１３は、磁気センサ１０１により取得される磁気データと、オフセット算出部１１１が推定したきゅうの中心Ｃとの間の距離に基づいて、異常値を方位算出に用いる磁気データから除外することができる。
【００３５】
なお、磁気センサ１０１、磁気データ取得部１０３、評価部１０５、選択部１０７、及び格納部１０９を用いた、磁気データの収集方法の詳細については、後述される。
【００３６】
以上、本実施形態に係る携帯端末１０の機能の一例を示した。上記の各構成要素は、汎用的な部材や回路を用いて構成されていてもよいし、各構成要素の機能に特化したハードウェアにより構成されていてもよい。また、各構成要素の機能を、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）などの演算装置がこれらの機能を実現する処理手順を記述した制御プログラムを記憶したＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）やＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）などの記憶媒体から制御プログラムを読出し、そのプログラムを解釈して実行することにより行ってもよい。従って、本実施形態を実施する時々の技術レベルに応じて、適宜、利用する構成を変更することが可能である。なおこの携帯端末１０のハードウェア構成の一例については、後に詳述される。
【００３７】
なお、上述のような本実施形態に係る携帯端末１０の各機能を実現するためのコンピュータプログラムを作成し、パーソナルコンピュータ等に実装することが可能である。また、このようなコンピュータプログラムが格納された、コンピュータで読み取り可能な記録媒体も提供することができる。記録媒体は、例えば、磁気ディスク、光ディスク、光磁気ディスク、フラッシュメモリなどである。また、上記のコンピュータプログラムは、記録媒体を用いずに、例えばネットワークを介して配信してもよい。
【００３８】
＜３．磁気データの収集＞
ここで、図５〜図８を参照しながら、本実施形態にかかる携帯端末１０の磁気データの収集処理について説明する。図５は、同実施形態にかかる携帯端末の磁気データの収集処理の動作例を示すフローチャートである。図６は、同実施形態にかかる携帯端末の磁気データの評価について説明するための説明図である。図７は、同実施形態にかかる携帯端末が磁気データの評価に用いる評価関数に入力するサンプルデータの例を示す説明図である。図８は、同実施形態にかかる携帯端末が磁気データの評価に用いる評価関数の特性を示すグラフである。
【００３９】
図５を参照すると、まず磁気センサ１０１が磁気データを取得する（Ｓ２００）。そしてこの磁気データを取得した磁気データ取得部１０３は、磁気センサ１０１から取得された磁気データが格納部１０９に格納された格納データと同値であるか否かを判断する（Ｓ２０５）。ここでステップＳ２０５の処理において磁気センサ１０１から取得された磁気データが格納部１０９に格納された格納データと同値であった場合には、磁気データ取得部１０３は、取得した磁気データを評価部１０５に供給しない。すなわちここで磁気センサ１０１から取得された磁気データは格納部１０９に格納されずに破棄される。一方、ステップＳ２０５の処理において、磁気センサ１０１から取得された磁気データが格納部１０９に格納された格納データと同値でない場合には、磁気データ取得部１０３は、取得した磁気データを格納部１０９に格納する（Ｓ２１０）。
【００４０】
また磁気データ取得部１０３は、ここで格納バッファが満たされているか否かを判断する（Ｓ２１５）。ステップＳ２１５の判断において、格納バッファが満たされていないと判断された場合には、磁気データ取得部１０３は、評価部１０５に磁気データを供給せずにステップＳ２００の処理から繰り返される。一方、ステップＳ２１５の判断において、格納バッファが満たされていると判断された場合には、磁気データ取得部１０３は、格納部１０９に格納された磁気データを評価部１０５に供給する。
【００４１】
評価部１０５は、供給された磁気データの評価を行う。ここで評価部１０５は、評価関数の値を計算することによって磁気データそれぞれの評価を行う（Ｓ２２０）。
【００４２】
ここで、ステップＳ２２０の評価関数の計算処理について図６を参照しながらより具体的に説明する。評価部１０５が用いる評価関数は、磁気データＳ間の距離が近づくにつれて単調増加する関数の和で示される。磁気データＳ間の距離Ｒが近づくにつれて単調増加する関数の一例としては、距離の逆数（１／Ｒ）が挙げられる。この場合に評価関数は各磁気データ間の距離の逆数の和で表される。ここで説明を単純にするために格納バッファは４つである場合について示す。
【００４３】
例えば球面上の配置を有する磁気データＳ０、磁気データＳ１、磁気データＳ２が格納部１０９から取得され、磁気センサ１０９から磁気データＳ３が取得された状態を想定する。このとき図６に示されるように、磁気データＳ０と磁気データＳ１との間の距離はＲ０１であり、磁気データＳ０と磁気データＳ２との間の距離はＲ０２であり、磁気データＳ０と磁気データＳ３との間の距離はＲ０３である。また磁気データＳ１と磁気データＳ２との間の距離はＲ１２であり、磁気データＳ１と磁気データＳ３との間の距離はＲ１３である。また磁気データＳ２と磁気データＳ３との間の距離はＲ２３である。
【００４４】
上記の符号を用いてＳ０に対する評価関数を示すと下記の通りとなる。
2013195195.tif 000003
なおここでＳ０に対する評価関数をＦ（Ｓ０）とする。
【００４５】
同様にＳ１に対する評価関数を示すと下記の通りとなる。
2013195195.tif 000004
【００４６】
また同様にＳ２に対する評価関数を示すと下記の通りとなる。
2013195195.tif 000005
【００４７】
また同様にＳ３に対する評価関数を示すと下記の通りとなる。
2013195195.tif 000006
【００４８】
このような評価関数Ｆを用いると、すでに採取されたデータと距離が近い磁気データについては、評価関数Ｆの値が大きくなる。シフト量Ｖを正確に推定するためには、分散した磁気データが用いられることが望ましい。このため、評価関数Ｆを用いて磁気データを評価することができる。
【００４９】
すなわち評価部１０５は、このような評価関数の値を磁気データＳそれぞれについて算出すると、これらの値を選択部１０７に供給する。
【００５０】
選択部１０７は、評価部１０５から供給された評価関数の値に基づいて、格納部１０９から破棄する磁気データＳを選択する（Ｓ２２５）。ここでは他の磁気データと距離の近い磁気データＳほど評価関数の値は大きい。このため、選択部１０７は、評価関数の値が最も大きい磁気データＳを破棄する磁気データＳとすることができる。そして選択部１０７は、選択された磁気データＳを破棄する（Ｓ２３０）。
【００５１】
またここで磁気データの収集処理を終了するか否かが判断される（Ｓ２３５）。ここで磁気データの収集処理を終了すると判断されるまで、ステップＳ２００から再び処理が繰り返される。
【００５２】
上記では磁気センサ１０１が磁気データＳを取得するたびに、新規に取得された磁気データＳと格納部１０９に格納された磁気データＳとを評価して、所定数＋１個の磁気データから１つ破棄する磁気データＳを選択した。これにより、その時点において最良の磁気データＳを順次格納部１０９に格納してシフト量Ｖの推定に用いることができる。
【００５３】
かかる構成により、あらかじめ用意された格納バッファのサイズの大小にかかわらず、格納バッファを早期に満たすことができる。固定の距離閾値を用いて、閾値以上の距離の磁気データのみを収集する方法では、距離閾値を大きくすると確実に効果的な磁気データを収集することはできるが、磁気データの収集に時間がかかる可能性が高い。一方、距離閾値を小さくすると、比較的磁気データの収集にかかる時間を短縮することはできるが、分散していない磁気データを収集してしまう可能性が高まる。
【００５４】
これに対して、本実施形態にかかる携帯端末１０の方法によれば、磁気センサ１０１が磁気データＳを取得するたびに、すでに格納されている磁気データを含めた評価処理が行われ、その時点で最良のデータがシフト量Ｖ算出のために用いられる。かかる構成により、この評価処理が繰り返し行われ、それぞれの磁気データＳの間の距離がしだいに大きく、すなわち球面上に分散したデータとなっていく。
【００５５】
かかる構成により、早期に磁気データを収集することができる。これにより、シフト量Ｖの計算ステップを早期に開始することができる。シフト量Ｖの計算ステップでは、なるべく球面上に配置されたデータを使用することが望ましい。しかし、実際にはノイズや外部要因により球面上から外れたデータを取り込んでしまう可能性がある。このような磁気データを用いると、シフト量の計算の精度が低下してしまう。本実施形態にかかる携帯端末１０の方法によれば、早期に中心Ｃの位置を推定することができる。このため、この中心Ｃからの距離が他の磁気データと比較して許容される範囲外の数値を有する磁気データを異常値として排除することが早い段階からできるようになる。したがって、よりシフト量計算の精度を向上させることができる。
【００５６】
なお磁気データＳ間の距離が近づくにつれて単調増加する関数の例として、上記では磁気データ間の距離Ｒの逆数が用いられたが、本開示の技術的範囲はかかる例に限定されない。例えば磁気データ間の距離Ｒの二乗の逆数が、磁気データＳ間の距離が近づくにつれて単調増加する関数として用いられてもよい。
【００５７】
ここで、距離Ｒの逆数を用いた評価関数の特性について考察してみる。なおここでは図７に示すサンプルデータである磁気データＳ０、磁気データＳ１、磁気データＳ２、及び磁気データＳ３を、距離Ｒの逆数の和で示される上記の評価関数に適用した場合の評価関数の値を図８に示す。なお、ここで図８の各凡例は、磁気データＳ１に対する磁気データＳ０及び磁気データＳ２の配置が１０度〜９０度であることを示す。またここでＳ３を２次元円周上で移動させ、その時々のＳ３の配置が横軸に角度で示され、これに対応する評価関数が縦軸にプロットされている。
【００５８】
図８のグラフを参照すると、磁気データＳ３が磁気データＳ０、磁気データＳ１、及び磁気データＳ２のそれぞれと重なるポイントで評価関数値は最大となり、磁気データＳ０、磁気データＳ１、及び磁気データＳ２それぞれから離れるに従って、変曲点を持たずに単調減少を示す曲線となっている。したがって、評価関数値が小さいものほどすでに格納されている磁気データからの距離が遠いことを表しており、球面上においてより分散したデータであることを示す。
【００５９】
さらに、すでに格納された磁気データを球面上で移動させた場合においても、すでに格納された磁気データからの距離に応じて単調減少を描いている。したがってすでに格納された磁気データの位置によらず、ロバストに扱うことのできる評価関数であるといえる。したがって、携帯端末１０はこの評価関数Ｆを用いて、値の大きい磁気データを、球面上により分散したデータとして扱うには不適格なものとして格納バッファから除外することができる。
【００６０】
＜４．ハードウェア構成例＞
次に、図９を参照しながら、本開示の一実施形態に係る携帯端末１０のハードウェア構成例について説明する。図９は、同実施形態に係る携帯端末のハードウェア構成を示すブロック図である。
【００６１】
ここで、携帯端末１０の構成の一例について説明する。図９を参照すると、携帯端末１０は、例えば、電話網アンテナ８１７と、電話処理部８１９と、ＧＰＳアンテナ８２１と、ＧＰＳ処理部８２３と、Ｗｉｆｉアンテナ８２５と、Ｗｉｆｉ処理部８２７と、地磁気センサ８２９と、加速度センサ８３１と、ジャイロセンサ８３３と、気圧センサ８３５と、撮像部８３７と、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）８３９と、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）８４１と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）８４３と、操作部８４７と、表示部８４９と、デコーダ８５１と、スピーカ８５３と、エンコーダ８５５と、マイク８５７と、記憶部８５９とを有する。なお、ここで示すハードウェア構成は一例であり、構成要素の一部が省略されてもよい。また、ここで示される構成要素以外の構成要素をさらに含んでもよいことは言うまでもない。
【００６２】
（電話網アンテナ８１７）
電話網アンテナ８１７は、通話及び通信用の携帯電話網と無線で接続する機能を有するアンテナの一例である。電話網アンテナ８１７は、携帯電話網を介して受信される通話信号を電話処理部８１９に供給することができる。
【００６３】
（電話処理部８１９）
電話処理部８１９は、電話網アンテナ８１７により送受信される信号に対する各種の信号処理を行う機能を有する。電話処理部８１９は、例えばマイク８５７を介して入力され、エンコーダ８５５によりエンコードされた音声信号に対して各種の信号処理を行い、電話網アンテナ８１７に供給することができる。また電話処理部８１９は、電話網アンテナ８１９から供給される音声信号に対して各種の信号処理を行い、デコーダ８５１に供給することができる。
【００６４】
（ＧＰＳアンテナ８２１）
ＧＰＳアンテナ８２１は、測位衛星からの信号を受信するアンテナの一例である。ＧＰＳアンテナ８２１は、複数のＧＰＳ衛星からのＧＰＳ信号を受信することができ、受信したＧＰＳ信号をＧＰＳ処理部８２３に入力する。
【００６５】
（ＧＰＳ処理部８２３）
ＧＰＳ処理部８２３は、測位衛星から受信された信号に基づいて位置情報を算出する算出部の一例である。ＧＰＳ処理部８２３は、ＧＰＳアンテナ８２１から入力された複数のＧＰＳ信号に基づいて現在の位置情報を算出し、算出した位置情報を出力する。具体的には、ＧＰＳ処理部８２３は、ＧＰＳ衛星の軌道データからそれぞれのＧＰＳ衛星の位置を算出し、ＧＰＳ信号の送信時刻と受信時刻との差分時間に基づいて、各ＧＰＳ衛星から当該携帯端末１０までの距離をそれぞれ算出する。そして、算出された各ＧＰＳ衛星の位置と、各ＧＰＳ衛星から当該携帯端末１０までの距離とに基づいて、現在の３次元位置を算出することができる。なお、ここで用いられるＧＰＳ衛星の軌道データは、例えばＧＰＳ信号に含まれていてもよい。或いは、ＧＰＳ衛星の軌道データは、通信アンテナ８２５を介して外部のサーバから取得されてもよい。
【００６６】
（Ｗｉｆｉアンテナ８２５）
Ｗｉｆｉアンテナ８２５は、例えば無線ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）通信網との通信信号をＷｉｆｉの仕様に従って送受信する機能を有するアンテナである。Ｗｉｆｉアンテナ８２５は、受信した信号を通信処理部８２７に供給することができる。
【００６７】
（Ｗｉｆｉ処理部８２７）
Ｗｉｆｉ処理部８２７は、Ｗｉｆｉアンテナ８２５から供給された信号に各種の信号処理を行う機能を有する。Ｗｉｆｉ処理部８２７は、供給されたアナログ信号から生成したデジタル信号をＣＰＵ８３９に供給することができる。
【００６８】
（地磁気センサ８２９）
地磁気センサ８２９は、地磁気を電圧値として検出するセンサである。地磁気センサ８２９は、Ｘ軸方向、Ｙ軸方向、及びＺ軸方向の地磁気をそれぞれ検出する３軸地磁気センサであってよい。地磁気センサ８２９は、検出した地磁気データをＣＰＵ８３９に供給することができる。
【００６９】
（加速度センサ８３１）
加速度センサ８３１は、加速度を電圧値として検出するセンサである。加速度センサ８３１は、Ｘ軸方向に沿った加速度、Ｙ軸方向に沿った加速度、及びＺ軸方向に沿った加速度をそれぞれ検出する３軸加速度センサであってよい。加速度センサ８３１は、検出した加速度データをＣＰＵ８３９に供給することができる。
【００７０】
（ジャイロセンサ８３３）
ジャイロセンサ８３３は、物体の角度や角速度を検出する計測器の一種である。このジャイロセンサ８３３は、Ｘ軸、Ｙ軸、及びＺ軸周りの回転角の変化する速度（角速度）を電圧値として検出する３軸ジャイロセンサであってよい。ジャイロセンサ８３３は、検出した角速度データをＣＰＵ８３９に供給することができる。
【００７１】
（気圧センサ８３５）
気圧センサ８３５は、周囲の気圧を電圧値として検出するセンサである。気圧センサ８３５は、気圧を所定のサンプリング周波数で検出し、検出した気圧データをＣＰＵ８３９に供給することができる。
【００７２】
（撮像部８３７）
撮像部８３７は、ＣＰＵ８３９の制御に従い、レンズを介して静止画像又は動画像を撮影する機能を有する。撮像部８３７は、撮影した画像を記憶部８５９に記憶させてもよい。
【００７３】
（ＣＰＵ８３９）
ＣＰＵ８３９は、演算処理装置及び制御装置として機能し、各種プログラムに従って携帯端末１０内の動作全般を制御する。またＣＰＵ８３９は、マイクロプロセッサであってもよい。このＣＰＵ８３９は、各種プログラムに従って様々な機能を実現することができる。
【００７４】
（ＲＯＭ８４１，ＲＡＭ８４３）
ＲＯＭ８４１は、ＣＰＵ８３９が使用するプログラムや演算パラメータ等を記憶することができる。ＲＡＭ８４３は、ＣＰＵ８３９の実行において使用するプログラムや、その実行において適宜変化するパラメータ等を一時記憶することができる。
【００７５】
（操作部８４７）
操作部８４７は、ユーザが所望の操作をするための入力信号を生成する機能を有する。操作部８４７は、例えばタッチセンサ、マウス、キーボード、ボタン、マイク、スイッチ及びレバーなどユーザが情報を入力するための入力部と、ユーザによる入力に基づいて入力信号を生成し、ＣＰＵ８３９に出力する入力制御回路などから構成されてよい。
【００７６】
（表示部８４９）
表示部８４９は、出力装置の一例であり、液晶ディスプレイ（ＬＣＤ：Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）装置、有機ＥＬ（ＯＬＥＤ：Ｏｒｇａｎｉｃ  Ｌｉｇｈｔ  Ｅｍｉｔｔｉｎｇ  Ｄｉｏｄｅ）ディスプレイ装置などの表示装置であってよい。表示部８４９は、ユーザに対して画面を表示することにより情報を提供することができる。
【００７７】
（デコーダ８５１，スピーカ８５３）
デコーダ８５１は、ＣＰＵ８３９の制御に従い、入力されたデータのデコード及びアナログ変換などを行う機能を有する。デコーダ８５１は、例えば電話網アンテナ８１７及び電話処理部８１９を介して入力された音声データのデコード及びアナログ変換などを行い、音声信号をスピーカ８５３に出力することができる。またデコーダ８５１は、例えばＷｉｆｉアンテナ８２５及びＷｉｆｉ処理部８２７を介して入力された音声データのデコード及びアナログ変換などを行い、音声信号をスピーカ８５３に出力することができる。スピーカ８５３は、デコーダ８５１から供給される音声信号に基づいて音声を出力することができる。
【００７８】
（エンコーダ８５５，マイク８５７）
エンコーダ８５５は、ＣＰＵ８３９の制御に従い、入力されたデータのデジタル変換及びエンコードなどを行う機能を有する。エンコーダ８５５は、マイク８５７から入力される音声信号のデジタル変換及びエンコードなどを行い、音声データを出力することができる。マイク８５７は、音声を集音し、音声信号として出力することができる。
【００７９】
（記憶部８５９）
記憶部８５９は、データ格納用の装置であり、記憶媒体、記憶媒体にデータを記録する記録装置、記憶媒体からデータを読み出す読出し装置、および記憶媒体に記録されたデータを削除する削除装置などを含むことができる。ここで記憶媒体としては、例えばフラッシュメモリ、ＭＲＡＭ（Magnetoresistive  Random  Access  Memory）、ＦｅＲＡＭ（Ferroelectric  Random  Access  Memory）、ＰＲＡＭ（Phase  change  Random  Access  Memory）、及びＥＥＰＲＯＭ（Electronically  Erasable  and  Programmable  Read  Only  Memory）などの不揮発性メモリや、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）などの磁気記録媒体などが用いられてよい。
【００８０】
以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示の技術的範囲はかかる例に限定されない。本開示の技術分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
【００８１】
例えば、上記実施形態では、バッファ数を４すなわちシフト量Ｖの計算に用いられる磁気データの最大数を３の場合について、磁気データＳの評価方法を説明したが、説明を単純化するためであり、実際にはシフト量Ｖの計算には、最低４以上の磁気データを用いる。シフト量の計算に用いられる磁気データの数は限定されるものではないが、例えば４〜８個であってよい。
【００８２】
尚、本明細書において、フローチャートに記述されたステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的に又は個別的に実行される処理をも含む。また時系列的に処理されるステップでも、場合によっては適宜順序を変更することが可能であることは言うまでもない。
【００８３】
なお、以下のような構成も本開示の技術的範囲に属する。
（１）
磁気センサにより検出された磁気データと、オフセット算出に用いる所定数の前記磁気データを格納する格納部に格納された前記磁気データとを取得する取得部と、
前記取得部により取得された前記磁気データ間の距離に基づいて、前記磁気データそれぞれを評価する評価部と、
評価結果に基づいて、前記磁気データの中から前記オフセット算出に用いる前記所定数の前記磁気データを選択する選択部と、
を備える、磁気データ処理装置。
（２）
前記評価部は、前記磁気データ間の距離が近づくにつれて単調増加する評価関数を用いて前記磁気データを評価する、
前記（１）に記載の磁気データ処理装置。
（３）
前記評価部は、前記磁気データ間の距離の逆数の和、又は、前記磁気データ間の距離の二乗の逆数の和で表される評価関数を用いて前記磁気データを評価する、
前記（１）または（２）に記載の磁気データ処理装置。
（４）
前記選択部により選択された前記磁気データを用いて、前記磁気センサのオフセットを算出するオフセット算出部、
をさらに備える、
前記（１）〜（３）のいずれかに記載の磁気データ処理装置。
（５）
算出された前記オフセットにより補正された前記磁気データを用いて、方位を算出する方位算出部、
をさらに備える、
前記（４）に記載の磁気データ処理装置。
（６）
前記オフセット算出部は、複数の前記磁気データからの距離が等しくなる中心点を推定し、
前記方位算出部は、前記中心点からの距離に基づいて前記磁気データを前記方位の算出に用いるか否かを判断する、
前記（５）に記載の磁気データ処理装置。
（７）
前記所定数は、４以上の値である、
前記（１）〜（６）のいずれかに記載の磁気データ処理装置。
（８）
磁気センサにより検出された磁気データと、オフセット算出に用いる所定数の前記磁気データを格納する格納部に格納された前記磁気データとを取得することと、
取得された前記磁気データ間の距離に基づいて、前記磁気データそれぞれを評価することと、
評価結果に基づいて、前記磁気データの中から前記オフセット算出に用いる前記所定数の前記磁気データを選択することと、
を含む、磁気データ処理方法。
（９）
コンピュータを、
磁気センサにより検出された磁気データと、オフセット算出に用いる所定数の前記磁気データを格納する格納部に格納された前記磁気データとを取得する取得部と、
前記取得部により取得された前記磁気データ間の距離に基づいて、前記磁気データそれぞれを評価する評価部と、
評価結果に基づいて、前記磁気データの中から前記オフセット算出に用いる前記所定数の前記磁気データを選択する選択部と、
を備える、磁気データ処理装置として機能させるためのプログラム。
（１０）
コンピュータを、磁気センサにより検出された磁気データと、オフセット算出に用いる所定数の前記磁気データを格納する格納部に格納された前記磁気データとを取得する取得部と、前記取得部により取得された前記磁気データ間の距離に基づいて、前記磁気データそれぞれを評価する評価部と、評価結果に基づいて、前記磁気データの中から前記オフセット算出に用いる前記所定数の前記磁気データを選択する選択部と、を有する磁気データ処理装置として機能させるためのプログラムを記憶する記憶部と、
前記プログラムを実行するプロセッサと、
ユーザからの操作を受け付ける操作部と、
を備える、情報処理装置。
（１１）
前記磁気データ処理装置は、
前記選択部により選択された前記磁気データを用いて、前記磁気センサのオフセットを算出するオフセット算出部、
をさらに備える、
前記（１０）に記載の情報処理装置。
（１２）
前記磁気データ処理装置は、
算出された前記オフセットにより補正された前記磁気データを用いて、方位を算出する方位算出部、
をさらに備える、
前記（１１）に記載の情報処理装置。
（１３）
前記オフセット算出部は、複数の前記磁気データからの距離が等しくなる中心点を推定し、
前記方位算出部は、前記中心点からの距離に基づいて前記磁気データを前記方位の算出に用いるか否かを判断する、
前記（１２）に記載の情報処理装置。
【符号の説明】
【００８４】
１０      携帯端末（磁気データ処理装置）
１０１    磁気センサ
１０３    磁気データ取得部
１０５    評価部
１０７    選択部
１０９    格納部
１１１    オフセット算出部
１１３    方位算出部
【図１】
2013195195.tif 000007
【図２】
2013195195.tif 000008
【図３】
2013195195.tif 000009
【図４】
2013195195.tif 000010
【図５】
2013195195.tif 000011
【図６】
2013195195.tif 000012
【図７】
2013195195.tif 000013
【図８】
2013195195.tif 000014
【図９】
2013195195.tif 000015