本明細書は、いかなる方法によっても限定されることを意図していない、代表的な様々な実施形態という意味により記載される。本件出願において用いられるように、「1つの」、「前記」、「上記」、「当該」、「該」、「この」、「その」といった単数形は、複数形でないことを明確に示さない限り、複数形を含むことができる。また、「含む」という用語は、「具備する」こと又は「備える」ことを意味し得る。さらに、「結合された」、「結合した」、「結び付けられた」、「結び付けた、「接続された」又は「接続した」という用語は、対象物を相互に結合する、接続する又は結び付ける、機械的、電気的、磁気的及び光学的な方法を他の方法とともに包含し、このように結合された、結合した、結び付けられた、結び付けた、接続された又は接続した対象物の間にある中間要素の存在を排除しない。
本明細書において記載される、様々なシステム、方法及び装置は、いかなる方法によっても限定されるものとして解釈されるべきではない。実際には、本開示は、開示された様々な実施形態の各々、これら様々な実施形態を相互に組み合わせたもの、及び、これら様々な実施形態の一部を相互に組み合わせたもの、のうちのあらゆる新規な特徴及び態様に向けられている。本明細書において記載される、様々なシステム、方法及び装置は、特定の態様、特定の特徴、又は、このような特定の態様と特定の特徴とを組み合わせたものに限定されないし、本明細書に記載される物及び方法は、1若しくはそれ以上の特定の効果が存在すること又は課題が解決されることを、要求するものでもない。さらには、本明細書において記載された様々な実施形態のうちの様々な特徴若しくは態様、又は、そのような特徴若しくは態様の一部は、相互に組み合わせて用いられ得る。
本明細書において開示された様々な方法のうちの幾つかの方法の動作が、便宜上、特定の順序に沿って記載されているが、このような手法による記載は、特定の順序が以下特定の文章によって要求されていない限り、上記動作の順序を並び替えることを包含する、と理解すべきである。例えば、順番に記載された複数の動作は、幾つかの場合には、並び替えられるか又は同時に実行される。さらには、簡略化を目的として、添付図面は、本明細書に記載された様々な事項及び方法が他の事項及び方法とともに用いられ得るような様々な方法を示していない。加えて、本明細書は、「生成する」、「発生させる」、「表示する」、「受信する」、「評価する」及び「配信する」のような用語を用いることがある。これらの用語は、実行される実際の様々な動作のハイレベルな記載である。これらの用語に対応する実際の様々な動作は、特定の実装に依存して変化し得るし、本明細書の開示の利益を有する当業者によって容易に認識され得る。
本開示の装置又は方法に関連して本明細書に提示される、動作理論、科学的原理又は他の理論的な記載は、よりよい理解を目的として提供されており、技術的範囲を限定することを意図していない。添付した特許請求の範囲における装置及び方法は、このような動作理論により記載される方法により動作する装置及び方法に限定されない。
本明細書に開示された様々な方法のいずれもが、コンピュータにより読み取り可能な1又はそれ以上の媒体(例えば、1又はそれ以上の光学媒体ディスク、複数の揮発性メモリ部品、又は、複数の不揮発性メモリ部品といったような、非一時的なコンピュータにより読み取り可能な記憶媒体)に記憶された、コンピュータにより実行可能な複数の命令を用いて実装され、さらに、コンピュータにおいて実行され得る。ここで、上記複数の揮発性メモリ部品は、例えばDRAM又はSRAMを含む。また、上記複数の不揮発性メモリ部品は、例えばハードドライブ及びソリッドステートドライブ(SSD)を含む。さらに、上記コンピュータは、例えば、計算を行うハードウェアを有するスマートフォン及び他のモバイル装置を含む、市場において入手可能な任意のコンピュータを含む。
本明細書において開示された技術を実装するためのこのようなコンピュータにより実行可能な複数の命令のいずれもが、本明細書において開示された様々な実施形態の実装の間において生成され使用される任意のデータとともに、1又はそれ以上のコンピュータにより読み取り可能な媒体(例えば、非一時的なコンピュータにより読み取り可能な記憶媒体)に記憶され得る。このようなコンピュータにより実行可能な複数の命令は、例えば、個別のソフトウェアアプリケーションの一部であり得るか、又は、ウェブブラウザ若しくは(リモート計算アプリケーションといったような)他のソフトウェアアプリケーションを介してアクセス又はダウンロードされるソフトウェアアプリケーションの一部であり得る。このようなソフトウェアは、例えば、(例えば市場において入手可能な任意の好適なコンピュータにおいて実行されるプロセスとしての)単一のローカルコンピュータにおいて、又は、1又はそれ以上のネットワークコンピュータを用いて、ネットワーク環境(例えば、インターネット、ワイドエリアネットワーク、ローカルエリアネットワーク、(クラウド計算ネットワークといったような)クライアントサーバネットワーク、又は、他のそのようなネットワーク)において、実行され得る。
明確化のために、ソフトウェアをベースとした様々な実装のうちの特定の選択された様々な態様のみが記載される。当該分野において周知である他の詳細な事項は省略される。例えば、本明細書において開示された技術は、特定のコンピュータ言語又はプログラムに限定されない。例えば、本明細書において開示された技術は、C、C++、Java(登録商標)、又は、他の任意の好適なプログラミング言語で記述されたソフトウェアにより実行され得る。同様に、本明細書において開示された技術は、特定のコンピュータ又は特定のタイプのハードウェアに限定されない。好適なコンピュータ及びハードウェアの特定の詳細な事項は、周知であって、本明細書において詳細に説明する必要はない。
さらには、このようなソフトウェアをベースとした様々な実施形態(例えば、本明細書において開示される様々な方法のいずれかをコンピュータに実行させるための、コンピュータにより実行可能な複数の命令を含む)のいずれもが、好適な通信手段により、アップロードされ、ダウンロードされ、又は、リモート方式によりアクセスされ得る。このような好適な通信手段は、例えば、インターネット、ワールドワイドウェブ、イントラネット、ソフトウェアアプリケーション、ケーブル(光ファイバケーブルを含む)、磁気通信、電磁気通信(RF通信、マイクロ波通信、赤外線通信を含む)、電子通信、又は、他のそのような通信手段を含む。
本件出願において用いられる「ギフト」という用語は、「トークン(token)」という用語と同様の概念を意味する。したがって、「ギフト」という用語を「トークン(token)」という用語に置き換えて、本件出願に記載された技術を理解することも可能である。
以下、添付図面を参照して本発明の様々な実施形態を説明する。なお、図面において共通した構成要素には同一の参照符号が付されている。また、或る図面に表現された構成要素が、説明の便宜上、別の図面においては省略されていることがある点に留意されたい。さらにまた、添付した図面が必ずしも正確な縮尺で記載されている訳ではないということに注意されたい。
本明細書において、或る配信者による「動画の配信」又は或る配信者が「動画を配信する」といった用語は、例えば、以下に例示する態様のうちの少なくとも1つの態様を含み得る。
・或る配信者の端末装置が、単独で又は他の配信者の端末装置と共同して、複数の視聴者の端末装置に対して、サーバ装置等を介して、動画の生成に必要なデータ(例えば動作データ)を送信すること
・或る配信者の端末装置が、単独で又は他の配信者の端末装置と共同して、各視聴者の端末装置に対して、サーバ装置等を介して、生成された動画を送信すること
1.概要
本件出願に開示される通信システムでは、簡潔にいえば、以下に示す動作が実行され得る。
第1配信者及び第2配信者が共同して各視聴者に動画を配信する典型的な例では、第1配信者の端末装置は、この第1配信者の動作に基づいて第1トラッキング方式を用いて生成された第1動作データを、サーバ装置に送信することができる。また、第2配信者の端末装置は、この第2配信者の動作に基づいて(第1トラッキング方式とは異なる)第2トラッキング方式を用いて生成された第2動作データを、上記サーバ装置に送信することができる。
ここで、第1トラッキング方式とは、少なくとも、配信者の頭部に装着される装置、及び、配信者の頭部以外の身体に装着又は把持される少なくとも1つのコントローラ、の各々の座標及び角度を示す動作データを生成する方式を含むことができる。配信者の頭部に装着される装置は、HMD、スマートグラス(例えば、VR(Virtual Reality)グラス、AR(Augmented Reality)グラス及びMR(Mixed Reality)グラス)等をこれらに限定することなく含むことができる。少なくとも1つのコントローラは、配信者の右手により把持されるハンドコントローラ、配信者の左手により把持されるハンドコントローラ、配信者の腰部に装着されるコントローラ等を、これらに限定することなく含むことができる。
また、第2トラッキング方式とは、少なくとも、配信者の顔における複数の部位の各々の深度と、配信者の頭部の座標及び角度と、を示す動作データを生成する方式(フェイストラッキング方式等)を含むことができる。
上記サーバ装置は、第1動作データ及び第2動作データを、複数の視聴者の端末装置、第1配信者の端末装置、及び、第2配信者の端末装置に送信することができる。
各視聴者の端末装置、第1配信者の端末装置、及び、第2配信者の端末装置を含む、複数の端末装置の各々は、サーバ装置から受信した第1動作データ及び第2動作データの各々を識別することができる。その上で、上記複数の端末装置の各々は、第1動作データに基づく第1配信者のアバターのアニメーション(動画)と、第2動作データに基づく第2配信者のアバターのアニメーションと、を含む動画を生成して表示することができる。
一方、第1配信者が単独で各視聴者に動画を提供する例では、この第1配信者の端末装置は、この第1配信者の動作に基づいて第1トラッキング方式を用いて生成された第1動作データを、上記サーバ装置に送信することができる。
上記サーバ装置は、第1動作データを、複数の視聴者の端末装置、及び、第1配信者の端末装置に送信することができる。
各視聴者の端末装置及び第1配信者の端末装置を含む、複数の端末装置の各々は、サーバ装置から受信した第1動作データを識別することができる。その上で、上記複数の端末装置の各々は、第1動作データに基づく第1配信者のアバターのアニメーションを含む動画を生成して表示することができる。
他方、第2配信者が単独で各視聴者に動画を提供する例では、この第2配信者の端末装置は、この第2配信者の動作に基づいて第2トラッキング方式を用いて生成された第2動作データを、上記サーバ装置に送信することができる。
上記サーバ装置は、第2動作データを、複数の視聴者の端末装置、及び、第2配信者の端末装置に送信することができる。
各視聴者の端末装置及び第2配信者の端末装置を含む、複数の端末装置の各々は、サーバ装置から受信した第2動作データを識別することができる。その上で、上記複数の端末装置の各々は、第2動作データに基づく第2配信者のアバターのアニメーションを含む動画を生成して表示することができる。
上述した各例では、動画の生成が、上記複数の端末装置の各々により実行される方式(クライアントレンダリング方式)が採用されている。しかし、このような動画の生成が、上記サーバ装置(又は上記サーバ装置に接続され得る他のサーバ装置)により実行され、このように生成された動画が、上記複数の端末装置に送信され表示される、という方式(サーバレンダリング方式)も採用され得る。或いはまた、動画の生成が、上記サーバ装置(又は上記サーバ装置に接続され得る他のサーバ装置)からウェブページを受信し、このウェブページに含まれたコンピュータプログラムを実行する、上記複数の端末装置の各々により実行される方式(ブラウザレンダリング方式)もまた、採用され得る。
2.通信システムの全体的な構成
次に、上述した動作を実行する通信システムの構成について図1を参照して説明する。図1は、一実施形態に係る通信システムの構成の一例を示すブロック図である。
図1に示すように、通信システム1は、少なくとも1つのサーバ装置30と、通信網10に接続可能な複数の端末装置20と、通信網10に接続可能な少なくとも1つのサーバ装置30と、を含むことができる。図1には、複数の端末装置20が3つの端末装置20A、20B、20Cを含む例が示されているが、複数の端末装置20は、任意の数(2つ以上)の端末装置20を含むことができる。同様に、図1には、少なくとも1つのサーバ装置30が3つのサーバ装置30A、30B、30Cを含む例が示されているが、少なくとも1つのサーバ装置30もまた、任意の数(1つ以上)のサーバ装置30を含むことができる。
複数の端末装置20は、少なくとも1人の配信者の端末装置20、及び、少なくとも1人の視聴者の端末装置20を含むことができる。少なくとも1人の配信者の端末装置20の各々は、第1トラッキング方式及び第2トラッキング方式のうちのいずれかに基づく動作データの生成及び送信が可能であり、少なくとも1人の視聴者の端末装置20の各々もまた、第1トラッキング方式及び第2トラッキング方式のうちのいずれかに基づく動作データの生成及び送信が可能である。
また、複数の端末装置20は、任意の情報処理装置であって、HMD、VRグラス、ARグラス、MRグラス、スマートフォン、パーソナルコンピュータ、タブレット、携帯情報端末、携帯電話、及び、これらの組み合わせを、これらに限定することなく含むことができる。
少なくとも1つのサーバ装置30は、このサーバ装置30にアクセスした複数の端末装置20の各々に対して、様々なサービスを提供することが可能な情報処理装置であり得る。少なくとも1つのサーバ装置30は、任意の情報処理装置であって、パーソナルコンピュータ、スーパーコンピュータ、ワークステーション、メインフレーム、及び、これらの組み合わせを、これらに限定することなく含むことができる。
また、少なくとも1つのサーバ装置30は、このサーバ装置30にアクセスした複数の端末装置20の各々に対して、コンピュータプログラムを含むウェブページを送信するウェブサーバ装置30を含み得る。
さらに、少なくとも1つのサーバ装置30は、通信網10を介して、相互に接続可能であり得る。
通信網10は、携帯電話網、無線ネットワーク、固定電話網、インターネット、イントラネット、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、及び/又は、イーサネットネットワークを、これらに限定することなく含むことができる。ここで、上記無線ネットワークは、例えば、Bluetooth(登録商標)、(IEEE 802.11a/b/nといったような)WiFi、WiMax、セルラー、衛星、レーザー、及び/又は、赤外線、を介したRF接続を含むことができる。
3.端末装置20のハードウェア構成
次に、上述した通信システム1において用いられる端末装置20の構成について、図2を参照して説明する。図2は、図1に示した通信システム1において用いられる端末装置20のハードウェア構成の一例を示すブロック図である(なお、図2において、括弧内の参照符号は、後述するようにサーバ装置30に関連して記載されている)。
図2に示すように、各端末装置20は、主に、中央処理装置21と、主記憶装置22と、入出力インターフェイス装置23と、入力装置24と、補助記憶装置25と、出力装置26と、を含むことができる。これら装置同士は、データバス及び/又は制御バスにより接続されている。
中央処理装置21は、「CPU」といわれ、主記憶装置22に記憶されている命令及びデータに対して演算を行い、その演算の結果を主記憶装置22に記憶させることができる。さらに、中央処理装置21は、入出力インターフェイス装置23を介して、入力装置24、補助記憶装置25及び出力装置26等を制御することができる。端末装置20は、1又はそれ以上のこのような中央処理装置21を含むことが可能である。
主記憶装置22は、「メモリ」といわれ、入力装置24、補助記憶装置25及び通信網10(サーバ装置30等)から、入出力インターフェイス装置23を介して受信した命令及びデータ、並びに、中央処理装置21の演算結果を記憶することができる。主記憶装置22は、揮発性メモリ(例えば、レジスタ、キャッシュ、ランダムアクセスメモリ(RAM))、不揮発性メモリ(例えば、リードオンリーメモリ(ROM)、EEPROM、フラッシュメモリ)、及び、ストレージ(例えば、ハードディスクドライブ(HDD)、ソリッドステートドライブ(SSD)、磁気テープ、光学媒体)、といったようなコンピュータにより読み取り可能な媒体を、これらに限定することなく含むことができる。容易に理解されるように、「コンピュータにより読み取り可能な記録媒体」という用語は、変調されたデータ信号すなわち一時的な信号といったような送信媒体ではなく、メモリ及びストレージといったようなデータストレージのための媒体を含むことができる。
補助記憶装置25は、主記憶装置22よりも大きな容量を有する記憶装置である。補助記憶装置25は、オペレーティングシステム、ウェブブラウザアプリケーション、動画の配信及び/又は受信を行うための特定のアプリケーション等を構成する命令及びデータ(コンピュータプログラム)を記憶することができる。さらに、補助記憶装置25は、中央処理装置21により制御されることにより、これらの命令及びデータ(コンピュータプログラム)を、入出力インターフェイス装置23を介して主記憶装置22に送信することができる。補助記憶装置25は、磁気ディスク装置及び/又は光ディスク装置等をこれらに限定することなく含むことができる。
入力装置24は、外部からデータを取り込む装置であって、タッチパネル、ボタン、キーボード、マウス及び/又はセンサ等をこれらに限定することなく含むことができる。センサは、1若しくはそれ以上のカメラ24a等及び/又は1若しくはそれ以上のマイク24b等を含むセンサを、これらに限定することなく含むことができる。
出力装置26は、ディスプレイ装置、タッチパネル及び/又はプリンタ装置等をこれらに限定することなく含むことができる。
端末装置20は、第1の態様では、第1トラッキング方式に基づく動作データを生成する端末装置20となり得る。この場合、端末装置20(典型的には、パーソナルコンピュータ等)は、入力装置24及び出力装置26として機能し、ユーザの頭部に装着される装置(HMD又はVRグラス等)と、入力装置24として機能し、ユーザの頭部以外の身体に装着又は把持される少なくとも1つのコントローラと、を有することができる(又はこれらの装置及びコントローラに接続され得る)。上記少なくとも1つのコントローラは、例えば、ユーザの右手に把持又は装着され得る右ハンドコントローラ及びユーザの左手に把持又は装着され得る左ハンドコントローラを、これらに限定することなく含むことができる。また端末装置20が第1トラッキング方式に基づく動作データを生成する場合において、端末装置20は、コントローラを有さなくてもよい。
図3は、図1に示した通信システム1において、第1トラッキング方式に基づく動作データを生成すべく端末装置20等に接続可能な装置の一例を示す模式図である。第1トラッキング方式に基づく動作データを生成する端末装置20は、図3に示すように、ユーザの頭部に装着されるHMD(又はスマートグラス等)100と、ユーザの頭部以外の身体(ここではユーザの右手)に把持又は装着され得る右ハンドコントローラ102と、ユーザの頭部以外の身体(ここではユーザの左手)に把持又は装着され得る左ハンドコントローラ104と、を含み(に接続され)得る。
HMD100は、基部100Aと、この基部100Aを図示しないユーザの頭部に固定するための固定部100Bと、を含むことができる。基部100Aは、ユーザの両目に対向して配置される(図示しない)ディスプレイ部と、ユーザの頭部の座標及び角度を検知してこれらを示す動作データを生成する(図示しない)センサ部と、ユーザの両目近傍に設けられ、動画データ(もしくは画像データ)を取得する(図示しない)カメラ部と、上記ディスプレイ部、上記センサ部、上記カメラ部、右ハンドコントローラ102、左ハンドコントローラ104、及び、端末装置20(の入出力インターフェイス装置23)との間において(動作データ及び操作データ等を含む)様々なデータを通信する(図示しない)通信部と、を含むことができる。HMD100にディスプレイ部及びカメラ部を設けることにより、現実空間に仮想オブジェクト(例えば、配信者のアバター等)を組み合わせることができ、HMD100はMR端末装置として機能することができる。なおカメラ部を設けずにディスプレイ部は、周囲からの光をユーザの両目に透過させる構造であってもよい。またHMD100にディスプレイ部を設けることにより、仮想空間を表示することができ、HMD100はVR端末装置として機能することができる。端末装置がMR端末装置又はVR端末装置として機能することについての詳細は、後述する。
上記センサ部は、ユーザの眼球の動きを直接的に検出するように、このユーザの眼球に対向して設けられた、図示しないアイトラッキングセンサを備えることも可能である。上記アイトラッキングセンサは、例えば、虹彩内に近赤外光を入射しその反射光を検出するように構成された、視線検出センサであり得る。このようなアイトラッキングセンサは、ユーザの視線の動きを示す操作データを生成することができる。このようなHMD100を装着したユーザは、その眼球を移動させることにより、上記ディスプレイ部に表示されるオブジェクト(ポインタ等)を移動させること、及び/又は、上記ディスプレイ部に表示されるオブジェクトを選択すること等ができる。またHMD100を装着したユーザは、その眼球を移動させることにより、カメラ部の方向を移動させることができ、眼球の移動に対応した画像(もしくは動画データ)を取得することができる。
固定部100Bは、両端が基部100Aに固定され略U字状に延びる第1固定部100B1と、一端が基部100Aに固定され他端が第1固定部100B1に固定された第2固定部100B2と、を含み得る。これら第1固定部100B1及び第2固定部100B2が、ユーザの頭部を囲んで基部100Aに向かって付勢されることにより、HMD100がユーザの頭部に装着され得る。
右ハンドコントローラ102及び左ハンドコントローラ104は、それぞれ、相互に左右対称の形状を呈する筐体102A、104Aを有し得る。右ハンドコントローラ102は、筐体102Aに設けられ、例えば、ユーザの指により操作され得るジョイスティック102Bと、ユーザの指により押圧され得る少なくとも1つのボタン(ここでは、例えば、ボタン102C、102D、102E)と、を含むことができる。さらに、右ハンドコントローラ102は、筐体102Aの内部に設けられ、ユーザの右手の座標及び角度を検知してこれらを示す動作データを生成し、ジョイスティック102B、ボタン102C、102D、102Eの各々に対してユーザによりなされた操作を示す操作データを生成する、ように構成された(図示しない)センサ部と、HMD100との間において様々なデータ(動作データ及び操作データを含む)を通信する(図示しない)通信部と、を含むことができる。
同様に、左ハンドコントローラ104は、筐体104Aに設けられ、例えば、ユーザの指により操作され得るジョイスティック104Bと、ユーザの指により押圧され得る少なくとも1つのボタン(ここでは、例えば、ボタン104C、104D、104E)と、を含むことができる。さらに、左ハンドコントローラ104は、筐体104Aの内部に設けられ、ユーザの右手の座標及び角度を検知してこれらを示す動作データを生成し、ジョイスティック104B、ボタン104C、104D、104Eの各々に対してユーザによりなされた操作を示す操作データを生成する、ように構成された(図示しない)センサ部と、HMD100との間において様々なデータ(動作データ及び操作データを含む)を通信する(図示しない)通信部と、を含むことができる。
HMD100の上記通信部は、HMD100の上記センサ部により生成された動作データ及び/又は操作データ、右ハンドコントローラ102により生成された動作データ及び/又は操作データ、並びに、左ハンドコントローラ104により生成された動作データ及び/又は操作データを、端末装置20等に対して送信することができる。
図2に戻り、端末装置20は、第2の態様では、第2トラッキング方式に基づく動作データを生成する端末装置20となり得る。この場合、端末装置20(典型的には、スマートフォン、タブレット又はパーソナルコンピュータ等)は、入力装置24として機能する少なくとも1つのカメラ24a(及び少なくとも1つのマイク24b)と、出力装置26として機能するタッチパネル装置と、を有することができる(又はこれらの装置に接続され得る)。
このようなハードウェア構成にあっては、中央処理装置21が、補助記憶装置25に記憶された上記特定のアプリケーションを構成する命令及びデータ(コンピュータプログラム)を順次主記憶装置22にロードし、ロードした命令及びデータを演算することができる。これにより、中央処理装置21は、入出力インターフェイス装置23を介して出力装置26を制御し、或いはまた、入出力インターフェイス装置23及び通信網10を介して、他の装置(例えばサーバ装置30及び/又は他の端末装置20)との間で様々なデータの送受信を行うことができる。
これにより、端末装置20は、インストールされた上記特定のアプリケーション等を実行することにより、動画の配信、生成及び/又は表示等に関連する様々な動作(図4A~図4B、図5A~図5B、図6A~図6B及び図13等を参照して説明する動作等を含む)を実行することができる。
なお、端末装置20は、中央処理装置21に代えて又は中央処理装置21とともに、1又はそれ以上のマイクロプロセッサ、及び/又は、グラフィックスプロセッシングユニット(GPU)を含むことも可能である。
4.サーバ装置30のハードウェア構成
次に、上述した通信システム1において用いられるサーバ装置30の構成について、同じく図2を参照して説明する。各サーバ装置30のハードウェア構成としては、例えば、上述した各端末装置20のハードウェア構成と同様のものを用いることが可能である。したがって、各サーバ装置30が有する構成要素に対する参照符号は、図2において括弧内に示されている。
図2に示すように、各サーバ装置30は、中央処理装置31と、主記憶装置32と、入出力インターフェイス装置33と、入力装置34と、補助記憶装置35と、出力装置36と、を含むことができる。これら装置同士は、データバス及び/又は制御バスにより接続されている。
中央処理装置31、主記憶装置32、入出力インターフェイス装置33、入力装置34、補助記憶装置35及び出力装置36は、それぞれ、上述した各端末装置20に含まれる、中央処理装置21、主記憶装置22、入出力インターフェイス装置23、入力装置24、補助記憶装置25及び出力装置26と略同一であり得る。
このようなハードウェア構成にあっては、中央処理装置31が、補助記憶装置35に記憶された上記特定のアプリケーションを構成する命令及びデータ(コンピュータプログラム)を順次主記憶装置32にロードし、ロードした命令及びデータを演算することができる。これにより、中央処理装置31は、入出力インターフェイス装置33を介して出力装置36を制御し、或いはまた、入出力インターフェイス装置33及び通信網10を介して、他の装置(例えば他のサーバ装置30及び/又は端末装置20)との間で様々なデータの送受信を行うことができる。
これにより、サーバ装置30は、インストールされた上記特定のアプリケーション等を実行することにより、動画の配信、生成及び/又は表示等に関連する様々な動作(図4A~図4B、図5A~図5B、図6A~図6B及び図13等を参照して説明する動作等を含む)を実行することができる。
なお、サーバ装置30は、中央処理装置31に代えて又は中央処理装置31とともに、1又はそれ以上のマイクロプロセッサ、及び/又は、グラフィックスプロセッシングユニット(GPU)を含むこともできる。
サーバ装置30は、インストールされた上記特定のアプリケーションを実行してウェブサーバとして機能することも可能である。このサーバ装置30は、このサーバ装置30にアクセスしてきた各端末装置20(及び/又は他のサーバ装置30)に対して、コンピュータプログラムを含むウェブページを送信することができる。このような端末装置20(及び/又は他のサーバ装置30)は、ウェブページに含まれたコンピュータプログラムを実行することにより、動画の配信、生成及び/又は表示等に関連する様々な動作(図4A~図4B、図5A~図5B、図6A~図6B及び図13等を参照して説明する動作等を含む)を実行することもできる。
5.プラットフォーム
次に、通信システム1により実現されるプラットフォームの一例について説明する。このプラットフォームは、各配信者が第1トラッキング方式に基づく動作データを生成して送信する端末装置20及び第2トラッキング方式に基づく動作データを生成して送信する端末装置20のいずれを用いた場合であっても、各配信者の端末装置及び各視聴者の端末装置が適切に動画を表示する、ということを可能にする。
以下の3つのケースを例に挙げて、このプラットフォームにおいて実行される動作を説明する。なお、説明の便宜上、第1トラッキング方式に基づく動作を生成して送信する端末装置20を「HMD端末装置」(VRグラス、ARグラス及びMRグラスも含まれる)といい、第2トラッキング方式に基づく動作を生成して送信する端末装置20を「スマホ端末装置」という。但し、スマートフォン又はタブレット等であっても、これに接続される複数のトラッキング装置(例えば図3に示した装置)を用いることにより、「HMD端末装置」になり得る。
第1ケース(図4A~図4B):HMD端末装置を利用する第1配信者及びスマホ端末装置を利用する第2配信者が共同して各視聴者に動画を提供する。この後、1人の視聴者(視聴者A)が、HMD端末装置を利用して、第1配信者及び第2配信者と共同して各視聴者に動画を提供する。
第2ケース(図5A~図5B):HMD端末装置を利用する第1配信者が単独で各視聴者に動画を提供する。この後、視聴者Aが、HMD端末装置を利用して、第1配信者と共同して各視聴者に動画を提供する。
第3ケース(図6A~図6B):スマホ端末装置を利用する第2配信者が単独で各視聴者に動画を提供する。この後、視聴者Aが、HMD端末装置を利用して、第2配信者と共同して各視聴者に動画を提供する。
5-1.第1ケース
まず、第1ケースについて、図4A~図4Bを参照して説明する。図4A~図4Bは、図1に示した通信システム1により実現されるプラットフォームを用いた動画の提供に関する第1ケースを説明する模式図である。なお、便宜上、図4A~図4Bにおいては、各端末装置20とサーバ装置30との間に介在する通信網10が省略されている。
(1)図4Aについて
図4Aを参照すると、HMD端末装置20Aを利用する第1配信者及びスマホ端末装置20Bを利用する第2配信者が、共同して、視聴者AのHMD端末装置20Cを含む複数の視聴者の端末装置20に対して動画を提供している。但し、図面の簡略化のために、図4A~図4Bでは、複数の視聴者の端末装置20として、HMD端末装置である、視聴者Aの端末装置20Cのみが示されている。
第1配信者の端末装置20Aは、第1配信者の動作に基づいて第1トラッキング方式を用いて動作データ(第1動作データ)を、単位時間ごとに又は任意のタイミングで生成することができる。ここでいう単位時間の長さは、固定又は可変であり得る。この第1動作データは、第1配信者の身体に取り付けられた複数のトラッキング装置に含まれる各トラッキング装置により生成された座標及び角度(向き)を(例えばタイムスタンプに対応付けて)示す動作データを含み得る。
例えば、端末装置20Aが図3に例示したトラッキング装置を用いる場合には、第1動作データは、以下に例示するデータをこれらに限定することなく含み得る。
・HMD100により生成された、頭部の座標及び角度を示す動作データ(HMD100に搭載される上述したセンサ部は、ジャイロセンサ、加速度センサ及び/又は地磁気センサを有することにより、頭部の座標及び角度を示す動作データを生成することができる。)
・右ハンドコントローラ102により生成された、右手の座標及び角度を示す動作データ(右ハンドコントローラ102に搭載される上述したセンサ部は、ジャイロセンサ、加速度センサ及び/又は地磁気センサを有することにより、右手の座標及び角度を示す動作データを生成することができる。)
・左ハンドコントローラ104により生成された、左手の座標及び角度を示す動作データ(左ハンドコントローラ104に搭載される上述したセンサ部は、ジャイロセンサ、加速度センサ及び/又は地磁気センサを有することにより、左手の座標及び角度を示す動作データを生成することができる。)
・右ハンドコントローラ102により生成された、右手によりジョイスティック等に対して行われた操作の内容を示す操作データ
・左ハンドコントローラ104により生成された、左手によりジョイスティック等に対して行われた操作の内容を示す操作データ
さらに、第1配信者の端末装置20Aは、(例えばマイク24bを用いて)第1配信者の発話に基づく音声データ(第1音声データ)を生成することもできる。
端末装置20Aは、このように生成された第1動作データ(及びオプションとしての第1音声データ)を、単位時間ごとに又は任意のタイミングで、サーバ装置30に送信し続けることができる。
他方、第2配信者の端末装置20Bは、第2配信者の動作に基づいて第2トラッキング方式を用いて動作データ(第2動作データ)を、単位時間ごとに又は任意のタイミングで生成することができる。ここでいう単位時間の長さは、固定又は可変であり得る。この第2動作データは、少なくとも1つのセンサ(カメラ24a等)を用いた画像処理により生成された、顔における複数の部位の各々の深度と、頭部の座標及び角度と、を(例えばタイムスタンプに対応付けて)示す動作データを含み得る。例えば、ドットプロジェクタがドット(点)パターンをなす赤外線レーザーをユーザの顔に放射し、近赤外線カメラ24aが、ユーザの顔に投影され反射した赤外線ドットを捉え、このように捉えた赤外線ドットの画像を生成する。端末装置20Bは、予め登録されているドットプロジェクタにより放射されたドットパターンの画像と、近赤外線カメラにより捉えられた画像とを比較して、両画像における各ポイント(各特徴点)(例えば51個のポイント・特徴点の各々)における位置のずれを用いて各ポイント(各特徴点)の深度(各ポイント・各特徴点と近赤外線カメラとの間の距離)を算出することができる。端末装置20Bは、このように算出された深度を示す動作データを生成することができる。さらに、端末装置20Bは、ジャイロセンサ、加速度センサ及び/又は地磁気センサを有することにより、頭部の座標及び角度を示す動作データを生成することができる。
さらに、端末装置20Bは、(例えばマイク24bを用いて)第2配信者の発話に基づく音声データ(第2音声データ)を生成することもできる。
端末装置20Bは、このように生成された第2動作データ(及びオプションとしての第2音声データ)を、単位時間ごとに又は任意のタイミングで、サーバ装置30に送信し続けることができる。
サーバ装置30は、端末装置20Aからの第1動作データ(及びオプションとしての第1音声データ)と端末装置20Bからの第2動作データ(及びオプションとしての第2音声データ)とを含む「1セットの動作データ」を、端末装置20A、端末装置20B、及び、視聴者Aの端末装置20の各々に対して(図示しない他の各視聴者の端末装置20に対しても)送信し続けることができる。この意味において、「1セットの動作データ」は、端末装置20A、端末装置20B、及び、視聴者Aの端末装置20(図示しない他の各視聴者の端末装置20)に対して共通に送信されるデータであるといえる。
サーバ装置30は、例えば以下に例示するデータを「1セットの動作データ」に付加して送信することも可能である。
(A)複数の配信者の端末装置20(ここでは、端末装置20A、20B)の各々により生成された動作データ(及び音声データ)に対して、その動作データを送信した端末装置20及び/又は送信者を識別するデータ。
(B)複数の配信者の端末装置20(ここでは、端末装置20A、20B)の各々により生成された動作データ(及び音声データ)に対して、その動作データが、第1トラッキング方式及び第2トラッキング方式のうちのいずれの方式に従って生成されたのかを示すデータ。
このような「1セットの動作データ」を受信した各端末装置20は、データ(A)を参照することにより、「1セットの動作データ」の中に、何人の配信者により生成された動作データ(及び音声データ)が含まれているのかを識別することができる。さらに、各端末装置20は、各配信者の端末装置により生成された動作データ(及び音声データ)が、「1セットの動作データ」のうちのどの部分に含まれているのかを識別することができる。
また、各端末装置20は、データ(B)を参照することにより、各配信者の端末装置により生成された動作データ(及び音声データ)が、第1トラッキング方式及び第2トラッキング方式のうちのいずれの方式に従って生成されたのかを識別することができる。各端末装置20は、各トラッキング方式に従って生成された動作データ(及び音声データ)が、どのようなデータを含むかを予め認識している。例えば、各端末装置20は、第1トラッキング方式に従って生成された動作データが、各トラッキング装置により生成された対応する部分の座標及び角度を示すデータ(及びジョイスティック・ボタン等に対して配信者によりなされた操作の内容を示す操作データ)等を含むことを予め認識している。同様に、各端末装置20は、第2トラッキング方式に従って生成された動作データが、顔における複数の部位の各々の深度と、頭部の座標及び角度と、を示すデータを含むことを予め認識している。したがって、各端末装置20は、データ(B)を参照することにより、各配信者の端末装置20により生成されたいずれかのトラッキング方式に従って生成された動作データの内容を認識して利用することができる。
各端末装置20が受信した「1セットの動作データ」から各配信者の端末装置により生成された動作データを抽出して利用することができるようにすべく、サーバ装置30は、その他の任意のデータを「1セットの動作データ」の任意の位置に付加することができる。
端末装置20A、端末装置20B及び端末装置20C(他の各視聴者の端末装置20)は、受信した「1セットの動作データ」に基づいて、動画を生成することができる。なお、以下の説明において、各端末装置20は、事前に又は任意のタイミングにおいて、サーバ装置30から、各配信者により使用されるアバターを識別するアバター識別データに対応付けてそのアバターを描画するための描画データを受信して保持することができる。したがって、各端末装置20は、配信者を識別することにより、その配信者に使用されているアバターを識別し、そのアバターのアニメーションを生成及び表示することができる。
まず、端末装置20Aに着目する。
端末装置20Aは、第1動作データに基づく第1配信者のアバター(第1アバター)のアニメーションと、第2動作データに基づく第2配信者のアバター(第2アバター)のアニメーションと、を含む動画を生成することができる。具体的には、端末装置20AはHMD端末装置であるので、第1配信者動画及び第2配信者動画という2種類の動画を生成することができる。なお、端末装置20Aは、サーバ装置30より受信した1セットの動作データから、上述した手法によって、第1動作データ及び第2動作データの各々を抽出して動画の生成に利用することができる。
第1配信者動画とは、端末装置20AがVR端末装置として機能した場合に、第1仮想空間(例えば3次元の仮想空間)に第1アバター及び第2アバターを配置し、「第1配信者の視点」からみて描画(表現)した動画であり得る。また第1配信者動画とは、端末装置20AがMR端末装置として機能した場合に、「第1配信者の視点」からみた現実空間に第1アバター及び第2アバターを配置した動画であり得る。第2配信者動画とは、端末装置20AがVR端末装置として機能した場合に、第1仮想空間に第1アバター及び第2アバターを配置し、第1仮想空間における或る視点(例えば第1仮想空間に配置された仮想的なカメラ)からみて描画(表現)した動画であり得る。さらに、この第2動画は、「各視聴者に共通の視点」からみて描画(表現)した動画であり得る。すなわち、上記或る視点は、各視聴者にとって共通の視点であり得る。以下の説明では、端末装置20AがVR端末装置として機能し、第1配信者動画及び第2配信者動画を生成する場合について説明する。
別の実施形態では、第2配信者動画は、「各視聴者及び各配信者に共通の視点」からみて描画(表現)した動画であり得る。すなわち、上記或る視点は、各視聴者及び各配信者にとって共通の視点であり得る。
図7は、図1に示した通信システム1において第1配信者の端末装置により表示される第1配信者動画の一例を示す図である。第1配信者の端末装置20Aにより表示される第1配信者動画200は、図7に示すように、第1動作データに従って動作する、第1配信者の第1アバター210と、第2動作データに従って動作する、第2配信者の第2アバター220と、を含むことができる。ここで、第1配信者動画200は、視聴者Aのアバター(第3アバター)を含まない。
第1配信者動画200は、第1仮想空間に配置された第1アバター210の視点(すなわち、第1配信者の視点)からみて第1仮想空間を描画する動画であり得る。第1仮想空間における第1アバター210の現在位置及び第1アバター210が向く角度等は、サーバ装置30から受信する1セットの動画データに含まれる第1動作データ(又は端末装置20Aが生成して一時的に記憶した第1動作データ)に従って決められ変化し得る。
例えば、第1配信者が頭部を右方向(又は左方向)に15度回転させると、端末装置20Aは、右方向(又は左方向)に15度回転させた頭部の角度を示すデータを動作データに含めることができる。これにより、端末装置20Aは、第1アバター210の頭部の角度を更新することにより、第1配信者動画200において、第1アバター210が向く角度は、右方向(又は左方向)に15度回転させられる。また、第1配信者が右ハンドコントローラ102及び左ハンドコントローラ104を自身の胸の前まで持ち上げると、端末装置20Aは、変化させた右手の座標及び左手の座標を示すデータを動作データに含めることができる。これにより、端末装置20Aは、第1アバター210の右手及び左手の座標を更新することにより、第1配信者動画200において、図7に例示されるように、第1アバター210の右手210a及び左手210bが持ち上げられて描画される。さらに、第1配信者が右ハンドコントローラ102のボタン102E(又は左ハンドコントローラ104のボタン104E)を押圧することにより、端末装置20Aは、前進(又は更新)させた頭部の座標を示すデータを動画データに含めることができる。これにより、端末装置20Aは、第1アバター210の位置する座標を更新することにより、第1配信者動画200において、第1アバター210の視点が前進(又は後退)する。これに伴い、第1配信者動画200において、第2アバター220が大きく(又は小さく)描画される。
第1配信者動画200において、第1アバター210が第1動作データに従って動作するのと同様に、第2アバター220は、第2動作データに従って動作する。但し、第2配信者の端末装置20Bは、スマホ端末装置であるため、端末装置20Bにより生成される第2動作データは、第2トラッキング方式に基づいて生成された動作データ(顔における複数の部位の各々の深度と、頭部の座標及び角度と、を示す動作データ)である。したがって、第1配信者動画200において、第2動作データ(例えば、頭部の座標及び角度を示すデータ)に基づいて、第2アバター220の頭部は動作する(例えば頭部を左右に振る)。また、第2動作データ(顔における複数の部位の各々の深度を示すデータ)に基づいて、第2アバター220の表情は変化する。さらに、第2動作データ(頭部の座標及び角度を示すデータ)に基づいて、第2アバター220が向く方向は変化する。但し、第2アバター220の位置は変化しない。
図8は、図1に示した通信システム1において第1配信者の端末装置により表示される第2配信者動画の一例を示す図である。図8に例示されるように、第2配信者動画300は、第1動作データに従って動作する、第1配信者の第1アバター210と、第2動作データに従って動作する、第2配信者の第2アバター220と、を含むが、視聴者Aのアバター(第3アバター)を含まない。
第2配信者動画300は、複数の視聴者(視聴者Aを含む)のすべてに共通の視点からみて、第1仮想空間を描画する動画である。ここでいう共通の視点は、上述した第1仮想空間における任意の点(この点に設置された仮想的なカメラ等)からみた視点であり得る。なお、図8には、簡略化のために、第1アバター210及び第2アバター220の両方を正面からみて描画された例が示されているが、第1仮想空間に配置された視点の位置次第によっては、第2配信者動画300において、第1アバター210及び/又は第2アバター220が、横又は後ろを向く可能性もあり得る。一実施形態では、第1仮想空間に配置された視点の位置に関係なく、第1アバター210及び第2アバター220の両方が正面を向くように、第2配信者動画300が生成され得る。
第1動作データは、第1トラッキング方式に従って生成されるため、この第1動作データに基づいて動作する第1アバター210の第1仮想空間における位置は変化し得るし、第1アバター210が向く方向も変化し得る。したがって、第2配信者動画300において、第1アバター210の位置は変化し得るし、第1アバター210が向く方向も変化し得る。これに対して、第2動作データは、第2トラッキング方式に従って生成されるため、この第2動作データに基づいて動作する第2アバター220の第1仮想空間における座標は変化しない。したがって、第2配信者動画300において、第2アバター220の位置は変化しない(但し、第2配信者動画300において、第2アバター220の表情等は、第2動作データに基づいて変化し得る)。
このような理由から、一実施形態では、図8に例示されるように、第1仮想空間における位置が固定される第2アバター220は、前列に配置され、第1仮想空間における位置が変化する第1アバター210は、前列の背後にある後列に配置され得る。さらに、一実施形態では、図8に例示されるように、後列に配置される第1アバター210は、前列に配置される第2アバター220よりも高い位置に配置され得る。このように、複数のアバターを、複数の列(前列及び後列)のうち、その特徴に対応する列に配置することにより、これら複数のアバターの各々を、各ユーザ(第1配信者、第2配信者、各視聴者)にとって見易いものとすることができる。なお、別の実施形態では、上記とは逆に、第1アバター210を前列に配置し、第2アバター220を後列に配置することも可能である。
端末装置20Aは、一実施形態では、図7を参照して上述した第1配信者動画200と、図8を参照して上述した第2配信者動画300とを、出力装置26である表示部(HMD100等)において、相互に異なる領域に表示することができる。例えば、端末装置20Aは、表示部により形成される表示領域に含まれる特定領域のうち、右部、左部、上部又は下部といった一部の領域に第1配信者動画200を表示し、その特定領域のうちの残りの領域に第2配信者動画300を表示することができる。もう1つの好ましい実施形態では、端末装置20Aは、図9に例示されるように、第2配信者動画300を、第1配信者動画200が表示される領域の内部に表示することもできる。
図9は、図1に示した通信システム1において第1配信者の端末装置により表示される第1配信者動画及び第2配信者動画の別の例を示す図である。図9に示すように、端末装置20Aは、第2配信者動画300を、第1配信者動画200と組み合わせて、例えば、第1配信者動画200が表示される領域の内部に表示することができる。具体的には、端末装置20Aは、第1配信者動画200に含まれる第1アバター210の一部分(ここでは左手210b)に連動して、第2配信者動画300を移動可能に表示することができる。この場合、第1配信者が左ハンドコントローラ104を握持する左手を動かすと、これに伴って、第1配信者動画200に含まれる第1アバター210の左手210bが動く。このような左手210bに連動して、左手210bに保持された(ように描画される)第2配信者動画300もまた移動することができる。一実施形態では、第2配信者動画300は、第1配信者動画200に疑似的に表示される端末装置(疑似端末装置350)として表示され得る。
図4Aに戻り、次に、端末装置20Bに着目する。
端末装置20Bは、第1動作データに基づく第1配信者のアバター(第1アバター)のアニメーションと、第2動作データに基づく第2配信者のアバター(第2アバター)のアニメーションと、を含む動画を生成することができる。具体的には、端末装置20Aはスマホ端末装置であるので、第2配信者動画を生成することができる。なお、端末装置20Bは、サーバ装置30より受信した1セットの動作データから、上述した手法によって、第1動作データ及び第2動作データの各々を抽出して動画の生成に利用することができる。
第2配信者動画とは、上述したように、第1仮想空間に第1アバター及び第2アバターを配置し、第1仮想空間における或る視点(例えば第1仮想空間に配置された仮想的なカメラ)からみて描画(表現)した動画であり得る。さらに、この第2配信者動画は、「各視聴者に共通の視点」からみて描画(表現)した動画であり得る。ここで、端末装置20Bがサーバ装置30から受信する「1セットの動作データ」は、端末装置20Aがサーバ装置30から受信する「1セットの動作データ」と同一である。また、端末装置20Bが第2配信者動画を生成する方法は、上述した端末装置20Aが第2配信者動画を生成する方法と同一である。これにより、端末装置20Bが生成する第2配信者動画は、端末装置20Aが生成する第2配信者動画300(図8参照)と実質的に同一であり得る。したがって、端末装置20Bは、図8に例示するような第2配信者動画300を出力装置26であるタッチパネル又はディスプレイ等に表示することができる。
再度図4Aを参照し、次に、端末装置20Cに着目する。
端末装置20Cは、第1動作データに基づく第1配信者のアバター(第1アバター)のアニメーションと、第2動作データに基づく第2配信者のアバター(第2アバター)のアニメーションと、を含む動画を生成することができる。具体的には、端末装置20CはHMD端末装置であるので、第1視聴者動画及び第2視聴者動画という2種類の動画を生成することができる。なお、端末装置20Cは、サーバ装置30より受信した1セットの動作データから、上述した手法によって、第1動作データ及び第2動作データの各々を抽出して動画の生成に利用することができる。
第1視聴者動画とは、端末装置20CがMR端末装置として機能した場合に、「視聴者Aの視点」からみた現実空間に第1アバター及び第2アバターを配置した動画であり得る。第2視聴者動画とは、端末装置20CがVR端末装置として機能した場合に、第1仮想空間に第1アバター及び第2アバターを配置し、第1仮想空間における或る視点(例えば第1仮想空間に配置された仮想的なカメラ)からみて描画(表現)した動画であり得る。さらに、この第2視聴者動画は、「各視聴者に共通の視点」からみて描画(表現)した動画であり得る。第2視聴者動画は、第2配信者動画と同一の動画であり得る。
図10は、図1に示した通信システム1において視聴者Aの端末装置により表示される第1視聴者動画の一例を示す図である。視聴者Aの端末装置20Cにより表示される第1視聴者動画400は、図10に示すように、第1動作データに従って動作する、第1配信者の第1アバター210と、第2動作データに従って動作する、第2配信者の第2アバター220と、を含むことができる。なお第1配信者の第1アバター210及び第2配信者の第2アバター220の表示条件は、後述する。
端末装置20Cは、HMD端末装置であるので、端末装置20Cのユーザである視聴者Aの動作に基づいて第1トラッキング方式を用いて動作データ(第3動作データ)を生成することができる。なお視聴者Aは第3動作データを生成するために右ハンドコントローラ102及び左ハンドコントローラ104を使用してもよく、使用しなくてもよい。以下に説明する例では、視聴者動画において右ハンドコントローラ102及び左ハンドコントローラ104が省略されている。
第1視聴者動画400は、「視聴者Aの視点」からみた現実空間の動画データに第1アバターのアニメーション及び第2アバターのアニメーションを配置した動画であり得る。本例において「視聴者Aの視点」からみた現実空間の動画データは、カメラ部が取得する動画データである。本例においてカメラ部はユーザの両目近傍に設けられているため、視聴者Aの頭部の動きに対応した現実空間の動画データを取得することができる。図10において、現実空間の対象として、第1視聴者動画400には視聴者Aの手470(視聴者Aの右手470a及び左手470b)及びソファ480が表示されている。
さらに描画される第1アバター、第2アバターのアニメーションは、第3動作データに従って決められ変化し得る。例えば、視聴者Aが現実空間における位置から前進(又は後退)することにより、現実空間の動画データが変化する。現実空間の動画データが変化することに伴い、第1視聴者動画400において、第1アバター210及び第2アバター220が大きく(又は小さく)描画される。
第1視聴者動画400において、第1アバター210は、第1動作データに従って動作する。第1配信者の端末装置20AはHMD端末装置であるため、端末装置20Aにより生成される第1動作データは、第1トラッキング方式に基づいて生成された動作データである。したがって、第1視聴者動画400において、第1動作データに基づいて、第1アバター210の位置及び第1アバター210が向く方向等は、変化し得る。
また、第1視聴者動画400において、第2アバター220は、第2動作データに従って動作する。但し、第2配信者の端末装置20Bは、スマホ端末装置であるため、端末装置20Bにより生成される第2動作データは、第2トラッキング方式に基づいて生成された動作データ(顔における複数の部位の各々の深度と、頭部の座標及び角度と、を示す動作データ)である。したがって、第1視聴者動画400において、第2動作データに基づいて、第2アバター220の頭部は動作する(例えば頭部を左右に振る)が、第2アバター220の位置は変化しない。
第2視聴者動画とは、上述したように、第1仮想空間に第1アバター及び第2アバターを配置し、第1仮想空間における或る視点からみて描画(表現)した動画であり得る。さらに、この第2動画は、「各視聴者に共通の視点」からみて描画(表現)した動画であり得る。ここで、端末装置20Cがサーバ装置30から受信する「1セットの動作データ」は、端末装置20A及び20Bがサーバ装置30から受信する「1セットの動作データ」と同一である。また、端末装置20Cが第2視聴者動画を生成する方法は、上述した端末装置20A及び20Bが第2配信者動画を生成する方法と同一である。これにより、端末装置20Cが生成する第2視聴者動画は、端末装置20A及び20Bが生成する第2配信者動画300(図8参照)と実質的に同一であり得る。したがって、端末装置20Cは、図8に例示するような第2配信者動画300を出力装置26であるHMD100等に表示することができる。
また、端末装置20Cもまた、上述した端末装置20Aと同様に、第1視聴者動画400と第2視聴者動画とを組み合わせて表示することができる。端末装置20Aに関連して図9を参照して上述した手法は、端末装置20Cにより表示される第1視聴者動画400及び第2視聴者動画にも同様に適用され得る。例えば、図9と同様に第1視聴者動画400において疑似端末装置350が表示され得る。
(2)図4Bについて
図4Bは、図4Aに示した局面から、端末装置20Cのユーザである視聴者Aが、第3配信者として、第1配信者及び第2配信者と共同して動画を提供する局面に移行した様子を示す。
図4Bにおいて図4Aと異なるのは、HMD端末装置である端末装置20Cが、第3配信者の動作に基づいて第1トラッキング方式を用いて生成した第3動作データを、サーバ装置30に送信する点である。この結果、サーバ装置30は、端末装置20A、端末装置20B、端末装置20C及び図示しない各視聴者の端末装置20に対して、第1動作データ、第2動作データ及び第3動作データを含む1セットの動作データを送信し続ける。
端末装置20Aに着目する。
端末装置20Aは、第1動作データに基づく第1配信者のアバター(第1アバター)のアニメーションと、第2動作データに基づく第2配信者のアバター(第2アバター)のアニメーションと、第3動作データに基づく第3配信者のアバター(第3アバター)のアニメーションと、を含む動画を生成することができる。具体的には、端末装置20AはHMD端末装置であるので、第1配信者動画及び第2配信者動画という2種類の動画を生成することができる。なお、端末装置20Aは、サーバ装置30より受信した1セットの動作データから、上述した手法によって、第1動作データ、第2動作データ及び第3動作データの各々を抽出して動画の生成に利用することができる。
図11は、図1に示した通信システム1において第1配信者の端末装置により表示される第1配信者動画の別の例を示す図である。第1配信者の端末装置20Aにより表示される第1配信者動画200Aは、図11に示すように、第1動作データに従って動作する、第1配信者の第1アバター210と、第2動作データに従って動作する、第2配信者の第2アバター220と、第3動作データに従って動作する第3アバター450と、を含む。
第1配信者動画200Aにおける第1アバター210及び第2アバター220の生成又は表示方法については、第1配信者動画200におけるものと同様であるので、省略する。
第1配信者動画200Aにおいて、第3アバター450は、第3動作データに従って動作する。第3配信者の端末装置20CはHMD端末装置であるため、端末装置20Cにより生成される第3動作データは、第1トラッキング方式に基づいて生成された動作データである。したがって、第1配信者動画200Aにおいて、第3動作データに基づいて、第3アバター450の位置及び第3アバター450が向く方向等は、変化し得る。
図12は、図1に示した通信システム1において第1配信者の端末装置により表示される第2配信者動画の別の例を示す図である。図12に例示されるように、第2配信者動画300Aは、第1動作データに従って動作する、第1配信者の第1アバター210と、第2動作データに従って動作する、第2配信者の第2アバター220と、第3動作データに従って動作する、第3配信者の第3アバター450と、を含むことができる。
第2配信者動画300Aが図8に示した第2配信者動画300と異なるのは、第2配信者動画300Aが第3アバター450を含む点である(その他の点については、第2配信者動画300に関連して上述したとおりである)。
第3動作データは、第1トラッキング方式に従って生成されるため、この第3動作データに基づいて動作する第3アバター450の第1仮想空間における位置は変化し得るし、第3アバター450が向く方向も変化し得る。したがって、第2配信者動画300Aにおいて、第3アバター450の位置は変化し得るし、第3アバター450が向く方向等も変化し得る。
また、第3アバター450は、第2配信者動画300に関連して上述したとおりの理由により、第1アバター210とともに後列に配置され得ることが好ましい。
5-2.第2ケース
第2ケースでは、HMD端末装置を利用する第1配信者が単独で各視聴者に動画を提供する。この後、視聴者Aが、HMD端末装置を利用して、第1配信者と共同して各視聴者に動画を提供する。
第2ケースは、上述した第1ケース(図4A~図4B)において、第2配信者、その端末装置20B及び第2動作データを除外したケースに相当する。すなわち、図5A~図5Bは、それぞれ、図4A~図4Bにおいて、第2配信者、その端末装置20B及び第2動作データを除外したものに相当する。したがって、冗長な説明を避けるために、図5A~図5Bにおいて、装置間において送信されるデータ(第1動作データ~第4動作データ)を示すに留め、それらの説明を省略する。
5-3.第3ケース
第3ケースでは、スマホ端末装置を利用する第2配信者が単独で各視聴者に動画を提供する。この後、視聴者Aが、HMD端末装置を利用して、第2配信者と共同して各視聴者に動画を提供する。
第3ケースは、上述した第1ケース(図4A~図4B)において、第1配信者、その端末装置20A及び第1動作データを除外したケースに相当する。すなわち、図6A~図6Bは、それぞれ、図4A~図4Bにおいて、第1配信者、その端末装置20A及び第1動作データを除外したものに相当する。したがって、冗長な説明を抑えるために、図6A~図6Bにおいて、装置間において送信されるデータを示すに留め、それらの説明を省略する。
5-4.変形例
上述した様々な実施形態では、サーバ装置30が、各配信者の端末装置20から受信したすべての動作データを、1セットの動作データとして、各配信者の端末装置20及び各視聴者の端末装置20に対して送信する場合について説明した。すなわち、上述した様々な実施形態では、サーバ装置30が、或る動作データを送信してきた配信者の端末装置に対しても、当該或る動作データを1セットの動作データに含めて送信する場合について説明した。
この場合、共同して動画を配信する配信者の総数が増加するにつれて、各配信者の端末装置20がサーバ装置30から受信する動作データの量、すなわち、サーバ装置30が各配信者の端末装置20に対して送信する動作データの量が増加する結果、通信網が逼迫して、各配信者の端末装置20からサーバ装置30を介して各視聴者の端末装置20に対して円滑に動画を提供することが困難になる可能性があるという課題が生じ得る。このような課題に対処すべく、別の実施形態では、サーバ装置30は、或る動作データを送信してきた配信者の端末装置に対しては、当該或る動作データを送信しないようにする構成を採用することも可能である。これにより、各配信者の端末装置20がサーバ装置30から受信する動作データの量、すなわち、サーバ装置30が各配信者の端末装置20に対して送信する動作データの量を減少させることができ、したがって、各配信者の端末装置20からサーバ装置30を介して各視聴者の端末装置20に対してより円滑に動画を提供することができる。この場合、この配信者の端末装置は、自己が生成した当該或る動作データを用いて、動画の生成を行うことができる。例えば、図4A~図4Bに示した構成では、サーバ装置30は、第1動作データを、端末装置20B及び各視聴者の端末装置20のみに送信して、端末装置20Aには送信せず、同様に、第2動作データを、端末装置20A及び各視聴者の端末装置20のみに送信して、端末装置20Bには送信しないようにすることができる。また、サーバ装置30は、図4Bに示した構成では、第3動作データを端末装置20Cには送信しないようにすることができる。
また、上述した様々な実施形態では、自明であるため、明示的には言及していないが、各配信者の端末装置及び各視聴者の端末装置は、サーバ装置から受信する「1セットの動作データ」の内部に含まれた、又は、「1セットの動作データ」に組み合わせられた、各配信者の端末装置により生成された音声データを取得することができる。このような音声データを用いることにより、各配信者の端末装置及び各視聴者の端末装置は、各配信者が発した音声が組み込まれた第1配信者・視聴者動画及び/又は第2配信者・視聴者動画を再生することもできるし、第1配信者・視聴者動画及び/又は第2配信者・視聴者動画を表示しながら各発信者が発した音声を再生することもできる。
また、上述した様々な例では、第1配信者・視聴者動画及び第2配信者・視聴者動画等の生成に関連する動作を各端末装置20が実行する方式(クライアントレンダリング方式)に着目して説明してきた。しかし、図4A~図6Bの各々において各端末装置20により実行されるものとして説明してきた動画の生成に関する動作を、1つのサーバ装置30が単独で又は複数のサーバ装置30が分担して実行する方式(サーバレンダリング方式)を採用することも可能である。この場合、上記1又はそれ以上のサーバ装置30が、各端末装置20の代わりに、動画の生成に関連する様々な動作を実行することにより、第1視聴者動画及び/又は第2視聴者動画を生成して端末装置20Cに送信することができる。なお、上述したとおり、サーバ装置30は、各配信者の端末装置20から動作データを受信するので、各端末装置20の代わりにかかる動作データを利用して各種動画の生成を実行することができる。またサーバ装置30は、端末装置20Cのカメラ部が取得する動画データを受信してよい。一方、サーバ装置30は、各視聴者の端末装置20から動作データを必ずしも受信する訳ではない。したがって、サーバレンダリング方式を採用する場合には、サーバ装置30は、各視聴者の端末装置から単位時間ごとに又は任意のタイミングで動作データを受信するようにしてもよい。
また、上述した様々な例では、第1配信者・視聴者動画及び第2配信者・視聴者動画等の生成に関連する動作を各端末装置20が実行する方式(クライアントレンダリング方式)に着目して説明してきた。しかし、各端末装置20は、ウェブブラウザを介して、サーバ装置30又はウェブサーバ装置30からウェブページを受信し、このウェブページに含まれたコンピュータプログラムを実行することにより、このような第1配信者・視聴者動画及び第2配信者・視聴者動画等の生成に関連する動作を遂行する方式(ブラウザレンダリング方式)を採用することも可能である。
以上説明したプラットフォームによれば、いずれの配信者の端末装置が第1トラッキング方式及び第2トラッキング方式のうちのいずれの方式を利用して動作データを生成した場合であっても、各端末装置は、上記配信者の端末装置により採用されたトラッキング方式に応じて動画を生成又は表示することができる。さらに、各端末装置は、この端末装置がHMD端末装置及びスマホ端末装置であるかに応じて、第1配信者・視聴者動画及び第2配信者・視聴者動画のうちの利用可能な一方又は両方の動画を生成又は表示することもできる。これにより、上記プラットフォームは、配信者がその身体に装着等されるトラッキング装置を利用して動画を各視聴者等に提供することを可能にする。
6.通信システム1により実行される動作
6-1.基本的な動作
次に、上述したプラットフォームを利用して通信システム1において実行される動作の具体例について、端末装置20により表示される第1視聴者動画に着目して説明する。以下、上述したプラットフォームに関連して説明した事項については、冗長な説明を避けるために、その説明を省略する。
図13は、図1に示した通信システム1において実行される動作の一例を示すフロー図である。まず、ステップ(以下「ST」という。)502において、ユーザ(ここでは「視聴者A」がその端末装置20Cを操作することにより、端末装置20Cに対して、動画サービスの提供を受けるための特定のアプリケーションを起動して実行させる。なお、以下に説明する動作は、他の任意の端末装置(HMD端末装置)20にも同様に当て嵌まる。
次にST504において、上記特定のアプリケーションを実行する端末装置20Cは、「準備モード」を実行することができる。この「準備モード」は、端末装置20Cが、他の端末装置20により提供された動画を受信することもせず、他の端末装置20に対して動画を配信することもしないときに、動画の受信又は配信を準備するモードである。なお、端末装置20Cは、現在のモードとしていずれのモードを実行しているかを示すモード識別データを、記憶しておくことができる。端末装置20Cは、「準備モード」に移行してから「準備モード」を終了するまでの間、「準備モード」を示すモード識別データを記憶することができる。任意のタイミングにおいて、端末装置20Cは、モード識別データを参照することにより、いずれのモードを実行しているかを判定することができる。
端末装置20Cは、「準備モード」を実行しているときには、図14に示すような画面(ホーム画面)を表示することができる。
図14は、図1に示す通信システムにおいて端末装置により「準備モード」の実行に際して表示される画面の一例を示す図である。図14に示すように、HMD端末装置である端末装置20Cは、ホーム画面において、視聴者Aの視点から見える現実空間に関する第1視聴者動画600を表示することができる。上記「5.プラットフォーム」において上述したとおり、第1視聴者動画600は、端末装置20Cのカメラ部が取得する動画データを含むものである。図14の第1視聴者動画600において、現実空間の対象としてソファ480が表示されている。
さらに、端末装置20Cは、第1視聴者動画600と組み合わせて、入力オブジェクト610を表示することができる。入力オブジェクト610は、視聴者Aによる操作入力を可能とするユーザインターフェイスとして機能し得る。具体的には、入力オブジェクト610は、複数のアイコン、例えば、端末装置20Cを「視聴モード」に移行させるためのアイコン620、端末装置20Cを「単独配信モード」に移行させるためのアイコン622、及び、端末装置20Cを「共同配信モード」(「コラボ配信モード」)に移行させるためのアイコン624等を含むことができる。図14において、入力オブジェクト610は、第1視聴者動画600の中心に表示される。
第1視聴者動画600は、視聴者Aの視点から見える現実空間に関する動画であるので、視聴者Aが体の一部(例えば、視聴者の手)を動かすことにより、視聴者Aの体の一部を表示することができる。したがって、視聴者Aの体の一部とアイコンが重なる場合にそのアイコンに対応するモードを選択することができる。これにより、視聴者Aは、例えばスマートフォンのような端末装置のタッチパネルに触れて端末装置を操作しているかのように、疑似的に表示された端末装置を操作することができる。
なお視聴者Aの体の一部とアイコンが重なる場合とは、視聴者Aの特定の部位とアイコンが重なる場合であってよい。視聴者Aの特定の部位とは、例えば、視聴者Aの指先である。また誤動作を防止するために、視聴者Aの体の一部とアイコンが一定期間重なる場合に、視聴者Aの体の一部とアイコンが重なったと判定されてよい。
また端末装置20Cは、入力オブジェクト610に関連させて、視聴者Aに装着又は把持されるトラッキング装置、ここでは、例えば、右ハンドコントローラ102又は左ハンドコントローラ104に対する視聴者Aによる操作に従って動作するポインタ(不図示)を表示してもよい。端末装置20Cは、ポインタを、紙面上、下方から上方に向かって流れるレーザー光として描画することができる。端末装置20Cは、ポインタの軌跡を描画することも可能である。視聴者Aは、右ハンドコントローラ102又は左ハンドコントローラ104を動かすことにより、入力オブジェクト610の表面上において、ポインタを動かすことができる。視聴者Aは、アイコン620、622、624のいずれかにポインタを位置させ、右ハンドコントローラ102又は左ハンドコントローラ104のいずれかのボタンを押圧することにより、そのアイコンに対応するモードを選択することが可能である。
端末装置20Cは、入力オブジェクト610において、第2視聴者動画640を表示することもできる。第2視聴者動画640は、第1仮想空間において、視聴者Aの動作を示す動作データに基づいて動作する第3アバター450を配置し、この第3アバター450を正面からみて表示することができる。
さらに、端末装置20Cは、このような入力オブジェクト610を、図14に例示するように、疑似的に表現された端末装置(疑似端末装置)として表示することができる。疑似端末装置は、一態様として、疑似的に表現された疑似スマートフォン(疑似スマホ)を含み得る。
また、端末装置20Cは、一実施形態では、第1視聴者動画600と、入力オブジェクト610とを、出力装置26である表示部(HMD100等)において、相互に異なる領域に表示することもできる。例えば、端末装置20Cは、表示部により形成される表示領域に含まれる特定領域のうち、右部、左部、上部又は下部といった一部の領域に第1視聴者動画600を表示し、その特定領域のうちの残りの領域に入力オブジェクト610を表示することができる。もう1つの好ましい実施形態では、端末装置20Aは、図14に例示されるように、入力オブジェクト610を、第1視聴者動画600が表示される領域の内部に表示することもできる。この場合、入力オブジェクト610の表示される位置は、適宜視聴者Aによって設定可能であってもよい。
図13に戻り、次に、ST506において、端末装置20Cは、「準備モード」を実行している間に、視聴者Aによりいずれかのモード(ここでは、例えば、「視聴モード」、「単独配信モード」又は「共同配信モード」)が選択されたか否かを判定することができる。端末装置20Cは、いずれのモードも選択されていないと判定した場合には、ST504を継続して実行することができる。一方、端末装置20Cは、いずれかのモードが選択されたと判定した場合には、その選択されたモードに対応するステップに移行することができる。本例では、ST506において、「視聴モード」が選択されたと判定した場合を説明する。
次にST508において、端末装置20Cは「視聴モード」に移行する。「視聴モード」において、端末装置20Cは、第1視聴者動画700を表示する。
図15は、図1に示す通信システムにおいて端末装置により「視聴モード」の実行に際して表示される第1視聴者動画700の一例を示す図である。図15に示すように、HMD端末装置である端末装置20Cは、視聴者Aの視点から見える現実空間に関する第1視聴者動画700を表示することができる。図14の第1視聴者動画600と同様に、第1視聴者動画700は、端末装置20Cのカメラ部が取得する動画データを含むものである。図15において、第1視聴者動画700には視聴者Aの手470(視聴者Aの右手470a及び左手470b)及びソファ480が表示されている。図15に示すとおり、第1視聴者動画700は配信者のアバターのアニメーションを含むものではない。
再度図13に戻り、次に、ST510において、第1視聴者動画700において視聴者Aが所定アクションを実行したかが判定される。所定アクションとは、ユーザの特定の動作である。所定アクションは、ユーザの手の動きに基づく動作であってよい。所定アクションは、一例として、ユーザが拍手をする動作であってよい。ユーザが拍手をする動作とは、ユーザが両手を合わせる動作とユーザが両手を離す動作をそれぞれ複数回連続して行う動作であってよい。所定アクションとは、ユーザが第1視聴者動画700に表示される対象に手を触れる動作であってよい。ユーザが第1視聴者動画700に表示される対象に手を触れる動作とは、例えば、ユーザが図15のソファ480に手を触れる動作である。ユーザが第1視聴者動画700に表示される対象に手を触れる動作とは、例えば、ユーザが図15に表示される地面に手を触れる動作である。所定アクションとは、ユーザが特定のハンドサイン(例えば、親指を立てる動作であるグッドポーズ(サムズアップ)等)をする動作であってよい。所定アクションは、実行したかが判定できる所定のアクションであってよい。所定アクションは、これらの例に限られない。本例において、所定アクションをユーザが拍手をする動作であるとして説明し、当該動作を第1所定アクションとする。第1所定アクションは、配信者のアバターを出現させる出現アクションである。
端末装置20Cは、所定アクションを実行したかを判定してよい。なおサーバレンダリング方式を採用する場合には、サーバ装置30は、所定アクションを実行したかを判定してよい。以下では、端末装置20Cが第1所定アクションを実行したかを判定する例について説明する。
端末装置20Cは、第1視聴者動画700を用いて所定アクションを実行したかを判定してよい。1つの態様として端末装置20Cは、第1視聴者動画700から、画像認識等により現実空間における対象の位置座標を取得してよい。例えば、右手470aの位置座標とは、右手470aと認識される対象の位置情報の集合であり得る。端末装置20Cは、現実空間における対象の位置座標を用いて、所定アクションを実行したかを判定してよい。例えば、ユーザが拍手をする動作の場合、右手470aの位置座標の集合及び左手470bの位置座標の集合が重なった場合に、ユーザが両手を合わせる動作が実行されたと判定され、右手470aの位置座標の集合及び左手470bの位置座標の集合が離れた場合に、ユーザが両手を離す動作が実行されたと判定される。そしてユーザが両手を合わせる動作とユーザが両手を離す動作をそれぞれ複数回連続して行う動作が実行された場合(つまり、「パチパチ・・・」と手をたたいた場合)に、ユーザが拍手をする動作(第1所定アクション)が実行されたと判定される。また所定以上の速さでユーザが両手を合わせる動作が実行され、その後ユーザが両手を離す動作が実行された場合(つまり、勢いよく「パン!」と手をたたいた場合)に、ユーザが拍手をする動作(第1所定アクション)が実行されたと判定されてもよい。
また別の態様として端末装置20Cは、第1視聴者動画700から、画像認識等により現実空間における対象を認識してよい。例えば、端末装置20Cは、第1視聴者動画700において、右手470aと左手470bを認識する。そして、認識された右手470aと左手470bが接触したと認識された場合に、ユーザが両手を合わせる動作が実行されたと判定され、認識された右手470aと左手470bが不接触したと認識された場合に、ユーザが両手を離す動作が実行されたと判定されてよい。また、単に認識された右手470aと左手470bが第1視聴者動画700上で重なった場合に、ユーザが両手を合わせる動作が実行されたと判定され、認識された右手470aと左手470bが第1視聴者動画700上で離れた場合に、ユーザが両手を離す動作が実行されたと判定されてもよい。
また更なる別の態様として端末装置20Cが有するモーションセンサ(例えば、ジャイロセンサ、加速度センサ及び/又は地磁気センサ)から取得される情報に基づいて、ユーザが両手を合わせる動作又はユーザが両手を離す動作が実行されたと判定されてもよい。この場合、一例としてユーザは、モーションセンサを有するコントローラを装着又は把持する。
そして、ST510において、第1視聴者動画700において視聴者Aが所定アクションを実行したかが判定された場合に、ST512において、第1視聴者動画700において配信者のアバターのアニメーションが表示される。
図16は、図1に示す通信システムにおいて端末装置により第1所定アクションが実行されたと判定された場合に表示される第1視聴者動画800の一例を示す図である。本例において、第1視聴者動画800において第2配信者の第2アバター220が表示される。
第2配信者の第2アバター220が表示される位置は、視聴者Aの位置から第1所定距離離れた位置である。つまり、現実空間における視聴者Aの位置から第1所定距離離れた位置に第2配信者の第2アバター220を表示させる。第1所定距離とは、例えば1mである。第2配信者の第2アバター220が表示される位置は、視聴者Aが拍手をした方向に視聴者Aの位置から第1所定距離離れた位置であってよい。視聴者Aが拍手をした方向とは、視聴者Aの両手が表示される方向であってよい。本例では、第1視聴者動画800の中央に向かって視聴者Aが拍手を行い、第1視聴者動画800の中央に第2配信者の第2アバター220が表示される。また単に視聴者Aが拍手をした方向とは無関係に、視聴者Aが拍手をした場合に、第1視聴者動画800の中央に第2配信者の第2アバター220が表示されてもよい。
本例では第1所定アクションが実行されたと判定された場合に、第2配信者の第2アバター220が表示されているが、表示される配信者のアバターの例はこれに限られない。第1所定アクションが実行されたと判定された場合に、第1配信者の第1アバター210が表示されてもよい。第1所定アクションが実行されたと判定された場合に、配信中の配信者の中からランダムでアバターが表示されてもよい。
また第1所定アクションが実行されたと判定された場合に表示される配信者は、視聴者Aの視聴履歴に基づいて選択あるいは決定されてもよい。例えば、視聴者Aがあらかじめ設定したリスト、視聴者Aの配信履歴に関するリスト及び視聴者Aの視聴履歴に関するリストに基づいて決定されてよい。より具体的には例えば、第1所定アクションが実行されたと判定された場合に、配信中の配信者であってお気に入りリストに登録されている配信者の中からランダムでアバターが表示されてもよい。第1所定アクションが実行されたと判定された場合に、配信中の配信者であってお気に入りリストに登録されている配信者の中から上部に表示されている順にアバターが表示されてもよい(例えば、後述する図25のお気に入りリストにおいて、「Uさん」、「Vさん」、「Wさん」の順にアバターが表示される)。また第1所定アクションが実行されたと判定された場合に、配信中の配信者であってお気に入りリストに登録されている配信者の中から予め定められた優先度に基づいてアバターが表示されてもよい。また第1所定アクションが実行されたと判定された場合に、配信中の配信者であって視聴者Aと共同配信をした回数が最も多い配信者のアバターが表示されてもよい。また第1所定アクションが実行されたと判定された場合に、配信中の配信者であって視聴者Aが視聴した回数が最も多い配信者のアバターが表示されてもよい。また第1所定アクションが実行されたと判定された場合に、配信中の配信者であって、視聴者Aが過去に視聴した時間帯と当該配信者が過去に配信した時間帯が最も重複する配信者のアバターが表示されてもよい。また第1所定アクションが実行されたと判定された場合に、配信中の配信者であって、視聴者Aが過去に視聴した時間が所定値以下の配信者のアバターは表示されなくてもよい。例えば、視聴者Aが過去に数秒(例えば、3秒等)しか特定の配信者を視聴しなかった場合に、当該配信者は視聴者Aにとって興味がないと判断され、当該配信者のアバターは、表示されなくてもよい(この場合、当該配信者以外の配信者のアバターが表示される)。
また第1所定アクションが実行されたと判定された場合に表示される配信者は、視聴者A以外の別の視聴者(視聴者Bとする)の視聴履歴に基づいて選択あるいは決定されてもよい。この場合、第1所定アクションが実行されたと判定された場合に表示される配信者は、視聴者Aが視聴したことがない配信者も含まれ得る。例えば、第1所定アクションが実行されたと判定された場合に、配信中の配信者であって視聴者Bが視聴した回数が最も多い配信者のアバターが表示されてもよい。視聴者Bは、視聴者Aの視聴履歴に基づいて決定されてよい。視聴者Bは、視聴履歴が視聴者Aと相関する視聴者であってよい。視聴者Bと視聴者Aの視聴履歴が相関するとは、視聴者Bが過去に視聴した配信者と視聴者Aが過去に視聴した配信者が一部重複することであってもよい。視聴者Bと視聴者Aの視聴履歴が相関するとは、視聴者Bの配信者のお気に入りリストと視聴者Aの配信者のお気に入りリストが一部重複することであってもよい。また視聴者Bは、ランダムで決定されてもよい。
以上のように、視聴者Aが第1所定アクションを実行したと判定された場合に、配信者のアバターが第1視聴者動画800に表示される。したがって、視聴者Aの任意のタイミングで配信者のアバターを現実空間に投影することができ、視聴者AはMR空間を楽しむことができる。また配信者のアバターは後述したとおり動作データに基づいて動作するため、視聴者AはMR空間において没入感を得ることができる。またST512以後、視聴モードが継続する。
図17は、第1視聴者動画800が表示された後に図1に示す通信システムにおいて端末装置により第1所定アクションが実行されたと判定された場合に表示される第1視聴者動画900の一例を示す図である。本例の第1視聴者動画900において、第2配信者の第2アバター220に加えて第1配信者の第1アバター210が表示される。
第1配信者の第1アバター210が表示される位置は、視聴者Aの位置から第2所定距離離れた位置である。つまり、現実空間における視聴者Aの位置から第2所定距離離れた位置に第1配信者の第1アバター210を表示させる。第2所定距離とは、例えば1mである。第1配信者の第1アバター210が表示される位置は、視聴者Aが拍手をした方向に視聴者Aの位置から第2所定距離離れた位置であってよい。第2所定距離は、第1所定距離と同一であってもよく、異なっていてもよい。また単に視聴者Aが拍手をした方向とは無関係に、視聴者Aが拍手をした場合に、第1視聴者動画900の中央に第1配信者の第1アバター210が表示されてもよい。
本例では、第1配信者の第1アバター210の位置と第2配信者の第2アバター220の位置の距離が所定値以上である。当該所定値は、例えば、第1配信者の第1アバター210と第2配信者の第2アバター220が部分的に重ならない値である。当該所定値は、適宜視聴者Aによって設定されてよい。第1配信者の第1アバター210の位置と第2配信者の第2アバター220の位置の距離が所定値以下の場合については図18で説明する。
以上のように、視聴者Aが第1所定アクションを実行したと判定されるたびに、判定された回数分配信者のアバターが第1視聴者動画900に表示される。したがって、視聴者Aは複数の配信者のアバターを現実空間に投影することができ、視聴者AはMR空間を楽しむことができる。なお、第1所定アクションが実行されたと判定された場合に表示できる配信者が存在しない場合(例えば、第2配信者が第1視聴者動画800に表示されている状態で他の配信者が配信を行っていない場合)は、他の配信者を表示しなくてよい。
図18は、第1視聴者動画800が表示された後に図1に示す通信システムにおいて端末装置により第1所定アクションが実行されたと判定された場合に表示される第1視聴者動画1000の一例を示す図である。本例において、第2配信者の第2アバター220の代わりに第1視聴者動画1000において第1配信者の第1アバター210が表示される。
第1配信者の第1アバター210を表示する際に、第1配信者の第1アバター210の位置と第2配信者の第2アバター220の位置の距離が所定値以下である場合に、第1配信者の第1アバター210と第2配信者の第2アバター220が部分的に重なる場合がある。この場合、第1配信者の第1アバター210と第2配信者の第2アバター220が重なる動画が第1視聴者動画1000に表示され、視聴者Aは違和感を覚え、MR空間において没入感を得にくくなる。
本例では、第1配信者の第1アバター210を表示する際に、第1配信者の第1アバター210の位置と第2配信者の第2アバター220の位置の距離が所定値以下である場合に、第2配信者の第2アバター220の動画を削除するため、第1配信者の第1アバター210と第2配信者の第2アバター220が部分的に重ならなくなる。したがって、視聴者AがMR空間において得る没入感が損なわれなくなる。さらに視聴者Aは、表示する配信者を自由に変更することが可能であり、視聴者AはMR空間を楽しむことができる。
なお前述したとおり第1動作データは第1トラッキング方式に従って生成されるため、第1アバター210の第1仮想空間における位置は変化し得る。そのため、視聴者Aが第1所定アクションを実行したと判定される(つまり、配信者のアバターの表示が開始される)際には第1配信者の第1アバター210の位置と第2配信者の第2アバター220の位置の距離が所定値以上であっても、一定期間経過後に第1配信者の第1アバター210の位置と第2配信者の第2アバター220の位置の距離が所定値以下になる場合がある。この場合、第1アバター210の位置と第2配信者の第2アバター220の位置の距離が所定値以上になるように、第1アバター210の移動を制限してもよい。例えば、第1アバター210の位置と第2配信者の第2アバター220の位置の距離が所定値以下となる第1アバター210の移動は無効になってよい。また第1配信者の第1アバター210の位置と第2配信者の第2アバター220の位置の距離が所定値以下になる場合に、どちらか一方の配信者のアバターの動画を削除してもよい。
6-2.別の実施例
図19は、図1に示す通信システムにおいて端末装置により第2所定アクションが実行されたと判定された場合に表示される第1視聴者動画1100の一例を示す図である。第2所定アクションは、配信者のアバターを出現させる出現アクションであり、第1所定アクションと異なるアクションであってよい。本例において第2所定アクションとは、視聴者Aが第1視聴者動画1100に表示される対象に手を触れる動作である。図19において対象とは、視聴者Aの居る現実空間に存在するソファ480である。
第2配信者の第2アバター220は、対象の位置に表示される。本例において、第2配信者の第2アバター220は、ソファ480の位置に表示される。図19では、ソファ480の位置に第2配信者の第2アバター220が表示される。図19に示すとおり、ソファ480の上部に第2配信者の第2アバター220が表示されてよい。またソファ480と重なるように第2アバター220が表示されてもよい。
視聴者Aが第2所定アクションを実行したと判定された場合に、配信者のアバターが第1視聴者動画1100に表示される。したがって、視聴者Aの任意のタイミングで配信者のアバターを現実空間に投影することができ、視聴者AはMR空間を楽しむことができる。また配信者のアバターは後述したとおり動作データに基づいて動作するため、視聴者AはMR空間において没入感を得ることができる。なお前述した実施例と同様に、第2所定アクションが複数回実行された場合には、複数の配信者のアバターを表示してよい。新しく配信者のアバターを表示する際に、新しく表示する配信者のアバターの位置とすでに表示されていたアバターの位置の距離が所定値以下になる場合に、すでに表示されていたアバターの動画を削除してよい。
図20は、図1に示す通信システムにおいて端末装置により第2所定アクションが実行されたと判定された場合に表示される第1視聴者動画1200の一例を示す図である。本例において、第1視聴者動画1200における第2配信者の第2アバター220の表示が図19の第1視聴者動画1100における第2配信者の第2アバター220の表示と異なる。
本例において第2配信者の第2アバター220を表示する場合に、第1視聴者動画1200において表示される第2配信者の第2アバター220が位置する対象に基づいて、第2配信者の第2アバター220の表示が変更される。本例では、第2配信者の第2アバター220がソファ480の位置に表示されるため、ソファ480に座る動作をするように第2配信者の第2アバター220を表示する。第2配信者の第2アバター220がソファ480の位置に表示される場合に、ソファ480に寝転がるような動作をするように第2配信者の第2アバター220配信者を表示してもよい。また第2配信者の第2アバター220が地面に示される場合に、直立するように第2配信者の第2アバター220を表示してよい。第2配信者の第2アバター220が地面に示される場合に、特定のポーズをとるように第2配信者の第2アバター220を表示してよい。第2配信者の第2アバター220が位置する対象に基づいて、第2配信者の第2アバター220の表示が変更されるため、視聴者AはMR空間において没入感を得ることができる。
なおアバターが位置する対象に基づいて表示が変更されるアバターは、スマホ端末装置の配信者のアバター(例えば、第2配信者の第2アバター220)に限定してよい。スマホ端末装置の配信者のアバターは、アバターの位置が変化しないため、スムーズに表示を変更することが可能である。
図21は、第1視聴者動画800が表示された後に図1に示す通信システムにおいて端末装置により第3所定アクションが実行されたと判定された場合に表示される第1視聴者動画1300の一例を示す図である。本例において、第2配信者の第2アバター220に加えて第1視聴者動画1300においてハート状のギフト490が表示される。図21において、第2配信者の第2アバター220の動画とギフト490が組み合わされて表示される。
第3所定アクションが実行されたと判定された場合に、ギフト490が表示されてよい。第3所定アクションは、ギフトを付与するギフトアクションである。ここで第3所定アクションとは、前述した第1所定アクション、第2所定アクションとは異なるアクションであってよい。本例では、第3所定アクションとは特定のアバターに指で形成した指ハートを向けるアクションである。第3所定アクションは、単に指ハートを形成するアクションであってもよい。第3所定アクションが単に指ハートを形成するアクションである場合、第1視聴者動画1300に表示される全てのアバターにギフトが付与されてよい。また第3所定アクションが単に指ハートを形成するアクションである場合、第1視聴者動画1300の中央付近に表示されるアバターにギフトが付与されてもよい。第3所定アクションが実行されたと判定された場合にギフトが付与されるため、視聴者Aは動画視聴をより楽しむことができる。また視聴者Aによって付与されたギフトに関するギフト情報は、配信者の端末装置に送信され、配信者の端末装置に表示される動画に反映されてよい。したがって、配信者と視聴者はギフトを介してコミュニケーションを行うことができる。
なおギフト情報は、例えば以下に例示するデータを含むことが可能である。
(A)視聴者の端末装置20(ここでは、端末装置20C)により付与されたギフトが、そのギフトを付与(送信)した端末装置20及び/又は付与(送信)者を識別するデータ。
(B)視聴者の端末装置20(ここでは、端末装置20C)により付与されたギフトが、そのギフトを受信した(付与された)端末装置20及び/又は受信者を識別するデータ。
(C)視聴者Aの端末装置20Cにより付与されたギフトが、第1ギフティング方式及び第2ギフティング方式のうちのいずれの方式に従って生成されたのかを示すデータ。
なお第1ギフティング方式とは、付与(送信)者のパラメータを消費しないギフティング方式である。一例として第3所定アクションにより表示されるギフトは、第1ギフティング方式により生成されたギフトである。第2ギフティング方式とは、付与(送信)者のパラメータを消費するギフティング方式である。第2ギフティング方式によりギフトが付与された場合に、例えば付与(送信)者のゲーム内通貨、所持コインが消費される。一例として後述する第4所定アクション、第5所定アクションにより表示されるギフトは、第2ギフティング方式により生成されたギフトである。この場合、第4所定アクションでギフトが表示された後、第5所定アクション実行時に付与(送信)者のパラメータを消費する旨の確認のダイアログを表示してもよい。
図22は、第1視聴者動画800が表示された後に図1に示す通信システムにおいて端末装置により第4所定アクションが実行されたと判定された場合に表示される第1視聴者動画1400の一例を示す図である。本例において、第2配信者の第2アバター220に加えて第1視聴者動画1300においてケーキ状のギフト514が表示される。図22において、手470に重ねてギフト514が表示される。
第4所定アクションが実行されたと判定された場合に、ギフト514が表示されてよい。ここで第4所定アクションとは、前述した第1所定アクション、第2所定アクション、第3所定アクションとは異なるアクションであってよい。本例では、第4所定アクションは両手を上側に向けるアクションである。第4所定アクションが実行されたと判定された場合に、手470と連動してギフト514が表示されるため、第1視聴者動画1400において視聴者Aが手470上にケーキを持っているように表示される。また第4所定アクションは片手でグラスやワインのボトル等を持つアクションであってもよい。第4所定アクションが片手でグラスやワインのボトル等を持つアクションで当該アクションが実行された場合、グラス状やワインのボトル状のギフトが表示される。また第4所定アクションは両手を接触させた状態から所定距離離すアクションであってもよい。第4所定アクションが両手を接触させた状態から所定距離離すアクションで当該アクションが実行された場合、視聴者Aの手にケーキタワー状のギフトが表示される。
図23は、第1視聴者動画1400が表示された後に図1に示す通信システムにおいて端末装置により第5所定アクションが実行されたと判定された場合に表示される第1視聴者動画1500の一例を示す図である。本例において、第2配信者の第2アバター220の代わりに第1視聴者動画1000において第2配信者の第2アバターとギフト514に関する動画240が表示される。
第5所定アクションが実行されたと判定された場合に、第2配信者の第2アバターとギフト514に関する動画240が表示されてよい。第5所定アクションは、ギフトを付与するギフトアクションである。ここで第5所定アクションとは、前述した第1所定アクション、第2所定アクション、第3所定アクション、第4所定アクションとは異なるアクションであってよい。本例では、ギフト514を投げるアクションである。
第2配信者の第2アバターとギフト514に関する動画240は、ギフト514を持つ第2アバターが表示される動画であってよい。またギフト514が指輪等の装飾品である場合、第2配信者の第2アバターとギフト514に関する動画240は、ギフト514を装着している第2アバターが表示される動画であってよい。第5所定アクションが実行されたと判定された場合に、第2配信者の第2アバターとギフト514に関する動画240が表示されるため、視聴者AはMR空間を楽しむことができる。
第2配信者の画面には、視聴者Aの画面と同様に第2配信者の第2アバターとギフト514に関する動画が表示されてよい。また第2配信者の画面には、第2配信者の第2アバターとギフト514に関する動画が表示されずに第2配信者の第2アバターのみが表示されてもよい。また第2配信者にギフトが付与された場合、視聴者Aから第2配信者に対して贈られたギフト情報について、第2配信者の画面には、「視聴者Aから、ケーキのギフトが届きました」などの通知が表示されるようにしてもよい。この場合、第2配信者は、第2配信者の第2アバターを継続して表示するか、第2配信者の第2アバターとギフト514に関する動画(例えば、ケーキを持った第2アバターの動画)を表示するかを選択可能であってもよい。
図24は、図1に示す通信システムにおいて端末装置により第1所定アクションが実行されたと判定された場合に表示される第1視聴者動画1600の一例を示す図である。本例において、第1所定距離は、図16の第1視聴者動画800における第1所定距離より大きい。したがって、図24の第1視聴者動画1600において第2配信者の第2アバター220は、図16の第1視聴者動画800と比べて小さく描画される。
本例において、第2配信者の第2アバター220の表示だけでなく、第1視聴者動画1600において視聴者Aが第1所定アクションを実行したと判定された場合に、第1視聴者動画1600において第2配信者の第2アバター220が表示される位置と視聴者Aの位置の距離(第1所定距離)に基づいて第2配信者の音声を再生する。例えば、第2配信者の音声の音量は、第1視聴者動画1600において第1所定距離に基づいて決定される。具体的には、第1所定距離が大きいほど、再生される第2配信者の音声の音量は小さくなる。以上により、現実空間と同様に距離に応じて第2配信者の音声が変化するため、視聴者Aは没入感を得ることができMR空間を楽しむことが可能となる。
また第1所定距離が所定値以上の場合には、第2配信者の音声を再生しなくてもよい。第2配信者の音声を再生しない場合、第2配信者の音声データを取得する必要がなく通信の負荷を軽減することができる。また第1所定距離が所定値以上か否かにかかわらず、第1視聴者動画1600内に第2配信者が表示されていない場合(例えば、視聴者Aが、第2配信者の第2アバター位置とは違う方向を向いている場合)に、第2配信者の音声を再生しなくてもよい。また第1所定距離が所定値以上の場合でかつ第1視聴者動画1600内に第2配信者が表示されていない場合に、第2配信者の音声を再生しなくてもよい。また第1視聴者動画1600内に第2配信者が表示されているか否かにかかわらず、第1所定距離が所定値未満の場合に、第2配信者の音声を再生してもよい。
図25は、お気に入りリスト520が表示される第1視聴者動画1700の一例を示す図である。お気に入りリスト520は、視聴者Aによって編集可能であってよい。お気に入りリスト520は、前述した図14のホーム画面で編集可能であってもよく、動画視聴中に編集可能であってもよい。お気に入りリスト520の操作は、図14のホーム画面と同様であってよい。本例では、お気に入りの配信者として「Uさん」、「Vさん」、「Wさん」が登録されている。
お気に入りリスト520は、「編集モード」に移行させるためのアイコン530を含むことができる。視聴者Aがアイコン530を選択した場合には、視聴者Aはお気に入りリスト520を編集可能である。アイコン530を選択することにより、各配信者を変更するアイコン540、各配信者を視聴するか否かを切り替えるアイコン550及び後述する設定画面570に移行するためのアイコン560が選択可能になる。
各配信者のアイコン540が選択された場合に、各配信者を変更可能である。図25において各配信者のアイコン540には、「Uさん」、「Vさん」、「Wさん」が表示されている。例えば「Uさん」を選択した場合、「Uさん」、「Vさん」及び「Wさん」以外の特定の配信者に変更することが可能である。また「Uさん」を削除することも可能である(つまりこの場合、お気に入りリスト520には「Vさん」、「Wさん」のみが表示される。)。
各配信者のアイコン550が選択された場合に、視聴するか否かを変更可能である。図25において各配信者のアイコン550には、それぞれ「視聴する」が表示されている。例えば、図25において、「Vさん」のアイコン550を選択した場合に、「Vさん」のアイコン550の表示は「視聴しない」に変更される。この場合に所定アクションが実行されたと判定されても、「Vさん」は第1視聴者動画に表示されず、「Uさん」と「Wさん」のどちらかが表示される。この場合再度「Vさん」のアイコン550を選択した場合に、「Vさん」のアイコン550の表示は「視聴する」に変更される。以上のように、視聴者Aは視聴する配信者を適宜変更することが可能である。
図26は、図25において各配信者のアイコン560を選択した場合に表示される第1視聴者動画1800の一例を示す図である。第1視聴者動画1800において、設定画面570が表示される。設定画面570において、配信者の所定アクションを設定することができる。図26において、設定画面570では配信者を出願させる所定アクション(出現アクション)や配信者にギフトを付与する所定アクション(ギフトアクション)を設定することができる。本例において、設定画面570は、「Uさん」の設定画面である。設定画面570には、出現アクションを設定するアイコン580、出現アクションの優先度を設定するアイコン590、ギフトアクションを設定するアイコン630及び付与するギフトの内容を設定するアイコン650が表示される。
図26において、アイコン580が選択されることにより、「Uさん」を表示させる出現アクションを設定可能である。本例において、「Uさん」を表示させる出現アクションとして「拍手」が設定されている。
図26において、アイコン590が選択されることにより、出現アクションがされたと判定された場合の「Uさん」を表示させる優先度を設定可能である。本例において、「Uさん」を表示させる出現アクションとして「拍手」が設定されていて、その優先度は「1」である。「Uさん」、「Vさん」、「Wさん」全員の出現アクションが「拍手」であった場合、優先度の数が低いほど先に表示されてよい。つまり、視聴者Aが「拍手」をしたと判定された場合に、優先度の数が低い「Uさん」が優先的に第1視聴者動画に表示される。
なお、優先度が同じ場合、優先度が同じ配信者の内一人をランダムで表示させてよい。例えば、第1所定アクションがそれぞれ同じで「Uさん」、「Vさん」の優先度が「1」、「Wさん」の優先度が「2」の場合を考える。この時、1回目の第1所定アクションが実行された場合、「Uさん」、「Vさん」のいずれかが表示される。2回目の第1所定アクションが実行された場合、「Uさん」、「Vさん」の内、1回目の第1所定アクションが実行された際に表示されなかった方のいずれかが表示される。そして3回目の第1所定アクションが実行された場合、「Wさん」が表示される。以上のように、視聴者Aは視聴する配信者の表示順を適宜設定することが可能である。なお優先度が同じ場合、優先度が同じ配信者の中から図25のお気に入りリスト520の上部に表示されている順にアバターが表示されてもよい(例えば、優先度が同じ場合に「Uさん」、「Vさん」、「Wさん」の順にアバターが表示される)。
図26において、アイコン630が選択されることにより、ギフトを付与するギフトアクションを設定可能である。本例において、ギフトを付与するアクションとして「指ハート」が設定されている。
図26において、アイコン650が選択されることにより、ギフトアクションが実行された場合に付与されるギフトを設定可能である。本例において、付与されるギフトとして「ハート」が設定されている。
以上アバターを使用する配信に関する実施形態について説明したが、本実施形態はアバターを使用する配信以外の態様にも適用できる。例えばプレイヤがゲーム(FPSゲームやRPGゲーム等)中において、所定アクションを実施する(例えば、拍手をする)ことによりチームメイト(ゲームにおける仲間のプレイヤ)を呼び出すことが可能である。この場合、仮想空間内のオブジェクト、例えば敵キャラクタ、建物等の障害物の位置やサイズを考慮して、呼び出された側のチームメイトの初期位置や姿勢を調整してもよい。呼び出されたチームメイトも並行してゲームを行っている場合には、移動先の情報について予告通知を出してもよい(例えば、チームメイトの画面には「Aさんに呼ばれているので移動します」、「移動先には建物があるので気をつけてください。」等のメッセージが表示される。)。
なお所定アクションが実施されてから一定期間経過後に、プレイヤの画面にチームメイトが呼び出されてよい。所定アクションが連続で実施されると、端末装置に負荷がかかるため、所定アクションが実施されてから一定期間経過後にプレイヤの画面にチームメイトが呼び出されることで、端末装置における負荷を軽減することができる。また、呼び出されたチームメイトのストレスも軽減可能である。なおプレイヤがゲーム中においてチームメイトを呼び出す実施形態は、所定アクションが実施された場合にチームメイトが呼び出される例に限定されず、コントローラやキーボードに所定の操作がされた場合にチームメイトが呼び出されてもよい。
上述した様々な実施形態は、矛盾又は不都合が生じない限りにおいて相互に組み合わせて用いることが可能なものである。本明細書に開示された発明の原理が適用され得る多くの可能な実施形態を考慮すれば、例示された様々な実施形態は好ましい様々な例に過ぎず、特許請求の範囲に係る発明の技術的範囲をこれらの好ましい様々な例に限定すると考えるべきではない、と理解されたい。実際には、特許請求の範囲に係る発明の技術的範囲は、添付した特許請求の範囲により定められる。したがって、特許請求の範囲に記載された発明の技術的範囲に属するすべてについて、本発明者らの発明として、特許の付与を請求する。
第1の態様に係るコンピュータプログラムは、「端末装置に搭載された少なくとも1つのプロセッサにより実行されることにより、前記端末装置のユーザである自ユーザの動作に基づいて動作し、前記自ユーザの視点から見える現実空間に関する第1動画を表示し、前記第1動画において前記自ユーザが第1所定アクションを実行したと判定された場合に、前記自ユーザとは異なる第1ユーザの動作に基づくアバターオブジェクトのアニメーションに関する第2動画を、前記第1動画と組み合わせて表示する、ように前記少なくとも1つのプロセッサを機能させる」ことができる。
第2の態様によるコンピュータプログラムは、上述の第1の態様において、「前記第1所定アクションは、前記自ユーザが拍手をする動作である」ものである。
第3の態様によるコンピュータプログラムは、上述の第1の態様において、「前記第1動画において前記自ユーザが前記第1所定アクションを実行したと判定された場合に、前記第1動画において前記第2動画を前記自ユーザの位置から所定距離離れた位置に表示する」ものである。
第4の態様によるコンピュータプログラムは、上述の第1の態様において、「前記第1所定アクションは、前記自ユーザが前記第1動画に表示される第1対象に手を触れる動作である」ものである。
第5の態様によるコンピュータプログラムは、上述の第4の態様において、「前記第1動画において前記自ユーザが前記第1所定アクションを実行したと判定された場合に、前記第1動画において前記第2動画を前記第1対象の位置に表示する、ように前記少なくとも1つのプロセッサを機能させる」ものである。
第6の態様によるコンピュータプログラムは、上述の第1の態様において、「前記第1動画において前記第2動画が表示されている場合であって、かつ、前記第1動画において前記自ユーザが前記第1所定アクションを実行したと判定された場合に、前記自ユーザ及び前記第1ユーザとは異なる第2ユーザの動作に基づくアバターオブジェクトのアニメーションに関する第3動画を、前記第1動画と組み合わせて表示する、ように前記少なくとも1つのプロセッサを機能させる」ものである。
第7の態様によるコンピュータプログラムは、上述の第6の態様において、「前記第3動画を、前記第1動画と組み合わせて表示する場合であって、かつ、前記第1動画において前記第2動画が表示される位置と前記第3動画が表示される位置の距離が所定値以下の場合に、前記第2動画を前記第1動画から削除する」ものである。
第8の態様によるコンピュータプログラムは、上述の第1の態様において、「前記第1ユーザは、前記自ユーザがあらかじめ設定したリスト、前記自ユーザの配信履歴に関するリスト及び前記自ユーザの視聴履歴に関するリストに基づいて決定される」ものである。
第9の態様によるコンピュータプログラムは、上述の第1の態様において、「前記第1動画において前記自ユーザが前記第1所定アクションを実行したと判定された場合に、前記第1動画において前記第2動画が表示される位置と前記自ユーザの位置の距離に基づいて前記第1ユーザの音声を再生する、ように前記少なくとも1つのプロセッサを機能させる」ものである。
第10の態様によるコンピュータプログラムは、上述の第9の態様において、「前記音声の音量は、前記第1動画において前記第2動画が表示される位置と前記自ユーザの位置の距離に基づいて決定される、ように前記少なくとも1つのプロセッサを機能させる」ものである。
第11の態様によるコンピュータプログラムは、上述の第9の態様において、「前記第2動画が表示される位置と前記自ユーザの位置の距離が所定値以上の場合に、前記第1ユーザの音声を再生しない、ように前記少なくとも1つのプロセッサを機能させる」ものである。
第12の態様によるコンピュータプログラムは、上述の第1の態様において、「前記第2動画が表示されている場合であって、かつ、前記第1動画において前記自ユーザが前記第1所定アクションとは異なる第2所定アクションを実行したと判定された場合に、前記自ユーザが前記第1ユーザ提供するギフトに関するギフトオブジェクトのアニメーションに関する第4動画を、前記第1動画及び前記第2動画と組み合わせて表示する、又は、前記第1ユーザのアバターオブジェクトと前記ギフトオブジェクトを組み合わせたアニメーションに関する第5動画を、前記第1動画と組み合わせて表示する、ように前記少なくとも1つのプロセッサを機能させる」ものである。
第13の態様によるコンピュータプログラムは、上述の第1の態様において、「前記第2動画を前記第1動画と組み合わせて表示する場合に、前記第1動画において前記第2動画を表示する位置に位置する第2対象に基づいて、前記第2動画の表示を変更するように前記少なくとも1つのプロセッサを機能させる」ものである。
第14の態様によるコンピュータプログラムは、上記第1の態様から上記第13の態様のいずれかにおいて、「前記少なくとも1つのプロセッサが、中央処理装置(CPU)、マイクロプロセッサ、及び/又は、グラフィックスプロセッシングユニット(GPU)を含む」ものである。
第15の態様に係る方法は、「コンピュータにより読み取り可能な命令を実行する端末装置に搭載された少なくとも1つのプロセッサにより実行される方法であって、前記少なくとも1つのプロセッサが、前記命令を実行することにより、前記端末装置のユーザである自ユーザの動作に基づいて動作し、前記自ユーザの視点から見える現実空間に関する第1動画を表示すること、及び、前記第1動画において前記自ユーザが所定アクションを実行したと判定された場合に、前記自ユーザとは異なる第1ユーザの動作に基づくアバターオブジェクトのアニメーションに関する第2動画を、前記第1動画と組み合わせて表示すること、を含む」ことができる。
第16の態様に係る方法は、上記第15の態様において「前記少なくとも1つのプロセッサが、中央処理装置(CPU)、マイクロプロセッサ、及び/又は、グラフィックスプロセッシングユニット(GPU)を含む」構成を採ることができる。
第17の態様に係るシステムは、「第1端末装置と、前記第1端末装置に通信回線を介して接続されるサーバ装置と、を含むシステムであって、前記サーバ装置は、前記第1端末装置の第1ユーザとは異なる第2ユーザの第2端末装置から受信した前記第2ユーザの動作に基づいて生成された第1動作データを、前記第1端末装置に送信する、ように構成され、前記第1端末装置は、前記第1動作データを前記サーバ装置から受信し、前記第1ユーザの動作に基づいて生成された第2動作データを取得し、前記第2動作データに基づいて動作し、前記第1ユーザの視点から見える現実空間に関する第1動画を表示し、前記第1動画において前記第1ユーザが所定アクションを実行したと判定された場合に、前記第1動作データに基づくアバターオブジェクトのアニメーションに関する第2動画を、前記第1動画と組み合わせて表示する、ように構成され」得る。
第18の態様に係る方法は、「第1端末装置と、前記第1端末装置に通信回線を介して接続されるサーバ装置と、を含むシステムにより実行される方法であって、前記サーバ装置が、前記第1端末装置の第1ユーザとは異なる第2ユーザの第2端末装置から受信した前記第2ユーザの動作に基づいて生成された第1動作データを、前記第1端末装置に送信すること、前記第1端末装置が、前記第1動作データを前記サーバ装置から受信すること、前記第1端末装置が、前記第1ユーザの動作に基づいて生成された第2動作データを取得すること、前記第1端末装置が、前記第2動作データに基づいて動作し、前記第1ユーザの視点から見える現実空間に関する第1動画を表示すること、及び、前記第1端末装置が、前記第1動画において前記第1ユーザが所定アクションを実行したと判定された場合に、前記第1動作データに基づくアバターオブジェクトのアニメーションに関する第2動画を、前記第1動画と組み合わせて表示すること、を含む」ことができる。
第19の態様に係るサーバ装置は、「少なくとも1つのプロセッサを具備するサーバ装置であって、前記少なくとも1つのプロセッサがコンピュータプログラムを含むウェブページを端末装置に送信するように構成され、前記コンピュータプログラムが、前記ウェブページを受信した前記端末装置により実行されることにより、前記端末装置の第1ユーザの動作に基づいて動作し、前記第1ユーザの視点から見える現実空間に関する第1動画を表示し、前記第1動画において前記第1ユーザが所定アクションを実行したと判定された場合に、前記第1ユーザとは異なる第2ユーザの動作に基づくアバターオブジェクトのアニメーションに関する第2動画を、前記第1動画と組み合わせて表示する、ように前記端末装置を機能させる」ことができる。
第20の態様に係るサーバ装置は、上記第19の態様において「前記少なくとも1つのプロセッサが、中央処理装置(CPU)、マイクロプロセッサ、及び/又は、グラフィックスプロセッシングユニット(GPU)を含む」構成を採ることができる。
第21の態様に係る方法は、「コンピュータにより読み取り可能な命令を実行するサーバ装置に搭載された少なくとも1つのプロセッサにより実行される方法であって、前記少なくとも1つのプロセッサが、前記命令を実行することにより、コンピュータプログラムを含むウェブページを端末装置に送信することを含み、前記コンピュータプログラムが、前記ウェブページを受信した前記端末装置により実行されることにより、前記端末装置の第1ユーザの動作に基づいて動作し、前記第1ユーザの視点から見える現実空間に関する第1動画を表示し、前記第1動画において前記第1ユーザが所定アクションを実行したと判定された場合に、前記第1ユーザとは異なる第2ユーザの動作に基づくアバターオブジェクトのアニメーションに関する第2動画を、前記第1動画と組み合わせて表示する、ように前記端末装置を機能させる」ことができる。
第22の態様に係る方法は、上記第21の態様において「前記少なくとも1つのプロセッサが、中央処理装置(CPU)、マイクロプロセッサ、及び/又は、グラフィックスプロセッシングユニット(GPU)を含む」構成を採ることができる。