(57)【特許請求の範囲】
【請求項１】
1つまたは複数の動作検出デバイスから動作データを取得するステップと、
前記動作データに基づいてそれぞれの時間間隔の現在の動作状態を取得するために前記動作データをフィルタリングするステップであって、前記現在の動作状態が1つまたは複数の歩行者動作状態および1つまたは複数の車両動作状態を備え、前記1つまたは複数の歩行者動作状態が歩行状態を備え、前記1つまたは複数の車両動作状態が車両停止状態を備えるステップとを備え、
前記フィルタリングの間に、前記1つまたは複数の歩行者動作状態から前記1つまたは複数の車両動作状態への遷移が前記歩行状態から前記車両停止状態への遷移に制限され、また前記1つまたは複数の車両動作状態から前記1つまたは複数の歩行者動作状態への遷移が前記車両停止状態から前記歩行状態への遷移に制限される、
方法。
【請求項２】
前記それぞれの時間間隔の前記1つまたは複数の歩行者動作状態および前記1つまたは複数の車両動作状態の尤度を計算するステップをさらに備える、請求項1に記載の方法。
【請求項３】
前記尤度を計算するステップが、前記1つまたは複数の歩行者動作および前記1つまたは複数の車両動作状態を備えるステートマシンによる、前記それぞれの時間間隔の前記1つまたは複数の歩行者動作状態および前記1つまたは複数の車両動作状態の前記尤度を計算するステップを備える、請求項2に記載の方法。
【請求項４】
前記ステートマシンが、前記1つまた複数の歩行者動作状態および前記1つまたは複数の車両動作状態ごとに1つまたは複数のサブ状態を備える拡張されたステートマシンであり、前記尤度を計算するステップが、デバイス状態を異なる動作状態に遷移する前に、少なくとも部分的に前記デバイス状態について識別された動作状態の複数のサブ状態を通じて前記デバイス状態を進めることによって、前記尤度を計算するステップをさらに備える、請求項3に記載の方法。
【請求項５】
前記1つまたは複数の歩行者動作状態および車両動作状態の各々に関連付けられるべき前記複数のサブ状態の確率が、前記それぞれの動作状態で費やされると予想される時間に少なくとも部分的に基づく、請求項4に記載の方法。
【請求項６】
前記フィルタリングするステップが、フォワードバックワードアルゴリズムまたはビタビアルゴリズムのうちの少なくとも1つを使用して前記計算された尤度をフィルタリングするステップを備える、請求項2に記載の方法。
【請求項７】
前記尤度を計算するステップが、
Wi-Fi受信機、オーディオ入力デバイス、またはGPS受信機のうちの少なくとも1つからセンサデータを取得するステップと、
前記動作データおよび前記センサデータに基づいて、それぞれの時間間隔の前記1つまたは複数の歩行者動作状態および前記1つまたは複数の車両動作状態の前記尤度を計算するステップとを備える、
請求項2に記載の方法。
【請求項８】
前記動作データが加速度計データであり、前記1つまたは複数の動作検出デバイスが1つまたは複数の加速度計である、請求項1に記載の方法。
【請求項９】
前記1つまたは複数の加速度計以外のあらゆる慣性センサからのデータが前記動作データから省略される、請求項8に記載の方法。
【請求項１０】
前記フィルタリングするステップが、前記1つまたは複数の歩行者動作状態および前記1つまたは複数の車両動作状態を含む確率モデルに基づく、請求項8に記載の方法。
【請求項１１】
前記フィルタリングするステップが、
前記歩行状態から中間状態への第1の遷移、および前記中間状態から少なくとも1つの車両移動状態のうちの1つへの第2の遷移を識別するステップと、
前記中間状態を前記車両停止状態として分類するステップとを備える、
請求項1に記載の方法。
【請求項１２】
前記フィルタリングするステップが、
前記動作データに少なくとも部分的に基づいて、前記それぞれの時間間隔の前記動作状態を取得するステップを備える、
請求項1に記載の方法。
【請求項１３】
前記動作状態が、前記それぞれの時間間隔の最も可能性が高い動作状態のシーケンスを備える、請求項1に記載の方法。
【請求項１４】
前記動作状態が、前記それぞれの時間間隔のそれぞれの動作状態の推定された確率を備える、請求項1に記載の方法。
【請求項１５】
所与の時間間隔での2つ以上の最高動作状態確率を比較することによって、前記所与の時間間隔での動作状態に関連付けられる信頼性スコアを計算するステップをさらに備える、請求項14に記載の方法。
【請求項１６】
前記信頼性スコアを計算するステップが、前記所与の時間間隔での最高動作状態確率と2番目に高い動作状態確率との間の差異を識別するステップをさらに備え、
前記方法が、
前記差異と信頼性しきい値とを比較するステップと、
前記差異が前記信頼性しきい値未満の場合、前記所与の時間間隔の前記動作状態に代わってデフォルト状態または不明状態を出力するステップとをさらに備える、
請求項15に記載の方法。
【請求項１７】
動作データを生成するように構成された1つまたは複数の動作検出器と、
1つまたは複数の歩行者動作状態および1つまた複数の車両動作状態を備えるステートマシンモジュールであって、前記1つまたは複数の歩行者動作状態が歩行状態を備え、前記1つまたは複数の車両動作状態が車両停止状態および少なくとも1つの車両移動状態を備えるステートマシンモジュールと、
前記ステートマシンモジュールに通信可能に結合され、前記動作データに基づいてそれぞれの時間間隔の現在の動作状態を取得するために前記動作データをフィルタリングするように構成されたフィルタリングモジュールとを備え、
前記ステートマシンモジュール内で、前記1つまたは複数の歩行者動作状態から前記1つまたは複数の車両動作状態への遷移が前記歩行状態から前記車両停止状態への遷移に制限され、また前記1つまたは複数の車両動作状態から前記1つまたは複数の歩行者動作状態への遷移が前記車両停止状態から前記歩行状態への遷移に制限される、
モバイルデバイス。
【請求項１８】
前記1つまたは複数の動作検出器に通信可能に結合された尤度計算モジュールをさらに備え、前記ステートマシンモジュールおよび前記フィルタリングモジュールが、前記それぞれの時間間隔の前記1つまたは複数の歩行者動作状態および前記1つまたは複数の車両動作状態の尤度を計算するように構成される、請求項17に記載のモバイルデバイス。
【請求項１９】
前記ステートマシンが、前記1つまた複数の歩行者動作状態および前記1つまたは複数の車両動作状態ごとに1つまたは複数のサブ状態を備える拡張されたステートマシンであり、前記尤度計算モジュールが、デバイス状態を異なる動作状態に遷移する前に、少なくとも部分的に前記デバイス状態について識別された動作状態の複数のサブ状態を通じて前記デバイス状態を進めることによって、前記尤度を計算するようにさらに構成される、請求項18に記載のモバイルデバイス。
【請求項２０】
前記1つまたは複数の歩行者動作状態および車両動作状態の各々に関連付けられるべき前記複数のサブ状態の確率が、前記それぞれの動作状態で費やされると予想される時間に少なくとも部分的に基づく、請求項19に記載のモバイルデバイス。
【請求項２１】
前記フィルタリングモジュールが、フォワードバックワードアルゴリズムまたはビタビアルゴリズムのうちの少なくとも1つを使用して前記計算された尤度をフィルタリングするようにさらに構成される、請求項18に記載のモバイルデバイス。
【請求項２２】
前記尤度計算モジュールが、
Wi-Fi受信機、オーディオ入力デバイス、またはGPS受信機のうちの少なくとも1つからセンサデータを取得して、
前記動作データおよび前記センサデータに基づいて、それぞれの時間間隔の前記1つまたは複数の歩行者動作状態および前記1つまたは複数の車両動作状態の前記尤度を計算するようにさらに構成される、
請求項18に記載のモバイルデバイス。
【請求項２３】
前記1つまたは複数の動作検出器が1つまたは複数の加速度計であり、前記動作データが加速度計データである、請求項17に記載のモバイルデバイス。
【請求項２４】
動作を検出するための1つまたは複数の手段から動作データを取得するための手段と、
前記動作データに基づいてそれぞれの時間間隔の現在の動作状態を取得するために前記動作データをフィルタリングするための手段であって、前記現在の動作状態が1つまたは複数の歩行者動作状態および1つまたは複数の車両動作状態を備え、前記1つまたは複数の歩行者動作状態が歩行状態を備え、前記1つまたは複数の車両動作状態が車両停止状態を備える手段とを備え、
フィルタリングするための前記手段内で、前記1つまたは複数の歩行者動作状態から前記1つまたは複数の車両動作状態への遷移が前記歩行状態から前記車両停止状態への遷移に制限され、また前記1つまたは複数の車両動作状態から前記1つまたは複数の歩行者動作状態への遷移が前記車両停止状態から前記歩行状態への遷移に制限される、
モバイルデバイス。
【請求項２５】
前記それぞれの時間間隔の前記1つまたは複数の歩行者動作状態および前記1つまたは複数の車両動作状態の尤度を計算するための手段をさらに備える、請求項24に記載のモバイルデバイス。
【請求項２６】
前記フィルタリングするための手段が、フォワードバックワードアルゴリズムまたはビタビアルゴリズムのうちの少なくとも1つを使用して前記計算された尤度をフィルタリングするための手段を備える、請求項25に記載のモバイルデバイス。
【請求項２７】
前記尤度を計算するステップが、
Wi-Fi受信機、オーディオ入力デバイス、またはGPS受信機のうちの少なくとも1つからセンサデータを取得するための手段と、
前記動作データおよび前記センサデータに基づいて、それぞれの時間間隔の前記1つまたは複数の歩行者動作状態および前記1つまたは複数の車両動作状態の前記尤度を計算するための手段とをさらに備える、
請求項25に記載のモバイルデバイス。
【請求項２８】
前記動作データが加速度計データであり、動作検出のための前記1つまたは複数の手段が1つまたは複数の加速度計を備える、請求項24に記載のモバイルデバイス。
【請求項２９】
プロセッサに、
1つまたは複数の動作検出デバイスから動作データを取得させて、
前記動作データに基づいて、それぞれの時間間隔の現在の動作状態であって、1つまたは複数の歩行者動作状態および1つまたは複数の車両動作状態を備え、前記1つまたは複数の歩行者動作状態が歩行状態を備え、前記1つまたは複数の車両動作状態が車両停止状態を備える前記現在の動作状態を取得するために、前記動作データをフィルタリングさせるように構成されたプロセッサ可読命令を備え、
前記フィルタリングの間に、前記1つまたは複数の歩行者動作状態から前記1つまたは複数の車両動作状態への遷移が前記歩行状態から前記車両停止状態への遷移に制限され、また前記1つまたは複数の車両動作状態から前記1つまたは複数の歩行者動作状態への遷移が前記車両停止状態から前記歩行状態への遷移に制限される、
非一時的プロセッサ可読媒体。
【請求項３０】
前記命令が、前記プロセッサに、前記それぞれの時間間隔の前記1つまたは複数の歩行者動作状態および前記1つまたは複数の車両動作状態の尤度を計算させるようにさらに構成される、請求項29に記載のプロセッサ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
モバイルデバイスが車両に乗っていることの検出に関する。
【背景技術】
【０００２】
モバイルデバイスは、今日の社会で普及している。たとえば、人々は、セルラー式電話、スマートフォン、携帯情報端末、ラップトップコンピュータ、ページャ、タブレットコンピュータ等を使用して、無数の場所からデータをワイヤレスに送受信したり、他の操作を実行したりする。さらに、モバイルデバイス技術の進歩によって今日のデバイスの汎用性が著しく増加しており、従来は複数の装置、またはより大きな非ポータブル機器のいずれかを必要としていた広い範囲のタスクを、ユーザが単一のポータブルデバイスから実行することを可能にしている。
【０００３】
モバイルデバイスのユーザが、車、バス、トラック等の移動している車両に乗っていることを堅牢に検出可能であることは、強化された機能のために様々な用途で活用され得る。したがって、モバイルデバイスが車両に乗っていることを検出するためのシステム、方法、およびデバイスが望まれる。
【発明の概要】
【課題を解決するための手段】
【０００４】
本発明の実施形態は、本明細書で提供される開示によって、これらの上述の問題および他の問題を解決し得る。
【０００５】
本明細書のシステムおよび方法によって、モバイルデバイスは、少なくとも動作データに基づいて、ユーザが車両と関連して移動していることを検出できるようになる。いくつかの実施形態では、加速度計データが使用される。動作データは、モバイルデバイスが車両内または車両上に配置されているかどうかを決定するために、車両動作に関する様々な監視と組み合わせて活用される。たとえば、車両動作状態に入る前に、ユーザがまず歩行状態にあること(たとえば、車、バス等に向かって歩いていること、およびその中に入ること)が決定され得る。同様に、車両動作状態から出た後、ユーザは歩行状態に再び入る(たとえば、車、バスから降りた後、ユーザが再び歩き始める)。さらに、ユーザが歩行状態にある時、加速度計信号は、車両動作状態で見られるどの加速度計信号とも異なって見えることが決定され得る。
【０００６】
上記の監視を取得するステートマシンを作製することができ、またステートマシンの周りに隠れマルコフモデル(HMM)を構築して、車両移動を検出する精度を上げることができる。ステートマシンおよびHMM構築のための様々な技術が、以下でさらに詳細に提供される。さらに、そのようなステートマシンおよびHMMを使用するためのシステムおよび方法が以下で提供される。
【図面の簡単な説明】
【０００７】
【図１】いくつかの実施形態による、モバイルデバイス動作状態の分類のためのシステムのブロック図である。
【図２Ａ】いくつかの実施形態による、例示的デバイス位置分類のブロック図である。
【図２Ｂ】いくつかの実施形態による、例示的デバイス位置分類のブロック図である。
【図３】いくつかの実施形態による、例示的デバイス位置分類のブロック図である。
【図４】いくつかの実施形態による、動作状態の分類のための例示的状態図である。
【図５】いくつかの実施形態による、動作状態の分類のための例示的状態図である。
【図６】いくつかの実施形態による、動作状態の分類のための例示的な拡張されたステートマシンを示す図である。
【図７】いくつかの実施形態による、動作状態の分類のための例示的な拡張されたステートマシンを示す図である。
【図８】いくつかの実施形態による、別の例示的デバイス位置分類のブロック図である。
【図９】いくつかの実施形態のコンピューティングデバイスの例示的コンポーネントを示す図である。
【図１０】いくつかの実施形態による、モバイルデバイスの動作状態を分類する処理を示すブロック流れ図である。
【発明を実施するための形態】
【０００８】
「尤度(likelihood)」という用語は、イベントが発生する確率または可能性を指すことができ、また確率値、割合、またはパーセンテージで表され得る。本明細書で使用される「尤度」という用語は、数学で使用される、また統計分析、ステートマシンモデリング、および実装分野の当業者によって使用される、「確率」の概念を含み得る。
【０００９】
「現在の状態(present state)」または「現在の動作状態(present motion state)」という用語は、たとえばステートマシンが、歩行状態、走行状態、自動車停止(autoStop)状態、自動車移動(autoMove)状態等の一連の動作状態を列挙する際の、複数の状態の中の現在の状態を指すことができる。したがって、異なる時点で、現在の動作状態が変わってもよく、同じままでもよい。
【００１０】
「判定(decision)」または「分類判定(classifier decision)」という用語は、複数の動作状態を利用して、装置、たとえばモバイルデバイスの現在の状態または現在の動作状態は何かという判定を指すことができる。
【００１１】
本明細書で、たとえば隠れマルコフモデル(HMM)および関連ステートマシンを使用してモバイルデバイスが車両(たとえば、車、バス、電車等)内に配置されていることを決定するために、モバイルデバイスの動作および/または位置状態を分類するための技術が説明する。場合によっては、この検出は、デバイスに関連付けられる瞬間速度、座標(たとえば、緯度/経度)追跡などに関連するデータを活用することによって、全地球測位システム(GPS)または同等物などの、衛星測位システム(SPS)を使用して行われ得る。しかしながら、SPS受信機を実行することに関連する電流流出(current drain)は、車両動作を検出するためにその使用が制止される場合がある。さらに、SPSベースの方法は、場合によってはエラーを起こしやすい。たとえば、ユーザが低速で渋滞の中を移動している場合、歩行している、走行している、自転車に乗っている、スケートボードをしている、ローラーブレードをしている、スキーをしていること等と、車両輸送していることとを区別するためには、SPS情報のみでは不十分な場合がある。さらに、SPSベースの検出を実行することができない場合がいくつかある。たとえば、多くのデバイスはSPS受信機がないことがあり、またSPS受信機を含むデバイスでは、ユーザが衛星測位を無効にした場合、衛星測位精度および/または受信状態が良くないビルの谷間などの環境にある場合、トンネルなどの覆われたエリアを運転している場合、または正確な衛星測位位置を取得することができないバスなどの車両に乗って移動している場合、ならびに/あるいはその他の場合、受信機が機能しない場合がある。したがって、車両動作を検出するために、SPSに加えて、またはその代わりに、他のセンサを使用することが望ましい場合がある。
【００１２】
本明細書の実施形態は、自動車だけではなく、あらゆる種類の車両または運動状態に実装され得る。本明細書で説明される自動車は、実施形態の一例にすぎない。たとえば、実施形態は、自転車上の運動、乗馬、ボートの運転等の検出も含み得る。加速度を検出するための正確なデータおよび方法は、自動車と比較して異なるように実装され得るが、本明細書で説明される原理は同じままでよい。
【００１３】
いくつかの実施形態では、モバイルデバイスが、そのモバイルデバイスに関連付けられる1つまたは複数のセンサからのデータに基づいて停止されたことを決定し得る。これらのセンサは、加速度計、GPS受信機、またはこれらの開示において言及された他のタイプのデータを含み得る。次いで、実施形態は、モバイルデバイスの以前の動作状態に少なくとも部分的に基づいて、モバイルデバイスが車両動作状態で停止されたか、または歩行者動作状態で停止されたかを明確にする(disambiguate)ことができる。いくつかの実施形態では、明確化は、モバイルデバイスの直前の状態が車両動作状態であった場合、モバイルデバイスが車両動作状態であると決定することを含み得る。明確化は、隠れマルコフモデルからの確率的推論、または他の類似の確率論的モデルに基づき得る。次いで、実施形態は、明確化に基づいてモバイルデバイスのアプリケーションを操作し得る。
【００１４】
たとえばモバイルデバイスが車両に乗っているかどうかを決定するために、モバイルデバイスの動作および/または位置状態を分類するために使用され得る1つの追加センサは、加速度計である。加速度計信号は車両動作を検出する際に使用され得るが、瞬間的な加速度情報に基づいてこれを行うことは困難な場合がある。たとえば、ユーザが一定の速度でスムーズな直線道路を運転しているか、信号で停止している場合、加速度計信号は、ユーザが固定された椅子や車両の外の他の場所に座っている場合と極めてよく似ているように見える場合がある。
【００１５】
いくつかの実施形態では、1つまたは複数のセンサからデータを受信し得る。データはモバイルデバイスで受信されてもよく、モバイルデバイスにデータを提供してもよい。次いで、実施形態は、受信したデータに基づいて、モバイルデバイスの動作状態のシーケンスを決定し得る。次いで、実施形態は、決定されたシーケンスに少なくとも部分的に基づいて、モバイルデバイスが車両の状態にあると判定し得る。いくつかの実施形態では、車両の状態は停止した状態を備える。いくつかの実施形態では、モバイルデバイスが車両停止状態であると決定するステップは、複数の状態から車両停止状態を選択するステップを含むことができ、車両停止状態は、車両停止状態の直前の状態が、複数の状態のあらかじめ定められたサブセットである場合のみ選択される。他の実施形態では、モバイルデバイスが車両の状態にあると判定するステップは、決定されたシーケンスの間にモバイルデバイスが車両動作状態に入ったと決定するステップを含むことができ、車両動作状態に移行ことは、移行する直前の状態が歩行状態を備える場合に限られる。いくつかの実施形態では、車両停止状態は、直前の状態が、モバイルデバイスが移動している車両の状態である場合に選択され得る。いくつかの実施形態では、1つまたは複数のセンサは加速度計だけを備え得る。
【００１６】
図1は、本明細書で説明される動作状態分類のためのシステムを示している。モバイルデバイスに関連付けられる1つまたは複数の動作検出器12が、未加工の動作データを動作状態分類モジュール18に提供する。動作検出器は、動作を検出するための任意の適切なデバイスでよく、任意のタイプの動作データを提供し得る。いくつかの実施形態では、1つまたは複数の動作検出器12は、加速度計データを提供する1つまたは複数の加速度計である。いくつかの実施形態では、光センサ、赤外線センサ、超音波センサ、および同等物が、動作検出器として、または別のセンサの動作検出を強化するために使用され得る。いくつかの実施形態は、1つまたは複数のジャイロに取り付けられたカメラに実装することができ、カメラは加速度計データまたは他の種類の動作データを介して動作を検出するように適合される。いくつかの実施形態では、以下で説明する方位センサが動作検出器として使用され得る。方位センサは、加速度計および/またはジャイロを含むことができ、実施形態が三次元で適切に自身の位置を確認すること、ならびに方位および位置の変化を検出することを可能にし得る。いくつかの実施形態では、カメラまたは画像入力が動作検出器として使用され得る。たとえば、ビデオ、一連の画像、またはカメラから得られる他の入力が、カメラに結合されたデバイスの動作を決定するために使用され得る。
【００１７】
動作状態分類モジュール18は、関連する動作ステートマシン16と組み合わせて動作データを利用して、モバイルデバイスの動作状態(たとえば、歩行、起立、着席、自動車停止、自動車移動、等)を推測する。動作状態分類モジュール18は、推定された状態を定期的な間隔(たとえば、1秒ごと等)で、連続的に、および/または他の任意の方法で出力するように構成され得る。さらに、動作状態分類モジュール18は、離散した状態、および/またはそれぞれの可能な状態の確率のセットを出力し得る。
【００１８】
さらに、本明細書で説明した様々な例は、加速度計データだけに基づいてモバイルデバイスの状態を分類するシステムに関連するが、動作状態分類モジュール18は、GPS受信機、Wi-Fi受信機、オーディオ入力デバイス(たとえば、マイク等)、または同等物などの1つまたは複数の追加デバイスセンサ14からのデータも任意で利用し得る。たとえば、GPSおよび/またはWi-Fiデータは、位置計算にさらなる精度を提供するために加速度計データと組み合わせて利用され得る。さらに、または代替で、動作状態分類モジュール18は、デバイスの動作状態を推定する際に因子として利用され得る1つまたは複数の動作状態に関連付けられるオーディオシグニチャを識別するようにトレーニングされ得る。この方法で実行されるオーディオ認識は、オーディオシグニチャのグローバルなセット、またはからデバイスによって取得されたオーディオ入力から生成されたオーディオパターンの特定のセットに基づき得る。したがって、デバイスは、1つまたは複数の環境におけるオーディオパターンのために一意にトレーニングされ得る。いくつかの実施形態では、動作状態分類モジュール18は、たとえば光、超音波、またはマイクロ波シグニチャなどの、他のシグニチャを識別するようにトレーニングされ得る。これらの媒体における変化の検出は、デバイスの動作状態を推定する際の因子としても利用され得る。
【００１９】
動作ステートマシン16は、モバイルデバイスの可能な状態(たとえば、歩行、起立、着席、自動車停止、自動車移動、等)の定義を、動作状態分類モジュール18に提供し得る。可能な状態のさらなる例は、図4、図5、図6、および図7の説明を含み得る。次いで、分類モジュール18は、動作検出器12からのデータ、およびセンサ14からの任意のさらなるデータに基づいて、現在の状態について追跡し得る。また、モジュール18は、ステートマシン16によって提供される遷移および状態のタイプを使用して、動作検出器12および任意の追加センサ14からの動作データに基づいて、状態の変化を決定し得る。
【００２０】
動作状態分類モジュール18は、行動認識のためのベイズ分類器を使用して、モバイルデバイスに関連付けられる運転動作状態を推測し得る。たとえば、図2Aに示される動作状態デバイス位置(MSDP)分類器は、モバイルデバイスに対応する状態分類判定、または現在の状態を取得するために利用され得る。図2Aに示されるように、特徴抽出モジュール202を使用して加速度計データから抽出される特徴は、様々なデバイス状態についてのモジュール204を使用して尤度のセットを計算するために、統計モデル206のセットを使用して処理される。モジュール202で抽出された例示的特徴は、経時的な加速度値、標準偏差値(sa)、加速度計データの標準値(mean of normal to normal)と平均値(mean values)との比率(rm)、ピッチ値(pitch)、回転値(phi)等を含み得る。モジュール206に格納された例示的統計モデルは、各動作状態とデバイス位置との組合せの結合ガウスマルコフモデル(GMM)、または当業者にとって適切な他のタイプの確率的マルコフモデルを含み得る。
【００２１】
これらのモデルは、モジュール204で、ユーザがどの状態にあるかの確率を反映する尤度のセットを計算するために、特徴抽出モジュールからのデータを適用し得る。尤度の出力セットは、可能なデバイス状態の各々を包含する確率のベクトルでよく、個々の確率合計は1である。さらに、または代替で、尤度の出力セットは、所与の期間で最も可能性の高い状態に対応する離散値を含み得る。次いで、尤度が、決定されたデバイスの状態を安定させるためにレイテンシ因子Lを利用するフィルタリングブロック208に渡される。たとえば、フィルタリングブロック208は、所与の時間に、過去のL秒にわたって最も頻繁に見られる状態に状態を設定し得る。さらに、または代替で、ベクトル尤度データを、状態および/または状態尤度のフィルタリングされたセットに処理するために、加重平均および/または他のアルゴリズムを使用することができる。次いで、フィルタリングされた状態が、信頼性が低い判定を除去する信頼性テストブロック210に提供されて、その結果、デバイスの状態が、フィルタリングブロック208によって識別された最も可能性の高い状態として出力される。信頼度が低いために判定が除去された場合、分類器は、デフォルト状態、「不明」状態、および/または他の任意の適切な状態を出力し得る。ブロック210で各状態の信頼性を確認した後、実施形態は、ユーザがどの状態であり得るかを出力し得る。例は、歩行、走行、着席、起立、無為(fiddle)、休息、または運転動作状態を含み得る。
【００２２】
さらに、または代替で、図2Aに示される分類器、図2Bに示される分類器が利用されてよく、計算された状態尤度を処理するために隠れマルコフモデル(HMM)アルゴリズムが利用される。図2Bによる実施形態は、それぞれ図2Aのモジュール202、206、および204と同じまたは同様に機能し得る、特徴抽出モジュール252、統計モデルモジュール256、および計算尤度モジュール254を利用し得る。いくつかの実施形態では、これらのモジュールは、データがHMMアルゴリズムおよび/またはモジュールに関連して抽出されるという点で、図2Aで説明したものとは異なるように機能し得る。たとえば、ブロック254で計算された尤度は、HMMアルゴリズムおよび/またはモジュールで使用される放出確率でよい。他の実施形態では、ブロック254で、尤度を計算するためにサポートベクトル機械(SVM)が使用され得る。SVM分類器は硬判定(たとえば、歩行しているかいないかのいずれか、運転しているかいないかのいずれか、等)を出力し得るが、軟判定(たとえば、尤度値)を出力するよう修正され得る。他の変形形態は、加速度計から受信した大部分またはすべてのタイプのデータを抽出する特徴抽出モジュール252を含み得るので、特徴抽出モジュール252は、後のモジュールが考慮できるように最大量のデータを伝えながら、最小限のフィルタリング操作を実行する。他のタイプのモデル、ステートマシン、または分類器も使用され得る。たとえば、HMM、GMM等が、ポアソン隠れマルコフモデル、隠れベルヌーイモデル、および当業者には容易に明らかな他の確率モデルなどの他の技術/モジュールと置換され得る。
【００２３】
ブロック254の出力は、HMMアルゴリズムブロック258で使用され得る。利用され得るHMMアルゴリズムは、これに限定されないが、ビタビアルゴリズム(たとえば、最尤(ML)シーケンス推定)、フォワードバックワードチェイニング(たとえば、ML状態推定)等を含む。一実装形態では、離散した状態が入力としてHMMアルゴリズムまたはモジュールに渡された場合、HMMアルゴリズムまたはモジュールは、システムノイズを推定して、推定されたノイズに基づいて状態入力を処理し得る。テスト信頼性ブロック260で、ブロック210について説明したように、信頼性チェックに失敗した状態を除去するための同様のチェックが利用され得る。相違点は、図2Aに示される他の種類の統計モデルとは対照的に、HMMアルゴリズムまたはモジュールに基づいて結論を評価するステップを含み得る。どの状態が高い信頼度を有するかを確認した後、残りの出力がHMM判定として伝えられ得る。
【００２４】
図3を参照すると、いくつかの実施形態による、別の例示的分類器が示されている。抽出特徴ベクトルブロック302、計算尤度ブロック304、動作状態モデル306、および信頼性テストおよび出力ブロック314は、図2Aおよび図2Bのそれぞれのブロックと同じでもよく、類似していてもよい。ブロック308は、計算された尤度304、およびブロック312の動作状態の以前の確率分布を考慮して、少なくとも1つの制限された遷移モデル310を使用して、動作状態の新しい確率分布を計算し得る。ブロック310における制限された遷移モデルの例は図4で説明されるものを含むことができ、以下でさらに説明する。この例では、実施形態は、新しいデータが加速度計から収集されるときに、確率のセットを反復的に更新し得る。
【００２５】
上記の図2A、図2B、および図3に示される分類器によって実行される分類技術、ならびに本明細書で説明される他の分類技術は、リアルタイムで実行されてもよく、後で実行するためにデータが保存されてもよい。さらに、分類器は、応答性と精度とのバランスを取るために、レイテンシ因子Lを設定し得る。たとえば、Lの大きい値は精度を上げるが、より小さい値のLは分類速度および応答性を上げる。たとえば、無限のプロセッサと同等にLを設定すると、いくつかの実施形態では最高の精度が得られ得る。後で実行するためにデータが保存されると、Lは所望の精度を実現するために調整され得る。したがって、データはリアルタイムで処理されてもよく、後で分析するために保存されてもよく、同時処理と後処理の組合せを使用して分析されてもよい。
【００２６】
上述のように、ユーザが車両に乗っていることを検出するために、以下の監視が使用され得る。第1に、車両動作状態に入る前に、ユーザがまず歩行状態にある(たとえば、車、バス等に向かって歩き、およびその中に入る)ことが監視され得る。同様に、車両動作状態から出た後、ユーザは歩行状態に再び入る(たとえば、車、バス等から降車した後、ユーザは再び歩く)。第2に、ユーザが歩行状態にある時に、加速度計信号は、車両動作状態で見られるどの信号とも著しく異なって見える。
【００２７】
したがって、上記の監視を取得するステートマシンを利用することができ、車両動作を検出する精度を上げるために、その周りにHMMが構築され得る。HMMは下位レベル分類器の上に常駐し、その各時刻において、t=1、2、...であり、下位レベルの動作状態ωiについて尤度値p(x(t)|ωi)を出力する。たとえば、ω1=歩行、ω2=走行、ω3=着席、ω4=起立、ω5=無為、ω6=休息、ω7=自動車停止、ω8=自動車移動である。各下位レベルの動作状態はそれに関連付けられるモデルp(・|ωi)を有し、トレーニングデータから生成され得る。HMMが、状態が自動車停止、または自動車移動のいずれかであることを検出すると、ユーザが上位レベルの自動車(車両動作)状態であると結論付ける。
【００２８】
モデルの自動車停止状態は、ユーザが、駐車中または固定状態のいずれかの、車、バス等に座っている時のトレーニング加速度計データから作成され得る。同様に、自動車移動は、ユーザが車、バス等で移動するときに収集された加速度計データからトレーニングされ得る。あるいは、自動車停止のモデルは、着席のモデルから適合され得る。
【００２９】
自動車停止状態ならびに自動車移動状態のトレーニングデータは、たとえば、車両に乗っているユーザについての加速度計信号と通常のGPS位置(たとえば、1秒につき1つ)の両方を記録することによって収集することができ、次いでGPS位置を使用して、時刻ごとにグラウンドトゥルース(ground truth)が自動車停止か、あるいは自動車移動かを決定し得る。別の例として、モバイルデバイスのユーザは、記録された加速度計信号に関連付けるべき状態を手動で選択し得る。例示的トレーニング方法は、特定のタイプの状態、たとえば、自動車停止、自動車移動、歩行、走行等に関連付けられるべき加速度計信号のデータベースを較正するステップ、および、次いで、データベースを含むモバイルデバイスを利用しているユーザにデータベースを提供するステップを含み得る。別の例は、ユーザが実際にどの状態にあるかを指定することによって、ユーザが実施形態を手動でトレーニングする含むことができ、実施形態はそれらの状態の間に受信されている加速度計データのタイプに留意し得る。他の例は、あらかじめ較正されたデータベースに行われている手動較正を含むこれらの2つの例示的方法のいくつかの組合せを含み得る。他のタイプのトレーニング方法がもちろん可能であり、実施形態はそれに限定されない。
【００３０】
本明細書で説明される、動作状態分類のために利用されるモデルに関して、モデルは様々な方法で決定され得る。たとえば、モデルはたとえばトレーニングまたは監視によって、モバイルデバイスで決定され得る。さらに、あるいは代替で、モデルは外部で決定されて、モバイルデバイスにロードされ得る。たとえば、モデルはプロセッサ可読記憶媒体によってデバイスに提供されてもよく、ネットワークを介して受信されてもよく(たとえば、関連するアプリケーションをダウンロードすることによって)、事前に作成されてデバイスにプリインストールされてもよい。
【００３１】
いくつかの実施形態による例示的ステートマシンが図4に示されている。図4の例示的ステートマシンは、状態の数が有限であり、すべての状態が知られており、各状態間の遷移も明らかに定義されるという点で、制限的遷移モデルと考えられ得る。この例では、8つの状態が示されており、6つの状態は歩行者の非自動車状態(走行状態402、起立状態404、休息状態406、無為状態408、着席状態410、および歩行状態412)であり、2つの状態418は自動車(自動車停止状態414、ならびに自動車移動状態416)である。非自動車状態の中では、同じ状態に戻ることを含む任意の遷移が許可されるが、自動車状態418の中では、許可される唯一の遷移は、自動車移動-自動車停止、ならびに自動車停止-歩行である。したがって、図4に示される例では、自動車のより上位レベルの状態に入ることよりも歩行状態が常に先行し、常に自動車のより上位のレベルの状態から出ることにすぐに続く。
【００３２】
いくつかの実施形態のHMMは、以前の状態を思い出すことによって、着席、ならびに自動車停止状態の明確化を容易にし得る。したがって、ユーザが運転していて信号で停止する場合、以前の状態が自動車移動であり、自動車移動から着席に遷移することは不可能であるので、HMMは着席ではなく自動車停止を報告する。同様に、ユーザが車両から出ると、HMMは自動車停止→歩行、続いて着席に続き得るシーケンスを報告する。
【００３３】
図4のステートマシンの遷移確率行列は、様々な方法で表され得る。たとえば、状態ごとの自己遷移確率を定数として表すことができ、実現可能な遷移の間で均一に広がる異なる状態に遷移する確率を有する。別の例として、遷移確率行列は、たとえば各状態の例(たとえば1秒の長さ等)をローカルまたはリモートデータベースに格納して、可能性の高い状態を決定するために加速度計信号と格納されたデータベースサンプルとを比較することによって、トレーニングデータに基づき得る。図4に準拠する、異なるパラメータ化を有する他の遷移確率行列も可能である。
【００３４】
いくつかの実施形態による、図4のステートマシンに使用され得る遷移行列の例が以下のTable 1(表1)に示されている。
【００３５】
【表１】
0005774228.tif 000002
【００３６】
上記のTable 1(表1)に示されるように、一般的に活動が長期間持続するため(たとえば、1秒より長い)、自己遷移確率の方がより高い。さらに、自動車状態から歩行者動作状態へのすべての遷移確率は、自動車移動状態に入る唯一の方法は歩行から自動車停止への遷移によるものであり、自動車移動状態を出る唯一の方法は自動車停止から歩行への遷移によるものなので、歩行と自動車停止との間の遷移以外は0である。さらに、Table 1(表1)は、分類エラーにつながる可能性がある迅速な状態の揺れを阻止するために、自己遷移確率が比較的高い値に設定されることを示している。使用される特定の確率は、たとえば、所与の状態内の予想される時間に基づき得る。たとえば、自動車移動状態は、ユーザが長時間にわたって自動車移動状態のままであることが予想されるので、Table 1(表1)内で最高の自己遷移確率を与えられる。
【００３７】
図4のステートマシンの変形も使用され得る。たとえば、図5は、それぞれ自動車加速/ブレーキ(autoAccel/Brake)状態516、ならびに自動車走行(autoCruise)状態518における、加速/ブレーキと走行を区別する変形ステートマシンを示している。走行状態502、起立状態504、休息状態506、無為状態508、着席状態510、および歩行状態512、ならびに自動車停止状態514を含む、図示される他の状態は図4における状態と類似してよい。図5に示されるように、自動車状態520と他の状態との間の制限は、図4について上記で説明した制限と同様に強化され得る。もちろん、図示されたすべての状態が利用される必要も、またはすべての実施形態に存在する必要もなく、図示された状態は単なる例にすぎない。さらに、図示されていないより多くの状態またはサブ状態があってよく、実施形態はそれに限定されない。たとえば、実施形態はユーザが歩行者として動作していることを表すための単一の状態だけを含み、次いで1つまたは複数の車両状態を含み得る。別の例では、歩行者動作と車両動作との間に制限/ゲートウェイがあってよい。
【００３８】
いくつかの実施形態によるHMMベースの運転検出器の性能は、拡張されたステートマシンの使用を通じてさらに向上され得る。拡張されたステートマシンは、1つまたは複数の既存の状態を、システムがその状態を出る前に通過しなければならない連続するサブ状態のセットに分ける。これは、状態の持続時間の分布(遷移する前の状態で費やされる時間量)を再形成することによって、システムに粘着性を追加する。たとえば、たとえ状態遷移に対する重いバイアスが存在する下でも、モバイルデバイスの状態は、依然として異なる状態の間で揺れる場合がある。したがって、拡張されたステートマシンは、それぞれが遷移のための独自のルールを有する、各個々の状態内のいくつかの(たとえば、2、3、5、等)のサブ状態を提供する。拡張されたステートマシンの例を、図6および図7に示す。これらの図では、各オリジナル状態iがNiサブ状態に分けられる。これは、HMMに、状態を変更する前に、いくつかの中間のサブ状態遷移を通過することを強制し、急速な変動を低減または排除する正味の影響を及ぼす。
【００３９】
図6〜図7に示されるように、それぞれの列は単一の状態を表す。たとえば、図6を参照すると、列602は走行状態402または502を表すことができ、列604は歩行状態412または512を表すことができ、列606は着席状態410または510を表すことができる。さらに図示されるように、ある状態から別の状態への遷移は、所与の状態の最後のサブ状態内でのみ発生し得る。したがって、ある状態から別の状態に移動するには、状態遷移は1行内にN回示されなければならず、誤検出の確率を低減する。他のサブ状態構成も使用され得る。
【００４０】
依然として図6を参照すると、この例では、走行状態402または502を表す列602は、少なくとも3つのサブ状態を有し得る。各サブ状態は、一連の減速を表すことができ、ユーザが走行状態から別の状態、たとえば歩行状態、着席等に遷移していることを実施形態に通知し得る。列602の少なくとも3つのサブ状態に表される一連の減速は、ユーザが、歩行または停止と言える程度まで速度を落としているのではなく、走行中に速度を落としているにすぎないのかどうかを決定するために有用であり得る。同様に、歩行状態の列604および着席状態の列606が一連のサブ状態にサブ分割されてよく、各サブ状態は一連の加速測定値、またはその状態から別の状態への遷移を示す値を反映する。
【００４１】
図7を参照すると、図示されるように状態遷移702、704、および706はサブ状態遷移を含むことができ、また同じ状態のサブ状態の遷移の開始に遷移して戻る機能を含むことができる。サブ状態の遷移の始めに遷移することは、図4および図5に示される、それら自体に遷移して戻るための状態の機能と一致し得る。他の実施形態では、たとえば図6のように、同じ状態に遷移して戻る機能は、単に各サブ状態がそれ自体に遷移して戻ることができるという事実を反映し得る。しかしながら、これらは単なる例である。
【００４２】
さらに、状態は、所与の状態内の予想される時間、または同等物などの様々な因子に応じて、異なる数のサブ状態を有し得る。たとえば、ユーザが一般的に長時間にわたって留まる状態に、より多数のサブ状態が使用され得る。特定の非限定的な例として、歩行、走行、着席、起立、無為、休息、ならびに自動車停止ごとに5つのサブ状態を使用することができ、自動車移動に12個のサブ状態を使用することができる。他のサブ状態構成も可能である。
【００４３】
使用される特定の状態モデルに関わらず、各時刻t=1、2、...で、HMMは、現在の時間tの尤度値のセットp(x(t)|ωi)を時刻t=1、2、...で入力として受け取る。いくつかの実施形態のHMMは、t-L(すなわちL時間ステップ前)の時に各状態ωiにある確率に対応するK事後値p(ωi|x(t-L))を出力し、上式でKは下位レベルの状態の数であり、Lはシステムレイテンシに対応する調整可能なパラメータである。これを行うために、HMMは、状態ごとにp(x(t)|ωi)のL-1前の値を格納する。ストレージおよび他の計算要件は時間とともに増大しない点に留意されたい。
【００４４】
実施形態による上記の技術をさらに参照すると、改善された運転検出が次のように実現され得る。車が赤信号で停止すると、上記で説明したように、分類器が着席または起立の結果を出力し得ることが監視される。したがって、この例の自動車状態検出を改善するために、判定を下すために現在のデータと過去のデータの両方を見る、時間的配慮が導入される。これは、デューティサイクル手法および/または非デューティサイクル手法を使用して行われ得る。デューティサイクル手法では、デバイス上の節電を実現するために、y分につき最初のx秒間のみセンサが記録される(たとえば、x=15秒、およびy=2分、等)。そのような手法では、GPSセンサを使用することもでき、場合によっては(たとえば、非デューティサイクル手法に関連付けられる)電池寿命を消費しすぎることがある。
【００４５】
あるいは、非デューティサイクル手法では、センサが継続的に記録される。この場合、上述のHMMなどの状態モデルは、加速度計データだけに基づいて利用され得る。非デューティサイクル手法の例示的分類器は、図8に示される。この図において、加速度計データ802はMSDP分類器804への入力である。分類器804は図2または図3で説明した分類器と同じでもよく、類似していてもよい。分類器804は、ユーザが現在の状態Otにあると検出される確率Piを出力することができ、もしユーザが行動iを行っているならば、iごとにP(Ot|行動= i)と表される。次いで、これらの確率を、ビタビ検出器806およびフォワードバックワードチェイニングモジュール810への入力として使用することができ、それぞれが例示的レイテンシLを有する。もちろん、実施形態はこれらの例に限定されない。
【００４６】
分類された状態に対応する出力パラメータを取得するために、入力データストリームに様々なアルゴリズムが実行され得る。たとえば、フォワードバックワードチェイニングモジュール810は、各時刻での様々な状態についての事後値812の確率ベクトルを提供するために利用され得る。あるいは、ビタビアルゴリズム806は、ブロック804からの入力データがあれば、最も可能性が高い状態シーケンス808を提供するために利用され得る。
【００４７】
状態確率の形式で提供される結果は、信頼性テストの使用を通じてさらに改善され得る。たとえば、各時間tで、2つの最も可能性が高い状態の事後確率が相互に同等である場合(判定における高い不確実性に対応する)、運転検出判定が廃棄され得る。判定の廃棄は、最も可能性が高い状態と、および/または他の任意の適切な因子と間の最小許容差に基づき得る、信頼性しきい値に基づく。信頼性テストの例は図2および図3に示され得る。
【００４８】
上記で説明した運転検出を改善するために、様々なさらなる特徴およびパラメータが導入され得る。たとえば、スペクトルエントロピー(se)は、FFTを標準化することによって取得された分布のエントロピーとして定義することができ、たとえば、se=-Σp(x)log p(x)であり、上式で、
【００４９】
【数１】
0005774228.tif 000003
【００５０】
である。さらに、ノルム平均(mn)は、1秒のメインウインドウの加速度計値のノルム平均として定義することができ、たとえば、
【００５１】
【数２】
0005774228.tif 000004
【００５２】
である。多くの環境で、1秒の所与のウィンドウにわたって、通常の加速度計データは着席について1gに近いままであることがあるが、運転のために変化し得る。
【００５３】
さらに、デューティサイクル手法における分類判定を強化するために、様々なGPS規則が利用され得る。まず、瞬間速度規則を実装することができ、瞬間速度vについて、(1)v>0.25m/sの場合、着席および起立の尤度が小さくなり、(2)v>3m/sの場合、歩行の尤度が小さくなり、(3) v>8m/sの場合、走行の尤度が小さくなる。さらに、距離規則を実装することができ、最後のサンプリング走行の間の現在の位置と平均位置との間の距離dについて、d>200mの場合、着席および起立の尤度が小さくなる。使用される特定のしきい値は、一般的な観測、トレーニング、および/または特定のユーザに関するデータに基づくことができ、上記で使用されたしきい値とは異なる場合がある。
【００５４】
図4および図5の例示的状態図を参照して上述したように、自動車移動状態は自動車停止を通じてのみ到達することができ、自動車停止状態は歩行を通じてのみ到達することができる。他のすべての行動は、相互間で自由に遷移し得る。しかしながら、場合によっては、自動車停止および着席は、状態分類器において同じクラスとしてトレーニングされ得る。このように、HMMを適用する前に前記状態の確率を低減するためにHMMに与える前に、ペナルティ係数を自動車停止の確率に適用することができる。
【００５５】
上記で説明した堅牢なモバイルデバイス運転検出の結果、様々な自動アプリケーションが可能になる。これらの自動アプリケーションは、これらに限定されないが、以下を含む:
1)ユーザインタフェースを運転モードに切り替えること。たとえば、実施形態は、ユーザが運転状態、たとえば自動車移動に入ったことを検出することができ、したがって、デフォルト動作として、タッチコマンドではなく音声起動コマンドを有効にするために、モバイルデバイス上にあらかじめ構成された設定を実装する。
2)たとえば「現在運転中のため電話に答えることができません。メッセージを残してください。」などの適切なメッセージを持つ音声コールを、メールボックスに転用すること。この設定は、上記の例(1)説明した運転モードに追加されてもよく、それに含まれてもよい。
3)たとえば「運転中…今はお返事できません」などの、SMSへの応答。これは、一旦ユーザが運転状態に入ったと決定されると、実施形態が電話または他のメッセージに応答し得る別の例でもよい。
4)運転習慣、速度の通知、危険運転等への監視/フィードバック。たとえば、実施形態は、一旦ユーザが運転状態に入ると、動作状態データをさらに監視することができ、動作状態データに基づいて、ユーザが危険な運転をしているか、たとえばユーザが酔っているかどうかの決定を行うことができる。他の例では、実施形態は、たとえば一般的な運転速度、運転者がどのくらい早くまたは遅く加速または減速するか等の、運転者の習慣についての統計を記録することができる。そのようなデータは、運転習慣を改善するために、および/またはそのような運転癖により適した車両を設計するために役立つ場合がある。さらに、そのようなデータは、補償のために課金されるレートを決定または調整するために保険会社によって使用され得る。
5)車載無線サービス、および/またはナビゲーションなどの他のサービスを有効化すること。たとえば、車載無線機は、車両が移動状態であると判定されたか、または停止状態であると判定されたかに応じて、より大きく、またはより小さくになるように音量を調整し得る。別の例では、車両が移動状態にあると判定されると、ナビゲーションサービスがオンにされ得る。
6)リマインダトリガー(たとえば、店舗からリストアップされた商品をピックアップする)。たとえば、車両が駐車状態から移動を開始していると判定されると、ユーザにビジュアルまたはオーディオリマインダが通知され得る。
7)ソーシャルネットワークの更新(たとえば、「運転者は現在運転中です...」。たとえば、実施形態は、ユーザに関連付けられる運転状態に基づいて状態の変化を共有するために、ソーシャルネットワークウェブサイトおよび同等物に更新を自動的に送信するように構成され得る。
【００５６】
上記の例は例示的なものにすぎず、実施形態はそれに限定されない。もちろん、当業者には明らかな他の例が実施形態に含まれ得る。
【００５７】
したがって、モバイルデバイスの判定された状態は、たとえば、モバイルデバイスによって実行されている1つまたは複数のアプリケーションの動作、あるいはモバイルデバイスのシステム制御または構成を変更またはトグルするために使用され得る。判定された状態は、モバイルデバイスから遠隔にあるデバイスまたはアプリケーションの動作または状態に影響を与え得る。たとえば、モバイルデバイスが車両の状態にあることをモバイルデバイスが判定すると、信号または通知が、たとえば、有線または無線ネットワークを介して遠隔位置に送信され得る。信号は、モバイルデバイスのユーザが自宅へと運転していることを示して、ユーザの家庭内の電気やヒーターをオンにすることができ、ユーザの仕事場所にビジー状態を設定することができ、あるいはユーザの子ども、または子どもの学校の管理者に、たとえばテキストメッセージまたは他の警告によって、ユーザが子どもをピックアップしに行く途中であることを示し得る。もちろん、上記の環境は例示的なものにすぎず、限定的なものではない。
【００５８】
図9を参照すると、例示的コンピューティングデバイス912は、プロセッサ920、ソフトウェア924を含むメモリ922、入力/出力(I/O)デバイス926(たとえば、ディスプレイ、スピーカ、キーパッド、タッチスクリーンまたはタッチパッド等)、および加速度計などの1つまたは複数の方位センサ928を備える。さらに、デバイス912は、デバイス912と1つまたは複数のネットワークエンティティとの間の双方向通信を容易にするネットワークインターフェース、および/または他の任意の適切なコンポーネントなどの、図9に示されていない他のコンポーネントを含み得る。
【００５９】
プロセッサ920は、たとえば、Intel(登録商標)Corporation、またはAMD(登録商標)によって製造されたものなどの中央処理装置(CPU)、マイクロコントローラ、特定用途向け集積回路(ASIC)などのインテリジェントハードウェアデバイスである。メモリ922は、ランダムアクセスメモリ(RAM)および読出し専用メモリ(ROM)などの非一時的記憶媒体を含む。メモリ922は、コンピュータ可読であり、実行されると、プロセッサ920に本明細書で説明された様々な機能を実行させるように構成された命令を含むコンピュータ実行可能ソフトウェアコードであるソフトウェア924を格納する。あるいは、ソフトウェア924はプロセッサ920によって直接実行可能ではないが、たとえばコンパイルまたは実行されると、コンピュータに機能を実行させるように構成される。
【００６０】
方位センサ928は、デバイス912の動作、位置、および/または方位、ならびにそのようなプロパティの経時的な変化に関するデータを収集するように構成される。方位センサ928は、たとえば、1つまたは複数の加速度計、ジャイロスコープ(ジャイロ)、磁気計、または同等物を含み得る。方位センサ928は、デバイス912の動作、位置、および/または方位を決定し得る情報を提供するように構成される。デバイス912に関連付けられるそれぞれの方位センサ928は、単一軸または複数軸を測定するために用いられ得る。複数軸の測定、複数の単一軸の加速度計、および/または複数軸(たとえば、2軸または3軸)の加速度計は、直線軸(たとえば、x-y-z、北-東-下、等)に対する動作を測定するために用いることができ、また複数の単一軸のジャイロスコープ、および/または複数軸のジャイロスコープは、角度軸(たとえば、ロール、ピッチ、またはヨー)に対する動作を測定するために用いられ得る。
【００６１】
方位センサ928は、たとえば定期的に経時的な情報を提供し得るので、現在および過去の方位、位置、および/または動作方向を比較して、デバイス912の動作方向、位置、および/または方位の変化を判定し得る。ジャイロスコープは、方位に影響を及ぼすデバイス912の動作に関する情報を提供し得る。加速度計は、重力加速度に関する情報を提供するように構成されるので、デバイス912に関する重力の方向が決定され得る。磁気計は、たとえば真北または磁北に関して、デバイス912に関する磁北の3次元の方向の表示を提供するように構成される。磁気偏角、および/または他の適切な手段に基づく変換メカニズムは、真北に関する方向を磁北に関する方向に変換するために、およびその逆のために利用され得る。
【００６２】
本明細書に図示され説明される分類システムの様々な要素は、図9のデバイス912などのコンピューティングデバイスによって実行され得る。たとえば、図2Aを参照すると、メモリ922にソフトウェア924として格納された命令を実行しているプロセッサ920によって、特徴抽出ブロック202、尤度計算ブロック204、フィルタリングブロック208、および信頼性テストブロック210が実装され得る。さらに、図2Aに示されるように使用される加速度計データおよび/または統計モデル206もメモリ922に格納され得る。さらに、図2Bを参照すると、プロセッサ920によって、図2Aに示されるブロックと同様の方法で、特徴抽出ブロック252、尤度計算ブロック254、HMMアルゴリズムブロック258、および信頼性テストブロック260が実装され得る。さらに、加速度計データおよび統計モデル256が、図2Aに関連して説明した方法と同様の方法でメモリ922に格納され得る。同様の構成が、図3の説明を実装可能であり得る。図8を参照すると、図2A、図2Bおよび/または図3によって示された様々な要素と同様の方法で、メモリ922に格納された命令を実行しているプロセッサ920によってMSDP分類器804が実装され得る。同様に、図8に示されるビタビ検出器806およびフォワードバックワードチェイニングブロック810も、プロセッサ920を介して実装され得る。
【００６３】
先行する段落において説明した分類器実装形態は例として提供されるものであり、本明細書で説明および特許請求される主題を限定することを意図するものではない。たとえば、図1、図2A、図2B、図3、および/または図9に示される機能要素のうちの1つまたは複数は、ハードウェア(たとえば、スタンドアロン型ハードウェア要素等を使用して)、ソフトウェア、またはハードウェアおよび/またはソフトウェアの組合せに、任意の適切な方法で実装され得る。たとえば、いくつかの実施形態によるハードウェア実装形態は、動作状態が何か、および状態がある状態から次へと遷移し得る方法を判定するために、状態制限を使用し得る。不揮発性メモリにデータを格納することができ、データは状態の確率分布を表す。現在の状態および以前の状態を反映するために、データが経時的に更新され得る。たとえば、実施形態は以前の状態をハードウェアに格納して、次いで、これらの開示において説明した確率分布モデルを使用して1つまたは複数の確率分布を更新し得る。このように、記録される必要があるのは、現在の状態および以前の状態だけである。いくつかの実施形態では、図1で説明されるように、メモリ922は動作ステートマシン16を格納し得る。I/Oデバイス926は、動作検出器12、および任意で追加デバイスセンサ14からデータを受信し得る。他の実施形態では、方位センサ928は動作検出器12およびデバイスセンサ14に対応し得る。プロセッサ920は、動作状態分類モジュール18を含むことができ、ステートマシン16によって定義されたように、現在の状態および遷移している状態を決定するために、動作検出器12および追加センサ14で受信したデータを処理し得る。本明細書の開示を実装するために使用される他のハードウェア技術またはソフトウェア技術は、当業者によって容易に明らかでよく、実施形態はそれに限定されない。
【００６４】
実施形態は、ハードウェア/ソフトウェア/ファームウェア等の様々なレベルのコンピュータアーキテクチャで実装され得る。たとえば、実施形態は、複数の動作センサ周辺機器にアクセスするように構成され得るソフトウェアアプリケーションとして実装され得る。別の例では、実施形態は、ステートマシンにおける一連のハードウェア状態などで、ハードウェア実装形態として実装され得る。次いでアプリケーションプログラムインターフェース(API)レイヤが、ハードウェア状態にアクセスし得る。別の例として、いくつかの実施形態は、高レベルのオペレーティングシステム(HLOS)の一部として実装されてもよく、たとえばAPIを通じてHLOSにアクセス可能でもよい。他の実装形態も可能であり、実施形態はそれに限定されない。
【００６５】
図1〜図9をさらに参照して図10を参照すると、モバイルデバイスの動作状態を分類する処理1000は図示される段階を含む。しかしながら、処理1000は例にすぎず、限定的なものではない。処理1000は、段階を追加、削除、再構成、結合、および/または同時実行することによって変更され得る。図示および説明されるような処理1000への他の変更も可能である。
【００６６】
段階1002で、1つまたは複数の歩行者動作状態および1つまたは複数の車両動作状態が識別される。1つまたは複数の歩行者動作状態は歩行状態を含み、1つまたは複数の車両動作状態は自動車停止状態および少なくとも1つの自動車運動状態を含む。これらの状態は、たとえばメモリ922に格納された命令を実行しているプロセッサ920によって、および/または他の手段によって定義され得る。さらに、動作状態は、たとえばメモリ922上の動作ステートマシン16に関連付けられてもよく、および/または他の手段によって関連付けられてもよい。
【００６７】
段階1004で、1つまたは複数の加速度計12から加速度データが取得される。
【００６８】
段階1006で、加速度データに基づいて、それぞれの時間間隔の1つまたは複数の歩行者動作状態および1つまたは複数の車両動作状態の尤度が計算される。尤度計算は、動作状態分類モジュール18の様々な要素によって実行することができ、たとえば、メモリ922に格納された命令を実行しているプロセッサ920を使用して、および/または他の手段で実装され得る。特に、尤度計算は、図2A、図2B、および/または図3に示される尤度計算ブロック、ならびに/あるいは他の適切なメカニズムによって実行され得る。
【００６９】
段階1008で、それぞれの時間間隔の現在の動作状態を取得するために、計算された尤度がフィルタリングされる。フィルタリングは、1つまたは複数の歩行者動作状態から車両動作状態への遷移、歩行状態から自動車停止状態への遷移を制限するように、また車両動作状態から1つまたは複数の歩行者動作状態への遷移、ならびに自動車停止状態から歩行状態への遷移を制限するように構成された確率モデル(たとえば、HMM)に基づき得る。段階1008で実行されるフィルタリングは、動作状態分類モジュール18の様々な要素によって実行することができ、たとえば、メモリ922に格納された命令を実行しているプロセッサ920を使用して、および/または他の手段で実装され得る。特に、図2Aに示されるフィルタリングブロック、図2Bに示されるHMMアルゴリズムブロック、および/または他の任意の適切なメカニズムが、フィルタリングを実行するために活用され得る。当業者は、それぞれの時間間隔の現在の動作状態は、尤度が計算される時間の現在の状態に限定されず、むしろ現在の動作状態は、それぞれの時間間隔の間、またはその間隔の少なくとも一部に存在した動作状態を指すことができることを理解できるであろう。いくつかの実施形態では、それぞれの時間間隔の動作状態は、それぞれの動作と呼ばれ得る。ある実施形態では、現在の動作状態およびそれぞれの動作状態は、区別なく使用され得る。
【００７０】
いくつかの実施形態は、1つまたは複数の動作検出デバイスから動作データを取得するための手段でモバイルデバイスに描画され得る。動作データを取得するための例示的手段は、1つまたは複数の加速度計、動作検出器12、追加デバイスセンサ14、あるいは方位センサ928でよい。また、実施形態は、動作データに基づいてそれぞれの時間間隔の現在の動作状態を取得するために動作データをフィルタリングするための手段を含み得る。それぞれの時間間隔の現在の動作状態の各々は、1つまたは複数の歩行者動作状態、あるいは1つまたは複数の車両動作状態に対応し得る。1つまたは複数の歩行者動作状態は歩行状態を備えることができ、1つまたは複数の車両動作状態は車両停止状態を備えることができる。フィルタリングするための例示的手段は、フィルタリング確率モジュール208、特徴抽出モジュール202または252、あるいはメモリ922およびソフトウェア924を使用するプロセッサ920を介する動作状態分類モジュール18を含み得る。いくつかの実施形態では、フィルタリングするための手段で、1つまたは複数の歩行者動作状態から1つまたは複数の車両動作状態への遷移が歩行状態から車両停止状態への遷移に制限され、また1つまたは複数の車両動作状態のうちの少なくとも1つから、1つまたは複数の歩行者動作状態のうちの少なくとも1つへの遷移が車両停止状態から歩行状態への遷移に制限される。
【００７１】
いくつかの実施形態では、モバイルデバイスは、それぞれの時間間隔の1つまたは複数の歩行者動作状態および1つまたは複数の車両動作状態の尤度を計算するための手段を含み得る。尤度を計算するための例示的手段は、メモリ922およびソフトウェア924を使用するプロセッサ920、MDSP分類器804、動作状態分類モジュール18、モジュール204、モジュール254、またはモジュール304を含み得る。
【００７２】
いくつかの実施形態では、モバイルデバイスは、Wi-Fi受信機、オーディオ入力デバイス、またはGPS受信機のうちの少なくとも1つからセンサデータを取得するための手段と、動作データおよびセンサデータに基づいて、それぞれの時間間隔の1つまたは複数の歩行者動作状態および1つまたは複数の車両動作状態の尤度を計算するための手段とを含み得る。センサデータを取得するための例示的手段は、動作状態分類モジュール18、特徴抽出モジュール202、モジュール252、モジュール302、またはプロセッサ920を含み得る。動作データおよびセンサデータに基づいて尤度を計算するための例示的手段は、メモリ922およびソフトウェア924を使用するプロセッサ920、MSDP分類器804、動作状態分類モジュール18、モジュール204、モジュール254、モジュール304を含み得る。
【００７３】
図1、図2A、図2B、図3、図4、図5、図6、図7、図8、図9、および/または図10に示されるコンポーネント、ステップ、特徴、および/または機能のうちの1つまたは複数は、単一のコンポーネント、ステップ、特徴または機能に再構成ならびに/あるいは結合されてもよく、複数のコンポーネント、ステップ、または機能において具現化されてもよい。本発明から逸脱することなしに、さらなる要素、コンポーネント、ステップ、および/または機能が追加されてよい。図1、図2A、図2B、図3、図4、図5、図6、図7、図8、および/または図9に示される装置、デバイス、および/またはコンポーネントは、図10で説明される方法、特徴、またはステップのうちの1つまたは複数を実行するように構成され得る。本明細書で説明した新規なアルゴリズムは、ソフトウェアに効率的に実装され(たとえば、非一時的コンピュータ記憶媒体に有形に具現化されたプロセッサ可読命令を実行しているプロセッサによって実装され)てもよく、および/またはハードウェアに埋め込まれてもよい。
【００７４】
また、少なくともいくつかの実装形態が、フローチャート、流れ図、構造図、またはブロック図として記載される処理として説明されている点に留意されたい。フローチャートは動作を連続的処理として説明し得るが、動作の多くは並列に、または同時に実行され得る。さらに、動作の順序は再構成され得る。処理は、動作が完了したときに終了する。処理は、方法、機能、手順、サブルーチン、サブプログラム等に対応し得る。処理が機能に対応する場合、その終了は、機能が呼出し機能または主要機能に戻ることに対応する。
【００７５】
さらに、実施形態は、ハードウェア、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、またはそれらの任意の組合せによって実装され得る。ソフトウェア、ファームウェア、ミドルウェア、またはマイクロコードに実装される場合、必要なタスクを実行するためのプログラムコードまたはコードセグメントは、記憶媒体または他のストレージなどの機械可読媒体に格納され得る。プロセッサは必要なタスクを実行し得る。コードセグメントは、手順、機能、サブプログラム、プログラム、ルーチン、サブルーチン、モジュール、ソフトウェアパッケージ、クラス、あるいは命令、データ構造、またはプログラムステートメントの任意の組合せを表し得る。コードセグメントは、情報、データ、引数、パラメータ、またはメモリコンテンツを渡す、および/または受信することによって、別のコードセグメントまたはハードウェア回路に結合され得る。情報、引数、パラメータ、データ等は、メモリ共有、メッセージパッシング、トークンパッシング、ネットワーク送信等を含む任意の適切な手段を介して渡されるか、転送、または送信され得る。
【００７６】
「機械可読媒体」、「コンピュータ可読媒体」、および/または「プロセッサ可読媒体」という用語は、これに限定されないが、ポータブルまたは固定記憶デバイス、光学式記憶デバイス、ならびに命令および/またはデータを格納、含有、または搬送できる他の様々な非一時的媒体を含み得る。したがって、本明細書で説明した様々な方法は、「機械可読媒体」、「コンピュータ可読媒体」、および/または「プロセッサ可読媒体」に格納され得る命令および/またはデータによって部分的または全体的に実装されて、1つまたは複数のプロセッサ、機械、および/またはデバイスによって実行され得る。
【００７７】
本明細書に開示された例に関連して説明した方法またはアルゴリズムは、直接ハードウェアで、プロセッサによって実行可能なソフトウェアモジュールで、または両方の組合せで、処理装置、プログラミング命令、または他の指示の形態で具現化することができ、単一のデバイスに含まれてもよく、複数のデバイスにわたって分散されてもよい。ソフトウェアモジュールは、RAMメモリ、フラッシュメモリ、ROMメモリ、EPROMメモリ、EEPROMメモリ、レジスタ、ハードディスク、リムーバブルディスク、CD-ROM、または当分野で知られている他の任意の形態の記憶媒体に常駐し得る。記憶媒体は、プロセッサが記憶媒体から情報を読み取り、記憶媒体に情報を書き込むことができるようにプロセッサに結合され得る。代替として、記憶媒体はプロセッサと一体であってよい。
【００７８】
当業者は、本明細書に開示された実施形態に関連して説明された様々な例示的論理ブロック、モジュール、回路、およびアルゴリズムステップは、電子ハードウェア、コンピュータソフトウェア、または両方の組合せとして実装され得ることをさらに理解できるであろう。ハードウェアとソフトウェアのこの互換性を明確に説明するために、様々な例示的コンポーネント、ブロック、モジュール、回路、およびステップが、それらの機能の観点から一般的に上記で説明されている。そのような機能性がハードウェアとして実装されるか、またはソフトウェアとして実装されるかは、特定のアプリケーションおよびシステム全体に課された設計制約に依存する。
【００７９】
本明細書で説明した本発明の様々な特徴は、本発明から逸脱することなしに異なるシステムで実装され得る。なお、前述の実施形態は単なる例にすぎず、本発明を限定するものとして解釈されるべきではないことに留意されたい。実施形態の説明は例示的なものであり、特許請求の範囲を限定するものではないことが意図される。このように、本教示は、他のタイプの装置容易に適用することができ、また多くの代替形態、修正形態、および変形形態が当業者には明らかであろう。
【符号の説明】
【００８０】
12  動作検出器
12  加速度計
14  デバイスセンサ
16  動作ステートマシン
18  動作状態分類モジュール
【図１】
0005774228.tif 000005
【図２Ａ】
0005774228.tif 000006
【図２Ｂ】
0005774228.tif 000007
【図３】
0005774228.tif 000008
【図４】
0005774228.tif 000009
【図５】
0005774228.tif 000010
【図６】
0005774228.tif 000011
【図７】
0005774228.tif 000012
【図８】
0005774228.tif 000013
【図９】
0005774228.tif 000014
【図１０】
0005774228.tif 000015