【文献】
WILSON Jeff et al.,SWAN: System for Wearable Audio Navigation,2007 11th IEEE International Symposium on Wearable Computers,日本,IEEE,2007年10月11日
(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0012】
本開示及び図面を通じて、同様のコンポーネント及び特徴を参照するために、同じ符号が使用される。100番台の符号は、最初に
図1に現れた特徴を指し、200番台の符号は、最初に
図2に現れた特徴を指し、300番台の符号は、最初に
図3に現れた特徴を指し、以降の符号も同様である。
【0013】
本開示は、次のように編成されている。セクションAは、ユーザーが現実空間及び/又は仮想空間とインタラクトするのを支援するシステムの概要を提供する。セクションBは、セクションAのシステムにおいて使用され得る異なるタイプのヘッドセット及びハンドヘルドユーザーコンピューティングデバイスを説明する。セクションCは、セクションAのシステムによって提供され得る例示的なユーザーインターフェイスエクスペリエンスを説明する。セクションDは、3次元音及び他の(非3次元の)タイプの音を生成して使用するための機能を説明する。セクションEは、1つの例示的な実施形態においては重なり合わないレンジを有する複数のビーコンが投入されている環境をユーザーがナビゲートするのを支援するビーコンベースのガイダンス機能を説明する。セクションFは、それ以前のセクションにおいて説明された特徴の任意の態様を実装するために使用され得る例示的なコンピューティング機能を説明する。
【0014】
前付として、図面の一部は、機能、モジュール、特徴、要素などと様々に呼ばれる1つ以上の構造的コンポーネントのコンテキストにおけるコンセプトを示している。図面に示される様々なコンポーネントは、例えばコンピューター機器上で実行されるソフトウェア、ハードウェア(例えばチップ実装ロジック機能)など、及び/又はそれらの任意の組合せによってなど、任意の物理的で有形な機構によって任意の方式で実装され得る。1つの場合において、図面における様々なコンポーネントが別個のユニットに分離されて示されているのは、実際の実施形態において対応する別個の物理的で有形なコンポーネントの使用を反映したものであり得る。代替的又は追加的に、図面に示される任意の単一のコンポーネントが、複数の実際の物理的コンポーネントによって実装されることもある。代替的又は追加的に、図面における任意の2つ以上の分離したコンポーネントが、単一の実際の物理的コンポーネントによって実行される異なる機能を反映していることもある。以下で説明される
図53は、図面に示される機能の1つの例示的な物理的実装に関する追加の詳細を提供するものである。
【0015】
他の図面は、コンセプトをフローチャートの形態で示している。この形態では、所定の動作は、所定の順序で実行される異なるブロックを構成するものとして示される。このような実施形態は、例示的且つ非限定的なものである。本明細書に記載の所定のブロックは、一緒にグループ化されて単一の動作で実行されることがあり、所定のブロックは、複数のコンポーネントブロックに分割されることがあり、所定のブロックは、本明細書で例示される順序とは異なる順序(それらのブロックを並列に実行する方式を含む)で実行されることがある。フローチャートに示されるブロックは、例えばコンピューター機器上で実行されるソフトウェア、ハードウェア(例えばチップ実装ロジック機能)など、及び/又はそれらの任意の組合せによってなど、任意の物理的で有形な機構によって任意の方式で実装され得る。
【0016】
用語について、「〜するよう構成され」という語句は、任意の種類の物理的で有形な機能が、特定された動作を実行するように構築され得る任意の態様を包含する。機能は、例えばコンピューター機器上で実行されるソフトウェア、ハードウェア(例えばチップ実装ロジック機能)など、及び/又はそれらの任意の組合せを使用して、動作を実行するよう構成され得る。
【0017】
「ロジック」という用語は、タスクを実行するための任意の物理的で有形な機能を包含する。例えば、フローチャートに示される各動作は、当該動作を実行するロジックコンポーネントに対応する。動作は、例えばコンピューター機器上で実行されるソフトウェア、ハードウェア(例えばチップ実装ロジック機能)など、及び/又はそれらの任意の組合せを使用して、実行され得る。ロジックコンポーネントは、コンピューティング機器によって実装されるときには、どのように実装されるかに関わらず、コンピューティングシステムの物理的一部分である電気的コンポーネントを表す。
【0018】
以下の説明は、1つ以上の特徴を「任意的」であるとして特定することがある。この種の記述は、任意的であると考えられる可能性がある特徴の排他的な示唆として解釈されるべきではない。すなわち、本明細書では明示的には特定されていないが、他の特徴も任意的であると考えられる可能性がある。さらに、単一のエンティティーといういかなる記載も、複数のそのようなエンティティーの使用を排除することを意図しているわけではなく、同様に、複数のエンティティーという記載も、単一のエンティティーの使用を排除することを意図しているわけではない。さらに、本明細書は、所定の特徴を、特定された機能を実行する又は特定された機構を実装する代替の態様として説明することがあるが、これらの特徴は、任意の組合せで一緒に組み合わされることもある。最後に、「例示的な」又は「例証的な」という用語は、潜在的に数多く存在する実施形態のうちの1つの実施形態を指すものである。
【0019】
A.システムの概要
図1は、ユーザー104が物理空間及び/又は仮想空間とインタラクトするのを支援するシステム102の概要を示している。物理空間は、例えば、1つ以上のビルディングの内部によって規定される室内空間、若しくは、ビルディングの内部の外側に存在する室外空間、又は、室内空間と室外空間との何らかの組合せ、に対応し得る。仮想空間は、例えば、任意の1つ以上のタイプの仮想オブジェクトが投入されている領域に対応し得る。いくつかのシナリオにおいて、仮想空間は、ユーザーが物理的に移動する可能性がある物理空間上に重ねられ得る。それらの場合には、仮想空間内のいくつかの仮想オブジェクトには、物理空間内の対応する現実位置(以下で明らかにされる)が割り当てられ得る。
【0020】
図1は、システム102において使用され得る例示的なコンポーネントを概括的に紹介する図である。これらのコンポーネントは、システム102の特定の実施形態によって、図示されるコンポーネントのうちの1つ以上が省略され得るという意味で、任意的である。追加的又は代替的に、システム102の特定の実施形態は、
図1には示されていない追加のコンポーネントを含むこともある。
【0021】
ユーザー104は、ユーザー104による1つ以上の空間の探索中に、任意のタイプのユーザーコンピューティングデバイス106(以下では簡潔に単に「ユーザーデバイス」と呼ばれる)及びヘッドセット108を介して、又はヘッドセット108のみを介して、システム102とインタラクトすることができる。ユーザーデバイス106は、任意のフォームファクターを有する任意のタイプのポータブルコンピューティングデバイスに対応し得る。例えば、ユーザーデバイス106は、スマートフォン、タブレット型コンピューティングデバイス、ラップトップコンピューティングデバイス、ネットブック型コンピューティングデバイス、メディア消費デバイス(ブックリーダー型コンピューティングデバイス又は音楽再生コンピューティングデバイスなど)、ポータブルゲームデバイス、及びウェアラブルコンピューティングデバイス(眼鏡、ゴーグルなど)などに対応し得る。他の場合(図示せず)において、ユーザー104は、スマートフォンとタブレット型コンピューティングデバイスとの組合せなど、2つ以上のユーザーコンピューティングデバイスを持ち運んで使用することもある。
【0022】
ヘッドセット108も、同様に、オーディオ情報をユーザー104に配信する任意のタイプのデバイスに対応し得る。1つの場合において、例えば、ヘッドセット108は、ユーザー104の片耳又は両耳の上又は近傍に配置される従来のスピーカーを使用して、オーディオ情報を配信することができる。別の場合において、ヘッドセット108は、骨伝導技術を使用して、オーディオ情報を配信することができる。骨伝導技術において、ヘッドセット108は、ユーザーの頭部の骨に与えられる振動を介して、ユーザーの鼓膜に情報を伝える。骨伝導を使用するヘッドセットは、ユーザー104の耳道を閉塞しないので、ユーザー104がナビゲートしている空間で生成された他の(外部の)音をユーザー104が聞くことを可能にする。この結果は、いくつかの場合において、特に視力障害のユーザーの場合及び馴染みのない環境にいるユーザーの場合には、ユーザーが物理環境とインタラクトする安全性を高めるために、望ましいことがある。
【0023】
1つの一般的な使用方式に従うと、ユーザー104は、ユーザーデバイス106とインタラクトして、空間とのユーザー104のインタラクションに関する情報を、主に視覚的な形態で受け取ることができる。追加的又は代替的に、ユーザーデバイス106は、触覚フィードバックキュー(例えば振動ベースのキューなど)を生成することによってなど、視覚的でない形態で情報を配信することもある。ユーザー104は、主として、ヘッドセット108とインタラクトして、空間とのユーザー104のインタラクションに関するオーディオ情報を受け取ることができる。このオーディオ情報は、発話情報、他の音などを含み得る。システム102はまた、ユーザーデバイス106若しくはヘッドセット108又はこれら両方から命令を受信することができる。
【0024】
ユーザー104は、任意的に、デスクトップコンピューティングデバイス、ゲームコンソールデバイス、及びセットトップボックスデバイスなどの1つ以上の従来の固定型コンピューティングデバイス110を介して、システム102とインタラクトしてもよい。例えば、ユーザー104は、旅行の前に、他のユーザーコンピューティングデバイス110を使用してシステム102とインタラクトして、空間を通る特定のルートを規定する旅程情報を作成することができる。ユーザー104は、次いで、その旅程情報を、ユーザーデバイス106及び/又はヘッドセット108にロードすることができる。旅行の後、ユーザー104は、他のユーザーコンピューティングデバイス110を介してシステム102と再度インタラクトすることができる。例えば、システム102は、完了した旅行に関する情報を他のユーザーコンピューティングデバイス110にダウンロードすることができ、ユーザー104がいつでも任意の目的のためにその旅行に関する情報を見直すことを可能にする。
【0025】
1つの場合において、システム102に関連付けられている全ての機能は、上記で特定されたコンポーネント、すなわち、ユーザーデバイス106、ヘッドセット108、及び他のユーザーコンピューティングデバイス110によって提供される処理機能によって実行される。別の場合において、1つ以上のリモート処理リソース112が、特に本質的に計算集約的である側面などの、システム102によって実行される処理の少なくともいくつかの側面を実施できる。例えば、リモート処理リソース112は、新たな旅程を作成する機能、既存の旅程を変更する機能、及びユーザーの発話命令を解釈する機能などを含み得る。1つの場合において、リモート処理リソース112は、1つ以上のサーバコンピューティングデバイス及び1つ以上のデータ記憶部などに対応し得る。
【0026】
システム102は、通信路114の任意の組合せを使用して、上述のコンポーネントを接続することができる。例えば、ユーザーデバイス106は、任意の無線通信機構を介して(例えばBluetooth(登録商標)通信を使用して)、且つ/又は、任意のハードワイヤード通信機構を介して(例えばUSB接続などを介して)、ヘッドセット108とインタラクトすることができる。ユーザーデバイス106及びヘッドセット108は、セルラー接続、Wi−Fi(登録商標)接続、若しくはハードワイヤード接続など、又はそれらの任意の組合せを介して、システム102のリモートコンポーネントと通信することができる。
【0027】
さらに、図示されていないが、ユーザーデバイス106は、ユーザーデバイス106の位置を判定するために、任意のリモートの位置判定システムとインタラクトすることができる。ヘッドセット108も、同じ機能を実行することができる。リモートの位置判定機構は、任意の衛星ベースの位置判定システム(例えばGPSシステム)及び地上通信タワーなどに対応し得る。さらに、ユーザーデバイス106及び/又はヘッドセット108は、任意の通信機構を介して(例えばBluetooth(登録商標)通信、Wi−Fi(登録商標)通信などを介して)ローカルビーコンとインタラクトすることもできる。
【0028】
本セクション(セクションA)の残りの部分は、システム102によって提供される機能の概要を提供するものである。後続のセクションは、このシステムの個々のコンポーネントに関するさらなる詳細を提供するものである。
【0029】
一般に、ユーザーは、ユーザーが馴染みがあろうがなかろうが任意のタイプの空間を移動するときにユーザーのエクスペリエンスを豊かにする手段として、システム102を使用することができる。1つのシナリオにおいて、例えば、ユーザーは、システム102を、所望のタイムテーブルに従った元の場所から目的の場所までの計画された旅行を行う際のガイドとして使用することができる。他の場合において、ユーザーは、より自由且つ自発的に、例えば予め計画された旅程及び/又はタイムテーブルなく、空間を探索する際の支援を提供するシステム102を使用することができる。例えば、ユーザーは、自分が馴染みのない町を歩き回るときに、又は、展示会又は博物館の展示物を見ながらぶらぶら歩くときに、支援を提供するシステム102を使用することができる。ユーザーは、固定された旅程なくこの活動を行うことができ、自分の旅行のコース及び目的を、自由且つ自発的に変更することができる。さらに別の場合において、ユーザーは、システム102を、馴染みのある環境内の馴染みのあるルートを活性化する(enlivening)手段などとして使用することができる。さらに別の場合において、ユーザーは、このシステムを、例えばユーザーのインタラクションのいくつかの側面が準備された計画に従い、他の側面がより自由且つ自発的な性質のものにするなど、混成的に使用することもできる。
【0030】
図2に進むと、この図は、ユーザーが
図1のシステム102を使用して予め計画された旅行を行う一例を示している。システム102が実行できる機能のタイプを読者に紹介するために、この旅行を行う際のユーザーの例示的なエクスペリエンスが、以下で説明される。この例示的なエクスペリエンスは、限定ではなく例示を意図して提示されるものであることに留意されたい。上述のように、システム102は、ユーザーが任意の目的のために自分の環境とインタラクトする多様な他のコンテキストにおいて適用され得る。
【0031】
図2の非限定的な場合において、ユーザー(ジョンという名前の男性)が、旅行に出る前に旅程を作成したと仮定する(ただし、再度、これは必ずしもそうであるとは限らない)。例えば、ユーザーが、ロンドンにある自宅から同じ市の別の場所にある予約した医者のところまで行くためのルートを作成したと仮定する。ユーザーがこのタスクのための旅程を作成したのは、自分が移動しようとしているこの市のこの場所に馴染みがないからであるのかもしれない。あるいは、ユーザーが、様々な移動に関する困難をもたらす1つ以上のハンディキャップを有しているのかもしれない。例えば、ユーザーは、任意の形態(及び程度)の視力障害を有しているのかもしれない。このコンテキストにおいて、ユーザーはそのルートに馴染みがある可能性があるとしても、ユーザーは、ルートをナビゲートする際に自分を支援するための旅程を作成した可能性がある。別の場合において、ユーザー以外の何らかのエンティティーが、ユーザーの代わりにその旅程を作成した可能性もある。このような場合において、計画された旅程は、その旅行の全ての側面を表す旅程情報によって規定される。
【0032】
図2は、具体的には、旅行の計画されたルート202を実線で表している。いくつかの場合において、ユーザーは、システム102を使用して、計画されたルート202にほぼ従うことができる。他の場合において、ユーザーは、例えば計画されたルート202沿いの障害物に遭遇した、又は何らかの理由で自分の移動のコースを変更しようと自発的に決定したなど、何らかの理由で、計画されたルート202から逸脱する可能性がある。例えば、この単なる例示的な場合において、ユーザーは、道沿いの店舗204を訪ねて何らかの商品(例えばサンドイッチなど)を購入するために、計画されたルート202から逸脱している。
図2は、ユーザーの実際のルート206を破線で表している。
【0033】
図2に示される場合における計画されたルート202は、本明細書ではウェイポイント(waypoint)と呼ばれる一連の過渡地点(w
1、w
2、w
3、w
4、及びw
5)又はステーション(station)によって規定される。例えば、ウェイポイントw
1は、ユーザーの旅行の開始地点に対応し、ウェイポイントw
5は、ユーザーの旅行の行き先に対応し得る。ウェイポイントw
2及びw
3は、2つの交差点に対応し得る。このような各交差点で、ユーザーは、第1の道路から第2の道路に移行する。ウェイポイントw
4は、ユーザーが自分の輸送モード(mode of transportation)を変更できる任意のステーションに対応し得る。例えば、ユーザーは、ウェイポイントw
4まで徒歩で移動することができる。ウェイポイントw
4は、予め定められたスケジュールに従って到着するシャトル208の到着をユーザーが待つシャトルステーションに対応し得る。ユーザーは、その後、シャトル208に乗ってウェイポイントw
5まで移動することができる。他の場合において、輸送モードは、列車、地下鉄、バス、路面電車、又は任意の私的輸送モード(例えば自家用車、自転車など)に対応し得る。
【0034】
したがって、計画されたルートは、一連のセグメント(s
1、s
2、s
3、及びs
4)を有するものとして概念化され得る。
図2の例は、簡略化された場合である。他の場合において、旅程は、これより多くのウェイポイント及び関連セグメントを含むこともある。また、この旅程は、輸送モードの任意の組合せを包含し得る。さらに他の場合において、旅程は、例えば開始ウェイポイント及び終了ウェイポイントしか含まないなど、
図2に示されるものほど複雑でないこともある。また、繰り返しになるが、他の場合において、旅程は、前もって規定されないこともある。
【0035】
本明細書で使用される「コンテキスト」という用語は、一般に、ユーザーが旅行を行う間又は他の形で環境とインタラクトする間に任意の所与の時点において直面する状況を指す。「状況」は、少なくとも、ユーザーがインタラクトしたいと望み得る環境の特徴、現在時刻(及び曜日)など、及び現時点においてユーザーが直面している目的などによって影響される。例えば、時点t
1において、ユーザーは、ウェイポイントw
1からウェイポイントw
2まで移動しようと試みてセグメントs
1を移動している。ユーザーの旅行のコンテキストc
1は、したがって、少なくとも部分的には、計画された旅程に沿ったユーザーの現在位置と、計画されたセグメントs
2につながるウェイポイントw
2に到達しようとするユーザーの努力と、によって規定される。他の時点におけるユーザーのコンテキストは、それらの時点においてユーザーが直面する環境と、それらの時点それぞれにおけるユーザーの局所的な目的と、に応じて異なる。
【0036】
計画されたルート202及び実際のルート206の上記の予備的な説明を踏まえて、次に、ユーザーがウェイポイントw
1からウェイポイントw
5まで移動するときの例示的なユーザーエクスペリエンスについて考える。一例において、ユーザーは、少なくともユーザーデバイス106を持ち運び、ヘッドセット108(
図1に示される)を装着していると仮定する。ユーザーデバイス106は、以下では、同デバイスへの言及を単純化するためにスマートフォンとして言及されるが、ユーザーデバイス106は、
図1を参照して上述した任意のタイプのデバイスを含み得る。さらに他の場合において、ユーザーは、ヘッドセット108のみを使用して(すなわち、スマートフォンを使用せずに)ナビゲートすることもできる。
【0037】
一般的な原理として、システム102は、ユーザーが自分の旅行を行うときに又は他の形で空間とインタラクトするときに、ユーザーの経路に沿った適切な局面において関連する情報をユーザーに与える。可聴形態、視覚的形態、及び/又は触覚的形態でユーザーに自動的に提示され得る情報の例が、本明細書では、関心項目(IOI)と呼ばれる。この機能を実行するために、システム102は、各時点におけるユーザーの現在のコンテキストを判定する。例えば、システム102は、各特定の時点におけるユーザーの位置及び向き(並びに任意的に動き)を検知する。システム102は、任意の技術又は技術の組合せを使用して、このタスクを実行することができる。このタスクの例が、
図3の説明のコンテキストにおいて、以下で提供される。システム102は、次いで、ユーザーの現在のコンテキストに関連するIOIを特定する。いくつかの場合において、例えば、システム102は、ユーザーがそのIOIに関連付けられている物理的オブジェクト(又は領域)から規定の距離内にいるという理由で、ユーザーの現在のコンテキストに関連するIOIを判定することができる。ここで、その距離は、予め規定されて記憶されている。システム102は、次いで、これらのIOIに関する情報をユーザーに配信する。以下でより詳細に説明されるように、ユーザーはまた、旅行中の後の時点において自分が直面することになる(又は直面する可能性がある)将来のコンテキストを手動で探索して、それらの状況に備えることができるようになる。
【0038】
システム102は、様々なソースから抽出された情報に基づいてIOIを提供することができる。例えば、システム102は、パブリックに利用可能な地図情報(米国ワシントン州レッドモンドのMICROSOFT(登録商標)社によって提供されるBING地図サービスによって提供される地図情報など)から、道路、自然物などの位置を判定することができる。システム102は、任意の公開されている住所録情報から、公的エンティティー及び私的エンティティー(例えば店舗、官庁など)の位置を判定することができる。システム102は、公共輸送スケジュール情報、公衆安全情報など、様々な公開されているソースから、関連するイベントの発生を判定することができる。システム102は、1つ以上のオンラインソーシャルネットワーキングアプリケーション、1つ以上のカレンダーアプリケーションなど、様々なサービスから、ユーザー関連情報を判定することができる。
【0039】
各IOIは、特定のトピック又は経験的焦点に関連する。IOIは、異なる説明的特徴に沿って、異なる方法で分類され得る。例えば、第1のクラスのIOIは、ユーザーが移動している又は他の形でインタラクトしている空間内の物理的オブジェクト又は物理的イベントに直接的にマッピングされる。例えば、このタイプのIOIは、ユーザーの近傍にある店舗、若しくはユーザーの前方にある開いたマンホール、又はユーザーが到達まで規定の距離内にいる次のウェイポイントなどに対応し得る。IOIの第2のクラスのIOIは、環境内の直接的な物理的対応物を必ずしも有さない。例えば、このタイプのIOIは、ユーザーがバス停に接近するときに再生される広告に対応し得る。この広告は、バス停の周りの空間に関連付けられ得るが、その他の点ではバス停自体の説明ではない。
【0040】
別の「仮想タイプ」のIOIは、ユーザーがコーヒースタンドに接近するときにユーザーの気を引くニュースの見出しに対応し得る。システム102は、ユーザーがコーヒーを飲む間にそのIOIを消費したいと望む可能性があるという前提に基づいて、そのIOIに関する情報をユーザーに提示することができる。別の仮想タイプのIOIは、ユーザーが地下鉄の駅を出るときにユーザーに配信される気象レポートに対応し得る。システム102は、ユーザーが駅を出るときに直面することになる天候にユーザーが備えたいと望む可能性があるという前提に基づいて、そのIOIに関する情報をユーザーに提示することができる。別の仮想タイプのIOIは、ユーザーが自宅に接近しているときにソーシャルネットワークアプリケーションから取り出されるメッセージに対応し得る。システム102は、ユーザーが自宅に入る前に家族の誰か又は友人から送信された任意のメッセージに追いついておきたいと望む可能性があるという前提に基づいて、そのIOIに関する情報をユーザーに提示することができる。ユーザーの現在の状況に密接に関係するがユーザーのすぐ近くにある実際のオブジェクト又はイベントを説明する役割を果たすものではないこともある何らかのタイプの情報(及び/又は機能とインタラクトする機会)をユーザーが受け取る多くの他のシナリオが想定されている。
【0041】
(上述の第1の「現実」クラス又は第2の「仮想」クラスのいずれかの)様々なIOIはまた、それらが空間の探索において果たす役割に基づいて分類され得る。例えば、IOIは、この特徴に沿って、ワーニングIOI、旅程IOI、コンテキストIOI、及び利用可能情報IOIなどとして分類され得る(ただし、これらのカテゴリーは、厳密には、相互に排他的なものではないこともある)。システム102は、ワーニングIOIに関する情報を送信して、旅行中にユーザーの安全に影響を及ぼす可能性がある出来事をユーザーにアラートする(ユーザーの前方に開いたマンホールがあるというインジケーションなど)。ワーニングメッセージは、はっきりしていて要領を得たものである。システム102は、旅程IOIに関する情報を送信して、ユーザーの旅行の進行に影響を及ぼす可能性がある出来事をユーザーにアラートする(次のウェイポイントが接近している又はバスが遅れるというインジケーションなど)。システム102は、コンテキストIOIをユーザーに送信して、ユーザーの関心を引く可能性がある、ユーザーの近傍のオブジェクト及びイベント(現実か仮想かは問わない)をユーザーにアラートする(ユーザーの旅程上でユーザーの前方にコーヒーショップがあるというインジケーションなど)。システム102は、利用可能情報IOIを自動的に配信するのではなく、利用可能情報IOIの存在をユーザーにアラートする。ユーザーは、次いで、この情報をオンデマンドで受け取る又は無視することを選択することができる。例えば、ユーザーは、ヘッドセット108上の適切な機能ボタンをタップすることによって、若しくは、ユーザーデバイス106によって提供される情報メニューを介して、又は、同等の音声コマンドを使用して、利用可能情報にアクセスすることができる。
【0042】
システムは、各IOIに関する情報を任意の方法で配信することができる。例えば、少なくとも一部のIOIについては、システムは、特徴的な音(telltale sound)を送信し、続いて発話メッセージを送信することによって、IOIを配信することができる。この予備的な音は、ユーザーが発話アナウンスを聞くように「耳を傾ける」、すなわち、発話アナウンスに注意を向けることができるようにする。この音は、その後に続く情報のタイプについてもユーザーにアラートして、ユーザーがそれに注意を向けるかどうかをユーザーがより良好に判断できるようにする。例えば、ユーザーは、旅程情報には高い注意を向けるが、コンテキスト情報(例えばユーザーの近傍の店舗又はユーザーの現在の状況に関する販売促進提案に関する情報など)にはそれほど注意を向けないことを選択することができる。
【0043】
旅行中の任意の時点において、ユーザーは、最も直近に音読された1つ以上の旅程IOI(及び/又は他のタイプのIOI)に関する情報を聞く要求を行うことができる。この要求は、後述されるように様々な方法で行われ得る。ワーニングが最近30秒以内に音読されている場合には、システム102は、ユーザーのこのアクションに応答して、ワーニングを繰り返し、続いて旅程情報を繰り返すことになる。いくつかの場合において、ユーザーは、情報を繰り返すことをシステム102に要求することがあるが、この情報がもはや利用可能ではなくなっていることもある。システム102は、適切な音を再生し、続いて「情報は現在利用可能でありません」などの発話メッセージを再生することにより、この状況をユーザーにアラートすることができる。
【0044】
別の一般的な特徴として、システム102は、ユーザーに環境からの他の多くの検知情報が与えられていないと予想されるときに、いくつかのIOIに関する情報を自動的に提示することができる。例えば、システム102は、ユーザーが安全且つ楽しんで情報を消費することができる、計画されたルートに沿った規定の「静かなゾーン(quite zone)」にユーザーが到達するまで、計画されたルート202に関するメッセージをユーザーに送信することを控えることができる。システム102は、「静かなゾーン」と考えられる領域の位置を予め記憶することができる。
【0045】
次に、
図2に示される空間をナビゲートする間のユーザーの具体的なエクスペリエンスについて、より詳細に考える。時点t
1において、ユーザーが第2のウェイポイントw
2に到達しようと試みていると仮定する。ユーザーの位置(及び向き)を検知した後、システム102は、ユーザーが第2のウェイポイントw
2に到達するのを支援する(視覚的形態及び/又は可聴形態の)指示をユーザーに送信することができる。さらに、システム102は、ユーザーが第2のウェイポイントw
2から規定の距離内にいるときに、第2のウェイポイントw
2自体に関する情報をユーザーに送信することができる。これは、第2のウェイポイントw
2が伴う可能性のある任意のコース変更に対してユーザーが適切な準備をすることを可能にする。上述の情報は、主に旅程IOIとして編成され得る。
【0046】
所定の状況において、ユーザーの実際の旅行は、例えば実際に取られるルート及び/又はユーザーが空間を移動するタイミングなどについて、計画された旅程から逸脱する可能性がある。これらの状況に対処するために、システム102は、ユーザーの現在の状況がユーザーの旅程の何らかの残りの部分に影響を及ぼすことになるかどうかを、自動的に(又はオンデマンドで)判定することができる。例えば、システム102は、バス停へのユーザーの推定到着時間を更新し、次いで、ユーザーが引き続き時間通りに到着して、予め特定されているバス又はシャトルに乗ることができるかどうかを判定することができる。ユーザーの現在の状況がこのようにユーザーの旅程に影響を及ぼす場合には、システム102は、ユーザーが空間内をナビゲートするのを支援するために使用される情報を自動的に再生成することができる。この情報は、IOIの新たなセットと表現されることがある。例えば、システム102は、後のバス又はシャトルに乗るようにユーザーに勧めることができる(また、自動的に適切な予約を行い、適切な通知を送信し、且つ/又は他の手配を行うことができる)。さらに、上述のように、ユーザーは、例えば将来遭遇することになるウェイポイントに関する情報を明示的に要求することによってなど、任意の方法で、更新された情報を探索することができる。
【0047】
図2はまた、時点t
1において、システム102が、コンテキスト的性質の様々な関心項目(IOI)(すなわち、上記の記載では、「コンテキストIOI」)の存在を自動的にユーザーに通知することを大まかに示している。例えば、例示的なコンテキストIOIは、店舗、レストラン、官庁、自然のランドマークなどに対応し得る。1つの場合において、システム102は、コンテキストIOIが現在ユーザーから規定の距離内にあり、ユーザーがまだそのコンテキストIOIを通り過ぎていない場合にのみ、ユーザーの検討のためにコンテキストIOIを提示することができる。
【0048】
ユーザーは、(コンテキストIOI及び/又は任意の他のタイプのIOIに関して)任意の方法でシステム102の挙動をカスタマイズすることができる。例えば、ユーザーは、例えば自分は第1のタイプの店舗に関する情報は受け取りたいが、第2のタイプの店舗に関する情報は受け取りたくないということを示すことによって、自分が自分のルートに沿って受け取りたいと望むプロンプトのタイプを指定することができる。ユーザーは、自分が情報を受け取りたいタイミングを指定することもできる。例えば、ユーザーは、自分にコンテキストIOIの存在が通知されるときに考慮されてほしい(自分の現在位置からの)最大距離を指定することができる。ユーザーは、旅行に出る前に、これらの設定を行うことができる。さらに、ユーザーは、例えばシステムから自動的に提供される情報の量を低減させることなどにより、旅行の途中でシステムによって配信される情報のタイプ及び量を動的に変更することができる。ユーザーは、旅程に沿った特定の局面において情報が不要である又は邪魔であると思ったことを理由として、情報の量を低減させることを選択することがある。
【0049】
システム102は、任意の特定用途に合わせた方法でコンテキストIOIに関する情報を提示することができる。例えば、1つの場合において、システム102は、コンテキストIOIの集合を、それらがユーザーの前に現れる順序で、(例えば基本的にユーザーが掃引の起点に位置するものとして角度掃引を形成することによって)左から右に又は右から左に、又は(ユーザーからの距離の観点で)前方から後方に又は後方から前方に、アナウンスすることができる。上述のように、1つの実施形態において、システム102は、各アナウンスの前に、コンテキストIOIに関する情報がその後に続くことをユーザーにアラートする特徴的な音を発することができる。システム102は、次いで、例えば「ジェーンのコーヒーショップ、150フィート」とアナウンスするオーディオ情報を提供することによって、コンテキストIOIを説明することができる。システム102は、代替的に、レストランの場合には第1のタイプの予備的な音を提供し、バス停の場合には第2のタイプの予備的な音を提供することなどによって、異なるタイプの設立物に関連付けられている異なる予備的な音を提供してもよい。
【0050】
いくつかの場合において、現在時点においてユーザーの近傍に大量のコンテキストIOIが存在することがある。ユーザーに与えられる情報の量を低減させるために、システム102は、「複数のレストラン、およそ100フィート」とアナウンスすることなどにより、この情報を1つ以上のサマリーメッセージに統合することができる。同じことが、あらゆるタイプのIOIにも当てはまる。一般に、システム102は、所与の時点においてユーザーに配信される個々のIOIのグループが少なくとも1つの共通の特性を有するかどうかを判定することができる。システム102は、次いで、個別にではなくブロック又はセットとしてIOIのグループをアナウンスするサマリーメッセージを提供することができる。上述の具体例では、システム102は、コンテキストIOIのグループがユーザーの近傍に位置し、これらのIOIが同じタイプの設立物に関連すると判定する。別の例において、システム102は、「次の100ヤードに多数の大きな穴」というサマリーワーニングIOIを提供することができる。
【0051】
システム102は、アナウンスをインテリジェントに提供するための他のルールを使用することもできる。例えば、いくつかのIOIは、ユーザーがこれらのIOIに近接している場合にのみ関連性がある。例えば、ユーザーが公園のベンチに関心があるのは、ユーザーがそのオブジェクトから数フィート以内にいる場合だけである可能性がある。したがって、システム102は、ユーザーがそれらの種類のオブジェクトに比較的近接している場合にのみ、それらのオブジェクトの存在をアナウンスし得る。ただし、この場合も、ユーザーは、この点に関してシステムの挙動をカスタマイズすることができる。
【0052】
別の例示的な特徴に従うと、システム102は、3次元音を使用して、いくつかのタイプのコンテキストIOIなどのいくつかのタイプのIOIの存在をアナウンスすることができる。3次元音とは、物理空間内の特定の1つの位置(又は複数の位置)から発しているものとしてユーザーが知覚する音を指す。しかしながら、実際には、オーディオ情報は、ヘッドセット108を介してユーザーに提示され、環境内に物理的な起源を有していない。セクションDにおいて以下で説明されるように、システム102は、異なるタイプの広帯域オーディオ音とともに頭部伝達関数(HRTF)を使用することによって、上記の結果を実現することができる。他の実施形態において、システム102は、(HRTFの代わりに又はHRTFに加えて、)Ambiophonics、Ambisonics、波動場合成などの他の技術及びテクノロジを使用して、3次元オーディオ効果を生成することができる。
【0053】
例えば、コンテキストc
1(時点t
1)において、システム102は、少なくとも3つのコンテキストIOI(IOI
1、IOI
2、及びIOI
3)を特定する一連の指示アナウンスをユーザーに送信することができる。システム102は、例えば、コンテキストIOIに関連付けられているエンティティーが物理的に位置する、空間内の特定の位置から発しているものとしてユーザーが知覚する予備的な音をユーザーに送信することによって、コンテキストIOI
1の存在をアナウンスすることができる。すなわち、コンテキストIOIがジェーンのコーヒーショップに対応する場合、メッセージは、ユーザーの注意をジェーンのコーヒーショップの実際の位置に向けさせることになる。システム102は、「ジェーンのコーヒーショップ、150フィート」と指示的にアナウンスするなど、3次元音を使用して、すなわち、3次元発話情報を使用して、この設立物の説明を提供することもできる。
【0054】
追加的又は代替的に、システム102は、1つ以上の利用可能情報IOIに関する情報をユーザーに送信してもよい。上記で説明されたように、システム102は、ユーザーの現在のコンテキストに関連する可能性がある情報の具体的な内容を直ちにアナウンスするのではなく、ユーザーの現在のコンテキストに関連する可能性がある情報の存在をユーザーに大まかにアラートするメッセージを送信することによって、この動作を実行することができる。ユーザーは、次いで、例えば「詳細情報」命令を行うことによって、その情報を受け取るように手動でシステム102に要求することができる。あるいは、ユーザーは、この情報を無視してもよい。
【0055】
上記の情報配信特徴の全ては、ユーザーに多すぎる情報を与えることなく、ユーザーが空間を移動するときに有用な情報をユーザーに対して明らかにするという目的に寄与する。
【0056】
別の特徴として、ユーザーの経路に沿った任意の局面において、システム102は、ユーザーの実際の移動方向を所望の移動方向と比較することができる。システム102は、
図3に関連して以下で説明される機構のうちの任意のものを使用して、ユーザーの実際の移動方向を判定することができる。システム102は、ユーザーが現在時点においてどこに向かうと予想されるかを判定することによって、所望の方向を判定することができる。システム102は、次いで、ユーザーの実際の方向が所望の方向からずれている程度を定めるずれ情報を決定することができる。システム102は、次いで、ユーザーを所望の経路に沿って進ませようと試みる情報をユーザーに送信することができる。
【0057】
例えば、時点t
2におけるユーザーを考える。この局面において、ユーザーは、ウェイポイントw
3に到達しようと試みている。ユーザーの実際の方向は、矢印210で表され、ユーザーの所望の方向は、矢印212で表されると仮定する。システム102は、ユーザーを現在の誤った方向から所望の方向に向かって進ませようと試みる指示を、ユーザーに送信することになる。
【0058】
1つの実施形態において、システム102は、3次元ビート音又は他のタイプの周期音を使用して、上記の目的を達成する。3次元ビート音は、物理空間内の特定の1つの位置(又は複数の位置)から発しているものとしてユーザーにより知覚される任意のタイプの繰り返し音(クリック音など)である。
図2の場合では、時点t
2において、システム102は、ユーザーの移動方向に沿ってユーザーの左側から発しているように聞こえる3次元ビート音を配信する。これは、ユーザーに、(a)ユーザーが最適ではない方向に向かっていること、及び(b)ユーザーがより望ましい軌道を実現するには、わずかに左に向きを変えればよいことを勧めることになる。
【0059】
システム102は、他の効果を実現するためにビート音を調整することができる。例えば、システム102は、ユーザーが現在最適ではない方向に向かっている程度に応じて、ビート音の音調及び/又は周期及び/又は音量(及び/又は他の何らかの側面)を変更することができる。ユーザーは、ビート音を、自分が誤った方向に向かっている程度のインジケーションとして解釈する。
【0060】
ここまでの説明は、ユーザーの経路に沿った適切な局面においてユーザーに情報を自動的に配信するシステム102の能力を主として強調した。この動作モードでは、環境とのユーザーの遭遇は、例えば上述の異なるタイプのIOIの形態での情報の配信をトリガーするイベントを構成し得る。さらに、任意の時点において、ユーザーは、スマートフォン又はヘッドセット108と手動でインタラクトして、自分の環境を手動で探索し、上述のIOIのいずれかに関する情報を取得することができる。例えば、インタラクションの第1のやり方において、ユーザーは、旅程に沿った任意の所与の時点においてスマートフォンのタッチ検知表面をタップすることができる。シングルタップに応答して、システム102は、ユーザーの現在のコンテキストに関する最上位レベルの情報をアナウンスする。例えば、時点t
1において、システムは、シングルタップに応答して、旅程IOIであると考えられ得るウェイポイントw
2にユーザーが向かっているとアナウンスすることができる。システム102は、ダブルタップに応答して、現在のコンテキストに関するより詳細な情報を提供する。システム102は、トリプルタップに応答して、ユーザーが、例えばコンテキストに関する追加の情報を取得するためにスマートフォンとインタラクトし、現在のコンテキストに関連する様々な機能を呼び出すことを可能にする指示を提供する。
【0061】
別の特徴として、任意の局面において、ユーザーは、スマートフォンとインタラクトして、所与の時点においてユーザーに関連する1つ以上のメニューをアクティブ化することができる。例えば、時点t
1において、ユーザーは、スマートフォンの表面上でタップアンドホールドジェスチャーを実行することができる。これに応答して、システム102は、ユーザーの現在のコンテキストに関連付けられているメニューをアクティブ化することができる。ユーザーは、次いで、スマートフォンとインタラクトして、即座に提示されるメニューを探索する又は任意の他のメニューにナビゲートすることができる。
【0062】
より詳細には、セクションCにおいて以下で詳細に説明されるように、システム102は、ワークスペースのセットを介してアクセス可能であるメニューの集合を表現することができる。各ワークスペースは、各他のワークスペースに対する固定された位置的関係を有する。ユーザーは、適切なワークスペース及び関連付けられているメニューにナビゲートすることによって、所望の情報及び/又は機能にアクセスすることができる。
【0063】
1つの特徴に従うと、ユーザーは、上記のスクリーンインタラクションタスクの全てを、片手で、例えばスマートフォンを保持している手の親指を用いて、実行することができる。システム102はまた、ユーザーがスマートフォンのタッチ検知表面とインタラクトするときに、可聴フィードバックキュー及び/又は触覚フィードバックキューを提供することができる。集合的に、これらの特徴の全ては、ユーザーがシステム102とインタラクトしている間に自分の注意を環境から逸らす必要がある程度を低減させる。例えば、ユーザーは、スマートフォンとインタラクトしながら、自分が歩いている道路上に自分の目を維持することができる。視力障害を有する人も、上記で概説した非視覚的な特性により、システム102と上手くインタラクトすることができる。
【0064】
サブセクションC.3において説明されるように、ユーザーは、音声命令を介してシステム102と手動でインタラクトすることもできる。追加的又は代替的に、ユーザーは、ヘッドセット108によって提供される入力機構(セクションBにおいて説明される)を介してシステム102と手動でインタラクトしてもよい。システム102は、ユーザーがシステム102と手動でインタラクトできるようにするさらに他の機構を提供することもできる。
【0065】
ユーザーはまた、自分の周辺の環境を探索する際に使用する特別なモードを呼び出すことができる。例えば、探索モードをアクティブ化したことに応答して、システム102は、ユーザーの注意の現在の焦点を判定することができる。ユーザーの注意の現在の焦点は、ユーザーが現在時点において見ていると推定される方向に対応し得る(この方向は、1つ以上の向き判定機構に基づいて判定され得る)。システム102は、次いで、ユーザーの注意の方向の周りに形成される部分空間によって包含される(又は他の形でその部分空間に関連付けられている)コンテキストIOIを判定することができる。システム102は、次いで、例えば、3次元音を使用してこれらのコンテキストIOIをアナウンスすることによって、且つ/又は、ユーザーのスマートフォン上での提示のために視覚的メッセージを送信することによって、これらのコンテキストIOIを把握させることができる。
【0066】
これらのコンテキストIOIの一部は、部分空間内にそれぞれの現実位置を有する、環境内の現実オブジェクトに関連することがある。これらのIOIは、主に、物理空間内におけるこれらの物理的エンティティーの位置を特定又はマークする役割を果たす。他のコンテキストIOIは、(ユーザーの現在のコンテキストを所与として)それらが部分空間に関連しているが、その部分空間内のオブジェクトを直接的に説明するわけではない可能性があるという点で、仮想的な性質であり得る。換言すれば、これらの他のコンテキストIOIは、物理的エンティティーの位置を特定する情報及び/又はエクスペリエンスを超えて、ユーザーの現在のコンテキストに関連する情報及び/又はエクスペリエンスを伝達する。
【0067】
一例を挙げると、「仮想」タイプのコンテキストIOIは、ユーザーが兵舎に接近するときの、「我々の戦没者を追悼しましょう」というメッセージに対応することがある。このメッセージは、兵舎に関連するが、このメッセージを、正確に言っても、兵舎の位置を単純にマークすることはできない。このメッセージの意図は、ユーザーが兵舎に接近するときにユーザーのエクスペリエンスを豊かにするための精神的な連帯感を生み出すことである。代替的に、この状況におけるコンテキストIOIは、(ユーザーによって以前に指定され、システム102にロードされた、)ユーザーにとって特定の意味を持つ、歌、又は、感銘を与えるスピーチ若しくは個人的メッセージからの抜粋に対応することがある。
【0068】
同じことが、(コンテキストIOI以外の)他のタイプのIOIにも当てはまる。すなわち、いくつかのIOIは、主としてラベル付けタグとして機能するのに対し、他のIOIは、認知的な連想、記憶、感情などを刺激するように意図されている。IOIの後者のグループは、それらが、環境内のイベント及びオブジェクトの表面レベルの転写(transcription)ではない、連想、体験、意味などの領域に関連するという意味で、本明細書では「仮想(的)」と呼ばれる。このようなIOIは、代わりに、推論的IOI、示唆的IOI、関係性IOIなどと呼ばれることもある。
【0069】
別の特徴に従うと、オリエンテーションモードをアクティブ化したことに応答して、システム102は、ユーザーの周りの完全360度走査を実行して、ユーザーからの規定の距離に関連付けられている全ての関心項目を特定することができる。システム102は、この360度走査を垂直次元における連続したレベルについて実行して、例えばモールコンプレックス(mall complex)などの異なるレベルで提供されている店舗を判定することができる。ユーザーは、例えば特定されるIOIのタイプ及びIOIの存在について探索される空間の寸法などを変更することによって、上述した任意の方法で、探索モード及びオリエンテーションモードの挙動をカスタマイズすることができる。さらに、ユーザーは、システム102とインタラクトして、システム102がIOIを読み上げる方法を制御することができる。
【0070】
次に、時点t
3において、ユーザーが、計画されたルート202から離れて、例えばサンドイッチを購入するために店舗204を訪れることを自発的に決定したと仮定する。店舗にいるときには、この時点におけるユーザーのコンテキスト(c
3)は、店舗環境に関連する。したがって、システム102は、上述したのと同じ機能を実行することができるが、この場合には、店舗の室内環境のコンテキストにおいて上記機能を実行する。例えば、システム102は、ユーザーが店舗204の通路を移動するときに自動的にコンテキストIOIを判定し、これらのコンテキストIOIをユーザーにアナウンスすることができる。例えば、店舗204の乳製品コーナーに接近すると、ユーザーは、「牛乳、チーズ、及びヨーグルト、20フィート前方」と読み上げるメッセージを受け取ることができる。システム102は、ユーザーの関心を引く可能性がある商品にユーザーが近づくにつれて、次第に詳細になっていく情報を送信することができる。ここでも、例えば、多くのスープに高い塩分が存在することをユーザーにアラートする、スープコーナーにおいて配信されるメッセージの場合のように、コンテキストIOIの一部は、店舗内の物理的オブジェクトとはそれほど直接的な対応を有していないことがある。
【0071】
ユーザーはまた、任意の方法で、店舗環境内でシステム102と手動でインタラクトすることができる。例えば、ユーザーは、異なる製品に関連付けられている異なるメニューを手動で探索することができる。ユーザーはまた、スマートフォンを使用して、商品を購入する、商品を調査するなどの、店舗環境内で様々なトランザクションを実行することができる。
【0072】
いくつかの実施形態において、システム102は、ユーザーが、店舗204内の異なる位置に(予め)配置されているビーコンのセットのうちの1つのビーコンのレンジ内にいるかどうかを判定することによって、店舗204内のユーザーの位置を判定することができる。セクションEにおいて説明されるように、ビーコンは、重なり合わないレンジを有することができる。
【0073】
店舗204を出ると、システム102は、ユーザーを計画されたルート202に再度導く、ユーザーの旅程を再計算することができる。例えば、システム102は、ユーザーがシャトル乗り場に関連付けられているウェイポイントw
4に到達することを可能にする指示をユーザーに提供することができる。このウェイポイントに到達すると、システム102は、次いで、ユーザーのシャトル208の予想到着時間をアナウンスすることなどによって、この局面においてユーザーに関連する情報を配信することができる。この情報は、1つ以上の旅程IOIとして配信され得る。
【0074】
システム102は、ユーザーがシャトル208に乗って移動している間、ユーザーにサービスを提供し続けることができる。例えば、システム102は、最終目的地、すなわちウェイポイントw
5(ユーザーの医者の医院)への予想到着時間をユーザーに通知することができる。システム102は、ユーザーが乗って移動している公共輸送機関(又は私的輸送機関)の性質に応じて、ユーザーにとって有用であり得る他のメッセージを提供することもできる。例えば、バスに乗って最終目的地に接近しているときには、システム102は、ユーザーがバスを降りたときに遭遇すると予想される高い縁石の存在をユーザーにアラートすることができる。さらに、システム102は、ユーザーの許可があれば、支援を必要としている人が次のバス停で降りることをバスの運転手にアラートすることができる。
【0075】
要約すると、ユーザーの旅行の全体を通じて、ユーザーは、多くの情報を、例えば発話メッセージ、他の音(3次元音及び非3次元音)などの形態といった可聴形態で受け取ることができる。システム102は、様々な技術を使用して、この情報の提示を管理することができ、その一部は、既に上記で言及されている(配信される情報の量を低減又は増大させる能力など)。この特徴は、ユーザーに多すぎる情報を与えることなく、ユーザーが最も関連する情報をタイムリーに受け取ることを可能にする。
【0076】
例えば、システム102は、1つの音の配信が別の音の配信と干渉する可能性がある状況に対処するために、様々なルールに従って、旅行中に音を再生することができる。1つの例示的なルールに従うと、システム102は、連続ループでビート音を再生して、例えば歩行しているときにユーザーを所望の方向に誘導する。ただし、システム102は、任意の他の音が再生されているときには、一時的にこの音を無効にすることができる(又は、この音の音量を、この音の通常状態と比較して下げることができる)。このことは、ユーザーが、低優先順位の音と考えられるビート音との干渉なく、他の音を聞くことを可能にする。
【0077】
別の例示的なルールに従うと、システム102は、どのメニュー又はコンテキストがユーザーに提示されるかを変更するフリックジェスチャーなどのインターフェイス関連イベントを表す音を無条件で再生することができる。ユーザーに多すぎるオーディオ情報を与えすぎないように、これらのタイプの音は、短く且つ独特であるように設計され得る。ユーザーは、システム102とのユーザーのインタラクションを一時的に中断することによって、少なくともある程度まで、これらのタイプのキューの再生を制御することができる(これは、ユーザーが能動的にシステム102とインタラクトしていない場合には、インタラクションキューが生成されないからである)。
【0078】
さらなる例示的なルールに従うと、システム102は、ワーニング音(例えばワーニングIOI用のもの)に最高優先順位レベルを割り当て、その次に高い優先順位レベルを旅程情報(例えば旅程IOI用のもの)に割り当て、その次に高い優先順位レベルをコンテキスト情報(例えば任意のタイプのコンテキストIOI用のもの)に割り当てることによって、ナビゲーション音に優先順位を付けることができる。いくつかの場合において、システム102は、例えばより重要な情報が再生されているなどの理由で、情報の配信を遅延させることになる。さらに、いくつかの場合において、遅延されたメッセージは、システム102がそのメッセージを提示できるようになるまでに、(例えばその情報がもはや関連していない新たなコンテキストにユーザーが移動したために)関連しないものになる。その場合には、システムは、その情報を提示することを控えることができる。
【0079】
要するに、上述のシナリオは、システム102の有利な技術的効果のうちの一部を強調するのにも有用である。一般に、システム102は、任意のユーザーが、異なるが関連する目的に供するガイダンスを受け取ることを可能にする。第1に、システム102は、ユーザーの旅程に沿った任意の所与の時点において最も有用な情報をユーザーに与えようと試みることによって、ユーザーが自分の環境内をより効果的にナビゲートできるようにする又は他の目的を達成できるようにする。第2に、システム102は、ナビゲーション支援を提供することを超えて、環境のユーザーのエクスペリエンスを豊かにし、ユーザーが、システム102を使用しなければすぐにはユーザーに明らかにならない可能性がある環境に関する新たな情報を学習できるようにする。この点で、システム102は、ユーザーが、比喩的に環境を掘り下げて調べて、環境102に関連する以前には隠れていた側面及び関連性を理解できるようにする。第3に、システム102は、ユーザーの気の散らしを最小限にするやり方で、この有用な情報をユーザーに提供しようと試みる。この第3の目的は、例えば、ユーザーが、「現実世界」とインタラクトするためにユーザーが使用しているツールではなく、「現実世界」とのユーザーのインタラクションに主に集中し続けることができるようにすることによって、より楽しく有用なエクスペリエンスをユーザーに提供するのに有用である。逆に言えば、この第3の目的は、ユーザーがかなりの注意を向けると予想される煩雑で複雑なツールとインタラクトすることをユーザーに求めることによって生じる可能性がある不安を低減させようと試みるものである。第3の目的はまた、ユーザーが、任意の所与の時点においてユーザーに多すぎる情報が与えられることなく、安全な方法で効率的且つ迅速に所望の情報にアクセスできるようにする。
【0080】
いくつかの技術的特徴が、上記で概説した目的、特に第3の目的に寄与する。これらの特徴は、a)片手によるインタラクションエクスペリエンスの使用、b)位置に依存しない方法によりタッチ検知表面上で実行され得るジェスチャーに対応するユーザーフレンドリーなメニュー構造の使用(後述)、c)「安全な」ホームワークスペースへのアクセスを提供するユーザーフレンドリーで学習しやすいワークスペース構造の使用(後述)、d)(例えばヘッドセット108、ユーザーデバイス106、音声認識などを介して)コマンドを入力するための複数の機構の使用、e)旅行へのユーザーの集中を過度に混乱させることなく情報を伝達するためのオーディオ情報及び/又は触覚キューの使用、及びf)複雑な指示をユーザーに殺到させることなくユーザーを所望の方向に誘導するのを助けるための又はIOIの位置をユーザーにアラートするための3次元音及び非3次元音の使用などを含むが、これらに限定されるものではない。
【0081】
上記の利点は、システム102のいかなるユーザーにも当てはまる。システム102は、旅行する能力を損なわせる任意の種類の条件を有する人によっても、上手く使用され得る。これらのユーザーは、視力を部分的又は完全に喪失しているユーザー、認知障害又は他の心理的障害を有するユーザー、移動に関するハンディキャップを有するユーザーなどを含み得る。これらのユーザーに対して、システム102は、仮想盲導犬として動作して、その時点におけるユーザーの目的が何であれ、ユーザーの旅行の各段階において安全にユーザーを支援する又は他の形でユーザーが自分の環境とインタラクトするのを支援する。これらのユーザーに対して、上記で概説した一般的な利点に加えて、システム102は、ユーザーがそうでなければ利用できないであろう情報及びガイダンスにユーザーがアクセスすることを可能にし、それにより、これらのユーザーの移動性、自信、及び一般的な生活の質を向上させる可能性がある。
【0082】
次に
図3に進むと、この図は、
図1のシステム102を実装するために使用され得るコンピューティング機能のハイレベルな概要を示している。
図3の機能は、デバイスに依存しない形で示されている。実際の実施形態において、この機能は、例えば、
図1において紹介されたコンポーネントのいずれか又はこれらのコンポーネントの任意の組合せに割り当てられ得る。例えば、
図3は、この機能が空間インタラクション(SI)モジュール302を含むことを示している。SIモジュール302は、
図2のシナリオに関連して説明された機能の全て(又はほとんど)を実行する。SIモジュール302のいくつかの部分は、ユーザーデバイス106によって実装されることがあるのに対し、SIモジュール302の他の部分は、ヘッドセット108上に配置される処理コンポーネントによって実装されることがある。追加的又は代替的に、SIモジュール302のいくつかの部分は、リモート処理リソース112によって実行されてもよい。
【0083】
SIモジュール302は、入力機構304の任意の組合せから入力情報を受信することができ、任意の出力機構306上に提示するためにその出力情報を提供することができる。例えば、入力機構304は、1つ以上の向き判定機構308、1つ以上の動き判定機構310、及び/又は1つ以上の位置判定機構312などを含み得る。
【0084】
1つ以上の向き判定機構308は、1つ以上の向き判定機構308を組み込んでいるデバイスの向きを判定する。例えば、ユーザーデバイス106に収容されている場合には、1つ以上の向き判定機構308は、このユーザーデバイス106の3次元向きを判定する。ヘッドセット108に収容されている場合には、1つ以上の向き判定機構は、ヘッドセット108の3次元向きを判定する。より一般的に言えば、1つ以上の向き判定機構308は、ユーザーが自分のスマートフォンを向けている方向又は(ヘッドセット108が配置されている)自分の頭部を回す方向を判定することができる。1つ以上の動き判定機構310は、1つ以上の動き判定機構310を組み込んでいるデバイスの動きの性質及び程度を判定する。1つ以上の位置判定機構312は、1つ以上の位置判定機構312を組み込んでいるデバイスの絶対位置及び/又は相対位置を判定する。
【0085】
これらの機構(308、310、312)は、センサーの任意の組合せを使用して実装され得る。このようなセンサーは、磁力計、加速度計、ジャイロスコープセンサー、重力センサー、トルクセンサー、歪みゲージ、曲げセンサー、光学式エンコーダー機構などを含むが、これらに限定されるものではない。さらに、これらの機構(308、310、312)の一部は、外部システム又は外部ソースから信号を受信することができる。例えば、機構(308、310、312)は、衛星航法システム(例えば全地球測位システム(GPS)システム)から受信された信号に基づいてデバイスの位置を判定するセンサーを含み得る。追加的又は代替的に、機構(308、310、312)は、複数の無線タワー及び/又は局在的な指向性アンテナなどから受信された信号などの、複数の外部ソースから受信された信号に基づいて三角測位及び/又は他の処理を実行することによってデバイスの位置を判定する機能を含んでもよい。追加的又は代替的に、機構(308、310、312)は、推測航法技術を使用してデバイスの位置を判定する機能を含んでもよい。追加的又は代替的に、機構(308、310、312)は、ローカルビーコン(例えばWi−Fi(登録商標)ビーコン及び/又はBluetooth(登録商標)ビーコンなど)などからの情報を処理することによってデバイスの位置を判定する機能を含んでもよい。
【0086】
入力機構304はまた、手動入力機構314の任意の組合せを含み得る。これらの機構は、キー入力機構、タッチ検知入力機構(例えばタッチ検知スクリーン314’)、ジョイスティック、(例えば音声命令を受信する)マイクロフォン、ビデオカメラ、及び/又は(例えば自由空間ジェスチャーを受け取る)デプスカメラなどのうちの任意のものを含み得る。例えば、
図1の場合において、ユーザーデバイス106は、ユーザーとインタラクトする主要な手段として、タッチ検知ディスプレイスクリーンを使用することができる。例えば、限定されるわけではないが、タッチ検知ディスプレイスクリーンは、ユーザーがスクリーンにいつタッチしたか及び/又はユーザーがスクリーンの上方でいつホバリングしたかを判定する静電容量式タッチスクリーン機構を組み込むことができる。ユーザーデバイス106はまた、カメラ、マイクロフォンなども含み得る。ヘッドセット108は、(次のセクションにおいてより詳細に説明されるように、)例えばヘッドセット108の側面にボタンとして実装される1つ以上の専用入力機構とともに、(音声命令を受信する)マイクロフォンを含み得る。
【0087】
出力機構306は、1つ以上のオーディオ出力機構316、1つ以上の表示出力機構318、1つ以上の触覚出力機構320などを組み込むことができる。例えば、1つ以上のオーディオ出力機構316は、任意のタイプの従来のスピーカーに対応し得る。追加的又は代替的に、1つ以上のオーディオ出力機構316は、米国ニューヨーク州シラキュースのAFTERSHOKZ社製の骨伝導トランスデューサーなどの骨伝導オーディオデバイス(例えばヘッドセット108によって提供される)を組み込んでもよい。1つ以上の表示出力機構318は、例えば、LCD型ディスプレイ(例えばユーザーデバイス106によって提供される)に対応し得る。1つ以上の触覚出力機構320は、例えば、振動生成機構(例えばユーザーデバイス106及び/又はヘッドセット108などによって提供される)に対応し得る。振動生成機構は、回転するオフバランスウェイトを使用して、且つ/又は、1つ以上の何らかの他の機構によって、振動効果を実現することができる。
【0088】
SIモジュール302は、SIモジュール302自体の外部にあると考えられ得るリモート機能322とインタラクトすることもできる。例えば、SIモジュール302は、検索を行うために、検索エンジン324とインタラクトすることができる。例えば、検索エンジン324は、米国ワシントン州レッドモンドのMICROSOFT(登録商標)社によって提供されるBING検索エンジンに対応し得る。追加的又は代替的に、SIモジュール302は、新たな旅程を生成し且つ/又は既存の旅程を変更するために、旅程計算エンジン326とインタラクトしてもよい。追加的又は代替的に、SIモジュール302は、ユーザーによってなされた発話命令を解釈するために音声処理エンジン328とインタラクトしてもよい。例えば、音声処理エンジン328は、米国ワシントン州レッドモンドのMICROSOFT(登録商標)社によって提供されるCORTANAシステムに対応し得る。他の場合において、リモート機能322の1以上の態様は、ネイティブリソースとしてSIモジュール302に組み込まれることもある。
【0089】
さらに、SIモジュール302は、1つ以上のデータ記憶部330内に提供されている任意の外部情報とインタラクトすることができる。例えば、外部情報は、パブリックにアクセス可能な地図情報、輸送スケジュール情報、アラート情報、ビジネス用及び個人用の住所録情報、ソーシャルネットワーク情報、カレンダー情報などを提供することができる。いくつかの場合において、SIモジュール302は、外部ソース(例えば外部ウェブサイト)によって提供されたアプリケーションプログラミングインターフェイス(API)を使用して、それらの外部ソースとインタラクトすることもできる。
【0090】
次に
図4を参照すると、この図は、上記で紹介されたSIモジュール302の1つの実施形態を示している。ハイレベルな視点から見ると、SIモジュール302は、異なるそれぞれの機能を実行する複数のサブコンポーネントを含み得る(又はそれらを含むものとして概念化され得る)。さらに、一部のサブコンポーネントは、他のサブコンポーネントによって生成された結果に依拠することがある。アプリケーションインターフェイスモジュール(AIM)402は、ユーザーが、サブコンポーネントのいずれともインタラクトすることを可能にする。例えば、アプリケーションインターフェイスモジュール402は、サブコンポーネントによって提供される様々な機能を公開するメニュー機能を提供することができる。
【0091】
サブコンポーネントを上から下に向かって大まかに参照すると、SIモジュール302は、SIモジュール302が自身の機能を実行する際にSIモジュール302によって使用され得る情報を記憶する様々なデータ記憶部を含み得る。例えば、データ記憶部404は、1つ以上の旅程を規定する情報を記憶することができる。例えば、旅程情報は、旅行中のウェイポイント及び/又は旅行に関する任意の他の情報を表すことができる。データ記憶部406は、検索エンジンによって提供された検索結果を記憶することができる。これらの結果は、ユーザーの命令があったとき、旅行の途中で又は空間とのユーザーのより一般的なインタラクション中に、生成され得る。データ記憶部408は、SIモジュール302とのユーザーのインタラクションとの過程でユーザーによって生成されたタブの履歴を記憶することができる。タブは、一般に、メニュー若しくは他の情報項目、及び/又は機能、及び/又はオプションへのブックマークに対応する。ユーザーは、自分がそのメニュー若しくは他の情報項目、及び/又は機能、及び/又はオプションを訪れたときにタブを作成することができる。1つの実施形態において、データ記憶部408は、最初には、ユーザーが旅行に出たがまだシステム102とインタラクトするのを開始していないときには、タブを含まない。システム102は、例えばタブのリスト、タブのラジアルメニューなど、タブの集合を表現する任意の方式を使用することができる。
【0092】
SIモジュール302は、任意のタイプのサポートサービスを実行する様々なサポートモジュール410を提供することもできる。例えば、設定モジュールは、ユーザーが、システム102の動作に影響を及ぼす任意のパラメーターに値を割り当てることを可能にし得る。データ記憶部412は、このような全ての設定を記憶することができる。サポートモジュール410はまた、外部検索エンジンとインタラクトして検索結果を提供するポータルを含み得る。あるいは、サポートモジュール410は、ネイティブに提供される検索エンジンを含んでもよい。
【0093】
音生成モジュール414は、音の生成に関する様々な動作を実行する。例えば、音生成モジュール414は、様々なトリガー状況に遭遇したときに、特定の音を再生することができる。いくつかのトリガー状況は、ユーザーがアプリケーションインターフェイスモジュール402とインタラクトしているときに行ったアクションに対応する。他のトリガー状況は、システム102とのユーザーのインタラクションによって直接引き起こされるわけではない、システム102の状態の変化に対応する。他のトリガー状況は、旅行の途中で発生するイベント(又は、より一般的には、空間とのユーザーのインタラクション)などに対応する。データ記憶部416は、再生されたときに所望の音を生成するファイルを記憶することができる。サブセクションC.2(以下)は、生成され得る異なるタイプの音及びそれらの音が再生される状況に関する追加の情報を提供する。
【0094】
いくつかの音は、非3次元的又は非空間的な性質である。さらに、音生成モジュール414は、3次元オーディオ情報を生成することができる。上述のように、オーディオ情報は、3次元の物理環境又は仮想環境内の1つ以上の位置から発しているものとしてこの情報をユーザーが知覚することになるという意味で、3次元的である。音生成モジュール414は、1つ以上の頭部伝達関数(HRTF)を使用してオリジナルの音情報を変換することによって、これらの音を生成することができる。
【0095】
同様に、触覚キュー生成モジュール418は、異なるトリガー状況において、異なるタイプの触覚フィードバックエクスペリエンスを生成することができる。1つの場合において、触覚キュー生成モジュール418は、例えば、ユーザーデバイス106、ヘッドセット108、及び/又は何らかの他のデバイスに配信されたときに振動キューをもたらす信号を生成する。
【0096】
経路ガイダンスモジュール420は、音生成モジュール414を使用して、上述の3次元周期音(例えばビート音)を生成する。この周期音の目的は、ユーザーを特定の方向にガイドすることである。経路ガイダンスモジュール420は、ユーザーの現在の実際の向き、所望の向き、及び実際の向きと所望の向きとの間の差(ずれ情報に対応する)を判定することによって、この効果を生成する。次いで、経路ガイダンスモジュール420は、音生成モジュール414を使用して、特定の方向から発生しているものとしてユーザーにより知覚される適切なループ音を生成する。すなわち、音生成モジュール414は、経路ガイダンスモジュール420により音生成モジュール414に提供されたずれ情報に基づいて、ループ音を生成する。ユーザーは、この音に応答して、所望の方向に移動することができる。別の場合において、ビート音は、物理空間内の一連の位置にわたって移動しているものとして知覚され得る。ユーザーは、このエクスペリエンスを、その移動している音の方向に移動せよという指示として解釈することができる。
【0097】
ビーコンベースのガイダンスモジュール422は、1つの例示的な実施形態ではそれぞれの重なり合わないレンジを有するビーコンの集合から発する信号を検出することによって室内空間及び/又は屋外空間内をナビゲートする際の支援をユーザーに提供する。セクションEは、ビーコンベースのガイダンスモジュール422の動作に関する追加の情報を提供する。ビーコンベースのガイダンスモジュール422は、データ記憶部424内に提供されているビーコン情報を参照することができる。ビーコン情報は、環境内に配置されているビーコンに関連付けられている符号、及び環境内におけるそれらビーコンのそれぞれの位置を表すことができる。
【0098】
関連情報判定(RID)モジュール426は、任意の所与の時点においてユーザーに提示される関連情報を判定する一般機能を実行する。
図2の説明のコンテキストにおいて、RIDモジュール426は、ユーザーの現在のコンテキストに関連する異なるタイプの情報項目(IOI)を判定する。このタスクを実行するために、RIDモジュール426は、現在時点におけるユーザーのコンテキストを規定する様々なコンテキスト入力を受信する。これらのコンテキスト入力は、ユーザーの現在位置、ユーザーの現在の向き、ユーザーの現在の目的などを表し得る。コンテキスト入力は、物理環境及び仮想環境の両方の環境に関連付けられているオブジェクト及びイベントなど、環境自体を表すこともある。任意のこのような入力は、地図情報、住所録情報、ソーシャルネットワーク情報、カレンダー情報などから取り出され得る。コンテキスト入力は、任意の1つ以上のソースから取得される、公共輸送情報、気象情報など、空間とのユーザーのインタラクションに影響を及ぼす環境的ファクターを表すこともある。
【0099】
RIDモジュール426は、現在時点におけるコンテキスト入力と、(データ記憶部428内に提供されている)様々なルールと、に基づいて、所与の時点において何らかの情報をユーザーに通知することが適切であるかどうかを判定することによって動作する。RIDモジュール426の挙動は、ユーザーによって設定されデータ記憶部412に記憶されている1つ以上のパラメーターによって規定され得る。例えば、RIDモジュール426は、ユーザーによって規定されたデプス範囲に基づいて、現在時点においてユーザーの近傍に何らかのコンテキストIOIが存在するかどうかを判定することができる。このようなコンテキストIOIが存在する場合には、RIDモジュール426は、これらのコンテキストIOIをユーザーに通知するために、音生成モジュール414、及び/又は、アプリケーションインターフェイスモジュール402によって提供されるメニュー機能、とインタラクトすることができる。
【0100】
探索モジュール430及びオリエンテーションモジュール432は、ユーザーによってオンデマンドで呼び出され得るそれぞれのサービスを実行する。
図2のシナリオを参照して説明されたように、探索モジュール430は、(ユーザーの頭部の位置と、調査のデプスを規定する設定パラメーター及び探索空間の範囲を表す設定パラメーターと、によって判定され得る)ユーザーの前方にある部分空間に関連付けられている任意のコンテキストIOIを判定する。このタスクを実行するために、探索モジュール430は、RIDモジュール426のサービスを使用する。探索モジュール430は、次いで、3次元音、表示メッセージなどを使用して、コンテキストIOIをユーザーに通知する。オリエンテーションモジュール432は、探索モジュール430に類似するタスクを実行する。ただし、ユーザーの前方に突き出る部分空間に関連付けられているIOIを調査する代わりに、オリエンテーションモジュール432は、現在時点におけるユーザーの周りに存在する3次元空間全体を走査することができる。
【0101】
図5は、アプリケーションインターフェイスモジュール(AIM)402の1つの実施形態を示している。上述のように、アプリケーションインターフェイスモジュール402は、一般に、ユーザーが、
図4を参照して上述した様々なサブコンポーネントとインタラクトすることを可能にするインターフェイスを提供する。
【0102】
アプリケーションインターフェイスモジュール402は、ユーザーの入力を解釈して、例えばユーザーが行っている命令の性質を判定する様々なコンポーネントを含み得る。例えば、ジェスチャー解釈モジュール502は、ユーザーがユーザーデバイス106のタッチ検知スクリーンとインタラクトすることによって行ったジェスチャー又は自由空間ジェスチャーなどを判定することができる。ジェスチャー解釈モジュール502は、ユーザーによって行われたマーク、タッチ、若しくはホバリング(、又は他の挙動)を、既知のジェスチャーに関連付けられているパターンを特定するデータ記憶部と比較することによって、このタスクを実行することができる。ユーザーの挙動が、定められた照合信頼度をもって、特定のジェスチャーに関連付けられているパターンと一致した場合、ジェスチャー解釈モジュール502は、ユーザーがそのジェスチャーを行ったと結論づけることができる。
【0103】
音声解釈モジュール504は、例えばユーザーデバイス106及び/又はヘッドセット108上のマイクロフォンを介して受信され得る、ユーザーによる発話命令を解釈することができる。1つの場合において、音声解釈モジュール504は、リモートの音声処理エンジン328(例えばCORTANAシステム)へのポータルに対応し得る。別の場合において、音声解釈モジュール504は、発話を解釈する任意のタイプのネイティブ機能に対応し得る。いずれにしても、音声認識を実行するエージェントは、隠れマルコフモデルに基づく技術、ニューラルネットワークに基づく技術などの任意の技術を使用して、このタスクを実行することができる。
【0104】
ヘッドセットボタン解釈モジュール506は、ユーザーがヘッドセット108の入力機構とインタラクトしたやり方(後述)を解釈する。例えば、いくつかの場合において、ボタンのセットは、例えばユーザーがボタンにタッチしただけでボタンを押圧してはいないかどうかに応じて、若しくは、ユーザーがボタンに1回以上タッチしてボタンから離したかどうかに基づいて、又は、ユーザーがボタンを押圧したままであるかどうかに基づいてなど、ユーザーがボタンのセットとインタラクトしたやり方に応じて、異なる機能を実行することができる。ヘッドセットボタン解釈モジュール506は、ユーザーの挙動を特定の命令にマッピングする。
【0105】
アクション実行モジュール508は、上述の解釈モジュール(502、504、506)によって提供された解釈に基づいてアクションを呼び出すことができる。例えば、解釈に応答して、アクション実行モジュール508は、メニューを呼び出すこと、メニューを閉じること、ワークスペース間を遷移させること(後述)、機能を実行すること、設定を保存すること、情報項目を提示することなどを行うことができる。
【0106】
B.ユーザーとユーザーの環境との間のインタラクションを容易化する、ヘッドセット及びユーザーデバイスのオプション
図6は、
図1のコンテキストにおいて上記で紹介されたヘッドセット108、ユーザーデバイス106、及び他のユーザーコンピューティングデバイス110に関する追加の詳細を示している。これらのデバイスの特徴は、本明細書では、限定ではなく例示を意図して提示されている。
【0107】
最初にヘッドセット108について説明すると、このデバイスは、プラスチック及び/又は金属及び/又は任意の他の材料で構成されたフレーム602を提供することができる。フレーム602は、可撓性にすることができ、横方向内向きにユーザーの頭部に押し付ける、フレームの張力によって、且つ/又は何らかの他の固定機構によって、ユーザーの頭部に固定され得る。ヘッドセット108は、ユーザーの頭部の骨に振動を伝達するトランスデューサー(604、606)を含み、ユーザーの頭部の骨が、次いで、これらの振動をユーザーの鼓膜に伝達し、鼓膜において、これらの振動が、オーディオ情報として知覚される。骨伝導型ヘッドセットの使用は、ヘッドセット108がユーザーの外耳道を閉塞することを防止し、それにより、ユーザーが環境内の他の音に対して安全に応答することを可能にする。しかしながら、代替的に、ヘッドセット108は、ユーザーの耳の上又は近傍に配置される従来のスピーカーを含んでもよい。
【0108】
ヘッドセット108はまた、任意的に、そのフレーム上のいずれかの位置に入力機構608のセットを含んでもよい。ユーザーは、自分の片手610(又は両手)の1本以上の指で、入力機構608とインタラクトすることができる。代替的に、分離したデバイス(図示せず)が入力機構608を提供してもよく、この分離したデバイスが、無線通信(例えばBluetooth(登録商標)通信)及び/又は有線通信を介してヘッドセット108と通信してもよい。
図6は、入力機構608が3つのボタンを含むことを示しているが、より一般的には、入力機構608は、任意の数の機構を含んでよく、これらの入力機構は、フレーム上に任意の態様で配置されてよい。さらに、入力機構608は、ボタンに加えて、ホイール又はノブ機構、スライダー機構などの他のタイプの入力機構を含んでもよい。代替的又は追加的に、ヘッドセット108は、1つ以上のタッチ検知表面を組み込んでもよい。例えば、ヘッドセット108の異なる領域が、異なるタッチ検知機構を組み込むこともでき、これらの領域は、異なるそれぞれの機構に関連付けられ得る。
【0109】
ヘッドセット108は、(以下で説明されるように)様々なタスクを実行する処理機構を含み得る。ヘッドセット108は、これらの処理機構を収容する区画612を含み得る。例えば、1つの場合において、区画612は、ヘッドセット108の背部に位置する。しかしながら、処理機構は、ヘッドセット108上の任意の1つの位置(又は複数の位置)に配置されてもよい。処理機構自体は、任意のタイプの1以上の処理デバイス、メモリなど、及び/又は、1つ以上の特定用途向け集積回路(ASIC)などの専用ロジックコンポーネントを含み得る。
【0110】
入力機構608は、アクティブ化されたときに、任意の動作を開始することができる。例えば、限定されるわけではないが、ユーザーは、入力機構608を使用して、(上述した)探索モード又はオリエンテーションモードを呼び出すようにSIモジュール302に命令することができる。追加的又は代替的に、所定のトピックのサマリー(例えばコンテキストIOIの名称など)を聞いた後、ユーザーは、入力機構608を使用して、特定されたトピックに関する追加の情報を提供するようにSIモジュール302に命令することもできる。この命令は、「詳細情報」命令と呼ばれることもある。
【0111】
追加的又は代替的に、ユーザーは、入力機構608を使用して、リスニングモードをアクティブ化するように又はリスニングモードを停止するようにSIモジュール302に命令することもできる。リスニングモードにおいて、音声解釈モジュール504は、ユーザーの音声を処理して、ユーザーが命令を話したかどうかを判定する。
【0112】
追加的又は代替的に、ユーザーは、入力機構608を使用して、SIモジュール302が提供した最も直近のオーディオメッセージを繰り返すようにSIモジュール302に命令することもできる。追加的又は代替的に、ユーザーは、入力機構608を使用して、以前に配信されたオーディオメッセージのセットを、例えば予め定められた数の以前のメッセージにわたって最も直近のメッセージから始めて時間的にメッセージを1つずつ遡ることによって繰り返すようにSIモジュール302に要求することもできる。このような命令は、「巻き戻し」命令と呼ばれることもある。
【0113】
代替的又は追加的に、ユーザーは、入力機構608を使用して、3次元ビート音をオン又はオフにすることなどを行うこともできる。他の実施形態は、入力機構608を使用して、他の命令を発行すること及び/又は上記の命令のうちの1つ以上を省略することができる。
【0114】
上記の機能又はその何らかのサブセットは、任意の方法で、任意の数のそれぞれのボタン及び/又は他の入力機構にマッピングされ得る。さらに、いくつかの実施形態において、システム102は、入力機構と該入力機構が呼び出す動作との間のマッピングをユーザーが規定することを可能にするカスタマイゼーションモジュールを含み得る。さらに、上述のように、同じボタンが、ユーザーがこのボタンとインタラクトしたやり方に応じて、2つ以上の機能を実行してもよい。1つの実施形態において、SIモジュール302は、ユーザーがボタンにタッチしたがボタンを押圧してはいないときにそのボタンによって実行される機能をアナウンスすることができる。
【0115】
別の特徴に従うと、ユーザーは、現在アクティブ状態である機能を、その機能をアクティブ化するために使用されたのと同じボタンを押圧することによって、非アクティブ化することができる。例えば、ユーザーは、SIモジュール302に情報などを配信することを要求するために使用されたのと同じボタンを押圧することによって、SIモジュール302がこの情報をアナウンスするのを停止させることができる。代替的又は追加的に、ヘッドセット108は、現在実行されている機能が何であれその機能を停止させる専用ボタンを組み込んでもよい。
【0116】
ユーザーデバイス106は、スマートフォン又はタブレット型コンピューティングデバイスなどの上述したタイプのポータブルデバイスのうちのいずれに対応し得る。上述のように、ユーザーは、片手614を使用して(且つ/又は任意的に両手を使用して)ユーザーデバイス106とインタラクトすることができる。他のユーザーコンピューティングデバイス110は、ワークステーションコンピューティングデバイス、ゲームコンソール、セットトップボックスデバイスなどの任意のタイプの従来の固定型コンピューティングデバイスに対応し得る。
【0117】
1つ以上の通信パス616は、ユーザーデバイス106をヘッドセット108に接続することができる。このような通信パスは、例えば、Bluetooth(登録商標)通信パス、ハードワイヤード通信パス(例えばUSB通信パス)などに対応し得る。1つ以上の通信パス618は、他のユーザーコンピューティングデバイス110をユーザーデバイス106及び/又はヘッドセット108に接続することができる。上述のように、ユーザーが他のユーザーコンピューティングデバイス110とユーザーデバイス106及び/又はヘッドセット108との間に接続を確立したいと望み得る理由は、情報をそれらのデバイスにアップロードすることである。通信パス618は、例えば上述の任意のタイプの無線通信パス及び/又は有線通信パスを介して、任意の方法で実装され得る。
【0118】
システム102の他の実施形態は、例えば
図6に示される特定のタイプのヘッドセット108と比較して、異なるタイプのヘッドセットを使用することができる。例えば、別の実施形態において、ヘッドセットは、上記で特定された特徴(入力機構608を含む)のうちのいずれかを、例えば眼鏡(例えばゴーグル)、ヘルメットなどとして物理的に実装される任意のタイプのヘッドマウントディスプレイ(HMD)デバイスとともに組み込むことができる。システム102は、ヘッドマウントディスプレイデバイスを使用して、任意のタイプの情報を表示することができる。例えば、システム102は、ヘッドマウントディスプレイデバイス又はその何らかのサブセットを介して、次のセクション(セクションC)において説明されるメニューのいずれか及び他の情報を表示することができる。別の場合において、システム102は、ユーザーがインタラクトする現実世界に関連付けられている情報と合成されたコンピューター生成情報を表示することによって、拡張現実エクスペリエンスを提供することができる。例えば、システム102は、ユーザーの視野内にある関連するオブジェクト及びイベントの位置的近傍に、説明タグを表示することができる。別の場合において、システム102は、ユーザーが推奨された方向に移動するのを支援する方向プロンプトなどを表示することができる。さらに、システム102は、例えば視力障害を有するユーザーに対して簡略化及び拡大された情報を表示することなどによって、特定のユーザーに影響を及ぼす可能性がある任意の視力障害に対応するように、表示される情報のタイプを変更することができる。
【0119】
システム102は、例えば実際の環境のユーザーによる直接の視覚的知覚を「超える」コンピューター生成情報を表示する光学ミキサーを使用することによって(例えば部分反射ミラーなどを使用して)、任意の技術を使用して、拡張現実エクスペリエンスを実現することができる。別の実施形態において、システム102は、実際の環境をキャプチャーするためのビデオカメラを、ビデオカメラからのビデオ情報をコンピューター生成情報と合成する光学ミキサーとともに、使用することができる。いずれの場合も、システム102は、環境内のユーザーの位置を検出する1つ以上のデバイス、ユーザーの頭部の位置及び向きを検出する1つ以上のデバイス、及び/又はユーザーの注視の方向を検出する1つ以上のデバイスなどを使用して、ユーザーの推定される視野を判定することができる。
【0120】
別の場合において、ヘッドセットの他に、又はヘッドセットに加えて、別のタイプのウェアダブルデバイスが、上記の機能のいずれかを実行してもよい。例えば、ウェアラブルデバイスは、手首装着型デバイス、衣料品などに対応し得る。
【0121】
説明を簡単にするために、以下の記載では、ユーザーが
図6に示される基本的なタイプのヘッドセット108とインタラクトすると仮定するが、繰り返しになるが、ヘッドセット108は、任意の数の上述した補足的な特徴(ヘッドマウントディスプレイなど)を組み込むことができる。さらに、ヘッドセットの代わりに、又はヘッドセットに加えて、別のタイプのウェアダブルデバイスが使用されてもよい。
【0122】
図7は、
図1のシステム102を実装する1つの態様を示している。この実装態様において、システム102は、ユーザーコンピューティングデバイス702(簡潔に「ユーザーデバイス」)及びヘッドセット704の両方を利用する。より詳細には、機能のうちの1つの割り当てに応じて、ユーザーデバイス702は、システム102の機能のほとんどを実施する。すなわち、ユーザーデバイス702は、SIモジュール302と、任意の向き判定機構、動き判定機構、及び/又は位置判定機構708、任意のタッチ検知入力機構710、任意の触覚出力機構712、任意の表示出力機構714などを含む入力/出力機構706の集合と、を含む。これらの機構の例は、
図3の説明に関連して上記で与えられている。ユーザーデバイス702は、電源716(例えばバッテリー)、及びヘッドセット704と通信するための1つ以上の通信機構718も含む。
【0123】
一方、ヘッドセット704は、1つ以上のオーディオ出力機構720(骨伝導オーディオ機構など)、電源722(バッテリーなど)、及びユーザーデバイス702と通信するための1つ以上の通信機構724を含む。さらに、ヘッドセット704は、
図6を参照して上述したタイプの入力機構726(例えば
図6の入力機構608に対応する)のうちの任意のものを含み得る。通信機構724は、入力機構726によって呼び出された命令をユーザーデバイス702に送信することができる。ユーザーデバイス702は、オーディオ情報を、1つ以上のオーディオ出力機構720による提示のために、ヘッドセット704に送信することができる。
【0124】
図8は、システム102を実装する別の態様を示している。ここでは、システム102は、
図7のヘッドセット704と比較してより多くの処理能力を有するヘッドセット802を含む。実際に、1つの実施形態において、ヘッドセット802は、いかなる別個のユーザーデバイス106も使用することなく、システム102の全ての空間インタラクション関連機能を実行することができる。別の実施形態において、ヘッドセット802は、依然として、別個のユーザーデバイス106(
図8には図示せず)とインタラクトすることもある。別個のユーザーデバイス106は、
図7のユーザーデバイス702の全てのコンポーネント又はその任意のサブセットを含み得る。
【0125】
より詳細には、
図8の場合におけるヘッドセット802は、
図4を参照して上述した機能の任意のサブセットを実行するヘッドセット側SIモジュール804を含み得る。さらに、ヘッドセット802は、任意の向き判定機構、動き判定機構、及び/又は位置判定機構806を含み得る。これらの機構は、それらがユーザーの注意焦点の方向を反映し得る、ユーザーの頭部の物理的姿勢又は動きを判定するので、以下では一般に頭部検知機構と呼ばれる。さらに、ヘッドセット802は、
図6を参照して上述したタイプの入力機構808のうちの任意のものを含み得る。さらに、ヘッドセット802は、電源810、及び、ユーザーデバイス106とインタラクトするための1つ以上の通信機構812(システム102が、この実施形態において、必須ではないこのユーザーデバイス106を利用する場合)を含み得る。さらに、ヘッドセット802は、上述の任意の1つ以上のタイプの1つ以上のオーディオ出力機構814を含む。
【0126】
1つの動作モードにおいて、
図8のシステム102は、ヘッドセット802上に設けられた頭部検知機構を、それらが設けられ、適切に動作しているときに、利用することができる。ヘッドセット802によって提供される頭部検知機構は、それらの頭部検知機構がユーザーの向き、動き、及び/又は位置をより正確に反映する可能性があるので、ユーザーデバイス106によって提供される対応する検知機構より好ましい可能性がある。さらに、頭部検知機構の使用は、ユーザーが自分の向き、動き、及び/又は位置を登録するためにユーザーデバイス106とインタラクトする必要性をなくす。
【0127】
いくつかの場合において、ヘッドセット802は、任意的に、頭部検知機構によって生成された情報をユーザーデバイス106に転送してもよい。ユーザーデバイス106は、この情報を使用して処理を実行し、次いで、その処理の結果をヘッドセット802に返送することができる。ヘッドセット802は、次いで、その結果を伝達する音を、骨伝導技術を用いて、ユーザーの耳に伝えることができる。別の場合において、ヘッドセット側SIモジュール804は、頭部検知機構によって提供される情報をユーザーデバイス106に転送する必要なく、この処理を実行することができる。さらに別の場合において、ヘッドセット側SIモジュール804は、いくつかの動作を自身で実行するとともに、他の動作を実行するためにユーザーデバイス106に依拠することができる。例えば、ヘッドセット側SIモジュール804は、計算集約的な動作(3次元音の計算など)を実行するためにユーザーデバイス106に依拠することができる。なぜならば、これらの動作は、ヘッドセット108と比較して、ユーザーデバイス106においてより効率的に実行することができるからである。
【0128】
別の場合において、システム102は、対応するコンポーネントがヘッドセット802上で適切に動作していないときに、ユーザーデバイス106によって提供される1つ以上の向き判定機構、1つ以上の動き判定機構、及び/又は1つ以上の位置判定機構を利用することができる。
【0129】
さらに別の場合において、システム102は、ヘッドセット802及びユーザーデバイス106の両方によって提供されるセンサー測定値を、例えば、一方のデバイスのセンサー測定値を利用して、他方のデバイスのセンサー測定値の明らかなエラーを特定し、且つ/又はそれら2つの異なるバージョンのセンサー測定値の平均を取ることなどによって、利用することができる。
【0130】
図7及び
図8の実施形態のいずれにおいても、代替的又は追加的に、ヘッドセット(例えば704、802)及び/又はユーザーデバイス(例えば702、106)によって実行される機能の少なくとも一部は、
図1のリモート処理リソース112(例えばクラウドコンピューティングリソースに対応する)によって実行されてもよい。
【0131】
図9は、ユーザー902が車両内でユーザーデバイス904とインタラクトするシナリオを示している。
図9では詳細に示されていないが、ユーザー902は、ユーザーの耳を閉塞することなくユーザーにオーディオ情報を中継する骨伝導ヘッドセットを利用することもできる。より一般的には、
図9は、上述の機能が上述の場合以外の追加の使用シナリオに適用され得るという、より一般的な見地の例である。
【0132】
図9の場合において、ユーザー902は、取付け台906を使用して、ユーザーデバイス904を車両のダッシュボード領域に取り付けている。ユーザー902は、(
図9に示されるように)車両の運転者であることもあれば同乗者であることもある。電源コード908は、車両によって提供される電源出力からユーザーデバイス904に電力を供給することができる。
【0133】
図10は、
図6に示される機器の1つの動作方法を表すプロセス1002を示している。ブロック1004において、システム102は、少なくとも1つのヘッドセット入力機構のユーザーによる作動の結果としての(例えば、
図6に示されるヘッドセット入力機構608のうちの1つのユーザーによる作動に基づく)命令を受信する。ブロック1006において、システム102は、ブロック1004において提供された命令に基づいて機能を実行し、出力結果を提供する。ブロック1006は、ヘッドセット108及び/又はユーザーデバイス106によって実行され得る。ブロック1008において、ヘッドセット108は、出力結果を適用して、ユーザーが空間内でルート上をナビゲートするのを支援する又はより一般的には空間とインタラクトするのを支援するオーディオ情報を配信する。
【0134】
要約すると、上記の特徴は、ユーザーが安全且つ効率的に自分の環境を移動することを可能にするという上記の目的に寄与する。例えば、これらの特徴は、ユーザーが環境を移動するときに過度にユーザーの気を散らすことなく、例えばユーザーが別個のユーザーデバイスにアクセスしてそれとインタラクトすることを要することなく、ユーザーが(例えばヘッドセット108のユーザー入力機構608とインタラクトすることによって)様々な動作モードをアクティブ化できる便利な方法を提供する。
【0135】
C.ユーザーとユーザーの環境との間のインタラクションを容易化する例示的なユーザーインターフェイス機能
このセクションは、
図4及び
図5のアプリケーションインターフェイスモジュール402の1つの動作方法に関する例示的な詳細を提供する。繰り返しになるが、アプリケーションインターフェイスモジュール402は、ユーザーがSIモジュール302の様々なコンポーネントとインタラクトすることを可能にする。アプリケーションインターフェイスモジュール402への繰り返しの言及を容易にするために、このセクションでは、このコンポーネントは、AIM402と省略形で呼ばれる。AIM402は、個別のコンポーネントを指すこともあるし、システム102の実際の実装における2つ以上のコンポーネントによって実行される複数の機能の集合を指すこともある。
【0136】
ユーザーインターフェイスエクスペリエンスは、異なるコンポーネント又は特徴を有する。以下のサブセクションC.1は、AIM402が、例えばユーザーデバイス106によって提供される視覚的ユーザーインターフェイス提示を介してユーザーがSIモジュール302とインタラクトすることを可能にする1つの例示的な方法に関する詳細を提供する。サブセクションC.2は、AIM402が様々な音及び触覚フィードバックキューをユーザーに提供できる1つの例示的な方法に関する詳細を提供する。サブセクションC.3は、AIM402が、発話命令を用いてユーザーがSIモジュール302とインタラクトすることを可能にする1つの例示的な方法に関する詳細を提供する。
【0137】
一般に、以下の記載は、例えば
図2の例のように、ユーザーによって行われる空間を通る旅行のコンテキストにおけるAIM402を説明していることに留意されたい。しかしながら、AIM402は、ユーザーがその場ごとに空間を探索する目的でルートを準備することなく空間を歩き回る場合を含む、ユーザーが空間とインタラクトする他のシナリオにおいても同様のサービスを提供する。さらなる留意事項として、以下で説明されるユーザーインターフェイス特徴はまた、汎用的な性質であり、したがって、空間とのユーザーのインタラクションに必ずしも関連するとは限らない他のコンテキストにも適用されてよい。
【0138】
別の予め留意しておく事項として、この記載は、ユーザーによって実行されるジェスチャー関連アクションと、それらのジェスチャー関連アクションに応答してAIM402によって実行される対応する動作と、を説明することによって、AIM402によって解釈される多くのジェスチャーを説明している。上記で
図5を参照してより完全に説明されたように、AIM402は、各場合において、(a)例えばユーザーが明確なフリックジェスチャーなどを行ったときにユーザーによって実行されたジェスチャーを表す入力情報を検出し、(b)この入力情報を、既知のジェスチャーに関連付けられている記憶されているパターンと比較して、ユーザーが行った特定のジェスチャーを判定し、(c)検出されたジェスチャーに関連付けられている動作を実行する、ことによって、このタスクを実行する。簡潔にするために、以下の多くの場合において、これらの個々の動作の明示的な詳説は省略される。
【0139】
C.1.視覚的エクスペリエンス:ワークスペース及びメニューとのインタラクション
1つの手法において、AIM402は、マスターワークスペースを、より小さな複数のワークスペースの集合に編成する。これらのワークスペースは、互いに対する位置的関係を有する。この構造は、ユーザーが物理空間のゾーンとの繰り返しの遭遇を通じてそのゾーンに馴染むようになるのと同様にアプリケーションの編成を想像することを可能にするので、有利である。この特徴は、ユーザーが、求められている情報及び/又は機能に効率的にアクセスすることを可能にする。
【0140】
例えば、
図11は、AIM402が、マスターワークスペースをより小さな5つのワークスペースに編成する例を示している。ホームワークスペース1102は、旅行を行う間のユーザーのインタラクションの中心的焦点として機能する。例えば、以下で説明されるように、ホームワークスペース1102は、旅行又は空間との任意の他のインタラクションにおける各特定の点において、ユーザーの現在のコンテキストに関する情報を提示する。ユーザーがまだ旅行を開始していない場合には、ホームワークスペース1102は、デフォルトハブページを提示することができる。
【0141】
メインワークスペース1104は、ホームワークスペース1102の左側にあり、「付近」ワークスペース1106は、ホームワークスペース1102の右側にある。情報ワークスペース1108は、ホームワークスペース1102の上側にあり、設定ワークスペース1110は、ホームワークスペース1102の下側にある。これらのワークスペースのそれぞれの役割が、以下でより詳細に説明される。
【0142】
上述の各ワークスペースの位置は、限定ではなく例示を意図して記載されている。他の実施形態は、ワークスペースの他の配置を提供することができる。さらに、他の実施形態は、AIM402によって提供されるワークスペースの数を変更することができる。例えば、別の実施形態は、ホームワークスペース1102に対して斜めに配置されるワークスペースを提供することによって、別の4つのワークスペースを提供することができる。
【0143】
図12は、ユーザーがホームワークスペース1102からメインワークスペース1104にナビゲートできる1つの方法を示している。この非限定的な場合において、ユーザーは、ホームワークスペース1102上で右フリックジェスチャーを実行して、メインワークスペース1104にナビゲートする。図示されていないが、ユーザーは、左フリックジェスチャー(又はもう一度の右フリックジェスチャー)を実行して、メインワークスペース1104からホームワークスペース1102に戻ることができる。
【0144】
同様に、ユーザーは、ホームワークスペース1102上で左フリックジェスチャーを実行して、「付近」ワークスペース1106にナビゲートすることができる。ユーザーは、ホームワークスペース1102上で下フリックジェスチャーを実行して、情報ワークスペース1108にナビゲートすることができ、ホームワークスペース1102上で上フリックジェスチャーを実行して、設定ワークスペース1110にナビゲートすることができる。ユーザーは、例えば、親指をユーザーデバイス106のタッチ検知表面上に置いて、所望の方向に親指をフリックすることにより、ユーザーデバイスを保持している手の親指を使用して、これらのジェスチャーのいずれも実行することができる。フリックの動きでは、ユーザーは、1本以上の指でタッチ検知表面と接触し、1本以上の指を表面上である距離だけ移動させ、次いで1本以上の指を表面から離すということを、全て比較的素早く連続して(物理的オブジェクトを平坦な表面上ではじくように)行う。
【0145】
1つの実施形態において、任意の周辺ゾーンにナビゲートするために、ユーザーは、最初にホームワークスペース1102にナビゲートするものと予想される。しかしながら、別の実施形態において、AIM402は、ユーザーが最初にホームワークスペース1102に戻らなくても1つの周辺領域から別の周辺領域にナビゲートすることを可能にする。
【0146】
より一般的には、このセクションにおける全ての例において、ディスプレイの表面上の破線円は、ユーザーが指でその表面に接触するポイントを表している。いくつかの場合において、ディスプレイの表面は、異なるサイズの2つの破線円を示す。2つの円のうち大きい方の円は、ユーザーが自分の指を当てた位置を表しているのに対し、2つの円のうち小さい方の円は、ユーザーが自分の指を離した位置を表している。他の場合(図示せず)において、ユーザーは、(例えばピンチタイプのジェスチャーを実行するために)タッチ検知表面に2つ以上の位置で同時に接触することを含む少なくとも1つのジェスチャーを実行することもある。他の場合(図示せず)において、ユーザーは、実際にデバイスの表面に接触せずに、その表面の上方でホバリングすることによって、少なくとも1つのジェスチャーを実行することもある。他の場合(図示せず)において、ユーザーは、ビデオカメラ及び/又はデプスカメラなどによって検出され得る自由空間ジェスチャーを実行することもある。
【0147】
最後の導入上の留意事項として、このセクションは、特定のジェスチャー、メニュー構造、及びメニュー項目を、全て限定ではなく例示を意図して説明している。他の実施形態は、これらのユーザーインターフェイス特徴の任意の態様を変化させることができる。例えば、別の実施形態(図示せず)において、AIM402は、ユーザーがタップタイプのジェスチャーを使用して、又は、ディスプレイの表面上で特定の形状を描くことによって、ワークスペース間を遷移することを可能にする。
【0148】
図13〜
図16は、ホームワークスペース1102内に提示され得る情報のタイプを示している。上述のように、ホームワークスペース1102は、ユーザーがルート上をナビゲートするときに又は他の形で空間とインタラクトするときに、ユーザーの注意の主要焦点として機能する。デフォルト状態において、
図13に示されるように、ホームワークスペース1102は、ハブページを提示することができる。メニュー構造の特定の性質、及びその構造内のメニュー項目が以下で説明される。
【0149】
ユーザーの旅行中、ホームワークスペース1102は、ユーザーの現在のコンテキストに関する情報を提示することができる(しかしながら、ユーザーによる要求に応じて、旅行中に他の情報がホームワークスペース1102内に提示されることもある)。例えば、
図14の場合において、ユーザーが現在列車に乗っていると仮定している。ホームワークスペース1102は、列車内のユーザーのエクスペリエンスに焦点を当てたメニューを提示することができる。
図15の場合において、ユーザーが現在特定の道路を歩いていると仮定している。デフォルトとして、ホームワークスペース1102は、その道路におけるユーザーのエクスペリエンスに関する情報を提示することになる。例えば、ホームワークスペース1102は、その道路におけるユーザーの現在位置1502を示す地図を提示することができる。あるいは、ユーザーは、AIM402とインタラクトして、
図14に示されるタイプのメニューを生成することもできるが、その場合には、そのメニューは、その道路を歩いている間のユーザーのエクスペリエンスに関連するメニュー項目を含むことになる。上記の挙動により、AIM402は、環境内でのユーザーの現在のコンテキストに最も関連する情報を明らかにし、その情報をホームワークスペース1102内に提示する。したがって、ユーザーは、例えば煩雑なメニュー構造をナビゲートする必要がないなど、最も関連する情報を「探し求める」必要なく、最も関連する情報を容易に発見して消費することができる。このような特徴はまた、ユーザーの気の散らしを低減させ、したがって、システム102の安全性に寄与する。
【0150】
それでも、ユーザーは、AIM402とインタラクトして、ホームワークスペース1102内での提示のために、ユーザーの周囲の環境とは関連しない情報をアクティブ化することもできる。例えば、ユーザーは、以下で説明されるように、例えばタブメニューオプションをアクティブ化することによって、タブメニューをアクティブ化することができる。これに応答して、AIM402は、
図16に示されるタブメニューを提示する。タブメニューは、以前に開かれたメニューに対応する開いたタブの集合を示す。これらのタブメニューの一部は、ユーザーが既に完了している以前の旅程セグメントに関する情報に対応し得る。ユーザーは、任意のこのようなタブ関連メニュー項目をアクティブ化することができる。これに応答して、AIM402は、以前の旅程ステップに関する情報を、例えばメニューの形態で又は他の何らかのフォーマットで、ホームワークスペース1102内に表現することができる。メニュー構造はまた、ユーザーによる要求に応じて、ユーザーが、その旅行でまだ遭遇していない将来の旅程ステップを調べることを可能にし得る。
【0151】
さらに、旅行に出た後でも、ユーザーは、例えばユーザーがそのデフォルトハブメニューで指定されている情報及び/又は機能にアクセスできるように、
図13に示されるハブメニューに戻るようにAIM402に命令することができる。
【0152】
さらなる明確化として、上記の例において、現在のコンテキストは、ユーザーの旅行全体における物理的な位置又はセグメントに関連する。他の場合において、ホームワークスペース1102は、ユーザーによる仮想空間の探索に関するコンテキスト情報を提示することができる。例えば、ユーザーは、店舗で提供される商品の階層内をナビゲートすることができる。このシナリオにおいて、ホームワークスペース1102は、商品のグループ、個々の商品などに関連するメニューを提示することができる。
【0153】
一般に、
図13〜
図16に示される上述のタイプのメニューは、一次メニューに対応する。AIM402は、これらのタイプのメニューを、ホームワークスペース1102内に表示する。対照的に、AIM402は、二次メニューを、ホームワークスペース1102の周辺にある他のワークスペース内に提示する。
図17〜
図20は、これらの周辺ワークスペース内に提示され得る例示的な二次メニューを示している。
【0154】
例えば、
図17は、メインワークスペース1104内に提示されるメインメニューを示している。メインメニューは、SIモジュール302の異なる態様とインタラクトするときに一般に使用されるアクションを特定する。
図18は、設定ワークスペース1110内に提示される設定メニューを示している。設定メニューは、ユーザーがSIモジュール302の動作に影響を及ぼす様々なパラメーターを変更することを可能にする。
図19は、情報ワークスペース1108内に提示される情報メニューを示している。情報メニューは、バッテリー残量、信号強度などのシステム情報への便利なアクセスを提示する。情報メニューは、公共輸送サービスからのリアルタイム更新など、通知及び他の有用なワーニング情報並びに旅行情報への便利なポータルも提供する。
【0155】
図20は、「付近」ワークスペース1106内に提示される「付近」メニューを提供する。「付近」メニューは、
図4のRIDモジュール426によって特定された、現在時点においてユーザーから近距離内にある(又は他の形でユーザーの現在のコンテキストに関連付けられている)コンテキスト関心項目(IOI)に関する情報を提示する。ユーザーは、設定メニューを使用して、何が「付近」コンテキストIOIを構成するかを決定する最大距離を指定することができる。各コンテキストIOIは、「付近」メニューにおいて、名称、カテゴリー(「飲食物」カテゴリーなど)、及びユーザーからの距離によって識別される。ユーザーは、このメニュー内の項目をアクティブ化して、SIモジュール302にこのコンテキストIOIに関するオーディオ情報を提供させることができる。このオーディオ情報は、配信時に、物理空間内でそのコンテキストIOIに関連付けられているエンティティーを見つけることができるのと同じ方向において発生しているように感じられるように、3次元音情報として構成され得る。
【0156】
図21は、ホームワークスペース1102内に提示され得る一時メニューの例を示している。例えば、ユーザーは、情報ワークスペース1108内に提示される
図19に示される情報メニューに最初にナビゲートすることによって、この一時メニューをアクティブ化することができる。ユーザーは、次いで、このメニュー内の「通知」メニュー項目をアクティブ化することができる。これに応答して、AIM402は、
図21に示される一時メニューを提示することができる。
【0157】
図22は、対照的に、オーバーレイメニューの例を示している。この特定の例において、ユーザーは、設定ワークスペース1110内に提示される
図18に示される設定メニューに最初に進むことによって、このオーバーレイメニューをアクティブ化することができる。次いで、ユーザーは、このメニュー内の「コンテキストアウェアネス」メニュー項目をアクティブ化することができる。AIM402は、ユーザーのこのアクションに応答して、
図22に示されるオーバーレイメニューを提示する。
図21に示される一時メニューとは異なり、
図22に示されるオーバーレイメニューは、ホームワークスペース1102内ではなく、設定ワークスペース1110内の
図18に示される設定メニューに「重なるように」提示される。オーバーレイメニュー及び一時メニューは、以下で説明されるように、「バック」コマンドの実行に応答して、異なる挙動を示し得る。
【0158】
図22の特定の場合において、オーバーレイメニューは、ユーザーがSIモジュール302によって提供されるコンテキストアウェアネスのレベルを変更することを可能にする。例えば、このメニューを通じて、ユーザーは、ユーザーに転送される情報の量を定めるパラメーター値を設定することができる。1つの場合において、ユーザーは、自分の現在のコンテキストに関連する可能性がある全ての情報を受け取ることを選択することができる。別の場合において、ユーザーは、高重要度であると考えられるワーニング及び他の情報項目のみを受け取ることを選択することができる。
【0159】
図23は、ユーザーが、ユーザーの旅行の任意の局面において自分の現在のコンテキストに関する情報を提示するようにSIモジュール302に命令することができる1つの方法を示している。1つの非限定的な場合に従うと、ユーザーは、指(例えば親指)を使用して、ユーザーデバイス106のタッチ検知表面上の任意の位置でシングルタップジェスチャーを行うことができる。このジェスチャーを検出したことに応答して、SIモジュール302は、発話メッセージとして、ユーザーの現在のコンテキストに関するハイレベル情報を提示することができる。例えば、SIモジュール302は、このコンテキストに適切であろうコンテキストメニューのタイトルをアナウンスすることができる。例えば、
図14の例において、SIモジュール302は、「E号車:ロンドン、パディントン」とアナウンスすることができる。
【0160】
あるいは、ユーザーは、ダブルタップジェスチャーを行うこともできる。このジェスチャーを検出したことに応答して、SIモジュール302は、ユーザーの現在のコンテキストに関するより詳細な情報を、この場合も発話メッセージとして提示することができる。例えば、ダブルタップ時に、SIモジュール302は、
図14に示されるメニュー内のメニュー項目をアナウンスすることができる。
【0161】
次に、ユーザーがトリプルタップジェスチャーを実行したと仮定する。このジェスチャーを検出したことに応答して、SIモジュール302は、
図14に示されるタイプのメニューが実際にユーザーの現在のコンテキストに関連する場合には、そのメニューとどのようにインタラクトするかをユーザーに通知する指示をアナウンスすることができる。例えば、これらの指示は、メニューをどのようにアクティブ化するか、メニュー内をどのようにナビゲートするか、メニュー内でメニュー項目をどのように選択するかなどをユーザーに通知することができる。
【0162】
図24に進むと、この図は、ユーザーがメニューをどのようにアクティブ化できるか、及びその後にユーザーがメニューとどのようにインタラクトできるかを示している。1つの非限定的な場合において、ユーザーは、ユーザーデバイス106のタッチ検知ディスプレイ表面の表面上の任意の位置でタップアンドホールドジェスチャーを行うことによって、
図24に示されるメニューをアクティブ化することができる。例えば、
図24に示されるように、破線円2402は、ユーザーがタッチ検知表面の表面を自分の親指でタップして親指をそのままにした位置を示している。
【0163】
このジェスチャーを検出したことに応答して、AIM402は、メニュー2404を提示する。メニューは、ユーザーが表面にタッチした(タッチ位置に対応する)表面上のポイント(表示位置に対応する)にセンタリングされる。この特徴は、メニュー2404をアクティブするためにユーザーインターフェイス提示において特定の要素を探し求める必要性をなくすので、ユーザーは、この特徴を有用であると感じるであろう。そうではなく、ユーザーは、表面上の任意の位置でタップアンドホールドジェスチャーを実行することができる。この特徴は、システム102を使用する際のユーザーの気の散らしを低減させる。しかしながら、全ての位置が、メニュー2404のアクティブ化の成功をもたらす結果になるとは限らない。例えば、ユーザーが表面の最上部又は最下部に近すぎる位置でタップした場合には、AIM402は、任意的に、エラーメッセージを(例えば発話メッセージとして)ユーザーに提示して、表面の中央により近い位置でタップアンドホールドジェスチャーを繰り返すようにユーザーに要求してもよい。
【0164】
ここまでに示されたメニューは、特定の一様なメニュー構造を有する。
図24に示されるメニュー2404は、次に以下で説明される同じ構造を有するが、この構造は、限定ではなく例示を意図して記載されていることに留意されたい。他の実施形態は、他のメニュー構造及び挙動を採用することができる。例えば、このサブセクションは、
図24のメニュー2404と比較して異なるメニュー構造を採用し、異なるメニュー挙動を示す1つの実施形態の例を最後に挙げる。さらに、本明細書に記載のメニューは、そのメニュー項目を直線状のリストの形態で提示するが、他の形でそのメニュー項目を提示する他のメニュー(例えばラジアルメニュー、パイメニューなど)が使用されてもよい。
【0165】
図24に示されるメニュー構造は、マーカー項目2406によって分離されている、メニュー項目の2つのグループを有する。より詳細には、メニュー項目の第1のグループ2408は、ユーザーの現在のコンテキスト又は間近のタスクに特に関連するメニュー項目を提示する。メニュー項目の第2のグループ2410は、異なるワークスペース内に提示され得る、したがってグローバルメニュー項目又は一般メニュー項目と呼ばれることがある、複数のタイプのメニューに関連するメニュー項目を提示する。例えば、第2のグループ2410内のメニュー項目である「リスニング開始」コマンドは、異なるメニュー及びワークスペースにわたって関連するのに対し、第1のグループ2408内のメニュー項目であるメニュー項目「項目A」は、ユーザーがメニュー2404とインタラクトすることによって実施しようとしているタスクが何であれ、それがそのタスクに特に関連するという理由で選択され得る。
【0166】
しかしながら、第2のグループ2410は、特定のメニューに関連しない所定のグローバルな選択肢を省略することもある。例えば、ユーザーが「タブ」メニューを既に見ている場合には、そのメニューに関連付けられている第2のグループは、ユーザーがタブメニューにアクセスすることを可能にするメニューオプションを省略することができる(これは、ユーザーがそのメニューを既に見ているからである)。
【0167】
(第1のグループ2408内又は第2のグループ2410内のいずれでも)異なるメニュー項目は、選択されたときに異なる動作を呼び出す。例えば、第1のタイプのメニュー項目は、選択されたときにあるアクションを呼び出すことができる。例えば、メニュー項目「リスニング開始」は、呼び出されたときに、ユーザーの音声コマンドのリスニングを開始するようにSIモジュール302に命令する。第2のタイプのメニュー項目は、呼び出されたときに、バッテリー状態情報などの情報を提示することができる。第3のタイプのメニュー項目は、そのメニュー項目が呼び出されたときに、ユーザーが特性値を変更する機会を提示することができる。例えば、いくつかの場合において、このタイプのメニュー項目のユーザーによるアクティブ化は、オーバーレイメニューをアクティブ化することができる。ユーザーは、次いで、このオーバーレイメニューとインタラクトして、検討中の特性値を変更することができる。別の場合において、このタイプのメニュー項目のユーザーによるアクティブ化は、例えば設定を「オン」状態から「オフ」状態に切り替える又は「オフ」状態から「オン」状態に切り替えることによって、特性値を直接変更することができる。さらに他のタイプのメニュー項目及び関連付けられる呼出し挙動も可能である。
【0168】
マーカー項目2406は、メッセージ「解除するには離してください」を表示する。このメッセージは、ユーザーが自分の指が他の何らかのメニュー項目ではなくマーカー項目2406上に配置されている間に指を離すと仮定して、ユーザーがいかなるメニュー項目も選択することなく自分の指をタッチ検知表面の表面から離すことができることをユーザーに通知する。このようなジェスチャーに応答して、AIM402は、メニュー2412を、その元の非アクティブ状態で表示することができる。メニュー2412内のマーカー項目2414は、タップアンドホールドジェスチャーを実行してメニュー2404をそのアクティブ状態に再びアクティブ化するようにユーザーを導くメッセージ「タップアンドホールド」を有する。
【0169】
図25に進むと、メニュー2404を非アクティブ化する代わりに、ユーザーが、第1のグループ2408内の項目を上にスクロールすることを決定したと仮定している。ユーザーは、自分の指をタッチ検知表面上に維持しながら上方向に移動させることによって、このアクションを実行することができる。これに応答して、AIM402は、
図25に示されるメニュー状態2502を生成することができる。詳細には、AIM402は、ユーザーのこのジェスチャーに応答して、メニュー項目を下方向に移動させており、これによりマーカー項目2406ではなく第1のメニュー項目2504をハイライトさせている。このメニュー項目2504を選択するためには、ユーザーは、指をメニュー項目2504から離せばよい。あるいは、ユーザーは、マーカー項目2406を元の位置に戻した後、指がその項目に配置されている間に指を離すことによって、このメニューを非アクティブ化することもできる。あるいは、ユーザーは、メニュー項目の第2のグループ2410へと反対方向にスクロールすることもできる。ユーザーは、指が第2のグループ2410内のメニュー項目のうちの1つのメニュー項目上に配置されている間に指を離して、このメニュー項目を選択することができる。ユーザーは、自分が環境を移動するときに、自分の気の散らしを最小限にしながら、シームレス且つ流動的に片手でユーザーデバイス106とインタラクトすることができるので、上記のユーザーインターフェイス挙動を有利と感じるであろう。例えば、この実施形態において、ユーザーは、一連のコマンドボタン又はメニュー項目を探し求めて選択する必要がない。このようにすることは、ユーザーに、ユーザーデバイス106に特別な注意を向けることを要求することになる。
【0170】
図25の具体例において、ユーザーが項目の第1のグループ2408の最上部までスクロールして、「さらなる項目」メニュー項目2506を選択し、次いで、このメニュー項目2506上で指を離したと仮定している。これに応答して、AIM402は、
図26に示されるメニュー2602を提示する。このメニューは、直前のメニューに示される第1のグループ2408の続きを表す、メニュー項目の別の第1のグループ2604を提供する。すなわち、
図25における第1のグループ2408は、メニュー項目1、メニュー項目2、及びメニュー項目3を提示するのに対し、
図26における第1のグループ2604は、メニュー項目4、メニュー項目5、及びメニュー項目6を提示する。より一般的には、このメニュー構造は、メニュー項目の完全なリストを、リンクされたより小さなリストの系列として表現することができる。
図25及び
図26の例において、2つのリンクされたリストが示されているが、完全なリストは、任意の数のリンクされたリストによって形成され得る。
【0171】
ユーザーは、「前のページ」メニュー項目2606へと上にスクロールし、次いでこの項目から指を離すことによって、
図25に示されるメニュー状態2502に戻ることができる。あるいは、このバック命令を実行するために、
図26に示されるように、ユーザーは、自分の指を(例えば、破線円2608で示されるように)タッチ検知表面の外縁部に移動させ、次いで表面の中央に向かって内側にフリックすればよい。ユーザーは、表面の反対側の外縁部から内側にフリックすることによっても、同じ動作を実行することができる。
【0172】
図26には示されていないが、メニュー2606は、例えば連続したバック命令を発行することによってリンクされたリストを連続的に戻るのではなく、一連のカスケード型メニューリストにおける最初のページに(適切なメニュー項目を介して)戻るためのオプションをユーザーに与えることができる。さらに、図面には示されていないが、各グループは、グループの終端を示すリスト終端マーカー項目を含み得る。ユーザーは、この項目へと指を移動させて、指がその項目上に配置されている間に指を離すことによって、メニューを非アクティブ化することができる。
【0173】
より一般的には、ユーザーは、異なるタイプのアクションを生じさせ得る異なるタイプのメニュー上で、
図26に示されるタイプのバックジェスチャーを実行することができる。例えば、ホームワークスペース1102内に提示されるルート(一次)メニュー上でのバックアクションは、それが、ユーザーが行うのを意図していることであることをユーザーが確認すると、ユーザーに、SIモジュール302に関連付けられているアプリケーションからイグジットさせることができる。ホームワークスペース1102内に提示される一次メニュー上でのバックアクションは、AIM402に、ホームワークスペース1102内に最後に提示されたコンテキストメニューが何であれ、そのコンテキストメニューを提示させることができる。オーバーレイメニュー上でのバックアクションは、「元となる」二次メニューを二次ワークスペース内に提示させることができる。例えば、(例えば
図22に示される)特定の設定関連オーバーレイメニュー上でのバックアクションは、(例えば
図18に示される)元となる設定メニューを設定ワークスペース1110内に表示させることができる。
【0174】
図27は、AIM402によって提供されるメニュー機能の第2の実施形態に対応する、
図11の実施形態とは異なる、ワークスペースの代替の編成を示している。概要として、
図27のワークスペース構造は、
図11に示されるワークスペースと同じ基本的な機能を果たす5つのワークスペース(2702、2704、2706、2708、2710)を含む。例えば、ホームワークスペース2702は、旅行を通じてのユーザーの注意の中心的焦点として引き続き機能する。ホームワークスペース2702はまた、ユーザーの旅行(又は空間との他のタイプのインタラクション)において遭遇する現在のコンテキストに関連付けられているメニュー及び他の情報を引き続き表示する。しかしながら、ホームワークスペース2702は、ハブメニューをデフォルトとしては提示しない。そうではなく、ホームワークスペースは、デフォルトとしてタブ関連情報を表示することに専念する。
【0175】
より詳細には、ホームワークスペース2702は、アクティブなタブが存在しないときには、
図28に示されるデフォルトタブ情報を表示する。デフォルトタブ情報は、ユーザーがタブの作成をどのように開始できるかについてのガイダンスを提供することができる。一方、ホームワークスペース2702は、アクティブなタブが存在するときには、
図29に示されるタブメニューを表示することができる。デフォルトでは、リスト内で最初の位置を有するタブメニュー項目(すなわちタブNo.1)が、現在のコンテキストに対応する。
【0176】
図29は、第2の実施形態が、ここまでに説明されたメニュー構造と比較して異なるメニュー構造を提供することも示している。例えば、第2の実施形態は、メニューを、メニューマーカーによって分離される、メニュー項目の2つのグループに編成しない。そうではなく、第2の実施形態は、ユーザーの現在の関心焦点に関連すると判定されたメニュー項目の単一のリストを提示する。ユーザーが以前に第2のグループ内に提示されたタイプのグローバルメニュー項目にアクセスしたいと望む場合には、ユーザーは、メインワークスペース2704にナビゲートして、これらの項目にアクセスすることができる。
【0177】
図30は、メニュー項目のリスト内のメニュー項目の1つの可能な編成に関する追加の情報を示している。ここでは、メニュー項目は、ユーザーの付近にある店舗を探す検索を行ったことに応答して生成された検索結果項目を表す。ユーザーは、第1の実施形態に関して上述した(また
図23及び
図24に示される)タップアンドホールドジェスチャーを実行することによって、
図30に示されるメニューなどの任意のメニューをアクティブ化することができる。
【0178】
メニューがアクティブ化されると、第2の実施形態では、AIM402は、リスト内の最初のエントリーを、ユーザーデバイスのディスプレイ表面の中央付近に提示する。ユーザーは、次いで、1回以上のパン(panning)ジェスチャーを上方向に行うことによってリストを上に移動させることができ、又は、1回以上のパンジェスチャーを下方向に行うことによってリストを下に移動させることができる。ユーザーがいずれかの方向でリストの終端に到達すると、このリストは繰り返す。すなわち、ユーザーがリスト内の最後の項目を過ぎて先に進ませると、ユーザーは、次のエントリーとして、最初の項目に遭遇することになる。ユーザーがリスト内の最初の項目を過ぎて先に進ませると、ユーザーは、最後の項目に遭遇することになる。このメニュー提示方策により、第2の実施形態は、第1の実施形態において使用されるような複数ページリストを使用せずに済ませることができる。すなわち、ユーザーは、1回以上のパンジェスチャーを使用して、単一のマスターリストをナビゲートする。ユーザーは、1本以上の指をタッチ検知表面に接触させ、1本以上の指を所望のパン方向にドラッグすることによって、パンジェスチャーを行う。ここでは、この動きは、フリックジェスチャーと比較して遅い。
【0179】
図31は、上述の挙動に関する追加の情報を提供している。ここでは、ユーザーは、表示されたメニューを下方向にドラッグすることによって、パンジェスチャーを行う。しかしながら、第1の実施形態の場合とは異なり、ユーザーは、リストをナビゲートしているときに表面上に指を維持する必要がない。例えば、ユーザーは、複数回のパンジェスチャーを行うことができ、各パンジェスチャー間で、ユーザーは、表面から指を離してもよい。第2の実施形態は、ユーザーの指が表面から離れたことを、その時点においてハイライトされているメニュー項目が何であれ、そのメニュー項目を選択する命令として解釈しない。第2の実施形態は、規定された時間期間ユーザーによるアクションがなかった後に、又はユーザーがバックジェスチャーを行ったときに、メニューを非アクティブ化することができる。
【0180】
図32に示されるように、ユーザーは、表面の外縁部に向かって短いタッチアンドドラッグジェスチャーを行うことによって、リスト内のハイライトされた項目を選択することができる。AIM402は、AIM402が、ハイライトされた項目を選択する要求として、ユーザーのそのジェスチャーを解釈したときに、可聴フィードバック及び/又は触覚フィードバックを提供することになる。次いで、AIM402は、ユーザーがユーザーデバイス106の表面から指を離したときに、その項目を選択することになる。あるいは、指を離す代わりに、ユーザーは、反対方向に指をドラッグして、選択動作をキャンセルすることができ、AIM402は、これを、(例えば適切な1つ以上のキューを提供することによって)確認することになる。
【0181】
図33は、メニューの外縁部で実行されるバックジェスチャーと、このジェスチャーに対する応答と、を示している。より詳細には、ユーザーは、AIM402がユーザーのジェスチャーを理解したことを(例えば適切な1つ以上のキューを提供することによって)AIM402が示すまで、それぞれの外縁部から左又は右に短い距離だけ移動させることによって、バックジェスチャーを実行することができる。このとき、ユーザーは、指を離すと、バックアクションを実行することができる。あるいは、ユーザーは、AIM402がバックアクションを取り消す要求としてユーザーのアクションを解釈するまで、反対方向に指を移動させることができる。
図33の例において、バックアクションは、AIM402に、検索結果メニューからタブメニューへと遷移させる。
【0182】
図34は、ユーザーが、例えばホームワークスペース2702内に提示されている(例えば)検索結果メニュー上で円形を描くなど、メニュー上で円形3402を描くことによって実行できるジェスチャーを示している。このジェスチャーに応答して、AIM402は、タブメニューに戻す。図示されていないが、ユーザーは、その後、タブメニュー上で同じ円形ジェスチャーを実行することができる。これに応答して、AIM402は、検索結果メニュー(又はユーザーが出発した任意のページ、すなわちユーザーが最初の円を描いた任意のページ)に戻す。
【0183】
図35は、ユーザーが、例えばホームワークスペース2702内に提示されている(例えば)検索結果メニュー上で半円形を描くなど、メニュー上で半円形3502を描くことによって実行できるジェスチャーを示している。これに応答して、AIM402は、現在のコンテキストにおいて提示されていたものが何であれ、そこに焦点を戻す。
図35の例において、AIM402は、(
図35の右側に示されるように)旅行中の現在のステップに関連付けられている情報に戻す。ユーザーが現在旅行を行っていない場合には、現在のコンテキストは、最後に開かれた任意のメニューに対応し得る。ユーザーは、
図35の右側に示されるページ上で半円形を描くことによって、この遷移を逆にすることができる。
【0184】
図36及び
図37は、
図1のシステムによって提供される冗長性(verbosity)のレベル及びこのシステムによって提供されるコンテキスト情報のレベルをそれぞれ増大及び低減させるために使用され得る異なるジェスチャーを示している。例えば、
図36に示されるように、ユーザーは、任意のメニュー(ここではタブメニュー)上で右矢印形状3602を描いて、SIモジュール302の冗長性のレベルを増大させることができる。
図37に示されるように、ユーザーは、任意のメニュー上で左矢印形状3702を描いて、SIモジュール302の冗長性のレベルを低減させることができる。冗長性のレベルは、SIモジュール302がそのオーディオ情報を配信する簡潔さを指し、例えば「簡潔」から「詳細」までの範囲である。
【0185】
図37に示されるように、ユーザーは、任意のメニュー上で上矢印形状3704又は下矢印形状3706を描いて、ユーザーに提供される情報のレベルをそれぞれ増大又は低減させることができる。例えば、ユーザーは、最も重要性が低いカテゴリーの情報項目のうちの1つ以上に関する情報をユーザーに送信することを控えることによって(例えば、ワーニング情報及び旅程情報は送信するが、コンテキスト情報は省略することによって)、コンテキスト情報の量を低減させることができる。
【0186】
第2の実施形態では、図面には詳細に示されていないが、(第1の実施形態と比較して)他の新たなジェスチャーを実行することもできる。例えば、ユーザーは、第1のメニュー上でタップアンドホールドジェスチャーを実行して、そのメニューからアクションメニューに遷移させることができる(ここで、これらのアクションは、第1のメニューに関連付けられているコンテキストに関連するアクションに関連する)。ユーザーは、アクションメニュー上で同じジェスチャーを実行して、元の(第1の)メニューに戻ることができる。この場合におけるタップアンドホールジェスチャーは、一般に任意のメニューをアクティブ化するために使用されるタップアンドホールドジェスチャーより長いホールドアクションを必要とする。
【0187】
別の新たなジェスチャーとして、ユーザーは、メニューのメニュー項目上にある間に、垂直方向フリックジェスチャーを実行することができる。AIM402は、このアクションを、フリックの方向に応じて上方向又は下方向のいずれかに、メニュー項目を迅速に進める要求として解釈する。別の新たなジェスチャーとして、ユーザーは、メニュー内のメニュー項目上で水平方向フリックジェスチャーを実行して、リスト内の次のメニュー項目に進めることができる。ユーザーは、このような水平方向フリックジェスチャーを複数回行って、1回でメニュー項目1つの割合で、リスト内を連続的に進めることができる。
【0188】
第1の実施形態又は第2の実施形態(
図11及び
図27に対応する)のいずれにおいても、ユーザーは、ユーザーデバイス106をポケットモードにするジェスチャーを実行することができる。ユーザーデバイス106がこのジェスチャーを検出すると、ユーザーデバイス106は、ポケットモードをキャンセルする効果を有するジェスチャーを除いて、ユーザーが行う可能性があるいかなる後続のジェスチャーも無視することになる。名称の提案として、ポケットモードは、ユーザーがユーザーデバイス106をポケット又は他の何らかの区画(財布、鞄など)の中に収容したいと望む場合に有用である。アクティブであるときには、ポケットモードは、ユーザーによる不意の接触及び/又は動きが、意味のあるジェスチャーとして(誤って)解釈されることを防止する。このモードの呼出し及び取消を行うために使用されるジェスチャーは、例えば、明確なスワイプジェスチャーなどに対応し得る。
【0189】
C.2.音及び触覚キュー
AIM402は、音生成モジュール414を利用することによって、様々な音を提示することができる。AIM402は、触覚キュー生成モジュール418を使用して、様々な触覚フィードバックエクスペリエンス(例えば振動キュー)を提示することもできる。AIM402は、異なるタイプのトリガーイベントに応答して、これらの音及び振動キューを生成することができる。例えば、AIM402は、状態の所定の変化、ユーザーによって行われる所定のインターフェイスアクション(メニュー項目間のナビゲーションなど)、及び旅行中の所定のイベントなどに応答して、これらの音及び触覚キューを提示することができる。
【0190】
以下のリストは、代表的な音(及び関連付けられる触覚キュー)と、それらが呼び出される例示的な状況と、を表している。
【0191】
負荷がかかっている/ビジー(Loading/busy)。AIM402は、ユーザーがSIモジュール302とインタラクトできない状態にSIモジュール302がある間、「負荷がかかっている/ビジー」音を繰り返し再生することができる。この音は、SIモジュール302が動作しているが、SIモジュール302がアクションを実行していて現在ビジー状態であることを、ユーザーに再確認させるものである。例えば、この音は、上下にバウンドする卓球の球に似ていてよい。処理が完了に近づくにつれてバウンドの頻度が増大し、ファンファーレのような音声で終わることができる。
【0192】
ゾーンメニューへの遷移(Transition-To-Zone-Menu)。この音は、専用二次ワークスペースゾーンのうちの1つのワークスペースゾーン内に提示される二次メニューが、焦点に移り、ホームワークスペース内の現在のコンテキストメニューの代わりに現在提示されていることを示す。この音は、ユーザーが、対応するジェスチャーを実行した方向を伝達することもできる。例えば、この音は、それぞれの方向への突風のような、シューという音に似ていてよい。さらに、1つの場合において、AIM402は、この音を3次元音として表現してもよい。
【0193】
ゾーンメニューからの遷移(Transition-From-Zone-Menu)。この音は、現在のコンテキストメニューが、再び焦点に移り、専用ワークスペースゾーンのうちの1つのワークスペースゾーン内の二次メニューの代わりに現在提示されていることを示す。この音は、ユーザーが、対応するジェスチャーを実行した方向を伝達することもできる。例えば、この音は、ゾーンメニューへの遷移のシューという音に対応しているが、ゾーンメニューへの遷移の音とは反対方向に移動しているシューという音に似ていてよい。この場合も、AIM402は、任意的に、この音を3次元音として表現してもよい。
【0194】
メニューアクティブ化(Menu-Activation)。この音は、メニューが現在アクティブであり、メニューを操作することができることを示す。この音は、パチッという音で終わるフェードイン音として表され得る。さらに、AIM402は、状態の変化を生じさせるユーザーの意図を確認する短い振動キューを提示することができる。さらに、AIM402は、例えば「解除するにはメニューから離してください」とアナウンスする言語キューを呼び出すことができる。このキューは、ユーザーに、そのメニューがアクティブであること、及び、ユーザーがマーカー項目から指を離すことによってそのメニューを非アクティブ化できること、を通知する。
【0195】
メニュー非アクティブ化(Menu-Deactivation)。この音は、メニューが非アクティブ化されており、したがってそのメニューを再アクティブ化しなければそのメニューを操作することができないことを示す。この音は、フェードアウェイ型の音として表され得る。
【0196】
サポートされていないジェスチャー(Unsupported-Gesture)。AIM402は、ジェスチャーが認識されたが、ジェスチャーが他の点で(例えば、ジェスチャーが現在サポートされていないなどを理由として)無効であることを示すこの短い音を再生することができる。この音は、ドンという音であって、その後に柔らかい2音のアクセス拒否スタイルの通知が続く、ドンという音に似ていてよい。AIM402は、より詳細なバック不可音を再生して、バックジェスチャーが実行されたが、例えばそれ以上戻ることができないなどの理由でバックアクションを実行することができないこと、を示すことができる。
【0197】
メニュー項目選択変更(Change-In-Menu-Item-Selection)。この音は、ユーザーが、あるメニュー内で、あるメニュー項目に移動させたことを示す。この音の音調は、メニュー内のメニュー項目の位置に依存し、例えば、音調は、ユーザーがリストを上に移動させるにつれて高くなり、ユーザーがリストを下に移動させるにつれて低くなるようにすることができる。さらに、1つの実施形態において、AIM402は、メニュー項目の第1のグループ(コンテキスト固有項目に関連付けられている)を移動させたときには、メニュー項目の第2のグループ(グローバル項目に関連付けられている)と比較して異なるスケールを提示することができる。どちらの場合も、ユーザーは、ピアノの鍵盤上で手を動かした音のように生成された音を知覚することができる。しかしながら、この場合における各音は、ピアノの音調より短く、泡がはじける音に似ていてよい。
【0198】
さらに、AIM402は、各メニュー項目を横切るときに振動キューを提示することができる。ユーザーは、各凹凸が異なるメニュー項目を表現しているものとして、凹凸のある表面上で手を動かしたのと類似する振動キューを体験し得る。ユーザーは、意識的に又は無意識に、凹凸を計数して、リスト内における自分の位置を迅速に大まかに知ることができる。さらに、AIM402は、あるメニュー項目に進めたときに、そのメニュー項目が焦点となり、ユーザーが指を離したときに選択されることになることをユーザーに通知するオーディオメッセージを提示することができる。例えば、AIM402は、リスト内のそのメニュー項目の番号を与え、次いでそのメニュー項目の説明をアナウンスすることによって、そのメニュー項目をアナウンスすることができる。
【0199】
メニュー選択確認(Confirm-Menu-Selection)。この短い音は、アクションがいつ状態に変化をもたらしたかを示す。この音は、最後にファンファーレを有する短く明瞭な音として実装され得る。例えば、この音は、ピーという音であって、その後に、終わりに向かうにつれてフェードアウトする進行するきしみ音が続く、ピーという音に似ていてよい。AIM402は、選択アクションを確認する短い振動キューを実行することもできる。さらに、AIM402は、項目が選択されたことを確認する言語キューを再生することができる。
【0200】
ダイアログメニュー表示(Show-Dialog-Menu)。この短い音は、オーバーレイメニューが他のコンテンツの上に現在提示されていることを示す。この音は、フェードイン上昇型音に似ていてよい。AIM402は、付随する短い振動キューも提供することができ、この振動キューは、状態の変化が生じたことをさらに確認するものである。さらに、AIM402は、オーバーレイメニューが現在提示されていることを述べる言語キューを再生することができる。
【0201】
ダイアログメニュークローズ(Close-Dialog-Menu)。この短い音は、ダイアログ(例えばオーバーレイメニュー)が閉じられたこと、及び、焦点が以前のコンテキストに戻ったこと、を示す。この音は、フェードアウト下降型音に似ていてよい。
【0202】
コンテキスト切り替わり(Context-Switch)。この短く明瞭な音は、例えばユーザーが新たな旅行ステップに進んだことを理由として、現在のコンテキストメニューの状態が新たなコンテンツの提示に遷移したことを示す。この音は、ピーという音であって、その後に微かなターンスタイルノイズが続く、ピーという音に似ていてよい。
【0203】
上述の音は、代表的なものであり、AIM402が提供できる全ての音を網羅したものではない。以下の追加の音は、例えば、AIM402とインタラクトしている間にユーザーによって所定のアクションが実行されると、トリガーされ得る。すなわち、a)前のメニューにおいて行われたメニュー項目の選択に基づいてアクションのメニューが提示されることを示す、「トゥアクション(To-Actions)」音、b)アクションのメニューから戻ったことに応答してアクティブなメニューが提示されることを示す、「フロムアクション(From-Actions)」音、c)特定のメニューについてのアクションを提示する命令が認識されたが、その特定のメニューに関連付けられているアクションが存在しないことを示す、「アクション利用不可能(Actions-Unavailable)」音、d)メニュー項目が、ユーザーの指が離れたときに選択されるように成功裡にマークされていることを示す、「項目選択可能(Item-Selectable)」音、e)指が離れたときに選択されるように前にマークされた項目が、現在は成功裡に選択解除されており、したがってユーザーの指が離れたときにもはや選択されないことを示す、「項目非選択(Item-Non-Selectable)」音、f)選択されるように項目をマークするためのジェスチャーが認識されたが、そのジェスチャーが検討中の項目に適用可能でないことを示す、「項目選択不可能(Item-Not-Selectable)」音、g)選択が行われたが、焦点の変更が適切でないことを示す、「選択/無変更(Select-But-No-Change)」音、h)バックジェスチャーが認識され、バックアクションが呼び出されたことを示す、「バック成功(Back-Success)」音、i)「タブへの切り替え」ジェスチャーが成功裡に認識されたこと、及び、タブメニューが現在提示されていること、を示す、「タブへの切り替え(Switch-To-Tabs)」音、j)「タブからの切り替え」ジェスチャーが認識され、タブメニューへの切り替え前に提示されていた前のメニューが復元されていることを示す、「タブからの切り替え(Switch-From-Tabs)」音、k)SIモジュール302がユーザーの音声コマンドを現在リスニングすることを示す、「リスニング開始(Start-Listening)」音、l)音声認識モードが現在キャンセルされたことを示す、「リスニングキャンセル(Cancel-Listening)」音、m)アプリケーションが音声入力の受信及び処理を完了したことを示す、「処理完了(Finished-Processing)」音、n)音声に基づく入力の結果としてアクションが実行されたことを示す、「アクション実行(Action-Taken)」音などである。さらに、AIM402は、上述の音のいずれかに付随する任意のタイプの触覚キューを提示することもできる。
【0204】
以下の例示的な音は、ヘッドセット108とのユーザーのインタラクションの過程で発生し得る所定のイベントの際にトリガーされ得る。すなわち、a)タップジェスチャーがヘッドセットボタン上で認識されたことを示す、(アクションを実行する前に再生される)「ボタンタップ(Button-Tap)」音、b)押圧ジェスチャーがヘッドセットボタン上で認識されたことを示す、(任意のアクションを実行する前に再生される)「ボタン押圧(Button-Press)」音、c)ホールドジェスチャーがヘッドセットボタン上で認識されたことを示す、(アクションを実行する前に再生される)「ボタンホールド(Buttons-Held)」音、d)例えばオリエンテーションアクションの一部としてコンテキストIOIのアナウンスを停止する要求について、ヘッドセットボタンから呼び出された任意の以前のアクションがキャンセルされたことを示す、「アクションキャンセル(Cancel-Action)」音などである。さらに、AIM402は、上述の音のいずれかに付随する任意のタイプの触覚キューを提示することもできる。
【0205】
以下の例示的な音は、旅行の途中で発生し得る所定のイベントの際にトリガーされ得る。すなわち、a)旅行が開始されたこと、及び、ナビゲーションが現在進行中であること、を示す、「旅行開始(Started-Journey)」音、b)ユーザーが自分の輸送モードを(例えば歩行から列車へ、など)切り替えたことを示す、「モード切り替え(Mode-Switch)」音、c)ユーザーがナビゲーションの一部として到達しようと試みている、旅程に沿った次の地点を方向に関して示す、「ビート(Beat)」音、d)ユーザーのアウェアネスを高め、ワーニング情報に耳を傾ける時間をユーザーに与えるために再生される、ワーニング情報が音読されようとしていることを示す、「ワーニング(Warning)」音、e)ユーザーのアウェアネスを高め、ナビゲーション情報に耳を傾ける時間をユーザーに与えるために再生される、ユーザーが旅行ウェイポイントに到達したこと及びナビゲーション情報が音読されようとしていることを示す、「ウェイポイント到達(Waypoint-Reached)」音、f)ユーザーのアウェアネスを高め、ナビゲーション情報に耳を傾ける時間をユーザーに与えるために再生される、ユーザーがウェイポイントに接近していること及びナビゲーション情報が音読されようとしていることを示す、「ウェイポイント接近(Approaching Waypoint)」音、g)ユーザーのアウェアネスを高め、現在の旅程の変更に関する情報に耳を傾ける時間をユーザーに与えるために再生され、現在の旅程の変更に関する情報が音読されようとしていることを示すために再生される、「旅程更新(Journey-Update)」音、h)コンテキスト情報が音読されようとしていることを示す、「コンテキスト情報(Contextual-Information)」音、i)追加の情報が音読されようとしていることを示す、「さらなる情報(Further-Information)」音などである。さらに、AIM402は、上述の音のいずれかに付随する任意のタイプの触覚キューを提示することもできる。
【0206】
一般に、上記の音及び触覚キューは、ユーザーが自分の環境とインタラクトするときに、過度にユーザーの気を散らすことなく、有用な情報をユーザーに提供するという目的をさらに促進する。例えば、ユーザーがメニューをナビゲートしている間に聞く音及び触覚キューは、ユーザーが注意を環境から散らすことなくメニューとインタラクトすることを可能にする。
【0207】
C.3.音声認識モード
システム102は、ユーザーが、例えばヘッドセット108及び/又はユーザーデバイス106と手動でインタラクトすることに加えて、発話命令を介してシステム102にコマンドを発行できる音声認識モードをサポートする。あるいは、システム102は、音声認識モードを、ユーザーがシステム102とインタラクトする唯一のモードとして使用することもできる。ユーザーの音声コマンドの認識を実行するために、システム102は、既存の音声認識技術(例えばMICROSOFT(登録商標)社によって提供されるCORTANAシステム)及び/又はネイティブ音声認識技術に依拠することができる。
図3は、音声処理エンジン328としての音声認識技術を示している。
【0208】
上述のように、ユーザーは、ヘッドセット108を通じて且つ/又はユーザーデバイス106のメニューを通じて発行される適切なコマンドを介して、音声認識モードを呼び出すことができる。他の場合において、ユーザーデバイス106は、そのデフォルトの動作方法の一部として音声認識システム(例えばCORTANA)と既にインタラクトしているが、ナビゲーションを実行するコンテキストではない可能性がある。ここでは、ユーザーは、例えば「サウンドスケープ(Soundscape)、探索モード開始」というコマンドを話すなど、ナビゲーションアプリケーションの名称から始まる発話コマンドを発行することによって、音声認識モードにおけるSIモジュール302とインタラクトすることができる。ユーザーがナビゲーションアプリケーションのコンテキストにおいて音声認識モードを既にアクティブ化している場合には、ユーザーは、単に「探索モード開始」などと言うだけでよい。
【0209】
以下のリストは、音声モードにおいて開始され得る例示的な動作を特定するものである。すなわち、a)ユーザーは、既存の(保存されている)旅程を開くことができる、b)ユーザーは、オリエンテーションモードをアクティブ化又は再アクティブ化することができる、c)ユーザーは、探索モードをアクティブ化又は非アクティブ化することができる、d)ユーザーは、特定のトピックについてのさらなる情報を要求することができる、e)ユーザーは、全ての(又は一部の)発話メッセージの中断を要求することができる、f)ユーザーは、様々なパラメーター設定を行うことができる、g)ユーザーは、旅程情報を保存することができる、などである。
【0210】
例示的なコマンドは、a)「時点[y]に出発し、公共輸送機関[z]のみを使用する、行き先[x]までのルートを作成してほしい」、b)「最も近いコーヒーショップを見つけてほしい」、c)「私を列車の駅に連れて行ってほしい」、d)「今は何時か?」、e)「音量を上げてほしい」、f)「関心項目からレストランを除去してほしい」などに対応し得る。
【0211】
音声処理エンジン328は、音声処理エンジン328がユーザーのコマンドを理解するが、そのコマンドが必要な情報の1以上の項目を欠いていると音声処理エンジン328が判定する状況に遭遇することがある。これに応答して、音声処理エンジン328は、情報の欠けている項目を提供するようにユーザーに要求することができる。
【0212】
他の場合において、音声処理エンジン328は、音声処理エンジン328がユーザーのコマンドを理解しない状況に遭遇することもある。そのような場合において、音声処理エンジン328は、そのコマンドを言い換えるようにユーザーに要求することができる。これが上手くいかない場合には、音声処理エンジン328は、(例えばユーザーのコマンド内のキーワードの検出に基づいて)ユーザーの発話の提案される解釈をユーザーに提示し、次いで、それらの解釈のうちのいずれかが正しいかどうかをユーザーに尋ねることができる。これが上手くいかない場合には、音声処理エンジン328は、ヘッドセット108及び/又はユーザーデバイス106を介して同等のコマンドを入力するようにユーザーに勧めることができる。
【0213】
図38は、
図4及び
図5のAIM402の1つの動作方法を要約するプロセス3802を示している。ブロック3804において、AIM402は、関連付けられているワークスペース内のメニューをアクティブ化する命令に対応する、ユーザーによって実行された第1のジェスチャーを検出する。関連付けられているワークスペースは、複数のワークスペースのうちの1つのワークスペースに対応し、関連付けられているワークスペースは、それらの複数のワークスペースのうちの他のワークスペースに対する定められた空間的関係を有する。第1のジェスチャーは、例えば、
図24を参照して上述したタップアンドホールドジェスチャーに対応し得る。ブロック3206において、AIM402は、第1のジェスチャーに応答して、メニューをアクティブ化する。
【0214】
ブロック3808において、AIM402は、メニュー内のメニュー項目の集合のうち特定のメニュー項目に進める命令に対応する、ユーザーによって実行された第2のジェスチャーを検出する。第2のジェスチャーは、例えば、(例えば
図25及び
図31を参照して)上述したタイプのスクロールジェスチャー又はパンジェスチャーのうちのいずれかに対応し得る。ブロック3810において、AIM402は、第2のジェスチャーに応答して、特定のメニュー項目に進める。
【0215】
ブロック3812において、AIM402は、特定のメニュー項目を選択する命令に対応する、ユーザーによって実行された第3のジェスチャーを検出する。第3のジェスチャーは、例えば、
図25に示されるタイプの離すジェスチャー、又は、
図32に示されるタイプのサイドに移動させるジェスチャーに対応し得る。ブロック3814において、AIM402は、第3のジェスチャーに応答して、動作を実行する。この動作は、アクションの呼出し、パラメーターの設定、情報の提示などに対応し得る。
【0216】
要約すると、上記の特徴は、ユーザーが自分の環境を安全且つ効率的に移動することを可能にする。例えば、ワークスペースは、ユーザーが環境を移動するときに最も関連する情報をユーザーに明らかにするユーザーフレンドリーな方法を提供する。さらに、これらの特徴の一部は、ユーザーが、視覚的注意をユーザーインターフェイス提示に向けることなく、且つ/又は、ユーザーの注意を、環境とインタラクトする物理的タスクから逸らす煩雑で複雑なジェスチャーを実行する必要なく、ユーザーインターフェイス提示とインタラクトすることを可能にする。例えば、ユーザーは、これらのジェスチャーの一部を、ユーザーインターフェイス提示を見ることなく片手で実行することができる。
【0217】
D.音を使用したユーザーとユーザーの環境との間のインタラクションの容易化
導入セクションAにおいて説明されたように、音生成モジュール414(
図4)は、非3次元(非空間的)音及び3次元(空間的)音を生成することができる。3次元音は、その音が物理空間内に実際の起源を有していない場合でも、物理空間内の少なくとも1つの位置から発生しているものとしてユーザーが知覚する音である。具体的に、
図39は、空間内の特定の位置から発生する音の知覚を生じさせるための3次元オーディオ情報の使用を例示している。
図40は、空間内の一連の位置にわたって移動する音の知覚を生じさせるための3次元オーディオ情報の使用を例示している。
【0218】
1つの実施形態において、音生成モジュール414は、例えばデータ記憶部416内に提供されている頭部伝達関数(HRTF)のライブラリを使用して、3次元音を生成することができる。HRTFは、人が自分の環境内の音の起源を知覚する方法と人固有の関係を有する人の顔の解剖学的特徴をモデル化する。3次元音を生成するために、音生成モジュール414は、特定の人、及び空間内の特定の音位置(この人に対する相対的な位置)に適したHRTFを選択することができる。音生成モジュール414は、次いで、そのHRTFを適用して、例えば選択されたHRTFによって非空間的音を畳み込むことによって、非3次元音(例えば平坦音又は非空間的音)を変更して3次元音を生成する。
【0219】
より詳細には、1つの場合において、音生成モジュール414は、(a)再生される非3次元音、(b)音が発生しているものと知覚される空間内の位置、及び(c)(任意的に)ユーザーのアイデンティティを表す入力情報を受信することができる。入力情報は、データ記憶部416内のオーディオ情報を特定し、且つ/又はそのオーディオ情報自体を提供し得る参照情報を提供することによって、非3次元音を表すことができる。例えば、非3次元音は、特徴的な音調及び/又は発話メッセージに対応し得る。次いで、ユーザーの各耳について、音生成モジュール414は、(a)検討中の特定のユーザーについて、位置に関連付けられているHRTFを特定し、(b)このHRTFを非3次元音に適用して3次元音を生成することができる。音生成モジュール414に提供される入力情報は、例えば経路ガイダンスモジュール420、関連情報判定(RID)モジュール426、探索モジュール430、オリエンテーションモジュール432などに対応する、以下で説明されるSIモジュール302の他のモジュールのうちの1つ以上のモジュールからもたらされ得る。
【0220】
音生成モジュール414は、データ記憶部416内に提供されているHRTFのライブラリに関して上記の機能を実行する。1つの実施形態において、SIモジュール302は、特定の個人について準備された(したがってそれらの人たちの特定の解剖学的特徴を考慮に入れている)HRTFをデータ記憶部416に記憶することができる。例えば、各個人についてのHRTFは、各個人の顔の物理的特徴を測定することによって得られ得る。このタスクは、例えば、手動で(例えば物理的距離測定ツールを使用することによって)、デプスカメラを使用することによって(例えば米国ワシントン州レッドモンドのMICROSOFT(登録商標)社によって提供されるKINECTシステムを使用することによって)、実行され得る。より詳細には、特定の個人について生成されるHRTFのセットは、空間内の音の各位置(ユーザーの頭部の位置に対する位置)及びそのユーザーの両耳の各耳についてのHRTFを含む。異なる実施形態は、これらのHRTFの作成を異なる個人(例えば音響エンジニア、システム管理者、エンドユーザーなど)に委ね得る。
【0221】
第2の実施形態において、音生成モジュール414は、異なる人々のグループについて良好に機能するHRTFの別個のグループを記憶することができる。システム102は、この場合、最も本物らしい3次元音を生成するものとして知覚されるHRTFのセットを選択するようにエンドユーザーに勧めることができる。例えば、ユーザーは、セットアップ段階において、異なるHRTFを使用して同じ1つ以上の3次元音を生成するようにシステム102に要求することによって、この選択を行うことができ、ユーザーは、最も望ましい結果を生じさせる1つ以上の音(及び対応するHRTF)を選択することができる。第3の実施形態において、音生成モジュール414は、多数のユーザーに適していることが分かっているHRTFの単一のセットを記憶することができる。ただし、これらのHRTFは、いかなる特定の個人又は個人のグループについてもカスタマイズされない。さらに他の技術も、適切なHRTFを生成及び/又は選択するために使用され得る。
【0222】
1つの実施形態において、音生成モジュール414は、広帯域オーディオ情報を伝達する3次元音を生成する。広帯域オーディオ情報とは、例えば1つの実施形態では300Hz〜3.4kHzの範囲など、広い分布のオーディオ周波数を含むオーディオ情報である。さらに、個々の3次元音は、それらの指向性をさらに強調するような表現性を有する。例えば、1つのこのような3次元音は、左から右又は右から左に吹く突風に似ていることがある。オーディオ情報の(HRTFに基づく指向性以外の)他の性質も、例えば音量、音調、残響、(音を繰り返すための)ループ周波数などを変化させることによって、その表現性に寄与し得る。これらのファクターの全てが、音が物理空間内の特定の1つ以上の位置から発生しているという本物らしい知覚に寄与する。
【0223】
セクションAにおいて説明されたように、異なるモジュールが、異なる目的のために、異なる動作モードで、3次元音を利用できる。これらのモジュールは、経路ガイダンスモジュール420、RIDモジュール426、探索モジュール430、オリエンテーションモジュール432などを含む。説明を簡潔にするために、これらの各モジュールが3次元音を生成するものとして説明されることがある。実際には、各モジュールが、上述の入力情報を生成し、この入力情報が音生成モジュール414に提供され、次いで音生成モジュール414がその入力情報を使用して実際の3次元音を生成することによって、音を生成する。
【0224】
図41を参照して、最初に、経路ガイダンスモジュール420の動作について考える。既に説明されているように、経路ガイダンスモジュール420は、ユーザーが向かっている現在の方向を判定する。経路ガイダンスモジュール420は、システムの1つ以上の向き判定機構、1つ以上の動き判定機構、1つ以上の位置判定機構などによって提供される情報のうちの何らかの情報に基づいて、この評価を行うことができる。1つの場合において、例えば、経路ガイダンスモジュール420は、ユーザーの頭部が向けられている方向を(例えばヘッドセット108における向き判定機構に基づいて)判定し、次いで、この情報を、ユーザーが向かっていると推定される方向の代わりとして使用することができる。代替的又は追加的に、経路ガイダンスモジュール420は、ユーザーが最近移動した一連の位置を判定してもよい。経路ガイダンスモジュール420は、この情報を使用して、ユーザーが向かっているように考えられる方向を推定することができる。代替的又は追加的に、経路ガイダンスモジュール420は、ユーザーが意図的に自分のユーザーデバイス106を向けている方向を判定してもよい。
【0225】
経路ガイダンスモジュール420はまた、ユーザーの所望の方向を判定することができる。経路ガイダンスモジュール420は、少なくともユーザーの現在位置及び次のウェイポイントの位置に基づいて、所望の方向を判定することができる。経路ガイダンスモジュール420は、所望の方向を判定するときに、地図情報を考慮することもできる。例えば、地図情報は、ユーザーの経路が、例えば道路の道筋や任意のタイプの障害物などによって制限されるなど、様々な点で制限されることを明らかにすることができる。経路ガイダンスモジュール420は、この情報の全てを使用して、可能な限り最も効率的に、次のウェイポイントに到達するための針路に最終的にユーザーを進ませるためにユーザーが向かうべき方向を判定することができる。
【0226】
次いで、実際の方向及び所望の方向に基づいて、経路ガイダンスモジュール420は、ユーザーが所望の方向からずれている可能性がある程度を判定して、例えばずれ情報を提供することができる。経路ガイダンスモジュール420は、次いで、このずれ情報を使用して、例えばずれ情報を入力情報の一部として音生成モジュール414に提供することによって、ユーザーを所望の方向に導く効果を有する3次元音を生成することができる。
【0227】
上記の説明を明瞭にするために、
図41の例を考える。ここでは、ユーザーは、現在位置4102に位置している。次のウェイポイント(w)は、目標位置4104に位置している。ユーザーの現在の(実際の)方向は、方向4106として表されている。ユーザーの所望の方向4108は、ユーザーの現在位置4102を目標位置4104と結ぶベクトルに対応するが、上述のように、これは全ての状況でそのようになっているとは限らない(例えば、現在位置4102から目標の行き先4104までの真っ直ぐなルートを遮る障害物などに起因して)。ずれ情報は、現在の方向4106と所望の方向4108との間の角度差に対応し得る。
【0228】
上記の判定に応答して、経路ガイダンスモジュール420は、(音生成モジュール414を使用して、)位置4110から発生しているように聞こえる3次元音を生成することができる。換言すれば、ユーザーは、所望の方向4108から左にずれた方向に現在向かっている。ユーザーは、右側にずれて発生する方向キューを聞くことになる。ユーザーは、このキューを、方向を右に変えて、自分の経路の方向を訂正するようにユーザーに促しているものとして知覚する。ユーザーが所望の方向4108よりも過度に右向きの方向に移動し始めた場合には、経路ガイダンスモジュール420は、(音生成モジュール414を使用して、)ユーザーの左側にずれた3次元音を生成することができる。ユーザーは、基本的には、知覚した3次元音の方向に従い続けばよい又はその方向を追跡し続ければよい。ユーザーが正しい方向に向かっているときには、3次元音は、ユーザーの正面から発生しているものとして知覚され、この場合は、ユーザーは、その音に向かって真っ直ぐに向かう。
【0229】
上述のように、経路ガイダンスモジュール420は、音生成モジュール414を使用して、例えばビート音に対応する、周期的な性質の3次元音を生成することができる。例えば、ビート音は、繰り返す単音、又は、2音若しくはn音のパカパカという音などに対応し得る。追加的又は代替的に、3次元音は、例えば左から右又は右から左など、ユーザーが移動するように促される方向に移動するように聞こえるものであってもよい。
【0230】
さらに、経路ガイダンスモジュール420は、ユーザーの実際の現在の方向4106が所望の方向4108からずれている程度に応じてビート音の1つ以上のオーディオ特性を変化させる効果を有する入力情報を、音生成モジュール414に提供することができる。例えば、(音生成モジュール414と協働する)経路ガイダンスモジュール420は、理想経路からのユーザーの現在のずれが第1の閾値内であるときには、第1の音調及び/又は第1のループ周波数を有するビート音を生成することができる。(音生成モジュール414と協働する)経路ガイダンスモジュール420は、ユーザーの現在のずれが第1の閾値外であるが第2の閾値内であるときには、第2の音調及び/又は第2のループ周波数を有するビート音を生成することができるなどである。経路ガイダンスモジュール420は、ユーザーのずれを、このような各ずれカテゴリーが特定のビート音に関連付けられている任意の数のこのようなずれカテゴリーに分類することができる。
【0231】
図41の特定の例において、経路ガイダンスモジュール420は、所望の方向4108からのずれの第1の範囲4112、及び、所望の方向4108からのずれの第2の範囲4114を規定し、ここで、第2の範囲4114は、第1の範囲4112より大きい。現在の方向4106は、第2の範囲4114内に属し、したがって、(音生成モジュール414と協働する)経路ガイダンスモジュール420は、この範囲4114に適したビート音を生成する。
【0232】
実際には、経路ガイダンスモジュール420は、多くの状況において有用であるが、2つの状況において最も有用であると感じられる可能性がある。第1の場合において、ユーザーは、利用可能なオプションの固定セットの中で、ユーザーが特定の方向に曲がると予想される交差点に到達することがある。あるいは、ユーザーは、ユーザーが可能な経路のうちの1つの経路を選択すると予想される道路の分岐点に到達することがある。(音生成モジュール414と協働する)経路ガイダンスモジュール420は、ユーザーのナビゲーション選択を解決するものとしてユーザーが知覚する3次元ビート音を再生することによって、明快なガイダンスを提供することができる。例えば、交差点に立っているときに、ユーザーは、自分を(例えば)左又は右に導くビート音を聞くことになる。道路の分岐点に立っているときに、ユーザーは、自分を道路の正しい分岐に導くビート音を知覚することになる。
【0233】
第2のシナリオにおいて、ユーザーは、(ユーザーが、明確に規定された道路又は経路を歩いている場合と比較して)徐々にコースからそれる自由度がユーザーに与えられるより開けた空間を移動している。この場合には、経路ガイダンスモジュール420は、ユーザーを適切な向きに保つために、
図41に示されるやり方で漸進的な合図をユーザーに与えることができる。
【0234】
別の使用シナリオにおいて、関連情報判定(RID)モジュール426は、ユーザーの経路に沿った各点において、各対応する現在のコンテキストについて、コンテキストIOIなどの関連する関心項目(IOI)の位置を判定することができる。RIDモジュール426は、次いで、音生成モジュール414を使用して、各IOIについて3次元音を生成することができる。ユーザーは、この音を、物理空間内の対応する物理的エンティティーの実際の位置から発生しているものとして、すなわちIOIが空間内の離散的な物理的位置を有する物理的エンティティーに対応するとみなして、知覚する。例えば、(音生成モジュール414と協働する)RIDモジュール426は、ユーザーの近傍における対応する物理的エンティティーを有する特定のIOIについて、次のオーディオ情報、すなわち(3D音で)「ジェーンのコーヒーショップ、レストラン、30フィート前方」というオーディオ情報を生成することができる。換言すれば、この場合において、オーディオ情報は、3次元音であって、その直後に発話メッセージが続く、3次元音を含む。ユーザーは、この3次元の予備的な音を、ジェーンのコーヒーショップの物理的位置から発生しているものとして知覚する。発話メッセージも、3次元音として提示され得る(ただし、必ずしもそうであるとは限らない)。代替的に、発話メッセージは、追加の(又はより少ない)情報フィールドを含むこともあるし、あるいは完全に省略されることもある。
【0235】
他の場合において、IOIは、空間内に、ピンポイントの位置ではなく、大まかな起源を有することができる。例えば、IOIは、バス停に対応する大まかな領域に関連付けられている広告に対応することがある。(音生成モジュール414と協働する)RIDモジュール426は、バス停の大まかな領域から又はその領域の中心などから発生しているものとしてユーザーにより知覚される、そのIOIについての音を生成することができる。このタイプのIOIは、そのIOIがバス停を説明するものとして意図されていない限り、仮想的であると考えられ得るが、バス停のオーディオ属性として作用する。
【0236】
別の実施形態において、オーディオ情報はまた、ユーザーに対する相対的なIOIの方向的位置を指定する言語キューを含み得る。この方向キューは、(例えばジェーンのコーヒーショップがユーザーの右前方にあると指定することによって)より広く表現されることもあるし、(例えばジェーンのコーヒーショップがユーザーの現在の方向に対して10時の方向に位置すると指定することによって)より狭く表現されることもある。追加的又は代替的に、(音生成モジュール414と協働する)RIDモジュール426は、例えばレストランについては第1のタイプの音を再生し、トイレ施設については第2のタイプの音を再生することなどによって、IOIの異なるそれぞれのカテゴリーについて異なる3次元音を提供してもよい。
【0237】
探索モジュール430及びオリエンテーションモジュール432は両方とも、RIDモジュール426の上述の挙動を、例えば探索モード及びオリエンテーションモードそれぞれにおいて利用する。セクションAにおいて説明されたように、ユーザーは、ヘッドセット108及び/又はユーザーデバイス106との手動インタラクションを介して且つ/又は音声命令を介して、これらのモードを明確にアクティブ化及び非アクティブ化するコマンドを入力することができる。
【0238】
より詳細には、
図42は、探索モードにおいて動作する探索モジュール430の例示的な挙動を示している。このモードでは、探索モードがユーザーによってアクティブ化されると、探索モジュール430は、ユーザーの現在位置及びユーザーの現在の関心焦点を判定する。例えば、探索モジュール430は、ヘッドセット108及び/又はユーザーデバイス106上の任意の1つ以上の位置判定機構を使用して(例えばGPSセンサーなどを使用して)、現在時点におけるユーザーの位置を判定することができる。探索モジュール430は、ヘッドセット108及び/又はユーザーデバイス106上の任意の1つ以上の向き判定機構を使用して、ユーザーが自分の身体を向けているように考えられる方向を判定することができる。例えば、ヘッドセット108上の1つ以上の向き判定機構は、ユーザーの頭部が向けられている方向を判定することができ、この方向が、ユーザーの関心焦点の代わりのインジケーションとして使用され得る。代替的又は追加的に、システム102は、ユーザーの関心焦点と一致する方向にユーザーデバイス106を向けるようにユーザーに指示してもよい。この場合、ユーザーデバイス106上の1つ以上の向き判定機構が、ユーザーの意図される関心焦点を正確に反映することになる。さらに他の技術が、ユーザーの推定される関心焦点を評価するために使用されることもある。
【0239】
次に、探索モジュール430は、関心検索空間を規定する。1つの場合において、探索モジュール430は、検索空間を、ユーザーの推定される関心焦点を中心とする任意の形状のボリューム(volume)として規定することができる。例えば、このボリュームは、ユーザーの現在位置から生じ、ユーザーの推定される関心焦点によって二等分されるくさび形状ボリュームに対応し得る。システム定義パラメーター設定及び/又はユーザー定義パラメーター設定は、このボリュームのデプス、このボリュームの角度範囲、このボリュームの幅などを指定することができる。
【0240】
次に、探索モジュール430は、RIDモジュール426を使用して、限定されるわけではないがコンテキストIOIなどの対象とするIOIが存在するかどうかについて、このボリュームを検索することができる。RIDモジュール426は、IOIについての情報とともに、ユーザーの特定の関心を規定する任意のパラメーター設定(例えば、ユーザーは、自分が、コーヒーショップ情報を除くレストラン情報に関心があることをデフォルトで示していることがある)を提供する1つ以上のデータ記憶部を参照することによって、このタスクを実行することができる。いくつかの場合において、IOIは、そのIOIが検索空間内に物理的に位置する対応する物理的エンティティーを有するという理由で、検索空間に関連付けられ得る。他の場合において、IOIは、他の任意の形で確立された何らかの他のつながりを理由として、検索空間に関連付けられ得る。例えば、管理者(又はエンドユーザー自身)は、地下鉄の駅の出口付近の領域が気象レポートIOIなどに関連付けられると、予め手動で指定することができる。
【0241】
最後に、探索モジュール430は、特定されたIOIの存在をアナウンスする3次元オーディオメッセージを生成することができる。探索モジュール430は、音生成モジュール414を使用することによって、上述した任意の方法でこれらのメッセージを生成することができる。例えば、上述のように、オーディオ情報は、導入音であって、その後にIOIをアナウンスする発話メッセージが続く、導入音に対応し得る。(音生成モジュール414と協働する)探索モジュール430は、例えば、ボリュームにわたって時計回りの順序又は反時計回りの順序で、且つ/又は、ユーザーの位置に対する距離の短い順又は長い順に、などの順序で、これらのIOIを読み上げることができる。
【0242】
図42は、上述の動作方法を明確にする図である。ここでは、ユーザーは、現在、現在位置4202に位置している。ユーザーの現在の注意方向は、破線4204で示されている。検索ボリュームは、輪郭4206によって規定され、この輪郭4206は、ユーザーの注意方向によって二等分されている。この検索ボリュームは、角度幅を規定し、30フィートなどの規定の高さ(図示せず)を有することもできる。全体として、検索ボリュームはくさびに似ている。探索モジュール430は、RIDモジュール426を使用して、検索ボリューム内で3つのコンテキストIOIを見つけている。(音生成モジュール414と協働する)探索モジュール430は、これらのコンテキストIOIに関連付けられている物理的エンティティーの位置から発生しているように聞こえる3次元音を用いて、これらのコンテキストIOIをアナウンスする。
【0243】
全体としては、ユーザーは、段階的に自分の現在位置の周りでピボットすることにより自分の注意方向を回転させることによって、探索モジュール430とインタラクトすることができる。各段階において、ユーザーは、自分の現在の推定される注意焦点によって規定される検索ボリューム内にある(又はその検索ボリュームに他の形で関連付けられている)IOIを聞くために待機した後、新たな注意焦点に移ることができる。例えば、1つの場合において、ユーザーの関心方向によって包含される幅は、45度である。ユーザーは、北東、南東、南西、及び北西に連続的に向くことによって、自分の周りにあるIOIの完全調査を行うことができる。各向きにおいて、ユーザーは、その関心四分区画に包含されるIOIを聞くことになる。
【0244】
別の例示的な特徴に従うと、ユーザーは、IOIがアナウンスされるのを聞いた後、任意の方法でIOIを選択することができる。例えば、ユーザーは、ジェーンのコーヒーショップについて聞いた後、「そこに行きたい」又は「詳細情報」という音声命令を発行することができる。あるいは、ユーザーは、(例えばこのIOIをアナウンスする3次元音の知覚された位置に基づいて)自分の注意焦点をそのIOIの知覚された位置に向けることによって、IOIを選択することもできる。ユーザーは、例えば、自分の頭部若しくは体又はユーザーデバイス106をそのIOIの知覚された位置に真っ直ぐに向けることによって、このタスクを実行することができる。あるいは、ユーザーは、ユーザーデバイス106によって提供される適切なメニューを介してIOIを選択することもできる。あるいは、ユーザーは、IOIがアナウンスされるのを聞いた後などに、ヘッドセットボタンを介して適切な選択を行うこともできる。その選択がどのような方法で行われたものであれ、そのIOIの選択に応答して、SIモジュール302は、IOIに関する追加の情報を提示する又はIOIにどのように到達するかなどについての指示を提供することができる。SIモジュール302はまた、選択されたIOIの存在をアナウンスする3次元音の音量を大きくすることによって又は他の方法でその音をユーザーのエクスペリエンスの中でより顕著にすることによって、ユーザーの選択を確認することができる。
【0245】
最後に、オリエンテーションモジュール432は、上述の方法でユーザーの現在位置を判定することによって動作する。次いで、オリエンテーションモジュール432は、ユーザーの周りに3次元ボリュームを規定する。例えば、この3次元ボリュームは、ユーザーがそのボリュームの中心に位置する、(例えば)円筒形、球形、箱形、又は矩形に対応し得る。オリエンテーションモジュール432は、次いで、RIDモジュール426を使用して、そのボリューム内に存在するIOIがあればそのIOIのセットを特定する。オリエンテーションモジュール432は、次いで、音生成モジュール414を使用して、これらのIOIを任意の順序で読み上げる。
【0246】
例えば、
図43において、オリエンテーションモジュール432は、ユーザーが現在位置4302においてその中心に位置する円筒形を有する3次元ボリュームを規定する。オリエンテーションモジュール432は、RIDモジュール426を使用して、円筒形内にあるIOI又は円筒形によって規定される空間に他の形で関連付けられているIOIを特定する。次いで、オリエンテーションモジュール432は、これらのIOIを任意の順序で読み上げる。例えば、3つのフロアを有するモールを訪れるユーザーを考える。そのユーザーは、モールの1階の屋外アトリウムに立っていると仮定する。オリエンテーションモジュール432は、オリエンテーションモジュール432が見つけたIOIを、例えばフロアz
1、フロアz
2、その後にフロアz
3など、フロアごとに読み上げることができる。オリエンテーションモジュール432は、各フロアにあるこれらのIOIを、時計回りの順序、反時計回りの順序などの任意の順序でアナウンスすることができる。ユーザーは、次いで、任意的に、上述の方法のいずれかで任意のIOIを選択することができる。
【0247】
最後に、上記の説明は、レストランなどのコンテキストIOIの存在をアナウンスするための3次元音の使用を記載している。しかしながら、SIモジュール302は、3次元音を使用して、ワーニングIOI及び旅程IOIなどの任意のタイプのIOIの存在をアナウンスすることができる。例えば、SIモジュール302は、穴の位置から発生しているように聞こえる、道路の穴に関するワーニングを生成することができる。別の説明として、SIモジュール302は、多くのタイプのIOIを、平坦に又は非空間的に配信することもできる。例えば、SIモジュール302は、指向性を有していない別のワーニングIOIを生成して、ユーザーが現在移動している道路が雨のために滑りやすくなっていることを、ユーザーに大まかに通知することができる。
【0248】
さらに、上記の説明は、物理空間内の位置から発生しているものとしてユーザーが知覚する音の使用に基づいていた。代替的又は追加的に、触覚キュー生成モジュール418が、方向情報を伝達する振動キューを生成してもよい。例えば、ヘッドセット108は、2つ以上の振動機構、例えばヘッドセット108のフレーム602の左側の第1の振動機構及びヘッドセット108のフレーム602の右側の第2の振動機構、を含み得る。触覚キュー生成モジュール418は、第1の振動機構又は第2の振動機構をアクティブ化して、ユーザーをそれぞれ左又は右に向かせる指示を提供することができる。このタイプの指示は、追加の振動機構を含むことにより、追加の段階を含み得る。同じ効果が、例えば左に向かせるキューを提供するための左側の振動機構をアクティブ化し、右に向かせるためのキューとして右側の振動機構をアクティブ化するなど、例えばユーザーデバイス106上の異なる振動機構をアクティブ化することによっても達成され得る。振動機構は、さらに他のデバイス又はユーザーの身体の部分に結合され得る。
【0249】
図44は、ユーザーが所望のルートに沿ってナビゲートするのをガイドするための3次元音の使用を表すプロセス4402を示している。ブロック4404において、SIモジュール302は、空間内のルートに沿ったユーザーの現在位置を判定する。ブロック4406において、SIモジュール302は、3次元音を生成する。この3次元音は、この3次元音が空間内の少なくとも1つの特定の位置から発生しているというユーザーによる知覚を生じさせる。ブロック4408において、SIモジュール302は、この3次元音をユーザーに配信する。この3次元音は、ユーザーがルートに沿ってナビゲートするのを支援する。
【0250】
図45は、経路ガイダンスモジュール420が3次元音を使用してユーザーを所望のルートに沿ってガイドできる1つの方法を表すプロセス4502を示している。ブロック4504において、経路ガイドモジュール420は、ユーザーが向かっている現在の方向を判定する。ブロック4506において、経路ガイドモジュール420は、ユーザーが向かうと予想される所望の方向を特定する。ブロック4508において、経路ガイダンスモジュール420は、現在の方向と所望の方向との間の差を決定して、ずれ情報を提供する。ブロック4510において、経路ガイダンスモジュール420は、音生成モジュール414を使用して、ずれ情報に基づいて周期3次元音(例えばビート音)を生成する。この3次元音が、ユーザーを所望の方向に向かわせる。3次元音は、ユーザーが所望の方向からずれている程度に依存する1つ以上の特性(音調など)を有することができる。
【0251】
図46は、SIモジュール302が3次元音を使用してIOIを特定及びアナウンスできる1つの方法を表すプロセス4602を示している。ブロック4604において、SIモジュール302は、関心項目(IOI)のセットであって、各IOIが、現在のコンテキストにおいてユーザーに関連するエンティティー若しくはイベント又は情報に対応する、IOIのセットを判定する。ブロック4606において、SIモジュール302は、各関心項目について3次元音を生成する。ユーザーは、この音を、例えば店舗に関連付けられている音をその店舗の位置から発生しているものとして知覚することによって、その関心項目に関連付けられている同じ1つ以上の物理的位置から発生しているものとして知覚することになる。
【0252】
1つの場合において、SIモジュール302は、ユーザーがルートを移動するときに、バックグラウンドサービスとしてプロセス4602を適用することができる。例えば、RIDモジュール426は、距離に基づく任意のパラメーター設定によって制御されるように、これらのIOIに関連付けられている位置にユーザーが十分に接近したときに、IOIの存在をユーザーにアラートすることができる。
【0253】
別のシナリオにおいて、ブロック4608に示されるように、探索モジュール430は、RIDモジュール426を使用して、ユーザーの注意が現在向けられている又は現在向けられていると推定される部分空間に関連付けられているIOIのセットを特定することによって、上記の一般的プロセス4602を適用することができる。別のシナリオにおいて、ブロック4610に示されるように、オリエンテーションモジュール432は、RIDモジュール416を使用して、ユーザーの現在の関心焦点を参照することなく(ユーザーがその時点において自分の周りの空間ボリューム全体に関心があるため)、現在時点におけるユーザーの周りの空間全体に関連付けられているIOIのセットを特定することによって、上記の一般的プロセス4602を適用することができる。ユーザーは、例えばヘッドセット108又はユーザーデバイス106を介して適切な命令を発行することによって、探索モジュール430又はオリエンテーションモジュール432の読み出しを呼び出し、中断することができる。
【0254】
最後のトピックとして、上記の例は、空間内の仮想の音生成エンティティー(例えば仮想音源)の位置が、少なくとも3次元音を配信する間は、それを聞く人の位置に対して安定しているという簡略化のための仮定に基づいていた。これは、多くの場合に妥当な仮定であり得るが、この仮定は、全ての状況に当てはまるとは限らない。
【0255】
例えば、以下のシナリオを考える。第1の場合において、ユーザーは、ユーザーが任意のタイプの車両内で(例えば列車に乗っていて)固定位置のエンティティーを通過するときに、そのエンティティーを説明する(又は他の形でそのエンティティーに関連する)3次元音を聞くことがある。例えば、ユーザーは、ユーザーが自動車の同乗者として、シアトルのスペースニードルタワーに対していずれかの方向に移動しているときに、スペースニードルタワーを説明するメッセージを聞くことがある。第2の場合において、ユーザーは、ユーザーが立ち止まっているが自分の頭部を回すように動かして、ユーザーの左右の耳の位置が固定位置のエンティティーの位置に対して変化しているときに、そのエンティティーを説明する(又は他の形でそのエンティティーに関連する)3次元音を聞くことがある。第3の場合において、ユーザーは、聞く人の固定位置に対して相対的に動いているエンティティーを説明する(又は他の形でそのエンティティーに関連する)3次元音を聞くことがある。例えば、ユーザーは、ユーザーが空港のターミナル内の固定位置に留まっているときに、滑走路を動いている飛行機の到着をアナウンスするメッセージを聞くことがある。第4の場合において、IOIの位置及びユーザーの両方が、オーディオ情報の配信中に動いていることがある。
【0256】
さらに、IOIは、スペースニードルタワー又は動いている飛行機などの物理的エンティティーに必ずしも対応している必要はないことに留意されたい。例えば、動いている「仮想」IOIが、ユーザーがナイトクラブの入口に向かって道路を移動しているときに、その施設に入るようにユーザーを誘っているものとしてユーザーが知覚する空間的メッセージを配信する仮想広告板に対応することがある。さらに、IOIに関連付けられる音に関して本明細書に記載される全ては、周期ビート音などの他の音にも等しく当てはまる。
【0257】
上記の状況のいずれかに対応するために、SIモジュール302は、SIモジュール302がその配信の間にわたって生成している3次元オーディオ情報を動的に更新して、各時点におけるユーザーの頭部とIOI(例えば、上記の例では、スペースニードルタワー又は動いている飛行機の位置)との間の相対位置を反映することができる。SIモジュール302は、様々な方法でこのタスクを実行することができる。1つの非限定的な手法において、SIモジュール302は、オーディオ情報を配信している間にわたって、反復プロセスで、次の動作を実行することができる。すなわち、(a)IOIに対するユーザーの頭部の位置を判定して、相対位置情報を提供する動作、(b)相対位置情報に基づいて(耳ごとの)HRTFを選択する動作、(c)選択されたHRTFによって、現在時点において配信されるべき任意のオーディオ情報の畳み込みを行って、相対位置情報に基づいて、適している3次元音を生成する動作である。
【0258】
1つの具体例を挙げると、ユーザーに配信されるのに5秒要するメッセージを考える。SIモジュール302は、この配信の1秒ごとに、ユーザーの頭部とIOIとの間の相対位置を判定することができる。SIモジュール302は、この情報を使用して、このメッセージの配信の1秒ごとに、その時点におけるユーザーの頭部とIOIとの間の相対位置に基づく3次元音を生成することができる。
【0259】
より一般的には、上記の反復処理は、様々な更新速度で実行され得る。更新速度は、聞く人とIOIとの間の相対位置が変化する速度に依存し得る。すなわち、SIモジュール302は、相対位置情報の相対変化が大きい場合には比較的速い速度でHRTFを更新し、変化がより遅い場合にはより遅い速度でHRTFを更新することができる。更新速度は、3次元音情報を更新するためにシステム102において利用可能な処理リソースの量を考慮することもできる。
【0260】
SIモジュール302はまた、上記の動的な処理(そのリソースにかかる大きな処理負荷を表し得る)を促進させるように設計された様々な技術を適用することができる。例えば、いくつかの場合において、システム102は、少なくとも1つの予測軌道について動的な音を予め計算することができる。このような各軌道は、(a)空間内における聞く人の動き、若しくは(b)空間内におけるIOIの動き、又は(c)聞く人及びIOIの両方の動き、に起因する、聞く人とIOIとの間の何らかのタイプの予想される相対的な動きを規定する。例えば、列車が、毎日ほぼ同じ速度でIOIを通過すると仮定する。この場合、動的に変化するHRTFに基づく(耳ごとの)3次元音を予め計算することが可能である。この3次元音は、列車が線路を移動するときのユーザーの頭部の推定される進行を考慮し、ユーザーが線路を移動するときにユーザーの頭部が予め定められた固定の向きを有するという簡略化のための仮定に基づき得る。SIモジュール302は、聞く人の位置が、IOIから予め定められた距離にある、線路に沿った位置などの、IOIに対する予め定められたトリガー位置に到達したことをSIモジュール302が検出したときに、この3次元音を発することができる。
【0261】
上記の動作方法は、様々なシナリオを考慮するように拡張され得る。例えば、システム102は、異なる列車速度、異なる固定の頭部向き(例えば、メッセージの配信中にユーザーが真っ直ぐに前を見ているか、窓の外を見ているかなどを示す)などを考慮するために、異なる動的な3次元音を予め計算することができる。
【0262】
上記の状況は、ユーザーとIOIとの間の動きがいくつかの可能性に分解される、より一般的な設定に拡張され得、それらの可能性についてのそれぞれの動的な3次元音を予め計算することを可能にする。SIモジュール302は、次いで、ユーザーの現在のコンテキストがそれらの予め定められた可能性のうちの1つの可能性と一致するとSIモジュール302が判定したときに、何らかの予め計算された音を発することができる。
【0263】
別の場合において、SIモジュール302は、例えばユーザーの現在の向きに基づいて、IOIの位置に対するユーザーの動きを予測する処理を動的に実行することができる。SIモジュール302は、次いで、IOIに対するユーザーの推定される軌道に基づいて、3次元音を動的に予め計算することができる。
【0264】
さらに他の技術も、動的に変化する3次元音の計算を促進するために使用され得る。いくつかの実施形態において、例えば、SIモジュール302は、例えばリモート処理リソース112によって実行される並列処理を利用することによって、リモート処理リソース112の強化された処理能力を利用することができる。
【0265】
要約すると、上記の特徴は、ユーザーが、効率的に、安全に、且つ楽しく、自分の環境を移動することを可能にするという上述の目的に寄与する。例えば、これらの特徴は、ユーザーが環境を移動するときに、異なる提示モードを使用して、異なるカテゴリーの情報をユーザーに提供する。この機能は、この情報を、任意の所与の時点においてユーザーに多すぎる情報を与えることを回避するユーザーフレンドリーな方法で、ユーザーに提示する。3次元音の使用は、提供される情報と、環境内のオブジェクト、領域、及びイベントと、の間のつながりを理解するユーザーの能力をさらに高めさせる。
【0266】
E.ユーザーがユーザーの環境とインタラクトするのを支援するためのビーコンの使用
以下のセクションは、ビーコンベースのガイダンスモジュール422の動作に関する追加の情報を提供する。繰り返しになるが、ビーコンベースのガイダンスモジュール422は、規定されたそれぞれのレンジを有するビーコンを利用することによって、空間内でユーザーをガイドするための方策を提供する。空間は、例えば任意のタイプの1つ以上のビルディング又は構造物の内部によって規定される室内空間に対応し得る。代替的又は追加的に、空間は、屋外空間に対応してもよい。
【0267】
ビーコンは、電波、赤外線波などの任意のタイプの電磁放射を発することができる。他の場合において、ビーコンは、(例えば超音波レンジの)音波を発することができる。さらに、いくつかの場合において、ビーコンは、Bluetooth(登録商標)プロトコル、Wi−Fi(登録商標)プロトコルなどの任意のプロトコル又はプロトコルの組合せに従って信号を生成することができる。例えば、限定されるわけではないが、ビーコンは、Bluetooth(登録商標)低エネルギー(BLE)ビーコンに対応し得る。さらに、ビーコンは、ビーコンが配置される目標環境に最もよく適するように、任意の所望のデプスのレンジを有することができる。いくつかの室内状況において、例えば、1メートル又は数メートルのレンジなどの比較的短いレンジを有するビーコンが選択される。いくつかの場合において、ビーコンの規定のレンジは、その信号が、既知の安定した信号受信特性を有する特定のタイプのユーザーデバイス(特定のスマートフォンなど)又は特定のクラスのユーザーデバイス(特定のクラスのスマートフォンなど)によって検出されるという暗示的な又は明示的な前提に基づき得る。
【0268】
さらに別の場合において、各ビーコンは、ユーザーデバイス106(又は他の何らかの問合せデバイス)がビーコンから規定の距離内にあるときにそのデバイスからの問合せを受ける可能性がある受動デバイス(受動RFIDなど)である。この規定の距離は、そのデバイスのレンジに対応する。ただし、説明を容易にするために、残りの説明では、各ビーコンが信号を能動的に発すると仮定する。
【0269】
1つの実施形態において、各ビーコンは、そのアイデンティティを規定する符号を有する。ビーコンは、その符号(及び/又は任意の他の特定用途向け情報)を通知する信号を、絶えず又は定期的に(又はオンデマンドで)発することができ、この信号が、ビーコンのレンジ内にある受信側デバイスによって検出され得る。例えば、約1メートルのレンジを有するBLEビーコンを考える。このレンジ内にある受信側デバイスは、ビーコンの信号を検出し、その特定の符号を読み取ることができる。
【0270】
図47の例において、室内環境(及び/又は屋外環境)は、廊下及び障害物(例えば、障害物1、障害物2、及び障害物3)の集合によって特徴付けられる。このシナリオは、例えば2つ以上の廊下の全ての交差点にビーコンを配置するなど、ビーコンの集合(例えばビーコンb
1、b
2、...、b
7)を環境に予め投入することを含む。各ビーコンを取り囲む最も外側の破線円は、ビーコンのレンジを表している。上述のように、ビーコンのレンジ内にある受信側デバイスは、このビーコンを成功裡に検出することができるが、その他の点において、受信側デバイスは、ビーコンに関する知識を有していない。1つの例示的な実施形態において、ビーコンのレンジは重なり合わないことに留意されたい。この特徴は、任意の所与の時点におけるユーザーの位置に関する曖昧さを解消するので、有利である。換言すれば、これらのビーコンのレンジが重なり合わず、ユーザーは一度に同時に2つの場所に存在する可能性がないので、ユーザーのデバイスが、2つ以上のビーコンを同時に検出する可能性はない。いくつかの環境において、ビーコンのレンジが重なり合わない性質は、ビーコンから発された信号を受信することになるユーザーデバイス(又はデバイスのクラス)の性質も考慮することによって確実にされ得る。
【0271】
第1の予備ステップとして、
図47の環境内の全てのビーコンの位置が、データ記憶部424にロードされ得る。データ記憶部424は、それらのビーコンに関連付けられている符号も記憶することができる。
【0272】
第2の予備ステップとして、システム102は、任意のルート計画ツールを使用して、
図47の環境を通るルートを生成することができる。ルート計画ツールは、任意のアルゴリズムを適用して、このタスクを実行することができる。例えば、ルート計画ツールは、廊下及び障害物によって規定される検索空間を、複数のノード及びリンクを有するグラフとして表現することができる。すなわち、リンクは廊下を表し、ノードは廊下の交差点を表す。ルート計画ツールは、次いで、任意のアルゴリズム(周知のダイクストラ法など)を適用して、グラフを通る最も効率的な経路を見つけることができる。ルートが規定されると、ビーコンベースのガイダンスモジュール422は、ユーザーがルートを移動する際にユーザーが横切ることになるビーコンのサブセット(本明細書においてルート固有ビーコンと呼ばれる)を特定し、それらのビーコンのアイデンティティを記憶することができる。
図47の場合、ユーザーは、全てのビーコンに遭遇すると予想されるが、これは、一般に全ての場合に当てはまるわけではない(以下で詳述される)。
【0273】
次に、ユーザーが、上述のシステム102をガイダンスとして使用して、このルートを進み出すと仮定する。システム102は、ヘッドセット108及び/又はユーザーデバイス106を介して、上述した方法でユーザーにリアルタイムガイダンスを提供することができる。しかしながら、この場合には、システム102は、上述した技術とは異なる技術を使用して、各時点におけるユーザーの現在位置を判定する。
【0274】
より詳細には、ビーコンベースのガイダンスモジュール422は、絶えず環境を走査して、ユーザーがいずれかのビーコンのレンジ内にいるかどうかを判定する。ユーザーがいずれかのビーコンのレンジ内にいる場合、ビーコンベースのガイダンスモジュール422は、ユーザーの現在位置を、検出されたビーコンの現在位置として特定する。換言すれば、ビーコンベースのガイダンスモジュール422は、検出されたビーコンに関連付けられている符号と、環境内におけるそのビーコンの位置と、を、アプリオリに知っている。ユーザーのヘッドセット108又はユーザーデバイス106が、(検出された信号によって伝達される符号に基づいて)そのビーコンの存在を検出した場合、ビーコンベースのガイダンスモジュール422は、ユーザーが検出されたビーコンと同じ位置を有するとみなすことができる。
【0275】
この局面において、ビーコンベースのガイダンスモジュール422は、経路ガイダンスモジュール420のサービスを利用して、3次元音を使用して且つ/又は他のガイダンス情報(非3次元音、表示指示など)に基づいて、ユーザーを所望の方向に向かわせることができる。例えば、ユーザーのユーザーデバイス106が、ユーザーデバイス106がビーコンb
4のレンジ内にあることを検出したと仮定する。経路ガイダンスモジュール420は、予め定められた旅程情報に基づいて、ユーザーの旅程に沿った次のウェイポイントがビーコンb
5に対応すると判定する。経路ガイダンスモジュール420は、次いで、ユーザーの右側から発生しているものとしてユーザーが知覚することになる3次元音を生成することができ、これが、ユーザーを次のウェイポイント(例えばビーコンb
5)に向かわせる役割を果たす。ユーザーは、このキューを、ユーザーが右に向くべきであるという指示として解釈する。ユーザーは、ユーザーが別のビーコン(例えばビーコンb
5)に遭遇するまで、この方向に進み続け、別のビーコンに遭遇したときに、ユーザーの方向が更新され得る。
【0276】
いくつかの場合において、ユーザーは、ユーザーが次に遭遇すると予想されたビーコンのレンジ外に外れるように、計画された経路から予期されない形で逸脱することがある。
図48は、この状況に対処する1つの方法を表している。この場合の方策は、ユーザーの計画された経路に沿ったビーコンの数を増加させることであり、これは、ユーザーの現在位置が評価される頻度を増加させ、したがって、ユーザーが、(例えばユーザーが遭遇すると予想されるビーコンのレンジ外に外れる程度まで)ルートを外れて迷う可能性を低下させる効果を有する。
図48は、ユーザーが計画されたルート上で横切ると予想されるビーコンのみを示していることに留意されたい。しかしながら、環境は、ユーザーが横切ると予想されない追加のビーコン(図示せず)を含んでもよい。
【0277】
ユーザーが著しく迷う可能性は、例えばユーザーの選択肢が障害物によって著しく制限されているので、
図47及び
図48においては高くない。それでも、ユーザーは、混乱して誤って曲がってしまう可能性があり、これは、ユーザーを計画されたルートから離れさせてしまう。あるいは、ユーザーは、計画された経路から意図的に逸脱すると決定することもある。例えば、
図48におけるビーコンb
9に関連付けられている交差点において、ユーザーは、右に曲がるのではなく左に曲がることもある。したがって、ユーザーは、最終的に、ユーザーが遭遇すると予想されない経路外のビーコン(図示せず)に遭遇する可能性がある。
【0278】
ビーコンベースのガイダンスモジュール422は、異なる方法でこの状況に対処することができる。1つの場合において、ビーコンベースのガイダンスモジュール422は、ユーザーが軌道を外れて迷っているとみられ、ユーザーの向き及び意図を判定することができないので、ユーザーにもはやガイダンスを提供することができなくなることをユーザーに通知することができる。ビーコンベースのガイダンスモジュール422は、ユーザーが環境を通る元の規定された経路に追従する意図があるかどうかを、ユーザーに問い合わせることができる。
【0279】
別の場合において、ユーザーの現在の位置、向き、及び意図に関する十分な情報が取得され得る場合、ビーコンベースのガイダンスモジュール422は、ユーザーを計画されたルートに戻すように指示することができる。例えば、ビーコンベースのガイダンスモジュール422は、ユーザーの最も直近の既知の位置のセットに基づいて軌道を形成することによって、ユーザーが現在向かっているものとみられる方向(しかしながら、この方向は誤りであるとみられる)を判定することができる。ビーコンベースのガイダンスモジュール422は、次いで、この向き情報とともに、ユーザーの現在位置に関する情報(既知である場合)を使用して、計画されたルート上に戻すようにユーザーを誘導することができる。あるいは、ビーコンベースのガイダンスモジュール422は、ユーザーに問い合わせて、ユーザーが依然として計画されたルートに追従する意図があるか又は別のルートを選択するかを判定することもできる。
【0280】
いずれのシナリオにおいても、ビーコンベースのガイダンスモジュール422は、下記の情報が取得可能であるときには、(BLEビーコンによって提供される情報に加えて)ユーザーの現在の位置及び向きの他のエビデンスに依拠することもできる。例えば、ビーコンベースのガイダンスモジュール422は、GPSセンサーソース、推測航法技術などからの情報を収集することができる。他の場合において、これらの追加のソースのうちの少なくとも一部は、利用可能でない又は信頼性がないと想定される。
【0281】
図49は、
図47及び
図48の例と比較して、ユーザーが移動する空間がより自由である別の状況を示している。この空間には、短レンジビーコンの集合が予め投入されている。例えば、空間の物理的特性が許す場合には、この空間には、規則的なマトリックス状のそのようなビーコンが投入されることもある。これらのビーコンは、互いと重なり合わないレンジを有する。
【0282】
この場合も、ルート計画ツールは、その目的のために、任意のルート計画アルゴリズムを使用して、任意の入力オブジェクトに基づいて、この空間を通るルート4902を生成することができる。ビーコンベースのガイダンスモジュール422は、次いで、ユーザーが計画されたルート4902を移動するときに横切ると予想されるビーコンを判定する。これらのビーコンは、黒実線ビーコン記号で表されている。
【0283】
ルート4902の実際の移動中に、ビーコンベースのガイダンスモジュール422は、上述したのと同じ機能を実行する。すなわち、ユーザーが予想される経路に沿ったビーコン(ビーコンb
22など)のレンジに入ったとビーコンベースのガイダンスモジュール422が判定したときに、ビーコンベースのガイダンスモジュール422は、そのビーコンの位置を、ユーザーの現在位置として認識する。ビーコンベースのガイダンスモジュール422は、次いで、ユーザーの向きを再計算し、ユーザーを次のビーコン(例えばビーコンb
33など)に向けてガイドするように3次元ビート音(及び/又は他のガイダンス情報)を更新する。
【0284】
図49の場合においてユーザーが軌道から外れるリスクは、ユーザーが誤りを犯すより高い自由度がユーザーに与えられるので、
図48の場合より高い。
図50は、この状況に対処する1つの方法を示している。ここでは、ビーコンベースのガイダンスモジュール422は、例えば最適なルート5002のいずれかのサイドにある隣接ビーコンも包含することによって、より一般的な方法で、ユーザーが計画されたルート5002に沿って遭遇する可能性があるビーコン(黒実線ビーコン記号として表される)を規定する。ビーコンベースのガイダンスモジュール422は、ユーザーがこれらの隣接ビーコンのレンジに迷い込んだ場合でも、ユーザーが依然として計画されたルート5002に従おうと試みており、わずかにコースから逸れてしまっただけであるという仮定の下、ユーザーにガイダンスを提供し続けることができる。ビーコンベースのガイダンスモジュール422は、最も外側の隣接ビーコンに関連付けられている境界を越えてユーザーが迷うときにのみ、エラー状態を生成することができる。
【0285】
別の実施形態において、ビーコンベースのガイダンスモジュール422は、ユーザーが自分の経路に沿ってそれまでに既に遭遇しているビーコンに基づいて、ユーザーの所望の行き先についての仮定を形成することができる。例えば、ビーコンベースのガイダンスモジュール422は、それまでに遭遇したビーコンの位置に基づいて軌道を形成することができる。ビーコンベースのガイダンスモジュール422は、次いで、例えばその軌道をその現在の方向に沿って延長することによって、その軌道が指している可能性が高い中間地点又は最終行き先を判定することができる。ビーコンベースのガイダンスモジュール422は、次いで、ユーザーがその仮定の行き先に向かう経路に追従したいかどうかを、ユーザーに尋ねることができる。ユーザーがその経路に追従したい場合には、ビーコンベースのガイダンスモジュール422は、その後も、ユーザーがその特定された行き先に到達するのを助ける、上述したのと同じタイプのナビゲーション支援を提供することができる。
【0286】
本明細書に記載されているいずれの場合においても、ビーコンベースのガイダンスモジュール422は、ユーザーの以前の移動習慣に関する過去の情報及び/又は他人の移動習慣(指定された環境に関するもの)に関する過去の情報を考慮することができる。この情報は、取得可能な場合には、所望の行き先に到達しようとするユーザーの意図のさらなるエビデンスを提供することができる。
【0287】
図51は、例えば
図47〜
図50のタイプの環境のコンテキスト内におけるビーコンベースのガイダンスモジュール422の1つの動作方法を表すプロセス5102を示している。ブロック5104において、ビーコンベースのガイダンスモジュール422は、環境内の現在位置において動作しているコンピューティングデバイスの1つ以上のセンサーから特定のビーコン信号を受信する。コンピューティングデバイスは、ユーザーデバイス106又はヘッドセット108などに対応し得る。上述のように、環境には、1つの例示的な実施形態ではそれぞれの重なり合わないレンジを有する複数のビーコンが投入される。さらに、予備ステップとして、ルート計画モジュールは、旅程情報によって表される所望のルートを規定している場合がある。あるいは、所望のルートは、ユーザーの意図される中間地点又は最終行き先に関してなされた仮定に基づいて、ユーザーが環境を移動するときに動的に生成される場合もある。いずれの場合においても、所望のルートは、環境内の全てのビーコンのセットのうち、ルート固有ビーコンのセットに関連付けられているレンジを横切る。
【0288】
ブロック5106において、ビーコンベースのガイダンスモジュール422は、上記の特定のビーコン信号に基づいて、ユーザーがルート固有ビーコンのうちの1つのビーコンのレンジ内にいるかどうかを判定する。この動作は、ユーザーがレンジ内にいるときには、現在位置情報をもたらす。ブロック5108において、ビーコンベースのガイダンスモジュール422は、予め定められた旅程情報に基づいて、ユーザーが到達すると予想される次のウェイポイントを判定して、次ウェイポイント情報(next waypoint information)を提供する。いくつかの場合において、次のウェイポイントは、ユーザーの予め定められた旅程に沿った次のビーコンに対応し得る。次いで、ブロック5110において、ビーコンベースのガイダンスモジュール422は、現在位置情報及び次ウェイポイント情報に基づいて、方向情報を決定する。この方向情報は、ユーザーが次のウェイポイントに到達するために移動するように勧められる方向を反映する。ブロック5112において、ビーコンベースのガイダンスモジュール422は、この方向情報に基づいて、オーディオ情報(及び/又は他のガイダンス情報)を生成する。ブロック5114において、ビーコンベースのガイダンスモジュール422は、オーディオ情報を、例えば3次元ビート音として、ユーザーに配信する。オーディオ情報は、ユーザーが次のウェイポイントに到達するのを支援する。ビーコンベースのガイダンスモジュール422は、経路ガイダンスモジュール420及び音生成モジュール414の支援により、上記の機能を実行することができる。
【0289】
図52は、ビーコンベースのガイダンスモジュール422が環境内のユーザーの現在位置を判定できる1つの方法に関するさらなる詳細を提供するプロセス5202を示している。ブロック5204において、ビーコンベースのガイダンスモジュール422は、受信された特定のビーコン信号に関連付けられている特定のビーコン符号を特定する。ブロック5206において、ビーコンベースのガイダンスモジュール422は、この特定のビーコン符号に基づいて、この特定のビーコン符号に関連付けられている特定のビーコンを特定する。ブロック5208において、ビーコンベースのガイダンスモジュール422は、ビーコン符号と環境内におけるビーコンのそれぞれの位置とを特定する(データ記憶部424に)記憶されている情報に基づいて、この特定のビーコンの位置を特定する。
【0290】
要約すると、上記の特徴は、特にユーザーが自分の位置を判定するために(例えば衛星ベースの航法システムの使用に基づく)他のモードに依拠できない状況において、ユーザーが自分の環境を安全且つ効率的に移動することを可能にするという上述の目的に寄与する。さらに、(1つの例示的な実施形態に従った)重なり合わないビーコンレンジの使用は、ユーザーが一度に同時に2つ以上のビーコンのレンジ内に存在する可能性がないので、ユーザーの位置を明確にする効率的な機構を提供する。
【0291】
第1の実施形態の上記の説明では、ユーザーデバイス106(及び/又はヘッドセット108)が、任意の所与の時点において、複数のビーコンではなく0又は1つのビーコンにより送信された信号を受信すると仮定している。他の実施形態において、上記の特徴は、異なる形で緩和されることがある。
【0292】
例えば、第2の実施形態において、ビーコンベースのガイダンスモジュール422は、ユーザーデバイス106及び/又はヘッドセット108が、特定のビーコンから、既定の閾値を超える信号強度を有する信号を受信した場合に、ユーザーデバイス106及び/又はヘッドセット108が、その特定のビーコンのレンジ内にあると結論づける。しかしながら、第1の実施形態とは異なり、ビーコンベースのガイダンスモジュール422は、環境内の1つ以上の他のビーコンからも、それぞれの信号強度が規定の閾値未満である、より弱い信号を同時に受信することがある。このシナリオにおいて、ビーコンベースのガイダンスモジュール422が、任意の所与の時点において、(1)閾値を超える信号強度を有する信号を受信しないような又は(2)閾値を超える信号強度を有する信号を1つだけ受信するような位置を有するビーコンが、環境に投入される。実際には、第2の実施形態は、第1の実施形態と同様に機能し、ユーザーがそれらのビーコンのうちの1つのビーコンのレンジ内にいると仮定して、例えば任意の所与の時点におけるユーザーの位置を明確にするバイナリ機構を提供することによって、同じ利点を提供する。第2の実施形態におけるビーコンは、したがって、上記の挙動により、機能又は効果の面で重なり合わないものと考えられ得る。したがって、本明細書で使用される「重なり合わない」との言及は、ビーコンが文字通り重なり合わないレンジを有する場合と、ユーザーデバイス106及び/又はヘッドセット108が既定の閾値を超える信号強度を有する多くても1つのビーコンからの信号を受信できるだけであることからそれらのレンジが重なり合わないと考えられ得る場合と、の両方を包含するものとして理解されるべきである。
【0293】
第3の実施形態において、ビーコンベースのガイダンスモジュール422は、任意の所与の時点において、任意の信号強度を有する任意の数のビーコンから信号を受信することがある。特定の位置における信号(及び強度)のセットが、その位置についての信号プロファイル情報を規定する。予備動作として、ビーコンベースのガイダンスモジュール422は、環境内の各ナビゲート可能位置についての信号プロファイル情報を記憶して、例えばその位置における信号及びそのそれぞれの強度に関する情報を構成することができる。集合的に、この記憶された情報が、環境のプロファイルマップを構成する。ナビゲーション中、ビーコンベースのガイダンスモジュール422は、ビーコンベースのガイダンスモジュール422が所与の位置で所与の時点において受信している信号を判定して、現在の信号プロファイル情報を提供することができる。次いで、ビーコンベースのガイダンスモジュール422は、この現在の信号プロファイル情報をキーとして使用して、最も近い一致する信号プロファイル情報を有する位置を見つけることができる。この位置は、所与の時点におけるユーザーの可能性の高い位置を規定する。いくつかの環境において、ビーコンによって発される信号の強度及び/又はそれらの信号を検出する能力は、様々な環境固有の理由から、時間とともに変化する可能性がある。ビーコンベースのガイダンスモジュール422は、信号プロファイル情報の正規化されたバージョンを比較することによって、この問題に対処することができる。第3の実施形態におけるビーコンの位置は、上述の第1の実施形態又は第2の実施形態に関連する、重なり合わないという制約を満たす必要がないことに留意されたい。
【0294】
F.代表的なコンピューティング機能
図53は、上記のシステム102の任意の態様を実装するために使用され得るコンピューティング機能5302を示している。例えば、
図53に示されるタイプのコンピューティング機能5302は、ユーザーデバイス106、リモート処理リソース112のうちのいずれか、ヘッドセット108によって使用される処理機器、別個のユーザーコンピューティングデバイス110などを実装するために使用され得る。全ての場合において、コンピューティング機能5302は、1つ以上の物理的な有形の処理機構を表す。
【0295】
コンピューティング機能5302は、1つ以上の中央処理装置(CPU)及び/又は1つ以上のグラフィック処理装置(GPU)などの1つ以上の処理デバイス5304を含み得る。
【0296】
コンピューティング機能5302はまた、コード、設定、データなどの任意の種類の情報を記憶する任意の記憶リソース5306を含み得る。限定されるわけではないが、例えば、記憶リソース5306は、任意の1つ以上のタイプのRAM、任意の1つ以上のタイプのROM、フラッシュデバイス、ハードディスク、光ディスクなどのうちの任意のものを含み得る。より一般的には、任意の記憶リソースは、情報を記憶するための任意の技術を使用することができる。さらに、任意の記憶リソースは、情報の揮発性又は不揮発性の保持を提供することができる。さらに、任意の記憶リソースは、コンピューティング機能5302の固定された又は取外し可能なコンポーネントを表し得る。コンピューティング機能5302は、処理デバイス5304が任意の記憶リソース又は記憶リソースの組合せに記憶されている命令を実行したときに、上述の機能のいずれかを実行することができる。
【0297】
用語に関して、記憶リソース5306のうちの任意のもの又は記憶リソース5306の任意の組合せは、コンピューター読み取り可能な媒体とみなされ得る。多くの場合において、コンピューター読み取り可能な媒体は、何らかの形態の物理的な有形のエンティティーを表す。コンピューター読み取り可能な媒体という用語は、例えば物理的経路及び/又は空中若しくは他の無線媒体などを介して送信又は受信される伝搬信号を包含する。しかしながら、「コンピューター読み取り可能な記憶媒体」及び「コンピューター読み取り可能な媒体デバイス」という具体的な用語は、伝搬信号以外の全ての形態のコンピューター読み取り可能な媒体を含むが、伝搬信号自体は明確に排除している。
【0298】
コンピューティング機能5302はまた、ハードディスクドライブ機構、光ディスクドライブ機構など、任意の記憶リソースとインタラクトする1つ以上のドライブ機構5308を含む。
【0299】
コンピューティング機能5302はまた、(入力デバイス5312を介して)様々な入力を受信し、(出力デバイス5314を介して)様々な出力を提供する入力/出力モジュール5310を含む。例示的な入力デバイスは、キーボードデバイス、マウス入力デバイス、タッチ検知入力デバイス、デジタル化パッド、1つ以上のビデオカメラ、1つ以上のデプスカメラ、自由空間ジェスチャー認識機構、1つ以上のマイクロフォン、音声認識機構、任意の動き検出機構(例えば加速度計、ジャイロスコープなど)などを含む。1つの特定の出力機構は、提示デバイス5316と、関連付けられたグラフィカルユーザーインターフェイス(GUI)5318と、を含み得る。他の出力デバイスは、プリンター、モデル生成機構、触覚出力機構、(出力情報を記憶する)アーカイブ機構などを含む。コンピューティング機能5302はまた、1つ以上の通信路5322を介して他のデバイスとデータを交換するための1つ以上のネットワークインターフェイス5320を含み得る。1つ以上の通信バス5324は、上述のコンポーネントを通信可能に接続する。
【0300】
1つ以上の通信路5322は、例えばローカルエリアネットワーク、ワイドエリアネットワーク(例えばインターネット)、ポイントツーポイント接続など、又はそれらの任意の組合せによって、任意の方法で実装され得る。1つ以上の通信路5322は、任意のプロトコル又はプロトコルの組合せによって制御される、ハードワイヤードリンク、無線リンク、ルーター、ゲートウェイ機能、ネームサーバーなどの任意の組合せを含み得る。
【0301】
代替的又は追加的に、上記のセクションに記載された機能のうちの任意の機能は、少なくとも部分的には、1つ以上のハードウェアロジックコンポーネントによって実行され得る。例えば、限定されるわけではないが、コンピューティング機能5302は、フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)、特定用途向け標準品(ASSP)、システムオンチップシステム(SoC)、コンプレックスプログラマブルロジックデバイス(CPLD)などのうちの1つ以上を使用して実装され得る。
【0302】
最後に、以下の記載は、上述のシステム102のそれぞれの態様を要約したものである。
【0303】
第1の態様に従うと、ユーザーが空間とインタラクトするのを支援するシステムが記載される。このシステムは、ユーザーが空間とインタラクトするときにユーザーにオーディオ情報を提示するヘッドセットを含む。このヘッドセットは、少なくとも、ユーザーから、空間インタラクションモジュールによって実行されるそれぞれの空間インタラクション関連機能を呼び出すコマンドを受信する入力機構のセットを有する。
【0304】
第2の態様に従うと、ヘッドセットは、骨伝導機構を使用して、ユーザーにオーディオ情報を配信する。
【0305】
第3の態様に従うと、少なくとも1つのコマンドは、リスニングモードを開始するように空間インタラクションモジュールに命令する。リスニングモードにおいて、空間インタラクションモジュールは、ユーザーによって話された命令を受信する。
【0306】
第4の態様に従うと、少なくとも1つのコマンドは、オーディオ情報の配信を停止するように空間インタラクションモジュールに命令する。
【0307】
第5の態様に従うと、少なくとも1つのコマンドは、オーディオ情報の1つ以上の以前に配信された項目を繰り返すように空間インタラクションモジュールに命令する。
【0308】
第6の態様に従うと、少なくとも1つのコマンドは、探索モードを開始するように空間インタラクションモジュールに命令する。探索モードにおいて、空間インタラクションモジュールは、ユーザーの注意が現在向けられている部分空間に関連付けられている関心項目のセットに関する情報を提供する。
【0309】
第7の態様に従うと、少なくとも1つのコマンドは、オリエンテーションモードを開始するように空間インタラクションモジュールに命令する。オリエンテーションモードにおいて、空間インタラクションモジュールは、現在時点におけるユーザーの周りの空間全体に関連付けられている関心項目のセットに関する情報を提供する。
【0310】
第8の態様に従うと、少なくとも1つのコマンドは、詳細情報機能を実行するように空間インタラクションモジュールに命令する。空間インタラクションモジュールは、以前に配信された関心項目に関連付けられていたトピックに関する追加の情報を提供することによって、詳細情報機能を実行する。
【0311】
第9の態様に従うと、少なくとも1つの入力機構は、ユーザーが入力機構とインタラクトしたやり方に応じて、複数の機能を呼び出すことができる。
【0312】
第10の態様に従うと、空間インタラクションモジュールは、ヘッドセットによって実装されている。
【0313】
第11の態様に従うと、ヘッドセットは、ヘッドセットの向きを判定して、ヘッドセット向き情報を提供するヘッドセット向き判定機構、ヘッドセットの動きを判定して、ヘッドセット動き情報を提供するヘッドセット動き判定機構、及び/又はヘッドセットの位置を判定して、ヘッドセット位置情報を提供するヘッドセット位置判定機構をさらに有する。
【0314】
第12の態様に従うと、このシステムは、少なくとも1つのユーザーコンピューティングデバイスをさらに有する。ユーザーコンピューティングデバイスは、ユーザーによる空間とのインタラクションに関連する情報を表示する表示出力機構を提供する。ユーザーコンピューティングデバイスが、空間インタラクションモジュールに関連付けられている機能の少なくとも一部を実装している。さらに、ヘッドセットは、ユーザーコンピューティングデバイスと通信するための第1の通信機構を有し、ユーザーコンピューティングデバイスは、ヘッドセットと通信するための第2の通信機構を有する。
【0315】
第13の態様に従うと、ユーザーコンピューティングデバイスは、ヘッドセット向き情報、ヘッドセット動き情報、及び/又はヘッドセット位置情報に基づいて処理を実行して、結果を生成し、その結果をヘッドセットに転送するよう構成されている。
【0316】
第14の態様に従うと、ユーザーコンピューティングデバイスは、ユーザーコンピューティングデバイスの向きを判定して、デバイス向き情報を提供するデバイス向き判定機構、ユーザーコンピューティングデバイスの動きを判定して、デバイス動き情報を提供するデバイス動き判定機構、及び/又はユーザーコンピューティングデバイスの位置を判定して、デバイス位置情報を提供するデバイス位置判定機構をさらに有する。
【0317】
第15の態様に従うと、ヘッドセットは、対応する情報がヘッドセットから取得可能でないときに、ユーザーコンピューティングデバイスによって提供されたデバイス向き情報、デバイス動き情報、及び/又はデバイス位置情報に基づいて機能を実行するよう構成されている。
【0318】
第16の態様に従うと、少なくともヘッドセット及び/又はユーザーコンピューティングデバイスは、外部コンピューティングデバイスによって提供される情報を受信し、且つ/又は外部コンピューティングデバイスによって提供される機能を使用するよう構成されている。
【0319】
第17の態様に従うと、ユーザーが空間とインタラクトするのを支援する、システムによって実施される方法が記載される。この方法は、ヘッドセットに接続されている少なくとも1つの入力機構のユーザーによる作動に基づく命令を受信するステップと、この命令に基づいて機能を実行して、出力結果を提供するステップと、この出力結果に基づいて、ヘッドセットを介して、ユーザーが空間とインタラクトするのを支援するオーディオ情報を配信するステップと、を含む。
【0320】
第18の態様に従うと、機能を実行する動作は、ヘッドセットによって少なくとも部分的に実装されている空間インタラクションモジュールを使用して機能を実行することを伴う。
【0321】
第19の態様に従うと、機能を実行する動作は、ヘッドセットに通信可能に接続されている別個のユーザーコンピューティングデバイスによって少なくとも部分的に実装されている空間インタラクションモジュールを使用して機能を実行することを伴う。
【0322】
第20の態様に従うと、ユーザーが空間とインタラクションするときにユーザーを支援するオーディオ情報を提示するオーディオ出力機構と、ユーザーから、空間インタラクションモジュールによって実行されるそれぞれの空間インタラクション関連機能を呼び出すコマンドを受信する入力機構のセットと、を含むヘッドセットが記載される。少なくとも1つのコマンドは、探索モードを開始するように空間インタラクションモジュールに命令し、少なくとも1つのコマンドは、オリエンテーションモードを開始するように空間インタラクションモジュールに命令する。探索モードにおいて、空間インタラクションモジュールは、ユーザーの注意が現在向けられている部分空間に関連付けられている関心項目のセットに関する情報を提供する。オリエンテーションモードにおいて、空間インタラクションモジュールは、現在時点におけるユーザーの周りの空間全体に関連付けられている関心項目のセットに関する情報を提供する。
【0323】
第21の態様は、上記で言及された第1の態様乃至第20の態様の任意の組合せ(例えば任意の置換又はサブセット)に対応する。
【0324】
第22の態様に従うと、第1の態様乃至第21の態様のうちのいずれかを実装している1つ以上のコンピューティングデバイス(及び/又は1つ以上のヘッドセット)が提供される。
【0325】
第23の態様に従うと、第1の態様乃至第21の態様のうちのいずれかを実装しているシステムが提供される。
【0326】
第24の態様に従うと、第1の態様乃至第21の態様のうちのいずれかを実装するよう構成されているロジックを含む1つ以上のコンピューター読み取り可能な記憶媒体が提供される。
【0327】
第25の態様に従うと、第1の態様乃至第21の態様のうちのいずれかを実装している1つ以上の手段が提供される。
【0328】
さらに、最後に、本明細書に記載の機能は、様々な機構を利用して、任意のユーザーデータが、適用される法律、社会的規範、並びに個々のユーザーの期待及び好みに従う方法で取り扱われることを確実にすることができる。例えば、この機能は、ユーザーが、この機能の規定に明示的にオプトインする(その後に明示的にオプトアウトする)ことを可能にし得る。この機能はまた、ユーザーデータのプライバシーを保証する適切なセキュリティー機構(データ無害化機構、暗号化機構、パスワード保護機構など)を提供することができる。
【0329】
さらに、主題が、構造的特徴及び/又は方法論的動作に特有の言葉で説明されたが、請求項において定められる主題は、上述の特定の特徴又は動作に必ずしも限定されるわけではないことを理解されたい。そうではなく、上述の特定の特徴及び動作は、請求項を実施する例示的な形態として開示されたものである。