(57)【要約】  協調ライブアクション仮想現実体験のための設計が説明される。クライアントは、360度ビデオファイルと、対応するオーディオファイルと、仮想現実体験の進行を指示する選択を行うようにユーザに要求する注釈とを再生するために、360度ディスプレイユニットを使用する。ユーザ入力は、クライアントに送信する後続の360度ビデオ、オーディオ、および注釈を決定するために、スクリプトツリーを考慮して処理される。いくつかの実施形態では、仮想現実体験の進行は、第2のユーザによって、または、仮想現実体験に協調的に参加している両方のユーザによって行われた注釈選択によって規定される。
2019528594.tif 000002
【特許請求の範囲】
【請求項１】
共有対話型環境を作成する方法であって、前記方法が、
第1のクライアントデバイスから、共有対話型環境コンピュータプログラムを開始する要求を送るステップであって、前記第1のクライアントデバイスが第1の360度ディスプレイユニットに関連する、ステップと、
前記共有対話型環境コンピュータプログラムを開始する応答を受信するステップと、
ビデオデータベースからの第1の360度ビデオファイルにアクセスするステップであって、前記第1の360度ビデオファイルが、前記360度ビデオファイルに関連する注釈に応答したユーザ入力に基づいて前記共有対話型環境を編成するスクリプトツリーを介して複数の360度ビデオファイルにリンクされる、ステップと、
前記スクリプトツリーからの前記第1の360度ビデオファイルに関連する第1の注釈にアクセスするステップと、
前記第1のクライアントデバイスの前記第1の360度ディスプレイユニットを使用して、前記第1の360度ビデオファイルおよび前記第1の注釈を視覚的に提示するステップと、
前記第1の注釈に応答したユーザ入力を受信するステップと、
前記ユーザ入力に基づいて前記スクリプトツリー内の後続ノードを識別するステップと、
前記後続ノードに基づいて前記第1のクライアントデバイスのための第2の360度ビデオファイルおよび第2の注釈にアクセスするステップであって、前記第2の360度ビデオファイルおよび前記第2の注釈が、前記スクリプトツリーによって決定されるように前記第1の注釈に応答した前記ユーザ入力に基づいてアクセスされる、ステップと、
第2のクライアントデバイスの第2の360度ディスプレイユニットが前記スクリプトツリー内の前記後続ノードにも関連する第3の360度ビデオファイルおよび第3の注釈を同時に提示している間、前記第1のクライアントデバイスの前記第1の360度ディスプレイユニットを使用して前記第2の360度ビデオファイルおよび前記第2の注釈を視覚的に提示するステップと
を含む、方法。
【請求項２】
前記ユーザ入力が、ユーザの物理的な動きに応答した前記360度ディスプレイユニットの動きを介して提供される、請求項1に記載の方法。
【請求項３】
前記スクリプトツリーの複数のノードの各々が、前記スクリプトツリー内でそのノードに先行する少なくとも1つのノードと、前記スクリプトツリー内でそのノードに続く少なくとも1つのノードとを有する、請求項1または2に記載の方法。
【請求項４】
前記第2の360度ビデオファイルおよび前記第2の注釈に応答した前記第1のクライアントデバイスによるユーザ入力に応答して、前記第1のクライアントデバイスの前記第1の360度ディスプレイユニットを使用して、第4の360度ビデオファイルおよび第4の注釈を視覚的に提示するステップをさらに含む、請求項1から3のいずれか一項に記載の方法。
【請求項５】
前記スクリプトツリーのノードが、2つ以上のアウトバウンドエッジを有し、各アウトバウンドエッジが、1人または複数のユーザによって行われ得る選択に関連する、請求項1から4のいずれか一項に記載の方法。
【請求項６】
前記スクリプトツリーの複数のノードが、複数の360度ビデオファイルに対応し、異なる360度ビデオファイルが、前記スクリプトツリーの前記複数のノードの各々において各クライアントに提示される、請求項1から5のいずれか一項に記載の方法。
【請求項７】
前記第2の360度ビデオファイルおよび前記第2の注釈に応答した前記第1のクライアントデバイスによるユーザ入力に応答して、前記第1のクライアントデバイスの前記第1の360度ディスプレイユニットを使用して、第4の360度ビデオファイルおよび第4の注釈を視覚的に提示するステップと、
前記第4の注釈に応答したユーザ入力を受信するステップと、
前記ユーザ入力に応答して、前記第1のクライアントデバイスの前記第1の360度ディスプレイユニットを使用して、前記第1の360度ビデオファイルおよび前記第1の注釈を視覚的に提示するステップと
をさらに含む、請求項1から3のいずれか一項に記載の方法。
【請求項８】
前記第2の360度ビデオファイルおよび前記第2の注釈が、前記第1のクライアントデバイスの前記ユーザが第1のプレーヤとして選択されていることに基づいて、前記第1のクライアントデバイスに対してアクセスされ、前記第3の360度ビデオファイルおよび前記第3の注釈が、前記第2のクライアントデバイスの前記ユーザが第2のプレーヤとして選択されていることに基づいて、前記第2のクライアントデバイスに対してアクセスされる、請求項1から7のいずれか一項に記載の方法。
【請求項９】
前記第2の360度ビデオファイルおよび注釈と前記第3の360度ビデオファイルおよび注釈とが同じである、請求項1から8のいずれか一項に記載の方法。
【請求項１０】
前記第2の360度ビデオファイルおよび注釈と前記第3の360度ビデオファイルおよび注釈とが異なる、請求項1から8のいずれか一項に記載の方法。
【請求項１１】
コンピュータシステムであって、
共有対話型環境を作成するための実行可能プログラムコードを含むコンピュータ可読記憶媒体を備え、前記実行可能プログラムコードが、
第1のクライアントデバイスから、共有対話型環境コンピュータプログラムを開始する要求を送るステップであって、前記第1のクライアントデバイスが360度ディスプレイユニットに関連する、ステップと、
前記共有対話型環境コンピュータプログラムを開始する応答を受信するステップと、
ビデオデータベースからの第1の360度ビデオファイルにアクセスするステップであって、前記第1の360度ビデオファイルが、前記360度ビデオファイルに関連する注釈に応答したユーザ入力に基づいて前記共有対話型環境を編成するスクリプトツリーを介して複数の360度ビデオファイルにリンクされる、ステップと、
前記スクリプトツリーからの前記第1の360度ビデオファイルに関連する第1の注釈にアクセスするステップと、
前記第1のクライアントデバイスの前記第1の360度ディスプレイユニットを使用して、前記第1の360度ビデオファイルおよび前記第1の注釈を視覚的に提示するステップと、
前記第1の注釈に応答したユーザ入力を受信するステップと、
前記ユーザ入力に基づいて前記スクリプトツリー内の後続ノードを識別するステップと、
前記後続ノードに基づいて、前記第1のクライアントデバイスのための第2の360度ビデオファイルおよび第2の注釈にアクセスするステップであって、前記第2の360度ビデオファイルおよび前記第2の注釈が、前記スクリプトツリーによって決定されるように前記第1の注釈に応答した前記ユーザ入力に基づいてアクセスされる、ステップと、
第2のクライアントデバイスの第2の360度ディスプレイユニットが前記スクリプトツリー内の前記後続ノードにも関連する第3の360度ビデオファイルおよび第3の注釈を同時に提示している間、前記第1のクライアントデバイスの前記第1の360度ディスプレイユニットを使用して前記第2の360度ビデオファイルおよび前記第2の注釈を視覚的に提示するステップと
を行う、コンピュータシステム。
【請求項１２】
前記ユーザ入力が、ユーザの物理的な動きに応答した前記360度ディスプレイユニットの動きを介して提供される、請求項11に記載のシステム。
【請求項１３】
前記スクリプトツリーの複数のノードの各々が、そのノードに先行する少なくとも1つのノードと、そのノードに続く少なくとも1つのノードとを有する、請求項11または12に記載のシステム。
【請求項１４】
前記スクリプトツリーの複数のノードが、複数の360度ビデオファイルに対応し、異なる360度ビデオファイルが、前記スクリプトツリーの前記複数のノードの各々において各クライアントデバイスに提示される、請求項11から13のいずれか一項に記載のシステム。
【請求項１５】
前記第2の360度ビデオファイルおよび前記第2の注釈に応答した前記第1のクライアントデバイスによるユーザ入力に応答して、前記第1のクライアントデバイスの前記第1の360度ディスプレイユニットを使用して、第4の360度ビデオファイルおよび第4の注釈を視覚的に提示するステップと、
前記第4の注釈に応答したユーザ入力を受信するステップと、
前記ユーザ入力に応答して、前記第1のクライアントデバイスの前記第1の360度ディスプレイユニットを使用して、前記第1の360度ビデオファイルおよび前記第1の注釈を視覚的に提示するステップと
をさらに含む、請求項11から14のいずれか一項に記載のシステム。
【請求項１６】
コンピュータ実行可能命令を記憶するコンピュータ可読媒体であって、前記コンピュータ実行可能命令は、実行に応答して、プロセッサを備えるデバイスに、
第1のクライアントデバイスから、共有対話型環境コンピュータプログラムを開始する要求を送るステップであって、前記第1のクライアントデバイスが360度ディスプレイユニットに関連する、ステップと、
前記共有対話型環境コンピュータプログラムを開始する応答を受信するステップと、
ビデオデータベースからの第1の360度ビデオファイルにアクセスするステップであって、前記第1の360度ビデオファイルが、前記第1の360度ビデオファイルに関連する注釈に応答したユーザ入力に基づいて前記共有対話型環境を編成するスクリプトツリーを介して複数の360度ビデオファイルにリンクされる、ステップと、
前記スクリプトツリーからの前記第1の360度ビデオファイルに関連する第1の注釈にアクセスするステップと、
前記第1のクライアントデバイスの前記第1の360度ディスプレイユニットを使用して、前記第1の360度ビデオファイルおよび前記第1の注釈を視覚的に提示するステップと、
前記第1の注釈に応答したユーザ入力を受信するステップと、
前記ユーザ入力に基づいて前記スクリプトツリー内の後続ノードを識別するステップと、
前記後続ノードに基づいて、前記第1のクライアントデバイスのために第2の360度ビデオファイルおよび第2の注釈にアクセスするステップであって、前記第2の360度ビデオファイルおよび前記第2の注釈が、前記スクリプトツリーによって決定されるように前記第1の注釈に応答した前記ユーザ入力に基づいてアクセスされる、ステップと、
第2のクライアントデバイスの第2の360度ディスプレイユニットが前記スクリプトツリー内の前記後続ノードにも関連する第3の360度ビデオファイルおよび第3の注釈を同時に提示している間、前記第1のクライアントデバイスの前記第1の360度ディスプレイユニットを使用して前記第2の360度ビデオファイルおよび前記第2の注釈を視覚的に提示するステップと
を含む動作を実行させる、コンピュータ可読媒体。
【請求項１７】
前記ユーザ入力が、ユーザの物理的な動きに応答した前記360度ディスプレイユニットの動きを介して提供される、請求項16に記載のコンピュータ可読媒体。
【請求項１８】
前記スクリプトツリーの複数のノードの各々が、そのノードに先行する少なくとも1つのノードと、そのノードに続く少なくとも1つのノードとを有する、請求項16または17に記載のコンピュータ可読媒体。
【請求項１９】
前記スクリプトツリーの複数のノードが、複数の360度ビデオファイルに対応し、異なる360度ビデオファイルが、前記スクリプトツリーの前記複数のノードの各々において各クライアントに提示される、請求項16から18のいずれか一項に記載のコンピュータ可読媒体。
【請求項２０】
前記第2の360度ビデオファイルおよび前記第2の注釈に応答した前記第1のクライアントデバイスによるユーザ入力に応答して、前記第1のクライアントデバイスの前記第1の360度ディスプレイユニットを使用して、第4の360度ビデオファイルおよび第4の注釈を視覚的に提示するための命令と、
前記第4の注釈に応答したユーザ入力を受信するための命令と、
前記ユーザ入力に応答して、前記第1のクライアントデバイスの前記第1の360度ディスプレイユニットを使用して、前記第1の360度ビデオファイルおよび前記第1の注釈を視覚的に提示するための命令と
をさらに含む、請求項16から19のいずれか一項に記載のコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、一般に、360度ビデオの対話機能および協調機能に関し、特に、共有360度対話型仮想現実環境、たとえば、訓練または指示、ゲームプレーなどのために使用される共有360度対話型仮想現実環境を作成することに関する。
【背景技術】
【０００２】
デジタルビデオファイルの記憶および再生のための従来のウェブベースのシステムは、典型的には、ビデオの従来の再生のみをサポートし、ビデオは、視聴者からの入力なしに、かつ、視聴者の動きを認識し、それに応答するシステムなしに、直線的に進行する。これらのシステムは、複数のユーザが別々の視点からのデジタルビデオ体験を共有することを可能にせず、代わりに、再生するための唯一の視点を複数のユーザに提供する。
【０００３】
仮想現実システムは、それらのユーザを360度環境に没入させ、ユーザが仮想現実内に存在するかのように、表示されたコンテンツをユーザが体験することを可能にする。従来の仮想現実システムは、ユーザの視野全体を占めることによって没入型の体験を促進し、ビデオゲームの形態におけるユーザ関与を可能にし得るが、それらは、従来、ユーザの視点選択に応答することができない2次元ビデオと互換性がなく、代わりに、ユーザの視点選択またはユーザの動きに基づいて調整され得る、動的に生成されるオーディオ/ビジュアルコンテンツに依存する。
【０００４】
加えて、従来の仮想現実システムは、ユーザが、体験を推進させるユーザの視点選択により、(たとえば、ヘッドセットありで、またはなしで)仮想現実ピースを孤立した様式で体験することを可能にする。言い換えれば、仮想現実ピースによるユーザ体験は、典型的には、複数のユーザ間で共有することができない。
【発明の概要】
【課題を解決するための手段】
【０００５】
方法、システム、およびコンピュータプログラム製品は、複数のユーザが異なる観点からの単一の対話型ストーリーの作成に同時に参加することを可能にする、協調ライブアクション仮想現実体験を作成することを開示する。ストーリーは、各々が360度ディスプレイユニットに関連付けられた複数のクライアントにおいて見られ得る。第1のクライアントのユーザは、第2のクライアントに、仮想現実体験を開始する要求を送る(「2プレーヤモード」)。要求を送る第1のクライアントのユーザに応答して、システムは、360度ビデオファイルと、オーディオファイルと、注釈とを備える第1の360度メディアセグメントにアクセスする。システムは、第1のクライアント上に第1の360度メディアセグメントを表示し、注釈に応答した第1のユーザからの入力を受信する。入力を提供する第1のユーザに応答して、システムは、注釈選択に対応する第2の360度メディアセグメントにアクセスする。システムは、次いで、第1のクライアント上に第2の360度メディアセグメントを提示する。第2の注釈に応答して入力を提供する第1のユーザに応答して、システムは、第3の360度メディアセグメントにアクセスしてそれを表示する。他の実施形態では、システムは、第2のユーザからの入力、または第1のユーザと第2のユーザの両方からの入力に応答して、360度メディアセグメントにアクセスする。
【０００６】
別の実施形態では、単一のユーザが、仮想現実体験を開始する要求をサーバに送るためにクライアントを使用する(「1プレーヤモード」)。クライアントのユーザがアプリケーションをダウンロードすると、クライアントが360度メディアセグメントの再生を開始するためにネットワークに接続する必要がないように、サーバ上のビデオデータベースおよび注釈データベース内に記憶された360度メディアセグメントのすべては、ダウンロード内に含まれ、クライアント上に記憶される。プレーヤが1プレーヤモードを選択する場合、すべての後続の注釈選択は、クライアントのユーザによって行われる。代替的には、注釈のいくつかは、コンピュータによって自動的に行われる。1プレーヤモードと2プレーヤモードの両方が考慮されているが、以下の説明は、2プレーヤの繰り返しのみを扱う。特に明記しない限り、同じ機能が1プレーヤモードに当てはまることは、当業者には明らかであろう。
【０００７】
本開示の態様は、第1のクライアントデバイスから、共有対話型体験コンピュータプログラムを開始する要求を送るステップであって、第1のクライアントデバイスが第1の360度ディスプレイユニットに関連する、ステップと、共有対話型体験コンピュータプログラムを開始する応答を受信するステップと、ビデオデータベースからの第1の360度ビデオファイルにアクセスするステップであって、第1の360度ビデオファイルが、360度ビデオファイルに関連する注釈に応答したユーザ入力に基づいて共有対話型体験を編成するスクリプトツリーを介して複数の360度ビデオファイルにリンクされる、ステップと、スクリプトツリーからの第1の360度ビデオファイルに関連する第1の注釈にアクセスするステップと、第1のクライアントデバイスの第1の360度ディスプレイユニットを使用して、第1の360度ビデオファイルおよび第1の注釈を視覚的に提示するステップと、第1の注釈に応答したユーザ入力を受信するステップと、ユーザ入力に基づいてスクリプトツリー内の後続ノードを識別するステップと、後続ノードに基づいて第1のクライアントデバイスのための第2の360度ビデオファイルおよび第2の注釈にアクセスするステップであって、第2の360度ビデオファイルおよび第2の注釈が、スクリプトツリーによって決定されるように第1の注釈に応答したユーザ入力に基づいてアクセスされる、ステップと、第2のクライアントデバイスの第2の360度ディスプレイユニットがスクリプトツリー内の後続ノードにも関連する第3の360度ビデオファイルおよび第3の注釈を同時に提示している間、第1のクライアントデバイスの第1の360度ディスプレイユニットを使用して第2の360度ビデオファイルおよび第2の注釈を視覚的に提示するステップとを含む、共有対話型環境を作成する方法を提供する。本開示の態様は、共有対話型環境を作成するための実行可能プログラムコードを含むコンピュータ可読記憶媒体を備えるコンピュータシステムを提供し、実行可能プログラムコードが、第1のクライアントデバイスから、共有対話型体験コンピュータプログラムを開始する要求を送るステップであって、第1のクライアントデバイスが360度ディスプレイユニットに関連する、ステップと、共有対話型体験コンピュータプログラムを開始する応答を受信するステップと、ビデオデータベースからの第1の360度ビデオファイルにアクセスするステップであって、第1の360度ビデオファイルが、360度ビデオファイルに関連する注釈に応答したユーザ入力に基づいて共有対話型体験を編成するスクリプトツリーを介して複数の360度ビデオファイルにリンクされる、ステップと、スクリプトツリーからの第1の360度ビデオファイルに関連する第1の注釈にアクセスするステップと、第1のクライアントデバイスの第1の360度ディスプレイユニットを使用して、第1の360度ビデオファイルおよび第1の注釈を視覚的に提示するステップと、第1の注釈に応答したユーザ入力を受信するステップと、ユーザ入力に基づいてスクリプトツリー内の後続ノードを識別するステップと、後続ノードに基づいて、第1のクライアントデバイスのための第2の360度ビデオファイルおよび第2の注釈にアクセスするステップであって、第2の360度ビデオファイルおよび第2の注釈が、スクリプトツリーによって決定されるように第1の注釈に応答したユーザ入力に基づいてアクセスされる、ステップと、第2のクライアントデバイスの第2の360度ディスプレイユニットがスクリプトツリー内の後続ノードにも関連する第3の360度ビデオファイルおよび第3の注釈を同時に提示している間、第1のクライアントデバイスの第1の360度ディスプレイユニットを使用して第2の360度ビデオファイルおよび第2の注釈を視覚的に提示するステップとを行う。本開示の態様は、コンピュータ実行可能命令を記憶するコンピュータ可読媒体(これは非一時的コンピュータ可読媒体であってもよく、ただし、この態様はこれに限定されない)であって、コンピュータ実行可能命令は、実行に応答して、プロセッサを備えるデバイスに、第1のクライアントデバイスから、共有対話型体験コンピュータプログラムを開始する要求を送るステップであって、第1のクライアントデバイスが360度ディスプレイユニットに関連する、ステップと、共有対話型体験コンピュータプログラムを開始する応答を受信するステップと、ビデオデータベースからの第1の360度ビデオファイルにアクセスするステップであって、第1の360度ビデオファイルが、第1の360度ビデオファイルに関連する注釈に応答したユーザ入力に基づいて共有対話型体験を編成するスクリプトツリーを介して複数の360度ビデオファイルにリンクされる、ステップと、スクリプトツリーからの第1の360度ビデオファイルに関連する第1の注釈にアクセスするステップと、第1のクライアントデバイスの第1の360度ディスプレイユニットを使用して、第1の360度ビデオファイルおよび第1の注釈を視覚的に提示するステップと、第1の注釈に応答したユーザ入力を受信するステップと、ユーザ入力に基づいてスクリプトツリー内の後続ノードを識別するステップと、後続ノードに基づいて、第1のクライアントデバイスのための第2の360度ビデオファイルおよび第2の注釈にアクセスするステップであって、第2の360度ビデオファイルおよび第2の注釈が、スクリプトツリーによって決定されるように第1の注釈に応答したユーザ入力に基づいてアクセスされる、ステップと、第2のクライアントデバイスの第2の360度ディスプレイユニットがスクリプトツリー内の後続ノードにも関連する第3の360度ビデオファイルおよび第3の注釈を同時に提示している間、第1のクライアントデバイスの第1の360度ディスプレイユニットを使用して第2の360度ビデオファイルおよび第2の注釈を視覚的に提示するステップとを含む動作を実行させる、コンピュータ可読媒体を提供する。
【０００８】
本開示の他の態様は、コンピュータ実行可能命令を記憶するコンピュータ可読媒体(これは非一時的コンピュータ可読媒体であってもよく、ただし、この態様はこれに限定されない)であって、コンピュータ実行可能命令は、実行に応答して、プロセッサを備えるデバイスに、本明細書に記載の任意の態様または実装形態による方法を実行させるコンピュータ可読媒体を提供する。本開示の他の態様は、本明細書に記載の任意の態様または実装形態による方法を実行するように構成されたコンピュータシステムを提供する。
【０００９】
本開示の態様は、したがって、仮想現実システムまたは拡張現実システムが入力としてビデオを使用することを可能にし、それによって、動的に生成されたオーディオビジュアルコンテンツを提供する必要性を回避する。動的に生成されたオーディオビジュアルコンテンツの必要性の排除は、動的に生成されたオーディオビジュアルコンテンツが有線デバイスよりも低い処理能力および/または記憶容量を有する場合があるモバイルデバイス内で生成されるか、またはモバイルデバイスに送信される必要性を排除するので、仮想現実システムがモバイルデバイスを使用する場合に特に有用であり得る。さらに、本開示の態様は、加えてまたは代替的に、複数のユーザが、同じ「インスタンス」内の他のユーザの体験に影響を及ぼす能力を維持しながら、360ビデオベースの環境においてユーザ自身の体験を推進することを可能にする。さらに、本開示の態様は、より古いモバイルデバイスにおける処理負担を軽減しながらビデオをストリーミングするために、体験の負担のより多くを外部の帯域幅および能力に置くために、オンザフライでレンダリングされる環境ではなく、360ビデオを使用することができる。
【００１０】
さらに、仮想現実システムが2人以上のユーザが存在することを許可する場合、たとえば、ユーザが仮想現実環境内で(たとえば、訓練オーディオ/ビジュアルプレゼンテーションにおいて)相互に対話する場合、あるユーザのデバイスに供給されるオーディオ/ビジュアルコンテンツが別のユーザのデバイスに供給されるオーディオ/ビジュアルコンテンツと同期されるか、または実質的に同期されることが望ましい場合がある。これは、2人のユーザが各々自分自身の個々の動的に生成されたコンテンツを使用する場合、達成するのが困難である可能性がある。本開示の態様は、加えてまたは代替的に、2つ以上のユーザデバイス上のオーディオ/ビジュアルコンテンツのより容易な同期を可能にすることができる。
【００１１】
本明細書に記載されている特徴および利点は、包括的なものではなく、特に、多くの追加の特徴および利点は、図面、明細書、および特許請求の範囲を考慮すれば当業者には明らかであろう。さらに、本明細書で使用される文言は、主に可読性および教授目的のために選択されており、開示された主題を描写または制限するために選択されていない場合があることに留意すべきである。
【図面の簡単な説明】
【００１２】
【図１】一実施形態による協調ライブアクション仮想現実体験を作成するためのシステムアーキテクチャのブロック図である。
【図２Ａ】一実施形態による、注釈に応答したユーザ入力に基づいて、協調ライブアクション仮想現実体験を編成する例示的なスクリプトツリーを示す図である。
【図２Ｂ】一実施形態による、注釈に応答したユーザ入力に基づいて、協調ライブアクション仮想現実体験を編成する例示的なスクリプトツリーを示す図である。
【図２Ｃ】一実施形態による、注釈に応答したユーザ入力に基づいて、協調ライブアクション仮想現実体験を編成する例示的なスクリプトツリーを示す図である。
【図３】一実施形態による、ユーザが仮想現実体験に参加するために互いに接続することを可能にするように設計されたサーバ施設を示すブロック図である。
【図４】一実施形態による、協調ライブアクション仮想現実体験を作成するための例示的なプロセスを示すフローチャートである。
【図５Ａ】図4で説明された例示的な方法のユースケースを示す図である。
【図５Ｂ】図4で説明された例示的な方法のユースケースを示す図である。
【図５Ｃ】図4で説明された例示的な方法のユースケースを示す図である。
【図５Ｄ】図4で説明された例示的な方法のユースケースを示す図である。
【図５Ｅ】図4で説明された例示的な方法のユースケースを示す図である。
【図５Ｆ】図4で説明された例示的な方法のユースケースを示す図である。
【図５Ｇ】図4で説明された例示的な方法のユースケースを示す図である。
【図５Ｈ】図4で説明された例示的な方法のユースケースを示す図である。
【図５Ｉ】図4で説明された例示的な方法のユースケースを示す図である。
【図５Ｊ】図4で説明された例示的な方法のユースケースを示す図である。
【図５Ｋ】図4で説明された例示的な方法のユースケースを示す図である。
【図５Ｌ】図4で説明された例示的な方法のユースケースを示す図である。
【図５Ｍ】図4で説明された例示的な方法のユースケースを示す図である。
【図５Ｎ】図4で説明された例示的な方法のユースケースを示す図である。
【図５Ｏ】図4で説明された例示的な方法のユースケースを示す図である。
【図５Ｐ】図4で説明された例示的な方法のユースケースを示す図である。
【図５Ｑ】図4で説明された例示的な方法のユースケースを示す図である。
【図５Ｒ】図4で説明された例示的な方法のユースケースを示す図である。
【図５Ｓ】図4で説明された例示的な方法のユースケースを示す図である。
【発明を実施するための形態】
【００１３】
ここで、いくつかの実施形態に対して詳細な参照が行われ、その例は、添付の図面に示されている。実用的な場合はいつでも、類似のまたは同様の参照符号が図中で使用される場合があり、類似のまたは同様の機能を示す場合があることに留意されたい。図面は、例示のみの目的のための開示されるシステム(および方法)の実施形態を示す。当業者は、以下の説明から、本明細書で例示される構造および方法の代替実施形態が本明細書に記載の原理から逸脱することなく用いられてもよいことを容易に認識するであろう。1つの態様または実装形態の内容において本明細書で説明される任意の特徴は、本明細書で説明される任意の他の態様または実装形態に組み込まれてもよい。
【００１４】
例示的なシステム
図1は、協調ライブアクション仮想現実体験を作成するためのシステムを示すブロック図である。複数のユーザは、サーバ施設100と対話するためにクライアント110A〜Bを使用する。2つのクライアント110Aおよび110Bのみが示されているが、非常に多数(例えば、数百万)のクライアントがサポートされてもよく、いつでもサーバ施設100と通信することができることが理解される。仮想現実体験を共有する2つのクライアント110について、クライアント110Aは、ネットワーク130を介してクライアント110Bとの接続を確立し、クライアント110Bとデータパケットを交換するために、ウェブソケットを使用してもよい。代替的には、クライアント110Aは、有線接続、または、BLUETOOTH(登録商標)もしくは赤外線のような短距離ワイヤレス通信規格を使用して、クライアント110Bに直接接続してもよい。
【００１５】
サーバ施設100は、典型的にはインターネットであるが、限定はしないが、LAN、MAN、WAN、モバイル、有線、もしくはワイヤレスネットワーク、プライベートネットワーク、または仮想プライベートネットワークを含む任意のネットワークであってもよいネットワーク130を介して、クライアント110Aおよび110Bと通信する。クライアント110およびサーバ施設100は、ネットワークインターフェースを介してネットワーク130に接続される。
【００１６】
クライアント110は、ビデオプレーヤ140を含み、360度ディスプレイユニット150に結合される。図1には示されていないが、クライアント110は、典型的には、プロセッサ、ディスプレイデバイス(またはディスプレイデバイスへの出力部)、クライアント110がタスクを実行する際にユーザによって使用されるデータを記憶する、ハードドライブまたはフラッシュメモリデバイスのようなローカルストレージ、および、ネットワーク130を介してサーバ施設100に結合するためのネットワークインターフェースも含む。
【００１７】
クライアント110は、様々な異なるコンピューティングデバイスを含んでもよい。クライアント110の例は、パーソナルコンピュータ、情報端末、携帯情報端末、セルラー電話、モバイル電話、スマートフォン、またはラップトップコンピュータである。当業者には明らかであるように、本発明は、上記で列挙したデバイスに限定されない。一実施形態では、クライアント110は、クライアント110のユーザからの聴覚入力に応答してユーザ選択を検出し解釈する音声認識構成要素も含む。
【００１８】
360度ディスプレイユニット150は、時には「球面ビデオ」または「没入型ビデオ」とも呼ばれる360度ディスプレイフォーマットにおいて360度ビデオを表示する。360度ビデオは、すべての方向におけるビューを同時に録画することによってキャプチャされたビデオ録画である。しばしば、これは、全方向カメラまたは特に配置されたカメラの集合を使用して成し遂げられるが、特に将来において、360度ビデオを録画する他の方法が存在することが予想される。再生中、クライアント110のユーザは、パノラマに類似した任意の方向を見ることを選択できるように視線方向を制御することができ、360度ディスプレイユニット150は、その選択に適合し、録画されたビデオの適切な方向を示す。一実施形態では、360度ビデオは、3次元(3D)ビデオでもあり、コンテンツの3D視覚化(すなわち、被写界深度、移動、またはz軸の知覚)を可能にする。
【００１９】
360度ディスプレイユニット150はまた、360度ディスプレイユニット150によって提供される視覚エンクロージャと共に、ユーザが完全に視覚的に没入しているようにユーザが見ることができる完全な程度であってもよい。すなわち、いくつかの実装形態では、ユーザの視界の残りが360度ディスプレイユニット150によってブロックされて、ユーザが見ることができるすべては、360度ビデオである。360度ディスプレイユニット150は、同様に、ユーザが360度ビデオに関連するオーディオを聴くことを可能にするために、オーディオスピーカを含んでもよい。360度ディスプレイユニット150のオーディオハードウェアは、ステレオまたはサラウンド(たとえば、5つ以上のスピーカソース)フォーマットにおいてステレオを再生するように設定されてもよい。
【００２０】
クライアント110および360度ディスプレイユニット150のユーザのために実現される体験は、視覚または聴覚媒体がユーザのための人工的な感覚的体験を作成し、ユーザとの対話を可能にするためにユーザの物理的存在および環境をシミュレートするので、「仮想現実体験」と呼ばれることもある。したがって、「仮想現実体験」という用語は、一般的に体験を説明するためにこの説明を通して使用される。しかしながら、様々な特定の実施形態では、体験は、ちょうど360度ビデオで実施されてもよく、または、より完全な仮想現実体験であってもよい。
【００２１】
一実施形態では、360度ディスプレイユニット150は、クライアント110と同じ物理的ユニットの一部である。代替的には、360度ディスプレイユニット150は、有線またはワイヤレスでクライアント110に通信可能に結合された独立型ユニットである。360度ディスプレイユニット150の例は、GOOGLE CARDBOARDユニットであるが、他の360度ディスプレイユニットも適しており、本明細書で開示される教示に従って動作するように適合され得る。
【００２２】
360度ディスプレイユニット150は、ユーザ入力を検出し、入力を分析のためにサーバ施設100に伝達する。ユーザ入力は、ユーザによって引き起こされる360度ディスプレイユニット150の物理的な動きの形態で受信されてもよい。ユーザ入力はまた、ユーザの手に保持されているジョイスティックまたは他のコントローラから受信されてもよい。
【００２３】
ビデオプレーヤ140は、360度体験の一部であるテキストまたはオーディオ注釈の提示を制御するために、360度ビデオおよび関連するオーディオの提示を制御するために使用される。360度ビデオ、オーディオ、および注釈の組合せは、本明細書では、360度メディアセグメントと呼ばれる。ビデオプレーヤ140は、仮想現実体験の制御に関する命令の送信および受信を制御するためにさらに使用される。ビデオプレーヤ140は、ハードウェア、またはハードウェアもしくはソフトウェアの組合せにおいて実装されてもよい。ビデオプレーヤ140は、独立型のソフトウェアアプリケーション、または別のソフトウェアアプリケーションへのプラグインであってもよい。ビデオプレーヤ140は、360度ディスプレイユニット150に、サーバ施設100から検索された、またはクライアント110内に記憶された360度ビデオファイルおよびオーディオファイルを再生させるように構成される。ビデオプレーヤ140が、360度ビデオに関連する注釈が適用される360度ビデオにおける時間に達すると、ビデオプレーヤ140は、360度ディスプレイユニット150が表示画面上に注釈をオーバレイさせ、および/または360度ビデオまたはオーディオファイルのオーディオトラック上にオーディオ注釈をオーバレイさせることによって、注釈を提示させる。
【００２４】
ビデオプレーヤ140は、ユーザインターフェース制御、および場合によっては対応するアプリケーションプログラミングインターフェースも含み、360度ビデオの360度ディスプレイユニットにおける入力を介した選択、開始、停止、巻き戻し、早送り、および360度ビデオを介する他の動作を可能にする。ビデオプレーヤ140の再生およびビデオフォーマット選択機能を制御するために、他のタイプのユーザ制御(たとえば、ボタン、キーボード制御)が同様に使用され得る。ビデオプレーヤ140は、ユーザが仮想現実体験を通して動作する際の選択を案内するために、ジョイスティックまたは360度ディスプレイユニット150の動きを介した入力も処理する。
【００２５】
サーバ施設100は、ユーザ入力に基づく受信された注釈選択によって示されるように、かつ、以下に説明するように仮想現実体験の論理的な流れによって示されるように、360度メディアセグメントを提供することによって、協調ライブアクション仮想現実体験に参加するために互いに接続するクライアント110Aおよび110Bの能力を容易にする。場合によっては、360度メディアセグメントは、それらのセグメントがすでにクライアント110にローカルに記憶されている場合、クライアント110に直接提供される必要はない。
【００２６】
仮想現実体験の編成構造
各360度メディアセグメントは、ビデオと、オーディオと、クライアント110Aおよび110Bのユーザのうちの1人または複数が、体験の進行を規定することになる、本明細書では注釈選択と呼ばれる決定を行うことを要求する注釈とを含む。ユーザのうちの1人が入力を提供することによって、たとえば、360度ディスプレイユニット150を動かすことによって注釈選択を行うと、サーバ施設100またはクライアント110のいずれかにおいて位置するユーザ選択モジュール122は、ユーザ選択を解釈し、体験に関与するクライアント110のビデオプレーヤ140のうちの1つまたは複数にその選択に関連する360度メディアセグメントをロードまたは取得するように指示する。たとえば、360度メディアセグメントは、クライアント110に関連するプレーヤが車の運転席に座っているビデオおよびオーディオファイルと、ユーザに車を右に曲げるかまたは左に曲げるかを選択するように求める注釈とを含んでもよい。クライアント110のユーザが「左」オプション(すなわち、左注釈選択)を選択した場合、360度ディスプレイユニット150は、入力を検出し、入力をユーザ選択モジュール122に伝達し、ユーザ選択モジュール122は、選択に関連する360度メディアセグメントをロードするようにビデオプレーヤ140に命令する。
【００２７】
上記で紹介したように、注釈は、表示された360度ビデオ上にオーバレイされた対話型グラフィカルインターフェースの形態で表示され得る。たとえば、それらは、メニュースタイルインターフェースの形態をとり、そこでは、360度ディスプレイユニット150は、注釈を介していくつかの選択肢を表示し、次いで、ユーザが選択肢のうちの1つを選択することを可能にするために、ビデオを一時停止する。メニュー項目/注釈は、1つの注釈を選択することが1つの360度メディアセグメントにつながり、異なる注釈をクリックすることが異なる360度メディアセグメントにつながる、仮想現実体験における分岐するストーリーラインを考慮する。たとえば、ユーザが360度メディアセグメントのストーリーラインにおいて様々な分岐点(forks)を示す注釈を選択するゲームにおいて、注釈が使用され得る。ユーザが第1の注釈選択を行った場合、ユーザ選択モジュール122は、サーバ施設100からの第1の360度メディアセグメントにアクセスする。ユーザが第2の注釈選択を行った場合、ユーザ選択モジュール122は、サーバ施設100からの第2の360度ビデオにアクセスする。そのようなゲームは、各々が様々なジャンプの目的地を表す複数の360度メディアセグメントによってサポートされる。ゲーム内の各ジャンプは、編成された階層構造内のエントリとして表される。
【００２８】
図2A〜図2Cは、階層構造内の、編成されリンクされた360度メディアセグメントのセットを示す例示的なスクリプトツリーを示す。スクリプトツリーは、仮想現実体験を編成する。スクリプトツリーは、一連のエッジによって接続された一連のノードを含む。体験中の任意の所与の時点で、スクリプトツリーは、所与のビデオプレーヤ140が、スクリプトツリー内の各ノードに対応する所与の360度メディアセグメントを再生することを規定する。その360度メディアセグメントおよびノードに関連するクライアント110のうちの1つにおいて受信された注釈選択に基づいて、ユーザ選択モジュール122は、どのアウトバウンドエッジおよび(しばしば子)ノードが次に生じるかを決定するためにスクリプトツリーにアクセスする。これは次に、どの360度メディアセグメントが各クライアントに対して再生されるかなどを規定する。場合によっては、スクリプトツリーのノードは、2つ以上のアウトバウンドエッジを有し、各アウトバウンドエッジは、1人または複数のユーザによって行われ得る選択に関連する。たとえば、図2Aのノード「gvr_01_start」は、行われ得る4つの異なる選択に対応する4つのアウトバウンドエッジを有する。場合によっては、スクリプトツリーの複数のノードの各々は、スクリプトツリー内でそのノードに先行する少なくとも1つのノードと、スクリプトツリー内でそれに続く少なくとも1つのノードとを有する(ただし、これは、仮想現実環境の終わりに対応する開始ノードまたはリーフノード(図2Bのリーフノード「gvr_29_second_fail_end」など)には当てはまらない)。
【００２９】
スクリプトツリーは、クライアント110のユーザのための協調360度仮想現実体験の始まりを表すルートノードで開始する。一実施形態では、クライアント110Aおよび110Bは、それらがリーフノードに達するまで、ルートノードから離れて誘導し続ける。たとえば、図2A〜図2Cは、脇見運転公共広告(PSA)のためのスクリプトツリーを示す。図2BのGvr_29_second_fail_endは、運転者に関連するクライアント110のユーザが2回以上失敗した場合、仮想現実体験が終了するので、リーフノードである。このようにして、仮想現実体験は、ユーザの選択に応じて360度メディアセグメントの異なる論理的進行を有することができ、対応する異なる結末を有することができる。
【００３０】
図1およびクライアント110に戻って参照すると、ビデオプレーヤ140は、ユーザのための仮想現実体験を実行するためにスクリプトツリー構造と360度メディアセグメントとを使用する機能を含む。ユーザ選択モジュール122は、その視線を通して360度メディアセグメントを見るプレーヤを選択するためのオプションをクライアント110Aおよび110Bにおいて表示する。たとえば、ビデオプレーヤ140は、クライアント110Aのユーザが360度メディアセグメントを「Jess」または「Mike」のどちらとして見るかを決定することを可能にするメニューをクライアント110Aにおいて表示する。クライアント110Aのユーザが「Mike」を選択した場合、クライアント110Bのユーザは、360度ビデオを「Jess」として見ることになる。一実施形態では、クライアント110の3人以上のユーザが、協調ライブアクション仮想現実体験に参加する。第1のプレーヤは、クライアント110Aのユーザであり、追加のプレーヤは、クライアント110またはコンピュータの他のユーザであってもよい。
【００３１】
ユーザ選択モジュール122は、ビデオプレーヤ140からユーザ入力を受信し、どの360度メディアセグメントが入力に応答して体験データベース126および注釈データベース128から検索するのかを決定するために、入力をスクリプトツリーと比較する。ユーザ選択モジュール122は、次いで、クライアント110Aおよび110Bのどこに360度メディアセグメントを送るかに関する命令と共に、360度メディアセグメントをビデオプレーヤ140に送る。
【００３２】
スクリプトツリーは、ノードごとに複数の360度メディアセグメントを含んでもよく、ユーザ選択モジュール122は、各々のそれぞれのクライアント110に関連するプレーヤに応じて、各クライアント110に異なる360度メディアセグメント(たとえば、第1のクライアント110A対第2のクライアント110Bについて異なる360度メディアセグメント)を送ってもよい。ユーザ選択モジュール122がユーザ入力に応答してスクリプトツリー内のノードに到達すると、ユーザ選択モジュール122は、各プレーヤが仮想現実体験中に異なるものを聞いて見ることになるように、各プレーヤに対して適切な360度メディアセグメントの異なる選択をする。上記で説明した例を続けると、クライアント110AのユーザがMikeを選択した場合、ユーザ選択モジュール122は、各ノードにおいて、Mikeプレーヤに関連する360度メディアセグメントを選択し、他のクライアント110BおよびJessプレーヤについても同様にする。
【００３３】
一実施形態では、360度ディスプレイユニット150は、注釈がクライアント110において表示されていないときに、360度ディスプレイユニット150を360度フィールド内の特定の点に向けるクライアント110のユーザに応答して、ユーザ入力を検出する。360度ディスプレイユニット150は、入力をユーザ選択モジュール122に伝達し、ユーザ選択モジュール122は、サーバ施設100から360度メディアセグメントを検索し、360度メディアセグメントを再生するようにビデオプレーヤ140に指示する。
【００３４】
スクリプトツリーはまた、ユーザが、ノード間のエッジ接続に基づいてそのようなループを生じさせる注釈選択の適切な選択に応答して、協調ライブアクション仮想現実体験におけるより早い時点にループバックすることを可能にするノード/エッジ構造を提供してもよい。
【００３５】
たとえば、クライアント110のユーザが体験データベース126から、仮想現実体験の目的が、ユーザが殺人者を捕まえるために使用することができる手がかりを見つけるために家を探索することである殺人ミステリー仮想現実体験を選択すると仮定する。殺人ミステリー体験の再生は、ルートノードにおいて始まり、ストーリーの方向を規定する注釈オプションを選択するユーザに応答して、スクリプトツリーを下へエッジおよびノードを進む。一例では、クライアント110は、図書室に入るかまたはキッチン入るかを選択するようにクライアント110のユーザに求める注釈を表示する。クライアント110のユーザは、360度ディスプレイユニット150を回転させて「図書室」注釈の選択を示す。注釈選択に応答して、ユーザ選択モジュール122は、「図書室」ノードに関連するエッジをたどり、ユーザに関連するプレーヤがドアを開いて図書室に入る360度メディアセグメントを再生するようにビデオプレーヤ140に指示する。プレーヤが図書室に入ると、ビデオプレーヤ140は、机の上またはゴミ箱の中のどちらで手がかりを探すのかを選択するようにユーザに求める注釈を表示する。クライアント110のユーザは、360度ディスプレイユニット150を回転させて「机」注釈の選択を示す。注釈選択に応答して、ユーザ選択モジュール122は、「机」ノードに関連するエッジをたどり、プレーヤが机まで歩いて手がかりを探す360度メディアセグメントを再生するようにビデオプレーヤ140に指示する。ビデオプレーヤ140が、プレーヤが机を探し終えたと判断すると、ビデオプレーヤ140は、ループされたエッジノードをたどり、クライアント110のユーザを、ユーザが机を探すこととゴミ箱を探すこととの間で選択するように求められた以前の360度メディアセグメントに戻す。ユーザをストーリーのこの時点に戻すことは、ユーザが、ストーリーラインの進行を変更するために、以前に選択されていない注釈を選択することを可能にする。代替的には、ユーザは、体験のいくつかの局面を繰り返すために、以前の注釈選択を再び行ってもよい。ビデオプレーヤ140は、ユーザが、家の異なる部屋または階を探すことを可能にするために同様にループを用いてもよく、ミステリーを解き明かしているか、またはミステリーを解き明かしていないユーザに関連するリーフノードまでスクリプトツリーを下に進むことができる。
【００３６】
サーバ施設
図3は、協調360度仮想現実体験を作成するためのシステムのサーバ施設100のブロック図である。図3に示すように、サーバ施設100は、フロントエンドサーバ120と、ユーザ選択モジュール122と、体験データベース126と、注釈データベース128と、ユーザデータベース130とを含む。ファイアウォール、ロードバランサ、アプリケーションサーバ、フェイルオーバサーバ、サイト管理ツールなど他の従来の機能は、システムの機能をより明確に示すために示されていない。システムの実装に適したサーバ施設100の例は、YouTube(登録商標)およびGoogle Video(商標)のウェブサイトを含み、他のビデオホスティングサイトも同様に知られており、本明細書に開示されている教示に従って動作するように適合され得る。「ウェブサイト」という用語は、コンテンツを提供する任意のシステムおよび方法を表し、インターネットまたはHTTPプロトコルを介して提供されるコンテンツをサポートするシステムに限定されることを意図していないことが理解されよう。様々なサーバは、単一のソフトウェアもしくはハードウェアとして、または複数のソフトウェアもしくはハードウェアとして従来は実装されており、フロントエンドサーバ120を介してネットワーク130に結合することができる。一般に、サーバ側で実行されるものとして一実施形態において説明した機能は、適切であれば、他の実施形態ではクライアント側でも実行され得る。
【００３７】
フロントエンドサーバ120は、クライアント110のユーザが、仮想現実体験を始めるために、他のクライアントのユーザと接続することを可能にする。フロントエンドサーバ120は、他のユーザのリストをクライアント110Aにおいて表示し、別のユーザのクライアント110Aおよび対応するクライアント110Bのユーザから選択を受信する。フロントエンドサーバ120は、次いで、仮想現実体験を開始するように要求させてもよい。一実施形態では、要求は、別のユーザによって開始された仮想現実体験に参加するためにユーザがクライアント110Bに入力しなければならないコードを含む。
【００３８】
体験データベース126は、360度メディアセグメントと、360度メディアセグメントに関連する関連メタデータとを記憶するために使用される。360度ビデオおよびオーディオファイルは、ビデオID、ビデオタイトル、ラベル、および時間長のような、各ファイルに関連するメタデータを有する。体験データベース126内の360度メディアセグメントは、様々なソースから取得されてもよい。一般に、それらは、まとまった仮想現実体験を一緒に表す対応するスクリプトツリーと共にグループにおいて体験データベース126内に記憶するために取得される。
【００３９】
注釈データベース128は、360度メディアセグメントに関連する注釈と、スクリプトツリーによって許可された可能な注釈選択とを記憶する。注釈データベース128は、各注釈と注釈付き360度ビデオの適切な部分との間の関連付けを維持する。一実施形態では、たとえば、注釈データベース128は、注釈タイプ(たとえば、テキストボックス)の識別子を、そのタイプに関連する任意の情報(たとえば、テキストキャプション)、(たとえば、時刻01:05から時刻01:26までの)注釈が適用される360度ビデオのタイムスタンプ、および注釈が注釈をつける360度ビデオの識別子と一緒に記憶する。
【００４０】
ユーザデータベース130は、仮想現実体験に関連するユーザの記録を維持する。各個人ユーザには、ユーザIDが割り当てられる。ユーザIDは、ユーザのIPアドレス、ユーザ名などのような任意の識別情報に基づくことができる。ユーザデータベース130は、所与のユーザについて、他のユーザとの新しい仮想現実体験を開始するユーザの能力を促進する目的のためのユーザの接続と考えられる他のユーザのアイデンティティのリストを含んでもよい。
【００４１】
例示的なプロセスおよびユースケース
図4は、一実施形態による、協調ライブアクション仮想現実体験を作成するための例示的なプロセスを示すフローチャートである。例示的なプロセスは、図5A〜図5Sに示すユースケースにおいて実証される。
【００４２】
Seanが、モバイルデバイス(クライアント110A)と、自分のモバイルデバイスに通信可能に結合される360度ディスプレイユニット150Aとを所有していると仮定する。Seanは、アプリケーションを開き、フロントエンドサーバ120を介して、体験データベース126内の利用可能な360度ビデオファイルのリストから脇見運転PSAを選択する。クライアント110Aは、仮想現実体験を開始するために、要求410をサーバ施設100に送る。412において、クライアント110Aは、サーバ施設100から、選択されたプログラムを開始するための応答を受信する。
【００４３】
図5Aに戻ると、Seanは、どれくらい多くの人が体験に参加したいかを尋ねられ、Seanは、2人を選択する。Seanは、次に図5Bにおいて、新しいセッションを開始したいのか、または他人のセッションに参加したいのかを尋ねられる。Seanは、「新しいセッションを始める」を選択し、ユーザデータベース130内に含まれる自分の接続のリストを提示される。Seanは、自分の接続のリストからAlisonを選択し、フロントエンドサーバ120は、Seanが作成したセッショに参加するためにAlisonが入力しなければならないコードを表示する。
【００４４】
クライアント110Aは、Alisonのデバイス(クライアント110B)に接続し、360度ディスプレイユニット150Bにも結合されたクライアント110Bに招待状を送るために、ウェブソケットを使用する。クライアント110Bに招待状を送るクライアント110Aに応答して、Alisonは、セッションに参加するためにコードを入力する。図5Cでは、Seanは、Google Cardboardを有しているかどうかを尋ねられ、「はい」を選択する。Seanは、図5Dにおいて、「VRモードに入る」を選択し、脇見運転PSAの再生を開始するために、クライアント110Aを360度ディスプレイユニット150Aに配置する。
【００４５】
図4に戻ると、協調ライブアクション仮想体験を開始するためにクライアント110Aに応答を送ることに応答して、ユーザ選択モジュール122は、体験データベース126からの第1の360度ビデオファイルおよび関連する第1のオーディオファイルにアクセスする(414)。ユーザ選択モジュール122は、第1の360度ビデオファイルおよび第1のオーディオファイルに第1の注釈を関連付け(416)、注釈データベース128から第1の注釈を検索する。ユーザ選択モジュール122は、次いで、360度ビデオファイルと、関連するオーディオファイルと、注釈とを含む360度メディアセグメントを、クライアント110Aにおいて表示するためにビデオプレーヤ140に送る。
【００４６】
418において、ビデオプレーヤ140は、360度ディスプレイユニット150Aにおいて360度メディアセグメントを提示する。いくつかの実施形態では、注釈は、1つの注釈オプションのみを含む。たとえば、クライアント110Aにおいて、第1の360度メディアセグメントは、選択されたビデオの再生を開始するための命令を含む。図5E〜図5Gでは、Seanは、360度ディスプレイユニット150Aの物理的な動きの形態においてユーザ入力を提供し、「今すぐ再生」注釈の選択を示す。360度ディスプレイユニット150Aは、入力を検出し(420)、解釈するために入力をユーザ選択モジュール122に伝達する。ユーザ選択モジュール122は、「今すぐ再生」入力に応答して体験データベースからどの360度メディアセグメントを検索するのかを決定するために、入力をスクリプトツリーと比較する。ユーザ選択モジュール422は、次いで、体験データベース126から第2の360度ビデオファイルおよび関連するオーディオファイルを検索し、注釈データベース128から第2の注釈424を検索する。ユーザ選択モジュール122は、次いで、クライアント110Aにおいて第2の360度メディアセグメントの再生を開始するようにビデオプレーヤ140Aに指示する。
【００４７】
ビデオプレーヤ140は、第2の360度メディアセグメントの再生を開始する(426)。他の実施形態では、注釈は、2つ以上の注釈オプションを含む。たとえば、図5Hでは、ビデオプレーヤ140は、360度ディスプレイユニット150Aにおいて、SeanにJessまたはMikeのどちらの視点から脇見運転PSAを体験するのかを選択するように尋ねる注釈を表示する。図5Iでは、Seanは、「Jess」注釈の選択を示すユーザ入力を提供する。ユーザ選択モジュール122は、入力を解釈し、選択されたノードに関連する360度メディアセグメントの再生を開始するようにビデオプレーヤ140に指示する。
【００４８】
図5Jでは、ビデオプレーヤ140は、第3の360度メディアセグメントの再生を開始する。Seanが「Mike」注釈を選択したと仮定すると、ビデオプレーヤ140は、「JASSMINEに続く」または「JESSの方法で行く」のどちらかを選択するようにSeanに求める注釈を提示する。図5Kでは、Seanは、ユーザ選択モジュール122が図5Lにおける「JESSの方法で行く」ノードの選択として解釈するユーザ入力を提供し、ビデオプレーヤ140に、対応する360度メディアセグメントの再生を開始するように指示する。
【００４９】
図5Mは、4つの注釈オプションを有する360度メディアセグメントを示す。Seanは、テクノ、ポップ、ディスコ、またはヒップポップミュージックのどれを再生するのかを選択するように求められる。図5Nでは、Seanは、図5Oにおいて「ポップ」ノードの選択を示すユーザ入力を提供する。ユーザ選択モジュール122は、入力を解釈し、ビデオプレーヤ140に、選択されたノードに対応する360度メディアセグメントを再生するように指示する。一実施形態では、注釈オプションの選択は、選択されたオプションに関連する360度メディアセグメント全体の即時の再生を引き起こす。別の実施形態では、注釈オプションの選択は、ビデオプレーヤ140が360度メディアセグメントの一部の再生を遅らせるように、遅らせた応答を引き起こす。たとえば、ビデオプレーヤ140は、Seanのポップミュージックの選択に関連する360度ビデオファイルの再生を開始してもよいが、ビデオプレーヤ140は、指定された時間期間の間、ポップミュージックを含む対応するオーディオファイルの再生を遅らせてもよい。
【００５０】
いくつかの実施形態では、クライアント110Aとクライアント110Bの両方のユーザは、注釈を提示され、表示された注釈オプションから選択するように求められる。たとえば、図5Pでは、ビデオプレーヤ140は、クライアント110Aおよび110Bにおいて2つの注釈オプションを有する注釈を表示する。SeanとAlisonの両方は、「キスする」と「キスしない]との間で選択するように求められる。図5Qでは、Seanは、「キスする」ノードの選択を示すユーザ入力を提供する。しかしながら、第3の注釈は、両方のプレーヤからの入力を必要とするので、ユーザ選択モジュール122は、Alisonも「キスする」注釈オプションを選択しない限り、ビデオプレーヤ140Aに、「キスする」ノードに関連する360度メディアセグメントを再生するように指示しない。
【００５１】
図5Rでは、ビデオプレーヤ140は、Alisonも「キスする」注釈オプションを選択したことを示す、「キスする」注釈オプションの選択を表示する。クライアント110Aは、Alisonの選択を示すクライアント110Bからのデータパケットを受信し、ビデオプレーヤ140Aおよび140Bに、両方のプレーヤの注釈選択に対応する360度メディアセグメントを再生するように指示する。スクリプトツリーは、ノードごとに複数のビデオを含むので、ユーザ選択モジュール122は、仮想現実体験における同じイベントの各ユーザの視線を表す異なるビデオをクライアント110Aおよび110Bの各々に送る。
【００５２】
図5Sは、脇見運転PSAを完結する。ビデオプレーヤ140は、「成功しました」という注釈を含む最終360度メディアセグメントを再生する。最終注釈は、SeanまたはAlisonに複数の注釈オプションの中から選択することを促さず、代わりに、協調ライブアクション仮想現実体験の結論を示す。
【００５３】
追加の考慮事項
本発明について、様々な実施形態に関して特に詳細に説明してきたが、当業者は、本発明が他の実施形態において実施されてもよいことを理解するであろう。加えて、当業者は、本開示の以下の態様を理解するであろう。第1に、構成要素の特定の命名、用語の大文字使用、属性、データ構造、または任意の他のプログラミングもしくは構造的態様は、必須でも重要でもなく、本発明またはその特徴を実装するメカニズムは、異なる名称、フォーマット、またはプロトコルを有してもよい。第2に、システムは、説明したようにハードウェアとソフトウェアとの組合せによって、または完全にハードウェア要素によって実装されてもよい。第3に、本明細書で説明した様々なシステム構成要素間の機能の特定の分割は、単なる例示であり、必須ではなく、単一のシステム構成要素によって実行される機能は、代わりに、複数の構成要素によって実行されてもよく、複数の構成要素によって実行される機能は、代わりに、単一の構成要素によって実行されてもよい。
【００５４】
上記の説明のいくつかの部分は、情報に対する動作のアルゴリズムおよび記号表現に関して本発明を説明している。これらのアルゴリズムの説明および表現は、データ処理技術の当業者によって、彼らの仕事の本質を他の当業者に最も効果的に伝えるために使用される。これらの動作は、機能的、計算的、または論理的に説明されているが、コンピュータプログラム、または同等の電気回路、マイクロコードなどによって実施されることが理解される。さらに、一般性を失うことなく、これらの動作の構成をモジュールと呼ぶことがときには便利であることも証明されている。説明した動作およびそれらの関連するモジュールは、ソフトウェア、ファームウェア、またはハードウェアにおいて具体化されてもよい。
【００５５】
加えて、様々な量、データ値、および計算を説明するために使用される用語は、適切な物理量と関連していると理解され、これらの量に適用される単なる便利なラベルである。以下の議論から明らかなように特に明記しない限り、説明を通して、「処理する」または「計算する」または「算出する」または「決定する」などのような用語を利用する議論は、コンピュータシステムメモリもしくはレジスタ、または他のそのような情報記憶デバイス、送信デバイス、もしくは表示デバイス内の物理的(電子)量として表されたデータを操作し変換するコンピュータシステムまたは同様の電子コンピューティングデバイスのアクションおよびプロセスを指すことが認識される。
【００５６】
最後に、本明細書で使用される文言は、主に可読性および教授目的のために選択されており、本発明の主題を描写または制限するために選択されていないことがあることに留意すべきである。したがって、本発明の開示は、以下の特許請求の範囲に記載されている本発明の範囲の例示であることを意図しており、限定であることを意図していない。
【符号の説明】
【００５７】
100  サーバ施設
110A  クライアント
110B  クライアント
120  フロントエンドサーバ
126  体験データベース
122  ユーザ選択モジュール
128  注釈データベース
130  ネットワーク、ユーザデータベース
140A  ビデオプレーヤ
140B  ビデオプレーヤ
150A  360度ディスプレイユニット
150B  360度ディスプレイユニット
【図１】
2019528594.tif 000003
【図２Ａ】
2019528594.tif 000004
【図２Ｂ】
2019528594.tif 000005
【図２Ｃ】
2019528594.tif 000006
【図３】
2019528594.tif 000007
【図４】
2019528594.tif 000008
【図５Ａ】
2019528594.tif 000009
【図５Ｂ】
2019528594.tif 000010
【図５Ｃ】
2019528594.tif 000011
【図５Ｄ】
2019528594.tif 000012
【図５Ｅ】
2019528594.tif 000013
【図５Ｆ】
2019528594.tif 000014
【図５Ｇ】
2019528594.tif 000015
【図５Ｈ】
2019528594.tif 000016
【図５Ｉ】
2019528594.tif 000017
【図５Ｊ】
2019528594.tif 000018
【図５Ｋ】
2019528594.tif 000019
【図５Ｌ】
2019528594.tif 000020
【図５Ｍ】
2019528594.tif 000021
【図５Ｎ】
2019528594.tif 000022
【図５Ｏ】
2019528594.tif 000023
【図５Ｐ】
2019528594.tif 000024
【図５Ｑ】
2019528594.tif 000025
【図５Ｒ】
2019528594.tif 000026
【図５Ｓ】
2019528594.tif 000027
【手続補正書】
【提出日】平成31年1月18日(2019.1.18)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
仮想現実環境を作成する方法であって、前記方法が、
第1のクライアントデバイスから、仮想現実環境コンピュータプログラムを開始する要求を送るステップであって、前記第1のクライアントデバイスが第1の360度ディスプレイユニットに関連する、ステップと、
前記仮想現実環境コンピュータプログラムを開始する応答を、前記第1のクライアントデバイスにおいて受信するステップと、
ビデオデータベースからの第1の360度ビデオファイルに、サーバによってアクセスするステップであって、前記第1の360度ビデオファイルが、前記第1の360度ビデオファイルに関連する注釈に応答したユーザ入力に基づいて前記仮想現実環境を編成するスクリプトツリーを介して複数の360度ビデオファイルにリンクされる、ステップと、
前記スクリプトツリーからの前記第1の360度ビデオファイルに関連する第1の注釈に、前記サーバによってアクセスするステップと、
前記第1のクライアントデバイスの前記第1の360度ディスプレイユニットを使用して、前記第1の360度ビデオファイルを、前記第1のクライアントデバイスによって提示するステップと、
前記第1のクライアントデバイスの前記第1の360度ディスプレイユニットを使用して、かつ第2のクライアントデバイスの第2の360度ディスプレイユニットを使用して、前記第1の注釈を視覚的に提示するステップと、
前記第1の注釈に応答して、前記第1のクライアントデバイスから第1のユーザ入力を受信し、かつ前記第2のクライアントデバイスから第2のユーザ入力を受信するステップと、
前記第1のユーザ入力および前記第2のユーザ入力に基づいて前記スクリプトツリー内の後続ノードを、前記サーバによって識別するステップと、
前記後続ノードに基づいて前記第1のクライアントデバイスのために第2の360度ビデオファイルおよび第2の注釈に、前記サーバによってアクセスするステップであって、前記第2の360度ビデオファイルおよび前記第2の注釈が、前記スクリプトツリーによって決定されるように前記第1の注釈に応答した前記第1のユーザ入力および前記第2のユーザ入力に基づいてアクセスされる、ステップと、
前記第2のクライアントデバイスの前記第2の360度ディスプレイユニットが前記スクリプトツリー内の前記後続ノードにも関連する第3の360度ビデオファイルおよび第3の注釈を同時に提示している間、前記第1のクライアントデバイスの前記第1の360度ディスプレイユニットを使用して前記第2の360度ビデオファイルおよび前記第2の注釈を、前記第1のクライアントデバイスによって視覚的に提示するステップであって、前記第2の360度ビデオファイルおよび前記第3の360度ビデオファイルが、異なる視線からの前記仮想現実環境における同じイベントを表す、ステップと
を含む、方法。
【請求項２】
前記ユーザ入力が、ユーザの物理的な動きに応答した前記第1の360度ディスプレイユニットの動きを介して提供される、請求項1に記載の方法。
【請求項３】
前記スクリプトツリーの複数のノードの各々が、前記スクリプトツリー内でそのノードに先行する少なくとも1つのノードと、前記スクリプトツリー内でそのノードに続く少なくとも1つのノードとを有する、請求項1または2に記載の方法。
【請求項４】
前記第2の360度ビデオファイルおよび前記第2の注釈に応答した前記第1のクライアントデバイスによるユーザ入力に応答して、前記第1のクライアントデバイスの前記第1の360度ディスプレイユニットを使用して、第4の360度ビデオファイルおよび第4の注釈を、前記第1のクライアントデバイスによって視覚的に提示するステップをさらに含む、請求項1から3のいずれか一項に記載の方法。
【請求項５】
前記スクリプトツリーのノードが、2つ以上のアウトバウンドエッジを有し、各アウトバウンドエッジが、1人または複数のユーザによって行われ得る選択に関連する、請求項1から4のいずれか一項に記載の方法。
【請求項６】
前記スクリプトツリーの複数のノードが複数の360度ビデオファイルに対応し、前記方法が、前記スクリプトツリーの前記複数のノードの各々において、異なる360度ビデオファイルを各クライアントデバイスに提示するステップを含む、請求項1から5のいずれか一項に記載の方法。
【請求項７】
前記第2の360度ビデオファイルおよび前記第2の注釈に応答した前記第1のクライアントデバイスによるユーザ入力に応答して、前記第1のクライアントデバイスの前記第1の360度ディスプレイユニットを使用して、第4の360度ビデオファイルおよび第4の注釈を、前記第1のクライアントデバイスによって視覚的に提示するステップと、
前記第4の注釈に応答したユーザ入力を、前記第1のクライアントデバイスにおいて受信するステップと、
前記ユーザ入力に応答して、前記第1のクライアントデバイスの前記第1の360度ディスプレイユニットを使用して、前記第1の360度ビデオファイルおよび前記第1の注釈を、前記第1のクライアントデバイスによって視覚的に提示するステップと
をさらに含む、請求項1から3のいずれか一項に記載の方法。
【請求項８】
前記第2の360度ビデオファイルおよび前記第2の注釈が、前記第1のクライアントデバイスのユーザが第1のプレーヤとして選択されていることに基づいて、前記第1のクライアントデバイスに対してアクセスされ、前記第3の360度ビデオファイルおよび前記第3の注釈が、前記第2のクライアントデバイスの前記ユーザが第2のプレーヤとして選択されていることに基づいて、前記第2のクライアントデバイスに対してアクセスされる、請求項1から7のいずれか一項に記載の方法。
【請求項９】
コンピュータシステムであって、
仮想現実環境を作成するための実行可能プログラムコードを含むコンピュータ可読記憶媒体を備え、前記実行可能プログラムコードが、
第1のクライアントデバイスから、仮想現実環境コンピュータプログラムを開始する要求を送るステップであって、前記第1のクライアントデバイスが第1の360度ディスプレイユニットに関連する、ステップと、
前記仮想現実環境コンピュータプログラムを開始する応答を、前記第1のクライアントデバイスにおいて受信するステップと、
ビデオデータベースからの第1の360度ビデオファイルに、サーバによってアクセスするステップであって、前記第1の360度ビデオファイルが、前記第1の360度ビデオファイルに関連する注釈に応答したユーザ入力に基づいて前記仮想現実環境を編成するスクリプトツリーを介して複数の360度ビデオファイルにリンクされる、ステップと、
前記スクリプトツリーからの前記第1の360度ビデオファイルに関連する第1の注釈に、前記サーバによってアクセスするステップと、
前記第1のクライアントデバイスの前記第1の360度ディスプレイユニットを使用して、前記第1の360度ビデオファイルを、前記第1のクライアントデバイスによって提示するステップと、
前記第1のクライアントデバイスの前記第1の360度ディスプレイユニットを使用して、かつ第2のクライアントデバイスの第2の360度ディスプレイユニットを使用して、前記第1の注釈を視覚的に提示するステップと、
前記第1の注釈に応答して、前記第1のクライアントデバイスから第1のユーザ入力を受信し、かつ前記第2のクライアントデバイスから第2のユーザ入力を受信するステップと、
前記第1のユーザ入力および前記第2のユーザ入力に基づいて前記スクリプトツリー内の後続ノードを、前記サーバによって識別するステップと、
前記後続ノードに基づいて、前記第1のクライアントデバイスのための第2の360度ビデオファイルおよび第2の注釈に、前記サーバによってアクセスするステップであって、前記第2の360度ビデオファイルおよび前記第2の注釈が、前記スクリプトツリーによって決定されるように前記第1の注釈に応答した前記第1のユーザ入力および前記第2のユーザ入力に基づいてアクセスされる、ステップと、
前記第2のクライアントデバイスの前記第2の360度ディスプレイユニットが前記スクリプトツリー内の前記後続ノードにも関連する第3の360度ビデオファイルおよび第3の注釈を同時に提示している間、前記第1のクライアントデバイスの前記第1の360度ディスプレイユニットを使用して前記第2の360度ビデオファイルおよび前記第2の注釈を、前記第1のクライアントデバイスによって視覚的に提示するステップであって、前記第2の360度ビデオファイルおよび前記第3の360度ビデオファイルが、異なる視線からの前記仮想現実環境における同じイベントを表す、ステップと
を含む動作を前記第1のクライアントデバイスまたは前記サーバに実行させる、コンピュータシステム。
【請求項１０】
前記ユーザ入力が、ユーザの物理的な動きに応答した前記第1の360度ディスプレイユニットの動きを介して提供される、請求項9に記載のコンピュータシステム。
【請求項１１】
前記スクリプトツリーの複数のノードの各々が、そのノードに先行する少なくとも1つのノードと、そのノードに続く少なくとも1つのノードとを有する、請求項9または10に記載のコンピュータシステム。
【請求項１２】
前記スクリプトツリーの複数のノードが、複数の360度ビデオファイルに対応し、前記動作が、前記スクリプトツリーの前記複数のノードの各々において、各クライアントデバイスに提示することになる異なる360度ビデオファイルを、前記第1のクライアントデバイスによって提示するステップを含む、請求項9から11のいずれか一項に記載のコンピュータシステム。
【請求項１３】
前記動作が、
前記第2の360度ビデオファイルおよび前記第2の注釈に応答した前記第1のクライアントデバイスによるユーザ入力に応答して、前記第1のクライアントデバイスの前記第1の360度ディスプレイユニットを使用して、第4の360度ビデオファイルおよび第4の注釈を、前記第1のクライアントデバイスによって視覚的に提示するステップと、
前記第4の注釈に応答したユーザ入力を、前記第1のクライアントデバイスにおいて受信するステップと、
前記ユーザ入力に応答して、前記第1のクライアントデバイスの前記第1の360度ディスプレイユニットを使用して、前記第1の360度ビデオファイルおよび前記第1の注釈を、前記第1のクライアントデバイスによって視覚的に提示するステップと
をさらに含む、請求項9から12のいずれか一項に記載のコンピュータシステム。
【請求項１４】
コンピュータ実行可能命令を記憶するコンピュータ可読記憶媒体であって、前記コンピュータ実行可能命令は、実行に応答して、プロセッサを備える第1のクライアントデバイスまたはサーバに、
前記第1のクライアントデバイスから、仮想現実環境コンピュータプログラムを開始する要求を送るステップであって、前記第1のクライアントデバイスが第1の360度ディスプレイユニットに関連する、ステップと、
前記仮想現実環境コンピュータプログラムを開始する応答を、前記第1のクライアントデバイスにおいて受信するステップと、
ビデオデータベースからの第1の360度ビデオファイルに、前記サーバによってアクセスするステップであって、前記第1の360度ビデオファイルが、前記第1の360度ビデオファイルに関連する注釈に応答したユーザ入力に基づいて前記仮想現実環境を編成するスクリプトツリーを介して複数の360度ビデオファイルにリンクされる、ステップと、
前記スクリプトツリーからの前記第1の360度ビデオファイルに関連する第1の注釈に、前記サーバによってアクセスするステップと、
前記第1のクライアントデバイスの前記第1の360度ディスプレイユニットを使用して、前記第1の360度ビデオファイルを、前記第1のクライアントデバイスによって提示するステップと、
前記第1のクライアントデバイスの前記第1の360度ディスプレイユニットを使用して、かつ第2のクライアントデバイスの第2の360度ディスプレイユニットを使用して、前記第1の注釈を視覚的に提示するステップと、
前記第1の注釈に応答して、前記第1のクライアントデバイスから第1のユーザ入力を受信し、かつ前記第2のクライアントデバイスから第2のユーザ入力を受信するステップと、
前記第1のユーザ入力および前記第2のユーザ入力に基づいて前記スクリプトツリー内の後続ノードを、前記サーバによって識別するステップと、
前記後続ノードに基づいて、前記第1のクライアントデバイスのために第2の360度ビデオファイルおよび第2の注釈に、前記サーバによってアクセスするステップであって、前記第2の360度ビデオファイルおよび前記第2の注釈が、前記スクリプトツリーによって決定されるように前記第1の注釈に応答した前記第1のユーザ入力および前記第2のユーザ入力に基づいてアクセスされる、ステップと、
前記第2のクライアントデバイスの前記第2の360度ディスプレイユニットが前記スクリプトツリー内の前記後続ノードにも関連する第3の360度ビデオファイルおよび第3の注釈を同時に提示している間、前記第1のクライアントデバイスの前記第1の360度ディスプレイユニットを使用して前記第2の360度ビデオファイルおよび前記第2の注釈を、前記第1のクライアントデバイスによって視覚的に提示するステップであって、前記第2の360度ビデオファイルおよび前記第3の360度ビデオファイルが、異なる視線からの前記仮想現実環境における同じイベントを表す、ステップと
を含む動作を実行させる、コンピュータ可読記憶媒体。
【請求項１５】
前記ユーザ入力が、ユーザの物理的な動きに応答した前記第1の360度ディスプレイユニットの動きを介して提供される、請求項14に記載のコンピュータ可読記憶媒体。
【請求項１６】
前記スクリプトツリーの複数のノードの各々が、そのノードに先行する少なくとも1つのノードと、そのノードに続く少なくとも1つのノードとを有する、請求項14または15に記載のコンピュータ可読記憶媒体。
【請求項１７】
前記スクリプトツリーの複数のノードが、複数の360度ビデオファイルに対応し、前記動作が、前記スクリプトツリーの前記複数のノードの各々において、異なる360度ビデオファイルを各クライアントに、前記第1のクライアントデバイスによって提示するステップを含む、請求項14から16のいずれか一項に記載のコンピュータ可読記憶媒体。
【請求項１８】
前記第2の360度ビデオファイルおよび前記第2の注釈に応答した前記第1のクライアントデバイスによるユーザ入力に応答して、前記第1のクライアントデバイスの前記第1の360度ディスプレイユニットを使用して、第4の360度ビデオファイルおよび第4の注釈を、前記第1のクライアントデバイスによって視覚的に提示するための命令と、
前記第4の注釈に応答したユーザ入力を、前記第1のクライアントデバイスにおいて受信するための命令と、
前記ユーザ入力に応答して、前記第1のクライアントデバイスの前記第1の360度ディスプレイユニットを使用して、前記第1の360度ビデオファイルおよび前記第1の注釈を、前記第1のクライアントデバイスによって視覚的に提示するための命令と
をさらに含む、請求項14から17のいずれか一項に記載のコンピュータ可読記憶媒体。
【国際調査報告】
2019528594.tif 000028
2019528594.tif 000029
2019528594.tif 000030