(57)【要約】  本開示は、動き方向を判定するためのデバイス、コンピュータプログラムおよび方法を提供する。一態様では、モバイルデバイスは、加速度データを測定するためのセンサーを含む。モバイルデバイスはまた、複数のそれぞれの動き方向を計算するための複数の動き方向推定モジュールを実装するプロセッサおよびメモリを含む。動き方向推定モジュールの各々は、パラメータのそれぞれのセットを使用し、加速度データおよびパラメータのそれぞれのセットに基づいて、それぞれの動き方向を計算する。モジュールはまた、それぞれの推定動き方向に関する複数のそれぞれの信頼性メトリックを判定するための複数の信頼性メトリック計算モジュールを含む。モジュールはまた、最も大きい信頼性を示す信頼性メトリックを識別し、対応する動き方向を識別し、結果として生じる動き方向を生成するための選択モジュールを含む。いくつかの実装形態では、選択モジュールは、結果として生じる動き方向として、識別された動き方向を選択する。
2017516091.tif 000002
【特許請求の範囲】
【請求項１】
1つまたは複数の方向の各々におけるモバイルデバイスに関する加速度データを取得するステップと、
前記モバイルデバイス内で実行されている複数の動き方向推定モジュールによって、座標系に対する前記モバイルデバイスに関する複数のそれぞれの推定動き方向を計算するステップであって、前記動き方向推定モジュールの各々は、パラメータのそれぞれのセットを使用し、各動き方向推定モジュールは、前記加速度データおよびパラメータの前記セットのそれぞれに少なくとも部分的に基づいて、前記それぞれの推定動き方向を計算する、計算するステップと、
前記推定動き方向の各々に関する信頼性メトリックを判定するステップと、
最も大きい信頼性を示す前記信頼性メトリックを識別するステップと、
前記識別された信頼性メトリックに対応する前記動き方向を識別するステップと、
前記識別された信頼性メトリックに少なくとも部分的に基づいて、結果として生じる動き方向を生成するステップと
を含む方法。
【請求項２】
前記識別された信頼性メトリックに少なくとも部分的に基づいて、前記結果として生じる動き方向を生成するステップは、前記結果として生じる動き方向として、前記識別された動き方向を選択するステップを含む、請求項1に記載の方法。
【請求項３】
次に大きい信頼性を示す第2の信頼性メトリックおよびそれぞれの第2の識別された動き方向を識別するステップをさらに含み、前記識別された信頼性メトリックに少なくとも部分的に基づいて、前記結果として生じる動き方向を生成するステップは、前記2つの識別された動き方向を選択し、前記2つの識別された動き方向を合成して、前記結果として生じる動き方向を生成するステップを含む、請求項1に記載の方法。
【請求項４】
前記識別された信頼性メトリックをしきい値と比較するステップをさらに含み、前記識別された信頼性メトリックに少なくとも部分的に基づいて、前記結果として生じる動き方向を生成するステップは、前記識別された信頼性メトリックが前記しきい値を上回るときのみ、前記識別された動き方向を選択するステップを含む、請求項1から3のいずれか一項に記載の方法。
【請求項５】
前記識別された信頼性メトリックが前記しきい値を下回るとき、前記識別された信頼性メトリックに少なくとも部分的に基づいて、前記結果として生じる動き方向を生成するステップは、前記結果として生じる動き方向として、直前の動き方向が選択された前記動き方向推定モジュールのうちの1つによって計算された動き方向を選択するステップを含む、請求項4に記載の方法。
【請求項６】
前記識別された信頼性メトリックが前記しきい値を下回るとき、前記識別された信頼性メトリックに少なくとも部分的に基づいて、前記結果として生じる動き方向を生成するステップは、前記結果として生じる動き方向として、パラメータのデフォルトセットを使用する前記動き方向推定モジュールのうちの1つによって計算された動き方向を選択するステップを含む、請求項4に記載の方法。
【請求項７】
前記加速度データまたは他の方位データに基づいて、前記座標系に対する前記モバイルデバイスの方位を識別するステップをさらに含み、動き方向推定モジュールごとに、前記座標系に対する前記モバイルデバイスの前記それぞれの推定動き方向を計算するステップはまた、前記方位に少なくとも部分的に基づく、請求項1から6のいずれか一項に記載の方法。
【請求項８】
前記方位データは、ジャイロスコープデータおよび磁力計データの一方または両方を含む、請求項7に記載の方法。
【請求項９】
前記モバイルデバイスを携帯している人または前記モバイルデバイスを装着している人によって進められるいくつかのステップを追跡するステップをさらに含み、前記方法は、移動時間ウィンドウ内に実行され、パラメータの各セットは、それぞれのいくつかのステップに対応するそれぞれのウィンドウの長さを含む、請求項1から8のいずれか一項に記載の方法。
【請求項１０】
パラメータの各セットは、前記加速度データの垂直成分と水平成分との間の位相オフセットを含む、請求項1から9のいずれか一項に記載の方法。
【請求項１１】
1つまたは複数の方向の各々におけるモバイルデバイスに関する加速度データを測定するように構成された1つまたは複数のセンサーと、
1つまたは複数のプロセッサと、
前記1つまたは複数のプロセッサによって実行されたときに、複数のモジュールを実施する命令を記憶しているメモリと
を含み、前記複数のモジュールは、
座標系に対する前記モバイルデバイスに関する複数のそれぞれの推定動き方向を計算するように構成された複数の動き方向推定モジュールであって、前記動き方向推定モジュールの各々は、パラメータのそれぞれのセットを使用するように構成され、各動き方向推定モジュールは、前記加速度データおよびパラメータの前記セットのそれぞれに少なくとも部分的に基づいて、前記それぞれの推定動き方向を計算するように構成される、複数の動き方向推定モジュールと、
前記それぞれの推定動き方向に関する複数のそれぞれの信頼性メトリックを判定するように構成された複数の信頼性メトリック計算モジュールと、
選択モジュールと
を含み、前記選択モジュールは、
最も大きい信頼性を示す前記信頼性メトリックを識別し、
前記識別された信頼性メトリックに対応する前記動き方向を識別し、
前記識別された信頼性メトリックに少なくとも部分的に基づいて、結果として生じる動き方向を生成する
ように構成される、モバイルデバイス。
【請求項１２】
前記選択モジュールは、前記結果として生じる動き方向として、前記識別された動き方向を選択するように構成される、請求項11に記載のモバイルデバイス。
【請求項１３】
前記選択モジュールは、次に大きい信頼性を示す第2の信頼性メトリックおよびそれぞれの第2の識別された動き方向を識別するようにさらに構成され、前記選択モジュールは、前記2つの識別された動き方向を選択し、前記2つの識別された動き方向を合成して、前記結果として生じる動き方向を生成するように構成される、請求項11に記載のモバイルデバイス。
【請求項１４】
前記識別された信頼性メトリックをしきい値と比較するように構成された比較器をさらに含み、前記選択モジュールは、前記識別された信頼性メトリックが前記しきい値を上回るときのみ、前記識別された動き方向を選択するように構成される、請求項11から13のいずれか一項に記載のモバイルデバイス。
【請求項１５】
前記識別された信頼性メトリックが前記しきい値を下回るとき、前記選択モジュールは、前記結果として生じる動き方向として、直前の動き方向が選択された前記動き方向推定モジュールのうちの1つによって計算された前記動き方向を選択するように構成される、請求項14に記載のモバイルデバイス。
【請求項１６】
前記識別された信頼性メトリックが前記しきい値を下回るとき、前記選択モジュールは、前記結果として生じる動き方向として、パラメータのデフォルトセットを使用する前記動き方向推定モジュールのうちの1つによって計算された前記動き方向を選択するように構成される、請求項14に記載のモバイルデバイス。
【請求項１７】
前記加速度データまたは他の方位データに基づいて、前記座標系に対する前記モバイルデバイスの方位を判定するように構成された方位判定モジュールをさらに含み、各動き方向推定モジュールは、前記方位に少なくとも部分的に基づいて、前記座標系に対する前記モバイルデバイスの前記それぞれの推定動き方向を計算するようにさらに構成される、請求項11から16のいずれか一項に記載のモバイルデバイス。
【請求項１８】
前記方位データは、ジャイロスコープデータおよび磁力計データの一方または両方を含む、請求項17に記載のモバイルデバイス。
【請求項１９】
前記モバイルデバイスを携帯している人または前記モバイルデバイスを装着している人によって進められるいくつかのステップを追跡するように構成されたステップ検出モジュールをさらに含み、パラメータの各セットは、それぞれのいくつかのステップに対応するそれぞれのウィンドウの長さを含む、請求項11から18のいずれか一項に記載のモバイルデバイス。
【請求項２０】
パラメータの各セットは、前記加速度データの垂直成分と水平成分との間の位相オフセットを含む、請求項11から19のいずれか一項に記載のモバイルデバイス。
【請求項２１】
非一時的命令を含むコンピュータ可読記憶媒体であって、前記非一時的命令は、1つまたは複数のプロセッサによって実行されたときに、
1つまたは複数の方向の各々におけるモバイルデバイスに関する加速度データを受信することと、
複数の動き方向推定モジュールによって、座標系に対する前記モバイルデバイスに関する複数のそれぞれの推定動き方向を計算することであって、前記動き方向推定モジュールの各々は、パラメータのそれぞれのセットを使用し、各動き方向推定モジュールは、前記加速度データおよびパラメータの前記セットのそれぞれに少なくとも部分的に基づいて、前記それぞれの推定動き方向を計算する、計算することと、
前記推定動き方向の各々に関する信頼性メトリックを判定することと、
最も大きい信頼性を示す前記信頼性メトリックを識別することと、
前記識別された信頼性メトリックに対応する前記動き方向を識別することと、
前記識別された信頼性メトリックに少なくとも部分的に基づいて、結果として生じる動き方向を生成することと
を行うように構成される、コンピュータ可読記憶媒体。
【請求項２２】
前記結果として生じる動き方向を生成するために、前記媒体は、前記結果として生じる動き方向として、前記識別された動き方向を選択するための命令をさらに含む、請求項21に記載の媒体。
【請求項２３】
次に大きい信頼性を示す第2の信頼性メトリックおよびそれぞれの第2の識別された動き方向を識別するための命令をさらに含み、前記結果として生じる動き方向を生成するために、前記媒体は、前記2つの識別された動き方向を選択し、前記2つの識別された動き方向を合成して、前記結果として生じる動き方向を生成するための命令をさらに含む、請求項21に記載の媒体。
【請求項２４】
前記識別された信頼性メトリックをしきい値と比較するための命令をさらに含み、前記結果として生じる動き方向を生成するために、前記媒体は、前記識別された信頼性メトリックが前記しきい値を上回るときのみ、前記識別された動き方向を選択するための命令をさらに含む、請求項21から23のいずれか一項に記載の媒体。
【請求項２５】
前記識別された信頼性メトリックが前記しきい値を下回るとき、前記結果として生じる動き方向を生成するために、前記媒体は、前記結果として生じる動き方向として、直前の動き方向が選択された前記動き方向推定モジュールのうちの1つによって計算された前記動き方向を選択するための命令をさらに含む、請求項24に記載の媒体。
【請求項２６】
前記識別された信頼性メトリックが前記しきい値を下回るとき、前記結果として生じる動き方向を生成するために、前記媒体は、前記結果として生じる動き方向として、パラメータのデフォルトセットを使用する前記動き方向推定モジュールのうちの1つによって計算された前記動き方向を選択するための命令をさらに含む、請求項24に記載の媒体。
【請求項２７】
前記加速度データまたは他の方位データに基づいて、前記座標系に対する前記モバイルデバイスの方位を判定するための命令をさらに含み、動き方向推定モジュールごとに、前記座標系に対する前記モバイルデバイスの前記それぞれの推定動き方向を計算することはまた、前記方位に少なくとも部分的に基づく、請求項21から26のいずれか一項に記載の媒体。
【請求項２８】
前記モバイルデバイスを携帯している人または前記モバイルデバイスを装着している人によって進められるいくつかのステップを追跡するための命令をさらに含み、パラメータの各セットは、それぞれのいくつかのステップに対応するそれぞれのウィンドウの長さを含む、請求項21から27のいずれか一項に記載の媒体。
【請求項２９】
パラメータの各セットは、前記加速度データの垂直成分と水平成分との間の位相オフセットを含む、請求項21から28のいずれか一項に記載の媒体。
【請求項３０】
1つまたは複数の方向の各々における装置に関する加速度データを取得するための手段と、
前記装置内で実行されている複数の動き方向推定手段によって、座標系に対する前記装置に関する複数のそれぞれの推定動き方向を計算するための手段であって、前記動き方向推定手段の各々は、パラメータのそれぞれのセットを使用し、各動き方向推定手段は、前記加速度データおよびパラメータの前記セットのそれぞれに少なくとも部分的に基づいて、前記それぞれの推定動き方向を計算する、計算するための手段と、
前記推定動き方向の各々に関する信頼性メトリックを判定するための手段と、
最も大きい信頼性を示す前記信頼性メトリックを識別するための手段と、
前記識別された信頼性メトリックに対応する前記動き方向を識別するための手段と、
前記識別された信頼性メトリックに少なくとも部分的に基づいて、結果として生じる動き方向を生成するための手段と
を含む装置。
【発明の詳細な説明】
【技術分野】
【０００１】
優先データ
本開示は、2014年5月2日に出願されたPakzadらによるMOTION DIRECTION DETERMINATION AND APPLICATIONと題する同時係属米国特許出願第14/268,973号(代理人整理番号133748U4/QUALP220D)の優先権の利益を主張し、この出願全体がすべての目的のために参照により本明細書に組み込まれる。
【０００２】
関連出願の相互参照
本開示は、2014年5月2日に出願されたPakzadらによるMOTION DIRECTION DETERMINATION AND APPLICATIONと題する米国特許出願第14/268,955号(代理人整理番号133748U1/QUALP220A)、2014年5月2日に出願されたPakzadらによるMOTION DIRECTION DETERMINATION AND APPLICATIONと題する米国特許出願第14/268,962号(代理人整理番号133748U2/QUALP220B)、および2014年5月2日に出願されたPakzadらによるMOTION DIRECTION DETERMINATION AND APPLICATIONと題する米国特許出願第14/268,968号(代理人整理番号133748U3/QUALP220C)に関し、これらの出願のすべてがすべての目的のために参照により本明細書に組み込まれる。
【０００３】
本開示は、一般に、動きの方向を判定するための技法に関し、より詳細には、1つまたは複数のセンサーからの入力に基づいて動きの方向を推定することが可能なモバイルデバイスに関する。
【背景技術】
【０００４】
モバイル電子デバイスのための様々な既存のアプリケーションおよび期待されるアプリケーションは、モバイルデバイスの位置、方位、または動き方向の知識を利用する。たとえば、モバイルデバイスを携帯している人が歩いているか、またはさもなければ動き回っている状況では、それは、動きの方向またはその人の動きに関する他の動き情報を判定する能力を有するモバイルデバイスにとって有用であり得る。他の動き情報としては、たとえば、瞬間および平均の速度および加速度があり得る。そのような動き情報は、全地球測位システム(GPS)によって得られる支援または補正なしに、またたとえば、Wi-Fiまたは他のワイヤレス接続を介するなどして他の外部手段を通じて得られる支援または補正なしに、モバイルデバイスがそれ自体のセンサーに基づいて自律的にそれの動き方向を判定しようと試みる歩行者デッドレコニングアプリケーションにとって有用であり得る。そのようなデッドレコニングのユースケースは、たとえば、GPS、セルラー、Wi-Fiもしくは他のワイヤレス信号が利用可能であるエリアの外にモバイルデバイスがあるとき、またはそのような信号を介してデータを受信するための送信機もしくは受信機がオフもしくは無効にされているときに存在し得る。デッドレコニングアプリケーションでは、動き方向および位置の不確実性は一般に、外部のフィードバックまたは補正が受け取られるまで増大し続ける。結果として、推定動き方向および関連動き情報の信頼性が時間とともに大幅に低下し、さらには推定が役に立たなくなることがある。
【発明の概要】
【課題を解決するための手段】
【０００５】
本開示のシステム、方法、およびデバイスは、いくつかの革新的態様をそれぞれ有し、それらの態様のいずれの1つも、本明細書において開示される望ましい属性を単独では担わない。
【０００６】
本開示において説明される主題の1つの革新的態様は、1つまたは複数の方向の各々におけるモバイルデバイスに関する加速度データを取得するステップを含む方法において実装され得る。本方法はまた、モバイルデバイス内で実行されている複数の動き方向推定モジュールによって、座標系に対するモバイルデバイスに関する複数のそれぞれの推定動き方向を計算するステップを含む。推定動き方向を計算する際に、それぞれの動き方向推定モジュールの各々は、パラメータのそれぞれのセットを使用し、加速度データおよびパラメータのそれぞれのセットに少なくとも部分的に基づいて、それぞれの推定動き方向を計算する。本方法はまた、推定動き方向の各々に関する信頼性メトリックを判定するステップを含む。本方法はまた、最も大きい信頼性を示す信頼性メトリックを識別するステップを含む。本方法はまた、識別された信頼性メトリックに対応する動き方向を識別するステップを含む。本方法はさらに、識別された信頼性メトリックに少なくとも部分的に基づいて、結果として生じる動き方向を生成するステップを含む。いくつかの実装形態では、識別された信頼性メトリックに少なくとも部分的に基づいて、結果として生じる動き方向を生成するステップは、結果として生じる動き方向として、識別された動き方向を選択するステップを含む。
【０００７】
いくつかの実装形態では、本方法はまた、次に大きい信頼性を示す第2の信頼性メトリックおよびそれぞれの第2の識別された動き方向を識別するステップを含む。いくつかのそのような実装形態では、結果として生じる動き方向を生成するステップは、2つの識別された動き方向を選択し、2つの識別された動き方向を合成して、結果として生じる動き方向を生成するステップを含む。
【０００８】
いくつかの実装形態では、本方法はまた、識別された信頼性メトリックをしきい値と比較するステップを含む。いくつかのそのような実装形態では、結果として生じる動き方向を生成するステップは、識別された信頼性メトリックがしきい値を上回るときのみ、識別された動き方向を選択するステップを含む。いくつかのそのような実装形態では、識別された信頼性メトリックがしきい値を下回るとき、識別された信頼性メトリックに少なくとも部分的に基づいて、結果として生じる動き方向を生成するステップは、結果として生じる動き方向として、直前の動き方向が選択された動き方向推定モジュールのうちの1つによって計算された動き方向を選択するステップを含む。いくつかの他の実装形態では、識別された信頼性メトリックがしきい値を下回るとき、結果として生じる動き方向を生成するステップは、結果として生じる動き方向として、パラメータのデフォルトセットを使用する動き方向推定モジュールのうちの1つによって計算された動き方向を選択するステップを含む。
【０００９】
いくつかの実装形態では、本方法はまた、加速度データまたは他の方位データに基づいて、座標系に対するモバイルデバイスの方位を識別するステップを含む。いくつかのそのような実装形態では、各動き方向推定モジュールはまた、方位に少なくとも部分的に基づいて、モバイルデバイスのそれぞれの推定動き方向を計算する。たとえば、方位データは、ジャイロスコープデータおよび磁力計データの一方または両方を含むことができる。
【００１０】
いくつかの実装形態では、本方法はまた、モバイルデバイスを携帯している人またはモバイルデバイスを装着している人によって進められるいくつかのステップを追跡するステップを含む。いくつかのそのような実装形態では、本方法は、移動時間ウィンドウ内に実行され、パラメータの各セットは、それぞれのいくつかのステップに対応するそれぞれのウィンドウの長さを含む。いくつかの実装形態では、パラメータの各セットは、加速度データの垂直成分と水平成分との間の位相オフセットを含む。
【００１１】
本開示において説明される主題の別の革新的態様は、1つまたは複数の方向の各々におけるモバイルデバイスに関する加速度データを測定するように構成された1つまたは複数のセンサーを含むモバイルデバイスにおいて実装され得る。モバイルデバイスはまた、1つまたは複数のプロセッサと、1つまたは複数のプロセッサによって実行されたときに、複数のモジュールを実施する命令を記憶しているメモリとを含む。複数のモジュールは、座標系に対するモバイルデバイスに関する複数のそれぞれの推定動き方向を計算するように構成された複数の動き方向推定モジュールを含む。推定動き方向を計算する際に、それぞれの動き方向推定モジュールの各々は、パラメータのそれぞれのセットを使用し、加速度データおよびパラメータのそれぞれのセットに少なくとも部分的に基づいて、それぞれの推定動き方向を計算する。複数のモジュールはまた、それぞれの推定動き方向に関する複数のそれぞれの信頼性メトリックを判定するように構成された複数の信頼性メトリック計算モジュールを含む。複数のモジュールはまた、最も大きい信頼性を示す信頼性メトリックを識別し、識別された信頼性メトリックに対応する動き方向を識別し、識別された信頼性メトリックに少なくとも部分的に基づいて、結果として生じる動き方向を生成するように構成された選択モジュールを含む。いくつかの実装形態では、選択モジュールは、結果として生じる動き方向として、識別された動き方向を選択するように構成される。
【００１２】
いくつかの実装形態では、選択モジュールはさらに、次に大きい信頼性を示す第2の信頼性メトリックおよびそれぞれの第2の識別された動き方向を識別するように構成される。いくつかのそのような実装形態では、選択モジュールは、2つの識別された動き方向を選択し、2つの識別された動き方向を合成して、結果として生じる動き方向を生成するように構成され得る。
【００１３】
いくつかの実装形態では、複数のモジュールはさらに、識別された信頼性メトリックをしきい値と比較するように構成された比較器を含む。いくつかのそのような実装形態では、選択モジュールは、識別された信頼性メトリックがしきい値を上回るときのみ、識別された動き方向を選択するように構成される。いくつかのそのような実装形態では、識別された信頼性メトリックがしきい値を下回るとき、選択モジュールは、結果として生じる動き方向として、直前の動き方向が選択された動き方向推定モジュールのうちの1つによって計算された動き方向を選択するように構成される。いくつかの他の実装形態では、識別された信頼性メトリックがしきい値を下回るとき、選択モジュールは、結果として生じる動き方向として、パラメータのデフォルトセットを使用する動き方向推定モジュールのうちの1つによって計算された動き方向を選択するように構成される。
【００１４】
いくつかの実装形態では、複数のモジュールはさらに、加速度データまたは他の方位データに基づいて、座標系に対するモバイルデバイスの方位を判定するように構成された方位判定モジュールを含む。いくつかのそのような実装形態では、各動き方向推定モジュールはさらに、方位に少なくとも部分的に基づいて、座標系に対するモバイルデバイスのそれぞれの推定動き方向を計算するように構成される。たとえば、方位データは、ジャイロスコープデータおよび磁力計データの一方または両方を含むことができる。
【００１５】
いくつかの実装形態では、複数のモジュールはさらに、モバイルデバイスを携帯している人またはモバイルデバイスを装着している人によって進められるいくつかのステップを追跡するように構成されたステップ検出モジュールを含む。いくつかのそのような実装形態では、パラメータの各セットは、それぞれのいくつかのステップに対応するそれぞれのウィンドウの長さを含む。いくつかの実装形態では、パラメータの各セットは、加速度データの垂直成分と水平成分との間の位相オフセットを含む。
【００１６】
本開示において説明される主題の別の革新的態様は、1つまたは複数のプロセッサによって実行されたときに、1つまたは複数の方向の各々におけるモバイルデバイスに関する加速度データを受信するように構成された非一時的命令を含む有形コンピュータ可読記憶媒体において実装され得る。命令はまた、複数の動き方向推定モジュールを使用して、座標系に対するモバイルデバイスに関する複数のそれぞれの推定動き方向を計算するように構成される。それぞれの動き方向を計算する際に、動き方向推定モジュールの各々は、パラメータのそれぞれのセットを使用し、加速度データおよびパラメータのそれぞれのセットに少なくとも部分的に基づいて、それぞれの推定動き方向を計算する。命令はまた、推定動き方向の各々に関する信頼性メトリックを判定するように構成される。命令はまた、最も大きい信頼性を示す信頼性メトリックを識別するように構成される。命令はまた、識別された信頼性メトリックに対応する動き方向を識別するように構成される。命令はさらに、識別された信頼性メトリックに少なくとも部分的に基づいて、結果として生じる動き方向を生成するように構成される。いくつかの実装形態では、結果として生じる動き方向を生成するための命令は、結果として生じる動き方向として、識別された動き方向を選択するための命令を含む。
【００１７】
いくつかの実装形態では、媒体はさらに、次に大きい信頼性を示す第2の信頼性メトリックおよびそれぞれの第2の識別された動き方向を識別するための命令を含む。いくつかのそのような実装形態では、媒体はさらに、2つの識別された動き方向を選択し、2つの識別された動き方向を合成して、結果として生じる動き方向を生成するための命令を含む。
【００１８】
いくつかの実装形態では、媒体はさらに、識別された信頼性メトリックをしきい値と比較するための命令を含む。いくつかのそのような実装形態では、媒体はさらに、識別された信頼性メトリックがしきい値を上回るときのみ、識別された動き方向を選択するための命令を含む。いくつかのそのような実装形態では、媒体はさらに、識別された信頼性メトリックがしきい値を下回るとき、結果として生じる動き方向として、直前の動き方向が選択された動き方向推定モジュールのうちの1つによって計算された動き方向を選択するための命令を含む。いくつかの他の実装形態では、媒体はさらに、識別された信頼性メトリックがしきい値を下回るとき、結果として生じる動き方向として、パラメータのデフォルトセットを使用する動き方向推定モジュールのうちの1つによって計算された動き方向を選択するための命令を含む。
【００１９】
いくつかの実装形態では、媒体はさらに、加速度データまたは他の方位データに基づいて、座標系に対するモバイルデバイスの方位を判定するための命令を含む。いくつかのそのような実装形態では、座標系に対するモバイルデバイスのそれぞれの推定動き方向を計算することはまた、方位に少なくとも部分的に基づく。
【００２０】
いくつかの実装形態では、媒体はさらに、モバイルデバイスを携帯している人またはモバイルデバイスを装着している人によって進められるいくつかのステップを追跡するための命令を含む。いくつかのそのような実装形態では、パラメータの各セットは、それぞれのいくつかのステップに対応するそれぞれのウィンドウの長さを含む。いくつかの実装形態では、パラメータの各セットは、加速度データの垂直成分と水平成分との間の位相オフセットを含む。
【００２１】
本開示において説明される主題の1つまたは複数の実装形態の詳細を、添付の図面および以下の説明において示す。他の特徴、態様および利点は、説明、図面および特許請求の範囲から明らかになろう。以下の図の相対寸法は、一定の縮尺で描かれてはいない場合があることに留意されたい。
【図面の簡単な説明】
【００２２】
【図１Ａ】例示的なモバイルデバイスを示すシステムブロック図である。
【図１Ｂ】例示的なモバイルデバイスを示すシステムブロック図である。
【図２】例示的なセンサースイートのシステムブロック図である。
【図３】例示的なモバイルデバイスに対する例示的なモバイルデバイス座標系を示す図である。
【図４】モバイルデバイスの表示に対する配置されたECEF座標系およびENU座標系を含む地球の表示の図である。
【図５Ａ】モバイルデバイスが人のバックパックの中で携帯されている例示的なシナリオを示す図である。
【図５Ｂ】モバイルデバイスが人のズボンの脇ポケットの中で携帯されている例示的なシナリオを示す図である。
【図５Ｃ】モバイルデバイスが人の手の中で携帯されている例示的なシナリオを示す図である。
【図６】メモリに記憶され、説明される方法またはプロセスのうちの1つまたは複数を実行するようにプロセッサとともに実施され得る例示的なモジュールのブロック図を示す図である。
【図７】推定動きベクトルMにおける信頼性の測定値を判定するための信頼性メトリックを計算するための例示的なプロセスを示す流れ図である。
【図８】例示的な双峰確率分布を示す図である。
【図９】動きの方向Mを判定するための例示的なプロセスを示す流れ図である。
【図１０】動きの方向Mを判定するために1つまたは複数のパラメータを選択するための例示的なプロセスを示す流れ図である。
【図１１】メモリに記憶され、説明される方法またはプロセスのうちの1つまたは複数を実行するようにプロセッサとともに実施され得る例示的なモジュールの別のブロック図である。
【図１２】動きの方向Mを判定するための例示的なプロセスを示す流れ図である。
【発明を実施するための形態】
【００２３】
様々な図面における同様の参照番号および名称は、同様の要素を示す。
【００２４】
以下の説明は、本開示の革新的態様について説明する目的で、いくつかの実装形態を対象とする。しかしながら、本明細書における教示が数多くの異なる方法において適用できることは、当業者には容易に認識されよう。説明される実装形態は、一般に、任意のモバイル(「可動」または「ポータブル」とも呼ばれる)電子デバイス、装置、またはシステムにおいて実装され得る。より詳細には、説明される実装形態が、限定はしないが、他の考えられるデバイスの中でも、モバイル電話、マルチメディアインターネット対応セルラー電話、スマートフォン、モバイルテレビジョン受信機、Bluetooth(登録商標)デバイス、携帯情報端末(PDA)、ワイヤレス電子メール受信機、ハンドヘルドまたはポータブルコンピュータ、ネットブック、ノートブック、スマートブック、タブレット、全地球測位システム(GPS)受信機/ナビゲータ、カメラ、デジタルメディアプレーヤ(たとえば、MP3プレーヤ)、カムコーダ、ポータブルゲームコンソール、腕時計、および電子読取りデバイス(たとえば、eリーダ)などの様々なモバイル電子デバイスに含まれるか、または関連付けられ得ることが企図される。したがって、それらの教示は、単に図に示されている実装形態に限定されることを意図するものではなく、代わりに、当業者には容易に明らかになるように、広範囲にわたる適用例を有している。
【００２５】
いくつかの実装形態は、推定動きベクトルMにおける信頼性の測定値を判定するための信頼性メトリックを計算するための、デバイス、装置、方法、または命令を含むコンピュータ可読記憶媒体に関する。いくつかの実装形態は、加速度データまたはそのような加速度データから導出されたデータを双峰確率分布に適合させるための、かつ双峰確率分布に基づいて動きの方向Mを判定するための、装置、方法、または命令を含むコンピュータ可読記憶媒体に関する。いくつかの実装形態は、動きの方向Mを判定するために1つまたは複数のパラメータを選択するための、装置、方法、または命令を含むコンピュータ可読記憶媒体に関する。たとえば、ユースケースが識別され得、動きの方向Mをより正確に推定するために、1つまたは複数のパラメータが調整または最適化され得る。いくつかの他の実装形態は、動きの複数の推定方向Mを並行して判定するための、装置、方法、または命令を含むコンピュータ可読記憶媒体に関し、動きの各推定方向は、対応するユースケースに関してあらかじめ定義されたパラメータの異なるセットに基づく。いくつかのそのような実装形態では、最も高いそれぞれの信頼性メトリックを有する動きの方向Mが出力として選択される。
【００２６】
本開示において説明される主題の特定の実装形態は、以下の潜在的な利点のうちの1つまたは複数を実現するように実装され得る。より信頼できる(または「確実な」、「正確な」もしくは「的確な」)推定動き方向Mが判定され得る。および推定動き方向Mの信頼性の測定値が、たとえば、将来の推定動き方向を選択する方法または推定動き方向Mを使用する方法について判定を行うために判定され得る。たとえば、いくつかの実装形態では、電力を節約するために、GPS、SNS、または他の測位もしくはナビゲーションシステムと通信するように構成されたネットワークインターフェースが、推定動き方向Mに関する信頼性メトリックがしきい値を上回る限り、オフまたはさもなければ無効にされる。いくつかのそのような実装形態では、信頼性メトリックがしきい値を割り込んだとき、推定動き方向Mを補正または精緻化するために、測位または他の較正データが受信され得るように、ネットワークインターフェースがオンまたはさもなければ有効にされる。
【００２７】
図1Aおよび図1Bは、例示的なモバイルデバイス100を示すシステムブロック図である。モバイルデバイス100は、たとえば、スマートフォン、セルラーフォンまたはモバイル電話であり得る。しかしながら、上述のように、モバイルデバイス100の同じ構成要素のうちのいくつか、またはそれらの変形形態は、コンピュータ、タブレット、eリーダ、ゲームデバイスならびに他のハンドヘルドデバイスおよびポータブルメディアデバイスなど、ディスプレイデバイスおよびコンピューティングデバイスを含む様々なタイプの他のモバイルデバイスも示す。
【００２８】
モバイルデバイス100は、ハウジング102と、ディスプレイ104と、アンテナ106と、スピーカ108と、入力デバイス110と、マイクロフォン112とを含む。ハウジング102は、射出成形および真空成形を含む様々な製造プロセスのいずれによって形成されてもよい。また、ハウジング102は、プラスチック、金属、ガラス、ゴム、およびセラミック、またはこれらの組合せもしくは他の材料を含む様々な材料のいずれから作られてもよい。ハウジング102は、異なる色の、または異なるロゴ、絵、もしくはシンボルを含む他の取外し可能な部分と交換可能であり得る取外し可能な部分(図示せず)を含むことができる。
【００２９】
ディスプレイ104は、双安定もしくはアナログディスプレイを含む、様々なタイプのディスプレイのいずれかのうちの1つもしくは複数であり得るか、またはそれらを含み得る。ディスプレイ104は、アクティブマトリックスディスプレイなど、フラットパネルディスプレイであり得る。たとえば、ディスプレイ104は、プラズマディスプレイ、エレクトロルミネセントディスプレイ(ELD)、発光ダイオード(LED)ディスプレイ、有機LED(OLED)ディスプレイ、液晶ディスプレイ(LCD)、スーパーツイステッドネマティック(STN:super-twisted nematic)LCD、または他の薄膜トランジスタ(TFT)LCDであり得る。ディスプレイ104はまた、干渉変調器(IMOD)ベースのディスプレイであり得るか、またはそれを含み得る。IMODまたは干渉光変調器という用語は、光学干渉の原理を使用して光を選択的に吸収および/または反射するデバイスを指す。いくつかの実装形態では、IMODディスプレイ要素は、一方または両方が全体的または部分的に透過性および/または反射性を有してもよく、かつ適切な電気信号が加えられたときに相対運動することができる一対の導電プレートを含む。たとえば、一方のプレートは、基板の上、基板上に堆積されたか、または基板によって支持された固定層を含んでもよく、他方のプレートは、空隙によって固定層から分離された反射膜を含んでもよい。一方のプレートの別のプレートに対する位置によって、IMODディスプレイ要素に入射する光の光学干渉が変化することがある。IMODベースのディスプレイデバイスは、広範囲の用途を有し、製品、特に表示機能を有する製品に関して、既存の製品を改良し新しい製品を作製するのに使用され得る。
【００３０】
モバイルデバイス100のいくつかの物理的構成要素は、図1A中に概略的に示されている。モバイルデバイス100は、ハウジング102内に少なくとも部分的に入れられた追加の構成要素を含むことができる。たとえば、図1Bは、ハウジング102内に少なくとも部分的に含まれ得る様々な例示的な構成要素を示す。モバイルデバイス100は、トランシーバ116と結合され得るアンテナ106を含むことができるネットワークインターフェース114を含む。ネットワークインターフェース114は、モバイルデバイス100ディスプレイ104に表示され得る画像データのソースであってもよい。トランシーバ116は、調整ハードウェア122に接続されたプロセッサ120に接続される。調整ハードウェア122は、トランシーバ116およびネットワークインターフェース114を介して受信または送信される信号など、信号を調整する(たとえば、信号をフィルタリングまたはさもなければ操作する)ことができる。調整ハードウェア122は、スピーカ108およびマイクロフォン112に接続され得る。プロセッサ120は、入力デバイス110(様々なタイプの、様々な入力機構および感知技術を組み込んだいくつかの入力デバイスをまとめて指し得る)にも接続され得る。プロセッサ120は、ドライバコントローラ124にも接続され得る。ドライバコントローラ124は、フレームバッファ126およびアレイドライバ128に結合され得、アレイドライバ128は次にディスプレイ104を駆動するために結合され得る。
【００３１】
実際には、ネットワークインターフェース114は、プロプライエタリプロトコルと非プロプライエタリプロトコルの両方を含み得る様々なネットワークプロトコルに従って、様々な用途のために様々なタイプのワイヤレス接続を介してデータを交換するために使用可能ないくつかのネットワークインターフェースをまとめて指し得る。いくつかの実装形態では、ネットワークインターフェース114は、後述するGPSまたは衛星ナビゲーションシステム(SNS)から受信されるような測位データ(本明細書では一般に「較正データ」とも呼ばれる)を送受信することができる。いくつかの実装形態では、ネットワークインターフェース114はまた、セルラータワーまたは基地局から受信されるような電話データを送受信することができる。いくつかの実装形態では、ネットワークインターフェース114はまた、1つまたは複数のネットワークにわたってWi-Fiまたは他のワイヤレス接続を介して、そのようなデータまたは他のデータを送受信することができる。
【００３２】
アンテナ106は一般に、様々な信号を送受信することができる。いくつかの実装形態では、アンテナ106は、IEEE16.11(a)、(b)、もしくは(g)を含むIEEE16.11規格、または、IEEE802.11a、b、g、nを含むIEEE802.11規格、およびそれらの他の実装形態に従って無線周波数(RF)信号を送信および受信する。いくつかの他の実装形態では、アンテナ106は、Bluetooth(登録商標)規格に従ってRF信号を送信および受信する。セルラー電話の場合、アンテナ106は、符号分割多元接続(CDMA)、周波数分割多元接続(FDMA)、時分割多元接続(TDMA)、汎欧州デジタル移動電話方式(GSM(登録商標))、GSM(登録商標)/汎用パケット無線通信システム(GPRS)、拡張データGSM(登録商標)環境(EDGE)、地上基盤無線(TETRA)、広帯域CDMA(W-CDMA)、エボリューションデータオプティマイズド(EV-DO)、1xEV-DO、EV-DO Rev A、EV-DO Rev B、高速パケットアクセス(HSPA)、高速ダウンリンクパケットアクセス(HSDPA)、高速アップリンクパケットアクセス(HSUPA)、発展型高速パケットアクセス(HSPA+)、ロングタームエボリューション(LTE)、AMPS、または3G技術、4G技術もしくは5G技術を利用するシステムのような、ワイヤレスネットワーク内で通信するのに使用される他の公知の信号を受信するように設計され得る。
【００３３】
ネットワークインターフェース114はまた、たとえば、調整ハードウェア122またはプロセッサ120のデータ調整または処理要件を軽減するために、いくつかの調整または処理能力を有することができる。たとえば、トランシーバ116は、アンテナ106から受信された信号を、調整ハードウェア122またはプロセッサ120によって受信され得、さらに調整ハードウェア122またはプロセッサ120によって操作され得るように前処理することができる。トランシーバ116はまた、調整ハードウェア122またはプロセッサ120から受信された信号を、アンテナ106を介してモバイルデバイス100から送信され得るように処理することができる。
【００３４】
プロセッサ120は、モバイルデバイス100の動作全体を制御する。プロセッサ120は、モバイルデバイス100の動作を制御するための1つまたは複数のマイクロコントローラ、CPU、または他の論理ユニット(本明細書ではまとめて「プロセッサ120」とも呼ばれる)を含むことができる。調整ハードウェア122は、信号をスピーカ108に送信し、マイクロフォン112から信号を受信するための増幅器およびフィルタを含んでもよい。調整ハードウェア122は、モバイルデバイス100内の個別構成要素として実装されてもよく、あるいはプロセッサ120もしくは他の構成要素の中に組み込まれるか、またはこれらと一体化されてもよい。
【００３５】
いくつかの実装形態では、入力デバイス110は、たとえばユーザがモバイルデバイス100の動作を制御するのを可能にしてもよい。やはり、入力デバイス110は、様々な入力機構および感知技術に基づく、いくつかの別個の、または一体化された入力デバイスをまとめて指し得る。入力デバイス110は、QWERTYキーボードもしくは電話キーパッドなどのキーパッド、ボタン、スイッチ、ロッカー、タッチ感知スクリーン、ディスプレイ104と一体化されたタッチ感知スクリーン、または感圧もしくは感熱膜を含むことができる。マイクロフォン112も、モバイルデバイス100用の入力デバイスであり得る。いくつかの実装形態では、マイクロフォン112を介する音声コマンドが、モバイルデバイス100の動作を制御するために使用され得る。
【００３６】
いくつかの実装形態では、電源130は、プロセッサ120およびディスプレイ104を含む本明細書において説明されるモバイルデバイス100の構成要素の一部または全部に電力を供給することができる。電源130は、様々なエネルギー貯蔵デバイスのうちの1つまたは複数を含むことができる。たとえば、電源130は、ニッケルカドミウム電池またはリチウムイオン電池のような充電式バッテリーを含むことができる。充電式バッテリーを使用する実装形態では、充電式バッテリーは、たとえば、壁コンセント(または「コンセント」)あるいは光起電性デバイスまたはアレイからの電力を使用して充電可能であり得る。代替的に、充電式バッテリーは、磁気誘導または他の機構を介してワイヤレス充電可能であり得る。電源130はまた、再生可能エネルギー源、キャパシタ、または、プラスチック太陽電池もしくは太陽電池塗料を含む太陽電池であり得る。
【００３７】
モバイルデバイス100はまた、プロセッサ120と接続されたメモリ132を含む。メモリ132は、いくつかの適切なデータ記憶デバイスまたは機構のいずれかをまとめて指し得る。いくつかの実装形態では、メモリ132は、1つまたは複数の揮発性記憶デバイスおよび1つまたは複数の不揮発性記憶デバイスを含む。メモリ132はまた、メモリカード、メモリスティック、フラッシュドライブ、または他の取外し可能メモリデバイスもしくは構成要素など、1つまたは複数の取外し可能メモリデバイスを含むことができる。さらに、メモリ132の一部または全部は、プロセッサ120とは別個のものとして説明されるが、プロセッサ120とともに提供されること、プロセッサ120と同じチップもしくはダイ上に提供されること、またはプロセッサ120を含むパッケージの一部として含まれることがある。
【００３８】
モバイルデバイス100はまた、1つまたは複数のセンサーのスイート(または「セット」)134を含む。センサースイート134中のセンサーは、プロセッサ120と通信可能に接続され、いくつかの実装形態では、調整ハードウェア122またはハウジング102内の何らかの他の調整ハードウェアとも通信可能に接続される。いくつかの実装形態では、センサースイート134は、センサースイート134のセンサーによって測定されたか、またはセンサーから取得された信号を、そのような信号がプロセッサ120または調整ハードウェアに通信される前または渡される前に調整または処理するためのいくつかの調整または処理能力を含む。センサースイート134中のセンサーのうちのいくつかは、慣性センサーであってもよく、したがって、センサースイート134は、慣性測定ユニット(IMU)134と呼ばれることもある。
【００３９】
図2は、例示的なセンサースイート134のシステムブロック図を示す。センサースイート134中のセンサーは、単一のセンサーパッケージ内に位置するいくつかの個々の構成要素として示されるが、センサースイート134中のセンサーの一部または全部は、個別構成要素であってもよく、またはモバイルデバイス100のハウジング102内に位置する1つもしくは複数のセンサーパッケージに結合もしくは統合されてもよい。いくつかの実装形態では、センサースイート134は、3つの直線加速度計236A、236Bおよび236Cを含み、これらの各々は、モバイルデバイス座標系の特定の軸に沿った直線加速度または速度(本明細書ではまとめて「直線加速度データ」、「直線速度データ」または一般的に「動きデータ」とも呼ばれる)を測定する。いくつかの実装形態では、直線加速度計236A、236Bおよび236C(本明細書ではまとめて「1つまたは複数の直線加速度計236」とも呼ばれる)の各々は、デカルト座標系の特定のそれぞれの直交軸に沿った直線加速度データを測定する。いくつかの他の実装形態では、3つの直線加速度計236A、236Bおよび236Cの機能は、単一の3次元加速度計236に結合または統合されてもよい。
【００４０】
図3は、例示的なモバイルデバイス100に対する例示的なモバイルデバイス座標系300を示す。図示の実装形態では、モバイルデバイス座標系300(「IMU座標系300」とも呼ばれる)は、モバイルデバイス100自体に対して定義され、固定される。そのような座標系300は、3つの直交軸338A、338Bおよび338Cの始点がモバイルデバイス100内に位置する「デバイス中心」座標系の一例である。たとえば、モバイルデバイス座標系300の始点は、モバイルデバイス100の幾何学的中心に、モバイルデバイス100の質量中心に、モバイルデバイス100の隅に、または別の適切もしくは便利な参照ロケーションに位置し得る。モバイルデバイス座標系300は、モバイルデバイスのそれぞれの幅、長さおよび奥行きの次元方向に沿って延びる3つの直交軸338A、338Bおよび338Cを含む。いくつかの実装形態では、第1の直線加速度計236Aは、第1の直交軸338Aに沿って直線加速度データ(本明細書では単に「直線加速度」とも呼ばれる)を測定することができ、第2の直線加速度計236Bは、第2の直交軸338Bに沿って直線加速度データを測定することができ、第3の直線加速度計236Cは、第3の直交軸338Cに沿って直線加速度データを測定することができる。また、モバイルデバイス100に、東(E)、北(N)および上(U)方向を示す例示的な東、北および上(ENU)のカーディナルベースのデカルト座標系(Cardinal-based Cartesian coordinate system)301が重ねられている。また、重力(G)の方向も示されている。図示の例では、モバイルデバイス100の方位(O)が、軸338Bの正の方向に対応する方向として定義されている。
【００４１】
いくつかの実装形態では、図2のセンサースイート134は、3つのジャイロスコープ240A、240Bおよび240Cを含み、これらの各々は、モバイルデバイス座標系300の特定の軸の周りの角加速度、角速度または回転(本明細書ではまとめて「角加速度データ」、「角速度データ」、「回転データ」または一般的に「方位データ」とも呼ばれる)を測定する。たとえば、第1のジャイロスコープ240Aは、第1の軸338Aの周りの回転データを測定することができ、第2のジャイロスコープ240Bは、第2の軸338Bの周りの回転データを測定することができ、第3のジャイロスコープ240Cは、第3の軸338Cの周りの回転データを測定することができる。そのような回転データはまた、ピッチ、ロールおよびヨーの観点から表現され得る。いくつかの他の実装形態では、3つのジャイロスコープ240A、240Bおよび240C(本明細書ではまとめて「ジャイロスコープ240」とも呼ばれる)の機能は、単一の3次元ジャイロスコープ240に結合または統合されてもよい。
【００４２】
いくつかの実装形態では、センサースイート134は、3つの磁力計242A、242Bおよび242Cを含み、これらの各々は、モバイルデバイス座標系300の特定の軸に沿った磁場または磁力(本明細書ではまとめて「磁場データ」、「磁力データ」、「磁気データ」または一般的に「方位データ」とも呼ばれる)を測定する。たとえば、第1の磁力計242Aは、第1の軸338Aに沿って磁場データを測定することができ、第2の磁力計242Bは、第2の軸338Bに沿って磁場データを測定することができ、第3の磁力計242Cは、第3の軸338Cに沿って磁場データを測定することができる。いくつかの他の実装形態では、3つの磁力計242A、242Bおよび242C(本明細書ではまとめて「磁力計242」または「コンパス242」とも呼ばれる)の機能は、単一の3次元磁力計242に結合または統合されてもよい。
【００４３】
いくつかの実装形態では、センサースイート134はまた、人(本明細書では「歩行者」、「ユーザ」または「ビューア」とも呼ばれる)によっていつステップが進められたかを判定するため、および、たとえばある時間期間中に進められたステップの数をカウントするために、上述の加速度計およびジャイロスコープとは別個の、歩数計などのステップトラッカー244を含む。いくつかの他の実装形態では、ステップトラッカー244に関連する機能は、加速度計236A、236Bおよび236Cまたはジャイロスコープ240A、240Bおよび240Cを含むセンサースイート134中の上述のセンサーの一部または全部とともに、プロセッサ120によって実施される。たとえば、プロセッサ120は、センサースイート134から取得されたか、またはセンサースイート134から取得された直線加速度もしくは方位データから導出された加速度または他の動き情報に基づいて、いつステップが進められたかを判定することができる。
【００４４】
いくつかの実装形態では、センサースイート134は、上述のセンサーのすべてを含む。いくつかの他の実装形態では、センサースイート134は、たとえば、直線加速度計のみ、直線加速度計およびジャイロスコープのみ、直線加速度計および磁力計のみ、またはセンサーの別の適切なサブセットなど、上述のセンサーのサブセットを含むことができる。いくつかの実装形態では、センサースイート134は、上述のセンサーに加えて他のセンサーを含むことができる。さらに、上述のセンサーは3つ(たとえば、3つの直線加速度計236A、236Bおよび236C)から成るグループで説明されているが、いくつかの他の実装形態では、センサースイート134は、異なる数の各タイプのセンサー、すなわち、3つの直線加速度計236A、236Bおよび236Cよりも多いまたは少ない直線加速度計、3つのジャイロスコープ240A、240Bおよび240Cよりも多いまたは少ないジャイロスコープ、ならびに3つの磁力計242A、242Bおよび242Cよりも多いまたは少ない磁力計を含むことができる。
【００４５】
さらに、いくつかの実装形態では、あらかじめ定義または学習されたパターンでモバイルデバイスを動かす(たとえば、ユーザの手によりモバイルデバイスを反転させる、回転させる、または揺らす)ことによって作られたジェスチャーが、プロセッサ120とともにセンサースイート134を介して感知または認識されることがあり、モバイルデバイス100の動作を制御するための入力デバイス110の追加または代替として使用されることもある。
【００４６】
上記で言及したように、モバイルデバイス100などのモバイル電子デバイスのための様々な既存のアプリケーションおよび期待されるアプリケーションは、モバイルデバイスの位置、方位(本明細書では「向き」とも呼ばれる)、または動き方向の知識を利用する。たとえば、モバイルデバイスを携帯している人が歩いているか、またはさもなければ動き回っている状況では、それは、動きの方向またはその人の動きに関する他の動き情報を判定する能力を有するモバイルデバイス100にとって有用であり得る。他の動き情報としては、たとえば、瞬間および平均の速度および加速度が含まれ得る。そのような動き情報は、GPSまたはSNSによって得られる支援または補正(本明細書では「較正データ」とも呼ばれる)なしに、またたとえば、ネットワークインターフェース114によりWi-Fiまたは他のワイヤレス接続を介するなどして他の外部手段を通じて得られる支援または補正なしに、センサースイート134によって測定されたか、またはセンサースイート134から取得されたセンサーデータに基づいて、モバイルデバイス100が自律的にそれの動き方向を判定する歩行者デッドレコニングアプリケーションにとって有用であり得る。そのようなデッドレコニングのユースケースは、たとえば、GPS、セルラー、Wi-Fiもしくは他のワイヤレス信号が利用可能であるエリアの外にモバイルデバイス100があるとき、またはそのような信号を介してデータを送信および受信するための送信機もしくは受信機(まとめて「トランシーバ」とも呼ばれる)、たとえばトランシーバ116がオフもしくは無効にされているときに存在し得る。
【００４７】
デッドレコニングユースケースでは、モバイルデバイス100は、センサースイート134中のセンサーの一部もしくは全部によって測定されたか、一部もしくは全部から取得されたか、あるいは一部もしくは全部によって測定された測定値または一部もしくは全部から取得された測定値から導出された、上述の動きデータまたは方位データの一部または全部を含む、センサーデータに基づいて、人の動き方向(M)を推定する。このセンサーデータの一部または全部に基づいて、モバイルデバイス100は、たとえば、地球中心地球固定(ECEF)座標系のようなデカルト座標系、ENU座標系のようなカーディナルベースのデカルト座標系、または測地座標系など、グローバル座標系に対する方位(O)の方向を判定することができる。また、判定された方位Oおよび他のセンサーデータに基づいて、モバイルデバイス100は次いで、動きの「絶対」または「支配的」方向M、すなわち、モバイルデバイス100を携帯している人の動きの方向を判定する。動きの方向Mはまた、グローバル座標系に対して、またいくつかの実装形態では、方位Oの方向を定義するために使用される同じグローバル座標系において定義され得る。このようにして、センサーデータ分析、動き方向Mの判定、およびそれの信頼性の判定が単純化され得る。さらに、いくつかの実装形態では、モバイルデバイス100は、時変データ信号として、動き方向Mまたは方位方向Oを表すことができる。たとえば、動き方向Mは、時変方向および時変的大きさの一方または両方を含む動きベクトルM(本明細書ではそのように呼ばれることもある)として特徴付けまたは定義され得る。
【００４８】
図4は、モバイルデバイス100の表示に対する配置されたECEF座標系400およびENU座標系301を含む地球の表示452の図を示す。ECEF座標系は、それぞれ方向XECEF、YECEFおよびZECEFに対応する直交軸454A、454Bおよび454Cを含む。図示のように、モバイルデバイス100に関する位置、速度および加速度または他の動きデータは、ECEF座標系400のXECEF、YECEFおよびZECEF方向ならびにENU座標系301の東(E)、北(N)および上(U)方向の両方の観点から定義され得る。ENU座標系では、上方向は、重力(G)とは反対の方向として、または地球の幾何学的中心から出ている線(ray)として定義され得る一方、東および北は、磁北または幾何学的(もしくは「真」)北の観点から定義され得る。
【００４９】
いくつかの実装形態では、モバイルデバイス100の、またはモバイルデバイス100に関する方向、速度、加速度または他の動きデータはまた、モバイルデバイス中心の右、対地進路(Course-Over-Ground)および上(RCU)座標系の観点から表現または判定され得る。たとえば、対地進路(COG)方向は、ある時点にモバイルデバイス100が動いている想像上の水平面に沿った前方-後方軸に沿った動きを記述することができる一方、右(R)方向は、水平面上の前方-後方軸と直角である右-左軸に沿った横方向の動きを記述することができ、上(U)方向は、水平面と直角である垂直軸に沿った動きを記述する。図3はまた、IMU座標系300、ENU座標系301およびRCU座標系303の間の例示的な関係を示す(例示的な実装形態では、方向上(U)は、ENU座標系301とRCU座標系303の両方において同じであるが、これは必要とされない)。図示の例では、また本明細書で提示する様々な実装形態の説明では、モバイルデバイス100の動きの方向(M)は、COG方向に沿ったものとして示されており、COG方向自体は、上述のグローバル座標系の観点から定義され得る。しかしながら、他の実装形態では、動きベクトルMは、COG方向、右(R)方向および上(U)方向のうちの2つ以上の観点から、または別の座標系の観点から記述され得る。
【００５０】
いくつかの実装形態では、動き方向Mは、アライメント(または「ミスアライメント」)角度αにより回転する方位方向Oの観点から推定または定義され得る。上述のように、方位方向Oは、モバイルデバイス100自体の方位または向きを記述する。方位方向Oは、モバイルデバイス100によって、センサースイート134のセンサーによって取得された、直線加速度測定値、角加速度測定値、回転測定値、磁場測定値、またはそのような測定値の組合せもしくは他の測定値の分析を通じて判定され得る。たとえば、重力(G)の方向は、加速度計236A、236Bおよび236Cによって測定された加速度データを分析することによって推定され得る。たとえば、いくつかの実装形態では、プロセッサ120は、最強の識別された加速度に対応する方向が重力の方向であると判定する。追加または代替として、プロセッサ120は、磁力計242A、242Bおよび242Cを使用して磁北の方向を判定することができる。重力または磁北の識別された方向に基づいて、モバイルデバイス100は、方位方向Oを判定することができる。上述のように、方位方向Oは、COGまたは動きベクトルMを記述するための様々な適切かつ便利な座標系へと回転または変化し得る。
【００５１】
アライメント角度αは、方位方向Oと動き方向Mとの間の不一致を記述する。たとえば、人に対してモバイルデバイス100が携帯されている位置および方法に応じて、モバイルデバイス100の方位Oは、人の動き方向Mと一致しないことがある。図5Aは、モバイルデバイス100が人560のバックパックの中で携帯されている例示的なシナリオを示し、図5Bは、モバイルデバイス100が人560のズボンの脇ポケットの中で携帯されている例示的なシナリオを示し、図5Cは、モバイルデバイス100が人560の手の中で携帯されている例示的なシナリオを示す。直ちに明らかなように、モバイルデバイス100の方位Oは、人におけるモバイルデバイス100のロケーションに応じて、ならびに人の動きに応じて、人に対して、および地球に対して変化する。たとえば、モバイルデバイス100が、モバイルデバイス100を携帯している人の動きの方向Mに対して動く、向きを変える、揺れる、振動する、または旋回すると、アライメント角度αは変化する。
【００５２】
人に対するモバイルデバイス100の動きが大きくなるほど、推定動き方向Mにおける不確実性の潜在的可能性は大きくなる。より具体的には、方位Oの変化がランダムに、または非周期的になるほど、アライメント角度αおよび動き方向Mの結果として生じる推定における不確実性は大きくなる。周期的変化の例としては、歩くこと、ジョギング、走ること、または階段を上ることに関連するもののような、周期的動きから生じるものがある。現在の動き方向Mは、過去および現在の加速度または他の動きデータに基づき得るので、推定動き方向Mの信頼性における不確実性は、デッドレコニングユースケースにおいて増大し続け得る。また実際、モバイルデバイス100の動きがランダムに、または予測不可能になるほど、一般に推定動き方向の不確実性が増大する速度が上昇する。
【００５３】
メモリ132は、実行可能コード、命令またはソフトウェアを含む。いくつかの実装形態では、実行可能コードは、いくつかのコードブロックもしくはモジュールを含むか、またはこれらとして特徴付けられ得る。図6は、メモリ132に記憶され、説明される方法またはプロセスのうちの1つまたは複数を実行するようにプロセッサ120とともに実施され得る例示的なモジュールのブロック図を示す。たとえば、例示的なモジュールの機能を実行するための命令は、メモリ132に記憶され、説明される方法のうちの1つまたは複数を実行するようにプロセッサ120によって実行され得る。図示の実装形態では、ステップ検出モジュール662は、ステップトラッカー244(存在する場合)の一方もしくは両方を含むセンサースイート134から、または、たとえば、直線加速度計236もしくはジャイロスコープ240から動き情報を受信する。そのような動き情報はまた、方位判定モジュール664および動き方向推定モジュール666に直接または間接的に提供され得る。
【００５４】
ステップ検出モジュール662は、ステップトラッカー244、加速度計236またはセンサースイート134中のセンサーのうちの他のものからの動き情報を分析して、モバイルデバイス100を携帯している人によって進められているステップを検出する。たとえば、ステップ検出モジュール662は、動き情報を分析して、人間の動きに対応する動きパターンまたはシグネチャを識別することができ、次いでそれを使用して、動きのタイプまたは「ユースケース」を識別することができる。たとえば、ステップ検出モジュール662は、識別された動き情報に基づいて、人が歩いている、ジョギングしている、走っている、または階段を上っていると判定することができる。いくつかの実装形態では、ステップ検出モジュール662はまた、たとえば、ステップの長さ、ステップの持続時間、ステップのランニングカウント、またはステップに対応する加速度、速度もしくは回転(本明細書ではまとめて「ステップデータ」とも呼ばれる)など、他のステップ情報を判定、追跡または記録することができる。
【００５５】
方位判定モジュール664は、センサースイート134のセンサーによって取得された、直線加速度測定値、角加速度測定値、磁場測定値、またはそのような測定値の組合せもしくは他のセンサーデータの分析を通じて、方位方向Oを判定する。たとえば、上述のように、重力Gの方向は、加速度計236A、236Bおよび236Cによって測定された加速度データを分析することによって推定され得る。たとえば、いくつかの実装形態では、方位判定モジュール664は、最強の識別された加速度に対応する方向が、重力Gの方向であると(最強の加速度が、加速度計236もしくはセンサースイート134自体によって、方位判定モジュール664に入力される前に識別されるかどうか、または方位判定モジュール664自体もしくはプロセッサ120と連携する別のモジュールによって、加速度計236もしくはセンサースイート134の他のセンサーから受け取った加速度データに基づいて識別されるかどうか)判定する。追加または代替として、方位判定モジュール664は同様に、磁力計242A、242Bおよび242Cを使用して磁北の方向を判定することができる。重力Gまたは磁北Nの識別された方向に基づいて、方位判定モジュール664は方位Oを判定する。上述のように、方位Oは、動きベクトルMを記述するための様々な適切かつ便利な座標系のうちの1つまたは複数へと回転または変化し得る。たとえば、方位判定モジュール664は、ECEF、ENUまたは測地座標系においてモバイルデバイス100の方位Oを提供することができる。さらに、上述のように、動き方向/ベクトルM、COG方向/ベクトル、アライメント角度α、または他の方向、ベクトル、角度もしくは本明細書において説明される他のデータのように、方位Oは、継続的または周期的に計算される(または「推定される」もしくは「判定される」)ことがあり、したがって時変信号として記述、記憶または追跡され得る。
【００５６】
いくつかの実装形態では、動き方向推定モジュール666は、方位判定モジュール664から方位Oを受信し、いくつかの実装形態では、方位Oの現在および過去の値または動きベクトルMの過去の値を含め、方位Oに基づいて動きベクトルMを計算する。いくつかの実装形態では、動き方向推定モジュール666はまた、センサーデータをセンサースイート134から直接受信し、そのようなセンサーデータ、またはそのようなセンサーデータから導出された情報を使用して、動きベクトルMを計算する。たとえば、動き方向推定モジュール666は、方位Oおよび加速度データまたは加速度計236によって測定された他のセンサーデータに基づいて、動きベクトルMを判定することができる。追加または代替として、いくつかの実装形態では、動き方向推定モジュール666は、方位Oおよび回転データもしくはジャイロスコープ240によって測定された他のセンサーデータ、または他のセンサーによって測定されたセンサーデータに基づいて、動きベクトルMを判定することができる。
【００５７】
いくつかの実装形態では、動き方向推定モジュール666はまた、アライメント角度計算モジュール668からアライメント角度αの現在および過去の値を受信することができ、アライメント角度計算モジュール668は、方位Oならびにセンサーデータまたはセンサースイート134から取得された他の動き情報からアライメント角度αを判定するように構成され得る。いくつかの実装形態では、動き方向推定モジュール666は、アライメント角度計算モジュール668から受信されたアライメント角度αに少なくとも部分的に基づいて、動きベクトルMを判定する。反対に、いくつかの他の実装形態では、アライメント角度計算モジュール668は、動き方向推定モジュール666から受信された動きベクトルMに少なくとも部分的に基づいて、アライメント角度αを判定する。すなわち、方位Oと、アライメント角度αまたは動きベクトルMの一方とが判定されると、アライメント角度αまたは動きベクトルMの他方が定義によって容易に計算され得る。
【００５８】
いくつかの実装形態では、GPS、SNS、またはモバイルデバイス100における他の測位システム受信機、たとえばトランシーバ116がオンまたは有効にされ、そのような測位システムから信号を受信することが可能である地理的ロケーションにあるとき、較正データがネットワークインターフェース114を介して受信され、較正モジュール670によって処理され得、次いで較正モジュール670は、動きベクトルMを精緻化、修正またはさもなければ補正するために、較正データを動き方向推定モジュール666に渡す。追加または代替として、いくつかの実装形態では、較正モジュール670は、有効にされたときに、セルラーまたはWi-Fi接続を介するなどして、他の較正データを受信し得る。
【００５９】
推定動き方向または推定動きベクトルMは、上述のECEFおよびENU座標系などの任意の適切な座標系において、動き方向推定モジュール666から出力されること、または動き方向推定モジュール666によって生成されることがある。たとえば、一実装形態では、動き方向推定モジュール666は、真北または磁北方向成分および東方向成分の観点から推定動きベクトルMを出力する。いくつかの実装形態では、推定動きベクトルMはまた、上方向成分の観点から表され得る。いくつかの他の実装形態では、上成分は無視され、したがって、推定動きベクトルMは、上述のようにCOG動きベクトルに簡略化または近似化され得る。
【００６０】
いくつかの実装形態では、動き方向推定モジュール666は、ステップ検出モジュール662からステップデータを受信し、ステップデータに基づいて動きベクトルMを計算する。たとえば、動き方向推定モジュール666は、ステップデータを使用して、歩くこと、ジョギング、走ること、または階段を上ることに関連する周期的加速度など、通常の人間の動きに関連する周期的加速度成分を取り消すことによって、真の動きベクトルMをより正確に計算または推定することができる。たとえば、通常の人間の動きでは、動きの方向および加速度は、二足の人間の動きの自然な身体力学の結果として、所与のステップ内で、また1つのステップから次の連続するステップまでで変化する。たとえば、水平面上を直線的に変わらないペースで歩いている人の場合でも、ゼロの加速度および一定の前方の動きを有するのではなく、人の動きおよび加速度は、連続するステップにより、横方向に左右にシフトする(たとえば、左足による1ステップ中には左に動き、右足による1ステップ中には右に動く)。歩いている人の歩行はまた、各個々のステップの持続時間内に、垂直に上下に、また横断方向に前方および後方に変化する動きおよび加速度成分を有する。たとえば、人が前方に1ステップ進むとき、人の重心は、ステップの第1の部分の間に上に動き、ステップの第2の部分の間に下に動く。同様に、人の前進速度は、ステップの第1の部分の間に上昇し、足が地面に着く第2の部分の間に低下する。したがって、一連のステップを通じて、横方向の右/左(「横向き」とも呼ばれる)の加速度成分は一般に、2ステップの周期により循環する一方、横断方向の前方/後方および垂直の上/下の加速度成分は、1ステップの周期により循環する。
【００６１】
動き方向推定モジュール666(またはいくつかの他の実装形態では、ステップ検出モジュール662)は、ステップと横方向の右/左、横断方向の前方/後方および垂直の上/下(たとえば、RCU座標系における右、COGおよび上)の加速度成分の対応する周期的成分との間の関係に関する情報を活用して、動きベクトルMのCOG成分を分離することができ、次いでCOG成分はグローバル座標系に変えられ得る。いくつかの実装形態では、人間の動きの周期的身体力学に関連する横方向、横断方向および垂直の成分から動きのCOG成分を分離するために、動き方向推定モジュール666は、いくつかの連続するステップ(たとえば、2、4、6、8、10またはより多くの連続するステップ)にわたって、センサースイート134から受信された加速度データを、たとえば、メモリ132に記憶し、分析する。たとえば、人間のステップに関連する周期的横方向加速度はおおよそ2ステップの周期を有するので、動き方向推定モジュール666は、人の動きの横方向加速度成分を、加速度成分(たとえば、加速度計236によって取得された加速度成分)をそれら自体の1ステップシフトさせたバージョンと合算することによって、実質的または近似的に取り消すことができる。同様に、人間のステップに関連する周期的前方/後方および垂直の加速度はおおよそ1ステップの周期を有するので、動き方向推定モジュール666は、人の動きの前方/後方および垂直の加速度成分を、加速度成分(たとえば、加速度計236によって取得された加速度成分)をそれら自体の半ステップシフトさせたバージョンと合算することによって、実質的または近似的に取り消すことができる。
【００６２】
さらに、多くのユースケースでは、モバイルデバイス100は移動中に、携帯しているユーザの体の中心ロケーションに、または中心ロケーションの近くに携帯されず、またはさもなければ位置付けられない。さらに、多くのユースケースでは、モバイルデバイス100は移動中に、ユーザの体に対して方位をシフトさせるか、またはさもなければ動くことがある。いくつかのそのようなユースケースでは、ステップに関連しないか、または真の対地進路の動きに関連しない非対称または非周期の横方向、横断方向または垂直の加速度成分があり得る。動き方向推定モジュール666はさらに、これらの非対称加速度成分を、横断方向の前方/後方加速度成分と垂直加速度成分との間の関係を活用することによって、抑制するか、または取り消すことができる。たとえば、前方/後方加速度成分および垂直加速度成分が時変周期信号として見なされるとき(期間が1ステップに相当する場合)、一般にそれらの間で相関が観測され得る。より詳細には、垂直加速度信号および前方/後方信号が、経験的に判定され得る特性量による位相でオフセットされることが観測されている。たとえば、普通の人が歩いているとき、垂直加速度成分および前方/後方加速度成分が、1ステップの約4分の1(または「90度」)によりオフセットされる。いくつかの実装形態では、そのようなユースケースでは、動き方向推定モジュール666は、加速度の非対称成分を、前方/後方加速度成分と垂直加速度成分との間の既知のまたは予想される相関(たとえば、位相オフセット)を活用することによって、実質的または近似的に取り消すことができる。
【００６３】
しかしながら、垂直加速度成分と前方/後方加速度成分との間の位相オフセットは、移動中にモバイルデバイス100がどこでどのように携帯されているかに基づいて、すなわち、特定のユースケースに基づいて、変化することがある。たとえば、位相オフセットまたは動きの他のパラメータもしくは特性は、モバイルデバイス100が、人が歩いているときに前後に揺れている手の中で携帯されているか、(たとえば、ユーザがディスプレイ104を見ているか、もしくはさもなければモバイルデバイスと対話している間に)前方で携帯されているか、人が電話としてモバイルデバイス100を使用している間に人の耳に保持されているか、または人のポケット、財布もしくは荷物の中で携帯されているかに基づいて、変化することがある。これらのシナリオの各々はまた、特定のユースケースと考えられ得る。位相オフセットまたは他のパラメータもしくは特性はまた、速度、歩行または歩調の(たとえば、歩くことからジョギング、ランニングへの)変化に基づいて変化し得る。これらのシナリオの各々はまた、特定のユースケースと考えられ得る。
【００６４】
いくつかの実装形態では、動き方向推定モジュール666は、いくつかのステップ(たとえば、2、4、6、8、10またはより多くのステップ)にわたる、またはいくつかの他の実装形態では、ある持続時間にわたる、加速度成分の観測された相関に基づいて、ユースケースを識別する。いくつかのそのような実装形態では、ユースケースが識別された後、動き方向推定モジュール666は次いで、動きベクトルMをより正確に推定するために、位相オフセットまたは他のパラメータ(たとえば、加速度データを追跡し相関付けるべき時間ウィンドウまたはいくつかのステップ)を調整する。
【００６５】
いくつかの実装形態では、方位Oが判定され、不要な加速度成分(たとえば、周期的な人間のステップの身体力学に関連する加速度成分、および別段に真のCOG動きに関連しない非対称の動きに関連する加速度成分)がたとえば、上述のように取り消されたか、または実質的に低減された後、動き方向推定モジュール666は次いで、方位Oおよび残存加速度成分を分析して、動きベクトルMを推定、計算またはさもなければ判定し出力する。たとえば、いくつかの実装形態では、動き方向推定モジュール666は、固有ベクトル分析、特に残存加速度成分に対する固有分解を実行する。
【００６６】
たとえば、固有分解を使用して、2つの(たとえば、地球の表面に対して)水平の固有ベクトルe1およびe2を判定することができ、これらの固有ベクトルの各々は、COG動きが発生する直交方向軸に対応する。いくつかの実装形態では、動き方向推定モジュール666は、動き(たとえば、前方-後方またはCOG方向)の支配軸として、より大きいそれぞれの固有値を有する水平固有ベクトルに対応する方向軸を選択する。いくつかの状況または適用例では、動きの解決済み支配軸に、ある程度のあいまいさがあり得る。たとえば、固有分解から、歩行者の動き方向が特定のグローバル座標系軸に沿っていることが明らかであり得るが、この軸に沿ってどちらの方向に前方の動きが発生しているかについてあいまいさがあり得る。たとえば、そのようなあいまいさは、垂直の動きと前方の動きとの間の仮定される位相差が不正確であり、前方方向と後方方向とを正しく区別しない場合に生じ得る。
【００６７】
いくつかの実装形態では、動き方向推定モジュール666はさらに、ジャイロスコープ240および磁力計242から測定されたデータなど、他のセンサーデータに基づいて、動きベクトルMを精緻化する。
【００６８】
いくつかの実装形態では、信頼性メトリック計算モジュール672は、推定動きベクトルMに関する信頼性メトリックを計算する。信頼性メトリックは、推定動きベクトルMにおける確実性の測定値を示す。信頼性メトリックは、1つまたは複数の技法に基づいて計算され得る。いくつかの実装形態では、第1の信頼性メトリックR1は、動きベクトルM自体を推定するために使用されるプロセスに基づき得る。たとえば、上述のように、動き方向推定モジュール666は固有分解を実行して、2つの水平固有ベクトルe1およびe2を判定することができ、これらの固有ベクトルの各々は、動きが発生する直交方向軸に対応する。上述のように、より大きいそれぞれの固有値を有する水平固有ベクトルに対応する方向軸が、動き(たとえば、前方-後方方向)の支配軸として選択され得る。より小さい固有値(たとえば、e2に対応する固有値)に対するより大きい固有値(たとえば、e1に対応する固有値)の比率は、第1の信頼性メトリックR1、すなわち、動きの方向が第1の固有ベクトルe1に沿っていることの確実性の測定値を提供することができる。
【００６９】
追加または代替として、いくつかの実装形態では、信頼性メトリック計算モジュール672は、いくつかのステップにわたって、またはある時間期間にわたって推定動きベクトル信号Mを分析することによって、第2の信頼性メトリックR2を計算する。たとえば、推定動きベクトルMの方向が当該期間に比較的一定であるか、または一貫している場合、現在の推定動きベクトルMにおける確実性を示す第2の信頼性メトリックR2が生成され得る。反対に、推定動きベクトルMが当該期間に大きく変動しているか、または一貫していない場合、第2の信頼性メトリックR2は、現在の推定動きベクトルMにおける不確実性または不信頼性を示し得る。様々な中間値も考えられる、すなわち、第2の信頼性メトリックR2の値は、いくつかのステップまたはある持続時間にわたる推定動きベクトルMの一貫性に比例し得る。
【００７０】
追加または代替として、いくつかの実装形態では、信頼性メトリック計算モジュール672は、第3の信頼性メトリックR3としてデバイスの安定性を定量化するために様々な計算を実行する。たとえば、デバイスの安定性は、加速度計236、ジャイロスコープ240または磁力計242のうちの1つまたは複数によって測定された、経時的な方位方向Oの変化を反映し得る。このようにして、いくつかのステップまたはある持続時間にわたるモバイルデバイス100の安定性、およびいくつかのそのような実装形態では、より直接的に、いくつかのステップまたはある持続時間にわたる方位Oの安定性に比例する第3の信頼性メトリックR3の値が判定され得る。
【００７１】
いくつかの実装形態では、方位Oの安定性の判定は、たとえば、動き方向推定モジュール666によって、加速度計236によって取得された加速度データから判定される、瞬間加速度の水平成分を判定することを含む。さらに、方位Oの安定性の判定はまた、たとえば、動き方向推定モジュール666によって、加速度計236によって取得された加速度データから判定される、瞬間加速度の垂直成分を判定することを含むことができる。いくつかの実装形態では、方位Oの安定性の判定はまた、瞬間加速度の水平成分および垂直成分の一方または両方を平滑化することを含む。たとえば、平滑化することは、いくつかのステップまたはある持続時間にわたって瞬間加速度データに移動平均フィルタを適用することを含むこと、または伴うことがある。いくつかの実装形態では、方位Oの安定性の判定はまた、あるサンプルから次のサンプルまでの(たとえば、あるステップから次のステップまでの)平滑化された水平成分の差のノルム(norm)の変化率を判定することを含む。同様に、方位Oの安定性の判定はまた、あるサンプルから次のサンプルまでの(たとえば、あるステップから次のステップまでの)平滑化された垂直成分の差のノルムの変化率を判定することを含み得る。いくつかの実装形態では、方位Oの安定性の判定はさらに、瞬間加速度の平滑化された水平成分の変化率を1つまたは複数の水平しきい値と比較して、水平信頼性値を取得することを含む。同様に、瞬間加速度の平滑化された垂直成分の変化率も1つまたは複数の垂直しきい値と比較されて、垂直信頼性値が取得され得る。次いで水平信頼性値および垂直信頼性値が合算またはさもなければ合成されて、第3の信頼性メトリックR3が判定され得る。たとえば、水平加速度成分が第1の水平信頼性しきい値を上回る場合、第3の信頼性メトリックR3は第1の水平信頼性値を含むことができ、水平加速度成分が第2の水平信頼性しきい値を上回る場合、第3の信頼性メトリックR3は第2の水平信頼性値を含むことができ、以下同様である。同様に、垂直加速度成分が第1の垂直信頼性しきい値を上回る場合、第3の信頼性メトリックR3は第1の垂直信頼性値を含むことができ、垂直加速度成分が第2の垂直信頼性しきい値を上回る場合、第3の信頼性メトリックR3は第2の垂直信頼性値を含むことができ、以下同様である。
【００７２】
追加または代替として、モバイルデバイスの安定性を判定することはまた、1つまたは複数の回転軸の周りのモバイルデバイスの回転率または回転率の変化を判定することを含み得る。たとえば、上述のように、ジャイロスコープ240は、モバイルデバイス座標系300または別の座標系の軸の周りのそのような回転データを測定することができる。いくつかのそのような実装形態では、デバイスの安定性を判定することはさらに、(たとえば、移動平均フィルタによって)いくつかのステップまたはある持続時間にわたって1つまたは複数の判定された回転率(または回転率の変化)を平滑化することを含む。いくつかの実装形態では、方位Oの安定性の判定はさらに、それぞれの平滑化された回転率または回転率の変化を1つまたは複数のそれぞれのしきい値と比較して、それぞれの回転軸の信頼性値を取得することを含む。次いで回転軸の各々に関する信頼性値が合算またはさもなければ合成されて、第3の信頼性メトリックR3が判定され得る。
【００７３】
いくつかの実装形態では、上述の信頼性メトリックR1、R2およびR3などの1つまたは複数の信頼性メトリックが信頼性メトリック計算モジュール672によって合成されて、推定動きベクトルMに関する合成(本明細書では「総合」または「複合」とも呼ばれる)信頼性メトリックRTが計算または生成される。いくつかの実装形態では、信頼性メトリック計算モジュール672は、上述の信頼性メトリックR1、R2およびR3のうちの2つ以上を合算する。いくつかの実装形態では、信頼性メトリック計算モジュール672は、信頼性メトリックR1、R2およびR3のうちの1つまたは複数の各々を、合算または他の合成の前に、それぞれの重みW1、W2およびW3と乗算する。いくつかの実装形態では、重みW1、W2およびW3は(たとえば、経験的に)以前判定された定数である。いくつかの他の実装形態では、信頼性メトリック計算モジュール672は、様々なパラメータの関数として重みW1、W2およびW3を計算する。
【００７４】
図7は、推定動きベクトルMにおける信頼性の測定値を判定するための信頼性メトリックを計算するための例示的なプロセス700を示す流れ図である。いくつかの実装形態では、プロセス700は始まり、701において、1つまたは複数の方向の各々におけるモバイルデバイス(たとえば、モバイルデバイス100)に関する加速度データを取得する。たとえば、いくつかの実装形態では、第1の直線加速度計236Aは、図3のモバイルデバイス座標系300の第1の軸338Aに沿って直線加速度データを測定することができ、第2の直線加速度計236Bは、第2の直交軸338Bに沿って直線加速度データを測定することができ、第3の直線加速度計236Cは、第3の直交軸338Cに沿って直線加速度データを測定することができる。いくつかの実装形態では、加速度データはまた、たとえばジャイロスコープ240からの角加速度データを含むことができる。
【００７５】
いくつかの実装形態では、プロセス700は進み、703において、701において取得された加速度データに少なくとも部分的に基づいて、グローバル座標系に対するモバイルデバイスの動き方向を推定する。たとえば、図6を参照しながら上述されたように、動き方向推定モジュール666は、周期的成分および非対称成分を取り消した後、方位Oおよび残存加速度成分を分析して、動きベクトルMを推定、計算またはさもなければ判定および出力することができる。やはり、動きベクトルMは、たとえば、上述のECEF座標系400またはENU座標系301など、任意の適切な座標系において生成され得る。
【００７６】
いくつかの実装形態では、動きベクトルMが推定された後、プロセス700は進み、705において、1つまたは複数の信頼性メトリックを推定する。各信頼性メトリックは、推定動きベクトルMにおける確実性または推定正確性の測定値を示す。いくつかのそのような実装形態では、少なくとも2つの信頼性メトリックが判定される。たとえば、図6を参照しながら上述されたように、信頼性メトリック計算モジュール672は、動きベクトルM自体を推定するために使用されるプロセスに基づいて、第1の信頼性メトリックR1を計算することができる。たとえば、動き方向推定モジュール666は固有分解を実行して、2つの水平固有ベクトルe1およびe2を判定することができ、これらの固有ベクトルの各々は、動きが発生する直交方向軸に対応する。また、上述のように、より大きいそれぞれの固有値を有する水平固有ベクトルに対応する方向軸が、動き(たとえば、前方-後方方向)の支配軸として選択され得る。第1の信頼性メトリックR1は、より小さい固有値(たとえば、e2に対応する固有値)に対するより大きい固有値(たとえば、e1に対応する固有値)の比率であり得るか、またはそのような比率に基づくことがある、すなわち、第1の信頼性メトリックR1は、動きの方向が第1の固有ベクトルe1に沿っていることの確実性の測定値を示す。
【００７７】
同じく図6を参照しながら上述されたように、信頼性メトリック計算モジュール672は、いくつかのステップにわたる、またはある時間期間にわたる推定動きベクトル信号Mの一貫性に基づいて、第2の信頼性メトリックR2を計算することができる。たとえば、推定動きベクトルMの方向が当該期間に比較的一定であるか、または一貫している場合、現在の推定動きベクトルMにおける確実性を示す第2の信頼性メトリックR2が生成され得る。反対に、推定動きベクトルMが当該期間に大きく変動しているか、または一貫していない場合、第2の信頼性メトリックR2は、現在の推定動きベクトルMにおける不確実性または不信頼性を示し得る。上述のように、第2の信頼性メトリックR2の値が、いくつかのステップまたはある持続時間にわたる推定動きベクトルMの一貫性に比例し得るような、様々な中間値も考えられる。
【００７８】
上述のように、信頼性メトリック計算モジュール672はまた、いくつかの実装形態では、デバイスの安定性の定量化に基づいて、第3の信頼性メトリックR3を計算するために様々な計算を実行することができる。たとえば、デバイスの安定性は、加速度計236、ジャイロスコープ240または磁力計242のうちの1つまたは複数によって測定された、経時的な方位方向Oの変化を反映し得る。このようにして、第3の信頼性メトリックR3の値は、いくつかのステップまたはある持続時間にわたるモバイルデバイス100の安定性、およびいくつかのそのような実装形態では、より直接的に、いくつかのステップまたはある持続時間にわたる方位Oの安定性に比例し得る。
【００７９】
いくつかの実装形態では、705において1つまたは複数の信頼性メトリックが判定された後、プロセス700は進み、707において、上述の信頼性メトリックR1、R2およびR3など、1つまたは複数の信頼性メトリックを合算またはさもなければ合成して、推定動きベクトルMに関する複合信頼性メトリックRTを計算または生成する。たとえば、いくつかの実装形態では、信頼性メトリック計算モジュール672は、上述の信頼性メトリックR1、R2およびR3のうちの2つ以上を合算する。さらに、いくつかの実装形態では、信頼性メトリック計算モジュール672は、信頼性メトリックR1、R2およびR3のうちの1つまたは複数の各々を、合算または他の合成の前に、それぞれの重みW1、W2およびW3と乗算する。いくつかの実装形態では、703において推定された動きベクトルMは、707において判定された複合信頼性メトリックRTがしきい値を上回るときのみ使用される。いくつかのそのような実装形態では、複合信頼性メトリックRTがしきい値を上回らないとき、モバイルデバイスは、動きベクトルMを精緻化するため、および不確実性を低減するために、較正データがたとえばGPSまたは他のSNSシステムから受信され得るように、ネットワークインターフェース114をオンまたはさもなければ有効にする。
【００８０】
いくつかの実装形態では、プロセス700は段階的に実行される(または「反復される」)。いくつかの他の実装形態では、プロセス700は、周期的に、たとえば2、4、6、8、10もしくはより多くのステップごとに、または時間間隔を含む他の適切な間隔で実行される。上述のように、いくつかの実装形態では、動き方向推定モジュール666および信頼性メトリック計算モジュール672は、現在もしくは過去の加速度データ、現在もしくは過去の方位データ、現在もしくは過去の回転データ、または動きベクトルMの以前推定された値を利用する。たとえば、プロセス700のブロックまたはステップのうちの1つまたは複数は、移動時間ウィンドウ内にデータを使用して実行され得る。たとえば、プロセス700のブロックまたはステップのうちの1つまたは複数は、直近の6ステップ、または別の適切な数のステップもしくは時間間隔からのデータを使用して段階的に実行され得る。
【００８１】
上述のように、いくつかの実装形態または事例では、分析(たとえば、固有分解)から、動きベクトルMが特定のグローバル座標系軸に沿っていることが明らかであり得るが、その軸に沿ってどちらの方向を動きベクトルMが指しているかについてあいまいさが存在し得る。いくつかの実装形態では、動き方向推定モジュール666は、動きの前方-後方軸に関連付けられると判定された固有ベクトルに関連する固有値に対応する固有値データ信号(たとえば、e1)を追跡または記憶する。いくつかのそのような実装形態では、動き方向推定モジュール666は、いくつかのステップ(たとえば、2、4、6、8、10、50、100またはより多くのステップ)に関して記録されたデータを双峰確率分布に適合させる。言い換えれば、固有分解は、動きベクトルMが特定の軸に沿っていることの比較的確実な判定をもたらすが、経時的な固有値e1の値は、動きの方向が動きの軸のいずれかの方向(たとえば、正の方向または負の方向)に沿っている可能性があることを示すので、動き方向推定モジュール666は、正の方向または負の方向のいずれかが真の方向であることを知りつつ、固有値データが双峰分布を適合させることを可能にする。これは、データを正規分布に適合させるか、または押し付け、動きの方向として固有値e1のサンプルすべての平均を取ることのあるいくつかの従来の方法とは対照的である。
【００８２】
たとえば、図8は、例示的な双峰確率分布880を示す。垂直軸882は、固有値の数または密度を表し、水平軸884は、磁北から測定された度による方向を表す。双峰確率分布880の第1のより高いピーク(または「モード」)886は、第1の固有値e1に関連する第1の水平方向軸に沿った前方方向に対応し、双峰確率分布880の第2のより低いピーク(または「モード」)888は、第1の固有値e1に関連する第1の水平方向軸に沿った(前方方向とは反対の)後方方向に対応する。たとえば、例示的な双峰確率分布880では、第1のピーク886は、磁北の45度東である前方方向に対応し、第2のピーク888は、前方方向から180度である、すなわち、磁北の135度西(または-135度東)である後方方向に対応する。この例では、動き方向推定モジュール666は、動きの方向Mとして磁北から45度を選択することになる。反対に、いくつかの従来のデバイスの場合のように動きの方向としてデータの平均が使用された場合、この例を続けると、動きの方向は、北から-10度であると判定され得、これは明らかに、正確な推定ではなく、データを正規分布または単一ピークモデルに押し付けたことから生じている。
【００８３】
いくつかのそのような実装形態では、動き方向推定モジュール666は、第1のピーク886および第2のピーク888の相対的高さを比較し、動きベクトルMの方向として、ピークのうちの最も高い方に対応する方向(この場合、第1のピーク886に対応する前方方向)を選択する。いくつかの実装形態では、信頼性メトリック計算モジュール672は、第2のピーク888の高さに対する第1のピーク886の高さの比率に基づいて、信頼性メトリックR4を計算する。たとえば、より大きい比率は、動きベクトルMのより信頼できる推定を示し得る。追加または代替として、いくつかの実装形態では、信頼性メトリック計算モジュール672は、第1のピーク886および第2のピーク888の幅を分析して、動きベクトルMの選択された方向に関する信頼性メトリックR5を推定する。たとえば、より広いピークは、動きベクトルMのさほど信頼できない推定を示し得、(より一貫性のあるデータを表す)より狭いピークは、動きベクトルMのより信頼できる推定を示す。いくつかの実装形態では、信頼性メトリックR4およびR5の一方または両方は、上述の信頼性メトリックR1、R2およびR3のうちの1つまたは複数と合成されて、複合信頼性メトリックRTが生成され得る。
【００８４】
図9は、動きの方向Mを判定するための例示的なプロセス900を示す流れ図である。いくつかの実装形態では、プロセス900は始まり、901において、1つまたは複数の方向の各々におけるモバイルデバイス(たとえば、モバイルデバイス100)に関する加速度データを取得する。たとえば、いくつかの実装形態では、第1の直線加速度計236Aは、図3のモバイルデバイス座標系300の第1の軸338Aに沿って直線加速度データを測定することができ、第2の直線加速度計236Bは、第2の直交軸338Bに沿って直線加速度データを測定することができ、第3の直線加速度計236Cは、第3の直交軸338Cに沿って直線加速度データを測定することができる。いくつかの実装形態では、加速度データはまた、たとえばジャイロスコープ240からの角加速度データを含むことができる。
【００８５】
いくつかの実装形態では、プロセス900は進み、903において、901において取得された加速度データに少なくとも部分的に基づいて、グローバル座標系に対するモバイルデバイスの動きの軸を判定する。たとえば、図6を参照しながら上述されたように、動き方向推定モジュール666は、周期的成分および非対称成分を取り消した後、方位Oおよび残存加速度成分を分析して、動きの主要軸または支配軸を推定、計算またはさもなければ判定することができる。たとえば、固有分解を使用して、2つの(たとえば、地球の表面に対して)水平の固有ベクトルe1およびe2を判定することができ、これらの固有ベクトルの各々は、COG動きが発生する直交方向軸に対応する。いくつかの実装形態では、動き方向推定モジュール666は、動き(たとえば、前方-後方方向)の支配軸として、より大きいそれぞれの固有値(たとえば、e1)を有する水平固有ベクトルに対応する方向軸を選択する。
【００８６】
いくつかの実装形態では、プロセス900は進み、905において、903において判定された動きの軸に沿った動きの方向を判定する。たとえば、いくつかの実装形態では、動き方向推定モジュール666は、いくつかのステップまたはある持続時間にわたって固有値データ信号(たとえば、e1)を追跡または記憶する。いくつかのそのような実装形態では、動き方向推定モジュール666は、いくつかのステップ(たとえば、2、4、6、8、10、50、100またはより多くのステップ)に関して記録された固有値データを、たとえば、図8の双峰確率分布880などの双峰確率分布に適合させる。上述のように、双峰確率分布880の第1のより高いピーク886は、第1の固有値e1に関連する第1の水平方向軸に沿った前方方向に対応することができ、双峰確率分布880の第2のより低いピーク888は、第1の固有値e1に関連する第1の水平方向軸に沿った(前方方向とは反対の)後方方向に対応することができる。いくつかのそのような実装形態では、動き方向推定モジュール666は、第1のピーク886および第2のピーク888の相対的高さを比較し、動きの方向Mとして、ピークのうちの最も高い方に対応する方向を選択する。
【００８７】
いくつかの実装形態では、プロセス900は段階的に実行される。いくつかの他の実装形態では、プロセス900は、周期的に、たとえば2、4、6、8、10もしくはより多くのステップごとに、または時間間隔を含む他の適切な間隔で実行される。上述のように、いくつかの実装形態では、動き方向推定モジュール666および信頼性メトリック計算モジュール672は、現在もしくは過去の加速度データ、現在もしくは過去の方位データ、現在もしくは過去の回転データ、または動きベクトルMの以前推定された値を利用する。たとえば、プロセス900のブロックまたはステップのうちの1つまたは複数は、移動時間ウィンドウ内にデータを使用して実行され得る。たとえば、プロセス900のブロックまたはステップのうちの1つまたは複数は、直近の6ステップ、または別の適切な数のステップもしくは時間間隔からのデータを使用して段階的に実行され得る。
【００８８】
いくつかの実装形態では、動き方向推定モジュール666は、予想されるユースケース、すなわち、モバイルデバイスが歩行者によって携帯されている予想される方法または歩行者が動いている方法を識別する。たとえば、動き方向推定モジュール666は、直線加速度、角加速度、または他の回転もしくは方位データのいずれかを使用して、予想されるユースケースを判定することができる。上述のように、いくつかの例示的な歩行者ユースケースは、歩くこと、ジョギング、走ること、または階段を上ることを含む。たとえば、直線加速度計236によって取得された直線加速度データが、ユーザが走っているか、それとも歩いているかを判定するために使用され得る。加速度の垂直成分と水平成分との間の判定された位相オフセットも、ユーザがたとえば走っているか、それとも歩いているかを判定するために使用され得る。いくつかのユースケースはまた、どこに、またはどのようにモバイルデバイス100が移動中に位置付けられ、または携帯されているかを反映し得る。たとえば、そのようなユースケースは、モバイルデバイス100が、人が歩いているときに前後に揺れている手の中で携帯されているか、(たとえば、ユーザがディスプレイ104を見ているか、もしくはさもなければモバイルデバイスと対話している間に)前方で携帯されているか、人が電話としてモバイルデバイス100を使用している間に人の耳に保持されているか、または人のポケット、財布もしくは荷物の中で携帯されているかを反映する。ユースケースはまた、前述のユースケースの組合せに基づいて判定され得る。たとえば、人がモバイルデバイスを耳にあてて話しながらジョギングしているユースケース。上述のように、動き方向推定モジュール666は、モバイルデバイスまたは人の現在のユースケースを分類するために、動き以外に関係する情報を使用することもできる。たとえば、(それぞれジャイロスコープ240もしくは磁力計242からの回転データもしくは磁気データから判定された)モバイルデバイス100のある傾き、または呼が開始されたかどうかに基づいて、動き方向推定モジュール666は、モバイルデバイス100が人の耳の近くに保持されていると判定し得る。
【００８９】
ユースケースが識別されると、正確な推定動き方向Mを取得するために、動き方向推定モジュール666において使用されるパラメータが選択および最適化され得る。たとえば、いくつかの実装形態では、動き方向推定モジュール666は、センサースイート134から判定された加速度、回転または方位データを、たとえばメモリ132中のユースケースデータベースに記憶された所定のユースケースに対応する加速度、回転または方位データとマッチングすることによって、ユースケースを識別する。いくつかのそのような実装形態では、動き方向推定モジュール666は、メモリ132中の識別されたユースケースとともに記憶されたか、またはそのようなユースケースとリンクされた所定のパラメータのセットを取り出すことができる。いくつかの他の実装形態では、動き方向推定モジュール666は、データを所定のユースケースのデータとマッチングしない。そのような実装形態では、動き方向推定モジュール666は、ユースケースを判定し、その後、その特定のユースケースに関する既存のパラメータを選択またはさもなければ最適化することができる。次いで動き方向推定モジュールは、選択されたパラメータを使用して、動き方向Mを推定することができる。
【００９０】
図10は、動きの方向Mを判定するために1つまたは複数のパラメータを選択するための例示的なプロセス1000を示す流れ図である。いくつかの実装形態では、プロセス1000は始まり、1001において、1つまたは複数の方向の各々におけるモバイルデバイス(たとえば、モバイルデバイス100)に関する加速度データを取得する。たとえば、いくつかの実装形態では、第1の直線加速度計236Aは、図3のモバイルデバイス座標系300の第1の軸338Aに沿って直線加速度データを測定することができ、第2の直線加速度計236Bは、第2の直交軸338Bに沿って直線加速度データを測定することができ、第3の直線加速度計236Cは、第3の直交軸338Cに沿って直線加速度データを測定することができる。いくつかの実装形態では、加速度データはまた、たとえばジャイロスコープ240からの角加速度データを含むことができる。
【００９１】
いくつかの実装形態では、プロセス1000は進み、1003において、加速度データに少なくとも部分的に基づいて、モバイルデバイスに関するユースケースを識別する。たとえば、動き方向推定モジュール666は、直線加速度計236から取得された直線加速度データに基づいて、ユースケースを識別することができる。追加または代替として、いくつかの他の実装形態では、ユースケースはまた、他の角加速度データ、回転データまたは方位データに基づいて判定され得る。たとえば、いくつかの実装形態では、動き方向推定モジュール666は、センサースイート134から判定された加速度、回転または方位データを、たとえばメモリ132中のユースケースデータベースに記憶された所定のユースケースに対応する加速度、回転または方位データとマッチングすることによって、ユースケースを識別する。いくつかの他の実装形態では、動き方向推定モジュール666は、データを所定のユースケースのデータとマッチングせず、むしろ、動き方向推定モジュール666は、ユーザの実際のユースケースをより的確に判定するために、1つまたは複数のユースケース特性を識別または判定する。
【００９２】
いくつかの他の実装形態では、次いでプロセス1000は進み、1005において、動き方向Mを推定する際に動き方向推定モジュール666によって使用される1つまたは複数のパラメータを選択または最適化する。動き方向推定モジュール666が加速度データをメモリに記憶された所定のユースケースの加速度データとマッチングするいくつかの実装形態では、動き方向推定モジュール666は、メモリ132中の識別されたユースケースとともに記憶されたか、またはそのようなユースケースとリンクされた所定のパラメータのセットを取り出すことができる。動き方向推定モジュール666がそのようなマッチングを実行しないいくつかの他の実装形態では、動き方向推定モジュール666は、ユースケースを判定し、その後、その特定のユースケースに関する既存のパラメータを選択またはさもなければ最適化することができる。
【００９３】
いくつかの実装形態では、次いでプロセスは進み、1007において、選択されたパラメータを使用して、たとえば、上述のようなグローバル座標系に対する動き方向Mを推定する。たとえば、モバイルデバイスの動き方向の推定は、1001において取得された加速度データ、ならびに平均ウィンドウサイズ、平滑化機構、および前方加速度信号と垂直加速度信号との間の仮定される位相オフセットのうちの1つまたは複数に少なくとも部分的に基づき得る。さらに、デバイスは、ハイモーションユースケースのためにジャイロスコープ測定をオンにして利用することを選択的に選ぶことができる。たとえば、図6を参照しながら上述されたように、所定のユースケースに基づいて適切なパラメータを選択した後、動き方向推定モジュール666は、周期的成分および非対称成分を取り消した後、方位Oおよび残存加速度成分を分析して、動きベクトルMを推定、計算またはさもなければ判定および出力することができる。やはり、動きベクトルMは、たとえば、上述のECEF座標系400またはENU座標系301など、任意の適切な座標系において生成され得る。
【００９４】
いくつかの実装形態では、プロセス1000は段階的に実行される。いくつかの他の実装形態では、プロセス1000は、周期的に、たとえば2、4、6、8、10もしくはより多くのステップごとに、または時間間隔を含む他の適切な間隔で実行される。上述のように、いくつかの実装形態では、動き方向推定モジュール666および信頼性メトリック計算モジュール672は、現在もしくは過去の加速度データ、現在もしくは過去の方位データ、現在もしくは過去の回転データ、または動きベクトルMの以前推定された値を利用する。たとえば、プロセス1000のブロックまたはステップのうちの1つまたは複数は、移動時間ウィンドウ内にデータを使用して実行され得る。たとえば、プロセス1000のブロックまたはステップのうちの1つまたは複数は、直近の6ステップ、または別の適切な数のステップもしくは時間間隔からのデータを使用して段階的に実行され得る。
【００９５】
図11は、メモリ132に記憶され、説明される方法またはプロセスのうちの1つまたは複数を実行するようにプロセッサ120とともに実施され得る例示的なモジュールの別のブロック図を示す。いくつかの実装形態では、図11の例示的なモジュールは、プロセッサ120によって実行されたときに、それぞれの複数の推定動き方向Ma〜Mnを生成するように並行して動作する複数の動き方向推定モジュール666a〜666nをメモリ132が格納していることを除いて、図6を参照しながら説明されたモジュールと同じまたは同様である。たとえば、メモリ132は、2、3、4、5またはより多くの並行動作する動き方向推定モジュール666a〜666nを含むことができる。たとえば、動き方向推定モジュール666a〜666nの各々は、あらかじめ定義されたそれぞれのユースケースに基づいて、1つまたは複数のパラメータから成る異なるセットを使用することができる。たとえば、第1の動き方向推定モジュール666aは、モバイルデバイスが人の手の中にあり、人によって見られている(たとえば、人の前方の胸の高さで保持された)ユースケースのために最適化されたパラメータのセットを使用または選択するように設定され得る。第2の動き方向推定モジュール666bは、モバイルデバイスが人の手の中にあり、人が歩いているか、または走っているときに人の腕とともに揺れているユースケースのために最適化されたパラメータの第2の異なるセットを使用または選択するように設定され得る。第3の動き方向推定モジュール666cは、モバイルデバイスが人の手の中にあり、通信のために人の耳の方に保持されているユースケースのために最適化されたパラメータの第3の異なるセットを使用または選択するように設定され得る。そして第4の動き方向推定モジュール666dは、モバイルデバイスが人のポケットまたはハンドバッグの中にあるユースケースのために最適化されたパラメータの第4の異なるセットを使用または選択するように設定され得る。いくつかの実装形態では、使用されるか、または合わせられ得るパラメータは、たとえば、平均ウィンドウの長さ、平滑化機構、水平加速度成分と垂直加速度成分との間の相関を識別するために使用される位相差、または左足/右足の非対称性の影響を取り消そうとして一対の連続ステップにわたって常に平均化すべきかどうか、を含むことができる。このようにして、ユースケースを検出してからパラメータを構成するのではなく、複数の動き方向推定モジュールは、並行して動作することができ、各動き方向推定モジュールが、特定の対応するユースケースに関するパラメータの異なるセットにより構成される。
【００９６】
いくつかの実装形態では、メモリ132はまた、プロセッサ120によって実行されたときに、それぞれの動き方向推定モジュール666a〜666nによって生成されたそれぞれの推定動き方向Ma〜Mnに関する複数の信頼性メトリックRa〜Rnを生成するように並行して動作する複数の信頼性メトリック計算モジュール672a〜672nを格納している。いくつかの実装形態では、選択モジュール1190は、人の推定人の動き方向Mとして、信頼性メトリックRa〜Rnのうちのそれぞれの最も高いものを有する推定動き方向Ma〜Mnのうちの1つを選択する。言い換えれば、信頼性メトリックRa〜Rnのうちのそれぞれの最も高いものを有する動き方向Ma〜Mnのうちの1つが選択されるのは、選択された動き方向を生成した動き方向推定モジュール666a〜666nのうちの1つに関連するユースケースが、モバイルデバイスを携帯している人の実際のユースケースとマッチする可能性が高いか、または少なくとも、実際のユースケースに対して最も適合しているからである。
【００９７】
いくつかの実装形態では、メモリ132はまた、プロセッサ120によって実行されたときに、信頼性メトリックRa〜Rnの各々をしきい値と比較するように動作するか、またはいくつかの他の実装形態では、信頼性メトリックRa〜Rnのうちの選択された1つをしきい値と比較するように動作する比較器1192を格納し得る。いくつかの実装形態では、信頼性メトリックRa〜Rnのいずれもしきい値を上回らない場合、比較器1192は選択モジュール1190に、以前のステップ(または他の以前の分析ポイント)に関して選択された動き方向に対応する動き方向Ma〜Mnのうちの1つを選択するよう選択モジュールに命令するための信号を送る。いくつかの他の実装形態では、信頼性メトリックRa〜Rnのいずれもしきい値を上回らない場合、比較器1192は選択モジュール1190に、パラメータのデフォルトセットを使用する動き方向推定モジュールによって推定された動き方向Ma〜Mnのうちの1つを選択するよう選択モジュールに命令するための信号を送る。さらに他の実装形態では、選択モジュール1190は、最も信頼できる推定動き方向Ma〜Mnのうちの2つ以上を選択し、それらを、いくつかの実装形態では異なる重み付けをして、平均化またはさもなければ合成して、単一の複合推定動き方向Mを取得することができる。
【００９８】
図12は、動きの方向Mを判定するための例示的なプロセス1200を示す流れ図である。いくつかの実装形態では、プロセス1200は始まり、1201において、1つまたは複数の方向の各々におけるモバイルデバイス(たとえば、モバイルデバイス100)に関する加速度データを取得する。たとえば、いくつかの実装形態では、第1の直線加速度計236Aは、図3のモバイルデバイス座標系300の第1の軸338Aに沿って直線加速度データを測定することができ、第2の直線加速度計236Bは、第2の直交軸338Bに沿って直線加速度データを測定することができ、第3の直線加速度計236Cは、第3の直交軸338Cに沿って直線加速度データを測定することができる。いくつかの実装形態では、加速度データはまた、たとえばジャイロスコープ240からの角加速度データを含むことができる。
【００９９】
いくつかの実装形態では、プロセス1200は進み、1203において、1201において取得された加速度データに少なくとも部分的に基づいて、モバイルデバイスに関する複数の動き方向Ma〜Mnを推定する。たとえば、動き方向推定モジュール666a〜666nは、複数の動き方向Ma〜Mnを推定することができる。上述のように、動き方向推定モジュール666a〜666nの各々は、あらかじめ定義されたそれぞれのユースケースに基づいて、1つまたは複数のパラメータから成る異なるセットを使用することができる。また、図6を参照しながら上述されたように、動き方向推定モジュール666a〜666nの各々は、周期的成分および非対称成分を取り消した後、方位Oおよび残存加速度成分を分析して、動き方向Ma〜Mnを推定、計算またはさもなければ判定および出力することができる。やはり、動き方向Ma〜Mnは、たとえば、上述のECEF座標系400またはENU座標系301など、任意の適切な座標系において生成され得る。
【０１００】
いくつかの実装形態では、1203において動き方向Ma〜Mnが推定された後、プロセス1200は進み、1205において、対応する複数のそれぞれの信頼性メトリックRa〜Rnを推定する。信頼性メトリックRa〜Rnの各々は、推定動き方向Ma〜Mnのそれぞれにおける確実性または推定正確性の測定値を示す。いくつかの実装形態では、信頼性メトリックRa〜Rnの各々は、それ自体が合成または複合信頼性メトリックである。たとえば、上述のように、信頼性メトリックRa〜Rnの各々は、信頼性メトリックR1、R2、R3、R4およびR5の一部または全部の合成であり得る。
【０１０１】
いくつかの実装形態では、プロセス1200は進み、1207において、信頼性メトリックRa〜Rnのうちのそれぞれの最も高いものをしきい値と比較し、信頼性メトリックがしきい値を上回るかどうかを判定する。信頼性メトリックRa〜Rnのうちの最も高いものがしきい値を上回るとき、プロセス1200は進み、1209において、人の推定動き方向Mとして、信頼性メトリックRa〜Rnのうちの最も高いものを有する推定動き方向Ma〜Mnのうちのそれぞれの1つを(たとえば、選択モジュール1190によって)選択する。次いで1213において、動き方向Ma〜Mnのうちのそれぞれの1つが出力される。いくつかの実装形態では、信頼性メトリックRa〜Rnのうちの最も高いものがしきい値を上回らないと1207において判定された場合、以前のステップ(または他の以前のサンプルもしくは分析ポイント)に関して選択された動き方向に対応する動き方向Ma〜Mnのうちの1つが、1211において選択され、1213において出力される。いくつかの他の実装形態では、信頼性メトリックRa〜Rnのうちの最も高いものがしきい値を上回らないと1207において判定された場合、パラメータのデフォルトセットを使用する動き方向推定モジュール666a〜666nのうちのそれぞれの1つによって推定された動き方向Ma〜Mnのうちの1つが、1211において選択され、1213において出力される。上述のように、選択モジュール1190はまた、最も信頼できる推定動き方向Ma〜Mnのうちの2つ以上を選択し、それらを、いくつかの実装形態では異なる重み付けをして、平均化またはさもなければ合成して、単一の複合推定動き方向Mを取得することができる。
【０１０２】
いくつかの実装形態では、プロセス1200は段階的に実行される。いくつかの他の実装形態では、プロセス1200は、周期的に、たとえば2、4、6、8、10もしくはより多くのステップごとに、または時間間隔を含む他の適切な間隔で実行される。上述のように、いくつかの実装形態では、動き方向推定モジュール666a〜666nおよび信頼性メトリック計算モジュール672a〜672nは、現在もしくは過去の加速度データ、現在もしくは過去の方位データ、現在もしくは過去の回転データ、または動き方向Ma〜Mnの以前推定された値を利用する。たとえば、プロセス1200のブロックまたはステップのうちの1つまたは複数は、移動時間ウィンドウ内にデータを使用して実行され得る。たとえば、プロセス1200のブロックまたはステップのうちの1つまたは複数は、直近の6ステップ、または別の適切な数のステップもしくは時間間隔からのデータを使用して段階的に実行され得る。
【０１０３】
本明細書において開示された実装形態に関連して説明された様々な例示的な論理、論理ブロック、モジュール、回路およびアルゴリズムステップは、電子ハードウェア、コンピュータソフトウェアまたは両方の組合せとして実装できる。ハードウェアとソフトウェアの互換性は、概ね機能の点で説明されており、また、上述の様々な例示的な構成要素、ブロック、モジュール、回路およびステップの中に示されている。そのような機能がハードウェアの中で実装されるか、ソフトウェアの中で実装されるかは、特定の適用例および全体的なシステムに課された設計制約で決まる。
【０１０４】
本明細書において開示された態様に関連して説明された様々な例示的な論理、論理ブロック、モジュール、および回路を実装するために使用されるハードウェアおよびデータ処理装置は、汎用のシングルチップもしくはマルチチッププロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)もしくは他のプログラマブル論理デバイス、個別ゲートもしくはトランジスタ論理、個別ハードウェア構成要素、または、本明細書において説明された機能を実行するように設計されたそれらの任意の組合せを用いて実装または実行することができる。汎用プロセッサはマイクロプロセッサとすることができるか、または任意の従来のプロセッサ、コントローラ、マイクロコントローラもしくはステートマシンとすることができる。プロセッサは、DSPおよびマイクロプロセッサの組合せ、複数のマイクロプロセッサ、DSPコアと連携する1つもしくは複数のマイクロプロセッサ、または任意の他のそのような構成などのコンピューティングデバイスの組合せとしても実装され得る。いくつかの実装形態では、特定のステップおよび方法は、所与の機能に固有の回路構成によって実施できる。
【０１０５】
1つまたは複数の態様では、説明された機能は、本明細書において開示された構造およびそれらの構造的等価物を含む、ハードウェア、デジタル電子回路構成、コンピュータソフトウェア、ファームウェア、またはそれらの任意の組合せにおいて実装できる。また、本明細書において説明される主題の実装形態は、1つまたは複数のコンピュータプログラムとして、すなわち、データ処理装置によって実行するか、またはデータ処理装置の動作を制御するための、コンピュータ記憶媒体上に符号化されたコンピュータプログラム命令の1つまたは複数のモジュールとして、実装できる。
【０１０６】
ソフトウェアで実装される場合、機能は、1つまたは複数の命令またはコードとしてコンピュータ可読媒体上に記憶されるか、またはコンピュータ可読媒体を介して送信され得る。本明細書において開示された方法またはアルゴリズムのステップは、コンピュータ可読媒体上に存在し得るプロセッサ実行可能ソフトウェアモジュール内で実施され得る。コンピュータ可読媒体は、ある場所から別の場所にコンピュータプログラムを転送することが可能になり得る任意の媒体を含む、コンピュータ記憶媒体と通信媒体の両方を含む。記憶媒体は、コンピュータによってアクセスされ得る任意の利用可能な媒体であり得る。限定ではなく例として、そのようなコンピュータ可読媒体は、RAM、ROM、EEPROM、CD-ROMもしくは他の光ディスクストレージ、磁気ディスクストレージもしくは他の磁気ストレージデバイス、または命令もしくはデータ構造の形態の所望のプログラムコードを記憶するために使用され得、コンピュータによってアクセスされ得る任意の他の媒体を含むことができる。また、いかなる接続もコンピュータ可読媒体と適切に呼ぶことができる。本明細書において使用されるディスク(disk)およびディスク(disc)は、コンパクトディスク(CD)、レーザディスク、光ディスク、デジタル多用途ディスク(DVD)、フロッピーディスク、およびblu-rayディスクを含み、ディスク(disk)は、通常、データを磁気的に再生し、ディスク(disc)は、データをレーザで光学的に再生する。上記の組合せも、コンピュータ可読媒体の範囲内に含まれ得る。加えて、方法またはアルゴリズムの動作は、コンピュータプログラム製品に組み込まれ得る、機械可読媒体およびコンピュータ可読媒体上のコードおよび命令の1つまたは任意の組合せまたはセットとして存在することができる。
【０１０７】
本開示において説明される実装形態への様々な変更形態が、当業者には容易に明らかになり、本明細書において定義された包括的な原理は、本開示の趣旨および範囲から逸脱することなく他の実装形態に適用できる。したがって特許請求の範囲は、本明細書において示されている実装形態に限定されることは意図されておらず、本開示、本明細書において開示されている原理および新規の特徴と一致する最も広い範囲を与えられるべきである。本明細書において使用されるとき、項目のリスト「のうちの少なくとも1つ」を指す語句は、単一の部材を含む、それらの項目の任意の組合せを指す。一例として、「a、b、またはcのうちの少なくとも1つ」は、a、b、c、a-b、a-c、b-c、およびa-b-cをカバーすることが意図されている。さらに、当業者は、「上(upper)」および「下(lower)」という用語が図について説明しやすいように使用されることがあり、適正に向けられたページ上の図の方位に対応する相対位置を示しており、たとえば、実装されるようなIMODディスプレイ要素の適正な方位を反映しない可能性があることを容易に理解されよう。さらに、接続詞「または」は、別段に規定されていない限り、該当する包含的意味で意図されており、「AまたはB」という句は、「A」、「B」、および「AおよびB」の可能性を含むことが意図されている。
【０１０８】
本明細書において別個の実装形態の文脈で説明されたいくつかの特徴は、単一の実装形態において組み合わせて実装されてもよい。逆に、単一の実装形態の文脈で説明された様々な特徴も、複数の実装形態において別々に、または任意の適切な部分的組合せにおいて実装されてよい。さらに、特徴は、場合によっては特定の組合せで作用するものとして上述されており、さらには最初はそのようなものとして特許請求することも可能であるが、特許請求される組合せからの1つまたは複数の特徴は、いくつかのケースでは、組合せから削除でき、また、特許請求される組合せは、部分的組合せまたは部分的組合せの変形形態を対象とすることも可能である。
【０１０９】
同様に、動作は、図には特定の順序で示されているが、望ましい結果を達成するためにそのような動作を図に示されている特定の順序または逐次順序で実施する必要はないこと、あるいは図に示されているすべての動作を実施する必要はないことは当業者には容易に認識されよう。さらに、図面は、1つまたは複数の例示的なプロセスを流れ図の形態で概略的に示すことができる。しかしながら、概略的に示されている例示的なプロセスには、図に示されていない他の動作を組み込むことも可能である。たとえば、例示される任意の動作の前に、後に、動作と同時に、またはこれらの動作間に、1つまたは複数の追加動作を実行することができる。いくつかの環境では、マルチタスクおよび並列処理が有利である可能性がある。さらに、上述の実装形態における様々なシステム構成要素の分離は、すべての実装形態においてこのような分離を必要とすると理解されるべきではなく、説明されるプログラム構成要素およびシステムは、一般的に単一のソフトウェア製品に統合される、または複数のソフトウェア製品にパッケージ化される可能性があると理解されるべきである。さらに、他の実装形態も添付の特許請求の範囲の範囲内である。場合によっては、特許請求の範囲に記載されているアクションは、異なる順序で実行されてよく、それでも望ましい結果を達成することができる。
【符号の説明】
【０１１０】
100  モバイルデバイス
102  ハウジング
104  ディスプレイ
106  アンテナ
108  スピーカ
110  入力デバイス
112  マイクロフォン
114  ネットワークインターフェース
116  トランシーバ
120  プロセッサ
122  調整ハードウェア
124  ドライバコントローラ
126  フレームバッファ
128  アレイドライバ
130  電源
132  メモリ
134  スイート(または「セット」)、センサースイート、慣性測定ユニット(IMU)
236  直線加速度計、3次元加速度計、加速度計
236A  直線加速度計、第1の直線加速度計、加速度計
236B  直線加速度計、第2の直線加速度計、加速度計
236C  直線加速度計、第3の直線加速度計、加速度計
240  ジャイロスコープ、3次元ジャイロスコープ
240A  ジャイロスコープ、第1のジャイロスコープ
240B  ジャイロスコープ、第2のジャイロスコープ
240C  ジャイロスコープ、第3のジャイロスコープ
242  磁力計、コンパス、3次元磁力計
242A  磁力計、第1の磁力計
242B  磁力計、第2の磁力計
242C  磁力計、第3の磁力計
244  ステップトラッカー
300  モバイルデバイス座標系、IMU座標系
301  東、北および上(ENU)のカーディナルベースのデカルト座標系、ENU座標系
303  RCU座標系
338A  直交軸、第1の軸
338B  直交軸、第2の直交軸、軸、第2の軸
338C  直交軸、第3の直交軸、第3の軸
400  ECEF座標系
454A  直交軸
454B  直交軸
454C  直交軸
560  人
662  ステップ検出モジュール
664  方位判定モジュール
666  動き方向推定モジュール
666a〜666n  動き方向推定モジュール
668  アライメント角度計算モジュール
670  較正モジュール
672  信頼性メトリック計算モジュール
672a〜672n  信頼性メトリック計算モジュール
700  プロセス
880  双峰確率分布
882  垂直軸
884  水平軸
886  第1のより高いピーク(または「モード」)、第1のピーク
888  第2のより低いピーク(または「モード」)、第2のピーク
900  プロセス
1000  プロセス
1190  選択モジュール
1192  比較器
1200  プロセス
【図１Ａ】
2017516091.tif 000003
【図１Ｂ】
2017516091.tif 000004
【図２】
2017516091.tif 000005
【図３】
2017516091.tif 000006
【図４】
2017516091.tif 000007
【図５Ａ】
2017516091.tif 000008
【図５Ｂ】
2017516091.tif 000009
【図５Ｃ】
2017516091.tif 000010
【図６】
2017516091.tif 000011
【図７】
2017516091.tif 000012
【図８】
2017516091.tif 000013
【図９】
2017516091.tif 000014
【図１０】
2017516091.tif 000015
【図１１】
2017516091.tif 000016
【図１２】
2017516091.tif 000017
【手続補正書】
【提出日】平成28年11月4日(2016.11.4)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
1つまたは複数の方向の各々におけるモバイルデバイスに関する加速度データを取得するステップと、
前記モバイルデバイス内で実行されている複数の動き方向推定モジュールによって、グローバル座標系に対する前記モバイルデバイスに関する複数のそれぞれの推定動き方向を同時に計算するステップであって、前記複数の動き方向推定モジュールの各々は、前記加速度データおよびユースケースに関連するパラメータのあらかじめ定義されたセットに少なくとも部分的に基づいて、前記それぞれの推定動き方向を計算する、計算するステップと、
前記推定動き方向の各々に関する信頼性メトリックを判定するステップと、
前記推定動き方向の各々に関する各信頼性メトリックを比較して、最も大きい信頼性を示す前記信頼性メトリックを識別するステップと、
前記識別された信頼性メトリックに対応する前記動き方向を識別するステップと、
前記識別された信頼性メトリックに少なくとも部分的に基づいて、結果として生じる動き方向を生成するステップと
を含む方法。
【請求項２】
前記識別された信頼性メトリックに少なくとも部分的に基づいて、前記結果として生じる動き方向を生成するステップは、前記結果として生じる動き方向として、前記識別された動き方向を選択するステップを含む、請求項1に記載の方法。
【請求項３】
次に大きい信頼性を示す第2の信頼性メトリックおよびそれぞれの第2の識別された動き方向を識別するステップをさらに含み、前記識別された信頼性メトリックに少なくとも部分的に基づいて、前記結果として生じる動き方向を生成するステップは、前記2つの識別された動き方向を選択し、前記2つの識別された動き方向を合成して、前記結果として生じる動き方向を生成するステップを含む、請求項1に記載の方法。
【請求項４】
前記識別された信頼性メトリックをしきい値と比較するステップをさらに含み、前記識別された信頼性メトリックに少なくとも部分的に基づいて、前記結果として生じる動き方向を生成するステップは、前記識別された信頼性メトリックが前記しきい値を上回るときのみ、前記識別された動き方向を選択するステップを含む、請求項1から3のいずれか一項に記載の方法。
【請求項５】
前記識別された信頼性メトリックが前記しきい値を下回るとき、前記識別された信頼性メトリックに少なくとも部分的に基づいて、前記結果として生じる動き方向を生成するステップは、前記結果として生じる動き方向として、直前の動き方向が選択された前記動き方向推定モジュールのうちの1つによって計算された動き方向を選択するステップを含む、請求項4に記載の方法。
【請求項６】
前記識別された信頼性メトリックが前記しきい値を下回るとき、前記識別された信頼性メトリックに少なくとも部分的に基づいて、前記結果として生じる動き方向を生成するステップは、前記結果として生じる動き方向として、パラメータのデフォルトセットを使用する前記動き方向推定モジュールのうちの1つによって計算された動き方向を選択するステップを含む、請求項4に記載の方法。
【請求項７】
前記加速度データまたは他の方位データに基づいて、前記グローバル座標系に対する前記モバイルデバイスの方位を識別するステップをさらに含み、動き方向推定モジュールごとに、前記グローバル座標系に対する前記モバイルデバイスの前記それぞれの推定動き方向を計算するステップはまた、前記方位に少なくとも部分的に基づく、請求項1から6のいずれか一項に記載の方法。
【請求項８】
前記方位データは、ジャイロスコープデータおよび磁力計データの一方または両方を含む、請求項7に記載の方法。
【請求項９】
前記モバイルデバイスを携帯している人または前記モバイルデバイスを装着している人によって進められるいくつかのステップを追跡するステップをさらに含み、前記方法は、移動時間ウィンドウ内に実行され、ユースケースに関連するパラメータのあらかじめ定義された各セットは、それぞれのいくつかのステップに対応するそれぞれのウィンドウの長さを含む、請求項1から8のいずれか一項に記載の方法。
【請求項１０】
ユースケースに関連するパラメータのあらかじめ定義された各セットは、前記加速度データの垂直成分と水平成分との間の位相オフセットを含む、請求項1から9のいずれか一項に記載の方法。
【請求項１１】
1つまたは複数の方向の各々におけるモバイルデバイスに関する加速度データを測定するように構成された1つまたは複数のセンサーと、
1つまたは複数のプロセッサと、
前記1つまたは複数のプロセッサによって実行されたときに、複数のモジュールを実施する命令を記憶しているメモリと
を含み、前記複数のモジュールは、
グローバル座標系に対する前記モバイルデバイスに関する複数のそれぞれの推定動き方向を同時に計算するように構成された複数の動き方向推定モジュールであって、前記複数の動き方向推定モジュールの各々は、前記加速度データおよびユースケースに関連するパラメータのあらかじめ定義されたセットに少なくとも部分的に基づいて、前記それぞれの推定動き方向を計算するように構成される、複数の動き方向推定モジュールと、
前記それぞれの推定動き方向に関する複数のそれぞれの信頼性メトリックを判定するように構成された複数の信頼性メトリック計算モジュールと、
選択モジュールと
を含み、前記選択モジュールは、
前記推定動き方向の各々に関する各信頼性メトリックを比較して、最も大きい信頼性を示す前記信頼性メトリックを識別し、
前記識別された信頼性メトリックに対応する前記動き方向を識別し、
前記識別された信頼性メトリックに少なくとも部分的に基づいて、結果として生じる動き方向を生成する
ように構成される、モバイルデバイス。
【請求項１２】
前記選択モジュールは、前記結果として生じる動き方向として、前記識別された動き方向を選択するように構成される、請求項11に記載のモバイルデバイス。
【請求項１３】
前記選択モジュールは、次に大きい信頼性を示す第2の信頼性メトリックおよびそれぞれの第2の識別された動き方向を識別するようにさらに構成され、前記選択モジュールは、前記2つの識別された動き方向を選択し、前記2つの識別された動き方向を合成して、前記結果として生じる動き方向を生成するように構成される、請求項11に記載のモバイルデバイス。
【請求項１４】
前記識別された信頼性メトリックをしきい値と比較するように構成された比較器をさらに含み、前記選択モジュールは、前記識別された信頼性メトリックが前記しきい値を上回るときのみ、前記識別された動き方向を選択するように構成される、請求項11から13のいずれか一項に記載のモバイルデバイス。
【請求項１５】
前記識別された信頼性メトリックが前記しきい値を下回るとき、前記選択モジュールは、前記結果として生じる動き方向として、直前の動き方向が選択された前記動き方向推定モジュールのうちの1つによって計算された前記動き方向を選択するように構成される、請求項14に記載のモバイルデバイス。
【請求項１６】
前記識別された信頼性メトリックが前記しきい値を下回るとき、前記選択モジュールは、前記結果として生じる動き方向として、パラメータのデフォルトセットを使用する前記動き方向推定モジュールのうちの1つによって計算された前記動き方向を選択するように構成される、請求項14に記載のモバイルデバイス。
【請求項１７】
前記加速度データまたは他の方位データに基づいて、前記グローバル座標系に対する前記モバイルデバイスの方位を判定するように構成された方位判定モジュールをさらに含み、各動き方向推定モジュールは、前記方位に少なくとも部分的に基づいて、前記グローバル座標系に対する前記モバイルデバイスの前記それぞれの推定動き方向を計算するようにさらに構成される、請求項11から16のいずれか一項に記載のモバイルデバイス。
【請求項１８】
前記方位データは、ジャイロスコープデータおよび磁力計データの一方または両方を含む、請求項17に記載のモバイルデバイス。
【請求項１９】
前記モバイルデバイスを携帯している人または前記モバイルデバイスを装着している人によって進められるいくつかのステップを追跡するように構成されたステップ検出モジュールをさらに含み、ユースケースに関連するパラメータのあらかじめ定義された各セットは、それぞれのいくつかのステップに対応するそれぞれのウィンドウの長さを含む、請求項11から18のいずれか一項に記載のモバイルデバイス。
【請求項２０】
ユースケースに関連するパラメータのあらかじめ定義された各セットは、前記加速度データの垂直成分と水平成分との間の位相オフセットを含む、請求項11から19のいずれか一項に記載のモバイルデバイス。
【請求項２１】
非一時的命令を含むコンピュータ可読記憶媒体であって、前記非一時的命令は、1つまたは複数のプロセッサによって実行されたときに、
1つまたは複数の方向の各々におけるモバイルデバイスに関する加速度データを受信することと、
複数の動き方向推定モジュールによって、グローバル座標系に対する前記モバイルデバイスに関する複数のそれぞれの推定動き方向を同時に計算することであって、前記複数の動き方向推定モジュールの各々は、前記加速度データおよびユースケースに関連するパラメータのあらかじめ定義されたセットに少なくとも部分的に基づいて、前記それぞれの推定動き方向を計算する、計算することと、
前記推定動き方向の各々に関する信頼性メトリックを判定することと、
前記推定動き方向の各々に関する各信頼性メトリックを比較して、最も大きい信頼性を示す前記信頼性メトリックを識別することと、
前記識別された信頼性メトリックに対応する前記動き方向を識別することと、
前記識別された信頼性メトリックに少なくとも部分的に基づいて、結果として生じる動き方向を生成することと
を行うように構成される、コンピュータ可読記憶媒体。
【請求項２２】
前記結果として生じる動き方向を生成するために、前記媒体は、前記結果として生じる動き方向として、前記識別された動き方向を選択するための命令をさらに含む、請求項21に記載の媒体。
【請求項２３】
次に大きい信頼性を示す第2の信頼性メトリックおよびそれぞれの第2の識別された動き方向を識別するための命令をさらに含み、前記結果として生じる動き方向を生成するために、前記媒体は、前記2つの識別された動き方向を選択し、前記2つの識別された動き方向を合成して、前記結果として生じる動き方向を生成するための命令をさらに含む、請求項21に記載の媒体。
【請求項２４】
前記識別された信頼性メトリックをしきい値と比較するための命令をさらに含み、前記結果として生じる動き方向を生成するために、前記媒体は、前記識別された信頼性メトリックが前記しきい値を上回るときのみ、前記識別された動き方向を選択するための命令をさらに含む、請求項21から23のいずれか一項に記載の媒体。
【請求項２５】
前記識別された信頼性メトリックが前記しきい値を下回るとき、前記結果として生じる動き方向を生成するために、前記媒体は、前記結果として生じる動き方向として、直前の動き方向が選択された前記動き方向推定モジュールのうちの1つによって計算された前記動き方向を選択するための命令をさらに含む、請求項24に記載の媒体。
【請求項２６】
前記識別された信頼性メトリックが前記しきい値を下回るとき、前記結果として生じる動き方向を生成するために、前記媒体は、前記結果として生じる動き方向として、パラメータのデフォルトセットを使用する前記動き方向推定モジュールのうちの1つによって計算された前記動き方向を選択するための命令をさらに含む、請求項24に記載の媒体。
【請求項２７】
前記加速度データまたは他の方位データに基づいて、前記グローバル座標系に対する前記モバイルデバイスの方位を判定するための命令をさらに含み、動き方向推定モジュールごとに、前記グローバル座標系に対する前記モバイルデバイスの前記それぞれの推定動き方向を計算することはまた、前記方位に少なくとも部分的に基づく、請求項21から26のいずれか一項に記載の媒体。
【請求項２８】
前記モバイルデバイスを携帯している人または前記モバイルデバイスを装着している人によって進められるいくつかのステップを追跡するための命令をさらに含み、ユースケースに関連するパラメータのあらかじめ定義された各セットは、それぞれのいくつかのステップに対応するそれぞれのウィンドウの長さを含む、請求項21から27のいずれか一項に記載の媒体。
【請求項２９】
ユースケースに関連するパラメータのあらかじめ定義された各セットは、前記加速度データの垂直成分と水平成分との間の位相オフセットを含む、請求項21から28のいずれか一項に記載の媒体。
【請求項３０】
1つまたは複数の方向の各々における装置に関する加速度データを取得するための手段と、
前記装置内で実行されている複数の動き方向推定手段によって、グローバル座標系に対する前記装置に関する複数のそれぞれの推定動き方向を同時に計算するための手段であって、前記複数の動き方向推定手段の各々は、前記加速度データおよびユースケースに関連するパラメータのあらかじめ定義されたセットに少なくとも部分的に基づいて、前記それぞれの推定動き方向を計算する、計算するための手段と、
前記推定動き方向の各々に関する信頼性メトリックを判定するための手段と、
前記推定動き方向の各々に関する各信頼性メトリックを比較して、最も大きい信頼性を示す前記信頼性メトリックを識別するための手段と、
前記識別された信頼性メトリックに対応する前記動き方向を識別するための手段と、
前記識別された信頼性メトリックに少なくとも部分的に基づいて、結果として生じる動き方向を生成するための手段と
を含む装置。
【国際調査報告】
2017516091.tif 000018
2017516091.tif 000019
2017516091.tif 000020