(57)【要約】【課題】(様々なデータソースからの)利用可能なデータを使用して統合されたバーチャルリアリティ体験を提供する。【解決手段】システムおよび方法は、バーチャルリアリティデバイスから旅行目的地の選択を取得することと、旅行サービスを含む旅行目的地に関連する目的地情報を取得することと、デバイス識別子または個人プロファイル識別子を含む個人に関連するコンテキスト情報を取得することと、個人およびデバイスに関連するプロファイル情報を取得することと、プロファイルおよび目的地に基づきサービスをフィルタすることと、コントロールを含む目的地のバーチャル環境を提供することと、コントロールおよび環境を使用して旅行サービスを提供することと、バーチャル環境での個人の動作を受け取ることと、バーチャル環境とのインタラクションとコントロールおよび環境への更新とを決定することと、更新されたコントロールおよび環境を提供することとを行う。【選択図】図１
2018049618.tif 000002
【特許請求の範囲】
【請求項１】
1つまたは複数のプロセッサを備えるバーチャルリアリティコンピューティングシステムによって実行可能である命令を記憶した非一時的コンピュータ可読記憶媒体であって、
前記命令は、前記バーチャルリアリティコンピューティングシステムに、
個人に関連付けられているバーチャルリアリティデバイスから旅行目的地の選択を取得するステップと、
1つまたは複数のデータソースから前記旅行目的地に関連付けられている目的地情報を取得するステップであって、前記目的地情報は、前記旅行目的地に関連付けられている旅行サービスを含む、ステップと、
前記1つまたは複数のデータソースから前記個人に関連付けられているコンテキスト情報を取得するステップであって、前記コンテキスト情報は、前記バーチャルリアリティデバイスに関連付けられているデバイス識別子および個人プロファイル識別子のうちの一方を含む、ステップと、
前記コンテキスト情報に応答して、前記個人およびバーチャルリアリティデバイスに関連付けられているプロファイル情報を取得するステップと、
前記プロファイル情報および旅行目的地の選択に基づき前記旅行サービスをフィルタリングするステップと、
前記バーチャルリアリティデバイスを使用して前記個人に対して表示するために、前記旅行目的地を表現するバーチャルリアリティ環境を提供するステップであって、前記バーチャルリアリティ環境は、1つまたは複数のバーチャルリアリティコントロールを含む、ステップと、
前記1つまたは複数のバーチャルリアリティコントロールおよび前記バーチャルリアリティ環境を使用して、フィルタリングされた前記旅行サービスの表現を提供するステップと、
前記バーチャルリアリティデバイスから、前記バーチャル環境での前記個人の動作を受け取るステップと、
前記個人の動作に基づき、前記バーチャル環境とのインタラクションを決定するステップと、
前記インタラクションに応答して、前記バーチャルリアリティコントロールおよび前記バーチャルリアリティ環境への更新を決定するステップと、
前記個人に対して表示するために、更新された前記バーチャルリアリティコントロールおよびバーチャルリアリティ環境を前記バーチャルリアリティデバイスに提供するステップと
を含む方法を実行させる、非一時的コンピュータ可読記憶媒体。
【請求項２】
前記バーチャルリアリティコンピューティングシステムによって実行可能である前記命令は、前記バーチャルリアリティコンピューティングシステムに、
前記1つまたは複数のバーチャルリアリティコントロールとのインタラクションに応答して、前記1つまたは複数のデータソースから追加の情報を取得するステップであって、前記バーチャルリアリティコントロールおよび前記バーチャルリアリティ環境への前記更新は、前記追加の情報に基づく、ステップ
をさらに実行させる、請求項1に記載の非一時的コンピュータ可読記憶媒体。
【請求項３】
前記命令は、前記バーチャルリアリティコンピューティングシステムに、
バーチャルリアリティコントローラから前記個人の動作を受け取るステップ
をさらに実行させる、請求項1に記載の非一時的コンピュータ可読記憶媒体。
【請求項４】
前記個人の動作は、前記バーチャルリアリティデバイスの慣性計測ユニットから受け取られる、請求項1に記載の非一時的コンピュータ可読記憶媒体。
【請求項５】
前記個人の物理的環境での環境動作は、前記バーチャルリアリティデバイスの慣性計測ユニットから受け取られ、前記バーチャルリアリティ環境への前記更新は、前記環境動作に基づく、請求項1に記載の非一時的コンピュータ可読記憶媒体。
【請求項６】
バーチャルリアリティ環境とインタラクティブにやり取りするための方法であって、
個人に関連付けられているバーチャルリアリティデバイスから旅行目的地の選択を取得するステップと、
1つまたは複数のデータソースから前記旅行目的地に関連付けられている目的地情報を取得するステップであって、前記目的地情報は、前記旅行目的地に関連付けられている旅行サービスを含む、ステップと、
前記1つまたは複数のデータソースから前記個人に関連付けられているコンテキスト情報を取得するステップであって、前記コンテキスト情報は、前記バーチャルリアリティデバイスに関連付けられているデバイス識別子および個人プロファイル識別子のうちの一方を含む、ステップと、
前記コンテキスト情報に応答して、前記個人およびバーチャルリアリティデバイスに関連付けられているプロファイル情報を取得するステップと、
前記プロファイル情報および旅行目的地の選択に基づき前記旅行サービスをフィルタリングするステップと、
前記バーチャルリアリティデバイスを使用して前記個人に対して表示するために、前記旅行目的地を表現するバーチャルリアリティ環境を提供するステップであって、前記バーチャルリアリティ環境は、1つまたは複数のバーチャルリアリティコントロールを含む、ステップと、
前記1つまたは複数のバーチャルリアリティコントロールおよび前記バーチャルリアリティ環境を使用して、フィルタリングされた前記旅行サービスの表現を提供するステップと、
前記バーチャルリアリティデバイスから、前記バーチャル環境での前記個人の動作を受け取るステップと、
前記個人の動作に基づき、前記バーチャル環境とのインタラクションを決定するステップと、
前記インタラクションに応答して、前記バーチャルリアリティコントロールおよび前記バーチャルリアリティ環境への更新を決定するステップと、
前記個人に対して表示するために、更新された前記バーチャルリアリティコントロールおよびバーチャルリアリティ環境を前記バーチャルリアリティデバイスに提供するステップと
を含む方法。
【請求項７】
前記1つまたは複数のバーチャルリアリティコントロールとのインタラクションに応答して、前記1つまたは複数のデータソースから追加の情報を取得するステップであって、前記バーチャルリアリティコントロールおよび前記バーチャルリアリティ環境への前記更新は、前記追加の情報に基づく、ステップ
をさらに含む、請求項6に記載の方法。
【請求項８】
前記個人の動作は、バーチャルリアリティコントローラから受け取られる、請求項6に記載の方法。
【請求項９】
前記個人の動作は、前記バーチャルリアリティデバイスの慣性計測ユニットから受け取られる、請求項6に記載の方法。
【請求項１０】
前記個人の物理的環境での環境動作は、前記バーチャルリアリティデバイスの慣性計測ユニットから受け取られ、前記バーチャルリアリティ環境への前記更新は、前記環境動作に基づく、請求項6に記載の方法。
【請求項１１】
1つまたは複数のデータソースからの個人に関連付けられている旅行目的地、目的地情報、およびコンテキスト情報を記憶するように構成されたデータ記憶装置と、
1つまたは複数のプロセッサと
を備え、
前記1つまたは複数のプロセッサは、
前記個人に関連付けられているバーチャルリアリティデバイスから旅行目的地の選択を取得することと、
1つまたは複数のデータソースから前記旅行目的地に関連付けられている目的地情報を取得することであって、前記目的地情報は、前記旅行目的地に関連付けられている旅行サービスを含む、ことと、
前記1つまたは複数のデータソースから前記個人に関連付けられているコンテキスト情報を取得することであって、前記コンテキスト情報は、前記バーチャルリアリティデバイスに関連付けられているデバイス識別子および個人プロファイル識別子のうちの一方を含む、ことと、
前記コンテキスト情報に応答して、前記個人およびバーチャルリアリティデバイスに関連付けられているプロファイル情報を取得することと、
前記プロファイル情報および旅行目的地の選択に基づき前記旅行サービスをフィルタリングすることと、
前記バーチャルリアリティデバイスを使用して前記個人に対して表示するために、前記旅行目的地を表現するバーチャルリアリティ環境を提供することであって、前記バーチャルリアリティ環境は、1つまたは複数のバーチャルリアリティコントロールを含む、ことと、
前記1つまたは複数のバーチャルリアリティコントロールおよび前記バーチャルリアリティ環境を使用して、フィルタリングされた前記旅行サービスの表現を提供することと、
前記バーチャルリアリティデバイスから、前記バーチャル環境での前記個人の動作を受け取ることと、
前記個人の動作に基づき、前記バーチャル環境とのインタラクションを決定することと、
前記インタラクションに応答して、前記バーチャルリアリティコントロールおよび前記バーチャルリアリティ環境への更新を決定することと、
前記個人に対して表示するために、更新された前記バーチャルリアリティコントロールおよびバーチャルリアリティ環境を前記バーチャルリアリティデバイスに提供することと
を行うように構成される、電子デバイス。
【請求項１２】
前記1つまたは複数のプロセッサは、
前記1つまたは複数のバーチャルリアリティコントロールとのインタラクションに応答して、前記1つまたは複数のデータソースから追加の情報を取得することであって、前記バーチャルリアリティコントロールおよび前記バーチャルリアリティ環境への前記更新は、前記追加の情報に基づく、こと
を行うようにさらに構成される、請求項11に記載の電子デバイス。
【請求項１３】
前記1つまたは複数のプロセッサは、
バーチャルリアリティコントローラから前記個人の動作を受け取ること
を行うようにさらに構成される、請求項11に記載の電子デバイス。
【請求項１４】
前記1つまたは複数のプロセッサは、
前記バーチャルリアリティデバイスの慣性計測ユニットから前記個人の動作を受け取ること
を行うようにさらに構成される、請求項11に記載の電子デバイス。
【請求項１５】
前記1つまたは複数のプロセッサは、
前記バーチャルリアリティデバイスの慣性計測ユニットから前記個人の物理的環境での環境動作を受け取り、前記バーチャルリアリティ環境への更新を前記環境動作に基づかせること
を行うようにさらに構成される、請求項11に記載の電子デバイス。
【請求項１６】
1つまたは複数のプロセッサを備えるバーチャルリアリティコンピューティングシステムによって実行可能である命令を記憶した非一時的コンピュータ可読記憶媒体であって、
前記命令は、前記バーチャルリアリティコンピューティングシステムに、
バーチャルリアリティ環境を生成するステップであって、前記バーチャルリアリティ環境は、1つまたは複数のバーチャルリアリティコントロールを含む、ステップと、
バーチャルリアリティデバイスを通じて、表示するために前記バーチャルリアリティ環境を提供するステップと、
前記1つまたは複数のバーチャルリアリティコントロールの操作を通じて入力を取得するステップであって、前記操作は、前記バーチャルリアリティデバイスを使用して行われ、前記操作は、前記1つまたは複数のバーチャルリアリティコントロールに関連付けられている少なくとも1つの動作パターンに従う、ステップと、
前記入力、前記1つまたは複数のバーチャルリアリティコントロールのコンテンツ、および前記操作に関連付けられている前記動作パターンに基づき、前記バーチャル環境への変更を決定するステップであって、前記変更は、前記1つまたは複数のバーチャルリアリティコントロールの前記操作を反映する、ステップと、
表示するために前記バーチャルリアリティデバイスに前記変更を提供するステップと
を含む方法を実行させる、非一時的コンピュータ可読記憶媒体。
【請求項１７】
前記操作は、バーチャルリアリティコントローラを使用してさらに行われる、請求項16に記載の非一時的コンピュータ可読記憶媒体。
【請求項１８】
前記1つまたは複数のバーチャルリアリティコントロールは、スクロールホイールを含む、請求項16に記載の非一時的コンピュータ可読記憶媒体。
【請求項１９】
前記スクロールホイールに関連付けられている前記少なくとも1つの動作パターンは、前記スクロールホイールをつかみ、回転させることに対応する、請求項18に記載の非一時的コンピュータ可読記憶媒体。
【請求項２０】
前記1つまたは複数のバーチャルリアリティコントロールは、時間スライダを含む、請求項16に記載の非一時的コンピュータ可読記憶媒体。
【請求項２１】
前記時間スライダに関連付けられている前記少なくとも1つの動作パターンは、前記時間スライダの一部をつかみ、ドラッグすることに対応する、請求項20に記載の非一時的コンピュータ可読記憶媒体。
【請求項２２】
前記1つまたは複数のバーチャルリアリティコントロールは、選択ダイヤルを含む、請求項16に記載の非一時的コンピュータ可読記憶媒体。
【請求項２３】
前記選択ダイヤルに関連付けられている前記少なくとも1つの動作パターンは、前記選択ダイヤルをつかみ、回転させることに対応する、請求項22に記載の非一時的コンピュータ可読記憶媒体。
【請求項２４】
前記1つまたは複数のバーチャルリアリティコントロールは、三次元オブジェクトの表現を含む、請求項16に記載の非一時的コンピュータ可読記憶媒体。
【請求項２５】
前記三次元オブジェクトは、航空機である、請求項24に記載の非一時的コンピュータ可読記憶媒体。
【請求項２６】
前記三次元オブジェクトは、地球儀または地図である、請求項24に記載の非一時的コンピュータ可読記憶媒体。
【請求項２７】
前記バーチャル環境への前記変更は、追加のバーチャルリアリティコントロールを含む、請求項16に記載の非一時的コンピュータ可読記憶媒体。
【請求項２８】
前記バーチャルリアリティ環境への変更を決定する前記ステップは、
前記入力に関連付けられている1つまたは複数のデータソースから情報を取得するステップであって、前記バーチャルリアリティ環境への前記変更は、取得された前記情報に基づく、ステップ
をさらに含む、請求項16に記載の非一時的コンピュータ可読記憶媒体。
【請求項２９】
バーチャルリアリティコンピューティングシステムとインタラクティブにやり取りするための方法であって、
バーチャルリアリティ環境を生成するステップであって、前記バーチャルリアリティ環境は、1つまたは複数のバーチャルリアリティコントロールを含む、ステップと、
バーチャルリアリティデバイスを通じて、表示するために前記バーチャルリアリティ環境を提供するステップと、
前記1つまたは複数のバーチャルリアリティコントロールの操作を通じて入力を取得するステップであって、前記操作は、前記バーチャルリアリティデバイスを使用して行われ、前記操作は、前記1つまたは複数のバーチャルリアリティコントロールに関連付けられている少なくとも1つの動作パターンに従う、ステップと、
前記入力、前記1つまたは複数のバーチャルリアリティコントロールのコンテンツ、および前記操作に関連付けられている前記動作パターンに基づき、前記バーチャル環境への変更を決定するステップであって、前記変更は、前記1つまたは複数のバーチャルリアリティコントロールの前記操作を反映する、ステップと、
表示するために前記バーチャルリアリティデバイスに前記変更を提供するステップと
を含む方法。
【請求項３０】
前記操作は、前記1つまたは複数のバーチャルリアリティコントロールを操作するためにバーチャルリアリティコントローラを使用することを含む、請求項29に記載の方法。
【請求項３１】
前記1つまたは複数のバーチャルリアリティコントロールは、スクロールホイールを含む、請求項29に記載の方法。
【請求項３２】
前記スクロールホイールに関連付けられている前記少なくとも1つの動作パターンは、前記スクロールホイールをつかみ、回転させることに対応する、請求項31に記載の方法。
【請求項３３】
前記1つまたは複数のバーチャルリアリティコントロールは、時間スライダを含む、請求項29に記載の方法。
【請求項３４】
前記時間スライダに関連付けられている前記少なくとも1つの動作パターンは、前記時間スライダの一部をつかみ、ドラッグすることに対応する、請求項33に記載の方法。
【請求項３５】
前記1つまたは複数のバーチャルリアリティコントロールは、選択ダイヤルを含む、請求項29に記載の方法。
【請求項３６】
前記選択ダイヤルに関連付けられている前記少なくとも1つの動作パターンは、前記選択ダイヤルをつかみ、回転させることに対応する、請求項35に記載の方法。
【請求項３７】
前記1つまたは複数のバーチャルリアリティコントロールは、三次元オブジェクトの表現を含む、請求項29に記載の方法。
【請求項３８】
前記三次元オブジェクトは、航空機である、請求項37に記載の方法。
【請求項３９】
前記三次元オブジェクトは、地球儀または地図である、請求項37に記載の方法。
【請求項４０】
前記バーチャル環境への前記変更は、追加のバーチャルリアリティコントロールを含む、請求項29に記載の方法。
【請求項４１】
前記バーチャルリアリティ環境への変更を決定するステップは、
前記入力に関連付けられている1つまたは複数のデータソースから情報を取得するステップであって、前記バーチャルリアリティ環境への前記変更は、取得された前記情報に基づく、ステップ
をさらに含む、請求項29に記載の方法。
【請求項４２】
1つまたは複数のバーチャルリアリティコントロールに関連付けられている少なくとも1つの動作パターンを記憶するように構成されたデータ記憶装置と、
1つまたは複数のプロセッサと
を備え、
前記1つまたは複数のプロセッサは、
バーチャルリアリティ環境を生成することであって、前記バーチャルリアリティ環境は、前記1つまたは複数のバーチャルリアリティコントロールを含む、ことと、
バーチャルリアリティデバイスを通じて、表示するために前記バーチャルリアリティ環境を提供することと、
前記1つまたは複数のバーチャルリアリティコントロールの操作を通じて入力を取得することであって、前記操作は、前記バーチャルリアリティデバイスを使用して行われ、前記操作は、前記1つまたは複数のバーチャルリアリティコントロールに関連付けられている前記少なくとも1つの動作パターンに従う、ことと、
前記入力、前記1つまたは複数のバーチャルリアリティコントロールのコンテンツ、および前記操作に関連付けられている前記動作パターンに基づき、前記バーチャル環境への変更を決定することであって、前記変更は、前記1つまたは複数のバーチャルリアリティコントロールの前記操作を反映する、ことと、
表示するために前記バーチャルリアリティデバイスに前記変更を提供することと
を行うように構成される、電子デバイス。
【請求項４３】
前記操作は、前記1つまたは複数のバーチャルリアリティコントロールを操作するためにバーチャルリアリティコントローラを使用することを含む、請求項42に記載の電子デバイス。
【請求項４４】
前記1つまたは複数のバーチャルリアリティコントロールは、スクロールホイールを含む、請求項42に記載の電子デバイス。
【請求項４５】
前記スクロールホイールに関連付けられている前記少なくとも1つの動作パターンは、前記スクロールホイールをつかみ、回転させることに対応する、請求項44に記載の電子デバイス。
【請求項４６】
前記1つまたは複数のバーチャルリアリティコントロールは、時間スライダを含む、請求項42に記載の電子デバイス。
【請求項４７】
前記時間スライダに関連付けられている前記少なくとも1つの動作パターンは、前記時間スライダの一部をつかみ、ドラッグすることに対応する、請求項46に記載の電子デバイス。
【請求項４８】
前記1つまたは複数のバーチャルリアリティコントロールは、選択ダイヤルを含む、請求項42に記載の電子デバイス。
【請求項４９】
前記選択ダイヤルに関連付けられている前記少なくとも1つの動作パターンは、前記選択ダイヤルをつかみ、回転させることに対応する、請求項48に記載の電子デバイス。
【請求項５０】
前記1つまたは複数のバーチャルリアリティコントロールは、三次元オブジェクトの表現を含む、請求項42に記載の電子デバイス。
【請求項５１】
前記三次元オブジェクトは、航空機である、請求項50に記載の電子デバイス。
【請求項５２】
前記三次元オブジェクトは、地球儀または地図である、請求項50に記載の電子デバイス。
【請求項５３】
前記バーチャル環境への前記変更は、追加のバーチャルリアリティコントロールを含む、請求項42に記載の電子デバイス。
【請求項５４】
前記バーチャルリアリティ環境への変更を決定することは、
前記入力に関連付けられている1つまたは複数のデータソースから情報を取得することであって、前記バーチャルリアリティ環境への前記変更は、取得された前記情報に基づく、こと
をさらに含む、請求項42に記載の電子デバイス。
【発明の詳細な説明】
【背景技術】
【０００１】
現代世界において利用可能なデータおよびデータソースが増大するとともに、人々がデータを消費する様式も増え、その革新も進んできた。個人は、自分たちの日々の行動およびインタラクション(interaction)を情報として伝えるためにオンラインリソースとデータの利用可能性とに次第に頼るようになってきている。このような過剰とも言える情報が、様々な配信チャネルおよびプラットフォームにおいて利用可能になっている。
【０００２】
しかしながら、視覚世界を模倣するためのコンピュータ技術の使用は、まだ初期段階にある。現在のバーチャルリアリティ(virtual reality)システムは、現実の視覚環境または仮想(imaginary)シーンから画像データを複製することができる。これらの種類のシステムは、有用であり、楽しめるものではあるが、通常は、特定のアプリケーションおよびその制限されたデータセットのための表示または環境を単純に提供することに限定されている。利用可能なデータの絶えず拡大しているコーパスを利用する完全に統合されたバーチャルリアリティ体験を提供するために、ユーザの望みに関するコンテキスト情報および詳細を組み込むバーチャルシステムが必要になっている。
【発明の概要】
【課題を解決するための手段】
【０００３】
次に、本開示の例示的な実施形態を示す添付図面を参照する。
【図面の簡単な説明】
【０００４】
【図１】本開示の実施形態と一致する、統合バーチャルリアリティシステムのための例示的なシステムのブロック図である。
【図２】本開示の実施形態と一致する、例示的なコンピューティングデバイスのブロック図である。
【図３Ａ】本開示の実施形態と一致する、例示的なバーチャルリアリティデバイスの図である。
【図３Ｂ】本開示の実施形態と一致する、例示的なバーチャルリアリティデバイスの図である。
【図３Ｃ】本開示の実施形態と一致する、例示的なバーチャルリアリティデバイスの図である。
【図４Ａ】本開示の実施形態と一致する、バーチャルリアリティの例示的な使用の図である。
【図４Ｂ】本開示の実施形態と一致する、バーチャルリアリティの例示的な使用の図である。
【図４Ｃ】本開示の実施形態と一致する、バーチャルリアリティの例示的な使用の図である。
【図４Ｄ】本開示の実施形態と一致する、バーチャルリアリティの例示的な使用の図である。
【図５】本開示の実施形態と一致する、バーチャルリアリティシステムにおける改善されたデータ統合のための例示的な方法のフローチャートである。
【図６】本開示の実施形態と一致する、バーチャルリアリティシステムにおける改善されたデータ統合のための例示的な方法のフローチャートである。
【発明を実施するための形態】
【０００５】
次に、例が添付図面に示されている、本開示によって実装される例示的な実施形態が詳細に参照される。可能な限り、図面全体を通して同じまたは類似の部分を指すために同じ参照番号が使用される。
【０００６】
本明細書で説明されている実施形態は、バーチャルリアリティシステムにおける改善されたインタラクションおよび統合に関係する。バーチャルリアリティシステムは、実環境を複製し、仮想環境を提示する非常に大きな潜在的可能性を提供する。シミュレートされた設定を用いることで、ユーザは、人工的なコンピュータ生成世界の特徴機能とインタラクティブにやり取りする(interact with)ことができる。
【０００７】
現在のバーチャルリアリティシステムでは、コンピュータ生成画像およびデータを使用してユーザを取り囲む実環境または仮想環境を複製することができる。しかしながら、バーチャルリアリティシステムの現在の実装は、完全に統合された体験をもたらすことに失敗している。これらのシステムでは、ユーザは環境とインタラクティブにやり取りすることができるが、バーチャル世界は、あらかじめ決定されている環境に限定される。さらに、典型的なバーチャルリアリティシステムは、特定の、あらかじめ決定されているデータセットを備える特定のアプリケーションをターゲットとしている。
【０００８】
本明細書で説明されている実施形態は、これらの問題に対して異なる視点からアプローチする。特定のアプリケーションに基づき一組の限定された情報を提供することに集中する代わりに、開示されているシステムでは、バーチャルリアリティデバイスそれ自体からのデータを個人およびアプリケーションに関連付けられている膨大な外部および専用データソースと統合する。開示されているシステムは、ユーザに関するコンテキスト情報を使用して利用可能なデータを分析し、処理することができる。このデータ統合の結果は、ユーザのバーチャルリアリティデバイスに送られ、システムに利用可能な情報と同じくらい拡張的である興味をそそる没入環境を提供することができる。
【０００９】
さらに、開示されているシステムおよび方法は、個人に関するコンテキスト情報に基づきその情報を手直しすることができる。システムは、他のデータソースをバーチャルリアリティ環境におよびユーザからのインタラクションに関係するコンテキスト固有のデータにリンクすることができる。
【００１０】
たとえば、開示されているシステムおよび方法は、ユーザのデジタルカレンダーからのデータを使用することで、いつで個人が休暇を取ることができるか、または出張する必要があるかを決定することができる。開示されているシステムおよび方法は、利用可能なフライトのバーチャルリアリティ表現を、個人のフライト選好ならびに出発地および目的地に合わせてパーソナライズされた特定の情報とともに表示することができる。バーチャルリアリティシステムは、ユーザをバーチャルに輸送し、ユーザを空港および旅行する都市の内側に置き、ユーザにそのエリアのバーチャルツアーおよび選択された実際の場所にいる体験を提供することができる。バーチャル環境内に表示される特定の天気および時刻は、旅行に対して要求された時間に基づくものとしてよい。さらに、ユーザは、バーチャルリアリティ環境を利用して、完全に統合されたバーチャル環境内で利用可能なフライトおよび特定の航空機の方向を探索することができる。ユーザが様々なオプションを探索するためバーチャルコントロールをインタラクティブに操作すると、環境は、様々なデータソースから受信されたデータを使用して、それらのインタラクションを反映するように変化することができる。フライトの利用可能性および目的地に関する情報を単純に提供する代わりに、開示されているシステムが複数のデータソースからデータを統合することで、特定のニーズまたは選択に基づき、手直ししたバーチャルリアリティ体験を個人に提供する。
【００１１】
このようにして、開示されているシステムおよび方法は、インタラクティブな体験を個人に提供することができる。バーチャルリアリティシステムの大半は、情報を広め、制限された環境とインタラクティブにやり取りする制限された能力を提供する。開示されているシステムおよび方法は、特に個人に合わせて手直しされた、様々なデータソースからの統合データを提供するので、個人からのインタラクションおよびコンテキスト情報は、個人に関連付けられている任意の数の活動またはサービスに関係し得る。たとえば、個人が航空機で旅行しているときに、個人は、エッフェル塔のそばをバーチャルに飛ぶ、フルスクリーン映画を見る、またはハンググライダーでビーチの上を飛ぶことを可能にするバーチャルリアリティ体験を選択することができ、これらはすべて飛行中にバーチャルリアリティデバイスによって提供される動作およびコンテキスト情報に基づく。バーチャル環境は、ユーザに関するデータを利用して、一意的に手直しされた体験を完全に提供することができる。
【００１２】
本明細書で説明されている実施形態は、統合されたバーチャルリアリティ体験を提供するために(様々なデータソースからの)膨大な量の利用可能なデータを使用する技術および技法をもたらす。本明細書で説明されている実施形態は、バーチャルリアリティデバイスから個人に関するコンテキスト情報および個人と関連付けられているバーチャルリアリティデバイスに関するデバイス情報を取得するためのシステムおよび方法を含む。システムおよび方法は、たとえば、航空路線予約に関する複数のデータを取得するステップをさらに含む。システムおよび方法は、複数のデータソースから個人またはバーチャルリアリティデバイスに関連付けられている複数のデータセットを取得するステップと、個人に関連する複数のデータセットから情報のサブセットを決定するステップとをさらに含み、情報の関連性は、コンテキスト情報とバーチャルリアリティデバイスから取得されたデバイス情報とに基づく。さらに、説明されている実施形態は、情報の決定されたサブセットに基づき表示データを生成し、表示データをバーチャルリアリティデバイスに送り、バーチャルリアリティデバイス上に表示するためのシステムおよび方法を含み、ユーザは表示データを物理的にインタラクティブに操作し得る。
【００１３】
他の開示されている実施形態において、バーチャルリアリティデバイスから取得されたコンテキスト情報が個人に関連付けられている旅行情報を含み、旅行情報がユーザプロファイル、旅行選好、購入済み旅行サービス、旅行更新、および旅行履歴情報のうちの少なくとも1つを含むシステムおよび方法が提供される。本明細書で説明されている実施形態は、統合されたバーチャルリアリティ体験を提供するために(様々なデータソースからの)利用可能なデータを使用する技術および技法をもたらす。本明細書で説明されている実施形態は、個人に関連付けられているバーチャルリアリティデバイスから旅行目的地の選択を取得するステップと、1つまたは複数のデータソースから旅行目的地に関連付けられている目的地情報を取得するステップであって、目的地情報は旅行目的地に関連付けられている旅行サービスを含む、ステップと、1つまたは複数のデータソースから個人に関連付けられているコンテキスト情報を取得するステップであって、コンテキスト情報はバーチャルリアリティデバイスに関連付けられているデバイス識別子および個人プロファイル識別子のうちの一方を含む、ステップと、コンテキスト情報に応答して、個人およびバーチャルリアリティデバイスに関連付けられているプロファイル情報を取得するステップと、プロファイル情報および旅行目的地の選択に基づき旅行サービスをフィルタリングするステップと、バーチャルリアリティデバイスを使用して個人に対して表示するためにバーチャルリアリティ環境を提供するステップであって、バーチャルリアリティ環境は、1つまたは複数のバーチャルリアリティコントロールを含む、ステップと、旅行目的地を表現すると、1つまたは複数のバーチャルリアリティコントロールおよびバーチャルリアリティ環境を使用してフィルタリングされた旅行サービスの表現を提供するステップと、バーチャルリアリティデバイスから、バーチャル環境内の個人の動作を受け取るステップと、個人の動作に基づき、バーチャル環境とのインタラクションを決定するステップと、インタラクションに応答して、バーチャルリアリティコントロールおよびバーチャルリアリティ環境への更新を決定するステップと、個人に対して表示するために、更新されたバーチャルリアリティコントロールおよびバーチャルリアリティ環境をバーチャルリアリティデバイスに提供するステップとを実行するためのシステムおよび方法を含む。
【００１４】
本明細書で説明されている実施形態は、バーチャルリアリティ環境を生成するステップであって、バーチャルリアリティ環境は1つまたは複数の三次元バーチャルコントロールを含む、ステップと、バーチャルリアリティデバイスを通じて、表示するためバーチャルリアリティ環境を提供するステップと、1つまたは複数のバーチャルコントロールの操作を通じて入力を取得するステップであって、操作はバーチャルリアリティデバイスを使用して行われ、操作は1つまたは複数のバーチャルコントロールに関連付けられている少なくとも1つの動作パターンに従う、ステップと、入力、1つまたは複数のバーチャルコントロールのコンテンツ、および操作に関連付けられている動作パターンに基づき、バーチャル環境への変更を決定するステップであって、変更は1つまたは複数のバーチャルコントロールの操作を反映する、ステップと、変更を、表示するためのバーチャルリアリティデバイスに提供するステップとを実行するためのシステムおよび方法をさらに含むことができる。
【００１５】
図1は、本開示の実施形態と一致する、統合バーチャルリアリティシステムのための例示的なシステム100のブロック図である。システム100は、データベース111、データソース113、データベース115、およびデータシステム117を含む専用のデーソース110を備えることができる。システム100は、地図データ121、格付けデータ123、天気データ127、フライトデータ129、および位置データ125を含むことができる外部データソース120をさらに備えることができる。システム100は、1つまたは複数のアプリケーションプログラミングインターフェース(API)130をさらに備え得る。API130は、たとえば、図2を参照して以下でより詳しく説明されている、コンピューティングデバイス200を使用して、サーバまたはコンピュータシステム上に実装され得る。さらに、いくつかの実施形態において、API130は、たとえば、コンピューティングデバイス200などのコンピューティングデバイス上に各々実装される複数の異種のAPIとして実装され得る。たとえば、専用データソース110および外部データソース120からのデータは、コンピューティングデバイス200のI/Oデバイス230および/またはネットワークインターフェース218を通じて取得できる。さらに、データは、処理の際に記憶装置228および/またはシステムメモリ221などの好適な記憶装置に記憶され得る。図1を再び参照すると、システム100は、バーチャルリアリティシステム140をさらに備えることができる。API130のように、バーチャルリアリティシステム140は、たとえば、コンピューティングデバイス200(以下でより詳しく説明される)を使用して、サーバまたはコンピュータシステム上で実装され得る。
【００１６】
システム100は、バーチャルリアリティデバイス145をさらに備えることができる。バーチャルリアリティデバイス145は、以下でさらに詳しく説明されている、図3Bおよび図3Cに示されているバーチャルリアリティデバイス375および385などのデバイス、または他の何らかのバーチャルリアリティデバイスであってよい。さらに、バーチャルリアリティシステム145は、以下でより詳しく説明されている、図3Aに示されているデバイス300に示されているコンポーネントを使用して実装され得る。
【００１７】
図2は、本開示の実施形態と一致する、例示的なコンピューティングデバイス200のブロック図である。いくつかの実施形態において、コンピューティングデバイス200は、本明細書で説明されている機能性を実現する専用サーバとすることができる。いくつかの実施形態において、専用データソース110(たとえば、データベース111、データソース113、データベース115、およびデータシステム117)、API130、バーチャルリアリティシステム140、および拡張バーチャルリアリティデバイス145などのシステム100のコンポーネントは、コンピューティングデバイス200または並列動作している複数のコンピューティングデバイス200を使用して実装することができる。さらに、コンピューティングデバイス200は、本明細書で説明されている機能性を提供するか、またはサーバから情報を受け取り説明されている機能性の少なくとも一部を提供する第2のデバイスとすることができる。さらに、コンピューティングデバイス200は、本開示の実施形態と一致するデータを記憶し、および/または提供する追加の1つまたは複数のデバイスとすることができる。
【００１８】
コンピューティングデバイス200は、1つまたは複数の中央処理装置(CPU)220およびシステムメモリ221を備えることができる。コンピューティングデバイス200は、1つまたは複数のグラフィックス処理ユニット(GPU)225およびグラフィックメモリ226も備えることができる。いくつかの実施形態において、コンピューティングデバイス200は、GPU225および/またはグラフィックメモリ226を備えないヘッドレスコンピューティングデバイスとすることができる。
【００１９】
CPU220は、メモリ(たとえば、システムメモリ221)、キャッシュ(たとえば、キャッシュ241)、またはレジスタ(たとえば、レジスタ240のうちの1つ)に記憶されている命令のセットを実行することができる単一のまたは複数のプロセッサ、フィールドプログラマブルゲートアレイ、またはデジタルシグナルプロセッサとすることができる。CPU220は、とりわけ、データ、命令、浮動小数点数値、条件値、メモリ(たとえば、システムメモリ221またはグラフィックメモリ226)内の位置に対するメモリアドレス、ポインタ、およびカウンタを含む変数型のデータを記憶するための1つまたは複数のレジスタ(たとえば、レジスタ240)を備えることができる。CPUレジスタ240は、命令ポインタ、命令カウンタ、および/またはメモリスタックポインタなどの命令を実行することに関連付けられているデータを記憶するために使用される専用レジスタを含むことができる。システム221は、フレキシブルディスク、ハードディスク、コンパクトディスクリードオンリーメモリ(CD-ROM)、光磁気(MO)ドライブ、デジタル多用途ディスクランダムアクセスメモリ(DVD-RAM)、ソリッドステートディスク(SSD)、フラッシュドライブおよび/またはフラッシュメモリ、プロセッサキャッシュ、メモリレジスタ、または半導体メモリなどの、有形のおよび/または非一時的なコンピュータ可読媒体を備えることができる。システムメモリ221は、データを記憶し、CPU220による直接アクセスを可能にすることができる1つまたは複数のメモリチップとすることができる。システムメモリ221は、任意の種類のランダムアクセスメモリ(RAM)、または本明細書で説明されているように動作することができる他の利用可能なメモリチップとすることができる。
【００２０】
CPU220は、時にはバスとも称されるシステムインターフェース250を介してシステムメモリ221と通信することができる。GPU225を備える実施形態において、GPU225は、画像の作成を行い、および/または加速するためにメモリ(たとえば、グラフィックメモリ226)を操作し、変更することができる任意の種類の専用回路とすることができる。GPU225は、表示デバイス224などの表示デバイスに出力するために画像をフレームバッファ(たとえば、フレームバッファ245)に記憶することができる。いくつかの実施形態において、フレームバッファ245に記憶された画像は、ネットワークインターフェース218またはI/Oデバイス230を通じて他のコンピューティングデバイスに提供され得る。GPU225は、グラフィックデータの大きい並列ブロックを汎用CPU220よりも効率的に処理するように最適化された高度並列化構造を有することができる。さらに、GPU225の機能性は、専用処理ユニットまたはコプロセッサのチップセットに備えられ得る。
【００２１】
CPU220は、システムメモリ221または他のメモリに記憶されているプログラミング命令を実行し、メモリ(たとえば、システムメモリ221)に記憶されているデータを操作し、コンピューティングデバイス200の様々なコンポーネント間の通信をブリッジする、システムインターフェース250を通じてGPU225と通信することができる。いくつかの実施形態において、CPU220、GPU225、システムインターフェース250、またはその組合せは、単一のチップセットまたは処理ユニット内に組み込まれる。GPU225は、メモリ(たとえば、システムメモリ221)に記憶されている命令のセットを実行して、システムメモリ221またはグラフィックメモリ226に記憶されているグラフィックデータを操作することができる。たとえば、CPU220は、GPU225に命令を送ることができ、GPU225は、それらの命令を処理して、グラフィックメモリ226に記憶されているグラフィックデータをレンダリングすることができる。グラフィックメモリ226は、ローカルメモリ、システムメモリ、オンチップメモリ、およびハードディスクを含む、GPU225によってアクセス可能な任意のメモリ空間とすることができる。GPU225は、グラフィックメモリ226に記憶されているグラフィックデータを表示デバイス224上に表示することを可能にし得るか、またはグラフィック情報を処理して、その情報を接続済みデバイスに、ネットワークインターフェース218またはI/Oデバイス230を通じて供給することができる。
【００２２】
コンピューティングデバイス200は、I/Oコントローラ223に接続されている表示デバイス224および入出力(I/O)デバイス230(たとえば、キーボード、マウス、またはポインティングデバイス)を備えることができる。I/Oコントローラ223は、システムインターフェース250を介してコンピューティングデバイス200の他のコンポーネントと通信することができる。CPU220は、シリアル通信または直接的二地点間通信など、システムインターフェース250以外の方式で、システムメモリ221および他のデバイスと通信することもできることが理解される。同様に、GPU225は、システムインターフェース250以外の方法でグラフィックメモリ226および他のデバイスと通信することができる。入力を受けることに加えて、CPU220は、I/Oデバイス230を介して(たとえば、プリンタ、スピーカ、または他の出力デバイスを通じて)出力を送ることができる。
【００２３】
さらに、コンピューティングデバイス200は、限定はしないが、標準電話回線、LANもしくはWANリンク(たとえば、802.21、T1、T3、56kb、X.25)、ブロードバンド接続(たとえば、ISDN、フレームリレー、ATM)、ワイヤレス接続(たとえば、とりわけ、802.11a、802.11b、802.11b/g/n、802.11ac、Bluetooth（登録商標）、Bluetooth LTE、3GPP、またはWiMax標準に準拠するもの)、または上記のいずれかもしくはすべての何らかの組合せを含む様々な接続を通じてLAN、WAN、MAN、またはインターネットとインターフェースするためのネットワークインターフェース218を備えることができる。ネットワークインターフェース218は、内蔵ネットワークアダプタ、ネットワークインターフェースカード、PCMCIAネットワークカード、カードバスネットワークアダプタ、ワイヤレスネットワークアダプタ、USBネットワークアダプタ、モデム、またはコンピューティングデバイス200を、通信を行うことができる任意の種類のネットワークにインターフェースし、本明細書で説明されている動作を実行するのに適している他のデバイスを備えることができる。
【００２４】
図3A〜図3Cは、本開示の実施形態と一致する、例示的なバーチャルリアリティデバイス300、375、および385の図である。これらの例示的なバーチャルリアリティデバイスは、バーチャルリアリティデバイスの内部コンポーネント(たとえば、図3Aに示されているような)およびバーチャルリアリティデバイスの外部コンポーネント(たとえば、図3B〜図3Cに示されているような)を表すことができる。いくつかの実施形態において、図3Aは、バーチャルリアリティデバイス375内に収容されている例示的な電子デバイス300、および/または図3B〜図3Cのハンドコントローラ385を表すことができる。図3Cは、図3Aの例示的なハンドコントローラ303を表すことができる。
【００２５】
図3Aは、例示的な電子デバイス300を示す簡略化されたブロック図である。いくつかの実施形態において、電子デバイス300は、ビデオディスプレイ機能と、たとえば、インターネットを介して他のコンピュータシステムと通信する機能とを有するバーチャルリアリティデバイスを含むことができる。電子デバイス300によって提供される機能性に応じて、様々な実施形態では、電子デバイス300は、ハンドヘルドデバイス、データ通信と音声通信の両方に対して構成されている多重モード通信デバイス、スマートフォン、携帯電話、ラップトップ、ネットワークに有線接続されているコンピュータ、ネットブック、ゲーム機、タブレット、スマートウォッチ、眼鏡、ヘッドセット、ゴーグル、またはネットワーク接続通信対応PDAであり得るか、備え得るか、または接続され得る。
【００２６】
電子デバイス300は、電子デバイス300のコンポーネントを収納するケース(図示せず)を備えることができる。電子デバイス300の内部コンポーネントは、たとえば、プリント基板(PCB)上に製作され得る。電子デバイス300のコンポーネントおよびサブシステムは、ディスクリート要素として実現され得るが、コンポーネントおよびサブシステムの機能は、1つまたは複数の要素を一緒に1つまたは複数の組合せで組み込むか、組み合わせるか、またはパッケージ化することによって実現することもできる。
【００２７】
電子デバイス300は、電子デバイス300の全体的動作を制御する、1つまたは複数のCPU301を備えるコントローラを具備することができる。CPU301は、1つまたは複数のマイクロプロセッサ、フィールドプログラマブルゲートアレイ(FPGA)、デジタルシグナルプロセッサ(DSP)、または特定の命令セットを実行することができるこれらの任意の組合せとすることができる。CPU301は、通信機能を実行するためにワイヤレスネットワークと無線周波数信号をやり取りするワイヤレス通信システム306、音声を発生させるためのスピーカサブシステム320、位置情報を取得するための測位サブシステム308、および表示要素を生成するための表示サブシステム310などのデバイスサブシステムとインタラクティブにやり取りすることができる。
【００２８】
CPU301は、入力デバイス307、永続的メモリ330、ランダムアクセスメモリ(RAM)337、リードオンリーメモリ(ROM)338、データポート318(たとえば、従来のシリアルデータポート、ユニバーサルシリアルバス(USB)データポート、30ピンデータポート、ライトニングデータポート、または高精細度マルチメディアインターフェース(HDMI（登録商標）)データポート)、マイクロフォン322、カメラ324、およびワイヤレス通信306(適切なワイヤレス(たとえば、RF)、光、または他の短距離通信技術(たとえば、WiFi、Bluetooth、またはNFC)を採用することができる)ともインタラクティブにやり取りすることができる。図3に示されているサブシステムのうちのいくつかは、通信関係機能を実行するが、他のサブシステムは「常駐」またはオンデバイス機能を備えることができる。
【００２９】
ワイヤレス通信306は、ネットワークと通信して、外部デバイス(たとえば、サーバ、ただし図示せず)との通信を可能にする通信システムを備える。ワイヤレス通信306の特定の設計は、電子デバイス300が動作するように意図されているワイヤレスネットワークに依存する。電子デバイス300は、必要なネットワーク登録またはアクティベーション手順が完了した後にワイヤレスネットワーク上で通信信号を送受信することができる。
【００３０】
測位サブシステム308は、位置情報を提供する全地球測位システム(たとえば、GPS309)などの様々なシステムを備えることができる。それに加えて、測位サブシステムは、接続済みデバイス(たとえば、ワイヤレス通信306を通じて接続されている)からの位置情報を利用して、位置データをさらに提供することができる。測位サブシステム308によって提供される位置情報は、たとえば、永続的メモリ330に記憶され、アプリケーション334およびオペレーティングシステム332によって使用され得る。
【００３１】
表示サブシステム310は、様々なディスプレイ(たとえば、左眼ディスプレイ311および右眼ディスプレイ313)を制御することができる。バーチャルリアリティディスプレイを実現するために、表示サブシステム310は、グラフィック要素の表示(たとえば、GPU302を使用して生成される表示)をもたらすことができる。他の実施形態では、左眼ディスプレイ311および右眼ディスプレイ313上に生成される表示は、カメラ324からキャプチャされ、バーチャルグラフィック要素により再現される画像を含むことができる。さらに、表示サブシステム310は、左眼ディスプレイ311および右眼ディスプレイ313上に異なるグラフィックスを表示して、異なる要素を示すか、または奥行きもしくは遠近のシミュレーションを用いてバーチャルリアリティ環境を形成することができる。いくつかの実施形態において、左眼ディスプレイ311および右眼ディスプレイ313は、たとえば、ワイヤレス通信306またはデータポート318を通じて接続されている電子デバイス300から分離しているコンポーネントの一部であってよい。
【００３２】
カメラ324は、CMOSカメラ、CCDカメラ、または静止画像もしくはビデオ画像データなどの圧縮もしくは無圧縮画像データをキャプチャし、出力することができる他の任意の種類のカメラとすることができる。いくつかの実施形態において、電子デバイス300は、複数のカメラを備えることができる。カメラ324から出力された画像データは、たとえば、画像バッファに記憶されるものとしてよく、このバッファはRAM337内にある一時バッファ、またはROM338もしくは永続的メモリ330内にある永続的バッファであってよい。画像バッファは、たとえば、先入れ先出し(FIFO)バッファとすることができる。いくつかの実施形態において、画像バッファは、GPU302および表示サブシステム310に直接設けられ、左眼ディスプレイ311および/または右眼ディスプレイ313上に表示を行うことができる。いくつかの実施形態において、画像バッファに記憶されているカメラ情報は、たとえば、CPU301またはGPU302によって処理され、表示サブシステム310を通じて提供されるバーチャル環境内に組み込まれるものとしてよい。これらの実施形態において、たとえば、カメラ入力は、頭部追跡またはインサイドアウト位置追跡に利用することができる。
【００３３】
電子デバイスは、電子デバイス300に関連付けられている運動および配向データを測定するための慣性計測ユニット(たとえば、IMU340)を備えることができる。IMU340は、加速度計342、ジャイロスコープ344、および他のセンサ346を利用して、電子デバイス300で使用するための特定の力、角速度、磁界、およびバイオメトリック情報をキャプチャすることができる。IMU340および関連付けられているセンサ(たとえば、加速度計342、ジャイロスコープ344、および他のセンサ346)によってキャプチャされるデータは、永続的メモリ330またはRAM337などのメモリに記憶され、アプリケーション334およびオペレーティングシステム332によって使用され得る。IMU340およびその関連付けられているセンサを通じて集められたデータもまた、たとえば、ワイヤレス通信306を通じてネットワーク接続デバイスに提供され得る。
【００３４】
CPU301は、記憶されているプログラムの制御の下で動作する1つまたは複数のプロセッサとすることができ、レジスタ、プロセッサキャッシュ、ランダムアクセスメモリ(RAM)、フレキシブルディスク、ハードディスク、CD-ROM(コンパクトディスクリードオンリーメモリ)、およびMO(光磁気)、DVD-ROM(デジタル多用途ディスクリードオンリーメモリ)、DVD-RAM(デジタル多用途ディスクランダムアクセスメモリ)、または半導体メモリであってよい、永続的メモリ330などの有形に具現化された非一時的コンピュータ可読記憶媒体に記憶されているソフトウェアモジュールを実行する。
【００３５】
ソフトウェアモジュールは、ROM338などのコンピュータ可読記憶媒体、またはEEPROM、EAROM、FLASHを含む、任意の適切な永続的メモリ技術にも記憶され得る。これらのコンピュータ可読記憶媒体は、電子デバイス300上で様々な機能を実行するためにCPU301により実行されるコンピュータ可読命令を記憶する。代替的に、機能および方法は、たとえば、ASICおよび/または専用コンピュータなどのハードウェアコンポーネントまたはハードウェアとソフトウェアとの組合せで実装することもできる。
【００３６】
ソフトウェアモジュールは、電子デバイス300の動作を制御するために使用される、オペレーティングシステムソフトウェア332を含み得る。それに加えて、ソフトウェアモジュールは、追加の機能性を電子デバイス300に付与するためのソフトウェアアプリケーション334を含み得る。たとえば、ソフトウェアアプリケーション334は、上記のシステム100のようなシステムとインターフェースするように設計されているアプリケーションを含むことができる。アプリケーション334は、電子デバイス300が異なるデータシステムとインターフェースし、強化された機能を提供することを可能にする特定の機能性を実現することができる。
【００３７】
ソフトウェアアプリケーション334は、たとえば、電子メールメッセージングアプリケーション、電話帳、ノートパッドアプリケーション、インターネットブラウザアプリケーション、音声通信(すなわち、電話またはボイスオーバーインターネットプロトコル(VoIP))アプリケーション、地図作製アプリケーション、メディアプレーヤアプリケーション、健康関係アプリケーション、などを含む、様々なアプリケーションも含み得る。ソフトウェアアプリケーション334の各々は、その対応するアプリケーションに従ってバーチャルリアリティディスプレイ上に(たとえば、表示サブシステム310を通じて)表示することが意図されている特定のフィールドおよびグラフィック要素の配置を定義するレイアウト情報を含むことができる。いくつかの実施形態において、ソフトウェアアプリケーション334は、オペレーティングシステム332の指令の下で実行するソフトウェアモジュールである。それに加えて、いくつかの実施形態において、ソフトウェアアプリケーションは、バーチャルリアリティデバイスを使用して閲覧されるように設計されているウェブページ内に埋め込まれたコンテンツを含むことができる。
【００３８】
オペレーションシステム332は、電子デバイス300の様々なサブシステムおよびサービスとソフトウェアアプリケーション334との間で通信を行うためのインターフェースを提供する多数のアプリケーションプロトコルインターフェース(API)を備えることができる。たとえば、オペレーティングシステムソフトウェア332は、電子デバイス300上に表示するグラフィック要素を作成することを必要とするアプリケーションにグラフィックスAPIを提供する。ユーザインターフェースAPIにアクセスすることで、アプリケーション側では、オーバーレイなどのバーチャルリアリティインターフェースコントロールを作成し、管理し、カメラ324、マイクロフォン322、または入力デバイス307を介して入力を受け取るための機能性、および表示サブシステム310を通じて表示することを意図した他の機能性を実現することができる。さらに、カメラサービスAPIは、表示サブシステム310を通じてバーチャルリアリティを実現するために処理され、使用され得る画像またはビデオデータなどの画像データをキャプチャすることを目的としてカメラ324を通じてビデオのキャプチャを可能にすることができる。
【００３９】
いくつかの実施形態において、電子デバイス300のコンポーネントは、ユーザからの入力を電子デバイス300に送るために一緒に使用され得る。たとえば、表示サブシステム310は、左眼ディスプレイ311および右眼ディスプレイ313上にインタラクティブコントロールを備えることができる。バーチャルリアリティディスプレイの一部として、これらのコントロールは、電子デバイス300のユーザの前に表示することができる。この入力は、電子デバイス300によって処理され得る。入力は、たとえば、入力デバイス307から受け取ることができる。いくつかの実施形態において、入力デバイス307は、図3Cに示されているハンドコントローラ385のうちの1つまたは複数とすることができる。これらの実施形態において、ハンドコントローラ385から受信されたデータは、直接処理されるか、またはたとえば、IMU340、表示サブシステム310、カメラ324、およびデータポート318などのシステム300の他のコンポーネントからのデータと組み合わされ、入力をCPU301に送ることができる。
【００４０】
いくつかの実施形態において、永続的メモリ330は、ユーザアカウントまたはデバイス特有の識別子の情報などの、電子デバイス300のユーザに特有のデータを含む、データ336を記憶する。永続的メモリ330は、電子デバイス300によってアクセスされるサービスから取得されたもの(たとえば、コンテンツ、通知、およびメッセージ)に関係するデータを記憶することもできる。永続的メモリ330は、たとえば、電子デバイス300の特定のユーザの選好とともに様々なアプリケーションに関係するデータをさらに記憶することができる。いくつかの実施形態において、永続的メモリ330は、電子デバイス300上で実行しているアプリケーションにユーザの資格証明を自動的に与えるなどのために、ユーザのデータをアプリケーション内のデータの特定のフィールドにリンクするデータ336を記憶することができる。さらに、様々な実施形態において、データ336は、ネットワークとの通信を確立し、維持するために電子デバイス300によって必要とされる情報を含むサービスデータも含み得る。
【００４１】
いくつかの実施形態において、電子デバイス300は、1つまたは複数の取り外し可能メモリモジュール352(たとえば、FLASHメモリ)およびメモリインターフェース350も備えることができる。取り外し可能メモリモジュール352は、ワイヤレスネットワークに対してユーザまたはユーザのアカウントを識別するか、または認証するために使用される情報を記憶することができる。たとえば、取り外し可能メモリモジュール352は、GSM（登録商標）およびその後継ネットワークを含む、特定の種類のワイヤレスネットワークと併せて、加入者識別モジュール(SIM)と称される。メモリモジュール352は、ワイヤレスネットワークとともに動作させるために、電子デバイス300のメモリモジュールインターフェース350内に挿入されるか、または結合され得る。
【００４２】
電子デバイス300は、電子デバイス300を動作させるためのエネルギーを供給する、バッテリー362も備えることができる。バッテリー362は、外部電源(図示せず)からバッテリー362を充電する、および電子デバイス300内の、または電子デバイス300に結合されている様々な負荷にエネルギーを分配するなどの機能を管理することができる、バッテリーインターフェース360を通じて電子デバイス300の電気回路に結合され得る。
【００４３】
データおよび場合によっては音声通信アプリケーションを含む、基本的なデバイス動作を制御する一組のアプリケーションが、製造時にまたは製造後に電子デバイス300上にインストールされ得る。追加のアプリケーションまたはオペレーティングシステムソフトウェア332もしくはソフトウェアアプリケーション334へのアップグレードも、データポート318、ワイヤレス通信306、メモリモジュール352、または他の好適なシステムを通じて電子デバイス300上にロードされ得る。ダウンロードされたプログラムまたはコードモジュールは、実行時にCPU301による実行のために永続的メモリ330内に永久的にインストールされる、たとえば、書き込まれるか、またはRAM337に書き込まれ、RAM337から実行され得る。
【００４４】
図3Bは、例示的なバーチャルリアリティデバイス375である。いくつかの実施形態において、バーチャルリアリティデバイス375は、着用者にバーチャルリアリティ表現を提供するゴーグルまたは他のヘッドギアとすることができる。他の実施形態(図3Bに示されていない)では、バーチャルリアリティデバイスは、コンピュータ、モバイルデバイス、携帯通信デバイス、タブレット、PDA、または図3Aに関して説明されているような他のコンピューティングデバイスの一部であるか、それらに接続され得るか、またはそれらを含み得る。
【００４５】
図3Bに示されているように、バーチャルリアリティデバイス375は、処理コンポーネント372を備えることもできる。処理コンポーネント372は、図3Aに関して上で説明されている回路およびモジュールを収納するエンクロージャとすることができる。処理ハードウェアおよび/またはコンポーネントは、バーチャルリアリティデバイス375の片側にのみ収納することができる。なおも他の実施形態において、処理ハードウェアおよび/またはコンポーネントは、バーチャルリアリティデバイス375の両側に収納することができる。図3Aに示されているコンポーネントは、バーチャルリアリティデバイス375の任意の部分に備えることができる。
【００４６】
いくつかの実施形態において、バーチャルリアリティデバイス375は、図3Aに関して説明されているコンポーネントのうちのいくつかのみを収納することができる。たとえば、バーチャルリアリティデバイス375は、IMU340、カメラ324、マイクロフォン322、スピーカサブシステム320、および表示サブシステム310を備えることができるが、コンポーネントの残りは、モバイルデバイス、コンピュータ、タブレット、PDA、またはバーチャルリアリティデバイス375に(たとえば、とりわけ、データポート318およびワイヤレス通信306を通じて)接続されている他の何らかのエンクロージャを備えることができる。
【００４７】
図3Bに示されているように、バーチャルリアリティデバイス375は、後部ヘッドギアコンポーネント371を備えることもできる。後部ヘッドギアコンポーネント371は、調整可能なストラップを使用して、バーチャルリアリティデバイス375を着用者に固定することができる。図3Bにさらに示されているように、バーチャルリアリティデバイス375は、センサ376も備えることもできる。センサ376は、図3Aのシステム300のハンドコントローラ303およびCPU301との通信を許すことができる。いくつかの実施形態において、バーチャルリアリティデバイス375は、1つまたは複数のセンサ376を収容することができる。センサ376は、とりわけ、環境内の動作、環境に関するバーチャルリアリティデバイス375の動作、およびハンドコントローラ303からの入力または動作を検出することができる。センサ376からのデータは、CPU301に送られ得る。
【００４８】
いくつかの実施形態において、バーチャルリアリティデバイス375は、表示デバイス374および373を備えることができる。これらの表示デバイスは、図3Aの左眼ディスプレイ311および右眼ディスプレイ313にそれぞれ関連付けられ得る。これらの実施形態において、表示デバイス374および373は、左眼ディスプレイ311、右眼ディスプレイ313、および表示サブシステム310から適切な表示情報を受信して、バーチャルリアリティ環境を表示することができる。このプロセスを通じて、バーチャルリアリティ表示デバイス375は、着用者の視野内に示されるバーチャルリアリティグラフィック要素を提供することができる。異なる画像を表示デバイス373および374に送ることによって、バーチャルリアリティデバイス375は、遠近、奥行き、および他の錯視を作り出して、ユーザの周りにバーチャルリアリティ環境を形成することができる。
【００４９】
バーチャルリアリティデバイス375のいくつかの実施形態は、スピーカ(図3Bに図示せず)を備えることができる。これらのスピーカは、たとえば、図3Aからのスピーカサブシステム320、左スピーカ321、および右スピーカ323に関連付けられ得る。バーチャルリアリティデバイス375は、スピーカを通じて音声を流すことができる。左および右スピーカに送られる音を調整することによって、バーチャルリアリティデバイス375は、ユーザの周りのバーチャルリアリティ環境をさらにシミュレートすることができる。
【００５０】
図3Cは、本発明の開示の実施形態と一致する、バーチャルリアリティデバイスのコンポーネントである1つのハンドコントローラ385(ペアで用意できる)の例示的な図である。図3Cは、図3Aの例示的なハンドコントローラ303を表すことができる。ハンドコントローラ303は、ユーザからの入力を電子デバイス300に提供するために使用できる。ユーザは、図3Cに表示されているハンドコントローラ385の本体部380を手でつかむことができる。さらに、ハンドコントローラ385は、追加のユーザ入力を受け取るためにトラックパッド382、ボタン381、およびトリガ384を備えることができる。動作およびハンドコントローラ385とのインタラクションは、センサ384によって検出され、バーチャルリアリティシステムによってバーチャル環境内のバーチャル動作および選択に変換され得る。たとえば、ハンドコントローラ385を持ち上げると、その結果、センサ384は動作情報を図3Aのバーチャルリアリティシステム300に伝送し、このシステムは動作データをバーチャル環境への変更に変換することができる。この例では、これらの変更は、バーチャルリアリティデバイス300によって、たとえば、表示サブシステム310を通じてバーチャルリアリティ表示デバイス375に送られ得る。したがって、ハンドコントローラ385のユーザによる物理的動作は、バーチャルリアリティデバイス375によって表示されるバーチャルリアリティ環境内に表現され得る。
【００５１】
ハンドコントローラ385の物理的形状およびレイアウトは、例示的なものであることが理解される。いくつかの実施形態において、ハンドコントローラ385は、異なる形状を取り得る。たとえば、ハンドコントローラ385は手袋であってよく、これにより、バーチャル環境内でユーザの指の動作を正確に表現することができる。したがって、ユーザは、三次元空間内で手と指とを動かすことで、提供されるバーチャル環境とインタラクティブにやり取りし、操作することができる。いくつかの実施形態において、バーチャルリアリティシステム140が、たとえば、ユーザのジェスチャおよび音声コマンドを検出する一連の運動感知デバイスを使用することができる場合は、ハンドコントローラ385は不要でもよい。
【００５２】
再び図1を参照すると、データベース111および115、データソース113、データシステム117、API130、ならびにバーチャルリアリティシステム140は各々、他のコンポーネントとともに使用するように設計されているパッケージ化された機能ハードウェアユニットまたは関係する機能のうちの特定の機能を実行するプログラムの一部である、モジュールとすることができる。これらのモジュールは各々、図2のコンピューティングデバイス200を使用して実装され得る。これらのコンポーネントの各々は、以下でより詳しく説明される。いくつかの実施形態において、システム100の機能性は、複数のコンピューティングデバイス(たとえば、コンピューティングデバイス200に類似する複数のデバイス)間に分割することができ、それにより、データの分散処理が可能になる。これらの実施形態において、異なるコンポーネントは、図2のコンピューティングデバイス200のI/Oデバイス230またはネットワークインターフェース218上で通信することができる。
【００５３】
データは、専用データソース110および外部データソース120を通じてシステム100に利用可能にされ得る。各々について示されている例示的なデータソース(たとえば、専用データソース110のデータベース111および115、データソース113、ならびにデータシステム117と、外部データソース120の地図データ121、格付けデータ123、天気データ127、フライトデータ129、および位置データ125)は、これですべてではないことが理解される。多くの異なるデータソースおよびデータの型が、専用データソース110および外部データソース120の両方に存在することができる。さらに、データの一部は、外部データソース120と専用データソース110との間で重複していてよい。たとえば、外部データソース120は、特定の空港または企業に関するデータを含み得る位置データ125を提供することができる。この同じデータは、たとえば、専用データソース110のデータベース111内に、同じまたは異なる形式で含まれていてもよい。
【００５４】
さらに、専用データソース110および外部データソース120のうちのいずれか、またはシステム100によって使用される他のデータソースは、リレーショナルデータベース管理システム(RDBMS)(たとえば、Oracle Database、Microsoft SQL Server、MySQL、PostgreSQL、および/またはIBM DB2)とすることができる。RDBMSは、可能な限り少ない操作で、行全体またはレコードに対するデータを効率的に返すように設計され得る。RDBMSは、データの各行をシリアル化することによってデータを記憶することができる。たとえば、RDBMSでは、レコードに関連付けられているデータは、レコードのすべてのカテゴリに関連付けられているデータに1回の操作でアクセスできるように逐次的に記憶され得る。さらに、RDBMSは、共通フィールドまたは属性上のレコードを結合することによって異種のテーブルに記憶されている関係するレコードのアクセスを効率的に可能にすることができる。
【００５５】
いくつかの実施形態において、専用データソース110および外部データソース120のうちの任意のデータソース、またはシステム100によって使用される他のデータソースは、非リレーショナルデータベース管理システム(NRDBMS)(たとえば、XML、Cassandra、CouchDB、MongoDB、Oracle NoSQL Database、FoundationDB、および/またはRedis)とすることができる。非リレーショナルデータベース管理システムは、とりわけ、鍵値ストア、文書ストア、グラフ、およびタプルストアなどの様々なデータ構造体を使用してデータを記憶することができる。たとえば、文書ストアを使用する非リレーショナルデータベースは、特定のレコードに関連付けられているデータのすべてを、XMLを使用して符号化された単一の文書に組み合わせることも可能であろう。非リレーショナルデータベースは、レコード全体の効率的なアクセスを提供し、複数のデータシステムにまたがる効果的な分散を実現し得る。
【００５６】
いくつかの実施形態において、専用データソース110および外部データソース120のうちの任意のデータソース、またはシステム100によって使用される他のデータソースは、グラフデータベース(たとえば、Neo4jまたはTitan)とすることができる。グラフデータベースは、データを表すためにノード、エッジ、およびプロパティなどのグラフ概念を使用してデータを記憶することができる。グラフデータベースに記憶されているレコードは、様々なノードを接続するエッジに基づき他のレコードに関連付けられ得る。これらの種類のデータベースは、他の種類のデータベースシステムでモデル化することが困難である複雑な階層関係を効率よく記憶することができる。
【００５７】
いくつかの実施形態において、専用データソース110および外部データソース120のうちの任意のデータソース、またはシステム100によって使用される他のデータソースは、APIを通じてアクセスされ得る。たとえば、データシステム117は、データベース115内のデータにアクセスすることを可能にするAPIとすることも可能であろう。さらに、外部データソース120はすべて、APIを通じてアクセスされる公開利用可能なデータであってよい。API130は、特定のAPIを通じてデータソースのいずれかにアクセスして、追加のデータおよび情報をシステム100に提供することができる。
【００５８】
専用データソース110および外部データソース120のデータソースは、図1において、孤立したデータベースまたはデータソースとして表現されるが、これらのデータソースは、とりわけ、前に説明したデータ記憶装置システムのいずれかを利用することができ、複数の電子デバイス、データ記憶装置システム、または他の電子システム間に分散させることができることが理解される。
【００５９】
データベース111またはデータソース113などのデータ記憶装置システムへの直接的アクセスを可能にすることに加えて、専用データソース110は、データシステム117を備えることができる。データシステム117は、データベース115などの、1つまたは複数のデータソースに接続することができる。データシステム117は、データベース115に記憶されているデータへのインターフェースを用意することができる。いくつかの実施形態において、データシステムは、データベース115内のデータを他のデータと組み合わせることができるか、またはデータシステム117は、データベース115内のデータを、そのデータをAPI130または他の何らかの要求側に提供する前に前処理することができる。
【００６０】
専用データソース110は、一般人は直接アクセスできない、または利用できない様々なデータソース(たとえば、データベース111、データソース113、データベース115、およびデータシステム117)を表すことができる。これらのデータソースは、料金の支払いまたはサブスクリプションに基づきサブスクライバーに提供され得る。これらのデータソースへのアクセスは、専用データソースの所有者によって直接提供されるか、または以下でより詳しく説明されている、API130などのインターフェースを通じて提供され得る。
【００６１】
専用データソース110のただ1つのグルーピングが図1に示されているが、様々なプロバイダからの様々な専用データソースがシステム100に利用可能であり得る。いくつかの実施形態において、データソースのグルーピングの各々は、共通の産業または領域に関係するデータを含む。他の実施形態では、専用データソースのグルーピングは、様々なデータソースのプロバイダに依存し得る。
【００６２】
たとえば、専用データソース110内のデータソースは、航空旅行産業に関係するデータを含むことができる。この例では、データベース111は、旅行プロファイル情報を含むことができる。基本的な人口学的情報に加えて、旅行プロファイルデータは過去の旅行歴、旅行者選好、ローヤルティ情報、および旅行者プロファイルに関係する他の情報を含み得る。さらに、この例では、データソース113は、ホテル、レンタカー、イベント、保険、および駐車場などの提携または付帯サービスに関係する情報を含むことができる。それに加えて、データベース115は、空港、航空機、特定の座席配置、ゲート情報、および他の物流情報に関する詳細情報を含むことができる。すでに説明されているように、この情報はデータシステム117を通じて処理されるものとしてよい。したがって、この例示的な実施形態では、専用データソース110におけるデータソースは、包括的旅行データを提供することができる。
【００６３】
専用データソース110と同様に、外部データソース120は、様々なデータソース(たとえば、地図データ121、格付けデータ123、天気データ127、フライトデータ129、および位置データ125)を表すことができる。専用データソース110とは異なり、外部データソース120は、一般人にアクセス可能であり得るか、またはAPI130またはシステム100のプロバイダの直接的制御の外にあるデータソースとすることができる。
【００６４】
外部データソース120のただ1つのグルーピングが図1に示されているが、様々なプロバイダからの様々な外部データソースがシステム100に利用可能であり得る。いくつかの実施形態において、データソースのグルーピングの各々は、共通の産業または領域に関係するデータを含む。他の実施形態では、外部データソースのグルーピングは、様々なデータソースのプロバイダに依存し得る。いくつかの実施形態において、外部データソース120は、API130に利用可能であるすべての外部データソースを表すことができる。
【００６５】
さらに、外部データソース120において示されているデータの特定の型は例にすぎない。データの追加の型が含まれてよく、外部データソース120内のデータの特定の型を含めることでは、制限となることは意図されていない。
【００６６】
図1に示されているように、外部データソース120は、地図データ121を含むことができる。地図データは、とりわけ、Google Maps APIおよび/またはOpen Street Map APIなどの提供されているAPIを通じて利用可能な位置、地図、およびナビゲーション情報を含むことができる。格付けデータ123は、企業、製品、位置などに関する格付けまたはレビュー情報を含むことができる。たとえば、格付けデータ123は、とりわけ、Yelp API、Amazon Customer Reviews API、および/またはTripAdvisor Content APIからのデータを含むことができる。位置データ125は、企業プロファイル、営業時間、メニュー、または同様のものなどの特定のデータを含むことができる。天気データ127は、とりわけ、Dark Sky Forecast API、Weather Channel API、NOAA Web Services API、および/またはWeather Underground APIを通じてアクセスできる位置特有の天気情報であってよい。フライトデータ129は、とりわけ、FlightStats API、FlightWise API、FlightStats APIおよびFlightAware APIを通じてアクセスできるフライト情報、ゲート情報、および/または空港情報を含むことができる。これらの外部データソース120(たとえば、地図データ121、格付けデータ123、天気データ127、フライトデータ129、および位置データ125)の各々は、API130を通じてアクセスされる追加のデータを提供することができる。
【００６７】
すでに説明されているように、API130は、共通のインターフェースにおいて専用データソース110および外部データソース120を通じて利用可能なデータのいずれかにアクセスするための統一インターフェースを提供することができる。API130は、たとえば、図2に関して説明されているコンピューティングデバイス200などのコンピューティングデバイス上で実行するソフトウェアであってよい。これらの実施形態において、API130は、標準的なプログラミング言語(たとえば、Python、Ruby、Java（登録商標）、C、C++、node.js、PHP、Perl、または同様のもの)を使用して作成されるものとしてよく、とりわけ、SOAP、JSONオブジェクト、RESTベースサービス、XML、または同様のものを含む様々なデータ転送形式および/またはプロトコルを使用するアクセスを提供することができる。API130は、標準形式でデータの受信要求を送り、予測可能な形式で応答することができる。
【００６８】
いくつかの実施形態において、API130は、1つまたは複数のデータソースからのデータ(たとえば、専用データソース110、外部データソース120、またはその両方に記憶されているデータ)を統一応答に組み合わせることができる。それに加えて、いくつかの実施形態において、API130は、様々なデータソースからの情報を処理して、生データでは利用可能でない追加のフィールドまたは属性を提供することができる。この処理は、1つまたは複数のデータソースに基づくものとしてよく、各データソースからの1つまたは複数のレコードを利用することができる。たとえば、API130は、平均、総和、数値範囲、または他の計算可能情報などの集計もしくは統計的情報を提供することが可能であろう。さらに、API130は、複数のデータソースに由来するデータを共通形式に正規化することができる。API130の機能の前の説明は例にすぎない。API130が専用データソース110および外部データソース120を通じて提供されるデータを取り出すこと、およびパッケージ化することが可能である、多くの追加の方法がある。
【００６９】
バーチャルリアリティシステム140は、バーチャルリアリティデバイス145およびAPI130とインタラクティブにやり取りすることができる。バーチャルリアリティシステム140は、バーチャルリアリティデバイス145に関係する情報を受け取ることができる(たとえば、図3のワイヤレス通信306を通じて)。この情報は、図3に関して前に説明されている情報のいずれかを含み得る。たとえば、バーチャルリアリティシステムは、位置情報、運動情報、視覚情報、音声情報、配向情報、バイオメトリック情報、またはバーチャルリアリティデバイス145によって提供される他の任意の種類の情報を受け取ることができる。それに加えて、バーチャルリアリティシステム140は、バーチャルリアリティデバイス145のユーザに関連付けられているデバイス特有の識別子または認証資格証明書などのバーチャルリアリティデバイス145からの識別情報を受け取ることができる。
【００７０】
バーチャルリアリティシステム140は、受け取った情報を処理して、API130への要求を定式化することができる。これらの要求は、バーチャルリアリティデバイス145のユーザからのデバイス識別子または認証資格証明書などのバーチャルリアリティデバイス145からの識別情報を利用することができる。
【００７１】
バーチャルリアリティデバイス145からの情報を使用することで、バーチャルリアリティシステム140は、API130を通じて詳細情報を要求することができる。API130から返された情報は、バーチャルリアリティデバイス145から受け取った情報と組み合わされ、バーチャルリアリティシステム140によって処理され得る。次いで、バーチャルリアリティシステム140は、バーチャルリアリティデバイス145によって表示されるべき更新されたバーチャルリアリティ情報に関する決定を理に適った仕方で決定することができる。この処理の例示的な使用事例は、図4A〜図4Dに関して以下でより詳しく説明される。バーチャルリアリティデバイス145は、更新されたバーチャルリアリティ情報を受け取り、適切な更新をたとえば、図3Bに示されているディスプレイ373および374に表示することができる。
【００７２】
図4A〜図4Dは、本開示の実施形態と一致する、図1のシステム100の例示的な使用の図である。図4Aは、フライト予約オプションを検索し、閲覧し、選択するためのバーチャルリアリティデバイス(たとえば、図3Bからのデバイス375または図1からのバーチャルリアリティデバイス145)を使用する例示的な使用事例である。図4Bは、フライトオプションを閲覧し、選択するためのバーチャルリアリティデバイス(たとえば、デバイス375またはバーチャルリアリティデバイス145)を使用する例示的な使用事例である。図4Cは、バーチャル環境において時刻または季節を調整するためのバーチャルリアリティ環境(たとえば、デバイス375またはバーチャルリアリティデバイス145を使用する)内に存在し得るバーチャルリアリティコントロールの表現である。図4Dは、フライト中体験の環境を選択するためのバーチャルリアリティ環境(たとえば、デバイス375またはバーチャルリアリティデバイス145を使用する)内に存在し得るバーチャルリアリティコントロールの表現である。図4A〜図4Bに示されている例は、ユーザがバーチャルリアリティシステム140を使用しており、バーチャル環境の内側にいるのを示す代表的な光景であり得る。図4A〜図4Dの説明全体を通して、適切な参照番号によって図1〜図3ですでに説明されている要素が参照される。
【００７３】
図4Aは、フライト予約オプションを検索し、閲覧し、選択するためのバーチャルリアリティデバイス(たとえば、図3Bからのデバイス375または図1からのバーチャルリアリティデバイス145)を使用する例示的な使用事例である。バーチャルリアリティ表現400は、図3Bのディスプレイ373および374を通して見える光景であり得る。再び図4Aを参照すると、バーチャルリアリティ表現400は、バーチャルリアリティヘッドセット405を通してユーザから見える表示であるものとしてよい。バーチャルリアリティヘッドセット405は、たとえば、図3Bからのバーチャルリアリティデバイス375または図1からのバーチャルリアリティデバイス145であるものとしてよい。バーチャルリアリティ表現400は、旅客カウントダイヤル410、カレンダー420、および目的地ホイール430などのバーチャルリアリティコントロールを含むことができる。
【００７４】
ユーザは、たとえば、図3Cのトラックパッド382およびボタン381を手の動作と組み合わせて使用し、バーチャルコントロール(たとえば、カレンダー420および目的地ホイール430)を使用して特定の都市、旅行日、およびフライトを選択することができる。トラックパッドのない手袋またはハンドコントローラなどの異なる種類のハンドコントロールを使用するいくつかの実施形態において、選択は、バーチャルコントロールをバーチャルタップもしくは操作するか、または特定のハンドコントローラによって提供される他の方法を使用することによって行われ得る。さらに、ユーザは、これらのコントロールを使用して、旅客カウントダイヤル410をバーチャルにつかみ、それを回転させて旅客の適切な数を選択することができる。デモンストレーションされているように、選択は三次元バーチャルコントロールの操作からなる。
【００７５】
カレンダー420、目的地ホイール430、および旅客カウントダイヤル410は、三次元バーチャル環境内の三次元コントロールとして提示されるので、ユーザは、現実の世界で行われるのと同じようにしてコントロールをバーチャルにつかみ、スピン回転させ、または操作することができる。マウスホイールまたはポインタなどのポインティングデバイスまたは専用入力デバイスを必要とする従来のインターフェースと異なり、図4Aに示されているバーチャルリアリティコントロールおよびデバイスのユーザは、コントロールの直接的操作を通じてインタラクティブにやり取りすることができる。
【００７６】
一例として、ユーザは、図3Cのハンドコントローラ385などのハンドコントローラを使用して、カレンダー420、目的地ホイール430、および旅客カウントダイヤル410をインタラクティブに操作することができる。たとえば、ユーザは、コントローラ385を持ち上げることができ、これはユーザがバーチャルリアリティ環境内で手を持ち上げることを示すものとしてよい。ユーザは、図3Cのハンドコントローラ385のボタン381を押すことができ、これはユーザがバーチャルリアリティ環境内で旅客カウントダイヤル410をつかむことを示すものとしてよい。ユーザは、図3Cのトラックパッド382を動作させることができ、これはバーチャルリアリティ環境内でユーザが手を回して旅客カウントダイヤル410を回転させ、異なる数の旅客を選択することを示すものとしてよい。この例では、ハンドコントローラ385は、ユーザの手の形状と正確にマッチしていないが、ユーザがバーチャル環境内でコントロールをインタラクティブに操作するために必要な適切な手の動作を模倣できるようにすることにより、コントローラ385の入力要素を使用して、カレンダー420、旅客ダイヤル410、および目的地ホイール430を効果的にインタラクティブに操作することができる。ハンドコントローラを使用する異なる種類のインタラクションも、同じ目的のために利用され得る。いくつかの実施形態において、トラックパッドを使用してバーチャルの手を回す代わりに、ユーザは、ハンドコントロールを回して、バーチャルの手でダイヤルまたはコントロールを回転させることができる。さらに、いくつかの実施形態において、バーチャルリアリティシステムは、手の追跡を利用することができる。これらの実施形態において、ユーザは、バーチャルリアリティデバイスによってキャプチャされ、ユーザが自分の手でコントロールをつかみ、それらが現実のダイヤルまたはコントロールをあたかもインタラクティブに操作しているかのようにダイヤルを回転させるようにできるバーチャル環境内で模倣される手の動作を行うことができる。
【００７７】
いくつかの実施形態において、バーチャルコントロールは、ユーザが旅行の予約を行うことを可能にできる。これらのシステムを使用することで、ユーザは、バーチャルリアリティコントロールを通じて旅行サービスまたはオファーを効果的に調査し、閲覧することができる。バーチャル環境およびコントロールとのインタラクションを通じて、ユーザは旅行または他のサービスを見つけて購入することができる。
【００７８】
図4Bは、世界ビュー上で所望のフライトオプションを閲覧し、選択するためのバーチャルリアリティデバイス405(たとえば、図3Bからのデバイス375または図1からのバーチャルリアリティデバイス145)を使用する例示的な使用事例である。バーチャルリアリティ環境440は、バーチャルリアリティデバイス405の一部である図3Bのディスプレイ373および374を通してユーザに見える表現であるものとしてよい。バーチャルリアリティ環境440の要素は、フライト443、時間スライダ442、選択済みフライト444、および選択済みフライト情報441を含み得る。
【００７９】
図4Aを参照して前に説明されているように、ユーザは、手の追跡を使用するか、または図3Cからのハンドコントローラ385などの、ハンドコントローラを使用して、自分の手および腕をバーチャル環境内で動かすことによって、図4Bのバーチャル環境440と相互にやり取りすることができる。たとえば、ユーザは、特定の目的地から出発するフライト443を閲覧することができる。フライト443の各フライトは、三次元バーチャル世界上に表示される特定の機種、フライト経路、途中下車地、および他の情報の三次元表現を含むことができる。ユーザは、バーチャルリアリティ環境内で自分の手を動かして、世界を回転させて光景を変化させるか、またはフライトを選択するなど、特定の要素を選択することができる。たとえば、ユーザは選択済みフライト444を選択することができる。
【００８０】
そのような選択に応答して、バーチャルリアリティ環境440は、たとえば、選択済みフライト444上に選択インジケータを示すことによってその選択のデモンストレーションを行うように更新され得る。それに加えて、バーチャルリアリティデバイス405は、選択済みフライト444に関する特定のフライト詳細を問い合わせることができ(たとえば、図1からのAPI130を使用することによって)、これはバーチャルリアリティ環境の一部としてフライト詳細441として表示され得る。このようにして、特定のフライトの選択は、以前にはバーチャルリアリティ環境では利用できなかったデータの統合を利用可能にし、バーチャルリアリティ環境内に統合することができる。
【００８１】
いくつかの実施形態において、ユーザは、時間スライダ442を動作させることができる。ユーザは、ハンドコントローラまたは他の入力システムを使用してスライダをつかみ、前後に動かすことで、バーチャルリアリティ環境を経過時間内において前後に効果的に移動させることができる。ユーザがスライダを動作させると、様々なバーチャル要素の配置および位置をシフトできる。そのような実施形態において、ユーザは、時間スライダ442を動かして、バーチャル環境内で変化するすべての関連するフライトの離陸、着陸、乗り継ぎ、途中下車を表示することができる。フライトの乗り継ぎは、実際に、バーチャルリアリティ環境440内の世界のミニチュア化された光景上で乗り継ぎ都市に着陸することができる。したがって、時間スライダ442コントロールをユーザが操作することは、ユーザが体験するバーチャル環境に直接影響を及ぼす。
【００８２】
いくつかの実施形態において、ユーザは、バーチャル環境440をさらに使用して、最初はバーチャル環境440では利用できない特定の詳細および情報を探索することができる。たとえば、上に示されているように、フライト(たとえば、選択済みフライト444)を選択することで、バーチャルリアリティデバイス405に、バーチャルリアリティシステム(たとえば、図1からのバーチャルリアリティシステム140)から追加のフライト詳細を取り出させることができる。それに加えて、ユーザは、選択済みフライト444をつかみ、拡大表示になるように航空機オブジェクトを拡大するか、またはユーザを航空機の内側に効果的に置くことができる。
【００８３】
上で説明されているように、航空機オブジェクトは、様々な種類の情報およびインタラクションを伝えることができるバーチャル環境440内のコントロールとして使用され得る。たとえば、選択済みフライト444およびフライト443は、とりわけ、フライトのルート、旅行プラン、途中下車、乗り継ぎ、継続期間、航空機の機種、航空会社または提携会社、定員、座席配置図、座席の特徴、および快適装備に関連する情報を伝えるために使用され得る。選択済みフライト444およびフライト443のコントロールは、フライト選択、運賃選択、座席選択、料金体系、アップグレード要求、サービス要求、および快適装備の選択を含む様々なインタラクションをさらに可能にし得る。航空機の使用は、航空機オブジェクトに関係する情報の種類のユーザの既存の関連付けに基づき利用可能であるものとしてよい情報およびインタラクションの種類をユーザに示すのに役立ち得る。
【００８４】
特定のインタラクションの一例として、選択済みフライト444のレイアウトおよび座席入手性は、最初は、バーチャルリアリティ環境には利用不可能であり得る。しかし、バーチャルリアリティ環境440は、たとえば、図1からのバーチャルリアリティシステム140およびAPI130を使用して、選択済みフライト444に対する特定のレイアウトおよび座席入手性を取り出して、バーチャルリアリティデバイスに必要な情報を書き込むことができる。このようにして、バーチャル環境440は、データまたは情報の閉じられたコーパスに限定されなくなる。その代わりに、バーチャル環境440は、膨大な量の利用可能な情報を利用して、バーチャル環境440内の要素(たとえば、フライト443、時間スライダ442、選択済みフライト444、およびフライト情報441)のユーザによる操作に基づきオンデマンドの統合された体験を提供することができる。
【００８５】
図4Cは、時刻を変更するためにバーチャルリアリティ環境(たとえば、図4Aのバーチャルリアリティ表現400、図3Bからのバーチャルリアリティデバイス375または図1からのバーチャルリアリティデバイス145を使用して表示される図4Bのバーチャルリアリティ環境440)内に存在し得る時刻コントロール470の表現である。時刻コントロール470は、バーチャルリアリティ環境内の三次元グラフィックコントロールとして表示され得る。時刻コントロール470の要素は、時間ダイヤル471、時間セレクタ472、太陽473、および月474を含むことができる。昼夜を示すための太陽473および月474などのグラフィックシンボルの使用は、表現であることが理解される。類似の意味を伝える単語、テキスト、またはシンボルは、変わる時刻のデモンストレーションを行うために使用することが可能であろう。それに加えて、他の時間帯に類似のコントロールを利用することも可能であろう。たとえば、季節的変化を見るために類似のコントロールを利用することも可能であろう。
【００８６】
たとえば、図3Cからのハンドコントローラ385を使用することで、ユーザは、バーチャル環境内で、セレクタ472をつかみ、それを時間セレクタ472に沿ってスライドさせ、時刻を選択することができる。時刻コントロール470は、更新された情報を、たとえば、図1のバーチャルリアリティシステム140に供給することができ、これは図1のAPI130から追加の情報を取り出し、バーチャル環境をしかるべく更新することができる。したがって、時刻コントロール470が出現するコンテキストに応じて、バーチャルリアリティ環境はコントロールの操作に応答して変化し得る。
【００８７】
たとえば、イタリア、ベネチアのサンマルコ広場の真ん中にいるユーザは、時刻コントローラ470を使用して、この広場を様々な時刻において見ることができる。ユーザは、パリの冬またはケープタウンの夏のまっただ中にいるように選択しているものとしてよい。時刻セレクタ472を操作することによって、ユーザは、それらの季節の特定の日一日にわたってそれらの環境を直接体験することができる。いくつかの実施形態において、類似の時間スライダは、ユーザがパリの夏と冬との差またはケープタウンの夏と冬との差を体験できるようにその特定の環境の異なる季節にユーザを通すために使用され得る。これらの環境の各々の詳細は、ユーザが時刻コントロール470をインタラクティブに操作するときに、たとえば図1のバーチャルリアリティシステム140によって取り出され得る。
【００８８】
さらに、バーチャルリアリティシステム140は、時刻コントロール470からの入力およびバーチャル環境のコンテキストに基づきバーチャル環境の追加の要素を更新することができる。たとえば、特定の都市および日付を選択した後、バーチャル環境は、とりわけ、ユーザが時刻コントロール470を変えるときに、平均温度、降雨量、紫外線指数、オープンツーリストアトラクション(open tourist attraction)、および特定の日付に対するイベントを表示することができる。ユーザは、この情報を使用して、どのような都市を訪問し、どのような体験が利用可能であり得そうかに関する決定を知らせることができる。
【００８９】
バーチャルリアリティ環境は、旅行時にも利用可能であり得る。図4Dは、フライト中体験の環境を選択するためのバーチャルリアリティ環境(たとえば、図3Bからのバーチャルリアリティデバイス375または図1からのバーチャルリアリティデバイス145を通じて提供されるような)内に存在し得るフライト中体験コントロール480の表現である。フライト中体験コントロール480は、スクロールホイール481を表示することができる。スクロールホイール481は、スペースシャトル環境482などのオプションを提示することができる。
【００９０】
図4Dに関して説明されているように、ユーザは、たとえば図3Bからのハンドコントローラ375を使用して、フライト中体験コントロール480を操作することができる。ユーザは、スクロールホイール481をつかんで、それを、スペースシャトル環境482などの特定の体験を選択する前に回転させることができる。ユーザがフライト中体験コントロール480をインタラクティブに操作することに基づき、バーチャル環境は、カスタマイズされたバーチャル環境に対するユーザの現在の現実世界の体験に関するコンテキスト情報を利用することができる。たとえば、スペースシャトル環境482を選択することで、バーチャルリアリティシステムに記憶装置(たとえば、RAM337)から関連情報を取り出させ、バーチャルリアリティデバイスがバーチャル環境をスペースシャトルコックピットにすることを可能にし得る。ユーザの現在のフライト経路は、バーチャルスペースシャトルコックピットのコックピット窓を通して表示され得る。ユーザが自分の手を回すと、バーチャルリアリティデバイス(たとえば、図3Bからのバーチャルリアリティデバイス375または図1からのバーチャルリアリティデバイス145)は動作情報をバーチャルリアリティシステムに中継することができ、これはディスプレイを更新することができる。
【００９１】
さらに、航空機それ自体が機体を傾けるか移動させると、バーチャルリアリティデバイスは、動作情報を(加速度計342などの1つまたは複数のセンサを介して)検出し、バーチャルスペースシャトルコックピットを通して見える光景を同様に変化させることができる。ユーザの周りの物理的環境を移動させるが、ユーザの動作によって直接的には引き起こされない、これらの環境動作は、バーチャル環境内に反映されるものとしてよい。したがって、ユーザは、バーチャルスペースシャトルコックピットを通して見ているだけでなく、ユーザが体験している航空機の移動が、バーチャル環境を通して知覚される体験の中に実際に統合されているような気にさせられ得る。
【００９２】
いくつかの実施形態において、ユーザは、フライト中体験セレクタ481を使用して、フライト中にフルスクリーンで映画を楽しみ、SkyMallのバーチャルバージョンを閲覧することができ、そこでは、ユーザは、購入前に製品を見て回転させたり、エッフェル塔のそばを飛んだりすることができる。フライトそれ自体の実際の移動に基づいていないが、これらの体験は各々、統合されたデータを利用してフライト中体験を修正することができる。たとえば、利用可能なフライト中体験は、現在のフライトの目的地に基づき得る。エッフェル塔の代わりに、ユーザは、現在のフライトがローマに向かっている場合にローマのコロセウムの遊覧飛行を、フライトがエジプトに向かっている場合にピラミッドを選択することができるものとしてよい。
【００９３】
スクロールホイール481のコンテンツがバーチャルリアリティ体験に統合されているコンテキスト情報に基づくことに加えて、選択された体験それ自体は、類似のコンテキスト情報に基づき得る。たとえば、言語レッスン体験は、フライトの目的地で話される言語に合わせて手直しされ、ユーザがすでに購入している特定の旅行サービスに合わせて手直しされ得るか、またはバーチャルSkyMallカタログに載っている製品は、ユーザの選好に合う、またフライトの目的地で有用な製品についてフィルタリングされ得る。これらのシナリオの各々において、フライト中体験セレクタ481は、以前にはバーチャルリアリティ環境に利用可能でなかった現在のフライトに関するコンテキスト情報を使用して、バーチャルリアリティ環境に手直しされた体験をユーザへ提供させることができる。
【００９４】
図5は、本開示の実施形態と一致する、バーチャルリアリティシステムにおける改善されたデータ統合のための例示的な方法のフローチャートである。図示されている手順は、ステップを削除するか、または追加のステップをさらに含めるように変更できることが容易に理解されるであろう。1つまたは複数のコンピューティングデバイス(図2のシステムまたは図3の電子デバイスなど)が例示的な方法を実行することができること、および本明細書で説明されている機能性がハードウェア、1つまたは複数のコンピューティングデバイスに記憶されているソフトウェア、またはその組合せとして組み込まれ得ることは理解される。
【００９５】
初期ステップ501の後、システム(たとえば、図1のバーチャルリアリティシステム140)は、バーチャルリアリティデバイスから旅行目的地の選択を(たとえば、目的地ホイールの操作を通じて)取得する(ステップ505)ことができる。個人は、手の追跡を使用する目的地ホイールまたはハンドコントローラ(たとえば、図3Cからのハンドコントローラ385)またはバーチャルリアリティシステムへの他の入力デバイスをインタラクティブにやり取りすることによって様々な都市を閲覧することができる。
【００９６】
目的地を選択した後、システムは、旅行目的地に関連付けられている目的地情報を(たとえば、図1のAPI130を使用して)取得する(ステップ510)ことができる。バーチャルリアリティデバイスは、旅行目的地に関する利用可能な情報についてAPIに問い合わせることができる。たとえば、ユーザが旅行目的地としてパリを選択した場合、バーチャルリアリティシステムは、その選択結果を使用してパリの地図(たとえば、図1のAPI130を通じて地図データ121から)、パリの天気情報(たとえば、図1のAPI130を通じて天気データ127から)、およびパリのホテルとレストランに対する格付けデータ(たとえば、図1のAPI130を通じて格付けデータ123から)を取り出すことができる。取り出されたデータは、とりわけ、特定の修学旅行、レストランパッケージ、またはホテルスペシャルを含み得る、システム特有のサービス提供(たとえば、API130を通じて専用データソース110から取得される)をさらに含み得る。
【００９７】
システムは、個人に関連付けられているコンテキスト情報を(たとえば、図1のバーチャルリアリティデバイス145から)さらに取得する(ステップ515)ことができる。コンテキスト情報は、個人の記憶されているアカウント情報またはデバイスおよびユーザに関連付けられているデバイス識別子を含むことができる。コンテキスト情報は、ユーザがバーチャル環境とインタラクティブにやり取りすることに関する情報をさらに含み得る。
【００９８】
システムは、ユーザまたはバーチャルリアリティデバイスから取得されたコンテキスト情報の分析結果に基づき(たとえば、図1のバーチャルリアリティシステム140を使用して)情報をフィルタリングする(ステップ520)ことができる。たとえば、コンテキスト情報は、デバイス識別子を含み得る。そのデバイスのユーザに関する選好情報は、デバイス識別子を使用することで前のステップで取り出されるものとしてよい。選好情報を分析することによって、システムは、ユーザが、たとえば、旅行中にミシュラン格付けレストランで食事するのみであるか、または宿泊のために特定のホテルチェーンを好むことを決定することができる。これらの選好(バーチャルリアリティデバイスから取得されたコンテキスト情報に基づき取り出された)に応答して、利用可能な旅行サービスは、選好基準と厳密にはマッチしないものを除外するようにフィルタリングされ得る。
【００９９】
いくつかの実施形態において、コンテキスト情報は、ユーザが望む体験の種類に関するユーザによる選択を直接含むことができる。たとえば、ユーザは、旅行中にゴルフをしたいことをバーチャル環境内で示し得る。したがって、利用可能な旅行サービスのフィルタリングは、とにかくユーザの選択済み目的地での特定のゴルフパッケージを含むように手直しすることができる。このようにして、デバイスから直接取得される情報、さらにはデバイスによって提供される情報に基づき取得される情報が組み合わされて、利用可能な旅行サービスをフィルタリングすることができる。
【０１００】
システムは、旅行目的地を表すバーチャルリアリティ環境を提供する(ステップ525)ことができる。この環境は、ユーザが操作することができる追加のバーチャルコントロールを含むことができる。バーチャルリアリティ環境は、ユーザを目的地の都市に置くことができるか、または目的地の都市の鳥瞰図を示すことができる。次いで、ユーザは、バーチャル環境それ自体とさらにはコントロールの両方を操作することができる。いくつかの実施形態において、コントロールは、環境の操作でコントロールを効果的に操作するように環境に統合され得る。たとえば、特定の目的地の都市の地図は、オンデマンドで取り出される座席配置およびメニュー情報を示すように選択され、拡張され得るレストランおよびホテルを含むことができる。
【０１０１】
システムは、フィルタリングされた旅行サービスの表現(たとえば、バーチャルリアリティシステム140を使用する)を提供する(ステップ530)ことができる。たとえば、システムによって提供されるバーチャル環境は、地図上にハイライト表示される提供される旅行サービスに関連付けられているホテルを含むパリの鳥瞰図を含むことができる。ユーザは、地図コントロールを効果的に利用して、提供される各旅行サービスに関する情報を拡大するように地図を動かすことによって、提供される異なる旅行サービスを調査することができる。システムは、パリのバーチャル地図のユーザによる操作などのバーチャルリアリティデバイス(たとえば、図3Cのハンドコントローラ385を使用する)からのインタラクションを受け取る(ステップ535)ことができる。いくつかの実施形態において、バーチャルコントロールは、利用可能な旅行サービスを示すことができるセレクタまたはホイール(たとえば、図4Dからのスクロールホイール482)であってよく、システムは特定の旅行サービスのユーザの選択を受け取ることができる。
【０１０２】
システムは、バーチャル環境の個人による動作または操作に基づき(たとえば、図3B〜図3Cのバーチャルリアリティデバイス375およびコントローラ385を通じて)バーチャルコントロールのインタラクティブな操作を決定する(ステップ540)ことができる。システムは、提供されるコントロールに関する情報を利用して、ユーザからの入力を解釈し、ユーザの運動および選択が提供されるコントロールに相関する時点を検出することができる。それに応答して、システムは、バーチャルコントロール、旅行サービス、およびバーチャル環境への更新を(たとえば、図1のバーチャルリアリティシステム140を通じて)決定し(ステップ540)、それらの更新を(たとえば、図1のバーチャルリアリティデバイス145を通じて)バーチャルリアリティ環境に提供し(ステップ545)、プロセスを完了する(ステップ599)ことができる。
【０１０３】
したがって、スクロールホイールおよび利用可能な旅行サービスを示すパリのバーチャル地図の例において、システムは、バーチャルリアリティ環境内でユーザの動作を検出し、ユーザがバーチャル環境とインタラクティブにやり取りすることに基づき、ユーザのアクションに関連付けられている情報を取り出し、ユーザのアクションに直接応答する更新されたバーチャル環境およびコントロールを提供することができる。
【０１０４】
図6は、本開示の実施形態と一致する、バーチャルリアリティシステムにおける改善されたデータ統合のための例示的な方法のフローチャートである。図示されている手順は、ステップを削除するか、または追加のステップをさらに含めるように変更できることが容易に理解されるであろう。1つまたは複数のコンピューティングデバイス(図2のシステムまたは図3の電子デバイスなど)が例示的な方法を実行することができること、および本明細書で説明されている機能性がハードウェア、1つまたは複数のコンピューティングデバイスに記憶されているソフトウェア、またはその組合せとして組み込まれ得ることは理解される。
【０１０５】
初期ステップ601の後に、システムは、1つまたは複数の三次元バーチャルコントロールを含むバーチャルリアリティ環境を(たとえば、図1のバーチャルリアリティシステム140を通じて)生成する(ステップ610)ことができる。バーチャルコントロールは、ユーザがバーチャルリアリティ環境との間で行うことができる可能なインタラクションに基づき得る。
【０１０６】
生成された後、システムは、バーチャルリアリティ環境を表示のため(たとえば、バーチャルリアリティデバイス145を使用して)ユーザに提供する(ステップ620)ことができる。ユーザは、物理的運動を通じて、またコントローラ(たとえば、図3のコントローラ385)を通じて、バーチャルリアリティ環境とインタラクティブにやり取りすることができる。システムは、特定のバーチャルコントロールの、ユーザによる操作を(たとえば、図1のバーチャルリアリティデバイス145または図3のコントローラ385を通じて)取得する(ステップ630)ことができる。バーチャルリアリティデバイスは、ユーザの動作パターンを検出することによってそのような操作を検出することができる。この動作パターンは、バーチャルコントロールのうちの1つに関連付けられ得る。たとえば、動作パターンは、スクロールホイール(たとえば、図4Dのスクロールホイール481)の回転を示唆することができる。バーチャルコントロールの各々は、その特定のコントロールの操作に関連付けられている複数の動作パターンを有することができる。
【０１０７】
受け取った入力および特定の動作パターンに基づき、システムは、バーチャル環境およびユーザの操作を反映するコントロールへの変更を決定する(ステップ640)を決定することができる。たとえば、ユーザの操作は、時刻スライダ(たとえば、図4Cの時刻コントロール470)の動作を示唆し得る。所定の動作パターンは、時刻セレクタ(たとえば、図4Cの時間ダイヤル471にまたがるセレクタ472)のスライド動作を検出することができる。この動作パターンに応答して、システムは、バーチャル環境の時刻が入力を反映するように変化すべきであることを決定することができる。コントロールの操作の種類(たとえば、図4Dのスクロールホイール481などのスクロールホイールのスピン)を反映する動作パターンを検出することに加えて、システムは、操作の量を検出することもできる。たとえば、完全なサイクルとは対照的にスクロールホイールを1スロットだけ動かすと、その結果、異なるレベルの回転を有する類似の動作パターンが生じ得る。これらのパターンの各々は、同じコントロールに関連付けられているように検出され、異なる回転量を表し得る。
【０１０８】
システムは、表示のためにバーチャルリアリティデバイス(たとえば、図1のバーチャルリアリティデバイス145)への変更を提供し(ステップ650)、プロセスを完了する(ステップ699)ことができる。
【０１０９】
前のシステムは、旅行コンテキストに関して説明されているが、システムは、多くの異なる分野に使用できる。使用される特徴および組み込まれているデータは、開示されている実施形態が配備される特定の分野に基づき得る。
【０１１０】
上記明細書において、実施形態は、実装毎に異なり得る多数の具体的詳細を参照しつつ説明されている。説明されている実施形態のいくつかの適合および変更がなされ得る。他の実施形態は、本明細書で開示されている発明の明細および実施を考察すると当業者にとって明らかになるであろう。明細書および実施例は単なる例と考えられることが意図されている。また、図に示されているステップの順序は、例示することをのみ目的とすることが意図されており、ステップの特定の順序に限定されることは意図されていない。そのようなものとして、当業者であれば、これらのステップが同じ方法を実装しながら異なる順序で実行できることを理解することができる。
【符号の説明】
【０１１１】
100  システム
110  専用データソース
111  データベース
113  データソース
115  データベース
117  データシステム
120  外部データソース
121  地図データ
123  格付けデータ
125  位置データ
127  天気データ
129  フライトデータ
130  API
140  バーチャルリアリティシステム
145  バーチャルリアリティデバイス
200  コンピューティングデバイス
218  ネットワークインターフェース
220  中央処理装置(CPU)
221  システムメモリ
223  I/Oコントローラ
224  表示デバイス
225  グラフィックス処理ユニット(GPU)
226  グラフィックメモリ
228  記憶装置
230  I/Oデバイス
240  レジスタ
241  キャッシュ
245  フレームバッファ
250  システムインターフェース
300，375，385  バーチャルリアリティデバイス
301  CPU
303  ハンドコントローラ
306  ワイヤレス通信システム
307  入力デバイス
308  測位サブシステム
309  GPS
310  表示サブシステム
311  左眼ディスプレイ
313  右眼ディスプレイ
318  データポート
320  スピーカサブシステム
321  左スピーカ
322  マイクロフォン
323  右スピーカ
324  カメラ
330  永続的メモリ
332  オペレーティングシステム
334  アプリケーション
336  データ
337  ランダムアクセスメモリ(RAM)
338  リードオンリーメモリ(ROM)
340  IMU
342  加速度計
344  ジャイロスコープ
346  センサ
350  メモリインターフェース
352  取り外し可能メモリモジュール
360  バッテリーインターフェース
362  バッテリー
371  後部ヘッドギアコンポーネント
372  処理コンポーネント
374，373  表示デバイス
375  バーチャルリアリティデバイス
376  センサ
380  本体部
381  ボタン
382  トラックパッド
384  トリガ
385  ハンドコントローラ
400  バーチャルリアリティ表現
405  バーチャルリアリティヘッドセット
410  旅客カウントダイヤル
420  カレンダー
430  目的地ホイール
440  バーチャルリアリティ環境
441  選択済みフライト情報
442  時間スライダ
443  フライト
444  選択済みフライト
470  時刻コントロール
471  時間ダイヤル
472  時間セレクタ
473  太陽
474  月
480  フライト中体験コントロール
481  スクロールホイール
482  スペースシャトル環境
【図１】
2018049618.tif 000003
【図２】
2018049618.tif 000004
【図３Ａ】
2018049618.tif 000005
【図３Ｂ】
2018049618.tif 000006
【図３Ｃ】
2018049618.tif 000007
【図４Ａ】
2018049618.tif 000008
【図４Ｂ】
2018049618.tif 000009
【図４Ｃ】
2018049618.tif 000010
【図４Ｄ】
2018049618.tif 000011
【図５】
2018049618.tif 000012
【図６】
2018049618.tif 000013
【外国語明細書】
2018049618000001.pdf