(57)【特許請求の範囲】
【請求項１】
モバイルデバイスに関するコンテキスト推定を実行するための方法であって、
少なくとも第1のセンサからデータサンプルを、コンテキストアウェアセンサマネージャ(CASM)によって受け取るステップと、
前記少なくとも第1のセンサからの前記データサンプルの第1の分類を、前記CASMによって実行するステップと、
前記少なくとも第1のセンサからの以前のデータサンプルの以前のデータサンプル分類から前記第1のデータサンプル分類への、信頼度未達をトリガするように事前決定された分類の変更とマッチするような分類の変更を検出することによって、前記第1の分類に関する信頼度値が第1の信頼度しきい値を満たせていないことを、前記CASMによって決定するステップと、
前記第1の分類の前記信頼度値が前記第1の信頼度しきい値を満たせていないという決定に応答して、
（１）第2のセンサを、前記CASMによって起動するステップと、
（２）前記起動した第2のセンサからの第2のデータサンプルの第2の分類を、前記CASMによって実行するステップと、
（３）前記第2の分類に関する信頼度値が第2の信頼度しきい値を満たすことを、前記CASMによって決定するステップと、
（４）前記第2の分類に関する信頼度値が前記第2の信頼度しきい値を満たすという決定に応答して、前記第1の分類を使用するのではなく前記第2の分類を使用して前記モバイルデバイスに関するコンテキスト推定を、前記CASMによって決定するステップと、
を含む方法。
【請求項２】
前記第2の分類に関する第2の信頼度値を、前記CASMによって決定するステップと、
前記第2の分類の前記第2の信頼度値が信頼度しきい値を満たせていないことを決定することに応答して、
（１）第3のセンサを、前記CASMによって起動するステップと、
（２）第3のデータサンプルの第3の分類を、前記CASMによって実行するステップと、
（３）前記第1の分類および前記第2の分類を使用することなく、前記第3の分類を使用してコンテキスト推定を、前記CASMによって決定するステップと、
をさらに含む請求項1に記載の方法。
【請求項３】
少なくとも第1のセンサからデータサンプルを受け取る前記ステップは、2つ以上のセンサからデータサンプルを、前記CASMによって受け取るステップを含む、請求項1に記載の方法。
【請求項４】
前記信頼度値は、前記第1のデータサンプルが正確に分類される確率、履歴データセットのデータサンプルに対する前記第1のデータサンプルの比較、または最も近い分類と次に最も近い分類との間の差のうちの少なくとも1つに基づく、請求項1に記載の方法。
【請求項５】
前記少なくとも第1のセンサは第1のセンササブシステムの一部であるとともに前記第2のセンサは第２のセンササブシステムの一部であり、かつ前記第2のセンサを起動する前記ステップは、
前記第2のセンササブシステムを、前記CASMによってパワーアップするステップと、
前記第1のセンササブシステムと前記第2のセンササブシステムとの間で、前記CASMによって通信するステップと、をさらに含む、請求項1に記載の方法。
【請求項６】
前記少なくとも第1のセンサから第4のデータサンプルを、前記CASMによって受け取るステップと、
前記第4のデータサンプルの第4の分類を、前記CASMによって実行するステップと、
前記第4の分類が前記以前のデータサンプル分類に対応するかどうかを、前記CASMによって決定するステップと、
前記第4の分類が前記以前のデータサンプル分類に対応するという決定に応答して、前記第4の分類を使用してコンテキスト推定を、前記CASMによって決定するステップと、をさらに含む、請求項1に記載の方法。
【請求項７】
モバイルデバイスに関するコンテキスト推定を実行するための実行可能プログラム命令を包含したマシン可読非一時的記憶媒体であって、前記実行可能プログラム命令は、1つまたは複数のプロセッサに実行されるとき、前記1つまたは複数のプロセッサに、
少なくとも第1のセンサからデータサンプルを受け取らせ、
前記少なくとも第1のセンサからの前記データサンプルの第1の分類を実行させ、
前記少なくとも第1のセンサからの以前のデータサンプルの以前のデータサンプル分類から前記第1のデータサンプル分類への、信頼度未達をトリガするように事前決定された分類の変更とマッチするような分類の変更を検出することによって、前記第1の分類に関する信頼度値が第1の信頼度しきい値を満たせていないことを決定させ、
前記第1の分類の前記信頼度値が前記第1の信頼度しきい値を満たせていないという決定に応答して、
（１）第2のセンサを起動させ、
（２）前記起動した第2のセンサからの第2のデータサンプルの第2の分類を実行させ、
（３）前記第2の分類に関する信頼度値が第2の信頼度しきい値を満たすことを決定させ、
（４）前記第2の分類に関する信頼度値が前記第2の信頼度しきい値を満たすという決定に応答して、前記第1の分類を使用するのではなく前記第2の分類を使用して前記モバイルデバイスに関するコンテキスト推定を決定させる、マシン可読非一時的記憶媒体。
【請求項８】
1つまたは複数のプロセッサに実行されるとき、前記1つまたは複数のプロセッサに、
前記第2の分類に関する第2の信頼度値を決定させ、
前記第2の分類の前記第2の信頼度値が信頼度しきい値を満たせていないという決定に応答して、
（１）第3のセンサを起動させ、
（２）第3のデータサンプルの第3の分類を実行させ、
（３）前記第1の分類および前記第2の分類を使用することなく、前記第3の分類を使用してコンテキスト推定を決定させる、実行可能プログラム命令をさらに含む請求項7に記載のマシン可読非一時的記憶媒体。
【請求項９】
少なくとも第1のセンサからデータサンプルを受け取らせることは、2つ以上のセンサからデータサンプルを受け取らせることを含む、請求項7に記載のマシン可読非一時的記憶媒体。
【請求項１０】
前記信頼度値は、分類が発生する確率、履歴データセットのデータサンプルに対する前記第1のデータサンプルの比較、および最も近い分類と次に最も近い分類との間の差のうちの少なくとも1つに基づく、請求項7に記載のマシン可読非一時的記憶媒体。
【請求項１１】
前記少なくとも第1のセンサは第1のセンササブシステムの一部であるとともに前記第2のセンサは第２のセンササブシステムの一部であり、かつ前記第2のセンサを起動させることは、
前記第2のセンササブシステムをパワーアップさせることと、
前記第1のセンササブシステムと前記第2のセンササブシステムとの間で通信させることと、をさらに含む、請求項7に記載のマシン可読非一時的記憶媒体。
【請求項１２】
1つまたは複数のプロセッサに実行されるとき、前記1つまたは複数のプロセッサに、
第4のデータサンプルの第4の分類を実行させ、
前記第4の分類が前記以前のデータサンプル分類に対応するかどうかを決定させ、
前記第4の分類が前記以前のデータサンプル分類に対応するという決定に応答して、前記第4の分類または前記以前のデータサンプル分類を用いてコンテキスト推定を決定させる、実行可能プログラム命令をさらに含む、請求項7に記載のマシン可読非一時的記憶媒体。
【請求項１３】
モバイルデバイスに関するコンテキスト推定を実行するためのデータ処理デバイスであって、
少なくとも第1のセンサからデータサンプルを受け取り、
前記少なくとも第1のセンサからの前記データサンプルの第1の分類を実行し、
前記少なくとも第1のセンサからの以前のデータサンプルの以前のデータサンプル分類から前記第1のデータサンプル分類への、信頼度未達をトリガするように事前決定された分類の変更とマッチするような分類の変更を検出することによって、前記第1の分類に関する信頼度値が第1の信頼度しきい値を満たせていないことを決定し、
前記第1の分類の前記信頼度値が前記第1の信頼度しきい値を満たせていないという決定に応答して、
（１）第2のセンサを起動し、
（２）前記起動した第2のセンサからの第2のデータサンプルの第2の分類を実行し、
（３）前記第2の分類に関する信頼度値が第2の信頼度しきい値を満たすことを決定し、
（４）前記第2の分類に関する信頼度値が前記第2の信頼度しきい値を満たすという決定に応答して、前記第1の分類を使用するのではなく前記第2の分類を使用して前記モバイルデバイスに関するコンテキスト推定を決定する、ように構成された1つまたは複数のプロセッサを備えるデータ処理デバイス。
【請求項１４】
前記1つまたは複数のプロセッサが、
前記第2の分類に関する第2の信頼度値を決定し、
前記第2の分類の前記第2の信頼度値が信頼度しきい値を満たせていないという決定に応答して、
（１）第3のセンサを起動し
（２）第3のデータサンプルの第3の分類を実行し、
（３）前記第1の分類および前記第2の分類を使用することなく、前記第3の分類を使用してコンテキスト推定を決定するようにさらに構成される請求項13に記載のデータ処理デバイス。
【請求項１５】
少なくとも第1のセンサからデータサンプルを受け取ることは、2つ以上のセンサからデータサンプルを受け取ことを含む、請求項13に記載のデータ処理デバイス。
【請求項１６】
前記信頼度値は、分類が発生する確率、履歴データセットのデータサンプルに対する前記第1のデータサンプルの比較、および最も近い分類と次に最も近い分類との間の差のうちの少なくとも1つに基づく、請求項13に記載のデータ処理デバイス。
【請求項１７】
前記少なくとも第1のセンサは第1のセンササブシステムの一部であるとともに前記第2のセンサは第２のセンササブシステムの一部であり、かつ前記第2のセンサを起動することは、
前記第2のセンササブシステムをパワーアップすることと、
前記第1のセンササブシステムと前記第2のセンササブシステムとの間で通信することと、をさらに含む、請求項13に記載のデータ処理デバイス。
【請求項１８】
前記1つまたは複数のプロセッサが、
第4のデータサンプルの第4の分類を実行し、
前記第4の分類が前記以前のデータサンプル分類に対応するかどうかを決定し、
前記第4の分類が前記以前のデータサンプル分類に対応するという決定に応答して、前記第4の分類または前記以前のデータサンプル分類を用いてコンテキスト推定を決定する、ようにさらに構成される、請求項13に記載のデータ処理デバイス。
【請求項１９】
モバイルデバイスに関するコンテキスト推定を実行するための装置であって、
少なくとも第1のセンサからデータサンプルを受け取るための手段と、
前記少なくとも第1のセンサからのデータサンプルの第1の分類を実行するための手段と、
前記少なくとも第1のセンサからの以前のデータサンプルの以前のデータサンプル分類から前記第1のデータサンプル分類への、信頼度未達をトリガするように事前決定された分類の変更とマッチするような分類の変更を検出することによって、前記第1の分類に関する信頼度値が第1の信頼度しきい値を満たせていないことを決定するための手段と、
前記第1の分類の前記信頼度値が前記第1の信頼度しきい値を満たせていないという決定に応答して、
（１）第2のセンサを起動し、
（２）前記起動した第2のセンサからの第2のデータサンプルの第2の分類を実行し、
（３）前記第2の分類に関する信頼度値が第2の信頼度しきい値を満たすことを決定し、
（４）前記第2の分類に関する信頼度値が前記第2の信頼度しきい値を満たすという決定に応答して、前記第1の分類を使用するのではなく前記第2の分類を使用して前記モバイルデバイスに関するコンテキスト推定を決定するための手段と、
を備える装置。
【請求項２０】
前記第2の分類に関する第2の信頼度値を決定するための手段と、
前記第2の分類の前記第2の信頼度値が信頼度しきい値を満たせていないという決定に応答して、
（１）第3のセンサを起動し
（２）第3のデータサンプルの第3の分類を実行し、
（３）前記第1の分類および前記第2の分類を使用することなく、前記第3の分類を使用してコンテキスト推定を決定するための手段とをさらに備える請求項19に記載の装置。
【請求項２１】
前記少なくとも第1のセンサからデータサンプルを受け取るための前記手段は、2つ以上のセンサからデータサンプルを受け取るための手段を含む、請求項19に記載の装置。
【請求項２２】
前記信頼度値は、分類が発生する確率、履歴データセットのデータサンプルに対する前記第1のデータサンプルの比較、および最も近い分類と次に最も近い分類との間の差のうちの少なくとも1つに基づく、請求項19に記載の装置。
【請求項２３】
前記少なくとも第1のセンサは第1のセンササブシステムの一部であるとともに前記第2のセンサは第２のセンササブシステムの一部であり、かつ前記第2のセンサを起動するための前記手段は、
前記第2のセンササブシステムをパワーアップするための手段と、
第１のセンササブシステムと第2のセンササブシステムとの間で通信するための手段と、をさらに備える、請求項19に記載の装置。
【請求項２４】
前記少なくとも第1のセンサから第4のデータサンプルを受け取るための手段と、
前記第4のデータサンプルの第4の分類を実行するための手段と、
前記第4の分類が前記以前のデータサンプル分類に対応するかどうかを決定するための手段と、
前記第4の分類が前記以前のデータサンプル分類に対応するという決定に応答して、前記第4の分類または前記以前のデータサンプル分類を用いてコンテキスト推定を決定するための手段と、をさらに備える、請求項19に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書に開示した主題は一般的にはパワー管理技法およびセンサ起動スケジュール設定に関する。
【背景技術】
【０００２】
電子デバイスには、デバイスの環境に関する情報の監視および発見のために多種多様なセンサおよび入力が装備される可能性がある。たとえばデバイスは、デバイスの動きの様相を計測するために加速度計を、あるいはデバイス近傍のオーディオ環境を計測するためにマイクロフォンを利用することがある。
【０００３】
デバイス上で稼働されるプログラムやアプリケーションは、高度なユーザ経験を提供するためにセンサからのデータを処理することがある。このセンサデータに基づいてデバイスはコンテキストを推定することが可能である。しかし時にはセンサデータが曖昧であったり誤解を招くことがあり、また単一のセンサからの出力に基づいてコンテキストを推定する際には誤検知(false positive)を生じる可能性がある。しかし複数のデータセンサを起動することは、パワー効率の目標に対して有害となる可能性がある。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
したがって、新規でありかつ改良型のセンサ管理技法が望まれている。
【課題を解決するための手段】
【０００５】
本明細書に開示した実施形態は、モバイルデバイスに関するコンテキスト推定を実行するための方法に関することがある。本方法は、少なくとも第1のセンサからデータを受け取るステップと、少なくとも第1のセンサからのデータの第1の分類を実行するステップと、第1の分類に関する信頼度値を決定するステップと、を含む。本方法はさらに、第1の分類の信頼度値が信頼度しきい値を満たせていないとの判定に基づいて第2のセンサを起動するステップと、少なくとも第1のセンサからのデータと連携して第2のセンサからの第2のデータサンプルの第2の分類を実行するステップと、を含む。
【０００６】
本明細書に開示した実施形態はまた、モバイルデバイスに関するコンテキスト推定を実行するための命令を備えたマシン可読非一時的記憶媒体に関することがある。この方法は、少なくとも第1のセンサからデータを受け取るステップと、少なくとも第1のセンサからのデータの第1の分類を実行するステップと、第1の分類に関する信頼度値を決定するステップと、を含む。この方法はさらに、第1の分類の信頼度値が信頼度しきい値を満たせていないとの判定に基づいて第2のセンサを起動するステップと、少なくとも第1のセンサからのデータと連携して第2のセンサからの第2のデータサンプルの第2の分類を実行するステップと、を含む。
【０００７】
本明細書に開示した実施形態はまた、少なくとも第1のセンサからデータを受け取るための手段と、少なくとも第1のセンサからのデータの第1の分類を実行するための手段と、第1の分類に関する信頼度値を決定するための手段と、を含む装置に関することがある。本装置はさらに、第1の分類の信頼度値が信頼度しきい値を満たせていないとの判定に基づいて第2のセンサを起動するための手段と、少なくとも第1のセンサからのデータと連携して第2のセンサからの第2のデータサンプルの第2の分類を実行するための手段と、を含む。
【０００８】
本明細書に開示した実施形態はさらに、プロセッサと記憶デバイスを含むデータ処理システムであって、この記憶デバイスはデータ処理システムに関するコンテキスト推定を実行するための命令を記憶するように構成可能である、データ処理システムに関することがある。この命令はプロセッサに対して、少なくとも第1のセンサからデータを受け取ること、少なくとも第1のセンサからのデータの第1の分類を実行すること、および第1の分類に関する信頼度値を決定すること、を行わせている。この命令はさらにプロセッサに対して、第1の分類の信頼度値が信頼度しきい値を満たせていないとの判定に基づいて第2のセンサを起動すること、および少なくとも第1のセンサからのデータと連携して第2のセンサからの第2のデータサンプルの第2の分類を実行すること、を行わせている。
【０００９】
他の特徴および利点については添付の図面からおよび詳細な説明から明らかとなろう。
【図面の簡単な説明】
【００１０】
【図１】本発明の態様を実施し得るシステムのブロック図である。
【図２】一実施形態によるコンテキストアウェアセンサマネージャの流れ図である。
【図３】一実施形態によるセンサデータ分類のチャートを示した図である。
【図４】一実施形態による指定された分類遷移を検出した際のセンサ起動に関する流れ図である。
【図５】別の実施形態によるコンテキストアウェアセンサマネージャの流れ図である。
【発明を実施するための形態】
【００１１】
デバイス概要
図1は、本発明の実施形態を実施し得る例示的なデータ処理システムを示したブロック図である。本システムは、1つまたは複数のプロセッサ101、メモリ105、I/Oコントローラ125およびネットワークインターフェース110を含み得るデバイス100とすることがある。デバイス100はまた、プロセッサ101にさらに結合される1つまたは複数のバスまたは信号線に対して結合されたいくつかのデバイスセンサを含むことがある。デバイス100はまた、ディスプレイ120、ユーザインターフェース(たとえば、キーボード、タッチ式画面、または同様のデバイス)、パワーデバイス121(たとえば、電池)、またさらに電子デバイスと一般的に関連付けされた他の構成要素を含み得ることを理解されたい。
【００１２】
いくつかの実施形態ではデバイス100は、モバイルデバイスとすることも、非モバイルデバイスとすることもある。ネットワークインターフェース110はまた、データストリームをワイヤレスリンクを通じてワイヤレスネットワークに送信する/ワイヤレスネットワークから受信するためにいくつかのワイヤレスサブシステム115(たとえば、Bluetooth(登録商標)、WiFi、セルラー、または他のネットワーク)に結合されることがあり、あるいはネットワーク(たとえば、インターネット、イーサネット(登録商標)、または他のワイヤレスシステム)への直接接続のための有線式インターフェースとすることがある。したがって、デバイス100は、モバイルデバイス、ワイヤレスデバイス、携帯電話、携帯情報端末、モバイルコンピュータ、タブレット、パーソナルコンピュータ、ラップトップコンピュータ、または処理機能を有する任意のタイプのデバイスとすることがある。
【００１３】
デバイス100は、近接センサ130、周辺光センサ(ALS)135、加速度計140、ジャイロスコープ145、磁力計150、気圧センサ155および/または全地球測位センサ(GPS)160などのセンサを含むことが可能である。いくつかの実施形態では、デバイス100の環境を解析するためのセンサとしてマイクロフォン165、カメラ170および/またはワイヤレスサブシステム115が使用される。たとえばマイクロフォン165は、デバイス100が動いている車内にあるのかまたは止まった事務所内にあるのかを判定するためのオーディオデータを提供することが可能である。各センサは、同じサブシステム上に実装されることも、異なるサブシステム上に実装されることもある。異なりかつ単独のサブシステム上に実装される場合、各センサに対して独立にパワー供給またはパワー非供給とすることを可能とするように、各センサは専用のパワーを有することがある。独立の単独のサブシステムセンサは、依然として互いにまた他のデバイス100内の構成要素と上に記載した信号線またはバスを介して通信することがある。
【００１４】
メモリ105は、プロセッサ101によって実行するための命令を記憶するためにプロセッサ101に結合されることがある。いくつかの実施形態では、そのメモリ105は非一時型である。メモリ105はまた、以下に記載する実施形態を実装するために1つまたは複数のモデルまたはモジュールを記憶することがある。メモリ105はまた、組み込まれたセンサまたは外部のセンサからのデータを記憶することがある。さらにメモリ105は、以下でさらに詳細に記載する1つまたは複数のモジュール171(たとえば、コンテキストアウェアセンサマネージャモジュール)にアクセスするためのアプリケーションプログラムインターフェース(API)を記憶することがある。メモリ105はまた、事前定義のフィーチャスケジュール設定情報、トレーニングデータサンプル、センサデータサンプル、またはクラスやフィーチャに関連するパワープロフィールを記述する構成ファイルを記憶することがある。
【００１５】
本明細書の以降で記載するような本発明の実施形態は、デバイス100のプロセッサ101、ならびに/またはデバイス100および/もしくは他のデバイスの他の回路によって、たとえばメモリ105または他の素子内に記憶されるような命令の実行を通じて実装され得ることを理解されたい。特に、プロセッサ101(ただし、これに限らない)を含むデバイス100の回路は、本発明の実施形態に従った方法またはプロセスを実行するためのプログラム、ルーチンまたは命令実行の制御下で動作することがある。たとえばこのようなプログラムは、ファームウェアやソフトウェア(たとえば、メモリ105および/または他の箇所に記憶される)の形で実装されることがあり、またプロセッサ101などのプロセッサおよび/またはデバイス100の他の回路によって実装されることがある。さらに、プロセッサ、マイクロプロセッサ、回路、コントローラ、その他の用語は、ロジック、コマンド、命令、ソフトウェア、ファームウェア、機能その他を実行することが可能な任意のタイプのロジックまたは回路を指し示し得ることを理解されたい。
【００１６】
さらに本明細書に記載した機能、エンジンまたはモジュールのうちのいくつかまたは全部はデバイス100自体によって実行されることがあること、および/または本明細書に記載した機能、エンジンまたはモジュールのうちのいくつかまたは全部はI/Oコントローラ125またはデバイス100に対するネットワークインターフェース110(ワイヤレス式や有線式)を通じて接続された別のシステムによって実行されることがあること、を理解されたい。したがって、その機能のうちのいくつかおよび/または全部が別のシステムによって実行されることがあり、またその結果や中間の計算値をデバイス100に転送して戻すことがある。いくつかの実施形態では、このような他のデバイスはリアルタイムまたはほぼリアルタイムで情報を処理するように構成されたサーバを備えることがある。いくつかの実施形態ではこうした他のデバイスは、たとえばデバイス100の既知の構成に基づいて結果を事前決定するように構成されている。
【００１７】
コンテキストアウェアセンサマネージャ概要
デバイスセンサはユーザおよび環境に関するコンテキスト型データを提供することが可能である。本明細書で使用する場合にコンテキストとは、ユーザの状況を特徴付けするために使用可能な任意の情報とし得る。たとえばコンテキストは、ユーザが何をしているか、ユーザの環境/周囲状況、ユーザがどこにいるか、またはユーザが有し得る意向を記述することが可能である。
【００１８】
一実施形態では、コンテキストアウェアセンサマネージャ(CASM)(たとえば、モジュール171又はエンジンとして実装される)は、コンテキストアウェア推定のパフォーマンスを改善させるために機を見て同じまたは他のサブシステム上の追加のセンサをオンにする、パワーアップまたは起動することが可能である。いくつかの事例では、正確なコンテキスト推定または分類を提供するのに単一のセンサデータサンプルでは不十分なことがある。したがって、1つまたは複数の追加のセンサストリームが起動されることがある。
【００１９】
たとえば、加速度計データサンプルに基づいて、CASMまたは専用の分類器は、モバイルデバイスがデスクまたはテーブルの表面上に配置されていると判定することがある。加速度計は、重力に対するデバイス表面の向きを決定することがある。向きは、ピッチとロールの角度計測値によって特徴付けされることがある。デバイスの向き(たとえば、デスク配置上での平坦に対する一貫した角度設定)および/または加速度計によって記録される検出可能な運動の欠如に基づいて、CASMまたは専用の分類器は、デバイスがデスク表面上で静止していると推定することがある。しかし、デスク分類に対する配置の信頼度は低いことがあり、またCASMは分類を検証するために追加のセンサを起動することが可能である。たとえば、GPS160の起動およびGPS160からのデータの分類によって、ユーザが公道上にいてそのモバイルデバイスを車のダッシュボード上に配置させていると推定されることがある。ユーザが街路または道にいるとき、そのユーザとモバイルデバイスはデスクのところにいる可能性は低い。加速度計140とGPS160とを組み合わせにより、ユーザがデスクのところにいる可能性が最も高い(すなわち、高い信頼度を有する)のか、車の運転中である可能性が最も高いのかを示す関連付けされた連携信頼度値を得ることが可能である。いくつかのケースでは、追加のセンサデータおよび2つ以上のセンサに関する分類によって、ある特定の分類においてより高い信頼度を提供することが可能である。
【００２０】
別の例として加速度計は、ユーザがモバイルデバイスをポケットに入れて持っている(ポケット配置に関して一貫した角度によって指示される)と決定することがある。この場合もCASMは、ユーザが作業環境において(たとえば、デスクに)座っているのか、車が一瞬止まっている間で車の中に座っているのかを決定できるだけの十分な信頼度を有しないことがある。分類の曖昧さを解決するためには、上に示したように追加のセンサが起動されて分類されることがある。さらなる詳細については、以下でさらに詳細に記載することにする。
【００２１】
CASMまたは専用の分類器は、ユーザに関するコンテキストの最終判定が決定されるまで(たとえば、1回または複数回の分類反復において)1つまたは複数のセンサストリームを分類することが可能である。一実施形態ではCASMは、センサデータサンプルからのフィーチャを処理または計算するとともに、分類(たとえば、状態またはコンテキストアウェア推定)を出力することが可能である。たとえばCASMがセンサデータを受け取ると、データの弁別性の特徴を表す意味のあるフィーチャを計算してモデルに対してマッチさせ、最適に当てはまる分類を決定することが可能である。センサデータサンプルは曖昧性や不正確な分類を提供することがあり得るため、CASMは最初の分類を検証または強化するために1つまたは複数の追加のセンサをトリガまたは起動することがある(あるいは、その分類と関連付けされた信頼度が事前決定のしきい値未満のとき)。
【００２２】
一実施形態では、モデル分類においてベイズ確率を使用することが可能である。たとえばCASMは、どのクラスが最も大きい確率を有するかを決定し、この最大確率を信頼度として出力することがある。別法としてCASMは、最大確率の分類と次に確率が最も大きい(すなわち、次点最大の)分類との間の差を確率として出力することがある。たとえば、第1の分類確率が0.6であることがあり、また第2の分類確率が0.4であることがある(ここで、1は事象発生が確かであることを意味しており、また0は事象の非発生が確かであることを意味している)。この直前の例では、第1の分類確率0.6と第2の分類確率0.4との間の差が0.2となり、信頼度が比較的低い。第2の例では、第1の分類に関する確率が0.9でありまた第2の分類に関する確率が0.1である。この第2の例では、この2つの分類の間の差は0.8であり、信頼度が比較的高くなり得る。
【００２３】
他の実施形態では、データポイントを決定するためにサポートベクトルマシンが使用されることがある。たとえば最近傍の分類器によってフィーチャベクトルを計算するとともに、可能なデータポイントの既知集合から最も近いフィーチャベクトルを見出すことがある。データポイントの履歴組または既知組を参照することによって、ある特定の分類が割り当てられることがある。たとえばフィーチャベクトルは最も近いポイントとマッチすることがあり、またこのポイントを指定の分類に割り当てるまたは指定の分類と関連付けさせることがある。フィーチャベクトルが最も近いポイントとマッチできないとき、またはフィーチャベクトルが指定の分類と関連付けすることが不可能な場合、追加のセンサをトリガするまたは起動することがある。この追加のセンサデータは上述のような最近傍の分類器に基づいて分類されることがある。別法として、分類マッチが決定可能となるまでより多くのセンサをトリガ/起動することがある。
【００２４】
図2は、一実施形態によるCASMの流れ図を示している。ブロック205ではCASMは、少なくとも第1のセンサ(たとえば、近接センサ130、ALS135、加速度計140、ジャイロスコープ145、磁力計150、気圧センサ155、GPS160、マイクロフォン165およびカメラ170)からデータを受け取ることが可能である。
【００２５】
ブロック210ではCASMまたは分類器は、少なくとも第1のセンサからのデータの分類を実行することが可能である。たとえば第1のデータセンサは、処理のために第1のデータサンプルを出力することがある。CASMは、第1のデータサンプルに対してフィーチャ計算を稼働することが可能であり、またこのフィーチャ計算は分類を出力するために所定のトレーニングデータ組に対して比較されることがある。一実施形態ではその第1のデータサンプルは一時的分類を提供しており、またCASMはこの一時的分類の信頼度に基づいてこの一時的分類を最終出力分類として提供するように決定することがある。フィーチャ算出に関するさらなる詳細については以下に記載することにする。
【００２６】
ブロック215ではCASMは、第1の分類に関する信頼度値を決定することが可能である。この信頼度値は、以下でさらに詳細に記載するような1つまたは複数の要因に基づくことがある。
【００２７】
ブロック220ではCASMは、第1の分類の信頼度値が信頼度しきい値を満たせていないとの判定に基づいて第2のセンサを起動することが可能である。たとえば前の分類で低い信頼度が与えられるとCASMは、追加のセンサを起動させるとともに前の分類で使用したセンサと異なる追加のセンサを使用して別の分類決定を稼働することがある。
【００２８】
ブロック225ではCASMは、少なくとも第1のセンサからのデータと連携して、起動させた第2のセンサからの第2のデータサンプルの第2の分類を実行することが可能である。一実施形態ではその追加のセンサデータの分類はまた、関連する個別の信頼度を有するか、あるいは第1と第2の両方のデータ分類に関する全体的信頼度を有する。一実施形態ではこの第1と第2のセンサデータ分類は、最終の/出力される分類と関連する信頼度値とを決定するために連携して分類されることがある。いくつかの実施形態では、2つの異なる分類が提供されるように2つのセンサデータサンプルが個別にかつ独立に分類されることがあり、またCASMは(第1および第2のセンサからの)2つの独立した分類の最高の信頼度値を出力することがある。他の実施形態ではCASMは、第1の分類を分類することが関連する信頼度しきい値を満たさないとの判定に基づいて第2のセンサ分類を自動的に出力することがある。さらに他の実施形態では、CASMは決定したすべての分類とその関連する信頼度とを出力することが可能であり、またプログラムまたはアプリケーションはこの結果をさらに処理し分類の独立した決定を行いかつ最終的にコンテキストを推定することがある。分類および信頼度生成については、以下でさらに詳細に記載することにする。
【００２９】
センサデータ
CASMは、モバイルデバイスに取り付けられた1つまたは複数のセンサ(たとえば、近接センサ130、ALS135、加速度計140、ジャイロスコープ145、磁力計150、気圧センサ155、GPS160、マイクロフォン165およびカメラ170)から受け取ったデータを処理または計算し、デバイスの環境に関連する情報を報告することがある。いくつかの実施形態ではCASMは、通信可能に接続された外部のデバイスから(たとえば、外部のカメラへのUSB接続またはWiFi接続を介して)I/Oコントローラ125を通じて外部のセンサデータを受け取ることが可能である。CASMまたは専用の分類器(たとえば、常時オン状態または頻繁に起動状態となる分類器)によってセンサデータを分類することが可能である。
【００３０】
CASMまたは専用の分類器は、以下に記載するような分類(すなわち、フィーチャ計算)で使用するためにセンサ生データを受け取ることが可能である。別法として、中間のデバイスまたはプログラムによってフィーチャ計算の前にセンサデータを前処理することが可能である。説明を容易にするために、本明細書で使用する場合にセンサデータとは、未処理のデータ(たとえば、加速度計140、周辺光センサ135、マイクロフォン165または他のセンサから受け取ったデータ)を意味する。たとえば、加速度計140からのデータは時間、x軸に沿った加速度、y軸に沿った加速度およびz軸に沿った加速度の属性を有することがある。しかし当業者であればセンサデータが本明細書に示した例以外の他の形式で受け取られて処理され得ることを理解されよう。
【００３１】
本明細書で使用する場合にデータサンプルには、センサ(たとえば、デバイス100のセンサ)から受け取ったまたは出力されたデータの一部を含むことが可能である。センサデータサンプルは、ある特定の頻度で(たとえば、サンプリングデバイスおよびデータ要件に応じた50Hz、60Hzまたは他の速度で)サンプリングされることがある。フィーチャ計算は、センサデータのストリームまたは組から選択される、瞬時、時間スライスまたは時間窓に対して実行されることがある。たとえばデバイス100は、より長いストリーム(たとえば、10秒間、センサにおいて常時、または他の何らかの時間期間)から選択した1秒の時間間隔にわたってフィーチャを計算することがある。たとえば、加速度計140の生データは、1秒分のデータによって180個のサンプルからなる正味の入力サイズについてx軸、y軸およびz軸方向に60個の3次元加速度計140ベクトルサンプルが提供されるように60Hzでサンプリングされることがある。
【００３２】
一実施形態ではCASMまたは専用の分類器は、センサデータサンプルを分類するためにセンサデータサンプルをトレーニングデータサンプルに対して比較することが可能である。たとえばテスト/トレーニング設定においてセンサは、可能な現実世界のコンテキストをカバーするような多種多様な入力を受け取ることがあり、また得られるフィーチャ計算および分類を記録することが可能である。この事前計算された履歴データを用いて、最も確からしい分類を評価するため、またさらにはその分類に信頼度を割り当てるために目下のセンサデータサンプルを比較することが可能である。
【００３３】
他の実施形態では、データの分類にトレーニングデータ(たとえば、最近傍の分類器)を直接使用するのではなく、トレーニングデータから事前計算されたモデル(たとえば、サポートベクトルマシン、ニューラルネットワーク、デシジョンツリー、ベイズ分類器、その他)を使用することがある。
【００３４】
一実施形態では、タイプの異なる複数のセンサを使用した場合に分類の正確性が向上することがある。たとえば、連携分類を用いた2つ以上のセンサであってもなお低信頼度分類となることがある(たとえば、マイクロフォンと加速度計では高信頼度のミーティング分類の決定には十分でないことがある)。したがって最終分類における信頼度をさらに高めるために、追加のセンサ(たとえば、GPSまたは他の運動センサ)がトリガされるまたは起動されることがある。
【００３５】
一実施形態ではセンサデータサンプルは、デバイス100の同じセンササブシステムから得ることも、異なるセンササブシステムから得ることもある。たとえば加速度計がパワーを受け取るために単独のセンササブシステム上に置かれることがある一方、異なるサブシステム上のGPSはパワー非供給とされている。
【００３６】
一実施形態ではCASMは、計算されたフィーチャに基づいて分類信頼度しきい値が満たされたかどうかを判定することがある。一実施形態ではそのしきい値信頼度を、フィーチャとトレーニングデータ組との比較によって決定することが可能である。信頼度については以下でさらに詳細に検討することにする。
【００３７】
一実施形態ではCASMは、利用可能なセンサのパワープロフィールへのアクセスを有する。このパワープロフィールは、ある特定のセンサの平均的なまたは確からしいパワー使用要件を評価しCASMが最小のパワー使用からこれより大きなパワー使用までのセンサ起動のシーケンスを指示できるようにすることがある。たとえば加速度計140、クロックおよび周辺光センサ135は、パワー使用が低いと識別されるパワープロフィールを有することがある。逆にWiFiセンサおよびGPS160は、パワー使用が高いと識別されるパワープロフィールを有することがある。したがってCASMは、他のすべてが等しければ、加速度計140をGPS160に上乗せして起動するように優先順序付けするように、または周辺光センサ135をWiFiに上乗せして起動するように優先順序付けするようにすべきであると判定することがある。別の例ではジャイロスコープ145およびマイクロフォン165はパワー使用に関しては加速度計140とGPS160との間に来ることがある。したがって一例では、加速度計140が常時オン状態とするまたは最初に起動させる第1の初発センサとなるように設定されることがあり、ジャイロスコープ145が分類決定を強化するために起動される第2のセンサとなることがあり、または他のすべてのセンサが高信頼度分類について活用が不可能であるときの第3のセンサをGPS160とすることがある。
【００３８】
他の実施形態では、センサのパワープロフィールは最初にまたは追加してどのセンサを起動させるかを決定するためのいくつかの要因のうちの1つである。たとえば、ジャイロスコープ145からのセンサデータサンプルはたとえばGPS160と比べて価値がより低いコンテキスト推定データを包含することがあり、したがってジャイロスコープ145は代わりにGPS160が起動されるようにバイパスされることがある。値決定は最初の分類に基づいて様々となり得る。たとえば最初の分類は、分類がミーティング内にあるかどうかに関して曖昧なことがあり、また屋内の信号受信が弱くなることがあるためGPSと比べてマイクロフォンや加速度計などの追加のセンサの方がより有用となることがある。
【００３９】
さらにCASMは、そのパワー特性に拠らないコンテキストの決定においてタイプの異なる多種多様なセンサが役立つものと決定することがある。たとえば、ユーザがミーティング内にいるかどうかを決定するために、クロック、加速度計140およびマイクロフォン165のすべてがコンテキストの推定に有用となる可能性はあるが、各1つが単独で提供する像は不完全なことがある。
【００４０】
他の実施形態ではCASMは、最初に2つ以上のセンサを起動させかつ後の時点で追加のセンサを起動させることがある。たとえば、加速度計140およびジャイロスコープ145センサが最初に起動状態にあることがあり、またGPS160が分類の曖昧さが検出されたときに起動される追加のセンサとなることがある。別の例では、クロックおよび加速度計140がデバイス内で常時オン状態にあることがあり、またWiFiセンサが分類の曖昧さを解決するために後の時点で起動されることがある。
【００４１】
一実施形態ではCASMは、異なるサブシステム上の第2のセンサにパワー供給するためにハードウェア割込みを自動的にトリガすることがある。たとえば、低い信頼度分類が決定されるとCASMは異なるセンササブシステム上の他のセンサをトリガするまたはパワーアップすることがある。
【００４２】
フィーチャ分類
一実施形態ではCASMは、上で開示したようなセンサデータ(たとえば、マイクロフォン165、加速度計140、周辺光センサ135または他の入力からの生データ)からの1つまたは複数のフィーチャを計算、処理または抽出することが可能である。本明細書に記載したフィーチャは、センサデータに対して実行された計算の結果または出力を意味している。フィーチャはデータ組を分類するために使用することが可能である。たとえばCASMは、入力として加速度計140からセンサ生データ(たとえば、センサデータサンプル)を受け取るとともに平均値および/または標準偏差を算出することが可能である。CASMはこの平均値および/または標準偏差を用いてコンテキストを分類することまたはコンテキストをセンサデータに提供することが可能である。たとえば運動センサの分類は、歩行中、着席中、ランニング中または運転中(ただし、これらに限らない)とすることがある。一実施形態ではそのフィーチャは、プロセッサ101によってメモリ105内で実行されたコンピュータコードからの値、出力または結果である。
【００４３】
一実施形態ではCASMは、2つ以上の異なるセンサからの2つ以上のセンサデータサンプルを連携的に分類することがある。たとえばCASMは、加速度計およびGPSからデータを読み取るとともに、連携分類において2種類のセンサデータサンプルを用いて分類(たとえば、ランニング中、車内で運転中、または他の運動ベースの分類)を提供することがある。2種類のセンサデータサンプルは、同じ時間窓または時間レンジからサンプリングされることがある。別の例ではCASMは、先ず第1のセンサからのデータを分類し、その分類が信頼度しきい値を満たさないと判定することがある。第2のセンサが起動されるとCASMは、第1のセンサデータを起動された第2のセンサと連携して分類し、両方のセンサから受け取ったセンサデータに基づいて最終分類を決定することが可能である。
【００４４】
いくつかの実施形態ではCASMは、フィーチャを計算するために単独の分類器(たとえば、CASMからの単独の分類器モジュール)をコールすることがある。分類器は、フィーチャを取り上げるとともに、推定を生成するために(たとえば、最も確からしい分類または状態を決定するために)これをモデルと比較することが可能である。この単独の分類器は、複数のセンサストリームの処理を可能とさせ得る。別法として、各タイプのセンサごとに単独の分類器を存在させることがある。本明細書に記載したようなCASMは、CASMによる分類もしくは状態の出力の作成を可能とするようにまたは分類器を単独かつ独立とし得るように一体型の分類器を含むことがある。
【００４５】
信頼度
上に記載したようにCASMは、信頼度(たとえば、信頼度の値またはレベル)を個々の各データセンササンプル分類または連携データセンササンプル分類と関連付けすることが可能である。CASMは信頼度を、追加のセンサを起動させるべきかどうかを判定する方法として使用することがある。信頼度は信頼度しきい値と比較されることがあり、また信頼度しきい値を満たさないまたはこれを超えない分類は追加のセンサデータサンプルからの第2の分類と突き合わせて検証することが可能である。
【００４６】
いくつかの実施形態では、上に記載した第1および第2の分類に関する個々の信頼度値に加えて、全体の信頼度もまた2つ以上のセンサ分類の組合せと関連付けされることがある。いくつかの実施形態ではCASMは、1つまたは複数のセンサデータ分類からの複数の個々の信頼度値を考慮に入れながら累積の全体的信頼度を維持することがある。累積の全体的信頼度は、第2のセンサ起動時、第1の信頼度未達時、または第2の分類信頼度の決定時に始動されることがある。たとえば、第1および第2のデータセンサ分類ならびに関連する信頼度が決定されると、第2の信頼度が第2のデータセンサ分類だけの信頼度となることがあり、また全体的信頼度(たとえば、この例では第3の信頼度)は第1と第2の分類を一緒にした信頼度を意味する。連携分類によれば2つ以上のセンサデータサンプルが分類されるため、連携分類の信頼度は、上述のような全体的信頼度と同様の1つの信頼度値を得ることができる(たとえば、全体的信頼度に追加して独立の信頼度が得られるのではない)。
【００４７】
CASMは、この全体的信頼度を使用して追加のセンサの起動を継続すべきかどうかを判定することがある。たとえば第1のセンサデータサンプルが低い信頼度分類となることがありかつ第2のセンサデータサンプルもまた低い信頼度分類となることがある。しかしCASMはいくつかの実施形態において、2つ以上のセンサデータサンプルが同じ分類と推定するときに全体的信頼度がそれでも信頼度しきい値を通過させるだけの十分な高さとなり得ると判定することがある。
【００４８】
別の例では第1のセンサデータサンプルが低い信頼度分類となることがありかつ第2のセンサデータサンプルが高い信頼度分類となることがある。この例ではCASMは、最小の信頼度を克服するために第1のデータサンプルの不首尾に基づいて第2のセンサデータサンプルが正しい分類を提供する可能性がより高いと判定することがある。したがってCASMは最終的に、第2のセンサデータサンプルに基づいて最終決定分類を出力することがある。
【００４９】
一実施形態ではその信頼度しきい値が、履歴データまたはトレーニングデータに基づいた所定の値に基づいて決定される。たとえばトレーニングデータは、パワー消費とコンテキスト推定パフォーマンスの間の理想的なバランスを提供するようなしきい値信頼度を指示することがある。いくつかの実施形態では、ユーザが異なるバランスを実現するようにしきい値を調整することがある。さらに他の実施形態ではCASMは、どのタイプのセンサが使用されているか、センサの数、または他の要因に基づいてしきい値を独立に調整することがある。
【００５０】
信頼度は、目下のデータポイント(たとえば、フィーチャ算出から出力されたデータポイント)の最も近い分類までの距離に基づいて計算することが可能であり、距離が短いことは高い信頼度に対応しかつ距離が大きいことは低い信頼度に対応する。
【００５１】
距離の尺度は様々となり得る。たとえばユーザの目下の箇所の最も近いクラスタとの関連付けを試みるGPS160クラスタアルゴリズムは、ユーザからクラスタ重心までの地理的距離を距離の尺度として使用することが可能である。
【００５２】
確率または尤度(likelihood)を出力する分類器では、信頼度をこれら出力された確率または尤度に基づいて計算することが可能である。たとえば、各クラスの事後確率Piを出力する分類器では、信頼度を最大確率、たとえば、
【００５３】
【数１】
0006363239.tif 000002
【００５４】
に基づいて計算することが可能である。
【００５５】
各クラスの尤度Liを出力する分類器では、信頼度を正規化済みの相対的な尤度、たとえば、
【００５６】
【数２】
0006363239.tif 000003
【００５７】
に基づいて計算することが可能であり、上式において、i1は最も確からしいクラスの指標であり、かつ、i2は2番目に最も確からしいクラスの指標である。
【００５８】
曖昧分類
一実施形態では、CASMは、センササンプルデータに基づいて分類または状態を決定する。他の実施形態では分類器は、状態または分類をCASMに出力する。たとえば分類器が状態Bと一般的に混同されることが分かっている分類Aを出力する場合、CASMは分類が正しいことを検証するために追加のセンサストリームを起動または有効化することが可能である。
【００５９】
一実施形態では、CASMは、曖昧分類に基づいてどの追加のセンサを起動させるかを決定する。たとえば、分類AとBとの間の混同は、この具体的な曖昧さを解決するためのセンサCに対する起動を生じさせることがある。別の例では、分類AとDとの間の混同は、この曖昧さを解決するためのセンサEに対する起動を生じさせることがある。
【００６０】
図3は、一実施形態によるセンサデータ分類のチャートを示している。図3は、(たとえば、以前に算出したトレーニングデータサンプルに基づくような)3つの分類クラスタを示している。クラスA315、クラスB325およびクラスC335は、あるセンサ(たとえば、最初に起動させたセンサ)からのフィーチャ算出に基づいた3つの可能な分類である。X軸340とY軸305とは、センサからの生データに対して実行されたフィーチャ算出から得られるフィーチャを意味することがある。履歴データまたは以前のトレーニングデータに基づいた分類のクラスタを、CASMによる目下の/新たな分類の信頼度の決定に使用することが可能である。たとえば、ポイント310(たとえば、センサデータサンプルからの分類のポイント描出)がクラスA履歴分類の既知のレンジまたはクラスタ内に位置している場合、CASMはポイント310がクラスAでありかつ追加のセンサを起動することなくクラスAと関連付けされたコンテキスト推定を出力するという高い信頼度を有することがある。
【００６１】
ポイント(たとえば、ポイント320)があらゆるクラスタの外側に位置しているがある特定のクラスタ(たとえば、ポイント320はクラスタの外側ではあるがクラスC315に最も近い)に最も近い位置にある場合、CASMは追加の/第2のセンサをさらにトリガすることになるような低い信頼度分類(たとえば、一時的分類)を出力することがある。第2のセンサがトリガまたは起動されるとCASMまたは分類器は、第2のセンサデータだけに基づいてデータを分類するか、第1および第2のセンサデータを連携して一緒に分類することがある。連携または第2のセンサ分類の結果がより高い信頼度分類となった場合(たとえば、クラスA315、クラスB325またはクラスC335のクラスタ内部のフィーチャとなった場合)、このより高い信頼度分類がCASMによって出力のために選択されることがある。一時的分類が生成された場合は、この一時的分類は追加のセンサデータサンプルに基づいた直近の連携または独立の分類によって置き換えられることがある。追加のセンサデータサンプルが最も近い分類評価と一致する場合は、一致したその分類が、1つだけのセンサまたはデータサンプルによってデータを分類したとした場合と比べてより高い信頼度で出力される。追加のセンサデータサンプルによって第1のデータサンプルと異なる分類が得られた場合、CASMは第2のセンサに加えて追加のセンサを起動することがあり、あるいはたとえば各個々の分類の相対的な信頼度レベルに基づいて分類のうちのどれを出力すべきかに関する決定を行うことがある。
【００６２】
ポイント(たとえば、ポイント330)が既知のクラスタ(たとえば、クラスA315、クラスB325またはクラスC335)の外側に位置する場合、そのポイントを正確に分類できるようなCASMの有する信頼度が低いことがある。いくつかの実施形態ではそのポイントが2つ以上の最も近い分類から等距離にある(たとえば、この例ではポイント330についてクラスA315、クラスB325またはクラスC335はすべて等距離である)場合、CASMは任意の分類の出力および追加の/第2のセンサのトリガを行わないことがある。第2のセンサがトリガ/起動されると、連携または独立のデータセンサ分類を上述のようにして取得することが可能である。たとえば、連携または独立の分類が高い信頼度である(たとえば、クラスタの域内にある)場合、CASMによってこの分類が選択されて出力される。他方、分類に関して依然として何らかの曖昧さ(たとえば、低い信頼度)が存在する場合、追加のセンサを起動させることがあり、またさらなる分類が決定されることがある。
【００６３】
曖昧な分類変更
一実施形態ではCASMは、分類の変更に基づいて追加のセンサをオンにするような決定を行うことが可能である。分類の変更に基づいて追加のセンサをオンにするような決定は、当該分類の信頼度から独立とさせることがある。
【００６４】
CASMは、ユーザがある種の分類に直接遷移する/ある種の分類から直接遷移する可能性が低いと判定することがある。たとえばCASMは、時間窓T1でサンプリングされたセンサデータに基づいてユーザが車中にいて運転中であると推定する加速度計140からのデータセンササンプルを処理することがある。同じセンサからの次の分類の時点であるが次の時間窓T2において、その分類によってユーザがデスクに着席中であると推定された場合、CASMはこの直接遷移(すなわち、車からデスクへの遷移)の可能性は低いと判定することが可能である。その遷移の可能性が低いと判定されるとCASMは、全体的分類信頼度が低いと判定することがあり、あるいは直近の分類と関連付けされた個別の信頼度を低下させることがある。ユーザは、デスクの席に戻る前に車を降り、立ちあがり次いで、車から事務所まで歩いているなど運転から事務所までの間の中間的遷移にある可能性がより高い。したがってCASMは、マイクロフォン165などの追加のセンサを起動させるとともに、センサデータサンプルを分類してユーザがまだ車中にいるかどうかを判定する。マイクロフォン165のセンサデータサンプルが高い信頼度分類を提供できない場合は、GPS160を起動させることがある。検証分類が決定(たとえば、起こりそうにない遷移が検出された後の1つまたは複数の追加のセンサ起動による)された後にCASMは、分類の最終的決定(たとえば、ユーザが実際に車を離れてデスクに着席中である、またはユーザがまだ車中にいる)を行うことが可能である。したがってCASMは、間違ったまたは不正確な最終出力分類を提供する前に追加のセンサを起動することが可能である。
【００６５】
一実施形態ではCASMは、起こりそうな分類遷移と起こりそうにない分類遷移(たとえば、遷移の状態図、データベースまたはフラットファイル)に対するアクセス(たとえば、デバイス100のメモリ中)を有する。たとえば、運転から歩行/歩行から運転の遷移と、デスクに着席から歩行/歩行からデスクに着席の遷移とは、起こりそうな遷移の単なる2つの例にすぎない。しかし、運転からデスクに着席/デスクに着席から運転は、他の中間的な遷移または分類が検出されていないときに起こりそうにない遷移となる。
【００６６】
別の例ではユーザは、オーディオソースに別のオーディオが存在しないときにオーディオソース(たとえば、マイクロフォン165)からのデータサンプルを分類することによる決定に従ってミーティング中であるとされることがある。CASMは、ユーザがミーティングから退席したまたは退席する過程にあることを検証するために加速度計140、GPS160または他の運動ベースのセンサを起動することが可能である。さもなければ、ユーザとデバイス100とが静止している場合、ユーザがまだミーティング中であることの信頼度が高められるまたは維持されることがある。
【００６７】
一実施形態では、デバイス100の内部クロックが追加のセンサとして使用される。CASMはまた、内部クロックをユーザがどれだけの時間ミーティングしているかを決定するための時間センサとして使用することがある。記録された持続時間が短すぎる場合、長すぎる場合、またはミーティングが典型的なミーティング時間長でないような時間期間の後に終了した場合、分類「ミーティング中」の信頼度が低下することがある。たとえば、典型的なミーティングは少なくとも15分間続くことがあり、また30分から1時間続くことが多い。15分未満のミーティング、2時間を超えるミーティング、または15分増分以外の持続時間後に終了するミーティングはCASMに対して、追加のセンサを起動させるとともに、この追加のセンサの分類を第1のセンサ分類と比較させることがある。
【００６８】
図4は、一実施形態による指定された分類遷移が検出されたときのセンサ起動の流れ図を示している。一実施形態では、最初に起動状態となったセンサはCASMまたは専用の分類器にセンサデータサンプルを出力することがある。このセンサデータサンプルは、ある時間期間(たとえば、t0 412〜t1 422、t1 422〜t2 432、t2 432〜t3 442、t3 442〜t4 452、t5 452〜t5 462およびt5 462〜t6 472のサンプル時間期間)にわたってサンプリングされることがある。
【００６９】
第1の時間窓t0 412〜t1 422の間では、センサX405はデータサンプルをクラスA415に分類しており、またセンサZ410は非起動状態420にある(たとえば、時間窓t0 412〜t1 422の間はセンサにパワーが加えられておらず、したがって利用可能なセンサZ410のデータサンプルはない)。
【００７０】
次の時間窓t1 422〜t2 432の間では、センサX405はクラスB425分類を指示するセンサデータサンプルを出力する。センサZ410は、CASMが窓t1 422〜t2 432からのデータサンプルの処理を終了したばかりであるため、まだ非起動状態にある。一実施形態ではCASMは、目下の分類を時間的に直前の(t0 412〜t1 422)分類と比較し、可能性の低いすなわち起こりそうにない分類変化または遷移を検出することが可能である。この例ではCASMは、センサX405からの出力がクラスAの時間的に直前の(t0 412〜t1 422)分類とクラスBの目下の分類とを有していたと判定する。この例では、クラスAからクラスBへの遷移は、可能性が低いすなわち起こりそうにないと事前決定されていた(たとえば、クラスAを車中にいて運転中であるとすることがあり、またクラスBをデスクに着席中であるとすることがある)。あるセンサ(たとえば、センサX405)に由来する可能性の低いすなわち起こりそうにない分類の変更が検出されると、CASMは目下の分類を検証するために追加のセンサ(たとえば、センサZ410)を起動することが可能である。この目下の例ではCASMは、可能性の低いすなわち起こりそうにないクラス遷移(クラスAからクラスB)が(たとえば、時刻t2において)検出された後センサZ410を起動する。
【００７１】
次の時間窓t2 432〜t3 442の間では、センサX405はクラスB425分類となるようなセンサデータサンプルを出力する。CASMは、窓t2 432〜t3 442の間のセンサZ410からのセンサデータサンプルをクラスA435に分類する。一実施形態ではCASMは、クラスA440出力を出力するためにセンサX405からのクラスB435決定を抑制する。一実施形態ではCASMは、新たな遷移が検出されるまでセンサX405分類を無視することがある。
【００７２】
次の時間窓t3 442〜t4 452の間では、センサX405データがクラスA445に分類されるとともに、CASMは(たとえば、時刻t4の後で)センサZ410を非起動とさせることがある。このケースではCASMは、クラスBからクラスAへの遷移によってセンサZ410の起動が再度トリガされるように決定することがある。しかしCASMは、起こりそうにない遷移が同じく起こりそうにない以前の遷移から戻ったときに検出されることに関する一般規則に対する例外を許容することがある。目下の例ではクラスA415からクラスB425へは、クラス変更を検証するためにCASMに追加のセンサをトリガさせる起こりそうにない分類の変更とした。しかし、最初のセンサがクラスB435からクラスA445に逆戻りしたときは、クラスB435分類がCASMによって無視される間違った読み値として取り扱われるため、CASMはセンサZ410の起動をトリガしないことがある。いくつかの実施形態ではCASMは、高い信頼度分類が低い信頼度分類に遷移したときは追加のセンサをトリガするが、低い信頼度分類が高い信頼度分類に遷移したときは追加のセンサをトリガしないことがある。
【００７３】
いくつかの実施形態では1つまたは複数の追加のセンサは、非起動化前に事前決定のまたはユーザ決定可能な数の窓サンプルにわたって起動状態のままとすることがある。たとえばパワー節減のための構成設定によって、CASMへの検証分類の提供後に追加のセンサを直ちにオフにすることがある。逆にエネルギー節減よりパフォーマンスを優先する構成設定は、曖昧分類または可能性の低い遷移の終了を超えても追加のセンサをいくつかの追加のサイクルまたは窓にわたって起動状態のままとすることがある。
【００７４】
次の時間窓t4 452〜t5 462の間では、センサX405からのセンサデータサンプルが、追加のセンサをトリガしない可能な分類遷移であるクラスC455に分類されている。
【００７５】
次の時間窓t5 462〜t6 472の間では、センサX405からのセンサデータサンプルが追加のセンサをトリガしないクラスA414からの分類遷移であるクラスC465に分類されている。したがってセンサZ410は、時刻t5においてトリガされていないため非起動状態のままである。
【００７６】
コンテキストアウェアセンサマネージャ
CASMは、センサ生データから計算されたフィーチャベクトルに基づいて始動されることがある。たとえば、計算されたフィーチャベクトルがフィーチャ空間の曖昧領域に位置している場合、追加のセンサストリームを有効化することが可能である。この決定のためには、フィーチャベクトルの最も近いクラスからの距離を使用することが可能である。たとえば、加速度計140ノルムの標準偏差およびデバイスの平均の向きによって、そのデータが歩行中によって生成された可能性があるのかまたは運転中によって生成された可能性があるのかのいずれであるかが指示されることがある(フィーチャベクトルからこれらのクラスの各々の重心までの距離が短くかつ同様であるとする)。
【００７７】
CASMはまた、報告された信頼度が事前決定のしきい値を下回った場合に、分類器出力に対する信頼度テストの実行および追加のセンサストリーム(同じサブシステムに存在することも他のサブシステムに存在することもある)の有効化に基づいて始動されることがある。
【００７８】
図5は、一実施形態によるCASMの流れ図を示している。ブロック505ではCASMは、センサデータ(たとえば、センサデータサンプル)を受け取るまたはこれにアクセスすることが可能である。
【００７９】
ブロック510ではCASMは、直前のブロック505で受け取ったセンサデータの分類を試みることが可能である。データ分類には上述のようなフィーチャ算出を含むことがある。
【００８０】
ブロック515ではCASMは、直前のブロック510からの決定済みの分類と関連付けされた信頼度を決定することが可能である。この信頼度は、上に記載した要因のうちの1つまたは複数に基づくことがある。
【００８１】
ブロック520ではCASMは、センサデータと関連付けされた信頼度が信頼度しきい値を満たすまたはこれを超えるかどうかを判定することが可能である。たとえばその信頼度しきい値は、事前決定の信頼度レベルまたは正確な分類を提供するとして知られた値とすることがある。低い信頼度は、ブロック510で決定された分類が不正確であるかまたは当てにならないことを指示することがある。CASMによってその分類が信頼度の最小レベルを満たすまたはこれを超えると判定された場合、ブロック530において最終決定が出力される。別法としてCASMによってその分類が信頼度の事前定義の最小レベルを満たさないと判定された場合、CASMはブロック525において1つまたは複数の追加のセンサを起動することが可能であり、またCASMはブロック510において追加のセンサデータを分類することが可能である。
【００８２】
ブロック530ではCASMは、以前のブロックで分類された1つまたは複数のセンサデータサンプルに基づいて分類を提供する。一実施形態ではCASMは、後続のセンサデータサンプルで決定される分類によってこれより前の任意の初期分類決定を置き換えるように決定する。
【００８３】
CASMの出力は、アプリケーション(たとえば、デバイス100上で稼働している処理済みのセンサデータや関連する分類を読み取るためのエクササイズプログラム、活動記録器、カレンダーアプリケーション、または他のソフトウェアなどのプログラム)によって使用されることがある。CASMはまた、各分類と関連付けされた評価済み信頼度を出力することがある。
【００８４】
本明細書において「例示的な」または「例」という語は「1つの例、事例または例証の役割をする」ことを意味するように使用されている。本明細書に「例示的な」としてまたは1つの「例」として記載した任意の態様または実施形態は、必ずしも他の態様または実施形態と比べて好ましいまたは有利であると解釈されるべきではない。
【００８５】
デバイス100は、適当な任意のワイヤレス通信技術に基づくか、さもなければこうしたワイヤレス通信技術をサポートするワイヤレスネットワークを通じて1つまたは複数のワイヤレス通信リンクを介して通信し得るモバイルデバイスまたはワイヤレスデバイスであることを理解されたい。たとえばいくつかの態様では、計算デバイスまたはサーバは、ワイヤレスネットワークを含むネットワークと関連付けすることがある。いくつかの態様ではそのネットワークは、ボディエリアネットワークやパーソナルエリアネットワーク(たとえば、ウルトラワイドバンドネットワーク)を備えることがある。いくつかの態様ではそのネットワークは、ローカルエリアネットワークやワイドエリアネットワークを備えることがある。ワイヤレスデバイスは、多種多様なワイヤレス通信技術、プロトコル、またはたとえばCDMA、TDMA、OFDM、OFDMA、WiMAXおよびWi-Fiなどの標準のうちの1つまたは複数をサポートすること、さもなければこれを使用することがある。同様にワイヤレスデバイスは、多種多様な対応する変調スキームや多重化スキームのうちの1つまたは複数をサポートすること、さもなければこれを使用することがある。モバイルワイヤレスデバイスは、他のモバイルデバイス、携帯電話、他の有線式やワイヤレス式コンピュータ、インターネットウェブサイト、その他とワイヤレス式に通信することがある。
【００８６】
本明細書の教示は多種多様な装置(たとえば、デバイス)に組み込まれること(たとえば、その中に実装されたり、これによって実行されること)がある。たとえば本明細書で教示した1つまたは複数の態様は、電話機(たとえば、携帯電話)、携帯情報端末(PDA)、タブレット、モバイルコンピュータ、ラップトップコンピュータ、エンターテインメントデバイス(たとえば、音楽デバイスやビデオデバイス)、ヘッドセット(たとえば、ヘッドフォン、イヤフォン、その他)、医用デバイス(たとえば、生体計測センサ、心拍動モニタ、歩数計、心電図(EKG)デバイス、その他)、ユーザI/Oデバイス、コンピュータ、サーバ、ポイントオブセールデバイス、セットトップボックス、または適当な他の任意のデバイスに組み込まれることがある。これらのデバイスは、異なるパワーおよびデータ要件を有することがあり、また各フィーチャまたはフィーチャ組ごとに異なるパワープロフィールが生成されることがある。
【００８７】
いくつかの態様ではワイヤレスデバイスは、通信システム向けのアクセスデバイス(たとえば、Wi-Fiアクセスポイント)を備えることがある。このようなアクセスデバイスはたとえば、有線式またはワイヤレス式の通信リンクを介した別のネットワーク(たとえば、インターネットやセルラーネットワークなどのワイドエリアネットワーク)との接続性を提供することがある。したがってアクセスデバイスは別のデバイス(たとえば、Wi-Fi局)を、他のネットワークやいくつかの他の機能に対してアクセス可能とさせ得る。さらに、こうしたデバイスのうちの一方または両方を可搬式とすることあり、あるいはいくつかのケースでは相対的に非可搬式とすることがあることを理解されたい。
【００８８】
当業者であれば情報および信号を多種多様な異なる技術および技法のうちのいずれかを用いて表し得ることを理解されよう。たとえば上の説明を通じて言及し得るデータ、命令、コマンド、情報、信号、ビット、記号およびチップは、電圧、電流、電磁波、磁場または磁性粒子、光学場または光学粒子、あるいはこれらの任意の組合せによって表されることがある。
【００８９】
当業者であればさらに、本明細書に開示した実施形態に関連して説明した様々な例証の論理ブロック、モジュール、回路およびアルゴリズムステップが電子的ハードウェアとして、コンピュータソフトウェアとして、またはこの両方の組合せとして実装され得ることを理解されよう。ハードウェアとソフトウェアのこの交換可能性を明瞭に例証するために、様々な例証の構成要素、ブロック、モジュール、回路およびステップについてその機能に関連して全般的に上で説明してきた。このような機能がハードウェアとして実装されるかソフトウェアとして実装されるかは、その特定の用途およびシステム全体に課せられた設計制約に依存する。当業者であれば、記載した機能を各特定の用途向けに様々な方法で実装することができるが、このような実装の決定が本発明の趣旨からの逸脱を生じさせると解釈すべきではない。
【００９０】
本明細書に開示した実施形態に関連して説明した様々な例証の論理ブロック、モジュールおよび回路は、汎用プロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラム可能ゲートアレイ(FPGA)または他のプログラム可能論理デバイス、離散ゲートまたはトランジスタロジック、離散ハードウェア構成要素、あるいは本明細書に記載した機能を実行するように設計されたこれらの任意の組合せによって実装されるまたは実行されることがある。汎用プロセッサはマイクロプロセッサとすることがあるが、代替形態ではそのプロセッサを従来の任意のプロセッサ、コントローラ、マイクロコントローラまたは状態マシンとすることがある。プロセッサはまた、たとえばDSPとマイクロプロセッサの組合せ、複数のマイクロプロセッサ、DSPコアと連携させた1つまたは複数のマイクロプロセッサ、あるいは他の任意のこのような構成など、計算デバイスの組合せとして実装されることがある。
【００９１】
本明細書に開示した実施形態に関連して説明した方法またはアルゴリズムのステップは、直接ハードウェアの形で、プロセッサによって実行されるソフトウェアモジュールの形で、あるいはこの両者を組み合わせた形で具現化されることがある。ソフトウェアモジュールは、RAMメモリ、フラッシュメモリ、ROMメモリ、EPROMメモリ、EEPROMメモリ、レジスタ、ハードディスク、取外し可能ディスク、CD-ROM、または当技術分野で周知の他の形態の記憶媒体に置かれることがある。例示的な記憶媒体は、プロセッサによる記憶媒体からの情報の読取りおよび記憶媒体への情報の書込みが可能なようにしてプロセッサに結合されている。代替形態では、記憶媒体をプロセッサに一体化させることがある。プロセッサおよび記憶媒体をASIC内に置くことがある。このASICはユーザ端末内に置かれることがある。代替形態では、プロセッサおよび記憶媒体がユーザ端末内の離散的構成要素として置かれることがある。
【００９２】
1つまたは複数の例示的な実施形態では記載した機能は、ハードウェアの形、ソフトウェアの形、ファームウェアの形、またはこれらの任意の組合せの形で実装されることがある。コンピュータプログラム製品としてソフトウェアの形で実装される場合にその機能は、非一時的コンピュータ可読媒体上に記憶されること、あるいは非一時的コンピュータ可読媒体上の1つまたは複数の命令またはコードとして送られることがある。コンピュータ可読媒体は、コンピュータプログラムのある箇所から別の箇所への転送を容易にする任意の媒体を含め、コンピュータ記憶媒体と通信媒体の両方を含むことが可能である。記憶媒体は、コンピュータによるアクセスを受けることが可能な任意の利用可能媒体とすることがある。限定ではなく一例として、このような非一時的コンピュータ可読媒体は、RAM、ROM、EEPROM、CD-ROMや他の光ディスク記憶、磁気ディスク記憶や他の磁気記憶デバイス、あるいは所望のプログラムコードを命令またはデータ構造の形態で持ち運ぶためまたは記憶するために使用可能でありかつコンピュータによるアクセスを受けることが可能な他の任意の媒体を備えることが可能である。さらに任意の接続もコンピュータ可読媒体と呼ぶのに適当である。たとえばそのソフトウェアが同軸ケーブル、光ファイバケーブル、ツイストペア、デジタル加入者線(DSL)、または赤外線、無線およびマイクロ波などのワイヤレス技術を用いてウェブサイト、サーバまたは他のリモートソースから送信されている場合、この同軸ケーブル、光ファイバケーブル、ツイストペア、DSL、または赤外線、無線およびマイクロ波などのワイヤレス技術も媒体の定義の中に含まれる。本明細書で使用する場合にディスク(disk)やディスク(disc)には、コンパクトディスク(CD)、レーザーディスク(登録商標)、光ディスク、デジタル多目的ディスク(DVD)、フロッピー(登録商標)ディスクおよびブルーレイディスクを含んでいる(ここで、ディスク(disk)は通常データを磁気式に再生成するものであり、一方ディスク(disc)はデータをレーザーを用いて光学式に再生成するものである)。上述したものの組合せも非一時的なコンピュータ可読媒体の範囲内に含めるべきである。
【００９３】
開示した実施形態に関する上の説明は当業者による本発明の製作または使用を可能とさせるために提供したものである。これらの実施形態に対する様々な修正は当業者には容易に明らかであり、また本明細書で規定した一般的原理は本発明の精神や趣旨を逸脱することなく他の実施形態に適用させ得る。したがって本発明を本明細書に示した実施形態に限定するように意図していないが、本明細書に開示した原理および新規の特徴と矛盾しない可能な最も広い範囲と一致させるべきである。
【符号の説明】
【００９４】
100  デバイス
101  プロセッサ
105  メモリ
110  ネットワークインターフェース
115  ワイヤレスサブシステム
120  ディスプレイ
121  パワーデバイス
125  I/Oコントローラ
130  近接センサ
135  周辺光センサ(ALS)
140  加速度計
145  ジャイロスコープ
150  磁力計
155  気圧センサ
160  全地球測位センサ(GPS)
165  マイクロフォン
170  カメラ
171  モジュール
305  Y軸
310  ポイント
315  クラスA
320  ポイント
325  クラスB
330  ポイント
335  クラスC
340  X軸
405  センサX
410  センサZ
412  t0
415  クラスA
420  非起動
422  t1
425  クラスB
432  t2
435  クラスB
440  クラスA
442  t3
445  クラスA
452  t4
455  クラスC
462  t5
465  クラスC
472  t6
【図１】
0006363239.tif 000004
【図２】
0006363239.tif 000005
【図３】
0006363239.tif 000006
【図４】
0006363239.tif 000007
【図５】
0006363239.tif 000008