関連出願に対する相互参照
本出願は、2007年12月14日に出願され(代理人ドケット070079P1)、“追跡のための動作検出”と題する米国仮特許出願第61/013,908号に対する合衆国法典第35部第119条に基づく優先権を主張し、その開示は、その全体が参照により明白にここに組み込まれている。
発明の分野
本開示は一般に、人または資産の追跡のための装置および方法に関する。より詳細には、本開示は、動作検出を用いる、人または資産の追跡のための装置および方法に関する。
背景
追跡システムは、個人資産(個人財産)、乗り物または人のようなターゲットの動きを監視する。一般的に言えば、追跡システムは、ターゲットの、位置と、位置における変化を決定する。限定的ではないが、米国グローバルポジショニングシステム(GPS)、ロシアのグロナスシステム、欧州のガリレオシステム、衛星システムの組み合わせから衛星を使用する何らかのシステム、または、将来開発される何らかの衛星システムのような、さまざまな衛星ポジショニングシステム(SPS)を含む多くのポジショニングシステムがある。さらに、いくつかのポジショニング決定システムは、擬似衛星または、衛星および擬似衛星の組み合わせを利用する。擬似衛星は、(GPSまたはCDMAセルラ信号に類似している)PNコードのようなレンジングコードをブロードキャストする地上ベースの送信機であり、レンジングコードは、SPSによって提供される時間に同期していてもよい搬送波信号上で変調される。擬似衛星は、周回軌道衛生からのSPS信号が利用できないかもしれない状況において有用である。例えば、AFLTのような追加の地上レンジング源を、代替のポジショニングシステムとして使用してもよい。
追跡システムは、追跡されているターゲットに関係付けられている1つ以上の移動追跡デバイスを含むことが多い。移動追跡デバイスは、例えば、バッテリのような携帯用エネルギー源で動作する。移動追跡デバイスは、限定的ではないが、信号の検出、信号およびデータの記憶および処理、通信、数値および他の計算を含むさまざまなタスクに対してエネルギーを使用する。そのような1つの計算は、位置特定の決定である。その位置特定を計算するために移動追跡デバイスによって使用されるエネルギーは、携帯用エネルギー源の持続時間または寿命を低減させる。位置特定の決定は、携帯用エネルギー源から比較的大量のエネルギーを必要とする。
開示の概要
ターゲットを追跡する方法および装置を開示する。1つの観点にしたがうと、ターゲットを追跡する方法は、ターゲットの動作データを測定することと、動作データを処理して、ターゲットの動作情報を発生させることと、動作情報を使用して移動追跡デバイス割込みフラグを設定して、位置決定を得るために移動追跡デバイスに割込みをかけるべきであるかどうかを示すこととを含む。ターゲットは、移動追跡デバイスに関係付けられている。
別の観点にしたがうと、ターゲットを追跡する方法は、ターゲットの動作データを測定することと、動作データを処理してターゲットの動作情報を発生させることと、動作情報を使用して、位置決定を得るかどうかを決定する際に移動追跡デバイスによって使用される動作検出フラグを設定することとを含む。ターゲットは、移動追跡デバイスに関係付けられている。
さらに別の観点にしたがうと、移動追跡デバイスは、ターゲットの動作データを測定する動作検出ユニットを備え、動作検出ユニットは、動作データを処理して、ターゲットの動作情報を発生させ、動作情報を使用して、割込みフラグを設定する。移動追跡デバイスはまた、割込みフラグを使用して位置決定を得るかどうかを決定する第1の処理ユニットを備える。
本発明のいくつかの実施形態は、動作検出ユニットおよび移動追跡ユニットに関係付けられているターゲットを追跡する方法を提供し、方法は、アキュムレータを初期化することと、動作データを処理して動作情報を発生させることと、動作情報を3つのレベルに量子化し、動作情報が第1のレベルに入る場合、正の増分によりアキュムレータをインクリメントすることと、動作情報が第2のレベルに入る場合、アキュムレータの調整をバイパスすることと、動作情報が第3のレベルに入る場合、負の増分により前記アキュムレータをデクリメントすることと、アキュムレータをアキュムレータ制限と比較することと、アキュムレータがアキュムレータ制限を満たす場合、位置決定を得ることとを含む。
本発明のいくつかの実施形態は、ターゲットを追跡するデバイスを提供し、デバイスは、動作データを提供するセンサと、アキュムレータと、動作データを処理して動作情報を発生させるプロセッサと、動作情報を3つのレベルに量子化する量子化器と、動作情報が第1のレベルに入る場合、正の増分によりアキュムレータをインクリメントする加算器と、動作情報が第2のレベルに入る場合、アキュムレータの調整をバイパスするロジックと、動作情報が第3のレベルに入る場合、負の増分によりアキュムレータをデクリメントする減算器と、アキュムレータをアキュムレータ制限と比較する比較器と、を備える動作検出ユニットと、アキュムレータがアキュムレータ制限を満たす場合、位置決定を得る移動追跡ユニットとを備える。
本発明のいくつかの実施形態は、動作検出ユニットおよび移動追跡ユニットに関係付けられているターゲットを追跡するデバイスを提供し、デバイスは、アキュムレータを初期化する手段と、動作データを処理して、動作情報を発生させる手段と、動作情報を3つのレベルに量子化する手段であって、前記動作情報が第1のレベルに入る場合、正の増分によりアキュムレータをインクリメントする手段と、動作情報が第2のレベルに入る場合、アキュムレータの調整をバイパスする手段と、動作情報が第3のレベルに入る場合、負の増分により前記アキュムレータをデクリメントする手段とを備える手段と、アキュムレータをアキュムレータ制限と比較する手段と、アキュムレータがアキュムレータ制限を満たす場合、位置決定を得る手段とを備える。
本発明のいくつかの実施形態は、動作検出ユニットおよび移動追跡ユニットに関係付けられているターゲットを追跡する移動デバイスにおいて使用するために記憶されているプログラムコードを含むコンピュータ読み取り可能媒体を提供し、プログラムコードは、アキュムレータを初期化するためのプログラムコードと、動作データを処理して動作情報を発生させるためのプログラムコードと、動作情報を3つのレベルに量子化するためのプログラムコードであって、動作情報が第1のレベルに入る場合、正の増分により前記アキュムレータをインクリメントするためのプログラムコードと、動作情報が第2のレベルに入る場合、アキュムレータの調整をバイパスするためのプログラムコードと、動作情報が第3のレベルに入る場合、負の増分により前記アキュムレータをデクリメントするためのプログラムコードとを含むプログラムコードと、アキュムレータをアキュムレータ制限と比較するためのプログラムコードと、アキュムレータがアキュムレータ制限を満たす場合、位置決定を得るためのプログラムコードとを備える。
本発明のいくつかの実施形態は、動作検出ユニットおよび移動追跡ユニットに関係付けられているターゲットを追跡する方法を提供し、方法は、ターゲットの動作を測定して動作データを生成させることと、動作データを処理して動作情報を発生させることと、動作情報をしきい値と比較することと、動作情報がしきい値よりも大きい場合、移動追跡デバイスに命令して位置決定を得させることと、動作情報がしきい値よりも小さい場合、位置決定を得ることをスキップすることとを含む。いくつかの実施形態はさらに、動作情報がしきい値よりも大きい場合、フラグを設定して、動作検出ユニットが移動追跡ユニットに命令して位置決定を得させることを可能にすることを含み、移動追跡ユニットに命令して位置決定を得させる動作は、設定されているフラグに基づいて、移動追跡ユニットに命令して位置決定を得させることを含む。いくつかの実施形態において、フラグは割込みフラグである。いくつかの実施形態はさらに、動作情報がしきい値よりも小さい場合、フラグをクリアして、動作検出ユニットが移動追跡ユニットに命令して位置決定を得させることからブロックすることを含む。いくつかの実施形態において、移動追跡ユニットに命令して位置決定を得させる動作は、割込みフラグをイネーブルにすることを含む。いくつかの実施形態において、位置決定を得ることをスキップする動作は、割込みフラグをディスエーブルすることを含む。いくつかの実施形態において、移動追跡ユニットに命令して位置決定を得させる動作は、動作検出ユニットから移動追跡デバイスに割込み信号を送ることと、割込み信号に基づいて、移動追跡ユニットによって、位置決定を得ることとを含む。いくつかの実施形態はさらに、スリープ状態から動作検出ユニットをウェイクさせることを含む。いくつかの実施形態において、フラグを設定する動作は、動作検出ユニットをイネーブルにして、移動追跡デバイスに割込みをかけて位置決定を得させることを含む。いくつかの実施形態はさらに、動作情報がしきい値よりも小さい場合、スキップカウンタをインクリメントすることと、スキップカウンタを最大スキップカウントと比較することと、スキップカウンタが最大スキップカウントよりも大きい場合、移動追跡ユニットに命令して、位置決定を得させることとを含む。いくつかの実施形態はさらに、タイマを最大スキップ時間と比較することと、タイマが最大スキップ時間よりも大きい場合、移動追跡ユニットに命令して、位置決定を得させることとを含む。いくつかの実施形態において、動作データを処理して、動作情報を発生させる動作は、動作データに基づいて、移行の数を発生させることと、移行の数を高いしきい値と比較することと、移行の数が高いしきい値よりも大きい場合、アキュムレータ値をインクリメントすることとを含む。いくつかの実施形態において、動作情報はアキュムレータ値を含む。いくつかの実施形態において、アキュムレータ値をインクリメントする動作は、アキュムレータの正の増分によってアキュムレータ値をインクリメントすることを含む。いくつかの実施形態において、動作データを処理して動作情報を発生させる動作はさらに、移行の数を低いしきい値と比較することと、移行の数が低いしきい値よりも小さい場合、アキュムレータ値をデクリメントすることとを含む。いくつかの実施形態において、アキュムレータ値をデクリメントする動作は、アキュムレータの負の増分によってアキュムレータ値をデクリメントすることを含む。
本発明のいくつかの実施形態は、ターゲットを追跡する移動デバイスを提供し、移動デバイスは、ターゲットの動作データを測定するセンサおよび動作データから動作情報を発生させるプロセッサを含む動作検出ユニットと、信号によって動作検出ユニットに結合され、信号に基づいて位置決定を得る移動追跡ユニットとを備える。いくつかの実施形態において、センサは、無指向性傾斜および振動センサを備える。いくつかの実施形態において、信号は割込み信号である。いくつかの実施形態において、信号は、移動追跡ユニットをスリープ状態からウェイクさせて、位置決定を得させる。いくつかの実施形態はさらに、スキップカウンタと、最大スキップカウントと、スキップカウンタを最大スキップカウントと比較する比較器と、スキップカウンタが最大スキップカウントよりも大きい場合、移動追跡ユニットに命令して、位置決定を得させるロジックとを備える。いくつかの実施形態はさらに、第1のカウンタを備え、第1のカウンタは、移動追跡デバイスが位置決定を得るのをスキップする回数をカウントする。いくつかの実施形態はさらに、タイマと、最大スキップ時間と、タイマを最大スキップ時間と比較する比較器と、タイマが最大スキップ時間よりも大きい場合、移動追跡ユニットに命令して位置決定を得させるロジックとを備える。いくつかの実施形態はさらに、動作データに基づいて移行の数をカウントするカウンタと、移行の数を高いしきい値と比較する比較器と、移行の数が高いしきい値よりも大きい場合、アキュムレータ値をインクリメントする加算器とを備え、ここで動作情報は、アキュムレータ値を含む。
本発明のいくつかの実施形態は、動作検出ユニットおよび移動追跡ユニットに関係付けられているターゲットを追跡する移動デバイスを提供し、移動デバイスは、ターゲットの動作を測定して動作データを生成させる手段と、動作データを処理して動作情報を発生させる手段と、動作情報をしきい値と比較する手段と、動作情報がしきい値よりも大きい場合、移動追跡ユニットに命令して位置決定を得させる手段と、動作情報がしきい値よりも小さい場合、位置決定を得ることをスキップする手段とを備える。いくつかの実施形態はさらに、動作情報がしきい値よりも大きい場合、フラグを設定して、動作検出ユニットが移動追跡ユニットに命令して位置決定を得させるのを可能にする手段を備え、移動追跡ユニットに命令して位置決定を得させる手段は、設定されているフラグに基づいて、移動追跡ユニットに命令して位置決定を得させる手段を備える。いくつかの実施形態において、フラグは割込みフラグである。いくつかの実施形態において、移動追跡ユニットに命令して位置決定を得させる手段は、動作検出ユニットから移動追跡ユニットに割込み信号を送る手段と、割込み信号に基づいて、移動追跡ユニットによって位置決定を得る手段とを備える。いくつかの実施形態はさらに、動作情報がしきい値よりも小さい場合、スキップカウンタをインクリメントする手段と、スキップカウンタを最大スキップカウントと比較する手段と、スキップカウンタが最大スキップカウントよりも大きい場合、移動追跡ユニットに命令して位置決定を得させる手段とを備える。いくつかの実施形態はさらに、タイマを最大スキップ時間と比較する手段と、タイマが最大スキップ時間よりも大きい場合、移動追跡ユニットに命令して位置決定を得させる手段とを備える。
本発明のいくつかの実施形態は、動作検出ユニットおよび移動追跡ユニットに関係付けられているターゲットを追跡する移動デバイスにおいて使用するために記憶されているプログラムコードを含むコンピュータ読み取り可能媒体を提供し、プログラムコードは、ターゲットの動作を測定して動作データを生成させるためのプログラムコードと、動作データを処理して動作情報を発生させるためのプログラムコードと、動作情報をしきい値と比較するためのプログラムコードと、動作情報がしきい値よりも大きい場合、移動追跡ユニットに命令して位置決定を得させるためのプログラムコードと、動作情報がしきい値よりも小さい場合、位置決定を得ることをスキップするためのプログラムコードとを含む。いくつかの実施形態はさらに、動作情報がしきい値よりも大きい場合、フラッグを設定して、動作検出ユニットが移動追跡ユニットに命令して位置決定を得させることを可能にするためのプログラムコードを含み、移動追跡ユニットに命令して位置決定を得させるためのプログラムコードは、設定されているフラグに基づいて、移動追跡ユニットに命令して位置決定を得させるためのプログラムコードを含む。いくつかの実施形態において、フラグは割込みフラグである。いくつかの実施形態において、移動追跡ユニットに命令して位置決定を得させるためのプログラムコードは、動作検出ユニットから移動追跡ユニットに割込み信号を送るためのプログラムコードと、割込み信号に基づいて、移動追跡ユニットによって位置決定を得るためのプログラムコードとを含む。いくつかの実施形態はさらに、動作情報がしきい値よりも小さい場合、スキップカウンタをインクリメントするためのプログラムコードと、スキップカウンタを最大スキップカウントと比較するためのプログラムコードと、スキップカウンタが最大スキップカウントよりも大きい場合、移動追跡ユニットに命令して位置決定を得させるためのプログラムコードとを含む。いくつかの実施形態はさらに、タイマを最大スキップ時間と比較するためのプログラムコードと、タイマが最大スキップ時間よりも大きい場合、移動追跡ユニットに命令して位置決定を得させるためのプログラムコードとを含む。
他の観点は、以下の詳細な説明から当業者に容易に明らかになることが理解され、詳細な説明は、実例として、さまざまな観点および特徴を示して説明している。図面および詳細な説明は、本質的に実例であり、限定的であると考えるべきではない。
図1は、本発明の実施形態にしたがった、動作検出ユニットおよび移動追跡デバイスの実例となるブロック図である。
図2は、本発明の実施形態にしたがった、移動追跡デバイスの観点のコンポーネントの構成の実例となるブロック図である。
図3Aは、本発明の実施形態にしたがった、動作検出ユニットの観点のコンポーネントの構成のブロック図を説明する。
図3Bは、本発明の実施形態にしたがった、動作検出ユニットの観点のコンポーネントの構成のブロック図を説明する。
図4は、本発明の実施形態にしたがった、追跡されているターゲットの動きを決定するためのフロー図を説明する。
図5は、本発明の実施形態にしたがった、位置決定を更新するかどうかを決定するための実例となるフロー図である。
図6は、本発明の実施形態にしたがった、位置決定を更新するかどうかを決定するための実例となるフロー図である。
図7は、本発明の実施形態にしたがった、追跡されているターゲットの動きを決定するための実例となるフロー図である。
図8は、本発明の実施形態にしたがった、追跡されているターゲットの動きを決定するための実例となるフロー図である。
図9Aは、本発明の実施形態にしたがった、追跡されているターゲットの動きを決定するための実例となるフロー図である。
図9Bは、本発明の実施形態にしたがった、追跡されているターゲットの動きを決定するための実例となるフロー図である。
詳細な説明
添付図面に関連して以下で示す詳細な説明は、本開示のさまざまな観点の説明として向けられており、本開示を実施してもよい唯一の観点を表すように向けられていない。本開示において説明される各観点は、本開示の例または例示として単に提供され、他の観点に対して好ましいまたは有利であるものとして必ずしも解釈すべきでない。詳細な説明は、本開示の完全な理解を提供する目的のために、特定の詳細な説明を含む。しかしながら、本開示は、これらの特定の詳細な説明がなくても実施できることが当業者に明らかになるだろう。いくつかの例において、よく知られている構造およびデバイスは、本開示の概念を曖昧にすることを回避するためにブロック図の形態で示している。頭字語および他の記述用語が、便利さおよび明瞭さのために単に使用されるかもしれないが、本開示の範囲を限定するように向けられていない。
追跡されるターゲットの動きが予め定められている量よりも少なかったことを決定できるとき、位置特定の決定を、省き、部分的にまたは全体的に再利用でき、その結果、新しい位置特定の決定を実施するのに費やされるエネルギーを低減できる。そうすることによって、これは、処理および計算のリソースを解放して、他のタスクを実行でき、あるいは、より効率的にまたはより速く他のタスクを実行できる。さらに、移動追跡デバイスの携帯用エネルギー源の寿命を伸ばすことができ、その結果、移動追跡デバイスに対してより長い動作期間を容易にし、移動追跡デバイスの携帯用エネルギー源を、再充電し、リフレッシュし、補充し、または取り替える必要性を低減させることができる。
移動追跡デバイスが、セルラまたは他のワイヤレス通信デバイス、パーソナル通信システム(PCS)デバイス、パーソナルナビゲーションデバイス、ラップトップ、あるいは、SPSまたは他の地上源からの信号を受信および処理できる他の適切な移動デバイスのようなデバイスを含むことができることを当業者は理解するだろう。移動追跡デバイスはまた、例えば、近距離ワイヤレス、赤外線、ワイヤーライン接続、または他の接続によって、パーソナルナビゲーションデバイス(PND)と通信するデバイスを含むことができ、そのことは、衛星信号の受信、支援データの受信、および/または位置関連の処理が、デバイスにおいて生じるか、またはPNDにおいて生じるかにかかわらない。移動追跡デバイスはまた、例えば、インターネット、ワイファイ、または他のネットワークを通してサーバと通信できる、コンピュータ、ラップトップなどを含むことができ、そのことは、衛星信号の受信、支援データの受信、および/または位置関連の処理が、デバイスにおいて生じるか、サーバにおいて生じるか、またはネットワークを介して別のデバイスにおいて生じるかにかかわらない。当業者はまた、上述の任意の動作可能な組み合わせも移動追跡デバイスと考えられることを理解するだろう。
ターゲットを追跡する装置および方法をここで説明する。ターゲットの測定された動きが、予め定められているしきい値量よりも多いときに、および/または位置決定が、予め定められている時間間隔で更新されていないときに、および/または位置決定が、予め定められている数のサイクルに対して得られていないときに、新しい位置決定が選択的に得られる。装置および方法の目標は、必要とされるときだけ位置特定の決定を実行することによって、エネルギーの使用およびネットワークリソースを最小化することである。
図1は、本発明の実施形態にしたがった、動作検出ユニットおよび移動追跡デバイスの実例となるブロック図である。図は、動作検出ユニット200に結合されている移動追跡デバイス400を示す。動作検出ユニット200と移動追跡デバイス400との間の通信は、ハードワイヤード接続またはバスによるものであってもよく、あるいは、ワイヤレス接続によるものであってもよい。代替として示されていないが、動作検出ユニット200は、移動追跡デバイス400の一部とすることができる。
図2は、本発明の実施形態にしたがった、移動追跡デバイスの観点のコンポーネントの構成の実例となるブロック図である。示すように、移動追跡デバイス400は、信号処理ユニット401を備え、さまざまな衛星ポジショニングシステム(SPS)から擬似距離を受信できる。衛星ポジショニングシステム(SPS)は、限定的ではないが、米国グローバルポジショニングシステム(GPS)、ロシアのグロナスシステム、欧州のガリレオシステム、および/または衛星システムの組み合わせから衛星を使用する任意のシステムのようなものである。さらに、擬似距離は、擬似衛星、または、衛星および擬似衛星の組み合わせを利用する位置決定システムから受信してもよい。1つの観点において、地上レンジング源は、アドバンストフォワードリンク三辺測量(AFLT)を含んでいてもよい。擬似距離は、移動追跡デバイス400の位置特定を決定するために使用される。ここで使用するとき、信号処理ユニット401は、1つ以上の特定用途向け集積回路(ASIC)、デジタル信号プロセッサ(DSP)、デジタル信号処理デバイス(DSPD)、プログラム可能論理デバイス(PLD)、フィールドプログラム可能ゲートアレイ(FPGA)、プロセッサ、制御装置、マイクロ制御装置、マイクロプロセッサ、電子デバイス、ここで記述した機能を実行するように設計された他の電子ユニット、またはこれらの組み合せ内で実現されてもよい。
移動追跡デバイス400はさらに、信号処理ユニット401に結合されているメモリ402を備える。ここで記述する方法を実現する際に、任意の機械読み取り可能媒体を使用してもよい。例えば、動作検出ユニット200から受信したデータまたは信号をメモリ402中に記憶させてもよい。信号処理ユニット401によって実行される命令をメモリ402中に記憶させてもよい。信号処理ユニット401によって決定され、または使用される中間データまたは情報をメモリ402中に記憶させてもよい。メモリ402は、ここで記述する方法を実現する際に使用される、フラグとして機能する値を記憶する記憶場所および/またはレジスタを含んでいてもよい。ここで使用するとき、メモリ402は、何らかのタイプの長期の、短期の、揮発性の、不揮発性の、または他の、メモリを指し、何らかの特定のタイプのメモリまたは何らかの特定の数のメモリ、あるいはメモリが記憶されている媒体のタイプに制限されない。信号処理ユニット401の外部として図2中で示しているが、代替として、メモリ402またはその一部を、信号処理ユニット401内で実現してもよい。
移動追跡デバイス400はまた、信号処理ユニット401に結合されているカウンタ403を含んでいてもよい。1つの観点において、カウンタ403は、信号処理ユニット401によって指定されるさまざまなイベントをカウントするのに使用される。当業者は、カウンタ403がさまざまな単位でカウントしてもよいことを理解するだろう。例えば、カウンタ403は、時間単位または時間経過、例えば、秒、分、時間などをカウントしてもよい。代替として、カウンタ403は、繰返し、例えば、1組の命令またはソフトウェアコードが実行されている回数をカウントしてもよい。ここで使用するとき、カウンタ403は、何らかのタイプのカウンタを指し、何らかの特定のタイプのカウンタまたは何らかの特定の数のカウンタに制限されない。1つの観点において、カウンタ403は、ハードウェアの構成である。別の観点において、カウンタ403は、ソフトウェアの構成を含む。信号処理ユニット401の外部として図2中で示しているが、代替として、カウンタ403またはその一部を、信号処理ユニット401内で実現してもよい。1つの観点において、カウンタ403は、スキップカウンタ404であってもよい。
図3Aおよび3Bは、本発明の実施形態にしたがった、動作検出ユニットの観点のコンポーネントの構成のブロック図を図示する。図3Aは、動作検出ユニット200を形成するコンポーネントの構成を図示するブロック図であり、動作検出ユニット200は、動さ検出を実行して、移動追跡デバイス400を強化できる。動作検出ユニット200は、動作検出器/センサ210を含むことができ、動作検出器/センサ210は、動きを検出できるか、または、さもなければ動作検出ユニット200の動きに影響を受ける。動作検出器/センサ210は、ロールボール、傾斜検出器、水準器、振動センサ、加速度計、ジャイロ、または動きに影響を受ける他の任意のデバイスとすることができる。1つの観点において、動作検出器/センサ210は、SQ−SEN−200無指向性傾斜および振動センサ、または、BoschからのSMB380であってもよい。本開示の範囲を限定することなく、さまざまな形態の動作検出器/センサを使用できることを当業者は理解するだろう。さらに、動作検出器/センサは、任意の数の軸に対して感知可能とすることができ、例えば、3軸の動作検出器/センサに限定される必要がないことを当業者は理解するだろう。
動作検出ユニット200はさらに、信号処理ユニット220を含む。動作検出器/センサ210は、動作検出器/センサ210によって測定されたデータを処理する信号処理ユニット220に結合されている。1つの観点において、動作検出器/センサ210は単一のデバイスであるが、別の観点において、動作検出器/センサ210は、いくつかのデバイスまたはそれらの一部から構成される。動作検出ユニット200の信号処理ユニット220は、1つ以上の特定用途向け集積回路(ASIC)、デジタル信号プロセッサ(DSP)、デジタル信号処理デバイス(DSPD)、プログラム可能論理デバイス(PLD)、フィールドプログラム可能ゲートアレイ(FPGA)、プロセッサ、制御装置、マイクロ制御装置、マイクロプロセッサ、電子デバイス、ここで記述した機能を実行するように設計された他の電子ユニット、またはこれらの組み合せ内で実現されてもよい。1つの観点において、動作検出ユニット200の信号処理ユニット220は、低電力マイクロプロセッサまたは低電力マイクロ制御装置である。
動作検出ユニット200はさらに、動作検出ユニット200中の信号処理ユニット220に結合されているメモリ222を含む。ここで記述する方法を実現する際に、何らかの機械読み取り可能媒体を使用してもよい。例えば、動作検出器/センサ210からのデータをメモリ222中に記憶させてもよい。信号処理ユニット220によって実行される命令をメモリ222中に記憶させてもよい。信号処理ユニット220によって決定され、または使用される中間データまたは情報をメモリ222中に記憶させてもよい。信号処理ユニット220によって使用されるしきい値をメモリ222中に記憶させてもよい。メモリ222は、ここで記述する方法を実現する際に使用される、フラグとして機能する値を記憶する記憶場所および/またはレジスタを含んでいてもよい。ここで使用するとき、メモリ222は、何らかのタイプの長期の、短期の、揮発性の、不揮発性の、または他の、メモリを指し、何らかの特定のタイプのメモリまたは何らかの数のメモリ、あるいはメモリが記憶されている媒体のタイプに制限されない。信号処理ユニット220の外部として図3A中で示しているが、代替として、メモリ222またはその一部を、信号処理ユニット220内で実現してもよい。
動作検出ユニット200は、信号処理ユニット220に結合されている少なくとも1つのカウンタ224を含む。1つの観点において、カウンタ224は、信号処理ユニット220によって指定されるさまざまなイベントをカウントするのに使用される。当業者は、カウンタ224がさまざまな単位でカウントしてもよいことを理解するだろう。例えば、カウンタ224は、秒、分、時間などをカウントしてもよい。代替として、カウンタ224は、繰返し(例えば、ループを形成する1組の命令またはソフトウェアコードが実行されている回数)をカウントしてもよい。ここで使用するとき、カウンタ224は、任意のタイプのカウンタを指し、何らかの特定のタイプのカウンタまたは何らかの特定の数のカウンタに制限されない。1つの観点において、カウンタ224は、ハードウェアの構成である。別の観点において、カウンタ224は、ソフトウェアの構成を含む。信号処理ユニット220の外部として図3A中で示しているが、代替として、カウンタ224またはその一部を、信号処理ユニット220内で、または、メモリ222内で、あるいはこれらの組合せ内で実現してもよい。
1つの観点において、動作検出ユニット200は、データ処理または計算のためのアキュムレータ226を含む。1つの観点において、アキュムレータ226は、メモリ222内で実現される。別の観点において、アキュムレータ226は、信号処理ユニット220内で実現される。別の観点において、アキュムレータ226は、カウンタ224内で実現される。
図2において示していないが、1つの観点において、移動追跡デバイス400の、信号処理ユニット401、メモリ402およびカウンタ403は、(示していない)移動追跡デバイスのバスを介して結合されていてもよい。同様に、図3Aにおいて示していないが、1つの観点において、動作検出器/センサ210、信号処理ユニット220、メモリ222、およびカウンタ224は、(示していない)動作検出ユニットのバスを介して結合されていてもよい。1つの観点において、移動追跡デバイスのバスは、動作検出ユニットのバスに結合されている。別の観点において、動作検出ユニットのバスまたはその一部は、移動追跡デバイスのバスの一部として実現される。
図1中で図示したように、移動追跡デバイス400は、動作検出ユニット200と通信することができる。1つの観点において、移動追跡デバイス400のコンポーネントのうちの1つ以上は、動作検出ユニット200のコンポーネントのうちの1つ以上と通信することができる。別の観点において、メモリ222は、メモリ402に結合されているか、またはメモリ402の一部として実現される。別の観点において、信号処理ユニット220は、信号処理ユニット401に結合されているか、または信号処理ユニット401の一部として実現される。別の観点において、信号処理ユニット220は、メモリ402に結合されている。別の観点において、信号処理ユニット401は、メモリ222に結合されている。
1つの観点において、移動追跡デバイス400は、動作検出ユニット200のコンポーネントをディスエーブルすることができ、例えば、信号処理ユニット220をスリープモードに置くことができる。
移動追跡デバイス400は、定期的に、または予め定められている時間において、その位置特定を決定してもよく、これは、位置決定を得ると呼ぶことがある。ここで記述するように、いくつかの構成において、移動追跡デバイス400または、移動追跡デバイス400に関係付けられている、追跡されているターゲットが移動していないことが決定できる場合、決定間の期間または時間を増加させることができる。移動追跡デバイス400、または移動追跡デバイス400に関係付けられている、追跡されているターゲットが移動していない場合、移動追跡デバイス400は、何度もその位置決定を新しくする必要がないかもしれず、いくつかの例において、位置決定を得ることをスキップできる。一方、移動追跡デバイス400、または移動追跡デバイス400に関係付けられている、追跡されているターゲットが移動している場合、移動追跡デバイス400は、必要に応じて、予め定められている時間で、またはより早く位置決定を得ることができる。
ここで記述するように、動作検出器/センサ210は、動作検出ユニット200が関係付けられている追跡されているターゲットの、動作の大きさ、動作の継続時間、変位、速度、加速などのような動作(動作データ121)を検出するために使用される。信号処理ユニット220は、動作検出器/センサ210から取得した動作データ121を処理する。処理された動作データ121は、ここでは動作情報223としてラベル表示される。信号処理ユニット220は、動作情報223をメモリ222中に記憶させる。動作情報223は、動作検出フラグ228を含むことができる。1つの観点において、動作検出フラグ228は、動作のしきい値量よりも大きいかまたは等しい動作が検出されたことを示す少なくとも1つの値(例えば、“十分な動作量”)に対して、および、動作のしきい値量よりも大きいかまたは等しい動作が検出されなかったことを示す少なくとも1つの他の値に対して設定できる。“十分な動作量”の値は、追跡されているターゲットにより、および適用パラメータにより決定されることを当業者は理解するだろう。1つの観点において、動作検出ユニット200は変位を計算し、移動追跡デバイス400が、最新の位置決定および変位を組み合せることによって、更新された位置を計算することを可能にする。移動追跡デバイス400は次に、意思決定のために更新された位置情報を使用してもよい。
動作情報223を移動追跡デバイス400によって使用して、新しい位置決定を得るかどうかを決定できる。1つの観点において、動作情報223が、動作のしきい値量よりも大きいかまたは等しい動作が検出されなかったことを示す場合、移動追跡デバイス400は、決定間の期間終わりにおいて、または予め定められている時間において、新しい位置決定を得なくてもよく、むしろ、新しい位置決定を得ることをスキップし、以前に決定された位置特定を維持するか、またはそれに依拠してもよい。1つの観点において、動作情報223が、動作のしきい値量よりも大きいまたは等しい動作が検出されたことを示す場合、移動追跡デバイス400は、決定間の期間の終わりにおいて、または予め定められている時間において、新しい位置決定を得るだろう。1つの観点において、移動追跡デバイス400が位置決定を得ることをスキップする回数は、予め定められている数に限定できる。
別の観点において、動作情報223が、動作のしきい値量よりも大きいかまたは等しい動作が検出されたことを示す場合、動作検出ユニット200は、予め定められている遅延Td192後に、移動追跡デバイス割込み信号321(図1)を発生させて、移動追跡デバイス400に割込みをかけるかまたは移動追跡デバイス400をウェイクアップさせ、移動追跡デバイス400にその位置特定情報を更新させることができる。別の観点において、移動追跡デバイス400は、動作検出ユニット200からの割込みをイネーブルにするかまたはディスエーブルすることができる。
図4は、本発明の実施形態にしたがった、追跡されているターゲットの動きを決定するためのフロー図を説明する。フロー図は、動作検出ユニット200によって実現される1つの実例となるルーチンを提供する。ブロック100において、信号処理ユニット220は、スリープモードにある。動作検出器/センサ210が動作を検出する場合、動作検出器/センサ210は、検出された動作に応答して、トリガ信号201(図3A)を発生させる。動作検出器/センサ210からのトリガ信号201は、スリープモードに割込みをかけて、スリープモードから信号処理ユニット220をウェイクさせる。代替の観点において、トリガ信号201は、動作検出器/センサ210からの中間信号101に応答して、信号処理ユニット220によって発生される。中間信号101は、動作検出器/センサ210によって動作が検出されていることを示す。
ブロック110において、動作検出ユニット200のカウンタ224およびアキュムレータ226は、ゼロ(すなわち、クリアされた状態)に設定される。代わりに、カウンタ224およびアキュムレータ226は、ゼロ以外の開始値を予め定めるように設定できる。当業者は、予め定められている開始値が、設計または適用パラメータに基づいて選ばれることを理解するだろう。
ブロック120において、動作検出器/センサ210によって測定された動作データ121がサンプリングされる。動きデータ121のサンプリングは、動作検出器/センサ210または信号処理ユニット220によって実行されてもよい。サンプリングが動作検出器/センサ210によって実行される場合、サンプル値が、信号処理ユニット220に送信される。サンプル値をメモリ222中に記憶させてもよい。1つの観点において、サンプリング周波数は、500Hzまたはより大きい値に設定される。
ブロック120に続いて、ブロック130において、カウンタ224がインクリメントされる。1つの観点において、インクリメントは、カウンタ224が時間をカウントするように設定される以降の時間単位である。代替の観点において、カウンタ224のインクリメントは、繰返しの単位であり、例えば、カウンタ224は、フロープロセスがブロック130を通して折り返す回数の量をカウントするように設定される。
ブロック140において、予め定められているカウント期間において動作検出器/センサ210によって作られた移行の数がカウントされる。1つの観点において、移行は、動作検出の発生として定義される。例えば、動作検出器/センサ210によって測定される、低信号レベルから高信号レベルへの移行の数をカウントしてもよい。または、高信号レベルから低信号レベルへの移行の数をカウントしてもよい。代わりに、低信号レベルから高信号レベルへの移行の数および高信号レベルから低信号レベルへの移行の数をカウントしてもよい。移行を定義するパラメータは、本開示の範囲に影響を及ぼすことなく設計または適用パラメータにしたがって変化してもよいことを当業者は理解するだろう。
1つの観点において、動作検出器/センサ210が、移行をカウントする。別の観点において、信号処理ユニット220が移行をカウントする。1つの観点において、カウントされた移行の数は、メモリ222中に記憶される。1つの観点において、カウント期間は1秒に設定される。
ブロック150において、カウントされた移行の数が、2つのしきい値、高いしきい値(ハイTH)および低いしきい値(ローTH)と比較される。1つの観点において、この比較は、信号処理ユニット220によって実施される。カウント期間中にカウントされた移行の数がハイTHよりも大きい場合、ブロック160に進む。カウント期間中にカウントされた移行の数がローTHよりも小さい場合、ブロック170に進む。その他の場合はブロック180に進む。すなわち、カウント期間中にカウントされた移行の数がローTHよりも大きいかまたは等しく、かつ、ハイTHよりも小さいかまたは等しい場合、ブロック180に進む。1つの観点において、ハイTHの値は2に設定され、ローTHの値は1に設定される。当業者は、ハイTHおよびローTHの値が、限定的ではないが、サンプリング周波数のようなシステムパラメータ、または、使用される動作検出器/センサの固有のパラメータにしたがって選ばれてもよいことを理解するだろう。当業者はまた、ブロック150からブロック160または170のいずれかにルーチンが進むが、ブロック150およびブロック180の間のダッシュでできた矢印によって図4中で図示されるように、ブロック150から直接ブロック180に進まないように、ハイTHおよびローTHの値を選択してもよいことを理解するだろう。1つの観点において、ブロック150における移行の数は、特定の適用にしたがって、別の適切な指示によって取って代わられる。
図3Bは、メモリ中に記憶されるさまざまな変数および予め定められているパラメータを示す。メモリは、動作検出ユニットメモリ222および/または移動追跡デバイスメモリ402からのメモリで構成されてもよい。アキュムレータの正の増分161、アキュムレータの負の増分171、予め定められているアキュムレータ制限181、しきいカウンタ最大値191、予め定められている遅延Td192、カウンタ値225、アキュムレータ値227、動作検出フラグ228、移動追跡デバイス割込みフラグ311、最大スキップカウント405、移動追跡デバイス非請求決定フラグ406およびスキップカウンタ初期値501を示す。パラメータは、ROM、RAMおよび/またはこれらに類似するものにおいて保持してもよい。これらの変数および予め定められているパラメータを、動作検出ユニットメモリ222および/または移動追跡デバイスメモリ402からのいずれかのメモリ中に記憶させてもよい。
ブロック160において、ブロック180に進む前に、予め定められているアキュムレータの正の増分161が、アキュムレータ226において見出される値(アキュムレータ値227)に加えられる。したがって、カウントされた移行の数が、ハイTHよりも大きい場合、アキュムレータ値227が、例えば、予め定められているアキュムレータの正の増分161によってインクリメントされる。ブロック170において、ブロック180に進む前に、アキュムレータ値227が、予め定められているアキュムレータの負の増分171によってデクリメントされる。したがって、カウントされた移行の数がローTHよりも小さい場合、アキュムレータ値227は、予め定められているアキュムレータの負の増分171によって減少される。1つの観点において、アキュムレータの負の増分171は、1に設定される。1つの観点において、アキュムレータの正の増分161は、5に設定される。カウント期間中にカウントされた移行の数が、ローTHよりも大きいかまたは等しく、かつ、ハイTHよりも小さいかまたは等しい場合、アキュムレータ値227は変更されない。1つの観点において、ブロック150、160および170の特徴は、著しい動作を検出でき、一方で、小さい動きに起因する誤ったアラームを回避できる、速いアタックおよび/または遅い遅延を結果として生じてもよい。
ブロック180において、アキュムレータ値227は、予め定められているアキュムレータ制限181と比較される。1つの観点において、比較は信号処理ユニット220によって実行される。予め定められているアキュムレータ制限181の値は、動作検出ユニット200の感度に対応する。
アキュムレータ値227が、予め定められているアキュムレータ制限181に等しいかまたはそれよりも大きい場合、動きアラーム186がブロック185において発生される。1つの観点において、動きアラーム186は、動作のしきい値量よりも大きいかまたは等しい動作が検出されたことを示す値に、動作検出フラグ228を設定することを含んでいてもよい。
ブロック185から、ブロック300に進んで、メモリ222中に動作情報223を記憶させる。さらに、ブロック300において、動作検出ユニット200は、信号処理ユニット220をスリープモードに進ませ、動作検出器/センサ210の割込みをディスエーブルすることができる。動作検出器/センサの割込みがディスエーブルされる1つの理由は、動作情報223が移動追跡デバイス400に利用可能となるまで、メモリ222中に記憶されている動作情報223に上書きすることを防ぐことである。別の理由は、電力を節約することである。代わりに、動作情報223は、検出された動作の、1つよりも多い例を含むことができ、そのケースでは、動作検出器の割込みがイネーブルされたままであることを当業者は理解するだろう。別の観点において、新しい動作情報223がメモリ222中に記憶されている以前の動作情報223よりも大きい動作に対応する場合、新しい動作情報223がメモリ222中に記憶される。
アキュムレータ値227が、予め定められているアキュムレータ制限181よりも小さい場合、ブロック190に進み、ブロック190において、アキュムレータ値227が値ゼロと比較される。当業者は、設計選択および適用パラメータに基づいて、ゼロ以外の別の値を選ぶことができることを理解するだろう。1つの観点において、値ゼロは最初の繰返しを表す。アキュムレータ値227がゼロよりも大きくない場合、ブロック199に進み、信号処理ユニット220をスリープモードに置き、動作検出器/センサ210の割込みがまだイネーブルにされていない場合、それらをイネーブルにする。
アキュムレータ値227がブロック190の比較においてゼロより大きい場合、ブロック195において、カウンタ224の値(カウンタ値225)が、しきいカウンタ最大値191と比較される。
しきいカウンタ最大値191は、動作データ121がサンプリングされる回数の量を示す、予め記憶されているしきい値である。代替の観点において、しきいカウンタ最大値191は、サンプリングが継続する持続時間を示す、予め記憶されているしきい値である。1つの例において、しきいカウンタ最大値191は、20秒に設定される。別の例において、しきいカウンタ最大値191は、無限に設定される。この観点において、動作検出ユニット200は、十分な動きが検出されるまで、動作検出器/センサユニットのサンプリングを継続するだろう。
カウンタ224の値がしきいカウンタ最大値191よりも小さい場合、フロープロセスはブロック120に戻り、動作データ121が再度サンプリングされる。カウンタ224の値がしきいカウンタ最大値191よりも大きいかまたは等しい場合、ブロック199に進み、信号処理ユニット220をスリープモードに進ませ、動作検出器/センサ210の割込みがまだイネーブルにされていない場合、それらをイネーブルにする。1つの観点において、カウンタ値225がしきいカウンタ最大値191に等しいかまたはそれよりも大きい場合、動作検出フラグ228がクリアされるか、または、動作のしきい基準に適合するのに不十分な動作が検出されたことを示す値に設定されてもよい。当業者は、本開示の範囲に影響を及ぼすことなく、他のしきい基準を設定できることを理解するだろう。
1つの観点において、移動追跡デバイス400に割込みをかけるべきであるかどうかを示すために、移動追跡デバイス割込みフラグ311が信号処理ユニット220により設定される。ブロック310において、移動追跡デバイス割込みフラグ311のステータスがチェックされる。1つの観点において、追跡されているターゲットの十分な動きが検出されている場合に、移動追跡デバイス割込みフラグ311は、移動追跡デバイス400に割込みをかけるべきであることを示す少なくとも1つの値を含む。別の観点において、移動追跡デバイス割込みフラグ311は、移動追跡デバイス400に割込みをかけるべきではないことを示す少なくとも1つの値を含む。当業者は、移動追跡デバイス割込みフラグ311の値がさまざまな方法で設定できることを理解するだろう。例えば、移動追跡デバイス割込みフラグ311の値は、移動追跡デバイス400、信号処理ユニット220、または、移動追跡デバイス400のユーザによって設定できる。当業者は、移動追跡デバイス割込みフラグ311を、メモリ222または移動追跡デバイスメモリ402中に記憶させてもよいことを理解するだろう。
移動追跡デバイス割込みフラグ311の値が、移動追跡デバイス400に割込みをかけるべきではないことを示す場合、動作検出ユニットのルーチンはブロック100に戻る。ブロック320において、移動追跡デバイス割込みフラグ311の値が、移動追跡デバイス400に割込みをかけるべきであることを示す場合、動作検出ユニット200は、移動追跡デバイス割込み信号321を発生させて、移動追跡デバイス400に割込みをかける。1つの観点において、移動追跡デバイス割込み信号321は、移動追跡デバイス割込み信号発生ユニット322(図3A)によって発生させてもよい。移動追跡デバイス割込み信号発生ユニット322は、信号処理ユニット220の一部であってもよく、または、バッファのような、動作検出ユニット200内ではないコンポーネントであってもよい。
移動追跡デバイス割込み信号321は、予め定められている遅延Td192後に、移動追跡デバイス400に伝達される。代替として、移動追跡デバイス割込み信号321は、予め定められている遅延Td192後に発生される。当業者は、予め定められている遅延Td192の値がさまざまな方法で設定できることを理解するだろう。例えば、予め定められている遅延Td192の値は、移動追跡デバイス400、信号処理ユニット220、または、移動追跡デバイス400のユーザによって設定できる。当業者は、予め定められている遅延Td192の値をメモリ222または移動追跡デバイスメモリ402中に記憶させてもよいことを理解するだろう。
移動追跡デバイス400は、実現される場合に動作検出フラグ228を含む動作情報223を使用して、最後の位置決定を更新するかどうかを決定する。1つの観点において、動作情報223が、十分な動作が検出されなかったことを示す場合、移動追跡デバイス400は、位置決定を得ることをスキップできる。動作情報223が、十分な動作が検出されたことを示す場合、移動追跡デバイス400は、新しい位置決定を得ることができる。1つの観点において、移動追跡デバイス割込み信号321を使用して、通常よりも迅速に、移動追跡デバイス400に位置決定を得させることができる。
1つの観点において、移動追跡デバイス400は、位置決定を得る前に、動作検出フラグ228のステータスをチェックする。動作検出フラグ228が、十分な動作が検出されたことを示す場合、例えば、動作検出フラグ228が設定されている場合、移動追跡デバイス400は位置決定を得る。動作検出フラグ228が、十分な動きが検出されなかったことを示す場合、例えば、動作検出フラグ228がクリアされている場合、移動追跡デバイス400が、予め定められている最大の回数だけ、位置決定を得ることをすでにスキップしているケースでは、移動追跡デバイス400は位置決定を得るが、そうでない限り、移動追跡デバイス400は位置決定を得ることをスキップする。1つの観点において、移動追跡デバイススキップカウンタ404は、移動追跡デバイス400が新しい位置決定により最後の位置決定を更新することをスキップする回数をカウントする。
図5および図6は、本発明の実施形態にしたがって、位置決定を更新するかどうかを決定するための実例となるフロー図である。図5において、移動追跡デバイス400が位置決定を更新すべきであるかどうかを決定するための観点の実例となるフロー図を提供する。以前に示したように、1つの観点において、移動追跡デバイス400は、移動追跡デバイススキップカウンタ404を含む。移動追跡デバイススキップカウンタ404は、移動追跡デバイス400が新しい位置決定により最後の位置決定を更新することをスキップする回数をカウントする。1つの観点において、移動追跡デバイススキップカウンタ404は、移動追跡デバイス400の信号処理ユニット401内で実現される。
フローは、ブロック500において開始する。代替として、ブロック500は一般的に、ブロック510に進む前に移動追跡デバイス400がターゲットを追跡する間に実行する、いくつかの組の命令またはフローを表す。ブロック510において、移動追跡デバイススキップカウンタ404は、スキップカウンタ初期値501に設定される。スキップカウンタ初期値501は、システム適用にしたがって、または、ユーザの選択にしたがって予め定めることができることを当業者は理解するだろう。
ブロック520において、移動追跡デバイス400は、動作検出フラグ228をチェックし、それが設定されているかどうかを決定する。1つの観点において、移動追跡デバイス400中の信号処理ユニット401が、動作検出フラグ228をチェックして、動作検出フラグ228が設定されているかどうかを決定する。動作検出フラグ228が設定されている場合、移動追跡デバイス400は最後の位置決定を更新するだろう(ブロック540)。ブロック540において最後の位置決定を更新した後、位置更新プロセスはブロック550において完了する。代替として、ブロック550からブロック500へのダッシュでできた矢印により図5中で示されるように、ブロック550は、ブロック500によって表されるフローの先の部分に戻ることができることを当業者は理解するだろう。
位置決定を更新するための多くの源が移動追跡デバイス400に利用可能であり、それらは限定的ではないが、米国グローバルポジショニングシステム(GPS)、ロシアのグロナスシステム、欧州のガリレオシステム、衛星システムの組み合わせから衛星を使用する何らかのシステム、または、将来開発される何らかの衛星システムのような、さまざまな衛星ポジショニングシステム(SPS)を含む。さらに、いくつかのポジショニング決定システムは、限定的ではないが、擬似衛星のような地上源、または、衛星および地上源の組み合わせを利用する。地上源の1つは、AFLTである。
ブロック520において、動作検出フラグ228が設定されていない場合、ブロック525に進み、そこでは、移動追跡デバイススキップカウンタ404が1単位だけインクリメントされる。移動追跡デバイススキップカウンタ404に対する単位の選択は、システム適用または設計選択に基づくことを当業者は理解するだろう。
ブロック530において、移動追跡デバイス400は、移動追跡デバイススキップカウンタ404の値が最大スキップカウント405より大きいかまたは大きくないかを決定する。最大スキップカウント405は、予め定められている最大しきい値であり、移動追跡デバイスが位置決定を得ることをスキップできる最大の回数を表す。最大スキップカウント405に対する値はシステム適用にしたがって設定されることを当業者は理解するだろう。1つの観点において、最大スキップカウント405は10に設定される。移動追跡デバイススキップカウンタ404の値が最大スキップカウント405より大きい場合、ブロック540に進み、ブロック540において、移動追跡デバイス400は最後の位置決定を更新するだろう。このように、位置決定が予め定められている期間(例えば、予め定められている回数)に対して更新されていない場合、動作検出フラグ228が設定されていない場合でさえ、最後の位置決定が更新される。移動追跡デバイススキップカウンタ404の値が最大スキップカウント405より大きくないことを移動追跡デバイス400が決定する場合、プロセスはブロック520に折り返す。1つの観点において、プロセスがブロック550において完了するとき、移動追跡デバイス400はスリープモードに入る。別の観点において、プロセスは、ブロック500において開始し、割込み信号により、移動追跡デバイス400をウェイクアップさせる。1つの観点において、待ち時間がブロック520に先立つ。待ち時間は、移動追跡デバイス400に関係付けられているパラメータに基づいて設定される。1つの例において、待ち時間は3分に設定される。
図4および図5の実例となるフロー図を使用して、人間を追跡できる。人間の動きを追跡する1つの観点において、移動追跡デバイス400は、決定の間隔ごとに位置決定を得るように設計される。別の観点において、ここで記述するパラメータを次のように設定できる。最大スキップカウント405は10に設定され、それは、移動追跡デバイス400が、最高で10回まで、決定を得ることをスキップすることを示す。アキュムレータの正の増分161の値は5に設定される。アキュムレータの負の増分171の値は1に設定される。予め定められているアキュムレータ制限181の値は55に設定される。動作検出ユニット200のカウンタ224は、1秒の期間でインクリメントされ、(動作検出器/センサ210によって検出される移行がカウントされる間の)カウント期間もまた、1秒に設定される。しきいカウンタ最大値191の値は、無限に設定される。移動追跡デバイス割込みフラグはクリアされる。この観点の動作を以下で簡単に説明する。
移動検出デバイス400は、位置決定を得る前に、動作検出フラグ228をチェックする。いかなる動きも検出されなかったことを動作検出ユニットが示す(例えば、動作検出フラグ228がクリアされる)場合、(最大スキップカウント405に対応する)位置決定を得るための10回の機会がスキップされているケースでは、移動追跡デバイス400は新しい位置決定を得るが、そうでない限り、移動追跡デバイス400は、位置決定を得ることをスキップする。動きが検出されたことを動作検出ユニット200が示す(例えば、動作検出フラグ228がハイに設定される)場合、移動追跡デバイス400はまた、新しい位置決定を得る。移動追跡デバイス400は、動作検出ユニット200によって割込みをかけられない。移動追跡デバイス400は、必要に応じて、ステータスの更新を動作検出ユニット200に求めるだろう。
別の観点において、移動追跡デバイス400は、位置決定と位置決定との間にスリープモードに入ることができる。1つの観点において、信号処理ユニット401がスリープモードに入ることを当業者は理解するだろう。1つの観点において、移動追跡デバイス400は、定期的に、または予め定められている時間においてウェイクアップし、動作情報223をチェックして、新しい位置決定を取得するかどうかを決定するだろう。
別の観点において、移動追跡デバイス400は、移動追跡デバイス非請求決定フラグ406を含む。移動追跡デバイス非請求決定フラグ406は、ローに設定されているか、またはクリアされていてもよく、あるいは、動作検出ユニット200が移動追跡デバイス400をウェイクアップさせるか、または移動追跡デバイス400に割込みをかけて、移動追跡デバイス400に、更新される位置決定をシーケンスから取得させることを、移動追跡デバイス400が許可しないことを示す値に設定されてもよい。移動追跡デバイス非請求決定フラグ406がローに設定されているかまたはクリアされているモードにおいて、移動追跡デバイス割込みフラグ311は、それに応じてローに設定されるかまたはクリアされてもよい。代替として、移動追跡デバイス非請求決定フラグ406がローに設定されているかまたはクリアされているモードにおいて、移動追跡デバイス割込み信号321が、移動追跡デバイス400によって無視されてもよい。
1つの観点において、移動追跡デバイス非請求決定フラグ406は、ハイに設定されていてもよく、または、動作検出ユニット200が移動追跡デバイス400をウェイクアップさせるか、または移動追跡デバイス400に割込みをかけて、更新される位置決定を取得させることを移動追跡デバイス400が許可できることを示す値に設定されていてもよい。動作検出ユニット200が移動追跡デバイス400をウェイクアップさせるか、または移動追跡デバイス400に割込みをかけることを移動追跡デバイス400が許可することを示す値に移動追跡デバイス非請求決定フラグ406が設定されているモードにおいて、移動追跡デバイス割割込みフラグ311はそれに応じてハイに設定されてもよい。
図6は、移動追跡デバイス非請求決定フラグ406がハイに設定されているとき、移動追跡デバイス400が位置決定を更新すべきであるかどうかを決定するための観点の実例となるフローズを提供する。図5において記述したブロックと同じである、図6において示されるブロックは、同じ番号を有する。これらのブロックに対する説明は、状況に対して必要でない限り、ここでは繰り返さない。
ブロック510において、移動追跡デバイススキップカウンタ404が、スキップカウンタ初期値501に設定される。スキップカウンタ初期値501は、システム適用にしたがって、または、ユーザの選択にしたがって予め定めることができることを当業者は理解するだろう。
ブロック551において、移動追跡デバイス400がスリープに置かれる。1つの観点において、“移動追跡デバイス400がスリープに置かれる”は、信号処理ユニット401がスリープに置かれることを意味する。ブロック560において、移動追跡デバイス400はウェイクアップしている。同様に、1つの観点において、信号処理ユニット401がスリープに置かれた場合、信号処理ユニット401がここではウェイクアップしている。ブロック560におけるウェイクアップは、移動追跡デバイス400によってもたらすことができる。1つの観点において、ウェイクアッププロセスは、ウォッチドッグタイマによってもたらされる。代替として、ブロック560におけるウェイクアップは、動作検出ユニット200によって発生される割込み信号321によってもたらすことができる。
ブロック570において、移動追跡デバイス400は、ウェイクアップが移動追跡デバイス割込み信号321によってもたらされたかどうかを評価する。1つの観点において、移動追跡デバイス400の信号処理ユニット401がチェックして、ウェイクアップが移動追跡デバイス割込み信号321によってもたらされたかどうかを決定する。ウェイクアップが移動追跡デバイス割込み信号321によってもたらされた場合、移動追跡デバイス400は位置決定を得て(ブロック540)、移動追跡デバイス400はスリープに戻る(ブロック551)。図6において示していないが、1つの観点において、ウェイクアップが移動追跡デバイス割込み信号321によってもたらされた結果として、新しい位置決定が得られる場合、移動追跡デバイス400がスリープに戻る前に、新しい位置決定が、例えば、ユーザに対して報告される。
ウェイクアップが、移動追跡デバイス割込み信号321によってもたらされなかった場合、移動追跡デバイス400はブロック520に進む。ブロック520において、移動追跡デバイス400は、動作検出フラグ228をチェックして、それが設定されているかどうかを決定する。1つの観点において、移動追跡デバイス400の移動追跡デバイス信号処理ユニット401が、動作検出フラグ228をチェックして、動作検出フラグ228が設定されているかどうかを決定する。動作検出フラグ228が設定されている場合、移動追跡デバイス400は、最後の位置決定を更新し(ブロック540)、移動追跡デバイス400はスリープに戻る(ブロック551)。
動作検出フラグ228が設定されていない場合(ブロック520)、移動追跡デバイススキップカウンタ404が1単位だけインクリメントされ(ブロック525)、移動追跡デバイス400は、移動追跡デバイススキップカウンタ404の値が最大スキップカウント405より大きいか、または大きくないかを決定する(ブロック530)。最大スキップカウント405は、移動追跡デバイス400が位置決定を得ることをスキップできる最大の回数を表している。最大スキップカウント405に対する値は、システム適用にしたがって設定されることを当業者は理解するだろう。1つの観点において、最大スキップカウント405は、10に設定される。移動追跡デバイススキップカウンタ404の値が最大スキップカウント405よりも大きい場合、移動追跡デバイス400は、最後の位置決定を更新するだろう(ブロック540)。このように、位置決定が予め定められている期間(例えば、予め定められている回数)に対して更新されていない場合、動作検出フラグ228が設定されていない場合でさえ、最後の位置決定が更新される。移動追跡デバイススキップカウンタ404の値が、最大スキップカウンタ405よりも大きくないことを移動追跡デバイス400が決定する場合(ブロック530)、プロセスはブロック551に折り返し、移動追跡デバイス400はスリープに戻る。
1つの観点において、個人財産のような資産を追跡できる。資産の追跡は、いくつかの観点において実現できる。資産追跡は、資産動き検出を伴うことができる。資産動き検出のための2つの実例となるモードは、移動追跡デバイス非請求決定フラグ406に基づいて実現できる。1つのモードの1つの観点において、移動追跡デバイス非請求決定フラグ406がローに設定されているか、またはクリアされている場合、図4および図5のフロー図は、資産を追跡するために使用できる1つの可能な観点を説明する。ローに設定されているか、またはクリアされている移動追跡デバイス非請求決定フラグ406をともなう動き検出を使用する資産追跡に対する1つの観点において、移動追跡デバイス400は、決定の間隔ごとに位置決定を得るように設計される。移動追跡デバイス非請求決定フラグ406がローに設定されているか、またはクリアされている、動き検出を使用する資産追跡に対する別の観点において、ここで記述するパラメータは次のように設定できる。最大スキップカウント405は10に設定され、それは、移動追跡デバイス400が、最高で10回まで、決定を得ることをスキップすることを示す。アキュムレータの正の増分161の値は16に設定される。アキュムレータの負の増分171の値は1に設定される。予め定められているアキュムレータ制限181の値は91に設定される。動作カウンタ224は、1秒の期間でインクリメントされ、(動作検出器/センサ210によって検出される移行がカウントされる間の)カウント期間もまた1秒に設定される。しきいカウンタ最大値191の値は20に設定される。移動追跡デバイス非請求決定フラグ406がローである(非請求決定がディスエーブルされる)ので、移動追跡デバイス割込みフラグは、ローまたはハイであってもよく、予め定められている遅延Td192は、16または他の何らかの値に設定されてもよい。この観点の動作を、以下で簡単に説明する。
移動追跡デバイス400は、位置決定を得る前に、動作検出フラグ228をチェックする。いかなる動きも検出されなかったことを動作検出ユニット200が示す(例えば、動作検出フラグ228はクリアである)場合、移動追跡デバイス400は、(最大スキップカウント405に対応する)位置決定を得るための10回の機会がスキップされているケースでは、新しい位置決定を得るが、そうでない限り、移動追跡デバイス400は、位置決定を得ることをスキップする。動きが検出されたことを動作検出ユニット200が示す(例えば、動作検出フラグ228がハイに設定される)場合、移動追跡デバイス400は、新しい位置決定を得る。
第2のモードの観点において、移動追跡デバイス非請求決定フラグ406がハイに設定される場合、図4および図6のフロー図は、資産を追跡するために使用できる1つの可能な観点を説明する。ハイに設定されている移動追跡デバイス非請求決定フラグ406をともなう動き検出を使用する資産追跡に対する1つの観点において、移動追跡デバイス400は、決定の間隔ごとに位置決定を得るように設計される。移動追跡デバイス非請求決定フラグ406がハイに設定されている、動き検出を使用する資産追跡に対する別の観点において、ここで記述するパラメータは次のように設定できる。最大スキップカウント405は10に設定され、それは、移動追跡デバイス400が、最高で10回まで、決定を得ることをスキップすることを示す。アキュムレータの正の増分161の値は16に設定される。アキュムレータの負の増分171の値は1に設定される。予め定められているアキュムレータ制限181の値は91に設定される。カウンタ224は、1秒の期間でインクリメントされ、(動作検出器/センサ210によって検出される移行がカウントされる間の)カウント期間もまた1秒に設定される。しきいカウンタ最大値191の値は20に設定される。移動追跡デバイス非請求決定フラグ406がハイである(非請求決定がイエーブルにされる)ので、移動追跡デバイス割込みフラグは、ハイに設定すべきであり、予め定められている遅延Td192は、16に設定してもよい。この観点の動作を、以下で簡単に説明する。
移動追跡デバイス400は、ウェイクアップ期間ごとに、および位置決定を得る前に、動作検出フラグ228をチェックする。これが、位置決定を含むはずであるウェイクアップであり、かつ、動きが検出されたことを動作検出ユニット200が示す(例えば、動作検出フラグ228がハイに設定される)場合、移動追跡デバイス400は新しい位置決定を得る。これが、位置決定を含むはずであるウェイクアップであり、かつ、いかなる動きも検出されなかったことを動作検出ユニット200が示す(例えば、動作検出フラグ228がクリアである)場合、移動追跡デバイスは、(最大スキップカウント405に対応する)位置決定を得るための10回の機会がスキップされているケースでは新しい位置決定を得るが、そうでない限り、移動追跡デバイスは、位置決定をスキップする。これが、通常位置決定を含まないウェイクアップであるが、動作検出ユニット200が移動追跡デバイス400をウェイクアップさせているか、または、そうではなく、動きが検出されたことを動作検出ユニット200が移動追跡デバイス400に通知する(例えば、動作検出フラグ228がハイに設定される)場合、移動追跡デバイス400は新しい位置決定を得て、ユーザ、通信ネットワーク、あるいは、移動追跡デバイス400が一部であるSPSまたは他のポジショニング決定システムのような追跡システムに対して、非請求の新しい位置決定を送る。
別の観点において、動作検出ユニット200は、デバウンスを実現して、十分な動きが検出されているかどうかを決定できる。バウンシングとは、動作検出器/センサのような電子デバイスにおける何らかの2つの金属の接点が、閉じたりまたは開いたりするときに複数の信号を発生させる傾向であることを当業者は理解するだろう。デバウンシングは、ハードウェア構成またはソフトウェア構成とすることができ、動作検出器/センサのようなデバイスにおける接点の、単一の開くこと、または閉じることに対して、単一の信号だけが作用されるのを保証することを当業者はさらに理解するだろう。デバウンシングは、動きの1つの表示だけが、所定のデバウンス時間期間内に確実に登録されるのを支援する。当業者は、デバウンス時間期間が設計選択または適用パラメータにしたがって設定されることを理解するだろう。
図7、図8および図9は、本発明の実施形態にしたがって、追跡されているターゲットの動きを決定するための実例となるフロー図である。
図7において、デバウンス論理を利用する動作検出ユニット200の観点の実例となるフロー図を提供する。図4中で記述されているのと同じブロックである、図7中で示されるブロックは、同じ番号を有する。これらのブロックの説明は、状況に対して必要でない限り、ここでは繰り返さない。
ブロック100において、信号処理ユニット220は、スリープモードにある。動作検出器/センサ210が動作を検出する場合、動作検出器/センサ210は、検出した動作に応答して、トリガ信号201を発生させる。動作検出器/センサ210からのトリガ信号201は、スリープモードに割込みをかけて、信号処理ユニット220をスリープモードからウェイクアップさせるだろう。代替の観点において、トリガ信号201は、動作検出器/センサ210からの中間信号101に応答して、信号処理ユニット220によって発生される。中間信号101は、動作が動作検出器/センサ210によって検出されていることを示す。
ブロック600において、動作検出ユニット200は、デバウンスを実行する。1つの観点において、信号処理ユニット220は、デバウンスアルゴリズムを実行するだろう。代替として、当業者は、デバウンスがハードウェアによって実現できることを理解するだろう。
ブロック610において、動作検出ユニット200はデバウンスの結果を使用して、動きが検出されたかどうかを決定する。動きが検出されなかった場合、ルーチンはブロック100に戻り、信号処理ユニット220はスリープモードに置かれる。
ブロック610において、動きが検出された場合、ルーチンはブロック300に進んで、動作情報223をメモリ222に記憶させる。1つの観点において、動作情報223は、動作検出フラグ228を含む。別の観点において、動作情報223は、検出された動きに関する、信号処理ユニット220によって処理される情報を含む。別の観点において、動作情報223は、変位、速度、加速、動作の大きさまたは持続時間に関する情報、あるいは、追跡されているターゲットの動作に関する他の情報を含む。
さらに、ブロック300において、動作検出ユニット200は、信号処理ユニット220をスリープモードに進ませて、動作検出器/センサ210の割込みをディスエーブルすることができる。代替として、動作情報223は、検出された動きの、1つより多い例を含むことができ、そのケースでは、動作検出器の割込みはイネーブルにされたままであることを当業者は理解するだろう。別の観点において、新しい動作情報223がメモリ222中に記憶されている動作情報223よりも大きい動きに対応する場合、新しい動作情報223がメモリ222中に記憶される。
ブロック310において、移動追跡デバイス割込みフラグ311のステータスがチェックされる。1つの観点において、移動追跡デバイス割込みフラグ311は、追跡されているターゲットの十分な動きが検出されている場合に移動追跡デバイス400に割込みをかけるべきであることを示す少なくとも1つの値を含む。別の観点において、移動追跡デバイス割込みフラグ311は、移動追跡デバイス400に割込みをかけるべきではないことを示す少なくとも1つの値を含む。移動追跡デバイス割込みフラグ311の値は、さまざまな方法で設定できることを当業者は理解するだろう。例えば、移動追跡デバイス割込みフラグ311の値は、移動追跡デバイス400、信号処理ユニット220、または移動追跡デバイス400のユーザによって設定できる。移動追跡デバイス割込みフラグ311は、メモリ222または移動追跡デバイスメモリ402中に記憶させてもよいことを当業者は理解するだろう。
移動追跡デバイス割込みフラグ311の値が、移動追跡デバイス400に割込みをかけるべきでないことを示す場合、動作検出ユニットのルーチンはブロック100に戻る。移動追跡デバイス割込みフラグ311の値が、移動追跡デバイス400に割込みをかけるべきであることを示す場合、動作検出ユニット200は、移動追跡デバイス割込み信号321を発生させて、移動追跡デバイス400に割込みをかける。1つの観点において、移動追跡デバイス割込み信号321は、移動追跡デバイス割込み信号発生ユニット322によって発生されてもよい。移動追跡デバイス割込み信号発生ユニット322は、信号処理ユニット220、または、バッファのような、動作検出ユニット200内にはないコンポーネントであってもよい。
移動追跡デバイス割込み信号321は、予め定められている遅延Td192後に移動追跡デバイス400に伝達される。代替として、移動追跡デバイス割込み信号321は、予め定められている遅延Td192後に発生される。当業者は、予め定められている遅延Td192の値がさまざまな方法で設定できることを理解するだろう。例えば、予め定められている遅延Td192の値は、移動追跡デバイス400、信号処理ユニット220、または移動追跡デバイス400のユーザによって設定できる。当業者は、予め定められている遅延Td192の値をメモリ222または移動追跡デバイスメモリ402中に記憶させてもよいことを理解するだろう。
移動追跡デバイス400は、実現される場合、動作検出フラグ228を含む動作情報223を使用して、最後の位置決定を更新するかどうかを決定する。1つの観点において、動作情報223が、十分な動作が検出されなかったことを示す場合、移動追跡デバイス400は、位置決定を得ることをスキップする。動作情報223が、十分な動作が検出されたことを示す場合、移動追跡デバイス400は新しい位置決定を得る。1つの観点において、移動追跡デバイス割込み信号321は、通常よりも迅速に、移動追跡デバイス400に位置決定を得させる。
図8は、信号処理ユニット220によって実現される、デバウンスを利用する動作検出ユニット200の観点の実例となるフロー図である。図4および図7中で記述されているのと同じブロックである、図8中で示されるブロックは、同じ番号を有する。これらのブロックの説明は、状況に対して必要でない限り、ここでは繰り返さない。
ブロック100において、信号処理ユニット220はスリープモードにある。動作検出器/センサ210が動作を検出する場合、動作検出器/センサ210は、検出した動きに応答して、トリガ信号201を発生させる。動作検出器/センサ210からのトリガ信号201は、スリープモードに割込みをかけて、スリープモードから信号処理ユニット220をウェイクさせるだろう。代替の観点において、トリガ信号201は、動作検出器/センサ201からの中間信号101に応答して、信号処理ユニット220によって発生される。中間信号101は、動作が動作検出器/センサ210によって検出されていることを示す。
ブロック120において、動作検出器/センサ210によって測定された動作データ121がサンプリングされる。動作データ121のサンプリングは、動作検出器/センサ210または信号処理ユニット220によって実行されてもよい。サンプリングが動作検出器/センサ210によって実行される場合、サンプル値が、信号処理ユニット220に送信される。サンプル値をメモリ222中に記憶させてもよい。1つの観点において、サンプリング周波数は、500Hzまたはより大きい値に設定される。
ブロック140において、予め定められているカウント期間において動作検出器/センサ210によって作られた移行の数がカウントされる。例えば、動作検出器/センサ210によって測定された、低信号レベルから高信号レベルへの移行の数をカウントしてもよい。または、高信号レベルから低信号レベルへの移行の数をカウントしてもよい。代替として、低信号レベルから高信号レベルへの移行の数、および高信号レベルから低信号レベルへの移行の数をカウントしてもよい。移行を定義するパラメータは、本開示の範囲に影響を及ぼすことなく、設計または適用パラメータにしたがって変化してもよいことを当業者は理解するだろう。
1つの観点において、動作検出器/センサ210が、移行をカウントする。別の観点において、信号処理ユニット220が移行をカウントする。1つの観点において、カウントされた移行の数は、メモリ222中に記憶される。1つの観点において、カウント期間は、1秒に設定される。
ブロック151において、カウントされた移行の数が、1つのしきい値(ハイTH)と比較される。1つの観点において、この比較は、信号処理ユニット220によって実施される。カウント期間中にカウントされた移行の数が、ハイTHよりも大きくない場合、十分な動きが検出されておらず、ルーチンはブロック100に戻り、信号処理ユニット220はスリープモードに置かれる。カウント期間中にカウントされた移行の数がハイTHよりも大きい場合、十分な動きが検出されている。
ハイTHの値は、限定的ではないが、サンプリング周波数のようなシステムパラメータ、または、使用される動作検出器/センサの固有のパラメータにしたがって選ばれてもよいことを当業者は理解するだろう。
ブロック151において、十分な動きが検出された場合、実例となるルーチンはブロック300に進む。実例となるルーチンの残りは、図4および図7と、それらの対応する説明とにおいて提供されているものと同じであり、ここでは繰り返さない。
個人財産のような資産の追跡を伴う別の観点において、資産の追跡は、資産動き検出に関してトリガすることを伴うことができる。資産トリガ検出に対する2つの実例となるモードは、移動追跡デバイス非請求決定フラグ406に基づいて実現できる。1つのモードの1つの観点において、移動追跡デバイス非請求決定フラグ406がローに設定されているか、またはクリアされている場合、図5および図8のフロー図は、資産トリガ検出を実行するために使用できる1つの可能な構成を説明する。ローに設定されているか、またはクリアされている移動追跡デバイス非請求決定フラグ406をともなう動き検出を使用する資産トリガ検出に対する1つの観点において、移動追跡デバイス400は、決定の間隔ごとに位置決定を得るように設計される。移動追跡デバイス非請求決定フラグ406がローに設定されているか、またはクリアされている、動き検出を使用する資産追跡に対する別の観点において、ここで記述するパラメータは次のように設定できる。最大スキップカウント405は10に設定され、それは、移動追跡デバイス400が、最高で10回まで、決定を得ることをスキップすることを示す。(動作検出器/センサ210によって検出される移行がカウントされる間の)カウント期間は1秒に設定される。移動追跡デバイス非請求決定フラグ406がローである(非請求決定がディスエーブルされる)ので、移動追跡デバイス割込みフラグは、ローまたはハイであってもよく、予め定められている遅延Td192は、8または他の何らかの値に設定されてもよい。この観点の動作を以下で簡単に説明する。
移動追跡デバイス400は、位置決定を得る前に、動作検出フラグ228をチェックするはずである。いかなる動きも検出されなかったことを動作検出ユニット200が示す(例えば、動作検出フラグ228がクリアである)場合、移動追跡デバイス400は、(最大スキップカウント405に対応する)位置決定を得るための10回の機会がスキップされているケースでは、新しい位置決定を得るが、そうでない限り、移動追跡デバイス400は、位置決定を得ることをスキップする。動きが検出されたことを動作検出ユニット200が示す(例えば、動作検出フラグがハイに設定される)場合、移動追跡デバイス400は、新しい位置決定を得る。
第2のモードの観点において、移動追跡デバイス非請求決定フラグ406がハイに設定される場合、図6および図8のフロー図は、資産トリガ検出を実行するために使用される1つの可能な観点を説明する。ハイに設定されている移動追跡デバイス非請求決定フラグ406をともなう動き検出を使用する資産トリガ検出に対する1つの観点において、移動追跡デバイス400は、決定の間隔ごとに位置決定を得るように設計される。ハイに設定されている移動追跡デバイス非請求決定フラグ406をともなう動き検出を使用する資産トリガ検出に対する別の観点において、ここで記述するパラメータは次のように設定できる。最大スキップカウント405は10に設定され、それは、移動追跡デバイス400が、最高で10回まで、決定を得ることをスキップすることを示す。(動作検出器/センサ210によって検出される移行がカウントされる間の)カウント期間は、1秒に設定される。移動追跡デバイス非請求決定フラグ406がハイである(非請求決定がイエーブルにされる)ので、移動追跡デバイス割込みフラグは、ハイに設定すべきであり、予め定められている遅延Td192は、8に設定してもよい。この観点の動作を以下で簡単に説明する。
移動追跡デバイス400は、ウェイクアップ期間ごとに、および位置決定を得る前に、動作検出フラグ228をチェックする。これが、位置決定を含むはずであるウェイクアップであり、かつ、動きが検出されたことを動作検出ユニット200が示す(例えば、動作検出フラグ228がハイに設定される)場合、移動追跡デバイス400は新しい位置決定を得る。これが、位置決定を含むはずであるウェイクアップであり、かつ、いかなる動きも検出されなかったことを動作検出ユニット200が示す(例えば、動作検出フラグ228がクリアである)場合、移動追跡デバイス400は、(最大スキップカウント405に対応する)位置決定を得るための10回の機会がスキップされているケースでは新しい位置決定を得るが、そうでない限り、移動追跡デバイス400は、位置決定をスキップする。これが、通常位置決定を含まないウェイクアップであるが、動作検出ユニット200が移動追跡デバイス400をウェイクアップさせているか、または、そうではなく、動きが検出されたことを動作検出ユニット200が移動追跡デバイス400に通知する(例えば、動作検出フラグ228がハイに設定される)場合、移動追跡デバイス400は新しい位置決定を得て、ユーザ、通信ネットワーク、あるいは、移動追跡デバイス400が一部である、SPSまたは他のポジショニング決定システムのような追跡システムに対して、非請求の新しい位置決定を送る。
図9は、3つのレベルの量子化器を使用することによって、位置決定を得る前に動作イベントを決定する方法を示し、その結果、位置決定が得られる数を制限することによって、電力が節約される。ブロック700において、動作検出ユニット200が、アキュムレータ226をクリアすることによってループを初期化する。メモリ中の変数またはプロセッサ中のレジスタが、アキュムレータ226として機能してもよい。ブロック710において、動作検出ユニット200が、サンプリングして、カウントする。最初に、動作検出ユニット200は、無指向性傾斜および振動センサのような動作センサをサンプリングして、動作データを結果として生じる、ターゲットの動きを測定する。サンプリングは、予め規定されているサンプリングレートで(例えば、500Hzのレートで)発生してもよい。次に、動作検出ユニット200は、時間期間(例えば、1秒)にわたって、この動作データを処理してもよい。処理は、移行(例えば、ローからハイへの移行)の数をカウントすることを必然的に伴っていてもよく、それゆえに、動作情報として、期間にわたった移行の総カウントを結果として生じる。
ブロック720において、期間にわたった移行(すなわち、動作データ)の総数は、総数を2つのしきい値と比較することによって分類され、その結果、量子化の3つのレベルを生じる。移行の総数が、より高いしきい値を超える場合(count>ハイ_TH)、動作検出ユニット200は、サンプリングされた期間に対して動きを宣言して、ブロック730に進んで、累算された値を増加させる。移行の総数が、第2の異なるより低いしきい値を超える場合(count<ロー_TH)、動作検出ユニット200は、サンプリングされた期間に対して動きを宣言せず、ブロック740に進んで、累算された値を減少させる。移行の総数が、より高いしきい値とより低いしきい値との間に入る場合(ハイ_TH>=count>=ロー_TH)、動作検出ユニット200は、累算された値の調整をバイパスする。
ブロック730において、動作検出ユニット200は、正の増分によってアキュムレータ226をインクリメントする。説明目的のために、ハイ_THが2であり、ロー_THが1であり、正の増分が1.0であると仮定する。移行の総数が3またはより大きい場合、ブロック730が実行されて、(0に初期化されている)アキュムレータ226は1.0に増加される。例えば、ブロック710および720を通る第2のパスが、移行の別の総数が3またはより大きいことを結果として生じると、ブロック730は再度実行されて、アキュムレータ226は、正の増分によって1.0から2.0に増加される。処理はブロック750に続く。
ブロック740において、動作検出ユニット200は、負の増分によってアキュムレータ226をデクリメントする。説明目的のために、再度、ハイ_THが2であり、ローTHが1であり、負の増分が0.2であると仮定する。正の増分(すなわち、正の増分の大きさ)が、負の増分(すなわち、負の増分の大きさ)よりも大きい場合、動作検出ユニット200は、一定の動きでより頻繁にトリガし、急な、または一貫性のない動きであまり頻繁にトリガしない。移行の総数が0(すなわち、ロー_THよりも小さい)場合、ブロック740が実行されて、アキュムレータ226(以前は、2.0)が1.8に減少される。例えば、ブロック710および720を通る第2のパスが、0の、移行の別の総数を結果として生じると、ブロック740が再度実行されて、負の増分によってアキュムレータ226が1.8から1.6に減少される。処理は、ブロック750に続く。
ブロック750において、動作検出ユニット200が、アキュムレータ226をアキュムレータ制限181と比較する。アキュムレータ制限181は、検出器の感度に影響を与える。より高い値は感度を低くし、より低い値は感度を上げる。アキュムレータ226がアキュムレータ制限181に到達する場合、動作検出ユニット200は、動きアラームを発生させてもよい。ブロック780中で示したように、動きアラームを使用して、移動追跡ユニット400に割込みをかけるか、またはウェイクさせて位置決定を開始させ、アキュムレータ266をクリアしてもよい。動きアラームは、割込みであってもよく、または、フラグの定期的なチェックの許可を開始して、移動追跡ユニット400をウェイクさせるかどうかを決定してもよい。
代替として、図9B中で示すように、処理は750から760に進んで、動きアラームを遅らせてもよい。アキュムレータ266がアキュムレータ制限181に到達する場合、動作検出ユニット200は、動きイベントカウンタをインクリメントしてもよい。ブロック770において、動作検出ユニット200は、動きカウンタをしきい値と比較する。しき値を上回る場合、ブロック780において、動作検出ユニット200は、動きアラームを発生させてもよい。再度、動きアラームを使用して、移動追跡ユニット400に割込みをかけるか、またはウェイクさせて、位置決定を開始させてもよい。
ブロック780後、または、(アキュムレータ266がアキュムレータ制限よりも小さい場合)ブロック750から、処理はブロック750に折り返して、次の期間でサイクルを繰り返す。
ここで記述した方法体系は、特定の特徴および/または例にしたがって、適用次第で、さまざまな手段により実現してもよい。例えば、そのような方法体系は、ハードウェア、ファームウェア、ソフトウェア、および/またはこれらの組み合わせにおいて実現してもよい。ハードウェアの構成において、例えば、処理ユニットは、1つ以上の特定用途向け集積回路(ASIC)、デジタル信号プロセッサ(DSP)、デジタル信号処理デバイス(DSPD)、プログラム可能論理デバイス(PLD)、フィールドプログラム可能ゲートアレイ(FPGA)、プロセッサ、制御装置、マイクロ制御装置、マイクロプロセッサ、電子デバイス、ここで記述した機能を実行するように設計された他のデバイスユニット、および/またはこれらの組み合せ内で実現されてもよい。
ここでの説明および特徴に対するさまざまな修正が当業者に容易に明らかになり、ここで規定した一般的な原理は、本開示の精神または範囲から逸脱することなく他の観点に適用してもよい。