(57)【特許請求の範囲】
【請求項１】
１つまたは複数のコンピューティングデバイスが実行する方法であって、
感知された情報を受けるステップであって、前記感知された情報は、１つまたは複数のデータによって構成され、前記１つまたは複数のデータの各々は、１つまたは複数の感知機構からの知覚情報に基づく情報を含む、ステップと、
最終ポリシー情報を提供するために、前記感知された情報から認識された少なくとも１つのオブジェクトの各々を最終ポリシーと関連付けるステップであって、前記最終ポリシー情報は、前記少なくとも１つのオブジェクトの各々に関連付けられた最終ポリシーを識別し、前記最終ポリシーは、関連付けられたオブジェクトに関してアプリケーションに適用される許可を示し、あるオブジェクトに関連付ける最終ポリシーの候補を、前記感知された情報から別のオブジェクトが認識されたことに基づき指定するステップを含む関連付けるステップと、
１つまたは複数のアプリケーションの各々に適用される許可を示す許可情報を提供するために、前記最終ポリシー情報に少なくとも基づき、前記１つまたは複数のアプリケーションの各々に適用する許可を識別するステップと、
前記許可情報に少なくとも基づき、前記１つまたは複数のアプリケーションの挙動を調節するステップと
を含み、調節する前記ステップは、
前記１つまたは複数のアプリケーションのうちのあるアプリケーションについて、フィルタ済データを提供するステップであって、前記フィルタ済データは、前記あるアプリケーションによる読み取りが許可されていない情報の存在を減らすようにフィルタリングされた前記１つまたは複数のデータである、ステップと、
前記フィルタ済データを前記あるアプリケーションに送るステップと
を含み、前記フィルタ済データの少なくとも一部は、前記１つまたは複数のデータに含まれる情報の部分を編集することによって生成された、方法。
【請求項２】
請求項１に記載の方法であって、関連付ける前記ステップは、
前記感知された情報から物理的エンティティの存在を識別するステップと、
最終ポリシーの候補を前記物理的エンティティに少なくとも基づき決定するステップと
を含む、方法。
【請求項３】
請求項１に記載の方法であって、関連付ける前記ステップは、
前記感知された情報からイベントの発生を識別するステップと、
最終ポリシーの候補を前記イベントに少なくとも基づいて決定するステップと
を含む、方法。
【請求項４】
請求項１に記載の方法であって、関連付ける前記ステップは、
前記感知された情報からポリシー指定特徴を識別するステップと、
最終ポリシーの候補を前記ポリシー指定特徴に少なくとも基づいて決定するステップと
を含む、方法。
【請求項５】
請求項１に記載の方法であって、関連付ける前記ステップは、
前記感知された情報から認識された特定のオブジェクトに関連付けられた１つまたは複数の候補ポリシーのセットを決定するステップと、
１つまたは複数の候補ポリシーの前記セットから単一の最終ポリシーを選択するステップと
を含む、方法。
【請求項６】
請求項５に記載の方法であって、各候補ポリシーは制限性のレベルに関連付けられ、選択する前記ステップは、前記単一の最終ポリシーとして、前記セット内で最も高い制限性のレベルに関連付けられた単一の候補ポリシーを選択するステップを含む、方法。
【請求項７】
請求項５に記載の方法であって、選択する前記ステップは、前記セット内の少なくとも１つの候補ポリシーをユーザー固有のポリシーで上書きするステップを含む、方法。
【請求項８】
請求項７に記載の方法であって、選択する前記ステップは、前記少なくとも１つの候補ポリシーが必須と指定されているかどうかの判定に少なくとも部分的に基づく、方法。
【請求項９】
請求項５に記載の方法であって、選択する前記ステップは、２つ以上の候補ポリシーから選択するようユーザーを促すステップを含む、方法。
【請求項１０】
請求項１に記載の方法であって、調節する前記ステップは、少なくとも１つの最終ポリシーに基づき、少なくとも１つのアプリケーションの挙動を、該少なくとも１つのアプリケーションに適用されている許可の変更を示すイベントが発生するまで調節するステップを含む、方法。
【請求項１１】
請求項１に記載の方法であって、調節する前記ステップは、少なくとも１つの最終ポリシーに基づき、少なくとも１つのアプリケーションの挙動を、前記少なくとも１つの最終ポリシーに関連付けられたキューが前記感知された情報から検出されている限りは調節するステップを含む、方法。
【請求項１２】
請求項１に記載の方法であって、調節する前記ステップは、単一のアプリケーションが、前記１つまたは複数のデータのうちのデータを受けることを不可能にするか又は許可するステップを含む、方法。
【請求項１３】
請求項１に記載の方法であって、前記フィルタ済データはビデオ情報を含み、前記編集することは、認識されたオブジェクトを前記ビデオ情報から除去することを含む、方法。
【請求項１４】
請求項１３に記載の方法であって、前記認識されたオブジェクトは、前記ビデオ情報に現れる人の顔である、方法。
【請求項１５】
請求項１に記載の方法であって、調節する前記ステップは、単一のアプリケーションが他のアプリケーションとの共有を許可されたデータ・アイテムを、前記許可情報に少なくとも基づいて決定するステップを含む、方法。
【請求項１６】
請求項１に記載の方法であって、調節する前記ステップは、単一のアプリケーションが１つまたは複数の出力デバイスに送ることを許可された出力情報を、前記許可情報に少なくとも基づいて決定するステップを含む、方法。
【請求項１７】
１つまたは複数の処理デバイスと、
命令を記憶した１つまたは複数のコンピューター可読記憶媒体であって、前記命令は、前記１つまたは複数の処理デバイスにより実行されると、前記１つまたは複数の処理デバイスに、
候補ポリシー情報を提供するために、感知された情報を１つまたは複数の候補ポリシーにマッピングするステップであって、前記感知された情報は、１つまたは複数のデータによって構成され、前記１つまたは複数のデータの各々は、１つまたは複数の感知機構からの知覚情報に基づく情報を含み、前記候補ポリシー情報は、前記感知された情報から認識された複数のオブジェクトの各々に関連付けられた１つまたは複数の候補ポリシーを識別し、前記候補ポリシーは、関連付けられたオブジェクトに関してアプリケーションに適用される許可を示し、前記複数のオブジェクトは、同一の前記感知された情報から認識される、第１の認識されたオブジェクトと第２の認識されたオブジェクトとを含み、あるオブジェクトに関連付けられる候補ポリシーのうちの少なくとも１つを、前記感知された情報から別のオブジェクトが認識されたことに基づき指定するステップを含むステップと、
前記第１の認識されたオブジェクトに関連付けられる第１の最終ポリシーと、前記第２の認識されたオブジェクトに関連付けられる第２の最終ポリシーとを、前記候補ポリシー情報に少なくとも基づいて決定するステップと、
前記第１の認識されたオブジェクトに関して第１のアプリケーションに適用される第１の許可を、前記第１の最終ポリシーに少なくとも基づいて識別するステップと、
前記第２の認識されたオブジェクトに関して第２のアプリケーションに適用される第２の許可を、前記第２の最終ポリシーに少なくとも基づいて識別するステップと、
前記１つまたは複数のデータのうちの前記第１の認識されたオブジェクトに関するデータを、前記第１のアプリケーションによる読み取りが許可されていない第１の情報を除去するために、前記第１の許可に少なくとも基づきフィルタリングし、前記１つまたは複数のデータのうちの前記第２の認識されたオブジェクトに関するデータを、前記第２のアプリケーションによる読み取りが許可されていない第２の情報を除去するために、前記第２の許可に少なくとも基づきフィルタリングするステップと
を実行させる、１つまたは複数のコンピューター可読記憶媒体と
を含むコンピューター実装システム。
【請求項１８】
請求項１７に記載のコンピューター実装システムであって、前記第１の情報はテキストを含み、前記第２の情報は画像情報を含む、コンピューター実装システム。
【請求項１９】
複数のアプリケーションと、
１つまたは複数の感知機構であって、知覚情報を取得するよう構成された１つまたは複数の感知機構と、
１つまたは複数の処理デバイスと、
命令を記憶した１つまたは複数のコンピューター可読記憶媒体であって、前記命令は、前記１つまたは複数の処理デバイスにより実行されると、前記１つまたは複数の処理デバイスに、
サブスクリプション要求をアプリケーションから受けるステップと、
前記知覚情報を処理することにより、前記知覚情報に基づく情報を各々が含む１つまたは複数のデータを取得し、前記１つまたは複数のデータから様々なオブジェクトを認識するステップと、
前記様々なオブジェクトに関連付けられた様々なポリシーを識別するステップであって、前記様々なポリシーの各々は、関連付けられたオブジェクトに関してアプリケーションに適用される許可を示し、あるオブジェクトに関連付けられるポリシーの候補を、前記１つまたは複数のデータから別のオブジェクトが認識されたことに基づき指定するステップを含むステップと、
前記１つまたは複数の感知機構が前記知覚情報を取得し続ける間、前記１つまたは複数のデータを、アプリケーションであって、該アプリケーションから前記サブスクリプション要求を受けた、アプリケーションによる読み取りが許可されていない情報を除去するようにフィルタリングしてフィルタ済データを提供するステップと、
前記フィルタ済データを、アプリケーションであって、該アプリケーションから前記サブスクリプション要求を受けた、アプリケーションに転送するステップと
を実行させる、１つまたは複数のコンピューター可読記憶媒体と
を含むコンピューティング・システム。
【発明の詳細な説明】
【技術分野】
【０００１】
[0001]拡張現実（ａｕｇｍｅｎｔｅｄ  ｒｅａｌｉｔｙ）アプリケーションは、周囲の状況からキャプチャした情報と何らかの補足情報とを組み合わせた、出力表現を提供する。
【背景技術】
【０００２】
例えば、ある種の拡張現実アプリケーションは、周囲の画像を、その画像に含まれるオブジェクトを注釈するラベルと共に表示する。別種の拡張現実アプリケーションでは、人間のユーザーの実際の動作を再現する像を、そのユーザーが対話可能な仮想オブジェクトと共に提供する。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
[0002]周辺環境から情報をキャプチャする、あらゆるアプリケーションには、プライバシーに対する懸念が持ち上がる。例えば、上記の拡張現実アプリケーションが、周囲の画像やビデオ（動画；ｖｉｄｅｏ）をキャプチャすると、その情報は、人の顔、私的文書、アカウント番号などの、デリケートなアイテムを潜在的に含む可能性がある。この個人情報の「所有者」は、多くの場合、その情報が何の権限も持たない人間に公開されることを好まず、またはそうならないよう要求する。そのような望ましくない公開は、様々な状況において起こり得る。第１の場合として、不正なアプリケーションが、コンピューティングデバイスの感知機構（例えば、ビデオカメラ、マイクなど）を通じて取得したデータから、個人情報を抽出することがある。第２の場合として、不正なアプリケーションが、別の拡張現実アプリケーションから、個人情報を取得することがある。
【０００４】
[0003]プライバシーに対する上記の懸念は、拡張現実アプリケーションに特有のものではないが、周囲の状況から知覚情報をキャプチャする、あらゆるアプリケーションに広がっている。そのようなアプリケーションは、本明細書において、環境感知アプリケーションと表現される。
【０００５】
[0004]実際には、開発者は、拡張現実アプリケーションを、「１回限り」の自己完結した単位のコードとして作成してもよい。同様に、コンピューティングデバイスは、そのアプリケーションを、スタンドアロンな単位の機能として実行してもよい。このアプローチに従って、各開発者は、アプリケーションコード自体をその内部で（通例、場当たり的に）切り離すような方法で、プライバシーに対する上記の懸念に対処することができる。
【課題を解決するための手段】
【０００６】
[0005]拡張現実アプリケーションおよび／またはその他の環境感知アプリケーションなど、１つまたは複数のアプリケーションの挙動を管理するための機能が、本明細書において説明される。その機能は、許可情報を世界駆動的な方法で定義する。これは、その機能が、信頼できる機構を使用して感知された環境内のキューを識別し、次いで、それらのキューを許可情報にマッピングするということを意味する。その後、その機能は、許可情報を使用して、１つまたは複数のアプリケーションの動作を調節（ｇｏｖｅｒｎ）する。各アプリケーションに依拠して、場当たり的かつアプリケーション中心的な方法でプライバシーの問題に対処するというよりも、または対処することに加えて、あらゆるアプリケーションが使用可能な汎用プラットフォームを提供するという限りにおいて、本アプローチは、アプリケーション非依存なものとしても見なすことができる。
【０００７】
[0006]上記アプローチは、多様なシステム、コンポーネント、方法、コンピューター可読記憶媒体、データ構造、グラフィカルユーザーインターフェース表現、製品などにおいて顕在化させることができる。
【０００８】
[0007]この「発明の概要」は、概念の抜粋を簡略化した形に紹介するために設けられ、これらの概念は、以下の「発明を実施するための形態」において、さらに説明される。この「発明の概要」は、特許請求される主題の主要な特徴または必須の特徴を特定することを意図するものではなく、また特許請求される主題の範囲を限定するために使用されることを意図するものでもない。
【図面の簡単な説明】
【０００９】
【図１】[0008]候補ポリシーにマッピングする、様々なポリシー固有の特徴に関する情報を含む環境で、現実感知フレームワークが周囲から情報をキャプチャする、例示的シナリオを示す図である。
【図２】[0009]図１に示される体験を実現するための、例示的現実感知フレームワークの概要を示す図である。
【図３】[0010]図２の現実感知フレームワークのコンポーネントである、管理モジュールの例示的一実装形態を示す図である。
【図４】[0011]図３の管理モジュールのコンポーネントである、マッピングモジュール、ポリシー解決モジュール、許可設定モジュール、および挙動調節モジュールの例示的一実装形態を示す図である。
【図５】[0012]図１のシナリオに関係するオブジェクトの例示的集合を示す図である。
【図６】[0013]図１に示されるシナリオに適用される、図３の管理モジュールの動作例を説明する図である。
【図７】[0014]図３の管理モジュールの別のコンポーネントである、認識システムの一実装形態を示す図である。
【図８】[0015]図７の認識システムの例示的一インスタンス化を示す図である。
【図９】[0016]図３の管理モジュールの別のコンポーネントである、挙動調節モジュールの例示的一実装形態を示す図である。
【図１０】[0017]図２の現実感知フレームワークを実装するための、例示的分散型コンピューティング機能を示す図である。
【図１１】[0018]図３の管理モジュールの動作方法の１つを示すフローチャートである。
【図１２】[0019]以上の図面に示された特徴の態様を実装するために使用可能な、例示的コンピューティング機能を示す図である。
【発明を実施するための形態】
【００１０】
[0020]本開示および図面を通して、類似のコンポーネントおよび特徴には、同一の番号を使用して言及する。１００番台は図１で初出の特徴を指し、２００番台は図２で初出の特徴を指す。３００番台は図３で初出の特徴を指し、以下も同様である。
【００１１】
[0021]本開示は、以下のように編成される。セクションＡでは、例示的現実感知フレームワークを説明し、この現実感知フレームワークにおいて、アプリケーションの動作を調節する許可情報は、感知された環境内のキューによって主に規定される。セクションＢでは、セクションＡの機能の動作を明らかにする、例示的方法について論述する。セクションＣでは、セクションＡおよびＢで説明された特徴の態様を実装するために使用可能な、例示的コンピューティング機能を説明する。
【００１２】
[0022]前付けとなるが、一部の図面は、１つまたは複数の構造成分（機能、モジュール、特徴、要素など、多様に表現される）の文脈で構想を説明する。それらの図面に示される様々なコンポーネントは、物理的かつ有形のあらゆる機構により（例えば、コンピューター機器上で動作するソフトウェア、ハードウェア（例えば、チップ実装型論理機能）など、および／またはそれらの任意の組合せにより）、あらゆる方法で実装することが可能である。ある場合には、図面内で例示される、様々なコンポーネントの別個の単位への分割は、実際の実装形態において対応する、物理的かつ有形の、別個のコンポーネントの使用を反映していてもよい。代わりに、または加えて、図面内に例示される単一のコンポーネントはいずれも、実際の物理的な、複数のコンポーネントによって実装されてもよい。代わりに、または加えて、図面における、任意の２つ以上の独立したコンポーネントの描写が、実際の物理的な、単一のコンポーネントによって実行される、異なる機能を反映していてもよい。説明することになる図１２は、各図面に示される機能の例示的かつ物理的な一実装形態について、追加的な詳細を提供する。
【００１３】
[0023]他の図面は、フローチャート形式で構想を説明する。この形式では、特定の動作が、特定の順序で実行される別個のブロックを構成するものとして説明される。これらの実装形態は、例示的かつ非限定的なものである。本明細書で説明される特定のブロックは、まとめてグループ化し、単一の動作で実行することが可能であり、特定のブロックは、複数のコンポーネントブロックに分割することが可能であり、そして、特定のブロックは、本明細書に例示される順序とは異なる順序で（ブロックを並行して実行することも含めて）実行することが可能である。フローチャート内に示されるブロックは、物理的かつ有形のあらゆる機構により（例えば、コンピューター機器上で動作するソフトウェア、ハードウェア（例えば、チップ実装型論理機能）など、および／またはそれらの任意の組合せにより）、あらゆる方法で実装することが可能である。
【００１４】
[0024]用語に関して、「するよう構成する（される）」という語句は、特定された動作を実行するためには、あらゆる種類の物理的かつ有形の機能が構築可能であるということを、あらゆる意味において包含する。その機能は、例えば、コンピューター機器上で動作するソフトウェア、ハードウェア（例えば、チップ実装型論理機能）など、および／またはそれらの任意の組合せを使用して、ある動作を実行するよう構成することができる。
【００１５】
[0025]「論理」という用語は、あるタスクを実行するための、あらゆる物理的かつ有形の機能を包含する。例えば、フローチャート内に例示される各動作は、その動作を実行するための論理コンポーネントに相当する。ある動作は、例えば、コンピューター機器上で動作するソフトウェア、ハードウェア（例えば、チップ実装型論理機能）など、および／またはそれらの任意の組合せを使用して、実行することができる。コンピューティング機器によって実装される場合、どのように実装されていようと、論理コンポーネントは、コンピューティングシステムの物理的部分である、電気的コンポーネントに相当する。
【００１６】
[0026]特許請求の範囲において、「ための手段」という語句が使用されている場合、これは米国特許法第１１２条第６段落の規定を援用することを意図する。この特定の語句を除く一切の文言は、本法文の当該箇所の規定を援用することは意図しない。
【００１７】
[0027]以下の説明では、１つまたは複数の特徴を「オプション」として特定することがある。この種の記述は、オプションと考えられ得る特徴の、網羅的な指示と解釈されるべきではない。すなわち、文中で明確に特定されていなくとも、他の特徴もオプションと考えることが可能である。最後に、「例示的」という用語は、多数の潜在的な実装形態のうちの、１つの実装形態を指す。
【００１８】
Ａ．例示的現実感知フレームワーク
[0028]このセクションでは、１つまたは複数の拡張現実アプリケーションをホストする、現実感知フレームワークを説明する。上で触れたように、拡張現実アプリケーションは、１つまたは複数の感知機構を使用することによって動作して、周囲のあらゆる態様をキャプチャする。次いで、アプリケーションは、ラベルや仮想オブジェクト（例えば、アバター）など、ある種の追加情報を生成する。その後、アプリケーションは、周囲の状況に関する情報と、この追加情報とを組み合わせた、出力表現を提供する。
【００１９】
[0029]他の場合では、現実感知フレームワークは、１つまたは複数の、他種の環境感知アプリケーションをホストすることがある。これら、他種の環境感知アプリケーションは、周囲の態様をキャプチャするものの、周囲の表象と追加情報とを、上記同様に組み合わせることはしない。しかしながら、説明を円滑化および簡略化するために、現実感知フレームワークは、拡張現実アプリケーションを基準として、主に説明されることになる。
【００２０】
[0030]高度な視点からは、現実感知フレームワークには、１つまたは複数の感知機構によって提供される知覚情報に基づき、周囲の状況から異なる特徴を抽出するための認識システムを含めてよい。アプリケーションごとの許可情報によって許可されていれば、種々の拡張現実アプリケーションは、認識システムによって提供される種々の特徴に対してサブスクライブし、これを受領する。アプリケーションごとの許可情報は、環境内で検出されたキューに基づいて生成される。共有レンダラーは、全ての拡張現実アプリケーションによって生成された情報を受領し、管理する。
【００２１】
[0031]現実感知フレームワークの例示的細目を掘り下げる前に、図１に描写される例示的シナリオを検討する。このシナリオでは、拡張現実体験を提供するために、現実感知フレームワークが使用される。当該シナリオは、本開示に通底する例として役立つであろう。
【００２２】
[0032]図１に示される現実世界１０２は、ホワイトボード１０６の前に立っている、第１の人物１０４を含む。第１の人物１０４は、特徴の中でもとりわけ、顔１０８、およびバッジ１１０を持つ。さらに、第１の人物１０４は、自身の腕１１２を差し伸ばしたポーズをとっている。現実世界１０２は、様々なイベントも含み得る。例えば、そのようなイベントの１つにおいて、第１の人物１０４が、不賛成を示すように、伸ばした自身の手を振って往復させるジェスチャ１１４をしている。ホワイトボード１０６は、筆跡１１６、コード付きラベル１１８、および印刷されたメッセージ１２０を含む。
【００２３】
[0033]現実世界１０２は、電磁信号（無線信号、マイクロ波信号、赤外線信号、磁気信号など）、音波などの何らかのソースというような、１つまたは複数の信号ソース１２２も含む。一部の信号ソース１２２は、Ｗｉ−Ｆｉアクセスポイントソースなど、直接感知される環境に対してローカルなものであってよい。信号ソース１２２は他にも、電波塔、衛星ソースなど、リモートなものとなり得る。現実感知フレームワークは、ソース１２２からの信号を処理するために、Ｂｌｕｅｔｏｏｔｈ（登録商標）技術、デッドレコニング法、三角測量法、全地球位置検出法など、任意の技術を使用することができる。
【００２４】
[0034]第２の人物１２４は、スマートフォン、タブレットコンピューティングデバイスなどのコンピューティングデバイス１２６を使用して、上記の場面をキャプチャする。より具体的には、第２の人物１２４は、コンピューティングデバイス１２６のビデオカメラ（図示なし）が、少なくとも第１の人物１０４とホワイトボード１０６とのビデオ表現をキャプチャするように、コンピューティングデバイス１２６の向きを合わせる。コンピューティングデバイス１２６は、１つまたは複数の、他の環境感知機構も含むことができる（１つまたは複数のマイク、１つまたは複数のモーション感知デバイス（１つまたは複数の加速度計、１つまたは複数のジャイロスコープなど）などであるが、これらに限定するものではない）。これら、他の感知機構が、現実世界１０２の他の態様をキャプチャしてもよい。
【００２５】
[0035]コンピューティングデバイス１２６は、ディスプレイ機構１２８など、１つまたは複数の出力デバイスも含んでよい。ディスプレイ機構１２８は、現在時刻において動作している拡張現実アプリケーションによって生成された、出力表現を提供する。図１に示されるシナリオでは、ディスプレイ機構１２８は、第２の人物１２４の視座からは、現実世界１０２への「窓」としての役割を果たす。換言すると、ディスプレイ機構１２８に表現されるコンテンツは、ユーザーが窓を通して世界を眺めているかのように、コンピューティングデバイス１２６の前方にある、実際の世界を映し出す。
【００２６】
[0036]図１の場合では、第２の人物１２４は、ビデオカメラの視野が第２の人物１２４から離れた方向になるように、コンピューティングデバイス１２６を向けている。しかし、拡張現実体験を実現するために、他の配置が使用されてもよい。別の場合では、例えば、第２の人物１２４は、複数のビデオカメラに関連付けられた視野の範囲内で操作を行ってもよい。それら、複数のビデオカメラは、異なる視座から第２の人物１２４をキャプチャする。第２の人物１２４は、通常は第２の人物１２４の前に設置されるディスプレイモニター（図示なし）などの任意の出力デバイス上に、拡張現実アプリケーションによって生成される、出力表現を使い尽くしてよい。
【００２７】
[0037]別の場合では、第２の人物１２４は、任意のタイプのウェアラブルコンピューティングデバイスを介して、拡張現実アプリケーションと対話してもよい。例えば、そのようなコンピューティングデバイスは、アイウェア、衣装、時計、宝飾品、バッジ、または他のウェアラブルなアイテムに付加されてよい。あらゆるタイプの感知機構および出力デバイスが、ウェアラブルなアイテムに付加され、または関連付けられてよい。例えば、アイウェアに付加されたビデオカメラは、第２の人物１２４前方の場面についてのビデオ表現のキャプチャが可能であり、一方、アイウェアに付加されたディスプレイ機構は、拡張現実アプリケーションによって提供された出力表現を表示し得る。上記のフォームファクターは、例証として引用されたものであり、限定ではない。その他の配置も可能である。
【００２８】
[0038]本例では、現実感知フレームワークが、協働する２つの拡張現実アプリケーションを含むものと仮定する。これらは同一の現実世界１０２を感知する場面において協働し、同一の出力表現１３０に寄与する追加情報を生成する。
【００２９】
[0039]第１の拡張現実アプリケーションは、現実世界１０２に現れる、１つまたは複数の顔に関連付けられた顔認識データを、認識システムから（許可情報によって許可されていれば）受領するものと仮定する。次いで、第１の拡張現実アプリケーションは、参照操作を実行して、その顔認識データを、以前に登録された１つまたは複数の顔認識データのインスタンス（その各々に名前がタグ付けされている）と一致させる。その後、第１の拡張現実アプリケーションは、１つまたは複数の一致する名前に関連付けられたラベルを、出力表現１３０上に提供する。図１は、第１の拡張現実アプリケーションによって生成された、そのようなラベルの１つである、ラベル１３２を示す。第１の拡張現実アプリケーションは、以下、注釈アプリケーションと表現される。
【００３０】
[0040]第２の拡張現実アプリケーションは、生のビデオ情報を、認識システムから（許可情報によって許可されていれば）受領する。次いで、第２の拡張現実アプリケーションは、ビデオ情報内にテキストが存在していれば、それを認識する。その後、第２の拡張現実アプリケーションは、元のテキストを、置き換えテキスト１３４のインスタンスなど、元のテキストの清書版で置き換える。第２の拡張現実アプリケーションは、以下、転写アプリケーションと表現される。
【００３１】
[0041]察し得る通り、上記の拡張現実アプリケーションの取り合わせは、例証として引用されたものであり、限定ではない。現実感知フレームワークは、任意の数の拡張現実アプリケーション（おしなべて言うと、あらゆる環境感知アプリケーション）を含むことが可能であり、その各々が任意の機能を実行してよく、またその各々が適宜アクティブまたは非アクティブとなってよい。
【００３２】
[0042]なお、出力表現１３０は、第１の人物１０４およびホワイトボード１０６についての、編集された描写も含む。現実感知フレームワークは、そのような描写を、以下に説明する異なる方法で表現することができる。
【００３３】
[0043]図１に示されるシナリオによって提起される問題が持つ、高度な側面をいくつか検討する。現実世界１０２は、本質的にプライベートな、またはデリケートなものと考えられ得る、いくつかのアイテムを含む。例えば、ホワイトボード１０６は筆跡を含み、この筆跡は機密情報を含み得る。例えば、第１の人物１０４がある企業の社員であり、この人物が、その企業の社屋内に設置されたホワイトボード１０６上に、ある商品の発売日（筆跡１１６によって伝わる）を書き込んだ場合を検討する。この企業は、当該情報が社外に公開されることを防止しようとする場合がある。
【００３４】
[0044]同様に、現実世界１０２は、第１の人物１０４自身を包含する。この人物１０４は、彼の顔１０８、発言、バッジ１１０などを個人情報と考え得る。そのため、第１の人物１０４は、これらの私的なアイテムが、権限のないエンティティに通信されることを防止しようとする場合がある。これらのプライバシーに対する懸念は、バスルーム、ロッカールーム、ナイトクラブ、医務室など、通例、プライバシーが重んじられる環境において、特に顕著となり得る。
【００３５】
[0045]なお、図１のシナリオにおいて、第２の人物１２４は、第１の人物１０４の表象をキャプチャしている。この配置は、第１の人物１０４が、デリケートな情報の公開について主に懸念する人物となることを意味する。しかし、より一般的には、感知された環境によって包含、または影響される人物は、第２の人物１２４自身も含めて誰であれ、プライバシーの侵害について懸念し得る。
【００３６】
[0046]個人情報は、上記のシナリオにおける様々な機構を通じて脅かされる可能性がある。第１に、潜在的に悪意のあるアプリケーションが、個人情報を直接受領するおそれがある。場合によっては、そのアプリケーションは、割り当てられたタスクを実行するのに、個人情報を必要とさえしないこともある。第２に、個人情報を（正当または不当に）付与されているアプリケーションは、不適切な方法で、その個人情報を別のエンティティと共有することが可能である。例えば、注釈アプリケーションが、検出した名前（すなわち、「Ｊｏｈｎ  Ｃｈｅｎｇ」）を、別のアプリケーションと共有しようと試みるおそれがある。第３に、アプリケーションは、第１の人物１０４の顔１０８などをコンピューティングデバイス１２６のディスプレイ機構１２８上に表示するなどして、デリケートな情報を出力デバイスに提供するおそれがある。
【００３７】
[0047]図２に進むと、この図面は、少なくとも上記の問題に対してのソリューションを提供する、現実感知フレームワーク２０２を示している。現実感知フレームワーク２０２は、１つまたは複数の拡張現実アプリケーション２０４および／またはその他の環境感知アプリケーションの集合を含む。現実感知フレームワーク２０２は、任意のソース２０６から、任意の方法で、アプリケーション２０４を受領してよい。ある場合には、ユーザーは拡張現実アプリケーションを、こうしたアプリケーションのオンラインマーケットプレースなどの任意のソースから、明示的にダウンロードまたは取得することができる。別の場合では、ユーザーは、アプリケーションを呼び出すオンラインウェブサイトを訪問する、またはアプリケーションを自動的に呼び出す他のイベントをトリガーするなどして、より受動的にアプリケーションを選択してもよい。アプリケーションはコンピューター実装命令の本体に相当し、任意のコンピューター言語、またはコンピューター言語の組合せで表現される。
【００３８】
[0048]アプリケーション２０４は、潜在的に信頼できない機能２０８に相当する。現実感知フレームワーク２０２の残りの部分は、信頼できる機能２１０に相当する。信頼できない機能２０８は信頼できる機能２１０と同種の堅牢なセキュリティ保証を提供しないという意味で、この機能２０８は信頼されない。ある場合には、信頼できる機能２１０は、コンピューティングデバイスのオペレーティングシステムによって提供される機能により、少なくとも部分的に実装され得る。別の場合では、信頼できる機能２１０は、オペレーティングシステムとアプリケーション２０４との間に存在するソフトウェアにより、少なくとも部分的に提供される可能性もある。信頼できる機能２１０は、他の実装形態とすることも可能である。
【００３９】
[0049]信頼できる機能２１０は、情報のメインフローを２本含む。第１のメインフローでは、ポリシーベース管理モジュール２１２（以降、単に「管理モジュール」）が、感知された環境２１４からの情報を受領する。環境２１４は、感知された様々な特徴２１６（以下でより詳細に説明される）によって特徴付けられる。管理モジュール２１２は、１つまたは複数の追加的ソース（データベースなど）から、環境２１４に関係する補足情報２１８も受領してよい。この情報に基づき、管理モジュール２１２は、アプリケーション２０４の挙動を調節するのに適切な、１つまたは複数のポリシーを決定する。第２のメインフローでは、アプリケーション２０４が、出力情報を共有レンダラー２２０に提供する。共有レンダラー２２０は、この出力情報に基づき、共有の状態情報を更新する。次いで、共有レンダラー２２０は、その共有の状態情報に基づいて出力表現を生成し、図１のディスプレイ機構１２８など、１つまたは複数の出力デバイス２２２に提供する。
【００４０】
[0050]ポリシーは、任意のアプリケーションの挙動が持つ、異なる態様を制御することができる。例えば、ポリシーは、アプリケーションが環境２１４から読み取ることを許可された情報のタイプを指定してよい。加えて、または代わりに、ポリシーは、１つのアプリケーションが別のアプリケーション、または別のエンティティと共有することを許された情報を調節してもよい。加えて、または代わりに、ポリシーは、アプリケーションがディスプレイ機構１２８などの出力デバイスに送出することを許された情報を調節してもよい。加えて、または代わりに、ポリシーは、アプリケーションが実行することを許されたコードを調節してもよい。その他も同様である。
【００４１】
[0051]高度な視点からは、現実感知フレームワーク２０２は、環境２１４内のキューに基づき、信頼できる機能２１０を使用してポリシーを決定する。そういう意味では、現実感知フレームワーク２０２が世界駆動型ポリシーの仕様書を提供する、と言ってもよい。さらに、ポリシーは最終的にアプリケーション２０４に適用されるが、そのポリシーの多くは、特定のアプリケーションと１対１の対応は持たない。そういう意味では、現実感知フレームワーク２０２は、少なくとも部分的には、本質的にアプリケーション非依存であると考えてよい。
【００４２】
[0052]ポリシーの指定には、上で要約されたアプローチは、アプリケーション中心のアプローチに勝る様々な利点を持つ。第１に、世界駆動型アプローチは、多数のアプリケーションに適合し、多様な環境において使用可能であることから、アプリケーション中心のアプローチに比べ、潜在的に、より有用である。対照的に、アプリケーション中心のソリューションは、特定の状況において動作する特定のアプリケーションに、かろうじて適合し得るばかりである。第２に、世界駆動型アプローチは、アプリケーション固有のアプローチに比べ、失敗する可能性が低い。この特徴は、世界駆動型アプローチが、環境内にある、潜在的に重複する多種多様なキューの収集および分析を伴う、という事実に生起し得る。対照的に、アプリケーション中心のソリューションの各々は、特定のトリガー状況の検出に基づいて動作し得る。第３に、世界駆動型アプローチは、アプリケーション中心のアプローチよりも標準化されている。このファクターは、アプリケーション開発者およびデバイス製造業者による、アプローチの改善および拡張の構造化を促進し得る。第４に、世界駆動型アプローチは、アプリケーション中心のソリューションに比べ、潜在的に、信頼性が高い。このファクターは、世界駆動型アプローチが、１回限りの信頼できないアプリケーション機能に依拠するのではなく、信頼できる機能２１０を使用するという事実に起因する。上記の利点は、例証として引用されたものであり、限定ではない。
【００４３】
[0053]さらに、現実感知フレームワーク２０２は、ユーザーが環境２１４と対話するときに、ポリシーを自動的、または半自動的に選択する。この態様は、プライバシーの問題を取り扱う際に、ユーザーの負担を軽減する。対照的に、プロンプト駆動型アプローチでは、アプリケーションが環境データの読み取りを要求するたびに、ユーザーは、許可を付与するか拒否するかを事細かく指定するよう求められ得る。従来のマニフェスト駆動型アプローチでは、アプリケーションのインストール時に、ユーザーは、許可を付与するか拒否するかを問われる場合があり、そのうえ、ユーザーは、自身がアプリケーションに付与した実際の許可の本質を、完全には理解し得ない。（とは言うものの、世界駆動型アプローチは、プロンプト駆動型アプローチおよび／またはマニフェスト駆動型アプローチの態様と組み合わせることができる。）
[0054]総括すると、現実感知環境の上記利点は、日常的環境における拡張現実アプリケーションおよびデバイス（そして他の環境感知アプリケーションおよびデバイス）の受容を促進し得る。例えば、このプラットフォームの本質を標準化し、信頼を得ることは、拡張現実アプリケーションの能力についての不安を和らげる助けとなり、エンドユーザー、居合わせた人、事業主などが、その使用を言下に拒絶する可能性を低めることにもなり得る。
【００４４】
[0055]図３は、図２の管理モジュール２１２の一実装形態を示す。管理モジュール２１２は、それぞれ異なる機能を実行する異なるコンポーネントを含むか、または含むかのように概念化することができる。そのコンポーネントは、同一サイトに位置しても、複数のサイトにわたって分散してもよい。説明することになる図１０は、管理モジュール２１２の一実装形態に関する追加情報を提供する。
【００４５】
[0056]図面の上部から始めると、管理モジュール２１２は、環境２１４における特徴２１６を識別するための、認識システム３０４を含む。このタスクを実行するために、認識システム３０４は、１つまたは複数の環境感知機構３０６から、知覚情報を受領することができる。例示的環境感知機構３０６は、これらに限定するものではないが、１つまたは複数のビデオカメラ、１つまたは複数のマイク、１つまたは複数の運動感知デバイス（例えば、１つまたは複数の加速度計、ジャイロスコープなど）、１つまたは複数の触覚入力デバイス、１つまたは複数の振動感知デバイスなどを含む。生の知覚情報は、感知された環境２１４に関連付けられた、比較的低次の特徴に相当し得る。
【００４６】
[0057]加えて、認識システム３０４は、知覚情報から、より高次の追加的特徴をオプションで抽出することができる。例えば、認識システム３０４は、１つまたは複数の認識エンジン（ｒｅｃｏｇｎｉｚｅｒｓ）を含んでよく、その各々が、１つまたは複数の、（生の知覚情報と比較すると）より高次の特徴を生成する。認識システム３０４は、収集された全ての情報を、データストア３０８に記憶することができる。そのような情報は、本明細書において、感知された情報と表現される。
【００４７】
[0058]ポリシー処理モジュール３１０は、感知された情報に基づいて許可情報を生成する。その許可情報が、１つまたは複数のアプリケーション２０４の動作を調節する。ポリシー処理モジュール３１０は、それぞれ異なる機能を実行する、異なるコンポーネントを含む。
【００４８】
[0059]まず、マッピングモジュール３１２は、感知された情報を１つまたは複数の候補ポリシーに対してマッピングするよう動作する。各候補ポリシーは、少なくとも２つのコンポーネントを持ち得る。第１のコンポーネントは、その候補ポリシーが関係する、感知された環境内の１つまたは複数の態様を識別する。そのような態様の各々は、本明細書において、オブジェクトと表現される。第２のコンポーネントは、オブジェクトに関する、プライバシー関連のスタンスを指す。例えば、図１の場合では、１つのオブジェクトが、ホワイトボード１０６上の筆跡１１６に関する情報に関係する。そのオブジェクトに関する候補ポリシーは、筆跡１１６を表現する生のビデオをキャプチャしてよいアプリケーションは存在しない、と明示することができる。そのようなポリシーの各々が「候補」ポリシーとされるのは、それが暫定的なものだからである。換言すると、この段階では、ポリシー処理モジュール３１０は、その候補ポリシーを当該オブジェクトに適用するか、まだ決定していない。上記のタスクを実行するために、マッピングモジュール３１２は、１つまたは複数のマッピングリソース３１４に依拠する。以下の説明は、マッピングリソース３１４の、考えられる種々の実装形態に関する追加的詳細を提供する。
【００４９】
[0060]マッピングモジュール３１２は、自身の処理の結果を反映する候補ポリシー情報を、データストア３１６に記憶する。例えば、候補ポリシー情報は、環境内で認識された複数のオブジェクトを識別し得る。各オブジェクトには、１つまたは複数の候補ポリシーおよび／または他のプロパティ情報がタグ付けされている。
【００５０】
[0061]ポリシー解決モジュール３１８は、例えば、認識された各オブジェクトに関連付けられた、２つ以上の候補ポリシーのセットの中から選択することにより、オブジェクトごとにポリシーを選択する。このタスクを実行するために、ポリシー解決モジュール３１８は、解決ルール３２０に依拠する。解決ルール３２０は、矛盾する候補ポリシーの中から選択を行うために、１つまたは複数の方策を特定してよい。次いで、ポリシー解決モジュール３１８は、最終ポリシー情報をデータストア３２２に記憶する。最終ポリシー情報は、ポリシーが決定可能であれば、環境内の感知されたオブジェクトのリスト、および各オブジェクトに関連付けられた最終ポリシーを識別し得る。
【００５１】
[0062]許可設定モジュール３２４は、最終ポリシー情報に基づき、各オブジェクトについて、各アプリケーションに対して許可を設定する。このタスクを実行するために、許可設定モジュール３２４は、データストア３２６内の許可設定ルールに依拠してよい。許可設定モジュール３２４は、許可情報を構成する自身の処理の結果を、データストア３２８に記憶する。
【００５２】
[0063]最後に、挙動調節モジュールが、その許可情報を使用して、各アプリケーションの挙動を調節する。上で触れたように、アプリケーションの挙動のあらゆる態様は、制御することが可能である。
【００５３】
[0064]図４は、マッピングモジュール３１２、ポリシー解決モジュール３１８、許可設定モジュール３２４、および挙動調節モジュール３３０を含む、管理モジュール２１２の動作に関する追加情報を提供する。
【００５４】
[0065]マッピングモジュール３１２は、検出された特徴を受領する。例えば、図１の場合では、その特徴として、第１の人物１０４、第１の人物の顔１０８、第１の人物のバッジ１１０、第１の人物のジェスチャ１１４、ホワイトボード１０６、ホワイトボード１０６上の筆跡１１６、コード付きラベル１１８、メッセージ１２０などに関する、生の知覚情報が挙げられる。また、その特徴として、信号ソース１２２によって受信された任意の信号も挙げられる。これらのアイテムが、比較的低次の特徴を構成する。また、特徴として、認識された顔を表すデータ、認識された体勢を表すデータ、認識されたテキストを表すデータ、認識された位置を表すデータ、解釈されたコードを伴う特徴を表現するデータなど、認識システム３０４によって抽出された、より高次の情報も挙げられてよい。これらの特徴は、例証として引用されたものであり、限定ではない。認識システム３０４は、特徴を構成し得る、さらに別の情報を提供してもよい。
【００５５】
[0066]マッピングモジュール３１２は、感知された情報を、候補ポリシーにマッピングする。上で述べたように、各候補ポリシーは、環境内で認識された何かのオブジェクトと相対関係にある、アプリケーションの挙動に向けられる。場合によっては、オブジェクトは、低次の「生の」知覚アイテムでありながら、より高次の抽象的特徴でもある、認識された単一の特徴（認識された顔など）に相当することもある。他の場合では、オブジェクトは、特徴の集合の解釈に相当することもある。また、オブジェクトは、任意の空間的範囲を持つこともできる（例えば、環境の極めて小さな部分についての情報が、その部分が現れる広範な背景（部屋、建物、都市など）についての情報にまで及ぶ）。
【００５６】
[0067]例えば、一時的に図５に進むと、この図面は、図１のホワイトボード１０６に関連付けられたオブジェクトの集合を要約している。実際のホワイトボード１０６は、認識されたホワイトボードオブジェクト５０２にマッピングする。そのホワイトボードオブジェクト５０２は、認識された地理的位置オブジェクト５０４（例えば、特定の都市や地域に関連付けられる）、認識された建物オブジェクト５０６、および認識された部屋オブジェクト５０８など、１つまたは複数の、より高次のオブジェクトに関連付けられた包含的関係において生じる。また、ホワイトボードオブジェクト５０２は、ホワイトボード１０６の個々の態様に関係する、様々な「子」オブジェクトを持つ。例えば、子オブジェクトの１つであるオブジェクト５１０は、色、位置、サイズなど、ホワイトボード１０６自体の、認識された物理的特徴に相当する。別の子オブジェクトであるオブジェクト５１２は、ホワイトボード１０６上に提示された、認識された情報担持コンテンツに相当する。
【００５７】
[0068]情報担持コンテンツは、ポリシー指定オブジェクト５１４と、「その他のコンテンツ」オブジェクト５１６とに、さらに分割することができる。ポリシー指定オブジェクト５１４は、環境内で見出された認識されたポリシー指定特徴に関係し、その各々が明確にポリシーを指定する。ポリシー指定特徴として、少なくともコード付きラベル１１８とメッセージ１２０とが挙げられ、場合によっては、１つまたは複数の信号ソース１２２も挙げられる。「その他のコンテンツ」オブジェクト５１６は、ホワイトボード１０６上で認識された筆跡１１６に関係する。「その他のコンテンツ」オブジェクト５１６は、生のビデオオブジェクト５１８と、より高次のオブジェクト５２０とに、さらに分割することができる。生のビデオオブジェクト５１８は、ビデオカメラによって提供される、認識された生のＲＧＢ情報に相当してよく、それ以上の解釈はない。より高次のオブジェクト５２０は、生のＲＧＢ情報を解釈することによって生成された、より高次のあらゆる結果（解釈されたテキスト情報など）に相当してよい。
【００５８】
[0069]マッピングモジュール３１２は、ポリシー指定特徴を除く、図５のオブジェクトの各々について、１つまたは複数の候補ポリシーを識別することができる。すなわち、一実装形態では、ポリシー指定特徴は、階層構造内の他のオブジェクトに適用される候補ポリシーを、直接指定する役割を果たす。ポリシー指定特徴自体は、ポリシーの「受領者」ではない。しかし、他の場合では、ポリシー指定特徴が解釈される方法を限定するために、１つまたは複数のポリシーが使用されてもよい。
【００５９】
[0070]察し得る通り、図５に示された階層構造は、例証として引用されたものであり、限定ではない。ホワイトボード１０６の他の概念的分類として、ノードの追加、ノードの削減、および／または異なるノード編成を行うことができる。
【００６０】
[0071]マッピングモジュール３１２は、異なる方法で候補ポリシーを識別することができ、いくつかの技法は、他の技法よりも直接的である。第１のアプローチでは、マッピングモジュール３１２は、任意の認識技術を使用して、環境内の特定の物理的エンティティの存在を判定することができる。その場合、マッピングモジュール３１２は、この物理的エンティティが、何らかの候補ポリシーに関連付けられているかどうかを判断することができる。候補ポリシーが、その物理的エンティティに関連付けられた認識されたオブジェクト、および／または環境内の他の認識されたオブジェクトに適用されている場合がある。例えば、マッピングモジュール３１２は、画像認識技術を使用して、環境内の洗面台やトイレの存在を検出することができる。マッピングモジュール３１２は、これらの物理的エンティティが、バスルーム環境に関連付けられていると判断することができる。次いで、マッピングモジュール３１２は、バスルーム環境に適用される、１つまたは複数の候補ポリシーを特定することができる。そのような候補ポリシーが関係するオブジェクトは、バスルーム環境内で取得され得る何らかの情報アイテム、またはバスルーム環境に関連付けられた情報アイテムに相当する。
【００６１】
[0072]別の場合では、マッピングモジュール３１２は、任意の認識技術を使用して、環境内の特定のイベントの存在を判定することができる。その場合、マッピングモジュール３１２は、このイベントが、何らかの候補ポリシーに関連付けられているかどうかを判断することができる。例えば、マッピングモジュール３１２は、ジェスチャ認識技術を使用して、第１の人物１０４が、自身の指を振って往復させていると判断することができる。次いで、マッピングモジュール３１２は、何らかの候補ポリシーが、この挙動に関連付けられているかどうかを判断することができる。そのような候補ポリシーが関係するオブジェクトは、その挙動を行っている人物に関する情報、または、より全体的には、その挙動が行われる当座の環境に関する、全ての情報に相当し得る（ホワイトボード１０６に関する情報も含まれる）。
【００６２】
[0073]ジェスチャのタイプとしては他に、指を唇に当てて録音禁止を示す、掌を上げるか腕を交差させるジェスチャで一切の記録の禁止を示す、などが挙げられる。場面をキャプチャしている人物を含め、その場面に関連付けられたあらゆる人物が、そのようなジェスチャを行い得る。
【００６３】
[0074]別のタイプのイベントは、会議室のドアが閉じているか開いているか、または会議室へのドアを開閉する行為など、環境内の物理的状態に相当する。例えば、閉じられた（または閉じられつつある）ドアは、プライバシーが要求されるということを示してよい。別のタイプのイベントは、ある人物による発話や騒音に相当し得る。例えば、ある人物が口頭で、「記録は認められない」ものと定める要求を行う場合がある。または、録音が認められないことを示すために、ある人物が「シーッ」という音を出す場合もある。または、プライバシーが重んじられていることを示すために、ある人物が小声で話す場合もある。その他も同様である。
【００６４】
[0075]別の場合では、マッピングモジュール３１２は、信号ソース１２２のいずれかから発信された信号の存在を判定することができる。その場合、マッピングモジュール３１２は、こうした信号が存在するのであれば、それを１つまたは複数の候補ポリシーにマッピングすることができる。より具体的には、いくつかの場合、信号が候補ポリシーを直接特定する。別の場合では、マッピングモジュール３１２は、信号ソースを位置（および／または他の何らかのプロパティ）にマッピングし、次いで、その中間情報を、１つまたは複数の候補ポリシーにマッピングすることができる。
【００６５】
[0076]別の場合では、マッピングモジュール３１２は、ある候補ポリシーに直接関連付けられた、環境内で検出された何らかの特徴として定義された、何らかのポリシー指定特徴の存在を判定することができる。その場合、マッピングモジュール３１２は、そのような特徴に関連付けられた候補ポリシーを取得する。例えば、上で触れたように、信号は候補ポリシーに直接関連付けられてよく、したがって、その信号はポリシー指定特徴の一種となる。コード付きラベル１１８およびメッセージ１２０は、ポリシー指定特徴の他の２つである。図１の場合では、ラベル１１８およびメッセージ１２０は、ホワイトボード１０６に添付されており、したがって、認識されたホワイトボードオブジェクトに関係する。（図示しない）別の場合では、ある人物は、「オプトアウト」コードを身に着ける、持ち運ぶ、または提示することができる。「オプトアウト」コードは、この人物は自身の個人情報がコンピューティングデバイスによってキャプチャされることを望まない、ということを示す。（図示しない）別の場合では、コンピューターのスクリーン上に表示された個人情報、または物理的文書内の個人情報が、そのようなオプトアウトコードを含むことができる。
【００６６】
[0077]特徴を候補ポリシーにマッピングする上記方法は、例証として引用されたものであり、限定ではない。候補ポリシーを見つけるための、その他の直接的および間接的技法も可能である。一般に、一実装形態においてポリシーを指定するためには、そのポリシーによって保護されることになるオブジェクトの本質に準拠したモードを使用するのが賢明であり得る。例えば、考えられるモードの中でも、とりわけビデオ情報については、可視モードを使用してポリシーを指定するのが賢明であり得る。ビデオ情報自体は、本質的に可視だからである。可視キューを見落としたコンピューティングデバイスは、保護されているプライベートな可視情報も検出し損なうおそれがあるため、この選択は潜在的に有用である。
【００６７】
[0078]マッピングモジュール３１２は、１つまたは複数のマッピングリソース３１４に依拠することにより、上記マッピングタスクを実行することができる。図３では、マッピングリソース３１４を、認識システム３０４から分離したものとして描いている。しかし、１つまたは複数のマッピングリソース３１４を、認識システム３０４によって代替的に実装することもできる（例えば、認識システム３０４によって提供される、銘々の認識エンジンとして）。例えば、ある場合には、マッピングモジュール３１２は、画像認識エンジンを採用して、環境内の認識されたホワイトボードオブジェクトの存在を判定することができる。別の場合では、認識エンジンシステム３０４が、この機能を実行する認識エンジンを採用することもできる。それにより、感知された情報内の、より高次の特徴のうちの１つ自体が、ホワイトボードオブジェクトの存在を示し得る。
【００６８】
[0079]限定するものではないが、マッピングリソース３１４は、以下の機構のいずれかを含み得る。
[0080]画像情報に基づくオブジェクト認識。マッピングリソース３１４には、画像情報を処理するための、パターン認識技術を含んでよい。すなわち、パターン認識技術は、可視の特徴情報を、識別されたオブジェクトに確率論的にマッピングすることによって動作してよい。例えば、パターン認識技術は、ホワイトボードオブジェクトに相当する、画像に関連した特徴の集合を識別することができる（例えば、環境内に、全体的に平らで、長方形で、かつ白いアイテムが存在するということに基づいて識別する）。パターン認識技術は、従来の機械学習技法を使用して訓練されたモデルに基づいて動作してよい。
【００６９】
[0081]音声情報に基づく発言認識。マッピングリソース３１４には、音声認識技術を含んでよい。音声認識技術は、ユーザーの発言に含まれる鍵となる単語または語句を、重要語ポリシーに関連した語句のデータベースと比較することによって動作する。例えば、音声認識技術は、意思を示す語句である「記録しないでください」や「私を記録するのを止めてください」などを、ユーザーが声に発したかどうかを検出してよい。発言認識技術は、従来の機械学習技法を使用して訓練されたモデルに基づいて動作してよい（例えば、発話と、これらの発話についての受容された解釈とからなるコーパスを含んだ訓練セットを使用する）。
【００７０】
[0082]ジェスチャ認識。マッピングリソース３１４には、環境内の人物の挙動、または環境内で発生する他の何らかのイベントを認識するための技法も含んでよい。例えば、ジェスチャ認識技術を使用して、図１に示された第１の人物の挙動を、既知のジェスチャを表すデータベースと比較することができる。これらのジェスチャは、記録が許可されているという趣旨、または記録が禁止されているという趣旨の、どちらかを持つ。ジェスチャ認識技術は、機械学習技法を使用して訓練されたモデルを、既知の方法で適用することができる。
【００７１】
[0083]テキスト認識。マッピングリソース３１４には、光学式文字認識など、筆跡の認識を実行するためのテキスト認識エンジンも含んでよい。
[0084]参照リソース。マッピングリソース３１４には、入力情報を出力情報にマッピングする、１つまたは複数の参照テーブルを含むことができる。例えば、参照テーブルにフィードされた入力情報は、信号情報（信号ソース１２２から取得される）、位置情報、所有者情報、オブジェクト情報（認識されたオブジェクトを識別する）などの任意の組合せに相当することができる。出力情報は、位置情報、所有者情報、オブジェクト情報、候補ポリシー情報などの任意の組合せに相当し得る。
【００７２】
[0085]別の参照テーブルは、認識されたテキストメッセージを、例えば、認識されたトークンに基づくキーワード検索を実行することにより、１つまたは複数の候補ポリシーとマッピングすることができる。別の参照テーブルは、コード付きラベルを、１つまたは複数の候補ポリシーとマッピングすることができる。例えば、図１のコード付きラベル１１８は、ＱＲ（Ｑｕｉｃｋ  Ｒｅｓｐｏｎｓｅ）コードに相当し得る。参照テーブルは、このコードを読み取ることによって抽出した情報を、特定の候補ポリシーにマッピングするか、またはそのコードを、特定の候補ポリシーに関連付けられたリンクとマッピングしてよい。
【００７３】
[0086]さらに、参照テーブルは、１つの参照テーブルの出力が別の参照テーブルに提供される入力に対応し得るように、カスケードされてもよい。例えば、第１の参照テーブルは、位置情報を所有者情報にマッピングすることができ、第２の参照テーブルは、所有者情報を候補ポリシー情報にマッピングすることができる。
【００７４】
[0087]さらに、異なる参照テーブルが、異なるポリシー設定ソースに由来してもよい。例えば、各々のテーブルが位置情報を候補ポリシーにマッピングする、テーブルの一群を検討する。第１のテーブルは、検出されたオブジェクトに関連付けられた所有者によって設定されたポリシーを定義することができる。第２のテーブルは、標準化団体によって設定されたポリシーを定義することができる。第３のテーブルは、地域団体によって設定されたポリシーを定義することができる。第４のテーブルは、ユーザー自身（アプリケーションを実行するコンピューティングデバイスを操作している人物）によって設定されたポリシーを定義することができる。やはり、このマッピングによっても、所与のオブジェクトに対する複数の候補ポリシーが得られてよい。
【００７５】
[0088]タグ−オブジェクトマッパー。マッピングリソース３１４には、１つまたは複数のタグ−オブジェクトマッパーを含むこともできる。タグ−オブジェクトマッパーは、ポリシー指定特徴（信号、コード付きラベル、メッセージなど）を、その特徴の候補ポリシーが適用される環境内のオブジェクト（または複数のオブジェクト）と関連付ける。タグ−オブジェクトマッパーは、異なる技法を使用して、このタスクを達成することができる。ある場合には、候補ポリシー自体が、その関係するオブジェクトを直接指定する。例えば、ＱＲコード（登録商標）は、クレジットカードに添付されることがある。そのＱＲコードは、キャプチャされた場面において認識されたクレジットカードに対して、またはそのクレジットカードから取得された特定の情報のみに対して適用されるということを明示的に指定する、ある候補ポリシーにマッピングし得る。この場合、タグ−オブジェクトマッパーは、そのポリシー自体に関連付けられた任意の情報を調査して、そのポリシーが適用されるオブジェクトを判断することができる。
【００７６】
[0089]別の場合では、タグ−オブジェクトマッパーは、ラベルまたはメッセージが、図１のホワイトボード１０６などの物理的エンティティに添付されているように見えるかどうかの判定を行うことができる。タグ−オブジェクトマッパーは、ビデオ分析、デプス（深度；ｄｅｐｔｈ）画像分析、および／または他のツールを使用して、この判定を行うことができる。タグとホストエンティティとの間に繋がりがある場合、タグ−オブジェクトマッパーは、識別されたポリシーを、識別されたホストエンティティに関係する任意のキャプチャ済情報と関連付けることができる。
【００７７】
[0090]別の場合では、タグ−オブジェクトマッパーは、コード付きラベル、メッセージ、信号ソース、または他のポリシー指定特徴から一定の範囲内にある、１つまたは複数のエンティティを判定することができる。次いで、タグ−オブジェクトマッパーは、識別されたポリシーを、それらのエンティティに関係する任意のキャプチャ済情報と関連付けることができる。
【００７８】
[0091]分類リソース。マッピングリソース３１４には、その各々が世界中のオブジェクトの体系を説明する、１つまたは複数の分類リソースを含むこともできる。例えば、特定の企業が、階層構造（図５など）または他の分類方式で体系付けられた、その企業の社屋内で見出される認識可能オブジェクトを説明する分類リソースを提供してよい。状況によっては、「子」オブジェクトが、その親および先祖オブジェクトのプロパティを継承してもよい。
【００７９】
[0092]その適用において、マッピングモジュール３１２は、オブジェクトにプロパティ（所有権や候補ポリシーなど）を割り当てる際に、このような分類リソースを参考にすることができる。例えば、マッピングモジュール３１２は、特定のプロパティを、それらのプロパティが親オブジェクトから継承されたものであるという理由で、認識されたオブジェクトに割り当てることができる。マッピングモジュール３１２は、ある認識されたオブジェクトの親オブジェクトが変更された場合（認識されたオブジェクトに相当する物理的エンティティが、ある部屋から別の部屋へと移された場合など）、同一の認識されたオブジェクトに、他のプロパティを割り当ててよい。他の場合では、分類リソースが、特定のオブジェクトには継承が適用されないということを示してもよい。例えば、分類リソースが、個人のクレジットカードは、それがどこで観察されたかを問わず、非常にプライベートな物品として取り扱うべきである、ということを示してよい。他の場合では、あるオブジェクトが２つ以上の親または先祖となるノードから複数の候補ポリシーを継承してよく、またそれらの候補ポリシーが一致していなくてもよい。
【００８０】
[0093]マッピングモジュール３１２には、少なくとも１つの有効性判定モジュール４０２を含む（またはこれにアクセスする）こともできる。このモジュールは分析を実行して、識別された候補ポリシーが有効であるか無効であるかの判定を試みる。例えば、図１の場合では、コード付きラベル１１８がホワイトボード１０６に添付されている。このコード付きラベルは、様々な理由により、無効となる可能性がある。ある場合には、悪意あるエンティティが、ホワイトボード１０６に無効なラベルを適用していることもあり得る（例えば、有効なラベルの上に、無効なラベルを重ねて貼るなど）。
【００８１】
[0094]より具体的には、有効性の判定では、少なくとも２つの質問を提起してよい。第１に、有効性判定モジュール４０２は、識別されたポリシーが本当に目的のソースに関連付けられているかどうかの判定を試みてよい。第２に、有効性判定モジュール４０２は、目的のソースがそのポリシーを指定する権限を持っているかどうかの判定を試みてよい。
【００８２】
[0095]有効性判定モジュール４０２は、ポリシーの有効性を評価するために、１つまたは複数の技法を使用することができる。ある技法では、コード付きラベルまたはポリシー指定メッセージ、あるいは他のポリシー指定特徴を、不正に複製することが困難な特性を持つ下地（破断された下地の無作為な縁、下地に含まれる分詞や繊維の分布、など）に関連付けることができる。有効性判定モジュール４０２は、この複製困難な下地の特性を感知し、予め記憶しておいた、その下地の（既知の有効な状態における）独特な特性に関する情報と、比較することができる。現在の読取値が先の読取値と異なる場合、有効性判定モジュール４０２は、コード付きラベルまたはメッセージに関連付けられたポリシー情報を、そのコード付きラベルまたはメッセージが潜在的に不正であるという理由で拒絶することができる。
【００８３】
[0096]別の技法では、有効性判定モジュール４０２は、クラウドソーシング技法を使用してポリシーを検証することができる。例えば、１０人が各々のコンピューティングデバイスを使用して特定のコード付きラベルを読み取り、その中の１人を除く全員が、応答として同一の候補ポリシーを受領すると仮定する。有効性判定モジュール４０２は、この発見を使用して、大多数から外れた候補ポリシーを拒絶するか、または全ての候補ポリシーを拒絶することができる。大多数から外れた読取値に関して、この読取値を提供したコンピューティングデバイスは、ウイルスの影響下にあるおそれがある。こうしたウイルスは、悪意あるポリシーをもたらす、悪意あるサイトに、そのコンピューティングデバイスを導くものである。
【００８４】
[0097]別の技法では、有効性判定モジュール４０２は、信頼できる証明書付与エンティティを使用して、オンラインのポリシー情報が、信頼できるソースに由来すると保証することができる。信頼できる証明書を持たないポリシーは、拒絶されてもよい。
【００８５】
[0098]別の技法では、有効性判定モジュール４０２は、環境内の複数のキューを使用して、候補ポリシーを識別することができる。例えば、マッピングモジュール３１２は、画像認識、信号ソース分析、コード付きラベル１１８の解釈、メッセージ１２０の解釈などを実行することにより、ホワイトボードオブジェクトに関連付けられたポリシーを検出するよう試みることができる。これにより、複数の候補ポリシーが得られてよい。ある場合には、マッピングモジュール３１２は、これらの候補ポリシーの全てをポリシー解決モジュール３１８に送出し、このモジュールに、ホワイトボードオブジェクトに適用する最終ポリシーを選び取るよう求めてもよい。しかし、別の場合では、有効性判定モジュール４０２は、特に候補ポリシー間の一致が強く期待される場合に、それらの間で不一致があれば、１つまたは複数のポリシーを、予備的に不適格と判定することができる。
【００８６】
[0099]ポリシー情報の有効性を評価するためには、その他の技法も使用可能である。上述の技法は例証として説明されたものであり、限定ではない。
[00100]ここで、分析によるポリシー解決の段階に話を進めると、ポリシー解決モジュール３１８は、異なる技法を使用して、識別されたオブジェクトに対する候補ポリシー間の矛盾を自動的に解決することができる。ポリシー解決モジュール３１８には、ＵＩプロンプティングモジュール４０４を含むこともできる。ＵＩプロンプティングモジュール４０４は、競合するポリシーの中から自動的に選択するための根拠を、ポリシー解決モジュール３１８が満足に持たない場合など、様々な状況において、適切なポリシーを手動で選び取るよう、ユーザーを促してよい。
【００８７】
[00101]ある技法では、各候補ポリシーが、優先度レベルに関連付けられる。ポリシー解決モジュール３１８は、最高の優先度レベルを有する候補ポリシーを選び取る。別の技法では、各候補ポリシーが、制限性のレベルに関連付けられる。例えば、アプリケーションに顔認識データのみの受領を許可するポリシーは、アプリケーションに顔に関連付けられた完全なビデオ情報の受領を許すポリシーよりも制限的である。２つの候補ポリシーが矛盾するようなイベントでは、ポリシー解決モジュール３１８は、最も制限的なポリシーを、最終ポリシーとして選択することができる。
【００８８】
[00102]特定の場合では、ポリシー解決モジュール３１８は、ユーザー固有の候補ポリシーに優先権を付与する。例えば、ユーザーのポリシーが、オブジェクトに関連付けられている別の候補ポリシーよりも制限的である場合を検討する。あるアプローチでは、ポリシー解決モジュール３１８は、他のポリシーの代わりに、ユーザーのポリシーを自動的に選択し得る。そうすることにより、デリケートな情報が不所望に露出されるリスクが低減するためである。
【００８９】
[00103]ここで、所与のオブジェクトについて、ユーザーのポリシーが、別の候補ポリシーほど制限的ではない場合を検討する。ポリシー解決モジュール３１８は、ＵＩプロンプティングモジュール４０４を使用して、ユーザーに、そのユーザーのポリシーが世界的に指定されるポリシーから逸脱していることを通知し、その世界指定のポリシーを上書きすることを希望するかについて、ユーザーに質問してもよい。他の場合では、ポリシー解決モジュール３１８は、他方のポリシーが、（例えば、「提案」というポリシーステータスではなく）「必須」というポリシーステータスにタグ付けされている場合にのみ、そのようなプロンプトを提供してもよい。他の場合では、ポリシー解決モジュール３１８は、「提案」されたポリシーのためにプロンプトを提供する一方で、「必須」のポリシーについては、ユーザーの上書きを禁止してもよい。その他も同様である。加えて、または代わりに、ポリシー解決モジュール３１８は、コンピューティングデバイスを操作しているユーザーのステータスに基づき、他方のポリシーを上書きすることができる。例えば、地位の高い社員は必須ポリシーの上書きを許可されるが、地位の低い社員、または既知のプライバシー悪用者には、それが許可されない。
【００９０】
[00104]ユーザーによる上書きが（一部の実装形態において）あり得るということは、管理モジュール２１２は、推奨されるプライバシープロトコルをユーザーが意図的に違反することを妨げない、ということを意味する。むしろ、管理モジュール２１２は、ユーザー自身の利益と、そのユーザーのデータ収集によって影響を受ける他者の利益との双方のために、良心的なユーザーが、推奨されるプライバシープロトコルを遵守するのを支援する技法を提供する。
【００９１】
[00105]ポリシー解決モジュール３１８には、ユーザーがそれまでの状況において手動で選択したポリシーのタイプを学習する、学習モジュール（図示なし）を含むこともできる。ポリシー解決モジュール３１８が、ユーザーの優先順位を適切に確信した場合には、推定される好適な選択肢を自動的に選択するか、または少なくとも、ユーザーに提示される選択肢のリストにおいて、目立つ位置にその選択肢を表示することができる。学習モジュールは、複数のコンピューティングデバイスそれぞれを操作する、複数のユーザーによって提供された任意のタイプのフィードバックに基づき、管理モジュール２１２の態様を修正することにより、ユーザー非依存の学習を実行することもできる。
【００９２】
[00106]話を進めて、許可設定モジュール３２４は、各アプリケーション、各オブジェクト、およびオブジェクトに関連する、アプリケーションの各挙動について、許可を設定する。例えば、マッピングモジュール３１２が、ユーザーはヘルスクラブのロッカールーム内でコンピューティングデバイスを操作している、ということを発見すると仮定する。この発見は、例えば、信号情報、および／または当該環境に関連付けられたその他のキュー（シャワー、小便器などの存在を示す画像認識の結果など）に基づいてなされる。ポリシー解決モジュール３１８は、ロッカー環境についての適切なポリシーは、あらゆるコンピューティングデバイスによる生のビデオ情報のキャプチャを禁止する、ということを判断するものと仮定する。それに応じて、許可設定モジュール３２４は、コンピューティングデバイス上で動作している（またはインストールされた）各アプリケーションに対して、許可を設定することができる。これらの許可は、そのようなアプリケーションの各々が、ＲＧＢデータをキャプチャすることを禁止するように動作する。コンピューティングデバイスを操作しているユーザーの個々人に対して許可をカスタマイズすることも、潜在的には可能である。
【００９３】
[00107]より具体的には、許可設定モジュール３２４は、異なるタイプのポリシーに対し、異なるタイプの許可を設定することができる。第１のタイプのポリシーは、そのポリシーを無効にする明示的なモード変更イベントが発生するまで、アプリケーションの挙動を調節する。例えば、あるタイプのＱＲコードを検出すると、許可設定モジュール３２４は、アプリケーションに関連付けられたアクセス制御権を修正することができる。許可設定モジュール３２４は、先の権利を無効にする別のポリシーが指定されるまでは、これらの権利をそのままにする。例えば、許可設定モジュール３２４は、コンピューティングデバイスがバスルームの入口付近に配置された呼び出しＱＲコードに遭遇したときに特定の許可を設定したり、コンピューティングデバイスがバスルームの出口付近に配置された取り消しＱＲコードに遭遇したときにそれらの許可を取り消したりできる。検出されたこの２つのイベントの間では、「記録禁止」ポリシーが維持され得る。このタイプのポリシーは、本明細書において、アウトオブバンドポリシーと表現される。
【００９４】
[00108]第２のタイプのポリシーは、そのポリシーに関連付けられた呼び出し条件が、感知された情報内に能動的に存在する場合のみ、アプリケーションの挙動を調節する。例えば、ポリシー処理モジュール３１０は、クレジットカードに添付されたＱＲコードを検出することができる。許可設定モジュール３２４は、クレジットカードに関連付けられた画像コンテンツにポリシーを適用することができるが、これはＱＲコードが、認識システム３０４によって能動的に感知されている間のみに限られる。換言すると、カメラの視野がドリフトしたことにより、クレジットカード上のＱＲコードを、もはやキャプチャしなくなったと想定する。すると、許可設定モジュール３２４は、そのＱＲコードに関連付けられたポリシーを、もはや適用しないという応答を示すことになる。このタイプのポリシーは、インバンドポリシーと表現され、例えば、環境内の呼び出しキューの同時的検出が存在する場合にのみ、このポリシーが適用されるということを示す。
【００９５】
[00109]アウトオブバンドまたはインバンドポリシーはいずれも、特定のアプリケーションにサービス提供するよう明確に設計されない限りは、本質的にアプリケーション非依存であってよい。より具体的には、あらゆるポリシーは、多種多様なアプリケーションに（そのポリシーが作成された時点では未知の新しいアプリケーションにさえも）適合し得る。しかし、場合によっては、開発者またはエンドユーザー、あるいは他のエンティティは、１つまたは複数のアプリケーションによって提供される特定の機能を対象とするよう試みるポリシーを案出してもよい。これらのポリシーは、アプリケーション固有ポリシーと表現されてよい。例えば、アプリケーション固有ポリシーは、アプリケーションの限られたクラスでのみ使用される、ある高次の特徴からなる集合に関係することができる。
【００９６】
[00110]ここで図４の最下部に話を進めると、挙動調節モジュール３３０は、許可情報に基づき、アプリケーション２０４の挙動を調節する。より具体的には、いくつかの場合、挙動調節モジュール３３０は、許可情報を２値的に（例えば、イベントをアプリケーションに送出するか、送出することを辞退するかのどちらかによって）適用することができる。そのイベントは、適用可能なポリシーが関係するオブジェクトについての情報を表す。例えば、当該許可が、あるアプリケーションに生のビデオイベントを受領することを禁止する場合、挙動調節モジュール３３０は、そのアプリケーションへのＲＧＢイベントの流れを遮断することにより、この禁止を実施することになる。
【００９７】
[00111]別の場合では、挙動調節モジュール３３０は、フィルタリングモジュール４０６を使用して、許可を遂行する。フィルタリングモジュール４０６は、修正されたオブジェクトを表す、フィルタ済イベントを提供する。例えば、ある適用可能な許可が、アプリケーションは生のビデオ情報を受領してよいと明言するものの、このビデオ情報は、その場面でキャプチャされた人物の顔を除去するために、編集を必要とするものと仮定する。フィルタリングモジュール４０６は、この命令を、異なる手法で遂行することができる。あるアプローチでは、フィルタリングモジュール４０６は、例えば、図１に示される出力表現１３０のような表現を生成するために、ビデオ情報を能動的に編集することができる。別の場合では、認識システム３０４は、場面の未編集版および場面の編集版など、異なるバージョンの特徴を提供することができる。ここで、フィルタリングモジュール４０６は、実際の編集自体を実行することなく、特徴の適切なバージョンを選択することができる。
【００９８】
[00112]ある場合には、そのような編集は、いかなる実行時にも、デリケートなコンテンツに関連付けられたピクセルの省略やぼかし入れを含むことができる。例えば、編集認識エンジンは、顔検出器認識エンジン（「ｆａｃｅ  ｄｅｔｅｃｔｏｒ  ｒｅｃｏｇｎｉｚｅｒ」）から第１の入力を受領し、生のＲＧＢ情報を提供するビデオ認識エンジンから第２の入力を受領することができる。編集認識エンジンは、顔検出の結果を使用して、削除、ぼかし入れ、またはブロックなどをすべき生のＲＧＢの部位を識別することができる。次いで、それらの部位に対して操作を行う。より複雑な場合では、編集認識エンジンは、その顔データが、１人または複数人の既知の人物に対応する、顔データのインスタンスと一致するかどうかを判定することができる。この比較の結果に基づき、編集認識エンジンは、ある人物の顔だけを選択的に編集するが、その他の人物については編集しないといったことが可能である（他人の顔は削除するが、友人の顔は削除しない、など）。
【００９９】
[00113]図６は、図１に示されるシナリオに関する、管理モジュール２１２の動作例を提供する。ブロック６０２では、認識システム３０４が現実世界１０２の様々な特徴を検出する。限定するものではないが、それらの特徴としては、ホワイトボード１０６についての情報、ホワイトボード１０６上の筆跡１１６についての情報、コード付きラベル１１８についての情報、メッセージ１２０についての情報、などが挙げられる。それらの特徴は、低次の（例えば、生の）特徴、および／または高次の（例えば、抽象的な）特徴に相当し得る。
【０１００】
[00114]ブロック６０４では、マッピングモジュール３１２は、感知された情報と補足情報２１８とに基づき、いくつかの調査結果を得る（補足情報は、例えば、上記のような、種々の参照テーブルによって表される情報などに相当し得る）。調査結果は、画像分析に基づき、その場面がホワイトボードオブジェクトを含むこと、およびそのホワイトボードオブジェクトが筆跡を含むことを示してよい。別の調査結果は、コード付きラベル１１８が、候補ポリシーＰ１に関連付けられているということを示す。別の調査結果は、メッセージ１２０が、候補ポリシーＰ２にマッピングするということを示す。別の調査結果は、コード付きラベル１１８とメッセージ１２０とについての信頼性および承認チェックが、コード付きラベル１１８およびメッセージ１２０は有効なポリシー指定者であると表していることを示す。別の調査結果は、ホワイトボードオブジェクトが、エンティティＺによって所有されていることを示す。別の調査結果は、エンティティＺがポリシーＰ３に関連付けられているということを示す。別の調査結果は、ホワイトボードオブジェクトが部屋Ｒ１の中に配置され、部屋Ｒ１が建物Ｂ１内に位置するということを示す。別の調査結果は、建物Ｂ１内の部屋Ｒ１は、ポリシーＰ４に関連付けられているということを示す。別の調査結果は、アプリケーション標準ベースポリシー（例えば、ある組織、あるいは地域の団体または施設によって設定される）が、候補ポリシーＰ５であるということを示す。別の調査結果は、アプリケーションユーザーポリシーが、ポリシーＰ６であるということを示す。その他も同様である。したがって、マッピングモジュール３１２は、ホワイトボードオブジェクトを候補ポリシーＰ１〜Ｐ６にマッピングし、そのうちの２つが同一であっても、異なっていても構わない。
【０１０１】
[00115]ブロック６０６では、ポリシー解決モジュール３１８が、ポリシー解決ルールに基づき、ポリシーのうちの１つを選択する。選択されたポリシーは、アプリケーションがエンティティＺによって管理されているのでなければ（このことは、そのアプリケーションがエンティティＺの証明書によって署名済かどうかを判定することなどによって確認することができる）、いかなるアプリケーションも筆跡１１６の画像をキャプチャしてはならないと指示する。ユーザーのポリシー（Ｐ６）は、このポリシーと矛盾しないため、選択されたポリシーを上書きすることはない。このポリシーは、アウトオブバンドポリシー、またはインバンドポリシーとして表され得る。前者の場合では、表現モード変更イベントによって削除されるまで、そのポリシーは効力を保つ。後者の場合では、コンピューティングデバイスが、コード付きラベル１１８、またはメッセージ１２０などを検出している間のみ、そのポリシーは効力を保つ。
【０１０２】
[00116]ブロック６０８では、許可設定モジュール３２４が、注釈アプリケーションは直接ＲＧＢデータを読み取ることができないという理由により筆跡１１６の読み取りを許可されている、ということを示す許可情報を設定する。他の許可情報は、転写アプリケーションはＲＧＢデータを読み取るものの信頼できるエンティティＺによって管理されており、したがって十分に信頼できるという理由により筆跡１１６の読み取りを許可されている、ということを示す。しかし、他の許可情報は、転写アプリケーションは筆跡１１６から抽出された情報を注釈アプリケーションまたは他のエンティティと共有することを許可されていない、ということを示す。
【０１０３】
[00117]察し得る通り、図６で説明された調査結果、候補ポリシー、および許可情報は、例証として提示されたものであり、限定ではない。
[00118]図７は、認識システム３０４の例示的一実装形態を示す。認識システム３０４は、１つまたは複数の感知機構３０６から、知覚情報を受領することによって動作する。そのとき、認識システム３０４は、１つまたは複数の認識エンジンを使用して、知覚情報を分析する。各認識エンジンは、入力情報を受領し、その入力情報に基づいて低次またはより高次の特徴をいくつか抽出し、そしてその特徴を表す出力情報をイベントとして生成する。
【０１０４】
[00119]認識エンジンにフィードされる入力情報は、１つまたは複数の他の認識エンジンに由来し得る。そのとき、認識システム３０４は全体として、１つまたは複数の認識エンジンからなるデータフローグラフを形成する。認識システム３０４は、目下動作中の各アプリケーションの情報需要判定に基づき、データフローグラフを動的に構築する。すなわち、認識システム３０４は、アプリケーション２０４の情報需要を、それらの需要を満たす認識エンジンのセットにマッピングし、次いで、各認識エンジンの入力／出力依存度を考慮に入れて、データフローグラフを構築する。
【０１０５】
[00120]アプリケーション２０４は、認識システム３０４によって生成されたイベントを、以下の方法で受領する。初めに、ポリシー処理モジュール３１０は、１つまたは複数のアプリケーションから、サブスクリプションを受領することができる。各サブスクリプションは、認識システム３０４から１つまたは複数の特定のタイプの特徴を、それらの特徴が生成されれば受領せよという、アプリケーションによる要求を構成する。次いで、ポリシー処理モジュール３１０は、認識エンジンからのイベントの収集に進む。このとき、各イベントは、１つまたは複数の検出された特徴を表す。より具体的には、ポリシー処理モジュール３１０は、それらのイベントを、データストア３０８にバッファする。そのようなイベントは、感知された情報を集合的に構成する。
【０１０６】
[00121]上記収集タスクと並行して、その都度、ポリシー処理モジュール３１０は、現時点での、環境内で検出された特徴に適用する、１つまたは複数の最終ポリシーを決定する。挙動調節モジュール３３０は、それらの許可を、例えば、承認されたアプリケーションにイベントを送出することによって、適用する。これらのイベントは、上記の方法でフィルタされても、されなくてもよい。
【０１０７】
[00122]インバンドポリシーについての特別な場合では、挙動調節モジュールは、全てのイベントが同時（または略同時）に、環境の同部分に関係するように、異なる認識エンジンによって受領されたイベントを相関させてもよい。例えば、ＱＲコードがクレジットカードに添付されると仮定する。第１の認識エンジンは、クレジットカードに関連付けられた生のＲＧＢを提供することができ、第２の認識エンジンは、ＱＲコードから抽出された情報を提供することができる。認識システム３０４は、オプションで各イベントに、フレーム数、および／または関係する画像フレームに関連付けられたタイムスタンプを、タグ付けしてもよい。挙動生成モジュール３３０は、このタグ付け情報のいずれかを使用して、ＱＲコードに関連付けられたポリシーが、そのＱＲコードが抽出された、同一の画像フレームに関係することを保証することができる。他の場合では、挙動生成モジュール３３０は、イベントの表現相関を実行することなく、ＱＲイベントが、関連付けられたＲＧＢイベントと、ほぼ同時的であると仮定することができる。音声関連イベント、および他のタイプのイベントの場合には、類似同期を実行することができる。最後に、上で触れたように、挙動調節モジュール３３０は、イベントの受領に加えて、アプリケーション２０４の他の挙動も制御することができる。
【０１０８】
[00123]図８は、動作中のアプリケーションの特定のサブセットについて、特定の時に見られる、認識システム３０４の一実装形態を示す。認識システム３０４は、ビデオ認識エンジン８０２を含み、この認識エンジンは、ビデオカメラ８０４から生のＲＧＢデータを受領し、同じ生のビデオデータを表すイベントを出力する。換言すると、ビデオ認識エンジン８０２は、ビデオカメラ８０４を駆動するドライバに相当し得る。認識システム３０４は、デプス認識エンジン８０６も含み、この認識エンジンは、デプスキャプチャ機構８０８からデプス画像を受領し、デプス画像を表すデプスイベントを出力する。換言すると、デプス認識エンジン８０６は、デプスキャプチャ機構８０８のドライバを構成し得る。デプスキャプチャ機構８０８は、構造化光技法、飛行時間技法、立体視技法、などの任意の技術を使用して、デプス画像を生成することができる。デプス画像を提供するための商品の１つが、ワシントン州レドモンドのマイクロソフト製となる、Ｋｉｎｅｃｔ（商標）デバイスである。デプス画像自体が、ある場面における様々な点と基準点との間の距離を特定する。ある場合には、感知機構（例えば、ビデオカメラ８０４およびデプスキャプチャ機構８０８）は、これらの機構の出力に由来するイベントが最終的にアプリケーション２０４に到達するかどうかにかかわらず、連続アクセス状態で「オン」のままとなる。換言すると、アクセス調整のポイントは、ポリシー処理モジュール３１０および挙動生成モジュール３３０であり、感知機構３０６のオン／オフ状態ではない。
【０１０９】
[00124]顔検出器認識エンジン８１０は、顔イベントを生成するために、ビデオ認識エンジン８０２によって生成された、ＲＧＢイベントを受領する。そのイベントは、場面内に人物が存在する場合、その場面における人物の顔を描写する（しかし、その顔に関連付けられた完全なＲＧＢデータは明らかにしない）データを含む。骨格認識エンジン８１２は、は、デプス認識エンジン８０６およびビデオ認識エンジン８０２からの入力イベントを受領する。これらの入力イベントに基づき、骨格認識エンジン８１２は、もし人物が存在すれば、場面内の任意の人物のポーズを描写する、骨格イベントを生成する。手認識エンジン８１４は、骨格イベントを受領し、その人物の手の位置および向きを描写する、出力イベントを提供する。
【０１１０】
[00125]コード認識エンジン８１６は、ＱＲコードなど、コード付きラベルの存在を識別する。コード認識エンジン８１６は、コード付きラベルから抽出された情報も提供することができる。コード認識エンジン８１６は、オプションで、コード付きラベルから抽出された情報を、コードから数値文字列に変換するなどして解釈することもできる。
【０１１１】
[00126]上記の方法では、ポリシー処理モジュール３１０は、これらのイベントの全てを受領し、それらをデータストア３０８にバッファする。次いで、挙動調節モジュール３３０が、結果として得られた許可情報を使用して、イベントを適切なアプリケーションにフォワーディングする。イベントの一部をフィルタしてもよく、またイベントの一部をフィルタしなくてもよい。例えば、注釈アプリケーション８１８は、許可情報によって許可されている場合、顔検出器認識エンジン８１０から顔イベントを受領する。転写アプリケーション８２０は、許可情報によって許可されている場合、ビデオ認識エンジン８０２から生のＲＧＢイベントを受領する。このとき、どのアプリケーションも、手認識エンジン８１４、骨格認識エンジン８１２、またはデプス認識エンジン８０６のいずれかによって生成されたイベントに依存しない。それを踏まえると、認識システム３０４は、それらの認識エンジンをデータフローグラフから排除するために、選択を行ってよい。いくつかの新しいアプリケーションによって後に必要とされた場合は、認識システム３０４は、それらの分岐点を再生することができる。
【０１１２】
[00127]図９は、挙動調節モジュール３３０の一実装形態を示す。挙動調節モジュール３３０は、データストア３２６において提供される許可情報に基づき、１つまたは複数のアプリケーション２０４の挙動を調節する。挙動調節モジュール３３０は、イベントフォワーディングモジュール９０２を含む。イベントフォワーディングモジュール９０２は、許可情報に基づき、上記の方法で、認識システム３０４からサブスクライブしているアプリケーションへのイベントのフォワーディングを制御する。出力決定モジュール９０４は、各アプリケーションが各出力デバイスに送出することを許可される情報のタイプは何かを制御する。アプリ間共有モジュール９０６は、各アプリケーションが、他のアプリケーションおよび／または他のエンティティと共有することを許される情報は何かを制御する。その他の挙動関連モジュール９０８は、挙動調節モジュール３３０が、アプリケーションが作動させることを許可されているコードは何かを制御するなどして、アプリケーションの挙動の他の態様を制御できるということを示す。イベントフォワーディングモジュールに関する上記の方法において、あらゆる挙動の制約は、２値的なＹＥＳ／ＮＯ決定、または複数の処理オプションからの選択の形式をとることができる。少なくとも１つの処理オプションが、アプリケーションに送出される前のイベントの修正、または基本的イベントの複数のバージョンからの選択を、さらに必要とする可能性がある。
【０１１３】
[00128]図１０は、図２の現実感知フレームワーク２０２を実装することができる、１つのコンピューター実装システム１００２を示す。システム１００２は、パーソナルコンピューター、ラップトップコンピューター、セットトップボックス、ゲームコンソール、ポーズ判定デバイス（例えば、Ｋｉｎｅｃｔ（商標）デバイス）、スマートフォン、タブレットコンピューティングデバイス、などのいずれかといった、ローカルコンピューティングデバイス１００４を、少なくとも１つ含む。ある場合には、ローカルコンピューティングデバイス１００４は、管理モジュール２１２および共有レンダラー２２０も含めた、図２の現実感知フレームワーク２０２の全ての態様を実装する。
【０１１４】
[00129]別の実装形態では、ローカルコンピューティングデバイス１００４が、現実感知フレームワーク２０２のいくつかの態様を実装することができると同時に、リモートコンピューティングフレームワーク１００６が、現実感知フレームワーク２０２の他の態様を実装してもよい。一実装形態では、リモートコンピューティングフレームワーク１００６が、１つまたは複数のリモートサーバーとして実装されてもよい。ローカルコンピューティングデバイス１００４は、ローカルエリアネットワーク、ワイドエリアネットワーク（例えば、インターネット）、またはポイントツーポイントリンクなど、任意の通信コンジット１００８を介して、リモートコンピューティングフレームワーク１００６と相互作用してもよい。ローカルコンピューティングデバイス１００４に提供される機能は、ローカルリソース１０１０と表現される。
【０１１５】
[00130]機能の割り当ての一例では、ローカルコンピューティングデバイス１００４が１つまたは複数のローカルな認識エンジンを実装することができると同時に、リモートコンピューティングフレームワーク１００６が１つまたは複数のリモートな認識エンジンを実装することができる。したがって、このシステム１００２における認識システム３０４は、少なくとも２つの異なる場所に分散される。より具体的には、リモートコンピューティングフレームワーク１００６は、複雑な画像処理タスク（ある場合には、顔認識タスクなど）を実行する認識エンジンなど、認識システム３０４において、演算が最も集約する認識エンジンを扱うことができる。別の場合では、マッピングモジュール３１２の演算集約的な態様は、リモートコンピューティングフレームワーク１００６に委任することができる。
【０１１６】
[00131]一実装形態では、ローカルコンピューティングデバイス１００４とリモートコンピューティングフレームワーク１００６との間の処理タスクの委任は、静的、または少なくとも緩やかに変化するものである。別の場合では、ルーティングモジュール１０１２は、少なくとも１つの演算ワークロード要因および／または考慮すべき他の要因に基づき、ローカルコンピューティングデバイス１００４とリモートコンピューティングフレームワーク１００６との間で、タスクを動的に委任することができる。例えば、ルーティングモジュール１０１２は、ワークロードキュー内の完了していない作業の量が指定された閾値を超過した場合、リモートコンピューティングフレームワーク１００６に認識タスクを自動的に委任することができる。加えて、または代わりに、ルーティングモジュール１０１２は、ローカルコンピューティングデバイス１００４上で、指定された完了までの時間量よりも長い時間をタスクが費やしている場合、および／または他の考慮すべき要因に基づき、ローカルコンピューティングデバイス１００４からリモートコンピューティングフレームワーク１００６に、認識タスクを自動的に移行することができる。ルーティングモジュール１０１２は、管理モジュール２１２および／または現実感知フレームワーク２０２の他のコンポーネントによって実装されてもよい。
【０１１７】
[00132]リモートコンピューティングフレームワーク１００６のリモートなコンポーネント（リモート認識エンジンなど）は、任意数のローカルなコンピューティングデバイスに、同時にサービスを提供してよい。例えば、リモートなコンポーネントは、ローカルコンピューティングデバイス１００４およびローカルコンピューティングデバイス１０１４の両方にサービスを提供してよい。このようにすることで、リモートなコンポーネントは、実際の仮想マシンの機能を提供することなく、（同一の物理的プラットフォーム上の、２つ以上の独立したタスクにサービスを提供することにより）仮想マシンの動作をシミュレートする。
【０１１８】
Ｂ．例示的プロセス
[00133]図１１は、図３の管理動作の一様式を説明する、手順１１０２を示す。管理モジュール２１２の動作の基になる原理は、既にセクションＡにおいて説明されたため、このセクションでは、特定の動作を、要約的に取り扱うことになる。
【０１１９】
[00134]ブロック１１０４では、ポリシー処理モジュール３１０が、環境内で感知された特徴を表す、感知された情報を、認識システム３０４から受領する。ブロック１１０６では、マッピングモジュール３１２が、感知された特徴を、１つまたは複数の候補ポリシーに対してマッピングする。各候補ポリシーは、感知された環境内の１つまたは複数のオブジェクトに関係し得る。ブロック１１０８では、ポリシー解決モジュール３１８が、オブジェクトごとの最終ポリシーを決定し、最終ポリシー情報を提供する。動作１１１０は、ブロック１１０６と１１０８を包含し、特徴を最終ポリシー情報にマッピングするタスクに広く相当する。ブロック１１１２では、許可設定モジュール３２４はが、最終ポリシー情報に基づき、許可情報を識別する。ブロック１１１４では、挙動調節モジュール２２０が、許可情報に基づき、アプリケーションの挙動を調節する。
【０１２０】
Ｃ．典型的コンピューティング機能
[00135]図１２は、図２の現実感知フレームワーク２０２のあらゆる態様を実装するために使用可能な、コンピューティング機能１２０２を示す。例えば、図１２に示されるタイプのコンピューティング機能１２０２は、図１０のローカルコンピューティングデバイス１００４、および／またはリモートコンピューティングフレームワーク１００６に関連付けられたコンピューターサーバーを実装するために使用することができる。どのような場合であっても、コンピューティング機能１２０２は、１つまたは複数の物理的かつ有形の処理機構を表す。
【０１２１】
[00136]コンピューティング機能１２０２は、１つまたは複数の中央処理装置（ＣＰＵ）、および／または１つまたは複数のグラフィック処理装置（ＧＰＵ）など、１つまたは複数の処理デバイス１２０４を含むことができる。
【０１２２】
[00137]コンピューティング機能１２０２は、コード、設定、データなど、あらゆる種類の情報を記憶するための、任意のストレージリソース１２０６も含むことができる。限定するものではないが、例えば、ストレージリソース１２０６は、任意のタイプのＲＡＭ、任意のタイプのＲＯＭ、フラッシュデバイス、ハードディスク、光ディスク、などのいずれかを含んでよい。おしなべて言うと、あらゆるストレージリソースは、情報を記憶するために、あらゆる技術を使用することができる。さらに、あらゆるストレージリソースは、情報の揮発性または不揮発性保持を行ってよい。さらに、あらゆるストレージリソースは、コンピューティング機能１２０２の固定型または取り外し型コンポーネントに相当してよい。コンピューティング機能１２０２は、処理デバイス１２０４が任意のストレージリソース、またはストレージリソースの組合せ内に記憶された命令を遂行する際に、上記の機能のいずれかを実行してよい。
【０１２３】
[00138]用語に関して、ストレージリソース１２０６のいずれか、またはストレージリソース１２０６の任意の組合せは、コンピューター可読媒体と考えてよい。多くの場合、コンピューター可読媒体は、何らかの形式の物理的かつ有形のエンティティに相当する。コンピューター可読媒体という用語は、例えば、物理的コンジットおよび／または空気もしくは他のワイヤレス媒体などを介して送信または受信される、伝搬信号も包含する。しかし、固有の用語である「コンピューター可読記憶媒体」および「コンピューター可読媒体デバイス」は、それ自体が伝搬信号を明確に除外すると同時に、それ以外の全ての形態のコンピューター可読媒体を含む。
【０１２４】
[00139]コンピューティング機能１２０２は、ハードディスクドライブ機構、光ディスクドライブ機構など、任意のストレージリソースと相互作用するために、１つまたは複数のドライブ機構１２０８も含む。
【０１２５】
[00140]コンピューティング機能１２０２は、様々な入力を（入力デバイス１２１２を介して）受領するため、および様々な出力を（出力デバイス１２１４を介して）提供するために、入出力モジュール１２１０も含む。例示的な入力デバイスとして、キーボードデバイス、マウス入力デバイス、タッチスクリーン入力デバイス、デジタル化パッド、１つまたは複数のビデオカメラ、１つまたは複数のデプスカメラ、自由空間ジェスチャ認識機構、１つまたは複数のマイク、声認識機構、あらゆる運動検出機構（例えば、加速度計、ジャイロスコープなど）、などが挙げられる。特定の出力機構の１つとしては、表現デバイス１２１６および関連付けられたグラフィカルユーザーインターフェース（ＧＵＩ）１２１８を挙げてよい。他の出力デバイスとしては、プリンター、モデル生成機構、触覚出力機構、（出力情報を記憶するための）アーカイブ機構、などが挙げられる。コンピューティング機能１２０２は、１つまたは複数の通信コンジット１２２２を介して、他のデバイスとデータを交換するために、１つまたは複数のネットワークインターフェース１２２０も含むことができる。１つまたは複数の通信バス１２２４は、上記のコンポーネントを相互に、通信可能に結合する。
【０１２６】
[00141]通信コンジット１２２２は、例えば、ローカルエリアネットワーク、ワイドエリアネットワーク（例えば、インターネット）、ポイントツーポイント接続など、またはこれらの任意の組合せによるなどして、あらゆる方法で実装することができる。通信コンジット１２２２は、任意のプロトコル、またはプロトコルの組合せによって調節された、ハードワイヤードリンク、ワイヤレスリンク、ルーター、ゲートウェイ機能、ネームサーバーなどの任意の組合せを含むことができる。
【０１２７】
[00142]代わりに、または加えて、これまでのセクションにおいて説明された機能はいずれも、１つまたは複数のハードウェア論理コンポーネントにより、少なくとも部分的に、実行することができる。例えば、限定するものではないが、コンピューティング機能１２０２は、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、特定用途向け集積回路（ＡＳＩＣ）、特定用途向け標準品（ＡＳＳＰ）、システムオンチップシステム（ＳＯＣ）、複合プログラマブル論理デバイス（ＣＰＬＤ）などのうちの、１つまたは複数を使用して実装することができる。
【０１２８】
[00143]結びとして、本記述では、例示的課題または問題の文脈において、様々な概念を説明し得た。この説明方法は、本明細書固有の方法において、他者がそれらの課題または問題を認識および／または明確化していたという表明をなすものではない。さらに、特許請求される主題は、言及された課題／問題のいずれか、または全てを解決する実装形態に限定されるものではない。
【０１２９】
[00144]おしなべて言うと、構造的特徴および／または方法論的行為に特定的な文言で主題を説明したが、添付の特許請求の範囲において定義される主題は、上に記述された特定の特徴または行為に、必ずしも限定されるものではないことを理解されたい。上に記述された特定の特徴および行為は、むしろ特許請求の範囲を実装する例示的形態として開示されたものである。
【図１】
0006509871.tif 000002
【図２】
0006509871.tif 000003
【図３】
0006509871.tif 000004
【図４】
0006509871.tif 000005
【図５】
0006509871.tif 000006
【図６】
0006509871.tif 000007
【図７】
0006509871.tif 000008
【図８】
0006509871.tif 000009
【図９】
0006509871.tif 000010
【図１０】
0006509871.tif 000011
【図１１】
0006509871.tif 000012
【図１２】
0006509871.tif 000013