【文献】
ダンプの運行管理にも!位置情報とリマインダーが連動する「GeoAlerts」,2013年12月17日,[検索日 2019.10.29], インターネット: <URL: http://ieiri-lab.jp/it/2013/12/GeoAlerts.html>
(58)【調査した分野】(Int.Cl.,DB名)
前記物理空間内の前記少なくとも1つの物理領域に対応する前記少なくとも1つの仮想領域は、前記物理空間の三次元(3D)サブボリュームに対応する前記少なくとも1つの仮想領域を含む、請求項1に記載の方法。
前記少なくとも1つの仮想領域の前記指示を受信することは、前記少なくとも1つの仮想領域の特性を受信することを含み、前記特性は、(i)前記少なくとも1つの仮想領域のサイズ、(ii)前記少なくとも1つの仮想領域の形状、(iii)前記物理空間の前記仮想表現内の前記少なくとも1つの仮想領域の相対的位置、(iv)前記物理空間の前記仮想表現内の前記少なくとも1つの仮想領域の相対的方位、および(v)前記少なくとも1つの仮想領域が少なくとも1つの静的な仮想領域であるか少なくとも1つの動的な仮想領域であるかの選択、の1つ以上を含む、請求項1または2に記載の方法。
前記少なくとも1つの物理領域は、前記物理空間の少なくとも第1の点から前記物理空間の少なくとも第2の点への少なくとも1つのアクターの移動と関連付けられている少なくとも1つの動的な物理領域を含み、前記少なくとも1つの仮想領域は、前記少なくとも1つの動的な物理領域に対応する少なくとも1つの動的な仮想領域を含む、請求項1から3のいずれか1項に記載の方法。
前記少なくとも1つの動的な物理領域は、(i)前記少なくとも1つのアクターが前記第1の点にいる間は第1の形状を、かつ(ii)前記少なくとも1つのアクターが前記第2の点にいる間は第2の形状を有し、前記少なくとも1つの動的な仮想領域は、前記少なくとも1つのアクターが前記第1および第2の点にいる間は前記第1および第2の形状をそれぞれ取る、請求項4に記載の方法。
前記第1および第2の形状は、前記少なくとも1つのアクターが前記第1および第2の点にいる間は前記少なくとも1つのアクターの特定の形状にそれぞれ対応する、請求項5に記載の方法。
前記少なくとも1つの仮想領域の前記指示および前記少なくとも1つのトリガ条件を受信したことに応答して、前記少なくとも1つのトリガ条件を満たす前記少なくとも1つの物理領域内の前記イベントを検出するための少なくとも1つのセンサ解釈規則を決定することをさらに備え、前記イベントを検出することは、前記少なくとも1つのセンサ解釈規則に少なくとも部分的に基づいて前記イベントを検出することを含む、請求項1から6のいずれか1項に記載の方法。
前記少なくとも1つのセンサ解釈規則を決定することは、前記物理空間内に位置決めされた前記複数のセンサの1つ以上の特性に少なくとも部分的に基づいて前記少なくとも1つのセンサ解釈規則を決定することを含む、請求項7に記載の方法。
前記特性は、(i)センサタイプ、(ii)センサモデル、(iii)センサ位置、(iv)センサ方位、(v)前記少なくとも1つの物理領域とのセンサ関連付け、および(vi)前記少なくとも1つのサブスクライバデバイスとのセンサ関連付け、の1つ以上を含む、請求項8に記載の方法。
前記少なくとも1つのセンサ解釈規則を決定することは、前記イベントを検出する際に用いるべき1つ以上の特定のセンサを前記複数のセンサの中から選択することを含む、請求項7から9のいずれか1項に記載の方法。
1つ以上の特定のセンサを選択することは、少なくとも(i)第1のセンサデータを生成するように構成された第1のセンサおよび(ii)第2のセンサデータを生成するように構成された第2のセンサを選択することを含み、前記少なくとも1つのセンサ解釈規則を決定することは、前記イベントを検出するために少なくとも前記第1および第2のセンサデータを用いる決定を下すことをさらに含み、前記少なくとも1つのセンサ解釈規則に少なくとも部分的に基づいて前記イベントを検出することは、少なくとも前記第1および第2のセンサデータの評価に基づいて前記少なくとも1つの物理領域内の前記少なくとも1つの特定の物理的変化を検出することを含む、請求項10に記載の方法。
少なくとも1つのセンサ解釈規則を決定することは、前記物理空間内の前記少なくとも1つの物理領域と関連付けられている前記センサデータの前記一部を求めることを含み、前記少なくとも1つのセンサ解釈規則に少なくとも部分的に基づいて前記イベントを検出することは、前記センサデータの前記一部の評価に基づいて前記少なくとも1つの物理領
域内の前記少なくとも1つの特定の物理的変化を検出することを含む、請求項7から11のいずれか1項に記載の方法。
【発明を実施するための形態】
【0010】
詳細な説明
例示的な方法およびシステムが本明細書に記載される。「例」、「例示的な」および「例証的な」という用語は本明細書において「例、場合、または例証となる」ことを意味するために用いられていることを理解すべきである。「例」である、「例示的」である、または「例証的」であると本明細書に記載されている任意の実現例または特徴は、他の実現例または特徴よりも好ましいまたは有利であると必ずしも解釈すべきではない。本明細書に記載される例示的な実現は限定的であることが意図されていない。本明細書に一般的に記載されており図面に示されているような本開示の局面は、多種多様な異なる構成で配置、置換、組合せ、分離、および設計可能であることが容易に理解されるであろう。それらのすべては本明細書において明示的に検討されている。
【0011】
I.
概要
さまざまな実現例によると、本明細書に記載されるのは、物理空間の物理領域内でトリガ条件が満たされたことを検出するための方法およびシステムである。特に、開示されるシステムは、サブスクライバデバイス(たとえば家庭用電子機器)が、当該システムに対して、物理空間の指定領域内で特定の物理的変化が起こるとサブスクライバデバイスに通知するよう要求することを可能にし得る。本開示に従うと、サブスクライバデバイスは、物理空間内の物理領域に対応する仮想領域を指定する要求をシステムに送信することができる。この要求はさらに、仮想領域に関連したトリガ条件を、指定された物理領域内の特定の物理的変化に当該トリガ条件が対応するように指定し得る。たとえば、トリガ条件は、アクター(たとえばロボット)が指定された物理領域に入ることを含み得る。したがって、この要求は本質的に、開示されるシステムが提供するサービスをサブスクライバデバイスにサブスクライブさせ得る。
【0012】
さらに、開示されるシステムは、物理空間内に位置決めされたさまざまなセンサと通信し得る。さまざまなセンサは、数ある種類のデータの中でも特に、物理空間内の物理エンティティに関するデータ、および物理空間内で起こるイベントに関するデータを提供し得る。システムはそのようなデータを受信し得、当該データを処理して、トリガ条件が満たされたことを示すデータ内のイベントを検出し得る。特に、これは、コンピューティングシステムが、物理領域と関連付けられているセンサデータの一部を求めることと、次いで、当該データを解釈して、特定の物理的変化が物理領域内で起こったと判断することとを含み得る。
【0013】
特定の物理的変化が物理領域内で起こったとシステムが判断すると、システムはトリガ条件が満たされたことをサブスクライバデバイスに通知し得る。サブスクライバデバイスはそのような通知を受信すると、さまざまな行動のうちの1つを取り得る。たとえば、サブスクライバデバイスは、当該領域をテレビの周りの三次元の円筒領域と定義し、かつトリガ条件を人物がこの定義された領域に入ることと定義するテレビであってもよい。この場合、テレビは、トリガ条件が満たされた(したがって人物が領域に入った)ことを示す通知を開示されるシステムから受信し得、テレビはこの通知を受信したことに応答して電源が投入され得る。
【0014】
このように、開示されるシステムは本質的に、サブスクライバデバイスのためのプログラミングビルディングブロックを提供する。より具体的には、サブスクライバデバイスは物理空間内のセンサに関する情報を全く有していない場合があり、および/または、物理空間内の対象の物理的変化を検出するためにそのようなセンサをどのように使用するかの判断能力を有していない場合がある。ゆえに、サブスクライバデバイスをそのような能力を含むようにプログラムするのではなく、開示されるシステムは、サブスクライバデバイスが領域を指定できるように、かつトリガ条件を指定できるようにすることによって、プログラミングの容易さを増大させる。
【0015】
領域およびトリガ条件を指定する要求を開示されるシステムが受信すると、開示されるシステムは、物理空間内のセンサに関する情報を取得し、次いで物理空間の物理領域内の対象の物理的変化を検出するためにそのようなセンサをどのように使用するかを判断することによって、プログラミングビルディングブロックとして本質的に機能し得る。続いて、物理領域内の対象の物理的変化が起こると、およびしたがってトリガ条件が満たされると、サブスクライバデバイスは開示されるシステムによって通知され得る。したがって、この開示されるシステムは、サブスクライバデバイスが物理空間に関する対象の情報を得るために必要なプログラミングの程度を減少させ得る。さらに、この開示されるシステムは複数のサブスクライバデバイスと同時に通信可能であるため、開示されるシステムは上述のサービスを多くのサブスクライバデバイスに同時に提供することができる。
【0016】
II.
例示的なシステム
次に図面を参照して、
図1は1つ以上のセンサ102を有する物理空間100を含む例示的な構成を示す。物理空間は、人物、物体、および/または機械が位置し得る環境の一部を定義し得る。物理空間は二次元または三次元(3D)の形態を取り得、さまざまな目的に用いられ得る。たとえば、物理空間は、商品および/またはサービスの販売が個人(または企業)と消費者との間で行なわれる小売空間として用いられ得る。他の例として、数ある例の中でも特に、製造施設、物流施設、オフィス空間、ショッピングセンター、フェスティバル会場、および/または空港などの物理空間があり得る。また、
図1には1つの物理空間100が示されているが、例示的な実現は複数の物理空間のコンテキストで実行されてもよい。さらなる局面において、1つ以上のアクターが物理空間100内に位置決めされ得る。特に、アクターは、物理空間100内に位置するさまざまな物理エンティティのうちの1つを定義し得る。たとえば、アクターは、数ある可能性の中でも特に、人物、動物、機械、ロボットシステム、および/または物体を含み得る。
【0017】
物理空間における例示的なセンサ102は、特に、力覚センサ、近接センサ、モーションセンサ(たとえば慣性計測装置(IMU)、ジャイロスコープ、および/もしくは加速度計)、負荷センサ、位置センサ、熱画像センサ、顔認識センサ、深度センサ(たとえばRGB−D、レーザ、ストラクチャードライト、および/もしくは飛行時間カメラ)、ポイントクラウドセンサ、超音波領域センサ、赤外線センサ、全地球測位システム(GPS)受信機、ソナー、光センサ、バイオセンサ、無線周波数識別(RFID)システム、近距離通信(NFC)チップ、ワイヤレスセンサ、コンパス、煙センサ、光センサ、無線センサ、マイクロフォン、スピーカ、レーダ、タッチセンサ(たとえば容量センサ)、カメラ(たとえばカラーカメラ、グレースケールカメラ、および/もしくは赤外線カメラ)、ならびに/または距離センサ(たとえば超音波および/もしくは赤外線)を含み得るが、これらに限定されない。
【0018】
さらに、センサ102は、数ある可能な位置の中でも特に、物理空間100内にまたは物理空間100の近傍に位置決めされてもよい。さらに、例示的な実現では、携帯電話、ラップトップ、および/またはタブレットといった既存のデバイス内に組込まれたセンサも用いてもよい。これらのデバイスは、小売空間内の消費者および/または従業員といった物理空間100内に位置する人々が所有していてもよい。さらに、またはあるいは、これらのデバイスは、たとえば家電機器の販売のために用いられる小売空間においてなどで陳列される品物であってもよい。
【0019】
図1は、物理空間100内に位置決めされたセンサ102からデータを受信し得るコンピューティングシステム104も図示している。特に、センサ102は通信リンク116を介してコンピューティングシステムにセンサデータを提供し得る。通信リンク116は、有線リンクならびに/または(たとえばさまざまな無線送信機および受信機を用いる)無線リンクを含み得る。有線リンクは、たとえば、ユニバーサルシリアルバス(USB)などのパラレルバスまたはシリアルバスを含み得る。無線リンクは、数ある可能性の中でも特に、たとえば、Bluetooth(登録商標)、IEEE802.11(IEEE802.11はIEEE802.11−2007、IEEE802.11n−2009、もしくはその他のIEEE802.11修正を指し得る)、セルラー(GSM(登録商標)、GPRS、CDMA、UMTS、EV−DO、WiMAX、HSPDA、もしくはLTEなど)、またはZigbee(登録商標)を含み得る。さらに、セルラー通信プロトコル(たとえばCDMA、GSM、もしくはWiMAX、および802.11を用いる「WiFi」接続性のためのもの)を用いる「3G」または「4G」データ接続性といった、複数の有線および/または無線プロトコルが用いられてもよい。
【0020】
他の例では、当該構成はアクセスポイントを含み得、当該アクセスポイントを介してセンサ102および/またはコンピューティングシステム104がクラウドサーバと通信し得る。アクセスポイントは、ワイヤレスアクセスポイント(WAP)またはワイヤレスルータの形態といったさまざまな形態を取り得る。さらに、通信がCDMAまたはGSMプロトコルといったセルラーエアインターフェースプロトコルを用いて行なわれる場合、アクセスポイントはセルラーネットワークを介してインターネット接続性を提供するセルラーネットワーク内の基地局であってもよい。他の例も可能である。
【0021】
コンピューティングシステム104は、1つ以上のプロセッサ106、データ記憶装置108、プログラム命令110、および電源112を含むとして示されている。コンピューティングシステム104は本開示の範囲から逸脱することなく付加的なコンポーネントを含み得るおよび/または1つ以上のコンポーネントが除去され得るため、コンピューティングシステム104は例証のために示されているに過ぎないことに留意すべきである。さらに、コンピューティングシステム104のさまざまなコンポーネントは任意の態様で配置および接続され得ることに留意すべきである。
【0022】
1つ以上のプロセッサ106からの各プロセッサは、汎用プロセッサまたは特殊用途プロセッサ(たとえばデジタル信号プロセッサ、特定用途向け集積回路等)であってもよい。プロセッサ106は、データ記憶装置108に記憶されて本明細書に記載されるコンピューティングシステム104の機能を提供するように実行可能なコンピュータ読取可能なプログラム命令110を実行するように構成され得る。たとえば、プログラム命令110は、センサ102から受信したセンサデータの処理を提供するように実行可能であり得る。
【0023】
データ記憶装置108は、1つ以上のプロセッサ106によって読取可能またはアクセス可能な1つ以上のコンピュータ読取可能な記憶媒体を含み得るか、または当該記憶媒体の形態を取り得る。1つ以上のコンピュータ読取可能な記憶媒体は、光、磁気、有機、または他のメモリもしくはディスク記憶装置といった揮発性および/または不揮発性記憶コンポーネントを含み得、当該コンポーネントは全体がまたは一部が1つ以上のプロセッサ106と統合され得る。ある実施形態では、データ記憶装置108は単一の物理デバイス(たとえば1つの光、磁気、有機、または他のメモリもしくはディスク記憶装置)を用いて実現され得るが、他の実施形態では、データ記憶装置108は2つ以上の物理デバイスを用いて実現され得る。さらに、コンピュータ読取可能なプログラム命令110に加えて、データ記憶装置108は、数ある可能性の中でも特に、診断データなどの付加的なデータを含み得る。さらに、コンピューティングシステム104は、コンピューティングシステム104のさまざまなコンポーネントに電力を供給するように構成された1つ以上の電源112も含み得る。たとえば電池などの任意の種類の電源が用いられ得る。
【0024】
図1は、物理空間100内に位置決めされたサブスクライバデバイス114をさらに図示している。サブスクライバデバイス114は物理空間100内に位置決めされるとして示されているが、サブスクライバデバイス114はたとえば物理空間100の外部といった別の位置に位置決めされてもよい。いずれの場合も、サブスクライバデバイス114は、コンピューティングシステム104が提供するサービスを(直接的にまたは間接的に)サブスクライブ可能な任意のデバイスであり得る。コンピューティングシステム104が提供するサービスをサブスクライブするために、サブスクライバデバイス114は、たとえばリンク116の形態を取るリンクを介してなどして、通信リンクを介してコンピューティングシステム104と通信し得る。サブスクライバデバイス114がコンピューティングシステム104と通信するために用いるこのリンクは、センサ102がコンピューティングシステム104と通信するために用いるリンク116と同一でもよいし、異なっていてもよい。さらに、いくつかの場合、サブスクライバデバイス114は物理空間100内のセンサ102の少なくともいくつかを含み得る。
【0025】
サブスクライバデバイス114はさまざまな形態のうちの1つを取り得る。たとえば、サブスクライバデバイス114は、特に、電気デバイス、電子デバイス、電気機械デバイス、またはコンピューティングデバイスであってもよい。例として、サブスクライバデバイス114は、テレビ、スピーカ、プロジェクタ、ロボットシステム、セルラー電話、ラップトップ、タブレット、デスクトップコンピュータ、ウェアラブルコンピューティングデバイス、医療デバイス、スキャナ、プリンタ、ページャ、カメラ、計算機、オーブン、冷蔵庫、電子レンジ、扇風機、または洗濯機のうちのいずれか1つであってもよい。さまざまな他の例も可能である。
【0026】
上述のように、サブスクライバデバイス114はある場合ではコンピューティングデバイスの形態を取り得るか、または別個のコンピューティングデバイス(図示せず)に通信可能にリンクされ得る。いずれの場合も、このコンピューティングデバイスは、数あるコンポーネントの中でも特に、ディスプレイおよび入力方法エディタ(IME)を含み得る。そのような他のコンポーネントは、特に、プロセッサ、データ記憶装置、プログラム命令、および/または電源を含み得る(たとえばそのすべて(または一部)がコンピューティングシステム104のコンポーネントと同一または同様の形態を取り得る)。例として、上述のように、このコンピューティングシステムは、数ある可能性の中でも特に、デスクトップコンピュータ、ラップトップ、タブレット、ウェアラブルコンピューティングデバイス、および/または携帯電話の形態を取り得る。
【0027】
コンピューティングデバイスのディスプレイは任意の形態を取り得、コンピューティングデバイスのユーザに画像および/またはグラフィックスを投影するように配置され得る。例示的な配置では、コンピューティングデバイス内のプロジェクタが、ディスプレイの表面上に画像および/またはグラフィックスのさまざまなプロジェクションを投影するように構成され得る。ディスプレイは、エレクトロルミネッセントディスプレイもしくは液晶ディスプレイといった不透明なまたは透明な(または半透明な)マトリクスディスプレイ、ユーザの目に画像を映し出すための1つ以上の導波管、またはユーザに画像を映し出すことが可能な他の光学素子を含み得る。そのようなマトリックスディスプレイを駆動するために、対応するディスプレイドライバがコンピューティングデバイス内に配置され得る。ディスプレイのための他の配置も可能であり得る。したがって、ディスプレイは、アプリケーションを提供し得るグラフィカルユーザインターフェース(GUI)を示し得、ユーザはこれを介して本明細書に開示されるシステムと対話し得る。
【0028】
さらに、コンピューティングデバイスはIMEを介して(たとえばコンピューティングデバイスのユーザから)ユーザ入力を受信し得る。特に、IMEは、数ある可能な対話の中でも特に、スクロールのため、テキストを提供するため、および/またはアプリケーションのさまざまな特徴を選択するためなどでGUIとの対話を可能にし得る。IMEはさまざまな形態を取り得る。一例では、IMEはGUIを制御するために用いられるコンピューティングマウスなどのポインティングデバイスであってもよい。しかし、ディスプレイがタッチスクリーンディスプレイである場合は、GUIの制御を可能にするタッチ入力が(たとえば指またはスタイラスを用いるなどして)受信されてもよい。別の例では、IMEは、GUIを介して表示すべき数字、文字および/または記号の選択を提供するキーボードなどのテキストIMEであってもよい。たとえば、ディスプレイがタッチスクリーンディスプレイである構成では、ディスプレイの一部がIMEを示してもよい。ゆえに、IMEを含むディスプレイの一部上のタッチ入力によって、ディスプレイを介してGUI上に示すべき特定的な数字、文字、および/または記号の選択といったユーザ入力がもたらされ得る。さらに別の例では、IMEは、コンピューティングデバイスのマイクロフォンを介してユーザからなどのオーディオ入力を受信する音声IMEであってもよく、当該オーディオ入力は次いでさまざまな音声認識技術のうちの1つを用いて1つ以上の文字に解釈可能であり、当該文字がディスプレイを介して示され得る。他の例も可能であり得る。
【0029】
III.
例示的な方法
図2は、例示的な実現に係る方法200を示すフローチャートである。特に、方法200は、トリガ条件を満たすイベントを物理領域内で検出するように実現され得る。
【0030】
図2に示す方法200(ならびに本明細書に開示される他のプロセスおよび方法)は、たとえば
図1に関連して上述したコンピューティングシステム104および/またはサブスクライバデバイス114を含む構成内で(またはより特定的には、プロセッサと、本明細書に記載される機能を当該デバイスに実行させるように実行可能な命令を有する非一時的なコンピュータ読取可能な媒体とによってなど、1つ以上のコンポーネントまたはそのサブシステムによって)実現され得る方法を提示する。さらに、またはあるいは、方法200はその他の構成およびシステム内で実現されてもよい。
【0031】
方法200ならびに本明細書に開示される他のプロセスおよび方法は、ブロック202〜210の1つ以上によって示されるような1つ以上の動作、機能、または行動を含み得る。当該ブロックは順番に示されているが、これらのブロックは並行して、および/または本明細書に記載される順序とは異なる順序で行なわれてもよい。また、当該さまざまなブロックは、所望の実現例に基づいてより少ないブロックに組合せられてもよく、さらなるブロックに分割されてもよく、および/または除去されてもよい。
【0032】
さらに、方法200ならびに本明細書に開示される他のプロセスおよび方法について、当該フローチャートは現在の実現例のうちの1つの可能な実現例の機能および動作を示す。この点に関して、各ブロックはモジュール、セグメント、またはプログラムコードの一部を表わし得、これは、プロセス内の特定的な論理機能またはステップを実現するためにプロセッサによって実行可能な1つ以上の命令を含む。プログラムコードは、たとえば、ディスクまたはハードドライブを含む記憶装置といった、任意の種類のコンピュータ読取可能な媒体上に記憶され得る。コンピュータ読取可能な媒体は、たとえば、レジスタメモリ、プロセッサキャッシュおよびランダムアクセスメモリ(RAM)などのデータを短期間記憶するコンピュータ読取可能な媒体といった、非一時的なコンピュータ読取可能な媒体を含み得る。コンピュータ読取可能な媒体は、たとえば、読取専用メモリ(ROM)、光または磁気ディスク、コンパクトディスク読取専用メモリ(CD−ROM)などの二次的または永続的な長期記憶装置といった非一時的媒体も含み得る。また、コンピュータ読取可能な媒体はその他の揮発性または不揮発性記憶システムであってもよい。コンピュータ読取可能な媒体は、たとえばコンピュータ読取可能な記憶媒体、または有形記憶装置と見なされ得る。さらに、方法200ならびに本明細書に開示される他のプロセスおよび方法について、
図2の各ブロックは、プロセス内の特定的な論理機能を実行するように配線されている回路を表わし得る。
【0033】
ブロック202において、方法200は、物理空間(たとえば物理空間100)の仮想表現内の少なくとも1つの仮想領域の指示を、少なくとも1つのサブスクライバデバイス(たとえばサブスクライバデバイス114)からコンピューティングシステム(たとえばコンピューティングシステム104)によって受信することを含み、少なくとも1つの仮想領域は物理空間内の少なくとも1つの物理領域に対応する。
【0034】
例示的な実現では、サブスクライバデバイス114は、コンピューティングシステム104が提供するサービスをサブスクライブ可能なアプリケーションを含み得る。たとえば、サブスクライバデバイス114は、(たとえばエンジニアリング入力を介して、ダウンロードを介して、またはインストールを介して)当該アプリケーションがプログラムで装備されているスピーカであってもよい。あるいは、サブスクライバデバイス114は、このアプリケーションを含むタブレットなどの別のコンピューティングデバイスに通信可能にリンクされてもよい。この場合、コンピューティングデバイスは当該アプリケーションを用いて、コンピューティングシステム104が提供するサービスをサブスクライバデバイス114にサブスクライブさせてもよい。たとえば、以下にさらに述べるように、タブレットは、コンピューティングシステム104が提供するサービスを(たとえばタブレットにおいて提供されるユーザ入力に基づいて)スピーカにサブスクライブさせてもよく、サービスの結果に基づいてスピーカに行動を取らせてもよい。
【0035】
いずれの場合も、アプリケーションは自動的にサービスをサブスクライブし得る。たとえば、アプリケーションは、このサブスクリプションの要求をプログラムで開始する特定のデバイス状態にサブスクライバデバイス114が直面するとサブスクライブし得る。あるいは、アプリケーションは、ユーザによって提供されるユーザ入力に応答してサービスをサブスクライブし得る。さらに、アプリケーションは、コンピューティングシステム104に特定の要求を送信することによってサービスをサブスクライブし得、当該要求は、特に、サブスクライバデバイス114の識別(ID)、サブスクライバデバイス114の能力、サブスクライバデバイス114のモデル、要求の時間、および/または要求されたサービスを受信するための期間を含み得る。
【0036】
したがって、要求は、サービスに関連した具体的な詳細の指示を含み得る。特に、要求は、物理空間100の仮想表現内の少なくとも1つの仮想領域の指示を含み得る。この仮想領域は物理空間100内の物理領域に対応し得るため、サブスクライバデバイス114(または別個のコンピューティングデバイス)はサブスクライバデバイス114についての対象の物理領域を本質的に指定することができる。さらに、この仮想領域は、(数ある可能な属性の中でも特に)たとえば物理領域の相対的位置、サイズ、形状、および/または相対的方位に対応することによってなどして、物理領域に対応し得る。
【0037】
したがって、要求は、仮想領域に関連したさまざまな特性を指定し得る。これらの特性は、(i)少なくとも1つの仮想領域のサイズ、(ii)少なくとも1つの仮想領域の形状、(iii)物理空間の仮想表現内の少なくとも1つの仮想領域の相対的位置、および(iv)物理空間の仮想表現内の少なくとも1つの仮想領域の相対的方位を含み得るが、これらに限定されない。このように、仮想表現内の仮想領域は、物理空間100内の物理領域の属性と一致する属性を有し得る。
【0038】
さらに、この物理領域は物理空間100の物理的なサブセクションであってもよい。たとえば、物理領域は、任意のサイズおよび形状を取り得る物理空間100の二次元(2D)サブエリアであってもよい。物理空間100が三次元(3D)空間である場合、2Dサブエリアも3D空間内の任意の相対的方位を取り得る。この場合、物理領域はゆえに、数ある可能な形状の中でも特に、正方形、矩形、円形、または三角形であってもよい。他の場合、この物理領域は、任意の相対的位置、サイズ、形状、および/または相対的方位を取り得る物理空間100の3Dサブボリュームであってもよい。たとえば、物理領域は、数ある可能な形状の中でも特に、立方体、直方体、円柱、円錐、球、角錐、および/または三角柱であってもよい。さらに別の場合、物理領域は物理空間内の一次元の点であってもよい。他の場合も可能である。
【0039】
図3Aは、小売店の形態を取っている例示的な物理空間300を示す。物理空間300は、例示的なサブスクライバデバイス302といったさまざまなデバイスを含むとして示されている。さらに、
図3Aに示すように、例示的な物理領域304はサブスクライバデバイス302の近くにある立方体の形態を取り得る。さらに、物理空間300は例示的なセンサ306Aから306Bを含むとして示されている。特に、センサ306Aは深度センサの形態を取り得、センサ306Bは熱センサの形態を取り得、センサ306Cは近接センサの形態を取り得る。物理空間300は他の種類のセンサも含み得るため、これらのセンサは例証のために示されているに過ぎず限定的であることが意図されていないことに留意すべきである。
【0040】
以下にさらに述べるように、サブスクライバデバイス302は、サブスクライバデバイス302の近くで起こるイベントに関連した情報を取得するために、この物理領域304に対応する仮想領域を定義し得る。例示的な実現では、仮想領域はさまざまな方法のうちの1つで(たとえば指示の一部として)定義され得る。例として、仮想表現は、(数ある可能な属性の中でも特に)たとえば物理空間100のサイズ、形状、および/または方位に対応することによってなどして、物理空間100の物理座標系に対応する仮想座標系であってもよい。この例では、指示は仮想座標系内の仮想座標を指定し得、当該仮想座標はゆえに仮想領域を定義し得る。この構成では、仮想領域は物理空間100内の物理領域に対応し得る。たとえば、指定された仮想座標は、(数ある可能な属性の中でも特に)たとえば物理領域の相対的位置、サイズ、形状、および/または相対的方位に対応することによってなどして、物理座標系内の物理座標に対応し得る。
【0041】
別の例では、ユーザは、(たとえばデバイス114がコンピューティングデバイスである場合は)サブスクライバデバイス114との対話によって、またはコンピューティングシステム104が提供するサービスをデバイス114にサブスクライブさせることができる別個のコンピューティングデバイスとの対話によって、仮想領域を手動で定義することもできる。いずれの場合も、そのようなコンピューティングデバイスは、たとえば上述のアプリケーションを介するなどして、グラフィカルユーザインターフェース(GUI)を示すように構成され得る。このGUIは、物理空間100の仮想表現内の仮想領域の選択を提供し得る。ある場合では、GUIは物理空間の(二次元(2D)または三次元(3D))マップを示し得る。別の場合では、GUIは物理的な位置のビデオフィードを示し得る。さらに別の場合では、GUIは物理空間の画像を示し得る。さらに別の場合では、GUIは、ビデオフィードから外挿されたレイアウトまたは物理空間の画像といった、物理空間のレイアウトを示し得る。他の場合も可能である。
【0042】
このような構成内では、仮想表現内に示される定義済の領域(たとえば小売空間内の通路)の選択に対応するユーザ入力が受信され得る。しかし、GUIはユーザが選択のための1つ以上の領域を定義することも可能にし得るため、構成は定義済の領域に限定されない。たとえば、GUIは物理空間の仮想表現を示し得、続いて、当該物理空間の仮想表現内のカスタム領域を定義するユーザ入力が受信され得る。カスタム領域を定義することは2Dまたは3D形状(たとえば正方形または立方体等)の選択を含み得、これに続いて、仮想表現内の形状の位置ならびに形状のサイズおよび形状の方位を求めるためのユーザ入力ジェスチャーが行なわれることによって、形状を用いて選択領域が定義される。これらのユーザ入力ジェスチャーは、マップ上の所望の位置におけるポインティングデバイスの使用(またはタッチスクリーンディスプレイ上の接触の使用)を含み得る。あるいは、形状を選択する代わりに、ユーザ入力は、選択領域を定義するためにマップ上のカスタム形状(たとえば囲まれたエリアまたはボリューム)の描画を含んでいてもよい。いずれの構成においても、結果として得られる選択領域は物理空間100の2Dセクションであってもよく、または物理空間100の3Dセクションであってもよい。
【0043】
さらに別の例では、サブスクライバデバイス114は、コンピューティングシステム104への要求の一部として仮想領域を定義しない場合がある。代わりに、コンピューティングシステム104は、サブスクライバデバイス114の特性に基づいて、および/または要求の特性に基づいて仮想領域を定義し得る。たとえば、上述のように、要求は、サブスクライバデバイス114のID、サブスクライバデバイス114の能力、および/またはサブスクライバデバイス114のモデルといった特定的なデバイス属性を含み得る。以下にさらに述べるように、要求は、仮想領域に対応する物理領域内の特定の物理的変化を定義するトリガ条件も指定し得る。したがって、コンピューティングシステム104は、特定的なデバイス属性および/または指定されたトリガ条件に基づいて仮想領域を定義し得る。そのようにするために、コンピューティングシステム104は、さまざまな仮想領域をさまざまなデバイス属性および/またはさまざまなトリガ条件にマップする記憶されたマッピングデータを参照し得、次いでこのマッピングに基づいて仮想領域を選択し得る。
【0044】
例として、サブスクライバデバイス114はテレビであってもよく、トリガ条件は物理領域内のアクター(たとえば人物またはロボット)の存在を含んでいてもよい。コンピューティングシステム104はこの情報を含む要求を受信し得、次いでテレビのための仮想領域を定義するためにマッピングデータを参照し得る。この例では、仮想領域は、物理領域内のアクターの存在を判定するために、テレビのサイズに対応するサイズ、および場合によってはテレビを包含するサイズを有する円筒形状を取る物理領域に対応し得る。他の例も可能である。
【0045】
さらなる局面において、上述の要求は、仮想領域が静的な仮想領域であるか動的な仮想領域であるかの選択を指定し得る。静的な仮想領域は、仮想表現の座標系に対して経時変化しない座標を有する領域を定義し得る。したがって、静的な仮想領域は、物理空間100の座標系に対して経時変化しない座標を有する静的な物理領域に対応し得る。これに対して、動的な仮想領域は、仮想表現の座標系に対して経時変化する座標を有する領域を定義し得る。したがって、動的な仮想領域は、物理空間100の座標系に対して経時変化する座標を有する動的な物理領域に対応し得る。
【0046】
例示的な実現では、動的な物理空間は、物理空間100の少なくとも第1の点から物理空間100の少なくとも第2の点までのアクターの移動と関連付けられ得る。ある場合では、動的な仮想領域は単に任意の形状を取り得、アクターの移動に基づいて仮想表現に対して移動し得る。別の場合では、アクターのサイズ、形状、および/または方位(および他の属性)は動的な物理領域を実質的に定義し得る。したがって、動的な仮想領域のサイズ、形状、および/または方位は、アクターが物理空間100全体にわたって移動するにつれてアクターの対応するサイズ、形状、および/または方位に適合し得る。たとえば、動的な物理領域は、1つのアクターが第1の点にいる間は第1の形状を有し得、アクターが第2の点にいる間は第2の形状を有し得る。したがって、動的な仮想領域は、アクターが第1および第2の点にいる間は第1および第2の形状をそれぞれ取り得る。このように、第1および第2の形状は、アクターが第1および第2の点にいる間はアクターの形状にそれぞれ対応し得る。他の場合も可能である。
【0047】
さらに、コンピューティングシステム104は、動的な仮想領域を生成するためのさまざまな技術のうちの1つを用い得る。以下に詳細にさらに述べるように、コンピューティングシステム104は物理空間100内に位置決めされたセンサからセンサデータを受信し得る。コンピューティングシステム104は次いで当該センサデータを用いて動的な仮想領域を経時的に生成し得る。たとえば、コンピューティングシステム104は、物理空間100内に位置決めされたカメラから画像データを受信し得る。コンピューティングシステム104は次いでさまざまな画像処理技術を用いてアクターの2D輪郭または3D輪郭を(たとえば連続的にまたは随時)求め得、これは次いで動的な仮想領域を定義する根拠として用いられ得る。さまざまな他の技術も可能である。
【0048】
図4Aから
図4Dは、アクターの位置、形状、および方位を取る動的領域の例を示す。
図4Aに示すように、例示的なアクター400は、物理空間300内の第1の点/位置に位置決めされたヒューマノイドロボットの形態を取り得る。次に
図4Bは、アクター400の相対的位置、形状、および相対的方位(および他の属性)を取る例示的な動的領域402を示す。しかし、この領域402は、(以下にさらに述べるように)たとえばアクター400の周りの物理的変化の検出を可能にするために、アクター400のサイズよりも大きいサイズを有する。
図4Cに示すように、例示的なアクター400は物理空間300内の第1の点/位置から第2の点/位置に移動している。また、アクター400の形状はヒューマノイドロボットの腕の動きに起因して新たな形状に変化している。次に
図4Dは、アクター400の更新された相対的位置、更新された形状、および更新された相対的方位(および他の更新された属性)を取る例示的な動的領域402を示す。しかし、上述のように、この領域402は、たとえばアクター400の更新された位置におけるアクター400の周りの物理的変化の検出を可能にするために、アクター400のサイズよりも大きいサイズを依然として有している。
図4Aから
図4Dは例証のために示されているに過ぎず限定的であることが意図されていないことに留意すべきである。
【0049】
図5Aから
図5Bは、相対的に単純な形状を取り、かつアクター400の移動に基づいて移動する動的領域の例を示す。
図5Aに示すように、例示的なアクター400は、物理空間300内の第1の点/位置に位置決めされたヒューマノイドロボットの形態を取り得る。次に
図5Aは、アクター400を取囲む3D矩形形状を取る例示的な動的領域502を示す。この領域502は、(以下にさらに述べるように)たとえばアクター400の周りの物理的変化の検出を可能にするために、アクター400のサイズよりも大きいサイズを有する。
図5Bに示すように、例示的なアクター400は物理空間300内の第1の点/位置から第2の点/位置に移動している。次に
図5Bは、アクター400の更新された相対的位置に移動している例示的な動的領域502を示す。示されるように、この領域502は、たとえばアクター400の更新された位置におけるアクター400の周りの物理的変化の検出を可能にするために、アクター400のサイズよりも大きいサイズを依然として有している。
図5Aから
図5Bは例証のために示されているに過ぎず限定的であることが意図されていないことに留意すべきである。
【0050】
再び
図2を参照して、ブロック204において、方法200は、少なくとも1つの仮想領域と関連付けられている少なくとも1つのトリガ条件を、少なくとも1つのサブスクライバデバイスからコンピューティングシステムによって受信することを含み、少なくとも1つのトリガ条件は少なくとも1つの物理領域内の少なくとも1つの特定の物理的変化に対応する。
【0051】
例示的な実現では、上述の要求は、物理領域に対応する仮想領域と関連付けられているトリガ条件を指定し得る。このトリガ条件は特定の物理的変化に対応し得る。物理的変化は、物理空間内のセンサによって感知可能な物理領域内の任意の発生を定義し得る。したがって、サブスクライバデバイス114は、特定の物理的変化が物理領域内で起こると(以下にさらに述べるように)通知を受信するようにサブスクライブし得、この特定の物理的変化を指定するトリガ条件を定義することによってそのようにし得る。
【0052】
例として、特定の物理的変化はアクターが物理領域に入ることを含み得る。これは具体的には、アクターが物理領域の何らかの部分(たとえばボリュームまたはエリア)に入ったという検出を含み得る。別の例では、特定の物理的変化はアクターが物理領域から出ることを含み得る。これは具体的には、アクターが物理領域の何らかの部分(たとえばボリュームまたはエリア)から出たという検出を含み得る。さらに別の例では、特定の物理的変化は少なくとも1つの物理領域内のアクターの存在を含み得る。これは具体的には、アクターが少なくとも閾値期間にわたって物理領域の何らかの部分(たとえばボリュームまたはエリア)に存在しているという検出を含み得る。さらに別の例では、特定の物理的変化は物理領域の占有を含み得る。これは具体的には、物理領域内の少なくとも閾値数のアクターの存在を含み得る。
【0053】
さらに別の例では、特定の物理的変化は少なくとも1つの物理領域内の特定の音を含み得る。たとえば、この特定の音は成人の音であってもよい。これは具体的には、音の位置を判定するため、かつ問題の物理領域から音が来たというその後の判定のために、指向性マイクロフォンから受信したオーディオデータの使用を含み得る。この例の中では、特定の物理的変化は、少なくとも1つの物理領域内の特定の語句(たとえば「こんにちは」)を含む音を含み得る。ある語句がトリガ条件内に指定された特定の語句と一致すると判断するために、コンピューティングシステム104によってさまざまな音声認識技術が用いられ得る。他の例も可能である。
【0054】
トリガ条件はさまざまな方法のうちの1つで指定され得る。たとえば、要求はトリガ条件に対応するコードを含み得る。この例では、コンピューティングシステム104はコードをさまざまな特定の物理的変化にマップする記憶されたマッピングデータを参照し得、コンピューティングシステム104はゆえに、指定されたコードに対応する特定の物理的変化を判定することによってトリガ条件を解釈し得る。別の例では、要求は、特定の物理的変化(たとえば「アクターの入場」)を指定する1つ以上の文字(たとえばユーザ入力を介して受信する)を含み得る。この例では、コンピューティングシステム104は要求を解釈するためにさまざまな自然言語処理(NLP)技術を用い、こうして特定の物理的変化を判定し得る。他の例も可能である。
【0055】
再び
図2を参照して、ブロック206において、方法200は、物理空間内に位置決めされた複数のセンサ(たとえばセンサ102)からセンサデータをコンピューティングシステムによって受信することを含み、センサデータの少なくとも一部は物理空間内の少なくとも1つの物理領域と関連付けられている。
【0056】
例示的な実現では、コンピューティングシステム104は、数ある可能な形態の中でも特に、コンピュータ読取可能なデータパケットの形態のセンサデータを受信してもよい。さらに、コンピューティングシステム104は各センサからデータを別個に受信してもよく、または(たとえば同一のデータパケット内などの)2つ以上のセンサからのデータを同時に受信してもよい。さらに、センサデータは連続して(たとえばリアルタイムで)受信されてもよく、または随時(たとえば周期的に)受信されてもよい。さらに、センサデータは匿名化されたデータストリームの形態で受信されてもよい。すなわち、物理空間100内に位置する1つ以上のエンティティ(たとえば個人)に関連した情報を表わすセンサデータは、1つ以上のエンティティのそれぞれの個々のアイデンティティに関連した情報を全く提供し得ないため、物理空間100内に位置する個人のプライバシーが維持される。
【0057】
センサデータを受信すると、センサデータの一部またはすべてがデータ記憶装置108に記憶されて、および/または(たとえばプロセッサ106)を用いて処理されて、本明細書に記載の機能が提供され得る。さらに、コンピューティングシステム104は受信したセンサデータに関連した時間を記憶し得る。たとえば、コンピューティングシステム104は、特に、センサデータがセンサによって得られる時間、センサデータ(たとえばデータパケット)がコンピューティングシステム104に送信される時間、および/またはセンサデータ(たとえばデータパケット)がコンピューティングシステム104によって受信される時間を確立するためのさまざまなタイムスタンプ技術を用い得る。この時間は、数ある可能性の中でも特に、日付、曜日、および/または時刻を含み得る。
【0058】
さらに、コンピューティングシステム104はさらに、またはあるいは、センサデータに関連した位置を記憶してもよい。たとえば、コンピューティングシステム104は、受信したデータパケット上に位置情報を符号化してもよい(たとえば、センサ識別情報を受信し、識別したセンサの対応する記憶位置を判定する)。あるいは、受信したデータパケットは、その上に位置情報が既に符号化されていてもよい。いずれの場合も、位置情報は、数ある可能性の中でも特に、物理空間100内の座標、アドレス、および/または名前を表わす文字のリスト(たとえば小売空間内の売り場の名前)の形態であってもよい。
【0059】
さらに、この位置情報は特定のセンサ(または1組のセンサ)の物理空間100内の位置を表わしてもよい。しかし、いくつかの場合、受信したセンサデータは、このセンサデータを得るセンサの位置と必ずしも同一でない物理空間100内の位置に関連した情報を提供してもよい。ゆえに、位置情報はさらに、またはあるいは、受信したセンサデータが関連付けられている物理空間100内の位置を表わしてもよい。一例として、センサデータは、物理空間内に位置するカメラから受信した画像データを含んでいてもよい。この例では、位置情報は物理空間内のカメラの位置を含んでいてもよく、および/またはカメラによって提供された画像データと関連付けられている位置を含んでいてもよい。他の例も可能であり得る。
【0060】
再び
図2を参照して、ブロック208において、方法200は、センサデータに基づいて、コンピューティングシステムが、少なくとも1つの物理領域内の少なくとも1つの特定の物理的変化に対応する少なくとも1つのトリガ条件を満たす少なくとも1つの物理領域内のイベントを検出することを含む。
【0061】
例示的な実現では、コンピューティングシステム104は受信したセンサデータを用いて、トリガ条件を満たした物理領域内のイベントを検出し得る。このイベントは、1つ以上のセンサによって検出された物理領域内の物理的変化を定義し得る。したがって、イベントを検出することは、受信したセンサデータの少なくとも一部がイベントを表わすデータを含んでいるという判断を含み得る。イベントがトリガ条件を満たしていると判断するために、コンピューティングシステム104は、イベントを表わすデータを含む受信したセンサデータの一部が、トリガ条件を定義するデータと一致する(または少なくとも実質的に一致する)と判断し得る。
【0062】
特に、コンピューティングシステム104が仮想領域の指示およびトリガ条件を受信すると、コンピューティングシステム104は、トリガ条件を満たす物理領域内のイベントを検出するための少なくとも1つのアプローチ(センサ解釈規則とも称され得る)を決定し得る。アプローチが決定されると、コンピューティングシステム104は次いで当該アプローチに基づいてイベントを検出し得る。2つ以上のアプローチが決定される状況では、コンピューティングシステム104は決定されたアプローチのいずれか1つを用いてイベントを検出し得る。いずれの場合も、そのようなアプローチはさまざまな方法のうちの1つで決定され得る。
【0063】
例示的な構成では、コンピューティングシステム104は、物理空間100内に位置決めされた複数のセンサ102の1つ以上の特性に基づいてアプローチを決定し得る。より具体的には、コンピューティングシステム104は、特定の物理空間内に位置決めされたセンサに関連した情報をその上に(たとえばデータ記憶装置108内に)記憶し得るか、またはその他の方法で当該情報を参照し得る。この情報はさまざまなセンサの特性を含み得、これらの特性はアプローチを決定する際に考慮され得る。
【0064】
ある場合では、センサ特性は、たとえばセンサが位置センサであるか熱センサであるかといったセンサタイプを含み得る。別の場合では、センサ特性は、たとえば会社名および/または商品名といったセンサ製造業者および/またはモデルを含み得る。さらに別の場合では、センサ特性は、たとえば上述の位置情報に基づくといったセンサ位置を含み得る。さらに別の場合では、センサ特性は、たとえば物理空間100内のセンサの相対的方位といったセンサ方位を含み得る。さらに別の場合では、センサ特性は物理領域とのセンサ関連付けを含み得る。たとえば、コンピューティングシステム104は、センサと関連付けられている位置情報が物理領域の座標に対応すると判断し得る。さらに別の場合では、センサ特性はサブスクライバデバイス114とのセンサ関連付けを含み得る。たとえば、コンピューティングシステム104は、センサがサブスクライバデバイス114の一部であると判断し得る。他の場合も可能である。
【0065】
したがって、一局面において、アプローチを決定することは、イベントを検出する際に用いるべき1つ以上の特定のセンサを(たとえば物理空間100内の複数のセンサ102の中から)選択することを含み得る。1つ以上の特定のセンサを選択することは、イベントを検出するのに最も好適な特性を有する1つ以上のセンサを選択することを含み得る。たとえば、トリガ条件がアクターが領域に入ったことを検出することを含む場合、コンピューティングシステム104は、最も好適なセンサは、物理領域と関連付けられている画像キャプチャデバイスと、物理領域と関連付けられている近接センサとの組合せを含むであろうと判断し得る。
【0066】
したがって、1つ以上の特定のセンサを選択することは、コンピューティングシステム104が少なくとも(i)第1のセンサデータを生成するように構成された第1のセンサおよび(ii)第2のセンサデータを生成するように構成された第2のセンサを選択することを含み得る。コンピューティングシステム104は次いで、イベントを検出するために少なくとも第1および第2のセンサデータを用いる決定を下し得る。この決定がなされると、コンピューティングシステム104は、少なくとも第1および第2のセンサデータの評価に基づいて物理領域内の特定の物理的変化を検出し得る。この第1および第2のセンサデータがトリガ条件を定義するデータと一致する(または少なくとも実質的に一致する)場合は、コンピューティングシステム104はイベントが検出されたと判断し得る。
【0067】
別の局面において、アプローチを決定することは、物理空間内の物理領域と関連付けられているセンサデータの一部を求めることを含み得る。そのようにするために、たとえば、コンピューティングシステム104は、データパケットについての上述の位置情報が物理領域の座標に対応していると判断し得、それに応答してデータパケット(たとえばその上の符号化)を物理領域と関連付けられていると表示し得る。別の例では、コンピューティングシステム104は、センサデータのどの部分が物理領域に対応するかを直接判断し得る。たとえば、コンピューティングシステム104は複数の深度点を深度センサから受信し得、次いで深度点の座標を用いてどの深度点が物理領域に対応するかを判断し得る。これらの構成では、コンピューティングシステム104は、物理領域と関連付けられていると表示されているデータパケットの評価に基づくなど、物理領域と関連付けられているセンサデータの一部の評価に基づいて物理領域内の特定の物理的変化を検出することによってイベントを検出し得る。
【0068】
さらに別の局面において、アプローチを決定することは、トリガ条件を定義するデータを求めることを含み得る。特に、コンピューティングシステム104は、特定の物理的変化を表わすことになるセンサデータ内の情報(たとえば値)を、およびしたがってトリガ条件を求め得る。したがって、この情報は、イベントを検出するためにコンピューティングシステム104がセンサデータ内で探すべき情報に相当し得る。コンピューティングシステム104はさまざまな方法のうちの1つで当該情報を求めることができる。
【0069】
ある場合では、この情報を求めることは上述の要求に含まれている内容に基づき得る。たとえば、要求は、トリガ条件を定義する(たとえば1つ以上の特定のセンサについての)値および/または閾値を指定し得、コンピューティングシステム104は次いで、センサデータを受信すると、指定閾値を超えるこれらの指定値をセンサデータが含むか否かを判断し得る。例として、要求は、物理領域内の温度が華氏100度を超えるとコンピューティングシステム104がサブスクライバデバイス114に通知すべきであると指定するトリガ条件を含み得る。この例では、コンピューティングシステム104は次いで、センサデータを受信すると、華氏100度を超える物理領域内の温度に対応するデータをセンサデータが含むか否かを判断し得る。
【0070】
別の場合では、この情報は上述の要求内の内容に基づいて推論され得る。たとえば、要求は値および/または閾値を指定しない場合があり、代わりに、たとえば条件を指定するコードまたは言語によってなどで、別の方法でトリガ条件を指定する場合がある。コンピューティングシステム104は次いでマッピングデータまたは他の処理技術を用いて、トリガ条件に対応する値および/または閾値を求め得る。コンピューティングシステム104は次いで、センサデータを受信すると、これらの値および/または閾値を超える値をセンサデータが含むか否かを判断し得る。
【0071】
例として、要求は、物理領域が「暑く」なるとコンピューティングシステム104がサブスクライバデバイス114に通知すべきであると指定するトリガ条件を含み得る。トリガ条件は、ユーザ入力を介して提供されるテキストなどのテキスト(たとえば「この領域が暑くなれば知らせて下さい」)によってこれを指定し得る。この例では、コンピューティングシステム104はNLP技術を用いて要求の意味を判断し得、次いで「暑い」領域が華氏100度を超える物理領域内の温度を含み得ると(たとえばマッピングデータに基づいて)判断し得る。したがって、コンピューティングシステム104は、物理領域内の温度が華氏100度を超えるとトリガ条件が満たされると判断し得る。したがって、コンピューティングシステム104は次いで、センサデータを受信すると、華氏100度を超える物理領域内の温度に対応するデータをセンサデータが含むか否かを判断し得る。
【0072】
さらに別の局面において、アプローチを決定することは、イベントを検出するために用いられる各センサから受信したデータについて重みを求めることを含み得る。さらに、またはあるいは、アプローチを決定することは、イベントを検出するために用いられるセンサデータの各部分について重みを求めることを含んでいてもよい。たとえば、コンピューティングシステム104は、温度センサおよび位置センサを用いてイベントを検出すべきであると判断し得る。この例では、コンピューティングシステム104は、温度センサから受信したセンサデータについての第1の重み、および位置センサから受信したセンサデータについての第2の重みを求め得る。コンピューティングシステム104は次いで、たとえば重み付け平均を求めることによってなどで、それぞれのセンサデータにそれぞれの重みを適用し得る。ゆえに、コンピューティングシステム104は、異なるセンサデータに異なる重みを適用することによって得られた値に基づいてイベントを検出し得る。たとえば、コンピューティングシステム104は、イベントを検出するために、重み付け平均を求め得、次いで重み付け平均の値が閾値を超えているか否かを判断し得る。他の局面(および上記の局面の組合せ)も可能である。
【0073】
再び
図2を参照して、ブロック210において、方法200は、イベントを検出したことに応答して、少なくとも1つのトリガ条件が満たされたことを示す通知を、コンピューティングシステムによって少なくとも1つのサブスクライバデバイスに提供することを含む。
【0074】
例示的な実現では、コンピューティングシステム104は、イベントが検出されたこと、およびしたがってトリガ条件が満たされたことをサブスクライバデバイス114に通知し得る。コンピューティングシステム104は、それを示す通知をサブスクライバデバイス114に送信することによってそのようにし得る。たとえば、通知は、トリガ条件が満たされたことを示す2進値(たとえば1)、コード、および/またはテキストを含み得る。いくつかの場合、通知は、数ある可能性の中でも特に、トリガ条件が満たされた時間といった他の情報も含み得る。
【0075】
サブスクライバデバイス114が通知を受信すると、サブスクライバデバイス114はさまざまな行動のうちの1つを取り得る。そのような例示的な行動を提示するために、領域と対話しているアクターを各々が示す
図3Bから
図5Cを参照する。たとえば、
図3Bは物理領域304内に位置決めされたアクター308を示す。この例では、サブスクライバデバイス302は、トリガ条件を物理領域304内のアクターの存在であると指定し得る。このトリガ条件に基づいて、コンピューティングシステム104は(たとえばセンサ306Aから306Cの1つ以上を用いて)物理領域304内のアクター308の存在を判定し得、次いでトリガ条件が満たされたことをサブスクライバデバイス302に通知し得る。この通知に応答して、サブスクライバデバイス302はさまざまな行動のうちの1つを取り得る。たとえば、サブスクライバデバイス302は、サブスクライバデバイス302によって表示されているコンテンツを更新し得る。
図3Bに示すように、これは、数ある可能性の中でも特に、現在の時刻を含むロック画面を表示するために、サブスクライバデバイス302がデバイス302のディスプレイの電源を投入することを含み得る。別の例では、サブスクライバデバイス302は通知を受信するたびに(およびしたがってアクターが領域304内に存在しているたびに)カウンタを増加させ得る。サブスクライバデバイス302はそのようにして、たとえば1日の間に領域内に存在するアクターの総数を求め得る。他の場合も可能である。
【0076】
別の例では、
図5Cは、動的領域402内に(およびしたがってアクター400の近くに)位置決めされた(ロボットの形態を取っている)アクター504を示す。この例では、アクター400(これもロボットの形態を取っている)はサブスクライバデバイスであってもよく、ゆえに、トリガ条件を動的領域402内の別のアクターの存在であると指定してもよい。このトリガ条件に基づいて、コンピューティングシステム400は動的領域402内のアクター504の存在を判定し得る。コンピューティングシステム104が動的領域402内のアクター504の存在を判定すると、コンピューティングシステム104は次いでトリガ条件が満たされたことをアクター400に通知し得る。この通知に応答して、アクター400はさまざまな行動のうちの1つを取り得る。たとえば、ロボットの形態を取っているアクター400は、アクター504との衝突のリスクを減らし、ゆえにロボットの周囲の安全性を高めるために、ロボットをシャットダウンさせるかまたはロボットの移動を停止させ得る。他の例も可能である。
【0077】
IV.
付加的な特徴
さらなる局面において、上述の実現例は複数の領域のコンテキストで実行されてもよい。たとえば、要求は2つ以上の仮想領域を指定し得る。この場合、領域毎のトリガ条件は同一であってもよい。さらに、またはあるいは、領域毎のトリガ条件は異なっていてもよい。この構成では、コンピューティングシステム104は、さまざまな指定領域についてのすべてのトリガ条件が満たされるとサブスクライバデバイス114に通知し得る。別の場合では、コンピューティングシステム104は、少なくとも1つの領域についての少なくとも1つのトリガ条件が満たされるとサブスクライバデバイス114に通知し得る。いくつかの場合、要求はトリガ条件が満たされるべき順序を指定し得る。たとえば、要求は、領域Aについてのトリガ条件Aが満たされた後に領域Bについてのトリガ条件Bが満たされるべきであると指定し得る。ゆえに、コンピューティングシステム104がこの順序で起こるイベントを検出すると、コンピューティングシステム104はサブスクライバデバイス114に通知し得る。他の場合も可能である。
【0078】
さらに別の局面において、上述の実現例は指定領域についての複数のトリガ条件のコンテキストで実行されてもよい。たとえば、要求は指定領域についての2つ以上のトリガ条件を指定し得る。この場合、当該領域についてのトリガ条件は互いに異なっていてもよい。この構成では、コンピューティングシステム104は、指定領域についてのすべてのトリガ条件が満たされるとサブスクライバデバイス114に通知し得る。別の場合では、コンピューティングシステム104は、指定領域についての少なくとも1つのトリガ条件が満たされるとサブスクライバデバイス114に通知し得る。いくつかの場合、要求は指定領域についてトリガ条件が満たされるべき順序を指定し得る。たとえば、要求は、領域Aについてのトリガ条件Aが満たされた後に領域Aについてのトリガ条件Bが満たされるべきであると指定し得る。ゆえに、コンピューティングシステム104が指定領域内でこの順序で起こるイベントを検出すると、コンピューティングシステム104はサブスクライバデバイス114に通知し得る。他の場合も可能である。
【0079】
さらに別の局面において、仮想領域はアクターの視線方向に基づいて定義されてもよい。特に、コンピューティングシステム104はセンサデータを用いてアクターの視線方向を判定し得、次いでこの視線方向を用いて領域を定義し得る。たとえば、コンピューティングシステム104は、領域をたとえばアクターの視野の焦点と定義することによってなどで、アクターの視野に基づいて領域を定義し得る。この点に関して、この定義される領域は動的であり得、ゆえにアクターの変化する視線方向に基づいて更新され得る。他の局面も可能である。
【0080】
V.
結論
本開示は、さまざまな局面の例証として意図されている本出願に記載の特定の実現例に関して限定されない。当業者に明らかになるように、その精神および範囲から逸脱することなく多くの変更および変形が可能である。本明細書に列挙されたものに加えて、本開示の範囲内の機能的に同等の方法および装置が上記の説明から当業者に明らかになるであろう。そのような変更および変形は添付の請求項の範囲内に収まることが意図されている。
【0081】
上記の詳細な説明では、添付の図面を参照して開示されるシステム、装置、および方法のさまざまな特徴および機能を記載している。図面では、文脈上別段の定めがない限り、同様の記号は典型的に同様の構成要素を特定している。本明細書および図面に記載される例示的な実現は限定的であることが意図されていない。本明細書に提示される主題の精神および範囲から逸脱することなく他の実現例も利用可能であり、他の変更も可能である。本明細書に一般的に記載されており図面に示されているような本開示の局面は多種多様な異なる構成で配置、置換、組合せ、分離、および設計され得ることが容易に理解されるであろう。そのすべてが本明細書に明示的に予期されている。
【0082】
図面に示される特定の構成は限定的であると見なすべきでない。他の実現例は、所与の図面に示されている各要素よりも多いまたは少ない要素を含み得ることを理解すべきである。さらに、示される要素のいくつかは組合せられてもよいし、省略されてもよい。さらに、例示的な実現は図面に記載されていない要素を含んでいてもよい。
【0083】
さまざまな局面および実現例を本明細書に開示したが、他の局面および実現例が当業者に明らかになるであろう。本明細書に開示されるさまざまな局面および実現例は例証のためであり限定的であることを意図しておらず、真の範囲は以下の請求項によって示されている。
【0084】
システムがエンティティに関する情報を収集する、またはその情報を利用する状況では、個人を特定できる情報が除去されるように、データは保存または使用される前に1つ以上の方法で処理されてもよい。たとえば、あるエンティティのアイデンティティが、当該エンティティについて個人を特定できる情報を求めることができないように処理されてもよく、または、あるエンティティの地理的位置が、エンティティの特定の位置を確認することができないように、位置情報が得られる場所で(都市、郵便番号、または州のレベルなどに)一般化されてもよい。