特許法第30条第2項適用 ウェブサイトの掲載日 2021年10月15日 ウェブサイトのアドレス https://note.com/reality_eng/n/nb83df95c5a7f 公開者 REALITY株式会社 公開された発明の内容 REALITY株式会社が、上記アドレスにより特定されるウェブサイトにおいて、同社でインターンとして勤務する者によりなされた発明に関連する記事を公開した。
特許法第30条第2項適用 ウェブサイトの掲載日 2021年10月15日 ウェブサイトのアドレス https://twitter.com/reality_jp/status/1448952528905728011 公開者 REALITY株式会社 公開された発明の内容 REALITY株式会社が、上記アドレスにより特定されるウェブサイトにおいて、同社でインターンとして勤務する者によりなされた発明に関連する記事を公開した。
特許法第30条第2項適用 ウェブサイトの掲載日 2021年12月18日 ウェブサイトのアドレス https://note.com/reality_eng/n/nd102f12e7f78 公開者 REALITY株式会社 公開された発明の内容 REALITY株式会社が、上記アドレスにより特定されるウェブサイトにおいて、同社の社員によりなされた発明に関連する記事を公開した。
特許法第30条第2項適用 ウェブサイトの掲載日 2021年12月18日 ウェブサイトのアドレス https://twitter.com/reality_jp/status/1471963421000273931 公開者 REALITY株式会社 公開された発明の内容 REALITY株式会社が、上記アドレスにより特定されるウェブサイトにおいて、同社の社員によりなされた発明に関連する記事を公開した。
本明細書は、いかなる方法によっても限定されることを意図していない、代表的な様々な実施形態という意味により記載される。
本件出願において用いられるように、「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グラス等をこれらに限定することなく含むことができる。少なくとも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グラス、スマートフォン、パーソナルコンピュータ、タブレット、携帯情報端末、携帯電話、及び、これらの組み合わせを、これらに限定することなく含むことができる。
少なくとも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つのコントローラは、例えば、ユーザの右手に把持又は装着され得る右ハンドコントローラ及びユーザの左手に把持又は装着され得る左ハンドコントローラを、これらに限定することなく含むことができる。
図3は、図1に示した通信システム1において、第1トラッキング方式に基づく動作データを生成すべく端末装置20等に接続可能な装置の一例を示す模式図である。第1トラッキング方式に基づく動作データを生成する端末装置20は、図3に示すように、ユーザの頭部に装着されるHMD(又はVRグラス等)100と、ユーザの頭部以外の身体(ここではユーザの右手)に把持又は装着され得る右ハンドコントローラ102と、ユーザの頭部以外の身体(ここではユーザの左手)に把持又は装着され得る左ハンドコントローラ104と、を含み(に接続され)得る。
HMD100は、基部100Aと、この基部100Aを図示しないユーザの頭部に固定するための固定部100Bと、を含むことができる。基部100Aは、ユーザの両目に対向して配置される(図示しない)ディスプレイ部と、ユーザの頭部の座標及び角度を検知してこれらを示す動作データを生成する(図示しない)センサ部と、上記ディスプレイ部、上記センサ部、右ハンドコントローラ102、左ハンドコントローラ104、及び、端末装置20(の入出力インターフェイス装置23)との間において(動作データ及び操作データ等を含む)様々なデータを通信する(図示しない)通信部と、を含むことができる。上記センサ部は、ユーザの眼球の動きを直接的に検出するように、このユーザの眼球に対向して設けられた、図示しないアイトラッキングセンサを備えることも可能である。上記アイトラッキングセンサは、例えば、虹彩内に近赤外光を入射しその反射光を検出するように構成された、視線検出センサであり得る。このようなアイトラッキングセンサは、ユーザの視線の動きを示す操作データを生成することができる。このようなHMD100を装着したユーザは、その眼球を移動させることにより、上記ディスプレイ部に表示されるオブジェクト(例えば図15等に表示されるポインタ630等)を移動させること、及び/又は、上記ディスプレイ部に表示されるオブジェクト(例えば図15等に表示されるアイコン620、622、624等)を選択すること等ができる。
固定部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~図4D、図5A~図5D、図6A~図6D、図14及び図21等を参照して説明する動作等を含む)を実行することができる。
なお、端末装置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~図4D、図5A~図5D、図6A~図6D、図14及び図21等を参照して説明する動作等を含む)を実行することができる。
なお、サーバ装置30は、中央処理装置31に代えて又は中央処理装置31とともに、1又はそれ以上のマイクロプロセッサ、及び/又は、グラフィックスプロセッシングユニット(GPU)を含むこともできる。
サーバ装置30は、インストールされた上記特定のアプリケーションを実行してウェブサーバとして機能することも可能である。このサーバ装置30は、このサーバ装置30にアクセスしてきた各端末装置20(及び/又は他のサーバ装置30)に対して、コンピュータプログラムを含むウェブページを送信することができる。このような端末装置20(及び/又は他のサーバ装置30)は、ウェブページに含まれたコンピュータプログラムを実行することにより、動画の配信、生成及び/又は表示等に関連する様々な動作(図4A~図4D、図5A~図5D、図6A~図6D、図14及び図21等を参照して説明する動作等を含む)を実行することもできる。
5.プラットフォーム
次に、通信ネットワーク1により実現されるプラットフォームの一例について説明する。このプラットフォームは、各配信者が第1トラッキング方式に基づく動作データを生成して送信する端末装置20及び第2トラッキング方式に基づく動作データを生成して送信する端末装置20のいずれを用いた場合であっても、各配信者の端末装置及び各視聴者の端末装置が適切に動画を表示する、ということを可能にする。
以下の3つのケースを例に挙げて、このプラットフォームにおいて実行される動作を説明する。なお、説明の便宜上、第1トラッキング方式に基づく動作を生成して送信する端末装置20を「VR端末装置」といい、第2トラッキング方式に基づく動作を生成して送信する端末装置20を「スマホ端末装置」という。但し、スマートフォン又はタブレット等であっても、これに接続される複数のトラッキング装置(例えば図3に示した装置)を用いることにより、「VR端末装置」になり得る。
第1ケース(図4A~図4D):VR端末装置を利用する第1配信者及びスマホ端末装置を利用する第2配信者が共同して各視聴者に動画を提供する。この後、1人の視聴者(視聴者A)が、VR端末装置又はスマホ端末装置を利用して、第1配信者及び第2配信者と共同して各視聴者に動画を提供する。
第2ケース(図5A~図5D):VR端末装置を利用する第1配信者が単独で各視聴者に動画を提供する。この後、視聴者Aが、VR端末装置又はスマホ端末装置を利用して、第1配信者と共同して各視聴者に動画を提供する。
第3ケース(図6A~図6D):スマホ端末装置を利用する第2配信者が単独で各視聴者に動画を提供する。この後、視聴者Aが、VR端末装置又はスマホ端末装置を利用して、第2配信者と共同して各視聴者に動画を提供する。
5-1.第1ケース
まず、第1ケースについて、図4A~図4Dを参照して説明する。図4A~図4Dは、図1に示した通信システム1により実現されるプラットフォームを用いた動画の提供に関する第1ケースを説明する模式図である。なお、便宜上、図4A~図4Dにおいては、各端末装置20とサーバ装置30との間に介在する通信網10が省略されている。
(1)図4Aについて
図4Aを参照すると、VR端末装置20Aを利用する第1配信者及びスマホ端末装置20Bを利用する第2配信者が、共同して、視聴者Aの端末装置20Cを含む複数の視聴者の端末装置20に対して動画を提供している。但し、図面の簡略化のために、図4A~図4Dでは、複数の視聴者の端末装置20として、VR端末装置である、視聴者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はVR端末装置であるので、第1動画及び第2動画という2種類の動画を生成することができる。なお、端末装置20Aは、サーバ装置30より受信した1セットの動作データから、上述した手法によって、第1動作データ及び第2動作データの各々を抽出して動画の生成に利用することができる。
第1動画とは、第1仮想空間(例えば3次元の仮想空間)に第1アバター及び第2アバターを配置し、「第1配信者の視点」からみて描画(表現)した動画であり得る。第2動画とは、第1仮想空間に第1アバター及び第2アバターを配置し、第1仮想空間における或る視点(例えば第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の位置は変化しない。
なお、図7に例示されたオブジェクト245については、「5-4.変形例」において後述する。
図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の両方を正面からみて第2動画300が描画された例が示されているが、第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動画200は、第1動画200に疑似的に表示される端末装置(疑似端末装置)として表示され得る。
図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はVR端末装置であるので、上述した端末装置20Aと同様に、第1動画及び第2動画という2種類の動画を生成することができる。なお、端末装置20Aは、サーバ装置30より受信した1セットの動作データから、上述した手法によって、第1動作データ及び第2動作データの各々を抽出して動画の生成に利用することができる。
第1動画とは、第1仮想空間(例えば3次元の仮想空間)に第1アバター及び第2アバターを配置し、「視聴者Aの視点」からみて描画(表現)した動画であり得る。
図10は、図1に示した通信システム1において視聴者Aの端末装置により表示される第1動画の一例を示す図である。視聴者Aの端末装置20Cにより表示される第1動画400は、図10に示すように、第1動作データに従って動作する、第1配信者の第1アバター210と、第2動作データに従って動作する、第2配信者の第2アバター220と、を含むことができる。ここで、第1動画400は、視聴者Aのアバター(第3アバター)を表示しないことに留意されたい。
端末装置20Cは、VR端末装置であるので、端末装置20Cのユーザである視聴者Aの動作に基づいて第1トラッキング方式を用いて動作データ(第3動作データ)を生成することができる。
第1動画400は、第1仮想空間に配置された視聴者Aの第3アバターの視点(すなわち、視聴者Aの視点)からみて第1仮想空間を描画する動画であり得る。第1仮想空間における第3アバターの現在位置及び第3アバターが向く角度等(すなわち、第1動画400に用いられる第3アバター又は視聴者Aの視点)は、第3動作データに従って決められ変化し得る。この点は、上述した端末装置20Aにより生成される第1動画200と同様である。
例えば、視聴者Aが頭部を右方向(又は左方向)に15度回転させると、第1動画40において、第3アバターが向く角度(ひいては第3アバターの視点)は、右方向(又は左方向)に15度回転させられる。また、視聴者Aが右ハンドコントローラ102及び左ハンドコントローラ104を自身の胸の前まで持ち上げると、上述したとおり、第1動画400において、第3アバターの右手及び左手が持ち上げられて描画される。さらに、視聴者Aが右ハンドコントローラ102のボタン102E(又は左コントローラ104のボタン104E)を押圧することにより、第3アバターの視点が前進(又は後退)することになり、したがって、第1動画400において、第1アバター210及び第2アバター220が大きく(又は小さく)描画される。
第1動画400において、第1アバター210は、第1動作データに従って動作する。第1配信者の端末装置20AはVR端末装置であるため、端末装置20Aにより生成される第1動作データは、第1トラッキング方式に基づいて生成された動作データである。したがって、第1動画400において、第1動作データに基づいて、第1アバター210の位置及び第1アバター210が向く方向等は、変化し得る。
端末装置20Aにより生成される第1動画200(図7)とは対照的に、端末装置20Cにより生成される第1動画400(図10)においては、第1配信者の第1アバター210の全身が表示され得る。第1動画400では、視聴者A(第3アバター)の視点からみて、第1仮想空間を描画しているからである。
また、第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動画300とを組み合わせて表示することができる。端末装置20Aに関連して図9を参照して上述した手法は、端末装置20Cにより表示される第1動画400及び第2動画300にも同様に適用され得る。
(2)図4Bについて
図4Bを参照すると、VR端末装置20Aを利用する第1配信者及びスマホ端末装置20Bを利用する第2配信者が、共同して、視聴者Aの端末装置20Cを含む複数の視聴者の端末装置20に対して動画を提供している。図4Bにおいて図4Aと異なるのは、視聴者Aが、VR端末装置である端末装置20C(図4A)ではなく、スマホ端末装置である端末装置20Dを用いている点のみである。
端末装置20Aにより行われる動作(2種類の動画の表示を含む)及び端末装置20Bにより行われる動作(1種類の動画の表示を含む)は、図4Aに関連して上述したものと同一である。
端末装置20Dは、第1動作データに基づく第1配信者のアバター(第1アバター)のアニメーションと、第2動作データに基づく第2配信者のアバター(第2アバター)のアニメーションと、を含む動画を生成することができる。具体的には、端末装置20Dはスマホ端末装置であるので、第2動画を生成することができる。なお、端末装置20Dは、サーバ装置30より受信した1セットの動作データから、上述した手法によって、第1動作データ及び第2動作データの各々を抽出して動画の生成に利用することができる。
図4Aに示した端末装置20Cとは異なり、端末装置20Dは、第1動画ではなく第2動画を表示することができる。第2動画とは、上述したように、第1仮想空間に第1アバター及び第2アバターを配置し、第1仮想空間における或る視点からみて描画(表現)した動画であり得る。さらにこの第2動画は、「各視聴者に共通の視点」からみて描画(表現)した動画であり得る。ここで、端末装置20Dがサーバ装置30から受信する「1セットの動作データ」は、端末装置20Aがサーバ装置30から受信する「1セットの動作データ」と同一である。また、端末装置20Dが第2動画を生成する方法は、上述した端末装置20Aが第2動画を生成する方法と同一である。これにより、端末装置20Dが生成する第2動画は、端末装置20Aが生成する第2動画300(図8参照)と実質的に同一であり得る。したがって、端末装置20Dは、図8に例示するような第2動画300を出力装置26であるタッチパネル又はディスプレイ等に表示することができる。
(3)図4Cについて
図4Cは、図4Aに示した局面から、端末装置20Cのユーザである視聴者Aが、第3配信者として、第1配信者及び第2配信者と共同して動画を提供する局面に移行した様子を示す。
図4Cにおいて図4Aと異なるのは、VR端末装置である端末装置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はVR端末装置であるので、第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における第2アバター220の生成又は表示方法については、第1動画200におけるものと同様であるので、省略する。
第1動画200Aにおいて、第3アバター450は、第3動作データに従って動作する。第3配信者の端末装置20CはVR端末装置であるため、端末装置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とともに後列に配置され得ることが好ましい。
図4Cに戻り、次に、端末装置20Bに着目する。
端末装置20Bは、スマホ端末装置であるので、第2動画を生成することができる。
端末装置20Bにより生成される第2動画は、上述したとおり、端末装置20Aにより生成される第2動画(図12)と実質的に同一である。
次に、端末装置20Cに着目する。
端末装置20Cは、第1動作データに基づく第1配信者のアバター(第1アバター)のアニメーションと、第2動作データに基づく第2配信者のアバター(第2アバター)のアニメーションと、第3動作データに基づく第2配信者のアバター(第3アバター)のアニメーションと、を含む動画を生成することができる。具体的には、端末装置20CはVR端末装置であるので、第1動画及び第2動画という2種類の動画を生成することができる。なお、端末装置20Cは、サーバ装置30より受信した1セットの動作データから、上述した手法によって、第1動作データ、第2動作データ及び第3動作データの各々を抽出して動画の生成に利用することができる。
図13は、図1に示した通信システム1において第3配信者の端末装置により表示される第1動画の一例を示す図である。端末装置20Cにより生成される第1動画400Aが上述した端末装置20Cにより生成される第1動画400(図10)と異なるのは、第1動画400Aが、第3動作データに従って動作する第3アバター450を含む点である。図13には、第1動画400Aにおいて、第3アバター450の一部(左手450a)が表示される例が示されている。第3配信者が左ハンドコントローラ104を把持した左手を持ち上げたことによって、図13に例示されるように、第1動画400Aにおいて、左手450aが持ち上げられて描画される。なお、第1動画400Aにおける第3アバター450又は第3配信者の視点が、第3動作データに従って変化し得ることは、第1動画400に関連して上述したとおりである。
端末装置20Cにおいて表示される第2動画は、上述したとおりの理由により、端末装置20A及び端末装置20Bにより表示される第2動画(図12)と実質的に同一である。
(4)図4Dについて
図4Dは、図4Bに示した局面から、端末装置20Cのユーザである視聴者Aが、第3配信者として、第1配信者及び第2配信者と共同して動画を提供する局面に移行した様子を示す。
図4Dにおいて図4Bと異なるのは、スマホ端末装置である端末装置20Dが、第3配信者の動作に基づいて第2トラッキング方式を用いて生成した第4動作データを、サーバ装置30に送信する点である。この結果、サーバ装置30は、端末装置20A、端末装置20B、端末装置20D及び図示しない各視聴者の端末装置20に対して、第1動作データ、第2動作データ及び第4動作データを含む1セットの動作データを送信し続ける。
端末装置20Aに着目する。
端末装置20Aは、第1動作データに基づく第1配信者のアバター(第1アバター)のアニメーションと、第2動作データに基づく第2配信者のアバター(第2アバター)のアニメーションと、第4動作データに基づく第3配信者のアバター(第3アバター)のアニメーションと、を含む動画を生成することができる。具体的には、端末装置20AはVR端末装置であるので、第1動画及び第2動画という2種類の動画を生成することができる。なお、端末装置20Aは、サーバ装置30より受信した1セットの動作データから、上述した手法によって、第1動作データ、第2動作データ及び第4動作データの各々を抽出して動画の生成に利用することができる。
図4Dに示す局面において、端末装置20Aにより生成される第1動画が、図4Cに示す局面にて端末装置20Aにより生成される第1動画(図11)と異なるのは、第3アバター450が、第2トラッキング方式に従って生成された第4動作に基づいて動作することである。したがって、上述したように、第1動画において、第3アバター450の位置は変化しない。但し、第3アバター450の頭部は、第4動作データに基づいて動作する(例えば、頭部を左右に振り、頭部が向く方向が変化する)し、第3アバター450の表情等は、第4動作データに基づいて変化し得る。
一方、図4Dに示す局面において、端末装置20Aにより生成される第2動画が、図4Cに示す局面にて端末装置20Aにより生成される第2動画(図12)と異なるのは、第3アバター450が、第2トラッキング方式に従って生成された第4動作に基づいて動作することである。したがって、上述したように、第2動画において、第3アバター450の位置は変化しない。但し、第3アバター450の頭部は、第4動作データに基づいて動作する(例えば、頭部を左右に振り、頭部が向く方向も変化する)し、第3アバター450の表情等は、第4動作データに基づいて変化し得る。
次に、端末装置20Bに着目する。
端末装置20Bは、スマホ端末装置であるので、第2動画を生成することができる。
端末装置20Bにより生成される第2動画は、上述した理由により、図4Dに示す局面において端末装置20Aにより生成される第2動画と実質的に同一である。
次に、端末装置20Dに着目する。
端末装置20Dもまた、スマホ端末装置であるので、第2動画を生成することができる。
端末装置20Dにより生成される第2動画は、上述した理由により、図4Dに示す局面において端末装置20Aにより生成される第2動画と実質的に同一である。
5-2.第2ケース
第2ケースでは、VR端末装置を利用する第1配信者が単独で各視聴者に動画を提供する。この後、視聴者Aが、VR端末装置又はスマホ端末装置を利用して、第1配信者と共同して各視聴者に動画を提供する。
第2ケースは、上述した第1ケース(図4A~図4D)において、第2配信者、その端末装置20B及び第2動作データを除外したケースに相当する。すなわち、図5A~図5Dは、それぞれ、図4A~図4Dにおいて、第2配信者、その端末装置20B及び第2動作データを除外したものに相当する。したがって、冗長な説明を避けるために、図5A~図5Dにおいて、装置間において送信されるデータ(第1動作データ~第4動作データ)を示すに留め、それらの説明を省略する。
5-3.第3ケース
第3ケースでは、スマホ端末装置を利用する第2配信者が単独で各視聴者に動画を提供する。この後、視聴者Aが、VR端末装置又はスマホ端末装置を利用して、第2配信者と共同して各視聴者に動画を提供する。
第3ケースは、上述した第1ケース(図4A~図4D)において、第1配信者、その端末装置20A及び第1動作データを除外したケースに相当する。すなわち、図6A~図6Dは、それぞれ、図4A~図4Dにおいて、第1配信者、その端末装置20A及び第1動作データを除外したものに相当する。したがって、冗長な説明を抑えるために、図6A~図6Dにおいて、装置間において送信されるデータを示すに留め、それらの説明を省略する。
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~図4Dに示した構成では、サーバ装置30は、第1動作データを、端末装置20B及び各視聴者の端末装置20のみに送信して、端末装置20Aには送信せず、同様に、第2動作データを、端末装置20A及び各視聴者の端末装置20のみに送信して、端末装置20Bには送信しないようにすることができる。また、サーバ装置30は、図4Cに示した構成では、第3動作データを端末装置20Cには送信せず、第4動作データを端末装置20Dには送信しないようにすることができる。
上述した様々な実施形態では、VR端末装置である端末装置20Cを利用する視聴者Aが、各配信者の端末装置20により提供される第1動画を視聴する場合(例えば、図4A、図5A及び図6Aのそれぞれに示された局面)においては、視聴者Aの第3アバター450は、視聴者Aの端末装置20Cにより表示される第1動画においてのみならず、各配信者の端末装置20により表示される第1動画においても、表示されない。すなわち、各配信者は、第1動画において、各配信者のアバターがどこに居るのかを認識することができるが、各視聴者のアバターがどこに居るのかを認識することができない。よって、例えば、配信者は、第1動画において、自己のアバターに対して視聴者のアバターが必要以上に密着しているような事態が発生していたとしても、そのような事態を何ら認識することができない、という課題が生じ得る。さらには、配信者のアバターと視聴者のアバターとが密着し過ぎて相互にめり込むことにより、現実感が損なわれる、又は、違和感が生ずる、という課題も生じ得る。
そこで、一実施形態では、視聴者の端末装置20は、第1仮想空間において、少なくとも1人の配信者のアバターのうちのいずれかの対象アバターとその視聴者のアバターとの間の距離が閾値以下であるか否かを判定することができる。視聴者の端末装置20は、上記距離が上記閾値以下であると判定した場合において、この視聴者の端末装置20により生成されるこの視聴者の動作に関する動作データが、対象アバターに向かって進む動作を示す(例えば、動作データが、対象アバターの座標とその視聴者のアバターの座標との間の距離をさらに小さくする方向に進む動作を示す)ときには、そのような動作データを無効にする(第1動画の生成又は表示に利用しない)ことができる。これにより、第1動画において、視聴者のアバターは対象アバターを中心として閾値未満の領域には進行できなくなるため、配信者は、上記事態の発生が生じないという安心感を持ちながら、視聴者に対する動画の提供に参加することができる。さらには、複数のアバターが相互にめり込むという事態の発生を防止することにより、現実感が損なわれる、又は、違和感が生ずる、という課題に対処することができる。
このような動作データを無効にする手法と組み合わせて又はこの手法とは別に、以下に示す表示手法を使用することによっても、上記事態の発生を少なくとも部分的には抑えることができる。具体的には、或る配信者の端末装置は、第1仮想空間において、自己のアバターと視聴者のアバターとの間の距離が閾値以下である場合には、第1動画において、その視聴者のアバター(上述したように第1動画には表示されない)の位置にこのアバターが存在していることを示す任意のオブジェクト(例えば、図7に例示されたオブジェクト245等)を表示することができる。当該任意のオブジェクトは、文字及び/又は画像であり得るし、その視聴者のアバターに関する情報(その視聴者のハンドルネーム、及び/又は、その視聴者のアバターの一部分を利用した画像)を含むことも可能である。これを実現するためには、当該或る配信者の端末装置は、第1仮想空間における上記視聴者のアバターの座標を認識する必要があるので、上記視聴者の端末装置から、この視聴者のアバターの座標、又は、この座標を算出するためのこの視聴者の動作に関する動作データ等を、受信することができる。
なお、上述した動作データを無効とする手法は、視聴者の端末装置20においてのみならず、配信者の端末装置20においても同様に適用することが可能である。例えば、或る配信者の端末装置20は、第1仮想空間において、少なくとも1人の他の配信者のアバターのうちのいずれかの対象アバターと当該或る配信者のアバターとの間の距離が閾値以下であるか否かを判定することができる。当該或る配信者の端末装置20は、上記距離が上記閾値以下であると判定した場合において、当該或る配信者の端末装置20により生成される当該或る配信者の動作に関する動作データが、対象アバターに向かって進む動作を示す(例えば、動作データが、対象アバターの座標と当該或る配信者のアバターの座標との間の距離をさらに小さくする方向に進む動作を示す)ときには、そのような動作データを無効にする(第1動画の生成又は表示に利用しない)ことができる。これにより、第1動画において、当該或る配信者のアバターは対象アバターを中心として閾値未満の領域には進行できなくなる。各配信者は、他の配信者のアバターがどこに居るのかを認識することはできるものの、自己のアバターに対して他の配信者のアバターが異常に接近してくることはない、という安心感を持ちながら、他の配信者と共同して、視聴者に対する動画の提供に参加することができる。
また、上述した様々な実施形態では、サーバ装置30が、各配信者の動作に関する動作データを含む「1セットの動作データ」を、各配信者の端末装置及び各視聴者の端末装置に送信することを説明した。この「1セットの動作データ」は、各配信者が第1トラッキング方式及び第2トラッキング方式のうちのいずれのトラッキング方式を採用して動作データを生成したのかを示すデータを含み得る。この場合、各配信者の端末装置及び/又は各視聴者の端末装置は、「1セットの動作データ」を受信することにより、第1動画及び/又は第2動画を表示する際に、各配信者がいずれのトラッキング方式を用いているかを、第1動画及び/又は第2動画に組み合わせて、表示部に表示することもできる。
具体的には、第1の例として、後に参照する図16に着目すると、図16には、VR端末装置である端末装置20Cが、ユーザAの動作に関する動作データに基づいて動作する第1動画700に組みわせて、後述する入力オブジェクト710を表示する例が示されている。
端末装置20Cは、「Uさん」、「Vさん」、「Wさん」、「Xさん」、「Yさん」及び「Zさん」というハンドルネームをそれぞれ表示した6つのアイコンを表示することができる。ユーザAは、これらの配信者のうち所望する1人の配信者に対応するアイコンにポインタを合わせて選択することにより、視聴の対象とすべき配信者を決定することができる。なお、端末装置20Cは、各配信者に対応付けて、その配信者のアバターを示す画像(例えば、プロフィール画像)、その配信者により配信されるコンテンツの名称、及び/又は、その配信者により配信されるコンテンツの内容等を表示することも可能である。この場合、端末装置20Cは、そのように表示する情報をサーバ装置30から受信することができる。
端末装置20Cは、各配信者のアイコンに対応付けて、第1トラッキング方式及び第2トラッキング方式のうちのいずれのトラッキング方式を用いて動画を配信しているのかを示す情報を表示することができる。ここでは、一例として、端末装置20Cは、第1トラッキング方式を用いる配信者に対応付けて「VR」という情報を表示し、第2トラッキング方式を用いる配信者に対応付けて「スマホ」という情報を表示することができる。
端末装置20Cがこのような情報を表示することにより、ユーザAを含む各視聴者は、「VR端末装置を使用している配信者と共同で動画を配信したい」又は「スマホ端末装置を使用している配信者と共同で動画を配信したい」といった希望を有する場合に、上記情報を参考にして、いずれの配信者を選択するかを決定することができる。さらに、各視聴者は、自己が利用している端末装置がより高い描画性能を有するVR端末装置であるか(より低い描画性能を有するスマホ端末装置であるか)、及び/又は、現在の通信網の安定性等を考慮して、いずれかの配信者と共同で動画を配信しようと検討する際に、負荷のより低い動画の配信等を希望する場合には、スマホ端末装置を使用する配信者(「Uさん」、「Vさん」、「Wさん」等)を選択し、仮想空間において相互に移動して楽しむ配信等を希望する場合には、VR端末装置を使用する配信者(「Xさん」、「Yさん」、「Zさん」等)を選択することができる。この結果、複数の配信者が共同で動画を配信する際に通信網が逼迫する事態を抑えることができる。
なお、図16には、VR端末装置である端末装置20Cにより表示される画面が例示されているが、スマホ端末装置により表示される画面においても、各配信者に対応付けて、その配信者により使用されるトラッキング方式を示す情報(「VR」又は「スマホ」等)が、同様に表示され得る。
第2の例として、先に参照した図10に着目すると、図10には、視聴者Aの端末装置20Cにより表示される第1動画400が例示されている。図10に示すように、端末装置20Cは、第1動画400に表示される各配信者のアバターに対応付けて、その配信者により使用されているトラッキング方式を示す情報を表示することができる。例えば、端末装置20Cは、第1配信者の第1アバター210に対応付けて(例えば第1アバター210の下方に)、第1配信者により使用されている第1トラッキング方式を示す「VR」という情報210Aを表示し、第2配信者の第2アバター220に対応付けて(例えば第2アバター220の下方に)、第2配信者により使用されている第2トラッキング方式を示す「スマホ」という情報220Aを表示することができる。
端末装置20Cがこのような情報を表示することにより、視聴者Aを含む各視聴者は、いずれかの配信者に送信すべきギフトを選択する局面において、複数のギフトのうち、その配信者により使用されているトラッキング方式に適したギフトを選択することが可能となる。例えば、第1配信者は第1トラッキング方式を使用していることから、各視聴者は、第1配信者の第1アバター210は、その手により握持される「マイク」、「タンバリン」、「銃」といったような、握持して使用又は操作する(より複雑な)ギフトを装着することができることを認識することができる。よって、各視聴者は、第1配信者に対して、第1トラッキング方式に適した「マイク」等のより複雑なギフトを送信することができる。一方、第2配信者は第2トラッキング方式を使用していることから、各視聴者は、第2配信者の第2アバター220はより簡単なギフトを装着することが好ましいことを認識することができる。よって、各視聴者は、第2配信者に対して、第2トラッキング方式に適した「帽子」、「リボン」、「髭」といったような、アバターがその身体に単に装着する(より簡単な)ギフトを送信することができる。
第3の例として、ユーザAが共同配信に参加する局面が考えられる。図28は、図1に示す通信システムにおいて端末装置により「共同配信モード」の実行に際して表示される画面の別の例を示す図である。
端末装置20Cは、入力オブジェクト710において、ユーザAが参加可能な共同配信(コラボ配信)を示すアイコンとして、例えば、「コラボ配信I」及び「コラボ配信II」を表示することができる。端末装置20Cは、各アイコンに対応付けて、その共同配信に出演する各配信者のプロフィール画像(アバターの画像)、及び、その共同配信の内容等を表示することができる。例えば、端末装置20Cは、アイコン「コラボ配信I」については、この共同配信に出演する例えば3人の配信者の各々に対応するプロフィール画像(P1、P2、P3)、及び、その共同配信の内容(「カラオケやるよ。」)を表示することができる。また、端末装置20Cは、アイコン「コラボ配信II」については、この共同配信に出演する例えば3人の配信者の各々に対応するプロフィール画像(P4、P5、P6)、及び、その共同配信の内容(「まったりおしゃべり。」)を表示することができる。
さらに、端末装置20Cは、第1トラッキング方式を用いる各配信者(のプロフィール画像P1、P2、P4)に対応付けて「VR」という情報を表示し、第2トラッキング方式を用いる各配信者(のプロフィール画像P3、P5、P6)に対応付けて「スマホ」という情報を表示することができる。
ユーザAは、希望するいずれかのアイコンを選択する(図28では、ポインタ630をアイコン「コラボ配信II」に重ねる)ことにより、そのアイコンに対応する共同配信に参加することができる。
これにより、ユーザAは、図28に例示されたような情報を参考にして、第1トラッキング方式を使用する配信者の多い共同配信、及び、第2トラッキング方式を使用する配信者の多い共同配信のうちのいずれかを選択することができる。
このように、端末装置20Cは、各配信者のプロフィール画像(アバターの画像)に対応付けて、第1トラッキング方式及び第2トラッキング方式のうちのいずれのトラッキング方式を用いて動画を配信しているのかを示す情報を表示することにより、ユーザビリティを向上させることができる。
また、上述した様々な実施形態では、自明であるため、明示的には言及していないが、各配信者の端末装置及び各視聴者の端末装置は、サーバ装置から受信する「1セットの動作データ」の内部に含まれた、又は、「1セットの動作データ」に組み合わせられた、各配信者の端末装置により生成された音声データを取得することができる。このような音声データを用いることにより、各配信者の端末装置及び各視聴者の端末装置は、各配信者が発した音声が組み込まれた第1動画及び/又は第2動画を再生することもできるし、第1動画及び/又は第2動画を表示しながら各発信者が発した音声を再生することもできる。
また、上述した様々な例では、第1動画及び第2動画等の生成に関連する動作を各端末装置20が実行する方式(クライアントレンダリング方式)に着目して説明してきた。しかし、図4A~図6Dの各々において各端末装置20により実行されるものとして説明してきた動画の生成に関する動作を、1つのサーバ装置30が単独で又は複数のサーバ装置30が分担して実行する方式(サーバレンダリング方式)を採用することも可能である。この場合、上記1又はそれ以上のサーバ装置30が、各端末装置20の代わりに、動画の生成に関連する様々な動作を実行することにより、第1動画及び/又は第2動画を生成して端末装置20Cに送信することができる。なお、上述したとおり、サーバ装置30は、各配信者の端末装置20から動作データを受信するので、各端末装置20の代わりにかかる動作データを利用して各種動画の生成を実行することができる。一方、サーバ装置30は、各視聴者の端末装置20から動作データを必ずしも受信する訳ではない。したがって、サーバレンダリング方式を採用する場合には、サーバ装置30は、各視聴者の端末装置から単位時間ごとに又は任意のタイミングで動作データを受信するようにしてもよい。
また、上述した様々な例では、第1動画及び第2動画等の生成に関連する動作を各端末装置20が実行する方式(クライアントレンダリング方式)に着目して説明してきた。しかし、各端末装置20は、ウェブブラウザを介して、サーバ装置30又はウェブサーバ装置30からウェブページを受信し、このウェブページに含まれたコンピュータプログラムを実行することにより、このような第1動画及び第2動画等の生成に関連する動作を遂行する方式(ブラウザレンダリング方式)を採用することも可能である。
以上説明したプラットフォームによれば、いずれの配信者の端末装置が第1トラッキング方式及び第2トラッキング方式のうちのいずれの方式を利用して動作データを生成した場合であっても、各端末装置は、上記配信者の端末装置により採用されたトラッキング方式に応じて動画を生成又は表示することができる。さらに、各端末装置は、この端末装置がVR端末装置及びスマホ端末装置であるかに応じて、第1動画及び第2動画のうちの利用可能な一方又は両方の動画を生成又は表示することもできる。これにより、上記プラットフォームは、配信者がその身体に装着等されるトラッキング装置を利用して動画を各視聴者等に提供することを可能にする。
6.通信ネットワーク1により実行される動作
6-1.基本的な動作
次に、上述したプラットフォームを利用して通信ネットワーク1において実行される動作の具体例について、特に端末装置20により表示される上述した第2動画に着目して説明する。以下、上述したプラットフォームに関連して説明した事項については、冗長な説明を避けるために、その説明を省略する。
図14は、図1に示した通信ネットワーク1において実行される動作の一例を示すフロー図である。まず、ステップ(以下「ST」という。)500において、ユーザ(ここでは「ユーザA」がその端末装置20Cを操作することにより、端末装置20Cに対して、動画サービスの提供を受けるための特定のアプリケーションを起動して実行させる。なお、以下に説明する動作は、他の任意の端末装置(VR端末装置)20にも同様に当て嵌まる。
次にST502において、上記特定のアプリケーションを実行する端末装置20Cは、「準備モード」を実行することができる。この「準備モード」は、端末装置20Cが、他の端末装置20Cにより提供された動画を受信することもせず、他の端末装置20に対して動画を配信することもしないときに、動画の受信又は配信を準備するモードである。なお、端末装置20Cは、現在のモードとしていずれのモードを実行しているかを示すモード識別データを、記憶しておくことができる。端末装置20Cは、「準備モード」に移行してから「準備モード」を終了するまでの間、「準備モード」を示すモード識別データを記憶することができる。任意のタイミングにおいて、端末装置20Cは、モード識別データを参照することにより、いずれのモードを実行しているかを判定することができる。
端末装置20Cは、「準備モード」を実行しているときには、図15に示すような画面(ホーム画面)を表示することができる。
図15は、図1に示す通信システムにおいて端末装置により「準備モード」の実行に際して表示される画面の一例を示す図である。図15に示すように、VR端末装置である端末装置20Cは、ホーム画面において、ユーザAの動作に関する動作データに基づいて動作する第1動画(第1種類の動画)600を表示することができる。上記「5.プラットフォーム」において上述したとおり、第1動画600はユーザAの視点からみて描画され、かかる視点は上記動作データに基づいて変化し得る。また、第1動画600は、ユーザAのアバター450(ここでは、アバター450の左手450a等)を表示することができる。第1動画600に表示されるアバター450もまた、ユーザAの動作を示す動作データに従って動作する。
さらに、端末装置20Cは、第1動画600と組み合わせて、入力オブジェクト610を表示することができる。入力オブジェクト610は、ユーザAによる操作入力を可能とするユーザインターフェイスとして機能し得る。具体的には、入力オブジェクト610は、複数のアイコン、例えば、端末装置20Cを「視聴モード」に移行させるためのアイコン620、端末装置20Cを「単独配信モード」に移行させるためのアイコン622、及び、端末装置20Cを「共同配信モード」(「コラボ配信モード」)に移行させるためのアイコン624等を含むことができる。
端末装置20Cは、入力オブジェクト610に関連させて、ユーザAに装着又は把持されるトラッキング装置、ここでは、例えば、右ハンドコントローラ102又は左ハンドコントローラ104に対するユーザAによる操作に従って動作するポインタ(レーザーポインタ)630を表示することができる。端末装置20Cは、ポインタ630を、紙面上、下方から上方に向かって流れるレーザー光として描画することができる。端末装置20Cは、このポインタ630の軌跡630aを描画することも可能である。
ユーザAは、右ハンドコントローラ102又は左ハンドコントローラ104を動かすことにより、入力オブジェクト610の表面上において、ポインタ630を動かすことができる。ユーザAは、アイコン620、622、624のいずれかにポインタ630を位置させ、右ハンドコントローラ102又は左ハンドコントローラ104のいずれかのボタンを押圧することにより、そのアイコンに対応するモードを選択することができる。これにより、ユーザAは、例えばスマートフォンのような端末装置のタッチパネルに触れて端末装置をあたかも操作しているかのように、疑似的に表示された端末装置を右ハンドコントローラ(左ハンドコントローラ)等のトラッキングデバイスを用いて操作することができる。
端末装置20Cは、入力オブジェクト610において、第2動画640を表示することもできる。第2動画640は、第1仮想空間において、ユーザAの動作を示す動作データに基づいて動作するアバター450を配置し、このアバター450を正面からみて表示することができる。
端末装置20Cは、このような入力オブジェクト610を、第1動画600に含まれたユーザAのアバター450の一部分(ここでは左手450a)に連動して移動可能に表示することができる。具体的には、例えば、端末装置20Cは、ユーザAが左ハンドコントローラ104を動かすことに応答して、第1動画600においてアバター450の左手450aを移動させ、これに伴って、入力オブジェクト610を移動させることができる。
さらに、端末装置20Cは、このような入力オブジェクト610を、図15に例示するように、疑似的に表現された端末装置(疑似端末装置)として表示することができる。疑似端末装置は、一態様として、疑似的に表現された疑似スマートフォン(疑似スマホ)を含み得る。
また、端末装置20Cは、一実施形態では、第1動画600と、入力オブジェクト610とを、出力装置26である表示部(HMD100等)において、相互に異なる領域に表示することもできる。例えば、端末装置20Cは、表示部により形成される表示領域に含まれる特定領域のうち、右部、左部、上部又は下部といった一部の領域に第1動画600を表示し、その特定領域のうちの残りの領域に入力オブジェクト610を表示することができる。もう1つの好ましい実施形態では、端末装置20Aは、図15に例示されるように、入力オブジェクト610を、第1動画600が表示される領域の内部に表示することもできる
図14に戻り、次に、ST504において、端末装置20Cは、「準備モード」を実行している間に、ユーザAによりいずれかのモード(ここでは、例えば、「視聴モード」、「単独配信モード」又は「共同配信モード」)が選択されたか否かを判定することができる。端末装置20Cは、いずれのモードも選択されていないと判定した場合には、ST502を継続して実行することができる。一方、端末装置20Cは、いずれかのモードが選択されたと判定した場合には、その選択されたモードに対応するステップに移行することができる。具体的には、端末装置20Cは、「視聴モード」が選択されたと判定した場合には、ST506に移行し、「共同配信モード」が選択されたと判定した場合には、ST508に移行し、「単独配信モード」が選択されたと判定した場合には、ST510に移行することができる。
ST506において、端末装置20Cは、ユーザAにより選択された配信者により提供される動画を表示するためのモードである「視聴モード」を実行することができる。ユーザAは、例えば、図15に示したポインタ630を「視聴モード」アイコン620に合わせて、右ハンドコントローラ102又は左ハンドコントローラ104のボタンを押圧することにより、端末装置20Cに「視聴モード」を実行させることができる。
なお、端末装置20Cは、「視聴モード」に移行してから「視聴モード」を終了するまでの間、「視聴モード」を示すモード識別データを記憶することができる。上述したように、任意のタイミングにおいて、端末装置20Cは、モード識別データを参照することにより、いずれのモードを実行しているかを判定することができる。
図16は、図1に示す通信システムにおいて端末装置により「視聴モード」の実行に際して表示される画面の一例を示す図である。図16に示すように、VR端末装置である端末装置20Cは、「視聴モード」を実行しているときに、ユーザAの動作に関する動作データに基づいて動作する第1動画(第4種類の動画)700を表示することができる。上記「5.プラットフォーム」において上述したとおり、第1動画700はユーザAの視点からみて描画され、かかる視点は上記動作データに基づいて変化し得る。また、第1動画700は、ユーザAのアバター450を表示しない。
さらに、端末装置20Cは、第1動画700と組み合わせて、入力オブジェクト710を表示することができる。端末装置20Cは、現在、動画の配信を行っている少なくとも1人の配信者のハンドルネームを、入力オブジェクト710においてアイコンの形態で表示することができる。ここでは、一例として、端末装置20Cは、「Uさん」、「Vさん」、「Wさん」、「Xさん」、「Yさん」及び「Zさん」というハンドルネームをそれぞれ表示した6つのアイコンを表示することができる。ユーザは、これらの配信者のうち所望する1人の配信者に対応するアイコンにポインタを合わせて選択することにより、視聴の対象とすべき配信者を決定するができる。ここでは、ユーザAは「Yさん」により配信される動画を視聴すべく、「Yさん」アイコンを選択することができる。
これに伴い、端末装置20Cは、図17に例示するような第1動画710を表示することができる。この第1動画(第4種類の動画)700は、第1仮想空間において配信者「Yさん」の動作に基づいて動作するアバター210を配置した動画である。第1動画700は、ユーザAのアバター450を表示しない。
さらに、端末装置20Cは、第1動画700と組み合わせて、入力オブジェクト710を表示することができる。入力オブジェクト710は、第1仮想空間において、配信者「Yさん」の動作に基づいて動作するアバター210を配置し、このアバター210を正面からみて表示する第2動画720を表示することができる。この「視聴モード」の実行時に入力オブジェクト710に表示される第2動画720が、上述した「準備モード」の実行時に入力オブジェクト610に表示される第2動画640と異なるのは、第2動画720が、ユーザAのアバター450を表示しないことである。
第2動画720は、各視聴者の端末装置20に共通に表示される動画と同一であり得る。また、第2動画720は、第1動画700において用いられた第1仮想空間(3次元空間)に配置された仮想的なカメラの位置からみて各アバター(ここではアバター210)を表示することができる。
また、入力オブジェクト710は、複数のアイコン、例えば、端末装置20Cを「共同配信モード」に移行させるためのアイコン730、端末装置20Cを「準備モード」に移行させるためのアイコン732等を含むことができる。
このようにして、端末装置20Cは、「視聴モード」を実行することができる。
図14に戻り、次に、ST512において、端末装置20Cは、他のモードがユーザAにより選択されたか否かを判定することができる。端末装置20Cは、他のモードが選択されていないと判定した場合には、上述したST502に戻り「準備モード」を実行することができる。
一方、端末装置20Cは、他のモードが選択されたと判定した場合には、ST514に移行し、そのように選択されたモードを実行することができる。ここでは、上述したST506において、ユーザAが図17に示した「共同配信モード」アイコン730を選択することに伴って、端末装置20Cが、「視聴モード」を終了させ、ST512を経て、ST514において、選択されたモードとして「共同配信モード」を実行する場合を考える。
ST514において、端末装置20Cは、ユーザAが少なくとも1人の配信者と共同して動画を配信するためのモードである「共同配信モード」を実行することができる。この「共同配信モード」は、例えば、以下に例示する手順のいずれかにより開始され得る。
・ユーザA(ゲストユーザ)が、「視聴モード」において視聴する動画の配信者(ホストユーザ)に対して、(例えば図17に示す画面を介して)リクエストを送信し、その配信者がそのリクエストを承認した場合
・ユーザA(ホストユーザ)が「単独配信モード」において単独で動画を配信している間に、いずれかの視聴者(ゲストユーザ)がユーザAに対してリクエストを送信し、ユーザAがそのリクエストを承認した場合
・ユーザA(ホストユーザ)が、「単独配信モード」において単独で動画を配信している間に、共同配信者になるようにいずれかの視聴者を誘うべくその視聴者(ゲストユーザ)にリクエストを送信し、その視聴者がそのリクエストを承認した場合
ホストユーザとゲストユーザとの間において、例えば、以下に例示する動作が行われることにより、ホストユーザとゲストユーザとが共同して動画を配信することができる。
(i)ホストユーザの端末装置20が、サーバ装置30を介して、ゲストユーザの端末装置20からリクエストデータを受信する(又は、ホストユーザの端末装置20が、サーバ装置30を介して、ゲストユーザの端末装置20にリクエストデータを送信する)。
(ii)ホストユーザの端末装置20が、そのリクエストを受け入れる旨の承認データを、サーバ装置30を介して、ゲストユーザの端末装置20に送信する(又は、ゲストユーザの端末装置20が、そのリクエストを受け入れる旨の承認データを、サーバ装置30を介して、ホストユーザの端末装置20に送信する)。
(iii)サーバ装置30が、共同配信者を示すリストを、ホストユーザの端末装置20及びゲストユーザの端末装置20に送信する。
(iv)ホストユーザの端末装置20が、その動作データをサーバ装置30に送信する。
(v)ゲストユーザの端末装置20が、その動作データをサーバ装置30に送信する。
(vi)サーバ装置30が、上記(iv)及び上記(v)において受信した動作データを1セットの動作データとして、ホストユーザの端末装置20、ゲストユーザの端末装置20及び各視聴者の端末装置20に対して送信する。
(vii)この後の動作は、上記「5.プラットフォーム」において述べたとおりである。
また、端末装置20Cは、「共同配信モード」に移行してから「共同配信モード」を終了するまでの間、「共同配信モード」を示すモード識別データを記憶することができる。上述したように、任意のタイミングにおいて、端末装置20Cは、モード識別データを参照することにより、いずれのモードを実行しているかを判定することができる。
なお、端末装置20Cが「共同配信モード」を実行している(ユーザAが他の配信者と共同して動画を配信している)間においても、ユーザAは、端末装置20Cを操作して、(又は、上記他の配信者が、端末装置20を操作して)共同配信者になるようにいずれかの視聴者を誘うべくその視聴者にリクエストを送信することも可能である。その視聴者が、端末装置20を操作して、そのリクエストを承認した場合には、ユーザA、上記他の配信者及びその視聴者(新たな配信者)が、共同して動画を配信することができる。
図18は、図1に示す通信システムにおいて端末装置により「共同配信モード」の実行に際して表示される画面の一例を示す図である。図18に示すように、VR端末装置である端末装置20Cは、ユーザAの動作に関する動作データに基づいて動作する第1動画(第3種類の動画)800を表示することができる。上記「5.プラットフォーム」において上述したとおり、第1動画800はユーザAの視点からみて描画され、かかる視点は上記動作データに基づいて変化し得る。また、第1動画800は、配信者「Yさん」のアバター210、及び、ユーザAのアバター450(ここでは、アバター450の左手450a等)を表示することができる。第1動画800に表示されるアバター210は、配信者「Yさん」の動作に関する動作データに従って動作し、第1動画800に表示されるアバター450は、ユーザAの動作を示す動作データに従って動作する。
さらに、端末装置20Cは、第1動画800と組み合わせて、入力オブジェクト810を表示することができる。入力オブジェクト810は、複数のアイコン、例えば、端末装置20Cを「準備モード」に移行させるためのアイコン820、及び、端末装置20Cを「視聴モード」に移行させるためのアイコン822等を含むことができる。
端末装置20Cは、入力オブジェクト810において、第2動画830を表示することもできる。第2動画830は、第1仮想空間において、配信者「Yさん」の動作を示す動作データに基づいて動作するアバター210とユーザAの動作を示す動作データに基づいて動作するアバター450とを配置し、アバター210及びアバター450の各々を正面からみて表示することができる。
第2動画830は、各視聴者の端末装置20に共通に表示される動画と同一であり得る。また、第2動画830は、第1動画800において用いられた第1仮想空間(3次元空間)に配置された仮想的なカメラの位置からみて各アバター(ここではアバター210及びアバター450)を表示することができる。
このようにして、端末装置20Cは、「共同配信モード」を実行することができる。
図14に戻り、ST514において、端末装置20Cは、選択されたモードである「共同配信モード」を実行して終了させることができる。この後、端末装置20Cは、上述したST512に戻る。
なお、ST504において「共同配信モード」が選択された場合には、端末装置20Cは、ST508において「共同配信モード」を実行し、ST504において「単独配信モード」が選択された場合には、端末装置20Cは、ST510において「単独配信モード」を実行する、ということを説明した。ST508において「共同配信モード」に関連して端末装置20Cが実行する処理については、ST514に関連して上述したとおりである。
ST510において「単独配信モード」に関連して端末装置20Cが実行する処理について説明する。
端末装置20Cは、「単独配信モード」に移行してから「単独配信モード」を終了するまでの間、「単独配信モード」を示すモード識別データを記憶することができる。上述したように、任意のタイミングにおいて、端末装置20Cは、モード識別データを参照することにより、いずれのモードを実行しているかを判定することができる。
図19は、図1に示す通信システムにおいて端末装置により「単独配信モード」の実行に際して表示される画面の一例を示す図である。図19に示すように、VR端末装置である端末装置20Cは、ユーザAの動作に関する動作データに基づいて動作する第1動画(第2種類の動画)900を表示することができる。上記「5.プラットフォーム」において上述したとおり、第1動画900はユーザAの視点からみて描画され、かかる視点は上記動作データに基づいて変化し得る。また、第1動画900は、ユーザAのアバター450(ここでは、アバター450の左手450a等)を表示することができる。第1動画900に表示されるアバター450は、ユーザAの動作を示す動作データに従って動作する
さらに、端末装置20Cは、第1動画900と組み合わせて、入力オブジェクト910を表示することができる。入力オブジェクト910は、複数のアイコン、例えば、端末装置20Cを「準備モード」に移行させるためのアイコン920、端末装置20Cを「視聴モード」に移行させるためのアイコン922、端末装置20Cを「共同配信モード」に移行させるためのアイコン924等を含むことができる。
端末装置20Cは、入力オブジェクト910において、第2動画930を表示することもできる。第2動画930は、第1仮想空間において、ユーザAの動作を示す動作データに基づいて動作するアバター450を配置し、アバター450を正面からみて表示することができる。
なお、第2動画930は、各視聴者の端末装置20に共通に表示される動画と同一であり得る。また、第2動画930は、第1動画900において用いられた第1仮想空間(3次元空間)に配置された仮想的なカメラの位置からみて各アバター(ここではアバター450)を表示することができる。
このようにして、端末装置20Cは、「単独配信モード」を実行することができる。
以上のように、端末装置20Cは、4種類の動画のうち入力オブジェクトに対するユーザAによる入力に従って選択されたいずれか1種類の動画を表示することができる。4種類の動画を以下のとおり整理して示す。
第1種類の動画:端末装置20Cが、ユーザAが配信者でも視聴者でもない準備モードを実行していると判断したときに表示する動画であって、第1仮想空間においてユーザAの動作に基づいて動作するユーザAのアバターを配置した動画
第2種類の動画:端末装置20Cが、ユーザAが配信者である単独配信モードを実行していると判断したときに表示する動画であって、第1仮想空間においてユーザAの動作に基づいて動作するユーザAのアバターを配置した動画
第3種類の動画:端末装置20Cが、ユーザAが共同配信者である共同配信モードを実行していると判断したときに表示する動画であって、第1仮想空間においてユーザAの動作に基づいて動作するユーザAのアバター及び少なくとも1人の他の配信者の動作に基づいて動作する該少なくとも1人の他の配信者のアバターを配置した動画
第4種類の動画:端末装置20Cが、ユーザAが視聴者である視聴モードを実行していると判断したときに表示する動画であって、第1仮想空間において少なくとも1人の配信者の動作に基づいて動作する該少なくとも1人の配信者のアバターを配置した動画
6-2.変形例
上述したように、端末装置20Cは、「準備モード」、「視聴モード」、「共同配信モード」及び「単独配信モード」のうちのいずれのモードを実行している間においても、入力オブジェクトにおいて第2動画を表示することができる。端末装置20Cが「視聴モード」以外のモード(すなわち、「準備モード」、「共同配信モード」及び「単独配信モード」)を実行している場合には、第2動画は、端末装置20CのユーザAの動作に基づいて動作する、ユーザAのアバターを表示することができる。この第2動画に表示されるユーザAのアバターは、各視聴者及び各配信者の端末装置(VR端末装置及びスマホ端末装置を含む)にも共通に表示される(「共同配信モード」及び「単独配信モード」の場合)。したがって、ユーザAは、この第2動画に表示されるユーザAのアバターを見て、他人からの自己のアバターの見え方(容姿又は振る舞い等)をチェックすることを希望することが考えられる。
このような事情に鑑み、端末装置20Cは、「視聴モード」を実行している場合には、入力オブジェクト(ひいては第2動画)を第1サイズにより表示し、「共同配信モード」又は「単独配信モード」を実行している間には、入力オブジェクト(ひいては第2動画)を第1サイズより大きい第2サイズにより表示することができる。これにより、ユーザAは、配信者として動画を配信している間に、任意のタイミングにおいて、第2動画に表示される自己のアバターを見て、その見え方をより簡単にかつより効果的に確認することができる。また、ユーザAが、自己のアバターの見え方を或る程度の時間をかけて丁寧にチェックする局面は、端末装置20Cが「準備モード」を実行している間であるといえる。したがって、端末装置20Cは、「準備モード」を実行している間にも、入力オブジェクト(ひいては第2動画)を第1サイズより大きい第2サイズにより表示することができる。
また、上述した「視聴モード」では、ユーザAの端末装置20Cは、いずれかの視聴者から配信者に対して送信されたメッセージ及び/又はコメント等を、入力オブジェクトに表示される第2動画に表示することができる。同様に、「単独配信モード」又は「共同配信モード」では、ユーザAの端末装置20Cは、いずれかの視聴者から、配信者であるユーザA又は他の配信者に対して送信されたメッセージ及び/又はコメント等を、入力オブジェクトに表示される第2動画に表示することができる。このような場合、入力オブジェクトの表示領域を上回る数のメッセージ等が視聴者から送信された場合には、最も古いメッセージを順次入力オブジェクトから消去して新しいメッセージを表示することが考えられる。これに対して、典型的には、入力オブジェクトの表示領域よりも、第1動画の表示領域の方が大きい可能性がある。したがって、端末装置20Cは、各視聴者から配信者に対して送信されたメッセージ等を、第1動画に表示することができる。好ましい実施形態では、端末装置20Cは、第1動画の表示領域のうち、入力オブジェクトの背後に位置する背景に対応する領域(例えば、図18に例示された領域845等)に、上記メッセージ等を表示することができる。
また、上述した「視聴モード」では、ユーザAの端末装置20Cは、入力オブジェクトに表示されたアイコン等を操作することにより、配信者に対して、ギフト(トークン)を送信することができる。この場合、端末装置20Cは、第1動画を利用してより簡単に配信者にギフトを送信することができる。その具体例について図20を参照して説明する。
図20は、図1に示す通信システムにおいて端末装置により「視聴モード」の実行に際して表示される画面の別の例を示す図である。図20に例示されるように、端末装置20Cは、第1動画700において、配信者のアバター210の側方、上方又は下方に、送信の候補とされる複数のオブジェクト(図20には3つのオブジェクト)を表示することができる。なお、端末装置20Cは、ユーザAが右ハンドコントローラ102(又は左ハンドコントローラ104)を用いて所定のジェスチャー(例えば右方向又は左方向にこのハンドコントローラを振るジェスチャー等)を実行することに応答して、第1動画700に表示されている複数のオブジェクトを順次別のオブジェクトに切り替えて表示することも可能である。
ユーザAは、例えば、このように表示される複数のオブジェクトのうちの所望するオブジェクトに対してポインタ630を合わせて、右ハンドコントローラ102(又は左ハンドコントローラ104)のいずれかのボタンを押圧し、握持しているこのハンドコントローラを投げるジェスチャーを行うことにより、送信すべきオブジェクトを決定して送信することができる。ここでは、ユーザAは、送信すべきオブジェクトとして「蝶ネクタイ」を決定したとする。これに応答して、配信者「Yさん」は、その端末装置20を操作して、ギフトとして受信した「蝶ネクタイ」をアバター210に装着させることができる。或いはまた、配信者「Yさん」の端末装置20は、配信者「Yさん」による操作を介さずに、ギフトとして受信した「蝶ネクタイ」をアバター210に自動的に装着させることも可能である。この結果、端末装置20Cは、蝶ネクタイが装着されたアバター210を、第1動画700及び/又は第2動画720において表示することができる。このように、端末装置20Cは、より小さい入力オブジェクトを利用するよりも、より大きい第1動画を利用することにより、簡単にかつ効果的にギフトを決定して送信するというユーザインターフェイスを提供することができる。
また、上述した様々な例では、各ステップ(ST502~ST514)における動作を端末装置20Cが実行する方式(クライアントレンダリング方式)に着目して説明してきた。しかし、ST502~ST514のうちの少なくとも1つの対象ステップにおいて、端末装置20Cにより実行されるものとして説明してきた動画の生成に関する動作を、1つのサーバ装置30が単独で又は複数のサーバ装置30が分担して実行する方式(サーバレンダリング方式)を採用することも可能である。この場合、上記1又はそれ以上のサーバ装置30が、端末装置20Cの代わりに、上記少なくとも1つの対象ステップに関連する様々な動作を実行することにより、第1動画、第2動画(入力オブジェクト)を生成して端末装置20Cに送信することができる。なお、上記「5.プラットフォーム」において説明したとおり、サーバ装置30は、各配信者の端末装置20から動作データを受信するので、各端末装置20の代わりにかかる動作データを利用して各種動画の生成を実行することができる。一方、サーバ装置30は、各視聴者の端末装置20から動作データを必ずしも受信する訳ではない。したがって、サーバレンダリング方式を採用する場合には、サーバ装置30は、各視聴者の端末装置から単位時間ごとに又は任意のタイミングで動作データを受信するようにしてもよい。
また、上述した様々な例では、第1動画及び第2動画(入力オブジェクト)等の生成に関連する動作を各端末装置20Cが実行する方式(クライアントレンダリング方式)に着目して説明してきた。しかし、端末装置20Cは、ウェブブラウザを介して、サーバ装置30又はウェブサーバ装置30からウェブページを受信し、このウェブページに含まれたコンピュータプログラムを実行することにより、このような第1動画及び第2動画(入力オブジェクト)等の生成に関連する動作を遂行する方式(ブラウザレンダリング方式)を採用することも可能である。
さらに、上述した様々な例において、第2動画(入力オブジェクト)には、ユーザAの動作に関する動作データに基づいて動作する、ユーザAのアバター450等が表示される場合について説明した。ここで、端末装置20Cは、「準備モード」、「共同配信モード」及び「単独配信モード」のうちのいずれかのモードを実行している間にあっては、第1仮想空間に配置された仮想的なカメラからみたアバター450の映像(すなわち、アバター450の外観)を、反転(ミラーリング)させて第2動画(入力オブジェクト)に表示することができる。
この場合、第1仮想空間に配置されたアバター450は、ユーザAの動作に関する動作データに基づいて動作するものであることから、ユーザAの動作に従って(「反転」との対比でいえば概ね忠実に)動作することができる。これに対して、第2動画(入力オブジェクト)に表示されるアバター450は、第1仮想空間に配置された仮想的なカメラからみたアバター450の映像を反転させた(鏡に映した)ものである。したがって、第2動画(入力オブジェクト)に表示されるアバター450の外観は、ユーザAの分身として動作する、第1仮想空間におけるアバター450の外観を反転させた(鏡に映した)ものに相当する。ユーザAの目からみれば、第2動画(入力オブジェクト)に表示されるアバター450の動作は、あたかもユーザA自身の動作を鏡に映して示した動作に対応する。これにより、ユーザAは、あたかもユーザAの目の前に置かれた鏡において、ユーザA自身ではなくその分身であるアバター450が動作する様子を見ているかのように、第2動画(入力オブジェクト)を観察することができる。
なお、第2動画(入力オブジェクト)には、第1仮想空間に配置された仮想的なカメラからみたアバター450の映像が反転させられて表示されるのであって、第2動画(入力オブジェクト)に表示されるアイコン、メッセージ、コメント及び/又はポインタ等は、反転させられず、上述したとおりに表示され得る。
以上説明したように、様々な実施形態においては、ユーザにより利用される端末装置は、第1動画に組み合わせて、第2動画を表示する入力オブジェクトを表示することができる。これにより、ユーザは、身体に装着又は把持されたトラッキング装置を用いた場合であっても、従来の端末装置のディスプレイ装置(タッチパネル等)を操作する感覚で入力オブジェクトを操作して、動画の配信及び/又は表示に関するサービスの提供を受けることができる。入力オブジェクトに対する操作方法(ユーザインタフェイス、アイコンの表示等)を、従前の端末装置において行われている操作方法と実質的に同一又は類似させた場合には、従前の端末装置に対する操作方法に慣れているユーザは、入力オブジェクトに対する操作方法についても、時間をかけずに簡単に利用することができる。
さらに、端末装置は、第2動画を表示する入力オブジェクトを、この入力オブジェクトに組み合わせて表示される第1動画の種類に応じて変化させることができる。例えば、端末装置は、第2動画を表示する入力オブジェクトのサイズを、表示される第1動画の種類に応じて拡大又は縮小することができる。
これにより、ユーザは、配信者として動画を配信する局面、又は、動画の配信前の準備をする局面等では、拡大して表示された入力オブジェクトに含まれる第2動画を見て、自己のアバターの見え方をより効果的にチェックすることができる。このように第2動画が拡大して表示されることにより、ユーザは、見易く拡大された自己のアバターをより簡単にチェックすることができる。また、ユーザは、視聴者として、配信者に配信された動画を視聴する局面では、入力オブジェクトが縮小されることに伴って、相対的に広い領域に表示された第1動画を利用することにより、第1動画に表示される配信者のアバターをより効果的に楽しむことができる。
さらに、端末装置は、ユーザの状態、すなわち、ユーザが動画を配信している(若しくは動画の配信を準備している)状態にあるか、又は、ユーザが動画を視聴している状態にあるかに応じて、入力オブジェクトの大きさを自動的に変更するので、ユーザによるタッチパネル又はユーザインターフェイス等を介した時間及び手間を要する操作を不要とすることができる。これにより、ユーザビリティを向上させることができるだけでなく、端末装置及び/又はトラッキング装置の消費電力を抑えることもできる。
さらにまた、ユーザは、物理的に存在するスマートフォン又はタブレット等を握持することなく、ディスプレイ等に仮想的に表現された(鏡のような直感的に受け入れ易い)入力オブジェクトを操作するだけでよいので、ユーザは、動画を配信するに際して又は動画の配信を準備するに際して(又は動画を視聴するに際して)手足を自由に動かすことができる。したがって、この意味においても、ユーザビリティを向上させることができる。
7.クローゼットモードについて
7-1.基本的な構成
次に、上述した第1動画と組み合わせてユーザのアバターの表示方法を変更するモード(クローゼットモード)について、図21を参照して説明する。図21は、図1に示した通信システム1により実行される動作の別の例を説明するフロー図である。
ここでも、便宜上、上述したユーザAの端末装置(VR端末装置)20Cに関連して通信システム1において実行される動作を説明するが、かかる動作は、他の任意のユーザの端末装置(VR装置)20にも同様に適用可能である。
図21を参照すると、まず、ST1000において、端末装置20Cは、第1動画を表示することができる。第1動画は、上述したように、ユーザAに関する動作データに基づいて動作し、ユーザAの視点からみて第1仮想空間(3次元の仮想空間)を描画した動画であり得る。例えば、第1動画は、端末装置20Cが、上述した「準備モード」、「共同配信モード」又は「単独配信モード」を実行している際に表示する第1動画であり得る。この第1動画の詳細については、上述したとおりであるので、その説明を省略する。
次に、ST1002において、端末装置20Cは、ユーザAがクローゼットモードを実行する旨を示す特定の操作を行うことにより、クローゼットモードを発動することができる。なお、端末装置20Cは、クローゼットモードを、ユーザAが自己のアバターを客観的に観察したいと考えるあらゆる局面において実行することができる。この局面は、以下に例示する少なくとも1つの局面を含み得る。
・ユーザAが、自己のアバターにオブジェクト、ギフト及び/又はアイテム等を着脱する局面
・ユーザAが、自己のアバターを含む動画を配信する前の準備段階として、自己のアバターをチェックする局面
・ユーザAが、自己のアバターを含む動画をライブ配信している局面
また、ここでいう特定の操作は、例えば以下に例示する操作のうちの少なくとも1つであり得る。
・ユーザAが、右ハンドコントローラ102(又は左ハンドコントローラ104)を把持して特定のジェスチャーを行うこと。
・ユーザAが、右ハンドコントローラ102(又は左ハンドコントローラ104)に設けられたいずれかのボタンを押圧すること。
・ユーザAが、頭部にHMD100を装着して特定のジェスチャー(例えば頭部を左右に振る等)を行うこと。
・ユーザAが、上述した入力オブジェクトに表示された特定のアイコンを選択すること等
端末装置20Cは、クローゼットモードを発動させることにより、ST1004において、それまで表示していた第1動画(例えば図13に示した第1動画400A)に代えて、隔離動画を表示することができる。隔離動画(特許請求の範囲においては便宜上「第2動画」と記載される)とは、ユーザAの動作に関する動作データに基づいて動作し、ユーザAのアバターから距離をおいた隔離視点からみてユーザAのアバターを含む上記第1仮想空間を描画した動画であり得る。
図22は、図1に示す通信システムにおいて端末装置により「クローゼットモード」の実行に際して表示される画面の一例を示す図である。図22に例示されるように、隔離動画1100は、ユーザAのアバター450から距離をおいた隔離視点からみてアバター450を含む上記第1仮想空間(3次元の仮想空間)を描画した動画であり得る。
この隔離動画1100を表示するまで端末装置20Cが表示していた第1動画(ここでは図13に示した第1動画400A)は、アバター450(アバター450と略同一の位置に居るユーザA)の視点からみて描画されるため、アバター450として、その一部(例えば左手450a)しか表示しない。これに対して、隔離動画1100は、アバター450から距離をおいた隔離視点からみて描画されるため、アバター450として、その大部分(図22では、背後からみた全身)が表示され得る。なお、図22には、アバター450の左側後方上部に配置された隔離視点からみて描画された第1仮想空間が示されているが、アバター450から距離をおいた任意の位置に隔離視点を配置することが可能である。例えば、端末装置20Cは、隔離視点をアバター450の正面に配置することにより、アバター450(の顔等)を正面からみて描画する隔離動画1100を表示することもできる。
さらに、端末装置20Cは、隔離動画1100の表示を開始した時点において、それまで表示していた第1動画においてアバター450が表現していたポーズを維持するように、隔離動画1100においてアバター450を描画することができる。これに代えて、端末装置20Cは、端末装置20Cは、隔離動画1100の表示を開始した時点において、予め用意された少なくとも1つのデフォルトのポーズのうち、自動的に選択されたいずれか1つのポーズ又はユーザAにより選択されたいずれか1つのポーズを反映するように、隔離動画1100においてアバター450を描画することも可能である。
また、図22に示された隔離動画1100は、図面の簡略化のために、図13に示されていたアバター220及びアバター210を表示していない。しかし、隔離視点からみてこれらのアバターが視界に入る場合には、隔離動画110はこれらのアバターを描画することも可能である。このことは、後に参照する図22、図25及び図27に対しても同様に当て嵌まる。
ここで、隔離視点をユーザA(アバター450)の視点と比較して説明する。図23は、図1に示す通信ネットワーク1において第1動画の生成に際して用いられたユーザ(アバター)の視点を概念的に示す図である。図24は、図1に示す通信ネットワークにおいて隔離動画の生成に際して用いられた隔離視点を概念的に示す図である。
第1動画に関連する図23を参照すると、図23には、ユーザAの頭部460が上方からみて示され、アバター450の頭部470が上方からみて示されている。図23に示されているように、第1動画は、ユーザAの頭部460の上にアバター450の頭部470が載置された状態において、ユーザA又はアバター450の視点からみて、第1仮想空間を描画する。したがって、このような視点によれば、第1動画は、アバター450の全身を描画することができず、図13に示すように、アバター450の一部450aのみを描画する。
隔離動画に関連する図24を参照すると、図24においても、ユーザAの頭部460が上方からみて示され、アバター450の頭部470が上方からみて示されている。図24に示されるように、隔離動画は、アバター450の頭部470から例えば距離Lをおいて隔離したユーザAの頭部460に視点(隔離視点)を置いて、第1仮想空間を描画する。したがって、このような隔離視点によれば、隔離動画は、アバター450のより大きな部分を描画することができる。
図21に戻り、次に、ST1006において、端末装置20Cは、離脱動画1100に表示されるアバター450の動作を制御することができる。第1動画400A(図13等)に表示されるアバター450は、上述したように、ユーザAの動作に関する動作データに基づいて動作することができる。隔離動画1100(図22等)に表示されるアバター450もまた、基本的には、ユーザAの動作に関する動作データに基づいて動作することができる。すなわち、隔離動画1100に表示されるアバター450は、基本的には、ユーザAの動作を反映して動作する。例えば、ユーザAが右ハンドコントローラ102を把持する右手を挙げるジェスチャーを行えば、これに応答して、図22に例示される隔離動画1100において、アバター450もまたその右手を挙げることができる。
一実施形態では、端末装置20Cは、隔離動画1100においては、ユーザAの動作データの内容に関わらず、アバター450の位置(座標)を変化させないように、アバター450の動作を制御することができる。例えば、ユーザAが、右ハンドコントローラ102(又は左ハンドコントローラ104)においてアバター450の前進又は後退を示す動作データを生成すべく用意されたいずれかのボタンを押圧した場合であっても、端末装置20Cは、そのような前進又は後退を示す動作データを無効にすることができる。さらに、例えば、ユーザAがHMD100を装着した頭部を前方又は後方等に動かすことにともなって、HMD100の位置が移動することにより、端末装置20Cは、HMD100により生成された前進又は後退を示す動作データを無効にすることもできる。
クローゼットモードは、ユーザAがアバター450の外観をチェックすることを目的として実行され得る。ユーザAがアバター450の外観をチェックすべくアバター450を注視している間に、ユーザAの動作によって、アバター450がユーザAの意図していない第1仮想空間における位置に移動することを避けることは、有用である。したがって、端末装置20Cは、ユーザAの動作データに関わらず、アバター450の位置(座標)を変化させないように、アバター450の動作を制御することができる。
また、一実施形態では、端末装置20Cは、隔離動画1100においては、ユーザAの動作データの内容に関わらず、第1仮想空間において鉛直方向に延びる回転軸の周りにアバター450を回転させないように、アバター450の動作を制御することができる。ここで、図22には、説明を分かり易くするために、第1仮想空間において鉛直方向に延びる回転軸Oが示されているが、隔離動画1100はこのような回転軸Oを表示する必要はない(回転軸Oを表示してもよい)。
このような回転軸Oの周りにアバター450を回転させないようにする処理について、先に用いた図24を参照して説明する。図24(a)には、ユーザAの頭部460が、アバター450の頭部470から距離Lをおいた位置に配置される。このように配置されたユーザAの頭部460からみた視点が、隔離視点となる。
図24(a)に示す状態において、ユーザAの頭部460から距離Lを維持しつつアバター450における観察部位を変更するために、例えば、ユーザAは、例えば右ハンドコントローラ102(又は左コントローラ104)に設けられたいずれかのボタンを押圧する動作を実行することにより、ユーザAの視点を紙面上反時計回りに90度回転させることを考える。このようなユーザAの動作に基づく動作データにより、ユーザAの頭部460は、図24(b)に示した位置に移動することができる。しかし、このような動作データに従って、アバター450もまた同様に反時計回りに90度回転することになる。この結果、図24(b)から明らかであるように、ユーザAの頭部460は、図24(a)及び図24(b)のいずれに示した状態であっても、アバター450の背後に対向し続けることになる。このように、ユーザAの動作を示す動作データに連動して、アバター450を回転させると、ユーザAは、アバター450における観察部位を変更することができない。
一方、アバター450の鉛直方向に延びる回転軸Oの周りにアバター450を回転させないようにした場合には、図24(a)に示す状態において、ユーザAが右ハンドコントローラ102等を操作してユーザAの視点を紙面上反時計回りに90度回転させると、図24(c)に示すように、ユーザAの頭部460は、アバター450の右側面に対向することができる。したがって、アバター450を回転軸Oの周りに回転させないようにすることにより、ユーザAは、アバター450における観察部位を変更することができる。
このように、端末装置20Cが、隔離動画1100において、ユーザAの動作データの内容に関わらず、第1仮想空間において鉛直方向に延びる回転軸の周りにアバター450を回転させないように、アバター450の動作を制御することにより、ユーザAは、(少なくとも1つのオブジェクトが装着された又は取り外された)アバター450の外観を所望の角度から客観的に観察することができる。
なお、アバター450を回転軸Oの周りに回転させないようにすることは、HMD100を装着したユーザAがその頭部を右又は左に振る(その頭部を鉛直方向に延びる回転軸の周りに時計回りに又は反時計回りに回転させる)動作を行っても、アバター450の頭部も右又は左に振る(いわゆる首振りをする)ことができなくなる(アバター450の頭部が向く方向/角度が変わらない)ことを意味する。
したがって、一実施形態では、端末装置20Cは、アバター450の回転を可能にする機能を有することもできる。具体的には、図21に戻り、ST1008において、端末装置20Cは、アバターを回転させるためのユーザインターフェイスを表示することができる。
例えば、端末装置20Cは、隔離動画1100において、図22に示すように、特定のユーザインターフェイス1200を表示することができる。このユーザインターフェイス1200は、例えば、アバター450を回転軸Oの周りに時計回りに回転させるための右アイコン1202、及び、アバター450を回転軸Oの周りに反時計回りに回転させるための左アイコン1204を含み得る。さらに、端末装置20Cは、ユーザインターフェイス1200に関連付けて、上述したポインタ630を表示することもできる。ユーザAは、例えば、右ハンドコントローラ102等を動かしてポインタ630を右アイコン1202(又は左アイコン1204)に合わせ、このハンドコントローラに設けられたいずれかのボタンを押圧することにより、端末装置20Cは、その押圧の回数又は時間に応じた角度で、アバター450を回転軸Oの周りに時計回りに(又は反時計回りに)回転させることができる。その一例が図25に示されている。
同様に、端末装置20Cは、隔離動画1100において、図22には示していないが、アバター450全体の回転軸Oだけでなく、アバター450に含まれる複数の部位及び複数のボーンを含む複数の要素の各々について、その要素をその回転軸の周りに回転させるインターフェイスを表示することも可能である。上記複数の要素は、頭部、右腕、左腕、右足、左足、上半身及び/又は下半身等を、これらに限定することなく含み得る。ユーザAが、そのように表示されたユーザインターフェイスにおいて所望の要素に対応付けて設けられたオブジェクト(その要素を時計回りに回転させるアイコン、その要素を反時計回りに回転させるアイコン等)を選択することにより、端末装置20Cは、隔離動画1100において、アバター450におけるその要素を回転させて動かすこと、すなわち、アバター450が表現するポーズを微調整することができる。ここで、上記要素を回転させて動かすことは、アバター450の頭部を斜めに傾けること、アバター450の頭部のみを回転させること、アバター450の右手のみを水平に伸ばすこと、アバター450の左足のみを蹴り上げること等を、これらに限定することなく含み得る。これにより、端末装置20Cは、HMD100、右ハンドコントローラ102及び/又は左ハンドコントローラ104から受信する動作データの量を減らしつつ、隔離動画1100において、アバター450に対してバリエーション豊かな動作を行わせることができる。これにより、端末装置20Cの消費電力を抑えることも可能である。
これに代えて又はこれに加えて、端末装置20Cは、図22及び図25には示していないが、「右ハンドコントローラを右に振れば、アバターを右方向に回転させることができる」、「左ハンドコントローラを左に振れば、アバターを左方向に回転させることができる」といったような表示を含む特定のユーザインターフェイスを、隔離動画1100において表示することもできる。この場合、ユーザAは、右ハンドコントローラ及び/又は左コントローラを指示されたとおりに操作することにより、端末装置20Cは、アバター450を回転軸Oの周りに時計回りに又は反時計回りに回転させること(及び/又は、アバター450における所望の要素を動作させること)ができる。
これに代えて又はこれに加えて、端末装置20Cは、図22及び図25には示していないが、アバター450の回転を一時的に許容する(すなわち、ユーザAの動作に関する動作データに従って、第1動画におけると同様にアバター450を回転させる)一時解除モードに関連する表示を含む特定のユーザインターフェイスを、隔離動画1100において表示することもできる。この場合、ユーザAは、右ハンドコントローラ若しくは左コントローラに設けられたいずれかのボタンを押圧することにより、又は、右ハンドコントローラ若しくは左コントローラを用いてポインタ630を操作すること等により、端末装置20Cは、一時解除モードを実行することができる。
図21に戻り、次に、ST1010において、端末装置20Cは、隔離動画に適用される隔離視点を変更することができる。具体的には、例えば、端末装置20Cは、図22及び図25には示していないが、隔離視点を変更するための特定のユーザインターフェイスを、隔離動画1100において表示することもできる。このユーザインターフェイスは、少なくとも1つのアイコン等を含み得る。ユーザAは、例えば、右ハンドコントローラ102等を動かしてポインタ630(図22等参照)をこのようなアイコンに合わせ、このハンドコントローラに設けられたいずれかのボタンを押圧することができる。これにより、端末装置20Cは、図24に示した、アバター450の頭部470とユーザAの頭部460(ユーザAの視点)との間の距離、及び/又は、第1仮想空間におけるユーザAの頭部460(ユーザAの視点)の座標(x、y、z)を、変更することができる。端末装置20Cは、このように変更した隔離視点からみた第1仮想空間を描画する隔離動画を生成して表示することができる。
これに代えて又はこれに加えて、端末装置20Cは、図22及び図25には示していないが、「右ハンドコントローラのボタンを押せば、アバターとユーザの視点との間における距離を広げる」、「左ハンドコントローラのボタンを押せば、アバターとユーザの視点との間における距離を縮める」、「右ハンドコントローラのジョイスティックを倒せば、ユーザの視点を水平方向に変化させる」、「左ハンドコントローラのジョイスティックを倒せば、ユーザの視点を鉛直方向に変化させる」といったような表示を含む特定のユーザインターフェイスを、隔離動画1100において表示することもできる。この場合、ユーザAは、右ハンドコントローラ及び/又は左コントローラを指示されたとおりに操作することにより、端末装置20Cは、図24に示した、アバター450の頭部470とユーザAの頭部460(ユーザAの視点)との間の距離、及び/又は、第1仮想空間におけるユーザAの頭部460(ユーザAの視点)の座標(x、y、z)を、変更することができる。
別の例では、端末装置20Cは、隔離視点として、第1仮想空間に存在する他の配信者のアバターの視点を用いることができる。例えば、端末装置20Cは、ST1002においてクローゼットモードを発動するまで、図13に示した第1動画400Aを表示していた場合には、現在も、ユーザAは、アバター210に対応する第1配信者及びアバター220に対応する第2配信者と共同して動画を配信している。なお、アバター210は、上述したように、複数のトラッキング装置を用いて第1配信者の動作に基づいて第1配信者の動作に基づいて動作する。
この場合、端末装置20Cは、第1配信者の端末装置20からサーバ装置30を介して受信する動作データに基づいて、第1仮想空間におけるアバター210の座標を継続的に認識していることからこそ、図13に例示される位置にアバター210を配置した第1動画400Aを表示することができる。したがって、端末装置20Cは、このように継続的に認識しているアバター210の座標を、隔離視点を配置すべき座標として用いることができる。これにより、端末装置20Cは、隔離視点として、アバター210の視点を用いることにより、例えば図26に示すような隔離動画1100を表示することができる。この隔離動画1100は、一例として、ユーザAのアバター450を正面からみて表示することができる。図26に示す例では、隔離視点からみた視界に他の配信者のアバター220が入るため、隔離動画1100がアバター450だけでなくアバター220をも描画することができる。
なお、この隔離動画1100は、第1配信者のアバター210の視点からみて描画されるが、ユーザAの端末装置20Cにおいて表示されるものであって、第1配信者の端末装置20には表示されないものとすることができる。
別の例では、端末装置20Cは、隔離視点として、第1仮想空間に存在するいずれか視聴者のアバターの視点を用いることができる。上記「5.プラットフォーム」において述べた原理によれば、配信者であるユーザAの端末装置20Cは、このユーザAの動作を示す動作データをサーバ装置30に送信する。他の配信者の端末装置(VR端末装置)20又は視聴者の端末装置(VR端末装置)20は、サーバ装置30から受信したこの動作データに基づいて動作するユーザAのアバター450を第1仮想空間に配置し、当該他の配信者又は当該視聴者の視点からみて描画した第1動画を、生成して表示することができる。
ユーザAの端末装置20Cは、第1仮想空間における当該他の配信者又は当該視聴者の視点を、隔離視点として用いることも可能である。この場合、端末装置20Cは、当該他の配信者の端末装置20から当該配信者の動作に関する動作データをサーバ装置30を介して受信するので、第1仮想空間における当該配信者のアバターの座標を認識することができる。
一方、端末装置20Cは、当該視聴者の端末装置20からサーバ装置30を介して当該視聴者の動作に関する動作を受信しないので、そのままでは、第1仮想空間における当該視聴者のアバターの座標を認識することができない。したがって、端末装置20Cは、第1仮想空間における上記視聴者のアバターの座標を認識すべく、上記視聴者の端末装置から、サーバ装置30を介して、この視聴者のアバターの座標、又は、この座標を算出するためのこの視聴者の動作に関する動作データ等を、受信することができる。
このような場合においても、隔離動画1100は、ユーザAの端末装置20Cにおいて表示されるものであって、上記配信者の端末装置20及び上記視聴者の端末装置20には表示されないものとすることができる。
また、ここでは、端末装置20Cが、隔離動画1100を描画する際に用いる隔離視点として、第1仮想空間に配置された配信者及び/又は視聴者のアバターの視点を用いる場合について説明した。しかし、これは単なる一例に過ぎず、端末装置20Cは、隔離動画1100を描画する際に用いる隔離視点として、第1仮想空間に配置された(に存在する)他の任意のアバターの視点を用いることも可能である。
図21に戻り、次に、ST1012において、端末装置20Cは、アバター450に着せ替えを行うためのユーザインターフェイスを表示することができる。
図27は、図1に示す通信システムにおいて端末装置により「クローゼットモード」の実行に際して表示される画面の別の例を示す図である。図27に例示されるように、端末装置20Cは、隔離動画1100において、ユーザAのアバター450の側方、上方又は下方に、アバター450に対する装着の候補とされる複数のオブジェクト(図27には3つのオブジェクト)を表示することができる。なお、これら複数のオブジェクトは、視聴者からユーザAに対してギフトとして送信されたオブジェクトを含み得る。
なお、上記複数のオブジェクトは、以下に例示する複数のオブジェクトのうちの少なくとも1つのオブジェクトを、これに限定することなく含むことができる。
・ユーザAが当該動画配信サービスを運営する企業から購入したオブジェクト
・ユーザAが上記企業から報酬として付与されたオブジェクト
・ユーザAが、自己が保有する任意のポイントを消費して上記企業から取得したオブジェクト
・ユーザAが他ユーザから譲り受けた又は購入したオブジェクト
・ユーザAが自身で作成したオブジェクト
さらに、端末装置20Cは、ユーザAが右ハンドコントローラ102(又は左ハンドコントローラ104)を用いて所定のジェスチャー(例えば右方向又は左方向にこのハンドコントローラを振るジェスチャー等)を実行することに応答して、隔離動画1100に表示されている複数のオブジェクトを順次別のオブジェクトに切り替えて表示することも可能である。
ユーザAは、例えば、このように表示される複数のオブジェクトのうちの所望のオブジェクトに対してポインタ630(指示オブジェクト)を合わせて、右ハンドコントローラ102(又は左ハンドコントローラ104)のいずれかのボタンを押圧することにより、隔離動画1100において、ポインタ630に対して当該所望のオブジェクト(ここでは「帽子」)を付着させること(このオブジェクトを追加オブジェクトとして決定すること)ができる。この状態において、ユーザAは、右ハンドコントローラ102(又は左ハンドコントローラ104)を動かすことにより、ポインタ630に付着させた「帽子」オブジェクトをアバター450に接触するまで移動させる(いわゆるドラッグする)ことができる。この後、ユーザAは、右ハンドコントローラ102(又は左ハンドコントローラ104)の上記いずれかのボタンを解除することにより、隔離動画1100において、当該「帽子」オブジェクトをポインタ630から解放してアバター450に装着することができる。
なお、ユーザAは、アバター450に装着されているいずれかのオブジェクトに対してポインタ630を用いた同様のドラッグ操作を行うことにより、アバター450から上記オブジェクトを取り外すこともできる。
このようにいずれかのオブジェクトが装着された又は取り外されたアバター450が、隔離動画1100(クローゼットモードが終了した後には第1動画及び/又は入力オブジェクト)に表示される。
図21に戻り、ST1014において、端末装置20Cは、クローゼットモードを継続するか否かの判定を行うことができる。例えば、端末装置20Cは、このような判定を、クローゼットモードを終了する旨の動作又は操作がユーザAに実行されたか否かに基づいて行うことができる。
端末装置20Cは、クローゼットモードを継続すると判定した場合には、上述したST1004に戻る。一方、端末装置20Cは、クローゼットモードを終了すると判定した場合には、上述したST1000に戻る。
以上、便宜上、ST1004~ST1014の各々において行われる動作を、この順序で説明してきた。しかし、これらのステップは、この順序で行われるとは限らず、異なる順序で行われることもある。また、これらのステップのうちの複数のステップが並行して実行されることもある。
7-2.変形例
上述した様々な例では、端末装置20Cが、第1動画を表示部における或る領域に表示するモード(第1モード)と、隔離動画を上記或る領域に表示するモード(第2モード:クローゼットモード)と、を切り替える場合、すなわち、端末装置20Cは、上記或る領域に第1動画(又は隔離動画)を表示している期間においては、上記或る領域に隔離動画(又は第1動画)を表示しない場合について説明した。この場合には、図21に示したフロー図を参照すると、端末装置20Cは、ST1002~ST1014を実行している期間において、任意のタイミングで第2動画に代えて第1動画を表示することができるようにすべく、第1動画を生成する処理を並行して実行することができる。
一方、別の例では、端末装置20Cは、表示部における一部の領域に第1動画を表示することと並行して、表示部における他の領域に隔離動画を表示すること、すなわち、第1動画及び隔離動画をそれぞれ別々の領域に並行して表示することも可能である(なお、表示部における上記一部の領域と上記他の領域とは部分的に重なることも可能である)。この場合には、端末装置20Cは、図21に示したフロー図を参照すると、ST1002~ST1014を実行している期間において、これらのステップと並行して、第1動画を生成して表示することができる。なお、当該別の例において、端末装置20Cは、或るタイミングでは、第1動画及び隔離動画のうちのいずれか一方のみを表示し、別のタイミングでは、第1動画及び隔離動画の両方を表示することも可能である。
当該別の例においては、例えば、端末装置20Cは、第1動画においては、ユーザAの動作に関する第1動作データに基づいてユーザAのアバター450を動作させること、すなわち、ユーザAの動作をアバター450に反映させることができる。この場合、端末装置20Cは、第1動画においては、第1仮想空間に配置された仮想的な鏡を表示し、この鏡に映ったアバター450を表示することもできる。この仮想的な鏡は、第1仮想空間に配置された或る視点(鏡の位置)からみて描画したアバター450を鏡のように反転させて表示することができる。
さらに、当該別の例においては、端末装置20Cは、第1動画において、第1動作データに基づいて、ユーザAのアバター450の視点を変化させ、及び/又は、ユーザAのアバター450を動作させることができる。
また、当該別の例においては、端末装置20Cは、隔離動画において、第1動作データに基づいて、隔離視点を変化させることもできるし、隔離視点を変化させないようにすることもできる。さらに、端末装置20Cは、隔離動画において、(i)第1動作データに基づいて、ユーザAのアバター450を動作させるか、又は、(ii)第1動作データとは無関係に、ユーザAのアバター450を動作させることができる。
上記(ii)については、例えば、端末装置20Cは、隔離動画において、静止した状態のアバター450を表示することができ、又は、第1動作データとは無関係に、アバター450を自動的に動かすことができる。
上記(i)については、例えば、端末装置20Cは、隔離動画において、第1動作データのうち、一部の動作データに基づいて、ユーザAのアバター450を動作させ(例えばアバター450の手足を動作させ)、残りの動作データに基づいては、ユーザAのアバター450を動作させない(例えばアバター450の位置を変化させない)、構成を採用することも可能である。すなわち、端末装置20Cは、第1動作データのうち、一部の動作データのみをトラッキングデータとして使用し、残りの動作データをトラッキングデータとして使用しない、構成を採用することも可能である。
このように、端末装置20Cが、隔離動画において、第1動作データのうち、一部の動作データに基づいてアバター450を動作させ、残りの動作データに基づいては、アバター450を動作させない例は、さらに少なくとも以下に列挙する例を、これらに限定することなく含み得る。
・アバター450の右手及び/又は左手を動作させ、アバター450の右足及び/又は左足を動作させない。
・アバター450の頭部だけ動作させ、アバター450の他の部分を動作させない。
・その他、アバター450の一部の部位(1又はそれ以上の部位)を動作させ、アバター450の他の部位を動作させない。
さらに、端末装置20Cは、上記(i)と上記(ii)とを組み合わせた動作を実行することも可能である。具体的には、端末装置20Cは、第1動作データのうち、一部の動作データに基づいて、アバター450の一部の部位(1又はそれ以上の部位)を動作させ、他の部位(例えば残りの部位)については、自動的に動作させることも可能である。例えば、端末装置20Cは、動作データに基づいて、アバター450の頭部(又は、アバター450の頭部及び両手)を動作させ、アバター450の他の部位(例えば残りの部位)については、自動的に動作させることもできる。
加えて、当該別の例においては、端末装置20Cは、隔離動画において、予め用意された複数のポーズのうち、ユーザAにより選択されたいずれかのポーズ又は自動的に選択されたいずれかのポーズを、ユーザAのアバター450に反映させることも可能である。上記複数のポーズは、例えば、ぶりっこをしたポーズ、右手でピースを表現したポーズ、両手でハートを描いたポーズ、及び/又は、両手を上方に挙げたポーズ等、をこれらに限定することなく含むことができる。
このように、端末装置20Cは、隔離動画において、第1動作データのうちの少なくとも一部の動作データを、アバター450の描画に使用しない(一部のトラッキングを停止する)ことにより、描画処理に必要とされる負荷を削減(ひいては端末装置20Cの消費電力を削減)しつつ、ユーザAのアバター450に対するカスタマイズを客観的に実現することができる。
上述した様々な例において、端末装置20Cは、隔離動画において描画される少なくとも1つのアバター(例えば、アバター450及びアバター220等)の表情をリップシンク方式に従って変化させることも可能である。これを実現するために、端末装置20Cは、そのアバターに対応するユーザの発話に基づく音声データを取得することができる。例えば、端末装置20Cは、アバター450の表情を変化させるためには、ユーザAの発話に基づく音声データを取得することができ、アバター220の表情を変化させるためには、第2配信者の発話に基づく音声データを取得することができる。このような音声データの取得方法については、上記「5.プラットフォーム」において上述したとおりである。端末装置20Cは、このように取得した音声データに基づいて、発話者の発話における抑揚、及び/又は、発話の速度等を分析することにより、発話者の喜怒哀楽を識別することができる。端末装置20Cは、このように識別された喜怒哀楽を、隔離動画に表示されるアバターの表情に反映することができる。
また、上述した様々な例では、各ステップ(ST1000~ST1014)における動作を端末装置20Cが実行する方式(クライアントレンダリング方式)に着目して説明してきた。しかし、ST1000~ST1014のうちの少なくとも1つの対象ステップにおいて、端末装置20Cにより実行されるものとして説明してきた動画の生成に関する動作を、1つのサーバ装置30が単独で又は複数のサーバ装置30が分担して実行する方式(サーバレンダリング方式)を採用することも可能である。この場合、上記1又はそれ以上のサーバ装置30が、端末装置20Cの代わりに、上記少なくとも1つの対象ステップに関連する様々な動作を実行することにより、第1動画及び隔離動画(様々なユーザインタフェイスを含む)を生成して端末装置20Cに送信することができる。なお、上記「5.プラットフォーム」において説明したとおり、サーバ装置30は、各配信者の端末装置20から動作データ及び/又は操作データを受信するので、各端末装置20の代わりにかかる動作データ及び/又は操作データを利用して各種動画の生成(変形例において上述したような、第1動画及び/又は隔離動画において、アバター450にオブジェクトを装着し、又は、アバター450からオブジェクトと取り外す処理を含む様々な処理)を実行することができる。一方、サーバ装置30は、各視聴者の端末装置20から動作データを必ずしも受信する訳ではない。したがって、サーバレンダリング方式を採用する場合には、サーバ装置30は、各視聴者の端末装置から単位時間ごとに又は任意のタイミングで動作データを受信するようにしてもよい。
また、上述した様々な例では、第1動画及び隔離動画等の生成に関連する動作を各端末装置20Cが実行する方式(クライアントレンダリング方式)に着目して説明してきた。しかし、端末装置20Cは、ウェブブラウザを介して、サーバ装置30又はウェブサーバ装置30からウェブページを受信し、このウェブページに含まれたコンピュータプログラムを実行することにより、このような第1動画及び隔離動画等の生成に関連する動作を遂行する方式(ブラウザレンダリング方式)を採用することも可能である。
以上説明したように、様々な実施形態によれば、端末装置20Cは、第1動画においてユーザのアバター(の頭部)の付近に配置される視点に代えて、このアバターから距離をおいて配置された隔離視点からみて、このアバターを含む第1仮想空間を描画することにより、隔離動画を表示することができる。この隔離動画によれば、ユーザは、自己のアバターの外観(各視聴者及び/又は他の配信者を含む他のユーザからどのように見えるのか)を客観的に観察することができる。
さらに、好ましい実施形態では、端末装置20Cは、隔離動画において、ユーザの動作に関する動作データの内容に関わらず、鉛直方向に延びる回転軸の周りにアバターを回転させないようにすることができる。この隔離動画によれば、ユーザは、自己のアバターの外観(各視聴者及び/又は他の配信者を含む他のユーザからどのように見えるのか)を所望の角度から客観的に観察することができる。
さらにまた、好ましい実施形態では、端末装置20Cは、隔離動画において、アバターにオブジェクトを装着させ、又は、アバターからオブジェクトを取り外すためのユーザインターフェイスを表示することができる。これにより、ユーザは、アバターの外観を客観的に観察しながら、このアバターにオブジェクトを装着させ、又は、このアバターからオブジェクトを取り外す、という作業を簡単に実行することができる。さらに、ユーザは、オブジェクトが装着された又は取り外された状態のアバターの外観を客観的に観察することができる。
本件出願に開示された様々な技術は、各配信者と各視聴者との間で行われる動画の提供という局面のみにおいて利用可能なものではなく、各ユーザのアバターが仮想的な空間に集合して交流する技術、いわゆる「メタバース」においても、利用可能である。すなわち、本件出願に開示された様々な技術は、各ユーザの端末装置がそのアバターを動作させるためのデータ等を、様々な動画の生成を担う情報処理装置(サーバ装置又は各ユーザの端末装置)に向けて送信し、各ユーザの端末装置が、複数のユーザのアバターを仮想的な空間に配置した様々な動画を生成(又は受信)して表示する、という局面に利用可能である。
本開示の利益を有する当業者により容易に理解されるように、上述した様々な例は、矛盾の生じさせない限りにおいて、相互に様々なパターンで適切に組み合わせて用いられ得る。
本明細書に開示された発明の原理が適用され得る多くの考えられる実施形態を考慮すれば、例示された様々な実施形態は好ましい様々な例に過ぎず、特許請求の範囲に係る発明の技術的範囲をこれらの好ましい様々な例に限定すると考えるべきではない、と理解されたい。実際には、特許請求の範囲に係る発明の技術的範囲は、添付した特許請求の範囲により定められる。したがって、特許請求の範囲に記載された発明の技術的範囲に属するすべてについて、本発明者らの発明として、特許の付与を請求する。
8.付記
8-1.プラットフォームに係る様々な態様
第1の態様に係るコンピュータプログラムは「或る端末装置に搭載された少なくとも1つのプロセッサにより実行されることにより、第1端末装置により第1配信者の動作に基づいて第1トラッキング方式を用いて生成された第1動作データを受信した場合に、該第1動作データに基づく前記第1配信者の第1アバターのアニメーションを含む動画を生成し、第2端末装置により第2配信者の動作に基づいて前記第1トラッキング方式とは異なる第2トラッキング方式を用いて生成された第2動作データを受信した場合に、該第2動作データに基づく前記第2配信者の第2アバターのアニメーションを含む動画を生成し、前記第1動作データ及び前記第2動作データの両方を受信した場合に、該第1動作データに基づく前記第1アバターのアニメーションと、前記第2動作データに基づく前記第2アバターのアニメーションと、を含む動画を生成し、該動画を表示部に表示する、ように前記少なくとも1つのプロセッサを機能させる」ことができる。
第2の態様に係るコンピュータプログラムにあっては、上記第1の態様において「前記第1動作データ及び前記第2動作データの両方を受信した場合に、前記或る端末装置が前記サーバ装置から受信する前記第1動作データ及び前記第2動作データは、前記サーバ装置が、前記第1端末装置、前記第2端末装置及び前記或る端末装置に対して共通に送信するデータである」構成を採ることができる。
第3の態様に係るコンピュータプログラムにあっては、上記第1の態様において「前記第1動作データ及び前記第2動作データの両方を受信した場合に、該第1動作データは、前記サーバ装置により、前記或る端末装置及び前記第2端末装置に対して送信され、前記第1端末装置に対しては送信されず、前記第2動作データは、前記サーバ装置により、前記或る端末装置及び前記第1端末装置に対して送信され、前記第2端末装置に対しては送信されない」構成を採ることができる。
第4の態様に係るコンピュータプログラムにあっては、上記第1の態様から上記第3の態様のいずれかにおいて「前記第1トラッキング方式が、少なくとも、頭部に装着される装置、及び、頭部以外の身体に装着又は把持される少なくとも1つのコントローラの各々の座標及び角度を示す動作データを生成するトラッキング方式であり、前記第2トラッキング方式が、少なくとも、顔における複数の部位の各々の深度と、頭部の座標及び角度と、を示す動作データを生成する、フェイストラッキング方式である」構成を採ることができる。
第5の態様に係るコンピュータプログラムにあっては、上記第4の態様において「前記或る端末装置が、該或る端末装置のユーザである自ユーザの動作に基づいて前記第1トラッキング方式を用いて第3動作データを生成する端末装置である」構成を採ることができる。
第6の態様に係るコンピュータプログラムにあっては、上記第5の態様において「前記第1動作データ及び前記第2動作データの両方を受信した場合に、前記動画として、第1仮想空間に前記第1アバター及び前記第2アバターを配置し、前記自ユーザの視点からみて表現された、第1動画を生成する、ように前記少なくとも1つのプロセッサを機能させる」構成を採ることができる。
第7の態様に係るコンピュータプログラムにあっては、上記第6の態様において「前記第3動作データに基づいて、前記第1動画における前記自ユーザの視点を変化させる、ように前記少なくとも1つのプロセッサを機能させる」構成を採ることができる。
第8の態様に係るコンピュータプログラムにあっては、上記第6の態様又は上記第7の態様において「前記動画として、前記第1仮想空間に前記第1アバター及び前記第2アバターを配置し、前記第1仮想空間における或る視点からみて表現された、第2動画を生成する、ように前記少なくとも1つのプロセッサを機能させる」構成を採ることができる。
第9の態様に係るコンピュータプログラムにあっては、上記第8の態様において「前記第2動画を、前記第1動画に疑似的に表現された疑似端末装置の画面に表示する、ように前記少なくとも1つのプロセッサを機能させる」構成を採ることができる。
第10の態様に係るコンピュータプログラムにあっては、上記第8の態様又は上記第9の態様において「前記少なくとも1つのプロセッサが、前記自ユーザが前記動画を視聴する視聴者である、視聴者モードを実行していることを判断した場合に、前記自ユーザの第3アバターを前記第1動画及び前記第2動画に描画しない、ように前記少なくとも1つのプロセッサを機能させる」構成を採ることができる。
第11の態様に係るコンピュータプログラムにあっては、上記第10の態様において「前記少なくとも1つのプロセッサが前記視聴者モードを実行していることを判断した場合に、前記自ユーザの前記第3アバターが、前記第1端末装置及び前記第2端末装置を少なくとも含む複数の端末装置により生成される前記動画において描画されない」構成を採ることができる。
第12の態様に係るコンピュータプログラムにあっては、上記第10の態様又は上記第11の態様において「前記第1仮想空間における前記第1アバター及び前記第2アバターのうちのいずれかの対象アバターと前記第3アバターとの間の距離が閾値以下である場合に、前記第3動作データが前記対象アバターに向かって進む動作を示す場合、該動作を無効にする、ように前記少なくとも1つのプロセッサを機能させる」構成を採ることができる。
第13の態様に係るコンピュータプログラムにあっては、上記第10の態様から上記第12の態様のいずれかにおいて「前記第1仮想空間における前記第1アバター及び前記第2アバターのうちのいずれかの対象アバターと前記第3アバターとの間の距離が閾値以下である場合に、前記第1端末装置及び前記第2端末装置のうち前記対象アバターに対応する端末装置により生成され、前記第1配信者及び前記第2配信者のうち前記対象アバターに対応する対象配信者の視点からみて表現される前記動画において、描画されていない前記第3アバターの位置に該第3アバターが存在していることを示すオブジェクトが表示される」構成を採ることができる。
第14の態様に係るコンピュータプログラムにあっては、上記第8の態様又は上記第9の態様において「前記少なくとも1つのプロセッサが、前記自ユーザが前記第1配信者及び前記第2配信者と共同して前記動画を配信する配信者である、共同配信モードを実行していることを判断した場合に、前記第3動作データをサーバ装置に送信し、前記第1動作データに基づく前記第1アバターのアニメーションと、前記第2動作データに基づく前記第2アバターのアニメーションと、前記第3動作データに基づく前記自ユーザの第3アバターのアニメーションと、を含む、前記第1動画を生成する、ように前記少なくとも1つのプロセッサを機能させる」構成を採ることができる。
第15の態様に係るコンピュータプログラムにあっては、上記第14の態様において「前記少なくとも1つのプロセッサが前記共同配信モードを実行していることを判断した場合に、前記第1動作データに基づく前記第1アバターのアニメーションと、前記第2動作データに基づく前記第2アバターのアニメーションと、前記第3動作データに基づく前記第3アバターのアニメーションと、を含む、前記第2動画を生成する、ように前記少なくとも1つのプロセッサを機能させる」構成を採ることができる。
第16の態様に係るコンピュータプログラムにあっては、上記第15の態様において「前記少なくとも1つのプロセッサが前記共同配信モードを実行していることを判断した場合に、前記第3アバターが、前記第1端末装置及び前記第2端末装置により生成される前記動画において描画される」構成を採ることができる。
第17の態様に係るコンピュータプログラムにあっては、上記第14の態様から上記第16の態様のいずれかにおいて「前記第1仮想空間における前記第1アバター及び前記第2アバターのうちのいずれかの対象アバターと前記第3アバターとの間の距離が閾値以下である場合に、前記第3動作データが前記対象アバターに向かって進む動作を示す場合、該動作を無効にする、ように前記少なくとも1つのプロセッサを機能させる」構成を採ることができる。
第18の態様に係るコンピュータプログラムにあっては、上記第14の態様から上記第17の態様のいずれかにおいて「前記自ユーザと共同して前記動画を配信する前記第1配信者及び前記第2配信者の各々について、前記第1トラッキング方式及び前記第2トラッキング方式のうちのいずれの方式を利用しているかを示すデータを、前記表示部に表示する、ように前記少なくとも1つのプロセッサを機能させる」構成を採ることができる。
第19の態様に係るコンピュータプログラムにあっては、上記第15の態様において「前記第2動画において、前記第1仮想空間における位置が固定される前記第2アバターを前列に配置し、前記第1仮想空間における位置が変化する前記第1アバター及び前記第3アバターを前記前列より後ろにある後列に配置する、ように前記少なくとも1つのプロセッサを機能させる」構成を採ることができる。
第20の態様に係るコンピュータプログラムにあっては、上記第19の態様において「前記第2動画において、前記後列に配置される前記第1アバター及び前記第3アバターを、前記前列に配置される前記第2アバターよりも高い位置に配置する、ように前記少なくとも1つのプロセッサを機能させる」構成を採ることができる。
第21の態様に係るコンピュータプログラムにあっては、上記第4の態様において「前記或る端末装置が、該或る端末装置のユーザである自ユーザの動作に基づいて前記第2トラッキング方式を用いて第4動作データを生成する端末装置である」構成を採ることができる。
第22の態様に係るコンピュータプログラムにあっては、上記第21の態様において「前記第1動作データ及び前記第2動作データを受信した場合に、前記動画として、前記第1仮想空間に前記第1アバター及び前記第2アバターを配置し、前記第1仮想空間における或る視点からみて表現された、第3動画を生成する、ように前記少なくとも1つのプロセッサを機能させる」構成を採ることができる。
第23の態様に係るコンピュータプログラムにあっては、上記第22の態様において「前記少なくとも1つのプロセッサが、前記自ユーザが前記第1配信者及び前記第2配信者と共同して前記動画を配信する配信者である、共同配信モードを実行していることを判断した場合に、前記第4動作データを前記サーバ装置に送信し、前記第1動作データに基づく前記第1アバターのアニメーションと、前記第2動作データに基づく前記第2アバターのアニメーションと、前記第4動作データに基づく前記自ユーザの第3アバターのアニメーションと、を含む、前記第3動画を生成する、ように前記少なくとも1つのプロセッサを機能させる」構成を採ることができる。
第24の態様に係るコンピュータプログラムにあっては、上記第1の態様から上記第23の態様のいずれかにおいて「前記少なくとも1つのプロセッサが、中央処理装置(CPU)、マイクロプロセッサ、及び/又は、グラフィックスプロセッシングユニット(GPU)を含む」構成を採ることができる。
第25の態様に係る方法は、「コンピュータにより読み取り可能な命令を実行する或る端末装置に搭載された少なくとも1つのプロセッサにより実行される方法であって、該少なくとも1つのプロセッサが、前記命令を実行することにより、第1端末装置により第1配信者の動作に基づいて第1トラッキング方式を用いて生成された第1動作データを受信した場合に、該第1動作データに基づく前記第1配信者の第1アバターのアニメーションを含む動画を生成すること、第2端末装置により第2配信者の動作に基づいて前記第1トラッキング方式とは異なる第2トラッキング方式を用いて生成された第2動作データを受信した場合に、該第2動作データに基づく前記第2配信者の第2アバターのアニメーションを含む動画を生成すること、前記第1動作データ及び前記第2動作データの両方を受信した場合に、前記第1動作データに基づく前記第1アバターのアニメーションと、前記第2動作データに基づく前記第2アバターのアニメーションと、を含む動画を生成すること、並びに、該動画を表示部に表示すること、を含む」ことができる。
第26の態様に係る方法にあっては、上記第25の態様において「前記少なくとも1つのプロセッサが、中央処理装置(CPU)、マイクロプロセッサ、及び/又は、グラフィックスプロセッシングユニット(GPU)を含む」構成を採ることができる。
第27の態様に係るコンピュータプログラムは、「或る端末装置に搭載された少なくとも1つのプロセッサにより実行されることにより、前記或る端末装置により自ユーザの動作に基づいて第1トラッキング方式を用いて生成された第1動作データを、サーバ装置に送信し、第2端末装置により第2配信者の動作に基づいて前記第1トラッキング方式とは異なる第2トラッキング方式を用いて生成された第2動作データを、前記サーバ装置を介して受信し、前記第1動作データに基づく前記自ユーザの第1アバターのアニメーションと、前記第2動作データに基づく前記第2配信者の第2アバターのアニメーションと、を含む動画を生成し、該動画を表示部に表示する、ように前記少なくとも1つのプロセッサを機能させる」ことができる。
第28の態様に係るコンピュータプログラムにあっては、上記第27の態様において「前記第1トラッキング方式が、少なくとも、頭部に装着される装置、及び、頭部以外の身体に装着又は把持される少なくとも1つのコントローラの各々の座標及び角度を示す動作データを生成するトラッキング方式であり、前記第2トラッキング方式が、少なくとも、顔における複数の部位の各々の深度と、頭部の座標及び角度と、を示す動作データを生成する、フェイストラッキング方式である」構成を採ることができる。
第29の態様に係るコンピュータプログラムにあっては、上記第27の態様において「前記第1トラッキング方式が、少なくとも、顔における複数の部位の各々の深度と、頭部の座標及び角度と、を示す動作データを生成する、フェイストラッキング方式であり、前記第2トラッキング方式が、少なくとも、頭部に装着される装置、及び、頭部以外の身体に装着又は把持される少なくとも1つのコントローラの各々の座標及び角度を示す動作データを生成するトラッキング方式である」構成を採ることができる。
第30の態様に係るコンピュータプログラムにあっては、上記第27の態様から上記第29の態様のいずれかにおいて「前記少なくとも1つのプロセッサが、中央処理装置(CPU)、マイクロプロセッサ、及び/又は、グラフィックスプロセッシングユニット(GPU)を含む」構成を採ることができる。
第31の態様に係る方法は、「コンピュータにより読み取り可能な命令を実行する或る端末装置に搭載された少なくとも1つのプロセッサにより実行される方法であって、該少なくとも1つのプロセッサが、前記命令を実行することにより、前記或る端末装置により自ユーザの動作に基づいて第1トラッキング方式を用いて生成された第1動作データを、サーバ装置に送信すること、第2端末装置により第2配信者の動作に基づいて前記第1トラッキング方式とは異なる第2トラッキング方式を用いて生成された第2動作データを、前記サーバ装置を介して受信すること、前記第1動作データに基づく前記自ユーザの第1アバターのアニメーションと、前記第2動作データに基づく前記第2配信者の第2アバターのアニメーションと、を含む動画を生成すること、及び、該動画を表示部に表示すること、を含む」ことができる。
第32の態様に係る方法にあっては、上記第31の態様において「前記少なくとも1つのプロセッサが、中央処理装置(CPU)、マイクロプロセッサ、及び/又は、グラフィックスプロセッシングユニット(GPU)を含む」構成を採ることができる。
第33の態様に係るサーバ装置は、「少なくとも1つのプロセッサを具備し、該少なくとも1つのプロセッサが、第1端末装置により第1配信者の動作に基づいて第1トラッキング方式を用いて生成された第1動作データを、前記第1端末装置から受信した場合に、該第1動作データを或る端末装置に送信して、該第1動作データに基づく前記第1配信者の第1アバターのアニメーションを含む動画を、前記或る端末装置に生成させ、第2端末装置により第2配信者の動作に基づいて前記第1トラッキング方式とは異なる第2トラッキング方式を用いて生成された第2動作データを、前記第2端末装置から受信した場合に、該第2動作データを前記或る端末装置に送信して、該第2動作データに基づく前記第2配信者の第2アバターのアニメーションを含む動画を、前記或る端末装置に生成させ、前記第1動作データ及び前記第2動作データの両方を受信した場合に、該第1動作データ及び該第2動作データの両方を、前記或る端末装置に送信して、前記第1動作データに基づく前記第1アバターのアニメーションと、前記第2動作データに基づく前記第2アバターのアニメーションと、を含む動画を、前記或る端末装置に生成させる、ように構成される」構成を採ることができる。
第34の態様に係るサーバ装置にあっては、上記第33の態様において「前記少なくとも1つのプロセッサが、中央処理装置(CPU)、マイクロプロセッサ、及び/又は、グラフィックスプロセッシングユニット(GPU)を含む」構成を採ることができる。
第35の態様に係る方法は、「コンピュータにより読み取り可能な命令を実行するサーバ装置に搭載された少なくとも1つのプロセッサにより実行される方法であって、該少なくとも1つのプロセッサが、前記命令を実行することにより、第1端末装置により第1配信者の動作に基づいて第1トラッキング方式を用いて生成された第1動作データを、前記第1端末装置から受信した場合に、該第1動作データを或る端末装置に送信して、該第1動作データに基づく前記第1配信者の第1アバターのアニメーションを含む動画を、前記或る端末装置に生成させること、第2端末装置により第2配信者の動作に基づいて前記第1トラッキング方式とは異なる第2トラッキング方式を用いて生成された第2動作データを、前記第2端末装置から受信した場合に、該第2動作データを前記或る端末装置に送信して、該第2動作データに基づく前記第2配信者の第2アバターのアニメーションを含む動画を、前記或る端末装置に生成させること、並びに、前記第1動作データ及び前記第2動作データの両方を受信した場合に、該第1動作データ及び該第2動作データの両方を、前記或る端末装置に送信して、前記第1動作データに基づく前記第1アバターのアニメーションと、前記第2動作データに基づく前記第2アバターのアニメーションと、を含む動画を、前記或る端末装置に生成させること、を含む」ことができる。
第36の態様に係る方法にあっては、上記第35の態様において「前記少なくとも1つのプロセッサが、中央処理装置(CPU)、マイクロプロセッサ、及び/又は、グラフィックスプロセッシングユニット(GPU)を含む」構成を採ることができる。
第37の態様に係るサーバ装置は、「少なくとも1つのプロセッサを具備するサーバ装置であって、該少なくとも1つのプロセッサがコンピュータプログラムを含むウェブページを或る端末装置に送信するように構成され、前記コンピュータプログラムが、前記ウェブページを受信した前記或る端末装置により実行されることにより、第1端末装置により第1配信者の動作に基づいて第1トラッキング方式を用いて生成された第1動作データを受信した場合に、該第1動作データに基づく前記第1配信者の第1アバターのアニメーションを含む動画を生成し、第2端末装置により第2配信者の動作に基づいて前記第1トラッキング方式とは異なる第2トラッキング方式を用いて生成された第2動作データを受信した場合に、該第2動作データに基づく前記第2配信者の第2アバターのアニメーションを含む動画を生成し、前記第1動作データ及び前記第2動作データの両方を受信した場合に、前記或る端末装置が、該第1動作データに基づく前記第1アバターのアニメーションと、前記第2動作データに基づく前記第2アバターのアニメーションと、を含む動画を生成する、ように前記或る端末装置を機能させる」ことができる。
第38の態様に係るサーバ装置にあっては、上記第37の態様において「前記少なくとも1つのプロセッサが、中央処理装置(CPU)、マイクロプロセッサ、及び/又は、グラフィックスプロセッシングユニット(GPU)を含む」構成を採ることができる。
8-2.入力オブジェクトに係る様々な態様
第1の態様に係るコンピュータプログラムは、「或る端末装置に搭載された少なくとも1つのプロセッサにより実行されることにより、前記或る端末装置のユーザである自ユーザの動作に基づいて動作し、該自ユーザの視点からみて表現された第1動画を表示し、
前記自ユーザによる入力を可能とするユーザインターフェイスとして機能する入力オブジェクトを、前記第1動画と組み合わせて表示し、表示される前記入力オブジェクトを、表示される前記第1動画の種類に応じて変化させる、ように前記少なくとも1つのプロセッサを機能させる」ことができる。
第2の態様に係るコンピュータプログラムにあっては、上記第1の態様において「前記入力オブジェクトを、前記第1動画が表示される領域の内部に表示する、ように前記少なくとも1つのプロセッサを機能させる」構成を採ることができる。
第3の態様に係るコンピュータプログラムにあっては、上記第1の態様又は上記第2の態様において「前記入力オブジェクトを、前記第1動画に含まれる前記自ユーザのアバターの一部分に連動して移動可能に表示する、ように前記少なくとも1つのプロセッサを機能させる」構成を採ることができる。
第4の態様に係るコンピュータプログラムにあっては、上記第3の態様において「前記入力オブジェクトを疑似的に表現された疑似端末装置として表示する、ように前記少なくとも1つのプロセッサを機能させる」構成を採ることができる。
第5の態様に係るコンピュータプログラムにあっては、上記第1の態様から上記第4の態様のいずれかにおいて「前記第1動画として、4種類の動画のうちのいずれか1種類の動画を表示する、ように前記少なくとも1つのプロセッサを機能させ、さらに、前記4種類の動画は、前記少なくとも1つのプロセッサが、前記自ユーザが配信者でも視聴者でもない準備モードを実行していると判断したときに表示する、第1種類の動画であって、仮想空間において前記自ユーザの動作に基づいて動作する該自ユーザのアバターを配置した、第1種類の動画と、前記少なくとも1つのプロセッサが、前記自ユーザが配信者である単独配信モードを実行していると判断したときに表示する、第2種類の動画であって、仮想空間において該自ユーザの動作に基づいて動作する該自ユーザのアバターを配置した、第2種類の動画と、前記少なくとも1つのプロセッサが、前記自ユーザが共同配信者である共同配信モードを実行していると判断したときに表示する、第3種類の動画であって、仮想空間において該自ユーザの動作に基づいて動作する該自ユーザのアバター及び少なくとも1人の他の配信者の動作に基づいて動作する該少なくとも1人の他の配信者のアバターを配置した、第3種類の動画と、前記少なくとも1つのプロセッサが、前記自ユーザが視聴者である視聴モードを実行していると判断したときに表示する第4種類の動画であって、仮想空間において少なくとも1人の配信者の動作に基づいて動作する該少なくとも1人の配信者のアバターを配置した、第4種類の動画と、を含む、ように前記少なくとも1つのプロセッサを機能させる」構成を採ることができる。
第6の態様に係るコンピュータプログラムにあっては、上記第5の態様において「前記第1動画として、前記4種類の動画のうち前記入力オブジェクトに対する前記自ユーザによる入力に従って選択されたいずれか1種類の動画を表示する、ように前記少なくとも1つのプロセッサを機能させる」構成を採ることができる。
第7の態様に係るコンピュータプログラムにあっては、上記第6の態様において「前記第1動画として、前記第4種類の動画を表示する場合には、前記入力オブジェクトを第1サイズにより表示し、前記第1動画として、前記第1種類の動画、前記第2種類の動画又は前記第3種類の動画を表示する場合には、前記入力オブジェクトを前記第1サイズより大きい第2サイズにより表示する、ように前記少なくとも1つのプロセッサを機能させる」構成を採ることができる。
第8の態様に係るコンピュータプログラムにあっては、上記第7の態様において「前記第1動画として、前記第1種類の動画又は前記第2種類の動画を表示するときに、前記入力オブジェクトに、仮想空間において前記自ユーザの動作に基づいて動作する該自ユーザの前記アバターを配置し、該アバターを正面からみて表示する、第2動画を含む、ように前記少なくとも1つのプロセッサを機能させる」構成を採ることができる。
第9の態様に係るコンピュータプログラムにあっては、上記第7の態様において「前記第1動画として、前記第3種類の動画を表示するときに、前記入力オブジェクトに、仮想空間において、前記自ユーザの動作に基づいて動作する該自ユーザの前記アバター及び前記少なくとも1人の他の配信者の動作に基づいて動作する該少なくとも1人の他の配信者のアバターを配置し、各アバターを正面からみて表示する、第2動画を含む、ように前記少なくとも1つのプロセッサを機能させる」構成を採ることができる。
第10の態様に係るコンピュータプログラムにあっては、上記第7の態様において「前記第1動画として、前記第4種類の動画を表示するときに、前記入力オブジェクトに、仮想空間において、前記少なくとも1人の配信者の動作に基づいて動作する該少なくとも1人の配信者のアバターを配置し、各アバターを正面からみて表示する、第2動画を含む、
ように前記少なくとも1つのプロセッサを機能させる」構成を採ることができる。
第11の態様に係るコンピュータプログラムにあっては、上記第8の態様から上記第10の態様のいずれかにおいて「前記第1動画において用いられた前記仮想空間に配置された仮想的なカメラの位置からみて各アバターを表示する前記第2動画を生成する、ように前記少なくとも1つのプロセッサを機能させる」構成を採ることができる。
第12の態様に係るコンピュータプログラムにあっては、上記第8の態様から上記第11の態様のいずれかにおいて「前記第1動画として、前記第1種類の動画、前記第2種類の動画又は前記第3種類の動画を表示するときに、前記自ユーザの前記アバターを反転させて前記第2動画に表示する、ように前記少なくとも1つのプロセッサを機能させる」構成を採ることができる。
第13の態様に係るコンピュータプログラムにあっては、上記第8の態様から上記第12の態様のいずれかにおいて「前記第1動画として、前記第2種類の動画又は前記第3種類の動画を表示するときに、前記入力オブジェクトに含まれる前記第2動画は、他の少なくとも1人の視聴者の端末装置に共通して表示される動画と同一である」構成を採ることができる。
第14の態様に係るコンピュータプログラムにあっては、上記第8の態様から上記第13の態様のいずれかにおいて「前記第1種類の動画、前記第2種類の動画、前記第3種類の動画、及び、前記第4種類の動画のうち、前記第1動画として表示すべき動画を決定するために、前記自ユーザにより選択されるアイコンを、前記入力オブジェクトにおいて表示する、ように前記少なくとも1つのプロセッサを機能させる」構成を採ることができる。
第15の態様に係るコンピュータプログラムにあっては、上記第8の態様から上記第14の態様のいずれかにおいて「前記第1動画として、前記第2種類の動画、前記第3種類の動画又は前記第4種類の動画を表示するときに、視聴者がいずれかの配信者に対して送信したコメントを、前記第1動画において、前記入力オブジェクトの背後に位置する背景に表示する、ように前記少なくとも1つのプロセッサを機能させる」構成を採ることができる。
第16の態様に係るコンピュータプログラムにあっては、上記第8の態様から上記第15の態様のいずれかにおいて「前記第1動画として、前記第4種類の動画を表示するときに、該第4種類の動画において、前記少なくとも1人の配信者のアバターの側方、上方又は下方に、複数のギフトオブジェクトを表示し、該複数のギフトオブジェクトのうち前記自ユーザにより選択されたいずれかのギフトオブジェクトを、前記少なくとも1人の配信者に送信されるギフトオブジェクトとして決定し、決定された前記ギフトオブジェクトを、前記第4種類の動画において表示し、決定された前記ギフトオブジェクトを、前記第2動画において表示する、ように前記少なくとも1つのプロセッサを機能させる」構成を採ることができる。
第17の態様に係るコンピュータプログラムにあっては、上記第1の態様から上記第16の態様のいずれかにおいて「前記少なくとも1つのプロセッサが、中央処理装置(CPU)、マイクロプロセッサ、及び/又は、グラフィックスプロセッシングユニット(GPU)を含む」構成を採ることができる。
第18の態様に係る方法は、「コンピュータにより読み取り可能な命令を実行する或る端末装置に搭載された少なくとも1つのプロセッサにより実行される方法であって、該少なくとも1つのプロセッサが、前記命令を実行することにより、前記或る端末装置のユーザである自ユーザの動作に基づいて動作し、該自ユーザの視点からみて表現された第1動画を表示すること、前記自ユーザによる入力を可能とするユーザインターフェイスとして機能する入力オブジェクトを、前記第1動画と組み合わせて表示すること、及び、表示される前記入力オブジェクトを、表示される前記第1動画の種類に応じて変化させること、を含む」ことができる。
第19の態様に係る方法にあっては、上記第20の態様において「前記少なくとも1つのプロセッサが、中央処理装置(CPU)、マイクロプロセッサ、及び/又は、グラフィックスプロセッシングユニット(GPU)を含む」構成を採ることができる。
第20の態様に係るシステムは、「端末装置と、該端末装置に通信回線を介して接続されるサーバ装置と、を含むシステムであって、前記端末装置は、該端末装置のユーザの動作に基づいて生成された動作データを前記サーバ装置に送信し、前記動作データに基づいて動作し、該ユーザの視点からみて表現された第1動画を表示し、前記ユーザによる入力を可能とするユーザインターフェイスとして機能する入力オブジェクトを、前記第1動画と組み合わせて表示し、表示される前記入力オブジェクトを、表示される前記第1動画の種類に応じて変化させる、ように構成され、前記サーバ装置は、前記端末装置から受信した前記動作データを、少なくとも1つの他の端末装置に送信する、ように構成され」得る。
第21の態様に係るシステムにあっては、上記第26の態様において「前記通信回線がインターネットを含む」構成を採ることができる。
第22の態様に係る方法は、「端末装置と、該端末装置に通信回線を介して接続されるサーバ装置と、を含むシステムにより実行される方法であって、前記端末装置が、該端末装置のユーザの動作に基づいて生成された動作データを前記サーバ装置に送信すること、前記端末装置が、前記動作データに基づいて動作し、該ユーザの視点からみて表現された第1動画を表示すること、前記端末装置が、前記ユーザによる入力を可能とするユーザインターフェイスとして機能する入力オブジェクトを、前記第1動画と組み合わせて表示すること、前記端末装置が、表示される前記入力オブジェクトを、表示される前記第1動画の種類に応じて変化させること、及び、前記サーバ装置が、前記端末装置から受信した前記動作データを、少なくとも1つの他の端末装置に送信すること、を含む」ことができる。
第23の態様に係る方法にあっては、上記第22の態様において「前記通信回線がインターネットを含む」構成を採ることができる。
第24の態様に係るサーバ装置は、「少なくとも1つのプロセッサを具備するサーバ装置であって、該少なくとも1つのプロセッサがコンピュータプログラムを含むウェブページを端末装置に送信するように構成され、前記コンピュータプログラムが、前記ウェブページを受信した前記端末装置により実行されることにより、該端末装置のユーザの動作に基づいて動作し、該ユーザの視点からみて表現された第1動画を表示し、前記ユーザによる入力を可能とするユーザインターフェイスとして機能する入力オブジェクトを、前記第1動画と組み合わせて表示し、表示される前記入力オブジェクトを、表示される前記第1動画の種類に応じて変化させる、ように前記端末装置を機能させる」ことができる。
第25の態様に係るサーバ装置にあっては、上記第24の態様において「前記少なくとも1つのプロセッサが、中央処理装置(CPU)、マイクロプロセッサ、及び/又は、グラフィックスプロセッシングユニット(GPU)を含む」構成を採ることができる。
8-3.クローゼットモードに係る様々な態様
第1の態様に係るコンピュータプログラムは、「或る端末装置に搭載された少なくとも1つのプロセッサにより実行されることにより、前記或る端末装置のユーザである自ユーザに装着された複数のトラッキング装置を用いて該自ユーザの動作に基づいて生成された第1動作データを取得し、該第1動作データに基づいて動作し、前記自ユーザの視点からみて仮想空間を表現した第1動画を表示し、前記第1動作データに基づいて動作し、前記自ユーザのアバターから距離をおいた隔離視点からみて該自ユーザのアバターを含む前記仮想空間を表現した第2動画を表示し、前記自ユーザの操作に基づいて生成された操作データに応じて、該自ユーザのアバターにオブジェクトを装着させる、又は、該自ユーザのアバターからオブジェクトを取り外す、ように前記少なくとも1つのプロセッサを機能させる」ことができる。
第2の態様に係るコンピュータプログラムにあっては、上記第1の態様において「前記第1動画を或る領域に表示する第1モードと前記第2動画を該或る領域に表示する第2モードとを切り替えるか、又は、前記第1動画及び前記第2動画をそれぞれ別々の領域に並行して表示する、ように前記少なくとも1つのプロセッサを機能させる」構成を採ることができる。
第3の態様に係るコンピュータプログラムにあっては、上記第1の態様又は上記第2の態様において「前記自ユーザの視点として、前記仮想空間に配置された前記自ユーザのアバターの視点を用いる、ように前記少なくとも1つのプロセッサを機能させる」構成を採ることができる。
第4の態様に係るコンピュータプログラムにあっては、上記第1の態様から上記第3の態様のいずれかにおいて「前記第1動画において、前記第1動作データに基づいて、前記自ユーザの視点を変化させ、及び、該自ユーザのアバターを動作させ、前記第2動画において、前記第1動作データに基づいて前記自ユーザのアバターを動作させ、前記第1動作データに関わらず前記隔離視点を変化させない、ように前記少なくとも1つのプロセッサを機能させる」構成を採ることができる。
第5の態様に係るコンピュータプログラムにあっては、上記第1の態様から上記第4の態様のいずれかにおいて「前記第2動画において、前記第1動作データに関わらず、前記仮想空間において鉛直方向に延びる回転軸の周りに前記自ユーザのアバターを回転させない、
ように前記少なくとも1つのプロセッサを機能させる」構成を採ることができる。
第6の態様に係るコンピュータプログラムにあっては、上記第1の態様から上記第5の態様のいずれかにおいて「前記第2動画において、前記第1動作データに関わらず、前記仮想空間において前記自ユーザのアバターの頭部が向く方向を変化させない、ように前記少なくとも1つのプロセッサを機能させる」構成を採ることができる。
第7の態様に係るコンピュータプログラムにあっては、上記第1の態様から上記第6の態様のいずれかにおいて「前記第2動画において、前記第1動作データに関わらず、前記仮想空間における前記自ユーザのアバターの位置を変化させない、ように前記少なくとも1つのプロセッサを機能させる」構成を採ることができる。
第8の態様に係るコンピュータプログラムにあっては、上記第5の態様において「前記複数のトラッキング装置が、前記自ユーザの右手により操作される右ハンドコントローラ、及び、前記自ユーザの左手により操作される左ハンドコントローラを含み、前記第2動画において、特定のユーザインターフェイスを表示し、前記ユーザインターフェイス、前記右ハンドコントローラ、及び/又は、前記左ハンドコントローラ、に対する前記自ユーザによる操作に従って、前記第2動画において、前記回転軸の周りに前記自ユーザのアバターを回転させる、ように前記少なくとも1つのプロセッサを機能させる」構成を採ることができる。
第9の態様に係るコンピュータプログラムにあっては、上記第1の態様から上記第7の態様のいずれかにおいて「前記複数のトラッキング装置が、前記自ユーザの右手により操作される右ハンドコントローラ、及び、前記自ユーザの左手により操作される左ハンドコントローラを含み、前記第2動画において、特定のユーザインターフェイスを表示し、
前記ユーザインターフェイス、前記右ハンドコントローラ、及び/又は、前記左ハンドコントローラ、に対する前記自ユーザによる操作に従って、前記第2動画において、前記隔離視点を変化させる、ように前記少なくとも1つのプロセッサを機能させる」構成を採ることができる。
第10の態様に係るコンピュータプログラムにあっては、上記第1の態様から上記第9の態様のいずれかにおいて「前記自ユーザの発話に基づく第1音声データを取得し、前記第2動画において、該第1音声データに基づいて前記自ユーザのアバターの表情を変化させる、ように前記少なくとも1つのプロセッサを機能させる」構成を採ることができる。
第11の態様に係るコンピュータプログラムにあっては、上記第1の態様から上記第10の態様のいずれかにおいて「前記第1動画が、他のユーザに装着された複数のトラッキング装置を用いて該他のユーザの動作に基づいて生成された第2動作データに従って動作する該他のユーザのアバターを含む」構成を採ることができる。
第12の態様に係るコンピュータプログラムにあっては、上記第11の態様において「前記隔離視点として、前記仮想空間に配置された前記他のユーザのアバターの視点を用いる、ように前記少なくとも1つのプロセッサを機能させる」構成を採ることができる。
第13の態様に係るコンピュータプログラムにあっては、上記第11の態様又は上記第12の態様において「前記第2動画が前記他のユーザの端末装置には表示されない」構成を採ることができる。
第14の態様に係るコンピュータプログラムにあっては、上記第1の態様から上記第13の態様のいずれかにおいて「前記第1動作データをサーバ装置に送信することにより、該第1動作データを該サーバ装置から受信する他の端末装置に対して、該他の端末装置のユーザの視点からみて前記第1動作データに従って動作する前記自ユーザのアバターを含む前記仮想空間を表現した第3動画を表示させる、ように前記少なくとも1つのプロセッサを機能させる」構成を採ることができる。
第15の態様に係るコンピュータプログラムにあっては、上記第14の態様において「前記隔離視点として、前記他の端末装置のユーザの視点を用いる、ように前記少なくとも1つのプロセッサを機能させる」構成を採ることができる。
第16の態様に係るコンピュータプログラムにあっては、上記第14の態様又は上記第15の態様において「前記第2動画が前記他の端末装置には表示されない」構成を採ることができる。
第17の態様に係るコンピュータプログラムにあっては、上記第1の態様から上記第16の態様のいずれかにおいて「前記第2動画において、前記自ユーザのアバターの側方、上方又は下方に、複数のオブジェクトを表示し、該複数のオブジェクトのうち前記自ユーザにより選択されたいずれかのオブジェクトを、前記自ユーザのアバターに装着される追加オブジェクトとして決定し、前記第2動画において、決定された前記追加オブジェクトが装着された前記自ユーザのアバターを表示する、ように前記少なくとも1つのプロセッサを機能させる」構成を採ることができる。
第18の態様に係るコンピュータプログラムにあっては、上記第17の態様において「前記複数のオブジェクトのうち、前記第2動画において、前記第1動作データに従って動作する指示オブジェクトにより、前記自ユーザのアバターに接触するまで移動させられたオブジェクトを、前記追加オブジェクトとして決定する、ように前記少なくとも1つのプロセッサを機能させる」構成を採ることができる。
第19の態様に係るコンピュータプログラムにあっては、上記第1の態様から上記第3の態様において「前記第1動画において、前記第1動作データに基づいて、前記自ユーザの視点を変化させ、及び、該自ユーザのアバターを動作させ、前記第2動画において、前記第1動作データとは無関係に、前記自ユーザのアバターを動作させる、ように前記少なくとも1つのプロセッサを機能させる」構成を採ることができる。
第20の態様に係るコンピュータプログラムにあっては、上記第1の態様から上記第19の態様のいずれかにおいて「前記自ユーザに装着された前記複数のトラッキング装置は、それぞれ、該自ユーザの右手、左手及び頭部に取り付けられる」構成を採ることができる。
第21の態様に係るコンピュータプログラムにあっては、上記第1の態様から上記第18の態様のいずれかにおいて「前記第1動作データに基づいて前記第1動画を生成して表示し、前記第1動作データに基づいて前記第2動画を生成して表示する、ように前記少なくとも1つのプロセッサを機能させる」構成を採ることができる。
第22の態様に係るコンピュータプログラムにあっては、上記第1の態様から上記第21の態様のいずれかにおいて「サーバ装置により生成された前記第1動画を該サーバ装置から受信して表示し、前記サーバ装置により生成された前記第2動画を該サーバ装置から受信して表示する、ように前記少なくとも1つのプロセッサを機能させる」構成を採ることができる。
第23の態様に係るコンピュータプログラムにあっては、上記第1の態様から上記第22の態様のいずれかにおいて「前記少なくとも1つのプロセッサが、中央処理装置(CPU)、マイクロプロセッサ、及び/又は、グラフィックスプロセッシングユニット(GPU)を含む」構成を採ることができる。
第24の態様に係る方法は、「コンピュータにより読み取り可能な命令を実行する或る端末装置に搭載された少なくとも1つのプロセッサにより実行される方法であって、該少なくとも1つのプロセッサが、前記命令を実行することにより、前記或る端末装置のユーザである自ユーザに装着された複数のトラッキング装置を用いて該自ユーザの動作に基づいて生成された第1動作データを取得すること、該第1動作データに基づいて動作し、前記自ユーザの視点からみて仮想空間を表現した第1動画を表示すること、前記第1動作データに基づいて動作し、前記自ユーザのアバターから距離をおいた隔離視点からみて該自ユーザのアバターを含む前記仮想空間を表現した第2動画を表示すること、及び、前記自ユーザの操作に基づいて生成された操作データに応じて、該自ユーザのアバターにオブジェクトを装着させる、又は、該自ユーザのアバターからオブジェクトを取り外すこと、を含む」ことができる。
第25の態様に係る方法にあっては、上記第24の態様において「前記少なくとも1つのプロセッサが、中央処理装置(CPU)、マイクロプロセッサ、及び/又は、グラフィックスプロセッシングユニット(GPU)を含む」構成を採ることができる。
第26の態様に係るサーバ装置は、「少なくとも1つのプロセッサを具備するサーバ装置であって、該少なくとも1つのプロセッサが、或る端末装置のユーザに装着された複数のトラッキング装置を用いて該ユーザの動作に基づいて生成された動作データを取得し、該動作データに基づいて動作し、前記ユーザの視点からみて仮想空間を表現した第1動画を、生成して前記或る端末装置に送信し、前記動作データに基づいて動作し、前記ユーザのアバターから距離をおいた隔離視点からみて該ユーザのアバターを含む前記仮想空間を表現した第2動画を、生成して前記或る端末装置に送信し、前記ユーザの操作に基づいて生成された操作データを前記或る端末装置から受信し、前記操作データに基づいて、該ユーザのアバターにオブジェクトを装着させる、又は、該自ユーザのアバターからオブジェクトを取り外す、ように構成され」得る。
第27の態様に係るサーバ装置にあっては、上記第26の態様において「前記少なくとも1つのプロセッサが、中央処理装置(CPU)、マイクロプロセッサ、及び/又は、グラフィックスプロセッシングユニット(GPU)を含む」構成を採ることができる。
第28の態様に係る方法は、「コンピュータにより読み取り可能な命令を実行するサーバ装置に搭載された少なくとも1つのプロセッサにより実行される方法であって、該少なくとも1つのプロセッサが、前記命令を実行することにより、或る端末装置のユーザに装着された複数のトラッキング装置を用いて該ユーザの動作に基づいて生成された動作データを取得すること、該動作データに基づいて動作し、前記ユーザの視点からみて仮想空間を表現した第1動画を、生成して前記或る端末装置に送信すること、前記動作データに基づいて動作し、前記ユーザのアバターから距離をおいた隔離視点からみて該ユーザのアバターを含む前記仮想空間を表現した第2動画を、生成して前記或る端末装置に送信すること、前記ユーザの操作に基づいて生成された操作データを前記或る端末装置から受信すること、及び、前記操作データに基づいて、該ユーザのアバターにオブジェクトを装着させること、又は、該自ユーザのアバターからオブジェクトを取り外すこと、を含む」ことができる。
第29の態様に係る方法にあっては、上記第28の態様において「前記少なくとも1つのプロセッサが、中央処理装置(CPU)、マイクロプロセッサ、及び/又は、グラフィックスプロセッシングユニット(GPU)を含む」構成を採ることができる。
第30の態様に係るシステムは、「或る端末装置と、該或る端末装置に通信回線を介して接続されるサーバ装置と、を含むシステムであって、前記或る端末装置は、該或る端末装置のユーザに装着された複数のトラッキング装置を用いて該ユーザの動作に基づいて生成された動作データを取得し、該動作データに基づいて動作し、前記ユーザの視点からみて仮想空間を表現した第1動画を表示し、前記動作データに基づいて動作し、前記ユーザのアバターから距離をおいた隔離視点からみて該ユーザのアバターを含む前記仮想空間を表現した第2動画を表示し、前記ユーザの操作に基づいて生成された操作データに応じて、該ユーザのアバターにオブジェクトを装着させる、又は、該ユーザのアバターからオブジェクトを取り外す、ように構成され、前記サーバ装置は、前記或る端末装置から受信した前記動作データを、少なくとも1つの他の端末装置に送信する、ように構成され」得る。
第31の態様に係るシステムにあっては、上記第30の態様において「前記通信回線がインターネットを含む」構成を採ることができる。
第32の態様に係る方法は、「或る端末装置と、該或る端末装置に通信回線を介して接続されるサーバ装置と、を含むシステムにより実行される方法であって、前記或る端末装置が、該或る端末装置のユーザに装着された複数のトラッキング装置を用いて該ユーザの動作に基づいて生成された動作データを取得すること、前記或る端末装置が、該動作データに基づいて動作し、前記ユーザの視点からみて仮想空間を表現した第1動画を表示すること、前記或る端末装置が、前記動作データに基づいて動作し、前記ユーザのアバターから距離をおいた隔離視点からみて該ユーザのアバターを含む前記仮想空間を表現した第2動画を表示すること、前記ユーザの操作に基づいて生成された操作データに応じて、該ユーザのアバターにオブジェクトを装着させること、又は、該ユーザのアバターからオブジェクトを取り外すこと、及び、前記サーバ装置が、前記或る端末装置から受信した前記動作データを、少なくとも1つの他の端末装置に送信すること、を含む」ことができる。
第33の態様に係る方法にあっては、上記第32の態様において「前記通信回線がインターネットを含む」構成を採ることができる。
第34の態様に係るサーバ装置は、「少なくとも1つのプロセッサを具備するサーバ装置であって、該少なくとも1つのプロセッサがコンピュータプログラムを含むウェブページを端末装置に送信するように構成され、前記コンピュータプログラムが、前記ウェブページを受信した前記端末装置により実行されることにより、前記端末装置のユーザに装着された複数のトラッキング装置を用いて該ユーザの動作に基づいて生成された動作データを取得し、該動作データに基づいて動作し、前記ユーザの視点からみて仮想空間を表現した第1動画を表示し、前記動作データに基づいて動作し、前記ユーザのアバターから距離をおいた隔離視点からみて該ユーザのアバターを含む前記仮想空間を表現した第2動画を表示し、前記ユーザの操作に基づいて生成された操作データに応じて、該ユーザのアバターにオブジェクトを装着させる、又は、該ユーザのアバターからオブジェクトを取り外す、ように前記端末装置を機能させる」ことができる。
第35の態様に係るサーバ装置にあっては、上記第34の態様において「前記少なくとも1つのプロセッサが、中央処理装置(CPU)、マイクロプロセッサ、及び/又は、グラフィックスプロセッシングユニット(GPU)を含む」構成を採ることができる。