(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-11-26
(45)【発行日】2024-12-04
(54)【発明の名称】ライブイベントの共有可能な視点をライブストリーミングすることによる、ローカル体験のシミュレーション
(51)【国際特許分類】
H04N 21/258 20110101AFI20241127BHJP
H04N 21/235 20110101ALI20241127BHJP
H04L 67/131 20220101ALI20241127BHJP
H04L 67/63 20220101ALI20241127BHJP
【FI】
H04N21/258
H04N21/235
H04L67/131
H04L67/63
(21)【出願番号】P 2023144058
(22)【出願日】2023-09-06
(62)【分割の表示】P 2020564050の分割
【原出願日】2019-02-06
【審査請求日】2023-09-26
(32)【優先日】2018-02-06
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】519379400
【氏名又は名称】フェニックス リアル タイム ソリューションズ, インコーポレイテッド
(74)【代理人】
【識別番号】110000062
【氏名又は名称】弁理士法人第一国際特許事務所
(72)【発明者】
【氏名】ブスタマンテ, ファビアン
(72)【発明者】
【氏名】ビーラー, ステファン
【審査官】大西 宏
(56)【参考文献】
【文献】特開2016-032229(JP,A)
【文献】特開2016-213808(JP,A)
【文献】特表2008-520163(JP,A)
【文献】特表2008-522490(JP,A)
【文献】特表2017-527230(JP,A)
【文献】米国特許出願公開第2012/0004956(US,A1)
【文献】米国特許出願公開第2014/0241415(US,A1)
【文献】米国特許出願公開第2016/0353148(US,A1)
【文献】米国特許出願公開第2017/0359624(US,A1)
【文献】国際公開第2016/202886(WO,A1)
【文献】国際公開第2017/161281(WO,A1)
【文献】Kashif Bilal; Aiman Erbad; Mohamed Hefeeda,Crowdsourced Multi-View Live Video Streaming using Cloud Computing,IEEE Access,Volume: 5,米国,IEEE,2017年07月07日,pp. 12635 - 12647,https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=7971913
(58)【調査した分野】(Int.Cl.,DB名)
H04N 21/00 -21/858
H04L 67/00 -67/75
(57)【特許請求の範囲】
【請求項1】
プロセッサ
と、
メモリ
を備えるサーバコンピュータシステムであって、
前記メモリが、
前記プロセッサによって実行される
と、
前記サーバコンピュータシステムに以下を実行させる命令
:
複数のクライアントデバイスをネットワーク経由で相互接続
させる命令であって、
前記複数のクライアントデバイスの
ローカルグループが、ライブイベント会場に位置し、そして
遠隔グループが、前記
ライブイベント会場から遠隔に位置し、そして
前記
ローカルグループの各クライアントデバイスが、
別のクライアントデバイスによってレンダリングされると、前記ライブイベント会場の
見晴らしの良いポイントを表示
する
可能性がある、ライブストリームのソースである、
命令;
サブスクリプションサービスのサブスクリプションリストを動的に更新させる、命令であって、
ライブイベン
トを能動的にライブストリーミングし
ている前記
ローカルグループの
如何なるクライアントデバイスの標示も含
ませ、そして
前記ライブイベント
のライブストリーミングを
終了した前記
ローカルグループの
如何なるクライアントデバイスの標示も削除
させる、
命令;
前記
更新されたサブスクリプションリス
トの如何なるクライアントデバイス
の如何なるライブストリームへの選択的なアクセス
も可能に
させる、
命令;そして
前記
更新されたサブスクリプションリストから削除された
如何なるクライアントデバイ
スの如何なるライブストリームへのアクセス
も無効に
させる
、
命令、
を含む
、
サーバコンピュータシステム。
【請求項2】
更に、ライブイベントのライブストリームの
以前のソースであっ
たクライアントデバイスの
標示を含
む別のサブスクリプションリスト
に、前記削除された標示を
加えさせる、
請求項1に記載のシステム。
【請求項3】
更に、前記ライブイベントの
見晴らしの良い特定ポイントに対するクエリを
受信させ;そして
前記クエリに応
じて、
前記サブスクリプションリストで、前記クエリを満足する如何なるクライアントデバイスも検索させる、
請求項1に記載のシステム。
【請求項4】
更に、前記ローカルグループの第1のクライアントデバイスが、前記ローカルグループの第2のクライアントデバイスによりキャプチャされた第1の見晴らしの良いポイントを表示することを可能にさせ、
前記第2のクライアントデバイスが、前記更新されたサブスクリプションリストから選択される、
請求項1に記載のシステム。
【請求項5】
更に、前記ローカルグループの第1のクライアントデバイスが、前記ローカルグループの第2のクライアントデバイスによりキャプチャされた第2の見晴らしの良いポイントを表示する間に、第1の見晴らしの良いポイントをライブストリーミングすることを可能にさせ、
前記第2のクライアントデバイスが、前記更新されたサブスクリプションリストから選択される、
請求項1に記載のシステム。
【請求項6】
更に、前記遠隔グループの第1のクライアントデバイスが、前記ローカルグループの第2のクライアントデバイスによりキャプチャされた前記ライブイベントの第1の見晴らしの良いポイントを表示することを可能にさせ、
前記第2のクライアントデバイスが、前記更新されたサブスクリプションリストから選択される、
請求項1に記載のシステム。
【請求項7】
更に、2つのクライアントデバイスが、共通のライブストリームを同時にレンダリングすることを可能にさせ、
前記2つのクライアントデバイスが前記ローカルグループに属する、または前記2つのクライアントデバイスの1つが前記遠隔グループに属し、
前記共通のライブストリームのソースが、前記更新されたサブスクリプションリストから選択される、
請求項1に記載のシステム。
【請求項8】
前記更新されたサブスクリプションリストが、前記クライアントデバイスが、ライライブイベントの特定タイプを今までにライブストリーミングした頻度を、標示する、
請求項1に記載のシステム。
【請求項9】
更に、見晴らしの良い特定ポイントの選択の標示を受信させ;そして
前記選択の前記標示に応じて:
前記更新されたサブスクリプションリストで、前記見晴らしの良い特定ポイントを有するクライアントデバイスを検索させ;そして
前記見晴らしの良い特定ポイントのライブストリームを提供させる、
請求項1に記載のシステム。
【請求項10】
前記ローカルグループのクライアントデバイスが、ハンドヘルドモバイルデバイスおよび固定した位置に配置されている静止デバイスを含む、
請求項1に記載のシステム。
【請求項11】
更に、前記ローカルグループと前記遠隔グループのクライアントデバイスの間の仮想対話をホストさせ、
前記仮想対話が、前記ライブイベントでのローカル対話を疑似的に体験する、
請求項1に記載のシステム。
【請求項12】
更に、前記ローカルグループの2つのクライアントデバイスの間の仮想対話をホストさせ、
前記仮想対話が、前記ライブイベントでのローカル対話を疑似的に体験する、
請求項1に記載のシステム。
【請求項13】
更に、前記ローカルグループの異なるクライアントデバイスに基づいて、前記ライブイベント会場の異なる見晴らしの良いポイントの表示の間で選択的スイッチングを可能にさせる、
請求項1に記載のシステム。
【請求項14】
更に、異なるクライアントデバイスの異なるライブストリームの間でサブスクリプションを変更する標示を、特定クライアントデバイスから受信させ;
前記特定クライアントデバイスに、前記異なるクライアントストリームの第1のライブストリームのサブスクライブを解除させ;そして
前記特定クライアントデバイスに、前記異なるクライアントデバイスの第2のライブストリームをサブスクライブさせる、
請求項1に記載のシステム。
【請求項15】
更に、前記ローカルグループの第1のクライアントデバイスから、第1のライブストリームのアクティベーションを検出させ;第2のクライアントデバイスが、前記第1のライブストリームをサブスクライブすることを可能にさせ;そして前記第1のライブストリームのサブスクライブを反映するために前記第2のクライアントデバイスのプロファイルを更新させる、
請求項1に記載のシステム。
【請求項16】
更に、特定クライアントデバイスによりレンダリングされると、ARコンテンツと共に見晴らしの良い特定ポイントを表示させる前記ARコンテンツにより、ライブストリームを拡張させる、
請求項1に記載のシステム。
【請求項17】
更に、複数のライブストリームを時点に対して同期させ、
前記サブスクリプションリストが、同期されたライブストリームを有するクライアントデバイスを含み、そして同期されていないライブストリームを有するクライアントデバイスを排除する、
請求項1に記載のシステム。
【請求項18】
更に、特定クライアントデバイスから、拡張現実(AR)コンテンツの選択の標示を受信させ、そして
前記拡張現実(AR)の前記選択の前記標示に応じて、前記特定クライアントデバイスでレンダリングされた見晴らしの良い特定ポイントを前記拡張現実(AR)コンテンツに重畳させる、
請求項1に記載のシステム。
【請求項19】
システムの少なくとも1つのデータプロセッサにより実行させると、前記システムに以下を実行させる命令:
複数のクライアントデバイスをネットワーク経由で相互接続させる命令であって、
前記複数のクライアントデバイスのローカルグループが、ライブイベント会場に位置し、そして遠隔グループが、前記ライブイベント会場から遠隔に位置し、そして
前記ローカルグループの各クライアントデバイスが、別のクライアントデバイスによってレンダリングされると、前記ライブイベント会場の見晴らしの良いポイントを表示する可能性がある、ライブストリームのソースである、
命令;
サブスクリプションサービスのサブスクリプションリストを動的に更新させる、命令であって、
ライブイベントを能動的にライブストリーミングしている前記ローカルグループの如何なるクライアントデバイスの標示も含ませ、そして
前記ライブイベントのライブストリーミングを終了した前記ローカルグループの如何なるクライアントデバイスの標示も削除させる、
命令;
前記更新されたサブスクリプションリストの如何なるクライアントデバイスの如何なるライブストリームへの選択的なアクセスも可能にさせる
命令;そして
前記更新されたサブスクリプションリストから削除された如何なるクライアントデバイスの如何なるライブストリームへのアクセスも無効にさせる
命令、
が記録されている、非一時的コンピュータ可読格納媒体。
【請求項20】
更に、前記ローカルグループまたは前記遠隔グループの第1のクライアントデバイスが、前記ローカルグループの第2のクライアントデバイスによりキャプチャされた前記ライブイベントの第1の見晴らしの良いポイントを表示することを可能にさせ、
前記第2のクライアントデバイスが、前記更新されたサブスクリプションリストから選択される、
請求項19に記載の非一時的コンピュータ可読格納媒体。
【発明の詳細な説明】
【技術分野】
【0001】
開示された本教示は、ライブイベントに参加する体験を共有することを可能にし、そして参加者間の対話を可能にするプラットフォームに関する。特に、開示された本教示は、ライブイベントから遠隔に位置するユーザとイベントに位置する参列者との間で、ライブイベントの共有体験を可能にし、拡張現実コンテンツにより共有体験を強化することができる。
【背景技術】
【0002】
スポーツゲーム、セミナー、コンサート、または友人および家族とのデモンストレーションのようなライブイベントに参加することは、多くの人々にとって重要な社会的活動である。既存の技術は、ライブイベントから遠隔に位置する個人および互いに遠隔に位置する個人が、ライブイベントの限られた共有体験を体験することを可能にする。例えば、ライブイベントから遠隔に位置する個人は、テレビでそれを見ることが出来る。遠隔に位置する個人は、ユーザのテレビで、レンダリングされたイベントのライブブロードキャストを体験する。別の例では、ライブイベントに位置する観客は、AV信号をレンダリングすることが出来る個人のデバイスにストリーミングされるAV信号として、ライブイベントの画像と音声をキャプチャする携帯電話を使用することにより、遠隔に位置する個人と彼女の体験を共有することが出来る。したがって、遠隔に位置する個人は、ライブイベントの観客の体験を共有することが出来る。換言すると、この個人は、観客の体験の観客である。つまり、体験の「共有」は一方向のみである。
【0003】
さらに、携帯電話によって取得されかつ通信されるライブコンテンツを共有することは、遠隔に位置する個人が、この個人があたかもライブイベントに存在するかのような没入型体験をすることを可能にすることは出来ない。代わりに、この個人は、観客の体験を共有することしか出来ない。何故ならば、この個人は、観客が提供している体験を制御することが出来ないためである。同様に、遠隔に位置する複数の個人は、1人以上の観客の体験を共有することしか出来ないが、この観客は、遠隔に位置する複数の個人の体験を共有することは出来ず、そしてこの同じライブイベントの体験は、遠隔に位置する複数のユーザおよび/または複数の観客間で共有させることは出来ない。したがって、既存の技術では、遠隔に位置する複数の個人およびローカルの複数の観客が、あたかも一緒にライブイベントに参加しているかのような没入型の方法で、ライブイベントを共有することは出来ない。
【発明の概要】
【0004】
開示された本実施態様は、少なくとも1つの方法を含む。この方法は、第1のクライアントデバイスを、第1のクライアントデバイスを含むクライアントデバイスにネットワークを介してライブストリームを配信するプラットフォームに、通信可能に結合することを含む。このライブストリームは、第2のクライアントデバイスを含むライブイベントに位置するソースデバイスによってキャプチャされた視点からのライブイベントのライブブロードキャストを提供する。この方法は、第1のクライアントデバイスから第1の視点の選択の標示を受信することと、第1のライブストリームを第1のクライアントデバイスに通信することとをさらに含む。第1のライブストリームは、第1のソースデバイスによってキャプチャされ、そして第1のクライアントデバイスによってレンダリングされると、第1の視点を第1のクライアントデバイス上に表示させる。
【0005】
開示された本実施態様は、また、プロセッサおよびメモリを含むサーバコンピュータを含む少なくとも1つのシステムを含む。メモリには、プロセッサによって実行されると、ネットワーク経由でクライアントデバイスをサーバコンピュータに相互接続させる命令が、含まれる。クライアントデバイスの少なくとも幾つかは、ライブイベントに位置し、そしてクライアントデバイスの少なくとも幾つかは、ライブイベントから遠隔に位置する。さらに、ライブイベントに位置する各クライアントデバイスは、デバイスによってレンダリングされると、ライブイベントの視点を表示させるライブストリームのソースである。サーバコンピュータシステムは、サブスクリプションリストを動的に更新させて、ライブイベントの視点をライブストリーミングしているクライアントデバイスの何れかを含ませ、そしてライブイベントの視点のライブストリーミングを停止したクライアントデバイスを削除させ、そして任意のクライアントデバイスによる、サブスクリプションリストの任意のクライアントデバイスへの選択的なアクセスを可能にし、そしてサブスクリプションリストから削除されたクライアントデバイスへのアクセスを無効にするサブスクリプションサービスをホストさせることが出来る。
【0006】
開示された本実施態様は、また、少なくとも1つのデバイスを含む。このデバイスの例は、ディスプレイデバイスと、方位センサと、プロセッサと、メモリとを、含むヘッドマウントディスプレイ(HMD)デバイスである。このメモリは、プロセッサによって実行されると、HMDデバイスにライブストリームをレンダリングさせて、ライブイベントの視点を表示デバイスに表示させる命令を含む。ライブストリームは、ライブイベントに位置するソースデバイスで発生し、そしてこのソースデバイスは、ライブイベントの固定位置にある静止デバイスとハンドヘルドモバイルデバイスとを含むことができる。HMDデバイスは、さらに、方位センサの出力に基づいてHMDデバイスの方位の変化を決定させ、そしてHMDデバイスの方位の変化を動的に追跡して、静止デバイスのライブストリームの視点の表示からシームレスに遷移させて、ハンドヘルドモバイルデバイスの別のライブストリームの別の視点を表示させる。
【0007】
この概要は、詳細な説明において以下で詳細に説明される概念の選択を簡略化された形態で紹介するために提供される。この概要は、開示された主題の主要な特徴または本質的な特徴を特定することを意図しておらず、開示された主題の範囲を制限するために使用されることも意図していない。開示される主題の他の態様は、添付の図および詳細な説明から明らかになるであろう。
【図面の簡単な説明】
【0008】
【
図1】本開示の幾つかの実施態様に従う、クライアントデバイスによってユーザインターフェース上に表示されるライブイベントの視点を示す。
【
図2】本開示の幾つかの実施態様に従う、ライブイベントの視点で表示されたライブビデオチャットウィンドウを示す。
【
図3】本開示の幾つかの実施態様に従う、クライアントデバイスによるライブイベントの別の視点の採用を示す図である。
【
図4】本開示の幾つかの実施態様に従う、視点に組み込まれた拡張現実(AR)コンテンツを示す。
【
図5】本開示の幾つかの実施態様に従う、視点に組み込まれたARコンテンツの別の例を示す図である。
【
図6】本開示の幾つかの実施態様に従う、クライアントデバイスで同時に表示され、そしてARコンテンツを含むライブイベントの異なる視点を示す図である。
【
図7】本開示の幾つかの実施態様に従う、ライブイベントの複数の視点を共有するためのプラットフォームを実装するシステムのブロック図である。
【
図8】本開示の幾つかの実施態様に従う、ライブイベントのライブストリームのユーザとソースとの間の関係を示す図である。
【
図9】本開示の幾つかの実施態様に従う、ライブイベントのライブストリームを同期させるためのクライアントとサーバとの間のクロック同期プロセスを示す。
【
図10】本開示の幾つかの実施態様に従う、シーンにグループ化されたパケットから構成されるライブストリームを示す図である。
【
図11】本開示の幾つかの実施態様に従う、ライブストリームのコンテンツをサブスクライブするためのプロセスを示すフローチャートである。
【
図12】開示された本技術の態様を実装するための動作可能なコンピューティングデバイスのブロック図である。
【発明を実施するための形態】
【0009】
下記の実施態様は、当業者が実施態様を実施することを可能にするために必要な情報を表し、実施態様を実施する最良の形態を示す。添付の図に照らして、以下の説明を読むと、当業者は、本開示の概念を理解し、そして本明細書では特に取り上げられていないこれらの概念の用途を認識するであろう。これらの概念および用途は、本開示および添付の特許請求の範囲に含まれることを理解されたい。
【0010】
(幾つかの用語の定義)
本明細書で使用される用語の目的は、実施態様を説明するためのみであり、本開示の範囲を限定することは意図されていない。文脈が許す場合、単数形または複数形を使用する単語は、それぞれ複数形または単数形も含むことができる。
【0011】
本明細書で使用される場合、特に明記しない限り、「処理」、「計算」、「計算」、「決定」、「表示」、「生成」などの用語は、コンピュータのメモリまたはレジスタ内の物理(電子)量として表されるデータを、コンピュータのメモリ、レジスタ、または他のそのような格納媒体、伝送または表示デバイス内の物理量として同様に表される他のデータに、操作および変換する電子コンピューティングデバイスのアクションおよびプロセスを指す。
【0012】
本明細書で使用される場合、用語「接続された」、「結合された」、またはその変形は、2つ以上の要素間の直接または間接の任意の接続または結合を指す。要素間の結合または接続は、物理的、論理的またはそれらの組み合わせとすることができる。
【0013】
本明細書で使用される場合、「ライブ」という用語またはその変形は、リアルタイムまたはほぼリアルタイムで発生することを指すことができる。例えば、ライブイベントは、現在進行中のイベントを指すことができる。ライブブロードキャストまたはライブ送信は、人間が知覚できる遅延なしに、ブロードキャストされる様々なタイプのメディアを指すことができる。ライブストリームは、リアルタイムまたはほぼリアルタイムで同時にキャプチャおよびブロードキャストされる、視聴者が視聴できるメディアのオンラインストリーミングの形態を指すことができる。つまり、ライブストリームとは、リアルタイムまたはほぼリアルタイムのストリーミングを指す。このため、ライブストリーミングは、人間が対話性を認識出来る範囲内で、コンテンツの低レイテンシ配信を提供することが出来る。
【0014】
本明細書で使用される場合、「視点」は、ライブイベントの所与の場所にある見晴らしの良いポイントからの、そして特定のソースデバイスによって提供されるライブイベントのビューを指すことができる。例えば、視点は、フィールドの北東の角に位置するカメラの視点とすることが出来る。
【0015】
本明細書で使用される場合、「拡張現実」(AR:augmented reality)は、幾つかの実施態様の文脈では、現実世界のシーン上の視点に重ねられる(例えば、仮想的にまたは仮想制御により生成される)仮想オブジェクトを指すことができる。
【0016】
(概要)
友人や家族とのスポーツゲーム、トーク、コンサート、デモンストレーションなどのライブイベントに参加することは、多くの人々にとって重要な社会活動である。ネットワーク接続の拡大により、人々のグループは、物理的に互いに遠隔にいるにもかかわらず(例えば、異なる国および大陸にいる場合ですら)、ライブイベントに参加することがますます可能になっている。しかし、今日、ライブイベントの体験を共有することは、ほとんどの場合、全ての視聴者にライブでブロードキャストされる、プロデューサの単一の事前に定義された視点に制限されている。透視は変更させることはできるが、この変更は、プロデューサによって標示され、そして全ての視聴者によって採用される。したがって、他の観客との直接および間接の対話および副次的な会話のような、共有された体験を、思い出に残るものとする多くのものが、失われている。
【0017】
開示された本実施態様および関連するアルゴリズムは、ライブイベントに参加して共有体験を可能にすることにより、これらの欠点を解決する。開示された本実施態様は、参加者が、実世界のライブイベントのシミュレートされた体験を共有することを可能にするプラットフォームおよびそれに関連付けられているシステム、デバイス、および方法を含む。共有体験は、ライブイベントでのローカル対話のシミュレーションを含むことが出来る。これにより、ライブイベントに参加している、またはそこから遠隔に位置する参加者の間の対話が可能になる。例えば、遠隔に位置する参加者は、ローカル参列者の視点を取り入れることが出来る。幾つかの実施態様では、シミュレートされた環境には、シミュレートされた体験を強化するためにライブ拡張現実(AR)が組み込まれる。AR機能は、視聴者の嗜好に基づいて決めることができる。
【0018】
この開示は、当業者が本明細書に記載された実施態様を理解することを確実にするのに十分な詳細を含む。開示された本実施態様は、特定の詳細なしに、または同等の構成で実施することができる。他の例では、本発明の実施態様を不必要に曖昧にすることを回避するために、周知の構造およびデバイスは、ブロック図として表されている。したがって、本説明は、場所の周りに配置された、またはスポーツイベントのプレーヤまたは演劇の俳優のようなライブイベントの参加者に取り付けられた、カメラを含む、コンピューティングデバイス、センサ、およびネットワークの詳細、またはイベントに関連付けられたARコンテンツを生成するための詳細に、焦点を当てていない。これらの態様は、当業者には理解されるであろう。したがって、これらの態様は、簡潔にするためにここでは省略されている。代わりに、この開示は、対話をシミュレートするためのプロトコルと、コンテンツの様々な視点とソースに関連付けられた複数のストリームの適時に同期された配信とに、焦点を当てている。
【0019】
開示される本実施態様は、ライブイベントから遠隔に位置する個人とライブイベントのローカル参列者(まとめて「参加者」と呼ぶ)との間で共有することが出来るライブイベントのシミュレーション体験を提供するためのプラットフォームを実装するシステムを含む。このプラットフォームにより、参加者は、あたかもライブイベントにいるかのように、仮想的に対話をすることが出来る。幾つかの実施態様では、プラットフォームは、ライブイベントの会場の固定位置に戦略的に分散されているカメラとマイクを含むソースデバイス、およびライブイベントに参加している参加者および/またはライブイベントの一部として演じている個人により操作されているモバイルデバイスから、幾つかのライブストリームを取得する。
【0020】
図1は、ライブイベントの体験を他の参加者と共有するローカル対話をシミュレートするために、プラットフォームによって管理されるユーザインターフェース(UI)上のクライアントデバイス(「第1のクライアントデバイス」)によって表示されるライブイベントの視点100を示す。図示の実施態様では、このライブイベント102は、スタジアムでのスポーツゲームである。UIは、ライブストリームをレンダリングして、ライブイベントに位置するソースデバイスの視点100を表示する。視点100は、ライブイベントでのソースデバイス106の位置およびその互いの相対位置を
標示するグラフィックアイコンを含む。
【0021】
ソースデバイス106は、それぞれのライブストリームにより同じライブイベントの異なる視点をブロードキャストする。ソースデバイス106の例には、ライブイベントに位置する参加者によって操作されるモバイルデバイス106-1~106-5、並びに静止デバイス106-6及び106-7が含まれる。静止デバイス106-6及び106-7は、ライブイベントの固定位置に配置されているカメラ(およびマイク)の場所および方向を標示するカメラアイコンにより表されている。図示の例では、カメラは、スタジアムの天井とスタジアムの座席の近くに位置している。モバイルデバイス106-1~106-5の例は、参列者が操作するハンドヘルドモバイルデバイス(例えば、スマートフォン、タブレットコンピュータ)のようなクライアントデバイス、またはライブイベントでプレイしている個人に取り付けられたデバイス(例えば、プレーヤのヘルメット/衣服に取り付けられたデバイス)を含む。
【0022】
視点100をレンダリングする、ユーザアイコンによって標示される第1のクライアントデバイスは、ユーザ108によって操作される。第1のクライアントデバイスは、ローカルに、またはライブイベントから遠隔に位置することが出来る。したがって、第1のクライアントデバイスが、ライブイベント102から遠隔に位置する場合、第1のクライアントデバイスは、ライブイベントのローカル体験をシミュレートする。もし、第1のクライアントデバイスが、ライブイベント102の第1の場所に位置し、そして視点100が、ライブイベントの第2の場所からのものである場合、視点100は、第2の場所にいることをシミュレートする。
【0023】
プラットフォームは、ソースデバイス106のライブストリームを、クライアントデバイスが利用可能なライブイベント102の選択可能な視点として、ホストすることが出来る。視点100をシミュレートするために、第1のクライアントデバイスは、ソースデバイス106からネットワークを介して収集されたライブストリームを配信するプラットフォームに、通信可能に結合される。ライブストリームは、ソースデバイス106によってキャプチャされた視点からのライブイベント102のライブブロードキャストを提供する。動作中、プラットフォームは、第1のクライアントデバイスから視点100の選択の標示を受信し、そしてそれに応じて、視点100のライブストリームを第1のクライアントデバイスに通信する。したがって、ライブストリームは、ソースデバイスによってキャプチャされ、そして第1のクライアントデバイスによってレンダリングされると、視点100を第1のクライアントデバイス上に表示させる。
【0024】
プラットフォームは、(ライブイベント102に位置するまたはそこから遠隔に位置する)第1のクライアントデバイスと、第2のクライアントデバイスであるソースデバイスとの間の仮想対話をホストすることが出来る。ソースデバイスであるクライアントデバイスは、ライブストリームをパブリッシュし、そしてユーザが、テキスト、オーディオ、絵文字などを介して視聴者とライブで対話する、または他のストリームを介して間接的に対話することを可能にする。例えば、ライブイベントの視点をブロードキャストするパブリッシャおよび必ずしもイベントの場所にいない他の参加者は、パブリッシャのアクションまたはブロードキャストのアクションに(例えば、パブリッシャの投票に応じて)コメントすることが出来る。
【0025】
例えば、
図2は、本開示の幾つかの実施態様に従う、ライブイベント102の視点200に表示されるライブビデオチャットウィンドウ202を示す。具体的には、視点200は、ライブイベント102に関しては、視点100と同じであるが、これには、ライブビデオチャットウィンドウ202が組み込まれている。このライブビデオチャットウィンドウ202は、ライブイベント102の別の参加者による、シミュレートされたユーザ108との対話の例である。具体的には、ユーザ108は、視点200を生成するために、ソースデバイス106-1の視点(すなわち、視点100)上に表示されるライブビデオチャットウィンドウ202を介して、ソースデバイス106-1のユーザと対話する。
【0026】
別の例では、第3のクライアントデバイスは、ネットワークによりプラットフォームに通信可能に結合することが出来る。第1のクライアントデバイスおよび第3のクライアントデバイスは、ライブイベントから遠隔におよび互いに遠隔に位置させることができる。このように、プラットフォームは、第1のクライアントデバイスと第3のクライアントデバイスが、ライブイベント102から遠隔に位置するにもかかわらず、ローカル対話をシミュレートする仮想対話をホストすることが出来る。幾つかの実施態様では、第1のクライアントデバイスと別のクライアントデバイスは、ライブイベント102のそれぞれの視点を共有することが出来る。したがって、第1のクライアントデバイスが、ライブイベント102の場所に位置しかつソースデバイスである場合、第1のクライアントデバイスにより別のクライアントデバイスに提供される視点は、視点100からのものとは異なる。
【0027】
別の例では、互いに遠隔に、および/またはライブイベントから遠隔に位置するユーザのグループは、ライブイベントを同時に視聴し、そしてライブイベントに関与している間に互いの視点を動的に採用(または放棄)することが出来る。例えば、
図3は、本開示の幾つかの実施態様に従う、第1のクライアントデバイスによるライブイベント102の視点300の採用を示す。視点300は、ソースデバイス106-2から採用される。したがって、ユーザ108の第1のクライアントデバイスは、ソースデバイス106-2を操作している参加者の透視からの視点300を採用するために、ソースデバイス106-2からのライブストリームをレンダリングしている。
【0028】
したがって、仮想対話は、ライブイベント102のローカル対話を厳密にシミュレートする。対話(例えば、フィードバック、コメント)の即時性およびライブストリーム間の同期は、摩擦のない対話および参加者による高レベルの関与を保証する。定量的に言えば、100ミリ秒未満の一方向の音声遅延に対する人間の知覚の限界は、完全に同期されたビデオと区別がつかないと見なされ、他方、約150ミリ秒の音声遅延は、言葉による意思伝達において受け入れ可能な最低レベルと見なされている。本明細書に開示される実施態様は、これらの考慮事項を実装して、ユーザのグループ間で、マルチソースまたはシングルソースのデジタルデータの同期された利用を可能にする。
【0029】
(拡張現実の視点)
このプラットフォームにより、参加者は、「AR視点」を生成するために拡張現実(AR)コンテンツが組み込まれているライブイベントの視点を体験することができる。サードパーティを含む如何なる人も、このARコンテンツを提供して、共有体験を強化させることができる。例えば、このプラットフォームは、第1のクライアントデバイスから、ARコンテンツの選択の標示を受信することができる。この標示に応じて、このプラットフォームは、第1のクライアントデバイスによってレンダリングされると、第1のクライアントデバイスが、ARコンテンツをライブストリームの視点に重ねることにより、ARコンテンツによりライブストリームを拡張することが出来る。したがって、ライブストリームの修正されていない視点は、ARコンテンツにより強化させることが出来る。このプラットフォームは、第1のクライアントデバイスによってレンダリングされると、AR視点を表示するARコンテンツにより、ライブストリームを自動的に拡張することも出来る。
【0030】
ARコンテンツは、ライブのARコンテンツまたはライブイベントに関連付けられている、事前に記録されたARコンテンツとすることができる。このARコンテンツの例には、ライブ解説、プレーヤの統計、他の参加者からキュレーションされたコンテンツ、広告、ライブイベントまたは会場に関する情報、場所ベースの情報、またはそれらの組み合わせが含まれる。例えば、参加者は、サードパーティによって作成されそしてライブストリームに埋め込まれたARコンテンツとして、プラットフォームによって配信されるARコンテンツを、サブスクライブすることが出来る。このように、参加者が体験するライブイベントは、ARコンテンツにより充実したものとなる。
【0031】
図4は、本開示の幾つかの実施態様に従う、ライブイベントのシミュレートされた体験を向上させるように表示されているARコンテンツの例が組み込まれている、レンダリングされたライブストリームの視点400を示す。具体的には、視点400は、ライブイベント102に関しては視点100と同じであるが、これにはARコンテンツ402が組み込まれている。図示の例では、ユーザ108には、視点400で購入用ピザを提供する仮想販売者としてレンダリングされるARコンテンツ402が、提示されている。この仮想販売者は、ライブイベント102には存在していないので、視点100を提供する修正されていない元のライブストリームには含まれていない。それにもかかわらず、この販売者は、あたかも、この仮想販売者との対話が、ライブイベント102で実際に起こりつつあるかのように、視点400に現れる。同じ視点100を採用している別の参加者は、ARコンテンツのソース、参加者の嗜好などに応じて、同じまたは異なるARコンテンツを見ることができる。
【0032】
別の例では、ARコンテンツは、関心のあるアスリート、関心のあるチーム、トーナメント、またはフィールドの状態に関する情報を提供するために、自動的にまたは選択的にレンダリングさせることができる。例えば、表示されている視点は、フィールドが濡れているか、またはフィールド全体に吹いている風は穏やかであるかについての情報により、拡張させることができるであろう。
図5は、本開示の幾つかの実施態様に従う、視点に組み込まれたARコンテンツの別の例を示す。図示されるように、AR視点500は、視点100を強化するために表示されるARコンテンツ502を含む。ARコンテンツは、ソースデバイス106-5に関連付けられているアスリートに関する情報を含み、そしてAR視点500をレンダリングするためにライブイベント102の視点100に重ねて表示される。
【0033】
幾つかの実施態様では、プラットフォームは、クライアントデバイスが、同じARコンテンツを含む複数の視点を同時に視聴することを可能にすることが出来る。例えば、
図6は、第1のクライアントデバイスのUI上に同時に表示された同じライブイベント102の異なる視点600-1および600-2を示す。視点600-1および600-2のそれぞれは、異なる視点からの同じARコンテンツ602を含む。したがって、このプラットフォームは、例えば、サードパーティによって提供される同じまたは異なるARコンテンツを含む複数の視点を、組み合わせることが出来る。
【0034】
(システム環境)
図7は、本開示の幾つかの実施態様に従う、ライブイベントの複数の視点を共有するためのプラットフォームを実装するシステムのブロック図である。システム700は、インターネットのような1つまたは複数のネットワーク708を介して相互接続されている、1つまたは複数のサーバコンピュータ702、専用ソースデバイス704(例えば、カメラ)、およびクライアントデバイス706を含む。図示されるように、ソースデバイス704は、サーバ702に向かって一方向でライブストリームを通信する。これに対し、クライアントデバイス706は、サーバ702を介して互いに双方向で通信することが出来る。すなわち、クライアントデバイス706の少なくとも幾つかは、ライブストリームをパブリッシュし、そしてライブストリームを利用することが出来る。
【0035】
動作中、クライアントデバイス706の少なくとも幾つかは、ライブイベントに位置し、そして幾つかはライブイベントから遠隔に位置する。ライブイベントに位置する各クライアントデバイス706は、クライアントデバイスによってレンダリングされると、ライブイベントの視点を表示させる、ライブストリームのソースである。サーバ702は、ライブイベントの視点を、現在、ライブストリーミングしつつあるソースデバイス704および任意のクライアントデバイス706を含ませ、そしてライブイベントの視点のライブストリーミングを停止したデバイスを削除させるように、サブスクリプションリストを動的に更新させることが出来る。サーバ702は、任意のクライアントデバイスによる、サブスクリプションリスト上の任意のクライアントデバイスへの選択的アクセスを可能にし、そしてサブスクリプションリストから削除された任意のクライアントデバイスへのアクセスを無効にするサブスクリプションサービスをホストすることが出来る。
【0036】
ライブイベントから遠隔に位置するクライアントデバイスは、ライブイベントの仮想プレゼンスを提供し、他方、ライブイベントに位置するクライアントデバイスは、ライブイベントの物理的および仮想的プレゼンスの両方を有する。仮想的にしか存在しない場合、参加者は、共有体験に参加するために使用可能な1つ以上のデバイスを持つことができるであろう。例えば、仮想参加者は、外出中にはライブイベントをスマートフォンで体験し、他方、自宅ではライブイベントをタブレットコンピュータを使用して体験することが出来る。参加者は、1つのデバイスから別のデバイスにシームレスに移行して、ライブイベントの継続的な体験を維持することが出来る。
【0037】
参加者は異なるデバイスを使用するので、プラットフォームは、サブスクライブされた参加者のライブストリームをシームレスに更新し、そして参加者のビューを置換または拡張することにより、レンダリングされた環境を調整することが出来る。幾つかの実施態様では、プラットフォームは、例えば、以前にライブイベントのライブストリームのソースであったクライアントデバイスのリストのような他のサブスクリプションリストを動的に更新することが出来る。幾つかの実施態様では、プラットフォームは、クエリに応答して、例えば、ライブイベントの視点を、現在、ライブストリーミングしつつあるクライアントデバイスを検索するための検索操作を可能にすることが出来る。
【0038】
ネットワーク708は、プライベート部分、パブリック部分、有線部分、またはワイヤレス部分の任意の組み合わせを含むことができる。ネットワーク708を介して通信される任意の制御情報またはデータは、ネットワーク708の様々な部分でまたは異なる部分に沿って、暗号化または非暗号化させることができる。システム700の各コンポーネントは、データを処理し、機能を実行し、ネットワーク708を介して通信する等のために、ハードウェアおよび/またはソフトウェアの組み合わせを含むことができる。例えば、システム700の任意のコンポーネントは、プロセッサ、メモリまたはストレージ、ネットワークトランシーバ、ディスプレイ、オペレーティングシステムおよび(例えば、UIを提供するための)アプリケーションソフトウェア等を含むことができる。当業者には周知のシステム700の他のハードウェアまたはソフトウェア構成要素は、簡潔にするために本明細書では図示または説明されていない。
【0039】
ソースデバイス704は、ライブイベントのライブストリームを発生させる任意の電子デバイスを表す。すなわち、ソースデバイス704は、ライブイベントの異なる視点からのライブストリームのソースである。ソースデバイス704およびソースデバイスとして動作させることができる少なくとも幾つかのクライアントデバイス706は、クライアントデバイス706の間で共有可能なライブストリームを同期させるサーバ702にストリーミングされるメディアとして、ライブイベントの画像および/または音声をキャプチャする。このため、プラットフォームの複数の参加者が、参加するライブイベント(スポーツゲーム等)を考えてみよう。これらの参加者は、ローカル参列者または仮想参加者であるにもかかわらず、同じ方法で相互に対話することが出来る。
【0040】
サーバ702に通信されるライブストリームのソースは、それぞれ、アクティブまたは非アクティブにすることが出来る視点を提供する。例えば、非アクティブな視点は、ライブストリーミングには現在利用できない通信チャネルに対応することができる。これに対し、アクティブな視点は、全て、クライアントデバイス706が即時に利用することができる1つ以上のライブストリームを有する。例えば、第1のライブストリームを提供する第1のクライアントデバイスは、対応する第2のライブストリームにアクセスすることにより、第2のクライアントデバイスの透視を採用することが出来る。特定の視点を採用する参加者からのリクエストは、その視点に関連付けられている何れかのソースによって満足させることが出来る。
【0041】
クライアントデバイス706が利用可能な視点は、例えば、クライアントデバイス706のカメラおよびマイクロフォンによってキャプチャされるメディアを含む。視点を共有することにより、クライアントデバイス706の少なくとも幾つかは、他のクライアントデバイスと共有することが出来るライブイベントの視点からの、アクティブでユニークな透視に関与する。他のクライアントデバイスから供給された視点、および会場の場所に配置されたカメラまたはマイクに加えて、ライブストリームのコンテンツの別のソースには、スポーツイベントのプレーヤのようなライブイベントの行為者が使用するデバイスが含まれる(例えば、
図1~3を参照)。例えば、ライブイベントの会場では、プラットフォームによるライブストリーミング用のメディアをキャプチャするために、ソースデバイスは、様々な場所および方向に配置させることが出来る。プラットフォームは、各クライアントデバイスまたは会場の固定位置にある利用可能なカメラから、ネットワーク708を介して様々なライブストリームを収集することが出来る。
【0042】
クライアントデバイス706は、システム700と対話する参加者によって使用されるハンドヘルドモバイルデバイスとして示されている。
図7には3つのクライアントデバイス706-1~706-3しか示されていないが、開示される本実施態様は、これに限定されず、任意の数のハンドヘルドモバイルデバイスを含むことができる。クライアントデバイスの例には、フィーチャーフォンスマートフォン(APPLE IPHONE,SAMUSUNG GALAXY,NOKIA LUMINA等)、タブレットコンピュータ(APPLE IPAD,SAMUSUNG NOTE,AMAZON FIRE,MICROSOFT SURFACE等)、およびネットワーク708を介してサーバ702にアクセスすることが出来る他のデバイスが含まれる。
【0043】
上述したように、プラットフォームは、サーバ702によってホストさせることが出来る。サーバ702は、ソースデバイス704または他のクライアントデバイスからキャプチャされたライブイベントのライブストリームを取得するために、クライアントデバイス706間の対話を容易にする、任意の数のサーバコンピュータを含むことができる。幾つかの実施態様では、サーバ702は、クライアントデバイス706がアクセス可能なサービスとして、プラットフォームを管理する。例えば、サーバ702によって管理されるモバイルアプリは、クライアントデバイス706上に表示されるUIを提供することができる。このUIは、ライブイベントのライブストリームにアクセスするために使用することが出来る。
【0044】
したがって、プラットフォームは、クライアントデバイス706の参加者間の仮想対話を可能にすることにより、参加者間のライブイベントの共有化を容易にする。例えば、クライアントデバイス706は、ライブイベントのある特定の視点からのコンテンツを共有することにより、プラットフォームを介して互いに通信することが出来る。クライアントデバイスは、別の参加者の視点を採用することも出来る。したがって、クライアントデバイス706は、参加者が物理的に一緒の場所にいないにもかかわらず、同じライブイベントの仮想共有体験を可能にする情報および透視を共有することが出来る。さらに、共有体験を、サードパーティのARコンテンツにより拡張して、上述したような充実した体験のための拡張現実環境を作成することも出来る。
【0045】
プラットフォームは、視聴者グループを定義することが出来る。これは、所与の時点で、ゲームを見ているまたはプレイに参加しているグループのような、所与のライブイベントの拡張された同じ共有体験をサブスクライブしたユーザのセットである。視聴者グループの構成は、ユーザが共有スペースに参加またはそれから離脱するときに、動的に変化することが出来る。幾つかの実施態様では、プラットフォームは、特定のライブストリーミングコンテンツまたはサードパーティコンテンツへのアクセスを制限することが出来る。例えば、プラットフォームは、プライベートライブストリームへのアクセスが制限された視聴者グループを定義し、そしてアクセスが制限されていないパブリックライブストリームを定義することが出来る。幾つかの実施態様では、プラットフォームは、各ライブストリームのアクセスレベルを設定することが出来る。プライベートレベルは、幾つかのクライアントデバイスのみに、制限付きアクセスを許可することができる。パブリックレベルは、任意のクライアントデバイスに無制限のアクセスを許可することができる。視点へのアクセスは、そのパブリシャが、例えば、パブリックインターフェイスを提供する幾つかのサードパーティのソーシャルネットワークの親しい友人のような、個人のリストに制限させることができる。
【0046】
クライアントデバイス706は、アクティブでありかつプラットフォームのサービスとして利用可能な視点のライブストリームを、サブスクライブすることが出来る。幾つかの実施態様では、サブスクリプションサービスは、特定のライブイベントを現在ライブストリーミングしつつあるクライアントデバイスのリスト、または定期的にイベントをライブストリーミングする参加者のリストを、含むことができる。このため、ライブイベントの観客は、ライブイベントの他の観客を簡単に検索し、そして彼らの視点をサブスクライブすることが出来る。幾つかの実施態様では、参加者または彼らのデバイスは、ライブイベントに参加し、かつ彼らの視点をサブスライブすることを可能にする他のクライアントデバイスを、サブスクライブすることができる。例えば、プラットフォームは、コンサートに頻繁に参加する観客のリストを提供することができる。参加予定者は、これらの観客が提供する任意のライブストリームのサブスクリプションをリクエストすることが出来る。このため、観客がイベントのライブストリーミングを提供すると、サブスクライブした参加者を変更して、このライブイベントに参加させることが出来る。
【0047】
したがって、ライブイベントに仮想的に存在するが、イベントから遠隔に位置する参加者は、モバイルとすることが出来る別のクライアントデバイスの何れかに対応するソースデバイスまたはライブイベントの固定位置にあるソースデバイスの少なくとも1つの視点に、関連付けられている。したがって、この参加者は必ずその視点を採用する。ライブイベントの任意のローカル参加者は、ライブイベントの固定位置にいる別の観客またはソースデバイスによって提供される少なくとも1つの視点の透視を採用することも出来る。さらに、ライブイベントに物理的にまたは仮想的に存在する参加者は、ライブイベントに物理的にまたは仮想的に存在する他の参加者とリアルタイムまたはほぼリアルタイムで対話し、そして他の視点を採用するまたはそれに変更することにより、彼ら自身の体験を強化することが出来る。
【0048】
(対話、視点の変更、および同期)
上述したように、開示された本実施態様は、あたかも参加者がライブイベントに一緒にいて、自然に対話しているかのように、ライブストリーミングされているイベントの参加者間の仮想対話を可能にする。このために、参加者の仮想対話(例、画像および音声)は、同期させなければならない。したがって、少なくとも幾つかのライブストリームは、ライブイベントのライブブロードキャストの特定の時点に対して同期させる必要がある。幾つかの実施態様では、プラットフォームは、同期されたライブストリームのグループを、同期されたライブストリームのみを含み、そして同期されていないライブストリームを排除する(例えば、クライアントデバイスによるアクセスを、同期されたライブストリームのグループのみに制限する)ものと定義することが出来る。
【0049】
例えば、2人の参加者が、単一の視点をサブスクライブしているシナリオを考えよう。 2人の参加者は、ライブイベントで発生している現在のアクティビティについて議論することを求めることができる。2人の参加者は、同じライブアクティビティのライブストリームを、異なる時間に受信するかもしれない。例えば、ライブストリームが共通のソースから各クライアントデバイスに到達するのにかかる時間は、ソースデバイスとクライアントデバイス間の距離に応じて、またはレイテンシの原因となる要因によって、異なる。例えば、スポーツイベントの観客が操作するカメラを含むソースデバイスは、サブスクライブしている視聴者にライブ送信を提供することができる。第1の参加者をローカルの観客とし、第2の参加者をライブイベントから遠隔の場所にいるものとすることができる。速度が光速によって制限される通信手段が同じであると想定すると、第2の参加者への到着時間は、第1の参加者への到着時間よりも長くなる。もし、それぞれのライブストリームの通信に、レイテンシが異なる、異なる通信手段が、使用されると、到着時間の相違は、さらに悪化する。したがって、異なる場所にいる複数の参加者が、ライブアクティビティについて話そうとするときに、参加者が異なる時刻にライブストリームを受信すると(つまり、ライブストリームが同期されていないため)、共有体験は損なわれる。
【0050】
同様に、参加者がシームレスに別の視点に変更する/別の視点を採用するには、現在の視点のライブストリームと新しい視点のライブストリームを同期させる必要がある。例えば、現在、会場の片側の第1の視点からライブアクティビティを観察しつつあり、そして会場の反対側の別の視点の角度または透視を取り入れようとしている参加者を考えよう。もし、これらの視点が、ソースおよび/または参加者から異なる距離にある場合、参加者は、現在の視点から新しい視点への変更があるときに、ライブイベントの不連続性を体験する可能性がある。例えば、視点が、ソース若しくは参加者、又はその両方に近いか否かに応じて、およびライブストリームが通信されるメディアに応じて、参加者は、簡単なアクティビティを見逃したり、又は簡単なアクティビティを2回見たりすることがある。参加者が、両方の視点を、同じライブイベントの同時の透視または角度として体験するためには、ライブイベントにより近い視点に関連付けられたライブストリームは、ライブストリームがより遠くの視点に到達するのに必要な期間、バッファさせそして遅延させることが出来るであろう。遅延は、2つの視点の距離の差に設定する必要がある。
【0051】
図8は、本開示の幾つかの実施態様に従う、ライブイベントのライブストリームの参加者とソースとの間の関係を示す。参加者のグループは、ライブイベントの視点のライブストリームのサブスクライバである。参加者は、複数の視点を同時にサブスクライブすることが出来、そしてプラットフォームは、それら全てのビューを組み合わせるように適応させることが出来る。カメラおよび他のソースデバイスのグループは、同じライブイベントの様々な視点からのライブストリームを、提供することが出来る。しかしながら、参加者のあるサブセットしか、これらのソースの任意の視点に対し参加者間の自然な対話を可能にするために同期させることが出来るソースのサブセットとは、オーバーラップしない。このサブセットには、視聴者グループと、単一の同期グループとして処理させることが出来る、使用可能な視点とが、含まれる。同期されたグループ内の全てのソース及び対応するライブストリームは、以下で説明されるように、自然な対話を可能にする調和された体験を確実なものとするために、それらのクロックが同期されている。ソースが、新しい視点を作成するまたはそれを既存の視点に追加するためには、ソースは、クロック同期アルゴリズムを実行して、グループクロックとそれ自体のローカルクロックとの間のオフセットを導出しなければならない。
【0052】
(グループクロックの同期)
図9は、本開示の幾つかの実施態様に従う、異なるソースからのライブストリームをレンダリングするためのクライアントデバイス(C)とタイムサーバ(S)との間のクロック同期を示す。具体的には、ライブイベントをライブストリーミングするプロセスは、参加者間での対話時および視点の変更時に調和した体験が確実となるように、複数の視点のクロック同期フェーズを含むことができる。クロック同期フェーズ中に、クライアントは、「タイムサーバ」に接続し、そしてそのサーバ時刻をリクエストする。リクエストを受信した後、サーバは、サーバ時刻(T)に付加される応答を準備する。この時間は、UTCタイムソースのような外部ソースに基づいて設定させることができる。時間応答を含む応答を受け取った後、クライアントは、ローカル時刻をT+RTTe/2に設定する。RTTeは、エポック(e)中の通信の往復時間(RTT)を指す。RTTは、以前のエポック中のクライアントとサーバ間の一連の交換の内の最小RTTとして推定され、これにより、ネットワーク条件の変化を考慮して、エポックの長さが設定される。例えば、クリスチャン(Christian)の時間同期アルゴリズムに少なくとも部分的に基づくこの方法は、RTTが、リクエストの通信と応答の通信との間で均等に分割されることを前提としている。
【0053】
新しいエポックごとに、視点のソースは、所与の同期されたグループ内の他の全てのソースに、以前のRTTeをブロードキャストする。同期を維持するためには、所与の同期グループ内の全ての視点のソースは、全て、相対的に類似しているRTTeを維持しなければならない。もし、ソースの新しいRTTeが、最大値を超えて増加した場合、ソースは、同期されたグループを離れなければならないが、グループのサブスクライバとして残る可能性がある。この最大値は、同じライブイベントのライブストリーム間の相違を人間が知覚することが出来るであろう最小時間に対応することができる。本実施態様が、アプリケーションによっては、外部ソースとの同期を必要としない場合には、代わりに、最小限の変更で他のアルゴリズムを使用することができるであろう。
【0054】
(視点の統合または変更)
図10は、本開示の幾つかの実施態様に従う、シーンにグループ化されるパケットから構成されるライブストリームを示す。図示されるように、ライブストリーム1000は、ライブイベントのシーン1004にグループ化されたパケット1002を含む。クライアントデバイスは、別のソースデバイスの別のライブストリームをレンダリングすることにより、別の視点を採用することが出来る。他のライブストリームのレンダリングは、ライブストリーム1000の次のシーンの開始まで遅延される。したがって、クライアントデバイスは、1つ以上のシーンに対して定義された時点でのみ、別のライブストリームをレンダリングすることが出来る。
【0055】
具体的には、各シーンの開始は、ビューが変化する(例、視点を変更する、ARコンテンツを追加する)ことが出来るライブストリームの離散的な時点である。パケット数によるシーンの長さは、例えば、参加者ごとに動的に構成させることが出来る。幾つかの実施態様では、シーンの長さは、ライブストリームをサブスクライブするのに要する時間と一致する。参加者が視点を選択する、または視点を変更すると、クライアント側コンポーネントは、現在の視点を終了することなく、目的の視点のライブストリームをサブスクライブするプロセスを開始する。もし、サブスクリプションプロセスが成功した場合、クライアントのビューは、変更が開始された後の次のシーンの開始時の新しい視点に変わる。これにより、視点へのシームレスな体験が確実となる。
【0056】
幾つかの実施態様では、各シーンは、利用タイムスタンプ(ConsumptionTS)に関連付けられた一連のフレーム(Frame)によって定義されるデータチャンク(DataChunk)として実装される。各フレームは、フレームID(FramelD)、データタイムスタンプ(DataTS)、およびデータ(Data)を含む。ライブストリームのソースは、サブスクライブした参加者に、データチャンクと共に、データチャンクを参加者の視聴者にいつレンダリングするかを
標示するサーバ側コンポーネントの利用タイムスタンプを含むメタデータを送信することが出来る。これは、以下の式に示される:
【数1】
【0057】
クライアントデバイスがデータチャンクを受信すると、それは、サーバの利用タイムスタンプをクライアントデバイスの利用タイムスタンプに変換することが出来る。もし、クライアントの利用タイムスタンプが、クライアントのクロックの現在の時刻と比較して未来の時刻である場合、クライアントは、ローカルタイムが、利用タイムスタンプに等しいまたはそれ以上の時刻に達するまで、関連するデータチャンクのレンダリング(利用)を待つであろう。データチャンクが、利用タイムスタンプとは異なる時点で、またはそれより過去の時点でクライアントデバイスに到着した場合、クライアントデバイスは、ライブストリームを調整して同期を維持する、またはデータチャンクを破棄することができる。
【0058】
開示された本実施態様は、ARコンテンツまたはライブストリームなどのコンテンツをサブスクライブするためのプロセスを含む。例えば、
図11は、本開示の幾つかの実施態様に従う、ライブストリームのコンテンツをサブスクライブするためのプロセスを示すフローチャートである。ステップ1102において、コンテンツが、参加者によって選択される。例えば、プラットフォームは、参加者がARコンテンツを選択するためのオプションを、クライアントデバイスに表示させることができる。
【0059】
オプションのステップ1104において、ライブストリームは、参加者の嗜好またはコンテキスト情報に基づいて適合化される。例えば、ユーザは、プラットフォーム(またはサードパーティ)が、状況に応じて(例えば、アスリートが視点内にいるとき)ライブARコンテンツを自動的に選択しそして組み込むために使用することが出来るライブ解説の嗜好を設定することができる。したがって、ライブイベントで使用可能になると、ライブ解説は、クライアントデバイスによってレンダリングされるライブストリームに自動的に組み込ませることが出来る。別の例では、プラットフォームは、参加者の人口統計の情報またはプロファイル情報に基づいて、参加者の嗜好を決定することができる。例えば、プラットフォームは、ライブ解説に関する選好を含む参加者のプロファイルを格納することができる。別の例では、プラットフォームは、参加者間の対話またはプラットフォームとの対話に基づいて嗜好を自動的に検出し、そしてライブストリームにコンテンツを組み込むための適切な推奨を行う機械学習アルゴリズムを含む。幾つかの実施態様では、クライアントデバイスは、ライブストリームを自動的にサブスクライブさせ、そして第1のライブストリームからサブスクライブを自動的に解除させることができる。このため、参加者のプロファイルは、サブスクリプションの変更およびコンテンツの表示を反映させるために、更新させることが出来る。
【0060】
オプションのステップ1104では、クライアントデバイス上でレンダリングされるコンテンツは、ライブイベントのコンテキスト情報および/または時間情報に基づいて選択させることが出来る。例えば、プラットフォームのクライアント側コンポーネントは、マルチキャストチャネルを介してライブイベントに関連付けられたコンテンツを受信することが出来る。マルチキャストチャネルは、ライブイベント、参加者の興味、参加者の場所、参加者の視聴デバイス、時刻等に関するコンテキスト情報に基づいてプロビジョニングさせることが出来る。1つの例では、サードパーティプロバイダが、プラットフォームに対してARコンテンツをプロビジョニングする。これは、特定の年齢層の参加者にコンテンツを配信し、そしてフットボールのライブのハーフタイム中に大人の視聴者に食べ物および飲み物の広告などを提供する。このため、ARコンテンツは、嗜好や人口統計が異なる参加者に対し異なるように適合化させることが出来る。
【0061】
ステップ1106では、プラットフォームは、選択されたコンテンツを、ある時点(例えば、シーン)でライブストリームに加えて、クライアントデバイス上でレンダリングさせることが出来る。コンテンツが、ライブイベントの視点が異なるライブストリームのソースのグループに関連付けられると、コンテンツが、ライブストリームの希望の時間間隔に含まれることを確実にするには、クロック同期が必要である。幾つかの実施態様では、「ウォールクロック」タイプの同期は、幾つかのアプリケーションに対しては、十分であるとすることができる。
【0062】
例えば、1つまたは複数のライブストリームに組み込まれるARコンテンツ(ARContent)のARストリーム(ARStream)は、コンテンツ(例、画像、テキスト)並びにコンテキストの
標示及びコンテンツを表示するための時刻を含むパケットから構成される。例えば、ARコンテンツを表示するための時刻の
標示は、開始時刻(ARTStart)および終了時刻(ARTEnd)によって定義される特定の時点またはウィンドウを含むことができる。幾つかの実施態様では、時間ウィンドウは、シーンの数により定義され、そしてARコンテンツをクライアントデバイスの視聴者で表示するために設定される期間を
標示する。ARコンテンツ(ARContent)を表示させるコンテキストの
標示(ARContext)は、プラットフォームのクライアント側コンポーネントが、視聴者にマッピングすることが出来る3次元(3D)座標(ARCoord)のような1つ以上のディレクティブ、または 「フローティング(floating)」、「ビルボードにバインド(bound to a billboard)」等のような特定の命令を含むことができる。これは、以下の式に表される:
【数2】
【0063】
このように、ライブストリームのシーンは、視点を変更するため、またはコンテンツによりビューを更新するための離散的な時点として使用することが出来る。例えば、ライブイベントのシーンは、オンデマンドで即座に変更するのに代えて、変更と同時に、高品質の体験を実現させることが出来る変更を加えることを可能にする、対話の自然なポインとを提供することが出来る。参加者は、コンテンツをリクエストする、または参加者の視聴者のために、他の当事者がコンテンツをプッシュすることができる。配信されるコンテンツは、別の視点を持つライブストリームと、プラットフォームのクライアント側コンポーネントによってライブストリームに追加され、そしてライブストリームへのサブスクリプションが、コンテンツに関連付けられた後、次のシーンの開始時に視聴者にレンダリングされるARコンテンツとを、含むことができる。
【0064】
開示された本実施態様は、また、少なくとも1つのデバイスを含む。このデバイスの例は、ディスプレイ、方向センサ、プロセッサ、メモリ等を含む、ヘッドマウントディスプレイ(HMD)デバイスである。このHMDデバイスは、ライブストリームをレンダリングして、デバイスにライブイベントの視点を表示させることが出来る。ライブストリームは、ライブイベントに位置するソースデバイスから発信される。HMDデバイスは、方向センサの出力に基づいて、HMDデバイスの方向の変化を決定し、そしてHMDデバイスの方向の変化を動的に追跡して、1つのソースデバイスのライブストリームの視点の表示からシームレスに遷移して、別のソースデバイスの別のライブストリームの別の視点を表示させることが出来る。
【0065】
この例では、供給されたコンテンツは、HMDデバイスを介して、または仮想現実環境において、仮想参加者に配信させることが出来る。例えば、プラットフォームは、参加者の体の位置と注視点に基づいて(例、参加者の周りの他のデバイスを活用して)、参加者の透視を適合化させることが出来る。例えば、参加者が振り向くと、HMDのディスプレイは、ライブストリームのソースを、一致する視点にシームレスに変更させることが出来る。幾つかの実施態様では、プラットフォームのクライアント側コンポーネントは、初期化時に没入型環境を提供することができるように、必要な全ての視点をサブスクライブするであろう。幾つかの実施態様では、参加者は、手動で視点を変更することも出来る。
【0066】
図12は、開示された技術の少なくとも幾つかの態様を実装することが可能なコンピューティングデバイス1200のブロック図である。コンピューティングデバイスの例は、プラットフォームサーバ、クライアントデバイス、ソースデバイス、またはこれらの任意の組み合わせまたはコンポーネントを含む。コンピューティングデバイス1200は、汎用コンピュータとする、またはシステムの機能を実行するように特別に設計することもできる。例えば、コンピューティングデバイス1200は、SOC、SBCシステム、デスクトップまたはラップトップコンピュータ、キオスク、メインフレーム、コンピュータシステムのメッシュ、ハンドヘルドモバイルデバイス、またはこれらの組み合わせとすることができる。
【0067】
コンピューティングデバイス1200は、スタンドアロンデバイス、または複数のネットワーク、場所、マシン、またはこれらの組み合わせからなる分散システムの幾つかとすることができる。幾つかの実施態様では、コンピューティングデバイス1200は、クライアントサーバネットワーク環境におけるサーバコンピュータまたはクライアントデバイスとして、またはピアツーピアシステムにおけるピアマシンとして動作する。幾つかの実施態様では、コンピューティングデバイス1200は、リアルタイムで、ほぼリアルタイムで、オフラインで、バッチ処理で、またはこれらの組み合わせによって、1つまたは複数のプロセスを実行することができる。
【0068】
図示されるように、コンピューティングデバイス1200は、ハードウェアコンポーネント間でデータを転送するように動作することが可能なバス1202を含む。これらのコンポーネントは、制御1204(すなわち、処理システム)、ネットワークインターフェース1206、入力/出力(I/O)システム1208、およびクロックシステム1210を含む。コンピューティングデバイス1200は、図示されていない、または簡潔にするために詳細に議論されることのない他のコンポーネントも含むことができる。当業者は、
図12には示されていないが、ここに含まれる任意のハードウェアおよびソフトウェアを理解するであろう。制御1204は、1つ以上のプロセッサ1212(例、CPU、ASIC、FPGA)および(ソフトウェア1216を含むことができる)メモリ1214を含む。メモリ1214は、ローカルの、遠隔の、または分散型とすることができ、そして例えば、揮発性および/または不揮発性メモリを含むことができる。
【0069】
ソフトウェアプログラム(例えば、ソフトウェア1216)は、「コンピュータ可読格納媒体に実装される」と言及されるときには、メモリ(例、メモリ1214)に格納されたコンピュータ可読命令を含む。プロセッサ(例、プロセッサ1212)は、ソフトウェアプログラムに関連付けられた少なくとも1つの値が、プロセッサによって読み取り可能なレジスタに格納されると、「ソフトウェアプログラムを実行するように構成される」。幾つかの実施態様では、開示された本実施態様を実装するために実行されるルーチンは、オペレーティングシステム(OS)ソフトウェア(例、Microsoft Windows(登録商標)、Linux(登録商標))または特定のソフトウェアアプリケーション、コンポーネント、プログラム、オブジェクト、モジュール、または「コンピュータプログラム」と呼ばれる命令のシーケンスの幾つかとして実装させることができる。
【0070】
したがって、コンピュータプログラムは、通常、コンピュータ(例、コンピューティングデバイス1200)の様々なメモリデバイスに様々な時点で設定され、少なくとも1つのプロセッサ(例、プロセッサ1212)によって読み取られそして実行され、コンピュータに、開示された本実施態様の様々な態様を含む機能を実行するための操作を実行させる、1つまたは複数の命令を備える。幾つかの実施態様では、前述のコンピュータプログラム製品を含むキャリアが提供される。このキャリアは、電子信号、光信号、無線信号、または非一時的なコンピュータ可読格納媒体(例えば、メモリ1214)の内の1つである。
【0071】
ネットワークインターフェース1206は、ネットワーク1218を介して、コンピューティングデバイス1200を別のデバイスに結合するためのモデムまたは他のインターフェース(図示せず)を含むことができる。I/0システム1208は、ディスプレイシステム1220(例、モニタまたはタッチセンサ式ディスプレイ)および1つ以上の入力デバイス1222(例、キーボードおよび/またはポインティングデバイス)のような、周辺デバイスを含む様々なI/0デバイスを制御するように動作することができる。他のI/0デバイス1224は、例えば、ディスクドライブ、プリンタ、スキャナ等を含むことができる。最後に、クロックシステム1210は、開示された本実施態様に従う使用のために、タイマーを制御する。
【0072】
二進数1から二進数0への(またはその逆の)状態の変化のようなメモリデバイス(例、メモリ1214)の動作は、知覚可能な物理的変換を備えることができる。この変換は、物品の異なる状態へのまたは物への物理的変換を備えることができる。例えば、状態の変化は、電荷の蓄積およびストレージまたは蓄積された電荷の放出を含むことができる。同様に、状態の変化は、磁気配向における物理的変化または変換、または結晶構造から非晶質へ、またはその逆のような、分子構造における物理的変化または変換を備えることができる。
【0073】
開示された本実施態様の態様は、メモリに格納されたデータビットに対する操作のアルゴリズムおよび記号表現により説明することが出来る。これらのアルゴリズムの説明と記号表現には、通常、望ましい結果につながる一連の操作が含まれている。操作には、物理量の物理的な操作が必要である。通常、これらの量は、必須ではないが、格納、転送、結合、比較、および他の操作が可能な電気信号または磁気信号の形態を取る。慣習的に、そして便宜上、これらの信号は、ビット、値、要素、記号、文字、用語、数字等と呼ばれる。これらおよび同様の用語は、物理量に関連付けられていて、そしてこれらの量に適用される便利なラベルにすぎない。
【0074】
実施態様は、完全に機能するコンピュータの文脈で説明されて来たが、当業者は、様々な実施態様が、様々な形態のプログラム製品として配布可能であり、そして本開示が、実際に配布に影響を与えるように使用される特定のタイプのマシンまたはコンピュータ読み取り可能なメディアに関係なく、等しく適用されることを、理解するであろう。
【0075】
本開示は、幾つかの実施態様に関して説明されて来たが、当業者は、本開示が本明細書に記載の実施態様に限定されず、本発明の精神および範囲内で修正および変更を加えて実行することができることを、認識するであろう。当業者は、また、本開示の実施態様に対する改善を認識するであろう。このような改善は、全て、ここに開示されている概念の範囲内であると見なされる。したがって、この説明は、限定するものではなく例示と見なされるべきである。
【0076】
本発明の特定の実施態様が、例示の目的で本明細書で説明されて来たが、上記から、本発明の範囲から逸脱することなく様々な修正を行うことができることは、理解されるであろう。したがって、本発明は、添付の特許請求の範囲による場合を除き、限定されない。
【0077】
(関連出願の相互参照)
本出願は、2018年2月6日に出願された、「ライブイベントに参加する、リアルタイムの、拡張されかつ共有された体験を提供するための手法」という発明の名称を有する米国仮特許出願シリアルNo.6/627,126の利益を主張し、これは、本引用により、その全てが本出願に組み込まれている。