JP2017516087A - 動き方向の判定およびアプリケーション - Google Patents

動き方向の判定およびアプリケーション Download PDF

Info

Publication number
JP2017516087A
JP2017516087A JP2016564594A JP2016564594A JP2017516087A JP 2017516087 A JP2017516087 A JP 2017516087A JP 2016564594 A JP2016564594 A JP 2016564594A JP 2016564594 A JP2016564594 A JP 2016564594A JP 2017516087 A JP2017516087 A JP 2017516087A
Authority
JP
Japan
Prior art keywords
mobile device
use case
implementations
acceleration data
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2016564594A
Other languages
English (en)
Other versions
JP2017516087A5 (ja
Inventor
パヤム・パクザド
ヴィクター・クリク
Original Assignee
クアルコム,インコーポレイテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by クアルコム,インコーポレイテッド filed Critical クアルコム,インコーポレイテッド
Publication of JP2017516087A publication Critical patent/JP2017516087A/ja
Publication of JP2017516087A5 publication Critical patent/JP2017516087A5/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01PMEASURING LINEAR OR ANGULAR SPEED, ACCELERATION, DECELERATION, OR SHOCK; INDICATING PRESENCE, ABSENCE, OR DIRECTION, OF MOVEMENT
    • G01P13/00Indicating or recording presence, absence, or direction, of movement
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/10Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration
    • G01C21/12Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning
    • G01C21/16Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation
    • G01C21/165Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation combined with non-inertial navigation instruments
    • G01C21/1654Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation combined with non-inertial navigation instruments with electromagnetic compass
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C22/00Measuring distance traversed on the ground by vehicles, persons, animals or other moving solid bodies, e.g. using odometers, using pedometers
    • G01C22/006Pedometers
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01PMEASURING LINEAR OR ANGULAR SPEED, ACCELERATION, DECELERATION, OR SHOCK; INDICATING PRESENCE, ABSENCE, OR DIRECTION, OF MOVEMENT
    • G01P15/00Measuring acceleration; Measuring deceleration; Measuring shock, i.e. sudden change of acceleration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/017Gesture based interaction, e.g. based on a set of recognized hand gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/0346Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of the device orientation or free movement in a 3D space, e.g. 3D mice, 6-DOF [six degrees of freedom] pointers using gyroscopes, accelerometers or tilt-sensors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/038Control and interface arrangements therefor, e.g. drivers or device-embedded control circuitry

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Human Computer Interaction (AREA)
  • Automation & Control Theory (AREA)
  • Electromagnetism (AREA)
  • Navigation (AREA)
  • Telephone Function (AREA)
  • User Interface Of Digital Computer (AREA)
  • Traffic Control Systems (AREA)

Abstract

本開示は、動き方向を判定するためのデバイス、コンピュータプログラムおよび方法を提供する。一態様では、モバイルデバイスは、1つまたは複数の方向の各々における加速度データを測定するように構成された1つまたは複数のセンサーを含む。モバイルデバイスはまた、1つまたは複数のプロセッサと、1つまたは複数のプロセッサによって実行されたときに、動き方向推定モジュールを実施する命令を記憶しているメモリとを含む。動き方向推定モジュールは、加速度データに少なくとも部分的に基づいて、モバイルデバイスに関するユースケースを識別するように構成される。動き方向推定モジュールはまた、識別されたユースケースに基づいて、1つまたは複数のパラメータから成るセットを選択するように構成される。動き方向推定モジュールはさらに、加速度データおよび識別されたユースケースに対応するパラメータのそれぞれのセットに基づいて、モバイルデバイスの推定動き方向を計算するように構成される。

Description

優先データ
本開示は、2014年5月2日に出願されたPakzadらによるMOTION DIRECTION DETERMINATION AND APPLICATIONと題する同時係属米国特許出願第14/268,968号(代理人整理番号133748U3/QUALP220C)の優先権の利益を主張し、この出願全体がすべての目的のために参照により本明細書に組み込まれる。
関連出願の相互参照
本開示は、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,973号(代理人整理番号133748U4/QUALP220D)に関し、これらの出願のすべてがすべての目的のために参照により本明細書に組み込まれる。
本開示は、一般に、動きの方向を判定するための技法に関し、より詳細には、1つまたは複数のセンサーからの入力に基づいて動きの方向を推定することが可能なモバイルデバイスに関する。
モバイル電子デバイスのための様々な既存のアプリケーションおよび期待されるアプリケーションは、モバイルデバイスの位置、方位、または動き方向の知識を利用する。たとえば、モバイルデバイスを携帯している人が歩いているか、またはさもなければ動き回っている状況では、それは、動きの方向またはその人の動きに関する他の動き情報を判定する能力を有するモバイルデバイスにとって有用であり得る。他の動き情報としては、たとえば、瞬間および平均の速度および加速度があり得る。そのような動き情報は、全地球測位システム(GPS)によって得られる支援または補正なしに、またたとえば、Wi-Fiまたは他のワイヤレス接続を介するなどして他の外部手段を通じて得られる支援または補正なしに、モバイルデバイスがそれ自体のセンサーに基づいて自律的にそれの動き方向を判定しようと試みる歩行者デッドレコニングアプリケーションにとって有用であり得る。そのようなデッドレコニングのユースケースは、たとえば、GPS、セルラー、Wi-Fiもしくは他のワイヤレス信号が利用可能であるエリアの外にモバイルデバイスがあるとき、またはそのような信号を介してデータを受信するための送信機もしくは受信機がオフもしくは無効にされているときに存在し得る。デッドレコニングアプリケーションでは、動き方向および位置の不確実性は一般に、外部のフィードバックまたは補正が受け取られるまで増大し続ける。結果として、推定動き方向および関連動き情報の信頼性が時間とともに大幅に低下し、さらには推定が役に立たなくなることがある。
本開示のシステム、方法、およびデバイスは、いくつかの革新的態様をそれぞれ有し、それらの態様のいずれの1つも、本明細書において開示される望ましい属性を単独では担わない。
本開示において説明される主題の1つの革新的態様は、1つまたは複数の方向の各々におけるモバイルデバイスに関する加速度データを取得するステップを含む方法において実装され得る。本方法はまた、加速度データに少なくとも部分的に基づいて、モバイルデバイスに関するユースケースを識別するステップを含む。本方法はまた、識別されたユースケースに基づいて、1つまたは複数のパラメータから成るセットを選択するステップを含む。本方法はさらに、加速度データおよび識別されたユースケースに対応するパラメータのそれぞれのセットに基づいて、座標系に対するモバイルデバイスの推定動き方向を計算するステップを含む。
いくつかの実装形態では、ユースケースを識別するステップは、複数のあらかじめ定義されたユースケースの加速度特性と加速度データを比較し、最も適合しているあらかじめ定義されたユースケースのうちの1つを選択するステップを含む。あらかじめ定義されたユースケースの各々は、1つまたは複数のパラメータから成るそれぞれのセットとともに記憶されること、またはそれぞれのセットとリンクされることがある。たとえば、複数のあらかじめ定義されたユースケースは、モバイルデバイスが電話モードであるユースケース、モバイルデバイスがポケットの中にあるユースケース、モバイルデバイスが手の中で携帯されているユースケース、モバイルデバイスがユーザの前方にて手の中で携帯されているユースケース、ユーザが歩いているときにモバイルデバイスがユーザの側方にて手の中で携帯されているユースケース、およびユーザが走っているときにモバイルデバイスがユーザの側方にて手の中で携帯されているユースケースを含むことができる。
いくつかの実装形態では、本方法はまた、モバイルデバイスが電話モードであるときに検出するステップを含む。いくつかのそのような実装形態では、ユースケースを識別するステップはまた、モバイルデバイスが電話モードであるかどうかに基づく。いくつかの実装形態では、本方法はまた、モバイルデバイスを携帯しているユーザまたはモバイルデバイスを装着しているユーザに対するモバイルデバイスの位置を判定するステップを含む。いくつかのそのような実装形態では、ユースケースを識別するステップはまた、モバイルデバイスの位置に基づく。いくつかの実装形態では、本方法はまた、加速度データまたは他の方位データに基づいて、座標系に対するモバイルデバイスの方位を識別するステップを含む。たとえば、方位データは、ジャイロスコープデータおよび磁力計データの一方または両方を含むことができる。いくつかのそのような実装形態では、ユースケースを識別するステップはまた、方位に少なくとも部分的に基づく。いくつかの実装形態では、座標系に対するモバイルデバイスの推定動き方向を計算することはまた、方位に少なくとも部分的に基づく。
いくつかの実装形態では、本方法はまた、モバイルデバイスを携帯している人またはモバイルデバイスを装着している人によって進められるいくつかのステップを追跡するステップを含む。いくつかのそのような実装形態では、本方法は、移動時間ウィンドウ内に実行され、パラメータのセットは、それぞれのいくつかのステップに対応するウィンドウの長さを含む。いくつかの実装形態では、パラメータのセットは、加速度データの垂直成分と水平成分との間の位相オフセットを含むことができる。
本開示において説明される主題の別の革新的態様は、1つまたは複数の方向の各々におけるモバイルデバイスに関する加速度データを測定するように構成された1つまたは複数のセンサーを含むモバイルデバイスにおいて実装され得る。モバイルデバイスはまた、1つまたは複数のプロセッサと、1つまたは複数のプロセッサによって実行されたときに、動き方向推定モジュールを実施する命令を記憶しているメモリとを含む。動き方向推定モジュールは、加速度データに少なくとも部分的に基づいて、モバイルデバイスに関するユースケースを識別するように構成される。動き方向推定モジュールはまた、識別されたユースケースに基づいて、1つまたは複数のパラメータから成るセットを選択するように構成される。動き方向推定モジュールはさらに、加速度データおよび識別されたユースケースに対応するパラメータのそれぞれのセットに基づいて、座標系に対するモバイルデバイスの推定動き方向を計算するように構成される。
いくつかの実装形態では、ユースケースを識別するために、動き方向推定モジュールは、複数のあらかじめ定義されたユースケースの加速度特性と加速度データを比較し、最も適合しているあらかじめ定義されたユースケースのうちの1つを選択するように構成される。あらかじめ定義されたユースケースの各々は、1つまたは複数のパラメータから成るそれぞれのセットとともに記憶されること、またはそれぞれのセットとリンクされることがある。たとえば、複数のあらかじめ定義されたユースケースは、モバイルデバイスが電話モードであるユースケース、モバイルデバイスがポケットの中にあるユースケース、モバイルデバイスが手の中で携帯されているユースケース、モバイルデバイスがユーザの前方にて手の中で携帯されているユースケース、ユーザが歩いているときにモバイルデバイスがユーザの側方にて手の中で携帯されているユースケース、およびユーザが走っているときにモバイルデバイスがユーザの側方にて手の中で携帯されているユースケースを含むことができる。
いくつかの実装形態では、メモリはさらに、1つまたは複数のプロセッサによって実行されたときに、加速度データまたは他の方位データに基づいて、座標系に対するモバイルデバイスの方位を識別するように構成された方位判定モジュールを実施する命令を記憶している。いくつかのそのような実装形態では、動き方向推定モジュールはさらに、方位に少なくとも部分的に基づいてユースケースを識別するように構成される。いくつかのそのような実装形態では、動き方向推定モジュールはさらに、方位に少なくとも部分的に基づいて、座標系に対するモバイルデバイスの推定動き方向を計算するように構成される。
いくつかの実装形態では、パラメータのセットは、それぞれのいくつかのステップに対応するウィンドウを有する移動時間ウィンドウを含む。いくつかの実装形態では、パラメータのセットは、加速度データの垂直成分と水平成分との間の位相オフセットを含む。
本開示において説明される主題の別の革新的態様は、1つまたは複数のプロセッサによって実行されたときに、1つまたは複数の方向の各々におけるモバイルデバイスに関する加速度データを受信するように構成された非一時的命令を含む有形コンピュータ可読記憶媒体において実装され得る。命令はまた、加速度データに少なくとも部分的に基づいて、モバイルデバイスに関するユースケースを識別するように構成される。命令はまた、識別されたユースケースに基づいて、1つまたは複数のパラメータから成るセットを選択するように構成される。命令はさらに、加速度データおよび識別されたユースケースに対応するパラメータのそれぞれのセットに基づいて、座標系に対するモバイルデバイスの推定動き方向を計算するように構成される。
いくつかの実装形態では、ユースケースを識別するための命令は、複数のあらかじめ定義されたユースケースの加速度特性と加速度データを比較し、最も適合しているあらかじめ定義されたユースケースのうちの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 プロセス

Claims (30)

1つまたは複数の方向の各々におけるモバイルデバイスに関する加速度データを取得するステップと、
前記加速度データに少なくとも部分的に基づいて、前記モバイルデバイスに関するユースケースを識別するステップと、
前記識別されたユースケースに基づいて、1つまたは複数のパラメータから成るセットを選択するステップと、
前記加速度データおよび前記識別されたユースケースに対応するパラメータの前記セットのそれぞれに基づいて、座標系に対する前記モバイルデバイスの推定動き方向を計算するステップと
を含む方法。
ユースケースを識別するステップは、複数のあらかじめ定義されたユースケースの加速度特性と前記加速度データを比較し、最も適合している前記あらかじめ定義されたユースケースのうちの1つを選択するステップを含み、前記あらかじめ定義されたユースケースの各々は、1つまたは複数のパラメータから成るそれぞれのセットとともに記憶されるか、またはそれぞれのセットとリンクされる、請求項1に記載の方法。
前記複数のあらかじめ定義されたユースケースは、
前記モバイルデバイスが電話モードであるユースケースと、
前記モバイルデバイスがポケットの中にあるユースケースと、
前記モバイルデバイスが手の中で携帯されているユースケースと
を含む、請求項2に記載の方法。
前記複数のあらかじめ定義されたユースケースは、
前記モバイルデバイスがユーザの前方にて手の中で携帯されているユースケースと、
ユーザが歩いているときに前記モバイルデバイスが前記ユーザの側方にて手の中で携帯されているユースケースと、
ユーザが走っているときに前記モバイルデバイスが前記ユーザの側方にて手の中で携帯されているユースケースと
を含む、請求項2または3に記載の方法。
前記モバイルデバイスが電話モードであるときに検出するステップをさらに含み、前記ユースケースを識別するステップはまた、前記モバイルデバイスが前記電話モードであるかどうかに基づく、請求項1から4のいずれか一項に記載の方法。
前記モバイルデバイスを携帯しているユーザまたは前記モバイルデバイスを装着しているユーザに対する前記モバイルデバイスの位置を判定するステップをさらに含み、前記ユースケースを識別するステップはまた、前記モバイルデバイスの前記位置に基づく、請求項1から5のいずれか一項に記載の方法。
前記加速度データまたは他の方位データに基づいて、前記座標系に対する前記モバイルデバイスの方位を識別するステップをさらに含む、請求項1から6のいずれか一項に記載の方法。
前記ユースケースを識別するステップはまた、前記方位に少なくとも部分的に基づく、請求項7に記載の方法。
前記座標系に対する前記モバイルデバイスの前記推定動き方向を計算するステップはまた、前記方位に少なくとも部分的に基づく、請求項7または8に記載の方法。
前記方位データは、ジャイロスコープデータおよび磁力計データの一方または両方を含む、請求項7から9のいずれか一項に記載の方法。
前記モバイルデバイスを携帯している人または前記モバイルデバイスを装着している人によって進められるいくつかのステップを追跡するステップをさらに含む、請求項1から10のいずれか一項に記載の方法。
前記方法は、移動時間ウィンドウ内に実行され、
パラメータの前記セットは、それぞれのいくつかのステップに対応するそれぞれのウィンドウの長さを含む、請求項11に記載の方法。
パラメータの前記セットは、前記加速度データの垂直成分と水平成分との間の位相オフセットを含む、請求項1から12のいずれか一項に記載の方法。
1つまたは複数の方向の各々におけるモバイルデバイスに関する加速度データを測定するように構成された1つまたは複数のセンサーと、
1つまたは複数のプロセッサと、
前記1つまたは複数のプロセッサによって実行されたときに、動き方向推定モジュールを実施する命令を記憶しているメモリと
を含み、前記動き方向推定モジュールは、
前記加速度データに少なくとも部分的に基づいて、前記モバイルデバイスに関するユースケースを識別し、
前記識別されたユースケースに基づいて、1つまたは複数のパラメータから成るセットを選択し、
前記加速度データおよび前記識別されたユースケースに対応するパラメータの前記セットのそれぞれに基づいて、座標系に対する前記モバイルデバイスの推定動き方向を計算する
ように構成される、モバイルデバイス。
前記ユースケースを識別するために、前記動き方向推定モジュールは、複数のあらかじめ定義されたユースケースの加速度特性と前記加速度データを比較し、最も適合している前記あらかじめ定義されたユースケースのうちの1つを選択するように構成され、前記あらかじめ定義されたユースケースの各々は、1つまたは複数のパラメータから成るそれぞれのセットとともに記憶されるか、またはそれぞれのセットとリンクされる、請求項14に記載のモバイルデバイス。
前記複数のあらかじめ定義されたユースケースは、
前記モバイルデバイスが電話モードであるユースケースと、
前記モバイルデバイスがポケットの中にあるユースケースと、
前記モバイルデバイスが手の中で携帯されているユースケースと
を含む、請求項15に記載のモバイルデバイス。
前記複数のあらかじめ定義されたユースケースは、
前記モバイルデバイスがユーザの前方にて手の中で携帯されているユースケースと、
ユーザが歩いているときに前記モバイルデバイスが前記ユーザの側方にて手の中で携帯されているユースケースと、
ユーザが走っているときに前記モバイルデバイスが前記ユーザの側方にて手の中で携帯されているユースケースと
を含む、請求項15または16に記載のモバイルデバイス。
前記メモリは、前記1つまたは複数のプロセッサによって実行されたときに、前記加速度データまたは他の方位データに基づいて、前記座標系に対する前記モバイルデバイスの方位を識別するように構成された方位判定モジュールを実施する命令をさらに記憶している、請求項14から17のいずれか一項に記載のモバイルデバイス。
前記動き方向推定モジュールは、前記方位に少なくとも部分的に基づいて前記ユースケースを識別するようにさらに構成される、請求項18に記載のモバイルデバイス。
前記動き方向推定モジュールは、前記方位に少なくとも部分的に基づいて、前記座標系に対する前記モバイルデバイスの前記推定動き方向を計算するようにさらに構成される、請求項18または19に記載のモバイルデバイス。
パラメータの前記セットは、それぞれのいくつかのステップに対応するウィンドウを有する移動時間ウィンドウを含む、請求項14から20のいずれか一項に記載のモバイルデバイス。
パラメータの前記セットは、前記加速度データの垂直成分と水平成分との間の位相オフセットを含む、請求項14から21のいずれか一項に記載のモバイルデバイス。
非一時的命令を含むコンピュータ可読記憶媒体であって、前記非一時的命令は、1つまたは複数のプロセッサによって実行されたときに、
1つまたは複数の方向の各々におけるモバイルデバイスに関する加速度データを受信し、
前記加速度データに少なくとも部分的に基づいて、前記モバイルデバイスに関するユースケースを識別し、
前記識別されたユースケースに基づいて、1つまたは複数のパラメータから成るセットを選択し、
前記加速度データおよび前記識別されたユースケースに対応するパラメータの前記セットのそれぞれに基づいて、座標系に対する前記モバイルデバイスの推定動き方向を計算する
ように構成される、コンピュータ可読記憶媒体。
前記ユースケースを識別するための前記命令は、複数のあらかじめ定義されたユースケースの加速度特性と前記加速度データを比較し、最も適合している前記あらかじめ定義されたユースケースのうちの1つを選択するための命令を含み、前記あらかじめ定義されたユースケースの各々は、1つまたは複数のパラメータから成るそれぞれのセットとともに記憶されるか、またはそれぞれのセットとリンクされる、請求項23に記載の媒体。
前記加速度データまたは他の方位データに基づいて、前記座標系に対する前記モバイルデバイスの方位を識別するための命令をさらに含む、請求項23または24に記載の媒体。
前記ユースケースを識別するための前記命令は、前記方位に少なくとも部分的に基づいて前記ユースケースを識別するための命令を含む、請求項25に記載の媒体。
前記推定動き方向を計算するための前記命令は、前記方位に少なくとも部分的に基づいて前記推定動き方向を計算するための命令を含む、請求項25または26に記載の媒体。
パラメータの前記セットは、それぞれのいくつかのステップに対応するウィンドウを有する移動時間ウィンドウを含む、請求項23から27のいずれか一項に記載の媒体。
パラメータの前記セットは、前記加速度データの垂直成分と水平成分との間の位相オフセットを含む、請求項23から28のいずれか一項に記載の媒体。
1つまたは複数の方向の各々における装置に関する加速度データを取得するための手段と、
前記加速度データに少なくとも部分的に基づいて、前記装置に関するユースケースを識別するための手段と、
前記識別されたユースケースに基づいて、1つまたは複数のパラメータから成るセットを選択するための手段と、
前記加速度データおよび前記識別されたユースケースに対応するパラメータの前記セットのそれぞれに基づいて、座標系に対する前記装置の推定動き方向を計算するための手段と
を含む装置。
JP2016564594A 2014-05-02 2015-03-23 動き方向の判定およびアプリケーション Pending JP2017516087A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/268,968 US10281484B2 (en) 2014-05-02 2014-05-02 Motion direction determination and application
US14/268,968 2014-05-02
PCT/US2015/022054 WO2015167696A1 (en) 2014-05-02 2015-03-23 Motion direction determination

Publications (2)

Publication Number Publication Date
JP2017516087A true JP2017516087A (ja) 2017-06-15
JP2017516087A5 JP2017516087A5 (ja) 2018-04-05

Family

ID=52829353

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016564594A Pending JP2017516087A (ja) 2014-05-02 2015-03-23 動き方向の判定およびアプリケーション

Country Status (6)

Country Link
US (1) US10281484B2 (ja)
EP (1) EP3137970A1 (ja)
JP (1) JP2017516087A (ja)
KR (1) KR20160148550A (ja)
CN (1) CN106462237B (ja)
WO (1) WO2015167696A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019530865A (ja) * 2016-09-23 2019-10-24 クゥアルコム・インコーポレイテッドQualcomm Incorporated モバイルデバイスにおける改善された歩行者モーションモデリングのためのユーザ固有の学習

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10281484B2 (en) 2014-05-02 2019-05-07 Qualcomm Incorporated Motion direction determination and application
US9983224B2 (en) 2014-05-02 2018-05-29 Qualcomm Incorporated Motion direction determination and application
US10830606B2 (en) * 2015-02-09 2020-11-10 Invensense, Inc. System and method for detecting non-meaningful motion
US10323452B2 (en) * 2016-07-25 2019-06-18 Empire Technology Development Llc Actuator activation based on sensed user characteristics
US10551195B2 (en) * 2016-08-19 2020-02-04 Movea Portable device with improved sensor position change detection
US10041800B2 (en) 2016-09-23 2018-08-07 Qualcomm Incorporated Pedestrian sensor assistance in a mobile device during typical device motions
US11363970B2 (en) 2017-10-10 2022-06-21 Hunter Cronin Hand-held dexterity testing apparatus
CN110309062B (zh) * 2019-05-24 2024-05-10 平安银行股份有限公司 用例生成方法、装置、电子设备及存储介质
US20210192681A1 (en) * 2019-12-18 2021-06-24 Ati Technologies Ulc Frame reprojection for virtual reality and augmented reality
US10771616B1 (en) * 2020-01-08 2020-09-08 Motorola Mobility Llc Methods and systems for stowed state verification in an electronic device

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007309803A (ja) * 2006-05-18 2007-11-29 National Institute Of Advanced Industrial & Technology デッドレコニング装置
JP2010223829A (ja) * 2009-03-24 2010-10-07 Fujitsu Ltd 移動装置及びプログラム
US20120136573A1 (en) * 2010-11-25 2012-05-31 Texas Instruments Incorporated Attitude estimation for pedestrian navigation using low cost mems accelerometer in mobile applications, and processing methods, apparatus and systems
JP2012107992A (ja) * 2010-11-17 2012-06-07 Sony Corp 歩行状況検出装置、歩行状況検出方法及び歩行状況検出プログラム
JP2012242179A (ja) * 2011-05-17 2012-12-10 Sony Corp 進行方位算出装置、進行方位算出方法及び進行方位算出プログラム並びにナビゲーション装置
JP2013533481A (ja) * 2010-07-09 2013-08-22 サムスン エレクトロニクス カンパニー リミテッド 歩行者の歩幅を推定する方法及びそのための携帯端末
WO2014046419A1 (ko) * 2012-09-21 2014-03-27 한국과학기술연구원 보행자 모션 인식 기반 보행자 위치 추정 장치, 및 그 방법

Family Cites Families (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4007899B2 (ja) * 2002-11-07 2007-11-14 オリンパス株式会社 運動検出装置
US8462109B2 (en) 2007-01-05 2013-06-11 Invensense, Inc. Controlling and accessing content using motion processing on mobile devices
KR100892069B1 (ko) * 2007-08-16 2009-04-07 한국전자통신연구원 단말 이동 속도 기반 망 자원 예약 방법, 장치 및 시스템과이에 이용되는 이동 단말
US8078401B2 (en) 2007-09-18 2011-12-13 Honeywell International Inc. Method of personal navigation using stride vectoring
US8000721B2 (en) 2008-02-29 2011-08-16 Sony Ericsson Mobile Communications Ab Wireless communication terminals and methods that display relative direction and distance therebetween responsive to acceleration data
US20090259424A1 (en) 2008-03-06 2009-10-15 Texas Instruments Incorporated Parameter estimation for accelerometers, processes, circuits, devices and systems
KR101610690B1 (ko) 2009-05-28 2016-04-11 삼성전자주식회사 단말기 헤딩 정보를 이용한 보행자 항법 장치 및 방법
JP5402335B2 (ja) 2009-07-10 2014-01-29 アイシン・エィ・ダブリュ株式会社 信頼度評価装置、信頼度評価方法および信頼度評価プログラム
US8332180B2 (en) 2009-09-03 2012-12-11 Palo Alto Research Center Incorporated Determining user compass orientation from a portable device
US8374775B2 (en) 2009-11-05 2013-02-12 Apple Inc. Adaptive sensor-based activity classification
US8781737B2 (en) 2009-11-20 2014-07-15 Qualcomm Incorporated Spatial alignment determination for an inertial measurement unit (IMU)
US8612146B2 (en) 2010-02-15 2013-12-17 Texas Instruments Incorporated Accelerometer-aided gyroscope
US8886980B2 (en) 2010-03-29 2014-11-11 Qualcomm Incorporated Power efficient way of operating motion sensors
US8930136B2 (en) 2010-04-08 2015-01-06 Texas Instruments Incorporated Static heading detection in personal navigation device
US8768865B2 (en) 2011-01-19 2014-07-01 Qualcomm Incorporated Learning situations via pattern matching
US9366749B2 (en) 2011-04-15 2016-06-14 Qualcomm Incorporated Device position estimates from motion and ambient light classifiers
CN102184549B (zh) * 2011-04-29 2012-10-10 闫文闻 一种运动参数确定方法、装置和运动辅助设备
US20120296603A1 (en) 2011-05-16 2012-11-22 Qualcomm Incorporated Sensor orientation measurement with respect to pedestrian motion direction
JP5927776B2 (ja) 2011-05-20 2016-06-01 株式会社ソニー・インタラクティブエンタテインメント 携帯機器
US8914037B2 (en) 2011-08-11 2014-12-16 Qualcomm Incorporated Numerically stable computation of heading without a reference axis
US20130046505A1 (en) 2011-08-15 2013-02-21 Qualcomm Incorporated Methods and apparatuses for use in classifying a motion state of a mobile device
US8937554B2 (en) 2011-09-28 2015-01-20 Silverplus, Inc. Low power location-tracking device with combined short-range and wide-area wireless and location capabilities
US20130253880A1 (en) 2012-03-25 2013-09-26 Benjamin E. Joseph Managing Power Consumption of a Device with a Gyroscope
EP2657647A1 (en) 2012-04-23 2013-10-30 Deutsches Zentrum für Luft- und Raumfahrt e. V. Method for estimating the position and orientation using an inertial measurement unit fixed to a moving pedestrian
US10215587B2 (en) 2012-05-18 2019-02-26 Trx Systems, Inc. Method for step detection and gait direction estimation
WO2014016841A1 (en) 2012-07-27 2014-01-30 Neuner Tomer Intelligent state determination
WO2014039552A1 (en) 2012-09-04 2014-03-13 Sensor Platforms, Inc. System and method for estimating the direction of motion of an entity associated with a device
WO2014091583A1 (ja) * 2012-12-12 2014-06-19 富士通株式会社 加速度センサ出力処理プログラム,処理方法,処理装置及び歩行評価プログラム
US9544740B2 (en) * 2013-01-18 2017-01-10 Nokia Technologies Oy Method, apparatus and computer program product for orienting a smartphone display and estimating direction of travel of a pedestrian
US9423261B2 (en) 2013-02-19 2016-08-23 Here Global B.V. Path curve confidence factors
US9264862B2 (en) 2013-08-15 2016-02-16 Apple Inc. Determining exit from a vehicle
US10394303B2 (en) 2014-04-16 2019-08-27 Facebook, Inc. Location-based ranking of search results on online social networks
US20150316577A1 (en) 2014-05-02 2015-11-05 Qualcomm Incorporated Motion direction determination and application
US20150316579A1 (en) 2014-05-02 2015-11-05 Qualcomm Incorporated Motion direction determination and application
US10281484B2 (en) 2014-05-02 2019-05-07 Qualcomm Incorporated Motion direction determination and application
US9983224B2 (en) 2014-05-02 2018-05-29 Qualcomm Incorporated Motion direction determination and application

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007309803A (ja) * 2006-05-18 2007-11-29 National Institute Of Advanced Industrial & Technology デッドレコニング装置
JP2010223829A (ja) * 2009-03-24 2010-10-07 Fujitsu Ltd 移動装置及びプログラム
JP2013533481A (ja) * 2010-07-09 2013-08-22 サムスン エレクトロニクス カンパニー リミテッド 歩行者の歩幅を推定する方法及びそのための携帯端末
JP2012107992A (ja) * 2010-11-17 2012-06-07 Sony Corp 歩行状況検出装置、歩行状況検出方法及び歩行状況検出プログラム
US20120136573A1 (en) * 2010-11-25 2012-05-31 Texas Instruments Incorporated Attitude estimation for pedestrian navigation using low cost mems accelerometer in mobile applications, and processing methods, apparatus and systems
JP2012242179A (ja) * 2011-05-17 2012-12-10 Sony Corp 進行方位算出装置、進行方位算出方法及び進行方位算出プログラム並びにナビゲーション装置
WO2014046419A1 (ko) * 2012-09-21 2014-03-27 한국과학기술연구원 보행자 모션 인식 기반 보행자 위치 추정 장치, 및 그 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019530865A (ja) * 2016-09-23 2019-10-24 クゥアルコム・インコーポレイテッドQualcomm Incorporated モバイルデバイスにおける改善された歩行者モーションモデリングのためのユーザ固有の学習

Also Published As

Publication number Publication date
US20150316576A1 (en) 2015-11-05
EP3137970A1 (en) 2017-03-08
CN106462237B (zh) 2019-12-06
WO2015167696A1 (en) 2015-11-05
CN106462237A (zh) 2017-02-22
KR20160148550A (ko) 2016-12-26
US10281484B2 (en) 2019-05-07

Similar Documents

Publication Publication Date Title
JP2017516091A (ja) 動き方向の判定およびアプリケーション
JP2017516087A (ja) 動き方向の判定およびアプリケーション
US20150316579A1 (en) Motion direction determination and application
US9983224B2 (en) Motion direction determination and application
Alzantot et al. UPTIME: Ubiquitous pedestrian tracking using mobile phones
US9726498B2 (en) Combining monitoring sensor measurements and system signals to determine device context
EP2946167B1 (en) Method and apparatus for determination of misalignment between device and pedestrian
US10415975B2 (en) Motion tracking with reduced on-body sensors set
EP3314205B1 (en) Technologies for pedestrian dead reckoning
US10830606B2 (en) System and method for detecting non-meaningful motion
US10652696B2 (en) Method and apparatus for categorizing device use case for on foot motion using motion sensor data
CA2836104C (en) Method and apparatus for classifying multiple device states
US20160169703A1 (en) Method and System for Characterization Of On Foot Motion With Multiple Sensor Assemblies
US20160189534A1 (en) Wearable system and method for balancing recognition accuracy and power consumption
US10823555B2 (en) Trajectory estimation system
EP3047238A1 (en) Method and system for enhanced navigation with multiple sensors assemblies
JP2013042360A (ja) 情報処理装置、情報処理方法、及びプログラム
CN110036259A (zh) 一种姿态矩阵的计算方法及设备
US10812877B2 (en) System and method for calibration-lessly compensating bias of sensors for localization and tracking
Cavalcante et al. A pedometer-based system for real-time indoor tracking on mobile devices

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180223

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180223

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190507

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20191202