種々の実施形態が、ここで、当業者が本開示を実践することを可能にするように本開示の例証的実施例として提供される、図面を参照して、詳細に説明されるであろう。留意すべきこととして、下記の図および実施例は、本開示の範囲を限定することを意味するものではない。本開示のある要素が、公知のコンポーネント(または方法またはプロセス)を使用して、部分的または完全に実装され得る場合、本開示の理解のために必要である、そのような公知のコンポーネント(または方法またはプロセス)のその部分のみが、説明され、そのような公知のコンポーネント(または方法またはプロセス)の他の部分の詳細な説明は、本開示を曖昧にしないように省略されるであろう。さらに、種々の実施形態は、例証として本明細書に参照されるコンポーネントの現在および将来的に公知の均等物を包含する。
本開示の実施形態は、コンテンツまたはコンテンツ要素を空間的に編成された3D環境内に表示する。例えば、コンテンツまたはコンテンツ要素は、プッシュ配信コンテンツ、プル配信コンテンツ、ファーストパーティコンテンツ、およびサードパーティコンテンツを含み得る。プッシュ配信コンテンツは、サーバ(例えば、コンテンツデザイナ)がクライアント(例えば、ユーザ)に送信する、コンテンツであって、初期要求は、サーバから生じる。プッシュ配信コンテンツの実施例は、(a)株価通知、ニュースフィード等の種々のアプリケーションからの通知、(b)例えば、ソーシャルメディアアプリケーション、電子メール更新、および同等物からの更新および通知等の優先されるコンテンツ、および/または(c)広範な標的グループおよび/または具体的標的グループおよび同等物を標的とする広告を含み得る。プル配信コンテンツは、クライアント(例えば、ユーザ)がサーバ(例えば、コンテンツデザイナ)から要求する、コンテンツであって、初期要求は、クライアントから生じる。プル配信コンテンツの実施例は、(a)ユーザが、例えば、ブラウザを使用することによって要求される、ウェブページ、(b)ユーザが、例えば、ビデオおよび/またはオーディオストリーミングアプリケーション等のデータストリーミングアプリケーションを使用することによって要求される、コンテンツプロバイダからのストリーミングデータ、および/または(c)ユーザが要求/アクセス/クエリし得る、任意のデジタルフォーマッティングを含み得る。ファーストパーティコンテンツは、クライアントが所有/使用する任意のデバイス(例えば、携帯電話、タブレット、カメラ、頭部搭載型ディスプレイデバイス、および同等物等のクライアントデバイス)上でクライアント(例えば、ユーザ)によって生成される、コンテンツである。ファーストパーティコンテンツの実施例は、写真、ビデオ、および同等物を含む。サードパーティコンテンツは、クライアントではないパーティ(例えば、テレビネットワーク、映画ストリーミングサービスプロバイダ、ユーザ以外の他者によって作成されたウェブページ、および/またはユーザによって生成されていない任意のデータ)によって生成される、コンテンツである。サードパーティコンテンツの実施例は、ユーザ以外の他者によって生成されたウェブページ、1つ以上のソースから受信されたデータ/オーディオ/ビデオストリームおよび関連付けられたコンテンツ、ユーザ以外の他者によって生成された任意のデータ、および同等物を含み得る。
コンテンツは、頭部搭載型システム上のウェブページおよび/またはアプリケーション、モバイルデバイス(例えば、携帯電話)、タブレット、テレビ、サーバ、および同等物から生じ得る。いくつかの実施形態では、コンテンツは、ラップトップコンピュータ、デスクトップコンピュータ、コンテンツへのリンクを伴う、電子メールアプリケーション、コンテンツへの参照またはリンクを含む、電子メッセージ、および同等物等の別のアプリケーションまたはデバイスから受信されてもよい。以下の詳細な説明は、コンテンツとして、ウェブページの実施例を含む。しかしながら、コンテンツは、任意のコンテンツであってもよく、本明細書に開示される原理が、適用されるであろう。
(ブロック図)
図1Aは、いくつかの実施形態による、コンテンツのコンテンツ要素を空間的3次元(3D)環境にマッチングさせる例示的システムおよびコンピュータ実装方法を図示する。システム100は、コンテンツ構造化プロセス120と、環境構造化プロセス160と、合成プロセス140とを含む。システム100またはその一部は、頭部搭載型ディスプレイデバイス等のデバイス上に実装されてもよい。
コンテンツ構造化プロセス120は、コンテンツ110を読み取り、コンテンツ110を論理構造の中に編成/記憶し、コンテンツ110をアクセス可能にし、コンテンツ要素をコンテンツ110からプログラム上より抽出しやすくする、プロセスである。コンテンツ構造化プロセス120は、解析器115を含む。解析器115は、コンテンツ110を受信する。例えば、解析器115は、コンテンツ110をエンティティ(例えば、コンテンツ設計者)から受信する。エンティティは、例えば、アプリケーションであってもよい。エンティティは、システム100の外部にあってもよい。コンテンツ110は、例えば、上記に説明されるように、プッシュ配信コンテンツ、プル配信コンテンツ、ファーストパーティコンテンツ、および/またはサードパーティコンテンツであってもよい。外部ウェブサーバは、コンテンツ110が要求されると、コンテンツ110をサービス提供してもよい。解析器115は、コンテンツ110を解析し、コンテンツ110のコンテンツ要素を識別する。解析器115は、コンテンツ110をインベントリ化するために、コンテンツ要素を識別し、続いて、コンテンツのテーブル等の論理構造内に編成および記憶してもよい。コンテンツのテーブルは、例えば、ドキュメントツリーまたはグラフ等のツリー構造および/または関係データベーステーブル等のデータベーステーブルであってもよい。
解析器115は、コンテンツ要素毎に、属性を識別/決定および記憶してもよい。コンテンツ要素のそれぞれの属性は、コンテンツ110のコンテンツ設計者によって明示的に示されてもよい、または、例えば、コンテンツ110内のコンテンツ要素の場所に基づいて、解析器115によって決定または推測されてもよい。例えば、コンテンツ要素のそれぞれの属性は、相互に対するコンテンツ110内のコンテンツ要素の場所に基づいて、解析器115によって決定または推測されてもよい。コンテンツ要素の属性は、下記にさらに詳細に説明される。解析器115は、全てのコンテンツ要素のリストとともに、コンテンツ110から解析される個別の属性を生成してもよい。コンテンツ要素を解析および記憶後、解析器115は、関連付けられた優先順位(例えば、最高から最低)に基づいて、コンテンツ要素を順序付けてもよい。
コンテンツ要素を論理構造内に編成および記憶することのいくつかの利点は、いったんコンテンツ要素が、論理構造の中に編成および記憶されると、システム100は、コンテンツ要素にクエリし、それを操作し得ることである。例えば、ノードを有するツリー構造として表される、階層/論理構造では、ノードが削除される場合、削除されたノード下の全てのものも、同様に削除され得る。同様に、ノードが移動される場合、ノード下の全てのものも、それとともに移動し得る。
環境構造化プロセス160は、環境関連データを解析し、表面を識別する、プロセスである。環境構造化プロセス160は、センサ162と、コンピュータビジョン処理ユニット(CVPU)164と、知覚フレームワーク166と、環境解析器168とを含んでもよい。センサ162は、処理するために、実世界表面に関する未加工データ(例えば、環境からのオブジェクトおよび構造の点群)をCVPU164に提供する。センサ162の実施例は、全地球測位システム(GPS)、無線信号センサ(WiFi、Bluetooth(登録商標)等)、カメラ、深度センサ、加速度計三回対称軸および角速度センサ三回対称軸を含む、慣性測定ユニット(IMU)、磁力計、レーダ、気圧計、高度計、加速度計、露光計、ジャイロスコープ、および/または同等物を含んでもよい。
CVPU164は、未加工データを簡略化またはフィルタリングする。いくつかの実施形態では、CVPU164は、雑音を未加工データからフィルタリング除去し、簡略化された未加工データを生産してもよい。いくつかの実施形態では、CVPU164は、未加工データおよび/または簡略化された未加工データから、使用され得ない、および/または現在の環境走査タスクに関連し得ないデータをフィルタリング除去し、フィルタリングされたデータを生産してもよい。CVPU164は、残りのデータをグループ点群点の中に距離および平面性によって改変し、下流における表面の抽出/識別/決定をより容易にしてもよい。CVPU164は、さらなる処理のために、処理された環境データを知覚フレームワーク166に提供する。
知覚フレームワーク166は、グループ点群点をCVPU164から受信し、環境データを環境解析器168のために準備する。知覚フレームワーク166は、構造/表面/平面(例えば、表面のリスト)を作成/決定し、例えば、外部データベース、ローカルデータベース、専用ローカル記憶装置、ローカルメモリ、および同等物等の1つ以上のデータ記憶装置に取り込む。例えば、知覚フレームワーク166は、CVPU164から受信された全てのグループ化された点群点を順に処理し、実世界表面に対応する仮想構造/表面/平面を作成/決定する。仮想平面は、仮想的に構築された長方形(例えば、レンダリングパイプライン内で2つの三角形に分割される)を作成する、4つの頂点(グループ化された点群点からピックアップされる)であってもよい。知覚フレームワーク166によって作成/決定された構造/表面/平面は、環境データと称される。実世界表面にわたってレンダリングおよび重畳されると、仮想表面は、実質的にその対応する1つ以上の実世界表面にわたって置かれる。いくつかの実施形態では、仮想表面は、完全にその対応する1つ以上の実世界表面にわたって置かれる。知覚フレームワーク286は、仮想表面と対応する実世界表面の1対1または1対多のマッチング/マッピングを維持してもよい。1対1または1対多のマッチング/マッピングは、クエリするために使用されてもよい。知覚フレームワーク286は、環境が変化すると、1対1または1対多のマッチング/マッピングを更新してもよい。
環境解析器168は、知覚フレームワーク166からの環境データを解析し、環境内の表面を決定する。環境解析器168は、オブジェクト認識を使用して、知覚フレームワーク166から受信された環境データに基づいて、オブジェクトを識別してもよい。オブジェクト認識に関するさらなる詳細は、「PLANAR WAVEGUIDE APPARATUS WITH DIFFRACTION ELEMENT(S) AND SYSTEM EMPLOYING SAME」と題された米国特許第9,671,566号および「USING OBJECT RECOGNIZERS IN AN AUGMENTED OR VIRUTAL REALITY SYSTEM」と題された米国特許第9,761,055号に説明される。環境解析器168は、表面をインベントリ化するための表面のテーブル等の論理構造内に表面を編成および記憶してもよい。表面のテーブルは、例えば、順序付けられたアレイ、階層テーブル、ツリー構造、論理グラフ構造、および/または同等物であってもよい。一実施例では、順序付けられたアレイは、良好な適合表面が決定されるまで、線形に反復されてもよい。一実施例では、具体的パラメータ(例えば、最大表面積)によって順序付けられたツリー構造に関して、最良適合表面は、ツリー内の各表面が要求される面積より小さいまたはより大きいかどうかを持続的に比較することによって決定されてもよい。一実施例では、論理グラフデータ構造では、最良適合表面は、関連隣接性パラメータ(例えば、視認者からの距離)に基づいて検索されてもよい、または具体的表面要求に関する迅速検索を伴うテーブルを有する。
上記に説明されるデータ構造は、環境解析器168がランタイム時に決定された表面に対応するデータを記憶し(必要とされる場合、環境変化に基づいて、データを更新し)、表面マッチングを処理し、任意の他のアルゴリズムを起動させる、場所であり得る。一実施形態では、環境解析器168に関して上記に説明されるデータ構造は、データがより持続的に記憶される場所ではなくてもよい。データは、データを受信および処理するとき、ランタイムメモリRAM、外部データベース、ローカルデータベース、および同等物であり得る、知覚フレームワーク166によってより持続的に記憶されてもよい。表面を処理する前に、環境解析器168は、表面データを持続的記憶装置から受信し、論理データ構造にそれらから取り込み、次いで、マッチングアルゴリズムを論理データ構造上で起動してもよい。
環境解析器168は、表面毎に、属性を決定および記憶してもよい。表面のそれぞれの属性は、解析器115からのコンテンツのテーブル内のコンテンツ要素の属性に対して有意義であり得る。表面の属性は、下記にさらに詳細に説明される。環境解析器168は、全ての表面のリストとともに、環境から解析される個別の属性を生成してもよい。表面を解析および記憶後、環境解析器168は、関連付けられた優先順位(例えば、最高から最低)に基づいて、表面を順序付けてもよい。表面の関連付けられた優先順位は、環境解析器168が、表面データを持続的記憶装置から受信し、論理データ構造にそれらから取り込むときに確立されてもよい。例えば、論理データ構造が、バイナリ検索ツリーを含む場合、記憶装置からの表面(通常の列挙されるリストで受信される)毎に、環境解析器168は、最初に、優先順位を計算し(例えば、表面の1つ以上の属性に基づいて)、次いで、表面を論理データ構造の中のその適切な場所に挿入してもよい。環境解析器168は、点群を通して解析し、点の近接度/空間内の関係に基づいて、表面および/または平面を抽出してもよい。例えば、環境解析器168は、水平および垂直平面を抽出し、サイズを平面に関連付けてもよい。
コンテンツ構造化プロセス120は、コンテンツ110を通して解析し、コンテンツ要素を論理構造の中に編成する。環境構造化プロセス160は、センサ162からのデータを通して解析し、環境からの表面を論理構造の中に編成する。コンテンツ要素を含む論理構造および表面を含む論理構造が、マッチングおよび操作のために使用される。コンテンツ要素を含む論理構造は、表面を含む論理構造と(タイプが)異なり得る。
合成プロセス140は、解析器115(例えば、論理構造内に記憶されるコンテンツ要素のテーブル)からのコンテンツ要素と環境解析器168(例えば、論理構造内に記憶される表面のテーブル)からの環境からの表面をマッチングさせ、どのコンテンツ要素がどの環境の表面上にレンダリング/マッピング/表示されるべきかを決定する、プロセスである。いくつかの実施形態では、図1Aに図示されるように、合成プロセス140は、マッチングモジュール142と、レンダリングモジュール146と、随意の仮想オブジェクト作成モジュール144とを含んでもよい。いくつかの実施形態では、図1Bに図示されるように、合成プロセス140はさらに、表示モジュール148と、受信モジュール150とを含んでもよい。
マッチングモジュール142は、論理構造内に記憶されるコンテンツ要素を論理構造内に記憶される表面にペアリング/マッチングさせる。マッチングは、コンテンツ要素と表面(例えば、1つのコンテンツ要素と1つの表面、1つのコンテンツ要素と2つ以上の表面、2つ以上のコンテンツ要素と1つの表面等)の1対1または1対多のマッチングであってもよい。いくつかの実施形態では、マッチングモジュール142は、コンテンツ要素を表面の一部にペアリング/マッチングさせてもよい。いくつかの実施形態では、マッチングモジュール142は、1つ以上のコンテンツ要素を1つの表面にペアリング/マッチングさせてもよい。マッチングモジュール142は、コンテンツ要素の属性と表面の属性を比較する。マッチングモジュール142は、類似および/または対向属性を共有するコンテンツ要素および表面に基づいて、コンテンツ要素を表面にマッチングさせる。論理構造内に記憶されるコンテンツ要素のそのような編成されたインフラストラクチャおよび論理構造内に記憶される表面を有することは、マッチングルール、ポリシ、および制約が、容易に作成、更新、および実装され、マッチングモジュール142によって実施されるマッチングプロセスをサポートおよび改良することを可能にする。
マッチングモジュール142は、ユーザ選好、システム選好、および/またはパス可能選好等の1つ以上の選好データ構造にアクセスしてもよく、1つ以上の選好データ構造をマッチングプロセスにおいて使用してもよい。ユーザ選好は、例えば、過去のアクションに基づく集約選好に基づく、モデルであってもよく、特定のコンテンツ要素タイプに特有であってもよい。システム選好は、1つのコンテンツ要素に関して、上位2つ以上の表面を含んでもよく、ユーザは、その2つ以上の表面を通してナビゲートし、好ましい表面を選択する能力を有し得る。上位2つ以上の表面は、ユーザ選好および/またはパス可能選好に基づいてもよい。パス可能選好は、クラウドデータベースから読み出されてもよく、パス可能選好は、例えば、他のユーザ、類似ユーザ、全てのユーザ、類似環境、コンテンツ要素タイプ、および/または同等物のグループ化に基づく、モデルであってもよい。パス可能選好データベースは、消費者データ(例えば、集約消費者データ、消費者試験データ等)を事前に取り込まれ、大規模データセット(例えば、ユーザのデータセット)が蓄積される前でさえ、合理的マッチングを提供し得る。
マッチングモジュール142は、少なくとも部分的に、コンテンツベクトル(例えば、配向属性)、頭部姿勢ベクトル(例えば、表面ではない、VR/ARデバイスの属性)、および1つ以上の表面の面法線ベクトルに基づいて、1つのコンテンツ要素を1つ以上の表面にマッチングさせる。コンテンツベクトル、頭部姿勢ベクトル、および面法線ベクトルは、下記に詳細に説明される。
マッチングモジュール142は、コンテンツ要素と表面(例えば、1つのコンテンツ要素と1つの表面、1つのコンテンツ要素と2つ以上の表面、2つ以上のコンテンツ要素と1つの表面等)の少なくとも1対1または1対多のマッチング/マッピングを有する、マッチング結果を生成する。結果は、さらなる処理のために、キャッシュメモリまたは持続的記憶装置内に記憶されてもよい。結果は、マッチングをインベントリ化するために、テーブル内に編成および記憶されてもよい。
いくつかの実施形態では、マッチングモジュール142は、マッチング結果を生成してもよく、1つのコンテンツ要素は、コンテンツ要素が複数の表面のうちの任意の1つ上にレンダリングおよび表示され得るように、複数の表面にマッチング/マッピングされてもよい。例えば、コンテンツ要素は、5つの表面にマッチング/マッピングされてもよい。ユーザは、次いで、5つの表面からある表面をコンテンツ要素が次いで表示されるべき好ましい表面として選択してもよい。いくつかの実施形態では、マッチングモジュール142は、マッチング結果を生成してもよく、1つのコンテンツ要素は、複数の表面の上位3つにマッチング/マッピングされてもよい。
いくつかの実施形態では、ユーザが、好ましい表面を選定または選択すると、ユーザによって行われる選択は、システム100が表面に対するコンテンツ要素のより正確かつ精密な推奨を行い得るように、ユーザ選好を更新してもよい。
マッチングモジュール142が、全てのコンテンツ要素を少なくとも1つの表面にマッチングさせる、またはコンテンツ要素を破棄する(例えば、他の表面へのマッピングのために、または好適なマッチングを見出さない)場合、合成プロセス140は、レンダリングモジュール146に進んでもよい。いくつかの実施形態では、マッチング表面を有していないコンテンツ要素に関して、マッチングモジュール142は、コンテンツ要素と仮想表面のためのマッチング/マッピングを作成してもよい。いくつかの実施形態では、マッチングモジュール142は、マッチング表面を有していないコンテンツ要素を閉じてもよい。
随意の仮想オブジェクト作成モジュール144は、仮想平面表面等のコンテンツ要素を表示するための仮想オブジェクトを作成してもよい。マッチングモジュール142のマッチングプロセスの間、仮想表面は、あるコンテンツ要素を表示するための随意の表面であり得ることが決定され得る。本決定は、環境解析器168によって決定されたテクスチャ属性、占有属性、および/または他の表面の属性および/または解析器115によって決定されたコンテンツ要素の属性に基づいてもよい。表面のテクスチャ属性および占有属性は、下記に詳細に説明される。例えば、マッチングモジュール142は、テクスチャ属性および/または占有属性が潜在的表面に関する不適格属性であり得ることを決定し得る。マッチングモジュール142は、少なくとも、テクスチャ属性および/または占有属性に基づいて、コンテンツ要素が、代替として、代わりに、仮想表面上に表示され得ることを決定し得る。仮想表面の位置は、1つ以上の(実)表面の位置に対するものであってもよい。例えば、仮想表面の位置は、1つ以上の(実)表面の位置から離れたある距離にあってもよい。いくつかの実施形態では、マッチングモジュール142は、好適な(実)表面が存在しないことを決定し得る、またはセンサ162は、任意の表面を全く検出しない場合があり、したがって、仮想オブジェクト作成モジュール144は、コンテンツ要素を表示するための仮想表面を作成してもよい。
いくつかの実施形態では、コンテンツ要素を表示するための仮想オブジェクトを作成するステップは、センサ162の特定のセンサまたは複数のセンサから受信されたデータまたは特定のセンサまたは複数のセンサからのセンサ入力の欠如に基づいてもよい。センサ162(カメラまたは深度センサ等)の環境中心センサから受信されたデータは、ユーザの現在の物理的環境に基づいて、好適な表面の欠如を示し得る、またはそのようなセンサは、表面の存在を全く判別することができない場合がある(例えば、高度に吸収性の表面は、深度センサの品質に応じて、表面識別を困難にし得る、またはコネクティビティの欠如が、表面情報を提供し得るある共有可能マップへのアクセスを阻ませる)。
いくつかの実施形態では、環境解析器168が、ある時間フレーム内にデータをセンサ162または知覚フレームワーク166から受信しない場合、環境解析器168は、好適な表面が存在しないことを受動的に決定し得る。いくつかの実施形態では、センサ162は、環境中心センサが表面を決定することができないことを能動的に確認し得、そのような決定を環境解析器168またはレンダリングモジュール146にパスし得る。いくつかの実施形態では、環境構造化160が、環境解析器168による受動的決定またはセンサ162による能動的確認のいずれかによって、合成プロセス140に提供するための表面を有していない場合、合成プロセス140は、仮想表面を作成する、または記憶モジュール152から等の記憶または登録された表面にアクセスしてもよい。いくつかの実施形態では、環境解析器168は、デバイス独自のセンサ162からの入力を伴わずに、ホットスポットまたはサードパーティ知覚フレームワークまたは記憶モジュール等から、表面データを直接受信してもよい。
いくつかの実施形態では、GPS等のあるセンサは、ユーザが、例えば、開放空間の公園または浜辺等のコンテンツ要素を表示するための好適な表面を有していない場所に存在することを決定し得る、またはデータを提供する唯一のセンサが、マッピング情報を提供せず、代わりに、配向情報を提供するもの(磁力計等)である。いくつかの実施形態では、あるタイプのディスプレイコンテンツ要素は、ユーザの物理的環境内で利用可能ではない場合がある、または検出不可能である、表示表面のタイプを要求し得る。例えば、ユーザは、ユーザのホテルの部屋からある場所まで歩いて行くべき方向を表示する、マップを視認することを所望し得る。ユーザがその場所までナビゲートするにつれて、ユーザが道筋マップのビューを維持するために、ARシステムは、センサ162から受信されたデータ(または受信されないこと)に基づいて、ユーザがホテル内のユーザの部屋の開始位置から道筋マップ上の目的地場所まで道筋マップを持続的に視認することを可能にするであろう、環境解析器168によって利用可能または検出可能な適正な表面が存在し得ないため、道筋マップを表示するために、仮想表面または画面等の仮想オブジェクトを作成することを検討する必要があり得る。例えば、ユーザは、ネットワークコネクティビティが限定または遮断され得る、エレベータに乗り込む、ホテルから出る、コンテンツ要素を表示するための利用可能な表面が存在し得ない、または雑音が多すぎてセンサが所望の表面を正確に検出することができない、公園等の開放面積を歩行する必要があり得る。本実施例では、表示されるべきコンテンツと、ネットワークコネクティビティの欠如または好適な表示表面の欠如(例えば、ユーザの現在の場所のGPSデータに基づいて)を含み得る、潜在的問題とに基づいて、ARシステムは、環境解析器168がセンサ162から受信された情報を使用して好適な表示表面を見出すことに依拠することとは対照的に、コンテンツ要素を表示するために仮想オブジェクトを作成することが最良であり得ると決定してもよい。いくつかの実施形態では、コンテンツ要素を表示するために作成される仮想オブジェクトは、プリズムであってもよい。プリズムに関するさらなる詳細は、2017年12月22日に出願され、「METHODS AND SYSTEM FOR MANAGING AND DISPLAYING VIRTUAL CONTENT IN A MIXED REALITY SYSTEM」と題された共同所有の米国仮特許出願第62/610,101号に説明される。当業者は、コンテンツ要素を(実)表面上に表示することとは対照的に、コンテンツ要素を表示するための仮想表面を作成することがより有益であり得るときのより多くの実施例を理解し得る。
レンダリングモジュール146は、コンテンツ要素をそのマッチングされた表面にレンダリングする。マッチングされた表面は、実表面および/または仮想表面を含んでもよい。いくつかの実施形態では、マッチングは、コンテンツ要素と表面との間で行われるが、マッチングは、完璧なマッチングではなくてもよい。例えば、コンテンツ要素は、1000×500の2D面積を要求し得る。しかしながら、最良マッチング表面は、900×450の寸法を有し得る。一実施例では、レンダリングモジュール146は、1000×500コンテンツ要素をレンダリングし、900×450表面に最良適合させてもよく、これは、例えば、アスペクト比を一定に保ちながらのコンテンツ要素のスケーリングを含んでもよい。別の実施例では、レンダリングモジュール146は、1000×500コンテンツ要素をクロッピングし、900×450表面内に適合させてもよい。
いくつかの実施形態では、システム100を実装するデバイスは、移動し得る。例えば、システム100を実装するデバイスは、第1の部屋から第2の部屋に移動し得る。
いくつかの実施形態では、第1の部屋内の表面(実および/または仮想)にマッチングされたコンテンツ要素は、第1の部屋内の表面にマッチングされたままであってもよい。例えば、システム100を実装するデバイスは、第1の部屋から第2の部屋に移動し得、第1の部屋内の表面にマッチングされるコンテンツ要素は、第2の部屋内の表面にマッチングされず、したがって、その上にレンダリングされないであろう。デバイスが、次いで、第2の部屋から第1の部屋に移動することになる場合、第1の部屋内の表面にマッチングされたコンテンツ要素は、第1の部屋内の対応する表面にレンダリング/その上に表示されるであろう。いくつかの実施形態では、コンテンツは、第1の部屋内のレンダリングを継続するであろうが、デバイスの視野外となるであろうため、表示されないが、オーディオ再生または再生の時間等のある特徴は、デバイスがマッチングされたコンテンツを視野内に有する状態に戻ったとき、レンダリングがシームレスに再開するであろうように(ユーザが映画を従来のTV上で再生している状態で部屋を離れた場合と同様の効果)、動作を継続するであろう。
いくつかの実施形態では、第1の部屋内の表面にマッチングされたコンテンツ要素は、第2の部屋内の表面にマッチングされてもよい。例えば、システム100を実装するデバイスは、第1の部屋から第2の部屋に移動し得、デバイスが第2の部屋内に存在した後、環境構造化プロセス160および合成プロセス140が、生じ/起動/実行し得、コンテンツ要素は、第2の部屋内の表面(実および/または仮想)にマッチングされてもよい。
いくつかの実施形態では、第1の部屋内の表面にマッチングされたいくつかのコンテンツ要素は、第1の部屋内に留まってもよい一方、第1の部屋内の表面にマッチングされた他のコンテンツ要素は、第2の部屋に移動してもよい。例えば、第1の部屋内の表面にマッチングされた第1のセットのコンテンツ要素は、第1の部屋内の表面にマッチングされたまままであってもよい一方、第1の部屋内の表面にマッチングされた第2のセットのコンテンツ要素は、システム100を実装するデバイスとともに、第2の部屋に移動してもよい。第2のセットのコンテンツ要素は、デバイスが第1の部屋から第2の部屋に進むにつれて、デバイスとともに移動してもよい。コンテンツ要素が第1のセットまたは第2のセット内にあるかどうかは、コンテンツ要素の属性、コンテンツ要素がマッチングされる第1の部屋内の1つ以上の表面の属性、ユーザ選好、システム選好、および/またはパス可能世界選好に基づいて決定されてもよい。これらの種々のシナリオの基礎となるものは、マッチングおよびレンダリングが排他的であり得ることである。すなわち、コンテンツは、表面にマッチングされてもよいが、レンダリングされない。これは、ユーザデバイスが表面に常にマッチングさせる必要はなく、選択的レンダリングがマッチングされた表面における視認コンテンツの再開時の待ち時間を短縮させ得るため、コンピューティングサイクルおよびパワーを節約し得る。
図1Bは、いくつかの実施形態による、コンテンツのコンテンツ要素を空間的3D環境にマッチングさせる例示的システムおよびコンピュータ実装方法を図示する。システム105は、図1Aと同様に、コンテンツ構造化プロセス120と、環境構造化プロセス160と、合成プロセス140とを含む。図1Bの合成プロセス140は、表示モジュール148および受信モジュール150を含む、付加的モジュールを含む。
上記に述べられたように、マッチングモジュール142は、マッチング結果を生成してもよく、1つのコンテンツ要素は、コンテンツ要素が複数の表面のうちの任意の1つ上にレンダリングおよび表示され得るように、複数の表面にマッチング/マッピングされてもよい。表示モジュール148は、コンテンツ要素、またはコンテンツ要素の輪郭、またはコンテンツ要素の低減された分解能バージョン(本明細書ではそれぞれ、「候補ビュー」と称される)を、複数の表面上または単一表面の複数の部分内に表示する。いくつかの実施形態では、複数の表面ディスプレイは、ユーザに一度に単一候補ビューのみが見え、付加的候補ビューオプションを通して1つずつサイクリングまたはスクロールさせ得るように、連続的である。いくつかの実施形態では、全ての候補ビューが、同時に表示され、ユーザは、単一候補ビューを選択する(音声コマンド、ハードウェアインターフェースへの入力、眼追跡等によって)。受信モジュール150は、複数の表面の表面上の1つの候補ビューの選択をユーザから受信する。選択された候補ビューは、好ましい表面と称され得る。好ましい表面は、将来的マッチングが、受信モジュール150からマッチングモジュール142への情報フロー156または記憶モジュール152からマッチングモデル142への情報フロー154によって示されるように、コンテンツ要素を表面にマッチングさせるとき、そのような選好から利点を享受し得るように、ユーザ選好またはパス可能選好として記憶モジュール152内に保存されてもよい。情報フロー156は、数回の反復後、いくつかの実施形態によると、ユーザ選好がシステムおよび/またはパス可能選好より優先し始め得るような反復プロセスであってもよい。比較として、情報フロー154は、その瞬間のユーザ、または同一環境に進入する、またはコンテンツをその中に表示することを所望する、他のユーザに、常時、マッチング優先順位を与えられるであろうように、固定出力であってもよい。システムおよび/またはパス可能選好は、ユーザ選好に優先し得るが、より多くの情報フロー156が、図1Aのシステム100または図1Bの105のユーザの使用にわたって継続するにつれて、ユーザ選好は、自然学習プロセスアルゴリズムを通して、システムによって優先され始め得る。したがって、いくつかの実施形態では、コンテンツ要素は、そうでなければマッチングモジュール142にコンテンツ要素を他の場所に設置させるであろう、他の表面または環境入力の可用性にかかわらず、好ましい表面上にレンダリング/表示するであろう。同様に、情報フロー154は、その環境内に一度も存在したことがなく、第1のユーザが有する好ましい表面への反復情報フロー156を構築していない、第2のユーザのために、好ましい表面とのレンダリング/表示マッチングを規定してもよい。
有利なこととして、センサデータおよび仮想モデルが、概して、短期コンピュータメモリ内に記憶されるにつれて、好ましい表面を記憶する、持続的記憶モジュールは、コンテンツ設置セッション間にデバイスシャットダウンが存在した場合、合成プロセス140を通してより迅速にサイクリングし得る。例えば、センサ162が、第1のセッションにおいて、コンテンツをマッチングさせるために、深度情報を収集し、環境構造化160を通して、仮想メッシュ再構成を作成し、システムシャットダウンがその環境データを記憶するランダムアクセスメモリを空にする場合、システムは、次のマッチングセッションのために、再開時に、環境構造化パイプラインを繰り返す必要があるであろう。しかしながら、コンピューティングリソースが、記憶モジュール152によって保存されているため、環境構造化プロセス160の完全反復を伴わずに、マッチング142が、好ましい表面情報で更新される。
いくつかの実施形態では、コンテンツ要素は、一度に上位3つの表面全ての上に表示されてもよい。ユーザは、次いで、ある表面を上位3つの表面から好ましい表面として選択してもよい。いくつかの実施形態では、コンテンツ要素は、コンテンツ要素が2つの他の表面上にも表示され得ることのユーザへのインジケーションとともに、一度に上位3つの表面の1つのみの上に表示されてもよい。ユーザは、次いで、他の表面オプションを通してナビゲートしてもよく、各表面オプションがユーザによってアクティブ化されるにつれて、コンテンツ要素は、アクティブ化された表面上に表示されてもよい。ユーザは、次いで、ある表面を表面オプションから好ましい表面として選択してもよい。
図2A-2Eは、ユーザの物理的環境1105内の3つの可能性として考えられる場所にマッチングされる、コンテンツ要素(例えば、コンピュータ、スマートフォン、タブレット、テレビ、ウェブブラウザ、画面等のモニタ)を描写する。図2Aは、視認場所提案214によって示されるように、コンテンツ要素が3つの可能性として考えられる場所にマッチング/マッピングされている様子を示す。視認場所提案214内の左手側上に表示される3つの白色ドットは、3つのディスプレイ場所が存在し得ることを示す。「x」を伴う第4の白色ドットは、視認場所提案214を閉じ、ユーザが「x」を選定するとき、選択/ハイライトされたディスプレイ場所に基づいて、好ましいディスプレイ場所の選択を示すための閉じるボタンであり得る。ディスプレイ場所212aは、左手側上の3つの白色ドットのハイライトされた第1の白色ドットによって示されるように、コンテンツ要素を表示するための第1のオプションである。図2Bは、ディスプレイ場所212bが、左手側上の3つの白色ドットのハイライトされた第2の白色ドットによって示されるように、コンテンツ要素を表示するための第2のオプションである、同一ユーザ環境1105を示す。図2Cは、ディスプレイ場所212cが、左手側上の3つの白色ドットのハイライトされた第3の白色ドットによって示されるように、コンテンツ要素を表示するための第3のオプションである、同一ユーザ環境1105を示す。当業者は、ユーザが選定するための表示オプションを示すための他のアプローチも存在し得、図2A-2Cに図示される実施例が、単に、一実施例であることを理解し得る。例えば、別のアプローチは、一度に全ての表示オプションを表示し、ユーザに、VR/ARデバイスを使用して(例えば、コントローラ、視線等を介して)、好ましいオプションを選択させることであってもよい。
ARシステムは、仮想コンテンツが投影し得る、ある視野を有し、そのような視野が、典型的には、ヒトの全視野の潜在性未満であることを理解されたい。ヒトは、概して、110~120度の自然視野を有することができ、いくつかの実施形態では、ARシステム224の表示視野は、図2Dに描写されるように、本潜在性未満であって、表面候補212cが、ユーザの自然視野内にあるが、デバイスの視野外であり得ることを意味する(例えば、システムは、コンテンツをその表面上にレンダリングすることが可能であるが、実際には、コンテンツを表示しないであろう)。いくつかの実施形態では、視野属性(属性は、下記にさらに説明される)が、表面に割り当てられ、表面がデバイスの表示野のために表示されるコンテンツをサポートすることが可能であるかどうかを示す。いくつかの実施形態では、ディスプレイの視野外の表面は、上記に説明されるように、オプションを表示するためにユーザに提示されない。
いくつかの実施形態では、デフォルト位置212が、図2Eに描写されるように、仮想表面として、事前に規定された距離(デバイスのディスプレイシステムのある焦点距離仕様等)におけるユーザの真正面にある。ユーザは、次いで、デフォルト位置212を、頭部姿勢またはジェスチャまたはセンサ162によって測定された他の入力手段等によって、環境内の所望の位置(例えば、記憶装置285からの登録された場所または合成プロセス140からのマッチングされた表面のいずれか)に調節してもよい。いくつかの実施形態では、デフォルト位置は、ユーザが環境を通して移動するにつれて、デフォルト位置212がユーザの視野(本実施形態では、ディスプレイの表示野と同一である)と実質的に同一部分内に留まるように、ユーザに対して固定されたままであってもよい。
図2Eはまた、実施例として、仮想TVと関連付けられた3つのTVアプリケーションプレビュー(例えば、TVApp1、TVApp2、TVApp3)を有する、仮想テレビ(TV)をデフォルト位置212に図示する。3つのTVアプリケーションは、異なるTVチャンネル/TVコンテンツプロバイダに対応する、異なるTVチャンネルまたは異なるTVアプリケーションに対応してもよい。ユーザは、仮想TVの下方に示される個別のTVアプリケーション/チャンネルを選択することによって、TV再生のための単一チャンネルを抽出してもよい。ユーザは、(a)トーテムを用いて、チャンネルを標的化し、(b)トーテム上のトリガを押下し、チャンネルを選択し、トリガをある時間周期(例えば、約1秒)にわたって保持し、(c)トーテムを移動させ、抽出されたTVチャンネルを表示するための環境内の所望の場所を識別し、(d)トーテム上のトリガを押下し、抽出されたTVチャンネルを環境内の所望の場所に設置することによって、TVのためのチャンネルを抽出してもよい。仮想コンテンツを選択するステップはさらに、2015年10月20日に優先権を主張し、「SELECTING VIRTUAL OBJECTS IN A THREE-DIMENSIONAL SPACE」と題された、米国特許出願第15/296,869号に説明される。
所望の場所は、TVチャンネルを表示するために好適な表面または本開示の教示に従って識別された他の表面であってもよい。いくつかの実施形態では、新しいプリズムが、新しいプリズム内にロードおよび表示される選択されたチャンネルコンテンツとともに、所望の場所に作成されてもよい。トーテムに関するさらなる詳細は、「PLANAR WAVEGUIDE APPARATUS WITH DIFFRACTION ELEMENT(S) AND SYSTEM EMPLOYING SAME」と題された米国特許第9,671,566号に説明される。いくつかの実施形態では、3つのTVアプリケーションは、チャンネルコンテンツの動的または静的描写を表示することによって、個別のチャンネル上で再生されている内容を見るための小開口である、「チャンネルプレビュー」であってもよい。いくつかの実施形態では、(c)トーテムを移動させ、抽出されたTVチャンネルを表示するための環境内の所望の場所を識別する間、映像が、ユーザに示されてもよい。映像は、例えば、チャンネルを例証する単一画像、チャンネルのプレビューを例証する1つ以上の画像、チャンネルの現在のコンテンツを例証するビデオストリーム、および同等物であってもよい。ビデオストリームは、例えば、低分解能または高分解能であってもよく、利用可能なリソースおよび/または帯域幅の関数として、(分解能、フレームレート等が)変動してもよい。
図2A-2Eは、コンテンツ(例えば、仮想コンテンツとしての要素)をユーザ(例えば、特定の頭部姿勢に基づく)のオリジナル視野内に表示するための異なる表示オプションを図示する。いくつかの実施形態では、ユーザの視野は、変化し得る(例えば、ユーザがその頭部をある視野から別の視野に移動させる)。変化した視野の結果、コンテンツを表示するための付加的表面オプションが、少なくとも部分的に、ユーザの視野の変化(例えば、頭部姿勢の変化)に基づいて、ユーザに利用可能になってもよい。コンテンツを表示するための付加的表面オプションはまた、少なくとも部分的に、ユーザのオリジナル視野内で元々利用可能ではないが、ユーザの視野の変化に基づいて、現時点でユーザに可視である、他の表面に基づいて、利用可能になってもよい。したがって、図2A-2Dの視認場所オプション214はまた、コンテンツを表示するための付加的オプションを描写してもよい。例えば、図2A-2Dは、3つの表示オプションを描写する。ユーザの視野が変化するにつれて、より多くの表示オプションは、利用可能になってもよく、これは、付加的表示オプションを示すためのより多くのドットを表示する視認場所オプション214をもたらし得る。同様に、新しい視野が、より少ない表面オプションを有する場合、視認場所オプション214は、コンテンツが新しい視野に表示されるために利用可能ないくつかの表示オプションを示すために、3つ未満のドットを表示してもよい。したがって、ユーザの変化した視野に基づいて、コンテンツを表示するための1つ以上の付加的表面オプションが、選択のためにユーザに表示されてもよく、変化した視野は、ユーザの頭部姿勢の変化に対応する。
いくつかの実施形態では、ユーザは、第1の視野を有し得る。第1の視野は、コンテンツを表示するための表面オプションを生成するために使用され得る。例えば、第1の視野内の3つの表面オプションが、コンテンツ要素を表示するために利用可能であり得る。ユーザは、次いで、その視野を第1の視野から第2の視野に変化させ得る。第2の視野は、次いで、コンテンツを表示するために付加的表面オプションを生成するために使用され得る。例えば、第2の視野内の2つの表面オプションが、コンテンツ要素を表示するために利用可能であり得る。第1の視野内の表面と第2の視野内の表面との間には、合計5つの表面オプションが存在し得る。5つの表面オプションは、ユーザに、視認場所提案として表示されてもよい。ユーザが、第2の視野内を見ており、第1の視野内の視認場所提案を選択する場合、ユーザは、ユーザに選択された表面オプション/視認場所を視認するために第1の視野に戻るように示される方向にナビゲートすべきであることを示す、第1の視野の方向におけるインジケーション(例えば、矢印、光彩等)を受信し得る。
いくつかの実施形態では、ユーザは、第1の視野内の第1の表面上に表示されるコンテンツを視認し得る。第1の視野は、関連付けられた第1の頭部姿勢を有し得る。ユーザが、その視野を第1の視野から第2の視野に変化させる場合、ある時間周期後、システムは、ユーザに、コンテンツの表示場所を第1の視野内の第1の表面から第2の視野内の1つ以上の表面オプションに変化させるためのオプションを提供してもよい。第2の視野は、関連付けられた第2の頭部姿勢を有し得る。いくつかの実施形態では、システムは、いったんユーザの視野が、第1の視野から第2の視野に、したがって、第1の頭部姿勢から第2の頭部姿勢に変化され、第1の頭部姿勢および第2の頭部姿勢が、頭部姿勢変化閾値を上回る位置の変化を有すると、ユーザに、コンテンツを移動させるためのオプションを直ちに提供してもよい。いくつかの実施形態では、ユーザが、第2の視野、したがって、第2の頭部姿勢の状態のままである時間閾値(例えば、5秒)が、システムがユーザにコンテンツの表示場所を変化させるためのオプションを提供するかどうかを決定してもよい。いくつかの実施形態では、コンテンツの表示場所を変化させるためのオプションを提供することからシステムをトリガするための視野の変化は、対応する頭部姿勢変化閾値未満(例えば、第1の視野、したがって、第1の頭部姿勢の方向に対して任意の方向に90度未満)等の若干の変化であってもよい。いくつかの実施形態では、頭部姿勢の変化は、システムがユーザにコンテンツの表示場所を変化させるためのオプションを提供する前に、頭部姿勢変化閾値を上回ってもよい(例えば、任意の方向に90度を上回る)。したがって、変化した視野に基づく、コンテンツを表示するための1つ以上の付加的表面オプションは、少なくとも部分的に、変化した視野に対応する時間閾値に基づいて表示されてもよい。いくつかの実施形態では、ユーザの変化した視野に基づいて、コンテンツを表示するための1つ以上の付加的表面オプションは、少なくとも部分的に、頭部姿勢変化閾値に基づいて表示されてもよい。
いくつかの実施形態では、システムは、コンテンツを視認するユーザが第1の頭部姿勢を有する、1つ以上の第1の表面上に、コンテンツをレンダリング/表示してもよい。コンテンツを視認するユーザは、その頭部姿勢を第1の頭部姿勢から第2の頭部姿勢に変化させ得る。頭部姿勢の変化に応答して、システムは、コンテンツを視認するユーザが第2の頭部姿勢を有する、1つ以上の第2の表面上に、コンテンツをレンダリング/表示してもよい。いくつかの実施形態では、システムは、ユーザに、コンテンツのレンダリング/表示場所を1つ以上の第1の表面から1つ以上の第2の表面に変化させるためのオプションを提供してもよい。いくつかの実施形態では、システムは、いったんユーザの頭部姿勢が、第1の頭部姿勢から第2の頭部姿勢に変化すると、ユーザに、コンテンツを移動させるためのオプションを直ちに提供してもよい。いくつかの実施形態では、システムは、頭部姿勢変化が対応する頭部姿勢変化閾値(例えば、90度)を上回る場合、ユーザに、コンテンツのレンダリング/表示場所を変化させるためのオプションを提供してもよい。いくつかの実施形態では、システムは、頭部姿勢変化が閾値時間周期(例えば、5秒)にわたって維持される場合、ユーザに、コンテンツのレンダリング/表示場所を変化させるためのオプションを提供してもよい。いくつかの実施形態では、コンテンツのレンダリング/表示場所を変化させるためのオプションを提供するようにシステムをトリガするための頭部姿勢の変化は、対応する頭部姿勢変化閾値未満(例えば、90度未満)等の若干の変化であってもよい。
(属性)
一般的属性
上記に述べられたように、解析器115は、コンテンツ要素毎に、属性を識別/決定および記憶してもよく、環境解析器168は、表面毎に、属性を決定および記憶してもよい。コンテンツ要素の属性は、コンテンツ110のコンテンツ設計者によって明示的に示されてもよい、または解析器115によって決定または別様に推測されてもよい。表面の属性は、環境解析器168によって決定されてもよい。
コンテンツ要素および表面の両方が有し得る属性は、例えば、配向、アスペクト比、寸法、面積(例えば、サイズ)、相対的視認位置、色、コントラスト、可読性インデックス、および/または時間を含む。これらの属性に関するさらなる詳細が、下記に提供される。当業者は、コンテンツ要素および表面が付加的属性を有してもよいことを理解し得る。
コンテンツ要素および表面に関して、配向属性は、配向を示す。配向値は、垂直、水平、および/または具体的角度(例えば、水平に関して0度、垂直に関して90度、または角度付けられた配向に関して0~90度の間の任意の場所)を含んでもよい。具体的角度配向属性は、度またはラジアン単位で規定/決定されてもよい、またはx-軸またはy-軸に対して規定/決定されてもよい。いくつかの実施形態では、傾斜された表面は、例えば、ある傾角角度で流動するコンテンツの水流を表示し、異なる芸術的作品を示すために定義されてもよい。いくつかの実施形態では、コンテンツ要素に関して、アプリケーションのナビゲーションバーが、水平配向であるが、特定の角度において傾斜されるように定義されてもよい。
コンテンツ要素および表面に関して、アスペクト比属性は、アスペクト比を示す。アスペクト比属性は、例えば、4:3または16:9比率として規定されてもよい。コンテンツ要素は、コンテンツ要素のアスペクト比属性および対応する1つ以上の表面に基づいて、スケーリングされてもよい。いくつかの実施形態では、システムは、他のコンテンツ要素の属性(例えば、寸法および/または面積)に基づいて、コンテンツ要素(例えば、ビデオ)のアスペクト比を決定し、決定されたアスペクト比に基づいて、コンテンツ要素をスケーリングしてもよい。いくつかの実施形態では、システムは、他の表面の属性に基づいて、表面のアスペクト比を決定してもよい。
アスペクト比属性内には、コンテンツ要素のコンテンツ設計者がコンテンツ要素が維持または変化されるための特定のアスペクト比を推奨するために使用し得る、特定のプロパティが存在し得る。一実施例では、本特定のプロパティが、「維持」または類似キーワードまたは語句に設定される場合、コンテンツ要素のアスペクト比は、維持される(すなわち、変化されない)であろう。一実施例では、本特定の属性が、例えば、「自由」または類似キーワードまたは語句に設定される場合、コンテンツ要素のアスペクト比は、変化され(例えば、スケーリングまたはその他)、例えば、コンテンツ要素がマッチングされる1つ以上の表面のアスペクト比にマッチングさせてもよい。アスペクト比属性のデフォルト値は、コンテンツ要素のオリジナルアスペクト比を維持するためのものであってもよく、アスペクト比属性のデフォルト値は、コンテンツ設計者がコンテンツ要素のアスペクト比属性のためのある他の値またはキーワードを指定する場合、および/またはシステムがアスペクト比属性がコンテンツ要素を1つ以上の表面により良好にマッチングさせるように上書きされるべきであることを決定する場合、上書きされてもよい。
コンテンツ要素および表面に関して、寸法属性は、寸法を示す。コンテンツ要素の寸法属性は、ピクセル(例えば、800ピクセル×600ピクセル)の関数として、コンテンツ要素の寸法を示してもよい。表面の寸法属性は、メートル(例えば、0.8メートル×0.6メートル)または任意の他の測定単位の関数として、表面の寸法を示してもよい。表面の寸法属性は、表面の測定可能範囲を示してもよく、測定可能範囲は、長さ、範疇、深度、および/または高さを含んでもよい。コンテンツ要素に関して、寸法属性は、コンテンツ要素を表示するための表面のある形状および外部サイズを提案するように、コンテンツ設計者によって規定されてもよい。
コンテンツ要素および表面に関して、面積属性は、面積またはサイズを示す。コンテンツ要素の面積属性は、ピクセル(例えば、480,000平方ピクセル)の関数として、コンテンツ要素の面積を示してもよい。表面の面積属性は、メートル(例えば、48平方メートル)または任意の他の測定単位の関数として、表面の面積を示してもよい。表面に関して、面積は、ユーザによって知覚される知覚面積であってもよい、または絶対面積であってもよい。知覚面積は、コンテンツ要素がユーザのより近くに表示されるとき、コンテンツ要素は、より小さいサイズであるように知覚され、コンテンツ要素がユーザからより遠くに離れているとき、コンテンツ要素は、依然として、同一の特定のサイズであるようにユーザによって知覚されるように、適宜、拡大され、コンテンツ要素がユーザのより近くに来るとき、その逆も同様であり得るように、ユーザからの表示されるコンテンツ要素の角度および距離とともに増加される絶対面積によって定義されてもよい。絶対面積は、環境内の表示されるコンテンツ要素からの距離にかかわらず、単に、例えば、平方メートルによって定義されてもよい。
コンテンツ要素および表面に関して、相対的視認位置属性は、ユーザの頭部姿勢ベクトルに対する位置に関する。頭部姿勢ベクトルは、ユーザによって装着される頭部搭載型デバイスの位置および配向の組み合わせであってもよい。位置は、環境および/またはユーザ感知システムから受信された情報を使用して実世界座標系内で追跡される、ユーザの頭部上に装着されているデバイスの固定点であってもよい。ユーザの頭部姿勢ベクトルの配向成分は、頭部搭載型デバイスにローカルの3次元デバイス座標系と3次元実世界座標系との間の関係によって定義されてもよい。デバイス座標系は、3つの直交方向、すなわち、デバイスを通したユーザの前方の通視線に近似する、前向きに面した視認方向、デバイスの直立方向、およびデバイスの右方向によって定義されてもよい。他の基準方向はまた、選定されてもよい。環境および/またはユーザ感知システム内のセンサによって取得される情報は、実世界座標系に対するローカル座標系の配向を決定するために使用されてもよい。
デバイス座標系をさらに例証するために、ユーザが、デバイスを装着しており、上下逆に吊架されている場合、そのユーザおよびデバイスに関する直立方向は、実際には、地面に向かって向いている方向(例えば、重力の下向き方向)である。しかしながら、ユーザの視点から、デバイスの相対的直立方向は、依然として、ユーザの直立方向と整合する。例えば、ユーザが、上下逆に吊架されている間、典型的上/下左/右方式で本を読んでいる場合、ユーザは、正常に立っており、上下逆に吊架されていない、他者によって、実世界座標系からは、本を上下逆に保持しているように見られるであろうが、ユーザの視点に近似する、ローカルデバイス座標系に対しては、本は、直立に配向されている。
コンテンツ要素に関して、相対的視認位置属性は、コンテンツ要素が頭部姿勢ベクトルに対して表示されるべき位置を示し得る。表面に関して、相対的視認位置属性は、ユーザの頭部姿勢ベクトルに対する環境内の表面の位置を示し得る。前向きに面した視認方向ベクトル等の頭部姿勢ベクトルの成分ベクトルもまた、表面の相対的視認位置属性を決定するための、および/またはコンテンツ要素に関する相対的視認位置属性を決定するための基準として使用されてもよいことを理解されたい。例えば、コンテンツ設計者は、検索バー等のコンテンツ要素が、常時、ユーザの頭部姿勢ベクトルに対してユーザの左または右に最大30度であるべきであって、ユーザが左または右に30度を上回って移動する場合、検索バーが、依然として、ユーザの頭部姿勢ベクトルの左または右に30度以内であるように、調節されるべきであることを示してもよい。いくつかの実施形態では、コンテンツは、瞬間的に調節される。いくつかの実施形態では、コンテンツは、いったん時間閾値が満たされると調節される。例えば、ユーザが、左または右に30度を上回って移動すると、検索バーは、5秒の時間閾値が経過した後に調節されるべきである。
相対的視認角度が、ユーザの頭部姿勢ベクトルに対してある角度または角度範囲を維持するように規定されてもよい。例えば、ビデオ等のコンテンツ要素は、ビデオがユーザの前向きに面した視認ベクトルに略直交する表面上に表示されるべきであることを示す、相対的視認位置属性を有し得る。ユーザが、壁等の表面の正面に立っており、真正面を見ている場合、ユーザの前向きに面した視認ベクトルに対する壁の相対的視認位置属性は、コンテンツ要素の相対的視認位置属性要件を満たし得る。しかしながら、ユーザが床を見下ろしている場合、壁の相対的視認位置属性は、変化し、床の相対的視認位置属性は、コンテンツ要素の相対的視認位置属性要件をより良好に満たす。そのようなシナリオでは、コンテンツ要素は、壁ではなく、床上に投影されるように移動されてもよい。いくつかの実施形態では、相対的視認位置属性は、ユーザからの深度または距離であってもよい。いくつかの実施形態では、相対的視認位置属性は、ユーザの現在の視認位置に対する相対的位置であってもよい。
コンテンツ要素および表面に関して、色属性は、色を示す。コンテンツ要素に関して、色属性は、1つ以上の色、色が変化され得るかどうか、不透明度、および同等物を示してもよい。表面に関して、色属性は、1つ以上の色、色勾配、および同等物を示してもよい。色属性は、可読性および/またはコンテンツ要素の知覚/コンテンツ要素が表面上で知覚されるであろう方法と関連付けられてもよい。いくつかの実施形態では、コンテンツ設計者は、コンテンツ要素の色を、例えば、白色または明色として定義してもよい。いくつかの実施形態では、コンテンツ設計者は、システムがコンテンツ要素(例えば、企業のロゴ)の色を変化させることを所望しない場合がある。これらの実施形態では、システムは、コンテンツ要素が表示される1つ以上の表面の背景を変化させ、可読性のために必要なコントラストを作成してもよい。
コンテンツ要素および表面に関して、コントラスト属性は、コントラストを示す。コンテンツ要素に関して、コントラスト属性は、現在のコントラスト、コントラストが変化され得るかどうか、コントラストが変化され得る方法に関する方向、および同等物を示してもよい。表面に関して、コントラスト属性は、現在のコントラストを示してもよい。コントラスト選好属性は、可読性および/またはコンテンツ要素の知覚/コンテンツ要素が表面上で知覚されるであろう方法と関連付けられてもよい。いくつかの実施形態では、コンテンツ設計者は、コンテンツ要素が表面の背景に対して高コントラストを伴って表示されることを所望する場合がある。例えば、コンテンツ要素のあるバージョンは、コンピュータ、スマートフォン、タブレット等のモニタ上で、黒色背景上の白色テキストとして、ウェブページ内に提示されてもよい。白色壁が、同様に白色であるテキストコンテンツ要素を表示するようにマッチングされてもよい。いくつかの実施形態では、システムは、テキストコンテンツ要素をより暗い色(例えば、黒色)に変化させ、コントラストを提供し、コントラスト属性を満たしてもよい。
いくつかの実施形態では、システムは、表面の背景色を変化させ、色および/またはコントラストを提供し、コンテンツ要素を変化させずに、色および/またはコントラスト属性を満たしてもよい。システムは、仮想表面を(実)表面の場所に作成することによって、(実)表面の背景色を変化させてもよく、仮想表面の色は、所望される背景色である。例えば、ロゴの色が変化されるべきではない場合、システムは、表面の背景色を変化させ、色コントラストを提供し、ロゴを保存しながら、色および/またはコントラスト選好属性を満たすことによって、適正なコントラストを提供してもよい。
コンテンツ要素および表面に関して、可読性インデックス属性は、可読性メトリックを示してもよい。コンテンツ要素に関して、可読性インデックス属性は、コンテンツ要素に関して維持されるべき可読性メトリックを示す。コンテンツ要素に関して、システムは、可読性インデックス属性を使用して、他の属性に関する優先順位を決定してもよい。例えば、システムは、可読性インデックスがコンテンツ要素に関して「高」である場合、これらの属性に関する優先順位を「高」に設定してもよい。いくつかの実施例では、コンテンツ要素が、合焦されており、適正なコントラストが存在する場合でも、システムは、可読性インデックス属性に基づいて、コンテンツ要素をスケーリングし、可読性メトリックが維持されることを確実にしてもよい。いくつかの実施形態では、特定のコンテンツ要素に関する高可読性インデックス属性値は、特定のコンテンツ要素の優先順位が「高」に設定される場合、他のコンテンツ要素に関する他の明示的属性を率先または優先させてもよい。表面に関して、可読性インデックス属性は、表面上に表示される場合、テキストを含むコンテンツ要素がユーザによって知覚されるであろう方法を示し得る。
テキスト視認性は、純粋なVR環境にとって、解決が困難な問題である。本問題は、実世界色、明度、照明、反映、および他の能力が、ARデバイスによってレンダリングされたテキストを読み取るユーザ能力に直接影響を及ぼすため、AR環境内では、さらにより複雑になる。例えば、ウェブブラウザによってレンダリングされたウェブコンテンツは、主に、テキスト駆動され得る。実施例として、JavaScript(登録商標) API(例えば、現在のW3C Camera APIの新しい拡張子を介して)のセットは、コンテンツ設計者に、現在の世界パレットおよびフォントおよび背景色のためのコントラスト代替パレットを提供し得る。JavaScript(登録商標) APIのセットは、コンテンツ設計者が、実単語配色に従って、ウェブコンテンツ配色を調節し、コンテンツコントラストおよびテキスト視認性(例えば、可読性)を改良するための一意の能力を提供し得る。コンテンツ設計者は、ウェブコンテンツに関するより良好な視認性を提供するようにフォント色を設定することによって、本情報を使用し得る。これらのAPIは、本情報をリアルタイムで追跡するために使用されてもよく、したがって、ウェブページは、環境の光変化に対して、適宜、そのコントラストおよび配色を調節してもよい。例えば、図3Aは、ウェブコンテンツ313が、少なくとも、ウェブコンテンツ313のテキストが明配色で表示され、暗い実世界環境に対して読みやすくなるように調節することによって、暗い実世界環境の光および色条件に対して調節される様子を図示する。図3Aに図示されるように、ウェブコンテンツ313内のテキストは、明色を有し、ウェブコンテンツ313内の背景は、暗色を有する。図3Bは、ウェブコンテンツ315が、少なくとも、ウェブコンテンツ315のテキストが暗配色で表示され、明るい実世界環境に対して読みやすくなるように調節することによって、明るい実世界環境の光および色条件に対して調節される様子を図示する。図3Bに図示されるように、ウェブコンテンツ315内のテキストは、暗色を有し、ウェブコンテンツ313内の背景は、明色を有する。当業者は、例えば、ウェブコンテンツ313(例えば、より暗い背景およびより明るいテキスト)またはウェブコンテンツ315(例えば、より明るい背景およびより暗いテキスト)の背景色等の他の要因もまた、テキストが、より少なくとも部分的に、実世界環境の光および色条件に基づいて、読みやすくなり得るように、色のコントラストを提供するために、調節されてもよいことを理解し得る。いくつかの実施形態では、ユーザが、属性解析器またはコンテンツ設計者とは対照的に、あまりに多くのコントラストまたは知覚されるアーチファクトを生産し得る、テキストの表示のための純白背景を回避する等、好ましい外観に基づいて、背景色を選択する、または背景色を調節してもよい。例えば、ユーザ入力に応答して、JavaScript(登録商標) APIが、コンテンツの背景色を調節してもよく、コンテンツのテキスト色またはユーザの視野内の他のコンテンツの配色等の種々の関連付けられた特徴が、次いで、適宜、調節されてもよい。
コンテンツ要素に関して、時間属性は、コンテンツ要素が表示されるべき時間を示す。時間属性は、短(例えば、5秒未満)、中(例えば、5秒~30秒)、長(例えば、30秒を上回る)であってもよい。いくつかの実施形態では、時間属性は、無限であってもよい。時間属性が、無限である場合、コンテンツ要素は、閉じられ、および/または他の別のコンテンツ要素がロードされるまで、留まり得る。いくつかの実施形態では、時間属性は、入力の関数であってもよい。一実施例では、コンテンツ要素が、記事である場合、時間属性は、ユーザが記事の最後に到達したことを示す入力の関数であって、閾値時間周期にわたってそこに留まってもよい。一実施例では、コンテンツ要素が、ビデオである場合、時間属性は、ユーザがビデオの最後に到達したことを示す、入力の関数であってもよい。
表面に関して、時間属性は、表面が利用可能となるであろう時間を示す。時間属性は、短(例えば、5秒未満)、中(例えば、5秒~30秒)、長(例えば、30秒を上回る)であってもよい。いくつかの実施形態では、時間属性は、無限であってもよい。いくつかの実施形態では、時間属性は、例えば、センサ162からのセンサ入力の関数であってもよい。センサ162、例えば、IMU、加速度計、ジャイロスコープ、および同等物からのセンサ入力が、デバイスの視野に対する表面の可用性を予測するために使用されてもよい。一実施例では、ユーザが、歩行している場合、ユーザの近傍の表面は、短時間属性を有し得、ユーザから少し離れた表面は、中時間属性を有し得、距離が離れた表面は、長時間属性を有し得る。一実施例では、ユーザが、長椅子上でじっと座ったままである場合、ユーザの正面の壁は、閾値を上回るデータの変化がセンサ162から受信されるまで、無限時間属性を有し得、その後、ユーザの正面の壁の時間属性は、無限から別の値に変化してもよい。
(コンテンツ要素属性)
コンテンツ要素は、例えば、優先順位、表面のタイプ、位置タイプ、マージン、コンテンツのタイプ、および/または焦点属性等のコンテンツ要素に特有の属性を有してもよい。これらの属性に関するさらなる詳細が、下記に提供される。当業者は、コンテンツ要素が付加的属性を有してもよいことを理解し得る。
優先順位属性は、コンテンツ要素(例えば、ビデオ、写真、またはテキスト)に関する優先順位値を示す。優先順位値は、高、中、または低優先順位、例えば、0~100に及ぶ数値、および/または要求または要求されないインジケータを含んでもよい。いくつかの実施形態では、優先順位値は、コンテンツ要素自体に関して規定されてもよい。いくつかの実施形態では、優先順位値は、具体的属性に関して規定されてもよい。例えば、コンテンツ要素に関する可読性インデックス属性は、高に設定され、コンテンツ設計者が強調をコンテンツ要素の可読性上に設置していることを示してもよい。
表面のタイプ属性または「表面タイプ」属性は、コンテンツ要素がマッチングされるべき表面のタイプを示す。表面タイプ属性は、あるコンテンツ要素が、ある場所内および/またはある表面上に設置されるべきかどうか等の意味論に基づいてもよい。いくつかの実施例では、コンテンツ設計者は、特定のコンテンツ要素を窓または絵画にわたって表示しないように提案してもよい。いくつかの実施例では、コンテンツ設計者は、常時、特定のコンテンツ要素をユーザの実質的に正面の最大垂直表面上に表示することを提案してもよい。
位置タイプ属性は、コンテンツ要素の位置を示す。位置タイプ属性は、動的または固定されてもよい。動的位置タイプは、例えば、コンテンツ要素が、ユーザの手が移動すると、コンテンツ要素がユーザの手とともに動的に移動するように、ユーザの手に添着されると仮定してもよい。固定位置タイプは、例えば、コンテンツ要素が、表面、環境内の具体的位置、またはユーザの身体または頭部/視認位置に対する仮想世界に対して固定されると仮定し、その実施例は、以下により詳細に説明される。
用語「固定」にはまた、(a)世界固定、(b)オブジェクト/表面固定、(c)身体固定、および(d)頭部固定等の異なるレベルが存在し得る。(a)世界固定に関して、コンテンツ要素は、世界に対して固定される。例えば、ユーザが世界内で動き回る場合、コンテンツ要素は、移動せず、世界に対する場所に固定されたままである。(b)オブジェクト/表面固定に関して、コンテンツ要素は、オブジェクトまたは表面が移動される場合、コンテンツ要素がオブジェクトまたは表面とともに移動するように、オブジェクトまたは表面に固定される。例えば、コンテンツ要素は、ユーザが保持しているメモ帳に固定されてもよい。この場合、コンテンツは、メモ帳の表面に固定されたオブジェクトであって、適宜、メモ帳とともに移動する。(c)身体固定に関して、コンテンツ要素は、ユーザの身体に対して固定される。ユーザが、その身体を移動させる場合、コンテンツ要素は、ユーザとともに移動し、ユーザの身体に対して固定位置を維持する。(d)頭部固定に関して、コンテンツ要素は、ユーザの頭部または姿勢に対して固定される。ユーザが、その頭部を回転させる場合、コンテンツ要素は、ユーザの頭部移動に対して移動するであろう。また、ユーザが歩行する場合、コンテンツ要素もまた、ユーザの頭部に対して移動するであろう。
マージン(またはパディング)属性は、コンテンツ要素の周囲のマージンを示す。マージン属性は、他のコンテンツ要素に対するコンテンツ要素の場所を説明する、レイアウト属性である。例えば、マージン属性は、コンテンツ要素境界から別のコンテンツ要素の最近傍許容可能境界までの距離を表す。いくつかの実施形態では、距離は、x,y,z座標ベースのマージンであって、コンテンツ要素境界の頂点または他の指定される場所から測定されてもよい。いくつかの実施形態では、距離は、極座標ベースのマージンであって、コンテンツ要素の中心またはコンテンツ要素の頂点等の他の指定される場所から測定されてもよい。いくつかの実施形態では、マージン属性は、コンテンツ要素からコンテンツ要素の内側の実際のコンテンツまでの距離を定義する。いくつかの実施形態では、分解されるコンテンツ要素等に関して、マージン属性は、マージンがコンテンツ要素とマッチングされた表面との間のオフセットとしての役割を果たすように、分解されるコンテンツ要素がマッチングされる表面の境界に対して維持されるべきマージンの量を表す。いくつかの実施形態では、マージン属性は、コンテンツ要素自体から抽出されてもよい。
コンテンツのタイプ属性または「コンテンツタイプ」属性は、コンテンツ要素に関するタイプを示す。コンテンツタイプは、対応するメディアへの参照および/またはリンクを含んでもよい。例えば、コンテンツタイプ属性は、コンテンツ要素を画像、ビデオ、音楽ファイル、テキストファイル、ビデオ画像、3D画像、3Dモデル、コンテナコンテンツ(例えば、コンテナ内にラッピングされ得る、任意のコンテンツ)、広告、および/またはコンテンツ設計者定義レンダリングキャンバス(例えば、2Dキャンバスまたは3Dキャンバス)として規定してもよい。コンテンツ設計者定義レンダリングキャンバスは、例えば、ゲーム、レンダリング、マップ、データ可視化、および同等物を含んでもよい。広告コンテンツタイプは、ユーザが、特定のコンテンツ要素またはその近傍に合焦するとき、ユーザに提示されるべき音または広告を定義する、属性を含んでもよい。広告は、(a)鳴音等の聴覚的、(b)ビデオ/画像/テキスト等の視覚的、および/または(c)ユーザのコントローラまたはヘッドセットおよび同等物における振動等の触覚的インジケータであってもよい。
焦点属性は、コンテンツ要素が合焦されるべきどうかを示す。いくつかの実施形態では、焦点は、ユーザおよびコンテンツ要素が表示される表面からの距離の関数であってもよい。コンテンツ要素に関する焦点属性が、常時、合焦されるように設定される場合、システムは、ユーザがコンテンツ要素からどんなに遠く離れても、コンテンツ要素を合焦されたままに保つ。コンテンツ要素に関する焦点属性が、規定されない場合、システムは、ユーザがコンテンツ要素からある距離にあるとき、コンテンツを合焦外にしてもよい。これは、例えば、寸法属性、面積属性、相対的視認位置属性、および同等物等の他のコンテンツ要素の属性に依存し得る。
(表面属性)
表面は、例えば、表面輪郭、テクスチャ、および/または占有属性等の表面に特有の属性を有してもよい。これらの属性に関するさらなる詳細が、下記に提供される。当業者は、表面が付加的属性を有してもよいことを理解し得る。
いくつかの実施形態では、環境解析器168は、1つおよび/または全ての表面に関する面法線ベクトル、配向ベクトル、および/または直立ベクトル等の表面輪郭属性(および関連付けられた属性)を決定してもよい。3Dの場合、点Pにおける表面に対する面法線、または単に、法線は、点Pにおける表面に対する接線平面と垂直なベクトルである。用語「法線」はまた、形容詞、すなわち、平面に対して法線の線、力に対する法線成分、法線ベクトル、および同等物として使用されてもよい。
上記に議論される、ユーザおよび頭部姿勢ベクトルの少なくとも1つの成分を囲繞する環境表面の面法線ベクトルは、表面のある属性(例えば、サイズ、テクスチャ、アスペクト比等)が、あるコンテンツ要素(例えば、ビデオ、3次元モデル、テキスト等)を表示するために理想的であり得るが、そのような表面が、ユーザの頭部姿勢ベクトルの少なくとも1つの成分ベクトルによって近似されるにつれて、ユーザの通視線に対して対応する面法線の不良位置付けを有し得るため、マッチングモジュール142にとって重要であり得る。面法線ベクトルとユーザの頭部姿勢ベクトルを比較することによって、そうでなければ表示されるコンテンツにとって適切であり得る表面は、不適格にされる、またはフィルタリングされてもよい。
例えば、表面の面法線ベクトルは、ユーザの頭部姿勢ベクトルと実質的に同一方向にあり得る。これは、ユーザおよび表面が、相互に向かってではなく、同一方向に面していることを意味する。例えば、ユーザの前方方向が、北に面する場合、北に向いている法線ベクトルを有する表面がユーザの背面に面するか、またはユーザが表面の背面に面しているかのいずれかである。ユーザが、表面がユーザに背を向けているため、表面を見ることができない場合、その特定の表面は、そうでなければ提示され得るその表面に関する有益な属性値であるにもかかわらず、コンテンツを表示するための最適表面ではなくなるであろう。
ユーザの前向きに面した視認方向に近似する、デバイスの前向きに面した視認ベクトルと、面法線ベクトルとの間の比較は、数値を提供してもよい。例えば、ドット積関数が、2つのベクトルを比較し、2つのベクトル間の相対的角度を説明する数値関係を決定するために使用されてもよい。そのような計算は、1~-1の数をもたらし得、より負の値は、ユーザが表面上に設置された仮想コンテンツを快適に見ることが可能であろうように、表面がユーザの前向きに面した視認方向に直交するように近接するため、視認のためにより好ましい相対的角度に対応する。したがって、識別された面法線ベクトルに基づいて、良好な表面選択のための特性は、コンテンツがユーザの前向きに面した視認ベクトルに向かって面する表面上に表示されるべきであるように、ユーザの頭部姿勢ベクトルまたはその成分に対するものであってもよい。制約が、頭部姿勢ベクトル成分と面法線成分との間の容認可能関係上に課されてもよいことを理解されたい。例えば、ユーザの前向きに面した視認ベクトルとの負のドット積をもたらす全ての表面は、コンテンツ表示のために検討され得るように選択されてもよい。コンテンツに応じて、容認可能範囲に影響を及ぼす、コンテンツプロバイダまたはアルゴリズムまたはユーザ選好が、考慮されてもよい。ビデオがユーザの前方方向に対して略法線に表示される必要がある、インスタンスでは、より小さいドット積出力の範囲が、可能にされ得る。当業者は、多くの設計オプションが、他の表面属性、ユーザ選好、コンテンツ属性、および同等物に応じて可能性として考えられることを理解されるであろう。
いくつかの実施形態では、表面は、サイズおよび場所および頭部姿勢視点から、優れた適合であり得るが、表面は、表面がテクスチャ属性および/または占有属性等の属性を含み得るため、選択のための良好なオプションではない場合がある。テクスチャ属性は、提示するための清潔かつクリアな表面の単純外観を提示のために理想的ではない雑然とした表面に変化させ得る、材料および/または設計を含み得る。例えば、煉瓦壁は、コンテンツを表示するために理想的な大規模な開けた面積を有し得る。しかしながら、煉瓦壁内の赤色の積層された煉瓦のため、システムは、煉瓦壁を、直接その上にコンテンツを表示するために望ましくないと見なし得る。これは、表面のテクスチャが、煉瓦とモルタルとの間としての粗度変動およびコンテンツとのより強いコントラスト複雑性を誘発し得る非中立赤色を有するためである。別の望ましくないテクスチャ実施例は、背景設計パターンおよび色だけではなく、表面粗度変動を作成する吹き出しまたは非均一アプリケーション等の不完全性に関する壁紙設計を有する、表面を含み得る。いくつかの実施形態では、壁紙設計は、コンテンツを壁紙上に直接表示することがコンテンツを好ましいビューに表示することになり得ない、非常に多くのパターンおよび/または色を含み得る。占有属性は、付加的コンテンツを表面が占有されていることを示す値を有する特定の表面に表示することが、新しいコンテンツが占有しているコンテンツにわたって表示されない、またはその逆である結果をもたらし得るように、表面が別のコンテンツによって現在占有されていることを示し得る。いくつかの実施形態では、占有属性は、表面を占有する小実世界欠陥またはオブジェクトの存在に留意させる。そのような占有する実世界オブジェクトは、センサ群162内の深度センサにとって判別不能であるが、センサ162内のカメラによって顕著であり得る、無視可能である表面積のアイテム(亀裂または釘等)を含み得る。他の占有する実世界オブジェクトは、その上に配置される表面に伴って低テクスチャ変動を有する、壁から吊架されている写真またはポスターを含み得、いくつかのセンサ162によって表面と異なると区別されない場合があるが、162のカメラは、認識し得、占有属性は、適宜、表面を更新し、表面が「空キャンバス」であるというシステムによる決定を除外する。
いくつかの実施形態では、コンテンツは、その相対的位置が(実)表面に関連する、仮想表面上に表示されてもよい。例えば、表面を示すテクスチャ属性が、単純/清潔ではなく、および/または占有属性が、表面が占有されていることを示す場合、コンテンツは、例えば、マージン属性公差内の(実)表面の正面の仮想表面上に表示されてもよい。いくつかの実施形態では、コンテンツ要素に関するマージン属性は、テクスチャ属性および/または表面の占有属性の関数である。
(フロー)
コンテンツ要素と表面のマッチング(概要)
図4は、いくつかの実施形態による、コンテンツ要素を表面にマッチングさせるための方法を図示する、フロー図である。本方法は、410において、コンテンツを受信するステップと、420において、コンテンツ内のコンテンツ要素を識別するステップと、430において、表面を決定するステップと、440において、コンテンツ要素を表面内にマッチングさせるステップと、450において、コンテンツ要素を仮想コンテンツとしてマッチングされた表面上にレンダリングするステップとを含む。解析器115は、コンテンツ110を受信する410。解析器115は、コンテンツ110内のコンテンツ要素を識別する420。解析器115は、コンテンツ要素毎に、属性を識別/決定および記憶してもよい。環境解析器168は、環境内の表面を決定する430。環境解析器168は、表面毎に、属性を決定および記憶してもよい。いくつかの実施形態では、環境解析器168は、環境内の表面を持続的に決定する430。いくつかの実施形態では、環境解析器168は、解析器115がコンテンツ110を受信し410、および/またはコンテンツ110内のコンテンツ要素を識別する420につれて、環境内の表面を決定する430。マッチングモジュール142は、コンテンツ要素の属性および表面の属性に基づいて、コンテンツ要素を表面にマッチングさせる440。レンダリングモジュール146は、コンテンツ要素をそのマッチングされた表面にレンダリングする450。記憶モジュール152は、将来におけるコンテンツ要素をその表面上に設置するためのユーザ指定等による将来的使用のために、表面を登録する。いくつかの実施形態では、記憶モジュール152は、知覚フレームワーク166内にあってもよい。
(コンテンツ内のコンテンツ要素の識別)
図5は、いくつかの実施形態による、コンテンツ内のコンテンツ要素を識別するための方法を図示する、フロー図である。図5は、いくつかの実施形態による、図4の420におけるコンテンツ内の要素を識別するステップを開示する詳細なフローである。本方法は、図4の420におけるコンテンツ内の要素を識別するステップと同様に、510において、コンテンツ内のコンテンツ要素を識別するステップを含む。本方法は、属性を識別/決定する次のステップ520に進む。例えば、属性は、コンテンツの場所に関するタグから識別/決定されてもよい。例えば、コンテンツ設計者は、コンテンツを設計および構成しながら、属性(上記に説明される)を使用してコンテンツ要素を表示する場所および方法を定義してもよい。属性は、相互に対する特定の場所におけるコンテンツ要素の場所に関連してもよい。いくつかの実施形態では、属性を識別/決定するステップ520は、属性を推測するステップを含んでもよい。例えば、コンテンツ要素のそれぞれの属性は、相互に対するコンテンツ内のコンテンツ要素の場所に基づいて、決定または推測されてもよい。ヒント/タグを各コンテンツ要素から抽出するステップが、530において実施される。ヒントまたはタグは、コンテンツのコンテンツ設計者によって提供される、フォーマッティングヒントまたはフォーマッティングタグであってもよい。コンテンツ要素に関する代替表示形態をルックアップ/検索するステップが、540において実施される。あるフォーマッティングルールが、特定の視認デバイス上に表示されるコンテンツ要素に関して規定されてもよい。例えば、あるフォーマッティングルールは、ウェブページ上の画像に関して規定されてもよい。システムは、代替表示形態にアクセスしてもよい。識別されたコンテンツ要素を記憶するステップが、550において実施される。本方法は、コンテンツ要素を表面にマッチングさせるために合成プロセス140において使用されるために、識別された要素を非一過性記憶媒体の中に記憶してもよい。いくつかの実施形態では、コンテンツ要素は、一過性記憶媒体内に記憶されてもよい。
(環境内の表面の決定)
図6は、いくつかの実施形態による、ユーザの環境から表面を決定するための方法を図示する、フロー図である。図6は、図4の430における表面を決定するステップを開示する例示的詳細なフローである。図6は、610において、表面を決定するステップから開始する。610において表面を決定するステップは、環境の深度情報をセンサ162の深度センサから収集するステップと、再構成および/または表面分析を実施するステップとを含んでもよい。いくつかの実施形態では、センサ162は、点のマップを提供し、システム100は、点間の一連の接続される頂点を再構成し、環境を表す仮想メッシュを作成する。いくつかの実施形態では、平面抽出または分析が、実施され、共通表面または表面の内容(例えば、壁、天井等)の解釈を示す、メッシュプロパティを決定する。本方法は、620において、ユーザの姿勢を決定する次のステップに進み、これは、頭部姿勢ベクトルをセンサ162から決定するステップを含んでもよい。いくつかの実施形態では、センサ162は、慣性測定ユニット(IMU)データを収集し、ユーザ上のデバイスの回転を決定する。いくつかの実施形態では、センサ162は、カメラ画像を収集し、実世界に対するユーザ上のデバイスの位置を決定する。いくつかの実施形態では、頭部姿勢ベクトルが、IMUおよびカメラ画像データの一方または両方から導出される。620においてユーザの姿勢を決定するステップは、ユーザの姿勢が表面に関連するユーザに関する視点を提供するであろうため、表面を識別するための重要なステップである。630において、本方法は、表面の属性を決定する。各表面は、対応する属性とタグ付けおよびカテゴリ化される。本情報は、コンテンツ要素および表面をマッチングさせるときに使用されるであろう。いくつかの実施形態では、図1からのセンサ162は、処理するために、未加工データをCVPU164に提供し、CVPU164は、環境解析器168のためのデータを準備するために、処理されたデータを知覚フレームワーク166に提供する。環境解析器168は、知覚フレームワーク166からの環境データを解析し、環境内の表面および対応する属性を決定する。640において、本方法は、抽出された要素を特定の表面にマッチング/マッピングするために、合成プロセス/マッチング/マッピングルーチンによって使用されるように、表面のインベントリを非一過性記憶媒体の中に記憶する。非一過性記憶媒体は、データ記憶デバイスを含んでもよい。決定された表面は、下記に説明される図15に開示されるテーブル等の特定のテーブル内に記憶されてもよい。いくつかの実施形態では、識別された表面は、一過性記憶媒体内に記憶されてもよい。いくつかの実施形態では、640における記憶するステップは、コンテンツ要素の将来的マッチングのために、表面を好ましい表面として指定するステップを含む。
(コンテンツ要素と表面のマッチング)(詳細)
図7A-7Bは、コンテンツ要素を表面にマッチングさせるための種々の方法を図示する、フロー図である。
図7Aは、いくつかの実施形態による、コンテンツ要素を表面にマッチングさせるための方法を図示する、フロー図を描写する。図7Aは、図4の440におけるコンテンツ要素を表面にマッチングさせるステップを開示する詳細なフローである。
710において、本方法は、識別されたコンテンツ要素がコンテンツ設計者によって提供されるヒントを含有するどうかを決定する。コンテンツ設計者は、コンテンツ要素を最良に表示するための場所に関するヒントを提供してもよい。
いくつかの実施形態では、これは、3D環境が利用可能である場合、既存のタグ要素(例えば、HTMLタグ要素)を使用して、コンテンツ要素が表示され得る方法をさらに定義することによって遂行されてもよい。別の実施例として、コンテンツ設計者は、3D画像が、2D画像の代わりに、特定のコンテンツ要素のためのリソースとして利用可能であることを述べる、ヒントを提供してもよい。例えば、2D画像の場合、コンテンツ設計者は、基本タグを提供して、コンテンツ要素のためのリソースを識別することに加え、他の頻繁に使用されないタグを提供し、2D画像に対応する3D画像を含む、リソースを識別し、加えて、3D画像が使用される場合、それをユーザのビューの正面に顕著に表示するためのヒントを提供してもよい。いくつかの実施形態では、コンテンツ設計者は、コンテンツをレンダリングするディスプレイデバイスが3D画像を活用するための3D表示機能性を有し得ない場合、単に、本付加的「ヒント」を2D画像のためのリソースに提供してもよい。
720において、本方法は、コンテンツ設計者によって提供されるヒントを使用すべきか、またはコンテンツ要素を表面にマッチング/マッピングするための事前に定義されたルールのセットを使用すべきであるかどうかを決定する。いくつかの実施形態では、特定のコンテンツ要素に関して、コンテンツ設計者によって提供されるヒントが存在しない場合、本システムおよび方法は、事前に定義されたルールのセットを使用して、特定のコンテンツ要素を表面にマッチング/マッピングするための最良方法を決定してもよい。いくつかの実施形態では、コンテンツ設計者によって提供されるコンテンツ要素に関するヒントが存在し得るときでも、本システムおよび方法は、コンテンツ要素を表面にマッチング/マッピングするための事前に定義されたルールのセットを使用することが最良であり得ることを決定してもよい。例えば、コンテンツプロバイダが、ビデオコンテンツを水平表面上に表示するためのヒントを提供するが、システムが、ビデオコンテンツを垂直表面上に表示するための事前に定義されたルールに関して設定されている場合、事前に定義されたルールが、ヒントをオーバーライドしてもよい。いくつかの実施形態では、本システムおよび方法は、コンテンツ設計者によって提供されるヒントが十分であって、したがって、ヒントを使用して、コンテンツ要素を表面にマッチング/マッピングすることを決定してもよい。最終的には、コンテンツ要素を表面にマッチング/マッピングするために、コンテンツ設計者によって提供されるヒントを使用すべきか、または事前に定義されたルールを使用すべきであるかどうかを決定することは、システムの最終決定による。
730において、システムが、コンテンツ設計者によって提供されるヒントを利用する場合、本システムおよび方法は、ヒントを分析し、少なくとも部分的に、ヒントに基づいて、特定のコンテンツ要素を表示するために使用され得る、識別された周囲表面を含む、論理構造を検索する。
740において、本システムおよび方法は、最良適合アルゴリズムを起動し、提供されるヒントに基づいて、特定のコンテンツ要素に関する最良適合表面を選定する。最良適合アルゴリズムは、例えば、直接ビューを提案する特定のコンテンツ要素に関するヒントを得て、ユーザの現在の視野に対する正面および中心である表面を識別しようとしてもよい。
750において、本システムおよび方法は、コンテンツ要素と表面のマッチングを有する、マッチング結果を記憶する。テーブルが、コンテンツ要素をそのそれぞれのマッチング/マッピングされた表面上に表示するためにディスプレイアルゴリズムによって使用されるように非一過性記憶媒体内に記憶されてもよい。
図7Bは、いくつかの実施形態による、コンテンツ要素からの要素を表面にマッチング/マッピングするための方法を図示する、フロー図を描写する。図7Bは、図1の種々の要素を参照して図4のステップ440に開示されるように、論理構造内に記憶されるコンテンツ要素と論理構造内に記憶される表面のマッチング/マッピングを図示する、フローである。
715において、図1からのコンテンツ構造化プロセス120から生じる論理構造内に記憶されるコンテンツ要素は、関連付けられた優先順位に基づいて順序付けられる。いくつかの実施形態では、コンテンツ設計者は、コンテンツ要素毎に、優先順位属性を定義してもよい。コンテンツ設計者が、コンテンツ要素毎に優先順位を設定し、あるコンテンツ要素が環境内で顕著に表示されることを確実にすることは、有益であり得る。いくつかの実施形態では、コンテンツ構造化プロセス120は、例えば、コンテンツ設計者がコンテンツ要素に関する優先順位を定義していない場合、コンテンツ要素に関する優先順位を決定してもよい。いくつかの実施形態では、システムは、いずれのコンテンツ要素も開発者提供優先順位属性を有していない場合、表面配向のドット積関係をデフォルト優先順位属性にするであろう。
725において、コンテンツ要素の属性が、表面の属性と比較され、コンテンツ要素にマッチングする表面が存在するかどうかを識別し、最良マッチング表面を決定する。例えば、最高関連付け優先順位(例えば、図14Aに関して下記にさらに詳細に説明されるように、「主」または親要素ID)を伴うコンテンツ要素から開始し、システムは、コンテンツ要素の属性と表面の属性を比較し、最良マッチング表面を識別し、次いで、第2の最高関連付け優先順位を伴うコンテンツ要素等に進み、したがって、コンテンツ要素を含む論理構造を順次トラバースしてもよい。
735において、マッチングスコアが、コンテンツ要素の属性が対応する最良マッチング表面の属性にマッチングする程度に基づいて計算される。当業者は、多くの異なるスコア化アルゴリズムおよびモデルがマッチングスコアを計算するために使用されてもよいことを理解し得る。例えば、いくつかの実施形態では、スコアは、コンテンツ要素の属性値と表面の属性値の単純総和である。図8は、種々のマッチングスコア方法論を図示する。
図8は、下記の図14A-14Bにさらに詳細に説明される論理構造内にあり得るような属性を伴う、3つの仮説上のコンテンツ要素および3つの仮説上の表面を描写する。要素Aは、テクスチャまたは色より重く表面選択に関してドット積配向表面関係に関する選好を有し得、要素Bは、平滑テクスチャに関する選好を有し得るが、マルチカラーコンテンツであって、コントラスト制約を殆ど有しておらず、色を優先化せず、要素Cは、仮想絵画であってもよく、他の属性より高い色属性に関する選好を有し得る。当業者は、コンテンツ要素構造内の値が、コンテンツ自体を反映させ得る(例えば、要素Cは、色に高い加重をかける)、または所望の表面属性を反映させ得る(例えば、要素Bは、レンダリングするためにより平滑な表面を好む)ことを理解されるであろう。さらに、数値として描写されるが、色視野内の明示的色または部屋内/ユーザに対する精密なサイズまたは位置等の他の属性値も、当然ながら、可能性として考えられる。
745において、最高マッチングスコアを有する表面が、識別される。図8に図示される総和実施例に戻ると、要素Aは、表面AおよびCに関して最高スコアであって、要素Bは、表面Bに関して最高スコアであって、要素Cは、表面Cに関して最高スコアである。そのような例証的実施例では、システムは、要素Aを表面Aに、要素Bを表面Bに、要素Cを表面Cにレンダリングしてもよい。要素Aは、表面AおよびCに関して等しくスコア化されるが、表面Cに関する要素Cの最高スコアは、要素Aの表面Aへの割当をプロンプトする。言い換えると、システムは、マッチングスコアの2回目の総和を反復し、コンテンツ要素および最高集約マッチングスコアを生産する表面の組み合わせを決定する。図8におけるドット積に関するサンプル数は、客観的測定ではなく、属性値を反映させることに留意されたい。例えば、-1ドット積結果は、好ましい数学的関係であるが、負の数を方程式の中に導入することを回避するために、表面属性は、表面属性に関して、-1ドット積関係を正の1としてスコア化する。
いくつかの実施形態では、745における最高スコアの識別は、表面リストが評価されるにつれて、最高マッチングスコアを有する表面をマーキングし、以前にマーキングされた表面をマーキングしないことによって、または最高マッチングスコアおよび最高マッチングスコアを有する表面へのリンクを追跡することによって、または表面にマッチングされる全てのコンテンツ要素の最高マッチングスコアを追跡することによってのいずれかによって行われる。一実施形態では、いったん十分なマッチングスコアを伴う表面が識別されると、表面リストから除去され、したがって、さらなる処理から除外されてもよい。一実施形態では、いったん最高マッチングスコアを有する表面が識別されると、コンテンツ要素にマッチングされていることのインジケーションとともに、表面リスト内に留まってもよい。本実施形態では、いくつかの表面は、単一コンテンツ要素とマッチングされてもよく、それぞれに関するマッチングスコアが、記憶されてもよい。
いくつかの実施形態では、周囲表面リストからの各表面が評価されるにつれて、マッチングスコアが、1つずつ計算され、マッチングが、決定され(例えば、コンテンツ要素の列挙された属性の80%以上のものが、マッチングを構成する表面によってサポートされる)、該当する場合、個別の表面を最良マッチングとしてマーキングし、次の表面に継続し、次の表面が、より良好なマッチングである場合、それを最良マッチングとしてマーキングする。いったん全ての表面がコンテンツ要素に関して評価されると、表面は、依然として、その表面を前提として最良マッチングである、最良マッチングとしてマーキングされたままである。いくつかの実施形態では、最高マッチングスコアは、良好なマッチングとして適格であるために、所定の閾値を上回る必要があり得る。例えば、最良マッチング表面が、わずか40%マッチングであることが決定され(サポートされる属性の数または標的マッチングスコアのパーセントのいずれかによって)、良好なマッチングとして適格であるための閾値が、75%を上回る場合、ユーザの環境からの表面に依拠することとは対照的に、コンテンツ要素を表示するための仮想オブジェクトを作成することが最良であり得る。これは、特に、ユーザの環境が、例えば、浜辺、海洋、および空以外の識別不可能表面を伴わない、浜辺であるときに当てはまり得る。当業者は、本プロセスのために定義され得る、多くの異なるマッチング/マッピングアルゴリズムが存在し、これが、単に、多くの異なるタイプのアルゴリズムの一実施例にすぎないことを理解し得る。
750において、マッチング/マッピング結果が、上記に開示されるように記憶される。一実施形態では、表面が、745において、表面リストから除去される場合、記憶されるマッチングは、最終と見なされ得る。一実施形態では、表面が、745において、表面リスト内に留まり、いくつかの表面が、単一コンテンツ要素にマッチングされる場合、アルゴリズムが、衝突コンテンツ要素および表面上で起動され、衝突を取り除き、1対多のマッチングまたは多対1のマッチングの代わりに、1対1のマッチングを有するようにしてもよい。高優先順位コンテンツ要素が、表面にマッチングされない場合、高優先順位コンテンツ要素は、仮想表面にマッチング/マッピングされてもよい。低優先順位コンテンツ要素が、表面にマッチングされない場合、レンダリングモジュール146は、低優先順位コンテンツ要素をレンダリングしないことを選定してもよい。マッチング結果は、下記に説明される図18に開示されるテーブル等の特定のテーブル内に記憶されてもよい。
図7Aに戻って参照すると、760において、所定のルールを使用することが進めるべき方法であると決定されたと仮定すると、本方法は、コンテンツ要素と表面のマッチングルールを含有するデータベースにクエリし、特定のコンテンツ要素に関して、コンテンツ要素をマッチングさせるために考慮されるべき表面のタイプを決定する。770において、事前に定義されたルールのセットが、最良適合アルゴリズムを起動し、1つ以上の表面を、コンテンツ要素に関する最良適合である、利用可能な候補表面から選定してもよい。少なくとも部分的に、最良適合アルゴリズムに基づいて、候補表面の全てのうち、特定のものが、その属性がコンテンツ要素の属性と最良にマッチングする、表面であるため、コンテンツ要素が特定の表面にマッチング/マッピングされるべきことが決定される。いったんコンテンツ要素および表面のマッチングが、750において、決定されると、本方法は、コンテンツ要素と表面に関するマッチング結果を、上記に説明されるように、非一過性記憶媒体内のテーブル内に記憶する。
いくつかの実施形態では、ユーザは、マッチングされた表面をオーバーライドしてもよい。例えば、ユーザは、表面が、マッチングアルゴリズムによって、コンテンツに関する最適表面であると決定されるときでも、コンテンツを表示するための表面をオーバーライドすべき場所を選定してもよい。いくつかの実施形態では、ユーザは、ある表面をシステムによって提供される1つ以上の表面オプションから選択してもよく、1つ以上の表面オプションは、準最適表面である、表面を含んでもよい。システムは、ユーザに、1つ以上の表示表面オプションを提示してもよく、表示表面オプションは、ユーザの物理的環境内の物理的表面、ユーザの物理的環境内のコンテンツを表示するための仮想表面、および/または仮想画面を含んでもよい。いくつかの実施形態では、記憶された画面(例えば、仮想画面)は、ユーザによって、コンテンツを表示するために選択されてもよい。例えば、ユーザが現在位置する特定の物理的環境に関して、ユーザは、あるコンテンツのタイプ(例えば、ビデオ)をあるタイプの表面(例えば、デフォルト画面サイズを有する記憶された画面、ユーザからの場所等)上に表示するための選好を有し得る。記憶された画面は、履歴上頻繁に使用された表面であってもよい、または記憶された画面は、あるコンテンツのタイプを表示するためにユーザのプロファイルまたは選好設定内で識別された記憶された画面であってもよい。したがって、1つ以上の要素の表示を1つ以上の表面上にオーバーライドするステップは、少なくとも部分的に、履歴上頻繁に使用された表面および/または記憶された画面に基づいてもよい。
図7Cは、ユーザがコンテンツ780を第1の表面からユーザに利用可能な任意の表面上に移動させることが可能であり得る、実施例を図示する。例えば、ユーザは、コンテンツ780を第1の表面から第2の表面(すなわち、垂直壁795)上に移動させることが可能であり得る。垂直壁795は、作業面積784を有してもよい。垂直壁795の作業面積784は、例えば、環境解析器168によって決定されてもよい。作業面積784は、コンテンツ780が、例えば、他のコンテンツ/オブジェクトによって妨げられずに表示され得る、表示表面782を有してもよい。表示表面782は、例えば、環境解析器168によって決定されてもよい。図7Cに図示される実施例では、作業面積784は、写真フレームおよびランプを含み、これは、表示表面782によって図示されるように、作業面積784の表示表面を作業面積784全体より小さくさせ得る。垂直壁795へのコンテンツの移動(例えば、移動786a-786c)は、表示表面782の中心、作業面積784の中、および/または垂直壁795へのコンテンツ780の完璧な設置である必要がない場合がある。代わりに、コンテンツは、コンテンツを垂直壁に移動させるためのユーザのジェスチャに基づいて、垂直壁795の周辺作業空間の少なくとも一部(例えば、作業面積784および/または表示表面782)内に移動されてもよい。コンテンツ780が、垂直壁795、作業面積784、および/またはコンテンツ780の表示表面782内に入る限り、システムは、コンテンツ780を表示表面782内に表示するであろう。
いくつかの実施形態では、周辺作業空間は、標的表示表面(例えば、表示表面782)を封入する、抽象的境界である。いくつかの実施形態では、ユーザのジェスチャは、少なくとも一部が表示表面782の周辺作業空間内にあるように、コンテンツ780を第1の表面において選択し、コンテンツ780を移動させるためのトーテム/コントローラ790による選択であってもよい。コンテンツ780は、次いで、表示表面782の輪郭および配向を整合させてもよい。仮想コンテンツを選択するステップはさらに、2015年10月20日に優先権を主張し、「SELECTING VIRTUAL OBJECTS IN A THREE-DIMENSIONAL SPACE」と題された、米国特許出願第15/296,869号に説明され、コンテンツを選択された表面に整合させるステップはさらに、2016年8月11日に優先権を主張し、「AUTOMATIC PLACEMENT OF A VIRTUAL OBJECT IN A THREE-DIMENSIONAL SPACE」と題された、米国特許出願第15/673,135号に説明される。
いくつかの実施形態では、ユーザのジェスチャは、(a)第1の表面からのコンテンツの選択、(b)第1の表面から第2の表面へのコンテンツの移動、および(c)第2の表面におけるコンテンツの設置のインジケーションを含み得る、手のジェスチャであってもよい。いくつかの実施形態では、第1の表面から第2の表面へのコンテンツの移動は、第2の表面の具体的部分に対するものである。いくつかの実施形態では、コンテンツは、第2の表面に設置されると、第2の表面に適合/それを充填する(例えば、適合、充填するようにスケーリングされる等)。いくつかの実施形態では、第2の表面に設置されたコンテンツは、第1の表面にあったときのサイズを維持する。これらの実施形態では、第2の表面は、第1の表面より大きくてもよく、および/または第2の表面は、コンテンツを表示するために必要とされるサイズより大きくてもよい。ARシステムは、コンテンツをユーザがコンテンツを表示するように示した第2の表面またはその近傍の位置に表示してもよい。言い換えると、第1の表面から第2の表面へのコンテンツの移動は、システムがコンテンツを第2の表面の作業可能空間全体の中に完璧に設置することを要求しなくてもよい。コンテンツは、少なくとも、ユーザによって少なくとも視認可能である第2の表面の第1の周辺面積に終着することのみ必要とし得る。
(環境駆動コンテンツ)
これまで開示されたものは、環境内のコンテンツ要素を表示すべき場所のコンテンツ駆動であった。言い換えると、ユーザは、ユーザの環境の中に表示されるための種々のコンテンツ(例えば、ウェブページからのプル配信コンテンツ)を選択し得る。しかしながら、いくつかの実施形態では、環境が、少なくとも部分的に、ユーザの環境および/または環境内の表面に基づいて、ユーザに表示されるコンテンツを駆動し得る。例えば、表面のリストが、常に、センサ162からのデータに基づいて、環境解析器168によって評価されている。表面のリストは、ユーザが、ある環境から別の環境に移動する、または環境内を動き回るにつれて、常に、環境解析器168によって評価されているため、ユーザがコンテンツを検索する、またはその上で選択する必要なく、ユーザの環境の中にプッシュ配信(例えば、プッシュ配信コンテンツ)され得、ウェブページから生じ得ない、あるコンテンツのタイプを表示するために適している場合がある、新しい/付加的表面が、利用可能になり得る。例えば、あるタイプのプッシュ配信コンテンツは、(a)株価通知、ニュースフィード等の種々のアプリケーションからの通知、(b)例えば、ソーシャルメディアアプリケーション、電子メール更新、および同等物からの更新および通知等の優先順位化されたコンテンツ、および/または(c)広標的グループおよび/または具体的標的グループおよび同等物を標的化する広告を含んでもよい。これらのタイプのプッシュ配信コンテンツはそれぞれ、広告をその最も効果的形態で表示するために、例えば、サイズ、寸法、配向、および同等物等の関連付けられた属性を有してもよい。環境に応じて、ある表面は、これらの環境駆動コンテンツ(例えば、プッシュ配信コンテンツ)が表示される機会を提示し得る。いくつかの実施形態では、プル配信コンテンツは、最初に、環境内の表面にマッチング/マッピングされてもよく、プッシュ配信コンテンツは、そこにマッチング/マッピングされたプル配信コンテンツを有していない、環境内の任意の表面にマッチング/マッピングされてもよい。
プッシュ配信コンテンツタイプの実施例として広告を挙げ、種々の寸法および配向を有する多くの表面が存在し得る環境内に、ユーザが存在するシナリオを検討する。ある広告は、ある寸法および配向を有する表面上および特定の場所(例えば、自宅、仕事場、野球場、食料品店、および同等物等の地理的場所、および環境内のある物理的アイテム/製品の正面等のアイテム場所)において最良に表示され得る。これらの状況では、システムは、プッシュ配信コンテンツのデータベースを通して検索し、環境の表面と最良にマッチングされ得るプッシュ配信コンテンツを決定してもよい。マッチングが、見出される場合、コンテンツは、特定の場所におけるマッチングされた表面上に表示されてもよい。いくつかの実施形態では、システムは、表面のリストを広告サーバに提供し、これは、内蔵論理を使用して、プッシュ配信コンテンツを決定する。
表示されるためのオンライン広告のために利用可能な空間を有する、ウェブページウィンドウ上の部分を決定するために、ユーザが視認するウェブページのレイアウトに依拠する、従来のオンライン広告と異なり、本開示は、環境内の表面を識別し、例えば、広告等のあるプッシュ配信コンテンツのための候補表面を決定する、環境解析器168を含む。
いくつかの実施形態では、ユーザは、あるタイプのプッシュ配信コンテンツが表示され得る時間および場所に関して、選好属性を規定してもよい。例えば、ユーザは、ある人々または団体からの高優先順位コンテンツをユーザの正面の表面上に顕著に表示させる一方、広告等の他のタイプのプッシュ配信コンテンツをユーザの一次焦点ビュー面積に対してより小さい表面周辺上に表示させる、選好属性を示してもよく、ユーザの一次焦点ビュー面積は、ユーザの一次焦点ビュー面積の側方にある、周辺ビューとは対照的に、ユーザが視認している方向に向かって略前方のビューの面積である。いくつかの実施形態では、ユーザが選択する、高優先順位コンテンツ要素(例えば、プッシュ配信コンテンツとは対照的に、プル配信コンテンツ)は、ユーザの環境内(例えば、ユーザの焦点視認面積内)の最も顕著な表面上に表示される一方、ユーザの焦点視認面積の周辺の他の非マッチング/非マッピング表面は、プッシュ配信コンテンツのために利用可能であってもよい。
いくつかの実施形態では、世界場所コンテキストAPIが、場所アウェアコンテンツを作成するために、コンテンツ設計者/ウェブ開発者/広告主に提供されてもよい。世界場所コンテキストAPIは、ユーザが現在存在する特定の場所に特有のローカルコンテキストを説明する能力のセットを提供し得る。世界場所コンテキストAPIは、具体的種類の部屋(例えば、居間、ジム、オフィス、台所)、種々の場所からユーザによって実行される具体的クエリ(例えば、ユーザは、居間から映画、ジムから音楽、台所からレシピ等を検索する傾向にある)、および種々の場所でユーザによって使用される具体的サービスおよびアプリケーション(例えば、メールクライアントは、オフィスから使用され、Netflixは、居間から使用される)の識別を含み得る、場所コンテキスト情報を提供してもよい。コンテンツ設計者は、世界場所コンテキストに対するあるアクションをコンテンツ要素の属性として関連付けてもよい。
コンテンツプロバイダは、場所特有のコンテンツを提供するために、本情報とともに、検索履歴、オブジェクト認識装置、およびアプリケーションデータを使用してもよい。例えば、ユーザが、台所において検索を起動する場合、広告および検索結果は、検索エンジンが、ユーザがユーザの台所から検索を起動していることを把握するであろうため、主に、食物関連となるであろう。世界場所コンテキストAPIによって提供される情報は、部屋または場所毎の正確な情報を提供し得、これは、地理的場所より正確にし、ジオフェンシングよりコンテキストアウェアにする。図9は、世界場所コンテキストAPIが場所特有のコンテキストを提供するために使用され得る方法の実施例である。実施例として、ユーザの台所905は、ユーザの現在の物理的場所内のある表面上に表示される、場所特有のコンテンツ915a、915b、および/または915cを含み得る。コンテンツ915aは、特定の食事に関するレシピであってもよく、コンテンツ915bは、食事の広告であってもよく、および/または915cは、台所内で用意するための食事の提案であってもよい。
図10は、コンテンツをVR/ARシステムのユーザにプッシュ配信するための方法1000の実施例である。1010において、1つ以上の表面およびその属性が、決定される。1つ以上の表面が、環境構造化プロセス160から決定され得、環境解析器168は、環境データを解析し、環境内の表面を決定し、表面を論理構造内に編成および記憶する。ユーザの環境は、ユーザの個人宅、住居内の具体的部屋、ユーザの仕事場所、および同等物等の表面に関する場所属性を担持し得る。1つ以上の表面は、ユーザの焦点ビュー面積の周辺にあってもよい。いくつかの実施形態では、1つ以上の表面は、ユーザが通知されることを所望し得るプッシュ配信コンテンツ(例えば、当局エンティティからの緊急通知、ホワイトリスト化されたアプリケーション/通知等)に応じて、ユーザの焦点ビュー面積内にあってもよい。表面の次元は、2Dおよび/または3D次元であってもよい。
1020において、1つ以上の表面にマッチングする、1つ以上のコンテンツ要素が、受信される。いくつかの実施形態では、コンテンツ要素または単一コンテンツ要素を受信するステップは、少なくとも1つの表面属性に基づく。例えば、「台所」の場所属性は、食物アイテムに対応するコンテンツ要素がプッシュ配信されるようにプロンプトしてもよい。別の実施例では、ユーザは、第1のコンテンツ要素を第1の表面上で鑑賞している場合があり、そのコンテンツ要素は、ある表面属性を伴う表面が利用可能である場合のみ、第2の表面上に表示するであろう、子コンテンツ要素を有する。
1030において、マッチングスコアが、コンテンツ要素の属性が表面の属性にマッチングする程度に基づいて計算される。いくつかの実施形態では、スコア化は、1~100のスケールに基づいてもよく、100のスコアは、最高スコアであって、1のスコアは、最低スコアである。当業者は、多くの異なるスコア化アルゴリズムおよびモデルがマッチングスコアを計算するために使用されてもよいことを理解し得る。いくつかの実施形態では、コンテンツ要素が、通知を含む場合、属性に基づいて計算されるマッチングスコアは、特定の表面とのマッチングとは対照的に、通知される必要があるコンテンツ要素の優先順位を示してもよい。例えば、コンテンツ要素が、ソーシャルメディアアプリケーションからの通知であるとき、スコアは、ソーシャルメディアコンテンツの属性および表面の属性に基づくマッチングスコアとは対照的に、ユーザのソーシャルメディアアカウント内でユーザによって定義された通知の優先順位レベルに基づいてもよい。
いくつかの実施形態では、ユーザが、その環境内で比較的に定常であるとき、表面のリストは、あまり変化し得ない。しかしながら、ユーザが運動中であるとき、表面のリストは、ユーザが進行する速度に応じて、非常に急速に変化し得る。動的状況では、ユーザがコンテンツを完全に視認することが可能であるために十分に長く定常ではあり得ないことが決定される場合、低マッチングスコアが、計算され得る。ユーザがコンテンツ全体を視認する十分な時間を有するかどうかの本決定は、コンテンツ設計者によって定義された属性であってもよい。
1040において、最高マッチングスコアを有するコンテンツ要素が、選択される。ユーザに表示される可能性が高いであろう競合コンテンツ要素(例えば、広告)が存在するとき、競合コンテンツを通してソートし、好ましいコンテンツ要素をピックアップするための要件が存在し得る。ここでは、好ましいコンテンツ要素を選択するための実施例として、1つのオプションは、競合をコンテンツ要素の属性が表面の属性にマッチングする程度に基づかせることである。別の実施例として、勝者は、少なくとも部分的に、コンテンツ要素プロバイダがプッシュ配信コンテンツを表示するために支払を所望し得る金額に基づいて、選択されてもよい。いくつかの実施形態では、好ましいコンテンツ要素は、コンテンツタイプ(例えば、3Dコンテンツまたはソーシャルメディアコンタクトからの通知)に基づいて、選択されてもよい。
1050において、好ましいコンテンツと対応する表面のマッチング/マッピングは、キャッシュメモリまたは持続的メモリ内に記憶されてもよい。マッチングの記憶は、ユーザが運動中であって、環境が変化する状況では、ユーザが戻る際、ユーザの環境のある履歴を維持可能であることが重要であり得るため、重要であり得る。マッチング/マッピングは、図18に開示されるテーブル等のテーブル内に記憶されてもよい。1060において、コンテンツは、対応する表面上にレンダリングされる。マッチングは、コンテンツ要素と表面の1対1または1対多のマッチング/マッピングであってもよい。
開示されたものは、環境内に表示するためにコンテンツを分解するための本システムおよび方法である。加えて、本システムおよび方法はまた、コンテンツを仮想現実または拡張現実システムのユーザの表面にプッシュ配信してもよい。
ウェブページ
図11を参照すると、環境1100は、本明細書に説明されるプロセス(例えば、ユーザの物理的環境1105内の表面上に表示されるようにウェブページ内のコンテンツからのコンテンツ要素をマッチングさせる)を実装するための物理的環境およびシステムを表す。環境1100の代表的物理的環境およびシステムは、ユーザ1108によって頭部搭載型システム1160を通して視認されるようなユーザの物理的環境1105を含む。環境1100の代表的システムはさらに、ネットワーク1120に動作可能に結合されるウェブブラウザ1110を介して、コンテンツ(例えば、ウェブページ)にアクセスするステップを含む。いくつかの実施形態では、コンテンツへのアクセスは、ビデオストリーミングアプリケーション等のアプリケーション(図示せず)を介してもよく、ビデオストリームは、アクセスされているコンテンツであってもよい。いくつかの実施形態では、ビデオストリーミングアプリケーションは、スポーツ組織であってもよく、ストリーミングされているコンテンツは、実際のライブ試合、概要、まとめ/ハイライト、ボックススコア、実況、チーム統計、プレーヤ統計、関連ビデオ、ニュースフィード、製品情報、および同等物であってもよい。
ネットワーク1120は、インターネット、内部ネットワーク、プライベートクラウドネットワーク、パブリッククラウドネットワーク等であってもよい。ウェブブラウザ1110はまた、ネットワーク1120を介して、プロセッサ1170に動作可能に結合される。プロセッサ1170は、頭部搭載型システム1160と別個の隔離されたコンポーネントとして示されるが、代替実施形態では、プロセッサ1170は、頭部搭載型システム1160の1つ以上のコンポーネントと統合されてもよい、および/または、例えば、ネットワーク1120等の環境1100内の他のシステムコンポーネントの中に統合され、コンピューティングネットワーク1125および記憶デバイス1130にアクセスしてもよい。プロセッサ1170は、頭部搭載型システム1160、ローカル記憶デバイス1140、ウェブブラウザ1110、コンピューティングネットワーク1125、および記憶デバイス1130から受信されたビデオ、オーディオ、およびコンテンツ等の情報を受信および処理するためのソフトウェア1150とともに構成されてもよい。ソフトウェア1150は、ネットワーク1120を介して、コンピューティングネットワーク1125および記憶デバイス1130と通信してもよい。ソフトウェア1150は、プロセッサ1170上にインストールされてもよい、または別の実施形態では、ソフトウェアの特徴および機能性は、プロセッサ1170の中に統合されてもよい。プロセッサ1170はまた、ユーザ1108の近傍の外部記憶デバイス上に遠隔で記憶される情報に依拠せず、迅速アクセスのために、プロセッサ1170によって使用される情報を記憶するために、ローカル記憶デバイス1140とともに構成されてもよい。他の実施形態では、プロセッサ1170は、頭部搭載型システム1160と統合されてもよい。
ユーザの物理的環境1105は、ユーザが動き回り、ユーザの物理的環境1105を頭部搭載型システム1160を通して視認するにつれたユーザ1108の物理的周囲である。例えば、図1を参照すると、ユーザの物理的環境1105は、2つの壁(例えば、主壁1180および側壁1184であって、主壁および側壁は、ユーザのビューに対する)と、テーブル1188とを伴う、部屋を示す。主壁1180上には、黒色実線によって描写される、長方形表面1182が存在し、あるコンテンツを投影するための候補表面であり得る、物理的境界を伴う物理的表面を示す(例えば、壁または窓から吊架される、またはそこに取り付けられる、絵画等)。側壁1184上には、黒色実線によって描写される、第2の長方形表面1186が存在し、物理的境界を伴う物理的表面を示す(例えば、壁または窓から吊架される、またはそこに取り付けられる、絵画等)。テーブル1188上には、異なるオブジェクトが存在し得る。1)あるコンテンツが記憶および表示され得る、仮想Rolodex1190、2)あるコンテンツを投影するための物理的境界を伴う物理的表面を表す、黒色実線によって描写される、水平表面1192、および3)例えば、あるコンテンツが記憶および表示され得る、スタックされた仮想新聞を表す、黒色点線によって描写される、仮想正方形表面1194の複数のスタック。当業者は、上記に説明される物理的境界が、それらがすでに表面を離散視認セクションに分割しており、それ自体が表面属性であり得るため、コンテンツ要素を設置するために有用であるが、適格表面を認識するために必要ではないことを理解するであろう。
ウェブブラウザ1110はまた、インターネットからまたはイントラネット/プライベートネットワーク内のブログページを表示してもよい。加えて、ウェブブラウザ1110はまた、デジタルコンテンツを表示する、任意の技術であってもよい。デジタルコンテンツは、例えば、ウェブページ、ブログ、デジタル写真、ビデオ、ニュース記事、ニュースレター、または音楽を含んでもよい。コンテンツは、ネットワーク1120を介してユーザ1108によってアクセス可能である、記憶デバイス1130内に記憶されてもよい。いくつかの実施形態では、コンテンツはまた、ストリーミングコンテンツ、例えば、ライブビデオフィードまたはライブオーディオフィードであってもよい。記憶デバイス1130は、例えば、データベース、ファイルシステム、持続的メモリデバイス、フラッシュドライブ、キャッシュ等を含んでもよい。いくつかの実施形態では、コンテンツ(例えば、ウェブページ)を含有するウェブブラウザ1110は、コンピューティングネットワーク1125を介して表示される。
コンピューティングネットワーク1125は、記憶デバイス1130にアクセスし、ウェブページをウェブブラウザ1110上に表示するために、コンテンツを読み出し、記憶する。いくつかの実施形態では、ローカル記憶デバイス1140は、ユーザ1108に関心があるコンテンツを提供してもよい。ローカル記憶デバイス1140は、例えば、フラッシュドライブ、キャッシュ、ハードドライブ、データベース、ファイルシステム等を含んでもよい。ローカル記憶デバイス1140内に記憶される情報は、最近アクセスされたコンテンツまたは3D空間内に最近表示されたコンテンツを含んでもよい。ローカル記憶デバイス1140は、コンテンツを3D空間環境(例えば、ユーザの物理的環境1105内の3D表面)上に表示するためのコンテンツを分解することに役立てるために、あるコンテンツをソフトウェア1150にローカルで提供することによって、環境1100のシステムに対する性能の改良を可能にする。
ソフトウェア1150は、非一過性コンピュータ可読媒体内に記憶されるソフトウェアプログラムを含み、ユーザの物理的環境1105内に表示されるためのコンテンツを分解する機能を実施する。ソフトウェア1150は、プロセッサ1170上で起動してもよく、プロセッサ1170は、ユーザ1108にローカルで取り付けられてもよい、またはいくつかの他の実施形態では、ソフトウェア1150およびプロセッサ1170は、頭部搭載型システム1160内に含まれてもよい。いくつかの実施形態では、ソフトウェア1150の特徴および機能の一部は、ユーザ1108から遠隔のコンピューティングネットワーク1125上で記憶および実行されてもよい。例えば、いくつかの実施形態では、コンテンツを分解するステップは、コンピューティングネットワーク1125上で生じてもよく、分解の結果は、記憶デバイス1130内に記憶されてもよく、分解されたコンテンツを提示するためのユーザのローカル環境の表面のインベントリ化は、プロセッサ1170内で生じてもよく、表面のインベントリおよびマッチング/マッピングは、ローカル記憶デバイス1140内に記憶される。一実施形態では、コンテンツを分解し、ローカル表面をインベントリ化し、コンテンツの要素をローカル表面にマッチング/マッピングし、コンテンツの要素を表示するプロセスは全て、プロセッサ1170およびソフトウェア1150内でローカルで生じてもよい。
頭部搭載型システム1160は、ユーザインターフェースと、ユーザ感知システムと、環境感知システムと、プロセッサと(全て示されない)を含む、仮想現実(VR)または拡張現実(AR)頭部搭載型システム(例えば、複合現実デバイス)であってもよい。頭部搭載型システム1160は、ユーザ1108に、デジタル世界と相互作用し、それを体験するためのインターフェースを提示する。そのような相互作用は、ユーザおよびデジタル世界、環境1100とインターフェースをとる1人以上の他のユーザ、およびデジタルおよび物理的世界内のオブジェクトを伴ってもよい。
ユーザインターフェースは、コンテンツを受信するステップと、ユーザインターフェースを通したユーザ入力によって、コンテンツ内の要素を選択するステップとを含んでもよい。ユーザインターフェースは、触知インターフェースデバイス、キーボード、マウス、ジョイスティック、運動捕捉コントローラ、光学追跡デバイス、およびオーディオ入力デバイスのうちの少なくとも1つまたはその組み合わせであってもよい。触知インターフェースデバイスは、ヒトが身体感覚および移動を通してコンピュータと相互作用することを可能にする、デバイスである。触知とは、アクションを実施するための触覚的フィードバックまたは他の身体感覚を包含する、またはコンピューティングデバイス上で処理する、あるタイプのヒト-コンピュータ相互作用技術を指す。
ユーザ感知システムは、頭部搭載型システム1160を装着しているユーザ1108に関連するある特徴、特性、または情報を検出するように動作可能である、1つ以上のセンサ1162を含んでもよい。例えば、いくつかの実施形態では、センサ1162は、例えば、以下、すなわち、縮瞳/散瞳、各瞳孔の角度測定/位置付け、球形度、眼形状(眼形状が経時的に変化するにつれた)、および他の解剖学的データのうちの1つ以上のもの等のユーザ1108のリアルタイム光学特性/測定を検出することが可能なカメラまたは光学検出/走査回路を含んでもよい。本データは、ユーザの視認体験を向上させるために頭部搭載型システム1160によって使用され得る、情報(例えば、ユーザの視覚的集光点)を提供する、またはそれを計算するために使用されてもよい。
環境感知システムは、データをユーザの物理的環境1105から取得するための1つ以上のセンサ1164を含んでもよい。センサ1164によって検出されたオブジェクトまたは情報は、頭部搭載型システム1160への入力として提供されてもよい。いくつかの実施形態では、本入力は、仮想世界とのユーザ相互作用を表してもよい。例えば、机(例えば、テーブル1188)上の仮想キーボードを視認するユーザ(例えば、ユーザ1108)は、ユーザが仮想キーボード上でタイプしているかのように、その指を用いてジェスチャしてもよい。指移動の運動は、センサ1164によって捕捉され、頭部搭載型システム1160に入力として提供されてもよく、入力は、仮想世界を変化させる、または新しい仮想オブジェクトを作成するために使用されてもよい。
センサ1164は、例えば、持続的および/または断続的に投影された赤外線構造化光を通して場面情報を解釈するために、例えば、略外向きに面したカメラまたはスキャナを含んでもよい。環境感知システムは、静的オブジェクト、動的オブジェクト、人々、ジェスチャ、および種々の照明、大気、および音響条件を含む、ローカル環境を検出および登録することによって、ユーザ1108の周囲のユーザの物理的環境1105の1つ以上の要素をマッチング/マッピングするために使用されてもよい。したがって、いくつかの実施形態では、環境感知システムは、ローカルコンピューティングシステム(例えば、プロセッサ1170)に内蔵され、センサ1164によって検出された1つ以上のオブジェクトまたは情報をデジタル的に再構成するように動作可能である、画像ベースの3D再構成ソフトウェアを含んでもよい。
一例示的実施形態では、環境感知システムは、以下、すなわち、運動捕捉データ(ジェスチャ認識を含む)、深度感知、顔認識、オブジェクト認識、一意のオブジェクト特徴認識、音声/オーディオ認識および処理、音響源位置特定、雑音低減、赤外線または類似レーザ投影、およびモノクロおよび/またはカラーCMOSセンサ(または他の類似センサ)、視野センサ、および種々の他の光学向上センサのうちの1つ以上のものを提供する。環境感知システムは、上記に議論されるもの以外の他のコンポーネントを含んでもよいことを理解されたい。
上記に述べられたように、プロセッサ1170は、いくつかの実施形態では、頭部搭載型システム1160の他のコンポーネントと統合される、環境1100のシステムの他のコンポーネントと統合されてもよい、または図1に示されるように、隔離されたデバイス(ウェアラブルまたはユーザ1108から分離する)であってもよい。プロセッサ1170は、物理的有線接続を通して、または、例えば、モバイルネットワーク接続(セルラー電話およびデータネットワークを含む)、Wi-Fi、Bluetooth(登録商標)、または任意の他の無線接続プロトコル等の無線接続を通して、頭部搭載型システム1160の種々のコンポーネントに接続されてもよい。プロセッサ1170は、メモリモジュール、統合および/または付加的グラフィック処理ユニット、無線および/または有線インターネットコネクティビティ、およびソース(例えば、コンピューティングネットワーク1125および頭部搭載型システム1160からのユーザ感知システムおよび環境感知システム)からのデータを画像およびオーディオデータに変換することが可能なコーデックおよび/またはファームウェアを含んでもよく、画像/ビデオおよびオーディオは、ユーザインターフェース(図示せず)を介して、ユーザ1108に提示されてもよい。
プロセッサ1170は、頭部搭載型システム1160の種々のコンポーネントのためのデータ処理および頭部搭載型システム1160とウェブブラウザ1110およびコンピューティングネットワーク1125によって表示またはアクセスされるウェブページからのコンテンツとの間のデータ交換をハンドリングする。例えば、プロセッサ1170は、ユーザ1108とコンピューティングネットワーク1125との間のデータストリーミングをバッファおよび処理し、それによって、平滑、連続、かつ高忠実性のユーザ体験を可能にするために使用されてもよい。
ウェブページからのコンテンツをコンテンツ要素に分解し、3D環境内の表面上に表示されるように要素をマッチング/マッピングするステップは、知的および論理的様式で遂行されてもよい。例えば、コンテンツ解析器115は、ドキュメントオブジェクトモデル(DOM)解析器であって、コンテンツの要素が、アクセス可能であって、プログラム上操作/抽出しやすくなるように、入力(例えば、全体HTMLページ)を受信し、入力内の種々のコンテンツ要素を分解し、分解されたコンテンツ要素を論理構造内に記憶してもよい。所定のルールのセットが、例えば、ウェブページ内で識別されたあるタイプの要素/コンテンツを設置すべき場所を推奨、提案、または規定するために利用可能であってもよい。例えば、コンテンツ要素のあるタイプは、1つ以上の要素を記憶および表示するために扱いやすい物理的または仮想オブジェクト表面にマッチング/マッピングされる必要があり得る、1つ以上のコンテンツ要素を有し得る一方、他のタイプのコンテンツ要素は、ウェブページ内の主ビデオまたは主記事等の単一オブジェクトであってもよく、その場合、単一オブジェクトは、単一オブジェクトをユーザに表示するために最も意味をなす表面にマッチング/マッピングされてもよい。いくつかの実施形態では、単一オブジェクトは、単一コンテンツオブジェクトがユーザの環境内の表面(例えば、仮想表面または物理的表面)上に表示され得るようなビデオアプリケーションからストリーミングされるビデオであってもよい。
図12の環境1200は、ウェブブラウザ1110およびユーザの物理的環境1105によって表示またはアクセスされるコンテンツ(例えば、ウェブページ)を描写する。矢印頭部を伴う点線は、ユーザの物理的環境1105にマッチング/マッピングされ、その上に表示される、コンテンツ(例えば、ウェブページ)からの要素(例えば、特定のタイプのコンテンツ)を描写する。コンテンツからのある要素は、ウェブ設計者ヒントまたは事前に定義されたブラウザルールのいずれかに基づいて、ユーザの物理的環境1105内のある物理的または仮想オブジェクトにマッチング/マッピングされる。
実施例として、ウェブブラウザ1110によってアクセスまたは表示されるコンテンツは、複数のタブを有するウェブページであってもよく、現在のアクティブタブ1260が、表示され、二次タブ1250は、現在のところ、ウェブブラウザ1110上での表示に応じて選択されるまで、隠蔽される。アクティブタブ1260内に表示されるものは、典型的には、ウェブページである。本特定の実施例では、アクティブタブ1260は、主ビデオ1220と、ユーザコメント1230と、提案されるビデオ1240とを含む、YOUTUBE(登録商標)ページを表示する。本例示的図12に描写されるように、主ビデオ1220は、垂直表面1182上に表示されるようにマッチング/マッピングされてもよく、ユーザコメント1230は、水平表面1192上に表示されるようにマッチング/マッピングされてもよく、提案されるビデオ1240は、垂直表面1182と異なる垂直表面1186上に表示されるようにマッチング/マッピングされてもよい。加えて、二次タブ1250は、仮想Rolodex1190上またはそのものとして、および/またはマルチスタック仮想オブジェクト1194上に表示されるようにマッチング/マッピングされてもよい。いくつかの実施形態では、二次タブ1250内の具体的コンテンツは、マルチスタック仮想オブジェクト1194内に記憶されてもよい。他の実施形態では、二次タブ1250内に常駐するコンテンツ全体が、マルチスタック仮想オブジェクト1194上に記憶および/または表示されてもよい。同様に、仮想Rolodex1190は、二次タブ1250からの具体的コンテンツを含有してもよい、または仮想Rolodex1190は、二次タブ1250内に常駐するコンテンツ全体を含有してもよい。
いくつかの実施形態では、ウェブブラウザ1110のコンテンツ要素(例えば、二次タブ1250内のウェブページのコンテンツ要素)は、ユーザの物理的環境1105内の両面平面ウィンドウ仮想オブジェクト(図示せず)上に表示されてもよい。例えば、平面ウィンドウ仮想オブジェクトの第1の側(例えば、正面側)上に表示されるものは、ウェブページの一次コンテンツであってもよく、平面ウィンドウ仮想オブジェクトの第2の側(例えば、背面側)上に表示されるものは、一次コンテンツに関連する、余剰コンテンツ等の付加的情報であってもよい。実施例として、小売店ウェブページ(例えば、BESTBUY)が、第1の側上に表示されてもよく、クーポンおよびディスカウントのセットが、第2の側上に表示されてもよい。ディスカウント情報は、第2の側に関する更新であって、ユーザは、第1の側上でブラウジングしている対象の現在のコンテキストを反映させてもよい(例えば、第2の側では、ラップトップまたは家電のみがディスカウントされる)。
いくつかのウェブページは、ウェブブラウザ1110内で視認されるとき、複数ページに及び得る。ウェブブラウザ1110内で視認されるとき、そのようなウェブページは、ウェブブラウザ1110内をスクロールすることによって、またはウェブブラウザ1110内の複数のページをナビゲートすることによって、視認され得る。ウェブブラウザ1110からのそのようなウェブページをユーザの物理的環境1105にマッチング/マッピングするとき、そのようなウェブページは、両面ウェブページとしてマッチング/マッピングされてもよい。図13A-13Bは、いくつかの実施形態による、例示的両面ウェブページを図示する。図13Aは、スムージードリンクを示す一方、図13Bは、原材料およびスムージーを作るための指示を含む、スムージードリンクの例示的背面側/第2の側を図示する。いくつかの実施形態では、主壁1180の正面側は、両面ウェブページの第1の側を含んでもよく、主壁1180の背面側は、両面ウェブページの第2の側を含んでもよい。本実施例では、ユーザ1108は、両面ウェブページの両側を見るために、主壁1180の周囲を歩き回る必要があるであろう。いくつかの実施形態では、主壁1180の正面側は、両面ウェブページの両側を含んでもよい。本実施例では、ユーザ1108は、ユーザ入力を介して、両面ウェブページの2つの側間をトグルしてもよい。両面ウェブページは、ユーザ入力に応答して、第1の側から第2の側にフリップされるように現れてもよい。両面ウェブページは、ウェブブラウザ1110内で視認されるとき、複数のページに及ぶ、ウェブページから生成されるように説明されるが、両面ウェブページは、任意のウェブページまたはその一部または複数部分から生成されてもよい。VRおよび/またはARシステムは、既存のコンテンツ(例えば、二次タブ1250またはウェブページ)の中に追加され、レンダリングモジュールがコンテンツを両面2Dブラウザ平面ウィンドウ仮想オブジェクト上にレンダリングするために利用可能にし得る、使用が容易なHTMLプロパティのセットを提供してもよい。実施例は、両面平面ウィンドウ仮想オブジェクトを説明するが、仮想オブジェクトは、任意の数の側(N個の面)を有してもよい。実施例は、コンテンツを両面平面ウィンドウ仮想オブジェクト上に表示するステップを説明するが、コンテンツ要素は、実オブジェクトの複数の表面(例えば、ドアの正面側およびドアの背面側)上にあってもよい。
垂直表面1182は、窓ガラスまたは写真フレーム等の部屋(ユーザの物理的環境1105として描写される)の主壁1180上にすでにあり得る、任意のタイプの構造であってもよい。いくつかの実施形態では、垂直表面1182は、頭部搭載型システム1160が、ユーザ1108が主ビデオ1220を視認するために適切な垂直表面1182のフレームの最適サイズを決定する、開けた壁であってもよい。垂直表面1182のサイズの本決定は、少なくとも部分的に、主壁1180からのユーザ1108の距離、主ビデオ1220のサイズおよび寸法、主ビデオ1220の品質、被覆されていない壁空間の量、および/または主壁1180を見ているときのユーザの姿勢に基づいてもよい。例えば、主ビデオ1220の品質が、高精細である場合、垂直表面1182のサイズは、主ビデオ1220の品質が垂直表面1182によって悪影響を及ぼされないであろうため、より大きくてもよい。しかしながら、主ビデオ1220のビデオ品質が、不良品質である場合、大垂直表面1182を有することは、ビデオ品質を大幅に損なわせ得、その場合、本開示の方法およびシステムは、ピクシレーションからの不良ビデオ品質を最小限にするために、より小さくなるように垂直表面1182内に表示されるコンテンツをリサイズする/その表示方法を再定義してもよい。
垂直表面1186は、垂直表面1182のように、ユーザの物理的環境1105内の隣接する壁(例えば、側壁1184)上の垂直表面である。いくつかの実施形態では、ユーザ1108の配向に基づいて、側壁1184および垂直表面1186は、勾配上に傾けられた表面であるように現れてもよい。勾配上に傾けられた表面は、垂直および水平表面に加え、あるタイプの表面の配向であってもよい。YOUTUBE(登録商標)ウェブページからの提案されるビデオ1240は、側壁1184上の垂直表面1186上に設置され、ユーザ1108が、単に、その頭部を、本実施例では、若干右に移動させることによって、提案されるビデオを視認可能となることを可能にする。
仮想Rolodex1190は、頭部搭載型システム1160によって作成され、ユーザ1108に表示される、仮想オブジェクトである。仮想Rolodex1190は、ユーザ1108が仮想ページのセットを通して双方向にサイクリングするための能力を有してもよい。仮想Rolodex1190は、ウェブページ全体を含有してもよい、または個々の記事またはビデオまたはオーディオを含有してもよい。本実施例に示されるように、仮想Rolodex1190は、二次タブ1250からのコンテンツの一部を含有してもよい、またはいくつかの実施形態では、仮想Rolodex1190は、二次タブ1250のページ全体を含有してもよい。ユーザ1108は、単に、仮想Rolodex1190内の特定のタブ上に合焦することによって、仮想Rolodex1190内のコンテンツを通して双方向にサイクリングさせてもよく、頭部搭載型システム1160内の1つ以上のセンサ(例えば、センサ1162)は、ユーザ1108の眼焦点を検出し、適宜、仮想Rolodex1190内のタブを通してサイクリングさせ、ユーザ1108のために関連情報を取得するであろう。いくつかの実施形態では、ユーザ1108は、仮想Rolodex1190からの関連情報を選定し、頭部搭載型システム1160に、関連情報を利用可能な周囲表面またはユーザ1108に近接近する仮想ディスプレイ(図示せず)等のさらに別の仮想オブジェクトのいずれか上に表示するように命令してもよい。
マルチスタック仮想オブジェクト1194は、仮想Rolodex1190と同様に、ユーザ1108が、ブックマークした、将来的視認のために保存した、またはオープン(すなわち、非アクティブ)タブを有する、1つ以上のタブからのコンテンツ全体または種々のウェブページまたはタブからの特定のコンテンツに及ぶ、コンテンツを含有してもよい。マルチスタック仮想オブジェクト1194はまた、新聞の実世界スタックに類似する。マルチスタック仮想オブジェクト1194内の各スタックは、特定の新聞記事、ページ、雑誌の号、レシピ等に関連してもよい。当業者は、コンテンツソースからのコンテンツ要素またはコンテンツを設置するための表面を提供する本同一目的を遂行するために、複数のタイプの仮想オブジェクトが存在し得ることを理解し得る。
当業者は、ウェブブラウザ1110によってアクセスまたは表示されるコンテンツが、単なるウェブページ以上であってもよいことを理解し得る。いくつかの実施形態では、コンテンツは、写真アルバムからの写真、映画からのビデオ、TV番組、YOUTUBE(登録商標)ビデオ、双方向フォーム等であってもよい。さらに他の実施形態では、コンテンツは、電子ブックまたは本を表示する任意の電子手段であってもよい。最後に、他の実施形態では、コンテンツが、概して、情報が現在提示されている方法によるため、コンテンツは、まだ説明されていない他のタイプのコンテンツであってもよい。電子デバイスが、コンテンツを消費し得る場合、コンテンツは、頭部搭載型システム1160によって使用され、コンテンツを分解し、3D設定(例えば、AR)内に表示することができる。
いくつかの実施形態では、アクセスされたコンテンツをマッチング/マッピングするステップは、コンテンツ(例えば、ブラウザからの)を抽出するステップと、それを表面上に掲載するステップとを含んでもよく(コンテンツがもはやブラウザ内になく、表面上にのみあるように)、いくつかの実施形態では、マッチング/マッピングするステップは、コンテンツ(例えば、ブラウザからの)を複製するステップと、それを表面上に掲載するステップとを含むことができる(コンテンツがブラウザ内および表面上の両方にあるように)。
コンテンツを分解するステップは、インターネットおよびコンピュータ関連技術の領域内に存在する、技術的問題である。ウェブページ等のデジタルコンテンツは、HTML等のあるタイプのプログラミング言語を使用して構成され、コンピュータプロセッサおよび技術的コンポーネントに、ウェブページ内の要素をユーザのための画面上に表示する場所および方法を命令する。上記に議論されるように、ウェブ設計者は、典型的には、2Dキャンバス(例えば、画面)の限界内で作業し、要素(例えば、コンテンツ)を2Dキャンバス内に設置および表示する。HTMLタグは、HTMLドキュメントまたはHTMLドキュメント内の一部がフォーマッティングされる方法を決定するために使用される。いくつかの実施形態では、(抽出または複製された)コンテンツは、HTMLタグ参照を維持することができ、いくつかの実施形態では、HTMLタグ参照は、再定義されてもよい。
本実施例に関して図4を簡単に参照すると、410においてコンテンツを受信するステップは、頭部搭載型システム1160の使用を伴い、デジタルコンテンツを検索してもよい。410においてコンテンツを受信するステップはまた、ネットワーク1120に接続されるサーバ(例えば、記憶デバイス1130)上のデジタルコンテンツにアクセスするステップを含んでもよい。410においてコンテンツを受信するステップは、ユーザ1108に関心があるウェブページに関して、インターネットをブラウジングするステップを含んでもよい。いくつかの実施形態では、410においてコンテンツを受信するステップは、コンテンツをインターネット上で検索するために、ユーザ1108によって与えられる音声アクティブ化コマンドを含んでもよい。例えば、ユーザ1108は、デバイス(例えば、頭部搭載型システム1160)と相互作用してもよく、ユーザ1108は、ビデオを検索するためのコマンドを発し、次いで、ビデオの名称およびビデオの簡単な説明を述べることによって、特定のビデオを検索するようにデバイスに求めることによって、特定のビデオをインターネット上で検索する。デバイスは、次いで、インターネットを検索し、ビデオを2Dブラウザ上に引き出し、デバイスの2Dブラウザ上に表示されるにつれて、ユーザ1108がビデオを見ることを可能にしてもよい。ユーザ1108は、次いで、ビデオが、ユーザ1108が空間的3D環境内で視認することを所望するであろうビデオであることを確認してもよい。
いったんコンテンツが、受信されると、本方法は、420においてコンテンツ内のコンテンツ要素を識別し、ユーザ1108に表示するためにコンテンツ内のコンテンツ要素をインベントリ化する。コンテンツ内のコンテンツ要素は、例えば、ウェブページ上に投稿されたビデオ、記事、およびニュースレター、ソーシャルメディアウェブサイト上のコメントおよび投稿、ブログ投稿、種々のウェブサイト上に投稿された写真、オーディオブック等を含んでもよい。コンテンツ(例えば、ウェブページ)内のこれらの要素は、コンテンツに関するスクリプト内のHTMLタグによって判別可能であってもよく、さらに、特定の要素が設置される場所、ある場合には、要素が表示されるべき時間および方法を定義するためにコンテンツ設計者によって提供される属性を有する、HTMLタグまたはHTML様タグを備えてもよい。いくつかの実施形態では、本開示の方法およびシステムは、これらのHTMLタグおよび属性をコンテンツ設計者によって提供されるヒントおよび提案として利用し、440におけるマッチング/マッピングプロセスを補助し、要素を3D設定内で表示すべき場所および方法を決定するであろう。例えば、下記は、コンテンツ設計者(例えば、ウェブページ開発者)によって提供される例示的HTMLウェブページコードである。
コンテンツ設計者によって提供される例示的HTMLウェブページコード
コンテンツ設計者によって提供される例示的HTMLウェブページコードは、主ビデオをウェブページ上に表示すべき方法に関する選好および推奨(または提案)されるビデオを表示すべき方法に関する選好を含む。選好は、1つ以上の属性としてタグ内で伝達されてもよい。コンテンツ要素に関する例示的属性は、上記および下記に説明される。属性は、上記に説明されるように、決定または推測されてもよい。特に、本HTMLウェブページコードは、「スタイル」のタグを使用して、主ビデオを表示する方法を規定し、「垂直」のタイプ値を使用して、ビデオを表示するための垂直表面を指定する。加えて、「スタイル」タグ内では、コンテンツ設計者によって提供される付加的ヒントが、ウェブページ(例えば、主ビデオ)内のどのHTML要素/コンテンツがどの潜在的表面積にマッチング/マッピングされるべきかを優先順位化するために使用するためのマッチングアルゴリズムのための「優先順位」選好属性を含んでもよい。例示的HTMLウェブページコードでは、優先順位は、垂直平面レイアウトを有するビデオに関して、100の値に設定され、本実施例では、より高い優先順位値は、より高い優先順位を示す。加えて、本実施例では、選好属性が、コンテンツ設計者によって、「水平」のタイプ値を有するスタック内の提案されるビデオをスタックレイアウト内に設置するように示され、スタックされたオブジェクト(例えば、この場合、別の提案されるビデオに関連して提案されるビデオ)間の距離は、20cmであるべきである。
いくつかの実施形態では、例えば、<ml-container>等のタグは、解析器(例えば、解析器115)が、タグ内で規定された属性を解釈し、コンテンツ要素が3D空間環境内に表示されるべき場所および方法を決定することが可能であり得るように、コンテンツ設計者がコンテンツ要素が環境(例えば、3D空間環境)内に表示されるべき場所および方法に関する具体的選好属性(例えば、ヒント)を提供することを可能にし得る。具体的選好属性は、コンテンツ要素に関する表示選好を定義するための1つ以上の属性を含んでもよい。属性は、上記に説明される属性のいずれかを含んでもよい。
当業者は、コンテンツ設計者によって定義されたこれらの提案、ヒント、および/または属性が、例えば、コンテンツ要素を3D空間環境内に表示するための類似プロパティを示し得る、<ml-container>等のタグ内に定義されてもよいことを理解し得る。加えて、当業者はまた、コンテンツ設計者が任意の組み合わせにおいて属性を規定してもよいことを理解し得る。本明細書に開示される実施形態は、解析器(例えば、解析器115)、またはウェブページのコンテンツを分析し、コンテンツ要素をコンテンツ内に最良に表示するための方法および場所を決定するための他の類似技術の使用によって、所望の表示結果を解釈してもよい。
本実施例に関して図5を簡単に参照すると、510においてコンテンツ内の要素を識別するステップは、図4の420においてコンテンツ内の要素を識別するステップに類似してもよい。本方法は、520において、属性をコンテンツの場所に関するタグから識別するための次のステップに進む。上記に議論されるように、コンテンツ設計者は、ウェブページを設計および構成する際、ウェブページ内のコンテンツ要素と各コンテンツ要素を表示すべき場所および方法を定義するためのHTMLタグを関連付けてもよい。これらのHTMLタグはまた、ウェブページの特定の部分上のコンテンツ要素の場所に関する属性を含んでもよい。頭部搭載型システム1160が、システムの他のコンポーネントを検出し、それと協調し、特定の要素が表示され得る場所に関する入力として使用するであろうものは、これらのHTMLタグおよびその属性である。いくつかの実施形態では、例えば、<ml-container>等のタグは、3D空間環境内のコンテンツ要素の表示選好属性を提案するためにコンテンツ設計者によって規定された属性を含んでもよく、タグは、コンテンツ要素と関連付けられる。
ヒントまたはタグを各要素から抽出するステップは、530において実施される。ヒントまたはタグは、典型的には、ウェブページのコンテンツ設計者によって提供される、フォーマッティングヒントまたはフォーマッティングタグである。上記に議論されるように、コンテンツ設計者は、例えば、「ウェブページ開発者によって提供される例示的HTMLウェブページコード」に示されるように、HTMLタグの形態で命令またはヒントを提供し、ウェブブラウザ1110に、コンテンツ要素をページまたは画面の特定の部分に表示するように命令してもよい。いくつかの実施形態では、コンテンツ設計者は、付加的HTMLタグ属性を使用して、付加的フォーマッティングルールを定義してもよい。例えば、ユーザが、具体的色(例えば、赤色)に関して低減された感度を有する場合、赤色を表示せず、代わりに、別の色を使用する、または垂直表面上に表示される選好を有するビデオが、垂直表面上に表示されることができない場合、代替として、ビデオを別の(物理的)表面上に表示する、または仮想表面を作成し、ビデオを仮想表面上に表示する。下記は、HTMLページを通して解析し、ヒント/タグをHTMLページ内の各要素から抽出するためにブラウザ内に実装される例示的HTMLページ解析器である。
ブラウザ内に実装される例示的HTMLページ解析器
例示的HTMLページ解析器は、特定のコンテンツ要素に関する表示選好属性を提供するために使用されるHTMLタグを含有するHTMLページが解析および識別および/または抽出/複製され得る方法を示す。例示的HTMLページ解析器に開示されるように、コンテンツ要素は、開示されるサンプルコードを使用して解析されることができる。種々の要素名および値を使用したあるHTMLタグが、HTMLページ解析器によって識別/抽出され(例えば、ML.layout、ML.container等)、特定の要素が3D環境内でユーザに表示されるべき方法を決定してもよい(例えば、コンテンツ要素を特定の表面にマッチングさせることによって)。
コンテンツ要素のための代替表示形態をルックアップ/検索するステップは、540において実施される。あるフォーマッティングルールが、特定の視認デバイス上に表示されるコンテンツ要素に関して規定されてもよい。例えば、あるフォーマッティングルールは、ウェブページ上の画像に関して規定されてもよい。システムは、代替表示形態にアクセスしてもよい。例えば、ウェブブラウザ1110が、画像の3Dバージョン(またはより一般的には、3Dアセットまたは3Dメディア)を表示することが可能である場合、ウェブページ設計者は、付加的タグを設置する、または特定のタグのある属性を定義し、ウェブブラウザ1110が、画像が画像の代替バージョン(例えば、画像の3Dバージョン)を有し得ることを認識することを可能にしてもよい。ウェブブラウザ1110は、次いで、3D対応ブラウザに表示されるための画像の代替バージョン(例えば、画像の3Dバージョン)にアクセスしてもよい。
いくつかの実施形態では、ウェブページ内の3D画像は、3D環境内の表面上に表示されるためにウェブページから抽出可能ではない、またはコピーされない場合がある。これらの実施形態では、3D画像は、3D画像が、回転、光輝等するように現れる、ユーザの3D環境内に表示されてもよく、ユーザは、3D画像と相互作用するが、3D画像を含むウェブページ内でのみ相互作用し得る。これらの実施形態では、3D画像が、ウェブページから抽出またはコピーされなかったため、3D画像の表示は、ウェブページ内に表示される。この場合、ウェブページ全体が、抽出され、ユーザの3D環境内に表示され、例えば、3D画像等のウェブページ内のいくつかのコンテンツ要素は、ウェブページから抽出またはコピーされないが、ウェブページの残りに対して3Dで現れ得、ウェブページ内で相互作用可能であり得る。
いくつかの実施形態では、ウェブページ内の3D画像は、ウェブページからコピーされるが、抽出されない場合がある。これらの実施形態では、3D画像は、3D画像が回転、光輝等するように現れる、ユーザの3D環境内に表示されてもよく、ユーザは、3D画像を含むウェブページ内のみだけではなく、また、3D画像のコピーを含むウェブページ外の3D環境内でも、3D画像と相互作用し得る。ウェブページは、3D画像と同じように現れ、ウェブページ外には、3D画像のコピーが存在する。
いくつかの実施形態では、ウェブページ内の3D画像は、ウェブページから抽出され得る。これらの実施形態では、3D画像は、3D画像が回転、光輝等するように現れる、ユーザの3D環境内に表示されてもよく、ユーザは、3D画像がウェブページから抽出されるにつれて、3D画像と相互作用するが、ウェブページ外のみで相互作用し得る。3D画像が、ウェブページから抽出されたため、3D画像は、3D環境のみに、ウェブページを伴わずに表示される。これらの実施形態では、ウェブページは、3D画像がウェブページから抽出された後、再構成されてもよい。例えば、抽出されることに先立って3D画像が存在したウェブページ内のブランクセクションを含む、ウェブページのあるバージョンが、ユーザに提示されてもよい。
前述の実施形態および実施例は、ウェブページ内の3D画像に関して説明されるが、当業者は、説明が任意のコンテンツ要素にも同様に適用され得ることを理解し得る。
識別されたコンテンツ要素を記憶するステップは、550において実施される。本方法は、合成プロセス140において使用され、コンテンツ要素を表面にマッチングさせるために、識別された要素を非一過性記憶媒体の中に記憶してもよい。非一過性記憶媒体は、記憶デバイス1130またはローカル記憶デバイス1140等のデータ記憶デバイスを含んでもよい。コンテンツ要素は、下記に説明される図14Aに開示されるテーブル等の特定のテーブル内に記憶されてもよい。いくつかの実施形態では、コンテンツ要素は、例えば、下記に説明される図14Bに開示されるようなツリー構造として表される、階層構造内に記憶されてもよい。いくつかの実施形態では、コンテンツ要素は、一過性記憶媒体内に記憶されてもよい。
図14A-14Bは、いくつかの実施形態による、コンテンツから分解されたコンテンツ要素を記憶するための異なる構造の実施例を示す。図14Aでは、要素テーブル1400は、図5の510におけるコンテンツ内のコンテンツ要素を識別するステップの結果をデータベース内に記憶し得る、例示的テーブルである。要素テーブル1400は、例えば、要素識別(ID)1410と、コンテンツ要素に関する選好属性インジケータ1420(例えば、優先順位属性、配向属性、位置タイプ属性、コンテンツタイプ属性、表面タイプ属性、および同等物、またはいくつかのそれらの組み合わせ)と、特定のコンテンツ要素が親コンテンツ要素内に含まれる場合の親要素ID1430、コンテンツ要素が子コンテンツ要素を含有し得る場合の子コンテンツ要素ID1440と、コンテンツ要素を表示するために使用される表面または仮想オブジェクトにコンテンツ要素の複数のバージョンを表示することと互換性を持たせる必要性を保証し得る、複数の実施形態をコンテンツ要素が含有するかどうかを示すための複数エンティティインジケータ1450とを含む、コンテンツ内の1つ以上のコンテンツ要素についての情報を含む。親コンテンツ要素は、サブコンテンツ要素(例えば、子コンテンツ要素)を含有し得る、コンテンツ内のコンテンツ要素/オブジェクトである。例えば、1220(例えば、主ビデオ1220)の値を有する要素IDは、1260(例えば、アクティブタブ1260)の親要素ID値を有し、これは、主ビデオ1220がアクティブタブ1260の子コンテンツ要素であることを示す。または換言すると、主ビデオ1220は、アクティブタブ1260内に含まれる。同一実施例を継続すると、主ビデオ1220は、子要素ID1230(例えば、ユーザコメント1230)を有し、これは、ユーザコメント1230が主ビデオ1220と関連付けられることを示す。当業者は、要素テーブル1400が関係データベースまたは任意のタイプのデータベース内のテーブルであってもよいことを理解し得る。加えて、要素テーブル1400は、図5の510におけるコンテンツ内のコンテンツ要素を識別するステップの結果を含有する、コンピュータメモリ(例えば、キャッシュ)内のアレイであってもよい。
要素テーブル1400内の行1460の各行は、ウェブページ内からのコンテンツ要素に対応する。要素ID1410は、コンテンツ要素(例えば、要素ID)毎に一意の識別子を含有する、列である。いくつかの実施形態では、コンテンツ要素の一意性は、要素ID1410列およびテーブル内の別の列(例えば、コンテンツ設計者によって識別される1つを上回る選好属性が存在する場合、選好属性1420列)の組み合わせとして定義されてもよい。選好属性1420は、その値が、少なくとも部分的に、コンテンツ設計者によってその中に定義され、図5の530におけるヒントまたはタグを各コンテンツ要素から抽出するステップに開示されるように、本システムおよび方法によって識別される、タグおよび属性に基づいて決定され得る、列である。他の実施形態では、選好属性1420列は、少なくとも部分的に、所定のルールに基づいて決定され、あるコンテンツのタイプ要素が環境内で表示されるべき場所を規定してもよい。これらの所定のルールは、コンテンツ要素を環境内に最良に設置すべき場所を決定するための提案を本システムおよび方法に提供し得る。
親要素ID1430は、現在の行内の本特定のコンテンツ要素がその中に表示される、またはそれに関連する、親コンテンツ要素の要素IDを含有する、列である。特定のコンテンツ要素は、内蔵される、ページの別のコンテンツ要素内に設置される、またはウェブページ上の別のコンテンツ要素に関連してもよい。例えば、本実施形態では、要素ID1410列の第1のエントリは、図12の主ビデオ1220に対応する要素ID1220の値を記憶する。主ビデオ1220に対応する選好属性1420列内の値は、タグおよび/または属性に基づいて決定され、図示されるように、本コンテンツ要素がユーザの物理的環境1105の「主」場所に設置されるべきであるということである。ユーザ1108の現在の場所に応じて、その主場所は、ユーザ1108が現在見ている居間内の壁または台所内のコンロの上のフードであってもよい、または広開放空間内に存在する場合、主ビデオ1220が投影され得る、ユーザ1108の通視線の正面に投影される、仮想オブジェクトであってもよい。コンテンツ要素がユーザ1108に表示される方法に関するさらなる情報は、詳細な説明の他の場所に開示されるであろう。本実施例を継続すると、親要素ID1430列は、図12のアクティブタブ1260に対応する要素ID1260の値を記憶する。したがって、主ビデオ1220は、アクティブタブ1260の子である。
子要素ID1440は、現在の行内の本特定のコンテンツ要素が表示されている、またはそれに関連する、子コンテンツ要素の要素IDを含有する、列である。ウェブページ内の特定のコンテンツ要素は、内蔵される、別のコンテンツ要素内に設置される、または別のコンテンツ要素に関連してもよい。本実施例を継続すると、子要素ID1440列は、図12のユーザコメント1230に対応する要素ID1230の値を記憶する。
多重エンティティインジケータ1450は、要素を表示するために使用される表面または仮想オブジェクトにコンテンツ要素の複数のバージョンを表示することと互換性を持たせる必要性を保証し得る、多重エンティティをコンテンツ要素が含有するかどうかを示す、列である(例えば、コンテンツ要素は、ユーザコメント1230であってもよく、主ビデオ1220に関して、利用可能な1つを上回るコメントが存在してもよい)。本実施例を継続すると、多重エンティティインジケータ1450列は、「N」の値を記憶し、主ビデオ1220が複数の主ビデオをアクティブタブ1260内に有していない、またはそれに対応していない(例えば、主ビデオ1220の複数のバージョンが「存在しない」)ことを示す。
本実施例を継続すると、要素ID1410列の第2のエントリは、図12のユーザコメント1230に対応する要素ID1230の値を記憶する。ユーザコメント1230に対応する選好属性1420列内の値は、「水平」の選好を示し、ユーザコメント1230がユーザの物理的環境1105内のいずれかの場所の水平表面上に設置されるべきであることを示す。上記に議論されるように、水平表面は、ユーザの物理的環境1105内の利用可能な水平表面に基づいて決定されるであろう。いくつかの実施形態では、ユーザの物理的環境1105は、水平表面を有していない場合があり、その場合、本開示の本システムおよび方法は、水平表面を伴う仮想オブジェクトを識別/作成し、ユーザコメント1230を表示してもよい。本実施例を継続すると、親要素ID1430列は、図12の主ビデオ1220に対応する値要素ID1220を記憶し、多重エンティティインジケータ1450列は、「Y」の値を記憶し、ユーザコメント1230が1つを上回る値(例えば、1つを上回るユーザコメント)を含有し得ることを示す。
要素テーブル1400内の残りの行は、ユーザ1108に関心のある残りのコンテンツ要素に関する情報を含有する。当業者は、510におけるコンテンツ内のコンテンツ要素を識別するステップの結果を記憶することが、いったん本分析がコンテンツ上で実施されると、別のユーザが同一コンテンツに関心がある場合のコンテンツの将来的分析のための本システムおよび方法によって留保され得るため、コンピュータ自体の機能を改良することを理解し得る。本特定のコンテンツを分解するための本システムおよび方法は、以前にすでに完了されているため、回避されてもよい。
いくつかの実施形態では、要素テーブル1400は、記憶デバイス1130内に記憶されてもよい。他の実施形態では、要素テーブル1400は、最近視認されたコンテンツへの迅速アクセスのために、または最近視認されたコンテンツへの可能性として考えられる再訪問のために、ローカル記憶デバイス1140内に記憶されてもよい。さらに他の実施形態では、要素テーブル1400は、ユーザ1108から遠隔に位置する記憶デバイス1130およびユーザ1108にローカルで位置するローカル記憶デバイス1140の両方に記憶されてもよい。
図14Bでは、ツリー構造1405は、図5の510におけるコンテンツ内の要素を識別するステップの結果をデータベースの中に記憶するために使用され得る、例示的論理構造である。コンテンツ要素をツリー構造内に記憶することは、種々のコンテンツが相互に階層関係を有するとき、有利であり得る。ツリー構造1405は、親ノード-ウェブページ主タブノード1415と、第1の子ノード-主ビデオノード1425と、第2の子ノード-提案されるビデオノード1445とを含む。第1の子ノード-主ビデオノード1425は、子ノード-ユーザコメントノード1435を含む。ユーザコメントノード1435は、ウェブページ主タブノード1415の孫である。実施例として、図12を参照すると、ウェブページ主タブノード1415は、ウェブページ主タブ1260であってもよく、主ビデオノード1425は、主ビデオ1220であってもよく、ユーザコメントノード1435は、ユーザコメント1230であってもよく、提案されるビデオノード1445は、提案されるビデオ1240であってもよい。ここでは、コンテンツ要素のツリー構造編成は、種々のコンテンツ要素間の階層関係を示す。コンテンツ要素を論理構造のツリー構造タイプ内に編成および記憶することが有利であり得る。例えば、主ビデオ1220が、特定の表面上に表示されている場合、システムが、ユーザコメント1230が主ビデオ1220の子コンテンツであることを把握することが有用であり得、ユーザがユーザコメント1230と主ビデオ1220との間の関係を容易に見て理解し得るように、ユーザコメント1230を主ビデオ1220に比較的に近接して表示し、および/またはユーザコメント1230を主ビデオ1220の近傍の表面上に表示することが有益であり得る。いくつかの実施形態では、ユーザが主ビデオ1220を隠すまたは閉じることを決定する場合、ユーザコメント1230を隠すまたは閉じることが可能であることが有益であり得る。いくつかの実施形態では、ユーザが主ビデオ1220を異なる表面に移動させることを決定する場合、ユーザコメント1230を別の表面に移動させることが可能であることが有益であり得る。システムは、親ノード-主ビデオノード1425および子ノード-ユーザコメントノード1435の両方を同時に移動させることによって、ユーザが主ビデオ1220を移動させるとき、ユーザコメント1230を移動させてもよい。
図4に戻ると、本方法は、430において、表面を決定するステップを継続する。ユーザ1108は、ユーザの物理的環境1105を頭部搭載型システム1160を通して視認し、頭部搭載型システム1160が、壁、テーブル、絵画、窓枠、コンロ、冷蔵庫、TV等の周囲表面を捕捉および識別することを可能にしてもよい。頭部搭載型システム1160は、頭部搭載型システム1160上のセンサおよびカメラのため、または任意の他のタイプの類似デバイスを用いて、ユーザの物理的環境1105内の実オブジェクトを認知する。いくつかの実施形態では、頭部搭載型システム1160は、ユーザの物理的環境1105内で観察される実オブジェクトを記憶デバイス1130またはローカル記憶デバイス1140内に記憶される仮想オブジェクトとマッチングさせ、そのような仮想オブジェクトとともに利用可能な表面を識別してもよい。実オブジェクトは、ユーザの物理的環境1105内で識別されたオブジェクトである。仮想オブジェクトは、ユーザの物理的環境内に物理的に存在しないが、仮想オブジェクトがユーザの物理的環境内に存在するかのように現れるようにユーザに表示され得る、オブジェクトである。例えば、頭部搭載型システム1160は、ユーザの物理的環境1105内でテーブルの画像を検出してもよい。テーブル画像は、記憶デバイス1130またはローカル記憶デバイス1140における比較およびマッチングのために、3D点群オブジェクトに低減されてもよい。(例えば、テーブルの)実オブジェクトおよび3D点群オブジェクトのマッチングが、検出される場合、本システムおよび方法は、テーブルを表す3D点群オブジェクトが水平表面を有するように定義されるため、テーブルを水平表面を有すると識別するであろう。
いくつかの実施形態では、仮想オブジェクトは、抽出されたオブジェクトであってもよく、抽出されたオブジェクトは、ユーザの物理的環境1105内で識別されたが、物理的オブジェクト自体上で行われることが可能ではないであろう、付加的処理および関連付けが、抽出されたオブジェクトに対して行われ得るように(例えば、物理的オブジェクトの色を変化させ、物理的オブジェクトの特定の特徴をハイライトするため等)、物理的オブジェクトの場所内の仮想オブジェクトとしてユーザに表示される、物理的オブジェクトであってもよい。加えて、抽出されたオブジェクトは、コンテンツ(例えば、ブラウザからのウェブページ)から抽出され、ユーザ1108に表示される、仮想オブジェクトであってもよい。例えば、ユーザ1108は、ユーザの物理的環境1105内で表示されるために、ウェブページ上に表示される長椅子等のオブジェクトを選定してもよい。システムは、選定されたオブジェクト(例えば、長椅子)を認識し、抽出されたオブジェクト(例えば、長椅子)がユーザの物理的環境1105内に物理的に存在するかのように、抽出されたオブジェクト(例えば、長椅子)をユーザ1108に表示してもよい。加えて、仮想オブジェクトはまた、ユーザの物理的環境1105内に物理的に存在しないが、コンテンツを表示する視点から、あるコンテンツをユーザに提示するための理想的表示表面であり得る、コンテンツを表示するための表面(例えば、あるコンテンツを視認するためにユーザに近接近する透明ディスプレイ画面)を有する、オブジェクトを含んでもよい。
図6を簡単に参照すると、本方法は、610において、表面を決定するステップから開始する。本方法は、620において、ユーザの姿勢を決定する次のステップに進み、これは、頭部姿勢ベクトルを決定するステップを含んでもよい。620においてユーザの姿勢を決定するステップは、ユーザの姿勢がユーザの物理的環境1105内のオブジェクトに関連して、ユーザ1108のための視点を提供するであろうため、ユーザの現在の周囲を識別するために重要なステップである。例えば、図11に戻って参照すると、ユーザ1108は、頭部搭載型システム1160を使用して、ユーザの物理的環境1105を観察している。620においてユーザの姿勢(すなわち、頭部姿勢ベクトルおよび/または世界に対する原点位置情報)を決定するステップは、頭部搭載型システム1160が、例えば、(1)地面に関連してユーザ1108が存在する高さ、(2)ユーザ1108が、部屋を動き回り、その画像を捕捉するために、その頭部を回転させる必要がある、角度、および(3)ユーザ1108と、テーブル1188、主壁1180、および側壁1184との間の距離を理解することに役立つであろう。加えて、ユーザ1108の姿勢もまた、垂直表面1182および186とともに、ユーザの物理的環境1105内の他の表面を観察するとき、頭部搭載型システム1160の角度を決定する際に有用である。
630において、本方法は、表面の属性を決定する。ユーザの物理的環境1105内の各表面は、対応する属性とタグ付けおよびカテゴリ化される。いくつかの実施形態では、ユーザの物理的環境1105内の各表面はまた、対応する寸法および/または配向属性とタグ付けおよびカテゴリ化される。本情報は、少なくとも部分的に、表面の寸法属性、表面の配向属性、ユーザ1108が特定の表面から離れている距離、およびコンテンツ要素に関して表示される必要がある情報のタイプに基づいて、コンテンツ要素を表面にマッチングさせる際に有用であろう。例えば、ビデオは、小寸法を伴って離れた壁上に表示される場合、記事のテキストサイズが小さすぎてユーザが見ることができない、豊富な情報を含有し得る、ブログまたは記事より離れて示されることができる。いくつかの実施形態では、図1Bからのセンサ162は、処理するために、未加工データをCVPU164に提供し、CVPU164は、環境解析器168のためのデータを準備するために、処理されたデータを知覚フレームワーク166に提供する。環境解析器168は、知覚フレームワーク166からの環境データを解析し、環境内の表面を決定する。
640において、本方法は、抽出された要素を特定の表面にマッチング/マッピングするために合成プロセス/マッチング/マッピングルーチンによって使用されるために、表面のインベントリを非一過性記憶媒体の中に記憶する。非一過性記憶媒体は、記憶デバイス1130またはローカル記憶デバイス1140等のデータ記憶デバイスを含んでもよい。識別された表面は、下記に説明される図15に開示されるテーブル等の特定のテーブル内に記憶されてもよい。いくつかの実施形態では、識別された表面は、一過性記憶媒体内に記憶されてもよい。
図15は、いくつかの実施形態による、ユーザのローカル環境から識別された表面のインベントリを記憶する、テーブルの実施例を示す。表面テーブル1500は、周囲表面および属性プロセスを識別するステップの結果をデータベース内に記憶し得る、例示的テーブルである。表面テーブル1500は、例えば、表面ID1510と、幅1520と、高さ1530と、配向1540と、実または仮想インジケータ1550と、多重性1560と、位置1570と、ユーザ1580に対するドット積相対的表面配向とを含む、データ列を有する、ユーザの物理的環境1105内の表面についての情報を含む。表面テーブル1500は、各表面の他の属性を表す、付加的列を有してもよい。当業者は、表面テーブル1500が関係データベースまたは任意のタイプのデータベース内のテーブルであってもよいことを理解し得る。加えて、表面テーブル1500は、図4の430において表面を決定するステップの結果を記憶する、コンピュータメモリ(例えば、キャッシュ)内のアレイであってもよい。
表面テーブル1500内の行1590の各行は、ユーザの物理的環境1105からの表面またはユーザの物理的環境1105内でユーザ1108に表示され得る仮想表面に対応してもよい。表面ID1510は、一意の識別子を含有し、特定の表面(例えば、表面ID)を一意に識別する、列である。特定の表面の寸法は、幅1520および高さ1530列内に記憶される。
配向1540は、ユーザ1108に対する表面の配向(例えば、垂直、水平等)を示す、列である。実/仮想1550は、特定の表面が、頭部搭載型システム1160を使用してユーザ1108によって知覚されるようなユーザの物理的環境1105内の実表面/オブジェクト上に位置するかどうか、または特定の表面が、頭部搭載型システム1160によって生成され、ユーザの物理的環境1105内で表示されるであろう、仮想表面/オブジェクト上に位置するかどうかを示す、列である。頭部搭載型システム1160は、ユーザの物理的環境1105が、十分な表面を含有しない、マッチングスコア分析に基づいて十分に適切な表面を含有し得ない、または頭部搭載型システム1160が、ユーザ1108が表示することを所望するコンテンツの量を表示するために十分な表面を検出し得ない状況のために、仮想表面/オブジェクトを生成する必要があり得る。これらの実施形態では、頭部搭載型システム1160は、表示のために識別されたあるタイプの要素を表示するために適切な表面寸法を有し得る、既存の仮想オブジェクトのデータベースから検索してもよい。データベースは、記憶デバイス1130またはローカル記憶デバイス1140からのものであってもよい。いくつかの実施形態では、仮想表面は、ユーザの実質的に正面に作成される、またはユーザの実世界の一次視野をオクルードしないように、頭部搭載型システム1160の前方ベクトルからオフセットされる。
多重性1560は、表面/オブジェクトが要素の複数のバージョンを表示することと互換性があるかどうかを示す、列である(例えば、要素は、図12の二次タブ1250であってもよく、特定のウェブブラウザ1110に関して、1つを上回る二次(すなわち、非アクティブ)タブ(例えば、タブあたり1つのウェブページ)が存在してもよい。多重性1560列が、図12の仮想Rolodex1190に対応する1190の値を記憶する表面ID列の第4のエントリおよび図12のマルチスタック仮想オブジェクト1194に対応する1194の値を記憶する表面ID列の第5のエントリの場合のように、「多重性」の値を有する場合、本システムおよび方法は、非アクティブタブの場合のように、要素の複数のバージョンを有し得る要素が存在する場合、これらが、複数のバージョンに適応し得る表面のタイプであることを把握するであろう。
位置1570は、基準または参照点のフレームに対する物理的表面の位置を示す、列である。物理的表面の位置は、図15における位置1570の列ヘッダに示されるように、表面の中心であると事前決定されてもよい。他の実施形態では、位置は、表面の別の参照点(例えば、表面の正面、背面、上面、または底面)であると事前決定されてもよい。位置情報は、基準または参照点のあるフレームに対する物理的表面の中心からのベクトルおよび/または位置情報として表され得る。表面テーブル1500内の位置を表すために、いくつかの方法が存在し得る。例えば、表面テーブル1500内の表面ID1194に関する位置の値は、ベクトル情報および基準フレーム情報(例えば、添字「フレーム」)を例証するように要約において表される。x,y,zは、各空間寸法内の3D座標であって、フレームは、3D座標が対する基準フレームを示す。
例えば、表面ID1186は、表面1186の中心の位置が実世界原点に対して(1.3、2.3、1.3)であることを示す。別の実施例として、表面ID1192は、表面1192の中心の位置がユーザ基準フレームに対して(x,y,z)であることを示し、表面ID1190は、表面1190の中心の位置が別の表面1182に対して(x,y,z)であることを示す。基準フレームは、現在使用されている基準フレームを明確にするために重要である。基準フレームとしての実世界原点の場合、これは、概して、静的基準フレームである。しかしながら、基準フレームがユーザ基準フレームである、他の実施形態では、ユーザは、基準フレームを移動させ得、その場合、平面(またはベクトル情報)は、ユーザが移動する場合、ユーザに伴って移動および変化され得、ユーザ基準フレームが、基準フレームとして使用される。いくつかの実施形態では、表面毎の基準フレームは、同一(例えば、ユーザ基準フレーム)であってもよい。他の実施形態では、表面テーブル1500内に記憶される表面に関する基準フレームは、表面(例えば、ユーザ基準フレーム、世界基準フレーム、部屋内の別の表面またはオブジェクト等)に応じて、異なってもよい。
本実施例では、表面テーブル1500内に記憶される値は、図12のユーザの物理的環境1105内で識別された物理的表面(例えば、垂直表面1182および1186および水平表面1192)および仮想表面(例えば、仮想Rolodex1190およびマルチスタック仮想オブジェクト1194)を含有する。例えば、本実施形態では、表面ID1510列の第1のエントリは、図12の垂直表面1182に対応する表面ID1182の値を記憶する。幅1520列内の幅値および高さ1530列内の高さ値は、垂直表面1182の幅および高さに対応し、それぞれ、垂直表面1182が48インチ(W)×36インチ(H)の寸法を有することを示す。同様に、配向1540列内の配向値は、垂直表面1182が「垂直」の配向を有することを示す。加えて、実/仮想1550列内の実/仮想値は、垂直表面1182が「R」(例えば、実)表面であることを示す。多重性1560列内の多重性値は、垂直表面1182が「単一」(例えば、単一コンテンツのみを保持することができる)ことを示す。最後に、1570列内の位置は、(2.5、2.3、1.2)userのベクトル情報を用いて、ユーザ1108に対する垂直表面1182の位置を示す。
表面テーブル1500内の残りの行は、ユーザの物理的環境1105内の残りの表面に関する情報を含有する。当業者は、図4の430において表面を決定するステップの結果を記憶することが、いったん本分析が周囲表面上で実施されると、別のユーザまたは同一ユーザ1108が同一物理的環境1105内に存在するが、異なるコンテンツに関心がある場合のユーザの周囲表面の将来的分析のために、頭部搭載型システム1160によって留保され得るため、コンピュータ自体の機能を改良することを理解し得る。430において表面を決定するための処理ステップは、これらの処理ステップが以前にすでに完了されているため、回避されてもよい。唯一の差異として、少なくとも部分的に、異なるコンテンツを伴う要素を識別する要素テーブル1400に基づいて、利用可能な付加的または異なる仮想オブジェクトを識別するステップを含んでもよい。
いくつかの実施形態では、表面テーブル1500は、記憶デバイス1130内に記憶される。他の実施形態では、表面テーブル1500は、最近視認されたコンテンツへの迅速アクセスのために、または最近視認されたコンテンツへの可能性として考えられる再訪問のために、ユーザ1108のローカル記憶デバイス1140内に記憶される。さらに他の実施形態では、表面テーブル1500は、ユーザ1108から遠隔に位置する記憶デバイス1130およびユーザ1108のローカルに位置するローカル記憶デバイス1140の両方に記憶されてもよい。
図4に戻ると、本方法は、440において、420においてコンテンツ内のコンテンツ要素を識別するステップから識別されたコンテンツ要素および430において表面を決定するステップから決定された表面の組み合わせを使用して、いくつかの実施形態では、付加的表面としての仮想オブジェクトを使用して、コンテンツ要素を表面にマッチングさせるステップを継続する。コンテンツ要素を表面にマッチングさせるステップは、複数の要因を伴ってもよく、そのうちのいくつかは、上記に議論される例示的HTMLページ解析器等のHTMLページ解析器を使用することによって、コンテンツ設計者によって定義されたHTMLタグ要素を介してコンテンツ設計者によって提供されるヒントを分析するステップを含んでもよい。他の要因は、ARブラウザ、ARインターフェース、および/またはクラウド記憶装置によって提供されるようなあるコンテンツにマッチング/マッピングすべき方法および場所の事前に定義されたルールのセットから選択するステップを含んでもよい。
図7Aを簡単に参照すると、これは、いくつかの実施形態による、コンテンツ要素を表面にマッチングさせるための方法を図示する、フロー図を描写する。710において、本方法は、識別されたコンテンツ要素がコンテンツ設計者によって提供されるヒントを含有するかどうかを決定する。コンテンツ設計者は、コンテンツ要素を最良に表示するための場所に関するヒントを提供してもよい。例えば、図12の主ビデオ1220は、アクティブタブ1260内のウェブページ上に表示されるビデオであってもよい。コンテンツ設計者は、ヒントを提供し、主ビデオ1220がユーザ1108の直接ビュー内の平坦垂直表面上に最良に表示されることを示してもよい。
いくつかの実施形態では、ウェブリンクに関する3Dプレビューは、新しいHTMLタグおよびウェブページに関連付けられたプロパティのセットとして表され得る。図16は、いくつかの実施形態による、ウェブリンクに関する例示的3Dプレビューを示す。コンテンツ設計者は、新しいHTMLプロパティを使用して、レンダリングされるための関連付けられた3Dプレビューを有するウェブリンクを規定してもよい。随意に、コンテンツ設計者/ウェブ開発者は、3Dウェブプレビューをレンダリングするために使用されるための3Dモデルを規定してもよい。コンテンツ設計者/ウェブ開発者が、ウェブプレビューをレンダリングするために使用されるための3Dモデルを規定する場合、ウェブコンテンツ画像は、3Dモデルに対するテクスチャとして使用されてもよい。ウェブページは、受信されてもよい。あるリンクタグに関して規定されたプレビュープロパティが存在する場合、第1のレベルのウェブページ(例えば、第1のページ上に直接リンクされる、ウェブページ)が、読み出されてもよく、プレビュープロパティに基づいて、3Dプレビューが、生成され、コンテンツ設計者によって規定された3Dモデルまたはデフォルト3Dモデル(例えば、球体1610a)上にロードされてもよい。3Dプレビューは、ウェブリンクに関して説明されるが、3Dプレビューは、他のコンテンツタイプのために使用されてもよく、それ自体の解析およびマッチングされた属性プロファイルに従って、初期コンテンツから別個に現れてもよい。当業者は、コンテンツ設計者が、特定のコンテンツ要素が本明細書に開示されたもの以外の3D環境内に設置されるべき場所に関するヒントを提供し得る、多くの他の方法が存在し、これらが、コンテンツ設計者が、ウェブページのコンテンツのあるまたは全てのコンテンツ要素を表示するためのヒントを提供し得る、異なる方法のいくつかの実施例であることを理解し得る。
別の実施形態では、タグ規格(例えば、HTMLタグ規格)は、新しいタグ(例えば、HTMLタグ)または上記に議論されるコンテンツ設計者によって提供される例示的ウェブページ内等にヒントを提供するための類似マークアップ言語の作成を含んでもよい。タグ規格が、これらのタイプの付加的タグを含む場合、本方法およびシステムのある実施形態は、これらのタグを活用し、さらに、識別されたコンテンツ要素と識別された表面のマッチング/マッピングを提供するであろう。
例えば、ウェブコンポーネントのセットが、コンテンツ設計者/ウェブ開発者が、ウェブページの要素を作成するために使用するための新しいHTMLタグとしてエクスポーズされてもよく、これは、2Dウェブページから突出する3Dボリュームまたは2Dウェブページの中にエッチングされる3Dボリュームとして現れるであろう。図17は、ウェブページ(例えば、1710)の中にエッチングされる3Dボリュームを有する、ウェブページの実施例を示す。これらの3Dボリュームは、ウェブ制御(例えば、ボタン、ハンドル、ジョイスティック)を含んでもよく、これは、ウェブページ上に設置され、ユーザが、ウェブ制御を操作し、ウェブページ内に表示されるコンテンツを操作することを可能にするであろう、またはウェブコンポーネント自体に関連する付加的コンテンツのビューであってもよい。当業者は、コンテンツ要素が3D環境内に最良に表示されるべき方法に関するヒントをさらに提供するために修正または採用され得る、HTML以外の多くの他の言語が存在し、新しいHTMLタグ規格が、単に、そのような目標を達成するための1つの方法であることを理解し得る。
720において、本方法は、コンテンツ設計者によって提供されるヒントを使用すべきか、またはコンテンツ要素を表面にマッチング/マッピングするための事前に定義されたルールのセットを使用すべきであるかどうかを決定する。730において、コンテンツ設計者によって提供されるヒントを使用することが進めるべき方法であると決定される場合、本システムおよび方法は、ヒントを分析し、少なくとも部分的に、ヒント(例えば、図15の表面テーブル1500にクエリする)に基づいて特定のコンテンツ要素を表示するために使用され得る識別された周囲表面を含む、論理構造を検索する。
740において、本システムおよび方法は、最良適合アルゴリズムを起動し、提供されるヒントに基づいて、特定のコンテンツ要素に関する最良適合表面を選定する。最良適合アルゴリズム、例えば、特定のコンテンツ要素に関するヒントを得て、環境内のユーザ1108に対する正面および中心である表面を識別することを試み得る。例えば、図12の主ビデオ1220は、主ビデオ1220が、アクティブタブ1260内の図14Aの要素テーブル1400の選好属性1420列内の「主」の選好値を有し、垂直表面1182が、ユーザ1108の直接ビュー内の表面であって、主ビデオ1220を表示するための最適サイズ寸法を有するため、垂直表面1182にマッチング/マッピングされる。
750において、本システムおよび方法は、コンテンツ要素と表面のマッチングを有する、マッチング結果を記憶する。テーブルは、ディスプレイアルゴリズムによって使用され、コンテンツ要素をそのそれぞれのマッチング/マッピングされた表面上に表示するために、非一過性記憶媒体内に記憶されてもよい。非一過性記憶媒体は、記憶デバイス1130またはローカル記憶デバイス1140等のデータ記憶デバイスを含んでもよい。マッチング結果は、下記の図18に開示されるテーブル等の特定のテーブル内に記憶されてもよい。
図18は、いくつかの実施形態による、コンテンツ要素と表面のマッチングを記憶するためのテーブルの実施例を示す。マッチング/マッピングテーブル1800は、コンテンツ要素と表面をマッチングさせるプロセスの結果をデータベースの中に記憶する、例示的テーブルである。マッチング/マッピングテーブル1800は、例えば、コンテンツ要素(例えば、要素ID)およびコンテンツ要素がマッチング/マッピングされた表面(例えば、表面ID)についての情報を含む。当業者は、マッチング/マッピングテーブル1800が、関係データベースまたは任意のタイプのデータベースまたは記憶媒体内に記憶されるテーブルであってもよいことを理解し得る。加えて、マッチング/マッピングテーブル1800は、図4の440においてコンテンツ要素を表面にマッチングさせるステップの結果を含有する、コンピュータメモリ(例えば、キャッシュ)内のアレイであってもよい。
マッチング/マッピングテーブル1800の各行は、ユーザの物理的環境1105内の1つ以上の表面またはユーザ1108に表示される仮想表面/オブジェクトのいずれかにマッチングされるコンテンツ要素に対応し、仮想表面/オブジェクトは、ユーザの物理的環境1105内の表面/オブジェクトであるように現れる。例えば、本実施形態では、要素ID列の第1のエントリは、主ビデオ1220に対応する要素ID1220の値を記憶する。主ビデオ1220に対応する表面ID列内の表面ID値は、垂直表面1182に対応する1182である。このように、主ビデオ1220は、垂直表面1182にマッチング/マッピングされる。同様に、ユーザコメント1230は、水平表面1192にマッチング/マッピングされ、提案されるビデオ1240は、垂直表面1186にマッチング/マッピングされ、二次タブ1250は、仮想Rolodex1190にマッチング/マッピングされる。マッチング/マッピングテーブル1800内の要素IDは、図14Aの要素テーブル1400内に記憶される要素IDに関連付けられてもよい。マッチング/マッピングテーブル1800内の表面IDは、図15の表面テーブル1500内に記憶される表面IDに関連付けられてもよい。
図7Aに戻ると、760において、所定のルールを使用することが進めるべき方法であると決定されたと仮定すると、本方法は、コンテンツ要素と表面のマッチング/マッピングルールを含有するデータベースにクエリし、ウェブページ内の特定のコンテンツ要素に関して、コンテンツ要素をマッチング/マッピングするために検討されるべき表面のタイプを決定する。例えば、図12からの主ビデオ1220に関して返されるルールは、主ビデオ1220が垂直表面にマッチング/マッピングされるべきであることを示し得、したがって、表面テーブル1500を検索後、複数の候補表面が、明らかにされる(例えば、垂直表面1182および1186および仮想Rolodex1190)。770において、事前に定義されたルールのセットは、最良適合アルゴリズムを起動し、利用可能な候補表面から、これは、本主ビデオ1220のための最良適合である、表面を選定し得る。少なくとも部分的に、最良適合アルゴリズムに基づいて、候補表面の全てのうち、垂直表面1182が、ユーザ1108の直接通視線内にある表面であって、垂直表面1182が、ビデオを表示するために最良寸法を有するため、主ビデオ1220が垂直表面1182にマッチング/マッピングされるべきであると決定される。いったん1つ以上の要素のマッチング/マッピングが、750において決定されると、本方法は、上記に説明されるように、要素と表面テーブルのマッチング/マッピング内のコンテンツ要素に関するマッチング/マッピング結果を非一過性記憶媒体内に記憶する。
図4に戻ると、本方法は、450において、コンテンツ要素を仮想コンテンツとしてマッチングされた表面上にレンダリングするステップを継続する。頭部搭載型システム1160は、情報を表示するためのミニプロジェクタ(図示せず)等の1つ以上のディスプレイデバイスを頭部搭載型システム1160内に含んでもよい。1つ以上の要素は、440においてマッチングされたような個別のマッチングされた表面上に表示される。頭部搭載型システム1160を使用して、ユーザ1108は、個別のマッチング/マッピングされた表面上のコンテンツを見るであろう。当業者は、コンテンツ要素が、種々の表面(物理的または仮想)上に物理的に取り付けられるように現れるように表示されるが、現実には、コンテンツ要素は、実際に、ユーザ1108によって知覚されるような物理的表面上に投影され、仮想オブジェクトの場合、仮想オブジェクトは、仮想オブジェクトの個別の表面上に取り付けられるように現れるように表示されることを理解し得る。当業者は、ユーザ1108が、その頭部を方向転換させる、または上下を見るとき、頭部搭載型システム1160内のディスプレイデバイスが、コンテンツ要素をその個別の表面に添着されたまま保ち続け、さらに、コンテンツが、マッチング/マッピングされた表面に添着されているという知覚をユーザ1108に提供し得ることを理解し得る。他の実施形態では、ユーザ1108は、ユーザ1108の頭部、手、眼、または音声によって行われる運動によって、ユーザの物理的環境1105のコンテンツを変化させ得る。
(アプリケーション)
図19は、いくつかの実施形態による、表面にマッチングされたコンテンツ要素を含む、環境1900の実施例を示す。
本実施例に関して図4を簡単に参照すると、解析器115が、コンテンツ110をアプリケーションから受信する410。解析器115は、コンテンツ110内のコンテンツ要素を識別する420。本実施例では、解析器115は、ビデオパネル1902、ハイライトパネル1904、リプレー1906、グラフィック統計1908、テキスト統計1910、およびソーシャルメディアニュースフィード1912を識別する。
環境解析器168は、環境内の表面を決定する430。本実施例では、環境解析器168は、第1の垂直表面1932、第2の垂直表面1934、第1のオットマンの上部1936、第2のオットマンの上部1938、および第2のオットマンの正面1940を決定する。環境解析器168は、環境内の付加的表面を決定してもよい。しかしながら、本実施例では、付加的表面は、標識されない。いくつかの実施形態では、環境解析器168は、環境内の表面を持続的に決定する430。いくつかの実施形態では、環境解析器168は、解析器115がコンテンツ110を受信し410、および/またはコンテンツ110内のコンテンツ要素を識別する420につれて環境内の表面を決定する430。
マッチングモジュール142は、コンテンツ要素の属性および表面の属性に基づいて、コンテンツ要素を表面にマッチングさせる440。本実施例では、マッチングモジュール142は、ビデオパネル1902を第1の垂直表面1932に、ハイライトパネル1904を第2の垂直表面1934に、リプレイ1906を第1のオットマンの上部1936に、グラフィック統計1908を第2のオットマンの上部1938に、テキスト統計1910を第2のオットマンの正面1940にマッチングさせる。
随意の仮想オブジェクト作成モジュール144は、コンテンツ要素を表示するための仮想オブジェクトを作成してもよい。マッチングモジュール142のマッチングプロセスの間、仮想表面は、あるコンテンツ要素を表示するための随意の表面であってもよいことが決定され得る。本実施例では、随意の仮想オブジェクト作成モジュール144は、仮想表面1942を作成する。ソーシャルメディアニュースフィード1912は、仮想表面1942にマッチングされる。レンダリングモジュール146は、コンテンツ要素をそのマッチングされた表面にレンダリングする450。結果として生じる図19は、アプリケーションを起動している頭部搭載型ディスプレイデバイスのユーザが、レンダリングモジュール146をコンテンツ要素をそのマッチングされた表面にレンダリング450後に見るであろう内容を図示する。
(動的環境)
いくつかの実施形態では、環境1900は、動的である。すなわち、環境自体が、変化しており、オブジェクトが、ユーザの視野内外に移動し、新しい表面を作成するか、またはユーザが、新しい環境に移動しながら、以前にマッチングされた表面がもはや前の合成プロセス140の結果下で適格ではないようなコンテンツ要素を受信するかのいずれかである。例えば、図19におけるように、環境1900内でバスケットボールの試合を観賞する間、ユーザは、台所に歩いて行き得る。
図20A-20Eは、ユーザ移動の関数としての環境の変化を描写するが、当業者は、以下の技法が静的ユーザを中心として変化する環境にも適用されることを理解するであろう。図20Aでは、ユーザは、本開示全体を通して説明されるような合成プロセス140後、コンテンツの空間化ディスプレイを鑑賞している。図20Bは、ユーザがその中に没入され、付加的表面がユーザに有効になり得る、より大きい環境を図示する。
ユーザが、図20Cに描写されるように、1つの部屋から別の部屋に移動するにつれて、最初に図20Aにおいて表示のためにレンダリングされたコンテンツがもはや合成プロセス140のマッチングを満たさないことが容易に明白である。いくつかの実施形態では、センサ162は、システムにユーザの環境の変化をプロンプトする。環境の変化は、深度センサデータの変化(図20Cの左側上の部屋が、コンテンツが表示のために最初にレンダリングされた図20Cの右の部屋と異なる新しい仮想メッシュ構造を生産する)、頭部姿勢データの変化(IMUが、現在の環境に関する閾値を超える運動変化を生産する、または頭部搭載型システム上のカメラが、ユーザの視野内で新しいオブジェクトの捕捉を開始する)であってもよい。いくつかの実施形態では、環境の変化は、新しい合成プロセス140を開始し、以前にマッチングされ、および/または現在レンダリングおよび表示しているコンテンツ要素に関する新しい表面を見出す。いくつかの実施形態では、時間的閾値を超える環境の変化が、新しい合成プロセス140を開始し、以前にマッチングされ、および/または現在レンダリングおよび表示しているコンテンツ要素に関する新しい表面を見出す。時間的閾値は、環境データへのわずかな中断に関する無駄なコンピューティングサイクルを排除する(単に、頭部を方向転換させ、別のユーザと話す、またはユーザがすぐに戻ってくるような環境からの短時間の退出等)。
いくつかの実施形態では、ユーザが、ある環境から別の環境に遷移するにつれて、センサ162または環境構造化プロセス160は、概して、好適な表面を見出すことができない、またはユーザによる選択または合成プロセス140および/または環境構造化プロセス160による決定に応じて、アクティブコンテンツ(図20Dに描写されるような2002等)は、中心部分における、または中心からずれた、仮想表面上等、ユーザの視野内の仮想表面上への表示に戻り得る。言い換えると、コンテンツは、もはや世界中心ではなくなり得るが、ユーザ中心となり、ユーザの視野に対して固定され得る。いくつかの実施形態では、アクティブコンテンツは、中心位置における、または中心からずれた、仮想表面上等、ユーザの視野内の仮想表面上から開始し得る。言い換えると、コンテンツは、ユーザ中心である状態として開始し、ユーザの視野に対して固定され得る。いくつかの実施形態では、コンテンツは、仮想表面上に留まり、したがって、ユーザ中心のままであり得る。いくつかの実施形態では、コンテンツは、仮想表面上にある状態から好適な表面上にある状態に遷移し、したがって、ユーザ中心から世界中心に遷移し得る。
いくつかの実施形態では、そのような仮想表面上に表示するためのトリガが、センサ162が、所与の持続時間内にある限界(例えば、閾値)を超える平行移動または回転移動を検出するときに生じる。平行移動または回転移動に対する限界は、相互に対するものであり得る、すなわち、振幅または程度における変動にかかわらず、持続時間内に持続的平行移動または回転運動が存在する。いくつかの実施形態では、限界は、ある数の最大値が持続時間内で検出される(言い換えると、ユーザが、持続的ではない場合でも、十分な数の周期的運動を持続時間内に行っている)場合、満たされ得る。いくつかの実施形態では、限界は、コンテンツが世界中心からユーザ中心に戻るであろうとき、コンテンツのタイプが決定付けるように、コンテンツ駆動であり得る。例えば、コンテンツは、コンテンツ内のあるイベントが生じる、または生じようとしているとき、ユーザ中心に戻り、ユーザがその上に合焦することを確実にするであろう、遷移属性を含み得る。
固定された視点および調節された視認表面を促進するために、アクティブコンテンツ2002の寸法または面積属性(すなわち、サイズ)が、断続ユーザ中心表示の周期の間、調節される。コンテンツ2002のサイズ属性が、最初に、解析され、表面にマッチングされ、ユーザ遷移が、好適な表面を不要にする場合、ユーザデバイスの視野の限界等のウェアラブルユーザデバイスのパラメータは、新しい「作業表面」または仮想表面サイズ限界となり、コンテンツの寸法または面積属性は、一時的に、ユーザデバイスの視野の関数に置換または調節される(例えば、寸法属性は、コンテンツの軸が、ユーザデバイスの視野の軸にマッチングする、その倍数である、またはその分数であるように、アップまたはダウンスケーリングされる)。いくつかの実施形態では、コンテンツのユーザ中心表示は、ユーザの瞳孔から測定されるような60度の扇形内で中心に位置するか、または周辺領域に対してオフセットされるかのいずれか等、ユーザの視野内に固定される。
いくつかの実施形態では、そのような仮想表面上に表示するためのトリガが、エンティティ(例えば、コンテンツ設計者)が、コンテンツ110を提供するときに生じる。エンティティは、例えば、アプリケーションであってもよい。エンティティは、コンテンツ110が、仮想表面上に表示される、したがって、ユーザ中心であるべきであることを示し得る。いくつかの実施形態では、エンティティは、コンテンツ110が、仮想表面上にのみ表示される、したがって、ユーザ中心のみであるべきであることを示し得る。いくつかの実施形態では、エンティティは、コンテンツ110が、最初に、仮想表面上に表示されるべきであって、次いで、そのような表面が、例えば、ある時間周期後に決定され、したがって、ユーザ中心である状態から世界中心である状態に遷移する場合、環境内の好適な表面上に表示され得ることを示し得る。これは、例えば、ある時間周期後、ユーザ中心から世界中心に変化するように設定される、遷移属性によって示され得る。
いくつかの実施形態では、ユーザが、図20Dの部屋2012に進入するにつれて、合成プロセス140は、部屋2014にマッチングされていたアクティブコンテンツ2002と新しい表面をマッチングさせる。いくつかの実施形態では、アクティブコンテンツ2002は、現時点で、部屋2012および2014の両方において、アクティブコンテンツであるが、部屋2012のみに表示される(図20Dにおける部屋2014内のアクティブコンテンツ2002の出現は、アクティブコンテンツ2002が依然としてレンダリングされているが、ユーザに表示されないことを描写する)。
このように、ユーザは、部屋2012と2014との間で歩行し得るが、合成プロセス140は、マッチングプロトコルを継続的に繰り返す必要はない。いくつかの実施形態では、部屋2014内のアクティブコンテンツ2002は、ユーザが部屋2012に位置する間、アイドルまたはスリープ状態に設定され、同様に、ユーザが部屋2014に戻る場合、部屋2012内のアクティブコンテンツは、アイドルまたはスリープ状態にされる。故に、ユーザは、動的にその環境を変化させるにつれて、コンテンツの消費を自動的に継続し得る。
いくつかの実施形態では、ユーザは、部屋2014内でアクティブコンテンツ2002を一時停止し、部屋2012に進入し、部屋2014内で一時停止した場所と同一相互作用点において、同一コンテンツを再開してもよい。故に、ユーザは、動的にその環境を変化させるにつれて、コンテンツの消費を自動的に再開し得る。
アイドルまたはスリープ状態は、コンテンツ要素が実施する出力の程度において特徴付けられ得る。アクティブコンテンツは、コンテンツのフレームがそのマッチングされた表面に関して継続して更新する、オーディオ出力がマッチングされた表面場所と関連付けられた仮想スピーカを継続する等のように、レンダリングされたコンテンツ要素の完全容量を有し得る。アイドルまたはスリープ状態は、本機能性のうちのいくつかを低減させ得る。いくつかの実施形態では、アイドルまたはスリープ状態のオーディオ出力は、音量を低減させる、またはミュート状態に入る。いくつかの実施形態では、レンダリングサイクルは、より少ないフレームが生成されるように減速される。そのようなより低速のフレームレートは、コンピューティングパワーを全体的に節約するが、アイドルまたはスリープ状態がアクティブ状態に戻る(ユーザがアイドルまたはスリープ状態コンテンツ要素が動作していた部屋に戻る等)場合、コンテンツ要素消費を再開する際、わずかな待ち時間を導入し得る。
図20Eは、単にアイドルまたはスリープ状態に変化せず、異なる環境内でコンテンツ要素をレンダリングすることの停止を描写する。図20Eでは、部屋2014内のアクティブコンテンツは、中止している。いくつかの実施形態では、レンダリングの中止のためのトリガは、ビデオストリームのチャンネルをバスケットボールの試合から映画に変化させる等、コンテンツ要素を1つから別のソースに変化させることである。いくつかの実施形態では、アクティブコンテンツは、いったんセンサ162が新しい環境を検出し、新しい合成プロセス140が開始すると、レンダリングを直ちに中止する。
いくつかの実施形態では、第1の場所における第1の表面上にレンダリングおよび表示されるコンテンツは、例えば、少なくとも部分的に、第1の場所から第2の場所へのユーザの移動に基づいて、一時停止され、次いで、続いて、第2の場所における第2の表面上で再開されてもよい。例えば、第1の場所(例えば、居間)における第1の表面上に表示されるコンテンツを鑑賞しているユーザが、第1の場所から第2の場所(例えば、台所)に物理的に移動し得る。第1の場所における第1の表面上のコンテンツのレンダリングおよび/または表示は、ユーザが第1の場所から第2の場所に物理的に移動したことの決定に応じて(例えば、センサ162に基づいて)、一時停止されてもよい。いったんユーザが第2の場所の中に移動すると、ARシステムのセンサ(例えば、センサ162)は、ユーザが新しい環境/場所の中に移動したことを検出し得、環境解析器168は、第2の場所における新しい表面を識別することを開始してもよく、次いで、コンテンツを第2の場所における第2の表面上で表示することを再開してもよい。いくつかの実施形態では、コンテンツは、ユーザが第1の場所から第2の場所に移動する間、第1の場所における第1の表面上にレンダリングされ続けてもよい。いったんユーザが、例えば、閾値時間周期(例えば、30秒)にわたって、第2の場所に存在すると、コンテンツは、第1の場所における第1の表面上にレンダリングされることを停止してもよく、第2の場所における第2の表面上にレンダリングされてもよい。いくつかの実施形態では、コンテンツは、第1の場所における第1の表面および第2の場所における第2の表面の両方上にレンダリングされてもよい。
いくつかの実施形態では、第1の場所における第1の表面でのコンテンツのレンダリングおよび/または表示を一時停止するステップは、ユーザが第1の場所から第2の場所に物理的に移動したことに応答して、自動で行われてもよい。ユーザの物理的移動の検出は、コンテンツの自動一時停止をトリガしてもよく、ユーザの物理的移動のトリガは、少なくとも部分的に、閾値を超える慣性測定ユニット(IMU)、またはユーザが、例えば、第1の場所と関連付けられ得る所定の面積外に移動した、または移動中であることの位置インジケーション(例えば、GPS)に基づいてもよい。コンテンツは、いったん第2の表面が、例えば、環境解析器168によって識別され、コンテンツにマッチングされると、第2の場所における第2の表面上にレンダリングおよび/または表示することを自動で再開してもよい。いくつかの実施形態では、コンテンツは、少なくとも部分的に、ユーザによる第2の表面の選択に基づいて、第2の表面上でレンダリングおよび/または表示を再開してもよい。いくつかの実施形態では、環境解析器168は、特定の時間フレーム内で(例えば、10秒毎に)リフレッシュし、ユーザの視野内の表面が変化した、および/またはユーザの物理的場所が変化したかどうかを決定してもよい。ユーザが新しい場所に移動した(例えば、ユーザが第1の場所から第2の場所に移動した)ことが決定される場合、環境解析器168は、第2の表面上でコンテンツのレンダリングおよび/または表示を再開するために、第2の場所内の新しい表面を識別することを開始してもよい。いくつかの実施形態では、第1の表面上にレンダリングおよび/または表示されるコンテンツは、単に、ユーザが視野を変化させることがあるため(例えば、ユーザが、第1の場所における別の人物を一時的に見て、例えば、会話を有する)、自動的に直ちに一時停止され得ない。いくつかの実施形態では、コンテンツのレンダリングおよび/または表示は、ユーザの変化した視野が閾値を超える場合、自動的に一時停止されてもよい。例えば、ユーザが、閾値を超える時間周期にわたって、頭部姿勢、したがって、対応する視野を変化させる場合、コンテンツの表示は、自動的に一時停止されてもよい。いくつかの実施形態では、コンテンツは、ユーザが第1の場所から離れたことに応答して、コンテンツを第1の場所における第1の表面上でレンダリングおよび/または表示することを自動で一時停止してもよく、コンテンツは、ユーザが第1の場所に物理的に(再)進入することに応答して、第1の場所における第1の表面上でのレンダリングおよび/または表示を自動で再開してもよい。
いくつかの実施形態では、ユーザおよび/またはユーザの頭部搭載型デバイスの視野が、変化するにつれて、特定の表面上のコンテンツは、ユーザの視野の変化にゆっくりと追従してもよい。例えば、コンテンツは、ユーザの直接視野内にあってもよい。ユーザが視野を変化させる場合、コンテンツは、位置を変化させ、視野変化に追従してもよい。いくつかの実施形態では、コンテンツは、変化した視野の直接視野内の表面上に直ちに表示されなくてもよい。代わりに、視野の変化に対するコンテンツの変化に若干の待ち時間が存在し得、コンテンツ場所の変化は、視野の変化にゆっくりと追従するように現れてもよい。
図20F-20Iは、特定の表面上に表示されるコンテンツがコンテンツを現在鑑賞しているユーザの視野の変化にゆっくりと追従し得る実施例を図示する。図20Fでは、ユーザ1108は、部屋内の長椅子上に着座した位置に存在し、コンテンツの空間化ディスプレイを鑑賞しており、着座位置は、例えば、主壁1180に向かって面したユーザおよび/またはユーザの頭部搭載型デバイスの第1の頭部姿勢を有する。図20Fに図示されるように、コンテンツの空間化ディスプレイは、第1の頭部姿勢を介して、主壁1180の第1の場所(例えば、長方形表面1182)に表示される。図20Gは、ユーザ1108が、長椅子上の位置を着座位置から臥位位置に変化させる様子を図示し、臥位位置は、例えば、主壁1180の代わりに、側壁1184に向かって面した第2の頭部姿勢を有する。長方形表面1182上に表示されるコンテンツは、時間閾値および/または頭部姿勢変化閾値が満たされる/超えるまで、長方形表面1182においてレンダリング/表示を継続してもよい。図20Hは、コンテンツがゆっくりとユーザに追従し得る様子を図示し、移動は、単一更新とは対照的に、側壁1185に向かって面した第2の頭部姿勢に対応する新しい場所にわずかずつの離散インクリメント位置を伴い、例えば、ユーザ1108が着座位置から臥位位置に変化した後のある時点後(例えば、ある時間閾値後)、第1の表示オプション/表面2020において表示するように現れる。第1の表示オプション/表面2020は、ユーザ1108の直接視野内で利用可能な最適表面が存在しないため、第2の頭部姿勢に対応する視野内の仮想ディスプレイ画面/表面であってもよい。図20Iは、コンテンツがまた、側壁1184の長方形表面1186において、第2の表示オプション/表面に表示され得る様子を図示する。上記に開示されるように、いくつかの実施形態では、ユーザ1108は、ユーザ1108の視野の変化に基づいて、コンテンツを表示するための表示オプション(例えば、第1の表示オプション2020または第2の長方形表面1186)を選定するための表示オプションを提供されてもよい。
いくつかの実施形態では、例えば、ユーザは、第1の視野内のユーザの真正面に表示されるコンテンツを鑑賞し得る。ユーザは、その頭部を90度左に方向転換させ、第2の視野を約30秒にわたって維持し得る。第1の視野内のユーザの真正面に表示されたコンテンツは、1回目として、第1の視野に対して第2の視野に向かって30度移動させ、ある時間閾値(例えば、5秒)が経過後、ユーザにゆっくりと追従することによって、第2の視野へとユーザにゆっくりと追従してもよい。ARシステムは、2回目として、コンテンツがここで第2の視野から30度のみ背後に表示され得るように、コンテンツをさらに30度移動させ、第2の視野へとユーザに追従してもよい。
図20J-20Nは、いくつかの実施形態による、ユーザおよび/またはユーザのデバイスの第1の視野から第2の視野へとユーザにゆっくりと追従する、コンテンツを図示する。図20Jは、表面(例えば、仮想表面または物理的環境内の実際の表面)上に表示されるコンテンツ2034を視認するユーザ2030の上面図を図示する。コンテンツ2034全体が、ユーザ2030の真正面に表示され、ユーザおよび/またはユーザのデバイスの第1の頭部姿勢位置におけるユーザ2030および/またはデバイスの第1の視野2038内に完全にあるように、ユーザ2030は、コンテンツ2034を視認する。図20Kは、実施例として、図20Jに図示される第1の頭部姿勢位置に対して約45度右(例えば、時計回り方向)に回転する、ユーザ2030の上面図を図示する。コンテンツ2034の一部(例えば、破線によって描写されるように)は、もはやユーザ2030および/またはデバイスの視野内にない一方、コンテンツ2034の一部(例えば、実線によって描写されるように)は、依然として、ユーザ2030にレンダリング/表示されている。
図20Lは、図20Jに図示される第1の頭部姿勢位置に対する右(例えば、時計回り方向)への第2の頭部姿勢位置の90度における回転の完了時のユーザ2030の上面図を図示する。コンテンツ2034は、コンテンツ2034が完全にユーザ2030および/またはデバイスの視野2038外にあるため、もはやユーザ2030に可視ではない(例えば、コンテンツ2034の周囲の破線によって描写されるように)。コンテンツ2034もまた、ゆっくりと移動したことに留意されたい。ゆっくりとした移動は、コンテンツ2034が、図20J/20Kに図示されるそのオリジナル位置から移動し、第2の頭部姿勢位置に追いつき得る時間およびその量に関して、待ち時間と相関する。
図20Mは、コンテンツ2034の一部が第2の頭部姿勢位置におけるユーザ2030および/またはデバイスの視野2038内にあるように(例えば、コンテンツ2034の一部を包含する実線によって描写されるように)、コンテンツ2034がゆっくりと移動し、新しい位置に表示される様子を図示する。図20Nは、コンテンツ2034が、そのゆっくりとした移動を完了し、ユーザの第2の頭部姿勢位置に完全に追い付いた様子を図示する。コンテンツ2034は、コンテンツ2034全体を包含する実線によって示されるように、完全にユーザ2030および/またはデバイスの視野2038内にある。当業者は、ユーザが、視野を第1の視野からコンテンツがもはや視認可能ではない第2の視野に変化させたが、ユーザが、コンテンツが直接第2の視野内に表示されることを所望しない場合があることを理解し得る。代わりに、ユーザは、例えば、システムが、ユーザに、ユーザが、コンテンツがユーザの第2の視野に対してユーザの真正面に表示されることを所望するかどうかを選定するようにプロンプトするまで、ユーザの真正面に表示されずに、コンテンツを第2の視野(例えば、新しい視野)へとユーザにゆっくりと追従させる、またはユーザがユーザに視認可能に周辺に表示されるコンテンツと関わるまで、単に、コンテンツをユーザに視認可能に周辺に表示させたままにすることを所望し得る。言い換えると、いくつかの実施形態では、コンテンツ/要素を1つ以上の表面上に表示するステップは、第1の視野から第2の視野へのユーザの視野の変化に応答して移動されてもよく、コンテンツ/要素は、第1の視野から第2の視野へのユーザの視野の変化にゆっくりと追従する。さらに、いくつかの実施形態では、コンテンツは、コンテンツを第2の視野の真正面に移動させるためのユーザから受信された確認に応じてのみ、第2の視野の真正面に移動してもよい。
いくつかの実施形態では、ユーザの頭部姿勢位置の変化に続く、コンテンツ2034等のコンテンツの速度は、頭部姿勢速度の90%である。いくつかの実施形態では、追従速度は、50%も低くなる。追従速度を規定する際に考慮すべき要因は、所与の時間周期内の変化の量を含み得る。例えば、ユーザが、頭部姿勢を前後に迅速に変化させている場合、追従速度は、同様に前後にやみくもにバウンスしないように、頭部姿勢速度の10%であり得る。いくつかの実施形態では、回転速度は、追従速度を決定付ける。生理学的限界は、あるサッカード速度(眼が移動する速度)における有効な視覚的観察を妨げる。いくつかの実施形態では、追従速度は、ユーザデバイス上のセンサ様IMUによって測定されるような回転速度が第1の閾値を下回る場合、第1の追従速度(頭部姿勢速度の70%等)であって、ユーザデバイス上のセンサ様IMUによって測定されるような回転速度が第2の閾値を下回る場合、第2の追従速度(50%または90%等)であり得る。いくつかの実施形態では、追従速度は、回転速度が、ユーザがコンテンツを事実上いかようにも視認することができないほど高すぎる場合、非観察可能なコンテンツのためのレンダリングサイクルを節約するために、より低くなる(例えば、50%)。いくつかの実施形態では、追従速度は、頭部姿勢が最終位置に到達するとき、コンテンツが、ユーザを近似的に追跡しているため、最終位置にすでに近づいており、ユーザにより迅速に「追い付き」、観察を再開するように、より高くなる(例えば、90%)。
図20N-1および20N-2は、上記の図20F-Nに説明される追従プロトコルの修正を描写する。図20N-1は、例証的目的のためだけに視野の左部分上に配置される、コンテンツ20010-1を伴う表示を通した第1の視野20010を描写する。いくつかの実施形態では、コンテンツ20010-1は、視野20010の中心にある。ユーザが配向を視野20020に移動させることに応じて、コンテンツ20010-1は、経路20000を介して、20020-1へのそのような配向の変化に追従する。
図20N-2は、経路20000に沿った20020-1へのコンテンツ20010-1の遷移をより詳細に描写する。いくつかの実施形態では、コンテンツ20010-1(A-1として示される)は、経路20000に基づいて、遷移配向に視野内で再配向される。例えば、再配向は、ユーザが経路20000または経路20000のサイズに沿って移動する、速度に基づいてもよい。
いくつかの実施形態では、(経路20000の移動に沿って測定されるような)コンテンツの前縁は、後縁に対してユーザからz-方向にさらに離れるように偏移し、後縁が位置A-2に伴う、均一深度に徐々に戻り、そこで、後縁が、A-3のように、ユーザに対してユーザからさらに離れるように遷移し始める。
いくつかの実施形態では、図20N-1および20N-2に説明されるような配向偏移は、図20F-Nの「遅延追従」のものと組み合わせられ、ユーザの配向変化に追従するコンテンツの「ソフトロック」効果を作成する。
いくつかの実施形態では、ユーザは、(a)ARシステムを介してユーザに表示される抽出されたコンテンツ要素を視認し、(b)抽出されたコンテンツ要素と相互作用してもよい。いくつかの実施形態では、ユーザは、抽出されたコンテンツ内に表示されるアイテム/サービスを購入することによって、抽出されたコンテンツと相互作用してもよい。いくつかの実施形態では、2Dウェブページと相互作用するユーザによって行われるオンライン購入と同様に、ARシステムは、ユーザが、ARシステム内の表面および/または仮想オブジェクト(例えば、プリズムまたは仮想ディスプレイ画面)上に表示される抽出されたコンテンツと相互作用し、実施例として、ARシステムの表面および/または仮想オブジェクト上に表示される抽出されたコンテンツ内に提示されるアイテムおよび/またはサービスの電子購入を行うことを可能にし得る。
いくつかの実施形態では、ユーザは、表示されるコンテンツ要素内のアイテムをさらに選択し、選択されたアイテムをユーザの物理的環境内の異なる表面および/または異なる仮想オブジェクト(例えば、プリズム)上に設置することによって、抽出されたコンテンツ要素と相互作用してもよい。例えば、ユーザは、実施例として、(a)トーテムを用いて、ギャラリー内のコンテンツ要素を標的化し、(b)トーテム上のトリガを押下し、コンテンツ要素を選択し、ある時間周期(例えば、約1秒)にわたって保持し、(c)トーテムをユーザの物理的環境内の所望の場所に移動させ、および(d)トーテム上のトリガを押下し、コンテンツ要素を所望の場所に設置し、コンテンツ要素のコピーが所望の場所にロードおよび表示されることによって、画像、ビデオ、および/またはモデル等のコンテンツ要素をギャラリーから抽出してもよい。いくつかの実施形態では、コンテンツ要素のプレビューが、視覚的フィードバックとして、ユーザが、コンテンツ要素を選択し、ある時間周期にわたってトリガを保持する結果として、作成および表示され、コンテンツのプレビューは、コンテンツ要素の場所において使用するためのコンテンツ要素の完全分解能バージョンを作成するステップがリソース集約的であり得るため、作成される。いくつかの実施形態では、コンテンツ要素は、ユーザが抽出されたコンテンツ要素をユーザの物理的環境内の所望の場所に設置するにつれて、全体として、視覚的フィードバックのためにコピー/抽出および表示される。
図20Oは、抽出されたコンテンツを視認し、抽出されたコンテンツ2050および2054と相互作用するユーザの実施例を図示する。ユーザ2040は、センサ1162が抽出されたコンテンツを表示するために好適な表示表面を検出することが不可能であったため(例えば、本棚のため)、抽出されたコンテンツ2044a-2044dを仮想表示表面上で視認してもよい。代わりに、抽出されたコンテンツ2044a-dは、複数の仮想表示表面/画面上に表示される。抽出されたコンテンツ2044aは、オーディオヘッドホンを販売するオンラインウェブサイトである。抽出されたコンテンツ2044bは、運動靴を販売するオンラインウェブサイトである。抽出されたコンテンツ2044c/2044dは、家具を販売するオンライン家具ウェブサイトである。抽出されたコンテンツ2044dは、抽出されたコンテンツ2044cから表示される特定のアイテム(例えば、椅子2054)の詳細図を含んでもよい。ユーザ2040は、特定のアイテムを表示される抽出されたコンテンツから選定し、抽出されたアイテムをユーザの物理的環境(例えば、椅子2054)内に設置することによって、抽出されたコンテンツと相互作用してもよい。いくつかの実施形態では、ユーザ2040は、抽出されたコンテンツに表示される特定のアイテム(例えば、運動靴2050)を購入することによって、抽出されたコンテンツと相互作用してもよい。
図20Oに描写されるように、第1のコンテンツ表示は、付加的な抽出されたコンテンツの表示に拍車をかけ得る。いくつかの実施形態では、抽出されたコンテンツ2044cが、最初に、表示され、次いで、2044c内の関連コンテンツがさらに、ユーザがそのようなコンテンツを表示するために別個のウィンドウを明示的に開くことなく、関連する抽出されたコンテンツ2044dのカスケードビュー等、近接して表示され得る。言い換えると、抽出されたコンテンツ2044cが、表示され得、リンクまたは画像等の2044c内のアクティブコンテンツが、抽出されたコンテンツ2044cと空間関係において表示され得る。いくつかの実施形態では、関連する抽出されたコンテンツ(例えば、関連する抽出されたコンテンツ2044d)が、ある仮想表面上に表示され、抽出されたコンテンツ2044cの少なくとも1つの属性を関連する抽出されたコンテンツ2044dの属性の中に課す、プロキシ属性プロファイルを与えられる。例えば、関連する抽出されたコンテンツ2044dは、その独自の表面または仮想表面配向に対して解析されるのとは対照的に、抽出されたコンテンツ2044cと共通配向を与えられてもよい。いくつかの実施形態では、関連する抽出されたコンテンツ2044dは、抽出されたコンテンツ2044cの属性から独立して、その独自の属性に基づいて、解析およびマッチングされる。
いくつかの実施形態では、初期コンテンツに対する関連コンテンツの表示は、自動であって、第1の関係層に対してのみ継続する(関連コンテンツは、初期コンテンツ内に現れるもののみであることを意味する)。いくつかの実施形態では、関連コンテンツは、初期コンテンツの共通属性を伴って表示されてもよい、またはその独自の解析およびマッチングされた属性を伴って表示されてもよい。いくつかの実施形態では、関連コンテンツの表示は、関連コンテンツに関連するコンテンツの表示等、付加的層を含む。そのような付加的層は、初期コンテンツまたは第1の関連コンテンツの共通属性を伴って表示されてもよい、またはその独自の解析およびマッチングされた属性を伴って表示されてもよい。いくつかの実施形態では、初期コンテンツから除去された付加的層は、関係属性内に反映されてもよい。関係属性は、そのコンテンツの表示を層の反転に対応するサイズにスケーリングさせてもよい(例えば、初期コンテンツから除去された3つの層である、コンテンツは、初期コンテンツの3分の1のサイズとして表示されてもよい)。関係属性は、関連コンテンツの各層が、初期コンテンツからのその関連コンテンツの減衰を示すために、x、y、またはz寸法において、初期コンテンツからある相対的位置にレンダリングおよび表示されるように、位置関係を生じさせてもよい。
いくつかの実施形態では、関連コンテンツの表示は、初期コンテンツの表示とともに持続する、またはユーザが、プレビュー機能を選択する、または初期コンテンツに注意を向ける(頭部姿勢、眼視線、手のジェスチャ、および/またはコントローラ配向等によって)場合のみ現れてもよい。
図21は、そのような環境変化の間のオーディオ遷移を図示する。部屋2014内のアクティブコンテンツは、例えば、空間化オーディオをユーザに部屋2014内のコンテンツ要素と関連付けられた場所から送達する、仮想スピーカ2122を有してもよい。ユーザが、部屋2012に遷移するにつれて、仮想スピーカは、オーディオをユーザの頭部の中心における仮想スピーカ2124に位置付け、指向することによって、ユーザに追従し得(従来のヘッドホンとほぼ同一方法)、仮想スピーカ2122からのオーディオ再生を中止する。合成プロセス140が、コンテンツ要素を部屋2012内の表面にマッチングさせるにつれて、オーディオ出力は、仮想スピーカ2124から仮想スピーカ2126に偏移し得る。オーディオ出力は、この場合、環境遷移の間、コンテンツ要素、少なくともオーディオ出力成分の一定消費を維持する。いくつかの実施形態では、オーディオコンポーネントは、常時、ユーザの頭部の中心における仮想スピーカであって、空間化オーディオ仮想スピーカの位置を調節する必要性を省く。
(システムアーキテクチャ概要)
図22は、本開示の実施形態を実装するために好適な例証的コンピューティングシステム2200のブロック図である。コンピューティングシステム2200は、プロセッサ2207、システムメモリ2208(例えば、RAM)、静的記憶デバイス2209(例えば、ROM)、ディスクドライブ2210(例えば、磁気または光学)、通信インターフェース2214(例えば、モデムまたはEthernet(登録商標)カード)、ディスプレイ2211(例えば、CRTまたはLCD)、入力デバイス2212(例えば、キーボードおよびマウス)等のサブシステムおよびデバイスを相互接続する、情報を通信するためのバス2206または他の通信機構を含む。
本開示の一実施形態によると、コンピューティングシステム2200は、プロセッサ2207がシステムメモリ2208内に含有される1つ以上の命令の1つ以上のシーケンスを実行することによって、具体的動作を実施する。そのような命令は、システムメモリ2208中に、静的記憶デバイス2209またはディスクドライブ2210等の別のコンピュータ可読/使用可能媒体から読み取られてもよい。代替実施形態では、有線回路が、ソフトウェア命令の代わりに、またはそれと組み合わせて使用され、本開示を実装してもよい。したがって、本開示の実施形態は、ハードウェア回路および/またはソフトウェアの任意の具体的組み合わせに限定されない。一実施形態では、用語「論理」は、本開示の全部または一部を実装するために使用される、ソフトウェアまたはハードウェアの任意の組み合わせを意味するものとする。
用語「コンピュータ可読媒体」または「コンピュータ使用可能媒体」は、本明細書で使用されるように、実行のための命令をプロセッサ2207に提供することに関わる、任意の媒体を指す。そのような媒体は、限定ではないが、不揮発性媒体および揮発性媒体を含む、多くの形態をとってもよい。不揮発性媒体は、例えば、ディスクドライブ2210等の光学または磁気ディスクを含む。揮発性媒体は、システムメモリ2208等の動的メモリを含む。
共通形態のコンピュータ可読媒体は、例えば、フロッピー(登録商標)ディスク、フレキシブルディスク、ハードディスク、磁気テープ、任意の他の磁気媒体、CD-ROM、任意の他の光学媒体、パンチカード、紙テープ、孔のパターンを伴う任意の他の物理的媒体、RAM、PROM、EPROM、フラッシュ-EPROM、任意の他のメモリチップまたはカートリッジ、またはそこからコンピュータが読み取ることができる任意の他の媒体を含む。
本開示のある実施形態では、本開示を実践するための命令のシーケンスの実行は、単一コンピューティングシステム2200によって実施される。本開示の他の実施形態によると、通信リンク2215(例えば、LAN、PTSN、または無線ネットワーク)によって結合される2つ以上のコンピューティングシステム2200は、相互に協調して、本開示を実践するために要求される命令のシーケンスを実施してもよい。
コンピューティングシステム2200は、通信リンク2215および通信インターフェース2214を通して、プログラム(すなわち、アプリケーションコード)を含む、メッセージ、データ、および命令を伝送および受信してもよい。受信されたプログラムコードは、受信されるにつれて、プロセッサ2207によって実行され、および/または後の実行のために、ディスクドライブ2210または他の不揮発性記憶装置内に記憶されてもよい。コンピューティングシステム2200は、データインターフェース2233を通して、外部記憶デバイス2231上のデータベース2232と通信してもよい。
図23は、いくつかの実施形態による、コンテンツの表示をユーザ視野中心モードに調節するための方法2300を描写する。方法2300は、2310から開始し、コンテンツが、第1の表面上でユーザに表示される。そのような第1の表面は、仮想表面または物理的表面であってもよい。2320において、システムが、コンテンツを調節するためのトリガイベントを検出する。いくつかの実施形態では、トリガイベントは、ユーザまたはユーザデバイスの運動である。ユーザが移動するにつれて、本明細書に説明されるシステムのセンサ(例えば、センサ162)が、2320において、ある持続時間内の平行移動または回転方向における持続的または連続的運動、またはある持続時間内の少なくとも1つの振幅変動のいずれかとして、運動を検出する。いくつかの実施形態では、トリガは、コンテンツ駆動であって、コンテンツの属性によって提供される。トリガの検出に続いて、2330において、コンテンツの表示が、ユーザの視野内のユーザ中心仮想表面に調節される。
前述の明細書では、本開示は、その具体的実施形態を参照して説明された。しかしながら、本開示のより広範な精神および範囲から逸脱することなく、種々の修正および変更がそこに行われてもよいことが明白であろう。例えば、上記に説明されるプロセスフローは、プロセスアクションの特定の順序を参照して説明される。しかしながら、説明されるプロセスアクションの多くの順序は、本開示の範囲または動作に影響を及ぼすことなく、変更されてもよい。明細書および図面は、故に、限定的意味ではなく、例証的意味と見なされるべきである。