添付の図面に例が示されている実施形態をここで以下に詳細に参照する。以下の詳細説明では、多数の特定の詳細が本明細書に示す主題の十分な理解を提供するために示されている。しかし、本発明の主題はそれらの特定の詳細なしに実施することができることは当業者に明らかであろう。同じく、本明細書に説明する特定の実施形態は、例示によって提供され、特定の実施形態の範囲を制限するのに使用すべきではない。他の事例では、既知のデータ構造、タイミングプロトコル、ソフトウエア作動、手順、及び構成要素は、本明細書の実施形態の態様を不要に曖昧にしないために詳しく説明していない。
概要
3次元仮想現実及び拡張現実を最新のコンピュータ技術を使用して作成することができる。ユーザは、各々がそれぞれの眼に向けられた2つの画像を受け入れるためにヘッドセットデバイスを装着することができ、3次元空間及び深度の錯覚を作り出すことができる。これに加えて又はこれに代えて、ある一定の実施形態は、ユーザからの対話に応答して表示を移動することができ、例えば、ユーザがユーザの頭を移動しているとヘッドセットのセンサが決定した場合に、ディスプレイが動きに協働するように変えられる。従って、ユーザは、ユーザが仮想コンピュータ発生又は拡張された空間に実際にいるように感じることができる。
仮想現実とは、全てコンピュータで発生されたユーザに提示されている画像を指すことができる。一部の例では、ユーザがユーザの頭を移動した時に、仮想現実ディスプレイは、ユーザが別の場所、すなわち、様々なセンサを使用して対話することができる仮想現実の場所にいるという印象を与えるために連動して動く。一部の実施形態では、記録することができる又はライブ又はライブ条件に近い別の場所の画像をカメラでユーザに提示することができる。ユーザは、ディスプレイに置かれた拡張現実特徴によって表されるのと同じ方式で対話することができる。例えば、ユタのユーザは、ユーザがフロリダの野球の試合にいるように感じるために仮想現実ヘッドセットを装着することができる。ユーザは、ユーザの頭を移動して様々な角度を向くことができ、ユーザが現実にフロリダにいるようにフィールドの様々な部分を見ることができる。ゲームの統計データ、早期のアクションのリプレイ、又はゲーム中にコメントするアナウンサー及び評論家を見るためにユーザが見ている画像にコンピュータ発生項目又は表示を重ねることができる。
拡張現実は、追加のコンピュータ発生グラフィックを有するカメラ画像に基づくユーザに提示されている画像を指すことができる。このカメラ画像は、ユーザが位置付けられた場所から、例えば、見るための画像を発生させるのに使用されるスマートフォンによって撮影することができる。それらのカメラ画像は、この技術なしでユーザが見るものに項目又は態様を追加するためにコンピュータ発生画像によって拡張することができる。例えば、拡張現実ヘッドセットを装着したユーザは、オフィスのカメラ画像を見ることができるが、窓の代わりに、コンピュータは外側空間の画像を発生させる。これに代えてデスクにあるコーヒーマグを見る代わりに、ユーザは、代替のユーザのデスクの漫画のキャラクターを見る。それらの画像は操作及び対話することができるが、コンピュータ発生されている。拡張現実コンテンツを消費することができる別の方法は、ヘッド装着式デバイスを使用することによって物理的シーンに透視的に正しく重ねられた追加の仮想コンテンツによってユーザの視野を拡張することによるものである。この事例では、記録されたカメラ画像は必ずしもユーザに提示されない。当業技術に使用される別の語は混合現実である。混合現実は、拡張現実を指すが物理的オブジェクトを有する場所にインポーズされる。例えば、ユーザは、周りの実際の物理的世界を見るためのカメラを有するデバイスを使用するが、コンピュータはデスクの色を青に変える。ユーザはデスクのある部屋にいるので手を延ばして物理的なデスクに触れることができるが、コンピュータ発生画像を通じてデスク色が変わっている。この開示では、仮想現実、拡張現実、及び混合現実のような語は、同義に用いることができ、制限を意図していない。
VR及びARに関わる1つの問題は、視聴のためのシーンの構築又は修正が常時ユーザにはアクセス不能である場合があることである。それらの常時ユーザは、ソフトウエアエンジニアリング空間での重要なノウハウなしに独自のVR又はARアプリケーションを発生させることはできない。本明細書に開示するのは、平均的ユーザがプログラミング及び/又は設計における特定の知識なしにAR及び/又はVRコンテンツを発生させることを可能にするための対応するウェブベースのプラットフォームを含む方法及びシステムである。このプラットフォームは、Holo又は1又は2以上のAR及び/又はVRシーンをユーザに作成させる。それらのシーンはユーザによって作成することができ、ユーザに全体的な体験を提供するために本明細書のシステム及び方法によって互いに縫合することができる。
本明細書に説明するシステムを通じて、ARシーンは、追跡のための2D又は3Dマーカ、並びに1又は2以上の2D又は3Dオブジェクトのいずれかをウェブブラウザで実行するプラットフォームにドラッグ及びドロップすることによって発生させることができる。VRシーンは、360°球面画像又は映像及び/又は1又は2以上の2D又は3Dオブジェクトをウェブブラウザで実行するプラットフォームにドラッグ及びドロップすることによって発生させることができる。任意の2D又は3Dオブジェクトをインポートする機能以外に、プラットフォームは、更に別のリソースの要件なくAR又はVRシーンに追加することができる事前に定義された2D及び3Dオブジェクトの選択を提供することができる。一部の実施形態では、シーンに存在する全てのオブジェクトは、追加の情報、並びに異なるシーンに移るか又はウェブサイトを開くことのようなアクションによって操作、動画化、及びこれに関連付けることができ、全ての作成されたHoloは永続的に保存してブラウザで直接にプラットフォームの専用プレーヤモードで消費することができ、URLを通じて到達可能にすることができる。
シーンが互いに縫合された状態で、ユーザは、一度に1つのシーンを見て、シーンの矢印をクリックするなどの対話によって次にシーンにナビゲートしてシーンを次のシーンに移動することができる。これに加えて又はこれに代えて、一部の実施形態では、ユーザ機器のセンサを使用して位置、動き、及び/又は方位を識別することができる。そのような情報を使用して、本発明のシステムによって作成されたシーンをナビゲートすることができる。従って、ユーザは、ユーザが通りを歩いてカメラをパンするか又はヘッドセットを移動し、限定されないが以下に詳しく説明するようにユーザに対して360°一周及び上下を含む様々な角度を見ているように感じることができる。本発明の開示では、「Holo」という語は、縫合することができる1又は2以上のAR/VRシーンを指すのに使用することができることに注意しなければならない。この語は、制限を意図しないが、必ずしもAR又はVRシーンのいずれか1つではないがいずれでもよいホログラフィック又はHoloシナリオを単に示している。
従って、本明細書のシステム及び方法は、これに代えて又はいずれかの組合せで、a)同じウェブプラットフォームを使用してAR及びVRコンテンツの両方の作成を可能にする機能を与える、b)設計及び/又はプログラミング(エンドユーザ設計)における特定のスキル、特にドラッグ及びドロップを通じたAR及びVRコンテンツを発生させる可能性に関する特定のスキルのない平均ユーザに与える、c)それらを達成するための完全にウェブベースのシステムを提供する、d)任意の2D及び3Dオブジェクトをインポート及び使用する及び事前に定義されたオブジェクトのセットから選択する、及び/又はe)360°球面画像又は映像から直接VRシーンを作成することができる。
本明細書に説明することを実行するのに使用することができるコンピュータリソースは、限定されないがデスクトップ、ラップトップ、タブレット、ファブレット、スマートフォン、眼鏡、ヘルメット、又は他のスマートコンピュータデバイスのようなウェアラブルを含むあらゆる数のデバイスとすることができることに注意しなければならない。無線通信接続は、セルラー、WiFi、近距離通信、Bluetooth、ピコセル、ナノセル、又はあらゆる他の種類の通信プロトコル、規格、又は方法、本発明の開示が書かれた後に発明されるものを含むあらゆる数の無線通信接続とすることができる。
アーキテクチャ例
図1aは、例示的全体システムアーキテクチャの図である。本明細書の例示的方法及びシステムは、通信ネットワーク110112によって接続されるクライアント側のあらゆる数のオペレーティングシステム400122及びサーバ側のサーバ110114及びデータストア110116を使用するあらゆる数のデバイスを含むスマートフォンのようなパーソナルコンピュータ又は移動コンピュータのようなコンピュータ110104を含むコンピュータアーキテクチャに基づいている。サーバ、データストア、クライアントパーソナルコンピュータを含むコンピュータシステムの各々は、プロセッサ、メモリ、ランダムアクセスメモリ(RAM)、データストレージ、分散データストレージ、ネットワーク接続、及びスチールカメラ、ビデオカメラ、マイクロフォン、スピーカ、赤外線カメラ、深度マッピングカメラ、光検出及び測距(LIDAR)システム、レーダーシステム、地理的位置決めシステム(GPS)、音響センサ、及びマッピングデバイスのような構成要素を含むことができ、メモリ及びプロセッサは、オペレーティングシステム上で本明細書に開示するあらゆる数のソフトウエアプログラムを実行することができる。
本明細書の方法を実施するシステムは、埋め込み式3Dエンジン110110を有するウェブブラウザ110108を使用してアクセス可能なサービスとしてユーザ110102にサーバ110114によって配信することができる。提供されるサービスは、静的ウェブページ110124、クライアント側スクリプト110122、及び/又はサーバ側プログラム110118によって作成される動的ウェブページ、及びサーバ側のデータストア110116に存在するスクリプト110120に関して配信することができる。一部の実施形態では、サービスを効率的に使用するために、ユーザ110102はユーザプロファイル110126を有することができる。1又は2以上のAR及び/又はVRシーンを含有する作成されたHolo110128は、あらゆるインポートされた2D及び/又は3Dモデル110117と共にデータストア110116に永続的に格納することができる。サービス110117によって提供される事前に定義された2D及び3Dモデルは、同様にデータストア110116に存在することができる。
図1bは、本発明のシステムにこれに加えて又はこれに代えて関わっている例示的構成要素及び機能を示している。本発明の方法及びシステムは、サーバとクライアント側の間に分配することができるいくつかの構成要素及び機能を含む。サーバ110204とクライアント110202の両方は技術デバイス400106を含む。サーバ側110204は、データストア110116、すなわち、ユーザ管理110226、例えば、アカウントの登録、ログインなど、及び関わっているHolo及びAR/VRシーン及び2D/3Dオブジェクトの保存/ロード110228との直接通信を伴うアクションを指示することができる。クライアント側110202では、ユーザ110202は、ユーザがAR/VRコンテンツを発生させることを可能にするエディタ110232とユーザが以前に作成されたAR/VRコンテンツを消費することを可能にするプレーヤ110230と対話することができる。特に、エディタ110232は、ユーザ110102がHoloを作成110216及び編集110214し、Holoに含有されたAR及びVRシーンを作成110212及び編集110210し、2D/3DオブジェクトをAR/VRシーンに追加110208して既存の2D/3Dオブジェクトを編集110206し、動画を2D/3Dオブジェクトに追加110224して既存の動画を編集110222し、かつトリガ可能アクションを2D/3Dオブジェクトに追加110220して既存のアクションを編集110218する。コンピュータシステムは、以下に詳しく説明するように一度構築されたAR/VRシーンを見るのに使用することができる。
Holo概要
これに加えて又はこれに代えて、本明細書のシステム及び方法は、ある一定のHolo構築及び表示体験をサポートすることができる。図1cは、コンピュータデバイス400106を使用して作成されたHolo110302の例示的構造を示している。これは、AR110306又はVR110308シーンのいずれかであるいくつかのシーン110304を含むが、1つのHoloは、両方のタイプのシーンを含有することができ、あらゆるタイプのうちの少なくとも1つのシーンを含有することができる。この例では、1つのARシーン110306は、2D又は3Dオブジェクトのいずれかとすることができるある一定の数の専用追跡マーカ110310を含有する。追跡マーカ110310は、AR関連で現実世界との仮想接続として作用することができ、すなわち、作成されたARコンテンツは、シースルーシナリオでこのマーカに対して表示され、ここでユーザは、カメラを通じてユーザ自身の周囲を見るかデバイスを通じて見て、本発明のシステムは、本明細書に説明するように検出及び追跡される物理的オブジェクト上にマーカを組み込んでいる。例えば、ユーザがARシナリオでの仮想オブジェクトによってユーザの現実世界のラップトップを拡張したい場合に、ラップトップのキーボードの2D画像又はラップトップの3D走査のいずれかがマーカとして作用することができる。エディタ110232では、仮想2D110316及び/又は3Dオブジェクト110318は、カメラの位置とは関係なくARシナリオで現実のラップトップに対して表示すべきであるので、インポートされたマーカ(ドラッグ及びドロップを通じて又は例えば他の対話を通じて達成することができる)に対して配置されることになる。3D走査は、3D走査デバイス390302で行うことができ、画像をカメラ400108で発生させることができる。マーカのないARシーン110306は、空白シーンであり、これを使用してあらゆる数の2D110316及び/又は3Dオブジェクト110318をインポートすることによって完全に仮想世界を発生させることができる。1つのVRシーン110308は、ベースとして1つの360°球面画像又は1つの360°球面ビデオ110314を含有する。球面及びパノラマ画像又は映像は、球面又はパノラマカメラ390102を使用して又は複数のカメラのリグ390200を使用して発生させることができる。すなわち、シーンは、360°画像/映像がテクスチャとして中に配置される球面を含有するように自動的に初期化される。ユーザ110102がVRシーンを消費する仮想カメラは、球面の中心に配置され、それによって画像又は映像が撮影された場所に立つ錯覚をユーザが有する。あらゆる数のオブジェクト110312を2D110316又は3D110318オブジェクトのいずれかに対してシーンにインポートすることができる。例えば、このようにして3Dオブジェクトとして与えられた仮想の椅子及びテーブルをリビングルームの360°画像内に配置することができ、これはインテリアデザイナーの潜在的な使用事例である。あらゆる数のオブジェクト110312を動画化110322することができ、オブジェクトがクリックされた時にトリガされる異なるシーンに移るか又はウェブサイトを開くことのようなアクション110320に関連付けることができる。
ウェブベースのシステムのアクセス例
これに加えて又はこれに代えて、図1dは、システムにアクセスするための例示的ワークフローを示している。この例では、ユーザは、コンピュータ機械400106でウェブブラウザ110402を開くことができる。追加のソフトウエアをインストールする必要なく、本発明のシステムは、プラットフォーム110404を識別するURLにナビゲートすることによってアクセス可能である。本発明のシステムはウェブブラウザ110402のサポートによってアクセス可能であるが、本発明のシステムはユーザによって使用するものとは異なるコンピュータ機械400106で実行することができる。従って、図1aに示すように、サーバ110114及びシステムのデータデータストレージ110116はネットワーク110112を通じてアクセス可能である。
Holo作成及びロードの概要の例
図1eの110500は、コンピュータデバイス400106を使用してHoloを作成又はロードする例示的ワークフローを示している。ユーザ110102がコンピュータ機械400106でHoloを作成110504しようとする場合に、ユーザは、Holoが少なくとも1つのAR又はVRシーンを含有することができる場合に新しいHoloに含有された第1のシーンのタイプを決定110506すべきである。初期シーンは、AR110510又はVR110508シーンテンプレートのいずれかに対してエディタ110232によって作成される。ユーザ110102が代わりに既存のHoloをロードしようとする場合に、ユーザは、データストアのユーザのプロファイル110126に関連付けられたHolo110128に基づいてサーバ110114によって配信されるHoloのリストから選択110512することができる。選択されたHoloはロード110514することができ、エディタ110232によって表示することができる。
図1fは、コンピュータデバイス400106を使用してHolo内のAR又はVRシーンを作成又は選択するための例示的方法を示している。ユーザ110102がHolo内の新しいシーンを作成110602しようとする場合に、ユーザは、AR又はVRシーンの作成110604又はシーンのリストからのシーンの選択110612の間で選択することができる。ARシーンが作成される場合に、ユーザは、マーカを使用すべきか否かを決定することができる110606。マーカを使用しなければならない場合に、2D又は3Dオブジェクトに関してインポートすることができる110608。VRシーンを作成しなければならない場合に、360°球面画像又は360°球面ビデオをインポートすることができる110610。ARシーンに反して、空白VRシーンは、ARシーンのように表示するカメラ入力を持たないので、空白VRシーンを作成することができない。ユーザが新しいシーンを作成する代わりに既存のシーンの選択を決定した場合に、ユーザは、現在編集中のHoloに含有されたシーンのリストから選択110612しなければならない。
図1gの110700は、コンピュータデバイス400106を使用してHoloに含有されたAR又はVRシーンに2D又は3Dオブジェクトを追加又は編集する例示的ワークフローを示している。この例では、まずユーザ110102が現在編集しているHoloの既存のシーンのリストからシーンを選択110702することができる。ユーザが新しいオブジェクトを追加110704したい場合に、ユーザは、ウェブプラットフォームによって提供される事前に定義された2D及び3Dオブジェクトのセットからの選択110708又はカスタムオブジェクトのインポート110710を決定することができる110706。後者は、例えば、ウェブプラットフォームへの1又は2以上の2D及び/又は3Dオブジェクトファイルのドラッグ及びドロップのような対話によって行われる。ユーザ110102が新しいオブジェクトを発生させるのではなく既存のオブジェクトを編集したい場合に、ユーザは、最初にエディタ110232によって現在表示されているシーン内で直接オブジェクトを選択110712するか又はこのシーンに対するオブジェクトのリストから選択するかによって行うことができる。オブジェクトは、限定されないが、位置、サイズ、回転色、及び/又はテクスチャを含むあらゆる数の方法で編集することができる110714。
図1hの110800は、コンピュータデバイス400106を使用して動画を2D又は3Dオブジェクトに追加するか又は2D又は3Dオジェクトに関連付けられた既存の動画を編集する例示的方法を示している。動画を2D又は3Dオブジェクトに追加又は編集する処理は、エディタ110232で現在表示されているシーンからのターゲットオブジェクトの選択110802から開始することができる。続いて、ユーザ110102は、ユーザが新しい動画を追加又は既存の動画を編集したいか否かを決定110804することができる。ユーザが動画をオブジェクトに追加110806したい例では、ユーザは、所与の動画のリストから選択するか又はオブジェクトの回転及び/又はスケーリング及び/又は再位置決めのシーケンスからカスタム動画を合成することができる。一部の例示的実施形態では、既存の動画の編集は、ターゲットオブジェクトに関連付けられた動画が既にある場合110808のみ可能にすることができる。動画が存在する場合に、動画を操作又は置換する110810ことができる。ユーザ110102が既存の動画の置換を決定した場合に、既存の動画を削除110812することができ、ユーザは新しい動画を選択又は合成110806することができる。そうでなければ、既存の動画を維持することができるが、ユーザによって変更110814することもできる。
図1iの110900は、コンピュータデバイス400106を使用してAR又はVRシーンに含有された2D又は3Dオブジェクトに関連付けられたトリガ可能アクションを追加又は編集する例示的ワークフローを示している。トリガ可能アクションはプログラムされた動画とすることができ、又は一部のプログラムされたトリガ事象でのみ与えられる変更とすることができる。例えば、動画化オブジェクトは、ユーザがオブジェクトに対する所定の距離内に来た場合に色を変更することができる。最初に、例では、エディタ110232に現在表示されているシーンのターゲットオブジェクトを選択110902しなければならない。続いて、ユーザ110102は、新しいアクションをターゲットオブジェクトに関連付けるべきか否かを又は既存のアクションを編集すべきか否かを決定する110904ことができる。ユーザが新しいトリガ可能アクションをオブジェクトに追加したい場合に、ユーザは、所与のアクションのリストから選択110906することができ、アクションのパラメータ(例えば、「ウェブサイトを開く」アクションのURL)を設定110908することができ、最後にアクションをターゲットオブジェクトに追加110910することができる。既存のアクションの編集は、ターゲットオブジェクトに関連付けられたアクションが既にある場合だけ可能である110912。アクションが存在する場合に、アクションを操作又は置換する110914ことができる。ユーザ110102が既存のアクションの置換を決定した場合に、既存のアクションを削除する110916ことができ、ユーザは新しいアクションを選択110906、定義110908、及び追加110910する。そうでなければ、既存のアクションを維持することができるが、このパラメータはユーザによって変更する110918こともできる。
図1jの111000は、コンピュータデバイス400106を使用してHoloを保存する例示的処理を示している。Holoが最初に保存された場合111002、ユーザ110102は、Holoに名前及び任意的な説明を提供111004することができる。続いて、全てのシーン、オブジェクト、及びメタデータを含むHoloは、エディタ110232によってサーバ110204に転送することができ、ここでURLが割り当てられ(初めて保存された場合)111006、かつ最後にデータストア110228に保存111008される。
シーン構築器ユーザインタフェースの例
ある一定の例示的実施形態では、ユーザインタフェースを使用して本明細書に説明するようにHoloの構築及び編集を開始することができる。例示的ユーザインタフェース111100は本明細書に説明するシステムによって作成してネットワーク上でアクセス可能である。従って、ユーザは、ネットワークアクセスが提供される場合は必ずシーンにアクセス、構築、及び編集することができる。これに加えて又はこれに代えて、図1kは、コンピュータデバイス400106で見ることができるHoloを作成111102及びロード111104するためのオプションを含む例示的ユーザインタフェース111100を示している。新しいHoloは、第1のシーンのタイプ、すなわち、VR111106又はAR111110のいずれかを選択することによって発生させることができる。ラベル付けされたタイル111108は、本明細書の方法及びシステムによって望ましいドラッグ及びドロップ対話の機能を実施する。ラベル付けされたタブのクリック111104は、ログインされたユーザのための既存のHoloのリストを示している。このリストから、Holoを選択及びロードすることができる。既存のHolo110128は、データストア110116からロードされサーバ110114によって配信される。
図1lは、本明細書に説明する方法及びシステムを使用してAR及びVRコンテンツを発生させるのに使用することができるエディタ110232のユーザインタフェース111200を示している。ユーザインタフェース111200は、本明細書に説明するようにネットワーク上でコンピュータデバイス400106によって見て使用することができる。この主エディタインタフェース110232を通じて、ユーザは、新しいか又はインポートされたシーン及び/又はオブジェクトを使用してシーンを作り出すことができる。
図示のユーザインタフェース111200の例では、現在のHoloのシーンのリスト(この事例では「スライド」と呼ぶ)111202、並びにプラス記号で示されている新しいシーンを作成するためのオプション111210を含有する左手サイドバーが含まれており、現在選択されているシーンを編集するための大きい範囲111206、オブジェクトを選択、追加、及び拡張するための様々なオプションを含有する右手サイドバー111216、及びHoloを保存する及びHoloのメタデータを編集する11204、並びにシーンプレーヤモードのユーザ管理及び切り換え111202ためのオプションを含有するトップメニューバーも示されている。Holo内のシーンは、ラベル付けされたリスト111202から選択することができる。限定されないが中央エディタ区域にドラッグ及びドロップする11206のような対話によって又は右手サイドバーの対応するタブを起動して事前に定義されたオブジェクトを選択すること111400によってオブジェクト111208をシーンに追加することができる。対応する材料及びテクスチャファイルを要求する追加のダイアログを起動する単一オブジェクトファイル(例えば、フォーマットDAE又はOBJで)に対して又は一度に全ての必要なファイルを含有するZIPファイルに対して3Dオブジェクトをインポートすることができる。インポート又は作成された状態で、ラベル付けされたボタン111212を使用して全てのオブジェクトを操作することができる(再位置決め、回転、スケーリング)。選択されたオブジェクトの現在の位置、回転、及びサイズは、各次元に対して別々にエディタ区域の底部111220に与えられる。ラベル付けされたボタン111222は、現在選択されているオブジェクトのズーム、複製、及び現在選択されているオブジェクトの削除のためのものである。あらゆる組合せのオブジェクト操作ボタンのいずれの種類もエディタ111200に使用するために提示することができる。図11で起動された右手サイドバー111216のタブ(一番左のタブ)は、現在のシーン111218の全オブジェクトのリストを示している。主エディタ区域111206で現在のシーン111208を直接クリックすることによって又はこのリスト111218から選択することによってオブジェクトを選択することができる。この例では、図11の右手サイドバー111216の非アクティブタブは、オブジェクトを追加111400、動画を追加/編集111500及びアクションの追加/編集111600するためのものであり(左から右)以下に説明する。いずれのレイアウトも、これに加えて又はこれに代えて本明細書に列挙した例に使用することができることに注意しなければならない。画面、メニュー、オプション、レイアウトは全て、配列、時間シーケンス又はウィンドウ構成のいずれの種類でもいずれの種類のユーザインタフェースにも配置することができる。
図1mは、Holo内に新しいAR又はVRシーンを作成するためのユーザインタフェース111300の1つの可能な実施(この事例では、「新しいスライド」と呼ぶ)をこれに加えて又はこれに代えて示している。これはコンピュータデバイス400106で見て使用することができる。この例では、ユーザ110102は、VR111302とAR111304のシーンを選択することができる。ラベル付けされた区域111306は、マーカなし、新しいARシーン(図1fを参照)の2Dマーカ、又は3Dマーカを選択するための3つのオプションを含有する。従って、右の2つのタイルは、本明細書の方法及びシステムによって使用されるドラッグ及びドロップ対話を実施する。VRシーン111302のためのタブを選択した時に、ユーザ110102は、図1k111108に示すのと同じインタフェースが提示されている。しかし、同じくAR及びVRのコンテキストでは2次的であるテキスト又は検査リストだけを含有する2Dシーン111308を追加するオプションが存在する。
図1nの例は、アクティブである第2のタブ(2D及び3Dオブジェクトを追加)を有する右手サイドバー111400(図1lを参照)を示している。これはコンピュータデバイス400106で見て使用することができる。この例でこれに加えて又はこれに代えて、ラベル付けされたボタン111402は、外部検索アプリケーションプログラムインタフェース(API)に基づいて2Dアイコン及び3Dオブジェクトのための検索機能を提供する。一部の例では、追加カスタムコンテンツ111404は、例えば、限定されないが、2Dテキスト、3Dテキスト、あらゆる組合せでの2Dオブジェクト及び/又は3Dオブジェクトを追加するための(左から右)機能を含むことができる。2D又は3Dオブジェクトのあらゆる選択は、本明細書の方法及びシステムによって要求することができるドラッグ及びドロップ機能を実施する様式ダイアログをトリガすることができる。カスタム2D及び3Dオブジェクトは、限定されないが主エディタ区域111206にドラッグ及びドロップすることのようなユーザインタフェース対話によって同様にインポートすることができる。ラベル付けされた区域111406、111408、111410、及び111412は、クリック、タップ、又は他の対話によって現在アクティブなシーンに直接追加することができる2D及び/又は3Dオブジェクトの事前に定義された選択を提供することができる。111406は、3D矢印のセット、すなわち、3D形状のセット(限定されないが、情報ボックス、疑問符を有するボックス、コイン、様々な十字、立方体、円筒、様々なダイヤモンド、三日月、六角形、プリズム、ピラミッド、部分ピラミッド、リフレッシュ記号、様々なルーフ、部分ルーフ、シャムロック、球面、様々な星、ストップ記号、台形、又は他の形状)、カスタムテクスチャを付加することができる111410の2Dのセット(四角、矩形、円、又は他の2D形状)、及び3D形状(球体、球面、円錐、立体、又は他の3D形状)を提供する。カスタムテクスチャは、オブジェクト2D又は3D形状の仮想面に加えられる2D画像のあらゆる種類とすることができ、11412の3Dツールのセット(限定されないが、ネジ回し、レンチ、ハンマー、ドリル、箱スパナ又は他のあらゆる組合せのような様々な品目)、及び111414の2Dアイコンのセット(限定されないが、バス、キャッシュレジスタ、衣服、フォーク及びナイフ、出口、雑誌、マップ、駐車場、トイレ、ストア、劇場、ハイキングコース、ビュー点、危険信号、スピーカ、耳、ヘッドフォン、グラモフォン、音楽記号、警報、音波、又は他のあらゆる組合せなど)とすることができる。本明細書の形状、ツール、及びアイコンの例は、限定されないものとして、様々な使用事例に対してツールのユーザをサポートするためにカスタマイズすることができる。構成ツールの例は、制限ではなく同様にカスタマイズすることができる。
図1oは、アクティブである第3のタブ(動画の追加/編集)を有する例示的右手サイドバー(図1lを参照)111500を示している。これに加えて又はこれに代えて、例は、コンピュータデバイス400106で見て使用することができる。対応するタイルをクリックすることによって現在選択された2D又は3Dオブジェクトに直接適用することができる事前に定義された動画のセットを提示することができる111504。個々に示す例示的動画は、制限ではないが、オブジェクトの回転、オブジェクトの円の動き、前方/横向きのオブジェクトの動き、爪先回転、オブジェクトの前方/横向きのスピン、オブジェクトを振動させる及びオブジェクトを上下に跳ねさせることを含む。オブジェクト動画のいずれの種類もこの例で提供することができ、選択されたオブジェクトを動画化するのに使用することができる。更に、一部の例では、回転のシーケンス、転換、及びスケーリング動画から作ることができるカスタム動画111502を発生させることができる。
図1pは、アクティブである第4のタブ(アクションの追加/編集)を有する例示的右手サイドバー(図11を参照)111600を示している。これは、コンピュータデバイス400106で見て使用することができる。サイドバーは、番号を呼び出す、ウェブページを開く、異なるシーンに移る(図で「オープンサイド」とラベル付けされる)、テキストを含有する情報ボックスを示す、テキストを含有する警告ボックスを示す、電子メールを送信し、オブジェクト動画を開始又は終了し、オブジェクトを表示又は除去する、及び音を再生することのあらゆる組合せを含む例示的利用可能トリガ可能指令111604を示している。トリガ可能指令のいずれの種類を使用することもでき、それらの例は制限ではない。現在のシーンで2D又は3Dオブジェクトを選択した後で、ユーザ110102は、それらのアクションの1つを選択して、一致したパラメータを設定し、例えば、開かれるURLを指定するか又は再生されるサウンドファイルを選択することの1つを選択することができ、アクションは、ターゲットオブジェクトに関連付けられる。一部の実施形態では、各オブジェクトは、オブジェクトがシステムプレーヤモード110230でクリックされるか、又はそうでなければユーザによって対話された時にトリガすることができる1つのアクションに一度関連付けることができる。現在選択されているオブジェクトがトリガ可能アクションに既に関連付けられている場合に、これは、新しいアクションによって上書きすることができるか、新しいアクションが既存のアクションと同じである場合(既存のアクションの編集を効率的に意味する)場合に新しいパラメータで上書きすることができる。これに加えて又はこれに代えて、既存のアクションは一致するオプション111602を選択することによって削除することができる。更に、本明細書のシステム及び方法に機械によって伝達される情報の表示を可能にすることができるOPC UA指令のセット111606が利用可能である。これに対して、OPC UAサーバは、Holo設定で指定することができる。このサーバを通じて機械から利用可能な情報をAR及びVRシーンで使用することができる。これはいくつかの使用事例を可能にすることができる。1つの非制限的な例を挙げるために、機械の温度をARシナリオの機械の特定の部分に対して表示することができる。
図1qは、対応するVRシーンが初期化される前にインポートされた360°球面画像を前処理するためのユーザインタフェース111700の1つの可能な実施を示している。インポートされた360°球面画像は、コンピュータデバイス400106で見て使用することができる。本明細書のシステム及び方法は、特にユーザ110102が自動的に画像を拡張することを可能にするために事前に定義されたフィルタ111704を提供することができる。一部のフィルタは、特定のデバイスに対してカスタマイズすることができ、例えば、RICOH THETA球面カメラは、特に低照度設定である一定の品質を有する傾向がある。すなわち、本明細書でのシステムにおける「シータフィルタ」を起動する時に、対応するカメラによって撮影された360°球面画像の品質を事前に定義されたヒューリスティックに基づいて自動的に改善することができる。360°球面画像は、球面又はパノラマカメラ390102を使用して又は複数のカメラのリグ390200を使用して発生させることができる。事前に定義されたフィルタに加えて、同様にユーザ110102は、画像のコントラスト、輝度、及び色の輝きをマニュアルで精緻化するオプション111706を有する。ライブプレビューは、ある一定の例示的ユーザインタフェースで全ての時間に表示111702することができる。
360°画像を形成するために画像を縫合するソフトウエアを使用する360°球面カメラ又は複数のカメラの配列が、あらゆる方向、左、右、上、下、又はそれらのあらゆる組合せでユーザがパンすることを可能にする画像を発生させるシステムを論ずる本発明の開示に使用されることに注意しなければならない。そのような360°画像の一般的な目的は、360°画像が撮影された場所の景色にユーザをはめることである。例えば、360°画像はビーチで撮影されたとする。ユーザは後で、360°画像が2次元画面を見ることによって又は3Dゴーグルシステムのような視聴装置によって撮影された同じシーンを体験することができる。そのような配列は、マウス、キーボード、又はユーザが画像を見るためにいずれの方向にも方位付けすることを可能にする他の配列により、モーション検出を有することができ、又は360°画像のナビゲーションを可能にすることができる。ゴーグル配列では、ユーザの動きが検出されるようにヘッドセットを画像と同期させることができ、相応に画像が変わる。360°画像のそれらの配列及び使用は、仮想現実として既知とすることができる。同様に、カメラがユーザの実際の環境を撮影するのに使用され本明細書のシステムがコンピュータオブジェクト又はオーバーレイ又は他の構造によってカメラ画像を拡張するのに使用される場合に、ユーザはその実際の環境を体験することができるが、コンピュータ像が追加される。そのような配列は、拡張現実として既知とすることができる。仮想現実及び拡張現実という語は、制限を意図しておらず、本明細書に説明するシステム及び方法をいずれか又は両方を発生させるのに使用することができる。それらの語は、所々で同義に使用することができ、従って、制限を意図していない。
図1rは、AR又はVRシーンに追加される前に、インポート3Dモデルを前処理するためのユーザインタフェース111800の1つの制限ではない可能な実施を示している。この例は、コンピュータデバイス400106によって見る及び使用することができる。この例では、本発明のシステムは、まず照明の強度の変更を可能にするツール111808を提供する。次に、図示のツールを通じて、ユーザ110102は、いずれ側を3Dモデルの上面にすべきか111810、例えば、いずれがインポートの前にモデルを逆さまにひっくり返せるかを再定義することができる。第3に、影オプション11812が起動された場合に、より進歩した照明及び影を可能にする異なる材料を3Dモデルに適用することができる。一部の例示的実施形態では、標準的な材料をつや消しとすることができる。最後に、ユーザ110102は、同様に3Dモデルのウェブベースの処理に具体的に調節されたStan Melax Progressive MeshタイプのPolygon Reduction Algorithmのバージョンに基づいて頂点及び三角形に対する3Dモデルの複雑さを低減するためのツール111814を提供する。現在選択されたオプション111802、並びにモデルの頂点の現在の数111804を考えるモデルのライブプレビューをプレビューシーンにいずれの時間にも表示することができる。この例では、プレビューシーンが自動的に回転するか否かは、ラベル付けされたボタン111806を使用して変更することができる。
図1sは、カスタム動画を発生させるためのユーザインタフェース111900の1つの制限ではない可能な実施を示している。これは、コンピュータデバイス400106で見る及び使用することができる。ユーザインタフェースの底側部分に、個々の回転のシーケンス、スケーリング、及び位置決め動画に関してカスタム動画を定義するのに使用することができるツールが示される111902。ユーザ110102は、時系列111902に個々の動画のいずれかに対するフレーム点を設定して、主エディタ区域111904内の直接操作によってこの時点での選択されたオブジェクトの回転、サイズ、又は場所を指定することができる。
図1tは、コンピュータデバイス400106を使用して以前に作成されたAR及び/又はVRコンテンツの消費を可能にする本明細書のシステム及び方法のプレーヤモードのためのインタフェース112000の1つの制限ではない可能な実施をこれに加えて又はこれに代えて示している。この例では、左に向けて、ユーザ110102は、利用されるHoloに含有されたAR及び/又はVRシーン(この事例での「スライド」と呼ぶ)の折り畳めるリスト112002が示されている。現在見られているシーンのAR又はVRコンテンツは、プレーヤの主区域112004に示されている。この例の底部では、左/右及び上/下への視野のパン、ズームイン及びズームアウト、全画面モードへの切り換え及び他のユーザとの現在見られているHoloの共有に対して3次元シーンとの対話を可能にすることができる制御のセット112006が示されている。この例では、「EDIT」のラベル付きのボタン112008が、ユーザ110102が本発明のシステムのEditorモード110232に戻ることを可能にするが、HoloがHolo110128及びサーバ側110116に格納されたユーザ管理110126データに従って実際にユーザによって所有される場合にのみ表示することができる。
図1k−1tに示すユーザインタフェースは、本明細書の方法及びシステムの例示的実施だけを表し、制限を意図していない。1k−1tに示すユーザインタフェースのいずれの組合せも、互換可能にかついずれの組合せ又は順序でも使用することができる。これに加えて又はこれに代えて、上述の要素のいずれの組合せを使用することもできる。特に、異なる要素、例えば、事前に定義された2D及び3Dオブジェクトの異なるセットである特徴を含む実施を提供することができる。それらの事前定義されたオブジェクトは、建設業又は他の業界のような特定の使用事例とすることができる。同じく、上述のインタフェースはデスクトップコンピュータ400122のように設計されたものであるが、本明細書の方法及びシステムは、異なる入力方法によってデバイスの関連に移すことができる。それらは、ハンズフリー対話(例えば、頭を移動することによる十字形の指示)又はスマートフォン及びタブレットコンピュータ400102のようなタッチデバイスを必要とするヘッド装着式ディスプレイ400200 400300を含むことができる。それらのデバイスクラスの全ての最新の作成は、激しい振動のない3Dコンテンツを表示するのに十分強力である。更に、大部分は、Chrome又はSafariのモバイル版のようなウェブブラウザが利用可能であり、AR及びVRコンテンツのウェブベースの作成及び消費を可能にすることを意味するオペレーティングシステムとしてAndroid又はiOSに基づいている。将来の作動システム及びブラウザ又はインターネットアクセス構成のいずれの種類もサポートすることができる。
他の特徴の例
ある一定の例示的実施形態では、上述の例にこれに加えて又はこれに代えて、トリガ可能のアクションに関して2D/3Dオブジェクトに音声を追加することができると同時に(すなわち、オブジェクトがクリックされた時に音声が再生される)、本発明のシステムは、周囲の音、すなわち、特定のオブジェクトに結び付かない音声によって拡張することができるが、ユーザは、AR/VRシーンに入った時に自動的に再生を開始する。別の例では、これに加えて又はこれに代えて、不可視の形状を導入することができ、例えば、360°球面画像に組み込まれたある一定の特徴の前に置くことができる。例えば、ドアが図29aに詳しく示す球面カメラデバイス270101によって撮影された360球面画像に見られる場合に、これは、クリック対話を達成するために眼に見える2D/3Dオブジェクト(写真撮影されたものの前の仮想ドアのような)を挿入する必要なく、ドアを効率的にクリック可能にすることができる。この1つの制限ではない使用事例は、VR点及びクリックアドベンチャーゲームとすることができる。これに加えて又はこれに代えて、塗装機能を提供することができ、これは、ブラシ又はペンシル描画ツールを使用してユーザがVRシーンの360°球面テクスチャに直接特徴を記述することができることを意味する。これに加えて又はこれに代えて、ライブストリームを使用することができ、VRシーンで360°球面カメラ270101で撮影することができ、2D及び3Dオブジェクトで注釈を付けることができ、リアルタイムで複数のユーザによって消費することができる。それらの非制限的な例は、本発明の開示を通じて列挙されたいずれの例とも組み合わせることができ、他の特徴によって拡張又は共に使用することができる。
シーン作成及び時系列の例
図2aから図2yは、これに加えて又はこれに代えて時系列ベースの機能の方法を提供するシステムの例示的概要を与え、360°画像及びビデオのタイムスタンプ及び年代順の構造化の自動作成の機能、並びにユーザによる時系列要素の再配置、追加、及び削除を含む。従って、この例では、本発明のシステムは、年代的に構造化された画像又は意味のある方式で視覚化されたビデオデータを有する必要性を満足させる。ある期間にわたるユーザ選択の地理的場所の変化の描写の基礎は、限定されないが建築現場、自然環境、店、レストラン、オフィス、美術館、公園、並びに関連のない人の写真のような様々な市販のかつ非市販の使用シナリオを含む最大360°までの視野を覆う画像及び/又はビデオである。本方法のコンテキストでの360°画像は、限定されないが最大360°の視野を有する全球面画像及びビデオを含む。360°画像及びビデオは、限定されないが図29a、図29b、図29c、図30aに示すデバイスを含むハードウエアシステムによって供給することができる。本発明のシステムに追加された時に、360°画像又は映像は、2D及び/又は3D要素によって更に高めることができるHoloとして提示することができる。結果のHoloは、限定されないが、図30a、図30b、図30c、図30d、図30e、図30fに示すハードウエアによって見ることができる。
図2aは、異なるユーザ120110、120118が、2つの個別の使用事例であって非制限的な例を示す場合に提案されるシステム及び/又は方法をどのように使用することができるかを示している。ユーザ120110は、コンテンツを作成及び出力するためにシステム120104及びそのインタフェースを使用する既存のシステム120120と共に作業することができ、及び/又はユーザ120110は、提案されたシステム120104と直接対話することができる。いずれの方法でも、ユーザ120110は、ユーザが共に作業したいデータ120106を既存のシステム120120又は提案されるシステム120104に提供することができる。ユーザ120110、並びに提供されたデータ120106は、いずれのシステムとも十分に指定されたインタフェース120108を通じて対話する。データ120106は、限定されないが、図29a、図29b、図29c、図30aに示すデバイスを含むハードウエアシステムによって収集することができる。両方のインタフェース120108は、ユーザ120110に対する必要性及びシステムが、例えば、ウェブブラウザ又はスマートフォンに課す要件を満足させることができるものである。ユーザ120110、120118が既存のシステム120120と対話する場合に、本発明のシステムは、システムのインタフェース120122を使用して提供される機能を使用することができる。システム120104が編集、並びにある一定の例示的実施形態のコンテンツ120116を見ることができるので、既存のシステム120120は、その一部として競技者/視聴者120114モジュール又はエディタ120112、又は他のモジュール120102のいずれかを提供することができる。いずれのシステム120120、120104も、別のユーザ120110が作り出したコンテンツ120116をユーザ120118に出力することができる。閲覧側ユーザ120118は、編集側ユーザ120110がコンテンツ120116を共有した任意のユーザ又はユーザ120110自身とすることができる。いずれにせよ、インタフェース120124は、閲覧側ユーザ120118が、限定されないが、図30a、図30b、図30c、図30d、図30e、図30fに示すデバイスを含むハードウエアシステムでコンテンツ120116を消費することができる方法を提供することができる。
図2bは、これに加えて又はこれに代えて、ユーザ120110が、独立型アプリケーションとして提案されるシステム120104と共に又は既存のシステム120120への拡張として作用するシステム120104と対話することができる高レベル対話図の例を示している。ユーザ120110は、コンピュータインタフェース120108の1つを使用して、元のシステムと対話してユーザのコンテンツ(Holoと呼ぶプロジェクトエンティティとして管理120212)へのアクセスを取得することができる。この例では、Holo120212は、限定されないが図29a、図29b、図29c、図30aに示すデバイスを含むハードウエアシステムによって作成された視覚データ120106を含む。この元のシステムは、提案されるシステム120104又は別の既存のシステム120120のいずれかとすることができる。後者の場合に、既存のシステム120120は、システム120104へのインタフェース120122を使用して、外部データストア120210からの格納されたHoloをAPIを通じてシステム120104に渡す。そうでなければ、システム120104は、インタフェース120122を内部に使用する。従って、例では、ユーザ120110は、最初から新しいHolo120212を開始するか、又は外部データストア120210から既存のHoloをロードすることができる。ユーザからの名前及び説明のようなデータを要求するか、又は外部データストア120210又は内部データストア120208から既存のHoloをロードすることにより、ユーザ120110のための新しいHolo120212をシステムが作成した後に、ユーザ120110は、新しい360°時系列120202を発生させるか、又は既存の360°時系列120202を編集することができる。ユーザは、様々な2D/3Dコンテンツ120204を一体型ライブラリ、又は図29dに示すようなハードウエアに関するシステムを限定されないが含む方法を通じて新しい/既存の360°時系列120202に追加することができる。それらの段階120202、120204間のいずれの時間にも、ユーザ120110は、プレーヤ120206を使用してユーザの作成をプレビューして、ユーザのHoloを内部120208又は外部データストア120210のいずれかに保存するか又は360°時系列120202の追加/編集及びコンテンツ120204の追加を自由に継続することができる。
図2cは、例示的システムのデータ構造、本発明のシステムがどのようにHolo120212を表すかを表現し、ユーザが場所を様々な時点にマップすることを可能にする方法に関して例を与えている。本明細書に説明するシステムは、限定されないが、オープンGL/ウェブGLレンダリングシーン、シーン120304として表される360°画像及びビデオ120308のような資産を管理することができる。この例でのシーンは、名前、説明のような多数の属性を有することができるが、他も同様に又は組合せで有することができる。一部の態様は、ユーザ120110のデータ120106のデータストレージ、並びに画像又は映像データが撮影されたタイムスタンプ120310を含む。シーン120304がサブシーン120304を有することを可能にする特徴は、本発明のシステムが、場所を表す共通の親シーン120304に様々な時点を与えることを可能にし、その子供は、様々な時点を示すことができる。シーンは、Holo120212データ構造と呼ぶHolo120302に保存することができる120304。例を挙げると、Holo120302は、構築サイトを表せることが好ましい場合がある120312。様々な場所(ここでは、例えば、部屋120314)がトップレベルのシーン120304に対応し、経時的な場所の変化120316がトップレベルのシーン120304の子120306に対応する。
図2dは、360°画像及びビデオがどのように処理されてユーザに提示されるかを詳細に示す例示的な図である。360°画像及び映像ファイル120402は、限定されないが図29a、図29b、図29c、図30aに示すデバイスを含むハードウエアシステムによって処理することができる。ユーザ120110又は埋め込み式システム120120が画像又は映像データ120402をシステム120104に渡した後に、システム120104は、望ましい(ウェブ)ページに容易に組み込むことができるように画像及びビデオデータ120402の両方のデータ−url120404を発生させることができる。データが画像でも映像ファイルでもない場合に、システム120104は、インポートを取り消して適切な応答をユーザ120110に送信することができる。ある一定の例では、データ−url120404が作成されると直ちに、システム120104は撮影時間及び他の関連の情報のようなメタデータ120406を提供されたデータ120402から抽出することができる。この情報を使用して、時間ベースのシーンのための正しい順序を発生させることができる。次の段階120408で、ダイアログ121202は様々な画像及びビデオ前処理オプション121206 121208をユーザ120110に提示する。ある一定の例では、ユーザは望ましいオプション121210を選択して、限定されないが「追加」ボタン121212をクリックするという対話によって適用することができる。これは、処理120410を開始して設定を生画像又は映像データに適用することができる。ユーザに最良の可能な体験を提供して処理オーバヘッドを低減するために、インポートするファイルが360°画像ファイルである120412場合に追加の修正のアプリケーションを作ることができる。データが360°映像である場合に、処理を開始120426して、これをデータURLからロードして、ユーザが見る標準的高解像度360°球面オブジェクト120432にテクスチャとして適用することができる。データが360°画像である場合120412、360°画像方位120414に調節を実行するためにサイズ及び比率、並びにカスタムアルゴリズムを使用することができる。画像の方位を調節することにより、更に現実的かつ生き生きとした画像を発生させることができる。次に、一部の実施形態では、これに代えて又はこれに加えて、画像スライスと呼ぶ処理を適用することができる120416。
ロード時間を改善して画像表示の性能を改善するために、可能な限り早く360°画像をユーザ120110に表示することが有益であるので、体験を改善して画像がロードしていることを示す進行バーを見る間の待ち時間を低減するために、全360°画像を複数の小さい部分に分割することができる。それらの小さい部分は、本発明のシステムが決定するどのような順序でも独立してロードすることができ、従って、残りがまだロードしている間に特定の部分を直ちに表示することができる120428。画像品質を高レベルに維持するために、各スライスは、例えば、2048×2048ピクセルの寸法を有することができる。画像をスライスする処理では、低解像度サムネイル120420をユーザへの即時の表示120428のために発生させることができる。そのような例では、本発明のシステムは最終球面の僅かにぼやけた画像を表示することができる。処理120424は、全スライスを最終球面にアセンブリしてユーザのデバイスのメモリを保存するための低解像度サムネイルを並べることを開始することができる。処理120426は、どれがロードして全高解像度スライスを加えて球面をレンダリング器に渡すかを開始することができる。この例の全体のインポートは、限定されないが図30a、図30b、図30c、図30d、図30e、図30fに示すデバイスを含むハードウエアシステムでユーザに高解像度360°球面120430を表示することによって終了する。一部の実施形態では、ユーザによって見られる球面スライスだけが完全にダウンロード及び表示され、見られない球面スライスはロードされない。
図2eは、360°時系列を作成かつ編集するための例示的処理を示している。360°画像及び映像ファイル120402は、限定されないが図29a、図29b、図29c、図30aに示すデバイスを含むハードウエアシステムによって処理することができる。データ120106 120402が、例えば、図2dの120502に示す処理を使用してインポートされた状態で、システム120104は、データのメタデータからのデータが抽出されたか否かを検査する。日付メタデータが抽出された場合に、システム120104は、データを現在処理済みのデータ120402に関連付けられたシーンに保存することができる。一部の例示的実施形態では、ユーザ120110が2D/3Dオブジェクトのような追加のコンテンツを時間ベースのシーンに追加した場合に、ユーザは、このデータを続く時間ベースのシーンに移すことを要求する。従って、システム120104は、前のシーンに利用可能なコンテンツがあるか否かを検査して、ある場合に、コンテンツのクローンを作る及び/又はコンテンツをコピーし、これを現在のデータを表す新しい時間ベースのシーンに追加する。いずれの方法でも、新しいシーンのコンテンツを使用して、ユーザインタフェースにビュー120508を発生させることができる。ユーザインタフェースでのこの表示は、時系列で表される項目(シーン)を作ることができる。時系列121002は、既に示されているデータに関して時系列で正しい場所120510に置くためにこの表示を正しく順序付けることができる。一連の画像又は映像データが追加された場合に、ユーザ120110 120118への第1の画像をユーザ体験を高めるために表示することができる。システム120104は、レンダリング器120428を使用して第1の低解像度の場所ベースのシーンを更新し、図30a、図30b、図30c、図30d、図30e、図30fに示すデバイスを含むハードウエアシステムでユーザに表示することができる。データの全てが処理されている場合に、画像及びビデオの全日付及び順序120512を検証することができる。それらが有効である場合に、360°時系列作成処理が完了し120516、そうでなければユーザは、全体時系列を手動で調節する、並べ替える、及び編集するという選択120514を取得することができる。
図2fは、ユーザ120110、並びにシステム120104のための例示的段階を詳述し、限定されないが図29a、図29b、図29c、図30aに示すようなデバイスを含むハードウエアシステムによって作成された新しいデータ120402を既存の時系列121001に追加し、これは、場所ベースのシーンの時間拡張を表す例では、新しい時間ベースのシーンを時系列121002に追加するために、ユーザは、いくつかの異なる方法120602を使用することができる。いずれの事例でも、例示的システム120104はダイアログ121202を提示することができる。データが追加されている場合に、例えば、UI内の時系列121002に直接ドラッグされている場合に、プレビューパネル121204にデータのサムネイルを読み取ることができる120606。そうでなければ、ユーザは、例えば、例示的UIに予めパネル121204にデータをドラッグ120605して対話することができる。パネル121204はまた、データの外観(取りわけカスタムフィルタ)を変更するために120408を適用することができる一部のオプション121210をユーザに提供する。ある一定の実施形態では、システム120104は、それらのオプションを設定120608し、それらをシーンのデータストレージに保存し、必要に応じて既存のコンテンツ120506を新しいシーンにコピーすることになる。日付/時間1206を自動設定するためのオプションが検査されている場合に、本発明のシステム120104は、ある一定の例のメタデータに従ってこの日付/時間を設定する処理120504を開始することになる。システムがこの例で日付/時間を設定した後に、ユーザ120110は新しいダイアログ121502を見ることができる。ユーザは、本発明のシステムが「Apply」121518をクリックすることによって決定した順序を受け入れる及び適用することができ、又はユーザは、新しい時間ベースのシーンを新しい日付/時間、及び従って時系列121002の位置に異なる処理120514を使用して設定することができる。ユーザが前者を実行する場合に、本発明のシステム120104は、設定された日付及び時間120510に従って指定された位置に新しい要素を追加する。
図2gは、360°画像又は映像を含むシーンに外部コンテンツを追加する例示的処理を示している。画像及びビデオデータは、限定されないが図29a、図29b、図29c、図30aに示すデバイスを含むハードウエアシステムによって行うことができる。この例では、ユーザ120110がシーンを選択した時に、ユーザは、UIの新しいパネル120914を見ることになる。埋め込み式システム120120は、インタフェース120122を使用して、様々なデータフォーマットの2D/3Dモデルをこのパネル120914での表示を発生させるシステム120104に渡すことができる。データが存在しない場合に、ユーザ120110は、ユーザ独自のデータストアから処理120706を通じてデータを選択して、システム120104にユーザのためにこのデータをインポートさせることができる。データが既に利用可能であるか又はインポートされている場合に、ユーザは、パネル120914からこのデータを選択120702して、例では選択されたオブジェクトを現在のシーンに追加する処理120706に渡すことができる。更に、ユーザは、別の処理120704に示す別のワークフローを通じてオブジェクトを編集することができる。
図2hは、システム及び/又は方法120104の内側のデータフロー、並びに埋め込み式システム120120間のデータフローを透過的にする例示的詳細を与えている。使用されるデータは、限定されないが図29a、図29b、図29c、図30aに示すデバイスを含むハードウエアシステムによって行うことができる。データ120106は、既存のシステム120120及び次に提案されるシステム120104のいずれかにインタフェース120122を通じて、又はデータを受け入れてこれをロード及びインポートを扱う様々なローダー120804に渡すシステム120104のUI120805に直接120803に送られる。この後に、ある一定の例ではこれに代えて又はこれに加えて、画像又は映像前処理ユニット120806は、ユーザ120110が設定しているフィルタ及びカスタムオプションの適用を処理する。処理されたデータ120106は、シーン120808又はHolo120812のような内部に使用されるデータ構造を発生させるために送られる。ある一定の例では、それらの2つ以外のシステムに多くの120810が存在することができるが、それらが情報及びデータを表す時に殆どのユーザ120110 120118が共に作業するとして説明する。データがシステム120104の内側のユーザに自らを提示する準備ができており、ウェブGL/オープンGL120814へのインタフェースを使用してシステムのキャンバス120818又は外部キャンバス120820のいずれかにレンダリングする120816ことができ、これは図2aに提供されたインタフェース120122を使用することによって達成することができる。
図2iは、閉じられた時系列パネルを有する360°画像及びビデオ120902によってVRツアーを作成かつ編集するためのVRエディタとして時系列システム120104及び既存のシステム120120の例示的組合せユーザインタフェース(UI)を示している。この特定のUIがウェブベースのアプリケーションに対してカスタマイズされていると同時に、本発明のシステムは、限定されないが、コンピュータデバイス、タブレット、スマートフォン、及びスマートグラスのような様々なデバイスに使用することができる。デバイス及び使用に応答してUIは変わることになる。従って、このかつ以下のUI図は、多数の設計可能性の1つとしてかつ制限ではないものとして理解しなければならない。以下の例示的UIの図示のために例示的データとして使用される画像及び映像ファイルは、限定されないが図29a、図29b、図29c、図30aに示すデバイスを含むハードウエアシステムによって行うことができる。出力ハードウエアシステムは、限定されないが図30a、図30b、図30c、図30d、図30e、図30fに示すデバイスとすることができる。この例では、ユーザ120110は、UIを通じてアップロードされた360°画像又は映像に2D、並びに3Dコンテンツ120914を追加及び編集することができる。新しく追加された時間ベースのシーン121004 121006 121008は、その先行する場所ベースのシーン120906 120908又は時間ベースのシーン121004 121006 121008の2D及び3Dコンテンツ120914を引き継ぐことができる。ユーザ120110は、少なくとも1つの場所ベースのシーン120906 120908を追加して指定された場所の新しい時系列を開始することができる。各場所ベースのシーンをシーンプレビューとしてシーン概要120916に列挙することができる。指定された区域に対する仮想現実ツアーを発生させるために、ユーザ120110は、場所ベースのシーン120906 120908として複数の場所120912を追加することができる。場所ベースのシーン120906 120908として表された各場所は、その独自の時系列を保持することができる。一部の例では、ユーザ120110は、UI内の「シーン追加」ボタン120910に従っていずれの既存の時間ベースのシーンなしにあらゆる場所ベースのシーン120908に時系列要素を追加することができる。現在の日付及び時間120904、並びにいずれの場所ベース、並びに時間ベースのシーンのための指定された名前120904をエディタUIの作業区域120900に何時でも表示することができる(拡大、並びに閉じられた時系列パネルに)。時系列を有する場所ベースのシーンの時系列パネルを拡大するために、ユーザ120110は、場所ベースのシーン(プレビュー)120906をクリックすることができる。
図2jは、図2iで紹介した例示的埋め込み式システム120120の時系列システム120104の拡大時系列パネル121002の可能な視覚化を示している。特定の場所ベースのシーンの時系列120906は、場所ベースのシーン121004マーキング時間t0であるシーンの1つを有する時系列要素121004、121006、121008として少なくとも2つの時間ベースのシーンを保持することができる。各時系列要素121004、121006、121008は、日付及び時間を有することができ、昇順の順序によって年代順に格納される。ユーザ120110は、一致した時系列要素121004、121006、121008をクリックすることによって作成済み時間ベースのシーン121004、121006、121008の間を変更することができる。360°画像又は映像の上部のキャプション120904は、現在選択された場所ベース120906又は時間ベースのシーン121004、121006、121008の日付及び名前を表示する。作業空間を獲得又は360°画像又は映像120902の優良なビューを有するために、ユーザ120110は、時系列パネル121002を隠すことができる121010。
図2kは、新しい時間ベースのシーン121004、121006、121008を場所ベースのシーン120906の既存の時系列121002に追加するユーザインタフェースの1つの可能な例を示している。新しい時間ベースのシーン121004、121006、121008は、2つの既存の時系列要素121102の間の事前選択された区域又は時系列121104の最後のいずれかにユーザ120110によって追加することができる。360°画像又は映像は、指定された区域121102、121104でドラッグ又はドロップすることができ、又は共通の走査検索機能を通じて選択することができる。
図2lから図2nは、更に別の時系列要素を追加する121102、121104時に開く既存の時系列121002の新しい時間ベースのシーンの事前定義される設定を構成するための例示的様式121202を表している。ユーザ120110は、図2lに示すように走査検索により、又は図2mに示すようにドラッグ及びドロップによって360°画像及びビデオのいずれかをアップロード121204することができる。ユーザが360°画像又は映像を予め撰ぶ場合に、選択された画像又は映像のプレビューを図2nに示すように表示することができる121402。アップロードされた360°画像121302又はビデオを時系列システム120104によって又はユーザ120110自身によって手動で時系列121002に自動位置合わせすることができる121206。新しい時系列要素を発生させる時に、それに先行する場所ベースのシーン120906又は時間ベースのシーン121004、121006、121008の2D及び3GDコンテンツ120914はクローンを作ることができ121208、新しく追加された時間ベースのシーン内に挿入することができる。このレベルは、ある期間に取り込まれた360°画像及びビデオ材料の品質を変化させ、ユーザは、事前に定義された画像及びビデオ設定121210によって照明及びコントラスを調節することができる。
図2oから図2qは、場所ベースのシーン120906、121506の時系列121002、121504において新しく追加されたもの121508を(年代順に)挿入し既存の時間ベースのシーン121510、121512を再順序付け121702するための例示的様式121502を示している。時系列121504の各シーン121506、121508、121510、121512は、図2sに説明するように、ユーザ120110が編集121520することができるシーン設定で定義されたシーンプレビュー、名前、及び日付及び時間を有する。時間ベースのシーン121508、121510、121512に自動設定日付及び時間を追加するか又はユーザ120110がある一定の時間121102に新しい時系列要素を追加した時に、時系列システム120104は、時系列概要121504の時系列121002の既存のシーン121506、121510、121512の間に自動的にシーンを挿入することになる。これに代えて、ユーザ120110は、月、日、及び年のようなあらゆるカレンダー又は時間によって日付121514、かつ、時間、分、及び秒によって時間121516を自律的に又は自動的に設定することができる。新しい時間ベースのシーン121602は、シーンが時系列121002のある一定の時間に追加121104されなかった場合に、時系列121504の最後に挿入することができる。これに代えて又はこれに加えて、ユーザ120110は、新しく追加された並びにドラッグ及びドロップ121702によるいずれの時間にも場所ベースのシーン121506の次の時系列121054の既存の時間ベースのシーン121510、121512、121508、121602を再順序付けすることができる。時系列121504の順序及び新しく追加されたシーンの日付/時間121514、121516、並びに既存の時間ベースのシーン121508、121602の順序のいずれの変更も、時系列パネル121002に適用するためにユーザ120110によって確認することができる。
図2rは、次の時間に例示的場所ベースのシーン120906の時系列121002に年代順に挿入された図2kから図2qの新しく作成された時系列要素121802に示されているHoloを表示する例を示している。新しい時間ベースンシーンは、後の時点での場所ベースのシーン120906に表された場所の360°画像又は映像を表示することができる。一部の例では、本発明のシステムは、新しい時間ベースのシーン121802に先行するシーンの2D及び3Dコンテンツのクローンを作り、これを新しい360°画像又は映像121804における同じ位置又は実質的に同じ位置に配置することができる。これに加えて又はこれに代えて、シーンの360°画像又は映像の上部のキャプション120904は、対応する日付及び時間、並びに選択されたシーンの名前を表示することができる。時系列パネル121002における選択された時系列要素をクリックすることにより、ユーザ120110は、時系列の時間ベースのシーン121802、121006、121008を順序付けるための様式121502、並びに既存の時間ベースのシーン121802、121006、121008を順序付けるための様式121502、並びに既存の時間ベースのシーン121802、121006、121008、並びに場所ベースのシーン121004の設定を編集するための様式121902を開くことができる。
図2sは、既存の時系列121002の時間ベースのシーン121802、121006、121008のシーン設定121904、121906、121908、121910を場所ベースのシーン121004に編集するための例示的様式121902を示している。そのような例では、ユーザ120110は、現在の時間ベースのシーンに命名121904して、日付及び時間を変更121906して、シーンの説明121908を与えて、限定されないが、例えば、個人的メモ、及び/又はシーンプレビューとしてのサムネイル121910を含む様々な事柄のいずれも追加することができる。時間ベースのシーン121802、121006、121008の日付及び時間121906を変更した時に、時系列121002のシーンは、上昇日付及び時間によって年代順に自動的に再順序付けすることができる。一部の例では、ユーザは、図2oから図2qに示すようにシーン順序様式121912を変更することによってシーンを再構成することができる。ユーザ120110は、「保存」ボタン121914のクリックなどによって示すことにより、ユーザが変更した後に設定を保存することができる。
図2tは、閉じられた時系列パネル122104を有する360°画像及びビデオ122002を有するVRツアーを見るためのVRプレーヤとして時系列システム120104及び既存のシステム120120の組み合わされたUI122000の1つの可能な実施を示している。視聴者122000の時系列122004は、時間ベースのシーンをナビゲートするためのユーザ対話によって拡大可能である。この例では、視聴者120118は、ドロップダウンメニュー122006又は他の選択設定値を有する個別のナビゲーションパネル122006、122008によって場所の間をナビゲートすることができ、従って、前の又は次の場所ベースのシーンに変更するための全ての既存の場所及びオプション122008を得る。この例では、ドロップダウンメニュー122006は、ユーザ120118が既存の場所ベースのシーンの特定の場所を直接選択することを可能にする。ユーザ120118は、所与の制御122010、122012、122014を通じてシーン122002と対話することができる。
図2u及び図2vは、視聴者120118がある期間にわたってある一定の場所の360°画像又は映像122002、122202の変化にこれを通じて従うことができる時系列システム120104の視覚化としての拡大時系列122102の例示的実施形態を示している。時系列の例122102は、1つの場所ベースのシーン122104及び少なくとも1つの時間ベースのシーン122106、122108、122110、122112を有する。視聴者120118は、図2vに示すようにオリジナルシーン122002とは対照的に次の時間での場所の変化したシーン122202を表示する適切な時系列要素122104、122106、122108、122110、122112を選択することによって別の時間ベースのシーン122106、122108、122110、122112を開くことができる。場所ベースのシーン122104の間を切り換える122006、122008時に、時系列122102は相応に変化する。視聴者120118は、時系列122102を隠して122114、シーン122002、122202の優良なビューを取得することができる。
図2wは、360°画像及びビデオを有するVRツアーを作成かつ編集するためのエディタとして時系列システム120104の視覚化のための図2iから図2sに示すユーザインタフェースに対する例示的な追加又は代替実施設計を示している。時間ベースのシーン122304、122306、122308は、仮想に構造化されたシーン概要122318の対応する場所ベースのシーン122302に付加されたドロップダウンメニューとして表されるが、ユーザ選択設定のいずれの種類にもすることができる。この例では、ユーザ120110は、適切な場所ベースのシーン122302、122312、122314に時間ベースのシーンを追加122310することができる。更に別の場所ベースのシーンを概要に追加122316してドラッグ及びドロップ又は例えば他の対話によって再順序付けすることができる。図2iから図2sに提示した全ての様式121202、121502、121902は、このユーザインタフェースに適用することができる。
図2x及び図2yは、図2tに提示した実施のための360°画像及びビデオを見るためのVRプレーヤの時系列システム120104のための追加の又は代替のUIを示している。時系列システム120104は、シーンの日付及び時間、並びに名前を有する全ての既存の時間ベースのシーンを得るがユーザ対話選択設定のいずれの種類にもすることができるドロップダウンメニュー122404によってこの例では視覚化される。視聴者120118は、先行するか又は後に続くシーンにナビゲート122404するか又は例でのドロップダウンリスト122404から選択されたシーンに直接ジャンプすることができる。第2のドロップダウンリスト122402により、図2t、図2yが含有されたシーンを表示する拡大ドロップダウンメニュー122402、122404を示すように、視聴者120118は場所ベースのシーンをナビゲートすることができる。リスト又は他の表示のいずれの組合せを使用することもでき、2つのドロップダウンメニューの包含は単に例示的ものである。
図2iから図2yは、本明細書に説明する方法及びシステムの例示的ユーザインタフェース実施形態を示している。特に、使用例、例えば、構成のためのシンプルで実際的なUI、インテリア設計のために芸術的に及び/又はユーザデバイスに合わせて作り変えられる様々な実施を提供することができる。上述のインタフェースはデスクトップコンピュータ及びブラウザのように設計されるが、本明細書の方法及びシステムは、ハンズフリー対話(例えば、ユーザの頭を移動することによって照準を指す)又はタッチ画面インタフェースを有するスマートフォン、ラップトップ、及びタブレットのような移動タッチデバイスを使用するヘッド装着式ディスプレイのような異なる入力方法を有するデバイスの関連に移すことができる。
Holo構造例
開示する主題は、本明細書の説明又は図に示す構成要素の構造及び配置の詳細に関してこの出願で制限されないことは理解されるものとする。開示する主題は、他の実施形態であることが可能であり、様々な方法で単独に又は他の実施形態のいずれかと組み合わせて実施及び実行することができる。本明細書に用いる専門語及び用語は解説の目的のためにあり、制限として見なすべきではないことも理解されるものとする。
図3aは、見られた時にHoloの概念を提供するための既存の又は新しく作成されたHoloと一緒に機能する地上ベースのマップを追加する例示的な追加の又は代替の全体的処理を示している。例えば、地上ベースのマップは、物理的空間のマップを提供するアミューズメントパークからインポートすることができ、ユーザは、エンドユーザ視聴者が体験するための公園内の様々な点に対するHoloをインポートする。他の例示的使用事例は、視聴のためのインポートされたHoloを有する物理的博物館レイアウトのマップを使用した博物館のためのものとすることができる。別の非制限的な例は、建設中とすることができる家又は他の建物の間取図である。建物のシステムにフロア毎にマップをインポートするか又はマップを作ることにより、Holoを作成又はインポートして様々な部屋を表示することができる。以下に説明する実施形態は、制限を意図しない間取図という語を使用する。
既存の又は新しく作成されるHoloの間取図は、既存又は技術デバイス400106を使用する。説明する処理は、既存のHoloに対する追加の間取図として表現されるがこの使用シナリオに制限されない。この例は、130102の新しく作成されたか又は既存のHoloで始まる。130104で、本発明のシステムは、図3bに詳しく説明するように文書、画像、又は第三者コンテンツなどに制限されない様々なファイルフィーマットから1又は2以上の間取図をインポートするためのインタフェースを提供する。インポートされた間取図は、図3cに詳しく説明するように130106のHoloの1又は2以上のシーンに相互接続することができる。最後に130108で、作成された間取図及びホットスポットがHoloのデータ構造に追加されHoloがサーバに保存される。
図3bは、技術デバイス400106を使用して様々なソース及びフォーマットから間取図をインポートする例示的な追加又は代替処理を示している。この処理は、複数の間取図をインポートするために多数回実行することができる。外部に作成された間取図のファイルフォーマットに応答して、特定のインポート処理が130202で選択される。
JPEG、PNG、又はGIFのような画像ファイルフォーマット130226に対して、本発明のシステムは、130204のユーザによって制御される様々な画像フィルタを使用して調節及びカスタマイズを自動的に適用することができる。カスタマイズされた画像は、130208で本発明のシステムにアップロードされる作り変えられた間取図画像130206を抽出するのに使用される。
PDF、DOCのような文書ファイルフォーマット130224を130218の特定の文書レンダリング器を使用してユーザの制御の下でプレビュー、調節、及びカスタマイズすることができる。130220の文書からの作り変えられた間取図画像抽出が図3dに詳しく説明されている。抽出された間取図画像は、130208で本発明のシステムにアップロードされる。
例えば、オンラインマップ、コンピュータ支援設計システム、文書及び/又は地図製造サービス又は他のソース、PDF、又は他のファイルタイプからの第三者コンテンツ130222は、コンテンツを抽出するか又は深いリンク130216を通じてこれにリンクすることによって間取図として使用することができる。130214での抽出又はリンケージの前の調節は、第三者コンテンツのプラットフォームで又は第三者コンテンツのためのプラグインを使用したシステムへの案内サポートによって実行することができる。最終的に、130212で、アップロードされた間取図画像又は第三者コンテンツの情報をHoloのデータ構造に追加することができる。
図3cは、技術デバイス400106を使用してインポート間取図上の場所と選択されたシーンとを相互接続する例示的な追加又は代替処理を示している。まずこの例では、望ましいシーンへのナビゲートを通じてシーンを選択することができる130302。同様に、望ましい間取図は、システムのユーザインタフェースで拡大された表示で選択することができる130304。拡大間取図を使用して、選択されたシーンを相互接続しなければならない場所を間取図で指摘130306することができる。選択された間取図上のシーンと場所の間の相互接続は、間取図上のホットスポットを形成することができる。それらのホットスポットは、図3e、図3f及び図3gに示す間取図にアイコンを重ねることによってユーザインタフェースに表示することができる。130308で、ユーザは、図3hに示すように作成されたホットスポットにこれに加えて方位を追加することができる。
図3dは、技術デバイス400106を使用してクロッピング又は回転のような変換を加えた後に文書から間取図の高精細版を抽出する例示的処理を示している。1又は2以上の間取図グラフィックを含む文書の表示をサポートして、130402で本発明のシステムは適切な文書レンダリング器を使用して選択された文書の各ページのプレビュー画像をレンダリングすることができる。この例でユーザは、選択された文書ページから間取図又は間取図のある一定の部分を抽出するために、図3fに示すようなインタフェースを使用して、プレビュー画像を選択して130404でクロッピング又は回転のような変換を適用することができる。ユーザによって加えられた変換は、本発明のシステムによって記録することができ、本発明のシステムは、継続して及び/又はスケジュールで更新して、加えられた変換に従ってプレビューすることができる。最終的に例では、ユーザが間取図の望ましい抽出に達した時に、本発明のシステムは記録された変換を使用して、適切な文書レンダリング器を使用して130406で間取図の高精細版をレンダリングすることができる。この時間は、詳細な高精細間取図画像を発生させるための高精細モードである。
図3eは、技術デバイス400106を使用して間取図を含むHoloを編集するEditorの例示的な追加又は代替ユーザインタフェースを示している。この例では、UIのシーンリスト130508が、現在アクティブなシーン130502及び現在のHoloの更に別のシーン130504を列挙する。多くのシーンを「追加」ボタン130506又は他の対話によって開かれたインタフェースを使用して追加することができる。中央セクション130510は、現在アクティブであるシーン130502のコンテンツを表示することができる。そのような例では、上部左又は他の場所に間取図インタフェース130526を重ねることができる。このインタフェース130526は、下のHoloの上部及び更に別の間取図130514上のアクティブ間取図130512を有する間取図の「スタック」130512 130514を含むことができる。アクティブ間取図130512上に複数のホットスポット130522及び130524を重ねることができる。この例では、ホットスポット130522をアクティブシーン130502に相互接続することができ、アクティブ間取図130512上のアクティブホットスポット130522として重ねることができる。アクティブ間取図130512上の更に別のホットスポット130524を異なるアイコン又は色を使用してアクティブ間取図13012に重ねることができる。アクティブ間取図130512の他に、別の間取図130516をHoloに追加して、アクティブ間取図130518を入れ替えるかつアクティブ間取図130520を除去するためのツールのセットが示されている。
図3fは、技術デバイス400106を使用して間取図のインポートのためのEditorの例示的ユーザインタフェースを示している。上記及び図3bに示すように、ユーザがファイルフォーマットに基づいて間取図をインポートする場合に、対応するインタフェースが提示されている。図3fでは、画像ファイル又は文書のための例示的ユーザインタフェースが提示されている。この例のダイアログ130602は、添付ツールバー130610を有するプレビュー区域130608、ページ選択制御130612、及び処理を取り消す130604又は変換された間取図を追加する130604ボタンから作られる。図3b及び図3dに示すように、ツールバー130610と共にプレビュー区域130608をプレビューされた画像へのクロッピング又は回転のような変換を適用するためにユーザによって使用することができる。ツールバー130610のボタン及びアイコンは、可能な変換に応答して変えることができる。間取図ソースのファイルフォーマットを考えると、変換された画像を図3b及び図3dに示すように得られる変換段階を使用して高精細版で直接使用するか又は再生することができる。文書ソースの場合に、ページ選択制御130612がプレビュー区域の下に表示されている。
図3gは、技術デバイス400106を使用した拡大間取図130702でのホットスポット130704 130706ナビゲーション及び作成のための例示的ユーザインタフェースを示している。図3eに示すようなアクティブ間取図130512は、ユーザによって拡大することができる。拡大間取図130702は、異なる色及び/又はアイコンを有する相互接続ホットスポット130704 130706によって重ねることができる(図3eの小さい間取図表現130512と同様に)。アクティブシーン130502がホットスポット130704に相互接続された場合に、このホットスポット130704は、非アクティブシーン130504に相互接続されたホットスポット130706に比べて強調させることができる。ユーザは、拡大間取図130702で望ましい場所を選択することによってアクティブシーン130502のホットスポット130704を作成又は再配置することができる。既存のホットスポットの再配置は、ドラッグ及びドロップ又はUIとの他の対話を有するユーザによって実行することができる。既存のホットスポットの選択は、相互接続されたシーンにユーザをナビゲートすることができる。重ねられたホットスポットの色、アイコン、及び場所を相応に更新することができる。
図3hは、技術デバイス400106を使用した間取図130702上のホットスポット130704、130706に対する方位130802の表示及び追加のための例示的ユーザインタフェースを示している。図3gに示すホットスポット130704、130706に加えて、ホットスポット130704、130706を相互接続シーンの方位を表す方位130802によって延ばすことができる。単純なホットスポットと同様に、アクティブシーンに相互接続された方位130704を有するホットスポットは、非アクティブシーンに相互接続されたシーン130706とは異なる。方位付けられたホットスポット130704、130706のアイコンは、例えば、矢印130802又は間取図130702内の相互接続シーンの方位130802を示す他のグラフィックによって拡張することができる。ホットスポット130704、130706の方位は、異なる方法又はユーザサポートフローを使用して追加又は編集することができる。更に、シーンのVRインタフェース130510で実行される順番は、ホットスポット130704、130706のアイコンの方位130802と同期することができる。
方位の例
これに加えて又はこれに代えて、本明細書のシステム及び方法は、様々な方位特徴をサポートすることができる。図4aは、例示的システム方位の例のシナリオ140100の図である。この例では、球面又はパノラマカメラ図29aによって作成される第1のパノラマ画像140102の北方向140104が、ユーザにより手動で又は自動処理のいずれかで定義され、例えば、図29aのカメラデバイスによって配信される。更に、各パノラマ画像は、パノラマ画像に対面するユーザの方向を表す独自の仮想カメラ140106を有すると考えることができる。複数のパノラマ画像が互いに接続されて各パノラマ画像上の仮想カメラ140106の回転が同期されない時に、シーンの類似の小さい部分を共有するとしても、この表示に問題が発生する場合がある。それらの問題を克服するために、第2の接続パノラマ画像140108の仮想カメラ140112は、前の北方向140104とそれに対応する仮想カメラ140106の間の角度140113を計算することによって自動的に決定することができる。この角度140113は、次の画像の北方向140110とその仮想カメラ140112の間の同じ角度140113である。2つの画像内のそれらの2つの基準方向を使用することにより、いずれのユーザ入力もなしに、パノラマ画像の方位を同期させることができる。
図5aは、インポートされた間取図に対して、本発明のシステムのシーンの写真に場所を適用するための例示的方法150100を示している。この例におけるシステムは、限定されないが完全に360°球面カメラを含むカメラ150102、390102、限定されないがスマートフォン、タブレット、及びスマートウォッチを含むユーザ入力をサポートしてソフトウエアを実行することができるディスプレイ400110を有するコンピュータデバイス150108、400106を含む。限定されないがマップ及び/又は間取図を含み、ユーザに方位の形式を提供するデジタル文書150110を使用することができる。この文書は、デバイス150108、400106を通じてディスプレイによってユーザに提示することができる。デバイス150108、400106で実行されるソフトウエアを通じて、ユーザは、この文書と対話することができる。この例におけるデバイス150108、400106は、カメラ150102、400108に接続する必要なく、ケーブル又は無線を通じることもない。ユーザがカメラ150102、400108で写真150106を撮影する時に、ユーザは、例えば、画面を押圧することにより、デバイス150108、400106で文書150110と対話する150112ことができる。この対話150112により、ユーザは、画像がカメラ150102、400108で撮影された例示的文書150110上の適切な場所を選択することができる。
図5bは、追加された場所15202がデバイス150108、400106上でどのように視覚化することができるかを示している150200。例示的方法は、複数の画像及び複数の場所150202をサポートすることができる。1又は複数の写真が撮影されて1又は複数の場所150202が選択された後に、1又は複数の場所150202は、ユーザが場所150202を選択した場所でデバイス150108、400106上、マップ150204又は間取図のような他のディスプレイ上に視覚化することができる。
図5cは、ユーザ150302が間取図で示された現実世界内の場所を定期的に再訪問し、それらの場所の様々な時点で、例えば、ウォーキングツアーが毎週同じとすることができる建物内の全ての部屋の毎週の写真を撮影する使用事例を示す例示的流れ図である。ユーザ150302がこの例におけるカメラ400108で写真150304を撮影した時に、写真をタイムスタンプと共に格納する150306ことができる。ユーザ150302は、別のデバイス400106にこれに加えて又はこれに代えて対応する場所を格納することができる。ユーザ150302は、新しい場所を選択する150308か、又は前に作成された中間地点を受け入れる150312ことができる。ユーザが新しい場所を選択した150308場合に、この場所の次の訪問に使用することができる新しい中間地点を発生させる150310ことができる。ユーザ150302が場所を選択した後に、新しい場所150308又は中間地点を受け入れる150312ことにより、場所及びタイムスタンプの両方をシステムによって格納することができる150314。この処理は、本発明のシステムが異なる時点で1つの場所を異なる写真に自動的に割り当てることを可能にする。ユーザ150302が前よりも類似の順序で類似の場所を訪問したい時に、本発明のシステムは、初めて場所が追加された150308場合を除いて自動的に中間地点を受け入れる150312ことによってユーザが写真を撮影した場所を予想することができる。ユーザ150302は、例えば、場所が所与の時間に到達可能でない場合に、ある一定の場所を省略することができる。ユーザ150302が物理的場所のユーザのツアーを終了した後に、写真及び位置情報をコンピュータデバイス400106で処理150316することができ、例えば、注釈を追加する、並べ替える、又はサーバにアップロードする。任意的に、これは、ツアー中に実行することができるが、これを後で実行することは、写真撮影デバイスとユーザ150302が場所を選択した場所との間の接続を要求しない。
図5dは、写真の注釈を可能にする本発明のシステムの例を示している。限定されないが、全360°球面写真を含む写真150402が撮影された後に、ユーザは、限定されないが画像150406、テクスチャ注釈150408、3D要素150412及び描画150410を含む注釈及び他の任意の要素をコンピュータデバイス400106を使用して追加することができる。既存の音声ファイルを使用するか又はマイクロフォンで音声を録音することにより、音声注釈150414を追加することができる。得られるシーン150404をこれに加えてオリジナル写真150402に格納することができる。
レイアウトの例
これに加えて又はこれに代えて、本明細書のシステム及び方法を使用して異なるレイアウトを構成することができる。図6aは、限定されないが距離及び角度を測定するのに使用される測定ツールを含むキャンバス及び例示的特徴と呼ぶことができるシステムの作成モードの例示的視覚化を示している。測定ツールを使用して、限定されないが指定されたキャンバス内の距離及び角度を含むキャンバスの幾何学寸法を測定することができる。これは、タッチ画面を有するデバイス、図30c−fのようなヘッド装着式デバイス、キーボード及びマウス、又はあらゆる他のポインティング又は適切な入力デバイスを有する図30aのようなデスクトップコンピュータデバイスから実行することができる。
測定は、限定されないが図29aのような球面カメラを含むデバイスによって撮影された360°画像に実行することができる。図6aに示すように、基準キャンバス作成モード160134で、基準キャンバスを作成160128することができ、この上に形状を発生させるための基準として後に使用してキャンバス160128上の距離を測定し、球面テクスチャ160150をキャンバス160128に投影160142し、限定されないが360°画像及びビデオフレームを含む背景映像に表示される物理的構造(例えば、壁)に適合するまでキャンバス160128形状を修正することができる。この例では、キャンバスを発生させるために、ユーザは、UIのシーンのフロア160130で始めて、完全なフロア区域160132にマーキングすることができ、本方法は、壁160128が始まる場所を示す。個別の基準キャンバス160128は、キャンバス160128の異なる境界160112、160104、160106、160108上に複数の場所をマーキングすることによって発生させることができる。1つの可能なユーザフローの例は、キャンバス160128の下部境界160112上の場所160102を最初に選択し、次に、キャンバス160128の上部境界160116上の第2の場所160106をクリックすることによって又はキャンバス160128の下部境界160112上の第2の場所160104をクリックすることによってキャンバスの高度160114を定義することである。第1の事例では、第3の場所160108は、キャンバス160128の上部境界160116上にマーキングしなければならない。それらの段階によることにより、平面基準キャンバス160128の上部160116及び下部160112境界を定義することができる。任意的に、多くの境界、例えば、矩形基準キャンバス160126を発生させるために左境界160124及び右境界160126にマーキングして定義することができる。
基準キャンバス160128の正確な3D位置及び回転は、限定されないが、コンテンツが間取図160130に対して撮影されたカメラ高度、間取図160130とカメラの間の角度、及び間取図160130と物理的な壁160132の間の角度を含む情報を使用して計算することができる。この情報を使用して、間取図160130と面160128の交差点160102 160104の3D位置を計算することができる。同じ情報を使用して、点の3D位置160106 160108及び面160128の上部境界160116を計算することができる。限定されないが三角形及び矩形基準キャンバス160128を含むこの方法を使用することができる。基準キャンバス160128が間取図160130に垂直である場合に、間取図160130と物理的壁160132の間の角度を自動的に受信することができる。同じ方式で、互いに垂直である物理的面間の全ての他の関係を使用して、ユーザのために作成処理160134を単純化することができる。作成された基準キャンバス160128は、同じ仮想空間に全て配置され、正しい絶対サイズ、3D位置及び回転を有する。1又は複数の基準キャンバス160128を使用して、限定されないが、距離、角度、及び体積を含む絶対値を測定することができる。それらの測定は、同じ絶対特性を有する同じ物理的空間を表す同じ仮想空間における全キャンバス160128の絶対位置、回転、及びスケーリングのためにキャンバス間で実行することができる。これは、本発明のシステムが、物理的空間で各面160130、160132、160150、160118、160114に対して仮想基準キャンバス160128を発生させることによって物理的空間の任意の仮想表現を発生させることを可能にする。仮想空間における距離及び面積を物理空間にマップする倍率は、画像の内側の距離又は面積に物理的世界の正確な値及び単位を提供することによって決定することができる。これは、限定されないがカメラ高度を含む。
これに加えて又はこれに代えて、この基準キャンバス160128を他のモードで使用することもできる。一部の例では、複数の基準キャンバス160132を作成してシーンの完全な物理的構造を反映するように接続することができる。基準キャンバスの1つ160128を使用して、キャンバスによって表される両方の物理的構造が互いに直交する場合にキャンバス2の160132の作成処理を単純化することができる。この場合に、2つの点、例えば、キャンバス2の160132の高度及び右開始点160124を予めキャンバス1の160128によって定義することができ、例えば、キャンバス2の160132の長さを第2のキャンバスを発生させるために定義しなければならない。
フロアキャンバス160130は、フロア160130の正しい形状を最初にマーキングすることによって同時に全ての壁を定義する前にこれに加えて又はこれに代えてユーザによって定義することができ、同じ方法で全ての壁の高度を定義する第2の段階として、各基準キャンバス160128が個々に作成される場合に高度160114が定義される。
一部の例では、少なくとも1つのキャンバス160128が定義された後で、測定モード160136を使用して、キャンバス160128での距離160110を測定することができる。開始点160110及び終了点160110は、1次元距離160122の測定を開始するためにユーザによってマーキングすることができる。同様に測定の開始及び終了点をマーキングすることにより、2次元区域160118及び3次元体積160144を同様に基準キャンバス160128で測定することができる。
これに加えて又はこれに代えて、あらゆるカスタムテキスト160122及び他の注釈、描画、色、又は他のコンテンツは、3D空間又は球面上の基準点なしに正常に配置されるようにキャンバス160128上に配置することができる。キャンバス160128の方位及び他の特性を使用して、追加のコンテンツ160122をこのキャンバス160128にそれぞれ位置合わせすることができる。
これに加えて又はこれに代えて、測定モード160136と類似の方法で、ユーザは、角度モード160138に切り換えて作成されたキャンバス160132上の角度160146を測定することができる。角度を測定するために、ユーザは、角度にマーキングするキャンバス160132上の点160148を定義しなければならない。次に、3DのUI160146を作成して、キャンバスの上部の仮想オーバーレイの一部として3D空間に定義された値をレンダリングすることができる。
投影モード160142は、限定されないが作成されたキャンバス160128上へのシーンの360°画像160150を含む仮想シーンの投影を可能にすることができる。この投影は、キャンバスの縁部を360°画像上の対応する縁部に位置合わせしてそれらの縁部が位置合わせされるように360°画像の残りを引き延ばす又は圧縮することによって実行することができる。これは、元のオリジナルコンテキスト画像160150が作成されたキャンバス160128によって完全に重ねられるシーンの3D再構成をもたらすシーンの全物理的構成によって実行することができる。この例では、本発明のシステムは、立体モードでの正しい深度によってレンダリングすることができる3Dモデルへの単一360°画像160150の変換を可能にする。
これに代えて又はこれに加えて、形状作成モード160140で、例えば、物理的オブジェクト(この例ではドア)160118に対応する形状160120を使用することができ、限定されないがヒットボックス区域又は3Dオブジェクトを含み、キャンバス160132上に定義することができ、この作成された形状160120とのユーザ対話を可能にする。従って、ユーザは、作成された形状160120が選択、例えば、クリック又は軽く叩かれた時に発生することを定義することができる。複数の可能な例の1つは、形状160120がクリックされると直ちに、シーンが指令システムを使用して新しいシーンに切り換わることである。別の例は、投影モード160142を使用することにより、シーンにおける平坦3Dモデルとして使用する形状をキャンバスから抽出する。ユーザは、例えば、キャンバス160128上にウィンドウ160144を選択して、これを複製してオリジナルウィンドウの隣に配置してシーンを修正することができる。
ウェブページの例
これに加えて又はこれに代えて、本明細書のシステム及び方法は、ウェブページ特徴をサポートすることができる。図7aは、Holoの作成者がどのようにして、いずれのシーン122002に対してもオーバーレイの特別なタイプとして仮想シーンの上に重ねられるHTMLページを発生させることができるかの例を示している。このオーバーレイ170101は、プレーヤモードでユーザが後でシーンを開く時に仮想シーンの上部に見えるようにすることができる。従って、限定されないが、WebGLを使用したテキスト、画像ビデオ、及び/又は他の3Dレンダリングを含むHTML及びリッチコンテンツ170102の全てのタイプによってサポートされる全ての特徴を有するいずれのHTMLページ170101も仮想シーン122002の上部に配置することができる。
そのような例では、オーバーレイHTMLページ170101は、情報を制御及び受信して、限定されないがオーバーレイHTMLページ170101の特定の方法が呼び出された時に現在のシーン122002を切り換えるか又は仮想カメラを回転する段階を含むタスクを実行するために元のHoloとJavaScriptAPIを通じて通信することができる。
この技術はカスタマイズを可能にする。いくつかの非制限的な例は、HTMLページ170101の内側のビデオ170102が終了した後に表示される仮想シーン122002の上のオーバーレイとしてカスタム2D地理マップ、又はカードボード400202のようなヘッド装着式ディスプレイを有するユーザがある一定の方向を向いた後に変化するHTMLページ170101のコンテンツを発生させることになる。
注釈の例
これに加えて又はこれに代えて、本明細書のシステム及び方法は、注釈特徴をサポートすることができる。図8aは、代替的に又はこれに加えて本明細書に説明するシステム及び方法と共に使用することができる注釈を表示する例示的UI表現を示している。注釈は、大域的又は局所的注釈リスト180112のあらゆるエントリとすることができる。注釈は、限定されないが、3Dオブジェクト180106及びテキスト180108を含むHolo180102の1又は2以上のオブジェクト180104に関連付けることができる。更に、注釈は、任意的に1又は2以上のユーザ180110に関連付けることができる。注釈は、関連付けられたユーザによって行われるタスク又はテキスト又は視覚形態のあらゆるノートの任意のタイプを表すことができる。
これに加えて又はこれに代えて、図8bは、限定されないが図29d、図30aに示すデバイスを含むあらゆるデバイスのHoloエディタで対応するオプションを選択する180202ことによって新しい注釈を作成したいHoloの作成者、又は十分なアクセス権を有する別のユーザのための処理フローの例示的な図を示している。続いて、特定の順序なしに、作成者又はユーザは、Holo内の関連付けられたオブジェクトを指定180208する、関連付けられたユーザを指定180206する、及び注釈リストに現れるべきである場合にテキストで又は視覚的に注釈を説明180204することができる。この例では、関連付けられたオブジェクトの明細及び注釈の説明を要求することができると同時に関連付けられたユーザの明細は任意とすることができる。関連付けられたユーザは、本発明のシステムの既存のユーザ又は電子メールアドレスのような大域的デジタル識別子を使用して識別することができる外部の人間のいずれかとすることができる。必要なパラメータが存在する状態で、作成側ユーザの選択に従って大域的又は局所的注釈リストに注釈を追加する180210ことができる。1又は2以上の関連付けられたユーザが指定されている場合に、このユーザに、新しい注釈が、例えば、電子メール及び対応する注釈リストへの許可されたアクセス権を通じて通知される180212。
これに加えて又はこれに代えて、図8cは、新しい注釈を発生させる処理流れ図を示している。注釈は、Holoの作成者、又は十分なアクセス権を有する別のユーザにより、限定されないが、図29d、図30aに示すデバイスを含むあらゆるシステムを使用してHolo内の1又は2以上のオブジェクトを選択した後で発生させることができる。オブジェクトが選択された状態で、作成者又はユーザは、新しい注釈を発生させるためのオプションを選択する180302ことができる。続いて、作成者又はユーザは、注釈リストに現れる注釈を文字又は視覚的形態で説明180306して、任意的に1又は2以上の関連付けられたユーザを指定する180308ことができる。必要なパラメータが存在する状態で、作成側ユーザの選択に従って注釈を大域的又は局所的注釈リストに追加する180310ことができる。1又は2以上の関連付けられたユーザが指定されている例では、関連付けられたユーザに、例えば、電子メール及び対応する注釈リストへの許可されたアクセス権を通じて新しい注釈が通知180312される。
図8dは、新しい注釈が作成された後の例示的処理流れ図を示している。注釈処理は、限定されないが図29d、図30aに示すデバイスを含むデバイスでこれに加えて又はこれに代えて実行することができ、大域的又は局所的注釈リストのいずれかに追加することができる。注釈に関連付けられた全ユーザに通知する180402ことができる。続いて、全ユーザは、対応する注釈リストにアクセスする180404ことができる。個々の注釈にアクセスする時に、個々の注釈は、図8eに示すようにそれらのオブジェクトへのフォーカスと共に関連付けられたオブジェクトを含有するHoloに自動的に転送することができる。所与の情報と共にそれらは必然的に進行180406し、後で解消された時に注釈にマーキングする180408ことができる。
図8eは、対応する注釈リスト180508から又は通知から直接個々の注釈にアクセスした時に、又は注釈180512に関連付けられたHolo180504 180506の1又は2以上のオブジェクトを選択180510した時に、限定されないが図29d、図30aに示すデバイスを含むあらゆるデバイスを使用して見ることができる例示的ビューを示している。注釈は、関連付けられたオブジェクトと同じか又は同様に見える3D位置に空間的に配置されたあらゆる文字又は視覚形態でHolo内に直接表示することができる。関連付けられたユーザが注釈リスト又は通知からHoloに送られた場合に、関連付けられたオブジェクトが自動的にフォーカスされる。
図8fは、議論するように、限定されないが図29d、図30aに示すデバイスを含むデバイスを使用して注釈にマーキングする時の例示的ビューを示している。この例では、Holo内に直接、関連付けられたユーザが、例えば、チェックボックス180614又は類似のものをクリックすることにより、解消されたとして注釈にマーキングすることができる。注釈の新しい状態が、一部の例ではリアルタイムで対応する注釈リスト180608に自動的に伝播される。この同期は2方向性質のものとすることができる。すなわち、注釈が対応する注釈リスト内で解消されたことを示すと、同様にリアルタイムでHolo内の注釈の表示状態に影響を与える。注釈がタスクを表す場合に、1人の関連付けられたユーザが解消されたものとしてマーキングすると直ちに解消されたものとして大域的にマーキングされる。注釈がタスクを表さない場合に、全ての関連付けられたユーザはこれを解消されたものとしてマーキングすると直ちに解消されたものとして大域的にマーキングすることができる。後者の事例の例は、指定された人のリストによって読み取らなければならない重要な通知である。
図8gは、いくつかのHolo180702を含む大域的注釈リストの例の範囲を示している。すなわち、これに加えて又はこれに代えて、このリストは、この範囲内にあるHolo内の全てのオブジェクトに対する注釈を含有することができる。対照的に、局所的注釈リストの範囲は、単一Holo180704に制限することができる。注釈リストのタイプ及び範囲は、リストの作成者によって定義することができる。注釈リストは、新しい注釈180210 180310を作成した後に、又は専用個別のインタフェースを使用した後に無線で発生させることができる。
塗装の例
これに加えて又はこれに代えて、本明細書のシステム及び方法は、塗装体験をサポートすることができる。図9aは、限定されないが図29a及び図29bに示すデバイスを含む球面又はパノラマ画像によって発生させることができるHolo及び360°画像のための塗装ツールのような使用することができる例示的特徴のセットを示している。この塗装ツールは、限定されないが図29dに示すデバイスを含み実行することができる360°画像190102を含むHolo内に直接任意の自由形状ストローク190104 190106を発生させる方法をユーザに提供することができる。複数の色、影、パターン、及びテクスチャ、並びに様々な仮想ペイントブラシサイズ、形状、並びに仮想ペン、ペンシル、消しゴムのような別の塗装プログラムに見出されるような塗装ツールのいずれのアレイも提供することができる。ストロークは、3次元シーン内の球面の内側、すなわち、Holoにレンダリングされた時に、対応するインタフェースから自由形状塗装ツールを選択した後にユーザにより、360°画像の面に直接ペイントすることができる。この塗装処理は、限定されないが、コンピュータマウス及び画面400110、手持ち式ポインタ、ジョイスティック、又は他のコントローラ、又はタッチ画面、図29dのような人間−コンピュータインタフェースを使用して実行することができる。自由形状ストロークは、対応するインタフェースを使用して決定することができる任意の厚み及び色、それらの両方を有することができる。特に一部の例では、自由形状ストロークは、図8a、8b、8c、8d、8e、8f及び8gのシーン内の注釈、及び/又は図10aのシーン内の注釈とすることができる。
図9bは、360°画像190202を含むHoloに事前に定義された幾何学的図形190204 190206を統合する方法をユーザに提供するHolo及び360°画像のための例示的塗装ツールを示している。事前に定義された幾何学的図形は、限定されないが、矩形190204、正方形、ひし形190206、長円、及び円190208を含む。幾何学的図形は、3次元シーン内の球面の内側、すなわち、Holoにレンダリングされた360°画像の面に直接ペイントすることができる。それらは、対応するインタフェースからそれぞれの塗装ツール(例えば、矩形、ひし形、円)を選択した後にユーザによって配置することができる。幾何学的図形を配置してそのサイズを指定する処理は、限定されないが、コンピュータマウス及び画面400110又はタッチ画面、図29のような人間−コンピュータインタフェースを使用して実行することができる。幾何学的図形は、任意の境界の厚み及び色を有することができ、この両方は対応するインタフェースを使用して決定することができる。特に、幾何学的図形は、図8a、8b、8c、8d、8e、8f及び8gにおける注釈、及び/又は図10aのシーンにおける注釈とすることができる。
マルチユーザの例
これに加えて又はこれに代えて、本明細書のシステム及び方法は、1又は2以上のユーザのアバター特徴を有するHoloのオブジェクトによってマルチユーザ体験をサポートすることができる。図10aは、限定されないが、図30aに示すデバイスを含むデバイスでのマルチユーザ体験の部分のプレーヤモードにおけるユーザの例示的ビューを示している。この例では、ユーザは、他のユーザ200101をあらゆる作成されたHoloのマルチユーザ体験に招待することができる。従って、この体験に加わるユーザ200101は、限定されないが図30aに示すデバイスを含むデバイスで、シーンにおける同じ拡張された仮想コンテンツ122002及び加えて他のユーザ200101を見ることができる。ウェブキャムフィード200102をある一定の実施形態に使用して、ユーザの仮想表現、又はユーザによって選択することができる仮想アバターのような別の仮想表現、又はその顔又は身体の表現又はライブフィードのいずれかを見ることができる。これに加えて又はこれに代えて、音声を全ユーザ200101間の自然な通信のために一部の例に使用することができ、音声の空間位置は、ユーザの独自の位置及び方位に基づいて正しい方向及び距離からこれ以外のユーザ200101の声を他のユーザ200101が聞くのと同じ仮想表現の位置にある。カメラ400102が自由に動くことができ360°シーンとしてシーンの中心にロックされない標準的な3Dシーンでは、他のユーザ200101のウェブキャムフィード200102は、このユーザの仮想カメラが所与の時間に位置付けられた場所で表示することができる。他のユーザ200101の方位は、そのアバターに投影することができ、他のユーザ200101が見ている場所の理解を与えることができる。マルチユーザ体験に加わるユーザ200101は、ある一定の権利を取得することができ、例えば、全ての接続されたクライアント間で同期することができ、限定されないが図29aに示すデバイスを含む球面又はパノラマカメラによって発生させることができる360°画像/映像における注釈200103を追加及び描画することができる。そのような注釈は、特に図8a、8b、8c、8d、8e、8f及び8gの感覚における注釈とすることができる。これに加えて又はこれに代えて、ユーザは、シーンにテキスト及び他のリッチコンテンツ200104をペースト及び配置することができる。拡張又は仮想シーン122002はコンテキストを提供することができ、コラボレーションセッションの結果は、セッションが始まったオリジナルHoloの新しいブランチとして保存することができる注釈、テキスト、画像、リンク、及び他の作成可能なコンテンツを有するHoloである。
図10bは、マルチユーザ体験が、仮想カメラの固定空間位置200204及びユーザ200101によって設定されたその方位のみを有する360°シーン200202を含有する例を示している。そのような例では、ユーザ200101の仮想表現は、他のユーザ200101が現在見ている360°シーンの位置200205に配置することができる。他のユーザ200101のアバターの方位は、球面の中心200204に向くことができる。ユーザ200204は、360°シーン内のあらゆる他の仮想コンテンツのようなユーザの現在の視野200203内のユーザだけを見ることができる。多くのユーザ200101が同じ場所を見ている場合に、ユーザのアバターは全て、同じ場所200205にすることができる。特定のアバターのみを表示してシーンに他のアバターを存在させないために、ユーザは、関連のアバター200208、例えば、選択UIを通じて多くの聴衆に提示する単一提示器200206を選択することができる。この選択UIは、例えば、個別のリスト200207とすることができ、又は別の例としてユーザは、望ましくない周囲のアバターから分離するために拡大効果を使用してターゲットキャラクターを取り上げる。一部の例では、デフォルトにより、多くの聴衆であるがこの聴衆のごく小さい部分集合200208だけがHoloへの編集権を有する場合に、部分集合に発生する体験は、反転表示されたユーザのデフォルト選択として選択することができる200208。一部の例では、Holoへの編集権を有するユーザ00208は、シーンを永続的に変更することができ、全ての他のユーザ200101は、それらの変更を自動的に見ることができる。一部の例は、ユーザがリンク及び他の文字コンテンツのような文字情報を任意のチャットボックス200209で交換することを可能にする。そのような例では、情報を掲示する権限を有するユーザは、本発明のシステムで又は第三者システムを使用することによってこの情報を交換することができる。
マルチユーザの例では、ユーザは、限定されないがセッションの作成者によって送信されたリンクを受信及び開くことを含むあらゆる数の方法でマルチユーザ体験に加わることができる。ログイン、リンク、又は他の方法も同様に使用することができる。そのような例では、セッションは、パスコードを知っているユーザに対して制限されたアクセスだけを有するプライベートセッションを可能にするためのパスコードによって保護することができ、又は情報交換のためのデジタルオープン空間を発生させるためにあらゆるユーザによってアクセス可能である場合にパブリックとすることができる。従って、互いに干渉することなく同じ仮想空間に複数のセッションが存在することができる。
単一ユーザは、作成されたマルチユーザ体験セッションを書く管理権を有することができ、例えば、セッションから他のユーザをミュート、隠す又は禁止するパワーを有することができる。
オーディオの例
これに加えて又はこれに代えて、本明細書のシステム及び方法は、ユーザディスプレイ、ヘッドセット、及びコンピュータデバイスにおける様々なオーディオチャネルの使用を含むオーディオ特徴及び/又は体験をサポートすることができる。図11aは、仮想シーン210102における3D位置を有する例示的オーディオソース210104を視覚化する図である。仮想シーン210102は、技術デバイス400106によって見る及び発生させることができる。本方法は、音声ソース210104を仮想シーン210102に組み込むことができる。例示的音声ソース210104は、シーン210102における3D位置を有することができる。音がシーンにおけるあらゆる位置及び方位から同じに知覚されるようにする例では、このシーンにおける3D位置を有する必要はない。3次元空間に音声を追加することで、ユーザはある一定の場所からの音を聞くことができる。そのような音は、音声ソースに対する位置及び方位の両方に依存することができる。音声ソースに対する相対位置は、聞くことができる合計体積レベルを決定することができ、方位は、合計体積レベルよりも小さいか又は等しい2つの音声チャネルで別々に再生される体積の量を決定することができる。本方法は、例えば、全ての音声ソースに対して同じ距離を使用することにより、音声ソースまでの距離を考えることなく音声シースをサポートする。複数の音声ソース210104を同時にサポートすることができ、異なる体積レベルを有する異なる方向からの異なる音をユーザが聞けるようにする。音声ソースは、時間中遙かに再生することができ、又はある一定の事象によってトリガすることができる。そのような方法は、音声注釈を取り付けられる仮想要素を閲覧側ユーザが後でクリックした場合にトリガすることができる音声注釈をシーン内の異なる要素に取り付けるのに使用することができる。
図11bは、音声ソースのための例示的インポート処理を視覚化する流れ図である。ユーザ210202はコンピュータデバイス400106を使用して、シーンを選択することによって又は音声ソースを最初に選択することによって開始する。
例示的選択1:ユーザ210202は、音声ソースが後で組み込まれるシーン210204を選択することによって開始することができる。1又は2以上のシーン210204を選択した後に、ユーザ210202は、前の段階で選択された各シーンに対する位置210206を選択することができる。単純さの理由で、同じ場所を複数のシーンに使用することができる。そのような例では、場所があらゆるシーンに対して選択された後に、実際の音声ソースを選択することができる。音声ソースは、ユーザ210202のデバイス400106上の既存のファイルとすることができ、又はマイクロフォンを使用して録音210208することができる。この段階の後で、音声ソースはシーンに上手く組み込まれる210212。
例示的選択2:ユーザ210202は、最初に音声ソースを選択することによって開始することができる。音声ソースは、ユーザ210202のデバイス400106上の既存のファイルとすることができ、又はマイクロフォンを使用して録音210208することができる。音声ソースを選択した後で、次の段階は、音声ソースが後で組み込まれるシーン210204を選択することである。1又は2以上のシーン210104を選択した後に、ユーザ210202は、前の段階で選択された各シーンに対する位置210206を選ばなくてはならない。単純さの理由で、同じ場所を複数のシーンに対して使用することができる。この段階の後で、音声ソースはシーンに上手く組み込まれる210212。
実施形態は、ユーザが本明細書に説明するようにHolo又はシーンの選択1及び選択2の両方を使用することを可能にすることができる。2つの方法の説明は、いずれの方法への制限も意図していない。
360°ライブストリーミングの例
これに加えて又はこれに代えて、本明細書のシステム及び方法は、360°ライブストリーミングをサポートすることができる。図12aは、Holoの作成者が仮想シーンのためのコンテキストとして単一360°写真又はビデオの代わりに360°ライブストリーム220101を使用することができる方法の例を示している。限定されないがRicoh Thetaを含む図29の360°ウェブキャムを使用すると、いずれの標準的なウェブキャム400108によっても可能であるように360°ライブフィード220101をストリーミングすることができる。これは、ユーザが仮想シーンのためのコンテキストとしてこの360°ライブストリーム220101を適用することを可能にする。更に、360°ライブストリーム220101は、あらゆる他の単一360°写真又は360°映像Holoシーンとして他の3Dコンテンツの全てを含有することができる。
1つの可能な例は、1人のユーザが遠隔場所からライブストリーミングして他のユーザ200101がライブコラボレーション特徴を使用してこのユーザに語りかけ、あらゆる他のHoloシーンにあるようにライブストリーム220101のコンテンツに注釈を付ける200103。注釈を取り付けられたコンテンツは、テキスト、一時的描画200103、又は他のリッチコンテンツ200104のようにあらゆる他のマルチユーザ体験と同じコンテンツとすることができる。従って、それらはシーンで一時的に見えるコンテンツに注釈を付けることができ、フィードをストリーミングするユーザ220101は、あらゆる他のユーザ200101ができるようにユーザの仮想シーンでそれらの注釈を見ることができる。
そのような例では、ユーザ200101がライブストリーム220101が利用できないシーンに入った場合に、Holoの作成者は、利用できないライブストリーム220101の代わりにプレースホルダ360°画像又は360°映像を表示するようなフォールバックアクションを指定することができる。この機能は、ストリーミングが終了した後に記録されたライブストリームを再生するための有限ビデオストリーム220101に使用することができる。そのような事例では、ストリーミングされたビデオをストリーミングが生じている間に自動的に記録することができ、有限ストリーム220101が終了すると直ちにこの記録されたファイルがフォールバック360°映像コンテンツとして自動的に指定される。
ズームの例
これに加えて又はこれに代えて、本明細書のシステム及び方法は、ズーム表示をサポートすることができる。図13aは、視覚表示システム230102上に視覚2D/3Dコンテンツ230106のいくつかの小片のゆがめられていない表示を有するパノラマ又は球面画像230104の完全にズーム可能なVR/AR環境の例を示している。球面又はパノラマカメラ図29a/図29bによって発生させることができるパノラマ画像230104は、ユーザによって手動で又は、例えば、カメラデバイス図29a−cによって配信される自動処理で定義される。そのような例では、2D/3Dコンテンツ230106の個々の小片は互いに重複したユーザのためのビューから閉塞することができる。視覚表示システム230102は、限定されないが例えば図30a−fのような複数の表示デバイスのいずれかを通じて見ることができる。
歪みの例
これに加えて又はこれに代えて、本明細書のシステム及び方法は、表示の歪みをサポートすることができる。図13b及び図13cは、歪んでいないVR/AR環境230104の2つの例示的魚眼歪曲ビュー230208、すなわち、円形魚眼ビュー230202及び直交魚眼ビュー230302を示している。2D/3Dコンテンツ230106の定義されていない数を保持するVR及びAR環境230102を表示するシステムの完全にズーム可能なVR/AR環境230104では、挿入された2D/3Dコンテンツ230106の1又は2以上のオブジェクト230204は、図13aに示すように互いに重複/閉塞することができる。挿入された2D/3Dコンテンツ230106は、例えば、VR/AR環境230104で同時に作業するユーザのライブウェブキャムストリームとすることができる。魚眼歪曲230202 230302の示されている例示的方法により、ユーザは、当該のある一定のオブジェクト230206にユーザのためのビューをフォーカスさせることができる。当該の名前付きオブジェクト230206が幾何学に関連した2D/3Dコンテンツ230106の個々のオブジェクト230204によって塞がれる場合に、ユーザは、魚眼選択処理、例えば、230202 230302を使用して、近いオブジェクトを分離してユーザが興味のあるオブジェクト230206を選択することができる。得られる魚眼ビュー230202 230302では、関連の2D/3Dコンテンツ230208の視覚化は、ユーザのカーソルの動きによって動的にアップ又はダウンスケーリングされる。それらの視覚化をクリックすることは、このオブジェクト230206に関連付けられたアクションを呼び出すことができる。
図13dは、VR/AR環境230104、230208内の視覚2D/3Dコンテンツのビュー間で移行する方法の例示的選択処理230400の例示的個々の段階の流れ図を示している。図13dの例は、処理230400の例示的流れを表示するいくつかの処理ブロック230402−230414を含む。図13dの例に順番に並べられているが、他の例もブロックを再順序付けする、1又は2以上のブロックを変更する、及び/又は複数のプロセッサ又は2又は3以上の仮想機械又はサブプロセッサとして編成された単一プロセッサを並行して使用して2又は3以上のブロックを実行することができる。
230402で、視覚コンテンツは、2D/3Dコンテンツの歪められていない視覚化として既存のHoloに表示されている。視覚コンテンツの小片は当該の小片に重なりかつ閉塞する。230404で、ユーザは、歪められていないコンテンツの視覚化の個々の少なくとも一部は塞がれた小片にフォーカスする要求をトリガする。230406で、歪められていないコンテンツの視覚化は、当該のユーザの小片にフォーカスしている歪められた投影に変換される。230408で、歪められている投影の小片は、当該の小片との幾何学近似に従ってサイズを縮小される。ダウンサイズ小片は、当該の小片を反転表示し、上述のように魚眼ビューを呼び出す230410。コンテンツのある一定の小片を反転表示すると同時に、ユーザは、その個々の対話可能性に従ってコンテンツと対話することができる。230412で、ユーザは、歪められたコンテンツ投影から歪められていないコンテンツ視覚化への変更を要求する。230414で、歪められていない視覚化に変更した後に、歪められたコンテンツ投影におけるダウンサイジング効果を低減することができる。この例のコンテンツ視覚化は歪曲効果なしに現れる。
ローディング例
これに加えて又はこれに代えて、本明細書のシステム及び方法は、様々なローディング例をサポートすることができる。図14aは、AR/VRエディタのプレーヤモード122000におけるAR/VR環境のローディング処理中のVR/AR環境122002を示している。図29a/図29bの球面又はパノラマカメラによって作成されたパノラマ画像122002は、ユーザによる手動で、又は例えばカメラデバイス図29a−cによって配信される自動処理で定義される。視覚表示システム230102は、複数の表示デバイス図30a−fを通じて見ることができる。
VR/AR環境122002のコンテンツがプレーヤモード122000でロードされる場合に、ローディング画面240101は、VR/AR環境122002のローディング処理の持続時間中にユーザに表示することができる。この例では、ローディング画面240101は、VR/AR環境122002と対話する方法に関してユーザのためのクイック指示240102、240103を表示することができる。ローディング画面240101のコンテンツ240102、240103は、使用シナリオに従って異なる場合があり、例示的実施を示す図14aに制限されない。
シーンが、ユーザの周りの360°球面としてローディング画面のレンダリングをサポートするヘッド装着式ディスプレイ又は仮想現実ヘッドセットのようなデバイスにロードされる場合に、全球面を使用して、命令例240102及びロードされたシーン又はプレースホルダグラフィックに関する他の情報のような中間コンテンツ、全画面122002がロードされて表示される準備が整うまで示すビデオ又は他のリッチコンテンツを表示することができる。
これに加えて又はこれに代えて、半透明又は半透明設計を例えば動画式命令として、又は動画化ローディング画面を表示するローディング進行バーとして構成することができる。ローディング処理の持続時間が所定のローディング時間を実際に超えた場合に、VR/AR環境122002をローディングしながらローディング画面240101だけを表示するプログラム論理を提供することができる。例えば、このプログラムは、ローディング処理が例えば250ミリ秒よりも長く持続した時だけローディングシーン240101が表示されるように設計することができる。
顔検出の例
これに加えて又はこれに代えて、本明細書のシステム及び方法は、顔検出特徴をサポートすることができる。図15aは、VRシーンにおける自動顔検出によって構成される例示的システムを示している。自動顔検出特徴セットは、限定されないが図29a、図30aに示すデバイスを含むデバイスによって送られる多くのタイプの入力250110と一緒に機能することができる。そのような例は、パノラマ画像250112、パノラマビデオ250111、又は限定されないがテクスチャ投影を有する3Dメッシュを含む他の仮想現実シーン250114とすることができる。入力250110は、本発明のシステムによって自動的に分析することができる250116。顔が入力250110で検出された場合に、それらはプログラムされている場合は自動的にぼかすことができる250120。更に、顔の表情を分析する250118ことができ、それによってシーン250122に存在する感情を分析することができる。オリジナル入力250110はデータベースに格納しなくてもよい。そのような例では、オリジナル入力250110に後でアクセスすることはできない。
安定性の例
これに加えて又はこれに代えて、本明細書のシステム及び方法は、安定化特徴をサポートすることができる。図16aは、技術デバイス400106を使用して安定フレームレートを維持するための例示的自動動的レンダリング解像度調節の流れ図である。この例のシステムは、レンダリングシステム260103の現在のフレームレート260102に従ってレンダリング解像度260101を自動的に調節する。
一部の例では、制限された処理機能を有するシステムは、可能なフレームレートで高解像度の画像を表示することはできない。本明細書のシステムは、フレームレート260102が許容可能なフレームレートの定義された範囲260105に達するまで定義された最小解像度260104にドロップすることによってレンダリング解像度260101を修正することができる。この処理を繰返して測定し、あらゆる所与の時間に発生する場合がある可能なローディング手順によるフレームレート260102の時間短縮に対処することができる。追加のコンテンツのそのようなローディング処理又はあらゆる他のコンピュータ的に高価な計算は、処理が終了して解像度260102が再度上がるまで一時的にレンダリング解像度260101を低減することができる。
本発明のシステムは、デスクトップコンピュータ400122がそうであるような複雑な3Dシーンをレンダリングすることができないハードウエアを有するデバイスのためにこれらの方法を自動的に使用することができる。限定されないが移動デバイス400102又はヘッド装着式ディスプレイ400300を含む低速デバイスは、一定した許容可能なフレームレートに達するまで自動的に解像度を低減することができるシステムから利益を得ることができる。
断片化及び球面の例
これに加えて又はこれに代えて、本明細書のシステム及び方法は、球面画像の表示断片化及び/又はセグメント化をサポートすることができる。セグメント化は、画像の分析及び様々なアルゴリズムのいずれかを使用して示すことができる論理的形状へのそれらの分割又はセグメント化を指すことができる。このアルゴリズムを使用して順番に分析、発見、カウント、ロードすることができるある一定のセグメント化形状を識別することができる。例えば、アルゴリズムは、部屋内の全ての窓を識別及びセグメント化することができる。それらの窓は、一定した形状又は色を有することができ、画像解析を通じて本発明のシステムによって識別することができる。次に、多くの複数のHoloにわたって、本発明のシステムは窓の数を数えて、それらが間取図に位置付けられた場所を識別することができる。
画像の解像度が高い程、セグメント化も正確になる。これは、指定される多くの関心部分、形状における圧縮を可能にし、画像の他の態様の前に迅速に又は最初にロードすることができる。処理をこの方式で高速化することができる。他の例は、画像にアルゴリズムを使用して形状を見出す段階を含む。解像度が高い程、セグメント化は正確になり、後で見出される形状がより正確になる。
断片化は、画像を高速ローディングのために分けられるグリッドのような個別のパターンへの分解又は断片化を指すことができる。画像に特定の形状を識別する代わりに、断片化は単に反復パターンを画像に加え、これをロードすることができる全画像よりも小さいチャンクに分解することができる。これは、最初にロードしたいブロック又は断片化部分が、関心ではない断片の前に表示される場合に、コンピュータリソースを節約することができる。
断片化の例が図17aに示されており、図29aに詳しく説明する球面カメラデバイス270101で撮影されたオリジナル360°画像270102のセグメント化によって作成されたオリジナル解像度のいくつかの個別の部分270104を含む例示的タイル化360°画像を示している。タイルの数は、本明細書のシステム及び方法のコンテキストで変更することができる。ある一定の例では、選択されたタイルの数は、オリジナル画像の次元及び解像度を考慮に入れるアルゴリズムに基づく場合がある。
一部の実施形態では、サポートされるデバイスの数は、以下の2つの要件がアルゴリズムによって満足される時に、すなわち、タイルの数が2の累乗でありタイルが高々2048x2048の解像度を有する時に増すことができる。
図17bは、例示的球面の例示的構造を示している。360°画像を含むHoloの表示に応答して、本明細書のシステム及び方法は、図29aに詳しく説明する球面カメラデバイス270101によって撮影された360°画像270202の低解像度バージョンを重ねることができる。同じ画像270204又は同じ画像の一部の様々な高解像度タイル化バージョンのいずれも備えたこの画像270202を最初にロードすることができる。個々のタイル270206は、サーバに繰り返して及び非同期にロードすることができる。タイルが存在する限り、360°画像の低解像度バージョンは、完全に覆われ、従って、除去することができる。
図17cは、コンピュータデバイス400106を使用するクライアント側270302で、ユーザが360°画像270304のオリジナルバージョンをアップロードすることができる方法の例を示している。前処理構成要素では、低解像度の単一タイルバージョン270306、並びに高解像度多タイルバージョン270308をオリジナル画像から計算することができる。通信ネットワーク、例えば、インターネットを通じた送信により、低解像度バージョン、並びに個々のタイルをサーバ270310に送信することができる。サーバは、全ての送信されたデータを永続データストア270312に格納することができる。特に、オリジナル360°画像の低解像度シングルタイルバージョン及び高解像度マルチタイルバージョンの計算を含む全ての前処理段階はクライアント270302に発生することができ、サーバ270310は単独で永続データストアと通信し、同時に360°画像の様々なバージョンを受信及び配信することができることに注意しなければならない。
図17cに部分的に対応する図17dは、本明細書のシステム及び方法が、図29aに詳しく説明する球面カメラデバイス270101によって撮影されたユーザ270402からの360°画像のオリジナルバージョンを最初に受信することができる方法を示している。続いて、並行処理で、360°画像270406の低解像度シングルタイルバージョン270404、並びに高解像度マルチタイルバージョンを計算することができる。続いて、コンピュータ化タイルの低解像度バージョン、並びに全てをサーバ270408に送信して永続データスタ270410に保存することができる。
図17eは、球面ローディング処理の例を示している。ユーザが、サーバ270502からの360°画像を含むHoloを要求した時に、まず以前に計算された低解像度バージョンをクライアントのコンピュータデバイス400106に送信してユーザ270504に表示することができる。低解像度バージョンが表示された後で、ユーザは本発明のシステムの使用を開始することができる。一部の実施形態では、低解像度バージョンが完全にロードされた後だけに、高解像度バージョン270506の個別のタイルを非同期方式270508でクライアントのコンピュータデバイス400106に送信することができる。高解像度バージョンの全ての個々のタイルがサーバ270510による送信に成功すると間もなく、360°画像の低解像度バージョンは完全に覆われて除去することができる。
オブジェクトの例
これに加えて又はこれに代えて、本明細書のシステム及び方法は、ディスプレイオブジェクトをサポートすることができる。図18aは、限定されないが、クライアント側280102に位置付けられたテキスト、2Dグラフィック、3Dオブジェクト、及び注釈を含む任意のオブジェクト280104を追加するための例示的機能を示している。そのような例ではクライアント側に、限定されないがHolo280106に追加されるオブジェクトのためのMD5を含むアルゴリズムを使用してハッシュ値を計算するための機能を配置することができる。サーバ側280108との通信は、通信ネットワーク、本明細書に説明するように例えば、インターネットを通じて発生させることができる。そのような例では、サーバが、様々なデータストア280112、400106のいずれかにオブジェクト及びハッシュ値280110を格納して様々なデータストア280112、400106のいずれかからそれらを取り出すことができる。オブジェクトは、そのハッシュ値280110と共にデータストア280112に存続することができるが、ハッシュ値280110及び関連付けられたオブジェクトの各対を一度及び一度だけデータストア280112に存在させることができる。
図18bは、任意のデバイス図30aからユーザ280202からのオブジェクトの受信で開始するHoloに使用されるオブジェクトのアップロード及び既存のハッシュ値の試験の例示的処理を示している。続いて、この特定のオブジェクトに対するハッシュ値をコンピュータデバイス400106を使用してクライアント側で計算280204することができる。サーバと通信し計算された値を送信することにより、特定のハッシュ値が対応する検索280206を実行することによって図18aからデータストア280112に既存の280208であるか否かが検査される。ハッシュ値がデータストア280112に既存である例示的事例では、サーバと更に通信することなくユーザのオブジェクトをHolo280212に直接追加することができる。ハッシュ値がデータストア280112に予め存在しない例示的事例では、ユーザのオブジェクトをサーバに送信して、ユーザのHolo280212にオブジェクトを追加する前に関連付けられたハッシュ値280210と共にデータストア280112に存続させることができる。
処理の例
これに加えて又はこれに代えて、本明細書のシステム及び方法は、異なる処理技術を使用することができる。図19aは、ユーザが、限定されないが既存の仮想シーンUIにドラッグする段階を含むあらゆる方法によっていずれかの3Dモデルファイル111800をインポートした時にユーザによってトリガされる例示的処理を示している。そのような対話は、モデルインポート処理290101に作成者290112のデバイス290107、400102、400122のメモリ290108、400114内のモデルファイル290102の読取をローカルに開始させることができる。これは、異なるターゲット監視器290110に後で表示されるようにモデルをカスタマイズするためのモデルの更に別の構文解析290103、変換290104、及び処理290109を可能にすることができる。この処理は、サーバ290105又はあらゆる他のソースへの接続を必要としない計算の完全にローカルのシリーズとすることができる。これは、センシティブな情報がバックエンドに渡されることがないので、本発明のシステムをオフラインシナリオに使用でき、ユーザのIPを保護することができる。これは、3Dモデルデータ290102をこれから抽出するためのセンシティブ製品情報を含む複雑なCAD文書を使用する時に有用とすることができる。インターネット接続が利用可能である時に、インポート290103、変換290104、及びカスタマイズ処理290109の最終結果をサーバ290105にアップロードすることができる。得られるモデル290111をインポートされた3Dモデル290106の作成者290112リストに含むことができる。
本明細書に説明する方法により、処理の性能は、図30aの作成者のフロントエンドデバイス290107、例えば、ユーザが仮想シーンを作成するのに使用するコンピュータ400122に頼ることができる。従って、本方法は利用可能なネットワーキング速度の処理を切り離すことができ、ハードウエア290107、作成者の400106、例えば、CPU290113、400112及び利用可能なRAM290108、400114にしか障害を作らない。更に、クライアントデバイスでの非集中化処理のために、バックエンド290105は、多すぎる同時要求の結果として障害になることはない。あらゆる数の監視器290110も、待機待ち行列なしに同時にコンバータ290104を使用することができる。
例示的インポート処理290101、すなわち、構文解析290103、変換290104、及び単純化290109は、背景で実行され、実行中のシステムとのいずれのユーザ対話も遮ることはない。この非同期パイプライン290101は、複数のモデル290102の同時インポートを可能にする。各インポート処理の進行290101は、作成者が仮想プロジェクトで作業を続けられる間は視覚化して作成者290112にフィードバックとして戻すことができる。
例示的インポート処理290101中に、モデル290102は、図20aに示す様々なターゲットデバイスに対してカスタマイズ290109することができる。カスタマイズ290109中に、移動デバイス400102に使用することができるようにテクスチャを図20aに示すようにサイズ変更することができる300107。同じく、仮想シーンをレンダリングするクライアントでのリアルタイムメッシュ単純化のための事前準備として、仮想シーンがプレーヤにロードされる場合にリアルタイムでメッシュ単純化アルゴリズム290109を実行することができる正しい順序にモデルメッシュをすることができる。処理290109は、作成処理中に実行することができ、図30aの監視器のデバイス290110の性能へのレンダリング品質の調節を可能にする。
一部の例では、スマートフォン400102のような図30aの移動デバイス300102で3Dコンテンツ300101をレンダリングする時に、ハードウエアを限定することができ、例えば、ハードウエアは、制限されたグラフィック処理(GPU)300103、400118機能を有することができる。デスクトップGPU400118を標的にした大きいテクスチャマップ300104を有する多くの高詳細3Dモデル300101を同時にロードすることは、移動GPU300103、400118では実施可能ではない場合がある。更に別の発展は、それらの状況をサポートすることができ、処理が移動デバイスを含む様々なデバイスのいずれにも行われることを可能にする。
図20aは、詳細3Dモデル300101を本質的には数百又は数千の頂点及びメッシュを含むことができる単純なモデルに縮小するための自動処理を使用する例を示している。この例示的方法は、モデル300101が、移動GPU300103、400118、例えば、スマートフォン400102によってデバイス300102、400102、400122にロードされた時に自動的にこの数を低減することができる。複数のメッシュを含むオブジェクトをこのカスタマイズ処理中に単一メッシュに統合して、GPU300103、400118のワークロードを更に低減することができる。
これに加えて、オリジナル高解像度テクスチャマップ300104は、低減されたサイズの第2のテクスチャ300105に自動的に縮めることができ、オリジナルテクスチャ構成300104よりもメモリの消費が少なくて済み移動GPU300103、400118メモリにも速くロードすることができる。
メッシュ低減300108及びテクスチャ低減300107のそのような組合せを初めてモデル300101がロードされ他時に移動デバイス300102、400102に適用することができ、次に、モデル300101が2度目に要求された時に単純化バージョン300106が、再使用ためにデバイス300102、400114の内部にキャッシュに入れられる。これは、オリジナルモデル300101のロードと比較して2度目にカスタマイズ化モデル300106がロードされた時のローディング時間を大幅に増すことができる。
回転の例
これに加えて又はこれに代えて、本明細書のシステム及び方法は、様々なディスプレイ回転技術をサポートすることができる。図21aは、カメラが画像310103を撮影した時にカメラ310102 400108が行ったオリジナル回転の代わりに、限定されないが完全に球面のビデオを含むビデオにユーザの回転を適用するための例示的方法を示す図である。一部の実施形態では、複数の画像が連続した順序で格納される限り複数の画像を使用することができる。それらの複数の連続画像は、1又は複数のソースから発生することができる。各画像310103をカメラポーズ310108をもたらす視覚的走行距離計測システム310106 340102によって処理することができる。走行距離計測は、画像、モーションセンサ、既知の位置アンカー、更新位置情報などを含むあらゆる数のデータソースにも基づく経時的な場所変化の推定を指すことができる。走行距離計測サブシステムを使用して、本明細書のシステム及び方法に通知してカメラ及びオブジェクト位置、並びに互いの及びカメラシステムに対する場所を更新及び推定することができる。走行距離計測はまた、一般的に、あらゆるオブジェクト又はカメラによって時間と共に移動された距離の測定を指すことができる。
カメラ画像を使用した拡張現実
解説するように、拡張現実ARは、カメラによって撮影された画像を利用して、コンピュータ発生グラフィックをカメラ画像にインポートすることができる(例えば、カメラ自体によって技術的にコンピュータ発生されたカメラ画像以外のコンピュータ発生デジタルグラフィック)。
カメラポーズ310108は、カメラ310102 400108が画像31013を撮影した時にカメラが行った移行及び回転310110を含むことができる。カメラの回転310110を知って、回転310110が画像310103から取り除かれるように画像310103を処理することができる。得られる画像310112に対して、カメラがどのような方向に向けられたとしても、後で全ての画像が同じ方向に向けられる。ユーザ310104は、限定されないが仮想現実ヘッドセット400300を含む技術デバイスによってこのビデオを見ることができる。ユーザ310104は、カメラ回転310110から無関係に表示されるビデオの部分を回転及び決定することができる。ユーザの回転310114は、回転が取り除かれた画像310112に適用することができる。これは、ユーザ310104が向けられる同じか又は類似の方向に向けられる画像310116をもたらすことができる。ユーザの回転310114及び視野は、一般的に全画像の一部分だけである画面上の画像310118を決定する。
図21bは、カメラ310206及びユーザ310208が同じ方向に回転される例示的状況を示している。仮想現実の外側で、これは、ビデオ及び画像に対して共通の状況である。この状況では、ユーザ310208は回転することができない。代わりに、ユーザは、ユーザ310208が現在見ているフレーム310212を撮影した時にカメラと同じ方向をユーザ310208が常に見ていることを意味するカメラの回転を採用する。パノラマ又は球面ビデオでは、ユーザは、通常は人間が360°の視野を持たないので各時点でビデオの部分集合310212だけしか見ない。カメラ310206とユーザ310208の両方の視野310218の内側のオブジェクトだけを表示された画像310212で見ることができる。提供される例では、立方体310212が視野310218の外側にあり、写真310214が視野310218の内側にある。従って、ユーザは、ユーザのディスプレイ310212で写真310210を見て立方体310216は見ない。
図21cは、カメラ310306がユーザ310308とは個別に回転される例示的状況を示している。特に仮想現実のシナリオの場合に、ユーザ310308がカメラ310306に関係なく回転することができることが望ましい。この例では、カメラ310306がある環境は、2つのオブジェクト、立方体310302及び写真31034を含む。この例ではユーザ310308がユーザのディスプレイ310312上の投影された立方体310310を見るが写真31034の投影は見ず、カメラ310306は写真310304の方向に向けられる。
図21dは、安定化がいかに有用であるかを明確にするための例示的状況を示している。カメラマン310404は、通常は限定されないが歩きながら手持ち式カメラ400108の上下の動きを含む望ましくない動きによって影響を受ける。カメラマン310404が、何か、例えば、人を撮影する時に、そのような望ましくない動きは、カメラマンが撮影する画像に影響を与える場合がある。これは、取り込まれた画像310408 310410での動きをもたらす場合がある。提示する方法は、取り込まれた画像310402における潜在的な望ましくない動きを低減又は排除することになる。仮想カメラはユーザのためのビューに対応し、仮想カメラがユーザの動きに従うことを意味する。仮想カメラを物理的カメラから切り離すことができ、これは、仮想カメラが物理的カメラの動きに従わないことを意味する。仮想カメラを物理カメラから切り離すことは、走行距離計測システムによって提供された場所及び回転を仮想カメラに適用することによって達成することができる。仮想カメラは、画像のどの部分がディスプレイ310312に投影されるかを決定する。
深度の例
カメラが初期画像を取り込むのに使用されるAR状況では、各ピクセルの深度が、ARシーンを構築する場合に有用になる。これに加えて又はこれに代えて、本明細書のシステム及び方法は、様々な方法で様々な深度を計算及び使用することができる。図22aは、立体パノラマ画像320114における各ピクセルの例示的深度推定320112を示し、立体パノラマ画像320114は、限定されないが図29aの図示を含む球面又はパノラマカメラによって発生させることができ、図30aに示すカメラ320106、400108に対して、シーンの同じ特徴を共有する少なくとも2つのパノラマ画像320102、320104を使用することによって計算することができ、従って、限定されないが、光学フロー及びカメラ320106、図30a、各パノラマ画像320110、320108に相対する400108を含む深度推定に使用することができる。1つの非制限的な例では、深度推定を2つのパノラマ画像内の同じ特徴のピクセル三角測量及びカメラ場所及び/又は高度のような第3の点に基づいて決定することができる。
光学フローは、ピクセルの三角測量を超えた複雑なアルゴリズムを指すことができ、他のセンサデータを使用して更に改良することができる。例えば、カメラが移動した又は2つのフレームが移動した場合に、動き及び距離推定を使用して深度を推定することができる。
センサデータをそれらの計算に使用して、ピクセル三角測量を拡張することができる。
抽出された深度情報320102を使用して、限定されないが、ユーザの両眼に横に並んだパノラマ画像320102、320104をレンダリングする代わりに抽出された深度情報320102を使用して深度の正確な感覚を有する図30d、図30eに示すデバイスを含む立体デバイス320122にパノラマシーン320114をレンダリングすることができる。そのような例示的実施形態は、ユーザがシーン320114の3D深度の没頭を破壊することなく任意にユーザの頭を回転することを可能にすることができる。更にこれはユーザが、視点、すなわち、ユーザの頭3320122を低範囲で移動することを可能にし、従って、再構成されたシーン320114での場所の動きのある一定の程度を可能にする。
拡張の例
これに加えて又はこれに代えて、本明細書のシステム及び方法は、Holoの表示拡大をサポートすることができる。図23aは、追加の例示的要素によってビデオを拡大する方法を示している。カメラ330108 400108は、その周囲の環境を取り込み周囲を示すビデオを発生させる。一例として、周囲は、立方体330106を含有することができる。ビデオの1つの例示的フレーム330102は、この立方体330104を表示することができる。カメラ330108 400108が立方体330106に対して動いた場合に、フレーム330110の立方体330112は、フレーム330102の立方体330104に比べて異なる位置にあるはずである。フレーム330110は技術デバイス400106 400300で見ることができる。本明細書のシステム及び方法は、ビデオの一部であるように後で表示される3次元空間に追加の要素を位置決めすることができる。一例として、スピーチバブル330120を立方体330104の上に位置決めすることができる。オリジナルカメラが移動した時に、フレーム330114内の立方体330104は、ビデオのフレーム330122内の立方体330112になることができる。そのような例では、立方体は、カメラの動き及びカメラに対するその位置に従って移動したものである。本方法を使用して、カメラがどのように動くかを計算することができ、従って、追加の要素も相応に移動することができる。この例では、スピーチバブル330124が、第1のフレーム330114に使用されるスピーチバブル330116とは対照的に第2のフレーム330122のユーザ330118に対して異なる場所を有する。そのような例では、スピーチバブル330128が、立方体又はあらゆる他の指定されたオブジェクトの上部に留まるだけでなく、カメラがの近くに又は遠くに動いた時に表示されたサイズを透視的に正しく変更することができる。
オブジェクト及びカメラ追跡の例
一部のAR例では、カメラは、3D空間でパン、ズーム、又は他に移動によって視野を変更することができる。一部の例では、カメラの視野内のオブジェクトは、カメラに関係なく移動することができ、カメラの視野に入る及び視野から出ることができる。例えば、鳥は、視野に飛び込み、再度木の後ろから現れる場合がある。一部の例示的実施形態では、シーン画像を取り込むのに使用されるカメラに対して固定又は移動するオブジェクトの追跡を要求することができる。以下のシステム及び方法を使用することにより、オブジェクトを追跡することができカメラ場所を追跡することができる。一部の例では、オブジェクト及びカメラが互いに関係なく移動した時にそれらの場所追跡の両方を組み合わせることができる。
これに加えて又はこれに代えて、本明細書のシステム及び方法は、シーン内の画像及びオブジェクトの追跡をサポートすることができる。図24aは、例示的全体追跡システムを示している。カメラ400108によって撮影された画像340120を本方法に使用することができる。それらは、カメラ400108からのライブ画像ストリームにより、又は事前録画ビデオを通じて提供することができる。例示的走行距離計測追跡器特徴320102は、コンピュータデバイス400106で実行して、画像を取り込んだ時のカメラのポーズをあらゆる画像に対して計算することができる。最新の画像のポーズを使用して、シーン340110の動きが現実世界のカメラ340104の動きに対応するようにシーン340110に仮想カメラ340104を配置することができる。シーンは、技術デバイス400106によって表示することができる。そのような例では、オブジェクト追跡器340106が、カメラ画像340120の任意のオブジェクトを検出及び追跡し、相応にシーン340110にそれらのオブジェクトを配置することができる。オブジェクト追跡器340106のいくつかの事例340122を並行して実行することができ、各事例は少なくとも1つのオブジェクトを検索する。追跡することができるオブジェクトの一部の例は、限定されないが、点クラウド340112、3Dオブジェクト340114、2D画像340116、及び人工マーカ340118を含む。
走行距離計測追跡器340102は、前の画像内のピクセルの部分集合に対する深度仮説のマップを内部で作成し、このマップを使用してピクセル座標を新しい画像にワープさせることができる。これは、両方の画像のピクセル色を比較することによって2つの画像間の現在のポーズに対する誤差値を計算することができる。これは、最小誤差値に対応するワープを見出すために反復処理で画像間のポーズを最適化することができる。本発明のシステムは、推定されたポーズの情報を使用して、両方の画像で見ることができる各ピクセルに対する新しい深度測定値を計算することができる。これは、フィルタ方法の使用を通じて新しい測定からの情報によって前の画像内の深度仮説を更新することができる。一部の例では、これに加えて又はこれに代えて、走行距離計測追跡器340102は、キーフレームとして追跡されたフレームを選択してこれを接続されたグラフに挿入することができる。
キーフレームは、走行距離計測追跡器340102によって推定されるポーズ及び深度測定値に基づいて選択することができる。画像のシーケンスの第1のフレームは常に第1のキーフレームである。新しいフレームは、前のキーフレームに対して追跡される。現在のキーフレームまでのそのポーズの距離がある一定の閾値よりも上である時に新しいフレームをキーフレームであると宣言することができる。新しいフレームは、その深度測定値が現在のキーフレームの深度仮説から大幅に逸れる時にキーフレームであると宣言することができる。キーフレームの選択は、本発明のシステムが全てのフレームにおける計算を阻止することを可能にし、それによってコンピュータ効率を改善し、処理リソースにおけるドレインを低減し、高速、並びに正確かつ鮮明な画像の表示を提供する。
走行距離計測追跡器は、このグラフでのポーズグラフ最適化法を実行し、各キーフレームに対する大域的最適ポーズを見出すことができる。走行距離計測追跡器340102は、この最適化で既存の深度マップを利用して、キーフレームの以前に推定されたポーズ内のスケールドリフトを補正することができる。これは、キーフレーム間の類似性変換を推定することによって実行することができる。視覚入力に加えて、走行距離計測追跡器340102は、限定されないが、ジャイロスコープ、加速度計、コンパス、又はGPSのような追加のセンサからの読取を処理することができる。走行距離計測追跡器340102は、異なるセンサの読取値を追跡された画像の誤差関数と共にファクタグラフに統合することができるファクタに結合することができる。それらのファクタグラフは、新しいフレームに対するポーズの推定で先行として使用することができる確率分布内に周縁化することができる。更に、走行距離計測追跡器340102は、周縁化されていなかったポーズに対するファクタグラフ上のローカル最適化を実行することができる。
図24bは、本方法がユーザ340208にどのように利益を与えることができるかという例を示している。この例における異なるシーン340202、340204、340206は、年代順に順序付けられる。ユーザ340208はカメラ340210 400102を有するデバイスを保持する。ユーザ340208は、オブジェクト340214を追跡したいと思う。オブジェクトを検出することができる区域340212が存在する。一部の例では、眼に見えない、ぼんやりしたオブジェクトが存在する場合があるか、又は他にあまりにも遠くていずれの所与の時間にも検出できない場合がある。第1のシーン340202では、オブジェクト320214が検出区域340212の外側にある。本発明のシステムは、カメラ画像に表示されていないのでこのシーンにオブジェクトを検出しない。第2のシーン340204では、ユーザ340208は、オブジェクト340214が検出することができるように更に移動する。第3のシーン340206では、ユーザ340208は、更に遠くに移動する。オブジェクト340214は、コンピュータデバイス400106で実行されるオブジェクト追跡器340106によってそれ以上は検出できないほど遠くに離れている。
一例では、ユーザのホログラムが椅子に置かれ、カメラがユーザのホログラムから離れてパンした場合でも、本発明のシステムは、人のホログラムが留まる場所を追跡し続ける。従って、カメラの視野が再度椅子を表示した時に、ホログラムはまだ同じ場所に表示されている。
この例におけるオブジェクトがカメラによってこれ以上検出できない又は他にカメラの視野の外側にある場合でも、走行距離計測追跡器340102は、機能し続け、カメラ位置、並びにオブジェクトを追跡することができる。走行距離計測追跡器は、カメラ340210の場所を更新することができるので、本発明のシステムは、カメラとオブジェクトの間の相対的位置及び方向インジケータを維持することによって移動しない場合もカメラ340210、400102に対してオブジェクト340214がある場所を推定することができ、一部の実施形態では、最後の既知の場所及び動きを時間と共に使用することによって移動の場所を推定することができる。これは、一度検出された後に、全時間にカメラ画像に見えないとしても、任意の距離にわたってオブジェクトの追跡を可能にすることができる。オブジェクトが別の特徴によって隠されたか又はカメラの視野が特徴から逸れた場合でも本発明のシステムはオブジェクトを追跡することができる。本発明のシステムは、カメラの視野がターゲットオブジェクトから逸れて後で戻り、ターゲットオブジェクトの場所を追跡することを可能にする。
図24cは、検出されたオブジェクトのポーズを計算してオブジェクト空間から仮想空間に変換することができる例示的方法を示している。オブジェクトを見出す処理は、カメラポーズを推定する処理から切り離すことができる。カメラポーズ340310をカメラ400108によって撮影されたあらゆるフレーム340302から計算することができる一方、カメラポーズ340310を決定するための計算は計算が完了するまでいくつかのフレームを取ることができる。この場合に、一部のフレームはオブジェクト追跡器340312によって無視される。走行距離計測追跡器340308、340102は、主スレッド340304で実行することができ、新しいフレーム340302が提供される度に仮想空間340310のカメラポーズを推定することができる。これを直接使用して、シーン340318の例でカメラポーズ340320を更新することができる。いくつかの背景スレッド340306は並行して実行することができ、各スレッドはオブジェクト追跡器340312の独自のインスタンスを有する。オブジェクト追跡器340312のインスタンスがオブジェクトを検出した状態で、オブジェクト空間340314でのポーズを計算することができる。変換及び回転は、オブジェクト空間340314から仮想世界空間340316に変換すべきである。変換及び回転に加えて、仮想世界空間340316でのオブジェクトの正しいスケーリングを計算すべきである。それらの値により、仮想要素はシーン340318に追加又は更新340322することができる。全ての計算はコンピュータデバイス400106で実行することができる。
図25aは、限定されないが図30aに表示される構成要素400106を含むコンピュータデバイスで実行される例示的走行距離計測システム350112を示し、限定されないが図29a、図30a、400108に示すデバイスを含むデバイスによって配信される新しい画像350102が利用可能になると直ちに追跡350104を開始する。仮想走行距離計測が着信画像の追跡を成功した350106場合に、限定されないが位置及び方位を含む画像の仮想ポーズを提供することができる。視覚走行距離計測は、背景で非同期に実行することができる視覚検索スレッド3501116をトリガし、画像350102を350116に渡すことができる。同時に又は密接に、走行距離計測システム350112は追跡350104を継続することができる。追跡を失った場合に、走行距離計測システム350112は新しい画像350102が到着することを待ち、再度追跡を開始することができる。
一部の例では、オブジェクトの形状、色、又は他の視覚属性に基づいてオブジェクトを識別し、この識別を使用してオブジェクトを追跡することを有用とすることができる。視覚検索エンジン350116を使用したオブジェクト検出は、複数の方法で、例えば、限定されないが図29a、図30a、400108に示すデバイスを含むデバイスでローカルに直接処理することができ、この場合に、インターネット接続は必要ないか、又は多くのリソースを提供することができるネットワーキング構成であり、それによってより良い性能を提供する。視覚検索スレッド350116は、画像処理を終了した後で主スレッド350112に通知することができる。オブジェクトが見出されなかった350114場合に、走行距離計測追跡器350112 340102は追跡350104を継続することができる。そうでなければ、走行距離計測追跡器350112 340102が最後の視覚検索がトリガされてから追跡を失っていないか否かを検査することができる。追跡350108を失った場合に、視覚検索350116の結果を無視することができる。そうでなければ、現在の画像で検出されたオブジェクトの場所を更新する350110ことができる。いずれにせよ、主スレッド350112は追跡3501014を継続することができる。
様々な例では、検出されたオブジェクトの数が変わる場合がある。数百のオブジェクトを画像上の同じレベルで検出することができる。それらのオブジェクトが固定されていると仮定すると、それらは、視覚走行距離計測及び視覚検索の組合せを使用して正しく位置決めすることができる。
図25bは、本明細書のシステム及び方法の1つの可能な使用事例の例示を示している。この例では、限定されないが図29a、図30a、400108を含むカメラ35020が経路350202に沿って移動し、限定されないが図29a、図30a、400108に示すデバイスを含むカメラによって送られる着信画像350204を追跡する。一部の例では、同時に又は実質的に同時に画像350204が背景スレッド上の視覚検索エンジン350116によって処理されてオブジェクトを検出する。視覚検索エンジン350116がオブジェクトを検出した状態で、視覚検索エンジン350116は主スレッド350112に通知することができる。主スレッド350112は、背景スレッドによって与えられた結果を使用して見出されたオブジェクトの絶対ポーズを更新することができる。
図25cは、例示的システム及び方法の第2の可能な使用事例の例示を示している。この例では、限定されないが図29a、図30a、400108に示すデバイスを含むカメラ350306が経路350302に沿って移動し、限定されないが図29a、図30a、400108に示すデバイスを含むカメラによって送られる着信画像350304を追跡する。視覚走行距離計測350112は、着信画像350304がキーフレーム350308であるか否かを決定する。視覚走行距離計測システム350112のキーフレーム350308は、キーフレーム350308に対する相対位置を計算するためのキーフレーム以外のフレームに使用される深度マップと位置とを有するフレームであり、キーフレームの深度マップを調節する。キーフレームは、新しいキーフレームが作成されるまで全ての続くフレームに対する基準として使用される。2つのキーフレーム間のフレームは、時間と共にキーフレームの各個々のフレームで収集された情報を組み合わせることによって最後のキーフレームの精度を改善する。
視覚検索エンジン350116は着信画像を処理し、前に定義されたキーフレーム350308を見出すことができる。視覚検索エンジン350116は、絶対場所が視覚検索エンジン350116によって見出されるキーフレーム350308に対して既知であることを意味する既知の位置を有する画像のセットを有する。視覚検索エンジンスレッド350116は、キーフレームを見出すと直ちに主スレッドに通知することができる。この結果を使用して、仮想走行距離計測だけしか各キーフレームの仮想ポーズを提供できず、時間を通じて十分安定してないことが多いので、主スレッドがカメラ絶対ポーズを計算することができる。
図26aは、限定されないが400106、図29cを含むコンピュータデバイスで実行される幾何学メッシュを使用することによる3Dマーカ発生の例示的ワークフローの例示360100を示している。3Dスキャナアプリケーション360110は、一部の実施形態では継続して、キーフレームに対するポーズと組み合わせてキーフレーム360112の推定された深度マップ360114を使用して背景スレッド360120で点クラウド360124を発生させる360122ことができる。キーフレーム内のピクセルの深度値は、例えば、光学フローを使用して推定360113され、従って、深度マップ360114をこの深度推定に基づいて構築することができる。深度値の推定及び深度マップの作成は走行距離計測追跡器340102によって実行することができる。
一部の例示的実施形態では、これに代えて又はこれに加えて、シーンの3Dメッシュ360133を作成360132するのに使用される点クラウド360124をボクセルツリーに格納し、個別のスレッドに行われる性能を改善することができる。深度マップ360113を使用して発生された点クラウド360124は、濾過点クラウド360125がメッシュ360133を発生させるのに使用することができる前に濾過することができるノイズを含有する場合がある。ボクセルは、3次元空間での体積ピクセルである。ある一定の実施形態ではボクセルツリーを使用することでこのフィルタリング処理360126を高速化することができる。ボクセルツリーは、空間データと一緒に機能するように設計されたデータ構造(オクトツリー)であり、従って、点クラウド360124から3D点を処理するための優良な性能を提供することができる。ノイズ点を平滑化して除去することによって点クラウド360124 360126を濾過することができる。点クラウド360124 360126を濾過するためにボクセルツリーを使用することで、ノイズ点の数を低減することができ、従って、点クラウドを最適化し、更に別の演算に対して性能を改善することができる。同じく、得られる3Dメッシュ360133の誤差を低減することができる。
3Dメッシュ360133作成処理は、入力ソースとして濾過360125又は濾過されていない点クラウド360124及びキーフレームポーズを使用する。処理の第1の反復として、本発明のシステムは入力点クラウドにおける各点の法線ベクトルを計算することができる。各点の法線ベクトルは、その近くの点に基づいて計算される。次の反復として、3Dメッシュ360133作成システムは、点が属するキーフレームのカメラポーズに向けた各点の法線ベクトルを検査及び方位付けすることができる。
入力として法線ベクトルを有する点クラウドを取ることにより、本発明のシステムは3Dメッシュ再構成を実行することができる。本発明のシステムは、本発明のシステムの性能、得られる3Dメッシュ360133の詳細の精度、品質を制御するために深度、及びいくつかのサンプルパラメータを使用することができる。本発明のシステムは、得られる3Dメッシュ360133のデータ構造特性を利用して得られる3Dメッシュ360133を切り取ってより良い品質の3Dモデルを達成することができる。更に、本発明のシステムは、テクスチャ360134を作成された3Dメッシュ360133に適用することができる。
一部の実施形態では、本発明のシステムは、オブジェクトから構築された3Dメッシュが関連付けられた間違った点を有することを認識することができる。この例では、オブジェクトはボックスであるが、ボックスから離れた1つのピクセルがあり、考えられる場合に、オブジェクトの一部はこれをボックスにしない。本発明のシステムは、既知の特徴のアルゴリズムを使用することができ、この例ではボックスが等しい寸法の6つの辺を有することを知り、間違った点を識別してこの点を3Dメッシュから切り取る。このアルゴリズムは、点と既知の相対的距離を比較するか、又は入力形状と比較することができる。誤差に含まれる点は、3Dメッシュから切り取って外すことができる。
一部の例示的実施形態では、これに代えて又はこれに加えて、テクスチャ投影360134を作成されたメッシュ360133と共に任意の段階として使用して、3Dメッシュに特定の外見を与えることができる。例えば、本発明のシステムは、家の3Dメッシュを作成してカメラ画像を使用してその写真を家に投影する。換言すると、メッシュは、そのテクスチャとして対応するキーフレーム360112を有することができる。異なるオプションがテクスチャ投影360134に与えられ、単一テクスチャを投影する及び1つのメッシュに複数のテクスチャを組み合わせる。単一テクスチャ投影360134は、最新のキーフレーム画像を3Dメッシュに投影することができる。一部の事例では、メッシュの最大部分がキーフレームによって覆われていないのでテクスチャ化されないまま残る。そのような例では、マルチテクスチャ投影360134が加えられた時に、複数のキーフレーム画像を3Dメッシュに投影360134することができ、キーフレームを重ねた区域で異なるキーフレームを単一テクスチャに統合することができる。複数のキーフレームを単一テクスチャに統合することは、メッシュ面にキーフレームの距離及びメッシュ面に対してキーフレームの角度を重み付けすることによって行われる。この処理は、テクスチャ化されたメッシュ360138のより良い品質を提供し、テクスチャメッシュのテクスチャ化されていない領域を低減することができる。複数のキーフレームがテクスチャを発生させるのに使用された時に、メッシュのテクスチャの各部分に対する最適なキーフレームを使用して全体的なテクスチャ品質を改善することができる。結果は、メッシュのテクスチャの各部分に最適なキーフレームを使用するだけでなく、代わりにメッシュのテクスチャのこの部分のテクスチャを発生させるためにキーフレームの組合せを使用することによって更に強化することができる。
それらの例では、ユーザは、このテクスチャ化されたメッシュ360138を3Dモデル及び限定されないが図30aに示すデバイスを含むデバイス上の対応するキーフレーム360112に保存するか又はメッシュを廃棄360135することができる。キーフレーム360112を使用して、物理的シーンの上の拡張現実オーバーレイとして使用された時の仮想シーン内の追跡処理に必要とされるキーポイントを抽出することができる。
ある一定の例では、ブラウザ360140で、作成されたテクスチャメッシュ360138を仮想シーンの通常の3Dモデルとして又は物理的シーンの上の拡張現実オーバーレイとして使用される時の仮想シーンの3Dマーカ360144として使用することができる。ユーザの視点から、仮想シーンに対して3Dマーカ360144としてテクスチャメッシュ360138に注釈を付ける360142ことは、注釈処理に対して点クラウド360124を使用するよりも効率的かつユーザに対して使い易い方法とすることができる。
図27aは、限定されないが400106を含むコンピュータデバイスで実行することができるリアルタイムでのメッシュ発生の例示的使用を示している。単眼追跡例370102中に、新しいキーフレーム370103が見出される度に、新しいキーフレームの深度情報が、走行距離計測システムによって推定370104され、この深度推定370104から深度マップを再構成してメモリ400114に格納することができる。深度マップ370105を点クラウド作成処理370106の入力として使用することができ、対応する点クラウド370107を発生させることができる。この点クラウド370107を最終段階と幾何学メッシュ発生段階370108とに使用することができ、それによって3Dメッシュ370109を点クラウド入力370107に基づいて再構成することができる。
作成されたメッシュ370108は、ユーザがシーンを移動している間にシーンの高速又はリアルタイム構築を要求することが多い異なる使用シナリオに使用することができる。物理的シーンの仮想オブジェクトの現実的拡張に対して、3Dメッシュ370109を以下の方式のあらゆる組合せに使用することができる。
3Dメッシュ370109を例えば幾何学メッシュ370109の面の上部で仮想オブジェクトを移動する物理的シミュレーション370110の追跡中に見えない層として使用することができる。
リアルタイムに作成された3Dメッシュ370109を物理的オブジェクトの後ろの仮想オブジェクトの補正閉塞370112に使用することができる。ユーザの視点から、この作成された3Dメッシュは既存の物理的オブジェクトと同じ形状及び場所を有する。3Dメッシュは、ユーザがメッシュを見ないことになることを意味する不可視とすることができるが、他の仮想オブジェクトを個別に表示するのに使用することができる。ユーザの視点から不可視である3Dメッシュの背後にある仮想オブジェクトの全部又は一部はレンダリングされない。ユーザの視点から、これは、物理的オブジェクトが仮想オブジェクトを閉塞するように見える。例えば、物理壁の背後に仮想オブジェクトを置くと、それによってユーザが物理的シーンの周りを移動した時に、物理壁がこれを閉塞しない場合に仮想オブジェクトだけが目に見える。
仮想オブジェクトへの照明を物理シーンに正しく加え、他方では物理シーンの状態を仮想オブジェクトに加えなければならないので、3Dメッシュ370109を照明370114に使用することができる。例えば、物理的テーブルの下に配置される仮想オブジェクトは、テーブルの上部に配置されたオブジェクトとは個別に照らしなければならない。
3Dメッシュ370109は、物理的オブジェクト上の仮想オブジェクトの影付け370116及び仮想オブジェクト上の物理的オブジェクトの影付けに使用することができる。仮想オブジェクトは、他の仮想オブジェクトと対話するだけでなく物理シーンの表現として再構成済み3Dメッシュ370109を要求する物理的シーンと対話しなければならない影を現実的に受け入れて影付けすべきである。
濾過の例
図28aは、コンピュータデバイス400106を使用した360°画像融合の抽象概念を示している。360°画像は、球面カメラ390102によって発生させることができ、融合は、コンピュータデバイス400106で実行することができる。フィルタを使用することによって複数の360°画像380102を1つの改良された画像380104に統合することができる。それらの画像380102は、1つのトライポッドで例えば360°カメラによって達成することができる同じ位置から撮影することができる。そのような例では、最小限度の2つの360°画像を使用することができ、使用される入力画像が多い程、結果の濾過画像の品質も良くなる。画像を統合するのに使用されるフィルタは中間又は高ダイナミックレンジフィルタとすることができるが、追加のフィルタも可能である。メジアンフィルタを使用して、劣悪な照明状態から人間のような動くオブジェクトを取り除き、画像ノイズを低減することができる。高ダイナミックレンジフィルタは、複数の360°画像から1つのHDR360°画像を発生させる。
図28bは、メジアンフィルタを使用した複数の360°画像の融合を示している。360°画像は、球面カメラ390102によって発生させることができ、融合は、コンピュータデバイス400106で実行することができる。表示された360°画像380221はシーンを移動した人380206を含有し、画像が撮影され、劣悪な照明状態からノイズ380208を変化させる。ドット380204は、図示の2つの360度画像よりも多くが同じ位置から撮影され、フィルタの入力として使用されたことを示している。メジアンフィルタは、各画像の個々のピクセルを比較して、繰返し同じに留まる区域を認識することができ、同時に画像に応答して変化する区域を除去する。結果の360°画像380210は、ノイズなしの静的背景だけを含有する。この例が人を使用する場合に、他の移動するオブジェクトも除去することができる。
図28cは、高ダイナミックレンジフィルタを使用した複数の360°画像の例示的融合を示している。360°画像は球面カメラ390102によって作成され、融合は、コンピュータデバイス400106で実行されたものである。上部の行は、詳細であるが少ないハイライト情報380202を有する360°画像及びハイライト詳細であるが少ない影情報380304を有する360°画像を含むオリジナル360°画像を示している。ドット380306は、図示の2つの360°画像よりも多くが変化する露出で同じ位置から撮影され、フィルタの入力として使用されることを示している。高ダイナミックレンジフィルタは、異なる360°画像の露出データを使用して、それらを全ダイナミックレンジ380308を含有する新しい360°画像に組み合わせる。
図29aは、360°又はそれ未満の広い視野390106を有する画像を撮影するための球面又はパノラマカメラ390100を示している。図29aは、説明したカメラの表現として使用される球面又はパノラマカメラ390100の1つの例示的な図である。球面又はパノラマカメラ390100は少なくとも2つのレンズ390104を有し、各々が合計の可能な360°の異なる視野を覆う。最終パノラマ又は球面画像を得るために、各レンズ390104の各画像39008は、デバイス390102のソフトウエア内で自動的に縫合することができる。
図29bは、移動アーキテクチャ390206に取り付けられた1又は2以上のレンズ390204を有する1つよりも多いカメラ390202を有するリグ構成390200の例を示している。図29bは、360°又はそれ未満の視野390208を有する広範囲球面又はパノラマ画像を撮影するためのリグアーキテクチャ390200の1つの例示的な図である。この例の各カメラ390202は、画像390210を同時に撮影する。各カメラの画像390210は、他のカメラ390202の対応する画像390210と共に縫合されて全視野390208を覆うことができる。
図29cは、1又は2以上のカメラレンズ390306及び/又は1又は2以上の他のセンサ390304を含むある一定の実施形態によるコンテンツ作成のための3Dスキャナ390302を示している。他のセンサ390304は、限定されないが、赤外線センサ、レーザ、音、レーダー、カメラ、GPS、又は他の測距システムのいずれの組合せも含むことができる。スキャナ390302によって覆われる範囲390308は、レンズ390306及びセンサ390304がデバイス390302に配置される場所に応答していずれの方向にも変えることができる。これは、限定されないが、3Dスキャナを取り囲む完全な部屋の3D走査及び単一個別オブジェクト走査を含む。対応するデバイス390302を使用した3D走査処理の結果は、3D空間における点のセット、並びに異なる幾何学的エンティティ及び/又は色のようなそれらの点に関連付けられた潜在的な追加情報を含むモデルとすることができる。対応するデバイス390302を使用した3D走査処理から発生するモデルは、本明細書のシステム及び方法への入力リソースとして作用することができ、それによってそれらは使用、処理、及び/又は強化される。
図29dは、物理的面390408、並びに1又は2以上の物理的入力デバイス390404 390406を含む本明細書のシステム及び方法に従ってコンテンツ作成に使用されるデジタル描画390402のための例示的グラフィックタブレットを示している。物理的面390408は、物理的入力デバイス390404 390406によって作成された入力を検出し、これをプロセッサ、ランダムアクセスメモリ、及び演算のための潜在的な追加の構成要素を使用してデジタルグラフィカル情報に翻訳するか、又は検出された入力情報をデジタルグラフィカル情報の作成のための別のコンピュータデバイスに送信することができる。物理的面390408で入力情報を発生させるための物理的入力デバイスは、限定されないが、ユーザの手390406及びスタイラス390404、すなわち、ペン式の描画装置を含むことができる。
これに加えて又はこれに代えて、本明細書のシステム及び方法は、様々なコンピュータデバイスを使用することができる。図30aは、限定されないがスマートフォン及びタブレットを含む移動デバイス400102、又は限定されないがパーソナルコンピュータ400122を含む固定デバイスのあらゆるタイプとすることができるコンピュータデバイス400106を示している。移動デバイス400102は、持ち運び可能400104であるように十分軽くて小さい。コンピュータデバイス400106はいくつかの構成要素を含むことができる。それらの構成要素は、単一オールインデバイスに含むか、又は一緒に機能する複数のデバイスにわたって分散させることができる。コンピュータデバイス400106は、エネルギソース400120の機能を必要とする技術デバイスである。演算に関して、いくつかのハードウエア構成要素、計算を実行するためのCPU400112及びRAM400114、及びソフトウエア及び他のファイルを格納するためのある種類のデータストア400116を使用することができる。GPU400118を使用して視覚処理を実行することができる。ディスプレイ400110は情報及び他の任意の事柄をユーザに表示することができる。一部のディスプレイ400110を使用して、限定されないがタッチ入力を含むコンピュータデバイス400106と対話することができる。カメラ400108を使用して周囲を取り込むことができる。
これに加えて又はこれに代えて、本明細書のシステム及び方法は、様々な表示デバイスを使用することができる。図30bは、ユーザの眼のための2つのレンズ400202、スマートフォン又は類似のコンピュータ/表示デバイスが配置される場所及び次に位置400106に運ばれる区域又は装置400208を含む非制限的な例示的ヘッド装着式表示デバイス400200を示し、それによってデバイスのディスプレイがレンズ400202の前にきてユーザが2つのディスプレイで半分ずつ明確に見える。更に、ヘッド装着式デバイス400200の後ろ側400204に適切に取り除かれた区域400208を存在させることができ、それによってスマートデバイスのカメラがヘッド装着式デバイス400200に配置されたままにしてライブストリームビューを送信することができる。取りわけヘッド装着式デバイス400200に含有することができる一体型構成要素が図30aに詳しく示されている。
図30cは、2つのレンズ400304(図30bの400202と比較)及びレンズ400304に対して配置されるディスプレイ400302を含むヘッド装着式デバイス400300を示し、それによってデバイス400300がユーザの頭部上に装着された時にユーザに見えるようなる。デバイスの画面400302に表示されたコンテンツは、限定されないが、仮想シーンをレンダリングするための演算パワーを提供する図30aに示すデスクトップコンピュータを含む外部ソースに接続400306を通じて提供される。取りわけ、ヘッド装着式デバイス400300に含有することができる追加の構成要素が図30aに示されている。
図30dは、移動電話のようなスマートデバイス400404を配置することができる装着システム400402を含む例示的ヘッド装着式デバイス400400を示している。この例は、これをユーザの眼400406に反射させることによって画面400404に表示されたコンテンツを示すパッシブディスプレイ400408を含む。一部の例では、このパッシブディスプレイを半透明にして、拡張現実オーバーレイとして物理的世界と組み合わせた仮想コンテンツを表示することができる。取りわけ、ヘッド装着式デバイス400400に含有することができる追加の構成要素を図30aに詳しく示している。
図30eは、外部のコンピュータシステムを必要とすることなくヘッド装着式デバイス400500に行われる全ての必要な計算及びレンダリングを可能にするユーザの頭部上に装着された投影器400502及びオンボード処理ユニット400504を含む例示的ヘッド装着式デバイス400500を示している。この例における投影器は、ユーザの眼400506に直接に又は半透明とすることができる面400508を通じて表示画像を投影し、拡張現実オーバーレイとして物理的世界と組み合わせた仮想コンテンツを表示することができる。ヘッド装着式デバイス400500に含有することができる追加の構成要素を図30aに詳しく示している。
図30fは、外部コンピュータシステムを必要とすることなくヘッド装着式デバイス400500に行われる全ての必要な計算及びレンダリングを可能にする投影器400504及びオンボード処理ユニット400502を含む例示的ヘッド装着式デバイス400600を示している。この例における投影器400504を使用してデジタルコンテンツを物理的シーン400506に投影することができ、それによってユーザ及び他のユーザは、ユーザの眼に直接にコンテンツを投影する必要なく仮想コンテンツを見ることができる。取りわけ、ヘッド装着式デバイスに含有することができる追加の構成要素を図30aに詳しく示している。
これに加えて又はこれに代えて、図31aは、限定されないが、スマートフォン又はタブレットを含むスマートデバイス410101、スマートデバイス410101に取り付けられたセンサ構成要素410102、及び投影器システム410106を含むスマートデバイスを含み、このスマートデバイス410101で作成された画像を受信し、これをターゲット投影面410104に投影する拡張システム410100を示している。そのような面410104は、スマートデバイス140101からのデジタルコンテンツに重ねられる。センサ410102は、限定されないが、加速度計、ジャイロスコープ、コンパス、GPS、及び/又はカメラを含むことができる。センサ410102は、スマートデバイス410101によって使用され、面区域41014に正確に位置合わせされた仮想コンテンツを投影することができる。ユーザの視野410103に、投影器の視野410105の一部を重ねることができ、それによってユーザは、現実の環境410104の上部に拡張コンテンツを見ることができる。そのような拡張コンテンツは、取りわけ、取り込まれた球面360°画像又は過去に記録されたビデオコンテンツとすることができ、オリジナル記録が生じてから物理的位置に生じた変化をユーザに表示するために取り込まれた場所と同じ物理的位置に投影される。球面画像の正確な部分が、組み込みセンサ410102を使用して位置合わせされ、又はユーザによる手動位置合わせも可能である。
図31bは、投影器410201、センサ、及びコンピュータユニット410202を含むヘッド装着式デバイス410206を使用する拡張システム410200を示している。センサ410202は、限定されないが、加速度計、ジャイロスコープ、コンパス、GPS、及び/又はカメラを含むことができる。ヘッド装着式デバイス410206は、物理的シーン410204に仮想画像を投影する。この物理的面410204に、投影器の視野410205及びヘッド装着式デバイス410206のセンサ410202によって計算された物理的シーンの投影器ポーズに基づいて投影器410201から位置合わせされた仮想コンテンツが重ねられる。図31aに示す拡張システム410100の代わりに図31bに示すヘッド装着式デバイス410206を使用することは、限定されないが、ユーザがヘッド装着式デバイス410206を装着するのでユーザの頭部に対するヘッド装着式デバイス410206の場所が変化せず、投影器は常にユーザが環境410204を見る方向にユーザの画像を投影するようにヘッド装着式システム410206を位置合わせすることができ、ユーザはヘッド装着式デバイス410206を使用しながら両手を自由に使えるにも関わらず、ユーザが使用したい時は何時でもヘッド装着式デバイス410206を使用することができることを含む利益を有する。ユーザの視野410203は、投影器の視野410205に重なっている。ユーザの眼に対する投影器410201の場所を知ることで、ヘッド装着式デバイス410206が正しい視野で拡張コンテンツを投影することを可能にする。拡張コンテンツは、現実の環境410204の上部に投影される。拡張コンテンツは、限定されないが過去に記録された360°画像又は映像を含む。この例示的使用事例に対して、拡張コンテンツは、拡張コンテンツが記録されて以降に物理的位置に生じた変化をユーザに表示するために元来撮影された環境410204の同じ物理的位置に投影される。拡張コンテンツは、埋め込み式センサ410202を使用して自動的に又はユーザによって手動で現実の環境410204に位置合わせすることができる。
図31cは、ユーザ410301が取り付けられたセンサ410102 410202及び投影器410303を有するコンピュータデバイス410302を使用して、仮想コンテンツ410307を物理的面410306にどのように投影するかを示す処理の詳細を表している。
限定されないが、物理的環境410306を拡張するために仮想コンテンツとして後に使用すべきである360°画像及びビデオを含むコンテンツを取り込んだ時に、このコンテンツは追加のメタ情報によって強化することができる。この追加のメタ情報は、限定されないが位置及び方位を含むことができる。センサ410102 410202が利用可能である時に、それらを使用してこの情報を取得することができる。そうでなければ又はセンサの使用に加えて、メタ情報を手動で設定することができる。このメタ情報は、コンテンツと共に保存するか又は別々に格納することができる。コンテンツを物理的環境410306の上部に投影しなければならない時にこのメタ情報を自動位置合わせに使用することができる。
コンピュータデバイス410302は、物理的面410306に投影器410303によって投影される全体的仮想シーン410304から投影器410303によって投影される仮想シーン410307の部分を計算することができる。デバイス410302の物理的位置及び方位は、仮想シーン410304の仮想カメラに適用することができ、それによってこの仮想カメラは物理的投影器410303が物理的シーン410306を移動するのと同様に仮想シーン410304を動く。仮想カメラの視野は、物理的投影器の視野410305と同一の値を使用して、それによって投影された画像410307は、物理的面410306の上部に一致する。
デバイスの方位及び位置は、限定されないがコンピュータデバイス410301の視覚追跡システムを含むセンサを使用して自動的に計算することができる。350100に示すような視覚追跡システムは、他のデバイスセンサと組み合わせて物理的シーン410306の特徴を使用して絶対大域的場所を計算し、限定されないがGPS及び方位データを含む仮想シーン410307のメタデータを使用することによって物理的シーン410306に仮想オーバーレイ410307を位置合わせすることができる。
仮想シーン410307のセクションの手動位置合わせは、全体仮想シーン410306の示されたセクション410307をユーザ410301が調節することを可能にするためにコンピュータデバイス410302の入力を使用してユーザ410301によって実行することができる。手動位置合わせは、自動位置合わせで置換され、従って、センサ410102 410202なしにコンピュータデバイス410302をサポートすることができる。手動位置合わせは、仮想コンテンツ410304のメタデータが利用可能でないか又は間違っている場合にユーザ410301によって使用される。これに代えて、手動位置合わせを自動位置合わせに加えて使用することができる。自動位置合わせの後の手動位置合わせの利益は、限定されないが、物理的シーンによる歪みを補正し、コンピュータデバイス410302のセンサ410102 410202の追跡誤差を補正することを含む。
限定されないが360°画像及びビデオを含む示された仮想コンテンツ410304は、データが取り込まれた時にカメラの北の方位410309を含む必要なメタ情報を格納している。このメタ情報は、仮想シーン410304の方位を調節するのに使用され、それによって仮想シーン410304の北の方位410309は、ユーザ410301が立っている物理的シーン410309の北の方位410308に位置合わせされる。
この仮想コンテンツ410304が北の方位410309のような必要なメタ情報を欠く場合に、物理的シーン410306に位置合わせされるようにユーザ410301によって手動で回転される。
結論
本明細書に開示するように、この実施形態に一致する特徴は、コンピュータハードウエア、ソフトウエア、及び/又はファームウエアを通じて実施することができる。例えば、本明細書に開示するシステム及び方法は、例えば、データベース、デジタル電子回路、ファームウエア、ソフトウエア、コンピュータネットワーク、サーバ、又はその組合せを含むコンピュータのようなデータプロセッサを含む様々な形態を用いて実施することができる。開示する実施の一部は特定のハードウエア構成要素を説明するが、本明細書の革新に一致するシステム及び方法は、ハードウエア、ソフトウエア、及び/又はファームウエアのあらゆる組合せによって実施することができる。上述の特徴及び他の態様及び本明細書の革新的原理は、異なる環境を用いて実施することができる。そのような環境及び関連の用途は、実施形態に従って異なるルーチン、処理、及び/又は作動を実行するように特別に構成することができ、又は必要な機能を提供するためにコードによって選択的に起動又は再構成される汎用コンピュータ又はコンピュータプラットフォームを含むことができる。本明細書に開示する処理は、あらゆる特定のコンピュータ、ネットワーク、アーキテクチャ、環境、又は他の装置に独自に関連付けられることなく、ハードウエア、ソフトウエア、及び/又はファームウエアの適切な組合せによって実施することができる。例えば、様々な汎用機械を実施形態の教示に従って書かれたプログラムと共に使用することができ、又は望ましい方法及び技術を実行するために専用装置又はシステムを構成することが有益である場合もある。
論理部のような本明細書に説明する方法及びシステムの態様は、フィールドプログラマブルゲートアレイ(「FPGA」)、プログラマブルアレイ論理(「PAL」)デバイス、電子的プログラマブル論理及びメモリデバイス及び標準的セルベースのデバイス、並びに特定用途向け集積回路を含む様々な回路のいずれかにプログラムされた機能として実施することができる。態様を実施するための一部の他の可能性は、メモリデバイス、メモリを有するマイクロコントローラ(EEPROMなど)、埋め込み式マイクロプロセッサ、ファームウエア、ソフトウエアなどを含む。更に、態様は、ソフトウエアベースの回路エミュレーション、離散的論理部(順次及び組合せ)、カスタムデバイス、ファジー(神経)論理、量子デバイス、及び上述のデバイスタイプのいずれかのハイブリッドを有するマイクロプロセッサを用いて実施することができる。基礎となるデバイス技術は、様々な構成要素タイプ、例えば、相補型金属酸化膜半導体(「CMOS」)のような金属酸化膜半導体電界効果トランジスタ(「MOSFET」)技術、エミッタ結合型論理(「ECL」)のようなバイポーラ技術、高分子技術(例えば、シリコン共役ポリマー及び金属共役ポリマー金属構造)、アナログ及びデジタル混合のような様々な構成要素タイプで提供することができる。
本明細書に開示する異なる論理及び/又は機能は、その挙動、レジスタ転送、論理構成要素、及び/又は他の特性の点から様々な機械可読又はコンピュータ可読媒体を用いて実施されるハードウエア、ファームウエアの組合せのあらゆる数を使用して及び/又はデータ及び/又は命令として使用することを可能にすることができることに注意しなければならない。そのようなフォーマット済みデータ及び/又は命令を実施することができるコンピュータ可読媒体は、限定されないが、異なる形態の不揮発性ストレージ媒体(例えば、光学、磁気、又は個体ストレージ媒体)及びそのようなフォーマット済みデータ及び/又は命令を無線、光学、又は有線信号伝達媒体又はこのあらゆる組合せを通じて転送するのに使用することができる搬送波を含む。搬送波によるそのようなフォーマット済みデータ及び/又は命令の転送の例は、限定されないが、1又は2以上のデータ転送プロトコル(例えば、HTTP、FTP、SMTPなど)を通じたインターネット及び/又は他のコンピュータネットワーク上の転送(アップロード、ダウンロード、電子メールなど)を含む。
文脈が他に明確に要求しない限り、本説明及び特許請求の範囲を通じて「comprise」、「comprising」などは、限定的又は網羅的な意味とは対照的に包含的な意味で解釈しなければならず、すなわち、「限定されないが含む」の意味である。単数又は複数を使用する語は、それぞれ複数又は単数を含む。更に、「herein」、「hereunder」、「above」、「below」、及び類似の意味の語は、全体としてこの出願を指し、この出願のあらゆる特定の部分を指すものではない。「or」という語が2又は3以上の項目のリストに関して使用される時は、この語は、語の次の解釈の全て、すなわち、リストの項目のいずれか、リストの項目の全て、及びリストの項目のいずれの組合せも網羅する。
本説明のある一定の現在好ましい実施を本明細書に具体的に説明したが、本明細書に図示及び説明した様々な実施の変形及び修正を実施形態の精神及び範囲から逸脱することなく実行することができることは本説明が関わる当業技術の当業者には明らかであろう。従って、実施形態は、適用可能な法律の原則によって望ましい程度にのみ制限されるものとする。
本発明の実施形態は、それらの方法を実施する方法及び装置の形態を用いて実施することができる。この実施形態は、フロッピーディスケット、CD−ROM、ハードドライブ、又はあらゆる他の機械可読ストレージ媒体のような有形媒体に組み込まれたプログラムコードの形態を用いて実施することができ、プログラムコードがコンピュータのような機械にロードされて実行された時に、この機械は実施形態を実施するための装置になる。この実施形態は、プログラムコードの形態とすることができ、例えば、ストレージ媒体に格納され、機械にロードされ、及び/又は機械によって実行され、又は電気配線又はケーブルを通じて、光ファイバを通じて、又は電磁放射を通じてのようなある送信媒体を通じて送信され、プログラムコードがコンピュータのような機械にロードされて機械によって実行された時にこの機械は実施形態を実施するための装置になる。汎用プロセッサを用いて実施された時に、プログラムコードセグメントはプロセッサと組み合わされて特定の論理回路と同様に作動する独自のデバイスを提供する。
ソフトウエアは、限定されないが、有形ストレージ媒体、搬送波媒体、又は物理的送信媒体を含む多くの形態を取ることができる機械可読媒体に格納される。不揮発性ストレージ媒体は、例えば、いずれかのコンピュータ等におけるストレージデバイスのようなあらゆる光学又は磁気ディスクを含む。揮発性ストレージ媒体は、そのようなコンピュータプラットフォームの主メモリのような動的メモリを含む。有形送信媒体は、同軸ケーブル、コンピュータシステム内のバスを含む電線を含む銅線及び光ファイバを含む。搬送波送信媒体は、電気又は電磁信号の形態、又は無線周波数(RF)及び赤外線(IR)データ通信中に作成されるような音響又は光波の形態を取ることができる。従って、コンピュータ可読媒体の共通形態は、例えば、ディスク(例えば、ハード、フロッピー、可撓性)又はあらゆる他の磁気媒体、CD−ROM、DVD又はDVD−ROM、あらゆる他の光学媒体、あらゆる他の物理的ストレージ媒体、RAM、PROM及びEPROM、FLASH−EPROM、あらゆる他のメモリチップ、データ又は命令を搬送する搬送波、そのような搬送波を搬送するケーブル又はリンク、又はコンピュータがプログラミングコード及び/又はデータを読み取ることができるあらゆる他の媒体を含む。コンピュータ可読媒体のそれらの形態の多くは、実行のためにプロセッサに1又は2以上の命令の1又は2以上のシーケンスを運ぶ段階に含有されている。
解説の目的での以上の説明は、特定の実施形態に関して説明したものである。しかし、上述の例示的な説明は、網羅的なものではなく、実施形態を開示する形態に制限するものでもない。多くの修正及び変形が上述の教示の点から可能である。実施形態は、実施形態の原理及びその実際の応用を解説するために選択及び説明され、それによって当業者は、考えられる特定の使用に適合するような様々な修正を有する様々な実施形態を使用することができる。
様々な例を以下の番号を付けた段落に列挙する。
NP1.システムが、プロセッサとメモリとを有するサーバコンピュータにより、3D画像データを受信する段階と、画像データに位置をマップする段階と、画像データにマーカをマップする段階と、オブジェクトを画像データ内のマーキングされた位置に挿入する段階とを含む仮想現実シーンを作成する方法。
NP2.オブジェクトの挿入が、事前定義されたリストからオブジェクトを選択することによるものであるNP1の方法。
NP3.オブジェクトの挿入が、新しく作成されたリストからオブジェクトを選択することによるものであるNP1又はNP2の方法。
NP4.コンピュータにより、事象を引き起こすためにオブジェクトにトリガを指定する段階を含むNP1−NP3のいずれか1つの方法。
NP5.トリガがクリック又はモーション検出であるNP4の方法。
NP6.事象が、電話番号をダイヤルする、ウェブページを開く、異なるシーンに移る、テキストボックスを表示する、電子メールを送信する、及び音を再生することのうちの少なくとも1つであるNP4又はNP5の方法。
NP7.事象が、新しいオブジェクトの表示を引き起こす又は不可視のオブジェクトでオブジェクトを目立たなくすることのうちの少なくとも1つであるNP4−NP6のいずれか1つの方法。
NP8.コンピュータにより、第2の3D画像データを受信する段階と、第2の画像データに位置をマップする段階と、第2の画像データにマーカをマップする段階と、マップした画像データ及び第2のマップした画像データをデータストレージに格納する段階と、画像データ及び第2の画像データの関係をリンクされたシーンとして示す段階とを更に含むNP1−NP7のいずれか1つの方法。
NP9.オブジェクトが動画化オブジェクトであるNP1−NP8のいずれか1つの方法。
NP10.オブジェクトがネットワーク上で受信されるNP1−NP9のいずれか1つの方法。
NP11.オブジェクトが、事前に定義されたオブジェクトのセットから選択されるNP1−NP10のいずれか1つの方法。
NP12.画像データが360度画像であるNP1−NP11のいずれか1つの方法。
NP13 プロセッサとメモリとを有するコンピュータにより、ネットワーク上で画像データを受信する段階と、受信画像データのキーフレームの深度マップをキーフレーム内のピクセルの推定された深度値を使用して推定する段階と、キーフレームの推定深度マップを使用して点クラウドを発生させる段階と、発生された点クラウドを使用して3Dメッシュを発生させる段階とを含む仮想現実シーンを作成する方法。
NP14.コンピュータにより、ネットワーク上で第2の画像データを受信する段階と、第2の画像データに対する第2の追跡マーカを受信する段階と、第2の画像データに対する第2のオブジェクトを受信する段階と、第2の追跡マーカを使用して画像、第2の画像データ、及び受信した第2のオブジェクトの表示を引き起こす段階とを更に含むNP13の方法。
NP15.受信画像データが2又は3次元画像データであるNP13又はNP14の方法。
NP16.コンピュータにより、表示のために発生3Dメッシュ上にテクスチャを投影する段階を更に含むNP13−NP15のいずれか1つの方法。
NP17.コンピュータにより、オブジェクト閉塞を画像データ内に挿入する段階を更に含むNP13−NP16のいずれか1つの方法。
NP18.画像データが間取図にマップされるNP13−NP17のいずれか1つの方法。
NP19.画像データが時系列に含まれるNP13−NP18のいずれか1つの方法。
NP20.コンピュータにより、テキスト、描画、及び3D画像のうちの少なくとも1つを含む注釈を追加する段階を更に含むNP13−NP19のいずれか1つの方法。
NP21.コンピュータにより、ネットワーク上で画像データのライブストリーミング表示を引き起こす段階を更に含むNP13−NP20のいずれか1つの方法。
NP22.コンピュータにより、複数のユーザディスプレイ上に画像の表示を引き起こす段階を更に含むNP14の方法。
NP23.コンピュータにより、画像の顔特徴を検出する段階を更に含むNP14又はNP22の方法。
NP24.コンピュータにより、新しい画像シーンの追加を可能にするために画像シーン及び特徴のリストの表示を引き起こす段階を更に含むNP14、NP22、及びNP23のいずれか1つの方法。
NP25.コンピュータにより、現在選択されているシーンのための編集区域の表示を引き起こす段階を更に含むNP14及びNP22−NP24のいずれか1つの方法。
NP26.コンピュータにより、マーキングされた場所での画像データ内にオブジェクトを挿入する段階を更に含むNP14及びNP22−NP25のいずれか1つの方法。
NP27.コンピュータにより、挿入されたオブジェクトの動画を引き起こす段階を更に含むNP26の方法。
NP28.コンピュータにより、対話によって画像シーン内のユーザによって起動されるトリガ可能な指令を挿入されたオブジェクトに関連付ける段階を更に含むNP26又はNP27の方法。
NP29.トリガ可能な指令が、ウェブページを開く又は異なるシーンに移ることであるNP28の方法。
NP30.トリガ可能な指令が、テキストボックスの表示を引き起こす又はサウンドを再生することであるNP28の方法。
NP31.トリガ可能な指令が、電子メールを送信することであるNP28の方法。
NP32.対話がクリックであるNP28−NP31のいずれか1つの方法。
NP33.システムが、プロセッサとメモリとを有するサーバコンピュータにより、第1のタイムスタンプを含む第1の3D画像データを受信する段階と、画像データに位置をマップする段階と、画像データにマーカをマップする段階と、画像データ内のマーキングされた位置にオブジェクトを挿入する段階と、第2のタイムスタンプを含む第2の3D画像データを受信する段階と、第1及び第2のタイムスタンプに従って第1の3D画像及び第2の3D画像の表示を引き起こす段階とを含む仮想現実シーンを作成する方法。
NP34.第1の3D画像シーンが親シーンであり、第2の3D画像シーンが下位の子シーンであるNP33の方法。
NP35.第1のタイムスタンプが、第1の3D画像データに含まれたメタデータであるNP33又はNP34の方法。
NP36.第1の3D画像データが360度画像であり、コンピュータが、表示のために球面オブジェクトにテクスチャとして第1の3D画像を付加するように更に構成されるNP33−NP35のいずれか1つの方法。
NP37.第1の3D画像の方位が表示のために調節される場合があるNP36の方法。
NP38.コンピュータにより、表示のために独立してロードするために3D画像データを各部分にスライスする段階を更に含むNP36又はNP37の方法。
NP39.第1の3D画像がビデオであるNP33−NP38のいずれか1つの方法。
NP40.コンピュータにより、ユーザが画像シーンを閲覧、プレビュー、編集、及び配置するための編集レイアウトの表示を引き起こす段階を更に含むNP33−NP39のいずれか1つの方法。
NP41.編集レイアウトが、画像シーンの画像キャプション及びタイムスタンプを含むNP40の方法。
NP42.システムが、プロセッサとメモリとを有するサーバコンピュータにより、3D画像データを受信する段階と、画像データに位置をマップする段階と、マーカを画像データにマップする段階と、オブジェクトを画像データ内のマーキングされた位置に挿入する段階と、画像データのための間取図を受信する段階と、間取図内の位置の上への受信3D画像の配置を受信する段階とを含む仮想現実シーンを作成する方法。
NP43.コンピュータにより、3D画像データのための画像フィルタを受信する段階と、画像フィルタを受信間取図に適用する段階とを更に含むNP42の方法。
NP44.間取図が、コンピュータ支援設計ファイル、pdfファイル、又はオンラインマップのうちの少なくとも1つであるNP42又はNP43の方法。
NP45.間取図内の位置の上への受信3D画像の配置が、プラグインを通したものであるNP44の方法。
NP46.コンピュータにより、間取図上のホットスポットの表示を受信する段階と、間取図上のホットスポットのアイコンの表示を引き起こす段階とを更に含むNP42−NP45のいずれか1つの方法。
NP47.コンピュータにより、第2の間取図を受信する段階と、第2の間取図を積み重ねる段階とを更に含むNP42−NP46のいずれか1つの方法。
NP48.コンピュータにより、対話によって画像シーン内のユーザによって起動されるトリガ可能な指令をホットスポットに関連付ける段階を更に含むNP46又はNP47の方法。
NP49.コンピュータにより、ユーザからのクリック−アンド−ドラッグ作動によって間取図上のホットスポットを移動する段階を更に含むNP46−NP48のいずれか1つの方法。
NP50.トリガ可能な指令が、別の画像シーンへのナビゲーションであるNP48又はNP49の方法。
NP51.システムが、プロセッサとメモリとを有するサーバコンピュータにより、第1の3D画像データを受信する段階であって、第1の3D画像データが360度画像データであり、コンピュータが、表示のための球面オブジェクトにテクスチャとして第1の3D画像データを付加するように更に構成され、第1の3D画像データが、画像が元来撮影された方向に対応する第1の方向インジケータを含む上記受信する段階と、第1の3D画像データに位置をマップする段階と、第1の3D画像データにマーカをマップする段階と、画像が元来撮影された方向に対応する第2の方向インジケータを含む第2の3D画像データを受信する段階と、第1及び第2のデータに対する第1及び第2の方向インジケータを使用して表示のために第1及び第2のデータを方位付けする段階とを含む仮想現実シーンを作成する方法。
NP52.第1及び第2のデータに対する第1及び第2の方向インジケータを使用して表示のために第1及び第2のデータを方位付けする段階が、仮想カメラと仮想カメラ及び方向インジケータ間の角度とを使用する段階を含むNP51の方法。
NP53.第1の3D画像データがタイムスタンプを含むNP51又はNP52の方法。
NP54.第1の3D画像データが中間地点場所識別子を含むNP53の方法。
NP55.第2の3D画像データが、中間地点及びタイムスタンプを含み、第1の3D画像データのタイムスタンプ及び中間地点を使用して第2の3D画像データの中間地点とタイムスタンプを相関付けるNP54の方法。
NP56.コンピュータにより、第1の3D画像データに対する注釈情報を受信する段階と、受信した注釈情報を表示のために第1の3D画像データに相関付ける段階とを更に含むNP55の方法。
NP57.コンピュータにより、第1の3D画像データの音声情報を受信する段階と、受信した音声情報を表示及び再生のために第1の3D画像データに相関付ける段階とを更に含むNP55又はNP56の方法。
NP58.システムが、プロセッサとメモリとを有するサーバコンピュータにより、3D画像データを受信する段階であって、3D画像データが360度画像データであり、コンピュータが、表示のための球面オブジェクトにテクスチャとして3D画像データを付加するように更に構成される上記受信する段階と、第1及び第2の位置を3D画像データにマップする段階と、3D画像データの表示内の第1及び第2の位置間の距離を計算する段階とを含む仮想現実シーンを作成する方法。
NP59.コンピュータにより、3D画像データの表示内にオブジェクトをマップする段階と、3D画像データの表示内のオブジェクトの角度を計算する段階とを更に含むNP58の方法。
NP60.コンピュータにより、画像データのための間取図を受信する段階と、間取図内の位置の上への受信3D画像データの配置を受信する段階と、間取図の第1及び第2の位置間の距離を計算する段階とを更に含むNP58又はNP59の方法。
NP61.コンピュータにより、キャンバスオブジェクトのボーダーを含むキャンバスオブジェクトの境界を3D画像データに追加する段階を更に含むNP58−NP60のいずれか1つの方法。
NP62.コンピュータにより、第2のキャンバスオブジェクトのボーダーを含む第2のキャンバスオブジェクトの境界を3D画像データに追加する段階と、キャンバスオブジェクト及び第2のキャンバスオブジェクト上の第1及び第2の位置間の距離を計算する段階とを更に含むNP61の方法。
NP63.システムが、プロセッサとメモリとを有するサーバコンピュータにより、3D画像データを受信する段階であって、3D画像データが360度画像データであり、コンピュータが、表示のための球面オブジェクトにテクスチャとして3D画像データを付加するように更に構成される上記受信する段階と、ウェブページを含むオーバーレイの表示を3D画像データにわたって引き起こす段階とを含む仮想現実シーンを作成する方法。
NP64.コンピュータにより、移動デバイス上の表示のためにテクスチャのサイズを変更する段階を更に含むNP63の方法。
NP65.システムが、プロセッサとメモリとを有するサーバコンピュータにより、3D画像データを受信する段階であって、3D画像データが360度画像データであり、コンピュータが、表示のための球面オブジェクトにテクスチャとして3D画像データを付加するように更に構成される上記受信する段階と、ある位置で3D画像データにマーカをマップする段階と、オブジェクトを画像データ内のマーキングされた位置に挿入する段階と、注釈をオブジェクトに追加する段階とを含む仮想現実シーンを作成する方法。
NP66.コンピュータにより、注釈のリストから追加注釈の選択を受信する段階と、対応する追加注釈を有する3D画像データの表示を引き起こす段階とを更に含むNP65の方法。
NP67.対応する追加注釈を有する3D画像データの表示が、注釈付きオブジェクトにフォーカスするNP66の方法。
NP68.注釈付きオブジェクトが、ユーザによって対話することができるNP66又はNP67の方法。
NP69.注釈のリストが、注釈付きオブジェクトがユーザによって対話された後のステータス更新を含むNP68の方法。
NP70.システムが、プロセッサとメモリとを有するサーバコンピュータにより、3D画像データを受信する段階であって、3D画像データが360度画像データであり、コンピュータが、表示のための球面オブジェクトにテクスチャとして3D画像データを付加するように更に構成される上記受信する段階と、3D画像データへのグラフィック追加のための塗装ツールを提供する段階とを含む仮想現実シーンを作成する方法。
NP71.塗装ツールが、ハードウエアユーザインタフェースからの入力を含むNP70の方法。
NP72.ハードウエアユーザインタフェースが、コンピュータマウス、手持ち式ポインタ、ジョイスティック、又はタッチ画面のうちの少なくとも1つであるNP71の方法。
NP73.塗装ツールが、自由形状塗装ツールを含むNP70−NP72のいずれか1つの方法。
NP74.塗装ツールが、事前定義された幾何学形状を含むNP70NP73のいずれか1つの方法。
NP75.システムが、プロセッサとメモリとを有するサーバコンピュータにより、3D画像データを受信する段階であって、3D画像データが360度画像データであり、コンピュータが、表示のための球面オブジェクトにテクスチャとして3D画像データを付加するように更に構成される上記受信する段階と、3D画像データの表示内に複数のユーザの入力を提供する段階とを含む仮想現実シーンを作成する方法。
NP76.表示が、複数のユーザのアバターを含むNP75の方法。
NP77.表示内のアバターが、コンピュータにより、方位を示すそれらの対応するユーザハードウエアから受信したデータに従って3D画像データ内で方位付けられるNP76の方法。
NP78.複数のユーザが、互いに遠隔に位置付けられ、かつネットワーク上でサーバコンピュータと対話するNP75−NP77のいずれか1つの方法。
NP79.システムが、プロセッサとメモリとを有するサーバコンピュータにより、3D画像データを受信する段階であって、3D画像データが360度画像データであり、コンピュータが、表示のための球面オブジェクトにテクスチャとして3D画像データを付加するように更に構成される上記受信する段階と、3D画像データに音声ソースを位置決めする段階であって、3D画像データに位置付けられた音声ソースが、複数のチャネルを使用してユーザのために再生される上記位置決めする段階とを含む仮想現実シーンを作成する方法。
NP80.音声ソースの位置が、3D画像データに対して移動することができるNP79の方法。
NP81.音声ソースが、ユーザ対話によってトリガされるNP79又はNP80の方法。
NP82.システムが、プロセッサとメモリとを有するサーバコンピュータにより、3D画像データを受信する段階であって、3D画像データが360度画像データであり、コンピュータが、表示のための球面オブジェクトにテクスチャとして3D画像データを付加するように更に構成される上記受信する段階と、ネットワーク上のデータストリーム内でユーザに対して3D画像データの表示を引き起こす段階とを含む仮想現実シーンを作成する方法。
NP83.3D画像データが、360度カメラからのものであるNP82の方法。
NP84.コンピュータにより、データストリームが中断される場合にプレースホルダ画像の表示を引き起こす段階を更に含むNP82又はNP83の方法。
NP85.コンピュータにより、ユーザによる対話時に3D画像のズーム部分の表示を引き起こす段階を更に含むNP82−NP84のいずれか1つの方法。
NP86.システムが、プロセッサとメモリとを有するサーバコンピュータにより、3D画像データを受信する段階と、画像データに位置をマップする段階と、画像データにマーカをマップする段階と、オブジェクトを画像データ内のマーキングされた位置に挿入する段階と、ユーザによる選択時に3D画像の歪みを引き起こす段階とを含む仮想現実シーンを作成する方法。
NP87.歪みが、3D画像内のオブジェクトにユーザがフォーカスすることができるように構成された魚眼歪みであるNP86の方法。
NP88.システムが、プロセッサとメモリとを有するサーバコンピュータにより、3D画像データを受信する段階と、画像データに位置をマップする段階と、画像データにマーカをマップする段階と、顔特徴を3D画像データで分析及び識別する段階とを含む仮想現実シーンを作成する方法。
NP89.コンピュータにより、3D画像データの表示内の識別された顔特徴を目立たなくする段階を更に含むNP88の方法。
NP90.システムが、プロセッサとメモリとを有するサーバコンピュータにより、第1の解像度の3D画像データを受信する段階と、第2の解像度の3D画像データを受信する段階と、第1及び第2の3D画像データをセグメントにセグメント化する段階と、第1の解像度の3D画像データからのセグメントと第2の解像度の3D画像データからのセグメントの両方を使用して画像の表示を引き起こす段階とを含む仮想現実シーンを作成する方法。
NP91.システムが、プロセッサとメモリとを有するサーバコンピュータにより、3D画像データを受信する段階であって、3D画像データが360度画像データであり、コンピュータが、表示のための球面オブジェクトにテクスチャとして3D画像データを付加するように更に構成される上記受信する段階と、表示のために3D画像データに回転を適用する段階とを含む仮想現実シーンを作成する方法。
NP92.システムが、プロセッサとメモリとを有するサーバコンピュータにより、第1の3D画像データを受信する段階であって、第1の3D画像データが360度画像データであり、コンピュータが、表示のための球面オブジェクトにテクスチャとして第1の3D画像データを付加するように更に構成される上記受信する段階と、第2の3D画像データを受信する段階と、第1の3D画像データ及び第2の3D画像データを比較して両方に共通の特徴を相関付ける段階と、第1及び第2の3D画像の相関付けられた特徴の深度を計算する段階と、相関付けられた特徴の計算された深度を使用して立体画像表示をレンダリングする段階とを含む仮想現実シーンを作成する方法。
NP93.コンピュータにより、フィルタを第1の3D画像データ及び第2の3D画像データに適用する段階と、表示のために第1及び第2の濾過3D画像データを融合する段階とを更に含むNP92の方法。
NP94.フィルタが、移動するオブジェクトを除去するNP93の方法。
NP95.フィルタが、変化する光条件を除去するNP93の方法。
NP96.システムが、プロセッサとメモリとを有するサーバコンピュータにより、3D画像ビデオデータを受信する段階であって、3D画像データが360度画像データであり、コンピュータが、表示のための球面オブジェクトにテクスチャとして3D画像ビデオデータを付加するように更に構成される上記受信する段階と、3D画像ビデオを分析してオブジェクトを識別する段階と、3D画像ビデオ内で識別されたオブジェクトを追跡する段階とを含む仮想現実シーンを作成する方法。
NP97.コンピュータにより、受信3D画像ビデオデータを取り込むのに使用されるカメラの位置を決定する段階と、カメラの決定された位置及び識別されたオブジェクトを使用して識別したオブジェクトを追跡する段階とを更に含むNP96の方法。
NP98.3D画像ビデオの分析が、視覚検索エンジンによるものであるNP96又はNP97の方法。
NP99.コンピュータにより、オブジェクトの絶対ポーズを更新する段階を更に含むNP97又はNP98の方法。
NP100.コンピュータにより、キーフレーム内のピクセルの推定された深度値を使用して受信3D画像ビデオデータのキーフレームの深度マップを推定する段階と、キーフレームの推定された深度マップを使用して点クラウドを発生させる段階と、発生された点クラウドを使用して3Dメッシュを発生させる段階とを更に含むNP96−NP99のいずれか1つの方法。
NP101.コンピュータにより、キーフレームからキーポイントを抽出する段階と、識別されたオブジェクトの追跡に抽出キーポイントを使用する段階とを更に含むNP100の方法。
NP102.コンピュータにより、テクスチャ化メッシュに注釈を付けるためのツールを提供する段階を更に含むNP100又はNP101の方法。
NP103.テクスチャ化メッシュが、3D画像ビデオデータ内の影付けに使用されるNP101又はNP102の方法。