(57)【特許請求の範囲】
【請求項１】
イベントの複数のビューポイントと関連付けられた、前記イベントの複数のビデオを受信するステップと、
前記イベントの前記複数のビューポイントのうちの1つまたは複数と関連付けられた、前記イベントの1つまたは複数のバーチャルビデオを受信するステップと、
複数のパニングポイントにおける各パニングポイントが前記複数のビデオのうちの1つのビデオ、または、前記1つまたは複数のバーチャルビデオのうちの1つのバーチャルビデオと関連付けられた、複数のパニングポイントを、処理装置によって、特定するステップと、
前記複数のビューポイントのうちの第1のパニングポイントにおいて、前記複数のビデオから第1のビデオを、または、前記1つまたは複数のバーチャルビデオから第1のバーチャルビデオをクライアントデバイスに提供するステップと、
前記イベントの異なるビューポイントへ変更するユーザ要求を示すユーザ入力に応答して、第2のビデオまたは第2のバーチャルビデオにおける前記第1のパニングポイントに続く第2のパニングポイントを特定するステップと、
前記第2のビデオまたは前記第2のバーチャルビデオを、前記第2のパニングポイントにおいて、前記クライアントデバイスに提供するステップと
を含み、前記複数のパニングポイントはシーン検出演算を用いて特定される、方法。
【請求項２】
前記第1のビデオまたは前記第1のバーチャルビデオの再生が一時停止されるべきことを示すユーザ入力を受信するステップと、
前記第1のビデオまたは前記第1のバーチャルビデオの再生を前記第2のパニングポイントにおいて一時停止するステップと
をさらに含む、請求項1に記載の方法。
【請求項３】
前記イベントの前記1つまたは複数のバーチャルビデオを受信するステップが、
前記イベントの前記複数のビデオに基づいて前記イベントの前記1つまたは複数のバーチャルビデオを生成するステップを含む、請求項1に記載の方法。
【請求項４】
前記イベントの前記複数のビデオと前記1つまたは複数のバーチャルビデオとが時間的に同期されている、請求項1に記載の方法。
【請求項５】
前記複数のパニングポイントにおける各パニングポイントが、前記複数のビデオおよび前記1つまたは複数のバーチャルビデオにおいて同時点に存在している、請求項1に記載の方法。
【請求項６】
前記複数のパニングポイントにおける各パニングポイントがイントラコードフレーム(Iフレーム)を含み、
前記複数のパニングポイントがユーザ入力に基づいて特定される、請求項1に記載の方法。
【請求項７】
前記イベントの前記複数のビデオ、および、前記イベントの前記1つまたは複数のバーチャルビデオを使用して、前記複数の特定されたパニングポイントに基づいて、前記イベントの1つまたは複数のパンアラウンドビデオを生成するステップであって、
前記1つまたは複数のパンアラウンドビデオの各々は、前記複数の特定されたパニングポイントのうちの対応するパニングポイントにおける前記イベントの周りをパンし、かつ、
それぞれのパンアラウンドビデオは、ユーザが前記ビデオの再生を一時停止するのに応答して、前記複数のビデオのうちの1つ、または、前記1つまたは複数のバーチャルビデオのうちの1つを閲覧している前記ユーザに対する後続の提示のために提供される、ステップ
をさらに含む、請求項1に記載の方法。
【請求項８】
1つまたは複数のパンアラウンドビデオを生成するステップが、
前記イベントの周りを時計回り方向にパンする前記イベントのビューを提供する第1のパンアラウンドビデオを生成するステップと、
前記イベントの周りを反時計回り方向にパンする前記イベントのビューを提供する第2のパンアラウンドビデオを生成するステップと
を含む、請求項7に記載の方法。
【請求項９】
前記第1のパニングポイントに基づいて、前記1つまたは複数のパンアラウンドビデオから前記第1のパンアラウンドビデオを特定するステップと、
前記第1のパンアラウンドビデオを前記クライアントデバイスに提供するステップと、
前記第1のパンアラウンドビデオの再生が一時停止されるべきことを示す第2のユーザ入力を受信するステップと、
前記第1のパンアラウンドビデオにおける第3のパニングポイントを特定するステップと、
前記第1のパンアラウンドビデオの再生を、前記第3のパニングポイントにおいて一時停止するステップと、
第3のビデオまたは第3のバーチャルビデオの再生を要求する第3のユーザ入力を受信するステップと、
前記第3のパニングポイントに基づいて、前記第3のビデオまたは前記第3のバーチャルビデオを特定するステップと、
前記第3のビデオまたは前記第3のバーチャルビデオを前記クライアントデバイスに提供するステップと
をさらに含む、請求項8に記載の方法。
【請求項１０】
処理装置によって実行されると、以下の動作を前記処理装置に行わせる命令を記憶した非一時的なコンピュータ可読記録媒体であって、前記動作が、
イベントの複数のビューポイントと関連付けられた、前記イベントの複数のビデオを受信するステップと、
前記イベントの前記複数のビューポイントのうちの1つまたは複数と関連付けられた、前記イベントの1つまたは複数のバーチャルビデオを受信するステップと、
複数のパニングポイントにおける各パニングポイントが前記複数のビデオのうちの1つのビデオ、または、前記1つまたは複数のバーチャルビデオのうちの1つのバーチャルビデオと関連付けられた、複数のパニングポイントを特定するステップと、
前記複数のビューポイントのうちの第1のパニングポイントにおいて、前記複数のビデオから第1のビデオを、または、前記1つまたは複数のバーチャルビデオから第1のバーチャルビデオをクライアントデバイスに提供するステップと、
前記イベントの異なるビューポイントへ変更するユーザ要求を示すユーザ入力に応答して、第2のビデオまたは第2のバーチャルビデオにおける前記第1のパニングポイントに続く第2のパニングポイントを特定するステップと、
前記第2のビデオまたは前記第2のバーチャルビデオを、前記第2のパニングポイントにおいて、前記クライアントデバイスに提供するステップと
を含み、前記複数のパニングポイントはシーン検出演算を用いて特定される、非一時的なコンピュータ可読記録媒体。
【請求項１１】
前記動作が、
前記第1のビデオまたは前記第1のバーチャルビデオの再生が一時停止されるべきことを示すユーザ入力を受信するステップと、
前記第1のビデオまたは前記第1のバーチャルビデオの再生を前記第2のパニングポイントにおいて一時停止するステップと
をさらに含む、請求項10に記載の非一時的なコンピュータ可読記録媒体。
【請求項１２】
前記イベントの前記1つまたは複数のバーチャルビデオを受信するステップが、
前記イベントの前記複数のビデオに基づいて前記イベントの前記1つまたは複数のバーチャルビデオを生成するステップを含む、請求項10に記載の非一時的なコンピュータ可読記録媒体。
【請求項１３】
前記イベントの前記複数のビデオと前記1つまたは複数のバーチャルビデオとが時間的に同期され、
前記複数のパニングポイントにおける各パニングポイントが、前記複数のビデオおよび前記1つまたは複数のバーチャルビデオにおいて同時点に存在している、請求項10に記載の非一時的なコンピュータ可読記録媒体。
【請求項１４】
前記動作が、
前記イベントの前記複数のビデオ、および、前記イベントの前記1つまたは複数のバーチャルビデオを使用して、前記複数の特定されたパニングポイントに基づいて、前記イベントの1つまたは複数のパンアラウンドビデオを生成するステップであって、
前記1つまたは複数のパンアラウンドビデオの各々は、前記複数の特定されたパニングポイントのうちの対応するパニングポイントにおける前記イベントの周りをパンし、かつ、
それぞれのパンアラウンドビデオは、ユーザが前記ビデオの再生を一時停止するのに応答して、前記複数のビデオのうちの1つ、または、前記1つまたは複数のバーチャルビデオのうちの1つを閲覧している前記ユーザに対する後続の提示のために提供される、ステップ
をさらに含む、請求項10に記載の非一時的なコンピュータ可読記録媒体。
【請求項１５】
1つまたは複数のパンアラウンドビデオを生成するステップが、
前記イベントの周りを時計回り方向にパンする前記イベントのビューを提供する第1のパンアラウンドビデオを生成するステップと、
前記イベントの周りを反時計回り方向にパンする前記イベントのビューを提供する第2のパンアラウンドビデオを生成するステップと
を含む、請求項14に記載の非一時的なコンピュータ可読記録媒体。
【請求項１６】
前記動作が、
前記第1のパニングポイントに基づいて、前記1つまたは複数のパンアラウンドビデオから前記第1のパンアラウンドビデオを特定するステップと、
前記第1のパンアラウンドビデオを前記クライアントデバイスに提供するステップと、
前記第1のパンアラウンドビデオの再生が一時停止されるべきことを示す第2のユーザ入力を受信するステップと、
前記第1のパンアラウンドビデオにおける第3のパニングポイントを特定するステップと、
前記第1のパンアラウンドビデオの再生を、前記第3のパニングポイントにおいて一時停止するステップと、
第3のビデオまたは第3のバーチャルビデオの再生を要求する第3のユーザ入力を受信するステップと、
前記第3のパニングポイントに基づいて、前記第3のビデオまたは前記第3のバーチャルビデオを特定するステップと、
前記第3のビデオまたは前記第3のバーチャルビデオを前記クライアントデバイスに提供するステップと
をさらに含む、請求項15に記載の非一時的なコンピュータ可読記録媒体。
【請求項１７】
メモリと、
前記メモリに接続された処理装置と
を備えたシステムであって、
前記処理装置が、
イベントの複数のビューポイントと関連付けられた、前記イベントの複数のビデオを受信することと、
前記イベントの前記複数のビューポイントのうちの1つまたは複数と関連付けられた、前記イベントの1つまたは複数のバーチャルビデオを受信することと、
複数のパニングポイントにおける各パニングポイントが前記複数のビデオのうちの1つのビデオ、または、前記1つまたは複数のバーチャルビデオのうちの1つのバーチャルビデオと関連付けられた、複数のパニングポイントを特定することと、
前記複数のビューポイントのうちの第1のパニングポイントにおいて、前記複数のビデオから第1のビデオを、または、前記1つまたは複数のバーチャルビデオから第1のバーチャルビデオをクライアントデバイスに提供することと、
前記イベントの異なるビューポイントへ変更するユーザ要求を示すユーザ入力に応答して、第2のビデオまたは第2のバーチャルビデオにおける前記第1のパニングポイントに続く第2のパニングポイントを特定することと、
前記第2のビデオまたは前記第2のバーチャルビデオを、前記第2のパニングポイントにおいて、前記クライアントデバイスに提供することと
を行い、前記複数のパニングポイントはシーン検出演算を用いて特定される、システム。
【請求項１８】
前記処理装置がさらに、
前記イベントの前記複数のビデオ、および、前記イベントの前記1つまたは複数のバーチャルビデオを使用して、前記複数の特定されたパニングポイントに基づいて、前記イベントの1つまたは複数のパンアラウンドビデオを生成すること
を行い、
前記1つまたは複数のパンアラウンドビデオの各々は、前記複数の特定されたパニングポイントのうちの対応するパニングポイントにおける前記イベントの周りをパンし、かつ、
それぞれのパンアラウンドビデオは、ユーザが前記ビデオの再生を一時停止するのに応答して、前記複数のビデオのうちの1つ、または、前記1つまたは複数のバーチャルビデオのうちの1つを閲覧している前記ユーザに対する後続の提示のために提供される、請求項17に記載のシステム。
【請求項１９】
1つまたは複数のパンアラウンドビデオを生成することが、前記処理装置がさらに、
前記イベントの周りを時計回り方向にパンする前記イベントのビューを提供する第1のパンアラウンドビデオを生成することと、
前記イベントの周りを反時計回り方向にパンする前記イベントのビューを提供する第2のパンアラウンドビデオを生成することと
を行うことを含む、請求項18に記載のシステム。
【請求項２０】
前記処理装置がさらに、
前記第1のパニングポイントに基づいて、前記1つまたは複数のパンアラウンドビデオから前記第1のパンアラウンドビデオを特定することと、
前記第1のパンアラウンドビデオを前記クライアントデバイスに提供することと、
前記第1のパンアラウンドビデオの再生が一時停止されるべきことを示す第2のユーザ入力を受信することと、
前記第1のパンアラウンドビデオにおける第3のパニングポイントを特定することと、
前記第1のパンアラウンドビデオの再生を、前記第3のパニングポイントにおいて一時停止することと、
第3のビデオまたは第3のバーチャルビデオの再生を要求する第3のユーザ入力を受信することと、
前記第3のパニングポイントに基づいて、前記第3のビデオまたは前記第3のバーチャルビデオを特定することと、
前記第3のビデオまたは前記第3のバーチャルビデオを前記クライアントデバイスに提供することと
を行う、請求項19に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、複数のビューポイントによるビデオの生成に関する。
【背景技術】
【０００２】
スマートフォン、携帯電話、ラップトップコンピュータ、デスクトップコンピュータ、ネットブック、タブレットコンピュータ等のコンピューティングデバイスが様々な異なる目的のために一般的に利用されている。ユーザはしばしばコンピューティングデバイスを用いて、デジタルメディアアイテムを使用し、再生しおよび/または消費する(例えばデジタルイメージを閲覧する、デジタルビデオ(video)を観るおよび/またはデジタル音楽を聴く)。また、ユーザはコンピューティングデバイスを用いてリアルタイムイベント(例えば現在発生しているイベント)および/または過去のイベント(例えば過去に発生して記録されたイベント)のビデオを閲覧する。イベントは任意の発生事象、公的行事、予定行事、私的行事および/またはある時点において発生するあらゆるアクティビティであってもよい。例えば、イベントは、バスケットボールの試合、フットボールの試合等のスポーツイベントであってもよい。別の例においては、イベントは、記者会見または政治演説/討論であってもよい。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
イベントのビデオはしばしば記録されて、ビデオは、ユーザがイベントを閲覧することができるように、しばしばユーザに提供される。イベントは、複数のビューポイントから記録されることがある(例えばフットボールの試合は、フィールドのサイドラインならびにフロントエンドおよびバックエンドから記録されることがある)。これらの複数のビデオは、異なるビューポイントおよびアングルからイベントを閲覧することが可能となるようにユーザに提供され得る。
【課題を解決するための手段】
【０００４】
一実施形態においては、イベントの複数のビューポイントと関連付けられた、イベントの複数のビデオを受信するステップと、イベントの複数のビューポイントの1つまたは複数と関連付けられた、イベントの1つまたは複数のバーチャルビデオ(virtual video)を受信するステップと、複数のパニングポイントにおける各パニングポイントが複数のビデオのうちの1つのビデオまたは1つまたは複数のバーチャルビデオのうちの1つのバーチャルビデオと関連付けられた複数のパニングポイントを特定するステップと、複数のパニングポイントに基づいて、イベントの1つまたは複数のパンアラウンドビデオ(pan around vid
eo)を生成するステップとを含む方法が提供される。
【０００５】
一実施形態においては、イベントの複数のビューポイントと関連付けられた、イベントの複数のビデオを受信する手段と、イベントの複数のビューポイントの1つまたは複数と関連付けられた、イベントの1つまたは複数のバーチャルビデオを受信する手段と、複数のパニングポイントにおける各パニングポイントが複数のビデオのうちの1つのビデオまたは1つまたは複数のバーチャルビデオのうちの1つのバーチャルビデオと関連付けられた複数のパニングポイントを特定する手段と、複数のパニングポイントに基づいて、イベントの1つまたは複数のパンアラウンドビデオを生成する手段と、が提供される。別の実施形態においては、複数のビデオから第1のビデオを、または、1つまたは複数のバーチャルビデオから第1のバーチャルビデオをクライアントデバイスに提供する手段と、イベントの異なるビューポイントへ変更するユーザ要求を示すユーザ入力を受信する手段と、ユーザ入力に基づいて次のビデオまたは次のバーチャルビデオを特定する手段と、次のビデオまたは次のバーチャルビデオにおける次のパニングポイントを特定する手段と、次のビデオまたは次のバーチャルビデオを、次のパニングポイントにおいて、クライアントデバイスに提供する手段と、が提供される。さらなる実施形態においては、イベントの複数のビデオに基づいてイベントの1つまたは複数のバーチャルビデオを生成する手段が提供される。さらなる実施形態においては、複数のビデオから第1のビデオを、または、1つまたは複数のバーチャルビデオから第1のバーチャルビデオを、クライアントデバイスに提供する手段と、第1のビデオまたは第1のバーチャルビデオの再生が一時停止されるべきことを示すユーザ入力を受信する手段と、複数のパニングポイントから第1のパニングポイントを特定する手段と、ビデオの再生を次のパニングポイントにおいて一時停止するステップと、が提供される。一実施形態においては、第1のパニングポイントに基づいて、1つまたは複数のパンアラウンドビデオから第1のパンアラウンドビデオを特定する手段と、第1のパンアラウンドビデオをクライアントデバイスに提供する手段と、が提供される。
【０００６】
一実施形態においては、第1のパンアラウンドビデオの再生が一時停止されるべきことを示す第2のユーザ入力を受信する手段と、パンアラウンドビデオにおける第2のパニングポイントを特定する手段と、パンアラウンドビデオの再生を、第2のパニングポイントにおいて一時停止させる手段と、複数のビデオから第2のビデオの再生、または、1つまたは複数のバーチャルビデオから第2のバーチャルビデオの再生を要求する第3のユーザ入力を受信する手段と、第2のパニングポイントに基づいて、第2のビデオまたは第2のバーチャルビデオを特定する手段と、第2のビデオまたは第2のバーチャルビデオをクライアントデバイスに提供する手段と、が提供される。別の実施形態においては、イベントの周りを時計回り方向にパンするイベントのビューを提供する第1のパンアラウンドビデオを生成する手段と、イベントの周りを反時計回り方向にパンするイベントのビューを提供する第2のパンアラウンドビデオを生成する手段とが提供される。
【０００７】
追加的な実施形態においては、上述した実施形態の処理を行うためのコンピューティングデバイスも実装される。追加的に、本開示の実施形態においては、コンピュータ可読な記憶媒体は、ここに記載された実施形態の処理を行うための命令を記憶してもよい。
【０００８】
上記概要は、本開示の一部の特徴に対する基礎的な理解を提供するためにされた、本開示の単純化された概要である。この概要は本開示の包括的な全体像ではない。これは本開示における主要なまたは決定的に重要な要素を特定することを意図したものではなく、かつ、本開示またはいかなる請求項の範囲の特定の実装態様の範囲を画することを意図したものでもない。その唯一の目的は、後述するより一層詳細な説明への導入として、本開示の一部の概念を単純化された形態で提示することにある。
【０００９】
本開示は、本開示の様々な実施形態に係る以下の詳細な説明および添付の図面からより完全に理解されると考えられるが、本開示を特定の実施形態に限定するものと解釈されるべきではなく、説明と理解のためのものにすぎない。
【図面の簡単な説明】
【００１０】
【図１】図1は、本開示の一実施形態に係るカメラアーキテクチャの例を示すブロック図である。
【図２】図2は、本開示の一実施形態に係るビデオ、バーチャルビデオ、およびパンアラウンドビデオを示すブロック図である。
【図３】図3は、本開示の一実施形態に係るシステムアーキテクチャの例を示す図である。
【図４】図4は、本開示の一実施形態に係るグラフィカルユーザインターフェース(GUI)の例を示す図である。
【図５】図5は、本開示の一実施形態に係るイメージモジュールを示すブロック図である。
【図６】図6は、本開示の一実施形態に係る、バーチャルビデオを生成する方法を示すフロー図である。
【図７Ａ】図7Aは、本開示の一実施形態に係る、ビデオをクライアントデバイスに提供する方法を示すフロー図である。
【図７Ｂ】図7Bは、本開示の別の実施形態に係る、ビデオをクライアントデバイスに提供する方法を示すフロー図である。
【図８】図8は、本開示のさらなる実施形態に係る、ビデオをクライアントデバイスに提供する方法を示すフロー図である。
【図９】図9は、ここに記載された1つまたは複数の処理を行うコンピューティングデバイスの例のブロック図である。
【発明を実施するための形態】
【００１１】
以下の説明は、本開示の幾つかの実施形態に対する良好な理解を提供するために特定のシステム、コンポーネントおよび方法等の例といった多数の具体的詳細事項を提示するものである。しかしながら、本開示の少なくとも一部の実施形態が、これらの具体的な詳細事項なしに実施されてもよいことは当業者において明らかであろう。他の場合には、周知のコンポーネントまたは方法は詳細には説明されておらず、本開示を不必要に不明瞭とすることを回避するために単純なブロック図の形態で提示されている。このように、上記の具体的詳細事項は例示にすぎない。特定の実装態様はこれらの例示的詳細事項とは異なっていても依然として本開示の範囲に属するものと考えることができる。
【００１２】
イベント(event)および/またはイベントロケーション(event location)のビデオを生成して提供するシステムおよび方法が提供される。イベントのビデオは、カメラ(例えばカメラ装置)によってキャプチャすることができる。ビデオを処理してイベントの異なるビューポイント(viewpoint)を提供するバーチャルビデオを生成してもよい。ビデオおよびバーチャルビデオを解析して、ビデオにおけるパニングポイント(panning point)を特定してもよい。一実施形態においては、ユーザは、特定されたパニングポイントで、ビデオおよび/またはバーチャルビデオを一時停止させることができ、ビデオおよび/またはバーチャルビデオ内で特定されたパニングポイントの間だけ、イベントおよび/またはイベントロケーションの周りをパンする(以下、「パンアラウンド(pan around)する」という)ことができる。パンアラウンドビュー(pan around view)は、ビデオおよび/またはバーチャルビデオに基づいて生成されたパンアラウンドビデオによって提供されてもよい。ユーザは、パンアラウンドビデオの再生を一時停止した後、ビデオおよび/またはバーチャルビデオのいずれかの閲覧を再開することができる。別の実施形態においては、ユーザは、ビデオおよび/またはバーチャルビデオがパニングポイントの間だけ(例えば一定の時間だけ)再生されている間、イベントおよび/またはイベントロケーションをパンアラウンドしてもよい。
【００１３】
図1は、本開示の一実施形態に係るカメラアーキテクチャの例100を示すブロック図である。一実施形態においては、カメラアーキテクチャ100は、イベントロケーション105において発生するイベントのビデオを、および/または、イメージのシーケンスをキャプチャする(例えば撮る)ことができる。例えば、カメラアーキテクチャ100は、イベントロケーション105で発生するバスケットボールの試合のビデオおよび/またはイメージをキャプチャすることができる。別の例においては、カメラアーキテクチャ100は、イベントロケーション105で発生するコンサートのビデオおよび/またはイメージをキャプチャすることができる。さらなる例においては、カメラアーキテクチャ100は、イベントロケーション105で発生する会議、討論、プレスリリースおよび/または政治イベントのビデオおよび/またはイメージをキャプチャすることができる。他の実施形態においては、イベントおよび/またはイベントロケーション105は、任意の形状(例えば円形、楕円形、凹凸形状等)であってもよい。
【００１４】
カメラアーキテクチャ100は、イベントロケーションの周囲に位置しているカメラカメラ110Aないしカメラ110Dを備えている。カメラ110Aないしカメラ110Dは、オブジェクト115のイメージ(例えばピクチャ)および/またはビデオ(例えばイメージのシーケンス)をキャプチャする(例えば撮る)および/または生成することができる物理的および/または実物のカメラとされてもよい。一実施形態においては、カメラ110Aないしカメラ110Dは、イベントロケーション105の(例えばイベントロケーションでのイベントの)ビデオおよび/またはイメージを、ある特定の速度および/またはレートにてキャプチャしてもよい。例えば、カメラ110Aないしカメラ110Dは、毎秒100イメージまたは100FPS(フレーム毎秒)のレートまたは30FPSのレートで、オブジェクト115の複数のイメージを生成してもよい。カメラ110Aないしカメラ110Dは、デジタルカメラであってもよく、または、フィルムカメラ(例えば物理フィルム上にイメージおよび/またはビデオをキャプチャするカメラ)であってもよい。カメラ110Aないしカメラ110Dによってキャプチャされおよび/または生成されたイメージおよび/またはビデオはまた、イメージアレイ(image array)またはイメージのアレイと呼んでもよい。カメラ110Aないしカメラ110Dによってキャプチャされるおよび/または生成されるイメージおよび/またはビデオは、これらに限定するものではないが、MPEG(Moving Picture Experts Group)フォーマット、MPEG-4(MP4)フォーマット、DivX(登録商標)フォーマット、Flash(登録商標)フォーマット、QuickTime(登録商標)フォーマット、AVI(Audio Visual Interleave)フォーマット、WMV(Windows(登録商標) Media Video)フォーマット、H.264(h264、AVC)フォーマット、HTML5(HyperText Markup Language-5)ビデオフォーマット、JPEG(Joint Picture Experts Group)フォーマット、ビットマップ(BMP)フォーマット、GIF(Graphics Interchange Format)フォーマット、PNG(Portable Network Graphics)フォーマット等の様々なフォーマットに準拠することができる。一実施形態においては、カメラ110Aないしカメラ110Dの1台または複数台によりキャプチャされるイメージ(例えばイメージのアレイまたはイメージアレイ)および/またはビデオは、メモリ(例えばランダムアクセスメモリ)、ディスクドライブ(例えばハードディスクドライブまたはフラッシュディスクドライブ)、および/またはデータベース(図3および図5との関連で後述するとおり)のようなデータストアに記憶されてもよい。
【００１５】
カメラ110Aはイベントロケーション105の上端に位置しており、カメラ110Bは、イベントロケーション105の右端に位置しており、カメラ110Cは、イベントロケーション105の下端に位置しており、かつ、カメラ110Dはイベントロケーション105の左端に位置している。カメラ110Aないしカメラ110Dの各々は、各カメラ110Aないしカメラ110Dに対してイベントロケーション105の特定のビューポイントが提供される位置に配置されている。例えば、スポーツイベント(例えばフットボールの試合)がイベントロケーション105で発生する場合、カメラ110Aはサイドラインのいずれかからのイベントロケーション105のビューポイントをもつ位置に配置される。図1には4つのカメラ(例えばカメラ110Aないしカメラ110D)が図示されているが、他の実施形態においては、任意の台数のカメラがカメラアーキテクチャ100に含まれてもよいことが理解されるべきである。例えば、カメラアーキテクチャ100は、20台のカメラでも5000台のカメラでも含んでよい。他の実施形態においては、カメラの位置(したがってカメラについてのイベントロケーションのビューポイント)は異なる。例えば、カメラ110Aないしカメラ110Dは、様々な異なるレイアウトおよび/またはポジションにおいてイベントロケーション105の周りに配置されてもよい(例えば2つのカメラが上端に沿って、および2つのカメラが下端に沿って配置されるなど)。
【００１６】
一実施形態においては、カメラ110Aないしカメラ110Dの動作は、相互に同期化されてもよく、カメラ110Aないしカメラ110Dは、同期化された態様または協調的な態様でイベントロケーション105のイメージおよび/またはビデオをキャプチャしてもよい(例えばカメラ110Aないしカメラ110Dによってキャプチャされたビデオは時間的に同期されてもよい)。例えば、カメラ110Aないしカメラ110Dの各々は、毎秒30フレーム/イメージのレートでイメージおよび/またはビデオをキャプチャしてもよい。カメラ110Aないしカメラ110Dの各々は、イベントロケーション105の(例えばイベントロケーションでのイベントの)イメージおよび/またはビデオを、同時点(または実質的に同一の時点)にキャプチャしてもよい。
例えば、カメラ110Aないしカメラ110Dがイメージのキャプチャを同時刻(例えば時刻Tまたはゼロ秒)に開始した場合、カメラ110Aないしカメラ110Dは、それぞれ、イベントロケーション105の第1のイメージを時刻T+1(例えば1秒の1/30)にキャプチャし、オブジェクト115の第2のイメージを時刻T+2(例えば1秒の2/30)にキャプチャし、イベントロケーション105の第3のイメージを時刻T+3(例えば1秒の3/30)にキャプチャする等となる。
【００１７】
別の実施形態においては、イメージおよび/またはビデオを図3に示すメディアサーバのようなコンピューティングデバイスによって処理および/または解析して、イベントロケーション105の1つまたは複数のバーチャルビデオおよび/またはイメージを生成または取得してもよい。バーチャルビデオは、物理的(例えば実際の)カメラによってキャプチャおよび/または生成されなかったフレームおよび/またはイメージで構成されたビデオとすることができる。例えば、バーチャルビデオは、物理的カメラ(例えば実際のカメラ)によってキャプチャされたフレームおよび/またはイメージに基づいて生成されたフレームおよび/またはイメージで構成されていてもよい。一実施形態においては、メディアサーバは、フレーム、イメージおよび/またはビデオを解析してイベントロケーション105の(例えばイベントロケーション105でのイベントの)3次元環境および/または3次元(3D)モデル/メッシュを生成してもよい。3D環境および/または3Dモデル/メッシュは、あるオブジェクトの形状および/または境界を規定する頂点、エッジおよび面(例えば多角形状または表面)を集めたものであってもよい。面は、三角形、四辺形、単純凸多角形、凹多角形、および/または穴あき多角形といった様々な多角形状を含むことができる。
【００１８】
メディアサーバは、イベントロケーション105の(例えばイベントロケーションでのイベントの)3Dモデルおよび/または3Dモデル/メッシュに基づいてイベントロケーション105のバーチャルビデオを生成してもよい。例えば、カメラ110Aないしカメラ110Dは、バスケットボールの試合(例えばイベント)のビデオおよび/またはイメージをキャプチャする(例えば生成するおよび/または撮る)ようにしてもよい。カメラ110Aは、ビューポイントの左側から選手のビデオをキャプチャしてもよく、カメラ110Bは、ビューポイント正面から選手のビデオをキャプチャしてもよい。メディアサーバは、ビデオを解析して、選手を含むバスケットボールの試合の3D環境および/または3Dモデル/メッシュを生成してもよい。メディアサーバは、カメラ110Aおよび110Bからのビデオおよび/またはイメージに基づいて、選手の新たなビデオ(例えばバーチャルビデオ)および/または新たなイメージ(例えばバーチャルイメージ)を正面-左側ビューポイントから生成してもよい。一実施形態においては、メディアサーバは、3D環境および/または3Dモデル/メッシュを生成せずにバーチャルビデオを生成してもよい。例えば、連続するソースカメラ(例えばカメラ110Aおよび110B)の組の間において、立体視差を、視差推定アルゴリズムを用いて計算して視差マップを生成してもよい。視差マップを奥行(depth)コンポーネントとみなして、赤(Red)、緑(Green)、青(Blue)にZデプスを加えたRGBZイメージを作成するためにビデオ内のイメージとマージされてもよい。RGBZイメージを用いて、2つのソースカメラのビューポイントの間にある中間ビュー(例えばバーチャルカメラ120A)を計算および/または生成してもよい。別の例においては、イメージを処理し、および/またはセグメントに分割してもよく、各セグメントは識別可能かつ互いに独立のオブジェクトである。かかるセグメントは、その後他のカメラからのセグメントと照合される。バーチャルイメージを作成する際、全景を回転させてもよく、セグメントは、異なる場所にシフトさせてもよく、適宜拡大縮小されてもよい。さらなる例においては、各別のセグメントは、回転に対応して追加的にモーフィングされてもよい。
【００１９】
他の実施形態においては、物理的カメラ(例えばカメラ110Aないしカメラ110D)によってキャプチャされた実際のビデオおよび/またはイメージからバーチャルビデオおよび/またはバーチャルイメージを生成するために任意のアルゴリズム、関数、メソッドおよび/またはアプリケーション/プログラムを用いることができる。例えば、PMVS(Patch-Based Multi-View Stereo Software)といったアプリケーションを用いてバーチャルビデオおよび/またはバーチャルイメージを生成してもよい。別の例においては、StereoBMもしくはStereoSGBMアルゴリズム、α拡張アルゴリズム、および/または確率伝播および/またはグラフカットを利用したエネルギー最小化アルゴリズムといったアルゴリズムが用いられてもよい。
【００２０】
メディアサーバによって生成されたバーチャルビデオおよび/またはイメージは、物理的および/または実際のカメラ110Aないしカメラ110Dのビューポイントとは異なるイベントロケーション105の異なるビューポイントを提供してもよい。一実施形態においては、メディアサーバは、「バーチャルカメラ」のビューポイントからのイベントロケーション105のバーチャルビデオおよび/またはバーチャルイメージを生成してもよい。バーチャルカメラは、物理的および/または実際のカメラが全く存在しないイベントおよび/またはイベントロケーション105のビューポイントとすることができる。図1を再度参照すると、メディアサーバは、カメラ110Aないしカメラ110Dによってキャプチャされた実際のビデオおよび/またはイメージに基づいて、4つのバーチャルビデオを生成してもよい。第1のバーチャルビデオは、バーチャルカメラ120Aのビューポイントからのものであり、第2のバーチャルビデオは、バーチャルカメラ120Bのビューポイントからのものであり、第3のバーチャルビデオは、バーチャルカメラ120Cのビューポイントからのものであり、および第4のバーチャルビデオは、バーチャルカメラ120Dのビューポイントからのものであってもよい。一実施形態においては、バーチャルカメラ120Aないしバーチャルカメラ120Dのビューポイントからのバーチャルビデオは、実際の、物理的カメラ(例えばカメラ110Aないしカメラ110D)によってキャプチャされた実際のビデオに代えてイベントロケーション105の、コンピュータで生成された(例えばバーチャル)ビデオであってもよい。一実施形態においては、メディアサーバは、ビデオおよび/またはバーチャルビデオにおける複数のパニングポイントを特定してもよい。パニングポイントは、ユーザがビデオおよび/またはバーチャルビデオを閲覧する間にビデオおよび/またはバーチャルビデオを一時停止し、および/または、イベントロケーション105をパンアラウンドすることができるような時刻、フレーム、イメージ、時間間隔(例えば5秒間、60秒間等)、複数のフレーム、および/または、ビデオおよび/またはバーチャルビデオにおける複数のイメージであってもよい。前述したとおり、ビデオおよび/またはバーチャルビデオは、時間的に同期されてもよい。ビデ
オおよび/またはバーチャルビデオについてのパニングポイントはまた、時間的に同期されてもよい。例えば、ビデオおよび/またはバーチャルビデオについてのパニングポイントの集合(例えば各ビデオおよび/またはバーチャルビデオにつき1つのパニングポイント)は、ビデオおよび/またはバーチャルビデオの各々の中に同時に存在していてもよい(例えばパニングポイントは、ビデオおよび/またはバーチャルビデオの各々の中に5秒間存在していてもよい)、および/または、イベントロケーションで発生しているイベント内に同時に存在してもよい(例えばパニングポイントは、バスケットボールの試合で選手がボールを投げる直前であってもよい)。
【００２１】
一実施形態においては、パニングポイントは、ユーザ入力に基づいて特定されてもよい。例えば、イベントロケーション105の(例えばイベントの)ビデオおよび/またはバーチャルビデオを閲覧しているユーザは、ビデオおよび/またはバーチャルビデオ内の重要なおよび/または興味のある時点をパニングポイントとして特定してもよい(例えば演説のハイライト、フットボールの試合におけるタッチダウン等)。別の実施形態においては、パニングポイントは、ビデオおよび/またはバーチャルビデオ内のある特定のフレームおよび/またはイメージを選択してパニングポイントに該当するものとして特定してもよい。例えば、20フレームごとにパニングポイントとされてもよい。別の例においては、各イントラコードフレーム(intra-coded frame、Iフレーム)がパニングポイントとされてもよい。さらなる例においては、各第3のIフレームがパニングポイントとされてもよい。さらに別の例においては、ビデオおよび/またはバーチャルビデオ内の5秒間おきの各ブロックが、パニングポイントとされてもよい。さらなる実施形態においては、パニングポイントは、メトリックおよび/またはルールに基づいてビデオおよび/またはバーチャルビデオおよび1つまたは複数のパニングポイントを処理するようなアルゴリズム、関数、動作、および/または演算を用いて特定されてもよい。例えば、パニングポイントは、ビデオ内のシーンおよび/または風景の変化を検出するシーン検出アルゴリズムによって特定されてもよい。
【００２２】
複数のパニングポイントはビデオおよび/またはバーチャルビデオ全体にわたって(例えばビデオ内で同時および/またはイベントにおいて同時となるように)時間的に同期されているから、ユーザはまた、イベントロケーション105をパニングポイントで(例えばその時点で)パンアラウンドさせることが可能となる。例えば、ユーザがカメラ110Aによってキャプチャされたビデオを観ているとする。ユーザは、ビデオをビデオ内のパニングポイントで一時停止させることができる。ユーザは、イベントロケーション105をイベントロケーション105周りに時計回り方向におよび/または反時計回り方向に(図1に示す破線にしたがって)パンアラウンドさせることができる。例えば、ユーザは、イベントロケーション105の異なるビューポイント間を、パニングポイントで(例えば特定の時刻で)、図1に示す破線にしたがって時計回り方向および/または反時計回り方向に移動することができる。パンアラウンドしている間、ユーザのビューポイントは、イベントロケーション105に向けられてもよい。別の例において、ユーザがカメラ110Bによってキャプチャされたビデオを観ているとする。ユーザは、カメラ110Bによってキャプチャされたビデオを観ている間にカメラ120Bのビューポイントに向かってパンすることができ、カメラ120Bのビューポイントからのイベントロケーション105のバーチャルビデオの閲覧に切り替えることもできる。
【００２３】
一実施形態においては、ユーザは、パニングポイントの間および/またはパニングポイントで、異なるビデオおよび/またはバーチャルビデオを切り替えてもよい。例えば、ユーザは、バーチャルカメラ120Cのビューポイントからバーチャルビデオを観はじめてもよい。ユーザは、(ユーザインターフェース上のボタンを介して)ユーザが左側へ(例えば点線矢印に沿って時計回り方向に)パンしたいことを指示してもよい。メディアサーバは、バーチャルカメラ120Cのビューポイントからバーチャルビデオの提供を停止してもよく、ユーザが異なるポイントへパンしたい旨をユーザが指示した時点から開始して、カメラ110Dによってキャプチャされたビデオの提供を開始してもよい。
【００２４】
別の実施形態においては、メディアサーバは、イベントの実際のビデオおよび/またはイメージと、イベントロケーション105のバーチャルビデオおよび/またはイメージとに基づいて、イベントロケーション105の追加的ビデオ(例えばビデオストリーム)および/またはイメージを生成してもよい。前述したとおり、メディアサーバは、イベントロケーション105のビデオおよび/またはバーチャルビデオにおけるパニングポイントを特定してもよい。追加的ビデオは、ユーザに対して、特定されたパニングポイントでイベントロケーション105のパンアラウンドビューを提供してもよい。例えば、追加的ビデオは、ユーザに対して、特定時点におけるイベントロケーション105のパンアラウンドビューを提供してもよい。一実施形態においては、パンアラウンドビューは、イベントロケーション105の外縁および/または周縁からのイベントロケーション105のビューであってもよい。別の実施形態においては、図1に示す点線矢印の方向に沿ってイベントおよび/またはイベントロケーション105のパンアラウンドを行うことは、イベントおよび/またはイベントロケーション105の周りを回転する、といってもよい。また、追加的ビデオはパンアラウンドビデオと呼ばれてもよい。
【００２５】
メディアサーバは、パニングポイントの間またはパニングポイントで、イベントロケーション105のパンアラウンドビューを提供するパンアラウンドビデオ(例えば追加的ビデオ)を生成してもよい。例えば、パニングポイントは、ビデオおよび/またはバーチャルビデオに入ってから5秒であってもよい。メディアサーバは、ビデオおよび/またはバーチャルビデオを解析および/または処理して、パニングポイントの間および/またはパニングポイントで(例えばビデオおよび/またはバーチャルビデオにおいて5秒経過時)、イベントロケーション105のパンアラウンドビューを提供するパンアラウンドビデオを生成してもよい。一実施形態においては、パンアラウンドビデオ(特定時点においてイベントロケーション105のパンアラウンドビューを提供する)は、複数のビューポイントおよび/またはアングルからイベントを数回ユーザが閲覧することを可能としてもよい。例えば、サッカーの試合において、パニングポイントは、選手がゴールを決めようとする直前であってもよい。メディアサーバは、選手がゴールを決めようとしている時点でイベントロケーションおよび選手のパンアラウンドビューを提供するパンアラウンドビデオを生成してもよい。これは、ユーザが複数のアングルおよびビューポイントから(例えば正面ビューポイント、後面ビューポイント、右ビューポイント、左ビューポイント、対角線ビューポイント等から)選手を観ることを可能とするが、これは、ユーザに対してイベントのより一層有益な、より一層のめり込ませる、および/またはより一層インタラクティブな体験を提供することができる。
【００２６】
一実施形態においては、メディアサーバは、各パニングポイントに対して1つのパンアラウンドビデオ(例えばパンアラウンドビデオ)を生成してもよい。例えば、ビデオおよび/またはバーチャルビデオの各々は、20個のパニングポイントを有してもよく、20個のパニングポイントの各々が時間的に同期されてもよい。メディアサーバは、各パニングポイントについて20個のパンアラウンドビデオを生成してもよい。別の実施形態においては、メディアサーバは、各パニングポイントについて2つのパンアラウンドビデオを生成してもよい。第1のパンアラウンドビデオは、イベントロケーション105を、パニングポイントで、時計回り方向にパンアラウンドさせてもよく、第2のパンアラウンドビデオは、イベントロケーション105を、パニングポイントで、反時計回り方向にパンアラウンドさせてもよく、この逆であってもよい。
【００２７】
前述したとおり、ユーザは、パニングポイントでおよび/またはパニングポイントの間、異なるビデオおよび/またはバーチャルビデオ相互間を切り替えてもよい(例えばカメラのビューポイントから別のカメラまたはバーチャルカメラのビューポイントへ)。例えば、ユーザは、パニングポイントの間に、カメラ110Dによって生成されたビデオの閲覧からバーチャルカメラ120Dのビューポイントからのビデオの閲覧へ切り替えてもよい。また、上述のとおりユーザは、ビデオをパニングポイントで一時停止してもよく、イベントロケーションのパンアラウンドビデオ(例えば追加的ビデオ)の閲覧をパニングポイントで開始してもよい。また、ユーザはパンアラウンドビデオを一時停止させてもよい。一実施形態においては、ユーザがパンアラウンドビデオを一時停止すると、パンアラウンドビデオの再生は、パンアラウンドビデオ内のイベントロケーションの周りのある特定のロケーションに達するまでは一時停止しなくてもよい。特定のロケーションは、カメラ(例えばカメラ110Aないしカメラ110D)および/またはバーチャルカメラ(例えばバーチャルカメラ120Aないしバーチャルカメラ120D)が配置されている場所(例えば追加的パニングポイント)であってもよい。例えば、ユーザは、イベントロケーション105のパンアラウンドビデオを、カメラ110Aのビューポイントから開始して閲覧してもよい。パンアラウンドビデオは、イベントロケーション105を、図1の点線に沿って時計回り方向に、バーチャルカメラ120Aのビューポイントに向かってパンアラウンドさせてもよい。ビューポイントがカメラ110Aおよびバーチャルカメラ120Aの間にある際にユーザがパンアラウンドビデオを一時停止した場合、パンアラウンドビデオの再生は、実際には、バーチャルカメラ120Aのビューポイントに達するまで一時停止されなくてもよい。別の例においては、ユーザは、イベントロケーション105のパンアラウンドビデオの閲覧を、カメラ110Dのビューポイントから始めて、行ってもよい。パンアラウンドビデオは、イベントロケーション105を、図1の点線に沿って反時計回り方向に、バーチャルカメラ120Cのビューポイントに向かってパンアラウンドさせてもよい。ビューポイントがバーチャルカメラ120Cおよびカメラ110Cの間にある
際にユーザがパンアラウンドビデオを一時停止した場合、パンアラウンドビデオの再生は、実際には、カメラ110Cのビューポイントに達するまで一時停止されなくてもよい。一実施形態においては、パンアラウンドビデオの閲覧後、ユーザは、ビデオおよび/またはバーチャルビデオのいずれかの閲覧に再度切り替えてもよい。例えば、ユーザは、ユーザがパンアラウンドビデオの再生を終了してバーチャルビデオの再生を再開したいことを示すユーザ入力を提供してもよい。メディアサーバは、ユーザ入力に基づいて、バーチャルビデオからフレームおよび/またはイメージを提供してもよい。
【００２８】
一実施形態においては、バーチャルビデオおよび/またはパンアラウンドビデオは、カメラ110Aないしカメラ110Dによって生成されるビデオと比較して低い品質を有してもよい。例えば、カメラ110Aないしカメラ110Dは、解像度1080Pのビデオを生成してもよい。バーチャルビデオおよび/またはパンアラウンドビデオは、より低い解像度720Pを有してもよい。別の例においては、バーチャルビデオおよび/またはパンアラウンドビデオは、カメラ110Aないしカメラ110Dによって生成されるビデオと比較して少ない色を有してもよい。さらなる例においては、バーチャルビデオおよび/またはパンアラウンドビデオは、カメラ110Aないしカメラ110Dによって生成されるビデオと比較してより小さいフレームレート(例えばフレーム毎秒)を有してもよい。
【００２９】
一実施形態においては、ビデオ、バーチャルビデオ、および/またはパンアラウンドビデオは、ユーザに対してイベントおよび/またはイベントロケーション105のある特定のビューポイントを提供してもよい。ビデオ、バーチャルビデオ、および/またはパンアラウンドビデオは、ユーザがイベントおよび/またはイベントロケーションの3D視聴体験をシミュレートすることを可能とする。例えば、ユーザは、イベントおよび/またはイベントロケーションに対して、ある特定の時点において(例えば以下に詳述するようにパニングポイントで)パンアラウンドを行うことができる。3D視聴体験はビデオ内のある特定のビューポイントおよび/またはある特定の時間間隔(例えばパニングポイントで)において利用可能であるから、サーバ(例えばメディアサーバ)は、サーバはフル3D環境を生成する必要はないためそれ以上のリソース(例えば処理電力、ストレージスペース、ネットワーク帯域幅)を使用することなしに3D視聴体験をシミュレートすることができる。
【００３０】
一実施形態においては、カメラ110Aないしカメラ110Dは、イベントおよび/またはイベントロケーション105のビデオをリアルタイムでまたはほぼリアルタイムでキャプチャしてもよい。例えば、カメラ110Aないしカメラ110Dは、イベントがイベントロケーションで行われる間に、キャプチャされたビデオ(例えばビデオストリーム)をメディアサーバへ提供してもよい。また、バーチャルビデオおよび/またはパンアラウンドビデオはリアルタイムでまたはほぼリアルタイムで生成されてもよい。例えば、ユーザは、ライブイベントのビデオを一時停止させて、ライブイベントの異なるビュー(例えばバーチャルカメラからのビュー)へパンアラウンドしてもよく、また、異なるビューからのライブイベントのビデオの再生を継続してもよい。メディアサーバは、パンアラウンドビューおよびバーチャルビデオをリアルタイムでまたはほぼリアルタイムで生成して、ユーザがイベントおよび/またはイベントロケーション105の異なるビューへのパンアラウンドおよび変更をすることが可能となるようにしてもよい。別の例においては、ユーザは、物理的カメラ(例えばカメラ110B)によって生成されたイベントのビデオを閲覧してもよい。ビデオを閲覧する間、ユーザは、ユーザが右側にパンしたい(例えばバーチャルカメラ120Aに向かって)ことを指示してもよい。メディアサーバは、バーチャルカメラ120Aのビューポイントからイベントおよび/またはイベントロケーション105のバーチャルビデオを生成してもよい。
【００３１】
図2は、本開示の一実施形態に係るビデオ210、220、230、240、バーチャルビデオ215、225、235、245およびパンアラウンドビデオ250、255を示すブロック図である。前述したとおり、実際のおよび/または物理的カメラは、イベントロケーション(例えば図1に示すイベントロケーション)のビデオをキャプチャ、生成および/または取得してもよい。図1を再度参照すると、カメラ110Aは、ビデオ210をキャプチャおよび/または生成してもよく、カメラ110Bは、ビデオ220をキャプチャおよび/または生成してもよく、カメラ110Cは、ビデオ230をキャプチャおよび/または生成してもよく、かつ、カメラ110Dは、ビデオ240をキャプチャおよび/または生成してもよい。ビデオ210、220、230、240の各々は複数のフレームおよび/またはイメージで構成されている。例えば、ビデオ210はフレーム210Aないし210Xで構成されている。ビデオ220はフレーム220Aないし220Xで構成されている等である。また、上述のとおり、メディアサーバは、イベントロケーションの実際のビデオに基づいて、イベントロケーションのバーチャルビデオを生成してもよい。バーチャルビデオ215、225、235、245は、ビデオ210、220、230、240の1つまたは複数に基づいて生成されてもよい。バーチャルビデオは、バーチャルカメラからのイベントロケーションのビューおよび/またはビューポイントを提供してもよい。図1を再度参照すると、バーチャルビデオ215は、バーチャルカメラ120Aのビューポイントからのものであってもよく、バーチャルビデオ225は、バーチャルカメラ120Bのビューポイントからのものであってもよく、バーチャルビデオ235は、バーチャルカメラ120Cのビューポイントからのものであってもよく、およびバーチャルビデオ245は、バーチャルカメラ120Dのビューポイントからのものであってもよい。ビデオ215、225、235、245の各々は、複数のフレームおよび/またはイメージで構成されている。例えば、ビデオ215はフレーム215Aないし215Xで構成されている。ビデオ225はフレーム225Aないし225Xで構成されている等である。一実施形態においては、バーチャルビデオ215ないし245およびパンアラウンドビデオ250、255は、ビデオ210ないし240の1つまたは複数と比較して低い品質を有していてもよい。例えば、バーチャルビデオ215ないし245は、ビデオ210と比較して低い解像度、低い画質、少ない色等を有していてもよい。
【００３２】
前述したとおり、メディアサーバは、ビデオ210ないし240およびバーチャルビデオ215ないし245におけるパニングポイント(例えば時刻、イメージおよび/またはフレーム)を特定してもよい。メディアサーバは、ユーザに対してパニングポイントでのイベントロケーション105のパンアラウンドビューを提供する(パンアラウンドビデオ250、255のような)追加的ビデオを生成してもよい。図2を参照すると、メディアサーバは、フレーム210B、215B、220B、225B、230B、235B、240B、245Bでパニングポイントを特定してもよい。フレーム210B、215B、220B、225B、230B、235B、240B、245Bでのパニングポイントは時間的に同期されてもよい。例えば、フレーム210Bでのパニングポイントは、ビデオ210に入って1分18秒であってもよく、フレーム215Bでのパニングポイントは、バーチャルビデオ215に入って1分18秒であってもよく、フレーム220Bでのパニングポイントは、ビデオ220に入って1分18秒であってもよい等である。メディアサーバは、ビデオ210ないし240およびバーチャルビデオ215ないし245に基づいてパンアラウンドビデオ250を生成してもよい。一実施形態においては、パンアラウンドビデオは、ビデオ210ないし240およびバーチャルビデオ215ないし245から、フレーム210B、215B、220B、225B、230B、235B、240B、245Bで構成されてもよい。別の実施形態においては、パンビデオは、ビデオ210ないし240およびバーチャルビデオ215ないし245におけるフレームおよび/またはイメージに基づいて生成された新たなフレームおよび/または新たなイメージを含んでいてもよい。例えば、図1を参照すると、パンアラウンドビデオ250は、カメラ110Cおよびバーチャルカメラ120Cの間のアングルからのイベントロケーション105のビューポイントを提供するイベントロケーション105(パニングポイントで)のフレームおよび/またはイメージで構成されてもよい。
【００３３】
同様に、メディアサーバは、フレーム210G、215G、220G、225G、230G、235G、240G、245Gでパニングポイントを特定してもよい。フレーム210G、215G、220G、225G、230G、235G、240G、245Gでのパニングポイントは時間的に同期されてもよい(例えば各パニングポイントは、ビデオ210ないし240およびバーチャルビデオ215ないし245内で同時である)。メディアサーバは、ビデオ210ないし240およびバーチャルビデオ215ないし245に基づいてパンアラウンドビデオ255を生成してもよい。例えば、パンアラウンドビデオは、フレーム210G、215G、220G、225G、230G、235G、240G、245Gで構成されてもよく、および/または、ビデオ210ないし240およびバーチャルビデオ215ないし245におけるフレームおよび/またはイメージに基づいて生成された、新たなフレームおよび/または新たなイメージで構成されてもよい。
【００３４】
一実施形態においては、メディアサーバは、ユーザが異なるカメラおよび/またはバーチャルカメラの間でパンアラウンドをすることができるようなパニングポイント(例えば時間間隔)を特定してもよい(例えば異なるビデオおよび/またはバーチャルビデオ間での閲覧の変更)。図2に示すように、メディアサーバは、パニングポイント260を特定してもよい。パニングポイント260の間に、ユーザは、イベントおよび/またはイベントロケーションの異なるビデオおよび/またはバーチャルビデオ相互間で切り替えてもよい。例えば、図1を再度参照すると、ユーザが(カメラ110Bによって生成される)イベントロケーション105のビデオ220を観ていて、ビデオ200のフレーム220Dに位置しているとする。そして、ユーザは(例えばユーザインターフェース上のボタンを押下して)ユーザがバーチャルカメラ120Bに向かって左へパンしたい旨を指示したとする。メディアサーバは、フレーム225Dまたは225Eから開始して、バーチャルビデオ225をユーザに提供してもよい。別の実施形態においては、ユーザは、ユーザがパニングポイントの前に異なるカメラおよび/またはバーチャルカメラに向かってパンしたい旨を指示してもよい。例えば、図1を再度参照すると、ユーザが(バーチャルカメラ120Cのビューポイントから)バーチャルビデオ235を観ていて、ビデオ235におけるフレーム235Cに位置していたとする。そして、フレーム235Cでユーザはユーザがカメラ110Dに向かってパンしたい旨を指示したとする。ユーザがビデオ235内のパニングポイント260に達していないため、メディアサーバは、ユーザがビデオ235内のフレーム235Dに達するまで待機してもよい(例えばビデオ235がパニングポイントに達するまで)。メディアサーバは、ビデオ240を、フレーム240Dまたは240Eから開始してユーザに(例えばユーザのクライアントデバイスに)提供してもよい。
【００３５】
一実施形態においては、メディアサーバはまた、パンアラウンドビデオ250、255におけるパニングポイントを特定してもよい。パンアラウンドビデオ250、255におけるパニングポイントは、ユーザがパンアラウンドビデオの再生250、255を一時停止できるようなパンアラウンドビデオ250、255内の時刻、時間間隔、フレーム、および/またはイメージであってもよい。一実施形態においては、パニングポイントは、カメラおよび/またはバーチャルカメラのビューポイントからのイベントロケーション105のビューポイントを提供するイメージおよび/またはフレームであってもよい。例えば、図1を再度参照すると、パンアラウンドビデオ250におけるパニングポイントは、カメラ110Aないしカメラ110Dおよび/またはバーチャルカメラ120Aないしバーチャルカメラ120Dのいずれかのビューポイントからのイベントロケーションのビューポイントを提供するフレームであってもよい。図2に示すように、メディアサーバは、パンアラウンドビデオ250におけるフレーム210B、215B、220B、225B、235B、240Bおよび245Bでのパニングポイントを特定してもよい。図1を再度参照すると、フレーム210Bは、カメラ110Aのビューポイントからのイベントロケーション105のビューポイントを提供してもよく、フレーム215Bは、バーチャルカメラ120Aのビューポイントからのイベントロケーション105のビューポイントを提供してもよく、フレーム220Bは、カメラ110Bのビューポイントからのイベントロケーション105のビューポイントを提供してもよい等である。
【００３６】
一実施形態においては、ユーザは、パンアラウンドビデオの再生を停止してビデオ210ないし240またはバーチャルビデオ215ないし245のいずれかの再生が再開されるべきことを示すユーザ入力を提供してもよい。例えば、パンアラウンドビデオ255を再生する際、ユーザは、パンアラウンドビデオの再生をフレーム230Gで一時停止するユーザ入力を提供してもよい。ユーザは、ユーザがパンアラウンドビデオの再生を停止したいことを示す追加的入力を提供してもよい。メディアサーバは、ユーザのクライアントデバイス上のメディアビューワへビデオ230からフレームの提供を開始してもよい。例えば、メディアサーバは、フレーム230Gから開始してビデオ230のフレームの提供を開始してもよい。
【００３７】
一実施形態においては、実際のカメラ(例えばビデオ210ないし240、バーチャルビデオ(例えばバーチャルビデオ215ないし245)および/またはパンアラウンドビデオ(例えばパンアラウンドビデオ250、255)によって生成されたビデオはまた、ビデオストリームと呼ばれてもよい。メディアサーバ(図3に示すとおり)は、クライアントデバイスがビデオストリームを再生することができるように、ビデオストリーム(例えばビデオ、バーチャルビデオ、および/またはパンアラウンドビデオ)をクライアントデバイスに提供してもよい。
【００３８】
図3は、本開示の一実施形態に係るシステムアーキテクチャの例300を図示したものである。システムアーキテクチャ300は、ネットワーク305に接続された、カメラ110Aないしカメラ110Dと、データストア310と、メディアサーバ330と、クライアントデバイス340および350を備えている。ネットワーク305は、パブリックネットワーク(例えばインターネット)、プライベートネットワーク(例えばローカルエリアネットワーク(LAN)またはワイドエリアネットワーク(WAN))、有線ネットワーク(例えばEthernet(登録商標)ネットワーク)、無線ネットワーク(例えば802.11ネットワークまたはWi-Fiネットワーク)、セルラーネットワーク(例えばLong Term Evolution(LTE)ネットワーク)、ルータ、ハブ、スイッチ、サーバコンピュータ、および/またはこれらの組み合わせを備えていてもよい。
【００３９】
カメラ110Aないしカメラ110Dは、図1に示すカメラアーキテクチャの一部とされてもよい。カメラ110Aないしカメラ110Dは、様々なレイアウトおよび/またはポジションにおいてイベントロケーション(例えば図1に示すイベントロケーション105)の周りに位置していてもよい。カメラ110Aないしカメラ110Dの各々は、各カメラ110Aないし110Dに対してイベントロケーションの特定のビューポイントを提供する位置に配置されてもよい。カメラ110Aないしカメラ110Dの各々は、ビデオおよび/またはイメージを生成してもよい。例えば、図2を再度参照すると、カメラ110Aはビデオ210を生成し、カメラ110Bはビデオ220を生成する等となる。ビデオ210ないし240の各々は、フレームおよび/またはイメージで構成されてもよい。例えば、ビデオ220はフレーム220Aないし220Xで構成されている。
【００４０】
メディアサーバ330は、ラックマウントサーバ、ルータコンピュータ、サーバコンピュータ、パーソナルコンピュータ、メインフレームコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、デスクトップコンピュータ等のような1つまたは複数のコンピューティングデバイスであってもよい。メディアサーバ330はイメージモジュール335を備えている。一実施形態においては、イメージモジュール335は、カメラ110Aないしカメラ110Dによって生成されて(ビデオデータ311の一部に格納された)ビデオを解析して、1つまたは複数のバーチャルビデオを生成してもよい(図1および図2との関連で上述したとおり)。1つまたは複数のバーチャルビデオは、イベントロケーションの周りに位置した1つまたは複数のバーチャルカメラのビューポイントからのイベントロケーション(例えば図1に示すイベントロケーション105)のビデオであってもよい。別の実施形態においては、イメージモジュール335は、ビデオデータ311に格納されたビデオ内およびバーチャルビデオデータ312に格納されたバーチャルビデオ内のパニングポイントを特定してもよい。ビデオおよび/またはバーチャルビデオ内のパニングポイントは、時間的に同期されてもよい。イメージモジュール335はまた、パニングポイントにおけるイベントロケーションの周りのパンアラウンドビューを提供するパンアラウンドビデオ(例えば追加的ビデオ)を生成してもよい(図1および図2との関連で上述したとおり)。イメージモジュール335はまた、ユーザ入力に基づいて異なるビデオおよび/またはバーチャルビデオを切り替えながら、ある時間間隔の間(例えばパンニングアウトの間)、イベントロケーションに対してパンアラウンドを行うことをユーザができるようにしてもよい。
【００４１】
ビデオ210ないし240(カメラ110Aないしカメラ110Dによって生成される)は、データストア310内のビデオデータ311に格納されてもよい。イメージモジュール335(後述する)によって、ビデオ210ないし240に基づいて生成されたバーチャルビデオは、データストア310内のバーチャルビデオデータ312に格納されてもよい。例えば、図2を再度参照すると、バーチャルビデオ215、225、235および245は、データストア310内のバーチャルビデオデータ312に格納されてもよい。イメージモジュール335(後述する)によって、ビデオ210ないし240および/またはバーチャルビデオに基づいて生成されたパンアラウンドビデオは、データストア310内のパンアラウンドビデオデータ313に格納されてもよい。例えば、図2を再度参照すると、パンアラウンドビデオ250および255は、データストア310内にパンアラウンドビデオデータ313において格納されてもよい。一実施形態においては、データストア310は、メモリ(例えばランダムアクセスメモリ)、キャッシュ、ドライブ(例えばハードドライブ)、フラッシュドライブ、データベースシステムまたはデータを記憶することができる別のタイプのコンポーネントまたはデバイスであってもよい。データストア310はまた、複数のコンピューティングデバイス(例えば複数のサーバコンピュータ)にまたがるような複数のストレージコンポーネント(例えば複数のドライブまたは複数のデータベース)で構成されてもよい。一実施形態においては、データストア310は、複数のイベントおよび/またはイベントロケーションのビデオ、バーチャルビデオ、パンアラウンドビデオを含んでもよい。例えば、データストア310は、フットボールの試合、記者会見、および/または政治討論のビデオ、バーチャルビデオ、パンアラウンドビデオを含んでもよい。
【００４２】
一実施形態においては、イメージモジュールは、異なるイベントおよび/または異なるロケーションのビデオ、バーチャルビデオおよびパンアラウンドビデオを再生する要求をクライアントデバイス340および/または350から受信してもよい(例えばメディアビューワ341および/または351から要求を受信してもよい)。イメージモジュール335は、イベントおよび/またはイベントロケーションを示すデータをクライアントデバイス340および/または350から受信してもよい。イメージモジュール335は、イベントおよび/またはイベントロケーションに対して1つまたは複数のビデオ、バーチャルビデオ、パンアラウンドビデオをクライアントデバイス340および/または350に提供してもよい。一実施形態においては、イメージモジュール335は、ユーザがビデオおよび/またはバーチャルビデオの再生の間にイベントおよび/またはイベントロケーションをパンアラウンドしたいことを示すユーザ入力を受信してもよい。イメージモジュール335は、ユーザがそこへ変更したい(例えばパンしたい)ビューポイントに対応するビデオおよび/またはバーチャルビデオを特定してもよい。イメージモジュール335は、ビデオおよび/またはバーチャルビデオ内の次のパニングポイントで、特定されたビデオおよび/またはバーチャルビデオへ切り替えてもよい(図2との関連で上述したとおり)。別の実施形態においては、イメージモジュール335は、ユーザがビデオおよび/またはバーチャルビデオの再生を一時停止したいことを示すデータ(例えばユーザ入力)を受信してもよい。ユーザ入力に基づいて、イメージモジュール335は、ビデオおよび/またはバーチャルビデオにおける次のパニングポイントで、ビデオおよび/またはバーチャルビデオの再生を一時停止してもよい(例えばビデオおよび/またはバーチャルビデオのフレームおよび/またはイメージの提供または送信を停止してもよい)。また、イメージモジュール335は、ユーザがパニングポイントでイベントロケーションをパンアラウンドしたいことを示す追加的データ(例えば追加的ユーザ入力)を受信してもよい。追加的ユーザ入力に基づいて、イメージモジュール335は、パニングポイントに対して生成されたパンアラウンドビデオをクライアントデバイス340および/または350に提
供してもよい。
【００４３】
さらなる実施形態においては、イメージモジュール335はまた、ユーザがパンアラウンドビデオの再生を一時停止したいことを示すデータ(例えばユーザ入力)を受信してもよい。イメージモジュール335は、パンアラウンドビデオにおける次のパニングポイントで、パンアラウンドビデオの再生を一時停止してもよい(例えばパンアラウンドビデオのフレームおよび/またはイメージの提供または送信を停止してもよい)。一実施形態においては、イメージモジュール335は、パンアラウンドビデオの再生が停止されるべきことおよびビデオおよび/またはバーチャルビデオのいずれかの再生が再開されるべきことを示すユーザ入力を受信してもよい。例えば、図2を再度参照すると、パンアラウンドビデオ250を再生する際、ユーザは、ユーザがパンアラウンドビデオの再生をフレーム225Bで停止したいことを示すユーザ入力を提供してもよい。イメージモジュール335は、バーチャルビデオ225からユーザのクライアントデバイス上のメディアビューワへフレームの提供を開始してもよい。例えば、イメージモジュール335は、フレーム225Bから開始して、バーチャルビデオ225のフレームの提供を開始してもよい。
【００４４】
一実施形態においては、イメージモジュール335はまた、GUIを備えたメディアビューワをクライアントデバイス340および/または350に提供してもよい。例えば、イメージモジュール335は、図2に示すGUI200を備えたメディアビューワを提供してもよい。一実施形態においては、イメージモジュール335は、クライアントデバイス340および/または350に対して、エンベデッドメディアビューワ(例えばウェブページに埋め込まれたFlash(登録商標)プレーヤまたはHTML5プレーヤ)を提供してもよい。別の実施形態においては、イメージモジュール335は、スタンドアローンのメディアビューワ(例えばメディアプレーヤアプリケーション)をクライアントデバイス340および/または350に提供してもよい。イメージモジュール335は、ユーザからメディアビューワの一部であるGUIを介してユーザ入力を受信してもよい。例えば、イメージモジュール335は、ユーザがビデオの再生を一時停止したいことを示すユーザ入力を受信してもよい。イメージモジュール335は、イメージをクライアントデバイス340および/または350に対して提供することを停止してもよい。別の例においては、イメージモジュール335は、ユーザがイベントロケーションをパンアラウンドしたいことを示すユーザ入力を(メディアビューワ341および/または351から)受信してもよい。イメージモジュール335は、パニングポイントに対してパンアラウンドビデオを生成して、クライアントデバイス340および/または350に対して(例えばメディアビューワ341および/または351に対して)パンアラウンドビデオを提供してもよい。別の例においては、イメージモジュール335は、ユーザがビデオの再生の間にパンアラウンドを行いたいことを示すユーザ入力を受信してもよい。イメージモジュールは、特定されたビデオおよび/またはバーチャルビデオにおける次のパニングポイントから開始して、ユーザがパンアラウンドを行いたいビューポイントに対してバーチャルビデオおよび/またはビデオを特定して、特定されたビデオおよび/またはバーチャルビデオをクライアントデバイス350および/または350に対して提供してもよい。
【００４５】
一実施形態においては、メディアサーバ330は、アダプティブビットレート(ABR)ストリーミングアーキテクチャを備えかつこれを用いて、ビデオ(例えばビデオ、バーチャルビデオ、パンアラウンドビデオ)をクライアントデバイス340および/または350に提供する(例えばストリーミング配信する)ようにしてもよい。一般に、ABRストリーミングアーキテクチャは、異なる品質(例えば異なるビットレート)と異なるビデオのポーション(例えばビデオストリーム)とをクライアントデバイスに対して動的に提供することができる。異なるABRストリーミングアーキテクチャには、これらに限定するものではないが、DASH(Dynamic Adaptive Streaming over Hypertext Transfer Protocol)、HLS(HTTP Live Streaming)等が含まれる。
【００４６】
クライアントデバイス340、350は、それぞれ、パーソナルコンピュータ(PC)、ラップトップ、携帯電話、スマートフォン、タブレットコンピュータ、ネットブックコンピュータ等のコンピュータデバイスを備えている。クライアントデバイス340はメディアビューワ341を備えており、クライアントデバイス350はメディアビューワ351を備えている。一実施形態においては、メディアビューワ341および/または351は、イメージ、ビデオ、ウェブページ、ドキュメント等のコンテンツをユーザが閲覧することを可能とするアプリケーションであってもよい。例えば、メディアビューワ341は、ウェブサーバによって提供されるコンテンツ(例えばハイパーテキストマークアップランゲージ(HTML)ページのようなウェブページ、デジタルメディアアイテム等)にアクセスし、検索、提示および/またはナビゲートすることができるウェブブラウザとされてもよい。メディアビューワ341は、コンテンツ(例えばウェブページ、メディアプレーヤ)を再現し、表示し、および/またはユーザに提示してもよい。メディアビューワ341はまた、ウェブページ(例えばオンラインマーチャントによって販売されている製品に関する情報を提供するようなウェブページ)に埋め込まれたエンベデッドメディアプレーヤ(例えばFlash(登録商標)プレーヤまたはHTML5プレーヤ)を表示してもよい。別の例においては、メディアビューワ341および/または351は、デジタルメディアアイテム(例えばデジタルビデオ、デジタルイメージ、電子書籍等)をユーザが閲覧することを可能とするスタンドアローンのアプリケーションであってもよい。メディアビューワ341および351は、メディアサーバ330によって、クライアントデバイス350および340に対して提供されてもよい。例えば、メディアビューワ341は、メディアサーバ330によって提供されるウェブページに埋め込まれたエンベデッドメディアプレーヤとされてもよい。別の例においては、メディアビューワ351は、メディアサーバ330からダウンロードされるアプリケーションであってもよい。
【００４７】
図4は本開示の一実施形態に係る例示的グラフィカルユーザインターフェース(GUI)400の説明図である。一実施形態においては、GUI400は、メディアサーバ(例えば図3との関連で以下に記載および説明するメディアサーバ)によって提供されるメディアビューワの一部とされてもよい。例えば、GUI400は、ウェブページに埋め込まれたメディアビューワ(例えばFlash(登録商標)プレーヤまたはHTML5プレーヤのようなエンベデッドメディアビューワ)の一部とされてもよく、GUI400は、クライアントデバイス上で実行されるウェブブラウザによって表現されてもよい。別の実施形態においては、GUI400は、ウェブページから独立のメディアビューワ(例えばスタンドアローンのメディアビューワであってもよい)の一部とされてもよい。例えば、メディアビューワは、クライアントデバイスで実行される独立したアプリケーションであってもよい。
【００４８】
GUI400は、(イベントロケーション105の)ビデオ、バーチャルビデオ、および/またはパンアラウンドビデオの再生/表示または他のメディアアイテム(例えば他のデジタルビデオまたはデジタル音楽)の再生/表示をコントロールするのに用いることができるメディアビューワコントロールを備えている。メディアビューワコントロールは、再生ボタン421と、一時停止ボタン422と、巻き戻しボタン423と、早送りボタン424と、音量ボタン425とを備えている。再生ボタン421により、ユーザはビデオ、バーチャルビデオおよび/またはパンアラウンドビデオの再生の開始および/または再開をすることができる。一時停止ボタンにより、ユーザはビデオ、バーチャルビデオ、および/またはパンアラウンドビデオの再生の一時停止および/または一時停止解除をすることができる。巻き戻しボタン423により、ユーザはビデオ、バーチャルビデオおよび/またはパンアラウンドビデオにおける前の時点へ巻き戻し再生、移動および/またはスキップをすることができる。早送りボタン424により、ユーザはビデオ、バーチャルビデオおよび/またはパンアラウンドビデオにおける後の時点へ早送り再生、移動および/またはスキップをすることが可能となる。また、GUI400は再生時間ディスプレイ413と、再生バー411と、再生スライダ412とを備えている。再生時間ディスプレイ413は、ビデオ、バーチャルビデオ、および/またはパンアラウンドビデオについて現在再生時間および/または総再生時間を表示することができる。例えば、ビデオ、バーチャルビデオ、および/またはパンアラウンドビデオの総再生時間(例えば全長)は2分30秒(例えば2:30)であってもよい。現在再生時間は、デジタルメディアアイテムの再生における現在時間/位置(例えば1分53秒または1:53)であってもよい。再生スライダ412は、現在再生時間(例えば1:53)に対応する再生バー411の一領域に位置している。再生スライダ412は、再生時間ディスプレイ413に表示された現在再生時間を調整するために再生バー411の他の任意の領域へ調節(例えばドラッグ)されてもよい。
【００４９】
GUI400は、イベントロケーション105のビデオ、バーチャルビデオおよび/またはパンアラウンドビデオを表示するようなメディアポーション405を備えている。例えば、メディアポーション405は、ビデオ、バーチャルビデオまたはパンアラウンドビデオが表示されるGUI400の一部分であってもよい。また、メディアポーション405は他のタイプのビデオ、イメージ、音楽および/またはその他のメディアアイテムを再生してもよい。メディアポーション405はまた、矢印441ないし442を備えている。一実施形態においては、ユーザは矢印441ないし442を用いて、ビデオおよび/またはバーチャルビデオの再生の間に、イベントおよび/またはイベントロケーションのパンアラウンドを行ってもよい。例えば、図2を再度参照すると、ユーザは、ビデオ210を観ておりこのビデオ210におけるフレーム210Cに位置しているとする。ユーザは、矢印441をクリックし、メディアサーバは、フレーム215Dから開始して(例えば次のパニングポイントから開始して)クライアントデバイスへのバーチャルビデオ215の提供を開始してもよい。別の実施形態においては、ユーザがビデオおよび/またはバーチャルビデオの再生を一時停止すると、ユーザは、矢印441ないし442を用いてイベントロケーション105のパンアラウンドビデオの再生を開始してもよい。例えば、図1を再度参照すると、ユーザが矢印441をクリックすると、メディアビューワは、ユーザが現在のパニングポイントと関連付けられたイベントロケーション105のパンアラウンドビデオを閲覧したいことを示すデータを送ってもよい。メディアサーバは、パンアラウンドビデオを特定して、反-時計回り方向に移動するパンアラウンドビデオからイメージおよび/またはフレームをメディアビューワに提供してもよい。別の例においては、ユーザが矢印442をクリックすると、メディアサーバは、時計回り方向に移動するパンアラウンドビデオをメディアビューワに対して特定してもよい。GUI400はまた、ボタン443を備えている。ユーザがボタン443を起動および/またはクリックすると、これは、ユーザがパンアラウンドビデオの再生を停止したいおよびビデオおよび/またはバーチャルビデオの再生を開始および/または再開したいことを指示するものであってもよい
。一実施形態(図面に図示しない)においては、GUI400はまた、ユーザがビデオの再生の間にズームインおよび/またはズームアウトをすることを可能とするボタン(例えば拡大鏡ボタン)を備えていてもよい。これにより、ユーザがイベントロケーション105のより近いビューおよび/または遠いビューを得ることが可能となる。
【００５０】
音量ボタン425は、ユーザがビデオ中の音声、音楽、および/またはその他の可聴雑音の音量を制御することを可能とするものであってもよい。一実施形態においては、音量バー431および音量スライダ432は、ユーザが音量ボタン425をクリックおよび/または起動すると表示されるようにしてもよい。例えば、音量バー431および音量スライダ432は、GUI400に初めから表示されるものでなくてもよい。ユーザが音量ボタン425をクリックした後で音量バー431および音量スライダ432が表示されるようにしてもよい。ユーザは、音量スライダ432を音量バー231に沿って上下に移動および/またはスライドさせてビデオ中の音声、音楽、および/またはその他の可聴雑音の音量を制御してもよい。例えば、ユーザは、音量スライダ432を上にスライドさせて音量を大きくし、または、音量スライダ432を下にスライドさせて音量を小さくしてもよい。
【００５１】
図5は本開示の一実施形態に係るイメージモジュールを示すブロック図である。イメージモジュール335は、バーチャルビデオモジュール505と、パンアラウンドビデオモジュール510と、パニングポイントモジュール515と、メディアビューワモジュール520と、カメラモジュール525とを備えている。汎用性が失われないかぎりでこれより多くのまたは少ないコンポーネントがイメージモジュール335に含まれてもよい。例えば、2つのモジュールを組み合わせて単一のモジュールとしてもよく、または1つのモジュールを分割して2つまたはそれ以上のモジュールとしてもよい。一実施形態においては、1つまたは複数のモジュールが、異なるコンピューティングデバイス(例えば異なるサーバコンピュータ)上に存在していてもよい。
【００５２】
イメージモジュール335は、データストア310と通信可能に接続されている。例えば、イメージモジュール335は、ネットワークを介して(例えば図3に示すようにネットワーク505経由で)データストア310に接続されてもよい。別の例においては、イメージモジュール335は、イメージモジュール335が存在しているサーバに直接的に接続されてもよい(例えばメディアサーバ330に直接的に接続されてもよい)。データストア310は、メモリ(例えばランダムアクセスメモリ)、キャッシュ、ドライブ(例えばハードドライブ)、フラッシュドライブ、データベースシステムまたはデータを記憶することができる他のタイプのコンポーネントまたはデバイスとされてもよい。また、データストア310は、複数のコンピューティングデバイス(例えば複数のサーバコンピュータ)にまたがるような複数のストレージコンポーネント(例えば複数のドライブまたは複数のデータベース)で構成されてもよい。図4との関連で上述したとおり、データストア310はビデオデータ311、バーチャルビデオデータ312およびパンアラウンドビデオデータ313を含む。
【００５３】
一実施形態においては、カメラモジュール525は、(図1に示すように)カメラアーキテクチャからのカメラと通信を行ってもよい。カメラモジュール525は、カメラアーキテクチャに属するカメラからビデオ(例えばイメージおよび/またはフレームのシーケンス)を受信して、イメージアレイをデータストア310に記憶してもよい。例えば、図1および図2を再度参照すると、カメラモジュール525は、カメラ110Aないしカメラ110Dによって生成されたビデオ(例えばイメージアレイ)を受信してもよい。カメラモジュール525は、ビデオをビデオデータ311内に格納してもよい。
【００５４】
一実施形態においては、バーチャルビデオモジュール505は、イベントおよび/またはイベントロケーションの周りに位置した1つまたは複数のバーチャルカメラのビューポイントからのイベントおよび/またはイベントロケーションのバーチャルビデオを生成してもよい。例えば、図1を参照すると、バーチャルビデオモジュール505は、バーチャルカメラ120Cのビューポイントからのイベントロケーション105のバーチャルビデオを生成してもよい。バーチャルビデオモジュール505は、物理的(例えば実際のカメラ)によってキャプチャされた1つまたは複数のビデオに基づいてバーチャルビデオを生成してもよい。
【００５５】
一実施形態においては、パニングポイントモジュール515は、(ビデオデータ311および/またはバーチャルビデオデータ312に格納されている)ビデオおよび/またはバーチャルビデオ内のパニングポイントを特定してもよい。パニングポイントモジュール515は、ユーザ入力に基づいてパニングポイントを特定してもよい。また、パニングポイントモジュール515は時間間隔またはフレーム数に基づいてパニングポイントを特定してもよい。例えば、パニングポイントモジュール515は、10秒毎または20フレーム毎にパニングポイントを特定してもよい。また、パニングポイントモジュール515は任意の数の異なるアルゴリズム、関数、演算および/またはメトリックを用いてパニングポイントを特定してもよい。例えば、パニングポイントモジュール515は、シーン検出アルゴリズムを用いてパニングポイントを特定してもよい。また、パニングポイントモジュール515はパンアラウンドビデオ内のパニングポイントを特定してもよい。例えば、パニングポイントモジュール515は、物理的カメラまたはバーチャルカメラのビューポイントからのイベントロケーションのビューを提供するパニングポイントビデオ内の各フレームがパニングポイントであると判定してもよい。
【００５６】
一実施形態においては、パンアラウンドビデオモジュール510は、イベントおよび/またはイベントロケーションのパンアラウンドビデオを生成してもよい。例えば、パンアラウンドビデオモジュール510は、ビデオおよび/またはバーチャルビデオ内のパニングポイントでパンアラウンドビデオを生成してもよい。パンアラウンドビデオモジュール510は、パンアラウンドビデオにおけるビデオおよび/またはバーチャルビデオから実際のフレームおよび/またはイメージを用いてもよい。また、パンアラウンドビデオモジュール510はパンアラウンドビデオにおけるビデオおよび/またはバーチャルビデオから実際のフレームおよび/またはイメージに基づいて新たなフレームを生成してもよい。
【００５７】
図6ないし図8は、ビデオを生成してクライアントデバイスに提供する方法を示すフロー図である。説明の便宜上、方法は一連の動作として説明および記載されている。しかしながら、本開示に係る動作は、様々な順序で発生しおよび/またはここに記載されていない動作と同時的に発生することがありうる。さらに、必ずしもすべてが図示されていない動作が、本開示の技術的事項に係る方法を実装するために必要となることも想定される。加えて、当業者であれば、これらの方法が状態図による、相互関係性を有する一連の状態としてまたは複数のイベントとして代替的に表現されることを理解しうるであろう。
【００５８】
一実施形態においては、メディアビューワモジュール520は、メディアビューワをクライアントデバイス(例えば図3に示すクライアントデバイス340)に提供してもよい。例えば、メディアビューワモジュール520は、インストールファイル、ソフトウェアコンポーネント/モジュール、バイナリファイル等をクライアントデバイスに提供してもよく、クライアントデバイスは、メディアビューワをクライアントデバイスにインストールしてもよい。別の例においては、メディアビューワモジュール520は、エンベデッドメディアビューワ(例えばFlash(登録商標)プレーヤ、HTML5プレーヤ等)を含むウェブページをクライアントに提供してもよい。クライアントデバイスは、エンベデッドメディアビューワを用いてウェブページにアクセスすることで、イベントロケーションのビデオ、バーチャルビデオおよびパンアラウンドビデオを閲覧することができる。
【００５９】
図6は、本開示の一実施形態に係るバーチャルビデオを生成する方法を示すフロー図である。方法600は、ハードウェア(例えば回路、専用ロジック、プログラマブルロジック、マイクロコード等)、ソフトウェア(例えばハードウェアシミュレーションを行うためにプロセッサ上で実行される命令)またはこれらの組み合わせを含むロジックを処理することにより行われてもよい。一実施形態においては、方法600は、図3および5に示すようにイメージモジュールによって行われてもよい。
【００６０】
図6を参照すると、方法600は、方法600が複数のビデオを受信するブロック605で開始する。例えば、方法600は、実際のカメラ(例えば図1に示すカメラ110Aないしカメラ110D)によって生成されたビデオを受信してもよい。ブロック610において、方法600は、バーチャルビデオを受信および/または生成してもよい。例えば、方法600は、複数のビデオに基づいて別のコンピューティングデバイス(例えば別のサーバ)によって生成されたバーチャルビデオを受信してもよい。別の例においては、方法600は、複数のビデオに基づいてバーチャルビデオを生成してもよい。方法600は、ビデオおよびバーチャルビデオにおける複数のパニングポイントを特定してもよい(ブロック615)。例えば、方法600は、パニングポイントを特定するユーザ入力に基づいてパニングポイントを特定してもよい(例えばイベントの重要な時刻および/または部分を特定するユーザ入力に基づいて)。別の例においては、方法600は、ビデオにおけるIフレーム一つおきをパニングポイントとして、パニングポイントを特定してもよい。さらなる例においては、方法600は、10秒毎にパニングポイントを特定してもよい。ブロック620において、方法600は、1つまたは複数のパンアラウンドビデオを、複数のパニングポイントの1つまたは複数に基づいて生成する。例えば、図2を再度参照すると、方法600は、フレーム、210B、215B、220B、230B、235B、240Bまたは245Bでのパニングポイントの1つまたは複数に基づいてパンアラウンドビデオ250を生成してもよい。ブロック620の後、方法600は終了する。
【００６１】
図7Aは、本開示の一実施形態に係るビデオをクライアントデバイスに提供するメソッド700を示すフロー図である。方法700は、ハードウェア(例えば回路、専用ロジック、プログラマブルロジック、マイクロコード等)、ソフトウェア(例えばハードウェアシミュレーションを行うためにプロセッサ上で実行される命令)またはこれらの組み合わせを含むロジックを処理することにより行われてもよい。一実施形態においては、方法700は、図3および5に示すようにイメージモジュールによって行われてもよい。
【００６２】
図7Aを参照すると、方法700は、方法700がイベントおよび/またはイベントロケーションの実際のビデオに基づいてバーチャルビデオおよびパンアラウンドビデオを生成するブロック705で開始する。例えば、図2を再度参照すると、方法700は、ビデオ210、220、230、240に基づいてバーチャルビデオ215、225、235、245を生成してもよい。また、方法700はビデオ210、215、220、225、230、235、240、245におけるパニングポイントに基づいてパンアラウンドビデオを生成してもよい。ブロック710において、メソッドはビデオまたはバーチャルビデオをクライアントデバイスに提供する。例えば、図1を参照すると、ユーザは、クライアントデバイスを用いてイベントおよび/またはイベントロケーション105のビデオを閲覧して、バーチャルカメラ120Cのビューポイントからのビデオを選択してもよい。方法700は、バーチャルカメラ120Cのビューポイントからのビデオをクライアントデバイスに提供してもよい。方法700は、ビデオまたはバーチャルビデオの再生を一時停止するユーザ入力を受信する。方法700は、ビデオまたはバーチャルビデオ(ブロック720)における次のパニングポイントを特定して、次のパニングポイントでビデオの再生を一時停止する(ブロック725)。例えば、図2を再度参照すると、方法700は、バーチャルビデオ235におけるフレーム235Gでパニングポイントを特定してもよく、バーチャルビデオ235の再生をフレーム235Gで一時停止してもよい。ブロック730において、方法700は、次のパニングポイントに基づいてパンアラウンドビデオを特定してもよい。例えば、図2を再度参照すると、方法700は、フレーム235Gでのパニングポイントに基づいてパンアラウンドビデオ255を特定してもよい。別の例においては、方法700は、パニングポイントに基づいて(図2との関連で上述したとおり)パンアラウンドビデオを生成してもよい。方法700は、ブロック735においてパンアラウンドビデオをクライアントデバイスに提供する。ブロック735の後、方法700は終了する。
【００６３】
図7Bは本開示の別の実施形態に係る、ビデオをクライアントデバイスに提供するメソッド750を示すフロー図である。方法750は、ハードウェア(例えば回路、専用ロジック、プログラマブルロジック、マイクロコード等)、ソフトウェア(例えばハードウェアシミュレーションを行うためにプロセッサ上で実行される命令)またはこれらの組み合わせを含むロジックを処理することにより行われてもよい。一実施形態においては、方法750は、図3および5に示すようにイメージモジュールによって行われてもよい。
【００６４】
図7Aを参照すると、方法750は、方法750がイベントおよび/またはイベントロケーションの実際のビデオに基づいてバーチャルビデオおよびパンアラウンドビデオを生成するブロック755で開始する。ブロック760において、方法はビデオまたはバーチャルビデオをクライアントデバイスに提供する。例えば、図1を参照すると、ユーザは、クライアントデバイスを用いてイベントおよび/またはイベントロケーション105のビデオを閲覧して、バーチャルカメラ120Cのビューポイントからのビデオを選択してもよい。方法750は、バーチャルカメラ120Cのビューポイントからのビデオをクライアントデバイスに提供してもよい。方法750は、ブロック765において、ビデオまたはバーチャルビデオのビューポイントを変更するユーザ入力を受信する。例えば、方法750は、ユーザがイベントおよび/またはイベントロケーションをパンアラウンドしたい旨を示すユーザ入力を受信してもよい。ブロック770において、方法750はユーザ入力に基づいて次のビデオまたはバーチャルビデオを特定する。例えば、ユーザが左へパンしたい旨を指示した場合、方法750は、カメラまたはバーチャルビデオカメラからのビデオまたはバーチャルビデオを、現在のビューポイントの左側へ特定してもよい。ブロック775において、方法750は、ビデオまたはバーチャルビデオにおける次のパニングポイントを特定してもよい。ブロック780において、方法750は、次のビデオまたはバーチャルビデオを、次のポイントから開始して、クライアントデバイスに提供する。ブロック780の後、方法750は終了する。
【００６５】
図8は、本開示のさらなる実施形態に係る、ビデオをクライアントデバイスに提供する方法800を示すフロー図である。方法800は、ハードウェア(例えば回路、専用ロジック、プログラマブルロジック、マイクロコード等)、ソフトウェア(例えばハードウェアシミュレーションを行うためにプロセッサ上で実行される命令)またはこれらの組み合わせを含むロジックを処理することにより行われてもよい。一実施形態においては、方法800は、図3および5に示すようにイメージモジュールによって行われてもよい。
【００６６】
図8を参照すると、方法800は、方法800がパンアラウンドビデオをクライアントデバイスに提供するブロック805で開始する。ブロック810において、方法800は、パンアラウンドビデオの再生を一時停止するユーザ入力を受信する。方法800は、パンアラウンドビデオにおけるパニングポイントを特定する(ブロック815)。例えば、図2を再度参照すると、パンアラウンドビデオ250は、クライアントデバイスに提供され、方法800は、ユーザが一時停止ボタンを押すと、フレーム220Bを次のパニングポイントとして特定してもよい。ブロック820において、方法800は、パンアラウンドビデオの再生をパニングポイントで一時停止する。方法800は、ビデオまたはバーチャルビデオの再生を要求する追加的ユーザ入力をブロック825で受信する。例えば、方法800は、ユーザがパンアラウンドビデオを観るのを終えてビデオおよび/またはバーチャルビデオの1つを引き続き観たいことを示すユーザ入力を受信してもよい。ブロック830において、方法800は、パニングポイントに基づいてビデオまたはバーチャルビデオを特定する。例えば、図2を再度参照すると、ユーザがパンアラウンドビデオの再生をフレーム220Bで一時停止した場合、方法800は、ビデオ220を特定してもよい。方法800は、ブロック835において、ビデオまたはバーチャルビデオをクライアントデバイスに提供する。ブロック835の後、方法800は終了する。
【００６７】
図9は、ここに記載された方法の任意の1つまたは複数の方法をマシンに行わせるための命令のセットが内部で実行されるところのコンピューティングデバイス900の例示的形態におけるマシンを図式的に表した図である。コンピューティングデバイス900は、携帯電話、スマートフォン、ネットブックコンピュータ、ラックマウントサーバ、ルータコンピュータ、サーバコンピュータ、パーソナルコンピュータ、メインフレームコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、デスクトップコンピュータ等とされてもよく、その内部では、ここに記載された方法の任意の1つまたは複数の方法をマシンに行わせるための命令のセットが実行される。代替的な実施形態においては、マシンは、LAN、イントラネット、エクストラネットまたはインターネットで他のマシンに接続され(例えばネットワーク化され)ていてもよい。マシンは、クライアント-サーバネットワーク環境におけるサーバマシンとしての資格で動作してもよい。マシンは、パーソナルコンピュータ(PC)、セットトップボックス(STB)、サーバ、ネットワークルータ、スイッチもしくはブリッジまたは任意のマシンによって行われるべき具体的なアクションを指定する命令のセットを(逐次的またはその他の方法で)実行することができるマシンとされてもよい。さらに、単一のマシンが説明されているが、用語「マシン」は、ここに記載された1つまたは複数の方法の任意のものを行うための命令のセット(または複数の命令セット)を個別的にまたは共同して実行する複数のマシンを任意に集めたものをも含むものと理解されるべきである。
【００６８】
例示的コンピューティングデバイス900は、処理装置(例えばプロセッサ)902と、メインメモリ904(例えば読み取り専用メモリ(ROM)、フラッシュメモリ、シンクロナスDRAM(SDRAM))といったダイナミックランダムアクセスメモリ(DRAM)と、スタティックメモリ906(例えばフラッシュメモリ、スタティックRAM(SRAM))と、データ記憶装置918とを備えており、これらは互いにバス930を介して通信を行う。
【００６９】
処理装置902は、マイクロプロセッサ、中央演算処理装置等といった1つまたは複数の汎用処理装置を表している。より具体的には、処理装置902は、は、CISC(complex instruction set computing)マイクロプロセッサ、RISC(reduced instruction set computing)マイクロプロセッサ、VLIW(very long instruction word)マイクロプロセッサまたはその他の命令セットを実装するプロセッサもしくは命令セットの組み合わせを実装するプロセッサとされてもよい。処理装置902はまた、特定用途向け集積回路(ASIC)といった1つまたは複数の専用処理装置、フィールドプログラマブルゲートアレイ(FPGA)、デジタルシグナルプロセッサ(DSP)、ネットワークプロセッサ等とされてもよい。処理装置902は、ここに記載された処理およびステップを行うためのイメージモジュール926を実行するように構成されている。
【００７０】
コンピューティングデバイス900はさらに、ネットワーク920と通信することができるネットワークインターフェースデバイス908を備えていてもよい。また、コンピューティングデバイス900はビデオディスプレイユニット910(例えば液晶表示装置(LCD)または陰極線管(CRT))と、英数入力装置912(例えばキーボード)と、カーソル制御装置914(例えばマウス)と、信号生成装置916(例えばスピーカ)を備えていてもよい。一実施形態においては、ビデオディスプレイユニット910と、英数入力装置912と、カーソル制御装置914とは、組み合わせて単一のコンポーネントまたはデバイス(例えばLCDタッチスクリーン)とされてもよい。
【００７１】
データ記憶装置918は、ここに記載された方法または機能の任意の1以上を具現化する1つまたは複数の命令セット(例えばイメージモジュール926)が記憶されたコンピュータ可読記録媒体928を備えていてもよい。イメージモジュール926はまた、コンピューティングデバイス900によるその実行の間、メインメモリ904内および/または処理装置902内に完全にまたは少なくとも部分的に存在していてもよく、また、メインメモリ904と処理装置902とはコンピュータ可読媒体を構成していてもよい。命令はさらにネットワークインターフェースデバイス908によってネットワーク920を介して送信または受信されてもよい。
【００７２】
コンピュータ可読記録媒体928は例示的実施形態において単一の媒体として図示されているが、用語「コンピュータ可読記録媒体」は、1つまたは複数の命令セットを記憶した単一の媒体または複数の媒体(例えば集中型もしくは分散型データベースならびに/または関連するキャッシュおよびサーバ)を含むものと理解されるべきである。用語「コンピュータ可読記録媒体」はまた、マシンに本開示に係る方法の任意の1つまたは複数を行わせる命令のセットをマシンによる実行のために記憶し、エンコードしまたは保持することができる任意の媒体を含むものと理解されるべきである。用語「コンピュータ可読記録媒体」は、したがって、これに限定するものではないが、ソリッドステートメモリ、光学媒体および磁気媒体を含むものと理解されるべきである。
【００７３】
上記説明においては、多数の詳細事項が提示されている。本開示について便益を受けるところの当業者にとっては、本開示の実施形態はこれらの具体的詳細事項なしに実施されてもよいことが明らかであろう。一部の事例においては、周知の構造および装置は、本開示を不明瞭とすることを回避するために単純なブロック図の形態で図示されている。
【００７４】
詳細な説明の一部分はコンピュータメモリ内のデータビットに対する処理のアルゴリズムおよびシンボル表記の観点から提示されている。これらのアルゴリズム記述および表記は、データ処理分野における当業者によって自己の業務の実質的内容を他の当業者に最も効果的に伝えるために利用されている手段である。アルゴリズムは、ここでは一般に、所望の結果を得ることができる複数ステップの自己整合的シーケンスと観念される。ステップは物理量の物理的操作を必要とするステップである。通常であれば、必須ではないが、これらの量は格納され、伝送され、組み合わされ、比較され、あるいは操作され得る電子的または磁気的信号の形態をとる。主として共通の利用法という観点から、これらの信号をビット、値、要素、シンボル、文字、単語、数等で表現することが時として便利であることが知られている。
【００７５】
しかしながら、留意しておくべき点は、これらの用語および類似の用語は適切な物理量と関連付けられていて、これらの量に対して付された単に便利なラベルにすぎないという点である。特に具体的に断らないかぎり、上記説明から明らかなとおり、本説明全体をとおして、「特定する(identifying)」、「受信する(receiving)」、「生成する(generating)」、「提供する(providing)」、「一時停止する(pausing)」等の用語を利用した説明は、コンピュータシステムのレジスタおよびメモリ内で物理的(例えば電子的)量として表現されたデータを操作してこれをコンピュータシステムメモリもしくはレジスタまたは他のそのような情報記憶、情報送信もしくは情報表示装置内で同様に物理量として表現される他のデータへ変換する、コンピュータシステムまたは類似の電子コンピューティングデバイスの動作および処理をさすことが理解される。
【００７６】
また、開示に係る実施形態はここに記載の処理を行うための装置に関する。この装置は、必要な目的のために特別に構成されたものであってもよく、あるいは、コンピュータに格納されたコンピュータプログラムによって選択的に起動または再構成される汎用コンピュータで構成されてもよい。かかるコンピュータプログラムは、フロッピー(登録商標)ディスク、光学ディスク、CD-ROMおよび磁気光学ディスクを含む任意のタイプのディスク、読み取り専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、EPROM、EEPROM、磁気カードもしくは光カード、フラッシュメモリまたは電子命令を格納するのに適した任意のタイプの媒体(ただしこれらに限定されない)といった非一時的なコンピュータ可読な記録媒体に記憶されてもよい。
【００７７】
用語「例(example)」または「例示的(exemplary)」は、例、事例または実例として機能することを意味するものとして用いられている。「例(example)」または「例示的(exemplary)」としてここに記載された特徴または配置構成は、いずれも必ずしもその他の特徴または配置構成と比較してより好ましいまたはより有利なものと解釈すべきものではない。むしろ、「例(example)」または「例示的(exemplary)」なる用語の使用は、抽象的なコンセプトを具象的な態様で提示することを意図したものである。本願において使用されているとおり、用語「または(or)」は排他的論理和ではなく論理和を意味するものであることが意図されている。つまり、特に断らないかぎり、あるいは前後文脈からそうでないことが明らかでないかぎり、「XはAまたはBを含む(X includes A or B)」は任意の自然数の非排他的な置換を意味するものであることが意図されている。つまり、XがAを含むか、XがBを含むか、あるいは、XがAおよびBを含むならば、これらの事例はいずれも「XはAまたはBを含む」の条件を満たしていることになる。加えて、本願および添付の請求項において用いられる冠詞「a」および「an」は、特に断らないかぎり、あるいは単数形をさすものとして用いられていることが前後文脈から明らかでないかぎり、一般に「1つまたは複数の(one or more)」を意味するものとして解釈されるべきである。さらにいえば、用語「実施形態(an embodiment)」もしくは「一実施形態(one embodiment)」または「実装態様(an implementation)」もしくは「一実装態様(one implementation)」の使用はすべて、そのようなものとして記載されていないかぎり、同一の実施形態または実装態様を意味するものとして意図されていない。また、ここに用いられる用語「第1の(first)」、「第2の(second)」、「第3の(third)」、「第4の(fourth)」等は、複数の異なる要素どうしを区別するためのラベルを意味するものであって、付番の順序にしたがって序数としての意味を必ずしも有するものではない。
【００７８】
ここに提示されたアルゴリズムおよび表示態様は、いかなる特定のコンピュータまたはその他の装置にも本質的に関連しているわけではない。様々な汎用システムがここに記載した教示内容に係るプログラムとともに利用でき、また、必要な方法のステップを行うためにより特化された装置を構築するほうが便利であることも場合によってはありうる。様々なこれらシステムに必要とされる構造は、以下の説明から理解されるであろう。加えて、本開示はいかなる特定のプログラミング言語を参照して説明されるものでもない。様々なプログラミング言語を用いてここに記載した本開示の教示内容を実装することができることが理解されるであろう。
【００７９】
上記説明は特定のシステム、コンポーネントおよび方法等の例といった多数の具体的詳細事項を提示しているところ、これは本開示の幾つかの実施形態に対する良好な理解を提供するために提示されたものである。しかしながら、本開示の少なくとも一部の実施形態が、これらの具体的な詳細事項なしに実施されてもよいということは当業者において明らかであろう。他の場合においては、周知のコンポーネントまたは方法は詳細には説明されておらず、本開示を不必要に不明瞭とすることを回避するために単純なブロック図の形態で提示されている。このように、上記の具体的詳細事項は例示にすぎない。特定の実装態様はこれらの例示的詳細事項とは異なっていても依然として本開示の範囲に属するものと考えることができる。
【００８０】
上記説明は説明のためのものであって限定する趣旨ではないことが理解されるべきである。上記説明を読解しかつこれを理解すれば、この他にも多くの実施形態が当業者に明らかであろう。開示の範囲は、したがって、添付の請求項とこれとの関係で均等なものとして想定される事項とを参照して決定されるべきである。
【符号の説明】
【００８１】
100  カメラアーキテクチャ
110A-110D  カメラ
120A-120D  バーチャルカメラ
105  イベントロケーション
210、220、230、240  ビデオ
215、225、235、245  バーチャルビデオ
250、255  パンアラウンドビデオ
260  パニングポイント
300  システムアーキテクチャ
305  ネットワーク
310  データストア
311  ビデオデータ
312  バーチャルビデオデータ
313  パンアラウンドビデオデータ
330  メディアサーバ
335  イメージモジュール
340  クライアントデバイス
341  メディアビューワ
400  グラフィカルユーザインターフェース
405  メディアポーション
441、442  矢印
443  ボタン
411  再生バー
412  再生スライダ
413  再生時間表示
421  再生ボタン
422  一時停止ボタン
423  巻き戻しボタン
424  早送りボタン
425  音量ボタン
431  音量バー
432  音量スライダ
505  バーチャルビデオモジュール
510  パンアラウンドビデオモジュール
515  パニングポイントモジュール
520  メディアビューワモジュール
525  カメラモジュール
【図１】
0006662986.tif 000002
【図２】
0006662986.tif 000003
【図３】
0006662986.tif 000004
【図４】
0006662986.tif 000005
【図５】
0006662986.tif 000006
【図６】
0006662986.tif 000007
【図７Ａ】
0006662986.tif 000008
【図７Ｂ】
0006662986.tif 000009
【図８】
0006662986.tif 000010
【図９】
0006662986.tif 000011