(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0007】
[0022] 本発明の実施形態の主題は、法的要件を満たすために、本明細書においては具体性を持って説明される。しかしながら、説明自体は、請求項の範囲を限定することは意図していない。むしろ、本発明者は、特許請求する主題は、本文書において記載するステップとは異なるステップまたは同様のステップの組み合わせを含むように、他の現在の技術または今後の技術と関連付けて、別の方法で具体化してもよいことを想定している。更に、「ステップ」および/または「ブロック」という用語は、本明細書においては、採用される方法の異なるエレメントを言外に意味するために用いることもできるが、個々のステップの順序が明示的に記載されている場合を除いて(unless and except)、この用語は、本明細書において開示される種々のステップ間において、いかなる特定の順序をも暗示するように解釈してはならない。
【0008】
[0023] 本発明の実施形態は、ユーザーがコンピューター・インターフェースと対話処理するコンテキストを分析し、自動的にそのコンテキストに対してインターフェースを最適化する。ユーザー・インターフェースとのユーザーの対話処理は、インターフェースに対する異なる度合いの注意を含むことができる。この注意の度合いは、インターフェースを無視することから完全な注意までの範囲に及ぶ。ユーザーが対話処理のために選択するコントローラーまたは制御モードは、部分的に、コンテキストを定めることができる。制御モードの例には、ジェスチャーリング、オーディオ制御、付属デバイスの使用、ならびにゲーム・コントローラーおよびリモコンのような専用制御デバイスの使用が含まれる。異なる入力デバイスが、異なるタスク毎に設計される。しかしながら、ユーザーが、あるタスクを実行する際に、そのタスクには適合されていない制御入力を使用しようとすることが頻繁にある。本発明の実施形態は、ユーザー・インターフェースの特性を変化させて、ユーザーの選択の入力デバイスを使用して、ユーザーにとって、意図するタスクを完了するのを一層容易にする。
【0009】
[0024] 選択された対話処理メカニズムにインターフェースを適合させることに加えて、環境条件に基づいて、更にインターフェースを最適化することもできる。環境条件とは、部屋内におけるある人の他の人々または物体に対する位置、および1つ以上のインターフェース上で表示されるコンテンツが含まれる。例えば、画面とこの画面上にあるコンテンツと対話処理しようとしているユーザーとの間に立つ物体または人によって遮られない画面の一部に、対話処理メニューを提示することができる。つまり、画面の右下角が人によって遮られる場合、画面の異なる部分にヘルプ情報が提示される。同様に、ユーザーが彼らの右手に電話機または他の物体を有する場合、ジェスチャー・ベース・メニューを、左手で使用するために最適化することもできる。例えば、ユーザーがインターフェース・オブジェクトを仮想的に選択するために彼らの身体を横切って手を伸ばさなくてもよいように、メニュー・オブジェクトを画面の左側に移動させてもよい。
【0010】
[0025] 本発明の実施形態は、現在のコンテキストを確認するために種々の信号を使用することができる。信号の例には、カメラから収集されるカラー画像データー、深度カメラまたは他の3D−対応捕獲デバイスから収集される3D画像データー、オーディオ信号、ならびに近傍にある1つ以上の計算デバイスまたはコントローラーからの状態情報が含まれる。
【0011】
[0026] 以上本発明の実施形態の全体像について端的に説明したので、本発明の実施形態を実現する際の使用に適した動作環境の一例について以下に説明する。
動作環境例
[0027] 図面全体を参照するが、最初に特に
図1を参照すると、本発明の実施形態を実現する動作環境の一例が示され、全体的に計算デバイス100と呼ぶ。計算デバイス100は、適した計算環境の一例に過ぎず、本発明の使用範囲や機能性について限定を示唆することは全く意図していない。また、計算デバイス100が、図示するコンポーネントの内任意の1つに関してもまたその組み合わせに関しても何らかの依存性や用件を有するように解釈してはならない。
【0012】
[0028] 本発明は、コンピューター・コードまたは機械使用可能命令という一般的なコンテキストで説明することができ、コンピューターあるいはパーソナル・データー・アシスタントまたは他のハンドヘルド・デバイスというような他の機械によって実行される、プログラム・コンポーネントのようなコンピューター実行可能命令を含む。一般に、プログラム・コンポーネントは、ルーチン、プログラム、オブジェクト、コンポーネント、データー構造等を含み、特定のタスクを実行するコード、または特定の抽象データー型を実装するコードを指す。本発明の実施形態は、ハンドヘルド・デバイス、消費者用電子機器、汎用コンピューター、特殊計算デバイス等を含む種々のシステム構成において実施することができる。また、本発明の実施形態は、分散型計算環境で実施することもでき、この場合、タスクは、通信ネットワークによってリンクされたリモート処理デバイスによって実行される。
【0013】
[0029] 引き続き
図1を参照すると、計算デバイス100は、以下のデバイスを直接または間接的に結合するバス110を含む。メモリー112、1つ以上のプロセッサー114、1つ以上のプレゼンテーション・コンポーネント116、入力/出力(I/O)ポート118、IOコンポーネント120、例示的な電源122、無線機124、およびセンサー126。バス110は、1つ以上のバス(アドレス・バス、データー・バス、またはその組み合わせ)であってもよいものを表す。
図1の種々のブロックは、明確にするために、線で示されるが、種々のコンポーネントの区分けはそれほど明確ではなく、例えて言うと、これらの線をもっと正確にするならば灰色で曖昧になるであろう。例えば、ある者はディスプレイ・デバイスのようなプレゼンテーション・コンポーネントはI/Oコンポーネント120であると見なすかもしれない。また、プロセッサーはメモリーを有する。本発明者は、このようなことは技術の本質であると認識しており、
図1の線図は本発明の1つ以上の実施形態と共に使用することができる計算デバイスの一例を例示するに過ぎないことを繰り返しておく。「ワークステーション」、「サーバー」、「ラップトップ」、「ハンドヘルド・デバイス」というようなカテゴリー間では区別を行わない。何故なら、これら全ては、
図1の範囲に該当すると考えられ、「コンピューター」または「計算デバイス」を指す(reference to)からである。
【0014】
[0030] 通例、計算デバイス100は、種々のコンピューター読み取り可能媒体を含む。コンピューター読み取り可能媒体は、計算デバイス100によってアクセスすることができるあらゆる入手可能な媒体とすることができ、揮発性および不揮発性双方の媒体、リムーバブルおよび非リムーバブル媒体を含む。一例として、そして限定ではなく、コンピューター読み取り可能媒体は、コンピューター記憶媒体および通信媒体を含むことができる。コンピューター記憶媒体は、揮発性および不揮発性の双方、リムーバブルおよび非リムーバブル媒体を含み、コンピューター読み取り可能命令、データー構造、プログラム・モジュール、または他のデーターというような情報の格納のための任意の方法または技術で実現される。
【0015】
[0031] コンピューター記憶媒体は、RAM、ROM、EEPROM、フラッシュ・メモリーまたは他のメモリー技術、CD−ROM、ディジタル・バーサタイル・ディスク(DVD)または他の光ディスク・ストレージ、磁気カセット、磁気テープ、磁気ディスク・ストレージまたは他の磁気記憶デバイスを含む。コンピューター記憶媒体は、伝搬データー信号を含まない。
【0016】
[0032] 通信媒体は、通例、コンピューター読み取り可能命令、データー構造、プログラム・モジュール、または他のデーターを、搬送波または他の移送メカニズムのような変調データー信号内に具体化し、任意の情報配信媒体を含む。「変調データー信号」という用語は、当該信号内に情報を符合化するような形で、その特性の1つ以上が設定または変更された信号を意味する。一例として、そして限定ではなく、通信媒体は、有線ネットワークまたは直接有線接続のような有線媒体と、音響、RF、赤外線、および他のワイヤレス媒体のようなワイヤレス媒体とを含む。以上の内任意のものの組み合わせも、コンピューター読み取り可能媒体の範囲内に含まれてしかるべきである。
【0017】
[0033] メモリー112は、揮発性および/または不揮発性メモリーの形態としたコンピューター記憶媒体を含む。メモリー112は、リムーバブル、非リムーバブル、またはその組み合わせであってもよい。メモリーの例には、ソリッド・ステート・メモリー、ハード・ドライブ、光ディスク・ドライブ等が含まれる。計算デバイス100は、1つ以上のプロセッサー114を含み、プロセッサー114はバス110、メモリー112、またはI/Oコンポーネント120のような種々のエンティティからデーターを読み取る。プレゼンテーション・コンポーネント(1つまたは複数)116は、ユーザーまたは他のデバイスにデーター指示を提示する。プレゼンテーション・コンポーネント116の例には、ディスプレイ・デバイス、スピーカー、印刷コンポーネント、振動コンポーネント等が含まれる。I/Oポート118は、計算デバイス100を論理的にIOコンポーネント120を含む他のデバイスに結合することを可能にする。IOコンポーネント120の一部が内蔵されてもよい。例示的なIOコンポーネント120には、マイクロフォン、ジョイスティック、ゲーム・パッド、スキャナー、ハード/ソフト・ボタン、タッチ・スクリーン・ディスプレイ等が含まれる。
【0018】
[0034] 無線機124は、無線通信を送信および受信する。計算デバイス100は、種々のワイヤレス・ネットワークを通じて通信およびメディアを受信するように構成されたワイヤレス・ターミナルであってもよい。計算デバイス100は、符号分割多元接続(「CDMA」)、移動体用グローバル・システム(「GSM(登録商標)」)、または時分割多元接続(「TDMA」)のようなワイヤレス・プロトコル、ならびに他のものによって通信し、他のデバイス(
図1には示されない)と通信することができる。無線通信は、短距離接続、長距離接続、または短距離および長距離ワイヤレス電気通信接続双方の組み合わせであってもよい。「短距離」および「長距離」タイプの接続に言及するとき、2つのデバイス間における空間的関係に言及することは意図しない。代わりに、短距離および長距離を、通常、異なるカテゴリーまたはタイプの接続と呼んでいる(即ち、主接続および副接続)。短距離接続は、デバイス(例えば、移動体ホット・スポット)に対するWi−Fi(登録商標)接続を含むことができる。これは、802.11プロトコルを使用するWLAN接続のような、ワイヤレス通信ネットワークにアクセスを与える。他の計算デバイスに対するBluetooth(登録商標)接続は、短距離接続の第2の例である。長距離接続は、CDMA、GPRS、GSM(登録商標)、TDMA、および802.16プロトコルの内1つ以上を使用する接続を含むことができる。
【0019】
[0035] センサー126は、デバイス並びに環境特性および条件を観察する。センサーの例には、加速度計、ジャイロスコープ、GPS/位置検出、近接センサー、光センサー、および振動センサーが含まれる。
マルチ・デバイス・ユーザー体験
[0036] これより
図2に移ると、本発明の実施形態にしたがって、コンパニオン体験(companion experience)を提供することができる多数の計算デバイスを含むネットワーク接続動作環境200が示されている。環境200は、主デバイス210、コンパニオン・デバイス252、254、256、および258、ワイヤレス・ルーター250、基地局260、ネットワーク230、ならびにコンパニオン体験サーバー220を含む。これらのデバイスは単なる例であり、限定することを意図するのではない。
【0020】
[0037] 主デバイス210は、ゲーム・コンソール、メディア・コンソール、またはタイトルを提示する他の適した計算デバイスであってもよい。タイトルは、ゲーム、映画、アプリケーション、音楽、ビデオ、テレビジョン・ショー、および他のメディア・コンテンツであってもよい。ゲーム・コンソールは、テレビジョンのようなディスプレイに結合されるとよい。
【0021】
[0038] コンパニオン・デバイス252、254、256、および258は、計算デバイスである。コンパニオン・デバイスとは、本願において使用される場合、第2ディスプレイを設けるパーソナル計算デバイスである。例には、ラップトップ、PC、ネットブック、スマート・フォン、電子書籍リーダー(e-reader)、PDA、およびタブレットが含まれる。コンパニオン体験は、ユーザーが、コンパニオン・デバイス上のインターフェースを通じて、主デバイス210上で再生するメディアに関係するコンテンツと対話処理することを可能にする。また、コンパニオン体験は、ユーザーがコンパニオン・デバイス上のインターフェースを通じてメディア提示を制御することも可能にする場合もある。
【0022】
[0039] コンパニオン体験サーバー220は、コンパニオン・コンテンツ、コンパニオン・アプリケーション、登録および認証コンパニオン・デバイスを提供し、主デバイスとコンパニオン・デバイスとの間の通信を容易にし、更に他のタスクを実行することによって、コンパニオン体験を容易にする。コンパニオン体験サーバーには、インターネットのようなワイド・エリア・ネットワークを通じてアクセスすることができる。
【0023】
[0040] コンパニオン・デバイス252、254、256、および258は、Bluetooth(登録商標)によって直接主デバイス210と通信することができ、または有線接続を介して通信することもできる。また、コンパニオン・デバイスは、ワイヤレス・ルーター250によって生成されるローカル・ワイヤレス・ネットワークを通じて通信することもできる。これらの接続は直接とすることができ、またはコンパニオン体験サーバーを通じてこれらの経路を設定することもできる。また、コンパニオン・デバイスは、基地局260によって円滑に行われる(facilitate)データー・サービスによって主デバイスと通信することもできる。基地局260は、主デバイスが使用しているインターネット230へのいずれの通信を通じてでも、主デバイスに通信を導くことができる。また、基地局260は、主デバイスが同じデーター・サービスを使用している場合、主デバイスと直接通信にすることもできる。
コンテキスト特定インターフェース・エンジン
[0041] これより
図3に移り、本発明の一実施形態にしたがって、対話処理コンテキストを検出しユーザー・インターフェースを最適化するのに適したコンポーネントを有するコンテキスト特定インターフェース・エンジン300を示す。エンジン300は、コンテキスト判定コンポーネント310、コンテキスト・データー・ストア312、ユーザー・データー・ストア314、人認識コンポーネント316、物体認識コンポーネント318、デバイス認識コンポーネント320、およびインターフェース・アクティブ化コンポーネント322を含む。コンテキスト特定インターフェース・エンジン300は、1つの適したアーキテクチャーの一例に過ぎず、本発明の使用範囲や機能性に関して何ら限定を示唆することは意図していない。また、コンテキスト特定インターフェース・エンジン300が、本明細書において例示する任意の1つのコンポーネントまたはコンポーネントの組み合わせに関して、依存性や要件を有するように解釈しては決してならない。コンテキスト特定インターフェース・エンジン300は、1つの計算デバイスに存在するのでも、ホーム・エリア・ネットワーク、ローカル・エリア・ネットワーク、またはワイド・エリア・ネットワークに接続された多数のデバイスを含む多数のデバイスに跨がって分散されるのでもよい。個々のコンポーネントの一部は、部分的にクライアントにそして部分的にサーバーに存在するのでも、または多数のデバイスに跨がって分散されるのでもよい。
【0024】
[0042] コンテキスト判定コンポーネント310は、ユーザーの現在の対話処理コンテキストを判定する。コンテキストは、ユーザー・アクションと、デバイス、他の人、および1つ以上のデバイス上に現在表示されているコンテキストとのユーザーの対話処理とを含む。コンテキスト判定コンポーネント310は、コンテキスト・テンプレートを使用してコンテキストを識別し、名称を付けることもできる。コンテキスト・テンプレートは、コンテキストの特性を記述し、そのコンテキストに対して最適化されるインターフェース特性を推奨することができる。コンテキストの特性は、現在のコンテキストを識別するために使用される。推奨されるインターフェース特性は、コンテキストに対して最適化されたものまたは推奨されたものである。
【0025】
[0043] コンテキスト判定コンポーネント310は、本システムを使用している間に観察されたユーザー・アクションに基づいてコンテキスト・テンプレートを構築または最適化する際に関与することもできる。最適化されたインターフェースに対するユーザーの応答を追跡し、コンテキスト・テンプレートを変更するために使用することもできる。例えば、ユーザーが、最適化されたインターフェースに追加されたフィーチャー(feature)と対話処理しないとき、これらのフィーチャーをテンプレートから除去することができる。ユーザーが第1インターフェース・フィーチャーから第2インターフェースにおける第2フィーチャーに頻繁にナビゲートする場合、第1および第2インターフェース・フィーチャーを組み合わせて、新たな最適化インターフェースにすることもできる。
【0026】
[0044] 一実施形態では、インターフェースとのユーザー対話処理からのデーターが、機械学習および分析に基づいて、サーバーに伝達されて、多数のユーザーからの情報を組み合わせてテンプレートを作成および変更することもできる。次いで、テンプレートを、同様の状況にある人々と関連付け、特定のやり方でインターフェースと対話処理するユーザーの意図を示す対話処理を認識するために使用することができる。例えば、コンテキスト・テンプレートを、メディア選択インターフェースをナビゲートするために右手でゲーム・パッドを使用する30〜35才の男性と関連付けることができる。ユーザー特性を観察することができ、またはアカウント・データーから収集し、対応するテンプレートを引き出し、このテンプレートにしたがってインターフェースを最適化することもできる。コンテキスト・テンプレートは、サーバーに格納され、要求に応じてアクセスされる、または周期的に計算デバイスに伝達されるのでもよい。
【0027】
[0045] 例えば、ジェスチャー入力コンテキスト・テンプレートは、特性としてジェスチャー入力を有する。ジェスチャー入力は、ユーザーが彼らの身体または身体部分と共にジェスチャーにおいて運動し(motion)、深度カメラのような入力デバイスによってこのジェスチャーが認識されたときに発生する。例えば、ユーザーがテレビジョンの音量を上げるために親指を上に向ける(thumbs-up)ジェスチャーを行うのでもよい。いずれの場合でも、コンテキスト・テンプレートは、認識可能なジェスチャーを行うユーザーに加えて、制御デバイスを保持しないユーザー、または保持する制御デバイスと対話処理するように見えないユーザーを含むコンテキスト特性も含んでもよい。応答して、最適化ユーザー・インターフェースのフィーチャーは、もっと大きな選択可能な物体を含むことができる。したがって、ユーザー・インターフェースをズーミングする(zoom)ことができ、または選択可能な物体のサイズを大きくすることもできる。他の実施形態では、物体周囲にある選択エリアが広げられる。各コンテキストは、異なる特性および最適化インターフェース・フィーチャーを有する。コンテキストが、他のコンテキストおよび最適化インターフェース・フィーチャーと特性を共有することもできる。
【0028】
[0046] 入力モードは、正に1つのコンテキスト・フィーチャーである。例えば、右手のジェスチャー、左手のジェスチャー、遮られたジェスチャー、および多人数のジェスチャーを含む、ジェスチャー・ベース・コンテキストのクラス全体であることができる。コンテキスト判定コンポーネント310は、入力モードを、コンテキスト・クラスを選択する開始点として使用することもできる。より多くの情報が受信されるに連れて、コンテキストを更新し、それに応じてインターフェースを調節することができる。インターフェースは、コンテキスト・シナリオの増加または減少における信頼度として、動的に更新されてもよい。一般に、特定のコンテキストにおいて信頼度が低い程、増々汎用インターフェースが表示される結果となるであろう。これらは、特定のコンテキストには最適化されないが、異なるコンテキストにおける使用には適する。
【0029】
[0047] 専用デバイス入力の使用は、別のコンテキスト・クラスである。専用デバイスは、リモコン(remote controls)およびゲーム・コントローラーを含み、非常に特殊化され柔軟性は少なくなる傾向がある。専用デバイスが使用されていると判定するために使用される特性は、ユーザーが専用デバイスを手に取ること、および専用デバイスの使用を含む。これは、デバイスが収納されるまたは単に場所を移されるのとは対照的である。ユーザーがデバイスを制御メカニズムとして利用しているように見えるか否か判定するためにカメラを使用することに加えて、専用デバイスから受信した信号は、画像データーによって観察されたものを確認することができる。この場合、インターフェースは、選択された専用デバイスとの使用のために適合または最適化されるとよい。コンテキスト判定コンポーネント310は、デバイス認識コンポーネント320と共に動作して、特定の専用デバイスを識別することもできる。
【0030】
[0048] コンパニオン対話処理(companion interaction)は、別のコンテキスト・クラスである。コンパニオン対話処理は、スマート・フォンまたはタブレットのような、コンパニオン・デバイスの使用を伴う。コンパニオン・デバイスは、タッチ・スクリーンを有するとよい。タッチ・スクリーンは、ユーザーが細かい選択即ち粒状(granular)選択を行い、追加のコンテンツを確認する(view)ことを可能にする。また、コンパニオン・デバイスは、ハードまたはソフト・キーボードも有するとよい。このキーボードは、ユーザーがテキストを入力することを可能にする。コンパニオン・デバイス対話処理の特性は、コンパニオン・デバイスを手に取ることを含む。コンパニオン・デバイスは、その外観によって、そしてそのデバイスによって受信される信号データーによって識別されてもよい。例えば、通信セッションの設定中にコンパニオン・デバイスから伝えられたデーター・パケットがURLを含み、このURLがそのデバイスおよびデバイス特性を識別することができる。
【0031】
[0049] 一実施形態では、個々のデバイスを人々と関連付けるために人認識コンポーネント316が使用される。例えば、多数の人々が、多数のデバイスがある部屋の中にいるのでもよい。人認識コンポーネント316は、誰が彼らのデバイスで何をしているのか判定するのを補助することができる。例えば、第1の人物が、テーブル上に据えられているデバイスと関連付けられ、テーブルは無視されるのでもよい。この場合、ユーザー・インターフェースは、関連コンテンツをこの人のコンパニオン・デバイスにプッシュすることや、コンパニオン・デバイスによる制御に最適化されたインターフェース・コンテンツに移動させることを望まないであろう。一方、第2の人物が彼/彼女のコンパニオン・デバイスを見ている場合、この第2の人物の視聴体験、または望ましければ、インターフェースを制御する能力を拡張(enhance)または増強(augment)するために、補足コンテンツをプッシュすることもできる。
【0032】
[0050] 本発明の実施形態は、ユーザーがコンパニオン・デバイスをインターフェース対話処理の一部として使用することを望むであろうということを先読みして対処しようとする。例えば、ユーザーがジェスチャーを使用してウェブ・ブラウザー・インターフェースをナビゲートしようとしている場合、テキストボックスを選択した後直ちにコンパニオン・デバイスを手に取るであろう。本発明の実施形態は、コンパニオン・デバイス上のソフト・キーボードを自動的に開いて、ユーザーがコンパニオン・デバイスを使用してタイプ入力することを可能にするのでもよい。この最適化が行われるとき、ユーザーはコンパニオン・デバイスを手に取る以外には何も行わず、また既にユーザーがコンパニオン・デバイスを保持している場合、彼らがそれを使用する準備をしていることを示すような方法でそれを動かす以外には何も行わない。また、この場合のコンテキストは、ブラウザー・アプリケーションの状態も考慮に入れる。この場合、コンテキストはアクティブなテキストボックスを含む。ユーザーがコンパニオン・デバイスを保持していなかった場合、ソフト・キーボードは開かれず、主ディスプレイ上のジェスチャー・キーボードを代わりに開くことができる。
【0033】
[0051] オーディオ・コンテキストは、インターフェースを最適化することができる別のコンテキスト・クラスである。例えば、部屋の中で話す人々と、インターフェースを制御するためにオーディオ・コマンドを使用し始めることを望む人との間で区別することは難しいであろう。一実施形態では、ユーザーが音声コマンドを使用してインターフェースと直接対話処理していることを検出したときに、オーディオ・インターフェースがオンに切り替えられる。ユーザーのインターフェースに対する注意は、他の人々と話しているのではなく、ユーザーがインターフェースを見ていることを確認する画像データーによって、判定することができる。また、部屋の中に他の人々が存在することも、このコンテキストを判定するのに役立つ場合もある。例えば、人は自分自身に話しかけることはありそうもない(less likely)ので、1人の人が部屋にいるとき、発話された単語はいずれも、オーディオ認識システムを起動することができる。対照的に、多数の人々が部屋にいる場合、ユーザーからもっと明示的なコマンドがなければ、オーディオ認識システムを起動することは望ましくないであろう。
【0034】
[0052] インターフェースの視覚的外観を最適化することに加えて、コンテキストを判定するときに、全く新しいインターフェースを提示することもできる。例えば、ユーザーがジェスチャーを使用してウェブ・ブラウザーとインターフェースしており、次いでゲーム・コントローラーを手に取った場合、このユーザーは、ゲーム・コントローラーを使用してウェブ・ブラウザーと対話処理するのではなく、ゲームをプレーすることと望むというコンテキスト判定を行うことができる。この場合、ゲーム・コントローラーとの使用にウェブ・ブラウザーを最適化する代わりに、ゲームのホーム・ページまたは他のゲーミングに関係するインターフェースを提示することができる。一実施形態では、ユーザーは、彼らが最後にプレーしたゲームに、自動的に連れて行かれる。
【0035】
[0053] コンテキスト判定コンポーネント310は、1つ以上の機械学習アルゴリズムを利用して、コンテキスト状況を認識し、これらを該当するコンテキスト・テンプレートと関連付けることができる。具体的には、コンテキスト判定コンポーネント310は、ユーザー・データー・ストア314に格納された種々のユーザー特性を入力して、該当するコンテキストを識別するのに役立てることもできる。このように、ユーザーの過去の挙動および好みをコンテキスト判定プロセスに組み込むことができる。
【0036】
[0054] コンテキスト・データー・ストア312は、コンテキスト特性および付加情報を格納する。コンテキスト特性は、コンテキスト・テンプレートとして判定または格納されてもよい。一実施形態では、ユーザーについてのコンテキスト用法(context usage)がコンテキスト・データー・ストア312に格納される。言い換えると、共通して使用される殆どのコンテキストを特定のユーザーに対して確認し、コンテキスト判定を明確にするために今後使用することができる。コンテキスト・データー・ストア312は、1つの計算デバイスに存在するのでも、ホーム・エリア・ネットワーク、ローカル・エリア・ネットワーク、またはワイド・エリア・ネットワークにおいて接続された多数のデバイスを含む多数のデバイスに跨がって分散されるのでもよい。コンテキスト・データー・ストア312と関連するデーターは、部分的にクライアントにそして部分的にサーバーに存在してもよく、またそうでなければ多数のデバイスに跨がって分散されるのでもよい。
【0037】
[0055] 物体認識コンポーネント318は、画像データーを使用して、部屋内にある無生物物体を認識する。これは、人認識コンポーネント316を使用して人々が認識されるのとは対照的である。物体認識コンポーネント318は、ゲームの物体または現在のコンテキストを判定するのに特に興味深い他の物体を認識することができる。例えば、物体認識コンポーネント318は、テニスのラケットまたは魔法使いの帽子というようなゲームの物体を認識するのでもよい。テニス・ラケットを認識したときには、ユーザーがこのラケットを使用してプレーすることができるモードで、テニス・ゲームを直ちに開くことができる。魔法使いの帽子の例では、本発明の実施形態は、ユーザーのお気に入りのゲームの中から魔法使いを含むものを選択し、この帽子に基づいてキャラクターを選択することができる。異なるキャラクターを有するゲームでは、衣服またはゲーム装備の内異なる目立つものを、そのゲームを自動的に開くため、あるいは特定のキャラクターを選択するための合図として使用することもできる。
【0038】
[0056] 他の実施形態では、物体認識コンポーネント318は、ユーザーが対話処理している種々の物体を認識し、該当するコンテキストを確定する。例えば、ユーザーがコーラをユーザーの右手で飲んでいる場合、左手でジェスチャーを行うことを望み、コーラを下に置くことは望まないであろう。この場合、ジェスチャー・インターフェースは、左手での使用に最適化されるとよい。
【0039】
[0057] デバイス認識コンポーネント320は、専用デバイスおよびコンパニオン・デバイスを含む、制御入力デバイスを認識する。異なるデバイスは、物体認識コンポーネント318によって使用される画像データーと同様の画像データーを使用して認識されるが、コンパニオン・デバイスおよび専用デバイスから受信した信号データーを利用することもできる。信号データーは、カメラ・データーと組み合わせて使用されて、環境内部にある特定のデバイスを識別することもできる。例えば、様々なゲーム・コントローラーが同様に見えることがある。しかしながら、ボタンを押すまたはジョイスティックを動かすというような、ユーザーの対話処理を示すカメラ・データーを使用すると、画像と制御データーとを相関付けることによって、特定のコントローラーを識別することができる。一実施形態では、人認識コンポーネント316は、特定の人またはユーザーを特定のデバイスと関連付けるために利用される。このように、単にコントローラーを手に取ることによって、プレーヤーを彼らの最後の進展地点(progress point)に連れて行くことができる。
【0040】
[0058] コンパニオン・デバイスを使用すると、ログイン・データーおよび他のユーザー特性も評価して、デバイスを、主デバイス上にアカウントを有する特定の人またはプレーヤーと関連付けることもできる。加えて、ゲーム・コントローラーと同様、観察されるユーザーのデバイスとの対話処理を、デバイスから受信した制御データーと同期させて、そのデバイスを環境内に特定の人と共に置くことができる。
【0041】
[0059] インターフェース・アクティブ化コンポーネント322は、コンテキスト判定コンポーネント310によって判定されたコンテキストのために、該当するインターフェースをアクティブ化する。一実施形態では、インターフェース・アクティブ化コンポーネント322は、しかるべきときには、アクティブなアプリケーションと通信し、そのコンテキストにおいて使用されるべき新たなインターフェース設定値を供給する。インターフェース設定値は、コンテキスト・テンプレートから引き出されてもよい。
コンテキスト・インターフェース
[0060]
図4および
図5は、ユーザーのコンテンツとの対話処理方法における変化を検出することに基づいてインターフェースを自動的に最適化する、本発明の一実施形態を示す。ユーザーの対話処理方法は、コンテキストの一例である。インターフェースと対話処理するためにユーザーによって採用される入力メカニズムに応じて、異なるインターフェースを最適化することもできる。例えば、深度カメラによって設けられるような、最適化ジェスチャー・インターフェースは、大きなボタン、および他の大きなインターフェース・オブジェクトを含む。対照的に、更に粒度が高い制御に備えるタッチ・スクリーン、ジョイスティック、プッシュ・ボタン、または他のコントローラーは、より多くの情報およびより小さな対話処理オブジェクトを示すことができるであろう。
【0042】
[0061]
図4は、ソファに座り、ディスプレイ・デバイス400上に表示されたインターフェース415と対話処理するユーザー405を描画する。入力メカニズムは、カメラ410によって取り込まれる動作域(performance area)を有するジェスチャー・インターフェースである。ユーザー405は、彼らの手、脚、身体全体、またはその組み合わせでジェスチャーを行って、ボックスE、F、G、およびHのようなインターフェース・オブジェクトを操作する。
【0043】
[0062]
図5は、ユーザー405がゲーム・コントローラー510を手に取ったことを除いて、同様の場面を示す。本発明の実施形態は、ゲーム・コントローラーに限定されるのではない。ユーザーは、タブレットまたはスマート・フォンのような、コンパニオン・デバイスを手に取ることもできる。見て分かるように、新たなインターフェース515は、ゲーム・インターフェース510と互換性がある追加の選択肢を提供する。例えば、ユーザーは、コントローラーのAまたはBボタンを押すことによって、水平方向にスクロールすることができる。加えて、ボックスE、F、G、およびHは、コントローラーによって選択し易いので、これらの方が小さく、ユーザーがジョイスティックまたは上下矢印によってセレクターまたはカーソルを操作することを可能にする。
【0044】
[0063] 本発明の実施形態は、2つのステップを伴う。第1ステップは、ユーザーが彼らのインターフェース対話処理方法を変更したことを検出することである。例えば、ユーザーがジェスチャーからコントローラーに切り替えるときに、アクティブなコンテンツを更新することができる。第2ステップは、新たな入力方法に対処するために、ユーザー・インターフェースを更新することである。様々な異なる検出方法を使用することができる。例えば、能動的にユーザーを追跡し、彼らが現在使用している入力方法は何か観察するために、カメラが使用されてもよい。一例では、深度カメラが、ユーザーの入力または対話処理方法を識別し追跡するために使用されてもよい。視覚系システムが、入力デバイス上において特定のマーカーを検出し、それがタブレット、スマート・フォン、TVリモコン、またはゲーム・コントローラーの内どれなのか判定するために使用されてもよい。
【0045】
[0064] また、本システムは、ユーザーが保持しているデバイスのタイプも判定する。アルゴリズム、例えば、機械学習深度形状検出器が、ユーザーによって保持されているデバイスのタイプを判定するために使用されてもよい。潜在的に、システムがデバイスを区別し易くするために、一連の一意のマーカーまたは内部センサー(internal sensor)がデバイス内またはデバイス上に置かれる。システムが、2つのゲーム・コントローラーのような、2つの同一デバイス間で効果的に区別するのを補助するために、他のマーカーを追加することもできる。入力デバイスの内部にあるセンサーの数および位置のために、異なるデバイスが異なるジャイロスコープ出力または加速度出力を生成することもある。この出力は、パターンを形成することができる。ユーザーが手に取ったデバイス内部における、ジャイロスコープのような内部センサーの読み取り値を、既知のパターンのライブラリに相関付け、ユーザーが保持している正確な外部入力デバイスを判定するために使用することもできる。
【0046】
[0065] また、検出は、デバイスによって送信される無線信号内においてデバイス識別情報を評価することによって行うこともできる。コントローラーまたは他のデバイスと、ユーザー・インターフェースを制御する計算デバイスとの間における通信セッションの開始(opening) が、デバイス識別情報を含んでもよい。例えば、既に説明したように、コンパニオン・デバイスがゲーム・コンソールに接続するのでもよい。この接続のときに、ゲーム・コンソールおよびコンパニオン・デバイスが通信することができる。この接続は、ユーザーがコンパニオン・デバイスを能動的に使用していなくても、開いていてもよい。つまり、ユーザーがコンパニオン・デバイスを手に取ったときに、ユーザーがジェスチャー・インターフェースから移行したことを、深度カメラは検出することができる。
【0047】
[0066] カメラは、ユーザーとの開いた通信セッションを有する1つ以上のコンパニオン・デバイスと対応する(conform)デバイスをユーザーが手に取ったという広い判定を行うことができる。次いで、カメラは、このデバイスから受信した入力を、検出した動きと相関付けることができる。例えば、カメラは、開いた接続(open connection)を通じてタッチ・スクリーン入力が受け取られたのと同時に、ユーザーがコンパニオン・デバイス上のタッチ・スクリーンをタッチしていたと判定することができる。この時点で、ユーザーが特定のコンパニオン・デバイス入力体験に移行したという決定的な判定を下すことができる。この判定を下したときに、ユーザー・インターフェースを、コンパニオン・デバイスとの対話処理に最適化されたものに移行させることができる。
【0048】
[0067] コンパニオン・デバイスを検出するために使用される方法そのものには関係なく、次のステップでは、ユーザー・インターフェースを変更する。一旦、ユーザーが新たな入力デバイスを使用している(engage)ことをシステムが判定したなら、新たな入力を反映するために、それに応じてUIが通知および更新される。例えば、ジェスチャー制御および音声制御をサポートするデバイス上でユーザーが映画を見ているとき、ユーザーは彼らの音声および手のジェスチャーを使用してユーザー・インターフェースをナビゲートするかもしれない。ユーザーが映画(film)を見るのに飽きて、代わりに何かを再生するためにコントローラーを手に取ることを決心した場合、コンテキスト変化が検出される。一旦ユーザーがコントローラーを手に取ったことをシステムが検出したなら、コントローラー・ナビゲート可能なユーザー・インターフェースが現れ、ユーザーが1組のコントローラー・ベースのゲームを起動することが可能になる。
【0049】
[0068] 他の例では、ユーザーが、主にコントローラーによって制御されるゲームをプレーしているが、タブレットのような、追加情報を表示する副デバイスを有する。タイトルと対話処理している間に、ユーザーがタブレットを手に取り、タイトルは、地図または項目管理画面のような、タブレット体験を増強するディスプレイに自動的に切り替わる。この例は、ユーザー・インターフェースが、利用可能なサイズまたは制御手段に関して最適化されるだけでなく、ユーザーが新たなコントローラーを手に取ったときに実行されそうなタスクに基づいて、異なるコンテンツを有する完全に異なるインターフェースを生成することに関しても最適化されるような方法で移行できることを示す。つまり、入力デバイスの能力、および恐らくはそのデバイスによって実行されるタスクに基づいて、UIを最適化することもできる。ユーザーのコントローラーおよびデバイスの使用履歴を分析して、最適なユーザー・インターフェースを決定してもよい。
【0050】
[0069]
図6、
図7、および
図8は、異なる入力と対話処理するために最適化されたヘルプ・インターフェースを示す。前述のように、入力はインターフェースが最適化されるコンテキストの特性である。
【0051】
[0070]
図6では、本発明の一実施形態にしたがって、ゲーム・コントローラー510に最適化されたヘルプ・インターフェースについて説明する。見て分かるように、ユーザー405が、ゲーム・コントローラー510を使用して、インターフェース615と対話処理しようとしている。アクティブな入力メカニズムは、カメラ410によって収集された画像データーと、ゲーム・コントローラー510から受信した信号データーとの組み合わせによって確認することができる。見て分かるように、インターフェース615は、「もっと多くの情報が欲しい場合Aを押して下さい」と述べるヘルプ・メッセージ630を含む。「A」は、ゲーム・コントローラー510上にあるボタンにつけた名称を表す。ユーザーは、特定のコンテキストにおいてAを押すことによって、メニューまたは異なるインターフェースにアクセスすることができる。インターフェース615内に示される全体的なメディアの提示は、コンテキスト毎に変化しなくてもよい。例えば、示される車がコマーシャルまたは映画の一部である場合、その外観はコンテキスト間で同じままであってもよい。インターフェース615のヘルプ・オーバーレイおよび他の対話処理フィーチャーは、コンテキストと共に変化することもできる。
【0052】
[0071] これより
図7に移り、本発明の一実施形態にしたがって、オーディオ制御に最適化されたヘルプ・インターフェースを示す。
図7のフィーチャーは、
図6を参照して既に説明したものと同様である。しかしながら、ユーザー405はもはやコントローラーを保持していないことに注意されたい。図示しないが、ユーザーは、可聴インターフェース(audible interface)をアクティブ化することを示すためにコマンドを発話しているのでもよい。インターフェース715は、「もっと多くの情報が欲しい場合「もっと」と言って下さい」と述べるヘルプ・インターフェース730を含む。最適化オーディオ・モードでは、ユーザーに利用可能である種々のオーディオ・コマンドを、ユーザーが完了しようとしているように見えるタスクに基づいて、示唆することもできる。
【0053】
[0072] これより
図8に移り、本発明の一実施形態にしたがって、コンパニオン・デバイスとの使用に最適化されたヘルプ・インターフェースまたはオーバーレイを示す。インターフェース815は、
図6および
図7を参照して既に説明したインターフェースと同様であるが、「もっと多くの情報が欲しい場合、タブレット上の「車」アイコンを選択して下さい」と述べるヘルプ・オーバーレイを含む。このメッセージは、ユーザーのコンパニオン・デバイス810上に現在表示されているアイコンを指す。このヘルプ・オーバーレイは、ユーザーがインターフェースを制御するために使用しようとしているデバイスのタイプだけでなく、デバイス上に現在表示されているコンテンツも考慮する。コンテキスト・インターフェースは、コンパニオン・デバイス810上で実行しているアプリケーションと、インターフェース815を生成したデバイス上で実行しているアプリケーションとの間で状態情報を交換することによって構築することができる。
【0054】
[0073] カメラ410は、ユーザーが実際にコンパニオン・デバイス810を保持しており、コンパニオン・デバイス810との使用に最適化されるようにインターフェースが変更される前に、それを制御メカニズムとして使用する気があることを判定するために使用することもできる。たとえば、コンパニオン・デバイス810がテーブル上に置かれている場合、ユーザーによって保持されているときとでは、コンテキストは別にすることができる。
【0055】
[0074] これより
図9に移り、本発明の一実施形態にしたがって、ゲーム環境内部の人の位置に基づいて最適化されるコンテキスト・インターフェースを示す。
図9は、ディスプレイ・デバイス900上に表示されたビデオ・ゲームをプレーするプレーヤー924および922を含む。ディスプレイ・デバイス900は、テレビジョンであってもよい。各プレーヤーは、彼ら自身の分割画面インターフェースと関連付けられる。プレーヤー922は、分割画面インターフェース912と関連付けられ、プレーヤー924はインターフェース914と関連付けられる。
【0056】
[0075] カメラ910は、深度カメラ、または人々および物体を認識するために使用することもできるデーターを生成することができる他のデバイスでもよい。矢印は、プレーヤー922および924が場所を交替すると、分割画面インターフェース912および914の場所が切り替わることを示す。この移行は、コンテキストが変化したと判定したときに、自動的に行うことができる。この場合、コンテキストの変化は、2人のプレーヤーの位置変化である。このように、プレーヤーは、彼らの動きとは関係なく、彼らが対話処理している分割画面インターフェースの直視野に常に露出される。
【0057】
[0076] ゲーム・プレー中における異なるインターフェース位置間の移行に加えて、人の認識を行い、ゲームにおいてどの人がどのユーザー・ファイルと関連付けられているか判断することによって、ゲーム・プレーの前に初期設定を最適化することもできる。図示しないが、プレーヤー922および924が、ビデオ・ゲームと対話処理するために、ゲーム・コントローラーまたはコンパニオン・デバイスを使用している可能性もある。他の実施形態では、彼らがビデオ・ゲームをプレーするためのオーディオ制御にジェスチャーを使用している場合もある。いずれにしても、彼らの相対的な位置を識別し、それに応じてインターフェースを最適化することができる。
【0058】
[0077] これより
図10および
図11に移り、本発明の一実施形態にしたがって、右利きまたは左利きの使用に最適化されたユーザー・インターフェースを示す。
図10は、ディスプレイ・デバイス1000上に示されたコンテンツを視聴する人1040を示す。このコンテンツは、主表示1020と、補助コンテンツ・ウィンドウ1030とを含む。補助コンテンツ・ウィンドウ1030は、選択可能なオブジェクト1032、選択可能なオブジェクト1034、および選択可能なオブジェクト1036を含む。アイコンおよびボタンは、選択可能なオブジェクトの例である。カメラ1010は、人々および物体を識別するために使用されるデーターをキャプチャすることができる。加えて、ジェスチャーに関連する動きというような、人の動きを判定するためにこの情報を使用することもできる。この場合、左側の選択可能なボタンであるインターフェースは、左手のジェスチャーとの使用に最適化される。見て分かるように、プレーヤー940はジェスチャーを行うために、彼の左手1042を上げている。
【0059】
[0078] ユーザーの利き手が右手かまたは左手かは、多数の異なる方法で確認することができる。一実施形態では、ユーザーの履歴を分析して、彼らの利き手が右手かまたは左手かを確認する。右利きまたは左利きであることが分かっているユーザー、あるいはジェスチャーを行うときに彼らの右手または左手を最も頻繁に(most frequently)使用することが分かっているユーザーには、彼らの利き手に対して最適化されたインターフェースが自動的に提示される。
【0060】
[0079] 以前の使用に加えて、現在のユーザーの状況を評価して、ユーザーがどちらの手を使用しそうか判定することもできる。一実施形態では、ユーザーは、現在異なる使用のために置かれている手を使用しそうもないと見なされる。例えば、その手がめがね、電話機を保持している、またはその手がポケットに入っている場合、ユーザーは左手を使いたいという仮定を行うことができ、左利きに最適化されたインターフェースが提示される。右利きまたは左利きに関連するコンテキスト・テンプレートは、ユーザーがどちらの手を使いそうか判定するために、多数の要因を調べることができる。
【0061】
[0080] これより
図11に移り、
図10に示した同じインターフェースを示すが、ここでは右手の使用に最適化されることを除く。見て分かるように、ユーザー1040は彼の右手1044を上げて、表示と対話処理するためにそれを使っている。一例では、ユーザーのジェスチャーが他の人と干渉することを先読みして、右利き用または左利き用インターフェース(right-handed or left-handed interface)が提示される。例えば、画像データーから、ユーザーが彼の右手でジェスチャーを行うために、他の人の顔の前に彼の右手を差し出さなければならなさそうである場合、ユーザーに彼の左手を使う気にさせる(encourage)ために、左利き用インターフェースを提示すればよい。他の実施形態では、ユーザーの右手の前に立っている他の人または物体によって、ユーザーの右手がカメラ1010の視野から遮られそうな場合、左手を使う気にさせて、干渉物体によって生ずる遮蔽問題を回避するために、この場合も左利き用インターフェースが提示される。このように、コンテキスト判定は、環境コンテキストにおいて検出された問題を回避するように最適化されるインターフェースを作成することによって、問題を回避しようとすることができる。
【0062】
[0081] これより
図12に移り、本発明の一実施形態にしたがって、対応するインターフェースを生成するための、環境内における物体または衣服の識別を示す。
図12において、ユーザー1220は、ディスプレイ・デバイス1200およびカメラ1210の前で、テニス・ラケット1222を振り上げる。カメラ1210は、テニス・ラケット1222および恐らくは人1220を認識するために使用される画像データーをキャプチャする。応答して、テニス・ゲームが自動的にインターフェース1212において示される。これによって、ユーザーは、仮想テニス・ゲームをプレーするために種々のインターフェースにわたってナビゲートしなくても済む。これは、ユーザーがインターフェースの前にテニス・ラケット1122を持って現れる理由として、最もありそうなことであろう。代わりに、人1220がテニスを見たいことの合図として、テニス・ラケットを使用することもできる。コンテキストを明確にするために、ユーザーの好みおよび視聴履歴を使用してもよい。
【0063】
[0082] 他の実施形態では、衣料品が認識され、コンテキストを確定ししかるべきインターフェースを提示するために使用される。一実施形態では、テニスのジャージが認識され、ビデオ・ゲームにおいて同様の色のジャージを自動的に選択するために、または全く同じチームでさえも自動的に選択するために使用される。例えば、NFLチームを有するビデオ・ゲームが開始され、ユーザーが彼らのジャージ上に示された彼らのチームをプレーさせることもできる。多数のプレーヤーがいる設定では、多数の人々に、彼らのジャージと対応するチームを割り当てることができる。正確な一致が可能でない場合、彼らが制御しているチームに同様の色を自動的に割り当てるのでもよい。
【0064】
[0083] 衣服から識別されたチームを伴う進行中のスポーツ・イベントというような、他のコンテキスト要因に依存して、そのスポーツ・イベントの提示をユーザー・インターフェース上に自動的に提示することもできる。例えば、ある人のジャージ上に示されたチームを伴うサッカーの試合が現在視聴可能である場合、それを示すこともできる。試合が進行中であるが、例えば、ユーザーの視聴契約(cable package)のために現在利用できない場合、特定の視聴契約に登録するというような、試合を視聴するためのメカニズムをユーザーに提示し、自動的に設定するのでもよい。あるいは、試合の更新を示すウェブ・ページを自動的に表示してもよい。
【0065】
[0084] ビデオ・ゲームのプレーおよび試合視聴のコンテキストを明確にするには、関連するチームが関与するスポーツ・イベントが入手できるか否かを基準にしてもよい。つまり、コンテキスト要因は、現在の環境において単に行われていることよりも多くを含むことができるが、ユーザーにとって関心があるかもしれない種々のコンテンツ、または特定の時点においてユーザーに入手可能になるかもしれない種々のコンテンツの評価を含んでもよい。多数のコンテキストが利用可能である場合、ユーザーの以前の視聴履歴が、選択を明確にするのに役立つことを考慮してもよい。また、ユーザーに代わりのインターフェースを提示してもよい。例えば、ユーザーが、彼らのチームがプレーしている最中の試合(ongoing contest)を見たいのか、またはビデオ・ゲームをプレーしたいのか、ユーザーに尋ねることができる。
【0066】
[0085] 他の実施形態では、種々のビデオ・ゲームに関連する衣服を使用して、自動的にキャラクターまたは種々の入手可能なゲームを選択することもできる。例えば、魔法使いの帽子をかぶっている人には、魔法使いが関係するゲームを彼が開始するときに、魔法使いのキャラクターを自動的に割り当てることもできる。軽微な変形では、魔法使いの帽子をかぶっていることに応答して、特定のキャラクターを選択することなく、魔法使いが関係するゲームを開くこともできる。魔法使いが関係するゲームが多数入手可能なとき、魔法使いが関係するゲームの内最後にプレーされたものを選択して提示するのでもよい。
コンテキスト・インターフェースの生成方法
[0086] これより
図13に移り、本発明の一実施形態にしたがって、現在のコンテキストに最適化されたインターフェースを提示する方法を示す。方法1300のインターフェースは、テレビジョン、モニター、または他のディスプレイ・デバイス上に表示されるコンピューター・インターフェースとすればよい。このインターフェースは、ゲーム・コンソール、メディア・プレーヤー、パーソナル・コンピューター、または他の同様のデバイスによって生成されればよい。
【0067】
[0087] ステップ1310において、ユーザー・インターフェースに近接する環境を描画する画像データーを分析することによって、ユーザー・インターフェースに対して現在のコンテキストを判定する。一実施形態では、ユーザー・インターフェースに近接する環境は、画像データー内に描画された空間のボリュームである。他の実施形態では、環境は、画像データーによって取り込まれたエリアの背後に広がり、室内あるいは家屋またはアパートのような住居内におけるような、物理的境界によって区切られる。これらの他のエリアは、画像データーをキャプチャするカメラの視野内には入らないかもしれないが、環境内にあるデバイスからの信号や、カメラの視野内に入らないユーザーからの可聴コマンドも受信することができる。一実施形態では、画像データーは、深度カメラによってキャプチャされるような、三次元画像データーである。画像データーは、深度クラウドとして記述されてもよい。三次元画像データーは、物体の大きさ、形状、および動き(motion)を、そのデーター内において検出することを可能にする。ユーザーによって行われたジェスチャーを認識するために、深度クラウド(depth cloud)を使用してもよい。ジェスチャーは、手の動き、身体の動き、顔の表情、またはインターフェースを制御するためにジェスチャー解釈コンポーネントによって認識される他のアクションであってもよい。
【0068】
[0088] ステップ1320において、現在のコンテキストによって最適化されたユーザー・インターフェースを生成する。このユーザー・インターフェースは、表示のためにユーザーに出力される。ユーザー・インターフェースを最適化する種々の方法については、既に説明した。例えば、ユーザー・インターフェースは、特定の制御モードでの使用に対して最適化することもできる。種々の制御モード内において、ユーザーがそのインターフェースによって完了しようとしているタスクを予想して、それに応じてユーザー・インターフェースを更新することもできる。意図されたタスクは、環境を評価することによって導かれるコンテキストの一部である。また、環境における物体とのユーザーの対話処理も、コンテキストを判定するために使用することができる。
【0069】
[0089] これより
図14に移り、本発明の一実施形態にしたがって、現在のコンテキストに最適化されたインターフェースを提示する方法1400を示す。ステップ1410において、ユーザー・インターフェースに近接するユーザーのアクションを分析することによって、ユーザー・インターフェースに対する現在のコンテキストを判定する。このアクションには、インターフェースによる制御モードの使用が含まれる。制御モードの例には、ジェスチャーの使用、コンパニオン・デバイスの使用、専用デバイスの使用、および可聴制御(audible control)が含まれる。現在のコンテキストは、特定の制御モードよりも粒状(granular)であってもよい。例えば、ジェスチャー制御モード内において、右手によるジェスチャーまたは左手によるジェスチャーが好ましいことを、コンテキストが判定してもよい。
【0070】
[0090] ステップ1420において、現在のコンテキストに対して最適化されたユーザー・インターフェースを生成する。このユーザー・インターフェースは、表示のためにユーザーに出力される。現在のコンテキストに関してユーザー・インターフェースを最適化する方法については、既に説明した。
【0071】
[0091] これより
図15に移り、本発明の一実施形態にしたがって、現在のコンテキストに対して最適化されたインターフェースを提示する方法1500を示す。ステップ1510において、ユーザー・インターフェースに近接する環境を描画する画像データーを分析することによって、ユーザー・インターフェースに対する現在のコンテキストを判定する。現在のコンテキスト、および現在のコンテキストを判定するための画像データーの使用については、既に
図13を参照してそして他の場所で説明した。
【0072】
[0092] ステップ1520において、現在のコンテキストに対して最適化された現在のユーザー・インターフェースを生成する。現在のユーザー・インターフェースは、表示のために、ユーザーに出力される。
【0073】
[0093] ステップ1530において、ユーザー・インターフェースに近接する環境を描画する画像データーを分析することによって、ユーザー・インターフェースに対する新たなコンテキストを判定する。この画像データーは、新たなコンテキストが生ずる結果と成った、環境に対する変化を描画する。ステップ1540において、この新たなコンテキストに合わせて、ユーザー・インターフェースを自動的に最適化する。
【0074】
[0094] 以上、限定的ではなく例示的であるように、本発明の実施形態について説明した。尚、ある種の特徴およびサブコンビネーションは、有用であり、他の特徴やサブコンビネーションを参照することなく採用されてもよいことは理解されよう。これは、請求項の範囲によって想定されており、その範囲内に該当することである。